commit df825e3d2fa24a287963eaef7667592fad3fc38e
Author: indeferend
Date: Sun May 23 06:26:34 2021 +0500
Draft v1
diff --git a/.unotes/unotes_meta.json b/.unotes/unotes_meta.json
new file mode 100644
index 0000000..4bdb33e
--- /dev/null
+++ b/.unotes/unotes_meta.json
@@ -0,0 +1,48 @@
+{
+ "name": "",
+ "isOrdered": true,
+ "folders": {
+ "CLASSES": {
+ "name": "CLASSES",
+ "isOrdered": true,
+ "folders": {
+ "core": {
+ "name": "core",
+ "isOrdered": true,
+ "folders": {},
+ "files": {
+ "doc__LE_FS": 0
+ }
+ }
+ },
+ "files": {}
+ },
+ "LE": {
+ "name": "LE",
+ "isOrdered": true,
+ "folders": {},
+ "files": {
+ "core_fuctions": 0
+ }
+ },
+ "MODULES": {
+ "name": "MODULES",
+ "isOrdered": true,
+ "folders": {},
+ "files": {}
+ },
+ "PUB": {
+ "name": "PUB",
+ "isOrdered": true,
+ "folders": {},
+ "files": {}
+ },
+ "TPL": {
+ "name": "TPL",
+ "isOrdered": true,
+ "folders": {},
+ "files": {}
+ }
+ },
+ "files": {}
+}
\ No newline at end of file
diff --git a/CLASSES/blog.php b/CLASSES/blog.php
new file mode 100644
index 0000000..c7eb2d0
--- /dev/null
+++ b/CLASSES/blog.php
@@ -0,0 +1,9 @@
+0) return false;
+ if ( is_dir( $src ) ) {
+ if (!file_exists($dest)) mkdir($dest, 0777, true);
+
+ $d = dir( $src );
+ while ( false !== ( $entry = $d->read() ) ) {
+ if ( $entry != '.' && $entry != '..' )
+ LE_FS::copy_folder( "$src/$entry", "$dest/$entry");
+ }
+ $d->close();
+ }
+ elseif (!file_exists($dest))
+ {
+ copy($src, $dest);
+ echo 'copy file '.$src.' to '.$dest." \n ";
+ }
+
+ }
+
+ public static function dir_files($dir,$func=false)
+ {
+ if (!$dir||empty($dir)||!is_dir($dir)) return 1;
+ if($func===false) return 2;
+
+ $d = dir( $dir );
+ while ( false !== ( $entry = $d->read() ) ) {
+ if ( $entry == '.' || $entry == '..' ) continue;
+ $func($entry);
+ }
+ $d->close();
+
+ }
+
+ //LE_FS::save_from_post($inp=['f_name'=>,'path'=>])
+ public static function SAVE_POST($inp,$debug=false)
+ {
+ $f_name = (isset($inp['f_name'])) ? $inp['f_name'] : 'file';
+
+ if (!isset($inp['path']) || !is_dir($inp['path'])) return false;
+ $inp['path'] = rtrim($inp['path']);
+
+ // echo $inp['path'];
+
+ if (!isset($_FILES[$f_name])) return false;
+
+ $F = $_FILES[$f_name];
+
+ // echo_arr($F);
+
+
+ $SAVE_FILE = function($path,$index=false) use (&$F,&$debug)
+ {
+ $f_inf=[];
+ if ($index!==false)
+ {
+ if (!isset($F["tmp_name"][$index])) return false;
+ $f_inf['tmp_name'] = $tmp_name = $F["tmp_name"][$index];
+ $f_inf['name'] = $file_name = $F["name"][$index];
+ $f_inf['type'] = $F["type"][$index];
+ $f_inf['size'] = $F["size"][$index];
+
+ }
+ else
+ {
+ if (!isset($F["tmp_name"])) return false;
+ $f_inf['tmp_name'] = $tmp_name = $F["tmp_name"];
+ $f_inf['name'] = $file_name = $F["name"];
+ $f_inf['type'] = $F["type"];
+ $f_inf['size'] = $F["size"];
+
+ }
+
+ // echo $tmp_name.BR;
+ // echo $file_name.BR;
+
+ if (!is_uploaded_file($tmp_name)) return false;
+
+ $n = LE_FS::GEN_FNAME($file_name, $path);
+ $out = $path.DS.$n;
+ if (!move_uploaded_file($tmp_name, $out)) return false;
+
+ if (!file_exists($out)) return false;
+
+ if($debug!==false) $debug[$n] = $f_inf;
+
+ return $n;
+
+
+ };
+
+ if (is_array($F['tmp_name']))
+ {
+ $cnt = count($F['tmp_name']);
+ $res = [];
+ for ($i=0;$i<$cnt;$i++)
+ {
+ $_fn = $SAVE_FILE($inp['path'],$i);
+ if ($_fn!==false) $res[] = $_fn;
+ }
+
+ }
+ else
+ {
+ return $SAVE_FILE($inp['path']);
+ }
+
+ $cnt = count($res);
+ if (!$cnt>0) return false;
+ if ($cnt===1) return $res[0];
+ return $res;
+
+ }
+
+
+ public static function GEN_FNAME($inp_name = false, $path = false, $prefix=false)
+ {
+ $ext = ($inp_name) ? '.'.pathinfo ($inp_name,PATHINFO_EXTENSION) : ''; //extension .jpg
+
+ //file name alphabet
+ $fn_alphabet = [0,1,2,3,4,5,6,7,8,9,'A','B','C','D',
+ 'E','F','G','H','I','J','K','L','M','N','O','P','Q',
+ 'R','S','T','U','V','W','X','Y','Z','_','-'
+ ];
+
+ $microtime = microtime(1);
+ $create_time = 1540388275;
+ $diff_time = Ceil($microtime*10000)-($create_time*10000);
+
+ $new = int2alphabet($fn_alphabet,$diff_time);
+
+ if ($prefix!==false) $new = $prefix.$new;
+
+
+ //проверка существования
+ if ($path && is_dir($path))
+ {
+ $part = rtrim($path,DS);
+ $i=1;
+ while(is_file($path . DS . $new.$ext))
+ {
+ if ($i>100) exit("problem gen file name!!!");
+ $new.=$fn_alphabet[rand(0,27)];
+ $i++;
+ }
+ }
+ return $new.$ext;
+ }
+
+
+ public static function Apply2Files($path,&$func,$recouse=0)
+ {
+ $path = rtrim($path,"/\\").DS;
+
+ if (!is_dir($path) || !($handle = opendir($path))) return;
+
+ while(false !== ($f = readdir($handle)))
+ {
+ if($f == "." || $f == "..") continue;
+
+ $obj=$path.$f;
+ if (is_file($obj))
+ $func($obj);
+ elseif (is_dir($obj) && $recouse)
+ LE_FS::Apply2Files($obj,$func,$recouse);
+
+ }
+ closedir($handle);
+ }
+
+}
diff --git a/CLASSES/core/LE_MOD_CONTROLLER.php b/CLASSES/core/LE_MOD_CONTROLLER.php
new file mode 100644
index 0000000..cdb15aa
--- /dev/null
+++ b/CLASSES/core/LE_MOD_CONTROLLER.php
@@ -0,0 +1,145 @@
+params_url = $params_url;
+ $this->model = &$model;
+ }
+
+ //точка входа
+ public function start()
+ {
+ //ajax methods
+ if (isset($_POST['ajax'])) return $this->ajax();
+
+ if (LE::$QUERY_DATA_TYPE=='json') return $this->json();
+
+
+ list($mod,$params) = $this->router();
+
+ if (!empty($mod) && isset($this->aliases[$mod])) $mod = $this->aliases[$mod];
+
+ $mod = "_inp_".$mod;
+
+
+
+ if ($mod=="_inp_" || !method_exists($this,$mod)) return $this->_inp_default($params);
+
+ return $this->$mod($params);
+ }
+
+ protected function router()
+ {
+ //echo_arr($this->params_url);
+ $url = $this->params_url[3];
+ $url = PRE::DOWN($url);
+ preg_match('!([^:]*)[:]?(.*)!ui',$url,$out);
+
+ //echo_arr($out);
+ return [$out[1],$out[2]];
+ }
+
+ protected function ajax()
+ {
+ //out without template
+ if (property_exists(LE::$TPL,'clear')) LE::$TPL->clear=1;
+
+ $mod = trim(arr_v($_POST,'mod',''));
+ if (empty($mod)) return false;
+
+ $mod = "_ajx_".$mod;
+
+ $data=false;
+ if (isset($_POST['data']))
+ {
+ $data = $_POST['data'];
+ if (!is_array($data) && !empty($data)) $data = json_decode($data,1);
+ }
+
+ if (!method_exists($this,$mod)) return false;
+
+ $res = $this->$mod($data);
+
+
+ //возвращать массив ответа как есть, не оборачивая в data
+ if (isset($res['as_is']) && $res['as_is'])
+ {
+ unset($res['as_id']);
+ $out = $res;
+ }
+
+ elseif ($res===false)
+ {
+ $out = ['success'=>0]; //error
+ }
+ else
+ {
+ $out = ['success'=>1];
+ $out['data'] = $res;
+ }
+
+ return json_encode($out);
+
+
+ }
+
+
+ protected function _inp_default($inp)
+ {
+ return false;
+ }
+
+ protected function json()
+ {
+ $postData = file_get_contents('php://input');
+ $data = json_decode($postData,1);
+
+ if (property_exists(LE::$TPL,'clear')) LE::$TPL->clear=1;
+
+
+ $method = trim(arr_v($data,'method',''));
+ if (empty($method)) return false;
+
+ $method = "_ajx_".$method;
+
+
+
+ if (!method_exists($this,$method)) return false;
+
+ unset($data['method']);
+ $res = $this->$method($data);
+
+
+ //возвращать массив ответа как есть, не оборачивая в data
+ if (isset($res['as_is']) && $res['as_is'])
+ {
+ unset($res['as_id']);
+ $out = $res;
+ }
+
+ elseif ($res===false)
+ {
+ $out = ['success'=>0]; //error
+ }
+ else
+ {
+ $out = ['success'=>1];
+ $out['data'] = $res;
+ }
+
+ return json_encode($out);
+ }
+
+ //301 redirect
+ public function move2new($url)
+ {
+ header("HTTP/1.1 301 Moved Permanently");
+ header("Location: ".$url);
+ exit();
+ }
+
+}
\ No newline at end of file
diff --git a/CLASSES/core/LE_MOD_LOAD.php b/CLASSES/core/LE_MOD_LOAD.php
new file mode 100644
index 0000000..4c19946
--- /dev/null
+++ b/CLASSES/core/LE_MOD_LOAD.php
@@ -0,0 +1,71 @@
+m1=SYSDIR."MODULES".DS;
+ $this->m2=APPDIR."MODULES".DS;
+ $this->space_list = SYSCONF::$SPACE_LIST;
+ $this->mod_aliases = SYSCONF::$MOD_ALIASES;
+ if ($autorun) $this->parse_url();
+ }
+
+ public function parse_url()
+ {
+ $query = LE_REQUEST::url2arr()['query_clr'];
+
+ $spaces_str = implode('|',array_keys($this->space_list));
+
+
+ preg_match('!^/('.$spaces_str.')?/?([^/?]*)/?(.*?)$!simu', $query,$res);
+
+ $this->url = $res;
+ $space_in_q = $res[1];
+ $mod_in_q = $res[2];
+
+ $space=SYSCONF::$DEFAULT_MODSPACE; //default
+
+ if (!empty($space_in_q))
+ {
+ $space = $this->search_key($this->space_list,$space_in_q);
+ if ($space===false) return false;
+ }
+
+
+ if ($this->select_path($space)===false) return false;
+
+ $mod=arr_v(SYSCONF::$DEFAULT_MODULE,$space,false); //default
+ if (!empty($mod_in_q))
+ {
+ $mod_rr=false;
+ if (isset($this->mod_aliases[$space]))
+ $mod_rr = $this->search_key($this->mod_aliases[$space],$mod_in_q);
+
+ $mod = ($mod_rr) ? $mod_rr : $mod_in_q;
+ }
+ $this->init_path = $this->select_path($space,"__space_init.php");
+ $this->mod_path = $this->select_path($space,$mod.".php");
+
+ }
+
+
+ public function select_path($space,$path="")
+ {
+ $app_path = $this->m2.$space.DS.$path;
+ $sys_path = $this->m1.$space.DS.$path;
+
+ if (file_exists($app_path)) return $app_path;
+ if (file_exists($sys_path)) return $sys_path;
+ return false;
+ }
+
+ public function search_key($arr,$key)
+ {
+ foreach ($arr as $tpl => $val)
+ if(preg_match('!^('.$tpl.')$!simu', $key)) return $val;
+
+ return false;
+ }
+}
\ No newline at end of file
diff --git a/CLASSES/core/LE_MYSQL.php b/CLASSES/core/LE_MYSQL.php
new file mode 100644
index 0000000..f665874
--- /dev/null
+++ b/CLASSES/core/LE_MYSQL.php
@@ -0,0 +1,278 @@
+cnf = &$cnf;
+ if (defined("DEBUG") && DEBUG==1) $this->debug=1;
+
+ $this->connect($cnf);
+ }
+
+ //exit and echo error
+ protected function err($txt)
+ {
+ http_response_code(503);
+ exit($txt);
+ }
+
+
+ /*****************************
+ | private helpers functions |
+ *****************************/
+ protected function create_connect()
+ {
+ if (isset($this->cnf['socket']) && !empty($this->cnf['socket']))
+ return new mysqli(NULL, $this->cnf['user'], $this->cnf['pass'], $this->cnf['db_name'], NULL,
+ $this->cnf['socket']);
+
+ return new mysqli($this->cnf['host'], $this->cnf['user'], $this->cnf['pass'], $this->cnf['db_name']);
+ }
+
+ public function connect()
+ {
+ $this->l = $this->create_connect();
+
+ if ($this->l->connect_errno) $this->err("ERROR CONNECT DB");
+
+ $this->sess_conf();
+ }
+
+ private function sess_conf()
+ {
+ $this->query("set names utf8");
+ $this->query("SET @@session.time_zone = '+00:00'");
+ }
+
+ public function check_conn ($debug=0)
+ {
+ if ($this->l->ping()!==false) return;
+ //проверим еще раз не переподключился ли он автоматом
+ usleep(500);
+ if ($this->l->ping()===false) $this->connect();
+ }
+
+ /*****************************
+ | query & anwer functions |
+ *****************************/
+ public function query($s, $buffer = true, $o = [])
+ {
+ $this->cnt++; //счетчик запросов
+ $buf = ($buffer) ? MYSQLI_STORE_RESULT : MYSQLI_USE_RESULT;
+ $type = (isset($o['type'])) ? $o['type'] : $this->detect($s);
+
+ if ($this->echo_sql) echo $s.BR;
+
+
+ $res = $this->l->query($s, $buf);
+
+ $e = ($this->l->error);
+ if (!empty($e)) $this->err(($this->c['debug'] ? $e . ' (' . $s . ')' : 'ERR QUERY!!!'));
+
+ unset($e, $buf);
+ return $this->answer($res, $type, $o);
+ }
+
+ private function detect($s) {
+ if ((stripos($s, 'select', 0) !== false)) return 'S';
+ if ((stripos($s, 'SHOW', 0) !== false)) return 'S';
+ if ((stripos($s, 'insert', 0) !== false)) return 'I';
+ if ((stripos($s, 'update', 0) !== false)) return 'U';
+ if ((stripos($s, 'delete', 0) !== false)) return 'D';
+ if ((stripos($s, 'truncate', 0) !== false)) return 'T';
+ }
+
+ private function answer(&$r, $t_, $o) {
+ $t = &$this;
+ $l = &$this->l;
+ switch ($t_) {
+ case 'S':
+ if ((isset($o['row']) && $o['row']) || (isset($o['val']) && $o['val']))
+ {
+ $r_ = $this->get_row($r);
+ $r->free_result();
+ if (isset($o['val']) && $o['val']) return $r_[trim($o['val'])];
+ return $r_;
+ }
+ return $r;
+ break;
+ case 'I':
+ return $l->insert_id;
+ break;
+ case 'U';
+ case 'T';
+ case 'D';
+ return $l->affected_rows;
+ break;
+ }
+ return false;
+ }
+
+ public function get_row(&$r)
+ {
+ return ($r) ? mysqli_fetch_assoc($r) : FALSE;
+ }
+
+ /*****************************
+ | query prepare functions |
+ *****************************/
+
+ public function prepare($s)
+ {
+ return $this->l->real_escape_string($s);
+ }
+
+ public function arr2in($ids,$str=false)
+ {
+ if ($str) array_map(function($id){return "'".$id."'";},$ids);
+
+ $ids = (is_array($ids)) ? implode(',',$ids) : $ids;
+ return $this->prepare($ids);
+ }
+
+
+ public function gen_set($arr)
+ {
+ $arr_ = [];
+ if (count($arr)) {
+ foreach ($arr as $k => &$v) {
+ $arr_[] = "`" . $k . "`='" . (($v === '###') ? '' : $this->prepare($v)) . "'";
+ }
+ }
+
+ if (!count($arr_) > 0) {
+ return false;
+ }
+
+ unset($arr);
+ return implode(', ', $arr_);
+ }
+
+ /**********************
+ | result functions |
+ **********************/
+ public function count(&$res)
+ {
+ if (!$res || gettype($res)!=="object") return false;
+ return mysqli_num_rows ($res);
+ }
+
+ public function cnt(&$res) {return $this->count($res);}
+
+ public function res2arr($res = 0,$key=false,$shift_reg=false)
+ {
+ $res_arr = [];
+
+ if($key===false)
+ while($r = $this->get_row($res)) $res_arr[] = $r;
+ else
+ while($r = $this->get_row($res))
+ {
+ $_key = ($shift_reg) ? PRE::SHIFT($r[$key],$shift_reg) : $r[$key];
+ $res_arr[$_key] = $r;
+ }
+
+
+ return $res_arr;
+ }
+
+ public function found_rows()
+ {
+ return $this->query("SELECT FOUND_ROWS() as `cnt`", false, ['val' => 'cnt']);
+ }
+
+
+
+
+ /****************
+ QUERY GENERATORS
+ ****************/
+ public function INS($table, $val_arr)
+ {
+ $table = $this->prepare($table);
+ $set_str = $this->gen_set($val_arr);
+ $sql = 'INSERT INTO `' . $table . '` SET ' . $set_str;
+ return $this->query($sql,0,['type'=>'I']);
+ }
+
+ public function UPD($table, $val_arr, $id, $idf = 'id',$str_key=false)
+ {
+
+ if (empty($id)) $this->err("ERR DB UPD");
+ $table = $this->prepare($table);
+ $set_str = $this->gen_set($val_arr);
+ $id_field = $this->prepare($idf);
+ $in_list = $this->arr2in($id,$str_key);
+
+ $sql = 'UPDATE `' . $table . '` SET ' . $set_str . ' WHERE `' . $id_field . '` IN (' . $in_list . ')';
+
+ return $this->query($sql,0,['type'=>'U']);
+ }
+
+ public function DEL($table, $id, $idf = "id",$str=false)
+ {
+ if (is_array($id) && !count($id)) return false; //нечего удалять, если ничего не передали
+ if (!is_array($id)) $id = [$id];
+
+ $table = $this->prepare($table);
+ $id_field = $this->prepare($idf);
+ $in_list = $this->arr2in($id);
+
+ $sql = 'DELETE FROM `' . $table . '` WHERE `' . $id_field . '` IN(' . $in_list.')';
+ return $this->query($sql,0,['type'=>'D']);
+
+ }
+ //ins or upd return index
+ public function SAVE($t,$v,$idf="id")
+ {
+ if (!isset($v[$idf]) || $v[$idf]==0) return $this->INS($t,$v);
+
+ $id = $v[$idf]; unset($v[$idf]);
+
+ //upd
+ if ($id>0 && count($v)>0) $this->UPD($t,$v,$id,$idf);
+ //delete
+ if ($id<0) $this->DEL($t,($id*-1),$idf);
+
+ return $id;
+ }
+
+
+ /*****************
+ * custom queries *
+ *****************/
+
+ public function query_arr($sql,$key=false,$shift_reg=0)
+ {
+ $res = $this->query($sql,0,['type'=>'S']);
+ $rez = $this->res2arr($res,$key,$shift_reg);
+ $res->free();
+ return $rez;
+ }
+
+ public function query_keyval($sql,$k=false,$v=false)
+ {
+ $k = trim($this->prepare($k));
+ $v = trim($this->prepare($v));
+
+ $res = $this->query($sql,0,['type'=>'S']);
+ $res_arr = [];
+ while($r = $this->get_row($res)) $res_arr[$r[$k]] = $r[$v];
+
+ return $res_arr;
+ }
+
+ public function query_single($s) {
+ return $this->query($s, false, ['row' => true]);
+ }
+
+ public function query_val($s,$v)
+ {
+ return $this->query($s, false, ['val' => $v]);
+ }
+
+}
\ No newline at end of file
diff --git a/CLASSES/core/LE_REQUEST.php b/CLASSES/core/LE_REQUEST.php
new file mode 100644
index 0000000..c0a0099
--- /dev/null
+++ b/CLASSES/core/LE_REQUEST.php
@@ -0,0 +1,114 @@
+apache
+ /*
+ if ((!$ssl) && function_exists('apache_request_headers'))
+ {
+ $h = apache_request_headers();
+ if (is_array($h) && isset($h['Nginx-Https']) && $h['Nginx-Https']=='on')
+ {
+ $ssl=true; $port=443;
+ }
+ }
+ */
+
+ $protocol = strtolower($s['SERVER_PROTOCOL']);
+
+ $scheme = substr( $protocol, 0, strpos( $protocol, '/' ) ) . ( ( $ssl ) ? 's' : '' );
+ $standart_port = ((!$ssl && $port=='80') || ($ssl && $port=='443'));
+
+ $host="locahost";
+ if ($use_forwarded_host && isset( $s['HTTP_X_FORWARDED_HOST'] ))
+ $host = $s['HTTP_X_FORWARDED_HOST'];
+ elseif (isset( $s['HTTP_HOST']))
+ $host = $s['HTTP_HOST'];
+ elseif (isset( $s['SERVER_NAME']))
+ $host = $s['SERVER_NAME'];
+
+
+
+ $host_full = ($standart_port) ? $host : ($host.":".$port);
+
+ $query= isset($s['REQUEST_URI']) ? $s['REQUEST_URI'] : '';
+
+ $query_clr = preg_replace('!\?.*?$!','',$query);
+
+
+ return compact('ssl','port','scheme','standart_port','host','host_full','query','query_clr','protocol');
+ }
+
+
+ public static function TYPE_DETECT()
+ {
+ if (!isset($_SERVER["CONTENT_TYPE"])) return false;
+
+ $type = trim(explode(';',$_SERVER["CONTENT_TYPE"])[0]);
+ $type = PRE::DOWN($type);
+
+
+ if ($type=='application/json') return 'json';
+
+ return false;
+ }
+
+
+
+ public static function get2str($cust_get=null)
+ {
+ $get= (is_null($cust_get)) ? $_GET : $cust_get;
+
+ if (!is_array($get) || !count($get)) return '';
+
+ $arr = [];
+ foreach ($get as $k => $v)
+ $arr[] = $k.'='.$v;
+
+ return '?'.implode('&',$arr);
+ }
+
+
+
+ public static function str2get($q="")
+ {
+ if(empty($q)) return false;
+ $q = explode('&',$q);
+ $out=[];
+ $c = count($query);
+
+ for ($i=0;$i<$c;$i++)
+ {
+ $r=explode('=',$q[$i]);
+ if(!isset($r[1])) $r[1]='';
+ $out[$r[0]]=$r[1];
+ }
+
+ return $out;
+ }
+
+ public static function MOVE($u)
+ {
+ http_response_code(301);
+ header("Location: ".$u);
+ exit();
+ }
+
+ public static function FIX_URLCASE($u)
+ {
+ $q = arr_v($u,'query','');
+ if(empty($q)) return false;
+
+ if (PRE::SHIFT($q,'DOWN')!=$q)
+ LE_URL::MOVE(PRE::SHIFT($u['full'],'DOWN'));
+ }
+
+
+}
\ No newline at end of file
diff --git a/CLASSES/core/LE_SQLITE.php b/CLASSES/core/LE_SQLITE.php
new file mode 100644
index 0000000..b7820f3
--- /dev/null
+++ b/CLASSES/core/LE_SQLITE.php
@@ -0,0 +1,7 @@
+meta = ['title'=>'','keywords'=>'','description'=>''];
+ $this->prefix="main";
+ $this->mod_cont="";
+ $this->vars = ['tpl_arr'=>&$this->tpl_arr,'tpl'=>&$this];
+ }
+
+
+ public function fetch($t,&$vars=array(),$prefix=false,$cache_en=false)
+ {
+ //выгружаем переменные в функцию
+ if (is_array($this->vars)) extract($this->vars);
+ if (is_array($vars)) extract($vars);
+
+ //определяем путь до шаблона
+ $this->load_tpls[] = $__p = $this->path($t,$prefix);
+
+ //инклудим шаблон, буферизуем его выхлоп
+ ob_start();
+ include($__p);
+ return ob_get_clean();
+ }
+
+ public function path($tpl_path,$prefix=false)
+ {
+ if ($prefix===false) $prefix = $this->prefix;
+ $path = $prefix.DS.$tpl_path.".tpl";
+
+ $path_app = realpath((APPDIR."TPL".DS.$path));
+ $path_sys = realpath((SYSDIR."TPL".DS.$path));
+
+ //echo APPDIR.$path.BR;
+ //echo SYSDIR.$path.BR;
+
+ if (is_file($path_app)) return $path_app;
+ if (is_file($path_sys)) return $path_sys;
+
+ exit($path." - NOT FOUND TPL");
+ }
+
+ public function display($prefix=false,$main_tpl="main")
+ {
+ //global $config,$db;
+
+ $tpl = &$this;
+
+ if ($this->debug) echo_arr($this->load_tpls);
+ if (arr_v($_POST,'clear')=='yes') $this->clear=1;
+
+ if($prefix===false) $prefix = $this->prefix;
+
+ include SYSDIR."TPL".DS.$prefix.DS."static_list.php";
+ $this->static_dep_apply();
+ $this->add_need_static();
+
+
+ $path= $this->path($main_tpl,$prefix);
+
+ if ($this->clear)
+ {
+ echo $this->mod_cont;
+ return ($this->clear=0);
+ }
+
+ $tpl_arr = &$this->tpl_arr;
+ include($path);
+
+ }
+
+ //static elements
+ public $need_st_list=[],$static_list=[],$static_dep=[],$top_st=[],$bottom_st=[];
+
+ public function need_static($inp)
+ {
+ if (!is_array($inp)) $inp = [$inp];
+ $cnt = count($inp);
+
+ for($i=0;$i<$cnt;$i++)
+ {
+ $v = $inp[$i];
+ if (empty($v)) continue;
+ $this->need_st_list[$v]=1;
+ }
+ }
+
+ public function static_dep_apply($dep_list=false)
+ {
+ if ($dep_list===false) $dep_list=$this->static_dep;
+
+ if (!is_array($dep_list) || empty($dep_list)) return;
+
+ $need = &$this->need_st_list;
+
+ foreach ($dep_list as $m_name => $dep_items)
+ {
+ //для выключенных модулей не применяем зависимости
+ if ( !(isset($need[$m_name]) && $need[$m_name]==1) ) continue;
+
+ foreach ($dep_items as $k => $dep)
+ {
+ $need[$dep]=1;
+ }
+ }
+
+ }
+
+ public function add_need_static()
+ {
+ $need = $this->need_st_list;
+ $list = $this->static_list;
+
+ foreach ($this->static_list as $key => $item)
+ {
+ $pos = arr_v($item,'pos',false);
+ $type = arr_v($item,'type',"");
+ $link = arr_v($item,'link',"");
+ //echo $link.BR;
+ if ($pos===false) $pos = ($type=="js") ? "bottom" : "top";
+ $mod=arr_v($item,'mod','default');
+
+ if ( !((isset($need[$mod]) && $need[$mod]==1) || $mod=='default') ) continue;
+
+ switch ($type)
+ {
+ case 'js':
+ $cont = $this->js($link);
+ break;
+ case 'css':
+ $cont = $this->css($link);
+ break;
+
+ default:
+ continue 2;
+ break;
+ }
+
+ if ($pos=="top")
+ $this->top_st[]=$cont;
+ else
+ $this->bottom_st[]=$cont;
+
+ }
+
+ $_gl = "\n\t";
+ $this->head_cont.=implode($_gl,$this->top_st);
+ $this->cont_bottom.=implode($_gl,$this->bottom_st);
+
+ //echo_arr($this->top_st);
+
+
+ }
+
+ public function css($p,$min=0)
+ {
+ return ' ';
+ }
+
+ public function js($p,$min=0)
+ {
+ return '';
+ }
+
+ public function p2min($path,$min,$ext)
+ {
+ if ($min)
+ {
+ $path = str_replace('.'.$ext,'.min.'.$ext,$path);
+ $path = str_replace('min.min','min',$path);
+ }
+
+ return $path;
+ }
+
+
+
+
+
+
+
+
+}
+/*
+[],'js'=>[]];
+
+ function __construct() {
+ $this->tpl_arr = ['text'=>'','_html_'=>'','head_objects'=>'','meta_title'=>'','meta_keywords'=>'','meta_description'=>''];
+
+ $this->txt = &$this->tpl_arr['text'];
+ $this->vars = ['tpl_arr'=>&$this->tpl_arr,'tpl'=>&$this];
+ }
+
+ public function decl_p($inp)
+ {
+ $inp = MP_ARR::FROM_STR($inp);
+ while ($r = array_shift($inp)) $this->declare_parts[$r]=1;
+ }
+
+ public function js4part($p,$f,$EOL=false,$pre="",$glued=1)
+ {
+ if (ST_GLUE && $glued) return $this->glue_reg('js',$p,$f);
+
+ return $this->st4p($p,$this->js($f),$EOL,$pre);
+ }
+
+ public function css4part($p,$f,$EOL=false,$pre="",$glued=1)
+ {
+ if (ST_GLUE && $glued) return $this->glue_reg('css',$p,$f);
+
+ return $this->st4p($p,$this->css($f),$EOL,$pre);
+ }
+
+ public function glue_reg($type,$p,$url)
+ {
+
+ $path = str_replace('/mp_pub',SYSDIR."PUB", $url);
+ $path = str_replace('/pub_data',WEBDIR."pub_data", $path);
+ switch ($type) {
+ case 'css':
+ $path = str_replace('.css','.min.css',$path);
+ break;
+ case 'js':
+ $path = str_replace('.js','.min.js',$path);
+ break;
+
+ }
+
+ $this->glue_arr[$type][] =
+ ['u'=>$url,'p'=>$path,'l'=> ((int)$this->if_decl_p($p))];
+ }
+
+ public function glue_stat()
+ {
+ $js_k = $css_k = "";
+ if (!ST_GLUE) return;
+
+ foreach ($this->glue_arr['js'] as $key => $it) $js_k.=$it['l'];
+
+ foreach ($this->glue_arr['css'] as $key => $it) $css_k.=$it['l'];
+
+
+ $alph = [0,1,2,3,4,5,6,7,8,9,'A','B','C','D','E','F','G','H','I','J','K',
+ 'L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','_','-','='];
+
+ $js_k = int2alphabet($alph,bindec($js_k));
+ $css_k = int2alphabet($alph,bindec($css_k));
+
+
+ $glue_path = WEBDIR."pub_data/static_cache/";
+
+ $js_path = $glue_path.$js_k.".js";
+ $css_path = $glue_path.$css_k.".css";
+
+ $glue_path = $alph = NULL;
+ unset($glue_path,$alph);
+
+ if (!is_file($js_path) && count($this->glue_arr['js']))
+ {
+ foreach ($this->glue_arr['js'] as $key => $it)
+ {
+ if (!$it['l']) continue;*/
+ //$pre = '/* file: '.$it['u'].'*/'."\n";
+ /* file_put_contents($js_path,$pre.file_get_contents($it['p'])."\n",FILE_APPEND);
+
+ }
+ }
+
+ if (!is_file($css_path) && count($this->glue_arr['css']))
+ {
+ foreach ($this->glue_arr['css'] as $key => $it)
+ {
+ if (!$it['l']) continue;*/
+ //$pre = '/* file: '.$it['u'].'*/'."\n";
+ /*file_put_contents($css_path,$pre.file_get_contents($it['p'])."\n",FILE_APPEND);
+
+ }
+ }
+
+
+ $this->to_head($this->css('/pub_data/static_cache/'.$css_k.".css",1));
+ $js_block = ($this->js2bottom) ? 'bottom_js' : 'head_objects';
+ $this->add2block($js_block,$this->js('/pub_data/static_cache/'.$js_k.".js",1));
+
+ }
+
+ public function st4p ($p,$inc,$EOL=false,$pre="")
+ {
+ if($this->if_decl_p($p)) return $pre.$inc.(($EOL)?$EOL:'');
+ }
+
+ public function st_format($inp,$pre="",$EOL="")
+ {
+ preg_match_all('!(\<[^>]+\>)!simu',$inp,$res);
+ foreach ($res[1] as $key => $v) echo $pre.$v.$EOL;
+ }
+
+ public function undecl_p($inp)
+ {
+ if($this->if_decl_p($inp)) unset($this->declare_parts[$inp]);
+ }
+
+ public function if_decl_p($inp)
+ {
+ if ($inp===0) return true;
+ return (isset($this->declare_parts[$inp]));
+ }
+
+ //+++добавить несколько частей в массиве
+ public function part_css($part,$css)
+ {
+ if ($this->if_decl_p($part))
+ echo $this->css($css);
+ }
+
+ public function display($prefix=false,$tpl_name="default")
+ {
+ global $tpl,$config,$db;
+
+ if (LST_TPL) echo_arr($this->load_tpls);
+ if (arr_v($_POST,'clear')=='yes') $this->clear=1;
+
+ if($prefix===false) $prefix = $this->prefix;
+ if ($this->clear)
+ {
+ echo $this->tpl_arr['text'];
+ return ($this->clear=0);
+ }
+
+ $tpl_arr = &$this->tpl_arr;
+
+ include($this->path($tpl_name,$prefix));
+ if (DBG_MGS) include($this->path('debug_message','default'));
+ return 1;
+
+ }
+
+ public function path($tpl_name,$prefix=false)
+ {
+ $p = ((empty($prefix))?$this->prefix:$prefix).DS.$tpl_name.'.tpl';
+ if (is_file($p_=TPLDIR2.$p) || is_file($p_=TPLDIR1.$p))
+ return str_replace('//','/',$p_);
+ exit($tpl_name.' - NOT FOUND!!!');
+ }
+ public function add2block($k,$v){
+ $this->tpl_arr[$k] = (isset($this->tpl_arr[$k]))? $this->tpl_arr[$k]."\r\n".$v : $v;
+ return $this;
+ }
+
+ public function canonical($url)
+ {
+ $this->to_head(' ');
+ }
+
+ public function show_bl($n)
+ {
+ if (isset($this->tpl_arr[$n])) echo $this->tpl_arr[$n];
+ }
+
+
+
+
+
+ public function css($p,$nm=0)
+ {
+ return ' ';
+ }
+
+ public function js($p,$nm=0)
+ {
+ return '';
+ }
+
+ public function to_head($str)
+ {
+ return $this->add2block('head_objects',$str);
+ }
+
+ public function add_js ($inp,$no_mod=0){
+ return $this->to_head($this->js($inp,$no_mod));
+ }
+
+ public function add_css ($inp,$no_mod=0){
+ return $this->to_head($this->css($inp,$no_mod));
+ }
+
+
+ public function mp_css($inp)
+ {
+ $inp = MP_ARR::FROM_STR($inp);
+
+ for ($i=0,$c=count($inp); $i < $c; $i++)
+ $this->add_css(M_PUB.'/css/'.$inp[$i]);
+
+ return $this;
+ }
+
+ public function mp_js($inp)
+ {
+ $inp = MP_ARR::FROM_STR($inp);
+
+ for ($i=0,$c=count($inp); $i < $c; $i++)
+ $this->add_js(M_PUB.'/js/'.$inp[$i]);
+
+ return $this;
+ }
+
+ public function meta_tags ($i,$i2=false)
+ {
+ if ($i===false && is_array($i2))
+ {
+ $i=[];
+ list($i['meta_title'],$i['meta_keywords'],$i['meta_description']) = $i2;
+ }
+ $f = function($n) {return(htmlspecialchars($n));};
+ $m_arr = SELECT_FROM_ARR('meta_description;meta_keywords',$i);
+ $m_arr = array_map($f,$m_arr);
+ //титл не экранируем
+ $m_arr['meta_title'] = $i['meta_title'];
+ unset($i);
+ $this->tpl_arr = array_merge($this->tpl_arr,$m_arr);
+ //echo_arr($m_arr);
+ unset($f,$m_arr);
+ }
+ public function ograph($title,$description,$image,$url,$type="website")
+ {
+ $a = &$this->tpl_arr;
+
+ $a['_html_'] = ' prefix="og: http://ogp.me/ns#"';
+ $_arr = compact('title','type','url','description','image');
+
+ foreach ($_arr as $p => $v)
+ {
+ $v=htmlspecialchars($v);
+ $this->to_head(' ');
+ }
+ }
+
+ public function fetch($t,&$vars=array(),$prefix=false,$cache_en=false)
+ {
+ if ($cache_en)
+ {
+ $cache_key = MPCACHE::gen_key_p(array($t,$vars,$prefix));
+ $cache = MPCACHE::from_cache("tpl_cache",$cache_key);
+ if($cache!==false) return $cache['content'];
+ }
+
+ if (empty($t)||(mb_substr($t,0,1)=="#")) return '';
+
+ if (is_array($this->vars))extract($this->vars);
+ if (is_array($vars))extract($vars);
+ $tpl = &$this;
+
+ $this->load_tpls[] = $__p = $this->path($t,$prefix);
+
+
+ ob_start();
+ include($__p);
+
+ if ($cache_en)
+ {
+ $html = ob_get_clean();
+ MPCACHE::to_cache("tpl_cache",$cache_key,['content'=>$html]);
+ return $html;
+ }
+ return ob_get_clean();
+ }
+
+ public function txt($txt){$this->add2block('text',$txt);}
+}
+*/
\ No newline at end of file
diff --git a/CLASSES/core/doc__LE_FS.md b/CLASSES/core/doc__LE_FS.md
new file mode 100644
index 0000000..119ffb3
--- /dev/null
+++ b/CLASSES/core/doc__LE_FS.md
@@ -0,0 +1,36 @@
+# LE\_FS - класс для работы с файловой системой и файлами
+
+## GEN\_FNAME($inp\_name, $path, $prefix);
+
+example
+
+```
+LE_FS::GEN_FNAME("picture.png",WEBDIR."/pub_data/","prod_");
+```
+
+Генерирует уникальное имя файла для указанной папки, расширение нового файла соответствует расширению входного в `$inp_name`
+
+Опционально к имени файла в начале пристыковывается в префикс, например `prod_` `cat_` ...
+***
+
+## Apply2Files($path,&$func,$recouse=0)
+
+> Данная функция создана для обработки массива данных
+```
+LE_FS::Apply2Files("./inp_folder/",$callback,0);
+```
+
+* `$path` \- путь до папки
+* `$func` \- callback функция в которую передается полный путь до файла
+* `$recourse` \- признак рекурсивности\, по умолчанию применяется только к указанной папке\, но если указан флаг то пройдет по всем подпапкам
+>Внутри callback функции нужно предусматривать фильтрацию по расширению файла, например только xml или только jpg...
+>
+## SAVE_POST($inp,&$debug=false) - сохранение файла из POST
+Сохраняет файл переданный в POST с указанным именем поля формы в POST в указанную папку ` `
+```
+LE_FS::SAVE_POST(['f_name'=>'img_file','path'=>'/www/path/'])
+```
+
+Уникальное имя файлов генерируется автоматически...
+
+
diff --git a/LE/core.php b/LE/core.php
new file mode 100644
index 0000000..edc7a94
--- /dev/null
+++ b/LE/core.php
@@ -0,0 +1,133 @@
+';
+ print_r($arr);
+ if (ISWEB) echo '';
+}
+
+
+/*core class*/
+class LE
+{
+ public static $DB,$TPL,$CACHE,$QUERY_DATA_TYPE;
+
+
+ public static function DEF ($constant_name,$val=false)
+ {
+ if (!defined($constant_name)) define($constant_name, $val);
+ }
+
+
+
+
+}
+
+/*date prepare class*/
+//prepare class
+class PRE {
+ public static $MASK = ['D' => '0-9', 'R' => 'а-яё', 'L' => 'a-z', 'S' => '\s'];
+ public static $SH_MASK = [
+ 'UP' => MB_CASE_UPPER,
+ 'DOWN' => MB_CASE_LOWER,
+ 'U1' => MB_CASE_TITLE];
+
+
+ public static function SQL($s)
+ {
+ if (method_exists(LE::$DB, 'prepare')) return LE::$DB->prepare($s);
+ return addslashes($s);
+ }
+ public static function DOWN($s)
+ {
+ return mb_convert_case($s, MB_CASE_LOWER);
+ }
+ public static function UP($s)
+ {
+ return mb_convert_case($s, MB_CASE_UPPER);
+ }
+
+
+ public static function SHIFT($s, $t)
+ {
+ if (isset(PRE::$SH_MASK[$t])) {
+ return mb_convert_case($s, PRE::$SH_MASK[$t]);
+
+ }
+ exit('shift err mask');
+ }
+
+ public static function f2int($n,int $m):int
+ {
+ if (empty($n)) return 0;
+ $n=(float)$n;
+
+ $n*=pow(10,$m+1);
+ return (int) Ceil(round($n)/10);
+ }
+ public static function F($s, $t) {
+ $preg = strtr(preg_quote(trim($t), '!'), PRE::$MASK);
+ return preg_replace('![^' . $preg . ']!iu', '', $s);
+ }
+
+ public static function UP1($s) {
+ $s = PRE::SHIFT(trim($s),'DOWN');
+ $w = preg_split('/\s+/', $s);
+
+ if (isset($w[0]))
+ {
+ $w[0] = PRE::SHIFT($w[0],'U1');
+ return implode(' ',$w);
+ }
+ return $s;
+
+ }
+
+ public static function INT($i):int {return (int)PRE::NUM($i);}
+ public static function NUM($i) {return preg_replace('![^0-9]!', '', $i);}
+ public static function DEC($i):float {
+ $i= preg_replace('/[^\-0-9,.]/u', '', $i);
+ return (float)preg_replace('!([\-]?[0-9]+)[,.]?([0-9]+)?!', '$1.$2', $i);
+ }
+ public static function MONEY_OUT($i) {return money_format('%n', $i);}
+ //удаляет двойные пробелы и табы
+ public static function DSP($i)
+ {
+ return preg_replace('/\s{1,}/u', " ", $i);
+ }
+ public static function PLAIN_FORMAT($str,$one_str=0)
+ {
+ $str = PRE::DSP($str);
+ if ($one_str) $str = preg_replace('!([\n]*)!simu', '', $str);
+ $str = preg_replace('![\s]*([,.])!simu', '$1', $str);
+ $str = trim($str);
+ return $str;
+ }
+ //подрезает строку по разрешенному лимиту
+ public static function CROP($s,$l=0){return (($l>0)?mb_substr($s,0,$l):$s);}
+}
+
+
+/**приведение в алфавит $a числа $int */
+function int2alphabet(array $a,int $int):string
+{
+ $cnt = count($a); //емкость алфавита
+ $out="";
+ while ($int>=$cnt)
+ {
+ $out = ($a[($int % $cnt)]).$out;
+ $int = intdiv($int, $cnt);
+ }
+
+ return $a[$int].$out;
+}
\ No newline at end of file
diff --git a/LE/core_fuctions.md b/LE/core_fuctions.md
new file mode 100644
index 0000000..3409dbb
--- /dev/null
+++ b/LE/core_fuctions.md
@@ -0,0 +1,5 @@
+# Описание базовых
+>jjj
+>kkk
+>
+
diff --git a/LE/db_init.php b/LE/db_init.php
new file mode 100644
index 0000000..036d6ab
--- /dev/null
+++ b/LE/db_init.php
@@ -0,0 +1,5 @@
+init_path!==false)
+ include $le_mod_loader->init_path;
+//load mod
+if ($le_mod_loader->mod_path!==false)
+ include $le_mod_loader->mod_path;
+//not found
+if ($le_mod_loader->mod_path==false)
+ include $le_mod_loader->select_path('main','__404.php');
+
diff --git a/LE/session.php b/LE/session.php
new file mode 100644
index 0000000..7fd8cbf
--- /dev/null
+++ b/LE/session.php
@@ -0,0 +1,19 @@
+180)
+ setcookie ("PHPSESSID", session_id() , ($_SESSION['_exp']=$_exp) ,'/');
\ No newline at end of file
diff --git a/LE/sys_autoload.php b/LE/sys_autoload.php
new file mode 100644
index 0000000..e2a2a9f
--- /dev/null
+++ b/LE/sys_autoload.php
@@ -0,0 +1,6 @@
+ 'welcome','admin'=>'dashboard'];
+public static $MOD_ALIASES;
+public static $USE_MYSQL = TRUE;
+public static $USE_TPL = TRUE;
+public static $ADMIN_MAIL = '';
+public static $ROBOT_MAIL = '';
+public static $DISP_TIME = FALSE;
+public static $DB = ['host'=>'localhost','user'=>'','pass'=>'','db_name' =>''];
+
+public static $SPACE_LIST=['admin|cabinet'=>'admin','main'=>'main'];
+public static $SESS_DIR;
+public static $SESS_TIME=120960;
+public static $MPV;
+public static $DR_N="LE CMS";
+public static $CACH_DIR;
+}
+
+SYSCONF::$SESS_DIR = APPDIR.'sessions'.DS;
+SYSCONF::$CACH_DIR = APPDIR.'cache'.DS;
+
+if (is_file(APPDIR.'app_conf.php')) include APPDIR.'app_conf.php';
\ No newline at end of file
diff --git a/MODULES/admin/__space_init.php b/MODULES/admin/__space_init.php
new file mode 100644
index 0000000..4298284
--- /dev/null
+++ b/MODULES/admin/__space_init.php
@@ -0,0 +1,3 @@
+prefix="admin";
\ No newline at end of file
diff --git a/MODULES/admin/blog.php b/MODULES/admin/blog.php
new file mode 100644
index 0000000..2f8a081
--- /dev/null
+++ b/MODULES/admin/blog.php
@@ -0,0 +1,94 @@
+check_dest_folder($dest)) return false;
+ $filename = LE_FS::SAVE_POST(['f_name'=>'upload','path'=>$dest]);
+ return ['url'=>'/pub_data/upload/img/'.$filename, 'as_is'=>1];
+ }
+
+ protected function _ajx_save_content($data)
+ {
+ $id = PRE::INT($data['id']);
+
+ $html_cont = $data['html_cont'];
+ preg_match('!((.*?)<\/h1>)?(.*)!simu',$html_cont,$out);
+ $html_cont = $out[3];
+ $html_head = trim($out[2]);
+ //return;
+
+ $save_data = ['id'=>$id,'html'=>$html_cont,'head'=>$html_head];
+
+ $id = LE::$DB->SAVE('text_content',$save_data);
+
+ return $id;
+ }
+
+ protected function _ajx_remove_it($inp)
+ {
+ if (!isset($inp['id'])) return false;
+
+ $id=PRE::INT($inp['id']);
+ if (!$id>0) return false;
+ $res = LE::$DB->DEL('text_content',$id);
+ return ($res>0);
+ }
+
+ protected function _inp_default($inp)
+ {
+ $res = LE::$DB->query_arr("SELECT * FROM `text_content`",'id');
+
+ $to_tpl['cont_list'] = $res;
+ return LE::$TPL->fetch('blog/list',$to_tpl);
+ }
+
+ protected function _inp_edit($inp)
+ {
+ $id = PRE::INT($inp);
+ if ($id>0)
+ {
+ $res = LE::$DB->query_single("SELECT * FROM `text_content` WHERE `id`=".$id);
+ $it_data = json_decode($res['data'],1);
+ }
+ else
+ {
+ $res = ['html'=>'','head'=>''];
+ $it_data = [];
+ $id=0;
+ }
+
+ $to_tpl = [
+ 'data'=>$it_data,
+ 'id'=>$id,
+ 'html_cont'=>$res['html'],
+ 'head'=>$res['head']
+ ];
+
+ return LE::$TPL->fetch('blog/edit_item',$to_tpl);
+ }
+}
+
+
+
+
+include CLSDIR."blog.php";
+$blog_model = new blog_model;
+
+
+$controller = new CONTR($le_mod_loader->url,$blog_model);
+
+
+LE::$TPL->mod_cont .= $controller->start();
\ No newline at end of file
diff --git a/MODULES/main/__404.php b/MODULES/main/__404.php
new file mode 100644
index 0000000..f83ab1a
--- /dev/null
+++ b/MODULES/main/__404.php
@@ -0,0 +1,3 @@
+PAGE NOT FOUND ";
\ No newline at end of file
diff --git a/MODULES/main/__space_init.php b/MODULES/main/__space_init.php
new file mode 100644
index 0000000..e69de29
diff --git a/MODULES/main/editor_test.php b/MODULES/main/editor_test.php
new file mode 100644
index 0000000..fd3605d
--- /dev/null
+++ b/MODULES/main/editor_test.php
@@ -0,0 +1,68 @@
+'upl_img','path'=>$uploaddir]);
+
+ return ['url'=>'/pub_data/upload/img/'.$filename];
+ }
+
+ protected function _ajx_save_content($data)
+ {
+ $md_cont = $data['md_cont'];
+
+ $id = PRE::INT($data['id']);
+
+ $_data = json_encode(['md_cont'=>$md_cont]);
+ $html_cont = $data['html_cont'];
+
+ $save_data = ['id'=>$id,'data'=>$_data,'html'=>$html_cont];
+
+ $id = LE::$DB->SAVE('text_content',$save_data);
+
+ return $id;
+ }
+
+ protected function _inp_default($inp)
+ {
+ $res = LE::$DB->query_arr("SELECT * FROM `text_content`",'id');
+
+ $to_tpl['cont_list'] = $res;
+ return LE::$TPL->fetch('le_ui_kit/editor_list',$to_tpl);
+ }
+
+ protected function _inp_edit($inp)
+ {
+ $id = PRE::INT($inp);
+ if (!$id>0) return false;
+
+ $res = LE::$DB->query_single("SELECT * FROM `text_content` WHERE `id`=".$id);
+ $it_data = json_decode($res['data'],1);
+ $to_tpl = compact('it_data','res','id');
+ $to_tpl['md_cont'] = (isset($it_data['md_cont'])) ? $it_data['md_cont'] : '';
+ return LE::$TPL->fetch('le_ui_kit/test_ckeditor',$to_tpl);
+ //return LE::$TPL->fetch('le_ui_kit/test_editor',$to_tpl);
+ }
+}
+
+
+
+
+//echo_arr($le_mod_loader->url);
+
+$controller = new CONTR($le_mod_loader->url);
+//$mod_out = $controller->start();
+
+
+
+
+
+LE::$TPL->mod_cont .= $controller->start();
\ No newline at end of file
diff --git a/MODULES/main/shop.php b/MODULES/main/shop.php
new file mode 100644
index 0000000..e69de29
diff --git a/MODULES/main/ui_test copy.php b/MODULES/main/ui_test copy.php
new file mode 100644
index 0000000..1eac247
--- /dev/null
+++ b/MODULES/main/ui_test copy.php
@@ -0,0 +1,191 @@
+
+
+
+
+ LE UIKit
+
+
+/*
+
+
+
+
+
+
+
+
+*/?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Button
+
+
+
+
+
+
+
+
Markdown Editor from ToastUI
+
+
+
html get |
+
markdown get |
+
Code hilight |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/MODULES/main/ui_test.php b/MODULES/main/ui_test.php
new file mode 100644
index 0000000..83088e8
--- /dev/null
+++ b/MODULES/main/ui_test.php
@@ -0,0 +1,33 @@
+1];
+ $out['data'] = ['url'=>'/pub_data/upload/img/'.$f_name];
+ $mod_out = json_encode($out);
+ }
+}
+
+
+else
+$mod_out = LE::$TPL->fetch('le_ui_kit/test1');
+
+//out to tpl
+LE::$TPL->mod_cont .= $mod_out;
\ No newline at end of file
diff --git a/MODULES/main/welcome.php b/MODULES/main/welcome.php
new file mode 100644
index 0000000..1de5125
--- /dev/null
+++ b/MODULES/main/welcome.php
@@ -0,0 +1 @@
+Добро пожаловать в новый мир!!!
\ No newline at end of file
diff --git a/PUB/css/content_editor.css b/PUB/css/content_editor.css
new file mode 100644
index 0000000..e69de29
diff --git a/PUB/css/le_form.css b/PUB/css/le_form.css
new file mode 100644
index 0000000..d7f3e70
--- /dev/null
+++ b/PUB/css/le_form.css
@@ -0,0 +1,275 @@
+/*sys*/
+body {
+ font-family: sans-serif;
+}
+
+
+/*reset form*/
+input, select, button, textarea {
+ border:1px solid #b8b8b8;
+ border-radius: 0;
+ -webkit-border-radius: 0px;
+ border-radius:0;
+ padding:1px 5px;
+ height: 40px;
+ box-sizing: border-box;
+ font-family: inherit;
+ font-size:16px;
+}
+
+textarea {
+ min-height: 200px;
+ padding:8px 8px;
+}
+
+select {
+-webkit-appearance: none;
+-moz-appearance: none;
+padding-right: 20px;
+background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2224%22%20height%3D%2216%22%20viewBox%3D%220%200%2024%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23666%22%20points%3D%2212%201%209%206%2015%206%22%20%2F%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23666%22%20points%3D%2212%2013%209%208%2015%208%22%20%2F%3E%0A%3C%2Fsvg%3E%0A")
+,
+linear-gradient(to bottom, #ffffff 0%,#ffffff 100%);
+background-repeat: no-repeat;
+/*background-position: 100% 50%;*/
+background-size: 30px auto, 100%;
+
+background-position: right -5px top 50%, 0 0;
+}
+
+
+input[type=radio], input[type=checkbox]
+{
+ display: inline-block;
+ height: 16px;
+ width: 16px;
+ overflow: hidden;
+ margin-top: -1px;
+ vertical-align: middle;
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ background-color: transparent;
+ background-repeat: no-repeat;
+ background-position: 50% 50%;
+ border: 1px solid #ccc;
+ transition: .2s ease-in-out;
+ transition-property: all;
+ transition-property: background-color,border;
+ margin-right: 4px;
+}
+
+input[type=radio] {
+ border-radius: 50%;
+ margin-top: -4px;
+}
+
+input[type=radio]:checked {
+ background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Ccircle%20fill%3D%22%23fff%22%20cx%3D%228%22%20cy%3D%228%22%20r%3D%222%22%20%2F%3E%0A%3C%2Fsvg%3E");
+ background-color: #1e87f0;
+ border-color: transparent;
+ background-size: 30px auto;
+}
+
+input[type=checkbox]:checked {
+ background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2214%22%20height%3D%2211%22%20viewBox%3D%220%200%2014%2011%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23fff%22%20points%3D%2212%201%205%207.5%202%205%201%205.5%205%2010%2013%201.5%22%20%2F%3E%0A%3C%2Fsvg%3E%0A");
+ background-color: #1e87f0;
+ border-color: transparent;
+}
+
+input:focus:not([type="checkbox"]):not([type="radio"]), select:focus, textarea:focus {
+ outline: none;
+ border-color:#70aae4;
+ box-shadow: inset 0 0 3px -2px #117de9;
+}
+
+
+
+
+/*form blocks style*/
+.le_form {
+ display: block;
+ overflow: hidden;
+ margin: 10px 0;
+ padding:25px;
+ color:#555;
+
+ }
+
+.le_form_head {
+ display: block;
+ font-size: 150%;
+ padding-bottom: 10px;
+ border-bottom: 1px solid #d9d9d9;
+ margin-bottom: 20px;
+
+}
+
+.le_shadow {
+ box-shadow: 0 2px 10px rgba(94, 94, 94, 0.08);
+ border:1px solid #ececec;
+}
+
+
+.le_he .le_inp {
+ margin-left:300px;
+}
+
+.le_fl {
+ font-size: 14px;
+
+}
+
+.le_he .le_fl {
+ width:290px;
+ float:left;
+ display: flex;
+
+ align-items: center;
+ min-height: 40px;
+
+}
+
+.le_he, .le_ve {
+ margin-bottom: 25px;
+overflow: hidden;
+border-bottom: 1px solid #e9e9e9;
+padding-bottom: 25px;
+
+}
+
+.le_ve .le_fl {
+ margin-bottom: 3px;
+ display: block;
+}
+
+.le_inp input:not([type="checkbox"]):not([type="radio"]),
+.le_inp select,
+.le_inp textarea
+{
+ max-width: 100%;
+ width:100%;
+}
+
+/*le multi elements*/
+.le_me label{
+display: block;
+padding-top:8px;
+}
+
+/*Multi Element Horizontal*/
+.le_meh label{
+float:left;
+margin-right:10px;
+}
+
+
+.le_he {
+ display:flex;
+ flex-wrap: wrap;
+}
+
+.le_he .le_fl {
+min-width: 200px;
+flex:40%;
+flex-grow: 1;
+}
+
+.le_he .le_inp {
+margin-left:0;
+flex-grow: 1; /*растягиваться на свободное пространство*/
+min-width: 200px;
+flex:60%;
+}
+
+.le_fl sup {
+ color:red;
+font-size: 17px;
+font-weight: bold;
+padding-left: 2px;
+}
+
+
+
+/*buttons*/
+.le_btn {
+display: inline-block;
+font-weight: 400;
+text-align: center;
+white-space: nowrap;
+vertical-align: middle;
+-webkit-user-select: none;
+-moz-user-select: none;
+-ms-user-select: none;
+user-select: none;
+border: 1px solid #c9c9c9;
+
+padding: .375rem .75rem;
+font-size: 1rem;
+line-height: 1.5;
+transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
+background-color: #f9f9f9;
+background: linear-gradient(to bottom, #f9f9f9,#f9f9f9);
+}
+
+ .le_btn:hover {
+ background: linear-gradient(to bottom, #f9f9f9,#f3f3f3);
+ border-color:#b5b5b5;
+}
+
+
+/*гамбургеры и крестики*/
+#nav-icon6 {
+ width: 60px;
+ height: 45px;
+ position: relative;
+ transition-duration: 1s;
+ margin: 48px auto 12px auto;
+ cursor: pointer;
+}
+#nav-icon6 span {
+ height: 9px;
+ width: 60px;
+ background-color: #337AB7;
+ border-radius: 20px;
+ position: absolute;
+ transition-duration: .25s;
+ transition-delay: .25s;
+}
+#nav-icon6 span:before {
+ left: 0;
+ position: absolute;
+ top: -18px;
+ height: 9px;
+ width: 60px;
+ background-color: #337AB7;
+ content: "";
+ border-radius: 20px;
+ transition-duration: .25s;
+ transition: transform .25s, top .25s .25s;
+}
+#nav-icon6 span:after {
+ left: 0;
+ position: absolute;
+ top: 18px;
+ height: 9px;
+ width: 60px;
+ background-color: #337AB7;
+ content: "";
+ border-radius: 20px;
+ transition-duration: .25s;
+ transition: transform .25s, top .25s .25s;
+}
+#nav-icon6.open span {
+ transition-duration: 0.1s;
+ transition-delay: .25s;
+ background: transparent;
+}
+#nav-icon6.open span:before {
+ transition: top .25s, transform .25s .25s;
+ top: 0px;
+ transform: rotateZ(-45deg);
+}
+#nav-icon6.open span:after {
+ transition: top 0.4s, transform .25s .25s;
+ top: 0px;
+ transform: rotateZ(45deg);
+}
\ No newline at end of file
diff --git a/PUB/css/le_form.min.css b/PUB/css/le_form.min.css
new file mode 100644
index 0000000..5cb54cd
--- /dev/null
+++ b/PUB/css/le_form.min.css
@@ -0,0 +1 @@
+body{font-family:sans-serif}button,input,select,textarea{border:1px solid #b8b8b8;border-radius:0;-webkit-border-radius:0;border-radius:0;padding:1px 5px;height:40px;box-sizing:border-box;font-family:inherit;font-size:16px}textarea{min-height:200px;padding:8px 8px}select{-webkit-appearance:none;-moz-appearance:none;padding-right:20px;background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2224%22%20height%3D%2216%22%20viewBox%3D%220%200%2024%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23666%22%20points%3D%2212%201%209%206%2015%206%22%20%2F%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23666%22%20points%3D%2212%2013%209%208%2015%208%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"),linear-gradient(to bottom,#fff 0,#fff 100%);background-repeat:no-repeat;background-size:30px auto,100%;background-position:right -5px top 50%,0 0}input[type=checkbox],input[type=radio]{display:inline-block;height:16px;width:16px;overflow:hidden;margin-top:-1px;vertical-align:middle;-webkit-appearance:none;-moz-appearance:none;background-color:transparent;background-repeat:no-repeat;background-position:50% 50%;border:1px solid #ccc;transition:.2s ease-in-out;transition-property:all;transition-property:background-color,border;margin-right:4px}input[type=radio]{border-radius:50%;margin-top:-4px}input[type=radio]:checked{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Ccircle%20fill%3D%22%23fff%22%20cx%3D%228%22%20cy%3D%228%22%20r%3D%222%22%20%2F%3E%0A%3C%2Fsvg%3E");background-color:#1e87f0;border-color:transparent;background-size:30px auto}input[type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2214%22%20height%3D%2211%22%20viewBox%3D%220%200%2014%2011%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23fff%22%20points%3D%2212%201%205%207.5%202%205%201%205.5%205%2010%2013%201.5%22%20%2F%3E%0A%3C%2Fsvg%3E%0A");background-color:#1e87f0;border-color:transparent}input:focus:not([type=checkbox]):not([type=radio]),select:focus,textarea:focus{outline:0;border-color:#70aae4;box-shadow:inset 0 0 3px -2px #117de9}.le_form{display:block;overflow:hidden;margin:10px 0;padding:25px;color:#555}.le_form_head{display:block;font-size:150%;padding-bottom:10px;border-bottom:1px solid #d9d9d9;margin-bottom:20px}.le_shadow{box-shadow:0 2px 10px rgba(94,94,94,.08);border:1px solid #ececec}.le_he .le_inp{margin-left:300px}.le_fl{font-size:14px}.le_he .le_fl{width:290px;float:left;display:flex;align-items:center;min-height:40px}.le_he,.le_ve{margin-bottom:25px;overflow:hidden;border-bottom:1px solid #e9e9e9;padding-bottom:25px}.le_ve .le_fl{margin-bottom:3px;display:block}.le_inp input:not([type=checkbox]):not([type=radio]),.le_inp select,.le_inp textarea{max-width:100%;width:100%}.le_me label{display:block;padding-top:8px}.le_meh label{float:left;margin-right:10px}.le_he{display:flex;flex-wrap:wrap}.le_he .le_fl{min-width:200px;flex:40%;flex-grow:1}.le_he .le_inp{margin-left:0;flex-grow:1;min-width:200px;flex:60%}.le_fl sup{color:red;font-size:17px;font-weight:700;padding-left:2px}.le_btn{display:inline-block;font-weight:400;text-align:center;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid #c9c9c9;padding:.375rem .75rem;font-size:1rem;line-height:1.5;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;background-color:#f9f9f9;background:linear-gradient(to bottom,#f9f9f9,#f9f9f9)}.le_btn:hover{background:linear-gradient(to bottom,#f9f9f9,#f3f3f3);border-color:#b5b5b5}#nav-icon6{width:60px;height:45px;position:relative;transition-duration:1s;margin:48px auto 12px auto;cursor:pointer}#nav-icon6 span{height:9px;width:60px;background-color:#337ab7;border-radius:20px;position:absolute;transition-duration:.25s;transition-delay:.25s}#nav-icon6 span:before{left:0;position:absolute;top:-18px;height:9px;width:60px;background-color:#337ab7;content:"";border-radius:20px;transition-duration:.25s;transition:transform .25s,top .25s .25s}#nav-icon6 span:after{left:0;position:absolute;top:18px;height:9px;width:60px;background-color:#337ab7;content:"";border-radius:20px;transition-duration:.25s;transition:transform .25s,top .25s .25s}#nav-icon6.open span{transition-duration:.1s;transition-delay:.25s;background:0 0}#nav-icon6.open span:before{transition:top .25s,transform .25s .25s;top:0;transform:rotateZ(-45deg)}#nav-icon6.open span:after{transition:top .4s,transform .25s .25s;top:0;transform:rotateZ(45deg)}
\ No newline at end of file
diff --git a/PUB/css/reset.css b/PUB/css/reset.css
new file mode 100644
index 0000000..ee9ce86
--- /dev/null
+++ b/PUB/css/reset.css
@@ -0,0 +1,369 @@
+/* http://meyerweb.com/eric/tools/css/reset/
+ v2.0-modified | 20110126
+ License: none (public domain)
+*/
+
+html, body, div, span, applet, object, iframe,
+h1, h2, h3, h4, h5, h6, p, blockquote, pre,
+a, abbr, acronym, address, big, cite, code,
+del, dfn, em, img, ins, kbd, q, s, samp,
+small, strike, strong, sub, sup, tt, var,
+b, u, i, center,
+dl, dt, dd, ol, ul, li,
+fieldset, form, label, legend,
+table, caption, tbody, tfoot, thead, tr, th, td,
+article, aside, canvas, details, embed,
+figure, figcaption, footer, header, hgroup,
+menu, nav, output, ruby, section, summary,
+time, mark, audio, video {
+ margin: 0;
+ padding: 0;
+ border: 0;
+ font-size: 100%;
+ font: inherit;
+ vertical-align: baseline;
+}
+
+/* make sure to set some focus styles for accessibility */
+:focus {
+ outline: 0;
+}
+
+/* HTML5 display-role reset for older browsers */
+article, aside, details, figcaption, figure,
+footer, header, hgroup, menu, nav, section {
+ display: block;
+}
+
+body {
+ line-height: 1;
+}
+
+ol, ul {
+ list-style: none;
+}
+
+blockquote, q {
+ quotes: none;
+}
+
+blockquote:before, blockquote:after,
+q:before, q:after {
+ content: '';
+ content: none;
+}
+
+table {
+ border-collapse: collapse;
+ border-spacing: 0;
+}
+
+input[type=search]::-webkit-search-cancel-button,
+input[type=search]::-webkit-search-decoration,
+input[type=search]::-webkit-search-results-button,
+input[type=search]::-webkit-search-results-decoration {
+ -webkit-appearance: none;
+ -moz-appearance: none;
+}
+
+input[type=search] {
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ -webkit-box-sizing: content-box;
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
+}
+
+textarea {
+ overflow: auto;
+ vertical-align: top;
+ resize: vertical;
+}
+
+/**
+ * Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3.
+ */
+
+audio,
+canvas,
+video {
+ display: inline-block;
+ *display: inline;
+ *zoom: 1;
+ max-width: 100%;
+}
+
+/**
+ * Prevent modern browsers from displaying `audio` without controls.
+ * Remove excess height in iOS 5 devices.
+ */
+
+audio:not([controls]) {
+ display: none;
+ height: 0;
+}
+
+/**
+ * Address styling not present in IE 7/8/9, Firefox 3, and Safari 4.
+ * Known issue: no IE 6 support.
+ */
+
+[hidden] {
+ display: none;
+}
+
+/**
+ * 1. Correct text resizing oddly in IE 6/7 when body `font-size` is set using
+ * `em` units.
+ * 2. Prevent iOS text size adjust after orientation change, without disabling
+ * user zoom.
+ */
+
+html {
+ font-size: 100%; /* 1 */
+ -webkit-text-size-adjust: 100%; /* 2 */
+ -ms-text-size-adjust: 100%; /* 2 */
+}
+
+/**
+ * Address `outline` inconsistency between Chrome and other browsers.
+ */
+
+a:focus {
+ outline: thin dotted;
+}
+
+/**
+ * Improve readability when focused and also mouse hovered in all browsers.
+ */
+
+a:active,
+a:hover {
+ outline: 0;
+}
+
+/**
+ * 1. Remove border when inside `a` element in IE 6/7/8/9 and Firefox 3.
+ * 2. Improve image quality when scaled in IE 7.
+ */
+
+img {
+ border: 0; /* 1 */
+ -ms-interpolation-mode: bicubic; /* 2 */
+}
+
+/**
+ * Address margin not present in IE 6/7/8/9, Safari 5, and Opera 11.
+ */
+
+figure {
+ margin: 0;
+}
+
+/**
+ * Correct margin displayed oddly in IE 6/7.
+ */
+
+form {
+ margin: 0;
+}
+
+/**
+ * Define consistent border, margin, and padding.
+ */
+
+fieldset {
+ border: 1px solid #c0c0c0;
+ margin: 0 2px;
+ padding: 0.35em 0.625em 0.75em;
+}
+
+/**
+ * 1. Correct color not being inherited in IE 6/7/8/9.
+ * 2. Correct text not wrapping in Firefox 3.
+ * 3. Correct alignment displayed oddly in IE 6/7.
+ */
+
+legend {
+ border: 0; /* 1 */
+ padding: 0;
+ white-space: normal; /* 2 */
+ *margin-left: -7px; /* 3 */
+}
+
+/**
+ * 1. Correct font size not being inherited in all browsers.
+ * 2. Address margins set differently in IE 6/7, Firefox 3+, Safari 5,
+ * and Chrome.
+ * 3. Improve appearance and consistency in all browsers.
+ */
+
+button,
+input,
+select,
+textarea {
+ font-size: 100%; /* 1 */
+ margin: 0; /* 2 */
+ vertical-align: baseline; /* 3 */
+ *vertical-align: middle; /* 3 */
+}
+
+/**
+ * Address Firefox 3+ setting `line-height` on `input` using `!important` in
+ * the UA stylesheet.
+ */
+
+button,
+input {
+ line-height: normal;
+ border-radius: 0;
+ border: 1px solid rgb(187, 183, 183);
+ background: #fff;
+}
+
+/**
+ * Address inconsistent `text-transform` inheritance for `button` and `select`.
+ * All other form control elements do not inherit `text-transform` values.
+ * Correct `button` style inheritance in Chrome, Safari 5+, and IE 6+.
+ * Correct `select` style inheritance in Firefox 4+ and Opera.
+ */
+
+button,
+select {
+ text-transform: none;
+}
+
+/**
+ * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
+ * and `video` controls.
+ * 2. Correct inability to style clickable `input` types in iOS.
+ * 3. Improve usability and consistency of cursor style between image-type
+ * `input` and others.
+ * 4. Remove inner spacing in IE 7 without affecting normal text inputs.
+ * Known issue: inner spacing remains in IE 6.
+ */
+
+button,
+html input[type="button"], /* 1 */
+input[type="reset"],
+input[type="submit"] {
+ -webkit-appearance: button; /* 2 */
+ cursor: pointer; /* 3 */
+ *overflow: visible; /* 4 */
+}
+
+/**
+ * Re-set default cursor for disabled elements.
+ */
+
+button[disabled],
+html input[disabled] {
+ cursor: default;
+}
+
+/**
+ * 1. Address box sizing set to content-box in IE 8/9.
+ * 2. Remove excess padding in IE 8/9.
+ * 3. Remove excess padding in IE 7.
+ * Known issue: excess padding remains in IE 6.
+ */
+
+input[type="checkbox"],
+input[type="radio"] {
+ box-sizing: border-box; /* 1 */
+ padding: 0; /* 2 */
+ *height: 13px; /* 3 */
+ *width: 13px; /* 3 */
+}
+
+/**
+ * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
+ * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
+ * (include `-moz` to future-proof).
+ */
+
+input[type="search"] {
+ -webkit-appearance: textfield; /* 1 */
+ -moz-box-sizing: content-box;
+ -webkit-box-sizing: content-box; /* 2 */
+ box-sizing: content-box;
+}
+
+/**
+ * Remove inner padding and search cancel button in Safari 5 and Chrome
+ * on OS X.
+ */
+
+input[type="search"]::-webkit-search-cancel-button,
+input[type="search"]::-webkit-search-decoration {
+ -webkit-appearance: none;
+}
+
+/**
+ * Remove inner padding and border in Firefox 3+.
+ */
+
+button::-moz-focus-inner,
+input::-moz-focus-inner {
+ border: 0;
+ padding: 0;
+}
+
+/**
+ * 1. Remove default vertical scrollbar in IE 6/7/8/9.
+ * 2. Improve readability and alignment in all browsers.
+ */
+
+textarea {
+ overflow: auto; /* 1 */
+ vertical-align: top; /* 2 */
+}
+
+/**
+ * Remove most spacing between table cells.
+ */
+
+table {
+ border-collapse: collapse;
+ border-spacing: 0;
+}
+
+html,
+button,
+input,
+select,
+textarea {
+ color: #222;
+}
+
+
+::-moz-selection {
+ background: #b3d4fc;
+ text-shadow: none;
+}
+
+::selection {
+ background: #b3d4fc;
+ text-shadow: none;
+}
+
+img {
+ vertical-align: middle;
+}
+
+fieldset {
+ border: 0;
+ margin: 0;
+ padding: 0;
+}
+
+textarea {
+ resize: vertical;
+}
+
+.chromeframe {
+ margin: 0.2em 0;
+ background: #ccc;
+ color: #000;
+ padding: 0.2em 0;
+}
\ No newline at end of file
diff --git a/PUB/css/reset.min.css b/PUB/css/reset.min.css
new file mode 100644
index 0000000..01b7247
--- /dev/null
+++ b/PUB/css/reset.min.css
@@ -0,0 +1 @@
+a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}:focus{outline:0}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}table{border-collapse:collapse;border-spacing:0}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration,input[type=search]::-webkit-search-results-button,input[type=search]::-webkit-search-results-decoration{-webkit-appearance:none;-moz-appearance:none}input[type=search]{-webkit-appearance:none;-moz-appearance:none;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}textarea{overflow:auto;vertical-align:top;resize:vertical}audio,canvas,video{display:inline-block;max-width:100%}audio:not([controls]){display:none;height:0}[hidden]{display:none}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}a:focus{outline:thin dotted}a:active,a:hover{outline:0}img{border:0;-ms-interpolation-mode:bicubic}figure{margin:0}form{margin:0}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0;white-space:normal}button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline}button,input{line-height:normal;border-radius:0;border:1px solid #bbb7b7;background:#fff}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}button,html,input,select,textarea{color:#222}::-moz-selection{background:#b3d4fc;text-shadow:none}::selection{background:#b3d4fc;text-shadow:none}img{vertical-align:middle}fieldset{border:0;margin:0;padding:0}textarea{resize:vertical}.chromeframe{margin:.2em 0;background:#ccc;color:#000;padding:.2em 0}
\ No newline at end of file
diff --git a/PUB/css/top_menu.css b/PUB/css/top_menu.css
new file mode 100644
index 0000000..e69de29
diff --git a/PUB/css/txt_cont.css b/PUB/css/txt_cont.css
new file mode 100644
index 0000000..1d7394c
--- /dev/null
+++ b/PUB/css/txt_cont.css
@@ -0,0 +1,153 @@
+/*text block*/
+.txt_cont
+ {
+ overflow: hidden;
+ font-size: 20px;
+ color:#404040;
+}
+/*heading*/
+.txt_cont h1 {font-size:2em;}
+.txt_cont h2 {font-size:1.6em;}
+.txt_cont h3 {font-size:1.4em;}
+.txt_cont h4 {font-size:1.1em;}
+
+.txt_cont p {
+ /*text-indent:1em;*/
+ font-size: 1em;
+ line-height: 1.5em;
+}
+
+/*image*/
+.txt_cont img {
+
+display: block;
+margin: 0 auto;
+max-width: 100%;
+min-width: 50px;
+}
+
+
+.txt_cont .image {
+ display: table;
+ clear: both;
+ text-align: center;
+ margin: 1em auto;
+ /*border: 1px solid #e6e6e6;*/
+ box-shadow: 0 0 6px 1px #aeaeae;
+}
+
+/*image float*/
+.ck-content .image-style-side,
+.txt_cont .image-style-side
+{
+ float:right;
+ margin-left:1.5em;
+ margin-top:0.2em !important;
+
+}
+
+.txt_cont .image > figcaption {
+ display:table-caption;
+ caption-side: bottom;
+ word-break: break-word;
+ color: #333;
+ background-color: #f7f7f7;
+ padding: .6em;
+ font-size: .75em;
+ outline-offset: -1px;
+ box-shadow: 0 0 6px 1px #aeaeae;
+}
+
+
+
+.txt_cont figure.table {margin:0;}
+
+
+/*video*/
+.txt_cont .media {
+ clear: both;
+ margin: 1em 0;
+ display: block;
+ min-width: 15em;
+}
+
+
+.txt_cont figure.table
+{
+ display: table;
+}
+
+
+.ck-content .table table td,
+.ck-content .table table th,
+.txt_cont .table table td,
+.txt_cont .table table th
+
+{
+ min-width: 2em;
+ padding: .4em;
+ border: 1px solid #bfbfbf;
+}
+
+.txt_cont table { border-collapse: collapse; width: 100%; }
+
+
+.ck-content .table table th ,
+.txt_cont .table table th
+{
+ font-weight: 700;
+ background: hsla(0,0%,0%,5%);
+}
+
+.txt_cont .table th {
+ text-align: left;
+}
+
+
+
+.txt_cont hr {
+ margin: 15px 0;
+ height: 4px;
+ background: #dedede;
+ border: 0;
+}
+
+.txt_cont code {
+ background-color: hsla(0,0%,78%,.3);
+ padding: .15em;
+ border-radius: 2px;
+}
+
+.txt_cont pre {
+ padding: 1em;
+ color: #353535;
+ background: hsla(0,0%,78%,.3);
+ border: 1px solid #c4c4c4;
+ border-radius: 2px;
+ text-align: left;
+ direction: ltr;
+ tab-size: 4;
+ white-space: pre-wrap;
+ font-style: normal;
+ min-width: 200px;
+ position: relative;
+}
+
+.txt_cont pre code {
+ background-color: transparent;
+}
+
+.txt_cont ul {
+ list-style-type: disc;
+ padding-left:18px;
+}
+
+.txt_cont blockquote {
+ overflow: hidden;
+ padding-right: 1.5em;
+ padding-left: 1.5em;
+ margin-left: 0;
+ margin-right: 0;
+ font-style: italic;
+ border-left: 5px solid #ccc;
+}
\ No newline at end of file
diff --git a/PUB/css/txt_cont.min.css b/PUB/css/txt_cont.min.css
new file mode 100644
index 0000000..54f661e
--- /dev/null
+++ b/PUB/css/txt_cont.min.css
@@ -0,0 +1 @@
+.txt_cont{overflow:hidden;font-size:20px;color:#404040}.txt_cont h1{font-size:2em}.txt_cont h2{font-size:1.6em}.txt_cont h3{font-size:1.4em}.txt_cont h4{font-size:1.1em}.txt_cont p{font-size:1em;line-height:1.5em}.txt_cont img{display:block;margin:0 auto;max-width:100%;min-width:50px}.txt_cont .image{display:table;clear:both;text-align:center;margin:1em auto;box-shadow:0 0 6px 1px #aeaeae}.ck-content .image-style-side,.txt_cont .image-style-side{float:right;margin-left:1.5em;margin-top:.2em!important}.txt_cont .image>figcaption{display:table-caption;caption-side:bottom;word-break:break-word;color:#333;background-color:#f7f7f7;padding:.6em;font-size:.75em;outline-offset:-1px;box-shadow:0 0 6px 1px #aeaeae}.txt_cont figure.table{margin:0}.txt_cont .media{clear:both;margin:1em 0;display:block;min-width:15em}.txt_cont figure.table{display:table}.ck-content .table table td,.ck-content .table table th,.txt_cont .table table td,.txt_cont .table table th{min-width:2em;padding:.4em;border:1px solid #bfbfbf}.txt_cont table{border-collapse:collapse;width:100%}.ck-content .table table th,.txt_cont .table table th{font-weight:700;background:hsla(0,0%,0%,5%)}.txt_cont .table th{text-align:left}.txt_cont hr{margin:15px 0;height:4px;background:#dedede;border:0}.txt_cont code{background-color:hsla(0,0%,78%,.3);padding:.15em;border-radius:2px}.txt_cont pre{padding:1em;color:#353535;background:hsla(0,0%,78%,.3);border:1px solid #c4c4c4;border-radius:2px;text-align:left;direction:ltr;tab-size:4;white-space:pre-wrap;font-style:normal;min-width:200px;position:relative}.txt_cont pre code{background-color:transparent}.txt_cont ul{list-style-type:disc;padding-left:18px}.txt_cont blockquote{overflow:hidden;padding-right:1.5em;padding-left:1.5em;margin-left:0;margin-right:0;font-style:italic;border-left:5px solid #ccc}
\ No newline at end of file
diff --git a/PUB/js/ckeditor5.js b/PUB/js/ckeditor5.js
new file mode 100644
index 0000000..e660ddf
--- /dev/null
+++ b/PUB/js/ckeditor5.js
@@ -0,0 +1,6 @@
+/*!
+ * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.
+ * For licensing, see LICENSE.md.
+ */
+(function(t){const e=t["ru"]=t["ru"]||{};e.dictionary=Object.assign(e.dictionary||{},{"%0 of %1":"%0 из %1","Align cell text to the bottom":"Выровнять текст ячейки по нижнему краю","Align cell text to the center":"Выровнять текст по центру","Align cell text to the left":"Выровнять текст по левому краю","Align cell text to the middle":"Выровнять текст ячейки по центру","Align cell text to the right":"Выровнять текст по правому краю","Align cell text to the top":"Выровнять текст ячейки по верхнему краю","Align center":"Выравнивание по центру","Align left":"Выравнивание по левому краю","Align right":"Выравнивание по правому краю","Align table to the left":"Выровнять таблицу по левому краю","Align table to the right":"Выровнять таблицу по правому краю",Alignment:"Выравнивание",Aquamarine:"Аквамариновый",Background:"Фон",Black:"Чёрный","Block quote":"Цитата",Blue:"Синий",Bold:"Жирный",Border:"Граница","Bulleted List":"Маркированный список","Bulleted list styles toolbar":"Стили маркированного списка",Cancel:"Отмена","Cell properties":"Свойства ячейки","Center table":"Выровнять таблицу по центру","Centered image":"Выравнивание по центру","Change image text alternative":"Редактировать альтернативный текст","Choose heading":"Выбор стиля",Circle:"Окружность",Code:"Исходный код",Color:"Цвет","Color picker":"Выбор цвета",Column:"Столбец",Dashed:"Пунктирная",Decimal:"Десятичный","Decimal with leading zero":"Десятичный с ведущим нулем","Decrease indent":"Уменьшить отступ","Delete column":"Удалить столбец","Delete row":"Удалить строку","Dim grey":"Тёмно-серый",Dimensions:"Размеры",Disc:"Диск","Document colors":"Цвет страницы",Dotted:"Точечная",Double:"Двойная",Downloadable:"Загружаемые","Dropdown toolbar":"Выпадающая панель инструментов","Edit block":"Редактировать блок","Edit link":"Редактировать ссылку","Edit source":"Изменить код","Editor toolbar":"Панель инструментов редактора","Empty snippet content":"","Enter image caption":"Подпись к изображению","Font Color":"Цвет шрифта","Full size image":"Оригинальный размер изображения",Green:"Зелёный",Grey:"Серый",Groove:"Желобчатая","Header column":"Столбец заголовков","Header row":"Строка заголовков",Heading:"Стиль","Heading 1":"Заголовок 1","Heading 2":"Заголовок 2","Heading 3":"Заголовок 3","Heading 4":"Заголовок 4","Heading 5":"Заголовок 5","Heading 6":"Заголовок 6",Height:"Высота","Horizontal line":"Горизонтальная линия","Horizontal text alignment toolbar":"Панель инструментов горизонтального выравнивания текста","HTML snippet":"HTML сниппет","Image resize list":"Список размеров","Image toolbar":"Панель инструментов изображения","image widget":"Виджет изображений","Increase indent":"Увеличить отступ",Insert:"Вставить","Insert code block":"Вставить код","Insert column left":"Вставить столбец слева","Insert column right":"Вставить столбец справа","Insert HTML":"Вставить HTML","Insert image":"Вставить изображение","Insert image via URL":"Вставить изображение по URL","Insert media":"Вставить медиа","Insert paragraph after block":"Вставить параграф после блока","Insert paragraph before block":"Вставить параграф перед блоком","Insert row above":"Вставить строку выше","Insert row below":"Вставить строку ниже","Insert table":"Вставить таблицу",Inset:"Вдавленная",Italic:"Курсив",Justify:"Выравнивание по ширине","Justify cell text":"Выровнять текст по ширине","Left aligned image":"Выравнивание по левому краю","Light blue":"Голубой","Light green":"Салатовый","Light grey":"Светло-серый",Link:"Ссылка","Link image":"Ссылка на изображение","Link URL":"Ссылка URL","Lower-latin":"Малые латинские","Lower–roman":"Малые римские","Media toolbar":"Панель инструментов медиа","Media URL":"URL медиа","media widget":"медиа-виджет","Merge cell down":"Объединить с ячейкой снизу","Merge cell left":"Объединить с ячейкой слева","Merge cell right":"Объединить с ячейкой справа","Merge cell up":"Объединить с ячейкой сверху","Merge cells":"Объединить ячейки",Next:"Следующий","No preview available":"",None:"Нет","Numbered List":"Нумерованный список","Numbered list styles toolbar":"Стили нумерованного списка","Open in a new tab":"Открыть в новой вкладке","Open link in new tab":"Открыть ссылку в новой вкладке",Orange:"Оранжевый",Original:"Оригинальный",Outset:"Выпуклая",Padding:"Отступ",Paragraph:"Параграф","Paste raw HTML here...":"Вставьте HTML код сюда...","Paste the media URL in the input.":"Вставьте URL медиа в поле ввода.","Plain text":"Простой текст",Previous:"Предыдущий",Purple:"Фиолетовый",Red:"Красный",Redo:"Повторить","Remove color":"Убрать цвет","Remove Format":"Убрать форматирование","Resize image":"Изменить размер изображения","Resize image to %0":"Изменить размер изображения до %0","Resize image to the original size":"Вернуть размер изображения к оригинальному","Rich Text Editor":"Редактор","Rich Text Editor, %0":"Редактор, %0",Ridge:"Ребристая","Right aligned image":"Выравнивание по правому краю",Row:"Строка",Save:"Сохранить","Save changes":"Сохранить изменения","Select all":"Выбрать все","Select column":"Выбрать столбец","Select row":"Выбрать строку","Show more items":"Другие инструменты","Side image":"Боковое изображение",Solid:"Сплошная","Split cell horizontally":"Разделить ячейку горизонтально","Split cell vertically":"Разделить ячейку вертикально",Square:"Квадрат",Strikethrough:"Зачеркнутый",Style:"Стиль",Subscript:"Подстрочный",Superscript:"Надстрочный","Table alignment toolbar":"Панель инструментов выравнивания таблицы","Table cell text alignment":"Выравнивание текста в ячейке таблицы","Table properties":"Свойства таблицы","Table toolbar":"Панель инструментов таблицы","Text alignment":"Выравнивание текста","Text alignment toolbar":"Выравнивание","Text alternative":"Альтернативный текст",'The color is invalid. Try "#FF0000" or "rgb(255,0,0)" or "red".':'Неверный цвет. Попробуйте "#FF0000" или "rgb(255,0,0)" или "red".',"The URL must not be empty.":"URL не должен быть пустым.",'The value is invalid. Try "10px" or "2em" or simply "2".':'Неверное значение. Попробуйте "10px" или "2em" или просто "2".',"This link has no URL":"Для этой ссылки не установлен адрес URL","This media URL is not supported.":"Этот URL медиа не поддерживается.","Tip: Paste the URL into the content to embed faster.":"Подсказка: Вставьте URL в контент для быстрого включения.","Toggle the circle list style":"","Toggle the decimal list style":"","Toggle the decimal with leading zero list style":"","Toggle the disc list style":"","Toggle the lower–latin list style":"","Toggle the lower–roman list style":"","Toggle the square list style":"","Toggle the upper–latin list style":"","Toggle the upper–roman list style":"",Turquoise:"Бирюзовый","Type or paste your content here.":"Введите или вставьте сюда ваш текст","Type your title":"Введите заголовок",Underline:"Подчеркнутый",Undo:"Отменить",Unlink:"Убрать ссылку",Update:"Изменить","Update image URL":"Изменить URL изображения","Upload failed":"Загрузка не выполнена","Upload in progress":"Идёт загрузка","Upper-latin":"Большие латинские","Upper-roman":"Большие римские","Vertical text alignment toolbar":"Панель инструментов вертикального выравнивания текста",White:"Белый","Widget toolbar":"Панель инструментов виджета",Width:"Ширина",Yellow:"Жёлтый"});e.getPluralForm=function(t){return t%10==1&&t%100!=11?0:t%10>=2&&t%10<=4&&(t%100<12||t%100>14)?1:t%10==0||t%10>=5&&t%10<=9||t%100>=11&&t%100<=14?2:3}})(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["BalloonBlockEditor"]=n();else e["BalloonBlockEditor"]=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=77)}([function(t,e,n){"use strict";n.d(e,"a",(function(){return i}));n.d(e,"b",(function(){return r}));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;nt.length)e=t.length;for(var n=0,o=new Array(e);n [element]\n\t * +----------+\n\t */\n\t&.ck-tooltip_w {\n\t\tright: calc(100% + var(--ck-tooltip-arrow-size));\n\t\tleft: auto;\n\t\ttop: 50%;\n\n\t\t& .ck-tooltip__text {\n\t\t\tleft: 0;\n\t\t\ttransform: translateY( -50% );\n\n\t\t\t&::after {\n\t\t\t\tleft: 100%;\n\t\t\t\ttop: calc(50% - 1 * var(--ck-tooltip-arrow-size));\n\t\t\t\tborder-color: transparent transparent transparent var(--ck-color-tooltip-background);\n\t\t\t\tborder-width: var(--ck-tooltip-arrow-size) 0 var(--ck-tooltip-arrow-size) var(--ck-tooltip-arrow-size);\n\t\t\t}\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);e["a"]=a},function(t,e,n){"use strict";var o=n(2);var i=n.n(o);var r=n(3);var s=n.n(r);var a=s()(i.a);a.push([t.i,".ck.ck-button,a.ck.ck-button{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.ck.ck-button .ck-tooltip,a.ck.ck-button .ck-tooltip{display:block}@media (hover:none){.ck.ck-button .ck-tooltip,a.ck.ck-button .ck-tooltip{display:none}}.ck.ck-button,a.ck.ck-button{position:relative;display:inline-flex;align-items:center;justify-content:left}.ck.ck-button .ck-button__label,a.ck.ck-button .ck-button__label{display:none}.ck.ck-button.ck-button_with-text .ck-button__label,a.ck.ck-button.ck-button_with-text .ck-button__label{display:inline-block}.ck.ck-button:not(.ck-button_with-text),a.ck.ck-button:not(.ck-button_with-text){justify-content:center}.ck.ck-button:hover .ck-tooltip,a.ck.ck-button:hover .ck-tooltip{visibility:visible;opacity:1}.ck.ck-button:focus:not(:hover) .ck-tooltip,a.ck.ck-button:focus:not(:hover) .ck-tooltip{display:none}.ck.ck-button,a.ck.ck-button{background:var(--ck-color-button-default-background)}.ck.ck-button:not(.ck-disabled):hover,a.ck.ck-button:not(.ck-disabled):hover{background:var(--ck-color-button-default-hover-background)}.ck.ck-button:not(.ck-disabled):active,a.ck.ck-button:not(.ck-disabled):active{background:var(--ck-color-button-default-active-background);box-shadow:inset 0 2px 2px var(--ck-color-button-default-active-shadow)}.ck.ck-button.ck-disabled,a.ck.ck-button.ck-disabled{background:var(--ck-color-button-default-disabled-background)}.ck.ck-button,a.ck.ck-button{border-radius:0}.ck-rounded-corners .ck.ck-button,.ck-rounded-corners a.ck.ck-button,.ck.ck-button.ck-rounded-corners,a.ck.ck-button.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-button,a.ck.ck-button{white-space:nowrap;cursor:default;vertical-align:middle;padding:var(--ck-spacing-tiny);text-align:center;min-width:var(--ck-ui-component-min-height);min-height:var(--ck-ui-component-min-height);line-height:1;font-size:inherit;border:1px solid transparent;transition:box-shadow .2s ease-in-out,border .2s ease-in-out;-webkit-appearance:none}.ck.ck-button:active,.ck.ck-button:focus,a.ck.ck-button:active,a.ck.ck-button:focus{outline:none;border:var(--ck-focus-ring);box-shadow:var(--ck-focus-outer-shadow),0 0}.ck.ck-button .ck-button__icon use,.ck.ck-button .ck-button__icon use *,a.ck.ck-button .ck-button__icon use,a.ck.ck-button .ck-button__icon use *{color:inherit}.ck.ck-button .ck-button__label,a.ck.ck-button .ck-button__label{font-size:inherit;font-weight:inherit;color:inherit;cursor:inherit;vertical-align:middle}[dir=ltr] .ck.ck-button .ck-button__label,[dir=ltr] a.ck.ck-button .ck-button__label{text-align:left}[dir=rtl] .ck.ck-button .ck-button__label,[dir=rtl] a.ck.ck-button .ck-button__label{text-align:right}.ck.ck-button .ck-button__keystroke,a.ck.ck-button .ck-button__keystroke{color:inherit}[dir=ltr] .ck.ck-button .ck-button__keystroke,[dir=ltr] a.ck.ck-button .ck-button__keystroke{margin-left:var(--ck-spacing-large)}[dir=rtl] .ck.ck-button .ck-button__keystroke,[dir=rtl] a.ck.ck-button .ck-button__keystroke{margin-right:var(--ck-spacing-large)}.ck.ck-button .ck-button__keystroke,a.ck.ck-button .ck-button__keystroke{font-weight:700;opacity:.7}.ck.ck-button.ck-disabled:active,.ck.ck-button.ck-disabled:focus,a.ck.ck-button.ck-disabled:active,a.ck.ck-button.ck-disabled:focus{box-shadow:var(--ck-focus-disabled-outer-shadow),0 0}.ck.ck-button.ck-disabled .ck-button__icon,a.ck.ck-button.ck-disabled .ck-button__icon{opacity:var(--ck-disabled-opacity)}.ck.ck-button.ck-disabled .ck-button__label,a.ck.ck-button.ck-disabled .ck-button__label{opacity:var(--ck-disabled-opacity)}.ck.ck-button.ck-disabled .ck-button__keystroke,a.ck.ck-button.ck-disabled .ck-button__keystroke{opacity:.3}.ck.ck-button.ck-button_with-text,a.ck.ck-button.ck-button_with-text{padding:var(--ck-spacing-tiny) var(--ck-spacing-standard)}[dir=ltr] .ck.ck-button.ck-button_with-text .ck-button__icon,[dir=ltr] a.ck.ck-button.ck-button_with-text .ck-button__icon{margin-left:calc(var(--ck-spacing-small)*-1);margin-right:var(--ck-spacing-small)}[dir=rtl] .ck.ck-button.ck-button_with-text .ck-button__icon,[dir=rtl] a.ck.ck-button.ck-button_with-text .ck-button__icon{margin-right:calc(var(--ck-spacing-small)*-1);margin-left:var(--ck-spacing-small)}.ck.ck-button.ck-button_with-keystroke .ck-button__label,a.ck.ck-button.ck-button_with-keystroke .ck-button__label{flex-grow:1}.ck.ck-button.ck-on,a.ck.ck-button.ck-on{background:var(--ck-color-button-on-background)}.ck.ck-button.ck-on:not(.ck-disabled):hover,a.ck.ck-button.ck-on:not(.ck-disabled):hover{background:var(--ck-color-button-on-hover-background)}.ck.ck-button.ck-on:not(.ck-disabled):active,a.ck.ck-button.ck-on:not(.ck-disabled):active{background:var(--ck-color-button-on-active-background);box-shadow:inset 0 2px 2px var(--ck-color-button-on-active-shadow)}.ck.ck-button.ck-on.ck-disabled,a.ck.ck-button.ck-on.ck-disabled{background:var(--ck-color-button-on-disabled-background)}.ck.ck-button.ck-button-save,a.ck.ck-button.ck-button-save{color:var(--ck-color-button-save)}.ck.ck-button.ck-button-cancel,a.ck.ck-button.ck-button-cancel{color:var(--ck-color-button-cancel)}.ck.ck-button-action,a.ck.ck-button-action{background:var(--ck-color-button-action-background)}.ck.ck-button-action:not(.ck-disabled):hover,a.ck.ck-button-action:not(.ck-disabled):hover{background:var(--ck-color-button-action-hover-background)}.ck.ck-button-action:not(.ck-disabled):active,a.ck.ck-button-action:not(.ck-disabled):active{background:var(--ck-color-button-action-active-background);box-shadow:inset 0 2px 2px var(--ck-color-button-action-active-shadow)}.ck.ck-button-action.ck-disabled,a.ck.ck-button-action.ck-disabled{background:var(--ck-color-button-action-disabled-background)}.ck.ck-button-action,a.ck.ck-button-action{color:var(--ck-color-button-action-text)}.ck.ck-button-bold,a.ck.ck-button-bold{font-weight:700}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/button/button.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_unselectable.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/tooltip/mixins/_tooltip.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/button/button.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/mixins/_button.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_focus.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_disabled.css"],names:[],mappings:"AAQA,6BCCC,qBAAsB,CACtB,wBAAyB,CACzB,oBAAqB,CACrB,gBD6BD,CE/BC,qDACC,aAqBD,CAHC,oBAnBD,qDAoBE,YAEF,CADC,CFvBF,6BAKC,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,oBAyBD,CAvBC,iEACC,YACD,CAGC,yGACC,oBACD,CAID,iFACC,sBACD,CEkBA,iEACC,kBAAmB,CACnB,SACD,CAbA,yFACC,YACD,CC7BD,6BCAC,oDD0ID,CCvIE,6EACC,0DACD,CAEA,+EACC,2DAA4C,CAC5C,uEACD,CAID,qDACC,6DACD,CDhBD,6BEDC,eF2ID,CA1IA,wIEGE,qCFuIF,CA1IA,6BAKC,kBAAmB,CACnB,cAAe,CACf,qBAAsB,CACtB,8BAA+B,CAC/B,iBAAkB,CAGlB,2CAA4C,CAC5C,4CAA6C,CAI7C,aAAc,CAGd,iBAAkB,CAGlB,4BAA6B,CAG7B,4DAA8D,CAG9D,uBA6GD,CA3GC,oFGjCA,YAAa,CACb,2BAA2B,CCF3B,2CJsCA,CAIC,kJAEC,aACD,CAGD,iEAEC,iBAAkB,CAClB,mBAAoB,CACpB,aAAc,CACd,cAAe,CAIf,qBASD,CAlBA,qFAYE,eAMF,CAlBA,qFAgBE,gBAEF,CAEA,yEACC,aAYD,CAbA,6FAIE,mCASF,CAbA,6FAQE,oCAKF,CAbA,yEAWC,eAAiB,CACjB,UACD,CAIC,oIIrFD,oDJyFC,CAEA,uFK3FD,kCL6FC,CAGA,yFKhGD,kCLkGC,CAEA,iGACC,UACD,CAGD,qEACC,yDAcD,CAXC,2HAEE,4CAA+C,CAC/C,oCAOF,CAVA,2HAOE,6CAAgD,CAChD,mCAEF,CAKA,mHACC,WACD,CAID,yCC/HA,+CDiIA,CC9HC,yFACC,qDACD,CAEA,2FACC,sDAA4C,CAC5C,kEACD,CAID,iEACC,wDACD,CDmHA,2DACC,iCACD,CAEA,+DACC,mCACD,CAID,2CC7IC,mDDkJD,CC/IE,2FACC,yDACD,CAEA,6FACC,0DAA4C,CAC5C,sEACD,CAID,mEACC,4DACD,CD6HD,2CAIC,wCACD,CAEA,uCAEC,eACD",sourcesContent:['/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../mixins/_unselectable.css";\n@import "../tooltip/mixins/_tooltip.css";\n\n.ck.ck-button,\na.ck.ck-button {\n\t@mixin ck-unselectable;\n\t@mixin ck-tooltip_enabled;\n\n\tposition: relative;\n\tdisplay: inline-flex;\n\talign-items: center;\n\tjustify-content: left;\n\n\t& .ck-button__label {\n\t\tdisplay: none;\n\t}\n\n\t&.ck-button_with-text {\n\t\t& .ck-button__label {\n\t\t\tdisplay: inline-block;\n\t\t}\n\t}\n\n\t/* Center the icon horizontally in a button without text. */\n\t&:not(.ck-button_with-text) {\n\t\tjustify-content: center;\n\t}\n\n\t&:hover {\n\t\t@mixin ck-tooltip_visible;\n\t}\n\n\t/* Get rid of the native focus outline around the tooltip when focused (but not :hover). */\n\t&:focus:not(:hover) {\n\t\t@mixin ck-tooltip_disabled;\n\t}\n}\n',"/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Makes element unselectable.\n */\n@define-mixin ck-unselectable {\n\t-moz-user-select: none;\n\t-webkit-user-select: none;\n\t-ms-user-select: none;\n\tuser-select: none\n}\n","/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Enables the tooltip, which is the tooltip is in DOM but\n * not yet displayed.\n */\n@define-mixin ck-tooltip_enabled {\n\t& .ck-tooltip {\n\t\tdisplay: block;\n\n\t\t/*\n\t\t * Don't display tooltips in devices which don't support :hover.\n\t\t * In fact, it's all about iOS, which forces user to click UI elements twice to execute\n\t\t * the primary action, when tooltips are enabled.\n\t\t *\n\t\t * Q: OK, but why not the following query?\n\t\t *\n\t\t * @media (hover) {\n\t\t * display: block;\n\t\t * }\n\t\t *\n\t\t * A: Because FF does not support it and it would completely disable tooltips\n\t\t * in that browser.\n\t\t *\n\t\t * More in https://github.com/ckeditor/ckeditor5/issues/920.\n\t\t */\n\t\t@media (hover:none) {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n}\n\n/**\n * Disables the tooltip making it disappear from DOM.\n */\n@define-mixin ck-tooltip_disabled {\n\t& .ck-tooltip {\n\t\tdisplay: none;\n\t}\n}\n\n/**\n * Shows the tooltip, which is already in DOM.\n * Requires `ck-tooltip_enabled` first.\n */\n@define-mixin ck-tooltip_visible {\n\t& .ck-tooltip {\n\t\tvisibility: visible;\n\t\topacity: 1;\n\t}\n}\n",'/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_focus.css";\n@import "../../../mixins/_shadow.css";\n@import "../../../mixins/_disabled.css";\n@import "../../../mixins/_rounded.css";\n@import "../../mixins/_button.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n.ck.ck-button,\na.ck.ck-button {\n\t@mixin ck-button-colors --ck-color-button-default;\n\t@mixin ck-rounded-corners;\n\n\twhite-space: nowrap;\n\tcursor: default;\n\tvertical-align: middle;\n\tpadding: var(--ck-spacing-tiny);\n\ttext-align: center;\n\n\t/* A very important piece of styling. Go to variable declaration to learn more. */\n\tmin-width: var(--ck-ui-component-min-height);\n\tmin-height: var(--ck-ui-component-min-height);\n\n\t/* Normalize the height of the line. Removing this will break consistent height\n\tamong text and text-less buttons (with icons). */\n\tline-height: 1;\n\n\t/* Enable font size inheritance, which allows fluid UI scaling. */\n\tfont-size: inherit;\n\n\t/* Avoid flickering when the foucs border shows up. */\n\tborder: 1px solid transparent;\n\n\t/* Apply some smooth transition to the box-shadow and border. */\n\ttransition: box-shadow .2s ease-in-out, border .2s ease-in-out;\n\n\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/189 */\n\t-webkit-appearance: none;\n\n\t&:active,\n\t&:focus {\n\t\t@mixin ck-focus-ring;\n\t\t@mixin ck-box-shadow var(--ck-focus-outer-shadow);\n\t}\n\n\t/* Allow icon coloring using the text "color" property. */\n\t& .ck-button__icon {\n\t\t& use,\n\t\t& use * {\n\t\t\tcolor: inherit;\n\t\t}\n\t}\n\n\t& .ck-button__label {\n\t\t/* Enable font size inheritance, which allows fluid UI scaling. */\n\t\tfont-size: inherit;\n\t\tfont-weight: inherit;\n\t\tcolor: inherit;\n\t\tcursor: inherit;\n\n\t\t/* Must be consistent with .ck-icon\'s vertical align. Otherwise, buttons with and\n\t\twithout labels (but with icons) have different sizes in Chrome */\n\t\tvertical-align: middle;\n\n\t\t@mixin ck-dir ltr {\n\t\t\ttext-align: left;\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\ttext-align: right;\n\t\t}\n\t}\n\n\t& .ck-button__keystroke {\n\t\tcolor: inherit;\n\n\t\t@mixin ck-dir ltr {\n\t\t\tmargin-left: var(--ck-spacing-large);\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\tmargin-right: var(--ck-spacing-large);\n\t\t}\n\n\t\tfont-weight: bold;\n\t\topacity: .7;\n\t}\n\n\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/70 */\n\t&.ck-disabled {\n\t\t&:active,\n\t\t&:focus {\n\t\t\t/* The disabled button should have a slightly less visible shadow when focused. */\n\t\t\t@mixin ck-box-shadow var(--ck-focus-disabled-outer-shadow);\n\t\t}\n\n\t\t& .ck-button__icon {\n\t\t\t@mixin ck-disabled;\n\t\t}\n\n\t\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/98 */\n\t\t& .ck-button__label {\n\t\t\t@mixin ck-disabled;\n\t\t}\n\n\t\t& .ck-button__keystroke {\n\t\t\topacity: .3;\n\t\t}\n\t}\n\n\t&.ck-button_with-text {\n\t\tpadding: var(--ck-spacing-tiny) var(--ck-spacing-standard);\n\n\t\t/* stylelint-disable-next-line no-descending-specificity */\n\t\t& .ck-button__icon {\n\t\t\t@mixin ck-dir ltr {\n\t\t\t\tmargin-left: calc(-1 * var(--ck-spacing-small));\n\t\t\t\tmargin-right: var(--ck-spacing-small);\n\t\t\t}\n\n\t\t\t@mixin ck-dir rtl {\n\t\t\t\tmargin-right: calc(-1 * var(--ck-spacing-small));\n\t\t\t\tmargin-left: var(--ck-spacing-small);\n\t\t\t}\n\t\t}\n\t}\n\n\t&.ck-button_with-keystroke {\n\t\t/* stylelint-disable-next-line no-descending-specificity */\n\t\t& .ck-button__label {\n\t\t\tflex-grow: 1;\n\t\t}\n\t}\n\n\t/* A style of the button which is currently on, e.g. its feature is active. */\n\t&.ck-on {\n\t\t@mixin ck-button-colors --ck-color-button-on;\n\t}\n\n\t&.ck-button-save {\n\t\tcolor: var(--ck-color-button-save);\n\t}\n\n\t&.ck-button-cancel {\n\t\tcolor: var(--ck-color-button-cancel);\n\t}\n}\n\n/* A style of the button which handles the primary action. */\n.ck.ck-button-action,\na.ck.ck-button-action {\n\t@mixin ck-button-colors --ck-color-button-action;\n\n\tcolor: var(--ck-color-button-action-text);\n}\n\n.ck.ck-button-bold,\na.ck.ck-button-bold {\n\tfont-weight: bold;\n}\n',"/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements a button of given background color.\n *\n * @param {String} $background - Background color of the button.\n * @param {String} $border - Border color of the button.\n */\n@define-mixin ck-button-colors $prefix {\n\tbackground: var($(prefix)-background);\n\n\t&:not(.ck-disabled) {\n\t\t&:hover {\n\t\t\tbackground: var($(prefix)-hover-background);\n\t\t}\n\n\t\t&:active {\n\t\t\tbackground: var($(prefix)-active-background);\n\t\t\tbox-shadow: inset 0 2px 2px var($(prefix)-active-shadow);\n\t\t}\n\t}\n\n\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/98 */\n\t&.ck-disabled {\n\t\tbackground: var($(prefix)-disabled-background);\n\t}\n}\n","/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n","/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A visual style of focused element's border.\n */\n@define-mixin ck-focus-ring {\n\t/* Disable native outline. */\n\toutline: none;\n\tborder: var(--ck-focus-ring)\n}\n","/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n","/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A class which indicates that an element holding it is disabled.\n */\n@define-mixin ck-disabled {\n\topacity: var(--ck-disabled-opacity);\n}\n"],sourceRoot:""}]);e["a"]=a},function(t,e,n){"use strict";var o=n(2);var i=n.n(o);var r=n(3);var s=n.n(r);var a=s()(i.a);a.push([t.i,".ck.ck-button.ck-switchbutton .ck-button__toggle,.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner{display:block}:root{--ck-switch-button-toggle-width:2.6153846154em;--ck-switch-button-toggle-inner-size:1.0769230769em;--ck-switch-button-toggle-spacing:1px;--ck-switch-button-translation:calc(var(--ck-switch-button-toggle-width) - var(--ck-switch-button-toggle-inner-size) - var(--ck-switch-button-toggle-spacing)*2)}[dir=ltr] .ck.ck-button.ck-switchbutton .ck-button__label{margin-right:calc(var(--ck-spacing-large)*2)}[dir=rtl] .ck.ck-button.ck-switchbutton .ck-button__label{margin-left:calc(var(--ck-spacing-large)*2)}.ck.ck-button.ck-switchbutton .ck-button__toggle{border-radius:0}.ck-rounded-corners .ck.ck-button.ck-switchbutton .ck-button__toggle,.ck.ck-button.ck-switchbutton .ck-button__toggle.ck-rounded-corners{border-radius:var(--ck-border-radius)}[dir=ltr] .ck.ck-button.ck-switchbutton .ck-button__toggle{margin-left:auto}[dir=rtl] .ck.ck-button.ck-switchbutton .ck-button__toggle{margin-right:auto}.ck.ck-button.ck-switchbutton .ck-button__toggle{transition:background .4s ease;width:var(--ck-switch-button-toggle-width);background:var(--ck-color-switch-button-off-background)}.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner{border-radius:0}.ck-rounded-corners .ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner,.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner.ck-rounded-corners{border-radius:var(--ck-border-radius);border-radius:calc(var(--ck-border-radius)*0.5)}.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner{margin:var(--ck-switch-button-toggle-spacing);width:var(--ck-switch-button-toggle-inner-size);height:var(--ck-switch-button-toggle-inner-size);background:var(--ck-color-switch-button-inner-background);transition:all .3s ease}.ck.ck-button.ck-switchbutton .ck-button__toggle:hover{background:var(--ck-color-switch-button-off-hover-background)}.ck.ck-button.ck-switchbutton .ck-button__toggle:hover .ck-button__toggle__inner{box-shadow:0 0 0 5px var(--ck-color-switch-button-inner-shadow)}.ck.ck-button.ck-switchbutton.ck-disabled .ck-button__toggle{opacity:var(--ck-disabled-opacity)}.ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle{background:var(--ck-color-switch-button-on-background)}.ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle:hover{background:var(--ck-color-switch-button-on-hover-background)}[dir=ltr] .ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle .ck-button__toggle__inner{transform:translateX(var(--ck-switch-button-translation))}[dir=rtl] .ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle .ck-button__toggle__inner{transform:translateX(calc(var(--ck-switch-button-translation)*-1))}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/button/switchbutton.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/button/switchbutton.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_disabled.css"],names:[],mappings:"AASE,4HACC,aACD,CCCF,MAEC,8CAA+C,CAE/C,mDAAoD,CACpD,qCAAsC,CACtC,gKAKD,CAGC,0DAGE,4CAOF,CAVA,0DAQE,2CAEF,CAEA,iDC3BA,eDoEA,CAzCA,yICvBC,qCDgED,CAzCA,2DAKE,gBAoCF,CAzCA,2DAUE,iBA+BF,CAzCA,iDAcC,8BAAiC,CAEjC,0CAA2C,CAC3C,uDAwBD,CAtBC,2EC9CD,eD2DC,CAbA,6LC1CA,qCAAsC,CD4CpC,+CAWF,CAbA,2EAMC,6CAA8C,CAC9C,+CAAgD,CAChD,gDAAiD,CACjD,yDAA0D,CAG1D,uBACD,CAEA,uDACC,6DAKD,CAHC,iFACC,+DACD,CAIF,6DExEA,kCF0EA,CAEA,uDACC,sDAkBD,CAhBC,6DACC,4DACD,CAEA,2FAKE,yDAMF,CAXA,2FASE,kEAEF",sourcesContent:["/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-button.ck-switchbutton {\n\t& .ck-button__toggle {\n\t\tdisplay: block;\n\n\t\t& .ck-button__toggle__inner {\n\t\t\tdisplay: block;\n\t\t}\n\t}\n}\n",'/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_rounded.css";\n@import "../../../mixins/_disabled.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n/* Note: To avoid rendering issues (aliasing) but to preserve the responsive nature\nof the component, floating–point numbers have been used which, for the default font size\n(see: --ck-font-size-base), will generate simple integers. */\n:root {\n\t/* 34px at 13px font-size */\n\t--ck-switch-button-toggle-width: 2.6153846154em;\n\t/* 14px at 13px font-size */\n\t--ck-switch-button-toggle-inner-size: 1.0769230769em;\n\t--ck-switch-button-toggle-spacing: 1px;\n\t--ck-switch-button-translation: calc(\n\t\tvar(--ck-switch-button-toggle-width) -\n\t\tvar(--ck-switch-button-toggle-inner-size) -\n\t\t2 * var(--ck-switch-button-toggle-spacing)\n\t);\n}\n\n.ck.ck-button.ck-switchbutton {\n\t& .ck-button__label {\n\t\t@mixin ck-dir ltr {\n\t\t\t/* Separate the label from the switch */\n\t\t\tmargin-right: calc(2 * var(--ck-spacing-large));\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\t/* Separate the label from the switch */\n\t\t\tmargin-left: calc(2 * var(--ck-spacing-large));\n\t\t}\n\t}\n\n\t& .ck-button__toggle {\n\t\t@mixin ck-rounded-corners;\n\n\t\t@mixin ck-dir ltr {\n\t\t\t/* Make sure the toggle is always to the right as far as possible. */\n\t\t\tmargin-left: auto;\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\t/* Make sure the toggle is always to the left as far as possible. */\n\t\t\tmargin-right: auto;\n\t\t}\n\n\t\t/* Gently animate the background color of the toggle switch */\n\t\ttransition: background 400ms ease;\n\n\t\twidth: var(--ck-switch-button-toggle-width);\n\t\tbackground: var(--ck-color-switch-button-off-background);\n\n\t\t& .ck-button__toggle__inner {\n\t\t\t@mixin ck-rounded-corners {\n\t\t\t\tborder-radius: calc(.5 * var(--ck-border-radius));\n\t\t\t}\n\n\t\t\t/* Leave some tiny bit of space around the inner part of the switch */\n\t\t\tmargin: var(--ck-switch-button-toggle-spacing);\n\t\t\twidth: var(--ck-switch-button-toggle-inner-size);\n\t\t\theight: var(--ck-switch-button-toggle-inner-size);\n\t\t\tbackground: var(--ck-color-switch-button-inner-background);\n\n\t\t\t/* Gently animate the inner part of the toggle switch */\n\t\t\ttransition: all 300ms ease;\n\t\t}\n\n\t\t&:hover {\n\t\t\tbackground: var(--ck-color-switch-button-off-hover-background);\n\n\t\t\t& .ck-button__toggle__inner {\n\t\t\t\tbox-shadow: 0 0 0 5px var(--ck-color-switch-button-inner-shadow);\n\t\t\t}\n\t\t}\n\t}\n\n\t&.ck-disabled .ck-button__toggle {\n\t\t@mixin ck-disabled;\n\t}\n\n\t&.ck-on .ck-button__toggle {\n\t\tbackground: var(--ck-color-switch-button-on-background);\n\n\t\t&:hover {\n\t\t\tbackground: var(--ck-color-switch-button-on-hover-background);\n\t\t}\n\n\t\t& .ck-button__toggle__inner {\n\t\t\t/*\n\t\t\t * Move the toggle switch to the right. It will be animated.\n\t\t\t */\n\t\t\t@mixin ck-dir ltr {\n\t\t\t\ttransform: translateX( var( --ck-switch-button-translation ) );\n\t\t\t}\n\n\t\t\t@mixin ck-dir rtl {\n\t\t\t\ttransform: translateX( calc( -1 * var( --ck-switch-button-translation ) ) );\n\t\t\t}\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n","/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A class which indicates that an element holding it is disabled.\n */\n@define-mixin ck-disabled {\n\topacity: var(--ck-disabled-opacity);\n}\n"],sourceRoot:""}]);e["a"]=a},function(t,e,n){"use strict";var o=n(2);var i=n.n(o);var r=n(3);var s=n.n(r);var a=s()(i.a);a.push([t.i,".ck.ck-color-grid{display:grid}:root{--ck-color-grid-tile-size:24px;--ck-color-color-grid-check-icon:#000}.ck.ck-color-grid{grid-gap:5px;padding:8px}.ck.ck-color-grid__tile{width:var(--ck-color-grid-tile-size);height:var(--ck-color-grid-tile-size);min-width:var(--ck-color-grid-tile-size);min-height:var(--ck-color-grid-tile-size);padding:0;transition:box-shadow .2s ease;border:0}.ck.ck-color-grid__tile.ck-disabled{cursor:unset;transition:unset}.ck.ck-color-grid__tile.ck-color-table__color-tile_bordered{box-shadow:0 0 0 1px var(--ck-color-base-border)}.ck.ck-color-grid__tile .ck.ck-icon{display:none;color:var(--ck-color-color-grid-check-icon)}.ck.ck-color-grid__tile.ck-on{box-shadow:inset 0 0 0 1px var(--ck-color-base-background),0 0 0 2px var(--ck-color-base-text)}.ck.ck-color-grid__tile.ck-on .ck.ck-icon{display:block}.ck.ck-color-grid__tile.ck-on,.ck.ck-color-grid__tile:focus:not(.ck-disabled),.ck.ck-color-grid__tile:hover:not(.ck-disabled){border:0}.ck.ck-color-grid__tile:focus:not(.ck-disabled),.ck.ck-color-grid__tile:hover:not(.ck-disabled){box-shadow:inset 0 0 0 1px var(--ck-color-base-background),0 0 0 2px var(--ck-color-focus-border)}.ck.ck-color-grid__label{padding:0 var(--ck-spacing-standard)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/colorgrid/colorgrid.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/colorgrid/colorgrid.css"],names:[],mappings:"AAKA,kBACC,YACD,CCAA,MACC,8BAA+B,CAK/B,qCACD,CAEA,kBACC,YAAa,CACb,WACD,CAEA,wBACC,oCAAqC,CACrC,qCAAsC,CACtC,wCAAyC,CACzC,yCAA0C,CAC1C,SAAU,CACV,8BAA+B,CAC/B,QAmCD,CAjCC,oCACC,YAAa,CACb,gBACD,CAEA,4DACC,gDACD,CAEA,oCACC,YAAa,CACb,2CACD,CAEA,8BACC,8FAKD,CAHC,0CACC,aACD,CAGD,8HAIC,QACD,CAEA,gGAEC,iGACD,CAGD,yBACC,oCACD",sourcesContent:["/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-color-grid {\n\tdisplay: grid;\n}\n",'/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_rounded.css";\n\n:root {\n\t--ck-color-grid-tile-size: 24px;\n\n\t/* Not using global colors here because these may change but some colors in a pallette\n\t * require special treatment. For instance, this ensures no matter what the UI text color is,\n\t * the check icon will look good on the black color tile. */\n\t--ck-color-color-grid-check-icon: hsl(0, 0%, 0%);\n}\n\n.ck.ck-color-grid {\n\tgrid-gap: 5px;\n\tpadding: 8px;\n}\n\n.ck.ck-color-grid__tile {\n\twidth: var(--ck-color-grid-tile-size);\n\theight: var(--ck-color-grid-tile-size);\n\tmin-width: var(--ck-color-grid-tile-size);\n\tmin-height: var(--ck-color-grid-tile-size);\n\tpadding: 0;\n\ttransition: .2s ease box-shadow;\n\tborder: 0;\n\n\t&.ck-disabled {\n\t\tcursor: unset;\n\t\ttransition: unset;\n\t}\n\n\t&.ck-color-table__color-tile_bordered {\n\t\tbox-shadow: 0 0 0 1px var(--ck-color-base-border);\n\t}\n\n\t& .ck.ck-icon {\n\t\tdisplay: none;\n\t\tcolor: var(--ck-color-color-grid-check-icon);\n\t}\n\n\t&.ck-on {\n\t\tbox-shadow: inset 0 0 0 1px var(--ck-color-base-background), 0 0 0 2px var(--ck-color-base-text);\n\n\t\t& .ck.ck-icon {\n\t\t\tdisplay: block;\n\t\t}\n\t}\n\n\t&.ck-on,\n\t&:focus:not( .ck-disabled ),\n\t&:hover:not( .ck-disabled ) {\n\t\t/* Disable the default .ck-button\'s border ring. */\n\t\tborder: 0;\n\t}\n\n\t&:focus:not( .ck-disabled ),\n\t&:hover:not( .ck-disabled ) {\n\t\tbox-shadow: inset 0 0 0 1px var(--ck-color-base-background), 0 0 0 2px var(--ck-color-focus-border);\n\t}\n}\n\n.ck.ck-color-grid__label {\n\tpadding: 0 var(--ck-spacing-standard);\n}\n'],sourceRoot:""}]);e["a"]=a},function(t,e,n){"use strict";var o=n(2);var i=n.n(o);var r=n(3);var s=n.n(r);var a=s()(i.a);a.push([t.i,".ck.ck-splitbutton{font-size:inherit}.ck.ck-splitbutton .ck-splitbutton__action:focus{z-index:calc(var(--ck-z-default) + 1)}.ck.ck-splitbutton.ck-splitbutton_open>.ck-button .ck-tooltip{display:none}:root{--ck-color-split-button-hover-background:#ebebeb;--ck-color-split-button-hover-border:#b3b3b3}[dir=ltr] .ck.ck-splitbutton>.ck-splitbutton__action{border-top-right-radius:unset;border-bottom-right-radius:unset}[dir=rtl] .ck.ck-splitbutton>.ck-splitbutton__action{border-top-left-radius:unset;border-bottom-left-radius:unset}.ck.ck-splitbutton>.ck-splitbutton__arrow{min-width:unset}[dir=ltr] .ck.ck-splitbutton>.ck-splitbutton__arrow{border-radius:0}.ck-rounded-corners [dir=ltr] .ck.ck-splitbutton>.ck-splitbutton__arrow,[dir=ltr] .ck.ck-splitbutton>.ck-splitbutton__arrow.ck-rounded-corners{border-radius:var(--ck-border-radius);border-top-left-radius:unset;border-bottom-left-radius:unset}[dir=rtl] .ck.ck-splitbutton>.ck-splitbutton__arrow{border-top-right-radius:unset;border-bottom-right-radius:unset}.ck.ck-splitbutton>.ck-splitbutton__arrow svg{width:var(--ck-dropdown-arrow-size)}.ck.ck-splitbutton.ck-splitbutton_open>.ck-button:not(.ck-on):not(.ck-disabled):not(:hover),.ck.ck-splitbutton:hover>.ck-button:not(.ck-on):not(.ck-disabled):not(:hover){background:var(--ck-color-split-button-hover-background)}[dir=ltr] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled),[dir=ltr] .ck.ck-splitbutton:hover>.ck-splitbutton__arrow:not(.ck-disabled){border-left-color:var(--ck-color-split-button-hover-border)}[dir=rtl] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled),[dir=rtl] .ck.ck-splitbutton:hover>.ck-splitbutton__arrow:not(.ck-disabled){border-right-color:var(--ck-color-split-button-hover-border)}.ck.ck-splitbutton.ck-splitbutton_open{border-radius:0}.ck-rounded-corners .ck.ck-splitbutton.ck-splitbutton_open,.ck.ck-splitbutton.ck-splitbutton_open.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck-rounded-corners .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__action,.ck.ck-splitbutton.ck-splitbutton_open.ck-rounded-corners>.ck-splitbutton__action{border-bottom-left-radius:0}.ck-rounded-corners .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow,.ck.ck-splitbutton.ck-splitbutton_open.ck-rounded-corners>.ck-splitbutton__arrow{border-bottom-right-radius:0}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/dropdown/splitbutton.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/tooltip/mixins/_tooltip.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/splitbutton.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAOA,mBAEC,iBAUD,CARC,iDACC,qCACD,CC0BA,8DACC,YACD,CClCD,MACC,gDAAyD,CACzD,4CACD,CAMC,qDAGE,6BAA8B,CAC9B,gCAQF,CAZA,qDASE,4BAA6B,CAC7B,+BAEF,CAEA,0CAGC,eAmBD,CAtBA,oDCnBA,eDyCA,CAtBA,+ICfC,qCAAsC,CDuBpC,4BAA6B,CAC7B,+BAaH,CAtBA,oDAeE,6BAA8B,CAC9B,gCAMF,CAHC,8CACC,mCACD,CASA,0KACC,wDACD,CAGC,sKACC,2DACD,CAIA,sKACC,4DACD,CAMF,uCCpEA,eD8EA,CAVA,qHChEC,qCD0ED,CARE,qKACC,2BACD,CAEA,mKACC,4BACD",sourcesContent:['/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../tooltip/mixins/_tooltip.css";\n\n.ck.ck-splitbutton {\n\t/* Enable font size inheritance, which allows fluid UI scaling. */\n\tfont-size: inherit;\n\n\t& .ck-splitbutton__action:focus {\n\t\tz-index: calc(var(--ck-z-default) + 1);\n\t}\n\n\t/* Disable tooltips for the buttons when the button is "open" */\n\t&.ck-splitbutton_open > .ck-button {\n\t\t@mixin ck-tooltip_disabled;\n\t}\n}\n\n',"/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Enables the tooltip, which is the tooltip is in DOM but\n * not yet displayed.\n */\n@define-mixin ck-tooltip_enabled {\n\t& .ck-tooltip {\n\t\tdisplay: block;\n\n\t\t/*\n\t\t * Don't display tooltips in devices which don't support :hover.\n\t\t * In fact, it's all about iOS, which forces user to click UI elements twice to execute\n\t\t * the primary action, when tooltips are enabled.\n\t\t *\n\t\t * Q: OK, but why not the following query?\n\t\t *\n\t\t * @media (hover) {\n\t\t * display: block;\n\t\t * }\n\t\t *\n\t\t * A: Because FF does not support it and it would completely disable tooltips\n\t\t * in that browser.\n\t\t *\n\t\t * More in https://github.com/ckeditor/ckeditor5/issues/920.\n\t\t */\n\t\t@media (hover:none) {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n}\n\n/**\n * Disables the tooltip making it disappear from DOM.\n */\n@define-mixin ck-tooltip_disabled {\n\t& .ck-tooltip {\n\t\tdisplay: none;\n\t}\n}\n\n/**\n * Shows the tooltip, which is already in DOM.\n * Requires `ck-tooltip_enabled` first.\n */\n@define-mixin ck-tooltip_visible {\n\t& .ck-tooltip {\n\t\tvisibility: visible;\n\t\topacity: 1;\n\t}\n}\n",'/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_rounded.css";\n\n:root {\n\t--ck-color-split-button-hover-background: hsl(0, 0%, 92%);\n\t--ck-color-split-button-hover-border: hsl(0, 0%, 70%);\n}\n\n.ck.ck-splitbutton {\n\t/*\n\t * Note: ck-rounded and ck-dir mixins don\'t go together (because they both use @nest).\n\t */\n\t& > .ck-splitbutton__action {\n\t\t@nest [dir="ltr"] & {\n\t\t\t/* Don\'t round the action button on the right side */\n\t\t\tborder-top-right-radius: unset;\n\t\t\tborder-bottom-right-radius: unset;\n\t\t}\n\n\t\t@nest [dir="rtl"] & {\n\t\t\t/* Don\'t round the action button on the left side */\n\t\t\tborder-top-left-radius: unset;\n\t\t\tborder-bottom-left-radius: unset;\n\t\t}\n\t}\n\n\t& > .ck-splitbutton__arrow {\n\t\t/* It\'s a text-less button and since the icon is positioned absolutely in such situation,\n\t\tit must get some arbitrary min-width. */\n\t\tmin-width: unset;\n\n\t\t@nest [dir="ltr"] & {\n\t\t\t/* Don\'t round the arrow button on the left side */\n\t\t\t@mixin ck-rounded-corners {\n\t\t\t\tborder-top-left-radius: unset;\n\t\t\t\tborder-bottom-left-radius: unset;\n\t\t\t}\n\t\t}\n\n\t\t@nest [dir="rtl"] & {\n\t\t\t/* Don\'t round the arrow button on the right side */\n\t\t\tborder-top-right-radius: unset;\n\t\t\tborder-bottom-right-radius: unset;\n\t\t}\n\n\t\t& svg {\n\t\t\twidth: var(--ck-dropdown-arrow-size);\n\t\t}\n\t}\n\n\t/* When the split button is "open" (the arrow is on) or being hovered, it should get some styling\n\tas a whole. The background of both buttons should stand out and there should be a visual\n\tseparation between both buttons. */\n\t&.ck-splitbutton_open,\n\t&:hover {\n\t\t/* When the split button hovered as a whole, not as individual buttons. */\n\t\t& > .ck-button:not(.ck-on):not(.ck-disabled):not(:hover) {\n\t\t\tbackground: var(--ck-color-split-button-hover-background);\n\t\t}\n\n\t\t@nest [dir="ltr"] & {\n\t\t\t& > .ck-splitbutton__arrow:not(.ck-disabled) {\n\t\t\t\tborder-left-color: var(--ck-color-split-button-hover-border);\n\t\t\t}\n\t\t}\n\n\t\t@nest [dir="rtl"] & {\n\t\t\t& > .ck-splitbutton__arrow:not(.ck-disabled) {\n\t\t\t\tborder-right-color: var(--ck-color-split-button-hover-border);\n\t\t\t}\n\t\t}\n\t}\n\n\t/* Don\'t round the bottom left and right corners of the buttons when "open"\n\thttps://github.com/ckeditor/ckeditor5/issues/816 */\n\t&.ck-splitbutton_open {\n\t\t@mixin ck-rounded-corners {\n\t\t\t& > .ck-splitbutton__action {\n\t\t\t\tborder-bottom-left-radius: 0;\n\t\t\t}\n\n\t\t\t& > .ck-splitbutton__arrow {\n\t\t\t\tborder-bottom-right-radius: 0;\n\t\t\t}\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);e["a"]=a},function(t,e,n){"use strict";var o=n(2);var i=n.n(o);var r=n(3);var s=n.n(r);var a=s()(i.a);a.push([t.i,":root{--ck-dropdown-max-width:75vw}.ck.ck-dropdown{display:inline-block;position:relative}.ck.ck-dropdown .ck-dropdown__arrow{pointer-events:none;z-index:var(--ck-z-default)}.ck.ck-dropdown .ck-button.ck-dropdown__button{width:100%}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-on .ck-tooltip{display:none}.ck.ck-dropdown .ck-dropdown__panel{-webkit-backface-visibility:hidden;display:none;z-index:var(--ck-z-modal);max-width:var(--ck-dropdown-max-width);position:absolute}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel-visible{display:inline-block}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_n,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_ne,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nme,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nmw,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nw{bottom:100%}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_s,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_se,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sme,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_smw,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sw{top:100%;bottom:auto}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_ne,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_se{left:0}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nw,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sw{right:0}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_n,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_s{left:50%;transform:translateX(-50%)}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nmw,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_smw{left:75%;transform:translateX(-75%)}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nme,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sme{left:25%;transform:translateX(-25%)}.ck.ck-toolbar .ck-dropdown__panel{z-index:calc(var(--ck-z-modal) + 1)}:root{--ck-dropdown-arrow-size:calc(var(--ck-icon-size)*0.5)}.ck.ck-dropdown{font-size:inherit}.ck.ck-dropdown .ck-dropdown__arrow{width:var(--ck-dropdown-arrow-size)}[dir=ltr] .ck.ck-dropdown .ck-dropdown__arrow{right:var(--ck-spacing-standard);margin-left:var(--ck-spacing-standard)}[dir=rtl] .ck.ck-dropdown .ck-dropdown__arrow{left:var(--ck-spacing-standard);margin-right:var(--ck-spacing-small)}.ck.ck-dropdown.ck-disabled .ck-dropdown__arrow{opacity:var(--ck-disabled-opacity)}[dir=ltr] .ck.ck-dropdown .ck-button.ck-dropdown__button:not(.ck-button_with-text){padding-left:var(--ck-spacing-small)}[dir=rtl] .ck.ck-dropdown .ck-button.ck-dropdown__button:not(.ck-button_with-text){padding-right:var(--ck-spacing-small)}.ck.ck-dropdown .ck-button.ck-dropdown__button .ck-button__label{width:7em;overflow:hidden;text-overflow:ellipsis}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-disabled .ck-button__label{opacity:var(--ck-disabled-opacity)}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-on{border-bottom-left-radius:0;border-bottom-right-radius:0}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-dropdown__button_label-width_auto .ck-button__label{width:auto}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-off:active,.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-on:active{box-shadow:none}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-off:active:focus,.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-on:active:focus{box-shadow:var(--ck-focus-outer-shadow),0 0}.ck.ck-dropdown__panel{border-radius:0}.ck-rounded-corners .ck.ck-dropdown__panel,.ck.ck-dropdown__panel.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-dropdown__panel{box-shadow:var(--ck-drop-shadow),0 0;background:var(--ck-color-dropdown-panel-background);border:1px solid var(--ck-color-dropdown-panel-border);bottom:0;min-width:100%}.ck.ck-dropdown__panel.ck-dropdown__panel_se{border-top-left-radius:0}.ck.ck-dropdown__panel.ck-dropdown__panel_sw{border-top-right-radius:0}.ck.ck-dropdown__panel.ck-dropdown__panel_ne{border-bottom-left-radius:0}.ck.ck-dropdown__panel.ck-dropdown__panel_nw{border-bottom-right-radius:0}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/dropdown/dropdown.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/tooltip/mixins/_tooltip.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/dropdown.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_disabled.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAOA,MACC,4BACD,CAEA,gBACC,oBAAqB,CACrB,iBAqFD,CAnFC,oCACC,mBAAoB,CACpB,2BACD,CAGA,+CACC,UAOD,CCUA,iEACC,YACD,CDVA,oCAGC,kCAAmC,CAEnC,YAAa,CACb,yBAA0B,CAC1B,sCAAuC,CAEvC,iBAyDD,CAvDC,+DACC,oBACD,CAEA,mSAKC,WACD,CAEA,mSASC,QAAS,CACT,WACD,CAEA,oHAEC,MACD,CAEA,oHAEC,OACD,CAEA,kHAGC,QAAS,CACT,0BACD,CAEA,sHAGC,QAAS,CACT,0BACD,CAEA,sHAGC,QAAS,CACT,0BACD,CAQF,mCACC,mCACD,CEhGA,MACC,sDACD,CAEA,gBAEC,iBA2ED,CAzEC,oCACC,mCACD,CAGC,8CACC,gCAAiC,CAGjC,sCACD,CAIA,8CACC,+BAAgC,CAGhC,oCACD,CAGD,gDC/BA,kCDiCA,CAIE,mFAEC,oCACD,CAIA,mFAEC,qCACD,CAID,iEACC,SAAU,CACV,eAAgB,CAChB,sBACD,CAGA,6EC1DD,kCD4DC,CAGA,qDACC,2BAA4B,CAC5B,4BACD,CAEA,sGACC,UACD,CAGA,yHAEC,eAKD,CAHC,qIE7EF,2CF+EE,CAKH,uBGlFC,eH8GD,CA5BA,qFG9EE,qCH0GF,CA5BA,uBEpFC,oCAA8B,CFwF9B,oDAAqD,CACrD,sDAAuD,CACvD,QAAS,CAGT,cAmBD,CAfC,6CACC,wBACD,CAEA,6CACC,yBACD,CAEA,6CACC,2BACD,CAEA,6CACC,4BACD",sourcesContent:["/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import \"../tooltip/mixins/_tooltip.css\";\n\n:root {\n\t--ck-dropdown-max-width: 75vw;\n}\n\n.ck.ck-dropdown {\n\tdisplay: inline-block;\n\tposition: relative;\n\n\t& .ck-dropdown__arrow {\n\t\tpointer-events: none;\n\t\tz-index: var(--ck-z-default);\n\t}\n\n\t/* Dropdown button should span horizontally, e.g. in vertical toolbars */\n\t& .ck-button.ck-dropdown__button {\n\t\twidth: 100%;\n\n\t\t/* Disable main button's tooltip when the dropdown is open. Otherwise the panel may\n\t\tpartially cover the tooltip */\n\t\t&.ck-on {\n\t\t\t@mixin ck-tooltip_disabled;\n\t\t}\n\t}\n\n\t& .ck-dropdown__panel {\n\t\t/* This is to get rid of flickering when the tooltip is shown under the panel,\n\t\twhich looks like the panel moves vertically a pixel down and up. */\n\t\t-webkit-backface-visibility: hidden;\n\n\t\tdisplay: none;\n\t\tz-index: var(--ck-z-modal);\n\t\tmax-width: var(--ck-dropdown-max-width);\n\n\t\tposition: absolute;\n\n\t\t&.ck-dropdown__panel-visible {\n\t\t\tdisplay: inline-block;\n\t\t}\n\n\t\t&.ck-dropdown__panel_ne,\n\t\t&.ck-dropdown__panel_nw,\n\t\t&.ck-dropdown__panel_n,\n\t\t&.ck-dropdown__panel_nmw,\n\t\t&.ck-dropdown__panel_nme {\n\t\t\tbottom: 100%;\n\t\t}\n\n\t\t&.ck-dropdown__panel_se,\n\t\t&.ck-dropdown__panel_sw,\n\t\t&.ck-dropdown__panel_smw,\n\t\t&.ck-dropdown__panel_sme,\n\t\t&.ck-dropdown__panel_s {\n\t\t\t/*\n\t\t\t * Using transform: translate3d( 0, 100%, 0 ) causes blurry dropdown on Chrome 67-78+ on non-retina displays.\n\t\t\t * See https://github.com/ckeditor/ckeditor5/issues/1053.\n\t\t\t */\n\t\t\ttop: 100%;\n\t\t\tbottom: auto;\n\t\t}\n\n\t\t&.ck-dropdown__panel_ne,\n\t\t&.ck-dropdown__panel_se {\n\t\t\tleft: 0px;\n\t\t}\n\n\t\t&.ck-dropdown__panel_nw,\n\t\t&.ck-dropdown__panel_sw {\n\t\t\tright: 0px;\n\t\t}\n\n\t\t&.ck-dropdown__panel_s,\n\t\t&.ck-dropdown__panel_n {\n\t\t\t/* Positioning panels relative to the center of the button */\n\t\t\tleft: 50%;\n\t\t\ttransform: translateX(-50%);\n\t\t}\n\n\t\t&.ck-dropdown__panel_nmw,\n\t\t&.ck-dropdown__panel_smw {\n\t\t\t/* Positioning panels relative to the middle-west of the button */\n\t\t\tleft: 75%;\n\t\t\ttransform: translateX(-75%);\n\t\t}\n\n\t\t&.ck-dropdown__panel_nme,\n\t\t&.ck-dropdown__panel_sme {\n\t\t\t/* Positioning panels relative to the middle-east of the button */\n\t\t\tleft: 25%;\n\t\t\ttransform: translateX(-25%);\n\t\t}\n\t}\n}\n\n/*\n * Toolbar dropdown panels should be always above the UI (eg. other dropdown panels) from the editor's content.\n * See https://github.com/ckeditor/ckeditor5/issues/7874\n */\n.ck.ck-toolbar .ck-dropdown__panel {\n\tz-index: calc( var(--ck-z-modal) + 1 );\n}\n","/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Enables the tooltip, which is the tooltip is in DOM but\n * not yet displayed.\n */\n@define-mixin ck-tooltip_enabled {\n\t& .ck-tooltip {\n\t\tdisplay: block;\n\n\t\t/*\n\t\t * Don't display tooltips in devices which don't support :hover.\n\t\t * In fact, it's all about iOS, which forces user to click UI elements twice to execute\n\t\t * the primary action, when tooltips are enabled.\n\t\t *\n\t\t * Q: OK, but why not the following query?\n\t\t *\n\t\t * @media (hover) {\n\t\t * display: block;\n\t\t * }\n\t\t *\n\t\t * A: Because FF does not support it and it would completely disable tooltips\n\t\t * in that browser.\n\t\t *\n\t\t * More in https://github.com/ckeditor/ckeditor5/issues/920.\n\t\t */\n\t\t@media (hover:none) {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n}\n\n/**\n * Disables the tooltip making it disappear from DOM.\n */\n@define-mixin ck-tooltip_disabled {\n\t& .ck-tooltip {\n\t\tdisplay: none;\n\t}\n}\n\n/**\n * Shows the tooltip, which is already in DOM.\n * Requires `ck-tooltip_enabled` first.\n */\n@define-mixin ck-tooltip_visible {\n\t& .ck-tooltip {\n\t\tvisibility: visible;\n\t\topacity: 1;\n\t}\n}\n",'/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_rounded.css";\n@import "../../../mixins/_disabled.css";\n@import "../../../mixins/_shadow.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n:root {\n\t--ck-dropdown-arrow-size: calc(0.5 * var(--ck-icon-size));\n}\n\n.ck.ck-dropdown {\n\t/* Enable font size inheritance, which allows fluid UI scaling. */\n\tfont-size: inherit;\n\n\t& .ck-dropdown__arrow {\n\t\twidth: var(--ck-dropdown-arrow-size);\n\t}\n\n\t@mixin ck-dir ltr {\n\t\t& .ck-dropdown__arrow {\n\t\t\tright: var(--ck-spacing-standard);\n\n\t\t\t/* A space to accommodate the triangle. */\n\t\t\tmargin-left: var(--ck-spacing-standard);\n\t\t}\n\t}\n\n\t@mixin ck-dir rtl {\n\t\t& .ck-dropdown__arrow {\n\t\t\tleft: var(--ck-spacing-standard);\n\n\t\t\t/* A space to accommodate the triangle. */\n\t\t\tmargin-right: var(--ck-spacing-small);\n\t\t}\n\t}\n\n\t&.ck-disabled .ck-dropdown__arrow {\n\t\t@mixin ck-disabled;\n\t}\n\n\t& .ck-button.ck-dropdown__button {\n\t\t@mixin ck-dir ltr {\n\t\t\t&:not(.ck-button_with-text) {\n\t\t\t\t/* Make sure dropdowns with just an icon have the right inner spacing */\n\t\t\t\tpadding-left: var(--ck-spacing-small);\n\t\t\t}\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\t&:not(.ck-button_with-text) {\n\t\t\t\t/* Make sure dropdowns with just an icon have the right inner spacing */\n\t\t\t\tpadding-right: var(--ck-spacing-small);\n\t\t\t}\n\t\t}\n\n\t\t/* #23 */\n\t\t& .ck-button__label {\n\t\t\twidth: 7em;\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t}\n\n\t\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/70 */\n\t\t&.ck-disabled .ck-button__label {\n\t\t\t@mixin ck-disabled;\n\t\t}\n\n\t\t/* https://github.com/ckeditor/ckeditor5/issues/816 */\n\t\t&.ck-on {\n\t\t\tborder-bottom-left-radius: 0;\n\t\t\tborder-bottom-right-radius: 0;\n\t\t}\n\n\t\t&.ck-dropdown__button_label-width_auto .ck-button__label {\n\t\t\twidth: auto;\n\t\t}\n\n\t\t/* https://github.com/ckeditor/ckeditor5/issues/8699 */\n\t\t&.ck-off:active,\n\t\t&.ck-on:active {\n\t\t\tbox-shadow: none;\n\t\t\t\n\t\t\t&:focus {\n\t\t\t\t@mixin ck-box-shadow var(--ck-focus-outer-shadow);\n\t\t\t}\n\t\t}\n\t}\n}\n\n.ck.ck-dropdown__panel {\n\t@mixin ck-rounded-corners;\n\t@mixin ck-drop-shadow;\n\n\tbackground: var(--ck-color-dropdown-panel-background);\n\tborder: 1px solid var(--ck-color-dropdown-panel-border);\n\tbottom: 0;\n\n\t/* Make sure the panel is at least as wide as the drop-down\'s button. */\n\tmin-width: 100%;\n\n\t/* Disabled corner border radius to be consistent with the .dropdown__button\n\thttps://github.com/ckeditor/ckeditor5/issues/816 */\n\t&.ck-dropdown__panel_se {\n\t\tborder-top-left-radius: 0;\n\t}\n\n\t&.ck-dropdown__panel_sw {\n\t\tborder-top-right-radius: 0;\n\t}\n\n\t&.ck-dropdown__panel_ne {\n\t\tborder-bottom-left-radius: 0;\n\t}\n\n\t&.ck-dropdown__panel_nw {\n\t\tborder-bottom-right-radius: 0;\n\t}\n}\n',"/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A class which indicates that an element holding it is disabled.\n */\n@define-mixin ck-disabled {\n\topacity: var(--ck-disabled-opacity);\n}\n","/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n","/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);e["a"]=a},function(t,e,n){"use strict";var o=n(2);var i=n.n(o);var r=n(3);var s=n.n(r);var a=s()(i.a);a.push([t.i,".ck.ck-toolbar{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex-flow:row nowrap;align-items:center}.ck.ck-toolbar>.ck-toolbar__items{display:flex;flex-flow:row wrap;align-items:center;flex-grow:1}.ck.ck-toolbar .ck.ck-toolbar__separator{display:inline-block}.ck.ck-toolbar .ck.ck-toolbar__separator:first-child,.ck.ck-toolbar .ck.ck-toolbar__separator:last-child{display:none}.ck.ck-toolbar .ck-toolbar__line-break{flex-basis:100%}.ck.ck-toolbar.ck-toolbar_grouping>.ck-toolbar__items{flex-wrap:nowrap}.ck.ck-toolbar.ck-toolbar_vertical>.ck-toolbar__items{flex-direction:column}.ck.ck-toolbar.ck-toolbar_floating>.ck-toolbar__items{flex-wrap:nowrap}.ck.ck-toolbar>.ck.ck-toolbar__grouped-dropdown>.ck-dropdown__button .ck-dropdown__arrow{display:none}.ck.ck-toolbar{border-radius:0}.ck-rounded-corners .ck.ck-toolbar,.ck.ck-toolbar.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-toolbar{background:var(--ck-color-toolbar-background);padding:0 var(--ck-spacing-small);border:1px solid var(--ck-color-toolbar-border)}.ck.ck-toolbar .ck.ck-toolbar__separator{align-self:stretch;width:1px;min-width:1px;background:var(--ck-color-toolbar-border);margin-top:var(--ck-spacing-small);margin-bottom:var(--ck-spacing-small)}.ck.ck-toolbar .ck-toolbar__line-break{height:0}.ck.ck-toolbar>.ck-toolbar__items>:not(.ck-toolbar__line-break){margin-right:var(--ck-spacing-small)}.ck.ck-toolbar>.ck-toolbar__items:empty+.ck.ck-toolbar__separator{display:none}.ck.ck-toolbar>.ck-toolbar__items>:not(.ck-toolbar__line-break),.ck.ck-toolbar>.ck.ck-toolbar__grouped-dropdown{margin-top:var(--ck-spacing-small);margin-bottom:var(--ck-spacing-small)}.ck.ck-toolbar.ck-toolbar_vertical{padding:0}.ck.ck-toolbar.ck-toolbar_vertical>.ck-toolbar__items>.ck{width:100%;margin:0;border-radius:0;border:0}.ck.ck-toolbar.ck-toolbar_compact{padding:0}.ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>*{margin:0}.ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>:not(:first-child):not(:last-child){border-radius:0}.ck.ck-toolbar>.ck.ck-toolbar__grouped-dropdown>.ck.ck-button.ck-dropdown__button{padding-left:var(--ck-spacing-tiny)}.ck-toolbar-container .ck.ck-toolbar{border:0}.ck.ck-toolbar[dir=rtl]>.ck-toolbar__items>.ck,[dir=rtl] .ck.ck-toolbar>.ck-toolbar__items>.ck{margin-right:0}.ck.ck-toolbar[dir=rtl]:not(.ck-toolbar_compact)>.ck-toolbar__items>.ck,[dir=rtl] .ck.ck-toolbar:not(.ck-toolbar_compact)>.ck-toolbar__items>.ck{margin-left:var(--ck-spacing-small)}.ck.ck-toolbar[dir=rtl]>.ck-toolbar__items>.ck:last-child,[dir=rtl] .ck.ck-toolbar>.ck-toolbar__items>.ck:last-child{margin-left:0}.ck.ck-toolbar[dir=rtl].ck-toolbar_compact>.ck-toolbar__items>.ck:first-child,[dir=rtl] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.ck.ck-toolbar[dir=rtl].ck-toolbar_compact>.ck-toolbar__items>.ck:last-child,[dir=rtl] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:last-child{border-top-right-radius:0;border-bottom-right-radius:0}.ck.ck-toolbar[dir=rtl]>.ck.ck-toolbar__separator,[dir=rtl] .ck.ck-toolbar>.ck.ck-toolbar__separator{margin-left:var(--ck-spacing-small)}.ck.ck-toolbar[dir=rtl].ck-toolbar_grouping>.ck-toolbar__items:not(:empty):not(:only-child),[dir=rtl] .ck.ck-toolbar.ck-toolbar_grouping>.ck-toolbar__items:not(:empty):not(:only-child){margin-left:var(--ck-spacing-small)}.ck.ck-toolbar[dir=ltr]>.ck-toolbar__items>.ck:last-child,[dir=ltr] .ck.ck-toolbar>.ck-toolbar__items>.ck:last-child{margin-right:0}.ck.ck-toolbar[dir=ltr].ck-toolbar_compact>.ck-toolbar__items>.ck:first-child,[dir=ltr] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.ck.ck-toolbar[dir=ltr].ck-toolbar_compact>.ck-toolbar__items>.ck:last-child,[dir=ltr] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.ck.ck-toolbar[dir=ltr]>.ck.ck-toolbar__separator,[dir=ltr] .ck.ck-toolbar>.ck.ck-toolbar__separator{margin-right:var(--ck-spacing-small)}.ck.ck-toolbar[dir=ltr].ck-toolbar_grouping>.ck-toolbar__items:not(:empty):not(:only-child),[dir=ltr] .ck.ck-toolbar.ck-toolbar_grouping>.ck-toolbar__items:not(:empty):not(:only-child){margin-right:var(--ck-spacing-small)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/toolbar/toolbar.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_unselectable.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/toolbar/toolbar.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAOA,eCEC,qBAAsB,CACtB,wBAAyB,CACzB,oBAAqB,CACrB,gBAAgB,CDFhB,YAAa,CACb,oBAAqB,CACrB,kBA6CD,CA3CC,kCACC,YAAa,CACb,kBAAmB,CACnB,kBAAmB,CACnB,WAED,CAEA,yCACC,oBAWD,CAJC,yGAEC,YACD,CAGD,uCACC,eACD,CAEA,sDACC,gBACD,CAEA,sDACC,qBACD,CAEA,sDACC,gBACD,CAGC,yFACC,YACD,CE/CF,eCGC,eD0FD,CA7FA,qECOE,qCDsFF,CA7FA,eAGC,6CAA8C,CAC9C,iCAAkC,CAClC,+CAwFD,CAtFC,yCACC,kBAAmB,CACnB,SAAU,CACV,aAAc,CACd,yCAA0C,CAM1C,kCAAmC,CACnC,qCACD,CAEA,uCACC,QACD,CAGC,gEAEC,oCACD,CAIA,kEACC,YACD,CAGD,gHAGC,kCAAmC,CACnC,qCACD,CAEA,mCAEC,SAgBD,CAbC,0DAEC,UAAW,CAGX,QAAS,CAGT,eAAgB,CAGhB,QACD,CAGD,kCAEC,SAWD,CATC,uDAEC,QAMD,CAHC,yFACC,eACD,CASD,kFACC,mCACD,CAvFF,qCA2FE,QAEF,CAYC,+FACC,cACD,CAEA,iJAEC,mCACD,CAEA,qHACC,aACD,CAIC,6JACC,wBAAyB,CACzB,2BACD,CAGA,2JACC,yBAA0B,CAC1B,4BACD,CAID,qGACC,mCACD,CAGA,yLACC,mCACD,CAWA,qHACC,cACD,CAIC,6JACC,yBAA0B,CAC1B,4BACD,CAGA,2JACC,wBAAyB,CACzB,2BACD,CAID,qGACC,oCACD,CAGA,yLACC,oCACD",sourcesContent:['/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../mixins/_unselectable.css";\n\n.ck.ck-toolbar {\n\t@mixin ck-unselectable;\n\n\tdisplay: flex;\n\tflex-flow: row nowrap;\n\talign-items: center;\n\n\t& > .ck-toolbar__items {\n\t\tdisplay: flex;\n\t\tflex-flow: row wrap;\n\t\talign-items: center;\n\t\tflex-grow: 1;\n\n\t}\n\n\t& .ck.ck-toolbar__separator {\n\t\tdisplay: inline-block;\n\n\t\t/*\n\t\t * A leading or trailing separator makes no sense (separates from nothing on one side).\n\t\t * For instance, it can happen when toolbar items (also separators) are getting grouped one by one and\n\t\t * moved to another toolbar in the dropdown.\n\t\t */\n\t\t&:first-child,\n\t\t&:last-child {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n\t& .ck-toolbar__line-break {\n\t\tflex-basis: 100%;\n\t}\n\n\t&.ck-toolbar_grouping > .ck-toolbar__items {\n\t\tflex-wrap: nowrap;\n\t}\n\n\t&.ck-toolbar_vertical > .ck-toolbar__items {\n\t\tflex-direction: column;\n\t}\n\n\t&.ck-toolbar_floating > .ck-toolbar__items {\n\t\tflex-wrap: nowrap;\n\t}\n\n\t& > .ck.ck-toolbar__grouped-dropdown {\n\t\t& > .ck-dropdown__button .ck-dropdown__arrow {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Makes element unselectable.\n */\n@define-mixin ck-unselectable {\n\t-moz-user-select: none;\n\t-webkit-user-select: none;\n\t-ms-user-select: none;\n\tuser-select: none\n}\n",'/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_rounded.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n.ck.ck-toolbar {\n\t@mixin ck-rounded-corners;\n\n\tbackground: var(--ck-color-toolbar-background);\n\tpadding: 0 var(--ck-spacing-small);\n\tborder: 1px solid var(--ck-color-toolbar-border);\n\n\t& .ck.ck-toolbar__separator {\n\t\talign-self: stretch;\n\t\twidth: 1px;\n\t\tmin-width: 1px;\n\t\tbackground: var(--ck-color-toolbar-border);\n\n\t\t/*\n\t\t * These margins make the separators look better in balloon toolbars (when aligned with the "tip").\n\t\t * See https://github.com/ckeditor/ckeditor5/issues/7493.\n\t\t */\n\t\tmargin-top: var(--ck-spacing-small);\n\t\tmargin-bottom: var(--ck-spacing-small);\n\t}\n\n\t& .ck-toolbar__line-break {\n\t\theight: 0;\n\t}\n\n\t& > .ck-toolbar__items {\n\t\t& > *:not(.ck-toolbar__line-break) {\n\t\t\t/* (#11) Separate toolbar items. */\n\t\t\tmargin-right: var(--ck-spacing-small);\n\t\t}\n\n\t\t/* Don\'t display a separator after an empty items container, for instance,\n\t\twhen all items were grouped */\n\t\t&:empty + .ck.ck-toolbar__separator {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n\t& > .ck-toolbar__items > *:not(.ck-toolbar__line-break),\n\t& > .ck.ck-toolbar__grouped-dropdown {\n\t\t/* Make sure items wrapped to the next line have v-spacing */\n\t\tmargin-top: var(--ck-spacing-small);\n\t\tmargin-bottom: var(--ck-spacing-small);\n\t}\n\n\t&.ck-toolbar_vertical {\n\t\t/* Items in a vertical toolbar span the entire width. */\n\t\tpadding: 0;\n\n\t\t/* Specificity matters here. See https://github.com/ckeditor/ckeditor5-theme-lark/issues/168. */\n\t\t& > .ck-toolbar__items > .ck {\n\t\t\t/* Items in a vertical toolbar should span the horizontal space. */\n\t\t\twidth: 100%;\n\n\t\t\t/* Items in a vertical toolbar should have no margin. */\n\t\t\tmargin: 0;\n\n\t\t\t/* Items in a vertical toolbar span the entire width so rounded corners are pointless. */\n\t\t\tborder-radius: 0;\n\n\t\t\t/* Items in a vertical toolbar span the entire width so any border is pointless. */\n\t\t\tborder: 0;\n\t\t}\n\t}\n\n\t&.ck-toolbar_compact {\n\t\t/* No spacing around items. */\n\t\tpadding: 0;\n\n\t\t& > .ck-toolbar__items > * {\n\t\t\t/* Compact toolbar items have no spacing between them. */\n\t\t\tmargin: 0;\n\n\t\t\t/* "Middle" children should have no rounded corners. */\n\t\t\t&:not(:first-child):not(:last-child) {\n\t\t\t\tborder-radius: 0;\n\t\t\t}\n\t\t}\n\t}\n\n\t& > .ck.ck-toolbar__grouped-dropdown {\n\t\t/*\n\t\t * Dropdown button has asymmetric padding to fit the arrow.\n\t\t * This button has no arrow so let\'s revert that padding back to normal.\n\t\t */\n\t\t& > .ck.ck-button.ck-dropdown__button {\n\t\t\tpadding-left: var(--ck-spacing-tiny);\n\t\t}\n\t}\n\n\t@nest .ck-toolbar-container & {\n\t\tborder: 0;\n\t}\n}\n\n/* stylelint-disable */\n\n/*\n * Styles for RTL toolbars.\n *\n * Note: In some cases (e.g. a decoupled editor), the toolbar has its own "dir"\n * because its parent is not controlled by the editor framework.\n */\n[dir="rtl"] .ck.ck-toolbar,\n.ck.ck-toolbar[dir="rtl"] {\n\t& > .ck-toolbar__items > .ck {\n\t\tmargin-right: 0;\n\t}\n\n\t&:not(.ck-toolbar_compact) > .ck-toolbar__items > .ck {\n\t\t/* (#11) Separate toolbar items. */\n\t\tmargin-left: var(--ck-spacing-small);\n\t}\n\n\t& > .ck-toolbar__items > .ck:last-child {\n\t\tmargin-left: 0;\n\t}\n\n\t&.ck-toolbar_compact > .ck-toolbar__items > .ck {\n\t\t/* No rounded corners on the right side of the first child. */\n\t\t&:first-child {\n\t\t\tborder-top-left-radius: 0;\n\t\t\tborder-bottom-left-radius: 0;\n\t\t}\n\n\t\t/* No rounded corners on the left side of the last child. */\n\t\t&:last-child {\n\t\t\tborder-top-right-radius: 0;\n\t\t\tborder-bottom-right-radius: 0;\n\t\t}\n\t}\n\n\t/* Separate the the separator form the grouping dropdown when some items are grouped. */\n\t& > .ck.ck-toolbar__separator {\n\t\tmargin-left: var(--ck-spacing-small);\n\t}\n\n\t/* Some spacing between the items and the separator before the grouped items dropdown. */\n\t&.ck-toolbar_grouping > .ck-toolbar__items:not(:empty):not(:only-child) {\n\t\tmargin-left: var(--ck-spacing-small);\n\t}\n}\n\n/*\n * Styles for LTR toolbars.\n *\n * Note: In some cases (e.g. a decoupled editor), the toolbar has its own "dir"\n * because its parent is not controlled by the editor framework.\n */\n[dir="ltr"] .ck.ck-toolbar,\n.ck.ck-toolbar[dir="ltr"] {\n\t& > .ck-toolbar__items > .ck:last-child {\n\t\tmargin-right: 0;\n\t}\n\n\t&.ck-toolbar_compact > .ck-toolbar__items > .ck {\n\t\t/* No rounded corners on the right side of the first child. */\n\t\t&:first-child {\n\t\t\tborder-top-right-radius: 0;\n\t\t\tborder-bottom-right-radius: 0;\n\t\t}\n\n\t\t/* No rounded corners on the left side of the last child. */\n\t\t&:last-child {\n\t\t\tborder-top-left-radius: 0;\n\t\t\tborder-bottom-left-radius: 0;\n\t\t}\n\t}\n\n\t/* Separate the the separator form the grouping dropdown when some items are grouped. */\n\t& > .ck.ck-toolbar__separator {\n\t\tmargin-right: var(--ck-spacing-small);\n\t}\n\n\t/* Some spacing between the items and the separator before the grouped items dropdown. */\n\t&.ck-toolbar_grouping > .ck-toolbar__items:not(:empty):not(:only-child) {\n\t\tmargin-right: var(--ck-spacing-small);\n\t}\n}\n\n/* stylelint-enable */\n',"/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);e["a"]=a},function(t,e,n){"use strict";var o=n(2);var i=n.n(o);var r=n(3);var s=n.n(r);var a=s()(i.a);a.push([t.i,".ck.ck-list{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex-direction:column}.ck.ck-list .ck-list__item,.ck.ck-list .ck-list__separator{display:block}.ck.ck-list .ck-list__item>:focus{position:relative;z-index:var(--ck-z-default)}.ck.ck-list{border-radius:0}.ck-rounded-corners .ck.ck-list,.ck.ck-list.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-list{list-style-type:none;background:var(--ck-color-list-background)}.ck.ck-list__item{cursor:default;min-width:12em}.ck.ck-list__item .ck-button{min-height:unset;width:100%;text-align:left;border-radius:0;padding:calc(var(--ck-line-height-base)*0.2*var(--ck-font-size-base)) calc(var(--ck-line-height-base)*0.4*var(--ck-font-size-base))}.ck.ck-list__item .ck-button .ck-button__label{line-height:calc(var(--ck-line-height-base)*1.2*var(--ck-font-size-base))}.ck.ck-list__item .ck-button:active{box-shadow:none}.ck.ck-list__item .ck-button.ck-on{background:var(--ck-color-list-button-on-background);color:var(--ck-color-list-button-on-text)}.ck.ck-list__item .ck-button.ck-on:active{box-shadow:none}.ck.ck-list__item .ck-button.ck-on:hover:not(.ck-disabled){background:var(--ck-color-list-button-on-background-focus)}.ck.ck-list__item .ck-button.ck-on:focus:not(.ck-disabled){border-color:var(--ck-color-base-background)}.ck.ck-list__item .ck-button:hover:not(.ck-disabled){background:var(--ck-color-list-button-hover-background)}.ck.ck-list__item .ck-switchbutton.ck-on{background:var(--ck-color-list-background);color:inherit}.ck.ck-list__item .ck-switchbutton.ck-on:hover:not(.ck-disabled){background:var(--ck-color-list-button-hover-background);color:inherit}.ck.ck-list__separator{height:1px;width:100%;background:var(--ck-color-base-border)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/list/list.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_unselectable.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/list/list.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAOA,YCEC,qBAAsB,CACtB,wBAAyB,CACzB,oBAAqB,CACrB,gBAAgB,CDFhB,YAAa,CACb,qBAcD,CAZC,2DAEC,aACD,CAKA,kCACC,iBAAkB,CAClB,2BACD,CEfD,YCEC,eDGD,CALA,+DCME,qCDDF,CALA,YAGC,oBAAqB,CACrB,0CACD,CAEA,kBACC,cAAe,CACf,cA2DD,CAzDC,6BACC,gBAAiB,CACjB,UAAW,CACX,eAAgB,CAChB,eAAgB,CAKhB,mIAiCD,CA7BC,+CAEC,yEACD,CAEA,oCACC,eACD,CAEA,mCACC,oDAAqD,CACrD,yCAaD,CAXC,0CACC,eACD,CAEA,2DACC,0DACD,CAEA,2DACC,4CACD,CAGD,qDACC,uDACD,CAMA,yCACC,0CAA2C,CAC3C,aAMD,CAJC,iEACC,uDAAwD,CACxD,aACD,CAKH,uBACC,UAAW,CACX,UAAW,CACX,sCACD",sourcesContent:['/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../mixins/_unselectable.css";\n\n.ck.ck-list {\n\t@mixin ck-unselectable;\n\n\tdisplay: flex;\n\tflex-direction: column;\n\n\t& .ck-list__item,\n\t& .ck-list__separator {\n\t\tdisplay: block;\n\t}\n\n\t/* Make sure that whatever child of the list item gets focus, it remains on the\n\ttop. Thanks to that, styles like box-shadow, outline, etc. are not masked by\n\tadjacent list items. */\n\t& .ck-list__item > *:focus {\n\t\tposition: relative;\n\t\tz-index: var(--ck-z-default);\n\t}\n}\n',"/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Makes element unselectable.\n */\n@define-mixin ck-unselectable {\n\t-moz-user-select: none;\n\t-webkit-user-select: none;\n\t-ms-user-select: none;\n\tuser-select: none\n}\n",'/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_disabled.css";\n@import "../../../mixins/_rounded.css";\n@import "../../../mixins/_shadow.css";\n\n.ck.ck-list {\n\t@mixin ck-rounded-corners;\n\n\tlist-style-type: none;\n\tbackground: var(--ck-color-list-background);\n}\n\n.ck.ck-list__item {\n\tcursor: default;\n\tmin-width: 12em;\n\n\t& .ck-button {\n\t\tmin-height: unset;\n\t\twidth: 100%;\n\t\ttext-align: left;\n\t\tborder-radius: 0;\n\n\t\t/* List items should have the same height. Use absolute units to make sure it is so\n\t\t because e.g. different heading styles may have different height\n\t\t https://github.com/ckeditor/ckeditor5-heading/issues/63 */\n\t\tpadding:\n\t\t\tcalc(.2 * var(--ck-line-height-base) * var(--ck-font-size-base))\n\t\t\tcalc(.4 * var(--ck-line-height-base) * var(--ck-font-size-base));\n\n\t\t& .ck-button__label {\n\t\t\t/* https://github.com/ckeditor/ckeditor5-heading/issues/63 */\n\t\t\tline-height: calc(1.2 * var(--ck-line-height-base) * var(--ck-font-size-base));\n\t\t}\n\n\t\t&:active {\n\t\t\tbox-shadow: none;\n\t\t}\n\n\t\t&.ck-on {\n\t\t\tbackground: var(--ck-color-list-button-on-background);\n\t\t\tcolor: var(--ck-color-list-button-on-text);\n\n\t\t\t&:active {\n\t\t\t\tbox-shadow: none;\n\t\t\t}\n\n\t\t\t&:hover:not(.ck-disabled) {\n\t\t\t\tbackground: var(--ck-color-list-button-on-background-focus);\n\t\t\t}\n\n\t\t\t&:focus:not(.ck-disabled) {\n\t\t\t\tborder-color: var(--ck-color-base-background);\n\t\t\t}\n\t\t}\n\n\t\t&:hover:not(.ck-disabled) {\n\t\t\tbackground: var(--ck-color-list-button-hover-background);\n\t\t}\n\t}\n\n\t/* It\'s unnecessary to change the background/text of a switch toggle; it has different ways\n\tof conveying its state (like the switcher) */\n\t& .ck-switchbutton {\n\t\t&.ck-on {\n\t\t\tbackground: var(--ck-color-list-background);\n\t\t\tcolor: inherit;\n\n\t\t\t&:hover:not(.ck-disabled) {\n\t\t\t\tbackground: var(--ck-color-list-button-hover-background);\n\t\t\t\tcolor: inherit;\n\t\t\t}\n\t\t}\n\t}\n}\n\n.ck.ck-list__separator {\n\theight: 1px;\n\twidth: 100%;\n\tbackground: var(--ck-color-base-border);\n}\n',"/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);e["a"]=a},function(t,e,n){"use strict";var o=n(2);var i=n.n(o);var r=n(3);var s=n.n(r);var a=s()(i.a);a.push([t.i,":root{--ck-toolbar-dropdown-max-width:60vw}.ck.ck-toolbar-dropdown>.ck-dropdown__panel{width:max-content;max-width:var(--ck-toolbar-dropdown-max-width)}.ck.ck-toolbar-dropdown>.ck-dropdown__panel .ck-button:focus{z-index:calc(var(--ck-z-default) + 1)}.ck.ck-toolbar-dropdown .ck-toolbar{border:0}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/dropdown/toolbardropdown.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/toolbardropdown.css"],names:[],mappings:"AAKA,MACC,oCACD,CAEA,4CAEC,iBAAkB,CAClB,8CAOD,CAJE,6DACC,qCACD,CCZF,oCACC,QACD",sourcesContent:["/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-toolbar-dropdown-max-width: 60vw;\n}\n\n.ck.ck-toolbar-dropdown > .ck-dropdown__panel {\n\t/* https://github.com/ckeditor/ckeditor5/issues/5586 */\n\twidth: max-content;\n\tmax-width: var(--ck-toolbar-dropdown-max-width);\n\n\t& .ck-button {\n\t\t&:focus {\n\t\t\tz-index: calc(var(--ck-z-default) + 1);\n\t\t}\n\t}\n}\n","/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-toolbar-dropdown .ck-toolbar {\n\tborder: 0;\n}\n"],sourceRoot:""}]);e["a"]=a},function(t,e,n){"use strict";var o=n(2);var i=n.n(o);var r=n(3);var s=n.n(r);var a=s()(i.a);a.push([t.i,".ck.ck-dropdown .ck-dropdown__panel .ck-list{border-radius:0}.ck-rounded-corners .ck.ck-dropdown .ck-dropdown__panel .ck-list,.ck.ck-dropdown .ck-dropdown__panel .ck-list.ck-rounded-corners{border-radius:var(--ck-border-radius);border-top-left-radius:0}.ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:first-child .ck-button{border-radius:0}.ck-rounded-corners .ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:first-child .ck-button,.ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:first-child .ck-button.ck-rounded-corners{border-radius:var(--ck-border-radius);border-top-left-radius:0;border-bottom-left-radius:0;border-bottom-right-radius:0}.ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:last-child .ck-button{border-radius:0}.ck-rounded-corners .ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:last-child .ck-button,.ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:last-child .ck-button.ck-rounded-corners{border-radius:var(--ck-border-radius);border-top-left-radius:0;border-top-right-radius:0}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/listdropdown.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAOA,6CCIC,eDqBD,CAzBA,iICQE,qCAAsC,CDJtC,wBAqBF,CAfE,mFCND,eDYC,CANA,6MCFA,qCAAsC,CDIpC,wBAAyB,CACzB,2BAA4B,CAC5B,4BAEF,CAEA,kFCdD,eDmBC,CALA,2MCVA,qCAAsC,CDYpC,wBAAyB,CACzB,yBAEF",sourcesContent:['/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_rounded.css";\n\n.ck.ck-dropdown .ck-dropdown__panel .ck-list {\n\t/* Disabled radius of top-left border to be consistent with .dropdown__button\n\thttps://github.com/ckeditor/ckeditor5/issues/816 */\n\t@mixin ck-rounded-corners {\n\t\tborder-top-left-radius: 0;\n\t}\n\n\t/* Make sure the button belonging to the first/last child of the list goes well with the\n\tborder radius of the entire panel. */\n\t& .ck-list__item {\n\t\t&:first-child .ck-button {\n\t\t\t@mixin ck-rounded-corners {\n\t\t\t\tborder-top-left-radius: 0;\n\t\t\t\tborder-bottom-left-radius: 0;\n\t\t\t\tborder-bottom-right-radius: 0;\n\t\t\t}\n\t\t}\n\n\t\t&:last-child .ck-button {\n\t\t\t@mixin ck-rounded-corners {\n\t\t\t\tborder-top-left-radius: 0;\n\t\t\t\tborder-top-right-radius: 0;\n\t\t\t}\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);e["a"]=a},function(t,e,n){"use strict";var o=n(2);var i=n.n(o);var r=n(3);var s=n.n(r);var a=s()(i.a);a.push([t.i,":root{--ck-color-editable-blur-selection:#d9d9d9}.ck.ck-editor__editable:not(.ck-editor__nested-editable){border-radius:0}.ck-rounded-corners .ck.ck-editor__editable:not(.ck-editor__nested-editable),.ck.ck-editor__editable:not(.ck-editor__nested-editable).ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-editor__editable:not(.ck-editor__nested-editable).ck-focused{outline:none;border:var(--ck-focus-ring);box-shadow:var(--ck-inner-shadow),0 0}.ck.ck-editor__editable_inline{overflow:auto;padding:0 var(--ck-spacing-standard);border:1px solid transparent}.ck.ck-editor__editable_inline[dir=ltr]{text-align:left}.ck.ck-editor__editable_inline[dir=rtl]{text-align:right}.ck.ck-editor__editable_inline>:first-child{margin-top:var(--ck-spacing-large)}.ck.ck-editor__editable_inline>:last-child{margin-bottom:var(--ck-spacing-large)}.ck.ck-editor__editable_inline.ck-blurred ::selection{background:var(--ck-color-editable-blur-selection)}.ck.ck-balloon-panel.ck-toolbar-container[class*=arrow_n]:after{border-bottom-color:var(--ck-color-base-foreground)}.ck.ck-balloon-panel.ck-toolbar-container[class*=arrow_s]:after{border-top-color:var(--ck-color-base-foreground)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/editorui/editorui.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_focus.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AAWA,MACC,0CACD,CAEA,yDCJC,eDWD,CAPA,yJCAE,qCDOF,CAJC,oEERA,YAAa,CACb,2BAA2B,CCF3B,qCHYA,CAGD,+BACC,aAAc,CACd,oCAAqC,CACrC,4BAwBD,CAtBC,wCACC,eACD,CAEA,wCACC,gBACD,CAGA,4CACC,kCACD,CAGA,2CACC,qCACD,CAGA,sDACC,kDACD,CAKA,gEACC,mDACD,CAIA,gEACC,gDACD",sourcesContent:['/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_rounded.css";\n@import "../../../mixins/_disabled.css";\n@import "../../../mixins/_shadow.css";\n@import "../../../mixins/_focus.css";\n@import "../../mixins/_button.css";\n\n:root {\n\t--ck-color-editable-blur-selection: hsl(0, 0%, 85%);\n}\n\n.ck.ck-editor__editable:not(.ck-editor__nested-editable) {\n\t@mixin ck-rounded-corners;\n\n\t&.ck-focused {\n\t\t@mixin ck-focus-ring;\n\t\t@mixin ck-box-shadow var(--ck-inner-shadow);\n\t}\n}\n\n.ck.ck-editor__editable_inline {\n\toverflow: auto;\n\tpadding: 0 var(--ck-spacing-standard);\n\tborder: 1px solid transparent;\n\n\t&[dir="ltr"] {\n\t\ttext-align: left;\n\t}\n\n\t&[dir="rtl"] {\n\t\ttext-align: right;\n\t}\n\n\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/116 */\n\t& > *:first-child {\n\t\tmargin-top: var(--ck-spacing-large);\n\t}\n\n\t/* https://github.com/ckeditor/ckeditor5/issues/847 */\n\t& > *:last-child {\n\t\tmargin-bottom: var(--ck-spacing-large);\n\t}\n\n\t/* https://github.com/ckeditor/ckeditor5/issues/6517 */\n\t&.ck-blurred ::selection {\n\t\tbackground: var(--ck-color-editable-blur-selection);\n\t}\n}\n\n/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/111 */\n.ck.ck-balloon-panel.ck-toolbar-container[class*="arrow_n"] {\n\t&::after {\n\t\tborder-bottom-color: var(--ck-color-base-foreground);\n\t}\n}\n\n.ck.ck-balloon-panel.ck-toolbar-container[class*="arrow_s"] {\n\t&::after {\n\t\tborder-top-color: var(--ck-color-base-foreground);\n\t}\n}\n',"/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n","/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A visual style of focused element's border.\n */\n@define-mixin ck-focus-ring {\n\t/* Disable native outline. */\n\toutline: none;\n\tborder: var(--ck-focus-ring)\n}\n","/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n"],sourceRoot:""}]);e["a"]=a},function(t,e,n){"use strict";var o=n(2);var i=n.n(o);var r=n(3);var s=n.n(r);var a=s()(i.a);a.push([t.i,".ck.ck-label{display:block}.ck.ck-voice-label{display:none}.ck.ck-label{font-weight:700}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/label/label.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/label/label.css"],names:[],mappings:"AAKA,aACC,aACD,CAEA,mBACC,YACD,CCNA,aACC,eACD",sourcesContent:["/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-label {\n\tdisplay: block;\n}\n\n.ck.ck-voice-label {\n\tdisplay: none;\n}\n","/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-label {\n\tfont-weight: bold;\n}\n"],sourceRoot:""}]);e["a"]=a},function(t,e,n){"use strict";var o=n(2);var i=n.n(o);var r=n(3);var s=n.n(r);var a=s()(i.a);a.push([t.i,".ck.ck-form__header{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:space-between}:root{--ck-form-header-height:38px}.ck.ck-form__header{padding:var(--ck-spacing-small) var(--ck-spacing-large);height:var(--ck-form-header-height);line-height:var(--ck-form-header-height);border-bottom:1px solid var(--ck-color-base-border)}.ck.ck-form__header .ck-form__header__label{font-weight:700}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/formheader/formheader.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/formheader/formheader.css"],names:[],mappings:"AAKA,oBACC,YAAa,CACb,kBAAmB,CACnB,gBAAiB,CACjB,kBAAmB,CACnB,6BACD,CCNA,MACC,4BACD,CAEA,oBACC,uDAAwD,CACxD,mCAAoC,CACpC,wCAAyC,CACzC,mDAKD,CAHC,4CACC,eACD",sourcesContent:["/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-form__header {\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: nowrap;\n\talign-items: center;\n\tjustify-content: space-between;\n}\n","/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-form-header-height: 38px;\n}\n\n.ck.ck-form__header {\n\tpadding: var(--ck-spacing-small) var(--ck-spacing-large);\n\theight: var(--ck-form-header-height);\n\tline-height: var(--ck-form-header-height);\n\tborder-bottom: 1px solid var(--ck-color-base-border);\n\n\t& .ck-form__header__label {\n\t\tfont-weight: bold;\n\t}\n}\n"],sourceRoot:""}]);e["a"]=a},function(t,e,n){"use strict";var o=n(2);var i=n.n(o);var r=n(3);var s=n.n(r);var a=s()(i.a);a.push([t.i,":root{--ck-input-text-width:18em}.ck.ck-input-text{border-radius:0}.ck-rounded-corners .ck.ck-input-text,.ck.ck-input-text.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-input-text{background:var(--ck-color-input-background);border:1px solid var(--ck-color-input-border);padding:var(--ck-spacing-extra-tiny) var(--ck-spacing-medium);min-width:var(--ck-input-text-width);min-height:var(--ck-ui-component-min-height);transition:box-shadow .1s ease-in-out,border .1s ease-in-out}.ck.ck-input-text:focus{outline:none;border:var(--ck-focus-ring);box-shadow:var(--ck-focus-outer-shadow),0 0}.ck.ck-input-text[readonly]{border:1px solid var(--ck-color-input-disabled-border);background:var(--ck-color-input-disabled-background);color:var(--ck-color-input-disabled-text)}.ck.ck-input-text[readonly]:focus{box-shadow:var(--ck-focus-disabled-outer-shadow),0 0}.ck.ck-input-text.ck-error{border-color:var(--ck-color-input-error-border);animation:ck-text-input-shake .3s ease both}.ck.ck-input-text.ck-error:focus{box-shadow:var(--ck-focus-error-outer-shadow),0 0}@keyframes ck-text-input-shake{20%{transform:translateX(-2px)}40%{transform:translateX(2px)}60%{transform:translateX(-1px)}80%{transform:translateX(1px)}}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/inputtext/inputtext.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_focus.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AASA,MACC,0BACD,CAEA,kBCFC,eDwCD,CAtCA,2ECEE,qCDoCF,CAtCA,kBAGC,2CAA4C,CAC5C,6CAA8C,CAC9C,6DAA8D,CAC9D,oCAAqC,CAGrC,4CAA6C,CAG7C,4DA0BD,CAxBC,wBEjBA,YAAa,CACb,2BAA2B,CCF3B,2CHqBA,CAEA,4BACC,sDAAuD,CACvD,oDAAqD,CACrD,yCAMD,CAJC,kCG5BD,oDH+BC,CAGD,2BACC,+CAAgD,CAChD,2CAKD,CAHC,iCGtCD,iDHwCC,CAIF,+BACC,IACC,0BACD,CAEA,IACC,yBACD,CAEA,IACC,0BACD,CAEA,IACC,yBACD,CACD",sourcesContent:['/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_rounded.css";\n@import "../../../mixins/_focus.css";\n@import "../../../mixins/_shadow.css";\n\n:root {\n\t--ck-input-text-width: 18em;\n}\n\n.ck.ck-input-text {\n\t@mixin ck-rounded-corners;\n\n\tbackground: var(--ck-color-input-background);\n\tborder: 1px solid var(--ck-color-input-border);\n\tpadding: var(--ck-spacing-extra-tiny) var(--ck-spacing-medium);\n\tmin-width: var(--ck-input-text-width);\n\n\t/* This is important to stay of the same height as surrounding buttons */\n\tmin-height: var(--ck-ui-component-min-height);\n\n\t/* Apply some smooth transition to the box-shadow and border. */\n\ttransition: box-shadow .1s ease-in-out, border .1s ease-in-out;\n\n\t&:focus {\n\t\t@mixin ck-focus-ring;\n\t\t@mixin ck-box-shadow var(--ck-focus-outer-shadow);\n\t}\n\n\t&[readonly] {\n\t\tborder: 1px solid var(--ck-color-input-disabled-border);\n\t\tbackground: var(--ck-color-input-disabled-background);\n\t\tcolor: var(--ck-color-input-disabled-text);\n\n\t\t&:focus {\n\t\t\t/* The read-only input should have a slightly less visible shadow when focused. */\n\t\t\t@mixin ck-box-shadow var(--ck-focus-disabled-outer-shadow);\n\t\t}\n\t}\n\n\t&.ck-error {\n\t\tborder-color: var(--ck-color-input-error-border);\n\t\tanimation: ck-text-input-shake .3s ease both;\n\n\t\t&:focus {\n\t\t\t@mixin ck-box-shadow var(--ck-focus-error-outer-shadow);\n\t\t}\n\t}\n}\n\n@keyframes ck-text-input-shake {\n\t20% {\n\t\ttransform: translateX(-2px);\n\t}\n\n\t40% {\n\t\ttransform: translateX(2px);\n\t}\n\n\t60% {\n\t\ttransform: translateX(-1px);\n\t}\n\n\t80% {\n\t\ttransform: translateX(1px);\n\t}\n}\n',"/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n","/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A visual style of focused element's border.\n */\n@define-mixin ck-focus-ring {\n\t/* Disable native outline. */\n\toutline: none;\n\tborder: var(--ck-focus-ring)\n}\n","/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n"],sourceRoot:""}]);e["a"]=a},function(t,e,n){"use strict";var o=n(2);var i=n.n(o);var r=n(3);var s=n.n(r);var a=s()(i.a);a.push([t.i,".ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper{display:flex;position:relative}.ck.ck-labeled-field-view .ck.ck-label{display:block;position:absolute}:root{--ck-labeled-field-view-transition:.1s cubic-bezier(0,0,0.24,0.95);--ck-labeled-field-empty-unfocused-max-width:100% - 2 * var(--ck-spacing-medium);--ck-color-labeled-field-label-background:var(--ck-color-base-background)}.ck.ck-labeled-field-view{border-radius:0}.ck-rounded-corners .ck.ck-labeled-field-view,.ck.ck-labeled-field-view.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper{width:100%}.ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{top:0}[dir=ltr] .ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{left:0}[dir=rtl] .ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{right:0}.ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{pointer-events:none;transform-origin:0 0;transform:translate(var(--ck-spacing-medium),-6px) scale(.75);background:var(--ck-color-labeled-field-label-background);padding:0 calc(var(--ck-font-size-tiny)*0.5);line-height:normal;font-weight:400;text-overflow:ellipsis;overflow:hidden;max-width:100%;transition:transform var(--ck-labeled-field-view-transition),padding var(--ck-labeled-field-view-transition),background var(--ck-labeled-field-view-transition)}.ck.ck-labeled-field-view.ck-error .ck-input:not([readonly])+.ck.ck-label,.ck.ck-labeled-field-view.ck-error>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{color:var(--ck-color-base-error)}.ck.ck-labeled-field-view .ck-labeled-field-view__status{font-size:var(--ck-font-size-small);margin-top:var(--ck-spacing-small);white-space:normal}.ck.ck-labeled-field-view .ck-labeled-field-view__status.ck-labeled-field-view__status_error{color:var(--ck-color-base-error)}.ck.ck-labeled-field-view.ck-disabled>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label,.ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{color:var(--ck-color-input-disabled-text)}[dir=ltr] .ck.ck-labeled-field-view.ck-disabled>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label,[dir=ltr] .ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{transform:translate(var(--ck-spacing-medium),calc(var(--ck-font-size-base)*0.6)) scale(1)}[dir=rtl] .ck.ck-labeled-field-view.ck-disabled>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label,[dir=rtl] .ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{transform:translate(calc(var(--ck-spacing-medium)*-1),calc(var(--ck-font-size-base)*0.6)) scale(1)}.ck.ck-labeled-field-view.ck-disabled>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label,.ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{max-width:calc(var(--ck-labeled-field-empty-unfocused-max-width));background:transparent;padding:0}.ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck-dropdown>.ck.ck-button{background:transparent}.ck.ck-labeled-field-view.ck-labeled-field-view_empty>.ck.ck-labeled-field-view__input-wrapper>.ck-dropdown>.ck-button>.ck-button__label{opacity:0}.ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder)>.ck.ck-labeled-field-view__input-wrapper>.ck-dropdown+.ck-label{max-width:calc(var(--ck-labeled-field-empty-unfocused-max-width) - var(--ck-dropdown-arrow-size) - var(--ck-spacing-standard))}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/labeledfield/labeledfieldview.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/labeledfield/labeledfieldview.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAMC,mEACC,YAAa,CACb,iBACD,CAEA,uCACC,aAAc,CACd,iBACD,CCND,MACC,kEAAsE,CACtE,gFAAiF,CACjF,yEACD,CAEA,0BCHC,eD4GD,CAzGA,2FCCE,qCDwGF,CAtGC,mEACC,UAmCD,CAjCC,gFACC,KA+BD,CAhCA,0FAIE,MA4BF,CAhCA,0FAQE,OAwBF,CAhCA,gFAWC,mBAAoB,CACpB,oBAAqB,CAGrB,6DAA+D,CAE/D,yDAA0D,CAC1D,4CAA8C,CAC9C,kBAAoB,CACpB,eAAmB,CAGnB,sBAAuB,CACvB,eAAgB,CAEhB,cAAe,CAEf,+JAID,CAQA,mKACC,gCACD,CAGD,yDACC,mCAAoC,CACpC,kCAAmC,CAInC,kBAKD,CAHC,6FACC,gCACD,CAID,4OAEC,yCACD,CAIA,wSAGE,yFAYF,CAfA,wSAOE,kGAQF,CAfA,oRAWC,iEAAkE,CAElE,sBAAuB,CACvB,SACD,CAKA,8FACC,sBACD,CAGA,yIACC,SACD,CAGA,kMACC,8HACD",sourcesContent:["/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-labeled-field-view {\n\t& > .ck.ck-labeled-field-view__input-wrapper {\n\t\tdisplay: flex;\n\t\tposition: relative;\n\t}\n\n\t& .ck.ck-label {\n\t\tdisplay: block;\n\t\tposition: absolute;\n\t}\n}\n",'/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n@import "../../../mixins/_rounded.css";\n\n:root {\n\t--ck-labeled-field-view-transition: .1s cubic-bezier(0, 0, 0.24, 0.95);\n\t--ck-labeled-field-empty-unfocused-max-width: 100% - 2 * var(--ck-spacing-medium);\n\t--ck-color-labeled-field-label-background: var(--ck-color-base-background);\n}\n\n.ck.ck-labeled-field-view {\n\t@mixin ck-rounded-corners;\n\n\t& > .ck.ck-labeled-field-view__input-wrapper {\n\t\twidth: 100%;\n\n\t\t& > .ck.ck-label {\n\t\t\ttop: 0px;\n\n\t\t\t@mixin ck-dir ltr {\n\t\t\t\tleft: 0px;\n\t\t\t}\n\n\t\t\t@mixin ck-dir rtl {\n\t\t\t\tright: 0px;\n\t\t\t}\n\n\t\t\tpointer-events: none;\n\t\t\ttransform-origin: 0 0;\n\n\t\t\t/* By default, display the label scaled down above the field. */\n\t\t\ttransform: translate(var(--ck-spacing-medium), -6px) scale(.75);\n\n\t\t\tbackground: var(--ck-color-labeled-field-label-background);\n\t\t\tpadding: 0 calc(.5 * var(--ck-font-size-tiny));\n\t\t\tline-height: initial;\n\t\t\tfont-weight: normal;\n\n\t\t\t/* Prevent overflow when the label is longer than the input */\n\t\t\ttext-overflow: ellipsis;\n\t\t\toverflow: hidden;\n\n\t\t\tmax-width: 100%;\n\n\t\t\ttransition:\n\t\t\t\ttransform var(--ck-labeled-field-view-transition),\n\t\t\t\tpadding var(--ck-labeled-field-view-transition),\n\t\t\t\tbackground var(--ck-labeled-field-view-transition);\n\t\t}\n\t}\n\n\t&.ck-error {\n\t\t& > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label {\n\t\t\tcolor: var(--ck-color-base-error);\n\t\t}\n\n\t\t& .ck-input:not([readonly]) + .ck.ck-label {\n\t\t\tcolor: var(--ck-color-base-error);\n\t\t}\n\t}\n\n\t& .ck-labeled-field-view__status {\n\t\tfont-size: var(--ck-font-size-small);\n\t\tmargin-top: var(--ck-spacing-small);\n\n\t\t/* Let the info wrap to the next line to avoid stretching the layout horizontally.\n\t\tThe status could be very long. */\n\t\twhite-space: normal;\n\n\t\t&.ck-labeled-field-view__status_error {\n\t\t\tcolor: var(--ck-color-base-error);\n\t\t}\n\t}\n\n\t/* Disabled fields and fields that have no focus should fade out. */\n\t&.ck-disabled > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label,\n\t&.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused) > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label {\n\t\tcolor: var(--ck-color-input-disabled-text);\n\t}\n\n\t/* Fields that are disabled or not focused and without a placeholder should have full-sized labels. */\n\t/* stylelint-disable-next-line no-descending-specificity */\n\t&.ck-disabled > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label,\n\t&.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder) > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label {\n\t\t@mixin ck-dir ltr {\n\t\t\ttransform: translate(var(--ck-spacing-medium), calc(0.6 * var(--ck-font-size-base))) scale(1);\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\ttransform: translate(calc(-1 * var(--ck-spacing-medium)), calc(0.6 * var(--ck-font-size-base))) scale(1);\n\t\t}\n\n\t\t/* Compensate for the default translate position. */\n\t\tmax-width: calc(var(--ck-labeled-field-empty-unfocused-max-width));\n\n\t\tbackground: transparent;\n\t\tpadding: 0;\n\t}\n\n\t/*------ DropdownView integration ----------------------------------------------------------------------------------- */\n\n\t/* Make sure dropdown\' background color in any of dropdown\'s state does not collide with labeled field. */\n\t& > .ck.ck-labeled-field-view__input-wrapper > .ck-dropdown > .ck.ck-button {\n\t\tbackground: transparent;\n\t}\n\n\t/* When the dropdown is "empty", the labeled field label replaces its label. */\n\t&.ck-labeled-field-view_empty > .ck.ck-labeled-field-view__input-wrapper > .ck-dropdown > .ck-button > .ck-button__label {\n\t\topacity: 0;\n\t}\n\n\t/* Make sure the label of the empty, unfocused input does not cover the dropdown arrow. */\n\t&.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder) > .ck.ck-labeled-field-view__input-wrapper > .ck-dropdown + .ck-label {\n\t\tmax-width: calc(var(--ck-labeled-field-empty-unfocused-max-width) - var(--ck-dropdown-arrow-size) - var(--ck-spacing-standard));\n\t}\n}\n',"/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);e["a"]=a},function(t,e,n){"use strict";var o=n(2);var i=n.n(o);var r=n(3);var s=n.n(r);var a=s()(i.a);a.push([t.i,':root{--ck-balloon-panel-arrow-z-index:calc(var(--ck-z-default) - 3)}.ck.ck-balloon-panel{display:none;position:absolute;z-index:var(--ck-z-modal)}.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:after,.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:before{content:"";position:absolute}.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:before{z-index:var(--ck-balloon-panel-arrow-z-index)}.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:after{z-index:calc(var(--ck-balloon-panel-arrow-z-index) + 1)}.ck.ck-balloon-panel[class*=arrow_n]:before{z-index:var(--ck-balloon-panel-arrow-z-index)}.ck.ck-balloon-panel[class*=arrow_n]:after{z-index:calc(var(--ck-balloon-panel-arrow-z-index) + 1)}.ck.ck-balloon-panel[class*=arrow_s]:before{z-index:var(--ck-balloon-panel-arrow-z-index)}.ck.ck-balloon-panel[class*=arrow_s]:after{z-index:calc(var(--ck-balloon-panel-arrow-z-index) + 1)}.ck.ck-balloon-panel.ck-balloon-panel_visible{display:block}:root{--ck-balloon-arrow-offset:2px;--ck-balloon-arrow-height:10px;--ck-balloon-arrow-half-width:8px;--ck-balloon-arrow-drop-shadow:0 2px 2px var(--ck-color-shadow-drop)}.ck.ck-balloon-panel{border-radius:0}.ck-rounded-corners .ck.ck-balloon-panel,.ck.ck-balloon-panel.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-balloon-panel{box-shadow:var(--ck-drop-shadow),0 0;min-height:15px;background:var(--ck-color-panel-background);border:1px solid var(--ck-color-panel-border)}.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:after,.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:before{width:0;height:0;border-style:solid}.ck.ck-balloon-panel[class*=arrow_n]:after,.ck.ck-balloon-panel[class*=arrow_n]:before{border-left-width:var(--ck-balloon-arrow-half-width);border-bottom-width:var(--ck-balloon-arrow-height);border-right-width:var(--ck-balloon-arrow-half-width);border-top-width:0}.ck.ck-balloon-panel[class*=arrow_n]:before{border-bottom-color:var(--ck-color-panel-border)}.ck.ck-balloon-panel[class*=arrow_n]:after,.ck.ck-balloon-panel[class*=arrow_n]:before{border-left-color:transparent;border-right-color:transparent;border-top-color:transparent}.ck.ck-balloon-panel[class*=arrow_n]:after{border-bottom-color:var(--ck-color-panel-background);margin-top:var(--ck-balloon-arrow-offset)}.ck.ck-balloon-panel[class*=arrow_s]:after,.ck.ck-balloon-panel[class*=arrow_s]:before{border-left-width:var(--ck-balloon-arrow-half-width);border-bottom-width:0;border-right-width:var(--ck-balloon-arrow-half-width);border-top-width:var(--ck-balloon-arrow-height)}.ck.ck-balloon-panel[class*=arrow_s]:before{border-top-color:var(--ck-color-panel-border);filter:drop-shadow(var(--ck-balloon-arrow-drop-shadow))}.ck.ck-balloon-panel[class*=arrow_s]:after,.ck.ck-balloon-panel[class*=arrow_s]:before{border-left-color:transparent;border-bottom-color:transparent;border-right-color:transparent}.ck.ck-balloon-panel[class*=arrow_s]:after{border-top-color:var(--ck-color-panel-background);margin-bottom:var(--ck-balloon-arrow-offset)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_n:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_n:before{left:50%;margin-left:calc(var(--ck-balloon-arrow-half-width)*-1);top:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_nw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_nw:before{left:calc(var(--ck-balloon-arrow-half-width)*2);top:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_ne:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_ne:before{right:calc(var(--ck-balloon-arrow-half-width)*2);top:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_s:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_s:before{left:50%;margin-left:calc(var(--ck-balloon-arrow-half-width)*-1);bottom:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_sw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_sw:before{left:calc(var(--ck-balloon-arrow-half-width)*2);bottom:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_se:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_se:before{right:calc(var(--ck-balloon-arrow-half-width)*2);bottom:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_sme:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_sme:before{right:25%;margin-right:calc(var(--ck-balloon-arrow-half-width)*2);bottom:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_smw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_smw:before{left:25%;margin-left:calc(var(--ck-balloon-arrow-half-width)*2);bottom:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_nme:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_nme:before{right:25%;margin-right:calc(var(--ck-balloon-arrow-half-width)*2);top:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_nmw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_nmw:before{left:25%;margin-left:calc(var(--ck-balloon-arrow-half-width)*2);top:calc(var(--ck-balloon-arrow-height)*-1)}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/panel/balloonpanel.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/panel/balloonpanel.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AAKA,MAEC,8DACD,CAEA,qBACC,YAAa,CACb,iBAAkB,CAElB,yBAyCD,CAtCE,+GAEC,UAAW,CACX,iBACD,CAEA,wDACC,6CACD,CAEA,uDACC,uDACD,CAIA,4CACC,6CACD,CAEA,2CACC,uDACD,CAIA,4CACC,6CACD,CAEA,2CACC,uDACD,CAGD,8CACC,aACD,CC9CD,MACC,6BAA8B,CAC9B,8BAA+B,CAC/B,iCAAkC,CAClC,oEACD,CAEA,qBCJC,eD4ID,CAxIA,iFCAE,qCDwIF,CAxIA,qBENC,oCAA8B,CFU9B,eAAgB,CAEhB,2CAA4C,CAC5C,6CAiID,CA9HE,+GAEC,OAAQ,CACR,QAAS,CACT,kBACD,CAIA,uFAEC,oDAAoH,CAApH,kDAAoH,CAApH,qDAAoH,CAApH,kBACD,CAEA,4CACC,gDACD,CAEA,uFAHC,6BAA8E,CAA9E,8BAA8E,CAA9E,4BAMD,CAHA,2CACC,oDAAkF,CAClF,yCACD,CAIA,uFAEC,oDAAoH,CAApH,qBAAoH,CAApH,qDAAoH,CAApH,+CACD,CAEA,4CACC,6CAAkE,CAClE,uDACD,CAEA,uFAJC,6BAAkE,CAAlE,+BAAkE,CAAlE,8BAOD,CAHA,2CACC,iDAAkF,CAClF,4CACD,CAIA,yGAEC,QAAS,CACT,uDAA0D,CAC1D,2CACD,CAIA,2GAEC,+CAAkD,CAClD,2CACD,CAIA,2GAEC,gDAAmD,CACnD,2CACD,CAIA,yGAEC,QAAS,CACT,uDAA0D,CAC1D,8CACD,CAIA,2GAEC,+CAAkD,CAClD,8CACD,CAIA,2GAEC,gDAAmD,CACnD,8CACD,CAIA,6GAEC,SAAU,CACV,uDAA0D,CAC1D,8CACD,CAIA,6GAEC,QAAS,CACT,sDAAyD,CACzD,8CACD,CAIA,6GAEC,SAAU,CACV,uDAA0D,CAC1D,2CACD,CAIA,6GAEC,QAAS,CACT,sDAAyD,CACzD,2CACD",sourcesContent:['/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t/* Make sure the balloon arrow does not float over its children. */\n\t--ck-balloon-panel-arrow-z-index: calc(var(--ck-z-default) - 3);\n}\n\n.ck.ck-balloon-panel {\n\tdisplay: none;\n\tposition: absolute;\n\n\tz-index: var(--ck-z-modal);\n\n\t&.ck-balloon-panel_with-arrow {\n\t\t&::before,\n\t\t&::after {\n\t\t\tcontent: "";\n\t\t\tposition: absolute;\n\t\t}\n\n\t\t&::before {\n\t\t\tz-index: var(--ck-balloon-panel-arrow-z-index);\n\t\t}\n\n\t\t&::after {\n\t\t\tz-index: calc(var(--ck-balloon-panel-arrow-z-index) + 1);\n\t\t}\n\t}\n\n\t&[class*="arrow_n"] {\n\t\t&::before {\n\t\t\tz-index: var(--ck-balloon-panel-arrow-z-index);\n\t\t}\n\n\t\t&::after {\n\t\t\tz-index: calc(var(--ck-balloon-panel-arrow-z-index) + 1);\n\t\t}\n\t}\n\n\t&[class*="arrow_s"] {\n\t\t&::before {\n\t\t\tz-index: var(--ck-balloon-panel-arrow-z-index);\n\t\t}\n\n\t\t&::after {\n\t\t\tz-index: calc(var(--ck-balloon-panel-arrow-z-index) + 1);\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_visible {\n\t\tdisplay: block;\n\t}\n}\n','/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_rounded.css";\n@import "../../../mixins/_shadow.css";\n\n:root {\n\t--ck-balloon-arrow-offset: 2px;\n\t--ck-balloon-arrow-height: 10px;\n\t--ck-balloon-arrow-half-width: 8px;\n\t--ck-balloon-arrow-drop-shadow: 0 2px 2px var(--ck-color-shadow-drop);\n}\n\n.ck.ck-balloon-panel {\n\t@mixin ck-rounded-corners;\n\t@mixin ck-drop-shadow;\n\n\tmin-height: 15px;\n\n\tbackground: var(--ck-color-panel-background);\n\tborder: 1px solid var(--ck-color-panel-border);\n\n\t&.ck-balloon-panel_with-arrow {\n\t\t&::before,\n\t\t&::after {\n\t\t\twidth: 0;\n\t\t\theight: 0;\n\t\t\tborder-style: solid;\n\t\t}\n\t}\n\n\t&[class*="arrow_n"] {\n\t\t&::before,\n\t\t&::after {\n\t\t\tborder-width: 0 var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width);\n\t\t}\n\n\t\t&::before {\n\t\t\tborder-color: transparent transparent var(--ck-color-panel-border) transparent;\n\t\t}\n\n\t\t&::after {\n\t\t\tborder-color: transparent transparent var(--ck-color-panel-background) transparent;\n\t\t\tmargin-top: var(--ck-balloon-arrow-offset);\n\t\t}\n\t}\n\n\t&[class*="arrow_s"] {\n\t\t&::before,\n\t\t&::after {\n\t\t\tborder-width: var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width) 0 var(--ck-balloon-arrow-half-width);\n\t\t}\n\n\t\t&::before {\n\t\t\tborder-color: var(--ck-color-panel-border) transparent transparent;\n\t\t\tfilter: drop-shadow(var(--ck-balloon-arrow-drop-shadow));\n\t\t}\n\n\t\t&::after {\n\t\t\tborder-color: var(--ck-color-panel-background) transparent transparent transparent;\n\t\t\tmargin-bottom: var(--ck-balloon-arrow-offset);\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_n {\n\t\t&::before,\n\t\t&::after {\n\t\t\tleft: 50%;\n\t\t\tmargin-left: calc(-1 * var(--ck-balloon-arrow-half-width));\n\t\t\ttop: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_nw {\n\t\t&::before,\n\t\t&::after {\n\t\t\tleft: calc(2 * var(--ck-balloon-arrow-half-width));\n\t\t\ttop: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_ne {\n\t\t&::before,\n\t\t&::after {\n\t\t\tright: calc(2 * var(--ck-balloon-arrow-half-width));\n\t\t\ttop: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_s {\n\t\t&::before,\n\t\t&::after {\n\t\t\tleft: 50%;\n\t\t\tmargin-left: calc(-1 * var(--ck-balloon-arrow-half-width));\n\t\t\tbottom: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_sw {\n\t\t&::before,\n\t\t&::after {\n\t\t\tleft: calc(2 * var(--ck-balloon-arrow-half-width));\n\t\t\tbottom: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_se {\n\t\t&::before,\n\t\t&::after {\n\t\t\tright: calc(2 * var(--ck-balloon-arrow-half-width));\n\t\t\tbottom: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_sme {\n\t\t&::before,\n\t\t&::after {\n\t\t\tright: 25%;\n\t\t\tmargin-right: calc(2 * var(--ck-balloon-arrow-half-width));\n\t\t\tbottom: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_smw {\n\t\t&::before,\n\t\t&::after {\n\t\t\tleft: 25%;\n\t\t\tmargin-left: calc(2 * var(--ck-balloon-arrow-half-width));\n\t\t\tbottom: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_nme {\n\t\t&::before,\n\t\t&::after {\n\t\t\tright: 25%;\n\t\t\tmargin-right: calc(2 * var(--ck-balloon-arrow-half-width));\n\t\t\ttop: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_nmw {\n\t\t&::before,\n\t\t&::after {\n\t\t\tleft: 25%;\n\t\t\tmargin-left: calc(2 * var(--ck-balloon-arrow-half-width));\n\t\t\ttop: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n","/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n"],sourceRoot:""}]);e["a"]=a},function(t,e,n){"use strict";var o=n(2);var i=n.n(o);var r=n(3);var s=n.n(r);var a=s()(i.a);a.push([t.i,".ck .ck-balloon-rotator__navigation{display:flex;align-items:center;justify-content:center}.ck .ck-balloon-rotator__content .ck-toolbar{justify-content:center}.ck .ck-balloon-rotator__navigation{background:var(--ck-color-toolbar-background);border-bottom:1px solid var(--ck-color-toolbar-border);padding:0 var(--ck-spacing-small)}.ck .ck-balloon-rotator__navigation>*{margin-right:var(--ck-spacing-small);margin-top:var(--ck-spacing-small);margin-bottom:var(--ck-spacing-small)}.ck .ck-balloon-rotator__navigation .ck-balloon-rotator__counter{margin-right:var(--ck-spacing-standard);margin-left:var(--ck-spacing-small)}.ck .ck-balloon-rotator__content .ck.ck-annotation-wrapper{box-shadow:none}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/panel/balloonrotator.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/panel/balloonrotator.css"],names:[],mappings:"AAKA,oCACC,YAAa,CACb,kBAAmB,CACnB,sBACD,CAKA,6CACC,sBACD,CCXA,oCACC,6CAA8C,CAC9C,sDAAuD,CACvD,iCAgBD,CAbC,sCACC,oCAAqC,CACrC,kCAAmC,CACnC,qCACD,CAGA,iEACC,uCAAwC,CAGxC,mCACD,CAMA,2DACC,eACD",sourcesContent:["/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck .ck-balloon-rotator__navigation {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n/* Buttons inside a toolbar should be centered when rotator bar is wider.\n * See: https://github.com/ckeditor/ckeditor5-ui/issues/495\n */\n.ck .ck-balloon-rotator__content .ck-toolbar {\n\tjustify-content: center;\n}\n","/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck .ck-balloon-rotator__navigation {\n\tbackground: var(--ck-color-toolbar-background);\n\tborder-bottom: 1px solid var(--ck-color-toolbar-border);\n\tpadding: 0 var(--ck-spacing-small);\n\n\t/* Let's keep similar appearance to `ck-toolbar`. */\n\t& > * {\n\t\tmargin-right: var(--ck-spacing-small);\n\t\tmargin-top: var(--ck-spacing-small);\n\t\tmargin-bottom: var(--ck-spacing-small);\n\t}\n\n\t/* Gives counter more breath than buttons. */\n\t& .ck-balloon-rotator__counter {\n\t\tmargin-right: var(--ck-spacing-standard);\n\n\t\t/* We need to use smaller margin because of previous button's right margin. */\n\t\tmargin-left: var(--ck-spacing-small);\n\t}\n}\n\n.ck .ck-balloon-rotator__content {\n\n\t/* Disable default annotation shadow inside rotator with fake panels. */\n\t& .ck.ck-annotation-wrapper {\n\t\tbox-shadow: none;\n\t}\n}\n"],sourceRoot:""}]);e["a"]=a},function(t,e,n){"use strict";var o=n(2);var i=n.n(o);var r=n(3);var s=n.n(r);var a=s()(i.a);a.push([t.i,".ck .ck-fake-panel{position:absolute;z-index:calc(var(--ck-z-modal) - 1)}.ck .ck-fake-panel div{position:absolute}.ck .ck-fake-panel div:first-child{z-index:2}.ck .ck-fake-panel div:nth-child(2){z-index:1}:root{--ck-balloon-fake-panel-offset-horizontal:6px;--ck-balloon-fake-panel-offset-vertical:6px}.ck .ck-fake-panel div{box-shadow:var(--ck-drop-shadow),0 0;min-height:15px;background:var(--ck-color-panel-background);border:1px solid var(--ck-color-panel-border);border-radius:var(--ck-border-radius);width:100%;height:100%}.ck .ck-fake-panel div:first-child{margin-left:var(--ck-balloon-fake-panel-offset-horizontal);margin-top:var(--ck-balloon-fake-panel-offset-vertical)}.ck .ck-fake-panel div:nth-child(2){margin-left:calc(var(--ck-balloon-fake-panel-offset-horizontal)*2);margin-top:calc(var(--ck-balloon-fake-panel-offset-vertical)*2)}.ck .ck-fake-panel div:nth-child(3){margin-left:calc(var(--ck-balloon-fake-panel-offset-horizontal)*3);margin-top:calc(var(--ck-balloon-fake-panel-offset-vertical)*3)}.ck .ck-balloon-panel_arrow_s+.ck-fake-panel,.ck .ck-balloon-panel_arrow_se+.ck-fake-panel,.ck .ck-balloon-panel_arrow_sw+.ck-fake-panel{--ck-balloon-fake-panel-offset-vertical:-6px}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/panel/fakepanel.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/panel/fakepanel.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AAKA,mBACC,iBAAkB,CAGlB,mCACD,CAEA,uBACC,iBACD,CAEA,mCACC,SACD,CAEA,oCACC,SACD,CCfA,MACC,6CAA8C,CAC9C,2CACD,CAGA,uBCJC,oCAA8B,CDO9B,eAAgB,CAEhB,2CAA4C,CAC5C,6CAA8C,CAC9C,qCAAsC,CAEtC,UAAW,CACX,WACD,CAEA,mCACC,0DAA2D,CAC3D,uDACD,CAEA,oCACC,kEAAqE,CACrE,+DACD,CACA,oCACC,kEAAqE,CACrE,+DACD,CAGA,yIAGC,4CACD",sourcesContent:["/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck .ck-fake-panel {\n\tposition: absolute;\n\n\t/* Fake panels should be placed under main balloon content. */\n\tz-index: calc(var(--ck-z-modal) - 1);\n}\n\n.ck .ck-fake-panel div {\n\tposition: absolute;\n}\n\n.ck .ck-fake-panel div:nth-child( 1 ) {\n\tz-index: 2;\n}\n\n.ck .ck-fake-panel div:nth-child( 2 ) {\n\tz-index: 1;\n}\n",'/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_shadow.css";\n\n:root {\n\t--ck-balloon-fake-panel-offset-horizontal: 6px;\n\t--ck-balloon-fake-panel-offset-vertical: 6px;\n}\n\n/* Let\'s use `.ck-balloon-panel` appearance. See: balloonpanel.css. */\n.ck .ck-fake-panel div {\n\t@mixin ck-drop-shadow;\n\n\tmin-height: 15px;\n\n\tbackground: var(--ck-color-panel-background);\n\tborder: 1px solid var(--ck-color-panel-border);\n\tborder-radius: var(--ck-border-radius);\n\n\twidth: 100%;\n\theight: 100%;\n}\n\n.ck .ck-fake-panel div:nth-child( 1 ) {\n\tmargin-left: var(--ck-balloon-fake-panel-offset-horizontal);\n\tmargin-top: var(--ck-balloon-fake-panel-offset-vertical);\n}\n\n.ck .ck-fake-panel div:nth-child( 2 ) {\n\tmargin-left: calc(var(--ck-balloon-fake-panel-offset-horizontal) * 2);\n\tmargin-top: calc(var(--ck-balloon-fake-panel-offset-vertical) * 2);\n}\n.ck .ck-fake-panel div:nth-child( 3 ) {\n\tmargin-left: calc(var(--ck-balloon-fake-panel-offset-horizontal) * 3);\n\tmargin-top: calc(var(--ck-balloon-fake-panel-offset-vertical) * 3);\n}\n\n/* If balloon is positioned above element, we need to move fake panel to the top. */\n.ck .ck-balloon-panel_arrow_s + .ck-fake-panel,\n.ck .ck-balloon-panel_arrow_se + .ck-fake-panel,\n.ck .ck-balloon-panel_arrow_sw + .ck-fake-panel {\n\t--ck-balloon-fake-panel-offset-vertical: -6px;\n}\n',"/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n"],sourceRoot:""}]);e["a"]=a},function(t,e,n){"use strict";var o=n(2);var i=n.n(o);var r=n(3);var s=n.n(r);var a=s()(i.a);a.push([t.i,".ck.ck-sticky-panel .ck-sticky-panel__content_sticky{z-index:var(--ck-z-modal);position:fixed;top:0}.ck.ck-sticky-panel .ck-sticky-panel__content_sticky_bottom-limit{top:auto;position:absolute}.ck.ck-sticky-panel .ck-sticky-panel__content_sticky{box-shadow:var(--ck-drop-shadow),0 0;border-width:0 1px 1px;border-top-left-radius:0;border-top-right-radius:0}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/panel/stickypanel.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/panel/stickypanel.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AAMC,qDACC,yBAA0B,CAC1B,cAAe,CACf,KACD,CAEA,kEACC,QAAS,CACT,iBACD,CCPA,qDCCA,oCAA8B,CDE7B,sBAAuB,CACvB,wBAAyB,CACzB,yBACD",sourcesContent:["/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-sticky-panel {\n\t& .ck-sticky-panel__content_sticky {\n\t\tz-index: var(--ck-z-modal); /* #315 */\n\t\tposition: fixed;\n\t\ttop: 0;\n\t}\n\n\t& .ck-sticky-panel__content_sticky_bottom-limit {\n\t\ttop: auto;\n\t\tposition: absolute;\n\t}\n}\n",'/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_shadow.css";\n\n.ck.ck-sticky-panel {\n\t& .ck-sticky-panel__content_sticky {\n\t\t@mixin ck-drop-shadow;\n\n\t\tborder-width: 0 1px 1px;\n\t\tborder-top-left-radius: 0;\n\t\tborder-top-right-radius: 0;\n\t}\n}\n',"/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n"],sourceRoot:""}]);e["a"]=a},function(t,e,n){"use strict";var o=n(2);var i=n.n(o);var r=n(3);var s=n.n(r);var a=s()(i.a);a.push([t.i,".ck.ck-block-toolbar-button{position:absolute;z-index:var(--ck-z-default)}:root{--ck-color-block-toolbar-button:var(--ck-color-text);--ck-block-toolbar-button-size:var(--ck-font-size-normal)}.ck.ck-block-toolbar-button{color:var(--ck-color-block-toolbar-button);font-size:var(--ck-block-toolbar-size)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/toolbar/blocktoolbar.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/toolbar/blocktoolbar.css"],names:[],mappings:"AAKA,4BACC,iBAAkB,CAClB,2BACD,CCHA,MACC,oDAAqD,CACrD,yDACD,CAEA,4BACC,0CAA2C,CAC3C,sCACD",sourcesContent:["/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-block-toolbar-button {\n\tposition: absolute;\n\tz-index: var(--ck-z-default);\n}\n","/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-color-block-toolbar-button: var(--ck-color-text);\n\t--ck-block-toolbar-button-size: var(--ck-font-size-normal);\n}\n\n.ck.ck-block-toolbar-button {\n\tcolor: var(--ck-color-block-toolbar-button);\n\tfont-size: var(--ck-block-toolbar-size);\n}\n"],sourceRoot:""}]);e["a"]=a},function(t,e,n){"use strict";var o=n(2);var i=n.n(o);var r=n(3);var s=n.n(r);var a=s()(i.a);a.push([t.i,".ck.ck-placeholder,.ck .ck-placeholder{position:relative}.ck.ck-placeholder:before,.ck .ck-placeholder:before{position:absolute;left:0;right:0;content:attr(data-placeholder);pointer-events:none}.ck.ck-read-only .ck-placeholder:before{display:none}.ck.ck-placeholder:before,.ck .ck-placeholder:before{cursor:text;color:var(--ck-color-engine-placeholder-text)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-engine/theme/placeholder.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-engine/placeholder.css"],names:[],mappings:"AAMA,uCAEC,iBAWD,CATC,qDACC,iBAAkB,CAClB,MAAO,CACP,OAAQ,CACR,8BAA+B,CAG/B,mBACD,CAKA,wCACC,YACD,CClBA,qDACC,WAAY,CACZ,6CACD",sourcesContent:["/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/* See ckeditor/ckeditor5#936. */\n.ck.ck-placeholder,\n.ck .ck-placeholder {\n\tposition: relative;\n\n\t&::before {\n\t\tposition: absolute;\n\t\tleft: 0;\n\t\tright: 0;\n\t\tcontent: attr(data-placeholder);\n\n\t\t/* See ckeditor/ckeditor5#469. */\n\t\tpointer-events: none;\n\t}\n}\n\n/* See ckeditor/ckeditor5#1987. */\n.ck.ck-read-only .ck-placeholder {\n\t&::before {\n\t\tdisplay: none;\n\t}\n}\n","/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/* See ckeditor/ckeditor5#936. */\n.ck.ck-placeholder, .ck .ck-placeholder {\n\t&::before {\n\t\tcursor: text;\n\t\tcolor: var(--ck-color-engine-placeholder-text);\n\t}\n}\n"],sourceRoot:""}]);e["a"]=a},function(t,e,n){"use strict";var o=n(2);var i=n.n(o);var r=n(3);var s=n.n(r);var a=s()(i.a);a.push([t.i,'.ck .ck-widget .ck-widget__type-around__button{display:block;position:absolute;overflow:hidden;z-index:var(--ck-z-default)}.ck .ck-widget .ck-widget__type-around__button svg{position:absolute;top:50%;left:50%;z-index:calc(var(--ck-z-default) + 2)}.ck .ck-widget .ck-widget__type-around__button.ck-widget__type-around__button_before{top:calc(var(--ck-widget-outline-thickness)*-0.5);left:min(10%,30px);transform:translateY(-50%)}.ck .ck-widget .ck-widget__type-around__button.ck-widget__type-around__button_after{bottom:calc(var(--ck-widget-outline-thickness)*-0.5);right:min(10%,30px);transform:translateY(50%)}.ck .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button:after,.ck .ck-widget>.ck-widget__type-around>.ck-widget__type-around__button:hover:after{content:"";display:block;position:absolute;top:1px;left:1px;z-index:calc(var(--ck-z-default) + 1)}.ck .ck-widget>.ck-widget__type-around>.ck-widget__type-around__fake-caret{display:none;position:absolute;left:0;right:0}.ck .ck-widget:hover>.ck-widget__type-around>.ck-widget__type-around__fake-caret{left:calc(var(--ck-widget-outline-thickness)*-1);right:calc(var(--ck-widget-outline-thickness)*-1)}.ck .ck-widget.ck-widget_type-around_show-fake-caret_before>.ck-widget__type-around>.ck-widget__type-around__fake-caret{top:calc(var(--ck-widget-outline-thickness)*-1 - 1px);display:block}.ck .ck-widget.ck-widget_type-around_show-fake-caret_after>.ck-widget__type-around>.ck-widget__type-around__fake-caret{bottom:calc(var(--ck-widget-outline-thickness)*-1 - 1px);display:block}.ck.ck-editor__editable.ck-read-only .ck-widget__type-around,.ck.ck-editor__editable.ck-restricted-editing_mode_restricted .ck-widget__type-around,.ck.ck-editor__editable.ck-widget__type-around_disabled .ck-widget__type-around{display:none}:root{--ck-widget-type-around-button-size:20px;--ck-color-widget-type-around-button-active:var(--ck-color-focus-border);--ck-color-widget-type-around-button-hover:var(--ck-color-widget-hover-border);--ck-color-widget-type-around-button-blurred-editable:var(--ck-color-widget-blurred-border);--ck-color-widget-type-around-button-radar-start-alpha:0;--ck-color-widget-type-around-button-radar-end-alpha:.3;--ck-color-widget-type-around-button-icon:var(--ck-color-base-background)}.ck .ck-widget .ck-widget__type-around__button{width:var(--ck-widget-type-around-button-size);height:var(--ck-widget-type-around-button-size);background:var(--ck-color-widget-type-around-button);border-radius:100px;transition:opacity var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),background var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);opacity:0;pointer-events:none}.ck .ck-widget .ck-widget__type-around__button svg{width:10px;height:8px;transform:translate(-50%,-50%);transition:transform .5s ease;margin-top:1px}.ck .ck-widget .ck-widget__type-around__button svg *{stroke-dasharray:10;stroke-dashoffset:0;fill:none;stroke:var(--ck-color-widget-type-around-button-icon);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.ck .ck-widget .ck-widget__type-around__button svg line{stroke-dasharray:7}.ck .ck-widget .ck-widget__type-around__button:hover{animation:ck-widget-type-around-button-sonar 1s ease infinite}.ck .ck-widget .ck-widget__type-around__button:hover svg polyline{animation:ck-widget-type-around-arrow-dash 2s linear}.ck .ck-widget .ck-widget__type-around__button:hover svg line{animation:ck-widget-type-around-arrow-tip-dash 2s linear}.ck .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button,.ck .ck-widget:hover>.ck-widget__type-around>.ck-widget__type-around__button{opacity:1;pointer-events:auto}.ck .ck-widget:not(.ck-widget_selected)>.ck-widget__type-around>.ck-widget__type-around__button{background:var(--ck-color-widget-type-around-button-hover)}.ck .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button,.ck .ck-widget>.ck-widget__type-around>.ck-widget__type-around__button:hover{background:var(--ck-color-widget-type-around-button-active)}.ck .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button:after,.ck .ck-widget>.ck-widget__type-around>.ck-widget__type-around__button:hover:after{width:calc(var(--ck-widget-type-around-button-size) - 2px);height:calc(var(--ck-widget-type-around-button-size) - 2px);border-radius:100px;background:linear-gradient(135deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.3))}.ck .ck-widget.ck-widget_with-selection-handle>.ck-widget__type-around>.ck-widget__type-around__button_before{margin-left:20px}.ck .ck-widget .ck-widget__type-around__fake-caret{pointer-events:none;height:1px;animation:ck-widget-type-around-fake-caret-pulse 1s linear infinite normal forwards;outline:1px solid hsla(0,0%,100%,.5);background:var(--ck-color-base-text)}.ck .ck-widget.ck-widget_selected.ck-widget_type-around_show-fake-caret_after,.ck .ck-widget.ck-widget_selected.ck-widget_type-around_show-fake-caret_before{outline-color:transparent}.ck .ck-widget.ck-widget_type-around_show-fake-caret_after.ck-widget_selected:hover,.ck .ck-widget.ck-widget_type-around_show-fake-caret_before.ck-widget_selected:hover{outline-color:var(--ck-color-widget-hover-border)}.ck .ck-widget.ck-widget_type-around_show-fake-caret_after>.ck-widget__type-around>.ck-widget__type-around__button,.ck .ck-widget.ck-widget_type-around_show-fake-caret_before>.ck-widget__type-around>.ck-widget__type-around__button{opacity:0;pointer-events:none}.ck .ck-widget.ck-widget_type-around_show-fake-caret_after.ck-widget_with-selection-handle.ck-widget_selected:hover>.ck-widget__selection-handle,.ck .ck-widget.ck-widget_type-around_show-fake-caret_after.ck-widget_with-selection-handle.ck-widget_selected>.ck-widget__selection-handle,.ck .ck-widget.ck-widget_type-around_show-fake-caret_before.ck-widget_with-selection-handle.ck-widget_selected:hover>.ck-widget__selection-handle,.ck .ck-widget.ck-widget_type-around_show-fake-caret_before.ck-widget_with-selection-handle.ck-widget_selected>.ck-widget__selection-handle{opacity:0}.ck .ck-widget.ck-widget_type-around_show-fake-caret_after.ck-widget_selected.ck-widget_with-resizer>.ck-widget__resizer,.ck .ck-widget.ck-widget_type-around_show-fake-caret_before.ck-widget_selected.ck-widget_with-resizer>.ck-widget__resizer{opacity:0}.ck[dir=rtl] .ck-widget.ck-widget_with-selection-handle .ck-widget__type-around>.ck-widget__type-around__button_before{margin-left:0;margin-right:20px}.ck-editor__nested-editable.ck-editor__editable_selected .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button,.ck-editor__nested-editable.ck-editor__editable_selected .ck-widget:hover>.ck-widget__type-around>.ck-widget__type-around__button{opacity:0;pointer-events:none}.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button:not(:hover){background:var(--ck-color-widget-type-around-button-blurred-editable)}.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button:not(:hover) svg *{stroke:#999}@keyframes ck-widget-type-around-arrow-dash{0%{stroke-dashoffset:10}20%,to{stroke-dashoffset:0}}@keyframes ck-widget-type-around-arrow-tip-dash{0%,20%{stroke-dashoffset:7}40%,to{stroke-dashoffset:0}}@keyframes ck-widget-type-around-button-sonar{0%{box-shadow:0 0 0 0 hsla(var(--ck-color-focus-border-coordinates),var(--ck-color-widget-type-around-button-radar-start-alpha))}50%{box-shadow:0 0 0 5px hsla(var(--ck-color-focus-border-coordinates),var(--ck-color-widget-type-around-button-radar-end-alpha))}to{box-shadow:0 0 0 5px hsla(var(--ck-color-focus-border-coordinates),var(--ck-color-widget-type-around-button-radar-start-alpha))}}@keyframes ck-widget-type-around-fake-caret-pulse{0%{opacity:1}49%{opacity:1}50%{opacity:0}99%{opacity:0}to{opacity:1}}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-widget/theme/widgettypearound.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-widget/widgettypearound.css"],names:[],mappings:"AASC,+CACC,aAAc,CACd,iBAAkB,CAClB,eAAgB,CAChB,2BAwBD,CAtBC,mDACC,iBAAkB,CAClB,OAAQ,CACR,QAAS,CACT,qCACD,CAEA,qFAEC,iDAAoD,CACpD,kBAAoB,CAEpB,0BACD,CAEA,oFAEC,oDAAuD,CACvD,mBAAqB,CAErB,yBACD,CAUA,mLACC,UAAW,CACX,aAAc,CACd,iBAAkB,CAClB,OAAQ,CACR,QAAS,CACT,qCACD,CAMD,2EACC,YAAa,CACb,iBAAkB,CAClB,MAAO,CACP,OACD,CAOA,iFACC,gDAAqD,CACrD,iDACD,CAKA,wHACC,qDAA0D,CAC1D,aACD,CAKA,uHACC,wDAA6D,CAC7D,aACD,CAoBD,mOACC,YACD,CC3GA,MACC,wCAAyC,CACzC,wEAAyE,CACzE,8EAA+E,CAC/E,2FAA4F,CAC5F,wDAAyD,CACzD,uDAAwD,CACxD,yEACD,CAgBC,+CACC,8CAA+C,CAC/C,+CAAgD,CAChD,oDAAqD,CACrD,mBAAoB,CACpB,uMAAyM,CAb1M,SAAU,CACV,mBA0DA,CA1CC,mDACC,UAAW,CACX,UAAW,CACX,8BAA+B,CAC/B,6BAA8B,CAC9B,cAgBD,CAdC,qDACC,mBAAoB,CACpB,mBAAoB,CAEpB,SAAU,CACV,qDAAsD,CACtD,kBAAmB,CACnB,oBAAqB,CACrB,qBACD,CAEA,wDACC,kBACD,CAGD,qDAIC,6DAcD,CARE,kEACC,oDACD,CAEA,8DACC,wDACD,CAUF,uKAvED,SAAU,CACV,mBAwEC,CAOD,gGACC,0DACD,CAOA,uKAEC,2DAQD,CANC,mLACC,0DAA2D,CAC3D,2DAA4D,CAC5D,mBAAoB,CACpB,uEACD,CAOD,8GACC,gBACD,CAKA,mDACC,mBAAoB,CACpB,UAAW,CACX,mFAAoF,CAMpF,oCAAwC,CACxC,oCACD,CAOC,6JAEC,yBACD,CAUA,yKACC,iDACD,CAMA,uOAlJD,SAAU,CACV,mBAmJC,CASE,0jBACC,SACD,CASF,mPACC,SACD,CASF,uHACC,aAAc,CACd,iBACD,CAYG,iRAlMF,SAAU,CACV,mBAmME,CAQH,kIACC,qEAKD,CAHC,wIACC,WACD,CAGD,4CACC,GACC,oBACD,CACA,OACC,mBACD,CACD,CAEA,gDACC,OACC,mBACD,CACA,OACC,mBACD,CACD,CAEA,8CACC,GACC,6HACD,CACA,IACC,6HACD,CACA,GACC,+HACD,CACD,CAEA,kDACC,GACC,SACD,CACA,IACC,SACD,CACA,IACC,SACD,CACA,IACC,SACD,CACA,GACC,SACD,CACD",sourcesContent:['/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck .ck-widget {\n\t/*\n\t * Styles of the type around buttons\n\t */\n\t& .ck-widget__type-around__button {\n\t\tdisplay: block;\n\t\tposition: absolute;\n\t\toverflow: hidden;\n\t\tz-index: var(--ck-z-default);\n\n\t\t& svg {\n\t\t\tposition: absolute;\n\t\t\ttop: 50%;\n\t\t\tleft: 50%;\n\t\t\tz-index: calc(var(--ck-z-default) + 2);\n\t\t}\n\n\t\t&.ck-widget__type-around__button_before {\n\t\t\t/* Place it in the middle of the outline */\n\t\t\ttop: calc(-0.5 * var(--ck-widget-outline-thickness));\n\t\t\tleft: min(10%, 30px);\n\n\t\t\ttransform: translateY(-50%);\n\t\t}\n\n\t\t&.ck-widget__type-around__button_after {\n\t\t\t/* Place it in the middle of the outline */\n\t\t\tbottom: calc(-0.5 * var(--ck-widget-outline-thickness));\n\t\t\tright: min(10%, 30px);\n\n\t\t\ttransform: translateY(50%);\n\t\t}\n\t}\n\n\t/*\n\t * Styles for the buttons when:\n\t * - the widget is selected,\n\t * - or the button is being hovered (regardless of the widget state).\n\t */\n\t&.ck-widget_selected > .ck-widget__type-around > .ck-widget__type-around__button,\n\t& > .ck-widget__type-around > .ck-widget__type-around__button:hover {\n\t\t&::after {\n\t\t\tcontent: "";\n\t\t\tdisplay: block;\n\t\t\tposition: absolute;\n\t\t\ttop: 1px;\n\t\t\tleft: 1px;\n\t\t\tz-index: calc(var(--ck-z-default) + 1);\n\t\t}\n\t}\n\n\t/*\n\t * Styles for the horizontal "fake caret" which is displayed when the user navigates using the keyboard.\n\t */\n\t& > .ck-widget__type-around > .ck-widget__type-around__fake-caret {\n\t\tdisplay: none;\n\t\tposition: absolute;\n\t\tleft: 0;\n\t\tright: 0;\n\t}\n\n\t/*\n\t * When the widget is hovered the "fake caret" would normally be narrower than the\n\t * extra outline displayed around the widget. Let\'s extend the "fake caret" to match\n\t * the full width of the widget.\n\t */\n\t&:hover > .ck-widget__type-around > .ck-widget__type-around__fake-caret {\n\t\tleft: calc( -1 * var(--ck-widget-outline-thickness) );\n\t\tright: calc( -1 * var(--ck-widget-outline-thickness) );\n\t}\n\n\t/*\n\t * Styles for the horizontal "fake caret" when it should be displayed before the widget (backward keyboard navigation).\n\t */\n\t&.ck-widget_type-around_show-fake-caret_before > .ck-widget__type-around > .ck-widget__type-around__fake-caret {\n\t\ttop: calc( -1 * var(--ck-widget-outline-thickness) - 1px );\n\t\tdisplay: block;\n\t}\n\n\t/*\n\t * Styles for the horizontal "fake caret" when it should be displayed after the widget (forward keyboard navigation).\n\t */\n\t&.ck-widget_type-around_show-fake-caret_after > .ck-widget__type-around > .ck-widget__type-around__fake-caret {\n\t\tbottom: calc( -1 * var(--ck-widget-outline-thickness) - 1px );\n\t\tdisplay: block;\n\t}\n}\n\n/*\n * Integration with the read-only mode of the editor.\n */\n.ck.ck-editor__editable.ck-read-only .ck-widget__type-around {\n\tdisplay: none;\n}\n\n/*\n * Integration with the restricted editing mode (feature) of the editor.\n */\n.ck.ck-editor__editable.ck-restricted-editing_mode_restricted .ck-widget__type-around {\n\tdisplay: none;\n}\n\n/*\n * Integration with the #isEnabled property of the WidgetTypeAround plugin.\n */\n.ck.ck-editor__editable.ck-widget__type-around_disabled .ck-widget__type-around {\n\tdisplay: none;\n}\n','/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-widget-type-around-button-size: 20px;\n\t--ck-color-widget-type-around-button-active: var(--ck-color-focus-border);\n\t--ck-color-widget-type-around-button-hover: var(--ck-color-widget-hover-border);\n\t--ck-color-widget-type-around-button-blurred-editable: var(--ck-color-widget-blurred-border);\n\t--ck-color-widget-type-around-button-radar-start-alpha: 0;\n\t--ck-color-widget-type-around-button-radar-end-alpha: .3;\n\t--ck-color-widget-type-around-button-icon: var(--ck-color-base-background);\n}\n\n@define-mixin ck-widget-type-around-button-visible {\n\topacity: 1;\n\tpointer-events: auto;\n}\n\n@define-mixin ck-widget-type-around-button-hidden {\n\topacity: 0;\n\tpointer-events: none;\n}\n\n.ck .ck-widget {\n\t/*\n\t * Styles of the type around buttons\n\t */\n\t& .ck-widget__type-around__button {\n\t\twidth: var(--ck-widget-type-around-button-size);\n\t\theight: var(--ck-widget-type-around-button-size);\n\t\tbackground: var(--ck-color-widget-type-around-button);\n\t\tborder-radius: 100px;\n\t\ttransition: opacity var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve), background var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);\n\n\t\t@mixin ck-widget-type-around-button-hidden;\n\n\t\t& svg {\n\t\t\twidth: 10px;\n\t\t\theight: 8px;\n\t\t\ttransform: translate(-50%,-50%);\n\t\t\ttransition: transform .5s ease;\n\t\t\tmargin-top: 1px;\n\n\t\t\t& * {\n\t\t\t\tstroke-dasharray: 10;\n\t\t\t\tstroke-dashoffset: 0;\n\n\t\t\t\tfill: none;\n\t\t\t\tstroke: var(--ck-color-widget-type-around-button-icon);\n\t\t\t\tstroke-width: 1.5px;\n\t\t\t\tstroke-linecap: round;\n\t\t\t\tstroke-linejoin: round;\n\t\t\t}\n\n\t\t\t& line {\n\t\t\t\tstroke-dasharray: 7;\n\t\t\t}\n\t\t}\n\n\t\t&:hover {\n\t\t\t/*\n\t\t\t * Display the "sonar" around the button when hovered.\n\t\t\t */\n\t\t\tanimation: ck-widget-type-around-button-sonar 1s ease infinite;\n\n\t\t\t/*\n\t\t\t * Animate active button\'s icon.\n\t\t\t */\n\t\t\t& svg {\n\t\t\t\t& polyline {\n\t\t\t\t\tanimation: ck-widget-type-around-arrow-dash 2s linear;\n\t\t\t\t}\n\n\t\t\t\t& line {\n\t\t\t\t\tanimation: ck-widget-type-around-arrow-tip-dash 2s linear;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/*\n\t * Show type around buttons when the widget gets selected or being hovered.\n\t */\n\t&.ck-widget_selected,\n\t&:hover {\n\t\t& > .ck-widget__type-around > .ck-widget__type-around__button {\n\t\t\t@mixin ck-widget-type-around-button-visible;\n\t\t}\n\t}\n\n\t/*\n\t * Styles for the buttons when the widget is NOT selected (but the buttons are visible\n\t * and still can be hovered).\n\t */\n\t&:not(.ck-widget_selected) > .ck-widget__type-around > .ck-widget__type-around__button {\n\t\tbackground: var(--ck-color-widget-type-around-button-hover);\n\t}\n\n\t/*\n\t * Styles for the buttons when:\n\t * - the widget is selected,\n\t * - or the button is being hovered (regardless of the widget state).\n\t */\n\t&.ck-widget_selected > .ck-widget__type-around > .ck-widget__type-around__button,\n\t& > .ck-widget__type-around > .ck-widget__type-around__button:hover {\n\t\tbackground: var(--ck-color-widget-type-around-button-active);\n\n\t\t&::after {\n\t\t\twidth: calc(var(--ck-widget-type-around-button-size) - 2px);\n\t\t\theight: calc(var(--ck-widget-type-around-button-size) - 2px);\n\t\t\tborder-radius: 100px;\n\t\t\tbackground: linear-gradient(135deg, hsla(0,0%,100%,0) 0%, hsla(0,0%,100%,.3) 100%);\n\t\t}\n\t}\n\n\t/*\n\t * Styles for the "before" button when the widget has a selection handle. Because some space\n\t * is consumed by the handle, the button must be moved slightly to the right to let it breathe.\n\t */\n\t&.ck-widget_with-selection-handle > .ck-widget__type-around > .ck-widget__type-around__button_before {\n\t\tmargin-left: 20px;\n\t}\n\n\t/*\n\t * Styles for the horizontal "fake caret" which is displayed when the user navigates using the keyboard.\n\t */\n\t& .ck-widget__type-around__fake-caret {\n\t\tpointer-events: none;\n\t\theight: 1px;\n\t\tanimation: ck-widget-type-around-fake-caret-pulse linear 1s infinite normal forwards;\n\n\t\t/*\n\t\t * The semi-transparent-outline+background combo improves the contrast\n\t\t * when the background underneath the fake caret is dark.\n\t\t */\n\t\toutline: solid 1px hsla(0, 0%, 100%, .5);\n\t\tbackground: var(--ck-color-base-text);\n\t}\n\n\t/*\n\t * Styles of the widget when the "fake caret" is blinking (e.g. upon keyboard navigation).\n\t * Despite the widget being physically selected in the model, its outline should disappear.\n\t */\n\t&.ck-widget_selected {\n\t\t&.ck-widget_type-around_show-fake-caret_before,\n\t\t&.ck-widget_type-around_show-fake-caret_after {\n\t\t\toutline-color: transparent;\n\t\t}\n\t}\n\n\t&.ck-widget_type-around_show-fake-caret_before,\n\t&.ck-widget_type-around_show-fake-caret_after {\n\t\t/*\n\t\t * When the "fake caret" is visible we simulate that the widget is not selected\n\t\t * (despite being physically selected), so the outline color should be for the\n\t\t * unselected widget.\n\t\t */\n\t\t&.ck-widget_selected:hover {\n\t\t\toutline-color: var(--ck-color-widget-hover-border);\n\t\t}\n\n\t\t/*\n\t\t * Styles of the type around buttons when the "fake caret" is blinking (e.g. upon keyboard navigation).\n\t\t * In this state, the type around buttons would collide with the fake carets so they should disappear.\n\t\t */\n\t\t& > .ck-widget__type-around > .ck-widget__type-around__button {\n\t\t\t@mixin ck-widget-type-around-button-hidden;\n\t\t}\n\n\t\t/*\n\t\t * Fake horizontal caret integration with the selection handle. When the caret is visible, simply\n\t\t * hide the handle because it intersects with the caret (and does not make much sense anyway).\n\t\t */\n\t\t&.ck-widget_with-selection-handle {\n\t\t\t&.ck-widget_selected,\n\t\t\t&.ck-widget_selected:hover {\n\t\t\t\t& > .ck-widget__selection-handle {\n\t\t\t\t\topacity: 0\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t/*\n\t\t * Fake horizontal caret integration with the resize UI. When the caret is visible, simply\n\t\t * hide the resize UI because it creates too much noise. It can be visible when the user\n\t\t * hovers the widget, though.\n\t\t */\n\t\t&.ck-widget_selected.ck-widget_with-resizer > .ck-widget__resizer {\n\t\t\topacity: 0\n\t\t}\n\t}\n}\n\n/*\n * Styles for the "before" button when the widget has a selection handle in an RTL environment.\n * The selection handler is aligned to the right side of the widget so there is no need to create\n * additional space for it next to the "before" button.\n */\n.ck[dir="rtl"] .ck-widget.ck-widget_with-selection-handle .ck-widget__type-around > .ck-widget__type-around__button_before {\n\tmargin-left: 0;\n\tmargin-right: 20px;\n}\n\n/*\n * Hide type around buttons when the widget is selected as a child of a selected\n * nested editable (e.g. mulit-cell table selection).\n *\n * See https://github.com/ckeditor/ckeditor5/issues/7263.\n */\n.ck-editor__nested-editable.ck-editor__editable_selected {\n\t& .ck-widget {\n\t\t&.ck-widget_selected,\n\t\t&:hover {\n\t\t\t& > .ck-widget__type-around > .ck-widget__type-around__button {\n\t\t\t\t@mixin ck-widget-type-around-button-hidden;\n\t\t\t}\n\t\t}\n\t}\n}\n\n/*\n * Styles for the buttons when the widget is selected but the user clicked outside of the editor (blurred the editor).\n */\n.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected > .ck-widget__type-around > .ck-widget__type-around__button:not(:hover) {\n\tbackground: var(--ck-color-widget-type-around-button-blurred-editable);\n\n\t& svg * {\n\t\tstroke: hsl(0,0%,60%);\n\t}\n}\n\n@keyframes ck-widget-type-around-arrow-dash {\n\t0% {\n\t\tstroke-dashoffset: 10;\n\t}\n\t20%, 100% {\n\t\tstroke-dashoffset: 0;\n\t}\n}\n\n@keyframes ck-widget-type-around-arrow-tip-dash {\n\t0%, 20% {\n\t\tstroke-dashoffset: 7;\n\t}\n\t40%, 100% {\n\t\tstroke-dashoffset: 0;\n\t}\n}\n\n@keyframes ck-widget-type-around-button-sonar {\n\t0% {\n\t\tbox-shadow: 0 0 0 0 hsla(var(--ck-color-focus-border-coordinates), var(--ck-color-widget-type-around-button-radar-start-alpha));\n\t}\n\t50% {\n\t\tbox-shadow: 0 0 0 5px hsla(var(--ck-color-focus-border-coordinates), var(--ck-color-widget-type-around-button-radar-end-alpha));\n\t}\n\t100% {\n\t\tbox-shadow: 0 0 0 5px hsla(var(--ck-color-focus-border-coordinates), var(--ck-color-widget-type-around-button-radar-start-alpha));\n\t}\n}\n\n@keyframes ck-widget-type-around-fake-caret-pulse {\n\t0% {\n\t\topacity: 1;\n\t}\n\t49% {\n\t\topacity: 1;\n\t}\n\t50% {\n\t\topacity: 0;\n\t}\n\t99% {\n\t\topacity: 0;\n\t}\n\t100% {\n\t\topacity: 1;\n\t}\n}\n'],sourceRoot:""}]);e["a"]=a},function(t,e,n){"use strict";var o=n(2);var i=n.n(o);var r=n(3);var s=n.n(r);var a=s()(i.a);a.push([t.i,":root{--ck-color-resizer:var(--ck-color-focus-border);--ck-color-resizer-tooltip-background:#262626;--ck-color-resizer-tooltip-text:#f2f2f2;--ck-resizer-border-radius:var(--ck-border-radius);--ck-resizer-tooltip-offset:10px}.ck .ck-widget,.ck .ck-widget.ck-widget_with-selection-handle{position:relative}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle{position:absolute}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle .ck-icon{display:block}.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected>.ck-widget__selection-handle,.ck .ck-widget.ck-widget_with-selection-handle:hover>.ck-widget__selection-handle{visibility:visible}.ck .ck-size-view{background:var(--ck-color-resizer-tooltip-background);color:var(--ck-color-resizer-tooltip-text);border:1px solid var(--ck-color-resizer-tooltip-text);border-radius:var(--ck-resizer-border-radius);font-size:var(--ck-font-size-tiny);display:block;padding:var(--ck-spacing-small)}.ck .ck-size-view.ck-orientation-bottom-left,.ck .ck-size-view.ck-orientation-bottom-right,.ck .ck-size-view.ck-orientation-top-left,.ck .ck-size-view.ck-orientation-top-right{position:absolute}.ck .ck-size-view.ck-orientation-top-left{top:var(--ck-resizer-tooltip-offset);left:var(--ck-resizer-tooltip-offset)}.ck .ck-size-view.ck-orientation-top-right{top:var(--ck-resizer-tooltip-offset);right:var(--ck-resizer-tooltip-offset)}.ck .ck-size-view.ck-orientation-bottom-right{bottom:var(--ck-resizer-tooltip-offset);right:var(--ck-resizer-tooltip-offset)}.ck .ck-size-view.ck-orientation-bottom-left{bottom:var(--ck-resizer-tooltip-offset);left:var(--ck-resizer-tooltip-offset)}:root{--ck-widget-outline-thickness:3px;--ck-widget-handler-icon-size:16px;--ck-widget-handler-animation-duration:200ms;--ck-widget-handler-animation-curve:ease;--ck-color-widget-blurred-border:#dedede;--ck-color-widget-hover-border:#ffc83d;--ck-color-widget-editable-focus-background:var(--ck-color-base-background);--ck-color-widget-drag-handler-icon-color:var(--ck-color-base-background)}.ck .ck-widget{outline-width:var(--ck-widget-outline-thickness);outline-style:solid;outline-color:transparent;transition:outline-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve)}.ck .ck-widget.ck-widget_selected,.ck .ck-widget.ck-widget_selected:hover{outline:var(--ck-widget-outline-thickness) solid var(--ck-color-focus-border)}.ck .ck-widget:hover{outline-color:var(--ck-color-widget-hover-border)}.ck .ck-editor__nested-editable{border:1px solid transparent}.ck .ck-editor__nested-editable.ck-editor__nested-editable_focused,.ck .ck-editor__nested-editable:focus{outline:none;border:var(--ck-focus-ring);box-shadow:var(--ck-inner-shadow),0 0;background-color:var(--ck-color-widget-editable-focus-background)}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle{padding:4px;box-sizing:border-box;background-color:transparent;opacity:0;transition:background-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),visibility var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),opacity var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);border-radius:var(--ck-border-radius) var(--ck-border-radius) 0 0;transform:translateY(-100%);left:calc(0px - var(--ck-widget-outline-thickness))}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle .ck-icon{width:var(--ck-widget-handler-icon-size);height:var(--ck-widget-handler-icon-size);color:var(--ck-color-widget-drag-handler-icon-color)}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle .ck-icon .ck-icon__selected-indicator{opacity:0;transition:opacity .3s var(--ck-widget-handler-animation-curve)}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle:hover .ck-icon .ck-icon__selected-indicator{opacity:1}.ck .ck-widget.ck-widget_with-selection-handle:hover>.ck-widget__selection-handle{opacity:1;background-color:var(--ck-color-widget-hover-border)}.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected:hover>.ck-widget__selection-handle,.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected>.ck-widget__selection-handle{opacity:1;background-color:var(--ck-color-focus-border)}.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected:hover>.ck-widget__selection-handle .ck-icon .ck-icon__selected-indicator,.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected>.ck-widget__selection-handle .ck-icon .ck-icon__selected-indicator{opacity:1}.ck[dir=rtl] .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle{left:auto;right:calc(0px - var(--ck-widget-outline-thickness))}.ck.ck-editor__editable.ck-read-only .ck-widget{transition:none}.ck.ck-editor__editable.ck-read-only .ck-widget:not(.ck-widget_selected){--ck-widget-outline-thickness:0px}.ck.ck-editor__editable.ck-read-only .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle,.ck.ck-editor__editable.ck-read-only .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle:hover{background:var(--ck-color-widget-blurred-border)}.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected,.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected:hover{outline-color:var(--ck-color-widget-blurred-border)}.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected.ck-widget_with-selection-handle>.ck-widget__selection-handle,.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected.ck-widget_with-selection-handle>.ck-widget__selection-handle:hover,.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected:hover.ck-widget_with-selection-handle>.ck-widget__selection-handle,.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected:hover.ck-widget_with-selection-handle>.ck-widget__selection-handle:hover{background:var(--ck-color-widget-blurred-border)}.ck.ck-editor__editable>.ck-widget.ck-widget_with-selection-handle:first-child,.ck.ck-editor__editable blockquote>.ck-widget.ck-widget_with-selection-handle:first-child{margin-top:calc(1em + var(--ck-widget-handler-icon-size))}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-widget/theme/widget.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-widget/widget.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_focus.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AAKA,MACC,+CAAgD,CAChD,6CAAsD,CACtD,uCAAgD,CAEhD,kDAAmD,CACnD,gCACD,CAOA,8DAEC,iBAqBD,CAnBC,4EACC,iBAOD,CALC,qFAGC,aACD,CASD,iLACC,kBACD,CAGD,kBACC,qDAAsD,CACtD,0CAA2C,CAC3C,qDAAsD,CACtD,6CAA8C,CAC9C,kCAAmC,CACnC,aAAc,CACd,+BA4BD,CA1BC,gLAIC,iBACD,CAEA,0CACC,oCAAqC,CACrC,qCACD,CAEA,2CACC,oCAAqC,CACrC,sCACD,CAEA,8CACC,uCAAwC,CACxC,sCACD,CAEA,6CACC,uCAAwC,CACxC,qCACD,CCtED,MACC,iCAAkC,CAClC,kCAAmC,CACnC,4CAA6C,CAC7C,wCAAyC,CAEzC,wCAAiD,CACjD,sCAAkD,CAClD,2EAA4E,CAC5E,yEACD,CAEA,eACC,gDAAiD,CACjD,mBAAoB,CACpB,yBAA0B,CAC1B,6GAUD,CARC,0EAEC,6EACD,CAEA,qBACC,iDACD,CAGD,gCACC,4BAWD,CAPC,yGC/BA,YAAa,CACb,2BAA2B,CCF3B,qCAA8B,CFqC7B,iEACD,CAIA,4EACC,WAAY,CACZ,qBAAsB,CAGtB,4BAA6B,CAC7B,SAAU,CAMV,6SAG6F,CAG7F,iEAAkE,CAGlE,2BAA4B,CAC5B,mDAqBD,CAnBC,qFAEC,wCAAyC,CACzC,yCAA0C,CAC1C,oDASD,CANC,kHACC,SAAU,CAGV,+DACD,CAID,wHACC,SACD,CAID,kFACC,SAAU,CACV,oDACD,CAKC,oMACC,SAAU,CACV,6CAMD,CAHC,gRACC,SACD,CAOH,qFACC,SAAU,CACV,oDACD,CAGA,gDAEC,eAkBD,CAhBC,yEAOC,iCACD,CAGC,gOAEC,gDACD,CAOD,wIAEC,mDAQD,CALE,ghBAEC,gDACD,CAKH,yKAOC,yDACD",sourcesContent:["/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-color-resizer: var(--ck-color-focus-border);\n\t--ck-color-resizer-tooltip-background: hsl(0, 0%, 15%);\n\t--ck-color-resizer-tooltip-text: hsl(0, 0%, 95%);\n\n\t--ck-resizer-border-radius: var(--ck-border-radius);\n\t--ck-resizer-tooltip-offset: 10px;\n}\n\n.ck .ck-widget {\n\t/* This is neccessary for type around UI to be positioned properly. */\n\tposition: relative;\n}\n\n.ck .ck-widget.ck-widget_with-selection-handle {\n\t/* Make the widget wrapper a relative positioning container for the drag handle. */\n\tposition: relative;\n\n\t& .ck-widget__selection-handle {\n\t\tposition: absolute;\n\n\t\t& .ck-icon {\n\t\t\t/* Make sure the icon in not a subject to font-size or line-height to avoid\n\t\t\tunnecessary spacing around it. */\n\t\t\tdisplay: block;\n\t\t}\n\t}\n\n\t/* Show the selection handle on mouse hover over the widget, but not for nested widgets. */\n\t&:hover > .ck-widget__selection-handle {\n\t\tvisibility: visible;\n\t}\n\n\t/* Show the selection handle when the widget is selected, but not for nested widgets. */\n\t&.ck-widget_selected > .ck-widget__selection-handle {\n\t\tvisibility: visible;\n\t}\n}\n\n.ck .ck-size-view {\n\tbackground: var(--ck-color-resizer-tooltip-background);\n\tcolor: var(--ck-color-resizer-tooltip-text);\n\tborder: 1px solid var(--ck-color-resizer-tooltip-text);\n\tborder-radius: var(--ck-resizer-border-radius);\n\tfont-size: var(--ck-font-size-tiny);\n\tdisplay: block;\n\tpadding: var(--ck-spacing-small);\n\n\t&.ck-orientation-top-left,\n\t&.ck-orientation-top-right,\n\t&.ck-orientation-bottom-right,\n\t&.ck-orientation-bottom-left {\n\t\tposition: absolute;\n\t}\n\n\t&.ck-orientation-top-left {\n\t\ttop: var(--ck-resizer-tooltip-offset);\n\t\tleft: var(--ck-resizer-tooltip-offset);\n\t}\n\n\t&.ck-orientation-top-right {\n\t\ttop: var(--ck-resizer-tooltip-offset);\n\t\tright: var(--ck-resizer-tooltip-offset);\n\t}\n\n\t&.ck-orientation-bottom-right {\n\t\tbottom: var(--ck-resizer-tooltip-offset);\n\t\tright: var(--ck-resizer-tooltip-offset);\n\t}\n\n\t&.ck-orientation-bottom-left {\n\t\tbottom: var(--ck-resizer-tooltip-offset);\n\t\tleft: var(--ck-resizer-tooltip-offset);\n\t}\n}\n",'/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../mixins/_focus.css";\n@import "../mixins/_shadow.css";\n\n:root {\n\t--ck-widget-outline-thickness: 3px;\n\t--ck-widget-handler-icon-size: 16px;\n\t--ck-widget-handler-animation-duration: 200ms;\n\t--ck-widget-handler-animation-curve: ease;\n\n\t--ck-color-widget-blurred-border: hsl(0, 0%, 87%);\n\t--ck-color-widget-hover-border: hsl(43, 100%, 62%);\n\t--ck-color-widget-editable-focus-background: var(--ck-color-base-background);\n\t--ck-color-widget-drag-handler-icon-color: var(--ck-color-base-background);\n}\n\n.ck .ck-widget {\n\toutline-width: var(--ck-widget-outline-thickness);\n\toutline-style: solid;\n\toutline-color: transparent;\n\ttransition: outline-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);\n\n\t&.ck-widget_selected,\n\t&.ck-widget_selected:hover {\n\t\toutline: var(--ck-widget-outline-thickness) solid var(--ck-color-focus-border);\n\t}\n\n\t&:hover {\n\t\toutline-color: var(--ck-color-widget-hover-border);\n\t}\n}\n\n.ck .ck-editor__nested-editable {\n\tborder: 1px solid transparent;\n\n\t/* The :focus style is applied before .ck-editor__nested-editable_focused class is rendered in the view.\n\tThese styles show a different border for a blink of an eye, so `:focus` need to have same styles applied. */\n\t&.ck-editor__nested-editable_focused,\n\t&:focus {\n\t\t@mixin ck-focus-ring;\n\t\t@mixin ck-box-shadow var(--ck-inner-shadow);\n\n\t\tbackground-color: var(--ck-color-widget-editable-focus-background);\n\t}\n}\n\n.ck .ck-widget.ck-widget_with-selection-handle {\n\t& .ck-widget__selection-handle {\n\t\tpadding: 4px;\n\t\tbox-sizing: border-box;\n\n\t\t/* Background and opacity will be animated as the handler shows up or the widget gets selected. */\n\t\tbackground-color: transparent;\n\t\topacity: 0;\n\n\t\t/* Transition:\n\t\t * background-color for the .ck-widget_selected state change,\n\t\t * visibility for hiding the handler,\n\t\t * opacity for the proper look of the icon when the handler disappears. */\n\t\ttransition:\n\t\t\tbackground-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),\n\t\t\tvisibility var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),\n\t\t\topacity var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);\n\n\t\t/* Make only top corners round. */\n\t\tborder-radius: var(--ck-border-radius) var(--ck-border-radius) 0 0;\n\n\t\t/* Place the drag handler outside the widget wrapper. */\n\t\ttransform: translateY(-100%);\n\t\tleft: calc(0px - var(--ck-widget-outline-thickness));\n\n\t\t& .ck-icon {\n\t\t\t/* Make sure the dimensions of the icon are independent of the fon-size of the content. */\n\t\t\twidth: var(--ck-widget-handler-icon-size);\n\t\t\theight: var(--ck-widget-handler-icon-size);\n\t\t\tcolor: var(--ck-color-widget-drag-handler-icon-color);\n\n\t\t\t/* The "selected" part of the icon is invisible by default */\n\t\t\t& .ck-icon__selected-indicator {\n\t\t\t\topacity: 0;\n\n\t\t\t\t/* Note: The animation is longer on purpose. Simply feels better. */\n\t\t\t\ttransition: opacity 300ms var(--ck-widget-handler-animation-curve);\n\t\t\t}\n\t\t}\n\n\t\t/* Advertise using the look of the icon that once clicked the handler, the widget will be selected. */\n\t\t&:hover .ck-icon .ck-icon__selected-indicator {\n\t\t\topacity: 1;\n\t\t}\n\t}\n\n\t/* Show the selection handler on mouse hover over the widget, but not for nested widgets. */\n\t&:hover > .ck-widget__selection-handle {\n\t\topacity: 1;\n\t\tbackground-color: var(--ck-color-widget-hover-border);\n\t}\n\n\t/* Show the selection handler when the widget is selected, but not for nested widgets. */\n\t&.ck-widget_selected,\n\t&.ck-widget_selected:hover {\n\t\t& > .ck-widget__selection-handle {\n\t\t\topacity: 1;\n\t\t\tbackground-color: var(--ck-color-focus-border);\n\n\t\t\t/* When the widget is selected, notify the user using the proper look of the icon. */\n\t\t\t& .ck-icon .ck-icon__selected-indicator {\n\t\t\t\topacity: 1;\n\t\t\t}\n\t\t}\n\t}\n}\n\n/* In a RTL environment, align the selection handler to the right side of the widget */\n/* stylelint-disable-next-line no-descending-specificity */\n.ck[dir="rtl"] .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle {\n\tleft: auto;\n\tright: calc(0px - var(--ck-widget-outline-thickness));\n}\n\n/* https://github.com/ckeditor/ckeditor5/issues/6415 */\n.ck.ck-editor__editable.ck-read-only .ck-widget {\n\t/* Prevent the :hover outline from showing up because of the used outline-color transition. */\n\ttransition: none;\n\n\t&:not(.ck-widget_selected) {\n\t\t/* Disable visual effects of hover/active widget when CKEditor is in readOnly mode.\n\t\t * See: https://github.com/ckeditor/ckeditor5/issues/1261\n\t\t *\n\t\t * Leave the unit because this custom property is used in calc() by other features.\n\t\t * See: https://github.com/ckeditor/ckeditor5/issues/6775\n\t\t */\n\t\t--ck-widget-outline-thickness: 0px;\n\t}\n\n\t&.ck-widget_with-selection-handle {\n\t\t& .ck-widget__selection-handle,\n\t\t& .ck-widget__selection-handle:hover {\n\t\t\tbackground: var(--ck-color-widget-blurred-border);\n\t\t}\n\t}\n}\n\n/* Style the widget when it\'s selected but the editable it belongs to lost focus. */\n/* stylelint-disable-next-line no-descending-specificity */\n.ck.ck-editor__editable.ck-blurred .ck-widget {\n\t&.ck-widget_selected,\n\t&.ck-widget_selected:hover {\n\t\toutline-color: var(--ck-color-widget-blurred-border);\n\n\t\t&.ck-widget_with-selection-handle {\n\t\t\t& > .ck-widget__selection-handle,\n\t\t\t& > .ck-widget__selection-handle:hover {\n\t\t\t\tbackground: var(--ck-color-widget-blurred-border);\n\t\t\t}\n\t\t}\n\t}\n}\n\n.ck.ck-editor__editable > .ck-widget.ck-widget_with-selection-handle:first-child,\n.ck.ck-editor__editable blockquote > .ck-widget.ck-widget_with-selection-handle:first-child {\n\t/* Do not crop selection handler if a widget is a first-child in the blockquote or in the root editable.\n\tIn fact, anything with overflow: hidden.\n\thttps://github.com/ckeditor/ckeditor5-block-quote/issues/28\n\thttps://github.com/ckeditor/ckeditor5-widget/issues/44\n\thttps://github.com/ckeditor/ckeditor5-widget/issues/66 */\n\tmargin-top: calc(1em + var(--ck-widget-handler-icon-size));\n}\n',"/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A visual style of focused element's border.\n */\n@define-mixin ck-focus-ring {\n\t/* Disable native outline. */\n\toutline: none;\n\tborder: var(--ck-focus-ring)\n}\n","/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n"],sourceRoot:""}]);e["a"]=a},function(t,e,n){"use strict";var o=n(2);var i=n.n(o);var r=n(3);var s=n.n(r);var a=s()(i.a);a.push([t.i,'.ck.ck-editor__editable .ck.ck-clipboard-drop-target-position{display:inline;position:relative;pointer-events:none}.ck.ck-editor__editable .ck.ck-clipboard-drop-target-position span{position:absolute;width:0}.ck.ck-editor__editable .ck-widget:-webkit-drag>.ck-widget__selection-handle,.ck.ck-editor__editable .ck-widget:-webkit-drag>.ck-widget__type-around{display:none}:root{--ck-clipboard-drop-target-dot-width:12px;--ck-clipboard-drop-target-dot-height:8px;--ck-clipboard-drop-target-color:var(--ck-color-focus-border)}.ck.ck-editor__editable .ck.ck-clipboard-drop-target-position span{bottom:calc(var(--ck-clipboard-drop-target-dot-height)*-0.5);top:calc(var(--ck-clipboard-drop-target-dot-height)*-0.5);border:1px solid var(--ck-clipboard-drop-target-color);background:var(--ck-clipboard-drop-target-color);margin-left:-1px}.ck.ck-editor__editable .ck.ck-clipboard-drop-target-position span:after{content:"";width:0;height:0;display:block;position:absolute;left:50%;top:calc(var(--ck-clipboard-drop-target-dot-height)*-0.5);transform:translateX(-50%);border-left:calc(var(--ck-clipboard-drop-target-dot-width)*0.5) solid transparent;border-bottom:0 solid transparent;border-right:calc(var(--ck-clipboard-drop-target-dot-width)*0.5) solid transparent;border-top:calc(var(--ck-clipboard-drop-target-dot-height)) solid var(--ck-clipboard-drop-target-color)}.ck.ck-editor__editable .ck-widget.ck-clipboard-drop-target-range{outline:var(--ck-widget-outline-thickness) solid var(--ck-clipboard-drop-target-color)!important}.ck.ck-editor__editable .ck-widget:-webkit-drag{zoom:.6;outline:none!important}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-clipboard/theme/clipboard.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-clipboard/clipboard.css"],names:[],mappings:"AASC,8DACC,cAAe,CACf,iBAAkB,CAClB,mBAMD,CAJC,mEACC,iBAAkB,CAClB,OACD,CAWA,qJACC,YACD,CCzBF,MACC,yCAA0C,CAC1C,yCAA0C,CAC1C,6DACD,CAOE,mEACC,4DAA8D,CAC9D,yDAA2D,CAC3D,sDAAuD,CACvD,gDAAiD,CACjD,gBAkBD,CAfC,yEACC,UAAW,CACX,OAAQ,CACR,QAAS,CAET,aAAc,CACd,iBAAkB,CAClB,QAAS,CACT,yDAA2D,CAE3D,0BAA2B,CAG3B,iFAAmB,CAAnB,iCAAmB,CAAnB,kFAAmB,CAAnB,uGACD,CA2DF,kEACC,gGACD,CAKA,gDACC,OAAS,CACT,sBACD",sourcesContent:["/*\n * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-editor__editable {\n\t/*\n\t * Vertical drop target (in text).\n\t */\n\t& .ck.ck-clipboard-drop-target-position {\n\t\tdisplay: inline;\n\t\tposition: relative;\n\t\tpointer-events: none;\n\n\t\t& span {\n\t\t\tposition: absolute;\n\t\t\twidth: 0;\n\t\t}\n\t}\n\n\t/*\n\t * Styles of the widget being dragged (its preview).\n\t */\n\t& .ck-widget:-webkit-drag {\n\t\t& > .ck-widget__selection-handle {\n\t\t\tdisplay: none;\n\t\t}\n\n\t\t& > .ck-widget__type-around {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n}\n",'/*\n * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-clipboard-drop-target-dot-width: 12px;\n\t--ck-clipboard-drop-target-dot-height: 8px;\n\t--ck-clipboard-drop-target-color: var(--ck-color-focus-border)\n}\n\n.ck.ck-editor__editable {\n\t/*\n\t * Vertical drop target (in text).\n\t */\n\t& .ck.ck-clipboard-drop-target-position {\n\t\t& span {\n\t\t\tbottom: calc(-.5 * var(--ck-clipboard-drop-target-dot-height));\n\t\t\ttop: calc(-.5 * var(--ck-clipboard-drop-target-dot-height));\n\t\t\tborder: 1px solid var(--ck-clipboard-drop-target-color);\n\t\t\tbackground: var(--ck-clipboard-drop-target-color);\n\t\t\tmargin-left: -1px;\n\n\t\t\t/* The triangle above the marker */\n\t\t\t&::after {\n\t\t\t\tcontent: "";\n\t\t\t\twidth: 0;\n\t\t\t\theight: 0;\n\n\t\t\t\tdisplay: block;\n\t\t\t\tposition: absolute;\n\t\t\t\tleft: 50%;\n\t\t\t\ttop: calc(var(--ck-clipboard-drop-target-dot-height) * -.5);\n\n\t\t\t\ttransform: translateX(-50%);\n\t\t\t\tborder-color: var(--ck-clipboard-drop-target-color) transparent transparent transparent;\n\t\t\t\tborder-width: calc(var(--ck-clipboard-drop-target-dot-height)) calc(.5 * var(--ck-clipboard-drop-target-dot-width)) 0 calc(.5 * var(--ck-clipboard-drop-target-dot-width));\n\t\t\t\tborder-style: solid;\n\t\t\t}\n\t\t}\n\t}\n\n\t/*\n\t// Horizontal drop target (between blocks).\n\t& .ck.ck-clipboard-drop-target-position {\n\t\tdisplay: block;\n\t\tposition: relative;\n\t\twidth: 100%;\n\t\theight: 0;\n\t\tmargin: 0;\n\t\ttext-align: initial;\n\n\t\t& .ck-clipboard-drop-target__line {\n\t\t\tposition: absolute;\n\t\t\twidth: 100%;\n\t\t\theight: 0;\n\t\t\tborder: 1px solid var(--ck-clipboard-drop-target-color);\n\t\t\tmargin-top: -1px;\n\n\t\t\t&::before {\n\t\t\t\tcontent: "";\n\t\t\t\twidth: 0;\n\t\t\t\theight: 0;\n\n\t\t\t\tdisplay: block;\n\t\t\t\tposition: absolute;\n\t\t\t\tleft: calc(-1 * var(--ck-clipboard-drop-target-dot-size));\n\t\t\t\ttop: 0;\n\n\t\t\t\ttransform: translateY(-50%);\n\t\t\t\tborder-color: transparent transparent transparent var(--ck-clipboard-drop-target-color);\n\t\t\t\tborder-width: var(--ck-clipboard-drop-target-dot-size) 0 var(--ck-clipboard-drop-target-dot-size) calc(2 * var(--ck-clipboard-drop-target-dot-size));\n\t\t\t\tborder-style: solid;\n\t\t\t}\n\n\t\t\t&::after {\n\t\t\t\tcontent: "";\n\t\t\t\twidth: 0;\n\t\t\t\theight: 0;\n\n\t\t\t\tdisplay: block;\n\t\t\t\tposition: absolute;\n\t\t\t\tright: calc(-1 * var(--ck-clipboard-drop-target-dot-size));\n\t\t\t\ttop: 0;\n\n\t\t\t\ttransform: translateY(-50%);\n\t\t\t\tborder-color: transparent var(--ck-clipboard-drop-target-color) transparent transparent;\n\t\t\t\tborder-width: var(--ck-clipboard-drop-target-dot-size) calc(2 * var(--ck-clipboard-drop-target-dot-size)) var(--ck-clipboard-drop-target-dot-size) 0;\n\t\t\t\tborder-style: solid;\n\t\t\t}\n\t\t}\n\t}\n\t*/\n\n\t/*\n\t * Styles of the widget that it a drop target.\n\t */\n\t& .ck-widget.ck-clipboard-drop-target-range {\n\t\toutline: var(--ck-widget-outline-thickness) solid var(--ck-clipboard-drop-target-color) !important;\n\t}\n\n\t/*\n\t * Styles of the widget being dragged (its preview).\n\t */\n\t& .ck-widget:-webkit-drag {\n\t\tzoom: 0.6;\n\t\toutline: none !important;\n\t}\n}\n'],sourceRoot:""}]);e["a"]=a},function(t,e,n){"use strict";var o=n(2);var i=n.n(o);var r=n(3);var s=n.n(r);var a=s()(i.a);a.push([t.i,".ck .ck-widget_with-resizer{position:relative}.ck .ck-widget__resizer{display:none;position:absolute;pointer-events:none;left:0;top:0}.ck-focused .ck-widget_with-resizer.ck-widget_selected>.ck-widget__resizer{display:block}.ck .ck-widget__resizer__handle{position:absolute;pointer-events:all}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-right,.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-left{cursor:nwse-resize}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-left,.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-right{cursor:nesw-resize}:root{--ck-resizer-size:10px;--ck-resizer-offset:calc(var(--ck-resizer-size)/-2 - 2px);--ck-resizer-border-width:1px}.ck .ck-widget__resizer{outline:1px solid var(--ck-color-resizer)}.ck .ck-widget__resizer__handle{width:var(--ck-resizer-size);height:var(--ck-resizer-size);background:var(--ck-color-focus-border);border:var(--ck-resizer-border-width) solid #fff;border-radius:var(--ck-resizer-border-radius)}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-left{top:var(--ck-resizer-offset);left:var(--ck-resizer-offset)}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-right{top:var(--ck-resizer-offset);right:var(--ck-resizer-offset)}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-right{bottom:var(--ck-resizer-offset);right:var(--ck-resizer-offset)}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-left{bottom:var(--ck-resizer-offset);left:var(--ck-resizer-offset)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-widget/theme/widgetresize.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-widget/widgetresize.css"],names:[],mappings:"AAKA,4BAEC,iBACD,CAEA,wBACC,YAAa,CACb,iBAAkB,CAGlB,mBAAoB,CAEpB,MAAO,CACP,KACD,CAGC,2EACC,aACD,CAGD,gCACC,iBAAkB,CAGlB,kBAWD,CATC,4IAEC,kBACD,CAEA,4IAEC,kBACD,CCpCD,MACC,sBAAuB,CAGvB,yDAAiE,CACjE,6BACD,CAEA,wBACC,yCACD,CAEA,gCACC,4BAA6B,CAC7B,6BAA8B,CAC9B,uCAAwC,CACxC,gDAA6D,CAC7D,6CAqBD,CAnBC,oEACC,4BAA6B,CAC7B,6BACD,CAEA,qEACC,4BAA6B,CAC7B,8BACD,CAEA,wEACC,+BAAgC,CAChC,8BACD,CAEA,uEACC,+BAAgC,CAChC,6BACD",sourcesContent:["/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck .ck-widget_with-resizer {\n\t/* Make the widget wrapper a relative positioning container for the drag handle. */\n\tposition: relative;\n}\n\n.ck .ck-widget__resizer {\n\tdisplay: none;\n\tposition: absolute;\n\n\t/* The wrapper itself should not interfere with the pointer device, only the handles should. */\n\tpointer-events: none;\n\n\tleft: 0;\n\ttop: 0;\n}\n\n.ck-focused .ck-widget_with-resizer.ck-widget_selected {\n\t& > .ck-widget__resizer {\n\t\tdisplay: block;\n\t}\n}\n\n.ck .ck-widget__resizer__handle {\n\tposition: absolute;\n\n\t/* Resizers are the only UI elements that should interfere with a pointer device. */\n\tpointer-events: all;\n\n\t&.ck-widget__resizer__handle-top-left,\n\t&.ck-widget__resizer__handle-bottom-right {\n\t\tcursor: nwse-resize;\n\t}\n\n\t&.ck-widget__resizer__handle-top-right,\n\t&.ck-widget__resizer__handle-bottom-left {\n\t\tcursor: nesw-resize;\n\t}\n}\n","/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-resizer-size: 10px;\n\n\t/* Set the resizer with a 50% offset. */\n\t--ck-resizer-offset: calc( ( var(--ck-resizer-size) / -2 ) - 2px);\n\t--ck-resizer-border-width: 1px;\n}\n\n.ck .ck-widget__resizer {\n\toutline: 1px solid var(--ck-color-resizer);\n}\n\n.ck .ck-widget__resizer__handle {\n\twidth: var(--ck-resizer-size);\n\theight: var(--ck-resizer-size);\n\tbackground: var(--ck-color-focus-border);\n\tborder: var(--ck-resizer-border-width) solid hsl(0, 0%, 100%);\n\tborder-radius: var(--ck-resizer-border-radius);\n\n\t&.ck-widget__resizer__handle-top-left {\n\t\ttop: var(--ck-resizer-offset);\n\t\tleft: var(--ck-resizer-offset);\n\t}\n\n\t&.ck-widget__resizer__handle-top-right {\n\t\ttop: var(--ck-resizer-offset);\n\t\tright: var(--ck-resizer-offset);\n\t}\n\n\t&.ck-widget__resizer__handle-bottom-right {\n\t\tbottom: var(--ck-resizer-offset);\n\t\tright: var(--ck-resizer-offset);\n\t}\n\n\t&.ck-widget__resizer__handle-bottom-left {\n\t\tbottom: var(--ck-resizer-offset);\n\t\tleft: var(--ck-resizer-offset);\n\t}\n}\n"],sourceRoot:""}]);e["a"]=a},function(t,e,n){"use strict";var o=n(2);var i=n.n(o);var r=n(3);var s=n.n(r);var a=s()(i.a);a.push([t.i,".ck-content blockquote{overflow:hidden;padding-right:1.5em;padding-left:1.5em;margin-left:0;margin-right:0;font-style:italic;border-left:5px solid #ccc}.ck-content[dir=rtl] blockquote{border-left:0;border-right:5px solid #ccc}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-block-quote/theme/blockquote.css"],names:[],mappings:"AAKA,uBAEC,eAAgB,CAGhB,mBAAoB,CACpB,kBAAmB,CAEnB,aAAc,CACd,cAAe,CACf,iBAAkB,CAClB,0BACD,CAEA,gCACC,aAAc,CACd,2BACD",sourcesContent:['/**\n * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck-content blockquote {\n\t/* See #12 */\n\toverflow: hidden;\n\n\t/* https://github.com/ckeditor/ckeditor5-block-quote/issues/15 */\n\tpadding-right: 1.5em;\n\tpadding-left: 1.5em;\n\n\tmargin-left: 0;\n\tmargin-right: 0;\n\tfont-style: italic;\n\tborder-left: solid 5px hsl(0, 0%, 80%);\n}\n\n.ck-content[dir="rtl"] blockquote {\n\tborder-left: 0;\n\tborder-right: solid 5px hsl(0, 0%, 80%);\n}\n'],sourceRoot:""}]);e["a"]=a},function(t,e,n){"use strict";var o=n(2);var i=n.n(o);var r=n(3);var s=n.n(r);var a=s()(i.a);a.push([t.i,".ck-content code{background-color:hsla(0,0%,78%,.3);padding:.15em;border-radius:2px}.ck.ck-editor__editable .ck-code_selected{background-color:hsla(0,0%,78%,.5)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-basic-styles/theme/code.css"],names:[],mappings:"AAKA,iBACC,kCAAuC,CACvC,aAAc,CACd,iBACD,CAEA,0CACC,kCACD",sourcesContent:["/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck-content code {\n\tbackground-color: hsla(0, 0%, 78%, 0.3);\n\tpadding: .15em;\n\tborder-radius: 2px;\n}\n\n.ck.ck-editor__editable .ck-code_selected {\n\tbackground-color: hsla(0, 0%, 78%, 0.5);\n}\n"],sourceRoot:""}]);e["a"]=a},function(t,e,n){"use strict";var o=n(2);var i=n.n(o);var r=n(3);var s=n.n(r);var a=s()(i.a);a.push([t.i,".ck-content pre{padding:1em;color:#353535;background:hsla(0,0%,78%,.3);border:1px solid #c4c4c4;border-radius:2px;text-align:left;direction:ltr;tab-size:4;white-space:pre-wrap;font-style:normal;min-width:200px}.ck-content pre code{background:unset;padding:0;border-radius:0}.ck.ck-editor__editable pre{position:relative}.ck.ck-editor__editable pre[data-language]:after{content:attr(data-language);position:absolute}:root{--ck-color-code-block-label-background:#757575}.ck.ck-editor__editable pre[data-language]:after{top:-1px;right:10px;background:var(--ck-color-code-block-label-background);font-size:10px;font-family:var(--ck-font-face);line-height:16px;padding:var(--ck-spacing-tiny) var(--ck-spacing-medium);color:#fff;white-space:nowrap}.ck.ck-code-block-dropdown .ck-dropdown__panel{max-height:250px;overflow-y:auto;overflow-x:hidden}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-code-block/theme/codeblock.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-code-block/codeblock.css"],names:[],mappings:"AAKA,gBACC,WAAY,CACZ,aAAwB,CACxB,4BAAiC,CACjC,wBAAiC,CACjC,iBAAkB,CAGlB,eAAgB,CAChB,aAAc,CAEd,UAAW,CACX,oBAAqB,CAGrB,iBAAkB,CAGlB,eAOD,CALC,qBACC,gBAAiB,CACjB,SAAU,CACV,eACD,CAGD,4BACC,iBAMD,CAJC,iDACC,2BAA4B,CAC5B,iBACD,CCjCD,MACC,8CACD,CAEA,iDACC,QAAS,CACT,UAAW,CACX,sDAAuD,CAEvD,cAAe,CACf,+BAAgC,CAChC,gBAAiB,CACjB,uDAAwD,CACxD,UAAuB,CACvB,kBACD,CAEA,+CAEC,gBAAiB,CACjB,eAAgB,CAChB,iBACD",sourcesContent:["/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck-content pre {\n\tpadding: 1em;\n\tcolor: hsl(0, 0%, 20.8%);\n\tbackground: hsla(0, 0%, 78%, 0.3);\n\tborder: 1px solid hsl(0, 0%, 77%);\n\tborder-radius: 2px;\n\n\t/* Code block are language direction–agnostic. */\n\ttext-align: left;\n\tdirection: ltr;\n\n\ttab-size: 4;\n\twhite-space: pre-wrap;\n\n\t/* Don't inherit the style, e.g. when in a block quote. */\n\tfont-style: normal;\n\n\t/* Don't let the code be squashed e.g. when in a table cell. */\n\tmin-width: 200px;\n\n\t& code {\n\t\tbackground: unset;\n\t\tpadding: 0;\n\t\tborder-radius: 0;\n\t}\n}\n\n.ck.ck-editor__editable pre {\n\tposition: relative;\n\n\t&[data-language]::after {\n\t\tcontent: attr(data-language);\n\t\tposition: absolute;\n\t}\n}\n","/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-color-code-block-label-background: hsl(0, 0%, 46%);\n}\n\n.ck.ck-editor__editable pre[data-language]::after {\n\ttop: -1px;\n\tright: 10px;\n\tbackground: var(--ck-color-code-block-label-background);\n\n\tfont-size: 10px;\n\tfont-family: var(--ck-font-face);\n\tline-height: 16px;\n\tpadding: var(--ck-spacing-tiny) var(--ck-spacing-medium);\n\tcolor: hsl(0, 0%, 100%);\n\twhite-space: nowrap;\n}\n\n.ck.ck-code-block-dropdown .ck-dropdown__panel {\n\t/* There could be dozens of languages available. Use scroll to prevent a 10e6px dropdown. */\n\tmax-height: 250px;\n\toverflow-y: auto;\n\toverflow-x: hidden;\n}\n"],sourceRoot:""}]);e["a"]=a},function(t,e,n){"use strict";var o=n(2);var i=n.n(o);var r=n(3);var s=n.n(r);var a=s()(i.a);a.push([t.i,".ck .ck-button.ck-color-table__remove-color{display:flex;align-items:center;width:100%}label.ck.ck-color-grid__label{font-weight:unset}.ck .ck-button.ck-color-table__remove-color{padding:calc(var(--ck-spacing-standard)/2) var(--ck-spacing-standard);border-bottom-left-radius:0;border-bottom-right-radius:0}.ck .ck-button.ck-color-table__remove-color:not(:focus){border-bottom:1px solid var(--ck-color-base-border)}[dir=ltr] .ck .ck-button.ck-color-table__remove-color .ck.ck-icon{margin-right:var(--ck-spacing-standard)}[dir=rtl] .ck .ck-button.ck-color-table__remove-color .ck.ck-icon{margin-left:var(--ck-spacing-standard)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-font/theme/fontcolor.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-font/fontcolor.css"],names:[],mappings:"AAKA,4CACC,YAAa,CACb,kBAAmB,CACnB,UACD,CAEA,8BACC,iBACD,CCNA,4CACC,qEAAyE,CACzE,2BAA4B,CAC5B,4BAeD,CAbC,wDACC,mDACD,CAEA,kEAEE,uCAMF,CARA,kEAME,sCAEF",sourcesContent:["/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck .ck-button.ck-color-table__remove-color {\n\tdisplay: flex;\n\talign-items: center;\n\twidth: 100%;\n}\n\nlabel.ck.ck-color-grid__label {\n\tfont-weight: unset;\n}\n",'/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n.ck .ck-button.ck-color-table__remove-color {\n\tpadding: calc(var(--ck-spacing-standard) / 2 ) var(--ck-spacing-standard);\n\tborder-bottom-left-radius: 0;\n\tborder-bottom-right-radius: 0;\n\n\t&:not(:focus) {\n\t\tborder-bottom: 1px solid var(--ck-color-base-border);\n\t}\n\n\t& .ck.ck-icon {\n\t\t@mixin ck-dir ltr {\n\t\t\tmargin-right: var(--ck-spacing-standard);\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\tmargin-left: var(--ck-spacing-standard);\n\t\t}\n\t}\n}\n\n'],sourceRoot:""}]);e["a"]=a},function(t,e,n){"use strict";var o=n(2);var i=n.n(o);var r=n(3);var s=n.n(r);var a=s()(i.a);a.push([t.i,".ck.ck-heading_heading1{font-size:20px}.ck.ck-heading_heading2{font-size:17px}.ck.ck-heading_heading3{font-size:14px}.ck[class*=ck-heading_heading]{font-weight:700}.ck.ck-dropdown.ck-heading-dropdown .ck-dropdown__button .ck-button__label{width:8em}.ck.ck-dropdown.ck-heading-dropdown .ck-dropdown__panel .ck-list__item{min-width:18em}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-heading/theme/heading.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-heading/heading.css"],names:[],mappings:"AAKA,wBACC,cACD,CAEA,wBACC,cACD,CAEA,wBACC,cACD,CAEA,+BACC,eACD,CCZC,2EACC,SACD,CAEA,uEACC,cACD",sourcesContent:['/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-heading_heading1 {\n\tfont-size: 20px;\n}\n\n.ck.ck-heading_heading2 {\n\tfont-size: 17px;\n}\n\n.ck.ck-heading_heading3 {\n\tfont-size: 14px;\n}\n\n.ck[class*="ck-heading_heading"] {\n\tfont-weight: bold;\n}\n',"/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/* Resize dropdown's button label. */\n.ck.ck-dropdown.ck-heading-dropdown {\n\t& .ck-dropdown__button .ck-button__label {\n\t\twidth: 8em;\n\t}\n\n\t& .ck-dropdown__panel .ck-list__item {\n\t\tmin-width: 18em;\n\t}\n}\n"],sourceRoot:""}]);e["a"]=a},function(t,e,n){"use strict";var o=n(2);var i=n.n(o);var r=n(3);var s=n.n(r);var a=s()(i.a);a.push([t.i,".ck-editor__editable .ck-horizontal-line{display:flow-root}.ck-content hr{margin:15px 0;height:4px;background:#dedede;border:0}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-horizontal-line/theme/horizontalline.css"],names:[],mappings:"AAMA,yCAEC,iBACD,CAEA,eACC,aAAc,CACd,UAAW,CACX,kBAA2B,CAC3B,QACD",sourcesContent:["/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n\n.ck-editor__editable .ck-horizontal-line {\n\t/* Necessary to render properly next to floated objects, e.g. side image case. */\n\tdisplay: flow-root;\n}\n\n.ck-content hr {\n\tmargin: 15px 0;\n\theight: 4px;\n\tbackground: hsl(0, 0%, 87%);\n\tborder: 0;\n}\n"],sourceRoot:""}]);e["a"]=a},function(t,e,n){"use strict";var o=n(2);var i=n.n(o);var r=n(3);var s=n.n(r);var a=s()(i.a);a.push([t.i,".ck-widget.raw-html-embed{margin:1em auto;position:relative;display:flow-root}.ck-widget.raw-html-embed:before{position:absolute;z-index:1}.ck-widget.raw-html-embed .raw-html-embed__buttons-wrapper{position:absolute;display:flex;flex-direction:column}.ck-widget.raw-html-embed .raw-html-embed__preview{position:relative;overflow:hidden;display:flex}.ck-widget.raw-html-embed .raw-html-embed__preview-content{width:100%;position:relative;margin:auto;display:table;border-collapse:separate;border-spacing:7px}.ck-widget.raw-html-embed .raw-html-embed__preview-placeholder{position:absolute;left:0;top:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center}.ck-content .raw-html-embed{margin:1em auto;min-width:15em;font-style:normal}:root{--ck-html-embed-content-width:calc(100% - var(--ck-icon-size)*1.5);--ck-html-embed-source-height:10em;--ck-html-embed-unfocused-outline-width:1px;--ck-html-embed-content-min-height:calc(var(--ck-icon-size) + var(--ck-spacing-standard));--ck-html-embed-source-disabled-background:var(--ck-color-base-foreground);--ck-html-embed-source-disabled-color:hsl(0deg 0% 45%)}.ck-widget.raw-html-embed{font-size:var(--ck-font-size-base);background-color:var(--ck-color-base-foreground)}.ck-widget.raw-html-embed:not(.ck-widget_selected):not(:hover){outline:var(--ck-html-embed-unfocused-outline-width) dashed var(--ck-color-widget-blurred-border)}.ck-widget.raw-html-embed[dir=ltr]{text-align:left}.ck-widget.raw-html-embed[dir=rtl]{text-align:right}.ck-widget.raw-html-embed:before{content:attr(data-html-embed-label);top:calc(var(--ck-html-embed-unfocused-outline-width)*-1);left:var(--ck-spacing-standard);background:hsl(0deg 0% 60%);transition:background var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);padding:calc(var(--ck-spacing-tiny) + var(--ck-html-embed-unfocused-outline-width)) var(--ck-spacing-small) var(--ck-spacing-tiny);border-radius:0 0 var(--ck-border-radius) var(--ck-border-radius);color:var(--ck-color-base-background);font-size:var(--ck-font-size-tiny);font-family:var(--ck-font-face)}.ck-widget.raw-html-embed[dir=rtl]:before{left:auto;right:var(--ck-spacing-standard)}.ck-widget.raw-html-embed[dir=ltr] .ck-widget__type-around .ck-widget__type-around__button.ck-widget__type-around__button_before{margin-left:50px}.ck.ck-editor__editable.ck-blurred .ck-widget.raw-html-embed.ck-widget_selected:before{top:0;padding:var(--ck-spacing-tiny) var(--ck-spacing-small)}.ck.ck-editor__editable:not(.ck-blurred) .ck-widget.raw-html-embed.ck-widget_selected:before{top:0;padding:var(--ck-spacing-tiny) var(--ck-spacing-small);background:var(--ck-color-focus-border)}.ck.ck-editor__editable .ck-widget.raw-html-embed:not(.ck-widget_selected):hover:before{top:0;padding:var(--ck-spacing-tiny) var(--ck-spacing-small)}.ck-widget.raw-html-embed .raw-html-embed__content-wrapper{padding:var(--ck-spacing-standard)}.ck-widget.raw-html-embed .raw-html-embed__buttons-wrapper{top:var(--ck-spacing-standard);right:var(--ck-spacing-standard)}.ck-widget.raw-html-embed .raw-html-embed__buttons-wrapper .ck-button.raw-html-embed__save-button{color:var(--ck-color-button-save)}.ck-widget.raw-html-embed .raw-html-embed__buttons-wrapper .ck-button.raw-html-embed__cancel-button{color:var(--ck-color-button-cancel)}.ck-widget.raw-html-embed .raw-html-embed__buttons-wrapper .ck-button:not(:first-child){margin-top:var(--ck-spacing-small)}.ck-widget.raw-html-embed[dir=rtl] .raw-html-embed__buttons-wrapper{left:var(--ck-spacing-standard);right:auto}.ck-widget.raw-html-embed .raw-html-embed__source{box-sizing:border-box;height:var(--ck-html-embed-source-height);width:var(--ck-html-embed-content-width);resize:none;min-width:0;padding:var(--ck-spacing-standard);font-family:monospace;tab-size:4;white-space:pre-wrap;font-size:var(--ck-font-size-base);text-align:left;direction:ltr}.ck-widget.raw-html-embed .raw-html-embed__source[disabled]{background:var(--ck-html-embed-source-disabled-background);color:var(--ck-html-embed-source-disabled-color);-webkit-text-fill-color:var(--ck-html-embed-source-disabled-color);opacity:1}.ck-widget.raw-html-embed .raw-html-embed__preview{min-height:var(--ck-html-embed-content-min-height);width:var(--ck-html-embed-content-width)}.ck-editor__editable:not(.ck-read-only) .ck-widget.raw-html-embed .raw-html-embed__preview{pointer-events:none}.ck-widget.raw-html-embed .raw-html-embed__preview-content{box-sizing:border-box;text-align:center;background-color:var(--ck-color-base-foreground)}.ck-widget.raw-html-embed .raw-html-embed__preview-content>*{margin-left:auto;margin-right:auto}.ck-widget.raw-html-embed .raw-html-embed__preview-placeholder{color:var(--ck-html-embed-source-disabled-color)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-html-embed/theme/htmlembed.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-html-embed/htmlembed.css"],names:[],mappings:"AAMA,0BAEC,eAAgB,CAChB,iBAAkB,CAClB,iBAgDD,CA5CC,iCACC,iBAAkB,CAGlB,SACD,CAKA,2DACC,iBAAkB,CAClB,YAAa,CACb,qBACD,CAEA,mDACC,iBAAkB,CAClB,eAAgB,CAChB,YACD,CAEA,2DACC,UAAW,CACX,iBAAkB,CAClB,WAAY,CAGZ,aAAc,CACd,wBAAyB,CACzB,kBACD,CAEA,+DACC,iBAAkB,CAClB,MAAO,CACP,KAAM,CACN,OAAQ,CACR,QAAS,CAET,YAAa,CACb,kBAAmB,CACnB,sBACD,CAGD,4BAEC,eAAgB,CAIhB,cAAe,CAGf,iBACD,CCjEA,MACC,kEAAqE,CACrE,kCAAmC,CACnC,2CAA4C,CAC5C,yFAA0F,CAE1F,0EAA2E,CAC3E,sDACD,CAGA,0BACC,kCAAmC,CACnC,gDA0ID,CAxIC,+DACC,iGACD,CAGA,mCACC,eACD,CAEA,mCACC,gBACD,CAIA,iCACC,mCAAoC,CACpC,yDAA4D,CAC5D,+BAAgC,CAChC,2BAA4B,CAC5B,0GAA2G,CAC3G,kIAAmI,CACnI,iEAAkE,CAClE,qCAAsC,CACtC,kCAAmC,CACnC,+BACD,CAEA,0CACC,SAAU,CACV,gCACD,CAGA,iIACC,gBACD,CAxCD,uFA2CE,KAAQ,CACR,sDAgGF,CA5IA,6FAgDE,KAAM,CACN,sDAAuD,CACvD,uCA0FF,CA5IA,wFAsDE,KAAQ,CACR,sDAqFF,CAhFC,2DACC,kCACD,CAGA,2DACC,8BAA+B,CAC/B,gCAaD,CAXC,kGACC,iCACD,CAEA,oGACC,mCACD,CAEA,wFACC,kCACD,CAGD,oEACC,+BAAgC,CAChC,UACD,CAGA,kDACC,qBAAsB,CACtB,yCAA0C,CAC1C,wCAAyC,CACzC,WAAY,CACZ,WAAY,CACZ,kCAAmC,CAEnC,qBAAsB,CACtB,UAAW,CACX,oBAAqB,CACrB,kCAAmC,CAGnC,eAAgB,CAChB,aAUD,CARC,4DACC,0DAA2D,CAC3D,gDAAiD,CAGjD,kEAAmE,CACnE,SACD,CAID,mDACC,kDAAmD,CACnD,wCAMD,CARA,2FAME,mBAEF,CAEA,2DACC,qBAAsB,CACtB,iBAAkB,CAClB,gDAMD,CAJC,6DACC,gBAAiB,CACjB,iBACD,CAGD,+DACC,gDACD",sourcesContent:['/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/* The feature container. */\n.ck-widget.raw-html-embed {\n\t/* Give the embed some air. */\n\tmargin: 1em auto;\n\tposition: relative;\n\tdisplay: flow-root;\n\n\t/* ----- Emebed label in the upper left corner ----------------------------------------------- */\n\n\t&::before {\n\t\tposition: absolute;\n\n\t\t/* Make sure the content does not cover the label. */\n\t\tz-index: 1;\n\t}\n\n\t/* ----- Emebed internals --------------------------------------------------------------------- */\n\n\t/* The switch mode button wrapper. */\n\t& .raw-html-embed__buttons-wrapper {\n\t\tposition: absolute;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t}\n\n\t& .raw-html-embed__preview {\n\t\tposition: relative;\n\t\toverflow: hidden;\n\t\tdisplay: flex;\n\t}\n\n\t& .raw-html-embed__preview-content {\n\t\twidth: 100%;\n\t\tposition: relative;\n\t\tmargin: auto;\n\n\t\t/* Gives spacing to the small renderable elements, so they always cover the placeholder. */\n\t\tdisplay: table;\n\t\tborder-collapse: separate;\n\t\tborder-spacing: 7px;\n\t}\n\n\t& .raw-html-embed__preview-placeholder {\n\t\tposition: absolute;\n\t\tleft: 0;\n\t\ttop: 0;\n\t\tright: 0;\n\t\tbottom: 0;\n\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t}\n}\n\n.ck-content .raw-html-embed {\n\t/* Give the embed some air. */\n\tmargin: 1em auto;\n\n\t/* Give the html embed some minimal width in the content to prevent them\n\tfrom being "squashed" in tight spaces, e.g. in table cells (https://github.com/ckeditor/ckeditor5/issues/8331) */\n\tmin-width: 15em;\n\n\t/* Don\'t inherit the style, e.g. when in a block quote. */\n\tfont-style: normal;\n}\n','/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-html-embed-content-width: calc(100% - 1.5 * var(--ck-icon-size));\n\t--ck-html-embed-source-height: 10em;\n\t--ck-html-embed-unfocused-outline-width: 1px;\n\t--ck-html-embed-content-min-height: calc(var(--ck-icon-size) + var(--ck-spacing-standard));\n\n\t--ck-html-embed-source-disabled-background: var(--ck-color-base-foreground);\n\t--ck-html-embed-source-disabled-color: hsl(0deg 0% 45%);\n}\n\n/* The feature container. */\n.ck-widget.raw-html-embed {\n\tfont-size: var(--ck-font-size-base);\n\tbackground-color: var(--ck-color-base-foreground);\n\n\t&:not(.ck-widget_selected):not(:hover) {\n\t\toutline: var(--ck-html-embed-unfocused-outline-width) dashed var(--ck-color-widget-blurred-border);\n\t}\n\n\t/* HTML embed widget itself should respect UI language direction */\n\t&[dir="ltr"] {\n\t\ttext-align: left;\n\t}\n\n\t&[dir="rtl"] {\n\t\ttext-align: right;\n\t}\n\n\t/* ----- Embed label in the upper left corner ----------------------------------------------- */\n\n\t&::before {\n\t\tcontent: attr(data-html-embed-label);\n\t\ttop: calc(-1 * var(--ck-html-embed-unfocused-outline-width));\n\t\tleft: var(--ck-spacing-standard);\n\t\tbackground: hsl(0deg 0% 60%);\n\t\ttransition: background var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);\n\t\tpadding: calc(var(--ck-spacing-tiny) + var(--ck-html-embed-unfocused-outline-width)) var(--ck-spacing-small) var(--ck-spacing-tiny);\n\t\tborder-radius: 0 0 var(--ck-border-radius) var(--ck-border-radius);\n\t\tcolor: var(--ck-color-base-background);\n\t\tfont-size: var(--ck-font-size-tiny);\n\t\tfont-family: var(--ck-font-face);\n\t}\n\n\t&[dir="rtl"]::before {\n\t\tleft: auto;\n\t\tright: var(--ck-spacing-standard);\n\t}\n\n\t/* Make space for label but it only collides in LTR languages */\n\t&[dir="ltr"] .ck-widget__type-around .ck-widget__type-around__button.ck-widget__type-around__button_before {\n\t\tmargin-left: 50px;\n\t}\n\n\t@nest .ck.ck-editor__editable.ck-blurred &.ck-widget_selected::before {\n\t\ttop: 0px;\n\t\tpadding: var(--ck-spacing-tiny) var(--ck-spacing-small);\n\t}\n\n\t@nest .ck.ck-editor__editable:not(.ck-blurred) &.ck-widget_selected::before {\n\t\ttop: 0;\n\t\tpadding: var(--ck-spacing-tiny) var(--ck-spacing-small);\n\t\tbackground: var(--ck-color-focus-border);\n\t}\n\n\t@nest .ck.ck-editor__editable &:not(.ck-widget_selected):hover::before {\n\t\ttop: 0px;\n\t\tpadding: var(--ck-spacing-tiny) var(--ck-spacing-small);\n\t}\n\n\t/* ----- Emebed internals --------------------------------------------------------------------- */\n\n\t& .raw-html-embed__content-wrapper {\n\t\tpadding: var(--ck-spacing-standard);\n\t}\n\n\t/* The switch mode button wrapper. */\n\t& .raw-html-embed__buttons-wrapper {\n\t\ttop: var(--ck-spacing-standard);\n\t\tright: var(--ck-spacing-standard);\n\n\t\t& .ck-button.raw-html-embed__save-button {\n\t\t\tcolor: var(--ck-color-button-save);\n\t\t}\n\n\t\t& .ck-button.raw-html-embed__cancel-button {\n\t\t\tcolor: var(--ck-color-button-cancel);\n\t\t}\n\n\t\t& .ck-button:not(:first-child) {\n\t\t\tmargin-top: var(--ck-spacing-small);\n\t\t}\n\t}\n\n\t&[dir="rtl"] .raw-html-embed__buttons-wrapper {\n\t\tleft: var(--ck-spacing-standard);\n\t\tright: auto;\n\t}\n\n\t/* The edit source element. */\n\t& .raw-html-embed__source {\n\t\tbox-sizing: border-box;\n\t\theight: var(--ck-html-embed-source-height);\n\t\twidth: var(--ck-html-embed-content-width);\n\t\tresize: none;\n\t\tmin-width: 0;\n\t\tpadding: var(--ck-spacing-standard);\n\n\t\tfont-family: monospace;\n\t\ttab-size: 4;\n\t\twhite-space: pre-wrap;\n\t\tfont-size: var(--ck-font-size-base); /* Safari needs this. */\n\n\t\t/* HTML code is direction–agnostic. */\n\t\ttext-align: left;\n\t\tdirection: ltr;\n\n\t\t&[disabled] {\n\t\t\tbackground: var(--ck-html-embed-source-disabled-background);\n\t\t\tcolor: var(--ck-html-embed-source-disabled-color);\n\n\t\t\t/* Safari needs this for the proper text color in disabled input (https://github.com/ckeditor/ckeditor5/issues/8320). */\n\t\t\t-webkit-text-fill-color: var(--ck-html-embed-source-disabled-color);\n\t\t\topacity: 1;\n\t\t}\n\t}\n\n\t/* The preview data container. */\n\t& .raw-html-embed__preview {\n\t\tmin-height: var(--ck-html-embed-content-min-height);\n\t\twidth: var(--ck-html-embed-content-width);\n\n\t\t/* Disable all mouse interaction as long as the editor is not read–only. */\n\t\t@nest .ck-editor__editable:not(.ck-read-only) & {\n\t\t\tpointer-events: none;\n\t\t}\n\t}\n\n\t& .raw-html-embed__preview-content {\n\t\tbox-sizing: border-box;\n\t\ttext-align: center;\n\t\tbackground-color: var(--ck-color-base-foreground);\n\n\t\t& > * {\n\t\t\tmargin-left: auto;\n\t\t\tmargin-right: auto;\n\t\t}\n\t}\n\n\t& .raw-html-embed__preview-placeholder {\n\t\tcolor: var(--ck-html-embed-source-disabled-color)\n\t}\n}\n'],sourceRoot:""}]);e["a"]=a},function(t,e,n){"use strict";var o=n(2);var i=n.n(o);var r=n(3);var s=n.n(r);var a=s()(i.a);a.push([t.i,".ck.ck-text-alternative-form{display:flex;flex-direction:row;flex-wrap:nowrap}.ck.ck-text-alternative-form .ck-labeled-field-view{display:inline-block}.ck.ck-text-alternative-form .ck-label{display:none}@media screen and (max-width:600px){.ck.ck-text-alternative-form{flex-wrap:wrap}.ck.ck-text-alternative-form .ck-labeled-field-view{flex-basis:100%}.ck.ck-text-alternative-form .ck-button{flex-basis:50%}}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-image/theme/textalternativeform.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css"],names:[],mappings:"AAOA,6BACC,YAAa,CACb,kBAAmB,CACnB,gBAqBD,CAnBC,oDACC,oBACD,CAEA,uCACC,YACD,CCZA,oCDCD,6BAcE,cAUF,CARE,oDACC,eACD,CAEA,wCACC,cACD,CCrBD",sourcesContent:['/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css";\n\n.ck.ck-text-alternative-form {\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: nowrap;\n\n\t& .ck-labeled-field-view {\n\t\tdisplay: inline-block;\n\t}\n\n\t& .ck-label {\n\t\tdisplay: none;\n\t}\n\n\t@mixin ck-media-phone {\n\t\tflex-wrap: wrap;\n\n\t\t& .ck-labeled-field-view {\n\t\t\tflex-basis: 100%;\n\t\t}\n\n\t\t& .ck-button {\n\t\t\tflex-basis: 50%;\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@define-mixin ck-media-phone {\n\t@media screen and (max-width: 600px) {\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);e["a"]=a},function(t,e,n){"use strict";var o=n(2);var i=n.n(o);var r=n(3);var s=n.n(r);var a=s()(i.a);a.push([t.i,'.ck-vertical-form .ck-button:after{content:"";width:0;position:absolute;right:-1px;top:var(--ck-spacing-small);bottom:var(--ck-spacing-small);z-index:1}@media screen and (max-width:600px){.ck.ck-responsive-form .ck-button:after{content:"";width:0;position:absolute;right:-1px;top:var(--ck-spacing-small);bottom:var(--ck-spacing-small);z-index:1}}.ck-vertical-form>.ck-button:nth-last-child(2):after{border-right:1px solid var(--ck-color-base-border)}.ck.ck-responsive-form{padding:var(--ck-spacing-large)}.ck.ck-responsive-form:focus{outline:none}[dir=ltr] .ck.ck-responsive-form>:not(:first-child),[dir=rtl] .ck.ck-responsive-form>:not(:last-child){margin-left:var(--ck-spacing-standard)}@media screen and (max-width:600px){.ck.ck-responsive-form{padding:0;width:calc(var(--ck-input-text-width)*0.8)}.ck.ck-responsive-form .ck-labeled-field-view{margin:var(--ck-spacing-large) var(--ck-spacing-large) 0}.ck.ck-responsive-form .ck-labeled-field-view .ck-input-text{min-width:0;width:100%}.ck.ck-responsive-form .ck-labeled-field-view .ck-labeled-field-view__error{white-space:normal}.ck.ck-responsive-form>.ck-button:last-child,.ck.ck-responsive-form>.ck-button:nth-last-child(2){padding:var(--ck-spacing-standard);margin-top:var(--ck-spacing-large);border-radius:0;border:0;border-top:1px solid var(--ck-color-base-border)}[dir=ltr] .ck.ck-responsive-form>.ck-button:last-child,[dir=ltr] .ck.ck-responsive-form>.ck-button:nth-last-child(2),[dir=rtl] .ck.ck-responsive-form>.ck-button:last-child,[dir=rtl] .ck.ck-responsive-form>.ck-button:nth-last-child(2){margin-left:0}.ck.ck-responsive-form>.ck-button:nth-last-child(2):after,[dir=rtl] .ck.ck-responsive-form>.ck-button:last-child:last-of-type,[dir=rtl] .ck.ck-responsive-form>.ck-button:nth-last-child(2):last-of-type{border-right:1px solid var(--ck-color-base-border)}}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/responsive-form/responsiveform.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/responsive-form/responsiveform.css"],names:[],mappings:"AAOA,mCACC,UAAW,CACX,OAAQ,CACR,iBAAkB,CAClB,UAAW,CACX,2BAA4B,CAC5B,8BAA+B,CAC/B,SACD,CCTC,oCDaC,wCACC,UAAW,CACX,OAAQ,CACR,iBAAkB,CAClB,UAAW,CACX,2BAA4B,CAC5B,8BAA+B,CAC/B,SACD,CCnBD,CCAD,qDACC,kDACD,CAEA,uBACC,+BAkED,CAhEC,6BAEC,YACD,CASC,uGACC,sCACD,CDvBD,oCCMD,uBAqBE,SAAU,CACV,0CA6CF,CA3CE,8CACC,wDAWD,CATC,6DACC,WAAY,CACZ,UACD,CAGA,4EACC,kBACD,CAID,iGAEC,kCAAmC,CACnC,kCAAmC,CAEnC,eAAgB,CAChB,QAAS,CACT,gDAaD,CApBA,0OAcE,aAMF,CAGC,yMACC,kDACD,CDpEF",sourcesContent:['/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css";\n\n.ck-vertical-form .ck-button::after {\n\tcontent: "";\n\twidth: 0;\n\tposition: absolute;\n\tright: -1px;\n\ttop: var(--ck-spacing-small);\n\tbottom: var(--ck-spacing-small);\n\tz-index: 1;\n}\n\n.ck.ck-responsive-form {\n\t@mixin ck-media-phone {\n\t\t& .ck-button::after {\n\t\t\tcontent: "";\n\t\t\twidth: 0;\n\t\t\tposition: absolute;\n\t\t\tright: -1px;\n\t\t\ttop: var(--ck-spacing-small);\n\t\t\tbottom: var(--ck-spacing-small);\n\t\t\tz-index: 1;\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@define-mixin ck-media-phone {\n\t@media screen and (max-width: 600px) {\n\t\t@mixin-content;\n\t}\n}\n",'/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n.ck-vertical-form > .ck-button:nth-last-child(2)::after {\n\tborder-right: 1px solid var(--ck-color-base-border);\n}\n\n.ck.ck-responsive-form {\n\tpadding: var(--ck-spacing-large);\n\n\t&:focus {\n\t\t/* See: https://github.com/ckeditor/ckeditor5/issues/4773 */\n\t\toutline: none;\n\t}\n\n\t@mixin ck-dir ltr {\n\t\t& > :not(:first-child) {\n\t\t\tmargin-left: var(--ck-spacing-standard);\n\t\t}\n\t}\n\n\t@mixin ck-dir rtl {\n\t\t& > :not(:last-child) {\n\t\t\tmargin-left: var(--ck-spacing-standard);\n\t\t}\n\t}\n\n\t@mixin ck-media-phone {\n\t\tpadding: 0;\n\t\twidth: calc(.8 * var(--ck-input-text-width));\n\n\t\t& .ck-labeled-field-view {\n\t\t\tmargin: var(--ck-spacing-large) var(--ck-spacing-large) 0;\n\n\t\t\t& .ck-input-text {\n\t\t\t\tmin-width: 0;\n\t\t\t\twidth: 100%;\n\t\t\t}\n\n\t\t\t/* Let the long error messages wrap in the narrow form. */\n\t\t\t& .ck-labeled-field-view__error {\n\t\t\t\twhite-space: normal;\n\t\t\t}\n\t\t}\n\n\t\t/* Styles for two last buttons in the form (save&cancel, edit&unlink, etc.). */\n\t\t& > .ck-button:nth-last-child(1),\n\t\t& > .ck-button:nth-last-child(2) {\n\t\t\tpadding: var(--ck-spacing-standard);\n\t\t\tmargin-top: var(--ck-spacing-large);\n\n\t\t\tborder-radius: 0;\n\t\t\tborder: 0;\n\t\t\tborder-top: 1px solid var(--ck-color-base-border);\n\n\t\t\t@mixin ck-dir ltr {\n\t\t\t\tmargin-left: 0;\n\t\t\t}\n\n\t\t\t@mixin ck-dir rtl {\n\t\t\t\tmargin-left: 0;\n\n\t\t\t\t&:last-of-type {\n\t\t\t\t\tborder-right: 1px solid var(--ck-color-base-border);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t& > .ck-button:nth-last-child(2) {\n\t\t\t&::after {\n\t\t\t\tborder-right: 1px solid var(--ck-color-base-border);\n\t\t\t}\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);e["a"]=a},function(t,e,n){"use strict";var o=n(2);var i=n.n(o);var r=n(3);var s=n.n(r);var a=s()(i.a);a.push([t.i,".ck-content .image{display:table;clear:both;text-align:center;margin:1em auto}.ck-content .image img{display:block;margin:0 auto;max-width:100%;min-width:50px}.ck.ck-editor__editable .image>figcaption.ck-placeholder:before{position:static}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-image/theme/image.css"],names:[],mappings:"AAKA,mBACC,aAAc,CACd,UAAW,CACX,iBAAkB,CAGlB,eAeD,CAbC,uBAEC,aAAc,CAGd,aAAc,CAGd,cAAe,CAGf,cACD,CAQD,gEACC,eACD",sourcesContent:["/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck-content .image {\n\tdisplay: table;\n\tclear: both;\n\ttext-align: center;\n\n\t/* Make sure there is some space between the content and the image. Center image by default. */\n\tmargin: 1em auto;\n\n\t& img {\n\t\t/* Prevent unnecessary margins caused by line-height (see #44). */\n\t\tdisplay: block;\n\n\t\t/* Center the image if its width is smaller than the content's width. */\n\t\tmargin: 0 auto;\n\n\t\t/* Make sure the image never exceeds the size of the parent container (ckeditor/ckeditor5-ui#67). */\n\t\tmax-width: 100%;\n\n\t\t/* Make sure the caption will be displayed properly (See: https://github.com/ckeditor/ckeditor5/issues/1870). */\n\t\tmin-width: 50px;\n\t}\n}\n\n/*\n * Since the caption placeholder for images disappears when focused, it does not require special treatment\n * and can go with a position that follows text alignment of an .image out-of-the-box (center by default).\n * See https://github.com/ckeditor/ckeditor5/issues/8689.\n */\n.ck.ck-editor__editable .image > figcaption.ck-placeholder::before {\n\tposition: static;\n}\n"],sourceRoot:""}]);e["a"]=a},function(t,e,n){"use strict";var o=n(2);var i=n.n(o);var r=n(3);var s=n.n(r);var a=s()(i.a);a.push([t.i,".ck-content .image>figcaption{display:table-caption;caption-side:bottom;word-break:break-word;color:#333;background-color:#f7f7f7;padding:.6em;font-size:.75em;outline-offset:-1px}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imagecaption.css"],names:[],mappings:"AAKA,8BACC,qBAAsB,CACtB,mBAAoB,CACpB,qBAAsB,CACtB,UAAsB,CACtB,wBAAiC,CACjC,YAAa,CACb,eAAgB,CAChB,mBACD",sourcesContent:["/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck-content .image > figcaption {\n\tdisplay: table-caption;\n\tcaption-side: bottom;\n\tword-break: break-word;\n\tcolor: hsl(0, 0%, 20%);\n\tbackground-color: hsl(0, 0%, 97%);\n\tpadding: .6em;\n\tfont-size: .75em;\n\toutline-offset: -1px;\n}\n"],sourceRoot:""}]);e["a"]=a},function(t,e,n){"use strict";var o=n(2);var i=n.n(o);var r=n(3);var s=n.n(r);var a=s()(i.a);a.push([t.i,".ck.ck-editor__editable .image{position:relative}.ck.ck-editor__editable .image .ck-progress-bar{position:absolute;top:0;left:0}.ck.ck-editor__editable .image.ck-appear{animation:fadeIn .7s}.ck.ck-editor__editable .image .ck-progress-bar{height:2px;width:0;background:var(--ck-color-upload-bar-background);transition:width .1s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imageuploadprogress.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-image/imageuploadprogress.css"],names:[],mappings:"AAKA,+BACC,iBACD,CAGA,gDACC,iBAAkB,CAClB,KAAM,CACN,MACD,CCPC,yCACC,oBACD,CAID,gDACC,UAAW,CACX,OAAQ,CACR,gDAAiD,CACjD,oBACD,CAEA,kBACC,GAAO,SAAY,CACnB,GAAO,SAAY,CACpB",sourcesContent:["/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-editor__editable .image {\n\tposition: relative;\n}\n\n/* Upload progress bar. */\n.ck.ck-editor__editable .image .ck-progress-bar {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n}\n","/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-editor__editable .image {\n\t/* Showing animation. */\n\t&.ck-appear {\n\t\tanimation: fadeIn 700ms;\n\t}\n}\n\n/* Upload progress bar. */\n.ck.ck-editor__editable .image .ck-progress-bar {\n\theight: 2px;\n\twidth: 0;\n\tbackground: var(--ck-color-upload-bar-background);\n\ttransition: width 100ms;\n}\n\n@keyframes fadeIn {\n\tfrom { opacity: 0; }\n\tto { opacity: 1; }\n}\n"],sourceRoot:""}]);e["a"]=a},function(t,e,n){"use strict";var o=n(2);var i=n.n(o);var r=n(3);var s=n.n(r);var a=s()(i.a);a.push([t.i,'.ck-image-upload-complete-icon{display:block;position:absolute;top:10px;right:10px;border-radius:50%}.ck-image-upload-complete-icon:after{content:"";position:absolute}:root{--ck-color-image-upload-icon:#fff;--ck-color-image-upload-icon-background:#008a00;--ck-image-upload-icon-size:20px;--ck-image-upload-icon-width:2px}.ck-image-upload-complete-icon{width:var(--ck-image-upload-icon-size);height:var(--ck-image-upload-icon-size);opacity:0;background:var(--ck-color-image-upload-icon-background);animation-name:ck-upload-complete-icon-show,ck-upload-complete-icon-hide;animation-fill-mode:forwards,forwards;animation-duration:.5s,.5s;font-size:var(--ck-image-upload-icon-size);animation-delay:0ms,3s}.ck-image-upload-complete-icon:after{left:25%;top:50%;opacity:0;height:0;width:0;transform:scaleX(-1) rotate(135deg);transform-origin:left top;border-top:var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);border-right:var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);animation-name:ck-upload-complete-icon-check;animation-duration:.5s;animation-delay:.5s;animation-fill-mode:forwards;box-sizing:border-box}@keyframes ck-upload-complete-icon-show{0%{opacity:0}to{opacity:1}}@keyframes ck-upload-complete-icon-hide{0%{opacity:1}to{opacity:0}}@keyframes ck-upload-complete-icon-check{0%{opacity:1;width:0;height:0}33%{width:.3em;height:0}to{opacity:1;width:.3em;height:.45em}}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imageuploadicon.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-image/imageuploadicon.css"],names:[],mappings:"AAKA,+BACC,aAAc,CACd,iBAAkB,CAClB,QAAS,CACT,UAAW,CACX,iBAMD,CAJC,qCACC,UAAW,CACX,iBACD,CCVD,MACC,iCAA8C,CAC9C,+CAA4D,CAE5D,gCAAiC,CACjC,gCACD,CAEA,+BACC,sCAAuC,CACvC,uCAAwC,CACxC,SAAU,CACV,uDAAwD,CACxD,wEAA0E,CAC1E,qCAAuC,CACvC,0BAAgC,CAGhC,0CAA2C,CAG3C,sBAyBD,CAtBC,qCAEC,QAAS,CAET,OAAQ,CACR,SAAU,CACV,QAAS,CACT,OAAQ,CAER,mCAAoC,CACpC,yBAA0B,CAC1B,oFAAqF,CACrF,sFAAuF,CAEvF,4CAA6C,CAC7C,sBAAyB,CACzB,mBAAsB,CACtB,4BAA6B,CAG7B,qBACD,CAGD,wCACC,GACC,SACD,CAEA,GACC,SACD,CACD,CAEA,wCACC,GACC,SACD,CAEA,GACC,SACD,CACD,CAEA,yCACC,GACC,SAAU,CACV,OAAQ,CACR,QACD,CACA,IACC,UAAY,CACZ,QACD,CACA,GACC,SAAU,CACV,UAAY,CACZ,YACD,CACD",sourcesContent:['/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck-image-upload-complete-icon {\n\tdisplay: block;\n\tposition: absolute;\n\ttop: 10px;\n\tright: 10px;\n\tborder-radius: 50%;\n\n\t&::after {\n\t\tcontent: "";\n\t\tposition: absolute;\n\t}\n}\n','/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-color-image-upload-icon: hsl(0, 0%, 100%);\n\t--ck-color-image-upload-icon-background: hsl(120, 100%, 27%);\n\n\t--ck-image-upload-icon-size: 20px;\n\t--ck-image-upload-icon-width: 2px;\n}\n\n.ck-image-upload-complete-icon {\n\twidth: var(--ck-image-upload-icon-size);\n\theight: var(--ck-image-upload-icon-size);\n\topacity: 0;\n\tbackground: var(--ck-color-image-upload-icon-background);\n\tanimation-name: ck-upload-complete-icon-show, ck-upload-complete-icon-hide;\n\tanimation-fill-mode: forwards, forwards;\n\tanimation-duration: 500ms, 500ms;\n\n\t/* To make animation scalable. */\n\tfont-size: var(--ck-image-upload-icon-size);\n\n\t/* Hide completed upload icon after 3 seconds. */\n\tanimation-delay: 0ms, 3000ms;\n\n\t/* This is check icon element made from border-width mixed with animations. */\n\t&::after {\n\t\t/* Because of border transformation we need to "hard code" left position. */\n\t\tleft: 25%;\n\n\t\ttop: 50%;\n\t\topacity: 0;\n\t\theight: 0;\n\t\twidth: 0;\n\n\t\ttransform: scaleX(-1) rotate(135deg);\n\t\ttransform-origin: left top;\n\t\tborder-top: var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);\n\t\tborder-right: var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);\n\n\t\tanimation-name: ck-upload-complete-icon-check;\n\t\tanimation-duration: 500ms;\n\t\tanimation-delay: 500ms;\n\t\tanimation-fill-mode: forwards;\n\n\t\t/* #1095. While reset is not providing proper box-sizing for pseudoelements, we need to handle it. */\n\t\tbox-sizing: border-box;\n\t}\n}\n\n@keyframes ck-upload-complete-icon-show {\n\tfrom {\n\t\topacity: 0;\n\t}\n\n\tto {\n\t\topacity: 1;\n\t}\n}\n\n@keyframes ck-upload-complete-icon-hide {\n\tfrom {\n\t\topacity: 1;\n\t}\n\n\tto {\n\t\topacity: 0;\n\t}\n}\n\n@keyframes ck-upload-complete-icon-check {\n\t0% {\n\t\topacity: 1;\n\t\twidth: 0;\n\t\theight: 0;\n\t}\n\t33% {\n\t\twidth: 0.3em;\n\t\theight: 0;\n\t}\n\t100% {\n\t\topacity: 1;\n\t\twidth: 0.3em;\n\t\theight: 0.45em;\n\t}\n}\n'],sourceRoot:""}]);e["a"]=a},function(t,e,n){"use strict";var o=n(2);var i=n.n(o);var r=n(3);var s=n.n(r);var a=s()(i.a);a.push([t.i,'.ck .ck-upload-placeholder-loader{position:absolute;display:flex;align-items:center;justify-content:center;top:0;left:0}.ck .ck-upload-placeholder-loader:before{content:"";position:relative}:root{--ck-color-upload-placeholder-loader:#b3b3b3;--ck-upload-placeholder-loader-size:32px}.ck .ck-image-upload-placeholder{width:100%;margin:0}.ck .ck-upload-placeholder-loader{width:100%;height:100%}.ck .ck-upload-placeholder-loader:before{width:var(--ck-upload-placeholder-loader-size);height:var(--ck-upload-placeholder-loader-size);border-radius:50%;border-top:3px solid var(--ck-color-upload-placeholder-loader);border-right:2px solid transparent;animation:ck-upload-placeholder-loader 1s linear infinite}@keyframes ck-upload-placeholder-loader{to{transform:rotate(1turn)}}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imageuploadloader.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-image/imageuploadloader.css"],names:[],mappings:"AAKA,kCACC,iBAAkB,CAClB,YAAa,CACb,kBAAmB,CACnB,sBAAuB,CACvB,KAAM,CACN,MAMD,CAJC,yCACC,UAAW,CACX,iBACD,CCXD,MACC,4CAAqD,CACrD,wCACD,CAEA,iCAEC,UAAW,CACX,QACD,CAEA,kCACC,UAAW,CACX,WAUD,CARC,yCACC,8CAA+C,CAC/C,+CAAgD,CAChD,iBAAkB,CAClB,8DAA+D,CAC/D,kCAAmC,CACnC,yDACD,CAGD,wCACC,GACC,uBACD,CACD",sourcesContent:["/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck .ck-upload-placeholder-loader {\n\tposition: absolute;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\ttop: 0;\n\tleft: 0;\n\n\t&::before {\n\t\tcontent: '';\n\t\tposition: relative;\n\t}\n}\n","/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-color-upload-placeholder-loader: hsl(0, 0%, 70%);\n\t--ck-upload-placeholder-loader-size: 32px;\n}\n\n.ck .ck-image-upload-placeholder {\n\t/* We need to control the full width of the SVG gray background. */\n\twidth: 100%;\n\tmargin: 0;\n}\n\n.ck .ck-upload-placeholder-loader {\n\twidth: 100%;\n\theight: 100%;\n\n\t&::before {\n\t\twidth: var(--ck-upload-placeholder-loader-size);\n\t\theight: var(--ck-upload-placeholder-loader-size);\n\t\tborder-radius: 50%;\n\t\tborder-top: 3px solid var(--ck-color-upload-placeholder-loader);\n\t\tborder-right: 2px solid transparent;\n\t\tanimation: ck-upload-placeholder-loader 1s linear infinite;\n\t}\n}\n\n@keyframes ck-upload-placeholder-loader {\n\tto {\n\t\ttransform: rotate( 360deg );\n\t}\n}\n"],sourceRoot:""}]);e["a"]=a},function(t,e,n){"use strict";var o=n(2);var i=n.n(o);var r=n(3);var s=n.n(r);var a=s()(i.a);a.push([t.i,".ck.ck-image-insert-form:focus{outline:none}.ck.ck-form__row{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between}.ck.ck-form__row>:not(.ck-label){flex-grow:1}.ck.ck-form__row.ck-image-insert-form__action-row{margin-top:var(--ck-spacing-standard)}.ck.ck-form__row.ck-image-insert-form__action-row .ck-button-cancel,.ck.ck-form__row.ck-image-insert-form__action-row .ck-button-save{justify-content:center}.ck.ck-form__row.ck-image-insert-form__action-row .ck-button .ck-button__label{color:var(--ck-color-text)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imageinsertformrowview.css"],names:[],mappings:"AAMC,+BAEC,YACD,CAGD,iBACC,YAAa,CACb,kBAAmB,CACnB,gBAAiB,CACjB,6BAmBD,CAhBC,iCACC,WACD,CAEA,kDACC,qCAUD,CARC,sIAEC,sBACD,CAEA,+EACC,0BACD",sourcesContent:["/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-image-insert-form {\n\t&:focus {\n\t\t/* See: https://github.com/ckeditor/ckeditor5/issues/4773 */\n\t\toutline: none;\n\t}\n}\n\n.ck.ck-form__row {\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: nowrap;\n\tjustify-content: space-between;\n\n\t/* Ignore labels that work as fieldset legends */\n\t& > *:not(.ck-label) {\n\t\tflex-grow: 1;\n\t}\n\n\t&.ck-image-insert-form__action-row {\n\t\tmargin-top: var(--ck-spacing-standard);\n\n\t\t& .ck-button-save,\n\t\t& .ck-button-cancel {\n\t\t\tjustify-content: center;\n\t\t}\n\n\t\t& .ck-button .ck-button__label {\n\t\t\tcolor: var(--ck-color-text);\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);e["a"]=a},function(t,e,n){"use strict";var o=n(2);var i=n.n(o);var r=n(3);var s=n.n(r);var a=s()(i.a);a.push([t.i,".ck.ck-image-insert__panel{padding:var(--ck-spacing-large)}.ck.ck-image-insert__ck-finder-button{display:block;width:100%;margin:var(--ck-spacing-standard) auto;border:1px solid #ccc;border-radius:var(--ck-border-radius)}.ck.ck-splitbutton>.ck-file-dialog-button.ck-button{padding:0;margin:0;border:none}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imageinsert.css"],names:[],mappings:"AAKA,2BACC,+BACD,CAEA,sCACC,aAAc,CACd,UAAW,CACX,sCAAuC,CACvC,qBAAiC,CACjC,qCACD,CAGA,oDACC,SAAU,CACV,QAAS,CACT,WACD",sourcesContent:["/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-image-insert__panel {\n\tpadding: var(--ck-spacing-large);\n}\n\n.ck.ck-image-insert__ck-finder-button {\n\tdisplay: block;\n\twidth: 100%;\n\tmargin: var(--ck-spacing-standard) auto;\n\tborder: 1px solid hsl(0, 0%, 80%);\n\tborder-radius: var(--ck-border-radius);\n}\n\n/* https://github.com/ckeditor/ckeditor5/issues/7986 */\n.ck.ck-splitbutton > .ck-file-dialog-button.ck-button {\n\tpadding: 0;\n\tmargin: 0;\n\tborder: none;\n}\n"],sourceRoot:""}]);e["a"]=a},function(t,e,n){"use strict";var o=n(2);var i=n.n(o);var r=n(3);var s=n.n(r);var a=s()(i.a);a.push([t.i,".ck-content .image.image_resized{max-width:100%;display:block;box-sizing:border-box}.ck-content .image.image_resized img{width:100%}.ck-content .image.image_resized>figcaption{display:block}[dir=ltr] .ck.ck-button.ck-button_with-text.ck-resize-image-button .ck-button__icon{margin-right:var(--ck-spacing-standard)}[dir=rtl] .ck.ck-button.ck-button_with-text.ck-resize-image-button .ck-button__icon{margin-left:var(--ck-spacing-standard)}.ck.ck-dropdown .ck-button.ck-resize-image-button .ck-button__label{width:4em}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imageresize.css"],names:[],mappings:"AAKA,iCACC,cAAe,CAMf,aAAc,CACd,qBAWD,CATC,qCAEC,UACD,CAEA,4CAEC,aACD,CAGD,oFACC,uCACD,CAEA,oFACC,sCACD,CAEA,oEACC,SACD",sourcesContent:['/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck-content .image.image_resized {\n\tmax-width: 100%;\n\t/*\n\tThe `` element for resized images must not use `display:table` as browsers do not support `max-width` for it well.\n\tSee https://stackoverflow.com/questions/4019604/chrome-safari-ignoring-max-width-in-table/14420691#14420691 for more.\n\tFortunately, since we control the width, there is no risk that the image will look bad.\n\t*/\n\tdisplay: block;\n\tbox-sizing: border-box;\n\n\t& img {\n\t\t/* For resized images it is the `` element that determines the image width. */\n\t\twidth: 100%;\n\t}\n\n\t& > figcaption {\n\t\t/* The `` element uses `display:block`, so `` also has to. */\n\t\tdisplay: block;\n\t}\n}\n\n[dir="ltr"] .ck.ck-button.ck-button_with-text.ck-resize-image-button .ck-button__icon {\n\tmargin-right: var(--ck-spacing-standard);\n}\n\n[dir="rtl"] .ck.ck-button.ck-button_with-text.ck-resize-image-button .ck-button__icon {\n\tmargin-left: var(--ck-spacing-standard);\n}\n\n.ck.ck-dropdown .ck-button.ck-resize-image-button .ck-button__label {\n\twidth: 4em;\n}\n'],sourceRoot:""}]);e["a"]=a},function(t,e,n){"use strict";var o=n(2);var i=n.n(o);var r=n(3);var s=n.n(r);var a=s()(i.a);a.push([t.i,":root{--ck-image-style-spacing:1.5em}.ck-content .image-style-side{float:right;margin-left:var(--ck-image-style-spacing);max-width:50%}.ck-content .image-style-align-left{float:left;margin-right:var(--ck-image-style-spacing)}.ck-content .image-style-align-center{margin-left:auto;margin-right:auto}.ck-content .image-style-align-right{float:right;margin-left:var(--ck-image-style-spacing)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imagestyle.css"],names:[],mappings:"AAKA,MACC,8BACD,CAGC,8BACC,WAAY,CACZ,yCAA0C,CAC1C,aACD,CAEA,oCACC,UAAW,CACX,0CACD,CAEA,sCACC,gBAAiB,CACjB,iBACD,CAEA,qCACC,WAAY,CACZ,yCACD",sourcesContent:["/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-image-style-spacing: 1.5em;\n}\n\n.ck-content {\n\t& .image-style-side {\n\t\tfloat: right;\n\t\tmargin-left: var(--ck-image-style-spacing);\n\t\tmax-width: 50%;\n\t}\n\n\t& .image-style-align-left {\n\t\tfloat: left;\n\t\tmargin-right: var(--ck-image-style-spacing);\n\t}\n\n\t& .image-style-align-center {\n\t\tmargin-left: auto;\n\t\tmargin-right: auto;\n\t}\n\n\t& .image-style-align-right {\n\t\tfloat: right;\n\t\tmargin-left: var(--ck-image-style-spacing);\n\t}\n}\n"],sourceRoot:""}]);e["a"]=a},function(t,e,n){"use strict";var o=n(2);var i=n.n(o);var r=n(3);var s=n.n(r);var a=s()(i.a);a.push([t.i,".ck .ck-link_selected{background:var(--ck-color-link-selected-background)}.ck .ck-fake-link-selection{background:var(--ck-color-link-fake-selection)}.ck .ck-fake-link-selection_collapsed{height:100%;border-right:1px solid var(--ck-color-base-text);margin-right:-1px;outline:1px solid hsla(0,0%,100%,.5)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-link/link.css"],names:[],mappings:"AAMA,sBACC,mDACD,CAMA,4BACC,8CACD,CAGA,sCACC,WAAY,CACZ,gDAAiD,CACjD,iBAAkB,CAClB,oCACD",sourcesContent:['/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/* Class added to span element surrounding currently selected link. */\n.ck .ck-link_selected {\n\tbackground: var(--ck-color-link-selected-background);\n}\n\n/*\n * Classes used by the "fake visual selection" displayed in the content when an input\n * in the link UI has focus (the browser does not render the native selection in this state).\n */\n.ck .ck-fake-link-selection {\n\tbackground: var(--ck-color-link-fake-selection);\n}\n\n/* A collapsed fake visual selection. */\n.ck .ck-fake-link-selection_collapsed {\n\theight: 100%;\n\tborder-right: 1px solid var(--ck-color-base-text);\n\tmargin-right: -1px;\n\toutline: solid 1px hsla(0, 0%, 100%, .5);\n}\n'],sourceRoot:""}]);e["a"]=a},function(t,e,n){"use strict";var o=n(2);var i=n.n(o);var r=n(3);var s=n.n(r);var a=s()(i.a);a.push([t.i,".ck.ck-link-form{display:flex}.ck.ck-link-form .ck-label{display:none}@media screen and (max-width:600px){.ck.ck-link-form{flex-wrap:wrap}.ck.ck-link-form .ck-labeled-field-view{flex-basis:100%}.ck.ck-link-form .ck-button{flex-basis:50%}}.ck.ck-link-form_layout-vertical{display:block}.ck.ck-link-form_layout-vertical .ck-button.ck-button-cancel,.ck.ck-link-form_layout-vertical .ck-button.ck-button-save{margin-top:var(--ck-spacing-medium)}.ck.ck-link-form_layout-vertical{padding:0;min-width:var(--ck-input-text-width)}.ck.ck-link-form_layout-vertical .ck-labeled-field-view{margin:var(--ck-spacing-large) var(--ck-spacing-large) var(--ck-spacing-small)}.ck.ck-link-form_layout-vertical .ck-labeled-field-view .ck-input-text{min-width:0;width:100%}.ck.ck-link-form_layout-vertical .ck-button{padding:var(--ck-spacing-standard);margin:0;border-radius:0;border:0;border-top:1px solid var(--ck-color-base-border);width:50%}[dir=ltr] .ck.ck-link-form_layout-vertical .ck-button,[dir=rtl] .ck.ck-link-form_layout-vertical .ck-button{margin-left:0}[dir=rtl] .ck.ck-link-form_layout-vertical .ck-button:last-of-type{border-right:1px solid var(--ck-color-base-border)}.ck.ck-link-form_layout-vertical .ck.ck-list{margin:var(--ck-spacing-standard) var(--ck-spacing-large)}.ck.ck-link-form_layout-vertical .ck.ck-list .ck-button.ck-switchbutton{border:0;padding:0;width:100%}.ck.ck-link-form_layout-vertical .ck.ck-list .ck-button.ck-switchbutton:hover{background:none}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-link/theme/linkform.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-link/linkform.css"],names:[],mappings:"AAOA,iBACC,YAiBD,CAfC,2BACC,YACD,CCNA,oCDCD,iBAQE,cAUF,CARE,wCACC,eACD,CAEA,4BACC,cACD,CCfD,CDuBD,iCACC,aAYD,CALE,wHAEC,mCACD,CE/BF,iCACC,SAAU,CACV,oCA8CD,CA5CC,wDACC,8EAMD,CAJC,uEACC,WAAY,CACZ,UACD,CAGD,4CACC,kCAAmC,CACnC,QAAS,CACT,eAAgB,CAChB,QAAS,CACT,gDAAiD,CACjD,SAaD,CAnBA,4GAaE,aAMF,CAJE,mEACC,kDACD,CAKF,6CACC,yDAWD,CATC,wEACC,QAAS,CACT,SAAU,CACV,UAKD,CAHC,8EACC,eACD",sourcesContent:['/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css";\n\n.ck.ck-link-form {\n\tdisplay: flex;\n\n\t& .ck-label {\n\t\tdisplay: none;\n\t}\n\n\t@mixin ck-media-phone {\n\t\tflex-wrap: wrap;\n\n\t\t& .ck-labeled-field-view {\n\t\t\tflex-basis: 100%;\n\t\t}\n\n\t\t& .ck-button {\n\t\t\tflex-basis: 50%;\n\t\t}\n\t}\n}\n\n/*\n * Style link form differently when manual decorators are available.\n * See: https://github.com/ckeditor/ckeditor5-link/issues/186.\n */\n.ck.ck-link-form_layout-vertical {\n\tdisplay: block;\n\n\t/*\n\t * Whether the form is in the responsive mode or not, if there are decorator buttons\n\t * keep the top margin of action buttons medium.\n\t */\n\t& .ck-button {\n\t\t&.ck-button-save,\n\t\t&.ck-button-cancel {\n\t\t\tmargin-top: var(--ck-spacing-medium);\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@define-mixin ck-media-phone {\n\t@media screen and (max-width: 600px) {\n\t\t@mixin-content;\n\t}\n}\n",'/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n/*\n * Style link form differently when manual decorators are available.\n * See: https://github.com/ckeditor/ckeditor5-link/issues/186.\n */\n.ck.ck-link-form_layout-vertical {\n\tpadding: 0;\n\tmin-width: var(--ck-input-text-width);\n\n\t& .ck-labeled-field-view {\n\t\tmargin: var(--ck-spacing-large) var(--ck-spacing-large) var(--ck-spacing-small);\n\n\t\t& .ck-input-text {\n\t\t\tmin-width: 0;\n\t\t\twidth: 100%;\n\t\t}\n\t}\n\n\t& .ck-button {\n\t\tpadding: var(--ck-spacing-standard);\n\t\tmargin: 0;\n\t\tborder-radius: 0;\n\t\tborder: 0;\n\t\tborder-top: 1px solid var(--ck-color-base-border);\n\t\twidth: 50%;\n\n\t\t@mixin ck-dir ltr {\n\t\t\tmargin-left: 0;\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\tmargin-left: 0;\n\n\t\t\t&:last-of-type {\n\t\t\t\tborder-right: 1px solid var(--ck-color-base-border);\n\t\t\t}\n\t\t}\n\t}\n\n\t/* Using additional `.ck` class for stronger CSS specificity than `.ck.ck-link-form > :not(:first-child)`. */\n\t& .ck.ck-list {\n\t\tmargin: var(--ck-spacing-standard) var(--ck-spacing-large);\n\n\t\t& .ck-button.ck-switchbutton {\n\t\t\tborder: 0;\n\t\t\tpadding: 0;\n\t\t\twidth: 100%;\n\n\t\t\t&:hover {\n\t\t\t\tbackground: none;\n\t\t\t}\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);e["a"]=a},function(t,e,n){"use strict";var o=n(2);var i=n.n(o);var r=n(3);var s=n.n(r);var a=s()(i.a);a.push([t.i,".ck.ck-link-actions{display:flex;flex-direction:row;flex-wrap:nowrap}.ck.ck-link-actions .ck-link-actions__preview{display:inline-block}.ck.ck-link-actions .ck-link-actions__preview .ck-button__label{overflow:hidden}@media screen and (max-width:600px){.ck.ck-link-actions{flex-wrap:wrap}.ck.ck-link-actions .ck-link-actions__preview{flex-basis:100%}.ck.ck-link-actions .ck-button:not(.ck-link-actions__preview){flex-basis:50%}}.ck.ck-link-actions .ck-button.ck-link-actions__preview{padding-left:0;padding-right:0}.ck.ck-link-actions .ck-button.ck-link-actions__preview .ck-button__label{padding:0 var(--ck-spacing-medium);color:var(--ck-color-link-default);text-overflow:ellipsis;cursor:pointer;max-width:var(--ck-input-text-width);min-width:3em;text-align:center}.ck.ck-link-actions .ck-button.ck-link-actions__preview .ck-button__label:hover{text-decoration:underline}.ck.ck-link-actions .ck-button.ck-link-actions__preview,.ck.ck-link-actions .ck-button.ck-link-actions__preview:active,.ck.ck-link-actions .ck-button.ck-link-actions__preview:focus,.ck.ck-link-actions .ck-button.ck-link-actions__preview:hover{background:none}.ck.ck-link-actions .ck-button.ck-link-actions__preview:active{box-shadow:none}.ck.ck-link-actions .ck-button.ck-link-actions__preview:focus .ck-button__label{text-decoration:underline}[dir=ltr] .ck.ck-link-actions .ck-button:not(:first-child),[dir=rtl] .ck.ck-link-actions .ck-button:not(:last-child){margin-left:var(--ck-spacing-standard)}@media screen and (max-width:600px){.ck.ck-link-actions .ck-button.ck-link-actions__preview{margin:var(--ck-spacing-standard) var(--ck-spacing-standard) 0}.ck.ck-link-actions .ck-button.ck-link-actions__preview .ck-button__label{min-width:0;max-width:100%}[dir=ltr] .ck.ck-link-actions .ck-button:not(.ck-link-actions__preview),[dir=rtl] .ck.ck-link-actions .ck-button:not(.ck-link-actions__preview){margin-left:0}}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-link/theme/linkactions.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-link/linkactions.css"],names:[],mappings:"AAOA,oBACC,YAAa,CACb,kBAAmB,CACnB,gBAqBD,CAnBC,8CACC,oBAKD,CAHC,gEACC,eACD,CCXD,oCDCD,oBAcE,cAUF,CARE,8CACC,eACD,CAEA,8DACC,cACD,CCrBD,CCKA,wDACC,cAAe,CACf,eAmCD,CAjCC,0EACC,kCAAmC,CACnC,kCAAmC,CACnC,sBAAuB,CACvB,cAAe,CAIf,oCAAqC,CACrC,aAAc,CACd,iBAKD,CAHC,gFACC,yBACD,CAGD,mPAIC,eACD,CAEA,+DACC,eACD,CAGC,gFACC,yBACD,CAWD,qHACC,sCACD,CDvDD,oCC2DC,wDACC,8DAMD,CAJC,0EACC,WAAY,CACZ,cACD,CAGD,gJAME,aAEF,CD1ED",sourcesContent:['/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css";\n\n.ck.ck-link-actions {\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: nowrap;\n\n\t& .ck-link-actions__preview {\n\t\tdisplay: inline-block;\n\n\t\t& .ck-button__label {\n\t\t\toverflow: hidden;\n\t\t}\n\t}\n\n\t@mixin ck-media-phone {\n\t\tflex-wrap: wrap;\n\n\t\t& .ck-link-actions__preview {\n\t\t\tflex-basis: 100%;\n\t\t}\n\n\t\t& .ck-button:not(.ck-link-actions__preview) {\n\t\t\tflex-basis: 50%;\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@define-mixin ck-media-phone {\n\t@media screen and (max-width: 600px) {\n\t\t@mixin-content;\n\t}\n}\n",'/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/components/tooltip/mixins/_tooltip.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_unselectable.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n@import "../mixins/_focus.css";\n@import "../mixins/_shadow.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css";\n\n.ck.ck-link-actions {\n\t& .ck-button.ck-link-actions__preview {\n\t\tpadding-left: 0;\n\t\tpadding-right: 0;\n\n\t\t& .ck-button__label {\n\t\t\tpadding: 0 var(--ck-spacing-medium);\n\t\t\tcolor: var(--ck-color-link-default);\n\t\t\ttext-overflow: ellipsis;\n\t\t\tcursor: pointer;\n\n\t\t\t/* Match the box model of the link editor form\'s input so the balloon\n\t\t\tdoes not change width when moving between actions and the form. */\n\t\t\tmax-width: var(--ck-input-text-width);\n\t\t\tmin-width: 3em;\n\t\t\ttext-align: center;\n\n\t\t\t&:hover {\n\t\t\t\ttext-decoration: underline;\n\t\t\t}\n\t\t}\n\n\t\t&,\n\t\t&:hover,\n\t\t&:focus,\n\t\t&:active {\n\t\t\tbackground: none;\n\t\t}\n\n\t\t&:active {\n\t\t\tbox-shadow: none;\n\t\t}\n\n\t\t&:focus {\n\t\t\t& .ck-button__label {\n\t\t\t\ttext-decoration: underline;\n\t\t\t}\n\t\t}\n\t}\n\n\t@mixin ck-dir ltr {\n\t\t& .ck-button:not(:first-child) {\n\t\t\tmargin-left: var(--ck-spacing-standard);\n\t\t}\n\t}\n\n\t@mixin ck-dir rtl {\n\t\t& .ck-button:not(:last-child) {\n\t\t\tmargin-left: var(--ck-spacing-standard);\n\t\t}\n\t}\n\n\t@mixin ck-media-phone {\n\t\t& .ck-button.ck-link-actions__preview {\n\t\t\tmargin: var(--ck-spacing-standard) var(--ck-spacing-standard) 0;\n\n\t\t\t& .ck-button__label {\n\t\t\t\tmin-width: 0;\n\t\t\t\tmax-width: 100%;\n\t\t\t}\n\t\t}\n\n\t\t& .ck-button:not(.ck-link-actions__preview) {\n\t\t\t@mixin ck-dir ltr {\n\t\t\t\tmargin-left: 0;\n\t\t\t}\n\n\t\t\t@mixin ck-dir rtl {\n\t\t\t\tmargin-left: 0;\n\t\t\t}\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);e["a"]=a},function(t,e,n){"use strict";var o=n(2);var i=n.n(o);var r=n(3);var s=n.n(r);var a=s()(i.a);a.push([t.i,".ck.ck-link-image_icon{position:absolute;top:var(--ck-spacing-medium);right:var(--ck-spacing-medium);width:28px;height:28px;padding:4px;box-sizing:border-box;border-radius:var(--ck-border-radius)}.ck.ck-link-image_icon svg{fill:currentColor}.ck.ck-link-image_icon{color:#fff;background:rgba(0,0,0,.4)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-link/theme/linkimage.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-link/linkimage.css"],names:[],mappings:"AAKA,uBACC,iBAAkB,CAClB,4BAA6B,CAC7B,8BAA+B,CAC/B,UAAW,CACX,WAAY,CACZ,WAAY,CACZ,qBAAsB,CACtB,qCAKD,CAHC,2BACC,iBACD,CCZD,uBACC,UAAuB,CACvB,yBACD",sourcesContent:["/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-link-image_icon {\n\tposition: absolute;\n\ttop: var(--ck-spacing-medium);\n\tright: var(--ck-spacing-medium);\n\twidth: 28px;\n\theight: 28px;\n\tpadding: 4px;\n\tbox-sizing: border-box;\n\tborder-radius: var(--ck-border-radius);\n\n\t& svg {\n\t\tfill: currentColor;\n\t}\n}\n","/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-link-image_icon {\n\tcolor: hsl(0, 0%, 100%);\n\tbackground: hsla(0, 0%, 0%, .4);\n}\n"],sourceRoot:""}]);e["a"]=a},function(t,e,n){"use strict";var o=n(2);var i=n.n(o);var r=n(3);var s=n.n(r);var a=s()(i.a);a.push([t.i,".ck.ck-list-styles-dropdown>.ck-dropdown__panel>.ck-toolbar>.ck-toolbar__items{display:grid}:root{--ck-list-style-button-size:44px}.ck.ck-list-styles-dropdown>.ck-dropdown__panel>.ck-toolbar{background:none;padding:0}.ck.ck-list-styles-dropdown>.ck-dropdown__panel>.ck-toolbar>.ck-toolbar__items{grid-template-columns:repeat(3,auto);row-gap:var(--ck-spacing-medium);column-gap:var(--ck-spacing-medium);padding:var(--ck-spacing-medium)}.ck.ck-list-styles-dropdown>.ck-dropdown__panel>.ck-toolbar>.ck-toolbar__items .ck-button{width:var(--ck-list-style-button-size);height:var(--ck-list-style-button-size);padding:0;margin:0;box-sizing:content-box}.ck.ck-list-styles-dropdown>.ck-dropdown__panel>.ck-toolbar>.ck-toolbar__items .ck-button .ck-icon{width:var(--ck-list-style-button-size);height:var(--ck-list-style-button-size)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-list/theme/liststyles.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-list/liststyles.css"],names:[],mappings:"AAKA,+EAKC,YACD,CCNA,MACC,gCACD,CAEA,4DACC,eAAgB,CAChB,SAiCD,CA/BC,+EACC,oCAAwC,CACxC,gCAAiC,CACjC,mCAAoC,CACpC,gCA0BD,CAxBC,0FAEC,sCAAuC,CACvC,uCAAwC,CACxC,SAAU,CAMV,QAAS,CAOT,sBAMD,CAJC,mGACC,sCAAuC,CACvC,uCACD",sourcesContent:["/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-list-styles-dropdown > .ck-dropdown__panel > .ck-toolbar > .ck-toolbar__items {\n\t/*\n\t * Use the benefits of the toolbar (e.g. out-of-the-box keyboard navigation) but make it look\n\t * like a panel with thumbnails (previews).\n\t */\n\tdisplay: grid;\n}\n",'/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-list-style-button-size: 44px;\n}\n\n.ck.ck-list-styles-dropdown > .ck-dropdown__panel > .ck-toolbar {\n\tbackground: none;\n\tpadding: 0;\n\n\t& > .ck-toolbar__items {\n\t\tgrid-template-columns: repeat( 3, auto );\n\t\trow-gap: var(--ck-spacing-medium);\n\t\tcolumn-gap: var(--ck-spacing-medium);\n\t\tpadding: var(--ck-spacing-medium);\n\n\t\t& .ck-button {\n\t\t\t/* Make the button look like a thumbnail (the icon "takes it all"). */\n\t\t\twidth: var(--ck-list-style-button-size);\n\t\t\theight: var(--ck-list-style-button-size);\n\t\t\tpadding: 0;\n\n\t\t\t/*\n\t\t\t * Buttons are aligned by the grid so disable default button margins to not collide with the\n\t\t\t * gaps in the grid.\n\t\t\t */\n\t\t\tmargin: 0;\n\n\t\t\t/*\n\t\t\t * Make sure the button border (which is displayed on focus, BTW) does not steal pixels\n\t\t\t * from the button dimensions and, as a result, decrease the size of the icon\n\t\t\t * (which becomes blurry as it scales down).\n\t\t\t */\n\t\t\tbox-sizing: content-box;\n\n\t\t\t& .ck-icon {\n\t\t\t\twidth: var(--ck-list-style-button-size);\n\t\t\t\theight: var(--ck-list-style-button-size);\n\t\t\t}\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);e["a"]=a},function(t,e,n){"use strict";var o=n(2);var i=n.n(o);var r=n(3);var s=n.n(r);var a=s()(i.a);a.push([t.i,'.ck-media__wrapper .ck-media__placeholder{display:flex;flex-direction:column;align-items:center}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url .ck-tooltip{display:block}@media (hover:none){.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url .ck-tooltip{display:none}}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url{max-width:100%;position:relative}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url:hover .ck-tooltip{visibility:visible;opacity:1}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url .ck-media__placeholder__url__text{overflow:hidden;display:block}.ck-media__wrapper[data-oembed-url*="facebook.com"] .ck-media__placeholder__icon *,.ck-media__wrapper[data-oembed-url*="google.com/maps"] .ck-media__placeholder__icon *,.ck-media__wrapper[data-oembed-url*="instagram.com"] .ck-media__placeholder__icon *,.ck-media__wrapper[data-oembed-url*="twitter.com"] .ck-media__placeholder__icon *{display:none}.ck-editor__editable:not(.ck-read-only) .ck-media__wrapper>:not(.ck-media__placeholder),.ck-editor__editable:not(.ck-read-only) .ck-widget:not(.ck-widget_selected) .ck-media__placeholder{pointer-events:none}:root{--ck-media-embed-placeholder-icon-size:3em;--ck-color-media-embed-placeholder-url-text:#757575;--ck-color-media-embed-placeholder-url-text-hover:var(--ck-color-base-text)}.ck-media__wrapper{margin:0 auto}.ck-media__wrapper .ck-media__placeholder{padding:calc(var(--ck-spacing-standard)*3);background:var(--ck-color-base-foreground)}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__icon{min-width:var(--ck-media-embed-placeholder-icon-size);height:var(--ck-media-embed-placeholder-icon-size);margin-bottom:var(--ck-spacing-large);background-position:50%;background-size:cover}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__icon .ck-icon{width:100%;height:100%}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url__text{color:var(--ck-color-media-embed-placeholder-url-text);white-space:nowrap;text-align:center;font-style:italic;text-overflow:ellipsis}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url__text:hover{color:var(--ck-color-media-embed-placeholder-url-text-hover);cursor:pointer;text-decoration:underline}.ck-media__wrapper[data-oembed-url*="open.spotify.com"]{max-width:300px;max-height:380px}.ck-media__wrapper[data-oembed-url*="google.com/maps"] .ck-media__placeholder__icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNTAuMzc4IiBoZWlnaHQ9IjI1NC4xNjciIHZpZXdCb3g9IjAgMCA2Ni4yNDYgNjcuMjQ4Ij48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTcyLjUzMSAtMjE4LjQ1NSkgc2NhbGUoLjk4MDEyKSI+PHJlY3Qgcnk9IjUuMjM4IiByeD0iNS4yMzgiIHk9IjIzMS4zOTkiIHg9IjE3Ni4wMzEiIGhlaWdodD0iNjAuMDk5IiB3aWR0aD0iNjAuMDk5IiBmaWxsPSIjMzRhNjY4IiBwYWludC1vcmRlcj0ibWFya2VycyBzdHJva2UgZmlsbCIvPjxwYXRoIGQ9Ik0yMDYuNDc3IDI2MC45bC0yOC45ODcgMjguOTg3YTUuMjE4IDUuMjE4IDAgMDAzLjc4IDEuNjFoNDkuNjIxYzEuNjk0IDAgMy4xOS0uNzk4IDQuMTQ2LTIuMDM3eiIgZmlsbD0iIzVjODhjNSIvPjxwYXRoIGQ9Ik0yMjYuNzQyIDIyMi45ODhjLTkuMjY2IDAtMTYuNzc3IDcuMTctMTYuNzc3IDE2LjAxNC4wMDcgMi43NjIuNjYzIDUuNDc0IDIuMDkzIDcuODc1LjQzLjcwMy44MyAxLjQwOCAxLjE5IDIuMTA3LjMzMy41MDIuNjUgMS4wMDUuOTUgMS41MDguMzQzLjQ3Ny42NzMuOTU3Ljk4OCAxLjQ0IDEuMzEgMS43NjkgMi41IDMuNTAyIDMuNjM3IDUuMTY4Ljc5MyAxLjI3NSAxLjY4MyAyLjY0IDIuNDY2IDMuOTkgMi4zNjMgNC4wOTQgNC4wMDcgOC4wOTIgNC42IDEzLjkxNHYuMDEyYy4xODIuNDEyLjUxNi42NjYuODc5LjY2Ny40MDMtLjAwMS43NjgtLjMxNC45My0uNzk5LjYwMy01Ljc1NiAyLjIzOC05LjcyOSA0LjU4NS0xMy43OTQuNzgyLTEuMzUgMS42NzMtMi43MTUgMi40NjUtMy45OSAxLjEzNy0xLjY2NiAyLjMyOC0zLjQgMy42MzgtNS4xNjkuMzE1LS40ODIuNjQ1LS45NjIuOTg4LTEuNDM5LjMtLjUwMy42MTctMS4wMDYuOTUtMS41MDguMzU5LS43Ljc2LTEuNDA0IDEuMTktMi4xMDcgMS40MjYtMi40MDIgMi01LjExNCAyLjAwNC03Ljg3NSAwLTguODQ0LTcuNTExLTE2LjAxNC0xNi43NzYtMTYuMDE0eiIgZmlsbD0iI2RkNGIzZSIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48ZWxsaXBzZSByeT0iNS41NjQiIHJ4PSI1LjgyOCIgY3k9IjIzOS4wMDIiIGN4PSIyMjYuNzQyIiBmaWxsPSIjODAyZDI3IiBwYWludC1vcmRlcj0ibWFya2VycyBzdHJva2UgZmlsbCIvPjxwYXRoIGQ9Ik0xOTAuMzAxIDIzNy4yODNjLTQuNjcgMC04LjQ1NyAzLjg1My04LjQ1NyA4LjYwNnMzLjc4NiA4LjYwNyA4LjQ1NyA4LjYwN2MzLjA0MyAwIDQuODA2LS45NTggNi4zMzctMi41MTYgMS41My0xLjU1NyAyLjA4Ny0zLjkxMyAyLjA4Ny02LjI5IDAtLjM2Mi0uMDIzLS43MjItLjA2NC0xLjA3OWgtOC4yNTd2My4wNDNoNC44NWMtLjE5Ny43NTktLjUzMSAxLjQ1LTEuMDU4IDEuOTg2LS45NDIuOTU4LTIuMDI4IDEuNTQ4LTMuOTAxIDEuNTQ4LTIuODc2IDAtNS4yMDgtMi4zNzItNS4yMDgtNS4yOTkgMC0yLjkyNiAyLjMzMi01LjI5OSA1LjIwOC01LjI5OSAxLjM5OSAwIDIuNjE4LjQwNyAzLjU4NCAxLjI5M2wyLjM4MS0yLjM4YzAtLjAwMi0uMDAzLS4wMDQtLjAwNC0uMDA1LTEuNTg4LTEuNTI0LTMuNjItMi4yMTUtNS45NTUtMi4yMTV6bTQuNDMgNS42NmwuMDAzLjAwNnYtLjAwM3oiIGZpbGw9IiNmZmYiIHBhaW50LW9yZGVyPSJtYXJrZXJzIHN0cm9rZSBmaWxsIi8+PHBhdGggZD0iTTIxNS4xODQgMjUxLjkyOWwtNy45OCA3Ljk3OSAyOC40NzcgMjguNDc1YTUuMjMzIDUuMjMzIDAgMDAuNDQ5LTIuMTIzdi0zMS4xNjVjLS40NjkuNjc1LS45MzQgMS4zNDktMS4zODIgMi4wMDUtLjc5MiAxLjI3NS0xLjY4MiAyLjY0LTIuNDY1IDMuOTktMi4zNDcgNC4wNjUtMy45ODIgOC4wMzgtNC41ODUgMTMuNzk0LS4xNjIuNDg1LS41MjcuNzk4LS45My43OTktLjM2My0uMDAxLS42OTctLjI1NS0uODc5LS42Njd2LS4wMTJjLS41OTMtNS44MjItMi4yMzctOS44Mi00LjYtMTMuOTE0LS43ODMtMS4zNS0xLjY3My0yLjcxNS0yLjQ2Ni0zLjk5LTEuMTM3LTEuNjY2LTIuMzI3LTMuNC0zLjYzNy01LjE2OWwtLjAwMi0uMDAzeiIgZmlsbD0iI2MzYzNjMyIvPjxwYXRoIGQ9Ik0yMTIuOTgzIDI0OC40OTVsLTM2Ljk1MiAzNi45NTN2LjgxMmE1LjIyNyA1LjIyNyAwIDAwNS4yMzggNS4yMzhoMS4wMTVsMzUuNjY2LTM1LjY2NmExMzYuMjc1IDEzNi4yNzUgMCAwMC0yLjc2NC0zLjkgMzcuNTc1IDM3LjU3NSAwIDAwLS45ODktMS40NCAzNS4xMjcgMzUuMTI3IDAgMDAtLjk1LTEuNTA4Yy0uMDgzLS4xNjItLjE3Ni0uMzI2LS4yNjQtLjQ4OXoiIGZpbGw9IiNmZGRjNGYiIHBhaW50LW9yZGVyPSJtYXJrZXJzIHN0cm9rZSBmaWxsIi8+PHBhdGggZD0iTTIxMS45OTggMjYxLjA4M2wtNi4xNTIgNi4xNTEgMjQuMjY0IDI0LjI2NGguNzgxYTUuMjI3IDUuMjI3IDAgMDA1LjIzOS01LjIzOHYtMS4wNDV6IiBmaWxsPSIjZmZmIiBwYWludC1vcmRlcj0ibWFya2VycyBzdHJva2UgZmlsbCIvPjwvZz48L3N2Zz4=)}.ck-media__wrapper[data-oembed-url*="facebook.com"] .ck-media__placeholder{background:#4268b3}.ck-media__wrapper[data-oembed-url*="facebook.com"] .ck-media__placeholder .ck-media__placeholder__icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAyNCIgaGVpZ2h0PSIxMDI0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik05NjcuNDg0IDBINTYuNTE3QzI1LjMwNCAwIDAgMjUuMzA0IDAgNTYuNTE3djkxMC45NjZDMCA5OTguNjk0IDI1LjI5NyAxMDI0IDU2LjUyMiAxMDI0SDU0N1Y2MjhINDE0VjQ3M2gxMzNWMzU5LjAyOWMwLTEzMi4yNjIgODAuNzczLTIwNC4yODIgMTk4Ljc1Ni0yMDQuMjgyIDU2LjUxMyAwIDEwNS4wODYgNC4yMDggMTE5LjI0NCA2LjA4OVYyOTlsLTgxLjYxNi4wMzdjLTYzLjk5MyAwLTc2LjM4NCAzMC40OTItNzYuMzg0IDc1LjIzNlY0NzNoMTUzLjQ4N2wtMTkuOTg2IDE1NUg3MDd2Mzk2aDI2MC40ODRjMzEuMjEzIDAgNTYuNTE2LTI1LjMwMyA1Ni41MTYtNTYuNTE2VjU2LjUxNUMxMDI0IDI1LjMwMyA5OTguNjk3IDAgOTY3LjQ4NCAwIiBmaWxsPSIjRkZGRkZFIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4=)}.ck-media__wrapper[data-oembed-url*="facebook.com"] .ck-media__placeholder .ck-media__placeholder__url__text{color:#cdf}.ck-media__wrapper[data-oembed-url*="facebook.com"] .ck-media__placeholder .ck-media__placeholder__url__text:hover{color:#fff}.ck-media__wrapper[data-oembed-url*="instagram.com"] .ck-media__placeholder{background:linear-gradient(-135deg,#1400c7,#b800b1,#f50000)}.ck-media__wrapper[data-oembed-url*="instagram.com"] .ck-media__placeholder .ck-media__placeholder__icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTA0IiBoZWlnaHQ9IjUwNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PHBhdGggaWQ9ImEiIGQ9Ik0wIC4xNTloNTAzLjg0MVY1MDMuOTRIMHoiLz48L2RlZnM+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48bWFzayBpZD0iYiIgZmlsbD0iI2ZmZiI+PHVzZSB4bGluazpocmVmPSIjYSIvPjwvbWFzaz48cGF0aCBkPSJNMjUxLjkyMS4xNTljLTY4LjQxOCAwLTc2Ljk5Ny4yOS0xMDMuODY3IDEuNTE2LTI2LjgxNCAxLjIyMy00NS4xMjcgNS40ODItNjEuMTUxIDExLjcxLTE2LjU2NiA2LjQzNy0zMC42MTUgMTUuMDUxLTQ0LjYyMSAyOS4wNTYtMTQuMDA1IDE0LjAwNi0yMi42MTkgMjguMDU1LTI5LjA1NiA0NC42MjEtNi4yMjggMTYuMDI0LTEwLjQ4NyAzNC4zMzctMTEuNzEgNjEuMTUxQy4yOSAxNzUuMDgzIDAgMTgzLjY2MiAwIDI1Mi4wOGMwIDY4LjQxNy4yOSA3Ni45OTYgMS41MTYgMTAzLjg2NiAxLjIyMyAyNi44MTQgNS40ODIgNDUuMTI3IDExLjcxIDYxLjE1MSA2LjQzNyAxNi41NjYgMTUuMDUxIDMwLjYxNSAyOS4wNTYgNDQuNjIxIDE0LjAwNiAxNC4wMDUgMjguMDU1IDIyLjYxOSA0NC42MjEgMjkuMDU3IDE2LjAyNCA2LjIyNyAzNC4zMzcgMTAuNDg2IDYxLjE1MSAxMS43MDkgMjYuODcgMS4yMjYgMzUuNDQ5IDEuNTE2IDEwMy44NjcgMS41MTYgNjguNDE3IDAgNzYuOTk2LS4yOSAxMDMuODY2LTEuNTE2IDI2LjgxNC0xLjIyMyA0NS4xMjctNS40ODIgNjEuMTUxLTExLjcwOSAxNi41NjYtNi40MzggMzAuNjE1LTE1LjA1MiA0NC42MjEtMjkuMDU3IDE0LjAwNS0xNC4wMDYgMjIuNjE5LTI4LjA1NSAyOS4wNTctNDQuNjIxIDYuMjI3LTE2LjAyNCAxMC40ODYtMzQuMzM3IDExLjcwOS02MS4xNTEgMS4yMjYtMjYuODcgMS41MTYtMzUuNDQ5IDEuNTE2LTEwMy44NjYgMC02OC40MTgtLjI5LTc2Ljk5Ny0xLjUxNi0xMDMuODY3LTEuMjIzLTI2LjgxNC01LjQ4Mi00NS4xMjctMTEuNzA5LTYxLjE1MS02LjQzOC0xNi41NjYtMTUuMDUyLTMwLjYxNS0yOS4wNTctNDQuNjIxLTE0LjAwNi0xNC4wMDUtMjguMDU1LTIyLjYxOS00NC42MjEtMjkuMDU2LTE2LjAyNC02LjIyOC0zNC4zMzctMTAuNDg3LTYxLjE1MS0xMS43MUMzMjguOTE3LjQ0OSAzMjAuMzM4LjE1OSAyNTEuOTIxLjE1OXptMCA0NS4zOTFjNjcuMjY1IDAgNzUuMjMzLjI1NyAxMDEuNzk3IDEuNDY5IDI0LjU2MiAxLjEyIDM3LjkwMSA1LjIyNCA0Ni43NzggOC42NzQgMTEuNzU5IDQuNTcgMjAuMTUxIDEwLjAyOSAyOC45NjYgMTguODQ1IDguODE2IDguODE1IDE0LjI3NSAxNy4yMDcgMTguODQ1IDI4Ljk2NiAzLjQ1IDguODc3IDcuNTU0IDIyLjIxNiA4LjY3NCA0Ni43NzggMS4yMTIgMjYuNTY0IDEuNDY5IDM0LjUzMiAxLjQ2OSAxMDEuNzk4IDAgNjcuMjY1LS4yNTcgNzUuMjMzLTEuNDY5IDEwMS43OTctMS4xMiAyNC41NjItNS4yMjQgMzcuOTAxLTguNjc0IDQ2Ljc3OC00LjU3IDExLjc1OS0xMC4wMjkgMjAuMTUxLTE4Ljg0NSAyOC45NjYtOC44MTUgOC44MTYtMTcuMjA3IDE0LjI3NS0yOC45NjYgMTguODQ1LTguODc3IDMuNDUtMjIuMjE2IDcuNTU0LTQ2Ljc3OCA4LjY3NC0yNi41NiAxLjIxMi0zNC41MjcgMS40NjktMTAxLjc5NyAxLjQ2OS02Ny4yNzEgMC03NS4yMzctLjI1Ny0xMDEuNzk4LTEuNDY5LTI0LjU2Mi0xLjEyLTM3LjkwMS01LjIyNC00Ni43NzgtOC42NzQtMTEuNzU5LTQuNTctMjAuMTUxLTEwLjAyOS0yOC45NjYtMTguODQ1LTguODE1LTguODE1LTE0LjI3NS0xNy4yMDctMTguODQ1LTI4Ljk2Ni0zLjQ1LTguODc3LTcuNTU0LTIyLjIxNi04LjY3NC00Ni43NzgtMS4yMTItMjYuNTY0LTEuNDY5LTM0LjUzMi0xLjQ2OS0xMDEuNzk3IDAtNjcuMjY2LjI1Ny03NS4yMzQgMS40NjktMTAxLjc5OCAxLjEyLTI0LjU2MiA1LjIyNC0zNy45MDEgOC42NzQtNDYuNzc4IDQuNTctMTEuNzU5IDEwLjAyOS0yMC4xNTEgMTguODQ1LTI4Ljk2NiA4LjgxNS04LjgxNiAxNy4yMDctMTQuMjc1IDI4Ljk2Ni0xOC44NDUgOC44NzctMy40NSAyMi4yMTYtNy41NTQgNDYuNzc4LTguNjc0IDI2LjU2NC0xLjIxMiAzNC41MzItMS40NjkgMTAxLjc5OC0xLjQ2OXoiIGZpbGw9IiNGRkYiIG1hc2s9InVybCgjYikiLz48cGF0aCBkPSJNMjUxLjkyMSAzMzYuMDUzYy00Ni4zNzggMC04My45NzQtMzcuNTk2LTgzLjk3NC04My45NzMgMC00Ni4zNzggMzcuNTk2LTgzLjk3NCA4My45NzQtODMuOTc0IDQ2LjM3NyAwIDgzLjk3MyAzNy41OTYgODMuOTczIDgzLjk3NCAwIDQ2LjM3Ny0zNy41OTYgODMuOTczLTgzLjk3MyA4My45NzN6bTAtMjEzLjMzOGMtNzEuNDQ3IDAtMTI5LjM2NSA1Ny45MTgtMTI5LjM2NSAxMjkuMzY1IDAgNzEuNDQ2IDU3LjkxOCAxMjkuMzY0IDEyOS4zNjUgMTI5LjM2NCA3MS40NDYgMCAxMjkuMzY0LTU3LjkxOCAxMjkuMzY0LTEyOS4zNjQgMC03MS40NDctNTcuOTE4LTEyOS4zNjUtMTI5LjM2NC0xMjkuMzY1ek00MTYuNjI3IDExNy42MDRjMCAxNi42OTYtMTMuNTM1IDMwLjIzLTMwLjIzMSAzMC4yMy0xNi42OTUgMC0zMC4yMy0xMy41MzQtMzAuMjMtMzAuMjMgMC0xNi42OTYgMTMuNTM1LTMwLjIzMSAzMC4yMy0zMC4yMzEgMTYuNjk2IDAgMzAuMjMxIDEzLjUzNSAzMC4yMzEgMzAuMjMxIiBmaWxsPSIjRkZGIi8+PC9nPjwvc3ZnPg==)}.ck-media__wrapper[data-oembed-url*="instagram.com"] .ck-media__placeholder .ck-media__placeholder__url__text{color:#ffe0fe}.ck-media__wrapper[data-oembed-url*="instagram.com"] .ck-media__placeholder .ck-media__placeholder__url__text:hover{color:#fff}.ck-media__wrapper[data-oembed-url*="twitter.com"] .ck.ck-media__placeholder{background:linear-gradient(90deg,#71c6f4,#0d70a5)}.ck-media__wrapper[data-oembed-url*="twitter.com"] .ck.ck-media__placeholder .ck-media__placeholder__icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0MDAgNDAwIj48cGF0aCBkPSJNNDAwIDIwMGMwIDExMC41LTg5LjUgMjAwLTIwMCAyMDBTMCAzMTAuNSAwIDIwMCA4OS41IDAgMjAwIDBzMjAwIDg5LjUgMjAwIDIwMHpNMTYzLjQgMzA1LjVjODguNyAwIDEzNy4yLTczLjUgMTM3LjItMTM3LjIgMC0yLjEgMC00LjItLjEtNi4yIDkuNC02LjggMTcuNi0xNS4zIDI0LjEtMjUtOC42IDMuOC0xNy45IDYuNC0yNy43IDcuNiAxMC02IDE3LjYtMTUuNCAyMS4yLTI2LjctOS4zIDUuNS0xOS42IDkuNS0zMC42IDExLjctOC44LTkuNC0yMS4zLTE1LjItMzUuMi0xNS4yLTI2LjYgMC00OC4yIDIxLjYtNDguMiA0OC4yIDAgMy44LjQgNy41IDEuMyAxMS00MC4xLTItNzUuNi0yMS4yLTk5LjQtNTAuNC00LjEgNy4xLTYuNSAxNS40LTYuNSAyNC4yIDAgMTYuNyA4LjUgMzEuNSAyMS41IDQwLjEtNy45LS4yLTE1LjMtMi40LTIxLjgtNnYuNmMwIDIzLjQgMTYuNiA0Mi44IDM4LjcgNDcuMy00IDEuMS04LjMgMS43LTEyLjcgMS43LTMuMSAwLTYuMS0uMy05LjEtLjkgNi4xIDE5LjIgMjMuOSAzMy4xIDQ1IDMzLjUtMTYuNSAxMi45LTM3LjMgMjAuNi01OS45IDIwLjYtMy45IDAtNy43LS4yLTExLjUtLjcgMjEuMSAxMy44IDQ2LjUgMjEuOCA3My43IDIxLjgiIGZpbGw9IiNmZmYiLz48L3N2Zz4=)}.ck-media__wrapper[data-oembed-url*="twitter.com"] .ck.ck-media__placeholder .ck-media__placeholder__url__text{color:#b8e6ff}.ck-media__wrapper[data-oembed-url*="twitter.com"] .ck.ck-media__placeholder .ck-media__placeholder__url__text:hover{color:#fff}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-media-embed/theme/mediaembedediting.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/tooltip/mixins/_tooltip.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-media-embed/mediaembedediting.css"],names:[],mappings:"AAQC,0CACC,YAAa,CACb,qBAAsB,CACtB,kBAmBD,CCpBA,kFACC,aAqBD,CAHC,oBAnBD,kFAoBE,YAEF,CADC,CDlBA,sEAIC,cAAe,CAEf,iBAUD,CCoBD,wFACC,kBAAmB,CACnB,SACD,CD3BE,wGACC,eAAgB,CAChB,aACD,CAQD,+UACC,YACD,CAYF,2LACC,mBACD,CE/CA,MACC,0CAA2C,CAE3C,mDAA4D,CAC5D,2EACD,CAEA,mBACC,aA4FD,CA1FC,0CACC,0CAA+C,CAC/C,0CA4BD,CA1BC,uEACC,qDAAsD,CACtD,kDAAmD,CACnD,qCAAsC,CACtC,uBAA2B,CAC3B,qBAMD,CAJC,gFACC,UAAW,CACX,WACD,CAGD,4EACC,sDAAuD,CACvD,kBAAmB,CACnB,iBAAkB,CAClB,iBAAkB,CAClB,sBAOD,CALC,kFACC,4DAA6D,CAC7D,cAAe,CACf,yBACD,CAIF,wDACC,eAAgB,CAChB,gBACD,CAEA,oFACC,gvGACD,CAEA,2EACC,kBAaD,CAXC,wGACC,orBACD,CAEA,6GACC,UAKD,CAHC,mHACC,UACD,CAIF,4EACC,2DAcD,CAZC,yGACC,4jHACD,CAGA,8GACC,aAKD,CAHC,oHACC,UACD,CAIF,6EAEC,iDAaD,CAXC,0GACC,48BACD,CAEA,+GACC,aAKD,CAHC,qHACC,UACD",sourcesContent:['/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/components/tooltip/mixins/_tooltip.css";\n\n.ck-media__wrapper {\n\t& .ck-media__placeholder {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\talign-items: center;\n\n\t\t& .ck-media__placeholder__url {\n\t\t\t@mixin ck-tooltip_enabled;\n\n\t\t\t/* Otherwise the URL will overflow when the content is very narrow. */\n\t\t\tmax-width: 100%;\n\n\t\t\tposition: relative;\n\n\t\t\t&:hover {\n\t\t\t\t@mixin ck-tooltip_visible;\n\t\t\t}\n\n\t\t\t& .ck-media__placeholder__url__text {\n\t\t\t\toverflow: hidden;\n\t\t\t\tdisplay: block;\n\t\t\t}\n\t\t}\n\t}\n\n\t&[data-oembed-url*="twitter.com"],\n\t&[data-oembed-url*="google.com/maps"],\n\t&[data-oembed-url*="facebook.com"],\n\t&[data-oembed-url*="instagram.com"] {\n\t\t& .ck-media__placeholder__icon * {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n}\n\n/* Disable all mouse interaction as long as the editor is not read–only.\n https://github.com/ckeditor/ckeditor5-media-embed/issues/58 */\n.ck-editor__editable:not(.ck-read-only) .ck-media__wrapper > *:not(.ck-media__placeholder) {\n\tpointer-events: none;\n}\n\n/* Disable all mouse interaction when the widget is not selected (e.g. to avoid opening links by accident).\n https://github.com/ckeditor/ckeditor5-media-embed/issues/18 */\n.ck-editor__editable:not(.ck-read-only) .ck-widget:not(.ck-widget_selected) .ck-media__placeholder {\n\tpointer-events: none;\n}\n',"/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Enables the tooltip, which is the tooltip is in DOM but\n * not yet displayed.\n */\n@define-mixin ck-tooltip_enabled {\n\t& .ck-tooltip {\n\t\tdisplay: block;\n\n\t\t/*\n\t\t * Don't display tooltips in devices which don't support :hover.\n\t\t * In fact, it's all about iOS, which forces user to click UI elements twice to execute\n\t\t * the primary action, when tooltips are enabled.\n\t\t *\n\t\t * Q: OK, but why not the following query?\n\t\t *\n\t\t * @media (hover) {\n\t\t * display: block;\n\t\t * }\n\t\t *\n\t\t * A: Because FF does not support it and it would completely disable tooltips\n\t\t * in that browser.\n\t\t *\n\t\t * More in https://github.com/ckeditor/ckeditor5/issues/920.\n\t\t */\n\t\t@media (hover:none) {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n}\n\n/**\n * Disables the tooltip making it disappear from DOM.\n */\n@define-mixin ck-tooltip_disabled {\n\t& .ck-tooltip {\n\t\tdisplay: none;\n\t}\n}\n\n/**\n * Shows the tooltip, which is already in DOM.\n * Requires `ck-tooltip_enabled` first.\n */\n@define-mixin ck-tooltip_visible {\n\t& .ck-tooltip {\n\t\tvisibility: visible;\n\t\topacity: 1;\n\t}\n}\n",'/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-media-embed-placeholder-icon-size: 3em;\n\n\t--ck-color-media-embed-placeholder-url-text: hsl(0, 0%, 46%);\n\t--ck-color-media-embed-placeholder-url-text-hover: var(--ck-color-base-text);\n}\n\n.ck-media__wrapper {\n\tmargin: 0 auto;\n\n\t& .ck-media__placeholder {\n\t\tpadding: calc( 3 * var(--ck-spacing-standard) );\n\t\tbackground: var(--ck-color-base-foreground);\n\n\t\t& .ck-media__placeholder__icon {\n\t\t\tmin-width: var(--ck-media-embed-placeholder-icon-size);\n\t\t\theight: var(--ck-media-embed-placeholder-icon-size);\n\t\t\tmargin-bottom: var(--ck-spacing-large);\n\t\t\tbackground-position: center;\n\t\t\tbackground-size: cover;\n\n\t\t\t& .ck-icon {\n\t\t\t\twidth: 100%;\n\t\t\t\theight: 100%;\n\t\t\t}\n\t\t}\n\n\t\t& .ck-media__placeholder__url__text {\n\t\t\tcolor: var(--ck-color-media-embed-placeholder-url-text);\n\t\t\twhite-space: nowrap;\n\t\t\ttext-align: center;\n\t\t\tfont-style: italic;\n\t\t\ttext-overflow: ellipsis;\n\n\t\t\t&:hover {\n\t\t\t\tcolor: var(--ck-color-media-embed-placeholder-url-text-hover);\n\t\t\t\tcursor: pointer;\n\t\t\t\ttext-decoration: underline;\n\t\t\t}\n\t\t}\n\t}\n\n\t&[data-oembed-url*="open.spotify.com"] {\n\t\tmax-width: 300px;\n\t\tmax-height: 380px;\n\t}\n\n\t&[data-oembed-url*="google.com/maps"] .ck-media__placeholder__icon {\n\t\tbackground-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNTAuMzc4IiBoZWlnaHQ9IjI1NC4xNjciIHZpZXdCb3g9IjAgMCA2Ni4yNDYgNjcuMjQ4Ij48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTcyLjUzMSAtMjE4LjQ1NSkgc2NhbGUoLjk4MDEyKSI+PHJlY3Qgcnk9IjUuMjM4IiByeD0iNS4yMzgiIHk9IjIzMS4zOTkiIHg9IjE3Ni4wMzEiIGhlaWdodD0iNjAuMDk5IiB3aWR0aD0iNjAuMDk5IiBmaWxsPSIjMzRhNjY4IiBwYWludC1vcmRlcj0ibWFya2VycyBzdHJva2UgZmlsbCIvPjxwYXRoIGQ9Ik0yMDYuNDc3IDI2MC45bC0yOC45ODcgMjguOTg3YTUuMjE4IDUuMjE4IDAgMCAwIDMuNzggMS42MWg0OS42MjFjMS42OTQgMCAzLjE5LS43OTggNC4xNDYtMi4wMzd6IiBmaWxsPSIjNWM4OGM1Ii8+PHBhdGggZD0iTTIyNi43NDIgMjIyLjk4OGMtOS4yNjYgMC0xNi43NzcgNy4xNy0xNi43NzcgMTYuMDE0LjAwNyAyLjc2Mi42NjMgNS40NzQgMi4wOTMgNy44NzUuNDMuNzAzLjgzIDEuNDA4IDEuMTkgMi4xMDcuMzMzLjUwMi42NSAxLjAwNS45NSAxLjUwOC4zNDMuNDc3LjY3My45NTcuOTg4IDEuNDQgMS4zMSAxLjc2OSAyLjUgMy41MDIgMy42MzcgNS4xNjguNzkzIDEuMjc1IDEuNjgzIDIuNjQgMi40NjYgMy45OSAyLjM2MyA0LjA5NCA0LjAwNyA4LjA5MiA0LjYgMTMuOTE0di4wMTJjLjE4Mi40MTIuNTE2LjY2Ni44NzkuNjY3LjQwMy0uMDAxLjc2OC0uMzE0LjkzLS43OTkuNjAzLTUuNzU2IDIuMjM4LTkuNzI5IDQuNTg1LTEzLjc5NC43ODItMS4zNSAxLjY3My0yLjcxNSAyLjQ2NS0zLjk5IDEuMTM3LTEuNjY2IDIuMzI4LTMuNCAzLjYzOC01LjE2OS4zMTUtLjQ4Mi42NDUtLjk2Mi45ODgtMS40MzkuMy0uNTAzLjYxNy0xLjAwNi45NS0xLjUwOC4zNTktLjcuNzYtMS40MDQgMS4xOS0yLjEwNyAxLjQyNi0yLjQwMiAyLTUuMTE0IDIuMDA0LTcuODc1IDAtOC44NDQtNy41MTEtMTYuMDE0LTE2Ljc3Ni0xNi4wMTR6IiBmaWxsPSIjZGQ0YjNlIiBwYWludC1vcmRlcj0ibWFya2VycyBzdHJva2UgZmlsbCIvPjxlbGxpcHNlIHJ5PSI1LjU2NCIgcng9IjUuODI4IiBjeT0iMjM5LjAwMiIgY3g9IjIyNi43NDIiIGZpbGw9IiM4MDJkMjciIHBhaW50LW9yZGVyPSJtYXJrZXJzIHN0cm9rZSBmaWxsIi8+PHBhdGggZD0iTTE5MC4zMDEgMjM3LjI4M2MtNC42NyAwLTguNDU3IDMuODUzLTguNDU3IDguNjA2czMuNzg2IDguNjA3IDguNDU3IDguNjA3YzMuMDQzIDAgNC44MDYtLjk1OCA2LjMzNy0yLjUxNiAxLjUzLTEuNTU3IDIuMDg3LTMuOTEzIDIuMDg3LTYuMjkgMC0uMzYyLS4wMjMtLjcyMi0uMDY0LTEuMDc5aC04LjI1N3YzLjA0M2g0Ljg1Yy0uMTk3Ljc1OS0uNTMxIDEuNDUtMS4wNTggMS45ODYtLjk0Mi45NTgtMi4wMjggMS41NDgtMy45MDEgMS41NDgtMi44NzYgMC01LjIwOC0yLjM3Mi01LjIwOC01LjI5OSAwLTIuOTI2IDIuMzMyLTUuMjk5IDUuMjA4LTUuMjk5IDEuMzk5IDAgMi42MTguNDA3IDMuNTg0IDEuMjkzbDIuMzgxLTIuMzhjMC0uMDAyLS4wMDMtLjAwNC0uMDA0LS4wMDUtMS41ODgtMS41MjQtMy42Mi0yLjIxNS01Ljk1NS0yLjIxNXptNC40MyA1LjY2bC4wMDMuMDA2di0uMDAzeiIgZmlsbD0iI2ZmZiIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48cGF0aCBkPSJNMjE1LjE4NCAyNTEuOTI5bC03Ljk4IDcuOTc5IDI4LjQ3NyAyOC40NzVjLjI4Ny0uNjQ5LjQ0OS0xLjM2Ni40NDktMi4xMjN2LTMxLjE2NWMtLjQ2OS42NzUtLjkzNCAxLjM0OS0xLjM4MiAyLjAwNS0uNzkyIDEuMjc1LTEuNjgyIDIuNjQtMi40NjUgMy45OS0yLjM0NyA0LjA2NS0zLjk4MiA4LjAzOC00LjU4NSAxMy43OTQtLjE2Mi40ODUtLjUyNy43OTgtLjkzLjc5OS0uMzYzLS4wMDEtLjY5Ny0uMjU1LS44NzktLjY2N3YtLjAxMmMtLjU5My01LjgyMi0yLjIzNy05LjgyLTQuNi0xMy45MTQtLjc4My0xLjM1LTEuNjczLTIuNzE1LTIuNDY2LTMuOTktMS4xMzctMS42NjYtMi4zMjctMy40LTMuNjM3LTUuMTY5bC0uMDAyLS4wMDN6IiBmaWxsPSIjYzNjM2MzIi8+PHBhdGggZD0iTTIxMi45ODMgMjQ4LjQ5NWwtMzYuOTUyIDM2Ljk1M3YuODEyYTUuMjI3IDUuMjI3IDAgMCAwIDUuMjM4IDUuMjM4aDEuMDE1bDM1LjY2Ni0zNS42NjZhMTM2LjI3NSAxMzYuMjc1IDAgMCAwLTIuNzY0LTMuOSAzNy41NzUgMzcuNTc1IDAgMCAwLS45ODktMS40NGMtLjI5OS0uNTAzLS42MTYtMS4wMDYtLjk1LTEuNTA4LS4wODMtLjE2Mi0uMTc2LS4zMjYtLjI2NC0uNDg5eiIgZmlsbD0iI2ZkZGM0ZiIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48cGF0aCBkPSJNMjExLjk5OCAyNjEuMDgzbC02LjE1MiA2LjE1MSAyNC4yNjQgMjQuMjY0aC43ODFhNS4yMjcgNS4yMjcgMCAwIDAgNS4yMzktNS4yMzh2LTEuMDQ1eiIgZmlsbD0iI2ZmZiIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48L2c+PC9zdmc+);\n\t}\n\n\t&[data-oembed-url*="facebook.com"] .ck-media__placeholder {\n\t\tbackground: hsl(220, 46%, 48%);\n\n\t\t& .ck-media__placeholder__icon {\n\t\t\tbackground-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSIxMDI0cHgiIGhlaWdodD0iMTAyNHB4IiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPiAgICAgICAgPHRpdGxlPkZpbGwgMTwvdGl0bGU+ICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPiAgICA8ZGVmcz48L2RlZnM+ICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPiAgICAgICAgPGcgaWQ9ImZMb2dvX1doaXRlIiBmaWxsPSIjRkZGRkZFIj4gICAgICAgICAgICA8cGF0aCBkPSJNOTY3LjQ4NCwwIEw1Ni41MTcsMCBDMjUuMzA0LDAgMCwyNS4zMDQgMCw1Ni41MTcgTDAsOTY3LjQ4MyBDMCw5OTguNjk0IDI1LjI5NywxMDI0IDU2LjUyMiwxMDI0IEw1NDcsMTAyNCBMNTQ3LDYyOCBMNDE0LDYyOCBMNDE0LDQ3MyBMNTQ3LDQ3MyBMNTQ3LDM1OS4wMjkgQzU0NywyMjYuNzY3IDYyNy43NzMsMTU0Ljc0NyA3NDUuNzU2LDE1NC43NDcgQzgwMi4yNjksMTU0Ljc0NyA4NTAuODQyLDE1OC45NTUgODY1LDE2MC44MzYgTDg2NSwyOTkgTDc4My4zODQsMjk5LjAzNyBDNzE5LjM5MSwyOTkuMDM3IDcwNywzMjkuNTI5IDcwNywzNzQuMjczIEw3MDcsNDczIEw4NjAuNDg3LDQ3MyBMODQwLjUwMSw2MjggTDcwNyw2MjggTDcwNywxMDI0IEw5NjcuNDg0LDEwMjQgQzk5OC42OTcsMTAyNCAxMDI0LDk5OC42OTcgMTAyNCw5NjcuNDg0IEwxMDI0LDU2LjUxNSBDMTAyNCwyNS4zMDMgOTk4LjY5NywwIDk2Ny40ODQsMCIgaWQ9IkZpbGwtMSI+PC9wYXRoPiAgICAgICAgPC9nPiAgICA8L2c+PC9zdmc+);\n\t\t}\n\n\t\t& .ck-media__placeholder__url__text {\n\t\t\tcolor: hsl(220, 100%, 90%);\n\n\t\t\t&:hover {\n\t\t\t\tcolor: hsl(0, 0%, 100%);\n\t\t\t}\n\t\t}\n\t}\n\n\t&[data-oembed-url*="instagram.com"] .ck-media__placeholder {\n\t\tbackground: linear-gradient(-135deg,hsl(246, 100%, 39%),hsl(302, 100%, 36%),hsl(0, 100%, 48%));\n\n\t\t& .ck-media__placeholder__icon {\n\t\t\tbackground-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSI1MDRweCIgaGVpZ2h0PSI1MDRweCIgdmlld0JveD0iMCAwIDUwNCA1MDQiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+ICAgICAgICA8dGl0bGU+Z2x5cGgtbG9nb19NYXkyMDE2PC90aXRsZT4gICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+ICAgIDxkZWZzPiAgICAgICAgPHBvbHlnb24gaWQ9InBhdGgtMSIgcG9pbnRzPSIwIDAuMTU5IDUwMy44NDEgMC4xNTkgNTAzLjg0MSA1MDMuOTQgMCA1MDMuOTQiPjwvcG9seWdvbj4gICAgPC9kZWZzPiAgICA8ZyBpZD0iZ2x5cGgtbG9nb19NYXkyMDE2IiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4gICAgICAgIDxnIGlkPSJHcm91cC0zIj4gICAgICAgICAgICA8bWFzayBpZD0ibWFzay0yIiBmaWxsPSJ3aGl0ZSI+ICAgICAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI3BhdGgtMSI+PC91c2U+ICAgICAgICAgICAgPC9tYXNrPiAgICAgICAgICAgIDxnIGlkPSJDbGlwLTIiPjwvZz4gICAgICAgICAgICA8cGF0aCBkPSJNMjUxLjkyMSwwLjE1OSBDMTgzLjUwMywwLjE1OSAxNzQuOTI0LDAuNDQ5IDE0OC4wNTQsMS42NzUgQzEyMS4yNCwyLjg5OCAxMDIuOTI3LDcuMTU3IDg2LjkwMywxMy4zODUgQzcwLjMzNywxOS44MjIgNTYuMjg4LDI4LjQzNiA0Mi4yODIsNDIuNDQxIEMyOC4yNzcsNTYuNDQ3IDE5LjY2Myw3MC40OTYgMTMuMjI2LDg3LjA2MiBDNi45OTgsMTAzLjA4NiAyLjczOSwxMjEuMzk5IDEuNTE2LDE0OC4yMTMgQzAuMjksMTc1LjA4MyAwLDE4My42NjIgMCwyNTIuMDggQzAsMzIwLjQ5NyAwLjI5LDMyOS4wNzYgMS41MTYsMzU1Ljk0NiBDMi43MzksMzgyLjc2IDYuOTk4LDQwMS4wNzMgMTMuMjI2LDQxNy4wOTcgQzE5LjY2Myw0MzMuNjYzIDI4LjI3Nyw0NDcuNzEyIDQyLjI4Miw0NjEuNzE4IEM1Ni4yODgsNDc1LjcyMyA3MC4zMzcsNDg0LjMzNyA4Ni45MDMsNDkwLjc3NSBDMTAyLjkyNyw0OTcuMDAyIDEyMS4yNCw1MDEuMjYxIDE0OC4wNTQsNTAyLjQ4NCBDMTc0LjkyNCw1MDMuNzEgMTgzLjUwMyw1MDQgMjUxLjkyMSw1MDQgQzMyMC4zMzgsNTA0IDMyOC45MTcsNTAzLjcxIDM1NS43ODcsNTAyLjQ4NCBDMzgyLjYwMSw1MDEuMjYxIDQwMC45MTQsNDk3LjAwMiA0MTYuOTM4LDQ5MC43NzUgQzQzMy41MDQsNDg0LjMzNyA0NDcuNTUzLDQ3NS43MjMgNDYxLjU1OSw0NjEuNzE4IEM0NzUuNTY0LDQ0Ny43MTIgNDg0LjE3OCw0MzMuNjYzIDQ5MC42MTYsNDE3LjA5NyBDNDk2Ljg0Myw0MDEuMDczIDUwMS4xMDIsMzgyLjc2IDUwMi4zMjUsMzU1Ljk0NiBDNTAzLjU1MSwzMjkuMDc2IDUwMy44NDEsMzIwLjQ5NyA1MDMuODQxLDI1Mi4wOCBDNTAzLjg0MSwxODMuNjYyIDUwMy41NTEsMTc1LjA4MyA1MDIuMzI1LDE0OC4yMTMgQzUwMS4xMDIsMTIxLjM5OSA0OTYuODQzLDEwMy4wODYgNDkwLjYxNiw4Ny4wNjIgQzQ4NC4xNzgsNzAuNDk2IDQ3NS41NjQsNTYuNDQ3IDQ2MS41NTksNDIuNDQxIEM0NDcuNTUzLDI4LjQzNiA0MzMuNTA0LDE5LjgyMiA0MTYuOTM4LDEzLjM4NSBDNDAwLjkxNCw3LjE1NyAzODIuNjAxLDIuODk4IDM1NS43ODcsMS42NzUgQzMyOC45MTcsMC40NDkgMzIwLjMzOCwwLjE1OSAyNTEuOTIxLDAuMTU5IFogTTI1MS45MjEsNDUuNTUgQzMxOS4xODYsNDUuNTUgMzI3LjE1NCw0NS44MDcgMzUzLjcxOCw0Ny4wMTkgQzM3OC4yOCw0OC4xMzkgMzkxLjYxOSw1Mi4yNDMgNDAwLjQ5Niw1NS42OTMgQzQxMi4yNTUsNjAuMjYzIDQyMC42NDcsNjUuNzIyIDQyOS40NjIsNzQuNTM4IEM0MzguMjc4LDgzLjM1MyA0NDMuNzM3LDkxLjc0NSA0NDguMzA3LDEwMy41MDQgQzQ1MS43NTcsMTEyLjM4MSA0NTUuODYxLDEyNS43MiA0NTYuOTgxLDE1MC4yODIgQzQ1OC4xOTMsMTc2Ljg0NiA0NTguNDUsMTg0LjgxNCA0NTguNDUsMjUyLjA4IEM0NTguNDUsMzE5LjM0NSA0NTguMTkzLDMyNy4zMTMgNDU2Ljk4MSwzNTMuODc3IEM0NTUuODYxLDM3OC40MzkgNDUxLjc1NywzOTEuNzc4IDQ0OC4zMDcsNDAwLjY1NSBDNDQzLjczNyw0MTIuNDE0IDQzOC4yNzgsNDIwLjgwNiA0MjkuNDYyLDQyOS42MjEgQzQyMC42NDcsNDM4LjQzNyA0MTIuMjU1LDQ0My44OTYgNDAwLjQ5Niw0NDguNDY2IEMzOTEuNjE5LDQ1MS45MTYgMzc4LjI4LDQ1Ni4wMiAzNTMuNzE4LDQ1Ny4xNCBDMzI3LjE1OCw0NTguMzUyIDMxOS4xOTEsNDU4LjYwOSAyNTEuOTIxLDQ1OC42MDkgQzE4NC42NSw0NTguNjA5IDE3Ni42ODQsNDU4LjM1MiAxNTAuMTIzLDQ1Ny4xNCBDMTI1LjU2MSw0NTYuMDIgMTEyLjIyMiw0NTEuOTE2IDEwMy4zNDUsNDQ4LjQ2NiBDOTEuNTg2LDQ0My44OTYgODMuMTk0LDQzOC40MzcgNzQuMzc5LDQyOS42MjEgQzY1LjU2NCw0MjAuODA2IDYwLjEwNCw0MTIuNDE0IDU1LjUzNCw0MDAuNjU1IEM1Mi4wODQsMzkxLjc3OCA0Ny45OCwzNzguNDM5IDQ2Ljg2LDM1My44NzcgQzQ1LjY0OCwzMjcuMzEzIDQ1LjM5MSwzMTkuMzQ1IDQ1LjM5MSwyNTIuMDggQzQ1LjM5MSwxODQuODE0IDQ1LjY0OCwxNzYuODQ2IDQ2Ljg2LDE1MC4yODIgQzQ3Ljk4LDEyNS43MiA1Mi4wODQsMTEyLjM4MSA1NS41MzQsMTAzLjUwNCBDNjAuMTA0LDkxLjc0NSA2NS41NjMsODMuMzUzIDc0LjM3OSw3NC41MzggQzgzLjE5NCw2NS43MjIgOTEuNTg2LDYwLjI2MyAxMDMuMzQ1LDU1LjY5MyBDMTEyLjIyMiw1Mi4yNDMgMTI1LjU2MSw0OC4xMzkgMTUwLjEyMyw0Ny4wMTkgQzE3Ni42ODcsNDUuODA3IDE4NC42NTUsNDUuNTUgMjUxLjkyMSw0NS41NSBaIiBpZD0iRmlsbC0xIiBmaWxsPSIjRkZGRkZGIiBtYXNrPSJ1cmwoI21hc2stMikiPjwvcGF0aD4gICAgICAgIDwvZz4gICAgICAgIDxwYXRoIGQ9Ik0yNTEuOTIxLDMzNi4wNTMgQzIwNS41NDMsMzM2LjA1MyAxNjcuOTQ3LDI5OC40NTcgMTY3Ljk0NywyNTIuMDggQzE2Ny45NDcsMjA1LjcwMiAyMDUuNTQzLDE2OC4xMDYgMjUxLjkyMSwxNjguMTA2IEMyOTguMjk4LDE2OC4xMDYgMzM1Ljg5NCwyMDUuNzAyIDMzNS44OTQsMjUyLjA4IEMzMzUuODk0LDI5OC40NTcgMjk4LjI5OCwzMzYuMDUzIDI1MS45MjEsMzM2LjA1MyBaIE0yNTEuOTIxLDEyMi43MTUgQzE4MC40NzQsMTIyLjcxNSAxMjIuNTU2LDE4MC42MzMgMTIyLjU1NiwyNTIuMDggQzEyMi41NTYsMzIzLjUyNiAxODAuNDc0LDM4MS40NDQgMjUxLjkyMSwzODEuNDQ0IEMzMjMuMzY3LDM4MS40NDQgMzgxLjI4NSwzMjMuNTI2IDM4MS4yODUsMjUyLjA4IEMzODEuMjg1LDE4MC42MzMgMzIzLjM2NywxMjIuNzE1IDI1MS45MjEsMTIyLjcxNSBaIiBpZD0iRmlsbC00IiBmaWxsPSIjRkZGRkZGIj48L3BhdGg+ICAgICAgICA8cGF0aCBkPSJNNDE2LjYyNywxMTcuNjA0IEM0MTYuNjI3LDEzNC4zIDQwMy4wOTIsMTQ3LjgzNCAzODYuMzk2LDE0Ny44MzQgQzM2OS43MDEsMTQ3LjgzNCAzNTYuMTY2LDEzNC4zIDM1Ni4xNjYsMTE3LjYwNCBDMzU2LjE2NiwxMDAuOTA4IDM2OS43MDEsODcuMzczIDM4Ni4zOTYsODcuMzczIEM0MDMuMDkyLDg3LjM3MyA0MTYuNjI3LDEwMC45MDggNDE2LjYyNywxMTcuNjA0IiBpZD0iRmlsbC01IiBmaWxsPSIjRkZGRkZGIj48L3BhdGg+ICAgIDwvZz48L3N2Zz4=);\n\t\t}\n\n\t\t/* stylelint-disable-next-line no-descending-specificity */\n\t\t& .ck-media__placeholder__url__text {\n\t\t\tcolor: hsl(302, 100%, 94%);\n\n\t\t\t&:hover {\n\t\t\t\tcolor: hsl(0, 0%, 100%);\n\t\t\t}\n\t\t}\n\t}\n\n\t&[data-oembed-url*="twitter.com"] .ck.ck-media__placeholder {\n\t\t/* Use gradient to contrast with focused widget (ckeditor/ckeditor5-media-embed#22). */\n\t\tbackground: linear-gradient( to right, hsl(201, 85%, 70%), hsl(201, 85%, 35%) );\n\n\t\t& .ck-media__placeholder__icon {\n\t\t\tbackground-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgaWQ9IldoaXRlIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDQwMCA0MDAiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDQwMCA0MDA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj48c3R5bGUgdHlwZT0idGV4dC9jc3MiPi5zdDB7ZmlsbDojRkZGRkZGO308L3N0eWxlPjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik00MDAsMjAwYzAsMTEwLjUtODkuNSwyMDAtMjAwLDIwMFMwLDMxMC41LDAsMjAwUzg5LjUsMCwyMDAsMFM0MDAsODkuNSw0MDAsMjAweiBNMTYzLjQsMzA1LjVjODguNywwLDEzNy4yLTczLjUsMTM3LjItMTM3LjJjMC0yLjEsMC00LjItMC4xLTYuMmM5LjQtNi44LDE3LjYtMTUuMywyNC4xLTI1Yy04LjYsMy44LTE3LjksNi40LTI3LjcsNy42YzEwLTYsMTcuNi0xNS40LDIxLjItMjYuN2MtOS4zLDUuNS0xOS42LDkuNS0zMC42LDExLjdjLTguOC05LjQtMjEuMy0xNS4yLTM1LjItMTUuMmMtMjYuNiwwLTQ4LjIsMjEuNi00OC4yLDQ4LjJjMCwzLjgsMC40LDcuNSwxLjMsMTFjLTQwLjEtMi03NS42LTIxLjItOTkuNC01MC40Yy00LjEsNy4xLTYuNSwxNS40LTYuNSwyNC4yYzAsMTYuNyw4LjUsMzEuNSwyMS41LDQwLjFjLTcuOS0wLjItMTUuMy0yLjQtMjEuOC02YzAsMC4yLDAsMC40LDAsMC42YzAsMjMuNCwxNi42LDQyLjgsMzguNyw0Ny4zYy00LDEuMS04LjMsMS43LTEyLjcsMS43Yy0zLjEsMC02LjEtMC4zLTkuMS0wLjljNi4xLDE5LjIsMjMuOSwzMy4xLDQ1LDMzLjVjLTE2LjUsMTIuOS0zNy4zLDIwLjYtNTkuOSwyMC42Yy0zLjksMC03LjctMC4yLTExLjUtMC43QzExMC44LDI5Ny41LDEzNi4yLDMwNS41LDE2My40LDMwNS41Ii8+PC9zdmc+);\n\t\t}\n\n\t\t& .ck-media__placeholder__url__text {\n\t\t\tcolor: hsl(201, 100%, 86%);\n\n\t\t\t&:hover {\n\t\t\t\tcolor: hsl(0, 0%, 100%);\n\t\t\t}\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);e["a"]=a},function(t,e,n){"use strict";var o=n(2);var i=n.n(o);var r=n(3);var s=n.n(r);var a=s()(i.a);a.push([t.i,".ck.ck-media-form{display:flex;align-items:flex-start;flex-direction:row;flex-wrap:nowrap}.ck.ck-media-form .ck-labeled-field-view{display:inline-block}.ck.ck-media-form .ck-label{display:none}@media screen and (max-width:600px){.ck.ck-media-form{flex-wrap:wrap}.ck.ck-media-form .ck-labeled-field-view{flex-basis:100%}.ck.ck-media-form .ck-button{flex-basis:50%}}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-media-embed/theme/mediaform.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css"],names:[],mappings:"AAOA,kBACC,YAAa,CACb,sBAAuB,CACvB,kBAAmB,CACnB,gBAqBD,CAnBC,yCACC,oBACD,CAEA,4BACC,YACD,CCbA,oCDCD,kBAeE,cAUF,CARE,yCACC,eACD,CAEA,6BACC,cACD,CCtBD",sourcesContent:['/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css";\n\n.ck.ck-media-form {\n\tdisplay: flex;\n\talign-items: flex-start;\n\tflex-direction: row;\n\tflex-wrap: nowrap;\n\n\t& .ck-labeled-field-view {\n\t\tdisplay: inline-block;\n\t}\n\n\t& .ck-label {\n\t\tdisplay: none;\n\t}\n\n\t@mixin ck-media-phone {\n\t\tflex-wrap: wrap;\n\n\t\t& .ck-labeled-field-view {\n\t\t\tflex-basis: 100%;\n\t\t}\n\n\t\t& .ck-button {\n\t\t\tflex-basis: 50%;\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@define-mixin ck-media-phone {\n\t@media screen and (max-width: 600px) {\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);e["a"]=a},function(t,e,n){"use strict";var o=n(2);var i=n.n(o);var r=n(3);var s=n.n(r);var a=s()(i.a);a.push([t.i,".ck-content .media{clear:both;margin:1em 0;display:block;min-width:15em}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-media-embed/theme/mediaembed.css"],names:[],mappings:"AAKA,mBAGC,UAAW,CAGX,YAAa,CAIb,aAAc,CAId,cACD",sourcesContent:['/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck-content .media {\n\t/* Don\'t allow floated content overlap the media.\n\thttps://github.com/ckeditor/ckeditor5-media-embed/issues/53 */\n\tclear: both;\n\n\t/* Make sure there is some space between the content and the media. */\n\tmargin: 1em 0;\n\n\t/* Make sure media is not overriden with Bootstrap default `flex` value.\n\tSee: https://github.com/ckeditor/ckeditor5/issues/1373. */\n\tdisplay: block;\n\n\t/* Give the media some minimal width in the content to prevent them\n\tfrom being "squashed" in tight spaces, e.g. in table cells (#44) */\n\tmin-width: 15em;\n}\n'],sourceRoot:""}]);e["a"]=a},function(t,e,n){"use strict";var o=n(2);var i=n.n(o);var r=n(3);var s=n.n(r);var a=s()(i.a);a.push([t.i,":root{--ck-color-table-focused-cell-background:rgba(158,207,250,0.3)}.ck-widget.table td.ck-editor__nested-editable.ck-editor__nested-editable_focused,.ck-widget.table td.ck-editor__nested-editable:focus,.ck-widget.table th.ck-editor__nested-editable.ck-editor__nested-editable_focused,.ck-widget.table th.ck-editor__nested-editable:focus{background:var(--ck-color-table-focused-cell-background);border-style:none;outline:1px solid var(--ck-color-focus-border);outline-offset:-1px}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/tableediting.css"],names:[],mappings:"AAKA,MACC,8DACD,CAKE,8QAGC,wDAAyD,CAKzD,iBAAkB,CAClB,8CAA+C,CAC/C,mBACD",sourcesContent:["/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-color-table-focused-cell-background: hsla(208, 90%, 80%, .3);\n}\n\n.ck-widget.table {\n\t& td,\n\t& th {\n\t\t&.ck-editor__nested-editable.ck-editor__nested-editable_focused,\n\t\t&.ck-editor__nested-editable:focus {\n\t\t\t/* A very slight background to highlight the focused cell */\n\t\t\tbackground: var(--ck-color-table-focused-cell-background);\n\n\t\t\t/* Fixes the problem where surrounding cells cover the focused cell's border.\n\t\t\tIt does not fix the problem in all places but the UX is improved.\n\t\t\tSee https://github.com/ckeditor/ckeditor5-table/issues/29. */\n\t\t\tborder-style: none;\n\t\t\toutline: 1px solid var(--ck-color-focus-border);\n\t\t\toutline-offset: -1px; /* progressive enhancement - no IE support */\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);e["a"]=a},function(t,e,n){"use strict";var o=n(2);var i=n.n(o);var r=n(3);var s=n.n(r);var a=s()(i.a);a.push([t.i,".ck .ck-insert-table-dropdown__grid{display:flex;flex-direction:row;flex-wrap:wrap}:root{--ck-insert-table-dropdown-padding:10px;--ck-insert-table-dropdown-box-height:11px;--ck-insert-table-dropdown-box-width:12px;--ck-insert-table-dropdown-box-margin:1px}.ck .ck-insert-table-dropdown__grid{width:calc(var(--ck-insert-table-dropdown-box-width)*10 + var(--ck-insert-table-dropdown-box-margin)*20 + var(--ck-insert-table-dropdown-padding)*2);padding:var(--ck-insert-table-dropdown-padding) var(--ck-insert-table-dropdown-padding) 0}.ck .ck-insert-table-dropdown__label{text-align:center}.ck .ck-insert-table-dropdown-grid-box{width:var(--ck-insert-table-dropdown-box-width);height:var(--ck-insert-table-dropdown-box-height);margin:var(--ck-insert-table-dropdown-box-margin);border:1px solid var(--ck-color-base-border);border-radius:1px}.ck .ck-insert-table-dropdown-grid-box.ck-on{border-color:var(--ck-color-focus-border);background:var(--ck-color-focus-outer-shadow)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-table/theme/inserttable.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/inserttable.css"],names:[],mappings:"AAKA,oCACC,YAAa,CACb,kBAAmB,CACnB,cACD,CCJA,MACC,uCAAwC,CACxC,0CAA2C,CAC3C,yCAA0C,CAC1C,yCACD,CAEA,oCAEC,oJAA2J,CAC3J,yFACD,CAEA,qCACC,iBACD,CAEA,uCACC,+CAAgD,CAChD,iDAAkD,CAClD,iDAAkD,CAClD,4CAA6C,CAC7C,iBAMD,CAJC,6CACC,yCAA0C,CAC1C,6CACD",sourcesContent:["/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck .ck-insert-table-dropdown__grid {\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: wrap;\n}\n","/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-insert-table-dropdown-padding: 10px;\n\t--ck-insert-table-dropdown-box-height: 11px;\n\t--ck-insert-table-dropdown-box-width: 12px;\n\t--ck-insert-table-dropdown-box-margin: 1px;\n}\n\n.ck .ck-insert-table-dropdown__grid {\n\t/* The width of a container should match 10 items in a row so there will be a 10x10 grid. */\n\twidth: calc(var(--ck-insert-table-dropdown-box-width) * 10 + var(--ck-insert-table-dropdown-box-margin) * 20 + var(--ck-insert-table-dropdown-padding) * 2);\n\tpadding: var(--ck-insert-table-dropdown-padding) var(--ck-insert-table-dropdown-padding) 0;\n}\n\n.ck .ck-insert-table-dropdown__label {\n\ttext-align: center;\n}\n\n.ck .ck-insert-table-dropdown-grid-box {\n\twidth: var(--ck-insert-table-dropdown-box-width);\n\theight: var(--ck-insert-table-dropdown-box-height);\n\tmargin: var(--ck-insert-table-dropdown-box-margin);\n\tborder: 1px solid var(--ck-color-base-border);\n\tborder-radius: 1px;\n\n\t&.ck-on {\n\t\tborder-color: var(--ck-color-focus-border);\n\t\tbackground: var(--ck-color-focus-outer-shadow);\n\t}\n}\n\n"],sourceRoot:""}]);e["a"]=a},function(t,e,n){"use strict";var o=n(2);var i=n.n(o);var r=n(3);var s=n.n(r);var a=s()(i.a);a.push([t.i,':root{--ck-table-selected-cell-background:rgba(158,207,250,0.3)}.ck.ck-editor__editable .table table td.ck-editor__editable_selected,.ck.ck-editor__editable .table table th.ck-editor__editable_selected{position:relative;caret-color:transparent;outline:unset;box-shadow:unset}.ck.ck-editor__editable .table table td.ck-editor__editable_selected:after,.ck.ck-editor__editable .table table th.ck-editor__editable_selected:after{content:"";pointer-events:none;background-color:var(--ck-table-selected-cell-background);position:absolute;top:0;left:0;right:0;bottom:0}.ck.ck-editor__editable .table table td.ck-editor__editable_selected ::selection,.ck.ck-editor__editable .table table td.ck-editor__editable_selected:focus,.ck.ck-editor__editable .table table th.ck-editor__editable_selected ::selection,.ck.ck-editor__editable .table table th.ck-editor__editable_selected:focus{background-color:transparent}.ck.ck-editor__editable .table table td.ck-editor__editable_selected .ck-widget_selected,.ck.ck-editor__editable .table table th.ck-editor__editable_selected .ck-widget_selected{outline:unset}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/tableselection.css"],names:[],mappings:"AAKA,MACC,yDACD,CAGC,0IAEC,iBAAkB,CAClB,uBAAwB,CACxB,aAAc,CACd,gBAsBD,CAnBC,sJACC,UAAW,CACX,mBAAoB,CACpB,yDAA0D,CAC1D,iBAAkB,CAClB,KAAM,CACN,MAAO,CACP,OAAQ,CACR,QACD,CAEA,wTAEC,4BACD,CAEA,kLACC,aACD",sourcesContent:["/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-table-selected-cell-background: hsla(208, 90%, 80%, .3);\n}\n\n.ck.ck-editor__editable .table table {\n\t& td.ck-editor__editable_selected,\n\t& th.ck-editor__editable_selected {\n\t\tposition: relative;\n\t\tcaret-color: transparent;\n\t\toutline: unset;\n\t\tbox-shadow: unset;\n\n\t\t/* https://github.com/ckeditor/ckeditor5/issues/6446 */\n\t\t&:after {\n\t\t\tcontent: '';\n\t\t\tpointer-events: none;\n\t\t\tbackground-color: var(--ck-table-selected-cell-background);\n\t\t\tposition: absolute;\n\t\t\ttop: 0;\n\t\t\tleft: 0;\n\t\t\tright: 0;\n\t\t\tbottom: 0;\n\t\t}\n\n\t\t& ::selection,\n\t\t&:focus {\n\t\t\tbackground-color: transparent;\n\t\t}\n\n\t\t& .ck-widget_selected {\n\t\t\toutline: unset;\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);e["a"]=a},function(t,e,n){"use strict";var o=n(2);var i=n.n(o);var r=n(3);var s=n.n(r);var a=s()(i.a);a.push([t.i,".ck-content .table{margin:1em auto;display:table}.ck-content .table table{border-collapse:collapse;border-spacing:0;width:100%;height:100%;border:1px double #b3b3b3}.ck-content .table table td,.ck-content .table table th{min-width:2em;padding:.4em;border:1px solid #bfbfbf}.ck-content .table table th{font-weight:700;background:hsla(0,0%,0%,5%)}.ck-content[dir=rtl] .table th{text-align:right}.ck-content[dir=ltr] .table th{text-align:left}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-table/theme/table.css"],names:[],mappings:"AAKA,mBAEC,eAAgB,CAChB,aAgCD,CA9BC,yBAEC,wBAAyB,CACzB,gBAAiB,CAIjB,UAAW,CACX,WAAY,CAIZ,yBAiBD,CAfC,wDAEC,aAAc,CACd,YAAa,CAKb,wBACD,CAEA,4BACC,eAAiB,CACjB,2BACD,CAMF,+BACC,gBACD,CAEA,+BACC,eACD",sourcesContent:['/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck-content .table {\n\t/* Give the table widget some air and center it horizontally */\n\tmargin: 1em auto;\n\tdisplay: table;\n\n\t& table {\n\t\t/* The table cells should have slight borders */\n\t\tborder-collapse: collapse;\n\t\tborder-spacing: 0;\n\n\t\t/* Table width and height are set on the parent . Make sure the table inside stretches\n\t\tto the full dimensions of the container (https://github.com/ckeditor/ckeditor5/issues/6186). */\n\t\twidth: 100%;\n\t\theight: 100%;\n\n\t\t/* The outer border of the table should be slightly darker than the inner lines.\n\t\tAlso see https://github.com/ckeditor/ckeditor5-table/issues/50. */\n\t\tborder: 1px double hsl(0, 0%, 70%);\n\n\t\t& td,\n\t\t& th {\n\t\t\tmin-width: 2em;\n\t\t\tpadding: .4em;\n\n\t\t\t/* The border is inherited from .ck-editor__nested-editable styles, so theoretically it\'s not necessary here.\n\t\t\tHowever, the border is a content style, so it should use .ck-content (so it works outside the editor).\n\t\t\tHence, the duplication. See https://github.com/ckeditor/ckeditor5/issues/6314 */\n\t\t\tborder: 1px solid hsl(0, 0%, 75%);\n\t\t}\n\n\t\t& th {\n\t\t\tfont-weight: bold;\n\t\t\tbackground: hsla(0, 0%, 0%, 5%);\n\t\t}\n\t}\n}\n\n/* Text alignment of the table header should match the editor settings and override the native browser styling,\nwhen content is available outside the ediitor. See https://github.com/ckeditor/ckeditor5/issues/6638 */\n.ck-content[dir="rtl"] .table th {\n\ttext-align: right;\n}\n\n.ck-content[dir="ltr"] .table th {\n\ttext-align: left;\n}\n'],sourceRoot:""}]);e["a"]=a},function(t,e,n){"use strict";var o=n(2);var i=n.n(o);var r=n(3);var s=n.n(r);var a=s()(i.a);a.push([t.i,".ck.ck-input-color{width:100%;display:flex;flex-direction:row-reverse}.ck.ck-input-color>input.ck.ck-input-text{min-width:auto;flex-grow:1}.ck.ck-input-color>div.ck.ck-dropdown{min-width:auto}.ck.ck-input-color>div.ck.ck-dropdown>.ck-input-color__button .ck-dropdown__arrow{display:none}.ck.ck-input-color .ck.ck-input-color__button .ck.ck-input-color__button__preview{position:relative;overflow:hidden}.ck.ck-input-color .ck.ck-input-color__button .ck.ck-input-color__button__preview>.ck.ck-input-color__button__preview__no-color-indicator{position:absolute;display:block}[dir=ltr] .ck.ck-input-color>.ck.ck-input-text{border-top-right-radius:0;border-bottom-right-radius:0}[dir=rtl] .ck.ck-input-color>.ck.ck-input-text{border-top-left-radius:0;border-bottom-left-radius:0}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button{padding:0}[dir=ltr] .ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button{border-left-width:0;border-top-left-radius:0;border-bottom-left-radius:0}[dir=rtl] .ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button{border-right-width:0;border-top-right-radius:0;border-bottom-right-radius:0}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button.ck-disabled{background:var(--ck-color-input-disabled-background)}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button>.ck.ck-input-color__button__preview{border-radius:0}.ck-rounded-corners .ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button>.ck.ck-input-color__button__preview,.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button>.ck.ck-input-color__button__preview.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button>.ck.ck-input-color__button__preview{width:20px;height:20px;border:1px solid var(--ck-color-input-border)}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button>.ck.ck-input-color__button__preview>.ck.ck-input-color__button__preview__no-color-indicator{top:-30%;left:50%;height:150%;width:8%;background:red;border-radius:2px;transform:rotate(45deg);transform-origin:50%}.ck.ck-input-color .ck.ck-input-color__remove-color{width:100%;border-bottom:1px solid var(--ck-color-input-border);padding:calc(var(--ck-spacing-standard)/2) var(--ck-spacing-standard);border-bottom-left-radius:0;border-bottom-right-radius:0}[dir=ltr] .ck.ck-input-color .ck.ck-input-color__remove-color{border-top-right-radius:0}[dir=rtl] .ck.ck-input-color .ck.ck-input-color__remove-color{border-top-left-radius:0}.ck.ck-input-color .ck.ck-input-color__remove-color .ck.ck-icon{margin-right:var(--ck-spacing-standard)}[dir=rtl] .ck.ck-input-color .ck.ck-input-color__remove-color .ck.ck-icon{margin-right:0;margin-left:var(--ck-spacing-standard)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-table/theme/colorinput.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/colorinput.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAKA,mBACC,UAAW,CACX,YAAa,CACb,0BA2BD,CAzBC,0CACC,cAAe,CACf,WACD,CAEA,sCACC,cAMD,CAHC,kFACC,YACD,CAIA,kFACC,iBAAkB,CAClB,eAMD,CAJC,0IACC,iBAAkB,CAClB,aACD,CCvBF,+CAEE,yBAA0B,CAC1B,4BAOF,CAVA,+CAOE,wBAAyB,CACzB,2BAEF,CAGC,wEACC,SAoCD,CArCA,kFAIE,mBAAoB,CACpB,wBAAyB,CACzB,2BA+BF,CArCA,kFAUE,oBAAqB,CACrB,yBAA0B,CAC1B,4BAyBF,CAtBC,oFACC,oDACD,CAEA,4GC9BF,eD+CE,CAjBA,+PC1BD,qCD2CC,CAjBA,4GAGC,UAAW,CACX,WAAY,CACZ,6CAYD,CAVC,oKACC,QAAS,CACT,QAAS,CACT,WAAY,CACZ,QAAS,CACT,cAA6B,CAC7B,iBAAkB,CAClB,uBAAwB,CACxB,oBACD,CAKH,oDACC,UAAW,CACX,oDAAqD,CACrD,qEAAwE,CAExE,2BAA4B,CAC5B,4BAkBD,CAxBA,8DASE,yBAeF,CAxBA,8DAaE,wBAWF,CARC,gEACC,uCAMD,CAPA,0EAIE,cAAe,CACf,sCAEF",sourcesContent:["/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-input-color {\n\twidth: 100%;\n\tdisplay: flex;\n\tflex-direction: row-reverse;\n\n\t& > input.ck.ck-input-text {\n\t\tmin-width: auto;\n\t\tflex-grow: 1;\n\t}\n\n\t& > div.ck.ck-dropdown {\n\t\tmin-width: auto;\n\n\t\t/* This dropdown has no arrow but a color preview instead. */\n\t\t& > .ck-input-color__button .ck-dropdown__arrow {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n\t& .ck.ck-input-color__button {\n\t\t& .ck.ck-input-color__button__preview {\n\t\t\tposition: relative;\n\t\t\toverflow: hidden;\n\n\t\t\t& > .ck.ck-input-color__button__preview__no-color-indicator {\n\t\t\t\tposition: absolute;\n\t\t\t\tdisplay: block;\n\t\t\t}\n\t\t}\n\t}\n}\n",'/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n@import "../mixins/_rounded.css";\n\n.ck.ck-input-color {\n\t& > .ck.ck-input-text {\n\t\t@mixin ck-dir ltr {\n\t\t\tborder-top-right-radius: 0;\n\t\t\tborder-bottom-right-radius: 0;\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\tborder-top-left-radius: 0;\n\t\t\tborder-bottom-left-radius: 0;\n\t\t}\n\t}\n\n\t& > .ck.ck-dropdown {\n\t\t& > .ck.ck-button.ck-input-color__button {\n\t\t\tpadding: 0;\n\n\t\t\t@mixin ck-dir ltr {\n\t\t\t\tborder-left-width: 0;\n\t\t\t\tborder-top-left-radius: 0;\n\t\t\t\tborder-bottom-left-radius: 0;\n\t\t\t}\n\n\t\t\t@mixin ck-dir rtl {\n\t\t\t\tborder-right-width: 0;\n\t\t\t\tborder-top-right-radius: 0;\n\t\t\t\tborder-bottom-right-radius: 0;\n\t\t\t}\n\n\t\t\t&.ck-disabled {\n\t\t\t\tbackground: var(--ck-color-input-disabled-background);\n\t\t\t}\n\n\t\t\t& > .ck.ck-input-color__button__preview {\n\t\t\t\t@mixin ck-rounded-corners;\n\n\t\t\t\twidth: 20px;\n\t\t\t\theight: 20px;\n\t\t\t\tborder: 1px solid var(--ck-color-input-border);\n\n\t\t\t\t& > .ck.ck-input-color__button__preview__no-color-indicator {\n\t\t\t\t\ttop: -30%;\n\t\t\t\t\tleft: 50%;\n\t\t\t\t\theight: 150%;\n\t\t\t\t\twidth: 8%;\n\t\t\t\t\tbackground: hsl(0, 100%, 50%);\n\t\t\t\t\tborder-radius: 2px;\n\t\t\t\t\ttransform: rotate(45deg);\n\t\t\t\t\ttransform-origin: 50%;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t& .ck.ck-input-color__remove-color {\n\t\twidth: 100%;\n\t\tborder-bottom: 1px solid var(--ck-color-input-border);\n\t\tpadding: calc(var(--ck-spacing-standard) / 2) var(--ck-spacing-standard);\n\n\t\tborder-bottom-left-radius: 0;\n\t\tborder-bottom-right-radius: 0;\n\n\t\t@mixin ck-dir ltr {\n\t\t\tborder-top-right-radius: 0;\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\tborder-top-left-radius: 0;\n\t\t}\n\n\t\t& .ck.ck-icon {\n\t\t\tmargin-right: var(--ck-spacing-standard);\n\n\t\t\t@mixin ck-dir rtl {\n\t\t\t\tmargin-right: 0;\n\t\t\t\tmargin-left: var(--ck-spacing-standard);\n\t\t\t}\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);e["a"]=a},function(t,e,n){"use strict";var o=n(2);var i=n.n(o);var r=n(3);var s=n.n(r);var a=s()(i.a);a.push([t.i,".ck.ck-form__row{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between}.ck.ck-form__row>:not(.ck-label){flex-grow:1}.ck.ck-form__row.ck-table-form__action-row .ck-button-cancel,.ck.ck-form__row.ck-table-form__action-row .ck-button-save{justify-content:center}.ck.ck-form__row{padding:var(--ck-spacing-standard) var(--ck-spacing-large) 0}[dir=ltr] .ck.ck-form__row>:not(.ck-label)+*{margin-left:var(--ck-spacing-large)}[dir=rtl] .ck.ck-form__row>:not(.ck-label)+*{margin-right:var(--ck-spacing-large)}.ck.ck-form__row>.ck-label{width:100%;min-width:100%}.ck.ck-form__row.ck-table-form__action-row{margin-top:var(--ck-spacing-large)}.ck.ck-form__row.ck-table-form__action-row .ck-button .ck-button__label{color:var(--ck-color-text)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-table/theme/formrow.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/formrow.css"],names:[],mappings:"AAKA,iBACC,YAAa,CACb,kBAAmB,CACnB,gBAAiB,CACjB,6BAaD,CAVC,iCACC,WACD,CAGC,wHAEC,sBACD,CCbF,iBACC,4DA2BD,CAvBE,6CAEE,mCAMF,CARA,6CAME,oCAEF,CAGD,2BACC,UAAW,CACX,cACD,CAEA,2CACC,kCAKD,CAHC,wEACC,0BACD",sourcesContent:["/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-form__row {\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: nowrap;\n\tjustify-content: space-between;\n\n\t/* Ignore labels that work as fieldset legends */\n\t& > *:not(.ck-label) {\n\t\tflex-grow: 1;\n\t}\n\n\t&.ck-table-form__action-row {\n\t\t& .ck-button-save,\n\t\t& .ck-button-cancel {\n\t\t\tjustify-content: center;\n\t\t}\n\t}\n}\n",'/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n.ck.ck-form__row {\n\tpadding: var(--ck-spacing-standard) var(--ck-spacing-large) 0;\n\n\t/* Ignore labels that work as fieldset legends */\n\t& > *:not(.ck-label) {\n\t\t& + * {\n\t\t\t@mixin ck-dir ltr {\n\t\t\t\tmargin-left: var(--ck-spacing-large);\n\t\t\t}\n\n\t\t\t@mixin ck-dir rtl {\n\t\t\t\tmargin-right: var(--ck-spacing-large);\n\t\t\t}\n\t\t}\n\t}\n\n\t& > .ck-label {\n\t\twidth: 100%;\n\t\tmin-width: 100%;\n\t}\n\n\t&.ck-table-form__action-row {\n\t\tmargin-top: var(--ck-spacing-large);\n\n\t\t& .ck-button .ck-button__label {\n\t\t\tcolor: var(--ck-color-text);\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);e["a"]=a},function(t,e,n){"use strict";var o=n(2);var i=n.n(o);var r=n(3);var s=n.n(r);var a=s()(i.a);a.push([t.i,".ck.ck-form{padding:0 0 var(--ck-spacing-large)}.ck.ck-form:focus{outline:none}.ck.ck-form .ck.ck-input-text{min-width:100%;width:0}.ck.ck-form .ck.ck-dropdown{min-width:100%}.ck.ck-form .ck.ck-dropdown .ck-dropdown__button:not(:focus){border:1px solid var(--ck-color-base-border)}.ck.ck-form .ck.ck-dropdown .ck-dropdown__button .ck-button__label{width:100%}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/form.css"],names:[],mappings:"AAKA,YACC,mCAyBD,CAvBC,kBAEC,YACD,CAEA,8BACC,cAAe,CACf,OACD,CAEA,4BACC,cAWD,CARE,6DACC,4CACD,CAEA,mEACC,UACD",sourcesContent:["/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-form {\n\tpadding: 0 0 var(--ck-spacing-large);\n\n\t&:focus {\n\t\t/* See: https://github.com/ckeditor/ckeditor5/issues/4773 */\n\t\toutline: none;\n\t}\n\n\t& .ck.ck-input-text {\n\t\tmin-width: 100%;\n\t\twidth: 0;\n\t}\n\n\t& .ck.ck-dropdown {\n\t\tmin-width: 100%;\n\n\t\t& .ck-dropdown__button {\n\t\t\t&:not(:focus) {\n\t\t\t\tborder: 1px solid var(--ck-color-base-border);\n\t\t\t}\n\n\t\t\t& .ck-button__label {\n\t\t\t\twidth: 100%;\n\t\t\t}\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);e["a"]=a},function(t,e,n){"use strict";var o=n(2);var i=n.n(o);var r=n(3);var s=n.n(r);var a=s()(i.a);a.push([t.i,'.ck.ck-table-form .ck-form__row.ck-table-form__background-row,.ck.ck-table-form .ck-form__row.ck-table-form__border-row{flex-wrap:wrap}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row{flex-wrap:wrap;align-items:center}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-labeled-field-view{display:flex;flex-direction:column-reverse;align-items:center}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-labeled-field-view .ck.ck-dropdown,.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimension-operator{flex-grow:0}.ck.ck-table-form .ck.ck-labeled-field-view{position:relative}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status{position:absolute;left:50%;bottom:calc(var(--ck-table-properties-error-arrow-size)*-1);transform:translate(-50%,100%);z-index:1}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status:after{content:"";position:absolute;top:calc(var(--ck-table-properties-error-arrow-size)*-1);left:50%;transform:translateX(-50%)}:root{--ck-table-properties-error-arrow-size:6px;--ck-table-properties-min-error-width:150px}.ck.ck-table-form .ck-form__row.ck-table-form__border-row .ck-labeled-field-view>.ck-label{font-size:var(--ck-font-size-tiny);text-align:center}.ck.ck-table-form .ck-form__row.ck-table-form__border-row .ck-table-form__border-style,.ck.ck-table-form .ck-form__row.ck-table-form__border-row .ck-table-form__border-width{width:80px;min-width:80px;max-width:80px}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row{padding:0}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimensions-row__height,.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimensions-row__width{margin:0}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimension-operator{align-self:flex-end;display:inline-block;height:var(--ck-ui-component-min-height);line-height:var(--ck-ui-component-min-height);margin:0 var(--ck-spacing-small)}.ck.ck-table-form .ck.ck-labeled-field-view{padding-top:var(--ck-spacing-standard)}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status{border-radius:0}.ck-rounded-corners .ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status,.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status{background:var(--ck-color-base-error);color:var(--ck-color-base-background);padding:var(--ck-spacing-small) var(--ck-spacing-medium);min-width:var(--ck-table-properties-min-error-width);text-align:center}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status:after{border-left:var(--ck-table-properties-error-arrow-size) solid transparent;border-bottom:var(--ck-table-properties-error-arrow-size) solid var(--ck-color-base-error);border-right:var(--ck-table-properties-error-arrow-size) solid transparent;border-top:0 solid transparent}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status{animation:ck-table-form-labeled-view-status-appear .15s ease both}.ck.ck-table-form .ck.ck-labeled-field-view .ck-input.ck-error:not(:focus)+.ck.ck-labeled-field-view__status{display:none}@keyframes ck-table-form-labeled-view-status-appear{0%{opacity:0}to{opacity:1}}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-table/theme/tableform.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/tableform.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAWE,wHACC,cACD,CAEA,8DACC,cAAe,CACf,kBAeD,CAbC,qFACC,YAAa,CACb,6BAA8B,CAC9B,kBAKD,CAEA,sMACC,WACD,CAIF,4CAEC,iBAoBD,CAlBC,8EACC,iBAAkB,CAClB,QAAS,CACT,2DAAgE,CAChE,8BAA+B,CAG/B,SAUD,CAPC,oFACC,UAAW,CACX,iBAAkB,CAClB,wDAA6D,CAC7D,QAAS,CACT,0BACD,CChDH,MACC,0CAA2C,CAC3C,2CACD,CAMI,2FACC,kCAAmC,CACnC,iBACD,CAGD,8KAEC,UAAW,CACX,cAAe,CACf,cACD,CAGD,8DACC,SAcD,CAZC,yMAEC,QACD,CAEA,iGACC,mBAAoB,CACpB,oBAAqB,CACrB,wCAAyC,CACzC,6CAA8C,CAC9C,gCACD,CAIF,4CACC,sCAyBD,CAvBC,8ECxCD,eDyDC,CAjBA,mMCpCA,qCDqDA,CAjBA,8EAGC,qCAAsC,CACtC,qCAAsC,CACtC,wDAAyD,CACzD,oDAAqD,CACrD,iBAUD,CAPC,oFAGC,yEAAmB,CAAnB,0FAAmB,CAAnB,0EAAmB,CAAnB,8BACD,CAdD,8EAgBC,iEACD,CAGA,6GACC,YACD,CAIF,oDACC,GACC,SACD,CAEA,GACC,SACD,CACD",sourcesContent:['/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-table-form {\n\t& .ck-form__row {\n\t\t&.ck-table-form__border-row {\n\t\t\tflex-wrap: wrap;\n\t\t}\n\n\t\t&.ck-table-form__background-row {\n\t\t\tflex-wrap: wrap;\n\t\t}\n\n\t\t&.ck-table-form__dimensions-row {\n\t\t\tflex-wrap: wrap;\n\t\t\talign-items: center;\n\n\t\t\t& .ck-labeled-field-view {\n\t\t\t\tdisplay: flex;\n\t\t\t\tflex-direction: column-reverse;\n\t\t\t\talign-items: center;\n\n\t\t\t\t& .ck.ck-dropdown {\n\t\t\t\t\tflex-grow: 0;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t& .ck-table-form__dimension-operator {\n\t\t\t\tflex-grow: 0;\n\t\t\t}\n\t\t}\n\t}\n\n\t& .ck.ck-labeled-field-view {\n\t\t/* Allow absolute positioning of the status (error) balloons. */\n\t\tposition: relative;\n\n\t\t& .ck.ck-labeled-field-view__status {\n\t\t\tposition: absolute;\n\t\t\tleft: 50%;\n\t\t\tbottom: calc( -1 * var(--ck-table-properties-error-arrow-size) );\n\t\t\ttransform: translate(-50%,100%);\n\n\t\t\t/* Make sure the balloon status stays on top of other form elements. */\n\t\t\tz-index: 1;\n\n\t\t\t/* The arrow pointing towards the field. */\n\t\t\t&::after {\n\t\t\t\tcontent: "";\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: calc( -1 * var(--ck-table-properties-error-arrow-size) );\n\t\t\t\tleft: 50%;\n\t\t\t\ttransform: translateX( -50% );\n\t\t\t}\n\t\t}\n\t}\n}\n','/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../mixins/_rounded.css";\n\n:root {\n\t--ck-table-properties-error-arrow-size: 6px;\n\t--ck-table-properties-min-error-width: 150px;\n}\n\n.ck.ck-table-form {\n\t& .ck-form__row {\n\t\t&.ck-table-form__border-row {\n\t\t\t& .ck-labeled-field-view {\n\t\t\t\t& > .ck-label {\n\t\t\t\t\tfont-size: var(--ck-font-size-tiny);\n\t\t\t\t\ttext-align: center;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t& .ck-table-form__border-style,\n\t\t\t& .ck-table-form__border-width {\n\t\t\t\twidth: 80px;\n\t\t\t\tmin-width: 80px;\n\t\t\t\tmax-width: 80px;\n\t\t\t}\n\t\t}\n\n\t\t&.ck-table-form__dimensions-row {\n\t\t\tpadding: 0;\n\n\t\t\t& .ck-table-form__dimensions-row__width,\n\t\t\t& .ck-table-form__dimensions-row__height {\n\t\t\t\tmargin: 0\n\t\t\t}\n\n\t\t\t& .ck-table-form__dimension-operator {\n\t\t\t\talign-self: flex-end;\n\t\t\t\tdisplay: inline-block;\n\t\t\t\theight: var(--ck-ui-component-min-height);\n\t\t\t\tline-height: var(--ck-ui-component-min-height);\n\t\t\t\tmargin: 0 var(--ck-spacing-small);\n\t\t\t}\n\t\t}\n\t}\n\n\t& .ck.ck-labeled-field-view {\n\t\tpadding-top: var(--ck-spacing-standard);\n\n\t\t& .ck.ck-labeled-field-view__status {\n\t\t\t@mixin ck-rounded-corners;\n\n\t\t\tbackground: var(--ck-color-base-error);\n\t\t\tcolor: var(--ck-color-base-background);\n\t\t\tpadding: var(--ck-spacing-small) var(--ck-spacing-medium);\n\t\t\tmin-width: var(--ck-table-properties-min-error-width);\n\t\t\ttext-align: center;\n\n\t\t\t/* The arrow pointing towards the field. */\n\t\t\t&::after {\n\t\t\t\tborder-color: transparent transparent var(--ck-color-base-error) transparent;\n\t\t\t\tborder-width: 0 var(--ck-table-properties-error-arrow-size) var(--ck-table-properties-error-arrow-size) var(--ck-table-properties-error-arrow-size);\n\t\t\t\tborder-style: solid;\n\t\t\t}\n\n\t\t\tanimation: ck-table-form-labeled-view-status-appear .15s ease both;\n\t\t}\n\n\t\t/* Hide the error balloon when the field is blurred. Makes the experience much more clear. */\n\t\t& .ck-input.ck-error:not(:focus) + .ck.ck-labeled-field-view__status {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n}\n\n@keyframes ck-table-form-labeled-view-status-appear {\n\t0% {\n\t\topacity: 0;\n\t}\n\n\t100% {\n\t\topacity: 1;\n\t}\n}\n',"/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);e["a"]=a},function(t,e,n){"use strict";var o=n(2);var i=n.n(o);var r=n(3);var s=n.n(r);var a=s()(i.a);a.push([t.i,".ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row{flex-wrap:wrap}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar:first-of-type{flex-grow:0.57}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar:last-of-type{flex-grow:0.43}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar .ck-button{flex-grow:1}.ck.ck-table-cell-properties-form{width:320px}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__padding-row{align-self:flex-end;padding:0;width:25%}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar{background:none;margin-top:var(--ck-spacing-standard)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-table/theme/tablecellproperties.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/tablecellproperties.css"],names:[],mappings:"AAOE,6FACC,cAiBD,CAdE,0HAEC,cACD,CAEA,yHAEC,cACD,CAEA,uHACC,WACD,CClBJ,kCACC,WAkBD,CAfE,2FACC,mBAAoB,CACpB,SAAU,CACV,SACD,CAGC,4GACC,eAAgB,CAGhB,qCACD",sourcesContent:["/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-table-cell-properties-form {\n\t& .ck-form__row {\n\t\t&.ck-table-cell-properties-form__alignment-row {\n\t\t\tflex-wrap: wrap;\n\n\t\t\t& .ck.ck-toolbar {\n\t\t\t\t&:first-of-type {\n\t\t\t\t\t/* 4 buttons out of 7 (h-alignment + v-alignment) = 0.57 */\n\t\t\t\t\tflex-grow: 0.57;\n\t\t\t\t}\n\n\t\t\t\t&:last-of-type {\n\t\t\t\t\t/* 3 buttons out of 7 (h-alignment + v-alignment) = 0.43 */\n\t\t\t\t\tflex-grow: 0.43;\n\t\t\t\t}\n\n\t\t\t\t& .ck-button {\n\t\t\t\t\tflex-grow: 1;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n","/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-table-cell-properties-form {\n\twidth: 320px;\n\n\t& .ck-form__row {\n\t\t&.ck-table-cell-properties-form__padding-row {\n\t\t\talign-self: flex-end;\n\t\t\tpadding: 0;\n\t\t\twidth: 25%;\n\t\t}\n\n\t\t&.ck-table-cell-properties-form__alignment-row {\n\t\t\t& .ck.ck-toolbar {\n\t\t\t\tbackground: none;\n\n\t\t\t\t/* Compensate for missing input label that would push the margin (toolbar has no inputs). */\n\t\t\t\tmargin-top: var(--ck-spacing-standard);\n\t\t\t}\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);e["a"]=a},function(t,e,n){"use strict";var o=n(2);var i=n.n(o);var r=n(3);var s=n.n(r);var a=s()(i.a);a.push([t.i,".ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row{flex-wrap:wrap;flex-basis:0;align-content:baseline}.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row .ck.ck-toolbar .ck-toolbar__items{flex-wrap:nowrap}.ck.ck-table-properties-form{width:320px}.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row{align-self:flex-end;padding:0}.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row .ck.ck-toolbar{background:none;margin-top:var(--ck-spacing-standard)}.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row .ck.ck-toolbar .ck-toolbar__items>*{width:40px}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-table/theme/tableproperties.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/tableproperties.css"],names:[],mappings:"AAOE,mFACC,cAAe,CACf,YAAa,CACb,sBAKD,CAHC,qHACC,gBACD,CCTH,6BACC,WAmBD,CAhBE,mFACC,mBAAoB,CACpB,SAYD,CAVC,kGACC,eAAgB,CAGhB,qCAKD,CAHC,uHACC,UACD",sourcesContent:["/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-table-properties-form {\n\t& .ck-form__row {\n\t\t&.ck-table-properties-form__alignment-row {\n\t\t\tflex-wrap: wrap;\n\t\t\tflex-basis: 0;\n\t\t\talign-content: baseline;\n\n\t\t\t& .ck.ck-toolbar .ck-toolbar__items {\n\t\t\t\tflex-wrap: nowrap;\n\t\t\t}\n\t\t}\n\t}\n}\n","/*\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-table-properties-form {\n\twidth: 320px;\n\n\t& .ck-form__row {\n\t\t&.ck-table-properties-form__alignment-row {\n\t\t\talign-self: flex-end;\n\t\t\tpadding: 0;\n\n\t\t\t& .ck.ck-toolbar {\n\t\t\t\tbackground: none;\n\n\t\t\t\t/* Compensate for missing input label that would push the margin (toolbar has no inputs). */\n\t\t\t\tmargin-top: var(--ck-spacing-standard);\n\n\t\t\t\t& .ck-toolbar__items > * {\n\t\t\t\t\twidth: 40px;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);e["a"]=a},function(t,e){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(t){if(typeof window==="object")n=window}t.exports=n},function(t,e,n){"use strict";function o(){return false}e["a"]=o},function(t,e,n){"use strict";n.r(e);function o(){return function t(){t.called=true}}var i=o;class r{constructor(t,e){this.source=t;this.name=e;this.path=[];this.stop=i();this.off=i()}}const s=new Array(256).fill().map(((t,e)=>("0"+e.toString(16)).slice(-2)));function a(){const t=Math.random()*4294967296>>>0;const e=Math.random()*4294967296>>>0;const n=Math.random()*4294967296>>>0;const o=Math.random()*4294967296>>>0;return"e"+s[t>>0&255]+s[t>>8&255]+s[t>>16&255]+s[t>>24&255]+s[e>>0&255]+s[e>>8&255]+s[e>>16&255]+s[e>>24&255]+s[n>>0&255]+s[n>>8&255]+s[n>>16&255]+s[n>>24&255]+s[o>>0&255]+s[o>>8&255]+s[o>>16&255]+s[o>>24&255]}const c={get(t){if(typeof t!="number"){return this[t]||this.normal}else{return t}},highest:1e5,high:1e3,normal:0,low:-1e3,lowest:-1e5};var l=c;var d=n(8);var u=n(0);const h=Symbol("listeningTo");const f=Symbol("emitterId");const m={on(t,e,n={}){this.listenTo(this,t,e,n)},once(t,e,n){let o=false;const i=function(t,...n){if(!o){o=true;t.off();e.call(this,t,...n)}};this.listenTo(this,t,i,n)},off(t,e){this.stopListening(this,t,e)},listenTo(t,e,n,o={}){let i,r;if(!this[h]){this[h]={}}const s=this[h];if(!k(t)){b(t)}const a=k(t);if(!(i=s[a])){i=s[a]={emitter:t,callbacks:{}}}if(!(r=i.callbacks[e])){r=i.callbacks[e]=[]}r.push(n);x(this,t,e,n,o)},stopListening(t,e,n){const o=this[h];let i=t&&k(t);const r=o&&i&&o[i];const s=r&&e&&r.callbacks[e];if(!o||t&&!r||e&&!s){return}if(n){E(this,t,e,n);const o=s.indexOf(n);if(o!==-1){if(s.length===1){delete r.callbacks[e]}else{E(this,t,e,n)}}}else if(s){while(n=s.pop()){E(this,t,e,n)}delete r.callbacks[e]}else if(r){for(e in r.callbacks){this.stopListening(t,e)}delete o[i]}else{for(i in o){this.stopListening(o[i].emitter)}delete this[h]}},fire(t,...e){try{const n=t instanceof r?t:new r(this,t);const o=n.name;let i=v(this,o);n.path.push(this);if(i){const t=[n,...e];i=Array.from(i);for(let e=0;e{if(!this._delegations){this._delegations=new Map}t.forEach((t=>{const o=this._delegations.get(t);if(!o){this._delegations.set(t,new Map([[e,n]]))}else{o.set(e,n)}}))}}},stopDelegating(t,e){if(!this._delegations){return}if(!t){this._delegations.clear()}else if(!e){this._delegations.delete(t)}else{const n=this._delegations.get(t);if(n){n.delete(e)}}},_addEventListener(t,e,n){A(this,t);const o=_(this,t);const i=l.get(n.priority);const r={callback:e,priority:i};for(const t of o){let e=false;for(let n=0;n-1){return v(t,e.substr(0,e.lastIndexOf(":")))}else{return null}}return n.callbacks}function y(t,e,n){for(let[o,i]of t){if(!i){i=e.name}else if(typeof i=="function"){i=i(e.name)}const t=new r(e.source,i);t.path=[...e.path];o.fire(t,...n)}}function x(t,e,n,o,i){if(e._addEventListener){e._addEventListener(n,o,i)}else{t._addEventListener.call(e,n,o,i)}}function E(t,e,n,o){if(e._removeEventListener){e._removeEventListener(n,o)}else{t._removeEventListener.call(e,n,o)}}function D(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var T=D;var S=n(5);var M=S["a"].Symbol;var I=M;var B=Object.prototype;var N=B.hasOwnProperty;var z=B.toString;var P=I?I.toStringTag:undefined;function L(t){var e=N.call(t,P),n=t[P];try{t[P]=undefined;var o=true}catch(t){}var i=z.call(t);if(o){if(e){t[P]=n}else{delete t[P]}}return i}var O=L;var R=Object.prototype;var F=R.toString;function j(t){return F.call(t)}var V=j;var H="[object Null]",U="[object Undefined]";var W=I?I.toStringTag:undefined;function K(t){if(t==null){return t===undefined?U:H}return W&&W in Object(t)?O(t):V(t)}var G=K;var q="[object AsyncFunction]",Y="[object Function]",$="[object GeneratorFunction]",Q="[object Proxy]";function J(t){if(!T(t)){return false}var e=G(t);return e==Y||e==$||e==q||e==Q}var Z=J;var X=S["a"]["__core-js_shared__"];var tt=X;var et=function(){var t=/[^.]+$/.exec(tt&&tt.keys&&tt.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}();function nt(t){return!!et&&et in t}var ot=nt;var it=Function.prototype;var rt=it.toString;function st(t){if(t!=null){try{return rt.call(t)}catch(t){}try{return t+""}catch(t){}}return""}var at=st;var ct=/[\\^$.*+?()[\]{}|]/g;var lt=/^\[object .+?Constructor\]$/;var dt=Function.prototype,ut=Object.prototype;var ht=dt.toString;var ft=ut.hasOwnProperty;var mt=RegExp("^"+ht.call(ft).replace(ct,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function gt(t){if(!T(t)||ot(t)){return false}var e=Z(t)?mt:lt;return e.test(at(t))}var pt=gt;function bt(t,e){return t==null?undefined:t[e]}var kt=bt;function wt(t,e){var n=kt(t,e);return pt(n)?n:undefined}var Ct=wt;var At=function(){try{var t=Ct(Object,"defineProperty");t({},"",{});return t}catch(t){}}();var _t=At;function vt(t,e,n){if(e=="__proto__"&&_t){_t(t,e,{configurable:true,enumerable:true,value:n,writable:true})}else{t[e]=n}}var yt=vt;function xt(t,e){return t===e||t!==t&&e!==e}var Et=xt;var Dt=Object.prototype;var Tt=Dt.hasOwnProperty;function St(t,e,n){var o=t[e];if(!(Tt.call(t,e)&&Et(o,n))||n===undefined&&!(e in t)){yt(t,e,n)}}var Mt=St;function It(t,e,n,o){var i=!n;n||(n={});var r=-1,s=e.length;while(++r0){if(++e>=Wt){return arguments[0]}}else{e=0}return t.apply(undefined,arguments)}}var Yt=qt;var $t=Yt(Ut);var Qt=$t;function Jt(t,e){return Qt(Ft(t,e,zt),t+"")}var Zt=Jt;var Xt=9007199254740991;function te(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=Xt}var ee=te;function ne(t){return t!=null&&ee(t.length)&&!Z(t)}var oe=ne;var ie=9007199254740991;var re=/^(?:0|[1-9]\d*)$/;function se(t,e){var n=typeof t;e=e==null?ie:e;return!!e&&(n=="number"||n!="symbol"&&re.test(t))&&(t>-1&&t%1==0&&t1?n[i-1]:undefined,s=i>2?n[2]:undefined;r=t.length>3&&typeof r=="function"?(i--,r):undefined;if(s&&le(n[0],n[1],s)){r=i<3?undefined:r;i=1}e=Object(e);while(++o{this.set(e,t[e])}),this);return}In(this);const n=this[yn];if(t in this&&!n.has(t)){throw new u["a"]("observable-set-cannot-override",this)}Object.defineProperty(this,t,{enumerable:true,configurable:true,get(){return n.get(t)},set(e){const o=n.get(t);let i=this.fire("set:"+t,t,e,o);if(i===undefined){i=e}if(o!==i||!n.has(t)){n.set(t,i);this.fire("change:"+t,t,i,o)}}});this[t]=e},bind(...t){if(!t.length||!Pn(t)){throw new u["a"]("observable-bind-wrong-properties",this)}if(new Set(t).size!==t.length){throw new u["a"]("observable-bind-duplicate-properties",this)}In(this);const e=this[En];t.forEach((t=>{if(e.has(t)){throw new u["a"]("observable-bind-rebind",this)}}));const n=new Map;t.forEach((t=>{const o={property:t,to:[]};e.set(t,o);n.set(t,o)}));return{to:Bn,toMany:Nn,_observable:this,_bindProperties:t,_to:[],_bindings:n}},unbind(...t){if(!this[yn]){return}const e=this[En];const n=this[xn];if(t.length){if(!Pn(t)){throw new u["a"]("observable-unbind-wrong-properties",this)}t.forEach((t=>{const o=e.get(t);if(!o){return}let i,r,s,a;o.to.forEach((t=>{i=t[0];r=t[1];s=n.get(i);a=s[r];a.delete(o);if(!a.size){delete s[r]}if(!Object.keys(s).length){n.delete(i);this.stopListening(i,"change")}}));e.delete(t)}))}else{n.forEach(((t,e)=>{this.stopListening(e,"change")}));n.clear();e.clear()}},decorate(t){const e=this[t];if(!e){throw new u["a"]("observablemixin-cannot-decorate-undefined",this,{object:this,methodName:t})}this.on(t,((t,n)=>{t.return=e.apply(this,n)}));this[t]=function(...e){return this.fire(t,e)};this[t][Tn]=e;if(!this[Dn]){this[Dn]=[]}this[Dn].push(t)}};vn(Sn,g);Sn.stopListening=function(t,e,n){if(!t&&this[Dn]){for(const t of this[Dn]){this[t]=this[t][Tn]}delete this[Dn]}g.stopListening.call(this,t,e,n)};var Mn=Sn;function In(t){if(t[yn]){return}Object.defineProperty(t,yn,{value:new Map});Object.defineProperty(t,xn,{value:new Map});Object.defineProperty(t,En,{value:new Map})}function Bn(...t){const e=Ln(...t);const n=Array.from(this._bindings.keys());const o=n.length;if(!e.callback&&e.to.length>1){throw new u["a"]("observable-bind-to-no-callback",this)}if(o>1&&e.callback){throw new u["a"]("observable-bind-to-extra-callback",this)}e.to.forEach((t=>{if(t.properties.length&&t.properties.length!==o){throw new u["a"]("observable-bind-to-properties-length",this)}if(!t.properties.length){t.properties=this._bindProperties}}));this._to=e.to;if(e.callback){this._bindings.get(n[0]).callback=e.callback}jn(this._observable,this._to);Rn(this);this._bindProperties.forEach((t=>{Fn(this._observable,t)}))}function Nn(t,e,n){if(this._bindings.size>1){throw new u["a"]("observable-bind-to-many-not-one-binding",this)}this.to(...zn(t,e),n)}function zn(t,e){const n=t.map((t=>[t,e]));return Array.prototype.concat.apply([],n)}function Pn(t){return t.every((t=>typeof t=="string"))}function Ln(...t){if(!t.length){throw new u["a"]("observable-bind-to-parse-error",null)}const e={to:[]};let n;if(typeof t[t.length-1]=="function"){e.callback=t.pop()}t.forEach((t=>{if(typeof t=="string"){n.properties.push(t)}else if(typeof t=="object"){n={observable:t,properties:[]};e.to.push(n)}else{throw new u["a"]("observable-bind-to-parse-error",null)}}));return e}function On(t,e,n,o){const i=t[xn];const r=i.get(n);const s=r||{};if(!s[o]){s[o]=new Set}s[o].add(e);if(!r){i.set(n,s)}}function Rn(t){let e;t._bindings.forEach(((n,o)=>{t._to.forEach((i=>{e=i.properties[n.callback?0:t._bindProperties.indexOf(o)];n.to.push([i.observable,e]);On(t._observable,n,i.observable,e)}))}))}function Fn(t,e){const n=t[En];const o=n.get(e);let i;if(o.callback){i=o.callback.apply(t,o.to.map((t=>t[0][t[1]])))}else{i=o.to[0];i=i[0][i[1]]}if(Object.prototype.hasOwnProperty.call(t,e)){t[e]=i}else{t.set(e,i)}}function jn(t,e){e.forEach((e=>{const n=t[xn];let o;if(!n.get(e.observable)){t.listenTo(e.observable,"change",((i,r)=>{o=n.get(e.observable)[r];if(o){o.forEach((e=>{Fn(t,e.property)}))}}))}}))}function Vn(t,...e){e.forEach((e=>{Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e)).forEach((n=>{if(n in t.prototype){return}const o=Object.getOwnPropertyDescriptor(e,n);o.enumerable=false;Object.defineProperty(t.prototype,n,o)}))}))}class Hn{constructor(t){this.editor=t;this.set("isEnabled",true);this._disableStack=new Set}forceDisabled(t){this._disableStack.add(t);if(this._disableStack.size==1){this.on("set:isEnabled",Un,{priority:"highest"});this.isEnabled=false}}clearForceDisabled(t){this._disableStack.delete(t);if(this._disableStack.size==0){this.off("set:isEnabled",Un);this.isEnabled=true}}destroy(){this.stopListening()}static get isContextPlugin(){return false}}Vn(Hn,Mn);function Un(t){t.return=false;t.stop()}class Wn{constructor(t){this.editor=t;this.set("value",undefined);this.set("isEnabled",false);this._disableStack=new Set;this.decorate("execute");this.listenTo(this.editor.model.document,"change",(()=>{this.refresh()}));this.on("execute",(t=>{if(!this.isEnabled){t.stop()}}),{priority:"high"});this.listenTo(t,"change:isReadOnly",((t,e,n)=>{if(n){this.forceDisabled("readOnlyMode")}else{this.clearForceDisabled("readOnlyMode")}}))}refresh(){this.isEnabled=true}forceDisabled(t){this._disableStack.add(t);if(this._disableStack.size==1){this.on("set:isEnabled",Kn,{priority:"highest"});this.isEnabled=false}}clearForceDisabled(t){this._disableStack.delete(t);if(this._disableStack.size==0){this.off("set:isEnabled",Kn);this.refresh()}}execute(){}destroy(){this.stopListening()}}Vn(Wn,Mn);function Kn(t){t.return=false;t.stop()}class Gn extends Wn{constructor(t){super(t);this._childCommands=[]}refresh(){}execute(...t){const e=this._getFirstEnabledCommand();return e!=null&&e.execute(t)}registerChildCommand(t){this._childCommands.push(t);t.on("change:isEnabled",(()=>this._checkEnabled()));this._checkEnabled()}_checkEnabled(){this.isEnabled=!!this._getFirstEnabledCommand()}_getFirstEnabledCommand(){return this._childCommands.find((t=>t.isEnabled))}}function qn(t,e){return function(n){return t(e(n))}}var Yn=qn;var $n=Yn(Object.getPrototypeOf,Object);var Qn=$n;var Jn="[object Object]";var Zn=Function.prototype,Xn=Object.prototype;var to=Zn.toString;var eo=Xn.hasOwnProperty;var no=to.call(Object);function oo(t){if(!ge(t)||G(t)!=Jn){return false}var e=Qn(t);if(e===null){return true}var n=eo.call(e,"constructor")&&e.constructor;return typeof n=="function"&&n instanceof n&&to.call(n)==no}var io=oo;function ro(){this.__data__=[];this.size=0}var so=ro;function ao(t,e){var n=t.length;while(n--){if(Et(t[n][0],e)){return n}}return-1}var co=ao;var lo=Array.prototype;var uo=lo.splice;function ho(t){var e=this.__data__,n=co(e,t);if(n<0){return false}var o=e.length-1;if(n==o){e.pop()}else{uo.call(e,n,1)}--this.size;return true}var fo=ho;function mo(t){var e=this.__data__,n=co(e,t);return n<0?undefined:e[n][1]}var go=mo;function po(t){return co(this.__data__,t)>-1}var bo=po;function ko(t,e){var n=this.__data__,o=co(n,t);if(o<0){++this.size;n.push([t,e])}else{n[o][1]=e}return this}var wo=ko;function Co(t){var e=-1,n=t==null?0:t.length;this.clear();while(++e{this._setToTarget(t,o,e[o],n)}))}}function ga(t){return ua(t,pa)}function pa(t){return fa(t)?t:undefined}function ba(t){return!!(t&&t[Symbol.iterator])}class ka{constructor(t={},e={}){const n=ba(t);if(!n){e=t}this._items=[];this._itemMap=new Map;this._idProperty=e.idProperty||"id";this._bindToExternalToInternalMap=new WeakMap;this._bindToInternalToExternalMap=new WeakMap;this._skippedIndexesFromExternal=[];if(n){for(const e of t){this._items.push(e);this._itemMap.set(this._getItemIdBeforeAdding(e),e)}}}get length(){return this._items.length}get first(){return this._items[0]||null}get last(){return this._items[this.length-1]||null}add(t,e){return this.addMany([t],e)}addMany(t,e){if(e===undefined){e=this._items.length}else if(e>this._items.length||e<0){throw new u["a"]("collection-add-item-invalid-index",this)}for(let n=0;n{this._setUpBindToBinding((e=>new t(e)))},using:t=>{if(typeof t=="function"){this._setUpBindToBinding((e=>t(e)))}else{this._setUpBindToBinding((e=>e[t]))}}}}_setUpBindToBinding(t){const e=this._bindToCollection;const n=(n,o,i)=>{const r=e._bindToCollection==this;const s=e._bindToInternalToExternalMap.get(o);if(r&&s){this._bindToExternalToInternalMap.set(o,s);this._bindToInternalToExternalMap.set(s,o)}else{const n=t(o);if(!n){this._skippedIndexesFromExternal.push(i);return}let r=i;for(const t of this._skippedIndexesFromExternal){if(i>t){r--}}for(const t of e._skippedIndexesFromExternal){if(r>=t){r++}}this._bindToExternalToInternalMap.set(o,n);this._bindToInternalToExternalMap.set(n,o);this.add(n,r);for(let t=0;t{const o=this._bindToExternalToInternalMap.get(e);if(o){this.remove(o)}this._skippedIndexesFromExternal=this._skippedIndexesFromExternal.reduce(((t,e)=>{if(ne){t.push(e)}return t}),[])}))}_getItemIdBeforeAdding(t){const e=this._idProperty;let n;if(e in t){n=t[e];if(typeof n!="string"){throw new u["a"]("collection-add-invalid-id",this)}if(this.get(n)){throw new u["a"]("collection-add-item-already-exists",this)}}else{t[e]=n=a()}return n}_remove(t){let e,n,o;let i=false;const r=this._idProperty;if(typeof t=="string"){n=t;o=this._itemMap.get(n);i=!o;if(o){e=this._items.indexOf(o)}}else if(typeof t=="number"){e=t;o=this._items[e];i=!o;if(o){n=o[r]}}else{o=t;n=o[r];e=this._items.indexOf(o);i=e==-1||!this._itemMap.get(n)}if(i){throw new u["a"]("collection-remove-404",this)}this._items.splice(e,1);this._itemMap.delete(n);const s=this._bindToInternalToExternalMap.get(o);this._bindToInternalToExternalMap.delete(o);this._bindToExternalToInternalMap.delete(s);this.fire("remove",o,e);return[o,e]}[Symbol.iterator](){return this._items[Symbol.iterator]()}}Vn(ka,g);class wa{constructor(t,e=[],n=[]){this._context=t;this._plugins=new Map;this._availablePlugins=new Map;for(const t of e){if(t.pluginName){this._availablePlugins.set(t.pluginName,t)}}this._contextPlugins=new Map;for(const[t,e]of n){this._contextPlugins.set(t,e);this._contextPlugins.set(e,t);if(t.pluginName){this._availablePlugins.set(t.pluginName,t)}}}*[Symbol.iterator](){for(const t of this._plugins){if(typeof t[0]=="function"){yield t}}}get(t){const e=this._plugins.get(t);if(!e){let e=t;if(typeof t=="function"){e=t.pluginName||t.name}throw new u["a"]("plugincollection-plugin-not-loaded",this._context,{plugin:e})}return e}has(t){return this._plugins.has(t)}init(t,e=[],n=[]){const o=this;const i=this._context;f(t);g(t);const r=t.filter((t=>!d(t,e)));const s=[...m(r)];A(s,n);const a=w(s);return C(a,"init").then((()=>C(a,"afterInit"))).then((()=>a));function c(t){return typeof t==="function"}function l(t){return c(t)&&t.isContextPlugin}function d(t,e){return e.some((e=>{if(e===t){return true}if(h(t)===e){return true}if(h(e)===t){return true}return false}))}function h(t){return c(t)?t.pluginName||t.name:t}function f(t,e=new Set){t.forEach((t=>{if(!c(t)){return}if(e.has(t)){return}e.add(t);if(t.pluginName&&!o._availablePlugins.has(t.pluginName)){o._availablePlugins.set(t.pluginName,t)}if(t.requires){f(t.requires,e)}}))}function m(t,e=new Set){return t.map((t=>c(t)?t:o._availablePlugins.get(t))).reduce(((t,n)=>{if(e.has(n)){return t}e.add(n);if(n.requires){g(n.requires,n);m(n.requires,e).forEach((e=>t.add(e)))}return t.add(n)}),new Set)}function g(t,e=null){t.map((t=>c(t)?t:o._availablePlugins.get(t)||t)).forEach((t=>{p(t,e);b(t,e);k(t,e)}))}function p(t,e){if(c(t)){return}if(e){throw new u["a"]("plugincollection-soft-required",i,{missingPlugin:t,requiredBy:h(e)})}throw new u["a"]("plugincollection-plugin-not-found",i,{plugin:t})}function b(t,e){if(!l(e)){return}if(l(t)){return}throw new u["a"]("plugincollection-context-required",i,{plugin:h(t),requiredBy:h(e)})}function k(t,n){if(!n){return}if(!d(t,e)){return}throw new u["a"]("plugincollection-required",i,{plugin:h(t),requiredBy:h(n)})}function w(t){return t.map((t=>{const e=o._contextPlugins.get(t)||new t(i);o._add(t,e);return e}))}function C(t,e){return t.reduce(((t,n)=>{if(!n[e]){return t}if(o._contextPlugins.has(n)){return t}return t.then(n[e].bind(n))}),Promise.resolve())}function A(t,e){for(const n of e){if(typeof n!="function"){throw new u["a"]("plugincollection-replace-plugin-invalid-type",null,{pluginItem:n})}const e=n.pluginName;if(!e){throw new u["a"]("plugincollection-replace-plugin-missing-name",null,{pluginItem:n})}if(n.requires&&n.requires.length){throw new u["a"]("plugincollection-plugin-for-replacing-cannot-have-dependencies",null,{pluginName:e})}const i=o._availablePlugins.get(e);if(!i){throw new u["a"]("plugincollection-plugin-for-replacing-not-exist",null,{pluginName:e})}const r=t.indexOf(i);if(r===-1){if(o._contextPlugins.has(i)){return}throw new u["a"]("plugincollection-plugin-for-replacing-not-loaded",null,{pluginName:e})}if(i.requires&&i.requires.length){throw new u["a"]("plugincollection-replaced-plugin-cannot-have-dependencies",null,{pluginName:e})}t.splice(r,1,n);o._availablePlugins.set(e,n)}}}destroy(){const t=[];for(const[,e]of this){if(typeof e.destroy=="function"&&!this._contextPlugins.has(e)){t.push(e.destroy())}}return Promise.all(t)}_add(t,e){this._plugins.set(t,e);const n=t.pluginName;if(!n){return}if(this._plugins.has(n)){throw new u["a"]("plugincollection-plugin-name-conflict",null,{pluginName:n,plugin1:this._plugins.get(n).constructor,plugin2:t})}this._plugins.set(n,e)}}Vn(wa,g);function Ca(t){return Array.isArray(t)?t:[t]}if(!window.CKEDITOR_TRANSLATIONS){window.CKEDITOR_TRANSLATIONS={}}function Aa(t,e,n){if(!window.CKEDITOR_TRANSLATIONS[t]){window.CKEDITOR_TRANSLATIONS[t]={}}const o=window.CKEDITOR_TRANSLATIONS[t];o.dictionary=o.dictionary||{};o.getPluralForm=n||o.getPluralForm;Object.assign(o.dictionary,e)}function _a(t,e,n=1){if(typeof n!=="number"){throw new u["a"]("translation-service-quantity-not-a-number",null,{quantity:n})}const o=xa();if(o===1){t=Object.keys(window.CKEDITOR_TRANSLATIONS)[0]}const i=e.id||e.string;if(o===0||!ya(t,i)){if(n!==1){return e.plural}return e.string}const r=window.CKEDITOR_TRANSLATIONS[t].dictionary;const s=window.CKEDITOR_TRANSLATIONS[t].getPluralForm||(t=>t===1?0:1);if(typeof r[i]==="string"){return r[i]}const a=Number(s(n));return r[i][a]}function va(){window.CKEDITOR_TRANSLATIONS={}}function ya(t,e){return!!window.CKEDITOR_TRANSLATIONS[t]&&!!window.CKEDITOR_TRANSLATIONS[t].dictionary[e]}function xa(){return Object.keys(window.CKEDITOR_TRANSLATIONS).length}const Ea=["ar","ara","fa","per","fas","he","heb","ku","kur","ug","uig"];function Da(t){return Ea.includes(t)?"rtl":"ltr"}class Ta{constructor(t={}){this.uiLanguage=t.uiLanguage||"en";this.contentLanguage=t.contentLanguage||this.uiLanguage;this.uiLanguageDirection=Da(this.uiLanguage);this.contentLanguageDirection=Da(this.contentLanguage);this.t=(t,e)=>this._t(t,e)}get language(){console.warn("locale-deprecated-language-property: "+"The Locale#language property has been deprecated and will be removed in the near future. "+"Please use #uiLanguage and #contentLanguage properties instead.");return this.uiLanguage}_t(t,e=[]){e=Ca(e);if(typeof t==="string"){t={string:t}}const n=!!t.plural;const o=n?e[0]:1;const i=_a(this.uiLanguage,t,o);return Sa(i,e)}}function Sa(t,e){return t.replace(/%(\d+)/g,((t,n)=>nt.destroy()))).then((()=>this.plugins.destroy()))}_addEditor(t,e){if(this._contextOwner){throw new u["a"]("context-addeditor-private-context")}this.editors.add(t);if(e){this._contextOwner=t}}_removeEditor(t){if(this.editors.has(t)){this.editors.remove(t)}if(this._contextOwner===t){return this.destroy()}return Promise.resolve()}_getEditorConfig(){const t={};for(const e of this.config.names()){if(!["plugins","removePlugins","extraPlugins"].includes(e)){t[e]=this.config.get(e)}}return t}static create(t){return new Promise((e=>{const n=new this(t);e(n.initPlugins().then((()=>n)))}))}}class Ia{constructor(t){this.context=t}destroy(){this.stopListening()}static get isContextPlugin(){return true}}Vn(Ia,Mn);function Ba(t,e){const n=Math.min(t.length,e.length);for(let o=0;ot.data.length){throw new u["a"]("view-textproxy-wrong-offsetintext",this)}if(n<0||e+n>t.data.length){throw new u["a"]("view-textproxy-wrong-length",this)}this.data=t.data.substring(e,e+n);this.offsetInText=e}get offsetSize(){return this.data.length}get isPartial(){return this.data.length!==this.textNode.data.length}get parent(){return this.textNode.parent}get root(){return this.textNode.root}get document(){return this.textNode.document}is(t){return t==="$textProxy"||t==="view:$textProxy"||t==="textProxy"||t==="view:textProxy"}getAncestors(t={includeSelf:false,parentFirst:false}){const e=[];let n=t.includeSelf?this.textNode:this.parent;while(n!==null){e[t.parentFirst?"push":"unshift"](n);n=n.parent}return e}}function Fa(t){const e=new Map;for(const n in t){e.set(n,t[n])}return e}function ja(t){if(ba(t)){return new Map(t)}else{return Fa(t)}}class Va{constructor(...t){this._patterns=[];this.add(...t)}add(...t){for(let e of t){if(typeof e=="string"||e instanceof RegExp){e={name:e}}if(e.classes&&(typeof e.classes=="string"||e.classes instanceof RegExp)){e.classes=[e.classes]}this._patterns.push(e)}}match(...t){for(const e of t){for(const t of this._patterns){const n=Ha(e,t);if(n){return{element:e,pattern:t,match:n}}}}return null}matchAll(...t){const e=[];for(const n of t){for(const t of this._patterns){const o=Ha(n,t);if(o){e.push({element:n,pattern:t,match:o})}}}return e.length>0?e:null}getElementName(){if(this._patterns.length!==1){return null}const t=this._patterns[0];const e=t.name;return typeof t!="function"&&e&&!(e instanceof RegExp)?e:null}}function Ha(t,e){if(typeof e=="function"){return e(t)}const n={};if(e.name){n.name=Ua(e.name,t.name);if(!n.name){return null}}if(e.attributes){n.attributes=Wa(e.attributes,t);if(!n.attributes){return null}}if(e.classes){n.classes=Ka(e.classes,t);if(!n.classes){return false}}if(e.styles){n.styles=Ga(e.styles,t);if(!n.styles){return false}}return n}function Ua(t,e){if(t instanceof RegExp){return t.test(e)}return t===e}function Wa(t,e){const n=[];for(const o in t){const i=t[o];if(e.hasAttribute(o)){const t=e.getAttribute(o);if(i===true){n.push(o)}else if(i instanceof RegExp){if(i.test(t)){n.push(o)}else{return null}}else if(t===i){n.push(o)}else{return null}}else{return null}}return n}function Ka(t,e){const n=[];for(const o of t){if(o instanceof RegExp){const t=e.getClassNames();for(const e of t){if(o.test(e)){n.push(e)}}if(n.length===0){return null}}else if(e.hasClass(o)){n.push(o)}else{return null}}return n}function Ga(t,e){const n=[];for(const o in t){const i=t[o];if(e.hasStyle(o)){const t=e.getStyle(o);if(i instanceof RegExp){if(i.test(t)){n.push(o)}else{return null}}else if(t===i){n.push(o)}else{return null}}else{return null}}return n}var qa="[object Symbol]";function Ya(t){return typeof t=="symbol"||ge(t)&&G(t)==qa}var $a=Ya;var Qa=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Ja=/^\w*$/;function Za(t,e){if(xe(t)){return false}var n=typeof t;if(n=="number"||n=="symbol"||n=="boolean"||t==null||$a(t)){return true}return Ja.test(t)||!Qa.test(t)||e!=null&&t in Object(e)}var Xa=Za;var tc="Expected a function";function ec(t,e){if(typeof t!="function"||e!=null&&typeof e!="function"){throw new TypeError(tc)}var n=function(){var o=arguments,i=e?e.apply(this,o):o[0],r=n.cache;if(r.has(i)){return r.get(i)}var s=t.apply(this,o);n.cache=r.set(i,s)||r;return s};n.cache=new(ec.Cache||fi);return n}ec.Cache=fi;var nc=ec;var oc=500;function ic(t){var e=nc(t,(function(t){if(n.size===oc){n.clear()}return t}));var n=e.cache;return e}var rc=ic;var sc=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;var ac=/\\(\\)?/g;var cc=rc((function(t){var e=[];if(t.charCodeAt(0)===46){e.push("")}t.replace(sc,(function(t,n,o,i){e.push(o?i.replace(ac,"$1"):n||t)}));return e}));var lc=cc;function dc(t,e){var n=-1,o=t==null?0:t.length,i=Array(o);while(++ni?0:i+e}n=n>i?i:n;if(n<0){n+=i}i=e>n?0:n-e>>>0;e>>>=0;var r=Array(i);while(++oe===t));return Array.isArray(n)}set(t,e){if(T(t)){for(const[e,n]of Object.entries(t)){this._styleProcessor.toNormalizedForm(e,n,this._styles)}}else{this._styleProcessor.toNormalizedForm(t,e,this._styles)}}remove(t){const e=ll(t);Pc(this._styles,e);delete this._styles[t];this._cleanEmptyObjectsOnPath(e)}getNormalized(t){return this._styleProcessor.getNormalized(t,this._styles)}toString(){if(this.isEmpty){return""}return this._getStylesEntries().map((t=>t.join(":"))).sort().join(";")+";"}getAsString(t){if(this.isEmpty){return}if(this._styles[t]&&!T(this._styles[t])){return this._styles[t]}const e=this._styleProcessor.getReducedForm(t,this._styles);const n=e.find((([e])=>e===t));if(Array.isArray(n)){return n[1]}}getStyleNames(){if(this.isEmpty){return[]}const t=this._getStylesEntries();return t.map((([t])=>t))}clear(){this._styles={}}_getStylesEntries(){const t=[];const e=Object.keys(this._styles);for(const n of e){t.push(...this._styleProcessor.getReducedForm(n,this._styles))}return t}_cleanEmptyObjectsOnPath(t){const e=t.split(".");const n=e.length>1;if(!n){return}const o=e.splice(0,e.length-1).join(".");const i=Oc(this._styles,o);if(!i){return}const r=!Array.from(Object.keys(i)).length;if(r){this.remove(o)}}}class al{constructor(){this._normalizers=new Map;this._extractors=new Map;this._reducers=new Map;this._consumables=new Map}toNormalizedForm(t,e,n){if(T(e)){dl(n,ll(t),e);return}if(this._normalizers.has(t)){const o=this._normalizers.get(t);const{path:i,value:r}=o(e);dl(n,i,r)}else{dl(n,t,e)}}getNormalized(t,e){if(!t){return el({},e)}if(e[t]!==undefined){return e[t]}if(this._extractors.has(t)){const n=this._extractors.get(t);if(typeof n==="string"){return Oc(e,n)}const o=n(t,e);if(o){return o}}return Oc(e,ll(t))}getReducedForm(t,e){const n=this.getNormalized(t,e);if(n===undefined){return[]}if(this._reducers.has(t)){const e=this._reducers.get(t);return e(n)}return[[t,n]]}getRelatedStyles(t){return this._consumables.get(t)||[]}setNormalizer(t,e){this._normalizers.set(t,e)}setExtractor(t,e){this._extractors.set(t,e)}setReducer(t,e){this._reducers.set(t,e)}setStyleRelation(t,e){this._mapStyleNames(t,e);for(const n of e){this._mapStyleNames(n,[t])}}_mapStyleNames(t,e){if(!this._consumables.has(t)){this._consumables.set(t,[])}this._consumables.get(t).push(...e)}}function cl(t){let e=null;let n=0;let o=0;let i=null;const r=new Map;if(t===""){return r}if(t.charAt(t.length-1)!=";"){t=t+";"}for(let s=0;s0){yield"class"}if(!this._styles.isEmpty){yield"style"}yield*this._attrs.keys()}*getAttributes(){yield*this._attrs.entries();if(this._classes.size>0){yield["class",this.getAttribute("class")]}if(!this._styles.isEmpty){yield["style",this.getAttribute("style")]}}getAttribute(t){if(t=="class"){if(this._classes.size>0){return[...this._classes].join(" ")}return undefined}if(t=="style"){const t=this._styles.toString();return t==""?undefined:t}return this._attrs.get(t)}hasAttribute(t){if(t=="class"){return this._classes.size>0}if(t=="style"){return!this._styles.isEmpty}return this._attrs.has(t)}isSimilar(t){if(!(t instanceof ul)){return false}if(this===t){return true}if(this.name!=t.name){return false}if(this.isAllowedInsideAttributeElement!=t.isAllowedInsideAttributeElement){return false}if(this._attrs.size!==t._attrs.size||this._classes.size!==t._classes.size||this._styles.size!==t._styles.size){return false}for(const[e,n]of this._attrs){if(!t._attrs.has(e)||t._attrs.get(e)!==n){return false}}for(const e of this._classes){if(!t._classes.has(e)){return false}}for(const e of this._styles.getStyleNames()){if(!t._styles.has(e)||t._styles.getAsString(e)!==this._styles.getAsString(e)){return false}}return true}hasClass(...t){for(const e of t){if(!this._classes.has(e)){return false}}return true}getClassNames(){return this._classes.keys()}getStyle(t){return this._styles.getAsString(t)}getNormalizedStyle(t){return this._styles.getNormalized(t)}getStyleNames(){return this._styles.getStyleNames()}hasStyle(...t){for(const e of t){if(!this._styles.has(e)){return false}}return true}findAncestor(...t){const e=new Va(...t);let n=this.parent;while(n){if(e.match(n)){return n}n=n.parent}return null}getCustomProperty(t){return this._customProperties.get(t)}*getCustomProperties(){yield*this._customProperties.entries()}getIdentity(){const t=Array.from(this._classes).sort().join(",");const e=this._styles.toString();const n=Array.from(this._attrs).map((t=>`${t[0]}="${t[1]}"`)).sort().join(" ");return this.name+(t==""?"":` class="${t}"`)+(!e?"":` style="${e}"`)+(n==""?"":` ${n}`)}_clone(t=false){const e=[];if(t){for(const n of this.getChildren()){e.push(n._clone(t))}}const n=new this.constructor(this.document,this.name,this._attrs,e);n._classes=new Set(this._classes);n._styles.set(this._styles.getNormalized());n._customProperties=new Map(this._customProperties);n.getFillerOffset=this.getFillerOffset;n._isAllowedInsideAttributeElement=this.isAllowedInsideAttributeElement;return n}_appendChild(t){return this._insertChild(this.childCount,t)}_insertChild(t,e){this._fireChange("children",this);let n=0;const o=ml(this.document,e);for(const e of o){if(e.parent!==null){e._remove()}e.parent=this;e.document=this.document;this._children.splice(t,0,e);t++;n++}return n}_removeChildren(t,e=1){this._fireChange("children",this);for(let n=t;n0){this._classes.clear();return true}return false}if(t=="style"){if(!this._styles.isEmpty){this._styles.clear();return true}return false}return this._attrs.delete(t)}_addClass(t){this._fireChange("attributes",this);for(const e of Ca(t)){this._classes.add(e)}}_removeClass(t){this._fireChange("attributes",this);for(const e of Ca(t)){this._classes.delete(e)}}_setStyle(t,e){this._fireChange("attributes",this);this._styles.set(t,e)}_removeStyle(t){this._fireChange("attributes",this);for(const e of Ca(t)){this._styles.remove(e)}}_setCustomProperty(t,e){this._customProperties.set(t,e)}_removeCustomProperty(t){return this._customProperties.delete(t)}}function hl(t){t=ja(t);for(const[e,n]of t){if(n===null){t.delete(e)}else if(typeof n!="string"){t.set(e,String(n))}}return t}function fl(t,e){const n=e.split(/\s+/);t.clear();n.forEach((e=>t.add(e)))}function ml(t,e){if(typeof e=="string"){return[new Oa(t,e)]}if(!ba(e)){e=[e]}return Array.from(e).map((e=>{if(typeof e=="string"){return new Oa(t,e)}if(e instanceof Ra){return new Oa(t,e.data)}return e}))}class gl extends ul{constructor(t,e,n,o){super(t,e,n,o);this.getFillerOffset=pl}is(t,e=null){if(!e){return t==="containerElement"||t==="view:containerElement"||t==="element"||t==="view:element"||t==="node"||t==="view:node"}else{return e===this.name&&(t==="containerElement"||t==="view:containerElement"||t==="element"||t==="view:element")}}}function pl(){const t=[...this.getChildren()];const e=t[this.childCount-1];if(e&&e.is("element","br")){return this.childCount}for(const e of t){if(!e.is("uiElement")){return null}}return this.childCount}class bl extends gl{constructor(t,e,n,o){super(t,e,n,o);this.set("isReadOnly",false);this.set("isFocused",false);this.bind("isReadOnly").to(t);this.bind("isFocused").to(t,"isFocused",(e=>e&&t.selection.editableElement==this));this.listenTo(t.selection,"change",(()=>{this.isFocused=t.isFocused&&t.selection.editableElement==this}))}is(t,e=null){if(!e){return t==="editableElement"||t==="view:editableElement"||t==="containerElement"||t==="view:containerElement"||t==="element"||t==="view:element"||t==="node"||t==="view:node"}else{return e===this.name&&(t==="editableElement"||t==="view:editableElement"||t==="containerElement"||t==="view:containerElement"||t==="element"||t==="view:element")}}destroy(){this.stopListening()}}Vn(bl,Mn);const kl=Symbol("rootName");class wl extends bl{constructor(t,e){super(t,e);this.rootName="main"}is(t,e=null){if(!e){return t==="rootElement"||t==="view:rootElement"||t==="editableElement"||t==="view:editableElement"||t==="containerElement"||t==="view:containerElement"||t==="element"||t==="view:element"||t==="node"||t==="view:node"}else{return e===this.name&&(t==="rootElement"||t==="view:rootElement"||t==="editableElement"||t==="view:editableElement"||t==="containerElement"||t==="view:containerElement"||t==="element"||t==="view:element")}}get rootName(){return this.getCustomProperty(kl)}set rootName(t){this._setCustomProperty(kl,t)}set _name(t){this.name=t}}class Cl{constructor(t={}){if(!t.boundaries&&!t.startPosition){throw new u["a"]("view-tree-walker-no-start-position",null)}if(t.direction&&t.direction!="forward"&&t.direction!="backward"){throw new u["a"]("view-tree-walker-unknown-direction",t.startPosition,{direction:t.direction})}this.boundaries=t.boundaries||null;if(t.startPosition){this.position=Al._createAt(t.startPosition)}else{this.position=Al._createAt(t.boundaries[t.direction=="backward"?"end":"start"])}this.direction=t.direction||"forward";this.singleCharacters=!!t.singleCharacters;this.shallow=!!t.shallow;this.ignoreElementEnd=!!t.ignoreElementEnd;this._boundaryStartParent=this.boundaries?this.boundaries.start.parent:null;this._boundaryEndParent=this.boundaries?this.boundaries.end.parent:null}[Symbol.iterator](){return this}skip(t){let e,n,o;do{o=this.position;({done:e,value:n}=this.next())}while(!e&&t(n));if(!e){this.position=o}}next(){if(this.direction=="forward"){return this._next()}else{return this._previous()}}_next(){let t=this.position.clone();const e=this.position;const n=t.parent;if(n.parent===null&&t.offset===n.childCount){return{done:true}}if(n===this._boundaryEndParent&&t.offset==this.boundaries.end.offset){return{done:true}}let o;if(n instanceof Oa){if(t.isAtEnd){this.position=Al._createAfter(n);return this._next()}o=n.data[t.offset]}else{o=n.getChild(t.offset)}if(o instanceof ul){if(!this.shallow){t=new Al(o,0)}else{t.offset++}this.position=t;return this._formatReturnValue("elementStart",o,e,t,1)}else if(o instanceof Oa){if(this.singleCharacters){t=new Al(o,0);this.position=t;return this._next()}else{let n=o.data.length;let i;if(o==this._boundaryEndParent){n=this.boundaries.end.offset;i=new Ra(o,0,n);t=Al._createAfter(i)}else{i=new Ra(o,0,o.data.length);t.offset++}this.position=t;return this._formatReturnValue("text",i,e,t,n)}}else if(typeof o=="string"){let o;if(this.singleCharacters){o=1}else{const e=n===this._boundaryEndParent?this.boundaries.end.offset:n.data.length;o=e-t.offset}const i=new Ra(n,t.offset,o);t.offset+=o;this.position=t;return this._formatReturnValue("text",i,e,t,o)}else{t=Al._createAfter(n);this.position=t;if(this.ignoreElementEnd){return this._next()}else{return this._formatReturnValue("elementEnd",n,e,t)}}}_previous(){let t=this.position.clone();const e=this.position;const n=t.parent;if(n.parent===null&&t.offset===0){return{done:true}}if(n==this._boundaryStartParent&&t.offset==this.boundaries.start.offset){return{done:true}}let o;if(n instanceof Oa){if(t.isAtStart){this.position=Al._createBefore(n);return this._previous()}o=n.data[t.offset-1]}else{o=n.getChild(t.offset-1)}if(o instanceof ul){if(!this.shallow){t=new Al(o,o.childCount);this.position=t;if(this.ignoreElementEnd){return this._previous()}else{return this._formatReturnValue("elementEnd",o,e,t)}}else{t.offset--;this.position=t;return this._formatReturnValue("elementStart",o,e,t,1)}}else if(o instanceof Oa){if(this.singleCharacters){t=new Al(o,o.data.length);this.position=t;return this._previous()}else{let n=o.data.length;let i;if(o==this._boundaryStartParent){const e=this.boundaries.start.offset;i=new Ra(o,e,o.data.length-e);n=i.data.length;t=Al._createBefore(i)}else{i=new Ra(o,0,o.data.length);t.offset--}this.position=t;return this._formatReturnValue("text",i,e,t,n)}}else if(typeof o=="string"){let o;if(!this.singleCharacters){const e=n===this._boundaryStartParent?this.boundaries.start.offset:0;o=t.offset-e}else{o=1}t.offset-=o;const i=new Ra(n,t.offset,o);this.position=t;return this._formatReturnValue("text",i,e,t,o)}else{t=Al._createBefore(n);this.position=t;return this._formatReturnValue("elementStart",n,e,t,1)}}_formatReturnValue(t,e,n,o,i){if(e instanceof Ra){if(e.offsetInText+e.data.length==e.textNode.data.length){if(this.direction=="forward"&&!(this.boundaries&&this.boundaries.end.isEqual(this.position))){o=Al._createAfter(e.textNode);this.position=o}else{n=Al._createAfter(e.textNode)}}if(e.offsetInText===0){if(this.direction=="backward"&&!(this.boundaries&&this.boundaries.start.isEqual(this.position))){o=Al._createBefore(e.textNode);this.position=o}else{n=Al._createBefore(e.textNode)}}}return{done:false,value:{type:t,item:e,previousPosition:n,nextPosition:o,length:i}}}}class Al{constructor(t,e){this.parent=t;this.offset=e}get nodeAfter(){if(this.parent.is("$text")){return null}return this.parent.getChild(this.offset)||null}get nodeBefore(){if(this.parent.is("$text")){return null}return this.parent.getChild(this.offset-1)||null}get isAtStart(){return this.offset===0}get isAtEnd(){const t=this.parent.is("$text")?this.parent.data.length:this.parent.childCount;return this.offset===t}get root(){return this.parent.root}get editableElement(){let t=this.parent;while(!(t instanceof bl)){if(t.parent){t=t.parent}else{return null}}return t}getShiftedBy(t){const e=Al._createAt(this);const n=e.offset+t;e.offset=n<0?0:n;return e}getLastMatchingPosition(t,e={}){e.startPosition=this;const n=new Cl(e);n.skip(t);return n.position}getAncestors(){if(this.parent.is("documentFragment")){return[this.parent]}else{return this.parent.getAncestors({includeSelf:true})}}getCommonAncestor(t){const e=this.getAncestors();const n=t.getAncestors();let o=0;while(e[o]==n[o]&&e[o]){o++}return o===0?null:e[o-1]}is(t){return t==="position"||t==="view:position"}isEqual(t){return this.parent==t.parent&&this.offset==t.offset}isBefore(t){return this.compareWith(t)=="before"}isAfter(t){return this.compareWith(t)=="after"}compareWith(t){if(this.root!==t.root){return"different"}if(this.isEqual(t)){return"same"}const e=this.parent.is("node")?this.parent.getPath():[];const n=t.parent.is("node")?t.parent.getPath():[];e.push(this.offset);n.push(t.offset);const o=Ba(e,n);switch(o){case"prefix":return"before";case"extension":return"after";default:return e[o]0?new this(n,o):new this(o,n)}static _createIn(t){return this._createFromParentsAndOffsets(t,0,t,t.childCount)}static _createOn(t){const e=t.is("$textProxy")?t.offsetSize:1;return this._createFromPositionAndShift(Al._createBefore(t),e)}}function vl(t){if(t.item.is("attributeElement")||t.item.is("uiElement")){return true}return false}function yl(t){let e=0;for(const n of t){e++}return e}class xl{constructor(t=null,e,n){this._ranges=[];this._lastRangeBackward=false;this._isFake=false;this._fakeSelectionLabel="";this.setTo(t,e,n)}get isFake(){return this._isFake}get fakeSelectionLabel(){return this._fakeSelectionLabel}get anchor(){if(!this._ranges.length){return null}const t=this._ranges[this._ranges.length-1];const e=this._lastRangeBackward?t.end:t.start;return e.clone()}get focus(){if(!this._ranges.length){return null}const t=this._ranges[this._ranges.length-1];const e=this._lastRangeBackward?t.start:t.end;return e.clone()}get isCollapsed(){return this.rangeCount===1&&this._ranges[0].isCollapsed}get rangeCount(){return this._ranges.length}get isBackward(){return!this.isCollapsed&&this._lastRangeBackward}get editableElement(){if(this.anchor){return this.anchor.editableElement}return null}*getRanges(){for(const t of this._ranges){yield t.clone()}}getFirstRange(){let t=null;for(const e of this._ranges){if(!t||e.start.isBefore(t.start)){t=e}}return t?t.clone():null}getLastRange(){let t=null;for(const e of this._ranges){if(!t||e.end.isAfter(t.end)){t=e}}return t?t.clone():null}getFirstPosition(){const t=this.getFirstRange();return t?t.start.clone():null}getLastPosition(){const t=this.getLastRange();return t?t.end.clone():null}isEqual(t){if(this.isFake!=t.isFake){return false}if(this.isFake&&this.fakeSelectionLabel!=t.fakeSelectionLabel){return false}if(this.rangeCount!=t.rangeCount){return false}else if(this.rangeCount===0){return true}if(!this.anchor.isEqual(t.anchor)||!this.focus.isEqual(t.focus)){return false}for(const e of this._ranges){let n=false;for(const o of t._ranges){if(e.isEqual(o)){n=true;break}}if(!n){return false}}return true}isSimilar(t){if(this.isBackward!=t.isBackward){return false}const e=yl(this.getRanges());const n=yl(t.getRanges());if(e!=n){return false}if(e==0){return true}for(let e of this.getRanges()){e=e.getTrimmed();let n=false;for(let o of t.getRanges()){o=o.getTrimmed();if(e.start.isEqual(o.start)&&e.end.isEqual(o.end)){n=true;break}}if(!n){return false}}return true}getSelectedElement(){if(this.rangeCount!==1){return null}return this.getFirstRange().getContainedElement()}setTo(t,e,n){if(t===null){this._setRanges([]);this._setFakeOptions(e)}else if(t instanceof xl||t instanceof El){this._setRanges(t.getRanges(),t.isBackward);this._setFakeOptions({fake:t.isFake,label:t.fakeSelectionLabel})}else if(t instanceof _l){this._setRanges([t],e&&e.backward);this._setFakeOptions(e)}else if(t instanceof Al){this._setRanges([new _l(t)]);this._setFakeOptions(e)}else if(t instanceof La){const o=!!n&&!!n.backward;let i;if(e===undefined){throw new u["a"]("view-selection-setto-required-second-parameter",this)}else if(e=="in"){i=_l._createIn(t)}else if(e=="on"){i=_l._createOn(t)}else{i=new _l(Al._createAt(t,e))}this._setRanges([i],o);this._setFakeOptions(n)}else if(ba(t)){this._setRanges(t,e&&e.backward);this._setFakeOptions(e)}else{throw new u["a"]("view-selection-setto-not-selectable",this)}this.fire("change")}setFocus(t,e){if(this.anchor===null){throw new u["a"]("view-selection-setfocus-no-ranges",this)}const n=Al._createAt(t,e);if(n.compareWith(this.focus)=="same"){return}const o=this.anchor;this._ranges.pop();if(n.compareWith(o)=="before"){this._addRange(new _l(n,o),true)}else{this._addRange(new _l(o,n))}this.fire("change")}is(t){return t==="selection"||t==="view:selection"}_setRanges(t,e=false){t=Array.from(t);this._ranges=[];for(const e of t){this._addRange(e)}this._lastRangeBackward=!!e}_setFakeOptions(t={}){this._isFake=!!t.fake;this._fakeSelectionLabel=t.fake?t.label||"":""}_addRange(t,e=false){if(!(t instanceof _l)){throw new u["a"]("view-selection-add-range-not-range",this)}this._pushRange(t);this._lastRangeBackward=!!e}_pushRange(t){for(const e of this._ranges){if(t.isIntersecting(e)){throw new u["a"]("view-selection-range-intersects",this,{addedRange:t,intersectingRange:e})}}this._ranges.push(new _l(t.start,t.end))}}Vn(xl,g);class El{constructor(t=null,e,n){this._selection=new xl;this._selection.delegate("change").to(this);this._selection.setTo(t,e,n)}get isFake(){return this._selection.isFake}get fakeSelectionLabel(){return this._selection.fakeSelectionLabel}get anchor(){return this._selection.anchor}get focus(){return this._selection.focus}get isCollapsed(){return this._selection.isCollapsed}get rangeCount(){return this._selection.rangeCount}get isBackward(){return this._selection.isBackward}get editableElement(){return this._selection.editableElement}get _ranges(){return this._selection._ranges}*getRanges(){yield*this._selection.getRanges()}getFirstRange(){return this._selection.getFirstRange()}getLastRange(){return this._selection.getLastRange()}getFirstPosition(){return this._selection.getFirstPosition()}getLastPosition(){return this._selection.getLastPosition()}getSelectedElement(){return this._selection.getSelectedElement()}isEqual(t){return this._selection.isEqual(t)}isSimilar(t){return this._selection.isSimilar(t)}is(t){return t==="selection"||t=="documentSelection"||t=="view:selection"||t=="view:documentSelection"}_setTo(t,e,n){this._selection.setTo(t,e,n)}_setFocus(t,e){this._selection.setFocus(t,e)}}Vn(El,g);class Dl extends r{constructor(t,e,n){super(t,e);this.startRange=n;this._eventPhase="none";this._currentTarget=null}get eventPhase(){return this._eventPhase}get currentTarget(){return this._currentTarget}}const Tl=Symbol("bubbling contexts");const Sl={fire(t,...e){try{const n=t instanceof r?t:new r(this,t);const o=zl(this);if(!o.size){return}Il(n,"capturing",this);if(Bl(o,"$capture",n,...e)){return n.return}const i=n.startRange||this.selection.getFirstRange();const s=i?i.getContainedElement():null;const a=s?Boolean(Nl(o,s)):false;let c=s||Pl(i);Il(n,"atTarget",c);if(!a){if(Bl(o,"$text",n,...e)){return n.return}Il(n,"bubbling",c)}while(c){if(c.is("rootElement")){if(Bl(o,"$root",n,...e)){return n.return}}else if(c.is("element")){if(Bl(o,c.name,n,...e)){return n.return}}if(Bl(o,c,n,...e)){return n.return}c=c.parent;Il(n,"bubbling",c)}Il(n,"bubbling",this);Bl(o,"$document",n,...e);return n.return}catch(t){u["a"].rethrowUnexpectedError(t,this)}},_addEventListener(t,e,n){const o=Ca(n.context||"$document");const i=zl(this);for(const r of o){let o=i.get(r);if(!o){o=Object.create(g);i.set(r,o)}this.listenTo(o,t,e,n)}},_removeEventListener(t,e){const n=zl(this);for(const o of n.values()){this.stopListening(o,t,e)}}};var Ml=Sl;function Il(t,e,n){if(t instanceof Dl){t._eventPhase=e;t._currentTarget=n}}function Bl(t,e,n,...o){const i=typeof e=="string"?t.get(e):Nl(t,e);if(!i){return false}i.fire(n,...o);return n.stop.called}function Nl(t,e){for(const[n,o]of t){if(typeof n=="function"&&n(e)){return o}}return null}function zl(t){if(!t[Tl]){t[Tl]=new Map}return t[Tl]}function Pl(t){if(!t){return null}const e=t.start.parent;const n=t.end.parent;const o=e.getPath();const i=n.getPath();return o.length>i.length?e:n}class Ll{constructor(t){this.selection=new El;this.roots=new ka({idProperty:"rootName"});this.stylesProcessor=t;this.set("isReadOnly",false);this.set("isFocused",false);this.set("isComposing",false);this._postFixers=new Set}getRoot(t="main"){return this.roots.get(t)}registerPostFixer(t){this._postFixers.add(t)}destroy(){this.roots.map((t=>t.destroy()));this.stopListening()}_callPostFixers(t){let e=false;do{for(const n of this._postFixers){e=n(t);if(e){break}}}while(e)}}Vn(Ll,Ml);Vn(Ll,Mn);const Ol=10;class Rl extends ul{constructor(t,e,n,o){super(t,e,n,o);this.getFillerOffset=Fl;this._priority=Ol;this._id=null;this._clonesGroup=null}get priority(){return this._priority}get id(){return this._id}getElementsWithSameId(){if(this.id===null){throw new u["a"]("attribute-element-get-elements-with-same-id-no-id",this)}return new Set(this._clonesGroup)}is(t,e=null){if(!e){return t==="attributeElement"||t==="view:attributeElement"||t==="element"||t==="view:element"||t==="node"||t==="view:node"}else{return e===this.name&&(t==="attributeElement"||t==="view:attributeElement"||t==="element"||t==="view:element")}}isSimilar(t){if(this.id!==null||t.id!==null){return this.id===t.id}return super.isSimilar(t)&&this.priority==t.priority}_clone(t){const e=super._clone(t);e._priority=this._priority;e._id=this._id;return e}}Rl.DEFAULT_PRIORITY=Ol;function Fl(){if(jl(this)){return null}let t=this.parent;while(t&&t.is("attributeElement")){if(jl(t)>1){return null}t=t.parent}if(!t||jl(t)>1){return null}return this.childCount}function jl(t){return Array.from(t.getChildren()).filter((t=>!t.is("uiElement"))).length}class Vl extends ul{constructor(t,e,n,o){super(t,e,n,o);this._isAllowedInsideAttributeElement=true;this.getFillerOffset=Hl}is(t,e=null){if(!e){return t==="emptyElement"||t==="view:emptyElement"||t==="element"||t==="view:element"||t==="node"||t==="view:node"}else{return e===this.name&&(t==="emptyElement"||t==="view:emptyElement"||t==="element"||t==="view:element")}}_insertChild(t,e){if(e&&(e instanceof La||Array.from(e).length>0)){throw new u["a"]("view-emptyelement-cannot-add",[this,e])}}}function Hl(){return null}const Ul=navigator.userAgent.toLowerCase();const Wl={isMac:Gl(Ul),isGecko:ql(Ul),isSafari:Yl(Ul),isAndroid:$l(Ul),isBlink:Ql(Ul),features:{isRegExpUnicodePropertySupported:Jl()}};var Kl=Wl;function Gl(t){return t.indexOf("macintosh")>-1}function ql(t){return!!t.match(/gecko\/\d+/)}function Yl(t){return t.indexOf(" applewebkit/")>-1&&t.indexOf("chrome")===-1}function $l(t){return t.indexOf("android")>-1}function Ql(t){return t.indexOf("chrome/")>-1&&t.indexOf("edge/")<0}function Jl(){let t=false;try{t="ć".search(new RegExp("[\\p{L}]","u"))===0}catch(t){}return t}const Zl={ctrl:"⌃",cmd:"⌘",alt:"⌥",shift:"⇧"};const Xl={ctrl:"Ctrl+",alt:"Alt+",shift:"Shift+"};const td=ld();const ed=Object.fromEntries(Object.entries(td).map((([t,e])=>[e,t.charAt(0).toUpperCase()+t.slice(1)])));function nd(t){let e;if(typeof t=="string"){e=td[t.toLowerCase()];if(!e){throw new u["a"]("keyboard-unknown-key",null,{key:t})}}else{e=t.keyCode+(t.altKey?td.alt:0)+(t.ctrlKey?td.ctrl:0)+(t.shiftKey?td.shift:0)+(t.metaKey?td.cmd:0)}return e}function od(t){if(typeof t=="string"){t=dd(t)}return t.map((t=>typeof t=="string"?ad(t):t)).reduce(((t,e)=>e+t),0)}function id(t){let e=od(t);const n=Object.entries(Kl.isMac?Zl:Xl);const o=n.reduce(((t,[n,o])=>{if((e&td[n])!=0){e&=~td[n];t+=o}return t}),"");return o+(e?ed[e]:"")}function rd(t){return t==td.arrowright||t==td.arrowleft||t==td.arrowup||t==td.arrowdown}function sd(t,e){const n=e==="ltr";switch(t){case td.arrowleft:return n?"left":"right";case td.arrowright:return n?"right":"left";case td.arrowup:return"up";case td.arrowdown:return"down"}}function ad(t){if(t.endsWith("!")){return nd(t.slice(0,-1))}const e=nd(t);return Kl.isMac&&e==td.ctrl?td.cmd:e}function cd(t,e){const n=sd(t,e);return n==="down"||n==="right"}function ld(){const t={arrowleft:37,arrowup:38,arrowright:39,arrowdown:40,backspace:8,delete:46,enter:13,space:32,esc:27,tab:9,ctrl:1114112,shift:2228224,alt:4456448,cmd:8912896};for(let e=65;e<=90;e++){const n=String.fromCharCode(e);t[n.toLowerCase()]=e}for(let e=48;e<=57;e++){t[e-48]=e}for(let e=112;e<=123;e++){t["f"+(e-111)]=e}return t}function dd(t){return t.split("+").map((t=>t.trim()))}class ud extends ul{constructor(t,e,n,o){super(t,e,n,o);this._isAllowedInsideAttributeElement=true;this.getFillerOffset=fd}is(t,e=null){if(!e){return t==="uiElement"||t==="view:uiElement"||t==="element"||t==="view:element"||t==="node"||t==="view:node"}else{return e===this.name&&(t==="uiElement"||t==="view:uiElement"||t==="element"||t==="view:element")}}_insertChild(t,e){if(e&&(e instanceof La||Array.from(e).length>0)){throw new u["a"]("view-uielement-cannot-add",this)}}render(t){return this.toDomElement(t)}toDomElement(t){const e=t.createElement(this.name);for(const t of this.getAttributeKeys()){e.setAttribute(t,this.getAttribute(t))}return e}}function hd(t){t.document.on("arrowKey",((e,n)=>md(e,n,t.domConverter)),{priority:"low"})}function fd(){return null}function md(t,e,n){if(e.keyCode==td.arrowright){const t=e.domTarget.ownerDocument.defaultView.getSelection();const o=t.rangeCount==1&&t.getRangeAt(0).collapsed;if(o||e.shiftKey){const e=t.focusNode;const i=t.focusOffset;const r=n.domPositionToView(e,i);if(r===null){return}let s=false;const a=r.getLastMatchingPosition((t=>{if(t.item.is("uiElement")){s=true}if(t.item.is("uiElement")||t.item.is("attributeElement")){return true}return false}));if(s){const e=n.viewPositionToDom(a);if(o){t.collapse(e.parent,e.offset)}else{t.extend(e.parent,e.offset)}}}}}class gd extends ul{constructor(t,e,n,o){super(t,e,n,o);this._isAllowedInsideAttributeElement=true;this.getFillerOffset=pd}is(t,e=null){if(!e){return t==="rawElement"||t==="view:rawElement"||t===this.name||t==="view:"+this.name||t==="element"||t==="view:element"||t==="node"||t==="view:node"}else{return e===this.name&&(t==="rawElement"||t==="view:rawElement"||t==="element"||t==="view:element")}}_insertChild(t,e){if(e&&(e instanceof La||Array.from(e).length>0)){throw new u["a"]("view-rawelement-cannot-add",[this,e])}}}function pd(){return null}class bd{constructor(t,e){this.document=t;this._children=[];if(e){this._insertChild(0,e)}}[Symbol.iterator](){return this._children[Symbol.iterator]()}get childCount(){return this._children.length}get isEmpty(){return this.childCount===0}get root(){return this}get parent(){return null}is(t){return t==="documentFragment"||t==="view:documentFragment"}_appendChild(t){return this._insertChild(this.childCount,t)}getChild(t){return this._children[t]}getChildIndex(t){return this._children.indexOf(t)}getChildren(){return this._children[Symbol.iterator]()}_insertChild(t,e){this._fireChange("children",this);let n=0;const o=kd(this.document,e);for(const e of o){if(e.parent!==null){e._remove()}e.parent=this;this._children.splice(t,0,e);t++;n++}return n}_removeChildren(t,e=1){this._fireChange("children",this);for(let n=t;n{if(typeof e=="string"){return new Oa(t,e)}if(e instanceof Ra){return new Oa(t,e.data)}return e}))}class wd{constructor(t){this.document=t;this._cloneGroups=new Map}setSelection(t,e,n){this.document.selection._setTo(t,e,n)}setSelectionFocus(t,e){this.document.selection._setFocus(t,e)}createDocumentFragment(t){return new bd(this.document,t)}createText(t){return new Oa(this.document,t)}createAttributeElement(t,e,n={}){const o=new Rl(this.document,t,e);if(n.priority){o._priority=n.priority}if(n.id){o._id=n.id}return o}createContainerElement(t,e,n={}){const o=new gl(this.document,t,e);if(n.isAllowedInsideAttributeElement!==undefined){o._isAllowedInsideAttributeElement=n.isAllowedInsideAttributeElement}return o}createEditableElement(t,e){const n=new bl(this.document,t,e);n._document=this.document;return n}createEmptyElement(t,e,n={}){const o=new Vl(this.document,t,e);if(n.isAllowedInsideAttributeElement!==undefined){o._isAllowedInsideAttributeElement=n.isAllowedInsideAttributeElement}return o}createUIElement(t,e,n,o={}){const i=new ud(this.document,t,e);if(n){i.render=n}if(o.isAllowedInsideAttributeElement!==undefined){i._isAllowedInsideAttributeElement=o.isAllowedInsideAttributeElement}return i}createRawElement(t,e,n,o={}){const i=new gd(this.document,t,e);i.render=n||(()=>{});if(o.isAllowedInsideAttributeElement!==undefined){i._isAllowedInsideAttributeElement=o.isAllowedInsideAttributeElement}return i}setAttribute(t,e,n){n._setAttribute(t,e)}removeAttribute(t,e){e._removeAttribute(t)}addClass(t,e){e._addClass(t)}removeClass(t,e){e._removeClass(t)}setStyle(t,e,n){if(io(t)&&n===undefined){n=e}n._setStyle(t,e)}removeStyle(t,e){e._removeStyle(t)}setCustomProperty(t,e,n){n._setCustomProperty(t,e)}removeCustomProperty(t,e){return e._removeCustomProperty(t)}breakAttributes(t){if(t instanceof Al){return this._breakAttributes(t)}else{return this._breakAttributesRange(t)}}breakContainer(t){const e=t.parent;if(!e.is("containerElement")){throw new u["a"]("view-writer-break-non-container-element",this.document)}if(!e.parent){throw new u["a"]("view-writer-break-root",this.document)}if(t.isAtStart){return Al._createBefore(e)}else if(!t.isAtEnd){const n=e._clone(false);this.insert(Al._createAfter(e),n);const o=new _l(t,Al._createAt(e,"end"));const i=new Al(n,0);this.move(o,i)}return Al._createAfter(e)}mergeAttributes(t){const e=t.offset;const n=t.parent;if(n.is("$text")){return t}if(n.is("attributeElement")&&n.childCount===0){const t=n.parent;const e=n.index;n._remove();this._removeFromClonedElementsGroup(n);return this.mergeAttributes(new Al(t,e))}const o=n.getChild(e-1);const i=n.getChild(e);if(!o||!i){return t}if(o.is("$text")&&i.is("$text")){return xd(o,i)}else if(o.is("attributeElement")&&i.is("attributeElement")&&o.isSimilar(i)){const t=o.childCount;o._appendChild(i.getChildren());i._remove();this._removeFromClonedElementsGroup(i);return this.mergeAttributes(new Al(o,t))}return t}mergeContainers(t){const e=t.nodeBefore;const n=t.nodeAfter;if(!e||!n||!e.is("containerElement")||!n.is("containerElement")){throw new u["a"]("view-writer-merge-containers-invalid-position",this.document)}const o=e.getChild(e.childCount-1);const i=o instanceof Oa?Al._createAt(o,"end"):Al._createAt(e,"end");this.move(_l._createIn(n),Al._createAt(e,"end"));this.remove(_l._createOn(n));return i}insert(t,e){e=ba(e)?[...e]:[e];Ed(e,this.document);const n=e.reduce(((t,e)=>{const n=t[t.length-1];const o=!(e.is("uiElement")&&e.isAllowedInsideAttributeElement);if(!n||n.breakAttributes!=o){t.push({breakAttributes:o,nodes:[e]})}else{n.nodes.push(e)}return t}),[]);let o=null;let i=t;for(const{nodes:t,breakAttributes:e}of n){const n=this._insertNodes(i,t,e);if(!o){o=n.start}i=n.end}if(!o){return new _l(t)}return new _l(o,i)}remove(t){const e=t instanceof _l?t:_l._createOn(t);Sd(e,this.document);if(e.isCollapsed){return new bd(this.document)}const{start:n,end:o}=this._breakAttributesRange(e,true);const i=n.parent;const r=o.offset-n.offset;const s=i._removeChildren(n.offset,r);for(const t of s){this._removeFromClonedElementsGroup(t)}const a=this.mergeAttributes(n);e.start=a;e.end=a.clone();return new bd(this.document,s)}clear(t,e){Sd(t,this.document);const n=t.getWalker({direction:"backward",ignoreElementEnd:true});for(const o of n){const n=o.item;let i;if(n.is("element")&&e.isSimilar(n)){i=_l._createOn(n)}else if(!o.nextPosition.isAfter(t.start)&&n.is("$textProxy")){const t=n.getAncestors().find((t=>t.is("element")&&e.isSimilar(t)));if(t){i=_l._createIn(t)}}if(i){if(i.end.isAfter(t.end)){i.end=t.end}if(i.start.isBefore(t.start)){i.start=t.start}this.remove(i)}}}move(t,e){let n;if(e.isAfter(t.end)){e=this._breakAttributes(e,true);const o=e.parent;const i=o.childCount;t=this._breakAttributesRange(t,true);n=this.remove(t);e.offset+=o.childCount-i}else{n=this.remove(t)}return this.insert(e,n)}wrap(t,e){if(!(e instanceof Rl)){throw new u["a"]("view-writer-wrap-invalid-attribute",this.document)}Sd(t,this.document);if(!t.isCollapsed){return this._wrapRange(t,e)}else{let n=t.start;if(n.parent.is("element")&&!Cd(n.parent)){n=n.getLastMatchingPosition((t=>t.item.is("uiElement")))}n=this._wrapPosition(n,e);const o=this.document.selection;if(o.isCollapsed&&o.getFirstPosition().isEqual(t.start)){this.setSelection(n)}return new _l(n)}}unwrap(t,e){if(!(e instanceof Rl)){throw new u["a"]("view-writer-unwrap-invalid-attribute",this.document)}Sd(t,this.document);if(t.isCollapsed){return t}const{start:n,end:o}=this._breakAttributesRange(t,true);const i=n.parent;const r=this._unwrapChildren(i,n.offset,o.offset,e);const s=this.mergeAttributes(r.start);if(!s.isEqual(r.start)){r.end.offset--}const a=this.mergeAttributes(r.end);return new _l(s,a)}rename(t,e){const n=new gl(this.document,t,e.getAttributes());this.insert(Al._createAfter(e),n);this.move(_l._createIn(e),Al._createAt(n,0));this.remove(_l._createOn(e));return n}clearClonedElementsGroup(t){this._cloneGroups.delete(t)}createPositionAt(t,e){return Al._createAt(t,e)}createPositionAfter(t){return Al._createAfter(t)}createPositionBefore(t){return Al._createBefore(t)}createRange(t,e){return new _l(t,e)}createRangeOn(t){return _l._createOn(t)}createRangeIn(t){return _l._createIn(t)}createSelection(t,e,n){return new xl(t,e,n)}_insertNodes(t,e,n){let o;if(n){o=Ad(t)}else{o=t.parent.is("$text")?t.parent.parent:t.parent}if(!o){throw new u["a"]("view-writer-invalid-position-container",this.document)}let i;if(n){i=this._breakAttributes(t,true)}else{i=t.parent.is("$text")?yd(t):t}const r=o._insertChild(i.offset,e);for(const t of e){this._addToClonedElementsGroup(t)}const s=i.getShiftedBy(r);const a=this.mergeAttributes(i);if(!a.isEqual(i)){s.offset--}const c=this.mergeAttributes(s);return new _l(a,c)}_wrapChildren(t,e,n,o){let i=e;const r=[];while(ifalse;t.parent._insertChild(t.offset,n);const o=new _l(t,t.getShiftedBy(1));this.wrap(o,e);const i=new Al(n.parent,n.index);n._remove();const r=i.nodeBefore;const s=i.nodeAfter;if(r instanceof Oa&&s instanceof Oa){return xd(r,s)}return vd(i)}_wrapAttributeElement(t,e){if(!Md(t,e)){return false}if(t.name!==e.name||t.priority!==e.priority){return false}for(const n of t.getAttributeKeys()){if(n==="class"||n==="style"){continue}if(e.hasAttribute(n)&&e.getAttribute(n)!==t.getAttribute(n)){return false}}for(const n of t.getStyleNames()){if(e.hasStyle(n)&&e.getStyle(n)!==t.getStyle(n)){return false}}for(const n of t.getAttributeKeys()){if(n==="class"||n==="style"){continue}if(!e.hasAttribute(n)){this.setAttribute(n,t.getAttribute(n),e)}}for(const n of t.getStyleNames()){if(!e.hasStyle(n)){this.setStyle(n,t.getStyle(n),e)}}for(const n of t.getClassNames()){if(!e.hasClass(n)){this.addClass(n,e)}}return true}_unwrapAttributeElement(t,e){if(!Md(t,e)){return false}if(t.name!==e.name||t.priority!==e.priority){return false}for(const n of t.getAttributeKeys()){if(n==="class"||n==="style"){continue}if(!e.hasAttribute(n)||e.getAttribute(n)!==t.getAttribute(n)){return false}}if(!e.hasClass(...t.getClassNames())){return false}for(const n of t.getStyleNames()){if(!e.hasStyle(n)||e.getStyle(n)!==t.getStyle(n)){return false}}for(const n of t.getAttributeKeys()){if(n==="class"||n==="style"){continue}this.removeAttribute(n,e)}this.removeClass(Array.from(t.getClassNames()),e);this.removeStyle(Array.from(t.getStyleNames()),e);return true}_breakAttributesRange(t,e=false){const n=t.start;const o=t.end;Sd(t,this.document);if(t.isCollapsed){const n=this._breakAttributes(t.start,e);return new _l(n,n)}const i=this._breakAttributes(o,e);const r=i.parent.childCount;const s=this._breakAttributes(n,e);i.offset+=i.parent.childCount-r;return new _l(s,i)}_breakAttributes(t,e=false){const n=t.offset;const o=t.parent;if(t.parent.is("emptyElement")){throw new u["a"]("view-writer-cannot-break-empty-element",this.document)}if(t.parent.is("uiElement")){throw new u["a"]("view-writer-cannot-break-ui-element",this.document)}if(t.parent.is("rawElement")){throw new u["a"]("view-writer-cannot-break-raw-element",this.document)}if(!e&&o.is("$text")&&Td(o.parent)){return t.clone()}if(Td(o)){return t.clone()}if(o.is("$text")){return this._breakAttributes(yd(t),e)}const i=o.childCount;if(n==i){const t=new Al(o.parent,o.index+1);return this._breakAttributes(t,e)}else{if(n===0){const t=new Al(o.parent,o.index);return this._breakAttributes(t,e)}else{const t=o.index+1;const i=o._clone();o.parent._insertChild(t,i);this._addToClonedElementsGroup(i);const r=o.childCount-n;const s=o._removeChildren(n,r);i._appendChild(s);const a=new Al(o.parent,t);return this._breakAttributes(a,e)}}}_addToClonedElementsGroup(t){if(!t.root.is("rootElement")){return}if(t.is("element")){for(const e of t.getChildren()){this._addToClonedElementsGroup(e)}}const e=t.id;if(!e){return}let n=this._cloneGroups.get(e);if(!n){n=new Set;this._cloneGroups.set(e,n)}n.add(t);t._clonesGroup=n}_removeFromClonedElementsGroup(t){if(t.is("element")){for(const e of t.getChildren()){this._removeFromClonedElementsGroup(e)}}const e=t.id;if(!e){return}const n=this._cloneGroups.get(e);if(!n){return}n.delete(t)}}function Cd(t){return Array.from(t.getChildren()).some((t=>!t.is("uiElement")))}function Ad(t){let e=t.parent;while(!Td(e)){if(!e){return undefined}e=e.parent}return e}function _d(t,e){if(t.prioritye.priority){return false}return t.getIdentity()n instanceof t))){throw new u["a"]("view-writer-insert-invalid-node-type",e)}if(!n.is("$text")){Ed(n.getChildren(),e)}}}const Dd=[Oa,Rl,gl,Vl,gd,ud];function Td(t){return t&&(t.is("containerElement")||t.is("documentFragment"))}function Sd(t,e){const n=Ad(t.start);const o=Ad(t.end);if(!n||!o||n!==o){throw new u["a"]("view-writer-invalid-range-container",e)}}function Md(t,e){return t.id===null&&e.id===null}function Id(t){return Object.prototype.toString.call(t)=="[object Text]"}const Bd=t=>t.createTextNode(" ");const Nd=t=>{const e=t.createElement("span");e.dataset.ckeFiller=true;e.innerHTML=" ";return e};const zd=t=>{const e=t.createElement("br");e.dataset.ckeFiller=true;return e};const Pd=7;const Ld="".repeat(Pd);function Od(t){return Id(t)&&t.data.substr(0,Pd)===Ld}function Rd(t){return t.data.length==Pd&&Od(t)}function Fd(t){if(Od(t)){return t.data.slice(Pd)}else{return t.data}}function jd(t){t.document.on("arrowKey",Vd,{priority:"low"})}function Vd(t,e){if(e.keyCode==td.arrowleft){const t=e.domTarget.ownerDocument.defaultView.getSelection();if(t.rangeCount==1&&t.getRangeAt(0).collapsed){const e=t.getRangeAt(0).startContainer;const n=t.getRangeAt(0).startOffset;if(Od(e)&&n<=Pd){t.collapse(e,0)}}}}function Hd(t,e,n,o=false){n=n||function(t,e){return t===e};if(!Array.isArray(t)){t=Array.prototype.slice.call(t)}if(!Array.isArray(e)){e=Array.prototype.slice.call(e)}const i=Ud(t,e,n);return o?qd(i,e.length):Gd(e,i)}function Ud(t,e,n){const o=Wd(t,e,n);if(o===-1){return{firstIndex:-1,lastIndexOld:-1,lastIndexNew:-1}}const i=Kd(t,o);const r=Kd(e,o);const s=Wd(i,r,n);const a=t.length-s;const c=e.length-s;return{firstIndex:o,lastIndexOld:a,lastIndexNew:c}}function Wd(t,e,n){for(let o=0;o0){n.push({index:o,type:"insert",values:t.slice(o,r)})}if(i-o>0){n.push({index:o+(r-o),type:"delete",howMany:i-o})}return n}function qd(t,e){const{firstIndex:n,lastIndexOld:o,lastIndexNew:i}=t;if(n===-1){return Array(e).fill("equal")}let r=[];if(n>0){r=r.concat(Array(n).fill("equal"))}if(i-n>0){r=r.concat(Array(i-n).fill("insert"))}if(o-n>0){r=r.concat(Array(o-n).fill("delete"))}if(i200||i>200||o+i>300){return Yd.fastDiff(t,e,n,true)}let r,s;if(il?-1:1;if(d[o+h]){d[o]=d[o+h].slice(0)}if(!d[o]){d[o]=[]}d[o].push(i>l?r:s);let f=Math.max(i,l);let m=f-o;while(ml;m--){u[m]=h(m)}u[l]=h(l);f++}while(u[l]!==c);return d[l].slice(1)}Yd.fastDiff=Hd;function $d(t,e,n){t.insertBefore(n,t.childNodes[e]||null)}function Qd(t){const e=t.parentNode;if(e){e.removeChild(t)}}function Jd(t){if(t){if(t.defaultView){return t instanceof t.defaultView.Document}else if(t.ownerDocument&&t.ownerDocument.defaultView){return t instanceof t.ownerDocument.defaultView.Node}}return false}class Zd{constructor(t,e){this.domDocuments=new Set;this.domConverter=t;this.markedAttributes=new Set;this.markedChildren=new Set;this.markedTexts=new Set;this.selection=e;this.isFocused=false;this._inlineFiller=null;this._fakeSelectionContainer=null}markToSync(t,e){if(t==="text"){if(this.domConverter.mapViewToDom(e.parent)){this.markedTexts.add(e)}}else{if(!this.domConverter.mapViewToDom(e)){return}if(t==="attributes"){this.markedAttributes.add(e)}else if(t==="children"){this.markedChildren.add(e)}else{throw new u["a"]("view-renderer-unknown-type",this)}}}render(){let t;for(const t of this.markedChildren){this._updateChildrenMappings(t)}if(this._inlineFiller&&!this._isSelectionInInlineFiller()){this._removeInlineFiller()}if(this._inlineFiller){t=this._getInlineFillerPosition()}else if(this._needsInlineFillerAtSelection()){t=this.selection.getFirstPosition();this.markedChildren.add(t.parent)}for(const t of this.markedAttributes){this._updateAttrs(t)}for(const e of this.markedChildren){this._updateChildren(e,{inlineFillerPosition:t})}for(const e of this.markedTexts){if(!this.markedChildren.has(e.parent)&&this.domConverter.mapViewToDom(e.parent)){this._updateText(e,{inlineFillerPosition:t})}}if(t){const e=this.domConverter.viewPositionToDom(t);const n=e.parent.ownerDocument;if(!Od(e.parent)){this._inlineFiller=tu(n,e.parent,e.offset)}else{this._inlineFiller=e.parent}}else{this._inlineFiller=null}this._updateFocus();this._updateSelection();this.markedTexts.clear();this.markedAttributes.clear();this.markedChildren.clear()}_updateChildrenMappings(t){const e=this.domConverter.mapViewToDom(t);if(!e){return}const n=this.domConverter.mapViewToDom(t).childNodes;const o=Array.from(this.domConverter.viewChildrenToDom(t,e.ownerDocument,{withChildren:false}));const i=this._diffNodeLists(n,o);const r=this._findReplaceActions(i,n,o);if(r.indexOf("replace")!==-1){const e={equal:0,insert:0,delete:0};for(const i of r){if(i==="replace"){const i=e.equal+e.insert;const r=e.equal+e.delete;const s=t.getChild(i);if(s&&!(s.is("uiElement")||s.is("rawElement"))){this._updateElementMappings(s,n[r])}Qd(o[i]);e.equal++}else{e[i]++}}}}_updateElementMappings(t,e){this.domConverter.unbindDomElement(e);this.domConverter.bindElements(e,t);this.markedChildren.add(t);this.markedAttributes.add(t)}_getInlineFillerPosition(){const t=this.selection.getFirstPosition();if(t.parent.is("$text")){return Al._createBefore(this.selection.getFirstPosition().parent)}else{return t}}_isSelectionInInlineFiller(){if(this.selection.rangeCount!=1||!this.selection.isCollapsed){return false}const t=this.selection.getFirstPosition();const e=this.domConverter.viewPositionToDom(t);if(e&&Id(e.parent)&&Od(e.parent)){return true}return false}_removeInlineFiller(){const t=this._inlineFiller;if(!Od(t)){throw new u["a"]("view-renderer-filler-was-lost",this)}if(Rd(t)){t.parentNode.removeChild(t)}else{t.data=t.data.substr(Pd)}this._inlineFiller=null}_needsInlineFillerAtSelection(){if(this.selection.rangeCount!=1||!this.selection.isCollapsed){return false}const t=this.selection.getFirstPosition();const e=t.parent;const n=t.offset;if(!this.domConverter.mapViewToDom(e.root)){return false}if(!e.is("element")){return false}if(!Xd(e)){return false}if(n===e.getFillerOffset()){return false}const o=t.nodeBefore;const i=t.nodeAfter;if(o instanceof Oa||i instanceof Oa){return false}return true}_updateText(t,e){const n=this.domConverter.findCorrespondingDomText(t);const o=this.domConverter.viewToDom(t,n.ownerDocument);const i=n.data;let r=o.data;const s=e.inlineFillerPosition;if(s&&s.parent==t.parent&&s.offset==t.index){r=Ld+r}if(i!=r){const t=Hd(i,r);for(const e of t){if(e.type==="insert"){n.insertData(e.index,e.values.join(""))}else{n.deleteData(e.index,e.howMany)}}}}_updateAttrs(t){const e=this.domConverter.mapViewToDom(t);if(!e){return}const n=Array.from(e.attributes).map((t=>t.name));const o=t.getAttributeKeys();for(const n of o){e.setAttribute(n,t.getAttribute(n))}for(const o of n){if(!t.hasAttribute(o)){e.removeAttribute(o)}}}_updateChildren(t,e){const n=this.domConverter.mapViewToDom(t);if(!n){return}const o=e.inlineFillerPosition;const i=this.domConverter.mapViewToDom(t).childNodes;const r=Array.from(this.domConverter.viewChildrenToDom(t,n.ownerDocument,{bind:true,inlineFillerPosition:o}));if(o&&o.parent===t){tu(n.ownerDocument,r,o.offset)}const s=this._diffNodeLists(i,r);let a=0;const c=new Set;for(const t of s){if(t==="delete"){c.add(i[a]);Qd(i[a])}else if(t==="equal"){a++}}a=0;for(const t of s){if(t==="insert"){$d(n,a,r[a]);a++}else if(t==="equal"){this._markDescendantTextToSync(this.domConverter.domToView(r[a]));a++}}for(const t of c){if(!t.parentNode){this.domConverter.unbindDomElement(t)}}}_diffNodeLists(t,e){t=iu(t,this._fakeSelectionContainer);return Yd(t,e,nu.bind(null,this.domConverter))}_findReplaceActions(t,e,n){if(t.indexOf("insert")===-1||t.indexOf("delete")===-1){return t}let o=[];let i=[];let r=[];const s={equal:0,insert:0,delete:0};for(const a of t){if(a==="insert"){r.push(n[s.equal+s.insert])}else if(a==="delete"){i.push(e[s.equal+s.delete])}else{o=o.concat(Yd(i,r,eu).map((t=>t==="equal"?"replace":t)));o.push("equal");i=[];r=[]}s[a]++}return o.concat(Yd(i,r,eu).map((t=>t==="equal"?"replace":t)))}_markDescendantTextToSync(t){if(!t){return}if(t.is("$text")){this.markedTexts.add(t)}else if(t.is("element")){for(const e of t.getChildren()){this._markDescendantTextToSync(e)}}}_updateSelection(){if(this.selection.rangeCount===0){this._removeDomSelection();this._removeFakeSelection();return}const t=this.domConverter.mapViewToDom(this.selection.editableElement);if(!this.isFocused||!t){return}if(this.selection.isFake){this._updateFakeSelection(t)}else{this._removeFakeSelection();this._updateDomSelection(t)}}_updateFakeSelection(t){const e=t.ownerDocument;if(!this._fakeSelectionContainer){this._fakeSelectionContainer=ru(e)}const n=this._fakeSelectionContainer;this.domConverter.bindFakeSelection(n,this.selection);if(!this._fakeSelectionNeedsUpdate(t)){return}if(!n.parentElement||n.parentElement!=t){t.appendChild(n)}n.textContent=this.selection.fakeSelectionLabel||" ";const o=e.getSelection();const i=e.createRange();o.removeAllRanges();i.selectNodeContents(n);o.addRange(i)}_updateDomSelection(t){const e=t.ownerDocument.defaultView.getSelection();if(!this._domSelectionNeedsUpdate(e)){return}const n=this.domConverter.viewPositionToDom(this.selection.anchor);const o=this.domConverter.viewPositionToDom(this.selection.focus);e.collapse(n.parent,n.offset);e.extend(o.parent,o.offset);if(Kl.isGecko){ou(o,e)}}_domSelectionNeedsUpdate(t){if(!this.domConverter.isDomSelectionCorrect(t)){return true}const e=t&&this.domConverter.domSelectionToView(t);if(e&&this.selection.isEqual(e)){return false}if(!this.selection.isCollapsed&&this.selection.isSimilar(e)){return false}return true}_fakeSelectionNeedsUpdate(t){const e=this._fakeSelectionContainer;const n=t.ownerDocument.getSelection();if(!e||e.parentElement!==t){return true}if(n.anchorNode!==e&&!e.contains(n.anchorNode)){return true}return e.textContent!==this.selection.fakeSelectionLabel}_removeDomSelection(){for(const t of this.domDocuments){const e=t.getSelection();if(e.rangeCount){const e=t.activeElement;const n=this.domConverter.mapDomToView(e);if(e&&n){t.getSelection().removeAllRanges()}}}}_removeFakeSelection(){const t=this._fakeSelectionContainer;if(t){t.remove()}}_updateFocus(){if(this.isFocused){const t=this.selection.editableElement;if(t){this.domConverter.focus(t)}}}}Vn(Zd,Mn);function Xd(t){if(t.getAttribute("contenteditable")=="false"){return false}const e=t.findAncestor((t=>t.hasAttribute("contenteditable")));return!e||e.getAttribute("contenteditable")=="true"}function tu(t,e,n){const o=e instanceof Array?e:e.childNodes;const i=o[n];if(Id(i)){i.data=Ld+i.data;return i}else{const i=t.createTextNode(Ld);if(Array.isArray(e)){o.splice(n,0,i)}else{$d(e,n,i)}return i}}function eu(t,e){return Jd(t)&&Jd(e)&&!Id(t)&&!Id(e)&&t.nodeType!==Node.COMMENT_NODE&&e.nodeType!==Node.COMMENT_NODE&&t.tagName.toLowerCase()===e.tagName.toLowerCase()}function nu(t,e,n){if(e===n){return true}else if(Id(e)&&Id(n)){return e.data===n.data}else if(t.isBlockFiller(e)&&t.isBlockFiller(n)){return true}return false}function ou(t,e){const n=t.parent;if(n.nodeType!=Node.ELEMENT_NODE||t.offset!=n.childNodes.length-1){return}const o=n.childNodes[t.offset];if(o&&o.tagName=="BR"){e.addRange(e.getRangeAt(0))}}function iu(t,e){const n=Array.from(t);if(n.length==0||!e){return n}const o=n[n.length-1];if(o==e){n.pop()}return n}function ru(t){const e=t.createElement("div");e.className="ck-fake-selection-container";Object.assign(e.style,{position:"fixed",top:0,left:"-9999px",width:"42px"});e.textContent=" ";return e}var su={window:window,document:document};function au(t){let e=0;while(t.previousSibling){t=t.previousSibling;e++}return e}function cu(t){const e=[];while(t&&t.nodeType!=Node.DOCUMENT_NODE){e.unshift(t);t=t.parentNode}return e}function lu(t,e){const n=cu(t);const o=cu(e);let i=0;while(n[i]==o[i]&&n[i]){i++}return i===0?null:n[i-1]}const du=zd(document);const uu=Bd(document);const hu=Nd(document);class fu{constructor(t,e={}){this.document=t;this.blockFillerMode=e.blockFillerMode||"br";this.preElements=["pre"];this.blockElements=["p","div","h1","h2","h3","h4","h5","h6","li","dd","dt","figcaption","td","th"];this._domToViewMapping=new WeakMap;this._viewToDomMapping=new WeakMap;this._fakeSelectionMapping=new WeakMap;this._rawContentElementMatcher=new Va;this._encounteredRawContentDomNodes=new WeakSet}bindFakeSelection(t,e){this._fakeSelectionMapping.set(t,new xl(e))}fakeSelectionToView(t){return this._fakeSelectionMapping.get(t)}bindElements(t,e){this._domToViewMapping.set(t,e);this._viewToDomMapping.set(e,t)}unbindDomElement(t){const e=this._domToViewMapping.get(t);if(e){this._domToViewMapping.delete(t);this._viewToDomMapping.delete(e);for(const e of t.childNodes){this.unbindDomElement(e)}}}bindDocumentFragments(t,e){this._domToViewMapping.set(t,e);this._viewToDomMapping.set(e,t)}viewToDom(t,e,n={}){if(t.is("$text")){const n=this._processDataFromViewText(t);return e.createTextNode(n)}else{if(this.mapViewToDom(t)){return this.mapViewToDom(t)}let o;if(t.is("documentFragment")){o=e.createDocumentFragment();if(n.bind){this.bindDocumentFragments(o,t)}}else if(t.is("uiElement")){o=t.render(e);if(n.bind){this.bindElements(o,t)}return o}else{if(t.hasAttribute("xmlns")){o=e.createElementNS(t.getAttribute("xmlns"),t.name)}else{o=e.createElement(t.name)}if(t.is("rawElement")){t.render(o)}if(n.bind){this.bindElements(o,t)}for(const e of t.getAttributeKeys()){o.setAttribute(e,t.getAttribute(e))}}if(n.withChildren!==false){for(const i of this.viewChildrenToDom(t,e,n)){o.appendChild(i)}}return o}}*viewChildrenToDom(t,e,n={}){const o=t.getFillerOffset&&t.getFillerOffset();let i=0;for(const r of t.getChildren()){if(o===i){yield this._getBlockFiller(e)}yield this.viewToDom(r,e,n);i++}if(o===i){yield this._getBlockFiller(e)}}viewRangeToDom(t){const e=this.viewPositionToDom(t.start);const n=this.viewPositionToDom(t.end);const o=document.createRange();o.setStart(e.parent,e.offset);o.setEnd(n.parent,n.offset);return o}viewPositionToDom(t){const e=t.parent;if(e.is("$text")){const n=this.findCorrespondingDomText(e);if(!n){return null}let o=t.offset;if(Od(n)){o+=Pd}return{parent:n,offset:o}}else{let n,o,i;if(t.offset===0){n=this.mapViewToDom(e);if(!n){return null}i=n.childNodes[0]}else{const e=t.nodeBefore;o=e.is("$text")?this.findCorrespondingDomText(e):this.mapViewToDom(t.nodeBefore);if(!o){return null}n=o.parentNode;i=o.nextSibling}if(Id(i)&&Od(i)){return{parent:i,offset:Pd}}const r=o?au(o)+1:0;return{parent:n,offset:r}}}domToView(t,e={}){if(this.isBlockFiller(t)){return null}const n=this.getHostViewElement(t);if(n){return n}if(Id(t)){if(Rd(t)){return null}else{const e=this._processDataFromDomText(t);return e===""?null:new Oa(this.document,e)}}else if(this.isComment(t)){return null}else{if(this.mapDomToView(t)){return this.mapDomToView(t)}let n;if(this.isDocumentFragment(t)){n=new bd(this.document);if(e.bind){this.bindDocumentFragments(t,n)}}else{const o=e.keepOriginalCase?t.tagName:t.tagName.toLowerCase();n=new ul(this.document,o);if(e.bind){this.bindElements(t,n)}const i=t.attributes;for(let t=i.length-1;t>=0;t--){n._setAttribute(i[t].name,i[t].value)}if(e.withChildren!==false&&this._rawContentElementMatcher.match(n)){n._setCustomProperty("$rawContent",t.innerHTML);this._encounteredRawContentDomNodes.add(t);return n}}if(e.withChildren!==false){for(const o of this.domChildrenToView(t,e)){n._appendChild(o)}}return n}}*domChildrenToView(t,e={}){for(let n=0;n{const{scrollLeft:e,scrollTop:n}=t;o.push([e,n])}));e.focus();gu(e,(t=>{const[e,n]=o.shift();t.scrollLeft=e;t.scrollTop=n}));su.window.scrollTo(t,n)}}isElement(t){return t&&t.nodeType==Node.ELEMENT_NODE}isDocumentFragment(t){return t&&t.nodeType==Node.DOCUMENT_FRAGMENT_NODE}isComment(t){return t&&t.nodeType==Node.COMMENT_NODE}isBlockFiller(t){if(this.blockFillerMode=="br"){return t.isEqualNode(du)}if(t.tagName==="BR"&&bu(t,this.blockElements)&&t.parentNode.childNodes.length===1){return true}return t.isEqualNode(hu)||pu(t,this.blockElements)}isDomSelectionBackward(t){if(t.isCollapsed){return false}const e=document.createRange();e.setStart(t.anchorNode,t.anchorOffset);e.setEnd(t.focusNode,t.focusOffset);const n=e.collapsed;e.detach();return n}getHostViewElement(t){const e=cu(t);e.pop();while(e.length){const t=e.pop();const n=this._domToViewMapping.get(t);if(n&&(n.is("uiElement")||n.is("rawElement"))){return n}}return null}isDomSelectionCorrect(t){return this._isDomSelectionPositionCorrect(t.anchorNode,t.anchorOffset)&&this._isDomSelectionPositionCorrect(t.focusNode,t.focusOffset)}registerRawContentMatcher(t){this._rawContentElementMatcher.add(t)}_getBlockFiller(t){switch(this.blockFillerMode){case"nbsp":return Bd(t);case"markedNbsp":return Nd(t);case"br":return zd(t)}}_isDomSelectionPositionCorrect(t,e){if(Id(t)&&Od(t)&ðis.preElements.includes(t.name)))){return e}if(e.charAt(0)==" "){const n=this._getTouchingViewTextNode(t,false);const o=n&&this._nodeEndsWithSpace(n);if(o||!n){e=" "+e.substr(1)}}if(e.charAt(e.length-1)==" "){const n=this._getTouchingViewTextNode(t,true);if(e.charAt(e.length-2)==" "||!n||n.data.charAt(0)==" "){e=e.substr(0,e.length-1)+" "}}return e.replace(/ {2}/g," ")}_nodeEndsWithSpace(t){if(t.getAncestors().some((t=>this.preElements.includes(t.name)))){return false}const e=this._processDataFromViewText(t);return e.charAt(e.length-1)==" "}_processDataFromDomText(t){let e=t.data;if(mu(t,this.preElements)){return Fd(t)}e=e.replace(/[ \n\t\r]{1,}/g," ");const n=this._getTouchingInlineDomNode(t,false);const o=this._getTouchingInlineDomNode(t,true);const i=this._checkShouldLeftTrimDomText(t,n);const r=this._checkShouldRightTrimDomText(t,o);if(i){e=e.replace(/^ /,"")}if(r){e=e.replace(/ $/,"")}e=Fd(new Text(e));e=e.replace(/ \u00A0/g," ");if(/( |\u00A0)\u00A0$/.test(e)||!o||o.data&&o.data.charAt(0)==" "){e=e.replace(/\u00A0$/," ")}if(i){e=e.replace(/^\u00A0/," ")}return e}_checkShouldLeftTrimDomText(t,e){if(!e){return true}if(fa(e)){return true}if(this._encounteredRawContentDomNodes.has(t.previousSibling)){return false}return/[^\S\u00A0]/.test(e.data.charAt(e.data.length-1))}_checkShouldRightTrimDomText(t,e){if(e){return false}return!Od(t)}_getTouchingViewTextNode(t,e){const n=new Cl({startPosition:e?Al._createAfter(t):Al._createBefore(t),direction:e?"forward":"backward"});for(const t of n){if(t.item.is("containerElement")){return null}else if(t.item.is("element","br")){return null}else if(t.item.is("$textProxy")){return t.item}}return null}_getTouchingInlineDomNode(t,e){if(!t.parentNode){return null}const n=e?"nextNode":"previousNode";const o=t.ownerDocument;const i=cu(t)[0];const r=o.createTreeWalker(i,NodeFilter.SHOW_TEXT|NodeFilter.SHOW_ELEMENT,{acceptNode(t){if(Id(t)){return NodeFilter.FILTER_ACCEPT}if(t.tagName=="BR"){return NodeFilter.FILTER_ACCEPT}return NodeFilter.FILTER_SKIP}});r.currentNode=t;const s=r[n]();if(s!==null){const e=lu(t,s);if(e&&!mu(t,this.blockElements,e)&&!mu(s,this.blockElements,e)){return s}}return null}}function mu(t,e,n){let o=cu(t);if(n){o=o.slice(o.indexOf(n)+1)}return o.some((t=>t.tagName&&e.includes(t.tagName.toLowerCase())))}function gu(t,e){while(t&&t!=su.document){e(t);t=t.parentNode}}function pu(t,e){const n=t.isEqualNode(uu);return n&&bu(t,e)&&t.parentNode.childNodes.length===1}function bu(t,e){const n=t.parentNode;return n&&n.tagName&&e.includes(n.tagName.toLowerCase())}function ku(t){const e=Object.prototype.toString.apply(t);if(e=="[object Window]"){return true}if(e=="[object global]"){return true}return false}const wu=vn({},g,{listenTo(t,...e){if(Jd(t)||ku(t)){const n=this._getProxyEmitter(t)||new Au(t);n.attach(...e);t=n}g.listenTo.call(this,t,...e)},stopListening(t,e,n){if(Jd(t)||ku(t)){const e=this._getProxyEmitter(t);if(!e){return}t=e}g.stopListening.call(this,t,e,n);if(t instanceof Au){t.detach(e)}},_getProxyEmitter(t){return p(this,_u(t))}});var Cu=wu;class Au{constructor(t){b(this,_u(t));this._domNode=t}}vn(Au.prototype,g,{attach(t,e,n={}){if(this._domListeners&&this._domListeners[t]){return}const o={capture:!!n.useCapture,passive:!!n.usePassive};const i=this._createDomListener(t,o);this._domNode.addEventListener(t,i,o);if(!this._domListeners){this._domListeners={}}this._domListeners[t]=i},detach(t){let e;if(this._domListeners[t]&&(!(e=this._events[t])||!e.callbacks.length)){this._domListeners[t].removeListener()}},_createDomListener(t,e){const n=e=>{this.fire(t,e)};n.removeListener=()=>{this._domNode.removeEventListener(t,n,e);delete this._domListeners[t]};return n}});function _u(t){return t["data-ck-expando"]||(t["data-ck-expando"]=a())}class vu{constructor(t){this.view=t;this.document=t.document;this.isEnabled=false}enable(){this.isEnabled=true}disable(){this.isEnabled=false}destroy(){this.disable();this.stopListening()}checkShouldIgnoreEventFromTarget(t){if(t&&t.nodeType===3){t=t.parentNode}if(!t||t.nodeType!==1){return false}return t.matches("[data-cke-ignore-events], [data-cke-ignore-events] *")}}Vn(vu,Cu);var yu="__lodash_hash_undefined__";function xu(t){this.__data__.set(t,yu);return this}var Eu=xu;function Du(t){return this.__data__.has(t)}var Tu=Du;function Su(t){var e=-1,n=t==null?0:t.length;this.__data__=new fi;while(++ea)){return false}var l=r.get(t);var d=r.get(e);if(l&&d){return l==e&&d==t}var u=-1,h=true,f=n&Lu?new Mu:undefined;r.set(t,e);r.set(e,t);while(++u{this.listenTo(t,e,((t,e)=>{if(this.isEnabled&&!this.checkShouldIgnoreEventFromTarget(e.target)){this.onDomEvent(e)}}),{useCapture:this.useCapture})}))}fire(t,e,n){if(this.isEnabled){this.document.fire(t,new yh(this.view,e,n))}}}class Eh extends xh{constructor(t){super(t);this.domEventType=["keydown","keyup"]}onDomEvent(t){this.fire(t.type,t,{keyCode:t.keyCode,altKey:t.altKey,ctrlKey:t.ctrlKey,shiftKey:t.shiftKey,metaKey:t.metaKey,get keystroke(){return nd(this)}})}}var Dh=function(){return S["a"].Date.now()};var Th=Dh;var Sh=/\s/;function Mh(t){var e=t.length;while(e--&&Sh.test(t.charAt(e))){}return e}var Ih=Mh;var Bh=/^\s+/;function Nh(t){return t?t.slice(0,Ih(t)+1).replace(Bh,""):t}var zh=Nh;var Ph=0/0;var Lh=/^[-+]0x[0-9a-f]+$/i;var Oh=/^0b[01]+$/i;var Rh=/^0o[0-7]+$/i;var Fh=parseInt;function jh(t){if(typeof t=="number"){return t}if($a(t)){return Ph}if(T(t)){var e=typeof t.valueOf=="function"?t.valueOf():t;t=T(e)?e+"":e}if(typeof t!="string"){return t===0?t:+t}t=zh(t);var n=Oh.test(t);return n||Rh.test(t)?Fh(t.slice(2),n?2:8):Lh.test(t)?Ph:+t}var Vh=jh;var Hh="Expected a function";var Uh=Math.max,Wh=Math.min;function Kh(t,e,n){var o,i,r,s,a,c,l=0,d=false,u=false,h=true;if(typeof t!="function"){throw new TypeError(Hh)}e=Vh(e)||0;if(T(n)){d=!!n.leading;u="maxWait"in n;r=u?Uh(Vh(n.maxWait)||0,e):r;h="trailing"in n?!!n.trailing:h}function f(e){var n=o,r=i;o=i=undefined;l=e;s=t.apply(r,n);return s}function m(t){l=t;a=setTimeout(b,e);return d?f(t):s}function g(t){var n=t-c,o=t-l,i=e-n;return u?Wh(i,r-o):i}function p(t){var n=t-c,o=t-l;return c===undefined||n>=e||n<0||u&&o>=r}function b(){var t=Th();if(p(t)){return k(t)}a=setTimeout(b,g(t))}function k(t){a=undefined;if(h&&o){return f(t)}o=i=undefined;return s}function w(){if(a!==undefined){clearTimeout(a)}l=0;o=c=i=a=undefined}function C(){return a===undefined?s:k(Th())}function A(){var t=Th(),n=p(t);o=arguments;i=this;c=t;if(n){if(a===undefined){return m(c)}if(u){clearTimeout(a);a=setTimeout(b,e);return f(c)}}if(a===undefined){a=setTimeout(b,e)}return s}A.cancel=w;A.flush=C;return A}var Gh=Kh;class qh extends vu{constructor(t){super(t);this._fireSelectionChangeDoneDebounced=Gh((t=>this.document.fire("selectionChangeDone",t)),200)}observe(){const t=this.document;t.on("arrowKey",((e,n)=>{const o=t.selection;if(o.isFake&&this.isEnabled){n.preventDefault()}}),{context:"$capture"});t.on("arrowKey",((e,n)=>{const o=t.selection;if(o.isFake&&this.isEnabled){this._handleSelectionMove(n.keyCode)}}),{priority:"lowest"})}destroy(){super.destroy();this._fireSelectionChangeDoneDebounced.cancel()}_handleSelectionMove(t){const e=this.document.selection;const n=new xl(e.getRanges(),{backward:e.isBackward,fake:false});if(t==td.arrowleft||t==td.arrowup){n.setTo(n.getFirstPosition())}if(t==td.arrowright||t==td.arrowdown){n.setTo(n.getLastPosition())}const o={oldSelection:e,newSelection:n,domSelection:null};this.document.fire("selectionChange",o);this._fireSelectionChangeDoneDebounced(o)}}class Yh extends vu{constructor(t){super(t);this.mutationObserver=t.getObserver(vh);this.selection=this.document.selection;this.domConverter=t.domConverter;this._documents=new WeakSet;this._fireSelectionChangeDoneDebounced=Gh((t=>this.document.fire("selectionChangeDone",t)),200);this._clearInfiniteLoopInterval=setInterval((()=>this._clearInfiniteLoop()),1e3);this._loopbackCounter=0}observe(t){const e=t.ownerDocument;if(this._documents.has(e)){return}this.listenTo(e,"selectionchange",((t,n)=>{this._handleSelectionChange(n,e)}));this._documents.add(e)}destroy(){super.destroy();clearInterval(this._clearInfiniteLoopInterval);this._fireSelectionChangeDoneDebounced.cancel()}_handleSelectionChange(t,e){if(!this.isEnabled){return}const n=e.defaultView.getSelection();if(this.checkShouldIgnoreEventFromTarget(n.anchorNode)){return}this.mutationObserver.flush();const o=this.domConverter.domSelectionToView(n);if(o.rangeCount==0){this.view.hasDomSelection=false;return}this.view.hasDomSelection=true;if(this.selection.isEqual(o)&&this.domConverter.isDomSelectionCorrect(n)){return}if(++this._loopbackCounter>60){return}if(this.selection.isSimilar(o)){this.view.forceRender()}else{const t={oldSelection:this.selection,newSelection:o,domSelection:n};this.document.fire("selectionChange",t);this._fireSelectionChangeDoneDebounced(t)}}_clearInfiniteLoop(){this._loopbackCounter=0}}class $h extends xh{constructor(t){super(t);this.domEventType=["focus","blur"];this.useCapture=true;const e=this.document;e.on("focus",(()=>{e.isFocused=true;this._renderTimeoutId=setTimeout((()=>t.forceRender()),50)}));e.on("blur",((n,o)=>{const i=e.selection.editableElement;if(i===null||i===o.target){e.isFocused=false;t.forceRender()}}))}onDomEvent(t){this.fire(t.type,t)}destroy(){if(this._renderTimeoutId){clearTimeout(this._renderTimeoutId)}super.destroy()}}class Qh extends xh{constructor(t){super(t);this.domEventType=["compositionstart","compositionupdate","compositionend"];const e=this.document;e.on("compositionstart",(()=>{e.isComposing=true}));e.on("compositionend",(()=>{e.isComposing=false}))}onDomEvent(t){this.fire(t.type,t)}}class Jh extends xh{constructor(t){super(t);this.domEventType=["beforeinput"]}onDomEvent(t){this.fire(t.type,t)}}class Zh{constructor(){this._replacedElements=[]}replace(t,e){this._replacedElements.push({element:t,newElement:e});t.style.display="none";if(e){t.parentNode.insertBefore(e,t.nextSibling)}}restore(){this._replacedElements.forEach((({element:t,newElement:e})=>{t.style.display="";if(e){e.remove()}}));this._replacedElements=[]}}var Xh="[object String]";function tf(t){return typeof t=="string"||!xe(t)&&ge(t)&&G(t)==Xh}var ef=tf;function nf(t,e,n={},o=[]){const i=n&&n.xmlns;const r=i?t.createElementNS(i,e):t.createElement(e);for(const t in n){r.setAttribute(t,n[t])}if(ef(o)||!ba(o)){o=[o]}for(let e of o){if(ef(e)){e=t.createTextNode(e)}r.appendChild(e)}return r}function of(t){if(t instanceof HTMLTextAreaElement){return t.value}return t.innerHTML}function rf(t){return Object.prototype.toString.apply(t)=="[object Range]"}function sf(t){const e=t.ownerDocument.defaultView.getComputedStyle(t);return{top:parseInt(e.borderTopWidth,10),right:parseInt(e.borderRightWidth,10),bottom:parseInt(e.borderBottomWidth,10),left:parseInt(e.borderLeftWidth,10)}}const af=["top","right","bottom","left","width","height"];class cf{constructor(t){const e=rf(t);Object.defineProperty(this,"_source",{value:t._source||t,writable:true,enumerable:false});if(fa(t)||e){if(e){const e=cf.getDomRangeRects(t);lf(this,cf.getBoundingRect(e))}else{lf(this,t.getBoundingClientRect())}}else if(ku(t)){const{innerWidth:e,innerHeight:n}=t;lf(this,{top:0,right:e,bottom:n,left:0,width:e,height:n})}else{lf(this,t)}}clone(){return new cf(this)}moveTo(t,e){this.top=e;this.right=t+this.width;this.bottom=e+this.height;this.left=t;return this}moveBy(t,e){this.top+=e;this.right+=t;this.left+=t;this.bottom+=e;return this}getIntersection(t){const e={top:Math.max(this.top,t.top),right:Math.min(this.right,t.right),bottom:Math.min(this.bottom,t.bottom),left:Math.max(this.left,t.left)};e.width=e.right-e.left;e.height=e.bottom-e.top;if(e.width<0||e.height<0){return null}else{return new cf(e)}}getIntersectionArea(t){const e=this.getIntersection(t);if(e){return e.getArea()}else{return 0}}getArea(){return this.width*this.height}getVisible(){const t=this._source;let e=this.clone();if(!df(t)){let n=t.parentNode||t.commonAncestorContainer;while(n&&!df(n)){const t=new cf(n);const o=e.getIntersection(t);if(o){if(o.getArea(){for(const e of t){const t=hf._getElementCallbacks(e.target);if(t){for(const n of t){n(e)}}}}))}}hf._observerInstance=null;hf._elementCallbacks=null;class ff{constructor(t){this._callback=t;this._elements=new Set;this._previousRects=new Map;this._periodicCheckTimeout=null}observe(t){this._elements.add(t);this._checkElementRectsAndExecuteCallback();if(this._elements.size===1){this._startPeriodicCheck()}}unobserve(t){this._elements.delete(t);this._previousRects.delete(t);if(!this._elements.size){this._stopPeriodicCheck()}}_startPeriodicCheck(){const t=()=>{this._checkElementRectsAndExecuteCallback();this._periodicCheckTimeout=setTimeout(t,uf)};this.listenTo(su.window,"resize",(()=>{this._checkElementRectsAndExecuteCallback()}));this._periodicCheckTimeout=setTimeout(t,uf)}_stopPeriodicCheck(){clearTimeout(this._periodicCheckTimeout);this.stopListening();this._previousRects.clear()}_checkElementRectsAndExecuteCallback(){const t=[];for(const e of this._elements){if(this._hasRectChanged(e)){t.push({target:e,contentRect:this._previousRects.get(e)})}}if(t.length){this._callback(t)}}_hasRectChanged(t){if(!t.ownerDocument.body.contains(t)){return false}const e=new cf(t);const n=this._previousRects.get(t);const o=!n||!n.isEqual(e);this._previousRects.set(t,e);return o}}Vn(ff,Cu);function mf(t,e){if(t instanceof HTMLTextAreaElement){t.value=e}t.innerHTML=e}function gf(t){return e=>e+t}function pf(t){const e=t.next();if(e.done){return null}return e.value}class bf{constructor(){this.set("isFocused",false);this.set("focusedElement",null);this._elements=new Set;this._nextEventLoopTimeout=null}add(t){if(this._elements.has(t)){throw new u["a"]("focustracker-add-element-already-exist",this)}this.listenTo(t,"focus",(()=>this._focus(t)),{useCapture:true});this.listenTo(t,"blur",(()=>this._blur()),{useCapture:true});this._elements.add(t)}remove(t){if(t===this.focusedElement){this._blur(t)}if(this._elements.has(t)){this.stopListening(t);this._elements.delete(t)}}destroy(){this.stopListening()}_focus(t){clearTimeout(this._nextEventLoopTimeout);this.focusedElement=t;this.isFocused=true}_blur(){clearTimeout(this._nextEventLoopTimeout);this._nextEventLoopTimeout=setTimeout((()=>{this.focusedElement=null;this.isFocused=false}),0)}}Vn(bf,Cu);Vn(bf,Mn);class kf{constructor(){this._listener=Object.create(Cu)}listenTo(t){this._listener.listenTo(t,"keydown",((t,e)=>{this._listener.fire("_keydown:"+nd(e),e)}))}set(t,e,n={}){const o=od(t);const i=n.priority;this._listener.listenTo(this._listener,"_keydown:"+o,((t,n)=>{e(n,(()=>{n.preventDefault();n.stopPropagation();t.stop()}));t.return=true}),{priority:i})}press(t){return!!this._listener.fire("_keydown:"+nd(t),t)}destroy(){this._listener.stopListening()}}class wf extends vu{constructor(t){super(t);this.document.on("keydown",((t,e)=>{if(this.isEnabled&&rd(e.keyCode)){const n=new Dl(this.document,"arrowKey",this.document.selection.getFirstRange());this.document.fire(n,e);if(n.stop.called){t.stop()}}}))}observe(){}}const Cf={};function Af({target:t,viewportOffset:e=0}){const n=Sf(t);let o=n;let i=null;while(o){let r;if(o==n){r=Mf(t)}else{r=Mf(i)}yf(r,(()=>If(t,o)));const s=If(t,o);vf(o,s,e);if(o.parent!=o){i=o.frameElement;o=o.parent;if(!i){return}}else{o=null}}}function _f(t){const e=Mf(t);yf(e,(()=>new cf(t)))}Object.assign(Cf,{scrollViewportToShowTarget:Af,scrollAncestorsToShowTarget:_f});function vf(t,e,n){const o=e.clone().moveBy(0,n);const i=e.clone().moveBy(0,-n);const r=new cf(t).excludeScrollbarsAndBorders();const s=[i,o];if(!s.every((t=>r.contains(t)))){let{scrollX:s,scrollY:a}=t;if(Ef(i,r)){a-=r.top-e.top+n}else if(xf(o,r)){a+=e.bottom-r.bottom+n}if(Df(e,r)){s-=r.left-e.left+n}else if(Tf(e,r)){s+=e.right-r.right+n}t.scrollTo(s,a)}}function yf(t,e){const n=Sf(t);let o,i;while(t!=n.document.body){i=e();o=new cf(t).excludeScrollbarsAndBorders();if(!o.contains(i)){if(Ef(i,o)){t.scrollTop-=o.top-i.top}else if(xf(i,o)){t.scrollTop+=i.bottom-o.bottom}if(Df(i,o)){t.scrollLeft-=o.left-i.left}else if(Tf(i,o)){t.scrollLeft+=i.right-o.right}}t=t.parentNode}}function xf(t,e){return t.bottom>e.bottom}function Ef(t,e){return t.tope.right}function Sf(t){if(rf(t)){return t.startContainer.ownerDocument.defaultView}else{return t.ownerDocument.defaultView}}function Mf(t){if(rf(t)){let e=t.commonAncestorContainer;if(Id(e)){e=e.parentNode}return e}else{return t.parentNode}}function If(t,e){const n=Sf(t);const o=new cf(t);if(n===e){return o}else{let t=n;while(t!=e){const e=t.frameElement;const n=new cf(e).excludeScrollbarsAndBorders();o.moveBy(n.left,n.top);t=t.parent}}return o}class Bf{constructor(t){this.document=new Ll(t);this.domConverter=new fu(this.document);this.domRoots=new Map;this.set("isRenderingInProgress",false);this.set("hasDomSelection",false);this._renderer=new Zd(this.domConverter,this.document.selection);this._renderer.bind("isFocused").to(this.document);this._initialDomRootAttributes=new WeakMap;this._observers=new Map;this._ongoingChange=false;this._postFixersInProgress=false;this._renderingDisabled=false;this._hasChangedSinceTheLastRendering=false;this._writer=new wd(this.document);this.addObserver(vh);this.addObserver(Yh);this.addObserver($h);this.addObserver(Eh);this.addObserver(qh);this.addObserver(Qh);this.addObserver(wf);if(Kl.isAndroid){this.addObserver(Jh)}jd(this);hd(this);this.on("render",(()=>{this._render();this.document.fire("layoutChanged");this._hasChangedSinceTheLastRendering=false}));this.listenTo(this.document.selection,"change",(()=>{this._hasChangedSinceTheLastRendering=true}))}attachDomRoot(t,e="main"){const n=this.document.getRoot(e);n._name=t.tagName.toLowerCase();const o={};for(const{name:e,value:i}of Array.from(t.attributes)){o[e]=i;if(e==="class"){this._writer.addClass(i.split(" "),n)}else{this._writer.setAttribute(e,i,n)}}this._initialDomRootAttributes.set(t,o);const i=()=>{this._writer.setAttribute("contenteditable",!n.isReadOnly,n);if(n.isReadOnly){this._writer.addClass("ck-read-only",n)}else{this._writer.removeClass("ck-read-only",n)}};i();this.domRoots.set(e,t);this.domConverter.bindElements(t,n);this._renderer.markToSync("children",n);this._renderer.markToSync("attributes",n);this._renderer.domDocuments.add(t.ownerDocument);n.on("change:children",((t,e)=>this._renderer.markToSync("children",e)));n.on("change:attributes",((t,e)=>this._renderer.markToSync("attributes",e)));n.on("change:text",((t,e)=>this._renderer.markToSync("text",e)));n.on("change:isReadOnly",(()=>this.change(i)));n.on("change",(()=>{this._hasChangedSinceTheLastRendering=true}));for(const n of this._observers.values()){n.observe(t,e)}}detachDomRoot(t){const e=this.domRoots.get(t);Array.from(e.attributes).forEach((({name:t})=>e.removeAttribute(t)));const n=this._initialDomRootAttributes.get(e);for(const t in n){e.setAttribute(t,n[t])}this.domRoots.delete(t);this.domConverter.unbindDomElement(e)}getDomRoot(t="main"){return this.domRoots.get(t)}addObserver(t){let e=this._observers.get(t);if(e){return e}e=new t(this);this._observers.set(t,e);for(const[t,n]of this.domRoots){e.observe(n,t)}e.enable();return e}getObserver(t){return this._observers.get(t)}disableObservers(){for(const t of this._observers.values()){t.disable()}}enableObservers(){for(const t of this._observers.values()){t.enable()}}scrollToTheSelection(){const t=this.document.selection.getFirstRange();if(t){Af({target:this.domConverter.viewRangeToDom(t),viewportOffset:20})}}focus(){if(!this.document.isFocused){const t=this.document.selection.editableElement;if(t){this.domConverter.focus(t);this.forceRender()}else{}}}change(t){if(this.isRenderingInProgress||this._postFixersInProgress){throw new u["a"]("cannot-change-view-tree",this)}try{if(this._ongoingChange){return t(this._writer)}this._ongoingChange=true;const e=t(this._writer);this._ongoingChange=false;if(!this._renderingDisabled&&this._hasChangedSinceTheLastRendering){this._postFixersInProgress=true;this.document._callPostFixers(this._writer);this._postFixersInProgress=false;this.fire("render")}return e}catch(t){u["a"].rethrowUnexpectedError(t,this)}}forceRender(){this._hasChangedSinceTheLastRendering=true;this.change((()=>{}))}destroy(){for(const t of this._observers.values()){t.destroy()}this.document.destroy();this.stopListening()}createPositionAt(t,e){return Al._createAt(t,e)}createPositionAfter(t){return Al._createAfter(t)}createPositionBefore(t){return Al._createBefore(t)}createRange(t,e){return new _l(t,e)}createRangeOn(t){return _l._createOn(t)}createRangeIn(t){return _l._createIn(t)}createSelection(t,e,n){return new xl(t,e,n)}_disableRendering(t){this._renderingDisabled=t;if(t==false){this.change((()=>{}))}}_render(){this.isRenderingInProgress=true;this.disableObservers();this._renderer.render();this.enableObservers();this.isRenderingInProgress=false}}Vn(Bf,Mn);class Nf{constructor(t){this.parent=null;this._attrs=ja(t)}get index(){let t;if(!this.parent){return null}if((t=this.parent.getChildIndex(this))===null){throw new u["a"]("model-node-not-found-in-parent",this)}return t}get startOffset(){let t;if(!this.parent){return null}if((t=this.parent.getChildStartOffset(this))===null){throw new u["a"]("model-node-not-found-in-parent",this)}return t}get offsetSize(){return 1}get endOffset(){if(!this.parent){return null}return this.startOffset+this.offsetSize}get nextSibling(){const t=this.index;return t!==null&&this.parent.getChild(t+1)||null}get previousSibling(){const t=this.index;return t!==null&&this.parent.getChild(t-1)||null}get root(){let t=this;while(t.parent){t=t.parent}return t}isAttached(){return this.root.is("rootElement")}getPath(){const t=[];let e=this;while(e.parent){t.unshift(e.startOffset);e=e.parent}return t}getAncestors(t={includeSelf:false,parentFirst:false}){const e=[];let n=t.includeSelf?this:this.parent;while(n){e[t.parentFirst?"push":"unshift"](n);n=n.parent}return e}getCommonAncestor(t,e={}){const n=this.getAncestors(e);const o=t.getAncestors(e);let i=0;while(n[i]==o[i]&&n[i]){i++}return i===0?null:n[i-1]}isBefore(t){if(this==t){return false}if(this.root!==t.root){return false}const e=this.getPath();const n=t.getPath();const o=Ba(e,n);switch(o){case"prefix":return true;case"extension":return false;default:return e[o]{t[e[0]]=e[1];return t}),{})}return t}is(t){return t==="node"||t==="model:node"}_clone(){return new Nf(this._attrs)}_remove(){this.parent._removeChildren(this.index)}_setAttribute(t,e){this._attrs.set(t,e)}_setAttributesTo(t){this._attrs=ja(t)}_removeAttribute(t){return this._attrs.delete(t)}_clearAttributes(){this._attrs.clear()}}class zf extends Nf{constructor(t,e){super(e);this._data=t||""}get offsetSize(){return this.data.length}get data(){return this._data}is(t){return t==="$text"||t==="model:$text"||t==="text"||t==="model:text"||t==="node"||t==="model:node"}toJSON(){const t=super.toJSON();t.data=this.data;return t}_clone(){return new zf(this.data,this.getAttributes())}static fromJSON(t){return new zf(t.data,t.attributes)}}class Pf{constructor(t,e,n){this.textNode=t;if(e<0||e>t.offsetSize){throw new u["a"]("model-textproxy-wrong-offsetintext",this)}if(n<0||e+n>t.offsetSize){throw new u["a"]("model-textproxy-wrong-length",this)}this.data=t.data.substring(e,e+n);this.offsetInText=e}get startOffset(){return this.textNode.startOffset!==null?this.textNode.startOffset+this.offsetInText:null}get offsetSize(){return this.data.length}get endOffset(){return this.startOffset!==null?this.startOffset+this.offsetSize:null}get isPartial(){return this.offsetSize!==this.textNode.offsetSize}get parent(){return this.textNode.parent}get root(){return this.textNode.root}is(t){return t==="$textProxy"||t==="model:$textProxy"||t==="textProxy"||t==="model:textProxy"}getPath(){const t=this.textNode.getPath();if(t.length>0){t[t.length-1]+=this.offsetInText}return t}getAncestors(t={includeSelf:false,parentFirst:false}){const e=[];let n=t.includeSelf?this:this.parent;while(n){e[t.parentFirst?"push":"unshift"](n);n=n.parent}return e}hasAttribute(t){return this.textNode.hasAttribute(t)}getAttribute(t){return this.textNode.getAttribute(t)}getAttributes(){return this.textNode.getAttributes()}getAttributeKeys(){return this.textNode.getAttributeKeys()}}class Lf{constructor(t){this._nodes=[];if(t){this._insertNodes(0,t)}}[Symbol.iterator](){return this._nodes[Symbol.iterator]()}get length(){return this._nodes.length}get maxOffset(){return this._nodes.reduce(((t,e)=>t+e.offsetSize),0)}getNode(t){return this._nodes[t]||null}getNodeIndex(t){const e=this._nodes.indexOf(t);return e==-1?null:e}getNodeStartOffset(t){const e=this.getNodeIndex(t);return e===null?null:this._nodes.slice(0,e).reduce(((t,e)=>t+e.offsetSize),0)}indexToOffset(t){if(t==this._nodes.length){return this.maxOffset}const e=this._nodes[t];if(!e){throw new u["a"]("model-nodelist-index-out-of-bounds",this)}return this.getNodeStartOffset(e)}offsetToIndex(t){let e=0;for(const n of this._nodes){if(t>=e&&tt.toJSON()))}}class Of extends Nf{constructor(t,e,n){super(e);this.name=t;this._children=new Lf;if(n){this._insertChild(0,n)}}get childCount(){return this._children.length}get maxOffset(){return this._children.maxOffset}get isEmpty(){return this.childCount===0}is(t,e=null){if(!e){return t==="element"||t==="model:element"||t==="node"||t==="model:node"}return e===this.name&&(t==="element"||t==="model:element")}getChild(t){return this._children.getNode(t)}getChildren(){return this._children[Symbol.iterator]()}getChildIndex(t){return this._children.getNodeIndex(t)}getChildStartOffset(t){return this._children.getNodeStartOffset(t)}offsetToIndex(t){return this._children.offsetToIndex(t)}getNodeByPath(t){let e=this;for(const n of t){e=e.getChild(e.offsetToIndex(n))}return e}findAncestor(t,e={includeSelf:false}){let n=e.includeSelf?this:this.parent;while(n){if(n.name===t){return n}n=n.parent}return null}toJSON(){const t=super.toJSON();t.name=this.name;if(this._children.length>0){t.children=[];for(const e of this._children){t.children.push(e.toJSON())}}return t}_clone(t=false){const e=t?Array.from(this._children).map((t=>t._clone(true))):null;return new Of(this.name,this.getAttributes(),e)}_appendChild(t){this._insertChild(this.childCount,t)}_insertChild(t,e){const n=Rf(e);for(const t of n){if(t.parent!==null){t._remove()}t.parent=this}this._children._insertNodes(t,n)}_removeChildren(t,e=1){const n=this._children._removeNodes(t,e);for(const t of n){t.parent=null}return n}static fromJSON(t){let e=null;if(t.children){e=[];for(const n of t.children){if(n.name){e.push(Of.fromJSON(n))}else{e.push(zf.fromJSON(n))}}}return new Of(t.name,t.attributes,e)}}function Rf(t){if(typeof t=="string"){return[new zf(t)]}if(!ba(t)){t=[t]}return Array.from(t).map((t=>{if(typeof t=="string"){return new zf(t)}if(t instanceof Pf){return new zf(t.data,t.getAttributes())}return t}))}class Ff{constructor(t={}){if(!t.boundaries&&!t.startPosition){throw new u["a"]("model-tree-walker-no-start-position",null)}const e=t.direction||"forward";if(e!="forward"&&e!="backward"){throw new u["a"]("model-tree-walker-unknown-direction",t,{direction:e})}this.direction=e;this.boundaries=t.boundaries||null;if(t.startPosition){this.position=t.startPosition.clone()}else{this.position=Vf._createAt(this.boundaries[this.direction=="backward"?"end":"start"])}this.position.stickiness="toNone";this.singleCharacters=!!t.singleCharacters;this.shallow=!!t.shallow;this.ignoreElementEnd=!!t.ignoreElementEnd;this._boundaryStartParent=this.boundaries?this.boundaries.start.parent:null;this._boundaryEndParent=this.boundaries?this.boundaries.end.parent:null;this._visitedParent=this.position.parent}[Symbol.iterator](){return this}skip(t){let e,n,o,i;do{o=this.position;i=this._visitedParent;({done:e,value:n}=this.next())}while(!e&&t(n));if(!e){this.position=o;this._visitedParent=i}}next(){if(this.direction=="forward"){return this._next()}else{return this._previous()}}_next(){const t=this.position;const e=this.position.clone();const n=this._visitedParent;if(n.parent===null&&e.offset===n.maxOffset){return{done:true}}if(n===this._boundaryEndParent&&e.offset==this.boundaries.end.offset){return{done:true}}const o=e.parent;const i=Hf(e,o);const r=i?i:Uf(e,o,i);if(r instanceof Of){if(!this.shallow){e.path.push(0);this._visitedParent=r}else{e.offset++}this.position=e;return jf("elementStart",r,t,e,1)}else if(r instanceof zf){let o;if(this.singleCharacters){o=1}else{let t=r.endOffset;if(this._boundaryEndParent==n&&this.boundaries.end.offsett){t=this.boundaries.start.offset}o=e.offset-t}const i=e.offset-r.startOffset;const s=new Pf(r,i-o,o);e.offset-=o;this.position=e;return jf("text",s,t,e,o)}else{e.path.pop();this.position=e;this._visitedParent=n.parent;return jf("elementStart",n,t,e,1)}}}function jf(t,e,n,o,i){return{done:false,value:{type:t,item:e,previousPosition:n,nextPosition:o,length:i}}}class Vf{constructor(t,e,n="toNone"){if(!t.is("element")&&!t.is("documentFragment")){throw new u["a"]("model-position-root-invalid",t)}if(!(e instanceof Array)||e.length===0){throw new u["a"]("model-position-path-incorrect-format",t,{path:e})}if(t.is("rootElement")){e=e.slice()}else{e=[...t.getPath(),...e];t=t.root}this.root=t;this.path=e;this.stickiness=n}get offset(){return this.path[this.path.length-1]}set offset(t){this.path[this.path.length-1]=t}get parent(){let t=this.root;for(let e=0;en.path.length){if(e.offset!==i.maxOffset){return false}e.path=e.path.slice(0,-1);i=i.parent;e.offset++}else{if(n.offset!==0){return false}n.path=n.path.slice(0,-1)}}}is(t){return t==="position"||t==="model:position"}hasSameParentAs(t){if(this.root!==t.root){return false}const e=this.getParentPath();const n=t.getParentPath();return Ba(e,n)=="same"}getTransformedByOperation(t){let e;switch(t.type){case"insert":e=this._getTransformedByInsertOperation(t);break;case"move":case"remove":case"reinsert":e=this._getTransformedByMoveOperation(t);break;case"split":e=this._getTransformedBySplitOperation(t);break;case"merge":e=this._getTransformedByMergeOperation(t);break;default:e=Vf._createAt(this);break}return e}_getTransformedByInsertOperation(t){return this._getTransformedByInsertion(t.position,t.howMany)}_getTransformedByMoveOperation(t){return this._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany)}_getTransformedBySplitOperation(t){const e=t.movedRange;const n=e.containsPosition(this)||e.start.isEqual(this)&&this.stickiness=="toNext";if(n){return this._getCombined(t.splitPosition,t.moveTargetPosition)}else{if(t.graveyardPosition){return this._getTransformedByMove(t.graveyardPosition,t.insertionPosition,1)}else{return this._getTransformedByInsertion(t.insertionPosition,1)}}}_getTransformedByMergeOperation(t){const e=t.movedRange;const n=e.containsPosition(this)||e.start.isEqual(this);let o;if(n){o=this._getCombined(t.sourcePosition,t.targetPosition);if(t.sourcePosition.isBefore(t.targetPosition)){o=o._getTransformedByDeletion(t.deletionPosition,1)}}else if(this.isEqual(t.deletionPosition)){o=Vf._createAt(t.deletionPosition)}else{o=this._getTransformedByMove(t.deletionPosition,t.graveyardPosition,1)}return o}_getTransformedByDeletion(t,e){const n=Vf._createAt(this);if(this.root!=t.root){return n}if(Ba(t.getParentPath(),this.getParentPath())=="same"){if(t.offsetthis.offset){return null}else{n.offset-=e}}}else if(Ba(t.getParentPath(),this.getParentPath())=="prefix"){const o=t.path.length-1;if(t.offset<=this.path[o]){if(t.offset+e>this.path[o]){return null}else{n.path[o]-=e}}}return n}_getTransformedByInsertion(t,e){const n=Vf._createAt(this);if(this.root!=t.root){return n}if(Ba(t.getParentPath(),this.getParentPath())=="same"){if(t.offsete+1){const e=o.maxOffset-n.offset;if(e!==0){t.push(new Kf(n,n.getShiftedBy(e)))}n.path=n.path.slice(0,-1);n.offset++;o=o.parent}while(n.path.length<=this.end.path.length){const e=this.end.path[n.path.length-1];const o=e-n.offset;if(o!==0){t.push(new Kf(n,n.getShiftedBy(o)))}n.offset=e;n.path.push(0)}return t}getWalker(t={}){t.boundaries=this;return new Ff(t)}*getItems(t={}){t.boundaries=this;t.ignoreElementEnd=true;const e=new Ff(t);for(const t of e){yield t.item}}*getPositions(t={}){t.boundaries=this;const e=new Ff(t);yield e.position;for(const t of e){yield t.nextPosition}}getTransformedByOperation(t){switch(t.type){case"insert":return this._getTransformedByInsertOperation(t);case"move":case"remove":case"reinsert":return this._getTransformedByMoveOperation(t);case"split":return[this._getTransformedBySplitOperation(t)];case"merge":return[this._getTransformedByMergeOperation(t)]}return[new Kf(this.start,this.end)]}getTransformedByOperations(t){const e=[new Kf(this.start,this.end)];for(const n of t){for(let t=0;t0?new this(n,o):new this(o,n)}static _createIn(t){return new this(Vf._createAt(t,0),Vf._createAt(t,t.maxOffset))}static _createOn(t){return this._createFromPositionAndShift(Vf._createBefore(t),t.offsetSize)}static _createFromRanges(t){if(t.length===0){throw new u["a"]("range-create-from-ranges-empty-array",null)}else if(t.length==1){return t[0].clone()}const e=t[0];t.sort(((t,e)=>t.start.isAfter(e.start)?1:-1));const n=t.indexOf(e);const o=new this(e.start,e.end);if(n>0){for(let e=n-1;true;e++){if(t[e].end.isEqual(o.start)){o.start=Vf._createAt(t[e].start)}else{break}}}for(let e=n+1;e{if(e.viewPosition){return}const n=this._modelToViewMapping.get(e.modelPosition.parent);e.viewPosition=this.findPositionIn(n,e.modelPosition.offset)}),{priority:"low"});this.on("viewToModelPosition",((t,e)=>{if(e.modelPosition){return}const n=this.findMappedViewAncestor(e.viewPosition);const o=this._viewToModelMapping.get(n);const i=this._toModelOffset(e.viewPosition.parent,e.viewPosition.offset,n);e.modelPosition=Vf._createAt(o,i)}),{priority:"low"})}bindElements(t,e){this._modelToViewMapping.set(t,e);this._viewToModelMapping.set(e,t)}unbindViewElement(t){const e=this.toModelElement(t);this._viewToModelMapping.delete(t);if(this._elementToMarkerNames.has(t)){for(const e of this._elementToMarkerNames.get(t)){this._unboundMarkerNames.add(e)}}if(this._modelToViewMapping.get(e)==t){this._modelToViewMapping.delete(e)}}unbindModelElement(t){const e=this.toViewElement(t);this._modelToViewMapping.delete(t);if(this._viewToModelMapping.get(e)==t){this._viewToModelMapping.delete(e)}}bindElementToMarker(t,e){const n=this._markerNameToElements.get(e)||new Set;n.add(t);const o=this._elementToMarkerNames.get(t)||new Set;o.add(e);this._markerNameToElements.set(e,n);this._elementToMarkerNames.set(t,o)}unbindElementFromMarkerName(t,e){const n=this._markerNameToElements.get(e);if(n){n.delete(t);if(n.size==0){this._markerNameToElements.delete(e)}}const o=this._elementToMarkerNames.get(t);if(o){o.delete(e);if(o.size==0){this._elementToMarkerNames.delete(t)}}}flushUnboundMarkerNames(){const t=Array.from(this._unboundMarkerNames);this._unboundMarkerNames.clear();return t}clearBindings(){this._modelToViewMapping=new WeakMap;this._viewToModelMapping=new WeakMap;this._markerNameToElements=new Map;this._elementToMarkerNames=new Map;this._unboundMarkerNames=new Set}toModelElement(t){return this._viewToModelMapping.get(t)}toViewElement(t){return this._modelToViewMapping.get(t)}toModelRange(t){return new Kf(this.toModelPosition(t.start),this.toModelPosition(t.end))}toViewRange(t){return new _l(this.toViewPosition(t.start),this.toViewPosition(t.end))}toModelPosition(t){const e={viewPosition:t,mapper:this};this.fire("viewToModelPosition",e);return e.modelPosition}toViewPosition(t,e={isPhantom:false}){const n={modelPosition:t,mapper:this,isPhantom:e.isPhantom};this.fire("modelToViewPosition",n);return n.viewPosition}markerNameToElements(t){const e=this._markerNameToElements.get(t);if(!e){return null}const n=new Set;for(const t of e){if(t.is("attributeElement")){for(const e of t.getElementsWithSameId()){n.add(e)}}else{n.add(t)}}return n}registerViewToModelLength(t,e){this._viewToModelLengthCallbacks.set(t,e)}findMappedViewAncestor(t){let e=t.parent;while(!this._viewToModelMapping.has(e)){e=e.parent}return e}_toModelOffset(t,e,n){if(n!=t){const o=this._toModelOffset(t.parent,t.index,n);const i=this._toModelOffset(t,e,t);return o+i}if(t.is("$text")){return e}let o=0;for(let n=0;n1?e[0]+":"+e[1]:e[0]}class $f{constructor(t){this.conversionApi=Object.assign({dispatcher:this},t);this._reconversionEventsMapping=new Map}convertChanges(t,e,n){for(const e of t.getMarkersToRemove()){this.convertMarkerRemove(e.name,e.range,n)}const o=this._mapChangesWithAutomaticReconversion(t);for(const t of o){if(t.type==="insert"){this.convertInsert(Kf._createFromPositionAndShift(t.position,t.length),n)}else if(t.type==="remove"){this.convertRemove(t.position,t.length,t.name,n)}else if(t.type==="reconvert"){this.reconvertElement(t.element,n)}else{this.convertAttribute(t.range,t.attributeKey,t.attributeOldValue,t.attributeNewValue,n)}}for(const t of this.conversionApi.mapper.flushUnboundMarkerNames()){const o=e.get(t).getRange();this.convertMarkerRemove(t,o,n);this.convertMarkerAdd(t,o,n)}for(const e of t.getMarkersToAdd()){this.convertMarkerAdd(e.name,e.range,n)}}convertInsert(t,e){this.conversionApi.writer=e;this.conversionApi.consumable=this._createInsertConsumable(t);for(const e of Array.from(t).map(Zf)){this._convertInsertWithAttributes(e)}this._clearConversionApi()}convertRemove(t,e,n,o){this.conversionApi.writer=o;this.fire("remove:"+n,{position:t,length:e},this.conversionApi);this._clearConversionApi()}convertAttribute(t,e,n,o,i){this.conversionApi.writer=i;this.conversionApi.consumable=this._createConsumableForRange(t,`attribute:${e}`);for(const i of t){const t=i.item;const r=Kf._createFromPositionAndShift(i.previousPosition,i.length);const s={item:t,range:r,attributeKey:e,attributeOldValue:n,attributeNewValue:o};this._testAndFire(`attribute:${e}`,s)}this._clearConversionApi()}reconvertElement(t,e){const n=Kf._createOn(t);this.conversionApi.writer=e;this.conversionApi.consumable=this._createInsertConsumable(n);const o=this.conversionApi.mapper;const i=o.toViewElement(t);e.remove(i);this._convertInsertWithAttributes({item:t,range:n});const r=o.toViewElement(t);for(const n of Kf._createIn(t)){const{item:t}=n;const i=Xf(t,o);if(i){if(i.root!==r.root){e.move(e.createRangeOn(i),o.toViewPosition(Vf._createBefore(t)))}}else{this._convertInsertWithAttributes(Zf(n))}}o.unbindViewElement(i);this._clearConversionApi()}convertSelection(t,e,n){const o=Array.from(e.getMarkersAtPosition(t.getFirstPosition()));this.conversionApi.writer=n;this.conversionApi.consumable=this._createSelectionConsumable(t,o);this.fire("selection",{selection:t},this.conversionApi);if(!t.isCollapsed){return}for(const e of o){const n=e.getRange();if(!Qf(t.getFirstPosition(),e,this.conversionApi.mapper)){continue}const o={item:t,markerName:e.name,markerRange:n};if(this.conversionApi.consumable.test(t,"addMarker:"+e.name)){this.fire("addMarker:"+e.name,o,this.conversionApi)}}for(const e of t.getAttributeKeys()){const n={item:t,range:t.getFirstRange(),attributeKey:e,attributeOldValue:null,attributeNewValue:t.getAttribute(e)};if(this.conversionApi.consumable.test(t,"attribute:"+n.attributeKey)){this.fire("attribute:"+n.attributeKey+":$text",n,this.conversionApi)}}this._clearConversionApi()}convertMarkerAdd(t,e,n){if(e.root.rootName=="$graveyard"){return}this.conversionApi.writer=n;const o="addMarker:"+t;const i=new qf;i.add(e,o);this.conversionApi.consumable=i;this.fire(o,{markerName:t,markerRange:e},this.conversionApi);if(!i.test(e,o)){return}this.conversionApi.consumable=this._createConsumableForRange(e,o);for(const n of e.getItems()){if(!this.conversionApi.consumable.test(n,o)){continue}const i={item:n,range:Kf._createOn(n),markerName:t,markerRange:e};this.fire(o,i,this.conversionApi)}this._clearConversionApi()}convertMarkerRemove(t,e,n){if(e.root.rootName=="$graveyard"){return}this.conversionApi.writer=n;this.fire("removeMarker:"+t,{markerName:t,markerRange:e},this.conversionApi);this._clearConversionApi()}_mapReconversionTriggerEvent(t,e){this._reconversionEventsMapping.set(e,t)}_createInsertConsumable(t){const e=new qf;for(const n of t){const t=n.item;e.add(t,"insert");for(const n of t.getAttributeKeys()){e.add(t,"attribute:"+n)}}return e}_createConsumableForRange(t,e){const n=new qf;for(const o of t.getItems()){n.add(o,e)}return n}_createSelectionConsumable(t,e){const n=new qf;n.add(t,"selection");for(const o of e){n.add(t,"addMarker:"+o.name)}for(const e of t.getAttributeKeys()){n.add(t,"attribute:"+e)}return n}_testAndFire(t,e){if(!this.conversionApi.consumable.test(e.item,t)){return}this.fire(Jf(t,e),e,this.conversionApi)}_clearConversionApi(){delete this.conversionApi.writer;delete this.conversionApi.consumable}_convertInsertWithAttributes(t){this._testAndFire("insert",t);for(const e of t.item.getAttributeKeys()){t.attributeKey=e;t.attributeOldValue=null;t.attributeNewValue=t.item.getAttribute(e);this._testAndFire(`attribute:${e}`,t)}}_mapChangesWithAutomaticReconversion(t){const e=new Set;const n=[];for(const o of t.getChanges()){const t=o.position||o.range.start;const i=t.parent;const r=Hf(t,i);if(r){n.push(o);continue}const s=o.type==="attribute"?Uf(t,i,null):i;if(s.is("$text")){n.push(o);continue}let a;if(o.type==="attribute"){a=`attribute:${o.attributeKey}:${s.name}`}else{a=`${o.type}:${o.name}`}if(this._isReconvertTriggerEvent(a,s.name)){if(e.has(s)){continue}e.add(s);n.push({type:"reconvert",element:s})}else{n.push(o)}}return n}_isReconvertTriggerEvent(t,e){return this._reconversionEventsMapping.get(t)===e}}Vn($f,g);function Qf(t,e,n){const o=e.getRange();const i=Array.from(t.getAncestors());i.shift();i.reverse();const r=i.some((t=>{if(o.containsItem(t)){const e=n.toViewElement(t);return!!e.getCustomProperty("addHighlight")}}));return!r}function Jf(t,e){const n=e.item.name||"$text";return`${t}:${n}`}function Zf(t){const e=t.item;const n=Kf._createFromPositionAndShift(t.previousPosition,t.length);return{item:e,range:n}}function Xf(t,e){if(t.is("textProxy")){const n=e.toViewPosition(Vf._createBefore(t));const o=n.parent;return o.is("$text")?o:null}return e.toViewElement(t)}class tm{constructor(t,e,n){this._lastRangeBackward=false;this._ranges=[];this._attrs=new Map;if(t){this.setTo(t,e,n)}}get anchor(){if(this._ranges.length>0){const t=this._ranges[this._ranges.length-1];return this._lastRangeBackward?t.end:t.start}return null}get focus(){if(this._ranges.length>0){const t=this._ranges[this._ranges.length-1];return this._lastRangeBackward?t.start:t.end}return null}get isCollapsed(){const t=this._ranges.length;if(t===1){return this._ranges[0].isCollapsed}else{return false}}get rangeCount(){return this._ranges.length}get isBackward(){return!this.isCollapsed&&this._lastRangeBackward}isEqual(t){if(this.rangeCount!=t.rangeCount){return false}else if(this.rangeCount===0){return true}if(!this.anchor.isEqual(t.anchor)||!this.focus.isEqual(t.focus)){return false}for(const e of this._ranges){let n=false;for(const o of t._ranges){if(e.isEqual(o)){n=true;break}}if(!n){return false}}return true}*getRanges(){for(const t of this._ranges){yield new Kf(t.start,t.end)}}getFirstRange(){let t=null;for(const e of this._ranges){if(!t||e.start.isBefore(t.start)){t=e}}return t?new Kf(t.start,t.end):null}getLastRange(){let t=null;for(const e of this._ranges){if(!t||e.end.isAfter(t.end)){t=e}}return t?new Kf(t.start,t.end):null}getFirstPosition(){const t=this.getFirstRange();return t?t.start.clone():null}getLastPosition(){const t=this.getLastRange();return t?t.end.clone():null}setTo(t,e,n){if(t===null){this._setRanges([])}else if(t instanceof tm){this._setRanges(t.getRanges(),t.isBackward)}else if(t&&typeof t.getRanges=="function"){this._setRanges(t.getRanges(),t.isBackward)}else if(t instanceof Kf){this._setRanges([t],!!e&&!!e.backward)}else if(t instanceof Vf){this._setRanges([new Kf(t)])}else if(t instanceof Nf){const o=!!n&&!!n.backward;let i;if(e=="in"){i=Kf._createIn(t)}else if(e=="on"){i=Kf._createOn(t)}else if(e!==undefined){i=new Kf(Vf._createAt(t,e))}else{throw new u["a"]("model-selection-setto-required-second-parameter",[this,t])}this._setRanges([i],o)}else if(ba(t)){this._setRanges(t,e&&!!e.backward)}else{throw new u["a"]("model-selection-setto-not-selectable",[this,t])}}_setRanges(t,e=false){t=Array.from(t);const n=t.some((e=>{if(!(e instanceof Kf)){throw new u["a"]("model-selection-set-ranges-not-range",[this,t])}return this._ranges.every((t=>!t.isEqual(e)))}));if(t.length===this._ranges.length&&!n){return}this._removeAllRanges();for(const e of t){this._pushRange(e)}this._lastRangeBackward=!!e;this.fire("change:range",{directChange:true})}setFocus(t,e){if(this.anchor===null){throw new u["a"]("model-selection-setfocus-no-ranges",[this,t])}const n=Vf._createAt(t,e);if(n.compareWith(this.focus)=="same"){return}const o=this.anchor;if(this._ranges.length){this._popRange()}if(n.compareWith(o)=="before"){this._pushRange(new Kf(n,o));this._lastRangeBackward=true}else{this._pushRange(new Kf(o,n));this._lastRangeBackward=false}this.fire("change:range",{directChange:true})}getAttribute(t){return this._attrs.get(t)}getAttributes(){return this._attrs.entries()}getAttributeKeys(){return this._attrs.keys()}hasAttribute(t){return this._attrs.has(t)}removeAttribute(t){if(this.hasAttribute(t)){this._attrs.delete(t);this.fire("change:attribute",{attributeKeys:[t],directChange:true})}}setAttribute(t,e){if(this.getAttribute(t)!==e){this._attrs.set(t,e);this.fire("change:attribute",{attributeKeys:[t],directChange:true})}}getSelectedElement(){if(this.rangeCount!==1){return null}return this.getFirstRange().getContainedElement()}is(t){return t==="selection"||t==="model:selection"}*getSelectedBlocks(){const t=new WeakSet;for(const e of this.getRanges()){const n=om(e.start,t);if(n&&im(n,e)){yield n}for(const n of e.getWalker()){const o=n.item;if(n.type=="elementEnd"&&nm(o,t,e)){yield o}}const o=om(e.end,t);if(o&&!e.end.isTouching(Vf._createAt(o,0))&&im(o,e)){yield o}}}containsEntireContent(t=this.anchor.root){const e=Vf._createAt(t,0);const n=Vf._createAt(t,"end");return e.isTouching(this.getFirstPosition())&&n.isTouching(this.getLastPosition())}_pushRange(t){this._checkRange(t);this._ranges.push(new Kf(t.start,t.end))}_checkRange(t){for(let e=0;e0){this._popRange()}}_popRange(){this._ranges.pop()}}Vn(tm,g);function em(t,e){if(e.has(t)){return false}e.add(t);return t.root.document.model.schema.isBlock(t)&&t.parent}function nm(t,e,n){return em(t,e)&&im(t,n)}function om(t,e){const n=t.parent;const o=n.root.document.model.schema;const i=t.parent.getAncestors({parentFirst:true,includeSelf:true});let r=false;const s=i.find((t=>{if(r){return false}r=o.isLimit(t);return!r&&em(t,e)}));i.forEach((t=>e.add(t)));return s}function im(t,e){const n=rm(t);if(!n){return true}const o=e.containsRange(Kf._createOn(n),true);return!o}function rm(t){const e=t.root.document.model.schema;let n=t.parent;while(n){if(e.isBlock(n)){return n}n=n.parent}}class sm extends Kf{constructor(t,e){super(t,e);am.call(this)}detach(){this.stopListening()}is(t){return t==="liveRange"||t==="model:liveRange"||t=="range"||t==="model:range"}toRange(){return new Kf(this.start,this.end)}static fromRange(t){return new sm(t.start,t.end)}}function am(){this.listenTo(this.root.document.model,"applyOperation",((t,e)=>{const n=e[0];if(!n.isDocumentOperation){return}cm.call(this,n)}),{priority:"low"})}function cm(t){const e=this.getTransformedByOperation(t);const n=Kf._createFromRanges(e);const o=!n.isEqual(this);const i=lm(this,t);let r=null;if(o){if(n.root.rootName=="$graveyard"){if(t.type=="remove"){r=t.sourcePosition}else{r=t.deletionPosition}}const e=this.toRange();this.start=n.start;this.end=n.end;this.fire("change:range",e,{deletionPosition:r})}else if(i){this.fire("change:content",this.toRange(),{deletionPosition:r})}}function lm(t,e){switch(e.type){case"insert":return t.containsPosition(e.position);case"move":case"remove":case"reinsert":case"merge":return t.containsPosition(e.sourcePosition)||t.start.isEqual(e.sourcePosition)||t.containsPosition(e.targetPosition);case"split":return t.containsPosition(e.splitPosition)||t.containsPosition(e.insertionPosition)}return false}Vn(sm,g);const dm="selection:";class um{constructor(t){this._selection=new hm(t);this._selection.delegate("change:range").to(this);this._selection.delegate("change:attribute").to(this);this._selection.delegate("change:marker").to(this)}get isCollapsed(){return this._selection.isCollapsed}get anchor(){return this._selection.anchor}get focus(){return this._selection.focus}get rangeCount(){return this._selection.rangeCount}get hasOwnRange(){return this._selection.hasOwnRange}get isBackward(){return this._selection.isBackward}get isGravityOverridden(){return this._selection.isGravityOverridden}get markers(){return this._selection.markers}get _ranges(){return this._selection._ranges}getRanges(){return this._selection.getRanges()}getFirstPosition(){return this._selection.getFirstPosition()}getLastPosition(){return this._selection.getLastPosition()}getFirstRange(){return this._selection.getFirstRange()}getLastRange(){return this._selection.getLastRange()}getSelectedBlocks(){return this._selection.getSelectedBlocks()}getSelectedElement(){return this._selection.getSelectedElement()}containsEntireContent(t){return this._selection.containsEntireContent(t)}destroy(){this._selection.destroy()}getAttributeKeys(){return this._selection.getAttributeKeys()}getAttributes(){return this._selection.getAttributes()}getAttribute(t){return this._selection.getAttribute(t)}hasAttribute(t){return this._selection.hasAttribute(t)}refresh(){this._selection._updateMarkers();this._selection._updateAttributes(false)}observeMarkers(t){this._selection.observeMarkers(t)}is(t){return t==="selection"||t=="model:selection"||t=="documentSelection"||t=="model:documentSelection"}_setFocus(t,e){this._selection.setFocus(t,e)}_setTo(t,e,n){this._selection.setTo(t,e,n)}_setAttribute(t,e){this._selection.setAttribute(t,e)}_removeAttribute(t){this._selection.removeAttribute(t)}_getStoredAttributes(){return this._selection._getStoredAttributes()}_overrideGravity(){return this._selection.overrideGravity()}_restoreGravity(t){this._selection.restoreGravity(t)}static _getStoreAttributeKey(t){return dm+t}static _isStoreAttributeKey(t){return t.startsWith(dm)}}Vn(um,g);class hm extends tm{constructor(t){super();this.markers=new ka({idProperty:"name"});this._model=t.model;this._document=t;this._attributePriority=new Map;this._selectionRestorePosition=null;this._hasChangedRange=false;this._overriddenGravityRegister=new Set;this._observedMarkers=new Set;this.listenTo(this._model,"applyOperation",((t,e)=>{const n=e[0];if(!n.isDocumentOperation||n.type=="marker"||n.type=="rename"||n.type=="noop"){return}if(this._ranges.length==0&&this._selectionRestorePosition){this._fixGraveyardSelection(this._selectionRestorePosition)}this._selectionRestorePosition=null;if(this._hasChangedRange){this._hasChangedRange=false;this.fire("change:range",{directChange:false})}}),{priority:"lowest"});this.on("change:range",(()=>{for(const t of this.getRanges()){if(!this._document._validateSelectionRange(t)){throw new u["a"]("document-selection-wrong-position",this,{range:t})}}}));this.listenTo(this._model.markers,"update",((t,e,n,o)=>{this._updateMarker(e,o)}));this.listenTo(this._document,"change",((t,e)=>{mm(this._model,e)}))}get isCollapsed(){const t=this._ranges.length;return t===0?this._document._getDefaultRange().isCollapsed:super.isCollapsed}get anchor(){return super.anchor||this._document._getDefaultRange().start}get focus(){return super.focus||this._document._getDefaultRange().end}get rangeCount(){return this._ranges.length?this._ranges.length:1}get hasOwnRange(){return this._ranges.length>0}get isGravityOverridden(){return!!this._overriddenGravityRegister.size}destroy(){for(let t=0;t{this._hasChangedRange=true;if(e.root==this._document.graveyard){this._selectionRestorePosition=o.deletionPosition;const t=this._ranges.indexOf(e);this._ranges.splice(t,1);e.detach()}}));return e}_updateMarkers(){if(!this._observedMarkers.size){return}const t=[];let e=false;for(const e of this._model.markers){const n=e.name.split(":",1)[0];if(!this._observedMarkers.has(n)){continue}const o=e.getRange();for(const n of this.getRanges()){if(o.containsRange(n,!n.isCollapsed)){t.push(e)}}}const n=Array.from(this.markers);for(const n of t){if(!this.markers.has(n)){this.markers.add(n);e=true}}for(const n of Array.from(this.markers)){if(!t.includes(n)){this.markers.remove(n);e=true}}if(e){this.fire("change:marker",{oldMarkers:n,directChange:false})}}_updateMarker(t,e){const n=t.name.split(":",1)[0];if(!this._observedMarkers.has(n)){return}let o=false;const i=Array.from(this.markers);const r=this.markers.has(t);if(!e){if(r){this.markers.remove(t);o=true}}else{let n=false;for(const t of this.getRanges()){if(e.containsRange(t,!t.isCollapsed)){n=true;break}}if(n&&!r){this.markers.add(t);o=true}else if(!n&&r){this.markers.remove(t);o=true}}if(o){this.fire("change:marker",{oldMarkers:i,directChange:false})}}_updateAttributes(t){const e=ja(this._getSurroundingAttributes());const n=ja(this.getAttributes());if(t){this._attributePriority=new Map;this._attrs=new Map}else{for(const[t,e]of this._attributePriority){if(e=="low"){this._attrs.delete(t);this._attributePriority.delete(t)}}}this._setAttributesTo(e);const o=[];for(const[t,e]of this.getAttributes()){if(!n.has(t)||n.get(t)!==e){o.push(t)}}for(const[t]of n){if(!this.hasAttribute(t)){o.push(t)}}if(o.length>0){this.fire("change:attribute",{attributeKeys:o,directChange:false})}}_setAttribute(t,e,n=true){const o=n?"normal":"low";if(o=="low"&&this._attributePriority.get(t)=="normal"){return false}const i=super.getAttribute(t);if(i===e){return false}this._attrs.set(t,e);this._attributePriority.set(t,o);return true}_removeAttribute(t,e=true){const n=e?"normal":"low";if(n=="low"&&this._attributePriority.get(t)=="normal"){return false}this._attributePriority.set(t,n);if(!super.hasAttribute(t)){return false}this._attrs.delete(t);return true}_setAttributesTo(t){const e=new Set;for(const[e,n]of this.getAttributes()){if(t.get(e)===n){continue}this._removeAttribute(e,false)}for(const[n,o]of t){const t=this._setAttribute(n,o,false);if(t){e.add(n)}}return e}*_getStoredAttributes(){const t=this.getFirstPosition().parent;if(this.isCollapsed&&t.isEmpty){for(const e of t.getAttributeKeys()){if(e.startsWith(dm)){const n=e.substr(dm.length);yield[n,t.getAttribute(e)]}}}}_getSurroundingAttributes(){const t=this.getFirstPosition();const e=this._model.schema;let n=null;if(!this.isCollapsed){const t=this.getFirstRange();for(const o of t){if(o.item.is("element")&&e.isObject(o.item)){break}if(o.type=="text"){n=o.item.getAttributes();break}}}else{const o=t.textNode?t.textNode:t.nodeBefore;const i=t.textNode?t.textNode:t.nodeAfter;if(!this.isGravityOverridden){n=fm(o)}if(!n){n=fm(i)}if(!this.isGravityOverridden&&!n){let t=o;while(t&&!e.isInline(t)&&!n){t=t.previousSibling;n=fm(t)}}if(!n){let t=i;while(t&&!e.isInline(t)&&!n){t=t.nextSibling;n=fm(t)}}if(!n){n=this._getStoredAttributes()}}return n}_fixGraveyardSelection(t){const e=this._model.schema.getNearestSelectionRange(t);if(e){this._pushRange(e)}}}function fm(t){if(t instanceof Pf||t instanceof zf){return t.getAttributes()}return null}function mm(t,e){const n=t.document.differ;for(const o of n.getChanges()){if(o.type!="insert"){continue}const n=o.position.parent;const i=o.length===n.maxOffset;if(i){t.enqueueChange(e,(t=>{const e=Array.from(n.getAttributeKeys()).filter((t=>t.startsWith(dm)));for(const o of e){t.removeAttribute(o,n)}}))}}}class gm{constructor(t){this._dispatchers=t}add(t){for(const e of this._dispatchers){t(e)}return this}}var pm=1,bm=4;function km(t){return aa(t,pm|bm)}var wm=km;class Cm extends gm{elementToElement(t){return this.add(jm(t))}attributeToElement(t){return this.add(Vm(t))}attributeToAttribute(t){return this.add(Hm(t))}markerToElement(t){return this.add(Um(t))}markerToHighlight(t){return this.add(Km(t))}markerToData(t){return this.add(Wm(t))}}function Am(){return(t,e,n)=>{if(!n.consumable.consume(e.item,"insert")){return}const o=n.writer;const i=n.mapper.toViewPosition(e.range.start);const r=o.createText(e.item.data);o.insert(i,r)}}function _m(){return(t,e,n)=>{const o=n.mapper.toViewPosition(e.position);const i=e.position.getShiftedBy(e.length);const r=n.mapper.toViewPosition(i,{isPhantom:true});const s=n.writer.createRange(o,r);const a=n.writer.remove(s.getTrimmed());for(const t of n.writer.createRangeIn(a).getItems()){n.mapper.unbindViewElement(t)}}}function vm(t,e){const n=t.createAttributeElement("span",e.attributes);if(e.classes){n._addClass(e.classes)}if(e.priority){n._priority=e.priority}n._id=e.id;return n}function ym(){return(t,e,n)=>{const o=e.selection;if(o.isCollapsed){return}if(!n.consumable.consume(o,"selection")){return}const i=[];for(const t of o.getRanges()){const e=n.mapper.toViewRange(t);i.push(e)}n.writer.setSelection(i,{backward:o.isBackward})}}function xm(){return(t,e,n)=>{const o=e.selection;if(!o.isCollapsed){return}if(!n.consumable.consume(o,"selection")){return}const i=n.writer;const r=o.getFirstPosition();const s=n.mapper.toViewPosition(r);const a=i.breakAttributes(s);i.setSelection(a)}}function Em(){return(t,e,n)=>{const o=n.writer;const i=o.document.selection;for(const t of i.getRanges()){if(t.isCollapsed){if(t.end.parent.isAttached()){n.writer.mergeAttributes(t.start)}}}o.setSelection(null)}}function Dm(t){return(e,n,o)=>{const i=t(n.attributeOldValue,o);const r=t(n.attributeNewValue,o);if(!i&&!r){return}if(!o.consumable.consume(n.item,e.name)){return}const s=o.writer;const a=s.document.selection;if(n.item instanceof tm||n.item instanceof um){s.wrap(a.getFirstRange(),r)}else{let t=o.mapper.toViewRange(n.range);if(n.attributeOldValue!==null&&i){t=s.unwrap(t,i)}if(n.attributeNewValue!==null&&r){s.wrap(t,r)}}}}function Tm(t){return(e,n,o)=>{const i=t(n.item,o);if(!i){return}if(!o.consumable.consume(n.item,"insert")){return}const r=o.mapper.toViewPosition(n.range.start);o.mapper.bindElements(n.item,i);o.writer.insert(r,i)}}function Sm(t){return(e,n,o)=>{n.isOpening=true;const i=t(n,o);n.isOpening=false;const r=t(n,o);if(!i||!r){return}const s=n.markerRange;if(s.isCollapsed&&!o.consumable.consume(s,e.name)){return}for(const t of s){if(!o.consumable.consume(t.item,e.name)){return}}const a=o.mapper;const c=o.writer;c.insert(a.toViewPosition(s.start),i);o.mapper.bindElementToMarker(i,n.markerName);if(!s.isCollapsed){c.insert(a.toViewPosition(s.end),r);o.mapper.bindElementToMarker(r,n.markerName)}e.stop()}}function Mm(){return(t,e,n)=>{const o=n.mapper.markerNameToElements(e.markerName);if(!o){return}for(const t of o){n.mapper.unbindElementFromMarkerName(t,e.markerName);n.writer.clear(n.writer.createRangeOn(t),t)}n.writer.clearClonedElementsGroup(e.markerName);t.stop()}}function Im(t){return(e,n,o)=>{const i=t(n.markerName,o);if(!i){return}const r=n.markerRange;if(!o.consumable.consume(r,e.name)){return}Bm(r,false,o,n,i);Bm(r,true,o,n,i);e.stop()}}function Bm(t,e,n,o,i){const r=e?t.start:t.end;const s=n.schema.checkChild(r,"$text");if(s){const t=n.mapper.toViewPosition(r);zm(t,e,n,o,i)}else{let t;let s;if(e&&r.nodeAfter||!e&&!r.nodeBefore){t=r.nodeAfter;s=true}else{t=r.nodeBefore;s=false}const a=n.mapper.toViewElement(t);Nm(a,e,s,n,o,i)}}function Nm(t,e,n,o,i,r){const s=`data-${r.group}-${e?"start":"end"}-${n?"before":"after"}`;const a=t.hasAttribute(s)?t.getAttribute(s).split(","):[];a.unshift(r.name);o.writer.setAttribute(s,a.join(","),t);o.mapper.bindElementToMarker(t,i.markerName)}function zm(t,e,n,o,i){const r=`${i.group}-${e?"start":"end"}`;const s=i.name?{name:i.name}:null;const a=n.writer.createUIElement(r,s);n.writer.insert(t,a);n.mapper.bindElementToMarker(a,o.markerName)}function Pm(t){return(e,n,o)=>{const i=t(n.markerName,o);if(!i){return}const r=o.mapper.markerNameToElements(n.markerName);if(!r){return}for(const t of r){o.mapper.unbindElementFromMarkerName(t,n.markerName);if(t.is("containerElement")){s(`data-${i.group}-start-before`,t);s(`data-${i.group}-start-after`,t);s(`data-${i.group}-end-before`,t);s(`data-${i.group}-end-after`,t)}else{o.writer.clear(o.writer.createRangeOn(t),t)}}o.writer.clearClonedElementsGroup(n.markerName);e.stop();function s(t,e){if(e.hasAttribute(t)){const n=new Set(e.getAttribute(t).split(","));n.delete(i.name);if(n.size==0){o.writer.removeAttribute(t,e)}else{o.writer.setAttribute(t,Array.from(n).join(","),e)}}}}}function Lm(t){return(e,n,o)=>{const i=t(n.attributeOldValue,o);const r=t(n.attributeNewValue,o);if(!i&&!r){return}if(!o.consumable.consume(n.item,e.name)){return}const s=o.mapper.toViewElement(n.item);const a=o.writer;if(!s){throw new u["a"]("conversion-attribute-to-attribute-on-text",[n,o])}if(n.attributeOldValue!==null&&i){if(i.key=="class"){const t=Ca(i.value);for(const e of t){a.removeClass(e,s)}}else if(i.key=="style"){const t=Object.keys(i.value);for(const e of t){a.removeStyle(e,s)}}else{a.removeAttribute(i.key,s)}}if(n.attributeNewValue!==null&&r){if(r.key=="class"){const t=Ca(r.value);for(const e of t){a.addClass(e,s)}}else if(r.key=="style"){const t=Object.keys(r.value);for(const e of t){a.setStyle(e,r.value[e],s)}}else{a.setAttribute(r.key,r.value,s)}}}}function Om(t){return(e,n,o)=>{if(!n.item){return}if(!(n.item instanceof tm||n.item instanceof um)&&!n.item.is("$textProxy")){return}const i=Qm(t,n,o);if(!i){return}if(!o.consumable.consume(n.item,e.name)){return}const r=o.writer;const s=vm(r,i);const a=r.document.selection;if(n.item instanceof tm||n.item instanceof um){r.wrap(a.getFirstRange(),s,a)}else{const t=o.mapper.toViewRange(n.range);const e=r.wrap(t,s);for(const t of e.getItems()){if(t.is("attributeElement")&&t.isSimilar(s)){o.mapper.bindElementToMarker(t,n.markerName);break}}}}}function Rm(t){return(e,n,o)=>{if(!n.item){return}if(!(n.item instanceof Of)){return}const i=Qm(t,n,o);if(!i){return}if(!o.consumable.test(n.item,e.name)){return}const r=o.mapper.toViewElement(n.item);if(r&&r.getCustomProperty("addHighlight")){o.consumable.consume(n.item,e.name);for(const t of Kf._createIn(n.item)){o.consumable.consume(t.item,e.name)}r.getCustomProperty("addHighlight")(r,i,o.writer);o.mapper.bindElementToMarker(r,n.markerName)}}}function Fm(t){return(e,n,o)=>{if(n.markerRange.isCollapsed){return}const i=Qm(t,n,o);if(!i){return}const r=vm(o.writer,i);const s=o.mapper.markerNameToElements(n.markerName);if(!s){return}for(const t of s){o.mapper.unbindElementFromMarkerName(t,n.markerName);if(t.is("attributeElement")){o.writer.unwrap(o.writer.createRangeOn(t),r)}else{t.getCustomProperty("removeHighlight")(t,i.id,o.writer)}}o.writer.clearClonedElementsGroup(n.markerName);e.stop()}}function jm(t){t=wm(t);t.view=Gm(t.view,"container");return e=>{e.on("insert:"+t.model,Tm(t.view),{priority:t.converterPriority||"normal"});if(t.triggerBy){if(t.triggerBy.attributes){for(const n of t.triggerBy.attributes){e._mapReconversionTriggerEvent(t.model,`attribute:${n}:${t.model}`)}}if(t.triggerBy.children){for(const n of t.triggerBy.children){e._mapReconversionTriggerEvent(t.model,`insert:${n}`);e._mapReconversionTriggerEvent(t.model,`remove:${n}`)}}}}}function Vm(t){t=wm(t);const e=t.model.key?t.model.key:t.model;let n="attribute:"+e;if(t.model.name){n+=":"+t.model.name}if(t.model.values){for(const e of t.model.values){t.view[e]=Gm(t.view[e],"attribute")}}else{t.view=Gm(t.view,"attribute")}const o=Ym(t);return e=>{e.on(n,Dm(o),{priority:t.converterPriority||"normal"})}}function Hm(t){t=wm(t);const e=t.model.key?t.model.key:t.model;let n="attribute:"+e;if(t.model.name){n+=":"+t.model.name}if(t.model.values){for(const e of t.model.values){t.view[e]=$m(t.view[e])}}else{t.view=$m(t.view)}const o=Ym(t);return e=>{e.on(n,Lm(o),{priority:t.converterPriority||"normal"})}}function Um(t){t=wm(t);t.view=Gm(t.view,"ui");return e=>{e.on("addMarker:"+t.model,Sm(t.view),{priority:t.converterPriority||"normal"});e.on("removeMarker:"+t.model,Mm(t.view),{priority:t.converterPriority||"normal"})}}function Wm(t){t=wm(t);const e=t.model;if(!t.view){t.view=n=>({group:e,name:n.substr(t.model.length+1)})}return n=>{n.on("addMarker:"+e,Im(t.view),{priority:t.converterPriority||"normal"});n.on("removeMarker:"+e,Pm(t.view),{priority:t.converterPriority||"normal"})}}function Km(t){return e=>{e.on("addMarker:"+t.model,Om(t.view),{priority:t.converterPriority||"normal"});e.on("addMarker:"+t.model,Rm(t.view),{priority:t.converterPriority||"normal"});e.on("removeMarker:"+t.model,Fm(t.view),{priority:t.converterPriority||"normal"})}}function Gm(t,e){if(typeof t=="function"){return t}return(n,o)=>qm(t,o,e)}function qm(t,e,n){if(typeof t=="string"){t={name:t}}let o;const i=e.writer;const r=Object.assign({},t.attributes);if(n=="container"){o=i.createContainerElement(t.name,r)}else if(n=="attribute"){const e={priority:t.priority||Rl.DEFAULT_PRIORITY};o=i.createAttributeElement(t.name,r,e)}else{o=i.createUIElement(t.name,r)}if(t.styles){const e=Object.keys(t.styles);for(const n of e){i.setStyle(n,t.styles[n],o)}}if(t.classes){const e=t.classes;if(typeof e=="string"){i.addClass(e,o)}else{for(const t of e){i.addClass(t,o)}}}return o}function Ym(t){if(t.model.values){return(e,n)=>{const o=t.view[e];if(o){return o(e,n)}return null}}else{return t.view}}function $m(t){if(typeof t=="string"){return e=>({key:t,value:e})}else if(typeof t=="object"){if(t.value){return()=>t}else{return e=>({key:t.key,value:e})}}else{return t}}function Qm(t,e,n){const o=typeof t=="function"?t(e,n):t;if(!o){return null}if(!o.priority){o.priority=10}if(!o.id){o.id=e.markerName}return o}function Jm(t){const{schema:e,document:n}=t.model;for(const o of n.getRootNames()){const i=n.getRoot(o);if(i.isEmpty&&!e.checkChild(i,"$text")){if(e.checkChild(i,"paragraph")){t.insertElement("paragraph",i);return true}}}return false}function Zm(t,e,n){const o=n.createContext(t);if(!n.checkChild(o,"paragraph")){return false}if(!n.checkChild(o.push("paragraph"),e)){return false}return true}function Xm(t,e){const n=e.createElement("paragraph");e.insert(n,t);return e.createPositionAt(n,0)}class tg extends gm{elementToElement(t){return this.add(ig(t))}elementToAttribute(t){return this.add(rg(t))}attributeToAttribute(t){return this.add(sg(t))}elementToMarker(t){Object(u["b"])("upcast-helpers-element-to-marker-deprecated");return this.add(ag(t))}dataToMarker(t){return this.add(cg(t))}}function eg(){return(t,e,n)=>{if(!e.modelRange&&n.consumable.consume(e.viewItem,{name:true})){const{modelRange:t,modelCursor:o}=n.convertChildren(e.viewItem,e.modelCursor);e.modelRange=t;e.modelCursor=o}}}function ng(){return(t,e,{schema:n,consumable:o,writer:i})=>{let r=e.modelCursor;if(!o.test(e.viewItem)){return}if(!n.checkChild(r,"$text")){if(!Zm(r,"$text",n)){return}r=Xm(r,i)}o.consume(e.viewItem);const s=i.createText(e.viewItem.data);i.insert(s,r);e.modelRange=i.createRange(r,r.getShiftedBy(s.offsetSize));e.modelCursor=e.modelRange.end}}function og(t,e){return(n,o)=>{const i=o.newSelection;const r=[];for(const t of i.getRanges()){r.push(e.toModelRange(t))}const s=t.createSelection(r,{backward:i.isBackward});if(!s.isEqual(t.document.selection)){t.change((t=>{t.setSelection(s)}))}}}function ig(t){t=wm(t);const e=ug(t);const n=dg(t.view);const o=n?"element:"+n:"element";return n=>{n.on(o,e,{priority:t.converterPriority||"normal"})}}function rg(t){t=wm(t);mg(t);const e=gg(t,false);const n=dg(t.view);const o=n?"element:"+n:"element";return n=>{n.on(o,e,{priority:t.converterPriority||"low"})}}function sg(t){t=wm(t);let e=null;if(typeof t.view=="string"||t.view.key){e=fg(t)}mg(t,e);const n=gg(t,true);return e=>{e.on("element",n,{priority:t.converterPriority||"low"})}}function ag(t){t=wm(t);kg(t);return ig(t)}function cg(t){t=wm(t);if(!t.model){t.model=e=>e?t.view+":"+e:t.view}const e=ug(wg(t,"start"));const n=ug(wg(t,"end"));return o=>{o.on("element:"+t.view+"-start",e,{priority:t.converterPriority||"normal"});o.on("element:"+t.view+"-end",n,{priority:t.converterPriority||"normal"});const i=l.get("low");const r=l.get("highest");const s=l.get(t.converterPriority)/r;o.on("element",lg(t),{priority:i+s})}}function lg(t){return(e,n,o)=>{const i=`data-${t.view}`;if(!n.modelRange){n=Object.assign(n,o.convertChildren(n.viewItem,n.modelCursor))}if(o.consumable.consume(n.viewItem,{attributes:i+"-end-after"})){r(n.modelRange.end,n.viewItem.getAttribute(i+"-end-after").split(","))}if(o.consumable.consume(n.viewItem,{attributes:i+"-start-after"})){r(n.modelRange.end,n.viewItem.getAttribute(i+"-start-after").split(","))}if(o.consumable.consume(n.viewItem,{attributes:i+"-end-before"})){r(n.modelRange.start,n.viewItem.getAttribute(i+"-end-before").split(","))}if(o.consumable.consume(n.viewItem,{attributes:i+"-start-before"})){r(n.modelRange.start,n.viewItem.getAttribute(i+"-start-before").split(","))}function r(e,i){for(const r of i){const i=t.model(r,o);const s=o.writer.createElement("$marker",{"data-name":i});o.writer.insert(s,e);if(n.modelCursor.isEqual(e)){n.modelCursor=n.modelCursor.getShiftedBy(1)}else{n.modelCursor=n.modelCursor._getTransformedByInsertion(e,1)}n.modelRange=n.modelRange._getTransformedByInsertion(e,1)[0]}}}}function dg(t){if(typeof t=="string"){return t}if(typeof t=="object"&&typeof t.name=="string"){return t.name}return null}function ug(t){const e=new Va(t.view);return(n,o,i)=>{const r=e.match(o.viewItem);if(!r){return}const s=r.match;s.name=true;if(!i.consumable.test(o.viewItem,s)){return}const a=hg(t.model,o.viewItem,i);if(!a){return}if(!i.safeInsert(a,o.modelCursor)){return}i.consumable.consume(o.viewItem,s);i.convertChildren(o.viewItem,a);i.updateConversionResult(a,o)}}function hg(t,e,n){if(t instanceof Function){return t(e,n)}else{return n.writer.createElement(t)}}function fg(t){if(typeof t.view=="string"){t.view={key:t.view}}const e=t.view.key;let n;if(e=="class"||e=="style"){const o=e=="class"?"classes":"styles";n={[o]:t.view.value}}else{const o=typeof t.view.value=="undefined"?/[\s\S]*/:t.view.value;n={attributes:{[e]:o}}}if(t.view.name){n.name=t.view.name}t.view=n;return e}function mg(t,e=null){const n=e===null?true:t=>t.getAttribute(e);const o=typeof t.model!="object"?t.model:t.model.key;const i=typeof t.model!="object"||typeof t.model.value=="undefined"?n:t.model.value;t.model={key:o,value:i}}function gg(t,e){const n=new Va(t.view);return(o,i,r)=>{const s=n.match(i.viewItem);if(!s){return}const a=t.model.key;const c=typeof t.model.value=="function"?t.model.value(i.viewItem,r):t.model.value;if(c===null){return}if(pg(t.view,i.viewItem)){s.match.name=true}else{delete s.match.name}if(!r.consumable.test(i.viewItem,s.match)){return}if(!i.modelRange){i=Object.assign(i,r.convertChildren(i.viewItem,i.modelCursor))}const l=bg(i.modelRange,{key:a,value:c},e,r);if(l){r.consumable.consume(i.viewItem,s.match)}}}function pg(t,e){const n=typeof t=="function"?t(e):t;if(typeof n=="object"&&!dg(n)){return false}return!n.classes&&!n.attributes&&!n.styles}function bg(t,e,n,o){let i=false;for(const r of Array.from(t.getItems({shallow:n}))){if(!o.schema.checkAttribute(r,e.key)){continue}i=true;if(r.hasAttribute(e.key)){continue}o.writer.setAttribute(e.key,e.value,r)}return i}function kg(t){const e=t.model;t.model=(t,n)=>{const o=typeof e=="string"?e:e(t,n);return n.writer.createElement("$marker",{"data-name":o})}}function wg(t,e){const n={};n.view=t.view+"-"+e;n.model=(e,n)=>{const o=e.getAttribute("name");const i=t.model(o,n);return n.writer.createElement("$marker",{"data-name":i})};return n}class Cg{constructor(t,e){this.model=t;this.view=new Bf(e);this.mapper=new Gf;this.downcastDispatcher=new $f({mapper:this.mapper,schema:t.schema});const n=this.model.document;const o=n.selection;const i=this.model.markers;this.listenTo(this.model,"_beforeChanges",(()=>{this.view._disableRendering(true)}),{priority:"highest"});this.listenTo(this.model,"_afterChanges",(()=>{this.view._disableRendering(false)}),{priority:"lowest"});this.listenTo(n,"change",(()=>{this.view.change((t=>{this.downcastDispatcher.convertChanges(n.differ,i,t);this.downcastDispatcher.convertSelection(o,i,t)}))}),{priority:"low"});this.listenTo(this.view.document,"selectionChange",og(this.model,this.mapper));this.downcastDispatcher.on("insert:$text",Am(),{priority:"lowest"});this.downcastDispatcher.on("remove",_m(),{priority:"low"});this.downcastDispatcher.on("selection",Em(),{priority:"low"});this.downcastDispatcher.on("selection",ym(),{priority:"low"});this.downcastDispatcher.on("selection",xm(),{priority:"low"});this.view.document.roots.bindTo(this.model.document.roots).using((t=>{if(t.rootName=="$graveyard"){return null}const e=new wl(this.view.document,t.name);e.rootName=t.rootName;this.mapper.bindElements(t,e);return e}))}destroy(){this.view.destroy();this.stopListening()}}Vn(Cg,Mn);class Ag{constructor(){this._commands=new Map}add(t,e){this._commands.set(t,e)}get(t){return this._commands.get(t)}execute(t,...e){const n=this.get(t);if(!n){throw new u["a"]("commandcollection-command-not-found",this,{commandName:t})}return n.execute(...e)}*names(){yield*this._commands.keys()}*commands(){yield*this._commands.values()}[Symbol.iterator](){return this._commands[Symbol.iterator]()}destroy(){for(const t of this.commands()){t.destroy()}}}class _g{constructor(){this._consumables=new Map}add(t,e){let n;if(t.is("$text")||t.is("documentFragment")){this._consumables.set(t,true);return}if(!this._consumables.has(t)){n=new vg(t);this._consumables.set(t,n)}else{n=this._consumables.get(t)}n.add(e)}test(t,e){const n=this._consumables.get(t);if(n===undefined){return null}if(t.is("$text")||t.is("documentFragment")){return n}return n.test(e)}consume(t,e){if(this.test(t,e)){if(t.is("$text")||t.is("documentFragment")){this._consumables.set(t,false)}else{this._consumables.get(t).consume(e)}return true}return false}revert(t,e){const n=this._consumables.get(t);if(n!==undefined){if(t.is("$text")||t.is("documentFragment")){this._consumables.set(t,true)}else{n.revert(e)}}}static consumablesFromElement(t){const e={element:t,name:true,attributes:[],classes:[],styles:[]};const n=t.getAttributeKeys();for(const t of n){if(t=="style"||t=="class"){continue}e.attributes.push(t)}const o=t.getClassNames();for(const t of o){e.classes.push(t)}const i=t.getStyleNames();for(const t of i){e.styles.push(t)}return e}static createFrom(t,e){if(!e){e=new _g(t)}if(t.is("$text")){e.add(t);return e}if(t.is("element")){e.add(t,_g.consumablesFromElement(t))}if(t.is("documentFragment")){e.add(t)}for(const n of t.getChildren()){e=_g.createFrom(n,e)}return e}}class vg{constructor(t){this.element=t;this._canConsumeName=null;this._consumables={attributes:new Map,styles:new Map,classes:new Map}}add(t){if(t.name){this._canConsumeName=true}for(const e in this._consumables){if(e in t){this._add(e,t[e])}}}test(t){if(t.name&&!this._canConsumeName){return this._canConsumeName}for(const e in this._consumables){if(e in t){const n=this._test(e,t[e]);if(n!==true){return n}}}return true}consume(t){if(t.name){this._canConsumeName=false}for(const e in this._consumables){if(e in t){this._consume(e,t[e])}}}revert(t){if(t.name){this._canConsumeName=true}for(const e in this._consumables){if(e in t){this._revert(e,t[e])}}}_add(t,e){const n=xe(e)?e:[e];const o=this._consumables[t];for(const e of n){if(t==="attributes"&&(e==="class"||e==="style")){throw new u["a"]("viewconsumable-invalid-attribute",this)}o.set(e,true);if(t==="styles"){for(const t of this.element.document.stylesProcessor.getRelatedStyles(e)){o.set(t,true)}}}}_test(t,e){const n=xe(e)?e:[e];const o=this._consumables[t];for(const e of n){if(t==="attributes"&&(e==="class"||e==="style")){const t=e=="class"?"classes":"styles";const n=this._test(t,[...this._consumables[t].keys()]);if(n!==true){return n}}else{const t=o.get(e);if(t===undefined){return null}if(!t){return false}}}return true}_consume(t,e){const n=xe(e)?e:[e];const o=this._consumables[t];for(const e of n){if(t==="attributes"&&(e==="class"||e==="style")){const t=e=="class"?"classes":"styles";this._consume(t,[...this._consumables[t].keys()])}else{o.set(e,false);if(t=="styles"){for(const t of this.element.document.stylesProcessor.getRelatedStyles(e)){o.set(t,false)}}}}}_revert(t,e){const n=xe(e)?e:[e];const o=this._consumables[t];for(const e of n){if(t==="attributes"&&(e==="class"||e==="style")){const t=e=="class"?"classes":"styles";this._revert(t,[...this._consumables[t].keys()])}else{const t=o.get(e);if(t===false){o.set(e,true)}}}}}class yg{constructor(){this._sourceDefinitions={};this._attributeProperties={};this.decorate("checkChild");this.decorate("checkAttribute");this.on("checkAttribute",((t,e)=>{e[0]=new xg(e[0])}),{priority:"highest"});this.on("checkChild",((t,e)=>{e[0]=new xg(e[0]);e[1]=this.getDefinition(e[1])}),{priority:"highest"})}register(t,e){if(this._sourceDefinitions[t]){throw new u["a"]("schema-cannot-register-item-twice",this,{itemName:t})}this._sourceDefinitions[t]=[Object.assign({},e)];this._clearCache()}extend(t,e){if(!this._sourceDefinitions[t]){throw new u["a"]("schema-cannot-extend-missing-item",this,{itemName:t})}this._sourceDefinitions[t].push(Object.assign({},e));this._clearCache()}getDefinitions(){if(!this._compiledDefinitions){this._compile()}return this._compiledDefinitions}getDefinition(t){let e;if(typeof t=="string"){e=t}else if(t.is&&(t.is("$text")||t.is("$textProxy"))){e="$text"}else{e=t.name}return this.getDefinitions()[e]}isRegistered(t){return!!this.getDefinition(t)}isBlock(t){const e=this.getDefinition(t);return!!(e&&e.isBlock)}isLimit(t){const e=this.getDefinition(t);if(!e){return false}return!!(e.isLimit||e.isObject)}isObject(t){const e=this.getDefinition(t);if(!e){return false}return!!(e.isObject||e.isLimit&&e.isSelectable&&e.isContent)}isInline(t){const e=this.getDefinition(t);return!!(e&&e.isInline)}isSelectable(t){const e=this.getDefinition(t);if(!e){return false}return!!(e.isSelectable||e.isObject)}isContent(t){const e=this.getDefinition(t);if(!e){return false}return!!(e.isContent||e.isObject)}checkChild(t,e){if(!e){return false}return this._checkContextMatch(e,t)}checkAttribute(t,e){const n=this.getDefinition(t.last);if(!n){return false}return n.allowAttributes.includes(e)}checkMerge(t,e=null){if(t instanceof Vf){const e=t.nodeBefore;const n=t.nodeAfter;if(!(e instanceof Of)){throw new u["a"]("schema-check-merge-no-element-before",this)}if(!(n instanceof Of)){throw new u["a"]("schema-check-merge-no-element-after",this)}return this.checkMerge(e,n)}for(const n of e.getChildren()){if(!this.checkChild(t,n)){return false}}return true}addChildCheck(t){this.on("checkChild",((e,[n,o])=>{if(!o){return}const i=t(n,o);if(typeof i=="boolean"){e.stop();e.return=i}}),{priority:"high"})}addAttributeCheck(t){this.on("checkAttribute",((e,[n,o])=>{const i=t(n,o);if(typeof i=="boolean"){e.stop();e.return=i}}),{priority:"high"})}setAttributeProperties(t,e){this._attributeProperties[t]=Object.assign(this.getAttributeProperties(t),e)}getAttributeProperties(t){return this._attributeProperties[t]||{}}getLimitElement(t){let e;if(t instanceof Vf){e=t.parent}else{const n=t instanceof Kf?[t]:Array.from(t.getRanges());e=n.reduce(((t,e)=>{const n=e.getCommonAncestor();if(!t){return n}return t.getCommonAncestor(n,{includeSelf:true})}),null)}while(!this.isLimit(e)){if(e.parent){e=e.parent}else{break}}return e}checkAttributeInSelection(t,e){if(t.isCollapsed){const n=t.getFirstPosition();const o=[...n.getAncestors(),new zf("",t.getAttributes())];return this.checkAttribute(o,e)}else{const n=t.getRanges();for(const t of n){for(const n of t){if(this.checkAttribute(n.item,e)){return true}}}}return false}*getValidRanges(t,e){t=jg(t);for(const n of t){yield*this._getValidRangesForRange(n,e)}}getNearestSelectionRange(t,e="both"){if(this.checkChild(t,"$text")){return new Kf(t)}let n,o;const i=t.getAncestors().reverse().find((t=>this.isLimit(t)))||t.root;if(e=="both"||e=="backward"){n=new Ff({boundaries:Kf._createIn(i),startPosition:t,direction:"backward"})}if(e=="both"||e=="forward"){o=new Ff({boundaries:Kf._createIn(i),startPosition:t})}for(const t of Fg(n,o)){const e=t.walker==n?"elementEnd":"elementStart";const o=t.value;if(o.type==e&&this.isObject(o.item)){return Kf._createOn(o.item)}if(this.checkChild(o.nextPosition,"$text")){return new Kf(o.nextPosition)}}return null}findAllowedParent(t,e){let n=t.parent;while(n){if(this.checkChild(n,e)){return n}if(this.isLimit(n)){return null}n=n.parent}return null}removeDisallowedAttributes(t,e){for(const n of t){if(n.is("$text")){Vg(this,n,e)}else{const t=Kf._createIn(n);const o=t.getPositions();for(const t of o){const n=t.nodeBefore||t.parent;Vg(this,n,e)}}}}createContext(t){return new xg(t)}_clearCache(){this._compiledDefinitions=null}_compile(){const t={};const e=this._sourceDefinitions;const n=Object.keys(e);for(const o of n){t[o]=Eg(e[o],o)}for(const e of n){Dg(t,e)}for(const e of n){Tg(t,e)}for(const e of n){Sg(t,e);Mg(t,e)}for(const e of n){Ig(t,e);Bg(t,e)}this._compiledDefinitions=t}_checkContextMatch(t,e,n=e.length-1){const o=e.getItem(n);if(t.allowIn.includes(o.name)){if(n==0){return true}else{const t=this.getDefinition(o);return this._checkContextMatch(t,e,n-1)}}else{return false}}*_getValidRangesForRange(t,e){let n=t.start;let o=t.start;for(const i of t.getItems({shallow:true})){if(i.is("element")){yield*this._getValidRangesForRange(Kf._createIn(i),e)}if(!this.checkAttribute(i,e)){if(!n.isEqual(o)){yield new Kf(n,o)}n=Vf._createAfter(i)}o=Vf._createAfter(i)}if(!n.isEqual(o)){yield new Kf(n,o)}}}Vn(yg,Mn);class xg{constructor(t){if(t instanceof xg){return t}if(typeof t=="string"){t=[t]}else if(!Array.isArray(t)){t=t.getAncestors({includeSelf:true})}this._items=t.map(Rg)}get length(){return this._items.length}get last(){return this._items[this._items.length-1]}[Symbol.iterator](){return this._items[Symbol.iterator]()}push(t){const e=new xg([t]);e._items=[...this._items,...e._items];return e}getItem(t){return this._items[t]}*getNames(){yield*this._items.map((t=>t.name))}endsWith(t){return Array.from(this.getNames()).join(" ").endsWith(t)}startsWith(t){return Array.from(this.getNames()).join(" ").startsWith(t)}}function Eg(t,e){const n={name:e,allowIn:[],allowContentOf:[],allowWhere:[],allowAttributes:[],allowAttributesOf:[],inheritTypesFrom:[]};Ng(t,n);zg(t,n,"allowIn");zg(t,n,"allowContentOf");zg(t,n,"allowWhere");zg(t,n,"allowAttributes");zg(t,n,"allowAttributesOf");zg(t,n,"inheritTypesFrom");Pg(t,n);return n}function Dg(t,e){for(const n of t[e].allowContentOf){if(t[n]){const o=Lg(t,n);o.forEach((t=>{t.allowIn.push(e)}))}}delete t[e].allowContentOf}function Tg(t,e){for(const n of t[e].allowWhere){const o=t[n];if(o){const n=o.allowIn;t[e].allowIn.push(...n)}}delete t[e].allowWhere}function Sg(t,e){for(const n of t[e].allowAttributesOf){const o=t[n];if(o){const n=o.allowAttributes;t[e].allowAttributes.push(...n)}}delete t[e].allowAttributesOf}function Mg(t,e){const n=t[e];for(const e of n.inheritTypesFrom){const o=t[e];if(o){const t=Object.keys(o).filter((t=>t.startsWith("is")));for(const e of t){if(!(e in n)){n[e]=o[e]}}}}delete n.inheritTypesFrom}function Ig(t,e){const n=t[e];const o=n.allowIn.filter((e=>t[e]));n.allowIn=Array.from(new Set(o))}function Bg(t,e){const n=t[e];n.allowAttributes=Array.from(new Set(n.allowAttributes))}function Ng(t,e){for(const n of t){const t=Object.keys(n).filter((t=>t.startsWith("is")));for(const o of t){e[o]=n[o]}}}function zg(t,e,n){for(const o of t){if(typeof o[n]=="string"){e[n].push(o[n])}else if(Array.isArray(o[n])){e[n].push(...o[n])}}}function Pg(t,e){for(const n of t){const t=n.inheritAllFrom;if(t){e.allowContentOf.push(t);e.allowWhere.push(t);e.allowAttributesOf.push(t);e.inheritTypesFrom.push(t)}}}function Lg(t,e){const n=t[e];return Og(t).filter((t=>t.allowIn.includes(n.name)))}function Og(t){return Object.keys(t).map((e=>t[e]))}function Rg(t){if(typeof t=="string"||t.is("documentFragment")){return{name:typeof t=="string"?t:"$documentFragment",*getAttributeKeys(){},getAttribute(){}}}else{return{name:t.is("element")?t.name:"$text",*getAttributeKeys(){yield*t.getAttributeKeys()},getAttribute(e){return t.getAttribute(e)}}}}function*Fg(t,e){let n=false;while(!n){n=true;if(t){const e=t.next();if(!e.done){n=false;yield{walker:t,value:e.value}}}if(e){const t=e.next();if(!t.done){n=false;yield{walker:e,value:t.value}}}}}function*jg(t){for(const e of t){yield*e.getMinimalFlatRanges()}}function Vg(t,e,n){for(const o of e.getAttributeKeys()){if(!t.checkAttribute(e,o)){n.removeAttribute(o,e)}}}class Hg{constructor(t={}){this._splitParts=new Map;this._cursorParents=new Map;this._modelCursor=null;this.conversionApi=Object.assign({},t);this.conversionApi.convertItem=this._convertItem.bind(this);this.conversionApi.convertChildren=this._convertChildren.bind(this);this.conversionApi.safeInsert=this._safeInsert.bind(this);this.conversionApi.updateConversionResult=this._updateConversionResult.bind(this);this.conversionApi.splitToAllowedParent=this._splitToAllowedParent.bind(this);this.conversionApi.getSplitParts=this._getSplitParts.bind(this)}convert(t,e,n=["$root"]){this.fire("viewCleanup",t);this._modelCursor=Wg(n,e);this.conversionApi.writer=e;this.conversionApi.consumable=_g.createFrom(t);this.conversionApi.store={};const{modelRange:o}=this._convertItem(t,this._modelCursor);const i=e.createDocumentFragment();if(o){this._removeEmptyElements();for(const t of Array.from(this._modelCursor.parent.getChildren())){e.append(t,i)}i.markers=Ug(i,e)}this._modelCursor=null;this._splitParts.clear();this._cursorParents.clear();this.conversionApi.writer=null;this.conversionApi.store=null;return i}_convertItem(t,e){const n=Object.assign({viewItem:t,modelCursor:e,modelRange:null});if(t.is("element")){this.fire("element:"+t.name,n,this.conversionApi)}else if(t.is("$text")){this.fire("text",n,this.conversionApi)}else{this.fire("documentFragment",n,this.conversionApi)}if(n.modelRange&&!(n.modelRange instanceof Kf)){throw new u["a"]("view-conversion-dispatcher-incorrect-result",this)}return{modelRange:n.modelRange,modelCursor:n.modelCursor}}_convertChildren(t,e){let n=e.is("position")?e:Vf._createAt(e,0);const o=new Kf(n);for(const e of Array.from(t.getChildren())){const t=this._convertItem(e,n);if(t.modelRange instanceof Kf){o.end=t.modelRange.end;n=t.modelCursor}}return{modelRange:o,modelCursor:n}}_safeInsert(t,e){const n=this._splitToAllowedParent(t,e);if(!n){return false}this.conversionApi.writer.insert(t,n.position);return true}_updateConversionResult(t,e){const n=this._getSplitParts(t);const o=this.conversionApi.writer;if(!e.modelRange){e.modelRange=o.createRange(o.createPositionBefore(t),o.createPositionAfter(n[n.length-1]))}const i=this._cursorParents.get(t);if(i){e.modelCursor=o.createPositionAt(i,0)}else{e.modelCursor=e.modelRange.end}}_splitToAllowedParent(t,e){const{schema:n,writer:o}=this.conversionApi;let i=n.findAllowedParent(e,t);if(i){if(i===e.parent){return{position:e}}if(this._modelCursor.parent.getAncestors().includes(i)){i=null}}if(!i){if(!Zm(e,t,n)){return null}return{position:Xm(e,o)}}const r=this.conversionApi.writer.split(e,i);const s=[];for(const t of r.range.getWalker()){if(t.type=="elementEnd"){s.push(t.item)}else{const e=s.pop();const n=t.item;this._registerSplitPair(e,n)}}const a=r.range.end.parent;this._cursorParents.set(t,a);return{position:r.position,cursorParent:a}}_registerSplitPair(t,e){if(!this._splitParts.has(t)){this._splitParts.set(t,[t])}const n=this._splitParts.get(t);this._splitParts.set(e,n);n.push(e)}_getSplitParts(t){let e;if(!this._splitParts.has(t)){e=[t]}else{e=this._splitParts.get(t)}return e}_removeEmptyElements(){let t=false;for(const e of this._splitParts.keys()){if(e.isEmpty){this.conversionApi.writer.remove(e);this._splitParts.delete(e);t=true}}if(t){this._removeEmptyElements()}}}Vn(Hg,g);function Ug(t,e){const n=new Set;const o=new Map;const i=Kf._createIn(t).getItems();for(const t of i){if(t.name=="$marker"){n.add(t)}}for(const t of n){const n=t.getAttribute("data-name");const i=e.createPositionBefore(t);if(!o.has(n)){o.set(n,new Kf(i.clone()))}else{o.get(n).end=i.clone()}e.remove(t)}return o}function Wg(t,e){let n;for(const o of new xg(t)){const t={};for(const e of o.getAttributeKeys()){t[e]=o.getAttribute(e)}const i=e.createElement(o.name,t);if(n){e.append(i,n)}n=Vf._createAt(i,0)}return n}class Kg{getHtml(t){const e=document.implementation.createHTMLDocument("");const n=e.createElement("div");n.appendChild(t);return n.innerHTML}}class Gg{constructor(t){this._domParser=new DOMParser;this._domConverter=new fu(t,{blockFillerMode:"nbsp"});this._htmlWriter=new Kg}toData(t){const e=this._domConverter.viewToDom(t,document);return this._htmlWriter.getHtml(e)}toView(t){const e=this._toDom(t);return this._domConverter.domToView(e)}registerRawContentMatcher(t){this._domConverter.registerRawContentMatcher(t)}useFillerType(t){this._domConverter.blockFillerMode=t=="marked"?"markedNbsp":"nbsp"}_toDom(t){const e=this._domParser.parseFromString(t,"text/html");const n=e.createDocumentFragment();const o=e.body.childNodes;while(o.length>0){n.appendChild(o[0])}return n}}class qg{constructor(t,e){this.model=t;this.mapper=new Gf;this.downcastDispatcher=new $f({mapper:this.mapper,schema:t.schema});this.downcastDispatcher.on("insert:$text",Am(),{priority:"lowest"});this.upcastDispatcher=new Hg({schema:t.schema});this.viewDocument=new Ll(e);this.stylesProcessor=e;this.htmlProcessor=new Gg(this.viewDocument);this.processor=this.htmlProcessor;this._viewWriter=new wd(this.viewDocument);this.upcastDispatcher.on("text",ng(),{priority:"lowest"});this.upcastDispatcher.on("element",eg(),{priority:"lowest"});this.upcastDispatcher.on("documentFragment",eg(),{priority:"lowest"});this.decorate("init");this.decorate("set");this.on("init",(()=>{this.fire("ready")}),{priority:"lowest"});this.on("ready",(()=>{this.model.enqueueChange("transparent",Jm)}),{priority:"lowest"})}get(t={}){const{rootName:e="main",trim:n="empty"}=t;if(!this._checkIfRootsExists([e])){throw new u["a"]("datacontroller-get-non-existent-root",this)}const o=this.model.document.getRoot(e);if(n==="empty"&&!this.model.hasContent(o,{ignoreWhitespaces:true})){return""}return this.stringify(o,t)}stringify(t,e={}){const n=this.toView(t,e);return this.processor.toData(n)}toView(t,e={}){const n=this.viewDocument;const o=this._viewWriter;this.mapper.clearBindings();const i=Kf._createIn(t);const r=new bd(n);this.mapper.bindElements(t,r);this.downcastDispatcher.conversionApi.options=e;this.downcastDispatcher.convertInsert(i,o);const s=t.is("documentFragment")?Array.from(t.markers):Yg(t);for(const[t,e]of s){this.downcastDispatcher.convertMarkerAdd(t,e,o)}delete this.downcastDispatcher.conversionApi.options;return r}init(t){if(this.model.document.version){throw new u["a"]("datacontroller-init-document-not-empty",this)}let e={};if(typeof t==="string"){e.main=t}else{e=t}if(!this._checkIfRootsExists(Object.keys(e))){throw new u["a"]("datacontroller-init-non-existent-root",this)}this.model.enqueueChange("transparent",(t=>{for(const n of Object.keys(e)){const o=this.model.document.getRoot(n);t.insert(this.parse(e[n],o),o,0)}}));return Promise.resolve()}set(t){let e={};if(typeof t==="string"){e.main=t}else{e=t}if(!this._checkIfRootsExists(Object.keys(e))){throw new u["a"]("datacontroller-set-non-existent-root",this)}this.model.enqueueChange("transparent",(t=>{t.setSelection(null);t.removeSelectionAttribute(this.model.document.selection.getAttributeKeys());for(const n of Object.keys(e)){const o=this.model.document.getRoot(n);t.remove(t.createRangeIn(o));t.insert(this.parse(e[n],o),o,0)}}))}parse(t,e="$root"){const n=this.processor.toView(t);return this.toModel(n,e)}toModel(t,e="$root"){return this.model.change((n=>this.upcastDispatcher.convert(t,n,e)))}addStyleProcessorRules(t){t(this.stylesProcessor)}registerRawContentMatcher(t){if(this.processor&&this.processor!==this.htmlProcessor){this.processor.registerRawContentMatcher(t)}this.htmlProcessor.registerRawContentMatcher(t)}destroy(){this.stopListening()}_checkIfRootsExists(t){for(const e of t){if(!this.model.document.getRootNames().includes(e)){return false}}return true}}Vn(qg,Mn);function Yg(t){const e=[];const n=t.root.document;if(!n){return[]}const o=Kf._createIn(t);for(const t of n.model.markers){const n=o.getIntersection(t.getRange());if(n){e.push([t.name,n])}}return e}class $g{constructor(t,e){this._helpers=new Map;this._downcast=Ca(t);this._createConversionHelpers({name:"downcast",dispatchers:this._downcast,isDowncast:true});this._upcast=Ca(e);this._createConversionHelpers({name:"upcast",dispatchers:this._upcast,isDowncast:false})}addAlias(t,e){const n=this._downcast.includes(e);const o=this._upcast.includes(e);if(!o&&!n){throw new u["a"]("conversion-add-alias-dispatcher-not-registered",this)}this._createConversionHelpers({name:t,dispatchers:[e],isDowncast:n})}for(t){if(!this._helpers.has(t)){throw new u["a"]("conversion-for-unknown-group",this)}return this._helpers.get(t)}elementToElement(t){this.for("downcast").elementToElement(t);for(const{model:e,view:n}of Qg(t)){this.for("upcast").elementToElement({model:e,view:n,converterPriority:t.converterPriority})}}attributeToElement(t){this.for("downcast").attributeToElement(t);for(const{model:e,view:n}of Qg(t)){this.for("upcast").elementToAttribute({view:n,model:e,converterPriority:t.converterPriority})}}attributeToAttribute(t){this.for("downcast").attributeToAttribute(t);for(const{model:e,view:n}of Qg(t)){this.for("upcast").attributeToAttribute({view:n,model:e})}}_createConversionHelpers({name:t,dispatchers:e,isDowncast:n}){if(this._helpers.has(t)){throw new u["a"]("conversion-group-exists",this)}const o=n?new Cm(e):new tg(e);this._helpers.set(t,o)}}function*Qg(t){if(t.model.values){for(const e of t.model.values){const n={key:t.model.key,value:e};const o=t.view[e];const i=t.upcastAlso?t.upcastAlso[e]:undefined;yield*Jg(n,o,i)}}else{yield*Jg(t.model,t.view,t.upcastAlso)}}function*Jg(t,e,n){yield{model:t,view:e};if(n){for(const e of Ca(n)){yield{model:t,view:e}}}}class Zg{constructor(t="default"){this.operations=[];this.type=t}get baseVersion(){for(const t of this.operations){if(t.baseVersion!==null){return t.baseVersion}}return null}addOperation(t){t.batch=this;this.operations.push(t);return t}}class Xg{constructor(t){this.baseVersion=t;this.isDocumentOperation=this.baseVersion!==null;this.batch=null}_validate(){}toJSON(){const t=Object.assign({},this);t.__className=this.constructor.className;delete t.batch;delete t.isDocumentOperation;return t}static get className(){return"Operation"}static fromJSON(t){return new this(t.baseVersion)}}class tp{constructor(t){this.markers=new Map;this._children=new Lf;if(t){this._insertChild(0,t)}}[Symbol.iterator](){return this.getChildren()}get childCount(){return this._children.length}get maxOffset(){return this._children.maxOffset}get isEmpty(){return this.childCount===0}get root(){return this}get parent(){return null}is(t){return t==="documentFragment"||t==="model:documentFragment"}getChild(t){return this._children.getNode(t)}getChildren(){return this._children[Symbol.iterator]()}getChildIndex(t){return this._children.getNodeIndex(t)}getChildStartOffset(t){return this._children.getNodeStartOffset(t)}getPath(){return[]}getNodeByPath(t){let e=this;for(const n of t){e=e.getChild(e.offsetToIndex(n))}return e}offsetToIndex(t){return this._children.offsetToIndex(t)}toJSON(){const t=[];for(const e of this._children){t.push(e.toJSON())}return t}static fromJSON(t){const e=[];for(const n of t){if(n.name){e.push(Of.fromJSON(n))}else{e.push(zf.fromJSON(n))}}return new tp(e)}_appendChild(t){this._insertChild(this.childCount,t)}_insertChild(t,e){const n=ep(e);for(const t of n){if(t.parent!==null){t._remove()}t.parent=this}this._children._insertNodes(t,n)}_removeChildren(t,e=1){const n=this._children._removeNodes(t,e);for(const t of n){t.parent=null}return n}}function ep(t){if(typeof t=="string"){return[new zf(t)]}if(!ba(t)){t=[t]}return Array.from(t).map((t=>{if(typeof t=="string"){return new zf(t)}if(t instanceof Pf){return new zf(t.data,t.getAttributes())}return t}))}function np(t,e){e=sp(e);const n=e.reduce(((t,e)=>t+e.offsetSize),0);const o=t.parent;cp(t);const i=t.index;o._insertChild(i,e);ap(o,i+e.length);ap(o,i);return new Kf(t,t.getShiftedBy(n))}function op(t){if(!t.isFlat){throw new u["a"]("operation-utils-remove-range-not-flat",this)}const e=t.start.parent;cp(t.start);cp(t.end);const n=e._removeChildren(t.start.index,t.end.index-t.start.index);ap(e,t.start.index);return n}function ip(t,e){if(!t.isFlat){throw new u["a"]("operation-utils-move-range-not-flat",this)}const n=op(t);e=e._getTransformedByDeletion(t.start,t.end.offset-t.start.offset);return np(e,n)}function rp(t,e,n){cp(t.start);cp(t.end);for(const o of t.getItems({shallow:true})){const t=o.is("$textProxy")?o.textNode:o;if(n!==null){t._setAttribute(e,n)}else{t._removeAttribute(e)}ap(t.parent,t.index)}ap(t.end.parent,t.end.index)}function sp(t){const e=[];if(!(t instanceof Array)){t=[t]}for(let n=0;nt.maxOffset){throw new u["a"]("move-operation-nodes-do-not-exist",this)}else if(t===e&&n=n&&this.targetPosition.path[t]t._clone(true))));const e=new gp(this.position,t,this.baseVersion);e.shouldReceiveAttributes=this.shouldReceiveAttributes;return e}getReversed(){const t=this.position.root.document.graveyard;const e=new Vf(t,[0]);return new mp(this.position,this.nodes.maxOffset,e,this.baseVersion+1)}_validate(){const t=this.position.parent;if(!t||t.maxOffsett._clone(true))));np(this.position,t)}toJSON(){const t=super.toJSON();t.position=this.position.toJSON();t.nodes=this.nodes.toJSON();return t}static get className(){return"InsertOperation"}static fromJSON(t,e){const n=[];for(const e of t.nodes){if(e.name){n.push(Of.fromJSON(e))}else{n.push(zf.fromJSON(e))}}const o=new gp(Vf.fromJSON(t.position,e),n,t.baseVersion);o.shouldReceiveAttributes=t.shouldReceiveAttributes;return o}}class pp extends Xg{constructor(t,e,n,o,i,r){super(r);this.name=t;this.oldRange=e?e.clone():null;this.newRange=n?n.clone():null;this.affectsData=i;this._markers=o}get type(){return"marker"}clone(){return new pp(this.name,this.oldRange,this.newRange,this._markers,this.affectsData,this.baseVersion)}getReversed(){return new pp(this.name,this.newRange,this.oldRange,this._markers,this.affectsData,this.baseVersion+1)}_execute(){const t=this.newRange?"_set":"_remove";this._markers[t](this.name,this.newRange,true,this.affectsData)}toJSON(){const t=super.toJSON();if(this.oldRange){t.oldRange=this.oldRange.toJSON()}if(this.newRange){t.newRange=this.newRange.toJSON()}delete t._markers;return t}static get className(){return"MarkerOperation"}static fromJSON(t,e){return new pp(t.name,t.oldRange?Kf.fromJSON(t.oldRange,e):null,t.newRange?Kf.fromJSON(t.newRange,e):null,e.model.markers,t.affectsData,t.baseVersion)}}class bp extends Xg{constructor(t,e,n,o){super(o);this.position=t;this.position.stickiness="toNext";this.oldName=e;this.newName=n}get type(){return"rename"}clone(){return new bp(this.position.clone(),this.oldName,this.newName,this.baseVersion)}getReversed(){return new bp(this.position.clone(),this.newName,this.oldName,this.baseVersion+1)}_validate(){const t=this.position.nodeAfter;if(!(t instanceof Of)){throw new u["a"]("rename-operation-wrong-position",this)}else if(t.name!==this.oldName){throw new u["a"]("rename-operation-wrong-name",this)}}_execute(){const t=this.position.nodeAfter;t.name=this.newName}toJSON(){const t=super.toJSON();t.position=this.position.toJSON();return t}static get className(){return"RenameOperation"}static fromJSON(t,e){return new bp(Vf.fromJSON(t.position,e),t.oldName,t.newName,t.baseVersion)}}class kp extends Xg{constructor(t,e,n,o,i){super(i);this.root=t;this.key=e;this.oldValue=n;this.newValue=o}get type(){if(this.oldValue===null){return"addRootAttribute"}else if(this.newValue===null){return"removeRootAttribute"}else{return"changeRootAttribute"}}clone(){return new kp(this.root,this.key,this.oldValue,this.newValue,this.baseVersion)}getReversed(){return new kp(this.root,this.key,this.newValue,this.oldValue,this.baseVersion+1)}_validate(){if(this.root!=this.root.root||this.root.is("documentFragment")){throw new u["a"]("rootattribute-operation-not-a-root",this,{root:this.root,key:this.key})}if(this.oldValue!==null&&this.root.getAttribute(this.key)!==this.oldValue){throw new u["a"]("rootattribute-operation-wrong-old-value",this,{root:this.root,key:this.key})}if(this.oldValue===null&&this.newValue!==null&&this.root.hasAttribute(this.key)){throw new u["a"]("rootattribute-operation-attribute-exists",this,{root:this.root,key:this.key})}}_execute(){if(this.newValue!==null){this.root._setAttribute(this.key,this.newValue)}else{this.root._removeAttribute(this.key)}}toJSON(){const t=super.toJSON();t.root=this.root.toJSON();return t}static get className(){return"RootAttributeOperation"}static fromJSON(t,e){if(!e.getRoot(t.root)){throw new u["a"]("rootattribute-operation-fromjson-no-root",this,{rootName:t.root})}return new kp(e.getRoot(t.root),t.key,t.oldValue,t.newValue,t.baseVersion)}}class wp extends Xg{constructor(t,e,n,o,i){super(i);this.sourcePosition=t.clone();this.sourcePosition.stickiness="toPrevious";this.howMany=e;this.targetPosition=n.clone();this.targetPosition.stickiness="toNext";this.graveyardPosition=o.clone()}get type(){return"merge"}get deletionPosition(){return new Vf(this.sourcePosition.root,this.sourcePosition.path.slice(0,-1))}get movedRange(){const t=this.sourcePosition.getShiftedBy(Number.POSITIVE_INFINITY);return new Kf(this.sourcePosition,t)}clone(){return new this.constructor(this.sourcePosition,this.howMany,this.targetPosition,this.graveyardPosition,this.baseVersion)}getReversed(){const t=this.targetPosition._getTransformedByMergeOperation(this);const e=this.sourcePosition.path.slice(0,-1);const n=new Vf(this.sourcePosition.root,e)._getTransformedByMergeOperation(this);return new Cp(t,this.howMany,n,this.graveyardPosition,this.baseVersion+1)}_validate(){const t=this.sourcePosition.parent;const e=this.targetPosition.parent;if(!t.parent){throw new u["a"]("merge-operation-source-position-invalid",this)}else if(!e.parent){throw new u["a"]("merge-operation-target-position-invalid",this)}else if(this.howMany!=t.maxOffset){throw new u["a"]("merge-operation-how-many-invalid",this)}}_execute(){const t=this.sourcePosition.parent;const e=Kf._createIn(t);ip(e,this.targetPosition);ip(Kf._createOn(t),this.graveyardPosition)}toJSON(){const t=super.toJSON();t.sourcePosition=t.sourcePosition.toJSON();t.targetPosition=t.targetPosition.toJSON();t.graveyardPosition=t.graveyardPosition.toJSON();return t}static get className(){return"MergeOperation"}static fromJSON(t,e){const n=Vf.fromJSON(t.sourcePosition,e);const o=Vf.fromJSON(t.targetPosition,e);const i=Vf.fromJSON(t.graveyardPosition,e);return new this(n,t.howMany,o,i,t.baseVersion)}}class Cp extends Xg{constructor(t,e,n,o,i){super(i);this.splitPosition=t.clone();this.splitPosition.stickiness="toNext";this.howMany=e;this.insertionPosition=n;this.graveyardPosition=o?o.clone():null;if(this.graveyardPosition){this.graveyardPosition.stickiness="toNext"}}get type(){return"split"}get moveTargetPosition(){const t=this.insertionPosition.path.slice();t.push(0);return new Vf(this.insertionPosition.root,t)}get movedRange(){const t=this.splitPosition.getShiftedBy(Number.POSITIVE_INFINITY);return new Kf(this.splitPosition,t)}clone(){return new this.constructor(this.splitPosition,this.howMany,this.insertionPosition,this.graveyardPosition,this.baseVersion)}getReversed(){const t=this.splitPosition.root.document.graveyard;const e=new Vf(t,[0]);return new wp(this.moveTargetPosition,this.howMany,this.splitPosition,e,this.baseVersion+1)}_validate(){const t=this.splitPosition.parent;const e=this.splitPosition.offset;if(!t||t.maxOffset{for(const e of t.getAttributeKeys()){this.removeAttribute(e,t)}};if(!(t instanceof Kf)){e(t)}else{for(const n of t.getItems()){e(n)}}}move(t,e,n){this._assertWriterUsedCorrectly();if(!(t instanceof Kf)){throw new u["a"]("writer-move-invalid-range",this)}if(!t.isFlat){throw new u["a"]("writer-move-range-not-flat",this)}const o=Vf._createAt(e,n);if(o.isEqual(t.start)){return}this._addOperationForAffectedMarkers("move",t);if(!Dp(t.root,o.root)){throw new u["a"]("writer-move-different-document",this)}const i=t.root.document?t.root.document.version:null;const r=new mp(t.start,t.end.offset-t.start.offset,o,i);this.batch.addOperation(r);this.model.applyOperation(r)}remove(t){this._assertWriterUsedCorrectly();const e=t instanceof Kf?t:Kf._createOn(t);const n=e.getMinimalFlatRanges().reverse();for(const t of n){this._addOperationForAffectedMarkers("move",t);Ep(t.start,t.end.offset-t.start.offset,this.batch,this.model)}}merge(t){this._assertWriterUsedCorrectly();const e=t.nodeBefore;const n=t.nodeAfter;this._addOperationForAffectedMarkers("merge",t);if(!(e instanceof Of)){throw new u["a"]("writer-merge-no-element-before",this)}if(!(n instanceof Of)){throw new u["a"]("writer-merge-no-element-after",this)}if(!t.root.document){this._mergeDetached(t)}else{this._merge(t)}}createPositionFromPath(t,e,n){return this.model.createPositionFromPath(t,e,n)}createPositionAt(t,e){return this.model.createPositionAt(t,e)}createPositionAfter(t){return this.model.createPositionAfter(t)}createPositionBefore(t){return this.model.createPositionBefore(t)}createRange(t,e){return this.model.createRange(t,e)}createRangeIn(t){return this.model.createRangeIn(t)}createRangeOn(t){return this.model.createRangeOn(t)}createSelection(t,e,n){return this.model.createSelection(t,e,n)}_mergeDetached(t){const e=t.nodeBefore;const n=t.nodeAfter;this.move(Kf._createIn(n),Vf._createAt(e,"end"));this.remove(n)}_merge(t){const e=Vf._createAt(t.nodeBefore,"end");const n=Vf._createAt(t.nodeAfter,0);const o=t.root.document.graveyard;const i=new Vf(o,[0]);const r=t.root.document.version;const s=new wp(n,t.nodeAfter.maxOffset,e,i,r);this.batch.addOperation(s);this.model.applyOperation(s)}rename(t,e){this._assertWriterUsedCorrectly();if(!(t instanceof Of)){throw new u["a"]("writer-rename-not-element-instance",this)}const n=t.root.document?t.root.document.version:null;const o=new bp(Vf._createBefore(t),t.name,e,n);this.batch.addOperation(o);this.model.applyOperation(o)}split(t,e){this._assertWriterUsedCorrectly();let n=t.parent;if(!n.parent){throw new u["a"]("writer-split-element-no-parent",this)}if(!e){e=n.parent}if(!t.parent.getAncestors({includeSelf:true}).includes(e)){throw new u["a"]("writer-split-invalid-limit-element",this)}let o,i;do{const e=n.root.document?n.root.document.version:null;const r=n.maxOffset-t.offset;const s=Cp.getInsertionPosition(t);const a=new Cp(t,r,s,null,e);this.batch.addOperation(a);this.model.applyOperation(a);if(!o&&!i){o=n;i=t.parent.nextSibling}t=this.createPositionAfter(t.parent);n=t.parent}while(n!==e);return{position:t,range:new Kf(Vf._createAt(o,"end"),Vf._createAt(i,0))}}wrap(t,e){this._assertWriterUsedCorrectly();if(!t.isFlat){throw new u["a"]("writer-wrap-range-not-flat",this)}const n=e instanceof Of?e:new Of(e);if(n.childCount>0){throw new u["a"]("writer-wrap-element-not-empty",this)}if(n.parent!==null){throw new u["a"]("writer-wrap-element-attached",this)}this.insert(n,t.start);const o=new Kf(t.start.getShiftedBy(1),t.end.getShiftedBy(1));this.move(o,Vf._createAt(n,0))}unwrap(t){this._assertWriterUsedCorrectly();if(t.parent===null){throw new u["a"]("writer-unwrap-element-no-parent",this)}this.move(Kf._createIn(t),this.createPositionAfter(t));this.remove(t)}addMarker(t,e){this._assertWriterUsedCorrectly();if(!e||typeof e.usingOperation!="boolean"){throw new u["a"]("writer-addmarker-no-usingoperation",this)}const n=e.usingOperation;const o=e.range;const i=e.affectsData===undefined?false:e.affectsData;if(this.model.markers.has(t)){throw new u["a"]("writer-addmarker-marker-exists",this)}if(!o){throw new u["a"]("writer-addmarker-no-range",this)}if(!n){return this.model.markers._set(t,o,n,i)}xp(this,t,null,o,i);return this.model.markers.get(t)}updateMarker(t,e){this._assertWriterUsedCorrectly();const n=typeof t=="string"?t:t.name;const o=this.model.markers.get(n);if(!o){throw new u["a"]("writer-updatemarker-marker-not-exists",this)}if(!e){this.model.markers._refresh(o);return}const i=typeof e.usingOperation=="boolean";const r=typeof e.affectsData=="boolean";const s=r?e.affectsData:o.affectsData;if(!i&&!e.range&&!r){throw new u["a"]("writer-updatemarker-wrong-options",this)}const a=o.getRange();const c=e.range?e.range:a;if(i&&e.usingOperation!==o.managedUsingOperations){if(e.usingOperation){xp(this,n,null,c,s)}else{xp(this,n,a,null,s);this.model.markers._set(n,c,undefined,s)}return}if(o.managedUsingOperations){xp(this,n,a,c,s)}else{this.model.markers._set(n,c,undefined,s)}}removeMarker(t){this._assertWriterUsedCorrectly();const e=typeof t=="string"?t:t.name;if(!this.model.markers.has(e)){throw new u["a"]("writer-removemarker-no-marker",this)}const n=this.model.markers.get(e);if(!n.managedUsingOperations){this.model.markers._remove(e);return}const o=n.getRange();xp(this,e,o,null,n.affectsData)}setSelection(t,e,n){this._assertWriterUsedCorrectly();this.model.document.selection._setTo(t,e,n)}setSelectionFocus(t,e){this._assertWriterUsedCorrectly();this.model.document.selection._setFocus(t,e)}setSelectionAttribute(t,e){this._assertWriterUsedCorrectly();if(typeof t==="string"){this._setSelectionAttribute(t,e)}else{for(const[e,n]of ja(t)){this._setSelectionAttribute(e,n)}}}removeSelectionAttribute(t){this._assertWriterUsedCorrectly();if(typeof t==="string"){this._removeSelectionAttribute(t)}else{for(const e of t){this._removeSelectionAttribute(e)}}}overrideSelectionGravity(){return this.model.document.selection._overrideGravity()}restoreSelectionGravity(t){this.model.document.selection._restoreGravity(t)}_setSelectionAttribute(t,e){const n=this.model.document.selection;if(n.isCollapsed&&n.anchor.parent.isEmpty){const o=um._getStoreAttributeKey(t);this.setAttribute(o,e,n.anchor.parent)}n._setAttribute(t,e)}_removeSelectionAttribute(t){const e=this.model.document.selection;if(e.isCollapsed&&e.anchor.parent.isEmpty){const n=um._getStoreAttributeKey(t);this.removeAttribute(n,e.anchor.parent)}e._removeAttribute(t)}_assertWriterUsedCorrectly(){if(this.model._currentWriter!==this){throw new u["a"]("writer-incorrect-use",this)}}_addOperationForAffectedMarkers(t,e){for(const n of this.model.markers){if(!n.managedUsingOperations){continue}const o=n.getRange();let i=false;if(t==="move"){i=e.containsPosition(o.start)||e.start.isEqual(o.start)||e.containsPosition(o.end)||e.end.isEqual(o.end)}else{const t=e.nodeBefore;const n=e.nodeAfter;const r=o.start.parent==t&&o.start.isAtEnd;const s=o.end.parent==n&&o.end.offset==0;const a=o.end.nodeAfter==n;const c=o.start.nodeAfter==n;i=r||s||a||c}if(i){this.updateMarker(n.name,{range:o})}}}}function vp(t,e,n,o){const i=t.model;const r=i.document;let s=o.start;let a;let c;let l;for(const t of o.getWalker({shallow:true})){l=t.item.getAttribute(e);if(a&&c!=l){if(c!=n){d()}s=a}a=t.nextPosition;c=l}if(a instanceof Vf&&a!=s&&c!=n){d()}function d(){const o=new Kf(s,a);const l=o.root.document?r.version:null;const d=new hp(o,e,c,n,l);t.batch.addOperation(d);i.applyOperation(d)}}function yp(t,e,n,o){const i=t.model;const r=i.document;const s=o.getAttribute(e);let a,c;if(s!=n){const l=o.root===o;if(l){const t=o.document?r.version:null;c=new kp(o,e,s,n,t)}else{a=new Kf(Vf._createBefore(o),t.createPositionAfter(o));const i=a.root.document?r.version:null;c=new hp(a,e,s,n,i)}t.batch.addOperation(c);i.applyOperation(c)}}function xp(t,e,n,o,i){const r=t.model;const s=r.document;const a=new pp(e,n,o,r.markers,i,s.version);t.batch.addOperation(a);r.applyOperation(a)}function Ep(t,e,n,o){let i;if(t.root.document){const n=o.document;const r=new Vf(n.graveyard,[0]);i=new mp(t,e,r,n.version)}else{i=new fp(t,e)}n.addOperation(i);o.applyOperation(i)}function Dp(t,e){if(t===e){return true}if(t instanceof Ap&&e instanceof Ap){return true}return false}class Tp{constructor(t){this._markerCollection=t;this._changesInElement=new Map;this._elementSnapshots=new Map;this._changedMarkers=new Map;this._changeCount=0;this._cachedChanges=null;this._cachedChangesWithGraveyard=null}get isEmpty(){return this._changesInElement.size==0&&this._changedMarkers.size==0}refreshItem(t){if(this._isInInsertedElement(t.parent)){return}this._markRemove(t.parent,t.startOffset,t.offsetSize);this._markInsert(t.parent,t.startOffset,t.offsetSize);const e=Kf._createOn(t);for(const t of this._markerCollection.getMarkersIntersectingRange(e)){const e=t.getRange();this.bufferMarkerChange(t.name,e,e,t.affectsData)}this._cachedChanges=null}bufferOperation(t){switch(t.type){case"insert":{if(this._isInInsertedElement(t.position.parent)){return}this._markInsert(t.position.parent,t.position.offset,t.nodes.maxOffset);break}case"addAttribute":case"removeAttribute":case"changeAttribute":{for(const e of t.range.getItems({shallow:true})){if(this._isInInsertedElement(e.parent)){continue}this._markAttribute(e)}break}case"remove":case"move":case"reinsert":{if(t.sourcePosition.isEqual(t.targetPosition)||t.sourcePosition.getShiftedBy(t.howMany).isEqual(t.targetPosition)){return}const e=this._isInInsertedElement(t.sourcePosition.parent);const n=this._isInInsertedElement(t.targetPosition.parent);if(!e){this._markRemove(t.sourcePosition.parent,t.sourcePosition.offset,t.howMany)}if(!n){this._markInsert(t.targetPosition.parent,t.getMovedRangeStart().offset,t.howMany)}break}case"rename":{if(this._isInInsertedElement(t.position.parent)){return}this._markRemove(t.position.parent,t.position.offset,1);this._markInsert(t.position.parent,t.position.offset,1);const e=Kf._createFromPositionAndShift(t.position,1);for(const t of this._markerCollection.getMarkersIntersectingRange(e)){const e=t.getRange();this.bufferMarkerChange(t.name,e,e,t.affectsData)}break}case"split":{const e=t.splitPosition.parent;if(!this._isInInsertedElement(e)){this._markRemove(e,t.splitPosition.offset,t.howMany)}if(!this._isInInsertedElement(t.insertionPosition.parent)){this._markInsert(t.insertionPosition.parent,t.insertionPosition.offset,1)}if(t.graveyardPosition){this._markRemove(t.graveyardPosition.parent,t.graveyardPosition.offset,1)}break}case"merge":{const e=t.sourcePosition.parent;if(!this._isInInsertedElement(e.parent)){this._markRemove(e.parent,e.startOffset,1)}const n=t.graveyardPosition.parent;this._markInsert(n,t.graveyardPosition.offset,1);const o=t.targetPosition.parent;if(!this._isInInsertedElement(o)){this._markInsert(o,t.targetPosition.offset,e.maxOffset)}break}}this._cachedChanges=null}bufferMarkerChange(t,e,n,o){const i=this._changedMarkers.get(t);if(!i){this._changedMarkers.set(t,{oldRange:e,newRange:n,affectsData:o})}else{i.newRange=n;i.affectsData=o;if(i.oldRange==null&&i.newRange==null){this._changedMarkers.delete(t)}}}getMarkersToRemove(){const t=[];for(const[e,n]of this._changedMarkers){if(n.oldRange!=null){t.push({name:e,range:n.oldRange})}}return t}getMarkersToAdd(){const t=[];for(const[e,n]of this._changedMarkers){if(n.newRange!=null){t.push({name:e,range:n.newRange})}}return t}getChangedMarkers(){return Array.from(this._changedMarkers).map((t=>({name:t[0],data:{oldRange:t[1].oldRange,newRange:t[1].newRange}})))}hasDataChanges(){for(const[,t]of this._changedMarkers){if(t.affectsData){return true}}return this._changesInElement.size>0}getChanges(t={includeChangesInGraveyard:false}){if(this._cachedChanges){if(t.includeChangesInGraveyard){return this._cachedChangesWithGraveyard.slice()}else{return this._cachedChanges.slice()}}let e=[];for(const t of this._changesInElement.keys()){const n=this._changesInElement.get(t).sort(((t,e)=>{if(t.offset===e.offset){if(t.type!=e.type){return t.type=="remove"?-1:1}return 0}return t.offset{if(t.position.root!=e.position.root){return t.position.root.rootNamet));for(const t of e){delete t.changeCount;if(t.type=="attribute"){delete t.position;delete t.length}}this._changeCount=0;this._cachedChangesWithGraveyard=e.slice();this._cachedChanges=e.filter(Ip);if(t.includeChangesInGraveyard){return this._cachedChangesWithGraveyard}else{return this._cachedChanges}}reset(){this._changesInElement.clear();this._elementSnapshots.clear();this._changedMarkers.clear();this._cachedChanges=null}_markInsert(t,e,n){const o={type:"insert",offset:e,howMany:n,count:this._changeCount++};this._markChange(t,o)}_markRemove(t,e,n){const o={type:"remove",offset:e,howMany:n,count:this._changeCount++};this._markChange(t,o);this._removeAllNestedChanges(t,e,n)}_markAttribute(t){const e={type:"attribute",offset:t.startOffset,howMany:t.offsetSize,count:this._changeCount++};this._markChange(t.parent,e)}_markChange(t,e){this._makeSnapshot(t);const n=this._getChangesForElement(t);this._handleChange(e,n);n.push(e);for(let t=0;tn.offset){if(o>i){const t={type:"attribute",offset:i,howMany:o-i,count:this._changeCount++};this._handleChange(t,e);e.push(t)}t.nodesToHandle=n.offset-t.offset;t.howMany=t.nodesToHandle}else if(t.offset>=n.offset&&t.offseti){t.nodesToHandle=o-i;t.offset=i}else{t.nodesToHandle=0}}}if(n.type=="remove"){if(t.offsetn.offset){const i={type:"attribute",offset:n.offset,howMany:o-n.offset,count:this._changeCount++};this._handleChange(i,e);e.push(i);t.nodesToHandle=n.offset-t.offset;t.howMany=t.nodesToHandle}}if(n.type=="attribute"){if(t.offset>=n.offset&&o<=i){t.nodesToHandle=0;t.howMany=0;t.offset=0}else if(t.offset<=n.offset&&o>=i){n.howMany=0}}}}t.howMany=t.nodesToHandle;delete t.nodesToHandle}_getInsertDiff(t,e,n){return{type:"insert",position:Vf._createAt(t,e),name:n,length:1,changeCount:this._changeCount++}}_getRemoveDiff(t,e,n){return{type:"remove",position:Vf._createAt(t,e),name:n,length:1,changeCount:this._changeCount++}}_getAttributesDiff(t,e,n){const o=[];n=new Map(n);for(const[i,r]of e){const e=n.has(i)?n.get(i):null;if(e!==r){o.push({type:"attribute",position:t.start,range:t.clone(),length:1,attributeKey:i,attributeOldValue:r,attributeNewValue:e,changeCount:this._changeCount++})}n.delete(i)}for(const[e,i]of n){o.push({type:"attribute",position:t.start,range:t.clone(),length:1,attributeKey:e,attributeOldValue:null,attributeNewValue:i,changeCount:this._changeCount++})}return o}_isInInsertedElement(t){const e=t.parent;if(!e){return false}const n=this._changesInElement.get(e);const o=t.startOffset;if(n){for(const t of n){if(t.type=="insert"&&o>=t.offset&&oo){for(let e=0;e=t&&o.baseVersion{const n=e[0];if(n.isDocumentOperation&&n.baseVersion!==this.version){throw new u["a"]("model-document-applyoperation-wrong-version",this,{operation:n})}}),{priority:"highest"});this.listenTo(t,"applyOperation",((t,e)=>{const n=e[0];if(n.isDocumentOperation){this.differ.bufferOperation(n)}}),{priority:"high"});this.listenTo(t,"applyOperation",((t,e)=>{const n=e[0];if(n.isDocumentOperation){this.version++;this.history.addOperation(n)}}),{priority:"low"});this.listenTo(this.selection,"change",(()=>{this._hasSelectionChangedFromTheLastChangeBlock=true}));this.listenTo(t.markers,"update",((t,e,n,o)=>{this.differ.bufferMarkerChange(e.name,n,o,e.affectsData);if(n===null){e.on("change",((t,n)=>{this.differ.bufferMarkerChange(e.name,n,e.getRange(),e.affectsData)}))}}))}get graveyard(){return this.getRoot(Rp)}createRoot(t="$root",e="main"){if(this.roots.get(e)){throw new u["a"]("model-document-createroot-name-exists",this,{name:e})}const n=new Ap(this,t,e);this.roots.add(n);return n}destroy(){this.selection.destroy();this.stopListening()}getRoot(t="main"){return this.roots.get(t)}getRootNames(){return Array.from(this.roots,(t=>t.rootName)).filter((t=>t!=Rp))}registerPostFixer(t){this._postFixers.add(t)}toJSON(){const t=Pa(this);t.selection="[engine.model.DocumentSelection]";t.model="[engine.model.Model]";return t}_handleChangeBlock(t){if(this._hasDocumentChangedFromTheLastChangeBlock()){this._callPostFixers(t);this.selection.refresh();if(this.differ.hasDataChanges()){this.fire("change:data",t.batch)}else{this.fire("change",t.batch)}this.selection.refresh();this.differ.reset()}this._hasSelectionChangedFromTheLastChangeBlock=false}_hasDocumentChangedFromTheLastChangeBlock(){return!this.differ.isEmpty||this._hasSelectionChangedFromTheLastChangeBlock}_getDefaultRoot(){for(const t of this.roots){if(t!==this.graveyard){return t}}return this.graveyard}_getDefaultRange(){const t=this._getDefaultRoot();const e=this.model;const n=e.schema;const o=e.createPositionFromPath(t,[0]);const i=n.getNearestSelectionRange(o);return i||e.createRange(o)}_validateSelectionRange(t){return jp(t.start)&&jp(t.end)}_callPostFixers(t){let e=false;do{for(const n of this._postFixers){this.selection.refresh();e=n(t);if(e){break}}}while(e)}}Vn(Fp,g);function jp(t){const e=t.textNode;if(e){const n=e.data;const o=t.offset-e.startOffset;return!Lp(n,o)&&!Op(n,o)}return true}class Vp{constructor(){this._markers=new Map}[Symbol.iterator](){return this._markers.values()}has(t){return this._markers.has(t)}get(t){return this._markers.get(t)||null}_set(t,e,n=false,o=false){const i=t instanceof Hp?t.name:t;if(i.includes(",")){throw new u["a"]("markercollection-incorrect-marker-name",this)}const r=this._markers.get(i);if(r){const t=r.getRange();let s=false;if(!t.isEqual(e)){r._attachLiveRange(sm.fromRange(e));s=true}if(n!=r.managedUsingOperations){r._managedUsingOperations=n;s=true}if(typeof o==="boolean"&&o!=r.affectsData){r._affectsData=o;s=true}if(s){this.fire("update:"+i,r,t,e)}return r}const s=sm.fromRange(e);const a=new Hp(i,s,n,o);this._markers.set(i,a);this.fire("update:"+i,a,null,e);return a}_remove(t){const e=t instanceof Hp?t.name:t;const n=this._markers.get(e);if(n){this._markers.delete(e);this.fire("update:"+e,n,n.getRange(),null);this._destroyMarker(n);return true}return false}_refresh(t){const e=t instanceof Hp?t.name:t;const n=this._markers.get(e);if(!n){throw new u["a"]("markercollection-refresh-marker-not-exists",this)}const o=n.getRange();this.fire("update:"+e,n,o,o,n.managedUsingOperations,n.affectsData)}*getMarkersAtPosition(t){for(const e of this){if(e.getRange().containsPosition(t)){yield e}}}*getMarkersIntersectingRange(t){for(const e of this){if(e.getRange().getIntersection(t)!==null){yield e}}}destroy(){for(const t of this._markers.values()){this._destroyMarker(t)}this._markers=null;this.stopListening()}*getMarkersGroup(t){for(const e of this._markers.values()){if(e.name.startsWith(t+":")){yield e}}}_destroyMarker(t){t.stopListening();t._detachLiveRange()}}Vn(Vp,g);class Hp{constructor(t,e,n,o){this.name=t;this._liveRange=this._attachLiveRange(e);this._managedUsingOperations=n;this._affectsData=o}get managedUsingOperations(){if(!this._liveRange){throw new u["a"]("marker-destroyed",this)}return this._managedUsingOperations}get affectsData(){if(!this._liveRange){throw new u["a"]("marker-destroyed",this)}return this._affectsData}getStart(){if(!this._liveRange){throw new u["a"]("marker-destroyed",this)}return this._liveRange.start.clone()}getEnd(){if(!this._liveRange){throw new u["a"]("marker-destroyed",this)}return this._liveRange.end.clone()}getRange(){if(!this._liveRange){throw new u["a"]("marker-destroyed",this)}return this._liveRange.toRange()}is(t){return t==="marker"||t==="model:marker"}_attachLiveRange(t){if(this._liveRange){this._detachLiveRange()}t.delegate("change:range").to(this);t.delegate("change:content").to(this);this._liveRange=t;return t}_detachLiveRange(){this._liveRange.stopDelegating("change:range",this);this._liveRange.stopDelegating("change:content",this);this._liveRange.detach();this._liveRange=null}}Vn(Hp,g);class Up extends Xg{get type(){return"noop"}clone(){return new Up(this.baseVersion)}getReversed(){return new Up(this.baseVersion+1)}_execute(){}static get className(){return"NoOperation"}}const Wp={};Wp[hp.className]=hp;Wp[gp.className]=gp;Wp[pp.className]=pp;Wp[mp.className]=mp;Wp[Up.className]=Up;Wp[Xg.className]=Xg;Wp[bp.className]=bp;Wp[kp.className]=kp;Wp[Cp.className]=Cp;Wp[wp.className]=wp;class Kp{static fromJSON(t,e){return Wp[t.__className].fromJSON(t,e)}}class Gp extends Vf{constructor(t,e,n="toNone"){super(t,e,n);if(!this.root.is("rootElement")){throw new u["a"]("model-liveposition-root-not-rootelement",t)}qp.call(this)}detach(){this.stopListening()}is(t){return t==="livePosition"||t==="model:livePosition"||t=="position"||t==="model:position"}toPosition(){return new Vf(this.root,this.path.slice(),this.stickiness)}static fromPosition(t,e){return new this(t.root,t.path.slice(),e?e:t.stickiness)}}function qp(){this.listenTo(this.root.document.model,"applyOperation",((t,e)=>{const n=e[0];if(!n.isDocumentOperation){return}Yp.call(this,n)}),{priority:"low"})}function Yp(t){const e=this.getTransformedByOperation(t);if(!this.isEqual(e)){const t=this.toPosition();this.path=e.path;this.root=e.root;this.fire("change",t)}}Vn(Gp,g);function $p(t,e,n,o){return t.change((i=>{let r;if(!n){r=t.document.selection}else if(n instanceof tm||n instanceof um){r=n}else{r=i.createSelection(n,o)}if(!r.isCollapsed){t.deleteContent(r,{doNotAutoparagraph:true})}const s=new Qp(t,i,r.anchor);let a;if(e.is("documentFragment")){a=e.getChildren()}else{a=[e]}s.handleNodes(a);const c=s.getSelectionRange();if(c){if(r instanceof um){i.setSelection(c)}else{r.setTo(c)}}else{}const l=s.getAffectedRange()||t.createRange(r.anchor);s.destroy();return l}))}class Qp{constructor(t,e,n){this.model=t;this.writer=e;this.position=n;this.canMergeWith=new Set([this.position.parent]);this.schema=t.schema;this._documentFragment=e.createDocumentFragment();this._documentFragmentPosition=e.createPositionAt(this._documentFragment,0);this._firstNode=null;this._lastNode=null;this._lastAutoParagraph=null;this._filterAttributesOf=[];this._affectedStart=null;this._affectedEnd=null}handleNodes(t){for(const e of Array.from(t)){this._handleNode(e)}this._insertPartialFragment();if(this._lastAutoParagraph){this._updateLastNodeFromAutoParagraph(this._lastAutoParagraph)}this._mergeOnRight();this.schema.removeDisallowedAttributes(this._filterAttributesOf,this.writer);this._filterAttributesOf=[]}_updateLastNodeFromAutoParagraph(t){const e=this.writer.createPositionAfter(this._lastNode);const n=this.writer.createPositionAfter(t);if(n.isAfter(e)){this._lastNode=t;if(this.position.parent!=t||!this.position.isAtEnd){throw new u["a"]("insertcontent-invalid-insertion-position",this)}this.position=n;this._setAffectedBoundaries(this.position)}}getSelectionRange(){if(this.nodeToSelect){return Kf._createOn(this.nodeToSelect)}return this.model.schema.getNearestSelectionRange(this.position)}getAffectedRange(){if(!this._affectedStart){return null}return new Kf(this._affectedStart,this._affectedEnd)}destroy(){if(this._affectedStart){this._affectedStart.detach()}if(this._affectedEnd){this._affectedEnd.detach()}}_handleNode(t){if(this.schema.isObject(t)){this._handleObject(t);return}let e=this._checkAndAutoParagraphToAllowedPosition(t);if(!e){e=this._checkAndSplitToAllowedPosition(t);if(!e){this._handleDisallowedNode(t);return}}this._appendToFragment(t);if(!this._firstNode){this._firstNode=t}this._lastNode=t}_insertPartialFragment(){if(this._documentFragment.isEmpty){return}const t=Gp.fromPosition(this.position,"toNext");this._setAffectedBoundaries(this.position);if(this._documentFragment.getChild(0)==this._firstNode){this.writer.insert(this._firstNode,this.position);this._mergeOnLeft();this.position=t.toPosition()}if(!this._documentFragment.isEmpty){this.writer.insert(this._documentFragment,this.position)}this._documentFragmentPosition=this.writer.createPositionAt(this._documentFragment,0);this.position=t.toPosition();t.detach()}_handleObject(t){if(this._checkAndSplitToAllowedPosition(t)){this._appendToFragment(t)}else{this._tryAutoparagraphing(t)}}_handleDisallowedNode(t){if(t.is("element")){this.handleNodes(t.getChildren())}else{this._tryAutoparagraphing(t)}}_appendToFragment(t){if(!this.schema.checkChild(this.position,t)){throw new u["a"]("insertcontent-wrong-position",this,{node:t,position:this.position})}this.writer.insert(t,this._documentFragmentPosition);this._documentFragmentPosition=this._documentFragmentPosition.getShiftedBy(t.offsetSize);if(this.schema.isObject(t)&&!this.schema.checkChild(this.position,"$text")){this.nodeToSelect=t}else{this.nodeToSelect=null}this._filterAttributesOf.push(t)}_setAffectedBoundaries(t){if(!this._affectedStart){this._affectedStart=Gp.fromPosition(t,"toPrevious")}if(!this._affectedEnd||this._affectedEnd.isBefore(t)){if(this._affectedEnd){this._affectedEnd.detach()}this._affectedEnd=Gp.fromPosition(t,"toNext")}}_mergeOnLeft(){const t=this._firstNode;if(!(t instanceof Of)){return}if(!this._canMergeLeft(t)){return}const e=Gp._createBefore(t);e.stickiness="toNext";const n=Gp.fromPosition(this.position,"toNext");if(this._affectedStart.isEqual(e)){this._affectedStart.detach();this._affectedStart=Gp._createAt(e.nodeBefore,"end","toPrevious")}if(this._firstNode===this._lastNode){this._firstNode=e.nodeBefore;this._lastNode=e.nodeBefore}this.writer.merge(e);if(e.isEqual(this._affectedEnd)&&this._firstNode===this._lastNode){this._affectedEnd.detach();this._affectedEnd=Gp._createAt(e.nodeBefore,"end","toNext")}this.position=n.toPosition();n.detach();this._filterAttributesOf.push(this.position.parent);e.detach()}_mergeOnRight(){const t=this._lastNode;if(!(t instanceof Of)){return}if(!this._canMergeRight(t)){return}const e=Gp._createAfter(t);e.stickiness="toNext";if(!this.position.isEqual(e)){throw new u["a"]("insertcontent-invalid-insertion-position",this)}this.position=Vf._createAt(e.nodeBefore,"end");const n=Gp.fromPosition(this.position,"toPrevious");if(this._affectedEnd.isEqual(e)){this._affectedEnd.detach();this._affectedEnd=Gp._createAt(e.nodeBefore,"end","toNext")}if(this._firstNode===this._lastNode){this._firstNode=e.nodeBefore;this._lastNode=e.nodeBefore}this.writer.merge(e);if(e.getShiftedBy(-1).isEqual(this._affectedStart)&&this._firstNode===this._lastNode){this._affectedStart.detach();this._affectedStart=Gp._createAt(e.nodeBefore,0,"toPrevious")}this.position=n.toPosition();n.detach();this._filterAttributesOf.push(this.position.parent);e.detach()}_canMergeLeft(t){const e=t.previousSibling;return e instanceof Of&&this.canMergeWith.has(e)&&this.model.schema.checkMerge(e,t)}_canMergeRight(t){const e=t.nextSibling;return e instanceof Of&&this.canMergeWith.has(e)&&this.model.schema.checkMerge(t,e)}_tryAutoparagraphing(t){const e=this.writer.createElement("paragraph");if(this._getAllowedIn(e,this.position.parent)&&this.schema.checkChild(e,t)){e._appendChild(t);this._handleNode(e)}}_checkAndAutoParagraphToAllowedPosition(t){if(this.schema.checkChild(this.position.parent,t)){return true}if(!this.schema.checkChild(this.position.parent,"paragraph")||!this.schema.checkChild("paragraph",t)){return false}this._insertPartialFragment();const e=this.writer.createElement("paragraph");this.writer.insert(e,this.position);this._setAffectedBoundaries(this.position);this._lastAutoParagraph=e;this.position=this.writer.createPositionAt(e,0);return true}_checkAndSplitToAllowedPosition(t){const e=this._getAllowedIn(t,this.position.parent);if(!e){return false}if(e!=this.position.parent){this._insertPartialFragment()}while(e!=this.position.parent){if(this.schema.isLimit(this.position.parent)){return false}if(this.position.isAtStart){const t=this.position.parent;this.position=this.writer.createPositionBefore(t);if(t.isEmpty&&t.parent===e){this.writer.remove(t)}}else if(this.position.isAtEnd){this.position=this.writer.createPositionAfter(this.position.parent)}else{const t=this.writer.createPositionAfter(this.position.parent);this._setAffectedBoundaries(this.position);this.writer.split(this.position);this.position=t;this.canMergeWith.add(this.position.nodeAfter)}}return true}_getAllowedIn(t,e){if(this.schema.checkChild(e,t)){return e}if(e.parent){return this._getAllowedIn(t,e.parent)}return null}}function Jp(t,e,n={}){if(e.isCollapsed){return}const o=e.getFirstRange();if(o.root.rootName=="$graveyard"){return}const i=t.schema;t.change((t=>{if(!n.doNotResetEntireContent&&db(i,e)){lb(t,e,i);return}const[r,s]=Zp(o);if(!r.isTouching(s)){t.remove(t.createRange(r,s))}if(!n.leaveUnmerged){tb(t,r,s);i.removeDisallowedAttributes(r.parent.getChildren(),t)}ub(t,e,r);if(!n.doNotAutoparagraph&&sb(i,r)){cb(t,r,e)}r.detach();s.detach()}))}function Zp(t){const e=t.root.document.model;const n=t.start;let o=t.end;if(e.hasContent(t,{ignoreMarkers:true})){const n=Xp(o);if(n&&o.isTouching(e.createPositionAt(n,0))){const n=e.createSelection(t);e.modifySelection(n,{direction:"backward"});o=n.getLastPosition()}}return[Gp.fromPosition(n,"toPrevious"),Gp.fromPosition(o,"toNext")]}function Xp(t){const e=t.parent;const n=e.root.document.model.schema;const o=e.getAncestors({parentFirst:true,includeSelf:true});for(const t of o){if(n.isLimit(t)){return null}if(n.isBlock(t)){return t}}}function tb(t,e,n){const o=t.model;if(!ib(t.model.schema,e,n)){return}const[i,r]=rb(e,n);if(!i||!r){return}if(!o.hasContent(i,{ignoreMarkers:true})&&o.hasContent(r,{ignoreMarkers:true})){nb(t,e,n,i.parent)}else{eb(t,e,n,i.parent)}}function eb(t,e,n,o){const i=e.parent;const r=n.parent;if(i==o||r==o){return}e=t.createPositionAfter(i);n=t.createPositionBefore(r);if(!n.isEqual(e)){t.insert(r,e)}t.merge(e);while(n.parent.isEmpty){const e=n.parent;n=t.createPositionBefore(e);t.remove(e)}if(!ib(t.model.schema,e,n)){return}eb(t,e,n,o)}function nb(t,e,n,o){const i=e.parent;const r=n.parent;if(i==o||r==o){return}e=t.createPositionAfter(i);n=t.createPositionBefore(r);if(!n.isEqual(e)){t.insert(i,n)}while(e.parent.isEmpty){const n=e.parent;e=t.createPositionBefore(n);t.remove(n)}n=t.createPositionBefore(r);ob(t,n);if(!ib(t.model.schema,e,n)){return}nb(t,e,n,o)}function ob(t,e){const n=e.nodeBefore;const o=e.nodeAfter;if(n.name!=o.name){t.rename(n,o.name)}t.clearAttributes(n);t.setAttributes(Object.fromEntries(o.getAttributes()),n);t.merge(e)}function ib(t,e,n){const o=e.parent;const i=n.parent;if(o==i){return false}if(t.isLimit(o)||t.isLimit(i)){return false}return ab(e,n,t)}function rb(t,e){const n=t.getAncestors();const o=e.getAncestors();let i=0;while(n[i]&&n[i]==o[i]){i++}return[n[i],o[i]]}function sb(t,e){const n=t.checkChild(e,"$text");const o=t.checkChild(e,"paragraph");return!n&&o}function ab(t,e,n){const o=new Kf(t,e);for(const t of o.getWalker()){if(n.isLimit(t.item)){return false}}return true}function cb(t,e,n){const o=t.createElement("paragraph");t.insert(o,e);ub(t,n,t.createPositionAt(o,0))}function lb(t,e){const n=t.model.schema.getLimitElement(e);t.remove(t.createRangeIn(n));cb(t,t.createPositionAt(n,0),e)}function db(t,e){const n=t.getLimitElement(e);if(!e.containsEntireContent(n)){return false}const o=e.getFirstRange();if(o.start.parent==o.end.parent){return false}return t.checkChild(n,"paragraph")}function ub(t,e,n){if(e instanceof um){t.setSelection(n)}else{e.setTo(n)}}const hb=' ,.?!:;"-()';function fb(t,e,n={}){const o=t.schema;const i=n.direction!="backward";const r=n.unit?n.unit:"character";const s=e.focus;const a=new Ff({boundaries:bb(s,i),singleCharacters:true,direction:i?"forward":"backward"});const c={walker:a,schema:o,isForward:i,unit:r};let l;while(l=a.next()){if(l.done){return}const n=mb(c,l.value);if(n){if(e instanceof um){t.change((t=>{t.setSelectionFocus(n)}))}else{e.setFocus(n)}return}}}function mb(t,e){const{isForward:n,walker:o,unit:i,schema:r}=t;const{type:s,item:a,nextPosition:c}=e;if(s=="text"){if(t.unit==="word"){return pb(o,n)}return gb(o,i,n)}if(s==(n?"elementStart":"elementEnd")){if(r.isSelectable(a)){return Vf._createAt(a,n?"after":"before")}if(r.checkChild(c,"$text")){return c}}else{if(r.isLimit(a)){o.skip((()=>true));return}if(r.checkChild(c,"$text")){return c}}}function gb(t,e){const n=t.position.textNode;if(n){const o=n.data;let i=t.position.offset-n.startOffset;while(Lp(o,i)||e=="character"&&Op(o,i)){t.next();i=t.position.offset-n.startOffset}}return t.position}function pb(t,e){let n=t.position.textNode;if(n){let o=t.position.offset-n.startOffset;while(!kb(n.data,o,e)&&!wb(n,o,e)){t.next();const i=e?t.position.nodeAfter:t.position.nodeBefore;if(i&&i.is("$text")){const o=i.data.charAt(e?0:i.data.length-1);if(!hb.includes(o)){t.next();n=t.position.textNode}}o=t.position.offset-n.startOffset}}return t.position}function bb(t,e){const n=t.root;const o=Vf._createAt(n,e?"end":0);if(e){return new Kf(t,o)}else{return new Kf(o,t)}}function kb(t,e,n){const o=e+(n?0:-1);return hb.includes(t.charAt(o))}function wb(t,e,n){return e===(n?t.endOffset:0)}function Cb(t,e){return t.change((t=>{const n=t.createDocumentFragment();const o=e.getFirstRange();if(!o||o.isCollapsed){return n}const i=o.start.root;const r=o.start.getCommonPath(o.end);const s=i.getNodeByPath(r);let a;if(o.start.parent==o.end.parent){a=o}else{a=t.createRange(t.createPositionAt(s,o.start.path[r.length]),t.createPositionAt(s,o.end.path[r.length]+1))}const c=a.end.offset-a.start.offset;for(const e of a.getItems({shallow:true})){if(e.is("$textProxy")){t.appendText(e.data,e.getAttributes(),n)}else{t.append(t.cloneElement(e,true),n)}}if(a!=o){const e=o._getTransformedByMove(a.start,t.createPositionAt(n,0),c)[0];const i=t.createRange(t.createPositionAt(n,0),e.start);const r=t.createRange(e.end,t.createPositionAt(n,"end"));Ab(r,t);Ab(i,t)}return n}))}function Ab(t,e){const n=[];Array.from(t.getItems({direction:"backward"})).map((t=>e.createRangeOn(t))).filter((e=>{const n=(e.start.isAfter(t.start)||e.start.isEqual(t.start))&&(e.end.isBefore(t.end)||e.end.isEqual(t.end));return n})).forEach((t=>{n.push(t.start.parent);e.remove(t)}));n.forEach((t=>{let n=t;while(n.parent&&n.isEmpty){const t=e.createRangeOn(n);n=n.parent;e.remove(t)}}))}function _b(t){t.document.registerPostFixer((e=>vb(e,t)))}function vb(t,e){const n=e.document.selection;const o=e.schema;const i=[];let r=false;for(const t of n.getRanges()){const e=yb(t,o);if(e&&!e.isEqual(t)){i.push(e);r=true}else{i.push(t)}}if(r){t.setSelection(Sb(i),{backward:n.isBackward})}}function yb(t,e){if(t.isCollapsed){return xb(t,e)}return Eb(t,e)}function xb(t,e){const n=t.start;const o=e.getNearestSelectionRange(n);if(!o){return null}if(!o.isCollapsed){return o}const i=o.start;if(n.isEqual(i)){return null}return new Kf(i)}function Eb(t,e){const{start:n,end:o}=t;const i=e.checkChild(n,"$text");const r=e.checkChild(o,"$text");const s=e.getLimitElement(n);const a=e.getLimitElement(o);if(s===a){if(i&&r){return null}if(Tb(n,o,e)){const t=n.nodeAfter&&e.isSelectable(n.nodeAfter);const i=t?null:e.getNearestSelectionRange(n,"forward");const r=o.nodeBefore&&e.isSelectable(o.nodeBefore);const s=r?null:e.getNearestSelectionRange(o,"backward");const a=i?i.start:n;const c=s?s.end:o;return new Kf(a,c)}}const c=s&&!s.is("rootElement");const l=a&&!a.is("rootElement");if(c||l){const t=n.nodeAfter&&o.nodeBefore&&n.nodeAfter.parent===o.nodeBefore.parent;const i=c&&(!t||!Mb(n.nodeAfter,e));const r=l&&(!t||!Mb(o.nodeBefore,e));let d=n;let u=o;if(i){d=Vf._createBefore(Db(s,e))}if(r){u=Vf._createAfter(Db(a,e))}return new Kf(d,u)}return null}function Db(t,e){let n=t;let o=n;while(e.isLimit(o)&&o.parent){n=o;o=o.parent}return n}function Tb(t,e,n){const o=t.nodeAfter&&!n.isLimit(t.nodeAfter)||n.checkChild(t,"$text");const i=e.nodeBefore&&!n.isLimit(e.nodeBefore)||n.checkChild(e,"$text");return o||i}function Sb(t){const e=[];e.push(t.shift());for(const n of t){const t=e.pop();if(n.isEqual(t)){e.push(t)}else if(n.isIntersecting(t)){const o=t.start.isAfter(n.start)?n.start:t.start;const i=t.end.isAfter(n.end)?t.end:n.end;const r=new Kf(o,i);e.push(r)}else{e.push(t);e.push(n)}}return e}function Mb(t,e){return t&&e.isSelectable(t)}class Ib{constructor(){this.markers=new Vp;this.document=new Fp(this);this.schema=new yg;this._pendingChanges=[];this._currentWriter=null;["insertContent","deleteContent","modifySelection","getSelectedContent","applyOperation"].forEach((t=>this.decorate(t)));this.on("applyOperation",((t,e)=>{const n=e[0];n._validate()}),{priority:"highest"});this.schema.register("$root",{isLimit:true});this.schema.register("$block",{allowIn:"$root",isBlock:true});this.schema.register("$text",{allowIn:"$block",isInline:true,isContent:true});this.schema.register("$clipboardHolder",{allowContentOf:"$root",isLimit:true});this.schema.extend("$text",{allowIn:"$clipboardHolder"});this.schema.register("$documentFragment",{allowContentOf:"$root",isLimit:true});this.schema.extend("$text",{allowIn:"$documentFragment"});this.schema.register("$marker");this.schema.addChildCheck(((t,e)=>{if(e.name==="$marker"){return true}}));_b(this);this.document.registerPostFixer(Jm)}change(t){try{if(this._pendingChanges.length===0){this._pendingChanges.push({batch:new Zg,callback:t});return this._runPendingChanges()[0]}else{return t(this._currentWriter)}}catch(t){u["a"].rethrowUnexpectedError(t,this)}}enqueueChange(t,e){try{if(typeof t==="string"){t=new Zg(t)}else if(typeof t=="function"){e=t;t=new Zg}this._pendingChanges.push({batch:t,callback:e});if(this._pendingChanges.length==1){this._runPendingChanges()}}catch(t){u["a"].rethrowUnexpectedError(t,this)}}applyOperation(t){t._execute()}insertContent(t,e,n){return $p(this,t,e,n)}deleteContent(t,e){Jp(this,t,e)}modifySelection(t,e){fb(this,t,e)}getSelectedContent(t){return Cb(this,t)}hasContent(t,e={}){const n=t instanceof Of?Kf._createIn(t):t;if(n.isCollapsed){return false}const{ignoreWhitespaces:o=false,ignoreMarkers:i=false}=e;if(!i){for(const t of this.markers.getMarkersIntersectingRange(n)){if(t.affectsData){return true}}}for(const t of n.getItems()){if(this.schema.isContent(t)){if(t.is("$textProxy")){if(!o){return true}else if(t.data.search(/\S/)!==-1){return true}}else{return true}}}return false}createPositionFromPath(t,e,n){return new Vf(t,e,n)}createPositionAt(t,e){return Vf._createAt(t,e)}createPositionAfter(t){return Vf._createAfter(t)}createPositionBefore(t){return Vf._createBefore(t)}createRange(t,e){return new Kf(t,e)}createRangeIn(t){return Kf._createIn(t)}createRangeOn(t){return Kf._createOn(t)}createSelection(t,e,n){return new tm(t,e,n)}createBatch(t){return new Zg(t)}createOperationFromJSON(t){return Kp.fromJSON(t,this.document)}destroy(){this.document.destroy();this.stopListening()}_runPendingChanges(){const t=[];this.fire("_beforeChanges");while(this._pendingChanges.length){const e=this._pendingChanges[0].batch;this._currentWriter=new _p(this,e);const n=this._pendingChanges[0].callback(this._currentWriter);t.push(n);this.document._handleChangeBlock(this._currentWriter);this._pendingChanges.shift();this._currentWriter=null}this.fire("_afterChanges");return t}}Vn(Ib,Mn);class Bb extends kf{constructor(t){super();this.editor=t}set(t,e,n={}){if(typeof e=="string"){const t=e;e=(e,n)=>{this.editor.execute(t);n()}}super.set(t,e,n)}}class Nb{constructor(t={}){this._context=t.context||new Ma({language:t.language});this._context._addEditor(this,!t.context);const e=Array.from(this.constructor.builtinPlugins||[]);this.config=new ma(t,this.constructor.defaultConfig);this.config.define("plugins",e);this.config.define(this._context._getEditorConfig());this.plugins=new wa(this,e,this._context.plugins);this.locale=this._context.locale;this.t=this.locale.t;this.commands=new Ag;this.set("state","initializing");this.once("ready",(()=>this.state="ready"),{priority:"high"});this.once("destroy",(()=>this.state="destroyed"),{priority:"high"});this.set("isReadOnly",false);this.model=new Ib;const n=new al;this.data=new qg(this.model,n);this.editing=new Cg(this.model,n);this.editing.view.document.bind("isReadOnly").to(this);this.conversion=new $g([this.editing.downcastDispatcher,this.data.downcastDispatcher],this.data.upcastDispatcher);this.conversion.addAlias("dataDowncast",this.data.downcastDispatcher);this.conversion.addAlias("editingDowncast",this.editing.downcastDispatcher);this.keystrokes=new Bb(this);this.keystrokes.listenTo(this.editing.view.document)}initPlugins(){const t=this.config;const e=t.get("plugins");const n=t.get("removePlugins")||[];const o=t.get("extraPlugins")||[];const i=t.get("substitutePlugins")||[];return this.plugins.init(e.concat(o),n,i)}destroy(){let t=Promise.resolve();if(this.state=="initializing"){t=new Promise((t=>this.once("ready",t)))}return t.then((()=>{this.fire("destroy");this.stopListening();this.commands.destroy()})).then((()=>this.plugins.destroy())).then((()=>{this.model.destroy();this.data.destroy();this.editing.destroy();this.keystrokes.destroy()})).then((()=>this._context._removeEditor(this)))}execute(...t){try{return this.commands.execute(...t)}catch(t){u["a"].rethrowUnexpectedError(t,this)}}focus(){this.editing.view.focus()}}Vn(Nb,Mn);class zb{constructor(t){this.editor=t;this._components=new Map}*names(){for(const t of this._components.values()){yield t.originalName}}add(t,e){this._components.set(Pb(t),{callback:e,originalName:t})}create(t){if(!this.has(t)){throw new u["a"]("componentfactory-item-missing",this,{name:t})}return this._components.get(Pb(t)).callback(this.editor.locale)}has(t){return this._components.has(Pb(t))}}function Pb(t){return String(t).toLowerCase()}class Lb{constructor(t){this.editor=t;this.componentFactory=new zb(t);this.focusTracker=new bf;this._editableElementsMap=new Map;this.listenTo(t.editing.view.document,"layoutChanged",(()=>this.update()))}get element(){return null}update(){this.fire("update")}destroy(){this.stopListening();this.focusTracker.destroy();for(const t of this._editableElementsMap.values()){t.ckeditorInstance=null}this._editableElementsMap=new Map}setEditableElement(t,e){this._editableElementsMap.set(t,e);if(!e.ckeditorInstance){e.ckeditorInstance=this.editor}}getEditableElement(t="main"){return this._editableElementsMap.get(t)}getEditableElementsNames(){return this._editableElementsMap.keys()}get _editableElements(){console.warn("editor-ui-deprecated-editable-elements: "+"The EditorUI#_editableElements property has been deprecated and will be removed in the near future.",{editorUI:this});return this._editableElementsMap}}Vn(Lb,g);function Ob(t){if(!Z(t.updateSourceElement)){throw new u["a"]("attachtoform-missing-elementapi-interface",t)}const e=t.sourceElement;if(e&&e.tagName.toLowerCase()==="textarea"&&e.form){let n;const o=e.form;const i=()=>t.updateSourceElement();if(Z(o.submit)){n=o.submit;o.submit=()=>{i();n.apply(o)}}o.addEventListener("submit",i);t.on("destroy",(()=>{o.removeEventListener("submit",i);if(n){o.submit=n}}))}}const Rb={setData(t){this.data.set(t)},getData(t){return this.data.get(t)}};var Fb=Rb;const jb={updateSourceElement(){if(!this.sourceElement){throw new u["a"]("editor-missing-sourceelement",this)}mf(this.sourceElement,this.data.get())}};var Vb=jb;function Hb(t){const e=t.sourceElement;if(!e){return}if(e.ckeditorInstance){throw new u["a"]("editor-source-element-already-used",t)}e.ckeditorInstance=t;t.once("destroy",(()=>{delete e.ckeditorInstance}))}class Ub extends Ia{static get pluginName(){return"PendingActions"}init(){this.set("hasAny",false);this._actions=new ka({idProperty:"_id"});this._actions.delegate("add","remove").to(this)}add(t){if(typeof t!=="string"){throw new u["a"]("pendingactions-add-invalid-message",this)}const e=Object.create(Mn);e.set("message",t);this._actions.add(e);this.hasAny=true;return e}remove(t){this._actions.remove(t);this.hasAny=!!this._actions.length}get first(){return this._actions.get(0)}[Symbol.iterator](){return this._actions[Symbol.iterator]()}}var Wb=' ';var Kb=' ';var Gb=' ';var qb=' ';var Yb=' ';var $b=' ';var Qb=' ';var Jb=' ';var Zb=' ';var Xb=' ';var tk=' ';var ek=' ';var nk=' ';var ok=' ';var ik=' ';var rk=' ';var sk=' ';var ak=' ';var ck=' ';var lk=' ';var dk=' ';var uk=' ';var hk=' ';var fk=' ';var mk=' ';const gk={cancel:Wb,caption:Kb,check:Gb,eraser:qb,lowVision:Yb,image:$b,alignBottom:Qb,alignMiddle:Jb,alignTop:Zb,alignLeft:Xb,alignCenter:tk,alignRight:ek,alignJustify:nk,objectLeft:ok,objectCenter:ik,objectRight:rk,objectFullWidth:sk,objectSizeFull:ak,objectSizeLarge:ck,objectSizeSmall:lk,objectSizeMedium:dk,pencil:uk,pilcrow:hk,quote:fk,threeVerticalDots:mk};function pk({emitter:t,activator:e,callback:n,contextElements:o}){t.listenTo(document,"mousedown",((t,i)=>{if(!e()){return}const r=typeof i.composedPath=="function"?i.composedPath():[];for(const t of o){if(t.contains(i.target)||r.includes(t)){return}}n()}))}function bk(t){t.set("_isCssTransitionsDisabled",false);t.disableCssTransitions=()=>{t._isCssTransitionsDisabled=true};t.enableCssTransitions=()=>{t._isCssTransitionsDisabled=false};t.extendTemplate({attributes:{class:[t.bindTemplate.if("_isCssTransitionsDisabled","ck-transitions-disabled")]}})}function kk({view:t}){t.listenTo(t.element,"submit",((e,n)=>{n.preventDefault();t.fire("submit")}),{useCapture:true})}class wk extends ka{constructor(t=[]){super(t,{idProperty:"viewUid"});this.on("add",((t,e,n)=>{this._renderViewIntoCollectionParent(e,n)}));this.on("remove",((t,e)=>{if(e.element&&this._parentElement){e.element.remove()}}));this._parentElement=null}destroy(){this.map((t=>t.destroy()))}setParent(t){this._parentElement=t;for(const t of this){this._renderViewIntoCollectionParent(t)}}delegate(...t){if(!t.length||!Ck(t)){throw new u["a"]("ui-viewcollection-delegate-wrong-events",this)}return{to:e=>{for(const n of this){for(const o of t){n.delegate(o).to(e)}}this.on("add",((n,o)=>{for(const n of t){o.delegate(n).to(e)}}));this.on("remove",((n,o)=>{for(const n of t){o.stopDelegating(n,e)}}))}}}_renderViewIntoCollectionParent(t,e){if(!t.isRendered){t.render()}if(t.element&&this._parentElement){this._parentElement.insertBefore(t.element,this._parentElement.children[e])}}}function Ck(t){return t.every((t=>typeof t=="string"))}var Ak=n(1);var _k=n.n(Ak);var vk=n(12);var yk={injectType:"singletonStyleTag",attributes:{"data-cke":true}};yk.insert="head";yk.singleton=true;var xk=_k()(vk["a"],yk);var Ek=vk["a"].locals||{};class Dk{constructor(t){this.element=null;this.isRendered=false;this.locale=t;this.t=t&&t.t;this._viewCollections=new ka;this._unboundChildren=this.createCollection();this._viewCollections.on("add",((e,n)=>{n.locale=t}));this.decorate("render")}get bindTemplate(){if(this._bindTemplate){return this._bindTemplate}return this._bindTemplate=Sk.bind(this,this)}createCollection(t){const e=new wk(t);this._viewCollections.add(e);return e}registerChild(t){if(!ba(t)){t=[t]}for(const e of t){this._unboundChildren.add(e)}}deregisterChild(t){if(!ba(t)){t=[t]}for(const e of t){this._unboundChildren.remove(e)}}setTemplate(t){this.template=new Sk(t)}extendTemplate(t){Sk.extend(this.template,t)}render(){if(this.isRendered){throw new u["a"]("ui-view-render-already-rendered",this)}if(this.template){this.element=this.template.render();this.registerChild(this.template.getViews())}this.isRendered=true}destroy(){this.stopListening();this._viewCollections.map((t=>t.destroy()));if(this.template&&this.template._revertData){this.template.revert(this.element)}}}Vn(Dk,Cu);Vn(Dk,Mn);const Tk="http://www.w3.org/1999/xhtml";class Sk{constructor(t){Object.assign(this,jk(Fk(t)));this._isRendered=false;this._revertData=null}render(){const t=this._renderNode({intoFragment:true});this._isRendered=true;return t}apply(t){this._revertData=Xk();this._renderNode({node:t,isApplying:true,revertData:this._revertData});return t}revert(t){if(!this._revertData){throw new u["a"]("ui-template-revert-not-applied",[this,t])}this._revertTemplateFromNode(t,this._revertData)}*getViews(){function*t(e){if(e.children){for(const n of e.children){if(Qk(n)){yield n}else if(Jk(n)){yield*t(n)}}}}yield*t(this)}static bind(t,e){return{to(n,o){return new Ik({eventNameOrFunction:n,attribute:n,observable:t,emitter:e,callback:o})},if(n,o,i){return new Bk({observable:t,emitter:e,attribute:n,valueIfTrue:o,callback:i})}}}static extend(t,e){if(t._isRendered){throw new u["a"]("template-extend-render",[this,t])}Yk(t,jk(Fk(e)))}_renderNode(t){let e;if(t.node){e=this.tag&&this.text}else{e=this.tag?this.text:!this.text}if(e){throw new u["a"]("ui-template-wrong-syntax",this)}if(this.text){return this._renderText(t)}else{return this._renderElement(t)}}_renderElement(t){let e=t.node;if(!e){e=t.node=document.createElementNS(this.ns||Tk,this.tag)}this._renderAttributes(t);this._renderElementChildren(t);this._setUpListeners(t);return e}_renderText(t){let e=t.node;if(e){t.revertData.text=e.textContent}else{e=t.node=document.createTextNode("")}if(Nk(this.text)){this._bindToObservable({schema:this.text,updater:Lk(e),data:t})}else{e.textContent=this.text.join("")}return e}_renderAttributes(t){let e,n,o,i;if(!this.attributes){return}const r=t.node;const s=t.revertData;for(e in this.attributes){o=r.getAttribute(e);n=this.attributes[e];if(s){s.attributes[e]=o}i=T(n[0])&&n[0].ns?n[0].ns:null;if(Nk(n)){const a=i?n[0].value:n;if(s&&tw(e)){a.unshift(o)}this._bindToObservable({schema:a,updater:Ok(r,e,i),data:t})}else if(e=="style"&&typeof n[0]!=="string"){this._renderStyleAttribute(n[0],t)}else{if(s&&o&&tw(e)){n.unshift(o)}n=n.map((t=>t?t.value||t:t)).reduce(((t,e)=>t.concat(e)),[]).reduce(Gk,"");if(!$k(n)){r.setAttributeNS(i,e,n)}}}}_renderStyleAttribute(t,e){const n=e.node;for(const o in t){const i=t[o];if(Nk(i)){this._bindToObservable({schema:[i],updater:Rk(n,o),data:e})}else{n.style[o]=i}}}_renderElementChildren(t){const e=t.node;const n=t.intoFragment?document.createDocumentFragment():e;const o=t.isApplying;let i=0;for(const r of this.children){if(Zk(r)){if(!o){r.setParent(e);for(const t of r){n.appendChild(t.element)}}}else if(Qk(r)){if(!o){if(!r.isRendered){r.render()}n.appendChild(r.element)}}else if(Jd(r)){n.appendChild(r)}else{if(o){const e=t.revertData;const o=Xk();e.children.push(o);r._renderNode({node:n.childNodes[i++],isApplying:true,revertData:o})}else{n.appendChild(r.render())}}}if(t.intoFragment){e.appendChild(n)}}_setUpListeners(t){if(!this.eventListeners){return}for(const e in this.eventListeners){const n=this.eventListeners[e].map((n=>{const[o,i]=e.split("@");return n.activateDomEventListener(o,i,t)}));if(t.revertData){t.revertData.bindings.push(n)}}}_bindToObservable({schema:t,updater:e,data:n}){const o=n.revertData;Pk(t,e,n);const i=t.filter((t=>!$k(t))).filter((t=>t.observable)).map((o=>o.activateAttributeListener(t,e,n)));if(o){o.bindings.push(i)}}_revertTemplateFromNode(t,e){for(const t of e.bindings){for(const e of t){e()}}if(e.text){t.textContent=e.text;return}for(const n in e.attributes){const o=e.attributes[n];if(o===null){t.removeAttribute(n)}else{t.setAttribute(n,o)}}for(let n=0;nPk(t,e,n);this.emitter.listenTo(this.observable,"change:"+this.attribute,o);return()=>{this.emitter.stopListening(this.observable,"change:"+this.attribute,o)}}}class Ik extends Mk{activateDomEventListener(t,e,n){const o=(t,n)=>{if(!e||n.target.matches(e)){if(typeof this.eventNameOrFunction=="function"){this.eventNameOrFunction(n)}else{this.observable.fire(this.eventNameOrFunction,n)}}};this.emitter.listenTo(n.node,t,o);return()=>{this.emitter.stopListening(n.node,t,o)}}}class Bk extends Mk{getValue(t){const e=super.getValue(t);return $k(e)?false:this.valueIfTrue||true}}function Nk(t){if(!t){return false}if(t.value){t=t.value}if(Array.isArray(t)){return t.some(Nk)}else if(t instanceof Mk){return true}return false}function zk(t,e){return t.map((t=>{if(t instanceof Mk){return t.getValue(e)}return t}))}function Pk(t,e,{node:n}){let o=zk(t,n);if(t.length==1&&t[0]instanceof Bk){o=o[0]}else{o=o.reduce(Gk,"")}if($k(o)){e.remove()}else{e.set(o)}}function Lk(t){return{set(e){t.textContent=e},remove(){t.textContent=""}}}function Ok(t,e,n){return{set(o){t.setAttributeNS(n,e,o)},remove(){t.removeAttributeNS(n,e)}}}function Rk(t,e){return{set(n){t.style[e]=n},remove(){t.style[e]=null}}}function Fk(t){const e=ua(t,(t=>{if(t&&(t instanceof Mk||Jk(t)||Qk(t)||Zk(t))){return t}}));return e}function jk(t){if(typeof t=="string"){t=Uk(t)}else if(t.text){Wk(t)}if(t.on){t.eventListeners=Hk(t.on);delete t.on}if(!t.text){if(t.attributes){Vk(t.attributes)}const e=[];if(t.children){if(Zk(t.children)){e.push(t.children)}else{for(const n of t.children){if(Jk(n)||Qk(n)||Jd(n)){e.push(n)}else{e.push(new Sk(n))}}}}t.children=e}return t}function Vk(t){for(const e in t){if(t[e].value){t[e].value=Ca(t[e].value)}Kk(t,e)}}function Hk(t){for(const e in t){Kk(t,e)}return t}function Uk(t){return{text:[t]}}function Wk(t){t.text=Ca(t.text)}function Kk(t,e){t[e]=Ca(t[e])}function Gk(t,e){if($k(e)){return t}else if($k(t)){return e}else{return`${t} ${e}`}}function qk(t,e){for(const n in e){if(t[n]){t[n].push(...e[n])}else{t[n]=e[n]}}}function Yk(t,e){if(e.attributes){if(!t.attributes){t.attributes={}}qk(t.attributes,e.attributes)}if(e.eventListeners){if(!t.eventListeners){t.eventListeners={}}qk(t.eventListeners,e.eventListeners)}if(e.text){t.text.push(...e.text)}if(e.children&&e.children.length){if(t.children.length!=e.children.length){throw new u["a"]("ui-template-extend-children-mismatch",t)}let n=0;for(const o of e.children){Yk(t.children[n++],o)}}}function $k(t){return!t&&t!==0}function Qk(t){return t instanceof Dk}function Jk(t){return t instanceof Sk}function Zk(t){return t instanceof wk}function Xk(){return{children:[],bindings:[],attributes:{}}}function tw(t){return t=="class"||t=="style"}class ew extends wk{constructor(t,e=[]){super(e);this.locale=t}attachToDom(){this._bodyCollectionContainer=new Sk({tag:"div",attributes:{class:["ck","ck-reset_all","ck-body","ck-rounded-corners"],dir:this.locale.uiLanguageDirection},children:this}).render();let t=document.querySelector(".ck-body-wrapper");if(!t){t=nf(document,"div",{class:"ck-body-wrapper"});document.body.appendChild(t)}t.appendChild(this._bodyCollectionContainer)}detachFromDom(){super.destroy();if(this._bodyCollectionContainer){this._bodyCollectionContainer.remove()}const t=document.querySelector(".ck-body-wrapper");if(t&&t.childElementCount==0){t.remove()}}}var nw=n(13);var ow={injectType:"singletonStyleTag",attributes:{"data-cke":true}};ow.insert="head";ow.singleton=true;var iw=_k()(nw["a"],ow);var rw=nw["a"].locals||{};class sw extends Dk{constructor(){super();const t=this.bindTemplate;this.set("content","");this.set("viewBox","0 0 20 20");this.set("fillColor","");this.setTemplate({tag:"svg",ns:"http://www.w3.org/2000/svg",attributes:{class:["ck","ck-icon"],viewBox:t.to("viewBox")}})}render(){super.render();this._updateXMLContent();this._colorFillPaths();this.on("change:content",(()=>{this._updateXMLContent();this._colorFillPaths()}));this.on("change:fillColor",(()=>{this._colorFillPaths()}))}_updateXMLContent(){if(this.content){const t=(new DOMParser).parseFromString(this.content.trim(),"image/svg+xml");const e=t.querySelector("svg");const n=e.getAttribute("viewBox");if(n){this.viewBox=n}this.element.innerHTML="";while(e.childNodes.length>0){this.element.appendChild(e.childNodes[0])}}}_colorFillPaths(){if(this.fillColor){this.element.querySelectorAll(".ck-icon__fill").forEach((t=>{t.style.fill=this.fillColor}))}}}var aw=n(14);var cw={injectType:"singletonStyleTag",attributes:{"data-cke":true}};cw.insert="head";cw.singleton=true;var lw=_k()(aw["a"],cw);var dw=aw["a"].locals||{};class uw extends Dk{constructor(t){super(t);this.set("text","");this.set("position","s");const e=this.bindTemplate;this.setTemplate({tag:"span",attributes:{class:["ck","ck-tooltip",e.to("position",(t=>"ck-tooltip_"+t)),e.if("text","ck-hidden",(t=>!t.trim()))]},children:[{tag:"span",attributes:{class:["ck","ck-tooltip__text"]},children:[{text:e.to("text")}]}]})}}var hw=n(15);var fw={injectType:"singletonStyleTag",attributes:{"data-cke":true}};fw.insert="head";fw.singleton=true;var mw=_k()(hw["a"],fw);var gw=hw["a"].locals||{};class pw extends Dk{constructor(t){super(t);const e=this.bindTemplate;const n=a();this.set("class");this.set("labelStyle");this.set("icon");this.set("isEnabled",true);this.set("isOn",false);this.set("isVisible",true);this.set("isToggleable",false);this.set("keystroke");this.set("label");this.set("tabindex",-1);this.set("tooltip");this.set("tooltipPosition","s");this.set("type","button");this.set("withText",false);this.set("withKeystroke",false);this.children=this.createCollection();this.tooltipView=this._createTooltipView();this.labelView=this._createLabelView(n);this.iconView=new sw;this.iconView.extendTemplate({attributes:{class:"ck-button__icon"}});this.keystrokeView=this._createKeystrokeView();this.bind("_tooltipString").to(this,"tooltip",this,"label",this,"keystroke",this._getTooltipString.bind(this));this.setTemplate({tag:"button",attributes:{class:["ck","ck-button",e.to("class"),e.if("isEnabled","ck-disabled",(t=>!t)),e.if("isVisible","ck-hidden",(t=>!t)),e.to("isOn",(t=>t?"ck-on":"ck-off")),e.if("withText","ck-button_with-text"),e.if("withKeystroke","ck-button_with-keystroke")],type:e.to("type",(t=>t?t:"button")),tabindex:e.to("tabindex"),"aria-labelledby":`ck-editor__aria-label_${n}`,"aria-disabled":e.if("isEnabled",true,(t=>!t)),"aria-pressed":e.to("isOn",(t=>this.isToggleable?String(t):false))},children:this.children,on:{mousedown:e.to((t=>{t.preventDefault()})),click:e.to((t=>{if(this.isEnabled){this.fire("execute")}else{t.preventDefault()}}))}})}render(){super.render();if(this.icon){this.iconView.bind("content").to(this,"icon");this.children.add(this.iconView)}this.children.add(this.tooltipView);this.children.add(this.labelView);if(this.withKeystroke){this.children.add(this.keystrokeView)}}focus(){this.element.focus()}_createTooltipView(){const t=new uw;t.bind("text").to(this,"_tooltipString");t.bind("position").to(this,"tooltipPosition");return t}_createLabelView(t){const e=new Dk;const n=this.bindTemplate;e.setTemplate({tag:"span",attributes:{class:["ck","ck-button__label"],style:n.to("labelStyle"),id:`ck-editor__aria-label_${t}`},children:[{text:this.bindTemplate.to("label")}]});return e}_createKeystrokeView(){const t=new Dk;t.setTemplate({tag:"span",attributes:{class:["ck","ck-button__keystroke"]},children:[{text:this.bindTemplate.to("keystroke",(t=>id(t)))}]});return t}_getTooltipString(t,e,n){if(t){if(typeof t=="string"){return t}else{if(n){n=id(n)}if(t instanceof Function){return t(e,n)}else{return`${e}${n?` (${n})`:""}`}}}return""}}var bw=n(16);var kw={injectType:"singletonStyleTag",attributes:{"data-cke":true}};kw.insert="head";kw.singleton=true;var ww=_k()(bw["a"],kw);var Cw=bw["a"].locals||{};class Aw extends pw{constructor(t){super(t);this.isToggleable=true;this.toggleSwitchView=this._createToggleView();this.extendTemplate({attributes:{class:"ck-switchbutton"}})}render(){super.render();this.children.add(this.toggleSwitchView)}_createToggleView(){const t=new Dk;t.setTemplate({tag:"span",attributes:{class:["ck","ck-button__toggle"]},children:[{tag:"span",attributes:{class:["ck","ck-button__toggle__inner"]}}]});return t}}function _w(t,e){const n=t.t;const o={Black:n("Black"),"Dim grey":n("Dim grey"),Grey:n("Grey"),"Light grey":n("Light grey"),White:n("White"),Red:n("Red"),Orange:n("Orange"),Yellow:n("Yellow"),"Light green":n("Light green"),Green:n("Green"),Aquamarine:n("Aquamarine"),Turquoise:n("Turquoise"),"Light blue":n("Light blue"),Blue:n("Blue"),Purple:n("Purple")};return e.map((t=>{const e=o[t.label];if(e&&e!=t.label){t.label=e}return t}))}function vw(t){return t.map(yw).filter((t=>!!t))}function yw(t){if(typeof t==="string"){return{model:t,label:t,hasBorder:false,view:{name:"span",styles:{color:t}}}}else{return{model:t.color,label:t.label||t.color,hasBorder:t.hasBorder===undefined?false:t.hasBorder,view:{name:"span",styles:{color:`${t.color}`}}}}}var xw=' ';class Ew extends pw{constructor(t){super(t);const e=this.bindTemplate;this.set("color");this.set("hasBorder");this.icon=xw;this.extendTemplate({attributes:{style:{backgroundColor:e.to("color")},class:["ck","ck-color-grid__tile",e.if("hasBorder","ck-color-table__color-tile_bordered")]}})}render(){super.render();this.iconView.fillColor="hsl(0, 0%, 100%)"}}class Dw{constructor(t){Object.assign(this,t);if(t.actions&&t.keystrokeHandler){for(const e in t.actions){let n=t.actions[e];if(typeof n=="string"){n=[n]}for(const o of n){t.keystrokeHandler.set(o,((t,n)=>{this[e]();n()}))}}}}get first(){return this.focusables.find(Tw)||null}get last(){return this.focusables.filter(Tw).slice(-1)[0]||null}get next(){return this._getFocusableItem(1)}get previous(){return this._getFocusableItem(-1)}get current(){let t=null;if(this.focusTracker.focusedElement===null){return null}this.focusables.find(((e,n)=>{const o=e.element===this.focusTracker.focusedElement;if(o){t=n}return o}));return t}focusFirst(){this._focus(this.first)}focusLast(){this._focus(this.last)}focusNext(){this._focus(this.next)}focusPrevious(){this._focus(this.previous)}_focus(t){if(t){t.focus()}}_getFocusableItem(t){const e=this.current;const n=this.focusables.length;if(!n){return null}if(e===null){return this[t===1?"first":"last"]}let o=(e+n+t)%n;do{const e=this.focusables.get(o);if(Tw(e)){return e}o=(o+n+t)%n}while(o!==e);return null}}function Tw(t){return!!(t.focus&&su.window.getComputedStyle(t.element).display!="none")}var Sw=n(17);var Mw={injectType:"singletonStyleTag",attributes:{"data-cke":true}};Mw.insert="head";Mw.singleton=true;var Iw=_k()(Sw["a"],Mw);var Bw=Sw["a"].locals||{};class Nw extends Dk{constructor(t,e){super(t);const n=e&&e.colorDefinitions||[];const o={};if(e&&e.columns){o.gridTemplateColumns=`repeat( ${e.columns}, 1fr)`}this.set("selectedColor");this.items=this.createCollection();this.focusTracker=new bf;this.keystrokes=new kf;this._focusCycler=new Dw({focusables:this.items,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"arrowleft",focusNext:"arrowright"}});this.items.on("add",((t,e)=>{e.isOn=e.color===this.selectedColor}));n.forEach((t=>{const e=new Ew;e.set({color:t.color,label:t.label,tooltip:true,hasBorder:t.options.hasBorder});e.on("execute",(()=>{this.fire("execute",{value:t.color,hasBorder:t.options.hasBorder,label:t.label})}));this.items.add(e)}));this.setTemplate({tag:"div",children:this.items,attributes:{class:["ck","ck-color-grid"],style:o}});this.on("change:selectedColor",((t,e,n)=>{for(const t of this.items){t.isOn=t.color===n}}))}focus(){if(this.items.length){this.items.first.focus()}}focusLast(){if(this.items.length){this.items.last.focus()}}render(){super.render();for(const t of this.items){this.focusTracker.add(t.element)}this.items.on("add",((t,e)=>{this.focusTracker.add(e.element)}));this.items.on("remove",((t,e)=>{this.focusTracker.remove(e.element)}));this.keystrokes.listenTo(this.element)}}var zw=' ';class Pw extends pw{constructor(t){super(t);this.arrowView=this._createArrowView();this.extendTemplate({attributes:{"aria-haspopup":true}});this.delegate("execute").to(this,"open")}render(){super.render();this.children.add(this.arrowView)}_createArrowView(){const t=new sw;t.content=zw;t.extendTemplate({attributes:{class:"ck-dropdown__arrow"}});return t}}var Lw=n(18);var Ow={injectType:"singletonStyleTag",attributes:{"data-cke":true}};Ow.insert="head";Ow.singleton=true;var Rw=_k()(Lw["a"],Ow);var Fw=Lw["a"].locals||{};class jw extends Dk{constructor(t){super(t);const e=this.bindTemplate;this.set("icon");this.set("isEnabled",true);this.set("isOn",false);this.set("isToggleable",false);this.set("isVisible",true);this.set("keystroke");this.set("label");this.set("tabindex",-1);this.set("tooltip");this.set("tooltipPosition","s");this.set("type","button");this.set("withText",false);this.children=this.createCollection();this.actionView=this._createActionView();this.arrowView=this._createArrowView();this.keystrokes=new kf;this.focusTracker=new bf;this.setTemplate({tag:"div",attributes:{class:["ck","ck-splitbutton",e.if("isVisible","ck-hidden",(t=>!t)),this.arrowView.bindTemplate.if("isOn","ck-splitbutton_open")]},children:this.children})}render(){super.render();this.children.add(this.actionView);this.children.add(this.arrowView);this.focusTracker.add(this.actionView.element);this.focusTracker.add(this.arrowView.element);this.keystrokes.listenTo(this.element);this.keystrokes.set("arrowright",((t,e)=>{if(this.focusTracker.focusedElement===this.actionView.element){this.arrowView.focus();e()}}));this.keystrokes.set("arrowleft",((t,e)=>{if(this.focusTracker.focusedElement===this.arrowView.element){this.actionView.focus();e()}}))}focus(){this.actionView.focus()}_createActionView(){const t=new pw;t.bind("icon","isEnabled","isOn","isToggleable","keystroke","label","tabindex","tooltip","tooltipPosition","type","withText").to(this);t.extendTemplate({attributes:{class:"ck-splitbutton__action"}});t.delegate("execute").to(this);return t}_createArrowView(){const t=new pw;const e=t.bindTemplate;t.icon=zw;t.extendTemplate({attributes:{class:"ck-splitbutton__arrow","aria-haspopup":true,"aria-expanded":e.to("isOn",(t=>String(t)))}});t.bind("isEnabled").to(this);t.delegate("execute").to(this,"open");return t}}class Vw extends Dk{constructor(t){super(t);const e=this.bindTemplate;this.set("isVisible",false);this.set("position","se");this.children=this.createCollection();this.setTemplate({tag:"div",attributes:{class:["ck","ck-reset","ck-dropdown__panel",e.to("position",(t=>`ck-dropdown__panel_${t}`)),e.if("isVisible","ck-dropdown__panel-visible")]},children:this.children,on:{selectstart:e.to((t=>t.preventDefault()))}})}focus(){if(this.children.length){this.children.first.focus()}}focusLast(){if(this.children.length){const t=this.children.last;if(typeof t.focusLast==="function"){t.focusLast()}else{t.focus()}}}}var Hw=n(19);var Uw={injectType:"singletonStyleTag",attributes:{"data-cke":true}};Uw.insert="head";Uw.singleton=true;var Ww=_k()(Hw["a"],Uw);var Kw=Hw["a"].locals||{};function Gw(t){if(!t||!t.parentNode){return null}if(t.offsetParent===su.document.body){return null}return t.offsetParent}function qw({element:t,target:e,positions:n,limiter:o,fitInViewport:i}){if(Z(e)){e=e()}if(Z(o)){o=o()}const r=Gw(t);const s=new cf(t);const a=new cf(e);let c;let l;if(!o&&!i){[l,c]=Yw(n[0],a,s)}else{const t=o&&new cf(o).getVisible();const e=i&&new cf(su.window);const r=$w(n,{targetRect:a,elementRect:s,limiterRect:t,viewportRect:e});[l,c]=r||Yw(n[0],a,s)}let d=Xw(c);if(r){d=Zw(d,r)}return{left:d.left,top:d.top,name:l}}function Yw(t,e,n){const o=t(e,n);if(!o){return null}const{left:i,top:r,name:s}=o;return[s,n.clone().moveTo(i,r)]}function $w(t,e){const{elementRect:n,viewportRect:o}=e;const i=n.getArea();const r=Qw(t,e);if(o){const t=r.filter((({viewportIntersectArea:t})=>t===i));const e=Jw(t,i);if(e){return e}}return Jw(r,i)}function Qw(t,{targetRect:e,elementRect:n,limiterRect:o,viewportRect:i}){const r=[];const s=n.getArea();for(const a of t){const t=Yw(a,e,n);if(!t){continue}const[c,l]=t;let d=0;let u=0;if(o){if(i){const t=o.getIntersection(i);if(t){d=t.getIntersectionArea(l)}}else{d=o.getIntersectionArea(l)}}if(i){u=i.getIntersectionArea(l)}const h={positionName:c,positionRect:l,limiterIntersectArea:d,viewportIntersectArea:u};if(d===s){return[h]}r.push(h)}return r}function Jw(t,e){let n=0;let o;let i;for(const{positionName:r,positionRect:s,limiterIntersectArea:a,viewportIntersectArea:c}of t){if(a===e){return[r,s]}const t=c**2+a**2;if(t>n){n=t;o=s;i=r}}return o?[i,o]:null}function Zw({left:t,top:e},n){const o=Xw(new cf(n));const i=sf(n);t-=o.left;e-=o.top;t+=n.scrollLeft;e+=n.scrollTop;t-=i.left;e-=i.top;return{left:t,top:e}}function Xw({left:t,top:e}){const{scrollX:n,scrollY:o}=su.window;return{left:t+n,top:e+o}}class tC extends Dk{constructor(t,e,n){super(t);const o=this.bindTemplate;this.buttonView=e;this.panelView=n;this.set("isOpen",false);this.set("isEnabled",true);this.set("class");this.set("id");this.set("panelPosition","auto");this.keystrokes=new kf;this.setTemplate({tag:"div",attributes:{class:["ck","ck-dropdown",o.to("class"),o.if("isEnabled","ck-disabled",(t=>!t))],id:o.to("id"),"aria-describedby":o.to("ariaDescribedById")},children:[e,n]});e.extendTemplate({attributes:{class:["ck-dropdown__button"]}})}render(){super.render();this.listenTo(this.buttonView,"open",(()=>{this.isOpen=!this.isOpen}));this.panelView.bind("isVisible").to(this,"isOpen");this.on("change:isOpen",(()=>{if(!this.isOpen){return}if(this.panelPosition==="auto"){this.panelView.position=tC._getOptimalPosition({element:this.panelView.element,target:this.buttonView.element,fitInViewport:true,positions:this._panelPositions}).name}else{this.panelView.position=this.panelPosition}}));this.keystrokes.listenTo(this.element);const t=(t,e)=>{if(this.isOpen){this.buttonView.focus();this.isOpen=false;e()}};this.keystrokes.set("arrowdown",((t,e)=>{if(this.buttonView.isEnabled&&!this.isOpen){this.isOpen=true;e()}}));this.keystrokes.set("arrowright",((t,e)=>{if(this.isOpen){e()}}));this.keystrokes.set("arrowleft",t);this.keystrokes.set("esc",t)}focus(){this.buttonView.focus()}get _panelPositions(){const{south:t,north:e,southEast:n,southWest:o,northEast:i,northWest:r,southMiddleEast:s,southMiddleWest:a,northMiddleEast:c,northMiddleWest:l}=tC.defaultPanelPositions;if(this.locale.uiLanguageDirection!=="rtl"){return[n,o,s,a,t,i,r,c,l,e]}else{return[o,n,a,s,t,r,i,l,c,e]}}}tC.defaultPanelPositions={south:(t,e)=>({top:t.bottom,left:t.left-(e.width-t.width)/2,name:"s"}),southEast:t=>({top:t.bottom,left:t.left,name:"se"}),southWest:(t,e)=>({top:t.bottom,left:t.left-e.width+t.width,name:"sw"}),southMiddleEast:(t,e)=>({top:t.bottom,left:t.left-(e.width-t.width)/4,name:"sme"}),southMiddleWest:(t,e)=>({top:t.bottom,left:t.left-(e.width-t.width)*3/4,name:"smw"}),north:(t,e)=>({top:t.top-e.height,left:t.left-(e.width-t.width)/2,name:"n"}),northEast:(t,e)=>({top:t.top-e.height,left:t.left,name:"ne"}),northWest:(t,e)=>({top:t.top-e.height,left:t.left-e.width+t.width,name:"nw"}),northMiddleEast:(t,e)=>({top:t.top-e.height,left:t.left-(e.width-t.width)/4,name:"nme"}),northMiddleWest:(t,e)=>({top:t.top-e.height,left:t.left-(e.width-t.width)*3/4,name:"nmw"})};tC._getOptimalPosition=qw;class eC extends Dk{constructor(t){super(t);this.setTemplate({tag:"span",attributes:{class:["ck","ck-toolbar__separator"]}})}}class nC extends Dk{constructor(t){super(t);this.setTemplate({tag:"span",attributes:{class:["ck","ck-toolbar__line-break"]}})}}function oC(t){return t.bindTemplate.to((e=>{if(e.target===t.element){e.preventDefault()}}))}function iC(t){if(Array.isArray(t)){return{items:t,removeItems:[]}}if(!t){return{items:[],removeItems:[]}}return Object.assign({items:[],removeItems:[]},t)}var rC=n(20);var sC={injectType:"singletonStyleTag",attributes:{"data-cke":true}};sC.insert="head";sC.singleton=true;var aC=_k()(rC["a"],sC);var cC=rC["a"].locals||{};class lC extends Dk{constructor(t,e){super(t);const n=this.bindTemplate;const o=this.t;this.options=e||{};this.set("ariaLabel",o("Editor toolbar"));this.set("maxWidth","auto");this.items=this.createCollection();this.focusTracker=new bf;this.keystrokes=new kf;this.set("class");this.set("isCompact",false);this.itemsView=new dC(t);this.children=this.createCollection();this.children.add(this.itemsView);this.focusables=this.createCollection();this._focusCycler=new Dw({focusables:this.focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:["arrowleft","arrowup"],focusNext:["arrowright","arrowdown"]}});const i=["ck","ck-toolbar",n.to("class"),n.if("isCompact","ck-toolbar_compact")];if(this.options.shouldGroupWhenFull&&this.options.isFloating){i.push("ck-toolbar_floating")}this.setTemplate({tag:"div",attributes:{class:i,role:"toolbar","aria-label":n.to("ariaLabel"),style:{maxWidth:n.to("maxWidth")}},children:this.children,on:{mousedown:oC(this)}});this._behavior=this.options.shouldGroupWhenFull?new hC(this):new uC(this)}render(){super.render();for(const t of this.items){this.focusTracker.add(t.element)}this.items.on("add",((t,e)=>{this.focusTracker.add(e.element)}));this.items.on("remove",((t,e)=>{this.focusTracker.remove(e.element)}));this.keystrokes.listenTo(this.element);this._behavior.render(this)}destroy(){this._behavior.destroy();return super.destroy()}focus(){this._focusCycler.focusFirst()}focusLast(){this._focusCycler.focusLast()}fillFromConfig(t,e){const n=iC(t);const o=n.items.filter(((t,o,i)=>{if(t==="|"){return true}if(n.removeItems.indexOf(t)!==-1){return false}if(t==="-"){if(this.options.shouldGroupWhenFull){Object(u["b"])("toolbarview-line-break-ignored-when-grouping-items",i);return false}return true}if(!e.has(t)){Object(u["b"])("toolbarview-item-unavailable",{name:t});return false}return true}));const i=this._cleanSeparators(o).map((t=>{if(t==="|"){return new eC}else if(t==="-"){return new nC}return e.create(t)}));this.items.addMany(i)}_cleanSeparators(t){const e=t=>t!=="-"&&t!=="|";const n=t.length;const o=t.findIndex(e);const i=n-t.slice().reverse().findIndex(e);return t.slice(o,i).filter(((t,n,o)=>{if(e(t)){return true}const i=n>0&&o[n-1]===t;return!i}))}}class dC extends Dk{constructor(t){super(t);this.children=this.createCollection();this.setTemplate({tag:"div",attributes:{class:["ck","ck-toolbar__items"]},children:this.children})}}class uC{constructor(t){const e=t.bindTemplate;t.set("isVertical",false);t.itemsView.children.bindTo(t.items).using((t=>t));t.focusables.bindTo(t.items).using((t=>t));t.extendTemplate({attributes:{class:[e.if("isVertical","ck-toolbar_vertical")]}})}render(){}destroy(){}}class hC{constructor(t){this.view=t;this.viewChildren=t.children;this.viewFocusables=t.focusables;this.viewItemsView=t.itemsView;this.viewFocusTracker=t.focusTracker;this.viewLocale=t.locale;this.ungroupedItems=t.createCollection();this.groupedItems=t.createCollection();this.groupedItemsDropdown=this._createGroupedItemsDropdown();this.resizeObserver=null;this.cachedPadding=null;this.shouldUpdateGroupingOnNextResize=false;t.itemsView.children.bindTo(this.ungroupedItems).using((t=>t));this.ungroupedItems.on("add",this._updateFocusCycleableItems.bind(this));this.ungroupedItems.on("remove",this._updateFocusCycleableItems.bind(this));t.children.on("add",this._updateFocusCycleableItems.bind(this));t.children.on("remove",this._updateFocusCycleableItems.bind(this));t.items.on("change",((t,e)=>{const n=e.index;for(const t of e.removed){if(n>=this.ungroupedItems.length){this.groupedItems.remove(t)}else{this.ungroupedItems.remove(t)}}for(let t=n;tthis.ungroupedItems.length){this.groupedItems.add(o,t-this.ungroupedItems.length)}else{this.ungroupedItems.add(o,t)}}this._updateGrouping()}));t.extendTemplate({attributes:{class:["ck-toolbar_grouping"]}})}render(t){this.viewElement=t.element;this._enableGroupingOnResize();this._enableGroupingOnMaxWidthChange(t)}destroy(){this.groupedItemsDropdown.destroy();this.resizeObserver.destroy()}_updateGrouping(){if(!this.viewElement.ownerDocument.body.contains(this.viewElement)){return}if(!this.viewElement.offsetParent){this.shouldUpdateGroupingOnNextResize=true;return}const t=this.groupedItems.length;let e;while(this._areItemsOverflowing){this._groupLastItem();e=true}if(!e&&this.groupedItems.length){while(this.groupedItems.length&&!this._areItemsOverflowing){this._ungroupFirstItem()}if(this._areItemsOverflowing){this._groupLastItem()}}if(this.groupedItems.length!==t){this.view.fire("groupedItemsUpdate")}}get _areItemsOverflowing(){if(!this.ungroupedItems.length){return false}const t=this.viewElement;const e=this.viewLocale.uiLanguageDirection;const n=new cf(t.lastChild);const o=new cf(t);if(!this.cachedPadding){const n=su.window.getComputedStyle(t);const o=e==="ltr"?"paddingRight":"paddingLeft";this.cachedPadding=Number.parseInt(n[o])}if(e==="ltr"){return n.right>o.right-this.cachedPadding}else{return n.left{if(!t||t!==e.contentRect.width||this.shouldUpdateGroupingOnNextResize){this.shouldUpdateGroupingOnNextResize=false;this._updateGrouping();t=e.contentRect.width}}));this._updateGrouping()}_enableGroupingOnMaxWidthChange(t){t.on("change:maxWidth",(()=>{this._updateGrouping()}))}_groupLastItem(){if(!this.groupedItems.length){this.viewChildren.add(new eC);this.viewChildren.add(this.groupedItemsDropdown);this.viewFocusTracker.add(this.groupedItemsDropdown.element)}this.groupedItems.add(this.ungroupedItems.remove(this.ungroupedItems.last),0)}_ungroupFirstItem(){this.ungroupedItems.add(this.groupedItems.remove(this.groupedItems.first));if(!this.groupedItems.length){this.viewChildren.remove(this.groupedItemsDropdown);this.viewChildren.remove(this.viewChildren.last);this.viewFocusTracker.remove(this.groupedItemsDropdown.element)}}_createGroupedItemsDropdown(){const t=this.viewLocale;const e=t.t;const n=TC(t);n.class="ck-toolbar__grouped-dropdown";n.panelPosition=t.uiLanguageDirection==="ltr"?"sw":"se";SC(n,[]);n.buttonView.set({label:e("Show more items"),tooltip:true,tooltipPosition:t.uiLanguageDirection==="rtl"?"se":"sw",icon:gk.threeVerticalDots});n.toolbarView.items.bindTo(this.groupedItems).using((t=>t));return n}_updateFocusCycleableItems(){this.viewFocusables.clear();this.ungroupedItems.map((t=>{this.viewFocusables.add(t)}));if(this.groupedItems.length){this.viewFocusables.add(this.groupedItemsDropdown)}}}var fC=n(21);var mC={injectType:"singletonStyleTag",attributes:{"data-cke":true}};mC.insert="head";mC.singleton=true;var gC=_k()(fC["a"],mC);var pC=fC["a"].locals||{};class bC extends Dk{constructor(){super();this.items=this.createCollection();this.focusTracker=new bf;this.keystrokes=new kf;this._focusCycler=new Dw({focusables:this.items,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"arrowup",focusNext:"arrowdown"}});this.setTemplate({tag:"ul",attributes:{class:["ck","ck-reset","ck-list"]},children:this.items})}render(){super.render();for(const t of this.items){this.focusTracker.add(t.element)}this.items.on("add",((t,e)=>{this.focusTracker.add(e.element)}));this.items.on("remove",((t,e)=>{this.focusTracker.remove(e.element)}));this.keystrokes.listenTo(this.element)}focus(){this._focusCycler.focusFirst()}focusLast(){this._focusCycler.focusLast()}}class kC extends Dk{constructor(t){super(t);this.children=this.createCollection();this.setTemplate({tag:"li",attributes:{class:["ck","ck-list__item"]},children:this.children})}focus(){this.children.first.focus()}}class wC extends Dk{constructor(t){super(t);this.setTemplate({tag:"li",attributes:{class:["ck","ck-list__separator"]}})}}var CC=n(22);var AC={injectType:"singletonStyleTag",attributes:{"data-cke":true}};AC.insert="head";AC.singleton=true;var _C=_k()(CC["a"],AC);var vC=CC["a"].locals||{};var yC=n(23);var xC={injectType:"singletonStyleTag",attributes:{"data-cke":true}};xC.insert="head";xC.singleton=true;var EC=_k()(yC["a"],xC);var DC=yC["a"].locals||{};function TC(t,e=Pw){const n=new e(t);const o=new Vw(t);const i=new tC(t,n,o);n.bind("isEnabled").to(i);if(n instanceof Pw){n.bind("isOn").to(i,"isOpen")}else{n.arrowView.bind("isOn").to(i,"isOpen")}IC(i);return i}function SC(t,e){const n=t.locale;const o=n.t;const i=t.toolbarView=new lC(n);i.set("ariaLabel",o("Dropdown toolbar"));t.extendTemplate({attributes:{class:["ck-toolbar-dropdown"]}});e.map((t=>i.items.add(t)));t.panelView.children.add(i);i.items.delegate("execute").to(t)}function MC(t,e){const n=t.locale;const o=t.listView=new bC(n);o.items.bindTo(e).using((({type:t,model:e})=>{if(t==="separator"){return new wC(n)}else if(t==="button"||t==="switchbutton"){const o=new kC(n);let i;if(t==="button"){i=new pw(n)}else{i=new Aw(n)}i.bind(...Object.keys(e)).to(e);i.delegate("execute").to(o);o.children.add(i);return o}}));t.panelView.children.add(o);o.items.delegate("execute").to(t)}function IC(t){BC(t);NC(t);zC(t)}function BC(t){t.on("render",(()=>{pk({emitter:t,activator:()=>t.isOpen,callback:()=>{t.isOpen=false},contextElements:[t.element]})}))}function NC(t){t.on("execute",(e=>{if(e.source instanceof Aw){return}t.isOpen=false}))}function zC(t){t.keystrokes.set("arrowdown",((e,n)=>{if(t.isOpen){t.panelView.focus();n()}}));t.keystrokes.set("arrowup",((e,n)=>{if(t.isOpen){t.panelView.focusLast();n()}}))}var PC=n(24);var LC={injectType:"singletonStyleTag",attributes:{"data-cke":true}};LC.insert="head";LC.singleton=true;var OC=_k()(PC["a"],LC);var RC=PC["a"].locals||{};class FC extends Dk{constructor(t){super(t);this.body=new ew(t)}render(){super.render();this.body.attachToDom()}destroy(){this.body.detachFromDom();return super.destroy()}}var jC=n(25);var VC={injectType:"singletonStyleTag",attributes:{"data-cke":true}};VC.insert="head";VC.singleton=true;var HC=_k()(jC["a"],VC);var UC=jC["a"].locals||{};class WC extends Dk{constructor(t){super(t);this.set("text");this.set("for");this.id=`ck-editor__label_${a()}`;const e=this.bindTemplate;this.setTemplate({tag:"label",attributes:{class:["ck","ck-label"],id:this.id,for:e.to("for")},children:[{text:e.to("text")}]})}}class KC extends FC{constructor(t){super(t);this.top=this.createCollection();this.main=this.createCollection();this._voiceLabelView=this._createVoiceLabel();this.setTemplate({tag:"div",attributes:{class:["ck","ck-reset","ck-editor","ck-rounded-corners"],role:"application",dir:t.uiLanguageDirection,lang:t.uiLanguage,"aria-labelledby":this._voiceLabelView.id},children:[this._voiceLabelView,{tag:"div",attributes:{class:["ck","ck-editor__top","ck-reset_all"],role:"presentation"},children:this.top},{tag:"div",attributes:{class:["ck","ck-editor__main"],role:"presentation"},children:this.main}]})}_createVoiceLabel(){const t=this.t;const e=new WC;e.text=t("Rich Text Editor");e.extendTemplate({attributes:{class:"ck-voice-label"}});return e}}class GC extends Dk{constructor(t,e,n){super(t);this.setTemplate({tag:"div",attributes:{class:["ck","ck-content","ck-editor__editable","ck-rounded-corners"],lang:t.contentLanguage,dir:t.contentLanguageDirection}});this.name=null;this.set("isFocused",false);this._editableElement=n;this._hasExternalElement=!!this._editableElement;this._editingView=e}render(){super.render();if(this._hasExternalElement){this.template.apply(this.element=this._editableElement)}else{this._editableElement=this.element}this.on("change:isFocused",(()=>this._updateIsFocusedClasses()));this._updateIsFocusedClasses()}destroy(){if(this._hasExternalElement){this.template.revert(this._editableElement)}super.destroy()}_updateIsFocusedClasses(){const t=this._editingView;if(t.isRenderingInProgress){n(this)}else{e(this)}function e(e){t.change((n=>{const o=t.document.getRoot(e.name);n.addClass(e.isFocused?"ck-focused":"ck-blurred",o);n.removeClass(e.isFocused?"ck-blurred":"ck-focused",o)}))}function n(o){t.once("change:isRenderingInProgress",((t,i,r)=>{if(!r){e(o)}else{n(o)}}))}}}class qC extends GC{constructor(t,e,n){super(t,e,n);this.extendTemplate({attributes:{role:"textbox",class:"ck-editor__editable_inline"}})}render(){super.render();const t=this._editingView;const e=this.t;t.change((n=>{const o=t.document.getRoot(this.name);n.setAttribute("aria-label",e("Rich Text Editor, %0",this.name),o)}))}}var YC=n(26);var $C={injectType:"singletonStyleTag",attributes:{"data-cke":true}};$C.insert="head";$C.singleton=true;var QC=_k()(YC["a"],$C);var JC=YC["a"].locals||{};class ZC extends Dk{constructor(t,e={}){super(t);const n=this.bindTemplate;this.set("label",e.label||"");this.set("class",e.class||null);this.children=this.createCollection();this.setTemplate({tag:"div",attributes:{class:["ck","ck-form__header",n.to("class")]},children:this.children});const o=new Dk(t);o.setTemplate({tag:"span",attributes:{class:["ck","ck-form__header__label"]},children:[{text:n.to("label")}]});this.children.add(o)}}var XC=n(27);var tA={injectType:"singletonStyleTag",attributes:{"data-cke":true}};tA.insert="head";tA.singleton=true;var eA=_k()(XC["a"],tA);var nA=XC["a"].locals||{};class oA extends Dk{constructor(t){super(t);this.set("value");this.set("id");this.set("placeholder");this.set("isReadOnly",false);this.set("hasError",false);this.set("ariaDescribedById");this.focusTracker=new bf;this.bind("isFocused").to(this.focusTracker);this.set("isEmpty",true);const e=this.bindTemplate;this.setTemplate({tag:"input",attributes:{type:"text",class:["ck","ck-input","ck-input-text",e.if("isFocused","ck-input_focused"),e.if("isEmpty","ck-input-text_empty"),e.if("hasError","ck-error")],id:e.to("id"),placeholder:e.to("placeholder"),readonly:e.to("isReadOnly"),"aria-invalid":e.if("hasError",true),"aria-describedby":e.to("ariaDescribedById")},on:{input:e.to("input"),change:e.to(this._updateIsEmpty.bind(this))}})}render(){super.render();this.focusTracker.add(this.element);this._setDomElementValue(this.value);this._updateIsEmpty();this.on("change:value",((t,e,n)=>{this._setDomElementValue(n);this._updateIsEmpty()}))}select(){this.element.select()}focus(){this.element.focus()}_updateIsEmpty(){this.isEmpty=iA(this.element)}_setDomElementValue(t){this.element.value=!t&&t!==0?"":t}}function iA(t){return!t.value}var rA=n(28);var sA={injectType:"singletonStyleTag",attributes:{"data-cke":true}};sA.insert="head";sA.singleton=true;var aA=_k()(rA["a"],sA);var cA=rA["a"].locals||{};class lA extends Dk{constructor(t,e){super(t);const n=`ck-labeled-field-view-${a()}`;const o=`ck-labeled-field-view-status-${a()}`;this.fieldView=e(this,n,o);this.set("label");this.set("isEnabled",true);this.set("isEmpty",true);this.set("isFocused",false);this.set("errorText",null);this.set("infoText",null);this.set("class");this.set("placeholder");this.labelView=this._createLabelView(n);this.statusView=this._createStatusView(o);this.bind("_statusText").to(this,"errorText",this,"infoText",((t,e)=>t||e));const i=this.bindTemplate;this.setTemplate({tag:"div",attributes:{class:["ck","ck-labeled-field-view",i.to("class"),i.if("isEnabled","ck-disabled",(t=>!t)),i.if("isEmpty","ck-labeled-field-view_empty"),i.if("isFocused","ck-labeled-field-view_focused"),i.if("placeholder","ck-labeled-field-view_placeholder"),i.if("errorText","ck-error")]},children:[{tag:"div",attributes:{class:["ck","ck-labeled-field-view__input-wrapper"]},children:[this.fieldView,this.labelView]},this.statusView]})}_createLabelView(t){const e=new WC(this.locale);e.for=t;e.bind("text").to(this,"label");return e}_createStatusView(t){const e=new Dk(this.locale);const n=this.bindTemplate;e.setTemplate({tag:"div",attributes:{class:["ck","ck-labeled-field-view__status",n.if("errorText","ck-labeled-field-view__status_error"),n.if("_statusText","ck-hidden",(t=>!t))],id:t,role:n.if("errorText","alert")},children:[{text:n.to("_statusText")}]});return e}focus(){this.fieldView.focus()}}function dA(t,e,n){const o=new oA(t.locale);o.set({id:e,ariaDescribedById:n});o.bind("isReadOnly").to(t,"isEnabled",(t=>!t));o.bind("hasError").to(t,"errorText",(t=>!!t));o.on("input",(()=>{t.errorText=null}));t.bind("isEmpty","isFocused","placeholder").to(o);return o}function uA(t,e,n){const o=TC(t.locale);o.set({id:e,ariaDescribedById:n});o.bind("isEnabled").to(t);return o}class hA extends Ia{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 fA{constructor(t,e){if(e){vn(this,e)}if(t){this.set(t)}}}Vn(fA,Mn);var mA=n(29);var gA={injectType:"singletonStyleTag",attributes:{"data-cke":true}};gA.insert="head";gA.singleton=true;var pA=_k()(mA["a"],gA);var bA=mA["a"].locals||{};const kA=gf("px");const wA=su.document.body;class CA extends Dk{constructor(t){super(t);const e=this.bindTemplate;this.set("top",0);this.set("left",0);this.set("position","arrow_nw");this.set("isVisible",false);this.set("withArrow",true);this.set("class");this.content=this.createCollection();this.setTemplate({tag:"div",attributes:{class:["ck","ck-balloon-panel",e.to("position",(t=>`ck-balloon-panel_${t}`)),e.if("isVisible","ck-balloon-panel_visible"),e.if("withArrow","ck-balloon-panel_with-arrow"),e.to("class")],style:{top:e.to("top",kA),left:e.to("left",kA)}},children:this.content})}show(){this.isVisible=true}hide(){this.isVisible=false}attachTo(t){this.show();const e=CA.defaultPositions;const n=Object.assign({},{element:this.element,positions:[e.southArrowNorth,e.southArrowNorthMiddleWest,e.southArrowNorthMiddleEast,e.southArrowNorthWest,e.southArrowNorthEast,e.northArrowSouth,e.northArrowSouthMiddleWest,e.northArrowSouthMiddleEast,e.northArrowSouthWest,e.northArrowSouthEast],limiter:wA,fitInViewport:true},t);const o=CA._getOptimalPosition(n);const i=parseInt(o.left);const r=parseInt(o.top);const s=o.name;Object.assign(this,{top:r,left:i,position:s})}pin(t){this.unpin();this._pinWhenIsVisibleCallback=()=>{if(this.isVisible){this._startPinning(t)}else{this._stopPinning()}};this._startPinning(t);this.listenTo(this,"change:isVisible",this._pinWhenIsVisibleCallback)}unpin(){if(this._pinWhenIsVisibleCallback){this._stopPinning();this.stopListening(this,"change:isVisible",this._pinWhenIsVisibleCallback);this._pinWhenIsVisibleCallback=null;this.hide()}}_startPinning(t){this.attachTo(t);const e=AA(t.target);const n=t.limiter?AA(t.limiter):wA;this.listenTo(su.document,"scroll",((o,i)=>{const r=i.target;const s=e&&r.contains(e);const a=n&&r.contains(n);if(s||a||!e||!n){this.attachTo(t)}}),{useCapture:true});this.listenTo(su.window,"resize",(()=>{this.attachTo(t)}))}_stopPinning(){this.stopListening(su.document,"scroll");this.stopListening(su.window,"resize")}}function AA(t){if(fa(t)){return t}if(rf(t)){return t.commonAncestorContainer}if(typeof t=="function"){return AA(t())}return null}CA.arrowHorizontalOffset=25;CA.arrowVerticalOffset=10;CA._getOptimalPosition=qw;CA.defaultPositions={northWestArrowSouthWest:(t,e)=>({top:_A(t,e),left:t.left-CA.arrowHorizontalOffset,name:"arrow_sw"}),northWestArrowSouthMiddleWest:(t,e)=>({top:_A(t,e),left:t.left-e.width*.25-CA.arrowHorizontalOffset,name:"arrow_smw"}),northWestArrowSouth:(t,e)=>({top:_A(t,e),left:t.left-e.width/2,name:"arrow_s"}),northWestArrowSouthMiddleEast:(t,e)=>({top:_A(t,e),left:t.left-e.width*.75+CA.arrowHorizontalOffset,name:"arrow_sme"}),northWestArrowSouthEast:(t,e)=>({top:_A(t,e),left:t.left-e.width+CA.arrowHorizontalOffset,name:"arrow_se"}),northArrowSouthWest:(t,e)=>({top:_A(t,e),left:t.left+t.width/2-CA.arrowHorizontalOffset,name:"arrow_sw"}),northArrowSouthMiddleWest:(t,e)=>({top:_A(t,e),left:t.left+t.width/2-e.width*.25-CA.arrowHorizontalOffset,name:"arrow_smw"}),northArrowSouth:(t,e)=>({top:_A(t,e),left:t.left+t.width/2-e.width/2,name:"arrow_s"}),northArrowSouthMiddleEast:(t,e)=>({top:_A(t,e),left:t.left+t.width/2-e.width*.75+CA.arrowHorizontalOffset,name:"arrow_sme"}),northArrowSouthEast:(t,e)=>({top:_A(t,e),left:t.left+t.width/2-e.width+CA.arrowHorizontalOffset,name:"arrow_se"}),northEastArrowSouthWest:(t,e)=>({top:_A(t,e),left:t.right-CA.arrowHorizontalOffset,name:"arrow_sw"}),northEastArrowSouthMiddleWest:(t,e)=>({top:_A(t,e),left:t.right-e.width*.25-CA.arrowHorizontalOffset,name:"arrow_smw"}),northEastArrowSouth:(t,e)=>({top:_A(t,e),left:t.right-e.width/2,name:"arrow_s"}),northEastArrowSouthMiddleEast:(t,e)=>({top:_A(t,e),left:t.right-e.width*.75+CA.arrowHorizontalOffset,name:"arrow_sme"}),northEastArrowSouthEast:(t,e)=>({top:_A(t,e),left:t.right-e.width+CA.arrowHorizontalOffset,name:"arrow_se"}),southWestArrowNorthWest:(t,e)=>({top:vA(t,e),left:t.left-CA.arrowHorizontalOffset,name:"arrow_nw"}),southWestArrowNorthMiddleWest:(t,e)=>({top:vA(t,e),left:t.left-e.width*.25-CA.arrowHorizontalOffset,name:"arrow_nmw"}),southWestArrowNorth:(t,e)=>({top:vA(t,e),left:t.left-e.width/2,name:"arrow_n"}),southWestArrowNorthMiddleEast:(t,e)=>({top:vA(t,e),left:t.left-e.width*.75+CA.arrowHorizontalOffset,name:"arrow_nme"}),southWestArrowNorthEast:(t,e)=>({top:vA(t,e),left:t.left-e.width+CA.arrowHorizontalOffset,name:"arrow_ne"}),southArrowNorthWest:(t,e)=>({top:vA(t,e),left:t.left+t.width/2-CA.arrowHorizontalOffset,name:"arrow_nw"}),southArrowNorthMiddleWest:(t,e)=>({top:vA(t,e),left:t.left+t.width/2-e.width*.25-CA.arrowHorizontalOffset,name:"arrow_nmw"}),southArrowNorth:(t,e)=>({top:vA(t,e),left:t.left+t.width/2-e.width/2,name:"arrow_n"}),southArrowNorthMiddleEast:(t,e)=>({top:vA(t,e),left:t.left+t.width/2-e.width*.75+CA.arrowHorizontalOffset,name:"arrow_nme"}),southArrowNorthEast:(t,e)=>({top:vA(t,e),left:t.left+t.width/2-e.width+CA.arrowHorizontalOffset,name:"arrow_ne"}),southEastArrowNorthWest:(t,e)=>({top:vA(t,e),left:t.right-CA.arrowHorizontalOffset,name:"arrow_nw"}),southEastArrowNorthMiddleWest:(t,e)=>({top:vA(t,e),left:t.right-e.width*.25-CA.arrowHorizontalOffset,name:"arrow_nmw"}),southEastArrowNorth:(t,e)=>({top:vA(t,e),left:t.right-e.width/2,name:"arrow_n"}),southEastArrowNorthMiddleEast:(t,e)=>({top:vA(t,e),left:t.right-e.width*.75+CA.arrowHorizontalOffset,name:"arrow_nme"}),southEastArrowNorthEast:(t,e)=>({top:vA(t,e),left:t.right-e.width+CA.arrowHorizontalOffset,name:"arrow_ne"})};function _A(t,e){return t.top-e.height-CA.arrowVerticalOffset}function vA(t){return t.bottom+CA.arrowVerticalOffset}var yA=' ';var xA=' ';var EA=n(30);var DA={injectType:"singletonStyleTag",attributes:{"data-cke":true}};DA.insert="head";DA.singleton=true;var TA=_k()(EA["a"],DA);var SA=EA["a"].locals||{};var MA=n(31);var IA={injectType:"singletonStyleTag",attributes:{"data-cke":true}};IA.insert="head";IA.singleton=true;var BA=_k()(MA["a"],IA);var NA=MA["a"].locals||{};const zA=gf("px");class PA extends Hn{static get pluginName(){return"ContextualBalloon"}constructor(t){super(t);this.positionLimiter=()=>{const t=this.editor.editing.view;const e=t.document;const n=e.selection.editableElement;if(n){return t.domConverter.mapViewToDom(n.root)}return null};this.set("visibleView",null);this.view=new CA(t.locale);t.ui.view.body.add(this.view);t.ui.focusTracker.add(this.view.element);this._viewToStack=new Map;this._idToStack=new Map;this.set("_numberOfStacks",0);this.set("_singleViewMode",false);this._rotatorView=this._createRotatorView();this._fakePanelsView=this._createFakePanelsView()}hasView(t){return Array.from(this._viewToStack.keys()).includes(t)}add(t){if(this.hasView(t.view)){throw new u["a"]("contextualballoon-add-view-exist",[this,t])}const e=t.stackId||"main";if(!this._idToStack.has(e)){this._idToStack.set(e,new Map([[t.view,t]]));this._viewToStack.set(t.view,this._idToStack.get(e));this._numberOfStacks=this._idToStack.size;if(!this._visibleStack||t.singleViewMode){this.showStack(e)}return}const n=this._idToStack.get(e);if(t.singleViewMode){this.showStack(e)}n.set(t.view,t);this._viewToStack.set(t.view,n);if(n===this._visibleStack){this._showView(t)}}remove(t){if(!this.hasView(t)){throw new u["a"]("contextualballoon-remove-view-not-exist",[this,t])}const e=this._viewToStack.get(t);if(this._singleViewMode&&this.visibleView===t){this._singleViewMode=false}if(this.visibleView===t){if(e.size===1){if(this._idToStack.size>1){this._showNextStack()}else{this.view.hide();this.visibleView=null;this._rotatorView.hideView()}}else{this._showView(Array.from(e.values())[e.size-2])}}if(e.size===1){this._idToStack.delete(this._getStackId(e));this._numberOfStacks=this._idToStack.size}else{e.delete(t)}this._viewToStack.delete(t)}updatePosition(t){if(t){this._visibleStack.get(this.visibleView).position=t}this.view.pin(this._getBalloonPosition());this._fakePanelsView.updatePosition()}showStack(t){this.visibleStack=t;const e=this._idToStack.get(t);if(!e){throw new u["a"]("contextualballoon-showstack-stack-not-exist",this)}if(this._visibleStack===e){return}this._showView(Array.from(e.values()).pop())}get _visibleStack(){return this._viewToStack.get(this.visibleView)}_getStackId(t){const e=Array.from(this._idToStack.entries()).find((e=>e[1]===t));return e[0]}_showNextStack(){const t=Array.from(this._idToStack.values());let e=t.indexOf(this._visibleStack)+1;if(!t[e]){e=0}this.showStack(this._getStackId(t[e]))}_showPrevStack(){const t=Array.from(this._idToStack.values());let e=t.indexOf(this._visibleStack)-1;if(!t[e]){e=t.length-1}this.showStack(this._getStackId(t[e]))}_createRotatorView(){const t=new LA(this.editor.locale);const e=this.editor.locale.t;this.view.content.add(t);t.bind("isNavigationVisible").to(this,"_numberOfStacks",this,"_singleViewMode",((t,e)=>!e&&t>1));t.on("change:isNavigationVisible",(()=>this.updatePosition()),{priority:"low"});t.bind("counter").to(this,"visibleView",this,"_numberOfStacks",((t,n)=>{if(n<2){return""}const o=Array.from(this._idToStack.values()).indexOf(this._visibleStack)+1;return e("%0 of %1",[o,n])}));t.buttonNextView.on("execute",(()=>{if(t.focusTracker.isFocused){this.editor.editing.view.focus()}this._showNextStack()}));t.buttonPrevView.on("execute",(()=>{if(t.focusTracker.isFocused){this.editor.editing.view.focus()}this._showPrevStack()}));return t}_createFakePanelsView(){const t=new OA(this.editor.locale,this.view);t.bind("numberOfPanels").to(this,"_numberOfStacks",this,"_singleViewMode",((t,e)=>{const n=!e&&t>=2;return n?Math.min(t-1,2):0}));t.listenTo(this.view,"change:top",(()=>t.updatePosition()));t.listenTo(this.view,"change:left",(()=>t.updatePosition()));this.editor.ui.view.body.add(t);return t}_showView({view:t,balloonClassName:e="",withArrow:n=true,singleViewMode:o=false}){this.view.class=e;this.view.withArrow=n;this._rotatorView.showView(t);this.visibleView=t;this.view.pin(this._getBalloonPosition());this._fakePanelsView.updatePosition();if(o){this._singleViewMode=true}}_getBalloonPosition(){let t=Array.from(this._visibleStack.values()).pop().position;if(t&&!t.limiter){t=Object.assign({},t,{limiter:this.positionLimiter})}return t}}class LA extends Dk{constructor(t){super(t);const e=t.t;const n=this.bindTemplate;this.set("isNavigationVisible",true);this.focusTracker=new bf;this.buttonPrevView=this._createButtonView(e("Previous"),yA);this.buttonNextView=this._createButtonView(e("Next"),xA);this.content=this.createCollection();this.setTemplate({tag:"div",attributes:{class:["ck","ck-balloon-rotator"],"z-index":"-1"},children:[{tag:"div",attributes:{class:["ck-balloon-rotator__navigation",n.to("isNavigationVisible",(t=>t?"":"ck-hidden"))]},children:[this.buttonPrevView,{tag:"span",attributes:{class:["ck-balloon-rotator__counter"]},children:[{text:n.to("counter")}]},this.buttonNextView]},{tag:"div",attributes:{class:"ck-balloon-rotator__content"},children:this.content}]})}render(){super.render();this.focusTracker.add(this.element)}showView(t){this.hideView();this.content.add(t)}hideView(){this.content.clear()}_createButtonView(t,e){const n=new pw(this.locale);n.set({label:t,icon:e,tooltip:true});return n}}class OA extends Dk{constructor(t,e){super(t);const n=this.bindTemplate;this.set("top",0);this.set("left",0);this.set("height",0);this.set("width",0);this.set("numberOfPanels",0);this.content=this.createCollection();this._balloonPanelView=e;this.setTemplate({tag:"div",attributes:{class:["ck-fake-panel",n.to("numberOfPanels",(t=>t?"":"ck-hidden"))],style:{top:n.to("top",zA),left:n.to("left",zA),width:n.to("width",zA),height:n.to("height",zA)}},children:this.content});this.on("change:numberOfPanels",((t,e,n,o)=>{if(n>o){this._addPanels(n-o)}else{this._removePanels(o-n)}this.updatePosition()}))}_addPanels(t){while(t--){const t=new Dk;t.setTemplate({tag:"div"});this.content.add(t);this.registerChild(t)}}_removePanels(t){while(t--){const t=this.content.last;this.content.remove(t);this.deregisterChild(t);t.destroy()}}updatePosition(){if(this.numberOfPanels){const{top:t,left:e}=this._balloonPanelView;const{width:n,height:o}=new cf(this._balloonPanelView.element);Object.assign(this,{top:t,left:e,width:n,height:o})}}}var RA=n(32);var FA={injectType:"singletonStyleTag",attributes:{"data-cke":true}};FA.insert="head";FA.singleton=true;var jA=_k()(RA["a"],FA);var VA=RA["a"].locals||{};const HA=gf("px");class UA extends Dk{constructor(t){super(t);const e=this.bindTemplate;this.set("isActive",false);this.set("isSticky",false);this.set("limiterElement",null);this.set("limiterBottomOffset",50);this.set("viewportTopOffset",0);this.set("_marginLeft",null);this.set("_isStickyToTheLimiter",false);this.set("_hasViewportTopOffset",false);this.content=this.createCollection();this._contentPanelPlaceholder=new Sk({tag:"div",attributes:{class:["ck","ck-sticky-panel__placeholder"],style:{display:e.to("isSticky",(t=>t?"block":"none")),height:e.to("isSticky",(t=>t?HA(this._panelRect.height):null))}}}).render();this._contentPanel=new Sk({tag:"div",attributes:{class:["ck","ck-sticky-panel__content",e.if("isSticky","ck-sticky-panel__content_sticky"),e.if("_isStickyToTheLimiter","ck-sticky-panel__content_sticky_bottom-limit")],style:{width:e.to("isSticky",(t=>t?HA(this._contentPanelPlaceholder.getBoundingClientRect().width):null)),top:e.to("_hasViewportTopOffset",(t=>t?HA(this.viewportTopOffset):null)),bottom:e.to("_isStickyToTheLimiter",(t=>t?HA(this.limiterBottomOffset):null)),marginLeft:e.to("_marginLeft")}},children:this.content}).render();this.setTemplate({tag:"div",attributes:{class:["ck","ck-sticky-panel"]},children:[this._contentPanelPlaceholder,this._contentPanel]})}render(){super.render();this._checkIfShouldBeSticky();this.listenTo(su.window,"scroll",(()=>{this._checkIfShouldBeSticky()}));this.listenTo(this,"change:isActive",(()=>{this._checkIfShouldBeSticky()}))}_checkIfShouldBeSticky(){const t=this._panelRect=this._contentPanel.getBoundingClientRect();let e;if(!this.limiterElement){this.isSticky=false}else{e=this._limiterRect=this.limiterElement.getBoundingClientRect();this.isSticky=this.isActive&&e.top{if(n.isFocused&&!o.focusTracker.isFocused){if(i){i()}o.focus();e()}}));o.keystrokes.set("Esc",((e,n)=>{if(o.focusTracker.isFocused){t.focus();if(r){r()}n()}}))}const KA=gf("px");class GA extends Hn{static get pluginName(){return"BalloonToolbar"}static get requires(){return[PA]}constructor(t){super(t);this._balloonConfig=iC(t.config.get("balloonToolbar"));this.toolbarView=this._createToolbarView();this.focusTracker=new bf;t.ui.once("ready",(()=>{this.focusTracker.add(t.ui.getEditableElement());this.focusTracker.add(this.toolbarView.element)}));this._resizeObserver=null;this._balloon=t.plugins.get(PA);this._fireSelectionChangeDebounced=Gh((()=>this.fire("_selectionChangeDebounced")),200);this.decorate("show")}init(){const t=this.editor;const e=t.model.document.selection;this.listenTo(this.focusTracker,"change:isFocused",((t,e,n)=>{const o=this._balloon.visibleView===this.toolbarView;if(!n&&o){this.hide()}else if(n){this.show()}}));this.listenTo(e,"change:range",((t,n)=>{if(n.directChange||e.isCollapsed){this.hide()}this._fireSelectionChangeDebounced()}));this.listenTo(this,"_selectionChangeDebounced",(()=>{if(this.editor.editing.view.document.isFocused){this.show()}}));if(!this._balloonConfig.shouldNotGroupWhenFull){this.listenTo(t,"ready",(()=>{const e=t.ui.view.editable.element;this._resizeObserver=new hf(e,(()=>{this.toolbarView.maxWidth=KA(new cf(e).width*.9)}))}))}this.listenTo(this.toolbarView,"groupedItemsUpdate",(()=>{this._updatePosition()}))}afterInit(){const t=this.editor.ui.componentFactory;this.toolbarView.fillFromConfig(this._balloonConfig,t)}_createToolbarView(){const t=!this._balloonConfig.shouldNotGroupWhenFull;const e=new lC(this.editor.locale,{shouldGroupWhenFull:t,isFloating:true});e.render();return e}show(){const t=this.editor;const e=t.model.document.selection;const n=t.model.schema;if(this._balloon.hasView(this.toolbarView)){return}if(e.isCollapsed){return}if(YA(e,n)){return}if(Array.from(this.toolbarView.items).every((t=>t.isEnabled!==undefined&&!t.isEnabled))){return}this.listenTo(this.editor.ui,"update",(()=>{this._updatePosition()}));this._balloon.add({view:this.toolbarView,position:this._getBalloonPositionData(),balloonClassName:"ck-toolbar-container"})}hide(){if(this._balloon.hasView(this.toolbarView)){this.stopListening(this.editor.ui,"update");this._balloon.remove(this.toolbarView)}}_getBalloonPositionData(){const t=this.editor;const e=t.editing.view;const n=e.document;const o=n.selection;const i=n.selection.isBackward;return{target:()=>{const t=i?o.getFirstRange():o.getLastRange();const n=cf.getDomRangeRects(e.domConverter.viewRangeToDom(t));if(i){return n[0]}else{if(n.length>1&&n[n.length-1].width===0){n.pop()}return n[n.length-1]}},positions:qA(i)}}_updatePosition(){this._balloon.updatePosition(this._getBalloonPositionData())}destroy(){super.destroy();this.stopListening();this._fireSelectionChangeDebounced.cancel();this.toolbarView.destroy();this.focusTracker.destroy();if(this._resizeObserver){this._resizeObserver.destroy()}}}function qA(t){const e=CA.defaultPositions;return t?[e.northWestArrowSouth,e.northWestArrowSouthWest,e.northWestArrowSouthEast,e.northWestArrowSouthMiddleEast,e.northWestArrowSouthMiddleWest,e.southWestArrowNorth,e.southWestArrowNorthWest,e.southWestArrowNorthEast,e.southWestArrowNorthMiddleWest,e.southWestArrowNorthMiddleEast]:[e.southEastArrowNorth,e.southEastArrowNorthEast,e.southEastArrowNorthWest,e.southEastArrowNorthMiddleEast,e.southEastArrowNorthMiddleWest,e.northEastArrowSouth,e.northEastArrowSouthEast,e.northEastArrowSouthWest,e.northEastArrowSouthMiddleEast,e.northEastArrowSouthMiddleWest]}function YA(t,e){if(t.rangeCount===1){return false}return[...t.getRanges()].every((t=>{const n=t.getContainedElement();return n&&e.isSelectable(n)}))}var $A=n(33);var QA={injectType:"singletonStyleTag",attributes:{"data-cke":true}};QA.insert="head";QA.singleton=true;var JA=_k()($A["a"],QA);var ZA=$A["a"].locals||{};const XA=gf("px");class t_ extends pw{constructor(t){super(t);const e=this.bindTemplate;this.isVisible=false;this.isToggleable=true;this.set("top",0);this.set("left",0);this.extendTemplate({attributes:{class:"ck-block-toolbar-button",style:{top:e.to("top",(t=>XA(t))),left:e.to("left",(t=>XA(t)))}}})}}const e_=gf("px");class n_ extends Hn{static get pluginName(){return"BlockToolbar"}constructor(t){super(t);this._blockToolbarConfig=iC(this.editor.config.get("blockToolbar"));this.toolbarView=this._createToolbarView();this.panelView=this._createPanelView();this.buttonView=this._createButtonView();this._resizeObserver=null;pk({emitter:this.panelView,contextElements:[this.panelView.element,this.buttonView.element],activator:()=>this.panelView.isVisible,callback:()=>this._hidePanel()})}init(){const t=this.editor;this.listenTo(t.model.document.selection,"change:range",((t,e)=>{if(e.directChange){this._hidePanel()}}));this.listenTo(t.ui,"update",(()=>this._updateButton()));this.listenTo(t,"change:isReadOnly",(()=>this._updateButton()),{priority:"low"});this.listenTo(t.ui.focusTracker,"change:isFocused",(()=>this._updateButton()));this.listenTo(this.buttonView,"change:isVisible",((t,e,n)=>{if(n){this.buttonView.listenTo(window,"resize",(()=>this._updateButton()))}else{this.buttonView.stopListening(window,"resize");this._hidePanel()}}))}afterInit(){const t=this.editor.ui.componentFactory;const e=this._blockToolbarConfig;this.toolbarView.fillFromConfig(e,t);for(const t of this.toolbarView.items){t.on("execute",(()=>this._hidePanel(true)),{priority:"high"})}if(!e.shouldNotGroupWhenFull){this.listenTo(this.editor,"ready",(()=>{const t=this.editor.ui.view.editable.element;this._resizeObserver=new hf(t,(()=>{this.toolbarView.maxWidth=this._getToolbarMaxWidth()}))}))}}destroy(){super.destroy();this.panelView.destroy();this.buttonView.destroy();this.toolbarView.destroy();if(this._resizeObserver){this._resizeObserver.destroy()}}_createToolbarView(){const t=!this._blockToolbarConfig.shouldNotGroupWhenFull;const e=new lC(this.editor.locale,{shouldGroupWhenFull:t,isFloating:true});e.focusTracker.on("change:isFocused",((t,e,n)=>{if(!n){this._hidePanel()}}));return e}_createPanelView(){const t=this.editor;const e=new CA(t.locale);e.content.add(this.toolbarView);e.class="ck-toolbar-container";t.ui.view.body.add(e);t.ui.focusTracker.add(e.element);this.toolbarView.keystrokes.set("Esc",((t,e)=>{this._hidePanel(true);e()}));return e}_createButtonView(){const t=this.editor;const e=t.t;const n=new t_(t.locale);n.set({label:e("Edit block"),icon:gk.pilcrow,withText:false});n.bind("isOn").to(this.panelView,"isVisible");n.bind("tooltip").to(this.panelView,"isVisible",(t=>!t));this.listenTo(n,"execute",(()=>{if(!this.panelView.isVisible){this._showPanel()}else{this._hidePanel(true)}}));t.ui.view.body.add(n);t.ui.focusTracker.add(n.element);return n}_updateButton(){const t=this.editor;const e=t.model;const n=t.editing.view;if(!t.ui.focusTracker.isFocused){this._hideButton();return}if(t.isReadOnly){this._hideButton();return}const o=Array.from(e.document.selection.getSelectedBlocks())[0];if(!o||Array.from(this.toolbarView.items).every((t=>!t.isEnabled))){this._hideButton();return}const i=n.domConverter.mapViewToDom(t.editing.mapper.toViewElement(o));this.buttonView.isVisible=true;this._attachButtonToElement(i);if(this.panelView.isVisible){this._showPanel()}}_hideButton(){this.buttonView.isVisible=false}_showPanel(){const t=this.panelView.isVisible;this.panelView.show();this.toolbarView.maxWidth=this._getToolbarMaxWidth();this.panelView.pin({target:this.buttonView.element,limiter:this.editor.ui.getEditableElement()});if(!t){this.toolbarView.items.get(0).focus()}}_hidePanel(t){this.panelView.isVisible=false;if(t){this.editor.editing.view.focus()}}_attachButtonToElement(t){const e=window.getComputedStyle(t);const n=new cf(this.editor.ui.getEditableElement());const o=parseInt(e.paddingTop,10);const i=parseInt(e.lineHeight,10)||parseInt(e.fontSize,10)*1.2;const r=qw({element:this.buttonView.element,target:t,positions:[(t,e)=>{let r;if(this.editor.locale.uiLanguageDirection==="ltr"){r=n.left-e.width}else{r=n.right}return{top:t.top+o+(i-e.height)/2,left:r}}]});this.buttonView.top=r.top;this.buttonView.left=r.left}_getToolbarMaxWidth(){const t=this.editor.ui.view.editable.element;const e=new cf(t);const n=new cf(this.buttonView.element);const o=this.editor.locale.uiLanguageDirection==="rtl";const i=o?n.left-e.right+n.width:e.left-n.left;return e_(e.width+i)}}var o_=n(34);var i_={injectType:"singletonStyleTag",attributes:{"data-cke":true}};i_.insert="head";i_.singleton=true;var r_=_k()(o_["a"],i_);var s_=o_["a"].locals||{};const a_=new WeakMap;function c_(t){const{view:e,element:n,text:o,isDirectHost:i=true,keepOnFocus:r=false}=t;const s=e.document;if(!a_.has(s)){a_.set(s,new Map);s.registerPostFixer((t=>f_(s,t)))}a_.get(s).set(n,{text:o,isDirectHost:i,keepOnFocus:r,hostElement:i?n:null});e.change((t=>f_(s,t)))}function l_(t,e){const n=e.document;t.change((t=>{if(!a_.has(n)){return}const o=a_.get(n);const i=o.get(e);t.removeAttribute("data-placeholder",i.hostElement);u_(t,i.hostElement);o.delete(e)}))}function d_(t,e){if(!e.hasClass("ck-placeholder")){t.addClass("ck-placeholder",e);return true}return false}function u_(t,e){if(e.hasClass("ck-placeholder")){t.removeClass("ck-placeholder",e);return true}return false}function h_(t,e){if(!t.isAttached()){return false}const n=Array.from(t.getChildren()).some((t=>!t.is("uiElement")));if(n){return false}if(e){return true}const o=t.document;if(!o.isFocused){return true}const i=o.selection;const r=i.anchor;return r&&r.parent!==t}function f_(t,e){const n=a_.get(t);const o=[];let i=false;for(const[t,r]of n){if(r.isDirectHost){o.push(t);if(m_(e,t,r)){i=true}}}for(const[t,r]of n){if(r.isDirectHost){continue}const n=g_(t);if(!n){continue}if(o.includes(n)){continue}r.hostElement=n;if(m_(e,t,r)){i=true}}return i}function m_(t,e,n){const{text:o,isDirectHost:i,hostElement:r}=n;let s=false;if(r.getAttribute("data-placeholder")!==o){t.setAttribute("data-placeholder",o,r);s=true}const a=i||e.childCount==1;if(a&&h_(r,n.keepOnFocus)){if(d_(t,r)){s=true}}else if(u_(t,r)){s=true}return s}function g_(t){if(t.childCount){const e=t.getChild(0);if(e.is("element")&&!e.is("uiElement")){return e}}return null}const p_=new Map;function b_(t,e,n){let o=p_.get(t);if(!o){o=new Map;p_.set(t,o)}o.set(e,n)}function k_(t,e){const n=p_.get(t);if(n&&n.has(e)){return n.get(e)}return w_}function w_(t){return[t]}function C_(t,e,n={}){const o=k_(t.constructor,e.constructor);try{t=t.clone();return o(t,e,n)}catch(t){throw t}}function A_(t,e,n){t=t.slice();e=e.slice();const o=new __(n.document,n.useRelations,n.forceWeakRemove);o.setOriginalOperations(t);o.setOriginalOperations(e);const i=o.originalOperations;if(t.length==0||e.length==0){return{operationsA:t,operationsB:e,originalOperations:i}}const r=new WeakMap;for(const e of t){r.set(e,0)}const s={nextBaseVersionA:t[t.length-1].baseVersion+1,nextBaseVersionB:e[e.length-1].baseVersion+1,originalOperationsACount:t.length,originalOperationsBCount:e.length};let a=0;while(a{if(t.key===e.key&&t.range.start.hasSameParentAs(e.range.start)){const o=t.range.getDifference(e.range).map((e=>new hp(e,t.key,t.oldValue,t.newValue,0)));const i=t.range.getIntersection(e.range);if(i){if(n.aIsStrong){o.push(new hp(i,e.key,e.newValue,t.newValue,0))}}if(o.length==0){return[new Up(0)]}return o}else{return[t]}}));b_(hp,gp,((t,e)=>{if(t.range.start.hasSameParentAs(e.position)&&t.range.containsPosition(e.position)){const n=t.range._getTransformedByInsertion(e.position,e.howMany,!e.shouldReceiveAttributes);const o=n.map((e=>new hp(e,t.key,t.oldValue,t.newValue,t.baseVersion)));if(e.shouldReceiveAttributes){const n=x_(e,t.key,t.oldValue);if(n){o.unshift(n)}}return o}t.range=t.range._getTransformedByInsertion(e.position,e.howMany,false)[0];return[t]}));function x_(t,e,n){const o=t.nodes;const i=o.getNode(0).getAttribute(e);if(i==n){return null}const r=new Kf(t.position,t.position.getShiftedBy(t.howMany));return new hp(r,e,i,n,0)}b_(hp,wp,((t,e)=>{const n=[];if(t.range.start.hasSameParentAs(e.deletionPosition)){if(t.range.containsPosition(e.deletionPosition)||t.range.start.isEqual(e.deletionPosition)){n.push(Kf._createFromPositionAndShift(e.graveyardPosition,1))}}const o=t.range._getTransformedByMergeOperation(e);if(!o.isCollapsed){n.push(o)}return n.map((e=>new hp(e,t.key,t.oldValue,t.newValue,t.baseVersion)))}));b_(hp,mp,((t,e)=>{const n=E_(t.range,e);return n.map((e=>new hp(e,t.key,t.oldValue,t.newValue,t.baseVersion)))}));function E_(t,e){const n=Kf._createFromPositionAndShift(e.sourcePosition,e.howMany);let o=null;let i=[];if(n.containsRange(t,true)){o=t}else if(t.start.hasSameParentAs(n.start)){i=t.getDifference(n);o=t.getIntersection(n)}else{i=[t]}const r=[];for(let t of i){t=t._getTransformedByDeletion(e.sourcePosition,e.howMany);const n=e.getMovedRangeStart();const o=t.start.hasSameParentAs(n);t=t._getTransformedByInsertion(n,e.howMany,o);r.push(...t)}if(o){r.push(o._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany,false)[0])}return r}b_(hp,Cp,((t,e)=>{if(t.range.end.isEqual(e.insertionPosition)){if(!e.graveyardPosition){t.range.end.offset++}return[t]}if(t.range.start.hasSameParentAs(e.splitPosition)&&t.range.containsPosition(e.splitPosition)){const n=t.clone();n.range=new Kf(e.moveTargetPosition.clone(),t.range.end._getCombined(e.splitPosition,e.moveTargetPosition));t.range.end=e.splitPosition.clone();t.range.end.stickiness="toPrevious";return[t,n]}t.range=t.range._getTransformedBySplitOperation(e);return[t]}));b_(gp,hp,((t,e)=>{const n=[t];if(t.shouldReceiveAttributes&&t.position.hasSameParentAs(e.range.start)&&e.range.containsPosition(t.position)){const o=x_(t,e.key,e.newValue);if(o){n.push(o)}}return n}));b_(gp,gp,((t,e,n)=>{if(t.position.isEqual(e.position)&&n.aIsStrong){return[t]}t.position=t.position._getTransformedByInsertOperation(e);return[t]}));b_(gp,mp,((t,e)=>{t.position=t.position._getTransformedByMoveOperation(e);return[t]}));b_(gp,Cp,((t,e)=>{t.position=t.position._getTransformedBySplitOperation(e);return[t]}));b_(gp,wp,((t,e)=>{t.position=t.position._getTransformedByMergeOperation(e);return[t]}));b_(pp,gp,((t,e)=>{if(t.oldRange){t.oldRange=t.oldRange._getTransformedByInsertOperation(e)[0]}if(t.newRange){t.newRange=t.newRange._getTransformedByInsertOperation(e)[0]}return[t]}));b_(pp,pp,((t,e,n)=>{if(t.name==e.name){if(n.aIsStrong){t.oldRange=e.newRange?e.newRange.clone():null}else{return[new Up(0)]}}return[t]}));b_(pp,wp,((t,e)=>{if(t.oldRange){t.oldRange=t.oldRange._getTransformedByMergeOperation(e)}if(t.newRange){t.newRange=t.newRange._getTransformedByMergeOperation(e)}return[t]}));b_(pp,mp,((t,e,n)=>{if(t.oldRange){t.oldRange=Kf._createFromRanges(t.oldRange._getTransformedByMoveOperation(e))}if(t.newRange){if(n.abRelation){const o=Kf._createFromRanges(t.newRange._getTransformedByMoveOperation(e));if(n.abRelation.side=="left"&&e.targetPosition.isEqual(t.newRange.start)){t.newRange.start.path=n.abRelation.path;t.newRange.end=o.end;return[t]}else if(n.abRelation.side=="right"&&e.targetPosition.isEqual(t.newRange.end)){t.newRange.start=o.start;t.newRange.end.path=n.abRelation.path;return[t]}}t.newRange=Kf._createFromRanges(t.newRange._getTransformedByMoveOperation(e))}return[t]}));b_(pp,Cp,((t,e,n)=>{if(t.oldRange){t.oldRange=t.oldRange._getTransformedBySplitOperation(e)}if(t.newRange){if(n.abRelation){const o=t.newRange._getTransformedBySplitOperation(e);if(t.newRange.start.isEqual(e.splitPosition)&&n.abRelation.wasStartBeforeMergedElement){t.newRange.start=Vf._createAt(e.insertionPosition)}else if(t.newRange.start.isEqual(e.splitPosition)&&!n.abRelation.wasInLeftElement){t.newRange.start=Vf._createAt(e.moveTargetPosition)}if(t.newRange.end.isEqual(e.splitPosition)&&n.abRelation.wasInRightElement){t.newRange.end=Vf._createAt(e.moveTargetPosition)}else if(t.newRange.end.isEqual(e.splitPosition)&&n.abRelation.wasEndBeforeMergedElement){t.newRange.end=Vf._createAt(e.insertionPosition)}else{t.newRange.end=o.end}return[t]}t.newRange=t.newRange._getTransformedBySplitOperation(e)}return[t]}));b_(wp,gp,((t,e)=>{if(t.sourcePosition.hasSameParentAs(e.position)){t.howMany+=e.howMany}t.sourcePosition=t.sourcePosition._getTransformedByInsertOperation(e);t.targetPosition=t.targetPosition._getTransformedByInsertOperation(e);return[t]}));b_(wp,wp,((t,e,n)=>{if(t.sourcePosition.isEqual(e.sourcePosition)&&t.targetPosition.isEqual(e.targetPosition)){if(!n.bWasUndone){return[new Up(0)]}else{const n=e.graveyardPosition.path.slice();n.push(0);t.sourcePosition=new Vf(e.graveyardPosition.root,n);t.howMany=0;return[t]}}if(t.sourcePosition.isEqual(e.sourcePosition)&&!t.targetPosition.isEqual(e.targetPosition)&&!n.bWasUndone&&n.abRelation!="splitAtSource"){const o=t.targetPosition.root.rootName=="$graveyard";const i=e.targetPosition.root.rootName=="$graveyard";const r=o&&!i;const s=i&&!o;const a=s||!r&&n.aIsStrong;if(a){const n=e.targetPosition._getTransformedByMergeOperation(e);const o=t.targetPosition._getTransformedByMergeOperation(e);return[new mp(n,t.howMany,o,0)]}else{return[new Up(0)]}}if(t.sourcePosition.hasSameParentAs(e.targetPosition)){t.howMany+=e.howMany}t.sourcePosition=t.sourcePosition._getTransformedByMergeOperation(e);t.targetPosition=t.targetPosition._getTransformedByMergeOperation(e);if(!t.graveyardPosition.isEqual(e.graveyardPosition)||!n.aIsStrong){t.graveyardPosition=t.graveyardPosition._getTransformedByMergeOperation(e)}return[t]}));b_(wp,mp,((t,e,n)=>{const o=Kf._createFromPositionAndShift(e.sourcePosition,e.howMany);if(e.type=="remove"&&!n.bWasUndone&&!n.forceWeakRemove){if(t.deletionPosition.hasSameParentAs(e.sourcePosition)&&o.containsPosition(t.sourcePosition)){return[new Up(0)]}}if(t.sourcePosition.hasSameParentAs(e.targetPosition)){t.howMany+=e.howMany}if(t.sourcePosition.hasSameParentAs(e.sourcePosition)){t.howMany-=e.howMany}t.sourcePosition=t.sourcePosition._getTransformedByMoveOperation(e);t.targetPosition=t.targetPosition._getTransformedByMoveOperation(e);if(!t.graveyardPosition.isEqual(e.targetPosition)){t.graveyardPosition=t.graveyardPosition._getTransformedByMoveOperation(e)}return[t]}));b_(wp,Cp,((t,e,n)=>{if(e.graveyardPosition){t.graveyardPosition=t.graveyardPosition._getTransformedByDeletion(e.graveyardPosition,1);if(t.deletionPosition.isEqual(e.graveyardPosition)){t.howMany=e.howMany}}if(t.targetPosition.isEqual(e.splitPosition)){const o=e.howMany!=0;const i=e.graveyardPosition&&t.deletionPosition.isEqual(e.graveyardPosition);if(o||i||n.abRelation=="mergeTargetNotMoved"){t.sourcePosition=t.sourcePosition._getTransformedBySplitOperation(e);return[t]}}if(t.sourcePosition.isEqual(e.splitPosition)){if(n.abRelation=="mergeSourceNotMoved"){t.howMany=0;t.targetPosition=t.targetPosition._getTransformedBySplitOperation(e);return[t]}if(n.abRelation=="mergeSameElement"||t.sourcePosition.offset>0){t.sourcePosition=e.moveTargetPosition.clone();t.targetPosition=t.targetPosition._getTransformedBySplitOperation(e);return[t]}}if(t.sourcePosition.hasSameParentAs(e.splitPosition)){t.howMany=e.splitPosition.offset}t.sourcePosition=t.sourcePosition._getTransformedBySplitOperation(e);t.targetPosition=t.targetPosition._getTransformedBySplitOperation(e);return[t]}));b_(mp,gp,((t,e)=>{const n=Kf._createFromPositionAndShift(t.sourcePosition,t.howMany);const o=n._getTransformedByInsertOperation(e,false)[0];t.sourcePosition=o.start;t.howMany=o.end.offset-o.start.offset;if(!t.targetPosition.isEqual(e.position)){t.targetPosition=t.targetPosition._getTransformedByInsertOperation(e)}return[t]}));b_(mp,mp,((t,e,n)=>{const o=Kf._createFromPositionAndShift(t.sourcePosition,t.howMany);const i=Kf._createFromPositionAndShift(e.sourcePosition,e.howMany);let r=n.aIsStrong;let s=!n.aIsStrong;if(n.abRelation=="insertBefore"||n.baRelation=="insertAfter"){s=true}else if(n.abRelation=="insertAfter"||n.baRelation=="insertBefore"){s=false}let a;if(t.targetPosition.isEqual(e.targetPosition)&&s){a=t.targetPosition._getTransformedByDeletion(e.sourcePosition,e.howMany)}else{a=t.targetPosition._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany)}if(D_(t,e)&&D_(e,t)){return[e.getReversed()]}const c=o.containsPosition(e.targetPosition);if(c&&o.containsRange(i,true)){o.start=o.start._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany);o.end=o.end._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany);return T_([o],a)}const l=i.containsPosition(t.targetPosition);if(l&&i.containsRange(o,true)){o.start=o.start._getCombined(e.sourcePosition,e.getMovedRangeStart());o.end=o.end._getCombined(e.sourcePosition,e.getMovedRangeStart());return T_([o],a)}const d=Ba(t.sourcePosition.getParentPath(),e.sourcePosition.getParentPath());if(d=="prefix"||d=="extension"){o.start=o.start._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany);o.end=o.end._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany);return T_([o],a)}if(t.type=="remove"&&e.type!="remove"&&!n.aWasUndone&&!n.forceWeakRemove){r=true}else if(t.type!="remove"&&e.type=="remove"&&!n.bWasUndone&&!n.forceWeakRemove){r=false}const u=[];const h=o.getDifference(i);for(const t of h){t.start=t.start._getTransformedByDeletion(e.sourcePosition,e.howMany);t.end=t.end._getTransformedByDeletion(e.sourcePosition,e.howMany);const n=Ba(t.start.getParentPath(),e.getMovedRangeStart().getParentPath())=="same";const o=t._getTransformedByInsertion(e.getMovedRangeStart(),e.howMany,n);u.push(...o)}const f=o.getIntersection(i);if(f!==null&&r){f.start=f.start._getCombined(e.sourcePosition,e.getMovedRangeStart());f.end=f.end._getCombined(e.sourcePosition,e.getMovedRangeStart());if(u.length===0){u.push(f)}else if(u.length==1){if(i.start.isBefore(o.start)||i.start.isEqual(o.start)){u.unshift(f)}else{u.push(f)}}else{u.splice(1,0,f)}}if(u.length===0){return[new Up(t.baseVersion)]}return T_(u,a)}));b_(mp,Cp,((t,e,n)=>{let o=t.targetPosition.clone();if(!t.targetPosition.isEqual(e.insertionPosition)||!e.graveyardPosition||n.abRelation=="moveTargetAfter"){o=t.targetPosition._getTransformedBySplitOperation(e)}const i=Kf._createFromPositionAndShift(t.sourcePosition,t.howMany);if(i.end.isEqual(e.insertionPosition)){if(!e.graveyardPosition){t.howMany++}t.targetPosition=o;return[t]}if(i.start.hasSameParentAs(e.splitPosition)&&i.containsPosition(e.splitPosition)){let t=new Kf(e.splitPosition,i.end);t=t._getTransformedBySplitOperation(e);const n=[new Kf(i.start,e.splitPosition),t];return T_(n,o)}if(t.targetPosition.isEqual(e.splitPosition)&&n.abRelation=="insertAtSource"){o=e.moveTargetPosition}if(t.targetPosition.isEqual(e.insertionPosition)&&n.abRelation=="insertBetween"){o=t.targetPosition}const r=i._getTransformedBySplitOperation(e);const s=[r];if(e.graveyardPosition){const o=i.start.isEqual(e.graveyardPosition)||i.containsPosition(e.graveyardPosition);if(t.howMany>1&&o&&!n.aWasUndone){s.push(Kf._createFromPositionAndShift(e.insertionPosition,1))}}return T_(s,o)}));b_(mp,wp,((t,e,n)=>{const o=Kf._createFromPositionAndShift(t.sourcePosition,t.howMany);if(e.deletionPosition.hasSameParentAs(t.sourcePosition)&&o.containsPosition(e.sourcePosition)){if(t.type=="remove"&&!n.forceWeakRemove){if(!n.aWasUndone){const n=[];let o=e.graveyardPosition.clone();let i=e.targetPosition._getTransformedByMergeOperation(e);if(t.howMany>1){n.push(new mp(t.sourcePosition,t.howMany-1,t.targetPosition,0));o=o._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany-1);i=i._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany-1)}const r=e.deletionPosition._getCombined(t.sourcePosition,t.targetPosition);const s=new mp(o,1,r,0);const a=s.getMovedRangeStart().path.slice();a.push(0);const c=new Vf(s.targetPosition.root,a);i=i._getTransformedByMove(o,r,1);const l=new mp(i,e.howMany,c,0);n.push(s);n.push(l);return n}}else{if(t.howMany==1){if(!n.bWasUndone){return[new Up(0)]}else{t.sourcePosition=e.graveyardPosition.clone();t.targetPosition=t.targetPosition._getTransformedByMergeOperation(e);return[t]}}}}const i=Kf._createFromPositionAndShift(t.sourcePosition,t.howMany);const r=i._getTransformedByMergeOperation(e);t.sourcePosition=r.start;t.howMany=r.end.offset-r.start.offset;t.targetPosition=t.targetPosition._getTransformedByMergeOperation(e);return[t]}));b_(bp,gp,((t,e)=>{t.position=t.position._getTransformedByInsertOperation(e);return[t]}));b_(bp,wp,((t,e)=>{if(t.position.isEqual(e.deletionPosition)){t.position=e.graveyardPosition.clone();t.position.stickiness="toNext";return[t]}t.position=t.position._getTransformedByMergeOperation(e);return[t]}));b_(bp,mp,((t,e)=>{t.position=t.position._getTransformedByMoveOperation(e);return[t]}));b_(bp,bp,((t,e,n)=>{if(t.position.isEqual(e.position)){if(n.aIsStrong){t.oldName=e.newName}else{return[new Up(0)]}}return[t]}));b_(bp,Cp,((t,e)=>{const n=t.position.path;const o=e.splitPosition.getParentPath();if(Ba(n,o)=="same"&&!e.graveyardPosition){const e=new bp(t.position.getShiftedBy(1),t.oldName,t.newName,0);return[t,e]}t.position=t.position._getTransformedBySplitOperation(e);return[t]}));b_(kp,kp,((t,e,n)=>{if(t.root===e.root&&t.key===e.key){if(!n.aIsStrong||t.newValue===e.newValue){return[new Up(0)]}else{t.oldValue=e.newValue}}return[t]}));b_(Cp,gp,((t,e)=>{if(t.splitPosition.hasSameParentAs(e.position)&&t.splitPosition.offset{if(!t.graveyardPosition&&!n.bWasUndone&&t.splitPosition.hasSameParentAs(e.sourcePosition)){const n=e.graveyardPosition.path.slice();n.push(0);const o=new Vf(e.graveyardPosition.root,n);const i=Cp.getInsertionPosition(new Vf(e.graveyardPosition.root,n));const r=new Cp(o,0,i,null,0);t.splitPosition=t.splitPosition._getTransformedByMergeOperation(e);t.insertionPosition=Cp.getInsertionPosition(t.splitPosition);t.graveyardPosition=r.insertionPosition.clone();t.graveyardPosition.stickiness="toNext";return[r,t]}if(t.splitPosition.hasSameParentAs(e.deletionPosition)&&!t.splitPosition.isAfter(e.deletionPosition)){t.howMany--}if(t.splitPosition.hasSameParentAs(e.targetPosition)){t.howMany+=e.howMany}t.splitPosition=t.splitPosition._getTransformedByMergeOperation(e);t.insertionPosition=Cp.getInsertionPosition(t.splitPosition);if(t.graveyardPosition){t.graveyardPosition=t.graveyardPosition._getTransformedByMergeOperation(e)}return[t]}));b_(Cp,mp,((t,e,n)=>{const o=Kf._createFromPositionAndShift(e.sourcePosition,e.howMany);if(t.graveyardPosition){const i=o.start.isEqual(t.graveyardPosition)||o.containsPosition(t.graveyardPosition);if(!n.bWasUndone&&i){const n=t.splitPosition._getTransformedByMoveOperation(e);const o=t.graveyardPosition._getTransformedByMoveOperation(e);const i=o.path.slice();i.push(0);const r=new Vf(o.root,i);const s=new mp(n,t.howMany,r,0);return[s]}t.graveyardPosition=t.graveyardPosition._getTransformedByMoveOperation(e)}const i=t.splitPosition.isEqual(e.targetPosition);if(i&&(n.baRelation=="insertAtSource"||n.abRelation=="splitBefore")){t.howMany+=e.howMany;t.splitPosition=t.splitPosition._getTransformedByDeletion(e.sourcePosition,e.howMany);t.insertionPosition=Cp.getInsertionPosition(t.splitPosition);return[t]}if(i&&n.abRelation&&n.abRelation.howMany){const{howMany:e,offset:o}=n.abRelation;t.howMany+=e;t.splitPosition=t.splitPosition.getShiftedBy(o);return[t]}if(t.splitPosition.hasSameParentAs(e.sourcePosition)&&o.containsPosition(t.splitPosition)){const n=e.howMany-(t.splitPosition.offset-e.sourcePosition.offset);t.howMany-=n;if(t.splitPosition.hasSameParentAs(e.targetPosition)&&t.splitPosition.offset{if(t.splitPosition.isEqual(e.splitPosition)){if(!t.graveyardPosition&&!e.graveyardPosition){return[new Up(0)]}if(t.graveyardPosition&&e.graveyardPosition&&t.graveyardPosition.isEqual(e.graveyardPosition)){return[new Up(0)]}if(n.abRelation=="splitBefore"){t.howMany=0;t.graveyardPosition=t.graveyardPosition._getTransformedBySplitOperation(e);return[t]}}if(t.graveyardPosition&&e.graveyardPosition&&t.graveyardPosition.isEqual(e.graveyardPosition)){const o=t.splitPosition.root.rootName=="$graveyard";const i=e.splitPosition.root.rootName=="$graveyard";const r=o&&!i;const s=i&&!o;const a=s||!r&&n.aIsStrong;if(a){const n=[];if(e.howMany){n.push(new mp(e.moveTargetPosition,e.howMany,e.splitPosition,0))}if(t.howMany){n.push(new mp(t.splitPosition,t.howMany,t.moveTargetPosition,0))}return n}else{return[new Up(0)]}}if(t.graveyardPosition){t.graveyardPosition=t.graveyardPosition._getTransformedBySplitOperation(e)}if(t.splitPosition.isEqual(e.insertionPosition)&&n.abRelation=="splitBefore"){t.howMany++;return[t]}if(e.splitPosition.isEqual(t.insertionPosition)&&n.baRelation=="splitBefore"){const n=e.insertionPosition.path.slice();n.push(0);const o=new Vf(e.insertionPosition.root,n);const i=new mp(t.insertionPosition,1,o,0);return[t,i]}if(t.splitPosition.hasSameParentAs(e.splitPosition)&&t.splitPosition.offset{const{top:n,right:o,bottom:i,left:r}=e;const s=[];if(![n,o,r,i].every((t=>!!t))){if(n){s.push([t+"-top",n])}if(o){s.push([t+"-right",o])}if(i){s.push([t+"-bottom",i])}if(r){s.push([t+"-left",r])}}else{s.push([t,ev(e)])}return s}}function ev({top:t,right:e,bottom:n,left:o}){const i=[];if(o!==e){i.push(t,e,n,o)}else if(n!==t){i.push(t,e,n)}else if(e!==t){i.push(t,e)}else{i.push(t)}return i.join(" ")}function nv(t){return e=>({path:t,value:X_(e)})}function ov(t){return t.replace(/, /g,",").split(" ").map((t=>t.replace(/,/g,", ")))}function iv(t){t.setNormalizer("background",rv);t.setNormalizer("background-color",(t=>({path:"background.color",value:t})));t.setReducer("background",(t=>{const e=[];e.push(["background-color",t.color]);return e}))}function rv(t){const e={};const n=ov(t);for(const t of n){if(G_(t)){e.repeat=e.repeat||[];e.repeat.push(t)}else if(Y_(t)){e.position=e.position||[];e.position.push(t)}else if(Q_(t)){e.attachment=t}else if(R_(t)){e.color=t}else if(Z_(t)){e.image=t}}return{path:"background",value:e}}function sv(t){t.setNormalizer("border",av);t.setNormalizer("border-top",cv("top"));t.setNormalizer("border-right",cv("right"));t.setNormalizer("border-bottom",cv("bottom"));t.setNormalizer("border-left",cv("left"));t.setNormalizer("border-color",lv("color"));t.setNormalizer("border-width",lv("width"));t.setNormalizer("border-style",lv("style"));t.setNormalizer("border-top-color",uv("color","top"));t.setNormalizer("border-top-style",uv("style","top"));t.setNormalizer("border-top-width",uv("width","top"));t.setNormalizer("border-right-color",uv("color","right"));t.setNormalizer("border-right-style",uv("style","right"));t.setNormalizer("border-right-width",uv("width","right"));t.setNormalizer("border-bottom-color",uv("color","bottom"));t.setNormalizer("border-bottom-style",uv("style","bottom"));t.setNormalizer("border-bottom-width",uv("width","bottom"));t.setNormalizer("border-left-color",uv("color","left"));t.setNormalizer("border-left-style",uv("style","left"));t.setNormalizer("border-left-width",uv("width","left"));t.setExtractor("border-top",hv("top"));t.setExtractor("border-right",hv("right"));t.setExtractor("border-bottom",hv("bottom"));t.setExtractor("border-left",hv("left"));t.setExtractor("border-top-color","border.color.top");t.setExtractor("border-right-color","border.color.right");t.setExtractor("border-bottom-color","border.color.bottom");t.setExtractor("border-left-color","border.color.left");t.setExtractor("border-top-width","border.width.top");t.setExtractor("border-right-width","border.width.right");t.setExtractor("border-bottom-width","border.width.bottom");t.setExtractor("border-left-width","border.width.left");t.setExtractor("border-top-style","border.style.top");t.setExtractor("border-right-style","border.style.right");t.setExtractor("border-bottom-style","border.style.bottom");t.setExtractor("border-left-style","border.style.left");t.setReducer("border-color",tv("border-color"));t.setReducer("border-style",tv("border-style"));t.setReducer("border-width",tv("border-width"));t.setReducer("border-top",pv("top"));t.setReducer("border-right",pv("right"));t.setReducer("border-bottom",pv("bottom"));t.setReducer("border-left",pv("left"));t.setReducer("border",gv);t.setStyleRelation("border",["border-color","border-style","border-width","border-top","border-right","border-bottom","border-left","border-top-color","border-right-color","border-bottom-color","border-left-color","border-top-style","border-right-style","border-bottom-style","border-left-style","border-top-width","border-right-width","border-bottom-width","border-left-width"]);t.setStyleRelation("border-color",["border-top-color","border-right-color","border-bottom-color","border-left-color"]);t.setStyleRelation("border-style",["border-top-style","border-right-style","border-bottom-style","border-left-style"]);t.setStyleRelation("border-width",["border-top-width","border-right-width","border-bottom-width","border-left-width"]);t.setStyleRelation("border-top",["border-top-color","border-top-style","border-top-width"]);t.setStyleRelation("border-right",["border-right-color","border-right-style","border-right-width"]);t.setStyleRelation("border-bottom",["border-bottom-color","border-bottom-style","border-bottom-width"]);t.setStyleRelation("border-left",["border-left-color","border-left-style","border-left-width"])}function av(t){const{color:e,style:n,width:o}=mv(t);return{path:"border",value:{color:X_(e),style:X_(n),width:X_(o)}}}function cv(t){return e=>{const{color:n,style:o,width:i}=mv(e);const r={};if(n!==undefined){r.color={[t]:n}}if(o!==undefined){r.style={[t]:o}}if(i!==undefined){r.width={[t]:i}}return{path:"border",value:r}}}function lv(t){return e=>({path:"border",value:dv(e,t)})}function dv(t,e){return{[e]:X_(t)}}function uv(t,e){return n=>({path:"border",value:{[t]:{[e]:n}}})}function hv(t){return(e,n)=>{if(n.border){return fv(n.border,t)}}}function fv(t,e){const n={};if(t.width&&t.width[e]){n.width=t.width[e]}if(t.style&&t.style[e]){n.style=t.style[e]}if(t.color&&t.color[e]){n.color=t.color[e]}return n}function mv(t){const e={};const n=ov(t);for(const t of n){if(H_(t)||/thin|medium|thick/.test(t)){e.width=t}else if(j_(t)){e.style=t}else{e.color=t}}return e}function gv(t){const e=[];e.push(...bv(fv(t,"top"),"top"));e.push(...bv(fv(t,"right"),"right"));e.push(...bv(fv(t,"bottom"),"bottom"));e.push(...bv(fv(t,"left"),"left"));return e}function pv(t){return e=>bv(e,t)}function bv(t,e){const n=[];if(t&&t.width!==undefined){n.push(t.width)}if(t&&t.style!==undefined){n.push(t.style)}if(t&&t.color!==undefined){n.push(t.color)}if(n.length){return[[`border-${e}`,n.join(" ")]]}return[]}function kv(t){t.setNormalizer("margin",nv("margin"));t.setNormalizer("margin-top",(t=>({path:"margin.top",value:t})));t.setNormalizer("margin-right",(t=>({path:"margin.right",value:t})));t.setNormalizer("margin-bottom",(t=>({path:"margin.bottom",value:t})));t.setNormalizer("margin-left",(t=>({path:"margin.left",value:t})));t.setReducer("margin",tv("margin"));t.setStyleRelation("margin",["margin-top","margin-right","margin-bottom","margin-left"])}function wv(t){t.setNormalizer("padding",nv("padding"));t.setNormalizer("padding-top",(t=>({path:"padding.top",value:t})));t.setNormalizer("padding-right",(t=>({path:"padding.right",value:t})));t.setNormalizer("padding-bottom",(t=>({path:"padding.bottom",value:t})));t.setNormalizer("padding-left",(t=>({path:"padding.left",value:t})));t.setReducer("padding",tv("padding"));t.setStyleRelation("padding",["padding-top","padding-right","padding-bottom","padding-left"])}class Cv extends Lb{constructor(t,e){super(t);this.view=e}get element(){return this.view.editable.element}init(){const t=this.editor;const e=this.view;const n=t.plugins.get("BalloonToolbar");const o=t.editing.view;const i=e.editable;const r=o.document.getRoot();i.name=r.rootName;e.render();const s=i.element;this.setEditableElement(i.name,s);this.focusTracker.add(s);i.bind("isFocused").to(this.focusTracker);o.attachDomRoot(s);WA({origin:o,originFocusTracker:this.focusTracker,originKeystrokeHandler:t.keystrokes,toolbar:n.toolbarView,beforeFocus(){n.show()},afterBlur(){n.hide()}});this._initPlaceholder();this.fire("ready")}destroy(){const t=this.view;const e=this.editor.editing.view;e.detachDomRoot(t.editable.name);t.destroy();super.destroy()}_initPlaceholder(){const t=this.editor;const e=t.editing.view;const n=e.document.getRoot();const o=t.sourceElement;const i=t.config.get("placeholder")||o&&o.tagName.toLowerCase()==="textarea"&&o.getAttribute("placeholder");if(i){c_({view:e,element:n,text:i,isDirectHost:false,keepOnFocus:true})}}}class Av extends FC{constructor(t,e,n){super(t);this.editable=new qC(t,e,n)}render(){super.render();this.registerChild(this.editable)}}class _v extends Nb{constructor(t,e){super(e);if(fa(t)){this.sourceElement=t;Hb(this)}const n=this.config.get("plugins");n.push(GA);this.config.set("plugins",n);this.config.define("balloonToolbar",this.config.get("toolbar"));this.model.document.createRoot();const o=new Av(this.locale,this.editing.view,this.sourceElement);this.ui=new Cv(this,o);Ob(this)}destroy(){const t=this.getData();this.ui.destroy();return super.destroy().then((()=>{if(this.sourceElement){mf(this.sourceElement,t)}}))}static create(t,e={}){return new Promise((n=>{const o=fa(t);if(o&&t.tagName==="TEXTAREA"){throw new u["a"]("editor-wrong-element",null)}const i=new this(t,e);n(i.initPlugins().then((()=>{i.ui.init()})).then((()=>{if(!o&&e.initialData){throw new u["a"]("editor-create-initial-data",null)}const n=e.initialData!==undefined?e.initialData:vv(t);return i.data.init(n)})).then((()=>i.fire("ready"))).then((()=>i)))}))}}Vn(_v,Fb);Vn(_v,Vb);function vv(t){return fa(t)?of(t):t}const yv=["left","right","center","justify"];function xv(t){return yv.includes(t)}function Ev(t,e){if(e.contentLanguageDirection=="rtl"){return t==="right"}else{return t==="left"}}function Dv(t){const e=t.map((t=>{let e;if(typeof t=="string"){e={name:t}}else{e=t}return e})).filter((t=>{const e=!!yv.includes(t.name);if(!e){Object(u["b"])("alignment-config-name-not-recognized",{option:t})}return e}));const n=e.filter((t=>!!t.className)).length;if(n&&n{const i=o.slice(n+1);const r=i.some((t=>t.name==e.name));if(r){throw new u["a"]("alignment-config-name-already-defined",{option:e,configuredOptions:t})}if(e.className){const n=i.some((t=>t.className==e.className));if(n){throw new u["a"]("alignment-config-classname-already-defined",{option:e,configuredOptions:t})}}}));return e}const Tv="alignment";class Sv extends Wn{refresh(){const t=this.editor;const e=t.locale;const n=pf(this.editor.model.document.selection.getSelectedBlocks());this.isEnabled=!!n&&this._canBeAligned(n);if(this.isEnabled&&n.hasAttribute("alignment")){this.value=n.getAttribute("alignment")}else{this.value=e.contentLanguageDirection==="rtl"?"right":"left"}}execute(t={}){const e=this.editor;const n=e.locale;const o=e.model;const i=o.document;const r=t.value;o.change((t=>{const e=Array.from(i.selection.getSelectedBlocks()).filter((t=>this._canBeAligned(t)));const o=e[0].getAttribute("alignment");const s=Ev(r,n)||o===r||!r;if(s){Mv(e,t)}else{Iv(e,t,r)}}))}_canBeAligned(t){return this.editor.model.schema.checkAttribute(t,Tv)}}function Mv(t,e){for(const n of t){e.removeAttribute(Tv,n)}}function Iv(t,e,n){for(const o of t){e.setAttribute(Tv,n,o)}}class Bv extends Hn{static get pluginName(){return"AlignmentEditing"}constructor(t){super(t);t.config.define("alignment",{options:[...yv.map((t=>({name:t})))]})}init(){const t=this.editor;const e=t.locale;const n=t.model.schema;const o=Dv(t.config.get("alignment.options"));const i=o.filter((t=>xv(t.name)&&!Ev(t.name,e)));const r=i.some((t=>!!t.className));n.extend("$block",{allowAttributes:"alignment"});t.model.schema.setAttributeProperties("alignment",{isFormatting:true});if(r){t.conversion.attributeToAttribute(Lv(i))}else{t.conversion.for("downcast").attributeToAttribute(Nv(i))}const s=zv(i);for(const e of s){t.conversion.for("upcast").attributeToAttribute(e)}const a=Pv(i);for(const e of a){t.conversion.for("upcast").attributeToAttribute(e)}t.commands.add("alignment",new Sv(t))}}function Nv(t){const e={model:{key:"alignment",values:t.map((t=>t.name))},view:{}};for(const{name:n}of t){e.view[n]={key:"style",value:{"text-align":n}}}return e}function zv(t){const e=[];for(const{name:n}of t){e.push({view:{key:"style",value:{"text-align":n}},model:{key:"alignment",value:n}})}return e}function Pv(t){const e=[];for(const{name:n}of t){e.push({view:{key:"align",value:n},model:{key:"alignment",value:n}})}return e}function Lv(t){const e={model:{key:"alignment",values:t.map((t=>t.name))},view:{}};for(const n of t){e.view[n.name]={key:"class",value:n.className}}return e}const Ov=new Map([["left",gk.alignLeft],["right",gk.alignRight],["center",gk.alignCenter],["justify",gk.alignJustify]]);class Rv extends Hn{get localizedOptionTitles(){const t=this.editor.t;return{left:t("Align left"),right:t("Align right"),center:t("Align center"),justify:t("Justify")}}static get pluginName(){return"AlignmentUI"}init(){const t=this.editor;const e=t.ui.componentFactory;const n=t.t;const o=Dv(t.config.get("alignment.options"));o.map((t=>t.name)).filter(xv).forEach((t=>this._addButton(t)));e.add("alignment",(t=>{const i=TC(t);const r=o.map((t=>e.create(`alignment:${t.name}`)));SC(i,r);i.buttonView.set({label:n("Text alignment"),tooltip:true});i.toolbarView.isVertical=true;i.toolbarView.ariaLabel=n("Text alignment toolbar");i.extendTemplate({attributes:{class:"ck-alignment-dropdown"}});const s=t.contentLanguageDirection==="rtl"?Ov.get("right"):Ov.get("left");i.buttonView.bind("icon").toMany(r,"isOn",((...t)=>{const e=t.findIndex((t=>t));if(e<0){return s}return r[e].icon}));i.bind("isEnabled").toMany(r,"isEnabled",((...t)=>t.some((t=>t))));return i}))}_addButton(t){const e=this.editor;e.ui.componentFactory.add(`alignment:${t}`,(n=>{const o=e.commands.get("alignment");const i=new pw(n);i.set({label:this.localizedOptionTitles[t],icon:Ov.get(t),tooltip:true,isToggleable:true});i.bind("isEnabled").to(o);i.bind("isOn").to(o,"value",(e=>e===t));this.listenTo(i,"execute",(()=>{e.execute("alignment",{value:t});e.editing.view.focus()}));return i}))}}class Fv extends Hn{static get requires(){return[Bv,Rv]}static get pluginName(){return"Alignment"}}class jv{constructor(t){this.files=Vv(t);this._native=t}get types(){return this._native.types}getData(t){return this._native.getData(t)}setData(t,e){this._native.setData(t,e)}set effectAllowed(t){this._native.effectAllowed=t}get effectAllowed(){return this._native.effectAllowed}set dropEffect(t){this._native.dropEffect=t}get dropEffect(){return this._native.dropEffect}get isCanceled(){return this._native.dropEffect=="none"||!!this._native.mozUserCancelled}}function Vv(t){const e=t.files?Array.from(t.files):[];const n=t.items?Array.from(t.items):[];if(e.length){return e}return n.filter((t=>t.kind==="file")).map((t=>t.getAsFile()))}class Hv extends xh{constructor(t){super(t);const e=this.document;this.domEventType=["paste","copy","cut","drop","dragover","dragstart","dragend","dragenter","dragleave"];this.listenTo(e,"paste",n("clipboardInput"),{priority:"low"});this.listenTo(e,"drop",n("clipboardInput"),{priority:"low"});this.listenTo(e,"dragover",n("dragging"),{priority:"low"});function n(t){return(n,o)=>{o.preventDefault();const i=o.dropRange?[o.dropRange]:null;const s=new r(e,t);e.fire(s,{dataTransfer:o.dataTransfer,method:n.name,targetRanges:i,target:o.target});if(s.stop.called){o.stopPropagation()}}}}onDomEvent(t){const e={dataTransfer:new jv(t.clipboardData?t.clipboardData:t.dataTransfer)};if(t.type=="drop"||t.type=="dragover"){e.dropRange=Uv(this.view,t)}this.fire(t.type,t,e)}}function Uv(t,e){const n=e.target.ownerDocument;const o=e.clientX;const i=e.clientY;let r;if(n.caretRangeFromPoint&&n.caretRangeFromPoint(o,i)){r=n.caretRangeFromPoint(o,i)}else if(e.rangeParent){r=n.createRange();r.setStart(e.rangeParent,e.rangeOffset);r.collapse(true)}if(r){return t.domConverter.domRangeToView(r)}return null}function Wv(t){t=t.replace(//g,">").replace(/\r?\n\r?\n/g,"
").replace(/\r?\n/g," ").replace(/^\s/," ").replace(/\s$/," ").replace(/\s\s/g," ");if(t.includes("
")||t.includes(" ")){t=`
${t}
`}return t}function Kv(t){return t.replace(/(\s+)<\/span>/g,((t,e)=>{if(e.length==1){return" "}return e}))}const Gv=["figcaption","li"];function qv(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=qv(o);if(n&&(n.is("containerElement")||o.is("containerElement"))){if(Gv.includes(n.name)||Gv.includes(o.name)){e+="\n"}else{e+="\n\n"}}e+=t;n=o}}return e}class Yv extends Hn{static get pluginName(){return"ClipboardPipeline"}init(){const t=this.editor;const e=t.editing.view;e.addObserver(Hv);this._setupPasteDrop();this._setupCopyCut()}_setupPasteDrop(){const t=this.editor;const e=t.model;const n=t.editing.view;const o=n.document;this.listenTo(o,"clipboardInput",(e=>{if(t.isReadOnly){e.stop()}}),{priority:"highest"});this.listenTo(o,"clipboardInput",((t,e)=>{const o=e.dataTransfer;let i=e.content||"";if(!i){if(o.getData("text/html")){i=Kv(o.getData("text/html"))}else if(o.getData("text/plain")){i=Wv(o.getData("text/plain"))}i=this.editor.data.htmlProcessor.toView(i)}const s=new r(this,"inputTransformation");this.fire(s,{content:i,dataTransfer:o,targetRanges:e.targetRanges,method:e.method});if(s.stop.called){t.stop()}n.scrollToTheSelection()}),{priority:"low"});this.listenTo(this,"inputTransformation",((t,n)=>{if(n.content.isEmpty){return}const o=this.editor.data;const i=o.toModel(n.content,"$clipboardHolder");if(i.childCount==0){return}t.stop();e.change((()=>{this.fire("contentInsertion",{content:i,method:n.method,dataTransfer:n.dataTransfer,targetRanges:n.targetRanges})}))}),{priority:"low"});this.listenTo(this,"contentInsertion",((t,n)=>{n.resultRange=e.insertContent(n.content)}),{priority:"low"})}_setupCopyCut(){const t=this.editor;const e=t.model.document;const n=t.editing.view;const o=n.document;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.editor.data.htmlProcessor.toData(o.content));o.dataTransfer.setData("text/plain",qv(o.content))}if(o.method=="cut"){t.model.deleteContent(e.selection)}}),{priority:"low"})}}function*$v(t,e){for(const n of e){if(n&&t.getAttributeProperties(n[0]).copyOnEnter){yield n}}}class Qv extends Wn{execute(){const t=this.editor.model;const e=t.document;t.change((n=>{Jv(this.editor.model,n,e.selection,t.schema);this.fire("afterExecute",{writer:n})}))}}function Jv(t,e,n,o){const i=n.isCollapsed;const r=n.getFirstRange();const s=r.start.parent;const a=r.end.parent;if(o.isLimit(s)||o.isLimit(a)){if(!i&&s==a){t.deleteContent(n)}return}if(i){const t=$v(e.model.schema,n.getAttributes());Zv(e,r.start);e.setSelectionAttribute(t)}else{const o=!(r.start.isAtStart&&r.end.isAtEnd);const i=s==a;t.deleteContent(n,{leaveUnmerged:o});if(o){if(i){Zv(e,n.focus)}else{e.setSelection(a,0)}}}}function Zv(t,e){t.split(e);t.setSelection(e.parent.nextSibling,0)}class Xv extends vu{constructor(t){super(t);const e=this.document;e.on("keydown",((t,n)=>{if(this.isEnabled&&n.keyCode==td.enter){const o=new Dl(e,"enter",e.selection.getFirstRange());e.fire(o,new yh(e,n.domEvent,{isSoft:n.shiftKey}));if(o.stop.called){t.stop()}}}))}observe(){}}class ty extends Hn{static get pluginName(){return"Enter"}init(){const t=this.editor;const e=t.editing.view;const n=e.document;e.addObserver(Xv);t.commands.add("enter",new Qv(t));this.listenTo(n,"enter",((n,o)=>{o.preventDefault();if(o.isSoft){return}t.execute("enter");e.scrollToTheSelection()}),{priority:"low"})}}class ey{constructor(t,e=20){this.model=t;this.size=0;this.limit=e;this.isLocked=false;this._changeCallback=(t,e)=>{if(e.type!="transparent"&&e!==this._batch){this._reset(true)}};this._selectionChangeCallback=()=>{this._reset()};this.model.document.on("change",this._changeCallback);this.model.document.selection.on("change:range",this._selectionChangeCallback);this.model.document.selection.on("change:attribute",this._selectionChangeCallback)}get batch(){if(!this._batch){this._batch=this.model.createBatch()}return this._batch}input(t){this.size+=t;if(this.size>=this.limit){this._reset(true)}}lock(){this.isLocked=true}unlock(){this.isLocked=false}destroy(){this.model.document.off("change",this._changeCallback);this.model.document.selection.off("change:range",this._selectionChangeCallback);this.model.document.selection.off("change:attribute",this._selectionChangeCallback)}_reset(t){if(!this.isLocked||t){this._batch=null;this.size=0}}}class ny extends Wn{constructor(t,e){super(t);this.direction=e;this._buffer=new ey(t.model,t.config.get("typing.undoStep"))}get buffer(){return this._buffer}execute(t={}){const e=this.editor.model;const n=e.document;e.enqueueChange(this._buffer.batch,(o=>{this._buffer.lock();const i=o.createSelection(t.selection||n.selection);const r=t.sequence||1;const s=i.isCollapsed;if(i.isCollapsed){e.modifySelection(i,{direction:this.direction,unit:t.unit})}if(this._shouldEntireContentBeReplacedWithParagraph(r)){this._replaceEntireContentWithParagraph(o);return}if(this._shouldReplaceFirstBlockWithParagraph(i,r)){this.editor.execute("paragraph",{selection:i});return}if(i.isCollapsed){return}let a=0;i.getFirstRange().getMinimalFlatRanges().forEach((t=>{a+=yl(t.getWalker({singleCharacters:true,ignoreElementEnd:true,shallow:true}))}));e.deleteContent(i,{doNotResetEntireContent:s,direction:this.direction});this._buffer.input(a);o.setSelection(i);this._buffer.unlock()}))}_shouldEntireContentBeReplacedWithParagraph(t){if(t>1){return false}const e=this.editor.model;const n=e.document;const o=n.selection;const i=e.schema.getLimitElement(o);const r=o.isCollapsed&&o.containsEntireContent(i);if(!r){return false}if(!e.schema.checkChild(i,"paragraph")){return false}const s=i.getChild(0);if(s&&s.name==="paragraph"){return false}return true}_replaceEntireContentWithParagraph(t){const e=this.editor.model;const n=e.document;const o=n.selection;const i=e.schema.getLimitElement(o);const r=t.createElement("paragraph");t.remove(t.createRangeIn(i));t.insert(r,i);t.setSelection(r,0)}_shouldReplaceFirstBlockWithParagraph(t,e){const n=this.editor.model;if(e>1||this.direction!="backward"){return false}if(!t.isCollapsed){return false}const o=t.getFirstPosition();const i=n.schema.getLimitElement(o);const r=i.getChild(0);if(o.parent!=r){return false}if(!t.containsEntireContent(r)){return false}if(!n.schema.checkChild(i,"paragraph")){return false}if(r.name=="paragraph"){return false}return true}}class oy extends vu{constructor(t){super(t);const e=t.document;let n=0;e.on("keyup",((t,e)=>{if(e.keyCode==td.delete||e.keyCode==td.backspace){n=0}}));e.on("keydown",((t,e)=>{const i={};if(e.keyCode==td.delete){i.direction="forward";i.unit="character"}else if(e.keyCode==td.backspace){i.direction="backward";i.unit="codePoint"}else{return}const r=Kl.isMac?e.altKey:e.ctrlKey;i.unit=r?"word":i.unit;i.sequence=++n;o(t,e.domEvent,i)}));if(Kl.isAndroid){e.on("beforeinput",((e,n)=>{if(n.domEvent.inputType!="deleteContentBackward"){return}const i={unit:"codepoint",direction:"backward",sequence:1};const r=n.domTarget.ownerDocument.defaultView.getSelection();if(r.anchorNode==r.focusNode&&r.anchorOffset+1!=r.focusOffset){i.selectionToRemove=t.domConverter.domSelectionToView(r)}o(e,n.domEvent,i)}))}function o(t,n,o){const i=new Dl(e,"delete",e.selection.getFirstRange());e.fire(i,new yh(e,n,o));if(i.stop.called){t.stop()}}}observe(){}}class iy extends Hn{static get pluginName(){return"Delete"}init(){const t=this.editor;const e=t.editing.view;const n=e.document;e.addObserver(oy);const o=new ny(t,"forward");t.commands.add("deleteForward",o);t.commands.add("forwardDelete",o);t.commands.add("delete",new ny(t,"backward"));this.listenTo(n,"delete",((n,o)=>{const i={unit:o.unit,sequence:o.sequence};if(o.selectionToRemove){const e=t.model.createSelection();const n=[];for(const e of o.selectionToRemove.getRanges()){n.push(t.editing.mapper.toModelRange(e))}e.setTo(n);i.selection=e}t.execute(o.direction=="forward"?"deleteForward":"delete",i);o.preventDefault();e.scrollToTheSelection()}),{priority:"low"});if(Kl.isAndroid){let t=null;this.listenTo(n,"delete",((e,n)=>{const o=n.domTarget.ownerDocument.defaultView.getSelection();t={anchorNode:o.anchorNode,anchorOffset:o.anchorOffset,focusNode:o.focusNode,focusOffset:o.focusOffset}}),{priority:"lowest"});this.listenTo(n,"keyup",((e,n)=>{if(t){const e=n.domTarget.ownerDocument.defaultView.getSelection();e.collapse(t.anchorNode,t.anchorOffset);e.extend(t.focusNode,t.focusOffset);t=null}}))}}}class ry{constructor(){this._stack=[]}add(t,e){const n=this._stack;const o=n[0];this._insertDescriptor(t);const i=n[0];if(o!==i&&!sy(o,i)){this.fire("change:top",{oldDescriptor:o,newDescriptor:i,writer:e})}}remove(t,e){const n=this._stack;const o=n[0];this._removeDescriptor(t);const i=n[0];if(o!==i&&!sy(o,i)){this.fire("change:top",{oldDescriptor:o,newDescriptor:i,writer:e})}}_insertDescriptor(t){const e=this._stack;const n=e.findIndex((e=>e.id===t.id));if(sy(t,e[n])){return}if(n>-1){e.splice(n,1)}let o=0;while(e[o]&&ay(e[o],t)){o++}e.splice(o,0,t)}_removeDescriptor(t){const e=this._stack;const n=e.findIndex((e=>e.id===t));if(n>-1){e.splice(n,1)}}}Vn(ry,g);function sy(t,e){return t&&e&&t.priority==e.priority&&cy(t.classes)==cy(e.classes)}function ay(t,e){if(t.priority>e.priority){return true}else if(t.prioritycy(e.classes)}function cy(t){return Array.isArray(t)?t.sort().join(","):t}var ly=' ';const dy="ck-widget";const uy="ck-widget_selected";function hy(t){if(!t.is("element")){return false}return!!t.getCustomProperty("widget")}function fy(t,e,n={}){if(!t.is("containerElement")){throw new u["a"]("widget-to-widget-wrong-element-type",null,{element:t})}e.setAttribute("contenteditable","false",t);e.addClass(dy,t);e.setCustomProperty("widget",true,t);t.getFillerOffset=yy;if(n.label){by(t,n.label,e)}if(n.hasSelectionHandle){xy(t,e)}py(t,e,my,gy);return t}function my(t,e,n){if(e.classes){n.addClass(Ca(e.classes),t)}if(e.attributes){for(const o in e.attributes){n.setAttribute(o,e.attributes[o],t)}}}function gy(t,e,n){if(e.classes){n.removeClass(Ca(e.classes),t)}if(e.attributes){for(const o in e.attributes){n.removeAttribute(o,t)}}}function py(t,e,n,o){const i=new ry;i.on("change:top",((e,i)=>{if(i.oldDescriptor){o(t,i.oldDescriptor,i.writer)}if(i.newDescriptor){n(t,i.newDescriptor,i.writer)}}));e.setCustomProperty("addHighlight",((t,e,n)=>i.add(e,n)),t);e.setCustomProperty("removeHighlight",((t,e,n)=>i.remove(e,n)),t)}function by(t,e,n){n.setCustomProperty("widgetLabel",e,t)}function ky(t){const e=t.getCustomProperty("widgetLabel");if(!e){return""}return typeof e=="function"?e():e}function wy(t,e){e.addClass(["ck-editor__editable","ck-editor__nested-editable"],t);e.setAttribute("contenteditable",t.isReadOnly?"false":"true",t);t.on("change:isReadOnly",((n,o,i)=>{e.setAttribute("contenteditable",i?"false":"true",t)}));t.on("change:isFocused",((n,o,i)=>{if(i){e.addClass("ck-editor__nested-editable_focused",t)}else{e.removeClass("ck-editor__nested-editable_focused",t)}}));return t}function Cy(t,e){const n=t.getSelectedElement();if(n){const o=Iy(t);if(o){return e.createPositionAt(n,o)}if(e.schema.isBlock(n)){return e.createPositionAfter(n)}}const o=t.getSelectedBlocks().next().value;if(o){if(o.isEmpty){return e.createPositionAt(o,0)}const n=e.createPositionAfter(o);if(t.focus.isTouching(n)){return n}return e.createPositionBefore(o)}return t.focus}function Ay(t,e){const n=t.getSelectedElement();return!!n&&e.isObject(n)}function _y(t,e){return(n,o)=>{const{mapper:i,viewPosition:r}=o;const s=i.findMappedViewAncestor(r);if(!e(s)){return}const a=i.toModelElement(s);o.modelPosition=t.createPositionAt(a,r.isAtStart?"before":"after")}}function vy(t,e){const n=new cf(su.window);const o=n.getIntersection(t);const i=e.height+CA.arrowVerticalOffset;if(t.top-i>n.top||t.bottom+ir(e)),{priority:"lowest"})}else{o.document.on("keydown",((t,e)=>r(e)),{priority:"lowest"})}o.document.on("compositionstart",s,{priority:"lowest"});o.document.on("compositionend",(()=>{e=n.createSelection(n.document.selection)}),{priority:"lowest"});function r(t){const r=n.document;const s=o.document.isComposing;const c=e&&e.isEqual(r.selection);e=null;if(!i.isEnabled){return}if(zy(t)||r.selection.isCollapsed){return}if(s&&t.keyCode===229){return}if(!s&&t.keyCode===229&&c){return}a()}function s(){const t=n.document;const e=t.selection.rangeCount===1?t.selection.getFirstRange().isFlat:true;if(t.selection.isCollapsed||e){return}a()}function a(){const t=i.buffer;t.lock();const e=t.batch;i._batches.add(e);n.enqueueChange(e,(()=>{n.deleteContent(n.document.selection)}));t.unlock()}}const Ny=[nd("arrowUp"),nd("arrowRight"),nd("arrowDown"),nd("arrowLeft"),9,16,17,18,19,20,27,33,34,35,36,45,91,93,144,145,173,174,175,176,177,178,179,255];for(let t=112;t<=135;t++){Ny.push(t)}function zy(t){if(t.ctrlKey||t.metaKey){return true}return Ny.includes(t.keyCode)}var Py=' ';var Ly=n(35);var Oy={injectType:"singletonStyleTag",attributes:{"data-cke":true}};Oy.insert="head";Oy.singleton=true;var Ry=_k()(Ly["a"],Oy);var Fy=Ly["a"].locals||{};const jy=["before","after"];const Vy=(new DOMParser).parseFromString(Py,"image/svg+xml").firstChild;const Hy="ck-widget__type-around_disabled";class Uy extends Hn{static get pluginName(){return"WidgetTypeAround"}static get requires(){return[ty,iy]}constructor(t){super(t);this._currentFakeCaretModelElement=null}init(){const t=this.editor;const e=t.editing.view;this.on("change:isEnabled",((n,o,i)=>{e.change((t=>{for(const n of e.document.roots){if(i){t.removeClass(Hy,n)}else{t.addClass(Hy,n)}}}));if(!i){t.model.change((t=>{t.removeSelectionAttribute(Ey)}))}}));this._enableTypeAroundUIInjection();this._enableInsertingParagraphsOnButtonClick();this._enableInsertingParagraphsOnEnterKeypress();this._enableInsertingParagraphsOnTypingKeystroke();this._enableTypeAroundFakeCaretActivationUsingKeyboardArrows();this._enableDeleteIntegration();this._enableInsertContentIntegration()}destroy(){this._currentFakeCaretModelElement=null}_insertParagraph(t,e){const n=this.editor;const o=n.editing.view;n.execute("insertParagraph",{position:n.model.createPositionAt(t,e)});o.focus();o.scrollToTheSelection()}_listenToIfEnabled(t,e,n,o){this.listenTo(t,e,((...t)=>{if(this.isEnabled){n(...t)}}),o)}_insertParagraphAccordingToFakeCaretPosition(){const t=this.editor;const e=t.model;const n=e.document.selection;const o=Iy(n);if(!o){return false}const i=n.getSelectedElement();this._insertParagraph(i,o);return true}_enableTypeAroundUIInjection(){const t=this.editor;const e=t.model.schema;const n=t.locale.t;const o={before:n("Insert paragraph before block"),after:n("Insert paragraph after block")};t.editing.downcastDispatcher.on("insert",((t,n,i)=>{const r=i.mapper.toViewElement(n.item);if(Dy(r,n.item,e)){Wy(i.writer,o,r)}}),{priority:"low"})}_enableTypeAroundFakeCaretActivationUsingKeyboardArrows(){const t=this.editor;const e=t.model;const n=e.document.selection;const o=e.schema;const i=t.editing.view;this._listenToIfEnabled(i.document,"arrowKey",((t,e)=>{this._handleArrowKeyPress(t,e)}),{context:[hy,"$text"],priority:"high"});this._listenToIfEnabled(n,"change:range",((e,n)=>{if(!n.directChange){return}t.model.change((t=>{t.removeSelectionAttribute(Ey)}))}));this._listenToIfEnabled(e.document,"change:data",(()=>{const e=n.getSelectedElement();if(e){const n=t.editing.mapper.toViewElement(e);if(Dy(n,e,o)){return}}t.model.change((t=>{t.removeSelectionAttribute(Ey)}))}));this._listenToIfEnabled(t.editing.downcastDispatcher,"selection",((t,e,n)=>{const i=n.writer;if(this._currentFakeCaretModelElement){const t=n.mapper.toViewElement(this._currentFakeCaretModelElement);if(t){i.removeClass(jy.map(r),t);this._currentFakeCaretModelElement=null}}const s=e.selection.getSelectedElement();if(!s){return}const a=n.mapper.toViewElement(s);if(!Dy(a,s,o)){return}const c=Iy(e.selection);if(!c){return}i.addClass(r(c),a);this._currentFakeCaretModelElement=s}));this._listenToIfEnabled(t.ui.focusTracker,"change:isFocused",((e,n,o)=>{if(!o){t.model.change((t=>{t.removeSelectionAttribute(Ey)}))}}));function r(t){return`ck-widget_type-around_show-fake-caret_${t}`}}_handleArrowKeyPress(t,e){const n=this.editor;const o=n.model;const i=o.document.selection;const r=o.schema;const s=n.editing.view;const a=e.keyCode;const c=cd(a,n.locale.contentLanguageDirection);const l=s.document.selection.getSelectedElement();const d=n.editing.mapper.toModelElement(l);let u;if(Dy(l,d,r)){u=this._handleArrowKeyPressOnSelectedWidget(c)}else if(i.isCollapsed){u=this._handleArrowKeyPressWhenSelectionNextToAWidget(c)}if(u){e.preventDefault();t.stop()}}_handleArrowKeyPressOnSelectedWidget(t){const e=this.editor;const n=e.model;const o=n.document.selection;const i=Iy(o);return n.change((e=>{if(i){const n=i===(t?"after":"before");if(!n){e.removeSelectionAttribute(Ey);return true}}else{e.setSelectionAttribute(Ey,t?"after":"before");return true}return false}))}_handleArrowKeyPressWhenSelectionNextToAWidget(t){const e=this.editor;const n=e.model;const o=n.schema;const i=e.plugins.get("Widget");const r=i._getObjectElementNextToSelection(t);const s=e.editing.mapper.toViewElement(r);if(Dy(s,r,o)){n.change((e=>{i._setSelectionOverElement(r);e.setSelectionAttribute(Ey,t?"before":"after")}));return true}return false}_enableInsertingParagraphsOnButtonClick(){const t=this.editor;const e=t.editing.view;this._listenToIfEnabled(e.document,"mousedown",((n,o)=>{const i=Ty(o.domTarget);if(!i){return}const r=Sy(i);const s=My(i,e.domConverter);const a=t.editing.mapper.toModelElement(s);this._insertParagraph(a,r);o.preventDefault();n.stop()}))}_enableInsertingParagraphsOnEnterKeypress(){const t=this.editor;const e=t.model.document.selection;const n=t.editing.view;this._listenToIfEnabled(n.document,"enter",((n,o)=>{if(n.eventPhase!="atTarget"){return}const i=e.getSelectedElement();const r=t.editing.mapper.toViewElement(i);const s=t.model.schema;let a;if(this._insertParagraphAccordingToFakeCaretPosition()){a=true}else if(Dy(r,i,s)){this._insertParagraph(i,o.isSoft?"before":"after");a=true}if(a){o.preventDefault();n.stop()}}),{context:hy})}_enableInsertingParagraphsOnTypingKeystroke(){const t=this.editor;const e=t.editing.view;const n=[td.enter,td.delete,td.backspace];this._listenToIfEnabled(e.document,"keydown",((t,e)=>{if(!n.includes(e.keyCode)&&!zy(e)){this._insertParagraphAccordingToFakeCaretPosition()}}),{priority:"high"})}_enableDeleteIntegration(){const t=this.editor;const e=t.editing.view;const n=t.model;const o=n.schema;this._listenToIfEnabled(e.document,"delete",((e,i)=>{if(e.eventPhase!="atTarget"){return}const r=Iy(n.document.selection);if(!r){return}const s=i.direction;const a=n.document.selection.getSelectedElement();const c=r==="before";const l=s=="forward";const d=c===l;if(d){t.execute("delete",{selection:n.createSelection(a,"on")})}else{const e=o.getNearestSelectionRange(n.createPositionAt(a,r),s);if(e){if(!e.isCollapsed){n.change((n=>{n.setSelection(e);t.execute(l?"deleteForward":"delete")}))}else{const i=n.createSelection(e.start);n.modifySelection(i,{direction:s});if(!i.focus.isEqual(e.start)){n.change((n=>{n.setSelection(e);t.execute(l?"deleteForward":"delete")}))}else{const t=qy(o,e.start.parent);n.deleteContent(n.createSelection(t,"on"),{doNotAutoparagraph:true})}}}}i.preventDefault();e.stop()}),{context:hy})}_enableInsertContentIntegration(){const t=this.editor;const e=this.editor.model;const n=e.document.selection;this._listenToIfEnabled(t.model,"insertContent",((t,[o,i])=>{if(i&&!i.is("documentSelection")){return}const r=Iy(n);if(!r){return}t.stop();return e.change((t=>{const i=n.getSelectedElement();const s=e.createPositionAt(i,r);const a=t.createSelection(s);const c=e.insertContent(o,a);t.setSelection(a);return c}))}),{priority:"high"})}}function Wy(t,e,n){const o=t.createUIElement("div",{class:"ck ck-reset_all ck-widget__type-around"},(function(t){const n=this.toDomElement(t);Ky(n,e);Gy(n);return n}));t.insert(t.createPositionAt(n,"end"),o)}function Ky(t,e){for(const n of jy){const o=new Sk({tag:"div",attributes:{class:["ck","ck-widget__type-around__button",`ck-widget__type-around__button_${n}`],title:e[n]},children:[t.ownerDocument.importNode(Vy,true)]});t.appendChild(o.render())}}function Gy(t){const e=new Sk({tag:"div",attributes:{class:["ck","ck-widget__type-around__fake-caret"]}});t.appendChild(e.render())}function qy(t,e){let n=e;for(const o of e.getAncestors({parentFirst:true})){if(o.childCount>1||t.isLimit(o)){break}n=o}return n}var Yy=n(36);var $y={injectType:"singletonStyleTag",attributes:{"data-cke":true}};$y.insert="head";$y.singleton=true;var Qy=_k()(Yy["a"],$y);var Jy=Yy["a"].locals||{};function Zy(t){const e=t.model;return(n,o)=>{const i=o.keyCode==td.arrowup;const r=o.keyCode==td.arrowdown;const s=o.shiftKey;const a=e.document.selection;if(!i&&!r){return}const c=r;if(s&&ox(a,c)){return}const l=Xy(t,a,c);if(!l||l.isCollapsed){return}if(nx(t,l,c)){e.change((t=>{const n=c?l.end:l.start;if(s){const o=e.createSelection(a.anchor);o.setFocus(n);t.setSelection(o)}else{t.setSelection(n)}}));n.stop();o.preventDefault();o.stopPropagation()}}}function Xy(t,e,n){const o=t.model;if(n){const t=e.isCollapsed?e.focus:e.getLastPosition();const n=tx(o,t,"forward");if(!n){return null}const i=o.createRange(t,n);const r=ex(o.schema,i,"backward");if(r&&t.isBefore(r)){return o.createRange(t,r)}return null}else{const t=e.isCollapsed?e.focus:e.getFirstPosition();const n=tx(o,t,"backward");if(!n){return null}const i=o.createRange(n,t);const r=ex(o.schema,i,"forward");if(r&&t.isAfter(r)){return o.createRange(r,t)}return null}}function tx(t,e,n){const o=t.schema;const i=t.createRangeIn(e.root);const r=n=="forward"?"elementStart":"elementEnd";for(const{previousPosition:t,item:s,type:a}of i.getWalker({startPosition:e,direction:n})){if(o.isLimit(s)&&!o.isInline(s)){return t}if(a==r&&o.isBlock(s)){return null}}return null}function ex(t,e,n){const o=n=="backward"?e.end:e.start;if(t.checkChild(o,"$text")){return o}for(const{nextPosition:o}of e.getWalker({direction:n})){if(t.checkChild(o,"$text")){return o}}}function nx(t,e,n){const o=t.model;const i=t.view.domConverter;if(n){const t=o.createSelection(e.start);o.modifySelection(t);if(!t.focus.isAtEnd&&!e.start.isEqual(t.focus)){e=o.createRange(t.focus,e.end)}}const r=t.mapper.toViewRange(e);const s=i.viewRangeToDom(r);const a=cf.getDomRangeRects(s);let c;for(const t of a){if(c===undefined){c=Math.round(t.bottom);continue}if(Math.round(t.top)>=c){return false}c=Math.max(c,Math.round(t.bottom))}return true}function ox(t,e){return!t.isCollapsed&&t.isBackward==e}class ix extends Hn{static get pluginName(){return"Widget"}static get requires(){return[Uy,iy]}init(){const t=this.editor.editing.view;const e=t.document;this._previouslySelected=new Set;this.editor.editing.downcastDispatcher.on("selection",((t,e,n)=>{this._clearPreviouslySelectedWidgets(n.writer);const o=n.writer;const i=o.document.selection;const r=i.getSelectedElement();let s=null;for(const t of i.getRanges()){for(const e of t){const t=e.item;if(hy(t)&&!sx(t,s)){o.addClass(uy,t);this._previouslySelected.add(t);s=t;if(t==r){o.setSelection(i.getRanges(),{fake:true,label:ky(r)})}}}}}),{priority:"low"});t.addObserver(M_);this.listenTo(e,"mousedown",((...t)=>this._onMousedown(...t)));this.listenTo(e,"arrowKey",((...t)=>{this._handleSelectionChangeOnArrowKeyPress(...t)}),{context:[hy,"$text"]});this.listenTo(e,"arrowKey",((...t)=>{this._preventDefaultOnArrowKeyPress(...t)}),{context:"$root"});this.listenTo(e,"arrowKey",Zy(this.editor.editing),{context:"$text"});this.listenTo(e,"delete",((t,e)=>{if(this._handleDelete(e.direction=="forward")){e.preventDefault();t.stop()}}),{context:"$root"})}_onMousedown(t,e){const n=this.editor;const o=n.editing.view;const i=o.document;let r=e.target;if(rx(r)){if((Kl.isSafari||Kl.isGecko)&&e.domEvent.detail>=3){const t=n.editing.mapper;const o=r.is("attributeElement")?r.findAncestor((t=>!t.is("attributeElement"))):r;const i=t.toModelElement(o);e.preventDefault();this.editor.model.change((t=>{t.setSelection(i,"in")}))}return}if(!hy(r)){r=r.findAncestor(hy);if(!r){return}}if(Kl.isAndroid){e.preventDefault()}if(!i.isFocused){o.focus()}const s=n.editing.mapper.toModelElement(r);this._setSelectionOverElement(s)}_handleSelectionChangeOnArrowKeyPress(t,e){const n=e.keyCode;const o=this.editor.model;const i=o.schema;const r=o.document.selection;const s=r.getSelectedElement();const a=cd(n,this.editor.locale.contentLanguageDirection);if(s&&i.isObject(s)){const n=a?r.getLastPosition():r.getFirstPosition();const s=i.getNearestSelectionRange(n,a?"forward":"backward");if(s){o.change((t=>{t.setSelection(s)}));e.preventDefault();t.stop()}return}if(!r.isCollapsed){return}const c=this._getObjectElementNextToSelection(a);if(c&&i.isObject(c)){this._setSelectionOverElement(c);e.preventDefault();t.stop()}}_preventDefaultOnArrowKeyPress(t,e){const n=this.editor.model;const o=n.schema;const i=n.document.selection.getSelectedElement();if(i&&o.isObject(i)){e.preventDefault();t.stop()}}_handleDelete(t){if(this.editor.isReadOnly){return}const e=this.editor.model.document;const n=e.selection;if(!n.isCollapsed){return}const o=this._getObjectElementNextToSelection(t);if(o){this.editor.model.change((t=>{let e=n.anchor.parent;while(e.isEmpty){const n=e;e=n.parent;t.remove(n)}this._setSelectionOverElement(o)}));return true}}_setSelectionOverElement(t){this.editor.model.change((e=>{e.setSelection(e.createRangeOn(t))}))}_getObjectElementNextToSelection(t){const e=this.editor.model;const n=e.schema;const o=e.document.selection;const i=e.createSelection(o);e.modifySelection(i,{direction:t?"forward":"backward"});const r=t?i.focus.nodeBefore:i.focus.nodeAfter;if(!!r&&n.isObject(r)){return r}return null}_clearPreviouslySelectedWidgets(t){for(const e of this._previouslySelected){t.removeClass(uy,e)}this._previouslySelected.clear()}}function rx(t){while(t){if(t.is("editableElement")&&!t.is("rootElement")){return true}if(hy(t)){return false}t=t.parent}return false}function sx(t,e){if(!e){return false}return Array.from(t.getAncestors()).includes(e)}var ax="Expected a function";function cx(t,e,n){var o=true,i=true;if(typeof t!="function"){throw new TypeError(ax)}if(T(n)){o="leading"in n?!!n.leading:o;i="trailing"in n?!!n.trailing:i}return Gh(t,e,{leading:o,maxWait:e,trailing:i})}var lx=cx;var dx=n(37);var ux={injectType:"singletonStyleTag",attributes:{"data-cke":true}};ux.insert="head";ux.singleton=true;var hx=_k()(dx["a"],ux);var fx=dx["a"].locals||{};class mx extends Hn{static get pluginName(){return"DragDrop"}static get requires(){return[Yv,ix]}init(){const t=this.editor;const e=t.editing.view;this._draggedRange=null;this._draggingUid="";this._draggableElement=null;this._updateDropMarkerThrottled=lx((t=>this._updateDropMarker(t)),40);this._removeDropMarkerDelayed=_x((()=>this._removeDropMarker()),40);this._clearDraggableAttributesDelayed=_x((()=>this._clearDraggableAttributes()),40);e.addObserver(Hv);e.addObserver(M_);this._setupDragging();this._setupContentInsertionIntegration();this._setupClipboardInputIntegration();this._setupDropMarker();this._setupDraggableAttributeHandling();this.listenTo(t,"change:isReadOnly",((t,e,n)=>{if(n){this.forceDisabled("readOnlyMode")}else{this.clearForceDisabled("readOnlyMode")}}));this.on("change:isEnabled",((t,e,n)=>{if(!n){this._finalizeDragging(false)}}));if(Kl.isAndroid){this.forceDisabled("noAndroidSupport")}}destroy(){if(this._draggedRange){this._draggedRange.detach();this._draggedRange=null}this._updateDropMarkerThrottled.cancel();this._removeDropMarkerDelayed.cancel();this._clearDraggableAttributesDelayed.cancel();return super.destroy()}_setupDragging(){const t=this.editor;const e=t.model;const n=e.document;const o=t.editing.view;const i=o.document;this.listenTo(i,"dragstart",((o,r)=>{const s=n.selection;if(r.target&&r.target.is("editableElement")){r.preventDefault();return}const c=r.target?vx(r.target):null;if(c){const n=t.editing.mapper.toModelElement(c);this._draggedRange=sm.fromRange(e.createRangeOn(n))}else if(!i.selection.isCollapsed){const t=i.selection.getSelectedElement();if(!t||!hy(t)){this._draggedRange=sm.fromRange(s.getFirstRange())}}if(!this._draggedRange){r.preventDefault();return}this._draggingUid=a();r.dataTransfer.effectAllowed=this.isEnabled?"copyMove":"copy";r.dataTransfer.setData("application/ckeditor5-dragging-uid",this._draggingUid);const l=e.createSelection(this._draggedRange.toRange());const d=t.data.toView(e.getSelectedContent(l));i.fire("clipboardOutput",{dataTransfer:r.dataTransfer,content:d,method:o.name});if(!this.isEnabled){this._draggedRange.detach();this._draggedRange=null;this._draggingUid=""}}),{priority:"low"});this.listenTo(i,"dragend",((t,e)=>{this._finalizeDragging(!e.dataTransfer.isCanceled&&e.dataTransfer.dropEffect=="move")}),{priority:"low"});this.listenTo(i,"dragenter",(()=>{if(!this.isEnabled){return}o.focus()}));this.listenTo(i,"dragleave",(()=>{this._removeDropMarkerDelayed()}));this.listenTo(i,"dragging",((e,n)=>{if(!this.isEnabled){n.dataTransfer.dropEffect="none";return}this._removeDropMarkerDelayed.cancel();const o=gx(t,n.targetRanges,n.target);if(!this._draggedRange){n.dataTransfer.dropEffect="copy"}if(!Kl.isGecko){if(n.dataTransfer.effectAllowed=="copy"){n.dataTransfer.dropEffect="copy"}else if(["all","copyMove"].includes(n.dataTransfer.effectAllowed)){n.dataTransfer.dropEffect="move"}}if(o){this._updateDropMarkerThrottled(o)}}),{priority:"low"})}_setupClipboardInputIntegration(){const t=this.editor;const e=t.editing.view;const n=e.document;this.listenTo(n,"clipboardInput",((e,n)=>{if(n.method!="drop"){return}const o=gx(t,n.targetRanges,n.target);this._removeDropMarker();if(!o){this._finalizeDragging(false);e.stop();return}if(this._draggedRange&&this._draggingUid!=n.dataTransfer.getData("application/ckeditor5-dragging-uid")){this._draggedRange.detach();this._draggedRange=null;this._draggingUid=""}const i=Ax(n.dataTransfer)=="move";if(i&&this._draggedRange&&this._draggedRange.containsRange(o,true)){this._finalizeDragging(false);e.stop();return}n.targetRanges=[t.editing.mapper.toViewRange(o)]}),{priority:"high"})}_setupContentInsertionIntegration(){const t=this.editor.plugins.get(Yv);t.on("contentInsertion",((t,e)=>{if(!this.isEnabled||e.method!=="drop"){return}const n=e.targetRanges.map((t=>this.editor.editing.mapper.toModelRange(t)));this.editor.model.change((t=>t.setSelection(n)))}),{priority:"high"});t.on("contentInsertion",((t,e)=>{if(!this.isEnabled||e.method!=="drop"){return}const n=Ax(e.dataTransfer)=="move";const o=!e.resultRange||!e.resultRange.isCollapsed;this._finalizeDragging(o&&n)}),{priority:"lowest"})}_setupDraggableAttributeHandling(){const t=this.editor;const e=t.editing.view;const n=e.document;this.listenTo(n,"mousedown",((o,i)=>{if(Kl.isAndroid||!i){return}this._clearDraggableAttributesDelayed.cancel();let r=vx(i.target);if(Kl.isBlink&&!t.isReadOnly&&!r&&!n.selection.isCollapsed){const t=n.selection.getSelectedElement();if(!t||!hy(t)){r=n.selection.editableElement}}if(r){e.change((t=>{t.setAttribute("draggable","true",r)}));this._draggableElement=t.editing.mapper.toModelElement(r)}}));this.listenTo(n,"mouseup",(()=>{if(!Kl.isAndroid){this._clearDraggableAttributesDelayed()}}))}_clearDraggableAttributes(){const t=this.editor.editing;t.view.change((e=>{if(this._draggableElement&&this._draggableElement.root.rootName!="$graveyard"){e.removeAttribute("draggable",t.mapper.toViewElement(this._draggableElement))}this._draggableElement=null}))}_setupDropMarker(){const t=this.editor;t.conversion.for("editingDowncast").markerToHighlight({model:"drop-target",view:{classes:["ck-clipboard-drop-target-range"]}});t.conversion.for("editingDowncast").markerToElement({model:"drop-target",view:(e,{writer:n})=>{const o=t.model.schema.checkChild(e.markerRange.start,"$text");if(!o){return}return n.createUIElement("span",{class:"ck ck-clipboard-drop-target-position"},(function(t){const e=this.toDomElement(t);e.innerHTML="⁠ ⁠";return e}))}})}_updateDropMarker(t){const e=this.editor;const n=e.model.markers;e.model.change((e=>{if(n.has("drop-target")){if(!n.get("drop-target").getRange().isEqual(t)){e.updateMarker("drop-target",{range:t})}}else{e.addMarker("drop-target",{range:t,usingOperation:false,affectsData:false})}}))}_removeDropMarker(){const t=this.editor.model;this._removeDropMarkerDelayed.cancel();this._updateDropMarkerThrottled.cancel();if(t.markers.has("drop-target")){t.change((t=>{t.removeMarker("drop-target")}))}}_finalizeDragging(t){const e=this.editor;const n=e.model;this._removeDropMarker();this._clearDraggableAttributes();this._draggingUid="";if(!this._draggedRange){return}if(t&&this.isEnabled){n.deleteContent(n.createSelection(this._draggedRange),{doNotAutoparagraph:true})}this._draggedRange.detach();this._draggedRange=null}}function gx(t,e,n){const o=t.model;const i=t.editing.mapper;let r=null;const s=e?e[0].start:null;if(n.is("uiElement")){n=n.parent}r=px(t,n);if(r){return r}const a=Cx(t,n);const c=s?i.toModelPosition(s):null;if(!c){return bx(t,a)}r=kx(t,c,a);if(r){return r}r=o.schema.getNearestSelectionRange(c,Kl.isGecko?"forward":"backward");if(r){return r}return wx(t,c.parent)}function px(t,e){const n=t.model;const o=t.editing.mapper;if(hy(e)){return n.createRangeOn(o.toModelElement(e))}if(!e.is("editableElement")){const t=e.findAncestor((t=>hy(t)||t.is("editableElement")));if(hy(t)){return n.createRangeOn(o.toModelElement(t))}}return null}function bx(t,e){const n=t.model;const o=n.schema;const i=n.createPositionAt(e,0);return o.getNearestSelectionRange(i,"forward")}function kx(t,e,n){const o=t.model;if(!o.schema.checkChild(n,"$block")){return null}const i=o.createPositionAt(n,0);const r=e.path.slice(0,i.path.length);const s=o.createPositionFromPath(e.root,r);const a=s.nodeAfter;if(a&&o.schema.isObject(a)){return o.createRangeOn(a)}return null}function wx(t,e){const n=t.model;while(e){if(n.schema.isObject(e)){return n.createRangeOn(e)}e=e.parent}}function Cx(t,e){const n=t.editing.mapper;const o=t.editing.view;const i=n.toModelElement(e);if(i){return i}const r=o.createPositionBefore(e);const s=n.findMappedViewAncestor(r);return n.toModelElement(s)}function Ax(t){if(Kl.isGecko){return t.dropEffect}return["all","copyMove"].includes(t.effectAllowed)?"move":"copy"}function _x(t,e){let n;function o(...i){o.cancel();n=setTimeout((()=>t(...i)),e)}o.cancel=()=>{clearTimeout(n)};return o}function vx(t){if(t.is("editableElement")){return null}if(t.hasClass("ck-widget__selection-handle")){return t.findAncestor(hy)}if(hy(t)){return t}const e=t.findAncestor((t=>hy(t)||t.is("editableElement")));if(hy(e)){return e}return null}class yx extends Hn{static get pluginName(){return"PastePlainText"}static get requires(){return[Yv]}init(){const t=this.editor;const e=t.model;const n=t.editing.view;const o=n.document;const i=e.document.selection;let r=false;n.addObserver(Hv);this.listenTo(o,"keydown",((t,e)=>{r=e.shiftKey}));t.plugins.get(Yv).on("contentInsertion",((t,n)=>{if(!r&&!xx(n.content,e.schema)){return}e.change((t=>{const o=Array.from(i.getAttributes()).filter((([t])=>e.schema.getAttributeProperties(t).isFormatting));if(!i.isCollapsed){e.deleteContent(i,{doNotAutoparagraph:true})}o.push(...i.getAttributes());const r=t.createRangeIn(n.content);for(const e of r.getItems()){if(e.is("$textProxy")){t.setAttributes(o,e)}}}))}))}}function xx(t,e){if(t.childCount>1){return false}const n=t.getChild(0);if(e.isObject(n)){return false}return[...n.getAttributeKeys()].length==0}class Ex extends Hn{static get pluginName(){return"Clipboard"}static get requires(){return[Yv,mx,yx]}}class Dx extends Wn{constructor(t){super(t);this._stack=[];this._createdBatches=new WeakSet;this.refresh();this.listenTo(t.data,"set",(()=>this.clearStack()))}refresh(){this.isEnabled=this._stack.length>0}addBatch(t){const e=this.editor.model.document.selection;const n={ranges:e.hasOwnRange?Array.from(e.getRanges()):[],isBackward:e.isBackward};this._stack.push({batch:t,selection:n});this.refresh()}clearStack(){this._stack=[];this.refresh()}_restoreSelection(t,e,n){const o=this.editor.model;const i=o.document;const r=[];const s=t.map((t=>t.getTransformedByOperations(n)));const a=s.flat();for(const t of s){const e=t.filter((t=>t.root!=i.graveyard)).filter((t=>!Sx(t,a)));if(!e.length){continue}Tx(e);r.push(e[0])}if(r.length){o.change((t=>{t.setSelection(r,{backward:e})}))}}_undo(t,e){const n=this.editor.model;const o=n.document;this._createdBatches.add(e);const i=t.operations.slice().filter((t=>t.isDocumentOperation));i.reverse();for(const t of i){const i=t.baseVersion+1;const r=Array.from(o.history.getOperations(i));const s=A_([t.getReversed()],r,{useRelations:true,document:this.editor.model.document,padWithNoOps:false,forceWeakRemove:true});const a=s.operationsA;for(const i of a){e.addOperation(i);n.applyOperation(i);o.history.setOperationAsUndone(t,i)}}}}function Tx(t){t.sort(((t,e)=>t.start.isBefore(e.start)?-1:1));for(let e=1;ee!==t&&e.containsRange(t,true)))}class Mx extends Dx{execute(t=null){const e=t?this._stack.findIndex((e=>e.batch==t)):this._stack.length-1;const n=this._stack.splice(e,1)[0];const o=this.editor.model.createBatch("transparent");this.editor.model.enqueueChange(o,(()=>{this._undo(n.batch,o);const t=this.editor.model.document.history.getOperations(n.batch.baseVersion);this._restoreSelection(n.selection.ranges,n.selection.isBackward,t);this.fire("revert",n.batch,o)}));this.refresh()}}class Ix extends Dx{execute(){const t=this._stack.pop();const e=this.editor.model.createBatch("transparent");this.editor.model.enqueueChange(e,(()=>{const n=t.batch.operations[t.batch.operations.length-1];const o=n.baseVersion+1;const i=this.editor.model.document.history.getOperations(o);this._restoreSelection(t.selection.ranges,t.selection.isBackward,i);this._undo(t.batch,e)}));this.refresh()}}class Bx extends Hn{static get pluginName(){return"UndoEditing"}constructor(t){super(t);this._batchRegistry=new WeakSet}init(){const t=this.editor;this._undoCommand=new Mx(t);this._redoCommand=new Ix(t);t.commands.add("undo",this._undoCommand);t.commands.add("redo",this._redoCommand);this.listenTo(t.model,"applyOperation",((t,e)=>{const n=e[0];if(!n.isDocumentOperation){return}const o=n.batch;const i=this._redoCommand._createdBatches.has(o);const r=this._undoCommand._createdBatches.has(o);const s=this._batchRegistry.has(o);if(s||o.type=="transparent"&&!i&&!r){return}else{if(i){this._undoCommand.addBatch(o)}else if(!r){this._undoCommand.addBatch(o);this._redoCommand.clearStack()}}this._batchRegistry.add(o)}),{priority:"highest"});this.listenTo(this._undoCommand,"revert",((t,e,n)=>{this._redoCommand.addBatch(n)}));t.keystrokes.set("CTRL+Z","undo");t.keystrokes.set("CTRL+Y","redo");t.keystrokes.set("CTRL+SHIFT+Z","redo")}}var Nx=' ';var zx=' ';class Px extends Hn{static get pluginName(){return"UndoUI"}init(){const t=this.editor;const e=t.locale;const n=t.t;const o=e.uiLanguageDirection=="ltr"?Nx:zx;const i=e.uiLanguageDirection=="ltr"?zx:Nx;this._addButton("undo",n("Undo"),"CTRL+Z",o);this._addButton("redo",n("Redo"),"CTRL+Y",i)}_addButton(t,e,n,o){const i=this.editor;i.ui.componentFactory.add(t,(r=>{const s=i.commands.get(t);const a=new pw(r);a.set({label:e,icon:o,keystroke:n,tooltip:true});a.bind("isEnabled").to(s,"isEnabled");this.listenTo(a,"execute",(()=>{i.execute(t);i.editing.view.focus()}));return a}))}}class Lx extends Hn{static get requires(){return[Bx,Px]}static get pluginName(){return"Undo"}}class Ox extends Hn{static get requires(){return[PA]}static get pluginName(){return"WidgetToolbarRepository"}init(){const t=this.editor;if(t.plugins.has("BalloonToolbar")){const e=t.plugins.get("BalloonToolbar");this.listenTo(e,"show",(e=>{if(jx(t.editing.view.document.selection)){e.stop()}}),{priority:"high"})}this._toolbarDefinitions=new Map;this._balloon=this.editor.plugins.get("ContextualBalloon");this.on("change:isEnabled",(()=>{this._updateToolbarsVisibility()}));this.listenTo(t.ui,"update",(()=>{this._updateToolbarsVisibility()}));this.listenTo(t.ui.focusTracker,"change:isFocused",(()=>{this._updateToolbarsVisibility()}),{priority:"low"})}destroy(){super.destroy();for(const t of this._toolbarDefinitions.values()){t.view.destroy()}}register(t,{ariaLabel:e,items:n,getRelatedElement:o,balloonClassName:i="ck-toolbar-container"}){if(!n.length){Object(u["b"])("widget-toolbar-no-items",{toolbarId:t});return}const r=this.editor;const s=r.t;const a=new lC(r.locale);a.ariaLabel=e||s("Widget toolbar");if(this._toolbarDefinitions.has(t)){throw new u["a"]("widget-toolbar-duplicated",this,{toolbarId:t})}a.fillFromConfig(n,r.ui.componentFactory);this._toolbarDefinitions.set(t,{view:a,getRelatedElement:o,balloonClassName:i})}_updateToolbarsVisibility(){let t=0;let e=null;let n=null;for(const o of this._toolbarDefinitions.values()){const i=o.getRelatedElement(this.editor.editing.view.document.selection);if(!this.isEnabled||!i){if(this._isToolbarInBalloon(o)){this._hideToolbar(o)}}else if(!this.editor.ui.focusTracker.isFocused){if(this._isToolbarVisible(o)){this._hideToolbar(o)}}else{const r=i.getAncestors().length;if(r>t){t=r;e=i;n=o}}}if(n){this._showToolbar(n,e)}}_hideToolbar(t){this._balloon.remove(t.view);this.stopListening(this._balloon,"change:visibleView")}_showToolbar(t,e){if(this._isToolbarVisible(t)){Rx(this.editor,e)}else if(!this._isToolbarInBalloon(t)){this._balloon.add({view:t.view,position:Fx(this.editor,e),balloonClassName:t.balloonClassName});this.listenTo(this._balloon,"change:visibleView",(()=>{for(const t of this._toolbarDefinitions.values()){if(this._isToolbarVisible(t)){const e=t.getRelatedElement(this.editor.editing.view.document.selection);Rx(this.editor,e)}}}))}}_isToolbarVisible(t){return this._balloon.visibleView===t.view}_isToolbarInBalloon(t){return this._balloon.hasView(t.view)}}function Rx(t,e){const n=t.plugins.get("ContextualBalloon");const o=Fx(t,e);n.updatePosition(o)}function Fx(t,e){const n=t.editing.view;const o=CA.defaultPositions;return{target:n.domConverter.mapViewToDom(e),positions:[o.northArrowSouth,o.northArrowSouthWest,o.northArrowSouthEast,o.southArrowNorth,o.southArrowNorthWest,o.southArrowNorthEast,vy]}}function jx(t){const e=t.getSelectedElement();return!!(e&&hy(e))}class Vx{constructor(t){this.set("activeHandlePosition",null);this.set("proposedWidthPercents",null);this.set("proposedWidth",null);this.set("proposedHeight",null);this.set("proposedHandleHostWidth",null);this.set("proposedHandleHostHeight",null);this._options=t;this._referenceCoordinates=null}begin(t,e,n){const o=new cf(e);this.activeHandlePosition=Kx(t);this._referenceCoordinates=Ux(e,Gx(this.activeHandlePosition));this.originalWidth=o.width;this.originalHeight=o.height;this.aspectRatio=o.width/o.height;const i=n.style.width;if(i&&i.match(/^\d+(\.\d*)?%$/)){this.originalWidthPercents=parseFloat(i)}else{this.originalWidthPercents=Hx(n,o)}}update(t){this.proposedWidth=t.width;this.proposedHeight=t.height;this.proposedWidthPercents=t.widthPercents;this.proposedHandleHostWidth=t.handleHostWidth;this.proposedHandleHostHeight=t.handleHostHeight}}Vn(Vx,Mn);function Hx(t,e){const n=t.parentElement;const o=parseFloat(n.ownerDocument.defaultView.getComputedStyle(n).width);return e.width/o*100}function Ux(t,e){const n=new cf(t);const o=e.split("-");const i={x:o[1]=="right"?n.right:n.left,y:o[0]=="bottom"?n.bottom:n.top};i.x+=t.ownerDocument.defaultView.scrollX;i.y+=t.ownerDocument.defaultView.scrollY;return i}function Wx(t){return`ck-widget__resizer__handle-${t}`}function Kx(t){const e=["top-left","top-right","bottom-right","bottom-left"];for(const n of e){if(t.classList.contains(Wx(n))){return n}}}function Gx(t){const e=t.split("-");const n={top:"bottom",bottom:"top",left:"right",right:"left"};return`${n[e[0]]}-${n[e[1]]}`}class qx{constructor(t){this._options=t;this._domResizerWrapper=null;this._viewResizerWrapper=null;this.set("isEnabled",true);this.decorate("begin");this.decorate("cancel");this.decorate("commit");this.decorate("updateSize");this.on("commit",(t=>{if(!this.state.proposedWidth&&!this.state.proposedWidthPercents){this._cleanup();t.stop()}}),{priority:"high"});this.on("change:isEnabled",(()=>{if(this.isEnabled){this.redraw()}}))}attach(){const t=this;const e=this._options.viewElement;const n=this._options.editor.editing.view;n.change((n=>{const o=n.createUIElement("div",{class:"ck ck-reset_all ck-widget__resizer"},(function(e){const n=this.toDomElement(e);t._appendHandles(n);t._appendSizeUI(n);t._domResizerWrapper=n;t.on("change:isEnabled",((t,e,o)=>{n.style.display=o?"":"none"}));n.style.display=t.isEnabled?"":"none";return n}));n.insert(n.createPositionAt(e,"end"),o);n.addClass("ck-widget_with-resizer",e);this._viewResizerWrapper=o}))}begin(t){this.state=new Vx(this._options);this._sizeUI.bindToState(this._options,this.state);this._initialViewWidth=this._options.viewElement.getStyle("width");this.state.begin(t,this._getHandleHost(),this._getResizeHost())}updateSize(t){const e=this._proposeNewSize(t);const n=this._options.editor.editing.view;n.change((t=>{const n=this._options.unit||"%";const o=(n==="%"?e.widthPercents:e.width)+n;t.setStyle("width",o,this._options.viewElement)}));const o=this._getHandleHost();const i=new cf(o);e.handleHostWidth=Math.round(i.width);e.handleHostHeight=Math.round(i.height);const r=new cf(o);e.width=Math.round(r.width);e.height=Math.round(r.height);this.redraw(i);this.state.update(e)}commit(){const t=this._options.unit||"%";const e=(t==="%"?this.state.proposedWidthPercents:this.state.proposedWidth)+t;this._options.editor.editing.view.change((()=>{this._cleanup();this._options.onCommit(e)}))}cancel(){this._cleanup()}destroy(){this.cancel()}redraw(t){const e=this._domResizerWrapper;if(!Jx(e)){return}const n=e.parentElement;const o=this._getHandleHost();const i=this._viewResizerWrapper;const r=[i.getStyle("width"),i.getStyle("height"),i.getStyle("left"),i.getStyle("top")];let s;if(n.isSameNode(o)){const e=t||new cf(o);s=[e.width+"px",e.height+"px",undefined,undefined]}else{s=[o.offsetWidth+"px",o.offsetHeight+"px",o.offsetLeft+"px",o.offsetTop+"px"]}if(Ba(r,s)!=="same"){this._options.editor.editing.view.change((t=>{t.setStyle({width:s[0],height:s[1],left:s[2],top:s[3]},i)}))}}containsHandle(t){return this._domResizerWrapper.contains(t)}static isResizeHandle(t){return t.classList.contains("ck-widget__resizer__handle")}_cleanup(){this._sizeUI.dismiss();this._sizeUI.isVisible=false;const t=this._options.editor.editing.view;t.change((t=>{t.setStyle("width",this._initialViewWidth,this._options.viewElement)}))}_proposeNewSize(t){const e=this.state;const n=Qx(t);const o=this._options.isCentered?this._options.isCentered(this):true;const i={x:e._referenceCoordinates.x-(n.x+e.originalWidth),y:n.y-e.originalHeight-e._referenceCoordinates.y};if(o&&e.activeHandlePosition.endsWith("-right")){i.x=n.x-(e._referenceCoordinates.x+e.originalWidth)}if(o){i.x*=2}const r={width:Math.abs(e.originalWidth+i.x),height:Math.abs(e.originalHeight+i.y)};r.dominant=r.width/e.aspectRatio>r.height?"width":"height";r.max=r[r.dominant];const s={width:r.width,height:r.height};if(r.dominant=="width"){s.height=s.width/e.aspectRatio}else{s.width=s.height*e.aspectRatio}return{width:Math.round(s.width),height:Math.round(s.height),widthPercents:Math.min(Math.round(e.originalWidthPercents/e.originalWidth*s.width*100)/100,100)}}_getResizeHost(){const t=this._domResizerWrapper.parentElement;return this._options.getResizeHost(t)}_getHandleHost(){const t=this._domResizerWrapper.parentElement;return this._options.getHandleHost(t)}_appendHandles(t){const e=["top-left","top-right","bottom-right","bottom-left"];for(const n of e){t.appendChild(new Sk({tag:"div",attributes:{class:`ck-widget__resizer__handle ${$x(n)}`}}).render())}}_appendSizeUI(t){const e=new Yx;e.render();this._sizeUI=e;t.appendChild(e.element)}}Vn(qx,Mn);class Yx extends Dk{constructor(){super();const t=this.bindTemplate;this.setTemplate({tag:"div",attributes:{class:["ck","ck-size-view",t.to("activeHandlePosition",(t=>t?`ck-orientation-${t}`:""))],style:{display:t.if("isVisible","none",(t=>!t))}},children:[{text:t.to("label")}]})}bindToState(t,e){this.bind("isVisible").to(e,"proposedWidth",e,"proposedHeight",((t,e)=>t!==null&&e!==null));this.bind("label").to(e,"proposedHandleHostWidth",e,"proposedHandleHostHeight",e,"proposedWidthPercents",((e,n,o)=>{if(t.unit==="px"){return`${e}×${n}`}else{return`${o}%`}}));this.bind("activeHandlePosition").to(e)}dismiss(){this.unbind();this.isVisible=false}}function $x(t){return`ck-widget__resizer__handle-${t}`}function Qx(t){return{x:t.pageX,y:t.pageY}}function Jx(t){return t&&t.ownerDocument&&t.ownerDocument.contains(t)}var Zx=n(38);var Xx={injectType:"singletonStyleTag",attributes:{"data-cke":true}};Xx.insert="head";Xx.singleton=true;var tE=_k()(Zx["a"],Xx);var eE=Zx["a"].locals||{};class nE extends Hn{static get pluginName(){return"WidgetResize"}init(){this.set("visibleResizer",null);this.set("_activeResizer",null);this._resizers=new Map;const t=su.window.document;this.editor.model.schema.setAttributeProperties("width",{isFormatting:true});this.editor.editing.view.addObserver(M_);this._observer=Object.create(Cu);this.listenTo(this.editor.editing.view.document,"mousedown",this._mouseDownListener.bind(this),{priority:"high"});this._observer.listenTo(t,"mousemove",this._mouseMoveListener.bind(this));this._observer.listenTo(t,"mouseup",this._mouseUpListener.bind(this));const e=()=>{if(this.visibleResizer){this.visibleResizer.redraw()}};const n=lx(e,200);this.on("change:visibleResizer",e);this.editor.ui.on("update",n);this._observer.listenTo(su.window,"resize",n);const o=this.editor.editing.view.document.selection;o.on("change",(()=>{const t=o.getSelectedElement();this.visibleResizer=this.getResizerByViewElement(t)||null}))}destroy(){this._observer.stopListening();for(const t of this._resizers.values()){t.destroy()}}attachTo(t){const e=new qx(t);const n=this.editor.plugins;e.attach();if(n.has("WidgetToolbarRepository")){const t=n.get("WidgetToolbarRepository");e.on("begin",(()=>{t.forceDisabled("resize")}),{priority:"lowest"});e.on("cancel",(()=>{t.clearForceDisabled("resize")}),{priority:"highest"});e.on("commit",(()=>{t.clearForceDisabled("resize")}),{priority:"highest"})}this._resizers.set(t.viewElement,e);const o=this.editor.editing.view.document.selection;const i=o.getSelectedElement();if(this.getResizerByViewElement(i)==e){this.visibleResizer=e}return e}getResizerByViewElement(t){return this._resizers.get(t)}_getResizerByHandle(t){for(const e of this._resizers.values()){if(e.containsHandle(t)){return e}}}_mouseDownListener(t,e){const n=e.domTarget;if(!qx.isResizeHandle(n)){return}this._activeResizer=this._getResizerByHandle(n);if(this._activeResizer){this._activeResizer.begin(n);t.stop();e.preventDefault()}}_mouseMoveListener(t,e){if(this._activeResizer){this._activeResizer.updateSize(e)}}_mouseUpListener(){if(this._activeResizer){this._activeResizer.commit();this._activeResizer=null}}}Vn(nE,Mn);function oE(t,e,n){e.setCustomProperty("image",true,t);return fy(t,e,{label:o});function o(){const e=lE(t);const o=e.getAttribute("alt");return o?`${o} ${n}`:n}}function iE(t){return!!t.getCustomProperty("image")&&hy(t)}function rE(t){const e=t.getSelectedElement();if(e&&iE(e)){return e}return null}function sE(t){return!!t&&t.is("element","image")}function aE(t,e={},n=null){t.change((o=>{const i=o.createElement("image",e);const r=n||Cy(t.document.selection,t);t.insertContent(i,r);if(i.parent){o.setSelection(i,"on")}}))}function cE(t){const e=t.schema;const n=t.document.selection;return dE(n,e,t)&&!Ay(n,e)&&uE(n)}function lE(t){const e=[];for(const n of t.getChildren()){e.push(n);if(n.is("element")){e.push(...n.getChildren())}}return e.find((t=>t.is("element","img")))}function dE(t,e,n){const o=hE(t,n);return e.checkChild(o,"image")}function uE(t){return[...t.focus.getAncestors()].every((t=>!t.is("element","image")))}function hE(t,e){const n=Cy(t,e);const o=n.parent;if(o.isEmpty&&!o.is("element","$root")){return o.parent}return o}const fE=new RegExp(String(/^(http(s)?:\/\/)?[\w-]+\.[\w.~:/[\]@!$&'()*+,;=%-]+/.source+/\.(jpg|jpeg|png|gif|ico|webp|JPG|JPEG|PNG|GIF|ICO|WEBP)/.source+/(\?[\w.~:/[\]@!$&'()*+,;=%-]*)?/.source+/(#[\w.~:/[\]@!$&'()*+,;=%-]*)?$/.source));class mE extends Hn{static get requires(){return[Ex,Lx]}static get pluginName(){return"AutoImage"}constructor(t){super(t);this._timeoutId=null;this._positionToInsert=null}init(){const t=this.editor;const e=t.model.document;this.listenTo(t.plugins.get("ClipboardPipeline"),"inputTransformation",(()=>{const t=e.selection.getFirstRange();const n=Gp.fromPosition(t.start);n.stickiness="toPrevious";const o=Gp.fromPosition(t.end);o.stickiness="toNext";e.once("change:data",(()=>{this._embedImageBetweenPositions(n,o);n.detach();o.detach()}),{priority:"high"})}));t.commands.get("undo").on("execute",(()=>{if(this._timeoutId){su.window.clearTimeout(this._timeoutId);this._positionToInsert.detach();this._timeoutId=null;this._positionToInsert=null}}),{priority:"high"})}_embedImageBetweenPositions(t,e){const n=this.editor;const o=new sm(t,e);const i=o.getWalker({ignoreElementEnd:true});let r="";for(const t of i){if(t.item.is("$textProxy")){r+=t.item.data}}r=r.trim();if(!r.match(fE)){o.detach();return}this._positionToInsert=Gp.fromPosition(t);this._timeoutId=su.window.setTimeout((()=>{const t=n.commands.get("insertImage");if(!t.isEnabled){o.detach();return}n.model.change((t=>{this._timeoutId=null;t.remove(o);o.detach();let e;if(this._positionToInsert.root.rootName!=="$graveyard"){e=this._positionToInsert.toPosition()}aE(n.model,{src:r},e);this._positionToInsert.detach();this._positionToInsert=null}))}),100)}}function gE(t,e,n,o){let i;let r=null;if(typeof o=="function"){i=o}else{r=t.commands.get(o);i=()=>{t.execute(o)}}t.model.document.on("change:data",((s,a)=>{if(r&&!r.isEnabled||!e.isEnabled){return}const c=pf(t.model.document.selection.getRanges());if(!c.isCollapsed){return}if(a.type=="transparent"){return}const l=Array.from(t.model.document.differ.getChanges());const d=l[0];if(l.length!=1||d.type!=="insert"||d.name!="$text"||d.length!=1){return}const u=d.position.parent;if(u.is("element","codeBlock")){return}if(u.is("element","listItem")&&typeof o!=="function"&&!["numberedList","bulletedList","todoList"].includes(o)){return}if(r&&r.value===true){return}const h=u.getChild(0);const f=t.model.createRangeOn(h);if(!f.containsRange(c)&&!c.end.isEqual(f.end)){return}const m=n.exec(h.data.substr(0,c.end.offset));if(!m){return}t.model.enqueueChange((e=>{const n=e.createPositionAt(u,0);const o=e.createPositionAt(u,m[0].length);const r=new sm(n,o);const s=i({match:m});if(s!==false){e.remove(r);const n=t.model.document.selection.getFirstRange();const o=e.createRangeIn(u);if(u.isEmpty&&!o.isEqual(n)&&!o.containsRange(n,true)){e.remove(u)}}r.detach()}))}))}function pE(t,e,n,o){let i;let r;if(n instanceof RegExp){i=n}else{r=n}r=r||(t=>{let e;const n=[];const o=[];while((e=i.exec(t))!==null){if(e&&e.length<4){break}let{index:t,1:i,2:r,3:s}=e;const a=i+r+s;t+=e[0].length-a.length;const c=[t,t+i.length];const l=[t+i.length+r.length,t+i.length+r.length+s.length];n.push(c);n.push(l);o.push([t+i.length,t+i.length+r.length])}return{remove:n,format:o}});t.model.document.on("change:data",((n,i)=>{if(i.type=="transparent"||!e.isEnabled){return}const s=t.model;const a=s.document.selection;if(!a.isCollapsed){return}const c=Array.from(s.document.differ.getChanges());const l=c[0];if(c.length!=1||l.type!=="insert"||l.name!="$text"||l.length!=1){return}const d=a.focus;const u=d.parent;const{text:h,range:f}=kE(s.createRange(s.createPositionAt(u,0),d),s);const m=r(h);const g=bE(f.start,m.format,s);const p=bE(f.start,m.remove,s);if(!(g.length&&p.length)){return}s.enqueueChange((t=>{const e=o(t,g);if(e===false){return}for(const e of p.reverse()){t.remove(e)}}))}))}function bE(t,e,n){return e.filter((t=>t[0]!==undefined&&t[1]!==undefined)).map((e=>n.createRange(t.getShiftedBy(e[0]),t.getShiftedBy(e[1]))))}function kE(t,e){let n=t.start;const o=Array.from(t.getItems()).reduce(((t,o)=>{if(!(o.is("$text")||o.is("$textProxy"))||o.getAttribute("code")){n=e.createPositionAfter(o);return""}return t+o.data}),"");return{text:o,range:e.createRange(n,t.end)}}class wE extends Hn{static get pluginName(){return"Autoformat"}afterInit(){this._addListAutoformats();this._addBasicStylesAutoformats();this._addHeadingAutoformats();this._addBlockQuoteAutoformats();this._addCodeBlockAutoformats();this._addHorizontalLineAutoformats()}_addListAutoformats(){const t=this.editor.commands;if(t.get("bulletedList")){gE(this.editor,this,/^[*-]\s$/,"bulletedList")}if(t.get("numberedList")){gE(this.editor,this,/^1[.|)]\s$/,"numberedList")}if(t.get("todoList")){gE(this.editor,this,/^\[\s?\]\s$/,"todoList")}if(t.get("checkTodoList")){gE(this.editor,this,/^\[\s?x\s?\]\s$/,(()=>{this.editor.execute("todoList");this.editor.execute("checkTodoList")}))}}_addBasicStylesAutoformats(){const t=this.editor.commands;if(t.get("bold")){const t=CE(this.editor,"bold");pE(this.editor,this,/(?:^|\s)(\*\*)([^*]+)(\*\*)$/g,t);pE(this.editor,this,/(?:^|\s)(__)([^_]+)(__)$/g,t)}if(t.get("italic")){const t=CE(this.editor,"italic");pE(this.editor,this,/(?:^|\s)(\*)([^*_]+)(\*)$/g,t);pE(this.editor,this,/(?:^|\s)(_)([^_]+)(_)$/g,t)}if(t.get("code")){const t=CE(this.editor,"code");pE(this.editor,this,/(`)([^`]+)(`)$/g,t)}if(t.get("strikethrough")){const t=CE(this.editor,"strikethrough");pE(this.editor,this,/(~~)([^~]+)(~~)$/g,t)}}_addHeadingAutoformats(){const t=this.editor.commands.get("heading");if(t){t.modelElements.filter((t=>t.match(/^heading[1-6]$/))).forEach((e=>{const n=e[7];const o=new RegExp(`^(#{${n}})\\s$`);gE(this.editor,this,o,(()=>{if(!t.isEnabled||t.value===e){return false}this.editor.execute("heading",{value:e})}))}))}}_addBlockQuoteAutoformats(){if(this.editor.commands.get("blockQuote")){gE(this.editor,this,/^>\s$/,"blockQuote")}}_addCodeBlockAutoformats(){if(this.editor.commands.get("codeBlock")){gE(this.editor,this,/^```$/,"codeBlock")}}_addHorizontalLineAutoformats(){if(this.editor.commands.get("horizontalLine")){gE(this.editor,this,/^---$/,"horizontalLine")}}}function CE(t,e){return(n,o)=>{const i=t.commands.get(e);if(!i.isEnabled){return false}const r=t.model.schema.getValidRanges(o,e);for(const t of r){n.setAttribute(e,true,t)}n.removeSelectionAttribute(e)}}class AE extends Wn{execute(){const t=this.editor.model;const e=t.document;t.change((n=>{vE(t,n,e.selection);this.fire("afterExecute",{writer:n})}))}refresh(){const t=this.editor.model;const e=t.document;this.isEnabled=_E(t.schema,e.selection)}}function _E(t,e){if(e.rangeCount>1){return false}const n=e.anchor;if(!n||!t.checkChild(n,"softBreak")){return false}const o=e.getFirstRange();const i=o.start.parent;const r=o.end.parent;if((xE(i,t)||xE(r,t))&&i!==r){return false}return true}function vE(t,e,n){const o=n.isCollapsed;const i=n.getFirstRange();const r=i.start.parent;const s=i.end.parent;const a=r==s;if(o){const o=$v(t.schema,n.getAttributes());yE(t,e,i.end);e.removeSelectionAttribute(n.getAttributeKeys());e.setSelectionAttribute(o)}else{const o=!(i.start.isAtStart&&i.end.isAtEnd);t.deleteContent(n,{leaveUnmerged:o});if(a){yE(t,e,n.focus)}else{if(o){e.setSelection(s,0)}}}}function yE(t,e,n){const o=e.createElement("softBreak");t.insertContent(o,n);e.setSelection(o,"after")}function xE(t,e){if(t.is("rootElement")){return false}return e.isLimit(t)||xE(t.parent,e)}class EE extends Hn{static get pluginName(){return"ShiftEnter"}init(){const t=this.editor;const e=t.model.schema;const n=t.conversion;const o=t.editing.view;const i=o.document;e.register("softBreak",{allowWhere:"$text",isInline:true});n.for("upcast").elementToElement({model:"softBreak",view:"br"});n.for("downcast").elementToElement({model:"softBreak",view:(t,{writer:e})=>e.createEmptyElement("br")});o.addObserver(Xv);t.commands.add("shiftEnter",new AE(t));this.listenTo(i,"enter",((e,n)=>{n.preventDefault();if(!n.isSoft){return}t.execute("shiftEnter");o.scrollToTheSelection()}),{priority:"low"})}}class DE extends Wn{constructor(t,e){super(t);this._buffer=new ey(t.model,e);this._batches=new WeakSet}get buffer(){return this._buffer}destroy(){super.destroy();this._buffer.destroy()}execute(t={}){const e=this.editor.model;const n=e.document;const o=t.text||"";const i=o.length;const r=t.range?e.createSelection(t.range):n.selection;const s=t.resultRange;e.enqueueChange(this._buffer.batch,(t=>{this._buffer.lock();this._batches.add(this._buffer.batch);e.deleteContent(r);if(o){e.insertContent(t.createText(o,n.selection.getAttributes()),r)}if(s){t.setSelection(s)}else if(!r.is("documentSelection")){t.setSelection(r)}this._buffer.unlock();this._buffer.input(i)}))}}function TE(t,e){const n=[];let o=0;let i;t.forEach((t=>{if(t=="equal"){r();o++}else if(t=="insert"){if(s("insert")){i.values.push(e[o])}else{r();i={type:"insert",index:o,values:[e[o]]}}o++}else{if(s("delete")){i.howMany++}else{r();i={type:"delete",index:o,howMany:1}}}}));r();return n;function r(){if(i){n.push(i);i=null}}function s(t){return i&&i.type==t}}function SE(t){if(t.length==0){return false}for(const e of t){if(e.type==="children"&&!ME(e)){return true}}return false}function ME(t){if(t.newChildren.length-t.oldChildren.length!=1){return}const e=Yd(t.oldChildren,t.newChildren,IE);const n=TE(e,t.newChildren);if(n.length>1){return}const o=n[0];if(!(!!o.values[0]&&o.values[0].is("$text"))){return}return o}function IE(t,e){if(!!t&&t.is("$text")&&!!e&&e.is("$text")){return t.data===e.data}else{return t===e}}function BE(t){t.editing.view.document.on("mutations",((e,n,o)=>{new NE(t).handle(n,o)}))}class NE{constructor(t){this.editor=t;this.editing=this.editor.editing}handle(t,e){if(SE(t)){this._handleContainerChildrenMutations(t,e)}else{for(const n of t){this._handleTextMutation(n,e);this._handleTextNodeInsertion(n)}}}_handleContainerChildrenMutations(t,e){const n=zE(t);if(!n){return}const o=this.editor.editing.view.domConverter;const i=o.mapViewToDom(n);const r=new fu(this.editor.editing.view.document);const s=this.editor.data.toModel(r.domToView(i)).getChild(0);const a=this.editor.editing.mapper.toModelElement(n);if(!a){return}const c=Array.from(s.getChildren());const l=Array.from(a.getChildren());const d=c[c.length-1];const u=l[l.length-1];const h=d&&d.is("element","softBreak");const f=u&&!u.is("element","softBreak");if(h&&f){c.pop()}const m=this.editor.model.schema;if(!PE(c,m)||!PE(l,m)){return}const g=c.map((t=>t.is("$text")?t.data:"@")).join("").replace(/\u00A0/g," ");const p=l.map((t=>t.is("$text")?t.data:"@")).join("").replace(/\u00A0/g," ");if(p===g){return}const b=Yd(p,g);const{firstChangeAt:k,insertions:w,deletions:C}=LE(b);let A=null;if(e){A=this.editing.mapper.toModelRange(e.getFirstRange())}const _=g.substr(k,w);const v=this.editor.model.createRange(this.editor.model.createPositionAt(a,k),this.editor.model.createPositionAt(a,k+C));this.editor.execute("input",{text:_,range:v,resultRange:A})}_handleTextMutation(t,e){if(t.type!="text"){return}const n=t.newText.replace(/\u00A0/g," ");const o=t.oldText.replace(/\u00A0/g," ");if(o===n){return}const i=Yd(o,n);const{firstChangeAt:r,insertions:s,deletions:a}=LE(i);let c=null;if(e){c=this.editing.mapper.toModelRange(e.getFirstRange())}const l=this.editing.view.createPositionAt(t.node,r);const d=this.editing.mapper.toModelPosition(l);const u=this.editor.model.createRange(d,d.getShiftedBy(a));const h=n.substr(r,s);this.editor.execute("input",{text:h,range:u,resultRange:c})}_handleTextNodeInsertion(t){if(t.type!="children"){return}const e=ME(t);const n=this.editing.view.createPositionAt(t.node,e.index);const o=this.editing.mapper.toModelPosition(n);const i=e.values[0].data;this.editor.execute("input",{text:i.replace(/\u00A0/g," "),range:this.editor.model.createRange(o)})}}function zE(t){const e=t.map((t=>t.node)).reduce(((t,e)=>t.getCommonAncestor(e,{includeSelf:true})));if(!e){return}return e.getAncestors({includeSelf:true,parentFirst:true}).find((t=>t.is("containerElement")||t.is("rootElement")))}function PE(t,e){return t.every((t=>e.isInline(t)))}function LE(t){let e=null;let n=null;for(let o=0;o{if(!(o.is("$text")||o.is("$textProxy"))){n=e.createPositionAfter(o);return""}return t+o.data}),"");return{text:o,range:e.createRange(n,t.end)}}class jE{constructor(t,e){this.model=t;this.testCallback=e;this.hasMatch=false;this.set("isEnabled",true);this.on("change:isEnabled",(()=>{if(this.isEnabled){this._startListening()}else{this.stopListening(t.document.selection);this.stopListening(t.document)}}));this._startListening()}_startListening(){const t=this.model;const e=t.document;this.listenTo(e.selection,"change:range",((t,{directChange:n})=>{if(!n){return}if(!e.selection.isCollapsed){if(this.hasMatch){this.fire("unmatched");this.hasMatch=false}return}this._evaluateTextBeforeSelection("selection")}));this.listenTo(e,"change:data",((t,e)=>{if(e.type=="transparent"){return}this._evaluateTextBeforeSelection("data",{batch:e})}))}_evaluateTextBeforeSelection(t,e={}){const n=this.model;const o=n.document;const i=o.selection;const r=n.createRange(n.createPositionAt(i.focus.parent,0),i.focus);const{text:s,range:a}=FE(r,n);const c=this.testCallback(s);if(!c&&this.hasMatch){this.fire("unmatched")}this.hasMatch=!!c;if(c){const n=Object.assign(e,{text:s,range:a});if(typeof c=="object"){Object.assign(n,c)}this.fire(`matched:${t}`,n)}}}Vn(jE,Mn);class VE extends Hn{static get pluginName(){return"TwoStepCaretMovement"}constructor(t){super(t);this.attributes=new Set;this._overrideUid=null}init(){const t=this.editor;const e=t.model;const n=t.editing.view;const o=t.locale;const i=e.document.selection;this.listenTo(n.document,"arrowKey",((t,e)=>{if(!i.isCollapsed){return}if(e.shiftKey||e.altKey||e.ctrlKey){return}const n=e.keyCode==td.arrowright;const r=e.keyCode==td.arrowleft;if(!n&&!r){return}const s=o.contentLanguageDirection;let a=false;if(s==="ltr"&&n||s==="rtl"&&r){a=this._handleForwardMovement(e)}else{a=this._handleBackwardMovement(e)}if(a===true){t.stop()}}),{context:"$text",priority:"highest"});this._isNextGravityRestorationSkipped=false;this.listenTo(i,"change:range",((t,e)=>{if(this._isNextGravityRestorationSkipped){this._isNextGravityRestorationSkipped=false;return}if(!this._isGravityOverridden){return}if(!e.directChange&&GE(i.getFirstPosition(),this.attributes)){return}this._restoreGravity()}))}registerAttribute(t){this.attributes.add(t)}_handleForwardMovement(t){const e=this.attributes;const n=this.editor.model;const o=n.document.selection;const i=o.getFirstPosition();if(this._isGravityOverridden){return false}if(i.isAtStart&&HE(o,e)){return false}if(GE(i,e)){WE(t);this._overrideGravity();return true}}_handleBackwardMovement(t){const e=this.attributes;const n=this.editor.model;const o=n.document.selection;const i=o.getFirstPosition();if(this._isGravityOverridden){WE(t);this._restoreGravity();UE(n,e,i);return true}else{if(i.isAtStart){if(HE(o,e)){WE(t);UE(n,e,i);return true}return false}if(KE(i,e)){if(i.isAtEnd&&!HE(o,e)&&GE(i,e)){WE(t);UE(n,e,i);return true}this._isNextGravityRestorationSkipped=true;this._overrideGravity();return false}}}get _isGravityOverridden(){return!!this._overrideUid}_overrideGravity(){this._overrideUid=this.editor.model.change((t=>t.overrideSelectionGravity()))}_restoreGravity(){this.editor.model.change((t=>{t.restoreSelectionGravity(this._overrideUid);this._overrideUid=null}))}}function HE(t,e){for(const n of e){if(t.hasAttribute(n)){return true}}return false}function UE(t,e,n){const o=n.nodeBefore;t.change((t=>{if(o){t.setSelectionAttribute(o.getAttributes())}else{t.removeSelectionAttribute(e)}}))}function WE(t){t.preventDefault()}function KE(t,e){const n=t.getShiftedBy(-1);return GE(n,e)}function GE(t,e){const{nodeBefore:n,nodeAfter:o}=t;for(const t of e){const e=n?n.getAttribute(t):undefined;const i=o?o.getAttribute(t):undefined;if(i!==e){return true}}return false}var qE=/[\\^$.*+?()[\]{}|]/g,YE=RegExp(qE.source);function $E(t){t=kc(t);return t&&YE.test(t)?t.replace(qE,"\\$&"):t}var QE=$E;const JE={copyright:{from:"(c)",to:"©"},registeredTrademark:{from:"(r)",to:"®"},trademark:{from:"(tm)",to:"™"},oneHalf:{from:"1/2",to:"½"},oneThird:{from:"1/3",to:"⅓"},twoThirds:{from:"2/3",to:"⅔"},oneForth:{from:"1/4",to:"¼"},threeQuarters:{from:"3/4",to:"¾"},lessThanOrEqual:{from:"<=",to:"≤"},greaterThanOrEqual:{from:">=",to:"≥"},notEqual:{from:"!=",to:"≠"},arrowLeft:{from:"<-",to:"←"},arrowRight:{from:"->",to:"→"},horizontalEllipsis:{from:"...",to:"…"},enDash:{from:/(^| )(--)( )$/,to:[null,"–",null]},emDash:{from:/(^| )(---)( )$/,to:[null,"—",null]},quotesPrimary:{from:iD('"'),to:[null,"“",null,"”"]},quotesSecondary:{from:iD("'"),to:[null,"‘",null,"’"]},quotesPrimaryEnGb:{from:iD("'"),to:[null,"‘",null,"’"]},quotesSecondaryEnGb:{from:iD('"'),to:[null,"“",null,"”"]},quotesPrimaryPl:{from:iD('"'),to:[null,"„",null,"”"]},quotesSecondaryPl:{from:iD("'"),to:[null,"‚",null,"’"]}};const ZE={symbols:["copyright","registeredTrademark","trademark"],mathematical:["oneHalf","oneThird","twoThirds","oneForth","threeQuarters","lessThanOrEqual","greaterThanOrEqual","notEqual","arrowLeft","arrowRight"],typography:["horizontalEllipsis","enDash","emDash"],quotes:["quotesPrimary","quotesSecondary"]};const XE=["symbols","mathematical","typography","quotes"];class tD extends Hn{static get pluginName(){return"TextTransformation"}constructor(t){super(t);t.config.define("typing",{transformations:{include:XE}})}init(){const t=this.editor.model;const e=t.document.selection;e.on("change:range",(()=>{this.isEnabled=!e.anchor.parent.is("element","codeBlock")}));this._enableTransformationWatchers()}_enableTransformationWatchers(){const t=this.editor;const e=t.model;const n=t.plugins.get("Input");const o=rD(t.config.get("typing.transformations"));const i=t=>{for(const e of o){const n=e.from;const o=n.test(t);if(o){return{normalizedTransformation:e}}}};const r=(t,o)=>{if(!n.isInput(o.batch)){return}const{from:i,to:r}=o.normalizedTransformation;const s=i.exec(o.text);const a=r(s.slice(1));const c=o.range;let l=s.index;e.enqueueChange((t=>{for(let n=1;n[t]}else if(t instanceof Array){return()=>t}return t}function oD(t){const e=t.textNode?t.textNode:t.nodeAfter;return e.getAttributes()}function iD(t){return new RegExp(`(^|\\s)(${t})([^${t}]*)(${t})$`)}function rD(t){const e=t.extra||[];const n=t.remove||[];const o=t=>!n.includes(t);const i=t.include.concat(e).filter(o);return sD(i).filter(o).map((t=>JE[t]||t)).map((t=>({from:eD(t.from),to:nD(t.to)})))}function sD(t){const e=new Set;for(const n of t){if(ZE[n]){for(const t of ZE[n]){e.add(t)}}else{e.add(n)}}return Array.from(e)}function aD(t,e,n,o){return o.createRange(cD(t,e,n,true,o),cD(t,e,n,false,o))}function cD(t,e,n,o,i){let r=t.textNode||(o?t.nodeBefore:t.nodeAfter);let s=null;while(r&&r.getAttribute(e)==n){s=r;r=o?r.previousSibling:r.nextSibling}return s?i.createPositionAt(s,o?"before":"after"):t}function lD(t,e,n,o){const i=t.editing.view;const r=new Set;i.document.registerPostFixer((i=>{const s=t.model.document.selection;let a=false;if(s.hasAttribute(e)){const c=aD(s.getFirstPosition(),e,s.getAttribute(e),t.model);const l=t.editing.mapper.toViewRange(c);for(const t of l.getItems()){if(t.is("element",n)&&!t.hasClass(o)){i.addClass(o,t);r.add(t);a=true}}}return a}));t.conversion.for("editingDowncast").add((t=>{t.on("insert",e,{priority:"highest"});t.on("remove",e,{priority:"highest"});t.on("attribute",e,{priority:"highest"});t.on("selection",e,{priority:"highest"});function e(){i.change((t=>{for(const e of r.values()){t.removeClass(o,e);r.delete(e)}}))}}))}class dD extends Wn{refresh(){this.value=this._getValue();this.isEnabled=this._checkEnabled()}execute(t={}){const e=this.editor.model;const n=e.schema;const o=e.document.selection;const i=Array.from(o.getSelectedBlocks());const r=t.forceValue===undefined?!this.value:t.forceValue;e.change((t=>{if(!r){this._removeQuote(t,i.filter(uD))}else{const e=i.filter((t=>uD(t)||fD(n,t)));this._applyQuote(t,e)}}))}_getValue(){const t=this.editor.model.document.selection;const e=pf(t.getSelectedBlocks());return!!(e&&uD(e))}_checkEnabled(){if(this.value){return true}const t=this.editor.model.document.selection;const e=this.editor.model.schema;const n=pf(t.getSelectedBlocks());if(!n){return false}return fD(e,n)}_removeQuote(t,e){hD(t,e).reverse().forEach((e=>{if(e.start.isAtStart&&e.end.isAtEnd){t.unwrap(e.start.parent);return}if(e.start.isAtStart){const n=t.createPositionBefore(e.start.parent);t.move(e,n);return}if(!e.end.isAtEnd){t.split(e.end)}const n=t.createPositionAfter(e.end.parent);t.move(e,n)}))}_applyQuote(t,e){const n=[];hD(t,e).reverse().forEach((e=>{let o=uD(e.start);if(!o){o=t.createElement("blockQuote");t.wrap(e,o)}n.push(o)}));n.reverse().reduce(((e,n)=>{if(e.nextSibling==n){t.merge(t.createPositionAfter(e));return e}return n}))}}function uD(t){return t.parent.name=="blockQuote"?t.parent:null}function hD(t,e){let n;let o=0;const i=[];while(o{const o=t.model.document.differ.getChanges();for(const t of o){if(t.type=="insert"){const o=t.position.nodeAfter;if(!o){continue}if(o.is("element","blockQuote")&&o.isEmpty){n.remove(o);return true}else if(o.is("element","blockQuote")&&!e.checkChild(t.position,o)){n.unwrap(o);return true}else if(o.is("element")){const t=n.createRangeIn(o);for(const o of t.getItems()){if(o.is("element","blockQuote")&&!e.checkChild(n.createPositionBefore(o),o)){n.unwrap(o);return true}}}}else if(t.type=="remove"){const e=t.position.parent;if(e.is("element","blockQuote")&&e.isEmpty){n.remove(e);return true}}}return false}));const n=this.editor.editing.view.document;const o=t.model.document.selection;const i=t.commands.get("blockQuote");this.listenTo(n,"enter",((e,n)=>{if(!o.isCollapsed||!i.value){return}const r=o.getLastPosition().parent;if(r.isEmpty){t.execute("blockQuote");t.editing.view.scrollToTheSelection();n.preventDefault();e.stop()}}),{context:"blockquote"});this.listenTo(n,"delete",((e,n)=>{if(n.direction!="backward"||!o.isCollapsed||!i.value){return}const r=o.getLastPosition().parent;if(r.isEmpty&&!r.previousSibling){t.execute("blockQuote");t.editing.view.scrollToTheSelection();n.preventDefault();e.stop()}}),{context:"blockquote"})}}var gD=n(39);var pD={injectType:"singletonStyleTag",attributes:{"data-cke":true}};pD.insert="head";pD.singleton=true;var bD=_k()(gD["a"],pD);var kD=gD["a"].locals||{};class wD extends Hn{static get pluginName(){return"BlockQuoteUI"}init(){const t=this.editor;const e=t.t;t.ui.componentFactory.add("blockQuote",(n=>{const o=t.commands.get("blockQuote");const i=new pw(n);i.set({label:e("Block quote"),icon:gk.quote,tooltip:true,isToggleable:true});i.bind("isOn","isEnabled").to(o,"value","isEnabled");this.listenTo(i,"execute",(()=>{t.execute("blockQuote");t.editing.view.focus()}));return i}))}}class CD extends Hn{static get requires(){return[mD,wD]}static get pluginName(){return"BlockQuote"}}class AD extends Wn{constructor(t,e){super(t);this.attributeKey=e}refresh(){const t=this.editor.model;const e=t.document;this.value=this._getValueFromFirstAllowedNode();this.isEnabled=t.schema.checkAttributeInSelection(e.selection,this.attributeKey)}execute(t={}){const e=this.editor.model;const n=e.document;const o=n.selection;const i=t.forceValue===undefined?!this.value:t.forceValue;e.change((t=>{if(o.isCollapsed){if(i){t.setSelectionAttribute(this.attributeKey,true)}else{t.removeSelectionAttribute(this.attributeKey)}}else{const n=e.schema.getValidRanges(o.getRanges(),this.attributeKey);for(const e of n){if(i){t.setAttribute(this.attributeKey,i,e)}else{t.removeAttribute(this.attributeKey,e)}}}}))}_getValueFromFirstAllowedNode(){const t=this.editor.model;const e=t.schema;const n=t.document.selection;if(n.isCollapsed){return n.hasAttribute(this.attributeKey)}for(const t of n.getRanges()){for(const n of t.getItems()){if(e.checkAttribute(n,this.attributeKey)){return n.hasAttribute(this.attributeKey)}}}return false}}const _D="bold";class vD extends Hn{static get pluginName(){return"BoldEditing"}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:_D});t.model.schema.setAttributeProperties(_D,{isFormatting:true,copyOnEnter:true});t.conversion.attributeToElement({model:_D,view:"strong",upcastAlso:["b",t=>{const e=t.getStyle("font-weight");if(!e){return null}if(e=="bold"||Number(e)>=600){return{name:true,styles:["font-weight"]}}}]});t.commands.add(_D,new AD(t,_D));t.keystrokes.set("CTRL+B",_D)}}var yD=' ';const xD="bold";class ED extends Hn{static get pluginName(){return"BoldUI"}init(){const t=this.editor;const e=t.t;t.ui.componentFactory.add(xD,(n=>{const o=t.commands.get(xD);const i=new pw(n);i.set({label:e("Bold"),icon:yD,keystroke:"CTRL+B",tooltip:true,isToggleable:true});i.bind("isOn","isEnabled").to(o,"value","isEnabled");this.listenTo(i,"execute",(()=>{t.execute(xD);t.editing.view.focus()}));return i}))}}class DD extends Hn{static get requires(){return[vD,ED]}static get pluginName(){return"Bold"}}const TD="code";const SD="ck-code_selected";class MD extends Hn{static get pluginName(){return"CodeEditing"}static get requires(){return[VE]}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:TD});t.model.schema.setAttributeProperties(TD,{isFormatting:true,copyOnEnter:false});t.conversion.attributeToElement({model:TD,view:"code",upcastAlso:{styles:{"word-wrap":"break-word"}}});t.commands.add(TD,new AD(t,TD));t.plugins.get(VE).registerAttribute(TD);lD(t,TD,"code",SD)}}var ID=' ';var BD=n(40);var ND={injectType:"singletonStyleTag",attributes:{"data-cke":true}};ND.insert="head";ND.singleton=true;var zD=_k()(BD["a"],ND);var PD=BD["a"].locals||{};const LD="code";class OD extends Hn{static get pluginName(){return"CodeUI"}init(){const t=this.editor;const e=t.t;t.ui.componentFactory.add(LD,(n=>{const o=t.commands.get(LD);const i=new pw(n);i.set({label:e("Code"),icon:ID,tooltip:true,isToggleable:true});i.bind("isOn","isEnabled").to(o,"value","isEnabled");this.listenTo(i,"execute",(()=>{t.execute(LD);t.editing.view.focus()}));return i}))}}class RD extends Hn{static get requires(){return[MD,OD]}static get pluginName(){return"Code"}}function FD(t){const e=t.t;const n=t.config.get("codeBlock.languages");for(const t of n){if(t.label==="Plain text"){t.label=e("Plain text")}if(t.class===undefined){t.class=`language-${t.language}`}}return n}function jD(t,e,n){const o={};for(const i of t){if(e==="class"){o[i[e].split(" ").shift()]=i[n]}else{o[i[e]]=i[n]}}return o}function VD(t){return t.data.match(/^(\s*)/)[0]}function HD(t,e){const n=t.createDocumentFragment();const o=e.split("\n");const i=o.reduce(((e,n,i)=>{e.push(n);if(i{if(a){this._applyCodeBlock(t,s,c)}else{this._removeCodeBlock(t,s)}}))}_getValue(){const t=this.editor.model.document.selection;const e=pf(t.getSelectedBlocks());const n=!!(e&&e.is("element","codeBlock"));return n?e.getAttribute("language"):false}_checkEnabled(){if(this.value){return true}const t=this.editor.model.document.selection;const e=this.editor.model.schema;const n=pf(t.getSelectedBlocks());if(!n){return false}return GD(e,n)}_applyCodeBlock(t,e,n){const o=this.editor.model.schema;const i=e.filter((t=>GD(o,t)));for(const e of i){t.rename(e,"codeBlock");t.setAttribute("language",n,e);o.removeDisallowedAttributes([e],t)}i.reverse().forEach(((e,n)=>{const o=i[n+1];if(e.previousSibling===o){t.appendElement("softBreak",o);t.merge(t.createPositionBefore(e))}}))}_removeCodeBlock(t,e){const n=e.filter((t=>t.is("element","codeBlock")));for(const e of n){const n=t.createRangeOn(e);for(const e of Array.from(n.getItems()).reverse()){if(e.is("element","softBreak")&&e.parent.is("element","codeBlock")){const{position:n}=t.split(t.createPositionBefore(e));t.rename(n.nodeAfter,"paragraph");t.removeAttribute("language",n.nodeAfter);t.remove(e)}}t.rename(e,"paragraph");t.removeAttribute("language",e)}}}function GD(t,e){if(e.is("rootElement")||t.isLimit(e)){return false}return t.checkChild(e.parent,"codeBlock")}class qD extends Wn{constructor(t){super(t);this._indentSequence=t.config.get("codeBlock.indentSequence")}refresh(){this.isEnabled=this._checkEnabled()}execute(){const t=this.editor;const e=t.model;e.change((t=>{const n=UD(e);for(const e of n){t.insertText(this._indentSequence,e)}}))}_checkEnabled(){if(!this._indentSequence){return false}return WD(this.editor.model.document.selection)}}class YD extends Wn{constructor(t){super(t);this._indentSequence=t.config.get("codeBlock.indentSequence")}refresh(){this.isEnabled=this._checkEnabled()}execute(){const t=this.editor;const e=t.model;e.change((t=>{const n=UD(e);for(const e of n){const n=$D(this.editor.model,e,this._indentSequence);if(n){t.remove(n)}}}))}_checkEnabled(){if(!this._indentSequence){return false}const t=this.editor.model;if(!WD(t.document.selection)){return false}return UD(t).some((e=>$D(t,e,this._indentSequence)))}}function $D(t,e,n){const o=QD(e);if(!o){return null}const i=VD(o);const r=i.lastIndexOf(n);if(r+n.length!==i.length){return null}if(r===-1){return null}const{parent:s,startOffset:a}=o;return t.createRange(t.createPositionAt(s,a+r),t.createPositionAt(s,a+r+n.length))}function QD(t){let e=t.parent.getChild(t.index);if(!e||e.is("element","softBreak")){e=t.nodeBefore}if(!e||e.is("element","softBreak")){return null}return e}function JD(t,e,n=false){const o=jD(e,"language","class");const i=jD(e,"language","label");return(e,r,s)=>{const{writer:a,mapper:c,consumable:l}=s;if(!l.consume(r.item,"insert")){return}const d=r.item.getAttribute("language");const u=c.toViewPosition(t.createPositionBefore(r.item));const h={};if(n){h["data-language"]=i[d];h.spellcheck="false"}const f=a.createContainerElement("pre",h);const m=a.createContainerElement("code",{class:o[d]||null});a.insert(a.createPositionAt(f,0),m);a.insert(u,f);c.bindElements(r.item,m)}}function ZD(t){return(e,n,o)=>{if(n.item.parent.name!=="codeBlock"){return}const{writer:i,mapper:r,consumable:s}=o;if(!s.consume(n.item,"insert")){return}const a=r.toViewPosition(t.createPositionBefore(n.item));i.insert(a,i.createText("\n"))}}function XD(t,e){const n=jD(e,"class","language");const o=e[0].language;return(t,e,i)=>{const r=e.viewItem;const s=r.parent;if(!s||!s.is("element","pre")){return}if(e.modelCursor.findAncestor("codeBlock")){return}const{consumable:a,writer:c}=i;if(!a.test(r,{name:true})){return}const l=c.createElement("codeBlock");const d=[...r.getClassNames()];if(!d.length){d.push("")}for(const t of d){const e=n[t];if(e){c.setAttribute("language",e,l);break}}if(!l.hasAttribute("language")){c.setAttribute("language",o,l)}i.convertChildren(r,l);if(!i.safeInsert(l,e.modelCursor)){return}a.consume(r,{name:true});i.updateConversionResult(l,e)}}function tT(){return(t,e,{consumable:n,writer:o})=>{let i=e.modelCursor;if(!n.test(e.viewItem)){return}if(!i.findAncestor("codeBlock")){return}n.consume(e.viewItem);const r=e.viewItem.data;const s=r.split("\n").map((t=>o.createText(t)));const a=s[s.length-1];for(const t of s){o.insert(t,i);i=i.getShiftedBy(t.offsetSize);if(t!==a){const t=o.createElement("softBreak");o.insert(t,i);i=o.createPositionAfter(t)}}e.modelRange=o.createRange(e.modelCursor,i);e.modelCursor=i}}const eT="paragraph";class nT extends Hn{static get pluginName(){return"CodeBlockEditing"}static get requires(){return[EE]}constructor(t){super(t);t.config.define("codeBlock",{languages:[{language:"plaintext",label:"Plain text"},{language:"c",label:"C"},{language:"cs",label:"C#"},{language:"cpp",label:"C++"},{language:"css",label:"CSS"},{language:"diff",label:"Diff"},{language:"html",label:"HTML"},{language:"java",label:"Java"},{language:"javascript",label:"JavaScript"},{language:"php",label:"PHP"},{language:"python",label:"Python"},{language:"ruby",label:"Ruby"},{language:"typescript",label:"TypeScript"},{language:"xml",label:"XML"}],indentSequence:"\t"})}init(){const t=this.editor;const e=t.model.schema;const n=t.model;const o=t.editing.view;const i=FD(t);t.commands.add("codeBlock",new KD(t));t.commands.add("indentCodeBlock",new qD(t));t.commands.add("outdentCodeBlock",new YD(t));const r=t=>(e,n)=>{const o=this.editor.commands.get(t);if(o.isEnabled){this.editor.execute(t);n()}};t.keystrokes.set("Tab",r("indentCodeBlock"));t.keystrokes.set("Shift+Tab",r("outdentCodeBlock"));e.register("codeBlock",{allowWhere:"$block",isBlock:true,allowAttributes:["language"]});e.extend("$text",{allowIn:"codeBlock"});e.addAttributeCheck((t=>{if(t.endsWith("codeBlock $text")){return false}}));t.editing.downcastDispatcher.on("insert:codeBlock",JD(n,i,true));t.data.downcastDispatcher.on("insert:codeBlock",JD(n,i));t.data.downcastDispatcher.on("insert:softBreak",ZD(n),{priority:"high"});t.data.upcastDispatcher.on("element:code",XD(o,i));t.data.upcastDispatcher.on("text",tT());this.listenTo(t.editing.view.document,"clipboardInput",((e,o)=>{let i=n.createRange(n.document.selection.anchor);if(o.targetRanges){i=t.editing.mapper.toModelRange(o.targetRanges[0])}if(!i.start.parent.is("element","codeBlock")){return}const r=o.dataTransfer.getData("text/plain");const s=new I_(t.editing.view.document);o.content=HD(s,r)}));this.listenTo(n,"getSelectedContent",((t,[o])=>{const i=o.anchor;if(o.isCollapsed||!i.parent.is("element","codeBlock")||!i.hasSameParentAs(o.focus)){return}n.change((n=>{const r=t.return;if(r.childCount>1||o.containsEntireContent(i.parent)){const e=n.createElement("codeBlock",i.parent.getAttributes());n.append(r,e);const o=n.createDocumentFragment();n.append(e,o);t.return=o}else{const t=r.getChild(0);if(e.checkAttribute(t,"code")){n.setAttribute("code",true,t)}}}))}))}afterInit(){const t=this.editor;const e=t.commands;const n=e.get("indent");const o=e.get("outdent");if(n){n.registerChildCommand(e.get("indentCodeBlock"))}if(o){o.registerChildCommand(e.get("outdentCodeBlock"))}this.listenTo(t.editing.view.document,"enter",((e,n)=>{const o=t.model.document.selection.getLastPosition().parent;if(!o.is("element","codeBlock")){return}if(!iT(t,n.isSoft)&&!rT(t,n.isSoft)){oT(t)}n.preventDefault();e.stop()}),{context:"pre"})}}function oT(t){const e=t.model;const n=e.document;const o=n.selection.getLastPosition();const i=o.nodeBefore||o.textNode;let r;if(i&&i.is("$text")){r=VD(i)}t.model.change((e=>{t.execute("shiftEnter");if(r){e.insertText(r,n.selection.anchor)}}))}function iT(t,e){const n=t.model;const o=n.document;const i=t.editing.view;const r=o.selection.getLastPosition();const s=r.nodeAfter;if(e||!o.selection.isCollapsed||!r.isAtStart){return false}if(!s||!s.is("element","softBreak")){return false}t.model.change((e=>{t.execute("enter");const n=o.selection.anchor.parent.previousSibling;e.rename(n,eT);e.setSelection(n,"in");t.model.schema.removeDisallowedAttributes([n],e);e.remove(s)}));i.scrollToTheSelection();return true}function rT(t,e){const n=t.model;const o=n.document;const i=t.editing.view;const r=o.selection.getLastPosition();const s=r.nodeBefore;let a;if(e||!o.selection.isCollapsed||!r.isAtEnd||!s){return false}if(s.is("element","softBreak")){a=n.createRangeOn(s)}else if(s.is("$text")&&!s.data.match(/\S/)&&s.previousSibling&&s.previousSibling.is("element","softBreak")){a=n.createRange(n.createPositionBefore(s.previousSibling),n.createPositionAfter(s))}else{return false}t.model.change((e=>{e.remove(a);t.execute("enter");const n=o.selection.anchor.parent;e.rename(n,eT);t.model.schema.removeDisallowedAttributes([n],e)}));i.scrollToTheSelection();return true}var sT=' ';var aT=n(41);var cT={injectType:"singletonStyleTag",attributes:{"data-cke":true}};cT.insert="head";cT.singleton=true;var lT=_k()(aT["a"],cT);var dT=aT["a"].locals||{};class uT extends Hn{static get pluginName(){return"CodeBlockUI"}init(){const t=this.editor;const e=t.t;const n=t.ui.componentFactory;const o=FD(t);const i=o[0];n.add("codeBlock",(n=>{const r=t.commands.get("codeBlock");const s=TC(n,jw);const a=s.buttonView;a.set({label:e("Insert code block"),tooltip:true,icon:sT,isToggleable:true});a.bind("isOn").to(r,"value",(t=>!!t));a.on("execute",(()=>{t.execute("codeBlock",{language:i.language});t.editing.view.focus()}));s.on("execute",(e=>{t.execute("codeBlock",{language:e.source._codeBlockLanguage,forceValue:true});t.editing.view.focus()}));s.class="ck-code-block-dropdown";s.bind("isEnabled").to(r);MC(s,this._getLanguageListItemDefinitions(o));return s}))}_getLanguageListItemDefinitions(t){const e=this.editor;const n=e.commands.get("codeBlock");const o=new ka;for(const e of t){const t={type:"button",model:new fA({_codeBlockLanguage:e.language,label:e.label,withText:true})};t.model.bind("isOn").to(n,"value",(e=>e===t.model._codeBlockLanguage));o.add(t)}return o}}class hT extends Hn{static get requires(){return[nT,uT]}static get pluginName(){return"CodeBlock"}}class fT extends Wn{execute(){const t=this.editor.model;const e=t.document.selection;let n=t.schema.getLimitElement(e);if(e.containsEntireContent(n)||!mT(t.schema,n)){do{n=n.parent;if(!n){return}}while(!mT(t.schema,n))}t.change((t=>{t.setSelection(n,"in")}))}}function mT(t,e){return t.isLimit(e)&&(t.checkChild(e,"$text")||t.checkChild(e,"paragraph"))}const gT=od("Ctrl+A");class pT extends Hn{static get pluginName(){return"SelectAllEditing"}init(){const t=this.editor;const e=t.editing.view;const n=e.document;t.commands.add("selectAll",new fT(t));this.listenTo(n,"keydown",((e,n)=>{if(nd(n)===gT){t.execute("selectAll");n.preventDefault()}}))}}var bT=' ';class kT extends Hn{static get pluginName(){return"SelectAllUI"}init(){const t=this.editor;t.ui.componentFactory.add("selectAll",(e=>{const n=t.commands.get("selectAll");const o=new pw(e);const i=e.t;o.set({label:i("Select all"),icon:bT,keystroke:"Ctrl+A",tooltip:true});o.bind("isOn","isEnabled").to(n,"value","isEnabled");this.listenTo(o,"execute",(()=>{t.execute("selectAll");t.editing.view.focus()}));return o}))}}class wT extends Hn{static get requires(){return[pT,kT]}static get pluginName(){return"SelectAll"}}class CT extends Hn{static get requires(){return[Ex,ty,wT,EE,RE,Lx]}static get pluginName(){return"Essentials"}}class AT extends Wn{constructor(t,e){super(t);this.attributeKey=e}refresh(){const t=this.editor.model;const e=t.document;this.value=e.selection.getAttribute(this.attributeKey);this.isEnabled=t.schema.checkAttributeInSelection(e.selection,this.attributeKey)}execute(t={}){const e=this.editor.model;const n=e.document;const o=n.selection;const i=t.value;e.change((t=>{if(o.isCollapsed){if(i){t.setSelectionAttribute(this.attributeKey,i)}else{t.removeSelectionAttribute(this.attributeKey)}}else{const n=e.schema.getValidRanges(o.getRanges(),this.attributeKey);for(const e of n){if(i){t.setAttribute(this.attributeKey,i,e)}else{t.removeAttribute(this.attributeKey,e)}}}}))}}class _T extends ka{constructor(t){super(t);this.set("isEmpty",true);this.on("change",(()=>{this.set("isEmpty",this.length===0)}))}add(t,e){if(this.find((e=>e.color===t.color))){return}super.add(t,e)}hasColor(t){return!!this.find((e=>e.color===t))}}Vn(_T,Mn);var vT=n(42);var yT={injectType:"singletonStyleTag",attributes:{"data-cke":true}};yT.insert="head";yT.singleton=true;var xT=_k()(vT["a"],yT);var ET=vT["a"].locals||{};class DT extends Dk{constructor(t,{colors:e,columns:n,removeButtonLabel:o,documentColorsLabel:i,documentColorsCount:r}){super(t);this.items=this.createCollection();this.colorDefinitions=e;this.focusTracker=new bf;this.keystrokes=new kf;this.set("selectedColor");this.removeButtonLabel=o;this.columns=n;this.documentColors=new _T;this.documentColorsCount=r;this._focusCycler=new Dw({focusables:this.items,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"arrowup",focusNext:"arrowdown"}});this._documentColorsLabel=i;this.setTemplate({tag:"div",attributes:{class:["ck","ck-color-table"]},children:this.items});this.items.add(this._removeColorButton())}updateDocumentColors(t,e){const n=t.document;const o=this.documentColorsCount;this.documentColors.clear();for(const i of n.getRootNames()){const r=n.getRoot(i);const s=t.createRangeIn(r);for(const t of s.getItems()){if(t.is("$textProxy")&&t.hasAttribute(e)){this._addColorToDocumentColors(t.getAttribute(e));if(this.documentColors.length>=o){return}}}}}updateSelectedColors(){const t=this.documentColorsGrid;const e=this.staticColorsGrid;const n=this.selectedColor;e.selectedColor=n;if(t){t.selectedColor=n}}render(){super.render();for(const t of this.items){this.focusTracker.add(t.element)}this.keystrokes.listenTo(this.element)}appendGrids(){if(this.staticColorsGrid){return}this.staticColorsGrid=this._createStaticColorsGrid();this.items.add(this.staticColorsGrid);if(this.documentColorsCount){const t=Sk.bind(this.documentColors,this.documentColors);const e=new WC(this.locale);e.text=this._documentColorsLabel;e.extendTemplate({attributes:{class:["ck","ck-color-grid__label",t.if("isEmpty","ck-hidden")]}});this.items.add(e);this.documentColorsGrid=this._createDocumentColorsGrid();this.items.add(this.documentColorsGrid)}}focus(){this._focusCycler.focusFirst()}focusLast(){this._focusCycler.focusLast()}_removeColorButton(){const t=new pw;t.set({withText:true,icon:gk.eraser,tooltip:true,label:this.removeButtonLabel});t.class="ck-color-table__remove-color";t.on("execute",(()=>{this.fire("execute",{value:null})}));return t}_createStaticColorsGrid(){const t=new Nw(this.locale,{colorDefinitions:this.colorDefinitions,columns:this.columns});t.delegate("execute").to(this);return t}_createDocumentColorsGrid(){const t=Sk.bind(this.documentColors,this.documentColors);const e=new Nw(this.locale,{columns:this.columns});e.delegate("execute").to(this);e.extendTemplate({attributes:{class:t.if("isEmpty","ck-hidden")}});e.items.bindTo(this.documentColors).using((t=>{const e=new Ew;e.set({color:t.color,hasBorder:t.options&&t.options.hasBorder});if(t.label){e.set({label:t.label,tooltip:true})}e.on("execute",(()=>{this.fire("execute",{value:t.color})}));return e}));this.documentColors.on("change:isEmpty",((t,n,o)=>{if(o){e.selectedColor=null}}));return e}_addColorToDocumentColors(t){const e=this.colorDefinitions.find((e=>e.color===t));if(!e){this.documentColors.add({color:t,label:t,options:{hasBorder:false}})}else{this.documentColors.add(Object.assign({},e))}}}const TT="fontSize";const ST="fontFamily";const MT="fontColor";const IT="fontBackgroundColor";function BT(t,e){const n={model:{key:t,values:[]},view:{},upcastAlso:{}};for(const t of e){n.model.values.push(t.model);n.view[t.model]=t.view;if(t.upcastAlso){n.upcastAlso[t.model]=t.upcastAlso}}return n}function NT(t){return e=>LT(e.getStyle(t))}function zT(t){return(e,{writer:n})=>n.createAttributeElement("span",{style:`${t}:${e}`},{priority:7})}function PT({dropdownView:t,colors:e,columns:n,removeButtonLabel:o,documentColorsLabel:i,documentColorsCount:r}){const s=t.locale;const a=new DT(s,{colors:e,columns:n,removeButtonLabel:o,documentColorsLabel:i,documentColorsCount:r});t.colorTableView=a;t.panelView.children.add(a);a.delegate("execute").to(t,"execute");return a}function LT(t){return t.replace(/\s/g,"")}class OT extends AT{constructor(t){super(t,MT)}}class RT extends Hn{static get pluginName(){return"FontColorEditing"}constructor(t){super(t);t.config.define(MT,{colors:[{color:"hsl(0, 0%, 0%)",label:"Black"},{color:"hsl(0, 0%, 30%)",label:"Dim grey"},{color:"hsl(0, 0%, 60%)",label:"Grey"},{color:"hsl(0, 0%, 90%)",label:"Light grey"},{color:"hsl(0, 0%, 100%)",label:"White",hasBorder:true},{color:"hsl(0, 75%, 60%)",label:"Red"},{color:"hsl(30, 75%, 60%)",label:"Orange"},{color:"hsl(60, 75%, 60%)",label:"Yellow"},{color:"hsl(90, 75%, 60%)",label:"Light green"},{color:"hsl(120, 75%, 60%)",label:"Green"},{color:"hsl(150, 75%, 60%)",label:"Aquamarine"},{color:"hsl(180, 75%, 60%)",label:"Turquoise"},{color:"hsl(210, 75%, 60%)",label:"Light blue"},{color:"hsl(240, 75%, 60%)",label:"Blue"},{color:"hsl(270, 75%, 60%)",label:"Purple"}],columns:5});t.conversion.for("upcast").elementToAttribute({view:{name:"span",styles:{color:/[\s\S]+/}},model:{key:MT,value:NT("color")}});t.conversion.for("upcast").elementToAttribute({view:{name:"font",attributes:{color:/^#?\w+$/}},model:{key:MT,value:t=>t.getAttribute("color")}});t.conversion.for("downcast").attributeToElement({model:MT,view:zT("color")});t.commands.add(MT,new OT(t));t.model.schema.extend("$text",{allowAttributes:MT});t.model.schema.setAttributeProperties(MT,{isFormatting:true,copyOnEnter:true})}}class FT extends Hn{constructor(t,{commandName:e,icon:n,componentName:o,dropdownLabel:i}){super(t);this.commandName=e;this.componentName=o;this.icon=n;this.dropdownLabel=i;this.columns=t.config.get(`${this.componentName}.columns`);this.colorTableView=undefined}init(){const t=this.editor;const e=t.locale;const n=e.t;const o=t.commands.get(this.commandName);const i=vw(t.config.get(this.componentName).colors);const r=_w(e,i);const s=t.config.get(`${this.componentName}.documentColors`);t.ui.componentFactory.add(this.componentName,(e=>{const i=TC(e);this.colorTableView=PT({dropdownView:i,colors:r.map((t=>({label:t.label,color:t.model,options:{hasBorder:t.hasBorder}}))),columns:this.columns,removeButtonLabel:n("Remove color"),documentColorsLabel:s!==0?n("Document colors"):undefined,documentColorsCount:s===undefined?this.columns:s});this.colorTableView.bind("selectedColor").to(o,"value");i.buttonView.set({label:this.dropdownLabel,icon:this.icon,tooltip:true});i.extendTemplate({attributes:{class:"ck-color-ui-dropdown"}});i.bind("isEnabled").to(o);i.on("execute",((e,n)=>{t.execute(this.commandName,n);t.editing.view.focus()}));i.on("change:isOpen",((e,n,o)=>{i.colorTableView.appendGrids();if(o){if(s!==0){this.colorTableView.updateDocumentColors(t.model,this.componentName)}this.colorTableView.updateSelectedColors()}}));return i}))}}var jT=' ';class VT extends FT{constructor(t){const e=t.locale.t;super(t,{commandName:MT,componentName:MT,icon:jT,dropdownLabel:e("Font Color")})}static get pluginName(){return"FontColorUI"}}class HT extends Hn{static get requires(){return[RT,VT]}static get pluginName(){return"FontColor"}}class UT extends Wn{refresh(){const t=this.editor.model;const e=t.document;const n=pf(e.selection.getSelectedBlocks());this.value=!!n&&n.is("element","paragraph");this.isEnabled=!!n&&WT(n,t.schema)}execute(t={}){const e=this.editor.model;const n=e.document;e.change((o=>{const i=(t.selection||n.selection).getSelectedBlocks();for(const t of i){if(!t.is("element","paragraph")&&WT(t,e.schema)){o.rename(t,"paragraph")}}}))}}function WT(t,e){return e.checkChild(t.parent,"paragraph")&&!e.isObject(t)}class KT extends Wn{execute(t){const e=this.editor.model;let n=t.position;e.change((t=>{const o=t.createElement("paragraph");if(!e.schema.checkChild(n.parent,o)){const i=e.schema.findAllowedParent(n,o);if(!i){return}n=t.split(n,i).position}e.insertContent(o,n);t.setSelection(o,"in")}))}}class GT extends Hn{static get pluginName(){return"Paragraph"}init(){const t=this.editor;const e=t.model;t.commands.add("paragraph",new UT(t));t.commands.add("insertParagraph",new KT(t));e.schema.register("paragraph",{inheritAllFrom:"$block"});t.conversion.elementToElement({model:"paragraph",view:"p"});t.conversion.for("upcast").elementToElement({model:(t,{writer:e})=>{if(!GT.paragraphLikeElements.has(t.name)){return null}if(t.isEmpty){return null}return e.createElement("paragraph")},view:/.+/,converterPriority:"low"})}}GT.paragraphLikeElements=new Set(["blockquote","dd","div","dt","h1","h2","h3","h4","h5","h6","li","p","td","th"]);var qT=' ';class YT extends Hn{init(){const t=this.editor;const e=t.t;t.ui.componentFactory.add("paragraph",(n=>{const o=new pw(n);const i=t.commands.get("paragraph");o.label=e("Paragraph");o.icon=qT;o.tooltip=true;o.isToggleable=true;o.bind("isEnabled").to(i);o.bind("isOn").to(i,"value");o.on("execute",(()=>{t.execute("paragraph")}));return o}))}}class $T extends Wn{constructor(t,e){super(t);this.modelElements=e}refresh(){const t=pf(this.editor.model.document.selection.getSelectedBlocks());this.value=!!t&&this.modelElements.includes(t.name)&&t.name;this.isEnabled=!!t&&this.modelElements.some((e=>QT(t,e,this.editor.model.schema)))}execute(t){const e=this.editor.model;const n=e.document;const o=t.value;e.change((t=>{const i=Array.from(n.selection.getSelectedBlocks()).filter((t=>QT(t,o,e.schema)));for(const e of i){if(!e.is("element",o)){t.rename(e,o)}}}))}}function QT(t,e,n){return n.checkChild(t.parent,e)&&!n.isObject(t)}const JT="paragraph";class ZT extends Hn{static get pluginName(){return"HeadingEditing"}constructor(t){super(t);t.config.define("heading",{options:[{model:"paragraph",title:"Paragraph",class:"ck-heading_paragraph"},{model:"heading1",view:"h2",title:"Heading 1",class:"ck-heading_heading1"},{model:"heading2",view:"h3",title:"Heading 2",class:"ck-heading_heading2"},{model:"heading3",view:"h4",title:"Heading 3",class:"ck-heading_heading3"}]})}static get requires(){return[GT]}init(){const t=this.editor;const e=t.config.get("heading.options");const n=[];for(const o of e){if(o.model!==JT){t.model.schema.register(o.model,{inheritAllFrom:"$block"});t.conversion.elementToElement(o);n.push(o.model)}}this._addDefaultH1Conversion(t);t.commands.add("heading",new $T(t,n))}afterInit(){const t=this.editor;const e=t.commands.get("enter");const n=t.config.get("heading.options");if(e){this.listenTo(e,"afterExecute",((e,o)=>{const i=t.model.document.selection.getFirstPosition().parent;const r=n.some((t=>i.is("element",t.model)));if(r&&!i.is("element",JT)&&i.childCount===0){o.writer.rename(i,JT)}}))}}_addDefaultH1Conversion(t){t.conversion.for("upcast").elementToElement({model:"heading1",view:"h1",converterPriority:l.get("low")+1})}}function XT(t){const e=t.t;const n={Paragraph:e("Paragraph"),"Heading 1":e("Heading 1"),"Heading 2":e("Heading 2"),"Heading 3":e("Heading 3"),"Heading 4":e("Heading 4"),"Heading 5":e("Heading 5"),"Heading 6":e("Heading 6")};return t.config.get("heading.options").map((t=>{const e=n[t.title];if(e&&e!=t.title){t.title=e}return t}))}var tS=n(43);var eS={injectType:"singletonStyleTag",attributes:{"data-cke":true}};eS.insert="head";eS.singleton=true;var nS=_k()(tS["a"],eS);var oS=tS["a"].locals||{};class iS extends Hn{static get pluginName(){return"HeadingUI"}init(){const t=this.editor;const e=t.t;const n=XT(t);const o=e("Choose heading");const i=e("Heading");t.ui.componentFactory.add("heading",(e=>{const r={};const s=new ka;const a=t.commands.get("heading");const c=t.commands.get("paragraph");const l=[a];for(const t of n){const e={type:"button",model:new fA({label:t.title,class:t.class,withText:true})};if(t.model==="paragraph"){e.model.bind("isOn").to(c,"value");e.model.set("commandName","paragraph");l.push(c)}else{e.model.bind("isOn").to(a,"value",(e=>e===t.model));e.model.set({commandName:"heading",commandValue:t.model})}s.add(e);r[t.model]=t.title}const d=TC(e);MC(d,s);d.buttonView.set({isOn:false,withText:true,tooltip:i});d.extendTemplate({attributes:{class:["ck-heading-dropdown"]}});d.bind("isEnabled").toMany(l,"isEnabled",((...t)=>t.some((t=>t))));d.buttonView.bind("label").to(a,"value",c,"value",((t,e)=>{const n=t||e&&"paragraph";return r[n]?r[n]:o}));this.listenTo(d,"execute",(e=>{t.execute(e.source.commandName,e.source.commandValue?{value:e.source.commandValue}:undefined);t.editing.view.focus()}));return d}))}}class rS extends Hn{static get requires(){return[ZT,iS]}static get pluginName(){return"Heading"}}class sS extends Wn{refresh(){this.isEnabled=aS(this.editor.model)}execute(){const t=this.editor.model;t.change((e=>{const n=e.createElement("horizontalLine");t.insertContent(n);let o=n.nextSibling;const i=o&&t.schema.checkChild(o,"$text");if(!i&&t.schema.checkChild(n.parent,"paragraph")){o=e.createElement("paragraph");t.insertContent(o,e.createPositionAfter(n))}if(o){e.setSelection(o,0)}}))}}function aS(t){const e=t.schema;const n=t.document.selection;return cS(n,e,t)&&!Ay(n,e)}function cS(t,e,n){const o=lS(t,n);return e.checkChild(o,"horizontalLine")}function lS(t,e){const n=Cy(t,e);const o=n.parent;if(o.isEmpty&&!o.is("element","$root")){return o.parent}return o}var dS=n(44);var uS={injectType:"singletonStyleTag",attributes:{"data-cke":true}};uS.insert="head";uS.singleton=true;var hS=_k()(dS["a"],uS);var fS=dS["a"].locals||{};class mS extends Hn{static get pluginName(){return"HorizontalLineEditing"}init(){const t=this.editor;const e=t.model.schema;const n=t.t;const o=t.conversion;e.register("horizontalLine",{isObject:true,allowWhere:"$block"});o.for("dataDowncast").elementToElement({model:"horizontalLine",view:(t,{writer:e})=>e.createEmptyElement("hr")});o.for("editingDowncast").elementToElement({model:"horizontalLine",view:(t,{writer:e})=>{const o=n("Horizontal line");const i=e.createContainerElement("div");const r=e.createEmptyElement("hr");e.addClass("ck-horizontal-line",i);e.setCustomProperty("hr",true,i);e.insert(e.createPositionAt(i,0),r);return gS(i,e,o)}});o.for("upcast").elementToElement({view:"hr",model:"horizontalLine"});t.commands.add("horizontalLine",new sS(t))}}function gS(t,e,n){e.setCustomProperty("horizontalLine",true,t);return fy(t,e,{label:n})}var pS=' ';class bS extends Hn{static get pluginName(){return"HorizontalLineUI"}init(){const t=this.editor;const e=t.t;t.ui.componentFactory.add("horizontalLine",(n=>{const o=t.commands.get("horizontalLine");const i=new pw(n);i.set({label:e("Horizontal line"),icon:pS,tooltip:true});i.bind("isEnabled").to(o,"isEnabled");this.listenTo(i,"execute",(()=>{t.execute("horizontalLine");t.editing.view.focus()}));return i}))}}class kS extends Hn{static get requires(){return[mS,bS,ix]}static get pluginName(){return"HorizontalLine"}}class wS extends Wn{refresh(){this.isEnabled=CS(this.editor.model)}execute(){const t=this.editor.model;t.change((e=>{const n=e.createElement("rawHtml");t.insertContent(n);e.setSelection(n,"on")}))}}function CS(t){const e=t.schema;const n=t.document.selection;return AS(n,e,t)&&!Ay(n,e)}function AS(t,e,n){const o=_S(t,n);return e.checkChild(o,"rawHtml")}function _S(t,e){const n=Cy(t,e);const o=n.parent;if(o.isEmpty&&!o.is("element","$root")){return o.parent}return o}class vS extends Wn{refresh(){const t=this.editor.model;const e=t.document.selection;const n=yS(e);this.isEnabled=!!n}execute(t){const e=this.editor.model;const n=e.document.selection;const o=yS(n);e.change((e=>{e.setAttribute("value",t,o)}))}}function yS(t){const e=t.getSelectedElement();if(e&&e.is("element","rawHtml")){return e}return null}var xS=n(45);var ES={injectType:"singletonStyleTag",attributes:{"data-cke":true}};ES.insert="head";ES.singleton=true;var DS=_k()(xS["a"],ES);var TS=xS["a"].locals||{};class SS extends Hn{static get pluginName(){return"HtmlEmbedEditing"}constructor(t){super(t);t.config.define("htmlEmbed",{showPreviews:false,sanitizeHtml:t=>{Object(u["b"])("html-embed-provide-sanitize-function");return{html:t,hasChanged:false}}})}init(){const t=this.editor;const e=t.model.schema;e.register("rawHtml",{isObject:true,allowWhere:"$block",allowAttributes:["value"]});t.commands.add("updateHtmlEmbed",new vS(t));t.commands.add("insertHtmlEmbed",new wS(t));this._setupConversion()}_setupConversion(){const t=this.editor;const e=t.t;const n=t.editing.view;const o=t.config.get("htmlEmbed");t.data.registerRawContentMatcher({name:"div",classes:"raw-html-embed"});t.conversion.for("upcast").elementToElement({view:{name:"div",classes:"raw-html-embed"},model:(t,{writer:e})=>e.createElement("rawHtml",{value:t.getCustomProperty("$rawContent")})});t.conversion.for("dataDowncast").elementToElement({model:"rawHtml",view:(t,{writer:e})=>e.createRawElement("div",{class:"raw-html-embed"},(function(e){e.innerHTML=t.getAttribute("value")||""}))});t.conversion.for("editingDowncast").elementToElement({triggerBy:{attributes:["value"]},model:"rawHtml",view:(r,{writer:s})=>{let a,c,l;const d=s.createContainerElement("div",{class:"raw-html-embed","data-html-embed-label":e("HTML snippet"),dir:t.locale.uiLanguageDirection});const u=s.createRawElement("div",{class:"raw-html-embed__content-wrapper"},(function(e){a=e;i({domElement:e,editor:t,state:c,props:l});a.addEventListener("mousedown",(()=>{if(c.isEditable){const e=t.model;const n=e.document.selection.getSelectedElement();if(n!==r){e.change((t=>t.setSelection(r,"on")))}}}),true)}));const h={makeEditable(){c=Object.assign({},c,{isEditable:true});i({domElement:a,editor:t,state:c,props:l});n.change((t=>{t.setAttribute("data-cke-ignore-events","true",u)}));a.querySelector("textarea").focus()},save(e){if(e!==c.getRawHtmlValue()){t.execute("updateHtmlEmbed",e);t.editing.view.focus()}else{this.cancel()}},cancel(){c=Object.assign({},c,{isEditable:false});i({domElement:a,editor:t,state:c,props:l});t.editing.view.focus();n.change((t=>{t.removeAttribute("data-cke-ignore-events",u)}))}};c={showPreviews:o.showPreviews,isEditable:false,getRawHtmlValue:()=>r.getAttribute("value")||""};l={sanitizeHtml:o.sanitizeHtml,textareaPlaceholder:e("Paste raw HTML here..."),onEditClick(){h.makeEditable()},onSaveClick(t){h.save(t)},onCancelClick(){h.cancel()}};s.insert(s.createPositionAt(d,0),u);s.setCustomProperty("rawHtmlApi",h,d);s.setCustomProperty("rawHtml",true,d);return fy(d,s,{widgetLabel:e("HTML snippet"),hasSelectionHandle:true})}});function i({domElement:t,editor:e,state:n,props:o}){t.textContent="";const i=t.ownerDocument;let c;if(n.isEditable){const e={isDisabled:false,placeholder:o.textareaPlaceholder};c=s({domDocument:i,state:n,props:e});t.append(c)}else if(n.showPreviews){const r={sanitizeHtml:o.sanitizeHtml};t.append(a({domDocument:i,state:n,props:r,editor:e}))}else{const e={isDisabled:true,placeholder:o.textareaPlaceholder};t.append(s({domDocument:i,state:n,props:e}))}const l={onEditClick:o.onEditClick,onSaveClick:()=>{o.onSaveClick(c.value)},onCancelClick:o.onCancelClick};t.prepend(r({editor:e,domDocument:i,state:n,props:l}))}function r({editor:t,domDocument:e,state:n,props:o}){const i=nf(e,"div",{class:"raw-html-embed__buttons-wrapper"});const r=MS(t,"edit");const s=MS(t,"save");const a=MS(t,"cancel");if(n.isEditable){const t=s.cloneNode(true);const e=a.cloneNode(true);t.addEventListener("click",(t=>{t.preventDefault();o.onSaveClick()}));e.addEventListener("click",(t=>{t.preventDefault();o.onCancelClick()}));i.appendChild(t);i.appendChild(e)}else{const t=r.cloneNode(true);t.addEventListener("click",(t=>{t.preventDefault();o.onEditClick()}));i.appendChild(t)}return i}function s({domDocument:t,state:e,props:n}){const o=nf(t,"textarea",{placeholder:n.placeholder,class:"ck ck-reset ck-input ck-input-text raw-html-embed__source"});o.disabled=n.isDisabled;o.value=e.getRawHtmlValue();return o}function a({domDocument:t,state:n,props:o,editor:i}){const r=o.sanitizeHtml(n.getRawHtmlValue());const s=n.getRawHtmlValue().length>0?e("No preview available"):e("Empty snippet content");const a=nf(t,"div",{class:"ck ck-reset_all raw-html-embed__preview-placeholder"},s);const c=nf(t,"div",{class:"raw-html-embed__preview-content",dir:i.locale.contentLanguageDirection});c.innerHTML=r.html;const l=nf(t,"div",{class:"raw-html-embed__preview"},[a,c]);return l}}}function MS(t,e){const n=t.locale.t;const o=new pw(t.locale);const i=t.commands.get("updateHtmlEmbed");o.set({tooltipPosition:t.locale.uiLanguageDirection==="rtl"?"e":"w",icon:gk.pencil,tooltip:true});o.render();if(e==="edit"){o.set({icon:gk.pencil,label:n("Edit source"),class:"raw-html-embed__edit-button"})}else if(e==="save"){o.set({icon:gk.check,label:n("Save changes"),class:"raw-html-embed__save-button"});o.bind("isEnabled").to(i,"isEnabled")}else{o.set({icon:gk.cancel,label:n("Cancel"),class:"raw-html-embed__cancel-button"})}o.destroy();return o.element.cloneNode(true)}var IS=' ';class BS extends Hn{static get pluginName(){return"HtmlEmbedUI"}init(){const t=this.editor;const e=t.t;t.ui.componentFactory.add("htmlEmbed",(n=>{const o=t.commands.get("insertHtmlEmbed");const i=new pw(n);i.set({label:e("Insert HTML"),icon:IS,tooltip:true});i.bind("isEnabled").to(o,"isEnabled");this.listenTo(i,"execute",(()=>{t.execute("insertHtmlEmbed");t.editing.view.focus();const e=t.editing.view.document.selection.getSelectedElement();e.getCustomProperty("rawHtmlApi").makeEditable()}));return i}))}}class NS extends Hn{static get requires(){return[SS,BS,ix]}static get pluginName(){return"HtmlEmbed"}}class zS extends vu{observe(t){this.listenTo(t,"load",((t,e)=>{const n=e.target;if(this.checkShouldIgnoreEventFromTarget(n)){return}if(n.tagName=="IMG"){this._fireEvents(e)}}),{useCapture:true})}_fireEvents(t){if(this.isEnabled){this.document.fire("layoutChanged");this.document.fire("imageLoaded",t)}}}function PS(){return e=>{e.on("element:figure",t)};function t(t,e,n){if(!n.consumable.test(e.viewItem,{name:true,classes:"image"})){return}const o=lE(e.viewItem);if(!o||!o.hasAttribute("src")||!n.consumable.test(o,{name:true})){return}const i=n.convertItem(o,e.modelCursor);const r=pf(i.modelRange.getItems());if(!r){return}n.convertChildren(e.viewItem,r);n.updateConversionResult(r,e)}}function LS(){return e=>{e.on("attribute:srcset:image",t)};function t(t,e,n){if(!n.consumable.consume(e.item,t.name)){return}const o=n.writer;const i=n.mapper.toViewElement(e.item);const r=lE(i);if(e.attributeNewValue===null){const t=e.attributeOldValue;if(t.data){o.removeAttribute("srcset",r);o.removeAttribute("sizes",r);if(t.width){o.removeAttribute("width",r)}}}else{const t=e.attributeNewValue;if(t.data){o.setAttribute("srcset",t.data,r);o.setAttribute("sizes","100vw",r);if(t.width){o.setAttribute("width",t.width,r)}}}}}function OS(t){return n=>{n.on(`attribute:${t}:image`,e)};function e(t,e,n){if(!n.consumable.consume(e.item,t.name)){return}const o=n.writer;const i=n.mapper.toViewElement(e.item);const r=lE(i);o.setAttribute(e.attributeKey,e.attributeNewValue||"",r)}}class RS extends Wn{refresh(){this.isEnabled=cE(this.editor.model)}execute(t){const e=this.editor.model;for(const n of Ca(t.source)){aE(e,{src:n})}}}class FS extends Hn{static get pluginName(){return"ImageEditing"}init(){const t=this.editor;const e=t.model.schema;const n=t.t;const o=t.conversion;t.editing.view.addObserver(zS);e.register("image",{isObject:true,isBlock:true,allowWhere:"$block",allowAttributes:["alt","src","srcset"]});o.for("dataDowncast").elementToElement({model:"image",view:(t,{writer:e})=>jS(e)});o.for("editingDowncast").elementToElement({model:"image",view:(t,{writer:e})=>oE(jS(e),e,n("image widget"))});o.for("downcast").add(OS("src")).add(OS("alt")).add(LS());o.for("upcast").elementToElement({view:{name:"img",attributes:{src:true}},model:(t,{writer:e})=>e.createElement("image",{src:t.getAttribute("src")})}).attributeToAttribute({view:{name:"img",key:"alt"},model:"alt"}).attributeToAttribute({view:{name:"img",key:"srcset"},model:{key:"srcset",value:t=>{const e={data:t.getAttribute("srcset")};if(t.hasAttribute("width")){e.width=t.getAttribute("width")}return e}}}).add(PS());const i=new RS(t);t.commands.add("insertImage",i);t.commands.add("imageInsert",i)}}function jS(t){const e=t.createEmptyElement("img");const n=t.createContainerElement("figure",{class:"image"});t.insert(t.createPositionAt(n,0),e);return n}class VS extends Wn{refresh(){const t=this.editor.model.document.selection.getSelectedElement();this.isEnabled=sE(t);if(sE(t)&&t.hasAttribute("alt")){this.value=t.getAttribute("alt")}else{this.value=false}}execute(t){const e=this.editor.model;const n=e.document.selection.getSelectedElement();e.change((e=>{e.setAttribute("alt",t.newValue,n)}))}}class HS extends Hn{static get pluginName(){return"ImageTextAlternativeEditing"}init(){this.editor.commands.add("imageTextAlternative",new VS(this.editor))}}var US=n(46);var WS={injectType:"singletonStyleTag",attributes:{"data-cke":true}};WS.insert="head";WS.singleton=true;var KS=_k()(US["a"],WS);var GS=US["a"].locals||{};var qS=n(47);var YS={injectType:"singletonStyleTag",attributes:{"data-cke":true}};YS.insert="head";YS.singleton=true;var $S=_k()(qS["a"],YS);var QS=qS["a"].locals||{};class JS extends Dk{constructor(t){super(t);const e=this.locale.t;this.focusTracker=new bf;this.keystrokes=new kf;this.labeledInput=this._createLabeledInputView();this.saveButtonView=this._createButton(e("Save"),gk.check,"ck-button-save");this.saveButtonView.type="submit";this.cancelButtonView=this._createButton(e("Cancel"),gk.cancel,"ck-button-cancel","cancel");this._focusables=new wk;this._focusCycler=new Dw({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}});this.setTemplate({tag:"form",attributes:{class:["ck","ck-text-alternative-form","ck-responsive-form"],tabindex:"-1"},children:[this.labeledInput,this.saveButtonView,this.cancelButtonView]});bk(this)}render(){super.render();this.keystrokes.listenTo(this.element);kk({view:this});[this.labeledInput,this.saveButtonView,this.cancelButtonView].forEach((t=>{this._focusables.add(t);this.focusTracker.add(t.element)}))}_createButton(t,e,n,o){const i=new pw(this.locale);i.set({label:t,icon:e,tooltip:true});i.extendTemplate({attributes:{class:n}});if(o){i.delegate("execute").to(this,o)}return i}_createLabeledInputView(){const t=this.locale.t;const e=new lA(this.locale,dA);e.label=t("Text alternative");return e}}function ZS(t){const e=t.plugins.get("ContextualBalloon");if(rE(t.editing.view.document.selection)){const n=XS(t);e.updatePosition(n)}}function XS(t){const e=t.editing.view;const n=CA.defaultPositions;return{target:e.domConverter.viewToDom(e.document.selection.getSelectedElement()),positions:[n.northArrowSouth,n.northArrowSouthWest,n.northArrowSouthEast,n.southArrowNorth,n.southArrowNorthWest,n.southArrowNorthEast]}}class tM extends Hn{static get requires(){return[PA]}static get pluginName(){return"ImageTextAlternativeUI"}init(){this._createButton();this._createForm()}destroy(){super.destroy();this._form.destroy()}_createButton(){const t=this.editor;const e=t.t;t.ui.componentFactory.add("imageTextAlternative",(n=>{const o=t.commands.get("imageTextAlternative");const i=new pw(n);i.set({label:e("Change image text alternative"),icon:gk.lowVision,tooltip:true});i.bind("isEnabled").to(o,"isEnabled");this.listenTo(i,"execute",(()=>{this._showForm()}));return i}))}_createForm(){const t=this.editor;const e=t.editing.view;const n=e.document;this._balloon=this.editor.plugins.get("ContextualBalloon");this._form=new JS(t.locale);this._form.render();this.listenTo(this._form,"submit",(()=>{t.execute("imageTextAlternative",{newValue:this._form.labeledInput.fieldView.element.value});this._hideForm(true)}));this.listenTo(this._form,"cancel",(()=>{this._hideForm(true)}));this._form.keystrokes.set("Esc",((t,e)=>{this._hideForm(true);e()}));this.listenTo(t.ui,"update",(()=>{if(!rE(n.selection)){this._hideForm(true)}else if(this._isVisible){ZS(t)}}));pk({emitter:this._form,activator:()=>this._isVisible,contextElements:[this._balloon.view.element],callback:()=>this._hideForm()})}_showForm(){if(this._isVisible){return}const t=this.editor;const e=t.commands.get("imageTextAlternative");const n=this._form.labeledInput;this._form.disableCssTransitions();if(!this._isInBalloon){this._balloon.add({view:this._form,position:XS(t)})}n.fieldView.value=n.fieldView.element.value=e.value||"";this._form.labeledInput.fieldView.select();this._form.enableCssTransitions()}_hideForm(t){if(!this._isInBalloon){return}if(this._form.focusTracker.isFocused){this._form.saveButtonView.focus()}this._balloon.remove(this._form);if(t){this.editor.editing.view.focus()}}get _isVisible(){return this._balloon.visibleView===this._form}get _isInBalloon(){return this._balloon.hasView(this._form)}}class eM extends Hn{static get requires(){return[HS,tM]}static get pluginName(){return"ImageTextAlternative"}}var nM=n(48);var oM={injectType:"singletonStyleTag",attributes:{"data-cke":true}};oM.insert="head";oM.singleton=true;var iM=_k()(nM["a"],oM);var rM=nM["a"].locals||{};class sM extends Hn{static get requires(){return[FS,ix,eM]}static get pluginName(){return"Image"}isImageWidget(t){return iE(t)}}function aM(t,e){return n=>{const o=n.createEditableElement("figcaption");n.setCustomProperty("imageCaption",true,o);c_({view:t,element:o,text:e});return wy(o,n)}}function cM(t){return!!t.getCustomProperty("imageCaption")}function lM(t){for(const e of t.getChildren()){if(!!e&&e.is("element","caption")){return e}}return null}function dM(t){const e=t.parent;if(t.name=="figcaption"&&e&&e.name=="figure"&&e.hasClass("image")){return{name:true}}return null}class uM extends Hn{static get pluginName(){return"ImageCaptionEditing"}init(){const t=this.editor;const e=t.editing.view;const n=t.model.schema;const o=t.data;const i=t.editing;const r=t.t;n.register("caption",{allowIn:"image",allowContentOf:"$block",isLimit:true});t.model.document.registerPostFixer((t=>this._insertMissingModelCaptionElement(t)));t.conversion.for("upcast").elementToElement({view:dM,model:"caption"});const s=t=>t.createContainerElement("figcaption");o.downcastDispatcher.on("insert:caption",hM(s,false));const a=aM(e,r("Enter image caption"));i.downcastDispatcher.on("insert:caption",hM(a));i.downcastDispatcher.on("insert",this._fixCaptionVisibility((t=>t.item)),{priority:"high"});i.downcastDispatcher.on("remove",this._fixCaptionVisibility((t=>t.position.parent)),{priority:"high"});e.document.registerPostFixer((t=>this._updateCaptionVisibility(t)))}_updateCaptionVisibility(t){const e=this.editor.editing.mapper;const n=this._lastSelectedCaption;let o;const i=this.editor.model.document.selection;const r=i.getSelectedElement();if(r&&r.is("element","image")){const t=lM(r);o=e.toViewElement(t)}const s=i.getFirstPosition();const a=mM(s.parent);if(a){o=e.toViewElement(a)}if(o&&!this.editor.isReadOnly){if(n){if(n===o){return pM(o,t)}else{gM(n,t);this._lastSelectedCaption=o;return pM(o,t)}}else{this._lastSelectedCaption=o;return pM(o,t)}}else{if(n){const e=gM(n,t);this._lastSelectedCaption=null;return e}else{return false}}}_fixCaptionVisibility(t){return(e,n,o)=>{const i=t(n);const r=mM(i);const s=this.editor.editing.mapper;const a=o.writer;if(r){const t=s.toViewElement(r);if(t){if(r.childCount){a.removeClass("ck-hidden",t)}else{a.addClass("ck-hidden",t)}}}}}_insertMissingModelCaptionElement(t){const e=this.editor.model;const n=e.document.differ.getChanges();const o=[];for(const t of n){if(t.type=="insert"&&t.name!="$text"){const n=t.position.nodeAfter;if(n.is("element","image")&&!lM(n)){o.push(n)}if(!n.is("element","image")&&n.childCount){for(const t of e.createRangeIn(n).getItems()){if(t.is("element","image")&&!lM(t)){o.push(t)}}}}}for(const e of o){t.appendElement("caption",e)}return!!o.length}}function hM(t,e=true){return(n,o,i)=>{const r=o.item;if(!r.childCount&&!e){return}if(sE(r.parent)){if(!i.consumable.consume(o.item,"insert")){return}const e=i.mapper.toViewElement(o.range.start.parent);const n=t(i.writer);const s=i.writer;if(!r.childCount){s.addClass("ck-hidden",n)}fM(n,o.item,e,i)}}}function fM(t,e,n,o){const i=o.writer.createPositionAt(n,"end");o.writer.insert(i,t);o.mapper.bindElements(e,t)}function mM(t){const e=t.getAncestors({includeSelf:true});const n=e.find((t=>t.name=="caption"));if(n&&n.parent&&n.parent.name=="image"){return n}return null}function gM(t,e){if(!t.childCount&&!t.hasClass("ck-hidden")){e.addClass("ck-hidden",t);return true}return false}function pM(t,e){if(t.hasClass("ck-hidden")){e.removeClass("ck-hidden",t);return true}return false}var bM=n(49);var kM={injectType:"singletonStyleTag",attributes:{"data-cke":true}};kM.insert="head";kM.singleton=true;var wM=_k()(bM["a"],kM);var CM=bM["a"].locals||{};class AM extends Hn{static get requires(){return[uM]}static get pluginName(){return"ImageCaption"}}class _M{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()}}Vn(_M,Mn);class vM extends Hn{static get pluginName(){return"FileRepository"}static get requires(){return[Ub]}init(){this.loaders=new ka;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(u["b"])("filerepository-no-upload-adapter");return null}const e=new yM(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 yM?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(Ub);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}}}Vn(vM,Mn);class yM{constructor(t,e){this.id=a();this._filePromiseWrapper=this._createFilePromiseWrapper(t);this._adapter=e(this);this._reader=new _M;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 u["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 u["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}}Vn(yM,Mn);class xM extends Dk{constructor(t){super(t);this.buttonView=new pw(t);this._fileInputView=new EM(t);this._fileInputView.bind("acceptedType").to(this);this._fileInputView.bind("allowMultipleFiles").to(this);this._fileInputView.delegate("done").to(this);this.setTemplate({tag:"span",attributes:{class:"ck-file-dialog-button"},children:[this.buttonView,this._fileInputView]});this.buttonView.on("execute",(()=>{this._fileInputView.open()}))}focus(){this.buttonView.focus()}}class EM extends Dk{constructor(t){super(t);this.set("acceptedType");this.set("allowMultipleFiles",false);const e=this.bindTemplate;this.setTemplate({tag:"input",attributes:{class:["ck-hidden"],type:"file",tabindex:"-1",accept:e.to("acceptedType"),multiple:e.to("allowMultipleFiles")},on:{change:e.to((()=>{if(this.element&&this.element.files&&this.element.files.length){this.fire("done",this.element.files)}this.element.value=""}))}})}open(){this.element.click()}}class DM extends Hn{static get requires(){return[vM]}static get pluginName(){return"Base64UploadAdapter"}init(){this.editor.plugins.get(vM).createUploadAdapter=t=>new TM(t)}}class TM{constructor(t){this.loader=t}upload(){return new Promise(((t,e)=>{const n=this.reader=new window.FileReader;n.addEventListener("load",(()=>{t({default:n.result})}));n.addEventListener("error",(t=>{e(t)}));n.addEventListener("abort",(()=>{e()}));this.loader.file.then((t=>{n.readAsDataURL(t)}))}))}abort(){this.reader.abort()}}class SM extends Hn{static get requires(){return[vM]}static get pluginName(){return"SimpleUploadAdapter"}init(){const t=this.editor.config.get("simpleUpload");if(!t){return}if(!t.uploadUrl){Object(u["b"])("simple-upload-adapter-missing-uploadurl");return}this.editor.plugins.get(vM).createUploadAdapter=e=>new MM(e,t)}}class MM{constructor(t,e){this.loader=t;this.options=e}upload(){return this.loader.file.then((t=>new Promise(((e,n)=>{this._initRequest();this._initListeners(e,n,t);this._sendRequest(t)}))))}abort(){if(this.xhr){this.xhr.abort()}}_initRequest(){const t=this.xhr=new XMLHttpRequest;t.open("POST",this.options.uploadUrl,true);t.responseType="json"}_initListeners(t,e,n){const o=this.xhr;const i=this.loader;const r=`Couldn't upload file: ${n.name}.`;o.addEventListener("error",(()=>e(r)));o.addEventListener("abort",(()=>e()));o.addEventListener("load",(()=>{const n=o.response;if(!n||n.error){return e(n&&n.error&&n.error.message?n.error.message:r)}const i=n.url?{default:n.url}:n.urls;t({...n,urls:i})}));if(o.upload){o.upload.addEventListener("progress",(t=>{if(t.lengthComputable){i.uploadTotal=t.total;i.uploaded=t.loaded}}))}}_sendRequest(t){const e=this.options.headers||{};const n=this.options.withCredentials||false;for(const t of Object.keys(e)){this.xhr.setRequestHeader(t,e[t])}this.xhr.withCredentials=n;const o=new FormData;o.append("upload",t);o.append("ajax","yes");o.append("mod","add_img");this.xhr.send(o)}}function IM(t){const e=t.map((t=>t.replace("+","\\+")));return new RegExp(`^image\\/(${e.join("|")})$`)}function BM(t){return new Promise(((e,n)=>{const o=t.getAttribute("src");fetch(o).then((t=>t.blob())).then((t=>{const n=zM(t,o);const i=n.replace("image/","");const r=`image.${i}`;const s=new File([t],r,{type:n});e(s)})).catch((t=>t&&t.name==="TypeError"?PM(o).then(e).catch(n):n(t)))}))}function NM(t){if(!t.is("element","img")||!t.getAttribute("src")){return false}return t.getAttribute("src").match(/^data:image\/\w+;base64,/g)||t.getAttribute("src").match(/^blob:/g)}function zM(t,e){if(t.type){return t.type}else if(e.match(/data:(image\/\w+);base64/)){return e.match(/data:(image\/\w+);base64/)[1].toLowerCase()}else{return"image/jpeg"}}function PM(t){return LM(t).then((e=>{const n=zM(e,t);const o=n.replace("image/","");const i=`image.${o}`;return new File([e],i,{type:n})}))}function LM(t){return new Promise(((e,n)=>{const o=su.document.createElement("img");o.addEventListener("load",(()=>{const t=su.document.createElement("canvas");t.width=o.width;t.height=o.height;const i=t.getContext("2d");i.drawImage(o,0,0);t.toBlob((t=>t?e(t):n()))}));o.addEventListener("error",(()=>n()));o.src=t}))}class OM extends Hn{static get pluginName(){return"ImageUploadUI"}init(){const t=this.editor;const e=t.t;const n=n=>{const o=new xM(n);const i=t.commands.get("uploadImage");const r=t.config.get("image.upload.types");const s=IM(r);o.set({acceptedType:r.map((t=>`image/${t}`)).join(","),allowMultipleFiles:true});o.buttonView.set({label:e("Insert image"),icon:gk.image,tooltip:true});o.buttonView.bind("isEnabled").to(i);o.on("done",((e,n)=>{const o=Array.from(n).filter((t=>s.test(t.type)));if(o.length){t.execute("uploadImage",{file:o})}}));return o};t.ui.componentFactory.add("uploadImage",n);t.ui.componentFactory.add("imageUpload",n)}}var RM=' ';var FM=n(50);var jM={injectType:"singletonStyleTag",attributes:{"data-cke":true}};jM.insert="head";jM.singleton=true;var VM=_k()(FM["a"],jM);var HM=FM["a"].locals||{};var UM=n(51);var WM={injectType:"singletonStyleTag",attributes:{"data-cke":true}};WM.insert="head";WM.singleton=true;var KM=_k()(UM["a"],WM);var GM=UM["a"].locals||{};var qM=n(52);var YM={injectType:"singletonStyleTag",attributes:{"data-cke":true}};YM.insert="head";YM.singleton=true;var $M=_k()(qM["a"],YM);var QM=qM["a"].locals||{};class JM extends Hn{static get pluginName(){return"ImageUploadProgress"}constructor(t){super(t);this.placeholder="data:image/svg+xml;utf8,"+encodeURIComponent(RM)}init(){const t=this.editor;t.editing.downcastDispatcher.on("attribute:uploadStatus:image",((...t)=>this.uploadStatusChange(...t)))}uploadStatusChange(t,e,n){const o=this.editor;const i=e.item;const r=i.getAttribute("uploadId");if(!n.consumable.consume(e.item,t.name)){return}const s=o.plugins.get(vM);const a=r?e.attributeNewValue:null;const c=this.placeholder;const l=o.editing.mapper.toViewElement(i);const d=n.writer;if(a=="reading"){ZM(l,d);tI(c,l,d);return}if(a=="uploading"){const t=s.loaders.get(r);ZM(l,d);if(!t){tI(c,l,d)}else{eI(l,d);nI(l,d,t,o.editing.view);lI(l,d,t)}return}if(a=="complete"&&s.loaders.get(r)){iI(l,d,o.editing.view)}oI(l,d);eI(l,d);XM(l,d)}}function ZM(t,e){if(!t.hasClass("ck-appear")){e.addClass("ck-appear",t)}}function XM(t,e){e.removeClass("ck-appear",t)}function tI(t,e,n){if(!e.hasClass("ck-image-upload-placeholder")){n.addClass("ck-image-upload-placeholder",e)}const o=lE(e);if(o.getAttribute("src")!==t){n.setAttribute("src",t,o)}if(!aI(e,"placeholder")){n.insert(n.createPositionAfter(o),sI(n))}}function eI(t,e){if(t.hasClass("ck-image-upload-placeholder")){e.removeClass("ck-image-upload-placeholder",t)}cI(t,e,"placeholder")}function nI(t,e,n,o){const i=rI(e);e.insert(e.createPositionAt(t,"end"),i);n.on("change:uploadedPercent",((t,e,n)=>{o.change((t=>{t.setStyle("width",n+"%",i)}))}))}function oI(t,e){cI(t,e,"progressBar")}function iI(t,e,n){const o=e.createUIElement("div",{class:"ck-image-upload-complete-icon"});e.insert(e.createPositionAt(t,"end"),o);setTimeout((()=>{n.change((t=>t.remove(t.createRangeOn(o))))}),3e3)}function rI(t){const e=t.createUIElement("div",{class:"ck-progress-bar"});t.setCustomProperty("progressBar",true,e);return e}function sI(t){const e=t.createUIElement("div",{class:"ck-upload-placeholder-loader"});t.setCustomProperty("placeholder",true,e);return e}function aI(t,e){for(const n of t.getChildren()){if(n.getCustomProperty(e)){return n}}}function cI(t,e,n){const o=aI(t,n);if(o){e.remove(e.createRangeOn(o))}}function lI(t,e,n){if(n.data){const o=lE(t);e.setAttribute("src",n.data,o)}}class dI extends Wn{refresh(){const t=this.editor.model.document.selection.getSelectedElement();const e=t&&t.name==="image"||false;this.isEnabled=cE(this.editor.model)||e}execute(t){const e=this.editor;const n=e.model;const o=e.plugins.get(vM);for(const e of Ca(t.file)){uI(n,o,e)}}}function uI(t,e,n){const o=e.createLoader(n);if(!o){return}aE(t,{uploadId:o.id})}class hI extends Hn{static get requires(){return[vM,hA,Yv]}static get pluginName(){return"ImageUploadEditing"}constructor(t){super(t);t.config.define("image",{upload:{types:["jpeg","png","gif","bmp","webp","tiff"]}})}init(){const t=this.editor;const e=t.model.document;const n=t.model.schema;const o=t.conversion;const i=t.plugins.get(vM);const r=IM(t.config.get("image.upload.types"));n.extend("image",{allowAttributes:["uploadId","uploadStatus"]});const s=new dI(t);t.commands.add("uploadImage",s);t.commands.add("imageUpload",s);o.for("upcast").attributeToAttribute({view:{name:"img",key:"uploadId"},model:"uploadId"});this.listenTo(t.editing.view.document,"clipboardInput",((e,n)=>{if(fI(n.dataTransfer)){return}const o=Array.from(n.dataTransfer.files).filter((t=>{if(!t){return false}return r.test(t.type)}));if(!o.length){return}e.stop();t.model.change((e=>{if(n.targetRanges){e.setSelection(n.targetRanges.map((e=>t.editing.mapper.toModelRange(e))))}t.model.enqueueChange("default",(()=>{t.execute("uploadImage",{file:o})}))}))}));this.listenTo(t.plugins.get("ClipboardPipeline"),"inputTransformation",((e,n)=>{const o=Array.from(t.editing.view.createRangeIn(n.content)).filter((t=>NM(t.item)&&!t.item.getAttribute("uploadProcessed"))).map((t=>({promise:BM(t.item),imageElement:t.item})));if(!o.length){return}const r=new I_(t.editing.view.document);for(const t of o){r.setAttribute("uploadProcessed",true,t.imageElement);const e=i.createLoader(t.promise);if(e){r.setAttribute("src","",t.imageElement);r.setAttribute("uploadId",e.id,t.imageElement)}}}));t.editing.view.document.on("dragover",((t,e)=>{e.preventDefault()}));e.on("change",(()=>{const n=e.differ.getChanges({includeChangesInGraveyard:true});for(const e of n){if(e.type=="insert"&&e.name!="$text"){const n=e.position.nodeAfter;const o=e.position.root.rootName=="$graveyard";for(const e of mI(t,n)){const t=e.getAttribute("uploadId");if(!t){continue}const n=i.loaders.get(t);if(!n){continue}if(o){n.abort()}else if(n.status=="idle"){this._readAndUpload(n,e)}}}}}));this.on("uploadComplete",((t,{imageElement:e,data:n})=>{const o=n.urls?n.urls:n;this.editor.model.change((t=>{t.setAttribute("src",o.default,e);this._parseAndSetSrcsetAttributeOnImage(o,e,t)}))}),{priority:"low"})}_readAndUpload(t,e){const n=this.editor;const o=n.model;const i=n.locale.t;const r=n.plugins.get(vM);const s=n.plugins.get(hA);o.enqueueChange("transparent",(t=>{t.setAttribute("uploadStatus","reading",e)}));return t.read().then((()=>{const i=t.upload();if(Kl.isSafari){const t=n.editing.mapper.toViewElement(e);const o=lE(t);n.editing.view.once("render",(()=>{if(!o.parent){return}const t=n.editing.view.domConverter.mapViewToDom(o.parent);if(!t){return}const e=t.style.display;t.style.display="none";t._ckHack=t.offsetHeight;t.style.display=e}))}o.enqueueChange("transparent",(t=>{t.setAttribute("uploadStatus","uploading",e)}));return i})).then((t=>{o.enqueueChange("transparent",(n=>{n.setAttribute("uploadStatus","complete",e);this.fire("uploadComplete",{data:t,imageElement:e})}));a()})).catch((n=>{if(t.status!=="error"&&t.status!=="aborted"){throw n}if(t.status=="error"&&n){s.showWarning(n,{title:i("Upload failed"),namespace:"upload"})}a();o.enqueueChange("transparent",(t=>{t.remove(e)}))}));function a(){o.enqueueChange("transparent",(t=>{t.removeAttribute("uploadId",e);t.removeAttribute("uploadStatus",e)}));r.destroyLoader(t)}}_parseAndSetSrcsetAttributeOnImage(t,e,n){let o=0;const i=Object.keys(t).filter((t=>{const e=parseInt(t,10);if(!isNaN(e)){o=Math.max(o,e);return true}})).map((e=>`${t[e]} ${e}w`)).join(", ");if(i!=""){n.setAttribute("srcset",{data:i,width:o},e)}}}function fI(t){return Array.from(t.types).includes("text/html")&&t.getData("text/html")!==""}function mI(t,e){return Array.from(t.model.createRangeOn(e)).filter((t=>t.item.is("element","image"))).map((t=>t.item))}class gI extends Hn{static get pluginName(){return"ImageUpload"}static get requires(){return[hI,OM,JM]}}var pI=n(53);var bI={injectType:"singletonStyleTag",attributes:{"data-cke":true}};bI.insert="head";bI.singleton=true;var kI=_k()(pI["a"],bI);var wI=pI["a"].locals||{};class CI extends Dk{constructor(t,e={}){super(t);const n=this.bindTemplate;this.set("class",e.class||null);this.children=this.createCollection();if(e.children){e.children.forEach((t=>this.children.add(t)))}this.set("_role",null);this.set("_ariaLabelledBy",null);if(e.labelView){this.set({_role:"group",_ariaLabelledBy:e.labelView.id})}this.setTemplate({tag:"div",attributes:{class:["ck","ck-form__row",n.to("class")],role:n.to("_role"),"aria-labelledby":n.to("_ariaLabelledBy")},children:this.children})}}var AI=n(54);var _I={injectType:"singletonStyleTag",attributes:{"data-cke":true}};_I.insert="head";_I.singleton=true;var vI=_k()(AI["a"],_I);var yI=AI["a"].locals||{};class xI extends Dk{constructor(t,e){super(t);const{insertButtonView:n,cancelButtonView:o}=this._createActionButtons(t);this.insertButtonView=n;this.cancelButtonView=o;this.dropdownView=this._createDropdownView(t);this.set("imageURLInputValue","");this.focusTracker=new bf;this.keystrokes=new kf;this._focusables=new wk;this._focusCycler=new Dw({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}});this.set("_integrations",new ka);if(e){for(const[t,n]of Object.entries(e)){if(t==="insertImageViaUrl"){n.fieldView.bind("value").to(this,"imageURLInputValue",(t=>t||""));n.fieldView.on("input",(()=>{this.imageURLInputValue=n.fieldView.element.value.trim()}))}n.name=t;this._integrations.add(n)}}this.setTemplate({tag:"form",attributes:{class:["ck","ck-image-insert-form"],tabindex:"-1"},children:[...this._integrations,new CI(t,{children:[this.insertButtonView,this.cancelButtonView],class:"ck-image-insert-form__action-row"})]})}render(){super.render();kk({view:this});const t=[...this._integrations,this.insertButtonView,this.cancelButtonView];t.forEach((t=>{this._focusables.add(t);this.focusTracker.add(t.element)}));this.keystrokes.listenTo(this.element);const e=t=>t.stopPropagation();this.keystrokes.set("arrowright",e);this.keystrokes.set("arrowleft",e);this.keystrokes.set("arrowup",e);this.keystrokes.set("arrowdown",e);this.listenTo(t[0].element,"selectstart",((t,e)=>{e.stopPropagation()}),{priority:"high"})}getIntegration(t){return this._integrations.find((e=>e.name===t))}_createDropdownView(t){const e=t.t;const n=TC(t,jw);const o=n.buttonView;const i=n.panelView;o.set({label:e("Insert image"),icon:gk.image,tooltip:true});i.extendTemplate({attributes:{class:"ck-image-insert__panel"}});return n}_createActionButtons(t){const e=t.t;const n=new pw(t);const o=new pw(t);n.set({label:e("Insert"),icon:gk.check,class:"ck-button-save",type:"submit",withText:true,isEnabled:this.imageURLInputValue});o.set({label:e("Cancel"),icon:gk.cancel,class:"ck-button-cancel",withText:true});n.bind("isEnabled").to(this,"imageURLInputValue",(t=>!!t));n.delegate("execute").to(this,"submit");o.delegate("execute").to(this,"cancel");return{insertButtonView:n,cancelButtonView:o}}focus(){this._focusCycler.focusFirst()}}function EI(t){const e=t.config.get("image.insert.integrations");const n=t.plugins.get("ImageInsertUI");const o={insertImageViaUrl:DI(t.locale)};if(!e){return o}if(e.find((t=>t==="openCKFinder"))&&t.ui.componentFactory.has("ckfinder")){const e=t.ui.componentFactory.create("ckfinder");e.set({withText:true,class:"ck-image-insert__ck-finder-button"});e.delegate("execute").to(n,"cancel");o.openCKFinder=e}return e.reduce(((e,n)=>{if(o[n]){e[n]=o[n]}else if(t.ui.componentFactory.has(n)){e[n]=t.ui.componentFactory.create(n)}return e}),{})}function DI(t){const e=t.t;const n=new lA(t,dA);n.set({label:e("Insert image via URL")});n.fieldView.placeholder="https://example.com/image.png";return n}class TI extends Hn{static get pluginName(){return"ImageInsertUI"}init(){const t=this.editor;const e=t=>this._createDropdownView(t);t.ui.componentFactory.add("insertImage",e);t.ui.componentFactory.add("imageInsert",e)}_createDropdownView(t){const e=this.editor;const n=new xI(t,EI(e));const o=e.commands.get("uploadImage");const i=n.dropdownView;const r=i.buttonView;r.actionView=e.ui.componentFactory.create("uploadImage");r.actionView.extendTemplate({attributes:{class:"ck ck-button ck-splitbutton__action"}});return this._setUpDropdown(i,n,o)}_setUpDropdown(t,e,n){const o=this.editor;const i=o.t;const r=e.insertButtonView;const s=e.getIntegration("insertImageViaUrl");const a=t.panelView;t.bind("isEnabled").to(n);t.buttonView.once("open",(()=>{a.children.add(e)}));t.on("change:isOpen",(()=>{const n=o.model.document.selection.getSelectedElement();if(t.isOpen){e.focus();if(sE(n)){e.imageURLInputValue=n.getAttribute("src");r.label=i("Update");s.label=i("Update image URL")}else{e.imageURLInputValue="";r.label=i("Insert");s.label=i("Insert image via URL")}}}),{priority:"low"});e.delegate("submit","cancel").to(t);this.delegate("cancel").to(t);t.on("submit",(()=>{l();c()}));t.on("cancel",(()=>{l()}));function c(){const t=o.model.document.selection.getSelectedElement();if(sE(t)){o.model.change((n=>{n.setAttribute("src",e.imageURLInputValue,t);n.removeAttribute("srcset",t);n.removeAttribute("sizes",t)}))}else{o.execute("insertImage",{source:e.imageURLInputValue})}}function l(){o.editing.view.focus();t.isOpen=false}return t}}class SI extends Hn{static get pluginName(){return"ImageInsert"}static get requires(){return[gI,TI]}}class MI extends Wn{refresh(){const t=this.editor.model.document.selection.getSelectedElement();this.isEnabled=sE(t);if(!t||!t.hasAttribute("width")){this.value=null}else{this.value={width:t.getAttribute("width"),height:null}}}execute(t){const e=this.editor.model;const n=e.document.selection.getSelectedElement();this.value={width:t.width,height:null};if(n){e.change((e=>{e.setAttribute("width",t.width,n)}))}}}class II extends Hn{static get pluginName(){return"ImageResizeEditing"}constructor(t){super(t);t.config.define("image",{resizeUnit:"%",resizeOptions:[{name:"resizeImage:original",value:null,icon:"original"},{name:"resizeImage:25",value:"25",icon:"small"},{name:"resizeImage:50",value:"50",icon:"medium"},{name:"resizeImage:75",value:"75",icon:"large"}]})}init(){const t=this.editor;const e=new MI(t);this._registerSchema();this._registerConverters();t.commands.add("resizeImage",e);t.commands.add("imageResize",e)}_registerSchema(){this.editor.model.schema.extend("image",{allowAttributes:"width"});this.editor.model.schema.setAttributeProperties("width",{isFormatting:true})}_registerConverters(){const t=this.editor;t.conversion.for("downcast").add((t=>t.on("attribute:width:image",((t,e,n)=>{if(!n.consumable.consume(e.item,t.name)){return}const o=n.writer;const i=n.mapper.toViewElement(e.item);if(e.attributeNewValue!==null){o.setStyle("width",e.attributeNewValue,i);o.addClass("image_resized",i)}else{o.removeStyle("width",i);o.removeClass("image_resized",i)}}))));t.conversion.for("upcast").attributeToAttribute({view:{name:"figure",styles:{width:/.+/}},model:{key:"width",value:t=>t.getStyle("width")}})}}const BI={small:gk.objectSizeSmall,medium:gk.objectSizeMedium,large:gk.objectSizeLarge,original:gk.objectSizeFull};class NI extends Hn{static get requires(){return[II]}static get pluginName(){return"ImageResizeButtons"}constructor(t){super(t);this._resizeUnit=t.config.get("image.resizeUnit")}init(){const t=this.editor;const e=t.config.get("image.resizeOptions");const n=t.commands.get("resizeImage");this.bind("isEnabled").to(n);for(const t of e){this._registerImageResizeButton(t)}this._registerImageResizeDropdown(e)}_registerImageResizeButton(t){const e=this.editor;const{name:n,value:o,icon:i}=t;const r=o?o+this._resizeUnit:null;e.ui.componentFactory.add(n,(n=>{const o=new pw(n);const s=e.commands.get("resizeImage");const a=this._getOptionLabelValue(t,true);if(!BI[i]){throw new u["a"]("imageresizebuttons-missing-icon",e,t)}o.set({label:a,icon:BI[i],tooltip:a,isToggleable:true});o.bind("isEnabled").to(this);o.bind("isOn").to(s,"value",zI(r));this.listenTo(o,"execute",(()=>{e.execute("resizeImage",{width:r})}));return o}))}_registerImageResizeDropdown(t){const e=this.editor;const n=e.t;const o=t.find((t=>!t.value));const i=i=>{const r=e.commands.get("resizeImage");const s=TC(i,Pw);const a=s.buttonView;a.set({tooltip:n("Resize image"),commandValue:o.value,icon:BI.medium,isToggleable:true,label:this._getOptionLabelValue(o),withText:true,class:"ck-resize-image-button"});a.bind("label").to(r,"value",(t=>{if(t&&t.width){return t.width}else{return this._getOptionLabelValue(o)}}));s.bind("isOn").to(r);s.bind("isEnabled").to(this);MC(s,this._getResizeDropdownListItemDefinitions(t,r));s.listView.ariaLabel=n("Image resize list");this.listenTo(s,"execute",(t=>{e.execute(t.source.commandName,{width:t.source.commandValue});e.editing.view.focus()}));return s};e.ui.componentFactory.add("resizeImage",i);e.ui.componentFactory.add("imageResize",i)}_getOptionLabelValue(t,e){const n=this.editor.t;if(t.label){return t.label}else if(e){if(t.value){return n("Resize image to %0",t.value+this._resizeUnit)}else{return n("Resize image to the original size")}}else{if(t.value){return t.value+this._resizeUnit}else{return n("Original")}}}_getResizeDropdownListItemDefinitions(t,e){const n=new ka;t.map((t=>{const o=t.value?t.value+this._resizeUnit:null;const i={type:"button",model:new fA({commandName:"resizeImage",commandValue:o,label:this._getOptionLabelValue(t),withText:true,icon:null})};i.model.bind("isOn").to(e,"value",zI(o));n.add(i)}));return n}}function zI(t){return e=>{if(t===null&&e===t){return true}return e&&e.width===t}}class PI extends Hn{static get requires(){return[nE]}static get pluginName(){return"ImageResizeHandles"}init(){const t=this.editor.commands.get("resizeImage");this.bind("isEnabled").to(t);this._setupResizerCreator()}_setupResizerCreator(){const t=this.editor;const e=t.editing.view;e.addObserver(zS);this.listenTo(e.document,"imageLoaded",((n,o)=>{if(!o.target.matches("figure.image.ck-widget > img, figure.image.ck-widget > a > img")){return}const i=t.editing.view.domConverter.domToView(o.target);const r=i.findAncestor("figure");let s=this.editor.plugins.get(nE).getResizerByViewElement(r);if(s){s.redraw();return}const a=t.editing.mapper;const c=a.toModelElement(r);s=t.plugins.get(nE).attachTo({unit:t.config.get("image.resizeUnit"),modelElement:c,viewElement:r,editor:t,getHandleHost(t){return t.querySelector("img")},getResizeHost(t){return t},isCentered(){const t=c.getAttribute("imageStyle");return!t||t=="full"||t=="alignCenter"},onCommit(e){t.execute("resizeImage",{width:e})}});s.on("updateSize",(()=>{if(!r.hasClass("image_resized")){e.change((t=>{t.addClass("image_resized",r)}))}}));s.bind("isEnabled").to(this)}))}}var LI=n(55);var OI={injectType:"singletonStyleTag",attributes:{"data-cke":true}};OI.insert="head";OI.singleton=true;var RI=_k()(LI["a"],OI);var FI=LI["a"].locals||{};class jI extends Hn{static get requires(){return[II,PI,NI]}static get pluginName(){return"ImageResize"}}class VI extends Wn{constructor(t,e){super(t);this.defaultStyle=false;this.styles=e.reduce(((t,e)=>{t[e.name]=e;if(e.isDefault){this.defaultStyle=e.name}return t}),{})}refresh(){const t=this.editor.model.document.selection.getSelectedElement();this.isEnabled=sE(t);if(!t){this.value=false}else if(t.hasAttribute("imageStyle")){const e=t.getAttribute("imageStyle");this.value=this.styles[e]?e:false}else{this.value=this.defaultStyle}}execute(t){const e=t.value;const n=this.editor.model;const o=n.document.selection.getSelectedElement();n.change((t=>{if(this.styles[e].isDefault){t.removeAttribute("imageStyle",o)}else{t.setAttribute("imageStyle",e,o)}}))}}function HI(t){return(e,n,o)=>{if(!o.consumable.consume(n.item,e.name)){return}const i=WI(n.attributeNewValue,t);const r=WI(n.attributeOldValue,t);const s=o.mapper.toViewElement(n.item);const a=o.writer;if(r){a.removeClass(r.className,s)}if(i){a.addClass(i.className,s)}}}function UI(t){const e=t.filter((t=>!t.isDefault));return(t,n,o)=>{if(!n.modelRange){return}const i=n.viewItem;const r=pf(n.modelRange.getItems());if(r&&!o.schema.checkAttribute(r,"imageStyle")){return}for(const t of e){if(o.consumable.consume(i,{classes:t.className})){o.writer.setAttribute("imageStyle",t.name,r)}}}}function WI(t,e){for(const n of e){if(n.name===t){return n}}}const KI={full:{name:"full",title:"Full size image",icon:gk.objectFullWidth,isDefault:true},side:{name:"side",title:"Side image",icon:gk.objectRight,className:"image-style-side"},alignLeft:{name:"alignLeft",title:"Left aligned image",icon:gk.objectLeft,className:"image-style-align-left"},alignCenter:{name:"alignCenter",title:"Centered image",icon:gk.objectCenter,className:"image-style-align-center"},alignRight:{name:"alignRight",title:"Right aligned image",icon:gk.objectRight,className:"image-style-align-right"}};const GI={full:gk.objectFullWidth,left:gk.objectLeft,right:gk.objectRight,center:gk.objectCenter};function qI(t=[]){return t.map(YI)}function YI(t){if(typeof t=="string"){const e=t;if(KI[e]){t=Object.assign({},KI[e])}else{Object(u["b"])("image-style-not-found",{name:e});t={name:e}}}else if(KI[t.name]){const e=KI[t.name];const n=Object.assign({},t);for(const o in e){if(!Object.prototype.hasOwnProperty.call(t,o)){n[o]=e[o]}}t=n}if(typeof t.icon=="string"&&GI[t.icon]){t.icon=GI[t.icon]}return t}class $I extends Hn{static get pluginName(){return"ImageStyleEditing"}init(){const t=this.editor;const e=t.model.schema;const n=t.data;const o=t.editing;t.config.define("image.styles",["full","side"]);const i=qI(t.config.get("image.styles"));e.extend("image",{allowAttributes:"imageStyle"});const r=HI(i);o.downcastDispatcher.on("attribute:imageStyle:image",r);n.downcastDispatcher.on("attribute:imageStyle:image",r);n.upcastDispatcher.on("element:figure",UI(i),{priority:"low"});t.commands.add("imageStyle",new VI(t,i))}}var QI=n(56);var JI={injectType:"singletonStyleTag",attributes:{"data-cke":true}};JI.insert="head";JI.singleton=true;var ZI=_k()(QI["a"],JI);var XI=QI["a"].locals||{};class tB extends Hn{static get pluginName(){return"ImageStyleUI"}get localizedDefaultStylesTitles(){const t=this.editor.t;return{"Full size image":t("Full size image"),"Side image":t("Side image"),"Left aligned image":t("Left aligned image"),"Centered image":t("Centered image"),"Right aligned image":t("Right aligned image")}}init(){const t=this.editor;const e=t.config.get("image.styles");const n=eB(qI(e),this.localizedDefaultStylesTitles);for(const t of n){this._createButton(t)}}_createButton(t){const e=this.editor;const n=`imageStyle:${t.name}`;e.ui.componentFactory.add(n,(n=>{const o=e.commands.get("imageStyle");const i=new pw(n);i.set({label:t.title,icon:t.icon,tooltip:true,isToggleable:true});i.bind("isEnabled").to(o,"isEnabled");i.bind("isOn").to(o,"value",(e=>e===t.name));this.listenTo(i,"execute",(()=>{e.execute("imageStyle",{value:t.name});e.editing.view.focus()}));return i}))}}function eB(t,e){for(const n of t){if(e[n.title]){n.title=e[n.title]}}return t}class nB extends Hn{static get requires(){return[$I,tB]}static get pluginName(){return"ImageStyle"}}class oB extends Hn{static get requires(){return[Ox]}static get pluginName(){return"ImageToolbar"}afterInit(){const t=this.editor;const e=t.t;const n=t.plugins.get(Ox);n.register("image",{ariaLabel:e("Image toolbar"),items:t.config.get("image.toolbar")||[],getRelatedElement:rE})}}class iB extends Hn{static get pluginName(){return"IndentEditing"}init(){const t=this.editor;t.commands.add("indent",new Gn(t));t.commands.add("outdent",new Gn(t))}}var rB=' ';var sB=' ';class aB extends Hn{static get pluginName(){return"IndentUI"}init(){const t=this.editor;const e=t.locale;const n=t.t;const o=e.uiLanguageDirection=="ltr"?rB:sB;const i=e.uiLanguageDirection=="ltr"?sB:rB;this._defineButton("indent",n("Increase indent"),o);this._defineButton("outdent",n("Decrease indent"),i)}_defineButton(t,e,n){const o=this.editor;o.ui.componentFactory.add(t,(i=>{const r=o.commands.get(t);const s=new pw(i);s.set({label:e,icon:n,tooltip:true});s.bind("isOn","isEnabled").to(r,"value","isEnabled");this.listenTo(s,"execute",(()=>{o.execute(t);o.editing.view.focus()}));return s}))}}class cB extends Hn{static get pluginName(){return"Indent"}static get requires(){return[iB,aB]}}class lB extends Wn{constructor(t,e){super(t);this._indentBehavior=e}refresh(){const t=this.editor;const e=t.model;const n=pf(e.document.selection.getSelectedBlocks());if(!n||!e.schema.checkAttribute(n,"blockIndent")){this.isEnabled=false;return}this.isEnabled=this._indentBehavior.checkEnabled(n.getAttribute("blockIndent"))}execute(){const t=this.editor.model;const e=dB(t);t.change((t=>{for(const n of e){const e=n.getAttribute("blockIndent");const o=this._indentBehavior.getNextIndent(e);if(o){t.setAttribute("blockIndent",o,n)}else{t.removeAttribute("blockIndent",n)}}}))}}function dB(t){const e=t.document.selection;const n=t.schema;const o=Array.from(e.getSelectedBlocks());return o.filter((t=>n.checkAttribute(t,"blockIndent")))}class uB{constructor(t){this.isForward=t.direction==="forward";this.offset=t.offset;this.unit=t.unit}checkEnabled(t){const e=parseFloat(t||0);return this.isForward||e>0}getNextIndent(t){const e=parseFloat(t||0);const n=!t||t.endsWith(this.unit);if(!n){return this.isForward?this.offset+this.unit:undefined}const o=this.isForward?this.offset:-this.offset;const i=e+o;return i>0?i+this.unit:undefined}}class hB{constructor(t){this.isForward=t.direction==="forward";this.classes=t.classes}checkEnabled(t){const e=this.classes.indexOf(t);if(this.isForward){return e=0}}getNextIndent(t){const e=this.classes.indexOf(t);const n=this.isForward?1:-1;return this.classes[e+n]}}const fB=["paragraph","heading1","heading2","heading3","heading4","heading5","heading6"];class mB extends Hn{constructor(t){super(t);t.config.define("indentBlock",{offset:40,unit:"px"})}static get pluginName(){return"IndentBlock"}init(){const t=this.editor;const e=t.config.get("indentBlock");const n=!e.classes||!e.classes.length;const o=Object.assign({direction:"forward"},e);const i=Object.assign({direction:"backward"},e);if(n){t.data.addStyleProcessorRules(kv);this._setupConversionUsingOffset(t.conversion);t.commands.add("indentBlock",new lB(t,new uB(o)));t.commands.add("outdentBlock",new lB(t,new uB(i)))}else{this._setupConversionUsingClasses(e.classes);t.commands.add("indentBlock",new lB(t,new hB(o)));t.commands.add("outdentBlock",new lB(t,new hB(i)))}}afterInit(){const t=this.editor;const e=t.model.schema;const n=t.commands.get("indent");const o=t.commands.get("outdent");const i=t.config.get("heading.options");const r=i&&i.map((t=>t.model));const s=r||fB;s.forEach((t=>{if(e.isRegistered(t)){e.extend(t,{allowAttributes:"blockIndent"})}}));e.setAttributeProperties("blockIndent",{isFormatting:true});n.registerChildCommand(t.commands.get("indentBlock"));o.registerChildCommand(t.commands.get("outdentBlock"))}_setupConversionUsingOffset(){const t=this.editor.conversion;const e=this.editor.locale;const n=e.contentLanguageDirection==="rtl"?"margin-right":"margin-left";t.for("upcast").attributeToAttribute({view:{styles:{[n]:/[\s\S]+/}},model:{key:"blockIndent",value:t=>t.getStyle(n)}});t.for("downcast").attributeToAttribute({model:"blockIndent",view:t=>({key:"style",value:{[n]:t}})})}_setupConversionUsingClasses(t){const e={model:{key:"blockIndent",values:[]},view:{}};for(const n of t){e.model.values.push(n);e.view[n]={key:"class",value:[n]}}this.editor.conversion.attributeToAttribute(e)}}const gB="italic";class pB extends Hn{static get pluginName(){return"ItalicEditing"}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:gB});t.model.schema.setAttributeProperties(gB,{isFormatting:true,copyOnEnter:true});t.conversion.attributeToElement({model:gB,view:"i",upcastAlso:["em",{styles:{"font-style":"italic"}}]});t.commands.add(gB,new AD(t,gB));t.keystrokes.set("CTRL+I",gB)}}var bB=' ';const kB="italic";class wB extends Hn{static get pluginName(){return"ItalicUI"}init(){const t=this.editor;const e=t.t;t.ui.componentFactory.add(kB,(n=>{const o=t.commands.get(kB);const i=new pw(n);i.set({label:e("Italic"),icon:bB,keystroke:"CTRL+I",tooltip:true,isToggleable:true});i.bind("isOn","isEnabled").to(o,"value","isEnabled");this.listenTo(i,"execute",(()=>{t.execute(kB);t.editing.view.focus()}));return i}))}}class CB extends Hn{static get requires(){return[pB,wB]}static get pluginName(){return"Italic"}}class AB{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=ja(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)}}}}}))}}}function _B(t,e,n){var o=t.length;n=n===undefined?o:n;return!e&&n>=o?t:Sc(t,e,n)}var vB=_B;var yB="\\ud800-\\udfff",xB="\\u0300-\\u036f",EB="\\ufe20-\\ufe2f",DB="\\u20d0-\\u20ff",TB=xB+EB+DB,SB="\\ufe0e\\ufe0f";var MB="\\u200d";var IB=RegExp("["+MB+yB+TB+SB+"]");function BB(t){return IB.test(t)}var NB=BB;function zB(t){return t.split("")}var PB=zB;var LB="\\ud800-\\udfff",OB="\\u0300-\\u036f",RB="\\ufe20-\\ufe2f",FB="\\u20d0-\\u20ff",jB=OB+RB+FB,VB="\\ufe0e\\ufe0f";var HB="["+LB+"]",UB="["+jB+"]",WB="\\ud83c[\\udffb-\\udfff]",KB="(?:"+UB+"|"+WB+")",GB="[^"+LB+"]",qB="(?:\\ud83c[\\udde6-\\uddff]){2}",YB="[\\ud800-\\udbff][\\udc00-\\udfff]",$B="\\u200d";var QB=KB+"?",JB="["+VB+"]?",ZB="(?:"+$B+"(?:"+[GB,qB,YB].join("|")+")"+JB+QB+")*",XB=JB+QB+ZB,tN="(?:"+[GB+UB+"?",UB,qB,YB,HB].join("|")+")";var eN=RegExp(WB+"(?="+WB+")|"+tN+XB,"g");function nN(t){return t.match(eN)||[]}var oN=nN;function iN(t){return NB(t)?oN(t):PB(t)}var rN=iN;function sN(t){return function(e){e=kc(e);var n=NB(e)?rN(e):undefined;var o=n?n[0]:e.charAt(0);var i=n?vB(n,1).join(""):e.slice(1);return o[t]()+i}}var aN=sN;var cN=aN("toUpperCase");var lN=cN;const dN=/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205f\u3000]/g;const uN=/^(?:(?:https?|ftps?|mailto):|[^a-z]|[a-z+.-]+(?:[^a-z+.:-]|$))/i;const hN=/^[\S]+@((?![-_])(?:[-\w\u00a1-\uffff]{0,63}[^-_]\.))+(?:[a-z\u00a1-\uffff]{2,})$/i;const fN=/^((\w+:(\/{2,})?)|(\W))/i;const mN="Ctrl+K";function gN(t){return t.is("attributeElement")&&!!t.getCustomProperty("link")}function pN(t,{writer:e}){const n=e.createAttributeElement("a",{href:t},{priority:5});e.setCustomProperty("link",true,n);return n}function bN(t){t=String(t);return kN(t)?t:"#"}function kN(t){const e=t.replace(dN,"");return e.match(uN)}function wN(t,e){const n={"Open in a new tab":t("Open in a new tab"),Downloadable:t("Downloadable")};e.forEach((t=>{if(t.label&&n[t.label]){t.label=n[t.label]}return t}));return e}function CN(t){const e=[];if(t){for(const[n,o]of Object.entries(t)){const t=Object.assign({},o,{id:`link${lN(n)}`});e.push(t)}}return e}function AN(t,e){if(!t){return false}return t.is("element","image")&&e.checkAttribute("image","linkHref")}function _N(t){return hN.test(t)}function vN(t,e){const n=_N(t)?"mailto:":e;const o=!!n&&!fN.test(t);return t&&o?n+t:t}class yN extends Wn{constructor(t){super(t);this.manualDecorators=new ka;this.automaticDecorators=new AB}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=pf(e.selection.getSelectedBlocks());if(AN(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=aD(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=ja(o.getAttributes());r.set("linkHref",t);i.forEach((t=>{r.set(t,true)}));const{end:a}=n.insertContent(e.createText(t,r),s);e.setSelection(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=pf(n.selection.getSelectedBlocks());if(AN(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 xN extends Wn{refresh(){const t=this.editor.model;const e=t.document;const n=pf(e.selection.getSelectedBlocks());if(AN(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?[aD(n.getFirstPosition(),"linkHref",n.getAttribute("linkHref"),e)]:e.schema.getValidRanges(n.getRanges(),"linkHref");for(const e of i){t.removeAttribute("linkHref",e);if(o){for(const n of o.manualDecorators){t.removeAttribute(n.id,e)}}}}))}}class EN{constructor({id:t,label:e,attributes:n,defaultValue:o}){this.id=t;this.set("value");this.defaultValue=o;this.label=e;this.attributes=n}}Vn(EN,Mn);var DN=n(57);var TN={injectType:"singletonStyleTag",attributes:{"data-cke":true}};TN.insert="head";TN.singleton=true;var SN=_k()(DN["a"],TN);var MN=DN["a"].locals||{};const IN="ck-link_selected";const BN="automatic";const NN="manual";const zN=/^(https?:)?\/\//;class PN extends Hn{static get pluginName(){return"LinkEditing"}static get requires(){return[VE,OE,Yv]}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:pN});t.conversion.for("editingDowncast").attributeToElement({model:"linkHref",view:(t,e)=>pN(bN(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 yN(t));t.commands.add("unlink",new xN(t));const e=wN(t.t,CN(t.config.get("link.decorators")));this._enableAutomaticDecorators(e.filter((t=>t.mode===BN)));this._enableManualDecorators(e.filter((t=>t.mode===NN)));const n=t.plugins.get(VE);n.registerAttribute("linkHref");lD(t,"linkHref","a",IN);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:BN,callback:t=>zN.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 EN(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=>{LN(t,o.manualDecorators)}))}),{priority:"low"})}_enableClickingAfterLink(){const t=this.editor;const e=t.commands.get("link");t.editing.view.addObserver(M_);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=aD(i,"linkHref",o.getAttribute("linkHref"),t.model);if(i.isTouching(r.start)||i.isTouching(r.end)){t.model.change((t=>{LN(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(!RN(t)){return}if(ON(t.model)){n=e.getAttributes()}}),{priority:"high"});this.listenTo(t.model,"insertContent",((e,[i])=>{o=false;if(!RN(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===td.backspace}),{priority:"high"});this.listenTo(e,"deleteContent",(()=>{r=false;const t=n.getFirstPosition();const o=n.getAttribute("linkHref");if(!o){return}const i=aD(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=>{LN(t,i.manualDecorators)}))}),{priority:"low"})}}function LN(t,e){t.removeSelectionAttribute("linkHref");for(const n of e){t.removeSelectionAttribute(n.id)}}function ON(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=aD(n,"linkHref",i.getAttribute("linkHref"),t);return s.containsRange(t.createRange(n,o),true)}function RN(t){const e=t.plugins.get("Input");return e.isInput(t.model.change((t=>t.batch)))}var FN=n(58);var jN={injectType:"singletonStyleTag",attributes:{"data-cke":true}};jN.insert="head";jN.singleton=true;var VN=_k()(FN["a"],jN);var HN=FN["a"].locals||{};class UN extends Dk{constructor(t,e){super(t);const n=t.t;this.focusTracker=new bf;this.keystrokes=new kf;this.urlInputView=this._createUrlInput();this.saveButtonView=this._createButton(n("Save"),gk.check,"ck-button-save");this.saveButtonView.type="submit";this.cancelButtonView=this._createButton(n("Cancel"),gk.cancel,"ck-button-cancel","cancel");this._manualDecoratorSwitches=this._createManualDecoratorSwitches(e);this.children=this._createFormChildren(e.manualDecorators);this._focusables=new wk;this._focusCycler=new Dw({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}});const o=["ck","ck-link-form","ck-responsive-form"];if(e.manualDecorators.length){o.push("ck-link-form_layout-vertical","ck-vertical-form")}this.setTemplate({tag:"form",attributes:{class:o,tabindex:"-1"},children:this.children});bk(this)}getDecoratorSwitchesState(){return Array.from(this._manualDecoratorSwitches).reduce(((t,e)=>{t[e.name]=e.isOn;return t}),{})}render(){super.render();kk({view:this});const t=[this.urlInputView,...this._manualDecoratorSwitches,this.saveButtonView,this.cancelButtonView];t.forEach((t=>{this._focusables.add(t);this.focusTracker.add(t.element)}));this.keystrokes.listenTo(this.element)}focus(){this._focusCycler.focusFirst()}_createUrlInput(){const t=this.locale.t;const e=new lA(this.locale,dA);e.label=t("Link URL");return e}_createButton(t,e,n,o){const i=new pw(this.locale);i.set({label:t,icon:e,tooltip:true});i.extendTemplate({attributes:{class:n}});if(o){i.delegate("execute").to(this,o)}return i}_createManualDecoratorSwitches(t){const e=this.createCollection();for(const n of t.manualDecorators){const o=new Aw(this.locale);o.set({name:n.id,label:n.label,withText:true});o.bind("isOn").toMany([n,t],"value",((t,e)=>e===undefined&&t===undefined?n.defaultValue:t));o.on("execute",(()=>{n.set("value",!o.isOn)}));e.add(o)}return e}_createFormChildren(t){const e=this.createCollection();e.add(this.urlInputView);if(t.length){const t=new Dk;t.setTemplate({tag:"ul",children:this._manualDecoratorSwitches.map((t=>({tag:"li",children:[t],attributes:{class:["ck","ck-list__item"]}}))),attributes:{class:["ck","ck-reset","ck-list"]}});e.add(t)}e.add(this.saveButtonView);e.add(this.cancelButtonView);return e}}var WN=n(59);var KN={injectType:"singletonStyleTag",attributes:{"data-cke":true}};KN.insert="head";KN.singleton=true;var GN=_k()(WN["a"],KN);var qN=WN["a"].locals||{};var YN=' ';class $N extends Dk{constructor(t){super(t);const e=t.t;this.focusTracker=new bf;this.keystrokes=new kf;this.previewButtonView=this._createPreviewButton();this.unlinkButtonView=this._createButton(e("Unlink"),YN,"unlink");this.editButtonView=this._createButton(e("Edit link"),gk.pencil,"edit");this.set("href");this._focusables=new wk;this._focusCycler=new Dw({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}});this.setTemplate({tag:"div",attributes:{class:["ck","ck-link-actions","ck-responsive-form"],tabindex:"-1"},children:[this.previewButtonView,this.editButtonView,this.unlinkButtonView]})}render(){super.render();const t=[this.previewButtonView,this.editButtonView,this.unlinkButtonView];t.forEach((t=>{this._focusables.add(t);this.focusTracker.add(t.element)}));this.keystrokes.listenTo(this.element)}focus(){this._focusCycler.focusFirst()}_createButton(t,e,n){const o=new pw(this.locale);o.set({label:t,icon:e,tooltip:true});o.delegate("execute").to(this,n);return o}_createPreviewButton(){const t=new pw(this.locale);const e=this.bindTemplate;const n=this.t;t.set({withText:true,tooltip:n("Open link in new tab")});t.extendTemplate({attributes:{class:["ck","ck-link-actions__preview"],href:e.to("href",(t=>t&&bN(t))),target:"_blank",rel:"noopener noreferrer"}});t.bind("label").to(this,"href",(t=>t||n("This link has no URL")));t.bind("isEnabled").to(this,"href",(t=>!!t));t.template.tag="a";t.template.eventListeners={};return t}}var QN=' ';const JN="link-ui";class ZN extends Hn{static get requires(){return[PA]}static get pluginName(){return"LinkUI"}init(){const t=this.editor;t.editing.view.addObserver(S_);this.actionsView=this._createActionsView();this.formView=this._createFormView();this._balloon=t.plugins.get(PA);this._createToolbarLinkButton();this._enableUserBalloonInteractions();t.conversion.for("editingDowncast").markerToHighlight({model:JN,view:{classes:["ck-fake-link-selection"]}});t.conversion.for("editingDowncast").markerToElement({model:JN,view:{name:"span",classes:["ck-fake-link-selection","ck-fake-link-selection_collapsed"]}})}destroy(){super.destroy();this.formView.destroy()}_createActionsView(){const t=this.editor;const e=new $N(t.locale);const n=t.commands.get("link");const o=t.commands.get("unlink");e.bind("href").to(n,"value");e.editButtonView.bind("isEnabled").to(n);e.unlinkButtonView.bind("isEnabled").to(o);this.listenTo(e,"edit",(()=>{this._addFormView()}));this.listenTo(e,"unlink",(()=>{t.execute("unlink");this._hideUI()}));e.keystrokes.set("Esc",((t,e)=>{this._hideUI();e()}));e.keystrokes.set(mN,((t,e)=>{this._addFormView();e()}));return e}_createFormView(){const t=this.editor;const e=t.commands.get("link");const n=t.config.get("link.defaultProtocol");const o=new UN(t.locale,e);o.urlInputView.fieldView.bind("value").to(e,"value");o.urlInputView.bind("isReadOnly").to(e,"isEnabled",(t=>!t));o.saveButtonView.bind("isEnabled").to(e);this.listenTo(o,"submit",(()=>{const{value:e}=o.urlInputView.fieldView.element;const i=vN(e,n);t.execute("link",i,o.getDecoratorSwitchesState());this._closeFormView()}));this.listenTo(o,"cancel",(()=>{this._closeFormView()}));o.keystrokes.set("Esc",((t,e)=>{this._closeFormView();e()}));return o}_createToolbarLinkButton(){const t=this.editor;const e=t.commands.get("link");const n=t.t;t.keystrokes.set(mN,((t,n)=>{n();if(e.isEnabled){this._showUI(true)}}));t.ui.componentFactory.add("link",(t=>{const o=new pw(t);o.isEnabled=true;o.label=n("Link");o.icon=QN;o.keystroke=mN;o.tooltip=true;o.isToggleable=true;o.bind("isEnabled").to(e,"isEnabled");o.bind("isOn").to(e,"value",(t=>!!t));this.listenTo(o,"execute",(()=>this._showUI(true)));return o}))}_enableUserBalloonInteractions(){const t=this.editor.editing.view.document;this.listenTo(t,"click",(()=>{const t=this._getSelectedLinkElement();if(t){this._showUI()}}));this.editor.keystrokes.set("Tab",((t,e)=>{if(this._areActionsVisible&&!this.actionsView.focusTracker.isFocused){this.actionsView.focus();e()}}),{priority:"high"});this.editor.keystrokes.set("Esc",((t,e)=>{if(this._isUIVisible){this._hideUI();e()}}));pk({emitter:this.formView,activator:()=>this._isUIInPanel,contextElements:[this._balloon.view.element],callback:()=>this._hideUI()})}_addActionsView(){if(this._areActionsInPanel){return}this._balloon.add({view:this.actionsView,position:this._getBalloonPositionData()})}_addFormView(){if(this._isFormInPanel){return}const t=this.editor;const e=t.commands.get("link");this.formView.disableCssTransitions();this._balloon.add({view:this.formView,position:this._getBalloonPositionData()});if(this._balloon.visibleView===this.formView){this.formView.urlInputView.fieldView.select()}this.formView.enableCssTransitions();this.formView.urlInputView.fieldView.element.value=e.value||""}_closeFormView(){const t=this.editor.commands.get("link");t.restoreManualDecoratorStates();if(t.value!==undefined){this._removeFormView()}else{this._hideUI()}}_removeFormView(){if(this._isFormInPanel){this.formView.saveButtonView.focus();this._balloon.remove(this.formView);this.editor.editing.view.focus();this._hideFakeVisualSelection()}}_showUI(t=false){if(!this._getSelectedLinkElement()){this._showFakeVisualSelection();this._addActionsView();if(t){this._balloon.showStack("main")}this._addFormView()}else{if(this._areActionsVisible){this._addFormView()}else{this._addActionsView()}if(t){this._balloon.showStack("main")}}this._startUpdatingUI()}_hideUI(){if(!this._isUIInPanel){return}const t=this.editor;this.stopListening(t.ui,"update");this.stopListening(this._balloon,"change:visibleView");t.editing.view.focus();this._removeFormView();this._balloon.remove(this.actionsView);this._hideFakeVisualSelection()}_startUpdatingUI(){const t=this.editor;const e=t.editing.view.document;let n=this._getSelectedLinkElement();let o=r();const i=()=>{const t=this._getSelectedLinkElement();const e=r();if(n&&!t||!n&&e!==o){this._hideUI()}else if(this._isUIVisible){this._balloon.updatePosition(this._getBalloonPositionData())}n=t;o=e};function r(){return e.selection.focus.getAncestors().reverse().find((t=>t.is("element")))}this.listenTo(t.ui,"update",i);this.listenTo(this._balloon,"change:visibleView",i)}get _isFormInPanel(){return this._balloon.hasView(this.formView)}get _areActionsInPanel(){return this._balloon.hasView(this.actionsView)}get _areActionsVisible(){return this._balloon.visibleView===this.actionsView}get _isUIInPanel(){return this._isFormInPanel||this._areActionsInPanel}get _isUIVisible(){const t=this._balloon.visibleView;return t==this.formView||this._areActionsVisible}_getBalloonPositionData(){const t=this.editor.editing.view;const e=this.editor.model;const n=t.document;let o=null;if(e.markers.has(JN)){const e=Array.from(this.editor.editing.mapper.markerNameToElements(JN));const n=t.createRange(t.createPositionBefore(e[0]),t.createPositionAfter(e[e.length-1]));o=t.domConverter.viewRangeToDom(n)}else{const e=this._getSelectedLinkElement();const i=n.selection.getFirstRange();o=e?t.domConverter.mapViewToDom(e):t.domConverter.viewRangeToDom(i)}return{target:o}}_getSelectedLinkElement(){const t=this.editor.editing.view;const e=t.document.selection;if(e.isCollapsed){return XN(e.getFirstPosition())}else{const n=e.getFirstRange().getTrimmed();const o=XN(n.start);const i=XN(n.end);if(!o||o!=i){return null}if(t.createRangeIn(o).getTrimmed().isEqual(n)){return o}else{return null}}}_showFakeVisualSelection(){const t=this.editor.model;t.change((e=>{const n=t.document.selection.getFirstRange();if(t.markers.has(JN)){e.updateMarker(JN,{range:n})}else{if(n.start.isAtEnd){const o=n.start.getLastMatchingPosition((({item:e})=>!t.schema.isContent(e)),{boundaries:n});e.addMarker(JN,{usingOperation:false,affectsData:false,range:e.createRange(o,n.end)})}else{e.addMarker(JN,{usingOperation:false,affectsData:false,range:n})}}}))}_hideFakeVisualSelection(){const t=this.editor.model;if(t.markers.has(JN)){t.change((t=>{t.removeMarker(JN)}))}}}function XN(t){return t.getAncestors().find((t=>gN(t)))}const tz=4;const ez=new RegExp("(^|\\s)"+"("+"("+"(?:(?:(?:https?|ftp):)?\\/\\/)"+"(?:\\S+(?::\\S*)?@)?"+"(?:"+"(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])"+"(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}"+"(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))"+"|"+"("+"((?!www\\.)|(www\\.))"+"(?![-_])(?:[-_a-z0-9\\u00a1-\\uffff]{1,63}\\.)+"+"(?:[a-z\\u00a1-\\uffff]{2,63})"+")"+")"+"(?::\\d{2,5})?"+"(?:[/?#]\\S*)?"+")"+"|"+"("+"(www.|(\\S+@))"+"((?![-_])(?:[-_a-z0-9\\u00a1-\\uffff]{1,63}\\.))+"+"(?:[a-z\\u00a1-\\uffff]{2,63})"+")"+")$","i");const nz=2;class oz extends Hn{static get pluginName(){return"AutoLink"}init(){const t=this.editor;const e=t.model.document.selection;e.on("change:range",(()=>{this.isEnabled=!e.anchor.parent.is("element","codeBlock")}));this._enableTypingHandling()}afterInit(){this._enableEnterHandling();this._enableShiftEnterHandling()}_enableTypingHandling(){const t=this.editor;const e=new jE(t.model,(t=>{if(!iz(t)){return}const e=rz(t.substr(0,t.length-1));if(e){return{url:e}}}));const n=t.plugins.get("Input");e.on("matched:data",((e,o)=>{const{batch:i,range:r,url:s}=o;if(!n.isInput(i)){return}const a=r.end.getShiftedBy(-1);const c=a.getShiftedBy(-s.length);const l=t.model.createRange(c,a);this._applyAutoLink(s,l)}));e.bind("isEnabled").to(this)}_enableEnterHandling(){const t=this.editor;const e=t.model;const n=t.commands.get("enter");if(!n){return}n.on("execute",(()=>{const t=e.document.selection.getFirstPosition();if(!t.parent.previousSibling){return}const n=e.createRangeIn(t.parent.previousSibling);this._checkAndApplyAutoLinkOnRange(n)}))}_enableShiftEnterHandling(){const t=this.editor;const e=t.model;const n=t.commands.get("shiftEnter");if(!n){return}n.on("execute",(()=>{const t=e.document.selection.getFirstPosition();const n=e.createRange(e.createPositionAt(t.parent,0),t.getShiftedBy(-1));this._checkAndApplyAutoLinkOnRange(n)}))}_checkAndApplyAutoLinkOnRange(t){const e=this.editor.model;const{text:n,range:o}=FE(t,e);const i=rz(n);if(i){const t=e.createRange(o.end.getShiftedBy(-i.length),o.end);this._applyAutoLink(i,t)}}_applyAutoLink(t,e){const n=this.editor.model;if(!this.isEnabled||!sz(e,n)){return}n.enqueueChange((n=>{const o=this.editor.config.get("link.defaultProtocol");const i=vN(t,o);n.setAttribute("linkHref",i,e)}))}}function iz(t){return t.length>tz&&t[t.length-1]===" "&&t[t.length-2]!==" "}function rz(t){const e=ez.exec(t);return e?e[nz]:null}function sz(t,e){return e.schema.checkAttributeInSelection(e.createSelection(t),"linkHref")}class az extends Hn{static get requires(){return[PN,ZN,oz]}static get pluginName(){return"Link"}}class cz extends Hn{static get requires(){return["ImageEditing",PN]}static get pluginName(){return"LinkImageEditing"}init(){const t=this.editor;t.model.schema.extend("image",{allowAttributes:["linkHref"]});t.conversion.for("upcast").add(lz());t.conversion.for("editingDowncast").add(dz({attachIconIndicator:true}));t.conversion.for("dataDowncast").add(dz({attachIconIndicator:false}));this._enableAutomaticDecorators();this._enableManualDecorators()}_enableAutomaticDecorators(){const t=this.editor;const e=t.commands.get("link");const n=e.automaticDecorators;if(n.length){t.conversion.for("downcast").add(n.getDispatcherForLinkedImage())}}_enableManualDecorators(){const t=this.editor;const e=t.commands.get("link");const n=e.manualDecorators;for(const o of e.manualDecorators){t.model.schema.extend("image",{allowAttributes:o.id});t.conversion.for("downcast").add(uz(n,o));t.conversion.for("upcast").add(hz(n,o))}}}function lz(){return t=>{t.on("element:a",((t,e,n)=>{const o=e.viewItem;const i=fz(o);if(!i){return}const r={attributes:["href"]};if(!n.consumable.consume(o,r)){return}const s=o.getAttribute("href");if(!s){return}let a=e.modelCursor.parent;if(!a.is("element","image")){const t=n.convertItem(i,e.modelCursor);e.modelRange=t.modelRange;e.modelCursor=t.modelCursor;a=e.modelCursor.nodeBefore}if(a&&a.is("element","image")){n.writer.setAttribute("linkHref",s,a)}}),{priority:"high"})}}function dz(t){return e=>{e.on("attribute:linkHref:image",((e,n,o)=>{const i=o.mapper.toViewElement(n.item);const r=o.writer;const s=Array.from(i.getChildren()).find((t=>t.name==="a"));let a;if(t.attachIconIndicator){a=r.createUIElement("span",{class:"ck ck-link-image_icon"},(function(t){const e=this.toDomElement(t);e.innerHTML=QN;return e}))}if(s){if(n.attributeNewValue){r.setAttribute("href",n.attributeNewValue,s)}else{const t=Array.from(s.getChildren()).find((t=>t.name==="img"));r.move(r.createRangeOn(t),r.createPositionAt(i,0));r.remove(s)}}else{const t=r.createContainerElement("a",{href:n.attributeNewValue});r.insert(r.createPositionAt(i,0),t);r.move(r.createRangeOn(i.getChild(1)),r.createPositionAt(t,0));if(a){r.insert(r.createPositionAt(t,"end"),a)}}}))}}function uz(t,e){return n=>{n.on(`attribute:${e.id}:image`,((n,o,i)=>{const r=t.get(e.id).attributes;const s=i.mapper.toViewElement(o.item);const a=Array.from(s.getChildren()).find((t=>t.name==="a"));if(!a){return}for(const[t,e]of ja(r)){i.writer.setAttribute(t,e,a)}}))}}function hz(t,e){return n=>{n.on("element:a",((n,o,i)=>{const r=o.viewItem;const s=fz(r);if(!s){return}const a={attributes:t.get(e.id).attributes};const c=new Va(a);const l=c.match(r);if(!l){return}if(!i.consumable.consume(r,l.match)){return}const d=o.modelCursor.nodeBefore||o.modelCursor.parent;i.writer.setAttribute(e.id,true,d)}),{priority:"high"})}}function fz(t){return Array.from(t.getChildren()).find((t=>t.name==="img"))}class mz extends Hn{static get requires(){return[PN,ZN,"Image"]}static get pluginName(){return"LinkImageUI"}init(){const t=this.editor;const e=t.editing.view.document;this.listenTo(e,"click",((n,o)=>{const i=gz(e.selection.getSelectedElement(),t.plugins.get("Image"));if(i){o.preventDefault()}}));this._createToolbarLinkImageButton()}_createToolbarLinkImageButton(){const t=this.editor;const e=t.t;t.ui.componentFactory.add("linkImage",(n=>{const o=new pw(n);const i=t.plugins.get("LinkUI");const r=t.commands.get("link");o.set({isEnabled:true,label:e("Link image"),icon:QN,keystroke:mN,tooltip:true,isToggleable:true});o.bind("isEnabled").to(r,"isEnabled");o.bind("isOn").to(r,"value",(t=>!!t));this.listenTo(o,"execute",(()=>{const e=gz(t.editing.view.document.selection.getSelectedElement(),t.plugins.get("Image"));if(e){i._addActionsView()}else{i._showUI(true)}}));return o}))}}function gz(t,e){const n=t&&e.isImageWidget(t);if(!n){return false}return t.getChild(0).is("element","a")}var pz=n(60);var bz={injectType:"singletonStyleTag",attributes:{"data-cke":true}};bz.insert="head";bz.singleton=true;var kz=_k()(pz["a"],bz);var wz=pz["a"].locals||{};class Cz extends Hn{static get requires(){return[cz,mz]}static get pluginName(){return"LinkImage"}}class Az extends Wn{constructor(t,e){super(t);this.type=e}refresh(){this.value=this._getValue();this.isEnabled=this._checkEnabled()}execute(t={}){const e=this.editor.model;const n=e.document;const o=Array.from(n.selection.getSelectedBlocks()).filter((t=>vz(t,e.schema)));const i=t.forceValue!==undefined?!t.forceValue:this.value;e.change((t=>{if(i){let e=o[o.length-1].nextSibling;let n=Number.POSITIVE_INFINITY;let i=[];while(e&&e.name=="listItem"&&e.getAttribute("listIndent")!==0){const t=e.getAttribute("listIndent");if(t=n){if(r>i.getAttribute("listIndent")){r=i.getAttribute("listIndent")}if(i.getAttribute("listIndent")==r){t[e?"unshift":"push"](i)}i=i[e?"previousSibling":"nextSibling"]}}}function vz(t,e){return e.checkChild(t.parent,"listItem")&&!e.isObject(t)}class yz extends Wn{constructor(t,e){super(t);this._indentBy=e=="forward"?1:-1}refresh(){this.isEnabled=this._checkEnabled()}execute(){const t=this.editor.model;const e=t.document;let n=Array.from(e.selection.getSelectedBlocks());t.change((t=>{const e=n[n.length-1];let o=e.nextSibling;while(o&&o.name=="listItem"&&o.getAttribute("listIndent")>e.getAttribute("listIndent")){n.push(o);o=o.nextSibling}if(this._indentBy<0){n=n.reverse()}for(const e of n){const n=e.getAttribute("listIndent")+this._indentBy;if(n<0){t.rename(e,"paragraph")}else{t.setAttribute("listIndent",n,e)}}this.fire("_executeCleanup",n)}))}_checkEnabled(){const t=pf(this.editor.model.document.selection.getSelectedBlocks());if(!t||!t.is("element","listItem")){return false}if(this._indentBy>0){const e=t.getAttribute("listIndent");const n=t.getAttribute("listType");let o=t.previousSibling;while(o&&o.is("element","listItem")&&o.getAttribute("listIndent")>=e){if(o.getAttribute("listIndent")==e){return o.getAttribute("listType")==n}o=o.previousSibling}return false}return true}}function xz(t){const e=t.createContainerElement("li");e.getFillerOffset=zz;return e}function Ez(t,e){const n=e.mapper;const o=e.writer;const i=t.getAttribute("listType")=="numbered"?"ol":"ul";const r=xz(o);const s=o.createContainerElement(i,null);o.insert(o.createPositionAt(s,0),r);n.bindElements(t,r);return r}function Dz(t,e,n,o){const i=e.parent;const r=n.mapper;const s=n.writer;let a=r.toViewPosition(o.createPositionBefore(t));const c=Mz(t.previousSibling,{sameIndent:true,smallerIndent:true,listIndent:t.getAttribute("listIndent")});const l=t.previousSibling;if(c&&c.getAttribute("listIndent")==t.getAttribute("listIndent")){const t=r.toViewElement(c);a=s.breakContainer(s.createPositionAfter(t))}else{if(l&&l.name=="listItem"){a=r.toViewPosition(o.createPositionAt(l,"end"));const t=r.findMappedViewAncestor(a);const e=Bz(t);if(e){a=s.createPositionBefore(e)}else{a=s.createPositionAt(t,"end")}}else{a=r.toViewPosition(o.createPositionBefore(t))}}a=Sz(a);s.insert(a,i);if(l&&l.name=="listItem"){const t=r.toViewElement(l);const n=s.createRange(s.createPositionAt(t,0),a);const o=n.getWalker({ignoreElementEnd:true});for(const t of o){if(t.item.is("element","li")){const n=s.breakContainer(s.createPositionBefore(t.item));const i=t.item.parent;const r=s.createPositionAt(e,"end");Tz(s,r.nodeBefore,r.nodeAfter);s.move(s.createRangeOn(i),r);o.position=n}}}else{const n=i.nextSibling;if(n&&(n.is("element","ul")||n.is("element","ol"))){let o=null;for(const e of n.getChildren()){const n=r.toModelElement(e);if(n&&n.getAttribute("listIndent")>t.getAttribute("listIndent")){o=e}else{break}}if(o){s.breakContainer(s.createPositionAfter(o));s.move(s.createRangeOn(o.parent),s.createPositionAt(e,"end"))}}}Tz(s,i,i.nextSibling);Tz(s,i.previousSibling,i)}function Tz(t,e,n){if(!e||!n||e.name!="ul"&&e.name!="ol"){return null}if(e.name!=n.name||e.getAttribute("class")!==n.getAttribute("class")){return null}return t.mergeContainers(t.createPositionAfter(e))}function Sz(t){return t.getLastMatchingPosition((t=>t.item.is("uiElement")))}function Mz(t,e){const n=!!e.sameIndent;const o=!!e.smallerIndent;const i=e.listIndent;let r=t;while(r&&r.name=="listItem"){const t=r.getAttribute("listIndent");if(n&&i==t||o&&i>t){return r}if(e.direction==="forward"){r=r.nextSibling}else{r=r.previousSibling}}return null}function Iz(t,e,n,o){t.ui.componentFactory.add(e,(i=>{const r=t.commands.get(e);const s=new pw(i);s.set({label:n,icon:o,tooltip:true,isToggleable:true});s.bind("isOn","isEnabled").to(r,"value","isEnabled");s.on("execute",(()=>{t.execute(e);t.editing.view.focus()}));return s}))}function Bz(t){for(const e of t.getChildren()){if(e.name=="ul"||e.name=="ol"){return e}}return null}function Nz(t,e){const n=[];const o=t.parent;const i={ignoreElementEnd:true,startPosition:t,shallow:true,direction:e};const r=o.getAttribute("listIndent");const s=[...new Ff(i)].filter((t=>t.item.is("element"))).map((t=>t.item));for(const t of s){if(!t.is("element","listItem")){break}if(t.getAttribute("listIndent")r){continue}if(t.getAttribute("listType")!==o.getAttribute("listType")){break}if(t.getAttribute("listStyle")!==o.getAttribute("listStyle")){break}if(e==="backward"){n.unshift(t)}else{n.push(t)}}return n}function zz(){const t=!this.isEmpty&&(this.getChild(0).name=="ul"||this.getChild(0).name=="ol");if(this.isEmpty||t){return 0}return pl.call(this)}function Pz(t){return(e,n,o)=>{const i=o.consumable;if(!i.test(n.item,"insert")||!i.test(n.item,"attribute:listType")||!i.test(n.item,"attribute:listIndent")){return}i.consume(n.item,"insert");i.consume(n.item,"attribute:listType");i.consume(n.item,"attribute:listIndent");const r=n.item;const s=Ez(r,o);Dz(r,s,o,t)}}function Lz(t){return(e,n,o)=>{const i=o.mapper.toViewPosition(n.position);const r=i.getLastMatchingPosition((t=>!t.item.is("element","li")));const s=r.nodeAfter;const a=o.writer;a.breakContainer(a.createPositionBefore(s));a.breakContainer(a.createPositionAfter(s));const c=s.parent;const l=c.previousSibling;const d=a.createRangeOn(c);const u=a.remove(d);if(l&&l.nextSibling){Tz(a,l,l.nextSibling)}const h=o.mapper.toModelElement(s);Jz(h.getAttribute("listIndent")+1,n.position,d.start,s,o,t);for(const t of a.createRangeIn(u).getItems()){o.mapper.unbindViewElement(t)}e.stop()}}function Oz(t,e,n){if(!n.consumable.consume(e.item,"attribute:listType")){return}const o=n.mapper.toViewElement(e.item);const i=n.writer;i.breakContainer(i.createPositionBefore(o));i.breakContainer(i.createPositionAfter(o));const r=o.parent;const s=e.attributeNewValue=="numbered"?"ol":"ul";i.rename(s,r)}function Rz(t,e,n){const o=n.mapper.toViewElement(e.item);const i=o.parent;const r=n.writer;Tz(r,i,i.nextSibling);Tz(r,i.previousSibling,i);for(const t of e.item.getChildren()){n.consumable.consume(t,"insert")}}function Fz(t){return(e,n,o)=>{if(!o.consumable.consume(n.item,"attribute:listIndent")){return}const i=o.mapper.toViewElement(n.item);const r=o.writer;r.breakContainer(r.createPositionBefore(i));r.breakContainer(r.createPositionAfter(i));const s=i.parent;const a=s.previousSibling;const c=r.createRangeOn(s);r.remove(c);if(a&&a.nextSibling){Tz(r,a,a.nextSibling)}Jz(n.attributeOldValue+1,n.range.start,c.start,i,o,t);Dz(n.item,i,o,t);for(const t of n.item.getChildren()){o.consumable.consume(t,"insert")}}}function jz(t,e,n){if(e.item.name!="listItem"){let t=n.mapper.toViewPosition(e.range.start);const o=n.writer;const i=[];while(t.parent.name=="ul"||t.parent.name=="ol"){t=o.breakContainer(t);if(t.parent.name!="li"){break}const e=t;const n=o.createPositionAt(t.parent,"end");if(!e.isEqual(n)){const t=o.remove(o.createRange(e,n));i.push(t)}t=o.createPositionAfter(t.parent)}if(i.length>0){for(let e=0;e0){const e=Tz(o,n,n.nextSibling);if(e&&e.parent==n){t.offset--}}}Tz(o,t.nodeBefore,t.nodeAfter)}}}function Vz(t,e,n){const o=n.mapper.toViewPosition(e.position);const i=o.nodeBefore;const r=o.nodeAfter;Tz(n.writer,i,r)}function Hz(t,e,n){if(n.consumable.consume(e.viewItem,{name:true})){const t=n.writer;const o=t.createElement("listItem");const i=Xz(e.viewItem);t.setAttribute("listIndent",i,o);const r=e.viewItem.parent&&e.viewItem.parent.name=="ol"?"numbered":"bulleted";t.setAttribute("listType",r,o);if(!n.safeInsert(o,e.modelCursor)){return}const s=$z(o,e.viewItem.getChildren(),n);e.modelRange=t.createRange(e.modelCursor,s);n.updateConversionResult(o,e)}}function Uz(t,e,n){if(n.consumable.test(e.viewItem,{name:true})){const t=Array.from(e.viewItem.getChildren());for(const e of t){const t=!(e.is("element","li")||Zz(e));if(t){e._remove()}}}}function Wz(t,e,n){if(n.consumable.test(e.viewItem,{name:true})){if(e.viewItem.childCount===0){return}const t=[...e.viewItem.getChildren()];let n=false;let o=true;for(const e of t){if(n&&!Zz(e)){e._remove()}if(e.is("$text")){if(o){e._data=e.data.trimStart()}if(!e.nextSibling||Zz(e.nextSibling)){e._data=e.data.trimEnd()}}else if(Zz(e)){n=true}o=false}}}function Kz(t){return(e,n)=>{if(n.isPhantom){return}const o=n.modelPosition.nodeBefore;if(o&&o.is("element","listItem")){const e=n.mapper.toViewElement(o);const i=e.getAncestors().find(Zz);const r=t.createPositionAt(e,0).getWalker();for(const t of r){if(t.type=="elementStart"&&t.item.is("element","li")){n.viewPosition=t.previousPosition;break}else if(t.type=="elementEnd"&&t.item==i){n.viewPosition=t.nextPosition;break}}}}}function Gz(t){return(e,n)=>{const o=n.viewPosition;const i=o.parent;const r=n.mapper;if(i.name=="ul"||i.name=="ol"){if(!o.isAtEnd){const e=r.toModelElement(o.nodeAfter);n.modelPosition=t.createPositionBefore(e)}else{const e=r.toModelElement(o.nodeBefore);const i=r.getModelLength(o.nodeBefore);n.modelPosition=t.createPositionBefore(e).getShiftedBy(i)}e.stop()}else if(i.name=="li"&&o.nodeBefore&&(o.nodeBefore.name=="ul"||o.nodeBefore.name=="ol")){const s=r.toModelElement(i);let a=1;let c=o.nodeBefore;while(c&&Zz(c)){a+=r.getModelLength(c);c=c.previousSibling}n.modelPosition=t.createPositionBefore(s).getShiftedBy(a);e.stop()}}}function qz(t,e){const n=t.document.differ.getChanges();const o=new Map;let i=false;for(const o of n){if(o.type=="insert"&&o.name=="listItem"){r(o.position)}else if(o.type=="insert"&&o.name!="listItem"){if(o.name!="$text"){const n=o.position.nodeAfter;if(n.hasAttribute("listIndent")){e.removeAttribute("listIndent",n);i=true}if(n.hasAttribute("listType")){e.removeAttribute("listType",n);i=true}if(n.hasAttribute("listStyle")){e.removeAttribute("listStyle",n);i=true}for(const e of Array.from(t.createRangeIn(n)).filter((t=>t.item.is("element","listItem")))){r(e.previousPosition)}}const n=o.position.getShiftedBy(o.length);r(n)}else if(o.type=="remove"&&o.name=="listItem"){r(o.position)}else if(o.type=="attribute"&&o.attributeKey=="listIndent"){r(o.range.start)}else if(o.type=="attribute"&&o.attributeKey=="listType"){r(o.range.start)}}for(const t of o.values()){s(t);a(t)}return i;function r(t){const e=t.nodeBefore;if(!e||!e.is("element","listItem")){const e=t.nodeAfter;if(e&&e.is("element","listItem")){o.set(e,e)}}else{let t=e;if(o.has(t)){return}for(let e=t.previousSibling;e&&e.is("element","listItem");e=t.previousSibling){t=e;if(o.has(t)){return}}o.set(e,t)}}function s(t){let n=0;let o=null;while(t&&t.is("element","listItem")){const r=t.getAttribute("listIndent");if(r>n){let s;if(o===null){o=r-n;s=n}else{if(o>r){o=r}s=r-o}e.setAttribute("listIndent",s,t);i=true}else{o=null;n=t.getAttribute("listIndent")+1}t=t.nextSibling}}function a(t){let n=[];let o=null;while(t&&t.is("element","listItem")){const r=t.getAttribute("listIndent");if(o&&o.getAttribute("listIndent")>r){n=n.slice(0,r+1)}if(r!=0){if(n[r]){const o=n[r];if(t.getAttribute("listType")!=o){e.setAttribute("listType",o,t);i=true}}else{n[r]=t.getAttribute("listType")}}o=t;t=t.nextSibling}}}function Yz(t,[e,n]){let o=e.is("documentFragment")?e.getChild(0):e;let i;if(!n){i=this.document.selection}else{i=this.createSelection(n)}if(o&&o.is("element","listItem")){const t=i.getFirstPosition();let e=null;if(t.parent.is("element","listItem")){e=t.parent}else if(t.nodeBefore&&t.nodeBefore.is("element","listItem")){e=t.nodeBefore}if(e){const t=e.getAttribute("listIndent");if(t>0){while(o&&o.is("element","listItem")){o._setAttribute("listIndent",o.getAttribute("listIndent")+t);o=o.nextSibling}}}}}function $z(t,e,n){const{writer:o,schema:i}=n;let r=o.createPositionAfter(t);for(const s of e){if(s.name=="ul"||s.name=="ol"){r=n.convertItem(s,r).modelCursor}else{const e=n.convertItem(s,o.createPositionAt(t,"end"));const a=e.modelRange.start.nodeAfter;const c=a&&a.is("element")&&!i.checkChild(t,a.name);if(c){if(e.modelCursor.parent.is("element","listItem")){t=e.modelCursor.parent}else{t=Qz(e.modelCursor)}r=o.createPositionAfter(t)}}}return r}function Qz(t){const e=new Ff({startPosition:t});let n;do{n=e.next()}while(!n.value.item.is("element","listItem"));return n.value.item}function Jz(t,e,n,o,i,r){const s=Mz(e.nodeBefore,{sameIndent:true,smallerIndent:true,listIndent:t,foo:"b"});const a=i.mapper;const c=i.writer;const l=s?s.getAttribute("listIndent"):null;let d;if(!s){d=n}else if(l==t){const t=a.toViewElement(s).parent;d=c.createPositionAfter(t)}else{const t=r.createPositionAt(s,"end");d=a.toViewPosition(t)}d=Sz(d);for(const t of[...o.getChildren()]){if(Zz(t)){d=c.move(c.createRangeOn(t),d).end;Tz(c,t,t.nextSibling);Tz(c,t.previousSibling,t)}}}function Zz(t){return t.is("element","ol")||t.is("element","ul")}function Xz(t){let e=0;let n=t.parent;while(n){if(n.is("element","li")){e++}else{const t=n.previousSibling;if(t&&t.is("element","li")){e++}}n=n.parent}return e}class tP extends Hn{static get pluginName(){return"ListEditing"}static get requires(){return[ty,iy]}init(){const t=this.editor;t.model.schema.register("listItem",{inheritAllFrom:"$block",allowAttributes:["listType","listIndent"]});const e=t.data;const n=t.editing;t.model.document.registerPostFixer((e=>qz(t.model,e)));n.mapper.registerViewToModelLength("li",eP);e.mapper.registerViewToModelLength("li",eP);n.mapper.on("modelToViewPosition",Kz(n.view));n.mapper.on("viewToModelPosition",Gz(t.model));e.mapper.on("modelToViewPosition",Kz(n.view));t.conversion.for("editingDowncast").add((e=>{e.on("insert",jz,{priority:"high"});e.on("insert:listItem",Pz(t.model));e.on("attribute:listType:listItem",Oz,{priority:"high"});e.on("attribute:listType:listItem",Rz,{priority:"low"});e.on("attribute:listIndent:listItem",Fz(t.model));e.on("remove:listItem",Lz(t.model));e.on("remove",Vz,{priority:"low"})}));t.conversion.for("dataDowncast").add((e=>{e.on("insert",jz,{priority:"high"});e.on("insert:listItem",Pz(t.model))}));t.conversion.for("upcast").add((t=>{t.on("element:ul",Uz,{priority:"high"});t.on("element:ol",Uz,{priority:"high"});t.on("element:li",Wz,{priority:"high"});t.on("element:li",Hz)}));t.model.on("insertContent",Yz,{priority:"high"});t.commands.add("numberedList",new Az(t,"numbered"));t.commands.add("bulletedList",new Az(t,"bulleted"));t.commands.add("indentList",new yz(t,"forward"));t.commands.add("outdentList",new yz(t,"backward"));const o=n.view.document;this.listenTo(o,"enter",((t,e)=>{const n=this.editor.model.document;const o=n.selection.getLastPosition().parent;if(n.selection.isCollapsed&&o.name=="listItem"&&o.isEmpty){this.editor.execute("outdentList");e.preventDefault();t.stop()}}),{context:"li"});this.listenTo(o,"delete",((t,e)=>{if(e.direction!=="backward"){return}const n=this.editor.model.document.selection;if(!n.isCollapsed){return}const o=n.getFirstPosition();if(!o.isAtStart){return}const i=o.parent;if(i.name!=="listItem"){return}const r=i.previousSibling&&i.previousSibling.name==="listItem";if(r){return}this.editor.execute("outdentList");e.preventDefault();t.stop()}),{context:"li"});const i=t=>(e,n)=>{const o=this.editor.commands.get(t);if(o.isEnabled){this.editor.execute(t);n()}};t.keystrokes.set("Tab",i("indentList"));t.keystrokes.set("Shift+Tab",i("outdentList"))}afterInit(){const t=this.editor.commands;const e=t.get("indent");const n=t.get("outdent");if(e){e.registerChildCommand(t.get("indentList"))}if(n){n.registerChildCommand(t.get("outdentList"))}}}function eP(t){let e=1;for(const n of t.getChildren()){if(n.name=="ul"||n.name=="ol"){for(const t of n.getChildren()){e+=eP(t)}}}return e}var nP=' ';var oP=' ';class iP extends Hn{static get pluginName(){return"ListUI"}init(){const t=this.editor.t;Iz(this.editor,"numberedList",t("Numbered List"),nP);Iz(this.editor,"bulletedList",t("Bulleted List"),oP)}}class rP extends Hn{static get requires(){return[tP,iP]}static get pluginName(){return"List"}}class sP extends Wn{constructor(t,e){super(t);this._defaultType=e}refresh(){this.value=this._getValue();this.isEnabled=this._checkEnabled()}execute(t={}){const e=this.editor.model;const n=e.document;let o=[...n.selection.getSelectedBlocks()].filter((t=>t.is("element","listItem"))).map((t=>{const n=e.change((e=>e.createPositionAt(t,0)));return[...Nz(n,"backward"),...Nz(n,"forward")]})).flat();o=[...new Set(o)];if(!o.length){return}e.change((e=>{for(const n of o){e.setAttribute("listStyle",t.type||this._defaultType,n)}}))}_getValue(){const t=this.editor.model.document.selection.getFirstPosition().parent;if(t&&t.is("element","listItem")){return t.getAttribute("listStyle")}return null}_checkEnabled(){const t=this.editor;const e=t.commands.get("numberedList");const n=t.commands.get("bulletedList");return e.isEnabled||n.isEnabled}}const aP="default";class cP extends Hn{static get requires(){return[tP]}static get pluginName(){return"ListStyleEditing"}init(){const t=this.editor;const e=t.model;e.schema.extend("listItem",{allowAttributes:["listStyle"]});t.commands.add("listStyle",new sP(t,aP));this.listenTo(t.commands.get("indentList"),"_executeCleanup",uP(t));this.listenTo(t.commands.get("outdentList"),"_executeCleanup",hP(t));this.listenTo(t.commands.get("bulletedList"),"_executeCleanup",bP(t));this.listenTo(t.commands.get("numberedList"),"_executeCleanup",bP(t));e.document.registerPostFixer(fP(t));t.conversion.for("upcast").add(lP());t.conversion.for("downcast").add(dP());this._mergeListStyleAttributeWhileMergingLists()}afterInit(){const t=this.editor;if(t.commands.get("todoList")){t.model.document.registerPostFixer(pP(t))}}_mergeListStyleAttributeWhileMergingLists(){const t=this.editor;const e=t.model;let n;this.listenTo(e,"deleteContent",((t,[e])=>{const o=e.getFirstPosition();const i=e.getLastPosition();if(o.parent===i.parent){return}if(!o.parent.is("element","listItem")){return}const r=i.parent.nextSibling;if(!r||!r.is("element","listItem")){return}const s=Mz(o.parent,{sameIndent:true,listIndent:r.getAttribute("listIndent")});if(!s){return}if(s.getAttribute("listType")===r.getAttribute("listType")){n=s}}),{priority:"high"});this.listenTo(e,"deleteContent",(()=>{if(!n){return}e.change((t=>{const e=Mz(n.nextSibling,{sameIndent:true,listIndent:n.getAttribute("listIndent"),direction:"forward"});const o=[e,...Nz(t.createPositionAt(e,0),"forward")];for(const e of o){t.setAttribute("listStyle",n.getAttribute("listStyle"),e)}}));n=null}),{priority:"low"})}}function lP(){return t=>{t.on("element:li",((t,e,n)=>{const o=e.viewItem.parent;const i=o.getStyle("list-style-type")||aP;const r=e.modelRange.start.nodeAfter||e.modelRange.end.nodeBefore;n.writer.setAttribute("listStyle",i,r)}),{priority:"low"})}}function dP(){return n=>{n.on("attribute:listStyle:listItem",((n,o,i)=>{const r=i.writer;const s=o.item;const a=Mz(s.previousSibling,{sameIndent:true,listIndent:s.getAttribute("listIndent"),direction:"backward"});const c=i.mapper.toViewElement(s);if(!t(s,a)){r.breakContainer(r.createPositionBefore(c))}e(r,o.attributeNewValue,c.parent)}),{priority:"low"})};function t(t,e){return e&&t.getAttribute("listType")===e.getAttribute("listType")&&t.getAttribute("listIndent")===e.getAttribute("listIndent")&&t.getAttribute("listStyle")===e.getAttribute("listStyle")}function e(t,e,n){if(e&&e!==aP){t.setStyle("list-style-type",e,n)}else{t.removeStyle("list-style-type",n)}}}function uP(t){return(e,n)=>{let o;const i=n[0];const r=i.getAttribute("listIndent");const s=n.filter((t=>t.getAttribute("listIndent")===r));if(i.previousSibling.getAttribute("listIndent")+1===r){o=aP}else{const t=Mz(i.previousSibling,{sameIndent:true,direction:"backward",listIndent:r});o=t.getAttribute("listStyle")}t.model.change((t=>{for(const e of s){t.setAttribute("listStyle",o,e)}}))}}function hP(t){return(e,n)=>{n=n.reverse().filter((t=>t.is("element","listItem")));if(!n.length){return}const o=n[0].getAttribute("listIndent");const i=n[0].getAttribute("listType");let r=n[0].previousSibling;if(r.is("element","listItem")){while(r.getAttribute("listIndent")!==o){r=r.previousSibling}}else{r=null}if(!r){r=n[n.length-1].nextSibling}if(!r||!r.is("element","listItem")){return}if(r.getAttribute("listType")!==i){return}t.model.change((t=>{const e=n.filter((t=>t.getAttribute("listIndent")===o));for(const n of e){t.setAttribute("listStyle",r.getAttribute("listStyle"),n)}}))}}function fP(t){return e=>{let n=false;const o=kP(t.model.document.differ.getChanges()).filter((t=>t.getAttribute("listType")!=="todo"));if(!o.length){return n}let i=o[o.length-1].nextSibling;if(!i||!i.is("element","listItem")){i=o[o.length-1].previousSibling;if(i){const t=o[0].getAttribute("listIndent");while(i.is("element","listItem")&&i.getAttribute("listIndent")!==t){i=i.previousSibling;if(!i){break}}}}for(const t of o){if(!t.hasAttribute("listStyle")){if(mP(i,t)){e.setAttribute("listStyle",i.getAttribute("listStyle"),t)}else{e.setAttribute("listStyle",aP,t)}n=true}else{const o=t.previousSibling;if(gP(o,t)){e.setAttribute("listStyle",o.getAttribute("listStyle"),t);n=true}}}return n}}function mP(t,e){if(!t){return false}const n=t.getAttribute("listStyle");if(!n){return false}if(n===aP){return false}if(t.getAttribute("listType")!==e.getAttribute("listType")){return false}return true}function gP(t,e){if(!t||!t.is("element","listItem")){return false}if(e.getAttribute("listType")!==t.getAttribute("listType")){return false}const n=t.getAttribute("listIndent");if(n<1||n!==e.getAttribute("listIndent")){return false}const o=t.getAttribute("listStyle");if(!o||o===e.getAttribute("listStyle")){return false}return true}function pP(t){return e=>{const n=kP(t.model.document.differ.getChanges()).filter((t=>t.getAttribute("listType")==="todo"&&t.hasAttribute("listStyle")));if(!n.length){return false}for(const t of n){e.removeAttribute("listStyle",t)}return true}}function bP(t){return(e,n)=>{n=n.filter((t=>t.is("element","listItem")));t.model.change((t=>{for(const e of n){t.removeAttribute("listStyle",e)}}))}}function kP(t){const e=[];for(const n of t){const t=wP(n);if(t&&t.is("element","listItem")){e.push(t)}}return e}function wP(t){if(t.type==="attribute"){return t.range.start.nodeAfter}if(t.type==="insert"){return t.position.nodeAfter}return null}var CP=' ';var AP=' ';var _P=' ';var vP=' ';var yP=' ';var xP=' ';var EP=' ';var DP=' ';var TP=' ';var SP=n(61);var MP={injectType:"singletonStyleTag",attributes:{"data-cke":true}};MP.insert="head";MP.singleton=true;var IP=_k()(SP["a"],MP);var BP=SP["a"].locals||{};class NP extends Hn{static get pluginName(){return"ListStyleUI"}init(){const t=this.editor;const e=t.locale.t;t.ui.componentFactory.add("bulletedList",zP({editor:t,parentCommandName:"bulletedList",buttonLabel:e("Bulleted List"),buttonIcon:oP,toolbarAriaLabel:e("Bulleted list styles toolbar"),styleDefinitions:[{label:e("Toggle the disc list style"),tooltip:e("Disc"),type:"disc",icon:CP},{label:e("Toggle the circle list style"),tooltip:e("Circle"),type:"circle",icon:AP},{label:e("Toggle the square list style"),tooltip:e("Square"),type:"square",icon:_P}]}));t.ui.componentFactory.add("numberedList",zP({editor:t,parentCommandName:"numberedList",buttonLabel:e("Numbered List"),buttonIcon:nP,toolbarAriaLabel:e("Numbered list styles toolbar"),styleDefinitions:[{label:e("Toggle the decimal list style"),tooltip:e("Decimal"),type:"decimal",icon:vP},{label:e("Toggle the decimal with leading zero list style"),tooltip:e("Decimal with leading zero"),type:"decimal-leading-zero",icon:yP},{label:e("Toggle the lower–roman list style"),tooltip:e("Lower–roman"),type:"lower-roman",icon:xP},{label:e("Toggle the upper–roman list style"),tooltip:e("Upper-roman"),type:"upper-roman",icon:EP},{label:e("Toggle the lower–latin list style"),tooltip:e("Lower-latin"),type:"lower-latin",icon:DP},{label:e("Toggle the upper–latin list style"),tooltip:e("Upper-latin"),type:"upper-latin",icon:TP}]}))}}function zP({editor:t,parentCommandName:e,buttonLabel:n,buttonIcon:o,toolbarAriaLabel:i,styleDefinitions:r}){const s=t.commands.get(e);const a=t.commands.get("listStyle");return c=>{const l=TC(c,jw);const d=l.buttonView;const u=PP({editor:t,parentCommandName:e,listStyleCommand:a});SC(l,r.map(u));l.bind("isEnabled").to(s);l.toolbarView.ariaLabel=i;l.class="ck-list-styles-dropdown";d.on("execute",(()=>{t.execute(e);t.editing.view.focus()}));d.set({label:n,icon:o,tooltip:true,isToggleable:true});d.bind("isOn").to(s,"value",(t=>!!t));return l}}function PP({editor:t,listStyleCommand:e,parentCommandName:n}){const o=t.locale;const i=t.commands.get(n);return({label:r,type:s,icon:a,tooltip:c})=>{const l=new pw(o);l.set({label:r,icon:a,tooltip:c});e.on("change:value",(()=>{l.isOn=e.value===s}));l.on("execute",(()=>{if(i.value){if(e.value!==s){t.execute("listStyle",{type:s})}else{t.execute("listStyle",{type:e._defaultType})}}else{t.model.change((()=>{t.execute(n);t.execute("listStyle",{type:s})}))}t.editing.view.focus()}));return l}}class LP extends Hn{static get requires(){return[cP,NP]}static get pluginName(){return"ListStyle"}}function OP(t,e){return t=>{t.on("attribute:url:media",n)};function n(n,o,i){if(!i.consumable.consume(o.item,n.name)){return}const r=o.attributeNewValue;const s=i.writer;const a=i.mapper.toViewElement(o.item);const c=[...a.getChildren()].find((t=>t.getCustomProperty("media-content")));s.remove(c);const l=t.getMediaViewElement(s,r,e);s.insert(s.createPositionAt(a,0),l)}}function RP(t,e,n){e.setCustomProperty("media",true,t);return fy(t,e,{label:n})}function FP(t){const e=t.getSelectedElement();if(e&&jP(e)){return e}return null}function jP(t){return!!t.getCustomProperty("media")&&hy(t)}function VP(t,e,n,o){const i=t.createContainerElement("figure",{class:"media"});t.insert(t.createPositionAt(i,0),e.getMediaViewElement(t,n,o));return i}function HP(t){const e=t.getSelectedElement();if(e&&e.is("element","media")){return e}return null}function UP(t,e,n){t.change((o=>{const i=o.createElement("media",{url:e});t.insertContent(i,n);o.setSelection(i,"on")}))}class WP extends Wn{refresh(){const t=this.editor.model;const e=t.document.selection;const n=t.schema;const o=HP(e);this.value=o?o.getAttribute("url"):null;this.isEnabled=GP(e)||KP(e,t)&&!Ay(e,n)}execute(t){const e=this.editor.model;const n=e.document.selection;const o=HP(n);if(o){e.change((e=>{e.setAttribute("url",t,o)}))}else{const o=Cy(n,e);UP(e,t,o)}}}function KP(t,e){const n=Cy(t,e);let o=n.parent;if(o.isEmpty&&!e.schema.isLimit(o)){o=o.parent}return e.schema.checkChild(o,"media")}function GP(t){const e=t.getSelectedElement();return!!e&&e.name==="media"}var qP=' ';const YP="0 0 64 42";class $P{constructor(t,e){const n=e.providers;const o=e.extraProviders||[];const i=new Set(e.removeProviders);const r=n.concat(o).filter((t=>{const e=t.name;if(!e){Object(u["b"])("media-embed-no-provider-name",{provider:t});return false}return!i.has(e)}));this.locale=t;this.providerDefinitions=r}hasMedia(t){return!!this._getMedia(t)}getMediaViewElement(t,e,n){return this._getMedia(e).getViewElement(t,n)}_getMedia(t){if(!t){return new QP(this.locale)}t=t.trim();for(const e of this.providerDefinitions){const n=e.html;const o=Ca(e.url);for(const e of o){const o=this._getUrlMatches(t,e);if(o){return new QP(this.locale,t,o,n)}}}return null}_getUrlMatches(t,e){let n=t.match(e);if(n){return n}let o=t.replace(/^https?:\/\//,"");n=o.match(e);if(n){return n}o=o.replace(/^www\./,"");n=o.match(e);if(n){return n}return null}}class QP{constructor(t,e,n,o){this.url=this._getValidUrl(e);this._t=t.t;this._match=n;this._previewRenderer=o}getViewElement(t,e){const n={};let o;if(e.renderForEditingView||e.renderMediaPreview&&this.url&&this._previewRenderer){if(this.url){n["data-oembed-url"]=this.url}if(e.renderForEditingView){n.class="ck-media__wrapper"}const i=this._getPreviewHtml(e);o=t.createRawElement("div",n,(function(t){t.innerHTML=i}))}else{if(this.url){n.url=this.url}o=t.createEmptyElement(e.elementName,n)}t.setCustomProperty("media-content",true,o);return o}_getPreviewHtml(t){if(this._previewRenderer){return this._previewRenderer(this._match)}else{if(this.url&&t.renderForEditingView){return this._getPlaceholderHtml()}return""}}_getPlaceholderHtml(){const t=new uw;const e=new sw;t.text=this._t("Open media in new tab");e.content=qP;e.viewBox=YP;const n=new Sk({tag:"div",attributes:{class:"ck ck-reset_all ck-media__placeholder"},children:[{tag:"div",attributes:{class:"ck-media__placeholder__icon"},children:[e]},{tag:"a",attributes:{class:"ck-media__placeholder__url",target:"_blank",rel:"noopener noreferrer",href:this.url},children:[{tag:"span",attributes:{class:"ck-media__placeholder__url__text"},children:[this.url]},t]}]}).render();return n.outerHTML}_getValidUrl(t){if(!t){return null}if(t.match(/^https?/)){return t}return"https://"+t}}var JP=n(62);var ZP={injectType:"singletonStyleTag",attributes:{"data-cke":true}};ZP.insert="head";ZP.singleton=true;var XP=_k()(JP["a"],ZP);var tL=JP["a"].locals||{};class eL extends Hn{static get pluginName(){return"MediaEmbedEditing"}constructor(t){super(t);t.config.define("mediaEmbed",{elementName:"oembed",providers:[{name:"dailymotion",url:/^dailymotion\.com\/video\/(\w+)/,html:t=>{const e=t[1];return''+`"+"
"}},{name:"spotify",url:[/^open\.spotify\.com\/(artist\/\w+)/,/^open\.spotify\.com\/(album\/\w+)/,/^open\.spotify\.com\/(track\/\w+)/],html:t=>{const e=t[1];return''+`"+"
"}},{name:"youtube",url:[/^(?:m\.)?youtube\.com\/watch\?v=([\w-]+)/,/^(?:m\.)?youtube\.com\/v\/([\w-]+)/,/^youtube\.com\/embed\/([\w-]+)/,/^youtu\.be\/([\w-]+)/],html:t=>{const e=t[1];return''+`VIDEO "+"
"}},{name:"vimeo",url:[/^vimeo\.com\/(\d+)/,/^vimeo\.com\/[^/]+\/[^/]+\/video\/(\d+)/,/^vimeo\.com\/album\/[^/]+\/video\/(\d+)/,/^vimeo\.com\/channels\/[^/]+\/(\d+)/,/^vimeo\.com\/groups\/[^/]+\/videos\/(\d+)/,/^vimeo\.com\/ondemand\/[^/]+\/(\d+)/,/^player\.vimeo\.com\/video\/(\d+)/],html:t=>{const e=t[1];return''+`"+"
"}},{name:"instagram",url:/^instagram\.com\/p\/(\w+)/},{name:"twitter",url:/^twitter\.com/},{name:"googleMaps",url:/^google\.com\/maps/},{name:"flickr",url:/^flickr\.com/},{name:"facebook",url:/^facebook\.com/}]});this.registry=new $P(t.locale,t.config.get("mediaEmbed"))}init(){const t=this.editor;const e=t.model.schema;const n=t.t;const o=t.conversion;const i=t.config.get("mediaEmbed.previewsInData");const r=t.config.get("mediaEmbed.elementName");const s=this.registry;t.commands.add("mediaEmbed",new WP(t));e.register("media",{isObject:true,isBlock:true,allowWhere:"$block",allowAttributes:["url"]});o.for("dataDowncast").elementToElement({model:"media",view:(t,{writer:e})=>{const n=t.getAttribute("url");return VP(e,s,n,{elementName:r,renderMediaPreview:n&&i})}});o.for("dataDowncast").add(OP(s,{elementName:r,renderMediaPreview:i}));o.for("editingDowncast").elementToElement({model:"media",view:(t,{writer:e})=>{const o=t.getAttribute("url");const i=VP(e,s,o,{elementName:r,renderForEditingView:true});return RP(i,e,n("media widget"))}});o.for("editingDowncast").add(OP(s,{elementName:r,renderForEditingView:true}));o.for("upcast").elementToElement({view:t=>["oembed",r].includes(t.name)&&t.getAttribute("url")?{name:true}:null,model:(t,{writer:e})=>{const n=t.getAttribute("url");if(s.hasMedia(n)){return e.createElement("media",{url:n})}}}).elementToElement({view:{name:"div",attributes:{"data-oembed-url":true}},model:(t,{writer:e})=>{const n=t.getAttribute("data-oembed-url");if(s.hasMedia(n)){return e.createElement("media",{url:n})}}})}}const nL=/^(?:http(s)?:\/\/)?[\w-]+\.[\w-.~:/?#[\]@!$&'()*+,;=%]+$/;class oL extends Hn{static get requires(){return[Ex,Lx]}static get pluginName(){return"AutoMediaEmbed"}constructor(t){super(t);this._timeoutId=null;this._positionToInsert=null}init(){const t=this.editor;const e=t.model.document;this.listenTo(t.plugins.get("ClipboardPipeline"),"inputTransformation",(()=>{const t=e.selection.getFirstRange();const n=Gp.fromPosition(t.start);n.stickiness="toPrevious";const o=Gp.fromPosition(t.end);o.stickiness="toNext";e.once("change:data",(()=>{this._embedMediaBetweenPositions(n,o);n.detach();o.detach()}),{priority:"high"})}));t.commands.get("undo").on("execute",(()=>{if(this._timeoutId){su.window.clearTimeout(this._timeoutId);this._positionToInsert.detach();this._timeoutId=null;this._positionToInsert=null}}),{priority:"high"})}_embedMediaBetweenPositions(t,e){const n=this.editor;const o=n.plugins.get(eL).registry;const i=new sm(t,e);const r=i.getWalker({ignoreElementEnd:true});let s="";for(const t of r){if(t.item.is("$textProxy")){s+=t.item.data}}s=s.trim();if(!s.match(nL)){i.detach();return}if(!o.hasMedia(s)){i.detach();return}const a=n.commands.get("mediaEmbed");if(!a.isEnabled){i.detach();return}this._positionToInsert=Gp.fromPosition(t);this._timeoutId=su.window.setTimeout((()=>{n.model.change((t=>{this._timeoutId=null;t.remove(i);i.detach();let e;if(this._positionToInsert.root.rootName!=="$graveyard"){e=this._positionToInsert}UP(n.model,s,e);this._positionToInsert.detach();this._positionToInsert=null}))}),100)}}var iL=n(63);var rL={injectType:"singletonStyleTag",attributes:{"data-cke":true}};rL.insert="head";rL.singleton=true;var sL=_k()(iL["a"],rL);var aL=iL["a"].locals||{};class cL extends Dk{constructor(t,e){super(e);const n=e.t;this.focusTracker=new bf;this.keystrokes=new kf;this.set("mediaURLInputValue","");this.urlInputView=this._createUrlInput();this.saveButtonView=this._createButton(n("Save"),gk.check,"ck-button-save");this.saveButtonView.type="submit";this.saveButtonView.bind("isEnabled").to(this,"mediaURLInputValue",(t=>!!t));this.cancelButtonView=this._createButton(n("Cancel"),gk.cancel,"ck-button-cancel","cancel");this._focusables=new wk;this._focusCycler=new Dw({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}});this._validators=t;this.setTemplate({tag:"form",attributes:{class:["ck","ck-media-form","ck-responsive-form"],tabindex:"-1"},children:[this.urlInputView,this.saveButtonView,this.cancelButtonView]});bk(this)}render(){super.render();kk({view:this});const t=[this.urlInputView,this.saveButtonView,this.cancelButtonView];t.forEach((t=>{this._focusables.add(t);this.focusTracker.add(t.element)}));this.keystrokes.listenTo(this.element);const e=t=>t.stopPropagation();this.keystrokes.set("arrowright",e);this.keystrokes.set("arrowleft",e);this.keystrokes.set("arrowup",e);this.keystrokes.set("arrowdown",e);this.listenTo(this.urlInputView.element,"selectstart",((t,e)=>{e.stopPropagation()}),{priority:"high"})}focus(){this._focusCycler.focusFirst()}get url(){return this.urlInputView.fieldView.element.value.trim()}set url(t){this.urlInputView.fieldView.element.value=t.trim()}isValid(){this.resetFormStatus();for(const t of this._validators){const e=t(this);if(e){this.urlInputView.errorText=e;return false}}return true}resetFormStatus(){this.urlInputView.errorText=null;this.urlInputView.infoText=this._urlInputViewInfoDefault}_createUrlInput(){const t=this.locale.t;const e=new lA(this.locale,dA);const n=e.fieldView;this._urlInputViewInfoDefault=t("Paste the media URL in the input.");this._urlInputViewInfoTip=t("Tip: Paste the URL into the content to embed faster.");e.label=t("Media URL");e.infoText=this._urlInputViewInfoDefault;n.on("input",(()=>{e.infoText=n.element.value?this._urlInputViewInfoTip:this._urlInputViewInfoDefault;this.mediaURLInputValue=n.element.value.trim()}));return e}_createButton(t,e,n,o){const i=new pw(this.locale);i.set({label:t,icon:e,tooltip:true});i.extendTemplate({attributes:{class:n}});if(o){i.delegate("execute").to(this,o)}return i}}var lL=' ';class dL extends Hn{static get requires(){return[eL]}static get pluginName(){return"MediaEmbedUI"}init(){const t=this.editor;const e=t.commands.get("mediaEmbed");const n=t.plugins.get(eL).registry;t.ui.componentFactory.add("mediaEmbed",(o=>{const i=TC(o);const r=new cL(uL(t.t,n),t.locale);this._setUpDropdown(i,r,e,t);this._setUpForm(i,r,e);return i}))}_setUpDropdown(t,e,n){const o=this.editor;const i=o.t;const r=t.buttonView;t.bind("isEnabled").to(n);t.panelView.children.add(e);r.set({label:i("Insert media"),icon:lL,tooltip:true});r.on("open",(()=>{e.disableCssTransitions();e.url=n.value||"";e.urlInputView.fieldView.select();e.focus();e.enableCssTransitions()}),{priority:"low"});t.on("submit",(()=>{if(e.isValid()){o.execute("mediaEmbed",e.url);s()}}));t.on("change:isOpen",(()=>e.resetFormStatus()));t.on("cancel",(()=>s()));function s(){o.editing.view.focus();t.isOpen=false}}_setUpForm(t,e,n){e.delegate("submit","cancel").to(t);e.urlInputView.bind("value").to(n,"value");e.urlInputView.bind("isReadOnly").to(n,"isEnabled",(t=>!t))}}function uL(t,e){return[e=>{if(!e.url.length){return t("The URL must not be empty.")}},n=>{if(!e.hasMedia(n.url)){return t("This media URL is not supported.")}}]}var hL=n(64);var fL={injectType:"singletonStyleTag",attributes:{"data-cke":true}};fL.insert="head";fL.singleton=true;var mL=_k()(hL["a"],fL);var gL=hL["a"].locals||{};class pL extends Hn{static get requires(){return[eL,dL,oL,ix]}static get pluginName(){return"MediaEmbed"}}class bL extends Hn{static get requires(){return[Ox]}static get pluginName(){return"MediaEmbedToolbar"}afterInit(){const t=this.editor;const e=t.t;const n=t.plugins.get(Ox);n.register("mediaEmbed",{ariaLabel:e("Media toolbar"),items:t.config.get("mediaEmbed.toolbar")||[],getRelatedElement:FP})}}function kL(t,e){for(const n of t.getChildren()){if(n.is("element","b")&&n.getStyle("font-weight")==="normal"){const o=t.getChildIndex(n);e.remove(n);e.insertChild(o,n.getChildren(),t)}}}function wL(t,e){if(!t.childCount){return}const n=new I_(t.document);const o=AL(t,n);if(!o.length){return}let i=null;let r=1;o.forEach(((t,s)=>{const a=ML(o[s-1],t);const c=a?null:o[s-1];const l=BL(c,t);if(a){i=null;r=1}if(!i||l!==0){const o=_L(t,e);if(!i){i=EL(o,t.element,n)}else if(t.indent>r){const t=i.getChild(i.childCount-1);const e=t.getChild(t.childCount-1);i=EL(o,e,n);r+=1}else if(t.indent[^\S\r\n]*?)[\r\n]+([^\S\r\n]*<\/span>)/g,"$1$2").replace(/<\/span>/g,"").replace(/ <\//g," ").replace(/ <\/o:p>/g," ").replace(/( |\u00A0)<\/o:p>/g,"").replace(/>([^\S\r\n]*[\r\n]\s*)<")}function OL(t){t.querySelectorAll("span[style*=spacerun]").forEach((t=>{const e=t.innerText.length||0;t.innerHTML=Array(e+1).join(" ").substr(0,e)}))}function RL(t){return t.replace(/(\s+)<\/span>/g,((t,e)=>e.length===1?" ":Array(e.length+1).join(" ").substr(0,e.length)))}function FL(t,e){const n=new DOMParser;t=t.replace(//, /\?>/, />/, /\]\]>/],
+ p = /^[#`~*+_=<>0-9-]/,
+ g = /\r\n|\n|\r/;
+
+ function m() {
+ return o.createNode("document", [
+ [1, 1],
+ [0, 0]
+ ])
+ }
+ var v = {
+ smart: !1,
+ tagFilter: !1,
+ extendedAutolinks: !1,
+ disallowedHtmlBlockTags: [],
+ referenceDefinition: !1,
+ disallowDeepHeading: !1,
+ customParser: null,
+ frontMatter: !1
+ },
+ y = function () {
+ function e(e) {
+ this.options = r.__assign(r.__assign({}, v), e), this.doc = m(), this.tip = this.doc, this.oldtip = this.doc, this.lineNumber = 0, this.offset = 0, this.column = 0, this.nextNonspace = 0, this.nextNonspaceColumn = 0, this.indent = 0, this.currentLine = "", this.indented = !1, this.blank = !1, this.partiallyConsumedTab = !1, this.allClosed = !0, this.lastMatchedContainer = this.doc, this.refMap = {}, this.refLinkCandidateMap = {}, this.refDefCandidateMap = {}, this.lastLineLength = 0, this.options.frontMatter && (this.options.customParser = r.__assign(r.__assign({}, h.frontMatterParser), this.options.customParser)), this.inlineParser = new a.InlineParser(this.options)
+ }
+ return e.prototype.advanceOffset = function (e, t) {
+ void 0 === t && (t = !1);
+ for (var n, r, i, o = this.currentLine; e > 0 && (i = o[this.offset]);) "\t" === i ? (n = 4 - this.column % 4, t ? (this.partiallyConsumedTab = n > e, r = n > e ? e : n, this.column += r, this.offset += this.partiallyConsumedTab ? 0 : 1, e -= r) : (this.partiallyConsumedTab = !1, this.column += n, this.offset += 1, e -= 1)) : (this.partiallyConsumedTab = !1, this.offset += 1, this.column += 1, e -= 1)
+ }, e.prototype.advanceNextNonspace = function () {
+ this.offset = this.nextNonspace, this.column = this.nextNonspaceColumn, this.partiallyConsumedTab = !1
+ }, e.prototype.findNextNonspace = function () {
+ for (var e, t = this.currentLine, n = this.offset, r = this.column;
+ "" !== (e = t.charAt(n));)
+ if (" " === e) n++, r++;
+ else {
+ if ("\t" !== e) break;
+ n++, r += 4 - r % 4
+ } this.blank = "\n" === e || "\r" === e || "" === e, this.nextNonspace = n, this.nextNonspaceColumn = r, this.indent = this.nextNonspaceColumn - this.column, this.indented = this.indent >= l.CODE_INDENT
+ }, e.prototype.addLine = function () {
+ if (this.partiallyConsumedTab) {
+ this.offset += 1;
+ var e = 4 - this.column % 4;
+ this.tip.stringContent += i.repeat(" ", e)
+ }
+ this.tip.lineOffsets ? this.tip.lineOffsets.push(this.offset) : this.tip.lineOffsets = [this.offset], this.tip.stringContent += this.currentLine.slice(this.offset) + "\n"
+ }, e.prototype.addChild = function (e, t) {
+ for (; !s.blockHandlers[this.tip.type].canContain(e);) this.finalize(this.tip, this.lineNumber - 1);
+ var n = t + 1,
+ r = o.createNode(e, [
+ [this.lineNumber, n],
+ [0, 0]
+ ]);
+ return r.stringContent = "", this.tip.appendChild(r), this.tip = r, r
+ }, e.prototype.closeUnmatchedBlocks = function () {
+ if (!this.allClosed) {
+ for (; this.oldtip !== this.lastMatchedContainer;) {
+ var e = this.oldtip.parent;
+ this.finalize(this.oldtip, this.lineNumber - 1), this.oldtip = e
+ }
+ this.allClosed = !0
+ }
+ }, e.prototype.finalize = function (e, t) {
+ var n = e.parent;
+ e.open = !1, e.sourcepos[1] = [t, this.lastLineLength], s.blockHandlers[e.type].finalize(this, e), this.tip = n
+ }, e.prototype.processInlines = function (e) {
+ var t, n = this.options.customParser,
+ r = e.walker();
+ for (this.inlineParser.refMap = this.refMap, this.inlineParser.refLinkCandidateMap = this.refLinkCandidateMap, this.inlineParser.refDefCandidateMap = this.refDefCandidateMap, this.inlineParser.options = this.options; t = r.next();) {
+ var i = t.node,
+ o = t.entering,
+ a = i.type;
+ n && n[a] && n[a](i, {
+ entering: o,
+ options: this.options
+ }), o || "paragraph" !== a && "heading" !== a && ("tableCell" !== a || i.ignored) || this.inlineParser.parse(i)
+ }
+ }, e.prototype.incorporateLine = function (e) {
+ var t = this.doc;
+ this.oldtip = this.tip, this.offset = 0, this.column = 0, this.blank = !1, this.partiallyConsumedTab = !1, this.lineNumber += 1, -1 !== e.indexOf("\0") && (e = e.replace(/\0/g, "�")), this.currentLine = e;
+ for (var n, r = !0;
+ (n = t.lastChild) && n.open;) {
+ switch (t = n, this.findNextNonspace(), s.blockHandlers[t.type].continue(this, t)) {
+ case 0:
+ break;
+ case 1:
+ r = !1;
+ break;
+ case 2:
+ return void(this.lastLineLength = e.length);
+ default:
+ throw new Error("continue returned illegal value, must be 0, 1, or 2")
+ }
+ if (!r) {
+ t = t.parent;
+ break
+ }
+ }
+ this.allClosed = t === this.oldtip, this.lastMatchedContainer = t;
+ for (var i = "paragraph" !== t.type && s.blockHandlers[t.type].acceptsLines, a = c.blockStarts.length; !i;) {
+ if (this.findNextNonspace(), "table" !== t.type && "tableBody" !== t.type && "paragraph" !== t.type && !this.indented && !p.test(e.slice(this.nextNonspace))) {
+ this.advanceNextNonspace();
+ break
+ }
+ for (var l = 0; l < a;) {
+ var u = c.blockStarts[l](this, t);
+ if (1 === u) {
+ t = this.tip;
+ break
+ }
+ if (2 === u) {
+ t = this.tip, i = !0;
+ break
+ }
+ l++
+ }
+ if (l === a) {
+ this.advanceNextNonspace();
+ break
+ }
+ }
+ if (this.allClosed || this.blank || "paragraph" !== this.tip.type) {
+ this.closeUnmatchedBlocks(), this.blank && t.lastChild && (t.lastChild.lastLineBlank = !0);
+ for (var d = t.type, h = this.blank && !("blockQuote" === d || o.isCodeBlock(t) && t.isFenced || "item" === d && !t.firstChild && t.sourcepos[0][0] === this.lineNumber), g = t; g;) g.lastLineBlank = h, g = g.parent;
+ s.blockHandlers[d].acceptsLines ? (this.addLine(), o.isHtmlBlock(t) && t.htmlBlockType >= 1 && t.htmlBlockType <= 5 && f[t.htmlBlockType].test(this.currentLine.slice(this.offset)) && (this.lastLineLength = e.length, this.finalize(t, this.lineNumber))) : this.offset < e.length && !this.blank && (t = this.addChild("paragraph", this.offset), this.advanceNextNonspace(), this.addLine())
+ } else this.addLine();
+ this.lastLineLength = e.length
+ }, e.prototype.parse = function (e) {
+ this.options.frontMatter && (e = d.replaceFrontMatter(e)), this.doc = m(), this.tip = this.doc, this.lineNumber = 0, this.lastLineLength = 0, this.offset = 0, this.column = 0, this.lastMatchedContainer = this.doc, this.currentLine = "";
+ var t = e.split(g),
+ n = t.length;
+ this.options.referenceDefinition && this.clearRefMaps(), e.charCodeAt(e.length - 1) === a.C_NEWLINE && (n -= 1);
+ for (var r = 0; r < n; r++) this.incorporateLine(t[r]);
+ for (; this.tip;) this.finalize(this.tip, n);
+ return this.processInlines(this.doc), this.doc
+ }, e.prototype.partialParseStart = function (e, t) {
+ this.doc = m(), this.tip = this.doc, this.lineNumber = e - 1, this.lastLineLength = 0, this.offset = 0, this.column = 0, this.lastMatchedContainer = this.doc, this.currentLine = "";
+ for (var n = t.length, r = 0; r < n; r++) this.incorporateLine(t[r]);
+ return this.doc
+ }, e.prototype.partialParseExtends = function (e) {
+ for (var t = 0; t < e.length; t++) this.incorporateLine(e[t])
+ }, e.prototype.partialParseFinish = function () {
+ for (; this.tip;) this.finalize(this.tip, this.lineNumber);
+ this.processInlines(this.doc)
+ }, e.prototype.setRefMaps = function (e, t, n) {
+ this.refMap = e, this.refLinkCandidateMap = t, this.refDefCandidateMap = n
+ }, e.prototype.clearRefMaps = function () {
+ [this.refMap, this.refLinkCandidateMap, this.refDefCandidateMap].forEach((function (e) {
+ u.clearObj(e)
+ }))
+ }, e
+ }();
+ t.Parser = y
+ }, function (e, t, n) {
+ "use strict";
+ var r = this && this.__importDefault || function (e) {
+ return e && e.__esModule ? e : {
+ default: e
+ }
+ };
+ Object.defineProperty(t, "__esModule", {
+ value: !0
+ }), t.decodeHTML = t.decodeHTMLStrict = t.decodeXML = void 0;
+ var i = r(n(13)),
+ o = r(n(14)),
+ a = r(n(15)),
+ s = r(n(16));
+
+ function l(e) {
+ var t = Object.keys(e).join("|"),
+ n = u(e),
+ r = new RegExp("&(?:" + (t += "|#[xX][\\da-fA-F]+|#\\d+") + ");", "g");
+ return function (e) {
+ return String(e).replace(r, n)
+ }
+ }
+ t.decodeXML = l(a.default), t.decodeHTMLStrict = l(i.default);
+ var c = function (e, t) {
+ return e < t ? 1 : -1
+ };
+
+ function u(e) {
+ return function (t) {
+ if ("#" === t.charAt(1)) {
+ var n = t.charAt(2);
+ return "X" === n || "x" === n ? s.default(parseInt(t.substr(3), 16)) : s.default(parseInt(t.substr(2), 10))
+ }
+ return e[t.slice(1, -1)]
+ }
+ }
+ t.decodeHTML = function () {
+ for (var e = Object.keys(o.default).sort(c), t = Object.keys(i.default).sort(c), n = 0, r = 0; n < t.length; n++) e[r] === t[n] ? (t[n] += ";?", r++) : t[n] += ";";
+ var a = new RegExp("&(?:" + t.join("|") + "|#[xX][\\da-fA-F]+;?|#\\d+;?)", "g"),
+ s = u(i.default);
+
+ function l(e) {
+ return ";" !== e.substr(-1) && (e += ";"), s(e)
+ }
+ return function (e) {
+ return String(e).replace(a, l)
+ }
+ }()
+ }, function (e, t, n) {
+ "use strict";
+ Object.defineProperty(t, "__esModule", {
+ value: !0
+ }), t.reHtmlTag = t.CLOSETAG = t.OPENTAG = void 0, t.OPENTAG = "<[A-Za-z][A-Za-z0-9-]*(?:\\s+[a-zA-Z_:][a-zA-Z0-9:._-]*(?:\\s*=\\s*(?:[^\"'=<>`\\x00-\\x20]+|'[^']*'|\"[^\"]*\"))?)*\\s*/?>", t.CLOSETAG = "[A-Za-z][A-Za-z0-9-]*\\s*[>]";
+ var r = "(?:" + t.OPENTAG + "|" + t.CLOSETAG + "|\x3c!----\x3e|\x3c!--(?:-?[^>-])(?:-?[^-])*--\x3e|[<][?].*?[?][>]|]*>|)";
+ t.reHtmlTag = new RegExp("^" + r, "i")
+ }, function (e, t, n) {
+ "use strict";
+ Object.defineProperty(t, "__esModule", {
+ value: !0
+ }), t.blockStarts = t.reOrderedListMarker = t.reBulletListMarker = void 0;
+ var r = n(1),
+ i = n(9),
+ o = n(4),
+ a = n(25),
+ s = /^`{3,}(?!.*`)|^~{3,}/,
+ l = [/./, /^<(?:script|pre|style)(?:\s|>|$)/i, /^|<([a-zA-Z_][a-zA-Z0-9\-.:/]*)>/), f(E, "markdownTextToEscapeBackSlashRx", /\\[!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~\\]/), f(E, "markdownTextToEscapePairedCharsRx", /[*_~`]/);
+ var x = /\n$/g,
+ S = /[ \xA0]+\n\n/g,
+ N = /([ \xA0]+\n){2,}/g,
+ k = /href="(.*?)"/,
+ L = /^/gm,
+ M = E.factory({
+ TEXT_NODE: function (e) {
+ var t = this.trim(this.getSpaceCollapsedText(e.nodeValue));
+ return this._isNeedEscapeBackSlash(t) && (t = this.escapeTextBackSlash(t)), t = this.escapePairedCharacters(t), this._isNeedEscapeHtml(t) && (t = this.escapeTextHtml(t)), this._isNeedEscape(t) && (t = this.escapeText(t)), this.getSpaceControlled(t, e)
+ },
+ "CODE TEXT_NODE": function (e) {
+ return e.nodeValue
+ },
+ "EM, I": function (e, t) {
+ var n = "";
+ return this.isEmptyText(t) || (n = "*" + t + "*"), n
+ },
+ "STRONG, B": function (e, t) {
+ var n = "";
+ return this.isEmptyText(t) || (n = "**" + t + "**"), n
+ },
+ A: function (e, t) {
+ var n, r = t,
+ i = "",
+ o = k.exec(e.outerHTML);
+ return o && (n = o[1].replace(/&/g, "&")), e.title && (i = ' "' + e.title + '"'), !this.isEmptyText(t) && n && (r = "[" + this.escapeTextForLink(t) + "](" + n + i + ")"), r
+ },
+ IMG: function (e) {
+ var t = e.getAttribute("src"),
+ n = e.alt;
+ return t ? "" : ""
+ },
+ BR: function () {
+ return " \n"
+ },
+ CODE: function (e, t) {
+ var n, r, i = "";
+ return this.isEmptyText(t) || (r = parseInt(e.getAttribute("data-backticks"), 10), i = (n = isNaN(r) ? "`" : Array(r + 1).join("`")) + t + n), i
+ },
+ P: function (e, t) {
+ var n = "";
+ return t = t.replace(N, " \n"), this.isEmptyText(t) || (n = "\n\n" + t + "\n\n"), n
+ },
+ "BLOCKQUOTE P": function (e, t) {
+ return t
+ },
+ "LI P": function (e, t) {
+ var n = "";
+ return this.isEmptyText(t) || (n = t), n
+ },
+ "H1, H2, H3, H4, H5, H6": function (e, t) {
+ for (var n = "", r = parseInt(e.tagName.charAt(1), 10); r;) n += "#", r -= 1;
+ return n += " ", "\n\n" + (n += t) + "\n\n"
+ },
+ "LI H1, LI H2, LI H3, LI H4, LI H5, LI H6": function (e, t) {
+ var n = parseInt(e.tagName.charAt(1), 10);
+ return Array(n + 1).join("#") + " " + t
+ },
+ "UL, OL": function (e, t) {
+ return "\n\n" + t + "\n\n"
+ },
+ "LI OL, LI UL": function (e, t) {
+ return "\n" + t.replace(S, "\n").replace(x, "").replace(L, " ")
+ },
+ "UL LI": function (e, t) {
+ var n = "";
+ return t = t.replace(N, " \n"), e.firstChild && "P" === e.firstChild.tagName && (n += "\n"), n += "* " + t + "\n"
+ },
+ "OL LI": function (e, t) {
+ for (var n = "", r = parseInt(e.parentNode.getAttribute("start") || 1, 10); e.previousSibling;) 1 === (e = e.previousSibling).nodeType && "LI" === e.tagName && (r += 1);
+ return t = t.replace(N, " \n"), e.firstChild && "P" === e.firstChild.tagName && (n += "\n"), n += r + ". " + t + "\n"
+ },
+ HR: function () {
+ return "\n\n- - -\n\n"
+ },
+ BLOCKQUOTE: function (e, t) {
+ return t = t.replace(N, "\n\n"), "\n\n" + this.trim(t).replace(L, "> ") + "\n\n"
+ },
+ "PRE CODE": function (e, t) {
+ return "\n\n" + t.replace(x, "").replace(L, " ") + "\n\n"
+ }
+ }),
+ A = E.factory(M, {
+ "DEL, S": function (e, t) {
+ return "~~" + t + "~~"
+ },
+ "PRE CODE": function (e, t) {
+ var n = "",
+ r = e.getAttribute("data-backticks");
+ e.getAttribute("data-language") && (n = " " + e.getAttribute("data-language")), r = parseInt(r, 10);
+ var i = isNaN(r) ? "```" : Array(r + 1).join("`");
+ return "\n\n" + i + n + "\n" + (t = t.replace(/(\r\n)|(\r)|(\n)/g, this.lineFeedReplacement)) + "\n" + i + "\n\n"
+ },
+ PRE: function (e, t) {
+ return t
+ },
+ "UL LI": function (e, t) {
+ return M.convert(e, B(e, t))
+ },
+ "OL LI": function (e, t) {
+ return M.convert(e, B(e, t))
+ },
+ TABLE: function (e, t) {
+ return "\n\n" + t + "\n\n"
+ },
+ "TBODY, TFOOT": function (e, t) {
+ return t
+ },
+ "TR TD, TR TH": function (e, t) {
+ return " " + (t = t.replace(/(\r\n)|(\r)|(\n)/g, "")) + " |"
+ },
+ "TD BR, TH BR": function () {
+ return " "
+ },
+ TR: function (e, t) {
+ return "|" + t + "\n"
+ },
+ THEAD: function (e, t) {
+ for (var n = "", r = D(D(e, "TR")[0], "TH"), i = 0, o = r.length; i < o; i += 1) n += " " + O(r[i]) + " |";
+ return t ? t + "|" + n + "\n" : ""
+ }
+ });
+
+ function B(e, t) {
+ return -1 !== e.className.indexOf("task-list-item") && (t = "[" + (-1 !== e.className.indexOf("checked") ? "x" : " ") + "] " + t), t
+ }
+
+ function O(e) {
+ var t, n, r, i = e.align;
+ return r = e.textContent ? e.textContent.length : e.innerText.length, t = "", n = "", i && ("left" === i ? (t = ":", r -= 1) : "right" === i ? (n = ":", r -= 1) : "center" === i && (n = ":", t = ":", r -= 2)), t + function (e, t) {
+ var n = e;
+ for (t = Math.max(t, 3); t > 1;) n += e, t -= 1;
+ return n
+ }("-", r) + n
+ }
+
+ function D(e, t) {
+ for (var n = e.childNodes, r = [], i = 0, o = n.length; i < o; i += 1) n[i].tagName && n[i].tagName === t && r.push(n[i]);
+ return r
+ }
+ var I = /[ \xA0]+(\n\n)/g,
+ R = /^[\n]+|[\s\n]+$/g,
+ P = /([ \xA0]+\n){2,}/g,
+ H = /([ \xA0]){2,}\n/g,
+ F = /[ \xA0\n]+/g;
+
+ function U(e, t) {
+ var n, r = !0;
+ return e ? (n = A, t && (!1 === (r = t.gfm) && (n = M), n = t.renderer || n), function (e, t, n) {
+ return e = (e = (e = (e = (e = e.replace(I, "\n")).replace(P, "\n\n")).replace(F, (function (e) {
+ return (e.match(/\n/g) || []).length >= 3 ? "\n\n" : e >= 1 ? "\n" : e
+ }))).replace(R, "")).replace(new RegExp(n, "g"), "\n"), t && (e = e.replace(H, "\n")), e
+ }(function (e, t) {
+ for (var n = ""; e.next();) n += W(e, t);
+ return n
+ }(new s(d(e)), n), r, n.lineFeedReplacement)) : ""
+ }
+
+ function W(e, t) {
+ for (var n = "", r = e.getNode(), i = 0, o = r.childNodes.length; i < o; i += 1) e.next(), n += W(e, t);
+ return t.convert(r, n)
+ }
+ U.Renderer = E, U.basicRenderer = M, U.gfmRenderer = A, t.default = U
+ }]).default
+ }, e.exports = r()
+ }, function (e, t, n) {
+ "use strict";
+ e.exports = function (e, t) {
+ var n, r;
+ return t = t || 0,
+ function () {
+ r = Array.prototype.slice.call(arguments), window.clearTimeout(n), n = window.setTimeout((function () {
+ e.apply(null, r)
+ }), t)
+ }
+ }
+ }, function (e, t, n) {
+ "use strict";
+ var r = n(9);
+ e.exports = function (e) {
+ return e && e.className ? r(e.className.baseVal) ? e.className : e.className.baseVal : ""
+ }
+ }, function (e, t, n) {
+ "use strict";
+ var r = n(18);
+ e.exports = function (e) {
+ return r(e) && !1 !== e
+ }
+ }, function (e, t, n) {
+ "use strict";
+ e.exports = function (e) {
+ return e === Object(e)
+ }
+ }, function (e, t, n) {
+ ! function (t, n) {
+ "use strict";
+
+ function r(e, t, n) {
+ this.root = this.currentNode = e, this.nodeType = t, this.filter = n || le
+ }
+
+ function i(e) {
+ return e.nodeType === I && !!ue[e.nodeName]
+ }
+
+ function o(e) {
+ switch (e.nodeType) {
+ case R:
+ return he;
+ case I:
+ case H:
+ if (ie && ge.has(e)) return ge.get(e);
+ break;
+ default:
+ return de
+ }
+ var t;
+ return t = function (e, t) {
+ for (var n = e.length; n--;)
+ if (!t(e[n])) return !1;
+ return !0
+ }(e.childNodes, a) ? ce.test(e.nodeName) ? he : fe : pe, ie && ge.set(e, t), t
+ }
+
+ function a(e) {
+ return o(e) === he
+ }
+
+ function s(e) {
+ return o(e) === fe
+ }
+
+ function l(e) {
+ return o(e) === pe
+ }
+
+ function c(e, t) {
+ var n = new r(t, F, s);
+ return n.currentNode = e, n
+ }
+
+ function u(e, t) {
+ return (e = c(e, t).previousNode()) !== t ? e : null
+ }
+
+ function d(e, t) {
+ return (e = c(e, t).nextNode()) !== t ? e : null
+ }
+
+ function h(e, t) {
+ return !i(e) && e.nodeType === t.nodeType && e.nodeName === t.nodeName && "A" !== e.nodeName && e.className === t.className && (!e.style && !t.style || e.style.cssText === t.style.cssText)
+ }
+
+ function f(e, t, n) {
+ if (e.nodeName !== t) return !1;
+ for (var r in n)
+ if (e.getAttribute(r) !== n[r]) return !1;
+ return !0
+ }
+
+ function p(e, t, n, r) {
+ for (; e && e !== t;) {
+ if (f(e, n, r)) return e;
+ e = e.parentNode
+ }
+ return null
+ }
+
+ function g(e, t) {
+ for (; t;) {
+ if (t === e) return !0;
+ t = t.parentNode
+ }
+ return !1
+ }
+
+ function m(e) {
+ var t = e.nodeType;
+ return t === I || t === H ? e.childNodes.length : e.length || 0
+ }
+
+ function v(e) {
+ var t = e.parentNode;
+ return t && t.removeChild(e), e
+ }
+
+ function y(e, t) {
+ var n = e.parentNode;
+ n && n.replaceChild(t, e)
+ }
+
+ function b(e) {
+ for (var t = e.ownerDocument.createDocumentFragment(), n = e.childNodes, r = n ? n.length : 0; r--;) t.appendChild(e.firstChild);
+ return t
+ }
+
+ function C(e, t, r, i) {
+ var o, a, s, l = e.createElement(t);
+ if (r instanceof Array && (i = r, r = null), r)
+ for (o in r) r[o] !== n && l.setAttribute(o, r[o]);
+ if (i)
+ for (a = 0, s = i.length; a < s; a += 1) l.appendChild(i[a]);
+ return l
+ }
+
+ function w(e, t) {
+ var n, r, o = t.__squire__,
+ s = e.ownerDocument,
+ l = e;
+ if (e === t && ((r = e.firstChild) && "BR" !== r.nodeName || (n = o.createDefaultBlock(), r ? e.replaceChild(n, r) : e.appendChild(n), e = n, n = null)), e.nodeType === R) return l;
+ if (a(e)) {
+ for (r = e.firstChild; te && r && r.nodeType === R && !r.data;) e.removeChild(r), r = e.firstChild;
+ r || (te ? (n = s.createTextNode(U), o._didAddZWS()) : n = s.createTextNode(""))
+ } else if (ee) {
+ for (; e.nodeType !== R && !i(e);) {
+ if (!(r = e.firstChild)) {
+ n = s.createTextNode("");
+ break
+ }
+ e = r
+ }
+ e.nodeType === R ? /^ +$/.test(e.data) && (e.data = "") : i(e) && e.parentNode.insertBefore(s.createTextNode(""), e)
+ } else if ("HR" !== e.nodeName && !e.querySelector("BR"))
+ for (n = C(s, "BR");
+ (r = e.lastElementChild) && !a(r);) e = r;
+ if (n) try {
+ e.appendChild(n)
+ } catch (t) {
+ o.didError({
+ name: "Squire: fixCursor – " + t,
+ message: "Parent: " + e.nodeName + "/" + e.innerHTML + " appendChild: " + n.nodeName
+ })
+ }
+ return l
+ }
+
+ function _(e, t) {
+ var n, r, i, o, s = e.childNodes,
+ c = e.ownerDocument,
+ u = null,
+ d = t.__squire__._config;
+ for (n = 0, r = s.length; n < r; n += 1) !(o = "BR" === (i = s[n]).nodeName) && a(i) ? (u || (u = C(c, d.blockTag, d.blockAttributes)), u.appendChild(i), n -= 1, r -= 1) : (o || u) && (u || (u = C(c, d.blockTag, d.blockAttributes)), w(u, t), o ? e.replaceChild(u, i) : (e.insertBefore(u, i), n += 1, r += 1), u = null), l(i) && _(i, t);
+ return u && e.appendChild(w(u, t)), e
+ }
+
+ function T(e, t, n, r) {
+ var i, o, a, s = e.nodeType;
+ if (s === R && e !== n) return T(e.parentNode, e.splitText(t), n, r);
+ if (s === I) {
+ if ("number" == typeof t && (t = t < e.childNodes.length ? e.childNodes[t] : null), e === n) return t;
+ for (i = e.parentNode, o = e.cloneNode(!1); t;) a = t.nextSibling, o.appendChild(t), t = a;
+ return "OL" === e.nodeName && p(e, r, "BLOCKQUOTE") && (o.start = (+e.start || 1) + e.childNodes.length - 1), w(e, r), w(o, r), (a = e.nextSibling) ? i.insertBefore(o, a) : i.appendChild(o), T(i, o, n, r)
+ }
+ return t
+ }
+
+ function E(e, t) {
+ if (e.nodeType === R && (e = e.parentNode), e.nodeType === I) {
+ var n = {
+ startContainer: t.startContainer,
+ startOffset: t.startOffset,
+ endContainer: t.endContainer,
+ endOffset: t.endOffset
+ };
+ (function e(t, n) {
+ for (var r, i, o, s = t.childNodes, l = s.length, c = []; l--;)
+ if (r = s[l], i = l && s[l - 1], l && a(r) && h(r, i) && !ue[r.nodeName]) n.startContainer === r && (n.startContainer = i, n.startOffset += m(i)), n.endContainer === r && (n.endContainer = i, n.endOffset += m(i)), n.startContainer === t && (n.startOffset > l ? n.startOffset -= 1 : n.startOffset === l && (n.startContainer = i, n.startOffset = m(i))), n.endContainer === t && (n.endOffset > l ? n.endOffset -= 1 : n.endOffset === l && (n.endContainer = i, n.endOffset = m(i))), v(r), r.nodeType === R ? i.appendData(r.data) : c.push(b(r));
+ else if (r.nodeType === I) {
+ for (o = c.length; o--;) r.appendChild(c.pop());
+ e(r, n)
+ }
+ })(e, n), t.setStart(n.startContainer, n.startOffset), t.setEnd(n.endContainer, n.endOffset)
+ }
+ }
+
+ function x(e) {
+ var t = e.nodeName;
+ return "TD" === t || "TH" === t || "TR" === t || "TBODY" === t || "THEAD" === t
+ }
+
+ function S(e, t, n, r) {
+ var i, o, a, s = t;
+ if (!x(e) || !x(t)) {
+ for (;
+ (i = s.parentNode) && i !== r && i.nodeType === I && 1 === i.childNodes.length;) s = i;
+ v(s), a = e.childNodes.length, (o = e.lastChild) && "BR" === o.nodeName && (e.removeChild(o), a -= 1), e.appendChild(b(t)), n.setStart(e, a), n.collapse(!0), E(e, n), Y && (o = e.lastChild) && "BR" === o.nodeName && e.removeChild(o)
+ }
+ }
+
+ function N(e, t) {
+ var n, r, i = e.previousSibling,
+ o = e.firstChild,
+ a = e.ownerDocument,
+ s = "LI" === e.nodeName;
+ if ((!s || o && /^[OU]L$/.test(o.nodeName)) && !x(e))
+ if (i && h(i, e) && i.isContentEditable && e.isContentEditable) {
+ if (!l(i)) {
+ if (!s) return;
+ (r = C(a, "DIV")).appendChild(b(i)), i.appendChild(r)
+ }
+ v(e), n = !l(e), i.appendChild(b(e)), n && _(i, t), o && N(o, t)
+ } else s && (i = C(a, "DIV"), e.insertBefore(i, o), w(i, t))
+ }
+
+ function k(e) {
+ this.isShiftDown = e.shiftKey
+ }
+
+ function L(e, t, n) {
+ var r, i;
+ if (e || (e = {}), t)
+ for (r in t) !n && r in e || (i = t[r], e[r] = i && i.constructor === Object ? L(e[r], i, n) : i);
+ return e
+ }
+
+ function M(e, t) {
+ e.nodeType === P && (e = e.body);
+ var n, r = e.ownerDocument,
+ i = r.defaultView;
+ this._win = i, this._doc = r, this._root = e, this._events = {}, this._isFocused = !1, this._lastSelection = null, ne && this.addEventListener("beforedeactivate", this.getSelection), this._hasZWS = !1, this._lastAnchorNode = null, this._lastFocusNode = null, this._path = "", this._willUpdatePath = !1, "onselectionchange" in r ? this.addEventListener("selectionchange", this._updatePathOnEvent) : (this.addEventListener("keyup", this._updatePathOnEvent), this.addEventListener("mouseup", this._updatePathOnEvent)), this._undoIndex = -1, this._undoStack = [], this._undoStackLength = 0, this._isInUndoState = !1, this._ignoreChange = !1, this._ignoreAllChanges = !1, re ? ((n = new MutationObserver(this._docWasChanged.bind(this))).observe(e, {
+ childList: !0,
+ attributes: !0,
+ characterData: !0,
+ subtree: !0
+ }), this._mutation = n) : this.addEventListener("keyup", this._keyUpDetectChange), this._restoreSelection = !1, this.addEventListener("blur", A), this.addEventListener("mousedown", B), this.addEventListener("touchstart", B), this.addEventListener("focus", O), this._awaitingPaste = !1, this.addEventListener($ ? "beforecut" : "cut", Qe), this.addEventListener("copy", Je), this.addEventListener("keydown", k), this.addEventListener("keyup", k), this.addEventListener($ ? "beforepaste" : "paste", et), this.addEventListener("drop", tt), this.addEventListener(Y ? "keypress" : "keydown", Be), this._keyHandlers = Object.create(Re), this.setConfig(t), $ && (i.Text.prototype.splitText = function (e) {
+ var t = this.ownerDocument.createTextNode(this.data.slice(e)),
+ n = this.nextSibling,
+ r = this.parentNode,
+ i = this.length - e;
+ return n ? r.insertBefore(t, n) : r.appendChild(t), i && this.deleteData(e, i), t
+ }), e.setAttribute("contenteditable", "true");
+ try {
+ r.execCommand("enableObjectResizing", !1, "false"), r.execCommand("enableInlineTableEditing", !1, "false")
+ } catch (e) {}
+ e.__squire__ = this, this.setHTML("")
+ }
+
+ function A() {
+ this._restoreSelection = !0
+ }
+
+ function B() {
+ this._restoreSelection = !1
+ }
+
+ function O() {
+ this._restoreSelection && this.setSelection(this._lastSelection)
+ }
+
+ function D(e, t, n) {
+ var r, i;
+ for (r = t.firstChild; r; r = i) {
+ if (i = r.nextSibling, a(r)) {
+ if (r.nodeType === R || "BR" === r.nodeName || "IMG" === r.nodeName) {
+ n.appendChild(r);
+ continue
+ }
+ } else if (s(r)) {
+ n.appendChild(e.createDefaultBlock([D(e, r, e._doc.createDocumentFragment())]));
+ continue
+ }
+ D(e, r, n)
+ }
+ return n
+ }
+ var I = 1,
+ R = 3,
+ P = 9,
+ H = 11,
+ F = 1,
+ U = "",
+ W = t.defaultView,
+ q = navigator.userAgent,
+ z = /Android/.test(q),
+ j = /iP(?:ad|hone|od)/.test(q),
+ V = /Mac OS X/.test(q),
+ K = /Windows NT/.test(q),
+ G = /Gecko\//.test(q),
+ $ = /Trident\/[456]\./.test(q),
+ Y = !!W.opera,
+ X = /Edge\//.test(q),
+ Z = !X && /WebKit\//.test(q),
+ Q = /Trident\/[4567]\./.test(q),
+ J = V ? "meta-" : "ctrl-",
+ ee = $ || Y,
+ te = $ || Z,
+ ne = $,
+ re = "undefined" != typeof MutationObserver,
+ ie = "undefined" != typeof WeakMap,
+ oe = /[^ \t\r\n]/,
+ ae = Array.prototype.indexOf;
+ Object.create || (Object.create = function (e) {
+ var t = function () {};
+ return t.prototype = e, new t
+ });
+ var se = {
+ 1: 1,
+ 2: 2,
+ 3: 4,
+ 8: 128,
+ 9: 256,
+ 11: 1024
+ },
+ le = function () {
+ return !0
+ };
+ r.prototype.nextNode = function () {
+ for (var e, t = this.currentNode, n = this.root, r = this.nodeType, i = this.filter;;) {
+ for (e = t.firstChild; !e && t && t !== n;)(e = t.nextSibling) || (t = t.parentNode);
+ if (!e) return null;
+ if (se[e.nodeType] & r && i(e)) return this.currentNode = e, e;
+ t = e
+ }
+ }, r.prototype.previousNode = function () {
+ for (var e, t = this.currentNode, n = this.root, r = this.nodeType, i = this.filter;;) {
+ if (t === n) return null;
+ if (e = t.previousSibling)
+ for (; t = e.lastChild;) e = t;
+ else e = t.parentNode;
+ if (!e) return null;
+ if (se[e.nodeType] & r && i(e)) return this.currentNode = e, e;
+ t = e
+ }
+ }, r.prototype.previousPONode = function () {
+ for (var e, t = this.currentNode, n = this.root, r = this.nodeType, i = this.filter;;) {
+ for (e = t.lastChild; !e && t && t !== n;)(e = t.previousSibling) || (t = t.parentNode);
+ if (!e) return null;
+ if (se[e.nodeType] & r && i(e)) return this.currentNode = e, e;
+ t = e
+ }
+ };
+ var ce = /^(?:#text|A(?:BBR|CRONYM)?|B(?:R|D[IO])?|C(?:ITE|ODE)|D(?:ATA|EL|FN)|EM|FONT|I(?:FRAME|MG|NPUT|NS)?|KBD|Q|R(?:P|T|UBY)|S(?:AMP|MALL|PAN|TR(?:IKE|ONG)|U[BP])?|TIME|U|VAR|WBR)$/,
+ ue = {
+ BR: 1,
+ HR: 1,
+ IFRAME: 1,
+ IMG: 1,
+ INPUT: 1
+ },
+ de = 0,
+ he = 1,
+ fe = 2,
+ pe = 3,
+ ge = ie ? new WeakMap : null,
+ me = function (e, t) {
+ for (var n = e.childNodes; t && e.nodeType === I;) t = (n = (e = n[t - 1]).childNodes).length;
+ return e
+ },
+ ve = function (e, t) {
+ if (e.nodeType === I) {
+ var n = e.childNodes;
+ if (t < n.length) e = n[t];
+ else {
+ for (; e && !e.nextSibling;) e = e.parentNode;
+ e && (e = e.nextSibling)
+ }
+ }
+ return e
+ },
+ ye = function (e, t) {
+ var n, r, i, o, a = e.startContainer,
+ s = e.startOffset,
+ l = e.endContainer,
+ c = e.endOffset;
+ a.nodeType === R ? (r = (n = a.parentNode).childNodes, s === a.length ? (s = ae.call(r, a) + 1, e.collapsed && (l = n, c = s)) : (s && (o = a.splitText(s), l === a ? (c -= s, l = o) : l === n && (c += 1), a = o), s = ae.call(r, a)), a = n) : r = a.childNodes, s === (i = r.length) ? a.appendChild(t) : a.insertBefore(t, r[s]), a === l && (c += r.length - i), e.setStart(a, s), e.setEnd(l, c)
+ },
+ be = function (e, t, n) {
+ var r = e.startContainer,
+ i = e.startOffset,
+ o = e.endContainer,
+ a = e.endOffset;
+ t || (t = e.commonAncestorContainer), t.nodeType === R && (t = t.parentNode);
+ for (var s, l, c, u, d, h = T(o, a, t, n), f = T(r, i, t, n), p = t.ownerDocument.createDocumentFragment(); f !== h;) s = f.nextSibling, p.appendChild(f), f = s;
+ return r = t, i = h ? ae.call(t.childNodes, h) : t.childNodes.length, (l = (c = t.childNodes[i]) && c.previousSibling) && l.nodeType === R && c.nodeType === R && (r = l, i = l.length, u = l.data, d = c.data, " " === u.charAt(u.length - 1) && " " === d.charAt(0) && (d = " " + d.slice(1)), l.appendData(d), v(c)), e.setStart(r, i), e.collapse(!0), w(t, n), p
+ },
+ Ce = function (e, t) {
+ var n, r, i = xe(e, t),
+ o = Se(e, t),
+ a = i !== o;
+ return Te(e), Ee(e, i, o, t), n = be(e, null, t), Te(e), a && (o = Se(e, t), i && o && i !== o && S(i, o, e, t)), i && w(i, t), (r = t.firstChild) && "BR" !== r.nodeName ? e.collapse(!0) : (w(t, t), e.selectNodeContents(t.firstChild)), n
+ },
+ we = function (e, t, n) {
+ var r, i, o, s, c, h, f, g, v, y;
+ for (_(t, n), r = t; r = d(r, n);) w(r, n);
+ if (e.collapsed || Ce(e, n), Te(e), e.collapse(!1), s = p(e.endContainer, n, "BLOCKQUOTE") || n, i = xe(e, n), f = d(t, t), i && f && ! function (e, t, n) {
+ for (; e && e !== t;) {
+ if (n.test(e.nodeName)) return e;
+ e = e.parentNode
+ }
+ return null
+ }(f, t, /PRE|TABLE|H[1-6]|OL|UL|BLOCKQUOTE/)) {
+ if (Ee(e, i, i, n), e.collapse(!0), c = e.endContainer, h = e.endOffset, Xe(i, n, !1), a(c) && (c = (g = T(c, h, u(c, n), n)).parentNode, h = ae.call(c.childNodes, g)), h !== m(c))
+ for (o = n.ownerDocument.createDocumentFragment(); r = c.childNodes[h];) o.appendChild(r);
+ S(c, f, e, n), h = ae.call(c.parentNode.childNodes, c) + 1, c = c.parentNode, e.setEnd(c, h)
+ }
+ m(t) && (Ee(e, s, s, n), v = (g = T(e.endContainer, e.endOffset, s, n)) ? g.previousSibling : s.lastChild, s.insertBefore(t, g), g ? e.setEndBefore(g) : e.setEnd(s, m(s)), i = Se(e, n), Te(e), c = e.endContainer, h = e.endOffset, g && l(g) && N(g, n), (g = v && v.nextSibling) && l(g) && N(g, n), e.setEnd(c, h)), o && (S(i, o, y = e.cloneRange(), n), e.setEnd(y.endContainer, y.endOffset)), Te(e)
+ },
+ _e = function (e, t, n) {
+ var r = t.ownerDocument.createRange();
+ if (r.selectNode(t), n) {
+ var i = e.compareBoundaryPoints(3, r) > -1,
+ o = e.compareBoundaryPoints(1, r) < 1;
+ return !i && !o
+ }
+ var a = e.compareBoundaryPoints(0, r) < 1,
+ s = e.compareBoundaryPoints(2, r) > -1;
+ return a && s
+ },
+ Te = function (e) {
+ for (var t, n = e.startContainer, r = e.startOffset, o = e.endContainer, a = e.endOffset, s = !0; n.nodeType !== R && (t = n.childNodes[r]) && !i(t);) n = t, r = 0;
+ if (a)
+ for (; o.nodeType !== R;) {
+ if (!(t = o.childNodes[a - 1]) || i(t)) {
+ if (s && t && "BR" === t.nodeName) {
+ a -= 1, s = !1;
+ continue
+ }
+ break
+ }
+ a = m(o = t)
+ } else
+ for (; o.nodeType !== R && (t = o.firstChild) && !i(t);) o = t;
+ e.collapsed ? (e.setStart(o, a), e.setEnd(n, r)) : (e.setStart(n, r), e.setEnd(o, a))
+ },
+ Ee = function (e, t, n, r) {
+ var i, o = e.startContainer,
+ a = e.startOffset,
+ s = e.endContainer,
+ l = e.endOffset,
+ c = !0;
+ for (t || (t = e.commonAncestorContainer), n || (n = t); !a && o !== t && o !== r;) i = o.parentNode, a = ae.call(i.childNodes, o), o = i;
+ for (; c && s.nodeType !== R && s.childNodes[l] && "BR" === s.childNodes[l].nodeName && (l += 1, c = !1), s !== n && s !== r && l === m(s);) i = s.parentNode, l = ae.call(i.childNodes, s) + 1, s = i;
+ e.setStart(o, a), e.setEnd(s, l)
+ },
+ xe = function (e, t) {
+ var n, r = e.startContainer;
+ return a(r) ? n = u(r, t) : r !== t && s(r) ? n = r : n = d(n = me(r, e.startOffset), t), n && _e(e, n, !0) ? n : null
+ },
+ Se = function (e, t) {
+ var n, r, i = e.endContainer;
+ if (a(i)) n = u(i, t);
+ else if (i !== t && s(i)) n = i;
+ else {
+ if (!(n = ve(i, e.endOffset)) || !g(t, n))
+ for (n = t; r = n.lastChild;) n = r;
+ n = u(n, t)
+ }
+ return n && _e(e, n, !0) ? n : null
+ },
+ Ne = new r(null, 4 | F, (function (e) {
+ return e.nodeType === R ? oe.test(e.data) : "IMG" === e.nodeName
+ })),
+ ke = function (e, t) {
+ var n, r = e.startContainer,
+ i = e.startOffset;
+ if (Ne.root = null, r.nodeType === R) {
+ if (i) return !1;
+ n = r
+ } else if ((n = ve(r, i)) && !g(t, n) && (n = null), !n && ((n = me(r, i)).nodeType === R && n.length)) return !1;
+ return Ne.currentNode = n, Ne.root = xe(e, t), !Ne.previousNode()
+ },
+ Le = function (e, t) {
+ var n, r = e.endContainer,
+ i = e.endOffset;
+ if (Ne.root = null, r.nodeType === R) {
+ if ((n = r.data.length) && i < n) return !1;
+ Ne.currentNode = r
+ } else Ne.currentNode = me(r, i);
+ return Ne.root = Se(e, t), !Ne.nextNode()
+ },
+ Me = function (e, t) {
+ var n, r = xe(e, t),
+ i = Se(e, t);
+ r && i && (n = r.parentNode, e.setStart(n, ae.call(n.childNodes, r)), n = i.parentNode, e.setEnd(n, ae.call(n.childNodes, i) + 1))
+ },
+ Ae = {
+ 8: "backspace",
+ 9: "tab",
+ 13: "enter",
+ 32: "space",
+ 33: "pageup",
+ 34: "pagedown",
+ 37: "left",
+ 39: "right",
+ 46: "delete",
+ 219: "[",
+ 221: "]"
+ },
+ Be = function (e) {
+ var t = e.keyCode,
+ n = Ae[t],
+ r = "",
+ i = this.getSelection();
+ e.defaultPrevented || (n || (n = String.fromCharCode(t).toLowerCase(), /^[A-Za-z0-9]$/.test(n) || (n = "")), Y && 46 === e.which && (n = "."), 111 < t && t < 124 && (n = "f" + (t - 111)), "backspace" !== n && "delete" !== n && (e.altKey && (r += "alt-"), e.ctrlKey && (r += "ctrl-"), e.metaKey && (r += "meta-")), e.shiftKey && (r += "shift-"), n = r + n, this._keyHandlers[n] ? this._keyHandlers[n](this, e, i) : i.collapsed || e.isComposing || e.ctrlKey || e.metaKey || 1 !== (Q ? n : e.key || n).length || (this.saveUndoState(i), Ce(i, this._root), this._ensureBottomLine(), this.setSelection(i), this._updatePath(i, !0)))
+ },
+ Oe = function (e) {
+ return function (t, n) {
+ n.preventDefault(), t[e]()
+ }
+ },
+ De = function (e, t) {
+ return t = t || null,
+ function (n, r) {
+ r.preventDefault();
+ var i = n.getSelection();
+ n.hasFormat(e, null, i) ? n.changeFormat(null, {
+ tag: e
+ }, i) : n.changeFormat({
+ tag: e
+ }, t, i)
+ }
+ },
+ Ie = function (e, t) {
+ try {
+ t || (t = e.getSelection());
+ var n, r = t.startContainer;
+ for (r.nodeType === R && (r = r.parentNode), n = r; a(n) && (!n.textContent || n.textContent === U);) n = (r = n).parentNode;
+ r !== n && (t.setStart(n, ae.call(n.childNodes, r)), t.collapse(!0), n.removeChild(r), s(n) || (n = u(n, e._root)), w(n, e._root), Te(t)), r === e._root && (r = r.firstChild) && "BR" === r.nodeName && v(r), e._ensureBottomLine(), e.setSelection(t), e._updatePath(t, !0)
+ } catch (t) {
+ e.didError(t)
+ }
+ },
+ Re = {
+ enter: function (e, t, n) {
+ var r, i, o, a, s, l = e._root;
+ if (t.preventDefault(), e._recordUndoState(n), p(n.startContainer, l, "PRE", {
+ "data-te-codeblock": ""
+ }) || pt(n.startContainer, l, e), e._removeZWS(), e._getRangeAndRemoveBookmark(n), n.collapsed || Ce(n, l), (r = xe(n, l)) && (i = p(r, l, "PRE"))) return Te(n), o = n.startContainer, a = n.startOffset, o.nodeType !== R && (o = e._doc.createTextNode(""), i.insertBefore(o, i.firstChild)), t.shiftKey || "\n" !== o.data.charAt(a - 1) && !ke(n, l) || "\n" !== o.data.charAt(a) && !Le(n, l) ? (o.insertData(a, "\n"), w(i, l), o.length === a + 1 ? n.setStartAfter(o) : n.setStart(o, a + 1)) : (o.deleteData(a && a - 1, a ? 2 : 1), (o = (s = T(o, a && a - 1, l, l)).previousSibling).textContent || v(o), o = e.createDefaultBlock(), s.parentNode.insertBefore(o, s), s.textContent || v(s), n.setStart(o, 0)), n.collapse(!0), e.setSelection(n), e._updatePath(n, !0), void e._docWasChanged();
+ if (!r || t.shiftKey || /^T[HD]$/.test(r.nodeName)) return (i = p(n.endContainer, l, "A")) && (i = i.parentNode, Ee(n, i, i, l), n.collapse(!1)), ye(n, e.createElement("BR")), n.collapse(!1), e.setSelection(n), void e._updatePath(n, !0);
+ if ((i = p(r, l, "LI")) && (r = i), function (e) {
+ return !e.textContent && !e.querySelector("IMG")
+ }(r)) {
+ if (p(r, l, "UL") || p(r, l, "OL")) return e.decreaseListLevel(n);
+ if (p(r, l, "BLOCKQUOTE")) return e.modifyBlocks(dt, n)
+ }
+ for (s = ct(e, r, n.startContainer, n.startOffset), at(r), Ge(r), w(r, l); s.nodeType === I;) {
+ var c, u = s.firstChild;
+ if ("A" === s.nodeName && (!s.textContent || s.textContent === U)) {
+ y(s, u = e._doc.createTextNode("")), s = u;
+ break
+ }
+ for (; u && u.nodeType === R && !u.data && (c = u.nextSibling) && "BR" !== c.nodeName;) v(u), u = c;
+ if (!u || "BR" === u.nodeName || u.nodeType === R && !Y) break;
+ s = u
+ }
+ n = e.createRange(s, 0), e.setSelection(n), e._updatePath(n, !0)
+ },
+ "shift-enter": function (e, t, n) {
+ return e._keyHandlers.enter(e, t, n)
+ },
+ backspace: function (e, t, n) {
+ var r = e._root;
+ if (e._removeZWS(), e.saveUndoState(n), n.collapsed)
+ if (ke(n, r)) {
+ t.preventDefault();
+ var i, o = xe(n, r);
+ if (!o) return;
+ if (_(o.parentNode, r), i = u(o, r)) {
+ if (!i.isContentEditable) {
+ for (; !i.parentNode.isContentEditable;) i = i.parentNode;
+ return void v(i)
+ }
+ for (S(i, o, n, r), o = i.parentNode; o !== r && !o.nextSibling;) o = o.parentNode;
+ o !== r && (o = o.nextSibling) && N(o, r), e.setSelection(n)
+ } else if (o) {
+ if (p(o, r, "UL") || p(o, r, "OL")) return e.decreaseListLevel(n);
+ if (p(o, r, "BLOCKQUOTE")) return e.modifyBlocks(ut, n);
+ e.setSelection(n), e._updatePath(n, !0)
+ }
+ } else e.setSelection(n), setTimeout((function () {
+ Ie(e)
+ }), 0);
+ else t.preventDefault(), Ce(n, r), Ie(e, n)
+ },
+ delete: function (e, t, n) {
+ var r, i, o, a, s, l, c = e._root;
+ if (e._removeZWS(), e.saveUndoState(n), n.collapsed)
+ if (Le(n, c)) {
+ if (t.preventDefault(), !(r = xe(n, c))) return;
+ if (_(r.parentNode, c), i = d(r, c)) {
+ if (!i.isContentEditable) {
+ for (; !i.parentNode.isContentEditable;) i = i.parentNode;
+ return void v(i)
+ }
+ for (S(r, i, n, c), i = r.parentNode; i !== c && !i.nextSibling;) i = i.parentNode;
+ i !== c && (i = i.nextSibling) && N(i, c), e.setSelection(n), e._updatePath(n, !0)
+ }
+ } else {
+ if (o = n.cloneRange(), Ee(n, c, c, c), a = n.endContainer, s = n.endOffset, a.nodeType === I && (l = a.childNodes[s]) && "IMG" === l.nodeName) return t.preventDefault(), v(l), Te(n), void Ie(e, n);
+ e.setSelection(o), setTimeout((function () {
+ Ie(e)
+ }), 0)
+ }
+ else t.preventDefault(), Ce(n, c), Ie(e, n)
+ },
+ tab: function (e, t, n) {
+ var r, i, o = e._root;
+ if (e._removeZWS(), n.collapsed && ke(n, o))
+ for (r = xe(n, o); i = r.parentNode;) {
+ if ("UL" === i.nodeName || "OL" === i.nodeName) {
+ t.preventDefault(), e.increaseListLevel(n);
+ break
+ }
+ r = i
+ }
+ },
+ "shift-tab": function (e, t, n) {
+ var r, i = e._root;
+ e._removeZWS(), n.collapsed && ke(n, i) && ((p(r = n.startContainer, i, "UL") || p(r, i, "OL")) && (t.preventDefault(), e.decreaseListLevel(n)))
+ },
+ space: function (e, t, n) {
+ var r, i = e._root;
+ if (e._recordUndoState(n), pt(n.startContainer, i, e), e._getRangeAndRemoveBookmark(n), r = n.endContainer, n.collapsed && n.endOffset === m(r))
+ do {
+ if ("A" === r.nodeName) {
+ n.setStartAfter(r);
+ break
+ }
+ } while (!r.nextSibling && (r = r.parentNode) && r !== i);
+ n.collapsed || (Ce(n, i), e._ensureBottomLine(), e.setSelection(n), e._updatePath(n, !0)), e.setSelection(n)
+ },
+ left: function (e) {
+ e._removeZWS()
+ },
+ right: function (e) {
+ e._removeZWS()
+ }
+ };
+ V && G && (Re["meta-left"] = function (e, t) {
+ t.preventDefault();
+ var n = ot(e);
+ n && n.modify && n.modify("move", "backward", "lineboundary")
+ }, Re["meta-right"] = function (e, t) {
+ t.preventDefault();
+ var n = ot(e);
+ n && n.modify && n.modify("move", "forward", "lineboundary")
+ }), V || (Re.pageup = function (e) {
+ e.moveCursorToStart()
+ }, Re.pagedown = function (e) {
+ e.moveCursorToEnd()
+ }), Re[J + "b"] = De("B"), Re[J + "i"] = De("I"), Re[J + "u"] = De("U"), Re[J + "shift-7"] = De("S"), Re[J + "shift-5"] = De("SUB", {
+ tag: "SUP"
+ }), Re[J + "shift-6"] = De("SUP", {
+ tag: "SUB"
+ }), Re[J + "shift-8"] = Oe("makeUnorderedList"), Re[J + "shift-9"] = Oe("makeOrderedList"), Re[J + "["] = Oe("decreaseQuoteLevel"), Re[J + "]"] = Oe("increaseQuoteLevel"), Re[J + "d"] = Oe("toggleCode"), Re[J + "y"] = Oe("redo"), Re[J + "z"] = Oe("undo"), Re[J + "shift-z"] = Oe("redo");
+ var Pe = {
+ 1: 10,
+ 2: 13,
+ 3: 16,
+ 4: 18,
+ 5: 24,
+ 6: 32,
+ 7: 48
+ },
+ He = {
+ backgroundColor: {
+ regexp: oe,
+ replace: function (e, t, n) {
+ return C(e, "SPAN", {
+ class: t.highlight,
+ style: "background-color:" + n
+ })
+ }
+ },
+ color: {
+ regexp: oe,
+ replace: function (e, t, n) {
+ return C(e, "SPAN", {
+ class: t.colour,
+ style: "color:" + n
+ })
+ }
+ },
+ fontWeight: {
+ regexp: /^bold|^700/i,
+ replace: function (e) {
+ return C(e, "B")
+ }
+ },
+ fontStyle: {
+ regexp: /^italic/i,
+ replace: function (e) {
+ return C(e, "I")
+ }
+ },
+ fontFamily: {
+ regexp: oe,
+ replace: function (e, t, n) {
+ return C(e, "SPAN", {
+ class: t.fontFamily,
+ style: "font-family:" + n
+ })
+ }
+ },
+ fontSize: {
+ regexp: oe,
+ replace: function (e, t, n) {
+ return C(e, "SPAN", {
+ class: t.fontSize,
+ style: "font-size:" + n
+ })
+ }
+ },
+ textDecoration: {
+ regexp: /^underline/i,
+ replace: function (e) {
+ return C(e, "U")
+ }
+ }
+ },
+ Fe = function (e) {
+ return function (t, n) {
+ var r = C(t.ownerDocument, e);
+ return n.replaceChild(r, t), r.appendChild(b(t)), r
+ }
+ },
+ Ue = function (e, t, n) {
+ var r, i, o, a, s, l, c = e.style,
+ u = e.ownerDocument;
+ for (r in He) i = He[r], (o = c[r]) && i.regexp.test(o) && (l = i.replace(u, n.classNames, o), s || (s = l), a && a.appendChild(l), a = l, e.style[r] = "");
+ return s && (a.appendChild(b(e)), "SPAN" === e.nodeName ? t.replaceChild(s, e) : e.appendChild(s)), a || e
+ },
+ We = {
+ P: Ue,
+ SPAN: Ue,
+ STRONG: Fe("B"),
+ EM: Fe("I"),
+ INS: Fe("U"),
+ STRIKE: Fe("S"),
+ FONT: function (e, t, n) {
+ var r, i, o, a, s, l = e.face,
+ c = e.size,
+ u = e.color,
+ d = e.ownerDocument,
+ h = n.classNames;
+ return l && (s = r = C(d, "SPAN", {
+ class: h.fontFamily,
+ style: "font-family:" + l
+ }), a = r), c && (i = C(d, "SPAN", {
+ class: h.fontSize,
+ style: "font-size:" + Pe[c] + "px"
+ }), s || (s = i), a && a.appendChild(i), a = i), u && /^#?([\dA-F]{3}){1,2}$/i.test(u) && ("#" !== u.charAt(0) && (u = "#" + u), o = C(d, "SPAN", {
+ class: h.colour,
+ style: "color:" + u
+ }), s || (s = o), a && a.appendChild(o), a = o), s || (s = a = C(d, "SPAN")), t.replaceChild(s, e), a.appendChild(b(e)), a
+ },
+ TT: function (e, t, n) {
+ var r = C(e.ownerDocument, "SPAN", {
+ class: n.classNames.fontFamily,
+ style: 'font-family:menlo,consolas,"courier new",monospace'
+ });
+ return t.replaceChild(r, e), r.appendChild(b(e)), r
+ }
+ },
+ qe = /^(?:A(?:DDRESS|RTICLE|SIDE|UDIO)|BLOCKQUOTE|CAPTION|D(?:[DLT]|IV)|F(?:IGURE|IGCAPTION|OOTER)|H[1-6]|HEADER|HR|L(?:ABEL|EGEND|I)|O(?:L|UTPUT)|P(?:RE)?|SECTION|T(?:ABLE|BODY|D|FOOT|H|HEAD|R)|COL(?:GROUP)?|UL)$/,
+ ze = /^(?:HEAD|META|STYLE)/,
+ je = new r(null, 4 | F),
+ Ve = function (e, t) {
+ var n, r = t.allowedBlocks,
+ i = !1,
+ o = r.length;
+ if (o) {
+ for (n = 0; n < o; n += 1) r[n] = r[n].toUpperCase();
+ i = new RegExp(r.join("|")).test(e)
+ }
+ return qe.test(e) || i
+ },
+ Ke = function e(t, n, r) {
+ var i, o, s, l, c, u, d, h, f, p, g, m, v = t.childNodes;
+ for (i = t; a(i);) i = i.parentNode;
+ for (je.root = i, o = 0, s = v.length; o < s; o += 1)
+ if (c = (l = v[o]).nodeName, u = l.nodeType, d = We[c], u === I) {
+ if (h = l.childNodes.length, d) l = d(l, t, n);
+ else {
+ if (ze.test(c)) {
+ t.removeChild(l), o -= 1, s -= 1;
+ continue
+ }
+ if (!Ve(c, n) && !a(l)) {
+ o -= 1, s += h - 1, t.replaceChild(b(l), l);
+ continue
+ }
+ }
+ h && e(l, n, r || "PRE" === c)
+ } else {
+ if (u === R) {
+ if (g = l.data, f = !oe.test(g.charAt(0)), p = !oe.test(g.charAt(g.length - 1)), r || !f && !p) continue;
+ if (f) {
+ for (je.currentNode = l;
+ (m = je.previousPONode()) && !("IMG" === (c = m.nodeName) || "#text" === c && oe.test(m.data));)
+ if (!a(m)) {
+ m = null;
+ break
+ } g = g.replace(/^[ \t\r\n]+/g, m ? " " : "")
+ }
+ if (p) {
+ for (je.currentNode = l;
+ (m = je.nextNode()) && !("IMG" === c || "#text" === c && oe.test(m.data));)
+ if (!a(m)) {
+ m = null;
+ break
+ } g = g.replace(/[ \t\r\n]+$/g, m ? " " : "")
+ }
+ if (g) {
+ l.data = g;
+ continue
+ }
+ }
+ t.removeChild(l), o -= 1, s -= 1
+ } return t
+ },
+ Ge = function e(t) {
+ for (var n, r = t.childNodes, o = r.length; o--;)
+ if ((n = r[o]).nodeType !== I || i(n)) n.nodeType !== R || n.data || t.removeChild(n);
+ else {
+ e(n);
+ var s = "FIGURE" === n.tagName;
+ !a(n) && !s || n.firstChild || t.removeChild(n)
+ }
+ },
+ $e = function (e) {
+ return e.nodeType === I ? "BR" === e.nodeName || "IMG" === e.nodeName : oe.test(e.data)
+ },
+ Ye = function (e, t) {
+ for (var n, i = e.parentNode; a(i);) i = i.parentNode;
+ return (n = new r(i, 4 | F, $e)).currentNode = e, !!n.nextNode() || t && !n.previousNode()
+ },
+ Xe = function (e, t, n) {
+ var r, i, o, s = e.querySelectorAll("BR"),
+ l = [],
+ c = s.length;
+ for (r = 0; r < c; r += 1) l[r] = Ye(s[r], n);
+ for (; c--;)(o = (i = s[c]).parentNode) && (l[c] ? a(o) || _(o, t) : v(i))
+ },
+ Ze = function (e, t, n, r) {
+ var i, o, a = t.ownerDocument.body,
+ s = r.willCutCopy;
+ Xe(t, n, !0), t.setAttribute("style", "position:fixed;overflow:hidden;bottom:100%;right:100%;"), a.appendChild(t), i = t.innerHTML, o = t.innerText || t.textContent, s && (i = s(i)), K && (o = o.replace(/\r?\n/g, "\r\n")), e.setData("text/html", i), e.setData("text/plain", o), a.removeChild(t)
+ },
+ Qe = function (e) {
+ var t, n, r, i, o, a, s = e.clipboardData,
+ l = this.getSelection(),
+ c = this._root,
+ u = this;
+ if (l.collapsed) e.preventDefault();
+ else {
+ if (this.saveUndoState(l), X || j || !s) setTimeout((function () {
+ try {
+ u._ensureBottomLine()
+ } catch (e) {
+ u.didError(e)
+ }
+ }), 0);
+ else {
+ for (n = (t = xe(l, c)) === Se(l, c) && t || c, r = Ce(l, c), (i = l.commonAncestorContainer).nodeType === R && (i = i.parentNode); i && i !== n;)(o = i.cloneNode(!1)).appendChild(r), r = o, i = i.parentNode;
+ (a = this.createElement("div")).appendChild(r), Ze(s, a, c, this._config), e.preventDefault()
+ }
+ this.setSelection(l)
+ }
+ },
+ Je = function (e) {
+ var t, n, r, i, o, a, s = e.clipboardData,
+ l = this.getSelection(),
+ c = this._root;
+ if (!X && !j && s) {
+ for (n = (t = xe(l, c)) === Se(l, c) && t || c, l = l.cloneRange(), Te(l), Ee(l, n, n, c), r = l.cloneContents(), (i = l.commonAncestorContainer).nodeType === R && (i = i.parentNode); i && i !== n;)(o = i.cloneNode(!1)).appendChild(r), r = o, i = i.parentNode;
+ (a = this.createElement("div")).appendChild(r), Ze(s, a, c, this._config), e.preventDefault()
+ }
+ },
+ et = function (e) {
+ var t, n, r, i, o, a = e.clipboardData,
+ s = a && a.items,
+ l = this.isShiftDown,
+ c = !1,
+ u = !1,
+ d = null,
+ h = this;
+ if (s) {
+ for (e.preventDefault(), t = s.length; t--;) {
+ if (r = (n = s[t]).type, !l && "text/html" === r) return void n.getAsString((function (e) {
+ h.insertHTML(e, !0)
+ }));
+ "text/plain" === r && (d = n), !l && /^image\/.*/.test(r) && (u = !0)
+ }
+ u ? (this.fireEvent("dragover", {
+ dataTransfer: a,
+ preventDefault: function () {
+ c = !0
+ }
+ }), c && this.fireEvent("drop", {
+ dataTransfer: a
+ })) : d && d.getAsString((function (e) {
+ h.insertPlainText(e, !0)
+ }))
+ } else {
+ if (i = a && a.types, !X && i && (ae.call(i, "text/html") > -1 || !G && ae.call(i, "text/plain") > -1 && ae.call(i, "text/rtf") < 0)) return e.preventDefault(), void(!l && (o = a.getData("text/html")) ? this.insertHTML(o, !0) : ((o = a.getData("text/plain")) || (o = a.getData("text/uri-list"))) && this.insertPlainText(o, !0));
+ this._awaitingPaste = !0;
+ var f = this._doc.body,
+ p = this.getSelection(),
+ g = p.startContainer,
+ m = p.startOffset,
+ y = p.endContainer,
+ b = p.endOffset,
+ C = this.createElement("DIV", {
+ contenteditable: "true",
+ style: "position:fixed; overflow:hidden; top:0; right:100%; width:1px; height:1px;"
+ });
+ f.appendChild(C), p.selectNodeContents(C), this.setSelection(p), setTimeout((function () {
+ try {
+ h._awaitingPaste = !1;
+ for (var e, t, n = "", r = C; C = r;) r = C.nextSibling, v(C), (e = C.firstChild) && e === C.lastChild && "DIV" === e.nodeName && (C = e), n += C.innerHTML;
+ t = h.createRange(g, m, y, b), h.setSelection(t), n && h.insertHTML(n, !0)
+ } catch (e) {
+ h.didError(e)
+ }
+ }), 0)
+ }
+ },
+ tt = function (e) {
+ for (var t = e.dataTransfer.types, n = t.length, r = !1, i = !1; n--;) switch (t[n]) {
+ case "text/plain":
+ r = !0;
+ break;
+ case "text/html":
+ i = !0;
+ break;
+ default:
+ return
+ }(i || r) && this.saveUndoState()
+ },
+ nt = M.prototype,
+ rt = function (e, t, n) {
+ var r = n._doc,
+ i = e ? DOMPurify.sanitize(e, {
+ ALLOW_UNKNOWN_PROTOCOLS: !0,
+ WHOLE_DOCUMENT: !1,
+ RETURN_DOM: !0,
+ RETURN_DOM_FRAGMENT: !0
+ }) : null;
+ return i ? r.importNode(i, !0) : r.createDocumentFragment()
+ };
+ nt.setConfig = function (e) {
+ return (e = L({
+ blockTag: "DIV",
+ blockAttributes: null,
+ tagAttributes: {
+ blockquote: null,
+ ul: null,
+ ol: null,
+ li: null,
+ a: null
+ },
+ classNames: {
+ colour: "colour",
+ fontFamily: "font",
+ fontSize: "size",
+ highlight: "highlight"
+ },
+ leafNodeNames: ue,
+ undo: {
+ documentSizeThreshold: -1,
+ undoLimit: -1
+ },
+ isInsertedHTMLSanitized: !0,
+ isSetHTMLSanitized: !0,
+ sanitizeToDOMFragment: "undefined" != typeof DOMPurify && DOMPurify.isSupported ? rt : null,
+ willCutCopy: null,
+ allowedBlocks: []
+ }, e, !0)).blockTag = e.blockTag.toUpperCase(), this._config = e, this
+ }, nt.createElement = function (e, t, n) {
+ return C(this._doc, e, t, n)
+ }, nt.createDefaultBlock = function (e) {
+ var t = this._config;
+ return w(this.createElement(t.blockTag, t.blockAttributes, e), this._root)
+ }, nt.didError = function (e) {
+ console.log(e)
+ }, nt.getDocument = function () {
+ return this._doc
+ }, nt.getRoot = function () {
+ return this._root
+ }, nt.modifyDocument = function (e) {
+ var t = this._mutation;
+ t && (t.takeRecords().length && this._docWasChanged(), t.disconnect()), this._ignoreAllChanges = !0, e(), this._ignoreAllChanges = !1, t && (t.observe(this._root, {
+ childList: !0,
+ attributes: !0,
+ characterData: !0,
+ subtree: !0
+ }), this._ignoreChange = !1)
+ };
+ var it = {
+ pathChange: 1,
+ select: 1,
+ input: 1,
+ undoStateChange: 1
+ };
+ nt.fireEvent = function (e, t) {
+ var n, r, i, o = this._events[e];
+ if (/^(?:focus|blur)/.test(e))
+ if (n = this._root === this._doc.activeElement, "focus" === e) {
+ if (!n || this._isFocused) return this;
+ this._isFocused = !0
+ } else {
+ if (n || !this._isFocused) return this;
+ this._isFocused = !1
+ } if (o)
+ for (t || (t = {}), t.type !== e && (t.type = e), r = (o = o.slice()).length; r--;) {
+ i = o[r];
+ try {
+ i.handleEvent ? i.handleEvent(t) : i.call(this, t)
+ } catch (t) {
+ t.details = "Squire: fireEvent error. Event type: " + e, this.didError(t)
+ }
+ }
+ return this
+ }, nt.destroy = function () {
+ var e, t = this._events;
+ for (e in t) this.removeEventListener(e);
+ this._mutation && this._mutation.disconnect(), delete this._root.__squire__, this._undoIndex = -1, this._undoStack = [], this._undoStackLength = 0
+ }, nt.handleEvent = function (e) {
+ this.fireEvent(e.type, e)
+ }, nt.addEventListener = function (e, t) {
+ var n = this._events[e],
+ r = this._root;
+ return t ? (n || (n = this._events[e] = [], it[e] || ("selectionchange" === e && (r = this._doc), r.addEventListener(e, this, !0))), n.push(t), this) : (this.didError({
+ name: "Squire: addEventListener with null or undefined fn",
+ message: "Event type: " + e
+ }), this)
+ }, nt.removeEventListener = function (e, t) {
+ var n, r = this._events[e],
+ i = this._root;
+ if (r) {
+ if (t)
+ for (n = r.length; n--;) r[n] === t && r.splice(n, 1);
+ else r.length = 0;
+ r.length || (delete this._events[e], it[e] || ("selectionchange" === e && (i = this._doc), i.removeEventListener(e, this, !0)))
+ }
+ return this
+ }, nt.createRange = function (e, t, n, r) {
+ if (e instanceof this._win.Range) return e.cloneRange();
+ var i = this._doc.createRange();
+ return i.setStart(e, t), n ? i.setEnd(n, r) : i.setEnd(e, t), i
+ }, nt.getCursorPosition = function (e) {
+ if (!e && !(e = this.getSelection()) || !e.getBoundingClientRect) return null;
+ var t, n, r = e.getBoundingClientRect();
+ return r && !r.top && (this._ignoreChange = !0, (t = this._doc.createElement("SPAN")).textContent = U, ye(e, t), r = t.getBoundingClientRect(), (n = t.parentNode).removeChild(t), E(n, e), this._ignoreChange = !1), r
+ }, nt._moveCursorTo = function (e) {
+ var t = this._root,
+ n = this.createRange(t, e ? 0 : t.childNodes.length);
+ return Te(n), this.setSelection(n), this
+ }, nt.moveCursorToStart = function () {
+ return this._moveCursorTo(!0)
+ }, nt.moveCursorToEnd = function () {
+ return this._moveCursorTo(!1)
+ };
+ var ot = function (e) {
+ return e._win.getSelection() || null
+ };
+ nt.setSelection = function (e) {
+ if (e)
+ if (this._lastSelection = e, this._isFocused)
+ if (z && !this._restoreSelection) A.call(this), this.blur(), this.focus();
+ else {
+ j && this._win.focus();
+ var t = ot(this);
+ t && (t.removeAllRanges(), t.addRange(e))
+ }
+ else A.call(this);
+ return this
+ }, nt.getSelection = function () {
+ var e, t, n, r, o = ot(this),
+ a = this._root;
+ return this._isFocused && o && o.rangeCount && (t = (e = o.getRangeAt(0).cloneRange()).startContainer, n = e.endContainer, t && i(t) && e.setStartBefore(t), n && i(n) && e.setEndBefore(n)), e && g(a, e.commonAncestorContainer) ? this._lastSelection = e : g((r = (e = this._lastSelection).commonAncestorContainer).ownerDocument, r) || (e = null), e || (e = this.createRange(a.firstChild, 0)), e
+ }, nt.getSelectedText = function () {
+ var e = this.getSelection();
+ if (!e || e.collapsed) return "";
+ var t, n = new r(e.commonAncestorContainer, 4 | F, (function (t) {
+ return _e(e, t, !0)
+ })),
+ i = e.startContainer,
+ o = e.endContainer,
+ s = n.currentNode = i,
+ l = "",
+ c = !1;
+ for (n.filter(s) || (s = n.nextNode()); s;) s.nodeType === R ? (t = s.data) && /\S/.test(t) && (s === o && (t = t.slice(0, e.endOffset)), s === i && (t = t.slice(e.startOffset)), l += t, c = !0) : ("BR" === s.nodeName || c && !a(s)) && (l += "\n", c = !1), s = n.nextNode();
+ return l
+ }, nt.getPath = function () {
+ return this._path
+ };
+ var at = function (e, t) {
+ for (var n, i, o, s = new r(e, 4); i = s.nextNode();)
+ for (;
+ (o = i.data.indexOf(U)) > -1 && (!t || i.parentNode !== t);) {
+ if (1 === i.length) {
+ do {
+ (n = i.parentNode).removeChild(i), i = n, s.currentNode = n
+ } while (a(i) && !m(i));
+ break
+ }
+ i.deleteData(o, 1)
+ }
+ };
+ nt._didAddZWS = function () {
+ this._hasZWS = !0
+ }, nt._removeZWS = function () {
+ this._hasZWS && (at(this._root), this._hasZWS = !1)
+ }, nt._updatePath = function (e, t) {
+ if (e) {
+ var n, r = e.startContainer,
+ i = e.endContainer;
+ (t || r !== this._lastAnchorNode || i !== this._lastFocusNode) && (this._lastAnchorNode = r, this._lastFocusNode = i, n = r && i ? r === i ? function e(t, n, r) {
+ var i, o, a, s, l, c = "";
+ return t && t !== n && (c = e(t.parentNode, n, r), t.nodeType === I && (c += (c ? ">" : "") + t.nodeName, (i = t.id) && (c += "#" + i), (o = t.className.trim()) && ((a = o.split(/\s\s*/)).sort(), c += ".", c += a.join(".")), (s = t.dir) && (c += "[dir=" + s + "]"), a && (l = r.classNames, ae.call(a, l.highlight) > -1 && (c += "[backgroundColor=" + t.style.backgroundColor.replace(/ /g, "") + "]"), ae.call(a, l.colour) > -1 && (c += "[color=" + t.style.color.replace(/ /g, "") + "]"), ae.call(a, l.fontFamily) > -1 && (c += "[fontFamily=" + t.style.fontFamily.replace(/ /g, "") + "]"), ae.call(a, l.fontSize) > -1 && (c += "[fontSize=" + t.style.fontSize + "]")))), c
+ }(i, this._root, this._config) : "(selection)" : "", this._path !== n && (this._path = n, this.fireEvent("pathChange", {
+ path: n
+ }))), this.fireEvent(e.collapsed ? "cursor" : "select", {
+ range: e
+ })
+ }
+ }, nt._updatePathOnEvent = function (e) {
+ var t = this;
+ t._isFocused && !t._willUpdatePath && (t._willUpdatePath = !0, setTimeout((function () {
+ t._willUpdatePath = !1, t._updatePath(t.getSelection())
+ }), 0))
+ }, nt.focus = function () {
+ if (Q) {
+ try {
+ this._root.setActive()
+ } catch (e) {}
+ this.fireEvent("focus")
+ } else this._root.focus();
+ return this
+ }, nt.blur = function () {
+ return this._root.blur(), Q && this.fireEvent("blur"), this
+ };
+ var st = "squire-selection-end";
+ nt._saveRangeToBookmark = function (e) {
+ var t, n = this.createElement("INPUT", {
+ id: "squire-selection-start",
+ type: "hidden"
+ }),
+ r = this.createElement("INPUT", {
+ id: st,
+ type: "hidden"
+ });
+ ye(e, n), e.collapse(!1), ye(e, r), 2 & n.compareDocumentPosition(r) && (n.id = st, r.id = "squire-selection-start", t = n, n = r, r = t), e.setStartAfter(n), e.setEndBefore(r)
+ }, nt._getRangeAndRemoveBookmark = function (e) {
+ var t = this._root,
+ n = t.querySelector("#squire-selection-start"),
+ r = t.querySelector("#" + st);
+ if (n && r) {
+ var i = n.parentNode,
+ o = r.parentNode,
+ a = ae.call(i.childNodes, n),
+ s = ae.call(o.childNodes, r);
+ i === o && (s -= 1), v(n), v(r), e || (e = this._doc.createRange()), e.setStart(i, a), e.setEnd(o, s), E(i, e), i !== o && E(o, e), e.collapsed && ((i = e.startContainer).nodeType === R && ((o = i.childNodes[e.startOffset]) && o.nodeType === R || (o = i.childNodes[e.startOffset - 1]), o && o.nodeType === R && (e.setStart(o, 0), e.collapse(!0))))
+ }
+ return e || null
+ }, nt._keyUpDetectChange = function (e) {
+ var t = e.keyCode;
+ e.ctrlKey || e.metaKey || e.altKey || !(t < 16 || t > 20) || !(t < 33 || t > 45) || this._docWasChanged()
+ }, nt._docWasChanged = function () {
+ if (ie && (ge = new WeakMap), !this._ignoreAllChanges) {
+ if (re && this._ignoreChange) return void(this._ignoreChange = !1);
+ this._isInUndoState && (this._isInUndoState = !1, this.fireEvent("undoStateChange", {
+ canUndo: !0,
+ canRedo: !1
+ })), this.fireEvent("input")
+ }
+ }, nt._recordUndoState = function (e, t) {
+ if (!this._isInUndoState || t) {
+ var n, r = this._undoIndex,
+ i = this._undoStack,
+ o = this._config.undo,
+ a = o.documentSizeThreshold,
+ s = o.undoLimit;
+ t || (r += 1), r < this._undoStackLength && (i.length = this._undoStackLength = r), e && this._saveRangeToBookmark(e), n = this._getHTML(), a > -1 && 2 * n.length > a && s > -1 && r > s && (i.splice(0, r - s), r = s, this._undoStackLength = s), i[r] = n, this._undoIndex = r, this._undoStackLength += 1, this._isInUndoState = !0
+ }
+ }, nt.saveUndoState = function (e) {
+ return e === n && (e = this.getSelection()), this._recordUndoState(e, this._isInUndoState), this._getRangeAndRemoveBookmark(e), this
+ }, nt.undo = function () {
+ if (0 !== this._undoIndex || !this._isInUndoState) {
+ this._recordUndoState(this.getSelection(), !1), this._undoIndex -= 1, this._setHTML(this._undoStack[this._undoIndex]);
+ var e = this._getRangeAndRemoveBookmark();
+ e && this.setSelection(e), this._isInUndoState = !0, this.fireEvent("undoStateChange", {
+ canUndo: 0 !== this._undoIndex,
+ canRedo: !0
+ }), this.fireEvent("input")
+ }
+ return this
+ }, nt.redo = function () {
+ var e = this._undoIndex,
+ t = this._undoStackLength;
+ if (e + 1 < t && this._isInUndoState) {
+ this._undoIndex += 1, this._setHTML(this._undoStack[this._undoIndex]);
+ var n = this._getRangeAndRemoveBookmark();
+ n && this.setSelection(n), this.fireEvent("undoStateChange", {
+ canUndo: !0,
+ canRedo: e + 2 < t
+ }), this.fireEvent("input")
+ }
+ return this
+ }, nt.hasFormat = function (e, t, n) {
+ if (e = e.toUpperCase(), t || (t = {}), !n && !(n = this.getSelection())) return !1;
+ !n.collapsed && n.startContainer.nodeType === R && n.startOffset === n.startContainer.length && n.startContainer.nextSibling && n.setStartBefore(n.startContainer.nextSibling), !n.collapsed && n.endContainer.nodeType === R && 0 === n.endOffset && n.endContainer.previousSibling && n.setEndAfter(n.endContainer.previousSibling);
+ var i, o, a = this._root,
+ s = n.commonAncestorContainer;
+ if (p(s, a, e, t)) return !0;
+ if (s.nodeType === R) return !1;
+ i = new r(s, 4, (function (e) {
+ return _e(n, e, !0)
+ }));
+ for (var l = !1; o = i.nextNode();) {
+ if (!p(o, a, e, t)) return !1;
+ l = !0
+ }
+ return l
+ }, nt.getFontInfo = function (e) {
+ var t, r, i, o = {
+ color: n,
+ backgroundColor: n,
+ family: n,
+ size: n
+ },
+ a = 0;
+ if (!e && !(e = this.getSelection())) return o;
+ if (t = e.commonAncestorContainer, e.collapsed || t.nodeType === R)
+ for (t.nodeType === R && (t = t.parentNode); a < 4 && t;)(r = t.style) && (!o.color && (i = r.color) && (o.color = i, a += 1), !o.backgroundColor && (i = r.backgroundColor) && (o.backgroundColor = i, a += 1), !o.family && (i = r.fontFamily) && (o.family = i, a += 1), !o.size && (i = r.fontSize) && (o.size = i, a += 1)), t = t.parentNode;
+ return o
+ }, nt._addFormat = function (e, t, n) {
+ var i, o, s, l, c, u, d, h, f = this._root;
+ if (n.collapsed) {
+ for (i = w(this.createElement(e, t), f), ye(n, i), n.setStart(i.firstChild, i.firstChild.length), n.collapse(!0), h = i; a(h);) h = h.parentNode;
+ at(h, i)
+ } else {
+ if (o = new r(n.commonAncestorContainer, 4 | F, (function (e) {
+ return (e.nodeType === R || "BR" === e.nodeName || "IMG" === e.nodeName) && _e(n, e, !0)
+ })), s = n.startContainer, c = n.startOffset, l = n.endContainer, u = n.endOffset, o.currentNode = s, o.filter(s) || (s = o.nextNode(), c = 0), !s) return n;
+ do {
+ !p(d = o.currentNode, f, e, t) && (d === l && d.length > u && d.splitText(u), d === s && c && (d = d.splitText(c), l === s && (l = d, u -= c), s = d, c = 0), y(d, i = this.createElement(e, t)), i.appendChild(d))
+ } while (o.nextNode());
+ l.nodeType !== R && (d.nodeType === R ? (l = d, u = d.length) : (l = d.parentNode, u = 1)), n = this.createRange(s, c, l, u)
+ }
+ return n
+ }, nt._removeFormat = function (e, t, n, r) {
+ this._saveRangeToBookmark(n);
+ var i, o = this._doc;
+ n.collapsed && (te ? (i = o.createTextNode(U), this._didAddZWS()) : i = o.createTextNode(""), ye(n, i));
+ for (var s = n.commonAncestorContainer; a(s);) s = s.parentNode;
+ var l = n.startContainer,
+ c = n.startOffset,
+ u = n.endContainer,
+ d = n.endOffset,
+ h = [],
+ p = function (e, t) {
+ if (!_e(n, e, !1)) {
+ var r, i, o = e.nodeType === R;
+ if (!_e(n, e, !0)) return void("INPUT" === e.nodeName || o && !e.data || h.push([t, e]));
+ if (o) e === u && d !== e.length && h.push([t, e.splitText(d)]), e === l && c && (e.splitText(c), h.push([t, e]));
+ else
+ for (r = e.firstChild; r; r = i) i = r.nextSibling, p(r, t)
+ }
+ },
+ g = Array.prototype.filter.call(s.getElementsByTagName(e), (function (r) {
+ return _e(n, r, !0) && f(r, e, t)
+ }));
+ return r || g.forEach((function (e) {
+ p(e, e)
+ })), h.forEach((function (e) {
+ var t = e[0].cloneNode(!1),
+ n = e[1];
+ y(n, t), t.appendChild(n)
+ })), g.forEach((function (e) {
+ y(e, b(e))
+ })), this._getRangeAndRemoveBookmark(n), i && n.collapse(!1), E(s, n), n
+ }, nt.changeFormat = function (e, t, n, r) {
+ return n || (n = this.getSelection()) ? (this.saveUndoState(n), t && (n = this._removeFormat(t.tag.toUpperCase(), t.attributes || {}, n, r)), e && (n = this._addFormat(e.tag.toUpperCase(), e.attributes || {}, n)), this.setSelection(n), this._updatePath(n, !0), re || this._docWasChanged(), this) : this
+ };
+ var lt = {
+ DT: "DD",
+ DD: "DT",
+ LI: "LI",
+ PRE: "PRE"
+ },
+ ct = function (e, t, n, r) {
+ var i = lt[t.nodeName],
+ o = null,
+ a = T(n, r, t.parentNode, e._root),
+ s = e._config;
+ return i || (i = s.blockTag, o = s.blockAttributes), f(a, i, o) || (t = C(a.ownerDocument, i, o), a.dir && (t.dir = a.dir), y(a, t), t.appendChild(b(a)), a = t), a
+ };
+ nt.forEachBlock = function (e, t, n) {
+ if (!n && !(n = this.getSelection())) return this;
+ t && this.saveUndoState(n);
+ var r = this._root,
+ i = xe(n, r),
+ o = Se(n, r);
+ if (i && o)
+ do {
+ if (e(i) || i === o) break
+ } while (i = d(i, r));
+ return t && (this.setSelection(n), this._updatePath(n, !0), re || this._docWasChanged()), this
+ }, nt.modifyBlocks = function (e, t) {
+ if (!t && !(t = this.getSelection())) return this;
+ this._recordUndoState(t, this._isInUndoState);
+ var n, r = this._root;
+ return Me(t, r), Ee(t, r, r, r), n = be(t, r, r), ye(t, e.call(this, n)), t.endOffset < t.endContainer.childNodes.length && N(t.endContainer.childNodes[t.endOffset], r), N(t.startContainer.childNodes[t.startOffset], r), this._getRangeAndRemoveBookmark(t), this.setSelection(t), this._updatePath(t, !0), re || this._docWasChanged(), this
+ };
+ var ut = function (e) {
+ var t = this._root,
+ n = e.querySelectorAll("blockquote");
+ return Array.prototype.filter.call(n, (function (e) {
+ return !p(e.parentNode, t, "BLOCKQUOTE")
+ })).forEach((function (e) {
+ y(e, b(e))
+ })), e
+ },
+ dt = function () {
+ return this.createDefaultBlock([this.createElement("INPUT", {
+ id: "squire-selection-start",
+ type: "hidden"
+ }), this.createElement("INPUT", {
+ id: st,
+ type: "hidden"
+ })])
+ },
+ ht = function (e, t, n) {
+ for (var r, i, o, a, s = c(t, e._root), l = e._config.tagAttributes, u = l[n.toLowerCase()], d = l.li; r = s.nextNode();) "LI" === r.parentNode.nodeName && (r = r.parentNode, s.currentNode = r.lastChild), "LI" !== r.nodeName ? (a = e.createElement("LI", d), r.dir && (a.dir = r.dir), (o = r.previousSibling) && o.nodeName === n ? (o.appendChild(a), v(r)) : y(r, e.createElement(n, u, [a])), a.appendChild(b(r)), s.currentNode = a) : (i = (r = r.parentNode).nodeName) !== n && /^[OU]L$/.test(i) && y(r, e.createElement(n, u, [b(r)]))
+ },
+ ft = function (e, t) {
+ for (var n = e.commonAncestorContainer, r = e.startContainer, i = e.endContainer; n && n !== t && !/^[OU]L$/.test(n.nodeName);) n = n.parentNode;
+ if (!n || n === t) return null;
+ for (r === n && (r = r.childNodes[e.startOffset]), i === n && (i = i.childNodes[e.endOffset]); r && r.parentNode !== n;) r = r.parentNode;
+ for (; i && i.parentNode !== n;) i = i.parentNode;
+ return [n, r, i]
+ };
+ nt.increaseListLevel = function (e) {
+ if (!e && !(e = this.getSelection())) return this.focus();
+ var t = this._root,
+ n = ft(e, t);
+ if (!n) return this.focus();
+ var r = n[0],
+ i = n[1],
+ o = n[2];
+ if (!i || i === r.firstChild) return this.focus();
+ this._recordUndoState(e, this._isInUndoState);
+ var a, s, l = r.nodeName,
+ c = i.previousSibling;
+ c.nodeName !== l && (a = this._config.tagAttributes[l.toLowerCase()], c = this.createElement(l, a), r.insertBefore(c, i));
+ do {
+ s = i === o ? null : i.nextSibling, c.appendChild(i)
+ } while (i = s);
+ return (s = c.nextSibling) && N(s, t), this._getRangeAndRemoveBookmark(e), this.setSelection(e), this._updatePath(e, !0), re || this._docWasChanged(), this.focus()
+ }, nt.decreaseListLevel = function (e) {
+ if (!e && !(e = this.getSelection())) return this.focus();
+ var t = this._root,
+ n = ft(e, t);
+ if (!n) return this.focus();
+ var r = n[0],
+ i = n[1],
+ o = n[2];
+ i || (i = r.firstChild), o || (o = r.lastChild), this._recordUndoState(e, this._isInUndoState);
+ var a, s = r.parentNode,
+ l = o.nextSibling ? T(r, o.nextSibling, s, t) : r.nextSibling;
+ if (s !== t && "LI" === s.nodeName) {
+ for (s = s.parentNode; l;) a = l.nextSibling, o.appendChild(l), l = a;
+ l = r.parentNode.nextSibling
+ }
+ var c = !/^[OU]L$/.test(s.nodeName);
+ do {
+ a = i === o ? null : i.nextSibling, r.removeChild(i), c && "LI" === i.nodeName && (i = this.createDefaultBlock([b(i)])), s.insertBefore(i, l)
+ } while (i = a);
+ return r.firstChild || v(r), l && N(l, t), this._getRangeAndRemoveBookmark(e), this.setSelection(e), this._updatePath(e, !0), re || this._docWasChanged(), this.focus()
+ }, nt._ensureBottomLine = function () {
+ var e = this._root,
+ t = e.lastElementChild;
+ t && t.nodeName === this._config.blockTag && s(t) || e.appendChild(this.createDefaultBlock())
+ }, nt.setKeyHandler = function (e, t) {
+ return this._keyHandlers[e] = t, this
+ }, nt._getHTML = function () {
+ return this._root.innerHTML
+ }, nt._setHTML = function (e) {
+ var t = this._root,
+ n = t;
+ n.innerHTML = e;
+ do {
+ w(n, t)
+ } while (n = d(n, t));
+ this._ignoreChange = !0
+ }, nt.getHTML = function (e) {
+ var t, n, r, i, o, a, s = [];
+ if (e && (a = this.getSelection()) && this._saveRangeToBookmark(a), ee)
+ for (n = t = this._root; n = d(n, t);) n.textContent || n.querySelector("BR") || (r = this.createElement("BR"), n.appendChild(r), s.push(r));
+ if (i = this._getHTML().replace(/\u200B/g, ""), ee)
+ for (o = s.length; o--;) v(s[o]);
+ return a && this._getRangeAndRemoveBookmark(a), i
+ }, nt.setHTML = function (e) {
+ var t, n, r, i = this._config,
+ o = i.isSetHTMLSanitized ? i.sanitizeToDOMFragment : null,
+ a = this._root;
+ "function" == typeof o ? n = o(e, !1, this) : ((t = this.createElement("DIV")).innerHTML = e, (n = this._doc.createDocumentFragment()).appendChild(b(t))), Ke(n, i), Xe(n, a, !1), _(n, a);
+ for (var s = n; s = d(s, a);) w(s, a);
+ for (this._ignoreChange = !0; r = a.lastChild;) a.removeChild(r);
+ a.appendChild(n), w(a, a), this._undoIndex = -1, this._undoStack.length = 0, this._undoStackLength = 0, this._isInUndoState = !1;
+ var l = this._getRangeAndRemoveBookmark() || this.createRange(a.firstChild, 0);
+ return this.saveUndoState(l), this._lastSelection = l, A.call(this), this._updatePath(l, !0), this
+ }, nt.insertElement = function (e, t) {
+ if (t || (t = this.getSelection()), t.collapse(!0), a(e)) ye(t, e), t.setStartAfter(e);
+ else {
+ for (var n, r = this._root, i = xe(t, r) || r; i !== r && !i.nextSibling;) i = i.parentNode;
+ i !== r && (n = T(i.parentNode, i.nextSibling, r, r)), n ? r.insertBefore(e, n) : (r.appendChild(e), n = this.createDefaultBlock(), r.appendChild(n)), t.setStart(n, 0), t.setEnd(n, 0), Te(t)
+ }
+ return this.focus(), this.setSelection(t), this._updatePath(t), re || this._docWasChanged(), this
+ }, nt.insertImage = function (e, t) {
+ var n = this.createElement("IMG", L({
+ src: e
+ }, t, !0));
+ return this.insertElement(n), n
+ }, nt.linkRegExp = /\b((?:(?:ht|f)tps?:\/\/|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,}\/)(?:[^\s()<>]+|\([^\s()<>]+\))+(?:\((?:[^\s()<>]+|(?:\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“”‘’]))|([\w\-.%+]+@(?:[\w\-]+\.)+[A-Z]{2,}\b)(?:\?[^&?\s]+=[^&?\s]+(?:&[^&?\s]+=[^&?\s]+)*)?/i;
+ var pt = function (e, t, n) {
+ var i, o, a, s, l, c, u, d = e.ownerDocument,
+ h = new r(e, 4, (function (e) {
+ return !p(e, t, "A")
+ })),
+ f = n.linkRegExp,
+ g = n._config.tagAttributes.a;
+ if (f)
+ for (; i = h.nextNode();)
+ for (o = i.data, a = i.parentNode; s = f.exec(o);) c = (l = s.index) + s[0].length, l && (u = d.createTextNode(o.slice(0, l)), a.insertBefore(u, i)), (u = n.createElement("A", L({
+ href: s[1] ? /^(?:ht|f)tps?:/i.test(s[1]) ? s[1] : "http://" + s[1] : "mailto:" + s[0]
+ }, g, !1))).textContent = o.slice(l, c), a.insertBefore(u, i), i.data = o = o.slice(c)
+ };
+ nt.insertHTML = function (e, t) {
+ var n, r, i, o, a, s, l, c = this._config,
+ u = c.isInsertedHTMLSanitized ? c.sanitizeToDOMFragment : null,
+ h = this.getSelection(),
+ f = this._doc;
+ "function" == typeof u ? o = u(e, t, this) : (t && (n = e.indexOf("\x3c!--StartFragment--\x3e"), r = e.lastIndexOf("\x3c!--EndFragment--\x3e"), n > -1 && r > -1 && (e = e.slice(n + 20, r))), /<\/td>((?!<\/tr>)[\s\S])*$/i.test(e) && (e = "" + e + " "), /<\/tr>((?!<\/table>)[\s\S])*$/i.test(e) && (e = ""), (i = this.createElement("DIV")).innerHTML = e, (o = f.createDocumentFragment()).appendChild(b(i))), this.saveUndoState(h);
+ try {
+ for (a = this._root, s = o, l = {
+ fragment: o,
+ preventDefault: function () {
+ this.defaultPrevented = !0
+ },
+ defaultPrevented: !1
+ }, pt(o, o, this), Ke(o, c), Xe(o, a, !1), Ge(o), o.normalize(); s = d(s, o);) w(s, a);
+ t && this.fireEvent("willPaste", l), l.defaultPrevented || (we(h, l.fragment, a), re || this._docWasChanged(), h.collapse(!1), this._ensureBottomLine()), this.setSelection(h), this._updatePath(h, !0), t && this.focus()
+ } catch (e) {
+ this.didError(e)
+ }
+ return this
+ };
+ var gt = function (e) {
+ return e.split("&").join("&").split("<").join("<").split(">").join(">").split('"').join(""")
+ };
+ nt.insertPlainText = function (e, t) {
+ var n = this.getSelection();
+ if (n.collapsed && p(n.startContainer, this._root, "PRE")) {
+ var r, i, o = n.startContainer,
+ a = n.startOffset;
+ return o && o.nodeType === R || (r = this._doc.createTextNode(""), o.insertBefore(r, o.childNodes[a]), o = r, a = 0), i = {
+ text: e,
+ preventDefault: function () {
+ this.defaultPrevented = !0
+ },
+ defaultPrevented: !1
+ }, t && this.fireEvent("willPaste", i), i.defaultPrevented || (e = i.text, o.insertData(a, e), n.setStart(o, a + e.length), n.collapse(!0)), this.setSelection(n), this
+ }
+ var s, l, c, u, d = e.split("\n"),
+ h = this._config,
+ f = h.blockTag,
+ g = h.blockAttributes,
+ m = "" + f + ">",
+ v = "<" + f;
+ for (s in g) v += " " + s + '="' + gt(g[s]) + '"';
+ for (v += ">", l = 0, c = d.length; l < c; l += 1) u = d[l], u = gt(u).replace(/ (?= )/g, " "), d[l] = v + (u || " ") + m;
+ return this.insertHTML(d.join(""), t)
+ };
+ var mt = function (e, t, n) {
+ return function () {
+ return this[e](t, n), this.focus()
+ }
+ };
+ nt.addStyles = function (e) {
+ if (e) {
+ var t = this._doc.documentElement.firstChild,
+ n = this.createElement("STYLE", {
+ type: "text/css"
+ });
+ n.appendChild(this._doc.createTextNode(e)), t.appendChild(n)
+ }
+ return this
+ }, nt.bold = mt("changeFormat", {
+ tag: "B"
+ }), nt.italic = mt("changeFormat", {
+ tag: "I"
+ }), nt.underline = mt("changeFormat", {
+ tag: "U"
+ }), nt.strikethrough = mt("changeFormat", {
+ tag: "S"
+ }), nt.subscript = mt("changeFormat", {
+ tag: "SUB"
+ }, {
+ tag: "SUP"
+ }), nt.superscript = mt("changeFormat", {
+ tag: "SUP"
+ }, {
+ tag: "SUB"
+ }), nt.removeBold = mt("changeFormat", null, {
+ tag: "B"
+ }), nt.removeItalic = mt("changeFormat", null, {
+ tag: "I"
+ }), nt.removeUnderline = mt("changeFormat", null, {
+ tag: "U"
+ }), nt.removeStrikethrough = mt("changeFormat", null, {
+ tag: "S"
+ }), nt.removeSubscript = mt("changeFormat", null, {
+ tag: "SUB"
+ }), nt.removeSuperscript = mt("changeFormat", null, {
+ tag: "SUP"
+ }), nt.makeLink = function (e, t) {
+ var n = this.getSelection();
+ if (n.collapsed) {
+ var r = e.indexOf(":") + 1;
+ if (r)
+ for (;
+ "/" === e[r];) r += 1;
+ ye(n, this._doc.createTextNode(e.slice(r)))
+ }
+ return t = L(L({
+ href: e
+ }, t, !0), this._config.tagAttributes.a, !1), this.changeFormat({
+ tag: "A",
+ attributes: t
+ }, {
+ tag: "A"
+ }, n), this.focus()
+ }, nt.removeLink = function () {
+ return this.changeFormat(null, {
+ tag: "A"
+ }, this.getSelection(), !0), this.focus()
+ }, nt.setFontFace = function (e) {
+ var t = this._config.classNames.fontFamily;
+ return this.changeFormat(e ? {
+ tag: "SPAN",
+ attributes: {
+ class: t,
+ style: "font-family: " + e + ", sans-serif;"
+ }
+ } : null, {
+ tag: "SPAN",
+ attributes: {
+ class: t
+ }
+ }), this.focus()
+ }, nt.setFontSize = function (e) {
+ var t = this._config.classNames.fontSize;
+ return this.changeFormat(e ? {
+ tag: "SPAN",
+ attributes: {
+ class: t,
+ style: "font-size: " + ("number" == typeof e ? e + "px" : e)
+ }
+ } : null, {
+ tag: "SPAN",
+ attributes: {
+ class: t
+ }
+ }), this.focus()
+ }, nt.setTextColour = function (e) {
+ var t = this._config.classNames.colour;
+ return this.changeFormat(e ? {
+ tag: "SPAN",
+ attributes: {
+ class: t,
+ style: "color:" + e
+ }
+ } : null, {
+ tag: "SPAN",
+ attributes: {
+ class: t
+ }
+ }), this.focus()
+ }, nt.setHighlightColour = function (e) {
+ var t = this._config.classNames.highlight;
+ return this.changeFormat(e ? {
+ tag: "SPAN",
+ attributes: {
+ class: t,
+ style: "background-color:" + e
+ }
+ } : e, {
+ tag: "SPAN",
+ attributes: {
+ class: t
+ }
+ }), this.focus()
+ }, nt.setTextAlignment = function (e) {
+ return this.forEachBlock((function (t) {
+ var n = t.className.split(/\s+/).filter((function (e) {
+ return !!e && !/^align/.test(e)
+ })).join(" ");
+ e ? (t.className = n + " align-" + e, t.style.textAlign = e) : (t.className = n, t.style.textAlign = "")
+ }), !0), this.focus()
+ }, nt.setTextDirection = function (e) {
+ return this.forEachBlock((function (t) {
+ e ? t.dir = e : t.removeAttribute("dir")
+ }), !0), this.focus()
+ };
+ var vt = function (e) {
+ for (var t, n = this._root, i = this._doc, o = i.createDocumentFragment(), a = c(e, n); t = a.nextNode();) {
+ var s, l, u = t.querySelectorAll("BR"),
+ d = [],
+ h = u.length;
+ for (s = 0; s < h; s += 1) d[s] = Ye(u[s], !1);
+ for (; h--;) l = u[h], d[h] ? y(l, i.createTextNode("\n")) : v(l);
+ for (h = (u = t.querySelectorAll("CODE")).length; h--;) v(u[h]);
+ o.childNodes.length && o.appendChild(i.createTextNode("\n")), o.appendChild(b(t))
+ }
+ for (a = new r(o, 4); t = a.nextNode();) t.data = t.data.replace(/ /g, " ");
+ return o.normalize(), w(this.createElement("PRE", this._config.tagAttributes.pre, [o]), n)
+ },
+ yt = function (e) {
+ for (var t, n, i, o, a, s, l = this._doc, c = this._root, u = e.querySelectorAll("PRE"), d = u.length; d--;) {
+ for (n = new r(t = u[d], 4); i = n.nextNode();) {
+ for (o = (o = i.data).replace(/ (?= )/g, " "), a = l.createDocumentFragment();
+ (s = o.indexOf("\n")) > -1;) a.appendChild(l.createTextNode(o.slice(0, s))), a.appendChild(l.createElement("BR")), o = o.slice(s + 1);
+ i.parentNode.insertBefore(a, i), i.data = o
+ }
+ _(t, c), y(t, b(t))
+ }
+ return e
+ };
+ nt.code = function () {
+ var e = this.getSelection();
+ return e.collapsed || l(e.commonAncestorContainer) ? this.modifyBlocks(vt, e) : this.changeFormat({
+ tag: "CODE",
+ attributes: this._config.tagAttributes.code
+ }, null, e), this.focus()
+ }, nt.removeCode = function () {
+ var e = this.getSelection();
+ return p(e.commonAncestorContainer, this._root, "PRE") ? this.modifyBlocks(yt, e) : this.changeFormat(null, {
+ tag: "CODE"
+ }, e), this.focus()
+ }, nt.toggleCode = function () {
+ return this.hasFormat("PRE") || this.hasFormat("CODE") ? this.removeCode() : this.code(), this
+ }, nt.removeAllFormatting = function (e) {
+ if (!e && !(e = this.getSelection()) || e.collapsed) return this;
+ for (var t = this._root, n = e.commonAncestorContainer; n && !s(n);) n = n.parentNode;
+ if (n || (Me(e, t), n = t), n.nodeType === R) return this;
+ this.saveUndoState(e), Ee(e, n, n, t);
+ for (var r, i, o = n.ownerDocument, a = e.startContainer, l = e.startOffset, c = e.endContainer, u = e.endOffset, d = o.createDocumentFragment(), h = o.createDocumentFragment(), f = T(c, u, n, t), p = T(a, l, n, t); p !== f;) r = p.nextSibling, d.appendChild(p), p = r;
+ return D(this, d, h), h.normalize(), p = h.firstChild, r = h.lastChild, i = n.childNodes, p ? (n.insertBefore(h, f), l = ae.call(i, p), u = ae.call(i, r) + 1) : u = l = ae.call(i, f), e.setStart(n, l), e.setEnd(n, u), E(n, e), Te(e), this.setSelection(e), this._updatePath(e, !0), this.focus()
+ }, nt.increaseQuoteLevel = mt("modifyBlocks", (function (e) {
+ return this.createElement("BLOCKQUOTE", this._config.tagAttributes.blockquote, [e])
+ })), nt.decreaseQuoteLevel = mt("modifyBlocks", ut), nt.makeUnorderedList = mt("modifyBlocks", (function (e) {
+ return ht(this, e, "UL"), e
+ })), nt.makeOrderedList = mt("modifyBlocks", (function (e) {
+ return ht(this, e, "OL"), e
+ })), nt.removeList = mt("modifyBlocks", (function (e) {
+ var t, n, r, i, o, a = e.querySelectorAll("UL, OL"),
+ l = e.querySelectorAll("LI"),
+ c = this._root;
+ for (t = 0, n = a.length; t < n; t += 1) _(i = b(r = a[t]), c), y(r, i);
+ for (t = 0, n = l.length; t < n; t += 1) s(o = l[t]) ? y(o, this.createDefaultBlock([b(o)])) : (_(o, c), y(o, b(o)));
+ return e
+ })), M.isInline = a, M.isBlock = s, M.isContainer = l, M.getBlockWalker = c, M.getPreviousBlock = u, M.getNextBlock = d, M.areAlike = h, M.hasTagAttributes = f, M.getNearest = p, M.isOrContains = g, M.detach = v, M.replaceWith = y, M.empty = b, M.getNodeBefore = me, M.getNodeAfter = ve, M.insertNodeInRange = ye, M.extractContentsOfRange = be, M.deleteContentsOfRange = Ce, M.insertTreeFragmentIntoRange = we, M.isNodeContainedInRange = _e, M.moveRangeBoundariesDownTree = Te, M.moveRangeBoundariesUpTree = Ee, M.getStartBlockOfRange = xe, M.getEndBlockOfRange = Se, M.contentWalker = Ne, M.rangeDoesStartAtBlockBoundary = ke, M.rangeDoesEndAtBlockBoundary = Le, M.expandRangeToBlockBoundaries = Me, M.onPaste = et, M.addLinks = pt, M.splitBlock = ct, M.startSelectionId = "squire-selection-start", M.endSelectionId = st, e.exports = M
+ }(document)
+ }, function (e, t, n) {
+ "use strict";
+ var r = n(15),
+ i = n(9);
+ e.exports = function (e, t) {
+ t = (t = r(t) ? t.join(" ") : t).replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ""), i(e.className.baseVal) ? e.className = t : e.className.baseVal = t
+ }
+ }, function (e, t, n) {
+ "use strict";
+ e.exports = function (e, t) {
+ var n, r = e._feEventKey;
+ return r || (r = e._feEventKey = {}), (n = r[t]) || (n = r[t] = []), n
+ }
+ }, function (e, t, n) {
+ "use strict";
+ var r = n(9),
+ i = n(37);
+ e.exports = function (e, t) {
+ var n = location.hostname,
+ o = "TOAST UI " + e + " for " + n + ": Statistics",
+ a = window.localStorage.getItem(o);
+ (r(window.tui) || !1 !== window.tui.usageStatistics) && (a && ! function (e) {
+ return (new Date).getTime() - e > 6048e5
+ }(a) || (window.localStorage.setItem(o, (new Date).getTime()), setTimeout((function () {
+ "interactive" !== document.readyState && "complete" !== document.readyState || i("https://www.google-analytics.com/collect", {
+ v: 1,
+ t: "event",
+ tid: t,
+ cid: n,
+ dp: n,
+ dh: e,
+ el: e,
+ ec: "use"
+ })
+ }), 1e3)))
+ }
+ }, function (e, t, n) {
+ "use strict";
+ e.exports = function (e) {
+ return "boolean" == typeof e || e instanceof Boolean
+ }
+ }, function (e, t, n) {
+ "use strict";
+ var r = n(25);
+ e.exports = function (e) {
+ return !r(e)
+ }
+ }, function (e, t, n) {
+ "use strict";
+ var r = n(21),
+ i = n(15),
+ o = n(1),
+ a = n(20),
+ s = function () {
+ try {
+ return Object.defineProperty({}, "x", {}), !0
+ } catch (e) {
+ return !1
+ }
+ }(),
+ l = 0;
+
+ function c(e) {
+ e && this.set.apply(this, arguments)
+ }
+ c.prototype.set = function (e) {
+ var t = this;
+ i(e) || (e = o(arguments)), a(e, (function (e) {
+ t._addItem(e)
+ }))
+ }, c.prototype.getName = function (e) {
+ var t, n = this;
+ return a(this, (function (r, i) {
+ if (n._isEnumItem(i) && e === r) return t = i, !1
+ })), t
+ }, c.prototype._addItem = function (e) {
+ var t;
+ this.hasOwnProperty(e) || (t = this._makeEnumValue(), s ? Object.defineProperty(this, e, {
+ enumerable: !0,
+ configurable: !1,
+ writable: !1,
+ value: t
+ }) : this[e] = t)
+ }, c.prototype._makeEnumValue = function () {
+ var e;
+ return e = l, l += 1, e
+ }, c.prototype._isEnumItem = function (e) {
+ return r(this[e])
+ }, e.exports = c
+ }, function (e, t, n) {
+ "use strict";
+ (function (e) {
+ var n = function () {
+ if ("undefined" != typeof Map) return Map;
+
+ function e(e, t) {
+ var n = -1;
+ return e.some((function (e, r) {
+ return e[0] === t && (n = r, !0)
+ })), n
+ }
+ return function () {
+ function t() {
+ this.__entries__ = []
+ }
+ return Object.defineProperty(t.prototype, "size", {
+ get: function () {
+ return this.__entries__.length
+ },
+ enumerable: !0,
+ configurable: !0
+ }), t.prototype.get = function (t) {
+ var n = e(this.__entries__, t),
+ r = this.__entries__[n];
+ return r && r[1]
+ }, t.prototype.set = function (t, n) {
+ var r = e(this.__entries__, t);
+ ~r ? this.__entries__[r][1] = n : this.__entries__.push([t, n])
+ }, t.prototype.delete = function (t) {
+ var n = this.__entries__,
+ r = e(n, t);
+ ~r && n.splice(r, 1)
+ }, t.prototype.has = function (t) {
+ return !!~e(this.__entries__, t)
+ }, t.prototype.clear = function () {
+ this.__entries__.splice(0)
+ }, t.prototype.forEach = function (e, t) {
+ void 0 === t && (t = null);
+ for (var n = 0, r = this.__entries__; n < r.length; n++) {
+ var i = r[n];
+ e.call(t, i[1], i[0])
+ }
+ }, t
+ }()
+ }(),
+ r = "undefined" != typeof window && "undefined" != typeof document && window.document === document,
+ i = void 0 !== e && e.Math === Math ? e : "undefined" != typeof self && self.Math === Math ? self : "undefined" != typeof window && window.Math === Math ? window : Function("return this")(),
+ o = "function" == typeof requestAnimationFrame ? requestAnimationFrame.bind(i) : function (e) {
+ return setTimeout((function () {
+ return e(Date.now())
+ }), 1e3 / 60)
+ };
+ var a = ["top", "right", "bottom", "left", "width", "height", "size", "weight"],
+ s = "undefined" != typeof MutationObserver,
+ l = function () {
+ function e() {
+ this.connected_ = !1, this.mutationEventsAdded_ = !1, this.mutationsObserver_ = null, this.observers_ = [], this.onTransitionEnd_ = this.onTransitionEnd_.bind(this), this.refresh = function (e, t) {
+ var n = !1,
+ r = !1,
+ i = 0;
+
+ function a() {
+ n && (n = !1, e()), r && l()
+ }
+
+ function s() {
+ o(a)
+ }
+
+ function l() {
+ var e = Date.now();
+ if (n) {
+ if (e - i < 2) return;
+ r = !0
+ } else n = !0, r = !1, setTimeout(s, t);
+ i = e
+ }
+ return l
+ }(this.refresh.bind(this), 20)
+ }
+ return e.prototype.addObserver = function (e) {
+ ~this.observers_.indexOf(e) || this.observers_.push(e), this.connected_ || this.connect_()
+ }, e.prototype.removeObserver = function (e) {
+ var t = this.observers_,
+ n = t.indexOf(e);
+ ~n && t.splice(n, 1), !t.length && this.connected_ && this.disconnect_()
+ }, e.prototype.refresh = function () {
+ this.updateObservers_() && this.refresh()
+ }, e.prototype.updateObservers_ = function () {
+ var e = this.observers_.filter((function (e) {
+ return e.gatherActive(), e.hasActive()
+ }));
+ return e.forEach((function (e) {
+ return e.broadcastActive()
+ })), e.length > 0
+ }, e.prototype.connect_ = function () {
+ r && !this.connected_ && (document.addEventListener("transitionend", this.onTransitionEnd_), window.addEventListener("resize", this.refresh), s ? (this.mutationsObserver_ = new MutationObserver(this.refresh), this.mutationsObserver_.observe(document, {
+ attributes: !0,
+ childList: !0,
+ characterData: !0,
+ subtree: !0
+ })) : (document.addEventListener("DOMSubtreeModified", this.refresh), this.mutationEventsAdded_ = !0), this.connected_ = !0)
+ }, e.prototype.disconnect_ = function () {
+ r && this.connected_ && (document.removeEventListener("transitionend", this.onTransitionEnd_), window.removeEventListener("resize", this.refresh), this.mutationsObserver_ && this.mutationsObserver_.disconnect(), this.mutationEventsAdded_ && document.removeEventListener("DOMSubtreeModified", this.refresh), this.mutationsObserver_ = null, this.mutationEventsAdded_ = !1, this.connected_ = !1)
+ }, e.prototype.onTransitionEnd_ = function (e) {
+ var t = e.propertyName,
+ n = void 0 === t ? "" : t;
+ a.some((function (e) {
+ return !!~n.indexOf(e)
+ })) && this.refresh()
+ }, e.getInstance = function () {
+ return this.instance_ || (this.instance_ = new e), this.instance_
+ }, e.instance_ = null, e
+ }(),
+ c = function (e, t) {
+ for (var n = 0, r = Object.keys(t); n < r.length; n++) {
+ var i = r[n];
+ Object.defineProperty(e, i, {
+ value: t[i],
+ enumerable: !1,
+ writable: !1,
+ configurable: !0
+ })
+ }
+ return e
+ },
+ u = function (e) {
+ return e && e.ownerDocument && e.ownerDocument.defaultView || i
+ },
+ d = v(0, 0, 0, 0);
+
+ function h(e) {
+ return parseFloat(e) || 0
+ }
+
+ function f(e) {
+ for (var t = [], n = 1; n < arguments.length; n++) t[n - 1] = arguments[n];
+ return t.reduce((function (t, n) {
+ return t + h(e["border-" + n + "-width"])
+ }), 0)
+ }
+
+ function p(e) {
+ var t = e.clientWidth,
+ n = e.clientHeight;
+ if (!t && !n) return d;
+ var r = u(e).getComputedStyle(e),
+ i = function (e) {
+ for (var t = {}, n = 0, r = ["top", "right", "bottom", "left"]; n < r.length; n++) {
+ var i = r[n],
+ o = e["padding-" + i];
+ t[i] = h(o)
+ }
+ return t
+ }(r),
+ o = i.left + i.right,
+ a = i.top + i.bottom,
+ s = h(r.width),
+ l = h(r.height);
+ if ("border-box" === r.boxSizing && (Math.round(s + o) !== t && (s -= f(r, "left", "right") + o), Math.round(l + a) !== n && (l -= f(r, "top", "bottom") + a)), ! function (e) {
+ return e === u(e).document.documentElement
+ }(e)) {
+ var c = Math.round(s + o) - t,
+ p = Math.round(l + a) - n;
+ 1 !== Math.abs(c) && (s -= c), 1 !== Math.abs(p) && (l -= p)
+ }
+ return v(i.left, i.top, s, l)
+ }
+ var g = "undefined" != typeof SVGGraphicsElement ? function (e) {
+ return e instanceof u(e).SVGGraphicsElement
+ } : function (e) {
+ return e instanceof u(e).SVGElement && "function" == typeof e.getBBox
+ };
+
+ function m(e) {
+ return r ? g(e) ? function (e) {
+ var t = e.getBBox();
+ return v(0, 0, t.width, t.height)
+ }(e) : p(e) : d
+ }
+
+ function v(e, t, n, r) {
+ return {
+ x: e,
+ y: t,
+ width: n,
+ height: r
+ }
+ }
+ var y = function () {
+ function e(e) {
+ this.broadcastWidth = 0, this.broadcastHeight = 0, this.contentRect_ = v(0, 0, 0, 0), this.target = e
+ }
+ return e.prototype.isActive = function () {
+ var e = m(this.target);
+ return this.contentRect_ = e, e.width !== this.broadcastWidth || e.height !== this.broadcastHeight
+ }, e.prototype.broadcastRect = function () {
+ var e = this.contentRect_;
+ return this.broadcastWidth = e.width, this.broadcastHeight = e.height, e
+ }, e
+ }(),
+ b = function (e, t) {
+ var n, r, i, o, a, s, l, u = (r = (n = t).x, i = n.y, o = n.width, a = n.height, s = "undefined" != typeof DOMRectReadOnly ? DOMRectReadOnly : Object, l = Object.create(s.prototype), c(l, {
+ x: r,
+ y: i,
+ width: o,
+ height: a,
+ top: i,
+ right: r + o,
+ bottom: a + i,
+ left: r
+ }), l);
+ c(this, {
+ target: e,
+ contentRect: u
+ })
+ },
+ C = function () {
+ function e(e, t, r) {
+ if (this.activeObservations_ = [], this.observations_ = new n, "function" != typeof e) throw new TypeError("The callback provided as parameter 1 is not a function.");
+ this.callback_ = e, this.controller_ = t, this.callbackCtx_ = r
+ }
+ return e.prototype.observe = function (e) {
+ if (!arguments.length) throw new TypeError("1 argument required, but only 0 present.");
+ if ("undefined" != typeof Element && Element instanceof Object) {
+ if (!(e instanceof u(e).Element)) throw new TypeError('parameter 1 is not of type "Element".');
+ var t = this.observations_;
+ t.has(e) || (t.set(e, new y(e)), this.controller_.addObserver(this), this.controller_.refresh())
+ }
+ }, e.prototype.unobserve = function (e) {
+ if (!arguments.length) throw new TypeError("1 argument required, but only 0 present.");
+ if ("undefined" != typeof Element && Element instanceof Object) {
+ if (!(e instanceof u(e).Element)) throw new TypeError('parameter 1 is not of type "Element".');
+ var t = this.observations_;
+ t.has(e) && (t.delete(e), t.size || this.controller_.removeObserver(this))
+ }
+ }, e.prototype.disconnect = function () {
+ this.clearActive(), this.observations_.clear(), this.controller_.removeObserver(this)
+ }, e.prototype.gatherActive = function () {
+ var e = this;
+ this.clearActive(), this.observations_.forEach((function (t) {
+ t.isActive() && e.activeObservations_.push(t)
+ }))
+ }, e.prototype.broadcastActive = function () {
+ if (this.hasActive()) {
+ var e = this.callbackCtx_,
+ t = this.activeObservations_.map((function (e) {
+ return new b(e.target, e.broadcastRect())
+ }));
+ this.callback_.call(e, t, e), this.clearActive()
+ }
+ }, e.prototype.clearActive = function () {
+ this.activeObservations_.splice(0)
+ }, e.prototype.hasActive = function () {
+ return this.activeObservations_.length > 0
+ }, e
+ }(),
+ w = "undefined" != typeof WeakMap ? new WeakMap : new n,
+ _ = function e(t) {
+ if (!(this instanceof e)) throw new TypeError("Cannot call a class as a function.");
+ if (!arguments.length) throw new TypeError("1 argument required, but only 0 present.");
+ var n = l.getInstance(),
+ r = new C(t, n, this);
+ w.set(this, r)
+ };
+ ["observe", "unobserve", "disconnect"].forEach((function (e) {
+ _.prototype[e] = function () {
+ var t;
+ return (t = w.get(this))[e].apply(t, arguments)
+ }
+ }));
+ var T = void 0 !== i.ResizeObserver ? i.ResizeObserver : _;
+ t.a = T
+ }).call(this, n(38))
+ }, function (e, t, n) {
+ "use strict";
+ var r = n(4),
+ i = n(18),
+ o = n(11),
+ a = n(26),
+ s = n(15),
+ l = n(19),
+ c = n(20),
+ u = /\s+/g;
+
+ function d() {
+ this.events = null, this.contexts = null
+ }
+ d.mixin = function (e) {
+ r(e.prototype, d.prototype)
+ }, d.prototype._getHandlerItem = function (e, t) {
+ var n = {
+ handler: e
+ };
+ return t && (n.context = t), n
+ }, d.prototype._safeEvent = function (e) {
+ var t, n = this.events;
+ return n || (n = this.events = {}), e && ((t = n[e]) || (t = [], n[e] = t), n = t), n
+ }, d.prototype._safeContext = function () {
+ var e = this.contexts;
+ return e || (e = this.contexts = []), e
+ }, d.prototype._indexOfContext = function (e) {
+ for (var t = this._safeContext(), n = 0; t[n];) {
+ if (e === t[n][0]) return n;
+ n += 1
+ }
+ return -1
+ }, d.prototype._memorizeContext = function (e) {
+ var t, n;
+ i(e) && (t = this._safeContext(), (n = this._indexOfContext(e)) > -1 ? t[n][1] += 1 : t.push([e, 1]))
+ }, d.prototype._forgetContext = function (e) {
+ var t, n;
+ i(e) && (t = this._safeContext(), (n = this._indexOfContext(e)) > -1 && (t[n][1] -= 1, t[n][1] <= 0 && t.splice(n, 1)))
+ }, d.prototype._bindEvent = function (e, t, n) {
+ var r = this._safeEvent(e);
+ this._memorizeContext(n), r.push(this._getHandlerItem(t, n))
+ }, d.prototype.on = function (e, t, n) {
+ var r = this;
+ o(e) ? (e = e.split(u), c(e, (function (e) {
+ r._bindEvent(e, t, n)
+ }))) : a(e) && (n = t, c(e, (function (e, t) {
+ r.on(t, e, n)
+ })))
+ }, d.prototype.once = function (e, t, n) {
+ var r = this;
+ if (a(e)) return n = t, void c(e, (function (e, t) {
+ r.once(t, e, n)
+ }));
+ this.on(e, (function i() {
+ t.apply(n, arguments), r.off(e, i, n)
+ }), n)
+ }, d.prototype._spliceMatches = function (e, t) {
+ var n, r = 0;
+ if (s(e))
+ for (n = e.length; r < n; r += 1) !0 === t(e[r]) && (e.splice(r, 1), n -= 1, r -= 1)
+ }, d.prototype._matchHandler = function (e) {
+ var t = this;
+ return function (n) {
+ var r = e === n.handler;
+ return r && t._forgetContext(n.context), r
+ }
+ }, d.prototype._matchContext = function (e) {
+ var t = this;
+ return function (n) {
+ var r = e === n.context;
+ return r && t._forgetContext(n.context), r
+ }
+ }, d.prototype._matchHandlerAndContext = function (e, t) {
+ var n = this;
+ return function (r) {
+ var i = e === r.handler,
+ o = t === r.context,
+ a = i && o;
+ return a && n._forgetContext(r.context), a
+ }
+ }, d.prototype._offByEventName = function (e, t) {
+ var n = this,
+ r = l(t),
+ i = n._matchHandler(t);
+ e = e.split(u), c(e, (function (e) {
+ var t = n._safeEvent(e);
+ r ? n._spliceMatches(t, i) : (c(t, (function (e) {
+ n._forgetContext(e.context)
+ })), n.events[e] = [])
+ }))
+ }, d.prototype._offByHandler = function (e) {
+ var t = this,
+ n = this._matchHandler(e);
+ c(this._safeEvent(), (function (e) {
+ t._spliceMatches(e, n)
+ }))
+ }, d.prototype._offByObject = function (e, t) {
+ var n, r = this;
+ this._indexOfContext(e) < 0 ? c(e, (function (e, t) {
+ r.off(t, e)
+ })) : o(t) ? (n = this._matchContext(e), r._spliceMatches(this._safeEvent(t), n)) : l(t) ? (n = this._matchHandlerAndContext(t, e), c(this._safeEvent(), (function (e) {
+ r._spliceMatches(e, n)
+ }))) : (n = this._matchContext(e), c(this._safeEvent(), (function (e) {
+ r._spliceMatches(e, n)
+ })))
+ }, d.prototype.off = function (e, t) {
+ o(e) ? this._offByEventName(e, t) : arguments.length ? l(e) ? this._offByHandler(e) : a(e) && this._offByObject(e, t) : (this.events = {}, this.contexts = [])
+ }, d.prototype.fire = function (e) {
+ this.invoke.apply(this, arguments)
+ }, d.prototype.invoke = function (e) {
+ var t, n, r, i;
+ if (!this.hasListener(e)) return !0;
+ for (t = this._safeEvent(e), n = Array.prototype.slice.call(arguments, 1), r = 0; t[r];) {
+ if (!1 === (i = t[r]).handler.apply(i.context, n)) return !1;
+ r += 1
+ }
+ return !0
+ }, d.prototype.hasListener = function (e) {
+ return this.getListenerLength(e) > 0
+ }, d.prototype.getListenerLength = function (e) {
+ return this._safeEvent(e).length
+ }, e.exports = d
+ }, function (e, t, n) {
+ "use strict";
+ e.exports = function (e) {
+ return null === e
+ }
+ }, function (e, t, n) {
+ "use strict";
+ var r = n(7);
+ e.exports = function (e, t) {
+ var n = document.createElement("img"),
+ i = "";
+ return r(t, (function (e, t) {
+ i += "&" + t + "=" + e
+ })), i = i.substring(1), n.src = e + "?" + i, n.style.display = "none", document.body.appendChild(n), document.body.removeChild(n), n
+ }
+ }, function (e, t) {
+ var n;
+ n = function () {
+ return this
+ }();
+ try {
+ n = n || new Function("return this")()
+ } catch (e) {
+ "object" == typeof window && (n = window)
+ }
+ e.exports = n
+ }, function (e, t, n) {}, function (e, t, n) {}, function (e, t, n) {}, function (e, t, n) {}, function (e, t, n) {
+ "use strict";
+ n.r(t);
+ var r = n(7),
+ i = n.n(r),
+ o = n(18),
+ a = n.n(o),
+ s = n(21),
+ l = n.n(s),
+ c = n(4),
+ u = n.n(c),
+ d = n(0),
+ h = n.n(d),
+ f = n(2),
+ p = n.n(f),
+ g = n(3),
+ m = n.n(g),
+ v = n(17);
+
+ function y() {
+ return (y = Object.assign || function (e) {
+ for (var t = 1; t < arguments.length; t++) {
+ var n = arguments[t];
+ for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
+ }
+ return e
+ }).apply(this, arguments)
+ }
+ var b = {
+ paragraph: function (e, t) {
+ var n = t.entering,
+ r = t.origin,
+ i = t.options,
+ o = i.nodeId,
+ a = i.customProp,
+ s = (void 0 === a ? {} : a).showFrontMatter && e.customType;
+ return o && !e.customType || s ? {
+ type: n ? "openTag" : "closeTag",
+ outerNewLine: !0,
+ tagName: "p"
+ } : r()
+ },
+ softbreak: function (e) {
+ return {
+ type: "html",
+ content: e.prev && "htmlInline" === e.prev.type && / /.test(e.prev.literal) ? "\n" : " \n"
+ }
+ },
+ item: function (e, t) {
+ if (t.entering) {
+ var n = {},
+ r = [];
+ return e.listData.task && (n["data-te-task"] = "", r.push("task-list-item"), e.listData.checked && r.push("checked")), {
+ type: "openTag",
+ tagName: "li",
+ classNames: r,
+ attributes: n,
+ outerNewLine: !0
+ }
+ }
+ return {
+ type: "closeTag",
+ tagName: "li",
+ outerNewLine: !0
+ }
+ },
+ code: function (e) {
+ return [{
+ type: "openTag",
+ tagName: "code",
+ attributes: {
+ "data-backticks": e.tickCount
+ }
+ }, {
+ type: "text",
+ content: e.literal
+ }, {
+ type: "closeTag",
+ tagName: "code"
+ }]
+ },
+ codeBlock: function (e) {
+ var t = e.info ? e.info.split(/\s+/) : [],
+ n = [],
+ r = {};
+ if (e.fenceLength > 3 && (r["data-backticks"] = e.fenceLength), t.length > 0 && t[0].length > 0) {
+ var i = t[0];
+ n.push("lang-" + i), r["data-language"] = i
+ }
+ return [{
+ type: "openTag",
+ tagName: "pre",
+ classNames: n
+ }, {
+ type: "openTag",
+ tagName: "code",
+ attributes: r
+ }, {
+ type: "text",
+ content: e.literal
+ }, {
+ type: "closeTag",
+ tagName: "code"
+ }, {
+ type: "closeTag",
+ tagName: "pre"
+ }]
+ }
+ };
+
+ function C(e, t) {
+ var n = y({}, b);
+ return e && (n.link = function (t, n) {
+ var r = n.entering,
+ i = (0, n.origin)();
+ return r && (i.attributes = y({}, i.attributes, e)), i
+ }), t && Object.keys(t).forEach((function (e) {
+ var r = n[e],
+ i = t[e];
+ n[e] = r ? function (e, t) {
+ var n = y({}, t);
+ return n.origin = function () {
+ return r(e, t)
+ }, i(e, n)
+ } : i
+ })), n
+ }
+ var w = n(9),
+ _ = n.n(w),
+ T = n(30),
+ E = n.n(T),
+ x = /Mac/.test(navigator.platform);
+
+ function S(e, t) {
+ return -1 !== e.indexOf(t)
+ }
+ var N = ["rel", "target", "contenteditable", "hreflang", "type"];
+
+ function k(e) {
+ if (!e) return null;
+ var t = {};
+ return N.forEach((function (n) {
+ _()(e[n]) || (t[n] = e[n])
+ })), t
+ }
+ var L = n(31),
+ M = n.n(L),
+ A = n(6),
+ B = n.n(A),
+ O = /^(\s*)((\d+)([.)]\s(?:\[(?:x|\s)\]\s)?))(.*)/;
+
+ function D(e, t, n, r) {
+ var i, o, a, s, l = n,
+ c = r.getLine(e);
+ do {
+ var u = O.exec(c);
+ if (i = u[1], o = u[4], a = u[5], (s = i.length) === t) r.replaceRange("" + i + l + o + a, {
+ line: e,
+ ch: 0
+ }, {
+ line: e,
+ ch: c.length
+ }), l += 1, e += 1;
+ else {
+ if (!(s > t)) return e;
+ e = D(e, s, 1, r)
+ }
+ c = r.getLine(e)
+ } while (O.test(c));
+ return e
+ }
+
+ function I(e, t) {
+ for (var n = e, r = t.getLine(e); O.test(r);) n -= 1, r = t.getLine(n);
+ return e === n ? n = -1 : n += 1, n
+ }
+ B.a.commands.indentLessOrderedList = function (e) {
+ return e.getOption("disableInput") ? B.a.Pass : (e.execCommand("indentLess"), e.execCommand("fixOrderedListNumber"), null)
+ }, B.a.commands.fixOrderedListNumber = function (e) {
+ if (e.getOption("disableInput") || e.state.isCursorInCodeBlock) return B.a.Pass;
+ for (var t = e.listSelections(), n = 0; n < t.length; n += 1) {
+ var r = I(t[n].head.line, e);
+ if (r >= 0) {
+ var i = e.getLine(r),
+ o = O.exec(i),
+ a = o[1],
+ s = o[3];
+ D(r, a.length, parseInt(s, 10), e)
+ }
+ }
+ return null
+ }, B.a.overlayMode = function (e, t, n) {
+ return {
+ startState: function () {
+ return {
+ base: B.a.startState(e),
+ overlay: B.a.startState(t),
+ basePos: 0,
+ baseCur: null,
+ overlayPos: 0,
+ overlayCur: null,
+ streamSeen: null
+ }
+ },
+ copyState: function (n) {
+ return {
+ base: B.a.copyState(e, n.base),
+ overlay: B.a.copyState(t, n.overlay),
+ basePos: n.basePos,
+ baseCur: null,
+ overlayPos: n.overlayPos,
+ overlayCur: null
+ }
+ },
+ token: function (r, i) {
+ return (r != i.streamSeen || Math.min(i.basePos, i.overlayPos) < r.start) && (i.streamSeen = r, i.basePos = i.overlayPos = r.start), r.start == i.basePos && (i.baseCur = e.token(r, i.base), i.basePos = r.pos), r.start == i.overlayPos && (r.pos = r.start, i.overlayCur = t.token(r, i.overlay), i.overlayPos = r.pos), r.pos = Math.min(i.basePos, i.overlayPos), null == i.overlayCur ? i.baseCur : null != i.baseCur && i.overlay.combineTokens || n && null == i.overlay.combineTokens ? i.baseCur + " " + i.overlayCur : i.overlayCur
+ },
+ indent: e.indent && function (t, n) {
+ return e.indent(t.base, n)
+ },
+ electricChars: e.electricChars,
+ innerMode: function (t) {
+ return {
+ state: t.base,
+ mode: e
+ }
+ },
+ blankLine: function (n) {
+ e.blankLine && e.blankLine(n.base), t.blankLine && t.blankLine(n.overlay)
+ }
+ }
+ };
+ var R = /^(\s*)(>[> ]*|[*+-] \[[x ]\]\s|[*+-]\s|(\d+)([.)]\s))(\s*)/,
+ P = /^(\s*)(>[> ]*|[*+-] \[[x ]\]|[*+-]|(\d+)[.)])(\s*)$/,
+ H = /[*+-]\s/;
+
+ function F(e, t) {
+ var n = t.line,
+ r = 0,
+ i = 0,
+ o = R.exec(e.getLine(n)),
+ a = o[1];
+ do {
+ var s = n + (r += 1),
+ l = e.getLine(s),
+ c = R.exec(l);
+ if (c) {
+ var u = c[1],
+ d = parseInt(o[3], 10) + r - i,
+ h = parseInt(c[3], 10),
+ f = h;
+ if (a !== u || isNaN(h)) {
+ if (a.length > u.length) return;
+ if (a.length < u.length && 1 === r) return;
+ i += 1
+ } else d === h && (f = h + 1), d > h && (f = d + 1), e.replaceRange(l.replace(R, u + f + c[4] + c[5]), {
+ line: s,
+ ch: 0
+ }, {
+ line: s,
+ ch: l.length
+ })
+ }
+ } while (c)
+ }
+
+ function U(e) {
+ return W(e) && e.anchor.ch === e.head.ch
+ }
+
+ function W(e) {
+ return e.anchor.line === e.head.line
+ }
+
+ function q(e, t, n, r) {
+ var i = e.getLine(n.line),
+ o = e.getLine(n.line + r),
+ a = {
+ anchor: t,
+ head: n
+ };
+ e.replaceRange(o, {
+ line: n.line,
+ ch: 0
+ }, {
+ line: n.line,
+ ch: i.length
+ }, "+input"), e.replaceRange(i, {
+ line: n.line + r,
+ ch: 0
+ }, {
+ line: n.line + r,
+ ch: o.length
+ }, "+input"), U(a) ? e.setCursor({
+ line: n.line + r,
+ ch: n.ch
+ }) : e.setSelection({
+ line: t.line + r,
+ ch: t.ch
+ }, {
+ line: n.line + r,
+ ch: n.ch
+ })
+ }
+
+ function z(e, t, n, r) {
+ var i, o = e.getRange({
+ line: t.line,
+ ch: 0
+ }, {
+ line: n.line,
+ ch: e.getLine(n.line).length
+ }),
+ a = r > 0 ? n : t,
+ s = e.getLine(a.line + r);
+ i = r > 0 ? t : n, e.replaceRange(s, {
+ line: i.line,
+ ch: 0
+ }, {
+ line: i.line,
+ ch: e.getLine(i.line).length
+ }, "+input"), e.replaceRange(o, {
+ line: t.line + r,
+ ch: 0
+ }, {
+ line: n.line + r,
+ ch: e.getLine(n.line + r).length
+ }, "+input"), e.setSelection({
+ line: t.line + r,
+ ch: t.ch
+ }, {
+ line: n.line + r,
+ ch: n.ch
+ })
+ }
+
+ function j(e) {
+ e.state.placeholder && (e.state.placeholder.parentNode.removeChild(e.state.placeholder), e.state.placeholder = null)
+ }
+
+ function V(e) {
+ j(e);
+ var t = e.state.placeholder = document.createElement("pre");
+ t.style.cssText = "height: 0; overflow: visible", t.className = "CodeMirror-placeholder";
+ var n = e.getOption("placeholder");
+ "string" == typeof n && (n = document.createTextNode(n)), t.appendChild(n), e.display.lineSpace.insertBefore(t, e.display.lineSpace.firstChild)
+ }
+
+ function K(e) {
+ $(e) && V(e)
+ }
+
+ function G(e) {
+ var t = e.getWrapperElement(),
+ n = $(e);
+ t.className = t.className.replace(" CodeMirror-empty", "") + (n ? " CodeMirror-empty" : ""), n ? V(e) : j(e)
+ }
+
+ function $(e) {
+ return 1 === e.lineCount() && "" === e.getLine(0)
+ }
+
+ function Y() {
+ return (Y = Object.assign || function (e) {
+ for (var t = 1; t < arguments.length; t++) {
+ var n = arguments[t];
+ for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
+ }
+ return e
+ }).apply(this, arguments)
+ }
+ B.a.commands.indentOrderedList = function (e) {
+ if (e.getOption("disableInput")) return B.a.Pass;
+ for (var t = e.listSelections(), n = 0; n < t.length; n++) {
+ var r = t[n].head,
+ i = e.getLine(r.line).substr(0, r.ch);
+ R.test(i) || e.somethingSelected() ? e.indentSelection("add") : e.execCommand("insertSoftTab")
+ }
+ e.execCommand("fixOrderedListNumber")
+ }, B.a.commands.newlineAndIndentContinueMarkdownList = function (e) {
+ if (e.getOption("disableInput") || e.state.isCursorInCodeBlock) e.execCommand("newlineAndIndent");
+ else {
+ for (var t = e.listSelections(), n = [], r = 0; r < t.length; r++) {
+ var i = t[r].head,
+ o = e.getLine(i.line),
+ a = R.exec(o),
+ s = /^\s*$/.test(o.slice(0, i.ch));
+ if (!t[r].empty() || !a || s) return void e.execCommand("newlineAndIndent");
+ if (P.test(o)) />\s*$/.test(o) || e.replaceRange("", {
+ line: i.line,
+ ch: 0
+ }, {
+ line: i.line,
+ ch: i.ch + 1
+ }), n[r] = "\n";
+ else {
+ var l = a[1],
+ c = a[5],
+ u = !(H.test(a[2]) || a[2].indexOf(">") >= 0),
+ d = u ? parseInt(a[3], 10) + 1 + a[4] : a[2].replace("x", " ");
+ n[r] = "\n" + l + d + c, u && F(e, i)
+ }
+ }
+ e.replaceSelections(n)
+ }
+ }, B.a.commands.replaceLineTextToUpper = function (e) {
+ if (e.getOption("disableInput")) return B.a.Pass;
+ for (var t = e.listSelections(), n = 0; n < t.length; n++) {
+ var r = t[n],
+ i = r.anchor,
+ o = r.head;
+ if (W(r) && o.line > 0) q(e, i, o, -1);
+ else if (!U(r)) {
+ var a = i.line < o.line ? i.line : o.line;
+ if (a > 0) z(e, i.line === a ? i : o, i.line === a ? o : i, -1)
+ }
+ }
+ }, B.a.commands.replaceLineTextToLower = function (e) {
+ if (e.getOption("disableInput")) return B.a.Pass;
+ for (var t = e.listSelections(), n = 0; n < t.length; n++) {
+ var r = t[n],
+ i = r.anchor,
+ o = r.head,
+ a = o.line === e.lastLine();
+ if (W(r) && !a) q(e, i, o, 1);
+ else if (!U(r)) {
+ var s = i.line < o.line ? i.line : o.line,
+ l = i.line === s ? i : o,
+ c = i.line === s ? o : i;
+ c.line < e.lastLine() && z(e, l, c, 1)
+ }
+ }
+ }, B.a.defineOption("placeholder", "", (function (e, t, n) {
+ var r = n && n != B.a.Init;
+ if (t && !r) e.on("blur", K), e.on("change", G), e.on("swapDoc", G), G(e);
+ else if (!t && r) {
+ e.off("blur", K), e.off("change", G), e.off("swapDoc", G), j(e);
+ var i = e.getWrapperElement();
+ i.className = i.className.replace(" CodeMirror-empty", "")
+ }
+ t && !e.hasFocus() && K(e)
+ }));
+ var X, Z = function () {
+ function e(e, t) {
+ void 0 === t && (t = {}), this.editorContainerEl = e, this.cm = null, this._init(t)
+ }
+ var t = e.prototype;
+ return t._init = function (e) {
+ var t = document.createElement("textarea");
+ this.editorContainerEl.appendChild(t), e = Y({}, e, {
+ lineWrapping: !0,
+ theme: "default",
+ extraKeys: Y({
+ "Shift-Tab": "indentLess",
+ "Alt-Up": "replaceLineTextToUpper",
+ "Alt-Down": "replaceLineTextToLower"
+ }, e.extraKeys),
+ indentUnit: 4,
+ cursorScrollMargin: 12,
+ specialCharPlaceholder: function () {
+ return document.createElement("span")
+ }
+ }), this.cm = B.a.fromTextArea(t, e)
+ }, t.getCurrentRange = function () {
+ var e = this.cm.getCursor("from"),
+ t = this.cm.getCursor("to");
+ return {
+ from: e,
+ to: t,
+ collapsed: e.line === t.line && e.ch === t.ch
+ }
+ }, t.focus = function () {
+ this.cm.focus()
+ }, t.blur = function () {
+ this.cm.getInputField().blur()
+ }, t.remove = function () {
+ this.cm.toTextArea()
+ }, t.setValue = function (e, t) {
+ void 0 === t && (t = !0), this.cm.setValue(e), t && this.moveCursorToEnd(), this.cm.doc.clearHistory(), this.cm.refresh()
+ }, t.getValue = function () {
+ return this.cm.getValue("\n")
+ }, t.getEditor = function () {
+ return this.cm
+ }, t.reset = function () {
+ this.setValue("")
+ }, t.getCaretPosition = function () {
+ return this.cm.cursorCoords()
+ }, t.addWidget = function (e, t, n, r) {
+ r && (e.ch += r), this.cm.addWidget(e.end, t, !0, n)
+ }, t.replaceSelection = function (e, t) {
+ t && this.cm.setSelection(t.from, t.to), this.cm.replaceSelection(e), this.focus()
+ }, t.replaceRelativeOffset = function (e, t, n) {
+ var r = this.cm.getCursor(),
+ i = {
+ from: {
+ line: r.line,
+ ch: r.ch + t
+ },
+ to: {
+ line: r.line,
+ ch: r.ch + t + n
+ }
+ };
+ this.replaceSelection(e, i)
+ }, t.setHeight = function (e) {
+ var t = this.getWrapperElement();
+ h()(t, {
+ height: e + "px"
+ })
+ }, t.setMinHeight = function (e) {
+ var t = this.getWrapperElement();
+ h()(t, {
+ minHeight: e + "px"
+ })
+ }, t.setPlaceholder = function (e) {
+ e && this.cm.setOption("placeholder", e)
+ }, t.getWrapperElement = function () {
+ return this.cm.getWrapperElement()
+ }, t.getCursor = function (e) {
+ return this.cm.getCursor(e)
+ }, t.moveCursorToEnd = function () {
+ var e = this.getEditor().getDoc(),
+ t = e.lastLine();
+ e.setCursor(t, e.getLine(t).length)
+ }, t.moveCursorToStart = function () {
+ var e = this.getEditor().getDoc(),
+ t = e.firstLine();
+ e.setCursor(t, 0)
+ }, t.scrollTop = function (e) {
+ return e && this.cm.scrollTo(0, e), this.cm.getScrollInfo().top
+ }, t.getRange = function () {
+ var e = this.cm.getCursor("from"),
+ t = this.cm.getCursor("to");
+ return {
+ start: {
+ line: e.line,
+ ch: e.ch
+ },
+ end: {
+ line: t.line,
+ ch: t.ch
+ }
+ }
+ }, t.on = function (e, t) {
+ this.cm.on(e, t)
+ }, t.off = function (e, t) {
+ this.cm.off(e, t)
+ }, e
+ }(),
+ Q = ["", "", "", "CANCEL", "", "", "HELP", "", "BACK_SPACE", "TAB", "", "", "CLEAR", "ENTER", "ENTER_SPECIAL", "", "", "", "", "PAUSE", "CAPS_LOCK", "KANA", "EISU", "JUNJA", "FINAL", "HANJA", "", "ESCAPE", "CONVERT", "NONCONVERT", "ACCEPT", "MODECHANGE", "SPACE", "PAGE_UP", "PAGE_DOWN", "END", "HOME", "LEFT", "UP", "RIGHT", "DOWN", "SELECT", "PRINT", "EXECUTE", "PRINTSCREEN", "INSERT", "DELETE", "", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", ":", ";", "<", "=", ">", "?", "AT", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "", "", "CONTEXT_MENU", "", "SLEEP", "NUMPAD0", "NUMPAD1", "NUMPAD2", "NUMPAD3", "NUMPAD4", "NUMPAD5", "NUMPAD6", "NUMPAD7", "NUMPAD8", "NUMPAD9", "MULTIPLY", "ADD", "SEPARATOR", "SUBTRACT", "DECIMAL", "DIVIDE", "F1", "F2", "F3", "F4", "F5", "F6", "F7", "F8", "F9", "F10", "F11", "F12", "F13", "F14", "F15", "F16", "F17", "F18", "F19", "F20", "F21", "F22", "F23", "F24", "", "", "", "", "", "", "", "", "NUM_LOCK", "SCROLL_LOCK", "WIN_OEM_FJ_JISHO", "WIN_OEM_FJ_MASSHOU", "WIN_OEM_FJ_TOUROKU", "WIN_OEM_FJ_LOYA", "WIN_OEM_FJ_ROYA", "", "", "", "", "", "", "", "", "", "@", "!", '"', "#", "$", "%", "&", "_", "(", ")", "*", "+", "|", "-", "{", "}", "~", "", "", "", "", "VOLUME_MUTE", "VOLUME_DOWN", "VOLUME_UP", "", "", ";", "=", ",", "-", ".", "/", "`", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "[", "\\", "]", "'", "", "META", "ALTGR", "", "WIN_ICO_HELP", "WIN_ICO_00", "", "WIN_ICO_CLEAR", "", "", "WIN_OEM_RESET", "WIN_OEM_JUMP", "WIN_OEM_PA1", "WIN_OEM_PA2", "WIN_OEM_PA3", "WIN_OEM_WSCTRL", "WIN_OEM_CUSEL", "WIN_OEM_ATTN", "WIN_OEM_FINISH", "WIN_OEM_COPY", "WIN_OEM_AUTO", "WIN_OEM_ENLW", "WIN_OEM_BACKTAB", "ATTN", "CRSEL", "EXSEL", "EREOF", "PLAY", "ZOOM", "", "PA1", "WIN_OEM_CLEAR", ""],
+ J = function () {
+ function e(e) {
+ this._setSplitter(e)
+ }
+ var t = e.prototype;
+ return t._setSplitter = function (e) {
+ var t = e ? e.splitter : "+";
+ this._splitter = t
+ }, t.convert = function (e) {
+ var t = [];
+ e.shiftKey && t.push("SHIFT"), e.ctrlKey && t.push("CTRL"), e.metaKey && t.push("META"), e.altKey && t.push("ALT");
+ var n = this._getKeyCodeChar(e.keyCode);
+ return n && t.push(n), t.join(this._splitter)
+ }, t._getKeyCodeChar = function (e) {
+ return Q[e]
+ }, e.getSharedInstance = function () {
+ return X || (X = new e), X
+ }, e.keyCode = function (e) {
+ return Q.indexOf(e)
+ }, e
+ }(),
+ ee = /^[ \t]*([-*]|[\d]+\.)( \[[ xX]])? /,
+ te = /^[ \t]*([*-] |[\d]+\. )(\[[ xX]] )/,
+ ne = /^[ \t]*[-*] .*/,
+ re = /^[ \t]*[\d]+\. \[[ xX]] .*/,
+ ie = /([*-] |[\d]+\. )/,
+ oe = /([-*] |[\d]+\. )(\[[ xX]] )/,
+ ae = /([-*]|[\d]+\.)( \[[ xX]])? /,
+ se = /([-*])( \[[ xX]]) /,
+ le = /([\d])+\.( \[[ xX]])? /,
+ ce = /^\|([-\s\w\d\t<>?!@#$%^&*()_=+\\/'";: \r[\]]*\|+)+/i,
+ ue = /^#+\s/,
+ de = /^ {0,3}(```|\||>)/,
+ he = function () {
+ function e(e) {
+ this.cm = e.getEditor(), this.doc = this.cm.getDoc(), this.toastMark = e.getToastMark(), this.name = "list"
+ }
+ var t = e.prototype;
+ return t._createSortedLineRange = function (e) {
+ var t = e.from.line > e.to.line,
+ n = {
+ line: t ? e.to.line : e.from.line,
+ ch: 0
+ },
+ r = {
+ line: t ? e.from.line : e.to.line,
+ ch: 0
+ };
+ return {
+ start: n.line,
+ end: r.line
+ }
+ }, t._calculateOrdinalNumber = function (e) {
+ for (var t = 1, n = e - 1; n >= 0; n -= 1) {
+ var r = this._getListDepth(n);
+ if (1 === r && le.exec(this.doc.getLine(n))) {
+ t = parseInt(RegExp.$1, 10) + 1;
+ break
+ }
+ if (0 === r) break
+ }
+ return t
+ }, t._isListLine = function (e) {
+ return !!ee.exec(this.doc.getLine(e))
+ }, t._isCanBeList = function (e) {
+ var t = this.doc.getLine(e);
+ return !de.test(t) && !ce.test(t) && !ue.test(t)
+ }, t._getChangeFn = function (e) {
+ var t, n = this;
+ switch (e) {
+ case "ol":
+ case "ul":
+ t = function (t) {
+ return n._changeToList(t, e)
+ };
+ break;
+ case "task":
+ t = function (e) {
+ return n._changeToTask(e)
+ }
+ }
+ return t
+ }, t.changeSyntax = function (e, t) {
+ for (var n = [], r = this._createSortedLineRange(e), i = r.start, o = r.end, a = this._getChangeFn(t), s = i; s <= o && this._isCanBeList(s); s += 1) this._isListLine(s) || n.push(s), a(s);
+ this._insertBlankLineForNewList(n), this.cm.focus()
+ }, t._replaceLineText = function (e, t) {
+ this.doc.replaceRange(e, {
+ line: t,
+ ch: 0
+ })
+ }, t._changeToList = function (e, t) {
+ var n = this;
+ this._isListLine(e) ? this._changeSameDepthList(e, "ol" === t ? function (e, t) {
+ n._replaceListTypeToOL(e, t)
+ } : function (e) {
+ n._replaceListTypeToUL(e)
+ }) : this._replaceLineText("ol" === t ? this._calculateOrdinalNumber(e) + ". " : "* ", e)
+ }, t._changeToTask = function (e) {
+ te.exec(this.doc.getLine(e)) ? this._replaceLineTextByRegexp(e, oe, "$1") : this._isListLine(e) ? this._replaceLineTextByRegexp(e, ie, "$1[ ] ") : this._replaceLineText("* [ ] ", e)
+ }, t._getListDepth = function (e) {
+ var t = 0;
+ if (this.doc.getLine(e))
+ for (var n = this.toastMark.findFirstNodeAtLine(e + 1); n && "document" !== n.type;) "list" === n.type && (t += 1), n = n.parent;
+ return t
+ }, t._findSameDepthList = function (e, t, n) {
+ for (var r, i = this.doc.lineCount(), o = [], a = e; n ? a < i - 1 : a > 0;)
+ if (a = n ? a + 1 : a - 1, (r = this._getListDepth(a)) === t) o.push(a);
+ else if (r < t) break;
+ return o
+ }, t._changeSameDepthList = function (e, t) {
+ var n = this._getListDepth(e),
+ r = this._findSameDepthList(e, n, !1).reverse(),
+ i = this._findSameDepthList(e, n, !0);
+ r.concat([e]).concat(i).forEach((function (e, n) {
+ t(e, n + 1)
+ }))
+ }, t._replaceLineTextByRegexp = function (e, t, n) {
+ var r = this.doc.getLine(e),
+ i = {
+ line: e,
+ ch: 0
+ },
+ o = {
+ line: e,
+ ch: r.length
+ };
+ r = r.replace(t, n), this.doc.replaceRange(r, i, o)
+ }, t._replaceListTypeToUL = function (e) {
+ var t = this.doc.getLine(e);
+ se.exec(t) ? this._replaceLineTextByRegexp(e, se, "$1 ") : le.exec(t) && this._replaceLineTextByRegexp(e, le, "* ")
+ }, t._replaceListTypeToOL = function (e, t) {
+ var n = this.doc.getLine(e);
+ ne.exec(n) || re.exec(n) ? this._replaceLineTextByRegexp(e, ae, t + ". ") : le.exec(n) && parseInt(RegExp.$1, 10) !== t && this._replaceLineTextByRegexp(e, le, t + ". ")
+ }, t._insertBlankLineForNewList = function (e) {
+ var t = e.length;
+ if (t) {
+ var n = e[0],
+ r = e[t - 1];
+ this._isNotBlankNotListLine(r + 1) && this.doc.replaceRange("\n", {
+ line: r,
+ ch: this.doc.getLine(r).length
+ }), n > 0 && this._isNotBlankNotListLine(n - 1) && this.doc.replaceRange("\n", {
+ line: n,
+ ch: 0
+ })
+ }
+ }, t._isNotBlankNotListLine = function (e) {
+ return !!this.doc.getLine(e) && !this._isListLine(e)
+ }, e
+ }(),
+ fe = function () {
+ function e(e) {
+ this._managers = {}, this._editor = e
+ }
+ var t = e.prototype;
+ return t.addManager = function (e, t) {
+ t || (t = e, e = null);
+ var n = new t(this._editor);
+ this._managers[e || n.name] = n
+ }, t.getManager = function (e) {
+ return this._managers[e]
+ }, t.removeManager = function (e) {
+ var t = this.getManager(e);
+ t && (t.destroy && t.destroy(), delete this._managers[e])
+ }, e
+ }(),
+ pe = function () {
+ function e(e, t) {
+ this._mde = e, this.setRange(t || e.getRange())
+ }
+ var t = e.prototype;
+ return t._setStart = function (e) {
+ this._start = e
+ }, t._setEnd = function (e) {
+ this._end = e
+ }, t.setRange = function (e) {
+ this._setStart(e.start), this._setEnd(e.end)
+ }, t.setEndBeforeRange = function (e) {
+ this._setEnd(e.start)
+ }, t.expandStartOffset = function () {
+ var e = this._start;
+ 0 !== e.ch && (e.ch -= 1)
+ }, t.expandEndOffset = function () {
+ var e = this._end;
+ e.ch < this._mde.getEditor().getDoc().getLine(e.line).length && (e.ch += 1)
+ }, t.getTextContent = function () {
+ return this._mde.getEditor().getRange(this._start, this._end)
+ }, t.replaceContent = function (e) {
+ this._mde.getEditor().replaceRange(e, this._start, this._end, "+input")
+ }, t.deleteContent = function () {
+ this._mde.getEditor().replaceRange("", this._start, this._end, "+delete")
+ }, t.peekStartBeforeOffset = function (e) {
+ var t = {
+ line: this._start.line,
+ ch: Math.max(this._start.ch - e, 0)
+ };
+ return this._mde.getEditor().getRange(t, this._start)
+ }, e
+ }();
+
+ function ge(e) {
+ return e.sourcepos[0][0]
+ }
+
+ function me(e) {
+ return e.sourcepos[1][0]
+ }
+
+ function ve(e) {
+ return e.sourcepos[0][1]
+ }
+
+ function ye(e) {
+ return e.sourcepos[1][1]
+ }
+
+ function be(e) {
+ var t = e.type;
+ return "strike" === t || "strong" === t || "emph" === t
+ }
+
+ function Ce(e) {
+ var t = e.type;
+ return "tableCell" === t || "tableDelimCell" === t
+ }
+
+ function we(e, t, n) {
+ for (void 0 === n && (n = !0), e = n ? e : e.parent; e && "document" !== e.type;) {
+ if (t(e)) return e;
+ e = e.parent
+ }
+ return null
+ }
+
+ function _e(e, t) {
+ return {
+ line: e.line,
+ ch: e.ch + t
+ }
+ }
+
+ function Te(e, t) {
+ return {
+ line: e.line,
+ ch: t
+ }
+ }
+ var Ee = n(19),
+ xe = n.n(Ee);
+
+ function Se() {
+ return (Se = Object.assign || function (e) {
+ for (var t = 1; t < arguments.length; t++) {
+ var n = arguments[t];
+ for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
+ }
+ return e
+ }).apply(this, arguments)
+ }
+ var Ne, ke = (Ne = {
+ DELIM: "delimiter",
+ META: "meta",
+ TEXT: "marked-text",
+ THEMATIC_BREAK: "thematic-break",
+ CODE_BLOCK: "code-block",
+ TABLE: "table",
+ HTML: "html"
+ }, i()(Ne, (function (e, t) {
+ Ne[t] = Me(e)
+ })), Ne),
+ Le = {
+ strong: 2,
+ emph: 1,
+ strike: 2
+ };
+
+ function Me() {
+ for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++) t[n] = arguments[n];
+ return t.map((function (e) {
+ return "tui-md-" + e
+ })).join(" ")
+ }
+
+ function Ae(e, t, n) {
+ return {
+ start: e,
+ end: t,
+ className: n
+ }
+ }
+
+ function Be(e, t, n) {
+ var r = e.type;
+ return {
+ marks: [Ae(t, n, Me("" + r)), Ae(t, _e(t, Le[r]), ke.DELIM), Ae(_e(n, -Le[r]), n, ke.DELIM)]
+ }
+ }
+
+ function Oe(e, t, n, r) {
+ return [Ae(e, t, Me("link")), Ae(n, Te(t, r), Me("link-desc")), Ae(Te(e, n.ch + 1), Te(t, r - 1), ke.TEXT), Ae(Te(t, r), t, Me("link-url")), Ae(Te(t, r + 1), _e(t, -1), ke.TEXT)]
+ }
+
+ function De(e, t) {
+ for (var n = []; e;) {
+ var r = e.type;
+ "paragraph" !== r && "codeBlock" !== r || n.push(Ae({
+ line: ge(e) - 1,
+ ch: ve(e) - 1
+ }, {
+ line: me(e) - 1,
+ ch: ye(e)
+ }, t)), e = e.next
+ }
+ return n
+ }
+ var Ie = {
+ heading: function (e, t, n) {
+ var r = e.level,
+ i = e.headingType,
+ o = [Ae(t, n, Me("heading", "heading" + r))];
+ return "atx" === i ? o.push(Ae(t, _e(t, r), ke.DELIM)) : o.push(Ae(Te(n, 0), n, ke.DELIM + " setext")), {
+ marks: o
+ }
+ },
+ strong: Be,
+ emph: Be,
+ strike: Be,
+ link: function (e, t, n) {
+ var r = e.lastChild,
+ i = e.extendedAutolink,
+ o = r ? ye(r) + 1 : 2;
+ return {
+ marks: i ? [Ae(t, n, Me("link", "link-desc") + " " + ke.TEXT)] : Oe(t, n, t, o)
+ }
+ },
+ image: function (e, t, n) {
+ var r = e.lastChild,
+ i = r ? ye(r) + 1 : 3,
+ o = _e(t, 1);
+ return {
+ marks: [Ae(t, o, ke.META)].concat(Oe(t, n, o, i))
+ }
+ },
+ code: function (e, t, n) {
+ var r = e.tickCount,
+ i = _e(t, r),
+ o = _e(n, -r);
+ return {
+ marks: [Ae(t, n, Me("code")), Ae(t, i, ke.DELIM + " start"), Ae(i, o, ke.TEXT), Ae(o, n, ke.DELIM + " end")]
+ }
+ },
+ codeBlock: function (e, t, n, r) {
+ var i = e.fenceOffset,
+ o = e.fenceLength,
+ a = e.fenceChar,
+ s = e.info,
+ l = e.infoPadding,
+ c = e.parent,
+ u = i + o,
+ d = [Ae(Te(t, 0), n, ke.CODE_BLOCK)];
+ return a && d.push(Ae(t, _e(t, u), ke.DELIM)), s && d.push(Ae(Te(t, u), Te(t, u + l + s.length), ke.META)), new RegExp("^(\\s{0,3})(" + a + "{" + o + ",})").test(r) && d.push(Ae(Te(n, 0), n, ke.DELIM)), {
+ marks: d,
+ lineBackground: Se({}, "item" !== c.type && "blockQuote" !== c.type ? {
+ start: t.line,
+ end: n.line,
+ className: ke.CODE_BLOCK
+ } : null)
+ }
+ },
+ blockQuote: function (e, t, n) {
+ var r = e.parent && "blockQuote" !== e.parent.type ? [Ae(t, n, Me("block-quote"))] : [];
+ if (e.firstChild) {
+ var i = [];
+ "paragraph" === e.firstChild.type ? i = function (e) {
+ for (var t = []; e;) t.push(Ae({
+ line: ge(e) - 1,
+ ch: ve(e) - 1
+ }, {
+ line: me(e) - 1,
+ ch: ye(e)
+ }, ke.TEXT)), e = e.next;
+ return t
+ }(e.firstChild.firstChild, ke.TEXT) : "list" === e.firstChild.type && (i = De(e.firstChild, ke.TEXT)), r = [].concat(r, i)
+ }
+ return {
+ marks: r
+ }
+ },
+ item: function (e, t) {
+ var n = function (e) {
+ for (var t = 0; e.parent.parent && "item" === e.parent.parent.type;) e = e.parent.parent, t += 1;
+ var n = ["fisrt", "second", "third"][t % 3];
+ return Me("list-item", "" + ["list-item-odd", "list-item-even"][t % 2]) + " " + n
+ }(e),
+ r = e.listData,
+ i = r.padding,
+ o = r.task;
+ return {
+ marks: [Ae(t, _e(t, i), n + " " + Me("list-item-bullet"))].concat(o ? [Ae(_e(t, i), _e(t, i + 3), n + " " + ke.DELIM), Ae(_e(t, i + 1), _e(t, i + 2), ke.META)] : [], De(e.firstChild, n + " " + ke.TEXT))
+ }
+ }
+ },
+ Re = {
+ thematicBreak: ke.THEMATIC_BREAK,
+ table: ke.TABLE,
+ tableCell: ke.TEXT,
+ htmlInline: ke.HTML
+ };
+
+ function Pe(e, t) {
+ var n;
+ if ("undefined" == typeof Symbol || null == e[Symbol.iterator]) {
+ if (Array.isArray(e) || (n = function (e, t) {
+ if (!e) return;
+ if ("string" == typeof e) return He(e, t);
+ var n = Object.prototype.toString.call(e).slice(8, -1);
+ "Object" === n && e.constructor && (n = e.constructor.name);
+ if ("Map" === n || "Set" === n) return Array.from(e);
+ if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return He(e, t)
+ }(e)) || t && e && "number" == typeof e.length) {
+ n && (e = n);
+ var r = 0;
+ return function () {
+ return r >= e.length ? {
+ done: !0
+ } : {
+ done: !1,
+ value: e[r++]
+ }
+ }
+ }
+ throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
+ }
+ return (n = e[Symbol.iterator]()).next.bind(n)
+ }
+
+ function He(e, t) {
+ (null == t || t > e.length) && (t = e.length);
+ for (var n = 0, r = new Array(t); n < t; n++) r[n] = e[n];
+ return r
+ }
+
+ function Fe() {
+ return (Fe = Object.assign || function (e) {
+ for (var t = 1; t < arguments.length; t++) {
+ var n = arguments[t];
+ for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
+ }
+ return e
+ }).apply(this, arguments)
+ }
+ var Ue = J.getSharedInstance(),
+ We = {
+ strong: !1,
+ emph: !1,
+ strike: !1,
+ thematicBreak: !1,
+ blockQuote: !1,
+ code: !1,
+ codeBlock: !1,
+ list: !1,
+ taskList: !1,
+ orderedList: !1,
+ heading: !1,
+ table: !1
+ };
+ var qe = /x|backspace/i,
+ ze = function (e) {
+ var t, n;
+
+ function r(t, n, r, i) {
+ var o;
+ return (o = e.call(this, t, {
+ dragDrop: !0,
+ allowDropFileTypes: ["image"],
+ extraKeys: {
+ Enter: function () {
+ return o.eventManager.emit("command", "AddLine")
+ },
+ Tab: function () {
+ return o.eventManager.emit("command", "MoveNextCursorOrIndent")
+ },
+ "Shift-Tab": function () {
+ return o.eventManager.emit("command", "MovePrevCursorOrOutdent")
+ },
+ "Shift-Ctrl-X": function () {
+ return o.eventManager.emit("command", "ToggleTaskMarker")
+ }
+ },
+ viewportMargin: i && "auto" === i.height ? 1 / 0 : 10
+ }) || this).eventManager = n, o.componentManager = new fe(function (e) {
+ if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
+ return e
+ }(o)), o.toastMark = r, o.componentManager.addManager(he), o._latestState = null, o._markedLines = {}, o._initEvent(), o
+ }
+ n = e, (t = r).prototype = Object.create(n.prototype), t.prototype.constructor = t, t.__proto__ = n;
+ var i = r.prototype;
+ return i._initEvent = function () {
+ var e = this;
+ this.cm.getWrapperElement().addEventListener("click", (function () {
+ e.eventManager.emit("click", {
+ source: "markdown"
+ })
+ })), this.cm.on("beforeChange", (function (t, n) {
+ "paste" === n.origin && e.eventManager.emit("pasteBefore", {
+ source: "markdown",
+ data: n
+ })
+ })), this.cm.on("change", (function (t, n) {
+ e._refreshCodeMirrorMarks(n), e._emitMarkdownEditorChangeEvent(n)
+ })), this.cm.on("focus", (function () {
+ e.eventManager.emit("focus", {
+ source: "markdown"
+ })
+ })), this.cm.on("blur", (function () {
+ e.eventManager.emit("blur", {
+ source: "markdown"
+ })
+ })), this.cm.on("scroll", (function (t, n) {
+ e.eventManager.emit("scroll", {
+ source: "markdown",
+ data: n
+ })
+ })), this.cm.on("keydown", (function (t, n) {
+ e.eventManager.emit("keydown", {
+ source: "markdown",
+ data: n
+ }), e.eventManager.emit("keyMap", {
+ source: "markdown",
+ keyMap: Ue.convert(n),
+ data: n
+ })
+ })), this.cm.on("keyup", (function (t, n) {
+ e.eventManager.emit("keyup", {
+ source: "markdown",
+ data: n
+ });
+ var r = n.key;
+ qe.test(r) && e.eventManager.emit("command", "ChangeTaskMarker")
+ })), this.cm.on("copy", (function (t, n) {
+ e.eventManager.emit("copy", {
+ source: "markdown",
+ data: n
+ })
+ })), this.cm.on("cut", (function (t, n) {
+ e.eventManager.emit("cut", {
+ source: "markdown",
+ data: n
+ })
+ })), this.cm.on("paste", (function (t, n) {
+ e.eventManager.emit("paste", {
+ source: "markdown",
+ data: n
+ })
+ })), this.cm.on("drop", (function (t, n) {
+ n.preventDefault(), e.eventManager.emit("drop", {
+ source: "markdown",
+ data: n
+ })
+ })), this.cm.on("cursorActivity", (function () {
+ return e._onChangeCursorActivity()
+ }))
+ }, i.setValue = function (t, n) {
+ e.prototype.setValue.call(this, t, n)
+ }, i.getTextObject = function (e) {
+ return new pe(this, e)
+ }, i._emitMarkdownEditorContentChangedEvent = function (e) {
+ this.eventManager.emit("contentChangedFromMarkdown", e)
+ }, i._emitMarkdownEditorChangeEvent = function (e) {
+ if ("setValue" !== e.origin) {
+ var t = {
+ source: "markdown"
+ };
+ this.eventManager.emit("changeFromMarkdown", t), this.eventManager.emit("change", t)
+ }
+ }, i._refreshCodeMirrorMarks = function (e) {
+ var t = this,
+ n = e.from,
+ r = e.to,
+ i = e.text,
+ o = this.toastMark.editMarkdown([n.line + 1, n.ch + 1], [r.line + 1, r.ch + 1], i.join("\n"));
+ this._emitMarkdownEditorContentChangedEvent(o), o.length && o.forEach((function (e) {
+ return t._markNodes(e)
+ }))
+ }, i._markNodes = function (e) {
+ var t = e.nodes,
+ n = e.removedNodeRange;
+ if (n && this._removeBackgroundOfLines(n), t.length) {
+ for (var r, i = t[0].sourcepos[0], o = t[t.length - 1].sourcepos[1], a = {
+ line: i[0] - 1,
+ ch: i[1] - 1
+ }, s = {
+ line: o[0] - 1,
+ ch: o[1]
+ }, l = Pe(this.cm.findMarks(a, s)); !(r = l()).done;) {
+ var c = r.value;
+ c.attributes && "data-tui-mark" in c.attributes && c.clear()
+ }
+ for (var u, d = Pe(t); !(u = d()).done;)
+ for (var h = u.value.walker(), f = h.next(); f;) {
+ var p = f,
+ g = p.node;
+ p.entering && this._markNode(g), f = h.next()
+ }
+ }
+ }, i._removeBackgroundOfLines = function (e) {
+ for (var t = e.line, n = t[0], r = t[1], i = n; i <= r; i += 1) this._markedLines[i] && (this.cm.removeLineClass(i, "background"), this._markedLines[i] = !1)
+ }, i._markCodeBlockBackground = function (e) {
+ for (var t = e.start, n = e.end, r = e.className, i = t; i <= n; i += 1) {
+ var o = r;
+ i === t ? o += " start" : i === n && (o += " end"), this.cm.addLineClass(i, "background", o), this._markedLines[i] = !0
+ }
+ }, i._markNode = function (e) {
+ var t = this,
+ n = {
+ line: ge(e) - 1,
+ ch: ve(e) - 1
+ },
+ r = {
+ line: me(e) - 1,
+ ch: ye(e)
+ },
+ i = function (e, t, n, r) {
+ var i = e.type;
+ return xe()(Ie[i]) ? Ie[i](e, t, n, r) : Re[i] ? {
+ marks: [Ae(t, n, Re[i])]
+ } : null
+ }(e, n, r, this.cm.getLine(r.line));
+ if (i) {
+ var o = i.marks,
+ a = void 0 === o ? [] : o,
+ s = i.lineBackground,
+ l = void 0 === s ? {} : s;
+ a.forEach((function (e) {
+ var n, r = e.start,
+ i = e.end,
+ o = e.className,
+ a = ((n = {})["data-tui-mark"] = "", n);
+ t.cm.markText(r, i, {
+ className: o,
+ attributes: a
+ })
+ })), this._markCodeBlockBackground(l)
+ }
+ }, i._setToolbarState = function (e) {
+ if (n = this._latestState, r = e, (n || r) && (!n && r || n && !r || Object.keys(r).some((function (e) {
+ return n[e] !== r[e]
+ })))) {
+ var t = Fe({
+ source: "markdown"
+ }, e || We);
+ this.eventManager.emit("stateChange", t)
+ }
+ var n, r;
+ this._latestState = e
+ }, i._onChangeCursorActivity = function () {
+ var e = this.cm.getCursor(),
+ t = e.line,
+ n = e.ch,
+ r = t + 1,
+ i = this.cm.getLine(t).length === n ? n : n + 1,
+ o = this.toastMark.findNodeAtPosition([r, i]),
+ a = null;
+ this.cm.state.isCursorInCodeBlock = o && "codeBlock" === o.type, this.eventManager.emit("cursorActivity", {
+ source: "markdown",
+ cursor: {
+ line: t,
+ ch: n
+ },
+ markdownNode: o
+ }), o && (a = function (e, t, n, r) {
+ var i = Fe({}, We),
+ o = !1;
+ return function (e, t, n) {
+ for (void 0 === n && (n = !0), e = n ? e : e.parent; e && "document" !== e.type;) t(e), e = e.parent
+ }(e, (function (e) {
+ var t = function (e) {
+ var t = e.type,
+ n = e.listData;
+ return "list" === t || "item" === t ? n.task ? "taskList" : "ordered" === n.type ? "orderedList" : "list" : -1 !== t.indexOf("table") ? "table" : t
+ }(e);
+ M()(i[t]) && ("list" === t || "orderedList" === t ? o || (i[t] = !0, o = !0) : i[t] = !0)
+ })), be(e) && (r === t && me(e) === n || r === ye(e) + 1 && n === me(e) || r === ve(e) && n === ge(e)) && (i[e.type] = !1), i
+ }(o = "text" === o.type ? o.parent : o, n, r, i)), this._setToolbarState(a)
+ }, i.resetState = function () {
+ this._latestState = null
+ }, i.getToastMark = function () {
+ return this.toastMark
+ }, r.factory = function (e, t, n, i) {
+ return new r(e, t, n, i)
+ }, r
+ }(Z),
+ je = n(13),
+ Ve = n.n(je),
+ Ke = n(14),
+ Ge = n.n(Ke),
+ $e = n(11),
+ Ye = n.n($e),
+ Xe = function () {
+ function e() {
+ this.globalTOID = null, this.lazyRunFunctions = {}
+ }
+ var t = e.prototype;
+ return t.run = function (e, t, n, r) {
+ var i;
+ return Ye()(e) ? i = this._runRegisteredRun(e, t, n, r) : (i = this._runSingleRun(e, t, n, r, this.globalTOID), this.globalTOID = i), i
+ }, t.registerLazyRunFunction = function (e, t, n, r) {
+ r = r || this, this.lazyRunFunctions[e] = {
+ fn: t,
+ delay: n,
+ context: r,
+ TOID: null
+ }
+ }, t._runSingleRun = function (e, t, n, r, i) {
+ return this._clearTOIDIfNeed(i), i = setTimeout((function () {
+ e.call(n, t)
+ }), r)
+ }, t._runRegisteredRun = function (e, t, n, r) {
+ var i = this.lazyRunFunctions[e],
+ o = i.fn,
+ a = i.TOID;
+ return r = r || i.delay, n = n || i.context, a = this._runSingleRun(o, t, n, r, a), i.TOID = a, a
+ }, t._clearTOIDIfNeed = function (e) {
+ e && clearTimeout(e)
+ }, e
+ }(),
+ Ze = n(1),
+ Qe = n.n(Ze),
+ Je = n(10),
+ et = n.n(Je),
+ tt = n(8),
+ nt = n.n(tt),
+ rt = /\u200B/g,
+ it = window.getComputedStyle,
+ ot = function (e) {
+ return e && e.nodeType === Node.TEXT_NODE
+ },
+ at = function (e) {
+ return e && e.nodeType === Node.ELEMENT_NODE
+ },
+ st = function (e) {
+ return at(e) ? e.tagName : "TEXT"
+ },
+ lt = function (e) {
+ var t;
+ return at(e) ? t = e.textContent.replace(rt, "").length : ot(e) && (t = e.nodeValue.replace(rt, "").length), t
+ },
+ ct = function (e) {
+ var t, n, r, i = e.parentNode.childNodes;
+ for (t = 0, n = i.length; t < n; t += 1)
+ if (i[t] === e) {
+ r = t;
+ break
+ } return r
+ },
+ ut = function (e, t) {
+ var n;
+ return ot(e) ? n = e : e.childNodes.length && t >= 0 && (n = e.childNodes[t]), n
+ },
+ dt = function (e, t, n) {
+ for (var r, i, o = e + "Sibling"; t && !t[o] && (r = st(t.parentNode)) !== n && "BODY" !== r;) t = t.parentNode;
+ return t[o] && (i = t[o]), i
+ },
+ ht = function (e, t, n) {
+ for (; e.parentNode && !t(e.parentNode) && (e = e.parentNode, !n || !n(e)););
+ return t(e.parentNode) ? e : null
+ },
+ ft = function (e, t) {
+ return Ye()(t) ? ht(e, (function (e) {
+ return t === st(e)
+ })) : ht(e, (function (e) {
+ return t === e
+ }))
+ },
+ pt = function (e, t, n) {
+ var r, i = e + "Sibling";
+ return (t = ft(t, n)) && t[i] && (r = t[i]), r
+ },
+ gt = function (e) {
+ var t = {};
+ t.tagName = e.nodeName, e.id && (t.id = e.id);
+ var n = e.className.trim();
+ return n && (t.className = n), t
+ },
+ mt = function (e, t, n) {
+ var r = t;
+ if (r && e === r.parentNode)
+ for (; r !== n;) {
+ var i = r.nextSibling;
+ e.removeChild(r), r = i
+ }
+ },
+ vt = function (e) {
+ return !!e && ("UL" === e.nodeName || "OL" === e.nodeName)
+ },
+ yt = function (e, t) {
+ e.hasChildNodes() && (Qe()(e.childNodes).forEach((function () {
+ t.appendChild(e.firstChild)
+ })), t.normalize()), e.parentNode && e.parentNode.removeChild(e)
+ },
+ bt = function (e, t) {
+ if ("SPAN" !== e.nodeName)
+ for (var n = e.parentNode, r = e; r.childNodes && 1 === r.childNodes.length && !ot(r.firstChild) && "SPAN" !== (r = r.firstChild).nodeName;)
+ if (r.nodeName === t) {
+ var i = document.createElement(t);
+ return yt(r, r.parentNode), n.replaceChild(i, e), i.appendChild(e), i
+ } return e
+ },
+ Ct = function (e, t, n) {
+ var r = bt(e, n);
+ if (r.nodeName === n)
+ for (var i = bt(t, n), o = r, a = r.nextSibling; a;) {
+ var s = a.nextSibling;
+ if ((a = bt(a, n)).nodeName === n ? o ? yt(a, o) : o = a : o = null, a === i) break;
+ a = s
+ }
+ };
+
+ function wt(e, t) {
+ var n = Qe()(e.querySelectorAll(t));
+ return n.length ? n : []
+ }
+
+ function _t(e, t, n) {
+ var r;
+ for (n = n || document, r = Ye()(t) ? function (e) {
+ return nt()(e, t)
+ } : function (e) {
+ return e === t
+ }; e && e !== n;) {
+ if (at(e) && r(e)) return e;
+ e = e.parentNode
+ }
+ return null
+ }
+
+ function Tt(e, t) {
+ for (var n = []; e && e !== document;)(e = _t(e.parentNode, t)) && n.push(e);
+ return n
+ }
+
+ function Et(e, t) {
+ var n;
+ return n = e.nodeType === Node.DOCUMENT_FRAGMENT_NODE ? e.childNodes : e.children, Qe()(n).filter((function (e) {
+ return nt()(e, t)
+ }))
+ }
+
+ function xt(e) {
+ e.parentNode && e.parentNode.removeChild(e)
+ }
+ var St = {
+ getNodeName: st,
+ isTextNode: ot,
+ isElemNode: at,
+ isBlockNode: function (e) {
+ return /^(ADDRESS|ARTICLE|ASIDE|BLOCKQUOTE|DETAILS|DIALOG|DD|DIV|DL|DT|FIELDSET|FIGCAPTION|FIGURE|FOOTER|FORM|H[\d]|HEADER|HGROUP|HR|LI|MAIN|NAV|OL|P|PRE|SECTION|UL)$/gi.test(this.getNodeName(e))
+ },
+ getTextLength: lt,
+ getOffsetLength: function (e) {
+ var t;
+ return at(e) ? t = e.childNodes.length : ot(e) && (t = e.nodeValue.replace(rt, "").length), t
+ },
+ getPrevOffsetNodeUntil: function (e, t, n) {
+ return t > 0 ? ut(e, t - 1) : dt("previous", e, n)
+ },
+ getNodeOffsetOfParent: ct,
+ getChildNodeByOffset: ut,
+ getNodeWithDirectionUntil: dt,
+ containsNode: function (e, t) {
+ for (var n = document.createTreeWalker(e, 4, null, !1), r = e === t; !r && n.nextNode();) r = n.currentNode === t;
+ return r
+ },
+ getTopPrevNodeUnder: function (e, t) {
+ return pt("previous", e, t)
+ },
+ getTopNextNodeUnder: function (e, t) {
+ return pt("next", e, t)
+ },
+ getParentUntilBy: ht,
+ getParentUntil: ft,
+ getTopBlockNode: function (e) {
+ return ft(e, "BODY")
+ },
+ getPrevTextNode: function (e) {
+ for (e = e.previousSibling || e.parentNode; !ot(e) && "BODY" !== st(e);)
+ if (e.previousSibling)
+ for (e = e.previousSibling; e.lastChild;) e = e.lastChild;
+ else e = e.parentNode;
+ return "BODY" === st(e) && (e = null), e
+ },
+ findOffsetNode: function (e, t, n) {
+ var r, i = [],
+ o = "",
+ a = 0;
+ if (!t.length) return i;
+ for (var s = t.shift(), l = document.createTreeWalker(e, 4, null, !1); l.nextNode();) {
+ for (o = l.currentNode.nodeValue || "", n && (o = n(o)), r = a + o.length; r >= s;) {
+ if (i.push({
+ container: l.currentNode,
+ offsetInContainer: s - a,
+ offset: s
+ }), !t.length) return i;
+ s = t.shift()
+ }
+ a = r
+ }
+ do {
+ i.push({
+ container: l.currentNode,
+ offsetInContainer: o.length,
+ offset: s
+ }), s = t.shift()
+ } while (!_()(s));
+ return i
+ },
+ getPath: function (e, t) {
+ for (var n = []; e && e !== t;) at(e) && n.unshift(gt(e)), e = e.parentNode;
+ return n
+ },
+ getNodeInfo: gt,
+ getTableCellByDirection: function (e, t) {
+ var n = null;
+ return _()(t) || "next" !== t && "previous" !== t || (n = "next" === t ? e.nextElementSibling : e.previousElementSibling), n
+ },
+ getSiblingRowCellByDirection: function (e, t, n) {
+ var r, i, o, a, s, l = null;
+ return _()(t) || "next" !== t && "previous" !== t || e && ("next" === t ? (i = e.parentNode && e.parentNode.nextSibling, s = (a = (o = Tt(e, "thead"))[0] && o[0].nextSibling) && "TBODY" === st(a), r = 0) : (i = e.parentNode && e.parentNode.previousSibling, s = (a = (o = Tt(e, "tbody"))[0] && o[0].previousSibling) && "THEAD" === st(a), r = e.parentNode.childNodes.length - 1), !_()(n) && n || (r = ct(e)), i ? l = Et(i, "td,th")[r] : o[0] && s && (l = wt(a, "td,th")[r])), l
+ },
+ isMDSupportInlineNode: function (e) {
+ return /^(A|B|BR|CODE|DEL|EM|I|IMG|S|SPAN|STRONG)$/gi.test(e.nodeName)
+ },
+ isStyledNode: function (e) {
+ return /^(A|ABBR|ACRONYM|B|BDI|BDO|BIG|CITE|CODE|DEL|DFN|EM|I|INS|KBD|MARK|Q|S|SAMP|SMALL|SPAN|STRONG|SUB|SUP|U|VAR)$/gi.test(e.nodeName)
+ },
+ removeChildFromStartToEndNode: mt,
+ removeNodesByDirection: function (e, t, n) {
+ for (var r = t; r !== e;) {
+ var i = r.parentNode,
+ o = r,
+ a = o.nextSibling,
+ s = o.previousSibling;
+ !n && a ? mt(i, a, null) : n && s && mt(i, i.childNodes[0], r), r = i
+ }
+ },
+ getLeafNode: function (e) {
+ for (var t = e; t.childNodes && t.childNodes.length;) {
+ var n = t.firstChild;
+ t = ot(n) && !lt(n) && n.nextSibling || n
+ }
+ return t
+ },
+ isInsideButtonBox: function (e, t, n) {
+ var r = parseInt(e.left, 10),
+ i = parseInt(e.top, 10),
+ o = parseInt(e.width, 10),
+ a = parseInt(e.height, 10);
+ return t >= r && t <= r + o && n >= i && n <= i + a
+ },
+ isListNode: vt,
+ isFirstListItem: function (e) {
+ var t = e.nodeName,
+ n = e.parentNode;
+ return "LI" === t && e === n.firstChild
+ },
+ isFirstLevelListItem: function (e) {
+ var t = e.nodeName,
+ n = e.parentNode.parentNode;
+ return "LI" === t && !vt(n)
+ },
+ mergeNode: yt,
+ createHorizontalRule: function () {
+ var e = document.createElement("div"),
+ t = document.createElement("hr");
+ return e.setAttribute("contenteditable", !1), t.setAttribute("contenteditable", !1), e.appendChild(t), e
+ },
+ createEmptyLine: function () {
+ var e = document.createElement("div");
+ return e.appendChild(document.createElement("br")), e
+ },
+ changeTagOrder: bt,
+ mergeSameNodes: Ct,
+ optimizeRange: function (e, t) {
+ var n = e.collapsed,
+ r = e.commonAncestorContainer,
+ i = e.startContainer,
+ o = e.endContainer;
+ if (!n) {
+ var a = null;
+ if (i !== o) {
+ var s = ft(i, r),
+ l = ft(o, r);
+ s && l && Ct(s, l, t), a = r
+ } else ot(i) && (a = i.parentNode);
+ if (a && a.nodeName === t) {
+ var c, u = a.previousSibling;
+ u && (c = bt(u)).nodeName === t && yt(a, c);
+ var d = a.nextSibling;
+ d && (c = bt(d)).nodeName === t && yt(c, a)
+ }
+ }
+ },
+ getAllTextNode: function (e) {
+ for (var t = document.createTreeWalker(e, 4, null, !1), n = []; t.nextNode();) {
+ var r = t.currentNode;
+ ot(r) && n.push(r)
+ }
+ return n
+ },
+ isCellNode: function (e) {
+ return !!e && ("TD" === e.nodeName || "TH" === e.nodeName)
+ },
+ getLastNodeBy: function (e, t) {
+ for (var n = e && e.lastChild; n && t(n);) n = n.lastChild;
+ return n
+ },
+ getParentNodeBy: function (e, t) {
+ for (; e && t(e.parentNode, e);) e = e.parentNode;
+ return e
+ },
+ getSiblingNodeBy: function (e, t, n) {
+ for (var r = t + "Sibling"; e && n(e[r], e);) e = e[r];
+ return e
+ },
+ createElementWith: function (e, t) {
+ var n = document.createElement("div");
+ Ye()(e) ? n.innerHTML = e : n.appendChild(e);
+ var r = n.firstChild;
+ return t && t.appendChild(r), r
+ },
+ findAll: wt,
+ isContain: function (e, t) {
+ return e !== t && e.contains(t)
+ },
+ closest: _t,
+ parent: function (e, t) {
+ var n = e.parentNode;
+ return t ? n && nt()(n, t) ? n : null : n
+ },
+ parents: Tt,
+ parentsUntil: function (e, t) {
+ for (var n = []; e.parentNode && !nt()(e.parentNode, t);)(e = e.parentNode) && n.push(e);
+ return n
+ },
+ children: Et,
+ append: function (e, t) {
+ if (Ye()(t)) e.insertAdjacentHTML("beforeEnd", t);
+ else
+ for (var n = 0, r = (t = t.length ? Qe()(t) : [t]).length; n < r; n += 1) e.appendChild(t[n])
+ },
+ prepend: function (e, t) {
+ if (Ye()(t)) e.insertAdjacentHTML("afterBegin", t);
+ else
+ for (var n = (t = t.length ? Qe()(t) : [t]).length - 1; n >= 0; n -= 1) e.insertBefore(t[n], e.firstChild)
+ },
+ insertBefore: function (e, t) {
+ var n = t.parentNode;
+ n && n.insertBefore(e, t)
+ },
+ insertAfter: function (e, t) {
+ var n = t.parentNode;
+ n && n.insertBefore(e, t.nextSibling)
+ },
+ replaceWith: function (e, t) {
+ (e = e.length ? Qe()(e) : [e]).forEach((function (e) {
+ e.insertAdjacentHTML("afterEnd", t), e.parentNode.removeChild(e)
+ }))
+ },
+ wrap: function (e, t) {
+ (e = e.length ? Qe()(e) : [e]).forEach((function (e) {
+ var n = document.createElement(t);
+ e.parentNode.insertBefore(n, e), n.appendChild(e)
+ }))
+ },
+ wrapInner: function (e, t) {
+ (e = e.length ? Qe()(e) : [e]).forEach((function (e) {
+ var n = document.createElement(t);
+ for (e.appendChild(n); e.firstChild !== n;) n.appendChild(e.firstChild)
+ }))
+ },
+ unwrap: function (e) {
+ for (var t = []; e.firstChild;) t.push(e.firstChild), e.parentNode.insertBefore(e.firstChild, e);
+ return xt(e), t
+ },
+ remove: xt,
+ empty: function (e) {
+ for (; e.firstChild;) e.removeChild(e.firstChild)
+ },
+ setOffset: function (e, t) {
+ var n = e.parentNode.getBoundingClientRect(),
+ r = n.top,
+ i = n.left;
+ h()(e, {
+ top: t.top - r - document.body.scrollTop + "px"
+ }), h()(e, {
+ left: t.left - i - document.body.scrollLeft + "px"
+ })
+ },
+ getOffset: function (e, t) {
+ void 0 === t && (t = "document");
+ var n = 0,
+ r = 0;
+ do {
+ n += e.offsetTop || 0, r += e.offsetLeft || 0, e = e.offsetParent
+ } while (e && !nt()(e, t));
+ return {
+ top: n,
+ left: r
+ }
+ },
+ getOuterWidth: function (e, t) {
+ var n = e.offsetWidth;
+ if (t) {
+ var r = it(e),
+ i = r.marginLeft,
+ o = r.marginRight;
+ n += parseInt(i, 10) + parseInt(o, 10)
+ }
+ return n
+ },
+ getOuterHeight: function (e, t) {
+ var n = e.offsetHeight;
+ if (t) {
+ var r = it(e),
+ i = r.marginTop,
+ o = r.marginBottom;
+ n += parseInt(i, 10) + parseInt(o, 10)
+ }
+ return n
+ },
+ toggleClass: function (e, t, n) {
+ _()(n) && (n = !et()(e, t)), (n ? p.a : m.a)(e, t)
+ },
+ finalizeHtml: function (e, t) {
+ var n;
+ if (t) n = e.innerHTML;
+ else {
+ for (var r = document.createDocumentFragment(), i = Qe()(e.childNodes), o = i.length, a = 0; a < o; a += 1) r.appendChild(i[a]);
+ n = r
+ }
+ return n
+ },
+ getFragmentReplacedByNewlineToBr: function (e) {
+ var t = document.createDocumentFragment(),
+ n = e.split("\n");
+ return n.forEach((function (e, r) {
+ var i = document.createTextNode(e);
+ t.appendChild(i), r < n.length - 1 && t.appendChild(document.createElement("br"))
+ })), t
+ }
+ };
+ var Nt = new(function () {
+ function e() {
+ this._replacers = {}
+ }
+ var t = e.prototype;
+ return t.setReplacer = function (e, t) {
+ e = e.toLowerCase(), this._replacers[e] = t
+ }, t.getReplacer = function (e) {
+ return this._replacers[e]
+ }, t.createCodeBlockHtml = function (e, t) {
+ e = e.toLowerCase();
+ var n, r = this.getReplacer(e);
+ return r ? r(t, e) : (n = !1, t.replace(n ? /&/g : /&(?!#?\w+;)/g, "&").replace(//g, ">").replace(/"/g, """).replace(/'/g, "'"))
+ }, e
+ }()),
+ kt = function () {
+ function e(e, t, n, r) {
+ this.eventManager = t, this.convertor = n, this.el = e, this.isViewer = !!r, this.delayCodeBlockTime = 500, this._initContentSection(), this.lazyRunner = new Xe
+ }
+ var t = e.prototype;
+ return t._initContentSection = function () {
+ this._previewContent = St.createElementWith('
'), this.el.appendChild(this._previewContent)
+ }, t.getCodeBlockElements = function (e) {
+ var t = this._previewContent,
+ n = [];
+ return (e ? e.map((function (e) {
+ return t.querySelector('[data-nodeid="' + e + '"]')
+ })).filter(Boolean) : [t]).forEach((function (e) {
+ n.push.apply(n, St.findAll(e, "code[data-language]"))
+ })), n
+ }, t.invokeCodeBlockPlugins = function (e) {
+ e.forEach((function (e) {
+ var t = e.getAttribute("data-language"),
+ n = Nt.createCodeBlockHtml(t, e.textContent);
+ e.innerHTML = n
+ }))
+ }, t.refresh = function (e) {
+ void 0 === e && (e = ""), this.render(this.convertor.toHTMLWithCodeHighlight(e)), this.invokeCodeBlockPlugins(this.getCodeBlockElements())
+ }, t.getHTML = function () {
+ return this._previewContent.innerHTML
+ }, t.setHTML = function (e) {
+ this._previewContent.innerHTML = e
+ }, t.render = function (e) {
+ var t = this._previewContent;
+ e = this.eventManager.emit("previewBeforeHook", e) || e, St.empty(t), t.innerHTML = e
+ }, t.setHeight = function (e) {
+ h()(this.el, {
+ height: e + "px"
+ })
+ }, t.setMinHeight = function (e) {
+ h()(this.el, {
+ minHeight: e + "px"
+ })
+ }, t.isVisible = function () {
+ return "none" !== this.el.style.display
+ }, e
+ }(),
+ Lt = ["list", "blockQuote"],
+ Mt = ["UL", "OL", "BLOCKQUOTE"],
+ At = ["TR", "TH", "TBODY", "TD"];
+
+ function Bt(e) {
+ return !S(Lt, e.type)
+ }
+
+ function Ot(e, t, n, r) {
+ var i = (e - t) / n;
+ return i < 1 ? i * r : r
+ }
+
+ function Dt(e) {
+ for (var t = document.querySelector('[data-nodeid="' + e.id + '"]'); !t || S(At, e.type) || be(e);) e = e.parent, t = document.querySelector('[data-nodeid="' + e.id + '"]');
+ return function (e) {
+ var t = e.mdNode,
+ n = e.node;
+ for (; S(Lt, t.type) && t.firstChild;) t = t.firstChild, n = n.firstElementChild;
+ return {
+ mdNode: t,
+ node: n
+ }
+ }(function (e) {
+ var t = e;
+ for (; e && "document" !== e;) {
+ if ("item" === e.type) {
+ t = e;
+ break
+ }
+ e = e.parent
+ }
+ return {
+ mdNode: t,
+ node: document.querySelector('[data-nodeid="' + t.id + '"]')
+ }
+ }(e))
+ }
+
+ function It(e, t) {
+ var n = ge(e),
+ r = me(e),
+ i = t.lineInfo(n - 1).handle.height,
+ o = t.heightAtLine(r, "local") - t.heightAtLine(n - 1, "local");
+ return o <= 0 ? i : o + Rt(t, me(e))
+ }
+
+ function Rt(e, t, n) {
+ void 0 === n && (n = Number.MAX_VALUE);
+ var r = e.lineInfo(t);
+ if (!r) return 0;
+ for (var i = r.handle, o = 0; t <= n && !i.text.trim();) o += i.height, t += 1, i = e.lineInfo(t).handle;
+ return o
+ }
+
+ function Pt(e, t) {
+ for (var n = 0; e && e !== t && (S(Mt, e.tagName) || (n += e.offsetTop), e.offsetParent !== t.offsetParent);) e = e.parentElement;
+ return n
+ }
+
+ function Ht(e, t) {
+ for (var n = t, r = null; n;) {
+ var i = n.firstElementChild;
+ if (!i) break;
+ r = n, n = Ft(i, e, Pt(n, t))
+ }
+ var o = n || r;
+ return o === t ? null : o
+ }
+
+ function Ft(e, t, n) {
+ return e && t > n + e.offsetTop ? Ft(e.nextElementSibling, t, n) || e : null
+ }
+
+ function Ut(e) {
+ var t = e.latestScrollTop,
+ n = e.scrollTop,
+ r = e.targetScrollTop,
+ i = e.sourceScrollTop;
+ return null === t ? r : t < n ? Math.max(r, i) : Math.min(r, i)
+ }
+ var Wt = {};
+
+ function qt(e, t) {
+ Wt[e] = Wt[e] || {}, Wt[e].height = t
+ }
+
+ function zt(e) {
+ return Wt[e] && Wt[e].height
+ }
+
+ function jt(e) {
+ e && (delete Wt[e.getAttribute("data-nodeid")], Qe()(e.children).forEach((function (e) {
+ jt(e)
+ })))
+ }
+ var Vt = function (e) {
+ var t, n;
+
+ function r(t, n, r, i) {
+ var o;
+ (o = e.call(this, t, n, r, i.isViewer) || this).lazyRunner.registerLazyRunFunction("invokeCodeBlock", o.invokeCodeBlockPlugins, o.delayCodeBlockTime, function (e) {
+ if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
+ return e
+ }(o));
+ var a = i.linkAttribute,
+ s = i.customHTMLRenderer,
+ l = i.highlight,
+ c = void 0 !== l && l;
+ return o.renderHTML = Object(v.createRenderHTML)({
+ gfm: !0,
+ nodeId: !0,
+ convertors: C(a, s)
+ }), o.cursorNodeId = null, o._initEvent(c), o
+ }
+ n = e, (t = r).prototype = Object.create(n.prototype), t.prototype.constructor = t, t.__proto__ = n;
+ var i = r.prototype;
+ return i._initEvent = function (e) {
+ var t = this;
+ this.eventManager.listen("contentChangedFromMarkdown", this.update.bind(this)), e && (this.eventManager.listen("cursorActivity", (function (e) {
+ var n = e.markdownNode,
+ r = e.cursor;
+ t._updateCursorNode(n, r)
+ })), this.eventManager.listen("blur", (function () {
+ t._removeHighlight()
+ }))), Ve()(this.el, "scroll", (function (e) {
+ t.eventManager.emit("scroll", {
+ source: "preview",
+ data: Ht(e.target.scrollTop, t._previewContent)
+ })
+ }))
+ }, i._removeHighlight = function () {
+ if (this.cursorNodeId) {
+ var e = this._getElementByNodeId(this.cursorNodeId);
+ e && m()(e, "te-preview-highlight")
+ }
+ }, i._updateCursorNode = function (e, t) {
+ e && ("tableRow" === (e = we(e, (function (e) {
+ return ! function (e) {
+ switch (e.type) {
+ case "code":
+ case "text":
+ case "emph":
+ case "strong":
+ case "strike":
+ case "link":
+ case "image":
+ case "htmlInline":
+ case "linebreak":
+ case "softbreak":
+ return !0;
+ default:
+ return !1
+ }
+ }(e)
+ }))).type ? e = function (e, t) {
+ for (var n = t.ch, r = e.firstChild; r && r.next && !(ve(r.next) > n + 1);) r = r.next;
+ return r
+ }(e, t) : "tableBody" === e.type && (e = null));
+ var n = e ? e.id : null;
+ if (this.cursorNodeId !== n) {
+ var r = e && "frontMatter" === e.customType,
+ i = this._getElementByNodeId(this.cursorNodeId),
+ o = this._getElementByNodeId(n);
+ i && m()(i, "te-preview-highlight"), o && !r && p()(o, "te-preview-highlight"), this.cursorNodeId = n
+ }
+ }, i._getElementByNodeId = function (e) {
+ return e ? this._previewContent.querySelector('[data-nodeid="' + e + '"]') : null
+ }, i.update = function (e) {
+ var t = this;
+ e.forEach((function (e) {
+ return t.replaceRangeNodes(e)
+ })), this.eventManager.emit("previewRenderAfter", this)
+ }, i.replaceRangeNodes = function (e) {
+ var t = this,
+ n = e.nodes,
+ r = e.removedNodeRange,
+ i = this._previewContent,
+ o = this.eventManager.emitReduce("convertorAfterMarkdownToHtmlConverted", n.map((function (e) {
+ return t.renderHTML(e)
+ })).join(""));
+ if (r) {
+ var a = r.id,
+ s = a[0],
+ l = a[1],
+ c = this._getElementByNodeId(s),
+ u = this._getElementByNodeId(l);
+ if (c) {
+ var d;
+ c.insertAdjacentHTML("beforebegin", o);
+ for (var h = c; h && h !== u;) {
+ var f = h.nextElementSibling;
+ h.parentNode.removeChild(h), jt(h), h = f
+ }(null == (d = h) ? void 0 : d.parentNode) && (St.remove(h), jt(h))
+ }
+ } else i.insertAdjacentHTML("afterbegin", o);
+ var p = this.getCodeBlockElements(n.map((function (e) {
+ return e.id
+ })));
+ p.length && this.lazyRunner.run("invokeCodeBlock", p)
+ }, i.render = function (t) {
+ e.prototype.render.call(this, t), this.eventManager.emit("previewRenderAfter", this)
+ }, i.remove = function () {
+ Ge()(this.el, "scroll"), this.el = null
+ }, r
+ }(kt),
+ Kt = n(16),
+ Gt = n.n(Kt),
+ $t = n(15),
+ Yt = n.n($t),
+ Xt = n(5),
+ Zt = n.n(Xt),
+ Qt = n(23),
+ Jt = n.n(Qt),
+ en = /MsoListParagraph/,
+ tn = /style=(.|\n)*mso-/,
+ nn = /mso-list:(.*)/,
+ rn = /O:P/,
+ on = /^(n|u|l)/;
+
+ function an(e) {
+ return tn.test(e)
+ }
+
+ function sn(e) {
+ for (var t = [], n = document.createTreeWalker(e, 1, null, !1); n.nextNode();) {
+ var r = n.currentNode;
+ if (St.isElemNode(r)) {
+ var i = r.outerHTML,
+ o = r.textContent,
+ a = tn.test(i),
+ s = nn.test(i);
+ a && !s && o ? t.push([r, !0]) : (rn.test(r.nodeName) || a && !o || s) && t.push([r, !1])
+ }
+ }
+ return t.forEach((function (e) {
+ var t = e[0];
+ e[1] ? St.unwrap(t) : St.remove(t)
+ })), e.innerHTML.trim()
+ }
+
+ function ln(e) {
+ var t = [];
+ return e.forEach((function (e, n) {
+ var r = t[n - 1],
+ i = function (e, t) {
+ var n = e.getAttribute("style").match(nn)[1].trim().split(" ")[1];
+ return {
+ id: t,
+ level: parseInt(n.replace("level", ""), 10),
+ prev: null,
+ parent: null,
+ children: [],
+ unorderedListItem: on.test(e.textContent),
+ contents: sn(e)
+ }
+ }(e, n);
+ r && function (e, t) {
+ if (t.level < e.level) t.children.push(e), e.parent = t;
+ else {
+ for (; t && t.level !== e.level;) t = t.parent;
+ t && (e.prev = t, e.parent = t.parent, e.parent && e.parent.children.push(e))
+ }
+ }(i, r), t.push(i)
+ })), t
+ }
+
+ function cn(e) {
+ return function e(t) {
+ var n = t[0].unorderedListItem ? "ul" : "ol",
+ r = document.createElement(n);
+ return t.forEach((function (t) {
+ var n = t.children,
+ i = t.contents,
+ o = document.createElement("li");
+ o.innerHTML = i, r.appendChild(o), n.length && r.appendChild(e(n))
+ })), r
+ }(ln(e).filter((function (e) {
+ return !e.parent
+ })))
+ }
+
+ function un(e) {
+ var t = [];
+ return St.findAll(e, "p.MsoListParagraph").forEach((function (n) {
+ var r = function (e) {
+ for (; e && !St.isElemNode(e);) e = e.nextSibling;
+ return !e || !en.test(e.className)
+ }(n.nextSibling);
+ if (t.push(n), r) {
+ var i = cn(t),
+ o = n.nextSibling;
+ o ? St.insertBefore(i, o) : St.append(e, i), t = []
+ }
+ St.remove(n)
+ })), e
+ }
+ var dn = new RegExp("^(abbr|align|alt|axis|bgcolor|border|cellpadding|cellspacing|class|clear|color|cols|compact|coords|dir|face|headers|height|hreflang|hspace|ismap|lang|language|nohref|nowrap|rel|rev|rows|rules|scope|scrolling|shape|size|span|start|summary|tabindex|target|title|type|valign|value|vspace|width|checked|mathvariant|encoding|id|name|background|cite|href|longdesc|src|usemap|xlink:href|data-+|checked|style)", "g"),
+ hn = new RegExp("^(accent-height|accumulate|additive|alphabetic|arabic-form|ascent|baseProfile|bbox|begin|by|calcMode|cap-height|class|color|color-rendering|content|cx|cy|d|dx|dy|descent|display|dur|end|fill|fill-rule|font-family|font-size|font-stretch|font-style|font-variant|font-weight|from|fx|fy|g1|g2|glyph-name|gradientUnits|hanging|height|horiz-adv-x|horiz-origin-x|ideographic|k|keyPoints|keySplines|keyTimes|lang|marker-end|marker-mid|marker-start|markerHeight|markerUnits|markerWidth|mathematical|max|min|offset|opacity|orient|origin|overline-position|overline-thickness|panose-1|path|pathLength|points|preserveAspectRatio|r|refX|refY|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|rotate|rx|ry|slope|stemh|stemv|stop-color|stop-opacity|strikethrough-position|strikethrough-thickness|stroke|stroke-dasharray|stroke-dashoffset|stroke-linecap|stroke-linejoin|stroke-miterlimit|stroke-opacity|stroke-width|systemLanguage|target|text-anchor|to|transform|type|u1|u2|underline-position|underline-thickness|unicode|unicode-range|units-per-em|values|version|viewBox|visibility|width|widths|x|x-height|x1|x2|xlink:actuate|xlink:arcrole|xlink:role|xlink:show|xlink:title|xlink:type|xml:base|xml:lang|xml:space|xmlns|xmlns:xlink|y|y1|y2|zoomAndPan)", "g"),
+ fn = /href|src|background/gi,
+ pn = /((java|vb|live)script|x):/gi,
+ gn = /^on\S+/;
+ var mn = function (e, t) {
+ var n = document.createElement("div");
+ return Ye()(e) ? (e = e.replace(//g, ""), n.innerHTML = e) : n.appendChild(e),
+ function (e) {
+ St.findAll(e, "script, iframe, textarea, form, button, select, input, meta, style, link, title, embed, object, details, summary").forEach((function (e) {
+ St.remove(e)
+ }))
+ }(n),
+ function (e) {
+ St.findAll(e, "*").forEach((function (e) {
+ var t = e.attributes;
+ ! function (e, t) {
+ Qe()(t).forEach((function (t) {
+ var n = t.name;
+ gn.test(n) && (e[n] = null), e.getAttribute(n) && e.removeAttribute(n)
+ }))
+ }(e, Qe()(t).filter((function (e) {
+ var t = e.name,
+ n = e.value,
+ r = t.match(dn),
+ i = t.match(hn),
+ o = r && function (e, t) {
+ return e.match(fn) && t.match(pn)
+ }(t, n);
+ return !r && !i || o
+ })))
+ }))
+ }(n), St.finalizeHtml(n, t)
+ },
+ vn = function () {
+ function e(e) {
+ this.wwe = e
+ }
+ var t = e.prototype;
+ return t.preparePaste = function (e) {
+ var t, n, r, i = this.wwe.getEditor().getSelection().cloneRange(),
+ o = this.wwe.componentManager.getManager("codeblock"),
+ a = !1,
+ s = document.createElement("div");
+ this._pasteFirstAid(e);
+ for (var l = Qe()(e.childNodes); l.length;) n = l[0], r = "LI" === (t = St.getNodeName(n)) || "UL" === t || "OL" === t, o.isInCodeBlock(i) ? St.append(s, o.prepareToPasteOnCodeblock(l)) : r ? (St.append(s, this._prepareToPasteList(l, i, a)), a = !0) : St.append(s, l.shift());
+ e.innerHTML = s.innerHTML
+ }, t._wrapOrphanNodeWithDiv = function (e) {
+ var t, n = document.createElement("div");
+ return Qe()(e.childNodes).forEach((function (e) {
+ var r = 3 === e.nodeType,
+ i = /^(SPAN|A|CODE|EM|I|STRONG|B|S|U|ABBR|ACRONYM|CITE|DFN|KBD|SAMP|VAR|BDO|Q|SUB|SUP)$/gi.test(e.tagName),
+ o = "BR" === e.nodeName;
+ r || i || o ? (t || (t = document.createElement("div"), n.appendChild(t)), t.appendChild(e), o && (t = null)) : (t && "BR" !== t.lastChild.tagName && t.appendChild(document.createElement("br")), t = null, n.appendChild(e))
+ })), n.innerHTML
+ }, t._sanitizeHtml = function (e) {
+ var t = this.wwe.getSanitizer(),
+ n = mn(e.innerHTML, !0);
+ t && t !== mn && (n = t(n)), e.innerHTML = n
+ }, t._pasteFirstAid = function (e) {
+ var t = this;
+ this._sanitizeHtml(e), St.findAll(e, "*").forEach((function (e) {
+ t._removeStyles(e)
+ }));
+ var n = "div, section, article, aside, nav, menus, p";
+ this._unwrapIfNonBlockElementHasBr(e), this._unwrapNestedBlocks(e, n), this._removeUnnecessaryBlocks(e, n), e.innerHTML = this._wrapOrphanNodeWithDiv(e), this._preprocessPreElement(e), this._preprocessListElement(e), this._preprocessTableElement(e), Qe()(e.children).forEach((function (e) {
+ "BR" === St.getNodeName(e) && St.remove(e)
+ }))
+ }, t._preprocessListElement = function (e) {
+ var t = this.wwe.componentManager.getManager("list");
+ e.innerHTML = t.convertToArbitraryNestingList(e.innerHTML)
+ }, t._preprocessPreElement = function (e) {
+ this.wwe.componentManager.getManager("codeblock").modifyCodeBlockForWysiwyg(e)
+ }, t._unwrapIfNonBlockElementHasBr = function (e) {
+ St.findAll(e, "span, a, b, em, i, s").forEach((function (e) {
+ St.children(e, "br").length && "LI" !== e.nodeName && "UL" !== e.nodeName && St.unwrap(e)
+ }))
+ }, t._unwrapNestedBlocks = function (e, t) {
+ St.findAll(e, "*").filter((function (e) {
+ return !nt()(e, "b,s,i,em,code,span,hr") && !e.firstChild
+ })).forEach((function (n) {
+ for (var r = "BR" === n.nodeName ? n.parentNode : n; St.parents(r, t).length;) {
+ var i = St.parent(r, t);
+ i && i !== e ? St.unwrap(i) : r = r.parentElement
+ }
+ }))
+ }, t._removeUnnecessaryBlocks = function (e, t) {
+ St.findAll(e, t).forEach((function (e) {
+ var n = "DIV" === e.tagName,
+ r = !!St.parent(e, "li"),
+ i = !!St.parent(e, "blockquote"),
+ o = !!St.children(e, t).length;
+ n && (r || i || !o) || (e.lastChild && "BR" !== e.lastChild.nodeName && e.appendChild(document.createElement("br")), St.replaceWith(e, e.innerHTML))
+ }))
+ }, t._removeStyles = function (e) {
+ var t;
+ "SPAN" !== St.getNodeName(e) ? e.removeAttribute("style") : (e.getAttribute("style") && (t = e.style.color), e.removeAttribute("style"), t && "rgb(34, 34, 34)" !== t ? h()(e, {
+ color: t
+ }) : St.unwrap(e))
+ }, t._prepareToPasteList = function (e, t, n) {
+ var r = St.getNodeName(e[0]),
+ i = e.shift(),
+ o = this.wwe.getEditor().getDocument().createDocumentFragment();
+ if ("LI" !== r && e.length && "LI" === e[0].tagName && (r = "LI", i = this._makeNodeAndAppend({
+ tagName: r
+ }, i)), "OL" === r || "UL" === r) !n && this.wwe.getEditor().hasFormat("LI") ? St.append(o, this._wrapCurrentFormat(i)) : o.appendChild(i);
+ else if ("LI" === r) {
+ var a = this.wwe.getEditor().getDocument().createDocumentFragment();
+ for (a.appendChild(i); e.length && "LI" === e[0].tagName;) a.appendChild(e.shift());
+ !n && this.wwe.getEditor().hasFormat("LI") ? St.append(o, this._wrapCurrentFormat(a)) : !t || "UL" !== t.commonAncestorName && "OL" !== t.commonAncestorName ? St.append(o, this._makeNodeAndAppend({
+ tagName: "UL"
+ }, a)) : St.append(o, this._makeNodeAndAppend({
+ tagName: t.commonAncestorName
+ }, a))
+ }
+ return this._getResolvePastedListDepthToCurrentDepth(t.startContainer, i, o)
+ }, t._unwrapFragmentFirstChildForPasteAsInline = function (e) {
+ return St.findAll(e, "br").forEach((function (e) {
+ return St.remove(e)
+ })), e.childNodes
+ }, t._wrapCurrentFormat = function (e) {
+ var t, n = this;
+ return this._eachCurrentPath((function (r) {
+ "DIV" !== r.tagName && (t = St.isElemNode(e) ? e.tagName : e.firstChild.tagName, r.tagName !== t && (e = n._makeNodeAndAppend(r, e)))
+ })), e
+ }, t._eachCurrentPath = function (e) {
+ for (var t = St.getPath(this.wwe.getEditor().getSelection().startContainer, this.wwe.getBody()), n = t.length - 1; n > -1; n -= 1) e(t[n])
+ }, t._makeNodeAndAppend = function (e, t) {
+ var n = document.createElement("" + e.tagName);
+ return n.appendChild(t), e.id && n.setAttribute("id", e.id), e.className && p()(n, e.className), n
+ }, t._preprocessTableElement = function (e) {
+ this._removeColgroup(e), this._completeTableIfNeed(e), this._updateTableIDClassName(e)
+ }, t._removeColgroup = function (e) {
+ var t = e.querySelector("colgroup");
+ t && St.remove(t)
+ }, t._completeTableIfNeed = function (e) {
+ var t = this.wwe.componentManager.getManager("table"),
+ n = t.wrapDanglingTableCellsIntoTrIfNeed(e);
+ n && St.append(e, n);
+ var r = t.wrapTrsIntoTbodyIfNeed(e);
+ r && St.append(e, r);
+ var i = t.wrapTheadAndTbodyIntoTableIfNeed(e);
+ i && St.append(e, i)
+ }, t._updateTableIDClassName = function (e) {
+ var t = this.wwe.componentManager.getManager("table"),
+ n = St.findAll(e, "table");
+ n.forEach((function (e) {
+ var t = e.className.match(/.*\s*(te-content-table-\d+)\s*.*/);
+ t && m()(e, t[0])
+ })), n.forEach((function (e) {
+ p()(e, t.getTableIDClassName())
+ }))
+ }, t._getResolvePastedListDepthToCurrentDepth = function (e, t, n) {
+ var r = this._getListDepth(e),
+ i = this._getContinuousDepth(t);
+ for (n = this._getRemovedUnnecessaryListWrapper(n, t); r < i && ("UL" === n.firstChild.tagName || "OL" === n.firstChild.tagName);) {
+ var o = Qe()(n.childNodes);
+ n = n.firstChild, o.filter((function (e) {
+ return e !== n
+ })).forEach((function (e) {
+ n.insertAdjacentElement("beforeend", e)
+ })), i -= 1
+ }
+ for (; r && r > i;) {
+ var a = n.firstChild.parentElement,
+ s = document.createElement(a.tagName);
+ s.appendChild(a), n = s, i += 1
+ }
+ return r && !e.textContent && St.remove(e), n
+ }, t._getListDepth = function (e) {
+ for (var t = 0, n = this.wwe.getBody(); e && e !== n;) "UL" !== e.tagName && "OL" !== e.tagName || (t += 1), e = e.parentNode;
+ return t
+ }, t._getContinuousDepth = function (e) {
+ for (var t = 0; e && ("UL" === e.tagName || "OL" === e.tagName) && (t += 1, !(e.childNodes.length > 1));) e = e.firstChild;
+ return t
+ }, t._getRemovedUnnecessaryListWrapper = function (e, t) {
+ for (; e.querySelectorAll("ul,ol").length > t.querySelectorAll("ul,ol").length;) e = e.firstChild;
+ return e
+ }, e
+ }(),
+ yn = function () {
+ function e(e) {
+ this.wwe = e
+ }
+ var t = e.prototype;
+ return t.pasteClipboard = function (e) {
+ var t = e.clipboardData || window.clipboardData,
+ n = t && t.items;
+ n ? (this._pasteClipboardItem(n), e.preventDefault()) : (this._pasteClipboardUsingPasteArea(), e.squirePrevented = !0)
+ }, t._pasteClipboardUsingPasteArea = function () {
+ var e = this,
+ t = this.wwe.getEditor(),
+ n = t.getSelection(),
+ r = n.startContainer,
+ i = n.startOffset,
+ o = n.endContainer,
+ a = n.endOffset,
+ s = document.createElement("div"),
+ l = document.body;
+ s.setAttribute("contenteditable", !0), s.setAttribute("style", "position:fixed; overflow:hidden; top:0; right:100%; width:1px; height:1px;"), l.appendChild(s), n.selectNodeContents(s), t.setSelection(n), setTimeout((function () {
+ var c = l.removeChild(s);
+ n.setStart(r, i), n.setEnd(o, a), t.focus(), t.setSelection(n), e._pasteClipboardHtml(c.innerHTML)
+ }))
+ }, t._pasteClipboardItem = function (e) {
+ var t = this,
+ n = null,
+ r = null;
+ Qe()(e).forEach((function (e) {
+ "text/html" === e.type ? r = e : "text/plain" === e.type && (n = e)
+ })), r ? r.getAsString((function (e) {
+ t._pasteClipboardHtml(e)
+ })) : n && n.getAsString((function (e) {
+ var n = St.getFragmentReplacedByNewlineToBr(e);
+ t._pasteClipboardContainer(n)
+ }))
+ }, t._getSanitizedHtml = function (e) {
+ var t = this.wwe.getSanitizer();
+ e = mn(e, !0), t && t !== mn && (e = t(e));
+ var n = document.createElement("div");
+ return n.innerHTML = e, St.finalizeHtml(n)
+ }, t._convertToMsoList = function (e) {
+ var t = document.createElement("div");
+ return t.innerHTML = e, un(t), t.innerHTML
+ }, t._pasteClipboardHtml = function (e) {
+ var t = document.createDocumentFragment(),
+ n = e.indexOf("\x3c!--StartFragment--\x3e"),
+ r = e.lastIndexOf("\x3c!--EndFragment--\x3e");
+ n > -1 && r > -1 && (e = e.slice(n + "\x3c!--StartFragment--\x3e".length, r)), /<\/td>((?!<\/tr>)[\s\S])*$/i.test(e) && (e = "" + e + " "), /<\/tr>((?!<\/table>)[\s\S])*$/i.test(e) && (e = ""), an(e) && (e = this._convertToMsoList(e)), t.appendChild(this._getSanitizedHtml(e)), this._pasteClipboardContainer(t)
+ }, t._pasteClipboardContainer = function (e) {
+ var t = this.wwe.getEditor(),
+ n = e.childNodes;
+ if (1 === n.length && "TABLE" === n[0].nodeName) {
+ this.wwe.componentManager.getManager("table").pasteTableData(e)
+ } else {
+ var r = t.getSelection().cloneRange(),
+ i = this._preparePasteDocumentFragment(e);
+ t.saveUndoState(r), r.collapsed || this._deleteContentsRange(r), St.isTextNode(r.startContainer) ? this._pasteIntoTextNode(r, i) : this._pasteIntoElements(r, i), t.setSelection(r)
+ }
+ }, t._preparePasteDocumentFragment = function (e) {
+ var t = e.childNodes,
+ n = document.createDocumentFragment();
+ return t.length ? n.appendChild(this._unwrapBlock(e)) : this._isPossibleInsertToTable(e) && n.appendChild(e), n
+ }, t._unwrapBlock = function (e) {
+ for (var t = document.createDocumentFragment(), n = Qe()(e.childNodes); n.length;) {
+ var r = n.shift();
+ if (this._isPossibleInsertToTable(r)) t.appendChild(r);
+ else {
+ t.appendChild(this._unwrapBlock(r));
+ var i = t.lastChild;
+ n.length && i && "BR" !== i.nodeName && t.appendChild(document.createElement("br"))
+ }
+ }
+ return t
+ }, t._isPossibleInsertToTable = function (e) {
+ var t = e.nodeName;
+ return !("CODE" === t && e.childNodes.length > 1) && ("UL" === t || "OL" === t || St.isMDSupportInlineNode(e) || St.isTextNode(e))
+ }, t._pasteIntoElements = function (e, t) {
+ var n = e.startContainer,
+ r = e.startOffset,
+ i = St.getChildNodeByOffset(n, r);
+ if (i) n.insertBefore(t, i), e.setStart(i, 0);
+ else if ("TD" === n.nodeName) n.appendChild(t), e.setStart(n, n.childNodes.length);
+ else {
+ var o = n.parentNode,
+ a = n.nextSibling;
+ o.insertBefore(t, a), a ? e.setStart(a, 0) : e.setStartAfter(o.lastChild)
+ }
+ e.collapse(!0)
+ }, t._pasteIntoTextNode = function (e, t) {
+ var n = e.startContainer,
+ r = e.startOffset,
+ i = n.parentNode,
+ o = n.textContent,
+ a = o.slice(0, r),
+ s = o.slice(r, o.length),
+ l = t.childNodes,
+ c = l[0],
+ u = 1 === l.length && St.isTextNode(c);
+ if (a)
+ if (s)
+ if (u) {
+ var d = c.textContent;
+ n.textContent = "" + a + d + s, e.setStart(n, a.length + d.length)
+ } else {
+ var h = document.createDocumentFragment();
+ h.appendChild(document.createTextNode(a)), h.appendChild(t), h.appendChild(document.createTextNode(s)), i.replaceChild(h, n);
+ var f = Qe()(i.childNodes),
+ p = 0;
+ f.forEach((function (e, t) {
+ e.textContent === s && (p = t)
+ })), e.setStart(i.childNodes[p], 0)
+ }
+ else {
+ var g = n.nextSibling;
+ i.insertBefore(t, g), e.setStartAfter(g)
+ } else i.insertBefore(t, n), e.setStart(n, 0);
+ e.collapse(!0)
+ }, t._deleteContentsRange = function (e) {
+ var t = e.startContainer,
+ n = e.startOffset,
+ r = e.endContainer,
+ i = e.endOffset;
+ t === r ? (this._deleteContentsByOffset(t, n, i), e.setStart(t, n), e.collapse(!0)) : this._deleteNotCollapsedRangeContents(e)
+ }, t._deleteNotCollapsedRangeContents = function (e) {
+ var t = e.startContainer,
+ n = e.startOffset,
+ r = e.endContainer,
+ i = e.endOffset,
+ o = e.commonAncestorContainer,
+ a = this._getBlock(t, o, n),
+ s = this._getBlock(r, o, i - 1);
+ if (a === s) this._removeInSameBlock(a, t, r, n, i), s = r !== s ? null : s;
+ else {
+ var l = a.nextSibling;
+ "TD" === t.nodeName ? l = this._removeOneLine(a) : (this._deleteContentsByOffset(t, n, St.getOffsetLength(t)), St.removeNodesByDirection(a, t, !1)), "TD" === r.nodeName ? s = this._removeOneLine(s) : (this._deleteContentsByOffset(r, 0, i), St.removeNodesByDirection(s, r, !0)), St.removeChildFromStartToEndNode(o, l, s)
+ }
+ s ? e.setStart(s, 0) : e.setStartAfter(a), e.collapse(!0)
+ }, t._removeInSameBlock = function (e, t, n, r, i) {
+ var o = t === e ? r : 0,
+ a = n === e ? i : St.getOffsetLength(e);
+ this._deleteContentsByOffset(e, o, a)
+ }, t._removeOneLine = function (e) {
+ var t = e.nextSibling,
+ n = e.parentNode,
+ r = t;
+ return n.removeChild(e), t && "BR" === t.nodeName && (r = t.nextSibling, n.removeChild(t)), r
+ }, t._getBlock = function (e, t, n) {
+ return St.getParentUntil(e, t) || St.getChildNodeByOffset(e, n)
+ }, t._deleteContentsByOffset = function (e, t, n) {
+ if (St.isTextNode(e)) {
+ var r = e.textContent,
+ i = r.slice(0, t),
+ o = r.slice(n, r.length);
+ e.textContent = "" + i + o
+ } else {
+ var a = St.getChildNodeByOffset(e, t),
+ s = St.getChildNodeByOffset(e, n);
+ a && St.removeChildFromStartToEndNode(e, a, s || null)
+ }
+ }, e
+ }(),
+ bn = function () {
+ function e(e) {
+ this.wwe = e, this._pch = new vn(this.wwe), this._tablePasteHelper = new yn(this.wwe), this._selectedSellCount = 0, this._clipboardArea = null
+ }
+ var t = e.prototype;
+ return t.init = function () {
+ var e = this;
+ this.wwe.eventManager.listen("willPaste", (function (t) {
+ return e._executeHandler(e._onWillPaste.bind(e), t)
+ })), this.wwe.eventManager.listen("copy", (function (t) {
+ return e._executeHandler(e._onCopyCut.bind(e), t)
+ })), this.wwe.eventManager.listen("copyAfter", (function (t) {
+ return e._executeHandler(e._onCopyAfter.bind(e), t)
+ })), this.wwe.eventManager.listen("cut", (function (t) {
+ return e._executeHandler(e._onCopyCut.bind(e), t)
+ })), this.wwe.eventManager.listen("cutAfter", (function (t) {
+ return e._executeHandler(e._onCutAfter.bind(e), t)
+ })), this.wwe.eventManager.listen("paste", (function (t) {
+ return e._executeHandler(e._onPasteIntoTable.bind(e), t)
+ }))
+ }, t._executeHandler = function (e, t) {
+ "wysiwyg" === t.source && e(t)
+ }, t._onCopyCut = function (e) {
+ var t = this.wwe.componentManager.getManager("tableSelection");
+ if (t.getSelectedCells().length)
+ if (t.mergedTableSelectionManager) {
+ var n = this.wwe.getEditor(),
+ r = e.data,
+ i = n.getSelection().cloneRange(),
+ o = document.createElement("div");
+ this._extendRange(i), o.innerHTML = i.cloneContents(), this._updateCopyDataForListTypeIfNeed(i, o), this.wwe.eventManager.emit("copyBefore", {
+ source: "wysiwyg",
+ clipboardContainer: o
+ }), this._setClipboardData(r, o.innerHTML, o.textContent)
+ } else t.createRangeBySelectedCells()
+ }, t._clearClipboardArea = function () {
+ this._clipboardArea && (St.remove(this._clipboardArea), this._clipboardArea = null)
+ }, t._onCopyAfter = function () {
+ this.wwe.getEditor().getBody().focus(), this._clearClipboardArea()
+ }, t._onCutAfter = function () {
+ this.wwe.getEditor().getSelection().deleteContents(), this.wwe.getEditor().focus(), this._clearClipboardArea()
+ }, t._onPasteIntoTable = function (e) {
+ var t = e.data,
+ n = this.wwe.getEditor().getSelection();
+ this.wwe.isInTable(n) && this._isSingleCellSelected(n) && this._tablePasteHelper.pasteClipboard(t)
+ }, t._isSingleCellSelected = function (e) {
+ var t = e.startContainer,
+ n = e.endContainer;
+ return this._getCell(t) === this._getCell(n)
+ }, t._getCell = function (e) {
+ return "TD" === e.nodeName ? e : St.getParentUntil(e, "TR")
+ }, t._replaceNewLineToBr = function (e) {
+ St.getAllTextNode(e).forEach((function (e) {
+ /\n/.test(e.nodeValue) && (e.parentNode.innerHTML = e.nodeValue.replace(/\n/g, " "))
+ }))
+ }, t._onWillPaste = function (e) {
+ var t = this,
+ n = e.data,
+ r = document.createElement("div");
+ r.appendChild(n.fragment.cloneNode(!0)), this._preparePaste(r), this._setTableBookmark(r), n.fragment = document.createDocumentFragment(), Qe()(r.childNodes).forEach((function (e) {
+ "DIV" === St.getNodeName(e) && t._replaceNewLineToBr(e), n.fragment.appendChild(e)
+ }));
+ this.wwe.getEditor().addEventListener("input", (function e() {
+ t.wwe.getEditor().removeEventListener("input", e), t.wwe.eventManager.emit("wysiwygRangeChangeAfter", t), t._focusTableBookmark()
+ }))
+ }, t._setClipboardData = function (e, t, n) {
+ Zt.a.msie ? (e.squirePrevented = !0, this._clipboardArea = this._createClipboardArea(), this._clipboardArea.innerHTML = t, this._clipboardArea.focus(), window.getSelection().selectAllChildren(this._clipboardArea)) : (e.preventDefault(), e.stopPropagation(), e.clipboardData.setData("text/html", t), e.clipboardData.setData("text/plain", n))
+ }, t._createClipboardArea = function () {
+ var e = document.createElement("div");
+ return e.setAttribute("contenteditable", !0), h()(e, {
+ position: "fixed",
+ overflow: "hidden",
+ top: 0,
+ right: "100%",
+ width: "1px",
+ height: "1px"
+ }), document.body.appendChild(e), e
+ }, t._updateCopyDataForListTypeIfNeed = function (e, t) {
+ var n = e.commonAncestorContainer.nodeName;
+ if ("UL" === n || "OL" === n) {
+ var r = document.createElement(n);
+ r.appendChild(t), t.innerHTML = "", t.appendChild(r)
+ }
+ }, t._removeEmptyFontElement = function (e) {
+ St.children(e, "font").forEach((function (e) {
+ e.textContent.trim() || St.remove(e)
+ }))
+ }, t._preProcessPtag = function (e) {
+ St.findAll(e, "p").forEach((function (e) {
+ e.lastChild && "BR" !== e.lastChild.nodeName && e.appendChild(document.createElement("br")), e.appendChild(document.createElement("br"))
+ }))
+ }, t._preparePaste = function (e) {
+ an(e.innerHTML) ? un(e) : this._preProcessPtag(e), this._removeEmptyFontElement(e), this._pch.preparePaste(e), this.wwe.eventManager.emit("pasteBefore", {
+ source: "wysiwyg",
+ clipboardContainer: e
+ })
+ }, t._setTableBookmark = function (e) {
+ var t = e.lastChild;
+ t && "TABLE" === t.nodeName && p()(t, "tui-paste-table-bookmark")
+ }, t._focusTableBookmark = function () {
+ var e = this.wwe.getEditor(),
+ t = e.getSelection().cloneRange(),
+ n = e.getBody().querySelector(".tui-paste-table-bookmark"),
+ r = e.getBody().querySelector(".tui-paste-table-cell-bookmark");
+ n && (m()(n, "tui-paste-table-bookmark"), t.setEndAfter(n), t.collapse(!1), e.setSelection(t)), r && (m()(r, "tui-paste-table-cell-bookmark"), t.selectNodeContents(r), t.collapse(!1), e.setSelection(t))
+ }, t._extendRange = function (e) {
+ (!St.isTextNode(e.commonAncestorContainer) || 0 === e.startOffset && e.commonAncestorContainer.textContent.length === e.endOffset || "TD" === e.commonAncestorContainer.nodeName) && (0 === e.startOffset && (e = this._extendStartRange(e)), e.endOffset === St.getOffsetLength(e.endContainer) && (e = this._extendEndRange(e)), this._isWholeCommonAncestorContainerSelected(e) && e.selectNode(e.commonAncestorContainer), this.wwe.getEditor().setSelection(e))
+ }, t._extendStartRange = function (e) {
+ for (var t = e.startContainer; t.parentNode !== e.commonAncestorContainer && t.parentNode !== this.wwe.getBody() && !t.previousSibling;) t = t.parentNode;
+ return e.setStart(t.parentNode, St.getNodeOffsetOfParent(t)), e
+ }, t._extendEndRange = function (e) {
+ for (var t = e.endContainer, n = t.nextSibling; t.parentNode !== e.commonAncestorContainer && t.parentNode !== this.wwe.getBody() && (!n || "BR" === St.getNodeName(n) && t.parentNode.lastChild === n);) n = (t = t.parentNode).nextSibling;
+ return e.setEnd(t.parentNode, St.getNodeOffsetOfParent(t) + 1), e
+ }, t._isWholeCommonAncestorContainerSelected = function (e) {
+ return e.commonAncestorContainer.nodeType === Node.ELEMENT_NODE && e.commonAncestorContainer !== this.wwe.getBody() && 0 === e.startOffset && e.endOffset === e.commonAncestorContainer.childNodes.length && e.commonAncestorContainer === e.startContainer && e.commonAncestorContainer === e.endContainer
+ }, e
+ }(),
+ Cn = function () {
+ function e(e) {
+ this.wwe = e, this.eventManager = e.eventManager, this.name = "link", this._init()
+ }
+ var t = e.prototype;
+ return t._init = function () {
+ var e = this;
+ this.eventManager.listen("wysiwygSetValueAfter", (function () {
+ e._addClassNameToAllImageLinks()
+ })), this.wwe.getEditor().addEventListener("click", (function (t) {
+ var n = t.target,
+ r = t.offsetX,
+ i = t.offsetY,
+ o = getComputedStyle(n, ":before");
+ et()(n, "image-link") && St.isInsideButtonBox(o, r, i) && (e._selectImageLink(n.parentNode), e.eventManager.emit("openPopupAddLink", {
+ url: n.getAttribute("href")
+ }))
+ }))
+ }, t._selectImageLink = function (e) {
+ var t = this.wwe.getEditor().getSelection().cloneRange();
+ t.selectNode(e), this.wwe.getEditor().setSelection(t)
+ }, t._addClassNameToImageLinks = function (e) {
+ e.forEach((function (e) {
+ e.firstChild && "IMG" === e.firstChild.nodeName && p()(e, "image-link")
+ }))
+ }, t._addClassNameToAllImageLinks = function () {
+ var e = St.findAll(this.wwe.getBody(), "a");
+ this._addClassNameToImageLinks(e)
+ }, t.addClassNameToImageLinksInSelection = function () {
+ var e, t = this.wwe.getEditor().getSelection().commonAncestorContainer;
+ St.isElemNode(t) && (e = "A" === t.nodeName ? [t] : St.findAll(t, "a"), this._addClassNameToImageLinks(e))
+ }, e
+ }(),
+ wn = /]*>)(.*?)(<\/(?:th|td)>)/g,
+ Tn = /<(ul|ol|li)([^>]*)>/g,
+ En = function () {
+ function e(e) {
+ this.wwe = e, this.eventManager = e.eventManager, this.name = "list", this._init()
+ }
+ var t = e.prototype;
+ return t._init = function () {
+ this._initEvent(), this._initKeyHandler()
+ }, t._initEvent = function () {
+ var e = this;
+ this.eventManager.listen("wysiwygSetValueBefore", (function (t) {
+ return e.convertToArbitraryNestingList(t)
+ })), this.eventManager.listen("wysiwygRangeChangeAfter", (function () {
+ e._findAndRemoveEmptyList(), e._removeBranchListAll()
+ })), this.eventManager.listen("wysiwygSetValueAfter", (function () {
+ e._removeBranchListAll()
+ })), this.eventManager.listen("wysiwygProcessHTMLText", (function (t) {
+ return t = e._convertFromArbitraryNestingList(t)
+ })), this.eventManager.listen("convertorBeforeHtmlToMarkdownConverted", (function (t) {
+ return e._insertDataToMarkPassForListInTable(t)
+ }))
+ }, t._initKeyHandler = function () {
+ var e = this;
+ this.wwe.addKeyEventHandler(["TAB", "CTRL+]", "META+]"], (function (t) {
+ var n;
+ return e.wwe.getEditor().hasFormat("LI") && (t.preventDefault(), e.eventManager.emit("command", "Indent"), n = !1), n
+ })), this.wwe.addKeyEventHandler(["SHIFT+TAB", "CTRL+[", "META+["], (function (t, n) {
+ var r;
+ if (e.wwe.getEditor().hasFormat("LI")) {
+ t.preventDefault();
+ var i = St.children(St.closest(n.startContainer, "li"), "OL,UL");
+ e.eventManager.emit("command", "Outdent"), i.length && !i.previousSibling && e._removeBranchList(i), r = !1
+ }
+ return r
+ })), this.wwe.addKeyEventHandler("ENTER", (function (t, n) {
+ n.collapsed && e.wwe.getEditor().hasFormat("LI") && e.wwe.defer((function () {
+ var t = e.wwe.getRange(),
+ n = St.parents(t.startContainer, "li")[0];
+ e._removeBranchListAll(n)
+ }))
+ })), this.wwe.addKeyEventHandler("BACK_SPACE", (function (t, n) {
+ n.collapsed && e.wwe.getEditor().hasFormat("LI") && e.wwe.defer((function () {
+ e._removeBranchListAll()
+ }))
+ }))
+ }, t._findAndRemoveEmptyList = function () {
+ St.findAll(this.wwe.getBody(), "OL,UL").forEach((function (e) {
+ wn.test(e.innerHTML) || St.remove(e)
+ }))
+ }, t._removeBranchListAll = function (e) {
+ var t = this;
+ e = e || this.wwe.getBody(), St.findAll(e, "li > ul, li > ol").forEach((function (e) {
+ e && !e.previousSibling && t._removeBranchList(e)
+ }))
+ }, t._removeBranchList = function (e) {
+ for (var t = e; !t.previousSibling && t.parentElement.tagName.match(/UL|OL|LI/g);) t = t.parentElement;
+ var n = St.children(t, "li")[0],
+ r = St.unwrap(e);
+ St.prepend(t, r), St.remove(n)
+ }, t.convertToArbitraryNestingList = function (e) {
+ for (var t = St.createElementWith("" + e + "
"), n = t.querySelector("li > ul, li > ol"); null !== n;) {
+ var r = n.parentNode;
+ r.parentNode.insertBefore(n, r.nextElementSibling), n = t.querySelector("li > ul, li > ol")
+ }
+ return t.innerHTML
+ }, t._convertFromArbitraryNestingList = function (e) {
+ for (var t = St.createElementWith("" + e + "
"), n = t.querySelector("ol > ol, ol > ul, ul > ol, ul > ul"); null !== n;) {
+ for (var r = n.previousElementSibling; r && "LI" !== r.tagName;) r = r.previousElementSibling;
+ r ? r.appendChild(n) : this._unwrap(n), n = t.querySelector("ol > ol, ol > ul, ul > ol, ul > ul")
+ }
+ return t.innerHTML
+ }, t._unwrap = function (e) {
+ for (var t = document.createDocumentFragment(); e.firstChild;) t.appendChild(e.firstChild);
+ e.parentNode.replaceChild(t, e)
+ }, t._insertDataToMarkPassForListInTable = function (e) {
+ return e.replace(_n, (function (e, t, n, r) {
+ return "" + t + n.replace(Tn, "<$1 data-tomark-pass $2>") + r
+ }))
+ }, t.getLinesOfSelection = function (e, t) {
+ var n, r = [],
+ i = !1,
+ o = !0;
+ St.isTextNode(e) && (e = St.parents(e, "DIV,LI")[0]);
+ St.isTextNode(t) && (t = St.parents(t, "DIV,LI")[0]);
+ for (var a = e; o && nt()(a, "DIV,LI"); a = n) r.push(a), a === t ? i = !0 : n = this._getNextLine(a, t), o = n && !i;
+ return r
+ }, t._getNextLine = function (e, t) {
+ var n = e.nextElementSibling;
+ return n ? nt()(n, "OL,UL") && (n = n.querySelector("li")) : n = e.parentNode.nextElementSibling, nt()(n, "DIV,LI") || n === t ? n : this._getNextLine(n)
+ }, t.mergeList = function (e) {
+ var t = e.parentNode,
+ n = t.previousElementSibling,
+ r = t.nextElementSibling;
+ t.firstElementChild === e && n && nt()(n, "OL,UL") && (this._mergeList(t, n), t = n), t.lastElementChild === e && r && nt()(r, "OL,UL") && this._mergeList(r, t)
+ }, t._mergeList = function (e, t) {
+ var n = e.firstElementChild;
+ if (t && nt()(t, "OL,UL")) {
+ for (; n;) {
+ var r = n.nextElementSibling;
+ t.appendChild(n), n = r
+ }
+ e.parentNode.removeChild(e)
+ }
+ }, t.isAvailableMakeListInTable = function () {
+ var e = this.wwe.componentManager.getManager("tableSelection").getSelectedCells(),
+ t = this.wwe.getEditor();
+ return e && t.hasFormat("table") && !t.hasFormat("OL") && !t.hasFormat("UL")
+ }, t._getParentNodeBeforeTD = function (e, t) {
+ var n = St.getParentUntil(e, "TD");
+ if (!n) {
+ var r = e.childNodes,
+ i = r ? r.length : 0,
+ o = t > 0 && t === i ? t - 1 : t;
+ n = St.getChildNodeByOffset(e, o)
+ }
+ return n
+ }, t._findLINodeInsideCell = function (e, t) {
+ var n = null;
+ e && St.isCellNode(e) && (e = e.firstChild);
+ var r = St.getParentUntilBy(e, (function (e) {
+ return e && St.isListNode(e)
+ }), (function (e) {
+ return e && St.isCellNode(e)
+ }));
+ if (r) n = r;
+ else if ("LI" === e.nodeName) n = e;
+ else if (St.isListNode(e)) {
+ var i = e.childNodes.length;
+ n = e.childNodes[t >= i ? i - 1 : t]
+ }
+ return n
+ }, t._getFirstNodeInLineOfTable = function (e, t) {
+ var n = this._findLINodeInsideCell(e, t);
+ if (!n)
+ for (var r = (n = this._getParentNodeBeforeTD(e, t)).previousSibling; r && "BR" !== r.nodeName && !St.isListNode(r);) r = (n = r).previousSibling;
+ return n
+ }, t._getLastNodeInLineOfTable = function (e, t) {
+ var n = this._findLINodeInsideCell(e, t);
+ if (!n)
+ for (n = this._getParentNodeBeforeTD(e, t); n.nextSibling && "BR" !== n.nodeName && !St.isListNode(n);) n = n.nextSibling;
+ return n
+ }, t._isLastNodeInLineOfTable = function (e) {
+ var t = e.nodeName;
+ return "LI" === t || "BR" === t
+ }, t._getNextNodeInLineOfTable = function (e) {
+ var t = e.nextSibling;
+ if ("LI" !== e.nodeName || t) St.isListNode(t) && (t = t.firstChild);
+ else
+ for (var n = e.parentNode; !St.isCellNode(n);) {
+ if (n.nextSibling) {
+ t = n.nextSibling;
+ break
+ }
+ n = n.parentNode
+ }
+ return t
+ }, t._getLinesOfSelectionInTable = function (e) {
+ for (var t = e.startContainer, n = e.endContainer, r = e.startOffset, i = e.endOffset, o = this._getFirstNodeInLineOfTable(t, r), a = this._getLastNodeInLineOfTable(n, i), s = [], l = []; o;) {
+ if (l.push(o), this._isLastNodeInLineOfTable(o) && (s.push(l), l = []), o === a) {
+ l.length && s.push(l);
+ break
+ }
+ o = this._getNextNodeInLineOfTable(o)
+ }
+ return s
+ }, t._createListElement = function (e) {
+ return document.createElement("TASK" === e ? "UL" : e)
+ }, t._createListItemElement = function (e, t) {
+ var n = document.createElement("li");
+ (e.forEach((function (e) {
+ n.appendChild(e)
+ })), "TASK" === t) && this.wwe.componentManager.getManager("task").formatTask(n);
+ return n
+ }, t._mergeListWithPreviousSibiling = function (e) {
+ var t = e.previousSibling,
+ n = e;
+ return t && e.nodeName === t.nodeName && (this._mergeList(e, t), n = t), n
+ }, t._mergeListWithNextSibiling = function (e) {
+ var t = e.nextSibling;
+ return t && e.nodeName === t.nodeName && this._mergeList(t, e), e
+ }, t.createListInTable = function (e, t) {
+ var n = this,
+ r = this._getLinesOfSelectionInTable(e),
+ i = r[r.length - 1],
+ o = i[i.length - 1],
+ a = o.nextSibling,
+ s = o.parentNode,
+ l = this._createListElement(t),
+ c = l.nodeName,
+ u = [];
+ return r.forEach((function (e) {
+ var r, i = e[0];
+ if ("LI" === i.nodeName) {
+ var o = i.parentNode;
+ if (r = i, o.nodeName !== c) {
+ var a = o.childNodes;
+ Qe()(a).forEach((function () {
+ l.appendChild(o.firstChild)
+ })), o.parentNode.replaceChild(l, o)
+ }
+ l = r.parentNode
+ } else r = n._createListItemElement(e, t), l.appendChild(r);
+ u.push(r)
+ })), l.parentNode || s.insertBefore(l, a), l = this._mergeListWithPreviousSibiling(l), this._mergeListWithNextSibiling(l), u
+ }, t.adjustRange = function (e, t, n, r, i) {
+ var o = St.containsNode(i[0], e) ? e : i[0],
+ a = St.containsNode(i[i.length - 1], t) ? t : i[i.length - 1],
+ s = "TD" === e.nodeName ? 0 : n,
+ l = "TD" === t.nodeName ? 0 : r;
+ this.wwe.setSelectionByContainerAndOffset(o, s, a, l)
+ }, e
+ }(),
+ xn = function () {
+ function e(e) {
+ this.wwe = e, this.eventManager = e.eventManager, this.name = "task", this._init()
+ }
+ var t = e.prototype;
+ return t._init = function () {
+ this._initKeyHandler(), this._initEvent(), this.wwe.getEditor().addEventListener("mousedown", (function (e) {
+ var t = getComputedStyle(e.target, ":before");
+ e.target.hasAttribute("data-te-task") && St.isInsideButtonBox(t, e.offsetX, e.offsetY) && (e.preventDefault(), St.toggleClass(e.target, "checked"))
+ }))
+ }, t._initEvent = function () {
+ var e = this;
+ this.eventManager.listen("wysiwygSetValueAfter", (function () {
+ e._removeTaskListClass()
+ }))
+ }, t._initKeyHandler = function () {
+ var e = this;
+ this.wwe.addKeyEventHandler("ENTER", (function (t, n) {
+ e.isInTaskList(n) && e.wwe.defer((function () {
+ var t = e.wwe.getRange(),
+ n = St.closest(t.startContainer, "li");
+ n && m()(n, "checked")
+ }))
+ }))
+ }, t.isInTaskList = function (e) {
+ var t;
+ (e || (e = this.wwe.getEditor().getSelection().cloneRange()), e.startContainer.nodeType === Node.ELEMENT_NODE && "LI" === e.startContainer.tagName) ? t = e.startContainer: t = St.parents(e.startContainer, "li")[0];
+ return !!t && et()(t, "task-list-item")
+ }, t.unformatTask = function (e) {
+ var t = St.closest(e, "li");
+ m()(t, "task-list-item"), m()(t, "checked"), t.removeAttribute("data-te-task"), t.getAttribute("class") || t.removeAttribute("class")
+ }, t.formatTask = function (e) {
+ var t = St.closest(e, "li");
+ p()(t, "task-list-item"), t.setAttribute("data-te-task", "")
+ }, t._formatTaskIfNeed = function () {
+ var e = this.wwe.getEditor().getSelection().cloneRange();
+ this.isInTaskList(e) && this.formatTask(e.startContainer)
+ }, t._removeTaskListClass = function () {
+ St.findAll(this.wwe.getBody(), ".task-list").forEach((function (e) {
+ m()(e, "task-list")
+ }))
+ }, e
+ }(),
+ Sn = Zt.a.msie && 10 === Zt.a.version,
+ Nn = Zt.a.msie && (10 === Zt.a.version || 11 === Zt.a.version),
+ kn = Zt.a.msie ? "" : " ";
+
+ function Ln(e, t) {
+ for (var n = "<" + t + "> " + t + ">", r = "", i = 0; i < e; i += 1) r += n;
+ return r
+ }
+ var Mn = function () {
+ function e(e) {
+ this.wwe = e, this.eventManager = e.eventManager, this.name = "table", this._lastCellNode = null, this._init()
+ }
+ var t = e.prototype;
+ return t._init = function () {
+ this._initKeyHandler(), this._initEvent(), this.tableID = 0
+ }, t._initEvent = function () {
+ var e = this;
+ this.eventManager.listen("wysiwygRangeChangeAfter.table", (function () {
+ var t = e.wwe.getEditor().getSelection(),
+ n = e.wwe.isInTable(t);
+ (e._unwrapBlockInTable(), e._completeTableIfNeed(), n) || e.wwe.componentManager.getManager("tableSelection").removeClassAttrbuteFromAllCellsIfNeed();
+ e._insertDefaultBlockBetweenTable()
+ })), this.eventManager.listen("wysiwygSetValueAfter.table", (function () {
+ e._unwrapBlockInTable(), e._insertDefaultBlockBetweenTable()
+ })), this.eventManager.listen("wysiwygProcessHTMLText.table", (function (e) {
+ return e.replace(/ (<\/td>|<\/th>)/g, "$1")
+ })), this.eventManager.listen("cut.table", (function () {
+ var t = e.wwe.componentManager.getManager("tableSelection"),
+ n = t.getSelectedCells();
+ n.length && n.forEach((function (e) {
+ e.innerHTML = kn
+ })), t.removeClassAttrbuteFromAllCellsIfNeed()
+ })), this.eventManager.listen("copyBefore.table", (function (t) {
+ var n = t.clipboardContainer;
+ return e.updateTableHtmlOfClipboardIfNeed(n)
+ }))
+ }, t.updateTableHtmlOfClipboardIfNeed = function (e) {
+ var t = this,
+ n = this.wwe.componentManager.getManager("tableSelection");
+ if (n.getSelectedCells().length) {
+ n.createRangeBySelectedCells();
+ var r = this.wwe.getEditor().getSelection().cloneContents();
+ Qe()(r.children).forEach((function (e) {
+ if (t.isTableOrSubTableElement(e.nodeName))
+ if ("TABLE" === e.nodeName && e.querySelector("thead") && e.querySelector("tbody")) St.remove(e);
+ else if (e.previousSibling && "TABLE" === e.previousSibling.nodeName) e.previousSibling.appendChild(e);
+ else if (t._completeIncompleteTable(e), "TABLE" !== e.nodeName && "THEAD" !== e.nodeName) {
+ var n = St.closest(e, "table").querySelector("thead");
+ St.remove(n)
+ }
+ })), e.appendChild(r), St.findAll(e, ".te-cell-selected").forEach((function (e) {
+ m()(e, "te-cell-selected")
+ }))
+ }
+ }, t.pasteTableData = function (e) {
+ this._expandTableIfNeed(e), this._pasteDataIntoTable(e)
+ }, t._initKeyHandler = function () {
+ var e = this;
+ this.keyEventHandlers = {
+ DEFAULT: function (t, n, r) {
+ var i = e.wwe.isInTable(n);
+ i && !e._isModifierKey(r) ? (e._recordUndoStateIfNeed(n), e._removeContentsAndChangeSelectionIfNeed(n, r, t)) : !i && e._lastCellNode && e._recordUndoStateAndResetCellNode(n), i && !e._isModifierKeyPushed(t) && e.wwe.getEditor().modifyDocument((function () {
+ e.wwe.componentManager.getManager("tableSelection").removeClassAttrbuteFromAllCellsIfNeed()
+ }))
+ },
+ ENTER: function (t, n) {
+ var r;
+ return e._isAfterTable(n) ? (t.preventDefault(), n.setStart(n.startContainer, n.startOffset - 1), e.wwe.breakToNewDefaultBlock(n), r = !1) : e._isBeforeTable(n) ? (t.preventDefault(), e.wwe.breakToNewDefaultBlock(n, "before"), r = !1) : e.wwe.isInTable(n) && (!e._isInList(n.startContainer) && e._isInStyledText(n) ? e.wwe.defer((function () {
+ e._removeBRinStyleText()
+ })) : e._isEmptyFirstLevelLI(n) && e.wwe.defer((function () {
+ var t = e.wwe.getRange().cloneRange(),
+ n = t.startContainer,
+ r = document.createElement("br");
+ n.parentNode.replaceChild(r, n), t.setStartBefore(r), t.collapse(!0), e.wwe.getEditor().setSelection(t)
+ })), e._appendBrIfTdOrThNotHaveAsLastChild(n), r = !1), r
+ },
+ BACK_SPACE: function (t, n, r) {
+ return e._handleBackspaceAndDeleteKeyEvent(t, n, r)
+ },
+ DELETE: function (t, n, r) {
+ return e._handleBackspaceAndDeleteKeyEvent(t, n, r)
+ },
+ TAB: function () {
+ return e._moveCursorTo("next", "cell")
+ },
+ "SHIFT+TAB": function (t) {
+ return e._moveCursorTo("previous", "cell", t)
+ },
+ UP: function (t) {
+ return e._moveCursorTo("previous", "row", t)
+ },
+ DOWN: function (t) {
+ return e._moveCursorTo("next", "row", t)
+ }
+ }, i()(this.keyEventHandlers, (function (t, n) {
+ return e.wwe.addKeyEventHandler(n, t)
+ }))
+ }, t._isEmptyListItem = function (e) {
+ var t = e.childNodes;
+ return "LI" === e.nodeName && 1 === t.length && "BR" === t[0].nodeName
+ }, t._isEmptyFirstLevelLI = function (e) {
+ var t = e.collapsed,
+ n = e.startContainer,
+ r = e.startOffset;
+ return t && 0 === r && this._isEmptyListItem(n) && St.isFirstLevelListItem(n)
+ }, t._isInStyledText = function (e) {
+ var t, n = e.startContainer;
+ return t = St.isTextNode(n) ? n.parentNode : n, e.collapsed && St.isStyledNode(t)
+ }, t._removeBRinStyleText = function () {
+ var e, t = this.wwe.getRange(),
+ n = t.startContainer,
+ r = t.startOffset,
+ i = (e = "TD" === n.nodeName ? St.getChildNodeByOffset(n, r - 1) : St.getParentUntil(n, "TD")).querySelector("br");
+ if (i) {
+ var o = e,
+ a = o.parentNode,
+ s = o.nodeName;
+ if ("CODE" !== s || i.previousSibling)
+ if ("CODE" !== s || i.nextSibling) {
+ var l = this._splitByBR(e, i);
+ t.setStart(l, 0)
+ } else a.insertBefore(i, e.nextSibling), t.setStart(a, St.getNodeOffsetOfParent(i) + 1);
+ else a.insertBefore(i, e), t.setStart(e, 0);
+ t.collapse(!0), this.wwe.getEditor().setSelection(t)
+ }
+ }, t._splitByBR = function (e, t) {
+ var n = e.cloneNode(!0),
+ r = document.createElement("br"),
+ i = e.parentNode;
+ St.removeNodesByDirection(e, t, !1), t.parentNode.removeChild(t);
+ var o = n.querySelector("br");
+ St.removeNodesByDirection(n, o, !0), o.parentNode.removeChild(o), i.insertBefore(n, e.nextSibling), i.insertBefore(r, n);
+ var a = St.getLeafNode(n);
+ return St.getTextLength(a) || (a.textContent = ""), a
+ }, t._isBeforeTable = function (e) {
+ return "TABLE" === St.getNodeName(St.getChildNodeByOffset(e.startContainer, e.startOffset))
+ }, t._isAfterTable = function (e) {
+ var t = St.getPrevOffsetNodeUntil(e.startContainer, e.startOffset);
+ return "TABLE" === St.getNodeName(t) && e.commonAncestorContainer === this.wwe.getBody()
+ }, t._handleBackspaceAndDeleteKeyEvent = function (e, t, n) {
+ var r = "BACK_SPACE" === n,
+ i = this.wwe.componentManager.getManager("tableSelection").getSelectedCells(),
+ o = !0;
+ if (t.collapsed) {
+ if (this.wwe.isInTable(t)) r ? this._tableHandlerOnBackspace(t, e) : this._tableHandlerOnDelete(t, e), this._removeContentsAndChangeSelectionIfNeed(t, n, e), o = !1;
+ else if (!r && this._isBeforeTable(t) || r && this._isAfterTable(t)) {
+ e.preventDefault();
+ var a = r ? t.startOffset - 1 : t.startOffset;
+ this._removeTable(t, St.getChildNodeByOffset(t.startContainer, a)), o = !1
+ }
+ } else if (this.wwe.isInTable(t)) {
+ if (i.length > 0) this._removeContentsAndChangeSelectionIfNeed(t, n, e) && (e.preventDefault(), o = !1)
+ }
+ return o
+ }, t._moveListItemToPreviousOfList = function (e, t) {
+ var n = e.parentNode,
+ r = e.firstChild,
+ i = document.createDocumentFragment();
+ St.mergeNode(e, i), n.parentNode.insertBefore(i, n), t.setStart(r, 0), t.collapse(!0), this.wwe.getEditor().setSelection(t), n.hasChildNodes() || n.parentNode.removeChild(n)
+ }, t._isInList = function (e) {
+ return St.getParentUntilBy(e, (function (e) {
+ return e && (St.isListNode(e) || "LI" === e.nodeName)
+ }), (function (e) {
+ return e && ("TD" === e.nodeName || "TH" === e.nodeName)
+ }))
+ }, t._findListItem = function (e) {
+ return St.getParentUntilBy(e, (function (e) {
+ return e && St.isListNode(e)
+ }), (function (e) {
+ return e && ("TD" === e.nodeName || "TH" === e.nodeName)
+ }))
+ }, t._tableHandlerOnBackspace = function (e, t) {
+ var n = e.startContainer,
+ r = e.startOffset,
+ i = this._findListItem(n);
+ if (i && 0 === r && St.isFirstListItem(i) && St.isFirstLevelListItem(i)) this.wwe.getEditor().saveUndoState(e), this._moveListItemToPreviousOfList(i, e), t.preventDefault();
+ else {
+ var o = St.getPrevOffsetNodeUntil(n, r, "TR");
+ "BR" === St.getNodeName(o) && 1 !== o.parentNode.childNodes.length && (t.preventDefault(), St.remove(o))
+ }
+ }, t._isDeletingBR = function (e) {
+ var t = this._getCurrentNodeInCell(e),
+ n = t && t.nextSibling;
+ return "BR" === St.getNodeName(t) && !!n && "BR" === St.getNodeName(n)
+ }, t._getCurrentNodeInCell = function (e) {
+ var t, n = e.startContainer,
+ r = e.startOffset;
+ return "TD" === St.getNodeName(n) ? t = St.getChildNodeByOffset(n, r) : St.getParentUntil(n, "TD") && (t = n), t
+ }, t._isEndOfList = function (e, t) {
+ var n = t.startContainer,
+ r = t.startOffset,
+ i = !1;
+ if (!e.nextSibling)
+ if (e === n) {
+ var o = St.getOffsetLength(e);
+ "BR" === e.lastChild.nodeName && (o -= 1), i = o === r
+ } else {
+ var a = St.getParentUntil(n, "li") || n,
+ s = St.getOffsetLength(n),
+ l = e.lastChild;
+ "BR" === l.nodeName && (l = l.previousSibling), i = l === a && s === r
+ } return i
+ }, t._getNextLineNode = function (e) {
+ for (var t = document.createDocumentFragment(), n = St.getParentUntil(e, "TD").nextSibling; n;) {
+ var r = n.nextSibling;
+ if (t.appendChild(n), "BR" === n.nodeName) break;
+ n = r
+ }
+ return t
+ }, t._tableHandlerOnDelete = function (e, t) {
+ var n = this._findListItem(e.startContainer);
+ if (n && this._isEndOfList(n, e)) this.wwe.getEditor().saveUndoState(e), "BR" === n.lastChild.nodeName && n.removeChild(n.lastChild), St.mergeNode(this._getNextLineNode(n), n), t.preventDefault();
+ else if (this._isDeletingBR(e)) {
+ var r = this._getCurrentNodeInCell(e);
+ r.parentNode.removeChild(r.nextSibling), t.preventDefault()
+ }
+ }, t._appendBrIfTdOrThNotHaveAsLastChild = function (e) {
+ var t, n = St.getNodeName(e.startContainer);
+ if ("TD" === n || "TH" === n) t = e.startContainer;
+ else {
+ var r = St.parentsUntil(e.startContainer, "tr");
+ t = r[r.length - 1]
+ }
+ var i = St.getNodeName(t.lastChild);
+ "BR" === i || "DIV" === i || "UL" === i || "OL" === i || Nn || St.append(t, " ")
+ }, t._unwrapBlockInTable = function () {
+ St.findAll(this.wwe.getBody(), "td div,th div,tr>br,td>br,th>br").forEach((function (e) {
+ if ("BR" === St.getNodeName(e)) {
+ var t = St.getNodeName(e.parentNode),
+ n = /TD|TH/.test(t),
+ r = 0 === e.parentNode.textContent.length,
+ i = e.parentNode.lastChild === e;
+ ("TR" === t || n && !r && i) && St.remove(e)
+ } else St.unwrap(e)
+ }))
+ }, t._insertDefaultBlockBetweenTable = function () {
+ St.findAll(this.wwe.getBody(), "table").forEach((function (e) {
+ if (e.nextElementSibling && "TABLE" === e.nextElementSibling.nodeName) {
+ var t = document.createElement("div");
+ t.appendChild(document.createElement("br")), St.insertAfter(t, e)
+ }
+ }))
+ }, t._removeTable = function (e, t) {
+ "TABLE" === t.tagName && (this.wwe.getEditor().saveUndoState(e), this.wwe.saveSelection(e), St.remove(t), this.wwe.restoreSavedSelection())
+ }, t._recordUndoStateIfNeed = function (e) {
+ var t = St.getParentUntil(e.startContainer, "TR");
+ e.collapsed && t && this._lastCellNode !== t && (this.wwe.getEditor().saveUndoState(e), this._lastCellNode = t)
+ }, t._recordUndoStateAndResetCellNode = function (e) {
+ this.wwe.getEditor().saveUndoState(e), this.resetLastCellNode()
+ }, t._pasteDataIntoTable = function (e) {
+ var t, n, r, i, o = this.wwe.getEditor().getSelection().startContainer,
+ a = this._getTableDataFromTable(e),
+ s = "TD" === o.nodeName || "TH" === o.nodeName,
+ l = Sn ? "" : " ";
+ for (n = t = (t = s ? o : (t = St.getParentUntilBy(o, (function (e) {
+ return e && ("TD" === e.nodeName || "TH" === e.nodeName)
+ }), (function (e) {
+ return !!St.closest(e, "table")
+ }))) ? t.parentNode : null) || o.querySelector("th,td"); a.length;) {
+ for (r = a.shift(); n && r.length;)(i = r.shift()).length ? n.textContent = i : n.innerHTML = l, n = St.getTableCellByDirection(n, "next");
+ t = n = St.getSiblingRowCellByDirection(t, "next", !1)
+ }
+ }, t._getTableDataFromTable = function (e) {
+ var t = [];
+ return St.findAll(e, "tr").forEach((function (e) {
+ var n = [];
+ Qe()(e.children).forEach((function (e) {
+ n.push(e.textContent)
+ })), n.length && t.push(n)
+ })), t
+ }, t._removeTableContents = function (e) {
+ this.wwe.getEditor().saveUndoState(), Qe()(e).forEach((function (e) {
+ var t = Sn ? "" : " ";
+ e.innerHTML = t
+ }))
+ }, t.wrapDanglingTableCellsIntoTrIfNeed = function (e) {
+ var t, n = St.children(e, "td,th");
+ if (n.length) {
+ var r = document.createElement("tr");
+ Qe()(n).forEach((function (e) {
+ St.append(r, e)
+ })), t = r
+ }
+ return t
+ }, t.wrapTrsIntoTbodyIfNeed = function (e) {
+ var t, n = St.children(e, "tr"),
+ r = [];
+ if (Qe()(n).forEach((function (e) {
+ r = r.concat(e.querySelectorAll("th"))
+ })), r.length && Qe()(r).forEach((function (e) {
+ var t = document.createElement("td");
+ t.innerHTML = e.innerHTML, St.insertBefore(e, t), St.remove(e)
+ })), n.length) {
+ var i = document.createElement("tbody");
+ Qe()(n).forEach((function (e) {
+ St.append(i, e)
+ })), t = i
+ }
+ return t
+ }, t.wrapTheadAndTbodyIntoTableIfNeed = function (e) {
+ var t, n = St.children(e, "thead"),
+ r = St.children(e, "tbody"),
+ i = document.createElement("table");
+ return !r.length && n.length ? (St.append(i, n[0]), St.append(i, this._createTheadOrTboday("tbody")), t = i) : r.length && !n.length ? (St.append(i, this._createTheadOrTboday("thead")), St.append(i, r[0]), t = i) : r.length && n.length && (St.append(i, n[0]), St.append(i, r[0]), t = i), t
+ }, t.isTableOrSubTableElement = function (e) {
+ return "TABLE" === e || "TBODY" === e || "THEAD" === e || "TR" === e || "TD" === e
+ }, t._createTheadOrTboday = function (e) {
+ var t = document.createElement(e),
+ n = document.createElement("tr");
+ return t.appendChild(n), t
+ }, t._stuffTableCellsIntoIncompleteRow = function (e, t) {
+ Qe()(e).forEach((function (e) {
+ for (var n = e.querySelectorAll("th,td"), r = "THEAD" === St.getNodeName(e.parentNode) ? "th" : "td", i = n.length; i < t; i += 1) St.append(e, Ln(1, r))
+ }))
+ }, t.prepareToTableCellStuffing = function (e) {
+ var t = e[0].querySelectorAll("th,td").length,
+ n = !1;
+ return Qe()(e).forEach((function (e) {
+ var r = e.querySelectorAll("th,td").length;
+ t !== r && (n = !0, t < r && (t = r))
+ })), {
+ maximumCellLength: t,
+ needTableCellStuffingAid: n
+ }
+ }, t._addTbodyOrTheadIfNeed = function (e) {
+ var t = !e.querySelector("thead"),
+ n = !e.querySelector("tbody");
+ t ? St.prepend(e, " ") : n && St.append(e, " ")
+ }, t.tableCellAppendAidForTableElement = function (e) {
+ this._addTbodyOrTheadIfNeed(e), this._addTrIntoContainerIfNeed(e);
+ var t = e.querySelectorAll("tr"),
+ n = this.prepareToTableCellStuffing(t),
+ r = n.maximumCellLength;
+ n.needTableCellStuffingAid && this._stuffTableCellsIntoIncompleteRow(t, r)
+ }, t._generateTheadAndTbodyFromTbody = function (e) {
+ var t = document.createElement("tr"),
+ n = document.createElement("thead");
+ return St.append(t, Ln(e.querySelector("tr > td").length, "th")), St.append(n, t), {
+ thead: n,
+ tbody: e
+ }
+ }, t._generateTheadAndTbodyFromThead = function (e) {
+ var t = document.createElement("tr"),
+ n = document.createElement("tbody");
+ return St.append(t, Ln(e.querySelectorAll("th").length, "td")), St.append(n, t), {
+ thead: e,
+ tbody: n
+ }
+ }, t._generateTheadAndTbodyFromTr = function (e) {
+ var t, n, r = document.createElement("thead"),
+ i = document.createElement("tbody");
+ return "TH" === e.children[0].tagName ? (t = e, n = St.createElementWith("" + Ln(e.querySelectorAll("th").length, "td") + " ")) : (t = St.createElementWith("" + Ln(e.querySelectorAll("td").length, "th") + " "), n = e), St.append(r, t), St.append(i, n), {
+ thead: r,
+ tbody: i
+ }
+ }, t._completeIncompleteTable = function (e) {
+ var t, n, r = e.tagName;
+ "TABLE" === r ? t = e : (t = document.createElement("table"), e.parentNode.insertBefore(t, e.nextSibling), "TBODY" === r ? n = this._generateTheadAndTbodyFromTbody(e) : "THEAD" === r ? n = this._generateTheadAndTbodyFromThead(e) : "TR" === r && (n = this._generateTheadAndTbodyFromTr(e)), t.appendChild(n.thead), t.appendChild(n.tbody)), this._removeEmptyRows(t), this.tableCellAppendAidForTableElement(t)
+ }, t._removeEmptyRows = function (e) {
+ St.findAll(e, "tr").forEach((function (e) {
+ e.cells.length || e.parentNode.removeChild(e)
+ }))
+ }, t._completeTableIfNeed = function () {
+ var e = this,
+ t = this.wwe.getEditor().getBody();
+ Qe()(t.children).forEach((function (t) {
+ e.isTableOrSubTableElement(t.nodeName) && ("TABLE" !== t.nodeName || t.querySelector("tbody") ? e._completeIncompleteTable(t) : St.remove(t))
+ }))
+ }, t.resetLastCellNode = function () {
+ this._lastCellNode = null
+ }, t.setLastCellNode = function (e) {
+ this._lastCellNode = e
+ }, t._isModifierKey = function (e) {
+ return /((META|SHIFT|ALT|CONTROL)\+?)/g.test(e)
+ }, t._isModifierKeyPushed = function (e) {
+ return e.metaKey || e.ctrlKey || e.altKey || e.shiftKey
+ }, t._addTrIntoContainerIfNeed = function (e) {
+ Qe()(e.children).forEach((function (e) {
+ 0 === e.querySelectorAll("tr").length && St.append(e, " ")
+ }))
+ }, t._expandTableIfNeed = function (e) {
+ var t = this.wwe.getEditor().getSelection().cloneRange(),
+ n = St.parents(t.startContainer, "table")[0],
+ r = this._getColumnAndRowDifference(e, t);
+ r.column < 0 && this._appendCellForAllRow(n, r.column), r.row < 0 && this._appendRow(n, r.row)
+ }, t._getColumnAndRowDifference = function (e, t) {
+ var n = this._getTableDataFromTable(e),
+ r = n.length,
+ i = n[0].length,
+ o = St.closest(t.startContainer, "th,td"),
+ a = o.parentNode,
+ s = St.getNodeOffsetOfParent(o),
+ l = St.getNodeOffsetOfParent(o.parentNode),
+ c = St.parents(a, "table")[0],
+ u = c.querySelector("tr").children.length,
+ d = c.querySelectorAll("tr").length;
+ return !!St.parents(a, "tbody").length && (l += 1), {
+ row: d - (l + r),
+ column: u - (s + i)
+ }
+ }, t._appendCellForAllRow = function (e, t) {
+ var n = Sn ? "" : " ";
+ St.findAll(e, "tr").forEach((function (e, r) {
+ for (var i, o = t; o < 0; o += 1) i = 0 === r ? "th" : "td", St.append(e, "<" + i + ">" + n + "" + i + ">")
+ }))
+ }, t._appendRow = function (e, t) {
+ var n = e.querySelectorAll("tr"),
+ r = n[n.length - 1].cloneNode(!0),
+ i = Sn ? "" : " ";
+ for (St.findAll(r, "td").forEach((function (e) {
+ e.innerHTML = i
+ })); t < 0; t += 1) St.append(e.querySelector("tbody"), r.cloneNode(!0))
+ }, t._changeSelectionToTargetCell = function (e, t, n, r) {
+ var i, o = "next" === n,
+ a = "row" === r;
+ (a ? i = St.getSiblingRowCellByDirection(e, n, !1) : (i = St.getTableCellByDirection(e, n)) || (i = St.getSiblingRowCellByDirection(e, n, !0)), i) ? (a && !o ? this._moveToCursorEndOfCell(i, t) : t.setStart(i, 0), t.collapse(!0)) : (i = St.parents(e, "table")[0], o ? t.setStart(i.nextElementSibling, 0) : i.previousElementSibling && "TABLE" !== i.previousElementSibling.nodeName ? t.setStart(i.previousElementSibling, 1) : t.setStartBefore(i), t.collapse(!0))
+ }, t._moveToCursorEndOfCell = function (e, t) {
+ var n;
+ St.isListNode(e.lastChild) && (n = St.getLastNodeBy(e.lastChild, (function (e) {
+ return "LI" !== e.nodeName || null !== e.nextSibling
+ })));
+ var r = St.getLastNodeBy(n || e, (function (e) {
+ return !St.isTextNode(e)
+ })),
+ i = r || n || e,
+ o = r ? r.length : i.childNodes.length - 1;
+ t.setStart(i, o)
+ }, t._moveCursorTo = function (e, t, n) {
+ var r, i = this.wwe.getEditor(),
+ o = i.getSelection().cloneRange(),
+ a = St.closest(o.startContainer, "td,th");
+ if (o.collapsed && this.wwe.isInTable(o) && a) {
+ if ("row" === t && !this._isMovedCursorToRow(o, e)) return r;
+ "previous" !== e && "row" !== t || _()(n) || n.preventDefault(), this._changeSelectionToTargetCell(a, o, e, t), i.setSelection(o), r = !1
+ }
+ return r
+ }, t._isMovedCursorToRow = function (e, t) {
+ var n = e.startContainer;
+ return this._isInList(n) ? this._isMovedCursorFromListToRow(n, t) : this._isMovedCursorFromTextToRow(e, t)
+ }, t._isMovedCursorFromListToRow = function (e, t) {
+ var n = t + "Sibling",
+ r = this._findListItem(e),
+ i = St.getParentNodeBy(r, (function (e, t) {
+ var r = null === t[n] && null === e[n];
+ return !St.isCellNode(e) && r
+ })),
+ o = St.isListNode(i) && null === i[n];
+ return St.isCellNode(i.parentNode) && o
+ }, t._isMovedCursorFromTextToRow = function (e, t) {
+ var n = e.startContainer,
+ r = e.startOffset,
+ i = St.isCellNode(n) ? n.childNodes[r] : n,
+ o = St.getParentNodeBy(i, (function (e) {
+ return !St.isCellNode(e) && !St.isTextNode(e)
+ })),
+ a = St.getSiblingNodeBy(o, t, (function (e) {
+ return null !== e && "BR" !== e.nodeName
+ }));
+ return a && null === a[t + "Sibling"]
+ }, t._removeContentsAndChangeSelectionIfNeed = function (e, t, n) {
+ var r = t.length <= 1,
+ i = "BACK_SPACE" === t || "DELETE" === t,
+ o = this.wwe.componentManager.getManager("tableSelection").getSelectedCells(),
+ a = o[0],
+ s = !1;
+ return (r || i) && !this._isModifierKeyPushed(n) && o.length && (i && this._recordUndoStateIfNeed(e), this._removeTableContents(o), this._lastCellNode = a, e.setStart(a, 0), e.collapse(!0), this.wwe.getEditor().setSelection(e), s = !0), s
+ }, t.getTableIDClassName = function () {
+ var e = "te-content-table-" + this.tableID;
+ return this.tableID += 1, e
+ }, t.destroy = function () {
+ var e = this;
+ this.eventManager.removeEventHandler("wysiwygRangeChangeAfter.table"), this.eventManager.removeEventHandler("wysiwygSetValueAfter.table"), this.eventManager.removeEventHandler("wysiwygProcessHTMLText.table"), this.eventManager.removeEventHandler("cut.table"), this.eventManager.removeEventHandler("copyBefore.table"), i()(this.keyEventHandlers, (function (t, n) {
+ return e.wwe.removeKeyEventHandler(n, t)
+ }))
+ }, e
+ }(),
+ An = function () {
+ function e(e) {
+ this.wwe = e, this.eventManager = e.eventManager, this.name = "tableSelection", this._init()
+ }
+ var t = e.prototype;
+ return t._init = function () {
+ this._initEvent(), Zt.a.firefox && (document.execCommand("enableObjectResizing", !1, "false"), document.execCommand("enableInlineTableEditing", !1, "false"))
+ }, t._initEvent = function () {
+ var e, t, n, r = this;
+ this._tableSelectionTimer = null, this._removeSelectionTimer = null, this._isSelectionStarted = !1;
+ var i = function (i) {
+ t = St.closest(i.data.target, "[contenteditable=true] td,th");
+ var o = r.wwe.getEditor().getSelection(),
+ a = St.parents(t, "[contenteditable=true] table"),
+ s = e === t,
+ l = r._isTextSelect(o, s) && !et()(e, "te-cell-selected");
+ r._isSelectionStarted && a && !l && (window.getSelection().removeAllRanges(), Zt.a.firefox && !r._removeSelectionTimer && (r._removeSelectionTimer = setInterval((function () {
+ window.getSelection().removeAllRanges()
+ }), 10)), e && t && (r.highlightTableCellsBy(e, t), n = t))
+ },
+ o = function () {
+ r._isSelectionStarted && (r._isSelectionStarted = !1, r.eventManager.removeEventHandler("mouseover.tableSelection"), r.eventManager.removeEventHandler("mouseup.tableSelection"))
+ },
+ a = function (i) {
+ t = St.closest(i.data.target, "[contenteditable=true] td,th");
+ var a = r.wwe.getEditor().getSelection(),
+ s = e === t,
+ l = r._isTextSelect(a, s) && !et()(e, "te-cell-selected");
+ r._clearTableSelectionTimerIfNeed(), r._isSelectionStarted && (l || r._isListSelect(a) ? r.removeClassAttrbuteFromAllCellsIfNeed() : (r.wwe.componentManager.getManager("table").resetLastCellNode(), t = t || n, (a = r.wwe.getEditor().getSelection()).setStart(t, 0), Zt.a.msie ? a.setEnd(t, 1) : (a.setEnd(t, 0), a.collapse(!1)), r.wwe.getEditor().setSelection(a)), r.onDragEnd && r.onDragEnd()), o()
+ };
+ this.eventManager.listen("mousedown.tableSelection", (function (n) {
+ var s = !!(e = St.closest(n.data.target, "[contenteditable=true] td,th")) && et()(e, "te-cell-selected");
+ t = null, !s || s && 2 !== n.data.button ? (r.removeClassAttrbuteFromAllCellsIfNeed(), e && (r.setTableSelectionTimerIfNeed(e), r.eventManager.listen("mouseover.tableSelection", i), r.eventManager.listen("mouseup.tableSelection", a), r.onDragStart && r.onDragStart(e))) : 2 === n.data.button && o()
+ })), this.eventManager.listen("copyBefore.tableSelection", o), this.eventManager.listen("pasteBefore.tableSelection", o)
+ }, t._isTextSelect = function (e, t) {
+ return /TD|TH|TEXT/i.test(e.commonAncestorContainer.nodeName) && t
+ }, t._isListSelect = function (e) {
+ return /UL|OL|LI/i.test(e.commonAncestorContainer.nodeName)
+ }, t.setTableSelectionTimerIfNeed = function (e) {
+ St.parents(e, "[contenteditable=true] table").length && (this._isSelectionStarted = !0)
+ }, t._clearTableSelectionTimerIfNeed = function () {
+ clearTimeout(this._tableSelectionTimer), Zt.a.firefox && this._removeSelectionTimer && (clearTimeout(this._removeSelectionTimer), this._removeSelectionTimer = null)
+ }, t._reArrangeSelectionIfneed = function (e, t) {
+ var n = St.parents(e, "[contenteditable=true] table").length,
+ r = St.parents(t, "[contenteditable=true] table").length,
+ i = !r && n;
+ if (r && !n) e = St.parents(t, "[contenteditable=true] table")[0].querySelectorAll("th")[0];
+ else if (i) {
+ var o = St.parents(e, "[contenteditable=true] table")[0].querySelectorAll("td");
+ t = o[o.length - 1]
+ }
+ return {
+ startContainer: e,
+ endContainer: t
+ }
+ }, t._applySelectionDirection = function (e, t) {
+ var n = St.getNodeOffsetOfParent,
+ r = e.startContainer,
+ i = e.endContainer,
+ o = n(St.closest(r, "[contenteditable=true] tr")) - n(St.closest(i, "[contenteditable=true] tr")),
+ a = n(r) - n(i),
+ s = o < 0;
+ return 0 === o ? a > 0 ? (t.setStart(i, 0), t.setEnd(r, 1)) : (t.setStart(r, 0), t.setEnd(i, 1)) : s ? (t.setStart(r, 0), t.setEnd(i, 1)) : (t.setStart(i, 0), t.setEnd(r, 1)), t
+ }, t.getSelectionRangeFromTable = function (e, t) {
+ var n, r, i = St.getNodeOffsetOfParent,
+ o = i(e.parentNode),
+ a = i(t.parentNode),
+ s = i(e),
+ l = i(t),
+ c = St.getParentUntil(e, "TABLE"),
+ u = St.getParentUntil(t, "TABLE"),
+ d = "TBODY" === St.getNodeName(c) && "THEAD" === St.getNodeName(u),
+ h = c !== u,
+ f = !!St.parents(e, "tbody").length && !!St.parents(t, "tbody").length,
+ p = {
+ row: o,
+ cell: s
+ },
+ g = {
+ row: a,
+ cell: l
+ };
+ return d ? p.row += 1 : h ? g.row += 1 : f && (p.row += 1, g.row += 1), o > a || o === a && s > l ? (n = g, r = p) : (n = p, r = g), {
+ from: n,
+ to: r
+ }
+ }, t.highlightTableCellsBy = function (e, t) {
+ var n = St.findAll(St.parents(e, "[contenteditable=true] table")[0], "tr"),
+ r = this.getSelectionRangeFromTable(e, t),
+ i = r.from.row,
+ o = r.from.cell,
+ a = r.to.row,
+ s = r.to.cell;
+ n.forEach((function (e, t) {
+ St.findAll(e, "td,th").forEach((function (e, n) {
+ t === i && n < o || t === a && n > s || t < i || t > a ? m()(e, "te-cell-selected") : p()(e, "te-cell-selected")
+ }))
+ }))
+ }, t.removeClassAttrbuteFromAllCellsIfNeed = function () {
+ St.findAll(this.wwe.getBody(), "td.te-cell-selected,th.te-cell-selected").forEach((function (e) {
+ m()(e, "te-cell-selected"), e.getAttribute("class") || e.removeAttribute("class")
+ }))
+ }, t.getSelectedCells = function () {
+ return this.wwe.getBody().querySelectorAll(".te-cell-selected")
+ }, t.createRangeBySelectedCells = function () {
+ var e = this.wwe.getEditor(),
+ t = e.getSelection().cloneRange(),
+ n = this.getSelectedCells(),
+ r = n[0],
+ i = n[n.length - 1];
+ n.length && this.wwe.isInTable(t) && (t.setStart(r, 0), t.setEnd(i, i.childNodes.length), e.setSelection(t))
+ }, t.styleToSelectedCells = function (e, t) {
+ this.createRangeBySelectedCells(), e(this.wwe.getEditor(), t)
+ }, t.destroy = function () {
+ this.eventManager.removeEventHandler("mousedown.tableSelection"), this.eventManager.removeEventHandler("mouseover.tableSelection"), this.eventManager.removeEventHandler("mouseup.tableSelection"), this.eventManager.removeEventHandler("copyBefore.tableSelection"), this.eventManager.removeEventHandler("pasteBefore.tableSelection")
+ }, e
+ }(),
+ Bn = function () {
+ function e(e) {
+ this.wwe = e, this.eventManager = e.eventManager, this.name = "hr", this._init()
+ }
+ var t = e.prototype;
+ return t._init = function () {
+ this._initEvent()
+ }, t._initEvent = function () {
+ var e = this;
+ this.eventManager.listen("wysiwygSetValueAfter", (function () {
+ e._insertEmptyLineIfNeed(), e._changeHRForWysiwyg()
+ }))
+ }, t._insertEmptyLineIfNeed = function () {
+ var e = this.wwe.getBody(),
+ t = e.firstChild,
+ n = e.lastChild;
+ t && "HR" === t.nodeName ? e.insertBefore(St.createEmptyLine(), t) : n && "HR" === n.nodeName && e.appendChild(St.createEmptyLine())
+ }, t._changeHRForWysiwyg = function () {
+ var e = this.wwe.getBody();
+ St.findAll(e, "hr").forEach((function (e) {
+ e.parentNode.replaceChild(St.createHorizontalRule(), e)
+ }))
+ }, e
+ }(),
+ On = function () {
+ function e(e) {
+ this.wwe = e, this.eventManager = e.eventManager, this.name = "p", this._initEvent()
+ }
+ var t = e.prototype;
+ return t._initEvent = function () {
+ var e = this;
+ this.eventManager.listen("wysiwygSetValueBefore", (function (t) {
+ return e._splitPtagContentLines(t)
+ })), this.eventManager.listen("wysiwygSetValueAfter", (function () {
+ e._ensurePtagContentWrappedWithDiv(), e._unwrapPtags()
+ }))
+ }, t._splitPtagContentLines = function (e) {
+ if (e) {
+ var t = St.createElementWith("" + e + "
");
+ St.findAll(t, "p").forEach((function (e) {
+ var t = e.attributes,
+ n = e.nextElementSibling,
+ r = e.innerHTML.split(/ /gi),
+ i = r.length - 1,
+ o = "";
+ o = r.map((function (e, n) {
+ if (n > 0 && n < i && (e = e || " "), e) {
+ var r = document.createElement("div");
+ return Object.keys(t).forEach((function (e) {
+ var n = t[e],
+ i = n.name,
+ o = n.value;
+ r.setAttribute(i, o)
+ })), r.innerHTML = e, r.outerHTML
+ }
+ return ""
+ })), (n && "P" === n.nodeName || "false" === e.getAttribute("contenteditable")) && o.push("
"), St.replaceWith(e, o.join(""))
+ })), e = t.innerHTML
+ }
+ return e
+ }, t._ensurePtagContentWrappedWithDiv = function () {
+ var e = this;
+ St.findAll(this.wwe.getBody(), "p").forEach((function (t) {
+ t.querySelectorAll("div").length || St.wrapInner(t, "div"), e._findNextParagraph(t, "p") && St.append(t, "
")
+ }))
+ }, t._unwrapPtags = function () {
+ St.findAll(this.wwe.getBody(), "div").forEach((function (e) {
+ var t = e.parentNode;
+ "P" === t.tagName && St.unwrap(t)
+ }))
+ }, t._findNextParagraph = function (e, t) {
+ var n = e.nextElementSibling;
+ return t ? n && nt()(n, t) ? n : null : n
+ }, e
+ }(),
+ Dn = /h[\d]/i,
+ In = Zt.a.msie && 10 === Zt.a.version,
+ Rn = function () {
+ function e(e) {
+ this.wwe = e, this.eventManager = e.eventManager, this.name = "heading", this._init()
+ }
+ var t = e.prototype;
+ return t._init = function () {
+ this._initEvent(), this._initKeyHandler()
+ }, t._initEvent = function () {
+ var e = this;
+ this.eventManager.listen("wysiwygSetValueAfter", (function () {
+ e._wrapDefaultBlockToHeadingInner()
+ }))
+ }, t._initKeyHandler = function () {
+ var e = this;
+ this.wwe.addKeyEventHandler("ENTER", (function (t, n) {
+ return !e.wwe.hasFormatWithRx(Dn) || (e._onEnter(t, n), !1)
+ })), this.wwe.addKeyEventHandler("BACK_SPACE", (function (t, n) {
+ return !e.wwe.hasFormatWithRx(Dn) || (e._addBrToEmptyBlock(n), e._removePrevTopNodeIfNeed(t, n), !1)
+ }))
+ }, t._wrapDefaultBlockToHeadingInner = function () {
+ St.findAll(this.wwe.getBody(), "h1, h2, h3, h4, h5, h6").forEach((function (e) {
+ !St.children(e, "div, p").length && St.wrapInner(e, "div")
+ }))
+ }, t._unwrapHeading = function () {
+ this.wwe.unwrapBlockTag((function (e) {
+ return Dn.test(e)
+ }))
+ }, t._onEnter = function (e, t) {
+ var n = this;
+ t.startOffset > 0 ? this.wwe.defer((function (e) {
+ n._unwrapHeading(), e.getEditor().removeLastUndoStack()
+ })) : (e.preventDefault(), this._insertEmptyBlockToPrevious(t))
+ }, t._insertEmptyBlockToPrevious = function (e) {
+ this.wwe.getEditor().saveUndoState(e);
+ var t = St.createElementWith("
");
+ St.insertBefore(t, St.getParentUntil(e.startContainer, this.wwe.getBody()))
+ }, t._removePrevTopNodeIfNeed = function (e, t) {
+ var n = !1;
+ if (t.collapsed && 0 === t.startOffset) {
+ var r = t.startContainer,
+ i = St.getTopPrevNodeUnder(r, this.wwe.getBody()),
+ o = i && 0 === i.textContent.length,
+ a = this.wwe.getEditor();
+ 0 === r.textContent.length ? n = this._removeHedingAndChangeSelection(e, t, i) : o && (e.preventDefault(), a.saveUndoState(t), St.remove(i), n = !0)
+ }
+ return n
+ }, t._getHeadingElement = function (e) {
+ return Dn.test(St.getNodeName(e)) ? e : St.parents(e, "h1,h2,h3,h4,h5,h6")[0]
+ }, t._addBrToEmptyBlock = function (e) {
+ var t = e.collapsed,
+ n = e.startOffset,
+ r = e.startContainer;
+ if (t && 1 === n) {
+ var i = this._getHeadingElement(r),
+ o = St.children(i.firstChild, "br");
+ if (!In && !o.length) {
+ var a = document.createElement("br");
+ r.parentNode.appendChild(a)
+ }
+ }
+ }, t._removeHedingAndChangeSelection = function (e, t, n) {
+ var r = t.startContainer,
+ i = this.wwe.getEditor(),
+ o = this.wwe.getBody(),
+ a = this._getHeadingElement(r),
+ s = n,
+ l = 1;
+ (e.defaultPrevented || (e.preventDefault(), i.saveUndoState(t)), St.remove(a), n) || (s = St.children(o, "div")[0], l = 0);
+ return t.setStart(s, l), t.collapse(!0), i.setSelection(t), !0
+ }, e
+ }(),
+ Pn = n(25),
+ Hn = n.n(Pn),
+ Fn = Zt.a.msie && 10 === Zt.a.version,
+ Un = Fn ? "" : " ",
+ Wn = {
+ "&": "&",
+ "<": "<",
+ ">": ">"
+ },
+ qn = /\u200B/g;
+
+ function zn(e) {
+ return e ? e.replace(/[<>&]/g, (function (e) {
+ return Wn[e] || e
+ })) : ""
+ }
+ var jn = function () {
+ function e(e) {
+ this.wwe = e, this.eventManager = e.eventManager, this.name = "codeblock", this._init()
+ }
+ var t = e.prototype;
+ return t._init = function () {
+ this._initKeyHandler(), this._initEvent()
+ }, t._initKeyHandler = function () {
+ var e = this;
+ this._keyEventHandlers = {
+ BACK_SPACE: this._onBackspaceKeyEventHandler.bind(this),
+ ENTER: function (t, n) {
+ !e.wwe.isInTable(n) && e.wwe.getEditor().hasFormat("CODE") && e.wwe.defer((function () {
+ var t = e.wwe.getRange().startContainer,
+ n = e._getCodeNode(t);
+ n && !St.getTextLength(n) && n.parentNode.removeChild(n)
+ }))
+ }
+ }, i()(this._keyEventHandlers, (function (t, n) {
+ return e.wwe.addKeyEventHandler(n, t)
+ }))
+ }, t._getCodeNode = function (e) {
+ var t;
+ return "CODE" === e.nodeName ? t = e : "CODE" === e.parentNode.nodeName && (t = e.parentNode), t
+ }, t._initEvent = function () {
+ var e = this;
+ this.eventManager.listen("wysiwygSetValueAfter.codeblock", (function () {
+ e.modifyCodeBlockForWysiwyg()
+ })), this.eventManager.listen("wysiwygProcessHTMLText.codeblock", (function (t) {
+ return e._changePreToPreCode(t)
+ }))
+ }, t.prepareToPasteOnCodeblock = function (e) {
+ var t = this.wwe.getEditor().getDocument().createDocumentFragment(),
+ n = this.convertNodesToText(e);
+ return n = n.replace(/\n$/, ""), t.appendChild(document.createTextNode(n)), t
+ }, t.convertNodesToText = function (e) {
+ for (var t = "", n = e.shift(); Hn()(n);) {
+ n.childNodes && St.isBlockNode(n) ? t += this.convertNodesToText(Qe()(n.childNodes)) : "BR" === n.nodeName ? t += "\n" : t += n.textContent, n = e.shift()
+ }
+ return t
+ }, t._copyCodeblockTypeFromRangeCodeblock = function (e, t) {
+ var n = St.getParentUntil(t.commonAncestorContainer, this.wwe.getBody());
+ if ("PRE" === St.getNodeName(n)) {
+ var r = n.attributes;
+ i()(r, (function (t) {
+ e.setAttribute(t.name, t.value)
+ }))
+ }
+ return e
+ }, t._changePreToPreCode = function (e) {
+ return e.replace(/((.|\n)*?)<\/pre>/g, (function (e, t, n) {
+ return "" + n + "
"
+ }))
+ }, t.modifyCodeBlockForWysiwyg = function (e) {
+ e || (e = this.wwe.getBody()), St.findAll(e, "pre").forEach((function (e) {
+ var t, n, r = e.querySelector("code");
+ r && (t = r.getAttribute("data-language"), n = r.getAttribute("data-backticks")), e.children.length > 1 && Qe()(e.children).forEach((function (e) {
+ "DIV" !== e.nodeName && "P" !== e.nodeName || e.querySelectorAll("br").length || (e.innerHTML += e.innerHTML + "\n")
+ }));
+ var i = e.querySelectorAll("br");
+ i.length && St.replaceWith(i, "\n");
+ var o = e.textContent.replace(/\s+$/, "");
+ St.empty(e), e.innerHTML = o ? zn(o) : Un, t && (e.setAttribute("data-language", t), p()(e, "lang-" + t)), n && e.setAttribute("data-backticks", n), e.setAttribute("data-te-codeblock", "")
+ }))
+ }, t._onBackspaceKeyEventHandler = function (e, t) {
+ var n = !0,
+ r = this.wwe.getEditor(),
+ i = t.commonAncestorContainer;
+ if (this._isCodeBlockFirstLine(t) && !this._isFrontCodeblock(t)) this._removeCodeblockFirstLine(i), t.collapse(!0), n = !1;
+ else if (t.collapsed && this._isEmptyLine(i) && this._isBetweenSameCodeblocks(i)) {
+ var o = i.previousSibling,
+ a = i.nextSibling,
+ s = o.textContent.length;
+ r.saveUndoState(t), i.parentNode.removeChild(i), this._mergeCodeblocks(o, a), t.setStart(o.childNodes[0], s), t.collapse(!0), n = !1
+ }
+ return n || (r.setSelection(t), e.preventDefault()), n
+ }, t._isEmptyLine = function (e) {
+ var t = e.nodeName,
+ n = e.childNodes,
+ r = Fn ? "" === e.textContent : 1 === n.length && "BR" === n[0].nodeName;
+ return "DIV" === t && r
+ }, t._isBetweenSameCodeblocks = function (e) {
+ var t = e.previousSibling,
+ n = e.nextSibling;
+ return "PRE" === St.getNodeName(t) && "PRE" === St.getNodeName(n) && t.getAttribute("data-language") === n.getAttribute("data-language")
+ }, t._mergeCodeblocks = function (e, t) {
+ var n = t.textContent;
+ e.childNodes[0].textContent += "\n" + n, t.parentNode.removeChild(t)
+ }, t._isCodeBlockFirstLine = function (e) {
+ return this.isInCodeBlock(e) && e.collapsed && 0 === e.startOffset
+ }, t._isFrontCodeblock = function (e) {
+ var t = St.getParentUntil(e.startContainer, this.wwe.getEditor().getRoot()).previousSibling;
+ return t && "PRE" === t.nodeName
+ }, t._removeCodeblockFirstLine = function (e) {
+ var t = this.wwe.getEditor(),
+ n = "PRE" === e.nodeName ? e : e.parentNode,
+ r = n.textContent.replace(qn, "");
+ t.modifyBlocks((function () {
+ var e = t.getDocument().createDocumentFragment(),
+ i = r.split("\n"),
+ o = document.createElement("div"),
+ a = i.shift();
+ if (o.innerHTML = "" + zn(a) + Un, e.appendChild(o), i.length) {
+ var s = n.cloneNode();
+ s.textContent = i.join("\n"), e.appendChild(s)
+ }
+ return e
+ }))
+ }, t.isInCodeBlock = function (e) {
+ var t;
+ return t = e.collapsed ? e.startContainer : e.commonAncestorContainer, !!St.closest(t, "pre")
+ }, t.destroy = function () {
+ var e = this;
+ this.eventManager.removeEventHandler("wysiwygSetValueAfter.codeblock"), this.eventManager.removeEventHandler("wysiwygProcessHTMLText.codeblock"), i()(this._keyEventHandlers, (function (t, n) {
+ return e.wwe.removeKeyEventHandler(n, t)
+ }))
+ }, e
+ }(),
+ Vn = n(27),
+ Kn = n.n(Vn);
+ var Gn = /\b(H[\d]|LI|P|BLOCKQUOTE|TD)\b/,
+ $n = /Trident\/[456]\./.test(navigator.userAgent),
+ Yn = function (e) {
+ var t, n;
+
+ function r() {
+ for (var t, n = arguments.length, r = new Array(n), i = 0; i < n; i++) r[i] = arguments[i];
+ return (t = e.call.apply(e, [this].concat(r)) || this)._decorateHandlerToCancelable("copy"), t._decorateHandlerToCancelable($n ? "beforecut" : "cut"), t._decorateHandlerToCancelable($n ? "beforepaste" : "paste"), t.getBody = function () {
+ return t.body = t.body || t.getRoot(), t.body
+ }, t
+ }
+ n = e, (t = r).prototype = Object.create(n.prototype), t.prototype.constructor = t, t.__proto__ = n;
+ var i = r.prototype;
+ return i._decorateHandlerToCancelable = function (e) {
+ var t = this._events[e];
+ if (t.length > 1) throw new Error("too many" + e + "handlers in squire");
+ var n = t[0].bind(this);
+ t[0] = function (e) {
+ e.defaultPrevented || e.squirePrevented || n(e)
+ }
+ }, i.changeBlockFormat = function (e, t) {
+ var n = this;
+ this.modifyBlocks((function (r) {
+ var i, o, a, s, l, c, u;
+ if (r.childNodes.length ? i = r.childNodes.item(0) : (i = n.createDefaultBlock(), r.appendChild(i)), e) {
+ for (; i.firstChild;) i = i.firstChild;
+ for (u = function (e) {
+ s.appendChild(e)
+ }; i !== r;) {
+ if (l = i.tagName, xe()(e) ? e(l) : l === e) {
+ s = i.childNodes.item(0), (!St.isElemNode(s) || i.childNodes.length > 1) && (s = n.createDefaultBlock(), Qe()(i.childNodes).forEach(u), (c = s.lastChild) && "BR" === St.getNodeName(c) && s.removeChild(c)), a = t ? n.createElement(t, [s]) : s, (o = n.getDocument().createDocumentFragment()).appendChild(a), r = o;
+ break
+ }
+ i = i.parentNode
+ }
+ }
+ return o && e || !t || "DIV" !== St.getNodeName(r.childNodes[0]) || (r = n.createElement(t, [r.childNodes[0]])), r
+ }))
+ }, i.changeBlockFormatTo = function (e) {
+ this.changeBlockFormat((function (e) {
+ return Gn.test(e)
+ }), e)
+ }, i.getCaretPosition = function () {
+ return this.getCursorPosition()
+ }, i.replaceSelection = function (e, t) {
+ t && this.setSelection(t), this._ignoreChange = !0, this.insertHTML(e)
+ }, i.replaceRelativeOffset = function (e, t, n) {
+ var r = this.getSelection().cloneRange();
+ this._replaceRelativeOffsetOfSelection(e, t, n, r)
+ }, i._replaceRelativeOffsetOfSelection = function (e, t, n, r) {
+ var i, o, a, s = r.endContainer,
+ l = r.endOffset;
+ "TEXT" !== St.getNodeName(s) && (s = this._getClosestTextNode(s, l)) && (l = St.isTextNode(s) ? s.nodeValue.length : s.textContent.length), s ? (i = this.getSelectionInfoByOffset(s, l + t), r.setStart(i.element, i.offset), a = l + (t + n), o = this.getSelectionInfoByOffset(s, a), r.setEnd(o.element, o.offset), this.replaceSelection(e, r)) : this.replaceSelection(e)
+ }, i._getClosestTextNode = function (e, t) {
+ var n = St.getChildNodeByOffset(e, t - 1);
+ return "TEXT" !== St.getNodeName(n) && (n = n.previousSibling), n
+ }, i.getSelectionInfoByOffset = function (e, t) {
+ var n, r, i, o, a = t >= 0 ? "next" : "previous",
+ s = Math.abs(t),
+ l = n;
+ for (n = "next" === a ? e : e.previousSibling, i = s, o = 0; n && !(s <= (o += r = St.isTextNode(n) ? n.nodeValue.length : n.textContent.length));) i -= r, St.getTextLength(n) > 0 && (l = n), n = n[a + "Sibling"];
+ return n || (n = l, i = St.getTextLength(n)), "previous" === a && (i = St.getTextLength(n) - i), {
+ element: n,
+ offset: i
+ }
+ }, i.getSelectionPosition = function (e, t, n) {
+ var r = this.createElement("INPUT"),
+ i = e.cloneRange(),
+ o = this.getSelectionInfoByOffset(e.endContainer, e.endOffset + (n || 0));
+ i.setStart(i.startContainer, i.startOffset), i.setEnd(o.element, o.offset), this._ignoreChange = !0, this.insertElement(r, i);
+ var a = St.getOffset(r);
+ return "over" !== t && (a.top += r.offsetHeight), r.parentNode.removeChild(r), e.setStart(e.endContainer, e.endOffset), e.collapse(!0), this.setSelection(e), a
+ }, i.removeLastUndoStack = function () {
+ this._undoStack.length && (this._undoStackLength -= 1, this._undoIndex -= 1, this._undoStack.pop(), this._isInUndoState = !1)
+ }, i.replaceParent = function (e, t, n) {
+ var r = St.closest(e, t, this.getBody());
+ r && (St.wrapInner(r, n), St.unwrap(r))
+ }, i.preserveLastLine = function () {
+ var e = this.getBody().children,
+ t = e[e.length - 1];
+ t && "DIV" !== St.getNodeName(t) && (this._ignoreChange = !0, St.insertAfter(this.createDefaultBlock(), t))
+ }, i.scrollTop = function (e) {
+ return _()(e) || (this.getBody().scrollTop = e), this.getBody().scrollTop
+ }, i.isIgnoreChange = function () {
+ return this._ignoreChange
+ }, i.focus = function () {
+ Kn.a.prototype.focus.call(this)
+ }, i.blockCommandShortcuts = function () {
+ var e = this,
+ t = x ? "meta" : "ctrl";
+ ["b", "i", "u", "shift-7", "shift-5", "shift-6", "shift-8", "shift-9", "[", "]", "d"].forEach((function (n) {
+ e.setKeyHandler(t + "-" + n, (function (e, t) {
+ t.preventDefault()
+ }))
+ }))
+ }, r
+ }(Kn.a),
+ Xn = Zt.a.msie && 11 === Zt.a.version,
+ Zn = -1 !== navigator.appVersion.indexOf("Win") && Zt.a.chrome,
+ Qn = /Windows (NT )?10/g.test(navigator.appVersion),
+ Jn = Xn || Zn && !Qn,
+ er = function () {
+ function e(e, t) {
+ this._wwe = e, Jn && (this.isComposition = !1, this._initCompositionEvent()), this.setRange(t || this._wwe.getRange())
+ }
+ var t = e.prototype;
+ return t._initCompositionEvent = function () {
+ var e = this;
+ this._wwe.getEditor().addEventListener("compositionstart", (function () {
+ e.isComposition = !0
+ })), this._wwe.getEditor().addEventListener("compositionend", (function () {
+ e.isComposition = !1
+ }))
+ }, t.setRange = function (e) {
+ this._range && this._range.detach(), this._range = e
+ }, t.expandStartOffset = function () {
+ var e = this._range;
+ St.isTextNode(e.startContainer) && e.startOffset > 0 && e.setStart(e.startContainer, e.startOffset - 1)
+ }, t.expandEndOffset = function () {
+ var e = this._range;
+ St.isTextNode(e.endContainer) && e.endOffset < e.endContainer.nodeValue.length && e.setEnd(e.endContainer, e.endOffset + 1)
+ }, t.setEndBeforeRange = function (e) {
+ var t = e.startOffset;
+ this.isComposition && (t += 1), this._range.setEnd(e.startContainer, t)
+ }, t.getTextContent = function () {
+ return this._range.cloneContents().textContent
+ }, t.replaceContent = function (e) {
+ this._wwe.getEditor().setSelection(this._range), this._wwe.getEditor().insertHTML(e), this._wwe.isInTable(this._range) && this._wwe.eventManager.emit("wysiwygRangeChangeAfter", this._wwe), this._range = this._wwe.getRange()
+ }, t.deleteContent = function () {
+ this._wwe.getEditor().setSelection(this._range), this._wwe.getEditor().insertHTML(""), this._range = this._wwe.getRange()
+ }, t.peekStartBeforeOffset = function (e) {
+ var t = this._range.cloneRange();
+ return t.setStart(t.startContainer, Math.max(t.startOffset - e, 0)), t.setEnd(this._range.startContainer, this._range.startOffset), t.cloneContents().textContent
+ }, e
+ }();
+ var tr = function (e) {
+ var t, n;
+
+ function r(t) {
+ var n, r = t.eventManager,
+ i = t.container,
+ o = t.wysiwygEditor;
+ return (n = e.call(this, {
+ eventManager: r,
+ container: i,
+ attachedSelector: "pre"
+ }) || this)._wysiwygEditor = o, n._popupCodeBlockLanguages = null, n._initDOM(), n._initDOMEvent(), n
+ }
+ n = e, (t = r).prototype = Object.create(n.prototype), t.prototype.constructor = t, t.__proto__ = n;
+ var i = r.prototype;
+ return i._initDOM = function () {
+ var e = this;
+ p()(this.el, "code-block-header"), this._languageLabel = St.createElementWith("text "), St.append(this.el, this._languageLabel), this._buttonOpenModalEditor = St.createElementWith('Editor '), St.append(this.el, this._buttonOpenModalEditor), this._eventManager.emit("removeEditor", (function () {
+ Ge()(e._buttonOpenModalEditor, "click"), e._buttonOpenModalEditor = null
+ }))
+ }, i._initDOMEvent = function () {
+ var e = this;
+ Ve()(this._buttonOpenModalEditor, "click", (function () {
+ return e._openPopupCodeBlockEditor()
+ }))
+ }, i._openPopupCodeBlockEditor = function () {
+ this._eventManager.emit("openPopupCodeBlockEditor", this.getAttachedElement())
+ }, i._updateLanguage = function () {
+ var e = this.getAttachedElement(),
+ t = e ? e.getAttribute("data-language") : null;
+ this._languageLabel.textContent = t || "text"
+ }, i.syncLayout = function () {
+ var e = this.getAttachedElement(),
+ t = St.getOffset(e, ".te-editor").top;
+ h()(this.el, {
+ top: t + "px",
+ right: "26px",
+ width: "250px",
+ height: "30px"
+ })
+ }, i.onShow = function () {
+ var t = this;
+ e.prototype.onShow.call(this), this._onAttachedElementChange = function () {
+ return t._updateLanguage()
+ }, this._eventManager.listen("changeLanguage", this._onAttachedElementChange), this._updateLanguage()
+ }, i.onHide = function () {
+ this._eventManager.removeEventHandler("changeLanguage", this._onAttachedElementChange), e.prototype.onHide.call(this)
+ }, r
+ }(function () {
+ function e(e) {
+ var t = e.eventManager,
+ n = e.container,
+ r = e.attachedSelector;
+ this._eventManager = t, this._attachedSelector = "[contenteditable=true] " + r, this._container = n, this._attachedElement = null, this.active = !1, this._createElement(), this._initEvent()
+ }
+ var t = e.prototype;
+ return t._createElement = function () {
+ this.el = St.createElementWith('
'), h()(this.el, {
+ position: "absolute",
+ display: "none",
+ zIndex: 1
+ }), St.append(this._container, this.el)
+ }, t._initEvent = function () {
+ var e = this;
+ this._eventManager.listen("change", this._onChange.bind(this)), this._eventManager.listen("mouseover", this._onMouseOver.bind(this)), this._eventManager.listen("focus", (function () {
+ e.setVisibility(!1)
+ })), this._eventManager.listen("mousedown", (function () {
+ e.setVisibility(!1)
+ }))
+ }, t._onChange = function () {
+ this._attachedElement && St.isContain(document.body, this._attachedElement) ? this.syncLayout() : this.setVisibility(!1)
+ }, t._onMouseOver = function (e) {
+ var t = e.data.target,
+ n = St.closest(t, this._attachedSelector);
+ n ? (this._attachedElement = n, this.setVisibility(!0)) : St.closest(t, this.el) ? this.setVisibility(!0) : this.active || this.setVisibility(!1)
+ }, t.syncLayout = function () {
+ var e = St.getOffset(this._attachedElement),
+ t = St.getOuterWidth(this._attachedElement),
+ n = St.getOuterHeight(this._attachedElement);
+ St.setOffset(this.el, e), h()(this.el, {
+ width: t + "px"
+ }), h()(this.el, {
+ height: n + "px"
+ })
+ }, t.getAttachedElement = function () {
+ return this._attachedElement || null
+ }, t.getVisibility = function () {
+ return "block" === this.el.style.display
+ }, t.setVisibility = function (e) {
+ e && this._attachedElement ? this.getVisibility() || (h()(this.el, {
+ display: "block"
+ }), this.syncLayout(), this.onShow()) : e || this.getVisibility() && (h()(this.el, {
+ display: "none"
+ }), this.onHide())
+ }, t.onShow = function () {}, t.onHide = function () {
+ this.active = !1, this._attachedElement = null
+ }, e
+ }()),
+ nr = J.getSharedInstance(),
+ rr = /<([a-z]+|h\d)>( | )<\/\1>/gi,
+ ir = /(?: | )<\/(.+?)>/gi,
+ or = /\b(H[\d]|LI|P|BLOCKQUOTE|TD|PRE)\b/,
+ ar = /]*)>[\u0020]/g,
+ sr = /[\u0020]<\/span>/g,
+ lr = /^(TABLE|H[1-6])$/,
+ cr = "undefined" != typeof MutationObserver,
+ ur = function () {
+ function e(e, t, n) {
+ var r = this;
+ void 0 === n && (n = {}), this.componentManager = new fe(this), this.eventManager = t, this.editorContainerEl = e, this._height = 0, this._silentChange = !1, this._keyEventHandlers = {}, this._managers = {}, this._linkAttribute = n.linkAttribute || {}, this._sanitizer = n.sanitizer, this._initEvent(), this._initDefaultKeyEventHandler(), this.debouncedPostProcessForChange = Jt()((function () {
+ return r.postProcessForChange()
+ }), 0)
+ }
+ var t = e.prototype;
+ return t.init = function () {
+ var e = document.createElement("div");
+ this.editorContainerEl.appendChild(e), this.editor = new Yn(e, {
+ blockTag: "DIV",
+ leafNodeNames: {
+ HR: !1
+ },
+ allowedBlocks: this._sanitizer && this._sanitizer === mn ? [] : ["details", "summary"]
+ }), this.editor.blockCommandShortcuts(), this._clipboardManager = new bn(this), this._initSquireEvent(), this._clipboardManager.init(), p()(this.getBody(), "tui-editor-contents"), h()(this.editorContainerEl, "position", "relative"), this._togglePlaceholder(), this.codeBlockGadget = new tr({
+ eventManager: this.eventManager,
+ container: this.editorContainerEl,
+ wysiwygEditor: this
+ })
+ }, t._initEvent = function () {
+ var e = this;
+ this.eventManager.listen("wysiwygKeyEvent", (function (t) {
+ return e._runKeyEventHandlers(t.data, t.keyMap)
+ })), this.eventManager.listen("wysiwygRangeChangeAfter", (function () {
+ return e.scrollIntoCursor()
+ })), this.eventManager.listen("contentChangedFromWysiwyg", (function () {
+ e._togglePlaceholder()
+ }))
+ }, t.addKeyEventHandler = function (e, t) {
+ var n = this;
+ t || (t = e, e = "DEFAULT"), Yt()(e) || (e = [e]), e.forEach((function (e) {
+ n._keyEventHandlers[e] || (n._keyEventHandlers[e] = []), n._keyEventHandlers[e].push(t)
+ }))
+ }, t.removeKeyEventHandler = function (e, t) {
+ t || (t = e, e = "DEFAULT");
+ var n = this._keyEventHandlers[e];
+ n && (this._keyEventHandlers[e] = n.filter((function (e) {
+ return e !== t
+ })))
+ }, t._runKeyEventHandlers = function (e, t) {
+ var n, r, i = this.getRange();
+ (n = this._keyEventHandlers.DEFAULT) && Gt()(n, (function (n) {
+ return r = n(e, i, t)
+ })), (n = this._keyEventHandlers[t]) && !1 !== r && Gt()(n, (function (n) {
+ return n(e, i, t)
+ }))
+ }, t._initSquireEvent = function () {
+ var e = this,
+ t = this.getEditor(),
+ n = !1;
+ t.addEventListener("copy", (function (t) {
+ e.eventManager.emit("copy", {
+ source: "wysiwyg",
+ data: t
+ }), Jt()((function () {
+ e.isEditorValid() && e.eventManager.emit("copyAfter", {
+ source: "wysiwyg",
+ data: t
+ })
+ }))()
+ })), t.addEventListener(Zt.a.msie ? "beforecut" : "cut", (function (t) {
+ e.eventManager.emit("cut", {
+ source: "wysiwyg",
+ data: t
+ }), Jt()((function () {
+ e.isEditorValid() && e.eventManager.emit("cutAfter", {
+ source: "wysiwyg",
+ data: t
+ })
+ }))()
+ })), t.addEventListener(Zt.a.msie ? "beforepaste" : "paste", (function (t) {
+ e.eventManager.emit("paste", {
+ source: "wysiwyg",
+ data: t
+ })
+ })), t.addEventListener("dragover", (function (e) {
+ return e.preventDefault(), !1
+ })), t.addEventListener("drop", (function (t) {
+ return t.preventDefault(), e.eventManager.emit("drop", {
+ source: "wysiwyg",
+ data: t
+ }), !1
+ })), t.addEventListener("input", Jt()((function () {
+ if (e.isEditorValid()) {
+ if (e._silentChange) e._silentChange = !1;
+ else {
+ var t = {
+ source: "wysiwyg"
+ };
+ e.eventManager.emit("changeFromWysiwyg", t), e.eventManager.emit("change", t), e.eventManager.emit("contentChangedFromWysiwyg", e)
+ }
+ e.getEditor().preserveLastLine()
+ }
+ }), 0)), t.addEventListener("keydown", (function (t) {
+ e.getEditor().getSelection().collapsed || (n = !0), e.eventManager.emit("keydown", {
+ source: "wysiwyg",
+ data: t
+ }), e._onKeyDown(t)
+ })), Zt.a.firefox && (t.addEventListener("keypress", (function (t) {
+ var r = t.keyCode;
+ 13 !== r && 9 !== r || (e.getEditor().getSelection().collapsed || (n = !0), e.eventManager.emit("keydown", {
+ source: "wysiwyg",
+ data: t
+ }), e._onKeyDown(t))
+ })), t.addEventListener("keyup", (function () {
+ var t = e.getRange();
+ if (St.isTextNode(t.commonAncestorContainer) && St.isTextNode(t.commonAncestorContainer.previousSibling)) {
+ var n = t.commonAncestorContainer.previousSibling.length,
+ r = t.commonAncestorContainer;
+ t.commonAncestorContainer.previousSibling.appendData(t.commonAncestorContainer.data), t.setStart(t.commonAncestorContainer.previousSibling, n + t.startOffset), t.collapse(!0), St.remove(r), e.setRange(t), t.detach()
+ }
+ }))), t.addEventListener("keyup", (function (t) {
+ n && (e.debouncedPostProcessForChange(), n = !1), e.eventManager.emit("keyup", {
+ source: "wysiwyg",
+ data: t
+ })
+ })), Ve()(this.editorContainerEl, "scroll", (function (t) {
+ e.eventManager.emit("scroll", {
+ source: "wysiwyg",
+ data: t
+ })
+ })), t.addEventListener("click", (function (t) {
+ e.eventManager.emit("click", {
+ source: "wysiwyg",
+ data: t
+ })
+ })), t.addEventListener("mousedown", (function (t) {
+ e.eventManager.emit("mousedown", {
+ source: "wysiwyg",
+ data: t
+ })
+ })), t.addEventListener("mouseover", (function (t) {
+ e.eventManager.emit("mouseover", {
+ source: "wysiwyg",
+ data: t
+ })
+ })), t.addEventListener("mouseout", (function (t) {
+ e.eventManager.emit("mouseout", {
+ source: "wysiwyg",
+ data: t
+ })
+ })), t.addEventListener("mouseup", (function (t) {
+ e.eventManager.emit("mouseup", {
+ source: "wysiwyg",
+ data: t
+ })
+ })), t.addEventListener("contextmenu", (function (t) {
+ e.eventManager.emit("contextmenu", {
+ source: "wysiwyg",
+ data: t
+ })
+ })), t.addEventListener("focus", (function () {
+ e.eventManager.emit("focus", {
+ source: "wysiwyg"
+ })
+ })), t.addEventListener("blur", (function () {
+ e.fixIMERange(), e.eventManager.emit("blur", {
+ source: "wysiwyg"
+ })
+ })), t.addEventListener("pathChange", (function (t) {
+ var n = {
+ strong: /(^B>|>B$|>B>|^B$|STRONG)/.test(t.path),
+ emph: /(>I|>EM|^I$|^EM$)/.test(t.path),
+ strike: /(^S>|>S$|>S>|^S$|DEL)/.test(t.path),
+ code: /CODE/.test(t.path),
+ codeBlock: /PRE/.test(t.path),
+ blockQuote: /BLOCKQUOTE/.test(t.path),
+ table: /TABLE/.test(t.path),
+ heading: /H[1-6]/.test(t.path),
+ list: /UL>LI(?!.task-list-item)/.test(t.path),
+ orderedList: /OL>LI(?!.task-list-item)/.test(t.path),
+ taskList: /[UL|OL]>LI.task-list-item/.test(t.path),
+ source: "wysiwyg"
+ };
+ e.eventManager.emit("stateChange", n)
+ })), t.addEventListener("willPaste", (function (t) {
+ t.fragment && e.eventManager.emit("willPaste", {
+ source: "wysiwyg",
+ data: t
+ })
+ }))
+ }, t._togglePlaceholder = function () {
+ var e = this.getEditor();
+ e.modifyDocument((function () {
+ var t = e.getRoot();
+ t.textContent || t.childNodes.length > 1 ? t.classList.remove("tui-editor-contents-placeholder") : t.classList.add("tui-editor-contents-placeholder")
+ }))
+ }, t._onKeyDown = function (e) {
+ var t = nr.convert(e);
+ e.keyCode && (this.eventManager.emit("keyMap", {
+ source: "wysiwyg",
+ keyMap: t,
+ data: e
+ }), e.defaultPrevented || this.eventManager.emit("wysiwygKeyEvent", {
+ keyMap: t,
+ data: e
+ }))
+ }, t._initDefaultKeyEventHandler = function () {
+ var e = this;
+ this.addKeyEventHandler("ENTER", (function (t, n) {
+ e._isInOrphanText(n) && e.defer((function () {
+ e._wrapDefaultBlockToOrphanTexts(), e.breakToNewDefaultBlock(n, "before")
+ })), e.defer((function () {
+ return e.scrollIntoCursor()
+ }))
+ })), this.addKeyEventHandler("TAB", (function (t) {
+ var n = e.getEditor(),
+ r = n.getSelection(),
+ i = r.collapsed && e._isCursorNotInRestrictedAreaOfTabAction(n),
+ o = !r.collapsed && St.isTextNode(r.commonAncestorContainer);
+ return t.preventDefault(), !i && !o || (n.insertPlainText(" "), !1)
+ })), this.addKeyEventHandler("BACK_SPACE", (function (t, n, r) {
+ return e._handleRemoveKeyEvent(t, n, r)
+ })), this.addKeyEventHandler("DELETE", (function (t, n, r) {
+ return e._handleRemoveKeyEvent(t, n, r)
+ }))
+ }, t._handleRemoveKeyEvent = function (e, t, n) {
+ var r = this.getEditor();
+ if (this._isStartHeadingOrTableAndContainsThem(t)) {
+ var i = "BACK_SPACE" === n ? "backspace" : "delete";
+ return r.removeAllFormatting(), r._keyHandlers[i](r, e, r.getSelection()), r.removeLastUndoStack(), !1
+ }
+ return !0
+ }, t._isStartHeadingOrTableAndContainsThem = function (e) {
+ var t = e.startContainer,
+ n = e.startOffset,
+ r = e.commonAncestorContainer,
+ i = e.collapsed,
+ o = this.getEditor().getRoot(),
+ a = !1;
+ return i || r !== o || (t === o ? a = lr.test(St.getChildNodeByOffset(t, n).nodeName) : 0 === n && (a = lr.test(St.getParentUntil(t, o).nodeName))), a
+ }, t._wrapDefaultBlockToOrphanTexts = function () {
+ var e = Qe()(this.getBody().childNodes).filter((function (e) {
+ return St.isTextNode(e)
+ }));
+ St.getAllTextNode(this.getBody()), e.forEach((function (e) {
+ e.nextSibling && "BR" === e.nextSibling.tagName && St.remove(e.nextSibling), St.wrap(e, document.createElement("div"))
+ }))
+ }, t._isInOrphanText = function (e) {
+ return e.startContainer.nodeType === Node.TEXT_NODE && e.startContainer.parentNode === this.getBody()
+ }, t._wrapDefaultBlockTo = function (e) {
+ this.saveSelection(e), this._joinSplitedTextNodes(), this.restoreSavedSelection();
+ var t = (e = this.getRange()).startContainer,
+ n = e.startOffset,
+ r = this.getEditor().createDefaultBlock([e.startContainer]),
+ i = St.getChildNodeByOffset(e.startContainer, e.startOffset);
+ i ? e.setStartBefore(i) : e.selectNodeContents(e.startContainer), e.collapse(!0), e.insertNode(r), e.setStart(t, n), e.collapse(!0), this.setRange(e)
+ }, t._joinSplitedTextNodes = function () {
+ var e, t, n = [];
+ Qe()(this.getBody().childNodes).filter((function (e) {
+ return St.isTextNode(e)
+ })).forEach((function (r) {
+ e === r.previousSibling ? (t.nodeValue += r.nodeValue, n.push(r)) : t = r, e = r
+ })), St.remove(n)
+ }, t.saveSelection = function (e) {
+ e || (e = this.getRange()), this.getEditor()._saveRangeToBookmark(e)
+ }, t.setSelectionByContainerAndOffset = function (e, t, n, r) {
+ var i = this.getEditor(),
+ o = i.getSelection();
+ return o.setStart(e, t), o.setEnd(n, r), i.setSelection(o), o
+ }, t.restoreSavedSelection = function () {
+ this.setRange(this.getEditor()._getRangeAndRemoveBookmark())
+ }, t.reset = function () {
+ this.setValue("")
+ }, t.changeBlockFormatTo = function (e) {
+ this.getEditor().changeBlockFormatTo(e), this.eventManager.emit("wysiwygRangeChangeAfter", this)
+ }, t.makeEmptyBlockCurrentSelection = function () {
+ var e = this;
+ this.getEditor().modifyBlocks((function (t) {
+ return t.textContent || (t = e.getEditor().createDefaultBlock()), t
+ }))
+ }, t.focus = function () {
+ var e = this.scrollTop();
+ this.editor.focus(), e !== this.scrollTop() && this.scrollTop(e)
+ }, t.blur = function () {
+ this.editor.blur()
+ }, t.remove = function () {
+ Ge()(this.editorContainerEl, "scroll"), this.getEditor().destroy(), this.editor = null, this.body = null, this.eventManager = null
+ }, t.setHeight = function (e) {
+ this._height = e, h()(this.editorContainerEl, {
+ overflow: "auto",
+ height: "100%"
+ }), h()(this.editorContainerEl.parentNode, {
+ height: l()(e) ? e + "px" : e
+ });
+ var t = this.editorContainerEl.style,
+ n = this.getBody().style,
+ r = parseInt(t.paddingTop, 10) - parseInt(t.paddingBottom, 10),
+ i = parseInt(n.marginTop, 10) - parseInt(n.marginBottom, 10);
+ h()(this.getBody(), {
+ minHeight: e - i - r + "px"
+ })
+ }, t.setMinHeight = function (e) {
+ var t = this.getBody();
+ h()(t, "minHeight", e + "px")
+ }, t.setPlaceholder = function (e) {
+ e && this.getEditor().getRoot().setAttribute("data-placeholder", e)
+ }, t.getLinkAttribute = function () {
+ return this._linkAttribute
+ }, t.setValue = function (e, t) {
+ void 0 === t && (t = !0), e = this.eventManager.emitReduce("wysiwygSetValueBefore", e), this.editor.setHTML(e), this.eventManager.emit("wysiwygSetValueAfter", this), this.eventManager.emit("contentChangedFromWysiwyg", this), t && this.moveCursorToEnd(), this.getEditor().preserveLastLine(), this.getEditor().removeLastUndoStack(), this.getEditor().saveUndoState()
+ }, t.insertText = function (e) {
+ this.editor.insertPlainText(e)
+ }, t.getValue = function () {
+ this._prepareGetHTML();
+ var e = this.editor.getHTML();
+ return e = (e = (e = (e = (e = (e = e.replace(rr, (function (e, t) {
+ return "li" === t ? e : "td" === t || "th" === t ? "<" + t + ">" + t + ">" : " "
+ }))).replace(ar, " ")).replace(sr, " ")).replace(ir, "$1>")).replace(/