diff --git a/frontend/drupal9/composer.lock b/frontend/drupal9/composer.lock index 9b998274a..001b4388b 100755 --- a/frontend/drupal9/composer.lock +++ b/frontend/drupal9/composer.lock @@ -633,22 +633,22 @@ "GPL-2.0-or-later" ], "authors": [ - { - "name": "Alsén", - "homepage": "https://www.drupal.org/user/1726528" - }, - { - "name": "Nitesh Sethia", - "homepage": "https://www.drupal.org/user/2474982" - }, { "name": "acke", "homepage": "https://www.drupal.org/user/765764" }, + { + "name": "Alsén", + "homepage": "https://www.drupal.org/user/1726528" + }, { "name": "diqidoq", "homepage": "https://www.drupal.org/user/1001934" }, + { + "name": "Nitesh Sethia", + "homepage": "https://www.drupal.org/user/2474982" + }, { "name": "sumitmadan", "homepage": "https://www.drupal.org/user/1538790" @@ -814,16 +814,16 @@ }, { "name": "drupal/core", - "version": "9.4.3", + "version": "9.4.8", "source": { "type": "git", "url": "https://github.com/drupal/core.git", - "reference": "7b1a403c093c7abc89ef3df1a6b05bdb19b3ffad" + "reference": "a627d1b2a00f2cef0572e37b94dea298800541f4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/drupal/core/zipball/7b1a403c093c7abc89ef3df1a6b05bdb19b3ffad", - "reference": "7b1a403c093c7abc89ef3df1a6b05bdb19b3ffad", + "url": "https://api.github.com/repos/drupal/core/zipball/a627d1b2a00f2cef0572e37b94dea298800541f4", + "reference": "a627d1b2a00f2cef0572e37b94dea298800541f4", "shasum": "" }, "require": { @@ -869,7 +869,7 @@ "symfony/translation": "^4.4", "symfony/validator": "^4.4", "symfony/yaml": "^4.4.19", - "twig/twig": "^2.15", + "twig/twig": "^2.15.3", "typo3/phar-stream-wrapper": "^3.1.3" }, "conflict": { @@ -877,29 +877,6 @@ "symfony/http-foundation": "4.4.42" }, "replace": { - "drupal/action": "self.version", - "drupal/aggregator": "self.version", - "drupal/automated_cron": "self.version", - "drupal/ban": "self.version", - "drupal/bartik": "self.version", - "drupal/basic_auth": "self.version", - "drupal/big_pipe": "self.version", - "drupal/block": "self.version", - "drupal/block_content": "self.version", - "drupal/book": "self.version", - "drupal/breakpoint": "self.version", - "drupal/ckeditor": "self.version", - "drupal/ckeditor5": "self.version", - "drupal/claro": "self.version", - "drupal/classy": "self.version", - "drupal/color": "self.version", - "drupal/comment": "self.version", - "drupal/config": "self.version", - "drupal/config_translation": "self.version", - "drupal/contact": "self.version", - "drupal/content_moderation": "self.version", - "drupal/content_translation": "self.version", - "drupal/contextual": "self.version", "drupal/core-annotation": "self.version", "drupal/core-assertion": "self.version", "drupal/core-bridge": "self.version", @@ -924,75 +901,7 @@ "drupal/core-transliteration": "self.version", "drupal/core-utility": "self.version", "drupal/core-uuid": "self.version", - "drupal/core-version": "self.version", - "drupal/datetime": "self.version", - "drupal/datetime_range": "self.version", - "drupal/dblog": "self.version", - "drupal/dynamic_page_cache": "self.version", - "drupal/editor": "self.version", - "drupal/entity_reference": "self.version", - "drupal/field": "self.version", - "drupal/field_layout": "self.version", - "drupal/field_ui": "self.version", - "drupal/file": "self.version", - "drupal/filter": "self.version", - "drupal/forum": "self.version", - "drupal/hal": "self.version", - "drupal/help": "self.version", - "drupal/help_topics": "self.version", - "drupal/history": "self.version", - "drupal/image": "self.version", - "drupal/inline_form_errors": "self.version", - "drupal/jsonapi": "self.version", - "drupal/language": "self.version", - "drupal/layout_builder": "self.version", - "drupal/layout_discovery": "self.version", - "drupal/link": "self.version", - "drupal/locale": "self.version", - "drupal/media": "self.version", - "drupal/media_library": "self.version", - "drupal/menu_link_content": "self.version", - "drupal/menu_ui": "self.version", - "drupal/migrate": "self.version", - "drupal/migrate_drupal": "self.version", - "drupal/migrate_drupal_multilingual": "self.version", - "drupal/migrate_drupal_ui": "self.version", - "drupal/minimal": "self.version", - "drupal/mysql": "self.version", - "drupal/node": "self.version", - "drupal/olivero": "self.version", - "drupal/options": "self.version", - "drupal/page_cache": "self.version", - "drupal/path": "self.version", - "drupal/path_alias": "self.version", - "drupal/pgsql": "self.version", - "drupal/quickedit": "self.version", - "drupal/rdf": "self.version", - "drupal/responsive_image": "self.version", - "drupal/rest": "self.version", - "drupal/search": "self.version", - "drupal/serialization": "self.version", - "drupal/settings_tray": "self.version", - "drupal/seven": "self.version", - "drupal/shortcut": "self.version", - "drupal/sqlite": "self.version", - "drupal/standard": "self.version", - "drupal/stark": "self.version", - "drupal/statistics": "self.version", - "drupal/syslog": "self.version", - "drupal/system": "self.version", - "drupal/taxonomy": "self.version", - "drupal/telephone": "self.version", - "drupal/text": "self.version", - "drupal/toolbar": "self.version", - "drupal/tour": "self.version", - "drupal/tracker": "self.version", - "drupal/update": "self.version", - "drupal/user": "self.version", - "drupal/views": "self.version", - "drupal/views_ui": "self.version", - "drupal/workflows": "self.version", - "drupal/workspaces": "self.version" + "drupal/core-version": "self.version" }, "type": "drupal-core", "extra": { @@ -1066,13 +975,13 @@ ], "description": "Drupal is an open source content management platform powering millions of websites and applications.", "support": { - "source": "https://github.com/drupal/core/tree/9.4.3" + "source": "https://github.com/drupal/core/tree/9.4.8" }, - "time": "2022-07-20T15:11:38+00:00" + "time": "2022-10-06T15:57:08+00:00" }, { "name": "drupal/core-composer-scaffold", - "version": "9.4.3", + "version": "9.4.8", "source": { "type": "git", "url": "https://github.com/drupal/core-composer-scaffold.git", @@ -1116,13 +1025,13 @@ "drupal" ], "support": { - "source": "https://github.com/drupal/core-composer-scaffold/tree/9.4.3" + "source": "https://github.com/drupal/core-composer-scaffold/tree/9.4.8" }, "time": "2022-06-19T16:14:23+00:00" }, { "name": "drupal/core-project-message", - "version": "9.4.3", + "version": "9.4.8", "source": { "type": "git", "url": "https://github.com/drupal/core-project-message.git", @@ -1157,22 +1066,22 @@ "drupal" ], "support": { - "source": "https://github.com/drupal/core-project-message/tree/9.4.3" + "source": "https://github.com/drupal/core-project-message/tree/9.5.0-beta2" }, "time": "2022-02-24T17:40:53+00:00" }, { "name": "drupal/core-recommended", - "version": "9.4.3", + "version": "9.4.8", "source": { "type": "git", "url": "https://github.com/drupal/core-recommended.git", - "reference": "ff8662af0a5963a88ea856e9786e17a51f8e640c" + "reference": "684cc844f7b729286f5d62f1ee4b20ab12586502" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/drupal/core-recommended/zipball/ff8662af0a5963a88ea856e9786e17a51f8e640c", - "reference": "ff8662af0a5963a88ea856e9786e17a51f8e640c", + "url": "https://api.github.com/repos/drupal/core-recommended/zipball/684cc844f7b729286f5d62f1ee4b20ab12586502", + "reference": "684cc844f7b729286f5d62f1ee4b20ab12586502", "shasum": "" }, "require": { @@ -1181,12 +1090,12 @@ "doctrine/annotations": "~1.13.2", "doctrine/lexer": "~1.2.3", "doctrine/reflection": "~1.2.3", - "drupal/core": "9.4.3", + "drupal/core": "9.4.8", "egulias/email-validator": "~3.2", "guzzlehttp/guzzle": "~6.5.8", "guzzlehttp/promises": "~1.5.1", "guzzlehttp/psr7": "~1.9.0", - "laminas/laminas-diactoros": "~2.11.0", + "laminas/laminas-diactoros": "~2.11.1", "laminas/laminas-escaper": "~2.9.0", "laminas/laminas-feed": "~2.17.0", "laminas/laminas-stdlib": "~3.7.1", @@ -1230,7 +1139,7 @@ "symfony/validator": "~v4.4.41", "symfony/var-dumper": "~v5.4.9", "symfony/yaml": "~v4.4.37", - "twig/twig": "~v2.15.1", + "twig/twig": "~v2.15.3", "typo3/phar-stream-wrapper": "~v3.1.7" }, "conflict": { @@ -1243,32 +1152,32 @@ ], "description": "Core and its dependencies with known-compatible minor versions. Require this project INSTEAD OF drupal/core.", "support": { - "source": "https://github.com/drupal/core-recommended/tree/9.4.3" + "source": "https://github.com/drupal/core-recommended/tree/9.4.8" }, - "time": "2022-07-20T15:11:38+00:00" + "time": "2022-10-06T15:57:08+00:00" }, { "name": "drupal/ctools", - "version": "3.8.0", + "version": "3.11.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/ctools.git", - "reference": "8.x-3.8" + "reference": "8.x-3.11" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/ctools-8.x-3.8.zip", - "reference": "8.x-3.8", - "shasum": "514fdf5c221ead030cc407c39c2950029cea4eb3" + "url": "https://ftp.drupal.org/files/projects/ctools-8.x-3.11.zip", + "reference": "8.x-3.11", + "shasum": "67da670df43155d1e15c80c7b0e326b3049ac5a2" }, "require": { - "drupal/core": "^8.8 || ^9" + "drupal/core": "^9.3 || ^10" }, "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-3.8", - "datestamp": "1656633722", + "version": "8.x-3.11", + "datestamp": "1660167573", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -1342,30 +1251,30 @@ }, { "name": "drupal/ds", - "version": "3.13.0", + "version": "3.15.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/ds.git", - "reference": "8.x-3.13" + "reference": "8.x-3.15" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/ds-8.x-3.13.zip", - "reference": "8.x-3.13", - "shasum": "86c87f1bf845d26594ae3ce0061d8f311bdce73c" + "url": "https://ftp.drupal.org/files/projects/ds-8.x-3.15.zip", + "reference": "8.x-3.15", + "shasum": "cf7ee6bde717dc2d7f10d5f834ca29fb80285d0d" }, "require": { - "drupal/core": "^8.8 || ^9" + "drupal/core": "^9 || ^10" }, "require-dev": { - "drupal/devel": "3.x-dev", - "drupal/field_group": "3.x-dev" + "drupal/classy": "^1.0", + "drupal/devel": "5.x-dev" }, "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-3.13", - "datestamp": "1624456614", + "version": "8.x-3.15", + "datestamp": "1662818537", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -1412,26 +1321,26 @@ }, { "name": "drupal/entity", - "version": "1.3.0", + "version": "1.4.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/entity.git", - "reference": "8.x-1.3" + "reference": "8.x-1.4" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/entity-8.x-1.3.zip", - "reference": "8.x-1.3", - "shasum": "9515e28a70448d369adf4199d08a01a5ab75792d" + "url": "https://ftp.drupal.org/files/projects/entity-8.x-1.4.zip", + "reference": "8.x-1.4", + "shasum": "1cf7712318fad144eab106a8fcfcd396aeb5676f" }, "require": { - "drupal/core": "^8.8.2 || ^9" + "drupal/core": "^9.2|^10.0" }, "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.3", - "datestamp": "1646324539", + "version": "8.x-1.4", + "datestamp": "1661898023", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -1447,10 +1356,6 @@ "name": "Berdir", "homepage": "https://www.drupal.org/user/214652" }, - { - "name": "TR", - "homepage": "https://www.drupal.org/user/202830" - }, { "name": "bojanz", "homepage": "https://www.drupal.org/user/86106" @@ -1470,6 +1375,10 @@ { "name": "mglaman", "homepage": "https://www.drupal.org/user/2416470" + }, + { + "name": "TR", + "homepage": "https://www.drupal.org/user/202830" } ], "description": "Provides expanded entity APIs, which will be moved to Drupal core one day.", @@ -1481,26 +1390,32 @@ }, { "name": "drupal/entity_clone", - "version": "1.0.0-beta6", + "version": "1.0.0-beta7", "source": { "type": "git", "url": "https://git.drupalcode.org/project/entity_clone.git", - "reference": "8.x-1.0-beta6" + "reference": "8.x-1.0-beta7" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/entity_clone-8.x-1.0-beta6.zip", - "reference": "8.x-1.0-beta6", - "shasum": "35d04649b6fb349df761abab37506a94f172981f" + "url": "https://ftp.drupal.org/files/projects/entity_clone-8.x-1.0-beta7.zip", + "reference": "8.x-1.0-beta7", + "shasum": "964b72b21a7e219cf337743ed5c8850235197594" }, "require": { "drupal/core": "^8 || ^9" }, + "require-dev": { + "drupal/entity_browser": "2.x-dev", + "drupal/entity_usage": "2.x-dev", + "drupal/paragraphs": "^1.0", + "drupal/search_api": "~1.0" + }, "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.0-beta6", - "datestamp": "1617209997", + "version": "8.x-1.0-beta7", + "datestamp": "1663573486", "security-coverage": { "status": "not-covered", "message": "Beta releases are not covered by Drupal security advisories." @@ -1512,47 +1427,55 @@ "GPL-2.0-or-later" ], "authors": [ + { + "name": "colan", + "homepage": "https://www.drupal.org/user/58704" + }, { "name": "NickDickinsonWilde", "homepage": "https://www.drupal.org/user/3094661" }, { - "name": "colan", - "homepage": "https://www.drupal.org/user/58704" + "name": "Rajeshreeputra", + "homepage": "https://www.drupal.org/user/3418561" + }, + { + "name": "Upchuk", + "homepage": "https://www.drupal.org/user/1885838" }, { "name": "vpeltot", "homepage": "https://www.drupal.org/user/1361586" } ], - "description": "Add a clone action for all entities", - "homepage": "https://www.drupal.org/project/entity_clone", + "description": "Add a clone action for all entities.", + "homepage": "https://drupal.org/project/entity_clone", "support": { "source": "https://git.drupalcode.org/project/entity_clone" } }, { "name": "drupal/eu_cookie_compliance", - "version": "1.19.0", + "version": "1.23.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/eu-cookie-compliance.git", - "reference": "8.x-1.19" + "reference": "8.x-1.23" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/eu_cookie_compliance-8.x-1.19.zip", - "reference": "8.x-1.19", - "shasum": "5a13cd53f87a58501cebd6e560c280ad7274035c" + "url": "https://ftp.drupal.org/files/projects/eu_cookie_compliance-8.x-1.23.zip", + "reference": "8.x-1.23", + "shasum": "9120b5333ea3f79f3e3d5dfb7842a364d36f9247" }, "require": { - "drupal/core": "^8.9 || ^9" + "drupal/core": "^8.9 || ^9 || ^10" }, "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.19", - "datestamp": "1633775773", + "version": "8.x-1.23", + "datestamp": "1663783353", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -1582,6 +1505,10 @@ { "name": "See other contributors", "homepage": "https://www.drupal.org/node/1538032/committers" + }, + { + "name": "svenryen", + "homepage": "https://www.drupal.org/user/667244" } ], "description": "This module aims at making the website compliant with the new EU cookie regulation.", @@ -1836,14 +1763,6 @@ "name": "AlBCole", "homepage": "https://www.drupal.org/user/3652053" }, - { - "name": "Jeff Cardwell", - "homepage": "https://www.drupal.org/user/2913129" - }, - { - "name": "University of Colorado Boulder", - "homepage": "https://www.drupal.org/user/3299791" - }, { "name": "flaviovs", "homepage": "https://www.drupal.org/user/22288" @@ -1864,6 +1783,10 @@ "name": "jcsparks", "homepage": "https://www.drupal.org/user/3086593" }, + { + "name": "Jeff Cardwell", + "homepage": "https://www.drupal.org/user/2913129" + }, { "name": "jeor0980", "homepage": "https://www.drupal.org/user/3540293" @@ -1900,6 +1823,10 @@ "name": "twfahey", "homepage": "https://www.drupal.org/user/3403722" }, + { + "name": "University of Colorado Boulder", + "homepage": "https://www.drupal.org/user/3299791" + }, { "name": "utexas", "homepage": "https://www.drupal.org/user/3716409" @@ -1958,17 +1885,17 @@ }, { "name": "drupal/imce", - "version": "2.4.0", + "version": "2.5.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/imce.git", - "reference": "8.x-2.4" + "reference": "8.x-2.5" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/imce-8.x-2.4.zip", - "reference": "8.x-2.4", - "shasum": "2797d6a669b739490edd00c753303cd9263f8dc3" + "url": "https://ftp.drupal.org/files/projects/imce-8.x-2.5.zip", + "reference": "8.x-2.5", + "shasum": "0326482a1d6cb5f52ed00473bc5693e192149fdb" }, "require": { "drupal/core": "^8.8 || ^9" @@ -1976,8 +1903,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-2.4", - "datestamp": "1618251147", + "version": "8.x-2.5", + "datestamp": "1664293755", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -2008,17 +1935,17 @@ }, { "name": "drupal/insert_view", - "version": "2.0.0", + "version": "2.0.1", "source": { "type": "git", "url": "https://git.drupalcode.org/project/insert_view.git", - "reference": "2.0.0" + "reference": "2.0.1" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/insert_view-2.0.0.zip", - "reference": "2.0.0", - "shasum": "b128be3a80d651f8557a921ee8bf44c651a7d460" + "url": "https://ftp.drupal.org/files/projects/insert_view-2.0.1.zip", + "reference": "2.0.1", + "shasum": "8ee1cb7cdbf2a068165441541cabef3a97cf96e7" }, "require": { "drupal/core": "^8.8 || ^9" @@ -2026,8 +1953,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "2.0.0", - "datestamp": "1603889264", + "version": "2.0.1", + "datestamp": "1664469522", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -2061,16 +1988,16 @@ "role": "Maintainer" }, { - "name": "drewish", - "homepage": "https://www.drupal.org/user/34869" - }, - { - "name": "mlsamuelson", - "homepage": "https://www.drupal.org/user/47411" + "name": "Pasqualle", + "homepage": "https://www.drupal.org/user/80733" }, { "name": "paulocs", "homepage": "https://www.drupal.org/user/3640109" + }, + { + "name": "RenatoG", + "homepage": "https://www.drupal.org/user/3326031" } ], "description": "Input filter which allows to embed views.", @@ -2684,37 +2611,38 @@ }, { "name": "drupal/metatag", - "version": "1.21.0", + "version": "1.22.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/metatag.git", - "reference": "8.x-1.21" + "reference": "8.x-1.22" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/metatag-8.x-1.21.zip", - "reference": "8.x-1.21", - "shasum": "677ff7384b557390d4d1a36f335452e8172f741d" + "url": "https://ftp.drupal.org/files/projects/metatag-8.x-1.22.zip", + "reference": "8.x-1.22", + "shasum": "045cd6a4aa5048bfd6d47584eae1210eab9ba1fa" }, "require": { - "drupal/core": "^9", - "drupal/token": "^1.0", - "php": ">=7.0" + "drupal/core": "^9.3 || ^10", + "drupal/token": "^1.0" }, "require-dev": { - "drupal/devel": "^4.0", + "drupal/devel": "^4.0 || ^5.0", + "drupal/hal": "^9 || ^1 || ^2", "drupal/metatag_dc": "*", "drupal/metatag_open_graph": "*", - "drupal/page_manager": "4.x-dev", - "drupal/panelizer": "4.x-dev", - "drupal/redirect": "1.x-dev", + "drupal/page_manager": "^4.0", + "drupal/panelizer": "^4.0", + "drupal/redirect": "^1.0", + "drupal/webprofiler": "^9 || ^10", "mpyw/phpunit-patch-serializable-comparison": "*" }, "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.21", - "datestamp": "1657971667", + "version": "8.x-1.22", + "datestamp": "1664472988", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -2750,20 +2678,20 @@ }, { "name": "drupal/pathauto", - "version": "1.10.0", + "version": "1.11.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/pathauto.git", - "reference": "8.x-1.10" + "reference": "8.x-1.11" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/pathauto-8.x-1.10.zip", - "reference": "8.x-1.10", - "shasum": "f49d5fbcd7a2c1b4de1da07194fe01d9012237ec" + "url": "https://ftp.drupal.org/files/projects/pathauto-8.x-1.11.zip", + "reference": "8.x-1.11", + "shasum": "a006fe9e6046a9833711a1ae56aa4752e65bcdc8" }, "require": { - "drupal/core": "^8.8 || ^9", + "drupal/core": "^9.3 || ^10", "drupal/ctools": "*", "drupal/token": "*" }, @@ -2773,8 +2701,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.10", - "datestamp": "1650806739", + "version": "8.x-1.11", + "datestamp": "1660129564", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -2818,17 +2746,17 @@ }, { "name": "drupal/publication_date", - "version": "2.0.0-beta4", + "version": "2.0.0-beta5", "source": { "type": "git", "url": "https://git.drupalcode.org/project/publication_date.git", - "reference": "8.x-2.0-beta4" + "reference": "8.x-2.0-beta5" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/publication_date-8.x-2.0-beta4.zip", - "reference": "8.x-2.0-beta4", - "shasum": "155c4491200c95c1f2b58e4534996f93f459b951" + "url": "https://ftp.drupal.org/files/projects/publication_date-8.x-2.0-beta5.zip", + "reference": "8.x-2.0-beta5", + "shasum": "0add730f353d15fa13a13a9a463b431e6f5a663e" }, "require": { "drupal/core": "^8 || ^9" @@ -2836,8 +2764,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-2.0-beta4", - "datestamp": "1645141218", + "version": "8.x-2.0-beta5", + "datestamp": "1661984596", "security-coverage": { "status": "not-covered", "message": "Beta releases are not covered by Drupal security advisories." @@ -2853,10 +2781,6 @@ "name": "Clever Age", "homepage": "https://www.drupal.org/user/547746" }, - { - "name": "Sheldon Rampton", - "homepage": "https://www.drupal.org/user/13085" - }, { "name": "dgtlmoon", "homepage": "https://www.drupal.org/user/25027" @@ -2865,6 +2789,10 @@ "name": "jstoller", "homepage": "https://www.drupal.org/user/99012" }, + { + "name": "Sheldon Rampton", + "homepage": "https://www.drupal.org/user/13085" + }, { "name": "tmarly", "homepage": "https://www.drupal.org/user/159040" @@ -2929,26 +2857,22 @@ "homepage": "https://www.drupal.org/u/systemick", "role": "Maintainer" }, - { - "name": "ezra-g", - "homepage": "https://www.drupal.org/user/69959" - }, - { - "name": "jaydub", - "homepage": "https://www.drupal.org/user/46257" - }, { "name": "katbailey", "homepage": "https://www.drupal.org/user/172987" }, - { - "name": "nedjo", - "homepage": "https://www.drupal.org/user/4481" - }, { "name": "netw3rker", "homepage": "https://www.drupal.org/user/89684" }, + { + "name": "Palashvijay4O", + "homepage": "https://www.drupal.org/user/2995945" + }, + { + "name": "Pasqualle", + "homepage": "https://www.drupal.org/user/80733" + }, { "name": "shelane", "homepage": "https://www.drupal.org/user/2674989" @@ -2971,26 +2895,26 @@ }, { "name": "drupal/redirect", - "version": "1.7.0", + "version": "1.8.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/redirect.git", - "reference": "8.x-1.7" + "reference": "8.x-1.8" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/redirect-8.x-1.7.zip", - "reference": "8.x-1.7", - "shasum": "013b2541a5ef0cf423a3caa1ae89cc5866504877" + "url": "https://ftp.drupal.org/files/projects/redirect-8.x-1.8.zip", + "reference": "8.x-1.8", + "shasum": "a7a440423434472ff7115ae69df01553f763f839" }, "require": { - "drupal/core": "^8.8 || ^9" + "drupal/core": "^9.2 || ^10" }, "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.7", - "datestamp": "1639380488", + "version": "8.x-1.8", + "datestamp": "1661806955", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -3252,20 +3176,20 @@ }, { "name": "drupal/search_api", - "version": "1.25.0", + "version": "1.26.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/search_api.git", - "reference": "8.x-1.25" + "reference": "8.x-1.26" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/search_api-8.x-1.25.zip", - "reference": "8.x-1.25", - "shasum": "823bf5a6010cd08c7d1b287fcd855fbf81140e39" + "url": "https://ftp.drupal.org/files/projects/search_api-8.x-1.26.zip", + "reference": "8.x-1.26", + "shasum": "a37f4ac23f7f0517df85fd450b4a9a50333ae93d" }, "require": { - "drupal/core": "^9.2 || ^10.0" + "drupal/core": "^9.3 || ^10.0" }, "conflict": { "drupal/search_api_solr": "2.* || 3.0 || 3.1" @@ -3283,8 +3207,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.25", - "datestamp": "1658149514", + "version": "8.x-1.26", + "datestamp": "1664975343", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -3324,7 +3248,7 @@ }, { "name": "drupal/search_api_db", - "version": "1.25.0", + "version": "1.26.0", "require": { "drupal/core": "^9.2 || ^10.0", "drupal/search_api": "*" @@ -3332,8 +3256,8 @@ "type": "metapackage", "extra": { "drupal": { - "version": "8.x-1.25", - "datestamp": "1658149514", + "version": "8.x-1.26", + "datestamp": "1664975343", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -3409,6 +3333,10 @@ "name": "drunken monkey", "homepage": "https://www.drupal.org/user/205582" }, + { + "name": "japerry", + "homepage": "https://www.drupal.org/user/45640" + }, { "name": "swentel", "homepage": "https://www.drupal.org/user/107403" @@ -3422,27 +3350,27 @@ }, { "name": "drupal/search_api_stats", - "version": "1.0.0-alpha2", + "version": "1.0.0-alpha3", "source": { "type": "git", "url": "https://git.drupalcode.org/project/search_api_stats.git", - "reference": "8.x-1.0-alpha2" + "reference": "8.x-1.0-alpha3" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/search_api_stats-8.x-1.0-alpha2.zip", - "reference": "8.x-1.0-alpha2", - "shasum": "94c90a66d8e8900c27dcb7b985989e376e39db2a" + "url": "https://ftp.drupal.org/files/projects/search_api_stats-8.x-1.0-alpha3.zip", + "reference": "8.x-1.0-alpha3", + "shasum": "aa8b4d69af9a887914ccc23258bcb173e4709f49" }, "require": { - "drupal/core": "^8 || ^9", + "drupal/core": "^8 || ^9 || ^10", "drupal/search_api": "*" }, "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.0-alpha2", - "datestamp": "1620135868", + "version": "8.x-1.0-alpha3", + "datestamp": "1659520266", "security-coverage": { "status": "not-covered", "message": "Alpha releases are not covered by Drupal security advisories." @@ -3526,10 +3454,10 @@ "source": { "type": "git", "url": "https://git.drupalcode.org/project/taxonomy_menu.git", - "reference": "a1e0bf3ed5d1c8b913da2d2a3402ea165a82a464" + "reference": "7278a43dd7d36972ed39cf2aef0e2fb6556a66fa" }, "require": { - "drupal/core": "^8 || ^9" + "drupal/core": "^9.1 || ^10" }, "type": "drupal-module", "extra": { @@ -3537,8 +3465,8 @@ "dev-3.x": "3.x-dev" }, "drupal": { - "version": "8.x-3.4+24-dev", - "datestamp": "1631709187", + "version": "8.x-3.5+2-dev", + "datestamp": "1665077150", "security-coverage": { "status": "not-covered", "message": "Dev releases are not covered by Drupal security advisories." @@ -3550,14 +3478,6 @@ "GPL-2.0+" ], "authors": [ - { - "name": "DamienMcKenna", - "homepage": "https://www.drupal.org/user/108450" - }, - { - "name": "NickDickinsonWilde", - "homepage": "https://www.drupal.org/user/3094661" - }, { "name": "andrey.troeglazov", "homepage": "https://www.drupal.org/user/3145389" @@ -3570,6 +3490,10 @@ "name": "bmack", "homepage": "https://www.drupal.org/user/3594520" }, + { + "name": "DamienMcKenna", + "homepage": "https://www.drupal.org/user/108450" + }, { "name": "dstol", "homepage": "https://www.drupal.org/user/329570" @@ -3578,6 +3502,10 @@ "name": "nerdstein", "homepage": "https://www.drupal.org/user/1557710" }, + { + "name": "NickDickinsonWilde", + "homepage": "https://www.drupal.org/user/3094661" + }, { "name": "rwanth", "homepage": "https://www.drupal.org/user/3564319" @@ -3595,26 +3523,26 @@ }, { "name": "drupal/token", - "version": "1.10.0", + "version": "1.11.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/token.git", - "reference": "8.x-1.10" + "reference": "8.x-1.11" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/token-8.x-1.10.zip", - "reference": "8.x-1.10", - "shasum": "8b81224ab0420221b292e8d3b66d0da726317400" + "url": "https://ftp.drupal.org/files/projects/token-8.x-1.11.zip", + "reference": "8.x-1.11", + "shasum": "da264b36d1f88eb0c74bf84e18e8789854f98400" }, "require": { - "drupal/core": "^8.8 || ^9" + "drupal/core": "^9.2 || ^10" }, "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.10", - "datestamp": "1638619775", + "version": "8.x-1.11", + "datestamp": "1659471813", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -3802,6 +3730,7 @@ "drupal/core": "^8.8 || ^9" }, "require-dev": { + "drupal/ckeditor": "*", "drupal/colorbox": "^1.0", "drupal/video_embed_media": "*" }, @@ -3821,10 +3750,6 @@ "GPL-2.0+" ], "authors": [ - { - "name": "Sam152", - "homepage": "https://www.drupal.org/user/1485048" - }, { "name": "jec006", "homepage": "https://www.drupal.org/user/855980" @@ -3832,6 +3757,10 @@ { "name": "plopesc", "homepage": "https://www.drupal.org/user/282415" + }, + { + "name": "Sam152", + "homepage": "https://www.drupal.org/user/1485048" } ], "description": "A pluggable field type for storing videos from external video hosts such as Vimeo and YouTube.", @@ -3905,20 +3834,20 @@ }, { "name": "drupal/xmlsitemap", - "version": "1.3.0", + "version": "1.4.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/xmlsitemap.git", - "reference": "8.x-1.3" + "reference": "8.x-1.4" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/xmlsitemap-8.x-1.3.zip", - "reference": "8.x-1.3", - "shasum": "a2a20c5aab5682cc369d095cd2e21d67fc46df9b" + "url": "https://ftp.drupal.org/files/projects/xmlsitemap-8.x-1.4.zip", + "reference": "8.x-1.4", + "shasum": "cd010ebdfbdb5b4d51d9fa96bbebd3b310021a1f" }, "require": { - "drupal/core": "^9", + "drupal/core": "^9.3 || ^10", "ext-xmlwriter": "*" }, "require-dev": { @@ -3932,8 +3861,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.3", - "datestamp": "1658327425", + "version": "8.x-1.4", + "datestamp": "1663795747", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -3941,7 +3870,7 @@ }, "drush": { "services": { - "drush.services.yml": "^9 || ^10" + "drush.services.yml": "^10 || ^11" } } }, @@ -4179,16 +4108,16 @@ }, { "name": "guzzlehttp/promises", - "version": "1.5.1", + "version": "1.5.2", "source": { "type": "git", "url": "https://github.com/guzzle/promises.git", - "reference": "fe752aedc9fd8fcca3fe7ad05d419d32998a06da" + "reference": "b94b2807d85443f9719887892882d0329d1e2598" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/fe752aedc9fd8fcca3fe7ad05d419d32998a06da", - "reference": "fe752aedc9fd8fcca3fe7ad05d419d32998a06da", + "url": "https://api.github.com/repos/guzzle/promises/zipball/b94b2807d85443f9719887892882d0329d1e2598", + "reference": "b94b2807d85443f9719887892882d0329d1e2598", "shasum": "" }, "require": { @@ -4243,7 +4172,7 @@ ], "support": { "issues": "https://github.com/guzzle/promises/issues", - "source": "https://github.com/guzzle/promises/tree/1.5.1" + "source": "https://github.com/guzzle/promises/tree/1.5.2" }, "funding": [ { @@ -4259,7 +4188,7 @@ "type": "tidelift" } ], - "time": "2021-10-22T20:56:57+00:00" + "time": "2022-08-28T14:55:35+00:00" }, { "name": "guzzlehttp/psr7", @@ -4670,16 +4599,16 @@ }, { "name": "masterminds/html5", - "version": "2.7.5", + "version": "2.7.6", "source": { "type": "git", "url": "https://github.com/Masterminds/html5-php.git", - "reference": "f640ac1bdddff06ea333a920c95bbad8872429ab" + "reference": "897eb517a343a2281f11bc5556d6548db7d93947" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Masterminds/html5-php/zipball/f640ac1bdddff06ea333a920c95bbad8872429ab", - "reference": "f640ac1bdddff06ea333a920c95bbad8872429ab", + "url": "https://api.github.com/repos/Masterminds/html5-php/zipball/897eb517a343a2281f11bc5556d6548db7d93947", + "reference": "897eb517a343a2281f11bc5556d6548db7d93947", "shasum": "" }, "require": { @@ -4733,9 +4662,9 @@ ], "support": { "issues": "https://github.com/Masterminds/html5-php/issues", - "source": "https://github.com/Masterminds/html5-php/tree/2.7.5" + "source": "https://github.com/Masterminds/html5-php/tree/2.7.6" }, - "time": "2021-07-01T14:25:37+00:00" + "time": "2022-08-18T16:18:26+00:00" }, { "name": "mehrpadin/superfish", @@ -5423,16 +5352,16 @@ }, { "name": "symfony/console", - "version": "v4.4.43", + "version": "v4.4.45", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "8a2628d2d5639f35113dc1b833ecd91e1ed1cf46" + "reference": "28b77970939500fb04180166a1f716e75a871ef8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/8a2628d2d5639f35113dc1b833ecd91e1ed1cf46", - "reference": "8a2628d2d5639f35113dc1b833ecd91e1ed1cf46", + "url": "https://api.github.com/repos/symfony/console/zipball/28b77970939500fb04180166a1f716e75a871ef8", + "reference": "28b77970939500fb04180166a1f716e75a871ef8", "shasum": "" }, "require": { @@ -5493,7 +5422,7 @@ "description": "Eases the creation of beautiful and testable command line interfaces", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/console/tree/v4.4.43" + "source": "https://github.com/symfony/console/tree/v4.4.45" }, "funding": [ { @@ -5509,20 +5438,20 @@ "type": "tidelift" } ], - "time": "2022-06-23T12:22:25+00:00" + "time": "2022-08-17T14:50:19+00:00" }, { "name": "symfony/debug", - "version": "v4.4.41", + "version": "v4.4.44", "source": { "type": "git", "url": "https://github.com/symfony/debug.git", - "reference": "6637e62480b60817b9a6984154a533e8e64c6bd5" + "reference": "1a692492190773c5310bc7877cb590c04c2f05be" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/6637e62480b60817b9a6984154a533e8e64c6bd5", - "reference": "6637e62480b60817b9a6984154a533e8e64c6bd5", + "url": "https://api.github.com/repos/symfony/debug/zipball/1a692492190773c5310bc7877cb590c04c2f05be", + "reference": "1a692492190773c5310bc7877cb590c04c2f05be", "shasum": "" }, "require": { @@ -5561,7 +5490,7 @@ "description": "Provides tools to ease debugging PHP code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/debug/tree/v4.4.41" + "source": "https://github.com/symfony/debug/tree/v4.4.44" }, "funding": [ { @@ -5578,20 +5507,20 @@ } ], "abandoned": "symfony/error-handler", - "time": "2022-04-12T15:19:55+00:00" + "time": "2022-07-28T16:29:46+00:00" }, { "name": "symfony/dependency-injection", - "version": "v4.4.43", + "version": "v4.4.44", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "8d0ae6d87ceea5f3a352413f9d1f71ed2234dcbd" + "reference": "25502a57182ba1e15da0afd64c975cae4d0a1471" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/8d0ae6d87ceea5f3a352413f9d1f71ed2234dcbd", - "reference": "8d0ae6d87ceea5f3a352413f9d1f71ed2234dcbd", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/25502a57182ba1e15da0afd64c975cae4d0a1471", + "reference": "25502a57182ba1e15da0afd64c975cae4d0a1471", "shasum": "" }, "require": { @@ -5648,7 +5577,7 @@ "description": "Allows you to standardize and centralize the way objects are constructed in your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/dependency-injection/tree/v4.4.43" + "source": "https://github.com/symfony/dependency-injection/tree/v4.4.44" }, "funding": [ { @@ -5664,7 +5593,7 @@ "type": "tidelift" } ], - "time": "2022-06-22T15:01:38+00:00" + "time": "2022-07-20T09:59:04+00:00" }, { "name": "symfony/deprecation-contracts", @@ -5735,16 +5664,16 @@ }, { "name": "symfony/error-handler", - "version": "v4.4.41", + "version": "v4.4.44", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "529feb0e03133dbd5fd3707200147cc4903206da" + "reference": "be731658121ef2d8be88f3a1ec938148a9237291" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/529feb0e03133dbd5fd3707200147cc4903206da", - "reference": "529feb0e03133dbd5fd3707200147cc4903206da", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/be731658121ef2d8be88f3a1ec938148a9237291", + "reference": "be731658121ef2d8be88f3a1ec938148a9237291", "shasum": "" }, "require": { @@ -5783,7 +5712,7 @@ "description": "Provides tools to manage errors and ease debugging PHP code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/error-handler/tree/v4.4.41" + "source": "https://github.com/symfony/error-handler/tree/v4.4.44" }, "funding": [ { @@ -5799,20 +5728,20 @@ "type": "tidelift" } ], - "time": "2022-04-12T15:19:55+00:00" + "time": "2022-07-28T16:29:46+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v4.4.42", + "version": "v4.4.44", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "708e761740c16b02c86e3f0c932018a06b895d40" + "reference": "1e866e9e5c1b22168e0ce5f0b467f19bba61266a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/708e761740c16b02c86e3f0c932018a06b895d40", - "reference": "708e761740c16b02c86e3f0c932018a06b895d40", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/1e866e9e5c1b22168e0ce5f0b467f19bba61266a", + "reference": "1e866e9e5c1b22168e0ce5f0b467f19bba61266a", "shasum": "" }, "require": { @@ -5867,7 +5796,7 @@ "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v4.4.42" + "source": "https://github.com/symfony/event-dispatcher/tree/v4.4.44" }, "funding": [ { @@ -5883,7 +5812,7 @@ "type": "tidelift" } ], - "time": "2022-05-05T15:33:49+00:00" + "time": "2022-07-20T09:59:04+00:00" }, { "name": "symfony/event-dispatcher-contracts", @@ -6044,16 +5973,16 @@ }, { "name": "symfony/http-foundation", - "version": "v4.4.43", + "version": "v4.4.46", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "4441dada27f9208e03f449d73cb9253c639e53c5" + "reference": "7acdc97f28a48b96def93af1efd77cfc5e8776dd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/4441dada27f9208e03f449d73cb9253c639e53c5", - "reference": "4441dada27f9208e03f449d73cb9253c639e53c5", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/7acdc97f28a48b96def93af1efd77cfc5e8776dd", + "reference": "7acdc97f28a48b96def93af1efd77cfc5e8776dd", "shasum": "" }, "require": { @@ -6092,7 +6021,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v4.4.43" + "source": "https://github.com/symfony/http-foundation/tree/v4.4.46" }, "funding": [ { @@ -6108,20 +6037,20 @@ "type": "tidelift" } ], - "time": "2022-06-19T13:07:44+00:00" + "time": "2022-09-13T06:14:47+00:00" }, { "name": "symfony/http-kernel", - "version": "v4.4.43", + "version": "v4.4.46", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "c4c33fb9203e6f166ac0f318ce34e00686702522" + "reference": "fb72bc54f300151fadef84fce79764138b1ef943" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/c4c33fb9203e6f166ac0f318ce34e00686702522", - "reference": "c4c33fb9203e6f166ac0f318ce34e00686702522", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/fb72bc54f300151fadef84fce79764138b1ef943", + "reference": "fb72bc54f300151fadef84fce79764138b1ef943", "shasum": "" }, "require": { @@ -6196,7 +6125,7 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v4.4.43" + "source": "https://github.com/symfony/http-kernel/tree/v4.4.46" }, "funding": [ { @@ -6212,20 +6141,20 @@ "type": "tidelift" } ], - "time": "2022-06-26T16:51:30+00:00" + "time": "2022-09-30T07:27:59+00:00" }, { "name": "symfony/mime", - "version": "v5.4.10", + "version": "v5.4.13", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "02265e1e5111c3cd7480387af25e82378b7ab9cc" + "reference": "bb2ccf759e2b967dcd11bdee5bdf30dddd2290bd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/02265e1e5111c3cd7480387af25e82378b7ab9cc", - "reference": "02265e1e5111c3cd7480387af25e82378b7ab9cc", + "url": "https://api.github.com/repos/symfony/mime/zipball/bb2ccf759e2b967dcd11bdee5bdf30dddd2290bd", + "reference": "bb2ccf759e2b967dcd11bdee5bdf30dddd2290bd", "shasum": "" }, "require": { @@ -6279,7 +6208,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v5.4.10" + "source": "https://github.com/symfony/mime/tree/v5.4.13" }, "funding": [ { @@ -6295,7 +6224,7 @@ "type": "tidelift" } ], - "time": "2022-06-09T12:22:40+00:00" + "time": "2022-09-01T18:18:29+00:00" }, { "name": "symfony/polyfill-ctype", @@ -6956,16 +6885,16 @@ }, { "name": "symfony/process", - "version": "v4.4.41", + "version": "v4.4.44", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "9eedd60225506d56e42210a70c21bb80ca8456ce" + "reference": "5cee9cdc4f7805e2699d9fd66991a0e6df8252a2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/9eedd60225506d56e42210a70c21bb80ca8456ce", - "reference": "9eedd60225506d56e42210a70c21bb80ca8456ce", + "url": "https://api.github.com/repos/symfony/process/zipball/5cee9cdc4f7805e2699d9fd66991a0e6df8252a2", + "reference": "5cee9cdc4f7805e2699d9fd66991a0e6df8252a2", "shasum": "" }, "require": { @@ -6998,7 +6927,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v4.4.41" + "source": "https://github.com/symfony/process/tree/v4.4.44" }, "funding": [ { @@ -7014,20 +6943,20 @@ "type": "tidelift" } ], - "time": "2022-04-04T10:19:07+00:00" + "time": "2022-06-27T13:16:42+00:00" }, { "name": "symfony/psr-http-message-bridge", - "version": "v2.1.2", + "version": "v2.1.3", "source": { "type": "git", "url": "https://github.com/symfony/psr-http-message-bridge.git", - "reference": "22b37c8a3f6b5d94e9cdbd88e1270d96e2f97b34" + "reference": "d444f85dddf65c7e57c58d8e5b3a4dbb593b1840" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/22b37c8a3f6b5d94e9cdbd88e1270d96e2f97b34", - "reference": "22b37c8a3f6b5d94e9cdbd88e1270d96e2f97b34", + "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/d444f85dddf65c7e57c58d8e5b3a4dbb593b1840", + "reference": "d444f85dddf65c7e57c58d8e5b3a4dbb593b1840", "shasum": "" }, "require": { @@ -7086,7 +7015,7 @@ ], "support": { "issues": "https://github.com/symfony/psr-http-message-bridge/issues", - "source": "https://github.com/symfony/psr-http-message-bridge/tree/v2.1.2" + "source": "https://github.com/symfony/psr-http-message-bridge/tree/v2.1.3" }, "funding": [ { @@ -7102,20 +7031,20 @@ "type": "tidelift" } ], - "time": "2021-11-05T13:13:39+00:00" + "time": "2022-09-05T10:34:54+00:00" }, { "name": "symfony/routing", - "version": "v4.4.41", + "version": "v4.4.44", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "c25e38d403c00d5ddcfc514f016f1b534abdf052" + "reference": "f7751fd8b60a07f3f349947a309b5bdfce22d6ae" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/c25e38d403c00d5ddcfc514f016f1b534abdf052", - "reference": "c25e38d403c00d5ddcfc514f016f1b534abdf052", + "url": "https://api.github.com/repos/symfony/routing/zipball/f7751fd8b60a07f3f349947a309b5bdfce22d6ae", + "reference": "f7751fd8b60a07f3f349947a309b5bdfce22d6ae", "shasum": "" }, "require": { @@ -7175,7 +7104,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v4.4.41" + "source": "https://github.com/symfony/routing/tree/v4.4.44" }, "funding": [ { @@ -7191,20 +7120,20 @@ "type": "tidelift" } ], - "time": "2022-04-12T15:19:55+00:00" + "time": "2022-07-20T09:59:04+00:00" }, { "name": "symfony/serializer", - "version": "v4.4.43", + "version": "v4.4.45", "source": { "type": "git", "url": "https://github.com/symfony/serializer.git", - "reference": "bd020a578d786952cf5d67f8140dfacc161f58a4" + "reference": "d19621a350491f76e2faed2afb982e0706f63252" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/serializer/zipball/bd020a578d786952cf5d67f8140dfacc161f58a4", - "reference": "bd020a578d786952cf5d67f8140dfacc161f58a4", + "url": "https://api.github.com/repos/symfony/serializer/zipball/d19621a350491f76e2faed2afb982e0706f63252", + "reference": "d19621a350491f76e2faed2afb982e0706f63252", "shasum": "" }, "require": { @@ -7269,7 +7198,7 @@ "description": "Handles serializing and deserializing data structures, including object graphs, into array structures or other formats like XML and JSON.", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/serializer/tree/v4.4.43" + "source": "https://github.com/symfony/serializer/tree/v4.4.45" }, "funding": [ { @@ -7285,7 +7214,7 @@ "type": "tidelift" } ], - "time": "2022-06-24T10:10:05+00:00" + "time": "2022-08-17T14:28:21+00:00" }, { "name": "symfony/service-contracts", @@ -7372,16 +7301,16 @@ }, { "name": "symfony/translation", - "version": "v4.4.41", + "version": "v4.4.45", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "dcb67eae126e74507e0b4f0b9ac6ef35b37c3331" + "reference": "4e6b4c0dbeb04d6f004ed7f43eb0905ce8396def" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/dcb67eae126e74507e0b4f0b9ac6ef35b37c3331", - "reference": "dcb67eae126e74507e0b4f0b9ac6ef35b37c3331", + "url": "https://api.github.com/repos/symfony/translation/zipball/4e6b4c0dbeb04d6f004ed7f43eb0905ce8396def", + "reference": "4e6b4c0dbeb04d6f004ed7f43eb0905ce8396def", "shasum": "" }, "require": { @@ -7441,7 +7370,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v4.4.41" + "source": "https://github.com/symfony/translation/tree/v4.4.45" }, "funding": [ { @@ -7457,7 +7386,7 @@ "type": "tidelift" } ], - "time": "2022-04-21T07:22:34+00:00" + "time": "2022-08-02T12:44:49+00:00" }, { "name": "symfony/translation-contracts", @@ -7539,16 +7468,16 @@ }, { "name": "symfony/validator", - "version": "v4.4.43", + "version": "v4.4.46", "source": { "type": "git", "url": "https://github.com/symfony/validator.git", - "reference": "5ae0de59615dff1896d44bc986ad87600ea121e7" + "reference": "51d06a00a7a8e9c45b91735932040b9f1df2c994" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/validator/zipball/5ae0de59615dff1896d44bc986ad87600ea121e7", - "reference": "5ae0de59615dff1896d44bc986ad87600ea121e7", + "url": "https://api.github.com/repos/symfony/validator/zipball/51d06a00a7a8e9c45b91735932040b9f1df2c994", + "reference": "51d06a00a7a8e9c45b91735932040b9f1df2c994", "shasum": "" }, "require": { @@ -7625,7 +7554,7 @@ "description": "Provides tools to validate values", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/validator/tree/v4.4.43" + "source": "https://github.com/symfony/validator/tree/v4.4.46" }, "funding": [ { @@ -7641,20 +7570,20 @@ "type": "tidelift" } ], - "time": "2022-06-05T18:35:51+00:00" + "time": "2022-09-15T12:26:05+00:00" }, { "name": "symfony/var-dumper", - "version": "v5.4.9", + "version": "v5.4.13", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "af52239a330fafd192c773795520dc2dd62b5657" + "reference": "2bf2ccab581bec363191672f0df40e0c85569e1c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/af52239a330fafd192c773795520dc2dd62b5657", - "reference": "af52239a330fafd192c773795520dc2dd62b5657", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/2bf2ccab581bec363191672f0df40e0c85569e1c", + "reference": "2bf2ccab581bec363191672f0df40e0c85569e1c", "shasum": "" }, "require": { @@ -7714,7 +7643,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v5.4.9" + "source": "https://github.com/symfony/var-dumper/tree/v5.4.13" }, "funding": [ { @@ -7730,20 +7659,20 @@ "type": "tidelift" } ], - "time": "2022-05-21T10:24:18+00:00" + "time": "2022-09-06T13:23:31+00:00" }, { "name": "symfony/yaml", - "version": "v4.4.43", + "version": "v4.4.45", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "07e392f0ef78376d080d5353c081a5e5704835bd" + "reference": "aeccc4dc52a9e634f1d1eebeb21eacfdcff1053d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/07e392f0ef78376d080d5353c081a5e5704835bd", - "reference": "07e392f0ef78376d080d5353c081a5e5704835bd", + "url": "https://api.github.com/repos/symfony/yaml/zipball/aeccc4dc52a9e634f1d1eebeb21eacfdcff1053d", + "reference": "aeccc4dc52a9e634f1d1eebeb21eacfdcff1053d", "shasum": "" }, "require": { @@ -7785,7 +7714,7 @@ "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v4.4.43" + "source": "https://github.com/symfony/yaml/tree/v4.4.45" }, "funding": [ { @@ -7801,20 +7730,20 @@ "type": "tidelift" } ], - "time": "2022-06-20T08:31:17+00:00" + "time": "2022-08-02T15:47:23+00:00" }, { "name": "twig/twig", - "version": "v2.15.1", + "version": "v2.15.3", "source": { "type": "git", "url": "https://github.com/twigphp/Twig.git", - "reference": "3b7cedb2f736899a7dbd0ba3d6da335a015f5cc4" + "reference": "ab402673db8746cb3a4c46f3869d6253699f614a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/3b7cedb2f736899a7dbd0ba3d6da335a015f5cc4", - "reference": "3b7cedb2f736899a7dbd0ba3d6da335a015f5cc4", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/ab402673db8746cb3a4c46f3869d6253699f614a", + "reference": "ab402673db8746cb3a4c46f3869d6253699f614a", "shasum": "" }, "require": { @@ -7869,7 +7798,7 @@ ], "support": { "issues": "https://github.com/twigphp/Twig/issues", - "source": "https://github.com/twigphp/Twig/tree/v2.15.1" + "source": "https://github.com/twigphp/Twig/tree/v2.15.3" }, "funding": [ { @@ -7881,7 +7810,7 @@ "type": "tidelift" } ], - "time": "2022-05-17T05:46:24+00:00" + "time": "2022-09-28T08:40:08+00:00" }, { "name": "typo3/phar-stream-wrapper", @@ -8041,26 +7970,27 @@ }, { "name": "doctrine/collections", - "version": "1.6.8", + "version": "1.8.0", "source": { "type": "git", "url": "https://github.com/doctrine/collections.git", - "reference": "1958a744696c6bb3bb0d28db2611dc11610e78af" + "reference": "2b44dd4cbca8b5744327de78bafef5945c7e7b5e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/collections/zipball/1958a744696c6bb3bb0d28db2611dc11610e78af", - "reference": "1958a744696c6bb3bb0d28db2611dc11610e78af", + "url": "https://api.github.com/repos/doctrine/collections/zipball/2b44dd4cbca8b5744327de78bafef5945c7e7b5e", + "reference": "2b44dd4cbca8b5744327de78bafef5945c7e7b5e", "shasum": "" }, "require": { + "doctrine/deprecations": "^0.5.3 || ^1", "php": "^7.1.3 || ^8.0" }, "require-dev": { - "doctrine/coding-standard": "^9.0", - "phpstan/phpstan": "^0.12", + "doctrine/coding-standard": "^9.0 || ^10.0", + "phpstan/phpstan": "^1.4.8", "phpunit/phpunit": "^7.5 || ^8.5 || ^9.1.5", - "vimeo/psalm": "^4.2.1" + "vimeo/psalm": "^4.22" }, "type": "library", "autoload": { @@ -8104,9 +8034,9 @@ ], "support": { "issues": "https://github.com/doctrine/collections/issues", - "source": "https://github.com/doctrine/collections/tree/1.6.8" + "source": "https://github.com/doctrine/collections/tree/1.8.0" }, - "time": "2021-08-10T18:51:53+00:00" + "time": "2022-09-01T20:12:10+00:00" }, { "name": "doctrine/common", @@ -8210,35 +8140,75 @@ "time": "2020-06-05T16:46:05+00:00" }, { - "name": "doctrine/event-manager", - "version": "1.1.1", + "name": "doctrine/deprecations", + "version": "v1.0.0", "source": { "type": "git", - "url": "https://github.com/doctrine/event-manager.git", - "reference": "41370af6a30faa9dc0368c4a6814d596e81aba7f" + "url": "https://github.com/doctrine/deprecations.git", + "reference": "0e2a4f1f8cdfc7a92ec3b01c9334898c806b30de" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/event-manager/zipball/41370af6a30faa9dc0368c4a6814d596e81aba7f", - "reference": "41370af6a30faa9dc0368c4a6814d596e81aba7f", + "url": "https://api.github.com/repos/doctrine/deprecations/zipball/0e2a4f1f8cdfc7a92ec3b01c9334898c806b30de", + "reference": "0e2a4f1f8cdfc7a92ec3b01c9334898c806b30de", + "shasum": "" + }, + "require": { + "php": "^7.1|^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^9", + "phpunit/phpunit": "^7.5|^8.5|^9.5", + "psr/log": "^1|^2|^3" + }, + "suggest": { + "psr/log": "Allows logging deprecations via PSR-3 logger implementation" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Deprecations\\": "lib/Doctrine/Deprecations" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disable all deprecations or selectively for packages.", + "homepage": "https://www.doctrine-project.org/", + "support": { + "issues": "https://github.com/doctrine/deprecations/issues", + "source": "https://github.com/doctrine/deprecations/tree/v1.0.0" + }, + "time": "2022-05-02T15:47:09+00:00" + }, + { + "name": "doctrine/event-manager", + "version": "1.1.2", + "source": { + "type": "git", + "url": "https://github.com/doctrine/event-manager.git", + "reference": "eb2ecf80e3093e8f3c2769ac838e27d8ede8e683" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/event-manager/zipball/eb2ecf80e3093e8f3c2769ac838e27d8ede8e683", + "reference": "eb2ecf80e3093e8f3c2769ac838e27d8ede8e683", "shasum": "" }, "require": { "php": "^7.1 || ^8.0" }, "conflict": { - "doctrine/common": "<2.9@dev" + "doctrine/common": "<2.9" }, "require-dev": { - "doctrine/coding-standard": "^6.0", - "phpunit/phpunit": "^7.0" + "doctrine/coding-standard": "^9", + "phpstan/phpstan": "~1.4.10 || ^1.5.4", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", + "vimeo/psalm": "^4.22" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, "autoload": { "psr-4": { "Doctrine\\Common\\": "lib/Doctrine/Common" @@ -8285,7 +8255,7 @@ ], "support": { "issues": "https://github.com/doctrine/event-manager/issues", - "source": "https://github.com/doctrine/event-manager/tree/1.1.x" + "source": "https://github.com/doctrine/event-manager/tree/1.1.2" }, "funding": [ { @@ -8301,7 +8271,7 @@ "type": "tidelift" } ], - "time": "2020-05-29T18:28:51+00:00" + "time": "2022-07-27T22:18:11+00:00" }, { "name": "doctrine/inflector", @@ -8503,17 +8473,17 @@ }, { "name": "drupal/devel", - "version": "4.1.5", + "version": "4.2.1", "source": { "type": "git", "url": "https://git.drupalcode.org/project/devel.git", - "reference": "4.1.5" + "reference": "4.2.1" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/devel-4.1.5.zip", - "reference": "4.1.5", - "shasum": "7d0b4397215f615a67ba80aab777e93918d497f9" + "url": "https://ftp.drupal.org/files/projects/devel-4.2.1.zip", + "reference": "4.2.1", + "shasum": "aa08379bad81cb2e604ee9a0b9e2aabd86fae13f" }, "require": { "doctrine/common": "^2.7", @@ -8532,8 +8502,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "4.1.5", - "datestamp": "1646072825", + "version": "4.2.1", + "datestamp": "1664317444", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -8569,27 +8539,27 @@ }, { "name": "drupal/twig_vardumper", - "version": "3.0.2", + "version": "3.1.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/twig_vardumper.git", - "reference": "3.0.2" + "reference": "3.1.0" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/twig_vardumper-3.0.2.zip", - "reference": "3.0.2", - "shasum": "fd9ecc9998c6da40406f77fd41eb4de21f1bccc5" + "url": "https://ftp.drupal.org/files/projects/twig_vardumper-3.1.0.zip", + "reference": "3.1.0", + "shasum": "f573450d1792967cf2cea831b9a47b49f53a4162" }, "require": { - "drupal/core": "^9", - "symfony/var-dumper": "~5" + "drupal/core": "^9 || ^10", + "symfony/var-dumper": "^6|^5" }, "type": "drupal-module", "extra": { "drupal": { - "version": "3.0.2", - "datestamp": "1591885117", + "version": "3.1.0", + "datestamp": "1663153696", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" diff --git a/frontend/drupal9/vendor/composer/autoload_psr4.php b/frontend/drupal9/vendor/composer/autoload_psr4.php index 3ea39b5a3..3c8d70dd6 100755 --- a/frontend/drupal9/vendor/composer/autoload_psr4.php +++ b/frontend/drupal9/vendor/composer/autoload_psr4.php @@ -57,12 +57,13 @@ return array( 'Drupal\\Component\\' => array($baseDir . '/web/core/lib/Drupal/Component'), 'Doctrine\\Persistence\\' => array($vendorDir . '/doctrine/persistence/lib/Doctrine/Persistence'), 'Doctrine\\Inflector\\' => array($vendorDir . '/doctrine/inflector/lib/Doctrine/Inflector'), + 'Doctrine\\Deprecations\\' => array($vendorDir . '/doctrine/deprecations/lib/Doctrine/Deprecations'), 'Doctrine\\Common\\Lexer\\' => array($vendorDir . '/doctrine/lexer/lib/Doctrine/Common/Lexer'), 'Doctrine\\Common\\Inflector\\' => array($vendorDir . '/doctrine/inflector/lib/Doctrine/Common/Inflector'), 'Doctrine\\Common\\Collections\\' => array($vendorDir . '/doctrine/collections/lib/Doctrine/Common/Collections'), 'Doctrine\\Common\\Cache\\' => array($vendorDir . '/doctrine/cache/lib/Doctrine/Common/Cache'), 'Doctrine\\Common\\Annotations\\' => array($vendorDir . '/doctrine/annotations/lib/Doctrine/Common/Annotations'), - 'Doctrine\\Common\\' => array($vendorDir . '/doctrine/common/lib/Doctrine/Common', $vendorDir . '/doctrine/event-manager/lib/Doctrine/Common', $vendorDir . '/doctrine/persistence/lib/Doctrine/Common', $vendorDir . '/doctrine/reflection/lib/Doctrine/Common'), + 'Doctrine\\Common\\' => array($vendorDir . '/doctrine/common/lib/Doctrine/Common', $vendorDir . '/doctrine/persistence/lib/Doctrine/Common', $vendorDir . '/doctrine/reflection/lib/Doctrine/Common', $vendorDir . '/doctrine/event-manager/lib/Doctrine/Common'), 'Composer\\Semver\\' => array($vendorDir . '/composer/semver/src'), 'Composer\\Installers\\' => array($vendorDir . '/composer/installers/src/Composer/Installers'), 'Asm89\\Stack\\' => array($vendorDir . '/asm89/stack-cors/src/Asm89/Stack'), diff --git a/frontend/drupal9/vendor/composer/autoload_static.php b/frontend/drupal9/vendor/composer/autoload_static.php index 2d9ba93ce..0d894779f 100755 --- a/frontend/drupal9/vendor/composer/autoload_static.php +++ b/frontend/drupal9/vendor/composer/autoload_static.php @@ -116,6 +116,7 @@ class ComposerStaticInitd428c8960f3d72900807e718545d9f8d 'Drupal\\Component\\' => 17, 'Doctrine\\Persistence\\' => 21, 'Doctrine\\Inflector\\' => 19, + 'Doctrine\\Deprecations\\' => 22, 'Doctrine\\Common\\Lexer\\' => 22, 'Doctrine\\Common\\Inflector\\' => 26, 'Doctrine\\Common\\Collections\\' => 28, @@ -340,6 +341,10 @@ class ComposerStaticInitd428c8960f3d72900807e718545d9f8d array ( 0 => __DIR__ . '/..' . '/doctrine/inflector/lib/Doctrine/Inflector', ), + 'Doctrine\\Deprecations\\' => + array ( + 0 => __DIR__ . '/..' . '/doctrine/deprecations/lib/Doctrine/Deprecations', + ), 'Doctrine\\Common\\Lexer\\' => array ( 0 => __DIR__ . '/..' . '/doctrine/lexer/lib/Doctrine/Common/Lexer', @@ -363,9 +368,9 @@ class ComposerStaticInitd428c8960f3d72900807e718545d9f8d 'Doctrine\\Common\\' => array ( 0 => __DIR__ . '/..' . '/doctrine/common/lib/Doctrine/Common', - 1 => __DIR__ . '/..' . '/doctrine/event-manager/lib/Doctrine/Common', - 2 => __DIR__ . '/..' . '/doctrine/persistence/lib/Doctrine/Common', - 3 => __DIR__ . '/..' . '/doctrine/reflection/lib/Doctrine/Common', + 1 => __DIR__ . '/..' . '/doctrine/persistence/lib/Doctrine/Common', + 2 => __DIR__ . '/..' . '/doctrine/reflection/lib/Doctrine/Common', + 3 => __DIR__ . '/..' . '/doctrine/event-manager/lib/Doctrine/Common', ), 'Composer\\Semver\\' => array ( diff --git a/frontend/drupal9/vendor/composer/installed.json b/frontend/drupal9/vendor/composer/installed.json index cac1ea46f..ae3d14c51 100755 --- a/frontend/drupal9/vendor/composer/installed.json +++ b/frontend/drupal9/vendor/composer/installed.json @@ -473,29 +473,30 @@ }, { "name": "doctrine/collections", - "version": "1.6.8", - "version_normalized": "1.6.8.0", + "version": "1.8.0", + "version_normalized": "1.8.0.0", "source": { "type": "git", "url": "https://github.com/doctrine/collections.git", - "reference": "1958a744696c6bb3bb0d28db2611dc11610e78af" + "reference": "2b44dd4cbca8b5744327de78bafef5945c7e7b5e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/collections/zipball/1958a744696c6bb3bb0d28db2611dc11610e78af", - "reference": "1958a744696c6bb3bb0d28db2611dc11610e78af", + "url": "https://api.github.com/repos/doctrine/collections/zipball/2b44dd4cbca8b5744327de78bafef5945c7e7b5e", + "reference": "2b44dd4cbca8b5744327de78bafef5945c7e7b5e", "shasum": "" }, "require": { + "doctrine/deprecations": "^0.5.3 || ^1", "php": "^7.1.3 || ^8.0" }, "require-dev": { - "doctrine/coding-standard": "^9.0", - "phpstan/phpstan": "^0.12", + "doctrine/coding-standard": "^9.0 || ^10.0", + "phpstan/phpstan": "^1.4.8", "phpunit/phpunit": "^7.5 || ^8.5 || ^9.1.5", - "vimeo/psalm": "^4.2.1" + "vimeo/psalm": "^4.22" }, - "time": "2021-08-10T18:51:53+00:00", + "time": "2022-09-01T20:12:10+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -539,7 +540,7 @@ ], "support": { "issues": "https://github.com/doctrine/collections/issues", - "source": "https://github.com/doctrine/collections/tree/1.6.8" + "source": "https://github.com/doctrine/collections/tree/1.8.0" }, "install-path": "../doctrine/collections" }, @@ -648,37 +649,80 @@ "install-path": "../doctrine/common" }, { - "name": "doctrine/event-manager", - "version": "1.1.1", - "version_normalized": "1.1.1.0", + "name": "doctrine/deprecations", + "version": "v1.0.0", + "version_normalized": "1.0.0.0", "source": { "type": "git", - "url": "https://github.com/doctrine/event-manager.git", - "reference": "41370af6a30faa9dc0368c4a6814d596e81aba7f" + "url": "https://github.com/doctrine/deprecations.git", + "reference": "0e2a4f1f8cdfc7a92ec3b01c9334898c806b30de" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/event-manager/zipball/41370af6a30faa9dc0368c4a6814d596e81aba7f", - "reference": "41370af6a30faa9dc0368c4a6814d596e81aba7f", + "url": "https://api.github.com/repos/doctrine/deprecations/zipball/0e2a4f1f8cdfc7a92ec3b01c9334898c806b30de", + "reference": "0e2a4f1f8cdfc7a92ec3b01c9334898c806b30de", + "shasum": "" + }, + "require": { + "php": "^7.1|^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^9", + "phpunit/phpunit": "^7.5|^8.5|^9.5", + "psr/log": "^1|^2|^3" + }, + "suggest": { + "psr/log": "Allows logging deprecations via PSR-3 logger implementation" + }, + "time": "2022-05-02T15:47:09+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "psr-4": { + "Doctrine\\Deprecations\\": "lib/Doctrine/Deprecations" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disable all deprecations or selectively for packages.", + "homepage": "https://www.doctrine-project.org/", + "support": { + "issues": "https://github.com/doctrine/deprecations/issues", + "source": "https://github.com/doctrine/deprecations/tree/v1.0.0" + }, + "install-path": "../doctrine/deprecations" + }, + { + "name": "doctrine/event-manager", + "version": "1.1.2", + "version_normalized": "1.1.2.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/event-manager.git", + "reference": "eb2ecf80e3093e8f3c2769ac838e27d8ede8e683" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/event-manager/zipball/eb2ecf80e3093e8f3c2769ac838e27d8ede8e683", + "reference": "eb2ecf80e3093e8f3c2769ac838e27d8ede8e683", "shasum": "" }, "require": { "php": "^7.1 || ^8.0" }, "conflict": { - "doctrine/common": "<2.9@dev" + "doctrine/common": "<2.9" }, "require-dev": { - "doctrine/coding-standard": "^6.0", - "phpunit/phpunit": "^7.0" + "doctrine/coding-standard": "^9", + "phpstan/phpstan": "~1.4.10 || ^1.5.4", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", + "vimeo/psalm": "^4.22" }, - "time": "2020-05-29T18:28:51+00:00", + "time": "2022-07-27T22:18:11+00:00", "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, "installation-source": "dist", "autoload": { "psr-4": { @@ -726,7 +770,7 @@ ], "support": { "issues": "https://github.com/doctrine/event-manager/issues", - "source": "https://github.com/doctrine/event-manager/tree/1.1.x" + "source": "https://github.com/doctrine/event-manager/tree/1.1.2" }, "funding": [ { @@ -1413,17 +1457,17 @@ }, { "name": "drupal/core", - "version": "9.4.3", - "version_normalized": "9.4.3.0", + "version": "9.4.8", + "version_normalized": "9.4.8.0", "source": { "type": "git", "url": "https://github.com/drupal/core.git", - "reference": "7b1a403c093c7abc89ef3df1a6b05bdb19b3ffad" + "reference": "a627d1b2a00f2cef0572e37b94dea298800541f4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/drupal/core/zipball/7b1a403c093c7abc89ef3df1a6b05bdb19b3ffad", - "reference": "7b1a403c093c7abc89ef3df1a6b05bdb19b3ffad", + "url": "https://api.github.com/repos/drupal/core/zipball/a627d1b2a00f2cef0572e37b94dea298800541f4", + "reference": "a627d1b2a00f2cef0572e37b94dea298800541f4", "shasum": "" }, "require": { @@ -1469,7 +1513,7 @@ "symfony/translation": "^4.4", "symfony/validator": "^4.4", "symfony/yaml": "^4.4.19", - "twig/twig": "^2.15", + "twig/twig": "^2.15.3", "typo3/phar-stream-wrapper": "^3.1.3" }, "conflict": { @@ -1477,29 +1521,6 @@ "symfony/http-foundation": "4.4.42" }, "replace": { - "drupal/action": "self.version", - "drupal/aggregator": "self.version", - "drupal/automated_cron": "self.version", - "drupal/ban": "self.version", - "drupal/bartik": "self.version", - "drupal/basic_auth": "self.version", - "drupal/big_pipe": "self.version", - "drupal/block": "self.version", - "drupal/block_content": "self.version", - "drupal/book": "self.version", - "drupal/breakpoint": "self.version", - "drupal/ckeditor": "self.version", - "drupal/ckeditor5": "self.version", - "drupal/claro": "self.version", - "drupal/classy": "self.version", - "drupal/color": "self.version", - "drupal/comment": "self.version", - "drupal/config": "self.version", - "drupal/config_translation": "self.version", - "drupal/contact": "self.version", - "drupal/content_moderation": "self.version", - "drupal/content_translation": "self.version", - "drupal/contextual": "self.version", "drupal/core-annotation": "self.version", "drupal/core-assertion": "self.version", "drupal/core-bridge": "self.version", @@ -1524,77 +1545,9 @@ "drupal/core-transliteration": "self.version", "drupal/core-utility": "self.version", "drupal/core-uuid": "self.version", - "drupal/core-version": "self.version", - "drupal/datetime": "self.version", - "drupal/datetime_range": "self.version", - "drupal/dblog": "self.version", - "drupal/dynamic_page_cache": "self.version", - "drupal/editor": "self.version", - "drupal/entity_reference": "self.version", - "drupal/field": "self.version", - "drupal/field_layout": "self.version", - "drupal/field_ui": "self.version", - "drupal/file": "self.version", - "drupal/filter": "self.version", - "drupal/forum": "self.version", - "drupal/hal": "self.version", - "drupal/help": "self.version", - "drupal/help_topics": "self.version", - "drupal/history": "self.version", - "drupal/image": "self.version", - "drupal/inline_form_errors": "self.version", - "drupal/jsonapi": "self.version", - "drupal/language": "self.version", - "drupal/layout_builder": "self.version", - "drupal/layout_discovery": "self.version", - "drupal/link": "self.version", - "drupal/locale": "self.version", - "drupal/media": "self.version", - "drupal/media_library": "self.version", - "drupal/menu_link_content": "self.version", - "drupal/menu_ui": "self.version", - "drupal/migrate": "self.version", - "drupal/migrate_drupal": "self.version", - "drupal/migrate_drupal_multilingual": "self.version", - "drupal/migrate_drupal_ui": "self.version", - "drupal/minimal": "self.version", - "drupal/mysql": "self.version", - "drupal/node": "self.version", - "drupal/olivero": "self.version", - "drupal/options": "self.version", - "drupal/page_cache": "self.version", - "drupal/path": "self.version", - "drupal/path_alias": "self.version", - "drupal/pgsql": "self.version", - "drupal/quickedit": "self.version", - "drupal/rdf": "self.version", - "drupal/responsive_image": "self.version", - "drupal/rest": "self.version", - "drupal/search": "self.version", - "drupal/serialization": "self.version", - "drupal/settings_tray": "self.version", - "drupal/seven": "self.version", - "drupal/shortcut": "self.version", - "drupal/sqlite": "self.version", - "drupal/standard": "self.version", - "drupal/stark": "self.version", - "drupal/statistics": "self.version", - "drupal/syslog": "self.version", - "drupal/system": "self.version", - "drupal/taxonomy": "self.version", - "drupal/telephone": "self.version", - "drupal/text": "self.version", - "drupal/toolbar": "self.version", - "drupal/tour": "self.version", - "drupal/tracker": "self.version", - "drupal/update": "self.version", - "drupal/user": "self.version", - "drupal/views": "self.version", - "drupal/views_ui": "self.version", - "drupal/workflows": "self.version", - "drupal/workspaces": "self.version" + "drupal/core-version": "self.version" }, - "time": "2022-07-20T15:11:38+00:00", + "time": "2022-10-06T15:57:08+00:00", "type": "drupal-core", "extra": { "drupal-scaffold": { @@ -1668,14 +1621,14 @@ ], "description": "Drupal is an open source content management platform powering millions of websites and applications.", "support": { - "source": "https://github.com/drupal/core/tree/9.4.3" + "source": "https://github.com/drupal/core/tree/9.4.8" }, "install-path": "../../web/core" }, { "name": "drupal/core-composer-scaffold", - "version": "9.4.3", - "version_normalized": "9.4.3.0", + "version": "9.4.8", + "version_normalized": "9.4.8.0", "source": { "type": "git", "url": "https://github.com/drupal/core-composer-scaffold.git", @@ -1721,14 +1674,14 @@ "drupal" ], "support": { - "source": "https://github.com/drupal/core-composer-scaffold/tree/9.4.3" + "source": "https://github.com/drupal/core-composer-scaffold/tree/9.4.8" }, "install-path": "../drupal/core-composer-scaffold" }, { "name": "drupal/core-project-message", - "version": "9.4.3", - "version_normalized": "9.4.3.0", + "version": "9.4.8", + "version_normalized": "9.4.8.0", "source": { "type": "git", "url": "https://github.com/drupal/core-project-message.git", @@ -1765,23 +1718,23 @@ "drupal" ], "support": { - "source": "https://github.com/drupal/core-project-message/tree/9.4.3" + "source": "https://github.com/drupal/core-project-message/tree/9.5.0-beta2" }, "install-path": "../drupal/core-project-message" }, { "name": "drupal/core-recommended", - "version": "9.4.3", - "version_normalized": "9.4.3.0", + "version": "9.4.8", + "version_normalized": "9.4.8.0", "source": { "type": "git", "url": "https://github.com/drupal/core-recommended.git", - "reference": "ff8662af0a5963a88ea856e9786e17a51f8e640c" + "reference": "684cc844f7b729286f5d62f1ee4b20ab12586502" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/drupal/core-recommended/zipball/ff8662af0a5963a88ea856e9786e17a51f8e640c", - "reference": "ff8662af0a5963a88ea856e9786e17a51f8e640c", + "url": "https://api.github.com/repos/drupal/core-recommended/zipball/684cc844f7b729286f5d62f1ee4b20ab12586502", + "reference": "684cc844f7b729286f5d62f1ee4b20ab12586502", "shasum": "" }, "require": { @@ -1790,12 +1743,12 @@ "doctrine/annotations": "~1.13.2", "doctrine/lexer": "~1.2.3", "doctrine/reflection": "~1.2.3", - "drupal/core": "9.4.3", + "drupal/core": "9.4.8", "egulias/email-validator": "~3.2", "guzzlehttp/guzzle": "~6.5.8", "guzzlehttp/promises": "~1.5.1", "guzzlehttp/psr7": "~1.9.0", - "laminas/laminas-diactoros": "~2.11.0", + "laminas/laminas-diactoros": "~2.11.1", "laminas/laminas-escaper": "~2.9.0", "laminas/laminas-feed": "~2.17.0", "laminas/laminas-stdlib": "~3.7.1", @@ -1839,13 +1792,13 @@ "symfony/validator": "~v4.4.41", "symfony/var-dumper": "~v5.4.9", "symfony/yaml": "~v4.4.37", - "twig/twig": "~v2.15.1", + "twig/twig": "~v2.15.3", "typo3/phar-stream-wrapper": "~v3.1.7" }, "conflict": { "webflo/drupal-core-strict": "*" }, - "time": "2022-07-20T15:11:38+00:00", + "time": "2022-10-06T15:57:08+00:00", "type": "metapackage", "notification-url": "https://packagist.org/downloads/", "license": [ @@ -1853,33 +1806,33 @@ ], "description": "Core and its dependencies with known-compatible minor versions. Require this project INSTEAD OF drupal/core.", "support": { - "source": "https://github.com/drupal/core-recommended/tree/9.4.3" + "source": "https://github.com/drupal/core-recommended/tree/9.4.8" }, "install-path": null }, { "name": "drupal/ctools", - "version": "3.8.0", - "version_normalized": "3.8.0.0", + "version": "3.11.0", + "version_normalized": "3.11.0.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/ctools.git", - "reference": "8.x-3.8" + "reference": "8.x-3.11" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/ctools-8.x-3.8.zip", - "reference": "8.x-3.8", - "shasum": "514fdf5c221ead030cc407c39c2950029cea4eb3" + "url": "https://ftp.drupal.org/files/projects/ctools-8.x-3.11.zip", + "reference": "8.x-3.11", + "shasum": "67da670df43155d1e15c80c7b0e326b3049ac5a2" }, "require": { - "drupal/core": "^8.8 || ^9" + "drupal/core": "^9.3 || ^10" }, "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-3.8", - "datestamp": "1656633722", + "version": "8.x-3.11", + "datestamp": "1660167573", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -1955,18 +1908,18 @@ }, { "name": "drupal/devel", - "version": "4.1.5", - "version_normalized": "4.1.5.0", + "version": "4.2.1", + "version_normalized": "4.2.1.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/devel.git", - "reference": "4.1.5" + "reference": "4.2.1" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/devel-4.1.5.zip", - "reference": "4.1.5", - "shasum": "7d0b4397215f615a67ba80aab777e93918d497f9" + "url": "https://ftp.drupal.org/files/projects/devel-4.2.1.zip", + "reference": "4.2.1", + "shasum": "aa08379bad81cb2e604ee9a0b9e2aabd86fae13f" }, "require": { "doctrine/common": "^2.7", @@ -1985,8 +1938,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "4.1.5", - "datestamp": "1646072825", + "version": "4.2.1", + "datestamp": "1664317444", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -2024,31 +1977,31 @@ }, { "name": "drupal/ds", - "version": "3.13.0", - "version_normalized": "3.13.0.0", + "version": "3.15.0", + "version_normalized": "3.15.0.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/ds.git", - "reference": "8.x-3.13" + "reference": "8.x-3.15" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/ds-8.x-3.13.zip", - "reference": "8.x-3.13", - "shasum": "86c87f1bf845d26594ae3ce0061d8f311bdce73c" + "url": "https://ftp.drupal.org/files/projects/ds-8.x-3.15.zip", + "reference": "8.x-3.15", + "shasum": "cf7ee6bde717dc2d7f10d5f834ca29fb80285d0d" }, "require": { - "drupal/core": "^8.8 || ^9" + "drupal/core": "^9 || ^10" }, "require-dev": { - "drupal/devel": "3.x-dev", - "drupal/field_group": "3.x-dev" + "drupal/classy": "^1.0", + "drupal/devel": "5.x-dev" }, "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-3.13", - "datestamp": "1624456614", + "version": "8.x-3.15", + "datestamp": "1662818537", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -2097,27 +2050,27 @@ }, { "name": "drupal/entity", - "version": "1.3.0", - "version_normalized": "1.3.0.0", + "version": "1.4.0", + "version_normalized": "1.4.0.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/entity.git", - "reference": "8.x-1.3" + "reference": "8.x-1.4" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/entity-8.x-1.3.zip", - "reference": "8.x-1.3", - "shasum": "9515e28a70448d369adf4199d08a01a5ab75792d" + "url": "https://ftp.drupal.org/files/projects/entity-8.x-1.4.zip", + "reference": "8.x-1.4", + "shasum": "1cf7712318fad144eab106a8fcfcd396aeb5676f" }, "require": { - "drupal/core": "^8.8.2 || ^9" + "drupal/core": "^9.2|^10.0" }, "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.3", - "datestamp": "1646324539", + "version": "8.x-1.4", + "datestamp": "1661898023", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -2134,10 +2087,6 @@ "name": "Berdir", "homepage": "https://www.drupal.org/user/214652" }, - { - "name": "TR", - "homepage": "https://www.drupal.org/user/202830" - }, { "name": "bojanz", "homepage": "https://www.drupal.org/user/86106" @@ -2157,6 +2106,10 @@ { "name": "mglaman", "homepage": "https://www.drupal.org/user/2416470" + }, + { + "name": "TR", + "homepage": "https://www.drupal.org/user/202830" } ], "description": "Provides expanded entity APIs, which will be moved to Drupal core one day.", @@ -2169,27 +2122,33 @@ }, { "name": "drupal/entity_clone", - "version": "1.0.0-beta6", - "version_normalized": "1.0.0.0-beta6", + "version": "1.0.0-beta7", + "version_normalized": "1.0.0.0-beta7", "source": { "type": "git", "url": "https://git.drupalcode.org/project/entity_clone.git", - "reference": "8.x-1.0-beta6" + "reference": "8.x-1.0-beta7" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/entity_clone-8.x-1.0-beta6.zip", - "reference": "8.x-1.0-beta6", - "shasum": "35d04649b6fb349df761abab37506a94f172981f" + "url": "https://ftp.drupal.org/files/projects/entity_clone-8.x-1.0-beta7.zip", + "reference": "8.x-1.0-beta7", + "shasum": "964b72b21a7e219cf337743ed5c8850235197594" }, "require": { "drupal/core": "^8 || ^9" }, + "require-dev": { + "drupal/entity_browser": "2.x-dev", + "drupal/entity_usage": "2.x-dev", + "drupal/paragraphs": "^1.0", + "drupal/search_api": "~1.0" + }, "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.0-beta6", - "datestamp": "1617209997", + "version": "8.x-1.0-beta7", + "datestamp": "1663573486", "security-coverage": { "status": "not-covered", "message": "Beta releases are not covered by Drupal security advisories." @@ -2202,21 +2161,29 @@ "GPL-2.0-or-later" ], "authors": [ + { + "name": "colan", + "homepage": "https://www.drupal.org/user/58704" + }, { "name": "NickDickinsonWilde", "homepage": "https://www.drupal.org/user/3094661" }, { - "name": "colan", - "homepage": "https://www.drupal.org/user/58704" + "name": "Rajeshreeputra", + "homepage": "https://www.drupal.org/user/3418561" + }, + { + "name": "Upchuk", + "homepage": "https://www.drupal.org/user/1885838" }, { "name": "vpeltot", "homepage": "https://www.drupal.org/user/1361586" } ], - "description": "Add a clone action for all entities", - "homepage": "https://www.drupal.org/project/entity_clone", + "description": "Add a clone action for all entities.", + "homepage": "https://drupal.org/project/entity_clone", "support": { "source": "https://git.drupalcode.org/project/entity_clone" }, @@ -2224,27 +2191,27 @@ }, { "name": "drupal/eu_cookie_compliance", - "version": "1.19.0", - "version_normalized": "1.19.0.0", + "version": "1.23.0", + "version_normalized": "1.23.0.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/eu-cookie-compliance.git", - "reference": "8.x-1.19" + "reference": "8.x-1.23" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/eu_cookie_compliance-8.x-1.19.zip", - "reference": "8.x-1.19", - "shasum": "5a13cd53f87a58501cebd6e560c280ad7274035c" + "url": "https://ftp.drupal.org/files/projects/eu_cookie_compliance-8.x-1.23.zip", + "reference": "8.x-1.23", + "shasum": "9120b5333ea3f79f3e3d5dfb7842a364d36f9247" }, "require": { - "drupal/core": "^8.9 || ^9" + "drupal/core": "^8.9 || ^9 || ^10" }, "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.19", - "datestamp": "1633775773", + "version": "8.x-1.23", + "datestamp": "1663783353", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -2671,18 +2638,18 @@ }, { "name": "drupal/imce", - "version": "2.4.0", - "version_normalized": "2.4.0.0", + "version": "2.5.0", + "version_normalized": "2.5.0.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/imce.git", - "reference": "8.x-2.4" + "reference": "8.x-2.5" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/imce-8.x-2.4.zip", - "reference": "8.x-2.4", - "shasum": "2797d6a669b739490edd00c753303cd9263f8dc3" + "url": "https://ftp.drupal.org/files/projects/imce-8.x-2.5.zip", + "reference": "8.x-2.5", + "shasum": "0326482a1d6cb5f52ed00473bc5693e192149fdb" }, "require": { "drupal/core": "^8.8 || ^9" @@ -2690,8 +2657,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-2.4", - "datestamp": "1618251147", + "version": "8.x-2.5", + "datestamp": "1664293755", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -2724,18 +2691,18 @@ }, { "name": "drupal/insert_view", - "version": "2.0.0", - "version_normalized": "2.0.0.0", + "version": "2.0.1", + "version_normalized": "2.0.1.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/insert_view.git", - "reference": "2.0.0" + "reference": "2.0.1" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/insert_view-2.0.0.zip", - "reference": "2.0.0", - "shasum": "b128be3a80d651f8557a921ee8bf44c651a7d460" + "url": "https://ftp.drupal.org/files/projects/insert_view-2.0.1.zip", + "reference": "2.0.1", + "shasum": "8ee1cb7cdbf2a068165441541cabef3a97cf96e7" }, "require": { "drupal/core": "^8.8 || ^9" @@ -2743,8 +2710,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "2.0.0", - "datestamp": "1603889264", + "version": "2.0.1", + "datestamp": "1664469522", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -2779,16 +2746,16 @@ "role": "Maintainer" }, { - "name": "drewish", - "homepage": "https://www.drupal.org/user/34869" - }, - { - "name": "mlsamuelson", - "homepage": "https://www.drupal.org/user/47411" + "name": "Pasqualle", + "homepage": "https://www.drupal.org/user/80733" }, { "name": "paulocs", "homepage": "https://www.drupal.org/user/3640109" + }, + { + "name": "RenatoG", + "homepage": "https://www.drupal.org/user/3326031" } ], "description": "Input filter which allows to embed views.", @@ -3429,38 +3396,39 @@ }, { "name": "drupal/metatag", - "version": "1.21.0", - "version_normalized": "1.21.0.0", + "version": "1.22.0", + "version_normalized": "1.22.0.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/metatag.git", - "reference": "8.x-1.21" + "reference": "8.x-1.22" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/metatag-8.x-1.21.zip", - "reference": "8.x-1.21", - "shasum": "677ff7384b557390d4d1a36f335452e8172f741d" + "url": "https://ftp.drupal.org/files/projects/metatag-8.x-1.22.zip", + "reference": "8.x-1.22", + "shasum": "045cd6a4aa5048bfd6d47584eae1210eab9ba1fa" }, "require": { - "drupal/core": "^9", - "drupal/token": "^1.0", - "php": ">=7.0" + "drupal/core": "^9.3 || ^10", + "drupal/token": "^1.0" }, "require-dev": { - "drupal/devel": "^4.0", + "drupal/devel": "^4.0 || ^5.0", + "drupal/hal": "^9 || ^1 || ^2", "drupal/metatag_dc": "*", "drupal/metatag_open_graph": "*", - "drupal/page_manager": "4.x-dev", - "drupal/panelizer": "4.x-dev", - "drupal/redirect": "1.x-dev", + "drupal/page_manager": "^4.0", + "drupal/panelizer": "^4.0", + "drupal/redirect": "^1.0", + "drupal/webprofiler": "^9 || ^10", "mpyw/phpunit-patch-serializable-comparison": "*" }, "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.21", - "datestamp": "1657971667", + "version": "8.x-1.22", + "datestamp": "1664472988", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -3498,21 +3466,21 @@ }, { "name": "drupal/pathauto", - "version": "1.10.0", - "version_normalized": "1.10.0.0", + "version": "1.11.0", + "version_normalized": "1.11.0.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/pathauto.git", - "reference": "8.x-1.10" + "reference": "8.x-1.11" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/pathauto-8.x-1.10.zip", - "reference": "8.x-1.10", - "shasum": "f49d5fbcd7a2c1b4de1da07194fe01d9012237ec" + "url": "https://ftp.drupal.org/files/projects/pathauto-8.x-1.11.zip", + "reference": "8.x-1.11", + "shasum": "a006fe9e6046a9833711a1ae56aa4752e65bcdc8" }, "require": { - "drupal/core": "^8.8 || ^9", + "drupal/core": "^9.3 || ^10", "drupal/ctools": "*", "drupal/token": "*" }, @@ -3522,8 +3490,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.10", - "datestamp": "1650806739", + "version": "8.x-1.11", + "datestamp": "1660129564", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -3569,18 +3537,18 @@ }, { "name": "drupal/publication_date", - "version": "2.0.0-beta4", - "version_normalized": "2.0.0.0-beta4", + "version": "2.0.0-beta5", + "version_normalized": "2.0.0.0-beta5", "source": { "type": "git", "url": "https://git.drupalcode.org/project/publication_date.git", - "reference": "8.x-2.0-beta4" + "reference": "8.x-2.0-beta5" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/publication_date-8.x-2.0-beta4.zip", - "reference": "8.x-2.0-beta4", - "shasum": "155c4491200c95c1f2b58e4534996f93f459b951" + "url": "https://ftp.drupal.org/files/projects/publication_date-8.x-2.0-beta5.zip", + "reference": "8.x-2.0-beta5", + "shasum": "0add730f353d15fa13a13a9a463b431e6f5a663e" }, "require": { "drupal/core": "^8 || ^9" @@ -3588,8 +3556,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-2.0-beta4", - "datestamp": "1645141218", + "version": "8.x-2.0-beta5", + "datestamp": "1661984596", "security-coverage": { "status": "not-covered", "message": "Beta releases are not covered by Drupal security advisories." @@ -3606,10 +3574,6 @@ "name": "Clever Age", "homepage": "https://www.drupal.org/user/547746" }, - { - "name": "Sheldon Rampton", - "homepage": "https://www.drupal.org/user/13085" - }, { "name": "dgtlmoon", "homepage": "https://www.drupal.org/user/25027" @@ -3618,6 +3582,10 @@ "name": "jstoller", "homepage": "https://www.drupal.org/user/99012" }, + { + "name": "Sheldon Rampton", + "homepage": "https://www.drupal.org/user/13085" + }, { "name": "tmarly", "homepage": "https://www.drupal.org/user/159040" @@ -3728,27 +3696,27 @@ }, { "name": "drupal/redirect", - "version": "1.7.0", - "version_normalized": "1.7.0.0", + "version": "1.8.0", + "version_normalized": "1.8.0.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/redirect.git", - "reference": "8.x-1.7" + "reference": "8.x-1.8" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/redirect-8.x-1.7.zip", - "reference": "8.x-1.7", - "shasum": "013b2541a5ef0cf423a3caa1ae89cc5866504877" + "url": "https://ftp.drupal.org/files/projects/redirect-8.x-1.8.zip", + "reference": "8.x-1.8", + "shasum": "a7a440423434472ff7115ae69df01553f763f839" }, "require": { - "drupal/core": "^8.8 || ^9" + "drupal/core": "^9.2 || ^10" }, "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.7", - "datestamp": "1639380488", + "version": "8.x-1.8", + "datestamp": "1661806955", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -4024,21 +3992,21 @@ }, { "name": "drupal/search_api", - "version": "1.25.0", - "version_normalized": "1.25.0.0", + "version": "1.26.0", + "version_normalized": "1.26.0.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/search_api.git", - "reference": "8.x-1.25" + "reference": "8.x-1.26" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/search_api-8.x-1.25.zip", - "reference": "8.x-1.25", - "shasum": "823bf5a6010cd08c7d1b287fcd855fbf81140e39" + "url": "https://ftp.drupal.org/files/projects/search_api-8.x-1.26.zip", + "reference": "8.x-1.26", + "shasum": "a37f4ac23f7f0517df85fd450b4a9a50333ae93d" }, "require": { - "drupal/core": "^9.2 || ^10.0" + "drupal/core": "^9.3 || ^10.0" }, "conflict": { "drupal/search_api_solr": "2.* || 3.0 || 3.1" @@ -4056,8 +4024,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.25", - "datestamp": "1658149514", + "version": "8.x-1.26", + "datestamp": "1664975343", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -4099,8 +4067,8 @@ }, { "name": "drupal/search_api_db", - "version": "1.25.0", - "version_normalized": "1.25.0.0", + "version": "1.26.0", + "version_normalized": "1.26.0.0", "require": { "drupal/core": "^9.2 || ^10.0", "drupal/search_api": "*" @@ -4108,8 +4076,8 @@ "type": "metapackage", "extra": { "drupal": { - "version": "8.x-1.25", - "datestamp": "1658149514", + "version": "8.x-1.26", + "datestamp": "1664975343", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -4202,28 +4170,28 @@ }, { "name": "drupal/search_api_stats", - "version": "1.0.0-alpha2", - "version_normalized": "1.0.0.0-alpha2", + "version": "1.0.0-alpha3", + "version_normalized": "1.0.0.0-alpha3", "source": { "type": "git", "url": "https://git.drupalcode.org/project/search_api_stats.git", - "reference": "8.x-1.0-alpha2" + "reference": "8.x-1.0-alpha3" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/search_api_stats-8.x-1.0-alpha2.zip", - "reference": "8.x-1.0-alpha2", - "shasum": "94c90a66d8e8900c27dcb7b985989e376e39db2a" + "url": "https://ftp.drupal.org/files/projects/search_api_stats-8.x-1.0-alpha3.zip", + "reference": "8.x-1.0-alpha3", + "shasum": "aa8b4d69af9a887914ccc23258bcb173e4709f49" }, "require": { - "drupal/core": "^8 || ^9", + "drupal/core": "^8 || ^9 || ^10", "drupal/search_api": "*" }, "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.0-alpha2", - "datestamp": "1620135868", + "version": "8.x-1.0-alpha3", + "datestamp": "1659520266", "security-coverage": { "status": "not-covered", "message": "Alpha releases are not covered by Drupal security advisories." @@ -4313,10 +4281,10 @@ "source": { "type": "git", "url": "https://git.drupalcode.org/project/taxonomy_menu.git", - "reference": "a1e0bf3ed5d1c8b913da2d2a3402ea165a82a464" + "reference": "7278a43dd7d36972ed39cf2aef0e2fb6556a66fa" }, "require": { - "drupal/core": "^8 || ^9" + "drupal/core": "^9.1 || ^10" }, "type": "drupal-module", "extra": { @@ -4324,8 +4292,8 @@ "dev-3.x": "3.x-dev" }, "drupal": { - "version": "8.x-3.4+24-dev", - "datestamp": "1631709187", + "version": "8.x-3.5+2-dev", + "datestamp": "1665077150", "security-coverage": { "status": "not-covered", "message": "Dev releases are not covered by Drupal security advisories." @@ -4338,14 +4306,6 @@ "GPL-2.0+" ], "authors": [ - { - "name": "DamienMcKenna", - "homepage": "https://www.drupal.org/user/108450" - }, - { - "name": "NickDickinsonWilde", - "homepage": "https://www.drupal.org/user/3094661" - }, { "name": "andrey.troeglazov", "homepage": "https://www.drupal.org/user/3145389" @@ -4358,6 +4318,10 @@ "name": "bmack", "homepage": "https://www.drupal.org/user/3594520" }, + { + "name": "DamienMcKenna", + "homepage": "https://www.drupal.org/user/108450" + }, { "name": "dstol", "homepage": "https://www.drupal.org/user/329570" @@ -4366,6 +4330,10 @@ "name": "nerdstein", "homepage": "https://www.drupal.org/user/1557710" }, + { + "name": "NickDickinsonWilde", + "homepage": "https://www.drupal.org/user/3094661" + }, { "name": "rwanth", "homepage": "https://www.drupal.org/user/3564319" @@ -4384,27 +4352,27 @@ }, { "name": "drupal/token", - "version": "1.10.0", - "version_normalized": "1.10.0.0", + "version": "1.11.0", + "version_normalized": "1.11.0.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/token.git", - "reference": "8.x-1.10" + "reference": "8.x-1.11" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/token-8.x-1.10.zip", - "reference": "8.x-1.10", - "shasum": "8b81224ab0420221b292e8d3b66d0da726317400" + "url": "https://ftp.drupal.org/files/projects/token-8.x-1.11.zip", + "reference": "8.x-1.11", + "shasum": "da264b36d1f88eb0c74bf84e18e8789854f98400" }, "require": { - "drupal/core": "^8.8 || ^9" + "drupal/core": "^9.2 || ^10" }, "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.10", - "datestamp": "1638619775", + "version": "8.x-1.11", + "datestamp": "1659471813", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -4524,28 +4492,28 @@ }, { "name": "drupal/twig_vardumper", - "version": "3.0.2", - "version_normalized": "3.0.2.0", + "version": "3.1.0", + "version_normalized": "3.1.0.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/twig_vardumper.git", - "reference": "3.0.2" + "reference": "3.1.0" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/twig_vardumper-3.0.2.zip", - "reference": "3.0.2", - "shasum": "fd9ecc9998c6da40406f77fd41eb4de21f1bccc5" + "url": "https://ftp.drupal.org/files/projects/twig_vardumper-3.1.0.zip", + "reference": "3.1.0", + "shasum": "f573450d1792967cf2cea831b9a47b49f53a4162" }, "require": { - "drupal/core": "^9", - "symfony/var-dumper": "~5" + "drupal/core": "^9 || ^10", + "symfony/var-dumper": "^6|^5" }, "type": "drupal-module", "extra": { "drupal": { - "version": "3.0.2", - "datestamp": "1591885117", + "version": "3.1.0", + "datestamp": "1663153696", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -4764,21 +4732,21 @@ }, { "name": "drupal/xmlsitemap", - "version": "1.3.0", - "version_normalized": "1.3.0.0", + "version": "1.4.0", + "version_normalized": "1.4.0.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/xmlsitemap.git", - "reference": "8.x-1.3" + "reference": "8.x-1.4" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/xmlsitemap-8.x-1.3.zip", - "reference": "8.x-1.3", - "shasum": "a2a20c5aab5682cc369d095cd2e21d67fc46df9b" + "url": "https://ftp.drupal.org/files/projects/xmlsitemap-8.x-1.4.zip", + "reference": "8.x-1.4", + "shasum": "cd010ebdfbdb5b4d51d9fa96bbebd3b310021a1f" }, "require": { - "drupal/core": "^9", + "drupal/core": "^9.3 || ^10", "ext-xmlwriter": "*" }, "require-dev": { @@ -4792,8 +4760,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.3", - "datestamp": "1658327425", + "version": "8.x-1.4", + "datestamp": "1663795747", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -4801,7 +4769,7 @@ }, "drush": { "services": { - "drush.services.yml": "^9 || ^10" + "drush.services.yml": "^10 || ^11" } } }, @@ -5047,17 +5015,17 @@ }, { "name": "guzzlehttp/promises", - "version": "1.5.1", - "version_normalized": "1.5.1.0", + "version": "1.5.2", + "version_normalized": "1.5.2.0", "source": { "type": "git", "url": "https://github.com/guzzle/promises.git", - "reference": "fe752aedc9fd8fcca3fe7ad05d419d32998a06da" + "reference": "b94b2807d85443f9719887892882d0329d1e2598" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/fe752aedc9fd8fcca3fe7ad05d419d32998a06da", - "reference": "fe752aedc9fd8fcca3fe7ad05d419d32998a06da", + "url": "https://api.github.com/repos/guzzle/promises/zipball/b94b2807d85443f9719887892882d0329d1e2598", + "reference": "b94b2807d85443f9719887892882d0329d1e2598", "shasum": "" }, "require": { @@ -5066,7 +5034,7 @@ "require-dev": { "symfony/phpunit-bridge": "^4.4 || ^5.1" }, - "time": "2021-10-22T20:56:57+00:00", + "time": "2022-08-28T14:55:35+00:00", "type": "library", "extra": { "branch-alias": { @@ -5114,7 +5082,7 @@ ], "support": { "issues": "https://github.com/guzzle/promises/issues", - "source": "https://github.com/guzzle/promises/tree/1.5.1" + "source": "https://github.com/guzzle/promises/tree/1.5.2" }, "funding": [ { @@ -5556,17 +5524,17 @@ }, { "name": "masterminds/html5", - "version": "2.7.5", - "version_normalized": "2.7.5.0", + "version": "2.7.6", + "version_normalized": "2.7.6.0", "source": { "type": "git", "url": "https://github.com/Masterminds/html5-php.git", - "reference": "f640ac1bdddff06ea333a920c95bbad8872429ab" + "reference": "897eb517a343a2281f11bc5556d6548db7d93947" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Masterminds/html5-php/zipball/f640ac1bdddff06ea333a920c95bbad8872429ab", - "reference": "f640ac1bdddff06ea333a920c95bbad8872429ab", + "url": "https://api.github.com/repos/Masterminds/html5-php/zipball/897eb517a343a2281f11bc5556d6548db7d93947", + "reference": "897eb517a343a2281f11bc5556d6548db7d93947", "shasum": "" }, "require": { @@ -5578,7 +5546,7 @@ "require-dev": { "phpunit/phpunit": "^4.8.35 || ^5.7.21 || ^6 || ^7" }, - "time": "2021-07-01T14:25:37+00:00", + "time": "2022-08-18T16:18:26+00:00", "type": "library", "extra": { "branch-alias": { @@ -5622,7 +5590,7 @@ ], "support": { "issues": "https://github.com/Masterminds/html5-php/issues", - "source": "https://github.com/Masterminds/html5-php/tree/2.7.5" + "source": "https://github.com/Masterminds/html5-php/tree/2.7.6" }, "install-path": "../masterminds/html5" }, @@ -6333,17 +6301,17 @@ }, { "name": "symfony/console", - "version": "v4.4.43", - "version_normalized": "4.4.43.0", + "version": "v4.4.45", + "version_normalized": "4.4.45.0", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "8a2628d2d5639f35113dc1b833ecd91e1ed1cf46" + "reference": "28b77970939500fb04180166a1f716e75a871ef8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/8a2628d2d5639f35113dc1b833ecd91e1ed1cf46", - "reference": "8a2628d2d5639f35113dc1b833ecd91e1ed1cf46", + "url": "https://api.github.com/repos/symfony/console/zipball/28b77970939500fb04180166a1f716e75a871ef8", + "reference": "28b77970939500fb04180166a1f716e75a871ef8", "shasum": "" }, "require": { @@ -6378,7 +6346,7 @@ "symfony/lock": "", "symfony/process": "" }, - "time": "2022-06-23T12:22:25+00:00", + "time": "2022-08-17T14:50:19+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -6406,7 +6374,7 @@ "description": "Eases the creation of beautiful and testable command line interfaces", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/console/tree/v4.4.43" + "source": "https://github.com/symfony/console/tree/v4.4.45" }, "funding": [ { @@ -6426,17 +6394,17 @@ }, { "name": "symfony/debug", - "version": "v4.4.41", - "version_normalized": "4.4.41.0", + "version": "v4.4.44", + "version_normalized": "4.4.44.0", "source": { "type": "git", "url": "https://github.com/symfony/debug.git", - "reference": "6637e62480b60817b9a6984154a533e8e64c6bd5" + "reference": "1a692492190773c5310bc7877cb590c04c2f05be" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/6637e62480b60817b9a6984154a533e8e64c6bd5", - "reference": "6637e62480b60817b9a6984154a533e8e64c6bd5", + "url": "https://api.github.com/repos/symfony/debug/zipball/1a692492190773c5310bc7877cb590c04c2f05be", + "reference": "1a692492190773c5310bc7877cb590c04c2f05be", "shasum": "" }, "require": { @@ -6449,7 +6417,7 @@ "require-dev": { "symfony/http-kernel": "^3.4|^4.0|^5.0" }, - "time": "2022-04-12T15:19:55+00:00", + "time": "2022-07-28T16:29:46+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -6477,7 +6445,7 @@ "description": "Provides tools to ease debugging PHP code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/debug/tree/v4.4.41" + "source": "https://github.com/symfony/debug/tree/v4.4.44" }, "funding": [ { @@ -6498,17 +6466,17 @@ }, { "name": "symfony/dependency-injection", - "version": "v4.4.43", - "version_normalized": "4.4.43.0", + "version": "v4.4.44", + "version_normalized": "4.4.44.0", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "8d0ae6d87ceea5f3a352413f9d1f71ed2234dcbd" + "reference": "25502a57182ba1e15da0afd64c975cae4d0a1471" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/8d0ae6d87ceea5f3a352413f9d1f71ed2234dcbd", - "reference": "8d0ae6d87ceea5f3a352413f9d1f71ed2234dcbd", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/25502a57182ba1e15da0afd64c975cae4d0a1471", + "reference": "25502a57182ba1e15da0afd64c975cae4d0a1471", "shasum": "" }, "require": { @@ -6539,7 +6507,7 @@ "symfony/proxy-manager-bridge": "Generate service proxies to lazy load them", "symfony/yaml": "" }, - "time": "2022-06-22T15:01:38+00:00", + "time": "2022-07-20T09:59:04+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -6567,7 +6535,7 @@ "description": "Allows you to standardize and centralize the way objects are constructed in your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/dependency-injection/tree/v4.4.43" + "source": "https://github.com/symfony/dependency-injection/tree/v4.4.44" }, "funding": [ { @@ -6657,17 +6625,17 @@ }, { "name": "symfony/error-handler", - "version": "v4.4.41", - "version_normalized": "4.4.41.0", + "version": "v4.4.44", + "version_normalized": "4.4.44.0", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "529feb0e03133dbd5fd3707200147cc4903206da" + "reference": "be731658121ef2d8be88f3a1ec938148a9237291" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/529feb0e03133dbd5fd3707200147cc4903206da", - "reference": "529feb0e03133dbd5fd3707200147cc4903206da", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/be731658121ef2d8be88f3a1ec938148a9237291", + "reference": "be731658121ef2d8be88f3a1ec938148a9237291", "shasum": "" }, "require": { @@ -6680,7 +6648,7 @@ "symfony/http-kernel": "^4.4|^5.0", "symfony/serializer": "^4.4|^5.0" }, - "time": "2022-04-12T15:19:55+00:00", + "time": "2022-07-28T16:29:46+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -6708,7 +6676,7 @@ "description": "Provides tools to manage errors and ease debugging PHP code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/error-handler/tree/v4.4.41" + "source": "https://github.com/symfony/error-handler/tree/v4.4.44" }, "funding": [ { @@ -6728,17 +6696,17 @@ }, { "name": "symfony/event-dispatcher", - "version": "v4.4.42", - "version_normalized": "4.4.42.0", + "version": "v4.4.44", + "version_normalized": "4.4.44.0", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "708e761740c16b02c86e3f0c932018a06b895d40" + "reference": "1e866e9e5c1b22168e0ce5f0b467f19bba61266a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/708e761740c16b02c86e3f0c932018a06b895d40", - "reference": "708e761740c16b02c86e3f0c932018a06b895d40", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/1e866e9e5c1b22168e0ce5f0b467f19bba61266a", + "reference": "1e866e9e5c1b22168e0ce5f0b467f19bba61266a", "shasum": "" }, "require": { @@ -6767,7 +6735,7 @@ "symfony/dependency-injection": "", "symfony/http-kernel": "" }, - "time": "2022-05-05T15:33:49+00:00", + "time": "2022-07-20T09:59:04+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -6795,7 +6763,7 @@ "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v4.4.42" + "source": "https://github.com/symfony/event-dispatcher/tree/v4.4.44" }, "funding": [ { @@ -6978,17 +6946,17 @@ }, { "name": "symfony/http-foundation", - "version": "v4.4.43", - "version_normalized": "4.4.43.0", + "version": "v4.4.46", + "version_normalized": "4.4.46.0", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "4441dada27f9208e03f449d73cb9253c639e53c5" + "reference": "7acdc97f28a48b96def93af1efd77cfc5e8776dd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/4441dada27f9208e03f449d73cb9253c639e53c5", - "reference": "4441dada27f9208e03f449d73cb9253c639e53c5", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/7acdc97f28a48b96def93af1efd77cfc5e8776dd", + "reference": "7acdc97f28a48b96def93af1efd77cfc5e8776dd", "shasum": "" }, "require": { @@ -7001,7 +6969,7 @@ "predis/predis": "~1.0", "symfony/expression-language": "^3.4|^4.0|^5.0" }, - "time": "2022-06-19T13:07:44+00:00", + "time": "2022-09-13T06:14:47+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -7029,7 +6997,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v4.4.43" + "source": "https://github.com/symfony/http-foundation/tree/v4.4.46" }, "funding": [ { @@ -7049,17 +7017,17 @@ }, { "name": "symfony/http-kernel", - "version": "v4.4.43", - "version_normalized": "4.4.43.0", + "version": "v4.4.46", + "version_normalized": "4.4.46.0", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "c4c33fb9203e6f166ac0f318ce34e00686702522" + "reference": "fb72bc54f300151fadef84fce79764138b1ef943" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/c4c33fb9203e6f166ac0f318ce34e00686702522", - "reference": "c4c33fb9203e6f166ac0f318ce34e00686702522", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/fb72bc54f300151fadef84fce79764138b1ef943", + "reference": "fb72bc54f300151fadef84fce79764138b1ef943", "shasum": "" }, "require": { @@ -7108,7 +7076,7 @@ "symfony/console": "", "symfony/dependency-injection": "" }, - "time": "2022-06-26T16:51:30+00:00", + "time": "2022-09-30T07:27:59+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -7136,7 +7104,7 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v4.4.43" + "source": "https://github.com/symfony/http-kernel/tree/v4.4.46" }, "funding": [ { @@ -7156,17 +7124,17 @@ }, { "name": "symfony/mime", - "version": "v5.4.10", - "version_normalized": "5.4.10.0", + "version": "v5.4.13", + "version_normalized": "5.4.13.0", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "02265e1e5111c3cd7480387af25e82378b7ab9cc" + "reference": "bb2ccf759e2b967dcd11bdee5bdf30dddd2290bd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/02265e1e5111c3cd7480387af25e82378b7ab9cc", - "reference": "02265e1e5111c3cd7480387af25e82378b7ab9cc", + "url": "https://api.github.com/repos/symfony/mime/zipball/bb2ccf759e2b967dcd11bdee5bdf30dddd2290bd", + "reference": "bb2ccf759e2b967dcd11bdee5bdf30dddd2290bd", "shasum": "" }, "require": { @@ -7190,7 +7158,7 @@ "symfony/property-info": "^4.4|^5.1|^6.0", "symfony/serializer": "^5.2|^6.0" }, - "time": "2022-06-09T12:22:40+00:00", + "time": "2022-09-01T18:18:29+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -7222,7 +7190,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v5.4.10" + "source": "https://github.com/symfony/mime/tree/v5.4.13" }, "funding": [ { @@ -7923,24 +7891,24 @@ }, { "name": "symfony/process", - "version": "v4.4.41", - "version_normalized": "4.4.41.0", + "version": "v4.4.44", + "version_normalized": "4.4.44.0", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "9eedd60225506d56e42210a70c21bb80ca8456ce" + "reference": "5cee9cdc4f7805e2699d9fd66991a0e6df8252a2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/9eedd60225506d56e42210a70c21bb80ca8456ce", - "reference": "9eedd60225506d56e42210a70c21bb80ca8456ce", + "url": "https://api.github.com/repos/symfony/process/zipball/5cee9cdc4f7805e2699d9fd66991a0e6df8252a2", + "reference": "5cee9cdc4f7805e2699d9fd66991a0e6df8252a2", "shasum": "" }, "require": { "php": ">=7.1.3", "symfony/polyfill-php80": "^1.16" }, - "time": "2022-04-04T10:19:07+00:00", + "time": "2022-06-27T13:16:42+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -7968,7 +7936,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v4.4.41" + "source": "https://github.com/symfony/process/tree/v4.4.44" }, "funding": [ { @@ -7988,17 +7956,17 @@ }, { "name": "symfony/psr-http-message-bridge", - "version": "v2.1.2", - "version_normalized": "2.1.2.0", + "version": "v2.1.3", + "version_normalized": "2.1.3.0", "source": { "type": "git", "url": "https://github.com/symfony/psr-http-message-bridge.git", - "reference": "22b37c8a3f6b5d94e9cdbd88e1270d96e2f97b34" + "reference": "d444f85dddf65c7e57c58d8e5b3a4dbb593b1840" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/22b37c8a3f6b5d94e9cdbd88e1270d96e2f97b34", - "reference": "22b37c8a3f6b5d94e9cdbd88e1270d96e2f97b34", + "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/d444f85dddf65c7e57c58d8e5b3a4dbb593b1840", + "reference": "d444f85dddf65c7e57c58d8e5b3a4dbb593b1840", "shasum": "" }, "require": { @@ -8019,7 +7987,7 @@ "suggest": { "nyholm/psr7": "For a super lightweight PSR-7/17 implementation" }, - "time": "2021-11-05T13:13:39+00:00", + "time": "2022-09-05T10:34:54+00:00", "type": "symfony-bridge", "extra": { "branch-alias": { @@ -8059,7 +8027,7 @@ ], "support": { "issues": "https://github.com/symfony/psr-http-message-bridge/issues", - "source": "https://github.com/symfony/psr-http-message-bridge/tree/v2.1.2" + "source": "https://github.com/symfony/psr-http-message-bridge/tree/v2.1.3" }, "funding": [ { @@ -8079,17 +8047,17 @@ }, { "name": "symfony/routing", - "version": "v4.4.41", - "version_normalized": "4.4.41.0", + "version": "v4.4.44", + "version_normalized": "4.4.44.0", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "c25e38d403c00d5ddcfc514f016f1b534abdf052" + "reference": "f7751fd8b60a07f3f349947a309b5bdfce22d6ae" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/c25e38d403c00d5ddcfc514f016f1b534abdf052", - "reference": "c25e38d403c00d5ddcfc514f016f1b534abdf052", + "url": "https://api.github.com/repos/symfony/routing/zipball/f7751fd8b60a07f3f349947a309b5bdfce22d6ae", + "reference": "f7751fd8b60a07f3f349947a309b5bdfce22d6ae", "shasum": "" }, "require": { @@ -8117,7 +8085,7 @@ "symfony/http-foundation": "For using a Symfony Request object", "symfony/yaml": "For using the YAML loader" }, - "time": "2022-04-12T15:19:55+00:00", + "time": "2022-07-20T09:59:04+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -8151,7 +8119,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v4.4.41" + "source": "https://github.com/symfony/routing/tree/v4.4.44" }, "funding": [ { @@ -8171,17 +8139,17 @@ }, { "name": "symfony/serializer", - "version": "v4.4.43", - "version_normalized": "4.4.43.0", + "version": "v4.4.45", + "version_normalized": "4.4.45.0", "source": { "type": "git", "url": "https://github.com/symfony/serializer.git", - "reference": "bd020a578d786952cf5d67f8140dfacc161f58a4" + "reference": "d19621a350491f76e2faed2afb982e0706f63252" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/serializer/zipball/bd020a578d786952cf5d67f8140dfacc161f58a4", - "reference": "bd020a578d786952cf5d67f8140dfacc161f58a4", + "url": "https://api.github.com/repos/symfony/serializer/zipball/d19621a350491f76e2faed2afb982e0706f63252", + "reference": "d19621a350491f76e2faed2afb982e0706f63252", "shasum": "" }, "require": { @@ -8220,7 +8188,7 @@ "symfony/property-info": "To deserialize relations.", "symfony/yaml": "For using the default YAML mapping loader." }, - "time": "2022-06-24T10:10:05+00:00", + "time": "2022-08-17T14:28:21+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -8248,7 +8216,7 @@ "description": "Handles serializing and deserializing data structures, including object graphs, into array structures or other formats like XML and JSON.", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/serializer/tree/v4.4.43" + "source": "https://github.com/symfony/serializer/tree/v4.4.45" }, "funding": [ { @@ -8354,17 +8322,17 @@ }, { "name": "symfony/translation", - "version": "v4.4.41", - "version_normalized": "4.4.41.0", + "version": "v4.4.45", + "version_normalized": "4.4.45.0", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "dcb67eae126e74507e0b4f0b9ac6ef35b37c3331" + "reference": "4e6b4c0dbeb04d6f004ed7f43eb0905ce8396def" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/dcb67eae126e74507e0b4f0b9ac6ef35b37c3331", - "reference": "dcb67eae126e74507e0b4f0b9ac6ef35b37c3331", + "url": "https://api.github.com/repos/symfony/translation/zipball/4e6b4c0dbeb04d6f004ed7f43eb0905ce8396def", + "reference": "4e6b4c0dbeb04d6f004ed7f43eb0905ce8396def", "shasum": "" }, "require": { @@ -8398,7 +8366,7 @@ "symfony/config": "", "symfony/yaml": "" }, - "time": "2022-04-21T07:22:34+00:00", + "time": "2022-08-02T12:44:49+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -8426,7 +8394,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v4.4.41" + "source": "https://github.com/symfony/translation/tree/v4.4.45" }, "funding": [ { @@ -8527,17 +8495,17 @@ }, { "name": "symfony/validator", - "version": "v4.4.43", - "version_normalized": "4.4.43.0", + "version": "v4.4.46", + "version_normalized": "4.4.46.0", "source": { "type": "git", "url": "https://github.com/symfony/validator.git", - "reference": "5ae0de59615dff1896d44bc986ad87600ea121e7" + "reference": "51d06a00a7a8e9c45b91735932040b9f1df2c994" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/validator/zipball/5ae0de59615dff1896d44bc986ad87600ea121e7", - "reference": "5ae0de59615dff1896d44bc986ad87600ea121e7", + "url": "https://api.github.com/repos/symfony/validator/zipball/51d06a00a7a8e9c45b91735932040b9f1df2c994", + "reference": "51d06a00a7a8e9c45b91735932040b9f1df2c994", "shasum": "" }, "require": { @@ -8588,7 +8556,7 @@ "symfony/translation": "For translating validation errors.", "symfony/yaml": "" }, - "time": "2022-06-05T18:35:51+00:00", + "time": "2022-09-15T12:26:05+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -8616,7 +8584,7 @@ "description": "Provides tools to validate values", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/validator/tree/v4.4.43" + "source": "https://github.com/symfony/validator/tree/v4.4.46" }, "funding": [ { @@ -8636,17 +8604,17 @@ }, { "name": "symfony/var-dumper", - "version": "v5.4.9", - "version_normalized": "5.4.9.0", + "version": "v5.4.13", + "version_normalized": "5.4.13.0", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "af52239a330fafd192c773795520dc2dd62b5657" + "reference": "2bf2ccab581bec363191672f0df40e0c85569e1c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/af52239a330fafd192c773795520dc2dd62b5657", - "reference": "af52239a330fafd192c773795520dc2dd62b5657", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/2bf2ccab581bec363191672f0df40e0c85569e1c", + "reference": "2bf2ccab581bec363191672f0df40e0c85569e1c", "shasum": "" }, "require": { @@ -8670,7 +8638,7 @@ "ext-intl": "To show region name in time zone dump", "symfony/console": "To use the ServerDumpCommand and/or the bin/var-dump-server script" }, - "time": "2022-05-21T10:24:18+00:00", + "time": "2022-09-06T13:23:31+00:00", "bin": [ "Resources/bin/var-dump-server" ], @@ -8708,7 +8676,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v5.4.9" + "source": "https://github.com/symfony/var-dumper/tree/v5.4.13" }, "funding": [ { @@ -8728,17 +8696,17 @@ }, { "name": "symfony/yaml", - "version": "v4.4.43", - "version_normalized": "4.4.43.0", + "version": "v4.4.45", + "version_normalized": "4.4.45.0", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "07e392f0ef78376d080d5353c081a5e5704835bd" + "reference": "aeccc4dc52a9e634f1d1eebeb21eacfdcff1053d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/07e392f0ef78376d080d5353c081a5e5704835bd", - "reference": "07e392f0ef78376d080d5353c081a5e5704835bd", + "url": "https://api.github.com/repos/symfony/yaml/zipball/aeccc4dc52a9e634f1d1eebeb21eacfdcff1053d", + "reference": "aeccc4dc52a9e634f1d1eebeb21eacfdcff1053d", "shasum": "" }, "require": { @@ -8754,7 +8722,7 @@ "suggest": { "symfony/console": "For validating YAML files using the lint command" }, - "time": "2022-06-20T08:31:17+00:00", + "time": "2022-08-02T15:47:23+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -8782,7 +8750,7 @@ "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v4.4.43" + "source": "https://github.com/symfony/yaml/tree/v4.4.45" }, "funding": [ { @@ -8802,17 +8770,17 @@ }, { "name": "twig/twig", - "version": "v2.15.1", - "version_normalized": "2.15.1.0", + "version": "v2.15.3", + "version_normalized": "2.15.3.0", "source": { "type": "git", "url": "https://github.com/twigphp/Twig.git", - "reference": "3b7cedb2f736899a7dbd0ba3d6da335a015f5cc4" + "reference": "ab402673db8746cb3a4c46f3869d6253699f614a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/3b7cedb2f736899a7dbd0ba3d6da335a015f5cc4", - "reference": "3b7cedb2f736899a7dbd0ba3d6da335a015f5cc4", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/ab402673db8746cb3a4c46f3869d6253699f614a", + "reference": "ab402673db8746cb3a4c46f3869d6253699f614a", "shasum": "" }, "require": { @@ -8825,7 +8793,7 @@ "psr/container": "^1.0", "symfony/phpunit-bridge": "^4.4.9|^5.0.9|^6.0" }, - "time": "2022-05-17T05:46:24+00:00", + "time": "2022-09-28T08:40:08+00:00", "type": "library", "extra": { "branch-alias": { @@ -8869,7 +8837,7 @@ ], "support": { "issues": "https://github.com/twigphp/Twig/issues", - "source": "https://github.com/twigphp/Twig/tree/v2.15.1" + "source": "https://github.com/twigphp/Twig/tree/v2.15.3" }, "funding": [ { @@ -8947,6 +8915,7 @@ "doctrine/cache", "doctrine/collections", "doctrine/common", + "doctrine/deprecations", "doctrine/event-manager", "doctrine/inflector", "doctrine/persistence", diff --git a/frontend/drupal9/vendor/composer/installed.php b/frontend/drupal9/vendor/composer/installed.php index 2315f7f4e..91f0627db 100755 --- a/frontend/drupal9/vendor/composer/installed.php +++ b/frontend/drupal9/vendor/composer/installed.php @@ -5,7 +5,7 @@ 'type' => 'project', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), - 'reference' => '66fe03a785bbd04b46f9a2333f5da39ed5587eed', + 'reference' => 'a870febec98b18daf7024165cb19591b799b2d83', 'name' => 'drupal/recommended-project', 'dev' => true, ), @@ -56,12 +56,12 @@ 'dev_requirement' => true, ), 'doctrine/collections' => array( - 'pretty_version' => '1.6.8', - 'version' => '1.6.8.0', + 'pretty_version' => '1.8.0', + 'version' => '1.8.0.0', 'type' => 'library', 'install_path' => __DIR__ . '/../doctrine/collections', 'aliases' => array(), - 'reference' => '1958a744696c6bb3bb0d28db2611dc11610e78af', + 'reference' => '2b44dd4cbca8b5744327de78bafef5945c7e7b5e', 'dev_requirement' => true, ), 'doctrine/common' => array( @@ -73,13 +73,22 @@ 'reference' => 'f3812c026e557892c34ef37f6ab808a6b567da7f', 'dev_requirement' => true, ), + 'doctrine/deprecations' => array( + 'pretty_version' => 'v1.0.0', + 'version' => '1.0.0.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../doctrine/deprecations', + 'aliases' => array(), + 'reference' => '0e2a4f1f8cdfc7a92ec3b01c9334898c806b30de', + 'dev_requirement' => true, + ), 'doctrine/event-manager' => array( - 'pretty_version' => '1.1.1', - 'version' => '1.1.1.0', + 'pretty_version' => '1.1.2', + 'version' => '1.1.2.0', 'type' => 'library', 'install_path' => __DIR__ . '/../doctrine/event-manager', 'aliases' => array(), - 'reference' => '41370af6a30faa9dc0368c4a6814d596e81aba7f', + 'reference' => 'eb2ecf80e3093e8f3c2769ac838e27d8ede8e683', 'dev_requirement' => true, ), 'doctrine/inflector' => array( @@ -118,12 +127,6 @@ 'reference' => '1034e5e71f89978b80f9c1570e7226f6c3b9b6fb', 'dev_requirement' => false, ), - 'drupal/action' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), 'drupal/advagg' => array( 'pretty_version' => '4.1.0', 'version' => '4.1.0.0', @@ -133,18 +136,6 @@ 'reference' => '8.x-4.1', 'dev_requirement' => false, ), - 'drupal/aggregator' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), - 'drupal/automated_cron' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), 'drupal/back_to_top' => array( 'pretty_version' => '1.1.0', 'version' => '1.1.0.0', @@ -154,36 +145,6 @@ 'reference' => '8.x-1.1', 'dev_requirement' => false, ), - 'drupal/ban' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), - 'drupal/bartik' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), - 'drupal/basic_auth' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), - 'drupal/big_pipe' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), - 'drupal/block' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), 'drupal/block_class' => array( 'pretty_version' => '1.3.0', 'version' => '1.3.0.0', @@ -193,78 +154,6 @@ 'reference' => '8.x-1.3', 'dev_requirement' => false, ), - 'drupal/block_content' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), - 'drupal/book' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), - 'drupal/breakpoint' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), - 'drupal/ckeditor' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), - 'drupal/ckeditor5' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), - 'drupal/claro' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), - 'drupal/classy' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), - 'drupal/color' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), - 'drupal/comment' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), - 'drupal/config' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), - 'drupal/config_translation' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), - 'drupal/contact' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), 'drupal/content_access' => array( 'pretty_version' => '1.0.0-alpha4', 'version' => '1.0.0.0-alpha4', @@ -274,60 +163,42 @@ 'reference' => '8.x-1.0-alpha4', 'dev_requirement' => false, ), - 'drupal/content_moderation' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), - 'drupal/content_translation' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), - 'drupal/contextual' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), 'drupal/core' => array( - 'pretty_version' => '9.4.3', - 'version' => '9.4.3.0', + 'pretty_version' => '9.4.8', + 'version' => '9.4.8.0', 'type' => 'drupal-core', 'install_path' => __DIR__ . '/../../web/core', 'aliases' => array(), - 'reference' => '7b1a403c093c7abc89ef3df1a6b05bdb19b3ffad', + 'reference' => 'a627d1b2a00f2cef0572e37b94dea298800541f4', 'dev_requirement' => false, ), 'drupal/core-annotation' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '9.4.3', + 0 => '9.4.8', ), ), 'drupal/core-assertion' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '9.4.3', + 0 => '9.4.8', ), ), 'drupal/core-bridge' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '9.4.3', + 0 => '9.4.8', ), ), 'drupal/core-class-finder' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '9.4.3', + 0 => '9.4.8', ), ), 'drupal/core-composer-scaffold' => array( - 'pretty_version' => '9.4.3', - 'version' => '9.4.3.0', + 'pretty_version' => '9.4.8', + 'version' => '9.4.8.0', 'type' => 'composer-plugin', 'install_path' => __DIR__ . '/../drupal/core-composer-scaffold', 'aliases' => array(), @@ -337,90 +208,90 @@ 'drupal/core-datetime' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '9.4.3', + 0 => '9.4.8', ), ), 'drupal/core-dependency-injection' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '9.4.3', + 0 => '9.4.8', ), ), 'drupal/core-diff' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '9.4.3', + 0 => '9.4.8', ), ), 'drupal/core-discovery' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '9.4.3', + 0 => '9.4.8', ), ), 'drupal/core-event-dispatcher' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '9.4.3', + 0 => '9.4.8', ), ), 'drupal/core-file-cache' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '9.4.3', + 0 => '9.4.8', ), ), 'drupal/core-file-security' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '9.4.3', + 0 => '9.4.8', ), ), 'drupal/core-filesystem' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '9.4.3', + 0 => '9.4.8', ), ), 'drupal/core-front-matter' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '9.4.3', + 0 => '9.4.8', ), ), 'drupal/core-gettext' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '9.4.3', + 0 => '9.4.8', ), ), 'drupal/core-graph' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '9.4.3', + 0 => '9.4.8', ), ), 'drupal/core-http-foundation' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '9.4.3', + 0 => '9.4.8', ), ), 'drupal/core-php-storage' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '9.4.3', + 0 => '9.4.8', ), ), 'drupal/core-plugin' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '9.4.3', + 0 => '9.4.8', ), ), 'drupal/core-project-message' => array( - 'pretty_version' => '9.4.3', - 'version' => '9.4.3.0', + 'pretty_version' => '9.4.8', + 'version' => '9.4.8.0', 'type' => 'composer-plugin', 'install_path' => __DIR__ . '/../drupal/core-project-message', 'aliases' => array(), @@ -430,142 +301,106 @@ 'drupal/core-proxy-builder' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '9.4.3', + 0 => '9.4.8', ), ), 'drupal/core-recommended' => array( - 'pretty_version' => '9.4.3', - 'version' => '9.4.3.0', + 'pretty_version' => '9.4.8', + 'version' => '9.4.8.0', 'type' => 'metapackage', 'install_path' => NULL, 'aliases' => array(), - 'reference' => 'ff8662af0a5963a88ea856e9786e17a51f8e640c', + 'reference' => '684cc844f7b729286f5d62f1ee4b20ab12586502', 'dev_requirement' => false, ), 'drupal/core-render' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '9.4.3', + 0 => '9.4.8', ), ), 'drupal/core-serialization' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '9.4.3', + 0 => '9.4.8', ), ), 'drupal/core-transliteration' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '9.4.3', + 0 => '9.4.8', ), ), 'drupal/core-utility' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '9.4.3', + 0 => '9.4.8', ), ), 'drupal/core-uuid' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '9.4.3', + 0 => '9.4.8', ), ), 'drupal/core-version' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '9.4.3', + 0 => '9.4.8', ), ), 'drupal/ctools' => array( - 'pretty_version' => '3.8.0', - 'version' => '3.8.0.0', + 'pretty_version' => '3.11.0', + 'version' => '3.11.0.0', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/contrib/ctools', 'aliases' => array(), - 'reference' => '8.x-3.8', + 'reference' => '8.x-3.11', 'dev_requirement' => false, ), - 'drupal/datetime' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), - 'drupal/datetime_range' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), - 'drupal/dblog' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), 'drupal/devel' => array( - 'pretty_version' => '4.1.5', - 'version' => '4.1.5.0', + 'pretty_version' => '4.2.1', + 'version' => '4.2.1.0', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/contrib/devel', 'aliases' => array(), - 'reference' => '4.1.5', + 'reference' => '4.2.1', 'dev_requirement' => true, ), 'drupal/ds' => array( - 'pretty_version' => '3.13.0', - 'version' => '3.13.0.0', + 'pretty_version' => '3.15.0', + 'version' => '3.15.0.0', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/contrib/ds', 'aliases' => array(), - 'reference' => '8.x-3.13', + 'reference' => '8.x-3.15', 'dev_requirement' => false, ), - 'drupal/dynamic_page_cache' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), - 'drupal/editor' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), 'drupal/entity' => array( - 'pretty_version' => '1.3.0', - 'version' => '1.3.0.0', + 'pretty_version' => '1.4.0', + 'version' => '1.4.0.0', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/contrib/entity', 'aliases' => array(), - 'reference' => '8.x-1.3', + 'reference' => '8.x-1.4', 'dev_requirement' => false, ), 'drupal/entity_clone' => array( - 'pretty_version' => '1.0.0-beta6', - 'version' => '1.0.0.0-beta6', + 'pretty_version' => '1.0.0-beta7', + 'version' => '1.0.0.0-beta7', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/contrib/entity_clone', 'aliases' => array(), - 'reference' => '8.x-1.0-beta6', + 'reference' => '8.x-1.0-beta7', 'dev_requirement' => false, ), - 'drupal/entity_reference' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), 'drupal/eu_cookie_compliance' => array( - 'pretty_version' => '1.19.0', - 'version' => '1.19.0.0', + 'pretty_version' => '1.23.0', + 'version' => '1.23.0.0', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/contrib/eu_cookie_compliance', 'aliases' => array(), - 'reference' => '8.x-1.19', + 'reference' => '8.x-1.23', 'dev_requirement' => false, ), 'drupal/facets' => array( @@ -586,42 +421,6 @@ 'reference' => '8.x-1.04', 'dev_requirement' => false, ), - 'drupal/field' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), - 'drupal/field_layout' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), - 'drupal/field_ui' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), - 'drupal/file' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), - 'drupal/filter' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), - 'drupal/forum' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), 'drupal/google_analytics' => array( 'pretty_version' => '3.1.0', 'version' => '3.1.0.0', @@ -649,58 +448,22 @@ 'reference' => '8.x-1.5', 'dev_requirement' => false, ), - 'drupal/hal' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), - 'drupal/help' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), - 'drupal/help_topics' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), - 'drupal/history' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), - 'drupal/image' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), 'drupal/imce' => array( - 'pretty_version' => '2.4.0', - 'version' => '2.4.0.0', + 'pretty_version' => '2.5.0', + 'version' => '2.5.0.0', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/contrib/imce', 'aliases' => array(), - 'reference' => '8.x-2.4', + 'reference' => '8.x-2.5', 'dev_requirement' => false, ), - 'drupal/inline_form_errors' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), 'drupal/insert_view' => array( - 'pretty_version' => '2.0.0', - 'version' => '2.0.0.0', + 'pretty_version' => '2.0.1', + 'version' => '2.0.1.0', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/contrib/insert_view', 'aliases' => array(), - 'reference' => '2.0.0', + 'reference' => '2.0.1', 'dev_requirement' => false, ), 'drupal/jquery_ui' => array( @@ -730,18 +493,6 @@ 'reference' => '8.x-1.1', 'dev_requirement' => false, ), - 'drupal/jsonapi' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), - 'drupal/language' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), 'drupal/languageicons' => array( 'pretty_version' => '1.0.0-beta3', 'version' => '1.0.0.0-beta3', @@ -751,18 +502,6 @@ 'reference' => '8.x-1.0-beta3', 'dev_requirement' => false, ), - 'drupal/layout_builder' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), - 'drupal/layout_discovery' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), 'drupal/lazy' => array( 'pretty_version' => '3.11.0', 'version' => '3.11.0.0', @@ -781,30 +520,6 @@ 'reference' => '8.x-3.0-beta2', 'dev_requirement' => false, ), - 'drupal/link' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), - 'drupal/locale' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), - 'drupal/media' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), - 'drupal/media_library' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), 'drupal/menu_block' => array( 'pretty_version' => '1.8.0', 'version' => '1.8.0.0', @@ -823,12 +538,6 @@ 'reference' => '8.x-3.2', 'dev_requirement' => false, ), - 'drupal/menu_link_content' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), 'drupal/menu_position' => array( 'pretty_version' => '1.0.0-beta2', 'version' => '1.0.0.0-beta2', @@ -847,123 +556,33 @@ 'reference' => '8.x-1.3', 'dev_requirement' => false, ), - 'drupal/menu_ui' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), 'drupal/metatag' => array( - 'pretty_version' => '1.21.0', - 'version' => '1.21.0.0', + 'pretty_version' => '1.22.0', + 'version' => '1.22.0.0', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/contrib/metatag', 'aliases' => array(), - 'reference' => '8.x-1.21', + 'reference' => '8.x-1.22', 'dev_requirement' => false, ), - 'drupal/migrate' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), - 'drupal/migrate_drupal' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), - 'drupal/migrate_drupal_multilingual' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), - 'drupal/migrate_drupal_ui' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), - 'drupal/minimal' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), - 'drupal/mysql' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), - 'drupal/node' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), - 'drupal/olivero' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), - 'drupal/options' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), - 'drupal/page_cache' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), - 'drupal/path' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), - 'drupal/path_alias' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), 'drupal/pathauto' => array( - 'pretty_version' => '1.10.0', - 'version' => '1.10.0.0', + 'pretty_version' => '1.11.0', + 'version' => '1.11.0.0', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/contrib/pathauto', 'aliases' => array(), - 'reference' => '8.x-1.10', + 'reference' => '8.x-1.11', 'dev_requirement' => false, ), - 'drupal/pgsql' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), 'drupal/publication_date' => array( - 'pretty_version' => '2.0.0-beta4', - 'version' => '2.0.0.0-beta4', + 'pretty_version' => '2.0.0-beta5', + 'version' => '2.0.0.0-beta5', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/contrib/publication_date', 'aliases' => array(), - 'reference' => '8.x-2.0-beta4', + 'reference' => '8.x-2.0-beta5', 'dev_requirement' => false, ), - 'drupal/quickedit' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), 'drupal/quicktabs' => array( 'pretty_version' => '3.0.0-alpha5', 'version' => '3.0.0.0-alpha5', @@ -973,28 +592,22 @@ 'reference' => '8.x-3.0-alpha5', 'dev_requirement' => false, ), - 'drupal/rdf' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), 'drupal/recommended-project' => array( 'pretty_version' => 'dev-master', 'version' => 'dev-master', 'type' => 'project', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), - 'reference' => '66fe03a785bbd04b46f9a2333f5da39ed5587eed', + 'reference' => 'a870febec98b18daf7024165cb19591b799b2d83', 'dev_requirement' => false, ), 'drupal/redirect' => array( - 'pretty_version' => '1.7.0', - 'version' => '1.7.0.0', + 'pretty_version' => '1.8.0', + 'version' => '1.8.0.0', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/contrib/redirect', 'aliases' => array(), - 'reference' => '8.x-1.7', + 'reference' => '8.x-1.8', 'dev_requirement' => false, ), 'drupal/rename_admin_paths' => array( @@ -1006,12 +619,6 @@ 'reference' => '8.x-2.1', 'dev_requirement' => false, ), - 'drupal/responsive_image' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), 'drupal/responsive_menu' => array( 'pretty_version' => '4.4.2', 'version' => '4.4.2.0', @@ -1021,12 +628,6 @@ 'reference' => '4.4.2', 'dev_requirement' => false, ), - 'drupal/rest' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), 'drupal/route_specific_breadcrumb' => array( 'pretty_version' => '2.0.0', 'version' => '2.0.0.0', @@ -1045,24 +646,18 @@ 'reference' => '8.x-1.4', 'dev_requirement' => false, ), - 'drupal/search' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), 'drupal/search_api' => array( - 'pretty_version' => '1.25.0', - 'version' => '1.25.0.0', + 'pretty_version' => '1.26.0', + 'version' => '1.26.0.0', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/contrib/search_api', 'aliases' => array(), - 'reference' => '8.x-1.25', + 'reference' => '8.x-1.26', 'dev_requirement' => false, ), 'drupal/search_api_db' => array( - 'pretty_version' => '1.25.0', - 'version' => '1.25.0.0', + 'pretty_version' => '1.26.0', + 'version' => '1.26.0.0', 'type' => 'metapackage', 'install_path' => NULL, 'aliases' => array(), @@ -1079,62 +674,14 @@ 'dev_requirement' => false, ), 'drupal/search_api_stats' => array( - 'pretty_version' => '1.0.0-alpha2', - 'version' => '1.0.0.0-alpha2', + 'pretty_version' => '1.0.0-alpha3', + 'version' => '1.0.0.0-alpha3', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/contrib/search_api_stats', 'aliases' => array(), - 'reference' => '8.x-1.0-alpha2', + 'reference' => '8.x-1.0-alpha3', 'dev_requirement' => false, ), - 'drupal/serialization' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), - 'drupal/settings_tray' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), - 'drupal/seven' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), - 'drupal/shortcut' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), - 'drupal/sqlite' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), - 'drupal/standard' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), - 'drupal/stark' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), - 'drupal/statistics' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), 'drupal/superfish' => array( 'pretty_version' => '1.4.0', 'version' => '1.4.0.0', @@ -1144,24 +691,6 @@ 'reference' => '8.x-1.4', 'dev_requirement' => false, ), - 'drupal/syslog' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), - 'drupal/system' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), - 'drupal/taxonomy' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), 'drupal/taxonomy_menu' => array( 'pretty_version' => 'dev-3.x', 'version' => 'dev-3.x', @@ -1170,48 +699,18 @@ 'aliases' => array( 0 => '3.x-dev', ), - 'reference' => 'a1e0bf3ed5d1c8b913da2d2a3402ea165a82a464', + 'reference' => '7278a43dd7d36972ed39cf2aef0e2fb6556a66fa', 'dev_requirement' => false, ), - 'drupal/telephone' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), - 'drupal/text' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), 'drupal/token' => array( - 'pretty_version' => '1.10.0', - 'version' => '1.10.0.0', + 'pretty_version' => '1.11.0', + 'version' => '1.11.0.0', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/contrib/token', 'aliases' => array(), - 'reference' => '8.x-1.10', + 'reference' => '8.x-1.11', 'dev_requirement' => false, ), - 'drupal/toolbar' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), - 'drupal/tour' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), - 'drupal/tracker' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), 'drupal/tvi' => array( 'pretty_version' => '1.0.0-rc4', 'version' => '1.0.0.0-RC4', @@ -1222,26 +721,14 @@ 'dev_requirement' => false, ), 'drupal/twig_vardumper' => array( - 'pretty_version' => '3.0.2', - 'version' => '3.0.2.0', + 'pretty_version' => '3.1.0', + 'version' => '3.1.0.0', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/contrib/twig_vardumper', 'aliases' => array(), - 'reference' => '3.0.2', + 'reference' => '3.1.0', 'dev_requirement' => true, ), - 'drupal/update' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), - 'drupal/user' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), 'drupal/vardumper' => array( 'pretty_version' => '1.6.0', 'version' => '1.6.0.0', @@ -1260,12 +747,6 @@ 'reference' => '8.x-2.4', 'dev_requirement' => false, ), - 'drupal/views' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), 'drupal/views_slideshow' => array( 'pretty_version' => '4.8.0', 'version' => '4.8.0.0', @@ -1275,31 +756,13 @@ 'reference' => '8.x-4.8', 'dev_requirement' => false, ), - 'drupal/views_ui' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), - 'drupal/workflows' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), - 'drupal/workspaces' => array( - 'dev_requirement' => false, - 'replaced' => array( - 0 => '9.4.3', - ), - ), 'drupal/xmlsitemap' => array( - 'pretty_version' => '1.3.0', - 'version' => '1.3.0.0', + 'pretty_version' => '1.4.0', + 'version' => '1.4.0.0', 'type' => 'drupal-module', 'install_path' => __DIR__ . '/../../web/modules/contrib/xmlsitemap', 'aliases' => array(), - 'reference' => '8.x-1.3', + 'reference' => '8.x-1.4', 'dev_requirement' => false, ), 'egulias/email-validator' => array( @@ -1321,12 +784,12 @@ 'dev_requirement' => false, ), 'guzzlehttp/promises' => array( - 'pretty_version' => '1.5.1', - 'version' => '1.5.1.0', + 'pretty_version' => '1.5.2', + 'version' => '1.5.2.0', 'type' => 'library', 'install_path' => __DIR__ . '/../guzzlehttp/promises', 'aliases' => array(), - 'reference' => 'fe752aedc9fd8fcca3fe7ad05d419d32998a06da', + 'reference' => 'b94b2807d85443f9719887892882d0329d1e2598', 'dev_requirement' => false, ), 'guzzlehttp/psr7' => array( @@ -1375,12 +838,12 @@ 'dev_requirement' => false, ), 'masterminds/html5' => array( - 'pretty_version' => '2.7.5', - 'version' => '2.7.5.0', + 'pretty_version' => '2.7.6', + 'version' => '2.7.6.0', 'type' => 'library', 'install_path' => __DIR__ . '/../masterminds/html5', 'aliases' => array(), - 'reference' => 'f640ac1bdddff06ea333a920c95bbad8872429ab', + 'reference' => '897eb517a343a2281f11bc5556d6548db7d93947', 'dev_requirement' => false, ), 'mehrpadin/superfish' => array( @@ -1549,30 +1012,30 @@ 'dev_requirement' => false, ), 'symfony/console' => array( - 'pretty_version' => 'v4.4.43', - 'version' => '4.4.43.0', + 'pretty_version' => 'v4.4.45', + 'version' => '4.4.45.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/console', 'aliases' => array(), - 'reference' => '8a2628d2d5639f35113dc1b833ecd91e1ed1cf46', + 'reference' => '28b77970939500fb04180166a1f716e75a871ef8', 'dev_requirement' => false, ), 'symfony/debug' => array( - 'pretty_version' => 'v4.4.41', - 'version' => '4.4.41.0', + 'pretty_version' => 'v4.4.44', + 'version' => '4.4.44.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/debug', 'aliases' => array(), - 'reference' => '6637e62480b60817b9a6984154a533e8e64c6bd5', + 'reference' => '1a692492190773c5310bc7877cb590c04c2f05be', 'dev_requirement' => false, ), 'symfony/dependency-injection' => array( - 'pretty_version' => 'v4.4.43', - 'version' => '4.4.43.0', + 'pretty_version' => 'v4.4.44', + 'version' => '4.4.44.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/dependency-injection', 'aliases' => array(), - 'reference' => '8d0ae6d87ceea5f3a352413f9d1f71ed2234dcbd', + 'reference' => '25502a57182ba1e15da0afd64c975cae4d0a1471', 'dev_requirement' => false, ), 'symfony/deprecation-contracts' => array( @@ -1585,21 +1048,21 @@ 'dev_requirement' => false, ), 'symfony/error-handler' => array( - 'pretty_version' => 'v4.4.41', - 'version' => '4.4.41.0', + 'pretty_version' => 'v4.4.44', + 'version' => '4.4.44.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/error-handler', 'aliases' => array(), - 'reference' => '529feb0e03133dbd5fd3707200147cc4903206da', + 'reference' => 'be731658121ef2d8be88f3a1ec938148a9237291', 'dev_requirement' => false, ), 'symfony/event-dispatcher' => array( - 'pretty_version' => 'v4.4.42', - 'version' => '4.4.42.0', + 'pretty_version' => 'v4.4.44', + 'version' => '4.4.44.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/event-dispatcher', 'aliases' => array(), - 'reference' => '708e761740c16b02c86e3f0c932018a06b895d40', + 'reference' => '1e866e9e5c1b22168e0ce5f0b467f19bba61266a', 'dev_requirement' => false, ), 'symfony/event-dispatcher-contracts' => array( @@ -1627,30 +1090,30 @@ 'dev_requirement' => false, ), 'symfony/http-foundation' => array( - 'pretty_version' => 'v4.4.43', - 'version' => '4.4.43.0', + 'pretty_version' => 'v4.4.46', + 'version' => '4.4.46.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/http-foundation', 'aliases' => array(), - 'reference' => '4441dada27f9208e03f449d73cb9253c639e53c5', + 'reference' => '7acdc97f28a48b96def93af1efd77cfc5e8776dd', 'dev_requirement' => false, ), 'symfony/http-kernel' => array( - 'pretty_version' => 'v4.4.43', - 'version' => '4.4.43.0', + 'pretty_version' => 'v4.4.46', + 'version' => '4.4.46.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/http-kernel', 'aliases' => array(), - 'reference' => 'c4c33fb9203e6f166ac0f318ce34e00686702522', + 'reference' => 'fb72bc54f300151fadef84fce79764138b1ef943', 'dev_requirement' => false, ), 'symfony/mime' => array( - 'pretty_version' => 'v5.4.10', - 'version' => '5.4.10.0', + 'pretty_version' => 'v5.4.13', + 'version' => '5.4.13.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/mime', 'aliases' => array(), - 'reference' => '02265e1e5111c3cd7480387af25e82378b7ab9cc', + 'reference' => 'bb2ccf759e2b967dcd11bdee5bdf30dddd2290bd', 'dev_requirement' => false, ), 'symfony/polyfill-ctype' => array( @@ -1726,39 +1189,39 @@ 'dev_requirement' => false, ), 'symfony/process' => array( - 'pretty_version' => 'v4.4.41', - 'version' => '4.4.41.0', + 'pretty_version' => 'v4.4.44', + 'version' => '4.4.44.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/process', 'aliases' => array(), - 'reference' => '9eedd60225506d56e42210a70c21bb80ca8456ce', + 'reference' => '5cee9cdc4f7805e2699d9fd66991a0e6df8252a2', 'dev_requirement' => false, ), 'symfony/psr-http-message-bridge' => array( - 'pretty_version' => 'v2.1.2', - 'version' => '2.1.2.0', + 'pretty_version' => 'v2.1.3', + 'version' => '2.1.3.0', 'type' => 'symfony-bridge', 'install_path' => __DIR__ . '/../symfony/psr-http-message-bridge', 'aliases' => array(), - 'reference' => '22b37c8a3f6b5d94e9cdbd88e1270d96e2f97b34', + 'reference' => 'd444f85dddf65c7e57c58d8e5b3a4dbb593b1840', 'dev_requirement' => false, ), 'symfony/routing' => array( - 'pretty_version' => 'v4.4.41', - 'version' => '4.4.41.0', + 'pretty_version' => 'v4.4.44', + 'version' => '4.4.44.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/routing', 'aliases' => array(), - 'reference' => 'c25e38d403c00d5ddcfc514f016f1b534abdf052', + 'reference' => 'f7751fd8b60a07f3f349947a309b5bdfce22d6ae', 'dev_requirement' => false, ), 'symfony/serializer' => array( - 'pretty_version' => 'v4.4.43', - 'version' => '4.4.43.0', + 'pretty_version' => 'v4.4.45', + 'version' => '4.4.45.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/serializer', 'aliases' => array(), - 'reference' => 'bd020a578d786952cf5d67f8140dfacc161f58a4', + 'reference' => 'd19621a350491f76e2faed2afb982e0706f63252', 'dev_requirement' => false, ), 'symfony/service-contracts' => array( @@ -1777,12 +1240,12 @@ ), ), 'symfony/translation' => array( - 'pretty_version' => 'v4.4.41', - 'version' => '4.4.41.0', + 'pretty_version' => 'v4.4.45', + 'version' => '4.4.45.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/translation', 'aliases' => array(), - 'reference' => 'dcb67eae126e74507e0b4f0b9ac6ef35b37c3331', + 'reference' => '4e6b4c0dbeb04d6f004ed7f43eb0905ce8396def', 'dev_requirement' => false, ), 'symfony/translation-contracts' => array( @@ -1801,39 +1264,39 @@ ), ), 'symfony/validator' => array( - 'pretty_version' => 'v4.4.43', - 'version' => '4.4.43.0', + 'pretty_version' => 'v4.4.46', + 'version' => '4.4.46.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/validator', 'aliases' => array(), - 'reference' => '5ae0de59615dff1896d44bc986ad87600ea121e7', + 'reference' => '51d06a00a7a8e9c45b91735932040b9f1df2c994', 'dev_requirement' => false, ), 'symfony/var-dumper' => array( - 'pretty_version' => 'v5.4.9', - 'version' => '5.4.9.0', + 'pretty_version' => 'v5.4.13', + 'version' => '5.4.13.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/var-dumper', 'aliases' => array(), - 'reference' => 'af52239a330fafd192c773795520dc2dd62b5657', + 'reference' => '2bf2ccab581bec363191672f0df40e0c85569e1c', 'dev_requirement' => false, ), 'symfony/yaml' => array( - 'pretty_version' => 'v4.4.43', - 'version' => '4.4.43.0', + 'pretty_version' => 'v4.4.45', + 'version' => '4.4.45.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/yaml', 'aliases' => array(), - 'reference' => '07e392f0ef78376d080d5353c081a5e5704835bd', + 'reference' => 'aeccc4dc52a9e634f1d1eebeb21eacfdcff1053d', 'dev_requirement' => false, ), 'twig/twig' => array( - 'pretty_version' => 'v2.15.1', - 'version' => '2.15.1.0', + 'pretty_version' => 'v2.15.3', + 'version' => '2.15.3.0', 'type' => 'library', 'install_path' => __DIR__ . '/../twig/twig', 'aliases' => array(), - 'reference' => '3b7cedb2f736899a7dbd0ba3d6da335a015f5cc4', + 'reference' => 'ab402673db8746cb3a4c46f3869d6253699f614a', 'dev_requirement' => false, ), 'typo3/phar-stream-wrapper' => array( diff --git a/frontend/drupal9/vendor/doctrine/collections/.doctrine-project.json b/frontend/drupal9/vendor/doctrine/collections/.doctrine-project.json index a0c1a6eb6..9c89e50c0 100644 --- a/frontend/drupal9/vendor/doctrine/collections/.doctrine-project.json +++ b/frontend/drupal9/vendor/doctrine/collections/.doctrine-project.json @@ -10,17 +10,23 @@ "slug": "latest", "upcoming": true }, + { + "name": "1.8", + "branchName": "1.8.x", + "slug": "1.8", + "upcoming": true + }, { "name": "1.7", "branchName": "1.7.x", "slug": "1.7", - "upcoming": true + "current": true }, { "name": "1.6", "branchName": "1.6.x", "slug": "1.6", - "current": true + "maintained": false } ] } diff --git a/frontend/drupal9/vendor/doctrine/collections/CONTRIBUTING.md b/frontend/drupal9/vendor/doctrine/collections/CONTRIBUTING.md index 0f3a03b47..7a0a8c9a1 100644 --- a/frontend/drupal9/vendor/doctrine/collections/CONTRIBUTING.md +++ b/frontend/drupal9/vendor/doctrine/collections/CONTRIBUTING.md @@ -6,16 +6,6 @@ Before we can merge your Pull-Request here are some guidelines that you need to These guidelines exist not to annoy you, but to keep the code base clean, unified and future proof. -## We only accept PRs to "master" - -Our branching strategy is "everything to master first", even -bugfixes and we then merge them into the stable branches. You should only -open pull requests against the master branch. Otherwise we cannot accept the PR. - -There is one exception to the rule, when we merged a bug into some stable branches -we do occasionally accept pull requests that merge the same bug fix into earlier -branches. - ## Coding Standard We use the [Doctrine Coding Standard](https://github.com/doctrine/coding-standard). diff --git a/frontend/drupal9/vendor/doctrine/collections/README.md b/frontend/drupal9/vendor/doctrine/collections/README.md index 5b37bad23..048fb614d 100644 --- a/frontend/drupal9/vendor/doctrine/collections/README.md +++ b/frontend/drupal9/vendor/doctrine/collections/README.md @@ -1,92 +1,6 @@ # Doctrine Collections [![Build Status](https://github.com/doctrine/collections/workflows/Continuous%20Integration/badge.svg)](https://github.com/doctrine/collections/actions) -[![Code Coverage](https://codecov.io/gh/doctrine/collections/branch/master/graph/badge.svg)](https://codecov.io/gh/doctrine/collections/branch/master) +[![Code Coverage](https://codecov.io/gh/doctrine/collections/branch/2.0.x/graph/badge.svg)](https://codecov.io/gh/doctrine/collections/branch/2.0.x) Collections Abstraction library - -## Changelog - -### v1.6.1 - -This release, combined with the release of [`doctrine/collections` `v1.6.1`](https://github.com/doctrine/collections/releases/tag/v1.6.1), -fixes an issue where parsing annotations was not possible -for classes within `doctrine/collections`. - -Specifically, `v1.6.0` introduced Psalm-specific annotations -such as (for example) `@template` and `@template-implements`, -which were both incorrectly recognized as `@template`. - -`@template` has therefore been removed, and instead we use -the prefixed `@psalm-template`, which is no longer parsed -by `doctrine/collections` `v1.6.1` - -Total issues resolved: **1** - -- [186: Use `@psalm-template` annotation to avoid clashes](https://github.com/doctrine/collections/pull/186) thanks to @muglug - -### v1.6.0 - -This release bumps the minimum required PHP version to 7.1.3. - -Following improvements were introduced: - - * `ArrayCollection#filter()` now allows filtering by key, value or both. - * When using the `ClosureExpressionVisitor` over objects with a defined - accessor and property, the accessor is prioritised. - * Updated testing tools and coding standards, autoloading, which also - led to marginal performance improvements - * Introduced generic type docblock declarations from [psalm](https://github.com/vimeo/psalm), - which should allow users to declare `/** @var Collection */` - in their code, and leverage the type propagation deriving from that. - -Total issues resolved: **16** - -- [127: Use PSR-4](https://github.com/doctrine/collections/pull/127) thanks to @Nyholm -- [129: Remove space in method declaration](https://github.com/doctrine/collections/pull/129) thanks to @bounoable -- [130: Update build to add PHPCS and PHPStan](https://github.com/doctrine/collections/pull/130) thanks to @lcobucci -- [131: ClosureExpressionVisitor > Don't duplicate the accessor when the field already starts with it](https://github.com/doctrine/collections/pull/131) thanks to @ruudk -- [139: Apply Doctrine CS 2.1](https://github.com/doctrine/collections/pull/139) thanks to @Majkl578 -- [142: CS 4.0, version composer.lock, merge stages](https://github.com/doctrine/collections/pull/142) thanks to @Majkl578 -- [144: Update to PHPUnit 7](https://github.com/doctrine/collections/pull/144) thanks to @carusogabriel -- [146: Update changelog for v1.4.0 and v1.5.0](https://github.com/doctrine/collections/pull/146) thanks to @GromNaN -- [154: Update index.rst](https://github.com/doctrine/collections/pull/154) thanks to @chraiet -- [158: Extract Selectable method into own documentation section](https://github.com/doctrine/collections/pull/158) thanks to @SenseException -- [160: Update homepage](https://github.com/doctrine/collections/pull/160) thanks to @Majkl578 -- [165: Allow `ArrayCollection#filter()` to filter by key, value or both](https://github.com/doctrine/collections/issues/165) thanks to @0x13a -- [167: Allow `ArrayCollection#filter()` to filter by key and also value](https://github.com/doctrine/collections/pull/167) thanks to @0x13a -- [175: CI: Test against PHP 7.4snapshot instead of nightly (8.0)](https://github.com/doctrine/collections/pull/175) thanks to @Majkl578 -- [177: Generify collections using Psalm](https://github.com/doctrine/collections/pull/177) thanks to @nschoellhorn -- [178: Updated doctrine/coding-standard to 6.0](https://github.com/doctrine/collections/pull/178) thanks to @patrickjahns - -### v1.5.0 - -* [Require PHP 7.1+](https://github.com/doctrine/collections/pull/105) -* [Drop HHVM support](https://github.com/doctrine/collections/pull/118) - -### v1.4.0 - -* [Require PHP 5.6+](https://github.com/doctrine/collections/pull/105) -* [Add `ArrayCollection::createFrom()`](https://github.com/doctrine/collections/pull/91) -* [Support non-camel-case naming](https://github.com/doctrine/collections/pull/57) -* [Comparison `START_WITH`, `END_WITH`](https://github.com/doctrine/collections/pull/78) -* [Comparison `MEMBER_OF`](https://github.com/doctrine/collections/pull/66) -* [Add Contributing guide](https://github.com/doctrine/collections/pull/103) - -### v1.3.0 - -* [Explicit casting of first and max results in criteria API](https://github.com/doctrine/collections/pull/26) -* [Keep keys when using `ArrayCollection#matching()` with sorting](https://github.com/doctrine/collections/pull/49) -* [Made `AbstractLazyCollection#$initialized` protected for extensibility](https://github.com/doctrine/collections/pull/52) - -### v1.2.0 - -* Add a new ``AbstractLazyCollection`` - -### v1.1.0 - -* Deprecated ``Comparison::IS``, because it's only there for SQL semantics. - These are fixed in the ORM instead. -* Add ``Comparison::CONTAINS`` to perform partial string matches: - - $criteria->andWhere($criteria->expr()->contains('property', 'Foo')); diff --git a/frontend/drupal9/vendor/doctrine/collections/composer.json b/frontend/drupal9/vendor/doctrine/collections/composer.json index 9a6494e7c..d9422dd11 100644 --- a/frontend/drupal9/vendor/doctrine/collections/composer.json +++ b/frontend/drupal9/vendor/doctrine/collections/composer.json @@ -1,37 +1,61 @@ { "name": "doctrine/collections", - "type": "library", "description": "PHP Doctrine Collections library that adds additional functionality on top of PHP arrays.", + "license": "MIT", + "type": "library", "keywords": [ "php", "collections", "array", "iterators" ], - "homepage": "https://www.doctrine-project.org/projects/collections.html", - "license": "MIT", "authors": [ - {"name": "Guilherme Blanco", "email": "guilhermeblanco@gmail.com"}, - {"name": "Roman Borschel", "email": "roman@code-factory.org"}, - {"name": "Benjamin Eberlei", "email": "kontakt@beberlei.de"}, - {"name": "Jonathan Wage", "email": "jonwage@gmail.com"}, - {"name": "Johannes Schmitt", "email": "schmittjoh@gmail.com"} + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } ], + "homepage": "https://www.doctrine-project.org/projects/collections.html", "require": { - "php": "^7.1.3 || ^8.0" + "php": "^7.1.3 || ^8.0", + "doctrine/deprecations": "^0.5.3 || ^1" }, "require-dev": { + "doctrine/coding-standard": "^9.0 || ^10.0", + "phpstan/phpstan": "^1.4.8", "phpunit/phpunit": "^7.5 || ^8.5 || ^9.1.5", - "doctrine/coding-standard": "^9.0", - "phpstan/phpstan": "^0.12", - "vimeo/psalm": "^4.2.1" + "vimeo/psalm": "^4.22" }, "autoload": { - "psr-4": { "Doctrine\\Common\\Collections\\": "lib/Doctrine/Common/Collections" } + "psr-4": { + "Doctrine\\Common\\Collections\\": "lib/Doctrine/Common/Collections" + } }, "autoload-dev": { "psr-4": { "Doctrine\\Tests\\": "tests/Doctrine/Tests" } + }, + "config": { + "allow-plugins": { + "composer/package-versions-deprecated": true, + "dealerdirect/phpcodesniffer-composer-installer": true + } } } diff --git a/frontend/drupal9/vendor/doctrine/collections/docs/en/index.rst b/frontend/drupal9/vendor/doctrine/collections/docs/en/index.rst index 936f9efa3..8ca97229b 100644 --- a/frontend/drupal9/vendor/doctrine/collections/docs/en/index.rst +++ b/frontend/drupal9/vendor/doctrine/collections/docs/en/index.rst @@ -32,6 +32,11 @@ explicitly retrieve an iterator though ``getIterator()`` which can then be used to iterate over the collection. You can not rely on the internal iterator of the collection being at a certain position unless you explicitly positioned it before. +Methods that do not alter the collection or have template types +appearing in invariant or contravariant positions are not directly +defined in ``Doctrine\Common\Collections\Collection``, but are inherited +from the ``Doctrine\Common\Collections\ReadableCollection`` interface. + The methods available on the interface are: add diff --git a/frontend/drupal9/vendor/doctrine/collections/lib/Doctrine/Common/Collections/AbstractLazyCollection.php b/frontend/drupal9/vendor/doctrine/collections/lib/Doctrine/Common/Collections/AbstractLazyCollection.php index b7b84c69f..baab4d599 100644 --- a/frontend/drupal9/vendor/doctrine/collections/lib/Doctrine/Common/Collections/AbstractLazyCollection.php +++ b/frontend/drupal9/vendor/doctrine/collections/lib/Doctrine/Common/Collections/AbstractLazyCollection.php @@ -3,6 +3,7 @@ namespace Doctrine\Common\Collections; use Closure; +use LogicException; use ReturnTypeWillChange; use Traversable; @@ -18,8 +19,8 @@ abstract class AbstractLazyCollection implements Collection /** * The backed collection to use * - * @psalm-var Collection - * @var Collection + * @psalm-var Collection|null + * @var Collection|null */ protected $collection; @@ -60,6 +61,8 @@ abstract class AbstractLazyCollection implements Collection /** * {@inheritDoc} + * + * @template TMaybeContained */ public function contains($element) { @@ -259,6 +262,8 @@ abstract class AbstractLazyCollection implements Collection /** * {@inheritDoc} + * + * @template TMaybeContained */ public function indexOf($element) { @@ -292,9 +297,7 @@ abstract class AbstractLazyCollection implements Collection } /** - * {@inheritDoc} - * - * @psalm-param TKey $offset + * @param TKey $offset * * @return bool */ @@ -307,10 +310,7 @@ abstract class AbstractLazyCollection implements Collection } /** - * {@inheritDoc} - * - * @param int|string $offset - * @psalm-param TKey $offset + * @param TKey $offset * * @return mixed */ @@ -323,10 +323,8 @@ abstract class AbstractLazyCollection implements Collection } /** - * {@inheritDoc} - * - * @param mixed $value - * @psalm-param TKey $offset + * @param TKey|null $offset + * @param T $value * * @return void */ @@ -338,9 +336,7 @@ abstract class AbstractLazyCollection implements Collection } /** - * {@inheritDoc} - * - * @psalm-param TKey $offset + * @param TKey $offset * * @return void */ @@ -355,6 +351,8 @@ abstract class AbstractLazyCollection implements Collection * Is the lazy collection already initialized? * * @return bool + * + * @psalm-assert-if-true Collection $this->collection */ public function isInitialized() { @@ -365,6 +363,8 @@ abstract class AbstractLazyCollection implements Collection * Initialize the collection * * @return void + * + * @psalm-assert Collection $this->collection */ protected function initialize() { @@ -374,6 +374,10 @@ abstract class AbstractLazyCollection implements Collection $this->doInitialize(); $this->initialized = true; + + if ($this->collection === null) { + throw new LogicException('You must initialize the collection property in the doInitialize() method.'); + } } /** diff --git a/frontend/drupal9/vendor/doctrine/collections/lib/Doctrine/Common/Collections/ArrayCollection.php b/frontend/drupal9/vendor/doctrine/collections/lib/Doctrine/Common/Collections/ArrayCollection.php index df04f9842..186f6ec4c 100644 --- a/frontend/drupal9/vendor/doctrine/collections/lib/Doctrine/Common/Collections/ArrayCollection.php +++ b/frontend/drupal9/vendor/doctrine/collections/lib/Doctrine/Common/Collections/ArrayCollection.php @@ -165,9 +165,7 @@ class ArrayCollection implements Collection, Selectable /** * Required by interface ArrayAccess. * - * {@inheritDoc} - * - * @psalm-param TKey $offset + * @param TKey $offset * * @return bool */ @@ -180,9 +178,7 @@ class ArrayCollection implements Collection, Selectable /** * Required by interface ArrayAccess. * - * {@inheritDoc} - * - * @psalm-param TKey $offset + * @param TKey $offset * * @return mixed */ @@ -195,7 +191,8 @@ class ArrayCollection implements Collection, Selectable /** * Required by interface ArrayAccess. * - * {@inheritDoc} + * @param TKey|null $offset + * @param T $value * * @return void */ @@ -214,9 +211,7 @@ class ArrayCollection implements Collection, Selectable /** * Required by interface ArrayAccess. * - * {@inheritDoc} - * - * @psalm-param TKey $offset + * @param TKey $offset * * @return void */ @@ -236,6 +231,8 @@ class ArrayCollection implements Collection, Selectable /** * {@inheritDoc} + * + * @template TMaybeContained */ public function contains($element) { @@ -258,6 +255,12 @@ class ArrayCollection implements Collection, Selectable /** * {@inheritDoc} + * + * @psalm-param TMaybeContained $element + * + * @psalm-return (TMaybeContained is T ? TKey|false : false) + * + * @template TMaybeContained */ public function indexOf($element) { @@ -345,7 +348,7 @@ class ArrayCollection implements Collection, Selectable /** * {@inheritDoc} * - * @psalm-param Closure(T=):U $func + * @psalm-param Closure(T):U $func * * @return static * @psalm-return static diff --git a/frontend/drupal9/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Collection.php b/frontend/drupal9/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Collection.php index bba3d6869..fb091923c 100644 --- a/frontend/drupal9/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Collection.php +++ b/frontend/drupal9/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Collection.php @@ -4,8 +4,6 @@ namespace Doctrine\Common\Collections; use ArrayAccess; use Closure; -use Countable; -use IteratorAggregate; /** * The missing (SPL) Collection/Array/OrderedMap interface. @@ -26,10 +24,10 @@ use IteratorAggregate; * * @psalm-template TKey of array-key * @psalm-template T - * @template-extends IteratorAggregate - * @template-extends ArrayAccess + * @template-extends ReadableCollection + * @template-extends ArrayAccess */ -interface Collection extends Countable, IteratorAggregate, ArrayAccess +interface Collection extends ReadableCollection, ArrayAccess { /** * Adds an element at the end of the collection. @@ -48,24 +46,6 @@ interface Collection extends Countable, IteratorAggregate, ArrayAccess */ public function clear(); - /** - * Checks whether an element is contained in the collection. - * This is an O(n) operation, where n is the size of the collection. - * - * @param mixed $element The element to search for. - * @psalm-param T $element - * - * @return bool TRUE if the collection contains the element, FALSE otherwise. - */ - public function contains($element); - - /** - * Checks whether the collection is empty (contains no elements). - * - * @return bool TRUE if the collection is empty, FALSE otherwise. - */ - public function isEmpty(); - /** * Removes the element at the specified index from the collection. * @@ -87,46 +67,6 @@ interface Collection extends Countable, IteratorAggregate, ArrayAccess */ public function removeElement($element); - /** - * Checks whether the collection contains an element with the specified key/index. - * - * @param string|int $key The key/index to check for. - * @psalm-param TKey $key - * - * @return bool TRUE if the collection contains an element with the specified key/index, - * FALSE otherwise. - */ - public function containsKey($key); - - /** - * Gets the element at the specified key/index. - * - * @param string|int $key The key/index of the element to retrieve. - * @psalm-param TKey $key - * - * @return mixed - * @psalm-return T|null - */ - public function get($key); - - /** - * Gets all keys/indices of the collection. - * - * @return int[]|string[] The keys/indices of the collection, in the order of the corresponding - * elements in the collection. - * @psalm-return TKey[] - */ - public function getKeys(); - - /** - * Gets all values of the collection. - * - * @return mixed[] The values of all elements in the collection, in the - * order they appear in the collection. - * @psalm-return T[] - */ - public function getValues(); - /** * Sets an element in the collection at the specified key/index. * @@ -140,69 +80,7 @@ interface Collection extends Countable, IteratorAggregate, ArrayAccess public function set($key, $value); /** - * Gets a native PHP array representation of the collection. - * - * @return mixed[] - * @psalm-return array - */ - public function toArray(); - - /** - * Sets the internal iterator to the first element in the collection and returns this element. - * - * @return mixed - * @psalm-return T|false - */ - public function first(); - - /** - * Sets the internal iterator to the last element in the collection and returns this element. - * - * @return mixed - * @psalm-return T|false - */ - public function last(); - - /** - * Gets the key/index of the element at the current iterator position. - * - * @return int|string|null - * @psalm-return TKey|null - */ - public function key(); - - /** - * Gets the element of the collection at the current iterator position. - * - * @return mixed - * @psalm-return T|false - */ - public function current(); - - /** - * Moves the internal iterator position to the next element and returns this element. - * - * @return mixed - * @psalm-return T|false - */ - public function next(); - - /** - * Tests for the existence of an element that satisfies the given predicate. - * - * @param Closure $p The predicate. - * @psalm-param Closure(TKey=, T=):bool $p - * - * @return bool TRUE if the predicate is TRUE for at least one element, FALSE otherwise. - */ - public function exists(Closure $p); - - /** - * Returns all the elements of this collection that satisfy the predicate p. - * The order of the elements is preserved. - * - * @param Closure $p The predicate used for filtering. - * @psalm-param Closure(T=):bool $p + * {@inheritdoc} * * @return Collection A collection with the results of the filter operation. * @psalm-return Collection @@ -210,67 +88,12 @@ interface Collection extends Countable, IteratorAggregate, ArrayAccess public function filter(Closure $p); /** - * Tests whether the given predicate p holds for all elements of this collection. + * {@inheritdoc} * - * @param Closure $p The predicate. - * @psalm-param Closure(TKey=, T=):bool $p - * - * @return bool TRUE, if the predicate yields TRUE for all elements, FALSE otherwise. - */ - public function forAll(Closure $p); - - /** - * Applies the given function to each element in the collection and returns - * a new collection with the elements returned by the function. - * - * @psalm-param Closure(T=):U $func - * - * @return Collection - * @psalm-return Collection - * - * @psalm-template U - */ - public function map(Closure $func); - - /** - * Partitions this collection in two collections according to a predicate. - * Keys are preserved in the resulting collections. - * - * @param Closure $p The predicate on which to partition. - * @psalm-param Closure(TKey=, T=):bool $p - * - * @return Collection An array with two elements. The first element contains the collection + * @return Collection[] An array with two elements. The first element contains the collection * of elements where the predicate returned TRUE, the second element * contains the collection of elements where the predicate returned FALSE. * @psalm-return array{0: Collection, 1: Collection} */ public function partition(Closure $p); - - /** - * Gets the index/key of a given element. The comparison of two elements is strict, - * that means not only the value but also the type must match. - * For objects this means reference equality. - * - * @param mixed $element The element to search for. - * @psalm-param T $element - * - * @return int|string|bool The key/index of the element or FALSE if the element was not found. - * @psalm-return TKey|false - */ - public function indexOf($element); - - /** - * Extracts a slice of $length elements starting at position $offset from the Collection. - * - * If $length is null it returns all elements from $offset to the end of the Collection. - * Keys have to be preserved by this method. Calling this method will only return the - * selected slice and NOT change the elements contained in the collection slice is called on. - * - * @param int $offset The offset to start from. - * @param int|null $length The maximum number of elements to return, or null for no limit. - * - * @return mixed[] - * @psalm-return array - */ - public function slice($offset, $length = null); } diff --git a/frontend/drupal9/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Criteria.php b/frontend/drupal9/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Criteria.php index 9027e0707..c1639d3f3 100644 --- a/frontend/drupal9/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Criteria.php +++ b/frontend/drupal9/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Criteria.php @@ -4,8 +4,10 @@ namespace Doctrine\Common\Collections; use Doctrine\Common\Collections\Expr\CompositeExpression; use Doctrine\Common\Collections\Expr\Expression; +use Doctrine\Deprecations\Deprecation; use function array_map; +use function func_num_args; use function strtoupper; /** @@ -69,6 +71,15 @@ class Criteria { $this->expression = $expression; + if ($firstResult === null && func_num_args() > 2) { + Deprecation::trigger( + 'doctrine/collections', + 'https://github.com/doctrine/collections/pull/311', + 'Passing null as $firstResult to the constructor of %s is deprecated. Pass 0 instead or omit the argument.', + self::class + ); + } + $this->setFirstResult($firstResult); $this->setMaxResults($maxResults); @@ -82,7 +93,7 @@ class Criteria /** * Sets the where expression to evaluate when this Criteria is searched for. * - * @return Criteria + * @return $this */ public function where(Expression $expression) { @@ -95,7 +106,7 @@ class Criteria * Appends the where expression to evaluate when this Criteria is searched for * using an AND with previous expression. * - * @return Criteria + * @return $this */ public function andWhere(Expression $expression) { @@ -115,7 +126,7 @@ class Criteria * Appends the where expression to evaluate when this Criteria is searched for * using an OR with previous expression. * - * @return Criteria + * @return $this */ public function orWhere(Expression $expression) { @@ -161,7 +172,7 @@ class Criteria * * @param string[] $orderings * - * @return Criteria + * @return $this */ public function orderBy(array $orderings) { @@ -190,10 +201,19 @@ class Criteria * * @param int|null $firstResult The value to set. * - * @return Criteria + * @return $this */ public function setFirstResult($firstResult) { + if ($firstResult === null) { + Deprecation::triggerIfCalledFromOutside( + 'doctrine/collections', + 'https://github.com/doctrine/collections/pull/311', + 'Passing null to %s() is deprecated, pass 0 instead.', + __METHOD__ + ); + } + $this->firstResult = $firstResult; return $this; @@ -214,7 +234,7 @@ class Criteria * * @param int|null $maxResults The value to set. * - * @return Criteria + * @return $this */ public function setMaxResults($maxResults) { diff --git a/frontend/drupal9/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Expr/ClosureExpressionVisitor.php b/frontend/drupal9/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Expr/ClosureExpressionVisitor.php index b15ef7a83..c10b8d516 100644 --- a/frontend/drupal9/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Expr/ClosureExpressionVisitor.php +++ b/frontend/drupal9/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Expr/ClosureExpressionVisitor.php @@ -6,6 +6,7 @@ use ArrayAccess; use Closure; use RuntimeException; +use function explode; use function in_array; use function is_array; use function is_scalar; @@ -38,11 +39,18 @@ class ClosureExpressionVisitor extends ExpressionVisitor */ public static function getObjectFieldValue($object, $field) { + if (strpos($field, '.') !== false) { + [$field, $subField] = explode('.', $field, 2); + $object = self::getObjectFieldValue($object, $field); + + return self::getObjectFieldValue($object, $subField); + } + if (is_array($object)) { return $object[$field]; } - $accessors = ['get', 'is']; + $accessors = ['get', 'is', '']; foreach ($accessors as $accessor) { $accessor .= $field; @@ -231,9 +239,7 @@ class ClosureExpressionVisitor extends ExpressionVisitor } } - /** - * @param callable[] $expressions - */ + /** @param callable[] $expressions */ private function andExpressions(array $expressions): callable { return static function ($object) use ($expressions): bool { @@ -247,9 +253,7 @@ class ClosureExpressionVisitor extends ExpressionVisitor }; } - /** - * @param callable[] $expressions - */ + /** @param callable[] $expressions */ private function orExpressions(array $expressions): callable { return static function ($object) use ($expressions): bool { diff --git a/frontend/drupal9/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Expr/Comparison.php b/frontend/drupal9/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Expr/Comparison.php index 13e193cb5..6762b8be0 100644 --- a/frontend/drupal9/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Expr/Comparison.php +++ b/frontend/drupal9/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Expr/Comparison.php @@ -46,25 +46,19 @@ class Comparison implements Expression $this->value = $value; } - /** - * @return string - */ + /** @return string */ public function getField() { return $this->field; } - /** - * @return Value - */ + /** @return Value */ public function getValue() { return $this->value; } - /** - * @return string - */ + /** @return string */ public function getOperator() { return $this->op; diff --git a/frontend/drupal9/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Expr/CompositeExpression.php b/frontend/drupal9/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Expr/CompositeExpression.php index 924942bd6..174b21b8a 100644 --- a/frontend/drupal9/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Expr/CompositeExpression.php +++ b/frontend/drupal9/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Expr/CompositeExpression.php @@ -51,9 +51,7 @@ class CompositeExpression implements Expression return $this->expressions; } - /** - * @return string - */ + /** @return string */ public function getType() { return $this->type; diff --git a/frontend/drupal9/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Expr/Expression.php b/frontend/drupal9/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Expr/Expression.php index f40d529b6..566d6d50d 100644 --- a/frontend/drupal9/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Expr/Expression.php +++ b/frontend/drupal9/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Expr/Expression.php @@ -7,8 +7,6 @@ namespace Doctrine\Common\Collections\Expr; */ interface Expression { - /** - * @return mixed - */ + /** @return mixed */ public function visit(ExpressionVisitor $visitor); } diff --git a/frontend/drupal9/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Expr/Value.php b/frontend/drupal9/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Expr/Value.php index 0830286e1..693d345b0 100644 --- a/frontend/drupal9/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Expr/Value.php +++ b/frontend/drupal9/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Expr/Value.php @@ -7,17 +7,13 @@ class Value implements Expression /** @var mixed */ private $value; - /** - * @param mixed $value - */ + /** @param mixed $value */ public function __construct($value) { $this->value = $value; } - /** - * @return mixed - */ + /** @return mixed */ public function getValue() { return $this->value; diff --git a/frontend/drupal9/vendor/doctrine/collections/lib/Doctrine/Common/Collections/ReadableCollection.php b/frontend/drupal9/vendor/doctrine/collections/lib/Doctrine/Common/Collections/ReadableCollection.php new file mode 100644 index 000000000..44b374969 --- /dev/null +++ b/frontend/drupal9/vendor/doctrine/collections/lib/Doctrine/Common/Collections/ReadableCollection.php @@ -0,0 +1,213 @@ + + */ +interface ReadableCollection extends Countable, IteratorAggregate +{ + /** + * Checks whether an element is contained in the collection. + * This is an O(n) operation, where n is the size of the collection. + * + * @param mixed $element The element to search for. + * @psalm-param TMaybeContained $element + * + * @return bool TRUE if the collection contains the element, FALSE otherwise. + * @psalm-return (TMaybeContained is T ? bool : false) + * + * @template TMaybeContained + */ + public function contains($element); + + /** + * Checks whether the collection is empty (contains no elements). + * + * @return bool TRUE if the collection is empty, FALSE otherwise. + */ + public function isEmpty(); + + /** + * Checks whether the collection contains an element with the specified key/index. + * + * @param string|int $key The key/index to check for. + * @psalm-param TKey $key + * + * @return bool TRUE if the collection contains an element with the specified key/index, + * FALSE otherwise. + */ + public function containsKey($key); + + /** + * Gets the element at the specified key/index. + * + * @param string|int $key The key/index of the element to retrieve. + * @psalm-param TKey $key + * + * @return mixed + * @psalm-return T|null + */ + public function get($key); + + /** + * Gets all keys/indices of the collection. + * + * @return int[]|string[] The keys/indices of the collection, in the order of the corresponding + * elements in the collection. + * @psalm-return list + */ + public function getKeys(); + + /** + * Gets all values of the collection. + * + * @return mixed[] The values of all elements in the collection, in the + * order they appear in the collection. + * @psalm-return list + */ + public function getValues(); + + /** + * Gets a native PHP array representation of the collection. + * + * @return mixed[] + * @psalm-return array + */ + public function toArray(); + + /** + * Sets the internal iterator to the first element in the collection and returns this element. + * + * @return mixed + * @psalm-return T|false + */ + public function first(); + + /** + * Sets the internal iterator to the last element in the collection and returns this element. + * + * @return mixed + * @psalm-return T|false + */ + public function last(); + + /** + * Gets the key/index of the element at the current iterator position. + * + * @return int|string|null + * @psalm-return TKey|null + */ + public function key(); + + /** + * Gets the element of the collection at the current iterator position. + * + * @return mixed + * @psalm-return T|false + */ + public function current(); + + /** + * Moves the internal iterator position to the next element and returns this element. + * + * @return mixed + * @psalm-return T|false + */ + public function next(); + + /** + * Extracts a slice of $length elements starting at position $offset from the Collection. + * + * If $length is null it returns all elements from $offset to the end of the Collection. + * Keys have to be preserved by this method. Calling this method will only return the + * selected slice and NOT change the elements contained in the collection slice is called on. + * + * @param int $offset The offset to start from. + * @param int|null $length The maximum number of elements to return, or null for no limit. + * + * @return mixed[] + * @psalm-return array + */ + public function slice($offset, $length = null); + + /** + * Tests for the existence of an element that satisfies the given predicate. + * + * @param Closure $p The predicate. + * @psalm-param Closure(TKey, T):bool $p + * + * @return bool TRUE if the predicate is TRUE for at least one element, FALSE otherwise. + */ + public function exists(Closure $p); + + /** + * Returns all the elements of this collection that satisfy the predicate p. + * The order of the elements is preserved. + * + * @param Closure $p The predicate used for filtering. + * @psalm-param Closure(T):bool $p + * + * @return ReadableCollection A collection with the results of the filter operation. + * @psalm-return ReadableCollection + */ + public function filter(Closure $p); + + /** + * Applies the given function to each element in the collection and returns + * a new collection with the elements returned by the function. + * + * @psalm-param Closure(T):U $func + * + * @return Collection + * @psalm-return Collection + * + * @psalm-template U + */ + public function map(Closure $func); + + /** + * Partitions this collection in two collections according to a predicate. + * Keys are preserved in the resulting collections. + * + * @param Closure $p The predicate on which to partition. + * @psalm-param Closure(TKey, T):bool $p + * + * @return ReadableCollection[] An array with two elements. The first element contains the collection + * of elements where the predicate returned TRUE, the second element + * contains the collection of elements where the predicate returned FALSE. + * @psalm-return array{0: ReadableCollection, 1: ReadableCollection} + */ + public function partition(Closure $p); + + /** + * Tests whether the given predicate p holds for all elements of this collection. + * + * @param Closure $p The predicate. + * @psalm-param Closure(TKey, T):bool $p + * + * @return bool TRUE, if the predicate yields TRUE for all elements, FALSE otherwise. + */ + public function forAll(Closure $p); + + /** + * Gets the index/key of a given element. The comparison of two elements is strict, + * that means not only the value but also the type must match. + * For objects this means reference equality. + * + * @param mixed $element The element to search for. + * @psalm-param TMaybeContained $element + * + * @return int|string|bool The key/index of the element or FALSE if the element was not found. + * @psalm-return (TMaybeContained is T ? TKey|false : false) + * + * @template TMaybeContained + */ + public function indexOf($element); +} diff --git a/frontend/drupal9/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Selectable.php b/frontend/drupal9/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Selectable.php index ddc73bb69..9f7586de3 100644 --- a/frontend/drupal9/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Selectable.php +++ b/frontend/drupal9/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Selectable.php @@ -23,8 +23,8 @@ interface Selectable * Selects all elements from a selectable that match the expression and * returns a new collection containing these elements. * - * @return Collection - * @psalm-return Collection + * @return Collection&Selectable + * @psalm-return Collection&Selectable */ public function matching(Criteria $criteria); } diff --git a/frontend/drupal9/vendor/doctrine/collections/phpstan.neon.dist b/frontend/drupal9/vendor/doctrine/collections/phpstan.neon.dist deleted file mode 100644 index 9fa9195a8..000000000 --- a/frontend/drupal9/vendor/doctrine/collections/phpstan.neon.dist +++ /dev/null @@ -1,17 +0,0 @@ -parameters: - level: 3 - paths: - - lib - ignoreErrors: - # Making classes final as suggested would be a BC-break - - - message: '~Unsafe usage of new static\(\)\.~' - paths: - - 'lib/Doctrine/Common/Collections/ArrayCollection.php' - - 'lib/Doctrine/Common/Collections/Criteria.php' - - - message: '~Array \(array\\) does not accept key int\.~' - path: 'lib/Doctrine/Common/Collections/ArrayCollection.php' - - # This class is new in PHP 8.1 and PHPStan does not know it yet. - - '/Attribute class ReturnTypeWillChange does not exist./' diff --git a/frontend/drupal9/vendor/doctrine/collections/psalm.xml.dist b/frontend/drupal9/vendor/doctrine/collections/psalm.xml.dist deleted file mode 100644 index 3b5d11113..000000000 --- a/frontend/drupal9/vendor/doctrine/collections/psalm.xml.dist +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/frontend/drupal9/vendor/doctrine/deprecations/LICENSE b/frontend/drupal9/vendor/doctrine/deprecations/LICENSE new file mode 100644 index 000000000..156905cdd --- /dev/null +++ b/frontend/drupal9/vendor/doctrine/deprecations/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2020-2021 Doctrine Project + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/frontend/drupal9/vendor/doctrine/deprecations/README.md b/frontend/drupal9/vendor/doctrine/deprecations/README.md new file mode 100644 index 000000000..22f0cced3 --- /dev/null +++ b/frontend/drupal9/vendor/doctrine/deprecations/README.md @@ -0,0 +1,154 @@ +# Doctrine Deprecations + +A small (side-effect free by default) layer on top of +`trigger_error(E_USER_DEPRECATED)` or PSR-3 logging. + +- no side-effects by default, making it a perfect fit for libraries that don't know how the error handler works they operate under +- options to avoid having to rely on error handlers global state by using PSR-3 logging +- deduplicate deprecation messages to avoid excessive triggering and reduce overhead + +We recommend to collect Deprecations using a PSR logger instead of relying on +the global error handler. + +## Usage from consumer perspective: + +Enable Doctrine deprecations to be sent to a PSR3 logger: + +```php +\Doctrine\Deprecations\Deprecation::enableWithPsrLogger($logger); +``` + +Enable Doctrine deprecations to be sent as `@trigger_error($message, E_USER_DEPRECATED)` +messages. + +```php +\Doctrine\Deprecations\Deprecation::enableWithTriggerError(); +``` + +If you only want to enable deprecation tracking, without logging or calling `trigger_error` then call: + +```php +\Doctrine\Deprecations\Deprecation::enableTrackingDeprecations(); +``` + +Tracking is enabled with all three modes and provides access to all triggered +deprecations and their individual count: + +```php +$deprecations = \Doctrine\Deprecations\Deprecation::getTriggeredDeprecations(); + +foreach ($deprecations as $identifier => $count) { + echo $identifier . " was triggered " . $count . " times\n"; +} +``` + +### Suppressing Specific Deprecations + +Disable triggering about specific deprecations: + +```php +\Doctrine\Deprecations\Deprecation::ignoreDeprecations("https://link/to/deprecations-description-identifier"); +``` + +Disable all deprecations from a package + +```php +\Doctrine\Deprecations\Deprecation::ignorePackage("doctrine/orm"); +``` + +### Other Operations + +When used within PHPUnit or other tools that could collect multiple instances of the same deprecations +the deduplication can be disabled: + +```php +\Doctrine\Deprecations\Deprecation::withoutDeduplication(); +``` + +Disable deprecation tracking again: + +```php +\Doctrine\Deprecations\Deprecation::disable(); +``` + +## Usage from a library/producer perspective: + +When you want to unconditionally trigger a deprecation even when called +from the library itself then the `trigger` method is the way to go: + +```php +\Doctrine\Deprecations\Deprecation::trigger( + "doctrine/orm", + "https://link/to/deprecations-description", + "message" +); +``` + +If variable arguments are provided at the end, they are used with `sprintf` on +the message. + +```php +\Doctrine\Deprecations\Deprecation::trigger( + "doctrine/orm", + "https://github.com/doctrine/orm/issue/1234", + "message %s %d", + "foo", + 1234 +); +``` + +When you want to trigger a deprecation only when it is called by a function +outside of the current package, but not trigger when the package itself is the cause, +then use: + +```php +\Doctrine\Deprecations\Deprecation::triggerIfCalledFromOutside( + "doctrine/orm", + "https://link/to/deprecations-description", + "message" +); +``` + +Based on the issue link each deprecation message is only triggered once per +request. + +A limited stacktrace is included in the deprecation message to find the +offending location. + +Note: A producer/library should never call `Deprecation::enableWith` methods +and leave the decision how to handle deprecations to application and +frameworks. + +## Usage in PHPUnit tests + +There is a `VerifyDeprecations` trait that you can use to make assertions on +the occurrence of deprecations within a test. + +```php +use Doctrine\Deprecations\PHPUnit\VerifyDeprecations; + +class MyTest extends TestCase +{ + use VerifyDeprecations; + + public function testSomethingDeprecation() + { + $this->expectDeprecationWithIdentifier('https://github.com/doctrine/orm/issue/1234'); + + triggerTheCodeWithDeprecation(); + } + + public function testSomethingDeprecationFixed() + { + $this->expectNoDeprecationWithIdentifier('https://github.com/doctrine/orm/issue/1234'); + + triggerTheCodeWithoutDeprecation(); + } +} +``` + +## What is a deprecation identifier? + +An identifier for deprecations is just a link to any resource, most often a +Github Issue or Pull Request explaining the deprecation and potentially its +alternative. diff --git a/frontend/drupal9/vendor/doctrine/deprecations/composer.json b/frontend/drupal9/vendor/doctrine/deprecations/composer.json new file mode 100644 index 000000000..c79e38cdc --- /dev/null +++ b/frontend/drupal9/vendor/doctrine/deprecations/composer.json @@ -0,0 +1,32 @@ +{ + "name": "doctrine/deprecations", + "type": "library", + "description": "A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disable all deprecations or selectively for packages.", + "homepage": "https://www.doctrine-project.org/", + "license": "MIT", + "require": { + "php": "^7.1|^8.0" + }, + "require-dev": { + "phpunit/phpunit": "^7.5|^8.5|^9.5", + "psr/log": "^1|^2|^3", + "doctrine/coding-standard": "^9" + }, + "suggest": { + "psr/log": "Allows logging deprecations via PSR-3 logger implementation" + }, + "autoload": { + "psr-4": {"Doctrine\\Deprecations\\": "lib/Doctrine/Deprecations"} + }, + "autoload-dev": { + "psr-4": { + "DeprecationTests\\": "test_fixtures/src", + "Doctrine\\Foo\\": "test_fixtures/vendor/doctrine/foo" + } + }, + "config": { + "allow-plugins": { + "dealerdirect/phpcodesniffer-composer-installer": true + } + } +} diff --git a/frontend/drupal9/vendor/doctrine/deprecations/lib/Doctrine/Deprecations/Deprecation.php b/frontend/drupal9/vendor/doctrine/deprecations/lib/Doctrine/Deprecations/Deprecation.php new file mode 100644 index 000000000..1029372fa --- /dev/null +++ b/frontend/drupal9/vendor/doctrine/deprecations/lib/Doctrine/Deprecations/Deprecation.php @@ -0,0 +1,266 @@ + */ + private static $ignoredPackages = []; + + /** @var array */ + private static $ignoredLinks = []; + + /** @var bool */ + private static $deduplication = true; + + /** + * Trigger a deprecation for the given package and identfier. + * + * The link should point to a Github issue or Wiki entry detailing the + * deprecation. It is additionally used to de-duplicate the trigger of the + * same deprecation during a request. + * + * @param mixed $args + */ + public static function trigger(string $package, string $link, string $message, ...$args): void + { + if (self::$type === self::TYPE_NONE) { + return; + } + + if (array_key_exists($link, self::$ignoredLinks)) { + self::$ignoredLinks[$link]++; + } else { + self::$ignoredLinks[$link] = 1; + } + + if (self::$deduplication === true && self::$ignoredLinks[$link] > 1) { + return; + } + + if (isset(self::$ignoredPackages[$package])) { + return; + } + + $backtrace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 2); + + $message = sprintf($message, ...$args); + + self::delegateTriggerToBackend($message, $backtrace, $link, $package); + } + + /** + * Trigger a deprecation for the given package and identifier when called from outside. + * + * "Outside" means we assume that $package is currently installed as a + * dependency and the caller is not a file in that package. When $package + * is installed as a root package then deprecations triggered from the + * tests folder are also considered "outside". + * + * This deprecation method assumes that you are using Composer to install + * the dependency and are using the default /vendor/ folder and not a + * Composer plugin to change the install location. The assumption is also + * that $package is the exact composer packge name. + * + * Compared to {@link trigger()} this method causes some overhead when + * deprecation tracking is enabled even during deduplication, because it + * needs to call {@link debug_backtrace()} + * + * @param mixed $args + */ + public static function triggerIfCalledFromOutside(string $package, string $link, string $message, ...$args): void + { + if (self::$type === self::TYPE_NONE) { + return; + } + + $backtrace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 2); + + // first check that the caller is not from a tests folder, in which case we always let deprecations pass + if (strpos($backtrace[1]['file'], DIRECTORY_SEPARATOR . 'tests' . DIRECTORY_SEPARATOR) === false) { + $path = DIRECTORY_SEPARATOR . 'vendor' . DIRECTORY_SEPARATOR . $package . DIRECTORY_SEPARATOR; + + if (strpos($backtrace[0]['file'], $path) === false) { + return; + } + + if (strpos($backtrace[1]['file'], $path) !== false) { + return; + } + } + + if (array_key_exists($link, self::$ignoredLinks)) { + self::$ignoredLinks[$link]++; + } else { + self::$ignoredLinks[$link] = 1; + } + + if (self::$deduplication === true && self::$ignoredLinks[$link] > 1) { + return; + } + + if (isset(self::$ignoredPackages[$package])) { + return; + } + + $message = sprintf($message, ...$args); + + self::delegateTriggerToBackend($message, $backtrace, $link, $package); + } + + /** + * @param array $backtrace + */ + private static function delegateTriggerToBackend(string $message, array $backtrace, string $link, string $package): void + { + if ((self::$type & self::TYPE_PSR_LOGGER) > 0) { + $context = [ + 'file' => $backtrace[0]['file'], + 'line' => $backtrace[0]['line'], + 'package' => $package, + 'link' => $link, + ]; + + self::$logger->notice($message, $context); + } + + if (! ((self::$type & self::TYPE_TRIGGER_ERROR) > 0)) { + return; + } + + $message .= sprintf( + ' (%s:%d called by %s:%d, %s, package %s)', + self::basename($backtrace[0]['file']), + $backtrace[0]['line'], + self::basename($backtrace[1]['file']), + $backtrace[1]['line'], + $link, + $package + ); + + @trigger_error($message, E_USER_DEPRECATED); + } + + /** + * A non-local-aware version of PHPs basename function. + */ + private static function basename(string $filename): string + { + $pos = strrpos($filename, DIRECTORY_SEPARATOR); + + if ($pos === false) { + return $filename; + } + + return substr($filename, $pos + 1); + } + + public static function enableTrackingDeprecations(): void + { + self::$type |= self::TYPE_TRACK_DEPRECATIONS; + } + + public static function enableWithTriggerError(): void + { + self::$type |= self::TYPE_TRIGGER_ERROR; + } + + public static function enableWithPsrLogger(LoggerInterface $logger): void + { + self::$type |= self::TYPE_PSR_LOGGER; + self::$logger = $logger; + } + + public static function withoutDeduplication(): void + { + self::$deduplication = false; + } + + public static function disable(): void + { + self::$type = self::TYPE_NONE; + self::$logger = null; + self::$deduplication = true; + + foreach (self::$ignoredLinks as $link => $count) { + self::$ignoredLinks[$link] = 0; + } + } + + public static function ignorePackage(string $packageName): void + { + self::$ignoredPackages[$packageName] = true; + } + + public static function ignoreDeprecations(string ...$links): void + { + foreach ($links as $link) { + self::$ignoredLinks[$link] = 0; + } + } + + public static function getUniqueTriggeredDeprecationsCount(): int + { + return array_reduce(self::$ignoredLinks, static function (int $carry, int $count) { + return $carry + $count; + }, 0); + } + + /** + * Returns each triggered deprecation link identifier and the amount of occurrences. + * + * @return array + */ + public static function getTriggeredDeprecations(): array + { + return self::$ignoredLinks; + } +} diff --git a/frontend/drupal9/vendor/doctrine/deprecations/lib/Doctrine/Deprecations/PHPUnit/VerifyDeprecations.php b/frontend/drupal9/vendor/doctrine/deprecations/lib/Doctrine/Deprecations/PHPUnit/VerifyDeprecations.php new file mode 100644 index 000000000..4c3366a97 --- /dev/null +++ b/frontend/drupal9/vendor/doctrine/deprecations/lib/Doctrine/Deprecations/PHPUnit/VerifyDeprecations.php @@ -0,0 +1,66 @@ + */ + private $doctrineDeprecationsExpectations = []; + + /** @var array */ + private $doctrineNoDeprecationsExpectations = []; + + public function expectDeprecationWithIdentifier(string $identifier): void + { + $this->doctrineDeprecationsExpectations[$identifier] = Deprecation::getTriggeredDeprecations()[$identifier] ?? 0; + } + + public function expectNoDeprecationWithIdentifier(string $identifier): void + { + $this->doctrineNoDeprecationsExpectations[$identifier] = Deprecation::getTriggeredDeprecations()[$identifier] ?? 0; + } + + /** + * @before + */ + public function enableDeprecationTracking(): void + { + Deprecation::enableTrackingDeprecations(); + } + + /** + * @after + */ + public function verifyDeprecationsAreTriggered(): void + { + foreach ($this->doctrineDeprecationsExpectations as $identifier => $expectation) { + $actualCount = Deprecation::getTriggeredDeprecations()[$identifier] ?? 0; + + $this->assertTrue( + $actualCount > $expectation, + sprintf( + "Expected deprecation with identifier '%s' was not triggered by code executed in test.", + $identifier + ) + ); + } + + foreach ($this->doctrineNoDeprecationsExpectations as $identifier => $expectation) { + $actualCount = Deprecation::getTriggeredDeprecations()[$identifier] ?? 0; + + $this->assertTrue( + $actualCount === $expectation, + sprintf( + "Expected deprecation with identifier '%s' was triggered by code executed in test, but expected not to.", + $identifier + ) + ); + } + } +} diff --git a/frontend/drupal9/vendor/doctrine/deprecations/phpcs.xml b/frontend/drupal9/vendor/doctrine/deprecations/phpcs.xml new file mode 100644 index 000000000..f115e43dd --- /dev/null +++ b/frontend/drupal9/vendor/doctrine/deprecations/phpcs.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + lib + tests + + + + + + diff --git a/frontend/drupal9/vendor/doctrine/event-manager/.doctrine-project.json b/frontend/drupal9/vendor/doctrine/event-manager/.doctrine-project.json index f6feb43c4..3c72b4227 100644 --- a/frontend/drupal9/vendor/doctrine/event-manager/.doctrine-project.json +++ b/frontend/drupal9/vendor/doctrine/event-manager/.doctrine-project.json @@ -5,14 +5,21 @@ "docsSlug": "doctrine-event-manager", "versions": [ { - "name": "1.0", - "branchName": "master", + "name": "1.1", + "branchName": "1.1.x", "slug": "latest", "current": true, "aliases": [ "current", "stable" ] + }, + { + "name": "1.0", + "branchName": "1.0", + "slug": "1.0", + "current": false, + "maintained": false } ] } diff --git a/frontend/drupal9/vendor/doctrine/event-manager/README.md b/frontend/drupal9/vendor/doctrine/event-manager/README.md index 3aee6b6f0..c4efd8c80 100644 --- a/frontend/drupal9/vendor/doctrine/event-manager/README.md +++ b/frontend/drupal9/vendor/doctrine/event-manager/README.md @@ -1,6 +1,6 @@ # Doctrine Event Manager -[![Build Status](https://travis-ci.org/doctrine/event-manager.svg)](https://travis-ci.org/doctrine/event-manager) +[![Build Status](https://github.com/doctrine/event-manager/workflows/Continuous%20Integration/badge.svg)](https://github.com/doctrine/event-manager/actions) [![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/doctrine/event-manager/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/doctrine/event-manager/?branch=master) [![Code Coverage](https://scrutinizer-ci.com/g/doctrine/event-manager/badges/coverage.png?b=master)](https://scrutinizer-ci.com/g/doctrine/event-manager/?branch=master) diff --git a/frontend/drupal9/vendor/doctrine/event-manager/composer.json b/frontend/drupal9/vendor/doctrine/event-manager/composer.json index 3f026fe8b..8973b3f5d 100644 --- a/frontend/drupal9/vendor/doctrine/event-manager/composer.json +++ b/frontend/drupal9/vendor/doctrine/event-manager/composer.json @@ -23,13 +23,18 @@ "php": "^7.1 || ^8.0" }, "require-dev": { - "doctrine/coding-standard": "^6.0", - "phpunit/phpunit": "^7.0" + "doctrine/coding-standard": "^9", + "phpstan/phpstan": "~1.4.10 || ^1.5.4", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", + "vimeo/psalm": "^4.22" }, "conflict": { - "doctrine/common": "<2.9@dev" + "doctrine/common": "<2.9" }, "config": { + "allow-plugins": { + "dealerdirect/phpcodesniffer-composer-installer": true + }, "sort-packages": true }, "autoload": { @@ -41,10 +46,5 @@ "psr-4": { "Doctrine\\Tests\\": "tests/Doctrine/Tests" } - }, - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } } } diff --git a/frontend/drupal9/vendor/doctrine/event-manager/lib/Doctrine/Common/EventArgs.php b/frontend/drupal9/vendor/doctrine/event-manager/lib/Doctrine/Common/EventArgs.php index 9b9cc0565..4795ba6be 100644 --- a/frontend/drupal9/vendor/doctrine/event-manager/lib/Doctrine/Common/EventArgs.php +++ b/frontend/drupal9/vendor/doctrine/event-manager/lib/Doctrine/Common/EventArgs.php @@ -16,7 +16,7 @@ class EventArgs /** * Single instance of EventArgs. * - * @var EventArgs + * @var EventArgs|null */ private static $_emptyEventArgsInstance; diff --git a/frontend/drupal9/vendor/doctrine/event-manager/lib/Doctrine/Common/EventManager.php b/frontend/drupal9/vendor/doctrine/event-manager/lib/Doctrine/Common/EventManager.php index a0860e37e..946c22d16 100644 --- a/frontend/drupal9/vendor/doctrine/event-manager/lib/Doctrine/Common/EventManager.php +++ b/frontend/drupal9/vendor/doctrine/event-manager/lib/Doctrine/Common/EventManager.php @@ -48,6 +48,7 @@ class EventManager * @param string|null $event The name of the event. * * @return object[]|object[][] The event listeners for the specified event, or all event listeners. + * @psalm-return ($event is null ? object[][] : object[]) */ public function getListeners($event = null) { diff --git a/frontend/drupal9/vendor/doctrine/event-manager/lib/Doctrine/Common/EventSubscriber.php b/frontend/drupal9/vendor/doctrine/event-manager/lib/Doctrine/Common/EventSubscriber.php index 7d5e2ea3f..89cef558a 100644 --- a/frontend/drupal9/vendor/doctrine/event-manager/lib/Doctrine/Common/EventSubscriber.php +++ b/frontend/drupal9/vendor/doctrine/event-manager/lib/Doctrine/Common/EventSubscriber.php @@ -5,7 +5,7 @@ declare(strict_types=1); namespace Doctrine\Common; /** - * An EventSubscriber knows himself what events he is interested in. + * An EventSubscriber knows what events it is interested in. * If an EventSubscriber is added to an EventManager, the manager invokes * {@link getSubscribedEvents} and registers the subscriber as a listener for all * returned events. diff --git a/frontend/drupal9/vendor/doctrine/event-manager/phpstan.neon.dist b/frontend/drupal9/vendor/doctrine/event-manager/phpstan.neon.dist new file mode 100644 index 000000000..207bc42f0 --- /dev/null +++ b/frontend/drupal9/vendor/doctrine/event-manager/phpstan.neon.dist @@ -0,0 +1,5 @@ +parameters: + level: 9 + paths: + - lib/ + - tests/ diff --git a/frontend/drupal9/vendor/doctrine/event-manager/psalm.xml b/frontend/drupal9/vendor/doctrine/event-manager/psalm.xml new file mode 100644 index 000000000..9d1a7c7be --- /dev/null +++ b/frontend/drupal9/vendor/doctrine/event-manager/psalm.xml @@ -0,0 +1,15 @@ + + + + + + + + + diff --git a/frontend/drupal9/vendor/guzzlehttp/promises/CHANGELOG.md b/frontend/drupal9/vendor/guzzlehttp/promises/CHANGELOG.md index 235e13bc7..253282eb1 100644 --- a/frontend/drupal9/vendor/guzzlehttp/promises/CHANGELOG.md +++ b/frontend/drupal9/vendor/guzzlehttp/promises/CHANGELOG.md @@ -1,5 +1,11 @@ # CHANGELOG +## 1.5.2 - 2022-08-07 + +### Changed + +- Officially support PHP 8.2 + ## 1.5.1 - 2021-10-22 ### Fixed @@ -12,10 +18,11 @@ ### Changed - Call handler when waiting on fulfilled/rejected Promise +- Officially support PHP 8.1 ### Fixed -- Fix manually settle promises generated with Utils::task +- Fix manually settle promises generated with `Utils::task` ## 1.4.1 - 2021-02-18 diff --git a/frontend/drupal9/vendor/guzzlehttp/promises/Makefile b/frontend/drupal9/vendor/guzzlehttp/promises/Makefile deleted file mode 100644 index 8d5b3ef95..000000000 --- a/frontend/drupal9/vendor/guzzlehttp/promises/Makefile +++ /dev/null @@ -1,13 +0,0 @@ -all: clean test - -test: - vendor/bin/phpunit - -coverage: - vendor/bin/phpunit --coverage-html=artifacts/coverage - -view-coverage: - open artifacts/coverage/index.html - -clean: - rm -rf artifacts/* diff --git a/frontend/drupal9/vendor/guzzlehttp/promises/README.md b/frontend/drupal9/vendor/guzzlehttp/promises/README.md index c175fec76..1ea667ab9 100644 --- a/frontend/drupal9/vendor/guzzlehttp/promises/README.md +++ b/frontend/drupal9/vendor/guzzlehttp/promises/README.md @@ -17,7 +17,7 @@ for a general introduction to promises. - [Implementation notes](#implementation-notes) -# Features +## Features - [Promises/A+](https://promisesaplus.com/) implementation. - Promise resolution and chaining is handled iteratively, allowing for @@ -29,15 +29,14 @@ for a general introduction to promises. `GuzzleHttp\Promise\Coroutine::of()`. -# Quick start +## Quick Start A *promise* represents the eventual result of an asynchronous operation. The primary way of interacting with a promise is through its `then` method, which registers callbacks to receive either a promise's eventual value or the reason why the promise cannot be fulfilled. - -## Callbacks +### Callbacks Callbacks are registered with the `then` method by providing an optional `$onFulfilled` followed by an optional `$onRejected` function. @@ -60,12 +59,11 @@ $promise->then( ``` *Resolving* a promise means that you either fulfill a promise with a *value* or -reject a promise with a *reason*. Resolving a promises triggers callbacks -registered with the promises's `then` method. These callbacks are triggered +reject a promise with a *reason*. Resolving a promise triggers callbacks +registered with the promise's `then` method. These callbacks are triggered only once and in the order in which they were added. - -## Resolving a promise +### Resolving a Promise Promises are fulfilled using the `resolve($value)` method. Resolving a promise with any value other than a `GuzzleHttp\Promise\RejectedPromise` will trigger @@ -92,8 +90,7 @@ $promise $promise->resolve('reader.'); ``` - -## Promise forwarding +### Promise Forwarding Promises can be chained one after the other. Each then in the chain is a new promise. The return value of a promise is what's forwarded to the next @@ -123,7 +120,7 @@ $promise->resolve('A'); $nextPromise->resolve('B'); ``` -## Promise rejection +### Promise Rejection When a promise is rejected, the `$onRejected` callbacks are invoked with the rejection reason. @@ -140,7 +137,7 @@ $promise->reject('Error!'); // Outputs "Error!" ``` -## Rejection forwarding +### Rejection Forwarding If an exception is thrown in an `$onRejected` callback, subsequent `$onRejected` callbacks are invoked with the thrown exception as the reason. @@ -195,7 +192,8 @@ $promise $promise->reject('Error!'); ``` -# Synchronous wait + +## Synchronous Wait You can synchronously force promises to complete using a promise's `wait` method. When creating a promise, you can provide a wait function that is used @@ -247,8 +245,7 @@ $promise->wait(); > PHP Fatal error: Uncaught exception 'GuzzleHttp\Promise\RejectionException' with message 'The promise was rejected with value: foo' - -## Unwrapping a promise +### Unwrapping a Promise When synchronously waiting on a promise, you are joining the state of the promise into the current state of execution (i.e., return the value of the @@ -275,7 +272,7 @@ wait function will be the value delivered to promise B. **Note**: when you do not unwrap the promise, no value is returned. -# Cancellation +## Cancellation You can cancel a promise that has not yet been fulfilled using the `cancel()` method of a promise. When creating a promise you can provide an optional @@ -283,10 +280,9 @@ cancel function that when invoked cancels the action of computing a resolution of the promise. -# API +## API - -## Promise +### Promise When creating a promise object, you can provide an optional `$waitFn` and `$cancelFn`. `$waitFn` is a function that is invoked with no arguments and is @@ -349,7 +345,7 @@ A promise has the following methods: Rejects the promise with the given `$reason`. -## FulfilledPromise +### FulfilledPromise A fulfilled promise can be created to represent a promise that has been fulfilled. @@ -366,7 +362,7 @@ $promise->then(function ($value) { ``` -## RejectedPromise +### RejectedPromise A rejected promise can be created to represent a promise that has been rejected. @@ -383,7 +379,7 @@ $promise->then(null, function ($reason) { ``` -# Promise interop +## Promise Interoperability This library works with foreign promises that have a `then` method. This means you can use Guzzle promises with [React promises](https://github.com/reactphp/promise) @@ -409,7 +405,7 @@ a foreign promise. You will need to wrap a third-party promise with a Guzzle promise in order to utilize wait and cancel functions with foreign promises. -## Event Loop Integration +### Event Loop Integration In order to keep the stack size constant, Guzzle promises are resolved asynchronously using a task queue. When waiting on promises synchronously, the @@ -437,10 +433,9 @@ $loop->addPeriodicTimer(0, [$queue, 'run']); *TODO*: Perhaps adding a `futureTick()` on each tick would be faster? -# Implementation notes +## Implementation Notes - -## Promise resolution and chaining is handled iteratively +### Promise Resolution and Chaining is Handled Iteratively By shuffling pending handlers from one owner to another, promises are resolved iteratively, allowing for "infinite" then chaining. @@ -476,8 +471,7 @@ all of its pending handlers to the new promise. When the new promise is eventually resolved, all of the pending handlers are delivered the forwarded value. - -## A promise is the deferred. +### A Promise is the Deferred Some promise libraries implement promises using a deferred object to represent a computation and a promise object to represent the delivery of the result of @@ -505,7 +499,10 @@ $promise->resolve('foo'); ## Upgrading from Function API -A static API was first introduced in 1.4.0, in order to mitigate problems with functions conflicting between global and local copies of the package. The function API will be removed in 2.0.0. A migration table has been provided here for your convenience: +A static API was first introduced in 1.4.0, in order to mitigate problems with +functions conflicting between global and local copies of the package. The +function API will be removed in 2.0.0. A migration table has been provided here +for your convenience: | Original Function | Replacement Method | |----------------|----------------| @@ -536,10 +533,12 @@ A static API was first introduced in 1.4.0, in order to mitigate problems with f If you discover a security vulnerability within this package, please send an email to security@tidelift.com. All security vulnerabilities will be promptly addressed. Please do not disclose security-related issues publicly until a fix has been announced. Please see [Security Policy](https://github.com/guzzle/promises/security/policy) for more information. + ## License Guzzle is made available under the MIT License (MIT). Please see [License File](LICENSE) for more information. + ## For Enterprise Available as part of the Tidelift Subscription diff --git a/frontend/drupal9/vendor/guzzlehttp/promises/src/EachPromise.php b/frontend/drupal9/vendor/guzzlehttp/promises/src/EachPromise.php index 38ecb59b1..280d79950 100644 --- a/frontend/drupal9/vendor/guzzlehttp/promises/src/EachPromise.php +++ b/frontend/drupal9/vendor/guzzlehttp/promises/src/EachPromise.php @@ -81,16 +81,8 @@ class EachPromise implements PromisorInterface $this->iterable->rewind(); $this->refillPending(); } catch (\Throwable $e) { - /** - * @psalm-suppress NullReference - * @phpstan-ignore-next-line - */ $this->aggregate->reject($e); } catch (\Exception $e) { - /** - * @psalm-suppress NullReference - * @phpstan-ignore-next-line - */ $this->aggregate->reject($e); } diff --git a/frontend/drupal9/vendor/masterminds/html5/README.md b/frontend/drupal9/vendor/masterminds/html5/README.md index 546d3e24c..b1ca1e371 100644 --- a/frontend/drupal9/vendor/masterminds/html5/README.md +++ b/frontend/drupal9/vendor/masterminds/html5/README.md @@ -1,3 +1,19 @@ +> # UKRAINE NEEDS YOUR HELP NOW! +> +> On 24 February 2022, Russian [President Vladimir Putin ordered an invasion of Ukraine by Russian Armed Forces](https://www.bbc.com/news/world-europe-60504334). +> +> Your support is urgently needed. +> +> - Donate to the volunteers. Here is the volunteer fund helping the Ukrainian army to provide all the necessary equipment: +> https://bank.gov.ua/en/news/all/natsionalniy-bank-vidkriv-spetsrahunok-dlya-zboru-koshtiv-na-potrebi-armiyi or https://savelife.in.ua/en/donate/ +> - Triple-check social media sources. Russian disinformation is attempting to coverup and distort the reality in Ukraine. +> - Help Ukrainian refugees who are fleeing Russian attacks and shellings: https://www.globalcitizen.org/en/content/ways-to-help-ukraine-conflict/ +> - Put pressure on your political representatives to provide help to Ukraine. +> - Believe in the Ukrainian people, they will not surrender, they don't have another Ukraine. +> +> THANK YOU! +---- + # HTML5-PHP HTML5 is a standards-compliant HTML5 parser and writer written entirely in PHP. diff --git a/frontend/drupal9/vendor/masterminds/html5/RELEASE.md b/frontend/drupal9/vendor/masterminds/html5/RELEASE.md index 86c0dac3f..33007ed69 100644 --- a/frontend/drupal9/vendor/masterminds/html5/RELEASE.md +++ b/frontend/drupal9/vendor/masterminds/html5/RELEASE.md @@ -1,5 +1,9 @@ # Release Notes +2.7.6 (2021-08-18) + +- #218: Address comment handling issues + 2.7.5 (2021-07-01) - #204: Travis: Enable tests on PHP 8.0 diff --git a/frontend/drupal9/vendor/masterminds/html5/src/HTML5/Parser/Scanner.php b/frontend/drupal9/vendor/masterminds/html5/src/HTML5/Parser/Scanner.php index 1b52983e7..1b25888bc 100644 --- a/frontend/drupal9/vendor/masterminds/html5/src/HTML5/Parser/Scanner.php +++ b/frontend/drupal9/vendor/masterminds/html5/src/HTML5/Parser/Scanner.php @@ -104,7 +104,7 @@ class Scanner */ public function peek() { - if (($this->char + 1) <= $this->EOF) { + if (($this->char + 1) < $this->EOF) { return $this->data[$this->char + 1]; } diff --git a/frontend/drupal9/vendor/masterminds/html5/src/HTML5/Parser/Tokenizer.php b/frontend/drupal9/vendor/masterminds/html5/src/HTML5/Parser/Tokenizer.php index 300a44626..016919ae2 100644 --- a/frontend/drupal9/vendor/masterminds/html5/src/HTML5/Parser/Tokenizer.php +++ b/frontend/drupal9/vendor/masterminds/html5/src/HTML5/Parser/Tokenizer.php @@ -712,18 +712,24 @@ class Tokenizer return true; } - // If it doesn't start with -, not the end. - if ('-' != $tok) { + // If next two tokens are not '--', not the end. + if ('-' != $tok || '-' != $this->scanner->peek()) { return false; } - // Advance one, and test for '->' - if ('-' == $this->scanner->next() && '>' == $this->scanner->peek()) { + $this->scanner->consume(2); // Consume '-' and one of '!' or '>' + + // Test for '>' + if ('>' == $this->scanner->current()) { + return true; + } + // Test for '!>' + if ('!' == $this->scanner->current() && '>' == $this->scanner->peek()) { $this->scanner->consume(); // Consume the last '>' return true; } - // Unread '-'; - $this->scanner->unconsume(1); + // Unread '-' and one of '!' or '>'; + $this->scanner->unconsume(2); return false; } diff --git a/frontend/drupal9/vendor/symfony/console/Command/Command.php b/frontend/drupal9/vendor/symfony/console/Command/Command.php index da9b9f6af..b0c1bf864 100644 --- a/frontend/drupal9/vendor/symfony/console/Command/Command.php +++ b/frontend/drupal9/vendor/symfony/console/Command/Command.php @@ -195,7 +195,7 @@ class Command * * @return int The command exit code * - * @throws \Exception When binding input fails. Bypass this by calling {@link ignoreValidationErrors()}. + * @throws ExceptionInterface When input binding fails. Bypass this by calling {@link ignoreValidationErrors()}. * * @see setCode() * @see execute() diff --git a/frontend/drupal9/vendor/symfony/console/DependencyInjection/AddConsoleCommandPass.php b/frontend/drupal9/vendor/symfony/console/DependencyInjection/AddConsoleCommandPass.php index aff892cc2..d9449dc56 100644 --- a/frontend/drupal9/vendor/symfony/console/DependencyInjection/AddConsoleCommandPass.php +++ b/frontend/drupal9/vendor/symfony/console/DependencyInjection/AddConsoleCommandPass.php @@ -55,7 +55,7 @@ class AddConsoleCommandPass implements CompilerPassInterface if (!$r->isSubclassOf(Command::class)) { throw new InvalidArgumentException(sprintf('The service "%s" tagged "%s" must be a subclass of "%s".', $id, $this->commandTag, Command::class)); } - $commandName = $class::getDefaultName() !== null ? str_replace('%', '%%', $class::getDefaultName()) : null; + $commandName = null !== $class::getDefaultName() ? str_replace('%', '%%', $class::getDefaultName()) : null; } if (null === $commandName) { diff --git a/frontend/drupal9/vendor/symfony/console/Descriptor/ApplicationDescription.php b/frontend/drupal9/vendor/symfony/console/Descriptor/ApplicationDescription.php index 3970b9000..91b184605 100644 --- a/frontend/drupal9/vendor/symfony/console/Descriptor/ApplicationDescription.php +++ b/frontend/drupal9/vendor/symfony/console/Descriptor/ApplicationDescription.php @@ -131,7 +131,7 @@ class ApplicationDescription } if ($namespacedCommands) { - ksort($namespacedCommands); + ksort($namespacedCommands, \SORT_STRING); foreach ($namespacedCommands as $key => $commandsSet) { ksort($commandsSet); $sortedCommands[$key] = $commandsSet; diff --git a/frontend/drupal9/vendor/symfony/console/Helper/Table.php b/frontend/drupal9/vendor/symfony/console/Helper/Table.php index 99496b1c7..f068f02fa 100644 --- a/frontend/drupal9/vendor/symfony/console/Helper/Table.php +++ b/frontend/drupal9/vendor/symfony/console/Helper/Table.php @@ -641,7 +641,7 @@ class Table { $unmergedRows = []; foreach ($rows[$line] as $column => $cell) { - if (null !== $cell && !$cell instanceof TableCell && !is_scalar($cell) && !(\is_object($cell) && method_exists($cell, '__toString'))) { + if (null !== $cell && !$cell instanceof TableCell && !\is_scalar($cell) && !(\is_object($cell) && method_exists($cell, '__toString'))) { throw new InvalidArgumentException(sprintf('A cell must be a TableCell, a scalar or an object implementing "__toString()", "%s" given.', \gettype($cell))); } if ($cell instanceof TableCell && $cell->getRowspan() > 1) { diff --git a/frontend/drupal9/vendor/symfony/console/Logger/ConsoleLogger.php b/frontend/drupal9/vendor/symfony/console/Logger/ConsoleLogger.php index c9ee03561..4a10fa172 100644 --- a/frontend/drupal9/vendor/symfony/console/Logger/ConsoleLogger.php +++ b/frontend/drupal9/vendor/symfony/console/Logger/ConsoleLogger.php @@ -110,7 +110,7 @@ class ConsoleLogger extends AbstractLogger $replacements = []; foreach ($context as $key => $val) { - if (null === $val || is_scalar($val) || (\is_object($val) && method_exists($val, '__toString'))) { + if (null === $val || \is_scalar($val) || (\is_object($val) && method_exists($val, '__toString'))) { $replacements["{{$key}}"] = $val; } elseif ($val instanceof \DateTimeInterface) { $replacements["{{$key}}"] = $val->format(\DateTime::RFC3339); diff --git a/frontend/drupal9/vendor/symfony/console/Style/SymfonyStyle.php b/frontend/drupal9/vendor/symfony/console/Style/SymfonyStyle.php index 66db3ad5a..1c99a1865 100644 --- a/frontend/drupal9/vendor/symfony/console/Style/SymfonyStyle.php +++ b/frontend/drupal9/vendor/symfony/console/Style/SymfonyStyle.php @@ -430,18 +430,18 @@ class SymfonyStyle extends OutputStyle $chars = substr(str_replace(\PHP_EOL, "\n", $this->bufferedOutput->fetch()), -2); if (!isset($chars[0])) { - $this->newLine(); //empty history, so we should start with a new line. + $this->newLine(); // empty history, so we should start with a new line. return; } - //Prepend new line for each non LF chars (This means no blank line was output before) + // Prepend new line for each non LF chars (This means no blank line was output before) $this->newLine(2 - substr_count($chars, "\n")); } private function autoPrependText(): void { $fetched = $this->bufferedOutput->fetch(); - //Prepend new line if last char isn't EOL: + // Prepend new line if last char isn't EOL: if (!str_ends_with($fetched, "\n")) { $this->newLine(); } diff --git a/frontend/drupal9/vendor/symfony/debug/Debug.php b/frontend/drupal9/vendor/symfony/debug/Debug.php index a44b993f3..99215cf3f 100644 --- a/frontend/drupal9/vendor/symfony/debug/Debug.php +++ b/frontend/drupal9/vendor/symfony/debug/Debug.php @@ -49,7 +49,7 @@ class Debug if (!\in_array(\PHP_SAPI, ['cli', 'phpdbg'], true)) { ini_set('display_errors', 0); ExceptionHandler::register(); - } elseif ($displayErrors && (!filter_var(ini_get('log_errors'), \FILTER_VALIDATE_BOOLEAN) || ini_get('error_log'))) { + } elseif ($displayErrors && (!filter_var(\ini_get('log_errors'), \FILTER_VALIDATE_BOOLEAN) || \ini_get('error_log'))) { // CLI - display errors only if they're not already logged to STDERR ini_set('display_errors', 1); } diff --git a/frontend/drupal9/vendor/symfony/debug/ErrorHandler.php b/frontend/drupal9/vendor/symfony/debug/ErrorHandler.php index 99791f9aa..fe425e05c 100644 --- a/frontend/drupal9/vendor/symfony/debug/ErrorHandler.php +++ b/frontend/drupal9/vendor/symfony/debug/ErrorHandler.php @@ -354,8 +354,8 @@ class ErrorHandler */ private function reRegister(int $prev) { - if ($prev !== $this->thrownErrors | $this->loggedErrors) { - $handler = set_error_handler('var_dump'); + if ($prev !== ($this->thrownErrors | $this->loggedErrors)) { + $handler = set_error_handler('is_int'); $handler = \is_array($handler) ? $handler[0] : null; restore_error_handler(); if ($handler === $this) { @@ -490,7 +490,7 @@ class ErrorHandler $log = 0; } else { if (\PHP_VERSION_ID < (\PHP_VERSION_ID < 70400 ? 70316 : 70404)) { - $currentErrorHandler = set_error_handler('var_dump'); + $currentErrorHandler = set_error_handler('is_int'); restore_error_handler(); } @@ -601,7 +601,7 @@ class ErrorHandler $sameHandlerLimit = 10; while (!\is_array($handler) || !$handler[0] instanceof self) { - $handler = set_exception_handler('var_dump'); + $handler = set_exception_handler('is_int'); restore_exception_handler(); if (!$handler) { diff --git a/frontend/drupal9/vendor/symfony/debug/ExceptionHandler.php b/frontend/drupal9/vendor/symfony/debug/ExceptionHandler.php index 21be2827c..fd8a7fd5d 100644 --- a/frontend/drupal9/vendor/symfony/debug/ExceptionHandler.php +++ b/frontend/drupal9/vendor/symfony/debug/ExceptionHandler.php @@ -55,7 +55,7 @@ class ExceptionHandler public function __construct(bool $debug = true, string $charset = null, $fileLinkFormat = null) { $this->debug = $debug; - $this->charset = $charset ?: ini_get('default_charset') ?: 'UTF-8'; + $this->charset = $charset ?: \ini_get('default_charset') ?: 'UTF-8'; $this->fileLinkFormat = $fileLinkFormat; } @@ -390,7 +390,7 @@ EOF; private function formatPath(string $path, int $line): string { $file = $this->escapeHtml(preg_match('#[^/\\\\]*+$#', $path, $file) ? $file[0] : $path); - $fmt = $this->fileLinkFormat ?: ini_get('xdebug.file_link_format') ?: get_cfg_var('xdebug.file_link_format'); + $fmt = $this->fileLinkFormat ?: \ini_get('xdebug.file_link_format') ?: get_cfg_var('xdebug.file_link_format'); if (!$fmt) { return sprintf('in %s%s', $this->escapeHtml($path), $file, 0 < $line ? ' line '.$line : ''); diff --git a/frontend/drupal9/vendor/symfony/dependency-injection/Compiler/AnalyzeServiceReferencesPass.php b/frontend/drupal9/vendor/symfony/dependency-injection/Compiler/AnalyzeServiceReferencesPass.php index 92e4acacf..4b7970cb4 100644 --- a/frontend/drupal9/vendor/symfony/dependency-injection/Compiler/AnalyzeServiceReferencesPass.php +++ b/frontend/drupal9/vendor/symfony/dependency-injection/Compiler/AnalyzeServiceReferencesPass.php @@ -120,7 +120,7 @@ class AnalyzeServiceReferencesPass extends AbstractRecursivePass implements Repe $value, $this->lazy || ($targetDefinition && $targetDefinition->isLazy()), true - ); + ); } return $value; diff --git a/frontend/drupal9/vendor/symfony/dependency-injection/Compiler/CheckDefinitionValidityPass.php b/frontend/drupal9/vendor/symfony/dependency-injection/Compiler/CheckDefinitionValidityPass.php index 7abac908f..40ea56df5 100644 --- a/frontend/drupal9/vendor/symfony/dependency-injection/Compiler/CheckDefinitionValidityPass.php +++ b/frontend/drupal9/vendor/symfony/dependency-injection/Compiler/CheckDefinitionValidityPass.php @@ -63,7 +63,7 @@ class CheckDefinitionValidityPass implements CompilerPassInterface foreach ($definition->getTags() as $name => $tags) { foreach ($tags as $attributes) { foreach ($attributes as $attribute => $value) { - if (!is_scalar($value) && null !== $value) { + if (!\is_scalar($value) && null !== $value) { throw new RuntimeException(sprintf('A "tags" attribute must be of a scalar-type for service "%s", tag "%s", attribute "%s".', $id, $name, $attribute)); } } diff --git a/frontend/drupal9/vendor/symfony/dependency-injection/Definition.php b/frontend/drupal9/vendor/symfony/dependency-injection/Definition.php index 34ddbbbdd..f5cf7c5ab 100644 --- a/frontend/drupal9/vendor/symfony/dependency-injection/Definition.php +++ b/frontend/drupal9/vendor/symfony/dependency-injection/Definition.php @@ -143,7 +143,7 @@ class Definition * * @throws InvalidArgumentException in case the decorated service id and the new decorated service id are equals */ - public function setDecoratedService($id, $renamedId = null, $priority = 0/*, int $invalidBehavior = ContainerInterface::EXCEPTION_ON_INVALID_REFERENCE*/) + public function setDecoratedService($id, $renamedId = null, $priority = 0/* , int $invalidBehavior = ContainerInterface::EXCEPTION_ON_INVALID_REFERENCE */) { if ($renamedId && $id === $renamedId) { throw new InvalidArgumentException(sprintf('The decorated service inner name for "%s" must be different than the service name itself.', $id)); @@ -370,7 +370,7 @@ class Definition * * @throws InvalidArgumentException on empty $method param */ - public function addMethodCall($method, array $arguments = []/*, bool $returnsClone = false*/) + public function addMethodCall($method, array $arguments = []/* , bool $returnsClone = false */) { if (empty($method)) { throw new InvalidArgumentException('Method name cannot be empty.'); diff --git a/frontend/drupal9/vendor/symfony/dependency-injection/Dumper/PhpDumper.php b/frontend/drupal9/vendor/symfony/dependency-injection/Dumper/PhpDumper.php index e2abcc2b9..e8f8f8608 100644 --- a/frontend/drupal9/vendor/symfony/dependency-injection/Dumper/PhpDumper.php +++ b/frontend/drupal9/vendor/symfony/dependency-injection/Dumper/PhpDumper.php @@ -688,13 +688,13 @@ EOF; if ($v instanceof Reference && $this->container->has($id = (string) $v) && $this->container->findDefinition($id)->isSynthetic()) { continue; } - if (!is_scalar($v) || $this->dumpValue($v) !== $this->dumpValue($v, false)) { + if (!\is_scalar($v) || $this->dumpValue($v) !== $this->dumpValue($v, false)) { return false; } } } elseif ($arg instanceof Reference && $this->container->has($id = (string) $arg) && $this->container->findDefinition($id)->isSynthetic()) { continue; - } elseif (!is_scalar($arg) || $this->dumpValue($arg) !== $this->dumpValue($arg, false)) { + } elseif (!\is_scalar($arg) || $this->dumpValue($arg) !== $this->dumpValue($arg, false)) { return false; } } diff --git a/frontend/drupal9/vendor/symfony/dependency-injection/EnvVarProcessor.php b/frontend/drupal9/vendor/symfony/dependency-injection/EnvVarProcessor.php index 3441febfc..a3fb6d2e0 100644 --- a/frontend/drupal9/vendor/symfony/dependency-injection/EnvVarProcessor.php +++ b/frontend/drupal9/vendor/symfony/dependency-injection/EnvVarProcessor.php @@ -111,7 +111,7 @@ class EnvVarProcessor implements EnvVarProcessorInterface } if ('file' === $prefix || 'require' === $prefix) { - if (!is_scalar($file = $getEnv($name))) { + if (!\is_scalar($file = $getEnv($name))) { throw new RuntimeException(sprintf('Invalid file name: env var "%s" is non-scalar.', $name)); } if (!file_exists($file)) { @@ -183,7 +183,7 @@ class EnvVarProcessor implements EnvVarProcessorInterface return null; } - if (!is_scalar($env)) { + if (!\is_scalar($env)) { throw new RuntimeException(sprintf('Non-scalar env var "%s" cannot be cast to "%s".', $name, $prefix)); } @@ -280,7 +280,7 @@ class EnvVarProcessor implements EnvVarProcessorInterface $value = $this->container->getParameter($match[1]); } - if (!is_scalar($value)) { + if (!\is_scalar($value)) { throw new RuntimeException(sprintf('Parameter "%s" found when resolving env var "%s" must be scalar, "%s" given.', $match[1], $name, \gettype($value))); } diff --git a/frontend/drupal9/vendor/symfony/dependency-injection/Extension/Extension.php b/frontend/drupal9/vendor/symfony/dependency-injection/Extension/Extension.php index 01c1e0014..8a436fc8f 100644 --- a/frontend/drupal9/vendor/symfony/dependency-injection/Extension/Extension.php +++ b/frontend/drupal9/vendor/symfony/dependency-injection/Extension/Extension.php @@ -94,7 +94,7 @@ abstract class Extension implements ExtensionInterface, ConfigurationExtensionIn if (!$class->implementsInterface(ConfigurationInterface::class)) { @trigger_error(sprintf('Not implementing "%s" in the extension configuration class "%s" is deprecated since Symfony 4.1.', ConfigurationInterface::class, $class->getName()), \E_USER_DEPRECATED); - //throw new LogicException(sprintf('The extension configuration class "%s" must implement "%s".', $class->getName(), ConfigurationInterface::class)); + // throw new LogicException(sprintf('The extension configuration class "%s" must implement "%s".', $class->getName(), ConfigurationInterface::class)); return null; } diff --git a/frontend/drupal9/vendor/symfony/dependency-injection/LazyProxy/ProxyHelper.php b/frontend/drupal9/vendor/symfony/dependency-injection/LazyProxy/ProxyHelper.php index 32b94df04..46897efba 100644 --- a/frontend/drupal9/vendor/symfony/dependency-injection/LazyProxy/ProxyHelper.php +++ b/frontend/drupal9/vendor/symfony/dependency-injection/LazyProxy/ProxyHelper.php @@ -32,6 +32,11 @@ class ProxyHelper return null; } + return self::getTypeHintForType($type, $r, $noBuiltin); + } + + private static function getTypeHintForType(\ReflectionType $type, \ReflectionFunctionAbstract $r, bool $noBuiltin): ?string + { $types = []; $glue = '|'; if ($type instanceof \ReflectionUnionType) { @@ -46,6 +51,17 @@ class ProxyHelper } foreach ($reflectionTypes as $type) { + if ($type instanceof \ReflectionIntersectionType) { + $typeHint = self::getTypeHintForType($type, $r, $noBuiltin); + if (null === $typeHint) { + return null; + } + + $types[] = sprintf('(%s)', $typeHint); + + continue; + } + if ($type->isBuiltin()) { if (!$noBuiltin) { $types[] = $type->getName(); diff --git a/frontend/drupal9/vendor/symfony/dependency-injection/Loader/Configurator/AbstractConfigurator.php b/frontend/drupal9/vendor/symfony/dependency-injection/Loader/Configurator/AbstractConfigurator.php index a983b5024..39959eb7e 100644 --- a/frontend/drupal9/vendor/symfony/dependency-injection/Loader/Configurator/AbstractConfigurator.php +++ b/frontend/drupal9/vendor/symfony/dependency-injection/Loader/Configurator/AbstractConfigurator.php @@ -82,7 +82,7 @@ abstract class AbstractConfigurator switch (true) { case null === $value: - case is_scalar($value): + case \is_scalar($value): return $value; case $value instanceof ArgumentInterface: diff --git a/frontend/drupal9/vendor/symfony/dependency-injection/Loader/Configurator/DefaultsConfigurator.php b/frontend/drupal9/vendor/symfony/dependency-injection/Loader/Configurator/DefaultsConfigurator.php index 49a92e5ce..e0b42750d 100644 --- a/frontend/drupal9/vendor/symfony/dependency-injection/Loader/Configurator/DefaultsConfigurator.php +++ b/frontend/drupal9/vendor/symfony/dependency-injection/Loader/Configurator/DefaultsConfigurator.php @@ -49,7 +49,7 @@ class DefaultsConfigurator extends AbstractServiceConfigurator } foreach ($attributes as $attribute => $value) { - if (null !== $value && !is_scalar($value)) { + if (null !== $value && !\is_scalar($value)) { throw new InvalidArgumentException(sprintf('Tag "%s", attribute "%s" in "_defaults" must be of a scalar-type.', $name, $attribute)); } } diff --git a/frontend/drupal9/vendor/symfony/dependency-injection/Loader/Configurator/Traits/TagTrait.php b/frontend/drupal9/vendor/symfony/dependency-injection/Loader/Configurator/Traits/TagTrait.php index f4d5f002c..ba9f8afa9 100644 --- a/frontend/drupal9/vendor/symfony/dependency-injection/Loader/Configurator/Traits/TagTrait.php +++ b/frontend/drupal9/vendor/symfony/dependency-injection/Loader/Configurator/Traits/TagTrait.php @@ -27,7 +27,7 @@ trait TagTrait } foreach ($attributes as $attribute => $value) { - if (!is_scalar($value) && null !== $value) { + if (!\is_scalar($value) && null !== $value) { throw new InvalidArgumentException(sprintf('A tag attribute must be of a scalar-type for service "%s", tag "%s", attribute "%s".', $this->id, $name, $attribute)); } } diff --git a/frontend/drupal9/vendor/symfony/dependency-injection/Loader/FileLoader.php b/frontend/drupal9/vendor/symfony/dependency-injection/Loader/FileLoader.php index d5a6e2e55..34197b9a1 100644 --- a/frontend/drupal9/vendor/symfony/dependency-injection/Loader/FileLoader.php +++ b/frontend/drupal9/vendor/symfony/dependency-injection/Loader/FileLoader.php @@ -51,7 +51,7 @@ abstract class FileLoader extends BaseFileLoader * @param bool|string $ignoreErrors Whether errors should be ignored; pass "not_found" to ignore only when the loaded resource is not found * @param string|string[]|null $exclude Glob patterns to exclude from the import */ - public function import($resource, $type = null, $ignoreErrors = false, $sourceResource = null/*, $exclude = null*/) + public function import($resource, $type = null, $ignoreErrors = false, $sourceResource = null/* , $exclude = null */) { $args = \func_get_args(); diff --git a/frontend/drupal9/vendor/symfony/dependency-injection/Loader/XmlFileLoader.php b/frontend/drupal9/vendor/symfony/dependency-injection/Loader/XmlFileLoader.php index fdf4fa1f4..9add847ac 100644 --- a/frontend/drupal9/vendor/symfony/dependency-injection/Loader/XmlFileLoader.php +++ b/frontend/drupal9/vendor/symfony/dependency-injection/Loader/XmlFileLoader.php @@ -676,7 +676,7 @@ EOF }); $schema = ' - + '; file_put_contents($tmpfile, ' diff --git a/frontend/drupal9/vendor/symfony/dependency-injection/Loader/YamlFileLoader.php b/frontend/drupal9/vendor/symfony/dependency-injection/Loader/YamlFileLoader.php index f15fc3492..7843ec973 100644 --- a/frontend/drupal9/vendor/symfony/dependency-injection/Loader/YamlFileLoader.php +++ b/frontend/drupal9/vendor/symfony/dependency-injection/Loader/YamlFileLoader.php @@ -277,7 +277,7 @@ class YamlFileLoader extends FileLoader } foreach ($tag as $attribute => $value) { - if (!is_scalar($value) && null !== $value) { + if (!\is_scalar($value) && null !== $value) { throw new InvalidArgumentException(sprintf('Tag "%s", attribute "%s" in "_defaults" must be of a scalar-type in "%s". Check your YAML syntax.', $name, $attribute, $file)); } } @@ -534,7 +534,7 @@ class YamlFileLoader extends FileLoader } foreach ($tag as $attribute => $value) { - if (!is_scalar($value) && null !== $value) { + if (!\is_scalar($value) && null !== $value) { throw new InvalidArgumentException(sprintf('A "tags" attribute must be of a scalar-type for service "%s", tag "%s", attribute "%s" in "%s". Check your YAML syntax.', $id, $name, $attribute, $file)); } } diff --git a/frontend/drupal9/vendor/symfony/dependency-injection/ParameterBag/EnvPlaceholderParameterBag.php b/frontend/drupal9/vendor/symfony/dependency-injection/ParameterBag/EnvPlaceholderParameterBag.php index 22f681209..450e39cd2 100644 --- a/frontend/drupal9/vendor/symfony/dependency-injection/ParameterBag/EnvPlaceholderParameterBag.php +++ b/frontend/drupal9/vendor/symfony/dependency-injection/ParameterBag/EnvPlaceholderParameterBag.php @@ -51,10 +51,10 @@ class EnvPlaceholderParameterBag extends ParameterBag if ($this->has($name)) { $defaultValue = parent::get($name); - if (null !== $defaultValue && !is_scalar($defaultValue)) { // !is_string in 5.0 - //throw new RuntimeException(sprintf('The default value of an env() parameter must be a string or null, but "%s" given to "%s".', \gettype($defaultValue), $name)); + if (null !== $defaultValue && !\is_scalar($defaultValue)) { // !is_string in 5.0 + // throw new RuntimeException(sprintf('The default value of an env() parameter must be a string or null, but "%s" given to "%s".', \gettype($defaultValue), $name)); throw new RuntimeException(sprintf('The default value of an env() parameter must be scalar or null, but "%s" given to "%s".', \gettype($defaultValue), $name)); - } elseif (is_scalar($defaultValue) && !\is_string($defaultValue)) { + } elseif (\is_scalar($defaultValue) && !\is_string($defaultValue)) { @trigger_error(sprintf('A non-string default value of an env() parameter is deprecated since 4.3, cast "%s" to string instead.', $name), \E_USER_DEPRECATED); } } @@ -162,10 +162,10 @@ class EnvPlaceholderParameterBag extends ParameterBag @trigger_error(sprintf('A non-string default value of env parameter "%s" is deprecated since 4.3, cast it to string instead.', $env), \E_USER_DEPRECATED); } $this->parameters[$name] = (string) $default; - } elseif (null !== $default && !is_scalar($default)) { // !is_string in 5.0 - //throw new RuntimeException(sprintf('The default value of env parameter "%s" must be a string or null, "%s" given.', $env, \gettype($default))); + } elseif (null !== $default && !\is_scalar($default)) { // !is_string in 5.0 + // throw new RuntimeException(sprintf('The default value of env parameter "%s" must be a string or null, "%s" given.', $env, \gettype($default))); throw new RuntimeException(sprintf('The default value of env parameter "%s" must be scalar or null, "%s" given.', $env, \gettype($default))); - } elseif (is_scalar($default) && !\is_string($default)) { + } elseif (\is_scalar($default) && !\is_string($default)) { @trigger_error(sprintf('A non-string default value of env parameter "%s" is deprecated since 4.3, cast it to string instead.', $env), \E_USER_DEPRECATED); } } diff --git a/frontend/drupal9/vendor/symfony/error-handler/BufferingLogger.php b/frontend/drupal9/vendor/symfony/error-handler/BufferingLogger.php index fdfc72497..cfd55c61f 100644 --- a/frontend/drupal9/vendor/symfony/error-handler/BufferingLogger.php +++ b/frontend/drupal9/vendor/symfony/error-handler/BufferingLogger.php @@ -53,7 +53,7 @@ class BufferingLogger extends AbstractLogger foreach ($this->logs as [$level, $message, $context]) { if (false !== strpos($message, '{')) { foreach ($context as $key => $val) { - if (null === $val || is_scalar($val) || (\is_object($val) && \is_callable([$val, '__toString']))) { + if (null === $val || \is_scalar($val) || (\is_object($val) && \is_callable([$val, '__toString']))) { $message = str_replace("{{$key}}", $val, $message); } elseif ($val instanceof \DateTimeInterface) { $message = str_replace("{{$key}}", $val->format(\DateTime::RFC3339), $message); diff --git a/frontend/drupal9/vendor/symfony/error-handler/Debug.php b/frontend/drupal9/vendor/symfony/error-handler/Debug.php index 4a8281218..343a35a77 100644 --- a/frontend/drupal9/vendor/symfony/error-handler/Debug.php +++ b/frontend/drupal9/vendor/symfony/error-handler/Debug.php @@ -24,7 +24,7 @@ class Debug if (!\in_array(\PHP_SAPI, ['cli', 'phpdbg'], true)) { ini_set('display_errors', 0); - } elseif (!filter_var(ini_get('log_errors'), \FILTER_VALIDATE_BOOLEAN) || ini_get('error_log')) { + } elseif (!filter_var(\ini_get('log_errors'), \FILTER_VALIDATE_BOOLEAN) || \ini_get('error_log')) { // CLI - display errors only if they're not already logged to STDERR ini_set('display_errors', 1); } diff --git a/frontend/drupal9/vendor/symfony/error-handler/DebugClassLoader.php b/frontend/drupal9/vendor/symfony/error-handler/DebugClassLoader.php index 342e6e83b..ce05790b1 100644 --- a/frontend/drupal9/vendor/symfony/error-handler/DebugClassLoader.php +++ b/frontend/drupal9/vendor/symfony/error-handler/DebugClassLoader.php @@ -70,6 +70,8 @@ class DebugClassLoader 'self' => 'self', 'parent' => 'parent', 'mixed' => 'mixed', + 'list' => 'array', + 'class-string' => 'string', ] + (\PHP_VERSION_ID >= 80000 ? [ 'static' => 'static', '$this' => 'static', diff --git a/frontend/drupal9/vendor/symfony/error-handler/ErrorHandler.php b/frontend/drupal9/vendor/symfony/error-handler/ErrorHandler.php index ceadcaf67..fba6f8cf7 100644 --- a/frontend/drupal9/vendor/symfony/error-handler/ErrorHandler.php +++ b/frontend/drupal9/vendor/symfony/error-handler/ErrorHandler.php @@ -374,8 +374,8 @@ class ErrorHandler */ private function reRegister(int $prev): void { - if ($prev !== $this->thrownErrors | $this->loggedErrors) { - $handler = set_error_handler('var_dump'); + if ($prev !== ($this->thrownErrors | $this->loggedErrors)) { + $handler = set_error_handler('is_int'); $handler = \is_array($handler) ? $handler[0] : null; restore_error_handler(); if ($handler === $this) { @@ -522,7 +522,7 @@ class ErrorHandler $log = 0; } else { if (\PHP_VERSION_ID < (\PHP_VERSION_ID < 70400 ? 70316 : 70404)) { - $currentErrorHandler = set_error_handler('var_dump'); + $currentErrorHandler = set_error_handler('is_int'); restore_error_handler(); } @@ -639,7 +639,7 @@ class ErrorHandler $sameHandlerLimit = 10; while (!\is_array($handler) || !$handler[0] instanceof self) { - $handler = set_exception_handler('var_dump'); + $handler = set_exception_handler('is_int'); restore_exception_handler(); if (!$handler) { diff --git a/frontend/drupal9/vendor/symfony/error-handler/ErrorRenderer/HtmlErrorRenderer.php b/frontend/drupal9/vendor/symfony/error-handler/ErrorRenderer/HtmlErrorRenderer.php index 69e1b9ce7..4c0fb9cc2 100644 --- a/frontend/drupal9/vendor/symfony/error-handler/ErrorRenderer/HtmlErrorRenderer.php +++ b/frontend/drupal9/vendor/symfony/error-handler/ErrorRenderer/HtmlErrorRenderer.php @@ -56,8 +56,8 @@ class HtmlErrorRenderer implements ErrorRendererInterface } $this->debug = $debug; - $this->charset = $charset ?: (ini_get('default_charset') ?: 'UTF-8'); - $this->fileLinkFormat = $fileLinkFormat ?: (ini_get('xdebug.file_link_format') ?: get_cfg_var('xdebug.file_link_format')); + $this->charset = $charset ?: (\ini_get('default_charset') ?: 'UTF-8'); + $this->fileLinkFormat = $fileLinkFormat ?: (\ini_get('xdebug.file_link_format') ?: get_cfg_var('xdebug.file_link_format')); $this->projectDir = $projectDir; $this->outputBuffer = $outputBuffer; $this->logger = $logger; @@ -319,7 +319,7 @@ class HtmlErrorRenderer implements ErrorRendererInterface if ($context && false !== strpos($message, '{')) { $replacements = []; foreach ($context as $key => $val) { - if (is_scalar($val)) { + if (\is_scalar($val)) { $replacements['{'.$key.'}'] = $val; } } diff --git a/frontend/drupal9/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php b/frontend/drupal9/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php index 56116cf44..98e7df634 100644 --- a/frontend/drupal9/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php +++ b/frontend/drupal9/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php @@ -133,7 +133,7 @@ class TraceableEventDispatcher implements TraceableEventDispatcherInterface * * @param string|null $eventName */ - public function dispatch($event/*, string $eventName = null*/) + public function dispatch($event/* , string $eventName = null */) { if (null === $this->callStack) { $this->callStack = new \SplObjectStorage(); diff --git a/frontend/drupal9/vendor/symfony/event-dispatcher/EventDispatcher.php b/frontend/drupal9/vendor/symfony/event-dispatcher/EventDispatcher.php index 4a8f6c6f1..3d8ac4281 100644 --- a/frontend/drupal9/vendor/symfony/event-dispatcher/EventDispatcher.php +++ b/frontend/drupal9/vendor/symfony/event-dispatcher/EventDispatcher.php @@ -48,7 +48,7 @@ class EventDispatcher implements EventDispatcherInterface * * @param string|null $eventName */ - public function dispatch($event/*, string $eventName = null*/) + public function dispatch($event/* , string $eventName = null */) { $eventName = 1 < \func_num_args() ? func_get_arg(1) : null; diff --git a/frontend/drupal9/vendor/symfony/event-dispatcher/ImmutableEventDispatcher.php b/frontend/drupal9/vendor/symfony/event-dispatcher/ImmutableEventDispatcher.php index 75a7d7318..f3d04d25a 100644 --- a/frontend/drupal9/vendor/symfony/event-dispatcher/ImmutableEventDispatcher.php +++ b/frontend/drupal9/vendor/symfony/event-dispatcher/ImmutableEventDispatcher.php @@ -30,11 +30,11 @@ class ImmutableEventDispatcher implements EventDispatcherInterface * * @param string|null $eventName */ - public function dispatch($event/*, string $eventName = null*/) + public function dispatch($event/* , string $eventName = null */) { $eventName = 1 < \func_num_args() ? func_get_arg(1) : null; - if (is_scalar($event)) { + if (\is_scalar($event)) { // deprecated $swap = $event; $event = $eventName ?? new Event(); diff --git a/frontend/drupal9/vendor/symfony/event-dispatcher/LegacyEventDispatcherProxy.php b/frontend/drupal9/vendor/symfony/event-dispatcher/LegacyEventDispatcherProxy.php index 8ee6cba1b..a802c9932 100644 --- a/frontend/drupal9/vendor/symfony/event-dispatcher/LegacyEventDispatcherProxy.php +++ b/frontend/drupal9/vendor/symfony/event-dispatcher/LegacyEventDispatcherProxy.php @@ -53,7 +53,7 @@ final class LegacyEventDispatcherProxy implements EventDispatcherInterface * * @return object */ - public function dispatch($event/*, string $eventName = null*/) + public function dispatch($event/* , string $eventName = null */) { $eventName = 1 < \func_num_args() ? func_get_arg(1) : null; diff --git a/frontend/drupal9/vendor/symfony/http-foundation/BinaryFileResponse.php b/frontend/drupal9/vendor/symfony/http-foundation/BinaryFileResponse.php index 238c254cb..2cd105c3b 100644 --- a/frontend/drupal9/vendor/symfony/http-foundation/BinaryFileResponse.php +++ b/frontend/drupal9/vendor/symfony/http-foundation/BinaryFileResponse.php @@ -34,6 +34,7 @@ class BinaryFileResponse extends Response protected $offset = 0; protected $maxlen = -1; protected $deleteFileAfterSend = false; + protected $chunkSize = 8 * 1024; /** * @param \SplFileInfo|string $file The file to stream @@ -124,6 +125,22 @@ class BinaryFileResponse extends Response return $this->file; } + /** + * Sets the response stream chunk size. + * + * @return $this + */ + public function setChunkSize(int $chunkSize): self + { + if ($chunkSize < 1 || $chunkSize > \PHP_INT_MAX) { + throw new \LogicException('The chunk size of a BinaryFileResponse cannot be less than 1 or greater than PHP_INT_MAX.'); + } + + $this->chunkSize = $chunkSize; + + return $this; + } + /** * Automatically sets the Last-Modified header according the file modification date. */ @@ -184,22 +201,25 @@ class BinaryFileResponse extends Response */ public function prepare(Request $request) { + parent::prepare($request); + + if ($this->isInformational() || $this->isEmpty()) { + $this->maxlen = 0; + + return $this; + } + if (!$this->headers->has('Content-Type')) { $this->headers->set('Content-Type', $this->file->getMimeType() ?: 'application/octet-stream'); } - if ('HTTP/1.0' !== $request->server->get('SERVER_PROTOCOL')) { - $this->setProtocolVersion('1.1'); - } - - $this->ensureIEOverSSLCompatibility($request); - $this->offset = 0; $this->maxlen = -1; if (false === $fileSize = $this->file->getSize()) { return $this; } + $this->headers->remove('Transfer-Encoding'); $this->headers->set('Content-Length', $fileSize); if (!$this->headers->has('Accept-Ranges')) { @@ -269,6 +289,10 @@ class BinaryFileResponse extends Response } } + if ($request->isMethod('HEAD')) { + $this->maxlen = 0; + } + return $this; } @@ -292,24 +316,42 @@ class BinaryFileResponse extends Response */ public function sendContent() { - if (!$this->isSuccessful()) { - return parent::sendContent(); - } + try { + if (!$this->isSuccessful()) { + return parent::sendContent(); + } - if (0 === $this->maxlen) { - return $this; - } + if (0 === $this->maxlen) { + return $this; + } - $out = fopen('php://output', 'w'); - $file = fopen($this->file->getPathname(), 'r'); + $out = fopen('php://output', 'w'); + $file = fopen($this->file->getPathname(), 'r'); - stream_copy_to_stream($file, $out, $this->maxlen, $this->offset); + ignore_user_abort(true); - fclose($out); - fclose($file); + if (0 !== $this->offset) { + fseek($file, $this->offset); + } - if ($this->deleteFileAfterSend && file_exists($this->file->getPathname())) { - unlink($this->file->getPathname()); + $length = $this->maxlen; + while ($length && !feof($file)) { + $read = ($length > $this->chunkSize) ? $this->chunkSize : $length; + $length -= $read; + + stream_copy_to_stream($file, $out, $read); + + if (connection_aborted()) { + break; + } + } + + fclose($out); + fclose($file); + } finally { + if ($this->deleteFileAfterSend && file_exists($this->file->getPathname())) { + unlink($this->file->getPathname()); + } } return $this; diff --git a/frontend/drupal9/vendor/symfony/http-foundation/File/UploadedFile.php b/frontend/drupal9/vendor/symfony/http-foundation/File/UploadedFile.php index 3e482b8a8..6148f1d8b 100644 --- a/frontend/drupal9/vendor/symfony/http-foundation/File/UploadedFile.php +++ b/frontend/drupal9/vendor/symfony/http-foundation/File/UploadedFile.php @@ -243,8 +243,8 @@ class UploadedFile extends File */ public static function getMaxFilesize() { - $sizePostMax = self::parseFilesize(ini_get('post_max_size')); - $sizeUploadMax = self::parseFilesize(ini_get('upload_max_filesize')); + $sizePostMax = self::parseFilesize(\ini_get('post_max_size')); + $sizeUploadMax = self::parseFilesize(\ini_get('upload_max_filesize')); return min($sizePostMax ?: \PHP_INT_MAX, $sizeUploadMax ?: \PHP_INT_MAX); } @@ -273,8 +273,11 @@ class UploadedFile extends File switch (substr($size, -1)) { case 't': $max *= 1024; + // no break case 'g': $max *= 1024; + // no break case 'm': $max *= 1024; + // no break case 'k': $max *= 1024; } diff --git a/frontend/drupal9/vendor/symfony/http-foundation/HeaderBag.php b/frontend/drupal9/vendor/symfony/http-foundation/HeaderBag.php index 9fb113de4..ac61ab2b6 100644 --- a/frontend/drupal9/vendor/symfony/http-foundation/HeaderBag.php +++ b/frontend/drupal9/vendor/symfony/http-foundation/HeaderBag.php @@ -62,7 +62,7 @@ class HeaderBag implements \IteratorAggregate, \Countable * * @return array An array of headers */ - public function all(/*string $key = null*/) + public function all(/* string $key = null */) { if (1 <= \func_num_args() && null !== $key = func_get_arg(0)) { return $this->headers[strtr($key, self::UPPER, self::LOWER)] ?? []; diff --git a/frontend/drupal9/vendor/symfony/http-foundation/Request.php b/frontend/drupal9/vendor/symfony/http-foundation/Request.php index cbe61a152..32e07b532 100644 --- a/frontend/drupal9/vendor/symfony/http-foundation/Request.php +++ b/frontend/drupal9/vendor/symfony/http-foundation/Request.php @@ -551,7 +551,7 @@ class Request $request = ['g' => $_GET, 'p' => $_POST, 'c' => $_COOKIE]; - $requestOrder = ini_get('request_order') ?: ini_get('variables_order'); + $requestOrder = \ini_get('request_order') ?: \ini_get('variables_order'); $requestOrder = preg_replace('#[^cgp]#', '', strtolower($requestOrder)) ?: 'gp'; $_REQUEST = [[]]; @@ -1646,7 +1646,8 @@ class Request $languages = AcceptHeader::fromString($this->headers->get('Accept-Language'))->all(); $this->languages = []; - foreach ($languages as $lang => $acceptHeaderItem) { + foreach ($languages as $acceptHeaderItem) { + $lang = $acceptHeaderItem->getValue(); if (str_contains($lang, '-')) { $codes = explode('-', $lang); if ('i' === $codes[0]) { @@ -1684,7 +1685,7 @@ class Request return $this->charsets; } - return $this->charsets = array_keys(AcceptHeader::fromString($this->headers->get('Accept-Charset'))->all()); + return $this->charsets = array_map('strval', array_keys(AcceptHeader::fromString($this->headers->get('Accept-Charset'))->all())); } /** @@ -1698,7 +1699,7 @@ class Request return $this->encodings; } - return $this->encodings = array_keys(AcceptHeader::fromString($this->headers->get('Accept-Encoding'))->all()); + return $this->encodings = array_map('strval', array_keys(AcceptHeader::fromString($this->headers->get('Accept-Encoding'))->all())); } /** @@ -1712,7 +1713,7 @@ class Request return $this->acceptableContentTypes; } - return $this->acceptableContentTypes = array_keys(AcceptHeader::fromString($this->headers->get('Accept'))->all()); + return $this->acceptableContentTypes = array_map('strval', array_keys(AcceptHeader::fromString($this->headers->get('Accept'))->all())); } /** diff --git a/frontend/drupal9/vendor/symfony/http-foundation/Response.php b/frontend/drupal9/vendor/symfony/http-foundation/Response.php index bfdc1b24a..75f64fa9e 100644 --- a/frontend/drupal9/vendor/symfony/http-foundation/Response.php +++ b/frontend/drupal9/vendor/symfony/http-foundation/Response.php @@ -77,7 +77,7 @@ class Response public const HTTP_PRECONDITION_REQUIRED = 428; // RFC6585 public const HTTP_TOO_MANY_REQUESTS = 429; // RFC6585 public const HTTP_REQUEST_HEADER_FIELDS_TOO_LARGE = 431; // RFC6585 - public const HTTP_UNAVAILABLE_FOR_LEGAL_REASONS = 451; + public const HTTP_UNAVAILABLE_FOR_LEGAL_REASONS = 451; // RFC7725 public const HTTP_INTERNAL_SERVER_ERROR = 500; public const HTTP_NOT_IMPLEMENTED = 501; public const HTTP_BAD_GATEWAY = 502; @@ -384,6 +384,7 @@ class Response fastcgi_finish_request(); } elseif (!\in_array(\PHP_SAPI, ['cli', 'phpdbg'], true)) { static::closeOutputBuffers(0, true); + flush(); } return $this; diff --git a/frontend/drupal9/vendor/symfony/http-foundation/ResponseHeaderBag.php b/frontend/drupal9/vendor/symfony/http-foundation/ResponseHeaderBag.php index 3dc5a801e..3c94cd2a6 100644 --- a/frontend/drupal9/vendor/symfony/http-foundation/ResponseHeaderBag.php +++ b/frontend/drupal9/vendor/symfony/http-foundation/ResponseHeaderBag.php @@ -90,7 +90,7 @@ class ResponseHeaderBag extends HeaderBag * * @param string|null $key The name of the headers to return or null to get them all */ - public function all(/*string $key = null*/) + public function all(/* string $key = null */) { $headers = parent::all(); @@ -254,7 +254,7 @@ class ResponseHeaderBag extends HeaderBag * @param bool $httpOnly * @param string $sameSite */ - public function clearCookie($name, $path = '/', $domain = null, $secure = false, $httpOnly = true/*, $sameSite = null*/) + public function clearCookie($name, $path = '/', $domain = null, $secure = false, $httpOnly = true/* , $sameSite = null */) { $sameSite = \func_num_args() > 5 ? func_get_arg(5) : null; diff --git a/frontend/drupal9/vendor/symfony/http-foundation/Session/Storage/Handler/AbstractSessionHandler.php b/frontend/drupal9/vendor/symfony/http-foundation/Session/Storage/Handler/AbstractSessionHandler.php index 3ae8b9ea4..dbbda3c39 100644 --- a/frontend/drupal9/vendor/symfony/http-foundation/Session/Storage/Handler/AbstractSessionHandler.php +++ b/frontend/drupal9/vendor/symfony/http-foundation/Session/Storage/Handler/AbstractSessionHandler.php @@ -35,8 +35,8 @@ abstract class AbstractSessionHandler implements \SessionHandlerInterface, \Sess public function open($savePath, $sessionName) { $this->sessionName = $sessionName; - if (!headers_sent() && !ini_get('session.cache_limiter') && '0' !== ini_get('session.cache_limiter')) { - header(sprintf('Cache-Control: max-age=%d, private, must-revalidate', 60 * (int) ini_get('session.cache_expire'))); + if (!headers_sent() && !\ini_get('session.cache_limiter') && '0' !== \ini_get('session.cache_limiter')) { + header(sprintf('Cache-Control: max-age=%d, private, must-revalidate', 60 * (int) \ini_get('session.cache_expire'))); } return true; @@ -133,7 +133,7 @@ abstract class AbstractSessionHandler implements \SessionHandlerInterface, \Sess #[\ReturnTypeWillChange] public function destroy($sessionId) { - if (!headers_sent() && filter_var(ini_get('session.use_cookies'), \FILTER_VALIDATE_BOOLEAN)) { + if (!headers_sent() && filter_var(\ini_get('session.use_cookies'), \FILTER_VALIDATE_BOOLEAN)) { if (!$this->sessionName) { throw new \LogicException(sprintf('Session name cannot be empty, did you forget to call "parent::open()" in "%s"?.', static::class)); } @@ -148,7 +148,7 @@ abstract class AbstractSessionHandler implements \SessionHandlerInterface, \Sess */ if (null === $cookie || isset($_COOKIE[$this->sessionName])) { if (\PHP_VERSION_ID < 70300) { - setcookie($this->sessionName, '', 0, ini_get('session.cookie_path'), ini_get('session.cookie_domain'), filter_var(ini_get('session.cookie_secure'), \FILTER_VALIDATE_BOOLEAN), filter_var(ini_get('session.cookie_httponly'), \FILTER_VALIDATE_BOOLEAN)); + setcookie($this->sessionName, '', 0, \ini_get('session.cookie_path'), \ini_get('session.cookie_domain'), filter_var(\ini_get('session.cookie_secure'), \FILTER_VALIDATE_BOOLEAN), filter_var(\ini_get('session.cookie_httponly'), \FILTER_VALIDATE_BOOLEAN)); } else { $params = session_get_cookie_params(); unset($params['lifetime']); diff --git a/frontend/drupal9/vendor/symfony/http-foundation/Session/Storage/Handler/MongoDbSessionHandler.php b/frontend/drupal9/vendor/symfony/http-foundation/Session/Storage/Handler/MongoDbSessionHandler.php index 2c3cb53c1..084556b2e 100644 --- a/frontend/drupal9/vendor/symfony/http-foundation/Session/Storage/Handler/MongoDbSessionHandler.php +++ b/frontend/drupal9/vendor/symfony/http-foundation/Session/Storage/Handler/MongoDbSessionHandler.php @@ -116,7 +116,7 @@ class MongoDbSessionHandler extends AbstractSessionHandler */ protected function doWrite($sessionId, $data) { - $expiry = new \MongoDB\BSON\UTCDateTime((time() + (int) ini_get('session.gc_maxlifetime')) * 1000); + $expiry = new \MongoDB\BSON\UTCDateTime((time() + (int) \ini_get('session.gc_maxlifetime')) * 1000); $fields = [ $this->options['time_field'] => new \MongoDB\BSON\UTCDateTime(), @@ -139,7 +139,7 @@ class MongoDbSessionHandler extends AbstractSessionHandler #[\ReturnTypeWillChange] public function updateTimestamp($sessionId, $data) { - $expiry = new \MongoDB\BSON\UTCDateTime((time() + (int) ini_get('session.gc_maxlifetime')) * 1000); + $expiry = new \MongoDB\BSON\UTCDateTime((time() + (int) \ini_get('session.gc_maxlifetime')) * 1000); $this->getCollection()->updateOne( [$this->options['id_field'] => $sessionId], diff --git a/frontend/drupal9/vendor/symfony/http-foundation/Session/Storage/Handler/NativeFileSessionHandler.php b/frontend/drupal9/vendor/symfony/http-foundation/Session/Storage/Handler/NativeFileSessionHandler.php index effc9db54..1ca4bfeb0 100644 --- a/frontend/drupal9/vendor/symfony/http-foundation/Session/Storage/Handler/NativeFileSessionHandler.php +++ b/frontend/drupal9/vendor/symfony/http-foundation/Session/Storage/Handler/NativeFileSessionHandler.php @@ -31,7 +31,7 @@ class NativeFileSessionHandler extends \SessionHandler public function __construct(string $savePath = null) { if (null === $savePath) { - $savePath = ini_get('session.save_path'); + $savePath = \ini_get('session.save_path'); } $baseDir = $savePath; diff --git a/frontend/drupal9/vendor/symfony/http-foundation/Session/Storage/Handler/PdoSessionHandler.php b/frontend/drupal9/vendor/symfony/http-foundation/Session/Storage/Handler/PdoSessionHandler.php index ed09f7294..78efa2e82 100644 --- a/frontend/drupal9/vendor/symfony/http-foundation/Session/Storage/Handler/PdoSessionHandler.php +++ b/frontend/drupal9/vendor/symfony/http-foundation/Session/Storage/Handler/PdoSessionHandler.php @@ -328,7 +328,7 @@ class PdoSessionHandler extends AbstractSessionHandler */ protected function doWrite($sessionId, $data) { - $maxlifetime = (int) ini_get('session.gc_maxlifetime'); + $maxlifetime = (int) \ini_get('session.gc_maxlifetime'); try { // We use a single MERGE SQL query when supported by the database. @@ -375,7 +375,7 @@ class PdoSessionHandler extends AbstractSessionHandler #[\ReturnTypeWillChange] public function updateTimestamp($sessionId, $data) { - $expiry = time() + (int) ini_get('session.gc_maxlifetime'); + $expiry = time() + (int) \ini_get('session.gc_maxlifetime'); try { $updateStmt = $this->pdo->prepare( @@ -650,7 +650,7 @@ class PdoSessionHandler extends AbstractSessionHandler throw new \RuntimeException('Failed to read session: INSERT reported a duplicate id but next SELECT did not return any data.'); } - if (!filter_var(ini_get('session.use_strict_mode'), \FILTER_VALIDATE_BOOLEAN) && self::LOCK_TRANSACTIONAL === $this->lockMode && 'sqlite' !== $this->driver) { + if (!filter_var(\ini_get('session.use_strict_mode'), \FILTER_VALIDATE_BOOLEAN) && self::LOCK_TRANSACTIONAL === $this->lockMode && 'sqlite' !== $this->driver) { // In strict mode, session fixation is not possible: new sessions always start with a unique // random id, so that concurrency is not possible and this code path can be skipped. // Exclusive-reading of non-existent rows does not block, so we need to do an insert to block @@ -898,7 +898,7 @@ class PdoSessionHandler extends AbstractSessionHandler protected function getConnection() { if (null === $this->pdo) { - $this->connect($this->dsn ?: ini_get('session.save_path')); + $this->connect($this->dsn ?: \ini_get('session.save_path')); } return $this->pdo; diff --git a/frontend/drupal9/vendor/symfony/http-foundation/Session/Storage/Handler/RedisSessionHandler.php b/frontend/drupal9/vendor/symfony/http-foundation/Session/Storage/Handler/RedisSessionHandler.php index 51bec203d..d9bd3835a 100644 --- a/frontend/drupal9/vendor/symfony/http-foundation/Session/Storage/Handler/RedisSessionHandler.php +++ b/frontend/drupal9/vendor/symfony/http-foundation/Session/Storage/Handler/RedisSessionHandler.php @@ -79,7 +79,7 @@ class RedisSessionHandler extends AbstractSessionHandler */ protected function doWrite($sessionId, $data): bool { - $result = $this->redis->setEx($this->prefix.$sessionId, (int) ($this->ttl ?? ini_get('session.gc_maxlifetime')), $data); + $result = $this->redis->setEx($this->prefix.$sessionId, (int) ($this->ttl ?? \ini_get('session.gc_maxlifetime')), $data); return $result && !$result instanceof ErrorInterface; } @@ -120,6 +120,6 @@ class RedisSessionHandler extends AbstractSessionHandler #[\ReturnTypeWillChange] public function updateTimestamp($sessionId, $data) { - return (bool) $this->redis->expire($this->prefix.$sessionId, (int) ($this->ttl ?? ini_get('session.gc_maxlifetime'))); + return (bool) $this->redis->expire($this->prefix.$sessionId, (int) ($this->ttl ?? \ini_get('session.gc_maxlifetime'))); } } diff --git a/frontend/drupal9/vendor/symfony/http-foundation/Session/Storage/Handler/StrictSessionHandler.php b/frontend/drupal9/vendor/symfony/http-foundation/Session/Storage/Handler/StrictSessionHandler.php index 627bcfa1d..7e5b5c019 100644 --- a/frontend/drupal9/vendor/symfony/http-foundation/Session/Storage/Handler/StrictSessionHandler.php +++ b/frontend/drupal9/vendor/symfony/http-foundation/Session/Storage/Handler/StrictSessionHandler.php @@ -30,6 +30,16 @@ class StrictSessionHandler extends AbstractSessionHandler $this->handler = $handler; } + /** + * Returns true if this handler wraps an internal PHP session save handler using \SessionHandler. + * + * @internal + */ + public function isWrapper(): bool + { + return $this->handler instanceof \SessionHandler; + } + /** * @return bool */ diff --git a/frontend/drupal9/vendor/symfony/http-foundation/Session/Storage/MetadataBag.php b/frontend/drupal9/vendor/symfony/http-foundation/Session/Storage/MetadataBag.php index 8efdb856f..0a4dec605 100644 --- a/frontend/drupal9/vendor/symfony/http-foundation/Session/Storage/MetadataBag.php +++ b/frontend/drupal9/vendor/symfony/http-foundation/Session/Storage/MetadataBag.php @@ -163,6 +163,6 @@ class MetadataBag implements SessionBagInterface { $timeStamp = time(); $this->meta[self::CREATED] = $this->meta[self::UPDATED] = $this->lastUsed = $timeStamp; - $this->meta[self::LIFETIME] = $lifetime ?? (int) ini_get('session.cookie_lifetime'); + $this->meta[self::LIFETIME] = $lifetime ?? (int) \ini_get('session.cookie_lifetime'); } } diff --git a/frontend/drupal9/vendor/symfony/http-foundation/Session/Storage/NativeSessionStorage.php b/frontend/drupal9/vendor/symfony/http-foundation/Session/Storage/NativeSessionStorage.php index 4caba27db..6005df346 100644 --- a/frontend/drupal9/vendor/symfony/http-foundation/Session/Storage/NativeSessionStorage.php +++ b/frontend/drupal9/vendor/symfony/http-foundation/Session/Storage/NativeSessionStorage.php @@ -148,12 +148,42 @@ class NativeSessionStorage implements SessionStorageInterface throw new \RuntimeException('Failed to start the session: already started by PHP.'); } - if (filter_var(ini_get('session.use_cookies'), \FILTER_VALIDATE_BOOLEAN) && headers_sent($file, $line)) { + if (filter_var(\ini_get('session.use_cookies'), \FILTER_VALIDATE_BOOLEAN) && headers_sent($file, $line)) { throw new \RuntimeException(sprintf('Failed to start the session because headers have already been sent by "%s" at line %d.', $file, $line)); } $sessionId = $_COOKIE[session_name()] ?? null; - if ($sessionId && $this->saveHandler instanceof AbstractProxy && 'files' === $this->saveHandler->getSaveHandlerName() && !preg_match('/^[a-zA-Z0-9,-]{22,}$/', $sessionId)) { + /* + * Explanation of the session ID regular expression: `/^[a-zA-Z0-9,-]{22,250}$/`. + * + * ---------- Part 1 + * + * The part `[a-zA-Z0-9,-]` is related to the PHP ini directive `session.sid_bits_per_character` defined as 6. + * See https://www.php.net/manual/en/session.configuration.php#ini.session.sid-bits-per-character. + * Allowed values are integers such as: + * - 4 for range `a-f0-9` + * - 5 for range `a-v0-9` + * - 6 for range `a-zA-Z0-9,-` + * + * ---------- Part 2 + * + * The part `{22,250}` is related to the PHP ini directive `session.sid_length`. + * See https://www.php.net/manual/en/session.configuration.php#ini.session.sid-length. + * Allowed values are integers between 22 and 256, but we use 250 for the max. + * + * Where does the 250 come from? + * - The length of Windows and Linux filenames is limited to 255 bytes. Then the max must not exceed 255. + * - The session filename prefix is `sess_`, a 5 bytes string. Then the max must not exceed 255 - 5 = 250. + * + * ---------- Conclusion + * + * The parts 1 and 2 prevent the warning below: + * `PHP Warning: SessionHandler::read(): Session ID is too long or contains illegal characters. Only the A-Z, a-z, 0-9, "-", and "," characters are allowed.` + * + * The part 2 prevents the warning below: + * `PHP Warning: SessionHandler::read(): open(filepath, O_RDWR) failed: No such file or directory (2).` + */ + if ($sessionId && $this->saveHandler instanceof AbstractProxy && 'files' === $this->saveHandler->getSaveHandlerName() && !preg_match('/^[a-zA-Z0-9,-]{22,250}$/', $sessionId)) { // the session ID in the header is invalid, create a new one session_id(session_create_id()); } @@ -221,7 +251,7 @@ class NativeSessionStorage implements SessionStorageInterface return false; } - if (null !== $lifetime && $lifetime != ini_get('session.cookie_lifetime')) { + if (null !== $lifetime && $lifetime != \ini_get('session.cookie_lifetime')) { $this->save(); ini_set('session.cookie_lifetime', $lifetime); $this->start(); @@ -256,7 +286,7 @@ class NativeSessionStorage implements SessionStorageInterface unset($_SESSION[$key]); } } - if ([$key = $this->metadataBag->getStorageKey()] === array_keys($_SESSION)) { + if ($_SESSION && [$key = $this->metadataBag->getStorageKey()] === array_keys($_SESSION)) { unset($_SESSION[$key]); } diff --git a/frontend/drupal9/vendor/symfony/http-foundation/Session/Storage/Proxy/SessionHandlerProxy.php b/frontend/drupal9/vendor/symfony/http-foundation/Session/Storage/Proxy/SessionHandlerProxy.php index 9b0cdeb7f..0defa4a7a 100644 --- a/frontend/drupal9/vendor/symfony/http-foundation/Session/Storage/Proxy/SessionHandlerProxy.php +++ b/frontend/drupal9/vendor/symfony/http-foundation/Session/Storage/Proxy/SessionHandlerProxy.php @@ -11,6 +11,8 @@ namespace Symfony\Component\HttpFoundation\Session\Storage\Proxy; +use Symfony\Component\HttpFoundation\Session\Storage\Handler\StrictSessionHandler; + /** * @author Drak */ @@ -22,7 +24,7 @@ class SessionHandlerProxy extends AbstractProxy implements \SessionHandlerInterf { $this->handler = $handler; $this->wrapper = $handler instanceof \SessionHandler; - $this->saveHandlerName = $this->wrapper ? ini_get('session.save_handler') : 'user'; + $this->saveHandlerName = $this->wrapper || ($handler instanceof StrictSessionHandler && $handler->isWrapper()) ? \ini_get('session.save_handler') : 'user'; } /** diff --git a/frontend/drupal9/vendor/symfony/http-kernel/Config/FileLocator.php b/frontend/drupal9/vendor/symfony/http-kernel/Config/FileLocator.php index a30241970..2dda23470 100644 --- a/frontend/drupal9/vendor/symfony/http-kernel/Config/FileLocator.php +++ b/frontend/drupal9/vendor/symfony/http-kernel/Config/FileLocator.php @@ -28,7 +28,7 @@ class FileLocator extends BaseFileLocator */ private $path; - public function __construct(KernelInterface $kernel/*, string $path = null, array $paths = [], bool $triggerDeprecation = true*/) + public function __construct(KernelInterface $kernel/* , string $path = null, array $paths = [], bool $triggerDeprecation = true */) { $this->kernel = $kernel; diff --git a/frontend/drupal9/vendor/symfony/http-kernel/DataCollector/AjaxDataCollector.php b/frontend/drupal9/vendor/symfony/http-kernel/DataCollector/AjaxDataCollector.php index 356ce227e..a134ebc25 100644 --- a/frontend/drupal9/vendor/symfony/http-kernel/DataCollector/AjaxDataCollector.php +++ b/frontend/drupal9/vendor/symfony/http-kernel/DataCollector/AjaxDataCollector.php @@ -28,7 +28,7 @@ class AjaxDataCollector extends DataCollector * * @param \Throwable|null $exception */ - public function collect(Request $request, Response $response/*, \Throwable $exception = null*/) + public function collect(Request $request, Response $response/* , \Throwable $exception = null */) { // all collecting is done client side } diff --git a/frontend/drupal9/vendor/symfony/http-kernel/DataCollector/ConfigDataCollector.php b/frontend/drupal9/vendor/symfony/http-kernel/DataCollector/ConfigDataCollector.php index 2d3ad5ce4..91b62899f 100644 --- a/frontend/drupal9/vendor/symfony/http-kernel/DataCollector/ConfigDataCollector.php +++ b/frontend/drupal9/vendor/symfony/http-kernel/DataCollector/ConfigDataCollector.php @@ -57,7 +57,7 @@ class ConfigDataCollector extends DataCollector implements LateDataCollectorInte * * @param \Throwable|null $exception */ - public function collect(Request $request, Response $response/*, \Throwable $exception = null*/) + public function collect(Request $request, Response $response/* , \Throwable $exception = null */) { $eom = \DateTime::createFromFormat('d/m/Y', '01/'.Kernel::END_OF_MAINTENANCE); $eol = \DateTime::createFromFormat('d/m/Y', '01/'.Kernel::END_OF_LIFE); @@ -79,8 +79,8 @@ class ConfigDataCollector extends DataCollector implements LateDataCollectorInte 'php_intl_locale' => class_exists(\Locale::class, false) && \Locale::getDefault() ? \Locale::getDefault() : 'n/a', 'php_timezone' => date_default_timezone_get(), 'xdebug_enabled' => \extension_loaded('xdebug'), - 'apcu_enabled' => \extension_loaded('apcu') && filter_var(ini_get('apc.enabled'), \FILTER_VALIDATE_BOOLEAN), - 'zend_opcache_enabled' => \extension_loaded('Zend OPcache') && filter_var(ini_get('opcache.enable'), \FILTER_VALIDATE_BOOLEAN), + 'apcu_enabled' => \extension_loaded('apcu') && filter_var(\ini_get('apc.enabled'), \FILTER_VALIDATE_BOOLEAN), + 'zend_opcache_enabled' => \extension_loaded('Zend OPcache') && filter_var(\ini_get('opcache.enable'), \FILTER_VALIDATE_BOOLEAN), 'bundles' => [], 'sapi_name' => \PHP_SAPI, ]; diff --git a/frontend/drupal9/vendor/symfony/http-kernel/DataCollector/DataCollectorInterface.php b/frontend/drupal9/vendor/symfony/http-kernel/DataCollector/DataCollectorInterface.php index a302ad300..2ee955ba0 100644 --- a/frontend/drupal9/vendor/symfony/http-kernel/DataCollector/DataCollectorInterface.php +++ b/frontend/drupal9/vendor/symfony/http-kernel/DataCollector/DataCollectorInterface.php @@ -27,7 +27,7 @@ interface DataCollectorInterface extends ResetInterface * * @param \Throwable|null $exception */ - public function collect(Request $request, Response $response/*, \Throwable $exception = null*/); + public function collect(Request $request, Response $response/* , \Throwable $exception = null */); /** * Returns the name of the collector. diff --git a/frontend/drupal9/vendor/symfony/http-kernel/DataCollector/DumpDataCollector.php b/frontend/drupal9/vendor/symfony/http-kernel/DataCollector/DumpDataCollector.php index a66224b6f..155d41c3c 100644 --- a/frontend/drupal9/vendor/symfony/http-kernel/DataCollector/DumpDataCollector.php +++ b/frontend/drupal9/vendor/symfony/http-kernel/DataCollector/DumpDataCollector.php @@ -49,9 +49,10 @@ class DumpDataCollector extends DataCollector implements DataDumperInterface */ public function __construct(Stopwatch $stopwatch = null, $fileLinkFormat = null, string $charset = null, RequestStack $requestStack = null, $dumper = null) { + $fileLinkFormat = $fileLinkFormat ?: \ini_get('xdebug.file_link_format') ?: get_cfg_var('xdebug.file_link_format'); $this->stopwatch = $stopwatch; - $this->fileLinkFormat = $fileLinkFormat ?: ini_get('xdebug.file_link_format') ?: get_cfg_var('xdebug.file_link_format'); - $this->charset = $charset ?: ini_get('php.output_encoding') ?: ini_get('default_charset') ?: 'UTF-8'; + $this->fileLinkFormat = $fileLinkFormat instanceof FileLinkFormatter && false === $fileLinkFormat->format('', 0) ? false : $fileLinkFormat; + $this->charset = $charset ?: \ini_get('php.output_encoding') ?: \ini_get('default_charset') ?: 'UTF-8'; $this->requestStack = $requestStack; $this->dumper = $dumper; @@ -105,7 +106,7 @@ class DumpDataCollector extends DataCollector implements DataDumperInterface * * @param \Throwable|null $exception */ - public function collect(Request $request, Response $response/*, \Throwable $exception = null*/) + public function collect(Request $request, Response $response/* , \Throwable $exception = null */) { if (!$this->dataCount) { $this->data = []; @@ -237,7 +238,7 @@ class DumpDataCollector extends DataCollector implements DataDumperInterface $h = headers_list(); $i = \count($h); - array_unshift($h, 'Content-Type: '.ini_get('default_mimetype')); + array_unshift($h, 'Content-Type: '.\ini_get('default_mimetype')); while (0 !== stripos($h[$i], 'Content-Type:')) { --$i; } diff --git a/frontend/drupal9/vendor/symfony/http-kernel/DataCollector/EventDataCollector.php b/frontend/drupal9/vendor/symfony/http-kernel/DataCollector/EventDataCollector.php index 89fd18338..24ed55961 100644 --- a/frontend/drupal9/vendor/symfony/http-kernel/DataCollector/EventDataCollector.php +++ b/frontend/drupal9/vendor/symfony/http-kernel/DataCollector/EventDataCollector.php @@ -43,7 +43,7 @@ class EventDataCollector extends DataCollector implements LateDataCollectorInter * * @param \Throwable|null $exception */ - public function collect(Request $request, Response $response/*, \Throwable $exception = null*/) + public function collect(Request $request, Response $response/* , \Throwable $exception = null */) { $this->currentRequest = $this->requestStack && $this->requestStack->getMasterRequest() !== $request ? $request : null; $this->data = [ diff --git a/frontend/drupal9/vendor/symfony/http-kernel/DataCollector/ExceptionDataCollector.php b/frontend/drupal9/vendor/symfony/http-kernel/DataCollector/ExceptionDataCollector.php index 222cae5d2..9868659b9 100644 --- a/frontend/drupal9/vendor/symfony/http-kernel/DataCollector/ExceptionDataCollector.php +++ b/frontend/drupal9/vendor/symfony/http-kernel/DataCollector/ExceptionDataCollector.php @@ -29,7 +29,7 @@ class ExceptionDataCollector extends DataCollector * * @param \Throwable|null $exception */ - public function collect(Request $request, Response $response/*, \Throwable $exception = null*/) + public function collect(Request $request, Response $response/* , \Throwable $exception = null */) { $exception = 2 < \func_num_args() ? func_get_arg(2) : null; diff --git a/frontend/drupal9/vendor/symfony/http-kernel/DataCollector/LoggerDataCollector.php b/frontend/drupal9/vendor/symfony/http-kernel/DataCollector/LoggerDataCollector.php index 0e25f8960..849adfd8c 100644 --- a/frontend/drupal9/vendor/symfony/http-kernel/DataCollector/LoggerDataCollector.php +++ b/frontend/drupal9/vendor/symfony/http-kernel/DataCollector/LoggerDataCollector.php @@ -44,7 +44,7 @@ class LoggerDataCollector extends DataCollector implements LateDataCollectorInte * * @param \Throwable|null $exception */ - public function collect(Request $request, Response $response/*, \Throwable $exception = null*/) + public function collect(Request $request, Response $response/* , \Throwable $exception = null */) { $this->currentRequest = $this->requestStack && $this->requestStack->getMasterRequest() !== $request ? $request : null; } diff --git a/frontend/drupal9/vendor/symfony/http-kernel/DataCollector/MemoryDataCollector.php b/frontend/drupal9/vendor/symfony/http-kernel/DataCollector/MemoryDataCollector.php index 7119bf31a..f6015bafa 100644 --- a/frontend/drupal9/vendor/symfony/http-kernel/DataCollector/MemoryDataCollector.php +++ b/frontend/drupal9/vendor/symfony/http-kernel/DataCollector/MemoryDataCollector.php @@ -33,7 +33,7 @@ class MemoryDataCollector extends DataCollector implements LateDataCollectorInte * * @param \Throwable|null $exception */ - public function collect(Request $request, Response $response/*, \Throwable $exception = null*/) + public function collect(Request $request, Response $response/* , \Throwable $exception = null */) { $this->updateMemoryUsage(); } @@ -45,7 +45,7 @@ class MemoryDataCollector extends DataCollector implements LateDataCollectorInte { $this->data = [ 'memory' => 0, - 'memory_limit' => $this->convertToBytes(ini_get('memory_limit')), + 'memory_limit' => $this->convertToBytes(\ini_get('memory_limit')), ]; } @@ -114,8 +114,11 @@ class MemoryDataCollector extends DataCollector implements LateDataCollectorInte switch (substr($memoryLimit, -1)) { case 't': $max *= 1024; + // no break case 'g': $max *= 1024; + // no break case 'm': $max *= 1024; + // no break case 'k': $max *= 1024; } diff --git a/frontend/drupal9/vendor/symfony/http-kernel/DataCollector/RequestDataCollector.php b/frontend/drupal9/vendor/symfony/http-kernel/DataCollector/RequestDataCollector.php index 1fb226d13..2147c678f 100644 --- a/frontend/drupal9/vendor/symfony/http-kernel/DataCollector/RequestDataCollector.php +++ b/frontend/drupal9/vendor/symfony/http-kernel/DataCollector/RequestDataCollector.php @@ -39,7 +39,7 @@ class RequestDataCollector extends DataCollector implements EventSubscriberInter * * @param \Throwable|null $exception */ - public function collect(Request $request, Response $response/*, \Throwable $exception = null*/) + public function collect(Request $request, Response $response/* , \Throwable $exception = null */) { // attributes are serialized and as they can be anything, they need to be converted to strings. $attributes = []; diff --git a/frontend/drupal9/vendor/symfony/http-kernel/DataCollector/RouterDataCollector.php b/frontend/drupal9/vendor/symfony/http-kernel/DataCollector/RouterDataCollector.php index 5f1239233..8ff676cc8 100644 --- a/frontend/drupal9/vendor/symfony/http-kernel/DataCollector/RouterDataCollector.php +++ b/frontend/drupal9/vendor/symfony/http-kernel/DataCollector/RouterDataCollector.php @@ -38,7 +38,7 @@ class RouterDataCollector extends DataCollector * * @final since Symfony 4.4 */ - public function collect(Request $request, Response $response/*, \Throwable $exception = null*/) + public function collect(Request $request, Response $response/* , \Throwable $exception = null */) { if ($response instanceof RedirectResponse) { $this->data['redirect'] = true; diff --git a/frontend/drupal9/vendor/symfony/http-kernel/DataCollector/TimeDataCollector.php b/frontend/drupal9/vendor/symfony/http-kernel/DataCollector/TimeDataCollector.php index b83c44a48..c6166c8aa 100644 --- a/frontend/drupal9/vendor/symfony/http-kernel/DataCollector/TimeDataCollector.php +++ b/frontend/drupal9/vendor/symfony/http-kernel/DataCollector/TimeDataCollector.php @@ -38,7 +38,7 @@ class TimeDataCollector extends DataCollector implements LateDataCollectorInterf * * @param \Throwable|null $exception */ - public function collect(Request $request, Response $response/*, \Throwable $exception = null*/) + public function collect(Request $request, Response $response/* , \Throwable $exception = null */) { if (null !== $this->kernel) { $startTime = $this->kernel->getStartTime(); diff --git a/frontend/drupal9/vendor/symfony/http-kernel/Debug/FileLinkFormatter.php b/frontend/drupal9/vendor/symfony/http-kernel/Debug/FileLinkFormatter.php index 27c71708b..c235b1dbb 100644 --- a/frontend/drupal9/vendor/symfony/http-kernel/Debug/FileLinkFormatter.php +++ b/frontend/drupal9/vendor/symfony/http-kernel/Debug/FileLinkFormatter.php @@ -30,12 +30,12 @@ class FileLinkFormatter private $urlFormat; /** - * @param string|\Closure $urlFormat the URL format, or a closure that returns it on-demand + * @param string|array|null $fileLinkFormat + * @param string|\Closure $urlFormat the URL format, or a closure that returns it on-demand */ - public function __construct(string $fileLinkFormat = null, RequestStack $requestStack = null, string $baseDir = null, $urlFormat = null) + public function __construct($fileLinkFormat = null, RequestStack $requestStack = null, string $baseDir = null, $urlFormat = null) { - $fileLinkFormat = $fileLinkFormat ?: ini_get('xdebug.file_link_format') ?: get_cfg_var('xdebug.file_link_format'); - if ($fileLinkFormat && !\is_array($fileLinkFormat)) { + if (!\is_array($fileLinkFormat) && $fileLinkFormat = $fileLinkFormat ?: \ini_get('xdebug.file_link_format') ?: get_cfg_var('xdebug.file_link_format')) { $i = strpos($f = $fileLinkFormat, '&', max(strrpos($f, '%f'), strrpos($f, '%l'))) ?: \strlen($f); $fileLinkFormat = [substr($f, 0, $i)] + preg_split('/&([^>]++)>/', substr($f, $i), -1, \PREG_SPLIT_DELIM_CAPTURE); } diff --git a/frontend/drupal9/vendor/symfony/http-kernel/EventListener/DebugHandlersListener.php b/frontend/drupal9/vendor/symfony/http-kernel/EventListener/DebugHandlersListener.php index 5027bd116..6563487f3 100644 --- a/frontend/drupal9/vendor/symfony/http-kernel/EventListener/DebugHandlersListener.php +++ b/frontend/drupal9/vendor/symfony/http-kernel/EventListener/DebugHandlersListener.php @@ -54,7 +54,7 @@ class DebugHandlersListener implements EventSubscriberInterface */ public function __construct(callable $exceptionHandler = null, LoggerInterface $logger = null, $levels = \E_ALL, ?int $throwAt = \E_ALL, bool $scream = true, $fileLinkFormat = null, bool $scope = true) { - $handler = set_exception_handler('var_dump'); + $handler = set_exception_handler('is_int'); $this->earlyHandler = \is_array($handler) ? $handler[0] : null; restore_exception_handler(); @@ -80,7 +80,7 @@ class DebugHandlersListener implements EventSubscriberInterface } $this->firstCall = $this->hasTerminatedWithException = false; - $handler = set_exception_handler('var_dump'); + $handler = set_exception_handler('is_int'); $handler = \is_array($handler) ? $handler[0] : null; restore_exception_handler(); diff --git a/frontend/drupal9/vendor/symfony/http-kernel/Fragment/AbstractSurrogateFragmentRenderer.php b/frontend/drupal9/vendor/symfony/http-kernel/Fragment/AbstractSurrogateFragmentRenderer.php index 06d8c380b..f59f86247 100644 --- a/frontend/drupal9/vendor/symfony/http-kernel/Fragment/AbstractSurrogateFragmentRenderer.php +++ b/frontend/drupal9/vendor/symfony/http-kernel/Fragment/AbstractSurrogateFragmentRenderer.php @@ -96,9 +96,11 @@ abstract class AbstractSurrogateFragmentRenderer extends RoutableFragmentRendere private function containsNonScalars(array $values): bool { foreach ($values as $value) { - if (\is_array($value)) { - return $this->containsNonScalars($value); - } elseif (!is_scalar($value) && null !== $value) { + if (\is_scalar($value) || null === $value) { + continue; + } + + if (!\is_array($value) || $this->containsNonScalars($value)) { return true; } } diff --git a/frontend/drupal9/vendor/symfony/http-kernel/Fragment/RoutableFragmentRenderer.php b/frontend/drupal9/vendor/symfony/http-kernel/Fragment/RoutableFragmentRenderer.php index bd8f85b19..bd86a42df 100644 --- a/frontend/drupal9/vendor/symfony/http-kernel/Fragment/RoutableFragmentRenderer.php +++ b/frontend/drupal9/vendor/symfony/http-kernel/Fragment/RoutableFragmentRenderer.php @@ -80,7 +80,7 @@ abstract class RoutableFragmentRenderer implements FragmentRendererInterface foreach ($values as $key => $value) { if (\is_array($value)) { $this->checkNonScalar($value); - } elseif (!is_scalar($value) && null !== $value) { + } elseif (!\is_scalar($value) && null !== $value) { throw new \LogicException(sprintf('Controller attributes cannot contain non-scalar/non-null values (value for key "%s" is not a scalar or null).', $key)); } } diff --git a/frontend/drupal9/vendor/symfony/http-kernel/HttpCache/AbstractSurrogate.php b/frontend/drupal9/vendor/symfony/http-kernel/HttpCache/AbstractSurrogate.php index 338594024..9301d0c11 100644 --- a/frontend/drupal9/vendor/symfony/http-kernel/HttpCache/AbstractSurrogate.php +++ b/frontend/drupal9/vendor/symfony/http-kernel/HttpCache/AbstractSurrogate.php @@ -95,7 +95,7 @@ abstract class AbstractSurrogate implements SurrogateInterface try { $response = $cache->handle($subRequest, HttpKernelInterface::SUB_REQUEST, true); - if (!$response->isSuccessful()) { + if (!$response->isSuccessful() && Response::HTTP_NOT_MODIFIED !== $response->getStatusCode()) { throw new \RuntimeException(sprintf('Error when rendering "%s" (Status code is %d).', $subRequest->getUri(), $response->getStatusCode())); } diff --git a/frontend/drupal9/vendor/symfony/http-kernel/HttpKernel.php b/frontend/drupal9/vendor/symfony/http-kernel/HttpKernel.php index 0ed82d777..d53b80665 100644 --- a/frontend/drupal9/vendor/symfony/http-kernel/HttpKernel.php +++ b/frontend/drupal9/vendor/symfony/http-kernel/HttpKernel.php @@ -76,6 +76,7 @@ class HttpKernel implements HttpKernelInterface, TerminableInterface { $request->headers->set('X-Php-Ob-Level', (string) ob_get_level()); + $this->requestStack->push($request); try { return $this->handleRaw($request, $type); } catch (\Exception $e) { @@ -89,6 +90,8 @@ class HttpKernel implements HttpKernelInterface, TerminableInterface } return $this->handleThrowable($e, $request, $type); + } finally { + $this->requestStack->pop(); } } @@ -127,8 +130,6 @@ class HttpKernel implements HttpKernelInterface, TerminableInterface */ private function handleRaw(Request $request, int $type = self::MASTER_REQUEST): Response { - $this->requestStack->push($request); - // request $event = new RequestEvent($this, $request, $type); $this->dispatcher->dispatch($event, KernelEvents::REQUEST); @@ -205,7 +206,6 @@ class HttpKernel implements HttpKernelInterface, TerminableInterface private function finishRequest(Request $request, int $type) { $this->dispatcher->dispatch(new FinishRequestEvent($this, $request, $type), KernelEvents::FINISH_REQUEST); - $this->requestStack->pop(); } /** diff --git a/frontend/drupal9/vendor/symfony/http-kernel/Kernel.php b/frontend/drupal9/vendor/symfony/http-kernel/Kernel.php index ca163944d..c6476b615 100644 --- a/frontend/drupal9/vendor/symfony/http-kernel/Kernel.php +++ b/frontend/drupal9/vendor/symfony/http-kernel/Kernel.php @@ -76,11 +76,11 @@ abstract class Kernel implements KernelInterface, RebootableInterface, Terminabl private static $freshCache = []; - public const VERSION = '4.4.43'; - public const VERSION_ID = 40443; + public const VERSION = '4.4.46'; + public const VERSION_ID = 40446; public const MAJOR_VERSION = 4; public const MINOR_VERSION = 4; - public const RELEASE_VERSION = 43; + public const RELEASE_VERSION = 46; public const EXTRA_VERSION = ''; public const END_OF_MAINTENANCE = '11/2022'; @@ -237,7 +237,7 @@ abstract class Kernel implements KernelInterface, RebootableInterface, Terminabl /** * {@inheritdoc} */ - public function locateResource($name/*, $dir = null, $first = true, $triggerDeprecation = true*/) + public function locateResource($name/* , $dir = null, $first = true, $triggerDeprecation = true */) { if (2 <= \func_num_args()) { $dir = func_get_arg(1); diff --git a/frontend/drupal9/vendor/symfony/http-kernel/KernelInterface.php b/frontend/drupal9/vendor/symfony/http-kernel/KernelInterface.php index 00a1aec81..d18e3b22f 100644 --- a/frontend/drupal9/vendor/symfony/http-kernel/KernelInterface.php +++ b/frontend/drupal9/vendor/symfony/http-kernel/KernelInterface.php @@ -87,7 +87,7 @@ interface KernelInterface extends HttpKernelInterface * @throws \InvalidArgumentException if the file cannot be found or the name is not valid * @throws \RuntimeException if the name contains invalid/unsafe characters */ - public function locateResource($name/*, $dir = null, $first = true*/); + public function locateResource($name/* , $dir = null, $first = true */); /** * Gets the name of the kernel. diff --git a/frontend/drupal9/vendor/symfony/http-kernel/Log/Logger.php b/frontend/drupal9/vendor/symfony/http-kernel/Log/Logger.php index 3e1db3346..d7f297f58 100644 --- a/frontend/drupal9/vendor/symfony/http-kernel/Log/Logger.php +++ b/frontend/drupal9/vendor/symfony/http-kernel/Log/Logger.php @@ -91,7 +91,7 @@ class Logger extends AbstractLogger if (str_contains($message, '{')) { $replacements = []; foreach ($context as $key => $val) { - if (null === $val || is_scalar($val) || (\is_object($val) && method_exists($val, '__toString'))) { + if (null === $val || \is_scalar($val) || (\is_object($val) && method_exists($val, '__toString'))) { $replacements["{{$key}}"] = $val; } elseif ($val instanceof \DateTimeInterface) { $replacements["{{$key}}"] = $val->format(\DateTime::RFC3339); diff --git a/frontend/drupal9/vendor/symfony/http-kernel/Profiler/FileProfilerStorage.php b/frontend/drupal9/vendor/symfony/http-kernel/Profiler/FileProfilerStorage.php index d729994c1..aa494691d 100644 --- a/frontend/drupal9/vendor/symfony/http-kernel/Profiler/FileProfilerStorage.php +++ b/frontend/drupal9/vendor/symfony/http-kernel/Profiler/FileProfilerStorage.php @@ -115,19 +115,7 @@ class FileProfilerStorage implements ProfilerStorageInterface */ public function read($token): ?Profile { - if (!$token || !file_exists($file = $this->getFilename($token))) { - return null; - } - - if (\function_exists('gzcompress')) { - $file = 'compress.zlib://'.$file; - } - - if (!$data = unserialize(file_get_contents($file))) { - return null; - } - - return $this->createProfileFromData($token, $data); + return $this->doRead($token); } /** @@ -169,14 +157,13 @@ class FileProfilerStorage implements ProfilerStorageInterface 'status_code' => $profile->getStatusCode(), ]; - $context = stream_context_create(); + $data = serialize($data); - if (\function_exists('gzcompress')) { - $file = 'compress.zlib://'.$file; - stream_context_set_option($context, 'zlib', 'level', 3); + if (\function_exists('gzencode')) { + $data = gzencode($data, 3); } - if (false === file_put_contents($file, serialize($data), 0, $context)) { + if (false === file_put_contents($file, $data, \LOCK_EX)) { return false; } @@ -293,21 +280,34 @@ class FileProfilerStorage implements ProfilerStorageInterface } foreach ($data['children'] as $token) { - if (!$token || !file_exists($file = $this->getFilename($token))) { - continue; + if (null !== $childProfile = $this->doRead($token, $profile)) { + $profile->addChild($childProfile); } - - if (\function_exists('gzcompress')) { - $file = 'compress.zlib://'.$file; - } - - if (!$childData = unserialize(file_get_contents($file))) { - continue; - } - - $profile->addChild($this->createProfileFromData($token, $childData, $profile)); } return $profile; } + + private function doRead($token, Profile $profile = null): ?Profile + { + if (!$token || !file_exists($file = $this->getFilename($token))) { + return null; + } + + $h = fopen($file, 'r'); + flock($h, \LOCK_SH); + $data = stream_get_contents($h); + flock($h, \LOCK_UN); + fclose($h); + + if (\function_exists('gzdecode')) { + $data = @gzdecode($data) ?: $data; + } + + if (!$data = unserialize($data)) { + return null; + } + + return $this->createProfileFromData($token, $data, $profile); + } } diff --git a/frontend/drupal9/vendor/symfony/http-kernel/Profiler/Profiler.php b/frontend/drupal9/vendor/symfony/http-kernel/Profiler/Profiler.php index 60a623684..32bde2bbc 100644 --- a/frontend/drupal9/vendor/symfony/http-kernel/Profiler/Profiler.php +++ b/frontend/drupal9/vendor/symfony/http-kernel/Profiler/Profiler.php @@ -143,7 +143,7 @@ class Profiler implements ResetInterface * * @return Profile|null A Profile instance or null if the profiler is disabled */ - public function collect(Request $request, Response $response/*, \Throwable $exception = null*/) + public function collect(Request $request, Response $response/* , \Throwable $exception = null */) { $exception = 2 < \func_num_args() ? func_get_arg(2) : null; diff --git a/frontend/drupal9/vendor/symfony/mime/CharacterStream.php b/frontend/drupal9/vendor/symfony/mime/CharacterStream.php index 9d0a9c661..238debde1 100644 --- a/frontend/drupal9/vendor/symfony/mime/CharacterStream.php +++ b/frontend/drupal9/vendor/symfony/mime/CharacterStream.php @@ -81,17 +81,17 @@ final class CharacterStream $this->fixedWidth = 2; break; - // 32 bits + // 32 bits case 'ucs4': case 'ucs-4': case 'utf32': case 'utf-32': $this->fixedWidth = 4; - break; + break; - // 7-8 bit charsets: (us-)?ascii, (iso|iec)-?8859-?[0-9]+, windows-?125[0-9], cp-?[0-9]+, ansi, macintosh, + // 7-8 bit charsets: (us-)?ascii, (iso|iec)-?8859-?[0-9]+, windows-?125[0-9], cp-?[0-9]+, ansi, macintosh, // koi-?7, koi-?8-?.+, mik, (cork|t1), v?iscii - // and fallback + // and fallback default: $this->fixedWidth = 1; } diff --git a/frontend/drupal9/vendor/symfony/mime/Email.php b/frontend/drupal9/vendor/symfony/mime/Email.php index bba99ee10..bd0a476c4 100644 --- a/frontend/drupal9/vendor/symfony/mime/Email.php +++ b/frontend/drupal9/vendor/symfony/mime/Email.php @@ -43,6 +43,10 @@ class Email extends Message private $html; private $htmlCharset; private $attachments = []; + /** + * @var AbstractPart|null + */ + private $cachedBody; // Used to avoid wrong body hash in DKIM signatures with multiple parts (e.g. HTML + TEXT) due to multiple boundaries. /** * @return $this @@ -282,6 +286,7 @@ class Email extends Message throw new \TypeError(sprintf('The body must be a string, a resource or null (got "%s").', get_debug_type($body))); } + $this->cachedBody = null; $this->text = $body; $this->textCharset = $charset; @@ -312,6 +317,7 @@ class Email extends Message throw new \TypeError(sprintf('The body must be a string, a resource or null (got "%s").', get_debug_type($body))); } + $this->cachedBody = null; $this->html = $body; $this->htmlCharset = $charset; @@ -342,6 +348,7 @@ class Email extends Message throw new \TypeError(sprintf('The body must be a string or a resource (got "%s").', get_debug_type($body))); } + $this->cachedBody = null; $this->attachments[] = ['body' => $body, 'name' => $name, 'content-type' => $contentType, 'inline' => false]; return $this; @@ -352,6 +359,7 @@ class Email extends Message */ public function attachFromPath(string $path, string $name = null, string $contentType = null) { + $this->cachedBody = null; $this->attachments[] = ['path' => $path, 'name' => $name, 'content-type' => $contentType, 'inline' => false]; return $this; @@ -368,6 +376,7 @@ class Email extends Message throw new \TypeError(sprintf('The body must be a string or a resource (got "%s").', get_debug_type($body))); } + $this->cachedBody = null; $this->attachments[] = ['body' => $body, 'name' => $name, 'content-type' => $contentType, 'inline' => true]; return $this; @@ -378,6 +387,7 @@ class Email extends Message */ public function embedFromPath(string $path, string $name = null, string $contentType = null) { + $this->cachedBody = null; $this->attachments[] = ['path' => $path, 'name' => $name, 'content-type' => $contentType, 'inline' => true]; return $this; @@ -388,6 +398,7 @@ class Email extends Message */ public function attachPart(DataPart $part) { + $this->cachedBody = null; $this->attachments[] = ['part' => $part]; return $this; @@ -446,9 +457,13 @@ class Email extends Message */ private function generateBody(): AbstractPart { + if (null !== $this->cachedBody) { + return $this->cachedBody; + } + $this->ensureValidity(); - [$htmlPart, $attachmentParts, $inlineParts] = $this->prepareParts(); + [$htmlPart, $otherParts, $relatedParts] = $this->prepareParts(); $part = null === $this->text ? null : new TextPart($this->text, $this->textCharset); if (null !== $htmlPart) { @@ -459,19 +474,19 @@ class Email extends Message } } - if ($inlineParts) { - $part = new RelatedPart($part, ...$inlineParts); + if ($relatedParts) { + $part = new RelatedPart($part, ...$relatedParts); } - if ($attachmentParts) { + if ($otherParts) { if ($part) { - $part = new MixedPart($part, ...$attachmentParts); + $part = new MixedPart($part, ...$otherParts); } else { - $part = new MixedPart(...$attachmentParts); + $part = new MixedPart(...$otherParts); } } - return $part; + return $this->cachedBody = $part; } private function prepareParts(): ?array @@ -482,35 +497,49 @@ class Email extends Message if (null !== $html) { $htmlPart = new TextPart($html, $this->htmlCharset, 'html'); $html = $htmlPart->getBody(); - preg_match_all('(]*src\s*=\s*(?:([\'"])cid:([^"]+)\\1|cid:([^>\s]+)))i', $html, $names); + preg_match_all('(]*src\s*=\s*(?:([\'"])cid:(.+?)\\1|cid:([^>\s]+)))i', $html, $names); $names = array_filter(array_unique(array_merge($names[2], $names[3]))); } - $attachmentParts = $inlineParts = []; + // usage of reflection is a temporary workaround for missing getters that will be added in 6.2 + $nameRef = new \ReflectionProperty(TextPart::class, 'name'); + $nameRef->setAccessible(true); + $otherParts = $relatedParts = []; foreach ($this->attachments as $attachment) { + $part = $this->createDataPart($attachment); + if (isset($attachment['part'])) { + $attachment['name'] = $nameRef->getValue($part); + } + + $related = false; foreach ($names as $name) { - if (isset($attachment['part'])) { - continue; - } if ($name !== $attachment['name']) { continue; } - if (isset($inlineParts[$name])) { + if (isset($relatedParts[$name])) { continue 2; } - $attachment['inline'] = true; - $inlineParts[$name] = $part = $this->createDataPart($attachment); - $html = str_replace('cid:'.$name, 'cid:'.$part->getContentId(), $html); + $part->setDisposition('inline'); + $html = str_replace('cid:'.$name, 'cid:'.$part->getContentId(), $html, $count); + if ($count) { + $related = true; + } $part->setName($part->getContentId()); - continue 2; + + break; + } + + if ($related) { + $relatedParts[$attachment['name']] = $part; + } else { + $otherParts[] = $part; } - $attachmentParts[] = $this->createDataPart($attachment); } if (null !== $htmlPart) { $htmlPart = new TextPart($html, $this->htmlCharset, 'html'); } - return [$htmlPart, $attachmentParts, array_values($inlineParts)]; + return [$htmlPart, $otherParts, array_values($relatedParts)]; } private function createDataPart(array $attachment): DataPart diff --git a/frontend/drupal9/vendor/symfony/mime/Header/AbstractHeader.php b/frontend/drupal9/vendor/symfony/mime/Header/AbstractHeader.php index b82eb53ec..5de906687 100644 --- a/frontend/drupal9/vendor/symfony/mime/Header/AbstractHeader.php +++ b/frontend/drupal9/vendor/symfony/mime/Header/AbstractHeader.php @@ -109,6 +109,11 @@ abstract class AbstractHeader implements HeaderInterface } $phraseStr = $this->encodeWords($header, $string, $usedLength); } + } elseif (str_contains($phraseStr, '(')) { + foreach (['\\', '"'] as $char) { + $phraseStr = str_replace($char, '\\'.$char, $phraseStr); + } + $phraseStr = '"'.$phraseStr.'"'; } return $phraseStr; @@ -195,7 +200,7 @@ abstract class AbstractHeader implements HeaderInterface $encodingWrapperLength = \strlen('=?'.$charsetDecl.'?'.self::$encoder->getName().'??='); if ($firstLineOffset >= 75) { - //Does this logic need to be here? + // Does this logic need to be here? $firstLineOffset = 0; } diff --git a/frontend/drupal9/vendor/symfony/mime/MessageConverter.php b/frontend/drupal9/vendor/symfony/mime/MessageConverter.php index 788a5ff99..0539eac8e 100644 --- a/frontend/drupal9/vendor/symfony/mime/MessageConverter.php +++ b/frontend/drupal9/vendor/symfony/mime/MessageConverter.php @@ -83,7 +83,7 @@ final class MessageConverter 2 === \count($parts) && $parts[0] instanceof TextPart && 'text' === $parts[0]->getMediaType() && 'plain' === $parts[0]->getMediaSubtype() && $parts[1] instanceof TextPart && 'text' === $parts[1]->getMediaType() && 'html' === $parts[1]->getMediaSubtype() - ) { + ) { return (new Email(clone $message->getHeaders())) ->text($parts[0]->getBody(), $parts[0]->getPreparedHeaders()->getHeaderParameter('Content-Type', 'charset') ?: 'utf-8') ->html($parts[1]->getBody(), $parts[1]->getPreparedHeaders()->getHeaderParameter('Content-Type', 'charset') ?: 'utf-8') diff --git a/frontend/drupal9/vendor/symfony/mime/Part/TextPart.php b/frontend/drupal9/vendor/symfony/mime/Part/TextPart.php index 4afb6560a..bfe41c0aa 100644 --- a/frontend/drupal9/vendor/symfony/mime/Part/TextPart.php +++ b/frontend/drupal9/vendor/symfony/mime/Part/TextPart.php @@ -197,6 +197,7 @@ class TextPart extends AbstractPart // convert resources to strings for serialization if (null !== $this->seekable) { $this->body = $this->getBody(); + $this->seekable = null; } $this->_headers = $this->getHeaders(); diff --git a/frontend/drupal9/vendor/symfony/process/ExecutableFinder.php b/frontend/drupal9/vendor/symfony/process/ExecutableFinder.php index ff68ed331..e2dd064d6 100644 --- a/frontend/drupal9/vendor/symfony/process/ExecutableFinder.php +++ b/frontend/drupal9/vendor/symfony/process/ExecutableFinder.php @@ -50,8 +50,8 @@ class ExecutableFinder */ public function find($name, $default = null, array $extraDirs = []) { - if (ini_get('open_basedir')) { - $searchPath = array_merge(explode(\PATH_SEPARATOR, ini_get('open_basedir')), $extraDirs); + if (\ini_get('open_basedir')) { + $searchPath = array_merge(explode(\PATH_SEPARATOR, \ini_get('open_basedir')), $extraDirs); $dirs = []; foreach ($searchPath as $path) { // Silencing against https://bugs.php.net/69240 diff --git a/frontend/drupal9/vendor/symfony/process/Pipes/AbstractPipes.php b/frontend/drupal9/vendor/symfony/process/Pipes/AbstractPipes.php index ab65866c2..9532e3ef6 100644 --- a/frontend/drupal9/vendor/symfony/process/Pipes/AbstractPipes.php +++ b/frontend/drupal9/vendor/symfony/process/Pipes/AbstractPipes.php @@ -104,7 +104,7 @@ abstract class AbstractPipes implements PipesInterface stream_set_blocking($input, 0); } elseif (!isset($this->inputBuffer[0])) { if (!\is_string($input)) { - if (!is_scalar($input)) { + if (!\is_scalar($input)) { throw new InvalidArgumentException(sprintf('"%s" yielded a value of type "%s", but only scalars and stream resources are supported.', \get_class($this->input), \gettype($input))); } $input = (string) $input; diff --git a/frontend/drupal9/vendor/symfony/process/ProcessUtils.php b/frontend/drupal9/vendor/symfony/process/ProcessUtils.php index eb39a4a9e..121693baa 100644 --- a/frontend/drupal9/vendor/symfony/process/ProcessUtils.php +++ b/frontend/drupal9/vendor/symfony/process/ProcessUtils.php @@ -48,7 +48,7 @@ class ProcessUtils if (\is_string($input)) { return $input; } - if (is_scalar($input)) { + if (\is_scalar($input)) { return (string) $input; } if ($input instanceof Process) { diff --git a/frontend/drupal9/vendor/symfony/psr-http-message-bridge/.github/workflows/ci.yml b/frontend/drupal9/vendor/symfony/psr-http-message-bridge/.github/workflows/ci.yml deleted file mode 100644 index 4c0e8aeef..000000000 --- a/frontend/drupal9/vendor/symfony/psr-http-message-bridge/.github/workflows/ci.yml +++ /dev/null @@ -1,49 +0,0 @@ -name: CI - -on: - pull_request: - push: - -jobs: - test: - name: 'Test ${{ matrix.deps }} on PHP ${{ matrix.php }}' - runs-on: ubuntu-latest - - strategy: - fail-fast: false - matrix: - php: ['7.1.3', '7.2', '7.3', '7.4', '8.0', '8.1'] - include: - - php: '7.4' - deps: lowest - deprecations: max[self]=0 - - php: '8.0' - deps: highest - deprecations: max[indirect]=5 - - steps: - - name: Checkout code - uses: actions/checkout@v2 - - - name: Setup PHP - uses: shivammathur/setup-php@v2 - with: - php-version: '${{ matrix.php }}' - coverage: none - - - name: Configure composer - if: "${{ matrix.deps == 'highest' }}" - run: composer config minimum-stability dev - - - name: Composer install - uses: ramsey/composer-install@v1 - with: - dependency-versions: '${{ matrix.deps }}' - - - name: Install PHPUnit - run: vendor/bin/simple-phpunit install - - - name: Run tests - run: vendor/bin/simple-phpunit - env: - SYMFONY_DEPRECATIONS_HELPER: '${{ matrix.deprecations }}' diff --git a/frontend/drupal9/vendor/symfony/psr-http-message-bridge/.gitignore b/frontend/drupal9/vendor/symfony/psr-http-message-bridge/.gitignore deleted file mode 100644 index 55ce5dd25..000000000 --- a/frontend/drupal9/vendor/symfony/psr-http-message-bridge/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -vendor/ -composer.lock -phpunit.xml -.php_cs.cache -.phpunit.result.cache -/Tests/Fixtures/App/var diff --git a/frontend/drupal9/vendor/symfony/psr-http-message-bridge/.php_cs.dist b/frontend/drupal9/vendor/symfony/psr-http-message-bridge/.php_cs.dist deleted file mode 100644 index d741d39f5..000000000 --- a/frontend/drupal9/vendor/symfony/psr-http-message-bridge/.php_cs.dist +++ /dev/null @@ -1,24 +0,0 @@ -setRules([ - '@Symfony' => true, - '@Symfony:risky' => true, - '@PHPUnit48Migration:risky' => true, - 'php_unit_no_expectation_annotation' => false, // part of `PHPUnitXYMigration:risky` ruleset, to be enabled when PHPUnit 4.x support will be dropped, as we don't want to rewrite exceptions handling twice - 'array_syntax' => ['syntax' => 'short'], - 'fopen_flags' => false, - 'ordered_imports' => true, - 'protected_to_private' => false, - // Part of @Symfony:risky in PHP-CS-Fixer 2.13.0. To be removed from the config file once upgrading - 'native_function_invocation' => ['include' => ['@compiler_optimized'], 'scope' => 'namespaced'], - // Part of future @Symfony ruleset in PHP-CS-Fixer To be removed from the config file once upgrading - 'phpdoc_types_order' => ['null_adjustment' => 'always_last', 'sort_algorithm' => 'none'], - ]) - ->setRiskyAllowed(true) - ->setFinder( - PhpCsFixer\Finder::create() - ->in(__DIR__) - ->name('*.php') - ) -; diff --git a/frontend/drupal9/vendor/symfony/psr-http-message-bridge/CHANGELOG.md b/frontend/drupal9/vendor/symfony/psr-http-message-bridge/CHANGELOG.md index c17d8f342..87816cc9a 100644 --- a/frontend/drupal9/vendor/symfony/psr-http-message-bridge/CHANGELOG.md +++ b/frontend/drupal9/vendor/symfony/psr-http-message-bridge/CHANGELOG.md @@ -1,6 +1,11 @@ CHANGELOG ========= +# 2.1.3 (2022-09-05) + +* Ignore invalid HTTP headers when creating PSR7 objects +* Fix for wrong type passed to `moveTo()` + # 2.1.2 (2021-11-05) * Allow Symfony 6 diff --git a/frontend/drupal9/vendor/symfony/psr-http-message-bridge/Factory/PsrHttpFactory.php b/frontend/drupal9/vendor/symfony/psr-http-message-bridge/Factory/PsrHttpFactory.php index d19baa1ab..61650df9f 100644 --- a/frontend/drupal9/vendor/symfony/psr-http-message-bridge/Factory/PsrHttpFactory.php +++ b/frontend/drupal9/vendor/symfony/psr-http-message-bridge/Factory/PsrHttpFactory.php @@ -58,7 +58,11 @@ class PsrHttpFactory implements HttpMessageFactoryInterface ); foreach ($symfonyRequest->headers->all() as $name => $value) { - $request = $request->withHeader($name, $value); + try { + $request = $request->withHeader($name, $value); + } catch (\InvalidArgumentException $e) { + // ignore invalid header + } } $body = $this->streamFactory->createStreamFromResource($symfonyRequest->getContent(true)); @@ -160,7 +164,11 @@ class PsrHttpFactory implements HttpMessageFactoryInterface } foreach ($headers as $name => $value) { - $response = $response->withHeader($name, $value); + try { + $response = $response->withHeader($name, $value); + } catch (\InvalidArgumentException $e) { + // ignore invalid header + } } $protocolVersion = $symfonyResponse->getProtocolVersion(); diff --git a/frontend/drupal9/vendor/symfony/psr-http-message-bridge/Factory/UploadedFile.php b/frontend/drupal9/vendor/symfony/psr-http-message-bridge/Factory/UploadedFile.php index 53aa37a62..b9510455c 100644 --- a/frontend/drupal9/vendor/symfony/psr-http-message-bridge/Factory/UploadedFile.php +++ b/frontend/drupal9/vendor/symfony/psr-http-message-bridge/Factory/UploadedFile.php @@ -61,7 +61,7 @@ class UploadedFile extends BaseUploadedFile $target = $this->getTargetFile($directory, $name); try { - $this->psrUploadedFile->moveTo($target); + $this->psrUploadedFile->moveTo((string) $target); } catch (\RuntimeException $e) { throw new FileException(sprintf('Could not move the file "%s" to "%s" (%s)', $this->getPathname(), $target, $e->getMessage()), 0, $e); } diff --git a/frontend/drupal9/vendor/symfony/psr-http-message-bridge/Tests/ArgumentValueResolver/PsrServerRequestResolverTest.php b/frontend/drupal9/vendor/symfony/psr-http-message-bridge/Tests/ArgumentValueResolver/PsrServerRequestResolverTest.php deleted file mode 100644 index 662b18691..000000000 --- a/frontend/drupal9/vendor/symfony/psr-http-message-bridge/Tests/ArgumentValueResolver/PsrServerRequestResolverTest.php +++ /dev/null @@ -1,68 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Bridge\PsrHttpMessage\Tests\ArgumentValueResolver; - -use PHPUnit\Framework\TestCase; -use Psr\Http\Message\MessageInterface; -use Psr\Http\Message\RequestInterface; -use Psr\Http\Message\ServerRequestInterface; -use Symfony\Bridge\PsrHttpMessage\ArgumentValueResolver\PsrServerRequestResolver; -use Symfony\Bridge\PsrHttpMessage\HttpMessageFactoryInterface; -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpKernel\Controller\ArgumentResolver; - -/** - * @author Alexander M. Turek - */ -final class PsrServerRequestResolverTest extends TestCase -{ - public function testServerRequest() - { - $symfonyRequest = $this->createMock(Request::class); - $psrRequest = $this->createMock(ServerRequestInterface::class); - - $resolver = $this->bootstrapResolver($symfonyRequest, $psrRequest); - - self::assertSame([$psrRequest], $resolver->getArguments($symfonyRequest, static function (ServerRequestInterface $serverRequest): void {})); - } - - public function testRequest() - { - $symfonyRequest = $this->createMock(Request::class); - $psrRequest = $this->createMock(ServerRequestInterface::class); - - $resolver = $this->bootstrapResolver($symfonyRequest, $psrRequest); - - self::assertSame([$psrRequest], $resolver->getArguments($symfonyRequest, static function (RequestInterface $request): void {})); - } - - public function testMessage() - { - $symfonyRequest = $this->createMock(Request::class); - $psrRequest = $this->createMock(ServerRequestInterface::class); - - $resolver = $this->bootstrapResolver($symfonyRequest, $psrRequest); - - self::assertSame([$psrRequest], $resolver->getArguments($symfonyRequest, static function (MessageInterface $request): void {})); - } - - private function bootstrapResolver(Request $symfonyRequest, ServerRequestInterface $psrRequest): ArgumentResolver - { - $messageFactory = $this->createMock(HttpMessageFactoryInterface::class); - $messageFactory->expects(self::once()) - ->method('createRequest') - ->with(self::identicalTo($symfonyRequest)) - ->willReturn($psrRequest); - - return new ArgumentResolver(null, [new PsrServerRequestResolver($messageFactory)]); - } -} diff --git a/frontend/drupal9/vendor/symfony/psr-http-message-bridge/Tests/EventListener/PsrResponseListenerTest.php b/frontend/drupal9/vendor/symfony/psr-http-message-bridge/Tests/EventListener/PsrResponseListenerTest.php deleted file mode 100644 index 9a94b20ac..000000000 --- a/frontend/drupal9/vendor/symfony/psr-http-message-bridge/Tests/EventListener/PsrResponseListenerTest.php +++ /dev/null @@ -1,53 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Bridge\PsrHttpMessage\Tests\EventListener; - -use PHPUnit\Framework\TestCase; -use Symfony\Bridge\PsrHttpMessage\EventListener\PsrResponseListener; -use Symfony\Bridge\PsrHttpMessage\Tests\Fixtures\Response; -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpKernel\Event\ViewEvent; -use Symfony\Component\HttpKernel\HttpKernelInterface; - -/** - * @author Kévin Dunglas - */ -class PsrResponseListenerTest extends TestCase -{ - public function testConvertsControllerResult() - { - $listener = new PsrResponseListener(); - $event = $this->createEventMock(new Response()); - $listener->onKernelView($event); - - self::assertTrue($event->hasResponse()); - } - - public function testDoesNotConvertControllerResult() - { - $listener = new PsrResponseListener(); - $event = $this->createEventMock([]); - - $listener->onKernelView($event); - self::assertFalse($event->hasResponse()); - - $event = $this->createEventMock(null); - - $listener->onKernelView($event); - self::assertFalse($event->hasResponse()); - } - - private function createEventMock($controllerResult): ViewEvent - { - return new ViewEvent($this->createMock(HttpKernelInterface::class), new Request(), HttpKernelInterface::MASTER_REQUEST, $controllerResult); - } -} diff --git a/frontend/drupal9/vendor/symfony/psr-http-message-bridge/Tests/Factory/AbstractHttpMessageFactoryTest.php b/frontend/drupal9/vendor/symfony/psr-http-message-bridge/Tests/Factory/AbstractHttpMessageFactoryTest.php deleted file mode 100644 index 82d3fc789..000000000 --- a/frontend/drupal9/vendor/symfony/psr-http-message-bridge/Tests/Factory/AbstractHttpMessageFactoryTest.php +++ /dev/null @@ -1,234 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Bridge\PsrHttpMessage\Tests\Factory; - -use PHPUnit\Framework\TestCase; -use Symfony\Bridge\PsrHttpMessage\HttpMessageFactoryInterface; -use Symfony\Component\HttpFoundation\BinaryFileResponse; -use Symfony\Component\HttpFoundation\Cookie; -use Symfony\Component\HttpFoundation\File\UploadedFile; -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpFoundation\Response; -use Symfony\Component\HttpFoundation\StreamedResponse; - -/** - * @author Kévin Dunglas - * @author Antonio J. García Lagar - */ -abstract class AbstractHttpMessageFactoryTest extends TestCase -{ - private $factory; - private $tmpDir; - - abstract protected function buildHttpMessageFactory(): HttpMessageFactoryInterface; - - protected function setUp(): void - { - $this->factory = $this->buildHttpMessageFactory(); - $this->tmpDir = sys_get_temp_dir(); - } - - public function testCreateRequest() - { - $stdClass = new \stdClass(); - $request = new Request( - [ - 'bar' => ['baz' => '42'], - 'foo' => '1', - ], - [ - 'twitter' => [ - '@dunglas' => 'Kévin Dunglas', - '@coopTilleuls' => 'Les-Tilleuls.coop', - ], - 'baz' => '2', - ], - [ - 'a1' => $stdClass, - 'a2' => ['foo' => 'bar'], - ], - [ - 'c1' => 'foo', - 'c2' => ['c3' => 'bar'], - ], - [ - 'f1' => $this->createUploadedFile('F1', 'f1.txt', 'text/plain', \UPLOAD_ERR_OK), - 'foo' => ['f2' => $this->createUploadedFile('F2', 'f2.txt', 'text/plain', \UPLOAD_ERR_OK)], - ], - [ - 'REQUEST_METHOD' => 'POST', - 'HTTP_HOST' => 'dunglas.fr', - 'HTTP_X_SYMFONY' => '2.8', - 'REQUEST_URI' => '/testCreateRequest?bar[baz]=42&foo=1', - 'QUERY_STRING' => 'bar[baz]=42&foo=1', - ], - 'Content' - ); - - $psrRequest = $this->factory->createRequest($request); - - $this->assertEquals('Content', $psrRequest->getBody()->__toString()); - - $queryParams = $psrRequest->getQueryParams(); - $this->assertEquals('1', $queryParams['foo']); - $this->assertEquals('42', $queryParams['bar']['baz']); - - $requestTarget = $psrRequest->getRequestTarget(); - $this->assertEquals('/testCreateRequest?bar[baz]=42&foo=1', urldecode($requestTarget)); - - $parsedBody = $psrRequest->getParsedBody(); - $this->assertEquals('Kévin Dunglas', $parsedBody['twitter']['@dunglas']); - $this->assertEquals('Les-Tilleuls.coop', $parsedBody['twitter']['@coopTilleuls']); - $this->assertEquals('2', $parsedBody['baz']); - - $attributes = $psrRequest->getAttributes(); - $this->assertEquals($stdClass, $attributes['a1']); - $this->assertEquals('bar', $attributes['a2']['foo']); - - $cookies = $psrRequest->getCookieParams(); - $this->assertEquals('foo', $cookies['c1']); - $this->assertEquals('bar', $cookies['c2']['c3']); - - $uploadedFiles = $psrRequest->getUploadedFiles(); - $this->assertEquals('F1', $uploadedFiles['f1']->getStream()->__toString()); - $this->assertEquals('f1.txt', $uploadedFiles['f1']->getClientFilename()); - $this->assertEquals('text/plain', $uploadedFiles['f1']->getClientMediaType()); - $this->assertEquals(\UPLOAD_ERR_OK, $uploadedFiles['f1']->getError()); - - $this->assertEquals('F2', $uploadedFiles['foo']['f2']->getStream()->__toString()); - $this->assertEquals('f2.txt', $uploadedFiles['foo']['f2']->getClientFilename()); - $this->assertEquals('text/plain', $uploadedFiles['foo']['f2']->getClientMediaType()); - $this->assertEquals(\UPLOAD_ERR_OK, $uploadedFiles['foo']['f2']->getError()); - - $serverParams = $psrRequest->getServerParams(); - $this->assertEquals('POST', $serverParams['REQUEST_METHOD']); - $this->assertEquals('2.8', $serverParams['HTTP_X_SYMFONY']); - $this->assertEquals('POST', $psrRequest->getMethod()); - $this->assertEquals(['2.8'], $psrRequest->getHeader('X-Symfony')); - } - - public function testGetContentCanBeCalledAfterRequestCreation() - { - $header = ['HTTP_HOST' => 'dunglas.fr']; - $request = new Request([], [], [], [], [], $header, 'Content'); - - $psrRequest = $this->factory->createRequest($request); - - $this->assertEquals('Content', $psrRequest->getBody()->__toString()); - $this->assertEquals('Content', $request->getContent()); - } - - private function createUploadedFile($content, $originalName, $mimeType, $error) - { - $path = tempnam($this->tmpDir, uniqid()); - file_put_contents($path, $content); - - return new UploadedFile($path, $originalName, $mimeType, $error, true); - } - - public function testCreateResponse() - { - $response = new Response( - 'Response content.', - 202, - ['X-Symfony' => ['3.4']] - ); - $response->headers->setCookie(new Cookie('city', 'Lille', new \DateTime('Wed, 13 Jan 2021 22:23:01 GMT'), '/', null, false, true, false, 'lax')); - - $psrResponse = $this->factory->createResponse($response); - $this->assertEquals('Response content.', $psrResponse->getBody()->__toString()); - $this->assertEquals(202, $psrResponse->getStatusCode()); - $this->assertEquals(['3.4'], $psrResponse->getHeader('X-Symfony')); - - $cookieHeader = $psrResponse->getHeader('Set-Cookie'); - $this->assertIsArray($cookieHeader); - $this->assertCount(1, $cookieHeader); - $this->assertMatchesRegularExpression('{city=Lille; expires=Wed, 13-Jan-2021 22:23:01 GMT;( max-age=\d+;)? path=/; httponly}i', $cookieHeader[0]); - } - - public function testCreateResponseFromStreamed() - { - $response = new StreamedResponse(function () { - echo "Line 1\n"; - flush(); - - echo "Line 2\n"; - flush(); - }); - - $psrResponse = $this->factory->createResponse($response); - - $this->assertEquals("Line 1\nLine 2\n", $psrResponse->getBody()->__toString()); - } - - public function testCreateResponseFromBinaryFile() - { - $path = tempnam($this->tmpDir, uniqid()); - file_put_contents($path, 'Binary'); - - $response = new BinaryFileResponse($path); - - $psrResponse = $this->factory->createResponse($response); - - $this->assertEquals('Binary', $psrResponse->getBody()->__toString()); - } - - public function testCreateResponseFromBinaryFileWithRange() - { - $path = tempnam($this->tmpDir, uniqid()); - file_put_contents($path, 'Binary'); - - $request = new Request(); - $request->headers->set('Range', 'bytes=1-4'); - - $response = new BinaryFileResponse($path, 200, ['Content-Type' => 'plain/text']); - $response->prepare($request); - - $psrResponse = $this->factory->createResponse($response); - - $this->assertEquals('inar', $psrResponse->getBody()->__toString()); - $this->assertSame('bytes 1-4/6', $psrResponse->getHeaderLine('Content-Range')); - } - - public function testUploadErrNoFile() - { - $file = new UploadedFile('', '', null, \UPLOAD_ERR_NO_FILE, true); - - $this->assertEquals(0, $file->getSize()); - $this->assertEquals(\UPLOAD_ERR_NO_FILE, $file->getError()); - $this->assertFalse($file->getSize(), 'SplFile::getSize() returns false on error'); - - $request = new Request( - [], - [], - [], - [], - [ - 'f1' => $file, - 'f2' => ['name' => null, 'type' => null, 'tmp_name' => null, 'error' => \UPLOAD_ERR_NO_FILE, 'size' => 0], - ], - [ - 'REQUEST_METHOD' => 'POST', - 'HTTP_HOST' => 'dunglas.fr', - 'HTTP_X_SYMFONY' => '2.8', - ], - 'Content' - ); - - $psrRequest = $this->factory->createRequest($request); - - $uploadedFiles = $psrRequest->getUploadedFiles(); - - $this->assertEquals(\UPLOAD_ERR_NO_FILE, $uploadedFiles['f1']->getError()); - $this->assertEquals(\UPLOAD_ERR_NO_FILE, $uploadedFiles['f2']->getError()); - } -} diff --git a/frontend/drupal9/vendor/symfony/psr-http-message-bridge/Tests/Factory/HttpFoundationFactoryTest.php b/frontend/drupal9/vendor/symfony/psr-http-message-bridge/Tests/Factory/HttpFoundationFactoryTest.php deleted file mode 100644 index 3a00e2fa7..000000000 --- a/frontend/drupal9/vendor/symfony/psr-http-message-bridge/Tests/Factory/HttpFoundationFactoryTest.php +++ /dev/null @@ -1,272 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Bridge\PsrHttpMessage\Tests\Factory; - -use PHPUnit\Framework\TestCase; -use Psr\Http\Message\UploadedFileInterface; -use Symfony\Bridge\PsrHttpMessage\Factory\HttpFoundationFactory; -use Symfony\Bridge\PsrHttpMessage\Tests\Fixtures\Response; -use Symfony\Bridge\PsrHttpMessage\Tests\Fixtures\ServerRequest; -use Symfony\Bridge\PsrHttpMessage\Tests\Fixtures\Stream; -use Symfony\Bridge\PsrHttpMessage\Tests\Fixtures\UploadedFile; -use Symfony\Bridge\PsrHttpMessage\Tests\Fixtures\Uri; -use Symfony\Component\HttpFoundation\Cookie; -use Symfony\Component\HttpFoundation\File\Exception\FileException; -use Symfony\Component\HttpFoundation\File\UploadedFile as HttpFoundationUploadedFile; - -/** - * @author Kévin Dunglas - */ -class HttpFoundationFactoryTest extends TestCase -{ - /** @var HttpFoundationFactory */ - private $factory; - - /** @var string */ - private $tmpDir; - - protected function setUp(): void - { - $this->factory = new HttpFoundationFactory(); - $this->tmpDir = sys_get_temp_dir(); - } - - public function testCreateRequest() - { - $stdClass = new \stdClass(); - $serverRequest = new ServerRequest( - '1.1', - [ - 'X-Dunglas-API-Platform' => '1.0', - 'X-data' => ['a', 'b'], - ], - new Stream('The body'), - '/about/kevin', - 'GET', - 'http://les-tilleuls.coop/about/kevin', - ['country' => 'France'], - ['city' => 'Lille'], - ['url' => 'http://les-tilleuls.coop'], - [ - 'doc1' => $this->createUploadedFile('Doc 1', \UPLOAD_ERR_OK, 'doc1.txt', 'text/plain'), - 'nested' => [ - 'docs' => [ - $this->createUploadedFile('Doc 2', \UPLOAD_ERR_OK, 'doc2.txt', 'text/plain'), - $this->createUploadedFile('Doc 3', \UPLOAD_ERR_OK, 'doc3.txt', 'text/plain'), - ], - ], - ], - ['url' => 'http://dunglas.fr'], - ['custom' => $stdClass] - ); - - $symfonyRequest = $this->factory->createRequest($serverRequest); - $files = $symfonyRequest->files->all(); - - $this->assertEquals('http://les-tilleuls.coop', $symfonyRequest->query->get('url')); - $this->assertEquals('doc1.txt', $files['doc1']->getClientOriginalName()); - $this->assertEquals('doc2.txt', $files['nested']['docs'][0]->getClientOriginalName()); - $this->assertEquals('doc3.txt', $files['nested']['docs'][1]->getClientOriginalName()); - $this->assertEquals('http://dunglas.fr', $symfonyRequest->request->get('url')); - $this->assertEquals($stdClass, $symfonyRequest->attributes->get('custom')); - $this->assertEquals('Lille', $symfonyRequest->cookies->get('city')); - $this->assertEquals('France', $symfonyRequest->server->get('country')); - $this->assertEquals('The body', $symfonyRequest->getContent()); - $this->assertEquals('1.0', $symfonyRequest->headers->get('X-Dunglas-API-Platform')); - $this->assertEquals(['a', 'b'], $symfonyRequest->headers->all('X-data')); - } - - public function testCreateRequestWithStreamedBody() - { - $serverRequest = new ServerRequest( - '1.1', - [], - new Stream('The body'), - '/', - 'GET', - null, - [], - [], - [], - [], - null, - [] - ); - - $symfonyRequest = $this->factory->createRequest($serverRequest, true); - $this->assertEquals('The body', $symfonyRequest->getContent()); - } - - public function testCreateRequestWithNullParsedBody() - { - $serverRequest = new ServerRequest( - '1.1', - [], - new Stream(), - '/', - 'GET', - null, - [], - [], - [], - [], - null, - [] - ); - - $this->assertCount(0, $this->factory->createRequest($serverRequest)->request); - } - - public function testCreateRequestWithObjectParsedBody() - { - $serverRequest = new ServerRequest( - '1.1', - [], - new Stream(), - '/', - 'GET', - null, - [], - [], - [], - [], - new \stdClass(), - [] - ); - - $this->assertCount(0, $this->factory->createRequest($serverRequest)->request); - } - - public function testCreateRequestWithUri() - { - $serverRequest = new ServerRequest( - '1.1', - [], - new Stream(), - '/', - 'GET', - new Uri('http://les-tilleuls.coop/about/kevin'), - [], - [], - [], - [], - null, - [] - ); - - $this->assertEquals('/about/kevin', $this->factory->createRequest($serverRequest)->getPathInfo()); - } - - public function testCreateUploadedFile() - { - $uploadedFile = $this->createUploadedFile('An uploaded file.', \UPLOAD_ERR_OK, 'myfile.txt', 'text/plain'); - $symfonyUploadedFile = $this->callCreateUploadedFile($uploadedFile); - $size = $symfonyUploadedFile->getSize(); - - $uniqid = uniqid(); - $symfonyUploadedFile->move($this->tmpDir, $uniqid); - - $this->assertEquals($uploadedFile->getSize(), $size); - $this->assertEquals(\UPLOAD_ERR_OK, $symfonyUploadedFile->getError()); - $this->assertEquals('myfile.txt', $symfonyUploadedFile->getClientOriginalName()); - $this->assertEquals('txt', $symfonyUploadedFile->getClientOriginalExtension()); - $this->assertEquals('text/plain', $symfonyUploadedFile->getClientMimeType()); - $this->assertEquals('An uploaded file.', file_get_contents($this->tmpDir.'/'.$uniqid)); - } - - public function testCreateUploadedFileWithError() - { - $this->expectException(FileException::class); - $this->expectExceptionMessage('The file "e" could not be written on disk.'); - - $uploadedFile = $this->createUploadedFile('Error.', \UPLOAD_ERR_CANT_WRITE, 'e', 'text/plain'); - $symfonyUploadedFile = $this->callCreateUploadedFile($uploadedFile); - - $this->assertEquals(\UPLOAD_ERR_CANT_WRITE, $symfonyUploadedFile->getError()); - - $symfonyUploadedFile->move($this->tmpDir, 'shouldFail.txt'); - } - - private function createUploadedFile($content, $error, $clientFileName, $clientMediaType): UploadedFile - { - $filePath = tempnam($this->tmpDir, uniqid()); - file_put_contents($filePath, $content); - - return new UploadedFile($filePath, filesize($filePath), $error, $clientFileName, $clientMediaType); - } - - private function callCreateUploadedFile(UploadedFileInterface $uploadedFile): HttpFoundationUploadedFile - { - $reflection = new \ReflectionClass($this->factory); - $createUploadedFile = $reflection->getMethod('createUploadedFile'); - $createUploadedFile->setAccessible(true); - - return $createUploadedFile->invokeArgs($this->factory, [$uploadedFile]); - } - - public function testCreateResponse() - { - $response = new Response( - '1.0', - [ - 'X-Symfony' => ['2.8'], - 'Set-Cookie' => [ - 'theme=light', - 'test', - 'ABC=AeD; Domain=dunglas.fr; Path=/kevin; Expires=Wed, 13 Jan 2021 22:23:01 GMT; Secure; HttpOnly; SameSite=Strict', - ], - ], - new Stream('The response body'), - 200 - ); - - $symfonyResponse = $this->factory->createResponse($response); - - $this->assertEquals('1.0', $symfonyResponse->getProtocolVersion()); - $this->assertEquals('2.8', $symfonyResponse->headers->get('X-Symfony')); - - $cookies = $symfonyResponse->headers->getCookies(); - $this->assertEquals('theme', $cookies[0]->getName()); - $this->assertEquals('light', $cookies[0]->getValue()); - $this->assertEquals(0, $cookies[0]->getExpiresTime()); - $this->assertNull($cookies[0]->getDomain()); - $this->assertEquals('/', $cookies[0]->getPath()); - $this->assertFalse($cookies[0]->isSecure()); - $this->assertFalse($cookies[0]->isHttpOnly()); - - $this->assertEquals('test', $cookies[1]->getName()); - $this->assertNull($cookies[1]->getValue()); - - $this->assertEquals('ABC', $cookies[2]->getName()); - $this->assertEquals('AeD', $cookies[2]->getValue()); - $this->assertEquals(strtotime('Wed, 13 Jan 2021 22:23:01 GMT'), $cookies[2]->getExpiresTime()); - $this->assertEquals('dunglas.fr', $cookies[2]->getDomain()); - $this->assertEquals('/kevin', $cookies[2]->getPath()); - $this->assertTrue($cookies[2]->isSecure()); - $this->assertTrue($cookies[2]->isHttpOnly()); - if (\defined('Symfony\Component\HttpFoundation\Cookie::SAMESITE_STRICT')) { - $this->assertEquals(Cookie::SAMESITE_STRICT, $cookies[2]->getSameSite()); - } - - $this->assertEquals('The response body', $symfonyResponse->getContent()); - $this->assertEquals(200, $symfonyResponse->getStatusCode()); - - $symfonyResponse = $this->factory->createResponse($response, true); - - ob_start(); - $symfonyResponse->sendContent(); - $sentContent = ob_get_clean(); - - $this->assertEquals('The response body', $sentContent); - $this->assertEquals(200, $symfonyResponse->getStatusCode()); - } -} diff --git a/frontend/drupal9/vendor/symfony/psr-http-message-bridge/Tests/Factory/PsrHttpFactoryTest.php b/frontend/drupal9/vendor/symfony/psr-http-message-bridge/Tests/Factory/PsrHttpFactoryTest.php deleted file mode 100644 index b47cefc18..000000000 --- a/frontend/drupal9/vendor/symfony/psr-http-message-bridge/Tests/Factory/PsrHttpFactoryTest.php +++ /dev/null @@ -1,30 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Bridge\PsrHttpMessage\Tests\Factory; - -use Nyholm\Psr7\Factory\Psr17Factory; -use Symfony\Bridge\PsrHttpMessage\Factory\PsrHttpFactory; -use Symfony\Bridge\PsrHttpMessage\HttpMessageFactoryInterface; - -/** - * @author Kévin Dunglas - * @author Antonio J. García Lagar - */ -class PsrHttpFactoryTest extends AbstractHttpMessageFactoryTest -{ - protected function buildHttpMessageFactory(): HttpMessageFactoryInterface - { - $factory = new Psr17Factory(); - - return new PsrHttpFactory($factory, $factory, $factory, $factory); - } -} diff --git a/frontend/drupal9/vendor/symfony/psr-http-message-bridge/Tests/Fixtures/App/Controller/PsrRequestController.php b/frontend/drupal9/vendor/symfony/psr-http-message-bridge/Tests/Fixtures/App/Controller/PsrRequestController.php deleted file mode 100644 index 18b774189..000000000 --- a/frontend/drupal9/vendor/symfony/psr-http-message-bridge/Tests/Fixtures/App/Controller/PsrRequestController.php +++ /dev/null @@ -1,45 +0,0 @@ -responseFactory = $responseFactory; - $this->streamFactory = $streamFactory; - } - - public function serverRequestAction(ServerRequestInterface $request): ResponseInterface - { - return $this->responseFactory - ->createResponse() - ->withBody($this->streamFactory->createStream(sprintf('%s', $request->getMethod()))); - } - - public function requestAction(RequestInterface $request): ResponseInterface - { - return $this->responseFactory - ->createResponse() - ->withStatus(403) - ->withBody($this->streamFactory->createStream(sprintf('%s %s', $request->getMethod(), $request->getBody()->getContents()))); - } - - public function messageAction(MessageInterface $request): ResponseInterface - { - return $this->responseFactory - ->createResponse() - ->withStatus(422) - ->withBody($this->streamFactory->createStream(sprintf('%s', $request->getHeader('X-My-Header')[0]))); - } -} diff --git a/frontend/drupal9/vendor/symfony/psr-http-message-bridge/Tests/Fixtures/App/Kernel.php b/frontend/drupal9/vendor/symfony/psr-http-message-bridge/Tests/Fixtures/App/Kernel.php deleted file mode 100644 index aef819342..000000000 --- a/frontend/drupal9/vendor/symfony/psr-http-message-bridge/Tests/Fixtures/App/Kernel.php +++ /dev/null @@ -1,76 +0,0 @@ -add('server_request', '/server-request')->controller([PsrRequestController::class, 'serverRequestAction'])->methods(['GET']) - ->add('request', '/request')->controller([PsrRequestController::class, 'requestAction'])->methods(['POST']) - ->add('message', '/message')->controller([PsrRequestController::class, 'messageAction'])->methods(['PUT']) - ; - } - - protected function configureContainer(ContainerConfigurator $container): void - { - $container->extension('framework', [ - 'router' => ['utf8' => true], - 'secret' => 'for your eyes only', - 'test' => true, - ]); - - $container->services() - ->set('nyholm.psr_factory', Psr17Factory::class) - ->alias(ResponseFactoryInterface::class, 'nyholm.psr_factory') - ->alias(ServerRequestFactoryInterface::class, 'nyholm.psr_factory') - ->alias(StreamFactoryInterface::class, 'nyholm.psr_factory') - ->alias(UploadedFileFactoryInterface::class, 'nyholm.psr_factory') - ; - - $container->services() - ->defaults()->autowire()->autoconfigure() - ->set(HttpFoundationFactoryInterface::class, HttpFoundationFactory::class) - ->set(HttpMessageFactoryInterface::class, PsrHttpFactory::class) - ->set(PsrResponseListener::class) - ->set(PsrServerRequestResolver::class) - ; - - $container->services() - ->set('logger', NullLogger::class) - ->set(PsrRequestController::class)->public()->autowire() - ; - } -} diff --git a/frontend/drupal9/vendor/symfony/psr-http-message-bridge/Tests/Fixtures/App/Kernel44.php b/frontend/drupal9/vendor/symfony/psr-http-message-bridge/Tests/Fixtures/App/Kernel44.php deleted file mode 100644 index e976ae268..000000000 --- a/frontend/drupal9/vendor/symfony/psr-http-message-bridge/Tests/Fixtures/App/Kernel44.php +++ /dev/null @@ -1,67 +0,0 @@ -add('/server-request', PsrRequestController::class.'::serverRequestAction')->setMethods(['GET']); - $routes->add('/request', PsrRequestController::class.'::requestAction')->setMethods(['POST']); - $routes->add('/message', PsrRequestController::class.'::messageAction')->setMethods(['PUT']); - } - - protected function configureContainer(ContainerBuilder $container, LoaderInterface $loader): void - { - $container->loadFromExtension('framework', [ - 'secret' => 'for your eyes only', - 'test' => true, - ]); - - $container->register('nyholm.psr_factory', Psr17Factory::class); - $container->setAlias(ResponseFactoryInterface::class, 'nyholm.psr_factory'); - $container->setAlias(ServerRequestFactoryInterface::class, 'nyholm.psr_factory'); - $container->setAlias(StreamFactoryInterface::class, 'nyholm.psr_factory'); - $container->setAlias(UploadedFileFactoryInterface::class, 'nyholm.psr_factory'); - - $container->register(HttpFoundationFactoryInterface::class, HttpFoundationFactory::class)->setAutowired(true)->setAutoconfigured(true); - $container->register(HttpMessageFactoryInterface::class, PsrHttpFactory::class)->setAutowired(true)->setAutoconfigured(true); - $container->register(PsrResponseListener::class)->setAutowired(true)->setAutoconfigured(true); - $container->register(PsrServerRequestResolver::class)->setAutowired(true)->setAutoconfigured(true); - - $container->register('logger', NullLogger::class); - $container->register(PsrRequestController::class)->setPublic(true)->setAutowired(true); - } -} diff --git a/frontend/drupal9/vendor/symfony/psr-http-message-bridge/Tests/Fixtures/Message.php b/frontend/drupal9/vendor/symfony/psr-http-message-bridge/Tests/Fixtures/Message.php deleted file mode 100644 index d561086b9..000000000 --- a/frontend/drupal9/vendor/symfony/psr-http-message-bridge/Tests/Fixtures/Message.php +++ /dev/null @@ -1,118 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Bridge\PsrHttpMessage\Tests\Fixtures; - -use Psr\Http\Message\MessageInterface; -use Psr\Http\Message\StreamInterface; - -/** - * Message. - * - * @author Kévin Dunglas - */ -class Message implements MessageInterface -{ - private $version = '1.1'; - private $headers = []; - private $body; - - public function __construct($version = '1.1', array $headers = [], StreamInterface $body = null) - { - $this->version = $version; - $this->headers = $headers; - $this->body = $body ?? new Stream(); - } - - public function getProtocolVersion(): string - { - return $this->version; - } - - /** - * {@inheritdoc} - * - * @return static - */ - public function withProtocolVersion($version) - { - throw new \BadMethodCallException('Not implemented.'); - } - - public function getHeaders(): array - { - return $this->headers; - } - - public function hasHeader($name): bool - { - return isset($this->headers[$name]); - } - - public function getHeader($name): array - { - return $this->hasHeader($name) ? $this->headers[$name] : []; - } - - public function getHeaderLine($name): string - { - return $this->hasHeader($name) ? implode(',', $this->headers[$name]) : ''; - } - - /** - * {@inheritdoc} - * - * @return static - */ - public function withHeader($name, $value) - { - $this->headers[$name] = (array) $value; - - return $this; - } - - /** - * {@inheritdoc} - * - * @return static - */ - public function withAddedHeader($name, $value) - { - throw new \BadMethodCallException('Not implemented.'); - } - - /** - * {@inheritdoc} - * - * @return static - */ - public function withoutHeader($name) - { - unset($this->headers[$name]); - - return $this; - } - - public function getBody(): StreamInterface - { - return $this->body; - } - - /** - * {@inheritdoc} - * - * @return static - */ - public function withBody(StreamInterface $body) - { - throw new \BadMethodCallException('Not implemented.'); - } -} diff --git a/frontend/drupal9/vendor/symfony/psr-http-message-bridge/Tests/Fixtures/Response.php b/frontend/drupal9/vendor/symfony/psr-http-message-bridge/Tests/Fixtures/Response.php deleted file mode 100644 index 0bcf7f406..000000000 --- a/frontend/drupal9/vendor/symfony/psr-http-message-bridge/Tests/Fixtures/Response.php +++ /dev/null @@ -1,48 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Bridge\PsrHttpMessage\Tests\Fixtures; - -use Psr\Http\Message\ResponseInterface; -use Psr\Http\Message\StreamInterface; - -/** - * @author Kévin Dunglas - */ -class Response extends Message implements ResponseInterface -{ - private $statusCode; - - public function __construct($version = '1.1', array $headers = [], StreamInterface $body = null, $statusCode = 200) - { - parent::__construct($version, $headers, $body); - - $this->statusCode = $statusCode; - } - - public function getStatusCode(): int - { - return $this->statusCode; - } - - /** - * @return static - */ - public function withStatus($code, $reasonPhrase = '') - { - throw new \BadMethodCallException('Not implemented.'); - } - - public function getReasonPhrase(): string - { - throw new \BadMethodCallException('Not implemented.'); - } -} diff --git a/frontend/drupal9/vendor/symfony/psr-http-message-bridge/Tests/Fixtures/ServerRequest.php b/frontend/drupal9/vendor/symfony/psr-http-message-bridge/Tests/Fixtures/ServerRequest.php deleted file mode 100644 index b8df06a90..000000000 --- a/frontend/drupal9/vendor/symfony/psr-http-message-bridge/Tests/Fixtures/ServerRequest.php +++ /dev/null @@ -1,202 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Bridge\PsrHttpMessage\Tests\Fixtures; - -use Psr\Http\Message\ServerRequestInterface; -use Psr\Http\Message\StreamInterface; -use Psr\Http\Message\UriInterface; - -/** - * @author Kévin Dunglas - */ -class ServerRequest extends Message implements ServerRequestInterface -{ - private $requestTarget; - private $method; - private $uri; - private $server; - private $cookies; - private $query; - private $uploadedFiles; - private $data; - private $attributes; - - public function __construct($version = '1.1', array $headers = [], StreamInterface $body = null, $requestTarget = '/', $method = 'GET', $uri = null, array $server = [], array $cookies = [], array $query = [], array $uploadedFiles = [], $data = null, array $attributes = []) - { - parent::__construct($version, $headers, $body); - - $this->requestTarget = $requestTarget; - $this->method = $method; - $this->uri = $uri; - $this->server = $server; - $this->cookies = $cookies; - $this->query = $query; - $this->uploadedFiles = $uploadedFiles; - $this->data = $data; - $this->attributes = $attributes; - } - - public function getRequestTarget(): string - { - return $this->requestTarget; - } - - /** - * {@inheritdoc} - * - * @return static - */ - public function withRequestTarget($requestTarget) - { - throw new \BadMethodCallException('Not implemented.'); - } - - public function getMethod(): string - { - return $this->method; - } - - /** - * {@inheritdoc} - * - * @return static - */ - public function withMethod($method) - { - throw new \BadMethodCallException('Not implemented.'); - } - - /** - * {@inheritdoc} - * - * @return UriInterface - */ - public function getUri() - { - return $this->uri; - } - - /** - * {@inheritdoc} - * - * @return static - */ - public function withUri(UriInterface $uri, $preserveHost = false) - { - throw new \BadMethodCallException('Not implemented.'); - } - - public function getServerParams(): array - { - return $this->server; - } - - public function getCookieParams(): array - { - return $this->cookies; - } - - /** - * {@inheritdoc} - * - * @return static - */ - public function withCookieParams(array $cookies) - { - throw new \BadMethodCallException('Not implemented.'); - } - - public function getQueryParams(): array - { - return $this->query; - } - - /** - * {@inheritdoc} - * - * @return static - */ - public function withQueryParams(array $query) - { - throw new \BadMethodCallException('Not implemented.'); - } - - public function getUploadedFiles(): array - { - return $this->uploadedFiles; - } - - /** - * {@inheritdoc} - * - * @return static - */ - public function withUploadedFiles(array $uploadedFiles) - { - throw new \BadMethodCallException('Not implemented.'); - } - - /** - * {@inheritdoc} - * - * @return array|object|null - */ - public function getParsedBody() - { - return $this->data; - } - - /** - * {@inheritdoc} - * - * @return static - */ - public function withParsedBody($data) - { - throw new \BadMethodCallException('Not implemented.'); - } - - public function getAttributes(): array - { - return $this->attributes; - } - - /** - * {@inheritdoc} - * - * @return mixed - */ - public function getAttribute($name, $default = null) - { - return $this->attributes[$name] ?? $default; - } - - /** - * {@inheritdoc} - * - * @return static - */ - public function withAttribute($name, $value) - { - throw new \BadMethodCallException('Not implemented.'); - } - - /** - * {@inheritdoc} - * - * @return static - */ - public function withoutAttribute($name) - { - throw new \BadMethodCallException('Not implemented.'); - } -} diff --git a/frontend/drupal9/vendor/symfony/psr-http-message-bridge/Tests/Fixtures/Stream.php b/frontend/drupal9/vendor/symfony/psr-http-message-bridge/Tests/Fixtures/Stream.php deleted file mode 100644 index f664bae62..000000000 --- a/frontend/drupal9/vendor/symfony/psr-http-message-bridge/Tests/Fixtures/Stream.php +++ /dev/null @@ -1,108 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Bridge\PsrHttpMessage\Tests\Fixtures; - -use Psr\Http\Message\StreamInterface; - -/** - * @author Kévin Dunglas - */ -class Stream implements StreamInterface -{ - private $stringContent; - private $eof = true; - - public function __construct($stringContent = '') - { - $this->stringContent = $stringContent; - } - - public function __toString(): string - { - return $this->stringContent; - } - - public function close(): void - { - } - - public function detach() - { - return fopen('data://text/plain,'.$this->stringContent, 'r'); - } - - public function getSize(): ?int - { - return null; - } - - public function tell(): int - { - return 0; - } - - public function eof(): bool - { - return $this->eof; - } - - public function isSeekable(): bool - { - return true; - } - - public function seek($offset, $whence = \SEEK_SET): void - { - } - - public function rewind(): void - { - $this->eof = false; - } - - public function isWritable(): bool - { - return false; - } - - public function write($string): int - { - return \strlen($string); - } - - public function isReadable(): bool - { - return true; - } - - public function read($length): string - { - $this->eof = true; - - return $this->stringContent; - } - - public function getContents(): string - { - return $this->stringContent; - } - - /** - * {@inheritdoc} - * - * @return mixed - */ - public function getMetadata($key = null) - { - return null; - } -} diff --git a/frontend/drupal9/vendor/symfony/psr-http-message-bridge/Tests/Fixtures/UploadedFile.php b/frontend/drupal9/vendor/symfony/psr-http-message-bridge/Tests/Fixtures/UploadedFile.php deleted file mode 100644 index 900400853..000000000 --- a/frontend/drupal9/vendor/symfony/psr-http-message-bridge/Tests/Fixtures/UploadedFile.php +++ /dev/null @@ -1,65 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Bridge\PsrHttpMessage\Tests\Fixtures; - -use Psr\Http\Message\UploadedFileInterface; - -/** - * @author Kévin Dunglas - */ -class UploadedFile implements UploadedFileInterface -{ - private $filePath; - private $size; - private $error; - private $clientFileName; - private $clientMediaType; - - public function __construct($filePath, $size = null, $error = \UPLOAD_ERR_OK, $clientFileName = null, $clientMediaType = null) - { - $this->filePath = $filePath; - $this->size = $size; - $this->error = $error; - $this->clientFileName = $clientFileName; - $this->clientMediaType = $clientMediaType; - } - - public function getStream(): Stream - { - return new Stream(file_get_contents($this->filePath)); - } - - public function moveTo($targetPath): void - { - rename($this->filePath, $targetPath); - } - - public function getSize(): ?int - { - return $this->size; - } - - public function getError(): int - { - return $this->error; - } - - public function getClientFilename(): ?string - { - return $this->clientFileName; - } - - public function getClientMediaType(): ?string - { - return $this->clientMediaType; - } -} diff --git a/frontend/drupal9/vendor/symfony/psr-http-message-bridge/Tests/Fixtures/Uri.php b/frontend/drupal9/vendor/symfony/psr-http-message-bridge/Tests/Fixtures/Uri.php deleted file mode 100644 index 48f513d39..000000000 --- a/frontend/drupal9/vendor/symfony/psr-http-message-bridge/Tests/Fixtures/Uri.php +++ /dev/null @@ -1,170 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Bridge\PsrHttpMessage\Tests\Fixtures; - -use Psr\Http\Message\UriInterface; - -/** - * @author Rougin Royce Gutib - */ -class Uri implements UriInterface -{ - private $scheme = ''; - private $userInfo = ''; - private $host = ''; - private $port; - private $path = ''; - private $query = ''; - private $fragment = ''; - private $uriString; - - public function __construct(string $uri = '') - { - $parts = parse_url($uri); - - $this->scheme = $parts['scheme'] ?? ''; - $this->userInfo = $parts['user'] ?? ''; - $this->host = $parts['host'] ?? ''; - $this->port = $parts['port'] ?? null; - $this->path = $parts['path'] ?? ''; - $this->query = $parts['query'] ?? ''; - $this->fragment = $parts['fragment'] ?? ''; - $this->uriString = $uri; - } - - public function getScheme(): string - { - return $this->scheme; - } - - public function getAuthority(): string - { - if (empty($this->host)) { - return ''; - } - - $authority = $this->host; - - if (!empty($this->userInfo)) { - $authority = $this->userInfo.'@'.$authority; - } - - $authority .= ':'.$this->port; - - return $authority; - } - - public function getUserInfo(): string - { - return $this->userInfo; - } - - public function getHost(): string - { - return $this->host; - } - - public function getPort(): ?int - { - return $this->port; - } - - public function getPath(): string - { - return $this->path; - } - - public function getQuery(): string - { - return $this->query; - } - - public function getFragment(): string - { - return $this->fragment; - } - - /** - * {@inheritdoc} - * - * @return static - */ - public function withScheme($scheme) - { - throw new \BadMethodCallException('Not implemented.'); - } - - /** - * {@inheritdoc} - * - * @return static - */ - public function withUserInfo($user, $password = null) - { - throw new \BadMethodCallException('Not implemented.'); - } - - /** - * {@inheritdoc} - * - * @return static - */ - public function withHost($host) - { - throw new \BadMethodCallException('Not implemented.'); - } - - /** - * {@inheritdoc} - * - * @return static - */ - public function withPort($port) - { - throw new \BadMethodCallException('Not implemented.'); - } - - /** - * {@inheritdoc} - * - * @return static - */ - public function withPath($path) - { - throw new \BadMethodCallException('Not implemented.'); - } - - /** - * {@inheritdoc} - * - * @return static - */ - public function withQuery($query) - { - throw new \BadMethodCallException('Not implemented.'); - } - - /** - * {@inheritdoc} - * - * @return static - */ - public function withFragment($fragment) - { - throw new \BadMethodCallException('Not implemented.'); - } - - public function __toString(): string - { - return $this->uriString; - } -} diff --git a/frontend/drupal9/vendor/symfony/psr-http-message-bridge/Tests/Functional/ControllerTest.php b/frontend/drupal9/vendor/symfony/psr-http-message-bridge/Tests/Functional/ControllerTest.php deleted file mode 100644 index 0b88405b5..000000000 --- a/frontend/drupal9/vendor/symfony/psr-http-message-bridge/Tests/Functional/ControllerTest.php +++ /dev/null @@ -1,55 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Bridge\PsrHttpMessage\Tests\Functional; - -use Symfony\Bridge\PsrHttpMessage\Tests\Fixtures\App\Kernel; -use Symfony\Bridge\PsrHttpMessage\Tests\Fixtures\App\Kernel44; -use Symfony\Bundle\FrameworkBundle\Test\WebTestCase; -use Symfony\Component\HttpKernel\Kernel as SymfonyKernel; - -/** - * @author Alexander M. Turek - */ -final class ControllerTest extends WebTestCase -{ - public function testServerRequestAction() - { - $client = self::createClient(); - $crawler = $client->request('GET', '/server-request'); - - self::assertResponseStatusCodeSame(200); - self::assertSame('GET', $crawler->text()); - } - - public function testRequestAction() - { - $client = self::createClient(); - $crawler = $client->request('POST', '/request', [], [], [], 'some content'); - - self::assertResponseStatusCodeSame(403); - self::assertSame('POST some content', $crawler->text()); - } - - public function testMessageAction() - { - $client = self::createClient(); - $crawler = $client->request('PUT', '/message', [], [], ['HTTP_X_MY_HEADER' => 'some content']); - - self::assertResponseStatusCodeSame(422); - self::assertSame('some content', $crawler->text()); - } - - protected static function getKernelClass(): string - { - return SymfonyKernel::VERSION_ID >= 50200 ? Kernel::class : Kernel44::class; - } -} diff --git a/frontend/drupal9/vendor/symfony/psr-http-message-bridge/Tests/Functional/CovertTest.php b/frontend/drupal9/vendor/symfony/psr-http-message-bridge/Tests/Functional/CovertTest.php deleted file mode 100644 index 3d72b7173..000000000 --- a/frontend/drupal9/vendor/symfony/psr-http-message-bridge/Tests/Functional/CovertTest.php +++ /dev/null @@ -1,237 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Bridge\PsrHttpMessage\Tests\Functional; - -use Nyholm\Psr7\Factory\Psr17Factory; -use Nyholm\Psr7\Response as Psr7Response; -use Nyholm\Psr7\ServerRequest as Psr7Request; -use Nyholm\Psr7\Stream as Psr7Stream; -use PHPUnit\Framework\TestCase; -use Psr\Http\Message\ResponseInterface; -use Psr\Http\Message\ServerRequestInterface; -use Symfony\Bridge\PsrHttpMessage\Factory\HttpFoundationFactory; -use Symfony\Bridge\PsrHttpMessage\Factory\PsrHttpFactory; -use Symfony\Bridge\PsrHttpMessage\HttpFoundationFactoryInterface; -use Symfony\Bridge\PsrHttpMessage\HttpMessageFactoryInterface; -use Symfony\Component\HttpFoundation\Cookie; -use Symfony\Component\HttpFoundation\File\UploadedFile; -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpFoundation\Response; - -/** - * Test to convert a request/response back and forth to make sure we do not loose data. - * - * @author Tobias Nyholm - */ -class CovertTest extends TestCase -{ - protected function setUp(): void - { - if (!class_exists(Psr7Request::class)) { - $this->markTestSkipped('nyholm/psr7 is not installed.'); - } - } - - /** - * @dataProvider requestProvider - * - * @param Request|ServerRequestInterface $request - * @param HttpFoundationFactoryInterface|HttpMessageFactoryInterface $firstFactory - * @param HttpFoundationFactoryInterface|HttpMessageFactoryInterface $secondFactory - */ - public function testConvertRequestMultipleTimes($request, $firstFactory, $secondFactory) - { - $temporaryRequest = $firstFactory->createRequest($request); - $finalRequest = $secondFactory->createRequest($temporaryRequest); - - if ($finalRequest instanceof Request) { - $this->assertEquals($request->getBasePath(), $finalRequest->getBasePath()); - $this->assertEquals($request->getBaseUrl(), $finalRequest->getBaseUrl()); - $this->assertEquals($request->getContent(), $finalRequest->getContent()); - $this->assertEquals($request->getEncodings(), $finalRequest->getEncodings()); - $this->assertEquals($request->getETags(), $finalRequest->getETags()); - $this->assertEquals($request->getHost(), $finalRequest->getHost()); - $this->assertEquals($request->getHttpHost(), $finalRequest->getHttpHost()); - $this->assertEquals($request->getMethod(), $finalRequest->getMethod()); - $this->assertEquals($request->getPassword(), $finalRequest->getPassword()); - $this->assertEquals($request->getPathInfo(), $finalRequest->getPathInfo()); - $this->assertEquals($request->getPort(), $finalRequest->getPort()); - $this->assertEquals($request->getProtocolVersion(), $finalRequest->getProtocolVersion()); - $this->assertEquals($request->getQueryString(), $finalRequest->getQueryString()); - $this->assertEquals($request->getRequestUri(), $finalRequest->getRequestUri()); - $this->assertEquals($request->getScheme(), $finalRequest->getScheme()); - $this->assertEquals($request->getSchemeAndHttpHost(), $finalRequest->getSchemeAndHttpHost()); - $this->assertEquals($request->getScriptName(), $finalRequest->getScriptName()); - $this->assertEquals($request->getUri(), $finalRequest->getUri()); - $this->assertEquals($request->getUser(), $finalRequest->getUser()); - $this->assertEquals($request->getUserInfo(), $finalRequest->getUserInfo()); - } elseif ($finalRequest instanceof ServerRequestInterface) { - $strToLower = function ($arr) { - foreach ($arr as $key => $value) { - yield strtolower($key) => $value; - } - }; - $this->assertEquals($request->getAttributes(), $finalRequest->getAttributes()); - $this->assertEquals($request->getCookieParams(), $finalRequest->getCookieParams()); - $this->assertEquals((array) $request->getParsedBody(), (array) $finalRequest->getParsedBody()); - $this->assertEquals($request->getQueryParams(), $finalRequest->getQueryParams()); - // PSR7 does not define a "withServerParams" so this is impossible to implement without knowing the PSR7 implementation. - //$this->assertEquals($request->getServerParams(), $finalRequest->getServerParams()); - $this->assertEquals($request->getUploadedFiles(), $finalRequest->getUploadedFiles()); - $this->assertEquals($request->getMethod(), $finalRequest->getMethod()); - $this->assertEquals($request->getRequestTarget(), $finalRequest->getRequestTarget()); - $this->assertEquals((string) $request->getUri(), (string) $finalRequest->getUri()); - $this->assertEquals((string) $request->getBody(), (string) $finalRequest->getBody()); - $this->assertEquals($strToLower($request->getHeaders()), $strToLower($finalRequest->getHeaders())); - $this->assertEquals($request->getProtocolVersion(), $finalRequest->getProtocolVersion()); - } else { - $this->fail('$finalRequest must be an instance of PSR7 or a HTTPFoundation request'); - } - } - - public function requestProvider() - { - $sfRequest = new Request( - [ - 'foo' => '1', - 'bar' => ['baz' => '42'], - ], - [ - 'twitter' => [ - '@dunglas' => 'Kévin Dunglas', - '@coopTilleuls' => 'Les-Tilleuls.coop', - ], - 'baz' => '2', - ], - [ - 'a2' => ['foo' => 'bar'], - ], - [ - 'c1' => 'foo', - 'c2' => ['c3' => 'bar'], - ], - [ - 'f1' => $this->createUploadedFile('F1', 'f1.txt', 'text/plain', \UPLOAD_ERR_OK), - 'foo' => ['f2' => $this->createUploadedFile('F2', 'f2.txt', 'text/plain', \UPLOAD_ERR_OK)], - ], - [ - 'REQUEST_METHOD' => 'POST', - 'HTTP_HOST' => 'dunglas.fr', - 'SERVER_NAME' => 'dunglas.fr', - 'SERVER_PORT' => null, - 'HTTP_X_SYMFONY' => '2.8', - 'REQUEST_URI' => '/testCreateRequest?foo=1&bar%5Bbaz%5D=42', - 'QUERY_STRING' => 'foo=1&bar%5Bbaz%5D=42', - ], - 'Content' - ); - - $psr7Requests = [ - (new Psr7Request('POST', 'http://tnyholm.se/foo/?bar=biz')) - ->withQueryParams(['bar' => 'biz']), - new Psr7Request('GET', 'https://hey-octave.com/'), - new Psr7Request('GET', 'https://hey-octave.com:443/'), - new Psr7Request('GET', 'https://hey-octave.com:4242/'), - new Psr7Request('GET', 'http://hey-octave.com:80/'), - ]; - - $nyholmFactory = new Psr17Factory(); - $psr17Factory = new PsrHttpFactory($nyholmFactory, $nyholmFactory, $nyholmFactory, $nyholmFactory); - $symfonyFactory = new HttpFoundationFactory(); - - return array_merge([ - [$sfRequest, $psr17Factory, $symfonyFactory], - ], array_map(function ($psr7Request) use ($symfonyFactory, $psr17Factory) { - return [$psr7Request, $symfonyFactory, $psr17Factory]; - }, $psr7Requests)); - } - - /** - * @dataProvider responseProvider - * - * @param Response|ResponseInterface $response - * @param HttpFoundationFactoryInterface|HttpMessageFactoryInterface $firstFactory - * @param HttpFoundationFactoryInterface|HttpMessageFactoryInterface $secondFactory - */ - public function testConvertResponseMultipleTimes($response, $firstFactory, $secondFactory) - { - $temporaryResponse = $firstFactory->createResponse($response); - $finalResponse = $secondFactory->createResponse($temporaryResponse); - - if ($finalResponse instanceof Response) { - $this->assertEquals($response->getAge(), $finalResponse->getAge()); - $this->assertEquals($response->getCharset(), $finalResponse->getCharset()); - $this->assertEquals($response->getContent(), $finalResponse->getContent()); - $this->assertEquals($response->getDate(), $finalResponse->getDate()); - $this->assertEquals($response->getEtag(), $finalResponse->getEtag()); - $this->assertEquals($response->getExpires(), $finalResponse->getExpires()); - $this->assertEquals($response->getLastModified(), $finalResponse->getLastModified()); - $this->assertEquals($response->getMaxAge(), $finalResponse->getMaxAge()); - $this->assertEquals($response->getProtocolVersion(), $finalResponse->getProtocolVersion()); - $this->assertEquals($response->getStatusCode(), $finalResponse->getStatusCode()); - $this->assertEquals($response->getTtl(), $finalResponse->getTtl()); - } elseif ($finalResponse instanceof ResponseInterface) { - $strToLower = function ($arr) { - foreach ($arr as $key => $value) { - yield strtolower($key) => $value; - } - }; - $this->assertEquals($response->getStatusCode(), $finalResponse->getStatusCode()); - $this->assertEquals($response->getReasonPhrase(), $finalResponse->getReasonPhrase()); - $this->assertEquals((string) $response->getBody(), (string) $finalResponse->getBody()); - $this->assertEquals($strToLower($response->getHeaders()), $strToLower($finalResponse->getHeaders())); - $this->assertEquals($response->getProtocolVersion(), $finalResponse->getProtocolVersion()); - } else { - $this->fail('$finalResponse must be an instance of PSR7 or a HTTPFoundation response'); - } - } - - public function responseProvider() - { - $sfResponse = new Response( - 'Response content.', - 202, - ['x-symfony' => ['3.4']] - ); - - if (method_exists(Cookie::class, 'create')) { - $cookie = Cookie::create('city', 'Lille', new \DateTime('Wed, 13 Jan 2021 22:23:01 GMT')); - } else { - $cookie = new Cookie('city', 'Lille', new \DateTime('Wed, 13 Jan 2021 22:23:01 GMT')); - } - - $sfResponse->headers->setCookie($cookie); - $body = Psr7Stream::create(); - $status = 302; - $headers = [ - 'location' => ['http://example.com/'], - ]; - $zendResponse = new Psr7Response($status, $headers, $body); - - $nyholmFactory = new Psr17Factory(); - $psr17Factory = new PsrHttpFactory($nyholmFactory, $nyholmFactory, $nyholmFactory, $nyholmFactory); - $symfonyFactory = new HttpFoundationFactory(); - - return [ - [$sfResponse, $psr17Factory, $symfonyFactory], - [$zendResponse, $symfonyFactory, $psr17Factory], - ]; - } - - private function createUploadedFile($content, $originalName, $mimeType, $error) - { - $path = tempnam(sys_get_temp_dir(), uniqid()); - file_put_contents($path, $content); - - return new UploadedFile($path, $originalName, $mimeType, $error, true); - } -} diff --git a/frontend/drupal9/vendor/symfony/psr-http-message-bridge/phpunit.xml.dist b/frontend/drupal9/vendor/symfony/psr-http-message-bridge/phpunit.xml.dist deleted file mode 100644 index 43aeaa338..000000000 --- a/frontend/drupal9/vendor/symfony/psr-http-message-bridge/phpunit.xml.dist +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - ./Tests/ - - - - - - ./ - - ./Resources - ./Tests - ./vendor - - - - diff --git a/frontend/drupal9/vendor/symfony/routing/Loader/XmlFileLoader.php b/frontend/drupal9/vendor/symfony/routing/Loader/XmlFileLoader.php index 2f087793b..2b115b10d 100644 --- a/frontend/drupal9/vendor/symfony/routing/Loader/XmlFileLoader.php +++ b/frontend/drupal9/vendor/symfony/routing/Loader/XmlFileLoader.php @@ -182,7 +182,7 @@ class XmlFileLoader extends FileLoader $this->setCurrentDir(\dirname($path)); /** @var RouteCollection[] $imported */ - $imported = $this->import($resource, ('' !== $type ? $type : null), false, $file, $exclude) ?: []; + $imported = $this->import($resource, '' !== $type ? $type : null, false, $file, $exclude) ?: []; if (!\is_array($imported)) { $imported = [$imported]; diff --git a/frontend/drupal9/vendor/symfony/routing/Router.php b/frontend/drupal9/vendor/symfony/routing/Router.php index 30c6e5261..e4f167b1e 100644 --- a/frontend/drupal9/vendor/symfony/routing/Router.php +++ b/frontend/drupal9/vendor/symfony/routing/Router.php @@ -439,7 +439,7 @@ class Router implements RouterInterface, RequestMatcherInterface private static function getCompiledRoutes(string $path): array { - if ([] === self::$cache && \function_exists('opcache_invalidate') && filter_var(ini_get('opcache.enable'), \FILTER_VALIDATE_BOOLEAN) && (!\in_array(\PHP_SAPI, ['cli', 'phpdbg'], true) || filter_var(ini_get('opcache.enable_cli'), \FILTER_VALIDATE_BOOLEAN))) { + if ([] === self::$cache && \function_exists('opcache_invalidate') && filter_var(\ini_get('opcache.enable'), \FILTER_VALIDATE_BOOLEAN) && (!\in_array(\PHP_SAPI, ['cli', 'phpdbg'], true) || filter_var(\ini_get('opcache.enable_cli'), \FILTER_VALIDATE_BOOLEAN))) { self::$cache = null; } diff --git a/frontend/drupal9/vendor/symfony/serializer/Encoder/ChainDecoder.php b/frontend/drupal9/vendor/symfony/serializer/Encoder/ChainDecoder.php index 2a55d93a6..29c656397 100644 --- a/frontend/drupal9/vendor/symfony/serializer/Encoder/ChainDecoder.php +++ b/frontend/drupal9/vendor/symfony/serializer/Encoder/ChainDecoder.php @@ -67,9 +67,13 @@ class ChainDecoder implements ContextAwareDecoderInterface return $this->decoders[$this->decoderByFormat[$format]]; } + $cache = true; foreach ($this->decoders as $i => $decoder) { + $cache = $cache && !$decoder instanceof ContextAwareDecoderInterface; if ($decoder->supportsDecoding($format, $context)) { - $this->decoderByFormat[$format] = $i; + if ($cache) { + $this->decoderByFormat[$format] = $i; + } return $decoder; } diff --git a/frontend/drupal9/vendor/symfony/serializer/Encoder/ChainEncoder.php b/frontend/drupal9/vendor/symfony/serializer/Encoder/ChainEncoder.php index b13333e88..c2c9e3c8a 100644 --- a/frontend/drupal9/vendor/symfony/serializer/Encoder/ChainEncoder.php +++ b/frontend/drupal9/vendor/symfony/serializer/Encoder/ChainEncoder.php @@ -85,9 +85,13 @@ class ChainEncoder implements ContextAwareEncoderInterface return $this->encoders[$this->encoderByFormat[$format]]; } + $cache = true; foreach ($this->encoders as $i => $encoder) { + $cache = $cache && !$encoder instanceof ContextAwareEncoderInterface; if ($encoder->supportsEncoding($format, $context)) { - $this->encoderByFormat[$format] = $i; + if ($cache) { + $this->encoderByFormat[$format] = $i; + } return $encoder; } diff --git a/frontend/drupal9/vendor/symfony/serializer/Encoder/XmlEncoder.php b/frontend/drupal9/vendor/symfony/serializer/Encoder/XmlEncoder.php index 655707107..ed442c58c 100644 --- a/frontend/drupal9/vendor/symfony/serializer/Encoder/XmlEncoder.php +++ b/frontend/drupal9/vendor/symfony/serializer/Encoder/XmlEncoder.php @@ -100,7 +100,7 @@ class XmlEncoder implements EncoderInterface, DecoderInterface, NormalizationAwa $dom = $this->createDomDocument($context); - if (null !== $data && !is_scalar($data)) { + if (null !== $data && !\is_scalar($data)) { $root = $dom->createElement($xmlRootNodeName); $dom->appendChild($root); $this->buildXml($root, $data, $format, $context, $xmlRootNodeName); @@ -412,11 +412,14 @@ class XmlEncoder implements EncoderInterface, DecoderInterface, NormalizationAwa if (\is_array($data) || ($data instanceof \Traversable && (null === $this->serializer || !$this->serializer->supportsNormalization($data, $format)))) { foreach ($data as $key => $data) { - //Ah this is the magic @ attribute types. + // Ah this is the magic @ attribute types. if (str_starts_with($key, '@') && $this->isElementNameValid($attributeName = substr($key, 1))) { - if (!is_scalar($data)) { + if (!\is_scalar($data)) { $data = $this->serializer->normalize($data, $format, $context); } + if (\is_bool($data)) { + $data = (int) $data; + } $parentNode->setAttribute($attributeName, $data); } elseif ('#' === $key) { $append = $this->selectNodeType($parentNode, $data, $format, $context); @@ -454,7 +457,7 @@ class XmlEncoder implements EncoderInterface, DecoderInterface, NormalizationAwa } $data = $this->serializer->normalize($data, $format, $context); - if (null !== $data && !is_scalar($data)) { + if (null !== $data && !\is_scalar($data)) { return $this->buildXml($parentNode, $data, $format, $context, $xmlRootNodeName); } @@ -479,7 +482,7 @@ class XmlEncoder implements EncoderInterface, DecoderInterface, NormalizationAwa */ private function appendNode(\DOMNode $parentNode, $data, string $format, array $context, string $nodeName, string $key = null): bool { - $dom = $parentNode instanceof \DomDocument ? $parentNode : $parentNode->ownerDocument; + $dom = $parentNode instanceof \DOMDocument ? $parentNode : $parentNode->ownerDocument; $node = $dom->createElement($nodeName); if (null !== $key) { $node->setAttribute('key', $key); diff --git a/frontend/drupal9/vendor/symfony/serializer/Normalizer/AbstractNormalizer.php b/frontend/drupal9/vendor/symfony/serializer/Normalizer/AbstractNormalizer.php index 7a43e63c9..a9f46238e 100644 --- a/frontend/drupal9/vendor/symfony/serializer/Normalizer/AbstractNormalizer.php +++ b/frontend/drupal9/vendor/symfony/serializer/Normalizer/AbstractNormalizer.php @@ -304,7 +304,7 @@ abstract class AbstractNormalizer implements NormalizerInterface, DenormalizerIn * * @throws CircularReferenceException */ - protected function handleCircularReference($object/*, string $format = null, array $context = []*/) + protected function handleCircularReference($object/* , string $format = null, array $context = [] */) { if (\func_num_args() < 2 && __CLASS__ !== static::class && __CLASS__ !== (new \ReflectionMethod($this, __FUNCTION__))->getDeclaringClass()->getName() && !$this instanceof \PHPUnit\Framework\MockObject\MockObject && !$this instanceof \Prophecy\Prophecy\ProphecySubjectInterface && !$this instanceof \Mockery\MockInterface) { @trigger_error(sprintf('The "%s()" method will have two new "string $format = null" and "array $context = []" arguments in version 5.0, not defining it is deprecated since Symfony 4.2.', __METHOD__), \E_USER_DEPRECATED); @@ -342,7 +342,7 @@ abstract class AbstractNormalizer implements NormalizerInterface, DenormalizerIn } $tmpGroups = $context[self::GROUPS] ?? $this->defaultContext[self::GROUPS] ?? null; - $groups = (\is_array($tmpGroups) || is_scalar($tmpGroups)) ? (array) $tmpGroups : false; + $groups = (\is_array($tmpGroups) || \is_scalar($tmpGroups)) ? (array) $tmpGroups : false; if (false === $groups && $allowExtraAttributes) { return false; } @@ -542,7 +542,7 @@ abstract class AbstractNormalizer implements NormalizerInterface, DenormalizerIn * * @internal */ - protected function createChildContext(array $parentContext, $attribute/*, ?string $format */): array + protected function createChildContext(array $parentContext, $attribute/* , ?string $format */): array { if (\func_num_args() < 3) { @trigger_error(sprintf('Method "%s::%s()" will have a third "?string $format" argument in version 5.0; not defining it is deprecated since Symfony 4.3.', static::class, __FUNCTION__), \E_USER_DEPRECATED); diff --git a/frontend/drupal9/vendor/symfony/serializer/Normalizer/AbstractObjectNormalizer.php b/frontend/drupal9/vendor/symfony/serializer/Normalizer/AbstractObjectNormalizer.php index fbe5d25d4..4b8df1f54 100644 --- a/frontend/drupal9/vendor/symfony/serializer/Normalizer/AbstractObjectNormalizer.php +++ b/frontend/drupal9/vendor/symfony/serializer/Normalizer/AbstractObjectNormalizer.php @@ -196,7 +196,7 @@ abstract class AbstractObjectNormalizer extends AbstractNormalizer $attributeValue = $this->applyCallbacks($attributeValue, $object, $attribute, $format, $context); - if (null !== $attributeValue && !is_scalar($attributeValue)) { + if (null !== $attributeValue && !\is_scalar($attributeValue)) { $stack[$attribute] = $attributeValue; } @@ -647,7 +647,7 @@ abstract class AbstractObjectNormalizer extends AbstractNormalizer * * @internal */ - protected function createChildContext(array $parentContext, $attribute/*, ?string $format */): array + protected function createChildContext(array $parentContext, $attribute/* , ?string $format */): array { if (\func_num_args() >= 3) { $format = func_get_arg(2); diff --git a/frontend/drupal9/vendor/symfony/serializer/Normalizer/DateTimeNormalizer.php b/frontend/drupal9/vendor/symfony/serializer/Normalizer/DateTimeNormalizer.php index f48745031..5fab3d8a5 100644 --- a/frontend/drupal9/vendor/symfony/serializer/Normalizer/DateTimeNormalizer.php +++ b/frontend/drupal9/vendor/symfony/serializer/Normalizer/DateTimeNormalizer.php @@ -113,6 +113,16 @@ class DateTimeNormalizer implements NormalizerInterface, DenormalizerInterface, throw new NotNormalizableValueException(sprintf('Parsing datetime string "%s" using format "%s" resulted in %d errors: ', $data, $dateTimeFormat, $dateTimeErrors['error_count'])."\n".implode("\n", $this->formatDateTimeErrors($dateTimeErrors['errors']))); } + $defaultDateTimeFormat = $this->defaultContext[self::FORMAT_KEY] ?? null; + + if (null !== $defaultDateTimeFormat) { + $object = \DateTime::class === $type ? \DateTime::createFromFormat($defaultDateTimeFormat, $data, $timezone) : \DateTimeImmutable::createFromFormat($defaultDateTimeFormat, $data, $timezone); + + if (false !== $object) { + return $object; + } + } + try { return \DateTime::class === $type ? new \DateTime($data, $timezone) : new \DateTimeImmutable($data, $timezone); } catch (\Exception $e) { diff --git a/frontend/drupal9/vendor/symfony/serializer/Serializer.php b/frontend/drupal9/vendor/symfony/serializer/Serializer.php index d3a3f2fc4..5cfdc9ee0 100644 --- a/frontend/drupal9/vendor/symfony/serializer/Serializer.php +++ b/frontend/drupal9/vendor/symfony/serializer/Serializer.php @@ -153,7 +153,7 @@ class Serializer implements SerializerInterface, ContextAwareNormalizerInterface return $normalizer->normalize($data, $format, $context); } - if (null === $data || is_scalar($data)) { + if (null === $data || \is_scalar($data)) { return $data; } diff --git a/frontend/drupal9/vendor/symfony/translation/DataCollector/TranslationDataCollector.php b/frontend/drupal9/vendor/symfony/translation/DataCollector/TranslationDataCollector.php index e4f0b3a5a..88894ec01 100644 --- a/frontend/drupal9/vendor/symfony/translation/DataCollector/TranslationDataCollector.php +++ b/frontend/drupal9/vendor/symfony/translation/DataCollector/TranslationDataCollector.php @@ -50,7 +50,7 @@ class TranslationDataCollector extends DataCollector implements LateDataCollecto * * @param \Throwable|null $exception */ - public function collect(Request $request, Response $response/*, \Throwable $exception = null*/) + public function collect(Request $request, Response $response/* , \Throwable $exception = null */) { $this->data['locale'] = $this->translator->getLocale(); $this->data['fallback_locales'] = $this->translator->getFallbackLocales(); diff --git a/frontend/drupal9/vendor/symfony/translation/Dumper/IcuResFileDumper.php b/frontend/drupal9/vendor/symfony/translation/Dumper/IcuResFileDumper.php index 829e0d0c2..44104eb60 100644 --- a/frontend/drupal9/vendor/symfony/translation/Dumper/IcuResFileDumper.php +++ b/frontend/drupal9/vendor/symfony/translation/Dumper/IcuResFileDumper.php @@ -47,7 +47,7 @@ class IcuResFileDumper extends FileDumper $data .= pack('V', \strlen($target)) .mb_convert_encoding($target."\0", 'UTF-16LE', 'UTF-8') .$this->writePadding($data) - ; + ; } $resOffset = $this->getPosition($data); @@ -56,7 +56,7 @@ class IcuResFileDumper extends FileDumper .$indexes .$this->writePadding($data) .$resources - ; + ; $bundleTop = $this->getPosition($data); diff --git a/frontend/drupal9/vendor/symfony/translation/Dumper/MoFileDumper.php b/frontend/drupal9/vendor/symfony/translation/Dumper/MoFileDumper.php index 5a96dacec..9bed418f2 100644 --- a/frontend/drupal9/vendor/symfony/translation/Dumper/MoFileDumper.php +++ b/frontend/drupal9/vendor/symfony/translation/Dumper/MoFileDumper.php @@ -62,7 +62,7 @@ class MoFileDumper extends FileDumper .$targetOffsets .$sources .$targets - ; + ; return $output; } diff --git a/frontend/drupal9/vendor/symfony/translation/Extractor/PhpExtractor.php b/frontend/drupal9/vendor/symfony/translation/Extractor/PhpExtractor.php index 32389c677..e0622e6a8 100644 --- a/frontend/drupal9/vendor/symfony/translation/Extractor/PhpExtractor.php +++ b/frontend/drupal9/vendor/symfony/translation/Extractor/PhpExtractor.php @@ -211,7 +211,7 @@ class PhpExtractor extends AbstractFileExtractor implements ExtractorInterface * @param array $tokens * @param string $filename */ - protected function parseTokens($tokens, MessageCatalogue $catalog/*, string $filename*/) + protected function parseTokens($tokens, MessageCatalogue $catalog/* , string $filename */) { if (\func_num_args() < 3 && __CLASS__ !== static::class && __CLASS__ !== (new \ReflectionMethod($this, __FUNCTION__))->getDeclaringClass()->getName() && !$this instanceof \PHPUnit\Framework\MockObject\MockObject && !$this instanceof \Prophecy\Prophecy\ProphecySubjectInterface && !$this instanceof \Mockery\MockInterface) { @trigger_error(sprintf('The "%s()" method will have a new "string $filename" argument in version 5.0, not defining it is deprecated since Symfony 4.3.', __METHOD__), \E_USER_DEPRECATED); diff --git a/frontend/drupal9/vendor/symfony/translation/Loader/PhpFileLoader.php b/frontend/drupal9/vendor/symfony/translation/Loader/PhpFileLoader.php index c361d5293..2310740bd 100644 --- a/frontend/drupal9/vendor/symfony/translation/Loader/PhpFileLoader.php +++ b/frontend/drupal9/vendor/symfony/translation/Loader/PhpFileLoader.php @@ -25,7 +25,7 @@ class PhpFileLoader extends FileLoader */ protected function loadResource($resource) { - if ([] === self::$cache && \function_exists('opcache_invalidate') && filter_var(ini_get('opcache.enable'), \FILTER_VALIDATE_BOOLEAN) && (!\in_array(\PHP_SAPI, ['cli', 'phpdbg'], true) || filter_var(ini_get('opcache.enable_cli'), \FILTER_VALIDATE_BOOLEAN))) { + if ([] === self::$cache && \function_exists('opcache_invalidate') && filter_var(\ini_get('opcache.enable'), \FILTER_VALIDATE_BOOLEAN) && (!\in_array(\PHP_SAPI, ['cli', 'phpdbg'], true) || filter_var(\ini_get('opcache.enable_cli'), \FILTER_VALIDATE_BOOLEAN))) { self::$cache = null; } diff --git a/frontend/drupal9/vendor/symfony/translation/MessageCatalogue.php b/frontend/drupal9/vendor/symfony/translation/MessageCatalogue.php index 6e6b9fe0e..b43b22d63 100644 --- a/frontend/drupal9/vendor/symfony/translation/MessageCatalogue.php +++ b/frontend/drupal9/vendor/symfony/translation/MessageCatalogue.php @@ -159,19 +159,14 @@ class MessageCatalogue implements MessageCatalogueInterface, MetadataAwareInterf */ public function add($messages, $domain = 'messages') { - if (!isset($this->messages[$domain])) { - $this->messages[$domain] = []; - } - $intlDomain = $domain; - if (!str_ends_with($domain, self::INTL_DOMAIN_SUFFIX)) { - $intlDomain .= self::INTL_DOMAIN_SUFFIX; - } + $altDomain = str_ends_with($domain, self::INTL_DOMAIN_SUFFIX) ? substr($domain, 0, -\strlen(self::INTL_DOMAIN_SUFFIX)) : $domain.self::INTL_DOMAIN_SUFFIX; foreach ($messages as $id => $message) { - if (isset($this->messages[$intlDomain]) && \array_key_exists($id, $this->messages[$intlDomain])) { - $this->messages[$intlDomain][$id] = $message; - } else { - $this->messages[$domain][$id] = $message; - } + unset($this->messages[$altDomain][$id]); + $this->messages[$domain][$id] = $message; + } + + if ([] === ($this->messages[$altDomain] ?? null)) { + unset($this->messages[$altDomain]); } } diff --git a/frontend/drupal9/vendor/symfony/translation/PluralizationRules.php b/frontend/drupal9/vendor/symfony/translation/PluralizationRules.php index e69ceabc1..84513a245 100644 --- a/frontend/drupal9/vendor/symfony/translation/PluralizationRules.php +++ b/frontend/drupal9/vendor/symfony/translation/PluralizationRules.php @@ -30,7 +30,7 @@ class PluralizationRules * * @return int The plural position */ - public static function get($number, $locale/*, bool $triggerDeprecation = true*/) + public static function get($number, $locale/* , bool $triggerDeprecation = true */) { $number = abs($number); diff --git a/frontend/drupal9/vendor/symfony/validator/Constraints/BicValidator.php b/frontend/drupal9/vendor/symfony/validator/Constraints/BicValidator.php index 84c646732..d51f37525 100644 --- a/frontend/drupal9/vendor/symfony/validator/Constraints/BicValidator.php +++ b/frontend/drupal9/vendor/symfony/validator/Constraints/BicValidator.php @@ -68,7 +68,7 @@ class BicValidator extends ConstraintValidator return; } - if (!is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) { + if (!\is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) { throw new UnexpectedValueException($value, 'string'); } diff --git a/frontend/drupal9/vendor/symfony/validator/Constraints/CountryValidator.php b/frontend/drupal9/vendor/symfony/validator/Constraints/CountryValidator.php index d8289e0e5..f4eafc32f 100644 --- a/frontend/drupal9/vendor/symfony/validator/Constraints/CountryValidator.php +++ b/frontend/drupal9/vendor/symfony/validator/Constraints/CountryValidator.php @@ -38,7 +38,7 @@ class CountryValidator extends ConstraintValidator return; } - if (!is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) { + if (!\is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) { throw new UnexpectedValueException($value, 'string'); } diff --git a/frontend/drupal9/vendor/symfony/validator/Constraints/CurrencyValidator.php b/frontend/drupal9/vendor/symfony/validator/Constraints/CurrencyValidator.php index fdb8128d1..465cfb956 100644 --- a/frontend/drupal9/vendor/symfony/validator/Constraints/CurrencyValidator.php +++ b/frontend/drupal9/vendor/symfony/validator/Constraints/CurrencyValidator.php @@ -39,7 +39,7 @@ class CurrencyValidator extends ConstraintValidator return; } - if (!is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) { + if (!\is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) { throw new UnexpectedValueException($value, 'string'); } diff --git a/frontend/drupal9/vendor/symfony/validator/Constraints/DateTimeValidator.php b/frontend/drupal9/vendor/symfony/validator/Constraints/DateTimeValidator.php index d16727082..5f2c7a8ef 100644 --- a/frontend/drupal9/vendor/symfony/validator/Constraints/DateTimeValidator.php +++ b/frontend/drupal9/vendor/symfony/validator/Constraints/DateTimeValidator.php @@ -40,7 +40,7 @@ class DateTimeValidator extends DateValidator return; } - if (!is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) { + if (!\is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) { throw new UnexpectedValueException($value, 'string'); } @@ -48,7 +48,7 @@ class DateTimeValidator extends DateValidator \DateTime::createFromFormat($constraint->format, $value); - $errors = \DateTime::getLastErrors(); + $errors = \DateTime::getLastErrors() ?: ['error_count' => 0, 'warnings' => []]; if (0 < $errors['error_count']) { $this->context->buildViolation($constraint->message) diff --git a/frontend/drupal9/vendor/symfony/validator/Constraints/DateValidator.php b/frontend/drupal9/vendor/symfony/validator/Constraints/DateValidator.php index 761690e62..ff06bec52 100644 --- a/frontend/drupal9/vendor/symfony/validator/Constraints/DateValidator.php +++ b/frontend/drupal9/vendor/symfony/validator/Constraints/DateValidator.php @@ -52,7 +52,7 @@ class DateValidator extends ConstraintValidator return; } - if (!is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) { + if (!\is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) { throw new UnexpectedValueException($value, 'string'); } diff --git a/frontend/drupal9/vendor/symfony/validator/Constraints/EmailValidator.php b/frontend/drupal9/vendor/symfony/validator/Constraints/EmailValidator.php index d895b3ac1..8ea5cee68 100644 --- a/frontend/drupal9/vendor/symfony/validator/Constraints/EmailValidator.php +++ b/frontend/drupal9/vendor/symfony/validator/Constraints/EmailValidator.php @@ -76,7 +76,7 @@ class EmailValidator extends ConstraintValidator return; } - if (!is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) { + if (!\is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) { throw new UnexpectedValueException($value, 'string'); } @@ -100,6 +100,10 @@ class EmailValidator extends ConstraintValidator } if (null === $constraint->mode) { + if (Email::VALIDATION_MODE_STRICT === $this->defaultMode && !class_exists(EguliasEmailValidator::class)) { + throw new LogicException(sprintf('The "egulias/email-validator" component is required to make the "%s" constraint default to strict mode.', EguliasEmailValidator::class)); + } + $constraint->mode = $this->defaultMode; } diff --git a/frontend/drupal9/vendor/symfony/validator/Constraints/FileValidator.php b/frontend/drupal9/vendor/symfony/validator/Constraints/FileValidator.php index cebb6eda2..101330f65 100644 --- a/frontend/drupal9/vendor/symfony/validator/Constraints/FileValidator.php +++ b/frontend/drupal9/vendor/symfony/validator/Constraints/FileValidator.php @@ -116,7 +116,7 @@ class FileValidator extends ConstraintValidator } } - if (!is_scalar($value) && !$value instanceof FileObject && !(\is_object($value) && method_exists($value, '__toString'))) { + if (!\is_scalar($value) && !$value instanceof FileObject && !(\is_object($value) && method_exists($value, '__toString'))) { throw new UnexpectedValueException($value, 'string'); } diff --git a/frontend/drupal9/vendor/symfony/validator/Constraints/IbanValidator.php b/frontend/drupal9/vendor/symfony/validator/Constraints/IbanValidator.php index 0f39a3a9c..6db31e535 100644 --- a/frontend/drupal9/vendor/symfony/validator/Constraints/IbanValidator.php +++ b/frontend/drupal9/vendor/symfony/validator/Constraints/IbanValidator.php @@ -150,7 +150,7 @@ class IbanValidator extends ConstraintValidator return; } - if (!is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) { + if (!\is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) { throw new UnexpectedValueException($value, 'string'); } diff --git a/frontend/drupal9/vendor/symfony/validator/Constraints/IpValidator.php b/frontend/drupal9/vendor/symfony/validator/Constraints/IpValidator.php index e48d41e6d..9db41f9c2 100644 --- a/frontend/drupal9/vendor/symfony/validator/Constraints/IpValidator.php +++ b/frontend/drupal9/vendor/symfony/validator/Constraints/IpValidator.php @@ -37,7 +37,7 @@ class IpValidator extends ConstraintValidator return; } - if (!is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) { + if (!\is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) { throw new UnexpectedValueException($value, 'string'); } @@ -49,48 +49,48 @@ class IpValidator extends ConstraintValidator switch ($constraint->version) { case Ip::V4: - $flag = \FILTER_FLAG_IPV4; - break; + $flag = \FILTER_FLAG_IPV4; + break; case Ip::V6: - $flag = \FILTER_FLAG_IPV6; - break; + $flag = \FILTER_FLAG_IPV6; + break; case Ip::V4_NO_PRIV: - $flag = \FILTER_FLAG_IPV4 | \FILTER_FLAG_NO_PRIV_RANGE; - break; + $flag = \FILTER_FLAG_IPV4 | \FILTER_FLAG_NO_PRIV_RANGE; + break; case Ip::V6_NO_PRIV: - $flag = \FILTER_FLAG_IPV6 | \FILTER_FLAG_NO_PRIV_RANGE; - break; + $flag = \FILTER_FLAG_IPV6 | \FILTER_FLAG_NO_PRIV_RANGE; + break; case Ip::ALL_NO_PRIV: - $flag = \FILTER_FLAG_NO_PRIV_RANGE; - break; + $flag = \FILTER_FLAG_NO_PRIV_RANGE; + break; case Ip::V4_NO_RES: - $flag = \FILTER_FLAG_IPV4 | \FILTER_FLAG_NO_RES_RANGE; - break; + $flag = \FILTER_FLAG_IPV4 | \FILTER_FLAG_NO_RES_RANGE; + break; case Ip::V6_NO_RES: - $flag = \FILTER_FLAG_IPV6 | \FILTER_FLAG_NO_RES_RANGE; - break; + $flag = \FILTER_FLAG_IPV6 | \FILTER_FLAG_NO_RES_RANGE; + break; case Ip::ALL_NO_RES: - $flag = \FILTER_FLAG_NO_RES_RANGE; - break; + $flag = \FILTER_FLAG_NO_RES_RANGE; + break; case Ip::V4_ONLY_PUBLIC: - $flag = \FILTER_FLAG_IPV4 | \FILTER_FLAG_NO_PRIV_RANGE | \FILTER_FLAG_NO_RES_RANGE; - break; + $flag = \FILTER_FLAG_IPV4 | \FILTER_FLAG_NO_PRIV_RANGE | \FILTER_FLAG_NO_RES_RANGE; + break; case Ip::V6_ONLY_PUBLIC: - $flag = \FILTER_FLAG_IPV6 | \FILTER_FLAG_NO_PRIV_RANGE | \FILTER_FLAG_NO_RES_RANGE; - break; + $flag = \FILTER_FLAG_IPV6 | \FILTER_FLAG_NO_PRIV_RANGE | \FILTER_FLAG_NO_RES_RANGE; + break; case Ip::ALL_ONLY_PUBLIC: - $flag = \FILTER_FLAG_NO_PRIV_RANGE | \FILTER_FLAG_NO_RES_RANGE; - break; + $flag = \FILTER_FLAG_NO_PRIV_RANGE | \FILTER_FLAG_NO_RES_RANGE; + break; default: $flag = 0; diff --git a/frontend/drupal9/vendor/symfony/validator/Constraints/IsbnValidator.php b/frontend/drupal9/vendor/symfony/validator/Constraints/IsbnValidator.php index e0da13d7a..3cda0af15 100644 --- a/frontend/drupal9/vendor/symfony/validator/Constraints/IsbnValidator.php +++ b/frontend/drupal9/vendor/symfony/validator/Constraints/IsbnValidator.php @@ -40,7 +40,7 @@ class IsbnValidator extends ConstraintValidator return; } - if (!is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) { + if (!\is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) { throw new UnexpectedValueException($value, 'string'); } diff --git a/frontend/drupal9/vendor/symfony/validator/Constraints/IssnValidator.php b/frontend/drupal9/vendor/symfony/validator/Constraints/IssnValidator.php index aa83201cd..66f44af98 100644 --- a/frontend/drupal9/vendor/symfony/validator/Constraints/IssnValidator.php +++ b/frontend/drupal9/vendor/symfony/validator/Constraints/IssnValidator.php @@ -39,7 +39,7 @@ class IssnValidator extends ConstraintValidator return; } - if (!is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) { + if (!\is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) { throw new UnexpectedValueException($value, 'string'); } diff --git a/frontend/drupal9/vendor/symfony/validator/Constraints/JsonValidator.php b/frontend/drupal9/vendor/symfony/validator/Constraints/JsonValidator.php index e553ae359..176331f6f 100644 --- a/frontend/drupal9/vendor/symfony/validator/Constraints/JsonValidator.php +++ b/frontend/drupal9/vendor/symfony/validator/Constraints/JsonValidator.php @@ -33,7 +33,7 @@ class JsonValidator extends ConstraintValidator return; } - if (!is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) { + if (!\is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) { throw new UnexpectedTypeException($value, 'string'); } diff --git a/frontend/drupal9/vendor/symfony/validator/Constraints/LanguageValidator.php b/frontend/drupal9/vendor/symfony/validator/Constraints/LanguageValidator.php index c20471230..38e468430 100644 --- a/frontend/drupal9/vendor/symfony/validator/Constraints/LanguageValidator.php +++ b/frontend/drupal9/vendor/symfony/validator/Constraints/LanguageValidator.php @@ -38,7 +38,7 @@ class LanguageValidator extends ConstraintValidator return; } - if (!is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) { + if (!\is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) { throw new UnexpectedValueException($value, 'string'); } diff --git a/frontend/drupal9/vendor/symfony/validator/Constraints/LengthValidator.php b/frontend/drupal9/vendor/symfony/validator/Constraints/LengthValidator.php index 13c6015ef..af7338b37 100644 --- a/frontend/drupal9/vendor/symfony/validator/Constraints/LengthValidator.php +++ b/frontend/drupal9/vendor/symfony/validator/Constraints/LengthValidator.php @@ -38,7 +38,7 @@ class LengthValidator extends ConstraintValidator return; } - if (!is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) { + if (!\is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) { throw new UnexpectedValueException($value, 'string'); } diff --git a/frontend/drupal9/vendor/symfony/validator/Constraints/LocaleValidator.php b/frontend/drupal9/vendor/symfony/validator/Constraints/LocaleValidator.php index ec2c7c8f0..78c980252 100644 --- a/frontend/drupal9/vendor/symfony/validator/Constraints/LocaleValidator.php +++ b/frontend/drupal9/vendor/symfony/validator/Constraints/LocaleValidator.php @@ -38,7 +38,7 @@ class LocaleValidator extends ConstraintValidator return; } - if (!is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) { + if (!\is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) { throw new UnexpectedValueException($value, 'string'); } diff --git a/frontend/drupal9/vendor/symfony/validator/Constraints/NotCompromisedPasswordValidator.php b/frontend/drupal9/vendor/symfony/validator/Constraints/NotCompromisedPasswordValidator.php index adcdb7a59..efc770f00 100644 --- a/frontend/drupal9/vendor/symfony/validator/Constraints/NotCompromisedPasswordValidator.php +++ b/frontend/drupal9/vendor/symfony/validator/Constraints/NotCompromisedPasswordValidator.php @@ -63,7 +63,7 @@ class NotCompromisedPasswordValidator extends ConstraintValidator return; } - if (null !== $value && !is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) { + if (null !== $value && !\is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) { throw new UnexpectedValueException($value, 'string'); } diff --git a/frontend/drupal9/vendor/symfony/validator/Constraints/RegexValidator.php b/frontend/drupal9/vendor/symfony/validator/Constraints/RegexValidator.php index 7fadf7682..bf828168e 100644 --- a/frontend/drupal9/vendor/symfony/validator/Constraints/RegexValidator.php +++ b/frontend/drupal9/vendor/symfony/validator/Constraints/RegexValidator.php @@ -37,7 +37,7 @@ class RegexValidator extends ConstraintValidator return; } - if (!is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) { + if (!\is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) { throw new UnexpectedValueException($value, 'string'); } diff --git a/frontend/drupal9/vendor/symfony/validator/Constraints/TimeValidator.php b/frontend/drupal9/vendor/symfony/validator/Constraints/TimeValidator.php index b82776480..ad9a1b25e 100644 --- a/frontend/drupal9/vendor/symfony/validator/Constraints/TimeValidator.php +++ b/frontend/drupal9/vendor/symfony/validator/Constraints/TimeValidator.php @@ -52,7 +52,7 @@ class TimeValidator extends ConstraintValidator return; } - if (!is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) { + if (!\is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) { throw new UnexpectedValueException($value, 'string'); } diff --git a/frontend/drupal9/vendor/symfony/validator/Constraints/TimezoneValidator.php b/frontend/drupal9/vendor/symfony/validator/Constraints/TimezoneValidator.php index ab6b4eed6..a83d78c2b 100644 --- a/frontend/drupal9/vendor/symfony/validator/Constraints/TimezoneValidator.php +++ b/frontend/drupal9/vendor/symfony/validator/Constraints/TimezoneValidator.php @@ -39,7 +39,7 @@ class TimezoneValidator extends ConstraintValidator return; } - if (!is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) { + if (!\is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) { throw new UnexpectedValueException($value, 'string'); } diff --git a/frontend/drupal9/vendor/symfony/validator/Constraints/UrlValidator.php b/frontend/drupal9/vendor/symfony/validator/Constraints/UrlValidator.php index 1150a8ab8..c0d1f3b0d 100644 --- a/frontend/drupal9/vendor/symfony/validator/Constraints/UrlValidator.php +++ b/frontend/drupal9/vendor/symfony/validator/Constraints/UrlValidator.php @@ -59,7 +59,7 @@ class UrlValidator extends ConstraintValidator return; } - if (!is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) { + if (!\is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) { throw new UnexpectedValueException($value, 'string'); } diff --git a/frontend/drupal9/vendor/symfony/validator/Constraints/UuidValidator.php b/frontend/drupal9/vendor/symfony/validator/Constraints/UuidValidator.php index 9082b5924..7005f4eb2 100644 --- a/frontend/drupal9/vendor/symfony/validator/Constraints/UuidValidator.php +++ b/frontend/drupal9/vendor/symfony/validator/Constraints/UuidValidator.php @@ -75,7 +75,7 @@ class UuidValidator extends ConstraintValidator return; } - if (!is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) { + if (!\is_scalar($value) && !(\is_object($value) && method_exists($value, '__toString'))) { throw new UnexpectedValueException($value, 'string'); } diff --git a/frontend/drupal9/vendor/symfony/validator/DataCollector/ValidatorDataCollector.php b/frontend/drupal9/vendor/symfony/validator/DataCollector/ValidatorDataCollector.php index 928f22932..b4b5a5b11 100644 --- a/frontend/drupal9/vendor/symfony/validator/DataCollector/ValidatorDataCollector.php +++ b/frontend/drupal9/vendor/symfony/validator/DataCollector/ValidatorDataCollector.php @@ -42,7 +42,7 @@ class ValidatorDataCollector extends DataCollector implements LateDataCollectorI * * @param \Throwable|null $exception */ - public function collect(Request $request, Response $response/*, \Throwable $exception = null*/) + public function collect(Request $request, Response $response/* , \Throwable $exception = null */) { // Everything is collected once, on kernel terminate. } diff --git a/frontend/drupal9/vendor/symfony/validator/Resources/translations/validators.eu.xlf b/frontend/drupal9/vendor/symfony/validator/Resources/translations/validators.eu.xlf index ec58c6036..ece2da0d7 100644 --- a/frontend/drupal9/vendor/symfony/validator/Resources/translations/validators.eu.xlf +++ b/frontend/drupal9/vendor/symfony/validator/Resources/translations/validators.eu.xlf @@ -390,6 +390,18 @@ This value should be a valid expression. Balio hori baliozko adierazpena izan beharko litzateke. + + This value is not a valid CSS color. + Balio hori ez da baliozko CSS kolorea. + + + This value is not a valid CIDR notation. + Balio hori ez da baliozko CIDR notazioa. + + + The value of the netmask should be between {{ min }} and {{ max }}. + Maskararen balioa {{ min }} eta {{ max }} artekoa izan beharko litzateke. + diff --git a/frontend/drupal9/vendor/symfony/validator/Resources/translations/validators.nb.xlf b/frontend/drupal9/vendor/symfony/validator/Resources/translations/validators.nb.xlf index 93132ec57..5e1ebc189 100644 --- a/frontend/drupal9/vendor/symfony/validator/Resources/translations/validators.nb.xlf +++ b/frontend/drupal9/vendor/symfony/validator/Resources/translations/validators.nb.xlf @@ -386,6 +386,22 @@ This value is not a valid International Securities Identification Number (ISIN). Denne verdien er ikke et gyldig International Securities Identification Number (ISIN). + + This value should be a valid expression. + Denne verdien skal være et gyldig uttrykk. + + + This value is not a valid CSS color. + Denne verdien er ikke en gyldig CSS-farge. + + + This value is not a valid CIDR notation. + Denne verdien er ikke en gyldig CIDR-notasjon. + + + The value of the netmask should be between {{ min }} and {{ max }}. + Verdien på nettmasken skal være mellom {{ min }} og {{ max }}. + diff --git a/frontend/drupal9/vendor/symfony/validator/Resources/translations/validators.no.xlf b/frontend/drupal9/vendor/symfony/validator/Resources/translations/validators.no.xlf index 93132ec57..5e1ebc189 100644 --- a/frontend/drupal9/vendor/symfony/validator/Resources/translations/validators.no.xlf +++ b/frontend/drupal9/vendor/symfony/validator/Resources/translations/validators.no.xlf @@ -386,6 +386,22 @@ This value is not a valid International Securities Identification Number (ISIN). Denne verdien er ikke et gyldig International Securities Identification Number (ISIN). + + This value should be a valid expression. + Denne verdien skal være et gyldig uttrykk. + + + This value is not a valid CSS color. + Denne verdien er ikke en gyldig CSS-farge. + + + This value is not a valid CIDR notation. + Denne verdien er ikke en gyldig CIDR-notasjon. + + + The value of the netmask should be between {{ min }} and {{ max }}. + Verdien på nettmasken skal være mellom {{ min }} og {{ max }}. + diff --git a/frontend/drupal9/vendor/symfony/validator/Validator/RecursiveContextualValidator.php b/frontend/drupal9/vendor/symfony/validator/Validator/RecursiveContextualValidator.php index 0e8f50c34..1042e4f84 100644 --- a/frontend/drupal9/vendor/symfony/validator/Validator/RecursiveContextualValidator.php +++ b/frontend/drupal9/vendor/symfony/validator/Validator/RecursiveContextualValidator.php @@ -471,15 +471,15 @@ class RecursiveContextualValidator implements ContextualValidatorInterface // group sequence and abort if necessary (G1, G2) if ($group instanceof GroupSequence) { $this->stepThroughGroupSequence( - $object, - $object, - $cacheKey, - $metadata, - $propertyPath, - $traversalStrategy, - $group, - $defaultOverridden ? Constraint::DEFAULT_GROUP : null, - $context + $object, + $object, + $cacheKey, + $metadata, + $propertyPath, + $traversalStrategy, + $group, + $defaultOverridden ? Constraint::DEFAULT_GROUP : null, + $context ); // Skip the group sequence when validating properties, because @@ -588,15 +588,15 @@ class RecursiveContextualValidator implements ContextualValidatorInterface foreach ($groups as $key => $group) { if ($group instanceof GroupSequence) { $this->stepThroughGroupSequence( - $value, - $object, - $cacheKey, - $metadata, - $propertyPath, - $traversalStrategy, - $group, - null, - $context + $value, + $object, + $cacheKey, + $metadata, + $propertyPath, + $traversalStrategy, + $group, + null, + $context ); // Skip the group sequence when cascading, as the cascading @@ -695,26 +695,26 @@ class RecursiveContextualValidator implements ContextualValidatorInterface if ($metadata instanceof ClassMetadataInterface) { $this->validateClassNode( - $value, - $cacheKey, - $metadata, - $propertyPath, - $groups, - $cascadedGroups, - $traversalStrategy, - $context + $value, + $cacheKey, + $metadata, + $propertyPath, + $groups, + $cascadedGroups, + $traversalStrategy, + $context ); } else { $this->validateGenericNode( - $value, - $object, - $cacheKey, - $metadata, - $propertyPath, - $groups, - $cascadedGroups, - $traversalStrategy, - $context + $value, + $object, + $cacheKey, + $metadata, + $propertyPath, + $groups, + $cascadedGroups, + $traversalStrategy, + $context ); } diff --git a/frontend/drupal9/vendor/symfony/var-dumper/Caster/ArgsStub.php b/frontend/drupal9/vendor/symfony/var-dumper/Caster/ArgsStub.php index f8b485bd4..b3f7bbee3 100644 --- a/frontend/drupal9/vendor/symfony/var-dumper/Caster/ArgsStub.php +++ b/frontend/drupal9/vendor/symfony/var-dumper/Caster/ArgsStub.php @@ -28,7 +28,7 @@ class ArgsStub extends EnumStub $values = []; foreach ($args as $k => $v) { - $values[$k] = !is_scalar($v) && !$v instanceof Stub ? new CutStub($v) : $v; + $values[$k] = !\is_scalar($v) && !$v instanceof Stub ? new CutStub($v) : $v; } if (null === $params) { parent::__construct($values, false); diff --git a/frontend/drupal9/vendor/symfony/var-dumper/Caster/IntlCaster.php b/frontend/drupal9/vendor/symfony/var-dumper/Caster/IntlCaster.php index 23b9d5da3..1ed91d4d6 100644 --- a/frontend/drupal9/vendor/symfony/var-dumper/Caster/IntlCaster.php +++ b/frontend/drupal9/vendor/symfony/var-dumper/Caster/IntlCaster.php @@ -102,7 +102,7 @@ class IntlCaster 'SIGNIFICANT_DIGIT_SYMBOL' => $c->getSymbol(\NumberFormatter::SIGNIFICANT_DIGIT_SYMBOL), 'MONETARY_GROUPING_SEPARATOR_SYMBOL' => $c->getSymbol(\NumberFormatter::MONETARY_GROUPING_SEPARATOR_SYMBOL), ] - ), + ), ]; return self::castError($c, $a); diff --git a/frontend/drupal9/vendor/symfony/var-dumper/Dumper/AbstractDumper.php b/frontend/drupal9/vendor/symfony/var-dumper/Dumper/AbstractDumper.php index 0f4de086c..ae19faf61 100644 --- a/frontend/drupal9/vendor/symfony/var-dumper/Dumper/AbstractDumper.php +++ b/frontend/drupal9/vendor/symfony/var-dumper/Dumper/AbstractDumper.php @@ -45,7 +45,7 @@ abstract class AbstractDumper implements DataDumperInterface, DumperInterface public function __construct($output = null, string $charset = null, int $flags = 0) { $this->flags = $flags; - $this->setCharset($charset ?: ini_get('php.output_encoding') ?: ini_get('default_charset') ?: 'UTF-8'); + $this->setCharset($charset ?: \ini_get('php.output_encoding') ?: \ini_get('default_charset') ?: 'UTF-8'); $this->decimalPoint = \PHP_VERSION_ID >= 80000 ? '.' : localeconv()['decimal_point']; $this->setOutput($output ?: static::$defaultOutput); if (!$output && \is_string(static::$defaultOutput)) { diff --git a/frontend/drupal9/vendor/symfony/var-dumper/Dumper/CliDumper.php b/frontend/drupal9/vendor/symfony/var-dumper/Dumper/CliDumper.php index d5147b045..94dc8ee97 100644 --- a/frontend/drupal9/vendor/symfony/var-dumper/Dumper/CliDumper.php +++ b/frontend/drupal9/vendor/symfony/var-dumper/Dumper/CliDumper.php @@ -83,7 +83,7 @@ class CliDumper extends AbstractDumper ]); } - $this->displayOptions['fileLinkFormat'] = ini_get('xdebug.file_link_format') ?: get_cfg_var('xdebug.file_link_format') ?: 'file://%f#L%l'; + $this->displayOptions['fileLinkFormat'] = \ini_get('xdebug.file_link_format') ?: get_cfg_var('xdebug.file_link_format') ?: 'file://%f#L%l'; } /** diff --git a/frontend/drupal9/vendor/symfony/var-dumper/Dumper/HtmlDumper.php b/frontend/drupal9/vendor/symfony/var-dumper/Dumper/HtmlDumper.php index 4dbab6d00..af4de9613 100644 --- a/frontend/drupal9/vendor/symfony/var-dumper/Dumper/HtmlDumper.php +++ b/frontend/drupal9/vendor/symfony/var-dumper/Dumper/HtmlDumper.php @@ -81,7 +81,7 @@ class HtmlDumper extends CliDumper { AbstractDumper::__construct($output, $charset, $flags); $this->dumpId = 'sf-dump-'.mt_rand(); - $this->displayOptions['fileLinkFormat'] = ini_get('xdebug.file_link_format') ?: get_cfg_var('xdebug.file_link_format'); + $this->displayOptions['fileLinkFormat'] = \ini_get('xdebug.file_link_format') ?: get_cfg_var('xdebug.file_link_format'); $this->styles = static::$themes['dark'] ?? self::$themes['dark']; } @@ -864,7 +864,7 @@ EOHTML } if ('const' === $style && isset($attr['value'])) { - $style .= sprintf(' title="%s"', esc(is_scalar($attr['value']) ? $attr['value'] : json_encode($attr['value']))); + $style .= sprintf(' title="%s"', esc(\is_scalar($attr['value']) ? $attr['value'] : json_encode($attr['value']))); } elseif ('public' === $style) { $style .= sprintf(' title="%s"', empty($attr['dynamic']) ? 'Public property' : 'Runtime added dynamic property'); } elseif ('str' === $style && 1 < $attr['length']) { diff --git a/frontend/drupal9/vendor/symfony/var-dumper/VarDumper.php b/frontend/drupal9/vendor/symfony/var-dumper/VarDumper.php index a1c63172f..20429ac78 100644 --- a/frontend/drupal9/vendor/symfony/var-dumper/VarDumper.php +++ b/frontend/drupal9/vendor/symfony/var-dumper/VarDumper.php @@ -99,7 +99,7 @@ class VarDumper { $contextProviders = []; - if (!\in_array(\PHP_SAPI, ['cli', 'phpdbg'], true) && (class_exists(Request::class))) { + if (!\in_array(\PHP_SAPI, ['cli', 'phpdbg'], true) && class_exists(Request::class)) { $requestStack = new RequestStack(); $requestStack->push(Request::createFromGlobals()); $contextProviders['request'] = new RequestContextProvider($requestStack); diff --git a/frontend/drupal9/vendor/symfony/yaml/Dumper.php b/frontend/drupal9/vendor/symfony/yaml/Dumper.php index dcb104ccf..52db38c3b 100644 --- a/frontend/drupal9/vendor/symfony/yaml/Dumper.php +++ b/frontend/drupal9/vendor/symfony/yaml/Dumper.php @@ -110,7 +110,7 @@ class Dumper continue; } - if ($inline - 1 <= 0 || null === $value->getValue() || is_scalar($value->getValue())) { + if ($inline - 1 <= 0 || null === $value->getValue() || \is_scalar($value->getValue())) { $output .= ' '.$this->dump($value->getValue(), $inline - 1, 0, $flags)."\n"; } else { $output .= "\n"; diff --git a/frontend/drupal9/vendor/symfony/yaml/Inline.php b/frontend/drupal9/vendor/symfony/yaml/Inline.php index 24c802bcf..1d4bbda69 100644 --- a/frontend/drupal9/vendor/symfony/yaml/Inline.php +++ b/frontend/drupal9/vendor/symfony/yaml/Inline.php @@ -68,7 +68,7 @@ class Inline return ''; } - if (2 /* MB_OVERLOAD_STRING */ & (int) ini_get('mbstring.func_overload')) { + if (2 /* MB_OVERLOAD_STRING */ & (int) \ini_get('mbstring.func_overload')) { $mbEncoding = mb_internal_encoding(); mb_internal_encoding('ASCII'); } diff --git a/frontend/drupal9/vendor/symfony/yaml/Parser.php b/frontend/drupal9/vendor/symfony/yaml/Parser.php index 646818f6b..5c385f4fa 100644 --- a/frontend/drupal9/vendor/symfony/yaml/Parser.php +++ b/frontend/drupal9/vendor/symfony/yaml/Parser.php @@ -87,7 +87,7 @@ class Parser $mbEncoding = null; - if (2 /* MB_OVERLOAD_STRING */ & (int) ini_get('mbstring.func_overload')) { + if (2 /* MB_OVERLOAD_STRING */ & (int) \ini_get('mbstring.func_overload')) { $mbEncoding = mb_internal_encoding(); mb_internal_encoding('UTF-8'); } @@ -988,7 +988,7 @@ class Parser */ private function isCurrentLineComment(): bool { - //checking explicitly the first char of the trim is faster than loops or strpos + // checking explicitly the first char of the trim is faster than loops or strpos $ltrimmedLine = ltrim($this->currentLine, ' '); return '' !== $ltrimmedLine && '#' === $ltrimmedLine[0]; diff --git a/frontend/drupal9/vendor/twig/twig/.gitattributes b/frontend/drupal9/vendor/twig/twig/.gitattributes index 1ce832b52..06bc36713 100644 --- a/frontend/drupal9/vendor/twig/twig/.gitattributes +++ b/frontend/drupal9/vendor/twig/twig/.gitattributes @@ -1,4 +1,4 @@ -/doc/** export-ignore -/extra/** export-ignore -/tests export-ignore +/doc/ export-ignore +/extra/ export-ignore +/tests/ export-ignore /phpunit.xml.dist export-ignore diff --git a/frontend/drupal9/vendor/twig/twig/.github/workflows/ci.yml b/frontend/drupal9/vendor/twig/twig/.github/workflows/ci.yml index 266f6cd17..88aebc164 100644 --- a/frontend/drupal9/vendor/twig/twig/.github/workflows/ci.yml +++ b/frontend/drupal9/vendor/twig/twig/.github/workflows/ci.yml @@ -9,6 +9,9 @@ on: env: SYMFONY_PHPUNIT_DISABLE_RESULT_CACHE: 1 +permissions: + contents: read + jobs: tests: name: "PHP ${{ matrix.php-version }}" diff --git a/frontend/drupal9/vendor/twig/twig/.github/workflows/documentation.yml b/frontend/drupal9/vendor/twig/twig/.github/workflows/documentation.yml index 8bf240967..ee83b5887 100644 --- a/frontend/drupal9/vendor/twig/twig/.github/workflows/documentation.yml +++ b/frontend/drupal9/vendor/twig/twig/.github/workflows/documentation.yml @@ -4,7 +4,11 @@ on: pull_request: push: branches: - - '1.x' + - '2.x' + - '3.x' + +permissions: + contents: read jobs: build: @@ -16,32 +20,32 @@ jobs: - name: "Checkout code" uses: actions/checkout@v2 - - name: "Set up Python 3.7" - uses: actions/setup-python@v1 + - name: "Set-up PHP" + uses: shivammathur/setup-php@v2 with: - python-version: '3.7' # Semantic version range syntax or exact version of a Python version + php-version: 8.1 + coverage: none + tools: "composer:v2" - - name: "Display Python version" - run: python -c "import sys; print(sys.version)" + - name: Get composer cache directory + id: composercache + working-directory: doc/_build + run: echo "::set-output name=dir::$(composer config cache-files-dir)" - - name: "Install Sphinx dependencies" - run: sudo apt-get install python-dev build-essential - - - name: "Cache pip" + - name: Cache dependencies uses: actions/cache@v2 with: - path: ~/.cache/pip - key: ${{ runner.os }}-pip-${{ hashFiles('_build/.requirements.txt') }} - restore-keys: | - ${{ runner.os }}-pip- + path: ${{ steps.composercache.outputs.dir }} + key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} + restore-keys: ${{ runner.os }}-composer- - - name: "Install Sphinx + requirements via pip" - working-directory: "doc" - run: pip install -r _build/.requirements.txt + - name: "Install dependencies" + working-directory: doc/_build + run: composer install --prefer-dist --no-progress - - name: "Build documentation" - working-directory: "doc" - run: make -C _build SPHINXOPTS="-nqW -j auto" html + - name: "Build the docs" + working-directory: doc/_build + run: php build.php --disable-cache doctor-rst: name: "DOCtor-RST" diff --git a/frontend/drupal9/vendor/twig/twig/.gitignore b/frontend/drupal9/vendor/twig/twig/.gitignore index cd52aeace..b197246ba 100644 --- a/frontend/drupal9/vendor/twig/twig/.gitignore +++ b/frontend/drupal9/vendor/twig/twig/.gitignore @@ -1,3 +1,5 @@ +/doc/_build/vendor +/doc/_build/output /composer.lock /phpunit.xml /vendor diff --git a/frontend/drupal9/vendor/twig/twig/CHANGELOG b/frontend/drupal9/vendor/twig/twig/CHANGELOG index b44d1221d..51712223b 100644 --- a/frontend/drupal9/vendor/twig/twig/CHANGELOG +++ b/frontend/drupal9/vendor/twig/twig/CHANGELOG @@ -1,3 +1,13 @@ +# 2.15.3 (2022-09-28) + + * Fix a security issue on filesystem loader (possibility to load a template outside a configured directory) + +# 2.15.2 (2022-08-12) + + * Allow inherited magic method to still run with calling class + * Fix CallExpression::reflectCallable() throwing TypeError + * Fix typo in naming (currency_code) + # 2.15.1 (2022-05-17) * Fix optimizing non-public named closures diff --git a/frontend/drupal9/vendor/twig/twig/src/Environment.php b/frontend/drupal9/vendor/twig/twig/src/Environment.php index 1040de94c..13ce511f4 100644 --- a/frontend/drupal9/vendor/twig/twig/src/Environment.php +++ b/frontend/drupal9/vendor/twig/twig/src/Environment.php @@ -38,11 +38,11 @@ use Twig\TokenParser\TokenParserInterface; */ class Environment { - public const VERSION = '2.15.1'; - public const VERSION_ID = 21501; + public const VERSION = '2.15.3'; + public const VERSION_ID = 21503; public const MAJOR_VERSION = 2; public const MINOR_VERSION = 15; - public const RELEASE_VERSION = 1; + public const RELEASE_VERSION = 3; public const EXTRA_VERSION = ''; private $charset; diff --git a/frontend/drupal9/vendor/twig/twig/src/Loader/FilesystemLoader.php b/frontend/drupal9/vendor/twig/twig/src/Loader/FilesystemLoader.php index 8d82d4b13..8cac30bed 100644 --- a/frontend/drupal9/vendor/twig/twig/src/Loader/FilesystemLoader.php +++ b/frontend/drupal9/vendor/twig/twig/src/Loader/FilesystemLoader.php @@ -206,9 +206,9 @@ class FilesystemLoader implements LoaderInterface, ExistsLoaderInterface, Source } try { - $this->validateName($name); - list($namespace, $shortname) = $this->parseName($name); + + $this->validateName($shortname); } catch (LoaderError $e) { if (!$throw) { return false; diff --git a/frontend/drupal9/vendor/twig/twig/src/Node/Expression/CallExpression.php b/frontend/drupal9/vendor/twig/twig/src/Node/Expression/CallExpression.php index a3b7c7e0d..79e9defdf 100644 --- a/frontend/drupal9/vendor/twig/twig/src/Node/Expression/CallExpression.php +++ b/frontend/drupal9/vendor/twig/twig/src/Node/Expression/CallExpression.php @@ -290,7 +290,12 @@ abstract class CallExpression extends AbstractExpression } $checkVisibility = $callable instanceof \Closure; - $r = new \ReflectionFunction(\Closure::fromCallable($callable)); + try { + $closure = \Closure::fromCallable($callable); + } catch (\TypeError $e) { + throw new \LogicException(sprintf('Callback for %s "%s" is not callable in the current scope.', $this->getAttribute('type'), $this->getAttribute('name')), 0, $e); + } + $r = new \ReflectionFunction($closure); if (false !== strpos($r->name, '{closure}')) { return $this->reflector = [$r, $callable, 'Closure']; @@ -300,8 +305,7 @@ abstract class CallExpression extends AbstractExpression $callable = [$object, $r->name]; $callableName = (\function_exists('get_debug_type') ? get_debug_type($object) : \get_class($object)).'::'.$r->name; } elseif ($class = $r->getClosureScopeClass()) { - $callable = [$class, $r->name]; - $callableName = $class.'::'.$r->name; + $callableName = (\is_array($callable) ? $callable[0] : $class->name).'::'.$r->name; } else { $callable = $callableName = $r->name; } diff --git a/frontend/drupal9/web/core/assets/scaffold/files/default.services.yml b/frontend/drupal9/web/core/assets/scaffold/files/default.services.yml index ff6797d95..cdeb41fc4 100644 --- a/frontend/drupal9/web/core/assets/scaffold/files/default.services.yml +++ b/frontend/drupal9/web/core/assets/scaffold/files/default.services.yml @@ -93,6 +93,21 @@ parameters: # Disabling the Twig cache is not recommended in production environments. # @default true cache: true + # File extensions: + # + # List of file extensions the Twig system is allowed to load via the + # twig.loader.filesystem service. Files with other extensions will not be + # loaded unless they are added here. For example, to allow a file named + # 'example.partial' to be loaded, add 'partial' to this list. To load files + # with no extension, add an empty string '' to the list. + # + # @default ['css', 'html', 'js', 'svg', 'twig'] + allowed_file_extensions: + - css + - html + - js + - svg + - twig renderer.config: # Renderer required cache contexts: # diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/alignment/alignment.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/alignment/alignment.js index 597f8bbdc..f987ace38 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/alignment/alignment.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/alignment/alignment.js @@ -2,4 +2,4 @@ /*! * @license Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md. - */(()=>{var t={704:(t,e,n)=>{t.exports=n(79)("./src/core.js")},273:(t,e,n)=>{t.exports=n(79)("./src/ui.js")},209:(t,e,n)=>{t.exports=n(79)("./src/utils.js")},79:t=>{"use strict";t.exports=CKEditor5.dll}},e={};function n(i){var o=e[i];if(void 0!==o)return o.exports;var r=e[i]={exports:{}};return t[i](r,r.exports,n),r.exports}n.d=(t,e)=>{for(var i in e)n.o(e,i)&&!n.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var i={};(()=>{"use strict";n.r(i),n.d(i,{Alignment:()=>f,AlignmentEditing:()=>g,AlignmentUI:()=>d});var t=n(704),e=n(209);const o=["left","right","center","justify"];function r(t){return o.includes(t)}function a(t,e){return"rtl"==e.contentLanguageDirection?"right"===t:"left"===t}function s(t){const n=t.map((t=>{let e;return e="string"==typeof t?{name:t}:t,e})).filter((t=>{const n=!!o.includes(t.name);return n||(0,e.logWarning)("alignment-config-name-not-recognized",{option:t}),n})),i=n.filter((t=>!!t.className)).length;if(i&&i{const r=o.slice(i+1);if(r.some((t=>t.name==n.name)))throw new e.CKEditorError("alignment-config-name-already-defined",{option:n,configuredOptions:t});if(n.className){if(r.some((t=>t.className==n.className)))throw new e.CKEditorError("alignment-config-classname-already-defined",{option:n,configuredOptions:t})}})),n}const l="alignment";class c extends t.Command{refresh(){const t=this.editor.locale,n=(0,e.first)(this.editor.model.document.selection.getSelectedBlocks());this.isEnabled=!!n&&this._canBeAligned(n),this.isEnabled&&n.hasAttribute("alignment")?this.value=n.getAttribute("alignment"):this.value="rtl"===t.contentLanguageDirection?"right":"left"}execute(t={}){const e=this.editor,n=e.locale,i=e.model,o=i.document,r=t.value;i.change((t=>{const e=Array.from(o.selection.getSelectedBlocks()).filter((t=>this._canBeAligned(t))),i=e[0].getAttribute("alignment");a(r,n)||i===r||!r?function(t,e){for(const n of t)e.removeAttribute(l,n)}(e,t):function(t,e,n){for(const i of t)e.setAttribute(l,n,i)}(e,t,r)}))}_canBeAligned(t){return this.editor.model.schema.checkAttribute(t,l)}}class g extends t.Plugin{static get pluginName(){return"AlignmentEditing"}constructor(t){super(t),t.config.define("alignment",{options:[...o.map((t=>({name:t})))]})}init(){const t=this.editor,e=t.locale,n=t.model.schema,i=s(t.config.get("alignment.options")).filter((t=>r(t.name)&&!a(t.name,e))),o=i.some((t=>!!t.className));n.extend("$block",{allowAttributes:"alignment"}),t.model.schema.setAttributeProperties("alignment",{isFormatting:!0}),o?t.conversion.attributeToAttribute(function(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}(i)):t.conversion.for("downcast").attributeToAttribute(function(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}(i));const l=function(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}(i);for(const e of l)t.conversion.for("upcast").attributeToAttribute(e);const g=function(t){const e=[];for(const{name:n}of t)e.push({view:{key:"align",value:n},model:{key:"alignment",value:n}});return e}(i);for(const e of g)t.conversion.for("upcast").attributeToAttribute(e);t.commands.add("alignment",new c(t))}}var u=n(273);const m=new Map([["left",t.icons.alignLeft],["right",t.icons.alignRight],["center",t.icons.alignCenter],["justify",t.icons.alignJustify]]);class d extends t.Plugin{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,e=t.ui.componentFactory,n=t.t,i=s(t.config.get("alignment.options"));i.map((t=>t.name)).filter(r).forEach((t=>this._addButton(t))),e.add("alignment",(t=>{const o=(0,u.createDropdown)(t),r=i.map((t=>e.create(`alignment:${t.name}`)));(0,u.addToolbarToDropdown)(o,r),o.buttonView.set({label:n("Text alignment"),tooltip:!0}),o.toolbarView.isVertical=!0,o.toolbarView.ariaLabel=n("Text alignment toolbar"),o.extendTemplate({attributes:{class:"ck-alignment-dropdown"}});const a="rtl"===t.contentLanguageDirection?m.get("right"):m.get("left");return o.buttonView.bind("icon").toMany(r,"isOn",((...t)=>{const e=t.findIndex((t=>t));return e<0?a:r[e].icon})),o.bind("isEnabled").toMany(r,"isEnabled",((...t)=>t.some((t=>t)))),o}))}_addButton(t){const e=this.editor;e.ui.componentFactory.add(`alignment:${t}`,(n=>{const i=e.commands.get("alignment"),o=new u.ButtonView(n);return o.set({label:this.localizedOptionTitles[t],icon:m.get(t),tooltip:!0,isToggleable:!0}),o.bind("isEnabled").to(i),o.bind("isOn").to(i,"value",(e=>e===t)),this.listenTo(o,"execute",(()=>{e.execute("alignment",{value:t}),e.editing.view.focus()})),o}))}}class f extends t.Plugin{static get requires(){return[g,d]}static get pluginName(){return"Alignment"}}})(),(window.CKEditor5=window.CKEditor5||{}).alignment=i})(); \ No newline at end of file + */(()=>{var t={704:(t,e,n)=>{t.exports=n(79)("./src/core.js")},273:(t,e,n)=>{t.exports=n(79)("./src/ui.js")},209:(t,e,n)=>{t.exports=n(79)("./src/utils.js")},79:t=>{"use strict";t.exports=CKEditor5.dll}},e={};function n(i){var o=e[i];if(void 0!==o)return o.exports;var r=e[i]={exports:{}};return t[i](r,r.exports,n),r.exports}n.d=(t,e)=>{for(var i in e)n.o(e,i)&&!n.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var i={};(()=>{"use strict";n.r(i),n.d(i,{Alignment:()=>f,AlignmentEditing:()=>g,AlignmentUI:()=>d});var t=n(704),e=n(209);const o=["left","right","center","justify"];function r(t){return o.includes(t)}function a(t,e){return"rtl"==e.contentLanguageDirection?"right"===t:"left"===t}function s(t){const n=t.map((t=>{let e;return e="string"==typeof t?{name:t}:t,e})).filter((t=>{const n=!!o.includes(t.name);return n||(0,e.logWarning)("alignment-config-name-not-recognized",{option:t}),n})),i=n.filter((t=>!!t.className)).length;if(i&&i{const r=o.slice(i+1);if(r.some((t=>t.name==n.name)))throw new e.CKEditorError("alignment-config-name-already-defined",{option:n,configuredOptions:t});if(n.className){if(r.some((t=>t.className==n.className)))throw new e.CKEditorError("alignment-config-classname-already-defined",{option:n,configuredOptions:t})}})),n}const l="alignment";class c extends t.Command{refresh(){const t=this.editor.locale,n=(0,e.first)(this.editor.model.document.selection.getSelectedBlocks());this.isEnabled=!!n&&this._canBeAligned(n),this.isEnabled&&n.hasAttribute("alignment")?this.value=n.getAttribute("alignment"):this.value="rtl"===t.contentLanguageDirection?"right":"left"}execute(t={}){const e=this.editor,n=e.locale,i=e.model,o=i.document,r=t.value;i.change((t=>{const e=Array.from(o.selection.getSelectedBlocks()).filter((t=>this._canBeAligned(t))),i=e[0].getAttribute("alignment");a(r,n)||i===r||!r?function(t,e){for(const n of t)e.removeAttribute(l,n)}(e,t):function(t,e,n){for(const i of t)e.setAttribute(l,n,i)}(e,t,r)}))}_canBeAligned(t){return this.editor.model.schema.checkAttribute(t,l)}}class g extends t.Plugin{static get pluginName(){return"AlignmentEditing"}constructor(t){super(t),t.config.define("alignment",{options:[...o.map((t=>({name:t})))]})}init(){const t=this.editor,e=t.locale,n=t.model.schema,i=s(t.config.get("alignment.options")).filter((t=>r(t.name)&&!a(t.name,e))),o=i.some((t=>!!t.className));n.extend("$block",{allowAttributes:"alignment"}),t.model.schema.setAttributeProperties("alignment",{isFormatting:!0}),o?t.conversion.attributeToAttribute(function(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}(i)):t.conversion.for("downcast").attributeToAttribute(function(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}(i));const l=function(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}(i);for(const e of l)t.conversion.for("upcast").attributeToAttribute(e);const g=function(t){const e=[];for(const{name:n}of t)e.push({view:{key:"align",value:n},model:{key:"alignment",value:n}});return e}(i);for(const e of g)t.conversion.for("upcast").attributeToAttribute(e);t.commands.add("alignment",new c(t))}}var u=n(273);const m=new Map([["left",t.icons.alignLeft],["right",t.icons.alignRight],["center",t.icons.alignCenter],["justify",t.icons.alignJustify]]);class d extends t.Plugin{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,e=t.ui.componentFactory,n=t.t,i=s(t.config.get("alignment.options"));i.map((t=>t.name)).filter(r).forEach((t=>this._addButton(t))),e.add("alignment",(o=>{const r=(0,u.createDropdown)(o),a=i.map((t=>e.create(`alignment:${t.name}`)));(0,u.addToolbarToDropdown)(r,a,{enableActiveItemFocusOnDropdownOpen:!0}),r.buttonView.set({label:n("Text alignment"),tooltip:!0}),r.toolbarView.isVertical=!0,r.toolbarView.ariaLabel=n("Text alignment toolbar"),r.extendTemplate({attributes:{class:"ck-alignment-dropdown"}});const s="rtl"===o.contentLanguageDirection?m.get("right"):m.get("left");return r.buttonView.bind("icon").toMany(a,"isOn",((...t)=>{const e=t.findIndex((t=>t));return e<0?s:a[e].icon})),r.bind("isEnabled").toMany(a,"isEnabled",((...t)=>t.some((t=>t)))),this.listenTo(r,"execute",(()=>{t.editing.view.focus()})),r}))}_addButton(t){const e=this.editor;e.ui.componentFactory.add(`alignment:${t}`,(n=>{const i=e.commands.get("alignment"),o=new u.ButtonView(n);return o.set({label:this.localizedOptionTitles[t],icon:m.get(t),tooltip:!0,isToggleable:!0}),o.bind("isEnabled").to(i),o.bind("isOn").to(i,"value",(e=>e===t)),this.listenTo(o,"execute",(()=>{e.execute("alignment",{value:t}),e.editing.view.focus()})),o}))}}class f extends t.Plugin{static get requires(){return[g,d]}static get pluginName(){return"Alignment"}}})(),(window.CKEditor5=window.CKEditor5||{}).alignment=i})(); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/alignment/translations/ar.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/alignment/translations/ar.js index 0b5a77ba9..59fc6bf3a 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/alignment/translations/ar.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/alignment/translations/ar.js @@ -1 +1 @@ -!function(n){const i=n.ar=n.ar||{};i.dictionary=Object.assign(i.dictionary||{},{"Align center":"محاذاة في المنتصف","Align left":"محاذاة لليسار","Align right":"محاذاة لليمين",Justify:"ضبط","Text alignment":"محاذاة النص","Text alignment toolbar":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(n){const i=n.ar=n.ar||{};i.dictionary=Object.assign(i.dictionary||{},{"Align center":"محاذاة في المنتصف","Align left":"محاذاة لليسار","Align right":"محاذاة لليمين",Justify:"ضبط","Text alignment":"محاذاة النص","Text alignment toolbar":"شريط أدوات محاذاة النص"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/alignment/translations/bg.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/alignment/translations/bg.js new file mode 100644 index 000000000..b1edc126e --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/alignment/translations/bg.js @@ -0,0 +1 @@ +!function(n){const i=n.bg=n.bg||{};i.dictionary=Object.assign(i.dictionary||{},{"Align center":"Централно подравняване","Align left":"Ляво подравняване","Align right":"Дясно подравняване",Justify:"Разпредели по равно","Text alignment":"Подравняване на текста","Text alignment toolbar":"Лента за подравняване на текст"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/alignment/translations/bn.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/alignment/translations/bn.js new file mode 100644 index 000000000..2b04085b1 --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/alignment/translations/bn.js @@ -0,0 +1 @@ +!function(n){const i=n.bn=n.bn||{};i.dictionary=Object.assign(i.dictionary||{},{"Align center":"কেন্দ্র সারিবদ্ধ করুন","Align left":"বামে সারিবদ্ধ করুন","Align right":"ডানদিকে সারিবদ্ধ করুন",Justify:"জাস্টিফাই","Text alignment":"টেক্সট সারিবদ্ধকরণ","Text alignment toolbar":"টেক্সট শ্রেণীবিন্যাস টুলবার"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/alignment/translations/ca.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/alignment/translations/ca.js index ec7c63c84..ff5c59649 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/alignment/translations/ca.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/alignment/translations/ca.js @@ -1 +1 @@ -!function(i){const n=i.ca=i.ca||{};n.dictionary=Object.assign(n.dictionary||{},{"Align center":"Alineació centre","Align left":"Alineació esquerra","Align right":"Alineació dreta",Justify:"Justificar","Text alignment":"Alineació text","Text alignment toolbar":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(i){const e=i.ca=i.ca||{};e.dictionary=Object.assign(e.dictionary||{},{"Align center":"Alineació centre","Align left":"Alineació esquerra","Align right":"Alineació dreta",Justify:"Justificar","Text alignment":"Alineació text","Text alignment toolbar":"Barra d'eines d'alineació de text"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/alignment/translations/fi.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/alignment/translations/fi.js index dcfaf309f..b4fafc161 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/alignment/translations/fi.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/alignment/translations/fi.js @@ -1 +1 @@ -!function(a){const i=a.fi=a.fi||{};i.dictionary=Object.assign(i.dictionary||{},{"Align center":"Tasaa keskelle","Align left":"Tasaa vasemmalle","Align right":"Tasaa oikealle",Justify:"Tasaa molemmat reunat","Text alignment":"Tekstin tasaus","Text alignment toolbar":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(a){const i=a.fi=a.fi||{};i.dictionary=Object.assign(i.dictionary||{},{"Align center":"Tasaa keskelle","Align left":"Tasaa vasemmalle","Align right":"Tasaa oikealle",Justify:"Tasaa molemmat reunat","Text alignment":"Tekstin tasaus","Text alignment toolbar":"Tekstin suuntauksen työkalupalkki"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/alignment/translations/lt.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/alignment/translations/lt.js index d26e70879..d13ae57ce 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/alignment/translations/lt.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/alignment/translations/lt.js @@ -1 +1 @@ -!function(i){const t=i.lt=i.lt||{};t.dictionary=Object.assign(t.dictionary||{},{"Align center":"Centruoti","Align left":"Lygiuoti į kairę","Align right":"Lygiuoti į dešinę",Justify:"Lygiuoti per visą plotį","Text alignment":"Teksto lygiavimas","Text alignment toolbar":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(i){const t=i.lt=i.lt||{};t.dictionary=Object.assign(t.dictionary||{},{"Align center":"Centruoti","Align left":"Lygiuoti į kairę","Align right":"Lygiuoti į dešinę",Justify:"Lygiuoti per visą plotį","Text alignment":"Teksto lygiavimas","Text alignment toolbar":"Teksto lygiavimo įrankių juosta"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/alignment/translations/ms.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/alignment/translations/ms.js new file mode 100644 index 000000000..8ad0b7a6d --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/alignment/translations/ms.js @@ -0,0 +1 @@ +!function(a){const n=a.ms=a.ms||{};n.dictionary=Object.assign(n.dictionary||{},{"Align center":"Jajarkan tengah","Align left":"Jajarkan kiri","Align right":"Jajarkan kiri",Justify:"Imbang","Text alignment":"Jajaran teks","Text alignment toolbar":"Bar alat capaian jajaran teks"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/alignment/translations/pt.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/alignment/translations/pt.js index d1055d9d6..b5bdba8f5 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/alignment/translations/pt.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/alignment/translations/pt.js @@ -1 +1 @@ -!function(t){const n=t.pt=t.pt||{};n.dictionary=Object.assign(n.dictionary||{},{"Align center":"Alinhar ao centro","Align left":"Alinhar à esquerda","Align right":"Alinhar à direita",Justify:"Justificar","Text alignment":"Alinhamento de texto","Text alignment toolbar":"Ferramentas de alinhamento de texto"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(t){const i=t.pt=t.pt||{};i.dictionary=Object.assign(i.dictionary||{},{"Align center":"Alinhar ao centro","Align left":"Alinhar à esquerda","Align right":"Alinhar à direita",Justify:"Justificar","Text alignment":"Alinhamento de texto","Text alignment toolbar":"Barra de alinhamento de texto"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/alignment/translations/sv.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/alignment/translations/sv.js index cb9677f94..a6a6798e8 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/alignment/translations/sv.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/alignment/translations/sv.js @@ -1 +1 @@ -!function(t){const n=t.sv=t.sv||{};n.dictionary=Object.assign(n.dictionary||{},{"Align center":"Centrera","Align left":"Vänsterjustera","Align right":"Högerjustera",Justify:"Justera till marginaler","Text alignment":"Textjustering","Text alignment toolbar":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(t){const e=t.sv=t.sv||{};e.dictionary=Object.assign(e.dictionary||{},{"Align center":"Centrera","Align left":"Vänsterjustera","Align right":"Högerjustera",Justify:"Justera till marginaler","Text alignment":"Textjustering","Text alignment toolbar":"Verktygsfält för textjustering"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/alignment/translations/th.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/alignment/translations/th.js new file mode 100644 index 000000000..2130cd773 --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/alignment/translations/th.js @@ -0,0 +1 @@ +!function(n){const t=n.th=n.th||{};t.dictionary=Object.assign(t.dictionary||{},{"Align center":"จัดกึ่งกลาง","Align left":"จัดชิดซ้าย","Align right":"จัดชิดขวา",Justify:"จัด(ขอบ)","Text alignment":"จัดตำแหน่งข้อความ","Text alignment toolbar":"แถบเครื่องมือจัดตำแหน่งข้อความ"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/basic-styles/translations/ar.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/basic-styles/translations/ar.js index 0e7ac0194..f81c9e376 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/basic-styles/translations/ar.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/basic-styles/translations/ar.js @@ -1 +1 @@ -!function(i){const n=i.ar=i.ar||{};n.dictionary=Object.assign(n.dictionary||{},{Bold:"عريض",Code:"شفرة برمجية",Italic:"مائل",Strikethrough:"يتوسطه خط",Subscript:"",Superscript:"",Underline:"تحته خط"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(i){const n=i.ar=i.ar||{};n.dictionary=Object.assign(n.dictionary||{},{Bold:"عريض",Code:"شفرة برمجية",Italic:"مائل",Strikethrough:"يتوسطه خط",Subscript:"حرف منخفض",Superscript:"حرف مرتفع",Underline:"تحته خط"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/basic-styles/translations/bg.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/basic-styles/translations/bg.js index 6c65e29b9..f39a9df29 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/basic-styles/translations/bg.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/basic-styles/translations/bg.js @@ -1 +1 @@ -!function(i){const n=i.bg=i.bg||{};n.dictionary=Object.assign(n.dictionary||{},{Bold:"Удебелен",Code:"",Italic:"Курсив",Strikethrough:"",Subscript:"",Superscript:"",Underline:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(i){const n=i.bg=i.bg||{};n.dictionary=Object.assign(n.dictionary||{},{Bold:"Удебелен",Code:"Код",Italic:"Курсив",Strikethrough:"Зачертаване",Subscript:"Долен индекс",Superscript:"Горен индекс",Underline:"Подчертаване"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/basic-styles/translations/bn.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/basic-styles/translations/bn.js new file mode 100644 index 000000000..e977b159b --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/basic-styles/translations/bn.js @@ -0,0 +1 @@ +!function(i){const n=i.bn=i.bn||{};n.dictionary=Object.assign(n.dictionary||{},{Bold:"বোল্ড",Code:"কোড",Italic:"ইটালিক",Strikethrough:"স্ট্রাইকথ্রু",Subscript:"সাবস্ক্রিপ্ট",Superscript:"সুপারস্ক্রিপ্ট",Underline:"আন্ডারলাইন"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/basic-styles/translations/ca.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/basic-styles/translations/ca.js index 86055844c..7658adefd 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/basic-styles/translations/ca.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/basic-styles/translations/ca.js @@ -1 +1 @@ -!function(i){const t=i.ca=i.ca||{};t.dictionary=Object.assign(t.dictionary||{},{Bold:"Negreta",Code:"Codi",Italic:"Cursiva",Strikethrough:"Marcat",Subscript:"",Superscript:"",Underline:"Subrallat"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(i){const r=i.ca=i.ca||{};r.dictionary=Object.assign(r.dictionary||{},{Bold:"Negreta",Code:"Codi",Italic:"Cursiva",Strikethrough:"Marcat",Subscript:"Subíndex",Superscript:"Superíndex",Underline:"Subrallat"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/basic-styles/translations/ms.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/basic-styles/translations/ms.js new file mode 100644 index 000000000..1c5ae8a06 --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/basic-styles/translations/ms.js @@ -0,0 +1 @@ +!function(i){const r=i.ms=i.ms||{};r.dictionary=Object.assign(r.dictionary||{},{Bold:"Tebal",Code:"Kod",Italic:"Italik",Strikethrough:"Garis lorek",Subscript:"Subskrip",Superscript:"Superskrip",Underline:"Garis bawah"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/basic-styles/translations/pt.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/basic-styles/translations/pt.js index 8b864c124..e637c8268 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/basic-styles/translations/pt.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/basic-styles/translations/pt.js @@ -1 +1 @@ -!function(i){const t=i.pt=i.pt||{};t.dictionary=Object.assign(t.dictionary||{},{Bold:"Negrito",Code:"Código",Italic:"Itálico",Strikethrough:"",Subscript:"",Superscript:"",Underline:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(i){const o=i.pt=i.pt||{};o.dictionary=Object.assign(o.dictionary||{},{Bold:"Negrito",Code:"Código",Italic:"Itálico",Strikethrough:"Riscado",Subscript:"Subscrito",Superscript:"Sobrescrito",Underline:"Sublinhado"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/basic-styles/translations/th.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/basic-styles/translations/th.js new file mode 100644 index 000000000..8ed9300bd --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/basic-styles/translations/th.js @@ -0,0 +1 @@ +!function(i){const t=i.th=i.th||{};t.dictionary=Object.assign(t.dictionary||{},{Bold:"ตัวหนา",Code:"โค้ด",Italic:"ตัวเอียง",Strikethrough:"ขีดทับ",Subscript:"ตัวห้อย",Superscript:"ตัวยก",Underline:"ขีดเส้นใต้"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/block-quote/translations/bn.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/block-quote/translations/bn.js new file mode 100644 index 000000000..7b319b2ac --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/block-quote/translations/bn.js @@ -0,0 +1 @@ +!function(n){const i=n.bn=n.bn||{};i.dictionary=Object.assign(i.dictionary||{},{"Block quote":"ব্লক কোট"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/block-quote/translations/ms.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/block-quote/translations/ms.js new file mode 100644 index 000000000..384ac23cf --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/block-quote/translations/ms.js @@ -0,0 +1 @@ +!function(i){const n=i.ms=i.ms||{};n.dictionary=Object.assign(n.dictionary||{},{"Block quote":"Blok petikan"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/block-quote/translations/pt.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/block-quote/translations/pt.js new file mode 100644 index 000000000..2c3449ef7 --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/block-quote/translations/pt.js @@ -0,0 +1 @@ +!function(o){const i=o.pt=o.pt||{};i.dictionary=Object.assign(i.dictionary||{},{"Block quote":"Bloco de citação"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/ckeditor5-dll.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/ckeditor5-dll.js index 00b50353e..82722fe67 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/ckeditor5-dll.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/ckeditor5-dll.js @@ -1,5 +1,5 @@ -!function(e){const t=e.en=e.en||{};t.dictionary=Object.assign(t.dictionary||{},{"%0 of %1":"%0 of %1",Aquamarine:"Aquamarine",Black:"Black",Blue:"Blue",Cancel:"Cancel","Cannot upload file:":"Cannot upload file:","Dim grey":"Dim grey","Dropdown toolbar":"Dropdown toolbar","Edit block":"Edit block","Editor toolbar":"Editor toolbar",Green:"Green",Grey:"Grey","Insert paragraph after block":"Insert paragraph after block","Insert paragraph before block":"Insert paragraph before block","Light blue":"Light blue","Light green":"Light green","Light grey":"Light grey",Next:"Next",Orange:"Orange",Previous:"Previous",Purple:"Purple",Red:"Red",Redo:"Redo","Remove color":"Remove color","Restore default":"Restore default","Rich Text Editor":"Rich Text Editor","Rich Text Editor, %0":"Rich Text Editor, %0",Save:"Save","Select all":"Select all","Show more items":"Show more items",Turquoise:"Turquoise",Undo:"Undo","Upload in progress":"Upload in progress",White:"White","Widget toolbar":"Widget toolbar",Yellow:"Yellow"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})), +!function(e){const t=e.en=e.en||{};t.dictionary=Object.assign(t.dictionary||{},{"%0 of %1":"%0 of %1",Aquamarine:"Aquamarine",Black:"Black",Blue:"Blue",Cancel:"Cancel","Cannot upload file:":"Cannot upload file:","Dim grey":"Dim grey","Dropdown toolbar":"Dropdown toolbar","Edit block":"Edit block","Editor block content toolbar":"Editor block content toolbar","Editor contextual toolbar":"Editor contextual toolbar","Editor editing area: %0":"Editor editing area: %0","Editor toolbar":"Editor toolbar",Green:"Green",Grey:"Grey","Insert paragraph after block":"Insert paragraph after block","Insert paragraph before block":"Insert paragraph before block","Light blue":"Light blue","Light green":"Light green","Light grey":"Light grey",Next:"Next",Orange:"Orange",Previous:"Previous",Purple:"Purple",Red:"Red",Redo:"Redo","Remove color":"Remove color","Restore default":"Restore default","Rich Text Editor":"Rich Text Editor","Rich Text Editor. Editing area: %0":"Rich Text Editor. Editing area: %0",Save:"Save","Select all":"Select all","Show more items":"Show more items",Turquoise:"Turquoise",Undo:"Undo","Upload in progress":"Upload in progress",White:"White","Widget toolbar":"Widget toolbar",Yellow:"Yellow"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})), /*! * @license Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md. - */(()=>{var e={"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-clipboard/theme/clipboard.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,'.ck.ck-editor__editable .ck.ck-clipboard-drop-target-position{display:inline;pointer-events:none;position:relative}.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{background:var(--ck-clipboard-drop-target-color);border:1px solid var(--ck-clipboard-drop-target-color);bottom:calc(var(--ck-clipboard-drop-target-dot-height)*-.5);margin-left:-1px;top:calc(var(--ck-clipboard-drop-target-dot-height)*-.5)}.ck.ck-editor__editable .ck.ck-clipboard-drop-target-position span:after{border-color:var(--ck-clipboard-drop-target-color) transparent transparent transparent;border-style:solid;border-width:calc(var(--ck-clipboard-drop-target-dot-height)) calc(var(--ck-clipboard-drop-target-dot-width)*.5) 0 calc(var(--ck-clipboard-drop-target-dot-width)*.5);content:"";display:block;height:0;left:50%;position:absolute;top:calc(var(--ck-clipboard-drop-target-dot-height)*-.5);transform:translateX(-50%);width:0}.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}',""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-engine/theme/placeholder.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,".ck .ck-placeholder,.ck.ck-placeholder{position:relative}.ck .ck-placeholder:before,.ck.ck-placeholder:before{content:attr(data-placeholder);left:0;pointer-events:none;position:absolute;right:0}.ck.ck-read-only .ck-placeholder:before{display:none}.ck.ck-reset_all .ck-placeholder{position:relative}.ck .ck-placeholder:before,.ck.ck-placeholder:before{color:var(--ck-color-engine-placeholder-text);cursor:text}",""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-engine/theme/renderer.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,".ck.ck-editor__editable span[data-ck-unsafe-element]{display:none}",""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/button/button.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,".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{align-items:center;display:inline-flex;justify-content:left;position:relative}.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{opacity:1;visibility:visible}.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{-webkit-appearance:none;border:1px solid transparent;cursor:default;font-size:inherit;line-height:1;min-height:var(--ck-ui-component-min-height);min-width:var(--ck-ui-component-min-height);padding:var(--ck-spacing-tiny);text-align:center;transition:box-shadow .2s ease-in-out,border .2s ease-in-out;vertical-align:middle;white-space:nowrap}.ck.ck-button:active,.ck.ck-button:focus,a.ck.ck-button:active,a.ck.ck-button:focus{border:var(--ck-focus-ring);box-shadow:var(--ck-focus-outer-shadow),0 0;outline:none}.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{color:inherit;cursor:inherit;font-size:inherit;font-weight: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,.ck.ck-button.ck-disabled .ck-button__label,a.ck.ck-button.ck-disabled .ck-button__icon,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-left:var(--ck-spacing-small);margin-right:calc(var(--ck-spacing-small)*-1)}.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}",""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/button/switchbutton.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,".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{background:var(--ck-color-switch-button-off-background);transition:background .4s ease;width:var(--ck-switch-button-toggle-width)}.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)*.5)}.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner{background:var(--ck-color-switch-button-inner-background);height:var(--ck-switch-button-toggle-inner-size);margin:var(--ck-switch-button-toggle-spacing);transition:all .3s ease;width:var(--ck-switch-button-toggle-inner-size)}.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))}",""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/colorgrid/colorgrid.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,".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{border:0;height:var(--ck-color-grid-tile-size);min-height:var(--ck-color-grid-tile-size);min-width:var(--ck-color-grid-tile-size);padding:0;transition:box-shadow .2s ease;width:var(--ck-color-grid-tile-size)}.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{color:var(--ck-color-color-grid-check-icon);display:none}.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)}",""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/dropdown/dropdown.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,":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;max-width:var(--ck-dropdown-max-width);position:absolute;z-index:var(--ck-z-modal)}.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{bottom:auto;top:100%}.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{margin-left:var(--ck-spacing-standard);right: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{overflow:hidden;text-overflow:ellipsis;width:7em}.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{background:var(--ck-color-dropdown-panel-background);border:1px solid var(--ck-color-dropdown-panel-border);bottom:0;box-shadow:var(--ck-drop-shadow),0 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}",""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/dropdown/listdropdown.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,".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-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-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}",""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/dropdown/splitbutton.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,'.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_open>.ck-splitbutton__action,[dir=ltr] .ck.ck-splitbutton:hover>.ck-splitbutton__action{border-bottom-right-radius:unset;border-top-right-radius:unset}[dir=rtl] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__action,[dir=rtl] .ck.ck-splitbutton:hover>.ck-splitbutton__action{border-bottom-left-radius:unset;border-top-left-radius:unset}.ck.ck-splitbutton>.ck-splitbutton__arrow{min-width:unset}[dir=ltr] .ck.ck-splitbutton>.ck-splitbutton__arrow{border-bottom-left-radius:unset;border-top-left-radius:unset}[dir=rtl] .ck.ck-splitbutton>.ck-splitbutton__arrow{border-bottom-right-radius:unset;border-top-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)}.ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):after,.ck.ck-splitbutton:hover>.ck-splitbutton__arrow:not(.ck-disabled):after{background-color:var(--ck-color-split-button-hover-border);content:"";height:100%;position:absolute;width:1px}[dir=ltr] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):after,[dir=ltr] .ck.ck-splitbutton:hover>.ck-splitbutton__arrow:not(.ck-disabled):after{left:-1px}[dir=rtl] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):after,[dir=rtl] .ck.ck-splitbutton:hover>.ck-splitbutton__arrow:not(.ck-disabled):after{right:-1px}.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}',""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/dropdown/toolbardropdown.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,":root{--ck-toolbar-dropdown-max-width:60vw}.ck.ck-toolbar-dropdown>.ck-dropdown__panel{max-width:var(--ck-toolbar-dropdown-max-width);width:max-content}.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}",""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/editorui/editorui.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,":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.ck-rounded-corners:not(.ck-editor__nested-editable){border-radius:var(--ck-border-radius)}.ck.ck-editor__editable.ck-focused:not(.ck-editor__nested-editable){border:var(--ck-focus-ring);box-shadow:var(--ck-inner-shadow),0 0;outline:none}.ck.ck-editor__editable_inline{border:1px solid transparent;overflow:auto;padding:0 var(--ck-spacing-standard)}.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)}",""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/formheader/formheader.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,".ck.ck-form__header{align-items:center;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between}:root{--ck-form-header-height:38px}.ck.ck-form__header{border-bottom:1px solid var(--ck-color-base-border);height:var(--ck-form-header-height);line-height:var(--ck-form-header-height);padding:var(--ck-spacing-small) var(--ck-spacing-large)}.ck.ck-form__header .ck-form__header__label{font-weight:700}",""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/icon/icon.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,".ck.ck-icon{vertical-align:middle}:root{--ck-icon-size:calc(var(--ck-line-height-base)*var(--ck-font-size-normal))}.ck.ck-icon{font-size:.8333350694em;height:var(--ck-icon-size);width:var(--ck-icon-size);will-change:transform}.ck.ck-icon,.ck.ck-icon *{color:inherit;cursor:inherit}.ck.ck-icon :not([fill]){fill:currentColor}",""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/input/input.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,":root{--ck-input-width:18em;--ck-input-text-width:var(--ck-input-width)}.ck.ck-input{border-radius:0}.ck-rounded-corners .ck.ck-input,.ck.ck-input.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-input{background:var(--ck-color-input-background);border:1px solid var(--ck-color-input-border);min-height:var(--ck-ui-component-min-height);min-width:var(--ck-input-width);padding:var(--ck-spacing-extra-tiny) var(--ck-spacing-medium);transition:box-shadow .1s ease-in-out,border .1s ease-in-out}.ck.ck-input:focus{border:var(--ck-focus-ring);box-shadow:var(--ck-focus-outer-shadow),0 0;outline:none}.ck.ck-input[readonly]{background:var(--ck-color-input-disabled-background);border:1px solid var(--ck-color-input-disabled-border);color:var(--ck-color-input-disabled-text)}.ck.ck-input[readonly]:focus{box-shadow:var(--ck-focus-disabled-outer-shadow),0 0}.ck.ck-input.ck-error{animation:ck-input-shake .3s ease both;border-color:var(--ck-color-input-error-border)}.ck.ck-input.ck-error:focus{box-shadow:var(--ck-focus-error-outer-shadow),0 0}@keyframes ck-input-shake{20%{transform:translateX(-2px)}40%{transform:translateX(2px)}60%{transform:translateX(-1px)}80%{transform:translateX(1px)}}",""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/label/label.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,".ck.ck-label{display:block}.ck.ck-voice-label{display:none}.ck.ck-label{font-weight:700}",""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/labeledfield/labeledfieldview.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,".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{background:var(--ck-color-labeled-field-label-background);font-weight:400;line-height:normal;max-width:100%;overflow:hidden;padding:0 calc(var(--ck-font-size-tiny)*.5);pointer-events:none;text-overflow:ellipsis;transform:translate(var(--ck-spacing-medium),-6px) scale(.75);transform-origin:0 0;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-labeled-field-view_empty>.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)*.6)) scale(1)}[dir=rtl] .ck.ck-labeled-field-view.ck-disabled.ck-labeled-field-view_empty>.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)*.6)) scale(1)}.ck.ck-labeled-field-view.ck-disabled.ck-labeled-field-view_empty>.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{background:transparent;max-width:calc(var(--ck-labeled-field-empty-unfocused-max-width));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))}",""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/list/list.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,".ck.ck-list{display:flex;flex-direction:column;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.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{background:var(--ck-color-list-background);list-style-type:none}.ck.ck-list__item{cursor:default;min-width:12em}.ck.ck-list__item .ck-button{border-radius:0;min-height:unset;padding:calc(var(--ck-line-height-base)*.2*var(--ck-font-size-base)) calc(var(--ck-line-height-base)*.4*var(--ck-font-size-base));text-align:left;width:100%}.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{background:var(--ck-color-base-border);height:1px;width:100%}",""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/panel/balloonpanel.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,':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{background:var(--ck-color-panel-background);border:1px solid var(--ck-color-panel-border);box-shadow:var(--ck-drop-shadow),0 0;min-height:15px}.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:after,.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:before{border-style:solid;height:0;width:0}.ck.ck-balloon-panel[class*=arrow_n]:after,.ck.ck-balloon-panel[class*=arrow_n]:before{border-width:0 var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width)}.ck.ck-balloon-panel[class*=arrow_n]:before{border-color:transparent transparent var(--ck-color-panel-border) transparent}.ck.ck-balloon-panel[class*=arrow_n]:after{border-color:transparent transparent var(--ck-color-panel-background) transparent;margin-top:var(--ck-balloon-arrow-offset)}.ck.ck-balloon-panel[class*=arrow_s]:after,.ck.ck-balloon-panel[class*=arrow_s]:before{border-width:var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width) 0 var(--ck-balloon-arrow-half-width)}.ck.ck-balloon-panel[class*=arrow_s]:before{border-color:var(--ck-color-panel-border) transparent transparent;filter:drop-shadow(var(--ck-balloon-arrow-drop-shadow))}.ck.ck-balloon-panel[class*=arrow_s]:after{border-color:var(--ck-color-panel-background) transparent transparent transparent;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{bottom:calc(var(--ck-balloon-arrow-height)*-1);left:50%;margin-left:calc(var(--ck-balloon-arrow-half-width)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_sw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_sw:before{bottom:calc(var(--ck-balloon-arrow-height)*-1);left:calc(var(--ck-balloon-arrow-half-width)*2)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_se:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_se:before{bottom:calc(var(--ck-balloon-arrow-height)*-1);right:calc(var(--ck-balloon-arrow-half-width)*2)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_sme:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_sme:before{bottom:calc(var(--ck-balloon-arrow-height)*-1);margin-right:calc(var(--ck-balloon-arrow-half-width)*2);right:25%}.ck.ck-balloon-panel.ck-balloon-panel_arrow_smw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_smw:before{bottom:calc(var(--ck-balloon-arrow-height)*-1);left:25%;margin-left:calc(var(--ck-balloon-arrow-half-width)*2)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_nme:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_nme:before{margin-right:calc(var(--ck-balloon-arrow-half-width)*2);right:25%;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)}',""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/panel/balloonrotator.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,".ck .ck-balloon-rotator__navigation{align-items:center;display:flex;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-bottom:var(--ck-spacing-small);margin-right:var(--ck-spacing-small);margin-top:var(--ck-spacing-small)}.ck .ck-balloon-rotator__navigation .ck-balloon-rotator__counter{margin-left:var(--ck-spacing-small);margin-right:var(--ck-spacing-standard)}.ck .ck-balloon-rotator__content .ck.ck-annotation-wrapper{box-shadow:none}",""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/panel/fakepanel.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,".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{background:var(--ck-color-panel-background);border:1px solid var(--ck-color-panel-border);border-radius:var(--ck-border-radius);box-shadow:var(--ck-drop-shadow),0 0;height:100%;min-height:15px;width: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}",""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/panel/stickypanel.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,".ck.ck-sticky-panel .ck-sticky-panel__content_sticky{position:fixed;top:0;z-index:var(--ck-z-modal)}.ck.ck-sticky-panel .ck-sticky-panel__content_sticky_bottom-limit{position:absolute;top:auto}.ck.ck-sticky-panel .ck-sticky-panel__content_sticky{border-top-left-radius:0;border-top-right-radius:0;border-width:0 1px 1px;box-shadow:var(--ck-drop-shadow),0 0}",""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/toolbar/blocktoolbar.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,".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)}",""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/toolbar/toolbar.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,".ck.ck-toolbar{align-items:center;display:flex;flex-flow:row nowrap;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.ck.ck-toolbar>.ck-toolbar__items{align-items:center;display:flex;flex-flow:row wrap;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);border:1px solid var(--ck-color-toolbar-border);padding:0 var(--ck-spacing-small)}.ck.ck-toolbar .ck.ck-toolbar__separator{align-self:stretch;background:var(--ck-color-toolbar-border);margin-bottom:var(--ck-spacing-small);margin-top:var(--ck-spacing-small);min-width:1px;width:1px}.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-bottom:var(--ck-spacing-small);margin-top:var(--ck-spacing-small)}.ck.ck-toolbar.ck-toolbar_vertical{padding:0}.ck.ck-toolbar.ck-toolbar_vertical>.ck-toolbar__items>.ck{border:0;border-radius:0;margin:0;width:100%}.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.ck-toolbar_compact[dir=rtl]>.ck-toolbar__items>.ck:first-child,[dir=rtl] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.ck.ck-toolbar.ck-toolbar_compact[dir=rtl]>.ck-toolbar__items>.ck:last-child,[dir=rtl] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:last-child{border-bottom-right-radius:0;border-top-right-radius:0}.ck.ck-toolbar.ck-toolbar_grouping[dir=rtl]>.ck-toolbar__items:not(:empty):not(:only-child),.ck.ck-toolbar[dir=rtl]>.ck.ck-toolbar__separator,[dir=rtl] .ck.ck-toolbar.ck-toolbar_grouping>.ck-toolbar__items:not(:empty):not(:only-child),[dir=rtl] .ck.ck-toolbar>.ck.ck-toolbar__separator{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.ck-toolbar_compact[dir=ltr]>.ck-toolbar__items>.ck:first-child,[dir=ltr] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:first-child{border-bottom-right-radius:0;border-top-right-radius:0}.ck.ck-toolbar.ck-toolbar_compact[dir=ltr]>.ck-toolbar__items>.ck:last-child,[dir=ltr] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:last-child{border-bottom-left-radius:0;border-top-left-radius:0}.ck.ck-toolbar.ck-toolbar_grouping[dir=ltr]>.ck-toolbar__items:not(:empty):not(:only-child),.ck.ck-toolbar[dir=ltr]>.ck.ck-toolbar__separator,[dir=ltr] .ck.ck-toolbar.ck-toolbar_grouping>.ck-toolbar__items:not(:empty):not(:only-child),[dir=ltr] .ck.ck-toolbar>.ck.ck-toolbar__separator{margin-right:var(--ck-spacing-small)}",""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/tooltip/tooltip.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,'.ck.ck-tooltip,.ck.ck-tooltip .ck-tooltip__text:after{-webkit-backface-visibility:hidden;pointer-events:none;position:absolute}.ck.ck-tooltip{display:none;opacity:0;visibility:hidden;z-index:var(--ck-z-modal)}.ck.ck-tooltip .ck-tooltip__text{display:inline-block}.ck.ck-tooltip .ck-tooltip__text:after{content:"";height:0;width:0}:root{--ck-tooltip-arrow-size:5px}.ck.ck-tooltip{left:50%;top:0;transition:opacity .2s ease-in-out .2s}.ck.ck-tooltip .ck-tooltip__text{border-radius:0}.ck-rounded-corners .ck.ck-tooltip .ck-tooltip__text,.ck.ck-tooltip .ck-tooltip__text.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-tooltip .ck-tooltip__text{background:var(--ck-color-tooltip-background);color:var(--ck-color-tooltip-text);font-size:.9em;left:-50%;line-height:1.5;padding:var(--ck-spacing-small) var(--ck-spacing-medium);position:relative}.ck.ck-tooltip .ck-tooltip__text:after{border-style:solid;left:50%;transition:opacity .2s ease-in-out .2s}.ck.ck-tooltip.ck-tooltip_s,.ck.ck-tooltip.ck-tooltip_se,.ck.ck-tooltip.ck-tooltip_sw{bottom:calc(var(--ck-tooltip-arrow-size)*-1);transform:translateY(100%)}.ck.ck-tooltip.ck-tooltip_s .ck-tooltip__text:after,.ck.ck-tooltip.ck-tooltip_se .ck-tooltip__text:after,.ck.ck-tooltip.ck-tooltip_sw .ck-tooltip__text:after{border-color:transparent transparent var(--ck-color-tooltip-background) transparent;border-width:0 var(--ck-tooltip-arrow-size) var(--ck-tooltip-arrow-size) var(--ck-tooltip-arrow-size);top:calc(var(--ck-tooltip-arrow-size)*-1 + 1px);transform:translateX(-50%)}.ck.ck-tooltip.ck-tooltip_sw{left:auto;right:50%}.ck.ck-tooltip.ck-tooltip_sw .ck-tooltip__text{left:auto;right:calc(var(--ck-tooltip-arrow-size)*-2)}.ck.ck-tooltip.ck-tooltip_sw .ck-tooltip__text:after{left:auto;right:0}.ck.ck-tooltip.ck-tooltip_se{left:50%;right:auto}.ck.ck-tooltip.ck-tooltip_se .ck-tooltip__text{left:calc(var(--ck-tooltip-arrow-size)*-2);right:auto}.ck.ck-tooltip.ck-tooltip_se .ck-tooltip__text:after{left:0;right:auto;transform:translateX(50%)}.ck.ck-tooltip.ck-tooltip_n{top:calc(var(--ck-tooltip-arrow-size)*-1);transform:translateY(-100%)}.ck.ck-tooltip.ck-tooltip_n .ck-tooltip__text:after{border-color:var(--ck-color-tooltip-background) transparent transparent transparent;border-width:var(--ck-tooltip-arrow-size) var(--ck-tooltip-arrow-size) 0 var(--ck-tooltip-arrow-size);bottom:calc(var(--ck-tooltip-arrow-size)*-1);transform:translateX(-50%)}.ck.ck-tooltip.ck-tooltip_e{left:calc(100% + var(--ck-tooltip-arrow-size));top:50%}.ck.ck-tooltip.ck-tooltip_e .ck-tooltip__text{left:0;transform:translateY(-50%)}.ck.ck-tooltip.ck-tooltip_e .ck-tooltip__text:after{border-color:transparent var(--ck-color-tooltip-background) transparent transparent;border-width:var(--ck-tooltip-arrow-size) var(--ck-tooltip-arrow-size) var(--ck-tooltip-arrow-size) 0;left:calc(var(--ck-tooltip-arrow-size)*-1);top:calc(50% - var(--ck-tooltip-arrow-size)*1)}.ck.ck-tooltip.ck-tooltip_w{left:auto;right:calc(100% + var(--ck-tooltip-arrow-size));top:50%}.ck.ck-tooltip.ck-tooltip_w .ck-tooltip__text{left:0;transform:translateY(-50%)}.ck.ck-tooltip.ck-tooltip_w .ck-tooltip__text:after{border-color:transparent transparent transparent var(--ck-color-tooltip-background);border-width:var(--ck-tooltip-arrow-size) 0 var(--ck-tooltip-arrow-size) var(--ck-tooltip-arrow-size);left:100%;top:calc(50% - var(--ck-tooltip-arrow-size)*1)}',""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/globals/globals.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,".ck-hidden{display:none!important}.ck-reset_all :not(.ck-reset_all-excluded *),.ck.ck-reset,.ck.ck-reset_all{box-sizing:border-box;height:auto;position:static;width:auto}:root{--ck-z-default:1;--ck-z-modal:calc(var(--ck-z-default) + 999)}.ck-transitions-disabled,.ck-transitions-disabled *{transition:none!important}:root{--ck-color-base-foreground:#fafafa;--ck-color-base-background:#fff;--ck-color-base-border:#c4c4c4;--ck-color-base-action:#61b045;--ck-color-base-focus:#6cb5f9;--ck-color-base-text:#333;--ck-color-base-active:#198cf0;--ck-color-base-active-focus:#0e7fe1;--ck-color-base-error:#db3700;--ck-color-focus-border-coordinates:208,79%,51%;--ck-color-focus-border:hsl(var(--ck-color-focus-border-coordinates));--ck-color-focus-outer-shadow:#bcdefb;--ck-color-focus-disabled-shadow:rgba(119,186,248,.3);--ck-color-focus-error-shadow:rgba(255,64,31,.3);--ck-color-text:var(--ck-color-base-text);--ck-color-shadow-drop:rgba(0,0,0,.15);--ck-color-shadow-drop-active:rgba(0,0,0,.2);--ck-color-shadow-inner:rgba(0,0,0,.1);--ck-color-button-default-background:transparent;--ck-color-button-default-hover-background:#e6e6e6;--ck-color-button-default-active-background:#d9d9d9;--ck-color-button-default-active-shadow:#bfbfbf;--ck-color-button-default-disabled-background:transparent;--ck-color-button-on-background:#dedede;--ck-color-button-on-hover-background:#c4c4c4;--ck-color-button-on-active-background:#bababa;--ck-color-button-on-active-shadow:#a1a1a1;--ck-color-button-on-disabled-background:#dedede;--ck-color-button-action-background:var(--ck-color-base-action);--ck-color-button-action-hover-background:#579e3d;--ck-color-button-action-active-background:#53973b;--ck-color-button-action-active-shadow:#498433;--ck-color-button-action-disabled-background:#7ec365;--ck-color-button-action-text:var(--ck-color-base-background);--ck-color-button-save:#008a00;--ck-color-button-cancel:#db3700;--ck-color-switch-button-off-background:#b0b0b0;--ck-color-switch-button-off-hover-background:#a3a3a3;--ck-color-switch-button-on-background:var(--ck-color-button-action-background);--ck-color-switch-button-on-hover-background:#579e3d;--ck-color-switch-button-inner-background:var(--ck-color-base-background);--ck-color-switch-button-inner-shadow:rgba(0,0,0,.1);--ck-color-dropdown-panel-background:var(--ck-color-base-background);--ck-color-dropdown-panel-border:var(--ck-color-base-border);--ck-color-input-background:var(--ck-color-base-background);--ck-color-input-border:#c7c7c7;--ck-color-input-error-border:var(--ck-color-base-error);--ck-color-input-text:var(--ck-color-base-text);--ck-color-input-disabled-background:#f2f2f2;--ck-color-input-disabled-border:#c7c7c7;--ck-color-input-disabled-text:#757575;--ck-color-list-background:var(--ck-color-base-background);--ck-color-list-button-hover-background:var(--ck-color-button-default-hover-background);--ck-color-list-button-on-background:var(--ck-color-base-active);--ck-color-list-button-on-background-focus:var(--ck-color-base-active-focus);--ck-color-list-button-on-text:var(--ck-color-base-background);--ck-color-panel-background:var(--ck-color-base-background);--ck-color-panel-border:var(--ck-color-base-border);--ck-color-toolbar-background:var(--ck-color-base-foreground);--ck-color-toolbar-border:var(--ck-color-base-border);--ck-color-tooltip-background:var(--ck-color-base-text);--ck-color-tooltip-text:var(--ck-color-base-background);--ck-color-engine-placeholder-text:#707070;--ck-color-upload-bar-background:#6cb5f9;--ck-color-link-default:#0000f0;--ck-color-link-selected-background:rgba(31,176,255,.1);--ck-color-link-fake-selection:rgba(31,176,255,.3);--ck-disabled-opacity:.5;--ck-focus-outer-shadow-geometry:0 0 0 3px;--ck-focus-outer-shadow:var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-outer-shadow);--ck-focus-disabled-outer-shadow:var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-disabled-shadow);--ck-focus-error-outer-shadow:var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-error-shadow);--ck-focus-ring:1px solid var(--ck-color-focus-border);--ck-font-size-base:13px;--ck-line-height-base:1.84615;--ck-font-face:Helvetica,Arial,Tahoma,Verdana,Sans-Serif;--ck-font-size-tiny:0.7em;--ck-font-size-small:0.75em;--ck-font-size-normal:1em;--ck-font-size-big:1.4em;--ck-font-size-large:1.8em;--ck-ui-component-min-height:2.3em}.ck-reset_all :not(.ck-reset_all-excluded *),.ck.ck-reset,.ck.ck-reset_all{word-wrap:break-word;background:transparent;border:0;margin:0;padding:0;text-decoration:none;transition:none;vertical-align:middle}.ck-reset_all :not(.ck-reset_all-excluded *),.ck.ck-reset_all{border-collapse:collapse;color:var(--ck-color-text);cursor:auto;float:none;font:normal normal normal var(--ck-font-size-base)/var(--ck-line-height-base) var(--ck-font-face);text-align:left;white-space:nowrap}.ck-reset_all .ck-rtl :not(.ck-reset_all-excluded *){text-align:right}.ck-reset_all iframe:not(.ck-reset_all-excluded *){vertical-align:inherit}.ck-reset_all textarea:not(.ck-reset_all-excluded *){white-space:pre-wrap}.ck-reset_all input[type=password]:not(.ck-reset_all-excluded *),.ck-reset_all input[type=text]:not(.ck-reset_all-excluded *),.ck-reset_all textarea:not(.ck-reset_all-excluded *){cursor:text}.ck-reset_all input[type=password][disabled]:not(.ck-reset_all-excluded *),.ck-reset_all input[type=text][disabled]:not(.ck-reset_all-excluded *),.ck-reset_all textarea[disabled]:not(.ck-reset_all-excluded *){cursor:default}.ck-reset_all fieldset:not(.ck-reset_all-excluded *){border:2px groove #dfdee3;padding:10px}.ck-reset_all button:not(.ck-reset_all-excluded *)::-moz-focus-inner{border:0;padding:0}.ck[dir=rtl],.ck[dir=rtl] .ck{text-align:right}:root{--ck-border-radius:2px;--ck-inner-shadow:2px 2px 3px var(--ck-color-shadow-inner) inset;--ck-drop-shadow:0 1px 2px 1px var(--ck-color-shadow-drop);--ck-drop-shadow-active:0 3px 6px 1px var(--ck-color-shadow-drop-active);--ck-spacing-unit:0.6em;--ck-spacing-large:calc(var(--ck-spacing-unit)*1.5);--ck-spacing-standard:var(--ck-spacing-unit);--ck-spacing-medium:calc(var(--ck-spacing-unit)*0.8);--ck-spacing-small:calc(var(--ck-spacing-unit)*0.5);--ck-spacing-tiny:calc(var(--ck-spacing-unit)*0.3);--ck-spacing-extra-tiny:calc(var(--ck-spacing-unit)*0.16)}",""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-widget/theme/widget.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,":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-resizer-tooltip-height:calc(var(--ck-spacing-small)*2 + 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);border:1px solid var(--ck-color-resizer-tooltip-text);border-radius:var(--ck-resizer-border-radius);color:var(--ck-color-resizer-tooltip-text);display:block;font-size:var(--ck-font-size-tiny);height:var(--ck-resizer-tooltip-height);line-height:var(--ck-resizer-tooltip-height);padding:0 var(--ck-spacing-small)}.ck .ck-size-view.ck-orientation-above-center,.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{left:var(--ck-resizer-tooltip-offset);top:var(--ck-resizer-tooltip-offset)}.ck .ck-size-view.ck-orientation-top-right{right:var(--ck-resizer-tooltip-offset);top: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)}.ck .ck-size-view.ck-orientation-above-center{left:50%;top:calc(var(--ck-resizer-tooltip-height)*-1);transform:translate(-50%)}: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-color:transparent;outline-style:solid;outline-width:var(--ck-widget-outline-thickness);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{background-color:var(--ck-color-widget-editable-focus-background);border:var(--ck-focus-ring);box-shadow:var(--ck-inner-shadow),0 0;outline:none}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle{background-color:transparent;border-radius:var(--ck-border-radius) var(--ck-border-radius) 0 0;box-sizing:border-box;left:calc(0px - var(--ck-widget-outline-thickness));opacity:0;padding:4px;top:0;transform:translateY(-100%);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)}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle .ck-icon{color:var(--ck-color-widget-drag-handler-icon-color);height:var(--ck-widget-handler-icon-size);width:var(--ck-widget-handler-icon-size)}.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{background-color:var(--ck-color-widget-hover-border);opacity:1}.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{background-color:var(--ck-color-focus-border);opacity:1}.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:hover>.ck-widget__selection-handle,.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected.ck-widget_with-selection-handle:hover>.ck-widget__selection-handle:hover,.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{background:var(--ck-color-widget-blurred-border)}.ck.ck-editor__editable blockquote>.ck-widget.ck-widget_with-selection-handle:first-child,.ck.ck-editor__editable>.ck-widget.ck-widget_with-selection-handle:first-child{margin-top:calc(1em + var(--ck-widget-handler-icon-size))}",""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-widget/theme/widgetresize.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,".ck .ck-widget_with-resizer{position:relative}.ck .ck-widget__resizer{display:none;left:0;pointer-events:none;position:absolute;top:0}.ck-focused .ck-widget_with-resizer.ck-widget_selected>.ck-widget__resizer{display:block}.ck .ck-widget__resizer__handle{pointer-events:all;position:absolute}.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{background:var(--ck-color-focus-border);border:var(--ck-resizer-border-width) solid #fff;border-radius:var(--ck-resizer-border-radius);height:var(--ck-resizer-size);width:var(--ck-resizer-size)}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-left{left:var(--ck-resizer-offset);top:var(--ck-resizer-offset)}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-right{right:var(--ck-resizer-offset);top: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)}",""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-widget/theme/widgettypearound.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,'.ck .ck-widget .ck-widget__type-around__button{display:block;overflow:hidden;position:absolute;z-index:var(--ck-z-default)}.ck .ck-widget .ck-widget__type-around__button svg{left:50%;position:absolute;top:50%;z-index:calc(var(--ck-z-default) + 2)}.ck .ck-widget .ck-widget__type-around__button.ck-widget__type-around__button_before{left:min(10%,30px);top:calc(var(--ck-widget-outline-thickness)*-.5);transform:translateY(-50%)}.ck .ck-widget .ck-widget__type-around__button.ck-widget__type-around__button_after{bottom:calc(var(--ck-widget-outline-thickness)*-.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;left:1px;position:absolute;top:1px;z-index:calc(var(--ck-z-default) + 1)}.ck .ck-widget>.ck-widget__type-around>.ck-widget__type-around__fake-caret{display:none;left:0;position:absolute;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{display:block;top:calc(var(--ck-widget-outline-thickness)*-1 - 1px)}.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{background:var(--ck-color-widget-type-around-button);border-radius:100px;height:var(--ck-widget-type-around-button-size);opacity:0;pointer-events:none;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);width:var(--ck-widget-type-around-button-size)}.ck .ck-widget .ck-widget__type-around__button svg{height:8px;margin-top:1px;transform:translate(-50%,-50%);transition:transform .5s ease;width:10px}.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{background:linear-gradient(135deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.3));border-radius:100px;height:calc(var(--ck-widget-type-around-button-size) - 2px);width:calc(var(--ck-widget-type-around-button-size) - 2px)}.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{animation:ck-widget-type-around-fake-caret-pulse 1s linear infinite normal forwards;background:var(--ck-color-base-text);height:1px;outline:1px solid hsla(0,0%,100%,.5);pointer-events:none}.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_selected.ck-widget_with-resizer>.ck-widget__resizer,.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_selected.ck-widget_with-resizer>.ck-widget__resizer,.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[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}}',""]);const r=i},"./node_modules/css-loader/dist/runtime/api.js":e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var s=e(t);return t[2]?"@media ".concat(t[2]," {").concat(s,"}"):s})).join("")},t.i=function(e,s,o){"string"==typeof e&&(e=[[null,e,""]]);var i={};if(o)for(var r=0;r{"use strict";s.d(t,{Z:()=>o});const o=''},"./packages/ckeditor5-core/theme/icons/three-vertical-dots.svg":(e,t,s)=>{"use strict";s.d(t,{Z:()=>o});const o=''},"./packages/ckeditor5-ui/theme/icons/dropdown-arrow.svg":(e,t,s)=>{"use strict";s.d(t,{Z:()=>o});const o=''},"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js":(e,t,s)=>{"use strict";var o,i=function(){return void 0===o&&(o=Boolean(window&&document&&document.all&&!window.atob)),o},r=function(){var e={};return function(t){if(void 0===e[t]){var s=document.querySelector(t);if(window.HTMLIFrameElement&&s instanceof window.HTMLIFrameElement)try{s=s.contentDocument.head}catch(e){s=null}e[t]=s}return e[t]}}(),n=[];function a(e){for(var t=-1,s=0;s{"use strict";s.d(t,{Z:()=>r});var o=s("./packages/ckeditor5-utils/src/observablemixin.js"),i=s("./packages/ckeditor5-utils/src/mix.js");class r{constructor(e){this.editor=e,this.set("value",void 0),this.set("isEnabled",!1),this.affectsData=!0,this._disableStack=new Set,this.decorate("execute"),this.listenTo(this.editor.model.document,"change",(()=>{this.refresh()})),this.on("execute",(e=>{this.isEnabled||e.stop()}),{priority:"high"}),this.listenTo(e,"change:isReadOnly",((e,t,s)=>{s&&this.affectsData?this.forceDisabled("readOnlyMode"):this.clearForceDisabled("readOnlyMode")}))}refresh(){this.isEnabled=!0}forceDisabled(e){this._disableStack.add(e),1==this._disableStack.size&&(this.on("set:isEnabled",n,{priority:"highest"}),this.isEnabled=!1)}clearForceDisabled(e){this._disableStack.delete(e),0==this._disableStack.size&&(this.off("set:isEnabled",n),this.refresh())}execute(){}destroy(){this.stopListening()}}function n(e){e.return=!1,e.stop()}(0,i.Z)(r,o.Z)},"./packages/ckeditor5-core/src/contextplugin.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./packages/ckeditor5-utils/src/observablemixin.js"),i=s("./packages/ckeditor5-utils/src/mix.js");class r{constructor(e){this.context=e}destroy(){this.stopListening()}static get isContextPlugin(){return!0}}(0,i.Z)(r,o.Z)},"./packages/ckeditor5-core/src/pendingactions.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});var o=s("./packages/ckeditor5-core/src/contextplugin.js"),i=s("./packages/ckeditor5-utils/src/observablemixin.js"),r=s("./packages/ckeditor5-utils/src/collection.js"),n=s("./packages/ckeditor5-utils/src/ckeditorerror.js");class a extends o.Z{static get pluginName(){return"PendingActions"}init(){this.set("hasAny",!1),this._actions=new r.Z({idProperty:"_id"}),this._actions.delegate("add","remove").to(this)}add(e){if("string"!=typeof e)throw new n.ZP("pendingactions-add-invalid-message",this);const t=Object.create(i.Z);return t.set("message",e),this._actions.add(t),this.hasAny=!0,t}remove(e){this._actions.remove(e),this.hasAny=!!this._actions.length}get first(){return this._actions.get(0)}[Symbol.iterator](){return this._actions[Symbol.iterator]()}}},"./packages/ckeditor5-core/src/plugin.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./packages/ckeditor5-utils/src/observablemixin.js"),i=s("./packages/ckeditor5-utils/src/mix.js");class r{constructor(e){this.editor=e,this.set("isEnabled",!0),this._disableStack=new Set}forceDisabled(e){this._disableStack.add(e),1==this._disableStack.size&&(this.on("set:isEnabled",n,{priority:"highest"}),this.isEnabled=!1)}clearForceDisabled(e){this._disableStack.delete(e),0==this._disableStack.size&&(this.off("set:isEnabled",n),this.isEnabled=!0)}destroy(){this.stopListening()}static get isContextPlugin(){return!1}}function n(e){e.return=!1,e.stop()}(0,i.Z)(r,o.Z)},"./packages/ckeditor5-engine/src/controller/datacontroller.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>Z});var o=s("./packages/ckeditor5-utils/src/mix.js"),i=s("./packages/ckeditor5-utils/src/observablemixin.js"),r=s("./packages/ckeditor5-utils/src/ckeditorerror.js"),n=s("./packages/ckeditor5-engine/src/conversion/mapper.js"),a=s("./packages/ckeditor5-engine/src/conversion/downcastdispatcher.js"),c=s("./packages/ckeditor5-engine/src/conversion/downcasthelpers.js"),l=s("./node_modules/lodash-es/isArray.js");class d{constructor(){this._consumables=new Map}add(e,t){let s;e.is("$text")||e.is("documentFragment")?this._consumables.set(e,!0):(this._consumables.has(e)?s=this._consumables.get(e):(s=new h(e),this._consumables.set(e,s)),s.add(t))}test(e,t){const s=this._consumables.get(e);return void 0===s?null:e.is("$text")||e.is("documentFragment")?s:s.test(t)}consume(e,t){return!!this.test(e,t)&&(e.is("$text")||e.is("documentFragment")?this._consumables.set(e,!1):this._consumables.get(e).consume(t),!0)}revert(e,t){const s=this._consumables.get(e);void 0!==s&&(e.is("$text")||e.is("documentFragment")?this._consumables.set(e,!0):s.revert(t))}static consumablesFromElement(e){const t={element:e,name:!0,attributes:[],classes:[],styles:[]},s=e.getAttributeKeys();for(const e of s)"style"!=e&&"class"!=e&&t.attributes.push(e);const o=e.getClassNames();for(const e of o)t.classes.push(e);const i=e.getStyleNames();for(const e of i)t.styles.push(e);return t}static createFrom(e,t){if(t||(t=new d(e)),e.is("$text"))return t.add(e),t;e.is("element")&&t.add(e,d.consumablesFromElement(e)),e.is("documentFragment")&&t.add(e);for(const s of e.getChildren())t=d.createFrom(s,t);return t}}class h{constructor(e){this.element=e,this._canConsumeName=null,this._consumables={attributes:new Map,styles:new Map,classes:new Map}}add(e){e.name&&(this._canConsumeName=!0);for(const t in this._consumables)t in e&&this._add(t,e[t])}test(e){if(e.name&&!this._canConsumeName)return this._canConsumeName;for(const t in this._consumables)if(t in e){const s=this._test(t,e[t]);if(!0!==s)return s}return!0}consume(e){e.name&&(this._canConsumeName=!1);for(const t in this._consumables)t in e&&this._consume(t,e[t])}revert(e){e.name&&(this._canConsumeName=!0);for(const t in this._consumables)t in e&&this._revert(t,e[t])}_add(e,t){const s=(0,l.Z)(t)?t:[t],o=this._consumables[e];for(const t of s){if("attributes"===e&&("class"===t||"style"===t))throw new r.ZP("viewconsumable-invalid-attribute",this);if(o.set(t,!0),"styles"===e)for(const e of this.element.document.stylesProcessor.getRelatedStyles(t))o.set(e,!0)}}_test(e,t){const s=(0,l.Z)(t)?t:[t],o=this._consumables[e];for(const t of s)if("attributes"!==e||"class"!==t&&"style"!==t){const e=o.get(t);if(void 0===e)return null;if(!e)return!1}else{const e="class"==t?"classes":"styles",s=this._test(e,[...this._consumables[e].keys()]);if(!0!==s)return s}return!0}_consume(e,t){const s=(0,l.Z)(t)?t:[t],o=this._consumables[e];for(const t of s)if("attributes"!==e||"class"!==t&&"style"!==t){if(o.set(t,!1),"styles"==e)for(const e of this.element.document.stylesProcessor.getRelatedStyles(t))o.set(e,!1)}else{const e="class"==t?"classes":"styles";this._consume(e,[...this._consumables[e].keys()])}}_revert(e,t){const s=(0,l.Z)(t)?t:[t],o=this._consumables[e];for(const t of s)if("attributes"!==e||"class"!==t&&"style"!==t){!1===o.get(t)&&o.set(t,!0)}else{const e="class"==t?"classes":"styles";this._revert(e,[...this._consumables[e].keys()])}}}var u=s("./packages/ckeditor5-engine/src/model/range.js"),p=s("./packages/ckeditor5-engine/src/model/position.js"),g=s("./packages/ckeditor5-engine/src/model/schema.js"),m=s("./packages/ckeditor5-engine/src/model/utils/autoparagraphing.js"),f=s("./packages/ckeditor5-utils/src/emittermixin.js");class k{constructor(e={}){this._splitParts=new Map,this._cursorParents=new Map,this._modelCursor=null,this._emptyElementsToKeep=new Set,this.conversionApi=Object.assign({},e),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),this.conversionApi.keepEmptyElement=this._keepEmptyElement.bind(this)}convert(e,t,s=["$root"]){this.fire("viewCleanup",e),this._modelCursor=function(e,t){let s;for(const o of new g.G(e)){const e={};for(const t of o.getAttributeKeys())e[t]=o.getAttribute(t);const i=t.createElement(o.name,e);s&&t.append(i,s),s=p.ZP._createAt(i,0)}return s}(s,t),this.conversionApi.writer=t,this.conversionApi.consumable=d.createFrom(e),this.conversionApi.store={};const{modelRange:o}=this._convertItem(e,this._modelCursor),i=t.createDocumentFragment();if(o){this._removeEmptyElements();for(const e of Array.from(this._modelCursor.parent.getChildren()))t.append(e,i);i.markers=function(e,t){const s=new Set,o=new Map,i=u.Z._createIn(e).getItems();for(const e of i)"$marker"==e.name&&s.add(e);for(const e of s){const s=e.getAttribute("data-name"),i=t.createPositionBefore(e);o.has(s)?o.get(s).end=i.clone():o.set(s,new u.Z(i.clone())),t.remove(e)}return o}(i,t)}return this._modelCursor=null,this._splitParts.clear(),this._cursorParents.clear(),this._emptyElementsToKeep.clear(),this.conversionApi.writer=null,this.conversionApi.store=null,i}_convertItem(e,t){const s=Object.assign({viewItem:e,modelCursor:t,modelRange:null});if(e.is("element")?this.fire("element:"+e.name,s,this.conversionApi):e.is("$text")?this.fire("text",s,this.conversionApi):this.fire("documentFragment",s,this.conversionApi),s.modelRange&&!(s.modelRange instanceof u.Z))throw new r.ZP("view-conversion-dispatcher-incorrect-result",this);return{modelRange:s.modelRange,modelCursor:s.modelCursor}}_convertChildren(e,t){let s=t.is("position")?t:p.ZP._createAt(t,0);const o=new u.Z(s);for(const t of Array.from(e.getChildren())){const e=this._convertItem(t,s);e.modelRange instanceof u.Z&&(o.end=e.modelRange.end,s=e.modelCursor)}return{modelRange:o,modelCursor:s}}_safeInsert(e,t){const s=this._splitToAllowedParent(e,t);return!!s&&(this.conversionApi.writer.insert(e,s.position),!0)}_updateConversionResult(e,t){const s=this._getSplitParts(e),o=this.conversionApi.writer;t.modelRange||(t.modelRange=o.createRange(o.createPositionBefore(e),o.createPositionAfter(s[s.length-1])));const i=this._cursorParents.get(e);t.modelCursor=i?o.createPositionAt(i,0):t.modelRange.end}_splitToAllowedParent(e,t){const{schema:s,writer:o}=this.conversionApi;let i=s.findAllowedParent(t,e);if(i){if(i===t.parent)return{position:t};this._modelCursor.parent.getAncestors().includes(i)&&(i=null)}if(!i)return(0,m.gg)(t,e,s)?{position:(0,m.zX)(t,o)}:null;const r=this.conversionApi.writer.split(t,i),n=[];for(const e of r.range.getWalker())if("elementEnd"==e.type)n.push(e.item);else{const t=n.pop(),s=e.item;this._registerSplitPair(t,s)}const a=r.range.end.parent;return this._cursorParents.set(e,a),{position:r.position,cursorParent:a}}_registerSplitPair(e,t){this._splitParts.has(e)||this._splitParts.set(e,[e]);const s=this._splitParts.get(e);this._splitParts.set(t,s),s.push(t)}_getSplitParts(e){let t;return t=this._splitParts.has(e)?this._splitParts.get(e):[e],t}_keepEmptyElement(e){this._emptyElementsToKeep.add(e)}_removeEmptyElements(){let e=!1;for(const t of this._splitParts.keys())t.isEmpty&&!this._emptyElementsToKeep.has(t)&&(this.conversionApi.writer.remove(t),this._splitParts.delete(t),e=!0);e&&this._removeEmptyElements()}}(0,o.Z)(k,f.ZP);var _=s("./packages/ckeditor5-engine/src/conversion/upcasthelpers.js"),b=s("./packages/ckeditor5-engine/src/view/documentfragment.js"),w=s("./packages/ckeditor5-engine/src/view/document.js"),v=s("./packages/ckeditor5-engine/src/view/downcastwriter.js"),y=s("./packages/ckeditor5-engine/src/dataprocessor/htmldataprocessor.js");class Z{constructor(e,t){this.model=e,this.mapper=new n.Z,this.downcastDispatcher=new a.Z({mapper:this.mapper,schema:e.schema}),this.downcastDispatcher.on("insert:$text",(0,c.Om)(),{priority:"lowest"}),this.downcastDispatcher.on("insert",(0,c.o6)(),{priority:"lowest"}),this.upcastDispatcher=new k({schema:e.schema}),this.viewDocument=new w.Z(t),this.stylesProcessor=t,this.htmlProcessor=new y.Z(this.viewDocument),this.processor=this.htmlProcessor,this._viewWriter=new v.Z(this.viewDocument),this.upcastDispatcher.on("text",(0,_.s8)(),{priority:"lowest"}),this.upcastDispatcher.on("element",(0,_._p)(),{priority:"lowest"}),this.upcastDispatcher.on("documentFragment",(0,_._p)(),{priority:"lowest"}),this.decorate("init"),this.decorate("set"),this.decorate("get"),this.on("init",(()=>{this.fire("ready")}),{priority:"lowest"}),this.on("ready",(()=>{this.model.enqueueChange({isUndoable:!1},m._m)}),{priority:"lowest"})}get(e={}){const{rootName:t="main",trim:s="empty"}=e;if(!this._checkIfRootsExists([t]))throw new r.ZP("datacontroller-get-non-existent-root",this);const o=this.model.document.getRoot(t);return"empty"!==s||this.model.hasContent(o,{ignoreWhitespaces:!0})?this.stringify(o,e):""}stringify(e,t={}){const s=this.toView(e,t);return this.processor.toData(s)}toView(e,t={}){const s=this.viewDocument,o=this._viewWriter;this.mapper.clearBindings();const i=u.Z._createIn(e),r=new b.Z(s);this.mapper.bindElements(e,r);const n=e.is("documentFragment")?e.markers:function(e){const t=[],s=e.root.document;if(!s)return new Map;const o=u.Z._createIn(e);for(const e of s.model.markers){const s=e.getRange(),i=s.isCollapsed,r=s.start.isEqual(o.start)||s.end.isEqual(o.end);if(i&&r)t.push([e.name,s]);else{const i=o.getIntersection(s);i&&t.push([e.name,i])}}return t.sort((([e,t],[s,o])=>{if("after"!==t.end.compareWith(o.start))return 1;if("before"!==t.start.compareWith(o.end))return-1;switch(t.start.compareWith(o.start)){case"before":return 1;case"after":return-1;default:switch(t.end.compareWith(o.end)){case"before":return 1;case"after":return-1;default:return s.localeCompare(e)}}})),new Map(t)}(e);return this.downcastDispatcher.convert(i,n,o,t),r}init(e){if(this.model.document.version)throw new r.ZP("datacontroller-init-document-not-empty",this);let t={};if("string"==typeof e?t.main=e:t=e,!this._checkIfRootsExists(Object.keys(t)))throw new r.ZP("datacontroller-init-non-existent-root",this);return this.model.enqueueChange({isUndoable:!1},(e=>{for(const s of Object.keys(t)){const o=this.model.document.getRoot(s);e.insert(this.parse(t[s],o),o,0)}})),Promise.resolve()}set(e,t={}){let s={};if("string"==typeof e?s.main=e:s=e,!this._checkIfRootsExists(Object.keys(s)))throw new r.ZP("datacontroller-set-non-existent-root",this);this.model.enqueueChange(t.batchType||{},(e=>{e.setSelection(null),e.removeSelectionAttribute(this.model.document.selection.getAttributeKeys());for(const t of Object.keys(s)){const o=this.model.document.getRoot(t);e.remove(e.createRangeIn(o)),e.insert(this.parse(s[t],o),o,0)}}))}parse(e,t="$root"){const s=this.processor.toView(e);return this.toModel(s,t)}toModel(e,t="$root"){return this.model.change((s=>this.upcastDispatcher.convert(e,s,t)))}addStyleProcessorRules(e){e(this.stylesProcessor)}registerRawContentMatcher(e){this.processor&&this.processor!==this.htmlProcessor&&this.processor.registerRawContentMatcher(e),this.htmlProcessor.registerRawContentMatcher(e)}destroy(){this.stopListening()}_checkIfRootsExists(e){for(const t of e)if(!this.model.document.getRootNames().includes(t))return!1;return!0}}(0,o.Z)(Z,i.Z)},"./packages/ckeditor5-engine/src/controller/editingcontroller.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>L});var o=s("./packages/ckeditor5-engine/src/view/editableelement.js");const i=Symbol("rootName");class r extends o.Z{constructor(e,t){super(e,t),this.rootName="main"}is(e,t=null){return t?t===this.name&&("rootElement"===e||"view:rootElement"===e||"editableElement"===e||"view:editableElement"===e||"containerElement"===e||"view:containerElement"===e||"element"===e||"view:element"===e):"rootElement"===e||"view:rootElement"===e||"editableElement"===e||"view:editableElement"===e||"containerElement"===e||"view:containerElement"===e||"element"===e||"view:element"===e||"node"===e||"view:node"===e}get rootName(){return this.getCustomProperty(i)}set rootName(e){this._setCustomProperty(i,e)}set _name(e){this.name=e}}var n=s("./packages/ckeditor5-engine/src/view/document.js"),a=s("./packages/ckeditor5-engine/src/view/downcastwriter.js"),c=s("./packages/ckeditor5-engine/src/view/renderer.js"),l=s("./packages/ckeditor5-engine/src/view/domconverter.js"),d=s("./packages/ckeditor5-engine/src/view/position.js"),h=s("./packages/ckeditor5-engine/src/view/range.js"),u=s("./packages/ckeditor5-engine/src/view/selection.js"),p=s("./packages/ckeditor5-engine/src/view/observer/observer.js"),g=s("./packages/ckeditor5-engine/src/view/filler.js"),m=s("./node_modules/lodash-es/_baseIsEqual.js");const f=function(e,t,s){var o=(s="function"==typeof s?s:void 0)?s(e,t):void 0;return void 0===o?(0,m.Z)(e,t,void 0,s):!!o};class k extends p.Z{constructor(e){super(e),this._config={childList:!0,characterData:!0,characterDataOldValue:!0,subtree:!0},this.domConverter=e.domConverter,this.renderer=e._renderer,this._domElements=[],this._mutationObserver=new window.MutationObserver(this._onMutations.bind(this))}flush(){this._onMutations(this._mutationObserver.takeRecords())}observe(e){this._domElements.push(e),this.isEnabled&&this._mutationObserver.observe(e,this._config)}enable(){super.enable();for(const e of this._domElements)this._mutationObserver.observe(e,this._config)}disable(){super.disable(),this._mutationObserver.disconnect()}destroy(){super.destroy(),this._mutationObserver.disconnect()}_onMutations(e){if(0===e.length)return;const t=this.domConverter,s=new Map,o=new Set;for(const s of e)if("childList"===s.type){const e=t.mapDomToView(s.target);if(e&&(e.is("uiElement")||e.is("rawElement")))continue;e&&!this._isBogusBrMutation(s)&&o.add(e)}for(const i of e){const e=t.mapDomToView(i.target);if((!e||!e.is("uiElement")&&!e.is("rawElement"))&&"characterData"===i.type){const e=t.findCorrespondingViewText(i.target);e&&!o.has(e.parent)?s.set(e,{type:"text",oldText:e.data,newText:(0,g.th)(i.target),node:e}):!e&&(0,g.Sw)(i.target)&&o.add(t.mapDomToView(i.target.parentNode))}}const i=[];for(const e of s.values())this.renderer.markToSync("text",e.node),i.push(e);for(const e of o){const s=t.mapViewToDom(e),o=Array.from(e.getChildren()),r=Array.from(t.domChildrenToView(s,{withChildren:!1}));f(o,r,a)||(this.renderer.markToSync("children",e),i.push({type:"children",oldChildren:o,newChildren:r,node:e}))}const r=e[0].target.ownerDocument.getSelection();let n=null;if(r&&r.anchorNode){const e=t.domPositionToView(r.anchorNode,r.anchorOffset),s=t.domPositionToView(r.focusNode,r.focusOffset);e&&s&&(n=new u.Z(e),n.setFocus(s))}function a(e,t){if(!Array.isArray(e))return e===t||!(!e.is("$text")||!t.is("$text"))&&e.data===t.data}i.length&&(this.document.fire("mutations",i,n),this.view.forceRender())}_isBogusBrMutation(e){let t=null;return null===e.nextSibling&&0===e.removedNodes.length&&1==e.addedNodes.length&&(t=this.domConverter.domToView(e.addedNodes[0],{withChildren:!1})),t&&t.is("element","br")}}var _=s("./packages/ckeditor5-engine/src/view/observer/domeventobserver.js"),b=s("./packages/ckeditor5-utils/src/keyboard.js");class w extends _.Z{constructor(e){super(e),this.domEventType=["keydown","keyup"]}onDomEvent(e){this.fire(e.type,e,{keyCode:e.keyCode,altKey:e.altKey,ctrlKey:e.ctrlKey,shiftKey:e.shiftKey,metaKey:e.metaKey,get keystroke(){return(0,b.Cq)(this)}})}}var v=s("./node_modules/lodash-es/debounce.js");class y extends p.Z{constructor(e){super(e),this._fireSelectionChangeDoneDebounced=(0,v.Z)((e=>this.document.fire("selectionChangeDone",e)),200)}observe(){const e=this.document;e.on("arrowKey",((t,s)=>{e.selection.isFake&&this.isEnabled&&s.preventDefault()}),{context:"$capture"}),e.on("arrowKey",((t,s)=>{e.selection.isFake&&this.isEnabled&&this._handleSelectionMove(s.keyCode)}),{priority:"lowest"})}destroy(){super.destroy(),this._fireSelectionChangeDoneDebounced.cancel()}_handleSelectionMove(e){const t=this.document.selection,s=new u.Z(t.getRanges(),{backward:t.isBackward,fake:!1});e!=b.Do.arrowleft&&e!=b.Do.arrowup||s.setTo(s.getFirstPosition()),e!=b.Do.arrowright&&e!=b.Do.arrowdown||s.setTo(s.getLastPosition());const o={oldSelection:t,newSelection:s,domSelection:null};this.document.fire("selectionChange",o),this._fireSelectionChangeDoneDebounced(o)}}class Z extends p.Z{constructor(e){super(e),this.mutationObserver=e.getObserver(k),this.selection=this.document.selection,this.domConverter=e.domConverter,this._documents=new WeakSet,this._fireSelectionChangeDoneDebounced=(0,v.Z)((e=>this.document.fire("selectionChangeDone",e)),200),this._clearInfiniteLoopInterval=setInterval((()=>this._clearInfiniteLoop()),1e3),this._documentIsSelectingInactivityTimeoutDebounced=(0,v.Z)((()=>this.document.isSelecting=!1),5e3),this._loopbackCounter=0}observe(e){const t=e.ownerDocument,s=()=>{this.document.isSelecting=!1,this._documentIsSelectingInactivityTimeoutDebounced.cancel()};this.listenTo(e,"selectstart",(()=>{this.document.isSelecting=!0,this._documentIsSelectingInactivityTimeoutDebounced()}),{priority:"highest"}),this.listenTo(e,"keydown",s,{priority:"highest"}),this.listenTo(e,"keyup",s,{priority:"highest"}),this._documents.has(t)||(this.listenTo(t,"mouseup",s,{priority:"highest"}),this.listenTo(t,"selectionchange",((e,s)=>{this._handleSelectionChange(s,t),this._documentIsSelectingInactivityTimeoutDebounced()})),this._documents.add(t))}destroy(){super.destroy(),clearInterval(this._clearInfiniteLoopInterval),this._fireSelectionChangeDoneDebounced.cancel(),this._documentIsSelectingInactivityTimeoutDebounced.cancel()}_handleSelectionChange(e,t){if(!this.isEnabled)return;const s=t.defaultView.getSelection();if(this.checkShouldIgnoreEventFromTarget(s.anchorNode))return;this.mutationObserver.flush();const o=this.domConverter.domSelectionToView(s);if(0!=o.rangeCount){if(this.view.hasDomSelection=!0,!(this.selection.isEqual(o)&&this.domConverter.isDomSelectionCorrect(s)||++this._loopbackCounter>60))if(this.selection.isSimilar(o))this.view.forceRender();else{const e={oldSelection:this.selection,newSelection:o,domSelection:s};this.document.fire("selectionChange",e),this._fireSelectionChangeDoneDebounced(e)}}else this.view.hasDomSelection=!1}_clearInfiniteLoop(){this._loopbackCounter=0}}class P extends _.Z{constructor(e){super(e),this.domEventType=["focus","blur"],this.useCapture=!0;const t=this.document;t.on("focus",(()=>{t.isFocused=!0,this._renderTimeoutId=setTimeout((()=>e.change((()=>{}))),50)})),t.on("blur",((s,o)=>{const i=t.selection.editableElement;null!==i&&i!==o.target||(t.isFocused=!1,e.change((()=>{})))}))}onDomEvent(e){this.fire(e.type,e)}destroy(){this._renderTimeoutId&&clearTimeout(this._renderTimeoutId),super.destroy()}}class j extends _.Z{constructor(e){super(e),this.domEventType=["compositionstart","compositionupdate","compositionend"];const t=this.document;t.on("compositionstart",(()=>{t.isComposing=!0})),t.on("compositionend",(()=>{t.isComposing=!1}))}onDomEvent(e){this.fire(e.type,e)}}class x extends _.Z{constructor(e){super(e),this.domEventType=["beforeinput"]}onDomEvent(e){this.fire(e.type,e)}}var A=s("./packages/ckeditor5-engine/src/view/observer/bubblingeventinfo.js"),T=s("./packages/ckeditor5-utils/src/index.js");class C extends p.Z{constructor(e){super(e),this.document.on("keydown",((e,t)=>{if(this.isEnabled&&(0,T.dj)(t.keyCode)){const s=new A.Z(this.document,"arrowKey",this.document.selection.getFirstRange());this.document.fire(s,t),s.stop.called&&e.stop()}}))}observe(){}}class E extends p.Z{constructor(e){super(e);const t=this.document;t.on("keydown",((e,s)=>{if(!this.isEnabled||s.keyCode!=b.Do.tab||s.ctrlKey)return;const o=new A.Z(t,"tab",t.selection.getFirstRange());t.fire(o,s),o.stop.called&&e.stop()}))}observe(){}}var S=s("./packages/ckeditor5-utils/src/observablemixin.js"),O=s("./packages/ckeditor5-utils/src/mix.js"),R=s("./packages/ckeditor5-utils/src/dom/scroll.js"),M=s("./packages/ckeditor5-engine/src/view/uielement.js"),N=s("./packages/ckeditor5-utils/src/ckeditorerror.js"),I=s("./packages/ckeditor5-utils/src/env.js");class V{constructor(e){this.document=new n.Z(e),this.domConverter=new l.Z(this.document),this.domRoots=new Map,this.set("isRenderingInProgress",!1),this.set("hasDomSelection",!1),this._renderer=new c.Z(this.domConverter,this.document.selection),this._renderer.bind("isFocused","isSelecting").to(this.document),this._initialDomRootAttributes=new WeakMap,this._observers=new Map,this._ongoingChange=!1,this._postFixersInProgress=!1,this._renderingDisabled=!1,this._hasChangedSinceTheLastRendering=!1,this._writer=new a.Z(this.document),this.addObserver(k),this.addObserver(Z),this.addObserver(P),this.addObserver(w),this.addObserver(y),this.addObserver(j),this.addObserver(C),this.addObserver(E),I.ZP.isAndroid&&this.addObserver(x),(0,g.mm)(this),(0,M.h)(this),this.on("render",(()=>{this._render(),this.document.fire("layoutChanged"),this._hasChangedSinceTheLastRendering=!1})),this.listenTo(this.document.selection,"change",(()=>{this._hasChangedSinceTheLastRendering=!0})),this.listenTo(this.document,"change:isFocused",(()=>{this._hasChangedSinceTheLastRendering=!0}))}attachDomRoot(e,t="main"){const s=this.document.getRoot(t);s._name=e.tagName.toLowerCase();const o={};for(const{name:t,value:i}of Array.from(e.attributes))o[t]=i,"class"===t?this._writer.addClass(i.split(" "),s):this._writer.setAttribute(t,i,s);this._initialDomRootAttributes.set(e,o);const i=()=>{this._writer.setAttribute("contenteditable",!s.isReadOnly,s),s.isReadOnly?this._writer.addClass("ck-read-only",s):this._writer.removeClass("ck-read-only",s)};i(),this.domRoots.set(t,e),this.domConverter.bindElements(e,s),this._renderer.markToSync("children",s),this._renderer.markToSync("attributes",s),this._renderer.domDocuments.add(e.ownerDocument),s.on("change:children",((e,t)=>this._renderer.markToSync("children",t))),s.on("change:attributes",((e,t)=>this._renderer.markToSync("attributes",t))),s.on("change:text",((e,t)=>this._renderer.markToSync("text",t))),s.on("change:isReadOnly",(()=>this.change(i))),s.on("change",(()=>{this._hasChangedSinceTheLastRendering=!0}));for(const s of this._observers.values())s.observe(e,t)}detachDomRoot(e){const t=this.domRoots.get(e);Array.from(t.attributes).forEach((({name:e})=>t.removeAttribute(e)));const s=this._initialDomRootAttributes.get(t);for(const e in s)t.setAttribute(e,s[e]);this.domRoots.delete(e),this.domConverter.unbindDomElement(t)}getDomRoot(e="main"){return this.domRoots.get(e)}addObserver(e){let t=this._observers.get(e);if(t)return t;t=new e(this),this._observers.set(e,t);for(const[e,s]of this.domRoots)t.observe(s,e);return t.enable(),t}getObserver(e){return this._observers.get(e)}disableObservers(){for(const e of this._observers.values())e.disable()}enableObservers(){for(const e of this._observers.values())e.enable()}scrollToTheSelection(){const e=this.document.selection.getFirstRange();e&&(0,R.m)({target:this.domConverter.viewRangeToDom(e),viewportOffset:20})}focus(){if(!this.document.isFocused){const e=this.document.selection.editableElement;e&&(this.domConverter.focus(e),this.forceRender())}}change(e){if(this.isRenderingInProgress||this._postFixersInProgress)throw new N.ZP("cannot-change-view-tree",this);try{if(this._ongoingChange)return e(this._writer);this._ongoingChange=!0;const t=e(this._writer);return this._ongoingChange=!1,!this._renderingDisabled&&this._hasChangedSinceTheLastRendering&&(this._postFixersInProgress=!0,this.document._callPostFixers(this._writer),this._postFixersInProgress=!1,this.fire("render")),t}catch(e){N.ZP.rethrowUnexpectedError(e,this)}}forceRender(){this._hasChangedSinceTheLastRendering=!0,this.change((()=>{}))}destroy(){for(const e of this._observers.values())e.destroy();this.document.destroy(),this.stopListening()}createPositionAt(e,t){return d.Z._createAt(e,t)}createPositionAfter(e){return d.Z._createAfter(e)}createPositionBefore(e){return d.Z._createBefore(e)}createRange(e,t){return new h.Z(e,t)}createRangeOn(e){return h.Z._createOn(e)}createRangeIn(e){return h.Z._createIn(e)}createSelection(e,t,s){return new u.Z(e,t,s)}_disableRendering(e){this._renderingDisabled=e,0==e&&this.change((()=>{}))}_render(){this.isRenderingInProgress=!0,this.disableObservers(),this._renderer.render(),this.enableObservers(),this.isRenderingInProgress=!1}}(0,O.Z)(V,S.Z);var z=s("./packages/ckeditor5-engine/src/conversion/mapper.js"),D=s("./packages/ckeditor5-engine/src/conversion/downcastdispatcher.js"),B=s("./packages/ckeditor5-engine/src/conversion/downcasthelpers.js"),F=s("./packages/ckeditor5-engine/src/conversion/upcasthelpers.js");class L{constructor(e,t){this.model=e,this.view=new V(t),this.mapper=new z.Z,this.downcastDispatcher=new D.Z({mapper:this.mapper,schema:e.schema});const s=this.model.document,o=s.selection,i=this.model.markers;this.listenTo(this.model,"_beforeChanges",(()=>{this.view._disableRendering(!0)}),{priority:"highest"}),this.listenTo(this.model,"_afterChanges",(()=>{this.view._disableRendering(!1)}),{priority:"lowest"}),this.listenTo(s,"change",(()=>{this.view.change((e=>{this.downcastDispatcher.convertChanges(s.differ,i,e),this.downcastDispatcher.convertSelection(o,i,e)}))}),{priority:"low"}),this.listenTo(this.view.document,"selectionChange",(0,F.Fo)(this.model,this.mapper)),this.downcastDispatcher.on("insert:$text",(0,B.Om)(),{priority:"lowest"}),this.downcastDispatcher.on("insert",(0,B.o6)(),{priority:"lowest"}),this.downcastDispatcher.on("remove",(0,B.Od)(),{priority:"low"}),this.downcastDispatcher.on("selection",(0,B.iO)(),{priority:"high"}),this.downcastDispatcher.on("selection",(0,B.k3)(),{priority:"low"}),this.downcastDispatcher.on("selection",(0,B.GM)(),{priority:"low"}),this.view.document.roots.bindTo(this.model.document.roots).using((e=>{if("$graveyard"==e.rootName)return null;const t=new r(this.view.document,e.name);return t.rootName=e.rootName,this.mapper.bindElements(e,t),t}))}destroy(){this.view.destroy(),this.stopListening()}reconvertMarker(e){const t="string"==typeof e?e:e.name,s=this.model.markers.get(t);if(!s)throw new N.ZP("editingcontroller-reconvertmarker-marker-not-exist",this,{markerName:t});this.model.change((()=>{this.model.markers._refresh(s)}))}reconvertItem(e){this.model.change((()=>{this.model.document.differ._refreshItem(e)}))}}(0,O.Z)(L,S.Z)},"./packages/ckeditor5-engine/src/conversion/conversion.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});var o=s("./packages/ckeditor5-utils/src/ckeditorerror.js"),i=s("./packages/ckeditor5-engine/src/conversion/upcasthelpers.js"),r=s("./packages/ckeditor5-engine/src/conversion/downcasthelpers.js"),n=s("./packages/ckeditor5-utils/src/toarray.js");class a{constructor(e,t){this._helpers=new Map,this._downcast=(0,n.Z)(e),this._createConversionHelpers({name:"downcast",dispatchers:this._downcast,isDowncast:!0}),this._upcast=(0,n.Z)(t),this._createConversionHelpers({name:"upcast",dispatchers:this._upcast,isDowncast:!1})}addAlias(e,t){const s=this._downcast.includes(t);if(!this._upcast.includes(t)&&!s)throw new o.ZP("conversion-add-alias-dispatcher-not-registered",this);this._createConversionHelpers({name:e,dispatchers:[t],isDowncast:s})}for(e){if(!this._helpers.has(e))throw new o.ZP("conversion-for-unknown-group",this);return this._helpers.get(e)}elementToElement(e){this.for("downcast").elementToElement(e);for(const{model:t,view:s}of c(e))this.for("upcast").elementToElement({model:t,view:s,converterPriority:e.converterPriority})}attributeToElement(e){this.for("downcast").attributeToElement(e);for(const{model:t,view:s}of c(e))this.for("upcast").elementToAttribute({view:s,model:t,converterPriority:e.converterPriority})}attributeToAttribute(e){this.for("downcast").attributeToAttribute(e);for(const{model:t,view:s}of c(e))this.for("upcast").attributeToAttribute({view:s,model:t})}_createConversionHelpers({name:e,dispatchers:t,isDowncast:s}){if(this._helpers.has(e))throw new o.ZP("conversion-group-exists",this);const n=s?new r.ZP(t):new i.ZP(t);this._helpers.set(e,n)}}function*c(e){if(e.model.values)for(const t of e.model.values){const s={key:e.model.key,value:t},o=e.view[t],i=e.upcastAlso?e.upcastAlso[t]:void 0;yield*l(s,o,i)}else yield*l(e.model,e.view,e.upcastAlso)}function*l(e,t,s){if(yield{model:e,view:t},s)for(const t of(0,n.Z)(s))yield{model:e,view:t}}},"./packages/ckeditor5-engine/src/conversion/conversionhelpers.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>o});class o{constructor(e){this._dispatchers=e}add(e){for(const t of this._dispatchers)e(t);return this}}},"./packages/ckeditor5-engine/src/conversion/downcastdispatcher.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>d});var o=s("./packages/ckeditor5-engine/src/model/textproxy.js"),i=s("./packages/ckeditor5-utils/src/ckeditorerror.js");class r{constructor(){this._consumable=new Map,this._textProxyRegistry=new Map}add(e,t){t=n(t),e instanceof o.Z&&(e=this._getSymbolForTextProxy(e)),this._consumable.has(e)||this._consumable.set(e,new Map),this._consumable.get(e).set(t,!0)}consume(e,t){return t=n(t),e instanceof o.Z&&(e=this._getSymbolForTextProxy(e)),!!this.test(e,t)&&(this._consumable.get(e).set(t,!1),!0)}test(e,t){t=n(t),e instanceof o.Z&&(e=this._getSymbolForTextProxy(e));const s=this._consumable.get(e);if(void 0===s)return null;const i=s.get(t);return void 0===i?null:i}revert(e,t){t=n(t),e instanceof o.Z&&(e=this._getSymbolForTextProxy(e));const s=this.test(e,t);return!1===s?(this._consumable.get(e).set(t,!0),!0):!0!==s&&null}verifyAllConsumed(e){const t=[];for(const[s,o]of this._consumable)for(const[i,r]of o){const o=i.split(":")[0];r&&e==o&&t.push({event:i,item:s.name||s.description})}if(t.length)throw new i.ZP("conversion-model-consumable-not-consumed",null,{items:t})}_getSymbolForTextProxy(e){let t=null;const s=this._textProxyRegistry.get(e.startOffset);if(s){const o=s.get(e.endOffset);o&&(t=o.get(e.parent))}return t||(t=this._addSymbolForTextProxy(e)),t}_addSymbolForTextProxy(e){const t=e.startOffset,s=e.endOffset,o=e.parent,i=Symbol("$textProxy:"+e.data);let r,n;return r=this._textProxyRegistry.get(t),r||(r=new Map,this._textProxyRegistry.set(t,r)),n=r.get(s),n||(n=new Map,r.set(s,n)),n.set(o,i),i}}function n(e){const t=e.split(":");return"insert"==t[0]?t[0]:"addMarker"==t[0]||"removeMarker"==t[0]?e:t.length>1?t[0]+":"+t[1]:t[0]}var a=s("./packages/ckeditor5-engine/src/model/range.js"),c=s("./packages/ckeditor5-utils/src/emittermixin.js"),l=s("./packages/ckeditor5-utils/src/mix.js");class d{constructor(e){this._conversionApi={dispatcher:this,...e},this._firedEventsMap=new WeakMap}convertChanges(e,t,s){const o=this._createConversionApi(s,e.getRefreshedItems());for(const t of e.getMarkersToRemove())this._convertMarkerRemove(t.name,t.range,o);const i=this._reduceChanges(e.getChanges());for(const e of i)"insert"===e.type?this._convertInsert(a.Z._createFromPositionAndShift(e.position,e.length),o):"reinsert"===e.type?this._convertReinsert(a.Z._createFromPositionAndShift(e.position,e.length),o):"remove"===e.type?this._convertRemove(e.position,e.length,e.name,o):this._convertAttribute(e.range,e.attributeKey,e.attributeOldValue,e.attributeNewValue,o);for(const e of o.mapper.flushUnboundMarkerNames()){const s=t.get(e).getRange();this._convertMarkerRemove(e,s,o),this._convertMarkerAdd(e,s,o)}for(const t of e.getMarkersToAdd())this._convertMarkerAdd(t.name,t.range,o);o.mapper.flushDeferredBindings(),o.consumable.verifyAllConsumed("insert")}convert(e,t,s,o={}){const i=this._createConversionApi(s,void 0,o);this._convertInsert(e,i);for(const[e,s]of t)this._convertMarkerAdd(e,s,i);i.consumable.verifyAllConsumed("insert")}convertSelection(e,t,s){const o=Array.from(t.getMarkersAtPosition(e.getFirstPosition())),i=this._createConversionApi(s);if(this._addConsumablesForSelection(i.consumable,e,o),this.fire("selection",{selection:e},i),e.isCollapsed){for(const t of o){const s=t.getRange();if(!h(e.getFirstPosition(),t,i.mapper))continue;const o={item:e,markerName:t.name,markerRange:s};i.consumable.test(e,"addMarker:"+t.name)&&this.fire("addMarker:"+t.name,o,i)}for(const t of e.getAttributeKeys()){const s={item:e,range:e.getFirstRange(),attributeKey:t,attributeOldValue:null,attributeNewValue:e.getAttribute(t)};i.consumable.test(e,"attribute:"+s.attributeKey)&&this.fire("attribute:"+s.attributeKey+":$text",s,i)}}}_convertInsert(e,t,s={}){s.doNotAddConsumables||this._addConsumablesForInsert(t.consumable,Array.from(e));for(const s of Array.from(e.getWalker({shallow:!0})).map(u))this._testAndFire("insert",s,t)}_convertRemove(e,t,s,o){this.fire("remove:"+s,{position:e,length:t},o)}_convertAttribute(e,t,s,o,i){this._addConsumablesForRange(i.consumable,e,`attribute:${t}`);for(const r of e){const e={item:r.item,range:a.Z._createFromPositionAndShift(r.previousPosition,r.length),attributeKey:t,attributeOldValue:s,attributeNewValue:o};this._testAndFire(`attribute:${t}`,e,i)}}_convertReinsert(e,t){const s=Array.from(e.getWalker({shallow:!0}));this._addConsumablesForInsert(t.consumable,s);for(const e of s.map(u))this._testAndFire("insert",{...e,reconversion:!0},t)}_convertMarkerAdd(e,t,s){if("$graveyard"==t.root.rootName)return;const o="addMarker:"+e;if(s.consumable.add(t,o),this.fire(o,{markerName:e,markerRange:t},s),s.consumable.consume(t,o)){this._addConsumablesForRange(s.consumable,t,o);for(const i of t.getItems()){if(!s.consumable.test(i,o))continue;const r={item:i,range:a.Z._createOn(i),markerName:e,markerRange:t};this.fire(o,r,s)}}}_convertMarkerRemove(e,t,s){"$graveyard"!=t.root.rootName&&this.fire("removeMarker:"+e,{markerName:e,markerRange:t},s)}_reduceChanges(e){const t={changes:e};return this.fire("reduceChanges",t),t.changes}_addConsumablesForInsert(e,t){for(const s of t){const t=s.item;if(null===e.test(t,"insert")){e.add(t,"insert");for(const s of t.getAttributeKeys())e.add(t,"attribute:"+s)}}return e}_addConsumablesForRange(e,t,s){for(const o of t.getItems())e.add(o,s);return e}_addConsumablesForSelection(e,t,s){e.add(t,"selection");for(const o of s)e.add(t,"addMarker:"+o.name);for(const s of t.getAttributeKeys())e.add(t,"attribute:"+s);return e}_testAndFire(e,t,s){const o=function(e,t){const s=t.item.name||"$text";return`${e}:${s}`}(e,t),i=t.item.is("$textProxy")?s.consumable._getSymbolForTextProxy(t.item):t.item,r=this._firedEventsMap.get(s),n=r.get(i);if(n){if(n.has(o))return;n.add(o)}else r.set(i,new Set([o]));this.fire(o,t,s)}_testAndFireAddAttributes(e,t){const s={item:e,range:a.Z._createOn(e)};for(const e of s.item.getAttributeKeys())s.attributeKey=e,s.attributeOldValue=null,s.attributeNewValue=s.item.getAttribute(e),this._testAndFire(`attribute:${e}`,s,t)}_createConversionApi(e,t=new Set,s={}){const o={...this._conversionApi,consumable:new r,writer:e,options:s,convertItem:e=>this._convertInsert(a.Z._createOn(e),o),convertChildren:e=>this._convertInsert(a.Z._createIn(e),o,{doNotAddConsumables:!0}),convertAttributes:e=>this._testAndFireAddAttributes(e,o),canReuseView:e=>!t.has(o.mapper.toModelElement(e))};return this._firedEventsMap.set(o,new Map),o}}function h(e,t,s){const o=t.getRange(),i=Array.from(e.getAncestors());i.shift(),i.reverse();return!i.some((e=>{if(o.containsItem(e)){return!!s.toViewElement(e).getCustomProperty("addHighlight")}}))}function u(e){return{item:e.item,range:a.Z._createFromPositionAndShift(e.previousPosition,e.length)}}(0,l.Z)(d,c.ZP)},"./packages/ckeditor5-engine/src/conversion/downcasthelpers.js":(e,t,s)=>{"use strict";s.d(t,{GM:()=>b,Od:()=>f,Om:()=>g,ZP:()=>p,iO:()=>w,k3:()=>_,o6:()=>m});var o=s("./packages/ckeditor5-engine/src/model/range.js"),i=s("./packages/ckeditor5-engine/src/model/selection.js"),r=s("./packages/ckeditor5-engine/src/model/element.js"),n=s("./packages/ckeditor5-engine/src/model/position.js"),a=s("./packages/ckeditor5-engine/src/view/attributeelement.js"),c=s("./packages/ckeditor5-engine/src/model/documentselection.js"),l=s("./packages/ckeditor5-engine/src/conversion/conversionhelpers.js"),d=s("./node_modules/lodash-es/cloneDeep.js"),h=s("./packages/ckeditor5-utils/src/ckeditorerror.js"),u=s("./packages/ckeditor5-utils/src/toarray.js");class p extends l.Z{elementToElement(e){return this.add(function(e){(e=(0,d.Z)(e)).model=y(e.model),e.view=Z(e.view,"container"),e.model.attributes.length&&(e.model.children=!0);return t=>{t.on("insert:"+e.model.name,function(e,t=S){return(s,o,i)=>{if(!t(o.item,i.consumable,{preflight:!0}))return;const r=e(o.item,i,o);if(!r)return;t(o.item,i.consumable);const n=i.mapper.toViewPosition(o.range.start);i.mapper.bindElements(o.item,r),i.writer.insert(n,r),i.convertAttributes(o.item),C(r,o.item.getChildren(),i,{reconversion:o.reconversion})}}(e.view,T(e.model)),{priority:e.converterPriority||"normal"}),(e.model.children||e.model.attributes.length)&&t.on("reduceChanges",A(e.model),{priority:"low"})}}(e))}elementToStructure(e){return this.add(function(e){return(e=(0,d.Z)(e)).model=y(e.model),e.view=Z(e.view,"container"),e.model.children=!0,t=>{if(t._conversionApi.schema.checkChild(e.model.name,"$text"))throw new h.ZP("conversion-element-to-structure-disallowed-text",t,{elementName:e.model.name});var s,o;t.on("insert:"+e.model.name,(s=e.view,o=T(e.model),(e,t,i)=>{if(!o(t.item,i.consumable,{preflight:!0}))return;const r=new Map;i.writer._registerSlotFactory(function(e,t,s){return(o,i="children")=>{const r=o.createContainerElement("$slot");let n=null;if("children"===i)n=Array.from(e.getChildren());else{if("function"!=typeof i)throw new h.ZP("conversion-slot-mode-unknown",s.dispatcher,{modeOrFilter:i});n=Array.from(e.getChildren()).filter((e=>i(e)))}return t.set(r,n),r}}(t.item,r,i));const n=s(t.item,i,t);if(i.writer._clearSlotFactory(),!n)return;!function(e,t,s){const o=Array.from(t.values()).flat(),i=new Set(o);if(i.size!=o.length)throw new h.ZP("conversion-slot-filter-overlap",s.dispatcher,{element:e});if(i.size!=e.childCount)throw new h.ZP("conversion-slot-filter-incomplete",s.dispatcher,{element:e})}(t.item,r,i),o(t.item,i.consumable);const a=i.mapper.toViewPosition(t.range.start);i.mapper.bindElements(t.item,n),i.writer.insert(a,n),i.convertAttributes(t.item),function(e,t,s,o){s.mapper.on("modelToViewPosition",n,{priority:"highest"});let i=null,r=null;for([i,r]of t)C(e,r,s,o),s.writer.move(s.writer.createRangeIn(i),s.writer.createPositionBefore(i)),s.writer.remove(i);function n(e,t){const s=t.modelPosition.nodeAfter,o=r.indexOf(s);o<0||(t.viewPosition=t.mapper.findPositionIn(i,o))}s.mapper.off("modelToViewPosition",n)}(n,r,i,{reconversion:t.reconversion})}),{priority:e.converterPriority||"normal"}),t.on("reduceChanges",A(e.model),{priority:"low"})}}(e))}attributeToElement(e){return this.add(function(e){e=(0,d.Z)(e);let t="attribute:"+(e.model.key?e.model.key:e.model);e.model.name&&(t+=":"+e.model.name);if(e.model.values)for(const t of e.model.values)e.view[t]=Z(e.view[t],"attribute");else e.view=Z(e.view,"attribute");const s=P(e);return o=>{o.on(t,function(e){return(t,s,o)=>{if(!o.consumable.test(s.item,t.name))return;const r=e(s.attributeOldValue,o,s),n=e(s.attributeNewValue,o,s);if(!r&&!n)return;o.consumable.consume(s.item,t.name);const a=o.writer,l=a.document.selection;if(s.item instanceof i.Z||s.item instanceof c.Z)a.wrap(l.getFirstRange(),n);else{let e=o.mapper.toViewRange(s.range);null!==s.attributeOldValue&&r&&(e=a.unwrap(e,r)),null!==s.attributeNewValue&&n&&a.wrap(e,n)}}}(s),{priority:e.converterPriority||"normal"})}}(e))}attributeToAttribute(e){return this.add(function(e){e=(0,d.Z)(e);let t="attribute:"+(e.model.key?e.model.key:e.model);e.model.name&&(t+=":"+e.model.name);if(e.model.values)for(const t of e.model.values)e.view[t]=j(e.view[t]);else e.view=j(e.view);const s=P(e);return o=>{var i;o.on(t,(i=s,(e,t,s)=>{if(!s.consumable.test(t.item,e.name))return;const o=i(t.attributeOldValue,s,t),r=i(t.attributeNewValue,s,t);if(!o&&!r)return;s.consumable.consume(t.item,e.name);const n=s.mapper.toViewElement(t.item),a=s.writer;if(!n)throw new h.ZP("conversion-attribute-to-attribute-on-text",s.dispatcher,t);if(null!==t.attributeOldValue&&o)if("class"==o.key){const e=(0,u.Z)(o.value);for(const t of e)a.removeClass(t,n)}else if("style"==o.key){const e=Object.keys(o.value);for(const t of e)a.removeStyle(t,n)}else a.removeAttribute(o.key,n);if(null!==t.attributeNewValue&&r)if("class"==r.key){const e=(0,u.Z)(r.value);for(const t of e)a.addClass(t,n)}else if("style"==r.key){const e=Object.keys(r.value);for(const t of e)a.setStyle(t,r.value[t],n)}else a.setAttribute(r.key,r.value,n)}),{priority:e.converterPriority||"normal"})}}(e))}markerToElement(e){return this.add(function(e){return(e=(0,d.Z)(e)).view=Z(e.view,"ui"),t=>{var s;t.on("addMarker:"+e.model,(s=e.view,(e,t,o)=>{t.isOpening=!0;const i=s(t,o);t.isOpening=!1;const r=s(t,o);if(!i||!r)return;const n=t.markerRange;if(n.isCollapsed&&!o.consumable.consume(n,e.name))return;for(const t of n)if(!o.consumable.consume(t.item,e.name))return;const a=o.mapper,c=o.writer;c.insert(a.toViewPosition(n.start),i),o.mapper.bindElementToMarker(i,t.markerName),n.isCollapsed||(c.insert(a.toViewPosition(n.end),r),o.mapper.bindElementToMarker(r,t.markerName)),e.stop()}),{priority:e.converterPriority||"normal"}),t.on("removeMarker:"+e.model,(e.view,(e,t,s)=>{const o=s.mapper.markerNameToElements(t.markerName);if(o){for(const e of o)s.mapper.unbindElementFromMarkerName(e,t.markerName),s.writer.clear(s.writer.createRangeOn(e),e);s.writer.clearClonedElementsGroup(t.markerName),e.stop()}}),{priority:e.converterPriority||"normal"})}}(e))}markerToHighlight(e){return this.add(function(e){return t=>{var s;t.on("addMarker:"+e.model,(s=e.view,(e,t,o)=>{if(!t.item)return;if(!(t.item instanceof i.Z||t.item instanceof c.Z||t.item.is("$textProxy")))return;const r=x(s,t,o);if(!r)return;if(!o.consumable.consume(t.item,e.name))return;const n=o.writer,a=k(n,r),l=n.document.selection;if(t.item instanceof i.Z||t.item instanceof c.Z)n.wrap(l.getFirstRange(),a,l);else{const e=o.mapper.toViewRange(t.range),s=n.wrap(e,a);for(const e of s.getItems())if(e.is("attributeElement")&&e.isSimilar(a)){o.mapper.bindElementToMarker(e,t.markerName);break}}}),{priority:e.converterPriority||"normal"}),t.on("addMarker:"+e.model,function(e){return(t,s,i)=>{if(!s.item)return;if(!(s.item instanceof r.Z))return;const n=x(e,s,i);if(!n)return;if(!i.consumable.test(s.item,t.name))return;const a=i.mapper.toViewElement(s.item);if(a&&a.getCustomProperty("addHighlight")){i.consumable.consume(s.item,t.name);for(const e of o.Z._createIn(s.item))i.consumable.consume(e.item,t.name);a.getCustomProperty("addHighlight")(a,n,i.writer),i.mapper.bindElementToMarker(a,s.markerName)}}}(e.view),{priority:e.converterPriority||"normal"}),t.on("removeMarker:"+e.model,function(e){return(t,s,o)=>{if(s.markerRange.isCollapsed)return;const i=x(e,s,o);if(!i)return;const r=k(o.writer,i),n=o.mapper.markerNameToElements(s.markerName);if(n){for(const e of n)o.mapper.unbindElementFromMarkerName(e,s.markerName),e.is("attributeElement")?o.writer.unwrap(o.writer.createRangeOn(e),r):e.getCustomProperty("removeHighlight")(e,i.id,o.writer);o.writer.clearClonedElementsGroup(s.markerName),t.stop()}}}(e.view),{priority:e.converterPriority||"normal"})}}(e))}markerToData(e){return this.add(function(e){const t=(e=(0,d.Z)(e)).model;e.view||(e.view=s=>({group:t,name:s.substr(e.model.length+1)}));return s=>{var o;s.on("addMarker:"+t,(o=e.view,(e,t,s)=>{const i=o(t.markerName,s);if(!i)return;const r=t.markerRange;s.consumable.consume(r,e.name)&&(v(r,!1,s,t,i),v(r,!0,s,t,i),e.stop())}),{priority:e.converterPriority||"normal"}),s.on("removeMarker:"+t,function(e){return(t,s,o)=>{const i=e(s.markerName,o);if(!i)return;const r=o.mapper.markerNameToElements(s.markerName);if(r){for(const e of r)o.mapper.unbindElementFromMarkerName(e,s.markerName),e.is("containerElement")?(n(`data-${i.group}-start-before`,e),n(`data-${i.group}-start-after`,e),n(`data-${i.group}-end-before`,e),n(`data-${i.group}-end-after`,e)):o.writer.clear(o.writer.createRangeOn(e),e);o.writer.clearClonedElementsGroup(s.markerName),t.stop()}function n(e,t){if(t.hasAttribute(e)){const s=new Set(t.getAttribute(e).split(","));s.delete(i.name),0==s.size?o.writer.removeAttribute(e,t):o.writer.setAttribute(e,Array.from(s).join(","),t)}}}}(e.view),{priority:e.converterPriority||"normal"})}}(e))}}function g(){return(e,t,s)=>{if(!s.consumable.consume(t.item,e.name))return;const o=s.writer,i=s.mapper.toViewPosition(t.range.start),r=o.createText(t.item.data);o.insert(i,r)}}function m(){return(e,t,s)=>{s.convertAttributes(t.item),t.reconversion||!t.item.is("element")||t.item.isEmpty||s.convertChildren(t.item)}}function f(){return(e,t,s)=>{const o=s.mapper.toViewPosition(t.position),i=t.position.getShiftedBy(t.length),r=s.mapper.toViewPosition(i,{isPhantom:!0}),n=s.writer.createRange(o,r),a=s.writer.remove(n.getTrimmed());for(const e of s.writer.createRangeIn(a).getItems())s.mapper.unbindViewElement(e,{defer:!0})}}function k(e,t){const s=e.createAttributeElement("span",t.attributes);return t.classes&&s._addClass(t.classes),"number"==typeof t.priority&&(s._priority=t.priority),s._id=t.id,s}function _(){return(e,t,s)=>{const o=t.selection;if(o.isCollapsed)return;if(!s.consumable.consume(o,"selection"))return;const i=[];for(const e of o.getRanges()){const t=s.mapper.toViewRange(e);i.push(t)}s.writer.setSelection(i,{backward:o.isBackward})}}function b(){return(e,t,s)=>{const o=t.selection;if(!o.isCollapsed)return;if(!s.consumable.consume(o,"selection"))return;const i=s.writer,r=o.getFirstPosition(),n=s.mapper.toViewPosition(r),a=i.breakAttributes(n);i.setSelection(a)}}function w(){return(e,t,s)=>{const o=s.writer,i=o.document.selection;for(const e of i.getRanges())e.isCollapsed&&e.end.parent.isAttached()&&s.writer.mergeAttributes(e.start);o.setSelection(null)}}function v(e,t,s,o,i){const r=t?e.start:e.end,n=r.nodeAfter&&r.nodeAfter.is("element")?r.nodeAfter:null,a=r.nodeBefore&&r.nodeBefore.is("element")?r.nodeBefore:null;if(n||a){let e,r;t&&n||!t&&!a?(e=n,r=!0):(e=a,r=!1);const c=s.mapper.toViewElement(e);if(c)return void function(e,t,s,o,i,r){const n=`data-${r.group}-${t?"start":"end"}-${s?"before":"after"}`,a=e.hasAttribute(n)?e.getAttribute(n).split(","):[];a.unshift(r.name),o.writer.setAttribute(n,a.join(","),e),o.mapper.bindElementToMarker(e,i.markerName)}(c,t,r,s,o,i)}!function(e,t,s,o,i){const r=`${i.group}-${t?"start":"end"}`,n=i.name?{name:i.name}:null,a=s.writer.createUIElement(r,n);s.writer.insert(e,a),s.mapper.bindElementToMarker(a,o.markerName)}(s.mapper.toViewPosition(r),t,s,o,i)}function y(e){return"string"==typeof e&&(e={name:e}),e.attributes?Array.isArray(e.attributes)||(e.attributes=[e.attributes]):e.attributes=[],e.children=!!e.children,e}function Z(e,t){return"function"==typeof e?e:(s,o)=>function(e,t,s){"string"==typeof e&&(e={name:e});let o;const i=t.writer,r=Object.assign({},e.attributes);if("container"==s)o=i.createContainerElement(e.name,r);else if("attribute"==s){const t={priority:e.priority||a.Z.DEFAULT_PRIORITY};o=i.createAttributeElement(e.name,r,t)}else o=i.createUIElement(e.name,r);if(e.styles){const t=Object.keys(e.styles);for(const s of t)i.setStyle(s,e.styles[s],o)}if(e.classes){const t=e.classes;if("string"==typeof t)i.addClass(t,o);else for(const e of t)i.addClass(e,o)}return o}(e,o,t)}function P(e){return e.model.values?(t,s)=>{const o=e.view[t];return o?o(t,s):null}:e.view}function j(e){return"string"==typeof e?t=>({key:e,value:t}):"object"==typeof e?e.value?()=>e:t=>({key:e.key,value:t}):e}function x(e,t,s){const o="function"==typeof e?e(t,s):e;return o?(o.priority||(o.priority=10),o.id||(o.id=t.markerName),o):null}function A(e){const t=function(e){return(t,s)=>{if(!t.is("element",e.name))return!1;if("attribute"==s.type){if(e.attributes.includes(s.attributeKey))return!0}else if(e.children)return!0;return!1}}(e);return(e,s)=>{const o=[];s.reconvertedElements||(s.reconvertedElements=new Set);for(const e of s.changes){const i=e.position?e.position.parent:e.range.start.nodeAfter;if(i&&t(i,e)){if(!s.reconvertedElements.has(i)){s.reconvertedElements.add(i);const e=n.ZP._createBefore(i);o.push({type:"remove",name:i.name,position:e,length:1},{type:"reinsert",name:i.name,position:e,length:1})}}else o.push(e)}s.changes=o}}function T(e){return(t,s,o={})=>{const i=["insert"];for(const s of e.attributes)t.hasAttribute(s)&&i.push(`attribute:${s}`);return!!i.every((e=>s.test(t,e)))&&(o.preflight||i.forEach((e=>s.consume(t,e))),!0)}}function C(e,t,s,o){for(const i of t)E(e.root,i,s,o)||s.convertItem(i)}function E(e,t,s,o){const{writer:i,mapper:r}=s;if(!o.reconversion)return!1;const a=r.toViewElement(t);return!(!a||a.root==e)&&(!!s.canReuseView(a)&&(i.move(i.createRangeOn(a),r.toViewPosition(n.ZP._createBefore(t))),!0))}function S(e,t,{preflight:s}={}){return s?t.test(e,"insert"):t.consume(e,"insert")}},"./packages/ckeditor5-engine/src/conversion/mapper.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>h});var o=s("./packages/ckeditor5-engine/src/model/position.js"),i=s("./packages/ckeditor5-engine/src/model/range.js"),r=s("./packages/ckeditor5-engine/src/view/position.js"),n=s("./packages/ckeditor5-engine/src/view/range.js"),a=s("./packages/ckeditor5-engine/src/view/text.js"),c=s("./packages/ckeditor5-utils/src/emittermixin.js"),l=s("./packages/ckeditor5-utils/src/ckeditorerror.js"),d=s("./packages/ckeditor5-utils/src/mix.js");class h{constructor(){this._modelToViewMapping=new WeakMap,this._viewToModelMapping=new WeakMap,this._viewToModelLengthCallbacks=new Map,this._markerNameToElements=new Map,this._elementToMarkerNames=new Map,this._deferredBindingRemovals=new Map,this._unboundMarkerNames=new Set,this.on("modelToViewPosition",((e,t)=>{if(t.viewPosition)return;const s=this._modelToViewMapping.get(t.modelPosition.parent);if(!s)throw new l.ZP("mapping-model-position-view-parent-not-found",this,{modelPosition:t.modelPosition});t.viewPosition=this.findPositionIn(s,t.modelPosition.offset)}),{priority:"low"}),this.on("viewToModelPosition",((e,t)=>{if(t.modelPosition)return;const s=this.findMappedViewAncestor(t.viewPosition),i=this._viewToModelMapping.get(s),r=this._toModelOffset(t.viewPosition.parent,t.viewPosition.offset,s);t.modelPosition=o.ZP._createAt(i,r)}),{priority:"low"})}bindElements(e,t){this._modelToViewMapping.set(e,t),this._viewToModelMapping.set(t,e)}unbindViewElement(e,t={}){const s=this.toModelElement(e);if(this._elementToMarkerNames.has(e))for(const t of this._elementToMarkerNames.get(e))this._unboundMarkerNames.add(t);t.defer?this._deferredBindingRemovals.set(e,e.root):(this._viewToModelMapping.delete(e),this._modelToViewMapping.get(s)==e&&this._modelToViewMapping.delete(s))}unbindModelElement(e){const t=this.toViewElement(e);this._modelToViewMapping.delete(e),this._viewToModelMapping.get(t)==e&&this._viewToModelMapping.delete(t)}bindElementToMarker(e,t){const s=this._markerNameToElements.get(t)||new Set;s.add(e);const o=this._elementToMarkerNames.get(e)||new Set;o.add(t),this._markerNameToElements.set(t,s),this._elementToMarkerNames.set(e,o)}unbindElementFromMarkerName(e,t){const s=this._markerNameToElements.get(t);s&&(s.delete(e),0==s.size&&this._markerNameToElements.delete(t));const o=this._elementToMarkerNames.get(e);o&&(o.delete(t),0==o.size&&this._elementToMarkerNames.delete(e))}flushUnboundMarkerNames(){const e=Array.from(this._unboundMarkerNames);return this._unboundMarkerNames.clear(),e}flushDeferredBindings(){for(const[e,t]of this._deferredBindingRemovals)e.root==t&&this.unbindViewElement(e);this._deferredBindingRemovals=new Map}clearBindings(){this._modelToViewMapping=new WeakMap,this._viewToModelMapping=new WeakMap,this._markerNameToElements=new Map,this._elementToMarkerNames=new Map,this._unboundMarkerNames=new Set,this._deferredBindingRemovals=new Map}toModelElement(e){return this._viewToModelMapping.get(e)}toViewElement(e){return this._modelToViewMapping.get(e)}toModelRange(e){return new i.Z(this.toModelPosition(e.start),this.toModelPosition(e.end))}toViewRange(e){return new n.Z(this.toViewPosition(e.start),this.toViewPosition(e.end))}toModelPosition(e){const t={viewPosition:e,mapper:this};return this.fire("viewToModelPosition",t),t.modelPosition}toViewPosition(e,t={isPhantom:!1}){const s={modelPosition:e,mapper:this,isPhantom:t.isPhantom};return this.fire("modelToViewPosition",s),s.viewPosition}markerNameToElements(e){const t=this._markerNameToElements.get(e);if(!t)return null;const s=new Set;for(const e of t)if(e.is("attributeElement"))for(const t of e.getElementsWithSameId())s.add(t);else s.add(e);return s}registerViewToModelLength(e,t){this._viewToModelLengthCallbacks.set(e,t)}findMappedViewAncestor(e){let t=e.parent;for(;!this._viewToModelMapping.has(t);)t=t.parent;return t}_toModelOffset(e,t,s){if(s!=e){return this._toModelOffset(e.parent,e.index,s)+this._toModelOffset(e,t,e)}if(e.is("$text"))return t;let o=0;for(let s=0;s{"use strict";s.d(t,{Fo:()=>h,ZP:()=>c,_p:()=>l,s8:()=>d});var o=s("./packages/ckeditor5-engine/src/view/matcher.js"),i=s("./packages/ckeditor5-engine/src/conversion/conversionhelpers.js"),r=s("./node_modules/lodash-es/cloneDeep.js"),n=s("./packages/ckeditor5-utils/src/priorities.js"),a=s("./packages/ckeditor5-engine/src/model/utils/autoparagraphing.js");class c extends i.Z{elementToElement(e){return this.add(u(e))}elementToAttribute(e){return this.add(function(e){m(e=(0,r.Z)(e));const t=f(e,!1),s=p(e.view),o=s?"element:"+s:"element";return s=>{s.on(o,t,{priority:e.converterPriority||"low"})}}(e))}attributeToAttribute(e){return this.add(function(e){e=(0,r.Z)(e);let t=null;("string"==typeof e.view||e.view.key)&&(t=function(e){"string"==typeof e.view&&(e.view={key:e.view});const t=e.view.key;let s;if("class"==t||"style"==t){s={["class"==t?"classes":"styles"]:e.view.value}}else{s={attributes:{[t]:void 0===e.view.value?/[\s\S]*/:e.view.value}}}e.view.name&&(s.name=e.view.name);return e.view=s,t}(e));m(e,t);const s=f(e,!0);return t=>{t.on("element",s,{priority:e.converterPriority||"low"})}}(e))}elementToMarker(e){return this.add(function(e){return function(e){const t=e.model;e.model=(e,s)=>{const o="string"==typeof t?t:t(e,s);return s.writer.createElement("$marker",{"data-name":o})}}(e=(0,r.Z)(e)),u(e)}(e))}dataToMarker(e){return this.add(function(e){(e=(0,r.Z)(e)).model||(e.model=t=>t?e.view+":"+t:e.view);const t=g(k(e,"start")),s=g(k(e,"end"));return o=>{o.on("element:"+e.view+"-start",t,{priority:e.converterPriority||"normal"}),o.on("element:"+e.view+"-end",s,{priority:e.converterPriority||"normal"});const i=n.Z.get("low"),r=n.Z.get("highest"),a=n.Z.get(e.converterPriority)/r;o.on("element",function(e){return(t,s,o)=>{const i=`data-${e.view}`;function r(t,i){for(const r of i){const i=e.model(r,o),n=o.writer.createElement("$marker",{"data-name":i});o.writer.insert(n,t),s.modelCursor.isEqual(t)?s.modelCursor=s.modelCursor.getShiftedBy(1):s.modelCursor=s.modelCursor._getTransformedByInsertion(t,1),s.modelRange=s.modelRange._getTransformedByInsertion(t,1)[0]}}(o.consumable.test(s.viewItem,{attributes:i+"-end-after"})||o.consumable.test(s.viewItem,{attributes:i+"-start-after"})||o.consumable.test(s.viewItem,{attributes:i+"-end-before"})||o.consumable.test(s.viewItem,{attributes:i+"-start-before"}))&&(s.modelRange||Object.assign(s,o.convertChildren(s.viewItem,s.modelCursor)),o.consumable.consume(s.viewItem,{attributes:i+"-end-after"})&&r(s.modelRange.end,s.viewItem.getAttribute(i+"-end-after").split(",")),o.consumable.consume(s.viewItem,{attributes:i+"-start-after"})&&r(s.modelRange.end,s.viewItem.getAttribute(i+"-start-after").split(",")),o.consumable.consume(s.viewItem,{attributes:i+"-end-before"})&&r(s.modelRange.start,s.viewItem.getAttribute(i+"-end-before").split(",")),o.consumable.consume(s.viewItem,{attributes:i+"-start-before"})&&r(s.modelRange.start,s.viewItem.getAttribute(i+"-start-before").split(",")))}}(e),{priority:i+a})}}(e))}}function l(){return(e,t,s)=>{if(!t.modelRange&&s.consumable.consume(t.viewItem,{name:!0})){const{modelRange:e,modelCursor:o}=s.convertChildren(t.viewItem,t.modelCursor);t.modelRange=e,t.modelCursor=o}}}function d(){return(e,t,{schema:s,consumable:o,writer:i})=>{let r=t.modelCursor;if(!o.test(t.viewItem))return;if(!s.checkChild(r,"$text")){if(!(0,a.gg)(r,"$text",s))return;r=(0,a.zX)(r,i)}o.consume(t.viewItem);const n=i.createText(t.viewItem.data);i.insert(n,r),t.modelRange=i.createRange(r,r.getShiftedBy(n.offsetSize)),t.modelCursor=t.modelRange.end}}function h(e,t){return(s,o)=>{const i=o.newSelection,r=[];for(const e of i.getRanges())r.push(t.toModelRange(e));const n=e.createSelection(r,{backward:i.isBackward});n.isEqual(e.document.selection)||e.change((e=>{e.setSelection(n)}))}}function u(e){const t=g(e=(0,r.Z)(e)),s=p(e.view),o=s?"element:"+s:"element";return s=>{s.on(o,t,{priority:e.converterPriority||"normal"})}}function p(e){return"string"==typeof e?e:"object"==typeof e&&"string"==typeof e.name?e.name:null}function g(e){const t=new o.Z(e.view);return(s,o,i)=>{const r=t.match(o.viewItem);if(!r)return;const n=r.match;if(n.name=!0,!i.consumable.test(o.viewItem,n))return;const a=function(e,t,s){return e instanceof Function?e(t,s):s.writer.createElement(e)}(e.model,o.viewItem,i);a&&i.safeInsert(a,o.modelCursor)&&(i.consumable.consume(o.viewItem,n),i.convertChildren(o.viewItem,a),i.updateConversionResult(a,o))}}function m(e,t=null){const s=null===t||(e=>e.getAttribute(t)),o="object"!=typeof e.model?e.model:e.model.key,i="object"!=typeof e.model||void 0===e.model.value?s:e.model.value;e.model={key:o,value:i}}function f(e,t){const s=new o.Z(e.view);return(o,i,r)=>{if(!i.modelRange&&t)return;const n=s.match(i.viewItem);if(!n)return;if(!function(e,t){const s="function"==typeof e?e(t):e;if("object"==typeof s&&!p(s))return!1;return!s.classes&&!s.attributes&&!s.styles}(e.view,i.viewItem)?delete n.match.name:n.match.name=!0,!r.consumable.test(i.viewItem,n.match))return;const a=e.model.key,c="function"==typeof e.model.value?e.model.value(i.viewItem,r):e.model.value;if(null===c)return;i.modelRange||Object.assign(i,r.convertChildren(i.viewItem,i.modelCursor));const l=function(e,t,s,o){let i=!1;for(const r of Array.from(e.getItems({shallow:s})))o.schema.checkAttribute(r,t.key)&&(i=!0,r.hasAttribute(t.key)||o.writer.setAttribute(t.key,t.value,r));return i}(i.modelRange,{key:a,value:c},t,r);l&&(r.consumable.test(i.viewItem,{name:!0})&&(n.match.name=!0),r.consumable.consume(i.viewItem,n.match))}}function k(e,t){const s={};return s.view=e.view+"-"+t,s.model=(t,s)=>{const o=t.getAttribute("name"),i=e.model(o,s);return s.writer.createElement("$marker",{"data-name":i})},s}},"./packages/ckeditor5-engine/src/dataprocessor/htmldataprocessor.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});class o{getHtml(e){const t=document.implementation.createHTMLDocument("").createElement("div");return t.appendChild(e),t.innerHTML}}var i=s("./packages/ckeditor5-engine/src/view/domconverter.js");class r{constructor(e){this.domParser=new DOMParser,this.domConverter=new i.Z(e,{renderingMode:"data"}),this.htmlWriter=new o}toData(e){const t=this.domConverter.viewToDom(e,document);return this.htmlWriter.getHtml(t)}toView(e){const t=this._toDom(e);return this.domConverter.domToView(t)}registerRawContentMatcher(e){this.domConverter.registerRawContentMatcher(e)}useFillerType(e){this.domConverter.blockFillerMode="marked"==e?"markedNbsp":"nbsp"}_toDom(e){e.match(/<(?:html|body|head|meta)(?:\s[^>]*)?>/i)||(e=`${e}`);const t=this.domParser.parseFromString(e,"text/html"),s=t.createDocumentFragment(),o=t.body.childNodes;for(;o.length>0;)s.appendChild(o[0]);return s}}},"./packages/ckeditor5-engine/src/model/documentfragment.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>c});var o=s("./packages/ckeditor5-engine/src/model/nodelist.js"),i=s("./packages/ckeditor5-engine/src/model/element.js"),r=s("./packages/ckeditor5-engine/src/model/text.js"),n=s("./packages/ckeditor5-engine/src/model/textproxy.js"),a=s("./packages/ckeditor5-utils/src/isiterable.js");class c{constructor(e){this.markers=new Map,this._children=new o.Z,e&&this._insertChild(0,e)}[Symbol.iterator](){return this.getChildren()}get childCount(){return this._children.length}get maxOffset(){return this._children.maxOffset}get isEmpty(){return 0===this.childCount}get root(){return this}get parent(){return null}is(e){return"documentFragment"===e||"model:documentFragment"===e}getChild(e){return this._children.getNode(e)}getChildren(){return this._children[Symbol.iterator]()}getChildIndex(e){return this._children.getNodeIndex(e)}getChildStartOffset(e){return this._children.getNodeStartOffset(e)}getPath(){return[]}getNodeByPath(e){let t=this;for(const s of e)t=t.getChild(t.offsetToIndex(s));return t}offsetToIndex(e){return this._children.offsetToIndex(e)}toJSON(){const e=[];for(const t of this._children)e.push(t.toJSON());return e}static fromJSON(e){const t=[];for(const s of e)s.name?t.push(i.Z.fromJSON(s)):t.push(r.Z.fromJSON(s));return new c(t)}_appendChild(e){this._insertChild(this.childCount,e)}_insertChild(e,t){const s=function(e){if("string"==typeof e)return[new r.Z(e)];(0,a.Z)(e)||(e=[e]);return Array.from(e).map((e=>"string"==typeof e?new r.Z(e):e instanceof n.Z?new r.Z(e.data,e.getAttributes()):e))}(t);for(const e of s)null!==e.parent&&e._remove(),e.parent=this;this._children._insertNodes(e,s)}_removeChildren(e,t=1){const s=this._children._removeNodes(e,t);for(const e of s)e.parent=null;return s}}},"./packages/ckeditor5-engine/src/model/documentselection.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>g});var o=s("./packages/ckeditor5-utils/src/mix.js"),i=s("./packages/ckeditor5-utils/src/emittermixin.js"),r=s("./packages/ckeditor5-engine/src/model/selection.js"),n=s("./packages/ckeditor5-engine/src/model/liverange.js"),a=s("./packages/ckeditor5-engine/src/model/text.js"),c=s("./packages/ckeditor5-engine/src/model/textproxy.js"),l=s("./packages/ckeditor5-utils/src/tomap.js"),d=s("./packages/ckeditor5-utils/src/collection.js"),h=s("./packages/ckeditor5-utils/src/ckeditorerror.js"),u=s("./packages/ckeditor5-utils/src/uid.js");const p="selection:";class g{constructor(e){this._selection=new m(e),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(e){return this._selection.containsEntireContent(e)}destroy(){this._selection.destroy()}getAttributeKeys(){return this._selection.getAttributeKeys()}getAttributes(){return this._selection.getAttributes()}getAttribute(e){return this._selection.getAttribute(e)}hasAttribute(e){return this._selection.hasAttribute(e)}refresh(){this._selection._updateMarkers(),this._selection._updateAttributes(!1)}observeMarkers(e){this._selection.observeMarkers(e)}is(e){return"selection"===e||"model:selection"==e||"documentSelection"==e||"model:documentSelection"==e}_setFocus(e,t){this._selection.setFocus(e,t)}_setTo(e,t,s){this._selection.setTo(e,t,s)}_setAttribute(e,t){this._selection.setAttribute(e,t)}_removeAttribute(e){this._selection.removeAttribute(e)}_getStoredAttributes(){return this._selection._getStoredAttributes()}_overrideGravity(){return this._selection.overrideGravity()}_restoreGravity(e){this._selection.restoreGravity(e)}static _getStoreAttributeKey(e){return p+e}static _isStoreAttributeKey(e){return e.startsWith(p)}}(0,o.Z)(g,i.ZP);class m extends r.Z{constructor(e){super(),this.markers=new d.Z({idProperty:"name"}),this._model=e.model,this._document=e,this._attributePriority=new Map,this._selectionRestorePosition=null,this._hasChangedRange=!1,this._overriddenGravityRegister=new Set,this._observedMarkers=new Set,this.listenTo(this._model,"applyOperation",((e,t)=>{const s=t[0];s.isDocumentOperation&&"marker"!=s.type&&"rename"!=s.type&&"noop"!=s.type&&(0==this._ranges.length&&this._selectionRestorePosition&&this._fixGraveyardSelection(this._selectionRestorePosition),this._selectionRestorePosition=null,this._hasChangedRange&&(this._hasChangedRange=!1,this.fire("change:range",{directChange:!1})))}),{priority:"lowest"}),this.on("change:range",(()=>{for(const e of this.getRanges())if(!this._document._validateSelectionRange(e))throw new h.ZP("document-selection-wrong-position",this,{range:e})})),this.listenTo(this._model.markers,"update",((e,t,s,o)=>{this._updateMarker(t,o)})),this.listenTo(this._document,"change",((e,t)=>{!function(e,t){const s=e.document.differ;for(const o of s.getChanges()){if("insert"!=o.type)continue;const s=o.position.parent;o.length===s.maxOffset&&e.enqueueChange(t,(e=>{const t=Array.from(s.getAttributeKeys()).filter((e=>e.startsWith(p)));for(const o of t)e.removeAttribute(o,s)}))}}(this._model,t)}))}get isCollapsed(){return 0===this._ranges.length?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 e=0;e{if(this._hasChangedRange=!0,t.root==this._document.graveyard){this._selectionRestorePosition=o.deletionPosition;const e=this._ranges.indexOf(t);this._ranges.splice(e,1),t.detach()}})),t}_updateMarkers(){if(!this._observedMarkers.size)return;const e=[];let t=!1;for(const t of this._model.markers){const s=t.name.split(":",1)[0];if(!this._observedMarkers.has(s))continue;const o=t.getRange();for(const s of this.getRanges())o.containsRange(s,!s.isCollapsed)&&e.push(t)}const s=Array.from(this.markers);for(const s of e)this.markers.has(s)||(this.markers.add(s),t=!0);for(const s of Array.from(this.markers))e.includes(s)||(this.markers.remove(s),t=!0);t&&this.fire("change:marker",{oldMarkers:s,directChange:!1})}_updateMarker(e,t){const s=e.name.split(":",1)[0];if(!this._observedMarkers.has(s))return;let o=!1;const i=Array.from(this.markers),r=this.markers.has(e);if(t){let s=!1;for(const e of this.getRanges())if(t.containsRange(e,!e.isCollapsed)){s=!0;break}s&&!r?(this.markers.add(e),o=!0):!s&&r&&(this.markers.remove(e),o=!0)}else r&&(this.markers.remove(e),o=!0);o&&this.fire("change:marker",{oldMarkers:i,directChange:!1})}_updateAttributes(e){const t=(0,l.Z)(this._getSurroundingAttributes()),s=(0,l.Z)(this.getAttributes());if(e)this._attributePriority=new Map,this._attrs=new Map;else for(const[e,t]of this._attributePriority)"low"==t&&(this._attrs.delete(e),this._attributePriority.delete(e));this._setAttributesTo(t);const o=[];for(const[e,t]of this.getAttributes())s.has(e)&&s.get(e)===t||o.push(e);for(const[e]of s)this.hasAttribute(e)||o.push(e);o.length>0&&this.fire("change:attribute",{attributeKeys:o,directChange:!1})}_setAttribute(e,t,s=!0){const o=s?"normal":"low";if("low"==o&&"normal"==this._attributePriority.get(e))return!1;return super.getAttribute(e)!==t&&(this._attrs.set(e,t),this._attributePriority.set(e,o),!0)}_removeAttribute(e,t=!0){const s=t?"normal":"low";return("low"!=s||"normal"!=this._attributePriority.get(e))&&(this._attributePriority.set(e,s),!!super.hasAttribute(e)&&(this._attrs.delete(e),!0))}_setAttributesTo(e){const t=new Set;for(const[t,s]of this.getAttributes())e.get(t)!==s&&this._removeAttribute(t,!1);for(const[s,o]of e){this._setAttribute(s,o,!1)&&t.add(s)}return t}*_getStoredAttributes(){const e=this.getFirstPosition().parent;if(this.isCollapsed&&e.isEmpty)for(const t of e.getAttributeKeys())if(t.startsWith(p)){const s=t.substr(p.length);yield[s,e.getAttribute(t)]}}_getSurroundingAttributes(){const e=this.getFirstPosition(),t=this._model.schema;let s=null;if(this.isCollapsed){const o=e.textNode?e.textNode:e.nodeBefore,i=e.textNode?e.textNode:e.nodeAfter;if(this.isGravityOverridden||(s=f(o)),s||(s=f(i)),!this.isGravityOverridden&&!s){let e=o;for(;e&&!t.isInline(e)&&!s;)e=e.previousSibling,s=f(e)}if(!s){let e=i;for(;e&&!t.isInline(e)&&!s;)e=e.nextSibling,s=f(e)}s||(s=this._getStoredAttributes())}else{const e=this.getFirstRange();for(const o of e){if(o.item.is("element")&&t.isObject(o.item))break;if("text"==o.type){s=o.item.getAttributes();break}}}return s}_fixGraveyardSelection(e){const t=this._model.schema.getNearestSelectionRange(e);t&&this._pushRange(t)}}function f(e){return e instanceof c.Z||e instanceof a.Z?e.getAttributes():null}},"./packages/ckeditor5-engine/src/model/element.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>c});var o=s("./packages/ckeditor5-engine/src/model/node.js"),i=s("./packages/ckeditor5-engine/src/model/nodelist.js"),r=s("./packages/ckeditor5-engine/src/model/text.js"),n=s("./packages/ckeditor5-engine/src/model/textproxy.js"),a=s("./packages/ckeditor5-utils/src/isiterable.js");class c extends o.Z{constructor(e,t,s){super(t),this.name=e,this._children=new i.Z,s&&this._insertChild(0,s)}get childCount(){return this._children.length}get maxOffset(){return this._children.maxOffset}get isEmpty(){return 0===this.childCount}is(e,t=null){return t?t===this.name&&("element"===e||"model:element"===e):"element"===e||"model:element"===e||"node"===e||"model:node"===e}getChild(e){return this._children.getNode(e)}getChildren(){return this._children[Symbol.iterator]()}getChildIndex(e){return this._children.getNodeIndex(e)}getChildStartOffset(e){return this._children.getNodeStartOffset(e)}offsetToIndex(e){return this._children.offsetToIndex(e)}getNodeByPath(e){let t=this;for(const s of e)t=t.getChild(t.offsetToIndex(s));return t}findAncestor(e,t={includeSelf:!1}){let s=t.includeSelf?this:this.parent;for(;s;){if(s.name===e)return s;s=s.parent}return null}toJSON(){const e=super.toJSON();if(e.name=this.name,this._children.length>0){e.children=[];for(const t of this._children)e.children.push(t.toJSON())}return e}_clone(e=!1){const t=e?Array.from(this._children).map((e=>e._clone(!0))):null;return new c(this.name,this.getAttributes(),t)}_appendChild(e){this._insertChild(this.childCount,e)}_insertChild(e,t){const s=function(e){if("string"==typeof e)return[new r.Z(e)];(0,a.Z)(e)||(e=[e]);return Array.from(e).map((e=>"string"==typeof e?new r.Z(e):e instanceof n.Z?new r.Z(e.data,e.getAttributes()):e))}(t);for(const e of s)null!==e.parent&&e._remove(),e.parent=this;this._children._insertNodes(e,s)}_removeChildren(e,t=1){const s=this._children._removeNodes(e,t);for(const e of s)e.parent=null;return s}static fromJSON(e){let t=null;if(e.children){t=[];for(const s of e.children)s.name?t.push(c.fromJSON(s)):t.push(r.Z.fromJSON(s))}return new c(e.name,e.attributes,t)}}},"./packages/ckeditor5-engine/src/model/history.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});var o=s("./packages/ckeditor5-utils/src/index.js");class i{constructor(){this._operations=[],this._undoPairs=new Map,this._undoneOperations=new Set,this._baseVersionToOperationIndex=new Map,this._version=0,this._gaps=new Map}get version(){return this._version}set version(e){this._operations.length&&e>this._version+1&&this._gaps.set(this._version,e),this._version=e}get lastOperation(){return this._operations[this._operations.length-1]}addOperation(e){if(e.baseVersion!==this.version)throw new o.Bb("model-document-history-addoperation-incorrect-version",this,{operation:e,historyVersion:this.version});this._operations.push(e),this._version++,this._baseVersionToOperationIndex.set(e.baseVersion,this._operations.length-1)}getOperations(e,t=this.version){if(!this._operations.length)return[];const s=this._operations[0];void 0===e&&(e=s.baseVersion);let o=t-1;for(const[t,s]of this._gaps)e>t&&et&&othis.lastOperation.baseVersion)return[];let i=this._baseVersionToOperationIndex.get(e);void 0===i&&(i=0);let r=this._baseVersionToOperationIndex.get(o);return void 0===r&&(r=this._operations.length-1),this._operations.slice(i,r+1)}getOperation(e){const t=this._baseVersionToOperationIndex.get(e);if(void 0!==t)return this._operations[t]}setOperationAsUndone(e,t){this._undoPairs.set(t,e),this._undoneOperations.add(e)}isUndoingOperation(e){return this._undoPairs.has(e)}isUndoneOperation(e){return this._undoneOperations.has(e)}getUndoneOperation(e){return this._undoPairs.get(e)}reset(){this._version=0,this._undoPairs=new Map,this._operations=[],this._undoneOperations=new Set,this._gaps=new Map,this._baseVersionToOperationIndex=new Map}}},"./packages/ckeditor5-engine/src/model/liveposition.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});var o=s("./packages/ckeditor5-engine/src/model/position.js"),i=s("./packages/ckeditor5-utils/src/emittermixin.js"),r=s("./packages/ckeditor5-utils/src/mix.js"),n=s("./packages/ckeditor5-utils/src/ckeditorerror.js");class a extends o.ZP{constructor(e,t,s="toNone"){if(super(e,t,s),!this.root.is("rootElement"))throw new n.ZP("model-liveposition-root-not-rootelement",e);c.call(this)}detach(){this.stopListening()}is(e){return"livePosition"===e||"model:livePosition"===e||"position"==e||"model:position"===e}toPosition(){return new o.ZP(this.root,this.path.slice(),this.stickiness)}static fromPosition(e,t){return new this(e.root,e.path.slice(),t||e.stickiness)}}function c(){this.listenTo(this.root.document.model,"applyOperation",((e,t)=>{const s=t[0];s.isDocumentOperation&&l.call(this,s)}),{priority:"low"})}function l(e){const t=this.getTransformedByOperation(e);if(!this.isEqual(t)){const e=this.toPosition();this.path=t.path,this.root=t.root,this.fire("change",e)}}(0,r.Z)(a,i.ZP)},"./packages/ckeditor5-engine/src/model/liverange.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>n});var o=s("./packages/ckeditor5-engine/src/model/range.js"),i=s("./packages/ckeditor5-utils/src/emittermixin.js"),r=s("./packages/ckeditor5-utils/src/mix.js");class n extends o.Z{constructor(e,t){super(e,t),a.call(this)}detach(){this.stopListening()}is(e){return"liveRange"===e||"model:liveRange"===e||"range"==e||"model:range"===e}toRange(){return new o.Z(this.start,this.end)}static fromRange(e){return new n(e.start,e.end)}}function a(){this.listenTo(this.root.document.model,"applyOperation",((e,t)=>{const s=t[0];s.isDocumentOperation&&c.call(this,s)}),{priority:"low"})}function c(e){const t=this.getTransformedByOperation(e),s=o.Z._createFromRanges(t),i=!s.isEqual(this),r=function(e,t){switch(t.type){case"insert":return e.containsPosition(t.position);case"move":case"remove":case"reinsert":case"merge":return e.containsPosition(t.sourcePosition)||e.start.isEqual(t.sourcePosition)||e.containsPosition(t.targetPosition);case"split":return e.containsPosition(t.splitPosition)||e.containsPosition(t.insertionPosition)}return!1}(this,e);let n=null;if(i){"$graveyard"==s.root.rootName&&(n="remove"==e.type?e.sourcePosition:e.deletionPosition);const t=this.toRange();this.start=s.start,this.end=s.end,this.fire("change:range",t,{deletionPosition:n})}else r&&this.fire("change:content",this.toRange(),{deletionPosition:n})}(0,r.Z)(n,i.ZP)},"./packages/ckeditor5-engine/src/model/model.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>ye});var o=s("./packages/ckeditor5-utils/src/ckeditorerror.js");class i{constructor(e={}){"string"==typeof e&&(e="transparent"===e?{isUndoable:!1}:{},(0,o.KE)("batch-constructor-deprecated-string-type"));const{isUndoable:t=!0,isLocal:s=!0,isUndo:i=!1,isTyping:r=!1}=e;this.operations=[],this.isUndoable=t,this.isLocal=s,this.isUndo=i,this.isTyping=r}get type(){return(0,o.KE)("batch-type-deprecated"),"default"}get baseVersion(){for(const e of this.operations)if(null!==e.baseVersion)return e.baseVersion;return null}addOperation(e){return e.batch=this,this.operations.push(e),e}}var r=s("./packages/ckeditor5-engine/src/model/operation/attributeoperation.js"),n=s("./packages/ckeditor5-engine/src/model/operation/operation.js"),a=s("./packages/ckeditor5-engine/src/model/range.js"),c=s("./packages/ckeditor5-engine/src/model/operation/utils.js");class l extends n.Z{constructor(e,t){super(null),this.sourcePosition=e.clone(),this.howMany=t}get type(){return"detach"}toJSON(){const e=super.toJSON();return e.sourcePosition=this.sourcePosition.toJSON(),e}_validate(){if(this.sourcePosition.root.document)throw new o.ZP("detach-operation-on-document-node",this)}_execute(){(0,c.X9)(a.Z._createFromPositionAndShift(this.sourcePosition,this.howMany))}static get className(){return"DetachOperation"}}var d=s("./packages/ckeditor5-engine/src/model/operation/insertoperation.js"),h=s("./packages/ckeditor5-engine/src/model/operation/markeroperation.js"),u=s("./packages/ckeditor5-engine/src/model/operation/moveoperation.js"),p=s("./packages/ckeditor5-engine/src/model/operation/renameoperation.js"),g=s("./packages/ckeditor5-engine/src/model/operation/rootattributeoperation.js"),m=s("./packages/ckeditor5-engine/src/model/operation/splitoperation.js"),f=s("./packages/ckeditor5-engine/src/model/operation/mergeoperation.js"),k=s("./packages/ckeditor5-engine/src/model/documentfragment.js"),_=s("./packages/ckeditor5-engine/src/model/text.js"),b=s("./packages/ckeditor5-engine/src/model/element.js");class w extends b.Z{constructor(e,t,s="main"){super(t),this._document=e,this.rootName=s}get document(){return this._document}is(e,t){return t?t===this.name&&("rootElement"===e||"model:rootElement"===e||"element"===e||"model:element"===e):"rootElement"===e||"model:rootElement"===e||"element"===e||"model:element"===e||"node"===e||"model:node"===e}toJSON(){return this.rootName}}var v=s("./packages/ckeditor5-engine/src/model/position.js"),y=s("./packages/ckeditor5-engine/src/model/documentselection.js"),Z=s("./packages/ckeditor5-utils/src/tomap.js");class P{constructor(e,t){this.model=e,this.batch=t}createText(e,t){return new _.Z(e,t)}createElement(e,t){return new b.Z(e,t)}createDocumentFragment(){return new k.Z}cloneElement(e,t=!0){return e._clone(t)}insert(e,t,s=0){if(this._assertWriterUsedCorrectly(),e instanceof _.Z&&""==e.data)return;const i=v.ZP._createAt(t,s);if(e.parent){if(C(e.root,i.root))return void this.move(a.Z._createOn(e),i);if(e.root.document)throw new o.ZP("model-writer-insert-forbidden-move",this);this.remove(e)}const r=i.root.document?i.root.document.version:null,n=new d.Z(i,e,r);if(e instanceof _.Z&&(n.shouldReceiveAttributes=!0),this.batch.addOperation(n),this.model.applyOperation(n),e instanceof k.Z)for(const[t,s]of e.markers){const e=v.ZP._createAt(s.root,0),o={range:new a.Z(s.start._getCombined(e,i),s.end._getCombined(e,i)),usingOperation:!0,affectsData:!0};this.model.markers.has(t)?this.updateMarker(t,o):this.addMarker(t,o)}}insertText(e,t,s,o){t instanceof k.Z||t instanceof b.Z||t instanceof v.ZP?this.insert(this.createText(e),t,s):this.insert(this.createText(e,t),s,o)}insertElement(e,t,s,o){t instanceof k.Z||t instanceof b.Z||t instanceof v.ZP?this.insert(this.createElement(e),t,s):this.insert(this.createElement(e,t),s,o)}append(e,t){this.insert(e,t,"end")}appendText(e,t,s){t instanceof k.Z||t instanceof b.Z?this.insert(this.createText(e),t,"end"):this.insert(this.createText(e,t),s,"end")}appendElement(e,t,s){t instanceof k.Z||t instanceof b.Z?this.insert(this.createElement(e),t,"end"):this.insert(this.createElement(e,t),s,"end")}setAttribute(e,t,s){if(this._assertWriterUsedCorrectly(),s instanceof a.Z){const o=s.getMinimalFlatRanges();for(const s of o)j(this,e,t,s)}else x(this,e,t,s)}setAttributes(e,t){for(const[s,o]of(0,Z.Z)(e))this.setAttribute(s,o,t)}removeAttribute(e,t){if(this._assertWriterUsedCorrectly(),t instanceof a.Z){const s=t.getMinimalFlatRanges();for(const t of s)j(this,e,null,t)}else x(this,e,null,t)}clearAttributes(e){this._assertWriterUsedCorrectly();const t=e=>{for(const t of e.getAttributeKeys())this.removeAttribute(t,e)};if(e instanceof a.Z)for(const s of e.getItems())t(s);else t(e)}move(e,t,s){if(this._assertWriterUsedCorrectly(),!(e instanceof a.Z))throw new o.ZP("writer-move-invalid-range",this);if(!e.isFlat)throw new o.ZP("writer-move-range-not-flat",this);const i=v.ZP._createAt(t,s);if(i.isEqual(e.start))return;if(this._addOperationForAffectedMarkers("move",e),!C(e.root,i.root))throw new o.ZP("writer-move-different-document",this);const r=e.root.document?e.root.document.version:null,n=new u.Z(e.start,e.end.offset-e.start.offset,i,r);this.batch.addOperation(n),this.model.applyOperation(n)}remove(e){this._assertWriterUsedCorrectly();const t=(e instanceof a.Z?e:a.Z._createOn(e)).getMinimalFlatRanges().reverse();for(const e of t)this._addOperationForAffectedMarkers("move",e),T(e.start,e.end.offset-e.start.offset,this.batch,this.model)}merge(e){this._assertWriterUsedCorrectly();const t=e.nodeBefore,s=e.nodeAfter;if(this._addOperationForAffectedMarkers("merge",e),!(t instanceof b.Z))throw new o.ZP("writer-merge-no-element-before",this);if(!(s instanceof b.Z))throw new o.ZP("writer-merge-no-element-after",this);e.root.document?this._merge(e):this._mergeDetached(e)}createPositionFromPath(e,t,s){return this.model.createPositionFromPath(e,t,s)}createPositionAt(e,t){return this.model.createPositionAt(e,t)}createPositionAfter(e){return this.model.createPositionAfter(e)}createPositionBefore(e){return this.model.createPositionBefore(e)}createRange(e,t){return this.model.createRange(e,t)}createRangeIn(e){return this.model.createRangeIn(e)}createRangeOn(e){return this.model.createRangeOn(e)}createSelection(e,t,s){return this.model.createSelection(e,t,s)}_mergeDetached(e){const t=e.nodeBefore,s=e.nodeAfter;this.move(a.Z._createIn(s),v.ZP._createAt(t,"end")),this.remove(s)}_merge(e){const t=v.ZP._createAt(e.nodeBefore,"end"),s=v.ZP._createAt(e.nodeAfter,0),o=e.root.document.graveyard,i=new v.ZP(o,[0]),r=e.root.document.version,n=new f.Z(s,e.nodeAfter.maxOffset,t,i,r);this.batch.addOperation(n),this.model.applyOperation(n)}rename(e,t){if(this._assertWriterUsedCorrectly(),!(e instanceof b.Z))throw new o.ZP("writer-rename-not-element-instance",this);const s=e.root.document?e.root.document.version:null,i=new p.Z(v.ZP._createBefore(e),e.name,t,s);this.batch.addOperation(i),this.model.applyOperation(i)}split(e,t){this._assertWriterUsedCorrectly();let s,i,r=e.parent;if(!r.parent)throw new o.ZP("writer-split-element-no-parent",this);if(t||(t=r.parent),!e.parent.getAncestors({includeSelf:!0}).includes(t))throw new o.ZP("writer-split-invalid-limit-element",this);do{const t=r.root.document?r.root.document.version:null,o=r.maxOffset-e.offset,n=m.Z.getInsertionPosition(e),a=new m.Z(e,o,n,null,t);this.batch.addOperation(a),this.model.applyOperation(a),s||i||(s=r,i=e.parent.nextSibling),r=(e=this.createPositionAfter(e.parent)).parent}while(r!==t);return{position:e,range:new a.Z(v.ZP._createAt(s,"end"),v.ZP._createAt(i,0))}}wrap(e,t){if(this._assertWriterUsedCorrectly(),!e.isFlat)throw new o.ZP("writer-wrap-range-not-flat",this);const s=t instanceof b.Z?t:new b.Z(t);if(s.childCount>0)throw new o.ZP("writer-wrap-element-not-empty",this);if(null!==s.parent)throw new o.ZP("writer-wrap-element-attached",this);this.insert(s,e.start);const i=new a.Z(e.start.getShiftedBy(1),e.end.getShiftedBy(1));this.move(i,v.ZP._createAt(s,0))}unwrap(e){if(this._assertWriterUsedCorrectly(),null===e.parent)throw new o.ZP("writer-unwrap-element-no-parent",this);this.move(a.Z._createIn(e),this.createPositionAfter(e)),this.remove(e)}addMarker(e,t){if(this._assertWriterUsedCorrectly(),!t||"boolean"!=typeof t.usingOperation)throw new o.ZP("writer-addmarker-no-usingoperation",this);const s=t.usingOperation,i=t.range,r=void 0!==t.affectsData&&t.affectsData;if(this.model.markers.has(e))throw new o.ZP("writer-addmarker-marker-exists",this);if(!i)throw new o.ZP("writer-addmarker-no-range",this);return s?(A(this,e,null,i,r),this.model.markers.get(e)):this.model.markers._set(e,i,s,r)}updateMarker(e,t){this._assertWriterUsedCorrectly();const s="string"==typeof e?e:e.name,i=this.model.markers.get(s);if(!i)throw new o.ZP("writer-updatemarker-marker-not-exists",this);if(!t)return(0,o.KE)("writer-updatemarker-reconvert-using-editingcontroller",{markerName:s}),void this.model.markers._refresh(i);const r="boolean"==typeof t.usingOperation,n="boolean"==typeof t.affectsData,a=n?t.affectsData:i.affectsData;if(!r&&!t.range&&!n)throw new o.ZP("writer-updatemarker-wrong-options",this);const c=i.getRange(),l=t.range?t.range:c;r&&t.usingOperation!==i.managedUsingOperations?t.usingOperation?A(this,s,null,l,a):(A(this,s,c,null,a),this.model.markers._set(s,l,void 0,a)):i.managedUsingOperations?A(this,s,c,l,a):this.model.markers._set(s,l,void 0,a)}removeMarker(e){this._assertWriterUsedCorrectly();const t="string"==typeof e?e:e.name;if(!this.model.markers.has(t))throw new o.ZP("writer-removemarker-no-marker",this);const s=this.model.markers.get(t);if(!s.managedUsingOperations)return void this.model.markers._remove(t);A(this,t,s.getRange(),null,s.affectsData)}setSelection(e,t,s){this._assertWriterUsedCorrectly(),this.model.document.selection._setTo(e,t,s)}setSelectionFocus(e,t){this._assertWriterUsedCorrectly(),this.model.document.selection._setFocus(e,t)}setSelectionAttribute(e,t){if(this._assertWriterUsedCorrectly(),"string"==typeof e)this._setSelectionAttribute(e,t);else for(const[t,s]of(0,Z.Z)(e))this._setSelectionAttribute(t,s)}removeSelectionAttribute(e){if(this._assertWriterUsedCorrectly(),"string"==typeof e)this._removeSelectionAttribute(e);else for(const t of e)this._removeSelectionAttribute(t)}overrideSelectionGravity(){return this.model.document.selection._overrideGravity()}restoreSelectionGravity(e){this.model.document.selection._restoreGravity(e)}_setSelectionAttribute(e,t){const s=this.model.document.selection;if(s.isCollapsed&&s.anchor.parent.isEmpty){const o=y.Z._getStoreAttributeKey(e);this.setAttribute(o,t,s.anchor.parent)}s._setAttribute(e,t)}_removeSelectionAttribute(e){const t=this.model.document.selection;if(t.isCollapsed&&t.anchor.parent.isEmpty){const s=y.Z._getStoreAttributeKey(e);this.removeAttribute(s,t.anchor.parent)}t._removeAttribute(e)}_assertWriterUsedCorrectly(){if(this.model._currentWriter!==this)throw new o.ZP("writer-incorrect-use",this)}_addOperationForAffectedMarkers(e,t){for(const s of this.model.markers){if(!s.managedUsingOperations)continue;const o=s.getRange();let i=!1;if("move"===e)i=t.containsPosition(o.start)||t.start.isEqual(o.start)||t.containsPosition(o.end)||t.end.isEqual(o.end);else{const e=t.nodeBefore,s=t.nodeAfter,r=o.start.parent==e&&o.start.isAtEnd,n=o.end.parent==s&&0==o.end.offset,a=o.end.nodeAfter==s,c=o.start.nodeAfter==s;i=r||n||a||c}i&&this.updateMarker(s.name,{range:o})}}}function j(e,t,s,o){const i=e.model,n=i.document;let c,l,d,h=o.start;for(const e of o.getWalker({shallow:!0}))d=e.item.getAttribute(t),c&&l!=d&&(l!=s&&u(),h=c),c=e.nextPosition,l=d;function u(){const o=new a.Z(h,c),d=o.root.document?n.version:null,u=new r.Z(o,t,l,s,d);e.batch.addOperation(u),i.applyOperation(u)}c instanceof v.ZP&&c!=h&&l!=s&&u()}function x(e,t,s,o){const i=e.model,n=i.document,c=o.getAttribute(t);let l,d;if(c!=s){if(o.root===o){const e=o.document?n.version:null;d=new g.Z(o,t,c,s,e)}else{l=new a.Z(v.ZP._createBefore(o),e.createPositionAfter(o));const i=l.root.document?n.version:null;d=new r.Z(l,t,c,s,i)}e.batch.addOperation(d),i.applyOperation(d)}}function A(e,t,s,o,i){const r=e.model,n=r.document,a=new h.Z(t,s,o,r.markers,i,n.version);e.batch.addOperation(a),r.applyOperation(a)}function T(e,t,s,o){let i;if(e.root.document){const s=o.document,r=new v.ZP(s.graveyard,[0]);i=new u.Z(e,t,r,s.version)}else i=new l(e,t);s.addOperation(i),o.applyOperation(i)}function C(e,t){return e===t||e instanceof w&&t instanceof w}var E=s("./packages/ckeditor5-engine/src/model/schema.js");class S{constructor(e){this._markerCollection=e,this._changesInElement=new Map,this._elementSnapshots=new Map,this._changedMarkers=new Map,this._changeCount=0,this._cachedChanges=null,this._cachedChangesWithGraveyard=null,this._refreshedItems=new Set}get isEmpty(){return 0==this._changesInElement.size&&0==this._changedMarkers.size}bufferOperation(e){switch(e.type){case"insert":if(this._isInInsertedElement(e.position.parent))return;this._markInsert(e.position.parent,e.position.offset,e.nodes.maxOffset);break;case"addAttribute":case"removeAttribute":case"changeAttribute":for(const t of e.range.getItems({shallow:!0}))this._isInInsertedElement(t.parent)||this._markAttribute(t);break;case"remove":case"move":case"reinsert":{if(e.sourcePosition.isEqual(e.targetPosition)||e.sourcePosition.getShiftedBy(e.howMany).isEqual(e.targetPosition))return;const t=this._isInInsertedElement(e.sourcePosition.parent),s=this._isInInsertedElement(e.targetPosition.parent);t||this._markRemove(e.sourcePosition.parent,e.sourcePosition.offset,e.howMany),s||this._markInsert(e.targetPosition.parent,e.getMovedRangeStart().offset,e.howMany);break}case"rename":{if(this._isInInsertedElement(e.position.parent))return;this._markRemove(e.position.parent,e.position.offset,1),this._markInsert(e.position.parent,e.position.offset,1);const t=a.Z._createFromPositionAndShift(e.position,1);for(const e of this._markerCollection.getMarkersIntersectingRange(t)){const t=e.getData();this.bufferMarkerChange(e.name,t,t)}break}case"split":{const t=e.splitPosition.parent;this._isInInsertedElement(t)||this._markRemove(t,e.splitPosition.offset,e.howMany),this._isInInsertedElement(e.insertionPosition.parent)||this._markInsert(e.insertionPosition.parent,e.insertionPosition.offset,1),e.graveyardPosition&&this._markRemove(e.graveyardPosition.parent,e.graveyardPosition.offset,1);break}case"merge":{const t=e.sourcePosition.parent;this._isInInsertedElement(t.parent)||this._markRemove(t.parent,t.startOffset,1);const s=e.graveyardPosition.parent;this._markInsert(s,e.graveyardPosition.offset,1);const o=e.targetPosition.parent;this._isInInsertedElement(o)||this._markInsert(o,e.targetPosition.offset,t.maxOffset);break}}this._cachedChanges=null}bufferMarkerChange(e,t,s){const o=this._changedMarkers.get(e);o?(o.newMarkerData=s,null==o.oldMarkerData.range&&null==s.range&&this._changedMarkers.delete(e)):this._changedMarkers.set(e,{newMarkerData:s,oldMarkerData:t})}getMarkersToRemove(){const e=[];for(const[t,s]of this._changedMarkers)null!=s.oldMarkerData.range&&e.push({name:t,range:s.oldMarkerData.range});return e}getMarkersToAdd(){const e=[];for(const[t,s]of this._changedMarkers)null!=s.newMarkerData.range&&e.push({name:t,range:s.newMarkerData.range});return e}getChangedMarkers(){return Array.from(this._changedMarkers).map((([e,t])=>({name:e,data:{oldRange:t.oldMarkerData.range,newRange:t.newMarkerData.range}})))}hasDataChanges(){if(this._changesInElement.size>0)return!0;for(const{newMarkerData:e,oldMarkerData:t}of this._changedMarkers.values()){if(e.affectsData!==t.affectsData)return!0;if(e.affectsData){const s=e.range&&!t.range,o=!e.range&&t.range,i=e.range&&t.range&&!e.range.isEqual(t.range);if(s||o||i)return!0}}return!1}getChanges(e={includeChangesInGraveyard:!1}){if(this._cachedChanges)return e.includeChangesInGraveyard?this._cachedChangesWithGraveyard.slice():this._cachedChanges.slice();let t=[];for(const e of this._changesInElement.keys()){const s=this._changesInElement.get(e).sort(((e,t)=>e.offset===t.offset?e.type!=t.type?"remove"==e.type?-1:1:0:e.offsete.position.root!=t.position.root?e.position.root.rootNamee));for(const e of t)delete e.changeCount,"attribute"==e.type&&(delete e.position,delete e.length);return this._changeCount=0,this._cachedChangesWithGraveyard=t,this._cachedChanges=t.filter(M),e.includeChangesInGraveyard?this._cachedChangesWithGraveyard.slice():this._cachedChanges.slice()}getRefreshedItems(){return new Set(this._refreshedItems)}reset(){this._changesInElement.clear(),this._elementSnapshots.clear(),this._changedMarkers.clear(),this._refreshedItems=new Set,this._cachedChanges=null}_refreshItem(e){if(this._isInInsertedElement(e.parent))return;this._markRemove(e.parent,e.startOffset,e.offsetSize),this._markInsert(e.parent,e.startOffset,e.offsetSize),this._refreshedItems.add(e);const t=a.Z._createOn(e);for(const e of this._markerCollection.getMarkersIntersectingRange(t)){const t=e.getData();this.bufferMarkerChange(e.name,t,t)}this._cachedChanges=null}_markInsert(e,t,s){const o={type:"insert",offset:t,howMany:s,count:this._changeCount++};this._markChange(e,o)}_markRemove(e,t,s){const o={type:"remove",offset:t,howMany:s,count:this._changeCount++};this._markChange(e,o),this._removeAllNestedChanges(e,t,s)}_markAttribute(e){const t={type:"attribute",offset:e.startOffset,howMany:e.offsetSize,count:this._changeCount++};this._markChange(e.parent,t)}_markChange(e,t){this._makeSnapshot(e);const s=this._getChangesForElement(e);this._handleChange(t,s),s.push(t);for(let e=0;es.offset){if(o>i){const e={type:"attribute",offset:i,howMany:o-i,count:this._changeCount++};this._handleChange(e,t),t.push(e)}e.nodesToHandle=s.offset-e.offset,e.howMany=e.nodesToHandle}else e.offset>=s.offset&&e.offseti?(e.nodesToHandle=o-i,e.offset=i):e.nodesToHandle=0);if("remove"==s.type&&e.offsets.offset){const i={type:"attribute",offset:s.offset,howMany:o-s.offset,count:this._changeCount++};this._handleChange(i,t),t.push(i),e.nodesToHandle=s.offset-e.offset,e.howMany=e.nodesToHandle}"attribute"==s.type&&(e.offset>=s.offset&&o<=i?(e.nodesToHandle=0,e.howMany=0,e.offset=0):e.offset<=s.offset&&o>=i&&(s.howMany=0))}}e.howMany=e.nodesToHandle,delete e.nodesToHandle}_getInsertDiff(e,t,s){return{type:"insert",position:v.ZP._createAt(e,t),name:s.name,attributes:new Map(s.attributes),length:1,changeCount:this._changeCount++}}_getRemoveDiff(e,t,s){return{type:"remove",position:v.ZP._createAt(e,t),name:s.name,attributes:new Map(s.attributes),length:1,changeCount:this._changeCount++}}_getAttributesDiff(e,t,s){const o=[];s=new Map(s);for(const[i,r]of t){const t=s.has(i)?s.get(i):null;t!==r&&o.push({type:"attribute",position:e.start,range:e.clone(),length:1,attributeKey:i,attributeOldValue:r,attributeNewValue:t,changeCount:this._changeCount++}),s.delete(i)}for(const[t,i]of s)o.push({type:"attribute",position:e.start,range:e.clone(),length:1,attributeKey:t,attributeOldValue:null,attributeNewValue:i,changeCount:this._changeCount++});return o}_isInInsertedElement(e){const t=e.parent;if(!t)return!1;const s=this._changesInElement.get(t),o=e.startOffset;if(s)for(const e of s)if("insert"==e.type&&o>=e.offset&&oo){for(let t=0;te.source)).join("|")+")";return new RegExp(`${e}|${t}(?:‍${t})*`,"ug")}();function L(e,t){const s=String(e).matchAll(F);return Array.from(s).some((e=>e.index{const s=t[0];s.isDocumentOperation&&this.differ.bufferOperation(s)}),{priority:"high"}),this.listenTo(e,"applyOperation",((e,t)=>{const s=t[0];s.isDocumentOperation&&this.history.addOperation(s)}),{priority:"low"}),this.listenTo(this.selection,"change",(()=>{this._hasSelectionChangedFromTheLastChangeBlock=!0})),this.listenTo(e.markers,"update",((e,t,s,o,i)=>{const r={...t.getData(),range:o};this.differ.bufferMarkerChange(t.name,i,r),null===s&&t.on("change",((e,s)=>{const o=t.getData();this.differ.bufferMarkerChange(t.name,{...o,range:s},o)}))}))}get version(){return this.history.version}set version(e){this.history.version=e}get graveyard(){return this.getRoot(q)}createRoot(e="$root",t="main"){if(this.roots.get(t))throw new o.ZP("model-document-createroot-name-exists",this,{name:t});const s=new w(this,e,t);return this.roots.add(s),s}destroy(){this.selection.destroy(),this.stopListening()}getRoot(e="main"){return this.roots.get(e)}getRootNames(){return Array.from(this.roots,(e=>e.rootName)).filter((e=>e!=q))}registerPostFixer(e){this._postFixers.add(e)}toJSON(){const e=(0,W.Z)(this);return e.selection="[engine.model.DocumentSelection]",e.model="[engine.model.Model]",e}_handleChangeBlock(e){this._hasDocumentChangedFromTheLastChangeBlock()&&(this._callPostFixers(e),this.selection.refresh(),this.differ.hasDataChanges()?this.fire("change:data",e.batch):this.fire("change",e.batch),this.selection.refresh(),this.differ.reset()),this._hasSelectionChangedFromTheLastChangeBlock=!1}_hasDocumentChangedFromTheLastChangeBlock(){return!this.differ.isEmpty||this._hasSelectionChangedFromTheLastChangeBlock}_getDefaultRoot(){for(const e of this.roots)if(e!==this.graveyard)return e;return this.graveyard}_getDefaultRange(){const e=this._getDefaultRoot(),t=this.model,s=t.schema,o=t.createPositionFromPath(e,[0]);return s.getNearestSelectionRange(o)||t.createRange(o)}_validateSelectionRange(e){return H(e.start)&&H(e.end)}_callPostFixers(e){let t=!1;do{for(const s of this._postFixers)if(this.selection.refresh(),t=s(e),t)break}while(t)}}function H(e){const t=e.textNode;if(t){const s=t.data,o=e.offset-t.startOffset;return!D(s,o)&&!B(s,o)}return!0}(0,z.Z)($,V.ZP);var U=s("./packages/ckeditor5-engine/src/model/liverange.js");class K{constructor(){this._markers=new Map}[Symbol.iterator](){return this._markers.values()}has(e){const t=e instanceof G?e.name:e;return this._markers.has(t)}get(e){return this._markers.get(e)||null}_set(e,t,s=!1,i=!1){const r=e instanceof G?e.name:e;if(r.includes(","))throw new o.ZP("markercollection-incorrect-marker-name",this);const n=this._markers.get(r);if(n){const e=n.getData(),o=n.getRange();let a=!1;return o.isEqual(t)||(n._attachLiveRange(U.Z.fromRange(t)),a=!0),s!=n.managedUsingOperations&&(n._managedUsingOperations=s,a=!0),"boolean"==typeof i&&i!=n.affectsData&&(n._affectsData=i,a=!0),a&&this.fire("update:"+r,n,o,t,e),n}const a=U.Z.fromRange(t),c=new G(r,a,s,i);return this._markers.set(r,c),this.fire("update:"+r,c,null,t,{...c.getData(),range:null}),c}_remove(e){const t=e instanceof G?e.name:e,s=this._markers.get(t);return!!s&&(this._markers.delete(t),this.fire("update:"+t,s,s.getRange(),null,s.getData()),this._destroyMarker(s),!0)}_refresh(e){const t=e instanceof G?e.name:e,s=this._markers.get(t);if(!s)throw new o.ZP("markercollection-refresh-marker-not-exists",this);const i=s.getRange();this.fire("update:"+t,s,i,i,s.getData())}*getMarkersAtPosition(e){for(const t of this)t.getRange().containsPosition(e)&&(yield t)}*getMarkersIntersectingRange(e){for(const t of this)null!==t.getRange().getIntersection(e)&&(yield t)}destroy(){for(const e of this._markers.values())this._destroyMarker(e);this._markers=null,this.stopListening()}*getMarkersGroup(e){for(const t of this._markers.values())t.name.startsWith(e+":")&&(yield t)}_destroyMarker(e){e.stopListening(),e._detachLiveRange()}}(0,z.Z)(K,V.ZP);class G{constructor(e,t,s,o){this.name=e,this._liveRange=this._attachLiveRange(t),this._managedUsingOperations=s,this._affectsData=o}get managedUsingOperations(){if(!this._liveRange)throw new o.ZP("marker-destroyed",this);return this._managedUsingOperations}get affectsData(){if(!this._liveRange)throw new o.ZP("marker-destroyed",this);return this._affectsData}getData(){return{range:this.getRange(),affectsData:this.affectsData,managedUsingOperations:this.managedUsingOperations}}getStart(){if(!this._liveRange)throw new o.ZP("marker-destroyed",this);return this._liveRange.start.clone()}getEnd(){if(!this._liveRange)throw new o.ZP("marker-destroyed",this);return this._liveRange.end.clone()}getRange(){if(!this._liveRange)throw new o.ZP("marker-destroyed",this);return this._liveRange.toRange()}is(e){return"marker"===e||"model:marker"===e}_attachLiveRange(e){return this._liveRange&&this._detachLiveRange(),e.delegate("change:range").to(this),e.delegate("change:content").to(this),this._liveRange=e,e}_detachLiveRange(){this._liveRange.stopDelegating("change:range",this),this._liveRange.stopDelegating("change:content",this),this._liveRange.detach(),this._liveRange=null}}(0,z.Z)(G,V.ZP);var J=s("./packages/ckeditor5-utils/src/observablemixin.js"),X=s("./packages/ckeditor5-engine/src/model/selection.js"),Q=s("./packages/ckeditor5-engine/src/model/operation/operationfactory.js"),Y=s("./packages/ckeditor5-engine/src/model/liveposition.js");class ee{constructor(e,t,s){this.model=e,this.writer=t,this.position=s,this.canMergeWith=new Set([this.position.parent]),this.schema=e.schema,this._documentFragment=t.createDocumentFragment(),this._documentFragmentPosition=t.createPositionAt(this._documentFragment,0),this._firstNode=null,this._lastNode=null,this._lastAutoParagraph=null,this._filterAttributesOf=[],this._affectedStart=null,this._affectedEnd=null}handleNodes(e){for(const t of Array.from(e))this._handleNode(t);this._insertPartialFragment(),this._lastAutoParagraph&&this._updateLastNodeFromAutoParagraph(this._lastAutoParagraph),this._mergeOnRight(),this.schema.removeDisallowedAttributes(this._filterAttributesOf,this.writer),this._filterAttributesOf=[]}_updateLastNodeFromAutoParagraph(e){const t=this.writer.createPositionAfter(this._lastNode),s=this.writer.createPositionAfter(e);if(s.isAfter(t)){if(this._lastNode=e,this.position.parent!=e||!this.position.isAtEnd)throw new o.ZP("insertcontent-invalid-insertion-position",this);this.position=s,this._setAffectedBoundaries(this.position)}}getSelectionRange(){return this.nodeToSelect?a.Z._createOn(this.nodeToSelect):this.model.schema.getNearestSelectionRange(this.position)}getAffectedRange(){return this._affectedStart?new a.Z(this._affectedStart,this._affectedEnd):null}destroy(){this._affectedStart&&this._affectedStart.detach(),this._affectedEnd&&this._affectedEnd.detach()}_handleNode(e){if(this.schema.isObject(e))return void this._handleObject(e);let t=this._checkAndAutoParagraphToAllowedPosition(e);t||(t=this._checkAndSplitToAllowedPosition(e),t)?(this._appendToFragment(e),this._firstNode||(this._firstNode=e),this._lastNode=e):this._handleDisallowedNode(e)}_insertPartialFragment(){if(this._documentFragment.isEmpty)return;const e=Y.Z.fromPosition(this.position,"toNext");this._setAffectedBoundaries(this.position),this._documentFragment.getChild(0)==this._firstNode&&(this.writer.insert(this._firstNode,this.position),this._mergeOnLeft(),this.position=e.toPosition()),this._documentFragment.isEmpty||this.writer.insert(this._documentFragment,this.position),this._documentFragmentPosition=this.writer.createPositionAt(this._documentFragment,0),this.position=e.toPosition(),e.detach()}_handleObject(e){this._checkAndSplitToAllowedPosition(e)?this._appendToFragment(e):this._tryAutoparagraphing(e)}_handleDisallowedNode(e){e.is("element")?this.handleNodes(e.getChildren()):this._tryAutoparagraphing(e)}_appendToFragment(e){if(!this.schema.checkChild(this.position,e))throw new o.ZP("insertcontent-wrong-position",this,{node:e,position:this.position});this.writer.insert(e,this._documentFragmentPosition),this._documentFragmentPosition=this._documentFragmentPosition.getShiftedBy(e.offsetSize),this.schema.isObject(e)&&!this.schema.checkChild(this.position,"$text")?this.nodeToSelect=e:this.nodeToSelect=null,this._filterAttributesOf.push(e)}_setAffectedBoundaries(e){this._affectedStart||(this._affectedStart=Y.Z.fromPosition(e,"toPrevious")),this._affectedEnd&&!this._affectedEnd.isBefore(e)||(this._affectedEnd&&this._affectedEnd.detach(),this._affectedEnd=Y.Z.fromPosition(e,"toNext"))}_mergeOnLeft(){const e=this._firstNode;if(!(e instanceof b.Z))return;if(!this._canMergeLeft(e))return;const t=Y.Z._createBefore(e);t.stickiness="toNext";const s=Y.Z.fromPosition(this.position,"toNext");this._affectedStart.isEqual(t)&&(this._affectedStart.detach(),this._affectedStart=Y.Z._createAt(t.nodeBefore,"end","toPrevious")),this._firstNode===this._lastNode&&(this._firstNode=t.nodeBefore,this._lastNode=t.nodeBefore),this.writer.merge(t),t.isEqual(this._affectedEnd)&&this._firstNode===this._lastNode&&(this._affectedEnd.detach(),this._affectedEnd=Y.Z._createAt(t.nodeBefore,"end","toNext")),this.position=s.toPosition(),s.detach(),this._filterAttributesOf.push(this.position.parent),t.detach()}_mergeOnRight(){const e=this._lastNode;if(!(e instanceof b.Z))return;if(!this._canMergeRight(e))return;const t=Y.Z._createAfter(e);if(t.stickiness="toNext",!this.position.isEqual(t))throw new o.ZP("insertcontent-invalid-insertion-position",this);this.position=v.ZP._createAt(t.nodeBefore,"end");const s=Y.Z.fromPosition(this.position,"toPrevious");this._affectedEnd.isEqual(t)&&(this._affectedEnd.detach(),this._affectedEnd=Y.Z._createAt(t.nodeBefore,"end","toNext")),this._firstNode===this._lastNode&&(this._firstNode=t.nodeBefore,this._lastNode=t.nodeBefore),this.writer.merge(t),t.getShiftedBy(-1).isEqual(this._affectedStart)&&this._firstNode===this._lastNode&&(this._affectedStart.detach(),this._affectedStart=Y.Z._createAt(t.nodeBefore,0,"toPrevious")),this.position=s.toPosition(),s.detach(),this._filterAttributesOf.push(this.position.parent),t.detach()}_canMergeLeft(e){const t=e.previousSibling;return t instanceof b.Z&&this.canMergeWith.has(t)&&this.model.schema.checkMerge(t,e)}_canMergeRight(e){const t=e.nextSibling;return t instanceof b.Z&&this.canMergeWith.has(t)&&this.model.schema.checkMerge(e,t)}_tryAutoparagraphing(e){const t=this.writer.createElement("paragraph");this._getAllowedIn(this.position.parent,t)&&this.schema.checkChild(t,e)&&(t._appendChild(e),this._handleNode(t))}_checkAndAutoParagraphToAllowedPosition(e){if(this.schema.checkChild(this.position.parent,e))return!0;if(!this.schema.checkChild(this.position.parent,"paragraph")||!this.schema.checkChild("paragraph",e))return!1;this._insertPartialFragment();const t=this.writer.createElement("paragraph");return this.writer.insert(t,this.position),this._setAffectedBoundaries(this.position),this._lastAutoParagraph=t,this.position=this.writer.createPositionAt(t,0),!0}_checkAndSplitToAllowedPosition(e){const t=this._getAllowedIn(this.position.parent,e);if(!t)return!1;for(t!=this.position.parent&&this._insertPartialFragment();t!=this.position.parent;)if(this.position.isAtStart){const e=this.position.parent;this.position=this.writer.createPositionBefore(e),e.isEmpty&&e.parent===t&&this.writer.remove(e)}else if(this.position.isAtEnd)this.position=this.writer.createPositionAfter(this.position.parent);else{const e=this.writer.createPositionAfter(this.position.parent);this._setAffectedBoundaries(this.position),this.writer.split(this.position),this.position=e,this.canMergeWith.add(this.position.nodeAfter)}return!0}_getAllowedIn(e,t){return this.schema.checkChild(e,t)?e:this.schema.isLimit(e)?null:this._getAllowedIn(e.parent,t)}}var te=s("./packages/ckeditor5-utils/src/first.js"),se=s("./packages/ckeditor5-engine/src/model/utils/findoptimalinsertionrange.js");function oe(e,t,s,i,r={}){if(!e.schema.isObject(t))throw new o.ZP("insertobject-element-not-an-object",e,{object:t});let n;n=s?s.is("selection")?s:e.createSelection(s,i):e.document.selection;let a=n;r.findOptimalPosition&&e.schema.isBlock(t)&&(a=e.createSelection((0,se.K)(n,e,r.findOptimalPosition)));const c=(0,te.Z)(n.getSelectedBlocks()),l={};return c&&Object.assign(l,e.schema.getAttributesWithProperty(c,"copyOnReplace",!0)),e.change((s=>{a.isCollapsed||e.deleteContent(a,{doNotAutoparagraph:!0});let i=t;const n=a.anchor.parent;!e.schema.checkChild(n,t)&&e.schema.checkChild(n,"paragraph")&&e.schema.checkChild("paragraph",t)&&(i=s.createElement("paragraph"),s.insert(t,i)),e.schema.setAllowedAttributes(i,l,s);const c=e.insertContent(i,a);return c.isCollapsed||r.setSelection&&function(e,t,s,i){const r=e.model;if("after"==s){let s=t.nextSibling;!(s&&r.schema.checkChild(s,"$text"))&&r.schema.checkChild(t.parent,"paragraph")&&(s=e.createElement("paragraph"),r.schema.setAllowedAttributes(s,i,e),r.insertContent(s,e.createPositionAfter(t))),s&&e.setSelection(s,0)}else{if("on"!=s)throw new o.ZP("insertobject-invalid-place-parameter-value",r);e.setSelection(t,"on")}}(s,t,r.setSelection,l),c}))}function ie(e,t,s={}){if(t.isCollapsed)return;const o=t.getFirstRange();if("$graveyard"==o.root.rootName)return;const i=e.schema;e.change((e=>{if(!s.doNotResetEntireContent&&function(e,t){const s=e.getLimitElement(t);if(!t.containsEntireContent(s))return!1;const o=t.getFirstRange();if(o.start.parent==o.end.parent)return!1;return e.checkChild(s,"paragraph")}(i,t))return void function(e,t){const s=e.model.schema.getLimitElement(t);e.remove(e.createRangeIn(s)),ce(e,e.createPositionAt(s,0),t)}(e,t);const r={};if(!s.doNotAutoparagraph){const e=t.getSelectedElement();e&&Object.assign(r,i.getAttributesWithProperty(e,"copyOnReplace",!0))}const[n,a]=function(e){const t=e.root.document.model,s=e.start;let o=e.end;if(t.hasContent(e,{ignoreMarkers:!0})){const s=function(e){const t=e.parent,s=t.root.document.model.schema,o=t.getAncestors({parentFirst:!0,includeSelf:!0});for(const e of o){if(s.isLimit(e))return null;if(s.isBlock(e))return e}}(o);if(s&&o.isTouching(t.createPositionAt(s,0))){const s=t.createSelection(e);t.modifySelection(s,{direction:"backward"});const i=s.getLastPosition(),r=t.createRange(i,o);t.hasContent(r,{ignoreMarkers:!0})||(o=i)}}return[Y.Z.fromPosition(s,"toPrevious"),Y.Z.fromPosition(o,"toNext")]}(o);n.isTouching(a)||e.remove(e.createRange(n,a)),s.leaveUnmerged||(!function(e,t,s){const o=e.model;if(!ae(e.model.schema,t,s))return;const[i,r]=function(e,t){const s=e.getAncestors(),o=t.getAncestors();let i=0;for(;s[i]&&s[i]==o[i];)i++;return[s[i],o[i]]}(t,s);if(!i||!r)return;!o.hasContent(i,{ignoreMarkers:!0})&&o.hasContent(r,{ignoreMarkers:!0})?ne(e,t,s,i.parent):re(e,t,s,i.parent)}(e,n,a),i.removeDisallowedAttributes(n.parent.getChildren(),e)),le(e,t,n),!s.doNotAutoparagraph&&function(e,t){const s=e.checkChild(t,"$text"),o=e.checkChild(t,"paragraph");return!s&&o}(i,n)&&ce(e,n,t,r),n.detach(),a.detach()}))}function re(e,t,s,o){const i=t.parent,r=s.parent;if(i!=o&&r!=o){for(t=e.createPositionAfter(i),(s=e.createPositionBefore(r)).isEqual(t)||e.insert(r,t),e.merge(t);s.parent.isEmpty;){const t=s.parent;s=e.createPositionBefore(t),e.remove(t)}ae(e.model.schema,t,s)&&re(e,t,s,o)}}function ne(e,t,s,o){const i=t.parent,r=s.parent;if(i!=o&&r!=o){for(t=e.createPositionAfter(i),(s=e.createPositionBefore(r)).isEqual(t)||e.insert(i,s);t.parent.isEmpty;){const s=t.parent;t=e.createPositionBefore(s),e.remove(s)}s=e.createPositionBefore(r),function(e,t){const s=t.nodeBefore,o=t.nodeAfter;s.name!=o.name&&e.rename(s,o.name);e.clearAttributes(s),e.setAttributes(Object.fromEntries(o.getAttributes()),s),e.merge(t)}(e,s),ae(e.model.schema,t,s)&&ne(e,t,s,o)}}function ae(e,t,s){const o=t.parent,i=s.parent;return o!=i&&(!e.isLimit(o)&&!e.isLimit(i)&&function(e,t,s){const o=new a.Z(e,t);for(const e of o.getWalker())if(s.isLimit(e.item))return!1;return!0}(t,s,e))}function ce(e,t,s,o={}){const i=e.createElement("paragraph");e.model.schema.setAllowedAttributes(i,o,e),e.insert(i,t),le(e,s,e.createPositionAt(i,0))}function le(e,t,s){t instanceof y.Z?e.setSelection(s):t.setTo(s)}var de=s("./packages/ckeditor5-engine/src/model/treewalker.js");const he=' ,.?!:;"-()';function ue(e,t){const{isForward:s,walker:o,unit:i,schema:r,treatEmojiAsSingleUnit:n}=e,{type:a,item:c,nextPosition:l}=t;if("text"==a)return"word"===e.unit?function(e,t){let s=e.position.textNode;if(s){let o=e.position.offset-s.startOffset;for(;!ge(s.data,o,t)&&!me(s,o,t);){e.next();const i=t?e.position.nodeAfter:e.position.nodeBefore;if(i&&i.is("$text")){const o=i.data.charAt(t?0:i.data.length-1);he.includes(o)||(e.next(),s=e.position.textNode)}o=e.position.offset-s.startOffset}}return e.position}(o,s):function(e,t,s){const o=e.position.textNode;if(o){const i=o.data;let r=e.position.offset-o.startOffset;for(;D(i,r)||"character"==t&&B(i,r)||s&&L(i,r);)e.next(),r=e.position.offset-o.startOffset}return e.position}(o,i,n);if(a==(s?"elementStart":"elementEnd")){if(r.isSelectable(c))return v.ZP._createAt(c,s?"after":"before");if(r.checkChild(l,"$text"))return l}else{if(r.isLimit(c))return void o.skip((()=>!0));if(r.checkChild(l,"$text"))return l}}function pe(e,t){const s=e.root,o=v.ZP._createAt(s,t?"end":0);return t?new a.Z(e,o):new a.Z(o,e)}function ge(e,t,s){const o=t+(s?0:-1);return he.includes(e.charAt(o))}function me(e,t,s){return t===(s?e.endOffset:0)}function fe(e,t){const s=[];Array.from(e.getItems({direction:"backward"})).map((e=>t.createRangeOn(e))).filter((t=>(t.start.isAfter(e.start)||t.start.isEqual(e.start))&&(t.end.isBefore(e.end)||t.end.isEqual(e.end)))).forEach((e=>{s.push(e.start.parent),t.remove(e)})),s.forEach((e=>{let s=e;for(;s.parent&&s.isEmpty;){const e=t.createRangeOn(s);s=s.parent,t.remove(e)}}))}function ke(e){e.document.registerPostFixer((t=>function(e,t){const s=t.document.selection,o=t.schema,i=[];let r=!1;for(const e of s.getRanges()){const t=_e(e,o);t&&!t.isEqual(e)?(i.push(t),r=!0):i.push(e)}r&&e.setSelection(function(e){const t=[...e],s=new Set;let o=1;for(;o!s.has(t)))}(i),{backward:s.isBackward})}(t,e)))}function _e(e,t){return e.isCollapsed?function(e,t){const s=e.start,o=t.getNearestSelectionRange(s);if(!o){const e=s.getAncestors().reverse().find((e=>t.isObject(e)));return e?a.Z._createOn(e):null}if(!o.isCollapsed)return o;const i=o.start;if(s.isEqual(i))return null;return new a.Z(i)}(e,t):function(e,t){const{start:s,end:o}=e,i=t.checkChild(s,"$text"),r=t.checkChild(o,"$text"),n=t.getLimitElement(s),c=t.getLimitElement(o);if(n===c){if(i&&r)return null;if(function(e,t,s){const o=e.nodeAfter&&!s.isLimit(e.nodeAfter)||s.checkChild(e,"$text"),i=t.nodeBefore&&!s.isLimit(t.nodeBefore)||s.checkChild(t,"$text");return o||i}(s,o,t)){const e=s.nodeAfter&&t.isSelectable(s.nodeAfter)?null:t.getNearestSelectionRange(s,"forward"),i=o.nodeBefore&&t.isSelectable(o.nodeBefore)?null:t.getNearestSelectionRange(o,"backward"),r=e?e.start:s,n=i?i.end:o;return new a.Z(r,n)}}const l=n&&!n.is("rootElement"),d=c&&!c.is("rootElement");if(l||d){const e=s.nodeAfter&&o.nodeBefore&&s.nodeAfter.parent===o.nodeBefore.parent,i=l&&(!e||!we(s.nodeAfter,t)),r=d&&(!e||!we(o.nodeBefore,t));let h=s,u=o;return i&&(h=v.ZP._createBefore(be(n,t))),r&&(u=v.ZP._createAfter(be(c,t))),new a.Z(h,u)}return null}(e,t)}function be(e,t){let s=e,o=s;for(;t.isLimit(o)&&o.parent;)s=o,o=o.parent;return s}function we(e,t){return e&&t.isSelectable(e)}var ve=s("./packages/ckeditor5-engine/src/model/utils/autoparagraphing.js");class ye{constructor(){this.markers=new K,this.document=new $(this),this.schema=new E.Z,this._pendingChanges=[],this._currentWriter=null,["insertContent","insertObject","deleteContent","modifySelection","getSelectedContent","applyOperation"].forEach((e=>this.decorate(e))),this.on("applyOperation",((e,t)=>{t[0]._validate()}),{priority:"highest"}),this.schema.register("$root",{isLimit:!0}),this.schema.register("$container",{allowIn:["$root","$container"]}),this.schema.register("$block",{allowIn:["$root","$container"],isBlock:!0}),this.schema.register("$blockObject",{allowWhere:"$block",isBlock:!0,isObject:!0}),this.schema.register("$inlineObject",{allowWhere:"$text",allowAttributesOf:"$text",isInline:!0,isObject:!0}),this.schema.register("$text",{allowIn:"$block",isInline:!0,isContent:!0}),this.schema.register("$clipboardHolder",{allowContentOf:"$root",allowChildren:"$text",isLimit:!0}),this.schema.register("$documentFragment",{allowContentOf:"$root",allowChildren:"$text",isLimit:!0}),this.schema.register("$marker"),this.schema.addChildCheck(((e,t)=>{if("$marker"===t.name)return!0})),ke(this),this.document.registerPostFixer(ve._m)}change(e){try{return 0===this._pendingChanges.length?(this._pendingChanges.push({batch:new i,callback:e}),this._runPendingChanges()[0]):e(this._currentWriter)}catch(e){o.ZP.rethrowUnexpectedError(e,this)}}enqueueChange(e,t){try{e?"function"==typeof e?(t=e,e=new i):e instanceof i||(e=new i(e)):e=new i,this._pendingChanges.push({batch:e,callback:t}),1==this._pendingChanges.length&&this._runPendingChanges()}catch(e){o.ZP.rethrowUnexpectedError(e,this)}}applyOperation(e){e._execute()}insertContent(e,t,s){return function(e,t,s,o){return e.change((i=>{let r;r=s?s instanceof X.Z||s instanceof y.Z?s:i.createSelection(s,o):e.document.selection,r.isCollapsed||e.deleteContent(r,{doNotAutoparagraph:!0});const n=new ee(e,i,r.anchor);let a;a=t.is("documentFragment")?t.getChildren():[t],n.handleNodes(a);const c=n.getSelectionRange();c&&(r instanceof y.Z?i.setSelection(c):r.setTo(c));const l=n.getAffectedRange()||e.createRange(r.anchor);return n.destroy(),l}))}(this,e,t,s)}insertObject(e,t,s,o){return oe(this,e,t,s,o)}deleteContent(e,t){ie(this,e,t)}modifySelection(e,t){!function(e,t,s={}){const o=e.schema,i="backward"!=s.direction,r=s.unit?s.unit:"character",n=!!s.treatEmojiAsSingleUnit,a=t.focus,c=new de.Z({boundaries:pe(a,i),singleCharacters:!0,direction:i?"forward":"backward"}),l={walker:c,schema:o,isForward:i,unit:r,treatEmojiAsSingleUnit:n};let d;for(;d=c.next();){if(d.done)return;const s=ue(l,d.value);if(s)return void(t instanceof y.Z?e.change((e=>{e.setSelectionFocus(s)})):t.setFocus(s))}}(this,e,t)}getSelectedContent(e){return function(e,t){return e.change((e=>{const s=e.createDocumentFragment(),o=t.getFirstRange();if(!o||o.isCollapsed)return s;const i=o.start.root,r=o.start.getCommonPath(o.end),n=i.getNodeByPath(r);let a;a=o.start.parent==o.end.parent?o:e.createRange(e.createPositionAt(n,o.start.path[r.length]),e.createPositionAt(n,o.end.path[r.length]+1));const c=a.end.offset-a.start.offset;for(const t of a.getItems({shallow:!0}))t.is("$textProxy")?e.appendText(t.data,t.getAttributes(),s):e.append(e.cloneElement(t,!0),s);if(a!=o){const t=o._getTransformedByMove(a.start,e.createPositionAt(s,0),c)[0],i=e.createRange(e.createPositionAt(s,0),t.start);fe(e.createRange(t.end,e.createPositionAt(s,"end")),e),fe(i,e)}return s}))}(this,e)}hasContent(e,t={}){const s=e instanceof b.Z?a.Z._createIn(e):e;if(s.isCollapsed)return!1;const{ignoreWhitespaces:o=!1,ignoreMarkers:i=!1}=t;if(!i)for(const e of this.markers.getMarkersIntersectingRange(s))if(e.affectsData)return!0;for(const e of s.getItems())if(this.schema.isContent(e)){if(!e.is("$textProxy"))return!0;if(!o)return!0;if(-1!==e.data.search(/\S/))return!0}return!1}createPositionFromPath(e,t,s){return new v.ZP(e,t,s)}createPositionAt(e,t){return v.ZP._createAt(e,t)}createPositionAfter(e){return v.ZP._createAfter(e)}createPositionBefore(e){return v.ZP._createBefore(e)}createRange(e,t){return new a.Z(e,t)}createRangeIn(e){return a.Z._createIn(e)}createRangeOn(e){return a.Z._createOn(e)}createSelection(e,t,s){return new X.Z(e,t,s)}createBatch(e){return new i(e)}createOperationFromJSON(e){return Q.Z.fromJSON(e,this.document)}destroy(){this.document.destroy(),this.stopListening()}_runPendingChanges(){const e=[];for(this.fire("_beforeChanges");this._pendingChanges.length;){const t=this._pendingChanges[0].batch;this._currentWriter=new P(this,t);const s=this._pendingChanges[0].callback(this._currentWriter);e.push(s),this.document._handleChangeBlock(this._currentWriter),this._pendingChanges.shift(),this._currentWriter=null}return this.fire("_afterChanges"),e}}(0,z.Z)(ye,J.Z)},"./packages/ckeditor5-engine/src/model/node.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>n});var o=s("./packages/ckeditor5-utils/src/tomap.js"),i=s("./packages/ckeditor5-utils/src/ckeditorerror.js"),r=s("./packages/ckeditor5-utils/src/comparearrays.js");s("./packages/ckeditor5-utils/src/version.js");class n{constructor(e){this.parent=null,this._attrs=(0,o.Z)(e)}get index(){let e;if(!this.parent)return null;if(null===(e=this.parent.getChildIndex(this)))throw new i.ZP("model-node-not-found-in-parent",this);return e}get startOffset(){let e;if(!this.parent)return null;if(null===(e=this.parent.getChildStartOffset(this)))throw new i.ZP("model-node-not-found-in-parent",this);return e}get offsetSize(){return 1}get endOffset(){return this.parent?this.startOffset+this.offsetSize:null}get nextSibling(){const e=this.index;return null!==e&&this.parent.getChild(e+1)||null}get previousSibling(){const e=this.index;return null!==e&&this.parent.getChild(e-1)||null}get root(){let e=this;for(;e.parent;)e=e.parent;return e}isAttached(){return this.root.is("rootElement")}getPath(){const e=[];let t=this;for(;t.parent;)e.unshift(t.startOffset),t=t.parent;return e}getAncestors(e={includeSelf:!1,parentFirst:!1}){const t=[];let s=e.includeSelf?this:this.parent;for(;s;)t[e.parentFirst?"push":"unshift"](s),s=s.parent;return t}getCommonAncestor(e,t={}){const s=this.getAncestors(t),o=e.getAncestors(t);let i=0;for(;s[i]==o[i]&&s[i];)i++;return 0===i?null:s[i-1]}isBefore(e){if(this==e)return!1;if(this.root!==e.root)return!1;const t=this.getPath(),s=e.getPath(),o=(0,r.Z)(t,s);switch(o){case"prefix":return!0;case"extension":return!1;default:return t[o](e[t[0]]=t[1],e)),{})),e}is(e){return"node"===e||"model:node"===e}_clone(){return new n(this._attrs)}_remove(){this.parent._removeChildren(this.index)}_setAttribute(e,t){this._attrs.set(e,t)}_setAttributesTo(e){this._attrs=(0,o.Z)(e)}_removeAttribute(e){return this._attrs.delete(e)}_clearAttributes(){this._attrs.clear()}}},"./packages/ckeditor5-engine/src/model/nodelist.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./packages/ckeditor5-engine/src/model/node.js"),i=s("./packages/ckeditor5-utils/src/ckeditorerror.js");class r{constructor(e){this._nodes=[],e&&this._insertNodes(0,e)}[Symbol.iterator](){return this._nodes[Symbol.iterator]()}get length(){return this._nodes.length}get maxOffset(){return this._nodes.reduce(((e,t)=>e+t.offsetSize),0)}getNode(e){return this._nodes[e]||null}getNodeIndex(e){const t=this._nodes.indexOf(e);return-1==t?null:t}getNodeStartOffset(e){const t=this.getNodeIndex(e);return null===t?null:this._nodes.slice(0,t).reduce(((e,t)=>e+t.offsetSize),0)}indexToOffset(e){if(e==this._nodes.length)return this.maxOffset;const t=this._nodes[e];if(!t)throw new i.ZP("model-nodelist-index-out-of-bounds",this);return this.getNodeStartOffset(t)}offsetToIndex(e){let t=0;for(const s of this._nodes){if(e>=t&&ee.toJSON()))}}},"./packages/ckeditor5-engine/src/model/operation/attributeoperation.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>l});var o=s("./packages/ckeditor5-engine/src/model/operation/operation.js"),i=s("./packages/ckeditor5-engine/src/model/range.js"),r=s("./packages/ckeditor5-utils/src/ckeditorerror.js"),n=s("./packages/ckeditor5-engine/src/model/operation/utils.js"),a=s("./node_modules/lodash-es/_baseIsEqual.js");const c=function(e,t){return(0,a.Z)(e,t)};class l extends o.Z{constructor(e,t,s,o,i){super(i),this.range=e.clone(),this.key=t,this.oldValue=void 0===s?null:s,this.newValue=void 0===o?null:o}get type(){return null===this.oldValue?"addAttribute":null===this.newValue?"removeAttribute":"changeAttribute"}clone(){return new l(this.range,this.key,this.oldValue,this.newValue,this.baseVersion)}getReversed(){return new l(this.range,this.key,this.newValue,this.oldValue,this.baseVersion+1)}toJSON(){const e=super.toJSON();return e.range=this.range.toJSON(),e}_validate(){if(!this.range.isFlat)throw new r.ZP("attribute-operation-range-not-flat",this);for(const e of this.range.getItems({shallow:!0})){if(null!==this.oldValue&&!c(e.getAttribute(this.key),this.oldValue))throw new r.ZP("attribute-operation-wrong-old-value",this,{item:e,key:this.key,value:this.oldValue});if(null===this.oldValue&&null!==this.newValue&&e.hasAttribute(this.key))throw new r.ZP("attribute-operation-attribute-exists",this,{node:e,key:this.key})}}_execute(){c(this.oldValue,this.newValue)||(0,n.pX)(this.range,this.key,this.newValue)}static get className(){return"AttributeOperation"}static fromJSON(e,t){return new l(i.Z.fromJSON(e.range,t),e.key,e.oldValue,e.newValue,e.baseVersion)}}},"./packages/ckeditor5-engine/src/model/operation/insertoperation.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>h});var o=s("./packages/ckeditor5-engine/src/model/operation/operation.js"),i=s("./packages/ckeditor5-engine/src/model/position.js"),r=s("./packages/ckeditor5-engine/src/model/nodelist.js"),n=s("./packages/ckeditor5-engine/src/model/operation/moveoperation.js"),a=s("./packages/ckeditor5-engine/src/model/operation/utils.js"),c=s("./packages/ckeditor5-engine/src/model/text.js"),l=s("./packages/ckeditor5-engine/src/model/element.js"),d=s("./packages/ckeditor5-utils/src/ckeditorerror.js");class h extends o.Z{constructor(e,t,s){super(s),this.position=e.clone(),this.position.stickiness="toNone",this.nodes=new r.Z((0,a.So)(t)),this.shouldReceiveAttributes=!1}get type(){return"insert"}get howMany(){return this.nodes.maxOffset}clone(){const e=new r.Z([...this.nodes].map((e=>e._clone(!0)))),t=new h(this.position,e,this.baseVersion);return t.shouldReceiveAttributes=this.shouldReceiveAttributes,t}getReversed(){const e=this.position.root.document.graveyard,t=new i.ZP(e,[0]);return new n.Z(this.position,this.nodes.maxOffset,t,this.baseVersion+1)}_validate(){const e=this.position.parent;if(!e||e.maxOffsete._clone(!0)))),(0,a.fj)(this.position,e)}toJSON(){const e=super.toJSON();return e.position=this.position.toJSON(),e.nodes=this.nodes.toJSON(),e}static get className(){return"InsertOperation"}static fromJSON(e,t){const s=[];for(const t of e.nodes)t.name?s.push(l.Z.fromJSON(t)):s.push(c.Z.fromJSON(t));const o=new h(i.ZP.fromJSON(e.position,t),s,e.baseVersion);return o.shouldReceiveAttributes=e.shouldReceiveAttributes,o}}},"./packages/ckeditor5-engine/src/model/operation/markeroperation.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./packages/ckeditor5-engine/src/model/operation/operation.js"),i=s("./packages/ckeditor5-engine/src/model/range.js");class r extends o.Z{constructor(e,t,s,o,i,r){super(r),this.name=e,this.oldRange=t?t.clone():null,this.newRange=s?s.clone():null,this.affectsData=i,this._markers=o}get type(){return"marker"}clone(){return new r(this.name,this.oldRange,this.newRange,this._markers,this.affectsData,this.baseVersion)}getReversed(){return new r(this.name,this.newRange,this.oldRange,this._markers,this.affectsData,this.baseVersion+1)}_execute(){const e=this.newRange?"_set":"_remove";this._markers[e](this.name,this.newRange,!0,this.affectsData)}toJSON(){const e=super.toJSON();return this.oldRange&&(e.oldRange=this.oldRange.toJSON()),this.newRange&&(e.newRange=this.newRange.toJSON()),delete e._markers,e}static get className(){return"MarkerOperation"}static fromJSON(e,t){return new r(e.name,e.oldRange?i.Z.fromJSON(e.oldRange,t):null,e.newRange?i.Z.fromJSON(e.newRange,t):null,t.model.markers,e.affectsData,e.baseVersion)}}},"./packages/ckeditor5-engine/src/model/operation/mergeoperation.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>l});var o=s("./packages/ckeditor5-engine/src/model/operation/operation.js"),i=s("./packages/ckeditor5-engine/src/model/operation/splitoperation.js"),r=s("./packages/ckeditor5-engine/src/model/position.js"),n=s("./packages/ckeditor5-engine/src/model/range.js"),a=s("./packages/ckeditor5-engine/src/model/operation/utils.js"),c=s("./packages/ckeditor5-utils/src/ckeditorerror.js");class l extends o.Z{constructor(e,t,s,o,i){super(i),this.sourcePosition=e.clone(),this.sourcePosition.stickiness="toPrevious",this.howMany=t,this.targetPosition=s.clone(),this.targetPosition.stickiness="toNext",this.graveyardPosition=o.clone()}get type(){return"merge"}get deletionPosition(){return new r.ZP(this.sourcePosition.root,this.sourcePosition.path.slice(0,-1))}get movedRange(){const e=this.sourcePosition.getShiftedBy(Number.POSITIVE_INFINITY);return new n.Z(this.sourcePosition,e)}clone(){return new this.constructor(this.sourcePosition,this.howMany,this.targetPosition,this.graveyardPosition,this.baseVersion)}getReversed(){const e=this.targetPosition._getTransformedByMergeOperation(this),t=this.sourcePosition.path.slice(0,-1),s=new r.ZP(this.sourcePosition.root,t)._getTransformedByMergeOperation(this);return new i.Z(e,this.howMany,s,this.graveyardPosition,this.baseVersion+1)}_validate(){const e=this.sourcePosition.parent,t=this.targetPosition.parent;if(!e.parent)throw new c.ZP("merge-operation-source-position-invalid",this);if(!t.parent)throw new c.ZP("merge-operation-target-position-invalid",this);if(this.howMany!=e.maxOffset)throw new c.ZP("merge-operation-how-many-invalid",this)}_execute(){const e=this.sourcePosition.parent,t=n.Z._createIn(e);(0,a.XF)(t,this.targetPosition),(0,a.XF)(n.Z._createOn(e),this.graveyardPosition)}toJSON(){const e=super.toJSON();return e.sourcePosition=e.sourcePosition.toJSON(),e.targetPosition=e.targetPosition.toJSON(),e.graveyardPosition=e.graveyardPosition.toJSON(),e}static get className(){return"MergeOperation"}static fromJSON(e,t){const s=r.ZP.fromJSON(e.sourcePosition,t),o=r.ZP.fromJSON(e.targetPosition,t),i=r.ZP.fromJSON(e.graveyardPosition,t);return new this(s,e.howMany,o,i,e.baseVersion)}}},"./packages/ckeditor5-engine/src/model/operation/moveoperation.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>l});var o=s("./packages/ckeditor5-engine/src/model/operation/operation.js"),i=s("./packages/ckeditor5-engine/src/model/position.js"),r=s("./packages/ckeditor5-engine/src/model/range.js"),n=s("./packages/ckeditor5-utils/src/ckeditorerror.js"),a=s("./packages/ckeditor5-utils/src/comparearrays.js"),c=s("./packages/ckeditor5-engine/src/model/operation/utils.js");class l extends o.Z{constructor(e,t,s,o){super(o),this.sourcePosition=e.clone(),this.sourcePosition.stickiness="toNext",this.howMany=t,this.targetPosition=s.clone(),this.targetPosition.stickiness="toNone"}get type(){return"$graveyard"==this.targetPosition.root.rootName?"remove":"$graveyard"==this.sourcePosition.root.rootName?"reinsert":"move"}clone(){return new this.constructor(this.sourcePosition,this.howMany,this.targetPosition,this.baseVersion)}getMovedRangeStart(){return this.targetPosition._getTransformedByDeletion(this.sourcePosition,this.howMany)}getReversed(){const e=this.sourcePosition._getTransformedByInsertion(this.targetPosition,this.howMany);return new this.constructor(this.getMovedRangeStart(),this.howMany,e,this.baseVersion+1)}_validate(){const e=this.sourcePosition.parent,t=this.targetPosition.parent,s=this.sourcePosition.offset,o=this.targetPosition.offset;if(s+this.howMany>e.maxOffset)throw new n.ZP("move-operation-nodes-do-not-exist",this);if(e===t&&s=s&&this.targetPosition.path[e]{"use strict";s.d(t,{Z:()=>i});var o=s("./packages/ckeditor5-engine/src/model/operation/operation.js");class i extends o.Z{get type(){return"noop"}clone(){return new i(this.baseVersion)}getReversed(){return new i(this.baseVersion+1)}_execute(){}static get className(){return"NoOperation"}}},"./packages/ckeditor5-engine/src/model/operation/operation.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>o});class o{constructor(e){this.baseVersion=e,this.isDocumentOperation=null!==this.baseVersion,this.batch=null}_validate(){}toJSON(){const e=Object.assign({},this);return e.__className=this.constructor.className,delete e.batch,delete e.isDocumentOperation,e}static get className(){return"Operation"}static fromJSON(e){return new this(e.baseVersion)}}},"./packages/ckeditor5-engine/src/model/operation/operationfactory.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>g});var o=s("./packages/ckeditor5-engine/src/model/operation/attributeoperation.js"),i=s("./packages/ckeditor5-engine/src/model/operation/insertoperation.js"),r=s("./packages/ckeditor5-engine/src/model/operation/markeroperation.js"),n=s("./packages/ckeditor5-engine/src/model/operation/moveoperation.js"),a=s("./packages/ckeditor5-engine/src/model/operation/nooperation.js"),c=s("./packages/ckeditor5-engine/src/model/operation/operation.js"),l=s("./packages/ckeditor5-engine/src/model/operation/renameoperation.js"),d=s("./packages/ckeditor5-engine/src/model/operation/rootattributeoperation.js"),h=s("./packages/ckeditor5-engine/src/model/operation/splitoperation.js"),u=s("./packages/ckeditor5-engine/src/model/operation/mergeoperation.js");const p={};p[o.Z.className]=o.Z,p[i.Z.className]=i.Z,p[r.Z.className]=r.Z,p[n.Z.className]=n.Z,p[a.Z.className]=a.Z,p[c.Z.className]=c.Z,p[l.Z.className]=l.Z,p[d.Z.className]=d.Z,p[h.Z.className]=h.Z,p[u.Z.className]=u.Z;class g{static fromJSON(e,t){return p[e.__className].fromJSON(e,t)}}},"./packages/ckeditor5-engine/src/model/operation/renameoperation.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});var o=s("./packages/ckeditor5-engine/src/model/operation/operation.js"),i=s("./packages/ckeditor5-engine/src/model/element.js"),r=s("./packages/ckeditor5-utils/src/ckeditorerror.js"),n=s("./packages/ckeditor5-engine/src/model/position.js");class a extends o.Z{constructor(e,t,s,o){super(o),this.position=e,this.position.stickiness="toNext",this.oldName=t,this.newName=s}get type(){return"rename"}clone(){return new a(this.position.clone(),this.oldName,this.newName,this.baseVersion)}getReversed(){return new a(this.position.clone(),this.newName,this.oldName,this.baseVersion+1)}_validate(){const e=this.position.nodeAfter;if(!(e instanceof i.Z))throw new r.ZP("rename-operation-wrong-position",this);if(e.name!==this.oldName)throw new r.ZP("rename-operation-wrong-name",this)}_execute(){this.position.nodeAfter.name=this.newName}toJSON(){const e=super.toJSON();return e.position=this.position.toJSON(),e}static get className(){return"RenameOperation"}static fromJSON(e,t){return new a(n.ZP.fromJSON(e.position,t),e.oldName,e.newName,e.baseVersion)}}},"./packages/ckeditor5-engine/src/model/operation/rootattributeoperation.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./packages/ckeditor5-engine/src/model/operation/operation.js"),i=s("./packages/ckeditor5-utils/src/ckeditorerror.js");class r extends o.Z{constructor(e,t,s,o,i){super(i),this.root=e,this.key=t,this.oldValue=s,this.newValue=o}get type(){return null===this.oldValue?"addRootAttribute":null===this.newValue?"removeRootAttribute":"changeRootAttribute"}clone(){return new r(this.root,this.key,this.oldValue,this.newValue,this.baseVersion)}getReversed(){return new r(this.root,this.key,this.newValue,this.oldValue,this.baseVersion+1)}_validate(){if(this.root!=this.root.root||this.root.is("documentFragment"))throw new i.ZP("rootattribute-operation-not-a-root",this,{root:this.root,key:this.key});if(null!==this.oldValue&&this.root.getAttribute(this.key)!==this.oldValue)throw new i.ZP("rootattribute-operation-wrong-old-value",this,{root:this.root,key:this.key});if(null===this.oldValue&&null!==this.newValue&&this.root.hasAttribute(this.key))throw new i.ZP("rootattribute-operation-attribute-exists",this,{root:this.root,key:this.key})}_execute(){null!==this.newValue?this.root._setAttribute(this.key,this.newValue):this.root._removeAttribute(this.key)}toJSON(){const e=super.toJSON();return e.root=this.root.toJSON(),e}static get className(){return"RootAttributeOperation"}static fromJSON(e,t){if(!t.getRoot(e.root))throw new i.ZP("rootattribute-operation-fromjson-no-root",this,{rootName:e.root});return new r(t.getRoot(e.root),e.key,e.oldValue,e.newValue,e.baseVersion)}}},"./packages/ckeditor5-engine/src/model/operation/splitoperation.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>l});var o=s("./packages/ckeditor5-engine/src/model/operation/operation.js"),i=s("./packages/ckeditor5-engine/src/model/operation/mergeoperation.js"),r=s("./packages/ckeditor5-engine/src/model/position.js"),n=s("./packages/ckeditor5-engine/src/model/range.js"),a=s("./packages/ckeditor5-engine/src/model/operation/utils.js"),c=s("./packages/ckeditor5-utils/src/ckeditorerror.js");class l extends o.Z{constructor(e,t,s,o,i){super(i),this.splitPosition=e.clone(),this.splitPosition.stickiness="toNext",this.howMany=t,this.insertionPosition=s,this.graveyardPosition=o?o.clone():null,this.graveyardPosition&&(this.graveyardPosition.stickiness="toNext")}get type(){return"split"}get moveTargetPosition(){const e=this.insertionPosition.path.slice();return e.push(0),new r.ZP(this.insertionPosition.root,e)}get movedRange(){const e=this.splitPosition.getShiftedBy(Number.POSITIVE_INFINITY);return new n.Z(this.splitPosition,e)}clone(){return new this.constructor(this.splitPosition,this.howMany,this.insertionPosition,this.graveyardPosition,this.baseVersion)}getReversed(){const e=this.splitPosition.root.document.graveyard,t=new r.ZP(e,[0]);return new i.Z(this.moveTargetPosition,this.howMany,this.splitPosition,t,this.baseVersion+1)}_validate(){const e=this.splitPosition.parent,t=this.splitPosition.offset;if(!e||e.maxOffset{"use strict";s.d(t,{R:()=>b});var o=s("./packages/ckeditor5-engine/src/model/operation/insertoperation.js"),i=s("./packages/ckeditor5-engine/src/model/operation/attributeoperation.js"),r=s("./packages/ckeditor5-engine/src/model/operation/renameoperation.js"),n=s("./packages/ckeditor5-engine/src/model/operation/markeroperation.js"),a=s("./packages/ckeditor5-engine/src/model/operation/moveoperation.js"),c=s("./packages/ckeditor5-engine/src/model/operation/rootattributeoperation.js"),l=s("./packages/ckeditor5-engine/src/model/operation/mergeoperation.js"),d=s("./packages/ckeditor5-engine/src/model/operation/splitoperation.js"),h=s("./packages/ckeditor5-engine/src/model/operation/nooperation.js"),u=s("./packages/ckeditor5-engine/src/model/range.js"),p=s("./packages/ckeditor5-engine/src/model/position.js"),g=s("./packages/ckeditor5-utils/src/comparearrays.js");const m=new Map;function f(e,t,s){let o=m.get(e);o||(o=new Map,m.set(e,o)),o.set(t,s)}function k(e){return[e]}function _(e,t,s={}){const o=function(e,t){const s=m.get(e);return s&&s.has(t)?s.get(t):k}(e.constructor,t.constructor);try{return o(e=e.clone(),t,s)}catch(e){throw e}}function b(e,t,s){e=e.slice(),t=t.slice();const o=new w(s.document,s.useRelations,s.forceWeakRemove);o.setOriginalOperations(e),o.setOriginalOperations(t);const i=o.originalOperations;if(0==e.length||0==t.length)return{operationsA:e,operationsB:t,originalOperations:i};const r=new WeakMap;for(const t of e)r.set(t,0);const n={nextBaseVersionA:e[e.length-1].baseVersion+1,nextBaseVersionB:t[t.length-1].baseVersion+1,originalOperationsACount:e.length,originalOperationsBCount:t.length};let a=0;for(;a{if(e.key===t.key&&e.range.start.hasSameParentAs(t.range.start)){const o=e.range.getDifference(t.range).map((t=>new i.Z(t,e.key,e.oldValue,e.newValue,0))),r=e.range.getIntersection(t.range);return r&&s.aIsStrong&&o.push(new i.Z(r,t.key,t.newValue,e.newValue,0)),0==o.length?[new h.Z(0)]:o}return[e]})),f(i.Z,o.Z,((e,t)=>{if(e.range.start.hasSameParentAs(t.position)&&e.range.containsPosition(t.position)){const s=e.range._getTransformedByInsertion(t.position,t.howMany,!t.shouldReceiveAttributes).map((t=>new i.Z(t,e.key,e.oldValue,e.newValue,e.baseVersion)));if(t.shouldReceiveAttributes){const o=Z(t,e.key,e.oldValue);o&&s.unshift(o)}return s}return e.range=e.range._getTransformedByInsertion(t.position,t.howMany,!1)[0],[e]})),f(i.Z,l.Z,((e,t)=>{const s=[];e.range.start.hasSameParentAs(t.deletionPosition)&&(e.range.containsPosition(t.deletionPosition)||e.range.start.isEqual(t.deletionPosition))&&s.push(u.Z._createFromPositionAndShift(t.graveyardPosition,1));const o=e.range._getTransformedByMergeOperation(t);return o.isCollapsed||s.push(o),s.map((t=>new i.Z(t,e.key,e.oldValue,e.newValue,e.baseVersion)))})),f(i.Z,a.Z,((e,t)=>function(e,t){const s=u.Z._createFromPositionAndShift(t.sourcePosition,t.howMany);let o=null,i=[];s.containsRange(e,!0)?o=e:e.start.hasSameParentAs(s.start)?(i=e.getDifference(s),o=e.getIntersection(s)):i=[e];const r=[];for(let e of i){e=e._getTransformedByDeletion(t.sourcePosition,t.howMany);const s=t.getMovedRangeStart(),o=e.start.hasSameParentAs(s);e=e._getTransformedByInsertion(s,t.howMany,o),r.push(...e)}o&&r.push(o._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany,!1)[0]);return r}(e.range,t).map((t=>new i.Z(t,e.key,e.oldValue,e.newValue,e.baseVersion))))),f(i.Z,d.Z,((e,t)=>{if(e.range.end.isEqual(t.insertionPosition))return t.graveyardPosition||e.range.end.offset++,[e];if(e.range.start.hasSameParentAs(t.splitPosition)&&e.range.containsPosition(t.splitPosition)){const s=e.clone();return s.range=new u.Z(t.moveTargetPosition.clone(),e.range.end._getCombined(t.splitPosition,t.moveTargetPosition)),e.range.end=t.splitPosition.clone(),e.range.end.stickiness="toPrevious",[e,s]}return e.range=e.range._getTransformedBySplitOperation(t),[e]})),f(o.Z,i.Z,((e,t)=>{const s=[e];if(e.shouldReceiveAttributes&&e.position.hasSameParentAs(t.range.start)&&t.range.containsPosition(e.position)){const o=Z(e,t.key,t.newValue);o&&s.push(o)}return s})),f(o.Z,o.Z,((e,t,s)=>(e.position.isEqual(t.position)&&s.aIsStrong||(e.position=e.position._getTransformedByInsertOperation(t)),[e]))),f(o.Z,a.Z,((e,t)=>(e.position=e.position._getTransformedByMoveOperation(t),[e]))),f(o.Z,d.Z,((e,t)=>(e.position=e.position._getTransformedBySplitOperation(t),[e]))),f(o.Z,l.Z,((e,t)=>(e.position=e.position._getTransformedByMergeOperation(t),[e]))),f(n.Z,o.Z,((e,t)=>(e.oldRange&&(e.oldRange=e.oldRange._getTransformedByInsertOperation(t)[0]),e.newRange&&(e.newRange=e.newRange._getTransformedByInsertOperation(t)[0]),[e]))),f(n.Z,n.Z,((e,t,s)=>{if(e.name==t.name){if(!s.aIsStrong)return[new h.Z(0)];e.oldRange=t.newRange?t.newRange.clone():null}return[e]})),f(n.Z,l.Z,((e,t)=>(e.oldRange&&(e.oldRange=e.oldRange._getTransformedByMergeOperation(t)),e.newRange&&(e.newRange=e.newRange._getTransformedByMergeOperation(t)),[e]))),f(n.Z,a.Z,((e,t,s)=>{if(e.oldRange&&(e.oldRange=u.Z._createFromRanges(e.oldRange._getTransformedByMoveOperation(t))),e.newRange){if(s.abRelation){const o=u.Z._createFromRanges(e.newRange._getTransformedByMoveOperation(t));if("left"==s.abRelation.side&&t.targetPosition.isEqual(e.newRange.start))return e.newRange.start.path=s.abRelation.path,e.newRange.end=o.end,[e];if("right"==s.abRelation.side&&t.targetPosition.isEqual(e.newRange.end))return e.newRange.start=o.start,e.newRange.end.path=s.abRelation.path,[e]}e.newRange=u.Z._createFromRanges(e.newRange._getTransformedByMoveOperation(t))}return[e]})),f(n.Z,d.Z,((e,t,s)=>{if(e.oldRange&&(e.oldRange=e.oldRange._getTransformedBySplitOperation(t)),e.newRange){if(s.abRelation){const o=e.newRange._getTransformedBySplitOperation(t);return e.newRange.start.isEqual(t.splitPosition)&&s.abRelation.wasStartBeforeMergedElement?e.newRange.start=p.ZP._createAt(t.insertionPosition):e.newRange.start.isEqual(t.splitPosition)&&!s.abRelation.wasInLeftElement&&(e.newRange.start=p.ZP._createAt(t.moveTargetPosition)),e.newRange.end.isEqual(t.splitPosition)&&s.abRelation.wasInRightElement?e.newRange.end=p.ZP._createAt(t.moveTargetPosition):e.newRange.end.isEqual(t.splitPosition)&&s.abRelation.wasEndBeforeMergedElement?e.newRange.end=p.ZP._createAt(t.insertionPosition):e.newRange.end=o.end,[e]}e.newRange=e.newRange._getTransformedBySplitOperation(t)}return[e]})),f(l.Z,o.Z,((e,t)=>(e.sourcePosition.hasSameParentAs(t.position)&&(e.howMany+=t.howMany),e.sourcePosition=e.sourcePosition._getTransformedByInsertOperation(t),e.targetPosition=e.targetPosition._getTransformedByInsertOperation(t),[e]))),f(l.Z,l.Z,((e,t,s)=>{if(e.sourcePosition.isEqual(t.sourcePosition)&&e.targetPosition.isEqual(t.targetPosition)){if(s.bWasUndone){const s=t.graveyardPosition.path.slice();return s.push(0),e.sourcePosition=new p.ZP(t.graveyardPosition.root,s),e.howMany=0,[e]}return[new h.Z(0)]}if(e.sourcePosition.isEqual(t.sourcePosition)&&!e.targetPosition.isEqual(t.targetPosition)&&!s.bWasUndone&&"splitAtSource"!=s.abRelation){const o="$graveyard"==e.targetPosition.root.rootName,i="$graveyard"==t.targetPosition.root.rootName,r=o&&!i;if(i&&!o||!r&&s.aIsStrong){const s=t.targetPosition._getTransformedByMergeOperation(t),o=e.targetPosition._getTransformedByMergeOperation(t);return[new a.Z(s,e.howMany,o,0)]}return[new h.Z(0)]}return e.sourcePosition.hasSameParentAs(t.targetPosition)&&(e.howMany+=t.howMany),e.sourcePosition=e.sourcePosition._getTransformedByMergeOperation(t),e.targetPosition=e.targetPosition._getTransformedByMergeOperation(t),e.graveyardPosition.isEqual(t.graveyardPosition)&&s.aIsStrong||(e.graveyardPosition=e.graveyardPosition._getTransformedByMergeOperation(t)),[e]})),f(l.Z,a.Z,((e,t,s)=>{const o=u.Z._createFromPositionAndShift(t.sourcePosition,t.howMany);return"remove"==t.type&&!s.bWasUndone&&!s.forceWeakRemove&&e.deletionPosition.hasSameParentAs(t.sourcePosition)&&o.containsPosition(e.sourcePosition)?[new h.Z(0)]:(e.sourcePosition.hasSameParentAs(t.targetPosition)&&(e.howMany+=t.howMany),e.sourcePosition.hasSameParentAs(t.sourcePosition)&&(e.howMany-=t.howMany),e.sourcePosition=e.sourcePosition._getTransformedByMoveOperation(t),e.targetPosition=e.targetPosition._getTransformedByMoveOperation(t),e.graveyardPosition.isEqual(t.targetPosition)||(e.graveyardPosition=e.graveyardPosition._getTransformedByMoveOperation(t)),[e])})),f(l.Z,d.Z,((e,t,s)=>{if(t.graveyardPosition&&(e.graveyardPosition=e.graveyardPosition._getTransformedByDeletion(t.graveyardPosition,1),e.deletionPosition.isEqual(t.graveyardPosition)&&(e.howMany=t.howMany)),e.targetPosition.isEqual(t.splitPosition)){const o=0!=t.howMany,i=t.graveyardPosition&&e.deletionPosition.isEqual(t.graveyardPosition);if(o||i||"mergeTargetNotMoved"==s.abRelation)return e.sourcePosition=e.sourcePosition._getTransformedBySplitOperation(t),[e]}if(e.sourcePosition.isEqual(t.splitPosition)){if("mergeSourceNotMoved"==s.abRelation)return e.howMany=0,e.targetPosition=e.targetPosition._getTransformedBySplitOperation(t),[e];if("mergeSameElement"==s.abRelation||e.sourcePosition.offset>0)return e.sourcePosition=t.moveTargetPosition.clone(),e.targetPosition=e.targetPosition._getTransformedBySplitOperation(t),[e]}return e.sourcePosition.hasSameParentAs(t.splitPosition)&&(e.howMany=t.splitPosition.offset),e.sourcePosition=e.sourcePosition._getTransformedBySplitOperation(t),e.targetPosition=e.targetPosition._getTransformedBySplitOperation(t),[e]})),f(a.Z,o.Z,((e,t)=>{const s=u.Z._createFromPositionAndShift(e.sourcePosition,e.howMany)._getTransformedByInsertOperation(t,!1)[0];return e.sourcePosition=s.start,e.howMany=s.end.offset-s.start.offset,e.targetPosition.isEqual(t.position)||(e.targetPosition=e.targetPosition._getTransformedByInsertOperation(t)),[e]})),f(a.Z,a.Z,((e,t,s)=>{const o=u.Z._createFromPositionAndShift(e.sourcePosition,e.howMany),i=u.Z._createFromPositionAndShift(t.sourcePosition,t.howMany);let r,n=s.aIsStrong,a=!s.aIsStrong;if("insertBefore"==s.abRelation||"insertAfter"==s.baRelation?a=!0:"insertAfter"!=s.abRelation&&"insertBefore"!=s.baRelation||(a=!1),r=e.targetPosition.isEqual(t.targetPosition)&&a?e.targetPosition._getTransformedByDeletion(t.sourcePosition,t.howMany):e.targetPosition._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany),P(e,t)&&P(t,e))return[t.getReversed()];if(o.containsPosition(t.targetPosition)&&o.containsRange(i,!0))return o.start=o.start._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany),o.end=o.end._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany),j([o],r);if(i.containsPosition(e.targetPosition)&&i.containsRange(o,!0))return o.start=o.start._getCombined(t.sourcePosition,t.getMovedRangeStart()),o.end=o.end._getCombined(t.sourcePosition,t.getMovedRangeStart()),j([o],r);const c=(0,g.Z)(e.sourcePosition.getParentPath(),t.sourcePosition.getParentPath());if("prefix"==c||"extension"==c)return o.start=o.start._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany),o.end=o.end._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany),j([o],r);"remove"!=e.type||"remove"==t.type||s.aWasUndone||s.forceWeakRemove?"remove"==e.type||"remove"!=t.type||s.bWasUndone||s.forceWeakRemove||(n=!1):n=!0;const l=[],d=o.getDifference(i);for(const e of d){e.start=e.start._getTransformedByDeletion(t.sourcePosition,t.howMany),e.end=e.end._getTransformedByDeletion(t.sourcePosition,t.howMany);const s="same"==(0,g.Z)(e.start.getParentPath(),t.getMovedRangeStart().getParentPath()),o=e._getTransformedByInsertion(t.getMovedRangeStart(),t.howMany,s);l.push(...o)}const p=o.getIntersection(i);return null!==p&&n&&(p.start=p.start._getCombined(t.sourcePosition,t.getMovedRangeStart()),p.end=p.end._getCombined(t.sourcePosition,t.getMovedRangeStart()),0===l.length?l.push(p):1==l.length?i.start.isBefore(o.start)||i.start.isEqual(o.start)?l.unshift(p):l.push(p):l.splice(1,0,p)),0===l.length?[new h.Z(e.baseVersion)]:j(l,r)})),f(a.Z,d.Z,((e,t,s)=>{let o=e.targetPosition.clone();e.targetPosition.isEqual(t.insertionPosition)&&t.graveyardPosition&&"moveTargetAfter"!=s.abRelation||(o=e.targetPosition._getTransformedBySplitOperation(t));const i=u.Z._createFromPositionAndShift(e.sourcePosition,e.howMany);if(i.end.isEqual(t.insertionPosition))return t.graveyardPosition||e.howMany++,e.targetPosition=o,[e];if(i.start.hasSameParentAs(t.splitPosition)&&i.containsPosition(t.splitPosition)){let e=new u.Z(t.splitPosition,i.end);e=e._getTransformedBySplitOperation(t);return j([new u.Z(i.start,t.splitPosition),e],o)}e.targetPosition.isEqual(t.splitPosition)&&"insertAtSource"==s.abRelation&&(o=t.moveTargetPosition),e.targetPosition.isEqual(t.insertionPosition)&&"insertBetween"==s.abRelation&&(o=e.targetPosition);const r=[i._getTransformedBySplitOperation(t)];if(t.graveyardPosition){const o=i.start.isEqual(t.graveyardPosition)||i.containsPosition(t.graveyardPosition);e.howMany>1&&o&&!s.aWasUndone&&r.push(u.Z._createFromPositionAndShift(t.insertionPosition,1))}return j(r,o)})),f(a.Z,l.Z,((e,t,s)=>{const o=u.Z._createFromPositionAndShift(e.sourcePosition,e.howMany);if(t.deletionPosition.hasSameParentAs(e.sourcePosition)&&o.containsPosition(t.sourcePosition))if("remove"!=e.type||s.forceWeakRemove){if(1==e.howMany)return s.bWasUndone?(e.sourcePosition=t.graveyardPosition.clone(),e.targetPosition=e.targetPosition._getTransformedByMergeOperation(t),[e]):[new h.Z(0)]}else if(!s.aWasUndone){const s=[];let o=t.graveyardPosition.clone(),i=t.targetPosition._getTransformedByMergeOperation(t);e.howMany>1&&(s.push(new a.Z(e.sourcePosition,e.howMany-1,e.targetPosition,0)),o=o._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany-1),i=i._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany-1));const r=t.deletionPosition._getCombined(e.sourcePosition,e.targetPosition),n=new a.Z(o,1,r,0),c=n.getMovedRangeStart().path.slice();c.push(0);const l=new p.ZP(n.targetPosition.root,c);i=i._getTransformedByMove(o,r,1);const d=new a.Z(i,t.howMany,l,0);return s.push(n),s.push(d),s}const i=u.Z._createFromPositionAndShift(e.sourcePosition,e.howMany)._getTransformedByMergeOperation(t);return e.sourcePosition=i.start,e.howMany=i.end.offset-i.start.offset,e.targetPosition=e.targetPosition._getTransformedByMergeOperation(t),[e]})),f(r.Z,o.Z,((e,t)=>(e.position=e.position._getTransformedByInsertOperation(t),[e]))),f(r.Z,l.Z,((e,t)=>e.position.isEqual(t.deletionPosition)?(e.position=t.graveyardPosition.clone(),e.position.stickiness="toNext",[e]):(e.position=e.position._getTransformedByMergeOperation(t),[e]))),f(r.Z,a.Z,((e,t)=>(e.position=e.position._getTransformedByMoveOperation(t),[e]))),f(r.Z,r.Z,((e,t,s)=>{if(e.position.isEqual(t.position)){if(!s.aIsStrong)return[new h.Z(0)];e.oldName=t.newName}return[e]})),f(r.Z,d.Z,((e,t)=>{const s=e.position.path,o=t.splitPosition.getParentPath();if("same"==(0,g.Z)(s,o)&&!t.graveyardPosition){const t=new r.Z(e.position.getShiftedBy(1),e.oldName,e.newName,0);return[e,t]}return e.position=e.position._getTransformedBySplitOperation(t),[e]})),f(c.Z,c.Z,((e,t,s)=>{if(e.root===t.root&&e.key===t.key){if(!s.aIsStrong||e.newValue===t.newValue)return[new h.Z(0)];e.oldValue=t.newValue}return[e]})),f(d.Z,o.Z,((e,t)=>(e.splitPosition.hasSameParentAs(t.position)&&e.splitPosition.offset{if(!e.graveyardPosition&&!s.bWasUndone&&e.splitPosition.hasSameParentAs(t.sourcePosition)){const s=t.graveyardPosition.path.slice();s.push(0);const o=new p.ZP(t.graveyardPosition.root,s),i=d.Z.getInsertionPosition(new p.ZP(t.graveyardPosition.root,s)),r=new d.Z(o,0,i,null,0);return e.splitPosition=e.splitPosition._getTransformedByMergeOperation(t),e.insertionPosition=d.Z.getInsertionPosition(e.splitPosition),e.graveyardPosition=r.insertionPosition.clone(),e.graveyardPosition.stickiness="toNext",[r,e]}return e.splitPosition.hasSameParentAs(t.deletionPosition)&&!e.splitPosition.isAfter(t.deletionPosition)&&e.howMany--,e.splitPosition.hasSameParentAs(t.targetPosition)&&(e.howMany+=t.howMany),e.splitPosition=e.splitPosition._getTransformedByMergeOperation(t),e.insertionPosition=d.Z.getInsertionPosition(e.splitPosition),e.graveyardPosition&&(e.graveyardPosition=e.graveyardPosition._getTransformedByMergeOperation(t)),[e]})),f(d.Z,a.Z,((e,t,s)=>{const o=u.Z._createFromPositionAndShift(t.sourcePosition,t.howMany);if(e.graveyardPosition){const i=o.start.isEqual(e.graveyardPosition)||o.containsPosition(e.graveyardPosition);if(!s.bWasUndone&&i){const s=e.splitPosition._getTransformedByMoveOperation(t),o=e.graveyardPosition._getTransformedByMoveOperation(t),i=o.path.slice();i.push(0);const r=new p.ZP(o.root,i);return[new a.Z(s,e.howMany,r,0)]}e.graveyardPosition=e.graveyardPosition._getTransformedByMoveOperation(t)}const i=e.splitPosition.isEqual(t.targetPosition);if(i&&("insertAtSource"==s.baRelation||"splitBefore"==s.abRelation))return e.howMany+=t.howMany,e.splitPosition=e.splitPosition._getTransformedByDeletion(t.sourcePosition,t.howMany),e.insertionPosition=d.Z.getInsertionPosition(e.splitPosition),[e];if(i&&s.abRelation&&s.abRelation.howMany){const{howMany:t,offset:o}=s.abRelation;return e.howMany+=t,e.splitPosition=e.splitPosition.getShiftedBy(o),[e]}if(e.splitPosition.hasSameParentAs(t.sourcePosition)&&o.containsPosition(e.splitPosition)){const s=t.howMany-(e.splitPosition.offset-t.sourcePosition.offset);return e.howMany-=s,e.splitPosition.hasSameParentAs(t.targetPosition)&&e.splitPosition.offset{if(e.splitPosition.isEqual(t.splitPosition)){if(!e.graveyardPosition&&!t.graveyardPosition)return[new h.Z(0)];if(e.graveyardPosition&&t.graveyardPosition&&e.graveyardPosition.isEqual(t.graveyardPosition))return[new h.Z(0)];if("splitBefore"==s.abRelation)return e.howMany=0,e.graveyardPosition=e.graveyardPosition._getTransformedBySplitOperation(t),[e]}if(e.graveyardPosition&&t.graveyardPosition&&e.graveyardPosition.isEqual(t.graveyardPosition)){const o="$graveyard"==e.splitPosition.root.rootName,i="$graveyard"==t.splitPosition.root.rootName,r=o&&!i;if(i&&!o||!r&&s.aIsStrong){const s=[];return t.howMany&&s.push(new a.Z(t.moveTargetPosition,t.howMany,t.splitPosition,0)),e.howMany&&s.push(new a.Z(e.splitPosition,e.howMany,e.moveTargetPosition,0)),s}return[new h.Z(0)]}if(e.graveyardPosition&&(e.graveyardPosition=e.graveyardPosition._getTransformedBySplitOperation(t)),e.splitPosition.isEqual(t.insertionPosition)&&"splitBefore"==s.abRelation)return e.howMany++,[e];if(t.splitPosition.isEqual(e.insertionPosition)&&"splitBefore"==s.baRelation){const s=t.insertionPosition.path.slice();s.push(0);const o=new p.ZP(t.insertionPosition.root,s);return[e,new a.Z(e.insertionPosition,1,o,0)]}return e.splitPosition.hasSameParentAs(t.splitPosition)&&e.splitPosition.offset{"use strict";s.d(t,{So:()=>g,X9:()=>h,XF:()=>u,fj:()=>d,pX:()=>p});var o=s("./packages/ckeditor5-engine/src/model/node.js"),i=s("./packages/ckeditor5-engine/src/model/text.js"),r=s("./packages/ckeditor5-engine/src/model/textproxy.js"),n=s("./packages/ckeditor5-engine/src/model/range.js"),a=s("./packages/ckeditor5-engine/src/model/documentfragment.js"),c=s("./packages/ckeditor5-engine/src/model/nodelist.js"),l=s("./packages/ckeditor5-utils/src/ckeditorerror.js");function d(e,t){const s=(t=g(t)).reduce(((e,t)=>e+t.offsetSize),0),o=e.parent;f(e);const i=e.index;return o._insertChild(i,t),m(o,i+t.length),m(o,i),new n.Z(e,e.getShiftedBy(s))}function h(e){if(!e.isFlat)throw new l.ZP("operation-utils-remove-range-not-flat",this);const t=e.start.parent;f(e.start),f(e.end);const s=t._removeChildren(e.start.index,e.end.index-e.start.index);return m(t,e.start.index),s}function u(e,t){if(!e.isFlat)throw new l.ZP("operation-utils-move-range-not-flat",this);const s=h(e);return d(t=t._getTransformedByDeletion(e.start,e.end.offset-e.start.offset),s)}function p(e,t,s){f(e.start),f(e.end);for(const o of e.getItems({shallow:!0})){const e=o.is("$textProxy")?o.textNode:o;null!==s?e._setAttribute(t,s):e._removeAttribute(t),m(e.parent,e.index)}m(e.end.parent,e.end.index)}function g(e){const t=[];e instanceof Array||(e=[e]);for(let s=0;s{"use strict";s.d(t,{Rt:()=>a,Ux:()=>c,YV:()=>l,ZP:()=>n});var o=s("./packages/ckeditor5-engine/src/model/treewalker.js"),i=s("./packages/ckeditor5-utils/src/comparearrays.js"),r=s("./packages/ckeditor5-utils/src/ckeditorerror.js");s("./packages/ckeditor5-utils/src/version.js");class n{constructor(e,t,s="toNone"){if(!e.is("element")&&!e.is("documentFragment"))throw new r.ZP("model-position-root-invalid",e);if(!(t instanceof Array)||0===t.length)throw new r.ZP("model-position-path-incorrect-format",e,{path:t});e.is("rootElement")?t=t.slice():(t=[...e.getPath(),...t],e=e.root),this.root=e,this.path=t,this.stickiness=s}get offset(){return this.path[this.path.length-1]}set offset(e){this.path[this.path.length-1]=e}get parent(){let e=this.root;for(let t=0;ts.path.length){if(t.offset!==o.maxOffset)return!1;t.path=t.path.slice(0,-1),o=o.parent,t.offset++}else{if(0!==s.offset)return!1;s.path=s.path.slice(0,-1)}}}is(e){return"position"===e||"model:position"===e}hasSameParentAs(e){if(this.root!==e.root)return!1;const t=this.getParentPath(),s=e.getParentPath();return"same"==(0,i.Z)(t,s)}getTransformedByOperation(e){let t;switch(e.type){case"insert":t=this._getTransformedByInsertOperation(e);break;case"move":case"remove":case"reinsert":t=this._getTransformedByMoveOperation(e);break;case"split":t=this._getTransformedBySplitOperation(e);break;case"merge":t=this._getTransformedByMergeOperation(e);break;default:t=n._createAt(this)}return t}_getTransformedByInsertOperation(e){return this._getTransformedByInsertion(e.position,e.howMany)}_getTransformedByMoveOperation(e){return this._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany)}_getTransformedBySplitOperation(e){const t=e.movedRange;return t.containsPosition(this)||t.start.isEqual(this)&&"toNext"==this.stickiness?this._getCombined(e.splitPosition,e.moveTargetPosition):e.graveyardPosition?this._getTransformedByMove(e.graveyardPosition,e.insertionPosition,1):this._getTransformedByInsertion(e.insertionPosition,1)}_getTransformedByMergeOperation(e){const t=e.movedRange;let s;return t.containsPosition(this)||t.start.isEqual(this)?(s=this._getCombined(e.sourcePosition,e.targetPosition),e.sourcePosition.isBefore(e.targetPosition)&&(s=s._getTransformedByDeletion(e.deletionPosition,1))):s=this.isEqual(e.deletionPosition)?n._createAt(e.deletionPosition):this._getTransformedByMove(e.deletionPosition,e.graveyardPosition,1),s}_getTransformedByDeletion(e,t){const s=n._createAt(this);if(this.root!=e.root)return s;if("same"==(0,i.Z)(e.getParentPath(),this.getParentPath())){if(e.offsetthis.offset)return null;s.offset-=t}}else if("prefix"==(0,i.Z)(e.getParentPath(),this.getParentPath())){const o=e.path.length-1;if(e.offset<=this.path[o]){if(e.offset+t>this.path[o])return null;s.path[o]-=t}}return s}_getTransformedByInsertion(e,t){const s=n._createAt(this);if(this.root!=e.root)return s;if("same"==(0,i.Z)(e.getParentPath(),this.getParentPath()))(e.offset{"use strict";s.d(t,{Z:()=>a});var o=s("./packages/ckeditor5-engine/src/model/position.js"),i=s("./packages/ckeditor5-engine/src/model/treewalker.js"),r=s("./packages/ckeditor5-utils/src/ckeditorerror.js"),n=s("./packages/ckeditor5-utils/src/comparearrays.js");class a{constructor(e,t=null){this.start=o.ZP._createAt(e),this.end=t?o.ZP._createAt(t):o.ZP._createAt(e),this.start.stickiness=this.isCollapsed?"toNone":"toNext",this.end.stickiness=this.isCollapsed?"toNone":"toPrevious"}*[Symbol.iterator](){yield*new i.Z({boundaries:this,ignoreElementEnd:!0})}get isCollapsed(){return this.start.isEqual(this.end)}get isFlat(){const e=this.start.getParentPath(),t=this.end.getParentPath();return"same"==(0,n.Z)(e,t)}get root(){return this.start.root}containsPosition(e){return e.isAfter(this.start)&&e.isBefore(this.end)}containsRange(e,t=!1){e.isCollapsed&&(t=!1);const s=this.containsPosition(e.start)||t&&this.start.isEqual(e.start),o=this.containsPosition(e.end)||t&&this.end.isEqual(e.end);return s&&o}containsItem(e){const t=o.ZP._createBefore(e);return this.containsPosition(t)||this.start.isEqual(t)}is(e){return"range"===e||"model:range"===e}isEqual(e){return this.start.isEqual(e.start)&&this.end.isEqual(e.end)}isIntersecting(e){return this.start.isBefore(e.end)&&this.end.isAfter(e.start)}getDifference(e){const t=[];return this.isIntersecting(e)?(this.containsPosition(e.start)&&t.push(new a(this.start,e.start)),this.containsPosition(e.end)&&t.push(new a(e.end,this.end))):t.push(new a(this.start,this.end)),t}getIntersection(e){if(this.isIntersecting(e)){let t=this.start,s=this.end;return this.containsPosition(e.start)&&(t=e.start),this.containsPosition(e.end)&&(s=e.end),new a(t,s)}return null}getJoined(e,t=!1){let s=this.isIntersecting(e);if(s||(s=this.start.isBefore(e.start)?t?this.end.isTouching(e.start):this.end.isEqual(e.start):t?e.end.isTouching(this.start):e.end.isEqual(this.start)),!s)return null;let o=this.start,i=this.end;return e.start.isBefore(o)&&(o=e.start),e.end.isAfter(i)&&(i=e.end),new a(o,i)}getMinimalFlatRanges(){const e=[],t=this.start.getCommonPath(this.end).length,s=o.ZP._createAt(this.start);let i=s.parent;for(;s.path.length>t+1;){const t=i.maxOffset-s.offset;0!==t&&e.push(new a(s,s.getShiftedBy(t))),s.path=s.path.slice(0,-1),s.offset++,i=i.parent}for(;s.path.length<=this.end.path.length;){const t=this.end.path[s.path.length-1],o=t-s.offset;0!==o&&e.push(new a(s,s.getShiftedBy(o))),s.offset=t,s.path.push(0)}return e}getWalker(e={}){return e.boundaries=this,new i.Z(e)}*getItems(e={}){e.boundaries=this,e.ignoreElementEnd=!0;const t=new i.Z(e);for(const e of t)yield e.item}*getPositions(e={}){e.boundaries=this;const t=new i.Z(e);yield t.position;for(const e of t)yield e.nextPosition}getTransformedByOperation(e){switch(e.type){case"insert":return this._getTransformedByInsertOperation(e);case"move":case"remove":case"reinsert":return this._getTransformedByMoveOperation(e);case"split":return[this._getTransformedBySplitOperation(e)];case"merge":return[this._getTransformedByMergeOperation(e)]}return[new a(this.start,this.end)]}getTransformedByOperations(e){const t=[new a(this.start,this.end)];for(const s of e)for(let e=0;e0?new this(s,o):new this(o,s)}static _createIn(e){return new this(o.ZP._createAt(e,0),o.ZP._createAt(e,e.maxOffset))}static _createOn(e){return this._createFromPositionAndShift(o.ZP._createBefore(e),e.offsetSize)}static _createFromRanges(e){if(0===e.length)throw new r.ZP("range-create-from-ranges-empty-array",null);if(1==e.length)return e[0].clone();const t=e[0];e.sort(((e,t)=>e.start.isAfter(t.start)?1:-1));const s=e.indexOf(t),i=new this(t.start,t.end);if(s>0)for(let t=s-1;e[t].end.isEqual(i.start);t++)i.start=o.ZP._createAt(e[t].start);for(let t=s+1;t{"use strict";s.d(t,{G:()=>u,Z:()=>h});var o=s("./packages/ckeditor5-utils/src/ckeditorerror.js"),i=s("./packages/ckeditor5-utils/src/observablemixin.js"),r=s("./packages/ckeditor5-utils/src/mix.js"),n=s("./packages/ckeditor5-engine/src/model/range.js"),a=s("./packages/ckeditor5-engine/src/model/position.js"),c=s("./packages/ckeditor5-engine/src/model/element.js"),l=s("./packages/ckeditor5-engine/src/model/text.js"),d=s("./packages/ckeditor5-engine/src/model/treewalker.js");class h{constructor(){this._sourceDefinitions={},this._attributeProperties={},this.decorate("checkChild"),this.decorate("checkAttribute"),this.on("checkAttribute",((e,t)=>{t[0]=new u(t[0])}),{priority:"highest"}),this.on("checkChild",((e,t)=>{t[0]=new u(t[0]),t[1]=this.getDefinition(t[1])}),{priority:"highest"})}register(e,t){if(this._sourceDefinitions[e])throw new o.ZP("schema-cannot-register-item-twice",this,{itemName:e});this._sourceDefinitions[e]=[Object.assign({},t)],this._clearCache()}extend(e,t){if(!this._sourceDefinitions[e])throw new o.ZP("schema-cannot-extend-missing-item",this,{itemName:e});this._sourceDefinitions[e].push(Object.assign({},t)),this._clearCache()}getDefinitions(){return this._compiledDefinitions||this._compile(),this._compiledDefinitions}getDefinition(e){let t;return t="string"==typeof e?e:e.is&&(e.is("$text")||e.is("$textProxy"))?"$text":e.name,this.getDefinitions()[t]}isRegistered(e){return!!this.getDefinition(e)}isBlock(e){const t=this.getDefinition(e);return!(!t||!t.isBlock)}isLimit(e){const t=this.getDefinition(e);return!!t&&!(!t.isLimit&&!t.isObject)}isObject(e){const t=this.getDefinition(e);return!!t&&!!(t.isObject||t.isLimit&&t.isSelectable&&t.isContent)}isInline(e){const t=this.getDefinition(e);return!(!t||!t.isInline)}isSelectable(e){const t=this.getDefinition(e);return!!t&&!(!t.isSelectable&&!t.isObject)}isContent(e){const t=this.getDefinition(e);return!!t&&!(!t.isContent&&!t.isObject)}checkChild(e,t){return!!t&&this._checkContextMatch(t,e)}checkAttribute(e,t){const s=this.getDefinition(e.last);return!!s&&s.allowAttributes.includes(t)}checkMerge(e,t=null){if(e instanceof a.ZP){const t=e.nodeBefore,s=e.nodeAfter;if(!(t instanceof c.Z))throw new o.ZP("schema-check-merge-no-element-before",this);if(!(s instanceof c.Z))throw new o.ZP("schema-check-merge-no-element-after",this);return this.checkMerge(t,s)}for(const s of t.getChildren())if(!this.checkChild(e,s))return!1;return!0}addChildCheck(e){this.on("checkChild",((t,[s,o])=>{if(!o)return;const i=e(s,o);"boolean"==typeof i&&(t.stop(),t.return=i)}),{priority:"high"})}addAttributeCheck(e){this.on("checkAttribute",((t,[s,o])=>{const i=e(s,o);"boolean"==typeof i&&(t.stop(),t.return=i)}),{priority:"high"})}setAttributeProperties(e,t){this._attributeProperties[e]=Object.assign(this.getAttributeProperties(e),t)}getAttributeProperties(e){return this._attributeProperties[e]||{}}getLimitElement(e){let t;if(e instanceof a.ZP)t=e.parent;else{t=(e instanceof n.Z?[e]:Array.from(e.getRanges())).reduce(((e,t)=>{const s=t.getCommonAncestor();return e?e.getCommonAncestor(s,{includeSelf:!0}):s}),null)}for(;!this.isLimit(t)&&t.parent;)t=t.parent;return t}checkAttributeInSelection(e,t){if(e.isCollapsed){const s=[...e.getFirstPosition().getAncestors(),new l.Z("",e.getAttributes())];return this.checkAttribute(s,t)}{const s=e.getRanges();for(const e of s)for(const s of e)if(this.checkAttribute(s.item,t))return!0}return!1}*getValidRanges(e,t){e=function*(e){for(const t of e)yield*t.getMinimalFlatRanges()}(e);for(const s of e)yield*this._getValidRangesForRange(s,t)}getNearestSelectionRange(e,t="both"){if(this.checkChild(e,"$text"))return new n.Z(e);let s,o;const i=e.getAncestors().reverse().find((e=>this.isLimit(e)))||e.root;"both"!=t&&"backward"!=t||(s=new d.Z({boundaries:n.Z._createIn(i),startPosition:e,direction:"backward"})),"both"!=t&&"forward"!=t||(o=new d.Z({boundaries:n.Z._createIn(i),startPosition:e}));for(const e of function*(e,t){let s=!1;for(;!s;){if(s=!0,e){const t=e.next();t.done||(s=!1,yield{walker:e,value:t.value})}if(t){const e=t.next();e.done||(s=!1,yield{walker:t,value:e.value})}}}(s,o)){const t=e.walker==s?"elementEnd":"elementStart",o=e.value;if(o.type==t&&this.isObject(o.item))return n.Z._createOn(o.item);if(this.checkChild(o.nextPosition,"$text"))return new n.Z(o.nextPosition)}return null}findAllowedParent(e,t){let s=e.parent;for(;s;){if(this.checkChild(s,t))return s;if(this.isLimit(s))return null;s=s.parent}return null}setAllowedAttributes(e,t,s){const o=s.model;for(const[i,r]of Object.entries(t))o.schema.checkAttribute(e,i)&&s.setAttribute(i,r,e)}removeDisallowedAttributes(e,t){for(const s of e)if(s.is("$text"))j(this,s,t);else{const e=n.Z._createIn(s).getPositions();for(const s of e){j(this,s.nodeBefore||s.parent,t)}}}getAttributesWithProperty(e,t,s){const o={};for(const[i,r]of e.getAttributes()){const e=this.getAttributeProperties(i);void 0!==e[t]&&(void 0!==s&&s!==e[t]||(o[i]=r))}return o}createContext(e){return new u(e)}_clearCache(){this._compiledDefinitions=null}_compile(){const e={},t=this._sourceDefinitions,s=Object.keys(t);for(const o of s)e[o]=p(t[o],o);for(const t of s)g(e,t);for(const t of s)m(e,t);for(const t of s)f(e,t);for(const t of s)k(e,t),_(e,t);for(const t of s)b(e,t),w(e,t),v(e,t);this._compiledDefinitions=e}_checkContextMatch(e,t,s=t.length-1){const o=t.getItem(s);if(e.allowIn.includes(o.name)){if(0==s)return!0;{const e=this.getDefinition(o);return this._checkContextMatch(e,t,s-1)}}return!1}*_getValidRangesForRange(e,t){let s=e.start,o=e.start;for(const i of e.getItems({shallow:!0}))i.is("element")&&(yield*this._getValidRangesForRange(n.Z._createIn(i),t)),this.checkAttribute(i,t)||(s.isEqual(o)||(yield new n.Z(s,o)),s=a.ZP._createAfter(i)),o=a.ZP._createAfter(i);s.isEqual(o)||(yield new n.Z(s,o))}}(0,r.Z)(h,i.Z);class u{constructor(e){if(e instanceof u)return e;"string"==typeof e?e=[e]:Array.isArray(e)||(e=e.getAncestors({includeSelf:!0})),this._items=e.map(P)}get length(){return this._items.length}get last(){return this._items[this._items.length-1]}[Symbol.iterator](){return this._items[Symbol.iterator]()}push(e){const t=new u([e]);return t._items=[...this._items,...t._items],t}getItem(e){return this._items[e]}*getNames(){yield*this._items.map((e=>e.name))}endsWith(e){return Array.from(this.getNames()).join(" ").endsWith(e)}startsWith(e){return Array.from(this.getNames()).join(" ").startsWith(e)}}function p(e,t){const s={name:t,allowIn:[],allowContentOf:[],allowWhere:[],allowAttributes:[],allowAttributesOf:[],allowChildren:[],inheritTypesFrom:[]};return function(e,t){for(const s of e){const e=Object.keys(s).filter((e=>e.startsWith("is")));for(const o of e)t[o]=s[o]}}(e,s),y(e,s,"allowIn"),y(e,s,"allowContentOf"),y(e,s,"allowWhere"),y(e,s,"allowAttributes"),y(e,s,"allowAttributesOf"),y(e,s,"allowChildren"),y(e,s,"inheritTypesFrom"),function(e,t){for(const s of e){const e=s.inheritAllFrom;e&&(t.allowContentOf.push(e),t.allowWhere.push(e),t.allowAttributesOf.push(e),t.inheritTypesFrom.push(e))}}(e,s),s}function g(e,t){const s=e[t];for(const o of s.allowChildren){const s=e[o];s&&s.allowIn.push(t)}s.allowChildren.length=0}function m(e,t){for(const s of e[t].allowContentOf)if(e[s]){Z(e,s).forEach((e=>{e.allowIn.push(t)}))}delete e[t].allowContentOf}function f(e,t){for(const s of e[t].allowWhere){const o=e[s];if(o){const s=o.allowIn;e[t].allowIn.push(...s)}}delete e[t].allowWhere}function k(e,t){for(const s of e[t].allowAttributesOf){const o=e[s];if(o){const s=o.allowAttributes;e[t].allowAttributes.push(...s)}}delete e[t].allowAttributesOf}function _(e,t){const s=e[t];for(const t of s.inheritTypesFrom){const o=e[t];if(o){const e=Object.keys(o).filter((e=>e.startsWith("is")));for(const t of e)t in s||(s[t]=o[t])}}delete s.inheritTypesFrom}function b(e,t){const s=e[t],o=s.allowIn.filter((t=>e[t]));s.allowIn=Array.from(new Set(o))}function w(e,t){const s=e[t];for(const o of s.allowIn){e[o].allowChildren.push(t)}}function v(e,t){const s=e[t];s.allowAttributes=Array.from(new Set(s.allowAttributes))}function y(e,t,s){for(const o of e)"string"==typeof o[s]?t[s].push(o[s]):Array.isArray(o[s])&&t[s].push(...o[s])}function Z(e,t){const s=e[t];return(o=e,Object.keys(o).map((e=>o[e]))).filter((e=>e.allowIn.includes(s.name)));var o}function P(e){return"string"==typeof e||e.is("documentFragment")?{name:"string"==typeof e?e:"$documentFragment",*getAttributeKeys(){},getAttribute(){}}:{name:e.is("element")?e.name:"$text",*getAttributeKeys(){yield*e.getAttributeKeys()},getAttribute:t=>e.getAttribute(t)}}function j(e,t,s){for(const o of t.getAttributeKeys())e.checkAttribute(t,o)||s.removeAttribute(o,t)}},"./packages/ckeditor5-engine/src/model/selection.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>d});var o=s("./packages/ckeditor5-engine/src/model/position.js"),i=s("./packages/ckeditor5-engine/src/model/node.js"),r=s("./packages/ckeditor5-engine/src/model/range.js"),n=s("./packages/ckeditor5-utils/src/emittermixin.js"),a=s("./packages/ckeditor5-utils/src/ckeditorerror.js"),c=s("./packages/ckeditor5-utils/src/mix.js"),l=s("./packages/ckeditor5-utils/src/isiterable.js");class d{constructor(e,t,s){this._lastRangeBackward=!1,this._ranges=[],this._attrs=new Map,e&&this.setTo(e,t,s)}get anchor(){if(this._ranges.length>0){const e=this._ranges[this._ranges.length-1];return this._lastRangeBackward?e.end:e.start}return null}get focus(){if(this._ranges.length>0){const e=this._ranges[this._ranges.length-1];return this._lastRangeBackward?e.start:e.end}return null}get isCollapsed(){return 1===this._ranges.length&&this._ranges[0].isCollapsed}get rangeCount(){return this._ranges.length}get isBackward(){return!this.isCollapsed&&this._lastRangeBackward}isEqual(e){if(this.rangeCount!=e.rangeCount)return!1;if(0===this.rangeCount)return!0;if(!this.anchor.isEqual(e.anchor)||!this.focus.isEqual(e.focus))return!1;for(const t of this._ranges){let s=!1;for(const o of e._ranges)if(t.isEqual(o)){s=!0;break}if(!s)return!1}return!0}*getRanges(){for(const e of this._ranges)yield new r.Z(e.start,e.end)}getFirstRange(){let e=null;for(const t of this._ranges)e&&!t.start.isBefore(e.start)||(e=t);return e?new r.Z(e.start,e.end):null}getLastRange(){let e=null;for(const t of this._ranges)e&&!t.end.isAfter(e.end)||(e=t);return e?new r.Z(e.start,e.end):null}getFirstPosition(){const e=this.getFirstRange();return e?e.start.clone():null}getLastPosition(){const e=this.getLastRange();return e?e.end.clone():null}setTo(e,t,s){if(null===e)this._setRanges([]);else if(e instanceof d)this._setRanges(e.getRanges(),e.isBackward);else if(e&&"function"==typeof e.getRanges)this._setRanges(e.getRanges(),e.isBackward);else if(e instanceof r.Z)this._setRanges([e],!!t&&!!t.backward);else if(e instanceof o.ZP)this._setRanges([new r.Z(e)]);else if(e instanceof i.Z){const i=!!s&&!!s.backward;let n;if("in"==t)n=r.Z._createIn(e);else if("on"==t)n=r.Z._createOn(e);else{if(void 0===t)throw new a.ZP("model-selection-setto-required-second-parameter",[this,e]);n=new r.Z(o.ZP._createAt(e,t))}this._setRanges([n],i)}else{if(!(0,l.Z)(e))throw new a.ZP("model-selection-setto-not-selectable",[this,e]);this._setRanges(e,t&&!!t.backward)}}_setRanges(e,t=!1){const s=(e=Array.from(e)).some((t=>{if(!(t instanceof r.Z))throw new a.ZP("model-selection-set-ranges-not-range",[this,e]);return this._ranges.every((e=>!e.isEqual(t)))}));if(e.length!==this._ranges.length||s){this._removeAllRanges();for(const t of e)this._pushRange(t);this._lastRangeBackward=!!t,this.fire("change:range",{directChange:!0})}}setFocus(e,t){if(null===this.anchor)throw new a.ZP("model-selection-setfocus-no-ranges",[this,e]);const s=o.ZP._createAt(e,t);if("same"==s.compareWith(this.focus))return;const i=this.anchor;this._ranges.length&&this._popRange(),"before"==s.compareWith(i)?(this._pushRange(new r.Z(s,i)),this._lastRangeBackward=!0):(this._pushRange(new r.Z(i,s)),this._lastRangeBackward=!1),this.fire("change:range",{directChange:!0})}getAttribute(e){return this._attrs.get(e)}getAttributes(){return this._attrs.entries()}getAttributeKeys(){return this._attrs.keys()}hasAttribute(e){return this._attrs.has(e)}removeAttribute(e){this.hasAttribute(e)&&(this._attrs.delete(e),this.fire("change:attribute",{attributeKeys:[e],directChange:!0}))}setAttribute(e,t){this.getAttribute(e)!==t&&(this._attrs.set(e,t),this.fire("change:attribute",{attributeKeys:[e],directChange:!0}))}getSelectedElement(){return 1!==this.rangeCount?null:this.getFirstRange().getContainedElement()}is(e){return"selection"===e||"model:selection"===e}*getSelectedBlocks(){const e=new WeakSet;for(const t of this.getRanges()){const s=p(t.start,e);s&&g(s,t)&&(yield s);for(const s of t.getWalker()){const o=s.item;"elementEnd"==s.type&&u(o,e,t)&&(yield o)}const i=p(t.end,e);i&&!t.end.isTouching(o.ZP._createAt(i,0))&&g(i,t)&&(yield i)}}containsEntireContent(e=this.anchor.root){const t=o.ZP._createAt(e,0),s=o.ZP._createAt(e,"end");return t.isTouching(this.getFirstPosition())&&s.isTouching(this.getLastPosition())}_pushRange(e){this._checkRange(e),this._ranges.push(new r.Z(e.start,e.end))}_checkRange(e){for(let t=0;t0;)this._popRange()}_popRange(){this._ranges.pop()}}function h(e,t){return!t.has(e)&&(t.add(e),e.root.document.model.schema.isBlock(e)&&e.parent)}function u(e,t,s){return h(e,t)&&g(e,s)}function p(e,t){const s=e.parent.root.document.model.schema,o=e.parent.getAncestors({parentFirst:!0,includeSelf:!0});let i=!1;const r=o.find((e=>!i&&(i=s.isLimit(e),!i&&h(e,t))));return o.forEach((e=>t.add(e))),r}function g(e,t){const s=function(e){const t=e.root.document.model.schema;let s=e.parent;for(;s;){if(t.isBlock(s))return s;s=s.parent}}(e);if(!s)return!0;return!t.containsRange(r.Z._createOn(s),!0)}(0,c.Z)(d,n.ZP)},"./packages/ckeditor5-engine/src/model/text.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});var o=s("./packages/ckeditor5-engine/src/model/node.js");class i extends o.Z{constructor(e,t){super(t),this._data=e||""}get offsetSize(){return this.data.length}get data(){return this._data}is(e){return"$text"===e||"model:$text"===e||"text"===e||"model:text"===e||"node"===e||"model:node"===e}toJSON(){const e=super.toJSON();return e.data=this.data,e}_clone(){return new i(this.data,this.getAttributes())}static fromJSON(e){return new i(e.data,e.attributes)}}},"./packages/ckeditor5-engine/src/model/textproxy.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});var o=s("./packages/ckeditor5-utils/src/ckeditorerror.js");class i{constructor(e,t,s){if(this.textNode=e,t<0||t>e.offsetSize)throw new o.ZP("model-textproxy-wrong-offsetintext",this);if(s<0||t+s>e.offsetSize)throw new o.ZP("model-textproxy-wrong-length",this);this.data=e.data.substring(t,t+s),this.offsetInText=t}get startOffset(){return null!==this.textNode.startOffset?this.textNode.startOffset+this.offsetInText:null}get offsetSize(){return this.data.length}get endOffset(){return null!==this.startOffset?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(e){return"$textProxy"===e||"model:$textProxy"===e||"textProxy"===e||"model:textProxy"===e}getPath(){const e=this.textNode.getPath();return e.length>0&&(e[e.length-1]+=this.offsetInText),e}getAncestors(e={includeSelf:!1,parentFirst:!1}){const t=[];let s=e.includeSelf?this:this.parent;for(;s;)t[e.parentFirst?"push":"unshift"](s),s=s.parent;return t}hasAttribute(e){return this.textNode.hasAttribute(e)}getAttribute(e){return this.textNode.getAttribute(e)}getAttributes(){return this.textNode.getAttributes()}getAttributeKeys(){return this.textNode.getAttributeKeys()}}},"./packages/ckeditor5-engine/src/model/treewalker.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>c});var o=s("./packages/ckeditor5-engine/src/model/text.js"),i=s("./packages/ckeditor5-engine/src/model/textproxy.js"),r=s("./packages/ckeditor5-engine/src/model/element.js"),n=s("./packages/ckeditor5-engine/src/model/position.js"),a=s("./packages/ckeditor5-utils/src/ckeditorerror.js");class c{constructor(e={}){if(!e.boundaries&&!e.startPosition)throw new a.ZP("model-tree-walker-no-start-position",null);const t=e.direction||"forward";if("forward"!=t&&"backward"!=t)throw new a.ZP("model-tree-walker-unknown-direction",e,{direction:t});this.direction=t,this.boundaries=e.boundaries||null,e.startPosition?this.position=e.startPosition.clone():this.position=n.ZP._createAt(this.boundaries["backward"==this.direction?"end":"start"]),this.position.stickiness="toNone",this.singleCharacters=!!e.singleCharacters,this.shallow=!!e.shallow,this.ignoreElementEnd=!!e.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(e){let t,s,o,i;do{o=this.position,i=this._visitedParent,({done:t,value:s}=this.next())}while(!t&&e(s));t||(this.position=o,this._visitedParent=i)}next(){return"forward"==this.direction?this._next():this._previous()}_next(){const e=this.position,t=this.position.clone(),s=this._visitedParent;if(null===s.parent&&t.offset===s.maxOffset)return{done:!0};if(s===this._boundaryEndParent&&t.offset==this.boundaries.end.offset)return{done:!0};const a=(0,n.Rt)(t,s),c=a||(0,n.Ux)(t,s,a);if(c instanceof r.Z)return this.shallow?t.offset++:(t.path.push(0),this._visitedParent=c),this.position=t,l("elementStart",c,e,t,1);if(c instanceof o.Z){let o;if(this.singleCharacters)o=1;else{let e=c.endOffset;this._boundaryEndParent==s&&this.boundaries.end.offsete&&(e=this.boundaries.start.offset),o=t.offset-e}const r=t.offset-d.startOffset,n=new i.Z(d,r-o,o);return t.offset-=o,this.position=t,l("text",n,e,t,o)}return t.path.pop(),this.position=t,this._visitedParent=s.parent,l("elementStart",s,e,t,1)}}function l(e,t,s,o,i){return{done:!1,value:{type:e,item:t,previousPosition:s,nextPosition:o,length:i}}}},"./packages/ckeditor5-engine/src/model/utils/autoparagraphing.js":(e,t,s)=>{"use strict";function o(e){const{schema:t,document:s}=e.model;for(const o of s.getRootNames()){const i=s.getRoot(o);if(i.isEmpty&&!t.checkChild(i,"$text")&&t.checkChild(i,"paragraph"))return e.insertElement("paragraph",i),!0}return!1}function i(e,t,s){const o=s.createContext(e);return!!s.checkChild(o,"paragraph")&&!!s.checkChild(o.push("paragraph"),t)}function r(e,t){const s=t.createElement("paragraph");return t.insert(s,e),t.createPositionAt(s,0)}s.d(t,{_m:()=>o,gg:()=>i,zX:()=>r})},"./packages/ckeditor5-engine/src/model/utils/findoptimalinsertionrange.js":(e,t,s)=>{"use strict";s.d(t,{K:()=>i});var o=s("./packages/ckeditor5-utils/src/first.js");function i(e,t,s="auto"){const i=e.getSelectedElement();if(i&&t.schema.isObject(i)&&!t.schema.isInline(i))return["before","after"].includes(s)?t.createRange(t.createPositionAt(i,s)):t.createRangeOn(i);const r=(0,o.Z)(e.getSelectedBlocks());if(!r)return t.createRange(e.focus);if(r.isEmpty)return t.createRange(t.createPositionAt(r,0));const n=t.createPositionAfter(r);return e.focus.isTouching(n)?t.createRange(n):t.createRange(t.createPositionBefore(r))}},"./packages/ckeditor5-engine/src/view/attributeelement.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./packages/ckeditor5-engine/src/view/element.js"),i=s("./packages/ckeditor5-utils/src/ckeditorerror.js");class r extends o.Z{constructor(e,t,s,o){super(e,t,s,o),this.getFillerOffset=n,this._priority=10,this._id=null,this._clonesGroup=null}get priority(){return this._priority}get id(){return this._id}getElementsWithSameId(){if(null===this.id)throw new i.ZP("attribute-element-get-elements-with-same-id-no-id",this);return new Set(this._clonesGroup)}is(e,t=null){return t?t===this.name&&("attributeElement"===e||"view:attributeElement"===e||"element"===e||"view:element"===e):"attributeElement"===e||"view:attributeElement"===e||"element"===e||"view:element"===e||"node"===e||"view:node"===e}isSimilar(e){return null!==this.id||null!==e.id?this.id===e.id:super.isSimilar(e)&&this.priority==e.priority}_clone(e){const t=super._clone(e);return t._priority=this._priority,t._id=this._id,t}}function n(){if(a(this))return null;let e=this.parent;for(;e&&e.is("attributeElement");){if(a(e)>1)return null;e=e.parent}return!e||a(e)>1?null:this.childCount}function a(e){return Array.from(e.getChildren()).filter((e=>!e.is("uiElement"))).length}r.DEFAULT_PRIORITY=10},"./packages/ckeditor5-engine/src/view/containerelement.js":(e,t,s)=>{"use strict";s.d(t,{Y:()=>r,Z:()=>i});var o=s("./packages/ckeditor5-engine/src/view/element.js");class i extends o.Z{constructor(e,t,s,o){super(e,t,s,o),this.getFillerOffset=r}is(e,t=null){return t?t===this.name&&("containerElement"===e||"view:containerElement"===e||"element"===e||"view:element"===e):"containerElement"===e||"view:containerElement"===e||"element"===e||"view:element"===e||"node"===e||"view:node"===e}}function r(){const e=[...this.getChildren()],t=e[this.childCount-1];if(t&&t.is("element","br"))return this.childCount;for(const t of e)if(!t.is("uiElement"))return null;return this.childCount}},"./packages/ckeditor5-engine/src/view/document.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>_});var o=s("./packages/ckeditor5-engine/src/view/documentselection.js"),i=s("./packages/ckeditor5-utils/src/collection.js"),r=s("./packages/ckeditor5-utils/src/mix.js"),n=s("./packages/ckeditor5-utils/src/eventinfo.js"),a=s("./packages/ckeditor5-utils/src/ckeditorerror.js"),c=s("./packages/ckeditor5-utils/src/emittermixin.js"),l=s("./packages/ckeditor5-utils/src/toarray.js"),d=s("./packages/ckeditor5-engine/src/view/observer/bubblingeventinfo.js");const h=Symbol("bubbling contexts"),u={fire(e,...t){try{const s=e instanceof n.Z?e:new n.Z(this,e),o=f(this);if(!o.size)return;if(p(s,"capturing",this),g(o,"$capture",s,...t))return s.return;const i=s.startRange||this.selection.getFirstRange(),r=i?i.getContainedElement():null,a=!!r&&Boolean(m(o,r));let c=r||function(e){if(!e)return null;const t=e.start.parent,s=e.end.parent,o=t.getPath(),i=s.getPath();return o.length>i.length?t:s}(i);if(p(s,"atTarget",c),!a){if(g(o,"$text",s,...t))return s.return;p(s,"bubbling",c)}for(;c;){if(c.is("rootElement")){if(g(o,"$root",s,...t))return s.return}else if(c.is("element")&&g(o,c.name,s,...t))return s.return;if(g(o,c,s,...t))return s.return;c=c.parent,p(s,"bubbling",c)}return p(s,"bubbling",this),g(o,"$document",s,...t),s.return}catch(e){a.ZP.rethrowUnexpectedError(e,this)}},_addEventListener(e,t,s){const o=(0,l.Z)(s.context||"$document"),i=f(this);for(const r of o){let o=i.get(r);o||(o=Object.create(c.ZP),i.set(r,o)),this.listenTo(o,e,t,s)}},_removeEventListener(e,t){const s=f(this);for(const o of s.values())this.stopListening(o,e,t)}};function p(e,t,s){e instanceof d.Z&&(e._eventPhase=t,e._currentTarget=s)}function g(e,t,s,...o){const i="string"==typeof t?e.get(t):m(e,t);return!!i&&(i.fire(s,...o),s.stop.called)}function m(e,t){for(const[s,o]of e)if("function"==typeof s&&s(t))return o;return null}function f(e){return e[h]||(e[h]=new Map),e[h]}var k=s("./packages/ckeditor5-utils/src/observablemixin.js");class _{constructor(e){this.selection=new o.Z,this.roots=new i.Z({idProperty:"rootName"}),this.stylesProcessor=e,this.set("isReadOnly",!1),this.set("isFocused",!1),this.set("isSelecting",!1),this.set("isComposing",!1),this._postFixers=new Set}getRoot(e="main"){return this.roots.get(e)}registerPostFixer(e){this._postFixers.add(e)}destroy(){this.roots.map((e=>e.destroy())),this.stopListening()}_callPostFixers(e){let t=!1;do{for(const s of this._postFixers)if(t=s(e),t)break}while(t)}}(0,r.Z)(_,u),(0,r.Z)(_,k.Z)},"./packages/ckeditor5-engine/src/view/documentfragment.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>c});var o=s("./packages/ckeditor5-engine/src/view/text.js"),i=s("./packages/ckeditor5-engine/src/view/textproxy.js"),r=s("./packages/ckeditor5-utils/src/mix.js"),n=s("./packages/ckeditor5-utils/src/isiterable.js"),a=s("./packages/ckeditor5-utils/src/emittermixin.js");class c{constructor(e,t){this.document=e,this._children=[],t&&this._insertChild(0,t)}[Symbol.iterator](){return this._children[Symbol.iterator]()}get childCount(){return this._children.length}get isEmpty(){return 0===this.childCount}get root(){return this}get parent(){return null}is(e){return"documentFragment"===e||"view:documentFragment"===e}_appendChild(e){return this._insertChild(this.childCount,e)}getChild(e){return this._children[e]}getChildIndex(e){return this._children.indexOf(e)}getChildren(){return this._children[Symbol.iterator]()}_insertChild(e,t){this._fireChange("children",this);let s=0;const r=function(e,t){if("string"==typeof t)return[new o.Z(e,t)];(0,n.Z)(t)||(t=[t]);return Array.from(t).map((t=>"string"==typeof t?new o.Z(e,t):t instanceof i.Z?new o.Z(e,t.data):t))}(this.document,t);for(const t of r)null!==t.parent&&t._remove(),t.parent=this,this._children.splice(e,0,t),e++,s++;return s}_removeChildren(e,t=1){this._fireChange("children",this);for(let s=e;s{"use strict";s.d(t,{Z:()=>n});var o=s("./packages/ckeditor5-engine/src/view/selection.js"),i=s("./packages/ckeditor5-utils/src/mix.js"),r=s("./packages/ckeditor5-utils/src/emittermixin.js");class n{constructor(e=null,t,s){this._selection=new o.Z,this._selection.delegate("change").to(this),this._selection.setTo(e,t,s)}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(e){return this._selection.isEqual(e)}isSimilar(e){return this._selection.isSimilar(e)}is(e){return"selection"===e||"documentSelection"==e||"view:selection"==e||"view:documentSelection"==e}_setTo(e,t,s){this._selection.setTo(e,t,s)}_setFocus(e,t){this._selection.setFocus(e,t)}}(0,i.Z)(n,r.ZP)},"./packages/ckeditor5-engine/src/view/domconverter.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>j});var o=s("./packages/ckeditor5-engine/src/view/text.js"),i=s("./packages/ckeditor5-engine/src/view/element.js"),r=s("./packages/ckeditor5-engine/src/view/uielement.js"),n=s("./packages/ckeditor5-engine/src/view/position.js"),a=s("./packages/ckeditor5-engine/src/view/range.js"),c=s("./packages/ckeditor5-engine/src/view/selection.js"),l=s("./packages/ckeditor5-engine/src/view/documentfragment.js"),d=s("./packages/ckeditor5-engine/src/view/treewalker.js"),h=s("./packages/ckeditor5-engine/src/view/matcher.js"),u=s("./packages/ckeditor5-engine/src/view/filler.js"),p=s("./packages/ckeditor5-utils/src/dom/global.js"),g=s("./packages/ckeditor5-utils/src/ckeditorerror.js");function m(e){let t=0;for(;e.previousSibling;)e=e.previousSibling,t++;return t}function f(e){const t=[];for(;e&&e.nodeType!=Node.DOCUMENT_NODE;)t.unshift(e),e=e.parentNode;return t}var k=s("./packages/ckeditor5-utils/src/dom/istext.js"),_=s("./packages/ckeditor5-utils/src/dom/iscomment.js");const b=(0,u.yl)(document),w=(0,u.N3)(document),v=(0,u.PQ)(document),y="data-ck-unsafe-attribute-",Z="data-ck-unsafe-element",P=["script","style"];class j{constructor(e,t={}){this.document=e,this.renderingMode=t.renderingMode||"editing",this.blockFillerMode=t.blockFillerMode||("editing"===this.renderingMode?"br":"nbsp"),this.preElements=["pre"],this.blockElements=["address","article","aside","blockquote","caption","center","dd","details","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","legend","li","main","menu","nav","ol","p","pre","section","summary","table","tbody","td","tfoot","th","thead","tr","ul"],this.inlineObjectElements=["object","iframe","input","button","textarea","select","option","video","embed","audio","img","canvas"],this._domToViewMapping=new WeakMap,this._viewToDomMapping=new WeakMap,this._fakeSelectionMapping=new WeakMap,this._rawContentElementMatcher=new h.Z,this._encounteredRawContentDomNodes=new WeakSet}bindFakeSelection(e,t){this._fakeSelectionMapping.set(e,new c.Z(t))}fakeSelectionToView(e){return this._fakeSelectionMapping.get(e)}bindElements(e,t){this._domToViewMapping.set(e,t),this._viewToDomMapping.set(t,e)}unbindDomElement(e){const t=this._domToViewMapping.get(e);if(t){this._domToViewMapping.delete(e),this._viewToDomMapping.delete(t);for(const t of e.childNodes)this.unbindDomElement(t)}}bindDocumentFragments(e,t){this._domToViewMapping.set(e,t),this._viewToDomMapping.set(t,e)}shouldRenderAttribute(e,t,s){return"data"===this.renderingMode||!(e=e.toLowerCase()).startsWith("on")&&(("srcdoc"!==e||!t.match(/\bon\S+\s*=|javascript:|<\s*\/*script/i))&&("img"===s&&("src"===e||"srcset"===e)||("source"===s&&"srcset"===e||!t.match(/^\s*(javascript:|data:(image\/svg|text\/x?html))/i))))}setContentOf(e,t){if("data"===this.renderingMode)return void(e.innerHTML=t);const s=(new DOMParser).parseFromString(t,"text/html"),o=s.createDocumentFragment(),i=s.body.childNodes;for(;i.length>0;)o.appendChild(i[0]);const r=s.createTreeWalker(o,NodeFilter.SHOW_ELEMENT),n=[];let a;for(;a=r.nextNode();)n.push(a);for(const e of n){for(const t of e.getAttributeNames())this.setDomElementAttribute(e,t,e.getAttribute(t));const t=e.tagName.toLowerCase();this._shouldRenameElement(t)&&(T(t),e.replaceWith(this._createReplacementDomElement(t,e)))}for(;e.firstChild;)e.firstChild.remove();e.append(o)}viewToDom(e,t,s={}){if(e.is("$text")){const s=this._processDataFromViewText(e);return t.createTextNode(s)}{if(this.mapViewToDom(e))return this.mapViewToDom(e);let o;if(e.is("documentFragment"))o=t.createDocumentFragment(),s.bind&&this.bindDocumentFragments(o,e);else{if(e.is("uiElement"))return o="$comment"===e.name?t.createComment(e.getCustomProperty("$rawContent")):e.render(t,this),s.bind&&this.bindElements(o,e),o;this._shouldRenameElement(e.name)?(T(e.name),o=this._createReplacementDomElement(e.name)):o=e.hasAttribute("xmlns")?t.createElementNS(e.getAttribute("xmlns"),e.name):t.createElement(e.name),e.is("rawElement")&&e.render(o,this),s.bind&&this.bindElements(o,e);for(const t of e.getAttributeKeys())this.setDomElementAttribute(o,t,e.getAttribute(t),e)}if(!1!==s.withChildren)for(const i of this.viewChildrenToDom(e,t,s))o.appendChild(i);return o}}setDomElementAttribute(e,t,s,o=null){const i=this.shouldRenderAttribute(t,s,e.tagName.toLowerCase())||o&&o.shouldRenderUnsafeAttribute(t);i||(0,g.KE)("domconverter-unsafe-attribute-detected",{domElement:e,key:t,value:s}),e.hasAttribute(t)&&!i?e.removeAttribute(t):e.hasAttribute(y+t)&&i&&e.removeAttribute(y+t),e.setAttribute(i?t:y+t,s)}removeDomElementAttribute(e,t){t!=Z&&(e.removeAttribute(t),e.removeAttribute(y+t))}*viewChildrenToDom(e,t,s={}){const o=e.getFillerOffset&&e.getFillerOffset();let i=0;for(const r of e.getChildren()){o===i&&(yield this._getBlockFiller(t));const e=r.is("element")&&r.getCustomProperty("dataPipeline:transparentRendering");e&&"data"==this.renderingMode?yield*this.viewChildrenToDom(r,t,s):(e&&(0,g.KE)("domconverter-transparent-rendering-unsupported-in-editing-pipeline",{viewElement:r}),yield this.viewToDom(r,t,s)),i++}o===i&&(yield this._getBlockFiller(t))}viewRangeToDom(e){const t=this.viewPositionToDom(e.start),s=this.viewPositionToDom(e.end),o=document.createRange();return o.setStart(t.parent,t.offset),o.setEnd(s.parent,s.offset),o}viewPositionToDom(e){const t=e.parent;if(t.is("$text")){const s=this.findCorrespondingDomText(t);if(!s)return null;let o=e.offset;return(0,u.Sw)(s)&&(o+=u.b_),{parent:s,offset:o}}{let s,o,i;if(0===e.offset){if(s=this.mapViewToDom(t),!s)return null;i=s.childNodes[0]}else{const t=e.nodeBefore;if(o=t.is("$text")?this.findCorrespondingDomText(t):this.mapViewToDom(e.nodeBefore),!o)return null;s=o.parentNode,i=o.nextSibling}if((0,k.Z)(i)&&(0,u.Sw)(i))return{parent:i,offset:u.b_};return{parent:s,offset:o?m(o)+1:0}}}domToView(e,t={}){if(this.isBlockFiller(e))return null;const s=this.getHostViewElement(e);if(s)return s;if((0,_.Z)(e)&&t.skipComments)return null;if((0,k.Z)(e)){if((0,u.Qh)(e))return null;{const t=this._processDataFromDomText(e);return""===t?null:new o.Z(this.document,t)}}{if(this.mapDomToView(e))return this.mapDomToView(e);let s;if(this.isDocumentFragment(e))s=new l.Z(this.document),t.bind&&this.bindDocumentFragments(e,s);else{s=this._createViewElement(e,t),t.bind&&this.bindElements(e,s);const o=e.attributes;if(o)for(let e=o.length-1;e>=0;e--)s._setAttribute(o[e].name,o[e].value);if(this._isViewElementWithRawContent(s,t)||(0,_.Z)(e)){const t=(0,_.Z)(e)?e.data:e.innerHTML;return s._setCustomProperty("$rawContent",t),this._encounteredRawContentDomNodes.add(e),s}}if(!1!==t.withChildren)for(const o of this.domChildrenToView(e,t))s._appendChild(o);return s}}*domChildrenToView(e,t={}){for(let s=0;s{const{scrollLeft:t,scrollTop:s}=e;o.push([t,s])})),t.focus(),x(t,(e=>{const[t,s]=o.shift();e.scrollLeft=t,e.scrollTop=s})),p.Z.window.scrollTo(e,s)}}isElement(e){return e&&e.nodeType==Node.ELEMENT_NODE}isDocumentFragment(e){return e&&e.nodeType==Node.DOCUMENT_FRAGMENT_NODE}isBlockFiller(e){return"br"==this.blockFillerMode?e.isEqualNode(b):!("BR"!==e.tagName||!A(e,this.blockElements)||1!==e.parentNode.childNodes.length)||(e.isEqualNode(v)||function(e,t){return e.isEqualNode(w)&&A(e,t)&&1===e.parentNode.childNodes.length}(e,this.blockElements))}isDomSelectionBackward(e){if(e.isCollapsed)return!1;const t=document.createRange();t.setStart(e.anchorNode,e.anchorOffset),t.setEnd(e.focusNode,e.focusOffset);const s=t.collapsed;return t.detach(),s}getHostViewElement(e){const t=f(e);for(t.pop();t.length;){const e=t.pop(),s=this._domToViewMapping.get(e);if(s&&(s.is("uiElement")||s.is("rawElement")))return s}return null}isDomSelectionCorrect(e){return this._isDomSelectionPositionCorrect(e.anchorNode,e.anchorOffset)&&this._isDomSelectionPositionCorrect(e.focusNode,e.focusOffset)}registerRawContentMatcher(e){this._rawContentElementMatcher.add(e)}_getBlockFiller(e){switch(this.blockFillerMode){case"nbsp":return(0,u.N3)(e);case"markedNbsp":return(0,u.PQ)(e);case"br":return(0,u.yl)(e)}}_isDomSelectionPositionCorrect(e,t){if((0,k.Z)(e)&&(0,u.Sw)(e)&&tthis.preElements.includes(e.name))))return t;if(" "==t.charAt(0)){const s=this._getTouchingInlineViewNode(e,!1);!(s&&s.is("$textProxy")&&this._nodeEndsWithSpace(s))&&s||(t=" "+t.substr(1))}if(" "==t.charAt(t.length-1)){const s=this._getTouchingInlineViewNode(e,!0),o=s&&s.is("$textProxy")&&" "==s.data.charAt(0);" "!=t.charAt(t.length-2)&&s&&!o||(t=t.substr(0,t.length-1)+" ")}return t.replace(/ {2}/g,"  ")}_nodeEndsWithSpace(e){if(e.getAncestors().some((e=>this.preElements.includes(e.name))))return!1;const t=this._processDataFromViewText(e);return" "==t.charAt(t.length-1)}_processDataFromDomText(e){let t=e.data;if(function(e,t){return f(e).some((e=>e.tagName&&t.includes(e.tagName.toLowerCase())))}(e,this.preElements))return(0,u.th)(e);t=t.replace(/[ \n\t\r]{1,}/g," ");const s=this._getTouchingInlineDomNode(e,!1),o=this._getTouchingInlineDomNode(e,!0),i=this._checkShouldLeftTrimDomText(e,s),r=this._checkShouldRightTrimDomText(e,o);i&&(t=t.replace(/^ /,"")),r&&(t=t.replace(/ $/,"")),t=(0,u.th)(new Text(t)),t=t.replace(/ \u00A0/g," ");const n=o&&this.isElement(o)&&"BR"!=o.tagName,a=o&&(0,k.Z)(o)&&" "==o.data.charAt(0);return(/( |\u00A0)\u00A0$/.test(t)||!o||n||a)&&(t=t.replace(/\u00A0$/," ")),(i||s&&this.isElement(s)&&"BR"!=s.tagName)&&(t=t.replace(/^\u00A0/," ")),t}_checkShouldLeftTrimDomText(e,t){return!t||(this.isElement(t)?"BR"===t.tagName:!this._encounteredRawContentDomNodes.has(e.previousSibling)&&/[^\S\u00A0]/.test(t.data.charAt(t.data.length-1)))}_checkShouldRightTrimDomText(e,t){return!t&&!(0,u.Sw)(e)}_getTouchingInlineViewNode(e,t){const s=new d.Z({startPosition:t?n.Z._createAfter(e):n.Z._createBefore(e),direction:t?"forward":"backward"});for(const e of s){if(e.item.is("element")&&this.inlineObjectElements.includes(e.item.name))return e.item;if(e.item.is("containerElement"))return null;if(e.item.is("element","br"))return null;if(e.item.is("$textProxy"))return e.item}return null}_getTouchingInlineDomNode(e,t){if(!e.parentNode)return null;const s=t?"firstChild":"lastChild",o=t?"nextSibling":"previousSibling";let i=!0;do{if(!i&&e[s]?e=e[s]:e[o]?(e=e[o],i=!1):(e=e.parentNode,i=!0),!e||this._isBlockElement(e))return null}while(!(0,k.Z)(e)&&"BR"!=e.tagName&&!this._isInlineObjectElement(e));return e}_isBlockElement(e){return this.isElement(e)&&this.blockElements.includes(e.tagName.toLowerCase())}_isInlineObjectElement(e){return this.isElement(e)&&this.inlineObjectElements.includes(e.tagName.toLowerCase())}_createViewElement(e,t){if((0,_.Z)(e))return new r.Z(this.document,"$comment");const s=t.keepOriginalCase?e.tagName:e.tagName.toLowerCase();return new i.Z(this.document,s)}_isViewElementWithRawContent(e,t){return!1!==t.withChildren&&this._rawContentElementMatcher.match(e)}_shouldRenameElement(e){const t=e.toLowerCase();return"editing"===this.renderingMode&&P.includes(t)}_createReplacementDomElement(e,t=null){const s=document.createElement("span");if(s.setAttribute(Z,e),t){for(;t.firstChild;)s.appendChild(t.firstChild);for(const e of t.getAttributeNames())s.setAttribute(e,t.getAttribute(e))}return s}}function x(e,t){for(;e&&e!=p.Z.document;)t(e),e=e.parentNode}function A(e,t){const s=e.parentNode;return s&&s.tagName&&t.includes(s.tagName.toLowerCase())}function T(e){"script"===e&&(0,g.KE)("domconverter-unsafe-script-element-detected"),"style"===e&&(0,g.KE)("domconverter-unsafe-style-element-detected")}},"./packages/ckeditor5-engine/src/view/downcastwriter.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>k});var o=s("./packages/ckeditor5-engine/src/view/position.js"),i=s("./packages/ckeditor5-engine/src/view/range.js"),r=s("./packages/ckeditor5-engine/src/view/selection.js"),n=s("./packages/ckeditor5-engine/src/view/containerelement.js"),a=s("./packages/ckeditor5-engine/src/view/attributeelement.js"),c=s("./packages/ckeditor5-engine/src/view/emptyelement.js"),l=s("./packages/ckeditor5-engine/src/view/uielement.js"),d=s("./packages/ckeditor5-engine/src/view/rawelement.js"),h=s("./packages/ckeditor5-utils/src/ckeditorerror.js"),u=s("./packages/ckeditor5-engine/src/view/documentfragment.js"),p=s("./packages/ckeditor5-utils/src/isiterable.js"),g=s("./packages/ckeditor5-engine/src/view/text.js"),m=s("./packages/ckeditor5-engine/src/view/editableelement.js"),f=s("./node_modules/lodash-es/isPlainObject.js");class k{constructor(e){this.document=e,this._cloneGroups=new Map,this._slotFactory=null}setSelection(e,t,s){this.document.selection._setTo(e,t,s)}setSelectionFocus(e,t){this.document.selection._setFocus(e,t)}createDocumentFragment(e){return new u.Z(this.document,e)}createText(e){return new g.Z(this.document,e)}createAttributeElement(e,t,s={}){const o=new a.Z(this.document,e,t);return"number"==typeof s.priority&&(o._priority=s.priority),s.id&&(o._id=s.id),s.renderUnsafeAttributes&&o._unsafeAttributesToRender.push(...s.renderUnsafeAttributes),o}createContainerElement(e,t,s={},o={}){let i=null;(0,f.Z)(s)?o=s:i=s;const r=new n.Z(this.document,e,t,i);return o.renderUnsafeAttributes&&r._unsafeAttributesToRender.push(...o.renderUnsafeAttributes),r}createEditableElement(e,t,s={}){const o=new m.Z(this.document,e,t);return o._document=this.document,s.renderUnsafeAttributes&&o._unsafeAttributesToRender.push(...s.renderUnsafeAttributes),o}createEmptyElement(e,t,s={}){const o=new c.Z(this.document,e,t);return s.renderUnsafeAttributes&&o._unsafeAttributesToRender.push(...s.renderUnsafeAttributes),o}createUIElement(e,t,s){const o=new l.Z(this.document,e,t);return s&&(o.render=s),o}createRawElement(e,t,s,o={}){const i=new d.Z(this.document,e,t);return i.render=s||(()=>{}),o.renderUnsafeAttributes&&i._unsafeAttributesToRender.push(...o.renderUnsafeAttributes),i}setAttribute(e,t,s){s._setAttribute(e,t)}removeAttribute(e,t){t._removeAttribute(e)}addClass(e,t){t._addClass(e)}removeClass(e,t){t._removeClass(e)}setStyle(e,t,s){(0,f.Z)(e)&&void 0===s&&(s=t),s._setStyle(e,t)}removeStyle(e,t){t._removeStyle(e)}setCustomProperty(e,t,s){s._setCustomProperty(e,t)}removeCustomProperty(e,t){return t._removeCustomProperty(e)}breakAttributes(e){return e instanceof o.Z?this._breakAttributes(e):this._breakAttributesRange(e)}breakContainer(e){const t=e.parent;if(!t.is("containerElement"))throw new h.ZP("view-writer-break-non-container-element",this.document);if(!t.parent)throw new h.ZP("view-writer-break-root",this.document);if(e.isAtStart)return o.Z._createBefore(t);if(!e.isAtEnd){const s=t._clone(!1);this.insert(o.Z._createAfter(t),s);const r=new i.Z(e,o.Z._createAt(t,"end")),n=new o.Z(s,0);this.move(r,n)}return o.Z._createAfter(t)}mergeAttributes(e){const t=e.offset,s=e.parent;if(s.is("$text"))return e;if(s.is("attributeElement")&&0===s.childCount){const e=s.parent,t=s.index;return s._remove(),this._removeFromClonedElementsGroup(s),this.mergeAttributes(new o.Z(e,t))}const i=s.getChild(t-1),r=s.getChild(t);if(!i||!r)return e;if(i.is("$text")&&r.is("$text"))return y(i,r);if(i.is("attributeElement")&&r.is("attributeElement")&&i.isSimilar(r)){const e=i.childCount;return i._appendChild(r.getChildren()),r._remove(),this._removeFromClonedElementsGroup(r),this.mergeAttributes(new o.Z(i,e))}return e}mergeContainers(e){const t=e.nodeBefore,s=e.nodeAfter;if(!(t&&s&&t.is("containerElement")&&s.is("containerElement")))throw new h.ZP("view-writer-merge-containers-invalid-position",this.document);const r=t.getChild(t.childCount-1),n=r instanceof g.Z?o.Z._createAt(r,"end"):o.Z._createAt(t,"end");return this.move(i.Z._createIn(s),o.Z._createAt(t,"end")),this.remove(i.Z._createOn(s)),n}insert(e,t){Z(t=(0,p.Z)(t)?[...t]:[t],this.document);const s=t.reduce(((e,t)=>{const s=e[e.length-1],o=!t.is("uiElement");return s&&s.breakAttributes==o?s.nodes.push(t):e.push({breakAttributes:o,nodes:[t]}),e}),[]);let o=null,r=e;for(const{nodes:e,breakAttributes:t}of s){const s=this._insertNodes(r,e,t);o||(o=s.start),r=s.end}return o?new i.Z(o,r):new i.Z(e)}remove(e){const t=e instanceof i.Z?e:i.Z._createOn(e);if(x(t,this.document),t.isCollapsed)return new u.Z(this.document);const{start:s,end:o}=this._breakAttributesRange(t,!0),r=s.parent,n=o.offset-s.offset,a=r._removeChildren(s.offset,n);for(const e of a)this._removeFromClonedElementsGroup(e);const c=this.mergeAttributes(s);return t.start=c,t.end=c.clone(),new u.Z(this.document,a)}clear(e,t){x(e,this.document);const s=e.getWalker({direction:"backward",ignoreElementEnd:!0});for(const o of s){const s=o.item;let r;if(s.is("element")&&t.isSimilar(s))r=i.Z._createOn(s);else if(!o.nextPosition.isAfter(e.start)&&s.is("$textProxy")){const e=s.getAncestors().find((e=>e.is("element")&&t.isSimilar(e)));e&&(r=i.Z._createIn(e))}r&&(r.end.isAfter(e.end)&&(r.end=e.end),r.start.isBefore(e.start)&&(r.start=e.start),this.remove(r))}}move(e,t){let s;if(t.isAfter(e.end)){const o=(t=this._breakAttributes(t,!0)).parent,i=o.childCount;e=this._breakAttributesRange(e,!0),s=this.remove(e),t.offset+=o.childCount-i}else s=this.remove(e);return this.insert(t,s)}wrap(e,t){if(!(t instanceof a.Z))throw new h.ZP("view-writer-wrap-invalid-attribute",this.document);if(x(e,this.document),e.isCollapsed){let o=e.start;o.parent.is("element")&&(s=o.parent,!Array.from(s.getChildren()).some((e=>!e.is("uiElement"))))&&(o=o.getLastMatchingPosition((e=>e.item.is("uiElement")))),o=this._wrapPosition(o,t);const r=this.document.selection;return r.isCollapsed&&r.getFirstPosition().isEqual(e.start)&&this.setSelection(o),new i.Z(o)}return this._wrapRange(e,t);var s}unwrap(e,t){if(!(t instanceof a.Z))throw new h.ZP("view-writer-unwrap-invalid-attribute",this.document);if(x(e,this.document),e.isCollapsed)return e;const{start:s,end:o}=this._breakAttributesRange(e,!0),r=s.parent,n=this._unwrapChildren(r,s.offset,o.offset,t),c=this.mergeAttributes(n.start);c.isEqual(n.start)||n.end.offset--;const l=this.mergeAttributes(n.end);return new i.Z(c,l)}rename(e,t){const s=new n.Z(this.document,e,t.getAttributes());return this.insert(o.Z._createAfter(t),s),this.move(i.Z._createIn(t),o.Z._createAt(s,0)),this.remove(i.Z._createOn(t)),s}clearClonedElementsGroup(e){this._cloneGroups.delete(e)}createPositionAt(e,t){return o.Z._createAt(e,t)}createPositionAfter(e){return o.Z._createAfter(e)}createPositionBefore(e){return o.Z._createBefore(e)}createRange(e,t){return new i.Z(e,t)}createRangeOn(e){return i.Z._createOn(e)}createRangeIn(e){return i.Z._createIn(e)}createSelection(e,t,s){return new r.Z(e,t,s)}createSlot(e){if(!this._slotFactory)throw new h.ZP("view-writer-invalid-create-slot-context",this.document);return this._slotFactory(this,e)}_registerSlotFactory(e){this._slotFactory=e}_clearSlotFactory(){this._slotFactory=null}_insertNodes(e,t,s){let o,r;if(o=s?_(e):e.parent.is("$text")?e.parent.parent:e.parent,!o)throw new h.ZP("view-writer-invalid-position-container",this.document);r=s?this._breakAttributes(e,!0):e.parent.is("$text")?v(e):e;const n=o._insertChild(r.offset,t);for(const e of t)this._addToClonedElementsGroup(e);const a=r.getShiftedBy(n),c=this.mergeAttributes(r);c.isEqual(r)||a.offset--;const l=this.mergeAttributes(a);return new i.Z(c,l)}_wrapChildren(e,t,s,r){let n=t;const a=[];for(;n!1,e.parent._insertChild(e.offset,s);const r=new i.Z(e,e.getShiftedBy(1));this.wrap(r,t);const n=new o.Z(s.parent,s.index);s._remove();const a=n.nodeBefore,c=n.nodeAfter;return a instanceof g.Z&&c instanceof g.Z?y(a,c):w(n)}_wrapAttributeElement(e,t){if(!A(e,t))return!1;if(e.name!==t.name||e.priority!==t.priority)return!1;for(const s of e.getAttributeKeys())if("class"!==s&&"style"!==s&&t.hasAttribute(s)&&t.getAttribute(s)!==e.getAttribute(s))return!1;for(const s of e.getStyleNames())if(t.hasStyle(s)&&t.getStyle(s)!==e.getStyle(s))return!1;for(const s of e.getAttributeKeys())"class"!==s&&"style"!==s&&(t.hasAttribute(s)||this.setAttribute(s,e.getAttribute(s),t));for(const s of e.getStyleNames())t.hasStyle(s)||this.setStyle(s,e.getStyle(s),t);for(const s of e.getClassNames())t.hasClass(s)||this.addClass(s,t);return!0}_unwrapAttributeElement(e,t){if(!A(e,t))return!1;if(e.name!==t.name||e.priority!==t.priority)return!1;for(const s of e.getAttributeKeys())if("class"!==s&&"style"!==s&&(!t.hasAttribute(s)||t.getAttribute(s)!==e.getAttribute(s)))return!1;if(!t.hasClass(...e.getClassNames()))return!1;for(const s of e.getStyleNames())if(!t.hasStyle(s)||t.getStyle(s)!==e.getStyle(s))return!1;for(const s of e.getAttributeKeys())"class"!==s&&"style"!==s&&this.removeAttribute(s,t);return this.removeClass(Array.from(e.getClassNames()),t),this.removeStyle(Array.from(e.getStyleNames()),t),!0}_breakAttributesRange(e,t=!1){const s=e.start,o=e.end;if(x(e,this.document),e.isCollapsed){const s=this._breakAttributes(e.start,t);return new i.Z(s,s)}const r=this._breakAttributes(o,t),n=r.parent.childCount,a=this._breakAttributes(s,t);return r.offset+=r.parent.childCount-n,new i.Z(a,r)}_breakAttributes(e,t=!1){const s=e.offset,i=e.parent;if(e.parent.is("emptyElement"))throw new h.ZP("view-writer-cannot-break-empty-element",this.document);if(e.parent.is("uiElement"))throw new h.ZP("view-writer-cannot-break-ui-element",this.document);if(e.parent.is("rawElement"))throw new h.ZP("view-writer-cannot-break-raw-element",this.document);if(!t&&i.is("$text")&&j(i.parent))return e.clone();if(j(i))return e.clone();if(i.is("$text"))return this._breakAttributes(v(e),t);if(s==i.childCount){const e=new o.Z(i.parent,i.index+1);return this._breakAttributes(e,t)}if(0===s){const e=new o.Z(i.parent,i.index);return this._breakAttributes(e,t)}{const e=i.index+1,r=i._clone();i.parent._insertChild(e,r),this._addToClonedElementsGroup(r);const n=i.childCount-s,a=i._removeChildren(s,n);r._appendChild(a);const c=new o.Z(i.parent,e);return this._breakAttributes(c,t)}}_addToClonedElementsGroup(e){if(!e.root.is("rootElement"))return;if(e.is("element"))for(const t of e.getChildren())this._addToClonedElementsGroup(t);const t=e.id;if(!t)return;let s=this._cloneGroups.get(t);s||(s=new Set,this._cloneGroups.set(t,s)),s.add(e),e._clonesGroup=s}_removeFromClonedElementsGroup(e){if(e.is("element"))for(const t of e.getChildren())this._removeFromClonedElementsGroup(t);const t=e.id;if(!t)return;const s=this._cloneGroups.get(t);s&&s.delete(e)}}function _(e){let t=e.parent;for(;!j(t);){if(!t)return;t=t.parent}return t}function b(e,t){return e.priorityt.priority)&&e.getIdentity()s instanceof e)))throw new h.ZP("view-writer-insert-invalid-node-type",t);s.is("$text")||Z(s.getChildren(),t)}}const P=[g.Z,a.Z,n.Z,c.Z,d.Z,l.Z];function j(e){return e&&(e.is("containerElement")||e.is("documentFragment"))}function x(e,t){const s=_(e.start),o=_(e.end);if(!s||!o||s!==o)throw new h.ZP("view-writer-invalid-range-container",t)}function A(e,t){return null===e.id&&null===t.id}},"./packages/ckeditor5-engine/src/view/editableelement.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>n});var o=s("./packages/ckeditor5-engine/src/view/containerelement.js"),i=s("./packages/ckeditor5-utils/src/mix.js"),r=s("./packages/ckeditor5-utils/src/observablemixin.js");class n extends o.Z{constructor(e,t,s,o){super(e,t,s,o),this.set("isReadOnly",!1),this.set("isFocused",!1),this.bind("isReadOnly").to(e),this.bind("isFocused").to(e,"isFocused",(t=>t&&e.selection.editableElement==this)),this.listenTo(e.selection,"change",(()=>{this.isFocused=e.isFocused&&e.selection.editableElement==this}))}is(e,t=null){return t?t===this.name&&("editableElement"===e||"view:editableElement"===e||"containerElement"===e||"view:containerElement"===e||"element"===e||"view:element"===e):"editableElement"===e||"view:editableElement"===e||"containerElement"===e||"view:containerElement"===e||"element"===e||"view:element"===e||"node"===e||"view:node"===e}destroy(){this.stopListening()}}(0,i.Z)(n,r.Z)},"./packages/ckeditor5-engine/src/view/element.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>h});var o=s("./packages/ckeditor5-engine/src/view/node.js"),i=s("./packages/ckeditor5-engine/src/view/text.js"),r=s("./packages/ckeditor5-engine/src/view/textproxy.js"),n=s("./packages/ckeditor5-utils/src/tomap.js"),a=s("./packages/ckeditor5-utils/src/toarray.js"),c=s("./packages/ckeditor5-utils/src/isiterable.js"),l=s("./packages/ckeditor5-engine/src/view/matcher.js"),d=s("./packages/ckeditor5-engine/src/view/stylesmap.js");class h extends o.Z{constructor(e,t,s,o){if(super(e),this.name=t,this._attrs=function(e){e=(0,n.Z)(e);for(const[t,s]of e)null===s?e.delete(t):"string"!=typeof s&&e.set(t,String(s));return e}(s),this._children=[],o&&this._insertChild(0,o),this._classes=new Set,this._attrs.has("class")){const e=this._attrs.get("class");u(this._classes,e),this._attrs.delete("class")}this._styles=new d.Z(this.document.stylesProcessor),this._attrs.has("style")&&(this._styles.setTo(this._attrs.get("style")),this._attrs.delete("style")),this._customProperties=new Map,this._unsafeAttributesToRender=[]}get childCount(){return this._children.length}get isEmpty(){return 0===this._children.length}is(e,t=null){return t?t===this.name&&("element"===e||"view:element"===e):"element"===e||"view:element"===e||"node"===e||"view:node"===e}getChild(e){return this._children[e]}getChildIndex(e){return this._children.indexOf(e)}getChildren(){return this._children[Symbol.iterator]()}*getAttributeKeys(){this._classes.size>0&&(yield"class"),this._styles.isEmpty||(yield"style"),yield*this._attrs.keys()}*getAttributes(){yield*this._attrs.entries(),this._classes.size>0&&(yield["class",this.getAttribute("class")]),this._styles.isEmpty||(yield["style",this.getAttribute("style")])}getAttribute(e){if("class"==e)return this._classes.size>0?[...this._classes].join(" "):void 0;if("style"==e){const e=this._styles.toString();return""==e?void 0:e}return this._attrs.get(e)}hasAttribute(e){return"class"==e?this._classes.size>0:"style"==e?!this._styles.isEmpty:this._attrs.has(e)}isSimilar(e){if(!(e instanceof h))return!1;if(this===e)return!0;if(this.name!=e.name)return!1;if(this._attrs.size!==e._attrs.size||this._classes.size!==e._classes.size||this._styles.size!==e._styles.size)return!1;for(const[t,s]of this._attrs)if(!e._attrs.has(t)||e._attrs.get(t)!==s)return!1;for(const t of this._classes)if(!e._classes.has(t))return!1;for(const t of this._styles.getStyleNames())if(!e._styles.has(t)||e._styles.getAsString(t)!==this._styles.getAsString(t))return!1;return!0}hasClass(...e){for(const t of e)if(!this._classes.has(t))return!1;return!0}getClassNames(){return this._classes.keys()}getStyle(e){return this._styles.getAsString(e)}getNormalizedStyle(e){return this._styles.getNormalized(e)}getStyleNames(e=!1){return this._styles.getStyleNames(e)}hasStyle(...e){for(const t of e)if(!this._styles.has(t))return!1;return!0}findAncestor(...e){const t=new l.Z(...e);let s=this.parent;for(;s;){if(t.match(s))return s;s=s.parent}return null}getCustomProperty(e){return this._customProperties.get(e)}*getCustomProperties(){yield*this._customProperties.entries()}getIdentity(){const e=Array.from(this._classes).sort().join(","),t=this._styles.toString(),s=Array.from(this._attrs).map((e=>`${e[0]}="${e[1]}"`)).sort().join(" ");return this.name+(""==e?"":` class="${e}"`)+(t?` style="${t}"`:"")+(""==s?"":` ${s}`)}shouldRenderUnsafeAttribute(e){return this._unsafeAttributesToRender.includes(e)}_clone(e=!1){const t=[];if(e)for(const s of this.getChildren())t.push(s._clone(e));const s=new this.constructor(this.document,this.name,this._attrs,t);return s._classes=new Set(this._classes),s._styles.set(this._styles.getNormalized()),s._customProperties=new Map(this._customProperties),s.getFillerOffset=this.getFillerOffset,s}_appendChild(e){return this._insertChild(this.childCount,e)}_insertChild(e,t){this._fireChange("children",this);let s=0;const o=function(e,t){if("string"==typeof t)return[new i.Z(e,t)];(0,c.Z)(t)||(t=[t]);return Array.from(t).map((t=>"string"==typeof t?new i.Z(e,t):t instanceof r.Z?new i.Z(e,t.data):t))}(this.document,t);for(const t of o)null!==t.parent&&t._remove(),t.parent=this,t.document=this.document,this._children.splice(e,0,t),e++,s++;return s}_removeChildren(e,t=1){this._fireChange("children",this);for(let s=e;s0&&(this._classes.clear(),!0):"style"==e?!this._styles.isEmpty&&(this._styles.clear(),!0):this._attrs.delete(e)}_addClass(e){this._fireChange("attributes",this);for(const t of(0,a.Z)(e))this._classes.add(t)}_removeClass(e){this._fireChange("attributes",this);for(const t of(0,a.Z)(e))this._classes.delete(t)}_setStyle(e,t){this._fireChange("attributes",this),this._styles.set(e,t)}_removeStyle(e){this._fireChange("attributes",this);for(const t of(0,a.Z)(e))this._styles.remove(t)}_setCustomProperty(e,t){this._customProperties.set(e,t)}_removeCustomProperty(e){return this._customProperties.delete(e)}}function u(e,t){const s=t.split(/\s+/);e.clear(),s.forEach((t=>e.add(t)))}},"./packages/ckeditor5-engine/src/view/emptyelement.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>n});var o=s("./packages/ckeditor5-engine/src/view/element.js"),i=s("./packages/ckeditor5-utils/src/ckeditorerror.js"),r=s("./packages/ckeditor5-engine/src/view/node.js");class n extends o.Z{constructor(e,t,s,o){super(e,t,s,o),this.getFillerOffset=a}is(e,t=null){return t?t===this.name&&("emptyElement"===e||"view:emptyElement"===e||"element"===e||"view:element"===e):"emptyElement"===e||"view:emptyElement"===e||"element"===e||"view:element"===e||"node"===e||"view:node"===e}_insertChild(e,t){if(t&&(t instanceof r.Z||Array.from(t).length>0))throw new i.ZP("view-emptyelement-cannot-add",[this,t])}}function a(){return null}},"./packages/ckeditor5-engine/src/view/filler.js":(e,t,s)=>{"use strict";s.d(t,{N3:()=>r,PQ:()=>n,Pj:()=>l,Qh:()=>h,Sw:()=>d,b_:()=>c,mm:()=>p,th:()=>u,yl:()=>a});var o=s("./packages/ckeditor5-utils/src/keyboard.js"),i=s("./packages/ckeditor5-utils/src/dom/istext.js");const r=e=>e.createTextNode(" "),n=e=>{const t=e.createElement("span");return t.dataset.ckeFiller=!0,t.innerHTML=" ",t},a=e=>{const t=e.createElement("br");return t.dataset.ckeFiller=!0,t},c=7,l="⁠".repeat(c);function d(e){return(0,i.Z)(e)&&e.data.substr(0,c)===l}function h(e){return e.data.length==c&&d(e)}function u(e){return d(e)?e.data.slice(c):e.data}function p(e){e.document.on("arrowKey",g,{priority:"low"})}function g(e,t){if(t.keyCode==o.Do.arrowleft){const e=t.domTarget.ownerDocument.defaultView.getSelection();if(1==e.rangeCount&&e.getRangeAt(0).collapsed){const t=e.getRangeAt(0).startContainer,s=e.getRangeAt(0).startOffset;d(t)&&s<=c&&e.collapse(t,0)}}}},"./packages/ckeditor5-engine/src/view/matcher.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/lodash-es/isPlainObject.js"),i=s("./packages/ckeditor5-utils/src/ckeditorerror.js");class r{constructor(...e){this._patterns=[],this.add(...e)}add(...e){for(let t of e)("string"==typeof t||t instanceof RegExp)&&(t={name:t}),this._patterns.push(t)}match(...e){for(const t of e)for(const e of this._patterns){const s=n(t,e);if(s)return{element:t,pattern:e,match:s}}return null}matchAll(...e){const t=[];for(const s of e)for(const e of this._patterns){const o=n(s,e);o&&t.push({element:s,pattern:e,match:o})}return t.length>0?t:null}getElementName(){if(1!==this._patterns.length)return null;const e=this._patterns[0],t=e.name;return"function"==typeof e||!t||t instanceof RegExp?null:t}}function n(e,t){if("function"==typeof t)return t(e);const s={};return t.name&&(s.name=function(e,t){if(e instanceof RegExp)return!!t.match(e);return e===t}(t.name,e.name),!s.name)||t.attributes&&(s.attributes=function(e,t){const s=new Set(t.getAttributeKeys());(0,o.Z)(e)?(void 0!==e.style&&(0,i.KE)("matcher-pattern-deprecated-attributes-style-key",e),void 0!==e.class&&(0,i.KE)("matcher-pattern-deprecated-attributes-class-key",e)):(s.delete("style"),s.delete("class"));return a(e,s,(e=>t.getAttribute(e)))}(t.attributes,e),!s.attributes)?null:!(t.classes&&(s.classes=function(e,t){return a(e,t.getClassNames())}(t.classes,e),!s.classes))&&(!(t.styles&&(s.styles=function(e,t){return a(e,t.getStyleNames(!0),(e=>t.getStyle(e)))}(t.styles,e),!s.styles))&&s)}function a(e,t,s){const r=function(e){if(Array.isArray(e))return e.map((e=>(0,o.Z)(e)?(void 0!==e.key&&void 0!==e.value||(0,i.KE)("matcher-pattern-missing-key-or-value",e),[e.key,e.value]):[e,!0]));if((0,o.Z)(e))return Object.entries(e);return[[e,!0]]}(e),n=Array.from(t),a=[];return r.forEach((([e,t])=>{n.forEach((o=>{(function(e,t){return!0===e||e===t||e instanceof RegExp&&t.match(e)})(e,o)&&function(e,t,s){if(!0===e)return!0;const o=s(t);return e===o||e instanceof RegExp&&!!String(o).match(e)}(t,o,s)&&a.push(o)}))})),!r.length||a.length{"use strict";s.d(t,{Z:()=>c});var o=s("./packages/ckeditor5-utils/src/ckeditorerror.js"),i=s("./packages/ckeditor5-utils/src/emittermixin.js"),r=s("./packages/ckeditor5-utils/src/mix.js"),n=s("./packages/ckeditor5-utils/src/comparearrays.js"),a=s("./node_modules/lodash-es/clone.js");s("./packages/ckeditor5-utils/src/version.js");class c{constructor(e){this.document=e,this.parent=null}get index(){let e;if(!this.parent)return null;if(-1==(e=this.parent.getChildIndex(this)))throw new o.ZP("view-node-not-found-in-parent",this);return e}get nextSibling(){const e=this.index;return null!==e&&this.parent.getChild(e+1)||null}get previousSibling(){const e=this.index;return null!==e&&this.parent.getChild(e-1)||null}get root(){let e=this;for(;e.parent;)e=e.parent;return e}isAttached(){return this.root.is("rootElement")}getPath(){const e=[];let t=this;for(;t.parent;)e.unshift(t.index),t=t.parent;return e}getAncestors(e={includeSelf:!1,parentFirst:!1}){const t=[];let s=e.includeSelf?this:this.parent;for(;s;)t[e.parentFirst?"push":"unshift"](s),s=s.parent;return t}getCommonAncestor(e,t={}){const s=this.getAncestors(t),o=e.getAncestors(t);let i=0;for(;s[i]==o[i]&&s[i];)i++;return 0===i?null:s[i-1]}isBefore(e){if(this==e)return!1;if(this.root!==e.root)return!1;const t=this.getPath(),s=e.getPath(),o=(0,n.Z)(t,s);switch(o){case"prefix":return!0;case"extension":return!1;default:return t[o]{"use strict";s.d(t,{Z:()=>i});var o=s("./packages/ckeditor5-utils/src/eventinfo.js");class i extends o.Z{constructor(e,t,s){super(e,t),this.startRange=s,this._eventPhase="none",this._currentTarget=null}get eventPhase(){return this._eventPhase}get currentTarget(){return this._currentTarget}}},"./packages/ckeditor5-engine/src/view/observer/domeventdata.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});var o=s("./node_modules/lodash-es/assignIn.js");class i{constructor(e,t,s){this.view=e,this.document=e.document,this.domEvent=t,this.domTarget=t.target,(0,o.Z)(this,s)}get target(){return this.view.domConverter.mapDomToView(this.domTarget)}preventDefault(){this.domEvent.preventDefault()}stopPropagation(){this.domEvent.stopPropagation()}}},"./packages/ckeditor5-engine/src/view/observer/domeventobserver.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./packages/ckeditor5-engine/src/view/observer/observer.js"),i=s("./packages/ckeditor5-engine/src/view/observer/domeventdata.js");class r extends o.Z{constructor(e){super(e),this.useCapture=!1}observe(e){("string"==typeof this.domEventType?[this.domEventType]:this.domEventType).forEach((t=>{this.listenTo(e,t,((e,t)=>{this.isEnabled&&!this.checkShouldIgnoreEventFromTarget(t.target)&&this.onDomEvent(t)}),{useCapture:this.useCapture})}))}fire(e,t,s){this.isEnabled&&this.document.fire(e,new i.Z(this.view,t,s))}}},"./packages/ckeditor5-engine/src/view/observer/mouseobserver.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});var o=s("./packages/ckeditor5-engine/src/view/observer/domeventobserver.js");class i extends o.Z{constructor(e){super(e),this.domEventType=["mousedown","mouseup","mouseover","mouseout"]}onDomEvent(e){this.fire(e.type,e)}}},"./packages/ckeditor5-engine/src/view/observer/observer.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./packages/ckeditor5-utils/src/dom/emittermixin.js"),i=s("./packages/ckeditor5-utils/src/mix.js");class r{constructor(e){this.view=e,this.document=e.document,this.isEnabled=!1}enable(){this.isEnabled=!0}disable(){this.isEnabled=!1}destroy(){this.disable(),this.stopListening()}checkShouldIgnoreEventFromTarget(e){return e&&3===e.nodeType&&(e=e.parentNode),!(!e||1!==e.nodeType)&&e.matches("[data-cke-ignore-events], [data-cke-ignore-events] *")}}(0,i.Z)(r,o.Z)},"./packages/ckeditor5-engine/src/view/position.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});var o=s("./packages/ckeditor5-engine/src/view/treewalker.js"),i=s("./packages/ckeditor5-utils/src/comparearrays.js"),r=s("./packages/ckeditor5-utils/src/ckeditorerror.js"),n=s("./packages/ckeditor5-engine/src/view/editableelement.js");s("./packages/ckeditor5-utils/src/version.js");class a{constructor(e,t){this.parent=e,this.offset=t}get nodeAfter(){return this.parent.is("$text")?null:this.parent.getChild(this.offset)||null}get nodeBefore(){return this.parent.is("$text")?null:this.parent.getChild(this.offset-1)||null}get isAtStart(){return 0===this.offset}get isAtEnd(){const e=this.parent.is("$text")?this.parent.data.length:this.parent.childCount;return this.offset===e}get root(){return this.parent.root}get editableElement(){let e=this.parent;for(;!(e instanceof n.Z);){if(!e.parent)return null;e=e.parent}return e}getShiftedBy(e){const t=a._createAt(this),s=t.offset+e;return t.offset=s<0?0:s,t}getLastMatchingPosition(e,t={}){t.startPosition=this;const s=new o.Z(t);return s.skip(e),s.position}getAncestors(){return this.parent.is("documentFragment")?[this.parent]:this.parent.getAncestors({includeSelf:!0})}getCommonAncestor(e){const t=this.getAncestors(),s=e.getAncestors();let o=0;for(;t[o]==s[o]&&t[o];)o++;return 0===o?null:t[o-1]}is(e){return"position"===e||"view:position"===e}isEqual(e){return this.parent==e.parent&&this.offset==e.offset}isBefore(e){return"before"==this.compareWith(e)}isAfter(e){return"after"==this.compareWith(e)}compareWith(e){if(this.root!==e.root)return"different";if(this.isEqual(e))return"same";const t=this.parent.is("node")?this.parent.getPath():[],s=e.parent.is("node")?e.parent.getPath():[];t.push(this.offset),s.push(e.offset);const o=(0,i.Z)(t,s);switch(o){case"prefix":return"before";case"extension":return"after";default:return t[o]{"use strict";s.d(t,{Z:()=>r});var o=s("./packages/ckeditor5-engine/src/view/position.js"),i=s("./packages/ckeditor5-engine/src/view/treewalker.js");class r{constructor(e,t=null){this.start=e.clone(),this.end=t?t.clone():e.clone()}*[Symbol.iterator](){yield*new i.Z({boundaries:this,ignoreElementEnd:!0})}get isCollapsed(){return this.start.isEqual(this.end)}get isFlat(){return this.start.parent===this.end.parent}get root(){return this.start.root}getEnlarged(){let e=this.start.getLastMatchingPosition(n,{direction:"backward"}),t=this.end.getLastMatchingPosition(n);return e.parent.is("$text")&&e.isAtStart&&(e=o.Z._createBefore(e.parent)),t.parent.is("$text")&&t.isAtEnd&&(t=o.Z._createAfter(t.parent)),new r(e,t)}getTrimmed(){let e=this.start.getLastMatchingPosition(n);if(e.isAfter(this.end)||e.isEqual(this.end))return new r(e,e);let t=this.end.getLastMatchingPosition(n,{direction:"backward"});const s=e.nodeAfter,i=t.nodeBefore;return s&&s.is("$text")&&(e=new o.Z(s,0)),i&&i.is("$text")&&(t=new o.Z(i,i.data.length)),new r(e,t)}isEqual(e){return this==e||this.start.isEqual(e.start)&&this.end.isEqual(e.end)}containsPosition(e){return e.isAfter(this.start)&&e.isBefore(this.end)}containsRange(e,t=!1){e.isCollapsed&&(t=!1);const s=this.containsPosition(e.start)||t&&this.start.isEqual(e.start),o=this.containsPosition(e.end)||t&&this.end.isEqual(e.end);return s&&o}getDifference(e){const t=[];return this.isIntersecting(e)?(this.containsPosition(e.start)&&t.push(new r(this.start,e.start)),this.containsPosition(e.end)&&t.push(new r(e.end,this.end))):t.push(this.clone()),t}getIntersection(e){if(this.isIntersecting(e)){let t=this.start,s=this.end;return this.containsPosition(e.start)&&(t=e.start),this.containsPosition(e.end)&&(s=e.end),new r(t,s)}return null}getWalker(e={}){return e.boundaries=this,new i.Z(e)}getCommonAncestor(){return this.start.getCommonAncestor(this.end)}getContainedElement(){if(this.isCollapsed)return null;let e=this.start.nodeAfter,t=this.end.nodeBefore;return this.start.parent.is("$text")&&this.start.isAtEnd&&this.start.parent.nextSibling&&(e=this.start.parent.nextSibling),this.end.parent.is("$text")&&this.end.isAtStart&&this.end.parent.previousSibling&&(t=this.end.parent.previousSibling),e&&e.is("element")&&e===t?e:null}clone(){return new r(this.start,this.end)}*getItems(e={}){e.boundaries=this,e.ignoreElementEnd=!0;const t=new i.Z(e);for(const e of t)yield e.item}*getPositions(e={}){e.boundaries=this;const t=new i.Z(e);yield t.position;for(const e of t)yield e.nextPosition}is(e){return"range"===e||"view:range"===e}isIntersecting(e){return this.start.isBefore(e.end)&&this.end.isAfter(e.start)}static _createFromParentsAndOffsets(e,t,s,i){return new this(new o.Z(e,t),new o.Z(s,i))}static _createFromPositionAndShift(e,t){const s=e,o=e.getShiftedBy(t);return t>0?new this(s,o):new this(o,s)}static _createIn(e){return this._createFromParentsAndOffsets(e,0,e,e.childCount)}static _createOn(e){const t=e.is("$textProxy")?e.offsetSize:1;return this._createFromPositionAndShift(o.Z._createBefore(e),t)}}function n(e){return!(!e.item.is("attributeElement")&&!e.item.is("uiElement"))}},"./packages/ckeditor5-engine/src/view/rawelement.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>n});var o=s("./packages/ckeditor5-engine/src/view/element.js"),i=s("./packages/ckeditor5-utils/src/ckeditorerror.js"),r=s("./packages/ckeditor5-engine/src/view/node.js");class n extends o.Z{constructor(e,t,s,o){super(e,t,s,o),this.getFillerOffset=a}is(e,t=null){return t?t===this.name&&("rawElement"===e||"view:rawElement"===e||"element"===e||"view:element"===e):"rawElement"===e||"view:rawElement"===e||e===this.name||e==="view:"+this.name||"element"===e||"view:element"===e||"node"===e||"view:node"===e}_insertChild(e,t){if(t&&(t instanceof r.Z||Array.from(t).length>0))throw new i.ZP("view-rawelement-cannot-add",[this,t])}}function a(){return null}},"./packages/ckeditor5-engine/src/view/renderer.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>v});var o=s("./packages/ckeditor5-engine/src/view/text.js"),i=s("./packages/ckeditor5-engine/src/view/position.js"),r=s("./packages/ckeditor5-engine/src/view/filler.js"),n=s("./packages/ckeditor5-utils/src/mix.js"),a=s("./packages/ckeditor5-utils/src/diff.js");function c(e,t,s){e.insertBefore(s,e.childNodes[t]||null)}function l(e){const t=e.parentNode;t&&t.removeChild(e)}var d=s("./packages/ckeditor5-utils/src/observablemixin.js"),h=s("./packages/ckeditor5-utils/src/ckeditorerror.js"),u=s("./packages/ckeditor5-utils/src/dom/istext.js"),p=s("./packages/ckeditor5-utils/src/dom/iscomment.js"),g=s("./packages/ckeditor5-utils/src/dom/isnode.js"),m=s("./packages/ckeditor5-utils/src/fastdiff.js"),f=s("./packages/ckeditor5-utils/src/env.js"),k=s("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),_=s.n(k),b=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-engine/theme/renderer.css"),w={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};_()(b.Z,w);b.Z.locals;class v{constructor(e,t){this.domDocuments=new Set,this.domConverter=e,this.markedAttributes=new Set,this.markedChildren=new Set,this.markedTexts=new Set,this.selection=t,this.set("isFocused",!1),this.set("isSelecting",!1),f.ZP.isBlink&&!f.ZP.isAndroid&&this.on("change:isSelecting",(()=>{this.isSelecting||this.render()})),this._inlineFiller=null,this._fakeSelectionContainer=null}markToSync(e,t){if("text"===e)this.domConverter.mapViewToDom(t.parent)&&this.markedTexts.add(t);else{if(!this.domConverter.mapViewToDom(t))return;if("attributes"===e)this.markedAttributes.add(t);else{if("children"!==e)throw new h.ZP("view-renderer-unknown-type",this);this.markedChildren.add(t)}}}render(){let e;const t=!(f.ZP.isBlink&&!f.ZP.isAndroid)||!this.isSelecting;for(const e of this.markedChildren)this._updateChildrenMappings(e);t?(this._inlineFiller&&!this._isSelectionInInlineFiller()&&this._removeInlineFiller(),this._inlineFiller?e=this._getInlineFillerPosition():this._needsInlineFillerAtSelection()&&(e=this.selection.getFirstPosition(),this.markedChildren.add(e.parent))):this._inlineFiller&&this._inlineFiller.parentNode&&(e=this.domConverter.domPositionToView(this._inlineFiller));for(const e of this.markedAttributes)this._updateAttrs(e);for(const t of this.markedChildren)this._updateChildren(t,{inlineFillerPosition:e});for(const t of this.markedTexts)!this.markedChildren.has(t.parent)&&this.domConverter.mapViewToDom(t.parent)&&this._updateText(t,{inlineFillerPosition:e});if(t)if(e){const t=this.domConverter.viewPositionToDom(e),s=t.parent.ownerDocument;(0,r.Sw)(t.parent)?this._inlineFiller=t.parent:this._inlineFiller=y(s,t.parent,t.offset)}else this._inlineFiller=null;this._updateFocus(),this._updateSelection(),this.markedTexts.clear(),this.markedAttributes.clear(),this.markedChildren.clear()}_updateChildrenMappings(e){const t=this.domConverter.mapViewToDom(e);if(!t)return;const s=Array.from(this.domConverter.mapViewToDom(e).childNodes),o=Array.from(this.domConverter.viewChildrenToDom(e,t.ownerDocument,{withChildren:!1})),i=this._diffNodeLists(s,o),r=this._findReplaceActions(i,s,o);if(-1!==r.indexOf("replace")){const t={equal:0,insert:0,delete:0};for(const i of r)if("replace"===i){const i=t.equal+t.insert,r=t.equal+t.delete,n=e.getChild(i);!n||n.is("uiElement")||n.is("rawElement")||this._updateElementMappings(n,s[r]),l(o[i]),t.equal++}else t[i]++}}_updateElementMappings(e,t){this.domConverter.unbindDomElement(t),this.domConverter.bindElements(t,e),this.markedChildren.add(e),this.markedAttributes.add(e)}_getInlineFillerPosition(){const e=this.selection.getFirstPosition();return e.parent.is("$text")?i.Z._createBefore(this.selection.getFirstPosition().parent):e}_isSelectionInInlineFiller(){if(1!=this.selection.rangeCount||!this.selection.isCollapsed)return!1;const e=this.selection.getFirstPosition(),t=this.domConverter.viewPositionToDom(e);return!!(t&&(0,u.Z)(t.parent)&&(0,r.Sw)(t.parent))}_removeInlineFiller(){const e=this._inlineFiller;if(!(0,r.Sw)(e))throw new h.ZP("view-renderer-filler-was-lost",this);(0,r.Qh)(e)?e.remove():e.data=e.data.substr(r.b_),this._inlineFiller=null}_needsInlineFillerAtSelection(){if(1!=this.selection.rangeCount||!this.selection.isCollapsed)return!1;const e=this.selection.getFirstPosition(),t=e.parent,s=e.offset;if(!this.domConverter.mapViewToDom(t.root))return!1;if(!t.is("element"))return!1;if(!function(e){if("false"==e.getAttribute("contenteditable"))return!1;const t=e.findAncestor((e=>e.hasAttribute("contenteditable")));return!t||"true"==t.getAttribute("contenteditable")}(t))return!1;if(s===t.getFillerOffset())return!1;const i=e.nodeBefore,r=e.nodeAfter;return!(i instanceof o.Z||r instanceof o.Z)}_updateText(e,t){const s=this.domConverter.findCorrespondingDomText(e),o=this.domConverter.viewToDom(e,s.ownerDocument),i=s.data;let n=o.data;const a=t.inlineFillerPosition;if(a&&a.parent==e.parent&&a.offset==e.index&&(n=r.Pj+n),i!=n){const e=(0,m.Z)(i,n);for(const t of e)"insert"===t.type?s.insertData(t.index,t.values.join("")):s.deleteData(t.index,t.howMany)}}_updateAttrs(e){const t=this.domConverter.mapViewToDom(e);if(!t)return;const s=Array.from(t.attributes).map((e=>e.name)),o=e.getAttributeKeys();for(const s of o)this.domConverter.setDomElementAttribute(t,s,e.getAttribute(s),e);for(const o of s)e.hasAttribute(o)||this.domConverter.removeDomElementAttribute(t,o)}_updateChildren(e,t){const s=this.domConverter.mapViewToDom(e);if(!s)return;const o=t.inlineFillerPosition,i=this.domConverter.mapViewToDom(e).childNodes,r=Array.from(this.domConverter.viewChildrenToDom(e,s.ownerDocument,{bind:!0}));o&&o.parent===e&&y(s.ownerDocument,r,o.offset);const n=this._diffNodeLists(i,r);let a=0;const d=new Set;for(const e of n)"delete"===e?(d.add(i[a]),l(i[a])):"equal"===e&&a++;a=0;for(const e of n)"insert"===e?(c(s,a,r[a]),a++):"equal"===e&&(this._markDescendantTextToSync(this.domConverter.domToView(r[a])),a++);for(const e of d)e.parentNode||this.domConverter.unbindDomElement(e)}_diffNodeLists(e,t){return e=function(e,t){const s=Array.from(e);if(0==s.length||!t)return s;s[s.length-1]==t&&s.pop();return s}(e,this._fakeSelectionContainer),(0,a.Z)(e,t,P.bind(null,this.domConverter))}_findReplaceActions(e,t,s){if(-1===e.indexOf("insert")||-1===e.indexOf("delete"))return e;let o=[],i=[],r=[];const n={equal:0,insert:0,delete:0};for(const c of e)"insert"===c?r.push(s[n.equal+n.insert]):"delete"===c?i.push(t[n.equal+n.delete]):(o=o.concat((0,a.Z)(i,r,Z).map((e=>"equal"===e?"replace":e))),o.push("equal"),i=[],r=[]),n[c]++;return o.concat((0,a.Z)(i,r,Z).map((e=>"equal"===e?"replace":e)))}_markDescendantTextToSync(e){if(e)if(e.is("$text"))this.markedTexts.add(e);else if(e.is("element"))for(const t of e.getChildren())this._markDescendantTextToSync(t)}_updateSelection(){if(f.ZP.isBlink&&!f.ZP.isAndroid&&this.isSelecting&&!this.markedChildren.size)return;if(0===this.selection.rangeCount)return this._removeDomSelection(),void this._removeFakeSelection();const e=this.domConverter.mapViewToDom(this.selection.editableElement);this.isFocused&&e&&(this.selection.isFake?this._updateFakeSelection(e):(this._removeFakeSelection(),this._updateDomSelection(e)))}_updateFakeSelection(e){const t=e.ownerDocument;this._fakeSelectionContainer||(this._fakeSelectionContainer=function(e){const t=e.createElement("div");return t.className="ck-fake-selection-container",Object.assign(t.style,{position:"fixed",top:0,left:"-9999px",width:"42px"}),t.textContent=" ",t}(t));const s=this._fakeSelectionContainer;if(this.domConverter.bindFakeSelection(s,this.selection),!this._fakeSelectionNeedsUpdate(e))return;s.parentElement&&s.parentElement==e||e.appendChild(s),s.textContent=this.selection.fakeSelectionLabel||" ";const o=t.getSelection(),i=t.createRange();o.removeAllRanges(),i.selectNodeContents(s),o.addRange(i)}_updateDomSelection(e){const t=e.ownerDocument.defaultView.getSelection();if(!this._domSelectionNeedsUpdate(t))return;const s=this.domConverter.viewPositionToDom(this.selection.anchor),o=this.domConverter.viewPositionToDom(this.selection.focus);t.collapse(s.parent,s.offset),t.extend(o.parent,o.offset),f.ZP.isGecko&&function(e,t){const s=e.parent;if(s.nodeType!=Node.ELEMENT_NODE||e.offset!=s.childNodes.length-1)return;const o=s.childNodes[e.offset];o&&"BR"==o.tagName&&t.addRange(t.getRangeAt(0))}(o,t)}_domSelectionNeedsUpdate(e){if(!this.domConverter.isDomSelectionCorrect(e))return!0;const t=e&&this.domConverter.domSelectionToView(e);return(!t||!this.selection.isEqual(t))&&!(!this.selection.isCollapsed&&this.selection.isSimilar(t))}_fakeSelectionNeedsUpdate(e){const t=this._fakeSelectionContainer,s=e.ownerDocument.getSelection();return!t||t.parentElement!==e||(s.anchorNode!==t&&!t.contains(s.anchorNode)||t.textContent!==this.selection.fakeSelectionLabel)}_removeDomSelection(){for(const e of this.domDocuments){if(e.getSelection().rangeCount){const t=e.activeElement,s=this.domConverter.mapDomToView(t);t&&s&&e.getSelection().removeAllRanges()}}}_removeFakeSelection(){const e=this._fakeSelectionContainer;e&&e.remove()}_updateFocus(){if(this.isFocused){const e=this.selection.editableElement;e&&this.domConverter.focus(e)}}}function y(e,t,s){const o=t instanceof Array?t:t.childNodes,i=o[s];if((0,u.Z)(i))return i.data=r.Pj+i.data,i;{const i=e.createTextNode(r.Pj);return Array.isArray(t)?o.splice(s,0,i):c(t,s,i),i}}function Z(e,t){return(0,g.Z)(e)&&(0,g.Z)(t)&&!(0,u.Z)(e)&&!(0,u.Z)(t)&&!(0,p.Z)(e)&&!(0,p.Z)(t)&&e.tagName.toLowerCase()===t.tagName.toLowerCase()}function P(e,t,s){return t===s||((0,u.Z)(t)&&(0,u.Z)(s)?t.data===s.data:!(!e.isBlockFiller(t)||!e.isBlockFiller(s)))}(0,n.Z)(v,d.Z)},"./packages/ckeditor5-engine/src/view/selection.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>u});var o=s("./packages/ckeditor5-utils/src/ckeditorerror.js"),i=s("./packages/ckeditor5-engine/src/view/range.js"),r=s("./packages/ckeditor5-engine/src/view/position.js"),n=s("./packages/ckeditor5-utils/src/mix.js"),a=s("./packages/ckeditor5-utils/src/emittermixin.js"),c=s("./packages/ckeditor5-engine/src/view/node.js"),l=s("./packages/ckeditor5-utils/src/count.js"),d=s("./packages/ckeditor5-utils/src/isiterable.js"),h=s("./packages/ckeditor5-engine/src/view/documentselection.js");class u{constructor(e=null,t,s){this._ranges=[],this._lastRangeBackward=!1,this._isFake=!1,this._fakeSelectionLabel="",this.setTo(e,t,s)}get isFake(){return this._isFake}get fakeSelectionLabel(){return this._fakeSelectionLabel}get anchor(){if(!this._ranges.length)return null;const e=this._ranges[this._ranges.length-1];return(this._lastRangeBackward?e.end:e.start).clone()}get focus(){if(!this._ranges.length)return null;const e=this._ranges[this._ranges.length-1];return(this._lastRangeBackward?e.start:e.end).clone()}get isCollapsed(){return 1===this.rangeCount&&this._ranges[0].isCollapsed}get rangeCount(){return this._ranges.length}get isBackward(){return!this.isCollapsed&&this._lastRangeBackward}get editableElement(){return this.anchor?this.anchor.editableElement:null}*getRanges(){for(const e of this._ranges)yield e.clone()}getFirstRange(){let e=null;for(const t of this._ranges)e&&!t.start.isBefore(e.start)||(e=t);return e?e.clone():null}getLastRange(){let e=null;for(const t of this._ranges)e&&!t.end.isAfter(e.end)||(e=t);return e?e.clone():null}getFirstPosition(){const e=this.getFirstRange();return e?e.start.clone():null}getLastPosition(){const e=this.getLastRange();return e?e.end.clone():null}isEqual(e){if(this.isFake!=e.isFake)return!1;if(this.isFake&&this.fakeSelectionLabel!=e.fakeSelectionLabel)return!1;if(this.rangeCount!=e.rangeCount)return!1;if(0===this.rangeCount)return!0;if(!this.anchor.isEqual(e.anchor)||!this.focus.isEqual(e.focus))return!1;for(const t of this._ranges){let s=!1;for(const o of e._ranges)if(t.isEqual(o)){s=!0;break}if(!s)return!1}return!0}isSimilar(e){if(this.isBackward!=e.isBackward)return!1;const t=(0,l.Z)(this.getRanges());if(t!=(0,l.Z)(e.getRanges()))return!1;if(0==t)return!0;for(let t of this.getRanges()){t=t.getTrimmed();let s=!1;for(let o of e.getRanges())if(o=o.getTrimmed(),t.start.isEqual(o.start)&&t.end.isEqual(o.end)){s=!0;break}if(!s)return!1}return!0}getSelectedElement(){return 1!==this.rangeCount?null:this.getFirstRange().getContainedElement()}setTo(e,t,s){if(null===e)this._setRanges([]),this._setFakeOptions(t);else if(e instanceof u||e instanceof h.Z)this._setRanges(e.getRanges(),e.isBackward),this._setFakeOptions({fake:e.isFake,label:e.fakeSelectionLabel});else if(e instanceof i.Z)this._setRanges([e],t&&t.backward),this._setFakeOptions(t);else if(e instanceof r.Z)this._setRanges([new i.Z(e)]),this._setFakeOptions(t);else if(e instanceof c.Z){const n=!!s&&!!s.backward;let a;if(void 0===t)throw new o.ZP("view-selection-setto-required-second-parameter",this);a="in"==t?i.Z._createIn(e):"on"==t?i.Z._createOn(e):new i.Z(r.Z._createAt(e,t)),this._setRanges([a],n),this._setFakeOptions(s)}else{if(!(0,d.Z)(e))throw new o.ZP("view-selection-setto-not-selectable",this);this._setRanges(e,t&&t.backward),this._setFakeOptions(t)}this.fire("change")}setFocus(e,t){if(null===this.anchor)throw new o.ZP("view-selection-setfocus-no-ranges",this);const s=r.Z._createAt(e,t);if("same"==s.compareWith(this.focus))return;const n=this.anchor;this._ranges.pop(),"before"==s.compareWith(n)?this._addRange(new i.Z(s,n),!0):this._addRange(new i.Z(n,s)),this.fire("change")}is(e){return"selection"===e||"view:selection"===e}_setRanges(e,t=!1){e=Array.from(e),this._ranges=[];for(const t of e)this._addRange(t);this._lastRangeBackward=!!t}_setFakeOptions(e={}){this._isFake=!!e.fake,this._fakeSelectionLabel=e.fake&&e.label||""}_addRange(e,t=!1){if(!(e instanceof i.Z))throw new o.ZP("view-selection-add-range-not-range",this);this._pushRange(e),this._lastRangeBackward=!!t}_pushRange(e){for(const t of this._ranges)if(e.isIntersecting(t))throw new o.ZP("view-selection-range-intersects",this,{addedRange:e,intersectingRange:t});this._ranges.push(new i.Z(e.start,e.end))}}(0,n.Z)(u,a.ZP)},"./packages/ckeditor5-engine/src/view/stylesmap.js":(e,t,s)=>{"use strict";s.d(t,{A:()=>ee,Z:()=>Y});var o=s("./node_modules/lodash-es/isArray.js"),i=s("./node_modules/lodash-es/isSymbol.js"),r=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,n=/^\w*$/;const a=function(e,t){if((0,o.Z)(e))return!1;var s=typeof e;return!("number"!=s&&"symbol"!=s&&"boolean"!=s&&null!=e&&!(0,i.Z)(e))||(n.test(e)||!r.test(e)||null!=t&&e in Object(t))};var c=s("./node_modules/lodash-es/_MapCache.js");function l(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError("Expected a function");var s=function(){var o=arguments,i=t?t.apply(this,o):o[0],r=s.cache;if(r.has(i))return r.get(i);var n=e.apply(this,o);return s.cache=r.set(i,n)||r,n};return s.cache=new(l.Cache||c.Z),s}l.Cache=c.Z;const d=l;var h=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,u=/\\(\\)?/g;const p=function(e){var t=d(e,(function(e){return 500===s.size&&s.clear(),e})),s=t.cache;return t}((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(h,(function(e,s,o,i){t.push(o?i.replace(u,"$1"):s||e)})),t}));var g=s("./node_modules/lodash-es/toString.js");const m=function(e,t){return(0,o.Z)(e)?e:a(e,t)?[e]:p((0,g.Z)(e))};const f=function(e){var t=null==e?0:e.length;return t?e[t-1]:void 0};const k=function(e){if("string"==typeof e||(0,i.Z)(e))return e;var t=e+"";return"0"==t&&1/e==-Infinity?"-0":t};const _=function(e,t){for(var s=0,o=(t=m(t,e)).length;null!=e&&si?0:i+t),(s=s>i?i:s)<0&&(s+=i),i=t>s?0:s-t>>>0,t>>>=0;for(var r=Array(i);++ot===e));return Array.isArray(t)}set(e,t){if((0,D.Z)(e))for(const[t,s]of Object.entries(e))this._styleProcessor.toNormalizedForm(t,s,this._styles);else this._styleProcessor.toNormalizedForm(e,t,this._styles)}remove(e){const t=te(e);y(this._styles,t),delete this._styles[e],this._cleanEmptyObjectsOnPath(t)}getNormalized(e){return this._styleProcessor.getNormalized(e,this._styles)}toString(){return this.isEmpty?"":this._getStylesEntries().map((e=>e.join(":"))).sort().join(";")+";"}getAsString(e){if(this.isEmpty)return;if(this._styles[e]&&!(0,D.Z)(this._styles[e]))return this._styles[e];const t=this._styleProcessor.getReducedForm(e,this._styles).find((([t])=>t===e));return Array.isArray(t)?t[1]:void 0}getStyleNames(e=!1){if(this.isEmpty)return[];if(e)return this._styleProcessor.getStyleNames(this._styles);return this._getStylesEntries().map((([e])=>e))}clear(){this._styles={}}_getStylesEntries(){const e=[],t=Object.keys(this._styles);for(const s of t)e.push(...this._styleProcessor.getReducedForm(s,this._styles));return e}_cleanEmptyObjectsOnPath(e){const t=e.split(".");if(!(t.length>1))return;const s=t.splice(0,t.length-1).join("."),o=Z(this._styles,s);if(!o)return;!Array.from(Object.keys(o)).length&&this.remove(s)}}class ee{constructor(){this._normalizers=new Map,this._extractors=new Map,this._reducers=new Map,this._consumables=new Map}toNormalizedForm(e,t,s){if((0,D.Z)(t))se(s,te(e),t);else if(this._normalizers.has(e)){const o=this._normalizers.get(e),{path:i,value:r}=o(t);se(s,i,r)}else se(s,e,t)}getNormalized(e,t){if(!e)return K({},t);if(void 0!==t[e])return t[e];if(this._extractors.has(e)){const s=this._extractors.get(e);if("string"==typeof s)return Z(t,s);const o=s(e,t);if(o)return o}return Z(t,te(e))}getReducedForm(e,t){const s=this.getNormalized(e,t);if(void 0===s)return[];if(this._reducers.has(e)){return this._reducers.get(e)(s)}return[[e,s]]}getStyleNames(e){const t=Array.from(this._consumables.keys()).filter((t=>{const s=this.getNormalized(t,e);return s&&"object"==typeof s?Object.keys(s).length:s})),s=new Set([...t,...Object.keys(e)]);return Array.from(s.values())}getRelatedStyles(e){return this._consumables.get(e)||[]}setNormalizer(e,t){this._normalizers.set(e,t)}setExtractor(e,t){this._extractors.set(e,t)}setReducer(e,t){this._reducers.set(e,t)}setStyleRelation(e,t){this._mapStyleNames(e,t);for(const s of t)this._mapStyleNames(s,[e])}_mapStyleNames(e,t){this._consumables.has(e)||this._consumables.set(e,[]),this._consumables.get(e).push(...t)}}function te(e){return e.replace("-",".")}function se(e,t,s){let o=s;(0,D.Z)(s)&&(o=K({},Z(e,t),s)),Q(e,t,o)}},"./packages/ckeditor5-engine/src/view/text.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});var o=s("./packages/ckeditor5-engine/src/view/node.js");class i extends o.Z{constructor(e,t){super(e),this._textData=t}is(e){return"$text"===e||"view:$text"===e||"text"===e||"view:text"===e||"node"===e||"view:node"===e}get data(){return this._textData}get _data(){return this.data}set _data(e){this._fireChange("text",this),this._textData=e}isSimilar(e){return e instanceof i&&(this===e||this.data===e.data)}_clone(){return new i(this.document,this.data)}}},"./packages/ckeditor5-engine/src/view/textproxy.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});var o=s("./packages/ckeditor5-utils/src/ckeditorerror.js");class i{constructor(e,t,s){if(this.textNode=e,t<0||t>e.data.length)throw new o.ZP("view-textproxy-wrong-offsetintext",this);if(s<0||t+s>e.data.length)throw new o.ZP("view-textproxy-wrong-length",this);this.data=e.data.substring(t,t+s),this.offsetInText=t}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(e){return"$textProxy"===e||"view:$textProxy"===e||"textProxy"===e||"view:textProxy"===e}getAncestors(e={includeSelf:!1,parentFirst:!1}){const t=[];let s=e.includeSelf?this.textNode:this.parent;for(;null!==s;)t[e.parentFirst?"push":"unshift"](s),s=s.parent;return t}}},"./packages/ckeditor5-engine/src/view/treewalker.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>c});var o=s("./packages/ckeditor5-engine/src/view/element.js"),i=s("./packages/ckeditor5-engine/src/view/text.js"),r=s("./packages/ckeditor5-engine/src/view/textproxy.js"),n=s("./packages/ckeditor5-engine/src/view/position.js"),a=s("./packages/ckeditor5-utils/src/ckeditorerror.js");class c{constructor(e={}){if(!e.boundaries&&!e.startPosition)throw new a.ZP("view-tree-walker-no-start-position",null);if(e.direction&&"forward"!=e.direction&&"backward"!=e.direction)throw new a.ZP("view-tree-walker-unknown-direction",e.startPosition,{direction:e.direction});this.boundaries=e.boundaries||null,e.startPosition?this.position=n.Z._createAt(e.startPosition):this.position=n.Z._createAt(e.boundaries["backward"==e.direction?"end":"start"]),this.direction=e.direction||"forward",this.singleCharacters=!!e.singleCharacters,this.shallow=!!e.shallow,this.ignoreElementEnd=!!e.ignoreElementEnd,this._boundaryStartParent=this.boundaries?this.boundaries.start.parent:null,this._boundaryEndParent=this.boundaries?this.boundaries.end.parent:null}[Symbol.iterator](){return this}skip(e){let t,s,o;do{o=this.position,({done:t,value:s}=this.next())}while(!t&&e(s));t||(this.position=o)}next(){return"forward"==this.direction?this._next():this._previous()}_next(){let e=this.position.clone();const t=this.position,s=e.parent;if(null===s.parent&&e.offset===s.childCount)return{done:!0};if(s===this._boundaryEndParent&&e.offset==this.boundaries.end.offset)return{done:!0};let a;if(s instanceof i.Z){if(e.isAtEnd)return this.position=n.Z._createAfter(s),this._next();a=s.data[e.offset]}else a=s.getChild(e.offset);if(a instanceof o.Z)return this.shallow?e.offset++:e=new n.Z(a,0),this.position=e,this._formatReturnValue("elementStart",a,t,e,1);if(a instanceof i.Z){if(this.singleCharacters)return e=new n.Z(a,0),this.position=e,this._next();{let s,o=a.data.length;return a==this._boundaryEndParent?(o=this.boundaries.end.offset,s=new r.Z(a,0,o),e=n.Z._createAfter(s)):(s=new r.Z(a,0,a.data.length),e.offset++),this.position=e,this._formatReturnValue("text",s,t,e,o)}}if("string"==typeof a){let o;if(this.singleCharacters)o=1;else{o=(s===this._boundaryEndParent?this.boundaries.end.offset:s.data.length)-e.offset}const i=new r.Z(s,e.offset,o);return e.offset+=o,this.position=e,this._formatReturnValue("text",i,t,e,o)}return e=n.Z._createAfter(s),this.position=e,this.ignoreElementEnd?this._next():this._formatReturnValue("elementEnd",s,t,e)}_previous(){let e=this.position.clone();const t=this.position,s=e.parent;if(null===s.parent&&0===e.offset)return{done:!0};if(s==this._boundaryStartParent&&e.offset==this.boundaries.start.offset)return{done:!0};let a;if(s instanceof i.Z){if(e.isAtStart)return this.position=n.Z._createBefore(s),this._previous();a=s.data[e.offset-1]}else a=s.getChild(e.offset-1);if(a instanceof o.Z)return this.shallow?(e.offset--,this.position=e,this._formatReturnValue("elementStart",a,t,e,1)):(e=new n.Z(a,a.childCount),this.position=e,this.ignoreElementEnd?this._previous():this._formatReturnValue("elementEnd",a,t,e));if(a instanceof i.Z){if(this.singleCharacters)return e=new n.Z(a,a.data.length),this.position=e,this._previous();{let s,o=a.data.length;if(a==this._boundaryStartParent){const t=this.boundaries.start.offset;s=new r.Z(a,t,a.data.length-t),o=s.data.length,e=n.Z._createBefore(s)}else s=new r.Z(a,0,a.data.length),e.offset--;return this.position=e,this._formatReturnValue("text",s,t,e,o)}}if("string"==typeof a){let o;if(this.singleCharacters)o=1;else{const t=s===this._boundaryStartParent?this.boundaries.start.offset:0;o=e.offset-t}e.offset-=o;const i=new r.Z(s,e.offset,o);return this.position=e,this._formatReturnValue("text",i,t,e,o)}return e=n.Z._createBefore(s),this.position=e,this._formatReturnValue("elementStart",s,t,e,1)}_formatReturnValue(e,t,s,o,i){return t instanceof r.Z&&(t.offsetInText+t.data.length==t.textNode.data.length&&("forward"!=this.direction||this.boundaries&&this.boundaries.end.isEqual(this.position)?s=n.Z._createAfter(t.textNode):(o=n.Z._createAfter(t.textNode),this.position=o)),0===t.offsetInText&&("backward"!=this.direction||this.boundaries&&this.boundaries.start.isEqual(this.position)?s=n.Z._createBefore(t.textNode):(o=n.Z._createBefore(t.textNode),this.position=o))),{done:!1,value:{type:e,item:t,previousPosition:s,nextPosition:o,length:i}}}}},"./packages/ckeditor5-engine/src/view/uielement.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>a,h:()=>c});var o=s("./packages/ckeditor5-engine/src/view/element.js"),i=s("./packages/ckeditor5-utils/src/ckeditorerror.js"),r=s("./packages/ckeditor5-engine/src/view/node.js"),n=s("./packages/ckeditor5-utils/src/keyboard.js");class a extends o.Z{constructor(e,t,s,o){super(e,t,s,o),this.getFillerOffset=l}is(e,t=null){return t?t===this.name&&("uiElement"===e||"view:uiElement"===e||"element"===e||"view:element"===e):"uiElement"===e||"view:uiElement"===e||"element"===e||"view:element"===e||"node"===e||"view:node"===e}_insertChild(e,t){if(t&&(t instanceof r.Z||Array.from(t).length>0))throw new i.ZP("view-uielement-cannot-add",this)}render(e){return this.toDomElement(e)}toDomElement(e){const t=e.createElement(this.name);for(const e of this.getAttributeKeys())t.setAttribute(e,this.getAttribute(e));return t}}function c(e){e.document.on("arrowKey",((t,s)=>function(e,t,s){if(t.keyCode==n.Do.arrowright){const e=t.domTarget.ownerDocument.defaultView.getSelection(),o=1==e.rangeCount&&e.getRangeAt(0).collapsed;if(o||t.shiftKey){const t=e.focusNode,i=e.focusOffset,r=s.domPositionToView(t,i);if(null===r)return;let n=!1;const a=r.getLastMatchingPosition((e=>(e.item.is("uiElement")&&(n=!0),!(!e.item.is("uiElement")&&!e.item.is("attributeElement")))));if(n){const t=s.viewPositionToDom(a);o?e.collapse(t.parent,t.offset):e.extend(t.parent,t.offset)}}}}(0,s,e.domConverter)),{priority:"low"})}function l(){return null}},"./packages/ckeditor5-enter/src/enter.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>l});var o=s("./packages/ckeditor5-core/src/plugin.js"),i=s("./packages/ckeditor5-core/src/command.js"),r=s("./packages/ckeditor5-enter/src/utils.js");class n extends i.Z{execute(){const e=this.editor.model,t=e.document;e.change((s=>{!function(e,t,s,o){const i=s.isCollapsed,n=s.getFirstRange(),c=n.start.parent,l=n.end.parent;if(o.isLimit(c)||o.isLimit(l))return void(i||c!=l||e.deleteContent(s));if(i){const e=(0,r.G)(t.model.schema,s.getAttributes());a(t,n.start),t.setSelectionAttribute(e)}else{const o=!(n.start.isAtStart&&n.end.isAtEnd),i=c==l;e.deleteContent(s,{leaveUnmerged:o}),o&&(i?a(t,s.focus):t.setSelection(l,0))}}(this.editor.model,s,t.selection,e.schema),this.fire("afterExecute",{writer:s})}))}}function a(e,t){e.split(t),e.setSelection(t.parent.nextSibling,0)}var c=s("./packages/ckeditor5-enter/src/enterobserver.js");class l extends o.Z{static get pluginName(){return"Enter"}init(){const e=this.editor,t=e.editing.view,s=t.document;t.addObserver(c.Z),e.commands.add("enter",new n(e)),this.listenTo(s,"enter",((s,o)=>{o.preventDefault(),o.isSoft||(e.execute("enter"),t.scrollToTheSelection())}),{priority:"low"})}}},"./packages/ckeditor5-enter/src/enterobserver.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});var o=s("./packages/ckeditor5-engine/src/view/observer/observer.js"),i=s("./packages/ckeditor5-engine/src/view/observer/domeventdata.js"),r=s("./packages/ckeditor5-engine/src/view/observer/bubblingeventinfo.js"),n=s("./packages/ckeditor5-utils/src/keyboard.js");class a extends o.Z{constructor(e){super(e);const t=this.document;t.on("keydown",((e,s)=>{if(this.isEnabled&&s.keyCode==n.Do.enter){const o=new r.Z(t,"enter",t.selection.getFirstRange());t.fire(o,new i.Z(t,s.domEvent,{isSoft:s.shiftKey})),o.stop.called&&e.stop()}}))}observe(){}}},"./packages/ckeditor5-enter/src/utils.js":(e,t,s)=>{"use strict";function*o(e,t){for(const s of t)s&&e.getAttributeProperties(s[0]).copyOnEnter&&(yield s)}s.d(t,{G:()=>o})},"./packages/ckeditor5-typing/src/delete.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>m});var o=s("./packages/ckeditor5-core/src/plugin.js"),i=s("./packages/ckeditor5-core/src/command.js"),r=s("./packages/ckeditor5-utils/src/count.js"),n=s("./packages/ckeditor5-typing/src/utils/changebuffer.js");class a extends i.Z{constructor(e,t){super(e),this.direction=t,this._buffer=new n.Z(e.model,e.config.get("typing.undoStep"))}get buffer(){return this._buffer}execute(e={}){const t=this.editor.model,s=t.document;t.enqueueChange(this._buffer.batch,(o=>{this._buffer.lock();const i=o.createSelection(e.selection||s.selection),n=e.sequence||1,a=i.isCollapsed;if(i.isCollapsed&&t.modifySelection(i,{direction:this.direction,unit:e.unit,treatEmojiAsSingleUnit:!0}),this._shouldEntireContentBeReplacedWithParagraph(n))return void this._replaceEntireContentWithParagraph(o);if(this._shouldReplaceFirstBlockWithParagraph(i,n))return void this.editor.execute("paragraph",{selection:i});if(i.isCollapsed)return;let c=0;i.getFirstRange().getMinimalFlatRanges().forEach((e=>{c+=(0,r.Z)(e.getWalker({singleCharacters:!0,ignoreElementEnd:!0,shallow:!0}))})),t.deleteContent(i,{doNotResetEntireContent:a,direction:this.direction}),this._buffer.input(c),o.setSelection(i),this._buffer.unlock()}))}_shouldEntireContentBeReplacedWithParagraph(e){if(e>1)return!1;const t=this.editor.model,s=t.document.selection,o=t.schema.getLimitElement(s);if(!(s.isCollapsed&&s.containsEntireContent(o)))return!1;if(!t.schema.checkChild(o,"paragraph"))return!1;const i=o.getChild(0);return!i||"paragraph"!==i.name}_replaceEntireContentWithParagraph(e){const t=this.editor.model,s=t.document.selection,o=t.schema.getLimitElement(s),i=e.createElement("paragraph");e.remove(e.createRangeIn(o)),e.insert(i,o),e.setSelection(i,0)}_shouldReplaceFirstBlockWithParagraph(e,t){const s=this.editor.model;if(t>1||"backward"!=this.direction)return!1;if(!e.isCollapsed)return!1;const o=e.getFirstPosition(),i=s.schema.getLimitElement(o),r=i.getChild(0);return o.parent==r&&(!!e.containsEntireContent(r)&&(!!s.schema.checkChild(i,"paragraph")&&"paragraph"!=r.name))}}var c=s("./packages/ckeditor5-engine/src/view/observer/observer.js"),l=s("./packages/ckeditor5-engine/src/view/observer/domeventdata.js"),d=s("./packages/ckeditor5-engine/src/view/observer/bubblingeventinfo.js"),h=s("./packages/ckeditor5-utils/src/keyboard.js"),u=s("./packages/ckeditor5-utils/src/env.js"),p=s("./packages/ckeditor5-typing/src/utils/utils.js");class g extends c.Z{constructor(e){super(e);const t=e.document;let s=0;function o(e,s,o){const i=new d.Z(t,"delete",t.selection.getFirstRange());t.fire(i,new l.Z(t,s,o)),i.stop.called&&e.stop()}t.on("keyup",((e,t)=>{t.keyCode!=h.Do.delete&&t.keyCode!=h.Do.backspace||(s=0)})),t.on("keydown",((e,i)=>{if(u.ZP.isWindows&&(0,p.Uw)(i,t))return;const r={};if(i.keyCode==h.Do.delete)r.direction="forward",r.unit="character";else{if(i.keyCode!=h.Do.backspace)return;r.direction="backward",r.unit="codePoint"}const n=u.ZP.isMac?i.altKey:i.ctrlKey;r.unit=n?"word":r.unit,r.sequence=++s,o(e,i.domEvent,r)})),u.ZP.isAndroid&&t.on("beforeinput",((t,s)=>{if("deleteContentBackward"!=s.domEvent.inputType)return;const i={unit:"codepoint",direction:"backward",sequence:1},r=s.domTarget.ownerDocument.defaultView.getSelection();r.anchorNode==r.focusNode&&r.anchorOffset+1!=r.focusOffset&&(i.selectionToRemove=e.domConverter.domSelectionToView(r)),o(t,s.domEvent,i)}))}observe(){}}class m extends o.Z{static get pluginName(){return"Delete"}init(){const e=this.editor,t=e.editing.view,s=t.document,o=e.model.document;t.addObserver(g),this._undoOnBackspace=!1;const i=new a(e,"forward");if(e.commands.add("deleteForward",i),e.commands.add("forwardDelete",i),e.commands.add("delete",new a(e,"backward")),this.listenTo(s,"delete",((s,o)=>{const i={unit:o.unit,sequence:o.sequence};if(o.selectionToRemove){const t=e.model.createSelection(),s=[];for(const t of o.selectionToRemove.getRanges())s.push(e.editing.mapper.toModelRange(t));t.setTo(s),i.selection=t}e.execute("forward"==o.direction?"deleteForward":"delete",i),o.preventDefault(),t.scrollToTheSelection()}),{priority:"low"}),u.ZP.isAndroid){let e=null;this.listenTo(s,"delete",((t,s)=>{const o=s.domTarget.ownerDocument.defaultView.getSelection();e={anchorNode:o.anchorNode,anchorOffset:o.anchorOffset,focusNode:o.focusNode,focusOffset:o.focusOffset}}),{priority:"lowest"}),this.listenTo(s,"keyup",((t,s)=>{if(e){const t=s.domTarget.ownerDocument.defaultView.getSelection();t.collapse(e.anchorNode,e.anchorOffset),t.extend(e.focusNode,e.focusOffset),e=null}}))}this.editor.plugins.has("UndoEditing")&&(this.listenTo(s,"delete",((t,s)=>{this._undoOnBackspace&&"backward"==s.direction&&1==s.sequence&&"codePoint"==s.unit&&(this._undoOnBackspace=!1,e.execute("undo"),s.preventDefault(),t.stop())}),{context:"$capture"}),this.listenTo(o,"change",(()=>{this._undoOnBackspace=!1})))}requestUndoOnBackspace(){this.editor.plugins.has("UndoEditing")&&(this._undoOnBackspace=!0)}}},"./packages/ckeditor5-typing/src/utils/changebuffer.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>o});class o{constructor(e,t=20){this.model=e,this.size=0,this.limit=t,this.isLocked=!1,this._changeCallback=(e,t)=>{t.isLocal&&t.isUndoable&&t!==this._batch&&this._reset(!0)},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(){return this._batch||(this._batch=this.model.createBatch({isTyping:!0})),this._batch}input(e){this.size+=e,this.size>=this.limit&&this._reset(!0)}lock(){this.isLocked=!0}unlock(){this.isLocked=!1}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(e){this.isLocked&&!e||(this._batch=null,this.size=0)}}},"./packages/ckeditor5-typing/src/utils/injectunsafekeystrokeshandling.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>n,u:()=>c});var o=s("./packages/ckeditor5-utils/src/keyboard.js"),i=s("./packages/ckeditor5-utils/src/env.js"),r=s("./packages/ckeditor5-typing/src/utils/utils.js");function n(e){let t=null;const s=e.model,o=e.editing.view,n=e.commands.get("input");function a(e){if(i.ZP.isWindows&&(0,r.Uw)(e,o.document))return;const a=s.document,d=o.document.isComposing,h=t&&t.isEqual(a.selection);t=null,n.isEnabled&&(c(e)||a.selection.isCollapsed||d&&229===e.keyCode||!d&&229===e.keyCode&&h||l())}function l(){const e=n.buffer;e.lock();const t=e.batch;s.enqueueChange(t,(()=>{s.deleteContent(s.document.selection)})),e.unlock()}i.ZP.isAndroid?o.document.on("beforeinput",((e,t)=>a(t)),{priority:"lowest"}):o.document.on("keydown",((e,t)=>a(t)),{priority:"lowest"}),o.document.on("compositionstart",(function(){const e=s.document,t=1!==e.selection.rangeCount||e.selection.getFirstRange().isFlat;if(e.selection.isCollapsed||t)return;l()}),{priority:"lowest"}),o.document.on("compositionend",(()=>{t=s.createSelection(s.document.selection)}),{priority:"lowest"})}const a=[(0,o.Cq)("arrowUp"),(0,o.Cq)("arrowRight"),(0,o.Cq)("arrowDown"),(0,o.Cq)("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 e=112;e<=135;e++)a.push(e);function c(e){return!(!e.ctrlKey&&!e.metaKey)||a.includes(e.keyCode)}},"./packages/ckeditor5-typing/src/utils/utils.js":(e,t,s)=>{"use strict";s.d(t,{E9:()=>r,xG:()=>n,Uw:()=>c});var o=s("./packages/ckeditor5-utils/src/diff.js");var i=s("./packages/ckeditor5-utils/src/keyboard.js");function r(e){if(0==e.length)return!1;for(const t of e)if("children"===t.type&&!n(t))return!0;return!1}function n(e){if(e.newChildren.length-e.oldChildren.length!=1)return;const t=function(e,t){const s=[];let o,i=0;return e.forEach((e=>{"equal"==e?(r(),i++):"insert"==e?(n("insert")?o.values.push(t[i]):(r(),o={type:"insert",index:i,values:[t[i]]}),i++):n("delete")?o.howMany++:(r(),o={type:"delete",index:i,howMany:1})})),r(),s;function r(){o&&(s.push(o),o=null)}function n(e){return o&&o.type==e}}((0,o.Z)(e.oldChildren,e.newChildren,a),e.newChildren);if(t.length>1)return;const s=t[0];return s.values[0]&&s.values[0].is("$text")?s:void 0}function a(e,t){return e&&e.is("$text")&&t&&t.is("$text")?e.data===t.data:e===t}function c(e,t){const s=t.selection,o=e.shiftKey&&e.keyCode===i.Do.delete,r=!s.isCollapsed;return o&&r}},"./packages/ckeditor5-ui/src/bindings/clickoutsidehandler.js":(e,t,s)=>{"use strict";function o({emitter:e,activator:t,callback:s,contextElements:o}){e.listenTo(document,"mousedown",((e,i)=>{if(!t())return;const r="function"==typeof i.composedPath?i.composedPath():[];for(const e of o)if(e.contains(i.target)||r.includes(e))return;s()}))}s.d(t,{Z:()=>o})},"./packages/ckeditor5-ui/src/button/buttonview.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>u});var o=s("./packages/ckeditor5-ui/src/view.js"),i=s("./packages/ckeditor5-ui/src/icon/iconview.js"),r=s("./packages/ckeditor5-ui/src/tooltip/tooltipview.js"),n=s("./packages/ckeditor5-utils/src/uid.js"),a=s("./packages/ckeditor5-utils/src/keyboard.js"),c=s("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),l=s.n(c),d=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/button/button.css"),h={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};l()(d.Z,h);d.Z.locals;class u extends o.Z{constructor(e){super(e);const t=this.bindTemplate,s=(0,n.Z)();this.set("class"),this.set("labelStyle"),this.set("icon"),this.set("isEnabled",!0),this.set("isOn",!1),this.set("isVisible",!0),this.set("isToggleable",!1),this.set("keystroke"),this.set("label"),this.set("tabindex",-1),this.set("tooltip"),this.set("tooltipPosition","s"),this.set("type","button"),this.set("withText",!1),this.set("withKeystroke",!1),this.children=this.createCollection(),this.tooltipView=this._createTooltipView(),this.labelView=this._createLabelView(s),this.iconView=new i.Z,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",t.to("class"),t.if("isEnabled","ck-disabled",(e=>!e)),t.if("isVisible","ck-hidden",(e=>!e)),t.to("isOn",(e=>e?"ck-on":"ck-off")),t.if("withText","ck-button_with-text"),t.if("withKeystroke","ck-button_with-keystroke")],type:t.to("type",(e=>e||"button")),tabindex:t.to("tabindex"),"aria-labelledby":`ck-editor__aria-label_${s}`,"aria-disabled":t.if("isEnabled",!0,(e=>!e)),"aria-pressed":t.to("isOn",(e=>!!this.isToggleable&&String(e)))},children:this.children,on:{mousedown:t.to((e=>{e.preventDefault()})),click:t.to((e=>{this.isEnabled?this.fire("execute"):e.preventDefault()}))}})}render(){super.render(),this.icon&&(this.iconView.bind("content").to(this,"icon"),this.children.add(this.iconView)),this.children.add(this.tooltipView),this.children.add(this.labelView),this.withKeystroke&&this.keystroke&&this.children.add(this.keystrokeView)}focus(){this.element.focus()}_createTooltipView(){const e=new r.Z;return e.bind("text").to(this,"_tooltipString"),e.bind("position").to(this,"tooltipPosition"),e}_createLabelView(e){const t=new o.Z,s=this.bindTemplate;return t.setTemplate({tag:"span",attributes:{class:["ck","ck-button__label"],style:s.to("labelStyle"),id:`ck-editor__aria-label_${e}`},children:[{text:this.bindTemplate.to("label")}]}),t}_createKeystrokeView(){const e=new o.Z;return e.setTemplate({tag:"span",attributes:{class:["ck","ck-button__keystroke"]},children:[{text:this.bindTemplate.to("keystroke",(e=>(0,a.XU)(e)))}]}),e}_getTooltipString(e,t,s){return e?"string"==typeof e?e:(s&&(s=(0,a.XU)(s)),e instanceof Function?e(t,s):`${t}${s?` (${s})`:""}`):""}}},"./packages/ckeditor5-ui/src/button/switchbuttonview.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>l});var o=s("./packages/ckeditor5-ui/src/view.js"),i=s("./packages/ckeditor5-ui/src/button/buttonview.js"),r=s("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),n=s.n(r),a=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/button/switchbutton.css"),c={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};n()(a.Z,c);a.Z.locals;class l extends i.Z{constructor(e){super(e),this.isToggleable=!0,this.toggleSwitchView=this._createToggleView(),this.extendTemplate({attributes:{class:"ck-switchbutton"}})}render(){super.render(),this.children.add(this.toggleSwitchView)}_createToggleView(){const e=new o.Z;return e.setTemplate({tag:"span",attributes:{class:["ck","ck-button__toggle"]},children:[{tag:"span",attributes:{class:["ck","ck-button__toggle__inner"]}}]}),e}}},"./packages/ckeditor5-ui/src/dropdown/button/dropdownbuttonview.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>n});var o=s("./packages/ckeditor5-ui/src/button/buttonview.js"),i=s("./packages/ckeditor5-ui/theme/icons/dropdown-arrow.svg"),r=s("./packages/ckeditor5-ui/src/icon/iconview.js");class n extends o.Z{constructor(e){super(e),this.arrowView=this._createArrowView(),this.extendTemplate({attributes:{"aria-haspopup":!0}}),this.delegate("execute").to(this,"open")}render(){super.render(),this.children.add(this.arrowView)}_createArrowView(){const e=new r.Z;return e.content=i.Z,e.extendTemplate({attributes:{class:"ck-dropdown__arrow"}}),e}}},"./packages/ckeditor5-ui/src/dropdown/utils.js":(e,t,s)=>{"use strict";s.d(t,{Pm:()=>x,up:()=>j,t9:()=>P});var o=s("./packages/ckeditor5-ui/src/view.js");class i extends o.Z{constructor(e){super(e);const t=this.bindTemplate;this.set("isVisible",!1),this.set("position","se"),this.children=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-reset","ck-dropdown__panel",t.to("position",(e=>`ck-dropdown__panel_${e}`)),t.if("isVisible","ck-dropdown__panel-visible")]},children:this.children,on:{selectstart:t.to((e=>e.preventDefault()))}})}focus(){this.children.length&&this.children.first.focus()}focusLast(){if(this.children.length){const e=this.children.last;"function"==typeof e.focusLast?e.focusLast():e.focus()}}}var r=s("./packages/ckeditor5-utils/src/keystrokehandler.js"),n=s("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),a=s.n(n),c=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/dropdown/dropdown.css"),l={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};a()(c.Z,l);c.Z.locals;var d=s("./packages/ckeditor5-utils/src/dom/position.js");class h extends o.Z{constructor(e,t,s){super(e);const o=this.bindTemplate;this.buttonView=t,this.panelView=s,this.set("isOpen",!1),this.set("isEnabled",!0),this.set("class"),this.set("id"),this.set("panelPosition","auto"),this.keystrokes=new r.Z,this.setTemplate({tag:"div",attributes:{class:["ck","ck-dropdown",o.to("class"),o.if("isEnabled","ck-disabled",(e=>!e))],id:o.to("id"),"aria-describedby":o.to("ariaDescribedById")},children:[t,s]}),t.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",(()=>{this.isOpen&&("auto"===this.panelPosition?this.panelView.position=h._getOptimalPosition({element:this.panelView.element,target:this.buttonView.element,fitInViewport:!0,positions:this._panelPositions}).name:this.panelView.position=this.panelPosition)})),this.keystrokes.listenTo(this.element);const e=(e,t)=>{this.isOpen&&(this.buttonView.focus(),this.isOpen=!1,t())};this.keystrokes.set("arrowdown",((e,t)=>{this.buttonView.isEnabled&&!this.isOpen&&(this.isOpen=!0,t())})),this.keystrokes.set("arrowright",((e,t)=>{this.isOpen&&t()})),this.keystrokes.set("arrowleft",e),this.keystrokes.set("esc",e)}focus(){this.buttonView.focus()}get _panelPositions(){const{south:e,north:t,southEast:s,southWest:o,northEast:i,northWest:r,southMiddleEast:n,southMiddleWest:a,northMiddleEast:c,northMiddleWest:l}=h.defaultPanelPositions;return"rtl"!==this.locale.uiLanguageDirection?[s,o,n,a,e,i,r,c,l,t]:[o,s,a,n,e,r,i,l,c,t]}}h.defaultPanelPositions={south:(e,t)=>({top:e.bottom,left:e.left-(t.width-e.width)/2,name:"s"}),southEast:e=>({top:e.bottom,left:e.left,name:"se"}),southWest:(e,t)=>({top:e.bottom,left:e.left-t.width+e.width,name:"sw"}),southMiddleEast:(e,t)=>({top:e.bottom,left:e.left-(t.width-e.width)/4,name:"sme"}),southMiddleWest:(e,t)=>({top:e.bottom,left:e.left-3*(t.width-e.width)/4,name:"smw"}),north:(e,t)=>({top:e.top-t.height,left:e.left-(t.width-e.width)/2,name:"n"}),northEast:(e,t)=>({top:e.top-t.height,left:e.left,name:"ne"}),northWest:(e,t)=>({top:e.top-t.height,left:e.left-t.width+e.width,name:"nw"}),northMiddleEast:(e,t)=>({top:e.top-t.height,left:e.left-(t.width-e.width)/4,name:"nme"}),northMiddleWest:(e,t)=>({top:e.top-t.height,left:e.left-3*(t.width-e.width)/4,name:"nmw"})},h._getOptimalPosition=d.x;var u=s("./packages/ckeditor5-ui/src/dropdown/button/dropdownbuttonview.js"),p=s("./packages/ckeditor5-ui/src/toolbar/toolbarview.js"),g=s("./packages/ckeditor5-ui/src/list/listview.js"),m=s("./packages/ckeditor5-ui/src/list/listitemview.js");class f extends o.Z{constructor(e){super(e),this.setTemplate({tag:"li",attributes:{class:["ck","ck-list__separator"]}})}}var k=s("./packages/ckeditor5-ui/src/button/buttonview.js"),_=s("./packages/ckeditor5-ui/src/button/switchbuttonview.js"),b=s("./packages/ckeditor5-ui/src/bindings/clickoutsidehandler.js"),w=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/dropdown/toolbardropdown.css"),v={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};a()(w.Z,v);w.Z.locals;var y=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/dropdown/listdropdown.css"),Z={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};a()(y.Z,Z);y.Z.locals;function P(e,t=u.Z){const s=new t(e),o=new i(e),r=new h(e,s,o);return s.bind("isEnabled").to(r),s instanceof u.Z?s.bind("isOn").to(r,"isOpen"):s.arrowView.bind("isOn").to(r,"isOpen"),function(e){(function(e){e.on("render",(()=>{(0,b.Z)({emitter:e,activator:()=>e.isOpen,callback:()=>{e.isOpen=!1},contextElements:[e.element]})}))})(e),function(e){e.on("execute",(t=>{t.source instanceof _.Z||(e.isOpen=!1)}))}(e),function(e){e.keystrokes.set("arrowdown",((t,s)=>{e.isOpen&&(e.panelView.focus(),s())})),e.keystrokes.set("arrowup",((t,s)=>{e.isOpen&&(e.panelView.focusLast(),s())}))}(e)}(r),r}function j(e,t){const s=e.locale,o=s.t,i=e.toolbarView=new p.Z(s);i.set("ariaLabel",o("Dropdown toolbar")),e.extendTemplate({attributes:{class:["ck-toolbar-dropdown"]}}),t.map((e=>i.items.add(e))),e.panelView.children.add(i),i.items.delegate("execute").to(e)}function x(e,t){const s=e.locale,o=e.listView=new g.Z(s);o.items.bindTo(t).using((({type:e,model:t})=>{if("separator"===e)return new f(s);if("button"===e||"switchbutton"===e){const o=new m.Z(s);let i;return i="button"===e?new k.Z(s):new _.Z(s),i.bind(...Object.keys(t)).to(t),i.delegate("execute").to(o),o.children.add(i),o}})),e.panelView.children.add(o),o.items.delegate("execute").to(e)}},"./packages/ckeditor5-ui/src/focuscycler.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});var o=s("./packages/ckeditor5-utils/src/dom/isvisible.js");class i{constructor(e){if(Object.assign(this,e),e.actions&&e.keystrokeHandler)for(const t in e.actions){let s=e.actions[t];"string"==typeof s&&(s=[s]);for(const o of s)e.keystrokeHandler.set(o,((e,s)=>{this[t](),s()}))}}get first(){return this.focusables.find(r)||null}get last(){return this.focusables.filter(r).slice(-1)[0]||null}get next(){return this._getFocusableItem(1)}get previous(){return this._getFocusableItem(-1)}get current(){let e=null;return null===this.focusTracker.focusedElement?null:(this.focusables.find(((t,s)=>{const o=t.element===this.focusTracker.focusedElement;return o&&(e=s),o})),e)}focusFirst(){this._focus(this.first)}focusLast(){this._focus(this.last)}focusNext(){this._focus(this.next)}focusPrevious(){this._focus(this.previous)}_focus(e){e&&e.focus()}_getFocusableItem(e){const t=this.current,s=this.focusables.length;if(!s)return null;if(null===t)return this[1===e?"first":"last"];let o=(t+s+e)%s;do{const t=this.focusables.get(o);if(r(t))return t;o=(o+s+e)%s}while(o!==t);return null}}function r(e){return!(!e.focus||!(0,o.Z)(e.element))}},"./packages/ckeditor5-ui/src/icon/iconview.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>c});var o=s("./packages/ckeditor5-ui/src/view.js"),i=s("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),r=s.n(i),n=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/icon/icon.css"),a={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};r()(n.Z,a);n.Z.locals;class c extends o.Z{constructor(){super();const e=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:e.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 e=(new DOMParser).parseFromString(this.content.trim(),"image/svg+xml").querySelector("svg"),t=e.getAttribute("viewBox");for(t&&(this.viewBox=t),this.element.innerHTML="";e.childNodes.length>0;)this.element.appendChild(e.childNodes[0])}}_colorFillPaths(){this.fillColor&&this.element.querySelectorAll(".ck-icon__fill").forEach((e=>{e.style.fill=this.fillColor}))}}},"./packages/ckeditor5-ui/src/list/listitemview.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});var o=s("./packages/ckeditor5-ui/src/view.js");class i extends o.Z{constructor(e){super(e),this.children=this.createCollection(),this.setTemplate({tag:"li",attributes:{class:["ck","ck-list__item"]},children:this.children})}focus(){this.children.first.focus()}}},"./packages/ckeditor5-ui/src/list/listview.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>h});var o=s("./packages/ckeditor5-ui/src/view.js"),i=s("./packages/ckeditor5-utils/src/focustracker.js"),r=s("./packages/ckeditor5-ui/src/focuscycler.js"),n=s("./packages/ckeditor5-utils/src/keystrokehandler.js"),a=s("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),c=s.n(a),l=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/list/list.css"),d={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};c()(l.Z,d);l.Z.locals;class h extends o.Z{constructor(){super(),this.items=this.createCollection(),this.focusTracker=new i.Z,this.keystrokes=new n.Z,this._focusCycler=new r.Z({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 e of this.items)this.focusTracker.add(e.element);this.items.on("add",((e,t)=>{this.focusTracker.add(t.element)})),this.items.on("remove",((e,t)=>{this.focusTracker.remove(t.element)})),this.keystrokes.listenTo(this.element)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}focusLast(){this._focusCycler.focusLast()}}},"./packages/ckeditor5-ui/src/panel/balloon/balloonpanelview.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>m,M:()=>k});var o=s("./packages/ckeditor5-ui/src/view.js"),i=s("./packages/ckeditor5-utils/src/dom/position.js"),r=s("./packages/ckeditor5-utils/src/dom/isrange.js"),n=s("./packages/ckeditor5-utils/src/dom/tounit.js"),a=s("./packages/ckeditor5-utils/src/dom/global.js"),c=s("./node_modules/lodash-es/isElement.js"),l=s("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),d=s.n(l),h=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/panel/balloonpanel.css"),u={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};d()(h.Z,u);h.Z.locals;const p=(0,n.Z)("px"),g=a.Z.document.body;class m extends o.Z{constructor(e){super(e);const t=this.bindTemplate;this.set("top",0),this.set("left",0),this.set("position","arrow_nw"),this.set("isVisible",!1),this.set("withArrow",!0),this.set("class"),this.content=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-balloon-panel",t.to("position",(e=>`ck-balloon-panel_${e}`)),t.if("isVisible","ck-balloon-panel_visible"),t.if("withArrow","ck-balloon-panel_with-arrow"),t.to("class")],style:{top:t.to("top",p),left:t.to("left",p)}},children:this.content})}show(){this.isVisible=!0}hide(){this.isVisible=!1}attachTo(e){this.show();const t=m.defaultPositions,s=Object.assign({},{element:this.element,positions:[t.southArrowNorth,t.southArrowNorthMiddleWest,t.southArrowNorthMiddleEast,t.southArrowNorthWest,t.southArrowNorthEast,t.northArrowSouth,t.northArrowSouthMiddleWest,t.northArrowSouthMiddleEast,t.northArrowSouthWest,t.northArrowSouthEast,t.viewportStickyNorth],limiter:g,fitInViewport:!0},e),o=m._getOptimalPosition(s),i=parseInt(o.left),r=parseInt(o.top),{name:n,config:a={}}=o,{withArrow:c=!0}=a;Object.assign(this,{top:r,left:i,position:n,withArrow:c})}pin(e){this.unpin(),this._pinWhenIsVisibleCallback=()=>{this.isVisible?this._startPinning(e):this._stopPinning()},this._startPinning(e),this.listenTo(this,"change:isVisible",this._pinWhenIsVisibleCallback)}unpin(){this._pinWhenIsVisibleCallback&&(this._stopPinning(),this.stopListening(this,"change:isVisible",this._pinWhenIsVisibleCallback),this._pinWhenIsVisibleCallback=null,this.hide())}_startPinning(e){this.attachTo(e);const t=f(e.target),s=e.limiter?f(e.limiter):g;this.listenTo(a.Z.document,"scroll",((o,i)=>{const r=i.target,n=t&&r.contains(t),a=s&&r.contains(s);!n&&!a&&t&&s||this.attachTo(e)}),{useCapture:!0}),this.listenTo(a.Z.window,"resize",(()=>{this.attachTo(e)}))}_stopPinning(){this.stopListening(a.Z.document,"scroll"),this.stopListening(a.Z.window,"resize")}}function f(e){return(0,c.Z)(e)?e:(0,r.Z)(e)?e.commonAncestorContainer:"function"==typeof e?f(e()):null}function k({horizontalOffset:e=m.arrowHorizontalOffset,verticalOffset:t=m.arrowVerticalOffset,stickyVerticalOffset:s=m.stickyVerticalOffset,config:o}={}){return{northWestArrowSouthWest:(t,s)=>({top:i(t,s),left:t.left-e,name:"arrow_sw",...o&&{config:o}}),northWestArrowSouthMiddleWest:(t,s)=>({top:i(t,s),left:t.left-.25*s.width-e,name:"arrow_smw",...o&&{config:o}}),northWestArrowSouth:(e,t)=>({top:i(e,t),left:e.left-t.width/2,name:"arrow_s",...o&&{config:o}}),northWestArrowSouthMiddleEast:(t,s)=>({top:i(t,s),left:t.left-.75*s.width+e,name:"arrow_sme",...o&&{config:o}}),northWestArrowSouthEast:(t,s)=>({top:i(t,s),left:t.left-s.width+e,name:"arrow_se",...o&&{config:o}}),northArrowSouthWest:(t,s)=>({top:i(t,s),left:t.left+t.width/2-e,name:"arrow_sw",...o&&{config:o}}),northArrowSouthMiddleWest:(t,s)=>({top:i(t,s),left:t.left+t.width/2-.25*s.width-e,name:"arrow_smw",...o&&{config:o}}),northArrowSouth:(e,t)=>({top:i(e,t),left:e.left+e.width/2-t.width/2,name:"arrow_s",...o&&{config:o}}),northArrowSouthMiddleEast:(t,s)=>({top:i(t,s),left:t.left+t.width/2-.75*s.width+e,name:"arrow_sme",...o&&{config:o}}),northArrowSouthEast:(t,s)=>({top:i(t,s),left:t.left+t.width/2-s.width+e,name:"arrow_se",...o&&{config:o}}),northEastArrowSouthWest:(t,s)=>({top:i(t,s),left:t.right-e,name:"arrow_sw",...o&&{config:o}}),northEastArrowSouthMiddleWest:(t,s)=>({top:i(t,s),left:t.right-.25*s.width-e,name:"arrow_smw",...o&&{config:o}}),northEastArrowSouth:(e,t)=>({top:i(e,t),left:e.right-t.width/2,name:"arrow_s",...o&&{config:o}}),northEastArrowSouthMiddleEast:(t,s)=>({top:i(t,s),left:t.right-.75*s.width+e,name:"arrow_sme",...o&&{config:o}}),northEastArrowSouthEast:(t,s)=>({top:i(t,s),left:t.right-s.width+e,name:"arrow_se",...o&&{config:o}}),southWestArrowNorthWest:(t,s)=>({top:r(t),left:t.left-e,name:"arrow_nw",...o&&{config:o}}),southWestArrowNorthMiddleWest:(t,s)=>({top:r(t),left:t.left-.25*s.width-e,name:"arrow_nmw",...o&&{config:o}}),southWestArrowNorth:(e,t)=>({top:r(e),left:e.left-t.width/2,name:"arrow_n",...o&&{config:o}}),southWestArrowNorthMiddleEast:(t,s)=>({top:r(t),left:t.left-.75*s.width+e,name:"arrow_nme",...o&&{config:o}}),southWestArrowNorthEast:(t,s)=>({top:r(t),left:t.left-s.width+e,name:"arrow_ne",...o&&{config:o}}),southArrowNorthWest:(t,s)=>({top:r(t),left:t.left+t.width/2-e,name:"arrow_nw",...o&&{config:o}}),southArrowNorthMiddleWest:(t,s)=>({top:r(t),left:t.left+t.width/2-.25*s.width-e,name:"arrow_nmw",...o&&{config:o}}),southArrowNorth:(e,t)=>({top:r(e),left:e.left+e.width/2-t.width/2,name:"arrow_n",...o&&{config:o}}),southArrowNorthMiddleEast:(t,s)=>({top:r(t),left:t.left+t.width/2-.75*s.width+e,name:"arrow_nme",...o&&{config:o}}),southArrowNorthEast:(t,s)=>({top:r(t),left:t.left+t.width/2-s.width+e,name:"arrow_ne",...o&&{config:o}}),southEastArrowNorthWest:(t,s)=>({top:r(t),left:t.right-e,name:"arrow_nw",...o&&{config:o}}),southEastArrowNorthMiddleWest:(t,s)=>({top:r(t),left:t.right-.25*s.width-e,name:"arrow_nmw",...o&&{config:o}}),southEastArrowNorth:(e,t)=>({top:r(e),left:e.right-t.width/2,name:"arrow_n",...o&&{config:o}}),southEastArrowNorthMiddleEast:(t,s)=>({top:r(t),left:t.right-.75*s.width+e,name:"arrow_nme",...o&&{config:o}}),southEastArrowNorthEast:(t,s)=>({top:r(t),left:t.right-s.width+e,name:"arrow_ne",...o&&{config:o}}),viewportStickyNorth:(e,t,i)=>e.getIntersection(i)?{top:i.top+s,left:e.left+e.width/2-t.width/2,name:"arrowless",config:{withArrow:!1,...o}}:null};function i(e,s){return e.top-s.height-t}function r(e){return e.bottom+t}}m.arrowHorizontalOffset=25,m.arrowVerticalOffset=10,m.stickyVerticalOffset=20,m._getOptimalPosition=i.x,m.defaultPositions=k()},"./packages/ckeditor5-ui/src/panel/balloon/contextualballoon.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>_});var o=s("./packages/ckeditor5-core/src/plugin.js"),i=s("./packages/ckeditor5-ui/src/panel/balloon/balloonpanelview.js"),r=s("./packages/ckeditor5-ui/src/view.js"),n=s("./packages/ckeditor5-ui/src/button/buttonview.js"),a=s("./packages/ckeditor5-utils/src/ckeditorerror.js"),c=s("./packages/ckeditor5-utils/src/focustracker.js"),l=s("./packages/ckeditor5-utils/src/dom/tounit.js"),d=s("./packages/ckeditor5-utils/src/dom/rect.js");var h=s("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),u=s.n(h),p=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/panel/balloonrotator.css"),g={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};u()(p.Z,g);p.Z.locals;var m=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/panel/fakepanel.css"),f={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};u()(m.Z,f);m.Z.locals;const k=(0,l.Z)("px");class _ extends o.Z{static get pluginName(){return"ContextualBalloon"}constructor(e){super(e),this.positionLimiter=()=>{const e=this.editor.editing.view,t=e.document.selection.editableElement;return t?e.domConverter.mapViewToDom(t.root):null},this.set("visibleView",null),this.view=new i.Z(e.locale),e.ui.view.body.add(this.view),e.ui.focusTracker.add(this.view.element),this._viewToStack=new Map,this._idToStack=new Map,this.set("_numberOfStacks",0),this.set("_singleViewMode",!1),this._rotatorView=this._createRotatorView(),this._fakePanelsView=this._createFakePanelsView()}destroy(){super.destroy(),this.view.destroy(),this._rotatorView.destroy(),this._fakePanelsView.destroy()}hasView(e){return Array.from(this._viewToStack.keys()).includes(e)}add(e){if(this.hasView(e.view))throw new a.ZP("contextualballoon-add-view-exist",[this,e]);const t=e.stackId||"main";if(!this._idToStack.has(t))return this._idToStack.set(t,new Map([[e.view,e]])),this._viewToStack.set(e.view,this._idToStack.get(t)),this._numberOfStacks=this._idToStack.size,void(this._visibleStack&&!e.singleViewMode||this.showStack(t));const s=this._idToStack.get(t);e.singleViewMode&&this.showStack(t),s.set(e.view,e),this._viewToStack.set(e.view,s),s===this._visibleStack&&this._showView(e)}remove(e){if(!this.hasView(e))throw new a.ZP("contextualballoon-remove-view-not-exist",[this,e]);const t=this._viewToStack.get(e);this._singleViewMode&&this.visibleView===e&&(this._singleViewMode=!1),this.visibleView===e&&(1===t.size?this._idToStack.size>1?this._showNextStack():(this.view.hide(),this.visibleView=null,this._rotatorView.hideView()):this._showView(Array.from(t.values())[t.size-2])),1===t.size?(this._idToStack.delete(this._getStackId(t)),this._numberOfStacks=this._idToStack.size):t.delete(e),this._viewToStack.delete(e)}updatePosition(e){e&&(this._visibleStack.get(this.visibleView).position=e),this.view.pin(this._getBalloonPosition()),this._fakePanelsView.updatePosition()}showStack(e){this.visibleStack=e;const t=this._idToStack.get(e);if(!t)throw new a.ZP("contextualballoon-showstack-stack-not-exist",this);this._visibleStack!==t&&this._showView(Array.from(t.values()).pop())}get _visibleStack(){return this._viewToStack.get(this.visibleView)}_getStackId(e){return Array.from(this._idToStack.entries()).find((t=>t[1]===e))[0]}_showNextStack(){const e=Array.from(this._idToStack.values());let t=e.indexOf(this._visibleStack)+1;e[t]||(t=0),this.showStack(this._getStackId(e[t]))}_showPrevStack(){const e=Array.from(this._idToStack.values());let t=e.indexOf(this._visibleStack)-1;e[t]||(t=e.length-1),this.showStack(this._getStackId(e[t]))}_createRotatorView(){const e=new b(this.editor.locale),t=this.editor.locale.t;return this.view.content.add(e),e.bind("isNavigationVisible").to(this,"_numberOfStacks",this,"_singleViewMode",((e,t)=>!t&&e>1)),e.on("change:isNavigationVisible",(()=>this.updatePosition()),{priority:"low"}),e.bind("counter").to(this,"visibleView",this,"_numberOfStacks",((e,s)=>{if(s<2)return"";const o=Array.from(this._idToStack.values()).indexOf(this._visibleStack)+1;return t("%0 of %1",[o,s])})),e.buttonNextView.on("execute",(()=>{e.focusTracker.isFocused&&this.editor.editing.view.focus(),this._showNextStack()})),e.buttonPrevView.on("execute",(()=>{e.focusTracker.isFocused&&this.editor.editing.view.focus(),this._showPrevStack()})),e}_createFakePanelsView(){const e=new w(this.editor.locale,this.view);return e.bind("numberOfPanels").to(this,"_numberOfStacks",this,"_singleViewMode",((e,t)=>!t&&e>=2?Math.min(e-1,2):0)),e.listenTo(this.view,"change:top",(()=>e.updatePosition())),e.listenTo(this.view,"change:left",(()=>e.updatePosition())),this.editor.ui.view.body.add(e),e}_showView({view:e,balloonClassName:t="",withArrow:s=!0,singleViewMode:o=!1}){this.view.class=t,this.view.withArrow=s,this._rotatorView.showView(e),this.visibleView=e,this.view.pin(this._getBalloonPosition()),this._fakePanelsView.updatePosition(),o&&(this._singleViewMode=!0)}_getBalloonPosition(){let e=Array.from(this._visibleStack.values()).pop().position;return e&&(e.limiter||(e=Object.assign({},e,{limiter:this.positionLimiter})),e=Object.assign({},e,{viewportOffsetConfig:this.editor.ui.viewportOffset})),e}}class b extends r.Z{constructor(e){super(e);const t=e.t,s=this.bindTemplate;this.set("isNavigationVisible",!0),this.focusTracker=new c.Z,this.buttonPrevView=this._createButtonView(t("Previous"),''),this.buttonNextView=this._createButtonView(t("Next"),''),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",s.to("isNavigationVisible",(e=>e?"":"ck-hidden"))]},children:[this.buttonPrevView,{tag:"span",attributes:{class:["ck-balloon-rotator__counter"]},children:[{text:s.to("counter")}]},this.buttonNextView]},{tag:"div",attributes:{class:"ck-balloon-rotator__content"},children:this.content}]})}render(){super.render(),this.focusTracker.add(this.element)}destroy(){super.destroy(),this.focusTracker.destroy()}showView(e){this.hideView(),this.content.add(e)}hideView(){this.content.clear()}_createButtonView(e,t){const s=new n.Z(this.locale);return s.set({label:e,icon:t,tooltip:!0}),s}}class w extends r.Z{constructor(e,t){super(e);const s=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=t,this.setTemplate({tag:"div",attributes:{class:["ck-fake-panel",s.to("numberOfPanels",(e=>e?"":"ck-hidden"))],style:{top:s.to("top",k),left:s.to("left",k),width:s.to("width",k),height:s.to("height",k)}},children:this.content}),this.on("change:numberOfPanels",((e,t,s,o)=>{s>o?this._addPanels(s-o):this._removePanels(o-s),this.updatePosition()}))}_addPanels(e){for(;e--;){const e=new r.Z;e.setTemplate({tag:"div"}),this.content.add(e),this.registerChild(e)}}_removePanels(e){for(;e--;){const e=this.content.last;this.content.remove(e),this.deregisterChild(e),e.destroy()}}updatePosition(){if(this.numberOfPanels){const{top:e,left:t}=this._balloonPanelView,{width:s,height:o}=new d.Z(this._balloonPanelView.element);Object.assign(this,{top:e,left:t,width:s,height:o})}}}},"./packages/ckeditor5-ui/src/template.js":(e,t,s)=>{"use strict";s.d(t,{ZP:()=>u});var o=s("./packages/ckeditor5-utils/src/ckeditorerror.js"),i=s("./packages/ckeditor5-utils/src/mix.js"),r=s("./packages/ckeditor5-utils/src/emittermixin.js"),n=s("./packages/ckeditor5-ui/src/view.js"),a=s("./packages/ckeditor5-ui/src/viewcollection.js"),c=s("./packages/ckeditor5-utils/src/dom/isnode.js"),l=s("./node_modules/lodash-es/isObject.js"),d=s("./node_modules/lodash-es/cloneDeepWith.js"),h=s("./packages/ckeditor5-utils/src/toarray.js");class u{constructor(e){Object.assign(this,y(v(e))),this._isRendered=!1,this._revertData=null}render(){const e=this._renderNode({intoFragment:!0});return this._isRendered=!0,e}apply(e){return this._revertData={children:[],bindings:[],attributes:{}},this._renderNode({node:e,isApplying:!0,revertData:this._revertData}),e}revert(e){if(!this._revertData)throw new o.ZP("ui-template-revert-not-applied",[this,e]);this._revertTemplateFromNode(e,this._revertData)}*getViews(){yield*function*e(t){if(t.children)for(const s of t.children)T(s)?yield s:C(s)&&(yield*e(s))}(this)}static bind(e,t){return{to:(s,o)=>new g({eventNameOrFunction:s,attribute:s,observable:e,emitter:t,callback:o}),if:(s,o,i)=>new m({observable:e,emitter:t,attribute:s,valueIfTrue:o,callback:i})}}static extend(e,t){if(e._isRendered)throw new o.ZP("template-extend-render",[this,e]);x(e,y(v(t)))}_renderNode(e){let t;if(t=e.node?this.tag&&this.text:this.tag?this.text:!this.text,t)throw new o.ZP("ui-template-wrong-syntax",this);return this.text?this._renderText(e):this._renderElement(e)}_renderElement(e){let t=e.node;return t||(t=e.node=document.createElementNS(this.ns||"http://www.w3.org/1999/xhtml",this.tag)),this._renderAttributes(e),this._renderElementChildren(e),this._setUpListeners(e),t}_renderText(e){let t=e.node;return t?e.revertData.text=t.textContent:t=e.node=document.createTextNode(""),f(this.text)?this._bindToObservable({schema:this.text,updater:_(t),data:e}):t.textContent=this.text.join(""),t}_renderAttributes(e){let t,s,o,i;if(!this.attributes)return;const r=e.node,n=e.revertData;for(t in this.attributes)if(o=r.getAttribute(t),s=this.attributes[t],n&&(n.attributes[t]=o),i=(0,l.Z)(s[0])&&s[0].ns?s[0].ns:null,f(s)){const a=i?s[0].value:s;n&&S(t)&&a.unshift(o),this._bindToObservable({schema:a,updater:b(r,t,i),data:e})}else"style"==t&&"string"!=typeof s[0]?this._renderStyleAttribute(s[0],e):(n&&o&&S(t)&&s.unshift(o),s=s.map((e=>e&&e.value||e)).reduce(((e,t)=>e.concat(t)),[]).reduce(P,""),A(s)||r.setAttributeNS(i,t,s))}_renderStyleAttribute(e,t){const s=t.node;for(const o in e){const i=e[o];f(i)?this._bindToObservable({schema:[i],updater:w(s,o),data:t}):s.style[o]=i}}_renderElementChildren(e){const t=e.node,s=e.intoFragment?document.createDocumentFragment():t,o=e.isApplying;let i=0;for(const r of this.children)if(E(r)){if(!o){r.setParent(t);for(const e of r)s.appendChild(e.element)}}else if(T(r))o||(r.isRendered||r.render(),s.appendChild(r.element));else if((0,c.Z)(r))s.appendChild(r);else if(o){const t={children:[],bindings:[],attributes:{}};e.revertData.children.push(t),r._renderNode({node:s.childNodes[i++],isApplying:!0,revertData:t})}else s.appendChild(r.render());e.intoFragment&&t.appendChild(s)}_setUpListeners(e){if(this.eventListeners)for(const t in this.eventListeners){const s=this.eventListeners[t].map((s=>{const[o,i]=t.split("@");return s.activateDomEventListener(o,i,e)}));e.revertData&&e.revertData.bindings.push(s)}}_bindToObservable({schema:e,updater:t,data:s}){const o=s.revertData;k(e,t,s);const i=e.filter((e=>!A(e))).filter((e=>e.observable)).map((o=>o.activateAttributeListener(e,t,s)));o&&o.bindings.push(i)}_revertTemplateFromNode(e,t){for(const e of t.bindings)for(const t of e)t();if(t.text)e.textContent=t.text;else{for(const s in t.attributes){const o=t.attributes[s];null===o?e.removeAttribute(s):e.setAttribute(s,o)}for(let s=0;sk(e,t,s);return this.emitter.listenTo(this.observable,"change:"+this.attribute,o),()=>{this.emitter.stopListening(this.observable,"change:"+this.attribute,o)}}}class g extends p{activateDomEventListener(e,t,s){const o=(e,s)=>{t&&!s.target.matches(t)||("function"==typeof this.eventNameOrFunction?this.eventNameOrFunction(s):this.observable.fire(this.eventNameOrFunction,s))};return this.emitter.listenTo(s.node,e,o),()=>{this.emitter.stopListening(s.node,e,o)}}}class m extends p{getValue(e){return!A(super.getValue(e))&&(this.valueIfTrue||!0)}}function f(e){return!!e&&(e.value&&(e=e.value),Array.isArray(e)?e.some(f):e instanceof p)}function k(e,t,{node:s}){let o=function(e,t){return e.map((e=>e instanceof p?e.getValue(t):e))}(e,s);o=1==e.length&&e[0]instanceof m?o[0]:o.reduce(P,""),A(o)?t.remove():t.set(o)}function _(e){return{set(t){e.textContent=t},remove(){e.textContent=""}}}function b(e,t,s){return{set(o){e.setAttributeNS(s,t,o)},remove(){e.removeAttributeNS(s,t)}}}function w(e,t){return{set(s){e.style[t]=s},remove(){e.style[t]=null}}}function v(e){return(0,d.Z)(e,(e=>{if(e&&(e instanceof p||C(e)||T(e)||E(e)))return e}))}function y(e){if("string"==typeof e?e=function(e){return{text:[e]}}(e):e.text&&function(e){e.text=(0,h.Z)(e.text)}(e),e.on&&(e.eventListeners=function(e){for(const t in e)Z(e,t);return e}(e.on),delete e.on),!e.text){e.attributes&&function(e){for(const t in e)e[t].value&&(e[t].value=(0,h.Z)(e[t].value)),Z(e,t)}(e.attributes);const t=[];if(e.children)if(E(e.children))t.push(e.children);else for(const s of e.children)C(s)||T(s)||(0,c.Z)(s)?t.push(s):t.push(new u(s));e.children=t}return e}function Z(e,t){e[t]=(0,h.Z)(e[t])}function P(e,t){return A(t)?e:A(e)?t:`${e} ${t}`}function j(e,t){for(const s in t)e[s]?e[s].push(...t[s]):e[s]=t[s]}function x(e,t){if(t.attributes&&(e.attributes||(e.attributes={}),j(e.attributes,t.attributes)),t.eventListeners&&(e.eventListeners||(e.eventListeners={}),j(e.eventListeners,t.eventListeners)),t.text&&e.text.push(...t.text),t.children&&t.children.length){if(e.children.length!=t.children.length)throw new o.ZP("ui-template-extend-children-mismatch",e);let s=0;for(const o of t.children)x(e.children[s++],o)}}function A(e){return!e&&0!==e}function T(e){return e instanceof n.Z}function C(e){return e instanceof u}function E(e){return e instanceof a.Z}function S(e){return"class"==e||"style"==e}},"./packages/ckeditor5-ui/src/toolbar/normalizetoolbarconfig.js":(e,t,s)=>{"use strict";function o(e){return Array.isArray(e)?{items:e,removeItems:[]}:e?Object.assign({items:[],removeItems:[]},e):{items:[],removeItems:[]}}s.d(t,{Z:()=>o})},"./packages/ckeditor5-ui/src/toolbar/toolbarseparatorview.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});var o=s("./packages/ckeditor5-ui/src/view.js");class i extends o.Z{constructor(e){super(e),this.setTemplate({tag:"span",attributes:{class:["ck","ck-toolbar__separator"]}})}}},"./packages/ckeditor5-ui/src/toolbar/toolbarview.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>y});var o=s("./packages/ckeditor5-ui/src/view.js"),i=s("./packages/ckeditor5-utils/src/focustracker.js"),r=s("./packages/ckeditor5-ui/src/focuscycler.js"),n=s("./packages/ckeditor5-utils/src/keystrokehandler.js"),a=s("./packages/ckeditor5-ui/src/toolbar/toolbarseparatorview.js");class c extends o.Z{constructor(e){super(e),this.setTemplate({tag:"span",attributes:{class:["ck","ck-toolbar__line-break"]}})}}var l=s("./packages/ckeditor5-utils/src/dom/resizeobserver.js");function d(e){return e.bindTemplate.to((t=>{t.target===e.element&&t.preventDefault()}))}var h=s("./packages/ckeditor5-utils/src/dom/rect.js"),u=s("./packages/ckeditor5-utils/src/dom/isvisible.js"),p=s("./packages/ckeditor5-utils/src/dom/global.js"),g=s("./packages/ckeditor5-ui/src/dropdown/utils.js"),m=s("./packages/ckeditor5-utils/src/ckeditorerror.js"),f=s("./packages/ckeditor5-ui/src/toolbar/normalizetoolbarconfig.js"),k=s("./packages/ckeditor5-core/theme/icons/three-vertical-dots.svg"),_=s("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),b=s.n(_),w=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/toolbar/toolbar.css"),v={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};b()(w.Z,v);w.Z.locals;class y extends o.Z{constructor(e,t){super(e);const s=this.bindTemplate,o=this.t;this.options=t||{},this.set("ariaLabel",o("Editor toolbar")),this.set("maxWidth","auto"),this.items=this.createCollection(),this.focusTracker=new i.Z,this.keystrokes=new n.Z,this.set("class"),this.set("isCompact",!1),this.itemsView=new Z(e),this.children=this.createCollection(),this.children.add(this.itemsView),this.focusables=this.createCollection();const a="rtl"===e.uiLanguageDirection;this._focusCycler=new r.Z({focusables:this.focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:[a?"arrowright":"arrowleft","arrowup"],focusNext:[a?"arrowleft":"arrowright","arrowdown"]}});const c=["ck","ck-toolbar",s.to("class"),s.if("isCompact","ck-toolbar_compact")];this.options.shouldGroupWhenFull&&this.options.isFloating&&c.push("ck-toolbar_floating"),this.setTemplate({tag:"div",attributes:{class:c,role:"toolbar","aria-label":s.to("ariaLabel"),style:{maxWidth:s.to("maxWidth")}},children:this.children,on:{mousedown:d(this)}}),this._behavior=this.options.shouldGroupWhenFull?new j(this):new P(this)}render(){super.render();for(const e of this.items)this.focusTracker.add(e.element);this.items.on("add",((e,t)=>{this.focusTracker.add(t.element)})),this.items.on("remove",((e,t)=>{this.focusTracker.remove(t.element)})),this.keystrokes.listenTo(this.element),this._behavior.render(this)}destroy(){return this._behavior.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy(),super.destroy()}focus(){this._focusCycler.focusFirst()}focusLast(){this._focusCycler.focusLast()}fillFromConfig(e,t){const s=(0,f.Z)(e),o=s.items.filter(((e,o,i)=>"|"===e||-1===s.removeItems.indexOf(e)&&("-"===e?!this.options.shouldGroupWhenFull||((0,m.KE)("toolbarview-line-break-ignored-when-grouping-items",i),!1):!!t.has(e)||((0,m.KE)("toolbarview-item-unavailable",{name:e}),!1)))),i=this._cleanSeparators(o).map((e=>"|"===e?new a.Z:"-"===e?new c:t.create(e)));this.items.addMany(i)}_cleanSeparators(e){const t=e=>"-"!==e&&"|"!==e,s=e.length,o=e.findIndex(t),i=s-e.slice().reverse().findIndex(t);return e.slice(o,i).filter(((e,s,o)=>{if(t(e))return!0;return!(s>0&&o[s-1]===e)}))}}class Z extends o.Z{constructor(e){super(e),this.children=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-toolbar__items"]},children:this.children})}}class P{constructor(e){const t=e.bindTemplate;e.set("isVertical",!1),e.itemsView.children.bindTo(e.items).using((e=>e)),e.focusables.bindTo(e.items).using((e=>e)),e.extendTemplate({attributes:{class:[t.if("isVertical","ck-toolbar_vertical")]}})}render(){}destroy(){}}class j{constructor(e){this.view=e,this.viewChildren=e.children,this.viewFocusables=e.focusables,this.viewItemsView=e.itemsView,this.viewFocusTracker=e.focusTracker,this.viewLocale=e.locale,this.ungroupedItems=e.createCollection(),this.groupedItems=e.createCollection(),this.groupedItemsDropdown=this._createGroupedItemsDropdown(),this.resizeObserver=null,this.cachedPadding=null,this.shouldUpdateGroupingOnNextResize=!1,e.itemsView.children.bindTo(this.ungroupedItems).using((e=>e)),this.ungroupedItems.on("add",this._updateFocusCycleableItems.bind(this)),this.ungroupedItems.on("remove",this._updateFocusCycleableItems.bind(this)),e.children.on("add",this._updateFocusCycleableItems.bind(this)),e.children.on("remove",this._updateFocusCycleableItems.bind(this)),e.items.on("change",((e,t)=>{const s=t.index;for(const e of t.removed)s>=this.ungroupedItems.length?this.groupedItems.remove(e):this.ungroupedItems.remove(e);for(let e=s;ethis.ungroupedItems.length?this.groupedItems.add(o,e-this.ungroupedItems.length):this.ungroupedItems.add(o,e)}this._updateGrouping()})),e.extendTemplate({attributes:{class:["ck-toolbar_grouping"]}})}render(e){this.viewElement=e.element,this._enableGroupingOnResize(),this._enableGroupingOnMaxWidthChange(e)}destroy(){this.groupedItemsDropdown.destroy(),this.resizeObserver.destroy()}_updateGrouping(){if(!this.viewElement.ownerDocument.body.contains(this.viewElement))return;if(!(0,u.Z)(this.viewElement))return void(this.shouldUpdateGroupingOnNextResize=!0);const e=this.groupedItems.length;let t;for(;this._areItemsOverflowing;)this._groupLastItem(),t=!0;if(!t&&this.groupedItems.length){for(;this.groupedItems.length&&!this._areItemsOverflowing;)this._ungroupFirstItem();this._areItemsOverflowing&&this._groupLastItem()}this.groupedItems.length!==e&&this.view.fire("groupedItemsUpdate")}get _areItemsOverflowing(){if(!this.ungroupedItems.length)return!1;const e=this.viewElement,t=this.viewLocale.uiLanguageDirection,s=new h.Z(e.lastChild),o=new h.Z(e);if(!this.cachedPadding){const s=p.Z.window.getComputedStyle(e),o="ltr"===t?"paddingRight":"paddingLeft";this.cachedPadding=Number.parseInt(s[o])}return"ltr"===t?s.right>o.right-this.cachedPadding:s.left{e&&e===t.contentRect.width&&!this.shouldUpdateGroupingOnNextResize||(this.shouldUpdateGroupingOnNextResize=!1,this._updateGrouping(),e=t.contentRect.width)})),this._updateGrouping()}_enableGroupingOnMaxWidthChange(e){e.on("change:maxWidth",(()=>{this._updateGrouping()}))}_groupLastItem(){this.groupedItems.length||(this.viewChildren.add(new a.Z),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)),this.groupedItems.length||(this.viewChildren.remove(this.groupedItemsDropdown),this.viewChildren.remove(this.viewChildren.last),this.viewFocusTracker.remove(this.groupedItemsDropdown.element))}_createGroupedItemsDropdown(){const e=this.viewLocale,t=e.t,s=(0,g.t9)(e);return s.class="ck-toolbar__grouped-dropdown",s.panelPosition="ltr"===e.uiLanguageDirection?"sw":"se",(0,g.up)(s,[]),s.buttonView.set({label:t("Show more items"),tooltip:!0,tooltipPosition:"rtl"===e.uiLanguageDirection?"se":"sw",icon:k.Z}),s.toolbarView.items.bindTo(this.groupedItems).using((e=>e)),s}_updateFocusCycleableItems(){this.viewFocusables.clear(),this.ungroupedItems.map((e=>{this.viewFocusables.add(e)})),this.groupedItems.length&&this.viewFocusables.add(this.groupedItemsDropdown)}}},"./packages/ckeditor5-ui/src/tooltip/tooltipview.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>c});var o=s("./packages/ckeditor5-ui/src/view.js"),i=s("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),r=s.n(i),n=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/tooltip/tooltip.css"),a={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};r()(n.Z,a);n.Z.locals;class c extends o.Z{constructor(e){super(e),this.set("text",""),this.set("position","s");const t=this.bindTemplate;this.setTemplate({tag:"span",attributes:{class:["ck","ck-tooltip",t.to("position",(e=>"ck-tooltip_"+e)),t.if("text","ck-hidden",(e=>!e.trim()))]},children:[{tag:"span",attributes:{class:["ck","ck-tooltip__text"]},children:[{text:t.to("text")}]}]})}}},"./packages/ckeditor5-ui/src/view.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>m});var o=s("./packages/ckeditor5-utils/src/ckeditorerror.js"),i=s("./packages/ckeditor5-ui/src/viewcollection.js"),r=s("./packages/ckeditor5-ui/src/template.js"),n=s("./packages/ckeditor5-utils/src/dom/emittermixin.js"),a=s("./packages/ckeditor5-utils/src/observablemixin.js"),c=s("./packages/ckeditor5-utils/src/collection.js"),l=s("./packages/ckeditor5-utils/src/mix.js"),d=s("./packages/ckeditor5-utils/src/isiterable.js"),h=s("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),u=s.n(h),p=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/globals/globals.css"),g={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};u()(p.Z,g);p.Z.locals;class m{constructor(e){this.element=null,this.isRendered=!1,this.locale=e,this.t=e&&e.t,this._viewCollections=new c.Z,this._unboundChildren=this.createCollection(),this._viewCollections.on("add",((t,s)=>{s.locale=e})),this.decorate("render")}get bindTemplate(){return this._bindTemplate?this._bindTemplate:this._bindTemplate=r.ZP.bind(this,this)}createCollection(e){const t=new i.Z(e);return this._viewCollections.add(t),t}registerChild(e){(0,d.Z)(e)||(e=[e]);for(const t of e)this._unboundChildren.add(t)}deregisterChild(e){(0,d.Z)(e)||(e=[e]);for(const t of e)this._unboundChildren.remove(t)}setTemplate(e){this.template=new r.ZP(e)}extendTemplate(e){r.ZP.extend(this.template,e)}render(){if(this.isRendered)throw new o.ZP("ui-view-render-already-rendered",this);this.template&&(this.element=this.template.render(),this.registerChild(this.template.getViews())),this.isRendered=!0}destroy(){this.stopListening(),this._viewCollections.map((e=>e.destroy())),this.template&&this.template._revertData&&this.template.revert(this.element)}}(0,l.Z)(m,n.Z),(0,l.Z)(m,a.Z)},"./packages/ckeditor5-ui/src/viewcollection.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./packages/ckeditor5-utils/src/ckeditorerror.js"),i=s("./packages/ckeditor5-utils/src/collection.js");class r extends i.Z{constructor(e=[]){super(e,{idProperty:"viewUid"}),this.on("add",((e,t,s)=>{this._renderViewIntoCollectionParent(t,s)})),this.on("remove",((e,t)=>{t.element&&this._parentElement&&t.element.remove()})),this._parentElement=null}destroy(){this.map((e=>e.destroy()))}setParent(e){this._parentElement=e;for(const e of this)this._renderViewIntoCollectionParent(e)}delegate(...e){if(!e.length||!e.every((e=>"string"==typeof e)))throw new o.ZP("ui-viewcollection-delegate-wrong-events",this);return{to:t=>{for(const s of this)for(const o of e)s.delegate(o).to(t);this.on("add",((s,o)=>{for(const s of e)o.delegate(s).to(t)})),this.on("remove",((s,o)=>{for(const s of e)o.stopDelegating(s,t)}))}}}_renderViewIntoCollectionParent(e,t){e.isRendered||e.render(),e.element&&this._parentElement&&this._parentElement.insertBefore(e.element,this._parentElement.children[t])}}},"./packages/ckeditor5-utils/src/ckeditorerror.js":(e,t,s)=>{"use strict";s.d(t,{H:()=>r,KE:()=>i,ZP:()=>o});class o extends Error{constructor(e,t,s){super(function(e,t){const s=new WeakSet,o=(e,t)=>{if("object"==typeof t&&null!==t){if(s.has(t))return`[object ${t.constructor.name}]`;s.add(t)}return t},i=t?` ${JSON.stringify(t,o)}`:"",r=n(e);return e+i+r}(e,s)),this.name="CKEditorError",this.context=t,this.data=s}is(e){return"CKEditorError"===e}static rethrowUnexpectedError(e,t){if(e.is&&e.is("CKEditorError"))throw e;const s=new o(e.message,t);throw s.stack=e.stack,s}}function i(e,t){console.warn(...a(e,t))}function r(e,t){console.error(...a(e,t))}function n(e){return`\nRead more: https://ckeditor.com/docs/ckeditor5/latest/support/error-codes.html#error-${e}`}function a(e,t){const s=n(e);return t?[e,t,s]:[e,s]}},"./packages/ckeditor5-utils/src/collection.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>c});var o=s("./packages/ckeditor5-utils/src/emittermixin.js"),i=s("./packages/ckeditor5-utils/src/ckeditorerror.js"),r=s("./packages/ckeditor5-utils/src/uid.js"),n=s("./packages/ckeditor5-utils/src/isiterable.js"),a=s("./packages/ckeditor5-utils/src/mix.js");class c{constructor(e={},t={}){const s=(0,n.Z)(e);if(s||(t=e),this._items=[],this._itemMap=new Map,this._idProperty=t.idProperty||"id",this._bindToExternalToInternalMap=new WeakMap,this._bindToInternalToExternalMap=new WeakMap,this._skippedIndexesFromExternal=[],s)for(const t of e)this._items.push(t),this._itemMap.set(this._getItemIdBeforeAdding(t),t)}get length(){return this._items.length}get first(){return this._items[0]||null}get last(){return this._items[this.length-1]||null}add(e,t){return this.addMany([e],t)}addMany(e,t){if(void 0===t)t=this._items.length;else if(t>this._items.length||t<0)throw new i.ZP("collection-add-item-invalid-index",this);for(let s=0;s{this._setUpBindToBinding((t=>new e(t)))},using:e=>{"function"==typeof e?this._setUpBindToBinding((t=>e(t))):this._setUpBindToBinding((t=>t[e]))}}}_setUpBindToBinding(e){const t=this._bindToCollection,s=(s,o,i)=>{const r=t._bindToCollection==this,n=t._bindToInternalToExternalMap.get(o);if(r&&n)this._bindToExternalToInternalMap.set(o,n),this._bindToInternalToExternalMap.set(n,o);else{const s=e(o);if(!s)return void this._skippedIndexesFromExternal.push(i);let r=i;for(const e of this._skippedIndexesFromExternal)i>e&&r--;for(const e of t._skippedIndexesFromExternal)r>=e&&r++;this._bindToExternalToInternalMap.set(o,s),this._bindToInternalToExternalMap.set(s,o),this.add(s,r);for(let e=0;e{const o=this._bindToExternalToInternalMap.get(t);o&&this.remove(o),this._skippedIndexesFromExternal=this._skippedIndexesFromExternal.reduce(((e,t)=>(st&&e.push(t),e)),[])}))}_getItemIdBeforeAdding(e){const t=this._idProperty;let s;if(t in e){if(s=e[t],"string"!=typeof s)throw new i.ZP("collection-add-invalid-id",this);if(this.get(s))throw new i.ZP("collection-add-item-already-exists",this)}else e[t]=s=(0,r.Z)();return s}_remove(e){let t,s,o,r=!1;const n=this._idProperty;if("string"==typeof e?(s=e,o=this._itemMap.get(s),r=!o,o&&(t=this._items.indexOf(o))):"number"==typeof e?(t=e,o=this._items[t],r=!o,o&&(s=o[n])):(o=e,s=o[n],t=this._items.indexOf(o),r=-1==t||!this._itemMap.get(s)),r)throw new i.ZP("collection-remove-404",this);this._items.splice(t,1),this._itemMap.delete(s);const a=this._bindToInternalToExternalMap.get(o);return this._bindToInternalToExternalMap.delete(o),this._bindToExternalToInternalMap.delete(a),this.fire("remove",o,t),[o,t]}[Symbol.iterator](){return this._items[Symbol.iterator]()}}(0,a.Z)(c,o.ZP)},"./packages/ckeditor5-utils/src/comparearrays.js":(e,t,s)=>{"use strict";function o(e,t){const s=Math.min(e.length,t.length);for(let o=0;oo})},"./packages/ckeditor5-utils/src/count.js":(e,t,s)=>{"use strict";function o(e){let t=0;for(const s of e)t++;return t}s.d(t,{Z:()=>o})},"./packages/ckeditor5-utils/src/diff.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});var o=s("./packages/ckeditor5-utils/src/fastdiff.js");function i(e,t,s){s=s||function(e,t){return e===t};const o=e.length,r=t.length;if(o>200||r>200||o+r>300)return i.fastDiff(e,t,s,!0);let n,a;if(rr?-1:1;h[o+d]&&(h[o]=h[o+d].slice(0)),h[o]||(h[o]=[]),h[o].push(i>r?n:a);let p=Math.max(i,r),g=p-o;for(;gd;g--)u[g]=p(g);u[d]=p(d),m++}while(u[d]!==l);return h[d].slice(1)}i.fastDiff=o.Z},"./packages/ckeditor5-utils/src/dom/createelement.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>c});var o=s("./packages/ckeditor5-utils/src/isiterable.js"),i=s("./node_modules/lodash-es/_baseGetTag.js"),r=s("./node_modules/lodash-es/isArray.js"),n=s("./node_modules/lodash-es/isObjectLike.js");const a=function(e){return"string"==typeof e||!(0,r.Z)(e)&&(0,n.Z)(e)&&"[object String]"==(0,i.Z)(e)};function c(e,t,s={},i=[]){const r=s&&s.xmlns,n=r?e.createElementNS(r,t):e.createElement(t);for(const e in s)n.setAttribute(e,s[e]);!a(i)&&(0,o.Z)(i)||(i=[i]);for(let t of i)a(t)&&(t=e.createTextNode(t)),n.appendChild(t);return n}},"./packages/ckeditor5-utils/src/dom/emittermixin.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>c});var o=s("./packages/ckeditor5-utils/src/emittermixin.js"),i=s("./packages/ckeditor5-utils/src/uid.js"),r=s("./packages/ckeditor5-utils/src/dom/isnode.js"),n=s("./packages/ckeditor5-utils/src/dom/iswindow.js"),a=s("./node_modules/lodash-es/assignIn.js");const c=(0,a.Z)({},o.ZP,{listenTo(e,t,s,i={}){if((0,r.Z)(e)||(0,n.Z)(e)){const o={capture:!!i.useCapture,passive:!!i.usePassive},r=this._getProxyEmitter(e,o)||new l(e,o);this.listenTo(r,t,s,i)}else o.ZP.listenTo.call(this,e,t,s,i)},stopListening(e,t,s){if((0,r.Z)(e)||(0,n.Z)(e)){const o=this._getAllProxyEmitters(e);for(const e of o)this.stopListening(e,t,s)}else o.ZP.stopListening.call(this,e,t,s)},_getProxyEmitter(e,t){return(0,o.Rl)(this,d(e,t))},_getAllProxyEmitters(e){return[{capture:!1,passive:!1},{capture:!1,passive:!0},{capture:!0,passive:!1},{capture:!0,passive:!0}].map((t=>this._getProxyEmitter(e,t))).filter((e=>!!e))}});class l{constructor(e,t){(0,o.Hv)(this,d(e,t)),this._domNode=e,this._options=t}}function d(e,t){let s=function(e){return e["data-ck-expando"]||(e["data-ck-expando"]=(0,i.Z)())}(e);for(const e of Object.keys(t).sort())t[e]&&(s+="-"+e);return s}(0,a.Z)(l.prototype,o.ZP,{attach(e){if(this._domListeners&&this._domListeners[e])return;const t=this._createDomListener(e);this._domNode.addEventListener(e,t,this._options),this._domListeners||(this._domListeners={}),this._domListeners[e]=t},detach(e){let t;!this._domListeners[e]||(t=this._events[e])&&t.callbacks.length||this._domListeners[e].removeListener()},_addEventListener(e,t,s){this.attach(e),o.ZP._addEventListener.call(this,e,t,s)},_removeEventListener(e,t){o.ZP._removeEventListener.call(this,e,t),this.detach(e)},_createDomListener(e){const t=t=>{this.fire(e,t)};return t.removeListener=()=>{this._domNode.removeEventListener(e,t,this._options),delete this._domListeners[e]},t}})},"./packages/ckeditor5-utils/src/dom/getborderwidths.js":(e,t,s)=>{"use strict";function o(e){const t=e.ownerDocument.defaultView.getComputedStyle(e);return{top:parseInt(t.borderTopWidth,10),right:parseInt(t.borderRightWidth,10),bottom:parseInt(t.borderBottomWidth,10),left:parseInt(t.borderLeftWidth,10)}}s.d(t,{Z:()=>o})},"./packages/ckeditor5-utils/src/dom/global.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>o});const o={window,document}},"./packages/ckeditor5-utils/src/dom/iscomment.js":(e,t,s)=>{"use strict";function o(e){return e&&e.nodeType===Node.COMMENT_NODE}s.d(t,{Z:()=>o})},"./packages/ckeditor5-utils/src/dom/isnode.js":(e,t,s)=>{"use strict";function o(e){if(e){if(e.defaultView)return e instanceof e.defaultView.Document;if(e.ownerDocument&&e.ownerDocument.defaultView)return e instanceof e.ownerDocument.defaultView.Node}return!1}s.d(t,{Z:()=>o})},"./packages/ckeditor5-utils/src/dom/isrange.js":(e,t,s)=>{"use strict";function o(e){return"[object Range]"==Object.prototype.toString.apply(e)}s.d(t,{Z:()=>o})},"./packages/ckeditor5-utils/src/dom/istext.js":(e,t,s)=>{"use strict";function o(e){return"[object Text]"==Object.prototype.toString.call(e)}s.d(t,{Z:()=>o})},"./packages/ckeditor5-utils/src/dom/isvisible.js":(e,t,s)=>{"use strict";function o(e){return!!(e&&e.getClientRects&&e.getClientRects().length)}s.d(t,{Z:()=>o})},"./packages/ckeditor5-utils/src/dom/iswindow.js":(e,t,s)=>{"use strict";function o(e){const t=Object.prototype.toString.apply(e);return"[object Window]"==t||"[object global]"==t}s.d(t,{Z:()=>o})},"./packages/ckeditor5-utils/src/dom/position.js":(e,t,s)=>{"use strict";s.d(t,{x:()=>a});var o=s("./packages/ckeditor5-utils/src/dom/global.js"),i=s("./packages/ckeditor5-utils/src/dom/rect.js");var r=s("./packages/ckeditor5-utils/src/dom/getborderwidths.js"),n=s("./node_modules/lodash-es/isFunction.js");function a({element:e,target:t,positions:s,limiter:r,fitInViewport:a,viewportOffsetConfig:c}){(0,n.Z)(t)&&(t=t()),(0,n.Z)(r)&&(r=r());const d=function(e){return e&&e.parentNode?e.offsetParent===o.Z.document.body?null:e.offsetParent:null}(e),h=new i.Z(e);let u;const p={targetRect:new i.Z(t),elementRect:h,positionedElementAncestor:d};if(r||a){const e=r&&new i.Z(r).getVisible(),t=a&&function(e){e=Object.assign({top:0,bottom:0,left:0,right:0},e);const t=new i.Z(o.Z.window);return t.top+=e.top,t.height-=e.top,t.bottom-=e.bottom,t.height-=e.bottom,t}(c);Object.assign(p,{limiterRect:e,viewportRect:t}),u=function(e,t){const{elementRect:s}=t,o=s.getArea(),i=e.map((e=>new l(e,t))).filter((e=>!!e.name));let r=0,n=null;for(const e of i){const{_limiterIntersectionArea:t,_viewportIntersectionArea:s}=e;if(t===o)return e;const i=s**2+t**2;i>r&&(r=i,n=e)}return n}(s,p)||new l(s[0],p)}else u=new l(s[0],p);return u}function c(e){const{scrollX:t,scrollY:s}=o.Z.window;return e.clone().moveBy(t,s)}class l{constructor(e,t){const s=e(t.targetRect,t.elementRect,t.viewportRect);if(!s)return;const{left:o,top:i,name:r,config:n}=s;Object.assign(this,{name:r,config:n}),this._positioningFunctionCorrdinates={left:o,top:i},this._options=t}get left(){return this._absoluteRect.left}get top(){return this._absoluteRect.top}get _limiterIntersectionArea(){const e=this._options.limiterRect;if(e){const t=this._options.viewportRect;if(!t)return e.getIntersectionArea(this._rect);{const s=e.getIntersection(t);if(s)return s.getIntersectionArea(this._rect)}}return 0}get _viewportIntersectionArea(){const e=this._options.viewportRect;return e?e.getIntersectionArea(this._rect):0}get _rect(){return this._cachedRect||(this._cachedRect=this._options.elementRect.clone().moveTo(this._positioningFunctionCorrdinates.left,this._positioningFunctionCorrdinates.top)),this._cachedRect}get _absoluteRect(){return this._cachedAbsoluteRect||(this._cachedAbsoluteRect=c(this._rect),this._options.positionedElementAncestor&&function(e,t){const s=c(new i.Z(t)),o=(0,r.Z)(t);let n=0,a=0;n-=s.left,a-=s.top,n+=t.scrollLeft,a+=t.scrollTop,n-=o.left,a-=o.top,e.moveBy(n,a)}(this._cachedAbsoluteRect,this._options.positionedElementAncestor)),this._cachedAbsoluteRect}}},"./packages/ckeditor5-utils/src/dom/rect.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>l});var o=s("./packages/ckeditor5-utils/src/dom/isrange.js"),i=s("./packages/ckeditor5-utils/src/dom/iswindow.js"),r=s("./packages/ckeditor5-utils/src/dom/getborderwidths.js"),n=s("./packages/ckeditor5-utils/src/dom/istext.js"),a=s("./node_modules/lodash-es/isElement.js");const c=["top","right","bottom","left","width","height"];class l{constructor(e){const t=(0,o.Z)(e);if(Object.defineProperty(this,"_source",{value:e._source||e,writable:!0,enumerable:!1}),(0,a.Z)(e)||t)if(t){const t=l.getDomRangeRects(e);d(this,l.getBoundingRect(t))}else d(this,e.getBoundingClientRect());else if((0,i.Z)(e)){const{innerWidth:t,innerHeight:s}=e;d(this,{top:0,right:t,bottom:s,left:0,width:t,height:s})}else d(this,e)}clone(){return new l(this)}moveTo(e,t){return this.top=t,this.right=e+this.width,this.bottom=t+this.height,this.left=e,this}moveBy(e,t){return this.top+=t,this.right+=e,this.left+=e,this.bottom+=t,this}getIntersection(e){const t={top:Math.max(this.top,e.top),right:Math.min(this.right,e.right),bottom:Math.min(this.bottom,e.bottom),left:Math.max(this.left,e.left)};return t.width=t.right-t.left,t.height=t.bottom-t.top,t.width<0||t.height<0?null:new l(t)}getIntersectionArea(e){const t=this.getIntersection(e);return t?t.getArea():0}getArea(){return this.width*this.height}getVisible(){const e=this._source;let t=this.clone();if(!h(e)){let s=e.parentNode||e.commonAncestorContainer;for(;s&&!h(s);){const e=new l(s),o=t.getIntersection(e);if(!o)return null;o.getArea(){"use strict";s.d(t,{Z:()=>a});var o=s("./packages/ckeditor5-utils/src/mix.js"),i=s("./packages/ckeditor5-utils/src/dom/global.js"),r=s("./packages/ckeditor5-utils/src/dom/rect.js"),n=s("./packages/ckeditor5-utils/src/dom/emittermixin.js");class a{constructor(e,t){a._observerInstance||a._createObserver(),this._element=e,this._callback=t,a._addElementCallback(e,t),a._observerInstance.observe(e)}destroy(){a._deleteElementCallback(this._element,this._callback)}static _addElementCallback(e,t){a._elementCallbacks||(a._elementCallbacks=new Map);let s=a._elementCallbacks.get(e);s||(s=new Set,a._elementCallbacks.set(e,s)),s.add(t)}static _deleteElementCallback(e,t){const s=a._getElementCallbacks(e);s&&(s.delete(t),s.size||(a._elementCallbacks.delete(e),a._observerInstance.unobserve(e))),a._elementCallbacks&&!a._elementCallbacks.size&&(a._observerInstance=null,a._elementCallbacks=null)}static _getElementCallbacks(e){return a._elementCallbacks?a._elementCallbacks.get(e):null}static _createObserver(){let e;e="function"==typeof i.Z.window.ResizeObserver?i.Z.window.ResizeObserver:c,a._observerInstance=new e((e=>{for(const t of e){const e=a._getElementCallbacks(t.target);if(e)for(const s of e)s(t)}}))}}a._observerInstance=null,a._elementCallbacks=null;class c{constructor(e){this._callback=e,this._elements=new Set,this._previousRects=new Map,this._periodicCheckTimeout=null}observe(e){this._elements.add(e),this._checkElementRectsAndExecuteCallback(),1===this._elements.size&&this._startPeriodicCheck()}unobserve(e){this._elements.delete(e),this._previousRects.delete(e),this._elements.size||this._stopPeriodicCheck()}_startPeriodicCheck(){const e=()=>{this._checkElementRectsAndExecuteCallback(),this._periodicCheckTimeout=setTimeout(e,100)};this.listenTo(i.Z.window,"resize",(()=>{this._checkElementRectsAndExecuteCallback()})),this._periodicCheckTimeout=setTimeout(e,100)}_stopPeriodicCheck(){clearTimeout(this._periodicCheckTimeout),this.stopListening(),this._previousRects.clear()}_checkElementRectsAndExecuteCallback(){const e=[];for(const t of this._elements)this._hasRectChanged(t)&&e.push({target:t,contentRect:this._previousRects.get(t)});e.length&&this._callback(e)}_hasRectChanged(e){if(!e.ownerDocument.body.contains(e))return!1;const t=new r.Z(e),s=this._previousRects.get(e),o=!s||!s.isEqual(t);return this._previousRects.set(e,t),o}}(0,o.Z)(c,n.Z)},"./packages/ckeditor5-utils/src/dom/scroll.js":(e,t,s)=>{"use strict";s.d(t,{F:()=>a,m:()=>n});var o=s("./packages/ckeditor5-utils/src/dom/isrange.js"),i=s("./packages/ckeditor5-utils/src/dom/rect.js"),r=s("./packages/ckeditor5-utils/src/dom/istext.js");function n({target:e,viewportOffset:t=0}){const s=g(e);let o=s,i=null;for(;o;){let r;r=m(o==s?e:i),l(r,(()=>f(e,o)));const n=f(e,o);if(c(o,n,t),o.parent!=o){if(i=o.frameElement,o=o.parent,!i)return}else o=null}}function a(e){l(m(e),(()=>new i.Z(e)))}function c(e,t,s){const o=t.clone().moveBy(0,s),r=t.clone().moveBy(0,-s),n=new i.Z(e).excludeScrollbarsAndBorders();if(![r,o].every((e=>n.contains(e)))){let{scrollX:i,scrollY:a}=e;h(r,n)?a-=n.top-t.top+s:d(o,n)&&(a+=t.bottom-n.bottom+s),u(t,n)?i-=n.left-t.left+s:p(t,n)&&(i+=t.right-n.right+s),e.scrollTo(i,a)}}function l(e,t){const s=g(e);let o,r;for(;e!=s.document.body;)r=t(),o=new i.Z(e).excludeScrollbarsAndBorders(),o.contains(r)||(h(r,o)?e.scrollTop-=o.top-r.top:d(r,o)&&(e.scrollTop+=r.bottom-o.bottom),u(r,o)?e.scrollLeft-=o.left-r.left:p(r,o)&&(e.scrollLeft+=r.right-o.right)),e=e.parentNode}function d(e,t){return e.bottom>t.bottom}function h(e,t){return e.topt.right}function g(e){return(0,o.Z)(e)?e.startContainer.ownerDocument.defaultView:e.ownerDocument.defaultView}function m(e){if((0,o.Z)(e)){let t=e.commonAncestorContainer;return(0,r.Z)(t)&&(t=t.parentNode),t}return e.parentNode}function f(e,t){const s=g(e),o=new i.Z(e);if(s===t)return o;{let e=s;for(;e!=t;){const t=e.frameElement,s=new i.Z(t).excludeScrollbarsAndBorders();o.moveBy(s.left,s.top),e=e.parent}}return o}Object.assign({},{scrollViewportToShowTarget:n,scrollAncestorsToShowTarget:a})},"./packages/ckeditor5-utils/src/dom/setdatainelement.js":(e,t,s)=>{"use strict";function o(e,t){e instanceof HTMLTextAreaElement&&(e.value=t),e.innerHTML=t}s.d(t,{Z:()=>o})},"./packages/ckeditor5-utils/src/dom/tounit.js":(e,t,s)=>{"use strict";function o(e){return t=>t+e}s.d(t,{Z:()=>o})},"./packages/ckeditor5-utils/src/emittermixin.js":(e,t,s)=>{"use strict";s.d(t,{Hv:()=>u,Rl:()=>h,ZP:()=>d});var o=s("./packages/ckeditor5-utils/src/eventinfo.js"),i=s("./packages/ckeditor5-utils/src/uid.js"),r=s("./packages/ckeditor5-utils/src/priorities.js"),n=s("./packages/ckeditor5-utils/src/inserttopriorityarray.js"),a=(s("./packages/ckeditor5-utils/src/version.js"),s("./packages/ckeditor5-utils/src/ckeditorerror.js"));const c=Symbol("listeningTo"),l=Symbol("emitterId"),d={on(e,t,s={}){this.listenTo(this,e,t,s)},once(e,t,s){let o=!1;this.listenTo(this,e,(function(e,...s){o||(o=!0,e.off(),t.call(this,e,...s))}),s)},off(e,t){this.stopListening(this,e,t)},listenTo(e,t,s,o={}){let i,r;this[c]||(this[c]={});const n=this[c];p(e)||u(e);const a=p(e);(i=n[a])||(i=n[a]={emitter:e,callbacks:{}}),(r=i.callbacks[t])||(r=i.callbacks[t]=[]),r.push(s),function(e,t,s,o,i){t._addEventListener?t._addEventListener(s,o,i):e._addEventListener.call(t,s,o,i)}(this,e,t,s,o)},stopListening(e,t,s){const o=this[c];let i=e&&p(e);const r=o&&i&&o[i],n=r&&t&&r.callbacks[t];if(!(!o||e&&!r||t&&!n))if(s){_(this,e,t,s);-1!==n.indexOf(s)&&(1===n.length?delete r.callbacks[t]:_(this,e,t,s))}else if(n){for(;s=n.pop();)_(this,e,t,s);delete r.callbacks[t]}else if(r){for(t in r.callbacks)this.stopListening(e,t);delete o[i]}else{for(i in o)this.stopListening(o[i].emitter);delete this[c]}},fire(e,...t){try{const s=e instanceof o.Z?e:new o.Z(this,e),i=s.name;let r=f(this,i);if(s.path.push(this),r){const e=[s,...t];r=Array.from(r);for(let t=0;t{this._delegations||(this._delegations=new Map),e.forEach((e=>{const o=this._delegations.get(e);o?o.set(t,s):this._delegations.set(e,new Map([[t,s]]))}))}}},stopDelegating(e,t){if(this._delegations)if(e)if(t){const s=this._delegations.get(e);s&&s.delete(t)}else this._delegations.delete(e);else this._delegations.clear()},_addEventListener(e,t,s){!function(e,t){const s=g(e);if(s[t])return;let o=t,i=null;const r=[];for(;""!==o&&!s[o];)s[o]={callbacks:[],childEvents:[]},r.push(s[o]),i&&s[o].childEvents.push(i),i=o,o=o.substr(0,o.lastIndexOf(":"));if(""!==o){for(const e of r)e.callbacks=s[o].callbacks.slice();s[o].childEvents.push(i)}}(this,e);const o=m(this,e),i={callback:t,priority:r.Z.get(s.priority)};for(const e of o)(0,n.Z)(e,i)},_removeEventListener(e,t){const s=m(this,e);for(const e of s)for(let s=0;s-1?f(e,t.substr(0,t.lastIndexOf(":"))):null}function k(e,t,s){for(let[i,r]of e){r?"function"==typeof r&&(r=r(t.name)):r=t.name;const e=new o.Z(t.source,r);e.path=[...t.path],i.fire(e,...s)}}function _(e,t,s,o){t._removeEventListener?t._removeEventListener(s,o):e._removeEventListener.call(t,s,o)}},"./packages/ckeditor5-utils/src/env.js":(e,t,s)=>{"use strict";s.d(t,{ZP:()=>r});const o=navigator.userAgent.toLowerCase(),i={isMac:n(o),isWindows:function(e){return e.indexOf("windows")>-1}(o),isGecko:function(e){return!!e.match(/gecko\/\d+/)}(o),isSafari:function(e){return e.indexOf(" applewebkit/")>-1&&-1===e.indexOf("chrome")}(o),isiOS:function(e){return!!e.match(/iphone|ipad/i)||n(e)&&navigator.maxTouchPoints>0}(o),isAndroid:function(e){return e.indexOf("android")>-1}(o),isBlink:function(e){return e.indexOf("chrome/")>-1&&e.indexOf("edge/")<0}(o),features:{isRegExpUnicodePropertySupported:function(){let e=!1;try{e=0==="ć".search(new RegExp("[\\p{L}]","u"))}catch(e){}return e}()}},r=i;function n(e){return e.indexOf("macintosh")>-1}},"./packages/ckeditor5-utils/src/eventinfo.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});const o=function(){return function e(){e.called=!0}};class i{constructor(e,t){this.source=e,this.name=t,this.path=[],this.stop=o(),this.off=o()}}},"./packages/ckeditor5-utils/src/fastdiff.js":(e,t,s)=>{"use strict";function o(e,t,s,o=!1){s=s||function(e,t){return e===t},Array.isArray(e)||(e=Array.prototype.slice.call(e)),Array.isArray(t)||(t=Array.prototype.slice.call(t));const n=function(e,t,s){const o=i(e,t,s);if(-1===o)return{firstIndex:-1,lastIndexOld:-1,lastIndexNew:-1};const n=r(e,o),a=r(t,o),c=i(n,a,s),l=e.length-c,d=t.length-c;return{firstIndex:o,lastIndexOld:l,lastIndexNew:d}}(e,t,s);return o?function(e,t){const{firstIndex:s,lastIndexOld:o,lastIndexNew:i}=e;if(-1===s)return Array(t).fill("equal");let r=[];s>0&&(r=r.concat(Array(s).fill("equal")));i-s>0&&(r=r.concat(Array(i-s).fill("insert")));o-s>0&&(r=r.concat(Array(o-s).fill("delete")));i0&&s.push({index:o,type:"insert",values:e.slice(o,r)});i-o>0&&s.push({index:o+(r-o),type:"delete",howMany:i-o});return s}(t,n)}function i(e,t,s){for(let o=0;oo})},"./packages/ckeditor5-utils/src/first.js":(e,t,s)=>{"use strict";function o(e){const t=e.next();return t.done?null:t.value}s.d(t,{Z:()=>o})},"./packages/ckeditor5-utils/src/focustracker.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});var o=s("./packages/ckeditor5-utils/src/dom/emittermixin.js"),i=s("./packages/ckeditor5-utils/src/observablemixin.js"),r=s("./packages/ckeditor5-utils/src/ckeditorerror.js"),n=s("./packages/ckeditor5-utils/src/mix.js");class a{constructor(){this.set("isFocused",!1),this.set("focusedElement",null),this._elements=new Set,this._nextEventLoopTimeout=null}add(e){if(this._elements.has(e))throw new r.ZP("focustracker-add-element-already-exist",this);this.listenTo(e,"focus",(()=>this._focus(e)),{useCapture:!0}),this.listenTo(e,"blur",(()=>this._blur()),{useCapture:!0}),this._elements.add(e)}remove(e){e===this.focusedElement&&this._blur(e),this._elements.has(e)&&(this.stopListening(e),this._elements.delete(e))}destroy(){this.stopListening()}_focus(e){clearTimeout(this._nextEventLoopTimeout),this.focusedElement=e,this.isFocused=!0}_blur(){clearTimeout(this._nextEventLoopTimeout),this._nextEventLoopTimeout=setTimeout((()=>{this.focusedElement=null,this.isFocused=!1}),0)}}(0,n.Z)(a,o.Z),(0,n.Z)(a,i.Z)},"./packages/ckeditor5-utils/src/index.js":(e,t,s)=>{"use strict";s.d(t,{Bb:()=>c.ZP,FE:()=>Z.Z,Xu:()=>h.Z,a6:()=>l,ln:()=>n.ZP,Rh:()=>j.Z,VD:()=>x.Z,go:()=>y.Z,Re:()=>a.Z,UL:()=>g.Z,do:()=>m.Z,az:()=>d.Z,Hg:()=>i.Z,OB:()=>o.ZP,Ps:()=>P.Z,Cq:()=>w.Cq,yy:()=>p,XU:()=>w.XU,j9:()=>v.j,mA:()=>w.mA,CO:()=>u.Z,dj:()=>w.dj,Zt:()=>w.Zt,pn:()=>_.Z,Do:()=>w.Do,H:()=>c.H,KE:()=>c.KE,CD:()=>r.Z,Zz:()=>w.Zz,tA:()=>C.Z,F0:()=>b.F,mR:()=>b.m,jS:()=>f.Z,qo:()=>A.Z,qL:()=>T.Z,nn:()=>k.Z,hQ:()=>E.Z,i8:()=>S.Z});var o=s("./packages/ckeditor5-utils/src/env.js"),i=s("./packages/ckeditor5-utils/src/diff.js"),r=s("./packages/ckeditor5-utils/src/mix.js"),n=s("./packages/ckeditor5-utils/src/emittermixin.js"),a=s("./packages/ckeditor5-utils/src/observablemixin.js"),c=s("./packages/ckeditor5-utils/src/ckeditorerror.js");class l{constructor(){this._replacedElements=[]}replace(e,t){this._replacedElements.push({element:e,newElement:t}),e.style.display="none",t&&e.parentNode.insertBefore(t,e.nextSibling)}restore(){this._replacedElements.forEach((({element:e,newElement:t})=>{e.style.display="",t&&t.remove()})),this._replacedElements=[]}}var d=s("./packages/ckeditor5-utils/src/dom/createelement.js"),h=s("./packages/ckeditor5-utils/src/dom/emittermixin.js"),u=s("./packages/ckeditor5-utils/src/dom/global.js");function p(e){return e instanceof HTMLTextAreaElement?e.value:e.innerHTML}var g=s("./packages/ckeditor5-utils/src/dom/rect.js"),m=s("./packages/ckeditor5-utils/src/dom/resizeobserver.js"),f=s("./packages/ckeditor5-utils/src/dom/setdatainelement.js"),k=s("./packages/ckeditor5-utils/src/dom/tounit.js"),_=s("./packages/ckeditor5-utils/src/dom/isvisible.js"),b=s("./packages/ckeditor5-utils/src/dom/scroll.js"),w=s("./packages/ckeditor5-utils/src/keyboard.js"),v=s("./packages/ckeditor5-utils/src/language.js"),y=s("./packages/ckeditor5-utils/src/locale.js"),Z=s("./packages/ckeditor5-utils/src/collection.js"),P=s("./packages/ckeditor5-utils/src/first.js"),j=s("./packages/ckeditor5-utils/src/focustracker.js"),x=s("./packages/ckeditor5-utils/src/keystrokehandler.js"),A=s("./packages/ckeditor5-utils/src/toarray.js"),T=s("./packages/ckeditor5-utils/src/tomap.js"),C=s("./packages/ckeditor5-utils/src/priorities.js"),E=s("./packages/ckeditor5-utils/src/uid.js"),S=s("./packages/ckeditor5-utils/src/version.js")},"./packages/ckeditor5-utils/src/inserttopriorityarray.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});var o=s("./packages/ckeditor5-utils/src/priorities.js");function i(e,t){const s=o.Z.get(t.priority);for(let i=0;i{"use strict";function o(e){return!(!e||!e[Symbol.iterator])}s.d(t,{Z:()=>o})},"./packages/ckeditor5-utils/src/keyboard.js":(e,t,s)=>{"use strict";s.d(t,{Cq:()=>l,Do:()=>a,XU:()=>h,Zt:()=>g,Zz:()=>d,dj:()=>u,mA:()=>p});var o=s("./packages/ckeditor5-utils/src/ckeditorerror.js"),i=s("./packages/ckeditor5-utils/src/env.js");const r={ctrl:"⌃",cmd:"⌘",alt:"⌥",shift:"⇧"},n={ctrl:"Ctrl+",alt:"Alt+",shift:"Shift+"},a=function(){const e={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 t=65;t<=90;t++){const s=String.fromCharCode(t);e[s.toLowerCase()]=t}for(let t=48;t<=57;t++)e[t-48]=t;for(let t=112;t<=123;t++)e["f"+(t-111)]=t;for(const t of"`-=[];',./\\")e[t]=t.charCodeAt(0);return e}(),c=Object.fromEntries(Object.entries(a).map((([e,t])=>[t,e.charAt(0).toUpperCase()+e.slice(1)])));function l(e){let t;if("string"==typeof e){if(t=a[e.toLowerCase()],!t)throw new o.ZP("keyboard-unknown-key",null,{key:e})}else t=e.keyCode+(e.altKey?a.alt:0)+(e.ctrlKey?a.ctrl:0)+(e.shiftKey?a.shift:0)+(e.metaKey?a.cmd:0);return t}function d(e){return"string"==typeof e&&(e=function(e){return e.split("+").map((e=>e.trim()))}(e)),e.map((e=>"string"==typeof e?function(e){if(e.endsWith("!"))return l(e.slice(0,-1));const t=l(e);return i.ZP.isMac&&t==a.ctrl?a.cmd:t}(e):e)).reduce(((e,t)=>t+e),0)}function h(e){let t=d(e);return Object.entries(i.ZP.isMac?r:n).reduce(((e,[s,o])=>(0!=(t&a[s])&&(t&=~a[s],e+=o),e)),"")+(t?c[t]:"")}function u(e){return e==a.arrowright||e==a.arrowleft||e==a.arrowup||e==a.arrowdown}function p(e,t){const s="ltr"===t;switch(e){case a.arrowleft:return s?"left":"right";case a.arrowright:return s?"right":"left";case a.arrowup:return"up";case a.arrowdown:return"down"}}function g(e,t){const s=p(e,t);return"down"===s||"right"===s}},"./packages/ckeditor5-utils/src/keystrokehandler.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./packages/ckeditor5-utils/src/dom/emittermixin.js"),i=s("./packages/ckeditor5-utils/src/keyboard.js");class r{constructor(){this._listener=Object.create(o.Z)}listenTo(e){this._listener.listenTo(e,"keydown",((e,t)=>{this._listener.fire("_keydown:"+(0,i.Cq)(t),t)}))}set(e,t,s={}){const o=(0,i.Zz)(e),r=s.priority;this._listener.listenTo(this._listener,"_keydown:"+o,((e,s)=>{t(s,(()=>{s.preventDefault(),s.stopPropagation(),e.stop()})),e.return=!0}),{priority:r})}press(e){return!!this._listener.fire("_keydown:"+(0,i.Cq)(e),e)}destroy(){this._listener.stopListening()}}},"./packages/ckeditor5-utils/src/language.js":(e,t,s)=>{"use strict";s.d(t,{j:()=>i});const o=["ar","ara","fa","per","fas","he","heb","ku","kur","ug","uig"];function i(e){return o.includes(e)?"rtl":"ltr"}},"./packages/ckeditor5-utils/src/locale.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});var o=s("./packages/ckeditor5-utils/src/toarray.js"),i=s("./packages/ckeditor5-utils/src/ckeditorerror.js");function r(e,t,s=1){if("number"!=typeof s)throw new i.ZP("translation-service-quantity-not-a-number",null,{quantity:s});const o=Object.keys(window.CKEDITOR_TRANSLATIONS).length;1===o&&(e=Object.keys(window.CKEDITOR_TRANSLATIONS)[0]);const r=t.id||t.string;if(0===o||!function(e,t){return!!window.CKEDITOR_TRANSLATIONS[e]&&!!window.CKEDITOR_TRANSLATIONS[e].dictionary[t]}(e,r))return 1!==s?t.plural:t.string;const n=window.CKEDITOR_TRANSLATIONS[e].dictionary,a=window.CKEDITOR_TRANSLATIONS[e].getPluralForm||(e=>1===e?0:1);if("string"==typeof n[r])return n[r];const c=Number(a(s));return n[r][c]}window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={});var n=s("./packages/ckeditor5-utils/src/language.js");class a{constructor(e={}){this.uiLanguage=e.uiLanguage||"en",this.contentLanguage=e.contentLanguage||this.uiLanguage,this.uiLanguageDirection=(0,n.j)(this.uiLanguage),this.contentLanguageDirection=(0,n.j)(this.contentLanguage),this.t=(e,t)=>this._t(e,t)}get language(){return 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."),this.uiLanguage}_t(e,t=[]){t=(0,o.Z)(t),"string"==typeof e&&(e={string:e});const s=!!e.plural?t[0]:1;return function(e,t){return e.replace(/%(\d+)/g,((e,s)=>s{"use strict";function o(e,...t){t.forEach((t=>{Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t)).forEach((s=>{if(s in e.prototype)return;const o=Object.getOwnPropertyDescriptor(t,s);o.enumerable=!1,Object.defineProperty(e.prototype,s,o)}))}))}s.d(t,{Z:()=>o})},"./packages/ckeditor5-utils/src/observablemixin.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>p});var o=s("./packages/ckeditor5-utils/src/emittermixin.js"),i=s("./packages/ckeditor5-utils/src/ckeditorerror.js"),r=s("./node_modules/lodash-es/isObject.js"),n=s("./node_modules/lodash-es/assignIn.js");const a=Symbol("observableProperties"),c=Symbol("boundObservables"),l=Symbol("boundProperties"),d=Symbol("decoratedMethods"),h=Symbol("decoratedOriginal"),u={set(e,t){if((0,r.Z)(e))return void Object.keys(e).forEach((t=>{this.set(t,e[t])}),this);g(this);const s=this[a];if(e in this&&!s.has(e))throw new i.ZP("observable-set-cannot-override",this);Object.defineProperty(this,e,{enumerable:!0,configurable:!0,get:()=>s.get(e),set(t){const o=s.get(e);let i=this.fire("set:"+e,e,t,o);void 0===i&&(i=t),o===i&&s.has(e)||(s.set(e,i),this.fire("change:"+e,e,i,o))}}),this[e]=t},bind(...e){if(!e.length||!k(e))throw new i.ZP("observable-bind-wrong-properties",this);if(new Set(e).size!==e.length)throw new i.ZP("observable-bind-duplicate-properties",this);g(this);const t=this[l];e.forEach((e=>{if(t.has(e))throw new i.ZP("observable-bind-rebind",this)}));const s=new Map;return e.forEach((e=>{const o={property:e,to:[]};t.set(e,o),s.set(e,o)})),{to:m,toMany:f,_observable:this,_bindProperties:e,_to:[],_bindings:s}},unbind(...e){if(!this[a])return;const t=this[l],s=this[c];if(e.length){if(!k(e))throw new i.ZP("observable-unbind-wrong-properties",this);e.forEach((e=>{const o=t.get(e);if(!o)return;let i,r,n,a;o.to.forEach((e=>{i=e[0],r=e[1],n=s.get(i),a=n[r],a.delete(o),a.size||delete n[r],Object.keys(n).length||(s.delete(i),this.stopListening(i,"change"))})),t.delete(e)}))}else s.forEach(((e,t)=>{this.stopListening(t,"change")})),s.clear(),t.clear()},decorate(e){const t=this[e];if(!t)throw new i.ZP("observablemixin-cannot-decorate-undefined",this,{object:this,methodName:e});this.on(e,((e,s)=>{e.return=t.apply(this,s)})),this[e]=function(...t){return this.fire(e,t)},this[e][h]=t,this[d]||(this[d]=[]),this[d].push(e)}};(0,n.Z)(u,o.ZP),u.stopListening=function(e,t,s){if(!e&&this[d]){for(const e of this[d])this[e]=this[e][h];delete this[d]}o.ZP.stopListening.call(this,e,t,s)};const p=u;function g(e){e[a]||(Object.defineProperty(e,a,{value:new Map}),Object.defineProperty(e,c,{value:new Map}),Object.defineProperty(e,l,{value:new Map}))}function m(...e){const t=function(...e){if(!e.length)throw new i.ZP("observable-bind-to-parse-error",null);const t={to:[]};let s;"function"==typeof e[e.length-1]&&(t.callback=e.pop());return e.forEach((e=>{if("string"==typeof e)s.properties.push(e);else{if("object"!=typeof e)throw new i.ZP("observable-bind-to-parse-error",null);s={observable:e,properties:[]},t.to.push(s)}})),t}(...e),s=Array.from(this._bindings.keys()),o=s.length;if(!t.callback&&t.to.length>1)throw new i.ZP("observable-bind-to-no-callback",this);if(o>1&&t.callback)throw new i.ZP("observable-bind-to-extra-callback",this);var r;t.to.forEach((e=>{if(e.properties.length&&e.properties.length!==o)throw new i.ZP("observable-bind-to-properties-length",this);e.properties.length||(e.properties=this._bindProperties)})),this._to=t.to,t.callback&&(this._bindings.get(s[0]).callback=t.callback),r=this._observable,this._to.forEach((e=>{const t=r[c];let s;t.get(e.observable)||r.listenTo(e.observable,"change",((o,i)=>{s=t.get(e.observable)[i],s&&s.forEach((e=>{_(r,e.property)}))}))})),function(e){let t;e._bindings.forEach(((s,o)=>{e._to.forEach((i=>{t=i.properties[s.callback?0:e._bindProperties.indexOf(o)],s.to.push([i.observable,t]),function(e,t,s,o){const i=e[c],r=i.get(s),n=r||{};n[o]||(n[o]=new Set);n[o].add(t),r||i.set(s,n)}(e._observable,s,i.observable,t)}))}))}(this),this._bindProperties.forEach((e=>{_(this._observable,e)}))}function f(e,t,s){if(this._bindings.size>1)throw new i.ZP("observable-bind-to-many-not-one-binding",this);this.to(...function(e,t){const s=e.map((e=>[e,t]));return Array.prototype.concat.apply([],s)}(e,t),s)}function k(e){return e.every((e=>"string"==typeof e))}function _(e,t){const s=e[l].get(t);let o;s.callback?o=s.callback.apply(e,s.to.map((e=>e[0][e[1]]))):(o=s.to[0],o=o[0][o[1]]),Object.prototype.hasOwnProperty.call(e,t)?e[t]=o:e.set(t,o)}},"./packages/ckeditor5-utils/src/priorities.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>o});const o={get(e){return"number"!=typeof e?this[e]||this.normal:e},highest:1e5,high:1e3,normal:0,low:-1e3,lowest:-1e5}},"./packages/ckeditor5-utils/src/toarray.js":(e,t,s)=>{"use strict";function o(e){return Array.isArray(e)?e:[e]}s.d(t,{Z:()=>o})},"./packages/ckeditor5-utils/src/tomap.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});var o=s("./packages/ckeditor5-utils/src/isiterable.js");function i(e){return(0,o.Z)(e)?new Map(e):function(e){const t=new Map;for(const s in e)t.set(s,e[s]);return t}(e)}},"./packages/ckeditor5-utils/src/uid.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});const o=new Array(256).fill().map(((e,t)=>("0"+t.toString(16)).slice(-2)));function i(){const e=4294967296*Math.random()>>>0,t=4294967296*Math.random()>>>0,s=4294967296*Math.random()>>>0,i=4294967296*Math.random()>>>0;return"e"+o[e>>0&255]+o[e>>8&255]+o[e>>16&255]+o[e>>24&255]+o[t>>0&255]+o[t>>8&255]+o[t>>16&255]+o[t>>24&255]+o[s>>0&255]+o[s>>8&255]+o[s>>16&255]+o[s>>24&255]+o[i>>0&255]+o[i>>8&255]+o[i>>16&255]+o[i>>24&255]}},"./packages/ckeditor5-utils/src/version.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./packages/ckeditor5-utils/src/ckeditorerror.js");const i="34.1.0",r=i,n="object"==typeof window?window:s.g;if(n.CKEDITOR_VERSION)throw new o.ZP("ckeditor-duplicated-modules",null);n.CKEDITOR_VERSION=i},"./packages/ckeditor5-widget/src/utils.js":(e,t,s)=>{"use strict";s.d(t,{s4:()=>m,Uo:()=>f,KT:()=>j,id:()=>Z,Qd:()=>k,em:()=>v,l6:()=>y,XC:()=>_,sC:()=>P,$n:()=>x});var o=s("./packages/ckeditor5-utils/src/ckeditorerror.js"),i=s("./packages/ckeditor5-utils/src/toarray.js"),r=s("./packages/ckeditor5-engine/src/model/utils/findoptimalinsertionrange.js"),n=s("./packages/ckeditor5-utils/src/emittermixin.js"),a=s("./packages/ckeditor5-utils/src/mix.js");class c{constructor(){this._stack=[]}add(e,t){const s=this._stack,o=s[0];this._insertDescriptor(e);const i=s[0];o===i||l(o,i)||this.fire("change:top",{oldDescriptor:o,newDescriptor:i,writer:t})}remove(e,t){const s=this._stack,o=s[0];this._removeDescriptor(e);const i=s[0];o===i||l(o,i)||this.fire("change:top",{oldDescriptor:o,newDescriptor:i,writer:t})}_insertDescriptor(e){const t=this._stack,s=t.findIndex((t=>t.id===e.id));if(l(e,t[s]))return;s>-1&&t.splice(s,1);let o=0;for(;t[o]&&d(t[o],e);)o++;t.splice(o,0,e)}_removeDescriptor(e){const t=this._stack,s=t.findIndex((t=>t.id===e));s>-1&&t.splice(s,1)}}function l(e,t){return e&&t&&e.priority==t.priority&&h(e.classes)==h(t.classes)}function d(e,t){return e.priority>t.priority||!(e.priorityh(t.classes)}function h(e){return Array.isArray(e)?e.sort().join(","):e}(0,a.Z)(c,n.ZP);var u=s("./packages/ckeditor5-widget/src/widgettypearound/utils.js"),p=s("./packages/ckeditor5-ui/src/icon/iconview.js");const g='',m="ck-widget",f="ck-widget_selected";function k(e){return!!e.is("element")&&!!e.getCustomProperty("widget")}function _(e,t,s={}){if(!e.is("containerElement"))throw new o.ZP("widget-to-widget-wrong-element-type",null,{element:e});return t.setAttribute("contenteditable","false",e),t.addClass(m,e),t.setCustomProperty("widget",!0,e),e.getFillerOffset=A,s.label&&y(e,s.label,t),s.hasSelectionHandle&&function(e,t){const s=t.createUIElement("div",{class:"ck ck-widget__selection-handle"},(function(e){const t=this.toDomElement(e),s=new p.Z;return s.set("content",g),s.render(),t.appendChild(s.element),t}));t.insert(t.createPositionAt(e,0),s),t.addClass(["ck-widget_with-selection-handle"],e)}(e,t),v(e,t),e}function b(e,t,s){if(t.classes&&s.addClass((0,i.Z)(t.classes),e),t.attributes)for(const o in t.attributes)s.setAttribute(o,t.attributes[o],e)}function w(e,t,s){if(t.classes&&s.removeClass((0,i.Z)(t.classes),e),t.attributes)for(const o in t.attributes)s.removeAttribute(o,e)}function v(e,t,s=b,o=w){const i=new c;i.on("change:top",((t,i)=>{i.oldDescriptor&&o(e,i.oldDescriptor,i.writer),i.newDescriptor&&s(e,i.newDescriptor,i.writer)})),t.setCustomProperty("addHighlight",((e,t,s)=>i.add(t,s)),e),t.setCustomProperty("removeHighlight",((e,t,s)=>i.remove(t,s)),e)}function y(e,t,s){s.setCustomProperty("widgetLabel",t,e)}function Z(e){const t=e.getCustomProperty("widgetLabel");return t?"function"==typeof t?t():t:""}function P(e,t){return t.addClass(["ck-editor__editable","ck-editor__nested-editable"],e),t.setAttribute("contenteditable",e.isReadOnly?"false":"true",e),e.on("change:isReadOnly",((s,o,i)=>{t.setAttribute("contenteditable",i?"false":"true",e)})),e.on("change:isFocused",((s,o,i)=>{i?t.addClass("ck-editor__nested-editable_focused",e):t.removeClass("ck-editor__nested-editable_focused",e)})),v(e,t),e}function j(e,t){const s=e.getSelectedElement();if(s){const o=(0,u.tB)(e);if(o)return t.createRange(t.createPositionAt(s,o))}return(0,r.K)(e,t)}function x(e,t){return(s,o)=>{const{mapper:i,viewPosition:r}=o,n=i.findMappedViewAncestor(r);if(!t(n))return;const a=i.toModelElement(n);o.modelPosition=e.createPositionAt(a,r.isAtStart?"before":"after")}}function A(){return null}},"./packages/ckeditor5-widget/src/widget.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>_});var o=s("./packages/ckeditor5-core/src/plugin.js"),i=s("./packages/ckeditor5-engine/src/view/observer/mouseobserver.js"),r=s("./packages/ckeditor5-widget/src/widgettypearound/widgettypearound.js"),n=s("./packages/ckeditor5-typing/src/delete.js"),a=s("./packages/ckeditor5-utils/src/env.js"),c=s("./packages/ckeditor5-utils/src/keyboard.js"),l=s("./packages/ckeditor5-utils/src/dom/rect.js");function d(e){const t=e.model;return(s,o)=>{const i=o.keyCode==c.Do.arrowup,r=o.keyCode==c.Do.arrowdown,n=o.shiftKey,a=t.document.selection;if(!i&&!r)return;const d=r;if(n&&function(e,t){return!e.isCollapsed&&e.isBackward==t}(a,d))return;const p=function(e,t,s){const o=e.model;if(s){const e=t.isCollapsed?t.focus:t.getLastPosition(),s=h(o,e,"forward");if(!s)return null;const i=o.createRange(e,s),r=u(o.schema,i,"backward");return r?o.createRange(e,r):null}{const e=t.isCollapsed?t.focus:t.getFirstPosition(),s=h(o,e,"backward");if(!s)return null;const i=o.createRange(s,e),r=u(o.schema,i,"forward");return r?o.createRange(r,e):null}}(e,a,d);if(p){if(p.isCollapsed){if(a.isCollapsed)return;if(n)return}(p.isCollapsed||function(e,t,s){const o=e.model,i=e.view.domConverter;if(s){const e=o.createSelection(t.start);o.modifySelection(e),e.focus.isAtEnd||t.start.isEqual(e.focus)||(t=o.createRange(e.focus,t.end))}const r=e.mapper.toViewRange(t),n=i.viewRangeToDom(r),a=l.Z.getDomRangeRects(n);let c;for(const e of a)if(void 0!==c){if(Math.round(e.top)>=c)return!1;c=Math.max(c,Math.round(e.bottom))}else c=Math.round(e.bottom);return!0}(e,p,d))&&(t.change((e=>{const s=d?p.end:p.start;if(n){const o=t.createSelection(a.anchor);o.setFocus(s),e.setSelection(o)}else e.setSelection(s)})),s.stop(),o.preventDefault(),o.stopPropagation())}}}function h(e,t,s){const o=e.schema,i=e.createRangeIn(t.root),r="forward"==s?"elementStart":"elementEnd";for(const{previousPosition:e,item:n,type:a}of i.getWalker({startPosition:t,direction:s})){if(o.isLimit(n)&&!o.isInline(n))return e;if(a==r&&o.isBlock(n))return null}return null}function u(e,t,s){const o="backward"==s?t.end:t.start;if(e.checkChild(o,"$text"))return o;for(const{nextPosition:o}of t.getWalker({direction:s}))if(e.checkChild(o,"$text"))return o;return null}var p=s("./packages/ckeditor5-widget/src/utils.js"),g=s("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),m=s.n(g),f=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-widget/theme/widget.css"),k={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};m()(f.Z,k);f.Z.locals;class _ extends o.Z{static get pluginName(){return"Widget"}static get requires(){return[r.Z,n.Z]}init(){const e=this.editor,t=e.editing.view,s=t.document;this._previouslySelected=new Set,this.editor.editing.downcastDispatcher.on("selection",((t,s,o)=>{const i=o.writer,r=s.selection;if(r.isCollapsed)return;const n=r.getSelectedElement();if(!n)return;const a=e.editing.mapper.toViewElement(n);(0,p.Qd)(a)&&o.consumable.consume(r,"selection")&&i.setSelection(i.createRangeOn(a),{fake:!0,label:(0,p.id)(a)})})),this.editor.editing.downcastDispatcher.on("selection",((e,t,s)=>{this._clearPreviouslySelectedWidgets(s.writer);const o=s.writer,i=o.document.selection;let r=null;for(const e of i.getRanges())for(const t of e){const e=t.item;(0,p.Qd)(e)&&!b(e,r)&&(o.addClass(p.Uo,e),this._previouslySelected.add(e),r=e)}}),{priority:"low"}),t.addObserver(i.Z),this.listenTo(s,"mousedown",((...e)=>this._onMousedown(...e))),this.listenTo(s,"arrowKey",((...e)=>{this._handleSelectionChangeOnArrowKeyPress(...e)}),{context:[p.Qd,"$text"]}),this.listenTo(s,"arrowKey",((...e)=>{this._preventDefaultOnArrowKeyPress(...e)}),{context:"$root"}),this.listenTo(s,"arrowKey",d(this.editor.editing),{context:"$text"}),this.listenTo(s,"delete",((e,t)=>{this._handleDelete("forward"==t.direction)&&(t.preventDefault(),e.stop())}),{context:"$root"})}_onMousedown(e,t){const s=this.editor,o=s.editing.view,i=o.document;let r=t.target;if(function(e){for(;e;){if(e.is("editableElement")&&!e.is("rootElement"))return!0;if((0,p.Qd)(e))return!1;e=e.parent}return!1}(r)){if((a.ZP.isSafari||a.ZP.isGecko)&&t.domEvent.detail>=3){const e=s.editing.mapper,o=r.is("attributeElement")?r.findAncestor((e=>!e.is("attributeElement"))):r,i=e.toModelElement(o);t.preventDefault(),this.editor.model.change((e=>{e.setSelection(i,"in")}))}return}if(!(0,p.Qd)(r)&&(r=r.findAncestor(p.Qd),!r))return;a.ZP.isAndroid&&t.preventDefault(),i.isFocused||o.focus();const n=s.editing.mapper.toModelElement(r);this._setSelectionOverElement(n)}_handleSelectionChangeOnArrowKeyPress(e,t){const s=t.keyCode,o=this.editor.model,i=o.schema,r=o.document.selection,n=r.getSelectedElement(),a=(0,c.mA)(s,this.editor.locale.contentLanguageDirection),l="down"==a||"right"==a,d="up"==a||"down"==a;if(n&&i.isObject(n)){const s=l?r.getLastPosition():r.getFirstPosition(),n=i.getNearestSelectionRange(s,l?"forward":"backward");return void(n&&(o.change((e=>{e.setSelection(n)})),t.preventDefault(),e.stop()))}if(!r.isCollapsed&&!t.shiftKey){const s=r.getFirstPosition(),n=r.getLastPosition(),a=s.nodeAfter,c=n.nodeBefore;return void((a&&i.isObject(a)||c&&i.isObject(c))&&(o.change((e=>{e.setSelection(l?n:s)})),t.preventDefault(),e.stop()))}if(!r.isCollapsed)return;const h=this._getObjectElementNextToSelection(l);if(h&&i.isObject(h)){if(i.isInline(h)&&d)return;this._setSelectionOverElement(h),t.preventDefault(),e.stop()}}_preventDefaultOnArrowKeyPress(e,t){const s=this.editor.model,o=s.schema,i=s.document.selection.getSelectedElement();i&&o.isObject(i)&&(t.preventDefault(),e.stop())}_handleDelete(e){if(this.editor.isReadOnly)return;const t=this.editor.model.document.selection;if(!t.isCollapsed)return;const s=this._getObjectElementNextToSelection(e);return s?(this.editor.model.change((e=>{let o=t.anchor.parent;for(;o.isEmpty;){const t=o;o=t.parent,e.remove(t)}this._setSelectionOverElement(s)})),!0):void 0}_setSelectionOverElement(e){this.editor.model.change((t=>{t.setSelection(t.createRangeOn(e))}))}_getObjectElementNextToSelection(e){const t=this.editor.model,s=t.schema,o=t.document.selection,i=t.createSelection(o);if(t.modifySelection(i,{direction:e?"forward":"backward"}),i.isEqual(o))return null;const r=e?i.focus.nodeBefore:i.focus.nodeAfter;return r&&s.isObject(r)?r:null}_clearPreviouslySelectedWidgets(e){for(const t of this._previouslySelected)e.removeClass(p.Uo,t);this._previouslySelected.clear()}}function b(e,t){return!!t&&Array.from(e.getAncestors()).includes(t)}},"./packages/ckeditor5-widget/src/widgettypearound/utils.js":(e,t,s)=>{"use strict";s.d(t,{Xr:()=>n,_m:()=>r,aU:()=>a,bi:()=>i,t:()=>c,tB:()=>l});var o=s("./packages/ckeditor5-widget/src/utils.js");const i="widget-type-around";function r(e,t,s){return e&&(0,o.Qd)(e)&&!s.isInline(t)}function n(e){return e.closest(".ck-widget__type-around__button")}function a(e){return e.classList.contains("ck-widget__type-around__button_before")?"before":"after"}function c(e,t){const s=e.closest(".ck-widget");return t.mapDomToView(s)}function l(e){return e.getAttribute(i)}},"./packages/ckeditor5-widget/src/widgettypearound/widgettypearound.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>_});var o=s("./packages/ckeditor5-core/src/plugin.js"),i=s("./packages/ckeditor5-ui/src/template.js"),r=s("./packages/ckeditor5-enter/src/enter.js"),n=s("./packages/ckeditor5-typing/src/delete.js"),a=s("./packages/ckeditor5-utils/src/keyboard.js"),c=s("./packages/ckeditor5-widget/src/widgettypearound/utils.js"),l=s("./packages/ckeditor5-typing/src/utils/injectunsafekeystrokeshandling.js"),d=s("./packages/ckeditor5-widget/src/utils.js");var h=s("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),u=s.n(h),p=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-widget/theme/widgettypearound.css"),g={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};u()(p.Z,g);p.Z.locals;const m=["before","after"],f=(new DOMParser).parseFromString('',"image/svg+xml").firstChild,k="ck-widget__type-around_disabled";class _ extends o.Z{static get pluginName(){return"WidgetTypeAround"}static get requires(){return[r.Z,n.Z]}constructor(e){super(e),this._currentFakeCaretModelElement=null}init(){const e=this.editor,t=e.editing.view;this.on("change:isEnabled",((s,o,i)=>{t.change((e=>{for(const s of t.document.roots)i?e.removeClass(k,s):e.addClass(k,s)})),i||e.model.change((e=>{e.removeSelectionAttribute(c.bi)}))})),this._enableTypeAroundUIInjection(),this._enableInsertingParagraphsOnButtonClick(),this._enableInsertingParagraphsOnEnterKeypress(),this._enableInsertingParagraphsOnTypingKeystroke(),this._enableTypeAroundFakeCaretActivationUsingKeyboardArrows(),this._enableDeleteIntegration(),this._enableInsertContentIntegration(),this._enableInsertObjectIntegration(),this._enableDeleteContentIntegration()}destroy(){this._currentFakeCaretModelElement=null}_insertParagraph(e,t){const s=this.editor,o=s.editing.view,i=s.model.schema.getAttributesWithProperty(e,"copyOnReplace",!0);s.execute("insertParagraph",{position:s.model.createPositionAt(e,t),attributes:i}),o.focus(),o.scrollToTheSelection()}_listenToIfEnabled(e,t,s,o){this.listenTo(e,t,((...e)=>{this.isEnabled&&s(...e)}),o)}_insertParagraphAccordingToFakeCaretPosition(){const e=this.editor.model.document.selection,t=(0,c.tB)(e);if(!t)return!1;const s=e.getSelectedElement();return this._insertParagraph(s,t),!0}_enableTypeAroundUIInjection(){const e=this.editor,t=e.model.schema,s=e.locale.t,o={before:s("Insert paragraph before block"),after:s("Insert paragraph after block")};e.editing.downcastDispatcher.on("insert",((e,s,r)=>{const n=r.mapper.toViewElement(s.item);(0,c._m)(n,s.item,t)&&function(e,t,s){const o=e.createUIElement("div",{class:"ck ck-reset_all ck-widget__type-around"},(function(e){const s=this.toDomElement(e);return function(e,t){for(const s of m){const o=new i.ZP({tag:"div",attributes:{class:["ck","ck-widget__type-around__button",`ck-widget__type-around__button_${s}`],title:t[s]},children:[e.ownerDocument.importNode(f,!0)]});e.appendChild(o.render())}}(s,t),function(e){const t=new i.ZP({tag:"div",attributes:{class:["ck","ck-widget__type-around__fake-caret"]}});e.appendChild(t.render())}(s),s}));e.insert(e.createPositionAt(s,"end"),o)}(r.writer,o,n)}),{priority:"low"})}_enableTypeAroundFakeCaretActivationUsingKeyboardArrows(){const e=this.editor,t=e.model,s=t.document.selection,o=t.schema,i=e.editing.view;function r(e){return`ck-widget_type-around_show-fake-caret_${e}`}this._listenToIfEnabled(i.document,"arrowKey",((e,t)=>{this._handleArrowKeyPress(e,t)}),{context:[d.Qd,"$text"],priority:"high"}),this._listenToIfEnabled(s,"change:range",((t,s)=>{s.directChange&&e.model.change((e=>{e.removeSelectionAttribute(c.bi)}))})),this._listenToIfEnabled(t.document,"change:data",(()=>{const t=s.getSelectedElement();if(t){const s=e.editing.mapper.toViewElement(t);if((0,c._m)(s,t,o))return}e.model.change((e=>{e.removeSelectionAttribute(c.bi)}))})),this._listenToIfEnabled(e.editing.downcastDispatcher,"selection",((e,t,s)=>{const i=s.writer;if(this._currentFakeCaretModelElement){const e=s.mapper.toViewElement(this._currentFakeCaretModelElement);e&&(i.removeClass(m.map(r),e),this._currentFakeCaretModelElement=null)}const n=t.selection.getSelectedElement();if(!n)return;const a=s.mapper.toViewElement(n);if(!(0,c._m)(a,n,o))return;const l=(0,c.tB)(t.selection);l&&(i.addClass(r(l),a),this._currentFakeCaretModelElement=n)})),this._listenToIfEnabled(e.ui.focusTracker,"change:isFocused",((t,s,o)=>{o||e.model.change((e=>{e.removeSelectionAttribute(c.bi)}))}))}_handleArrowKeyPress(e,t){const s=this.editor,o=s.model,i=o.document.selection,r=o.schema,n=s.editing.view,l=t.keyCode,d=(0,a.Zt)(l,s.locale.contentLanguageDirection),h=n.document.selection.getSelectedElement(),u=s.editing.mapper.toModelElement(h);let p;(0,c._m)(h,u,r)?p=this._handleArrowKeyPressOnSelectedWidget(d):i.isCollapsed?p=this._handleArrowKeyPressWhenSelectionNextToAWidget(d):t.shiftKey||(p=this._handleArrowKeyPressWhenNonCollapsedSelection(d)),p&&(t.preventDefault(),e.stop())}_handleArrowKeyPressOnSelectedWidget(e){const t=this.editor.model,s=t.document.selection,o=(0,c.tB)(s);return t.change((t=>{if(!o)return t.setSelectionAttribute(c.bi,e?"after":"before"),!0;if(!(o===(e?"after":"before")))return t.removeSelectionAttribute(c.bi),!0;return!1}))}_handleArrowKeyPressWhenSelectionNextToAWidget(e){const t=this.editor,s=t.model,o=s.schema,i=t.plugins.get("Widget"),r=i._getObjectElementNextToSelection(e),n=t.editing.mapper.toViewElement(r);return!!(0,c._m)(n,r,o)&&(s.change((t=>{i._setSelectionOverElement(r),t.setSelectionAttribute(c.bi,e?"before":"after")})),!0)}_handleArrowKeyPressWhenNonCollapsedSelection(e){const t=this.editor,s=t.model,o=s.schema,i=t.editing.mapper,r=s.document.selection,n=e?r.getLastPosition().nodeBefore:r.getFirstPosition().nodeAfter,a=i.toViewElement(n);return!!(0,c._m)(a,n,o)&&(s.change((t=>{t.setSelection(n,"on"),t.setSelectionAttribute(c.bi,e?"after":"before")})),!0)}_enableInsertingParagraphsOnButtonClick(){const e=this.editor,t=e.editing.view;this._listenToIfEnabled(t.document,"mousedown",((s,o)=>{const i=(0,c.Xr)(o.domTarget);if(!i)return;const r=(0,c.aU)(i),n=(0,c.t)(i,t.domConverter),a=e.editing.mapper.toModelElement(n);this._insertParagraph(a,r),o.preventDefault(),s.stop()}))}_enableInsertingParagraphsOnEnterKeypress(){const e=this.editor,t=e.model.document.selection,s=e.editing.view;this._listenToIfEnabled(s.document,"enter",((s,o)=>{if("atTarget"!=s.eventPhase)return;const i=t.getSelectedElement(),r=e.editing.mapper.toViewElement(i),n=e.model.schema;let a;this._insertParagraphAccordingToFakeCaretPosition()?a=!0:(0,c._m)(r,i,n)&&(this._insertParagraph(i,o.isSoft?"before":"after"),a=!0),a&&(o.preventDefault(),s.stop())}),{context:d.Qd})}_enableInsertingParagraphsOnTypingKeystroke(){const e=this.editor.editing.view,t=[a.Do.enter,a.Do.delete,a.Do.backspace];this._listenToIfEnabled(e.document,"keydown",((e,s)=>{t.includes(s.keyCode)||(0,l.u)(s)||this._insertParagraphAccordingToFakeCaretPosition()}),{priority:"high"})}_enableDeleteIntegration(){const e=this.editor,t=e.editing.view,s=e.model,o=s.schema;this._listenToIfEnabled(t.document,"delete",((t,i)=>{if("atTarget"!=t.eventPhase)return;const r=(0,c.tB)(s.document.selection);if(!r)return;const n=i.direction,a=s.document.selection.getSelectedElement(),l="forward"==n;if("before"===r===l)e.execute("delete",{selection:s.createSelection(a,"on")});else{const t=o.getNearestSelectionRange(s.createPositionAt(a,r),n);if(t)if(t.isCollapsed){const i=s.createSelection(t.start);if(s.modifySelection(i,{direction:n}),i.focus.isEqual(t.start)){const e=function(e,t){let s=t;for(const o of t.getAncestors({parentFirst:!0})){if(o.childCount>1||e.isLimit(o))break;s=o}return s}(o,t.start.parent);s.deleteContent(s.createSelection(e,"on"),{doNotAutoparagraph:!0})}else s.change((s=>{s.setSelection(t),e.execute(l?"deleteForward":"delete")}))}else s.change((s=>{s.setSelection(t),e.execute(l?"deleteForward":"delete")}))}i.preventDefault(),t.stop()}),{context:d.Qd})}_enableInsertContentIntegration(){const e=this.editor,t=this.editor.model,s=t.document.selection;this._listenToIfEnabled(e.model,"insertContent",((e,[o,i])=>{if(i&&!i.is("documentSelection"))return;const r=(0,c.tB)(s);return r?(e.stop(),t.change((e=>{const i=s.getSelectedElement(),n=t.createPositionAt(i,r),a=e.createSelection(n),c=t.insertContent(o,a);return e.setSelection(a),c}))):void 0}),{priority:"high"})}_enableInsertObjectIntegration(){const e=this.editor,t=this.editor.model.document.selection;this._listenToIfEnabled(e.model,"insertObject",((e,s)=>{const[,o,,i={}]=s;if(o&&!o.is("documentSelection"))return;const r=(0,c.tB)(t);r&&(i.findOptimalPosition=r,s[3]=i)}),{priority:"high"})}_enableDeleteContentIntegration(){const e=this.editor,t=this.editor.model.document.selection;this._listenToIfEnabled(e.model,"deleteContent",((e,[s])=>{if(s&&!s.is("documentSelection"))return;(0,c.tB)(t)&&e.stop()}),{priority:"high"})}}},"./src/clipboard.js":(e,t,s)=>{"use strict";s.r(t),s.d(t,{Clipboard:()=>T,ClipboardPipeline:()=>d,DragDrop:()=>y,PastePlainText:()=>A});var o=s("./packages/ckeditor5-core/src/plugin.js"),i=s("./packages/ckeditor5-utils/src/eventinfo.js"),r=s("./packages/ckeditor5-engine/src/view/observer/domeventobserver.js");class n{constructor(e){this.files=function(e){const t=Array.from(e.files||[]),s=Array.from(e.items||[]);if(t.length)return t;return s.filter((e=>"file"===e.kind)).map((e=>e.getAsFile()))}(e),this._native=e}get types(){return this._native.types}getData(e){return this._native.getData(e)}setData(e,t){this._native.setData(e,t)}set effectAllowed(e){this._native.effectAllowed=e}get effectAllowed(){return this._native.effectAllowed}set dropEffect(e){this._native.dropEffect=e}get dropEffect(){return this._native.dropEffect}get isCanceled(){return"none"==this._native.dropEffect||!!this._native.mozUserCancelled}}class a extends r.Z{constructor(e){super(e);const t=this.document;function s(e){return(s,o)=>{o.preventDefault();const r=o.dropRange?[o.dropRange]:null,n=new i.Z(t,e);t.fire(n,{dataTransfer:o.dataTransfer,method:s.name,targetRanges:r,target:o.target}),n.stop.called&&o.stopPropagation()}}this.domEventType=["paste","copy","cut","drop","dragover","dragstart","dragend","dragenter","dragleave"],this.listenTo(t,"paste",s("clipboardInput"),{priority:"low"}),this.listenTo(t,"drop",s("clipboardInput"),{priority:"low"}),this.listenTo(t,"dragover",s("dragging"),{priority:"low"})}onDomEvent(e){const t={dataTransfer:new n(e.clipboardData?e.clipboardData:e.dataTransfer)};"drop"!=e.type&&"dragover"!=e.type||(t.dropRange=function(e,t){const s=t.target.ownerDocument,o=t.clientX,i=t.clientY;let r;s.caretRangeFromPoint&&s.caretRangeFromPoint(o,i)?r=s.caretRangeFromPoint(o,i):t.rangeParent&&(r=s.createRange(),r.setStart(t.rangeParent,t.rangeOffset),r.collapse(!0));if(r)return e.domConverter.domRangeToView(r);return null}(this.view,e)),this.fire(e.type,e,t)}}const c=["figcaption","li"];function l(e){let t="";if(e.is("$text")||e.is("$textProxy"))t=e.data;else if(e.is("element","img")&&e.hasAttribute("alt"))t=e.getAttribute("alt");else if(e.is("element","br"))t="\n";else{let s=null;for(const o of e.getChildren()){const e=l(o);s&&(s.is("containerElement")||o.is("containerElement"))&&(c.includes(s.name)||c.includes(o.name)?t+="\n":t+="\n\n"),t+=e,s=o}}return t}class d extends o.Z{static get pluginName(){return"ClipboardPipeline"}init(){this.editor.editing.view.addObserver(a),this._setupPasteDrop(),this._setupCopyCut()}_setupPasteDrop(){const e=this.editor,t=e.model,s=e.editing.view,o=s.document;this.listenTo(o,"clipboardInput",(t=>{e.isReadOnly&&t.stop()}),{priority:"highest"}),this.listenTo(o,"clipboardInput",((e,t)=>{const o=t.dataTransfer;let r=t.content||"";var n;r||(o.getData("text/html")?r=function(e){return e.replace(/(\s+)<\/span>/g,((e,t)=>1==t.length?" ":t)).replace(//g,"")}(o.getData("text/html")):o.getData("text/plain")&&(((n=(n=o.getData("text/plain")).replace(//g,">").replace(/\r?\n\r?\n/g,"

").replace(/\r?\n/g,"
").replace(/^\s/," ").replace(/\s$/," ").replace(/\s\s/g,"  ")).includes("

")||n.includes("
"))&&(n=`

${n}

`),r=n),r=this.editor.data.htmlProcessor.toView(r));const a=new i.Z(this,"inputTransformation");this.fire(a,{content:r,dataTransfer:o,targetRanges:t.targetRanges,method:t.method}),a.stop.called&&e.stop(),s.scrollToTheSelection()}),{priority:"low"}),this.listenTo(this,"inputTransformation",((e,s)=>{if(s.content.isEmpty)return;const o=this.editor.data.toModel(s.content,"$clipboardHolder");0!=o.childCount&&(e.stop(),t.change((()=>{this.fire("contentInsertion",{content:o,method:s.method,dataTransfer:s.dataTransfer,targetRanges:s.targetRanges})})))}),{priority:"low"}),this.listenTo(this,"contentInsertion",((e,s)=>{s.resultRange=t.insertContent(s.content)}),{priority:"low"})}_setupCopyCut(){const e=this.editor,t=e.model.document,s=e.editing.view.document;function o(o,i){const r=i.dataTransfer;i.preventDefault();const n=e.data.toView(e.model.getSelectedContent(t.selection));s.fire("clipboardOutput",{dataTransfer:r,content:n,method:o.name})}this.listenTo(s,"copy",o,{priority:"low"}),this.listenTo(s,"cut",((t,s)=>{e.isReadOnly?s.preventDefault():o(t,s)}),{priority:"low"}),this.listenTo(s,"clipboardOutput",((s,o)=>{o.content.isEmpty||(o.dataTransfer.setData("text/html",this.editor.data.htmlProcessor.toData(o.content)),o.dataTransfer.setData("text/plain",l(o.content))),"cut"==o.method&&e.model.deleteContent(t.selection)}),{priority:"low"})}}var h=s("./packages/ckeditor5-engine/src/model/liverange.js"),u=s("./packages/ckeditor5-engine/src/view/observer/mouseobserver.js"),p=s("./packages/ckeditor5-widget/src/widget.js"),g=s("./packages/ckeditor5-utils/src/uid.js"),m=s("./packages/ckeditor5-utils/src/env.js"),f=s("./packages/ckeditor5-widget/src/utils.js"),k=s("./node_modules/lodash-es/throttle.js"),_=s("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),b=s.n(_),w=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-clipboard/theme/clipboard.css"),v={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};b()(w.Z,v);w.Z.locals;class y extends o.Z{static get pluginName(){return"DragDrop"}static get requires(){return[d,p.Z]}init(){const e=this.editor,t=e.editing.view;this._draggedRange=null,this._draggingUid="",this._draggableElement=null,this._updateDropMarkerThrottled=(0,k.Z)((e=>this._updateDropMarker(e)),40),this._removeDropMarkerDelayed=j((()=>this._removeDropMarker()),40),this._clearDraggableAttributesDelayed=j((()=>this._clearDraggableAttributes()),40),t.addObserver(a),t.addObserver(u.Z),this._setupDragging(),this._setupContentInsertionIntegration(),this._setupClipboardInputIntegration(),this._setupDropMarker(),this._setupDraggableAttributeHandling(),this.listenTo(e,"change:isReadOnly",((e,t,s)=>{s?this.forceDisabled("readOnlyMode"):this.clearForceDisabled("readOnlyMode")})),this.on("change:isEnabled",((e,t,s)=>{s||this._finalizeDragging(!1)})),m.ZP.isAndroid&&this.forceDisabled("noAndroidSupport")}destroy(){return this._draggedRange&&(this._draggedRange.detach(),this._draggedRange=null),this._updateDropMarkerThrottled.cancel(),this._removeDropMarkerDelayed.cancel(),this._clearDraggableAttributesDelayed.cancel(),super.destroy()}_setupDragging(){const e=this.editor,t=e.model,s=t.document,o=e.editing.view,i=o.document;this.listenTo(i,"dragstart",((o,r)=>{const n=s.selection;if(r.target&&r.target.is("editableElement"))return void r.preventDefault();const a=r.target?x(r.target):null;if(a){const s=e.editing.mapper.toModelElement(a);this._draggedRange=h.Z.fromRange(t.createRangeOn(s)),e.plugins.has("WidgetToolbarRepository")&&e.plugins.get("WidgetToolbarRepository").forceDisabled("dragDrop")}else if(!i.selection.isCollapsed){const e=i.selection.getSelectedElement();e&&(0,f.Qd)(e)||(this._draggedRange=h.Z.fromRange(n.getFirstRange()))}if(!this._draggedRange)return void r.preventDefault();this._draggingUid=(0,g.Z)(),r.dataTransfer.effectAllowed=this.isEnabled?"copyMove":"copy",r.dataTransfer.setData("application/ckeditor5-dragging-uid",this._draggingUid);const c=t.createSelection(this._draggedRange.toRange()),l=e.data.toView(t.getSelectedContent(c));i.fire("clipboardOutput",{dataTransfer:r.dataTransfer,content:l,method:o.name}),this.isEnabled||(this._draggedRange.detach(),this._draggedRange=null,this._draggingUid="")}),{priority:"low"}),this.listenTo(i,"dragend",((e,t)=>{this._finalizeDragging(!t.dataTransfer.isCanceled&&"move"==t.dataTransfer.dropEffect)}),{priority:"low"}),this.listenTo(i,"dragenter",(()=>{this.isEnabled&&o.focus()})),this.listenTo(i,"dragleave",(()=>{this._removeDropMarkerDelayed()})),this.listenTo(i,"dragging",((t,s)=>{if(!this.isEnabled)return void(s.dataTransfer.dropEffect="none");this._removeDropMarkerDelayed.cancel();const o=Z(e,s.targetRanges,s.target);this._draggedRange||(s.dataTransfer.dropEffect="copy"),m.ZP.isGecko||("copy"==s.dataTransfer.effectAllowed?s.dataTransfer.dropEffect="copy":["all","copyMove"].includes(s.dataTransfer.effectAllowed)&&(s.dataTransfer.dropEffect="move")),o&&this._updateDropMarkerThrottled(o)}),{priority:"low"})}_setupClipboardInputIntegration(){const e=this.editor,t=e.editing.view.document;this.listenTo(t,"clipboardInput",((t,s)=>{if("drop"!=s.method)return;const o=Z(e,s.targetRanges,s.target);if(this._removeDropMarker(),!o)return this._finalizeDragging(!1),void t.stop();this._draggedRange&&this._draggingUid!=s.dataTransfer.getData("application/ckeditor5-dragging-uid")&&(this._draggedRange.detach(),this._draggedRange=null,this._draggingUid="");if("move"==P(s.dataTransfer)&&this._draggedRange&&this._draggedRange.containsRange(o,!0))return this._finalizeDragging(!1),void t.stop();s.targetRanges=[e.editing.mapper.toViewRange(o)]}),{priority:"high"})}_setupContentInsertionIntegration(){const e=this.editor.plugins.get(d);e.on("contentInsertion",((e,t)=>{if(!this.isEnabled||"drop"!==t.method)return;const s=t.targetRanges.map((e=>this.editor.editing.mapper.toModelRange(e)));this.editor.model.change((e=>e.setSelection(s)))}),{priority:"high"}),e.on("contentInsertion",((e,t)=>{if(!this.isEnabled||"drop"!==t.method)return;const s="move"==P(t.dataTransfer),o=!t.resultRange||!t.resultRange.isCollapsed;this._finalizeDragging(o&&s)}),{priority:"lowest"})}_setupDraggableAttributeHandling(){const e=this.editor,t=e.editing.view,s=t.document;this.listenTo(s,"mousedown",((o,i)=>{if(m.ZP.isAndroid||!i)return;this._clearDraggableAttributesDelayed.cancel();let r=x(i.target);if(m.ZP.isBlink&&!e.isReadOnly&&!r&&!s.selection.isCollapsed){const e=s.selection.getSelectedElement();e&&(0,f.Qd)(e)||(r=s.selection.editableElement)}r&&(t.change((e=>{e.setAttribute("draggable","true",r)})),this._draggableElement=e.editing.mapper.toModelElement(r))})),this.listenTo(s,"mouseup",(()=>{m.ZP.isAndroid||this._clearDraggableAttributesDelayed()}))}_clearDraggableAttributes(){const e=this.editor.editing;e.view.change((t=>{this._draggableElement&&"$graveyard"!=this._draggableElement.root.rootName&&t.removeAttribute("draggable",e.mapper.toViewElement(this._draggableElement)),this._draggableElement=null}))}_setupDropMarker(){const e=this.editor;e.conversion.for("editingDowncast").markerToHighlight({model:"drop-target",view:{classes:["ck-clipboard-drop-target-range"]}}),e.conversion.for("editingDowncast").markerToElement({model:"drop-target",view:(t,{writer:s})=>{if(e.model.schema.checkChild(t.markerRange.start,"$text"))return s.createUIElement("span",{class:"ck ck-clipboard-drop-target-position"},(function(e){const t=this.toDomElement(e);return t.innerHTML="⁠⁠",t}))}})}_updateDropMarker(e){const t=this.editor,s=t.model.markers;t.model.change((t=>{s.has("drop-target")?s.get("drop-target").getRange().isEqual(e)||t.updateMarker("drop-target",{range:e}):t.addMarker("drop-target",{range:e,usingOperation:!1,affectsData:!1})}))}_removeDropMarker(){const e=this.editor.model;this._removeDropMarkerDelayed.cancel(),this._updateDropMarkerThrottled.cancel(),e.markers.has("drop-target")&&e.change((e=>{e.removeMarker("drop-target")}))}_finalizeDragging(e){const t=this.editor,s=t.model;this._removeDropMarker(),this._clearDraggableAttributes(),t.plugins.has("WidgetToolbarRepository")&&t.plugins.get("WidgetToolbarRepository").clearForceDisabled("dragDrop"),this._draggingUid="",this._draggedRange&&(e&&this.isEnabled&&s.deleteContent(s.createSelection(this._draggedRange),{doNotAutoparagraph:!0}),this._draggedRange.detach(),this._draggedRange=null)}}function Z(e,t,s){const o=e.model,i=e.editing.mapper;let r=null;const n=t?t[0].start:null;if(s.is("uiElement")&&(s=s.parent),r=function(e,t){const s=e.model,o=e.editing.mapper;if((0,f.Qd)(t))return s.createRangeOn(o.toModelElement(t));if(!t.is("editableElement")){const e=t.findAncestor((e=>(0,f.Qd)(e)||e.is("editableElement")));if((0,f.Qd)(e))return s.createRangeOn(o.toModelElement(e))}return null}(e,s),r)return r;const a=function(e,t){const s=e.editing.mapper,o=e.editing.view,i=s.toModelElement(t);if(i)return i;const r=o.createPositionBefore(t),n=s.findMappedViewAncestor(r);return s.toModelElement(n)}(e,s),c=n?i.toModelPosition(n):null;return c?(r=function(e,t,s){const o=e.model;if(!o.schema.checkChild(s,"$block"))return null;const i=o.createPositionAt(s,0),r=t.path.slice(0,i.path.length),n=o.createPositionFromPath(t.root,r).nodeAfter;if(n&&o.schema.isObject(n))return o.createRangeOn(n);return null}(e,c,a),r||(r=o.schema.getNearestSelectionRange(c,m.ZP.isGecko?"forward":"backward"),r||function(e,t){const s=e.model;for(;t;){if(s.schema.isObject(t))return s.createRangeOn(t);t=t.parent}}(e,c.parent))):function(e,t){const s=e.model,o=s.schema,i=s.createPositionAt(t,0);return o.getNearestSelectionRange(i,"forward")}(e,a)}function P(e){return m.ZP.isGecko?e.dropEffect:["all","copyMove"].includes(e.effectAllowed)?"move":"copy"}function j(e,t){let s;function o(...i){o.cancel(),s=setTimeout((()=>e(...i)),t)}return o.cancel=()=>{clearTimeout(s)},o}function x(e){if(e.is("editableElement"))return null;if(e.hasClass("ck-widget__selection-handle"))return e.findAncestor(f.Qd);if((0,f.Qd)(e))return e;const t=e.findAncestor((e=>(0,f.Qd)(e)||e.is("editableElement")));return(0,f.Qd)(t)?t:null}class A extends o.Z{static get pluginName(){return"PastePlainText"}static get requires(){return[d]}init(){const e=this.editor,t=e.model,s=e.editing.view,o=s.document,i=t.document.selection;let r=!1;s.addObserver(a),this.listenTo(o,"keydown",((e,t)=>{r=t.shiftKey})),e.plugins.get(d).on("contentInsertion",((e,s)=>{(r||function(e,t){if(e.childCount>1)return!1;const s=e.getChild(0);if(t.isObject(s))return!1;return 0==[...s.getAttributeKeys()].length}(s.content,t.schema))&&t.change((e=>{const o=Array.from(i.getAttributes()).filter((([e])=>t.schema.getAttributeProperties(e).isFormatting));i.isCollapsed||t.deleteContent(i,{doNotAutoparagraph:!0}),o.push(...i.getAttributes());const r=e.createRangeIn(s.content);for(const t of r.getItems())t.is("$textProxy")&&e.setAttributes(o,t)}))}))}}class T extends o.Z{static get pluginName(){return"Clipboard"}static get requires(){return[d,y,A]}}},"./src/core.js":(e,t,s)=>{"use strict";s.r(t),s.d(t,{Command:()=>i.Z,Context:()=>b,ContextPlugin:()=>w.Z,DataApiMixin:()=>V,Editor:()=>E,EditorUI:()=>M,ElementApiMixin:()=>D,MultiCommand:()=>n,PendingActions:()=>F.Z,Plugin:()=>o.Z,attachToForm:()=>I,icons:()=>q,secureSourceElement:()=>B});var o=s("./packages/ckeditor5-core/src/plugin.js"),i=s("./packages/ckeditor5-core/src/command.js"),r=s("./packages/ckeditor5-utils/src/inserttopriorityarray.js");class n extends i.Z{constructor(e){super(e),this._childCommandsDefinitions=[]}refresh(){}execute(...e){const t=this._getFirstEnabledCommand();return!!t&&t.execute(e)}registerChildCommand(e,t={priority:"normal"}){(0,r.Z)(this._childCommandsDefinitions,{command:e,priority:t.priority}),e.on("change:isEnabled",(()=>this._checkEnabled())),this._checkEnabled()}_checkEnabled(){this.isEnabled=!!this._getFirstEnabledCommand()}_getFirstEnabledCommand(){const e=this._childCommandsDefinitions.find((({command:e})=>e.isEnabled));return e&&e.command}}var a=s("./node_modules/lodash-es/isPlainObject.js"),c=s("./node_modules/lodash-es/cloneDeepWith.js"),l=s("./node_modules/lodash-es/isElement.js");class d{constructor(e,t){this._config={},t&&this.define(h(t)),e&&this._setObjectToTarget(this._config,e)}set(e,t){this._setToTarget(this._config,e,t)}define(e,t){this._setToTarget(this._config,e,t,!0)}get(e){return this._getFromSource(this._config,e)}*names(){for(const e of Object.keys(this._config))yield e}_setToTarget(e,t,s,o=!1){if((0,a.Z)(t))return void this._setObjectToTarget(e,t,o);const i=t.split(".");t=i.pop();for(const t of i)(0,a.Z)(e[t])||(e[t]={}),e=e[t];if((0,a.Z)(s))return(0,a.Z)(e[t])||(e[t]={}),e=e[t],void this._setObjectToTarget(e,s,o);o&&void 0!==e[t]||(e[t]=s)}_getFromSource(e,t){const s=t.split(".");t=s.pop();for(const t of s){if(!(0,a.Z)(e[t])){e=null;break}e=e[t]}return e?h(e[t]):void 0}_setObjectToTarget(e,t,s){Object.keys(t).forEach((o=>{this._setToTarget(e,o,t[o],s)}))}}function h(e){return(0,c.Z)(e,u)}function u(e){return(0,l.Z)(e)?e:void 0}var p=s("./packages/ckeditor5-utils/src/collection.js"),g=s("./packages/ckeditor5-utils/src/ckeditorerror.js"),m=s("./packages/ckeditor5-utils/src/emittermixin.js"),f=s("./packages/ckeditor5-utils/src/mix.js");class k{constructor(e,t=[],s=[]){this._context=e,this._plugins=new Map,this._availablePlugins=new Map;for(const e of t)e.pluginName&&this._availablePlugins.set(e.pluginName,e);this._contextPlugins=new Map;for(const[e,t]of s)this._contextPlugins.set(e,t),this._contextPlugins.set(t,e),e.pluginName&&this._availablePlugins.set(e.pluginName,e)}*[Symbol.iterator](){for(const e of this._plugins)"function"==typeof e[0]&&(yield e)}get(e){const t=this._plugins.get(e);if(!t){let t=e;throw"function"==typeof e&&(t=e.pluginName||e.name),new g.ZP("plugincollection-plugin-not-loaded",this._context,{plugin:t})}return t}has(e){return this._plugins.has(e)}init(e,t=[],s=[]){const o=this,i=this._context;!function e(t,s=new Set){t.forEach((t=>{a(t)&&(s.has(t)||(s.add(t),t.pluginName&&!o._availablePlugins.has(t.pluginName)&&o._availablePlugins.set(t.pluginName,t),t.requires&&e(t.requires,s)))}))}(e),h(e);const r=[...function e(t,s=new Set){return t.map((e=>a(e)?e:o._availablePlugins.get(e))).reduce(((t,o)=>s.has(o)?t:(s.add(o),o.requires&&(h(o.requires,o),e(o.requires,s).forEach((e=>t.add(e)))),t.add(o))),new Set)}(e.filter((e=>!l(e,t))))];!function(e,t){for(const s of t){if("function"!=typeof s)throw new g.ZP("plugincollection-replace-plugin-invalid-type",null,{pluginItem:s});const t=s.pluginName;if(!t)throw new g.ZP("plugincollection-replace-plugin-missing-name",null,{pluginItem:s});if(s.requires&&s.requires.length)throw new g.ZP("plugincollection-plugin-for-replacing-cannot-have-dependencies",null,{pluginName:t});const i=o._availablePlugins.get(t);if(!i)throw new g.ZP("plugincollection-plugin-for-replacing-not-exist",null,{pluginName:t});const r=e.indexOf(i);if(-1===r){if(o._contextPlugins.has(i))return;throw new g.ZP("plugincollection-plugin-for-replacing-not-loaded",null,{pluginName:t})}if(i.requires&&i.requires.length)throw new g.ZP("plugincollection-replaced-plugin-cannot-have-dependencies",null,{pluginName:t});e.splice(r,1,s),o._availablePlugins.set(t,s)}}(r,s);const n=function(e){return e.map((e=>{const t=o._contextPlugins.get(e)||new e(i);return o._add(e,t),t}))}(r);return u(n,"init").then((()=>u(n,"afterInit"))).then((()=>n));function a(e){return"function"==typeof e}function c(e){return a(e)&&e.isContextPlugin}function l(e,t){return t.some((t=>t===e||(d(e)===t||d(t)===e)))}function d(e){return a(e)?e.pluginName||e.name:e}function h(e,s=null){e.map((e=>a(e)?e:o._availablePlugins.get(e)||e)).forEach((e=>{!function(e,t){if(a(e))return;if(t)throw new g.ZP("plugincollection-soft-required",i,{missingPlugin:e,requiredBy:d(t)});throw new g.ZP("plugincollection-plugin-not-found",i,{plugin:e})}(e,s),function(e,t){if(!c(t))return;if(c(e))return;throw new g.ZP("plugincollection-context-required",i,{plugin:d(e),requiredBy:d(t)})}(e,s),function(e,s){if(!s)return;if(!l(e,t))return;throw new g.ZP("plugincollection-required",i,{plugin:d(e),requiredBy:d(s)})}(e,s)}))}function u(e,t){return e.reduce(((e,s)=>s[t]?o._contextPlugins.has(s)?e:e.then(s[t].bind(s)):e),Promise.resolve())}}destroy(){const e=[];for(const[,t]of this)"function"!=typeof t.destroy||this._contextPlugins.has(t)||e.push(t.destroy());return Promise.all(e)}_add(e,t){this._plugins.set(e,t);const s=e.pluginName;if(s){if(this._plugins.has(s))throw new g.ZP("plugincollection-plugin-name-conflict",null,{pluginName:s,plugin1:this._plugins.get(s).constructor,plugin2:e});this._plugins.set(s,t)}}}(0,f.Z)(k,m.ZP);var _=s("./packages/ckeditor5-utils/src/locale.js");class b{constructor(e){this.config=new d(e,this.constructor.defaultConfig);const t=this.constructor.builtinPlugins;this.config.define("plugins",t),this.plugins=new k(this,t);const s=this.config.get("language")||{};this.locale=new _.Z({uiLanguage:"string"==typeof s?s:s.ui,contentLanguage:this.config.get("language.content")}),this.t=this.locale.t,this.editors=new p.Z,this._contextOwner=null}initPlugins(){const e=this.config.get("plugins")||[],t=this.config.get("substitutePlugins")||[];for(const s of e.concat(t)){if("function"!=typeof s)throw new g.ZP("context-initplugins-constructor-only",null,{Plugin:s});if(!0!==s.isContextPlugin)throw new g.ZP("context-initplugins-invalid-plugin",null,{Plugin:s})}return this.plugins.init(e,[],t)}destroy(){return Promise.all(Array.from(this.editors,(e=>e.destroy()))).then((()=>this.plugins.destroy()))}_addEditor(e,t){if(this._contextOwner)throw new g.ZP("context-addeditor-private-context");this.editors.add(e),t&&(this._contextOwner=e)}_removeEditor(e){return this.editors.has(e)&&this.editors.remove(e),this._contextOwner===e?this.destroy():Promise.resolve()}_getEditorConfig(){const e={};for(const t of this.config.names())["plugins","removePlugins","extraPlugins"].includes(t)||(e[t]=this.config.get(t));return e}static create(e){return new Promise((t=>{const s=new this(e);t(s.initPlugins().then((()=>s)))}))}}var w=s("./packages/ckeditor5-core/src/contextplugin.js"),v=s("./packages/ckeditor5-engine/src/controller/editingcontroller.js");class y{constructor(){this._commands=new Map}add(e,t){this._commands.set(e,t)}get(e){return this._commands.get(e)}execute(e,...t){const s=this.get(e);if(!s)throw new g.ZP("commandcollection-command-not-found",this,{commandName:e});return s.execute(...t)}*names(){yield*this._commands.keys()}*commands(){yield*this._commands.values()}[Symbol.iterator](){return this._commands[Symbol.iterator]()}destroy(){for(const e of this.commands())e.destroy()}}var Z=s("./packages/ckeditor5-engine/src/controller/datacontroller.js"),P=s("./packages/ckeditor5-engine/src/conversion/conversion.js"),j=s("./packages/ckeditor5-engine/src/model/model.js"),x=s("./packages/ckeditor5-utils/src/keystrokehandler.js");class A extends x.Z{constructor(e){super(),this.editor=e}set(e,t,s={}){if("string"==typeof t){const e=t;t=(t,s)=>{this.editor.execute(e),s()}}super.set(e,t,s)}}var T=s("./packages/ckeditor5-utils/src/observablemixin.js"),C=s("./packages/ckeditor5-engine/src/view/stylesmap.js");class E{constructor(e={}){const t=e.language||this.constructor.defaultConfig&&this.constructor.defaultConfig.language;this._context=e.context||new b({language:t}),this._context._addEditor(this,!e.context);const s=Array.from(this.constructor.builtinPlugins||[]);this.config=new d(e,this.constructor.defaultConfig),this.config.define("plugins",s),this.config.define(this._context._getEditorConfig()),this.plugins=new k(this,s,this._context.plugins),this.locale=this._context.locale,this.t=this.locale.t,this._readOnlyLocks=new Set,this.commands=new y,this.set("state","initializing"),this.once("ready",(()=>this.state="ready"),{priority:"high"}),this.once("destroy",(()=>this.state="destroyed"),{priority:"high"}),this.model=new j.Z;const o=new C.A;this.data=new Z.Z(this.model,o),this.editing=new v.Z(this.model,o),this.editing.view.document.bind("isReadOnly").to(this),this.conversion=new P.Z([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 A(this),this.keystrokes.listenTo(this.editing.view.document)}get isReadOnly(){return this._readOnlyLocks.size>0}set isReadOnly(e){throw new g.ZP("editor-isreadonly-has-no-setter")}enableReadOnlyMode(e){if("string"!=typeof e&&"symbol"!=typeof e)throw new g.ZP("editor-read-only-lock-id-invalid",null,{lockId:e});this._readOnlyLocks.has(e)||(this._readOnlyLocks.add(e),1===this._readOnlyLocks.size&&this.fire("change:isReadOnly","isReadOnly",!0,!1))}disableReadOnlyMode(e){if("string"!=typeof e&&"symbol"!=typeof e)throw new g.ZP("editor-read-only-lock-id-invalid",null,{lockId:e});this._readOnlyLocks.has(e)&&(this._readOnlyLocks.delete(e),0===this._readOnlyLocks.size&&this.fire("change:isReadOnly","isReadOnly",!1,!0))}initPlugins(){const e=this.config,t=e.get("plugins"),s=e.get("removePlugins")||[],o=e.get("extraPlugins")||[],i=e.get("substitutePlugins")||[];return this.plugins.init(t.concat(o),s,i)}destroy(){let e=Promise.resolve();return"initializing"==this.state&&(e=new Promise((e=>this.once("ready",e)))),e.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(...e){try{return this.commands.execute(...e)}catch(e){g.ZP.rethrowUnexpectedError(e,this)}}focus(){this.editing.view.focus()}}(0,f.Z)(E,T.Z);class S{constructor(e){this.editor=e,this._components=new Map}*names(){for(const e of this._components.values())yield e.originalName}add(e,t){this._components.set(O(e),{callback:t,originalName:e})}create(e){if(!this.has(e))throw new g.ZP("componentfactory-item-missing",this,{name:e});return this._components.get(O(e)).callback(this.editor.locale)}has(e){return this._components.has(O(e))}}function O(e){return String(e).toLowerCase()}var R=s("./packages/ckeditor5-utils/src/focustracker.js");class M{constructor(e){this.editor=e,this.componentFactory=new S(e),this.focusTracker=new R.Z,this.set("viewportOffset",this._readViewportOffsetFromConfig()),this._editableElementsMap=new Map,this.listenTo(e.editing.view.document,"layoutChanged",(()=>this.update()))}get element(){return null}update(){this.fire("update")}destroy(){this.stopListening(),this.focusTracker.destroy();for(const e of this._editableElementsMap.values())e.ckeditorInstance=null;this._editableElementsMap=new Map}setEditableElement(e,t){this._editableElementsMap.set(e,t),t.ckeditorInstance||(t.ckeditorInstance=this.editor)}getEditableElement(e="main"){return this._editableElementsMap.get(e)}getEditableElementsNames(){return this._editableElementsMap.keys()}get _editableElements(){return console.warn("editor-ui-deprecated-editable-elements: The EditorUI#_editableElements property has been deprecated and will be removed in the near future.",{editorUI:this}),this._editableElementsMap}_readViewportOffsetFromConfig(){const e=this.editor,t=e.config.get("ui.viewportOffset");if(t)return t;const s=e.config.get("toolbar.viewportTopOffset");return s?(console.warn("editor-ui-deprecated-viewport-offset-config: The `toolbar.vieportTopOffset` configuration option is deprecated. It will be removed from future CKEditor versions. Use `ui.viewportOffset.top` instead."),{top:s}):{top:0}}}(0,f.Z)(M,T.Z);var N=s("./node_modules/lodash-es/isFunction.js");function I(e){if(!(0,N.Z)(e.updateSourceElement))throw new g.ZP("attachtoform-missing-elementapi-interface",e);const t=e.sourceElement;if(t&&"textarea"===t.tagName.toLowerCase()&&t.form){let s;const o=t.form,i=()=>e.updateSourceElement();(0,N.Z)(o.submit)&&(s=o.submit,o.submit=()=>{i(),s.apply(o)}),o.addEventListener("submit",i),e.on("destroy",(()=>{o.removeEventListener("submit",i),s&&(o.submit=s)}))}}const V={setData(e){this.data.set(e)},getData(e){return this.data.get(e)}};var z=s("./packages/ckeditor5-utils/src/dom/setdatainelement.js");const D={updateSourceElement(){if(!this.sourceElement)throw new g.ZP("editor-missing-sourceelement",this);(0,z.Z)(this.sourceElement,this.data.get())}};function B(e){const t=e.sourceElement;if(t){if(t.ckeditorInstance)throw new g.ZP("editor-source-element-already-used",e);t.ckeditorInstance=e,e.once("destroy",(()=>{delete t.ckeditorInstance}))}}var F=s("./packages/ckeditor5-core/src/pendingactions.js");var L=s("./packages/ckeditor5-core/theme/icons/pilcrow.svg");var W=s("./packages/ckeditor5-core/theme/icons/three-vertical-dots.svg");const q={cancel:'',caption:'',check:'',cog:'',eraser:'',lowVision:'',image:'',alignBottom:'',alignMiddle:'',alignTop:'',alignLeft:'',alignCenter:'',alignRight:'',alignJustify:'',objectLeft:'',objectCenter:'',objectRight:'',objectFullWidth:'',objectInline:'',objectBlockLeft:'',objectBlockRight:'',objectSizeFull:'',objectSizeLarge:'',objectSizeSmall:'',objectSizeMedium:'',pencil:'',pilcrow:L.Z,quote:'',threeVerticalDots:W.Z}},"./src/engine.js":(e,t,s)=>{"use strict";s.r(t),s.d(t,{ClickObserver:()=>K,Conversion:()=>_.Z,DataController:()=>k.Z,DocumentFragment:()=>O.Z,DocumentSelection:()=>P.Z,DomConverter:()=>N.Z,DomEventData:()=>oe.Z,DomEventObserver:()=>U.Z,DowncastWriter:()=>J.Z,EditingController:()=>f.Z,Element:()=>E.Z,History:()=>R.Z,HtmlDataProcessor:()=>b.Z,InsertOperation:()=>w.Z,LivePosition:()=>A.Z,LiveRange:()=>x.Z,MarkerOperation:()=>v.Z,Matcher:()=>se.Z,Model:()=>T.Z,MouseObserver:()=>G.Z,Observer:()=>H.Z,OperationFactory:()=>y.Z,Position:()=>S.ZP,Range:()=>j.Z,Renderer:()=>I.Z,StylesProcessor:()=>ie.A,Text:()=>M.Z,TreeWalker:()=>C.Z,UpcastWriter:()=>te,ViewAttributeElement:()=>F.Z,ViewContainerElement:()=>B.Z,ViewDocument:()=>V.Z,ViewDocumentFragment:()=>$.Z,ViewElement:()=>D.Z,ViewEmptyElement:()=>L.Z,ViewRawElement:()=>W.Z,ViewText:()=>z.Z,ViewUIElement:()=>q.Z,addBackgroundRules:()=>Se,addBorderRules:()=>Re,addMarginRules:()=>qe,addPaddingRules:()=>$e,disablePlaceholder:()=>l,enablePlaceholder:()=>c,getBoxSidesShorthandValue:()=>Te,getBoxSidesValueReducer:()=>Ae,getBoxSidesValues:()=>xe,getFillerOffset:()=>B.Y,getPositionShorthandNormalizer:()=>Ce,getShorthandValues:()=>Ee,hidePlaceholder:()=>h,isAttachment:()=>Ze,isColor:()=>he,isLength:()=>me,isLineStyle:()=>pe,isPercentage:()=>ke,isPosition:()=>ve,isRepeat:()=>be,isURL:()=>je,needsPlaceholder:()=>u,showPlaceholder:()=>d,transformSets:()=>Z.R});var o=s("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),i=s.n(o),r=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-engine/theme/placeholder.css"),n={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};i()(r.Z,n);r.Z.locals;const a=new WeakMap;function c(e){const{view:t,element:s,text:o,isDirectHost:i=!0,keepOnFocus:r=!1}=e,n=t.document;a.has(n)||(a.set(n,new Map),n.registerPostFixer((e=>p(n,e)))),a.get(n).set(s,{text:o,isDirectHost:i,keepOnFocus:r,hostElement:i?s:null}),t.change((e=>p(n,e)))}function l(e,t){const s=t.document;e.change((e=>{if(!a.has(s))return;const o=a.get(s),i=o.get(t);e.removeAttribute("data-placeholder",i.hostElement),h(e,i.hostElement),o.delete(t)}))}function d(e,t){return!t.hasClass("ck-placeholder")&&(e.addClass("ck-placeholder",t),!0)}function h(e,t){return!!t.hasClass("ck-placeholder")&&(e.removeClass("ck-placeholder",t),!0)}function u(e,t){if(!e.isAttached())return!1;const s=Array.from(e.getChildren()).some((e=>!e.is("uiElement")));if(s)return!1;if(t)return!0;const o=e.document;if(!o.isFocused)return!0;const i=o.selection.anchor;return i&&i.parent!==e}function p(e,t){const s=a.get(e),o=[];let i=!1;for(const[e,r]of s)r.isDirectHost&&(o.push(e),g(t,e,r)&&(i=!0));for(const[e,r]of s){if(r.isDirectHost)continue;const s=m(e);s&&(o.includes(s)||(r.hostElement=s,g(t,e,r)&&(i=!0)))}return i}function g(e,t,s){const{text:o,isDirectHost:i,hostElement:r}=s;let n=!1;r.getAttribute("data-placeholder")!==o&&(e.setAttribute("data-placeholder",o,r),n=!0);return(i||1==t.childCount)&&u(r,s.keepOnFocus)?d(e,r)&&(n=!0):h(e,r)&&(n=!0),n}function m(e){if(e.childCount){const t=e.getChild(0);if(t.is("element")&&!t.is("uiElement")&&!t.is("attributeElement"))return t}return null}var f=s("./packages/ckeditor5-engine/src/controller/editingcontroller.js"),k=s("./packages/ckeditor5-engine/src/controller/datacontroller.js"),_=s("./packages/ckeditor5-engine/src/conversion/conversion.js"),b=s("./packages/ckeditor5-engine/src/dataprocessor/htmldataprocessor.js"),w=s("./packages/ckeditor5-engine/src/model/operation/insertoperation.js"),v=s("./packages/ckeditor5-engine/src/model/operation/markeroperation.js"),y=s("./packages/ckeditor5-engine/src/model/operation/operationfactory.js"),Z=s("./packages/ckeditor5-engine/src/model/operation/transform.js"),P=s("./packages/ckeditor5-engine/src/model/documentselection.js"),j=s("./packages/ckeditor5-engine/src/model/range.js"),x=s("./packages/ckeditor5-engine/src/model/liverange.js"),A=s("./packages/ckeditor5-engine/src/model/liveposition.js"),T=s("./packages/ckeditor5-engine/src/model/model.js"),C=s("./packages/ckeditor5-engine/src/model/treewalker.js"),E=s("./packages/ckeditor5-engine/src/model/element.js"),S=s("./packages/ckeditor5-engine/src/model/position.js"),O=s("./packages/ckeditor5-engine/src/model/documentfragment.js"),R=s("./packages/ckeditor5-engine/src/model/history.js"),M=s("./packages/ckeditor5-engine/src/model/text.js"),N=s("./packages/ckeditor5-engine/src/view/domconverter.js"),I=s("./packages/ckeditor5-engine/src/view/renderer.js"),V=s("./packages/ckeditor5-engine/src/view/document.js"),z=s("./packages/ckeditor5-engine/src/view/text.js"),D=s("./packages/ckeditor5-engine/src/view/element.js"),B=s("./packages/ckeditor5-engine/src/view/containerelement.js"),F=s("./packages/ckeditor5-engine/src/view/attributeelement.js"),L=s("./packages/ckeditor5-engine/src/view/emptyelement.js"),W=s("./packages/ckeditor5-engine/src/view/rawelement.js"),q=s("./packages/ckeditor5-engine/src/view/uielement.js"),$=s("./packages/ckeditor5-engine/src/view/documentfragment.js"),H=s("./packages/ckeditor5-engine/src/view/observer/observer.js"),U=s("./packages/ckeditor5-engine/src/view/observer/domeventobserver.js");class K extends U.Z{constructor(e){super(e),this.domEventType="click"}onDomEvent(e){this.fire(e.type,e)}}var G=s("./packages/ckeditor5-engine/src/view/observer/mouseobserver.js"),J=s("./packages/ckeditor5-engine/src/view/downcastwriter.js"),X=s("./node_modules/lodash-es/isPlainObject.js"),Q=s("./packages/ckeditor5-engine/src/view/position.js"),Y=s("./packages/ckeditor5-engine/src/view/range.js"),ee=s("./packages/ckeditor5-engine/src/view/selection.js");class te{constructor(e){this.document=e}createDocumentFragment(e){return new $.Z(this.document,e)}createElement(e,t,s){return new D.Z(this.document,e,t,s)}createText(e){return new z.Z(this.document,e)}clone(e,t=!1){return e._clone(t)}appendChild(e,t){return t._appendChild(e)}insertChild(e,t,s){return s._insertChild(e,t)}removeChildren(e,t,s){return s._removeChildren(e,t)}remove(e){const t=e.parent;return t?this.removeChildren(t.getChildIndex(e),1,t):[]}replace(e,t){const s=e.parent;if(s){const o=s.getChildIndex(e);return this.removeChildren(o,1,s),this.insertChild(o,t,s),!0}return!1}unwrapElement(e){const t=e.parent;if(t){const s=t.getChildIndex(e);this.remove(e),this.insertChild(s,e.getChildren(),t)}}rename(e,t){const s=new D.Z(this.document,e,t.getAttributes(),t.getChildren());return this.replace(t,s)?s:null}setAttribute(e,t,s){s._setAttribute(e,t)}removeAttribute(e,t){t._removeAttribute(e)}addClass(e,t){t._addClass(e)}removeClass(e,t){t._removeClass(e)}setStyle(e,t,s){(0,X.Z)(e)&&void 0===s&&(s=t),s._setStyle(e,t)}removeStyle(e,t){t._removeStyle(e)}setCustomProperty(e,t,s){s._setCustomProperty(e,t)}removeCustomProperty(e,t){return t._removeCustomProperty(e)}createPositionAt(e,t){return Q.Z._createAt(e,t)}createPositionAfter(e){return Q.Z._createAfter(e)}createPositionBefore(e){return Q.Z._createBefore(e)}createRange(e,t){return new Y.Z(e,t)}createRangeOn(e){return Y.Z._createOn(e)}createRangeIn(e){return Y.Z._createIn(e)}createSelection(e,t,s){return new ee.Z(e,t,s)}}var se=s("./packages/ckeditor5-engine/src/view/matcher.js"),oe=s("./packages/ckeditor5-engine/src/view/observer/domeventdata.js"),ie=s("./packages/ckeditor5-engine/src/view/stylesmap.js");const re=/^#([0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/i,ne=/^rgb\([ ]?([0-9]{1,3}[ %]?,[ ]?){2,3}[0-9]{1,3}[ %]?\)$/i,ae=/^rgba\([ ]?([0-9]{1,3}[ %]?,[ ]?){3}(1|[0-9]+%|[0]?\.?[0-9]+)\)$/i,ce=/^hsl\([ ]?([0-9]{1,3}[ %]?[,]?[ ]*){3}(1|[0-9]+%|[0]?\.?[0-9]+)?\)$/i,le=/^hsla\([ ]?([0-9]{1,3}[ %]?,[ ]?){2,3}(1|[0-9]+%|[0]?\.?[0-9]+)\)$/i,de=new Set(["black","silver","gray","white","maroon","red","purple","fuchsia","green","lime","olive","yellow","navy","blue","teal","aqua","orange","aliceblue","antiquewhite","aquamarine","azure","beige","bisque","blanchedalmond","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","gainsboro","ghostwhite","gold","goldenrod","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","limegreen","linen","magenta","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","oldlace","olivedrab","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","thistle","tomato","turquoise","violet","wheat","whitesmoke","yellowgreen","activeborder","activecaption","appworkspace","background","buttonface","buttonhighlight","buttonshadow","buttontext","captiontext","graytext","highlight","highlighttext","inactiveborder","inactivecaption","inactivecaptiontext","infobackground","infotext","menu","menutext","scrollbar","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","window","windowframe","windowtext","rebeccapurple","currentcolor","transparent"]);function he(e){return e.startsWith("#")?re.test(e):e.startsWith("rgb")?ne.test(e)||ae.test(e):e.startsWith("hsl")?ce.test(e)||le.test(e):de.has(e.toLowerCase())}const ue=["none","hidden","dotted","dashed","solid","double","groove","ridge","inset","outset"];function pe(e){return ue.includes(e)}const ge=/^([+-]?[0-9]*([.][0-9]+)?(px|cm|mm|in|pc|pt|ch|em|ex|rem|vh|vw|vmin|vmax)|0)$/;function me(e){return ge.test(e)}const fe=/^[+-]?[0-9]*([.][0-9]+)?%$/;function ke(e){return fe.test(e)}const _e=["repeat-x","repeat-y","repeat","space","round","no-repeat"];function be(e){return _e.includes(e)}const we=["center","top","bottom","left","right"];function ve(e){return we.includes(e)}const ye=["fixed","scroll","local"];function Ze(e){return ye.includes(e)}const Pe=/^url\(/;function je(e){return Pe.test(e)}function xe(e=""){if(""===e)return{top:void 0,right:void 0,bottom:void 0,left:void 0};const t=Ee(e),s=t[0],o=t[2]||s,i=t[1]||s;return{top:s,bottom:o,right:i,left:t[3]||i}}function Ae(e){return t=>{const{top:s,right:o,bottom:i,left:r}=t,n=[];return[s,o,r,i].every((e=>!!e))?n.push([e,Te(t)]):(s&&n.push([e+"-top",s]),o&&n.push([e+"-right",o]),i&&n.push([e+"-bottom",i]),r&&n.push([e+"-left",r])),n}}function Te({top:e,right:t,bottom:s,left:o}){const i=[];return o!==t?i.push(e,t,s,o):s!==e?i.push(e,t,s):t!==e?i.push(e,t):i.push(e),i.join(" ")}function Ce(e){return t=>({path:e,value:xe(t)})}function Ee(e){return e.replace(/, /g,",").split(" ").map((e=>e.replace(/,/g,", ")))}function Se(e){e.setNormalizer("background",Oe),e.setNormalizer("background-color",(e=>({path:"background.color",value:e}))),e.setReducer("background",(e=>{const t=[];return t.push(["background-color",e.color]),t})),e.setStyleRelation("background",["background-color"])}function Oe(e){const t={},s=Ee(e);for(const e of s)be(e)?(t.repeat=t.repeat||[],t.repeat.push(e)):ve(e)?(t.position=t.position||[],t.position.push(e)):Ze(e)?t.attachment=e:he(e)?t.color=e:je(e)&&(t.image=e);return{path:"background",value:t}}function Re(e){e.setNormalizer("border",Me),e.setNormalizer("border-top",Ne("top")),e.setNormalizer("border-right",Ne("right")),e.setNormalizer("border-bottom",Ne("bottom")),e.setNormalizer("border-left",Ne("left")),e.setNormalizer("border-color",Ie("color")),e.setNormalizer("border-width",Ie("width")),e.setNormalizer("border-style",Ie("style")),e.setNormalizer("border-top-color",ze("color","top")),e.setNormalizer("border-top-style",ze("style","top")),e.setNormalizer("border-top-width",ze("width","top")),e.setNormalizer("border-right-color",ze("color","right")),e.setNormalizer("border-right-style",ze("style","right")),e.setNormalizer("border-right-width",ze("width","right")),e.setNormalizer("border-bottom-color",ze("color","bottom")),e.setNormalizer("border-bottom-style",ze("style","bottom")),e.setNormalizer("border-bottom-width",ze("width","bottom")),e.setNormalizer("border-left-color",ze("color","left")),e.setNormalizer("border-left-style",ze("style","left")),e.setNormalizer("border-left-width",ze("width","left")),e.setExtractor("border-top",De("top")),e.setExtractor("border-right",De("right")),e.setExtractor("border-bottom",De("bottom")),e.setExtractor("border-left",De("left")),e.setExtractor("border-top-color","border.color.top"),e.setExtractor("border-right-color","border.color.right"),e.setExtractor("border-bottom-color","border.color.bottom"),e.setExtractor("border-left-color","border.color.left"),e.setExtractor("border-top-width","border.width.top"),e.setExtractor("border-right-width","border.width.right"),e.setExtractor("border-bottom-width","border.width.bottom"),e.setExtractor("border-left-width","border.width.left"),e.setExtractor("border-top-style","border.style.top"),e.setExtractor("border-right-style","border.style.right"),e.setExtractor("border-bottom-style","border.style.bottom"),e.setExtractor("border-left-style","border.style.left"),e.setReducer("border-color",Ae("border-color")),e.setReducer("border-style",Ae("border-style")),e.setReducer("border-width",Ae("border-width")),e.setReducer("border-top",Le("top")),e.setReducer("border-right",Le("right")),e.setReducer("border-bottom",Le("bottom")),e.setReducer("border-left",Le("left")),e.setReducer("border",function(){return t=>{const s=Be(t,"top"),o=Be(t,"right"),i=Be(t,"bottom"),r=Be(t,"left"),n=[s,o,i,r],a={width:e(n,"width"),style:e(n,"style"),color:e(n,"color")},c=We(a,"all");if(c.length)return c;const l=Object.entries(a).reduce(((e,[t,s])=>(s&&(e.push([`border-${t}`,s]),n.forEach((e=>e[t]=null))),e)),[]);return[...l,...We(s,"top"),...We(o,"right"),...We(i,"bottom"),...We(r,"left")]};function e(e,t){return e.map((e=>e[t])).reduce(((e,t)=>e==t?e:null))}}()),e.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"]),e.setStyleRelation("border-color",["border-top-color","border-right-color","border-bottom-color","border-left-color"]),e.setStyleRelation("border-style",["border-top-style","border-right-style","border-bottom-style","border-left-style"]),e.setStyleRelation("border-width",["border-top-width","border-right-width","border-bottom-width","border-left-width"]),e.setStyleRelation("border-top",["border-top-color","border-top-style","border-top-width"]),e.setStyleRelation("border-right",["border-right-color","border-right-style","border-right-width"]),e.setStyleRelation("border-bottom",["border-bottom-color","border-bottom-style","border-bottom-width"]),e.setStyleRelation("border-left",["border-left-color","border-left-style","border-left-width"])}function Me(e){const{color:t,style:s,width:o}=Fe(e);return{path:"border",value:{color:xe(t),style:xe(s),width:xe(o)}}}function Ne(e){return t=>{const{color:s,style:o,width:i}=Fe(t),r={};return void 0!==s&&(r.color={[e]:s}),void 0!==o&&(r.style={[e]:o}),void 0!==i&&(r.width={[e]:i}),{path:"border",value:r}}}function Ie(e){return t=>({path:"border",value:Ve(t,e)})}function Ve(e,t){return{[t]:xe(e)}}function ze(e,t){return s=>({path:"border",value:{[e]:{[t]:s}}})}function De(e){return(t,s)=>{if(s.border)return Be(s.border,e)}}function Be(e,t){const s={};return e.width&&e.width[t]&&(s.width=e.width[t]),e.style&&e.style[t]&&(s.style=e.style[t]),e.color&&e.color[t]&&(s.color=e.color[t]),s}function Fe(e){const t={},s=Ee(e);for(const e of s)me(e)||/thin|medium|thick/.test(e)?t.width=e:pe(e)?t.style=e:t.color=e;return t}function Le(e){return t=>We(t,e)}function We(e,t){const s=[];if(e&&e.width&&s.push("width"),e&&e.style&&s.push("style"),e&&e.color&&s.push("color"),3==s.length){const o=s.map((t=>e[t])).join(" ");return["all"==t?["border",o]:[`border-${t}`,o]]}return"all"==t?[]:s.map((s=>[`border-${t}-${s}`,e[s]]))}function qe(e){e.setNormalizer("margin",Ce("margin")),e.setNormalizer("margin-top",(e=>({path:"margin.top",value:e}))),e.setNormalizer("margin-right",(e=>({path:"margin.right",value:e}))),e.setNormalizer("margin-bottom",(e=>({path:"margin.bottom",value:e}))),e.setNormalizer("margin-left",(e=>({path:"margin.left",value:e}))),e.setReducer("margin",Ae("margin")),e.setStyleRelation("margin",["margin-top","margin-right","margin-bottom","margin-left"])}function $e(e){e.setNormalizer("padding",Ce("padding")),e.setNormalizer("padding-top",(e=>({path:"padding.top",value:e}))),e.setNormalizer("padding-right",(e=>({path:"padding.right",value:e}))),e.setNormalizer("padding-bottom",(e=>({path:"padding.bottom",value:e}))),e.setNormalizer("padding-left",(e=>({path:"padding.left",value:e}))),e.setReducer("padding",Ae("padding")),e.setStyleRelation("padding",["padding-top","padding-right","padding-bottom","padding-left"])}},"./src/enter.js":(e,t,s)=>{"use strict";s.r(t),s.d(t,{Enter:()=>o.Z,ShiftEnter:()=>h});var o=s("./packages/ckeditor5-enter/src/enter.js"),i=s("./packages/ckeditor5-core/src/command.js"),r=s("./packages/ckeditor5-enter/src/utils.js");class n extends i.Z{execute(){const e=this.editor.model,t=e.document;e.change((s=>{!function(e,t,s){const o=s.isCollapsed,i=s.getFirstRange(),n=i.start.parent,c=i.end.parent,l=n==c;if(o){const o=(0,r.G)(e.schema,s.getAttributes());a(e,t,i.end),t.removeSelectionAttribute(s.getAttributeKeys()),t.setSelectionAttribute(o)}else{const o=!(i.start.isAtStart&&i.end.isAtEnd);e.deleteContent(s,{leaveUnmerged:o}),l?a(e,t,s.focus):o&&t.setSelection(c,0)}}(e,s,t.selection),this.fire("afterExecute",{writer:s})}))}refresh(){const e=this.editor.model,t=e.document;this.isEnabled=function(e,t){if(t.rangeCount>1)return!1;const s=t.anchor;if(!s||!e.checkChild(s,"softBreak"))return!1;const o=t.getFirstRange(),i=o.start.parent,r=o.end.parent;if((c(i,e)||c(r,e))&&i!==r)return!1;return!0}(e.schema,t.selection)}}function a(e,t,s){const o=t.createElement("softBreak");e.insertContent(o,s),t.setSelection(o,"after")}function c(e,t){return!e.is("rootElement")&&(t.isLimit(e)||c(e.parent,t))}var l=s("./packages/ckeditor5-enter/src/enterobserver.js"),d=s("./packages/ckeditor5-core/src/plugin.js");class h extends d.Z{static get pluginName(){return"ShiftEnter"}init(){const e=this.editor,t=e.model.schema,s=e.conversion,o=e.editing.view,i=o.document;t.register("softBreak",{allowWhere:"$text",isInline:!0}),s.for("upcast").elementToElement({model:"softBreak",view:"br"}),s.for("downcast").elementToElement({model:"softBreak",view:(e,{writer:t})=>t.createEmptyElement("br")}),o.addObserver(l.Z),e.commands.add("shiftEnter",new n(e)),this.listenTo(i,"enter",((t,s)=>{s.preventDefault(),s.isSoft&&(e.execute("shiftEnter"),o.scrollToTheSelection())}),{priority:"low"})}}},"./src/paragraph.js":(e,t,s)=>{"use strict";s.r(t),s.d(t,{Paragraph:()=>l,ParagraphButtonUI:()=>h});var o=s("./packages/ckeditor5-core/src/command.js"),i=s("./packages/ckeditor5-utils/src/first.js");class r extends o.Z{refresh(){const e=this.editor.model,t=e.document,s=(0,i.Z)(t.selection.getSelectedBlocks());this.value=!!s&&s.is("element","paragraph"),this.isEnabled=!!s&&n(s,e.schema)}execute(e={}){const t=this.editor.model,s=t.document;t.change((o=>{const i=(e.selection||s.selection).getSelectedBlocks();for(const e of i)!e.is("element","paragraph")&&n(e,t.schema)&&o.rename(e,"paragraph")}))}}function n(e,t){return t.checkChild(e.parent,"paragraph")&&!t.isObject(e)}class a extends o.Z{execute(e){const t=this.editor.model,s=e.attributes;let o=e.position;t.change((e=>{const i=e.createElement("paragraph");if(s&&t.schema.setAllowedAttributes(i,s,e),!t.schema.checkChild(o.parent,i)){const s=t.schema.findAllowedParent(o,i);if(!s)return;o=e.split(o,s).position}t.insertContent(i,o),e.setSelection(i,"in")}))}}var c=s("./packages/ckeditor5-core/src/plugin.js");class l extends c.Z{static get pluginName(){return"Paragraph"}init(){const e=this.editor,t=e.model;e.commands.add("paragraph",new r(e)),e.commands.add("insertParagraph",new a(e)),t.schema.register("paragraph",{inheritAllFrom:"$block"}),e.conversion.elementToElement({model:"paragraph",view:"p"}),e.conversion.for("upcast").elementToElement({model:(e,{writer:t})=>l.paragraphLikeElements.has(e.name)?e.isEmpty?null:t.createElement("paragraph"):null,view:/.+/,converterPriority:"low"})}}l.paragraphLikeElements=new Set(["blockquote","dd","div","dt","h1","h2","h3","h4","h5","h6","li","p","td","th"]);var d=s("./packages/ckeditor5-ui/src/button/buttonview.js");class h extends c.Z{init(){const e=this.editor,t=e.t;e.ui.componentFactory.add("paragraph",(s=>{const o=new d.Z(s),i=e.commands.get("paragraph");return o.label=t("Paragraph"),o.icon='',o.tooltip=!0,o.isToggleable=!0,o.bind("isEnabled").to(i),o.bind("isOn").to(i,"value"),o.on("execute",(()=>{e.execute("paragraph")})),o}))}}},"./src/select-all.js":(e,t,s)=>{"use strict";s.r(t),s.d(t,{SelectAll:()=>u,SelectAllEditing:()=>l,SelectAllUI:()=>h});var o=s("./packages/ckeditor5-core/src/plugin.js"),i=s("./packages/ckeditor5-utils/src/keyboard.js"),r=s("./packages/ckeditor5-core/src/command.js");class n extends r.Z{constructor(e){super(e),this.affectsData=!1}execute(){const e=this.editor.model,t=e.document.selection;let s=e.schema.getLimitElement(t);if(t.containsEntireContent(s)||!a(e.schema,s))do{if(s=s.parent,!s)return}while(!a(e.schema,s));e.change((e=>{e.setSelection(s,"in")}))}}function a(e,t){return e.isLimit(t)&&(e.checkChild(t,"$text")||e.checkChild(t,"paragraph"))}const c=(0,i.Zz)("Ctrl+A");class l extends o.Z{static get pluginName(){return"SelectAllEditing"}init(){const e=this.editor,t=e.editing.view.document;e.commands.add("selectAll",new n(e)),this.listenTo(t,"keydown",((t,s)=>{(0,i.Cq)(s)===c&&(e.execute("selectAll"),s.preventDefault())}))}}var d=s("./packages/ckeditor5-ui/src/button/buttonview.js");class h extends o.Z{static get pluginName(){return"SelectAllUI"}init(){const e=this.editor;e.ui.componentFactory.add("selectAll",(t=>{const s=e.commands.get("selectAll"),o=new d.Z(t),i=t.t;return o.set({label:i("Select all"),icon:'',keystroke:"Ctrl+A",tooltip:!0}),o.bind("isOn","isEnabled").to(s,"value","isEnabled"),this.listenTo(o,"execute",(()=>{e.execute("selectAll"),e.editing.view.focus()})),o}))}}class u extends o.Z{static get requires(){return[l,h]}static get pluginName(){return"SelectAll"}}},"./src/typing.js":(e,t,s)=>{"use strict";s.r(t),s.d(t,{Delete:()=>m.Z,Input:()=>g,TextTransformation:()=>M,TextWatcher:()=>w,TwoStepCaretMovement:()=>y,Typing:()=>f,findAttributeRange:()=>D,getLastTextLine:()=>b,inlineHighlight:()=>F,isNonTypingKeystroke:()=>a.u});var o=s("./packages/ckeditor5-core/src/plugin.js"),i=s("./packages/ckeditor5-core/src/command.js"),r=s("./packages/ckeditor5-typing/src/utils/changebuffer.js");class n extends i.Z{constructor(e,t){super(e),this._buffer=new r.Z(e.model,t)}get buffer(){return this._buffer}destroy(){super.destroy(),this._buffer.destroy()}execute(e={}){const t=this.editor.model,s=t.document,o=e.text||"",i=o.length,r=e.range?t.createSelection(e.range):s.selection,n=e.resultRange;t.enqueueChange(this._buffer.batch,(e=>{this._buffer.lock(),t.deleteContent(r),o&&t.insertContent(e.createText(o,s.selection.getAttributes()),r),n?e.setSelection(n):r.is("documentSelection")||e.setSelection(r),this._buffer.unlock(),this._buffer.input(i)}))}}var a=s("./packages/ckeditor5-typing/src/utils/injectunsafekeystrokeshandling.js"),c=s("./packages/ckeditor5-utils/src/diff.js"),l=s("./packages/ckeditor5-engine/src/view/domconverter.js"),d=s("./packages/ckeditor5-typing/src/utils/utils.js");class h{constructor(e){this.editor=e,this.editing=this.editor.editing}handle(e,t){if((0,d.E9)(e))this._handleContainerChildrenMutations(e,t);else for(const s of e)this._handleTextMutation(s,t),this._handleTextNodeInsertion(s)}_handleContainerChildrenMutations(e,t){const s=function(e){const t=e.map((e=>e.node)).reduce(((e,t)=>e.getCommonAncestor(t,{includeSelf:!0})));if(!t)return;return t.getAncestors({includeSelf:!0,parentFirst:!0}).find((e=>e.is("containerElement")||e.is("rootElement")))}(e);if(!s)return;const o=this.editor.editing.view.domConverter.mapViewToDom(s),i=new l.Z(this.editor.editing.view.document),r=this.editor.data.toModel(i.domToView(o)).getChild(0),n=this.editor.editing.mapper.toModelElement(s);if(!n)return;const a=Array.from(r.getChildren()),d=Array.from(n.getChildren()),h=a[a.length-1],g=d[d.length-1],m=h&&h.is("element","softBreak"),f=g&&!g.is("element","softBreak");m&&f&&a.pop();const k=this.editor.model.schema;if(!u(a,k)||!u(d,k))return;const _=a.map((e=>e.is("$text")?e.data:"@")).join("").replace(/\u00A0/g," "),b=d.map((e=>e.is("$text")?e.data:"@")).join("").replace(/\u00A0/g," ");if(b===_)return;const w=(0,c.Z)(b,_),{firstChangeAt:v,insertions:y,deletions:Z}=p(w);let P=null;t&&(P=this.editing.mapper.toModelRange(t.getFirstRange()));const j=_.substr(v,y),x=this.editor.model.createRange(this.editor.model.createPositionAt(n,v),this.editor.model.createPositionAt(n,v+Z));this.editor.execute("input",{text:j,range:x,resultRange:P})}_handleTextMutation(e,t){if("text"!=e.type)return;const s=e.newText.replace(/\u00A0/g," "),o=e.oldText.replace(/\u00A0/g," ");if(o===s)return;const i=(0,c.Z)(o,s),{firstChangeAt:r,insertions:n,deletions:a}=p(i);let l=null;t&&(l=this.editing.mapper.toModelRange(t.getFirstRange()));const d=this.editing.view.createPositionAt(e.node,r),h=this.editing.mapper.toModelPosition(d),u=this.editor.model.createRange(h,h.getShiftedBy(a)),g=s.substr(r,n);this.editor.execute("input",{text:g,range:u,resultRange:l})}_handleTextNodeInsertion(e){if("children"!=e.type)return;const t=(0,d.xG)(e),s=this.editing.view.createPositionAt(e.node,t.index),o=this.editing.mapper.toModelPosition(s),i=t.values[0].data;this.editor.execute("input",{text:i.replace(/\u00A0/g," "),range:this.editor.model.createRange(o)})}}function u(e,t){return e.every((e=>t.isInline(e)))}function p(e){let t=null,s=null;for(let o=0;o{new h(e).handle(s,o)}))}(e)}}var m=s("./packages/ckeditor5-typing/src/delete.js");class f extends o.Z{static get requires(){return[g,m.Z]}static get pluginName(){return"Typing"}}var k=s("./packages/ckeditor5-utils/src/mix.js"),_=s("./packages/ckeditor5-utils/src/observablemixin.js");function b(e,t){let s=e.start;return{text:Array.from(e.getItems()).reduce(((e,o)=>o.is("$text")||o.is("$textProxy")?e+o.data:(s=t.createPositionAfter(o),"")),""),range:t.createRange(s,e.end)}}class w{constructor(e,t){this.model=e,this.testCallback=t,this.hasMatch=!1,this.set("isEnabled",!0),this.on("change:isEnabled",(()=>{this.isEnabled?this._startListening():(this.stopListening(e.document.selection),this.stopListening(e.document))})),this._startListening()}_startListening(){const e=this.model.document;this.listenTo(e.selection,"change:range",((t,{directChange:s})=>{s&&(e.selection.isCollapsed?this._evaluateTextBeforeSelection("selection"):this.hasMatch&&(this.fire("unmatched"),this.hasMatch=!1))})),this.listenTo(e,"change:data",((e,t)=>{!t.isUndo&&t.isLocal&&this._evaluateTextBeforeSelection("data",{batch:t})}))}_evaluateTextBeforeSelection(e,t={}){const s=this.model,o=s.document.selection,i=s.createRange(s.createPositionAt(o.focus.parent,0),o.focus),{text:r,range:n}=b(i,s),a=this.testCallback(r);if(!a&&this.hasMatch&&this.fire("unmatched"),this.hasMatch=!!a,a){const s=Object.assign(t,{text:r,range:n});"object"==typeof a&&Object.assign(s,a),this.fire(`matched:${e}`,s)}}}(0,k.Z)(w,_.Z);var v=s("./packages/ckeditor5-utils/src/keyboard.js");class y extends o.Z{static get pluginName(){return"TwoStepCaretMovement"}constructor(e){super(e),this.attributes=new Set,this._overrideUid=null}init(){const e=this.editor,t=e.model,s=e.editing.view,o=e.locale,i=t.document.selection;this.listenTo(s.document,"arrowKey",((e,t)=>{if(!i.isCollapsed)return;if(t.shiftKey||t.altKey||t.ctrlKey)return;const s=t.keyCode==v.Do.arrowright,r=t.keyCode==v.Do.arrowleft;if(!s&&!r)return;const n=o.contentLanguageDirection;let a=!1;a="ltr"===n&&s||"rtl"===n&&r?this._handleForwardMovement(t):this._handleBackwardMovement(t),!0===a&&e.stop()}),{context:"$text",priority:"highest"}),this._isNextGravityRestorationSkipped=!1,this.listenTo(i,"change:range",((e,t)=>{this._isNextGravityRestorationSkipped?this._isNextGravityRestorationSkipped=!1:this._isGravityOverridden&&(!t.directChange&&x(i.getFirstPosition(),this.attributes)||this._restoreGravity())}))}registerAttribute(e){this.attributes.add(e)}_handleForwardMovement(e){const t=this.attributes,s=this.editor.model.document.selection,o=s.getFirstPosition();return!this._isGravityOverridden&&((!o.isAtStart||!Z(s,t))&&(x(o,t)?(j(e),this._overrideGravity(),!0):void 0))}_handleBackwardMovement(e){const t=this.attributes,s=this.editor.model,o=s.document.selection,i=o.getFirstPosition();return this._isGravityOverridden?(j(e),this._restoreGravity(),P(s,t,i),!0):i.isAtStart?!!Z(o,t)&&(j(e),P(s,t,i),!0):function(e,t){return x(e.getShiftedBy(-1),t)}(i,t)?i.isAtEnd&&!Z(o,t)&&x(i,t)?(j(e),P(s,t,i),!0):(this._isNextGravityRestorationSkipped=!0,this._overrideGravity(),!1):void 0}get _isGravityOverridden(){return!!this._overrideUid}_overrideGravity(){this._overrideUid=this.editor.model.change((e=>e.overrideSelectionGravity()))}_restoreGravity(){this.editor.model.change((e=>{e.restoreSelectionGravity(this._overrideUid),this._overrideUid=null}))}}function Z(e,t){for(const s of t)if(e.hasAttribute(s))return!0;return!1}function P(e,t,s){const o=s.nodeBefore;e.change((e=>{o?e.setSelectionAttribute(o.getAttributes()):e.removeSelectionAttribute(t)}))}function j(e){e.preventDefault()}function x(e,t){const{nodeBefore:s,nodeAfter:o}=e;for(const e of t){const t=s?s.getAttribute(e):void 0;if((o?o.getAttribute(e):void 0)!==t)return!0}return!1}var A=s("./node_modules/lodash-es/toString.js"),T=/[\\^$.*+?()[\]{}|]/g,C=RegExp(T.source);const E=function(e){return(e=(0,A.Z)(e))&&C.test(e)?e.replace(T,"\\$&"):e},S={copyright:{from:"(c)",to:"©"},registeredTrademark:{from:"(r)",to:"®"},trademark:{from:"(tm)",to:"™"},oneHalf:{from:/(^|[^/a-z0-9])(1\/2)([^/a-z0-9])$/i,to:[null,"½",null]},oneThird:{from:/(^|[^/a-z0-9])(1\/3)([^/a-z0-9])$/i,to:[null,"⅓",null]},twoThirds:{from:/(^|[^/a-z0-9])(2\/3)([^/a-z0-9])$/i,to:[null,"⅔",null]},oneForth:{from:/(^|[^/a-z0-9])(1\/4)([^/a-z0-9])$/i,to:[null,"¼",null]},threeQuarters:{from:/(^|[^/a-z0-9])(3\/4)([^/a-z0-9])$/i,to:[null,"¾",null]},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:z('"'),to:[null,"“",null,"”"]},quotesSecondary:{from:z("'"),to:[null,"‘",null,"’"]},quotesPrimaryEnGb:{from:z("'"),to:[null,"‘",null,"’"]},quotesSecondaryEnGb:{from:z('"'),to:[null,"“",null,"”"]},quotesPrimaryPl:{from:z('"'),to:[null,"„",null,"”"]},quotesSecondaryPl:{from:z("'"),to:[null,"‚",null,"’"]}},O={symbols:["copyright","registeredTrademark","trademark"],mathematical:["oneHalf","oneThird","twoThirds","oneForth","threeQuarters","lessThanOrEqual","greaterThanOrEqual","notEqual","arrowLeft","arrowRight"],typography:["horizontalEllipsis","enDash","emDash"],quotes:["quotesPrimary","quotesSecondary"]},R=["symbols","mathematical","typography","quotes"];class M extends o.Z{static get requires(){return["Delete","Input"]}static get pluginName(){return"TextTransformation"}constructor(e){super(e),e.config.define("typing",{transformations:{include:R}})}init(){const e=this.editor.model.document.selection;e.on("change:range",(()=>{this.isEnabled=!e.anchor.parent.is("element","codeBlock")})),this._enableTransformationWatchers()}_enableTransformationWatchers(){const e=this.editor,t=e.model,s=e.plugins.get("Delete"),o=function(e){const t=e.extra||[],s=e.remove||[],o=e=>!s.includes(e);return function(e){const t=new Set;for(const s of e)if(O[s])for(const e of O[s])t.add(e);else t.add(s);return Array.from(t)}(e.include.concat(t).filter(o)).filter(o).map((e=>S[e]||e)).filter((e=>"object"==typeof e)).map((e=>({from:N(e.from),to:I(e.to)})))}(e.config.get("typing.transformations")),i=new w(e.model,(e=>{for(const t of o){if(t.from.test(e))return{normalizedTransformation:t}}}));i.on("matched:data",((e,o)=>{if(!o.batch.isTyping)return;const{from:i,to:r}=o.normalizedTransformation,n=i.exec(o.text),a=r(n.slice(1)),c=o.range;let l=n.index;t.enqueueChange((e=>{for(let s=1;s{s.requestUndoOnBackspace()}))}))})),i.bind("isEnabled").to(this)}}function N(e){return"string"==typeof e?new RegExp(`(${E(e)})$`):e}function I(e){return"string"==typeof e?()=>[e]:e instanceof Array?()=>e:e}function V(e){return(e.textNode?e.textNode:e.nodeAfter).getAttributes()}function z(e){return new RegExp(`(^|\\s)(${e})([^${e}]*)(${e})$`)}function D(e,t,s,o){return o.createRange(B(e,t,s,!0,o),B(e,t,s,!1,o))}function B(e,t,s,o,i){let r=e.textNode||(o?e.nodeBefore:e.nodeAfter),n=null;for(;r&&r.getAttribute(t)==s;)n=r,r=o?r.previousSibling:r.nextSibling;return n?i.createPositionAt(n,o?"before":"after"):e}function F(e,t,s,o){const i=e.editing.view,r=new Set;i.document.registerPostFixer((i=>{const n=e.model.document.selection;let a=!1;if(n.hasAttribute(t)){const c=D(n.getFirstPosition(),t,n.getAttribute(t),e.model),l=e.editing.mapper.toViewRange(c);for(const e of l.getItems())e.is("element",s)&&!e.hasClass(o)&&(i.addClass(o,e),r.add(e),a=!0)}return a})),e.conversion.for("editingDowncast").add((e=>{function t(){i.change((e=>{for(const t of r.values())e.removeClass(o,t),r.delete(t)}))}e.on("insert",t,{priority:"highest"}),e.on("remove",t,{priority:"highest"}),e.on("attribute",t,{priority:"highest"}),e.on("selection",t,{priority:"highest"})}))}},"./src/ui.js":(e,t,s)=>{"use strict";s.r(t),s.d(t,{BalloonPanelView:()=>he.Z,BalloonToolbar:()=>Ee,BlockToolbar:()=>ze,BodyCollection:()=>l,BoxedEditorUIView:()=>z,ButtonView:()=>d.Z,ColorGridView:()=>P,ColorTileView:()=>f,ContextualBalloon:()=>ue.Z,DropdownButtonView:()=>j.Z,EditorUIView:()=>R,FocusCycler:()=>_.Z,FormHeaderView:()=>W,IconView:()=>q.Z,IframeView:()=>J,InlineEditableUIView:()=>B,InputNumberView:()=>G,InputTextView:()=>K,InputView:()=>U,LabelView:()=>V,LabeledFieldView:()=>Y,ListItemView:()=>oe.Z,ListView:()=>ie.Z,Model:()=>de,Notification:()=>ne,SplitButtonView:()=>C,StickyPanelView:()=>_e,SwitchButtonView:()=>h.Z,Template:()=>n.ZP,ToolbarSeparatorView:()=>ve.Z,ToolbarView:()=>we.Z,TooltipView:()=>be.Z,View:()=>m.Z,ViewCollection:()=>a.Z,addListToDropdown:()=>E.Pm,addToolbarToDropdown:()=>E.up,clickOutsideHandler:()=>o.Z,createDropdown:()=>E.t9,createLabeledDropdown:()=>se,createLabeledInputNumber:()=>te,createLabeledInputText:()=>ee,enableToolbarKeyboardFocus:()=>ye,getLocalizedColorOptions:()=>u,injectCssTransitionDisabler:()=>i,normalizeColorOptions:()=>p,normalizeSingleColorDefinition:()=>g,normalizeToolbarConfig:()=>Ze.Z,submitHandler:()=>r});var o=s("./packages/ckeditor5-ui/src/bindings/clickoutsidehandler.js");function i(e){e.set("_isCssTransitionsDisabled",!1),e.disableCssTransitions=()=>{e._isCssTransitionsDisabled=!0},e.enableCssTransitions=()=>{e._isCssTransitionsDisabled=!1},e.extendTemplate({attributes:{class:[e.bindTemplate.if("_isCssTransitionsDisabled","ck-transitions-disabled")]}})}function r({view:e}){e.listenTo(e.element,"submit",((t,s)=>{s.preventDefault(),e.fire("submit")}),{useCapture:!0})}var n=s("./packages/ckeditor5-ui/src/template.js"),a=s("./packages/ckeditor5-ui/src/viewcollection.js"),c=s("./packages/ckeditor5-utils/src/dom/createelement.js");class l extends a.Z{constructor(e,t=[]){super(t),this.locale=e}attachToDom(){this._bodyCollectionContainer=new n.ZP({tag:"div",attributes:{class:["ck","ck-reset_all","ck-body","ck-rounded-corners"],dir:this.locale.uiLanguageDirection},children:this}).render();let e=document.querySelector(".ck-body-wrapper");e||(e=(0,c.Z)(document,"div",{class:"ck-body-wrapper"}),document.body.appendChild(e)),e.appendChild(this._bodyCollectionContainer)}detachFromDom(){super.destroy(),this._bodyCollectionContainer&&this._bodyCollectionContainer.remove();const e=document.querySelector(".ck-body-wrapper");e&&0==e.childElementCount&&e.remove()}}var d=s("./packages/ckeditor5-ui/src/button/buttonview.js"),h=s("./packages/ckeditor5-ui/src/button/switchbuttonview.js");function u(e,t){const s=e.t,o={Black:s("Black"),"Dim grey":s("Dim grey"),Grey:s("Grey"),"Light grey":s("Light grey"),White:s("White"),Red:s("Red"),Orange:s("Orange"),Yellow:s("Yellow"),"Light green":s("Light green"),Green:s("Green"),Aquamarine:s("Aquamarine"),Turquoise:s("Turquoise"),"Light blue":s("Light blue"),Blue:s("Blue"),Purple:s("Purple")};return t.map((e=>{const t=o[e.label];return t&&t!=e.label&&(e.label=t),e}))}function p(e){return e.map(g).filter((e=>!!e))}function g(e){return"string"==typeof e?{model:e,label:e,hasBorder:!1,view:{name:"span",styles:{color:e}}}:{model:e.color,label:e.label||e.color,hasBorder:void 0!==e.hasBorder&&e.hasBorder,view:{name:"span",styles:{color:`${e.color}`}}}}var m=s("./packages/ckeditor5-ui/src/view.js");class f extends d.Z{constructor(e){super(e);const t=this.bindTemplate;this.set("color"),this.set("hasBorder"),this.icon='',this.extendTemplate({attributes:{style:{backgroundColor:t.to("color")},class:["ck","ck-color-grid__tile",t.if("hasBorder","ck-color-table__color-tile_bordered")]}})}render(){super.render(),this.iconView.fillColor="hsl(0, 0%, 100%)"}}var k=s("./packages/ckeditor5-utils/src/focustracker.js"),_=s("./packages/ckeditor5-ui/src/focuscycler.js"),b=s("./packages/ckeditor5-utils/src/keystrokehandler.js"),w=s("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),v=s.n(w),y=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/colorgrid/colorgrid.css"),Z={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};v()(y.Z,Z);y.Z.locals;class P extends m.Z{constructor(e,t){super(e);const s=t&&t.colorDefinitions||[],o={};t&&t.columns&&(o.gridTemplateColumns=`repeat( ${t.columns}, 1fr)`),this.set("selectedColor"),this.items=this.createCollection(),this.focusTracker=new k.Z,this.keystrokes=new b.Z,this._focusCycler=new _.Z({focusables:this.items,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"arrowleft",focusNext:"arrowright"}}),this.items.on("add",((e,t)=>{t.isOn=t.color===this.selectedColor})),s.forEach((e=>{const t=new f;t.set({color:e.color,label:e.label,tooltip:!0,hasBorder:e.options.hasBorder}),t.on("execute",(()=>{this.fire("execute",{value:e.color,hasBorder:e.options.hasBorder,label:e.label})})),this.items.add(t)})),this.setTemplate({tag:"div",children:this.items,attributes:{class:["ck","ck-color-grid"],style:o}}),this.on("change:selectedColor",((e,t,s)=>{for(const e of this.items)e.isOn=e.color===s}))}focus(){this.items.length&&this.items.first.focus()}focusLast(){this.items.length&&this.items.last.focus()}render(){super.render();for(const e of this.items)this.focusTracker.add(e.element);this.items.on("add",((e,t)=>{this.focusTracker.add(t.element)})),this.items.on("remove",((e,t)=>{this.focusTracker.remove(t.element)})),this.keystrokes.listenTo(this.element)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}}var j=s("./packages/ckeditor5-ui/src/dropdown/button/dropdownbuttonview.js"),x=s("./packages/ckeditor5-ui/theme/icons/dropdown-arrow.svg"),A=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/dropdown/splitbutton.css"),T={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};v()(A.Z,T);A.Z.locals;class C extends m.Z{constructor(e){super(e);const t=this.bindTemplate;this.set("class"),this.set("icon"),this.set("isEnabled",!0),this.set("isOn",!1),this.set("isToggleable",!1),this.set("isVisible",!0),this.set("keystroke"),this.set("label"),this.set("tabindex",-1),this.set("tooltip"),this.set("tooltipPosition","s"),this.set("type","button"),this.set("withText",!1),this.children=this.createCollection(),this.actionView=this._createActionView(),this.arrowView=this._createArrowView(),this.keystrokes=new b.Z,this.focusTracker=new k.Z,this.setTemplate({tag:"div",attributes:{class:["ck","ck-splitbutton",t.to("class"),t.if("isVisible","ck-hidden",(e=>!e)),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",((e,t)=>{this.focusTracker.focusedElement===this.actionView.element&&(this.arrowView.focus(),t())})),this.keystrokes.set("arrowleft",((e,t)=>{this.focusTracker.focusedElement===this.arrowView.element&&(this.actionView.focus(),t())}))}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this.actionView.focus()}_createActionView(){const e=new d.Z;return e.bind("icon","isEnabled","isOn","isToggleable","keystroke","label","tabindex","tooltip","tooltipPosition","type","withText").to(this),e.extendTemplate({attributes:{class:"ck-splitbutton__action"}}),e.delegate("execute").to(this),e}_createArrowView(){const e=new d.Z,t=e.bindTemplate;return e.icon=x.Z,e.extendTemplate({attributes:{class:"ck-splitbutton__arrow","aria-haspopup":!0,"aria-expanded":t.to("isOn",(e=>String(e)))}}),e.bind("isEnabled").to(this),e.delegate("execute").to(this,"open"),e}}var E=s("./packages/ckeditor5-ui/src/dropdown/utils.js"),S=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/editorui/editorui.css"),O={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};v()(S.Z,O);S.Z.locals;class R extends m.Z{constructor(e){super(e),this.body=new l(e)}render(){super.render(),this.body.attachToDom()}destroy(){return this.body.detachFromDom(),super.destroy()}}var M=s("./packages/ckeditor5-utils/src/uid.js"),N=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/label/label.css"),I={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};v()(N.Z,I);N.Z.locals;class V extends m.Z{constructor(e){super(e),this.set("text"),this.set("for"),this.id=`ck-editor__label_${(0,M.Z)()}`;const t=this.bindTemplate;this.setTemplate({tag:"label",attributes:{class:["ck","ck-label"],id:this.id,for:t.to("for")},children:[{text:t.to("text")}]})}}class z extends R{constructor(e){super(e),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:e.uiLanguageDirection,lang:e.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 e=this.t,t=new V;return t.text=e("Rich Text Editor"),t.extendTemplate({attributes:{class:"ck-voice-label"}}),t}}class D extends m.Z{constructor(e,t,s){super(e),this.setTemplate({tag:"div",attributes:{class:["ck","ck-content","ck-editor__editable","ck-rounded-corners"],lang:e.contentLanguage,dir:e.contentLanguageDirection}}),this.name=null,this.set("isFocused",!1),this._editableElement=s,this._hasExternalElement=!!this._editableElement,this._editingView=t}render(){super.render(),this._hasExternalElement?this.template.apply(this.element=this._editableElement):this._editableElement=this.element,this.on("change:isFocused",(()=>this._updateIsFocusedClasses())),this._updateIsFocusedClasses()}destroy(){this._hasExternalElement&&this.template.revert(this._editableElement),super.destroy()}_updateIsFocusedClasses(){const e=this._editingView;function t(t){e.change((s=>{const o=e.document.getRoot(t.name);s.addClass(t.isFocused?"ck-focused":"ck-blurred",o),s.removeClass(t.isFocused?"ck-blurred":"ck-focused",o)}))}e.isRenderingInProgress?function s(o){e.once("change:isRenderingInProgress",((e,i,r)=>{r?s(o):t(o)}))}(this):t(this)}}class B extends D{constructor(e,t,s){super(e,t,s),this.extendTemplate({attributes:{role:"textbox",class:"ck-editor__editable_inline"}})}render(){super.render();const e=this._editingView,t=this.t;e.change((s=>{const o=e.document.getRoot(this.name);s.setAttribute("aria-label",t("Rich Text Editor, %0",this.name),o)}))}}var F=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/formheader/formheader.css"),L={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};v()(F.Z,L);F.Z.locals;class W extends m.Z{constructor(e,t={}){super(e);const s=this.bindTemplate;this.set("label",t.label||""),this.set("class",t.class||null),this.children=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-form__header",s.to("class")]},children:this.children});const o=new m.Z(e);o.setTemplate({tag:"span",attributes:{class:["ck","ck-form__header__label"]},children:[{text:s.to("label")}]}),this.children.add(o)}}var q=s("./packages/ckeditor5-ui/src/icon/iconview.js"),$=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/input/input.css"),H={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};v()($.Z,H);$.Z.locals;class U extends m.Z{constructor(e){super(e),this.set("value"),this.set("id"),this.set("placeholder"),this.set("isReadOnly",!1),this.set("hasError",!1),this.set("ariaDescribedById"),this.focusTracker=new k.Z,this.bind("isFocused").to(this.focusTracker),this.set("isEmpty",!0),this.set("inputMode","text");const t=this.bindTemplate;this.setTemplate({tag:"input",attributes:{class:["ck","ck-input",t.if("isFocused","ck-input_focused"),t.if("isEmpty","ck-input-text_empty"),t.if("hasError","ck-error")],id:t.to("id"),placeholder:t.to("placeholder"),readonly:t.to("isReadOnly"),inputmode:t.to("inputMode"),"aria-invalid":t.if("hasError",!0),"aria-describedby":t.to("ariaDescribedById")},on:{input:t.to(((...e)=>{this.fire("input",...e),this._updateIsEmpty()})),change:t.to(this._updateIsEmpty.bind(this))}})}render(){super.render(),this.focusTracker.add(this.element),this._setDomElementValue(this.value),this._updateIsEmpty(),this.on("change:value",((e,t,s)=>{this._setDomElementValue(s),this._updateIsEmpty()}))}destroy(){super.destroy(),this.focusTracker.destroy()}select(){this.element.select()}focus(){this.element.focus()}_updateIsEmpty(){this.isEmpty=!this.element.value}_setDomElementValue(e){this.element.value=e||0===e?e:""}}class K extends U{constructor(e){super(e),this.extendTemplate({attributes:{type:"text",class:["ck-input-text"]}})}}class G extends U{constructor(e,{min:t,max:s,step:o}={}){super(e);const i=this.bindTemplate;this.set("min",t),this.set("max",s),this.set("step",o),this.extendTemplate({attributes:{type:"number",class:["ck-input-number"],min:i.to("min"),max:i.to("max"),step:i.to("step")}})}}class J extends m.Z{constructor(e){super(e);const t=this.bindTemplate;this.setTemplate({tag:"iframe",attributes:{class:["ck","ck-reset_all"],sandbox:"allow-same-origin allow-scripts"},on:{load:t.to("loaded")}})}render(){return new Promise((e=>{this.on("loaded",e),super.render()}))}}var X=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/labeledfield/labeledfieldview.css"),Q={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};v()(X.Z,Q);X.Z.locals;class Y extends m.Z{constructor(e,t){super(e);const s=`ck-labeled-field-view-${(0,M.Z)()}`,o=`ck-labeled-field-view-status-${(0,M.Z)()}`;this.fieldView=t(this,s,o),this.set("label"),this.set("isEnabled",!0),this.set("isEmpty",!0),this.set("isFocused",!1),this.set("errorText",null),this.set("infoText",null),this.set("class"),this.set("placeholder"),this.labelView=this._createLabelView(s),this.statusView=this._createStatusView(o),this.bind("_statusText").to(this,"errorText",this,"infoText",((e,t)=>e||t));const i=this.bindTemplate;this.setTemplate({tag:"div",attributes:{class:["ck","ck-labeled-field-view",i.to("class"),i.if("isEnabled","ck-disabled",(e=>!e)),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(e){const t=new V(this.locale);return t.for=e,t.bind("text").to(this,"label"),t}_createStatusView(e){const t=new m.Z(this.locale),s=this.bindTemplate;return t.setTemplate({tag:"div",attributes:{class:["ck","ck-labeled-field-view__status",s.if("errorText","ck-labeled-field-view__status_error"),s.if("_statusText","ck-hidden",(e=>!e))],id:e,role:s.if("errorText","alert")},children:[{text:s.to("_statusText")}]}),t}focus(){this.fieldView.focus()}}function ee(e,t,s){const o=new K(e.locale);return o.set({id:t,ariaDescribedById:s}),o.bind("isReadOnly").to(e,"isEnabled",(e=>!e)),o.bind("hasError").to(e,"errorText",(e=>!!e)),o.on("input",(()=>{e.errorText=null})),e.bind("isEmpty","isFocused","placeholder").to(o),o}function te(e,t,s){const o=new G(e.locale);return o.set({id:t,ariaDescribedById:s,inputMode:"numeric"}),o.bind("isReadOnly").to(e,"isEnabled",(e=>!e)),o.bind("hasError").to(e,"errorText",(e=>!!e)),o.on("input",(()=>{e.errorText=null})),e.bind("isEmpty","isFocused","placeholder").to(o),o}function se(e,t,s){const o=(0,E.t9)(e.locale);return o.set({id:t,ariaDescribedById:s}),o.bind("isEnabled").to(e),o}var oe=s("./packages/ckeditor5-ui/src/list/listitemview.js"),ie=s("./packages/ckeditor5-ui/src/list/listview.js"),re=s("./packages/ckeditor5-core/src/contextplugin.js");class ne extends re.Z{static get pluginName(){return"Notification"}init(){this.on("show:warning",((e,t)=>{window.alert(t.message)}),{priority:"lowest"})}showSuccess(e,t={}){this._showNotification({message:e,type:"success",namespace:t.namespace,title:t.title})}showInfo(e,t={}){this._showNotification({message:e,type:"info",namespace:t.namespace,title:t.title})}showWarning(e,t={}){this._showNotification({message:e,type:"warning",namespace:t.namespace,title:t.title})}_showNotification(e){const t=`show:${e.type}`+(e.namespace?`:${e.namespace}`:"");this.fire(t,{message:e.message,type:e.type,title:e.title||""})}}var ae=s("./packages/ckeditor5-utils/src/mix.js"),ce=s("./packages/ckeditor5-utils/src/observablemixin.js"),le=s("./node_modules/lodash-es/assignIn.js");class de{constructor(e,t){t&&(0,le.Z)(this,t),e&&this.set(e)}}(0,ae.Z)(de,ce.Z);var he=s("./packages/ckeditor5-ui/src/panel/balloon/balloonpanelview.js"),ue=s("./packages/ckeditor5-ui/src/panel/balloon/contextualballoon.js"),pe=s("./packages/ckeditor5-utils/src/dom/global.js"),ge=s("./packages/ckeditor5-utils/src/dom/tounit.js"),me=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/panel/stickypanel.css"),fe={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};v()(me.Z,fe);me.Z.locals;const ke=(0,ge.Z)("px");class _e extends m.Z{constructor(e){super(e);const t=this.bindTemplate;this.set("isActive",!1),this.set("isSticky",!1),this.set("limiterElement",null),this.set("limiterBottomOffset",50),this.set("viewportTopOffset",0),this.set("_marginLeft",null),this.set("_isStickyToTheLimiter",!1),this.set("_hasViewportTopOffset",!1),this.content=this.createCollection(),this._contentPanelPlaceholder=new n.ZP({tag:"div",attributes:{class:["ck","ck-sticky-panel__placeholder"],style:{display:t.to("isSticky",(e=>e?"block":"none")),height:t.to("isSticky",(e=>e?ke(this._panelRect.height):null))}}}).render(),this._contentPanel=new n.ZP({tag:"div",attributes:{class:["ck","ck-sticky-panel__content",t.if("isSticky","ck-sticky-panel__content_sticky"),t.if("_isStickyToTheLimiter","ck-sticky-panel__content_sticky_bottom-limit")],style:{width:t.to("isSticky",(e=>e?ke(this._contentPanelPlaceholder.getBoundingClientRect().width):null)),top:t.to("_hasViewportTopOffset",(e=>e?ke(this.viewportTopOffset):null)),bottom:t.to("_isStickyToTheLimiter",(e=>e?ke(this.limiterBottomOffset):null)),marginLeft:t.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(pe.Z.window,"scroll",(()=>{this._checkIfShouldBeSticky()})),this.listenTo(this,"change:isActive",(()=>{this._checkIfShouldBeSticky()}))}_checkIfShouldBeSticky(){const e=this._panelRect=this._contentPanel.getBoundingClientRect();let t;this.limiterElement?(t=this._limiterRect=this.limiterElement.getBoundingClientRect(),this.isSticky=this.isActive&&t.top{s.isFocused&&!o.focusTracker.isFocused&&(i&&i(),o.focus(),t())})),o.keystrokes.set("Esc",((t,s)=>{o.focusTracker.isFocused&&(e.focus(),r&&r(),s())}))}var Ze=s("./packages/ckeditor5-ui/src/toolbar/normalizetoolbarconfig.js"),Pe=s("./packages/ckeditor5-core/src/plugin.js"),je=s("./packages/ckeditor5-utils/src/dom/rect.js"),xe=s("./node_modules/lodash-es/debounce.js"),Ae=s("./packages/ckeditor5-utils/src/dom/resizeobserver.js"),Te=s("./packages/ckeditor5-utils/src/index.js");const Ce=(0,ge.Z)("px");class Ee extends Pe.Z{static get pluginName(){return"BalloonToolbar"}static get requires(){return[ue.Z]}constructor(e){super(e),this._balloonConfig=(0,Ze.Z)(e.config.get("balloonToolbar")),this.toolbarView=this._createToolbarView(),this.focusTracker=new k.Z,e.ui.once("ready",(()=>{this.focusTracker.add(e.ui.getEditableElement()),this.focusTracker.add(this.toolbarView.element)})),this._resizeObserver=null,this._balloon=e.plugins.get(ue.Z),this._fireSelectionChangeDebounced=(0,xe.Z)((()=>this.fire("_selectionChangeDebounced")),200),this.decorate("show")}init(){const e=this.editor,t=e.model.document.selection;this.listenTo(this.focusTracker,"change:isFocused",((e,t,s)=>{const o=this._balloon.visibleView===this.toolbarView;!s&&o?this.hide():s&&this.show()})),this.listenTo(t,"change:range",((e,s)=>{(s.directChange||t.isCollapsed)&&this.hide(),this._fireSelectionChangeDebounced()})),this.listenTo(this,"_selectionChangeDebounced",(()=>{this.editor.editing.view.document.isFocused&&this.show()})),this._balloonConfig.shouldNotGroupWhenFull||this.listenTo(e,"ready",(()=>{const t=e.ui.view.editable.element;this._resizeObserver=new Ae.Z(t,(()=>{this.toolbarView.maxWidth=Ce(.9*new je.Z(t).width)}))})),this.listenTo(this.toolbarView,"groupedItemsUpdate",(()=>{this._updatePosition()}))}afterInit(){const e=this.editor.ui.componentFactory;this.toolbarView.fillFromConfig(this._balloonConfig,e)}_createToolbarView(){const e=!this._balloonConfig.shouldNotGroupWhenFull,t=new we.Z(this.editor.locale,{shouldGroupWhenFull:e,isFloating:!0});return t.render(),t}show(){const e=this.editor,t=e.model.document.selection,s=e.model.schema;this._balloon.hasView(this.toolbarView)||t.isCollapsed||function(e,t){if(1===e.rangeCount)return!1;return[...e.getRanges()].every((e=>{const s=e.getContainedElement();return s&&t.isSelectable(s)}))}(t,s)||Array.from(this.toolbarView.items).every((e=>void 0!==e.isEnabled&&!e.isEnabled))||(this.listenTo(this.editor.ui,"update",(()=>{this._updatePosition()})),this._balloon.add({view:this.toolbarView,position:this._getBalloonPositionData(),balloonClassName:"ck-toolbar-container"}))}hide(){this._balloon.hasView(this.toolbarView)&&(this.stopListening(this.editor.ui,"update"),this._balloon.remove(this.toolbarView))}_getBalloonPositionData(){const e=this.editor.editing.view,t=e.document,s=t.selection,o=t.selection.isBackward;return{target:()=>{const t=o?s.getFirstRange():s.getLastRange(),i=je.Z.getDomRangeRects(e.domConverter.viewRangeToDom(t));return o?i[0]:(i.length>1&&0===i[i.length-1].width&&i.pop(),i[i.length-1])},positions:this._getBalloonPositions(o)}}_updatePosition(){this._balloon.updatePosition(this._getBalloonPositionData())}destroy(){super.destroy(),this.stopListening(),this._fireSelectionChangeDebounced.cancel(),this.toolbarView.destroy(),this.focusTracker.destroy(),this._resizeObserver&&this._resizeObserver.destroy()}_getBalloonPositions(e){const t=Te.OB.isSafari&&Te.OB.isiOS?(0,he.M)({verticalOffset:Math.max(he.Z.arrowVerticalOffset,Math.round(20/Te.CO.window.visualViewport.scale))}):he.Z.defaultPositions;return e?[t.northWestArrowSouth,t.northWestArrowSouthWest,t.northWestArrowSouthEast,t.northWestArrowSouthMiddleEast,t.northWestArrowSouthMiddleWest,t.southWestArrowNorth,t.southWestArrowNorthWest,t.southWestArrowNorthEast,t.southWestArrowNorthMiddleWest,t.southWestArrowNorthMiddleEast]:[t.southEastArrowNorth,t.southEastArrowNorthEast,t.southEastArrowNorthWest,t.southEastArrowNorthMiddleEast,t.southEastArrowNorthMiddleWest,t.northEastArrowSouth,t.northEastArrowSouthEast,t.northEastArrowSouthWest,t.northEastArrowSouthMiddleEast,t.northEastArrowSouthMiddleWest]}}var Se=s("./packages/ckeditor5-core/theme/icons/pilcrow.svg"),Oe=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/toolbar/blocktoolbar.css"),Re={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};v()(Oe.Z,Re);Oe.Z.locals;const Me=(0,ge.Z)("px");class Ne extends d.Z{constructor(e){super(e);const t=this.bindTemplate;this.isVisible=!1,this.isToggleable=!0,this.set("top",0),this.set("left",0),this.extendTemplate({attributes:{class:"ck-block-toolbar-button",style:{top:t.to("top",(e=>Me(e))),left:t.to("left",(e=>Me(e)))}}})}}var Ie=s("./packages/ckeditor5-utils/src/dom/position.js");const Ve=(0,ge.Z)("px");class ze extends Pe.Z{static get pluginName(){return"BlockToolbar"}constructor(e){super(e),this._blockToolbarConfig=(0,Ze.Z)(this.editor.config.get("blockToolbar")),this.toolbarView=this._createToolbarView(),this.panelView=this._createPanelView(),this.buttonView=this._createButtonView(),this._resizeObserver=null,(0,o.Z)({emitter:this.panelView,contextElements:[this.panelView.element,this.buttonView.element],activator:()=>this.panelView.isVisible,callback:()=>this._hidePanel()})}init(){const e=this.editor;this.listenTo(e.model.document.selection,"change:range",((e,t)=>{t.directChange&&this._hidePanel()})),this.listenTo(e.ui,"update",(()=>this._updateButton())),this.listenTo(e,"change:isReadOnly",(()=>this._updateButton()),{priority:"low"}),this.listenTo(e.ui.focusTracker,"change:isFocused",(()=>this._updateButton())),this.listenTo(this.buttonView,"change:isVisible",((e,t,s)=>{s?this.buttonView.listenTo(window,"resize",(()=>this._updateButton())):(this.buttonView.stopListening(window,"resize"),this._hidePanel())}))}afterInit(){const e=this.editor.ui.componentFactory,t=this._blockToolbarConfig;this.toolbarView.fillFromConfig(t,e);for(const e of this.toolbarView.items)e.on("execute",(()=>this._hidePanel(!0)),{priority:"high"});t.shouldNotGroupWhenFull||this.listenTo(this.editor,"ready",(()=>{const e=this.editor.ui.view.editable.element;this._resizeObserver=new Ae.Z(e,(()=>{this.toolbarView.maxWidth=this._getToolbarMaxWidth()}))}))}destroy(){super.destroy(),this.panelView.destroy(),this.buttonView.destroy(),this.toolbarView.destroy(),this._resizeObserver&&this._resizeObserver.destroy()}_createToolbarView(){const e=!this._blockToolbarConfig.shouldNotGroupWhenFull,t=new we.Z(this.editor.locale,{shouldGroupWhenFull:e,isFloating:!0});return t.focusTracker.on("change:isFocused",((e,t,s)=>{s||this._hidePanel()})),t}_createPanelView(){const e=this.editor,t=new he.Z(e.locale);return t.content.add(this.toolbarView),t.class="ck-toolbar-container",e.ui.view.body.add(t),e.ui.focusTracker.add(t.element),this.toolbarView.keystrokes.set("Esc",((e,t)=>{this._hidePanel(!0),t()})),t}_createButtonView(){const e=this.editor,t=e.t,s=new Ne(e.locale);return s.set({label:t("Edit block"),icon:Se.Z,withText:!1}),s.bind("isOn").to(this.panelView,"isVisible"),s.bind("tooltip").to(this.panelView,"isVisible",(e=>!e)),this.listenTo(s,"execute",(()=>{this.panelView.isVisible?this._hidePanel(!0):this._showPanel()})),e.ui.view.body.add(s),e.ui.focusTracker.add(s.element),s}_updateButton(){const e=this.editor,t=e.model,s=e.editing.view;if(!e.ui.focusTracker.isFocused)return void this._hideButton();if(e.isReadOnly)return void this._hideButton();const o=Array.from(t.document.selection.getSelectedBlocks())[0];if(!o||Array.from(this.toolbarView.items).every((e=>!e.isEnabled)))return void this._hideButton();const i=s.domConverter.mapViewToDom(e.editing.mapper.toViewElement(o));this.buttonView.isVisible=!0,this._attachButtonToElement(i),this.panelView.isVisible&&this._showPanel()}_hideButton(){this.buttonView.isVisible=!1}_showPanel(){const e=this.panelView.isVisible;this.panelView.show(),this.toolbarView.maxWidth=this._getToolbarMaxWidth(),this.panelView.pin({target:this.buttonView.element,limiter:this.editor.ui.getEditableElement()}),e||this.toolbarView.items.get(0).focus()}_hidePanel(e){this.panelView.isVisible=!1,e&&this.editor.editing.view.focus()}_attachButtonToElement(e){const t=window.getComputedStyle(e),s=new je.Z(this.editor.ui.getEditableElement()),o=parseInt(t.paddingTop,10),i=parseInt(t.lineHeight,10)||1.2*parseInt(t.fontSize,10),r=(0,Ie.x)({element:this.buttonView.element,target:e,positions:[(e,t)=>{let r;return r="ltr"===this.editor.locale.uiLanguageDirection?s.left-t.width:s.right,{top:e.top+o+(i-t.height)/2,left:r}}]});this.buttonView.top=r.top,this.buttonView.left=r.left}_getToolbarMaxWidth(){const e=this.editor.ui.view.editable.element,t=new je.Z(e),s=new je.Z(this.buttonView.element),o="rtl"===this.editor.locale.uiLanguageDirection?s.left-t.right+s.width:t.left-s.left;return Ve(t.width+o)}}},"./src/undo.js":(e,t,s)=>{"use strict";s.r(t),s.d(t,{Undo:()=>f,UndoEditing:()=>h,UndoUi:()=>m});var o=s("./packages/ckeditor5-core/src/plugin.js"),i=s("./packages/ckeditor5-core/src/command.js"),r=s("./packages/ckeditor5-engine/src/model/operation/transform.js");class n extends i.Z{constructor(e){super(e),this._stack=[],this._createdBatches=new WeakSet,this.refresh(),this.listenTo(e.data,"set",((e,t)=>{t[1]={...t[1]};const s=t[1];s.batchType||(s.batchType={isUndoable:!1})}),{priority:"high"}),this.listenTo(e.data,"set",((e,t)=>{t[1].batchType.isUndoable||this.clearStack()}))}refresh(){this.isEnabled=this._stack.length>0}addBatch(e){const t=this.editor.model.document.selection,s={ranges:t.hasOwnRange?Array.from(t.getRanges()):[],isBackward:t.isBackward};this._stack.push({batch:e,selection:s}),this.refresh()}clearStack(){this._stack=[],this.refresh()}_restoreSelection(e,t,s){const o=this.editor.model,i=o.document,r=[],n=e.map((e=>e.getTransformedByOperations(s))),l=n.flat();for(const e of n){const t=e.filter((e=>e.root!=i.graveyard)).filter((e=>!c(e,l)));t.length&&(a(t),r.push(t[0]))}r.length&&o.change((e=>{e.setSelection(r,{backward:t})}))}_undo(e,t){const s=this.editor.model,o=s.document;this._createdBatches.add(t);const i=e.operations.slice().filter((e=>e.isDocumentOperation));i.reverse();for(const e of i){const i=e.baseVersion+1,n=Array.from(o.history.getOperations(i)),a=(0,r.R)([e.getReversed()],n,{useRelations:!0,document:this.editor.model.document,padWithNoOps:!1,forceWeakRemove:!0}).operationsA;for(const i of a)t.addOperation(i),s.applyOperation(i),o.history.setOperationAsUndone(e,i)}}}function a(e){e.sort(((e,t)=>e.start.isBefore(t.start)?-1:1));for(let t=1;tt!==e&&t.containsRange(e,!0)))}class l extends n{execute(e=null){const t=e?this._stack.findIndex((t=>t.batch==e)):this._stack.length-1,s=this._stack.splice(t,1)[0],o=this.editor.model.createBatch({isUndo:!0});this.editor.model.enqueueChange(o,(()=>{this._undo(s.batch,o);const e=this.editor.model.document.history.getOperations(s.batch.baseVersion);this._restoreSelection(s.selection.ranges,s.selection.isBackward,e),this.fire("revert",s.batch,o)})),this.refresh()}}class d extends n{execute(){const e=this._stack.pop(),t=this.editor.model.createBatch({isUndo:!0});this.editor.model.enqueueChange(t,(()=>{const s=e.batch.operations[e.batch.operations.length-1].baseVersion+1,o=this.editor.model.document.history.getOperations(s);this._restoreSelection(e.selection.ranges,e.selection.isBackward,o),this._undo(e.batch,t)})),this.refresh()}}class h extends o.Z{static get pluginName(){return"UndoEditing"}constructor(e){super(e),this._batchRegistry=new WeakSet}init(){const e=this.editor;this._undoCommand=new l(e),this._redoCommand=new d(e),e.commands.add("undo",this._undoCommand),e.commands.add("redo",this._redoCommand),this.listenTo(e.model,"applyOperation",((e,t)=>{const s=t[0];if(!s.isDocumentOperation)return;const o=s.batch,i=this._redoCommand._createdBatches.has(o),r=this._undoCommand._createdBatches.has(o);this._batchRegistry.has(o)||(this._batchRegistry.add(o),o.isUndoable&&(i?this._undoCommand.addBatch(o):r||(this._undoCommand.addBatch(o),this._redoCommand.clearStack())))}),{priority:"highest"}),this.listenTo(this._undoCommand,"revert",((e,t,s)=>{this._redoCommand.addBatch(s)})),e.keystrokes.set("CTRL+Z","undo"),e.keystrokes.set("CTRL+Y","redo"),e.keystrokes.set("CTRL+SHIFT+Z","redo")}}var u=s("./packages/ckeditor5-ui/src/button/buttonview.js");const p='',g='';class m extends o.Z{static get pluginName(){return"UndoUI"}init(){const e=this.editor,t=e.locale,s=e.t,o="ltr"==t.uiLanguageDirection?p:g,i="ltr"==t.uiLanguageDirection?g:p;this._addButton("undo",s("Undo"),"CTRL+Z",o),this._addButton("redo",s("Redo"),"CTRL+Y",i)}_addButton(e,t,s,o){const i=this.editor;i.ui.componentFactory.add(e,(r=>{const n=i.commands.get(e),a=new u.Z(r);return a.set({label:t,icon:o,keystroke:s,tooltip:!0}),a.bind("isEnabled").to(n,"isEnabled"),this.listenTo(a,"execute",(()=>{i.execute(e),i.editing.view.focus()})),a}))}}class f extends o.Z{static get requires(){return[h,m]}static get pluginName(){return"Undo"}}},"./src/upload.js":(e,t,s)=>{"use strict";s.r(t),s.d(t,{Base64UploadAdapter:()=>k,FileDialogButtonView:()=>m,FileRepository:()=>h,SimpleUploadAdapter:()=>b});var o=s("./packages/ckeditor5-core/src/plugin.js"),i=s("./packages/ckeditor5-core/src/pendingactions.js"),r=s("./packages/ckeditor5-utils/src/ckeditorerror.js"),n=s("./packages/ckeditor5-utils/src/observablemixin.js"),a=s("./packages/ckeditor5-utils/src/collection.js"),c=s("./packages/ckeditor5-utils/src/mix.js");class l{constructor(){const e=new window.FileReader;this._reader=e,this._data=void 0,this.set("loaded",0),e.onprogress=e=>{this.loaded=e.loaded}}get error(){return this._reader.error}get data(){return this._data}read(e){const t=this._reader;return this.total=e.size,new Promise(((s,o)=>{t.onload=()=>{const e=t.result;this._data=e,s(e)},t.onerror=()=>{o("error")},t.onabort=()=>{o("aborted")},this._reader.readAsDataURL(e)}))}abort(){this._reader.abort()}}(0,c.Z)(l,n.Z);var d=s("./packages/ckeditor5-utils/src/uid.js");class h extends o.Z{static get pluginName(){return"FileRepository"}static get requires(){return[i.Z]}init(){this.loaders=new a.Z,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",((e,t)=>t?e/t*100:0))}getLoader(e){return this._loadersMap.get(e)||null}createLoader(e){if(!this.createUploadAdapter)return(0,r.KE)("filerepository-no-upload-adapter"),null;const t=new u(Promise.resolve(e),this.createUploadAdapter);return this.loaders.add(t),this._loadersMap.set(e,t),e instanceof Promise&&t.file.then((e=>{this._loadersMap.set(e,t)})).catch((()=>{})),t.on("change:uploaded",(()=>{let e=0;for(const t of this.loaders)e+=t.uploaded;this.uploaded=e})),t.on("change:uploadTotal",(()=>{let e=0;for(const t of this.loaders)t.uploadTotal&&(e+=t.uploadTotal);this.uploadTotal=e})),t}destroyLoader(e){const t=e instanceof u?e:this.getLoader(e);t._destroy(),this.loaders.remove(t),this._loadersMap.forEach(((e,s)=>{e===t&&this._loadersMap.delete(s)}))}_updatePendingAction(){const e=this.editor.plugins.get(i.Z);if(this.loaders.length){if(!this._pendingAction){const t=this.editor.t,s=e=>`${t("Upload in progress")} ${parseInt(e)}%.`;this._pendingAction=e.add(s(this.uploadedPercent)),this._pendingAction.bind("message").to(this,"uploadedPercent",s)}}else e.remove(this._pendingAction),this._pendingAction=null}}(0,c.Z)(h,n.Z);class u{constructor(e,t){this.id=(0,d.Z)(),this._filePromiseWrapper=this._createFilePromiseWrapper(e),this._adapter=t(this),this._reader=new l,this.set("status","idle"),this.set("uploaded",0),this.set("uploadTotal",null),this.bind("uploadedPercent").to(this,"uploaded",this,"uploadTotal",((e,t)=>t?e/t*100:0)),this.set("uploadResponse",null)}get file(){return this._filePromiseWrapper?this._filePromiseWrapper.promise.then((e=>this._filePromiseWrapper?e:null)):Promise.resolve(null)}get data(){return this._reader.data}read(){if("idle"!=this.status)throw new r.ZP("filerepository-read-wrong-status",this);return this.status="reading",this.file.then((e=>this._reader.read(e))).then((e=>{if("reading"!==this.status)throw this.status;return this.status="idle",e})).catch((e=>{if("aborted"===e)throw this.status="aborted","aborted";throw this.status="error",this._reader.error?this._reader.error:e}))}upload(){if("idle"!=this.status)throw new r.ZP("filerepository-upload-wrong-status",this);return this.status="uploading",this.file.then((()=>this._adapter.upload())).then((e=>(this.uploadResponse=e,this.status="idle",e))).catch((e=>{if("aborted"===this.status)throw"aborted";throw this.status="error",e}))}abort(){const e=this.status;this.status="aborted",this._filePromiseWrapper.isFulfilled?"reading"==e?this._reader.abort():"uploading"==e&&this._adapter.abort&&this._adapter.abort():(this._filePromiseWrapper.promise.catch((()=>{})),this._filePromiseWrapper.rejecter("aborted")),this._destroy()}_destroy(){this._filePromiseWrapper=void 0,this._reader=void 0,this._adapter=void 0,this.uploadResponse=void 0}_createFilePromiseWrapper(e){const t={};return t.promise=new Promise(((s,o)=>{t.rejecter=o,t.isFulfilled=!1,e.then((e=>{t.isFulfilled=!0,s(e)})).catch((e=>{t.isFulfilled=!0,o(e)}))})),t}}(0,c.Z)(u,n.Z);var p=s("./packages/ckeditor5-ui/src/button/buttonview.js"),g=s("./packages/ckeditor5-ui/src/view.js");class m extends g.Z{constructor(e){super(e),this.buttonView=new p.Z(e),this._fileInputView=new f(e),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 f extends g.Z{constructor(e){super(e),this.set("acceptedType"),this.set("allowMultipleFiles",!1);const t=this.bindTemplate;this.setTemplate({tag:"input",attributes:{class:["ck-hidden"],type:"file",tabindex:"-1",accept:t.to("acceptedType"),multiple:t.to("allowMultipleFiles")},on:{change:t.to((()=>{this.element&&this.element.files&&this.element.files.length&&this.fire("done",this.element.files),this.element.value=""}))}})}open(){this.element.click()}}class k extends o.Z{static get requires(){return[h]}static get pluginName(){return"Base64UploadAdapter"}init(){this.editor.plugins.get(h).createUploadAdapter=e=>new _(e)}}class _{constructor(e){this.loader=e}upload(){return new Promise(((e,t)=>{const s=this.reader=new window.FileReader;s.addEventListener("load",(()=>{e({default:s.result})})),s.addEventListener("error",(e=>{t(e)})),s.addEventListener("abort",(()=>{t()})),this.loader.file.then((e=>{s.readAsDataURL(e)}))}))}abort(){this.reader.abort()}}class b extends o.Z{static get requires(){return[h]}static get pluginName(){return"SimpleUploadAdapter"}init(){const e=this.editor.config.get("simpleUpload");e&&(e.uploadUrl?this.editor.plugins.get(h).createUploadAdapter=t=>new w(t,e):(0,r.KE)("simple-upload-adapter-missing-uploadurl"))}}class w{constructor(e,t){this.loader=e,this.options=t}upload(){return this.loader.file.then((e=>new Promise(((t,s)=>{this._initRequest(),this._initListeners(t,s,e),this._sendRequest(e)}))))}abort(){this.xhr&&this.xhr.abort()}_initRequest(){const e=this.xhr=new XMLHttpRequest;e.open("POST",this.options.uploadUrl,!0),e.responseType="json"}_initListeners(e,t,s){const o=this.xhr,i=this.loader,r=`Couldn't upload file: ${s.name}.`;o.addEventListener("error",(()=>t(r))),o.addEventListener("abort",(()=>t())),o.addEventListener("load",(()=>{const s=o.response;if(!s||s.error)return t(s&&s.error&&s.error.message?s.error.message:r);const i=s.url?{default:s.url}:s.urls;e({...s,urls:i})})),o.upload&&o.upload.addEventListener("progress",(e=>{e.lengthComputable&&(i.uploadTotal=e.total,i.uploaded=e.loaded)}))}_sendRequest(e){const t=this.options.headers||{},s=this.options.withCredentials||!1;for(const e of Object.keys(t))this.xhr.setRequestHeader(e,t[e]);this.xhr.withCredentials=s;const o=new FormData;o.append("upload",e),this.xhr.send(o)}}},"./src/utils.js":(e,t,s)=>{"use strict";s.r(t),s.d(t,{CKEditorError:()=>o.Bb,Collection:()=>o.FE,DomEmitterMixin:()=>o.Xu,ElementReplacer:()=>o.a6,EmitterMixin:()=>o.ln,FocusTracker:()=>o.Rh,KeystrokeHandler:()=>o.VD,Locale:()=>o.go,ObservableMixin:()=>o.Re,Rect:()=>o.UL,ResizeObserver:()=>o.do,createElement:()=>o.az,diff:()=>o.Hg,env:()=>o.OB,first:()=>o.Ps,getCode:()=>o.Cq,getDataFromElement:()=>o.yy,getEnvKeystrokeText:()=>o.XU,getLanguageDirection:()=>o.j9,getLocalizedArrowKeyCodeDirection:()=>o.mA,global:()=>o.CO,isArrowKeyCode:()=>o.dj,isForwardArrowKeyCode:()=>o.Zt,isVisible:()=>o.pn,keyCodes:()=>o.Do,logError:()=>o.H,logWarning:()=>o.KE,mix:()=>o.CD,parseKeystroke:()=>o.Zz,priorities:()=>o.tA,scrollAncestorsToShowTarget:()=>o.F0,scrollViewportToShowTarget:()=>o.mR,setDataInElement:()=>o.jS,toArray:()=>o.qo,toMap:()=>o.qL,toUnit:()=>o.nn,uid:()=>o.hQ,version:()=>o.i8});var o=s("./packages/ckeditor5-utils/src/index.js")},"./src/widget.js":(e,t,s)=>{"use strict";s.r(t),s.d(t,{WIDGET_CLASS_NAME:()=>c.s4,WIDGET_SELECTED_CLASS_NAME:()=>c.Uo,Widget:()=>o.Z,WidgetResize:()=>S,WidgetToolbarRepository:()=>d,WidgetTypeAround:()=>O.Z,findOptimalInsertionRange:()=>c.KT,getLabel:()=>c.id,isWidget:()=>c.Qd,setHighlightHandling:()=>c.em,setLabel:()=>c.l6,toWidget:()=>c.XC,toWidgetEditable:()=>c.sC,viewToModelPositionOutsideModelElement:()=>c.$n});var o=s("./packages/ckeditor5-widget/src/widget.js"),i=s("./packages/ckeditor5-core/src/plugin.js"),r=s("./packages/ckeditor5-ui/src/panel/balloon/contextualballoon.js"),n=s("./packages/ckeditor5-ui/src/toolbar/toolbarview.js"),a=s("./packages/ckeditor5-ui/src/panel/balloon/balloonpanelview.js"),c=s("./packages/ckeditor5-widget/src/utils.js"),l=s("./packages/ckeditor5-utils/src/ckeditorerror.js");class d extends i.Z{static get requires(){return[r.Z]}static get pluginName(){return"WidgetToolbarRepository"}init(){const e=this.editor;if(e.plugins.has("BalloonToolbar")){const t=e.plugins.get("BalloonToolbar");this.listenTo(t,"show",(t=>{(function(e){const t=e.getSelectedElement();return!(!t||!(0,c.Qd)(t))})(e.editing.view.document.selection)&&t.stop()}),{priority:"high"})}this._toolbarDefinitions=new Map,this._balloon=this.editor.plugins.get("ContextualBalloon"),this.on("change:isEnabled",(()=>{this._updateToolbarsVisibility()})),this.listenTo(e.ui,"update",(()=>{this._updateToolbarsVisibility()})),this.listenTo(e.ui.focusTracker,"change:isFocused",(()=>{this._updateToolbarsVisibility()}),{priority:"low"})}destroy(){super.destroy();for(const e of this._toolbarDefinitions.values())e.view.destroy()}register(e,{ariaLabel:t,items:s,getRelatedElement:o,balloonClassName:i="ck-toolbar-container"}){if(!s.length)return void(0,l.KE)("widget-toolbar-no-items",{toolbarId:e});const r=this.editor,a=r.t,c=new n.Z(r.locale);if(c.ariaLabel=t||a("Widget toolbar"),this._toolbarDefinitions.has(e))throw new l.ZP("widget-toolbar-duplicated",this,{toolbarId:e});c.fillFromConfig(s,r.ui.componentFactory),this._toolbarDefinitions.set(e,{view:c,getRelatedElement:o,balloonClassName:i})}_updateToolbarsVisibility(){let e=0,t=null,s=null;for(const o of this._toolbarDefinitions.values()){const i=o.getRelatedElement(this.editor.editing.view.document.selection);if(this.isEnabled&&i)if(this.editor.ui.focusTracker.isFocused){const r=i.getAncestors().length;r>e&&(e=r,t=i,s=o)}else this._isToolbarVisible(o)&&this._hideToolbar(o);else this._isToolbarInBalloon(o)&&this._hideToolbar(o)}s&&this._showToolbar(s,t)}_hideToolbar(e){this._balloon.remove(e.view),this.stopListening(this._balloon,"change:visibleView")}_showToolbar(e,t){this._isToolbarVisible(e)?h(this.editor,t):this._isToolbarInBalloon(e)||(this._balloon.add({view:e.view,position:u(this.editor,t),balloonClassName:e.balloonClassName}),this.listenTo(this._balloon,"change:visibleView",(()=>{for(const e of this._toolbarDefinitions.values())if(this._isToolbarVisible(e)){const t=e.getRelatedElement(this.editor.editing.view.document.selection);h(this.editor,t)}})))}_isToolbarVisible(e){return this._balloon.visibleView===e.view}_isToolbarInBalloon(e){return this._balloon.hasView(e.view)}}function h(e,t){const s=e.plugins.get("ContextualBalloon"),o=u(e,t);s.updatePosition(o)}function u(e,t){const s=e.editing.view,o=a.Z.defaultPositions;return{target:s.domConverter.mapViewToDom(t),positions:[o.northArrowSouth,o.northArrowSouthWest,o.northArrowSouthEast,o.southArrowNorth,o.southArrowNorthWest,o.southArrowNorthEast,o.viewportStickyNorth]}}var p=s("./packages/ckeditor5-ui/src/template.js"),g=s("./packages/ckeditor5-utils/src/dom/rect.js"),m=s("./packages/ckeditor5-utils/src/comparearrays.js"),f=s("./packages/ckeditor5-utils/src/observablemixin.js"),k=s("./packages/ckeditor5-utils/src/mix.js");class _{constructor(e){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=e,this._referenceCoordinates=null}begin(e,t,s){const o=new g.Z(t);this.activeHandlePosition=function(e){const t=["top-left","top-right","bottom-right","bottom-left"];for(const s of t)if(e.classList.contains(b(s)))return s}(e),this._referenceCoordinates=function(e,t){const s=new g.Z(e),o=t.split("-"),i={x:"right"==o[1]?s.right:s.left,y:"bottom"==o[0]?s.bottom:s.top};return i.x+=e.ownerDocument.defaultView.scrollX,i.y+=e.ownerDocument.defaultView.scrollY,i}(t,function(e){const t=e.split("-"),s={top:"bottom",bottom:"top",left:"right",right:"left"};return`${s[t[0]]}-${s[t[1]]}`}(this.activeHandlePosition)),this.originalWidth=o.width,this.originalHeight=o.height,this.aspectRatio=o.width/o.height;const i=s.style.width;i&&i.match(/^\d+(\.\d*)?%$/)?this.originalWidthPercents=parseFloat(i):this.originalWidthPercents=function(e,t){const s=e.parentElement,o=parseFloat(s.ownerDocument.defaultView.getComputedStyle(s).width);return t.width/o*100}(s,o)}update(e){this.proposedWidth=e.width,this.proposedHeight=e.height,this.proposedWidthPercents=e.widthPercents,this.proposedHandleHostWidth=e.handleHostWidth,this.proposedHandleHostHeight=e.handleHostHeight}}function b(e){return`ck-widget__resizer__handle-${e}`}(0,k.Z)(_,f.Z);var w=s("./packages/ckeditor5-ui/src/view.js");class v extends w.Z{constructor(){super();const e=this.bindTemplate;this.setTemplate({tag:"div",attributes:{class:["ck","ck-size-view",e.to("_viewPosition",(e=>e?`ck-orientation-${e}`:""))],style:{display:e.if("_isVisible","none",(e=>!e))}},children:[{text:e.to("_label")}]})}_bindToState(e,t){this.bind("_isVisible").to(t,"proposedWidth",t,"proposedHeight",((e,t)=>null!==e&&null!==t)),this.bind("_label").to(t,"proposedHandleHostWidth",t,"proposedHandleHostHeight",t,"proposedWidthPercents",((t,s,o)=>"px"===e.unit?`${t}×${s}`:`${o}%`)),this.bind("_viewPosition").to(t,"activeHandlePosition",t,"proposedHandleHostWidth",t,"proposedHandleHostHeight",((e,t,s)=>t<50||s<50?"above-center":e))}_dismiss(){this.unbind(),this._isVisible=!1}}class y{constructor(e){this._options=e,this._viewResizerWrapper=null,this.set("isEnabled",!0),this.decorate("begin"),this.decorate("cancel"),this.decorate("commit"),this.decorate("updateSize"),this.on("commit",(e=>{this.state.proposedWidth||this.state.proposedWidthPercents||(this._cleanup(),e.stop())}),{priority:"high"}),this.on("change:isEnabled",(()=>{this.isEnabled&&this.redraw()}))}attach(){const e=this,t=this._options.viewElement;this._options.editor.editing.view.change((s=>{const o=s.createUIElement("div",{class:"ck ck-reset_all ck-widget__resizer"},(function(t){const s=this.toDomElement(t);return e._appendHandles(s),e._appendSizeUI(s),e.on("change:isEnabled",((e,t,o)=>{s.style.display=o?"":"none"})),s.style.display=e.isEnabled?"":"none",s}));s.insert(s.createPositionAt(t,"end"),o),s.addClass("ck-widget_with-resizer",t),this._viewResizerWrapper=o}))}begin(e){this.state=new _(this._options),this._sizeView._bindToState(this._options,this.state),this._initialViewWidth=this._options.viewElement.getStyle("width"),this.state.begin(e,this._getHandleHost(),this._getResizeHost())}updateSize(e){const t=this._proposeNewSize(e);this._options.editor.editing.view.change((e=>{const s=this._options.unit||"%",o=("%"===s?t.widthPercents:t.width)+s;e.setStyle("width",o,this._options.viewElement)}));const s=this._getHandleHost(),o=new g.Z(s);t.handleHostWidth=Math.round(o.width),t.handleHostHeight=Math.round(o.height);const i=new g.Z(s);t.width=Math.round(i.width),t.height=Math.round(i.height),this.redraw(o),this.state.update(t)}commit(){const e=this._options.unit||"%",t=("%"===e?this.state.proposedWidthPercents:this.state.proposedWidth)+e;this._options.editor.editing.view.change((()=>{this._cleanup(),this._options.onCommit(t)}))}cancel(){this._cleanup()}destroy(){this.cancel()}redraw(e){const t=this._domResizerWrapper;if(!((s=t)&&s.ownerDocument&&s.ownerDocument.contains(s)))return;var s;const o=t.parentElement,i=this._getHandleHost(),r=this._viewResizerWrapper,n=[r.getStyle("width"),r.getStyle("height"),r.getStyle("left"),r.getStyle("top")];let a;if(o.isSameNode(i)){const t=e||new g.Z(i);a=[t.width+"px",t.height+"px",void 0,void 0]}else a=[i.offsetWidth+"px",i.offsetHeight+"px",i.offsetLeft+"px",i.offsetTop+"px"];"same"!==(0,m.Z)(n,a)&&this._options.editor.editing.view.change((e=>{e.setStyle({width:a[0],height:a[1],left:a[2],top:a[3]},r)}))}containsHandle(e){return this._domResizerWrapper.contains(e)}static isResizeHandle(e){return e.classList.contains("ck-widget__resizer__handle")}_cleanup(){this._sizeView._dismiss();this._options.editor.editing.view.change((e=>{e.setStyle("width",this._initialViewWidth,this._options.viewElement)}))}_proposeNewSize(e){const t=this.state,s={x:(o=e).pageX,y:o.pageY};var o;const i=!this._options.isCentered||this._options.isCentered(this),r={x:t._referenceCoordinates.x-(s.x+t.originalWidth),y:s.y-t.originalHeight-t._referenceCoordinates.y};i&&t.activeHandlePosition.endsWith("-right")&&(r.x=s.x-(t._referenceCoordinates.x+t.originalWidth)),i&&(r.x*=2);const n={width:Math.abs(t.originalWidth+r.x),height:Math.abs(t.originalHeight+r.y)};n.dominant=n.width/t.aspectRatio>n.height?"width":"height",n.max=n[n.dominant];const a={width:n.width,height:n.height};return"width"==n.dominant?a.height=a.width/t.aspectRatio:a.width=a.height*t.aspectRatio,{width:Math.round(a.width),height:Math.round(a.height),widthPercents:Math.min(Math.round(t.originalWidthPercents/t.originalWidth*a.width*100)/100,100)}}_getResizeHost(){const e=this._domResizerWrapper.parentElement;return this._options.getResizeHost(e)}_getHandleHost(){const e=this._domResizerWrapper.parentElement;return this._options.getHandleHost(e)}get _domResizerWrapper(){return this._options.editor.editing.view.domConverter.mapViewToDom(this._viewResizerWrapper)}_appendHandles(e){const t=["top-left","top-right","bottom-right","bottom-left"];for(const o of t)e.appendChild(new p.ZP({tag:"div",attributes:{class:"ck-widget__resizer__handle "+(s=o,`ck-widget__resizer__handle-${s}`)}}).render());var s}_appendSizeUI(e){this._sizeView=new v,this._sizeView.render(),e.appendChild(this._sizeView.element)}}(0,k.Z)(y,f.Z);var Z=s("./packages/ckeditor5-utils/src/dom/emittermixin.js"),P=s("./packages/ckeditor5-utils/src/dom/global.js"),j=s("./packages/ckeditor5-engine/src/view/observer/mouseobserver.js"),x=s("./node_modules/lodash-es/throttle.js"),A=s("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),T=s.n(A),C=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-widget/theme/widgetresize.css"),E={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};T()(C.Z,E);C.Z.locals;class S extends i.Z{static get pluginName(){return"WidgetResize"}init(){const e=this.editor.editing,t=P.Z.window.document;this.set("visibleResizer",null),this.set("_activeResizer",null),this._resizers=new Map,e.view.addObserver(j.Z),this._observer=Object.create(Z.Z),this.listenTo(e.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 s=()=>{this.visibleResizer&&this.visibleResizer.redraw()};this._redrawFocusedResizerThrottled=(0,x.Z)(s,200),this.on("change:visibleResizer",s),this.editor.ui.on("update",this._redrawFocusedResizerThrottled),this.editor.model.document.on("change",(()=>{for(const[e,t]of this._resizers)e.isAttached()||(this._resizers.delete(e),t.destroy())}),{priority:"lowest"}),this._observer.listenTo(P.Z.window,"resize",this._redrawFocusedResizerThrottled);const o=this.editor.editing.view.document.selection;o.on("change",(()=>{const e=o.getSelectedElement();this.visibleResizer=this.getResizerByViewElement(e)||null}))}destroy(){this._observer.stopListening();for(const e of this._resizers.values())e.destroy();this._redrawFocusedResizerThrottled.cancel()}attachTo(e){const t=new y(e),s=this.editor.plugins;if(t.attach(),s.has("WidgetToolbarRepository")){const e=s.get("WidgetToolbarRepository");t.on("begin",(()=>{e.forceDisabled("resize")}),{priority:"lowest"}),t.on("cancel",(()=>{e.clearForceDisabled("resize")}),{priority:"highest"}),t.on("commit",(()=>{e.clearForceDisabled("resize")}),{priority:"highest"})}this._resizers.set(e.viewElement,t);const o=this.editor.editing.view.document.selection.getSelectedElement();return this.getResizerByViewElement(o)==t&&(this.visibleResizer=t),t}getResizerByViewElement(e){return this._resizers.get(e)}_getResizerByHandle(e){for(const t of this._resizers.values())if(t.containsHandle(e))return t}_mouseDownListener(e,t){const s=t.domTarget;y.isResizeHandle(s)&&(this._activeResizer=this._getResizerByHandle(s),this._activeResizer&&(this._activeResizer.begin(s),e.stop(),t.preventDefault()))}_mouseMoveListener(e,t){this._activeResizer&&this._activeResizer.updateSize(t)}_mouseUpListener(){this._activeResizer&&(this._activeResizer.commit(),this._activeResizer=null)}}(0,k.Z)(S,f.Z);var O=s("./packages/ckeditor5-widget/src/widgettypearound/widgettypearound.js")},"?7cdd":(e,t,s)=>{e.exports=s},"./node_modules/lodash-es/_ListCache.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>u});const o=function(){this.__data__=[],this.size=0};var i=s("./node_modules/lodash-es/eq.js");const r=function(e,t){for(var s=e.length;s--;)if((0,i.Z)(e[s][0],t))return s;return-1};var n=Array.prototype.splice;const a=function(e){var t=this.__data__,s=r(t,e);return!(s<0)&&(s==t.length-1?t.pop():n.call(t,s,1),--this.size,!0)};const c=function(e){var t=this.__data__,s=r(t,e);return s<0?void 0:t[s][1]};const l=function(e){return r(this.__data__,e)>-1};const d=function(e,t){var s=this.__data__,o=r(s,e);return o<0?(++this.size,s.push([e,t])):s[o][1]=t,this};function h(e){var t=-1,s=null==e?0:e.length;for(this.clear();++t{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/lodash-es/_getNative.js"),i=s("./node_modules/lodash-es/_root.js");const r=(0,o.Z)(i.Z,"Map")},"./node_modules/lodash-es/_MapCache.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>Z});const o=(0,s("./node_modules/lodash-es/_getNative.js").Z)(Object,"create");const i=function(){this.__data__=o?o(null):{},this.size=0};const r=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t};var n=Object.prototype.hasOwnProperty;const a=function(e){var t=this.__data__;if(o){var s=t[e];return"__lodash_hash_undefined__"===s?void 0:s}return n.call(t,e)?t[e]:void 0};var c=Object.prototype.hasOwnProperty;const l=function(e){var t=this.__data__;return o?void 0!==t[e]:c.call(t,e)};const d=function(e,t){var s=this.__data__;return this.size+=this.has(e)?0:1,s[e]=o&&void 0===t?"__lodash_hash_undefined__":t,this};function h(e){var t=-1,s=null==e?0:e.length;for(this.clear();++t{"use strict";s.d(t,{Z:()=>u});var o=s("./node_modules/lodash-es/_ListCache.js");const i=function(){this.__data__=new o.Z,this.size=0};const r=function(e){var t=this.__data__,s=t.delete(e);return this.size=t.size,s};const n=function(e){return this.__data__.get(e)};const a=function(e){return this.__data__.has(e)};var c=s("./node_modules/lodash-es/_Map.js"),l=s("./node_modules/lodash-es/_MapCache.js");const d=function(e,t){var s=this.__data__;if(s instanceof o.Z){var i=s.__data__;if(!c.Z||i.length<199)return i.push([e,t]),this.size=++s.size,this;s=this.__data__=new l.Z(i)}return s.set(e,t),this.size=s.size,this};function h(e){var t=this.__data__=new o.Z(e);this.size=t.size}h.prototype.clear=i,h.prototype.delete=r,h.prototype.get=n,h.prototype.has=a,h.prototype.set=d;const u=h},"./node_modules/lodash-es/_Symbol.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>o});const o=s("./node_modules/lodash-es/_root.js").Z.Symbol},"./node_modules/lodash-es/_Uint8Array.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>o});const o=s("./node_modules/lodash-es/_root.js").Z.Uint8Array},"./node_modules/lodash-es/_arrayLikeKeys.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>d});const o=function(e,t){for(var s=-1,o=Array(e);++s{"use strict";s.d(t,{Z:()=>o});const o=function(e,t){for(var s=-1,o=t.length,i=e.length;++s{"use strict";s.d(t,{Z:()=>n});var o=s("./node_modules/lodash-es/_baseAssignValue.js"),i=s("./node_modules/lodash-es/eq.js"),r=Object.prototype.hasOwnProperty;const n=function(e,t,s){var n=e[t];r.call(e,t)&&(0,i.Z)(n,s)&&(void 0!==s||t in e)||(0,o.Z)(e,t,s)}},"./node_modules/lodash-es/_baseAssignValue.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});var o=s("./node_modules/lodash-es/_defineProperty.js");const i=function(e,t,s){"__proto__"==t&&o.Z?(0,o.Z)(e,t,{configurable:!0,enumerable:!0,value:s,writable:!0}):e[t]=s}},"./node_modules/lodash-es/_baseClone.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>Y});var o=s("./node_modules/lodash-es/_Stack.js");const i=function(e,t){for(var s=-1,o=null==e?0:e.length;++s{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/lodash-es/_arrayPush.js"),i=s("./node_modules/lodash-es/isArray.js");const r=function(e,t,s){var r=t(e);return(0,i.Z)(e)?r:(0,o.Z)(r,s(e))}},"./node_modules/lodash-es/_baseGetTag.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>u});var o=s("./node_modules/lodash-es/_Symbol.js"),i=Object.prototype,r=i.hasOwnProperty,n=i.toString,a=o.Z?o.Z.toStringTag:void 0;const c=function(e){var t=r.call(e,a),s=e[a];try{e[a]=void 0;var o=!0}catch(e){}var i=n.call(e);return o&&(t?e[a]=s:delete e[a]),i};var l=Object.prototype.toString;const d=function(e){return l.call(e)};var h=o.Z?o.Z.toStringTag:void 0;const u=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":h&&h in Object(e)?c(e):d(e)}},"./node_modules/lodash-es/_baseIsEqual.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>R});var o=s("./node_modules/lodash-es/_Stack.js"),i=s("./node_modules/lodash-es/_MapCache.js");const r=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this};const n=function(e){return this.__data__.has(e)};function a(e){var t=-1,s=null==e?0:e.length;for(this.__data__=new i.Z;++ta))return!1;var u=r.get(e),p=r.get(t);if(u&&p)return u==t&&p==e;var g=-1,m=!0,f=2&s?new c:void 0;for(r.set(e,t),r.set(t,e);++g{"use strict";s.d(t,{Z:()=>o});const o=function(e){return function(t){return e(t)}}},"./node_modules/lodash-es/_cloneArrayBuffer.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});var o=s("./node_modules/lodash-es/_Uint8Array.js");const i=function(e){var t=new e.constructor(e.byteLength);return new o.Z(t).set(new o.Z(e)),t}},"./node_modules/lodash-es/_cloneBuffer.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>c});var o=s("./node_modules/lodash-es/_root.js"),i="object"==typeof exports&&exports&&!exports.nodeType&&exports,r=i&&"object"==typeof module&&module&&!module.nodeType&&module,n=r&&r.exports===i?o.Z.Buffer:void 0,a=n?n.allocUnsafe:void 0;const c=function(e,t){if(t)return e.slice();var s=e.length,o=a?a(s):new e.constructor(s);return e.copy(o),o}},"./node_modules/lodash-es/_cloneTypedArray.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});var o=s("./node_modules/lodash-es/_cloneArrayBuffer.js");const i=function(e,t){var s=t?(0,o.Z)(e.buffer):e.buffer;return new e.constructor(s,e.byteOffset,e.length)}},"./node_modules/lodash-es/_copyArray.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>o});const o=function(e,t){var s=-1,o=e.length;for(t||(t=Array(o));++s{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/lodash-es/_assignValue.js"),i=s("./node_modules/lodash-es/_baseAssignValue.js");const r=function(e,t,s,r){var n=!s;s||(s={});for(var a=-1,c=t.length;++a{"use strict";s.d(t,{Z:()=>_});const o=function(e){return e};const i=function(e,t,s){switch(s.length){case 0:return e.call(t);case 1:return e.call(t,s[0]);case 2:return e.call(t,s[0],s[1]);case 3:return e.call(t,s[0],s[1],s[2])}return e.apply(t,s)};var r=Math.max;const n=function(e,t,s){return t=r(void 0===t?e.length-1:t,0),function(){for(var o=arguments,n=-1,a=r(o.length-t,0),c=Array(a);++n0){if(++t>=800)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}(l);const u=function(e,t){return h(n(e,t,o),e+"")};var p=s("./node_modules/lodash-es/eq.js"),g=s("./node_modules/lodash-es/isArrayLike.js"),m=s("./node_modules/lodash-es/_isIndex.js"),f=s("./node_modules/lodash-es/isObject.js");const k=function(e,t,s){if(!(0,f.Z)(s))return!1;var o=typeof t;return!!("number"==o?(0,g.Z)(s)&&(0,m.Z)(t,s.length):"string"==o&&t in s)&&(0,p.Z)(s[t],e)};const _=function(e){return u((function(t,s){var o=-1,i=s.length,r=i>1?s[i-1]:void 0,n=i>2?s[2]:void 0;for(r=e.length>3&&"function"==typeof r?(i--,r):void 0,n&&k(s[0],s[1],n)&&(r=i<3?void 0:r,i=1),t=Object(t);++o{"use strict";s.d(t,{Z:()=>i});var o=s("./node_modules/lodash-es/_getNative.js");const i=function(){try{var e=(0,o.Z)(Object,"defineProperty");return e({},"",{}),e}catch(e){}}()},"./node_modules/lodash-es/_freeGlobal.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>o});const o="object"==typeof global&&global&&global.Object===Object&&global},"./node_modules/lodash-es/_getAllKeys.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>n});var o=s("./node_modules/lodash-es/_baseGetAllKeys.js"),i=s("./node_modules/lodash-es/_getSymbols.js"),r=s("./node_modules/lodash-es/keys.js");const n=function(e){return(0,o.Z)(e,r.Z,i.Z)}},"./node_modules/lodash-es/_getNative.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>_});var o=s("./node_modules/lodash-es/isFunction.js");const i=s("./node_modules/lodash-es/_root.js").Z["__core-js_shared__"];var r,n=(r=/[^.]+$/.exec(i&&i.keys&&i.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"";const a=function(e){return!!n&&n in e};var c=s("./node_modules/lodash-es/isObject.js"),l=s("./node_modules/lodash-es/_toSource.js"),d=/^\[object .+?Constructor\]$/,h=Function.prototype,u=Object.prototype,p=h.toString,g=u.hasOwnProperty,m=RegExp("^"+p.call(g).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");const f=function(e){return!(!(0,c.Z)(e)||a(e))&&((0,o.Z)(e)?m:d).test((0,l.Z)(e))};const k=function(e,t){return null==e?void 0:e[t]};const _=function(e,t){var s=k(e,t);return f(s)?s:void 0}},"./node_modules/lodash-es/_getPrototype.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>o});const o=(0,s("./node_modules/lodash-es/_overArg.js").Z)(Object.getPrototypeOf,Object)},"./node_modules/lodash-es/_getSymbols.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});const o=function(e,t){for(var s=-1,o=null==e?0:e.length,i=0,r=[];++s{"use strict";s.d(t,{Z:()=>Z});var o=s("./node_modules/lodash-es/_getNative.js"),i=s("./node_modules/lodash-es/_root.js");const r=(0,o.Z)(i.Z,"DataView");var n=s("./node_modules/lodash-es/_Map.js");const a=(0,o.Z)(i.Z,"Promise");const c=(0,o.Z)(i.Z,"Set");const l=(0,o.Z)(i.Z,"WeakMap");var d=s("./node_modules/lodash-es/_baseGetTag.js"),h=s("./node_modules/lodash-es/_toSource.js"),u="[object Map]",p="[object Promise]",g="[object Set]",m="[object WeakMap]",f="[object DataView]",k=(0,h.Z)(r),_=(0,h.Z)(n.Z),b=(0,h.Z)(a),w=(0,h.Z)(c),v=(0,h.Z)(l),y=d.Z;(r&&y(new r(new ArrayBuffer(1)))!=f||n.Z&&y(new n.Z)!=u||a&&y(a.resolve())!=p||c&&y(new c)!=g||l&&y(new l)!=m)&&(y=function(e){var t=(0,d.Z)(e),s="[object Object]"==t?e.constructor:void 0,o=s?(0,h.Z)(s):"";if(o)switch(o){case k:return f;case _:return u;case b:return p;case w:return g;case v:return m}return t});const Z=y},"./node_modules/lodash-es/_initCloneObject.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>c});var o=s("./node_modules/lodash-es/isObject.js"),i=Object.create;const r=function(){function e(){}return function(t){if(!(0,o.Z)(t))return{};if(i)return i(t);e.prototype=t;var s=new e;return e.prototype=void 0,s}}();var n=s("./node_modules/lodash-es/_getPrototype.js"),a=s("./node_modules/lodash-es/_isPrototype.js");const c=function(e){return"function"!=typeof e.constructor||(0,a.Z)(e)?{}:r((0,n.Z)(e))}},"./node_modules/lodash-es/_isIndex.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});var o=/^(?:0|[1-9]\d*)$/;const i=function(e,t){var s=typeof e;return!!(t=null==t?9007199254740991:t)&&("number"==s||"symbol"!=s&&o.test(e))&&e>-1&&e%1==0&&e{"use strict";s.d(t,{Z:()=>i});var o=Object.prototype;const i=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||o)}},"./node_modules/lodash-es/_nodeUtil.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});var o=s("./node_modules/lodash-es/_freeGlobal.js"),i="object"==typeof exports&&exports&&!exports.nodeType&&exports,r=i&&"object"==typeof module&&module&&!module.nodeType&&module,n=r&&r.exports===i&&o.Z.process;const a=function(){try{var e=r&&r.require&&r.require("util").types;return e||n&&n.binding&&n.binding("util")}catch(e){}}()},"./node_modules/lodash-es/_overArg.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>o});const o=function(e,t){return function(s){return e(t(s))}}},"./node_modules/lodash-es/_root.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/lodash-es/_freeGlobal.js"),i="object"==typeof self&&self&&self.Object===Object&&self;const r=o.Z||i||Function("return this")()},"./node_modules/lodash-es/_toSource.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});var o=Function.prototype.toString;const i=function(e){if(null!=e){try{return o.call(e)}catch(e){}try{return e+""}catch(e){}}return""}},"./node_modules/lodash-es/assignIn.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>n});var o=s("./node_modules/lodash-es/_copyObject.js"),i=s("./node_modules/lodash-es/_createAssigner.js"),r=s("./node_modules/lodash-es/keysIn.js");const n=(0,i.Z)((function(e,t){(0,o.Z)(t,(0,r.Z)(t),e)}))},"./node_modules/lodash-es/clone.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});var o=s("./node_modules/lodash-es/_baseClone.js");const i=function(e){return(0,o.Z)(e,4)}},"./node_modules/lodash-es/cloneDeep.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});var o=s("./node_modules/lodash-es/_baseClone.js");const i=function(e){return(0,o.Z)(e,5)}},"./node_modules/lodash-es/cloneDeepWith.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});var o=s("./node_modules/lodash-es/_baseClone.js");const i=function(e,t){return t="function"==typeof t?t:void 0,(0,o.Z)(e,5,t)}},"./node_modules/lodash-es/debounce.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>_});var o=s("./node_modules/lodash-es/isObject.js"),i=s("./node_modules/lodash-es/_root.js");const r=function(){return i.Z.Date.now()};var n=/\s/;const a=function(e){for(var t=e.length;t--&&n.test(e.charAt(t)););return t};var c=/^\s+/;const l=function(e){return e?e.slice(0,a(e)+1).replace(c,""):e};var d=s("./node_modules/lodash-es/isSymbol.js"),h=/^[-+]0x[0-9a-f]+$/i,u=/^0b[01]+$/i,p=/^0o[0-7]+$/i,g=parseInt;const m=function(e){if("number"==typeof e)return e;if((0,d.Z)(e))return NaN;if((0,o.Z)(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=(0,o.Z)(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=l(e);var s=u.test(e);return s||p.test(e)?g(e.slice(2),s?2:8):h.test(e)?NaN:+e};var f=Math.max,k=Math.min;const _=function(e,t,s){var i,n,a,c,l,d,h=0,u=!1,p=!1,g=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function _(t){var s=i,o=n;return i=n=void 0,h=t,c=e.apply(o,s)}function b(e){return h=e,l=setTimeout(v,t),u?_(e):c}function w(e){var s=e-d;return void 0===d||s>=t||s<0||p&&e-h>=a}function v(){var e=r();if(w(e))return y(e);l=setTimeout(v,function(e){var s=t-(e-d);return p?k(s,a-(e-h)):s}(e))}function y(e){return l=void 0,g&&i?_(e):(i=n=void 0,c)}function Z(){var e=r(),s=w(e);if(i=arguments,n=this,d=e,s){if(void 0===l)return b(d);if(p)return clearTimeout(l),l=setTimeout(v,t),_(d)}return void 0===l&&(l=setTimeout(v,t)),c}return t=m(t)||0,(0,o.Z)(s)&&(u=!!s.leading,a=(p="maxWait"in s)?f(m(s.maxWait)||0,t):a,g="trailing"in s?!!s.trailing:g),Z.cancel=function(){void 0!==l&&clearTimeout(l),h=0,i=d=n=l=void 0},Z.flush=function(){return void 0===l?c:y(r())},Z}},"./node_modules/lodash-es/eq.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>o});const o=function(e,t){return e===t||e!=e&&t!=t}},"./node_modules/lodash-es/isArguments.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>l});var o=s("./node_modules/lodash-es/_baseGetTag.js"),i=s("./node_modules/lodash-es/isObjectLike.js");const r=function(e){return(0,i.Z)(e)&&"[object Arguments]"==(0,o.Z)(e)};var n=Object.prototype,a=n.hasOwnProperty,c=n.propertyIsEnumerable;const l=r(function(){return arguments}())?r:function(e){return(0,i.Z)(e)&&a.call(e,"callee")&&!c.call(e,"callee")}},"./node_modules/lodash-es/isArray.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>o});const o=Array.isArray},"./node_modules/lodash-es/isArrayLike.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/lodash-es/isFunction.js"),i=s("./node_modules/lodash-es/isLength.js");const r=function(e){return null!=e&&(0,i.Z)(e.length)&&!(0,o.Z)(e)}},"./node_modules/lodash-es/isBuffer.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>c});var o=s("./node_modules/lodash-es/_root.js");const i=function(){return!1};var r="object"==typeof exports&&exports&&!exports.nodeType&&exports,n=r&&"object"==typeof module&&module&&!module.nodeType&&module,a=n&&n.exports===r?o.Z.Buffer:void 0;const c=(a?a.isBuffer:void 0)||i},"./node_modules/lodash-es/isElement.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/lodash-es/isObjectLike.js"),i=s("./node_modules/lodash-es/isPlainObject.js");const r=function(e){return(0,o.Z)(e)&&1===e.nodeType&&!(0,i.Z)(e)}},"./node_modules/lodash-es/isFunction.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/lodash-es/_baseGetTag.js"),i=s("./node_modules/lodash-es/isObject.js");const r=function(e){if(!(0,i.Z)(e))return!1;var t=(0,o.Z)(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}},"./node_modules/lodash-es/isLength.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>o});const o=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}},"./node_modules/lodash-es/isObject.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>o});const o=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},"./node_modules/lodash-es/isObjectLike.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>o});const o=function(e){return null!=e&&"object"==typeof e}},"./node_modules/lodash-es/isPlainObject.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>h});var o=s("./node_modules/lodash-es/_baseGetTag.js"),i=s("./node_modules/lodash-es/_getPrototype.js"),r=s("./node_modules/lodash-es/isObjectLike.js"),n=Function.prototype,a=Object.prototype,c=n.toString,l=a.hasOwnProperty,d=c.call(Object);const h=function(e){if(!(0,r.Z)(e)||"[object Object]"!=(0,o.Z)(e))return!1;var t=(0,i.Z)(e);if(null===t)return!0;var s=l.call(t,"constructor")&&t.constructor;return"function"==typeof s&&s instanceof s&&c.call(s)==d}},"./node_modules/lodash-es/isSymbol.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/lodash-es/_baseGetTag.js"),i=s("./node_modules/lodash-es/isObjectLike.js");const r=function(e){return"symbol"==typeof e||(0,i.Z)(e)&&"[object Symbol]"==(0,o.Z)(e)}},"./node_modules/lodash-es/isTypedArray.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>h});var o=s("./node_modules/lodash-es/_baseGetTag.js"),i=s("./node_modules/lodash-es/isLength.js"),r=s("./node_modules/lodash-es/isObjectLike.js"),n={};n["[object Float32Array]"]=n["[object Float64Array]"]=n["[object Int8Array]"]=n["[object Int16Array]"]=n["[object Int32Array]"]=n["[object Uint8Array]"]=n["[object Uint8ClampedArray]"]=n["[object Uint16Array]"]=n["[object Uint32Array]"]=!0,n["[object Arguments]"]=n["[object Array]"]=n["[object ArrayBuffer]"]=n["[object Boolean]"]=n["[object DataView]"]=n["[object Date]"]=n["[object Error]"]=n["[object Function]"]=n["[object Map]"]=n["[object Number]"]=n["[object Object]"]=n["[object RegExp]"]=n["[object Set]"]=n["[object String]"]=n["[object WeakMap]"]=!1;const a=function(e){return(0,r.Z)(e)&&(0,i.Z)(e.length)&&!!n[(0,o.Z)(e)]};var c=s("./node_modules/lodash-es/_baseUnary.js"),l=s("./node_modules/lodash-es/_nodeUtil.js"),d=l.Z&&l.Z.isTypedArray;const h=d?(0,c.Z)(d):a},"./node_modules/lodash-es/keys.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>l});var o=s("./node_modules/lodash-es/_arrayLikeKeys.js"),i=s("./node_modules/lodash-es/_isPrototype.js");const r=(0,s("./node_modules/lodash-es/_overArg.js").Z)(Object.keys,Object);var n=Object.prototype.hasOwnProperty;const a=function(e){if(!(0,i.Z)(e))return r(e);var t=[];for(var s in Object(e))n.call(e,s)&&"constructor"!=s&&t.push(s);return t};var c=s("./node_modules/lodash-es/isArrayLike.js");const l=function(e){return(0,c.Z)(e)?(0,o.Z)(e):a(e)}},"./node_modules/lodash-es/keysIn.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>d});var o=s("./node_modules/lodash-es/_arrayLikeKeys.js"),i=s("./node_modules/lodash-es/isObject.js"),r=s("./node_modules/lodash-es/_isPrototype.js");const n=function(e){var t=[];if(null!=e)for(var s in Object(e))t.push(s);return t};var a=Object.prototype.hasOwnProperty;const c=function(e){if(!(0,i.Z)(e))return n(e);var t=(0,r.Z)(e),s=[];for(var o in e)("constructor"!=o||!t&&a.call(e,o))&&s.push(o);return s};var l=s("./node_modules/lodash-es/isArrayLike.js");const d=function(e){return(0,l.Z)(e)?(0,o.Z)(e,!0):c(e)}},"./node_modules/lodash-es/stubArray.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>o});const o=function(){return[]}},"./node_modules/lodash-es/throttle.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/lodash-es/debounce.js"),i=s("./node_modules/lodash-es/isObject.js");const r=function(e,t,s){var r=!0,n=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return(0,i.Z)(s)&&(r="leading"in s?!!s.leading:r,n="trailing"in s?!!s.trailing:n),(0,o.Z)(e,t,{leading:r,maxWait:t,trailing:n})}},"./node_modules/lodash-es/toString.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>d});var o=s("./node_modules/lodash-es/_Symbol.js");const i=function(e,t){for(var s=-1,o=null==e?0:e.length,i=Array(o);++s{var t=e&&e.__esModule?()=>e.default:()=>e;return s.d(t,{a:t}),t},s.d=(e,t)=>{for(var o in t)s.o(t,o)&&!s.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},s.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),s.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),s.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},s.nc=void 0;var o=s("?7cdd");(window.CKEditor5=window.CKEditor5||{}).dll=o})(),function(e){e.CKEditor5=e.CKEditor5||{};const t=["utils","core","engine","ui","clipboard","enter","paragraph","select-all","typing","undo","upload","widget"];for(const s of t){const t=s.replace(/-([a-z])/g,((e,t)=>t.toUpperCase()));e.CKEditor5[t]=e.CKEditor5.dll(`./src/${s}.js`)}}(window); \ No newline at end of file + */(()=>{var e={"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-clipboard/theme/clipboard.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,'.ck.ck-editor__editable .ck.ck-clipboard-drop-target-position{display:inline;pointer-events:none;position:relative}.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{background:var(--ck-clipboard-drop-target-color);border:1px solid var(--ck-clipboard-drop-target-color);bottom:calc(var(--ck-clipboard-drop-target-dot-height)*-.5);margin-left:-1px;top:calc(var(--ck-clipboard-drop-target-dot-height)*-.5)}.ck.ck-editor__editable .ck.ck-clipboard-drop-target-position span:after{border-color:var(--ck-clipboard-drop-target-color) transparent transparent transparent;border-style:solid;border-width:calc(var(--ck-clipboard-drop-target-dot-height)) calc(var(--ck-clipboard-drop-target-dot-width)*.5) 0 calc(var(--ck-clipboard-drop-target-dot-width)*.5);content:"";display:block;height:0;left:50%;position:absolute;top:calc(var(--ck-clipboard-drop-target-dot-height)*-.5);transform:translateX(-50%);width:0}.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}',""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-engine/theme/placeholder.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,".ck .ck-placeholder,.ck.ck-placeholder{position:relative}.ck .ck-placeholder:before,.ck.ck-placeholder:before{content:attr(data-placeholder);left:0;pointer-events:none;position:absolute;right:0}.ck.ck-read-only .ck-placeholder:before{display:none}.ck.ck-reset_all .ck-placeholder{position:relative}.ck .ck-placeholder:before,.ck.ck-placeholder:before{color:var(--ck-color-engine-placeholder-text);cursor:text}",""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-engine/theme/renderer.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,".ck.ck-editor__editable span[data-ck-unsafe-element]{display:none}",""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/button/button.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,".ck.ck-button,a.ck.ck-button{align-items:center;display:inline-flex;justify-content:left;position:relative;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.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,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)}.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{-webkit-appearance:none;border:1px solid transparent;cursor:default;font-size:inherit;line-height:1;min-height:var(--ck-ui-component-min-height);min-width:var(--ck-ui-component-min-height);padding:var(--ck-spacing-tiny);text-align:center;transition:box-shadow .2s ease-in-out,border .2s ease-in-out;vertical-align:middle;white-space:nowrap}.ck.ck-button:active,.ck.ck-button:focus,a.ck.ck-button:active,a.ck.ck-button:focus{border:var(--ck-focus-ring);box-shadow:var(--ck-focus-outer-shadow),0 0;outline:none}.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{color:inherit;cursor:inherit;font-size:inherit;font-weight: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,.ck.ck-button.ck-disabled .ck-button__label,a.ck.ck-button.ck-disabled .ck-button__icon,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-left:var(--ck-spacing-small);margin-right:calc(var(--ck-spacing-small)*-1)}.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)}.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-on,a.ck.ck-button.ck-on{color:var(--ck-color-button-on-color)}.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)}.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}",""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/button/switchbutton.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,".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:calc(1.07692em + 1px);--ck-switch-button-translation:calc(var(--ck-switch-button-toggle-width) - var(--ck-switch-button-toggle-inner-size) - 2px);--ck-switch-button-inner-hover-shadow:0 0 0 5px var(--ck-color-switch-button-inner-shadow)}[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{background:var(--ck-color-switch-button-off-background);border:1px solid transparent;transition:background .4s ease,box-shadow .2s ease-in-out,outline .2s ease-in-out;width:var(--ck-switch-button-toggle-width)}.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)*.5)}.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner{background:var(--ck-color-switch-button-inner-background);height:var(--ck-switch-button-toggle-inner-size);transition:all .3s ease;width:var(--ck-switch-button-toggle-inner-size)}.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:var(--ck-switch-button-inner-hover-shadow)}.ck.ck-button.ck-switchbutton.ck-disabled .ck-button__toggle{opacity:var(--ck-disabled-opacity)}.ck.ck-button.ck-switchbutton:focus{border-color:transparent;box-shadow:none;outline:none}.ck.ck-button.ck-switchbutton:focus .ck-button__toggle{box-shadow:0 0 0 1px var(--ck-color-base-background),0 0 0 5px var(--ck-color-focus-outer-shadow);outline:var(--ck-focus-ring);outline-offset:1px}.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))}.ck.ck-button.ck-switchbutton.ck-on:active,.ck.ck-button.ck-switchbutton:active{background:transparent}",""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/colorgrid/colorgrid.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,".ck.ck-color-grid{display:grid}:root{--ck-color-grid-tile-size:24px;--ck-color-color-grid-check-icon:#166fd4}.ck.ck-color-grid{grid-gap:5px;padding:8px}.ck.ck-color-grid__tile{border:0;height:var(--ck-color-grid-tile-size);min-height:var(--ck-color-grid-tile-size);min-width:var(--ck-color-grid-tile-size);padding:0;transition:box-shadow .2s ease;width:var(--ck-color-grid-tile-size)}.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{color:var(--ck-color-color-grid-check-icon);display:none}.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)}",""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/dropdown/dropdown.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,":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-dropdown__panel{display:none;max-width:var(--ck-dropdown-max-width);position:absolute;z-index:var(--ck-z-modal)}.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{bottom:auto;top:100%}.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{margin-left:var(--ck-spacing-standard);right: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{overflow:hidden;text-overflow:ellipsis;width:7em}.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{background:var(--ck-color-dropdown-panel-background);border:1px solid var(--ck-color-dropdown-panel-border);bottom:0;box-shadow:var(--ck-drop-shadow),0 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}",""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/dropdown/listdropdown.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,".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-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-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}",""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/dropdown/splitbutton.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,'.ck.ck-splitbutton{font-size:inherit}.ck.ck-splitbutton .ck-splitbutton__action:focus{z-index:calc(var(--ck-z-default) + 1)}:root{--ck-color-split-button-hover-background:#ebebeb;--ck-color-split-button-hover-border:#b3b3b3}[dir=ltr] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__action,[dir=ltr] .ck.ck-splitbutton:hover>.ck-splitbutton__action{border-bottom-right-radius:unset;border-top-right-radius:unset}[dir=rtl] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__action,[dir=rtl] .ck.ck-splitbutton:hover>.ck-splitbutton__action{border-bottom-left-radius:unset;border-top-left-radius:unset}.ck.ck-splitbutton>.ck-splitbutton__arrow{min-width:unset}[dir=ltr] .ck.ck-splitbutton>.ck-splitbutton__arrow{border-bottom-left-radius:unset;border-top-left-radius:unset}[dir=rtl] .ck.ck-splitbutton>.ck-splitbutton__arrow{border-bottom-right-radius:unset;border-top-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)}.ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):after,.ck.ck-splitbutton:hover>.ck-splitbutton__arrow:not(.ck-disabled):after{background-color:var(--ck-color-split-button-hover-border);content:"";height:100%;position:absolute;width:1px}[dir=ltr] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):after,[dir=ltr] .ck.ck-splitbutton:hover>.ck-splitbutton__arrow:not(.ck-disabled):after{left:-1px}[dir=rtl] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):after,[dir=rtl] .ck.ck-splitbutton:hover>.ck-splitbutton__arrow:not(.ck-disabled):after{right:-1px}.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}',""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/dropdown/toolbardropdown.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,":root{--ck-toolbar-dropdown-max-width:60vw}.ck.ck-toolbar-dropdown>.ck-dropdown__panel{max-width:var(--ck-toolbar-dropdown-max-width);width:max-content}.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}",""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/editorui/editorui.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,":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.ck-rounded-corners:not(.ck-editor__nested-editable){border-radius:var(--ck-border-radius)}.ck.ck-editor__editable.ck-focused:not(.ck-editor__nested-editable){border:var(--ck-focus-ring);box-shadow:var(--ck-inner-shadow),0 0;outline:none}.ck.ck-editor__editable_inline{border:1px solid transparent;overflow:auto;padding:0 var(--ck-spacing-standard)}.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)}",""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/formheader/formheader.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,".ck.ck-form__header{align-items:center;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between}:root{--ck-form-header-height:38px}.ck.ck-form__header{border-bottom:1px solid var(--ck-color-base-border);height:var(--ck-form-header-height);line-height:var(--ck-form-header-height);padding:var(--ck-spacing-small) var(--ck-spacing-large)}.ck.ck-form__header .ck-form__header__label{font-weight:700}",""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/icon/icon.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,".ck.ck-icon{vertical-align:middle}:root{--ck-icon-size:calc(var(--ck-line-height-base)*var(--ck-font-size-normal))}.ck.ck-icon{font-size:.8333350694em;height:var(--ck-icon-size);width:var(--ck-icon-size);will-change:transform}.ck.ck-icon,.ck.ck-icon *{color:inherit;cursor:inherit}.ck.ck-icon :not([fill]){fill:currentColor}",""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/input/input.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,":root{--ck-input-width:18em;--ck-input-text-width:var(--ck-input-width)}.ck.ck-input{border-radius:0}.ck-rounded-corners .ck.ck-input,.ck.ck-input.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-input{background:var(--ck-color-input-background);border:1px solid var(--ck-color-input-border);min-height:var(--ck-ui-component-min-height);min-width:var(--ck-input-width);padding:var(--ck-spacing-extra-tiny) var(--ck-spacing-medium);transition:box-shadow .1s ease-in-out,border .1s ease-in-out}.ck.ck-input:focus{border:var(--ck-focus-ring);box-shadow:var(--ck-focus-outer-shadow),0 0;outline:none}.ck.ck-input[readonly]{background:var(--ck-color-input-disabled-background);border:1px solid var(--ck-color-input-disabled-border);color:var(--ck-color-input-disabled-text)}.ck.ck-input[readonly]:focus{box-shadow:var(--ck-focus-disabled-outer-shadow),0 0}.ck.ck-input.ck-error{animation:ck-input-shake .3s ease both;border-color:var(--ck-color-input-error-border)}.ck.ck-input.ck-error:focus{box-shadow:var(--ck-focus-error-outer-shadow),0 0}@keyframes ck-input-shake{20%{transform:translateX(-2px)}40%{transform:translateX(2px)}60%{transform:translateX(-1px)}80%{transform:translateX(1px)}}",""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/label/label.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,".ck.ck-label{display:block}.ck.ck-voice-label{display:none}.ck.ck-label{font-weight:700}",""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/labeledfield/labeledfieldview.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,".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{background:var(--ck-color-labeled-field-label-background);font-weight:400;line-height:normal;max-width:100%;overflow:hidden;padding:0 calc(var(--ck-font-size-tiny)*.5);pointer-events:none;text-overflow:ellipsis;transform:translate(var(--ck-spacing-medium),-6px) scale(.75);transform-origin:0 0;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-labeled-field-view_empty>.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)*.6)) scale(1)}[dir=rtl] .ck.ck-labeled-field-view.ck-disabled.ck-labeled-field-view_empty>.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)*.6)) scale(1)}.ck.ck-labeled-field-view.ck-disabled.ck-labeled-field-view_empty>.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{background:transparent;max-width:calc(var(--ck-labeled-field-empty-unfocused-max-width));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))}",""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/list/list.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,".ck.ck-list{display:flex;flex-direction:column;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.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{background:var(--ck-color-list-background);list-style-type:none}.ck.ck-list__item{cursor:default;min-width:12em}.ck.ck-list__item .ck-button{border-radius:0;min-height:unset;padding:calc(var(--ck-line-height-base)*.2*var(--ck-font-size-base)) calc(var(--ck-line-height-base)*.4*var(--ck-font-size-base));text-align:left;width:100%}.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-switchbutton):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{background:var(--ck-color-base-border);height:1px;width:100%}",""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/panel/balloonpanel.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,':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-border-width:1px;--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{background:var(--ck-color-panel-background);border:var(--ck-balloon-border-width) solid var(--ck-color-panel-border);box-shadow:var(--ck-drop-shadow),0 0;min-height:15px}.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:after,.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:before{border-style:solid;height:0;width:0}.ck.ck-balloon-panel[class*=arrow_n]:after,.ck.ck-balloon-panel[class*=arrow_n]:before{border-width:0 var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width)}.ck.ck-balloon-panel[class*=arrow_n]:before{border-color:transparent transparent var(--ck-color-panel-border) transparent;margin-top:calc(var(--ck-balloon-border-width)*-1)}.ck.ck-balloon-panel[class*=arrow_n]:after{border-color:transparent transparent var(--ck-color-panel-background) transparent;margin-top:calc(var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width))}.ck.ck-balloon-panel[class*=arrow_s]:after,.ck.ck-balloon-panel[class*=arrow_s]:before{border-width:var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width) 0 var(--ck-balloon-arrow-half-width)}.ck.ck-balloon-panel[class*=arrow_s]:before{border-color:var(--ck-color-panel-border) transparent transparent;filter:drop-shadow(var(--ck-balloon-arrow-drop-shadow));margin-bottom:calc(var(--ck-balloon-border-width)*-1)}.ck.ck-balloon-panel[class*=arrow_s]:after{border-color:var(--ck-color-panel-background) transparent transparent transparent;margin-bottom:calc(var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width))}.ck.ck-balloon-panel[class*=arrow_e]:after,.ck.ck-balloon-panel[class*=arrow_e]:before{border-width:var(--ck-balloon-arrow-half-width) 0 var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height)}.ck.ck-balloon-panel[class*=arrow_e]:before{border-color:transparent transparent transparent var(--ck-color-panel-border);margin-right:calc(var(--ck-balloon-border-width)*-1)}.ck.ck-balloon-panel[class*=arrow_e]:after{border-color:transparent transparent transparent var(--ck-color-panel-background);margin-right:calc(var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width))}.ck.ck-balloon-panel[class*=arrow_w]:after,.ck.ck-balloon-panel[class*=arrow_w]:before{border-width:var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width) 0}.ck.ck-balloon-panel[class*=arrow_w]:before{border-color:transparent var(--ck-color-panel-border) transparent transparent;margin-left:calc(var(--ck-balloon-border-width)*-1)}.ck.ck-balloon-panel[class*=arrow_w]:after{border-color:transparent var(--ck-color-panel-background) transparent transparent;margin-left:calc(var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width))}.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{bottom:calc(var(--ck-balloon-arrow-height)*-1);left:50%;margin-left:calc(var(--ck-balloon-arrow-half-width)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_sw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_sw:before{bottom:calc(var(--ck-balloon-arrow-height)*-1);left:calc(var(--ck-balloon-arrow-half-width)*2)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_se:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_se:before{bottom:calc(var(--ck-balloon-arrow-height)*-1);right:calc(var(--ck-balloon-arrow-half-width)*2)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_sme:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_sme:before{bottom:calc(var(--ck-balloon-arrow-height)*-1);margin-right:calc(var(--ck-balloon-arrow-half-width)*2);right:25%}.ck.ck-balloon-panel.ck-balloon-panel_arrow_smw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_smw:before{bottom:calc(var(--ck-balloon-arrow-height)*-1);left:25%;margin-left:calc(var(--ck-balloon-arrow-half-width)*2)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_nme:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_nme:before{margin-right:calc(var(--ck-balloon-arrow-half-width)*2);right:25%;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)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_e:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_e:before{margin-top:calc(var(--ck-balloon-arrow-half-width)*-1);right:calc(var(--ck-balloon-arrow-height)*-1);top:50%}.ck.ck-balloon-panel.ck-balloon-panel_arrow_w:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_w:before{left:calc(var(--ck-balloon-arrow-height)*-1);margin-top:calc(var(--ck-balloon-arrow-half-width)*-1);top:50%}',""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/panel/balloonrotator.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,".ck .ck-balloon-rotator__navigation{align-items:center;display:flex;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-bottom:var(--ck-spacing-small);margin-right:var(--ck-spacing-small);margin-top:var(--ck-spacing-small)}.ck .ck-balloon-rotator__navigation .ck-balloon-rotator__counter{margin-left:var(--ck-spacing-small);margin-right:var(--ck-spacing-standard)}.ck .ck-balloon-rotator__content .ck.ck-annotation-wrapper{box-shadow:none}",""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/panel/fakepanel.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,".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{background:var(--ck-color-panel-background);border:1px solid var(--ck-color-panel-border);border-radius:var(--ck-border-radius);box-shadow:var(--ck-drop-shadow),0 0;height:100%;min-height:15px;width: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}",""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/panel/stickypanel.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,".ck.ck-sticky-panel .ck-sticky-panel__content_sticky{position:fixed;top:0;z-index:var(--ck-z-modal)}.ck.ck-sticky-panel .ck-sticky-panel__content_sticky_bottom-limit{position:absolute;top:auto}.ck.ck-sticky-panel .ck-sticky-panel__content_sticky{border-top-left-radius:0;border-top-right-radius:0;border-width:0 1px 1px;box-shadow:var(--ck-drop-shadow),0 0}",""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/toolbar/blocktoolbar.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,".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)}",""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/toolbar/toolbar.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,".ck.ck-toolbar{align-items:center;display:flex;flex-flow:row nowrap;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.ck.ck-toolbar>.ck-toolbar__items{align-items:center;display:flex;flex-flow:row wrap;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);border:1px solid var(--ck-color-toolbar-border);padding:0 var(--ck-spacing-small)}.ck.ck-toolbar .ck.ck-toolbar__separator{align-self:stretch;background:var(--ck-color-toolbar-border);margin-bottom:var(--ck-spacing-small);margin-top:var(--ck-spacing-small);min-width:1px;width:1px}.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-bottom:var(--ck-spacing-small);margin-top:var(--ck-spacing-small)}.ck.ck-toolbar.ck-toolbar_vertical{padding:0}.ck.ck-toolbar.ck-toolbar_vertical>.ck-toolbar__items>.ck{border-radius:0;margin:0;width:100%}.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.ck-toolbar_compact[dir=rtl]>.ck-toolbar__items>.ck:first-child,[dir=rtl] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.ck.ck-toolbar.ck-toolbar_compact[dir=rtl]>.ck-toolbar__items>.ck:last-child,[dir=rtl] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:last-child{border-bottom-right-radius:0;border-top-right-radius:0}.ck.ck-toolbar.ck-toolbar_grouping[dir=rtl]>.ck-toolbar__items:not(:empty):not(:only-child),.ck.ck-toolbar[dir=rtl]>.ck.ck-toolbar__separator,[dir=rtl] .ck.ck-toolbar.ck-toolbar_grouping>.ck-toolbar__items:not(:empty):not(:only-child),[dir=rtl] .ck.ck-toolbar>.ck.ck-toolbar__separator{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.ck-toolbar_compact[dir=ltr]>.ck-toolbar__items>.ck:first-child,[dir=ltr] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:first-child{border-bottom-right-radius:0;border-top-right-radius:0}.ck.ck-toolbar.ck-toolbar_compact[dir=ltr]>.ck-toolbar__items>.ck:last-child,[dir=ltr] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:last-child{border-bottom-left-radius:0;border-top-left-radius:0}.ck.ck-toolbar.ck-toolbar_grouping[dir=ltr]>.ck-toolbar__items:not(:empty):not(:only-child),.ck.ck-toolbar[dir=ltr]>.ck.ck-toolbar__separator,[dir=ltr] .ck.ck-toolbar.ck-toolbar_grouping>.ck-toolbar__items:not(:empty):not(:only-child),[dir=ltr] .ck.ck-toolbar>.ck.ck-toolbar__separator{margin-right:var(--ck-spacing-small)}",""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/tooltip/tooltip.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,".ck.ck-balloon-panel.ck-tooltip{--ck-balloon-border-width:0px;--ck-balloon-arrow-offset:0px;--ck-balloon-arrow-half-width:4px;--ck-balloon-arrow-height:4px;--ck-color-panel-background:var(--ck-color-tooltip-background);padding:0 var(--ck-spacing-medium);pointer-events:none;z-index:calc(var(--ck-z-modal) + 100)}.ck.ck-balloon-panel.ck-tooltip .ck-tooltip__text{color:var(--ck-color-tooltip-text);font-size:.9em;line-height:1.5}.ck.ck-balloon-panel.ck-tooltip{box-shadow:none}.ck.ck-balloon-panel.ck-tooltip:before{display:none}",""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/globals/globals.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,".ck-hidden{display:none!important}.ck-reset_all :not(.ck-reset_all-excluded *),.ck.ck-reset,.ck.ck-reset_all{box-sizing:border-box;height:auto;position:static;width:auto}:root{--ck-z-default:1;--ck-z-modal:calc(var(--ck-z-default) + 999)}.ck-transitions-disabled,.ck-transitions-disabled *{transition:none!important}:root{--ck-color-base-foreground:#fafafa;--ck-color-base-background:#fff;--ck-color-base-border:#ccced1;--ck-color-base-action:#53a336;--ck-color-base-focus:#6cb5f9;--ck-color-base-text:#333;--ck-color-base-active:#2977ff;--ck-color-base-active-focus:#0d65ff;--ck-color-base-error:#db3700;--ck-color-focus-border-coordinates:218,81.8%,56.9%;--ck-color-focus-border:hsl(var(--ck-color-focus-border-coordinates));--ck-color-focus-outer-shadow:#cae1fc;--ck-color-focus-disabled-shadow:rgba(119,186,248,.3);--ck-color-focus-error-shadow:rgba(255,64,31,.3);--ck-color-text:var(--ck-color-base-text);--ck-color-shadow-drop:rgba(0,0,0,.15);--ck-color-shadow-drop-active:rgba(0,0,0,.2);--ck-color-shadow-inner:rgba(0,0,0,.1);--ck-color-button-default-background:transparent;--ck-color-button-default-hover-background:#f0f0f0;--ck-color-button-default-active-background:#f0f0f0;--ck-color-button-default-disabled-background:transparent;--ck-color-button-on-background:#f0f7ff;--ck-color-button-on-hover-background:#dbecff;--ck-color-button-on-active-background:#dbecff;--ck-color-button-on-disabled-background:#f0f2f4;--ck-color-button-on-color:#2977ff;--ck-color-button-action-background:var(--ck-color-base-action);--ck-color-button-action-hover-background:#4d9d30;--ck-color-button-action-active-background:#4d9d30;--ck-color-button-action-disabled-background:#7ec365;--ck-color-button-action-text:var(--ck-color-base-background);--ck-color-button-save:#008a00;--ck-color-button-cancel:#db3700;--ck-color-switch-button-off-background:#939393;--ck-color-switch-button-off-hover-background:#7d7d7d;--ck-color-switch-button-on-background:var(--ck-color-button-action-background);--ck-color-switch-button-on-hover-background:#4d9d30;--ck-color-switch-button-inner-background:var(--ck-color-base-background);--ck-color-switch-button-inner-shadow:rgba(0,0,0,.1);--ck-color-dropdown-panel-background:var(--ck-color-base-background);--ck-color-dropdown-panel-border:var(--ck-color-base-border);--ck-color-input-background:var(--ck-color-base-background);--ck-color-input-border:var(--ck-color-base-border);--ck-color-input-error-border:var(--ck-color-base-error);--ck-color-input-text:var(--ck-color-base-text);--ck-color-input-disabled-background:#f2f2f2;--ck-color-input-disabled-border:var(--ck-color-base-border);--ck-color-input-disabled-text:#757575;--ck-color-list-background:var(--ck-color-base-background);--ck-color-list-button-hover-background:var(--ck-color-button-default-hover-background);--ck-color-list-button-on-background:var(--ck-color-button-on-color);--ck-color-list-button-on-background-focus:var(--ck-color-button-on-color);--ck-color-list-button-on-text:var(--ck-color-base-background);--ck-color-panel-background:var(--ck-color-base-background);--ck-color-panel-border:var(--ck-color-base-border);--ck-color-toolbar-background:var(--ck-color-base-background);--ck-color-toolbar-border:var(--ck-color-base-border);--ck-color-tooltip-background:var(--ck-color-base-text);--ck-color-tooltip-text:var(--ck-color-base-background);--ck-color-engine-placeholder-text:#707070;--ck-color-upload-bar-background:#6cb5f9;--ck-color-link-default:#0000f0;--ck-color-link-selected-background:rgba(31,176,255,.1);--ck-color-link-fake-selection:rgba(31,176,255,.3);--ck-disabled-opacity:.5;--ck-focus-outer-shadow-geometry:0 0 0 3px;--ck-focus-outer-shadow:var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-outer-shadow);--ck-focus-disabled-outer-shadow:var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-disabled-shadow);--ck-focus-error-outer-shadow:var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-error-shadow);--ck-focus-ring:1px solid var(--ck-color-focus-border);--ck-font-size-base:13px;--ck-line-height-base:1.84615;--ck-font-face:Helvetica,Arial,Tahoma,Verdana,Sans-Serif;--ck-font-size-tiny:0.7em;--ck-font-size-small:0.75em;--ck-font-size-normal:1em;--ck-font-size-big:1.4em;--ck-font-size-large:1.8em;--ck-ui-component-min-height:2.3em}.ck-reset_all :not(.ck-reset_all-excluded *),.ck.ck-reset,.ck.ck-reset_all{word-wrap:break-word;background:transparent;border:0;margin:0;padding:0;text-decoration:none;transition:none;vertical-align:middle}.ck-reset_all :not(.ck-reset_all-excluded *),.ck.ck-reset_all{border-collapse:collapse;color:var(--ck-color-text);cursor:auto;float:none;font:normal normal normal var(--ck-font-size-base)/var(--ck-line-height-base) var(--ck-font-face);text-align:left;white-space:nowrap}.ck-reset_all .ck-rtl :not(.ck-reset_all-excluded *){text-align:right}.ck-reset_all iframe:not(.ck-reset_all-excluded *){vertical-align:inherit}.ck-reset_all textarea:not(.ck-reset_all-excluded *){white-space:pre-wrap}.ck-reset_all input[type=password]:not(.ck-reset_all-excluded *),.ck-reset_all input[type=text]:not(.ck-reset_all-excluded *),.ck-reset_all textarea:not(.ck-reset_all-excluded *){cursor:text}.ck-reset_all input[type=password][disabled]:not(.ck-reset_all-excluded *),.ck-reset_all input[type=text][disabled]:not(.ck-reset_all-excluded *),.ck-reset_all textarea[disabled]:not(.ck-reset_all-excluded *){cursor:default}.ck-reset_all fieldset:not(.ck-reset_all-excluded *){border:2px groove #dfdee3;padding:10px}.ck-reset_all button:not(.ck-reset_all-excluded *)::-moz-focus-inner{border:0;padding:0}.ck[dir=rtl],.ck[dir=rtl] .ck{text-align:right}:root{--ck-border-radius:2px;--ck-inner-shadow:2px 2px 3px var(--ck-color-shadow-inner) inset;--ck-drop-shadow:0 1px 2px 1px var(--ck-color-shadow-drop);--ck-drop-shadow-active:0 3px 6px 1px var(--ck-color-shadow-drop-active);--ck-spacing-unit:0.6em;--ck-spacing-large:calc(var(--ck-spacing-unit)*1.5);--ck-spacing-standard:var(--ck-spacing-unit);--ck-spacing-medium:calc(var(--ck-spacing-unit)*0.8);--ck-spacing-small:calc(var(--ck-spacing-unit)*0.5);--ck-spacing-tiny:calc(var(--ck-spacing-unit)*0.3);--ck-spacing-extra-tiny:calc(var(--ck-spacing-unit)*0.16)}",""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-widget/theme/widget.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,":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-resizer-tooltip-height:calc(var(--ck-spacing-small)*2 + 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);border:1px solid var(--ck-color-resizer-tooltip-text);border-radius:var(--ck-resizer-border-radius);color:var(--ck-color-resizer-tooltip-text);display:block;font-size:var(--ck-font-size-tiny);height:var(--ck-resizer-tooltip-height);line-height:var(--ck-resizer-tooltip-height);padding:0 var(--ck-spacing-small)}.ck .ck-size-view.ck-orientation-above-center,.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{left:var(--ck-resizer-tooltip-offset);top:var(--ck-resizer-tooltip-offset)}.ck .ck-size-view.ck-orientation-top-right{right:var(--ck-resizer-tooltip-offset);top: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)}.ck .ck-size-view.ck-orientation-above-center{left:50%;top:calc(var(--ck-resizer-tooltip-height)*-1);transform:translate(-50%)}: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-color:transparent;outline-style:solid;outline-width:var(--ck-widget-outline-thickness);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{background-color:var(--ck-color-widget-editable-focus-background);border:var(--ck-focus-ring);box-shadow:var(--ck-inner-shadow),0 0;outline:none}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle{background-color:transparent;border-radius:var(--ck-border-radius) var(--ck-border-radius) 0 0;box-sizing:border-box;left:calc(0px - var(--ck-widget-outline-thickness));opacity:0;padding:4px;top:0;transform:translateY(-100%);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)}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle .ck-icon{color:var(--ck-color-widget-drag-handler-icon-color);height:var(--ck-widget-handler-icon-size);width:var(--ck-widget-handler-icon-size)}.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{background-color:var(--ck-color-widget-hover-border);opacity:1}.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{background-color:var(--ck-color-focus-border);opacity:1}.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:hover>.ck-widget__selection-handle,.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected.ck-widget_with-selection-handle:hover>.ck-widget__selection-handle:hover,.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{background:var(--ck-color-widget-blurred-border)}.ck.ck-editor__editable blockquote>.ck-widget.ck-widget_with-selection-handle:first-child,.ck.ck-editor__editable>.ck-widget.ck-widget_with-selection-handle:first-child{margin-top:calc(1em + var(--ck-widget-handler-icon-size))}",""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-widget/theme/widgetresize.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,".ck .ck-widget_with-resizer{position:relative}.ck .ck-widget__resizer{display:none;left:0;pointer-events:none;position:absolute;top:0}.ck-focused .ck-widget_with-resizer.ck-widget_selected>.ck-widget__resizer{display:block}.ck .ck-widget__resizer__handle{pointer-events:all;position:absolute}.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{background:var(--ck-color-focus-border);border:var(--ck-resizer-border-width) solid #fff;border-radius:var(--ck-resizer-border-radius);height:var(--ck-resizer-size);width:var(--ck-resizer-size)}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-left{left:var(--ck-resizer-offset);top:var(--ck-resizer-offset)}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-right{right:var(--ck-resizer-offset);top: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)}",""]);const r=i},"./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-widget/theme/widgettypearound.css":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/css-loader/dist/runtime/api.js"),i=s.n(o)()((function(e){return e[1]}));i.push([e.id,'.ck .ck-widget .ck-widget__type-around__button{display:block;overflow:hidden;position:absolute;z-index:var(--ck-z-default)}.ck .ck-widget .ck-widget__type-around__button svg{left:50%;position:absolute;top:50%;z-index:calc(var(--ck-z-default) + 2)}.ck .ck-widget .ck-widget__type-around__button.ck-widget__type-around__button_before{left:min(10%,30px);top:calc(var(--ck-widget-outline-thickness)*-.5);transform:translateY(-50%)}.ck .ck-widget .ck-widget__type-around__button.ck-widget__type-around__button_after{bottom:calc(var(--ck-widget-outline-thickness)*-.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;left:1px;position:absolute;top:1px;z-index:calc(var(--ck-z-default) + 1)}.ck .ck-widget>.ck-widget__type-around>.ck-widget__type-around__fake-caret{display:none;left:0;position:absolute;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{display:block;top:calc(var(--ck-widget-outline-thickness)*-1 - 1px)}.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{background:var(--ck-color-widget-type-around-button);border-radius:100px;height:var(--ck-widget-type-around-button-size);opacity:0;pointer-events:none;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);width:var(--ck-widget-type-around-button-size)}.ck .ck-widget .ck-widget__type-around__button svg{height:8px;margin-top:1px;transform:translate(-50%,-50%);transition:transform .5s ease;width:10px}.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{background:linear-gradient(135deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.3));border-radius:100px;height:calc(var(--ck-widget-type-around-button-size) - 2px);width:calc(var(--ck-widget-type-around-button-size) - 2px)}.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{animation:ck-widget-type-around-fake-caret-pulse 1s linear infinite normal forwards;background:var(--ck-color-base-text);height:1px;outline:1px solid hsla(0,0%,100%,.5);pointer-events:none}.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_selected.ck-widget_with-resizer>.ck-widget__resizer,.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_selected.ck-widget_with-resizer>.ck-widget__resizer,.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[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}}',""]);const r=i},"./node_modules/css-loader/dist/runtime/api.js":e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var s=e(t);return t[2]?"@media ".concat(t[2]," {").concat(s,"}"):s})).join("")},t.i=function(e,s,o){"string"==typeof e&&(e=[[null,e,""]]);var i={};if(o)for(var r=0;r{"use strict";s.d(t,{Z:()=>o});const o=''},"./packages/ckeditor5-core/theme/icons/three-vertical-dots.svg":(e,t,s)=>{"use strict";s.d(t,{Z:()=>o});const o=''},"./packages/ckeditor5-ui/theme/icons/dropdown-arrow.svg":(e,t,s)=>{"use strict";s.d(t,{Z:()=>o});const o=''},"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js":(e,t,s)=>{"use strict";var o,i=function(){return void 0===o&&(o=Boolean(window&&document&&document.all&&!window.atob)),o},r=function(){var e={};return function(t){if(void 0===e[t]){var s=document.querySelector(t);if(window.HTMLIFrameElement&&s instanceof window.HTMLIFrameElement)try{s=s.contentDocument.head}catch(e){s=null}e[t]=s}return e[t]}}(),n=[];function a(e){for(var t=-1,s=0;s{"use strict";s.d(t,{Z:()=>Z});var o=s("./packages/ckeditor5-utils/src/observablemixin.ts"),i=s("./packages/ckeditor5-utils/src/ckeditorerror.ts"),r=s("./packages/ckeditor5-utils/src/emittermixin.ts"),n=s("./packages/ckeditor5-engine/src/conversion/mapper.ts"),a=s("./packages/ckeditor5-engine/src/conversion/downcastdispatcher.ts"),c=s("./packages/ckeditor5-engine/src/conversion/downcasthelpers.ts"),l=s("./node_modules/lodash-es/isArray.js");class d{constructor(){this._consumables=new Map}add(e,t){let s;e.is("$text")||e.is("documentFragment")?this._consumables.set(e,!0):(this._consumables.has(e)?s=this._consumables.get(e):(s=new u(e),this._consumables.set(e,s)),s.add(t))}test(e,t){const s=this._consumables.get(e);return void 0===s?null:e.is("$text")||e.is("documentFragment")?s:s.test(t)}consume(e,t){return!!this.test(e,t)&&(e.is("$text")||e.is("documentFragment")?this._consumables.set(e,!1):this._consumables.get(e).consume(t),!0)}revert(e,t){const s=this._consumables.get(e);void 0!==s&&(e.is("$text")||e.is("documentFragment")?this._consumables.set(e,!0):s.revert(t))}static consumablesFromElement(e){const t={element:e,name:!0,attributes:[],classes:[],styles:[]},s=e.getAttributeKeys();for(const e of s)"style"!=e&&"class"!=e&&t.attributes.push(e);const o=e.getClassNames();for(const e of o)t.classes.push(e);const i=e.getStyleNames();for(const e of i)t.styles.push(e);return t}static createFrom(e,t){if(t||(t=new d),e.is("$text"))return t.add(e),t;e.is("element")&&t.add(e,d.consumablesFromElement(e)),e.is("documentFragment")&&t.add(e);for(const s of e.getChildren())t=d.createFrom(s,t);return t}}const h=["attributes","classes","styles"];class u{constructor(e){this.element=e,this._canConsumeName=null,this._consumables={attributes:new Map,styles:new Map,classes:new Map}}add(e){e.name&&(this._canConsumeName=!0);for(const t of h)t in e&&this._add(t,e[t])}test(e){if(e.name&&!this._canConsumeName)return this._canConsumeName;for(const t of h)if(t in e){const s=this._test(t,e[t]);if(!0!==s)return s}return!0}consume(e){e.name&&(this._canConsumeName=!1);for(const t of h)t in e&&this._consume(t,e[t])}revert(e){e.name&&(this._canConsumeName=!0);for(const t of h)t in e&&this._revert(t,e[t])}_add(e,t){const s=(0,l.Z)(t)?t:[t],o=this._consumables[e];for(const t of s){if("attributes"===e&&("class"===t||"style"===t))throw new i.ZP("viewconsumable-invalid-attribute",this);if(o.set(t,!0),"styles"===e)for(const e of this.element.document.stylesProcessor.getRelatedStyles(t))o.set(e,!0)}}_test(e,t){const s=(0,l.Z)(t)?t:[t],o=this._consumables[e];for(const t of s)if("attributes"!==e||"class"!==t&&"style"!==t){const e=o.get(t);if(void 0===e)return null;if(!e)return!1}else{const e="class"==t?"classes":"styles",s=this._test(e,[...this._consumables[e].keys()]);if(!0!==s)return s}return!0}_consume(e,t){const s=(0,l.Z)(t)?t:[t],o=this._consumables[e];for(const t of s)if("attributes"!==e||"class"!==t&&"style"!==t){if(o.set(t,!1),"styles"==e)for(const e of this.element.document.stylesProcessor.getRelatedStyles(t))o.set(e,!1)}else{const e="class"==t?"classes":"styles";this._consume(e,[...this._consumables[e].keys()])}}_revert(e,t){const s=(0,l.Z)(t)?t:[t],o=this._consumables[e];for(const t of s)if("attributes"!==e||"class"!==t&&"style"!==t){!1===o.get(t)&&o.set(t,!0)}else{const e="class"==t?"classes":"styles";this._revert(e,[...this._consumables[e].keys()])}}}var p=s("./packages/ckeditor5-engine/src/model/range.ts"),g=s("./packages/ckeditor5-engine/src/model/position.ts"),f=s("./packages/ckeditor5-engine/src/model/schema.ts"),m=s("./packages/ckeditor5-engine/src/model/utils/autoparagraphing.ts");class k extends r.Q5{constructor(e){super(),this._splitParts=new Map,this._cursorParents=new Map,this._modelCursor=null,this._emptyElementsToKeep=new Set,this.conversionApi={...e,consumable:null,writer:null,store:null,convertItem:(e,t)=>this._convertItem(e,t),convertChildren:(e,t)=>this._convertChildren(e,t),safeInsert:(e,t)=>this._safeInsert(e,t),updateConversionResult:(e,t)=>this._updateConversionResult(e,t),splitToAllowedParent:(e,t)=>this._splitToAllowedParent(e,t),getSplitParts:e=>this._getSplitParts(e),keepEmptyElement:e=>this._keepEmptyElement(e)}}convert(e,t,s=["$root"]){this.fire("viewCleanup",e),this._modelCursor=function(e,t){let s;for(const o of new f.G(e)){const e={};for(const t of o.getAttributeKeys())e[t]=o.getAttribute(t);const i=t.createElement(o.name,e);s&&t.insert(i,s),s=g.ZP._createAt(i,0)}return s}(s,t),this.conversionApi.writer=t,this.conversionApi.consumable=d.createFrom(e),this.conversionApi.store={};const{modelRange:o}=this._convertItem(e,this._modelCursor),i=t.createDocumentFragment();if(o){this._removeEmptyElements();for(const e of Array.from(this._modelCursor.parent.getChildren()))t.append(e,i);i.markers=function(e,t){const s=new Set,o=new Map,i=p.Z._createIn(e).getItems();for(const e of i)e.is("element","$marker")&&s.add(e);for(const e of s){const s=e.getAttribute("data-name"),i=t.createPositionBefore(e);o.has(s)?o.get(s).end=i.clone():o.set(s,new p.Z(i.clone())),t.remove(e)}return o}(i,t)}return this._modelCursor=null,this._splitParts.clear(),this._cursorParents.clear(),this._emptyElementsToKeep.clear(),this.conversionApi.writer=null,this.conversionApi.store=null,i}_convertItem(e,t){const s={viewItem:e,modelCursor:t,modelRange:null};if(e.is("element")?this.fire(`element:${e.name}`,s,this.conversionApi):e.is("$text")?this.fire("text",s,this.conversionApi):this.fire("documentFragment",s,this.conversionApi),s.modelRange&&!(s.modelRange instanceof p.Z))throw new i.ZP("view-conversion-dispatcher-incorrect-result",this);return{modelRange:s.modelRange,modelCursor:s.modelCursor}}_convertChildren(e,t){let s=t.is("position")?t:g.ZP._createAt(t,0);const o=new p.Z(s);for(const t of Array.from(e.getChildren())){const e=this._convertItem(t,s);e.modelRange instanceof p.Z&&(o.end=e.modelRange.end,s=e.modelCursor)}return{modelRange:o,modelCursor:s}}_safeInsert(e,t){const s=this._splitToAllowedParent(e,t);return!!s&&(this.conversionApi.writer.insert(e,s.position),!0)}_updateConversionResult(e,t){const s=this._getSplitParts(e),o=this.conversionApi.writer;t.modelRange||(t.modelRange=o.createRange(o.createPositionBefore(e),o.createPositionAfter(s[s.length-1])));const i=this._cursorParents.get(e);t.modelCursor=i?o.createPositionAt(i,0):t.modelRange.end}_splitToAllowedParent(e,t){const{schema:s,writer:o}=this.conversionApi;let i=s.findAllowedParent(t,e);if(i){if(i===t.parent)return{position:t};this._modelCursor.parent.getAncestors().includes(i)&&(i=null)}if(!i)return(0,m.gg)(t,e,s)?{position:(0,m.zX)(t,o)}:null;const r=this.conversionApi.writer.split(t,i),n=[];for(const e of r.range.getWalker())if("elementEnd"==e.type)n.push(e.item);else{const t=n.pop(),s=e.item;this._registerSplitPair(t,s)}const a=r.range.end.parent;return this._cursorParents.set(e,a),{position:r.position,cursorParent:a}}_registerSplitPair(e,t){this._splitParts.has(e)||this._splitParts.set(e,[e]);const s=this._splitParts.get(e);this._splitParts.set(t,s),s.push(t)}_getSplitParts(e){let t;return t=this._splitParts.has(e)?this._splitParts.get(e):[e],t}_keepEmptyElement(e){this._emptyElementsToKeep.add(e)}_removeEmptyElements(){let e=!1;for(const t of this._splitParts.keys())t.isEmpty&&!this._emptyElementsToKeep.has(t)&&(this.conversionApi.writer.remove(t),this._splitParts.delete(t),e=!0);e&&this._removeEmptyElements()}}var b=s("./packages/ckeditor5-engine/src/conversion/upcasthelpers.ts"),_=s("./packages/ckeditor5-engine/src/view/documentfragment.ts"),w=s("./packages/ckeditor5-engine/src/view/document.ts"),v=s("./packages/ckeditor5-engine/src/view/downcastwriter.ts"),y=s("./packages/ckeditor5-engine/src/dataprocessor/htmldataprocessor.ts");class Z extends r.Q5{constructor(e,t){super(),this.model=e,this.mapper=new n.Z,this.downcastDispatcher=new a.Z({mapper:this.mapper,schema:e.schema}),this.downcastDispatcher.on("insert:$text",(0,c.Om)(),{priority:"lowest"}),this.downcastDispatcher.on("insert",(0,c.o6)(),{priority:"lowest"}),this.upcastDispatcher=new k({schema:e.schema}),this.viewDocument=new w.Z(t),this.stylesProcessor=t,this.htmlProcessor=new y.Z(this.viewDocument),this.processor=this.htmlProcessor,this._viewWriter=new v.Z(this.viewDocument),this.upcastDispatcher.on("text",(0,b.s8)(),{priority:"lowest"}),this.upcastDispatcher.on("element",(0,b._p)(),{priority:"lowest"}),this.upcastDispatcher.on("documentFragment",(0,b._p)(),{priority:"lowest"}),o.y.prototype.decorate.call(this,"init"),o.y.prototype.decorate.call(this,"set"),o.y.prototype.decorate.call(this,"get"),this.on("init",(()=>{this.fire("ready")}),{priority:"lowest"}),this.on("ready",(()=>{this.model.enqueueChange({isUndoable:!1},m._m)}),{priority:"lowest"})}get(e={}){const{rootName:t="main",trim:s="empty"}=e;if(!this._checkIfRootsExists([t]))throw new i.ZP("datacontroller-get-non-existent-root",this);const o=this.model.document.getRoot(t);return"empty"!==s||this.model.hasContent(o,{ignoreWhitespaces:!0})?this.stringify(o,e):""}stringify(e,t={}){const s=this.toView(e,t);return this.processor.toData(s)}toView(e,t={}){const s=this.viewDocument,o=this._viewWriter;this.mapper.clearBindings();const i=p.Z._createIn(e),r=new _.Z(s);this.mapper.bindElements(e,r);const n=e.is("documentFragment")?e.markers:function(e){const t=[],s=e.root.document;if(!s)return new Map;const o=p.Z._createIn(e);for(const e of s.model.markers){const s=e.getRange(),i=s.isCollapsed,r=s.start.isEqual(o.start)||s.end.isEqual(o.end);if(i&&r)t.push([e.name,s]);else{const i=o.getIntersection(s);i&&t.push([e.name,i])}}return t.sort((([e,t],[s,o])=>{if("after"!==t.end.compareWith(o.start))return 1;if("before"!==t.start.compareWith(o.end))return-1;switch(t.start.compareWith(o.start)){case"before":return 1;case"after":return-1;default:switch(t.end.compareWith(o.end)){case"before":return 1;case"after":return-1;default:return s.localeCompare(e)}}})),new Map(t)}(e);return this.downcastDispatcher.convert(i,n,o,t),r}init(e){if(this.model.document.version)throw new i.ZP("datacontroller-init-document-not-empty",this);let t={};if("string"==typeof e?t.main=e:t=e,!this._checkIfRootsExists(Object.keys(t)))throw new i.ZP("datacontroller-init-non-existent-root",this);return this.model.enqueueChange({isUndoable:!1},(e=>{for(const s of Object.keys(t)){const o=this.model.document.getRoot(s);e.insert(this.parse(t[s],o),o,0)}})),Promise.resolve()}set(e,t={}){let s={};if("string"==typeof e?s.main=e:s=e,!this._checkIfRootsExists(Object.keys(s)))throw new i.ZP("datacontroller-set-non-existent-root",this);this.model.enqueueChange(t.batchType||{},(e=>{e.setSelection(null),e.removeSelectionAttribute(this.model.document.selection.getAttributeKeys());for(const t of Object.keys(s)){const o=this.model.document.getRoot(t);e.remove(e.createRangeIn(o)),e.insert(this.parse(s[t],o),o,0)}}))}parse(e,t="$root"){const s=this.processor.toView(e);return this.toModel(s,t)}toModel(e,t="$root"){return this.model.change((s=>this.upcastDispatcher.convert(e,s,t)))}addStyleProcessorRules(e){e(this.stylesProcessor)}registerRawContentMatcher(e){this.processor&&this.processor!==this.htmlProcessor&&this.processor.registerRawContentMatcher(e),this.htmlProcessor.registerRawContentMatcher(e)}destroy(){this.stopListening()}_checkIfRootsExists(e){for(const t of e)if(!this.model.document.getRootNames().includes(t))return!1;return!0}}},"./packages/ckeditor5-engine/src/controller/editingcontroller.ts":(e,t,s)=>{"use strict";s.d(t,{Z:()=>F});var o=s("./packages/ckeditor5-engine/src/view/editableelement.ts");const i=Symbol("rootName");class r extends o.Z{constructor(e,t){super(e,t),this.rootName="main"}get rootName(){return this.getCustomProperty(i)}set rootName(e){this._setCustomProperty(i,e)}set _name(e){this.name=e}}r.prototype.is=function(e,t){return t?t===this.name&&("rootElement"===e||"view:rootElement"===e||"editableElement"===e||"view:editableElement"===e||"containerElement"===e||"view:containerElement"===e||"element"===e||"view:element"===e):"rootElement"===e||"view:rootElement"===e||"editableElement"===e||"view:editableElement"===e||"containerElement"===e||"view:containerElement"===e||"element"===e||"view:element"===e||"node"===e||"view:node"===e};var n=s("./packages/ckeditor5-engine/src/view/document.ts"),a=s("./packages/ckeditor5-engine/src/view/downcastwriter.ts"),c=s("./packages/ckeditor5-engine/src/view/renderer.ts"),l=s("./packages/ckeditor5-engine/src/view/domconverter.ts"),d=s("./packages/ckeditor5-engine/src/view/position.ts"),h=s("./packages/ckeditor5-engine/src/view/range.ts"),u=s("./packages/ckeditor5-engine/src/view/selection.ts"),p=s("./packages/ckeditor5-engine/src/view/observer/observer.ts"),g=s("./packages/ckeditor5-engine/src/view/filler.ts"),f=s("./node_modules/lodash-es/_baseIsEqual.js");const m=function(e,t,s){var o=(s="function"==typeof s?s:void 0)?s(e,t):void 0;return void 0===o?(0,f.Z)(e,t,void 0,s):!!o};class k extends p.Z{constructor(e){super(e),this._config={childList:!0,characterData:!0,characterDataOldValue:!0,subtree:!0},this.domConverter=e.domConverter,this.renderer=e._renderer,this._domElements=[],this._mutationObserver=new window.MutationObserver(this._onMutations.bind(this))}flush(){this._onMutations(this._mutationObserver.takeRecords())}observe(e){this._domElements.push(e),this.isEnabled&&this._mutationObserver.observe(e,this._config)}enable(){super.enable();for(const e of this._domElements)this._mutationObserver.observe(e,this._config)}disable(){super.disable(),this._mutationObserver.disconnect()}destroy(){super.destroy(),this._mutationObserver.disconnect()}_onMutations(e){if(0===e.length)return;const t=this.domConverter,s=new Map,o=new Set;for(const s of e)if("childList"===s.type){const e=t.mapDomToView(s.target);if(e&&(e.is("uiElement")||e.is("rawElement")))continue;e&&!this._isBogusBrMutation(s)&&o.add(e)}for(const i of e){const e=t.mapDomToView(i.target);if((!e||!e.is("uiElement")&&!e.is("rawElement"))&&"characterData"===i.type){const e=t.findCorrespondingViewText(i.target);e&&!o.has(e.parent)?s.set(e,{type:"text",oldText:e.data,newText:(0,g.th)(i.target),node:e}):!e&&(0,g.Sw)(i.target)&&o.add(t.mapDomToView(i.target.parentNode))}}const i=[];for(const e of s.values())this.renderer.markToSync("text",e.node),i.push(e);for(const e of o){const s=t.mapViewToDom(e),o=Array.from(e.getChildren()),r=Array.from(t.domChildrenToView(s,{withChildren:!1}));m(o,r,a)||(this.renderer.markToSync("children",e),i.push({type:"children",oldChildren:o,newChildren:r,node:e}))}const r=e[0].target.ownerDocument.getSelection();let n=null;if(r&&r.anchorNode){const e=t.domPositionToView(r.anchorNode,r.anchorOffset),s=t.domPositionToView(r.focusNode,r.focusOffset);e&&s&&(n=new u.Z(e),n.setFocus(s))}function a(e,t){if(!Array.isArray(e))return e===t||!(!e.is("$text")||!t.is("$text"))&&e.data===t.data}i.length&&(this.document.fire("mutations",i,n),this.view.forceRender())}_isBogusBrMutation(e){let t=null;return null===e.nextSibling&&0===e.removedNodes.length&&1==e.addedNodes.length&&(t=this.domConverter.domToView(e.addedNodes[0],{withChildren:!1})),t&&t.is("element","br")}}var b=s("./packages/ckeditor5-engine/src/view/observer/domeventobserver.ts"),_=s("./packages/ckeditor5-utils/src/keyboard.ts");class w extends b.Z{constructor(e){super(e),this.domEventType=["keydown","keyup"]}onDomEvent(e){const t={keyCode:e.keyCode,altKey:e.altKey,ctrlKey:e.ctrlKey,shiftKey:e.shiftKey,metaKey:e.metaKey,get keystroke(){return(0,_.Cq)(this)}};this.fire(e.type,e,t)}}var v=s("./node_modules/lodash-es/debounce.js");class y extends p.Z{constructor(e){super(e),this._fireSelectionChangeDoneDebounced=(0,v.Z)((e=>{this.document.fire("selectionChangeDone",e)}),200)}observe(){const e=this.document;e.on("arrowKey",((t,s)=>{e.selection.isFake&&this.isEnabled&&s.preventDefault()}),{context:"$capture"}),e.on("arrowKey",((t,s)=>{e.selection.isFake&&this.isEnabled&&this._handleSelectionMove(s.keyCode)}),{priority:"lowest"})}destroy(){super.destroy(),this._fireSelectionChangeDoneDebounced.cancel()}_handleSelectionMove(e){const t=this.document.selection,s=new u.Z(t.getRanges(),{backward:t.isBackward,fake:!1});e!=_.Do.arrowleft&&e!=_.Do.arrowup||s.setTo(s.getFirstPosition()),e!=_.Do.arrowright&&e!=_.Do.arrowdown||s.setTo(s.getLastPosition());const o={oldSelection:t,newSelection:s,domSelection:null};this.document.fire("selectionChange",o),this._fireSelectionChangeDoneDebounced(o)}}class Z extends p.Z{constructor(e){super(e),this.mutationObserver=e.getObserver(k),this.selection=this.document.selection,this.domConverter=e.domConverter,this._documents=new WeakSet,this._fireSelectionChangeDoneDebounced=(0,v.Z)((e=>{this.document.fire("selectionChangeDone",e)}),200),this._clearInfiniteLoopInterval=setInterval((()=>this._clearInfiniteLoop()),1e3),this._documentIsSelectingInactivityTimeoutDebounced=(0,v.Z)((()=>this.document.isSelecting=!1),5e3),this._loopbackCounter=0}observe(e){const t=e.ownerDocument,s=()=>{this.document.isSelecting=!1,this._documentIsSelectingInactivityTimeoutDebounced.cancel()};this.listenTo(e,"selectstart",(()=>{this.document.isSelecting=!0,this._documentIsSelectingInactivityTimeoutDebounced()}),{priority:"highest"}),this.listenTo(e,"keydown",s,{priority:"highest"}),this.listenTo(e,"keyup",s,{priority:"highest"}),this._documents.has(t)||(this.listenTo(t,"mouseup",s,{priority:"highest"}),this.listenTo(t,"selectionchange",((e,s)=>{this._handleSelectionChange(s,t),this._documentIsSelectingInactivityTimeoutDebounced()})),this._documents.add(t))}destroy(){super.destroy(),clearInterval(this._clearInfiniteLoopInterval),this._fireSelectionChangeDoneDebounced.cancel(),this._documentIsSelectingInactivityTimeoutDebounced.cancel()}_handleSelectionChange(e,t){if(!this.isEnabled)return;const s=t.defaultView.getSelection();if(this.checkShouldIgnoreEventFromTarget(s.anchorNode))return;this.mutationObserver.flush();const o=this.domConverter.domSelectionToView(s);if(0!=o.rangeCount){if(this.view.hasDomSelection=!0,!(this.selection.isEqual(o)&&this.domConverter.isDomSelectionCorrect(s)||++this._loopbackCounter>60))if(this.selection.isSimilar(o))this.view.forceRender();else{const e={oldSelection:this.selection,newSelection:o,domSelection:s};this.document.fire("selectionChange",e),this._fireSelectionChangeDoneDebounced(e)}}else this.view.hasDomSelection=!1}_clearInfiniteLoop(){this._loopbackCounter=0}}class P extends b.Z{constructor(e){super(e),this.domEventType=["focus","blur"],this.useCapture=!0;const t=this.document;t.on("focus",(()=>{t.isFocused=!0,this._renderTimeoutId=setTimeout((()=>e.change((()=>{}))),50)})),t.on("blur",((s,o)=>{const i=t.selection.editableElement;null!==i&&i!==o.target||(t.isFocused=!1,e.change((()=>{})))}))}onDomEvent(e){this.fire(e.type,e)}destroy(){this._renderTimeoutId&&clearTimeout(this._renderTimeoutId),super.destroy()}}class x extends b.Z{constructor(e){super(e),this.domEventType=["compositionstart","compositionupdate","compositionend"];const t=this.document;t.on("compositionstart",(()=>{t.isComposing=!0})),t.on("compositionend",(()=>{t.isComposing=!1}))}onDomEvent(e){this.fire(e.type,e)}}class T extends b.Z{constructor(e){super(e),this.domEventType=["beforeinput"]}onDomEvent(e){this.fire(e.type,e)}}var A=s("./packages/ckeditor5-engine/src/view/observer/bubblingeventinfo.ts"),C=s("./packages/ckeditor5-utils/src/index.ts");class E extends p.Z{constructor(e){super(e),this.document.on("keydown",((e,t)=>{if(this.isEnabled&&(0,C.dj)(t.keyCode)){const s=new A.Z(this.document,"arrowKey",this.document.selection.getFirstRange());this.document.fire(s,t),s.stop.called&&e.stop()}}))}observe(){}}class S extends p.Z{constructor(e){super(e);const t=this.document;t.on("keydown",((e,s)=>{if(!this.isEnabled||s.keyCode!=_.Do.tab||s.ctrlKey)return;const o=new A.Z(t,"tab",t.selection.getFirstRange());t.fire(o,s),o.stop.called&&e.stop()}))}observe(){}}var j=s("./packages/ckeditor5-utils/src/observablemixin.ts"),O=s("./packages/ckeditor5-utils/src/dom/scroll.ts"),R=s("./packages/ckeditor5-engine/src/view/uielement.ts"),M=s("./packages/ckeditor5-utils/src/ckeditorerror.ts"),N=s("./packages/ckeditor5-utils/src/env.ts");class V extends j.y{constructor(e){super(),this.document=new n.Z(e),this.domConverter=new l.Z(this.document),this.domRoots=new Map,this.set("isRenderingInProgress",!1),this.set("hasDomSelection",!1),this._renderer=new c.Z(this.domConverter,this.document.selection),this._renderer.bind("isFocused","isSelecting").to(this.document,"isFocused","isSelecting"),this._initialDomRootAttributes=new WeakMap,this._observers=new Map,this._ongoingChange=!1,this._postFixersInProgress=!1,this._renderingDisabled=!1,this._hasChangedSinceTheLastRendering=!1,this._writer=new a.Z(this.document),this.addObserver(k),this.addObserver(Z),this.addObserver(P),this.addObserver(w),this.addObserver(y),this.addObserver(x),this.addObserver(E),this.addObserver(S),N.ZP.isAndroid&&this.addObserver(T),(0,g.mm)(this),(0,R.h)(this),this.on("render",(()=>{this._render(),this.document.fire("layoutChanged"),this._hasChangedSinceTheLastRendering=!1})),this.listenTo(this.document.selection,"change",(()=>{this._hasChangedSinceTheLastRendering=!0})),this.listenTo(this.document,"change:isFocused",(()=>{this._hasChangedSinceTheLastRendering=!0}))}attachDomRoot(e,t="main"){const s=this.document.getRoot(t);s._name=e.tagName.toLowerCase();const o={};for(const{name:t,value:i}of Array.from(e.attributes))o[t]=i,"class"===t?this._writer.addClass(i.split(" "),s):this._writer.setAttribute(t,i,s);this._initialDomRootAttributes.set(e,o);const i=()=>{this._writer.setAttribute("contenteditable",(!s.isReadOnly).toString(),s),s.isReadOnly?this._writer.addClass("ck-read-only",s):this._writer.removeClass("ck-read-only",s)};i(),this.domRoots.set(t,e),this.domConverter.bindElements(e,s),this._renderer.markToSync("children",s),this._renderer.markToSync("attributes",s),this._renderer.domDocuments.add(e.ownerDocument),s.on("change:children",((e,t)=>this._renderer.markToSync("children",t))),s.on("change:attributes",((e,t)=>this._renderer.markToSync("attributes",t))),s.on("change:text",((e,t)=>this._renderer.markToSync("text",t))),s.on("change:isReadOnly",(()=>this.change(i))),s.on("change",(()=>{this._hasChangedSinceTheLastRendering=!0}));for(const s of this._observers.values())s.observe(e,t)}detachDomRoot(e){const t=this.domRoots.get(e);Array.from(t.attributes).forEach((({name:e})=>t.removeAttribute(e)));const s=this._initialDomRootAttributes.get(t);for(const e in s)t.setAttribute(e,s[e]);this.domRoots.delete(e),this.domConverter.unbindDomElement(t)}getDomRoot(e="main"){return this.domRoots.get(e)}addObserver(e){let t=this._observers.get(e);if(t)return t;t=new e(this),this._observers.set(e,t);for(const[e,s]of this.domRoots)t.observe(s,e);return t.enable(),t}getObserver(e){return this._observers.get(e)}disableObservers(){for(const e of this._observers.values())e.disable()}enableObservers(){for(const e of this._observers.values())e.enable()}scrollToTheSelection(){const e=this.document.selection.getFirstRange();e&&(0,O.m)({target:this.domConverter.viewRangeToDom(e),viewportOffset:20})}focus(){if(!this.document.isFocused){const e=this.document.selection.editableElement;e&&(this.domConverter.focus(e),this.forceRender())}}change(e){if(this.isRenderingInProgress||this._postFixersInProgress)throw new M.ZP("cannot-change-view-tree",this);try{if(this._ongoingChange)return e(this._writer);this._ongoingChange=!0;const t=e(this._writer);return this._ongoingChange=!1,!this._renderingDisabled&&this._hasChangedSinceTheLastRendering&&(this._postFixersInProgress=!0,this.document._callPostFixers(this._writer),this._postFixersInProgress=!1,this.fire("render")),t}catch(e){M.ZP.rethrowUnexpectedError(e,this)}}forceRender(){this._hasChangedSinceTheLastRendering=!0,this.change((()=>{}))}destroy(){for(const e of this._observers.values())e.destroy();this.document.destroy(),this.stopListening()}createPositionAt(e,t){return d.Z._createAt(e,t)}createPositionAfter(e){return d.Z._createAfter(e)}createPositionBefore(e){return d.Z._createBefore(e)}createRange(...e){return new h.Z(...e)}createRangeOn(e){return h.Z._createOn(e)}createRangeIn(e){return h.Z._createIn(e)}createSelection(...e){return new u.Z(...e)}_disableRendering(e){this._renderingDisabled=e,0==e&&this.change((()=>{}))}_render(){this.isRenderingInProgress=!0,this.disableObservers(),this._renderer.render(),this.enableObservers(),this.isRenderingInProgress=!1}}var I=s("./packages/ckeditor5-engine/src/conversion/mapper.ts"),D=s("./packages/ckeditor5-engine/src/conversion/downcastdispatcher.ts"),z=s("./packages/ckeditor5-engine/src/conversion/downcasthelpers.ts"),B=s("./packages/ckeditor5-engine/src/conversion/upcasthelpers.ts");class F extends j.y{constructor(e,t){super(),this.model=e,this.view=new V(t),this.mapper=new I.Z,this.downcastDispatcher=new D.Z({mapper:this.mapper,schema:e.schema});const s=this.model.document,o=s.selection,i=this.model.markers;this.listenTo(this.model,"_beforeChanges",(()=>{this.view._disableRendering(!0)}),{priority:"highest"}),this.listenTo(this.model,"_afterChanges",(()=>{this.view._disableRendering(!1)}),{priority:"lowest"}),this.listenTo(s,"change",(()=>{this.view.change((e=>{this.downcastDispatcher.convertChanges(s.differ,i,e),this.downcastDispatcher.convertSelection(o,i,e)}))}),{priority:"low"}),this.listenTo(this.view.document,"selectionChange",(0,B.Fo)(this.model,this.mapper)),this.downcastDispatcher.on("insert:$text",(0,z.Om)(),{priority:"lowest"}),this.downcastDispatcher.on("insert",(0,z.o6)(),{priority:"lowest"}),this.downcastDispatcher.on("remove",(0,z.Od)(),{priority:"low"}),this.downcastDispatcher.on("selection",(0,z.iO)(),{priority:"high"}),this.downcastDispatcher.on("selection",(0,z.k3)(),{priority:"low"}),this.downcastDispatcher.on("selection",(0,z.GM)(),{priority:"low"}),this.view.document.roots.bindTo(this.model.document.roots).using((e=>{if("$graveyard"==e.rootName)return null;const t=new r(this.view.document,e.name);return t.rootName=e.rootName,this.mapper.bindElements(e,t),t}))}destroy(){this.view.destroy(),this.stopListening()}reconvertMarker(e){const t="string"==typeof e?e:e.name,s=this.model.markers.get(t);if(!s)throw new M.ZP("editingcontroller-reconvertmarker-marker-not-exist",this,{markerName:t});this.model.change((()=>{this.model.markers._refresh(s)}))}reconvertItem(e){this.model.change((()=>{this.model.document.differ._refreshItem(e)}))}}},"./packages/ckeditor5-engine/src/conversion/conversion.ts":(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});var o=s("./packages/ckeditor5-utils/src/ckeditorerror.ts"),i=s("./packages/ckeditor5-engine/src/conversion/upcasthelpers.ts"),r=s("./packages/ckeditor5-engine/src/conversion/downcasthelpers.ts"),n=s("./packages/ckeditor5-utils/src/toarray.ts");class a{constructor(e,t){this._helpers=new Map,this._downcast=(0,n.Z)(e),this._createConversionHelpers({name:"downcast",dispatchers:this._downcast,isDowncast:!0}),this._upcast=(0,n.Z)(t),this._createConversionHelpers({name:"upcast",dispatchers:this._upcast,isDowncast:!1})}addAlias(e,t){const s=this._downcast.includes(t);if(!this._upcast.includes(t)&&!s)throw new o.ZP("conversion-add-alias-dispatcher-not-registered",this);this._createConversionHelpers({name:e,dispatchers:[t],isDowncast:s})}for(e){if(!this._helpers.has(e))throw new o.ZP("conversion-for-unknown-group",this);return this._helpers.get(e)}elementToElement(e){this.for("downcast").elementToElement(e);for(const{model:t,view:s}of c(e))this.for("upcast").elementToElement({model:t,view:s,converterPriority:e.converterPriority})}attributeToElement(e){this.for("downcast").attributeToElement(e);for(const{model:t,view:s}of c(e))this.for("upcast").elementToAttribute({view:s,model:t,converterPriority:e.converterPriority})}attributeToAttribute(e){this.for("downcast").attributeToAttribute(e);for(const{model:t,view:s}of c(e))this.for("upcast").attributeToAttribute({view:s,model:t})}_createConversionHelpers({name:e,dispatchers:t,isDowncast:s}){if(this._helpers.has(e))throw new o.ZP("conversion-group-exists",this);const n=s?new r.ZP(t):new i.ZP(t);this._helpers.set(e,n)}}function*c(e){if(e.model.values)for(const t of e.model.values){const s={key:e.model.key,value:t},o=e.view[t],i=e.upcastAlso?e.upcastAlso[t]:void 0;yield*l(s,o,i)}else yield*l(e.model,e.view,e.upcastAlso)}function*l(e,t,s){if(yield{model:e,view:t},s)for(const t of(0,n.Z)(s))yield{model:e,view:t}}},"./packages/ckeditor5-engine/src/conversion/conversionhelpers.ts":(e,t,s)=>{"use strict";s.d(t,{Z:()=>o});class o{constructor(e){this._dispatchers=e}add(e){for(const t of this._dispatchers)e(t);return this}}},"./packages/ckeditor5-engine/src/conversion/downcastdispatcher.ts":(e,t,s)=>{"use strict";s.d(t,{Z:()=>l});var o=s("./packages/ckeditor5-engine/src/model/textproxy.ts"),i=s("./packages/ckeditor5-utils/src/ckeditorerror.ts");class r{constructor(){this._consumable=new Map,this._textProxyRegistry=new Map}add(e,t){t=n(t),e instanceof o.Z&&(e=this._getSymbolForTextProxy(e)),this._consumable.has(e)||this._consumable.set(e,new Map),this._consumable.get(e).set(t,!0)}consume(e,t){return t=n(t),e instanceof o.Z&&(e=this._getSymbolForTextProxy(e)),!!this.test(e,t)&&(this._consumable.get(e).set(t,!1),!0)}test(e,t){t=n(t),e instanceof o.Z&&(e=this._getSymbolForTextProxy(e));const s=this._consumable.get(e);if(void 0===s)return null;const i=s.get(t);return void 0===i?null:i}revert(e,t){t=n(t),e instanceof o.Z&&(e=this._getSymbolForTextProxy(e));const s=this.test(e,t);return!1===s?(this._consumable.get(e).set(t,!0),!0):!0!==s&&null}verifyAllConsumed(e){const t=[];for(const[s,o]of this._consumable)for(const[i,r]of o){const o=i.split(":")[0];r&&e==o&&t.push({event:i,item:s.name||s.description})}if(t.length)throw new i.ZP("conversion-model-consumable-not-consumed",null,{items:t})}_getSymbolForTextProxy(e){let t=null;const s=this._textProxyRegistry.get(e.startOffset);if(s){const o=s.get(e.endOffset);o&&(t=o.get(e.parent))}return t||(t=this._addSymbolForTextProxy(e)),t}_addSymbolForTextProxy(e){const t=e.startOffset,s=e.endOffset,o=e.parent,i=Symbol("$textProxy:"+e.data);let r,n;return r=this._textProxyRegistry.get(t),r||(r=new Map,this._textProxyRegistry.set(t,r)),n=r.get(s),n||(n=new Map,r.set(s,n)),n.set(o,i),i}}function n(e){const t=e.split(":");return"insert"==t[0]?t[0]:"addMarker"==t[0]||"removeMarker"==t[0]?e:t.length>1?t[0]+":"+t[1]:t[0]}var a=s("./packages/ckeditor5-engine/src/model/range.ts"),c=s("./packages/ckeditor5-utils/src/emittermixin.ts");class l extends c.Q5{constructor(e){super(),this._conversionApi={dispatcher:this,...e},this._firedEventsMap=new WeakMap}convertChanges(e,t,s){const o=this._createConversionApi(s,e.getRefreshedItems());for(const t of e.getMarkersToRemove())this._convertMarkerRemove(t.name,t.range,o);const i=this._reduceChanges(e.getChanges());for(const e of i)"insert"===e.type?this._convertInsert(a.Z._createFromPositionAndShift(e.position,e.length),o):"reinsert"===e.type?this._convertReinsert(a.Z._createFromPositionAndShift(e.position,e.length),o):"remove"===e.type?this._convertRemove(e.position,e.length,e.name,o):this._convertAttribute(e.range,e.attributeKey,e.attributeOldValue,e.attributeNewValue,o);for(const e of o.mapper.flushUnboundMarkerNames()){const s=t.get(e).getRange();this._convertMarkerRemove(e,s,o),this._convertMarkerAdd(e,s,o)}for(const t of e.getMarkersToAdd())this._convertMarkerAdd(t.name,t.range,o);o.mapper.flushDeferredBindings(),o.consumable.verifyAllConsumed("insert")}convert(e,t,s,o={}){const i=this._createConversionApi(s,void 0,o);this._convertInsert(e,i);for(const[e,s]of t)this._convertMarkerAdd(e,s,i);i.consumable.verifyAllConsumed("insert")}convertSelection(e,t,s){const o=Array.from(t.getMarkersAtPosition(e.getFirstPosition())),i=this._createConversionApi(s);if(this._addConsumablesForSelection(i.consumable,e,o),this.fire("selection",{selection:e},i),e.isCollapsed){for(const t of o){const s=t.getRange();if(!d(e.getFirstPosition(),t,i.mapper))continue;const o={item:e,markerName:t.name,markerRange:s};i.consumable.test(e,"addMarker:"+t.name)&&this.fire(`addMarker:${t.name}`,o,i)}for(const t of e.getAttributeKeys()){const s={item:e,range:e.getFirstRange(),attributeKey:t,attributeOldValue:null,attributeNewValue:e.getAttribute(t)};i.consumable.test(e,"attribute:"+s.attributeKey)&&this.fire(`attribute:${s.attributeKey}:$text`,s,i)}}}_convertInsert(e,t,s={}){s.doNotAddConsumables||this._addConsumablesForInsert(t.consumable,Array.from(e));for(const s of Array.from(e.getWalker({shallow:!0})).map(h))this._testAndFire("insert",s,t)}_convertRemove(e,t,s,o){this.fire(`remove:${s}`,{position:e,length:t},o)}_convertAttribute(e,t,s,o,i){this._addConsumablesForRange(i.consumable,e,`attribute:${t}`);for(const r of e){const e={item:r.item,range:a.Z._createFromPositionAndShift(r.previousPosition,r.length),attributeKey:t,attributeOldValue:s,attributeNewValue:o};this._testAndFire(`attribute:${t}`,e,i)}}_convertReinsert(e,t){const s=Array.from(e.getWalker({shallow:!0}));this._addConsumablesForInsert(t.consumable,s);for(const e of s.map(h))this._testAndFire("insert",{...e,reconversion:!0},t)}_convertMarkerAdd(e,t,s){if("$graveyard"==t.root.rootName)return;const o=`addMarker:${e}`;if(s.consumable.add(t,o),this.fire(o,{markerName:e,markerRange:t},s),s.consumable.consume(t,o)){this._addConsumablesForRange(s.consumable,t,o);for(const i of t.getItems()){if(!s.consumable.test(i,o))continue;const r={item:i,range:a.Z._createOn(i),markerName:e,markerRange:t};this.fire(o,r,s)}}}_convertMarkerRemove(e,t,s){"$graveyard"!=t.root.rootName&&this.fire(`removeMarker:${e}`,{markerName:e,markerRange:t},s)}_reduceChanges(e){const t={changes:e};return this.fire("reduceChanges",t),t.changes}_addConsumablesForInsert(e,t){for(const s of t){const t=s.item;if(null===e.test(t,"insert")){e.add(t,"insert");for(const s of t.getAttributeKeys())e.add(t,"attribute:"+s)}}return e}_addConsumablesForRange(e,t,s){for(const o of t.getItems())e.add(o,s);return e}_addConsumablesForSelection(e,t,s){e.add(t,"selection");for(const o of s)e.add(t,"addMarker:"+o.name);for(const s of t.getAttributeKeys())e.add(t,"attribute:"+s);return e}_testAndFire(e,t,s){const o=function(e,t){const s=t.item.is("element")?t.item.name:"$text";return`${e}:${s}`}(e,t),i=t.item.is("$textProxy")?s.consumable._getSymbolForTextProxy(t.item):t.item,r=this._firedEventsMap.get(s),n=r.get(i);if(n){if(n.has(o))return;n.add(o)}else r.set(i,new Set([o]));this.fire(o,t,s)}_testAndFireAddAttributes(e,t){const s={item:e,range:a.Z._createOn(e)};for(const e of s.item.getAttributeKeys())s.attributeKey=e,s.attributeOldValue=null,s.attributeNewValue=s.item.getAttribute(e),this._testAndFire(`attribute:${e}`,s,t)}_createConversionApi(e,t=new Set,s={}){const o={...this._conversionApi,consumable:new r,writer:e,options:s,convertItem:e=>this._convertInsert(a.Z._createOn(e),o),convertChildren:e=>this._convertInsert(a.Z._createIn(e),o,{doNotAddConsumables:!0}),convertAttributes:e=>this._testAndFireAddAttributes(e,o),canReuseView:e=>!t.has(o.mapper.toModelElement(e))};return this._firedEventsMap.set(o,new Map),o}}function d(e,t,s){const o=t.getRange(),i=Array.from(e.getAncestors());i.shift(),i.reverse();return!i.some((e=>{if(o.containsItem(e)){return!!s.toViewElement(e).getCustomProperty("addHighlight")}}))}function h(e){return{item:e.item,range:a.Z._createFromPositionAndShift(e.previousPosition,e.length)}}},"./packages/ckeditor5-engine/src/conversion/downcasthelpers.ts":(e,t,s)=>{"use strict";s.d(t,{GM:()=>_,Od:()=>m,Om:()=>g,ZP:()=>p,iO:()=>w,k3:()=>b,o6:()=>f});var o=s("./packages/ckeditor5-engine/src/model/range.ts"),i=s("./packages/ckeditor5-engine/src/model/selection.ts"),r=s("./packages/ckeditor5-engine/src/model/documentselection.ts"),n=s("./packages/ckeditor5-engine/src/model/element.ts"),a=s("./packages/ckeditor5-engine/src/model/position.ts"),c=s("./packages/ckeditor5-engine/src/view/attributeelement.ts"),l=s("./packages/ckeditor5-engine/src/conversion/conversionhelpers.ts"),d=s("./node_modules/lodash-es/cloneDeep.js"),h=s("./packages/ckeditor5-utils/src/ckeditorerror.ts"),u=s("./packages/ckeditor5-utils/src/toarray.ts");class p extends l.Z{elementToElement(e){return this.add(function(e){const t=y(e.model),s=Z(e.view,"container");t.attributes.length&&(t.children=!0);return o=>{o.on(`insert:${t.name}`,function(e,t=j){return(s,o,i)=>{if(!t(o.item,i.consumable,{preflight:!0}))return;const r=e(o.item,i,o);if(!r)return;t(o.item,i.consumable);const n=i.mapper.toViewPosition(o.range.start);i.mapper.bindElements(o.item,r),i.writer.insert(n,r),i.convertAttributes(o.item),E(r,o.item.getChildren(),i,{reconversion:o.reconversion})}}(s,C(t)),{priority:e.converterPriority||"normal"}),(t.children||t.attributes.length)&&o.on("reduceChanges",A(t),{priority:"low"})}}(e))}elementToStructure(e){return this.add(function(e){const t=y(e.model),s=Z(e.view,"container");return t.children=!0,o=>{if(o._conversionApi.schema.checkChild(t.name,"$text"))throw new h.ZP("conversion-element-to-structure-disallowed-text",o,{elementName:t.name});var i,r;o.on(`insert:${t.name}`,(i=s,r=C(t),(e,t,s)=>{if(!r(t.item,s.consumable,{preflight:!0}))return;const o=new Map;s.writer._registerSlotFactory(function(e,t,s){return(o,i="children")=>{const r=o.createContainerElement("$slot");let n=null;if("children"===i)n=Array.from(e.getChildren());else{if("function"!=typeof i)throw new h.ZP("conversion-slot-mode-unknown",s.dispatcher,{modeOrFilter:i});n=Array.from(e.getChildren()).filter((e=>i(e)))}return t.set(r,n),r}}(t.item,o,s));const n=i(t.item,s,t);if(s.writer._clearSlotFactory(),!n)return;!function(e,t,s){const o=Array.from(t.values()).flat(),i=new Set(o);if(i.size!=o.length)throw new h.ZP("conversion-slot-filter-overlap",s.dispatcher,{element:e});if(i.size!=e.childCount)throw new h.ZP("conversion-slot-filter-incomplete",s.dispatcher,{element:e})}(t.item,o,s),r(t.item,s.consumable);const a=s.mapper.toViewPosition(t.range.start);s.mapper.bindElements(t.item,n),s.writer.insert(a,n),s.convertAttributes(t.item),function(e,t,s,o){s.mapper.on("modelToViewPosition",n,{priority:"highest"});let i=null,r=null;for([i,r]of t)E(e,r,s,o),s.writer.move(s.writer.createRangeIn(i),s.writer.createPositionBefore(i)),s.writer.remove(i);function n(e,t){const s=t.modelPosition.nodeAfter,o=r.indexOf(s);o<0||(t.viewPosition=t.mapper.findPositionIn(i,o))}s.mapper.off("modelToViewPosition",n)}(n,o,s,{reconversion:t.reconversion})}),{priority:e.converterPriority||"normal"}),o.on("reduceChanges",A(t),{priority:"low"})}}(e))}attributeToElement(e){return this.add(function(e){let t=(e=(0,d.Z)(e)).model;"string"==typeof t&&(t={key:t});let s=`attribute:${t.key}`;t.name&&(s+=":"+t.name);if(t.values)for(const s of t.values)e.view[s]=Z(e.view[s],"attribute");else e.view=Z(e.view,"attribute");const o=P(e);return t=>{t.on(s,function(e){return(t,s,o)=>{if(!o.consumable.test(s.item,t.name))return;const n=e(s.attributeOldValue,o,s),a=e(s.attributeNewValue,o,s);if(!n&&!a)return;o.consumable.consume(s.item,t.name);const c=o.writer,l=c.document.selection;if(s.item instanceof i.Z||s.item instanceof r.Z)c.wrap(l.getFirstRange(),a);else{let e=o.mapper.toViewRange(s.range);null!==s.attributeOldValue&&n&&(e=c.unwrap(e,n)),null!==s.attributeNewValue&&a&&c.wrap(e,a)}}}(o),{priority:e.converterPriority||"normal"})}}(e))}attributeToAttribute(e){return this.add(function(e){let t=(e=(0,d.Z)(e)).model;"string"==typeof t&&(t={key:t});let s=`attribute:${t.key}`;t.name&&(s+=":"+t.name);if(t.values)for(const s of t.values)e.view[s]=x(e.view[s]);else e.view=x(e.view);const o=P(e);return t=>{var i;t.on(s,(i=o,(e,t,s)=>{if(!s.consumable.test(t.item,e.name))return;const o=i(t.attributeOldValue,s,t),r=i(t.attributeNewValue,s,t);if(!o&&!r)return;s.consumable.consume(t.item,e.name);const n=s.mapper.toViewElement(t.item),a=s.writer;if(!n)throw new h.ZP("conversion-attribute-to-attribute-on-text",s.dispatcher,t);if(null!==t.attributeOldValue&&o)if("class"==o.key){const e=(0,u.Z)(o.value);for(const t of e)a.removeClass(t,n)}else if("style"==o.key){const e=Object.keys(o.value);for(const t of e)a.removeStyle(t,n)}else a.removeAttribute(o.key,n);if(null!==t.attributeNewValue&&r)if("class"==r.key){const e=(0,u.Z)(r.value);for(const t of e)a.addClass(t,n)}else if("style"==r.key){const e=Object.keys(r.value);for(const t of e)a.setStyle(t,r.value[t],n)}else a.setAttribute(r.key,r.value,n)}),{priority:e.converterPriority||"normal"})}}(e))}markerToElement(e){return this.add(function(e){const t=Z(e.view,"ui");return s=>{var o;s.on(`addMarker:${e.model}`,(o=t,(e,t,s)=>{t.isOpening=!0;const i=o(t,s);t.isOpening=!1;const r=o(t,s);if(!i||!r)return;const n=t.markerRange;if(n.isCollapsed&&!s.consumable.consume(n,e.name))return;for(const t of n)if(!s.consumable.consume(t.item,e.name))return;const a=s.mapper,c=s.writer;c.insert(a.toViewPosition(n.start),i),s.mapper.bindElementToMarker(i,t.markerName),n.isCollapsed||(c.insert(a.toViewPosition(n.end),r),s.mapper.bindElementToMarker(r,t.markerName)),e.stop()}),{priority:e.converterPriority||"normal"}),s.on(`removeMarker:${e.model}`,((e,t,s)=>{const o=s.mapper.markerNameToElements(t.markerName);if(o){for(const e of o)s.mapper.unbindElementFromMarkerName(e,t.markerName),s.writer.clear(s.writer.createRangeOn(e),e);s.writer.clearClonedElementsGroup(t.markerName),e.stop()}}),{priority:e.converterPriority||"normal"})}}(e))}markerToHighlight(e){return this.add(function(e){return t=>{var s;t.on(`addMarker:${e.model}`,(s=e.view,(e,t,o)=>{if(!t.item)return;if(!(t.item instanceof i.Z||t.item instanceof r.Z||t.item.is("$textProxy")))return;const n=T(s,t,o);if(!n)return;if(!o.consumable.consume(t.item,e.name))return;const a=o.writer,c=k(a,n),l=a.document.selection;if(t.item instanceof i.Z||t.item instanceof r.Z)a.wrap(l.getFirstRange(),c);else{const e=o.mapper.toViewRange(t.range),s=a.wrap(e,c);for(const e of s.getItems())if(e.is("attributeElement")&&e.isSimilar(c)){o.mapper.bindElementToMarker(e,t.markerName);break}}}),{priority:e.converterPriority||"normal"}),t.on(`addMarker:${e.model}`,function(e){return(t,s,i)=>{if(!s.item)return;if(!(s.item instanceof n.Z))return;const r=T(e,s,i);if(!r)return;if(!i.consumable.test(s.item,t.name))return;const a=i.mapper.toViewElement(s.item);if(a&&a.getCustomProperty("addHighlight")){i.consumable.consume(s.item,t.name);for(const e of o.Z._createIn(s.item))i.consumable.consume(e.item,t.name);a.getCustomProperty("addHighlight")(a,r,i.writer),i.mapper.bindElementToMarker(a,s.markerName)}}}(e.view),{priority:e.converterPriority||"normal"}),t.on(`removeMarker:${e.model}`,function(e){return(t,s,o)=>{if(s.markerRange.isCollapsed)return;const i=T(e,s,o);if(!i)return;const r=k(o.writer,i),n=o.mapper.markerNameToElements(s.markerName);if(n){for(const e of n)if(o.mapper.unbindElementFromMarkerName(e,s.markerName),e.is("attributeElement"))o.writer.unwrap(o.writer.createRangeOn(e),r);else{e.getCustomProperty("removeHighlight")(e,i.id,o.writer)}o.writer.clearClonedElementsGroup(s.markerName),t.stop()}}}(e.view),{priority:e.converterPriority||"normal"})}}(e))}markerToData(e){return this.add(function(e){const t=(e=(0,d.Z)(e)).model;let s=e.view;s||(s=s=>({group:t,name:s.substr(e.model.length+1)}));return o=>{var i;o.on(`addMarker:${t}`,(i=s,(e,t,s)=>{const o=i(t.markerName,s);if(!o)return;const r=t.markerRange;s.consumable.consume(r,e.name)&&(v(r,!1,s,t,o),v(r,!0,s,t,o),e.stop())}),{priority:e.converterPriority||"normal"}),o.on(`removeMarker:${t}`,function(e){return(t,s,o)=>{const i=e(s.markerName,o);if(!i)return;const r=o.mapper.markerNameToElements(s.markerName);if(r){for(const e of r)o.mapper.unbindElementFromMarkerName(e,s.markerName),e.is("containerElement")?(n(`data-${i.group}-start-before`,e),n(`data-${i.group}-start-after`,e),n(`data-${i.group}-end-before`,e),n(`data-${i.group}-end-after`,e)):o.writer.clear(o.writer.createRangeOn(e),e);o.writer.clearClonedElementsGroup(s.markerName),t.stop()}function n(e,t){if(t.hasAttribute(e)){const s=new Set(t.getAttribute(e).split(","));s.delete(i.name),0==s.size?o.writer.removeAttribute(e,t):o.writer.setAttribute(e,Array.from(s).join(","),t)}}}}(s),{priority:e.converterPriority||"normal"})}}(e))}}function g(){return(e,t,s)=>{if(!s.consumable.consume(t.item,e.name))return;const o=s.writer,i=s.mapper.toViewPosition(t.range.start),r=o.createText(t.item.data);o.insert(i,r)}}function f(){return(e,t,s)=>{s.convertAttributes(t.item),t.reconversion||!t.item.is("element")||t.item.isEmpty||s.convertChildren(t.item)}}function m(){return(e,t,s)=>{const o=s.mapper.toViewPosition(t.position),i=t.position.getShiftedBy(t.length),r=s.mapper.toViewPosition(i,{isPhantom:!0}),n=s.writer.createRange(o,r),a=s.writer.remove(n.getTrimmed());for(const e of s.writer.createRangeIn(a).getItems())s.mapper.unbindViewElement(e,{defer:!0})}}function k(e,t){const s=e.createAttributeElement("span",t.attributes);return t.classes&&s._addClass(t.classes),"number"==typeof t.priority&&(s._priority=t.priority),s._id=t.id,s}function b(){return(e,t,s)=>{const o=t.selection;if(o.isCollapsed)return;if(!s.consumable.consume(o,"selection"))return;const i=[];for(const e of o.getRanges())i.push(s.mapper.toViewRange(e));s.writer.setSelection(i,{backward:o.isBackward})}}function _(){return(e,t,s)=>{const o=t.selection;if(!o.isCollapsed)return;if(!s.consumable.consume(o,"selection"))return;const i=s.writer,r=o.getFirstPosition(),n=s.mapper.toViewPosition(r),a=i.breakAttributes(n);i.setSelection(a)}}function w(){return(e,t,s)=>{const o=s.writer,i=o.document.selection;for(const e of i.getRanges())e.isCollapsed&&e.end.parent.isAttached()&&s.writer.mergeAttributes(e.start);o.setSelection(null)}}function v(e,t,s,o,i){const r=t?e.start:e.end,n=r.nodeAfter&&r.nodeAfter.is("element")?r.nodeAfter:null,a=r.nodeBefore&&r.nodeBefore.is("element")?r.nodeBefore:null;if(n||a){let e,r;t&&n||!t&&!a?(e=n,r=!0):(e=a,r=!1);const c=s.mapper.toViewElement(e);if(c)return void function(e,t,s,o,i,r){const n=`data-${r.group}-${t?"start":"end"}-${s?"before":"after"}`,a=e.hasAttribute(n)?e.getAttribute(n).split(","):[];a.unshift(r.name),o.writer.setAttribute(n,a.join(","),e),o.mapper.bindElementToMarker(e,i.markerName)}(c,t,r,s,o,i)}!function(e,t,s,o,i){const r=`${i.group}-${t?"start":"end"}`,n=i.name?{name:i.name}:null,a=s.writer.createUIElement(r,n);s.writer.insert(e,a),s.mapper.bindElementToMarker(a,o.markerName)}(s.mapper.toViewPosition(r),t,s,o,i)}function y(e){return"string"==typeof e&&(e={name:e}),e.attributes?Array.isArray(e.attributes)||(e.attributes=[e.attributes]):e.attributes=[],e.children=!!e.children,e}function Z(e,t){return"function"==typeof e?e:(s,o)=>function(e,t,s){"string"==typeof e&&(e={name:e});let o;const i=t.writer,r=Object.assign({},e.attributes);if("container"==s)o=i.createContainerElement(e.name,r);else if("attribute"==s){const t={priority:e.priority||c.Z.DEFAULT_PRIORITY};o=i.createAttributeElement(e.name,r,t)}else o=i.createUIElement(e.name,r);if(e.styles){const t=Object.keys(e.styles);for(const s of t)i.setStyle(s,e.styles[s],o)}if(e.classes){const t=e.classes;if("string"==typeof t)i.addClass(t,o);else for(const e of t)i.addClass(e,o)}return o}(e,o,t)}function P(e){return e.model.values?(t,s,o)=>{const i=e.view[t];return i?i(t,s,o):null}:e.view}function x(e){return"string"==typeof e?t=>({key:e,value:t}):"object"==typeof e?e.value?()=>e:t=>({key:e.key,value:t}):e}function T(e,t,s){const o="function"==typeof e?e(t,s):e;return o?(o.priority||(o.priority=10),o.id||(o.id=t.markerName),o):null}function A(e){const t=function(e){return(t,s)=>{if(!t.is("element",e.name))return!1;if("attribute"==s.type){if(e.attributes.includes(s.attributeKey))return!0}else if(e.children)return!0;return!1}}(e);return(e,s)=>{const o=[];s.reconvertedElements||(s.reconvertedElements=new Set);for(const e of s.changes){const i="attribute"==e.type?e.range.start.nodeAfter:e.position.parent;if(i&&t(i,e)){if(!s.reconvertedElements.has(i)){s.reconvertedElements.add(i);const e=a.ZP._createBefore(i);o.push({type:"remove",name:i.name,position:e,length:1},{type:"reinsert",name:i.name,position:e,length:1})}}else o.push(e)}s.changes=o}}function C(e){return(t,s,o={})=>{const i=["insert"];for(const s of e.attributes)t.hasAttribute(s)&&i.push(`attribute:${s}`);return!!i.every((e=>s.test(t,e)))&&(o.preflight||i.forEach((e=>s.consume(t,e))),!0)}}function E(e,t,s,o){for(const i of t)S(e.root,i,s,o)||s.convertItem(i)}function S(e,t,s,o){const{writer:i,mapper:r}=s;if(!o.reconversion)return!1;const n=r.toViewElement(t);return!(!n||n.root==e)&&(!!s.canReuseView(n)&&(i.move(i.createRangeOn(n),r.toViewPosition(a.ZP._createBefore(t))),!0))}function j(e,t,{preflight:s}={}){return s?t.test(e,"insert"):t.consume(e,"insert")}},"./packages/ckeditor5-engine/src/conversion/mapper.ts":(e,t,s)=>{"use strict";s.d(t,{Z:()=>d});var o=s("./packages/ckeditor5-engine/src/model/position.ts"),i=s("./packages/ckeditor5-engine/src/model/range.ts"),r=s("./packages/ckeditor5-engine/src/view/position.ts"),n=s("./packages/ckeditor5-engine/src/view/range.ts"),a=s("./packages/ckeditor5-engine/src/view/text.ts"),c=s("./packages/ckeditor5-utils/src/emittermixin.ts"),l=s("./packages/ckeditor5-utils/src/ckeditorerror.ts");class d extends c.Q5{constructor(){super(),this._modelToViewMapping=new WeakMap,this._viewToModelMapping=new WeakMap,this._viewToModelLengthCallbacks=new Map,this._markerNameToElements=new Map,this._elementToMarkerNames=new Map,this._deferredBindingRemovals=new Map,this._unboundMarkerNames=new Set,this.on("modelToViewPosition",((e,t)=>{if(t.viewPosition)return;const s=this._modelToViewMapping.get(t.modelPosition.parent);if(!s)throw new l.ZP("mapping-model-position-view-parent-not-found",this,{modelPosition:t.modelPosition});t.viewPosition=this.findPositionIn(s,t.modelPosition.offset)}),{priority:"low"}),this.on("viewToModelPosition",((e,t)=>{if(t.modelPosition)return;const s=this.findMappedViewAncestor(t.viewPosition),i=this._viewToModelMapping.get(s),r=this._toModelOffset(t.viewPosition.parent,t.viewPosition.offset,s);t.modelPosition=o.ZP._createAt(i,r)}),{priority:"low"})}bindElements(e,t){this._modelToViewMapping.set(e,t),this._viewToModelMapping.set(t,e)}unbindViewElement(e,t={}){const s=this.toModelElement(e);if(this._elementToMarkerNames.has(e))for(const t of this._elementToMarkerNames.get(e))this._unboundMarkerNames.add(t);t.defer?this._deferredBindingRemovals.set(e,e.root):(this._viewToModelMapping.delete(e),this._modelToViewMapping.get(s)==e&&this._modelToViewMapping.delete(s))}unbindModelElement(e){const t=this.toViewElement(e);this._modelToViewMapping.delete(e),this._viewToModelMapping.get(t)==e&&this._viewToModelMapping.delete(t)}bindElementToMarker(e,t){const s=this._markerNameToElements.get(t)||new Set;s.add(e);const o=this._elementToMarkerNames.get(e)||new Set;o.add(t),this._markerNameToElements.set(t,s),this._elementToMarkerNames.set(e,o)}unbindElementFromMarkerName(e,t){const s=this._markerNameToElements.get(t);s&&(s.delete(e),0==s.size&&this._markerNameToElements.delete(t));const o=this._elementToMarkerNames.get(e);o&&(o.delete(t),0==o.size&&this._elementToMarkerNames.delete(e))}flushUnboundMarkerNames(){const e=Array.from(this._unboundMarkerNames);return this._unboundMarkerNames.clear(),e}flushDeferredBindings(){for(const[e,t]of this._deferredBindingRemovals)e.root==t&&this.unbindViewElement(e);this._deferredBindingRemovals=new Map}clearBindings(){this._modelToViewMapping=new WeakMap,this._viewToModelMapping=new WeakMap,this._markerNameToElements=new Map,this._elementToMarkerNames=new Map,this._unboundMarkerNames=new Set,this._deferredBindingRemovals=new Map}toModelElement(e){return this._viewToModelMapping.get(e)}toViewElement(e){return this._modelToViewMapping.get(e)}toModelRange(e){return new i.Z(this.toModelPosition(e.start),this.toModelPosition(e.end))}toViewRange(e){return new n.Z(this.toViewPosition(e.start),this.toViewPosition(e.end))}toModelPosition(e){const t={viewPosition:e,mapper:this};return this.fire("viewToModelPosition",t),t.modelPosition}toViewPosition(e,t={}){const s={modelPosition:e,mapper:this,isPhantom:t.isPhantom};return this.fire("modelToViewPosition",s),s.viewPosition}markerNameToElements(e){const t=this._markerNameToElements.get(e);if(!t)return null;const s=new Set;for(const e of t)if(e.is("attributeElement"))for(const t of e.getElementsWithSameId())s.add(t);else s.add(e);return s}registerViewToModelLength(e,t){this._viewToModelLengthCallbacks.set(e,t)}findMappedViewAncestor(e){let t=e.parent;for(;!this._viewToModelMapping.has(t);)t=t.parent;return t}_toModelOffset(e,t,s){if(s!=e){return this._toModelOffset(e.parent,e.index,s)+this._toModelOffset(e,t,e)}if(e.is("$text"))return t;let o=0;for(let s=0;s{"use strict";s.d(t,{Fo:()=>h,ZP:()=>c,_p:()=>l,s8:()=>d});var o=s("./packages/ckeditor5-engine/src/view/matcher.ts"),i=s("./packages/ckeditor5-engine/src/conversion/conversionhelpers.ts"),r=s("./node_modules/lodash-es/cloneDeep.js"),n=s("./packages/ckeditor5-utils/src/priorities.ts"),a=s("./packages/ckeditor5-engine/src/model/utils/autoparagraphing.ts");class c extends i.Z{elementToElement(e){return this.add(u(e))}elementToAttribute(e){return this.add(function(e){f(e=(0,r.Z)(e));const t=m(e,!1),s=p(e.view),o=s?`element:${s}`:"element";return s=>{s.on(o,t,{priority:e.converterPriority||"low"})}}(e))}attributeToAttribute(e){return this.add(function(e){e=(0,r.Z)(e);let t=null;("string"==typeof e.view||e.view.key)&&(t=function(e){"string"==typeof e.view&&(e.view={key:e.view});const t=e.view.key;let s;if("class"==t||"style"==t){s={["class"==t?"classes":"styles"]:e.view.value}}else{s={attributes:{[t]:void 0===e.view.value?/[\s\S]*/:e.view.value}}}e.view.name&&(s.name=e.view.name);return e.view=s,t}(e));f(e,t);const s=m(e,!0);return t=>{t.on("element",s,{priority:e.converterPriority||"low"})}}(e))}elementToMarker(e){return this.add(function(e){const t=function(e){return(t,s)=>{const o="string"==typeof e?e:e(t,s);return s.writer.createElement("$marker",{"data-name":o})}}(e.model);return u({...e,model:t})}(e))}dataToMarker(e){return this.add(function(e){(e=(0,r.Z)(e)).model||(e.model=t=>t?e.view+":"+t:e.view);const t={view:e.view,model:e.model},s=g(k(t,"start")),o=g(k(t,"end"));return i=>{i.on(`element:${e.view}-start`,s,{priority:e.converterPriority||"normal"}),i.on(`element:${e.view}-end`,o,{priority:e.converterPriority||"normal"});const r=n.Z.get("low"),a=n.Z.get("highest"),c=n.Z.get(e.converterPriority)/a;i.on("element",function(e){return(t,s,o)=>{const i=`data-${e.view}`;function r(t,i){for(const r of i){const i=e.model(r,o),n=o.writer.createElement("$marker",{"data-name":i});o.writer.insert(n,t),s.modelCursor.isEqual(t)?s.modelCursor=s.modelCursor.getShiftedBy(1):s.modelCursor=s.modelCursor._getTransformedByInsertion(t,1),s.modelRange=s.modelRange._getTransformedByInsertion(t,1)[0]}}(o.consumable.test(s.viewItem,{attributes:i+"-end-after"})||o.consumable.test(s.viewItem,{attributes:i+"-start-after"})||o.consumable.test(s.viewItem,{attributes:i+"-end-before"})||o.consumable.test(s.viewItem,{attributes:i+"-start-before"}))&&(s.modelRange||Object.assign(s,o.convertChildren(s.viewItem,s.modelCursor)),o.consumable.consume(s.viewItem,{attributes:i+"-end-after"})&&r(s.modelRange.end,s.viewItem.getAttribute(i+"-end-after").split(",")),o.consumable.consume(s.viewItem,{attributes:i+"-start-after"})&&r(s.modelRange.end,s.viewItem.getAttribute(i+"-start-after").split(",")),o.consumable.consume(s.viewItem,{attributes:i+"-end-before"})&&r(s.modelRange.start,s.viewItem.getAttribute(i+"-end-before").split(",")),o.consumable.consume(s.viewItem,{attributes:i+"-start-before"})&&r(s.modelRange.start,s.viewItem.getAttribute(i+"-start-before").split(",")))}}(t),{priority:r+c})}}(e))}}function l(){return(e,t,s)=>{if(!t.modelRange&&s.consumable.consume(t.viewItem,{name:!0})){const{modelRange:e,modelCursor:o}=s.convertChildren(t.viewItem,t.modelCursor);t.modelRange=e,t.modelCursor=o}}}function d(){return(e,t,{schema:s,consumable:o,writer:i})=>{let r=t.modelCursor;if(!o.test(t.viewItem))return;if(!s.checkChild(r,"$text")){if(!(0,a.gg)(r,"$text",s))return;if(0==t.viewItem.data.trim().length)return;r=(0,a.zX)(r,i)}o.consume(t.viewItem);const n=i.createText(t.viewItem.data);i.insert(n,r),t.modelRange=i.createRange(r,r.getShiftedBy(n.offsetSize)),t.modelCursor=t.modelRange.end}}function h(e,t){return(s,o)=>{const i=o.newSelection,r=[];for(const e of i.getRanges())r.push(t.toModelRange(e));const n=e.createSelection(r,{backward:i.isBackward});n.isEqual(e.document.selection)||e.change((e=>{e.setSelection(n)}))}}function u(e){const t=g(e=(0,r.Z)(e)),s=p(e.view),o=s?`element:${s}`:"element";return s=>{s.on(o,t,{priority:e.converterPriority||"normal"})}}function p(e){return"string"==typeof e?e:"object"==typeof e&&"string"==typeof e.name?e.name:null}function g(e){const t=new o.Z(e.view);return(s,o,i)=>{const r=t.match(o.viewItem);if(!r)return;const n=r.match;if(n.name=!0,!i.consumable.test(o.viewItem,n))return;const a=function(e,t,s){return e instanceof Function?e(t,s):s.writer.createElement(e)}(e.model,o.viewItem,i);a&&i.safeInsert(a,o.modelCursor)&&(i.consumable.consume(o.viewItem,n),i.convertChildren(o.viewItem,a),i.updateConversionResult(a,o))}}function f(e,t=null){const s=null===t||(e=>e.getAttribute(t)),o="object"!=typeof e.model?e.model:e.model.key,i="object"!=typeof e.model||void 0===e.model.value?s:e.model.value;e.model={key:o,value:i}}function m(e,t){const s=new o.Z(e.view);return(o,i,r)=>{if(!i.modelRange&&t)return;const n=s.match(i.viewItem);if(!n)return;if(!function(e,t){const s="function"==typeof e?e(t):e;if("object"==typeof s&&!p(s))return!1;return!s.classes&&!s.attributes&&!s.styles}(e.view,i.viewItem)?delete n.match.name:n.match.name=!0,!r.consumable.test(i.viewItem,n.match))return;const a=e.model.key,c="function"==typeof e.model.value?e.model.value(i.viewItem,r):e.model.value;if(null===c)return;i.modelRange||Object.assign(i,r.convertChildren(i.viewItem,i.modelCursor));const l=function(e,t,s,o){let i=!1;for(const r of Array.from(e.getItems({shallow:s})))o.schema.checkAttribute(r,t.key)&&(i=!0,r.hasAttribute(t.key)||o.writer.setAttribute(t.key,t.value,r));return i}(i.modelRange,{key:a,value:c},t,r);l&&(r.consumable.test(i.viewItem,{name:!0})&&(n.match.name=!0),r.consumable.consume(i.viewItem,n.match))}}function k(e,t){return{view:`${e.view}-${t}`,model:(t,s)=>{const o=t.getAttribute("name"),i=e.model(o,s);return s.writer.createElement("$marker",{"data-name":i})}}}},"./packages/ckeditor5-engine/src/dataprocessor/htmldataprocessor.ts":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});class o{getHtml(e){const t=document.implementation.createHTMLDocument("").createElement("div");return t.appendChild(e),t.innerHTML}}var i=s("./packages/ckeditor5-engine/src/view/domconverter.ts");class r{constructor(e){this.domParser=new DOMParser,this.domConverter=new i.Z(e,{renderingMode:"data"}),this.htmlWriter=new o}toData(e){const t=this.domConverter.viewToDom(e);return this.htmlWriter.getHtml(t)}toView(e){const t=this._toDom(e);return this.domConverter.domToView(t)}registerRawContentMatcher(e){this.domConverter.registerRawContentMatcher(e)}useFillerType(e){this.domConverter.blockFillerMode="marked"==e?"markedNbsp":"nbsp"}_toDom(e){e.match(/<(?:html|body|head|meta)(?:\s[^>]*)?>/i)||(e=`${e}`);const t=this.domParser.parseFromString(e,"text/html"),s=t.createDocumentFragment(),o=t.body.childNodes;for(;o.length>0;)s.appendChild(o[0]);return s}}},"./packages/ckeditor5-engine/src/model/documentfragment.ts":(e,t,s)=>{"use strict";s.d(t,{Z:()=>l});var o=s("./packages/ckeditor5-engine/src/model/typecheckable.ts"),i=s("./packages/ckeditor5-engine/src/model/element.ts"),r=s("./packages/ckeditor5-engine/src/model/nodelist.ts"),n=s("./packages/ckeditor5-engine/src/model/text.ts"),a=s("./packages/ckeditor5-engine/src/model/textproxy.ts"),c=s("./packages/ckeditor5-utils/src/isiterable.ts");class l extends o.Z{constructor(e){super(),this.markers=new Map,this._children=new r.Z,e&&this._insertChild(0,e)}[Symbol.iterator](){return this.getChildren()}get childCount(){return this._children.length}get maxOffset(){return this._children.maxOffset}get isEmpty(){return 0===this.childCount}get nextSibling(){return null}get previousSibling(){return null}get root(){return this}get parent(){return null}get document(){return null}getAncestors(){return[]}getChild(e){return this._children.getNode(e)}getChildren(){return this._children[Symbol.iterator]()}getChildIndex(e){return this._children.getNodeIndex(e)}getChildStartOffset(e){return this._children.getNodeStartOffset(e)}getPath(){return[]}getNodeByPath(e){let t=this;for(const s of e)t=t.getChild(t.offsetToIndex(s));return t}offsetToIndex(e){return this._children.offsetToIndex(e)}toJSON(){const e=[];for(const t of this._children)e.push(t.toJSON());return e}static fromJSON(e){const t=[];for(const s of e)s.name?t.push(i.Z.fromJSON(s)):t.push(n.Z.fromJSON(s));return new l(t)}_appendChild(e){this._insertChild(this.childCount,e)}_insertChild(e,t){const s=function(e){if("string"==typeof e)return[new n.Z(e)];(0,c.Z)(e)||(e=[e]);return Array.from(e).map((e=>"string"==typeof e?new n.Z(e):e instanceof a.Z?new n.Z(e.data,e.getAttributes()):e))}(t);for(const e of s)null!==e.parent&&e._remove(),e.parent=this;this._children._insertNodes(e,s)}_removeChildren(e,t=1){const s=this._children._removeNodes(e,t);for(const e of s)e.parent=null;return s}}l.prototype.is=function(e){return"documentFragment"===e||"model:documentFragment"===e}},"./packages/ckeditor5-engine/src/model/documentselection.ts":(e,t,s)=>{"use strict";s.d(t,{Z:()=>g});var o=s("./packages/ckeditor5-engine/src/model/typecheckable.ts"),i=s("./packages/ckeditor5-engine/src/model/liverange.ts"),r=s("./packages/ckeditor5-engine/src/model/selection.ts"),n=s("./packages/ckeditor5-engine/src/model/text.ts"),a=s("./packages/ckeditor5-engine/src/model/textproxy.ts"),c=s("./packages/ckeditor5-utils/src/ckeditorerror.ts"),l=s("./packages/ckeditor5-utils/src/collection.ts"),d=s("./packages/ckeditor5-utils/src/emittermixin.ts"),h=s("./packages/ckeditor5-utils/src/tomap.ts"),u=s("./packages/ckeditor5-utils/src/uid.ts");const p="selection:";class g extends((0,d.ZP)(o.Z)){constructor(e){super(),this._selection=new f(e),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(e){return this._selection.containsEntireContent(e)}destroy(){this._selection.destroy()}getAttributeKeys(){return this._selection.getAttributeKeys()}getAttributes(){return this._selection.getAttributes()}getAttribute(e){return this._selection.getAttribute(e)}hasAttribute(e){return this._selection.hasAttribute(e)}refresh(){this._selection.updateMarkers(),this._selection._updateAttributes(!1)}observeMarkers(e){this._selection.observeMarkers(e)}_setFocus(e,t){this._selection.setFocus(e,t)}_setTo(...e){this._selection.setTo(...e)}_setAttribute(e,t){this._selection.setAttribute(e,t)}_removeAttribute(e){this._selection.removeAttribute(e)}_getStoredAttributes(){return this._selection.getStoredAttributes()}_overrideGravity(){return this._selection.overrideGravity()}_restoreGravity(e){this._selection.restoreGravity(e)}static _getStoreAttributeKey(e){return p+e}static _isStoreAttributeKey(e){return e.startsWith(p)}}g.prototype.is=function(e){return"selection"===e||"model:selection"==e||"documentSelection"==e||"model:documentSelection"==e};class f extends r.Z{constructor(e){super(),this.markers=new l.Z({idProperty:"name"}),this._model=e.model,this._document=e,this._attributePriority=new Map,this._selectionRestorePosition=null,this._hasChangedRange=!1,this._overriddenGravityRegister=new Set,this._observedMarkers=new Set,this.listenTo(this._model,"applyOperation",((e,t)=>{const s=t[0];s.isDocumentOperation&&"marker"!=s.type&&"rename"!=s.type&&"noop"!=s.type&&(0==this._ranges.length&&this._selectionRestorePosition&&this._fixGraveyardSelection(this._selectionRestorePosition),this._selectionRestorePosition=null,this._hasChangedRange&&(this._hasChangedRange=!1,this.fire("change:range",{directChange:!1})))}),{priority:"lowest"}),this.on("change:range",(()=>{this._validateSelectionRanges(this.getRanges())})),this.listenTo(this._model.markers,"update",((e,t,s,o)=>{this._updateMarker(t,o)})),this.listenTo(this._document,"change",((e,t)=>{!function(e,t){const s=e.document.differ;for(const o of s.getChanges()){if("insert"!=o.type)continue;const s=o.position.parent;o.length===s.maxOffset&&e.enqueueChange(t,(e=>{const t=Array.from(s.getAttributeKeys()).filter((e=>e.startsWith(p)));for(const o of t)e.removeAttribute(o,s)}))}}(this._model,t)}))}get isCollapsed(){return 0===this._ranges.length?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 e=0;e{if(this._hasChangedRange=!0,t.root==this._document.graveyard){this._selectionRestorePosition=o.deletionPosition;const e=this._ranges.indexOf(t);this._ranges.splice(e,1),t.detach()}})),t}updateMarkers(){if(!this._observedMarkers.size)return;const e=[];let t=!1;for(const t of this._model.markers){const s=t.name.split(":",1)[0];if(!this._observedMarkers.has(s))continue;const o=t.getRange();for(const s of this.getRanges())o.containsRange(s,!s.isCollapsed)&&e.push(t)}const s=Array.from(this.markers);for(const s of e)this.markers.has(s)||(this.markers.add(s),t=!0);for(const s of Array.from(this.markers))e.includes(s)||(this.markers.remove(s),t=!0);t&&this.fire("change:marker",{oldMarkers:s,directChange:!1})}_updateMarker(e,t){const s=e.name.split(":",1)[0];if(!this._observedMarkers.has(s))return;let o=!1;const i=Array.from(this.markers),r=this.markers.has(e);if(t){let s=!1;for(const e of this.getRanges())if(t.containsRange(e,!e.isCollapsed)){s=!0;break}s&&!r?(this.markers.add(e),o=!0):!s&&r&&(this.markers.remove(e),o=!0)}else r&&(this.markers.remove(e),o=!0);o&&this.fire("change:marker",{oldMarkers:i,directChange:!1})}_updateAttributes(e){const t=(0,h.Z)(this._getSurroundingAttributes()),s=(0,h.Z)(this.getAttributes());if(e)this._attributePriority=new Map,this._attrs=new Map;else for(const[e,t]of this._attributePriority)"low"==t&&(this._attrs.delete(e),this._attributePriority.delete(e));this._setAttributesTo(t);const o=[];for(const[e,t]of this.getAttributes())s.has(e)&&s.get(e)===t||o.push(e);for(const[e]of s)this.hasAttribute(e)||o.push(e);o.length>0&&this.fire("change:attribute",{attributeKeys:o,directChange:!1})}_setAttribute(e,t,s=!0){const o=s?"normal":"low";if("low"==o&&"normal"==this._attributePriority.get(e))return!1;return super.getAttribute(e)!==t&&(this._attrs.set(e,t),this._attributePriority.set(e,o),!0)}_removeAttribute(e,t=!0){const s=t?"normal":"low";return("low"!=s||"normal"!=this._attributePriority.get(e))&&(this._attributePriority.set(e,s),!!super.hasAttribute(e)&&(this._attrs.delete(e),!0))}_setAttributesTo(e){const t=new Set;for(const[t,s]of this.getAttributes())e.get(t)!==s&&this._removeAttribute(t,!1);for(const[s,o]of e){this._setAttribute(s,o,!1)&&t.add(s)}return t}*getStoredAttributes(){const e=this.getFirstPosition().parent;if(this.isCollapsed&&e.isEmpty)for(const t of e.getAttributeKeys())if(t.startsWith(p)){const s=t.substr(p.length);yield[s,e.getAttribute(t)]}}_getSurroundingAttributes(){const e=this.getFirstPosition(),t=this._model.schema;let s=null;if(this.isCollapsed){const o=e.textNode?e.textNode:e.nodeBefore,i=e.textNode?e.textNode:e.nodeAfter;if(this.isGravityOverridden||(s=m(o)),s||(s=m(i)),!this.isGravityOverridden&&!s){let e=o;for(;e&&!t.isInline(e)&&!s;)e=e.previousSibling,s=m(e)}if(!s){let e=i;for(;e&&!t.isInline(e)&&!s;)e=e.nextSibling,s=m(e)}s||(s=this.getStoredAttributes())}else{const e=this.getFirstRange();for(const o of e){if(o.item.is("element")&&t.isObject(o.item))break;if("text"==o.type){s=o.item.getAttributes();break}}}return s}_fixGraveyardSelection(e){const t=this._model.schema.getNearestSelectionRange(e);t&&this._pushRange(t)}}function m(e){return e instanceof a.Z||e instanceof n.Z?e.getAttributes():null}},"./packages/ckeditor5-engine/src/model/element.ts":(e,t,s)=>{"use strict";s.d(t,{Z:()=>c});var o=s("./packages/ckeditor5-engine/src/model/node.ts"),i=s("./packages/ckeditor5-engine/src/model/nodelist.ts"),r=s("./packages/ckeditor5-engine/src/model/text.ts"),n=s("./packages/ckeditor5-engine/src/model/textproxy.ts"),a=s("./packages/ckeditor5-utils/src/isiterable.ts");class c extends o.Z{constructor(e,t,s){super(t),this.name=e,this._children=new i.Z,s&&this._insertChild(0,s)}get childCount(){return this._children.length}get maxOffset(){return this._children.maxOffset}get isEmpty(){return 0===this.childCount}getChild(e){return this._children.getNode(e)}getChildren(){return this._children[Symbol.iterator]()}getChildIndex(e){return this._children.getNodeIndex(e)}getChildStartOffset(e){return this._children.getNodeStartOffset(e)}offsetToIndex(e){return this._children.offsetToIndex(e)}getNodeByPath(e){let t=this;for(const s of e)t=t.getChild(t.offsetToIndex(s));return t}findAncestor(e,t={}){let s=t.includeSelf?this:this.parent;for(;s;){if(s.name===e)return s;s=s.parent}return null}toJSON(){const e=super.toJSON();if(e.name=this.name,this._children.length>0){e.children=[];for(const t of this._children)e.children.push(t.toJSON())}return e}_clone(e=!1){const t=e?Array.from(this._children).map((e=>e._clone(!0))):void 0;return new c(this.name,this.getAttributes(),t)}_appendChild(e){this._insertChild(this.childCount,e)}_insertChild(e,t){const s=function(e){if("string"==typeof e)return[new r.Z(e)];(0,a.Z)(e)||(e=[e]);return Array.from(e).map((e=>"string"==typeof e?new r.Z(e):e instanceof n.Z?new r.Z(e.data,e.getAttributes()):e))}(t);for(const e of s)null!==e.parent&&e._remove(),e.parent=this;this._children._insertNodes(e,s)}_removeChildren(e,t=1){const s=this._children._removeNodes(e,t);for(const e of s)e.parent=null;return s}static fromJSON(e){let t;if(e.children){t=[];for(const s of e.children)s.name?t.push(c.fromJSON(s)):t.push(r.Z.fromJSON(s))}return new c(e.name,e.attributes,t)}}c.prototype.is=function(e,t){return t?t===this.name&&("element"===e||"model:element"===e):"element"===e||"model:element"===e||"node"===e||"model:node"===e}},"./packages/ckeditor5-engine/src/model/history.ts":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});var o=s("./packages/ckeditor5-utils/src/index.ts");class i{constructor(){this._operations=[],this._undoPairs=new Map,this._undoneOperations=new Set,this._baseVersionToOperationIndex=new Map,this._version=0,this._gaps=new Map}get version(){return this._version}set version(e){this._operations.length&&e>this._version+1&&this._gaps.set(this._version,e),this._version=e}get lastOperation(){return this._operations[this._operations.length-1]}addOperation(e){if(e.baseVersion!==this.version)throw new o.Bb("model-document-history-addoperation-incorrect-version",this,{operation:e,historyVersion:this.version});this._operations.push(e),this._version++,this._baseVersionToOperationIndex.set(e.baseVersion,this._operations.length-1)}getOperations(e,t=this.version){if(!this._operations.length)return[];const s=this._operations[0];void 0===e&&(e=s.baseVersion);let o=t-1;for(const[t,s]of this._gaps)e>t&&et&&othis.lastOperation.baseVersion)return[];let i=this._baseVersionToOperationIndex.get(e);void 0===i&&(i=0);let r=this._baseVersionToOperationIndex.get(o);return void 0===r&&(r=this._operations.length-1),this._operations.slice(i,r+1)}getOperation(e){const t=this._baseVersionToOperationIndex.get(e);if(void 0!==t)return this._operations[t]}setOperationAsUndone(e,t){this._undoPairs.set(t,e),this._undoneOperations.add(e)}isUndoingOperation(e){return this._undoPairs.has(e)}isUndoneOperation(e){return this._undoneOperations.has(e)}getUndoneOperation(e){return this._undoPairs.get(e)}reset(){this._version=0,this._undoPairs=new Map,this._operations=[],this._undoneOperations=new Set,this._gaps=new Map,this._baseVersionToOperationIndex=new Map}}},"./packages/ckeditor5-engine/src/model/liveposition.ts":(e,t,s)=>{"use strict";s.d(t,{Z:()=>n});var o=s("./packages/ckeditor5-engine/src/model/position.ts"),i=s("./packages/ckeditor5-utils/src/emittermixin.ts"),r=s("./packages/ckeditor5-utils/src/ckeditorerror.ts");class n extends((0,i.ZP)(o.ZP)){constructor(e,t,s="toNone"){if(super(e,t,s),!this.root.is("rootElement"))throw new r.ZP("model-liveposition-root-not-rootelement",e);a.call(this)}detach(){this.stopListening()}toPosition(){return new o.ZP(this.root,this.path.slice(),this.stickiness)}static fromPosition(e,t){return new this(e.root,e.path.slice(),t||e.stickiness)}}function a(){this.listenTo(this.root.document.model,"applyOperation",((e,t)=>{const s=t[0];s.isDocumentOperation&&c.call(this,s)}),{priority:"low"})}function c(e){const t=this.getTransformedByOperation(e);if(!this.isEqual(t)){const e=this.toPosition();this.path=t.path,this.root=t.root,this.fire("change",e)}}n.prototype.is=function(e){return"livePosition"===e||"model:livePosition"===e||"position"==e||"model:position"===e}},"./packages/ckeditor5-engine/src/model/liverange.ts":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./packages/ckeditor5-engine/src/model/range.ts"),i=s("./packages/ckeditor5-utils/src/emittermixin.ts");class r extends((0,i.ZP)(o.Z)){constructor(e,t){super(e,t),n.call(this)}detach(){this.stopListening()}toRange(){return new o.Z(this.start,this.end)}static fromRange(e){return new r(e.start,e.end)}}function n(){this.listenTo(this.root.document.model,"applyOperation",((e,t)=>{const s=t[0];s.isDocumentOperation&&a.call(this,s)}),{priority:"low"})}function a(e){const t=this.getTransformedByOperation(e),s=o.Z._createFromRanges(t),i=!s.isEqual(this),r=function(e,t){switch(t.type){case"insert":return e.containsPosition(t.position);case"move":case"remove":case"reinsert":case"merge":return e.containsPosition(t.sourcePosition)||e.start.isEqual(t.sourcePosition)||e.containsPosition(t.targetPosition);case"split":return e.containsPosition(t.splitPosition)||e.containsPosition(t.insertionPosition)}return!1}(this,e);let n=null;if(i){"$graveyard"==s.root.rootName&&(n="remove"==e.type?e.sourcePosition:e.deletionPosition);const t=this.toRange();this.start=s.start,this.end=s.end,this.fire("change:range",t,{deletionPosition:n})}else r&&this.fire("change:content",this.toRange(),{deletionPosition:n})}r.prototype.is=function(e){return"liveRange"===e||"model:liveRange"===e||"range"==e||"model:range"===e}},"./packages/ckeditor5-engine/src/model/model.ts":(e,t,s)=>{"use strict";s.d(t,{Z:()=>ye});var o=s("./packages/ckeditor5-utils/src/ckeditorerror.ts");class i{constructor(e={}){"string"==typeof e&&(e="transparent"===e?{isUndoable:!1}:{},(0,o.KE)("batch-constructor-deprecated-string-type"));const{isUndoable:t=!0,isLocal:s=!0,isUndo:i=!1,isTyping:r=!1}=e;this.operations=[],this.isUndoable=t,this.isLocal=s,this.isUndo=i,this.isTyping=r}get type(){return(0,o.KE)("batch-type-deprecated"),"default"}get baseVersion(){for(const e of this.operations)if(null!==e.baseVersion)return e.baseVersion;return null}addOperation(e){return e.batch=this,this.operations.push(e),e}}var r=s("./packages/ckeditor5-engine/src/model/position.ts"),n=s("./packages/ckeditor5-engine/src/model/range.ts");class a{constructor(e){this._markerCollection=e,this._changesInElement=new Map,this._elementSnapshots=new Map,this._changedMarkers=new Map,this._changeCount=0,this._cachedChanges=null,this._cachedChangesWithGraveyard=null,this._refreshedItems=new Set}get isEmpty(){return 0==this._changesInElement.size&&0==this._changedMarkers.size}bufferOperation(e){const t=e;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:!0}))this._isInInsertedElement(e.parent)||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),s=this._isInInsertedElement(t.targetPosition.parent);e||this._markRemove(t.sourcePosition.parent,t.sourcePosition.offset,t.howMany),s||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=n.Z._createFromPositionAndShift(t.position,1);for(const t of this._markerCollection.getMarkersIntersectingRange(e)){const e=t.getData();this.bufferMarkerChange(t.name,e,e)}break}case"split":{const e=t.splitPosition.parent;this._isInInsertedElement(e)||this._markRemove(e,t.splitPosition.offset,t.howMany),this._isInInsertedElement(t.insertionPosition.parent)||this._markInsert(t.insertionPosition.parent,t.insertionPosition.offset,1),t.graveyardPosition&&this._markRemove(t.graveyardPosition.parent,t.graveyardPosition.offset,1);break}case"merge":{const e=t.sourcePosition.parent;this._isInInsertedElement(e.parent)||this._markRemove(e.parent,e.startOffset,1);const s=t.graveyardPosition.parent;this._markInsert(s,t.graveyardPosition.offset,1);const o=t.targetPosition.parent;this._isInInsertedElement(o)||this._markInsert(o,t.targetPosition.offset,e.maxOffset);break}}this._cachedChanges=null}bufferMarkerChange(e,t,s){const o=this._changedMarkers.get(e);o?(o.newMarkerData=s,null==o.oldMarkerData.range&&null==s.range&&this._changedMarkers.delete(e)):this._changedMarkers.set(e,{newMarkerData:s,oldMarkerData:t})}getMarkersToRemove(){const e=[];for(const[t,s]of this._changedMarkers)null!=s.oldMarkerData.range&&e.push({name:t,range:s.oldMarkerData.range});return e}getMarkersToAdd(){const e=[];for(const[t,s]of this._changedMarkers)null!=s.newMarkerData.range&&e.push({name:t,range:s.newMarkerData.range});return e}getChangedMarkers(){return Array.from(this._changedMarkers).map((([e,t])=>({name:e,data:{oldRange:t.oldMarkerData.range,newRange:t.newMarkerData.range}})))}hasDataChanges(){if(this._changesInElement.size>0)return!0;for(const{newMarkerData:e,oldMarkerData:t}of this._changedMarkers.values()){if(e.affectsData!==t.affectsData)return!0;if(e.affectsData){const s=e.range&&!t.range,o=!e.range&&t.range,i=e.range&&t.range&&!e.range.isEqual(t.range);if(s||o||i)return!0}}return!1}getChanges(e={}){if(this._cachedChanges)return e.includeChangesInGraveyard?this._cachedChangesWithGraveyard.slice():this._cachedChanges.slice();let t=[];for(const e of this._changesInElement.keys()){const s=this._changesInElement.get(e).sort(((e,t)=>e.offset===t.offset?e.type!=t.type?"remove"==e.type?-1:1:0:e.offsete.position.root!=t.position.root?e.position.root.rootNamee));for(const e of t)delete e.changeCount,"attribute"==e.type&&(delete e.position,delete e.length);return this._changeCount=0,this._cachedChangesWithGraveyard=t,this._cachedChanges=t.filter(d),e.includeChangesInGraveyard?this._cachedChangesWithGraveyard.slice():this._cachedChanges.slice()}getRefreshedItems(){return new Set(this._refreshedItems)}reset(){this._changesInElement.clear(),this._elementSnapshots.clear(),this._changedMarkers.clear(),this._refreshedItems=new Set,this._cachedChanges=null}_refreshItem(e){if(this._isInInsertedElement(e.parent))return;this._markRemove(e.parent,e.startOffset,e.offsetSize),this._markInsert(e.parent,e.startOffset,e.offsetSize),this._refreshedItems.add(e);const t=n.Z._createOn(e);for(const e of this._markerCollection.getMarkersIntersectingRange(t)){const t=e.getData();this.bufferMarkerChange(e.name,t,t)}this._cachedChanges=null}_markInsert(e,t,s){const o={type:"insert",offset:t,howMany:s,count:this._changeCount++};this._markChange(e,o)}_markRemove(e,t,s){const o={type:"remove",offset:t,howMany:s,count:this._changeCount++};this._markChange(e,o),this._removeAllNestedChanges(e,t,s)}_markAttribute(e){const t={type:"attribute",offset:e.startOffset,howMany:e.offsetSize,count:this._changeCount++};this._markChange(e.parent,t)}_markChange(e,t){this._makeSnapshot(e);const s=this._getChangesForElement(e);this._handleChange(t,s),s.push(t);for(let e=0;es.offset){if(o>i){const e={type:"attribute",offset:i,howMany:o-i,count:this._changeCount++};this._handleChange(e,t),t.push(e)}e.nodesToHandle=s.offset-e.offset,e.howMany=e.nodesToHandle}else e.offset>=s.offset&&e.offseti?(e.nodesToHandle=o-i,e.offset=i):e.nodesToHandle=0);if("remove"==s.type&&e.offsets.offset){const i={type:"attribute",offset:s.offset,howMany:o-s.offset,count:this._changeCount++};this._handleChange(i,t),t.push(i),e.nodesToHandle=s.offset-e.offset,e.howMany=e.nodesToHandle}"attribute"==s.type&&(e.offset>=s.offset&&o<=i?(e.nodesToHandle=0,e.howMany=0,e.offset=0):e.offset<=s.offset&&o>=i&&(s.howMany=0))}}e.howMany=e.nodesToHandle,delete e.nodesToHandle}_getInsertDiff(e,t,s){return{type:"insert",position:r.ZP._createAt(e,t),name:s.name,attributes:new Map(s.attributes),length:1,changeCount:this._changeCount++}}_getRemoveDiff(e,t,s){return{type:"remove",position:r.ZP._createAt(e,t),name:s.name,attributes:new Map(s.attributes),length:1,changeCount:this._changeCount++}}_getAttributesDiff(e,t,s){const o=[];s=new Map(s);for(const[i,r]of t){const t=s.has(i)?s.get(i):null;t!==r&&o.push({type:"attribute",position:e.start,range:e.clone(),length:1,attributeKey:i,attributeOldValue:r,attributeNewValue:t,changeCount:this._changeCount++}),s.delete(i)}for(const[t,i]of s)o.push({type:"attribute",position:e.start,range:e.clone(),length:1,attributeKey:t,attributeOldValue:null,attributeNewValue:i,changeCount:this._changeCount++});return o}_isInInsertedElement(e){const t=e.parent;if(!t)return!1;const s=this._changesInElement.get(t),o=e.startOffset;if(s)for(const e of s)if("insert"==e.type&&o>=e.offset&&oo){for(let t=0;te.source)).join("|")+")";return new RegExp(`${e}|${t}(?:‍${t})*`,"ug")}();function w(e,t){const s=String(e).matchAll(_);return Array.from(s).some((e=>e.index{const s=t[0];s.isDocumentOperation&&this.differ.bufferOperation(s)}),{priority:"high"}),this.listenTo(e,"applyOperation",((e,t)=>{const s=t[0];s.isDocumentOperation&&this.history.addOperation(s)}),{priority:"low"}),this.listenTo(this.selection,"change",(()=>{this._hasSelectionChangedFromTheLastChangeBlock=!0})),this.listenTo(e.markers,"update",((e,t,s,o,i)=>{const r={...t.getData(),range:o};this.differ.bufferMarkerChange(t.name,i,r),null===s&&t.on("change",((e,s)=>{const o=t.getData();this.differ.bufferMarkerChange(t.name,{...o,range:s},o)}))}))}get version(){return this.history.version}set version(e){this.history.version=e}get graveyard(){return this.getRoot(y)}createRoot(e="$root",t="main"){if(this.roots.get(t))throw new o.ZP("model-document-createroot-name-exists",this,{name:t});const s=new g(this,e,t);return this.roots.add(s),s}destroy(){this.selection.destroy(),this.stopListening()}getRoot(e="main"){return this.roots.get(e)}getRootNames(){return Array.from(this.roots,(e=>e.rootName)).filter((e=>e!=y))}registerPostFixer(e){this._postFixers.add(e)}toJSON(){const e=(0,v.Z)(this);return e.selection="[engine.model.DocumentSelection]",e.model="[engine.model.Model]",e}_handleChangeBlock(e){this._hasDocumentChangedFromTheLastChangeBlock()&&(this._callPostFixers(e),this.selection.refresh(),this.differ.hasDataChanges()?this.fire("change:data",e.batch):this.fire("change",e.batch),this.selection.refresh(),this.differ.reset()),this._hasSelectionChangedFromTheLastChangeBlock=!1}_hasDocumentChangedFromTheLastChangeBlock(){return!this.differ.isEmpty||this._hasSelectionChangedFromTheLastChangeBlock}_getDefaultRoot(){for(const e of this.roots)if(e!==this.graveyard)return e;return this.graveyard}_getDefaultRange(){const e=this._getDefaultRoot(),t=this.model,s=t.schema,o=t.createPositionFromPath(e,[0]);return s.getNearestSelectionRange(o)||t.createRange(o)}_validateSelectionRange(e){return P(e.start)&&P(e.end)}_callPostFixers(e){let t=!1;do{for(const s of this._postFixers)if(this.selection.refresh(),t=s(e),t)break}while(t)}}function P(e){const t=e.textNode;if(t){const s=t.data,o=e.offset-t.startOffset;return!k(s,o)&&!b(s,o)}return!0}var x=s("./packages/ckeditor5-engine/src/model/typecheckable.ts"),T=s("./packages/ckeditor5-engine/src/model/liverange.ts");class A extends m.Q5{constructor(){super(),this._markers=new Map}[Symbol.iterator](){return this._markers.values()}has(e){const t=e instanceof C?e.name:e;return this._markers.has(t)}get(e){return this._markers.get(e)||null}_set(e,t,s=!1,i=!1){const r=e instanceof C?e.name:e;if(r.includes(","))throw new o.ZP("markercollection-incorrect-marker-name",this);const n=this._markers.get(r);if(n){const e=n.getData(),o=n.getRange();let a=!1;return o.isEqual(t)||(n._attachLiveRange(T.Z.fromRange(t)),a=!0),s!=n.managedUsingOperations&&(n._managedUsingOperations=s,a=!0),"boolean"==typeof i&&i!=n.affectsData&&(n._affectsData=i,a=!0),a&&this.fire(`update:${r}`,n,o,t,e),n}const a=T.Z.fromRange(t),c=new C(r,a,s,i);return this._markers.set(r,c),this.fire(`update:${r}`,c,null,t,{...c.getData(),range:null}),c}_remove(e){const t=e instanceof C?e.name:e,s=this._markers.get(t);return!!s&&(this._markers.delete(t),this.fire(`update:${t}`,s,s.getRange(),null,s.getData()),this._destroyMarker(s),!0)}_refresh(e){const t=e instanceof C?e.name:e,s=this._markers.get(t);if(!s)throw new o.ZP("markercollection-refresh-marker-not-exists",this);const i=s.getRange();this.fire(`update:${t}`,s,i,i,s.getData())}*getMarkersAtPosition(e){for(const t of this)t.getRange().containsPosition(e)&&(yield t)}*getMarkersIntersectingRange(e){for(const t of this)null!==t.getRange().getIntersection(e)&&(yield t)}destroy(){for(const e of this._markers.values())this._destroyMarker(e);this._markers=null,this.stopListening()}*getMarkersGroup(e){for(const t of this._markers.values())t.name.startsWith(e+":")&&(yield t)}_destroyMarker(e){e.stopListening(),e._detachLiveRange()}}class C extends((0,m.ZP)(x.Z)){constructor(e,t,s,o){super(),this.name=e,this._liveRange=this._attachLiveRange(t),this._managedUsingOperations=s,this._affectsData=o}get managedUsingOperations(){if(!this._liveRange)throw new o.ZP("marker-destroyed",this);return this._managedUsingOperations}get affectsData(){if(!this._liveRange)throw new o.ZP("marker-destroyed",this);return this._affectsData}getData(){return{range:this.getRange(),affectsData:this.affectsData,managedUsingOperations:this.managedUsingOperations}}getStart(){if(!this._liveRange)throw new o.ZP("marker-destroyed",this);return this._liveRange.start.clone()}getEnd(){if(!this._liveRange)throw new o.ZP("marker-destroyed",this);return this._liveRange.end.clone()}getRange(){if(!this._liveRange)throw new o.ZP("marker-destroyed",this);return this._liveRange.toRange()}_attachLiveRange(e){return this._liveRange&&this._detachLiveRange(),e.delegate("change:range").to(this),e.delegate("change:content").to(this),this._liveRange=e,e}_detachLiveRange(){this._liveRange.stopDelegating("change:range",this),this._liveRange.stopDelegating("change:content",this),this._liveRange.detach(),this._liveRange=null}}C.prototype.is=function(e){return"marker"===e||"model:marker"===e};var E=s("./packages/ckeditor5-engine/src/model/selection.ts"),S=s("./packages/ckeditor5-engine/src/model/operation/operationfactory.ts"),j=s("./packages/ckeditor5-engine/src/model/schema.ts"),O=s("./packages/ckeditor5-engine/src/model/operation/attributeoperation.ts"),R=s("./packages/ckeditor5-engine/src/model/operation/operation.ts"),M=s("./packages/ckeditor5-engine/src/model/operation/utils.ts");class N extends R.Z{constructor(e,t){super(null),this.sourcePosition=e.clone(),this.howMany=t}get type(){return"detach"}toJSON(){const e=super.toJSON();return e.sourcePosition=this.sourcePosition.toJSON(),e}_validate(){if(this.sourcePosition.root.document)throw new o.ZP("detach-operation-on-document-node",this)}_execute(){(0,M.X9)(n.Z._createFromPositionAndShift(this.sourcePosition,this.howMany))}static get className(){return"DetachOperation"}}var V=s("./packages/ckeditor5-engine/src/model/operation/insertoperation.ts"),I=s("./packages/ckeditor5-engine/src/model/operation/markeroperation.ts"),D=s("./packages/ckeditor5-engine/src/model/operation/mergeoperation.ts"),z=s("./packages/ckeditor5-engine/src/model/operation/moveoperation.ts"),B=s("./packages/ckeditor5-engine/src/model/operation/renameoperation.ts"),F=s("./packages/ckeditor5-engine/src/model/operation/rootattributeoperation.ts"),L=s("./packages/ckeditor5-engine/src/model/operation/splitoperation.ts"),W=s("./packages/ckeditor5-engine/src/model/documentfragment.ts"),$=s("./packages/ckeditor5-engine/src/model/text.ts"),q=s("./packages/ckeditor5-utils/src/tomap.ts");class H{constructor(e,t){this.model=e,this.batch=t}createText(e,t){return new $.Z(e,t)}createElement(e,t){return new p.Z(e,t)}createDocumentFragment(){return new W.Z}cloneElement(e,t=!0){return e._clone(t)}insert(e,t,s=0){if(this._assertWriterUsedCorrectly(),e instanceof $.Z&&""==e.data)return;const i=r.ZP._createAt(t,s);if(e.parent){if(Q(e.root,i.root))return void this.move(n.Z._createOn(e),i);if(e.root.document)throw new o.ZP("model-writer-insert-forbidden-move",this);this.remove(e)}const a=i.root.document?i.root.document.version:null,c=new V.Z(i,e,a);if(e instanceof $.Z&&(c.shouldReceiveAttributes=!0),this.batch.addOperation(c),this.model.applyOperation(c),e instanceof W.Z)for(const[t,s]of e.markers){const e=r.ZP._createAt(s.root,0),o={range:new n.Z(s.start._getCombined(e,i),s.end._getCombined(e,i)),usingOperation:!0,affectsData:!0};this.model.markers.has(t)?this.updateMarker(t,o):this.addMarker(t,o)}}insertText(e,t,s,o){t instanceof W.Z||t instanceof p.Z||t instanceof r.ZP?this.insert(this.createText(e),t,s):this.insert(this.createText(e,t),s,o)}insertElement(e,t,s,o){t instanceof W.Z||t instanceof p.Z||t instanceof r.ZP?this.insert(this.createElement(e),t,s):this.insert(this.createElement(e,t),s,o)}append(e,t){this.insert(e,t,"end")}appendText(e,t,s){t instanceof W.Z||t instanceof p.Z?this.insert(this.createText(e),t,"end"):this.insert(this.createText(e,t),s,"end")}appendElement(e,t,s){t instanceof W.Z||t instanceof p.Z?this.insert(this.createElement(e),t,"end"):this.insert(this.createElement(e,t),s,"end")}setAttribute(e,t,s){if(this._assertWriterUsedCorrectly(),s instanceof n.Z){const o=s.getMinimalFlatRanges();for(const s of o)U(this,e,t,s)}else K(this,e,t,s)}setAttributes(e,t){for(const[s,o]of(0,q.Z)(e))this.setAttribute(s,o,t)}removeAttribute(e,t){if(this._assertWriterUsedCorrectly(),t instanceof n.Z){const s=t.getMinimalFlatRanges();for(const t of s)U(this,e,null,t)}else K(this,e,null,t)}clearAttributes(e){this._assertWriterUsedCorrectly();const t=e=>{for(const t of e.getAttributeKeys())this.removeAttribute(t,e)};if(e instanceof n.Z)for(const s of e.getItems())t(s);else t(e)}move(e,t,s){if(this._assertWriterUsedCorrectly(),!(e instanceof n.Z))throw new o.ZP("writer-move-invalid-range",this);if(!e.isFlat)throw new o.ZP("writer-move-range-not-flat",this);const i=r.ZP._createAt(t,s);if(i.isEqual(e.start))return;if(this._addOperationForAffectedMarkers("move",e),!Q(e.root,i.root))throw new o.ZP("writer-move-different-document",this);const a=e.root.document?e.root.document.version:null,c=new z.Z(e.start,e.end.offset-e.start.offset,i,a);this.batch.addOperation(c),this.model.applyOperation(c)}remove(e){this._assertWriterUsedCorrectly();const t=(e instanceof n.Z?e:n.Z._createOn(e)).getMinimalFlatRanges().reverse();for(const e of t)this._addOperationForAffectedMarkers("move",e),J(e.start,e.end.offset-e.start.offset,this.batch,this.model)}merge(e){this._assertWriterUsedCorrectly();const t=e.nodeBefore,s=e.nodeAfter;if(this._addOperationForAffectedMarkers("merge",e),!(t instanceof p.Z))throw new o.ZP("writer-merge-no-element-before",this);if(!(s instanceof p.Z))throw new o.ZP("writer-merge-no-element-after",this);e.root.document?this._merge(e):this._mergeDetached(e)}createPositionFromPath(e,t,s){return this.model.createPositionFromPath(e,t,s)}createPositionAt(e,t){return this.model.createPositionAt(e,t)}createPositionAfter(e){return this.model.createPositionAfter(e)}createPositionBefore(e){return this.model.createPositionBefore(e)}createRange(e,t){return this.model.createRange(e,t)}createRangeIn(e){return this.model.createRangeIn(e)}createRangeOn(e){return this.model.createRangeOn(e)}createSelection(...e){return this.model.createSelection(...e)}_mergeDetached(e){const t=e.nodeBefore,s=e.nodeAfter;this.move(n.Z._createIn(s),r.ZP._createAt(t,"end")),this.remove(s)}_merge(e){const t=r.ZP._createAt(e.nodeBefore,"end"),s=r.ZP._createAt(e.nodeAfter,0),o=e.root.document.graveyard,i=new r.ZP(o,[0]),n=e.root.document.version,a=new D.Z(s,e.nodeAfter.maxOffset,t,i,n);this.batch.addOperation(a),this.model.applyOperation(a)}rename(e,t){if(this._assertWriterUsedCorrectly(),!(e instanceof p.Z))throw new o.ZP("writer-rename-not-element-instance",this);const s=e.root.document?e.root.document.version:null,i=new B.Z(r.ZP._createBefore(e),e.name,t,s);this.batch.addOperation(i),this.model.applyOperation(i)}split(e,t){this._assertWriterUsedCorrectly();let s,i,a=e.parent;if(!a.parent)throw new o.ZP("writer-split-element-no-parent",this);if(t||(t=a.parent),!e.parent.getAncestors({includeSelf:!0}).includes(t))throw new o.ZP("writer-split-invalid-limit-element",this);do{const t=a.root.document?a.root.document.version:null,o=a.maxOffset-e.offset,r=L.Z.getInsertionPosition(e),n=new L.Z(e,o,r,null,t);this.batch.addOperation(n),this.model.applyOperation(n),s||i||(s=a,i=e.parent.nextSibling),a=(e=this.createPositionAfter(e.parent)).parent}while(a!==t);return{position:e,range:new n.Z(r.ZP._createAt(s,"end"),r.ZP._createAt(i,0))}}wrap(e,t){if(this._assertWriterUsedCorrectly(),!e.isFlat)throw new o.ZP("writer-wrap-range-not-flat",this);const s=t instanceof p.Z?t:new p.Z(t);if(s.childCount>0)throw new o.ZP("writer-wrap-element-not-empty",this);if(null!==s.parent)throw new o.ZP("writer-wrap-element-attached",this);this.insert(s,e.start);const i=new n.Z(e.start.getShiftedBy(1),e.end.getShiftedBy(1));this.move(i,r.ZP._createAt(s,0))}unwrap(e){if(this._assertWriterUsedCorrectly(),null===e.parent)throw new o.ZP("writer-unwrap-element-no-parent",this);this.move(n.Z._createIn(e),this.createPositionAfter(e)),this.remove(e)}addMarker(e,t){if(this._assertWriterUsedCorrectly(),!t||"boolean"!=typeof t.usingOperation)throw new o.ZP("writer-addmarker-no-usingoperation",this);const s=t.usingOperation,i=t.range,r=void 0!==t.affectsData&&t.affectsData;if(this.model.markers.has(e))throw new o.ZP("writer-addmarker-marker-exists",this);if(!i)throw new o.ZP("writer-addmarker-no-range",this);return s?(G(this,e,null,i,r),this.model.markers.get(e)):this.model.markers._set(e,i,s,r)}updateMarker(e,t){this._assertWriterUsedCorrectly();const s="string"==typeof e?e:e.name,i=this.model.markers.get(s);if(!i)throw new o.ZP("writer-updatemarker-marker-not-exists",this);if(!t)return(0,o.KE)("writer-updatemarker-reconvert-using-editingcontroller",{markerName:s}),void this.model.markers._refresh(i);const r="boolean"==typeof t.usingOperation,n="boolean"==typeof t.affectsData,a=n?t.affectsData:i.affectsData;if(!r&&!t.range&&!n)throw new o.ZP("writer-updatemarker-wrong-options",this);const c=i.getRange(),l=t.range?t.range:c;r&&t.usingOperation!==i.managedUsingOperations?t.usingOperation?G(this,s,null,l,a):(G(this,s,c,null,a),this.model.markers._set(s,l,void 0,a)):i.managedUsingOperations?G(this,s,c,l,a):this.model.markers._set(s,l,void 0,a)}removeMarker(e){this._assertWriterUsedCorrectly();const t="string"==typeof e?e:e.name;if(!this.model.markers.has(t))throw new o.ZP("writer-removemarker-no-marker",this);const s=this.model.markers.get(t);if(!s.managedUsingOperations)return void this.model.markers._remove(t);G(this,t,s.getRange(),null,s.affectsData)}setSelection(...e){this._assertWriterUsedCorrectly(),this.model.document.selection._setTo(...e)}setSelectionFocus(e,t){this._assertWriterUsedCorrectly(),this.model.document.selection._setFocus(e,t)}setSelectionAttribute(e,t){if(this._assertWriterUsedCorrectly(),"string"==typeof e)this._setSelectionAttribute(e,t);else for(const[t,s]of(0,q.Z)(e))this._setSelectionAttribute(t,s)}removeSelectionAttribute(e){if(this._assertWriterUsedCorrectly(),"string"==typeof e)this._removeSelectionAttribute(e);else for(const t of e)this._removeSelectionAttribute(t)}overrideSelectionGravity(){return this.model.document.selection._overrideGravity()}restoreSelectionGravity(e){this.model.document.selection._restoreGravity(e)}_setSelectionAttribute(e,t){const s=this.model.document.selection;if(s.isCollapsed&&s.anchor.parent.isEmpty){const o=h.Z._getStoreAttributeKey(e);this.setAttribute(o,t,s.anchor.parent)}s._setAttribute(e,t)}_removeSelectionAttribute(e){const t=this.model.document.selection;if(t.isCollapsed&&t.anchor.parent.isEmpty){const s=h.Z._getStoreAttributeKey(e);this.removeAttribute(s,t.anchor.parent)}t._removeAttribute(e)}_assertWriterUsedCorrectly(){if(this.model._currentWriter!==this)throw new o.ZP("writer-incorrect-use",this)}_addOperationForAffectedMarkers(e,t){for(const s of this.model.markers){if(!s.managedUsingOperations)continue;const o=s.getRange();let i=!1;if("move"===e){const e=t;i=e.containsPosition(o.start)||e.start.isEqual(o.start)||e.containsPosition(o.end)||e.end.isEqual(o.end)}else{const e=t,s=e.nodeBefore,r=e.nodeAfter,n=o.start.parent==s&&o.start.isAtEnd,a=o.end.parent==r&&0==o.end.offset,c=o.end.nodeAfter==r,l=o.start.nodeAfter==r;i=n||a||c||l}i&&this.updateMarker(s.name,{range:o})}}}function U(e,t,s,o){const i=e.model,a=i.document;let c,l,d,h=o.start;for(const e of o.getWalker({shallow:!0}))d=e.item.getAttribute(t),c&&l!=d&&(l!=s&&u(),h=c),c=e.nextPosition,l=d;function u(){const o=new n.Z(h,c),r=o.root.document?a.version:null,d=new O.Z(o,t,l,s,r);e.batch.addOperation(d),i.applyOperation(d)}c instanceof r.ZP&&c!=h&&l!=s&&u()}function K(e,t,s,o){const i=e.model,a=i.document,c=o.getAttribute(t);let l,d;if(c!=s){if(o.root===o){const e=o.document?a.version:null;d=new F.Z(o,t,c,s,e)}else{l=new n.Z(r.ZP._createBefore(o),e.createPositionAfter(o));const i=l.root.document?a.version:null;d=new O.Z(l,t,c,s,i)}e.batch.addOperation(d),i.applyOperation(d)}}function G(e,t,s,o,i){const r=e.model,n=r.document,a=new I.Z(t,s,o,r.markers,!!i,n.version);e.batch.addOperation(a),r.applyOperation(a)}function J(e,t,s,o){let i;if(e.root.document){const s=o.document,n=new r.ZP(s.graveyard,[0]);i=new z.Z(e,t,n,s.version)}else i=new N(e,t);s.addOperation(i),o.applyOperation(i)}function Q(e,t){return e===t||e instanceof g&&t instanceof g}var X=s("./packages/ckeditor5-engine/src/model/utils/autoparagraphing.ts");function Y(e){e.document.registerPostFixer((t=>function(e,t){const s=t.document.selection,o=t.schema,i=[];let r=!1;for(const e of s.getRanges()){const t=ee(e,o);t&&!t.isEqual(e)?(i.push(t),r=!0):i.push(e)}r&&e.setSelection(function(e){const t=[...e],s=new Set;let o=1;for(;o!s.has(t)))}(i),{backward:s.isBackward});return!1}(t,e)))}function ee(e,t){return e.isCollapsed?function(e,t){const s=e.start,o=t.getNearestSelectionRange(s);if(!o){const e=s.getAncestors().reverse().find((e=>t.isObject(e)));return e?n.Z._createOn(e):null}if(!o.isCollapsed)return o;const i=o.start;if(s.isEqual(i))return null;return new n.Z(i)}(e,t):function(e,t){const{start:s,end:o}=e,i=t.checkChild(s,"$text"),a=t.checkChild(o,"$text"),c=t.getLimitElement(s),l=t.getLimitElement(o);if(c===l){if(i&&a)return null;if(function(e,t,s){const o=e.nodeAfter&&!s.isLimit(e.nodeAfter)||s.checkChild(e,"$text"),i=t.nodeBefore&&!s.isLimit(t.nodeBefore)||s.checkChild(t,"$text");return o||i}(s,o,t)){const e=s.nodeAfter&&t.isSelectable(s.nodeAfter)?null:t.getNearestSelectionRange(s,"forward"),i=o.nodeBefore&&t.isSelectable(o.nodeBefore)?null:t.getNearestSelectionRange(o,"backward"),r=e?e.start:s,a=i?i.end:o;return new n.Z(r,a)}}const d=c&&!c.is("rootElement"),h=l&&!l.is("rootElement");if(d||h){const e=s.nodeAfter&&o.nodeBefore&&s.nodeAfter.parent===o.nodeBefore.parent,i=d&&(!e||!se(s.nodeAfter,t)),a=h&&(!e||!se(o.nodeBefore,t));let u=s,p=o;return i&&(u=r.ZP._createBefore(te(c,t))),a&&(p=r.ZP._createAfter(te(l,t))),new n.Z(u,p)}return null}(e,t)}function te(e,t){let s=e,o=s;for(;t.isLimit(o)&&o.parent;)s=o,o=o.parent;return s}function se(e,t){return e&&t.isSelectable(e)}var oe=s("./packages/ckeditor5-engine/src/model/liveposition.ts");function ie(e,t,s={}){if(t.isCollapsed)return;const o=t.getFirstRange();if("$graveyard"==o.root.rootName)return;const i=e.schema;e.change((e=>{if(!s.doNotResetEntireContent&&function(e,t){const s=e.getLimitElement(t);if(!t.containsEntireContent(s))return!1;const o=t.getFirstRange();if(o.start.parent==o.end.parent)return!1;return e.checkChild(s,"paragraph")}(i,t))return void function(e,t){const s=e.model.schema.getLimitElement(t);e.remove(e.createRangeIn(s)),ce(e,e.createPositionAt(s,0),t)}(e,t);const r={};if(!s.doNotAutoparagraph){const e=t.getSelectedElement();e&&Object.assign(r,i.getAttributesWithProperty(e,"copyOnReplace",!0))}const[n,a]=function(e){const t=e.root.document.model,s=e.start;let o=e.end;if(t.hasContent(e,{ignoreMarkers:!0})){const s=function(e){const t=e.parent,s=t.root.document.model.schema,o=t.getAncestors({parentFirst:!0,includeSelf:!0});for(const e of o){if(s.isLimit(e))return null;if(s.isBlock(e))return e}}(o);if(s&&o.isTouching(t.createPositionAt(s,0))){const s=t.createSelection(e);t.modifySelection(s,{direction:"backward"});const i=s.getLastPosition(),r=t.createRange(i,o);t.hasContent(r,{ignoreMarkers:!0})||(o=i)}}return[oe.Z.fromPosition(s,"toPrevious"),oe.Z.fromPosition(o,"toNext")]}(o);n.isTouching(a)||e.remove(e.createRange(n,a)),s.leaveUnmerged||(!function(e,t,s){const o=e.model;if(!ae(e.model.schema,t,s))return;const[i,r]=function(e,t){const s=e.getAncestors(),o=t.getAncestors();let i=0;for(;s[i]&&s[i]==o[i];)i++;return[s[i],o[i]]}(t,s);if(!i||!r)return;!o.hasContent(i,{ignoreMarkers:!0})&&o.hasContent(r,{ignoreMarkers:!0})?ne(e,t,s,i.parent):re(e,t,s,i.parent)}(e,n,a),i.removeDisallowedAttributes(n.parent.getChildren(),e)),le(e,t,n),!s.doNotAutoparagraph&&function(e,t){const s=e.checkChild(t,"$text"),o=e.checkChild(t,"paragraph");return!s&&o}(i,n)&&ce(e,n,t,r),n.detach(),a.detach()}))}function re(e,t,s,o){const i=t.parent,r=s.parent;if(i!=o&&r!=o){for(t=e.createPositionAfter(i),(s=e.createPositionBefore(r)).isEqual(t)||e.insert(r,t),e.merge(t);s.parent.isEmpty;){const t=s.parent;s=e.createPositionBefore(t),e.remove(t)}ae(e.model.schema,t,s)&&re(e,t,s,o)}}function ne(e,t,s,o){const i=t.parent,r=s.parent;if(i!=o&&r!=o){for(t=e.createPositionAfter(i),(s=e.createPositionBefore(r)).isEqual(t)||e.insert(i,s);t.parent.isEmpty;){const s=t.parent;t=e.createPositionBefore(s),e.remove(s)}s=e.createPositionBefore(r),function(e,t){const s=t.nodeBefore,o=t.nodeAfter;s.name!=o.name&&e.rename(s,o.name);e.clearAttributes(s),e.setAttributes(Object.fromEntries(o.getAttributes()),s),e.merge(t)}(e,s),ae(e.model.schema,t,s)&&ne(e,t,s,o)}}function ae(e,t,s){const o=t.parent,i=s.parent;return o!=i&&(!e.isLimit(o)&&!e.isLimit(i)&&function(e,t,s){const o=new n.Z(e,t);for(const e of o.getWalker())if(s.isLimit(e.item))return!1;return!0}(t,s,e))}function ce(e,t,s,o={}){const i=e.createElement("paragraph");e.model.schema.setAllowedAttributes(i,o,e),e.insert(i,t),le(e,s,e.createPositionAt(i,0))}function le(e,t,s){t instanceof h.Z?e.setSelection(s):t.setTo(s)}function de(e,t){const s=[];Array.from(e.getItems({direction:"backward"})).map((e=>t.createRangeOn(e))).filter((t=>(t.start.isAfter(e.start)||t.start.isEqual(e.start))&&(t.end.isBefore(e.end)||t.end.isEqual(e.end)))).forEach((e=>{s.push(e.start.parent),t.remove(e)})),s.forEach((e=>{let s=e;for(;s.parent&&s.isEmpty;){const e=t.createRangeOn(s);s=s.parent,t.remove(e)}}))}class he{constructor(e,t,s){this.model=e,this.writer=t,this.position=s,this.canMergeWith=new Set([this.position.parent]),this.schema=e.schema,this._documentFragment=t.createDocumentFragment(),this._documentFragmentPosition=t.createPositionAt(this._documentFragment,0),this._firstNode=null,this._lastNode=null,this._lastAutoParagraph=null,this._filterAttributesOf=[],this._affectedStart=null,this._affectedEnd=null}handleNodes(e){for(const t of Array.from(e))this._handleNode(t);this._insertPartialFragment(),this._lastAutoParagraph&&this._updateLastNodeFromAutoParagraph(this._lastAutoParagraph),this._mergeOnRight(),this.schema.removeDisallowedAttributes(this._filterAttributesOf,this.writer),this._filterAttributesOf=[]}_updateLastNodeFromAutoParagraph(e){const t=this.writer.createPositionAfter(this._lastNode),s=this.writer.createPositionAfter(e);if(s.isAfter(t)){if(this._lastNode=e,this.position.parent!=e||!this.position.isAtEnd)throw new o.ZP("insertcontent-invalid-insertion-position",this);this.position=s,this._setAffectedBoundaries(this.position)}}getSelectionRange(){return this._nodeToSelect?n.Z._createOn(this._nodeToSelect):this.model.schema.getNearestSelectionRange(this.position)}getAffectedRange(){return this._affectedStart?new n.Z(this._affectedStart,this._affectedEnd):null}destroy(){this._affectedStart&&this._affectedStart.detach(),this._affectedEnd&&this._affectedEnd.detach()}_handleNode(e){if(this.schema.isObject(e))return void this._handleObject(e);let t=this._checkAndAutoParagraphToAllowedPosition(e);t||(t=this._checkAndSplitToAllowedPosition(e),t)?(this._appendToFragment(e),this._firstNode||(this._firstNode=e),this._lastNode=e):this._handleDisallowedNode(e)}_insertPartialFragment(){if(this._documentFragment.isEmpty)return;const e=oe.Z.fromPosition(this.position,"toNext");this._setAffectedBoundaries(this.position),this._documentFragment.getChild(0)==this._firstNode&&(this.writer.insert(this._firstNode,this.position),this._mergeOnLeft(),this.position=e.toPosition()),this._documentFragment.isEmpty||this.writer.insert(this._documentFragment,this.position),this._documentFragmentPosition=this.writer.createPositionAt(this._documentFragment,0),this.position=e.toPosition(),e.detach()}_handleObject(e){this._checkAndSplitToAllowedPosition(e)?this._appendToFragment(e):this._tryAutoparagraphing(e)}_handleDisallowedNode(e){e.is("element")?this.handleNodes(e.getChildren()):this._tryAutoparagraphing(e)}_appendToFragment(e){if(!this.schema.checkChild(this.position,e))throw new o.ZP("insertcontent-wrong-position",this,{node:e,position:this.position});this.writer.insert(e,this._documentFragmentPosition),this._documentFragmentPosition=this._documentFragmentPosition.getShiftedBy(e.offsetSize),this.schema.isObject(e)&&!this.schema.checkChild(this.position,"$text")?this._nodeToSelect=e:this._nodeToSelect=null,this._filterAttributesOf.push(e)}_setAffectedBoundaries(e){this._affectedStart||(this._affectedStart=oe.Z.fromPosition(e,"toPrevious")),this._affectedEnd&&!this._affectedEnd.isBefore(e)||(this._affectedEnd&&this._affectedEnd.detach(),this._affectedEnd=oe.Z.fromPosition(e,"toNext"))}_mergeOnLeft(){const e=this._firstNode;if(!(e instanceof p.Z))return;if(!this._canMergeLeft(e))return;const t=oe.Z._createBefore(e);t.stickiness="toNext";const s=oe.Z.fromPosition(this.position,"toNext");this._affectedStart.isEqual(t)&&(this._affectedStart.detach(),this._affectedStart=oe.Z._createAt(t.nodeBefore,"end","toPrevious")),this._firstNode===this._lastNode&&(this._firstNode=t.nodeBefore,this._lastNode=t.nodeBefore),this.writer.merge(t),t.isEqual(this._affectedEnd)&&this._firstNode===this._lastNode&&(this._affectedEnd.detach(),this._affectedEnd=oe.Z._createAt(t.nodeBefore,"end","toNext")),this.position=s.toPosition(),s.detach(),this._filterAttributesOf.push(this.position.parent),t.detach()}_mergeOnRight(){const e=this._lastNode;if(!(e instanceof p.Z))return;if(!this._canMergeRight(e))return;const t=oe.Z._createAfter(e);if(t.stickiness="toNext",!this.position.isEqual(t))throw new o.ZP("insertcontent-invalid-insertion-position",this);this.position=r.ZP._createAt(t.nodeBefore,"end");const s=oe.Z.fromPosition(this.position,"toPrevious");this._affectedEnd.isEqual(t)&&(this._affectedEnd.detach(),this._affectedEnd=oe.Z._createAt(t.nodeBefore,"end","toNext")),this._firstNode===this._lastNode&&(this._firstNode=t.nodeBefore,this._lastNode=t.nodeBefore),this.writer.merge(t),t.getShiftedBy(-1).isEqual(this._affectedStart)&&this._firstNode===this._lastNode&&(this._affectedStart.detach(),this._affectedStart=oe.Z._createAt(t.nodeBefore,0,"toPrevious")),this.position=s.toPosition(),s.detach(),this._filterAttributesOf.push(this.position.parent),t.detach()}_canMergeLeft(e){const t=e.previousSibling;return t instanceof p.Z&&this.canMergeWith.has(t)&&this.model.schema.checkMerge(t,e)}_canMergeRight(e){const t=e.nextSibling;return t instanceof p.Z&&this.canMergeWith.has(t)&&this.model.schema.checkMerge(e,t)}_tryAutoparagraphing(e){const t=this.writer.createElement("paragraph");this._getAllowedIn(this.position.parent,t)&&this.schema.checkChild(t,e)&&(t._appendChild(e),this._handleNode(t))}_checkAndAutoParagraphToAllowedPosition(e){if(this.schema.checkChild(this.position.parent,e))return!0;if(!this.schema.checkChild(this.position.parent,"paragraph")||!this.schema.checkChild("paragraph",e))return!1;this._insertPartialFragment();const t=this.writer.createElement("paragraph");return this.writer.insert(t,this.position),this._setAffectedBoundaries(this.position),this._lastAutoParagraph=t,this.position=this.writer.createPositionAt(t,0),!0}_checkAndSplitToAllowedPosition(e){const t=this._getAllowedIn(this.position.parent,e);if(!t)return!1;for(t!=this.position.parent&&this._insertPartialFragment();t!=this.position.parent;)if(this.position.isAtStart){const e=this.position.parent;this.position=this.writer.createPositionBefore(e),e.isEmpty&&e.parent===t&&this.writer.remove(e)}else if(this.position.isAtEnd)this.position=this.writer.createPositionAfter(this.position.parent);else{const e=this.writer.createPositionAfter(this.position.parent);this._setAffectedBoundaries(this.position),this.writer.split(this.position),this.position=e,this.canMergeWith.add(this.position.nodeAfter)}return!0}_getAllowedIn(e,t){return this.schema.checkChild(e,t)?e:this.schema.isLimit(e)?null:this._getAllowedIn(e.parent,t)}}var ue=s("./packages/ckeditor5-engine/src/model/utils/findoptimalinsertionrange.ts"),pe=s("./packages/ckeditor5-utils/src/first.ts");function ge(e,t,s,i,r={}){if(!e.schema.isObject(t))throw new o.ZP("insertobject-element-not-an-object",e,{object:t});let n;n=s?s instanceof E.Z||s instanceof h.Z?s:e.createSelection(s,i):e.document.selection;let a=n;r.findOptimalPosition&&e.schema.isBlock(t)&&(a=e.createSelection((0,ue.K)(n,e,r.findOptimalPosition)));const c=(0,pe.Z)(n.getSelectedBlocks()),l={};return c&&Object.assign(l,e.schema.getAttributesWithProperty(c,"copyOnReplace",!0)),e.change((s=>{a.isCollapsed||e.deleteContent(a,{doNotAutoparagraph:!0});let i=t;const n=a.anchor.parent;!e.schema.checkChild(n,t)&&e.schema.checkChild(n,"paragraph")&&e.schema.checkChild("paragraph",t)&&(i=s.createElement("paragraph"),s.insert(t,i)),e.schema.setAllowedAttributes(i,l,s);const c=e.insertContent(i,a);return c.isCollapsed||r.setSelection&&function(e,t,s,i){const r=e.model;if("after"==s){let s=t.nextSibling;!(s&&r.schema.checkChild(s,"$text"))&&r.schema.checkChild(t.parent,"paragraph")&&(s=e.createElement("paragraph"),r.schema.setAllowedAttributes(s,i,e),r.insertContent(s,e.createPositionAfter(t))),s&&e.setSelection(s,0)}else{if("on"!=s)throw new o.ZP("insertobject-invalid-place-parameter-value",r);e.setSelection(t,"on")}}(s,t,r.setSelection,l),c}))}var fe=s("./packages/ckeditor5-engine/src/model/treewalker.ts");const me=' ,.?!:;"-()';function ke(e,t){const{isForward:s,walker:o,unit:i,schema:n,treatEmojiAsSingleUnit:a}=e,{type:c,item:l,nextPosition:d}=t;if("text"==c)return"word"===e.unit?function(e,t){let s=e.position.textNode;if(s){let o=e.position.offset-s.startOffset;for(;!_e(s.data,o,t)&&!we(s,o,t);){e.next();const i=t?e.position.nodeAfter:e.position.nodeBefore;if(i&&i.is("$text")){const o=i.data.charAt(t?0:i.data.length-1);me.includes(o)||(e.next(),s=e.position.textNode)}o=e.position.offset-s.startOffset}}return e.position}(o,s):function(e,t,s){const o=e.position.textNode;if(o){const i=o.data;let r=e.position.offset-o.startOffset;for(;k(i,r)||"character"==t&&b(i,r)||s&&w(i,r);)e.next(),r=e.position.offset-o.startOffset}return e.position}(o,i,a);if(c==(s?"elementStart":"elementEnd")){if(n.isSelectable(l))return r.ZP._createAt(l,s?"after":"before");if(n.checkChild(d,"$text"))return d}else{if(n.isLimit(l))return void o.skip((()=>!0));if(n.checkChild(d,"$text"))return d}}function be(e,t){const s=e.root,o=r.ZP._createAt(s,t?"end":0);return t?new n.Z(e,o):new n.Z(o,e)}function _e(e,t,s){const o=t+(s?0:-1);return me.includes(e.charAt(o))}function we(e,t,s){return t===(s?e.endOffset:0)}var ve=s("./packages/ckeditor5-utils/src/observablemixin.ts");class ye extends ve.y{constructor(){super(),this.markers=new A,this.document=new Z(this),this.schema=new j.Z,this._pendingChanges=[],this._currentWriter=null,["insertContent","insertObject","deleteContent","modifySelection","getSelectedContent","applyOperation"].forEach((e=>this.decorate(e))),this.on("applyOperation",((e,t)=>{t[0]._validate()}),{priority:"highest"}),this.schema.register("$root",{isLimit:!0}),this.schema.register("$container",{allowIn:["$root","$container"]}),this.schema.register("$block",{allowIn:["$root","$container"],isBlock:!0}),this.schema.register("$blockObject",{allowWhere:"$block",isBlock:!0,isObject:!0}),this.schema.register("$inlineObject",{allowWhere:"$text",allowAttributesOf:"$text",isInline:!0,isObject:!0}),this.schema.register("$text",{allowIn:"$block",isInline:!0,isContent:!0}),this.schema.register("$clipboardHolder",{allowContentOf:"$root",allowChildren:"$text",isLimit:!0}),this.schema.register("$documentFragment",{allowContentOf:"$root",allowChildren:"$text",isLimit:!0}),this.schema.register("$marker"),this.schema.addChildCheck(((e,t)=>{if("$marker"===t.name)return!0})),Y(this),this.document.registerPostFixer(X._m)}change(e){try{return 0===this._pendingChanges.length?(this._pendingChanges.push({batch:new i,callback:e}),this._runPendingChanges()[0]):e(this._currentWriter)}catch(e){o.ZP.rethrowUnexpectedError(e,this)}}enqueueChange(e,t){try{e?"function"==typeof e?(t=e,e=new i):e instanceof i||(e=new i(e)):e=new i,this._pendingChanges.push({batch:e,callback:t}),1==this._pendingChanges.length&&this._runPendingChanges()}catch(e){o.ZP.rethrowUnexpectedError(e,this)}}applyOperation(e){e._execute()}insertContent(e,t,s){return function(e,t,s,o){return e.change((i=>{let r;r=s?s instanceof E.Z||s instanceof h.Z?s:i.createSelection(s,o):e.document.selection,r.isCollapsed||e.deleteContent(r,{doNotAutoparagraph:!0});const n=new he(e,i,r.anchor);let a;a=t.is("documentFragment")?t.getChildren():[t],n.handleNodes(a);const c=n.getSelectionRange();c&&(r instanceof h.Z?i.setSelection(c):r.setTo(c));const l=n.getAffectedRange()||e.createRange(r.anchor);return n.destroy(),l}))}(this,e,t,s)}insertObject(e,t,s,o){return ge(this,e,t,s,o)}deleteContent(e,t){ie(this,e,t)}modifySelection(e,t){!function(e,t,s={}){const o=e.schema,i="backward"!=s.direction,r=s.unit?s.unit:"character",n=!!s.treatEmojiAsSingleUnit,a=t.focus,c=new fe.Z({boundaries:be(a,i),singleCharacters:!0,direction:i?"forward":"backward"}),l={walker:c,schema:o,isForward:i,unit:r,treatEmojiAsSingleUnit:n};let d;for(;d=c.next();){if(d.done)return;const s=ke(l,d.value);if(s)return void(t instanceof h.Z?e.change((e=>{e.setSelectionFocus(s)})):t.setFocus(s))}}(this,e,t)}getSelectedContent(e){return function(e,t){return e.change((e=>{const s=e.createDocumentFragment(),o=t.getFirstRange();if(!o||o.isCollapsed)return s;const i=o.start.root,r=o.start.getCommonPath(o.end),n=i.getNodeByPath(r);let a;a=o.start.parent==o.end.parent?o:e.createRange(e.createPositionAt(n,o.start.path[r.length]),e.createPositionAt(n,o.end.path[r.length]+1));const c=a.end.offset-a.start.offset;for(const t of a.getItems({shallow:!0}))t.is("$textProxy")?e.appendText(t.data,t.getAttributes(),s):e.append(e.cloneElement(t,!0),s);if(a!=o){const t=o._getTransformedByMove(a.start,e.createPositionAt(s,0),c)[0],i=e.createRange(e.createPositionAt(s,0),t.start);de(e.createRange(t.end,e.createPositionAt(s,"end")),e),de(i,e)}return s}))}(this,e)}hasContent(e,t={}){const s=e instanceof n.Z?e:n.Z._createIn(e);if(s.isCollapsed)return!1;const{ignoreWhitespaces:o=!1,ignoreMarkers:i=!1}=t;if(!i)for(const e of this.markers.getMarkersIntersectingRange(s))if(e.affectsData)return!0;for(const e of s.getItems())if(this.schema.isContent(e)){if(!e.is("$textProxy"))return!0;if(!o)return!0;if(-1!==e.data.search(/\S/))return!0}return!1}createPositionFromPath(e,t,s){return new r.ZP(e,t,s)}createPositionAt(e,t){return r.ZP._createAt(e,t)}createPositionAfter(e){return r.ZP._createAfter(e)}createPositionBefore(e){return r.ZP._createBefore(e)}createRange(e,t){return new n.Z(e,t)}createRangeIn(e){return n.Z._createIn(e)}createRangeOn(e){return n.Z._createOn(e)}createSelection(...e){return new E.Z(...e)}createBatch(e){return new i(e)}createOperationFromJSON(e){return S.Z.fromJSON(e,this.document)}destroy(){this.document.destroy(),this.stopListening()}_runPendingChanges(){const e=[];this.fire("_beforeChanges");try{for(;this._pendingChanges.length;){const t=this._pendingChanges[0].batch;this._currentWriter=new H(this,t);const s=this._pendingChanges[0].callback(this._currentWriter);e.push(s),this.document._handleChangeBlock(this._currentWriter),this._pendingChanges.shift(),this._currentWriter=null}}finally{this._pendingChanges.length=0,this._currentWriter=null,this.fire("_afterChanges")}return e}}},"./packages/ckeditor5-engine/src/model/node.ts":(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});var o=s("./packages/ckeditor5-engine/src/model/typecheckable.ts"),i=s("./packages/ckeditor5-utils/src/tomap.ts"),r=s("./packages/ckeditor5-utils/src/ckeditorerror.ts"),n=s("./packages/ckeditor5-utils/src/comparearrays.ts");s("./packages/ckeditor5-utils/src/version.ts");class a extends o.Z{constructor(e){super(),this.parent=null,this._attrs=(0,i.Z)(e)}get document(){return null}get index(){let e;if(!this.parent)return null;if(null===(e=this.parent.getChildIndex(this)))throw new r.ZP("model-node-not-found-in-parent",this);return e}get startOffset(){let e;if(!this.parent)return null;if(null===(e=this.parent.getChildStartOffset(this)))throw new r.ZP("model-node-not-found-in-parent",this);return e}get offsetSize(){return 1}get endOffset(){return this.parent?this.startOffset+this.offsetSize:null}get nextSibling(){const e=this.index;return null!==e&&this.parent.getChild(e+1)||null}get previousSibling(){const e=this.index;return null!==e&&this.parent.getChild(e-1)||null}get root(){let e=this;for(;e.parent;)e=e.parent;return e}isAttached(){return this.root.is("rootElement")}getPath(){const e=[];let t=this;for(;t.parent;)e.unshift(t.startOffset),t=t.parent;return e}getAncestors(e={}){const t=[];let s=e.includeSelf?this:this.parent;for(;s;)t[e.parentFirst?"push":"unshift"](s),s=s.parent;return t}getCommonAncestor(e,t={}){const s=this.getAncestors(t),o=e.getAncestors(t);let i=0;for(;s[i]==o[i]&&s[i];)i++;return 0===i?null:s[i-1]}isBefore(e){if(this==e)return!1;if(this.root!==e.root)return!1;const t=this.getPath(),s=e.getPath(),o=(0,n.Z)(t,s);switch(o){case"prefix":return!0;case"extension":return!1;default:return t[o](e[t[0]]=t[1],e)),{})),e}_clone(e){return new a(this._attrs)}_remove(){this.parent._removeChildren(this.index)}_setAttribute(e,t){this._attrs.set(e,t)}_setAttributesTo(e){this._attrs=(0,i.Z)(e)}_removeAttribute(e){return this._attrs.delete(e)}_clearAttributes(){this._attrs.clear()}}a.prototype.is=function(e){return"node"===e||"model:node"===e}},"./packages/ckeditor5-engine/src/model/nodelist.ts":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./packages/ckeditor5-engine/src/model/node.ts"),i=s("./packages/ckeditor5-utils/src/ckeditorerror.ts");class r{constructor(e){this._nodes=[],e&&this._insertNodes(0,e)}[Symbol.iterator](){return this._nodes[Symbol.iterator]()}get length(){return this._nodes.length}get maxOffset(){return this._nodes.reduce(((e,t)=>e+t.offsetSize),0)}getNode(e){return this._nodes[e]||null}getNodeIndex(e){const t=this._nodes.indexOf(e);return-1==t?null:t}getNodeStartOffset(e){const t=this.getNodeIndex(e);return null===t?null:this._nodes.slice(0,t).reduce(((e,t)=>e+t.offsetSize),0)}indexToOffset(e){if(e==this._nodes.length)return this.maxOffset;const t=this._nodes[e];if(!t)throw new i.ZP("model-nodelist-index-out-of-bounds",this);return this.getNodeStartOffset(t)}offsetToIndex(e){let t=0;for(const s of this._nodes){if(e>=t&&ee.toJSON()))}}},"./packages/ckeditor5-engine/src/model/operation/attributeoperation.ts":(e,t,s)=>{"use strict";s.d(t,{Z:()=>l});var o=s("./packages/ckeditor5-engine/src/model/operation/operation.ts"),i=s("./packages/ckeditor5-engine/src/model/operation/utils.ts"),r=s("./packages/ckeditor5-engine/src/model/range.ts"),n=s("./packages/ckeditor5-utils/src/ckeditorerror.ts"),a=s("./node_modules/lodash-es/_baseIsEqual.js");const c=function(e,t){return(0,a.Z)(e,t)};class l extends o.Z{constructor(e,t,s,o,i){super(i),this.range=e.clone(),this.key=t,this.oldValue=void 0===s?null:s,this.newValue=void 0===o?null:o}get type(){return null===this.oldValue?"addAttribute":null===this.newValue?"removeAttribute":"changeAttribute"}clone(){return new l(this.range,this.key,this.oldValue,this.newValue,this.baseVersion)}getReversed(){return new l(this.range,this.key,this.newValue,this.oldValue,this.baseVersion+1)}toJSON(){const e=super.toJSON();return e.range=this.range.toJSON(),e}_validate(){if(!this.range.isFlat)throw new n.ZP("attribute-operation-range-not-flat",this);for(const e of this.range.getItems({shallow:!0})){if(null!==this.oldValue&&!c(e.getAttribute(this.key),this.oldValue))throw new n.ZP("attribute-operation-wrong-old-value",this,{item:e,key:this.key,value:this.oldValue});if(null===this.oldValue&&null!==this.newValue&&e.hasAttribute(this.key))throw new n.ZP("attribute-operation-attribute-exists",this,{node:e,key:this.key})}}_execute(){c(this.oldValue,this.newValue)||(0,i.pX)(this.range,this.key,this.newValue)}static get className(){return"AttributeOperation"}static fromJSON(e,t){return new l(r.Z.fromJSON(e.range,t),e.key,e.oldValue,e.newValue,e.baseVersion)}}},"./packages/ckeditor5-engine/src/model/operation/insertoperation.ts":(e,t,s)=>{"use strict";s.d(t,{Z:()=>h});var o=s("./packages/ckeditor5-engine/src/model/operation/operation.ts"),i=s("./packages/ckeditor5-engine/src/model/position.ts"),r=s("./packages/ckeditor5-engine/src/model/nodelist.ts"),n=s("./packages/ckeditor5-engine/src/model/operation/moveoperation.ts"),a=s("./packages/ckeditor5-engine/src/model/operation/utils.ts"),c=s("./packages/ckeditor5-engine/src/model/text.ts"),l=s("./packages/ckeditor5-engine/src/model/element.ts"),d=s("./packages/ckeditor5-utils/src/ckeditorerror.ts");class h extends o.Z{constructor(e,t,s){super(s),this.position=e.clone(),this.position.stickiness="toNone",this.nodes=new r.Z((0,a.So)(t)),this.shouldReceiveAttributes=!1}get type(){return"insert"}get howMany(){return this.nodes.maxOffset}clone(){const e=new r.Z([...this.nodes].map((e=>e._clone(!0)))),t=new h(this.position,e,this.baseVersion);return t.shouldReceiveAttributes=this.shouldReceiveAttributes,t}getReversed(){const e=this.position.root.document.graveyard,t=new i.ZP(e,[0]);return new n.Z(this.position,this.nodes.maxOffset,t,this.baseVersion+1)}_validate(){const e=this.position.parent;if(!e||e.maxOffsete._clone(!0)))),(0,a.fj)(this.position,e)}toJSON(){const e=super.toJSON();return e.position=this.position.toJSON(),e.nodes=this.nodes.toJSON(),e}static get className(){return"InsertOperation"}static fromJSON(e,t){const s=[];for(const t of e.nodes)t.name?s.push(l.Z.fromJSON(t)):s.push(c.Z.fromJSON(t));const o=new h(i.ZP.fromJSON(e.position,t),s,e.baseVersion);return o.shouldReceiveAttributes=e.shouldReceiveAttributes,o}}},"./packages/ckeditor5-engine/src/model/operation/markeroperation.ts":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./packages/ckeditor5-engine/src/model/operation/operation.ts"),i=s("./packages/ckeditor5-engine/src/model/range.ts");class r extends o.Z{constructor(e,t,s,o,i,r){super(r),this.name=e,this.oldRange=t?t.clone():null,this.newRange=s?s.clone():null,this.affectsData=i,this._markers=o}get type(){return"marker"}clone(){return new r(this.name,this.oldRange,this.newRange,this._markers,this.affectsData,this.baseVersion)}getReversed(){return new r(this.name,this.newRange,this.oldRange,this._markers,this.affectsData,this.baseVersion+1)}_execute(){this.newRange?this._markers._set(this.name,this.newRange,!0,this.affectsData):this._markers._remove(this.name)}toJSON(){const e=super.toJSON();return this.oldRange&&(e.oldRange=this.oldRange.toJSON()),this.newRange&&(e.newRange=this.newRange.toJSON()),delete e._markers,e}static get className(){return"MarkerOperation"}static fromJSON(e,t){return new r(e.name,e.oldRange?i.Z.fromJSON(e.oldRange,t):null,e.newRange?i.Z.fromJSON(e.newRange,t):null,t.model.markers,e.affectsData,e.baseVersion)}}},"./packages/ckeditor5-engine/src/model/operation/mergeoperation.ts":(e,t,s)=>{"use strict";s.d(t,{Z:()=>l});var o=s("./packages/ckeditor5-engine/src/model/operation/operation.ts"),i=s("./packages/ckeditor5-engine/src/model/operation/splitoperation.ts"),r=s("./packages/ckeditor5-engine/src/model/position.ts"),n=s("./packages/ckeditor5-engine/src/model/range.ts"),a=s("./packages/ckeditor5-engine/src/model/operation/utils.ts"),c=s("./packages/ckeditor5-utils/src/ckeditorerror.ts");class l extends o.Z{constructor(e,t,s,o,i){super(i),this.sourcePosition=e.clone(),this.sourcePosition.stickiness="toPrevious",this.howMany=t,this.targetPosition=s.clone(),this.targetPosition.stickiness="toNext",this.graveyardPosition=o.clone()}get type(){return"merge"}get deletionPosition(){return new r.ZP(this.sourcePosition.root,this.sourcePosition.path.slice(0,-1))}get movedRange(){const e=this.sourcePosition.getShiftedBy(Number.POSITIVE_INFINITY);return new n.Z(this.sourcePosition,e)}clone(){return new l(this.sourcePosition,this.howMany,this.targetPosition,this.graveyardPosition,this.baseVersion)}getReversed(){const e=this.targetPosition._getTransformedByMergeOperation(this),t=this.sourcePosition.path.slice(0,-1),s=new r.ZP(this.sourcePosition.root,t)._getTransformedByMergeOperation(this);return new i.Z(e,this.howMany,s,this.graveyardPosition,this.baseVersion+1)}_validate(){const e=this.sourcePosition.parent,t=this.targetPosition.parent;if(!e.parent)throw new c.ZP("merge-operation-source-position-invalid",this);if(!t.parent)throw new c.ZP("merge-operation-target-position-invalid",this);if(this.howMany!=e.maxOffset)throw new c.ZP("merge-operation-how-many-invalid",this)}_execute(){const e=this.sourcePosition.parent,t=n.Z._createIn(e);(0,a.XF)(t,this.targetPosition),(0,a.XF)(n.Z._createOn(e),this.graveyardPosition)}toJSON(){const e=super.toJSON();return e.sourcePosition=e.sourcePosition.toJSON(),e.targetPosition=e.targetPosition.toJSON(),e.graveyardPosition=e.graveyardPosition.toJSON(),e}static get className(){return"MergeOperation"}static fromJSON(e,t){const s=r.ZP.fromJSON(e.sourcePosition,t),o=r.ZP.fromJSON(e.targetPosition,t),i=r.ZP.fromJSON(e.graveyardPosition,t);return new this(s,e.howMany,o,i,e.baseVersion)}}},"./packages/ckeditor5-engine/src/model/operation/moveoperation.ts":(e,t,s)=>{"use strict";s.d(t,{Z:()=>l});var o=s("./packages/ckeditor5-engine/src/model/operation/operation.ts"),i=s("./packages/ckeditor5-engine/src/model/position.ts"),r=s("./packages/ckeditor5-engine/src/model/range.ts"),n=s("./packages/ckeditor5-utils/src/ckeditorerror.ts"),a=s("./packages/ckeditor5-utils/src/comparearrays.ts"),c=s("./packages/ckeditor5-engine/src/model/operation/utils.ts");class l extends o.Z{constructor(e,t,s,o){super(o),this.sourcePosition=e.clone(),this.sourcePosition.stickiness="toNext",this.howMany=t,this.targetPosition=s.clone(),this.targetPosition.stickiness="toNone"}get type(){return"$graveyard"==this.targetPosition.root.rootName?"remove":"$graveyard"==this.sourcePosition.root.rootName?"reinsert":"move"}clone(){return new l(this.sourcePosition,this.howMany,this.targetPosition,this.baseVersion)}getMovedRangeStart(){return this.targetPosition._getTransformedByDeletion(this.sourcePosition,this.howMany)}getReversed(){const e=this.sourcePosition._getTransformedByInsertion(this.targetPosition,this.howMany);return new l(this.getMovedRangeStart(),this.howMany,e,this.baseVersion+1)}_validate(){const e=this.sourcePosition.parent,t=this.targetPosition.parent,s=this.sourcePosition.offset,o=this.targetPosition.offset;if(s+this.howMany>e.maxOffset)throw new n.ZP("move-operation-nodes-do-not-exist",this);if(e===t&&s=s&&this.targetPosition.path[e]{"use strict";s.d(t,{Z:()=>i});var o=s("./packages/ckeditor5-engine/src/model/operation/operation.ts");class i extends o.Z{get type(){return"noop"}clone(){return new i(this.baseVersion)}getReversed(){return new i(this.baseVersion+1)}_execute(){}static get className(){return"NoOperation"}}},"./packages/ckeditor5-engine/src/model/operation/operation.ts":(e,t,s)=>{"use strict";s.d(t,{Z:()=>o});class o{constructor(e){this.baseVersion=e,this.isDocumentOperation=null!==this.baseVersion,this.batch=null}_validate(){}toJSON(){const e=Object.assign({},this);return e.__className=this.constructor.className,delete e.batch,delete e.isDocumentOperation,e}static get className(){return"Operation"}static fromJSON(e,t){return new this(e.baseVersion)}}},"./packages/ckeditor5-engine/src/model/operation/operationfactory.ts":(e,t,s)=>{"use strict";s.d(t,{Z:()=>g});var o=s("./packages/ckeditor5-engine/src/model/operation/attributeoperation.ts"),i=s("./packages/ckeditor5-engine/src/model/operation/insertoperation.ts"),r=s("./packages/ckeditor5-engine/src/model/operation/markeroperation.ts"),n=s("./packages/ckeditor5-engine/src/model/operation/moveoperation.ts"),a=s("./packages/ckeditor5-engine/src/model/operation/nooperation.ts"),c=s("./packages/ckeditor5-engine/src/model/operation/operation.ts"),l=s("./packages/ckeditor5-engine/src/model/operation/renameoperation.ts"),d=s("./packages/ckeditor5-engine/src/model/operation/rootattributeoperation.ts"),h=s("./packages/ckeditor5-engine/src/model/operation/splitoperation.ts"),u=s("./packages/ckeditor5-engine/src/model/operation/mergeoperation.ts");const p={};p[o.Z.className]=o.Z,p[i.Z.className]=i.Z,p[r.Z.className]=r.Z,p[n.Z.className]=n.Z,p[a.Z.className]=a.Z,p[c.Z.className]=c.Z,p[l.Z.className]=l.Z,p[d.Z.className]=d.Z,p[h.Z.className]=h.Z,p[u.Z.className]=u.Z;class g{static fromJSON(e,t){return p[e.__className].fromJSON(e,t)}}},"./packages/ckeditor5-engine/src/model/operation/renameoperation.ts":(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});var o=s("./packages/ckeditor5-engine/src/model/operation/operation.ts"),i=s("./packages/ckeditor5-engine/src/model/element.ts"),r=s("./packages/ckeditor5-utils/src/ckeditorerror.ts"),n=s("./packages/ckeditor5-engine/src/model/position.ts");class a extends o.Z{constructor(e,t,s,o){super(o),this.position=e,this.position.stickiness="toNext",this.oldName=t,this.newName=s}get type(){return"rename"}clone(){return new a(this.position.clone(),this.oldName,this.newName,this.baseVersion)}getReversed(){return new a(this.position.clone(),this.newName,this.oldName,this.baseVersion+1)}_validate(){const e=this.position.nodeAfter;if(!(e instanceof i.Z))throw new r.ZP("rename-operation-wrong-position",this);if(e.name!==this.oldName)throw new r.ZP("rename-operation-wrong-name",this)}_execute(){this.position.nodeAfter.name=this.newName}toJSON(){const e=super.toJSON();return e.position=this.position.toJSON(),e}static get className(){return"RenameOperation"}static fromJSON(e,t){return new a(n.ZP.fromJSON(e.position,t),e.oldName,e.newName,e.baseVersion)}}},"./packages/ckeditor5-engine/src/model/operation/rootattributeoperation.ts":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./packages/ckeditor5-engine/src/model/operation/operation.ts"),i=s("./packages/ckeditor5-utils/src/ckeditorerror.ts");class r extends o.Z{constructor(e,t,s,o,i){super(i),this.root=e,this.key=t,this.oldValue=s,this.newValue=o}get type(){return null===this.oldValue?"addRootAttribute":null===this.newValue?"removeRootAttribute":"changeRootAttribute"}clone(){return new r(this.root,this.key,this.oldValue,this.newValue,this.baseVersion)}getReversed(){return new r(this.root,this.key,this.newValue,this.oldValue,this.baseVersion+1)}_validate(){if(this.root!=this.root.root||this.root.is("documentFragment"))throw new i.ZP("rootattribute-operation-not-a-root",this,{root:this.root,key:this.key});if(null!==this.oldValue&&this.root.getAttribute(this.key)!==this.oldValue)throw new i.ZP("rootattribute-operation-wrong-old-value",this,{root:this.root,key:this.key});if(null===this.oldValue&&null!==this.newValue&&this.root.hasAttribute(this.key))throw new i.ZP("rootattribute-operation-attribute-exists",this,{root:this.root,key:this.key})}_execute(){null!==this.newValue?this.root._setAttribute(this.key,this.newValue):this.root._removeAttribute(this.key)}toJSON(){const e=super.toJSON();return e.root=this.root.toJSON(),e}static get className(){return"RootAttributeOperation"}static fromJSON(e,t){if(!t.getRoot(e.root))throw new i.ZP("rootattribute-operation-fromjson-no-root",this,{rootName:e.root});return new r(t.getRoot(e.root),e.key,e.oldValue,e.newValue,e.baseVersion)}}},"./packages/ckeditor5-engine/src/model/operation/splitoperation.ts":(e,t,s)=>{"use strict";s.d(t,{Z:()=>l});var o=s("./packages/ckeditor5-engine/src/model/operation/operation.ts"),i=s("./packages/ckeditor5-engine/src/model/operation/mergeoperation.ts"),r=s("./packages/ckeditor5-engine/src/model/position.ts"),n=s("./packages/ckeditor5-engine/src/model/range.ts"),a=s("./packages/ckeditor5-engine/src/model/operation/utils.ts"),c=s("./packages/ckeditor5-utils/src/ckeditorerror.ts");class l extends o.Z{constructor(e,t,s,o,i){super(i),this.splitPosition=e.clone(),this.splitPosition.stickiness="toNext",this.howMany=t,this.insertionPosition=s,this.graveyardPosition=o?o.clone():null,this.graveyardPosition&&(this.graveyardPosition.stickiness="toNext")}get type(){return"split"}get moveTargetPosition(){const e=this.insertionPosition.path.slice();return e.push(0),new r.ZP(this.insertionPosition.root,e)}get movedRange(){const e=this.splitPosition.getShiftedBy(Number.POSITIVE_INFINITY);return new n.Z(this.splitPosition,e)}clone(){return new l(this.splitPosition,this.howMany,this.insertionPosition,this.graveyardPosition,this.baseVersion)}getReversed(){const e=this.splitPosition.root.document.graveyard,t=new r.ZP(e,[0]);return new i.Z(this.moveTargetPosition,this.howMany,this.splitPosition,t,this.baseVersion+1)}_validate(){const e=this.splitPosition.parent,t=this.splitPosition.offset;if(!e||e.maxOffset{"use strict";s.d(t,{R:()=>_});var o=s("./packages/ckeditor5-engine/src/model/operation/insertoperation.ts"),i=s("./packages/ckeditor5-engine/src/model/operation/attributeoperation.ts"),r=s("./packages/ckeditor5-engine/src/model/operation/renameoperation.ts"),n=s("./packages/ckeditor5-engine/src/model/operation/markeroperation.ts"),a=s("./packages/ckeditor5-engine/src/model/operation/moveoperation.ts"),c=s("./packages/ckeditor5-engine/src/model/operation/rootattributeoperation.ts"),l=s("./packages/ckeditor5-engine/src/model/operation/mergeoperation.ts"),d=s("./packages/ckeditor5-engine/src/model/operation/splitoperation.ts"),h=s("./packages/ckeditor5-engine/src/model/operation/nooperation.ts"),u=s("./packages/ckeditor5-engine/src/model/range.ts"),p=s("./packages/ckeditor5-engine/src/model/position.ts"),g=s("./packages/ckeditor5-utils/src/comparearrays.ts");const f=new Map;function m(e,t,s){let o=f.get(e);o||(o=new Map,f.set(e,o)),o.set(t,s)}function k(e){return[e]}function b(e,t,s={}){const o=function(e,t){const s=f.get(e);return s&&s.has(t)?s.get(t):k}(e.constructor,t.constructor);try{return o(e=e.clone(),t,s)}catch(e){throw e}}function _(e,t,s){e=e.slice(),t=t.slice();const o=new w(s.document,s.useRelations,s.forceWeakRemove);o.setOriginalOperations(e),o.setOriginalOperations(t);const i=o.originalOperations;if(0==e.length||0==t.length)return{operationsA:e,operationsB:t,originalOperations:i};const r=new WeakMap;for(const t of e)r.set(t,0);const n={nextBaseVersionA:e[e.length-1].baseVersion+1,nextBaseVersionB:t[t.length-1].baseVersion+1,originalOperationsACount:e.length,originalOperationsBCount:t.length};let a=0;for(;a{if(e.key===t.key&&e.range.start.hasSameParentAs(t.range.start)){const o=e.range.getDifference(t.range).map((t=>new i.Z(t,e.key,e.oldValue,e.newValue,0))),r=e.range.getIntersection(t.range);return r&&s.aIsStrong&&o.push(new i.Z(r,t.key,t.newValue,e.newValue,0)),0==o.length?[new h.Z(0)]:o}return[e]})),m(i.Z,o.Z,((e,t)=>{if(e.range.start.hasSameParentAs(t.position)&&e.range.containsPosition(t.position)){const s=e.range._getTransformedByInsertion(t.position,t.howMany,!t.shouldReceiveAttributes).map((t=>new i.Z(t,e.key,e.oldValue,e.newValue,e.baseVersion)));if(t.shouldReceiveAttributes){const o=Z(t,e.key,e.oldValue);o&&s.unshift(o)}return s}return e.range=e.range._getTransformedByInsertion(t.position,t.howMany,!1)[0],[e]})),m(i.Z,l.Z,((e,t)=>{const s=[];e.range.start.hasSameParentAs(t.deletionPosition)&&(e.range.containsPosition(t.deletionPosition)||e.range.start.isEqual(t.deletionPosition))&&s.push(u.Z._createFromPositionAndShift(t.graveyardPosition,1));const o=e.range._getTransformedByMergeOperation(t);return o.isCollapsed||s.push(o),s.map((t=>new i.Z(t,e.key,e.oldValue,e.newValue,e.baseVersion)))})),m(i.Z,a.Z,((e,t)=>function(e,t){const s=u.Z._createFromPositionAndShift(t.sourcePosition,t.howMany);let o=null,i=[];s.containsRange(e,!0)?o=e:e.start.hasSameParentAs(s.start)?(i=e.getDifference(s),o=e.getIntersection(s)):i=[e];const r=[];for(let e of i){e=e._getTransformedByDeletion(t.sourcePosition,t.howMany);const s=t.getMovedRangeStart(),o=e.start.hasSameParentAs(s),i=e._getTransformedByInsertion(s,t.howMany,o);r.push(...i)}o&&r.push(o._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany,!1)[0]);return r}(e.range,t).map((t=>new i.Z(t,e.key,e.oldValue,e.newValue,e.baseVersion))))),m(i.Z,d.Z,((e,t)=>{if(e.range.end.isEqual(t.insertionPosition))return t.graveyardPosition||e.range.end.offset++,[e];if(e.range.start.hasSameParentAs(t.splitPosition)&&e.range.containsPosition(t.splitPosition)){const s=e.clone();return s.range=new u.Z(t.moveTargetPosition.clone(),e.range.end._getCombined(t.splitPosition,t.moveTargetPosition)),e.range.end=t.splitPosition.clone(),e.range.end.stickiness="toPrevious",[e,s]}return e.range=e.range._getTransformedBySplitOperation(t),[e]})),m(o.Z,i.Z,((e,t)=>{const s=[e];if(e.shouldReceiveAttributes&&e.position.hasSameParentAs(t.range.start)&&t.range.containsPosition(e.position)){const o=Z(e,t.key,t.newValue);o&&s.push(o)}return s})),m(o.Z,o.Z,((e,t,s)=>(e.position.isEqual(t.position)&&s.aIsStrong||(e.position=e.position._getTransformedByInsertOperation(t)),[e]))),m(o.Z,a.Z,((e,t)=>(e.position=e.position._getTransformedByMoveOperation(t),[e]))),m(o.Z,d.Z,((e,t)=>(e.position=e.position._getTransformedBySplitOperation(t),[e]))),m(o.Z,l.Z,((e,t)=>(e.position=e.position._getTransformedByMergeOperation(t),[e]))),m(n.Z,o.Z,((e,t)=>(e.oldRange&&(e.oldRange=e.oldRange._getTransformedByInsertOperation(t)[0]),e.newRange&&(e.newRange=e.newRange._getTransformedByInsertOperation(t)[0]),[e]))),m(n.Z,n.Z,((e,t,s)=>{if(e.name==t.name){if(!s.aIsStrong)return[new h.Z(0)];e.oldRange=t.newRange?t.newRange.clone():null}return[e]})),m(n.Z,l.Z,((e,t)=>(e.oldRange&&(e.oldRange=e.oldRange._getTransformedByMergeOperation(t)),e.newRange&&(e.newRange=e.newRange._getTransformedByMergeOperation(t)),[e]))),m(n.Z,a.Z,((e,t,s)=>{if(e.oldRange&&(e.oldRange=u.Z._createFromRanges(e.oldRange._getTransformedByMoveOperation(t))),e.newRange){if(s.abRelation){const o=u.Z._createFromRanges(e.newRange._getTransformedByMoveOperation(t));if("left"==s.abRelation.side&&t.targetPosition.isEqual(e.newRange.start))return e.newRange.end=o.end,e.newRange.start.path=s.abRelation.path,[e];if("right"==s.abRelation.side&&t.targetPosition.isEqual(e.newRange.end))return e.newRange.start=o.start,e.newRange.end.path=s.abRelation.path,[e]}e.newRange=u.Z._createFromRanges(e.newRange._getTransformedByMoveOperation(t))}return[e]})),m(n.Z,d.Z,((e,t,s)=>{if(e.oldRange&&(e.oldRange=e.oldRange._getTransformedBySplitOperation(t)),e.newRange){if(s.abRelation){const o=e.newRange._getTransformedBySplitOperation(t);return e.newRange.start.isEqual(t.splitPosition)&&s.abRelation.wasStartBeforeMergedElement?e.newRange.start=p.ZP._createAt(t.insertionPosition):e.newRange.start.isEqual(t.splitPosition)&&!s.abRelation.wasInLeftElement&&(e.newRange.start=p.ZP._createAt(t.moveTargetPosition)),e.newRange.end.isEqual(t.splitPosition)&&s.abRelation.wasInRightElement?e.newRange.end=p.ZP._createAt(t.moveTargetPosition):e.newRange.end.isEqual(t.splitPosition)&&s.abRelation.wasEndBeforeMergedElement?e.newRange.end=p.ZP._createAt(t.insertionPosition):e.newRange.end=o.end,[e]}e.newRange=e.newRange._getTransformedBySplitOperation(t)}return[e]})),m(l.Z,o.Z,((e,t)=>(e.sourcePosition.hasSameParentAs(t.position)&&(e.howMany+=t.howMany),e.sourcePosition=e.sourcePosition._getTransformedByInsertOperation(t),e.targetPosition=e.targetPosition._getTransformedByInsertOperation(t),[e]))),m(l.Z,l.Z,((e,t,s)=>{if(e.sourcePosition.isEqual(t.sourcePosition)&&e.targetPosition.isEqual(t.targetPosition)){if(s.bWasUndone){const s=t.graveyardPosition.path.slice();return s.push(0),e.sourcePosition=new p.ZP(t.graveyardPosition.root,s),e.howMany=0,[e]}return[new h.Z(0)]}if(e.sourcePosition.isEqual(t.sourcePosition)&&!e.targetPosition.isEqual(t.targetPosition)&&!s.bWasUndone&&"splitAtSource"!=s.abRelation){const o="$graveyard"==e.targetPosition.root.rootName,i="$graveyard"==t.targetPosition.root.rootName,r=o&&!i;if(i&&!o||!r&&s.aIsStrong){const s=t.targetPosition._getTransformedByMergeOperation(t),o=e.targetPosition._getTransformedByMergeOperation(t);return[new a.Z(s,e.howMany,o,0)]}return[new h.Z(0)]}return e.sourcePosition.hasSameParentAs(t.targetPosition)&&(e.howMany+=t.howMany),e.sourcePosition=e.sourcePosition._getTransformedByMergeOperation(t),e.targetPosition=e.targetPosition._getTransformedByMergeOperation(t),e.graveyardPosition.isEqual(t.graveyardPosition)&&s.aIsStrong||(e.graveyardPosition=e.graveyardPosition._getTransformedByMergeOperation(t)),[e]})),m(l.Z,a.Z,((e,t,s)=>{const o=u.Z._createFromPositionAndShift(t.sourcePosition,t.howMany);return"remove"==t.type&&!s.bWasUndone&&!s.forceWeakRemove&&e.deletionPosition.hasSameParentAs(t.sourcePosition)&&o.containsPosition(e.sourcePosition)?[new h.Z(0)]:(e.sourcePosition.hasSameParentAs(t.targetPosition)&&(e.howMany+=t.howMany),e.sourcePosition.hasSameParentAs(t.sourcePosition)&&(e.howMany-=t.howMany),e.sourcePosition=e.sourcePosition._getTransformedByMoveOperation(t),e.targetPosition=e.targetPosition._getTransformedByMoveOperation(t),e.graveyardPosition.isEqual(t.targetPosition)||(e.graveyardPosition=e.graveyardPosition._getTransformedByMoveOperation(t)),[e])})),m(l.Z,d.Z,((e,t,s)=>{if(t.graveyardPosition&&(e.graveyardPosition=e.graveyardPosition._getTransformedByDeletion(t.graveyardPosition,1),e.deletionPosition.isEqual(t.graveyardPosition)&&(e.howMany=t.howMany)),e.targetPosition.isEqual(t.splitPosition)){const o=0!=t.howMany,i=t.graveyardPosition&&e.deletionPosition.isEqual(t.graveyardPosition);if(o||i||"mergeTargetNotMoved"==s.abRelation)return e.sourcePosition=e.sourcePosition._getTransformedBySplitOperation(t),[e]}if(e.sourcePosition.isEqual(t.splitPosition)){if("mergeSourceNotMoved"==s.abRelation)return e.howMany=0,e.targetPosition=e.targetPosition._getTransformedBySplitOperation(t),[e];if("mergeSameElement"==s.abRelation||e.sourcePosition.offset>0)return e.sourcePosition=t.moveTargetPosition.clone(),e.targetPosition=e.targetPosition._getTransformedBySplitOperation(t),[e]}return e.sourcePosition.hasSameParentAs(t.splitPosition)&&(e.howMany=t.splitPosition.offset),e.sourcePosition=e.sourcePosition._getTransformedBySplitOperation(t),e.targetPosition=e.targetPosition._getTransformedBySplitOperation(t),[e]})),m(a.Z,o.Z,((e,t)=>{const s=u.Z._createFromPositionAndShift(e.sourcePosition,e.howMany)._getTransformedByInsertOperation(t,!1)[0];return e.sourcePosition=s.start,e.howMany=s.end.offset-s.start.offset,e.targetPosition.isEqual(t.position)||(e.targetPosition=e.targetPosition._getTransformedByInsertOperation(t)),[e]})),m(a.Z,a.Z,((e,t,s)=>{const o=u.Z._createFromPositionAndShift(e.sourcePosition,e.howMany),i=u.Z._createFromPositionAndShift(t.sourcePosition,t.howMany);let r,n=s.aIsStrong,a=!s.aIsStrong;if("insertBefore"==s.abRelation||"insertAfter"==s.baRelation?a=!0:"insertAfter"!=s.abRelation&&"insertBefore"!=s.baRelation||(a=!1),r=e.targetPosition.isEqual(t.targetPosition)&&a?e.targetPosition._getTransformedByDeletion(t.sourcePosition,t.howMany):e.targetPosition._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany),P(e,t)&&P(t,e))return[t.getReversed()];if(o.containsPosition(t.targetPosition)&&o.containsRange(i,!0))return o.start=o.start._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany),o.end=o.end._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany),x([o],r);if(i.containsPosition(e.targetPosition)&&i.containsRange(o,!0))return o.start=o.start._getCombined(t.sourcePosition,t.getMovedRangeStart()),o.end=o.end._getCombined(t.sourcePosition,t.getMovedRangeStart()),x([o],r);const c=(0,g.Z)(e.sourcePosition.getParentPath(),t.sourcePosition.getParentPath());if("prefix"==c||"extension"==c)return o.start=o.start._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany),o.end=o.end._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany),x([o],r);"remove"!=e.type||"remove"==t.type||s.aWasUndone||s.forceWeakRemove?"remove"==e.type||"remove"!=t.type||s.bWasUndone||s.forceWeakRemove||(n=!1):n=!0;const l=[],d=o.getDifference(i);for(const e of d){e.start=e.start._getTransformedByDeletion(t.sourcePosition,t.howMany),e.end=e.end._getTransformedByDeletion(t.sourcePosition,t.howMany);const s="same"==(0,g.Z)(e.start.getParentPath(),t.getMovedRangeStart().getParentPath()),o=e._getTransformedByInsertion(t.getMovedRangeStart(),t.howMany,s);l.push(...o)}const p=o.getIntersection(i);return null!==p&&n&&(p.start=p.start._getCombined(t.sourcePosition,t.getMovedRangeStart()),p.end=p.end._getCombined(t.sourcePosition,t.getMovedRangeStart()),0===l.length?l.push(p):1==l.length?i.start.isBefore(o.start)||i.start.isEqual(o.start)?l.unshift(p):l.push(p):l.splice(1,0,p)),0===l.length?[new h.Z(e.baseVersion)]:x(l,r)})),m(a.Z,d.Z,((e,t,s)=>{let o=e.targetPosition.clone();e.targetPosition.isEqual(t.insertionPosition)&&t.graveyardPosition&&"moveTargetAfter"!=s.abRelation||(o=e.targetPosition._getTransformedBySplitOperation(t));const i=u.Z._createFromPositionAndShift(e.sourcePosition,e.howMany);if(i.end.isEqual(t.insertionPosition))return t.graveyardPosition||e.howMany++,e.targetPosition=o,[e];if(i.start.hasSameParentAs(t.splitPosition)&&i.containsPosition(t.splitPosition)){let e=new u.Z(t.splitPosition,i.end);e=e._getTransformedBySplitOperation(t);return x([new u.Z(i.start,t.splitPosition),e],o)}e.targetPosition.isEqual(t.splitPosition)&&"insertAtSource"==s.abRelation&&(o=t.moveTargetPosition),e.targetPosition.isEqual(t.insertionPosition)&&"insertBetween"==s.abRelation&&(o=e.targetPosition);const r=[i._getTransformedBySplitOperation(t)];if(t.graveyardPosition){const o=i.start.isEqual(t.graveyardPosition)||i.containsPosition(t.graveyardPosition);e.howMany>1&&o&&!s.aWasUndone&&r.push(u.Z._createFromPositionAndShift(t.insertionPosition,1))}return x(r,o)})),m(a.Z,l.Z,((e,t,s)=>{const o=u.Z._createFromPositionAndShift(e.sourcePosition,e.howMany);if(t.deletionPosition.hasSameParentAs(e.sourcePosition)&&o.containsPosition(t.sourcePosition))if("remove"!=e.type||s.forceWeakRemove){if(1==e.howMany)return s.bWasUndone?(e.sourcePosition=t.graveyardPosition.clone(),e.targetPosition=e.targetPosition._getTransformedByMergeOperation(t),[e]):[new h.Z(0)]}else if(!s.aWasUndone){const s=[];let o=t.graveyardPosition.clone(),i=t.targetPosition._getTransformedByMergeOperation(t);e.howMany>1&&(s.push(new a.Z(e.sourcePosition,e.howMany-1,e.targetPosition,0)),o=o._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany-1),i=i._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany-1));const r=t.deletionPosition._getCombined(e.sourcePosition,e.targetPosition),n=new a.Z(o,1,r,0),c=n.getMovedRangeStart().path.slice();c.push(0);const l=new p.ZP(n.targetPosition.root,c);i=i._getTransformedByMove(o,r,1);const d=new a.Z(i,t.howMany,l,0);return s.push(n),s.push(d),s}const i=u.Z._createFromPositionAndShift(e.sourcePosition,e.howMany)._getTransformedByMergeOperation(t);return e.sourcePosition=i.start,e.howMany=i.end.offset-i.start.offset,e.targetPosition=e.targetPosition._getTransformedByMergeOperation(t),[e]})),m(r.Z,o.Z,((e,t)=>(e.position=e.position._getTransformedByInsertOperation(t),[e]))),m(r.Z,l.Z,((e,t)=>e.position.isEqual(t.deletionPosition)?(e.position=t.graveyardPosition.clone(),e.position.stickiness="toNext",[e]):(e.position=e.position._getTransformedByMergeOperation(t),[e]))),m(r.Z,a.Z,((e,t)=>(e.position=e.position._getTransformedByMoveOperation(t),[e]))),m(r.Z,r.Z,((e,t,s)=>{if(e.position.isEqual(t.position)){if(!s.aIsStrong)return[new h.Z(0)];e.oldName=t.newName}return[e]})),m(r.Z,d.Z,((e,t)=>{const s=e.position.path,o=t.splitPosition.getParentPath();if("same"==(0,g.Z)(s,o)&&!t.graveyardPosition){const t=new r.Z(e.position.getShiftedBy(1),e.oldName,e.newName,0);return[e,t]}return e.position=e.position._getTransformedBySplitOperation(t),[e]})),m(c.Z,c.Z,((e,t,s)=>{if(e.root===t.root&&e.key===t.key){if(!s.aIsStrong||e.newValue===t.newValue)return[new h.Z(0)];e.oldValue=t.newValue}return[e]})),m(d.Z,o.Z,((e,t)=>(e.splitPosition.hasSameParentAs(t.position)&&e.splitPosition.offset{if(!e.graveyardPosition&&!s.bWasUndone&&e.splitPosition.hasSameParentAs(t.sourcePosition)){const s=t.graveyardPosition.path.slice();s.push(0);const o=new p.ZP(t.graveyardPosition.root,s),i=d.Z.getInsertionPosition(new p.ZP(t.graveyardPosition.root,s)),r=new d.Z(o,0,i,null,0);return e.splitPosition=e.splitPosition._getTransformedByMergeOperation(t),e.insertionPosition=d.Z.getInsertionPosition(e.splitPosition),e.graveyardPosition=r.insertionPosition.clone(),e.graveyardPosition.stickiness="toNext",[r,e]}return e.splitPosition.hasSameParentAs(t.deletionPosition)&&!e.splitPosition.isAfter(t.deletionPosition)&&e.howMany--,e.splitPosition.hasSameParentAs(t.targetPosition)&&(e.howMany+=t.howMany),e.splitPosition=e.splitPosition._getTransformedByMergeOperation(t),e.insertionPosition=d.Z.getInsertionPosition(e.splitPosition),e.graveyardPosition&&(e.graveyardPosition=e.graveyardPosition._getTransformedByMergeOperation(t)),[e]})),m(d.Z,a.Z,((e,t,s)=>{const o=u.Z._createFromPositionAndShift(t.sourcePosition,t.howMany);if(e.graveyardPosition){const i=o.start.isEqual(e.graveyardPosition)||o.containsPosition(e.graveyardPosition);if(!s.bWasUndone&&i){const s=e.splitPosition._getTransformedByMoveOperation(t),o=e.graveyardPosition._getTransformedByMoveOperation(t),i=o.path.slice();i.push(0);const r=new p.ZP(o.root,i);return[new a.Z(s,e.howMany,r,0)]}e.graveyardPosition=e.graveyardPosition._getTransformedByMoveOperation(t)}const i=e.splitPosition.isEqual(t.targetPosition);if(i&&("insertAtSource"==s.baRelation||"splitBefore"==s.abRelation))return e.howMany+=t.howMany,e.splitPosition=e.splitPosition._getTransformedByDeletion(t.sourcePosition,t.howMany),e.insertionPosition=d.Z.getInsertionPosition(e.splitPosition),[e];if(i&&s.abRelation&&s.abRelation.howMany){const{howMany:t,offset:o}=s.abRelation;return e.howMany+=t,e.splitPosition=e.splitPosition.getShiftedBy(o),[e]}if(e.splitPosition.hasSameParentAs(t.sourcePosition)&&o.containsPosition(e.splitPosition)){const s=t.howMany-(e.splitPosition.offset-t.sourcePosition.offset);return e.howMany-=s,e.splitPosition.hasSameParentAs(t.targetPosition)&&e.splitPosition.offset{if(e.splitPosition.isEqual(t.splitPosition)){if(!e.graveyardPosition&&!t.graveyardPosition)return[new h.Z(0)];if(e.graveyardPosition&&t.graveyardPosition&&e.graveyardPosition.isEqual(t.graveyardPosition))return[new h.Z(0)];if("splitBefore"==s.abRelation)return e.howMany=0,e.graveyardPosition=e.graveyardPosition._getTransformedBySplitOperation(t),[e]}if(e.graveyardPosition&&t.graveyardPosition&&e.graveyardPosition.isEqual(t.graveyardPosition)){const o="$graveyard"==e.splitPosition.root.rootName,i="$graveyard"==t.splitPosition.root.rootName,r=o&&!i;if(i&&!o||!r&&s.aIsStrong){const s=[];return t.howMany&&s.push(new a.Z(t.moveTargetPosition,t.howMany,t.splitPosition,0)),e.howMany&&s.push(new a.Z(e.splitPosition,e.howMany,e.moveTargetPosition,0)),s}return[new h.Z(0)]}if(e.graveyardPosition&&(e.graveyardPosition=e.graveyardPosition._getTransformedBySplitOperation(t)),e.splitPosition.isEqual(t.insertionPosition)&&"splitBefore"==s.abRelation)return e.howMany++,[e];if(t.splitPosition.isEqual(e.insertionPosition)&&"splitBefore"==s.baRelation){const s=t.insertionPosition.path.slice();s.push(0);const o=new p.ZP(t.insertionPosition.root,s);return[e,new a.Z(e.insertionPosition,1,o,0)]}return e.splitPosition.hasSameParentAs(t.splitPosition)&&e.splitPosition.offset{"use strict";s.d(t,{So:()=>p,X9:()=>d,XF:()=>h,fj:()=>l,pX:()=>u});var o=s("./packages/ckeditor5-engine/src/model/node.ts"),i=s("./packages/ckeditor5-engine/src/model/range.ts"),r=s("./packages/ckeditor5-engine/src/model/text.ts"),n=s("./packages/ckeditor5-engine/src/model/textproxy.ts"),a=s("./packages/ckeditor5-utils/src/ckeditorerror.ts"),c=s("./packages/ckeditor5-utils/src/isiterable.ts");function l(e,t){const s=p(t),o=s.reduce(((e,t)=>e+t.offsetSize),0),r=e.parent;f(e);const n=e.index;return r._insertChild(n,s),g(r,n+s.length),g(r,n),new i.Z(e,e.getShiftedBy(o))}function d(e){if(!e.isFlat)throw new a.ZP("operation-utils-remove-range-not-flat",this);const t=e.start.parent;f(e.start),f(e.end);const s=t._removeChildren(e.start.index,e.end.index-e.start.index);return g(t,e.start.index),s}function h(e,t){if(!e.isFlat)throw new a.ZP("operation-utils-move-range-not-flat",this);const s=d(e);return l(t=t._getTransformedByDeletion(e.start,e.end.offset-e.start.offset),s)}function u(e,t,s){f(e.start),f(e.end);for(const o of e.getItems({shallow:!0})){const e=o.is("$textProxy")?o.textNode:o;null!==s?e._setAttribute(t,s):e._removeAttribute(t),g(e.parent,e.index)}g(e.end.parent,e.end.index)}function p(e){const t=[];!function e(s){if("string"==typeof s)t.push(new r.Z(s));else if(s instanceof n.Z)t.push(new r.Z(s.data,s.getAttributes()));else if(s instanceof o.Z)t.push(s);else if((0,c.Z)(s))for(const t of s)e(t)}(e);for(let e=1;e{"use strict";s.d(t,{Rt:()=>c,Ux:()=>l,YV:()=>d,ZP:()=>a});var o=s("./packages/ckeditor5-engine/src/model/typecheckable.ts"),i=s("./packages/ckeditor5-engine/src/model/treewalker.ts"),r=s("./packages/ckeditor5-utils/src/comparearrays.ts"),n=s("./packages/ckeditor5-utils/src/ckeditorerror.ts");s("./packages/ckeditor5-utils/src/version.ts");class a extends o.Z{constructor(e,t,s="toNone"){if(super(),!e.is("element")&&!e.is("documentFragment"))throw new n.ZP("model-position-root-invalid",e);if(!(t instanceof Array)||0===t.length)throw new n.ZP("model-position-path-incorrect-format",e,{path:t});e.is("rootElement")?t=t.slice():(t=[...e.getPath(),...t],e=e.root),this.root=e,this.path=t,this.stickiness=s}get offset(){return this.path[this.path.length-1]}set offset(e){this.path[this.path.length-1]=e}get parent(){let e=this.root;for(let t=0;ts.path.length){if(t.offset!==o.maxOffset)return!1;t.path=t.path.slice(0,-1),o=o.parent,t.offset++}else{if(0!==s.offset)return!1;s.path=s.path.slice(0,-1)}}throw new Error("unreachable code")}hasSameParentAs(e){if(this.root!==e.root)return!1;const t=this.getParentPath(),s=e.getParentPath();return"same"==(0,r.Z)(t,s)}getTransformedByOperation(e){let t;switch(e.type){case"insert":t=this._getTransformedByInsertOperation(e);break;case"move":case"remove":case"reinsert":t=this._getTransformedByMoveOperation(e);break;case"split":t=this._getTransformedBySplitOperation(e);break;case"merge":t=this._getTransformedByMergeOperation(e);break;default:t=a._createAt(this)}return t}_getTransformedByInsertOperation(e){return this._getTransformedByInsertion(e.position,e.howMany)}_getTransformedByMoveOperation(e){return this._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany)}_getTransformedBySplitOperation(e){const t=e.movedRange;return t.containsPosition(this)||t.start.isEqual(this)&&"toNext"==this.stickiness?this._getCombined(e.splitPosition,e.moveTargetPosition):e.graveyardPosition?this._getTransformedByMove(e.graveyardPosition,e.insertionPosition,1):this._getTransformedByInsertion(e.insertionPosition,1)}_getTransformedByMergeOperation(e){const t=e.movedRange;let s;return t.containsPosition(this)||t.start.isEqual(this)?(s=this._getCombined(e.sourcePosition,e.targetPosition),e.sourcePosition.isBefore(e.targetPosition)&&(s=s._getTransformedByDeletion(e.deletionPosition,1))):s=this.isEqual(e.deletionPosition)?a._createAt(e.deletionPosition):this._getTransformedByMove(e.deletionPosition,e.graveyardPosition,1),s}_getTransformedByDeletion(e,t){const s=a._createAt(this);if(this.root!=e.root)return s;if("same"==(0,r.Z)(e.getParentPath(),this.getParentPath())){if(e.offsetthis.offset)return null;s.offset-=t}}else if("prefix"==(0,r.Z)(e.getParentPath(),this.getParentPath())){const o=e.path.length-1;if(e.offset<=this.path[o]){if(e.offset+t>this.path[o])return null;s.path[o]-=t}}return s}_getTransformedByInsertion(e,t){const s=a._createAt(this);if(this.root!=e.root)return s;if("same"==(0,r.Z)(e.getParentPath(),this.getParentPath()))(e.offset{"use strict";s.d(t,{Z:()=>c});var o=s("./packages/ckeditor5-engine/src/model/typecheckable.ts"),i=s("./packages/ckeditor5-engine/src/model/position.ts"),r=s("./packages/ckeditor5-engine/src/model/treewalker.ts"),n=s("./packages/ckeditor5-utils/src/ckeditorerror.ts"),a=s("./packages/ckeditor5-utils/src/comparearrays.ts");class c extends o.Z{constructor(e,t){super(),this.start=i.ZP._createAt(e),this.end=t?i.ZP._createAt(t):i.ZP._createAt(e),this.start.stickiness=this.isCollapsed?"toNone":"toNext",this.end.stickiness=this.isCollapsed?"toNone":"toPrevious"}*[Symbol.iterator](){yield*new r.Z({boundaries:this,ignoreElementEnd:!0})}get isCollapsed(){return this.start.isEqual(this.end)}get isFlat(){const e=this.start.getParentPath(),t=this.end.getParentPath();return"same"==(0,a.Z)(e,t)}get root(){return this.start.root}containsPosition(e){return e.isAfter(this.start)&&e.isBefore(this.end)}containsRange(e,t=!1){e.isCollapsed&&(t=!1);const s=this.containsPosition(e.start)||t&&this.start.isEqual(e.start),o=this.containsPosition(e.end)||t&&this.end.isEqual(e.end);return s&&o}containsItem(e){const t=i.ZP._createBefore(e);return this.containsPosition(t)||this.start.isEqual(t)}isEqual(e){return this.start.isEqual(e.start)&&this.end.isEqual(e.end)}isIntersecting(e){return this.start.isBefore(e.end)&&this.end.isAfter(e.start)}getDifference(e){const t=[];return this.isIntersecting(e)?(this.containsPosition(e.start)&&t.push(new c(this.start,e.start)),this.containsPosition(e.end)&&t.push(new c(e.end,this.end))):t.push(new c(this.start,this.end)),t}getIntersection(e){if(this.isIntersecting(e)){let t=this.start,s=this.end;return this.containsPosition(e.start)&&(t=e.start),this.containsPosition(e.end)&&(s=e.end),new c(t,s)}return null}getJoined(e,t=!1){let s=this.isIntersecting(e);if(s||(s=this.start.isBefore(e.start)?t?this.end.isTouching(e.start):this.end.isEqual(e.start):t?e.end.isTouching(this.start):e.end.isEqual(this.start)),!s)return null;let o=this.start,i=this.end;return e.start.isBefore(o)&&(o=e.start),e.end.isAfter(i)&&(i=e.end),new c(o,i)}getMinimalFlatRanges(){const e=[],t=this.start.getCommonPath(this.end).length,s=i.ZP._createAt(this.start);let o=s.parent;for(;s.path.length>t+1;){const t=o.maxOffset-s.offset;0!==t&&e.push(new c(s,s.getShiftedBy(t))),s.path=s.path.slice(0,-1),s.offset++,o=o.parent}for(;s.path.length<=this.end.path.length;){const t=this.end.path[s.path.length-1],o=t-s.offset;0!==o&&e.push(new c(s,s.getShiftedBy(o))),s.offset=t,s.path.push(0)}return e}getWalker(e={}){return e.boundaries=this,new r.Z(e)}*getItems(e={}){e.boundaries=this,e.ignoreElementEnd=!0;const t=new r.Z(e);for(const e of t)yield e.item}*getPositions(e={}){e.boundaries=this;const t=new r.Z(e);yield t.position;for(const e of t)yield e.nextPosition}getTransformedByOperation(e){switch(e.type){case"insert":return this._getTransformedByInsertOperation(e);case"move":case"remove":case"reinsert":return this._getTransformedByMoveOperation(e);case"split":return[this._getTransformedBySplitOperation(e)];case"merge":return[this._getTransformedByMergeOperation(e)]}return[new c(this.start,this.end)]}getTransformedByOperations(e){const t=[new c(this.start,this.end)];for(const s of e)for(let e=0;e0?new this(s,o):new this(o,s)}static _createIn(e){return new this(i.ZP._createAt(e,0),i.ZP._createAt(e,e.maxOffset))}static _createOn(e){return this._createFromPositionAndShift(i.ZP._createBefore(e),e.offsetSize)}static _createFromRanges(e){if(0===e.length)throw new n.ZP("range-create-from-ranges-empty-array",null);if(1==e.length)return e[0].clone();const t=e[0];e.sort(((e,t)=>e.start.isAfter(t.start)?1:-1));const s=e.indexOf(t),o=new this(t.start,t.end);if(s>0)for(let t=s-1;e[t].end.isEqual(o.start);t++)o.start=i.ZP._createAt(e[t].start);for(let t=s+1;t{"use strict";s.d(t,{G:()=>h,Z:()=>d});var o=s("./packages/ckeditor5-engine/src/model/element.ts"),i=s("./packages/ckeditor5-engine/src/model/position.ts"),r=s("./packages/ckeditor5-engine/src/model/range.ts"),n=s("./packages/ckeditor5-engine/src/model/text.ts"),a=s("./packages/ckeditor5-engine/src/model/treewalker.ts"),c=s("./packages/ckeditor5-utils/src/ckeditorerror.ts"),l=s("./packages/ckeditor5-utils/src/observablemixin.ts");class d extends l.y{constructor(){super(),this._sourceDefinitions={},this._attributeProperties={},this.decorate("checkChild"),this.decorate("checkAttribute"),this.on("checkAttribute",((e,t)=>{t[0]=new h(t[0])}),{priority:"highest"}),this.on("checkChild",((e,t)=>{t[0]=new h(t[0]),t[1]=this.getDefinition(t[1])}),{priority:"highest"})}register(e,t){if(this._sourceDefinitions[e])throw new c.ZP("schema-cannot-register-item-twice",this,{itemName:e});this._sourceDefinitions[e]=[Object.assign({},t)],this._clearCache()}extend(e,t){if(!this._sourceDefinitions[e])throw new c.ZP("schema-cannot-extend-missing-item",this,{itemName:e});this._sourceDefinitions[e].push(Object.assign({},t)),this._clearCache()}getDefinitions(){return this._compiledDefinitions||this._compile(),this._compiledDefinitions}getDefinition(e){let t;return t="string"==typeof e?e:"is"in e&&(e.is("$text")||e.is("$textProxy"))?"$text":e.name,this.getDefinitions()[t]}isRegistered(e){return!!this.getDefinition(e)}isBlock(e){const t=this.getDefinition(e);return!(!t||!t.isBlock)}isLimit(e){const t=this.getDefinition(e);return!!t&&!(!t.isLimit&&!t.isObject)}isObject(e){const t=this.getDefinition(e);return!!t&&!!(t.isObject||t.isLimit&&t.isSelectable&&t.isContent)}isInline(e){const t=this.getDefinition(e);return!(!t||!t.isInline)}isSelectable(e){const t=this.getDefinition(e);return!!t&&!(!t.isSelectable&&!t.isObject)}isContent(e){const t=this.getDefinition(e);return!!t&&!(!t.isContent&&!t.isObject)}checkChild(e,t){return!!t&&this._checkContextMatch(t,e)}checkAttribute(e,t){const s=this.getDefinition(e.last);return!!s&&s.allowAttributes.includes(t)}checkMerge(e,t){if(e instanceof i.ZP){const t=e.nodeBefore,s=e.nodeAfter;if(!(t instanceof o.Z))throw new c.ZP("schema-check-merge-no-element-before",this);if(!(s instanceof o.Z))throw new c.ZP("schema-check-merge-no-element-after",this);return this.checkMerge(t,s)}for(const s of t.getChildren())if(!this.checkChild(e,s))return!1;return!0}addChildCheck(e){this.on("checkChild",((t,[s,o])=>{if(!o)return;const i=e(s,o);"boolean"==typeof i&&(t.stop(),t.return=i)}),{priority:"high"})}addAttributeCheck(e){this.on("checkAttribute",((t,[s,o])=>{const i=e(s,o);"boolean"==typeof i&&(t.stop(),t.return=i)}),{priority:"high"})}setAttributeProperties(e,t){this._attributeProperties[e]=Object.assign(this.getAttributeProperties(e),t)}getAttributeProperties(e){return this._attributeProperties[e]||{}}getLimitElement(e){let t;if(e instanceof i.ZP)t=e.parent;else{t=(e instanceof r.Z?[e]:Array.from(e.getRanges())).reduce(((e,t)=>{const s=t.getCommonAncestor();return e?e.getCommonAncestor(s,{includeSelf:!0}):s}),null)}for(;!this.isLimit(t)&&t.parent;)t=t.parent;return t}checkAttributeInSelection(e,t){if(e.isCollapsed){const s=[...e.getFirstPosition().getAncestors(),new n.Z("",e.getAttributes())];return this.checkAttribute(s,t)}{const s=e.getRanges();for(const e of s)for(const s of e)if(this.checkAttribute(s.item,t))return!0}return!1}*getValidRanges(e,t){e=function*(e){for(const t of e)yield*t.getMinimalFlatRanges()}(e);for(const s of e)yield*this._getValidRangesForRange(s,t)}getNearestSelectionRange(e,t="both"){if(this.checkChild(e,"$text"))return new r.Z(e);let s,o;const i=e.getAncestors().reverse().find((e=>this.isLimit(e)))||e.root;"both"!=t&&"backward"!=t||(s=new a.Z({boundaries:r.Z._createIn(i),startPosition:e,direction:"backward"})),"both"!=t&&"forward"!=t||(o=new a.Z({boundaries:r.Z._createIn(i),startPosition:e}));for(const e of function*(e,t){let s=!1;for(;!s;){if(s=!0,e){const t=e.next();t.done||(s=!1,yield{walker:e,value:t.value})}if(t){const e=t.next();e.done||(s=!1,yield{walker:t,value:e.value})}}}(s,o)){const t=e.walker==s?"elementEnd":"elementStart",o=e.value;if(o.type==t&&this.isObject(o.item))return r.Z._createOn(o.item);if(this.checkChild(o.nextPosition,"$text"))return new r.Z(o.nextPosition)}return null}findAllowedParent(e,t){let s=e.parent;for(;s;){if(this.checkChild(s,t))return s;if(this.isLimit(s))return null;s=s.parent}return null}setAllowedAttributes(e,t,s){const o=s.model;for(const[i,r]of Object.entries(t))o.schema.checkAttribute(e,i)&&s.setAttribute(i,r,e)}removeDisallowedAttributes(e,t){for(const s of e)if(s.is("$text"))P(this,s,t);else{const e=r.Z._createIn(s).getPositions();for(const s of e){P(this,s.nodeBefore||s.parent,t)}}}getAttributesWithProperty(e,t,s){const o={};for(const[i,r]of e.getAttributes()){const e=this.getAttributeProperties(i);void 0!==e[t]&&(void 0!==s&&s!==e[t]||(o[i]=r))}return o}createContext(e){return new h(e)}_clearCache(){this._compiledDefinitions=null}_compile(){const e={},t=this._sourceDefinitions,s=Object.keys(t);for(const o of s)e[o]=u(t[o],o);for(const t of s)p(e,t);for(const t of s)g(e,t);for(const t of s)f(e,t);for(const t of s)m(e,t),k(e,t);for(const t of s)b(e,t),_(e,t),w(e,t);this._compiledDefinitions=e}_checkContextMatch(e,t,s=t.length-1){const o=t.getItem(s);if(e.allowIn.includes(o.name)){if(0==s)return!0;{const e=this.getDefinition(o);return this._checkContextMatch(e,t,s-1)}}return!1}*_getValidRangesForRange(e,t){let s=e.start,o=e.start;for(const n of e.getItems({shallow:!0}))n.is("element")&&(yield*this._getValidRangesForRange(r.Z._createIn(n),t)),this.checkAttribute(n,t)||(s.isEqual(o)||(yield new r.Z(s,o)),s=i.ZP._createAfter(n)),o=i.ZP._createAfter(n);s.isEqual(o)||(yield new r.Z(s,o))}}class h{constructor(e){if(e instanceof h)return e;let t;t="string"==typeof e?[e]:Array.isArray(e)?e:e.getAncestors({includeSelf:!0}),this._items=t.map(Z)}get length(){return this._items.length}get last(){return this._items[this._items.length-1]}[Symbol.iterator](){return this._items[Symbol.iterator]()}push(e){const t=new h([e]);return t._items=[...this._items,...t._items],t}getItem(e){return this._items[e]}*getNames(){yield*this._items.map((e=>e.name))}endsWith(e){return Array.from(this.getNames()).join(" ").endsWith(e)}startsWith(e){return Array.from(this.getNames()).join(" ").startsWith(e)}}function u(e,t){const s={name:t,allowIn:[],allowContentOf:[],allowWhere:[],allowAttributes:[],allowAttributesOf:[],allowChildren:[],inheritTypesFrom:[]};return function(e,t){for(const s of e){const e=Object.keys(s).filter((e=>e.startsWith("is")));for(const o of e)t[o]=!!s[o]}}(e,s),v(e,s,"allowIn"),v(e,s,"allowContentOf"),v(e,s,"allowWhere"),v(e,s,"allowAttributes"),v(e,s,"allowAttributesOf"),v(e,s,"allowChildren"),v(e,s,"inheritTypesFrom"),function(e,t){for(const s of e){const e=s.inheritAllFrom;e&&(t.allowContentOf.push(e),t.allowWhere.push(e),t.allowAttributesOf.push(e),t.inheritTypesFrom.push(e))}}(e,s),s}function p(e,t){const s=e[t];for(const o of s.allowChildren){const s=e[o];s&&s.allowIn.push(t)}s.allowChildren.length=0}function g(e,t){for(const s of e[t].allowContentOf)if(e[s]){y(e,s).forEach((e=>{e.allowIn.push(t)}))}delete e[t].allowContentOf}function f(e,t){for(const s of e[t].allowWhere){const o=e[s];if(o){const s=o.allowIn;e[t].allowIn.push(...s)}}delete e[t].allowWhere}function m(e,t){for(const s of e[t].allowAttributesOf){const o=e[s];if(o){const s=o.allowAttributes;e[t].allowAttributes.push(...s)}}delete e[t].allowAttributesOf}function k(e,t){const s=e[t];for(const t of s.inheritTypesFrom){const o=e[t];if(o){const e=Object.keys(o).filter((e=>e.startsWith("is")));for(const t of e)t in s||(s[t]=o[t])}}delete s.inheritTypesFrom}function b(e,t){const s=e[t],o=s.allowIn.filter((t=>e[t]));s.allowIn=Array.from(new Set(o))}function _(e,t){const s=e[t];for(const o of s.allowIn){e[o].allowChildren.push(t)}}function w(e,t){const s=e[t];s.allowAttributes=Array.from(new Set(s.allowAttributes))}function v(e,t,s){for(const o of e){const e=o[s];"string"==typeof e?t[s].push(e):Array.isArray(e)&&t[s].push(...e)}}function y(e,t){const s=e[t];return(o=e,Object.keys(o).map((e=>o[e]))).filter((e=>e.allowIn.includes(s.name)));var o}function Z(e){return"string"==typeof e||e.is("documentFragment")?{name:"string"==typeof e?e:"$documentFragment",*getAttributeKeys(){},getAttribute(){}}:{name:e.is("element")?e.name:"$text",*getAttributeKeys(){yield*e.getAttributeKeys()},getAttribute:t=>e.getAttribute(t)}}function P(e,t,s){for(const o of t.getAttributeKeys())e.checkAttribute(t,o)||s.removeAttribute(o,t)}},"./packages/ckeditor5-engine/src/model/selection.ts":(e,t,s)=>{"use strict";s.d(t,{Z:()=>d});var o=s("./packages/ckeditor5-engine/src/model/typecheckable.ts"),i=s("./packages/ckeditor5-engine/src/model/node.ts"),r=s("./packages/ckeditor5-engine/src/model/position.ts"),n=s("./packages/ckeditor5-engine/src/model/range.ts"),a=s("./packages/ckeditor5-utils/src/ckeditorerror.ts"),c=s("./packages/ckeditor5-utils/src/emittermixin.ts"),l=s("./packages/ckeditor5-utils/src/isiterable.ts");class d extends((0,c.ZP)(o.Z)){constructor(...e){super(),this._lastRangeBackward=!1,this._ranges=[],this._attrs=new Map,e.length&&this.setTo(...e)}get anchor(){if(this._ranges.length>0){const e=this._ranges[this._ranges.length-1];return this._lastRangeBackward?e.end:e.start}return null}get focus(){if(this._ranges.length>0){const e=this._ranges[this._ranges.length-1];return this._lastRangeBackward?e.start:e.end}return null}get isCollapsed(){return 1===this._ranges.length&&this._ranges[0].isCollapsed}get rangeCount(){return this._ranges.length}get isBackward(){return!this.isCollapsed&&this._lastRangeBackward}isEqual(e){if(this.rangeCount!=e.rangeCount)return!1;if(0===this.rangeCount)return!0;if(!this.anchor.isEqual(e.anchor)||!this.focus.isEqual(e.focus))return!1;for(const t of this._ranges){let s=!1;for(const o of e._ranges)if(t.isEqual(o)){s=!0;break}if(!s)return!1}return!0}*getRanges(){for(const e of this._ranges)yield new n.Z(e.start,e.end)}getFirstRange(){let e=null;for(const t of this._ranges)e&&!t.start.isBefore(e.start)||(e=t);return e?new n.Z(e.start,e.end):null}getLastRange(){let e=null;for(const t of this._ranges)e&&!t.end.isAfter(e.end)||(e=t);return e?new n.Z(e.start,e.end):null}getFirstPosition(){const e=this.getFirstRange();return e?e.start.clone():null}getLastPosition(){const e=this.getLastRange();return e?e.end.clone():null}setTo(...e){let[t,s,o]=e;if("object"==typeof s&&(o=s,s=void 0),null===t)this._setRanges([]);else if(t instanceof d)this._setRanges(t.getRanges(),t.isBackward);else if(t&&"function"==typeof t.getRanges)this._setRanges(t.getRanges(),t.isBackward);else if(t instanceof n.Z)this._setRanges([t],!!o&&!!o.backward);else if(t instanceof r.ZP)this._setRanges([new n.Z(t)]);else if(t instanceof i.Z){const e=!!o&&!!o.backward;let i;if("in"==s)i=n.Z._createIn(t);else if("on"==s)i=n.Z._createOn(t);else{if(void 0===s)throw new a.ZP("model-selection-setto-required-second-parameter",[this,t]);i=new n.Z(r.ZP._createAt(t,s))}this._setRanges([i],e)}else{if(!(0,l.Z)(t))throw new a.ZP("model-selection-setto-not-selectable",[this,t]);this._setRanges(t,o&&!!o.backward)}}_setRanges(e,t=!1){const s=Array.from(e),o=s.some((t=>{if(!(t instanceof n.Z))throw new a.ZP("model-selection-set-ranges-not-range",[this,e]);return this._ranges.every((e=>!e.isEqual(t)))}));(s.length!==this._ranges.length||o)&&(this._replaceAllRanges(s),this._lastRangeBackward=!!t,this.fire("change:range",{directChange:!0}))}setFocus(e,t){if(null===this.anchor)throw new a.ZP("model-selection-setfocus-no-ranges",[this,e]);const s=r.ZP._createAt(e,t);if("same"==s.compareWith(this.focus))return;const o=this.anchor;this._ranges.length&&this._popRange(),"before"==s.compareWith(o)?(this._pushRange(new n.Z(s,o)),this._lastRangeBackward=!0):(this._pushRange(new n.Z(o,s)),this._lastRangeBackward=!1),this.fire("change:range",{directChange:!0})}getAttribute(e){return this._attrs.get(e)}getAttributes(){return this._attrs.entries()}getAttributeKeys(){return this._attrs.keys()}hasAttribute(e){return this._attrs.has(e)}removeAttribute(e){this.hasAttribute(e)&&(this._attrs.delete(e),this.fire("change:attribute",{attributeKeys:[e],directChange:!0}))}setAttribute(e,t){this.getAttribute(e)!==t&&(this._attrs.set(e,t),this.fire("change:attribute",{attributeKeys:[e],directChange:!0}))}getSelectedElement(){return 1!==this.rangeCount?null:this.getFirstRange().getContainedElement()}*getSelectedBlocks(){const e=new WeakSet;for(const t of this.getRanges()){const s=p(t.start,e);s&&g(s,t)&&(yield s);for(const s of t.getWalker()){const o=s.item;"elementEnd"==s.type&&u(o,e,t)&&(yield o)}const o=p(t.end,e);o&&!t.end.isTouching(r.ZP._createAt(o,0))&&g(o,t)&&(yield o)}}containsEntireContent(e=this.anchor.root){const t=r.ZP._createAt(e,0),s=r.ZP._createAt(e,"end");return t.isTouching(this.getFirstPosition())&&s.isTouching(this.getLastPosition())}_pushRange(e){this._checkRange(e),this._ranges.push(new n.Z(e.start,e.end))}_checkRange(e){for(let t=0;t0;)this._popRange()}_popRange(){this._ranges.pop()}}function h(e,t){return!t.has(e)&&(t.add(e),e.root.document.model.schema.isBlock(e)&&e.parent)}function u(e,t,s){return h(e,t)&&g(e,s)}function p(e,t){const s=e.parent.root.document.model.schema,o=e.parent.getAncestors({parentFirst:!0,includeSelf:!0});let i=!1;const r=o.find((e=>!i&&(i=s.isLimit(e),!i&&h(e,t))));return o.forEach((e=>t.add(e))),r}function g(e,t){const s=function(e){const t=e.root.document.model.schema;let s=e.parent;for(;s;){if(t.isBlock(s))return s;s=s.parent}}(e);if(!s)return!0;return!t.containsRange(n.Z._createOn(s),!0)}d.prototype.is=function(e){return"selection"===e||"model:selection"===e}},"./packages/ckeditor5-engine/src/model/text.ts":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});var o=s("./packages/ckeditor5-engine/src/model/node.ts");class i extends o.Z{constructor(e,t){super(t),this._data=e||""}get offsetSize(){return this.data.length}get data(){return this._data}toJSON(){const e=super.toJSON();return e.data=this.data,e}_clone(){return new i(this.data,this.getAttributes())}static fromJSON(e){return new i(e.data,e.attributes)}}i.prototype.is=function(e){return"$text"===e||"model:$text"===e||"text"===e||"model:text"===e||"node"===e||"model:node"===e}},"./packages/ckeditor5-engine/src/model/textproxy.ts":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./packages/ckeditor5-engine/src/model/typecheckable.ts"),i=s("./packages/ckeditor5-utils/src/ckeditorerror.ts");class r extends o.Z{constructor(e,t,s){if(super(),this.textNode=e,t<0||t>e.offsetSize)throw new i.ZP("model-textproxy-wrong-offsetintext",this);if(s<0||t+s>e.offsetSize)throw new i.ZP("model-textproxy-wrong-length",this);this.data=e.data.substring(t,t+s),this.offsetInText=t}get startOffset(){return null!==this.textNode.startOffset?this.textNode.startOffset+this.offsetInText:null}get offsetSize(){return this.data.length}get endOffset(){return null!==this.startOffset?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}getPath(){const e=this.textNode.getPath();return e.length>0&&(e[e.length-1]+=this.offsetInText),e}getAncestors(e={}){const t=[];let s=e.includeSelf?this:this.parent;for(;s;)t[e.parentFirst?"push":"unshift"](s),s=s.parent;return t}hasAttribute(e){return this.textNode.hasAttribute(e)}getAttribute(e){return this.textNode.getAttribute(e)}getAttributes(){return this.textNode.getAttributes()}getAttributeKeys(){return this.textNode.getAttributeKeys()}}r.prototype.is=function(e){return"$textProxy"===e||"model:$textProxy"===e||"textProxy"===e||"model:textProxy"===e}},"./packages/ckeditor5-engine/src/model/treewalker.ts":(e,t,s)=>{"use strict";s.d(t,{Z:()=>c});var o=s("./packages/ckeditor5-engine/src/model/element.ts"),i=s("./packages/ckeditor5-engine/src/model/position.ts"),r=s("./packages/ckeditor5-engine/src/model/text.ts"),n=s("./packages/ckeditor5-engine/src/model/textproxy.ts"),a=s("./packages/ckeditor5-utils/src/ckeditorerror.ts");class c{constructor(e={}){if(!e.boundaries&&!e.startPosition)throw new a.ZP("model-tree-walker-no-start-position",null);const t=e.direction||"forward";if("forward"!=t&&"backward"!=t)throw new a.ZP("model-tree-walker-unknown-direction",e,{direction:t});this.direction=t,this.boundaries=e.boundaries||null,e.startPosition?this.position=e.startPosition.clone():this.position=i.ZP._createAt(this.boundaries["backward"==this.direction?"end":"start"]),this.position.stickiness="toNone",this.singleCharacters=!!e.singleCharacters,this.shallow=!!e.shallow,this.ignoreElementEnd=!!e.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(e){let t,s,o,i;do{o=this.position,i=this._visitedParent,({done:t,value:s}=this.next())}while(!t&&e(s));t||(this.position=o,this._visitedParent=i)}next(){return"forward"==this.direction?this._next():this._previous()}_next(){const e=this.position,t=this.position.clone(),s=this._visitedParent;if(null===s.parent&&t.offset===s.maxOffset)return{done:!0,value:void 0};if(s===this._boundaryEndParent&&t.offset==this.boundaries.end.offset)return{done:!0,value:void 0};const a=(0,i.Rt)(t,s),c=a||(0,i.Ux)(t,s,a);if(c instanceof o.Z)return this.shallow?t.offset++:(t.path.push(0),this._visitedParent=c),this.position=t,l("elementStart",c,e,t,1);if(c instanceof r.Z){let o;if(this.singleCharacters)o=1;else{let e=c.endOffset;this._boundaryEndParent==s&&this.boundaries.end.offsete&&(e=this.boundaries.start.offset),o=t.offset-e}const i=t.offset-d.startOffset,r=new n.Z(d,i-o,o);return t.offset-=o,this.position=t,l("text",r,e,t,o)}return t.path.pop(),this.position=t,this._visitedParent=s.parent,l("elementStart",s,e,t,1)}}function l(e,t,s,o,i){return{done:!1,value:{type:e,item:t,previousPosition:s,nextPosition:o,length:i}}}},"./packages/ckeditor5-engine/src/model/typecheckable.ts":(e,t,s)=>{"use strict";s.d(t,{Z:()=>o});class o{is(){throw new Error("is() method is abstract")}}},"./packages/ckeditor5-engine/src/model/utils/autoparagraphing.ts":(e,t,s)=>{"use strict";function o(e){const{schema:t,document:s}=e.model;for(const o of s.getRootNames()){const i=s.getRoot(o);if(i.isEmpty&&!t.checkChild(i,"$text")&&t.checkChild(i,"paragraph"))return e.insertElement("paragraph",i),!0}return!1}function i(e,t,s){const o=s.createContext(e);return!!s.checkChild(o,"paragraph")&&!!s.checkChild(o.push("paragraph"),t)}function r(e,t){const s=t.createElement("paragraph");return t.insert(s,e),t.createPositionAt(s,0)}s.d(t,{_m:()=>o,gg:()=>i,zX:()=>r})},"./packages/ckeditor5-engine/src/model/utils/findoptimalinsertionrange.ts":(e,t,s)=>{"use strict";s.d(t,{K:()=>i});var o=s("./packages/ckeditor5-utils/src/first.ts");function i(e,t,s="auto"){const i=e.getSelectedElement();if(i&&t.schema.isObject(i)&&!t.schema.isInline(i))return"before"==s||"after"==s?t.createRange(t.createPositionAt(i,s)):t.createRangeOn(i);const r=(0,o.Z)(e.getSelectedBlocks());if(!r)return t.createRange(e.focus);if(r.isEmpty)return t.createRange(t.createPositionAt(r,0));const n=t.createPositionAfter(r);return e.focus.isTouching(n)?t.createRange(n):t.createRange(t.createPositionBefore(r))}},"./packages/ckeditor5-engine/src/view/attributeelement.ts":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./packages/ckeditor5-engine/src/view/element.ts"),i=s("./packages/ckeditor5-utils/src/ckeditorerror.ts");class r extends o.Z{constructor(...e){super(...e),this.getFillerOffset=n,this._priority=10,this._id=null,this._clonesGroup=null}get priority(){return this._priority}get id(){return this._id}getElementsWithSameId(){if(null===this.id)throw new i.ZP("attribute-element-get-elements-with-same-id-no-id",this);return new Set(this._clonesGroup)}isSimilar(e){return null!==this.id||null!==e.id?this.id===e.id:super.isSimilar(e)&&this.priority==e.priority}_clone(e=!1){const t=super._clone(e);return t._priority=this._priority,t._id=this._id,t}}function n(){if(a(this))return null;let e=this.parent;for(;e&&e.is("attributeElement");){if(a(e)>1)return null;e=e.parent}return!e||a(e)>1?null:this.childCount}function a(e){return Array.from(e.getChildren()).filter((e=>!e.is("uiElement"))).length}r.DEFAULT_PRIORITY=10,r.prototype.is=function(e,t){return t?t===this.name&&("attributeElement"===e||"view:attributeElement"===e||"element"===e||"view:element"===e):"attributeElement"===e||"view:attributeElement"===e||"element"===e||"view:element"===e||"node"===e||"view:node"===e}},"./packages/ckeditor5-engine/src/view/containerelement.ts":(e,t,s)=>{"use strict";s.d(t,{Y:()=>r,Z:()=>i});var o=s("./packages/ckeditor5-engine/src/view/element.ts");class i extends o.Z{constructor(...e){super(...e),this.getFillerOffset=r}}function r(){const e=[...this.getChildren()],t=e[this.childCount-1];if(t&&t.is("element","br"))return this.childCount;for(const t of e)if(!t.is("uiElement"))return null;return this.childCount}i.prototype.is=function(e,t){return t?t===this.name&&("containerElement"===e||"view:containerElement"===e||"element"===e||"view:element"===e):"containerElement"===e||"view:containerElement"===e||"element"===e||"view:element"===e||"node"===e||"view:node"===e}},"./packages/ckeditor5-engine/src/view/document.ts":(e,t,s)=>{"use strict";s.d(t,{Z:()=>k});var o=s("./packages/ckeditor5-engine/src/view/documentselection.ts"),i=s("./packages/ckeditor5-utils/src/collection.ts"),r=s("./packages/ckeditor5-utils/src/eventinfo.ts"),n=s("./packages/ckeditor5-utils/src/ckeditorerror.ts"),a=s("./packages/ckeditor5-utils/src/emittermixin.ts"),c=s("./packages/ckeditor5-utils/src/toarray.ts"),l=s("./packages/ckeditor5-engine/src/view/observer/bubblingeventinfo.ts");const d=Symbol("bubbling contexts");function h(e){return class extends e{fire(e,...t){try{const s=e instanceof r.Z?e:new r.Z(this,e),o=f(this);if(!o.size)return;if(u(s,"capturing",this),p(o,"$capture",s,...t))return s.return;const i=s.startRange||this.selection.getFirstRange(),n=i?i.getContainedElement():null,a=!!n&&Boolean(g(o,n));let c=n||function(e){if(!e)return null;const t=e.start.parent,s=e.end.parent,o=t.getPath(),i=s.getPath();return o.length>i.length?t:s}(i);if(u(s,"atTarget",c),!a){if(p(o,"$text",s,...t))return s.return;u(s,"bubbling",c)}for(;c;){if(c.is("rootElement")){if(p(o,"$root",s,...t))return s.return}else if(c.is("element")&&p(o,c.name,s,...t))return s.return;if(p(o,c,s,...t))return s.return;c=c.parent,u(s,"bubbling",c)}return u(s,"bubbling",this),p(o,"$document",s,...t),s.return}catch(e){n.ZP.rethrowUnexpectedError(e,this)}}_addEventListener(e,t,s){const o=(0,c.Z)(s.context||"$document"),i=f(this);for(const r of o){let o=i.get(r);o||(o=new a.Q5,i.set(r,o)),this.listenTo(o,e,t,s)}}_removeEventListener(e,t){const s=f(this);for(const o of s.values())this.stopListening(o,e,t)}}}{const e=h(Object);["fire","_addEventListener","_removeEventListener"].forEach((t=>{h[t]=e.prototype[t]}))}function u(e,t,s){e instanceof l.Z&&(e._eventPhase=t,e._currentTarget=s)}function p(e,t,s,...o){const i="string"==typeof t?e.get(t):g(e,t);return!!i&&(i.fire(s,...o),s.stop.called)}function g(e,t){for(const[s,o]of e)if("function"==typeof s&&s(t))return o;return null}function f(e){return e[d]||(e[d]=new Map),e[d]}var m=s("./packages/ckeditor5-utils/src/observablemixin.ts");class k extends(h(m.y)){constructor(e){super(),this.selection=new o.Z,this.roots=new i.Z({idProperty:"rootName"}),this.stylesProcessor=e,this.set("isReadOnly",!1),this.set("isFocused",!1),this.set("isSelecting",!1),this.set("isComposing",!1),this._postFixers=new Set}getRoot(e="main"){return this.roots.get(e)}registerPostFixer(e){this._postFixers.add(e)}destroy(){this.roots.map((e=>e.destroy())),this.stopListening()}_callPostFixers(e){let t=!1;do{for(const s of this._postFixers)if(t=s(e),t)break}while(t)}}},"./packages/ckeditor5-engine/src/view/documentfragment.ts":(e,t,s)=>{"use strict";s.d(t,{Z:()=>c});var o=s("./packages/ckeditor5-engine/src/view/typecheckable.ts"),i=s("./packages/ckeditor5-engine/src/view/text.ts"),r=s("./packages/ckeditor5-engine/src/view/textproxy.ts"),n=s("./packages/ckeditor5-utils/src/isiterable.ts"),a=s("./packages/ckeditor5-utils/src/emittermixin.ts");class c extends((0,a.ZP)(o.Z)){constructor(e,t){super(),this.document=e,this._children=[],t&&this._insertChild(0,t)}[Symbol.iterator](){return this._children[Symbol.iterator]()}get childCount(){return this._children.length}get isEmpty(){return 0===this.childCount}get root(){return this}get parent(){return null}_appendChild(e){return this._insertChild(this.childCount,e)}getChild(e){return this._children[e]}getChildIndex(e){return this._children.indexOf(e)}getChildren(){return this._children[Symbol.iterator]()}_insertChild(e,t){this._fireChange("children",this);let s=0;const o=function(e,t){if("string"==typeof t)return[new i.Z(e,t)];(0,n.Z)(t)||(t=[t]);return Array.from(t).map((t=>"string"==typeof t?new i.Z(e,t):t instanceof r.Z?new i.Z(e,t.data):t))}(this.document,t);for(const t of o)null!==t.parent&&t._remove(),t.parent=this,this._children.splice(e,0,t),e++,s++;return s}_removeChildren(e,t=1){this._fireChange("children",this);for(let s=e;s{"use strict";s.d(t,{Z:()=>n});var o=s("./packages/ckeditor5-engine/src/view/typecheckable.ts"),i=s("./packages/ckeditor5-engine/src/view/selection.ts"),r=s("./packages/ckeditor5-utils/src/emittermixin.ts");class n extends((0,r.ZP)(o.Z)){constructor(...e){super(),this._selection=new i.Z,this._selection.delegate("change").to(this),e.length&&this._selection.setTo(...e)}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(e){return this._selection.isEqual(e)}isSimilar(e){return this._selection.isSimilar(e)}_setTo(...e){this._selection.setTo(...e)}_setFocus(e,t){this._selection.setFocus(e,t)}}n.prototype.is=function(e){return"selection"===e||"documentSelection"==e||"view:selection"==e||"view:documentSelection"==e}},"./packages/ckeditor5-engine/src/view/domconverter.ts":(e,t,s)=>{"use strict";s.d(t,{Z:()=>P});var o=s("./packages/ckeditor5-engine/src/view/text.ts"),i=s("./packages/ckeditor5-engine/src/view/element.ts"),r=s("./packages/ckeditor5-engine/src/view/uielement.ts"),n=s("./packages/ckeditor5-engine/src/view/position.ts"),a=s("./packages/ckeditor5-engine/src/view/range.ts"),c=s("./packages/ckeditor5-engine/src/view/selection.ts"),l=s("./packages/ckeditor5-engine/src/view/documentfragment.ts"),d=s("./packages/ckeditor5-engine/src/view/treewalker.ts"),h=s("./packages/ckeditor5-engine/src/view/matcher.ts"),u=s("./packages/ckeditor5-engine/src/view/filler.ts"),p=s("./packages/ckeditor5-utils/src/dom/global.ts"),g=s("./packages/ckeditor5-utils/src/ckeditorerror.ts");function f(e){let t=0;for(;e.previousSibling;)e=e.previousSibling,t++;return t}function m(e){const t=[];let s=e;for(;s&&s.nodeType!=Node.DOCUMENT_NODE;)t.unshift(s),s=s.parentNode;return t}var k=s("./packages/ckeditor5-utils/src/dom/istext.ts"),b=s("./packages/ckeditor5-utils/src/dom/iscomment.ts");const _=(0,u.yl)(p.Z.document),w=(0,u.N3)(p.Z.document),v=(0,u.PQ)(p.Z.document),y="data-ck-unsafe-attribute-",Z="data-ck-unsafe-element";class P{constructor(e,t={}){this.document=e,this.renderingMode=t.renderingMode||"editing",this.blockFillerMode=t.blockFillerMode||("editing"===this.renderingMode?"br":"nbsp"),this.preElements=["pre"],this.blockElements=["address","article","aside","blockquote","caption","center","dd","details","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","legend","li","main","menu","nav","ol","p","pre","section","summary","table","tbody","td","tfoot","th","thead","tr","ul"],this.inlineObjectElements=["object","iframe","input","button","textarea","select","option","video","embed","audio","img","canvas"],this.unsafeElements=["script","style"],this._domDocument="editing"===this.renderingMode?p.Z.document:p.Z.document.implementation.createHTMLDocument(""),this._domToViewMapping=new WeakMap,this._viewToDomMapping=new WeakMap,this._fakeSelectionMapping=new WeakMap,this._rawContentElementMatcher=new h.Z,this._encounteredRawContentDomNodes=new WeakSet}bindFakeSelection(e,t){this._fakeSelectionMapping.set(e,new c.Z(t))}fakeSelectionToView(e){return this._fakeSelectionMapping.get(e)}bindElements(e,t){this._domToViewMapping.set(e,t),this._viewToDomMapping.set(t,e)}unbindDomElement(e){const t=this._domToViewMapping.get(e);if(t){this._domToViewMapping.delete(e),this._viewToDomMapping.delete(t);for(const t of Array.from(e.children))this.unbindDomElement(t)}}bindDocumentFragments(e,t){this._domToViewMapping.set(e,t),this._viewToDomMapping.set(t,e)}shouldRenderAttribute(e,t,s){return"data"===this.renderingMode||!(e=e.toLowerCase()).startsWith("on")&&(("srcdoc"!==e||!t.match(/\bon\S+\s*=|javascript:|<\s*\/*script/i))&&("img"===s&&("src"===e||"srcset"===e)||("source"===s&&"srcset"===e||!t.match(/^\s*(javascript:|data:(image\/svg|text\/x?html))/i))))}setContentOf(e,t){if("data"===this.renderingMode)return void(e.innerHTML=t);const s=(new DOMParser).parseFromString(t,"text/html"),o=s.createDocumentFragment(),i=s.body.childNodes;for(;i.length>0;)o.appendChild(i[0]);const r=s.createTreeWalker(o,NodeFilter.SHOW_ELEMENT),n=[];let a;for(;a=r.nextNode();)n.push(a);for(const e of n){for(const t of e.getAttributeNames())this.setDomElementAttribute(e,t,e.getAttribute(t));const t=e.tagName.toLowerCase();this._shouldRenameElement(t)&&(A(t),e.replaceWith(this._createReplacementDomElement(t,e)))}for(;e.firstChild;)e.firstChild.remove();e.append(o)}viewToDom(e,t={}){if(e.is("$text")){const t=this._processDataFromViewText(e);return this._domDocument.createTextNode(t)}{if(this.mapViewToDom(e))return this.mapViewToDom(e);let s;if(e.is("documentFragment"))s=this._domDocument.createDocumentFragment(),t.bind&&this.bindDocumentFragments(s,e);else{if(e.is("uiElement"))return s="$comment"===e.name?this._domDocument.createComment(e.getCustomProperty("$rawContent")):e.render(this._domDocument,this),t.bind&&this.bindElements(s,e),s;this._shouldRenameElement(e.name)?(A(e.name),s=this._createReplacementDomElement(e.name)):s=e.hasAttribute("xmlns")?this._domDocument.createElementNS(e.getAttribute("xmlns"),e.name):this._domDocument.createElement(e.name),e.is("rawElement")&&e.render(s,this),t.bind&&this.bindElements(s,e);for(const t of e.getAttributeKeys())this.setDomElementAttribute(s,t,e.getAttribute(t),e)}if(!1!==t.withChildren)for(const o of this.viewChildrenToDom(e,t))s.appendChild(o);return s}}setDomElementAttribute(e,t,s,o){const i=this.shouldRenderAttribute(t,s,e.tagName.toLowerCase())||o&&o.shouldRenderUnsafeAttribute(t);i||(0,g.KE)("domconverter-unsafe-attribute-detected",{domElement:e,key:t,value:s}),e.hasAttribute(t)&&!i?e.removeAttribute(t):e.hasAttribute(y+t)&&i&&e.removeAttribute(y+t),e.setAttribute(i?t:y+t,s)}removeDomElementAttribute(e,t){t!=Z&&(e.removeAttribute(t),e.removeAttribute(y+t))}*viewChildrenToDom(e,t={}){const s=e.getFillerOffset&&e.getFillerOffset();let o=0;for(const i of e.getChildren()){s===o&&(yield this._getBlockFiller());const e=i.is("element")&&i.getCustomProperty("dataPipeline:transparentRendering");e&&"data"==this.renderingMode?yield*this.viewChildrenToDom(i,t):(e&&(0,g.KE)("domconverter-transparent-rendering-unsupported-in-editing-pipeline",{viewElement:i}),yield this.viewToDom(i,t)),o++}s===o&&(yield this._getBlockFiller())}viewRangeToDom(e){const t=this.viewPositionToDom(e.start),s=this.viewPositionToDom(e.end),o=this._domDocument.createRange();return o.setStart(t.parent,t.offset),o.setEnd(s.parent,s.offset),o}viewPositionToDom(e){const t=e.parent;if(t.is("$text")){const s=this.findCorrespondingDomText(t);if(!s)return null;let o=e.offset;return(0,u.Sw)(s)&&(o+=u.b_),{parent:s,offset:o}}{let s,o,i;if(0===e.offset){if(s=this.mapViewToDom(t),!s)return null;i=s.childNodes[0]}else{const t=e.nodeBefore;if(o=t.is("$text")?this.findCorrespondingDomText(t):this.mapViewToDom(t),!o)return null;s=o.parentNode,i=o.nextSibling}if((0,k.Z)(i)&&(0,u.Sw)(i))return{parent:i,offset:u.b_};return{parent:s,offset:o?f(o)+1:0}}}domToView(e,t={}){if(this.isBlockFiller(e))return null;const s=this.getHostViewElement(e);if(s)return s;if((0,b.Z)(e)&&t.skipComments)return null;if((0,k.Z)(e)){if((0,u.Qh)(e))return null;{const t=this._processDataFromDomText(e);return""===t?null:new o.Z(this.document,t)}}{if(this.mapDomToView(e))return this.mapDomToView(e);let s;if(this.isDocumentFragment(e))s=new l.Z(this.document),t.bind&&this.bindDocumentFragments(e,s);else{s=this._createViewElement(e,t),t.bind&&this.bindElements(e,s);const o=e.attributes;if(o)for(let e=o.length,t=0;t{const{scrollLeft:t,scrollTop:s}=e;o.push([t,s])})),t.focus(),x(t,(e=>{const[t,s]=o.shift();e.scrollLeft=t,e.scrollTop=s})),p.Z.window.scrollTo(e,s)}}isElement(e){return e&&e.nodeType==Node.ELEMENT_NODE}isDocumentFragment(e){return e&&e.nodeType==Node.DOCUMENT_FRAGMENT_NODE}isBlockFiller(e){return"br"==this.blockFillerMode?e.isEqualNode(_):!("BR"!==e.tagName||!T(e,this.blockElements)||1!==e.parentNode.childNodes.length)||(e.isEqualNode(v)||function(e,t){return e.isEqualNode(w)&&T(e,t)&&1===e.parentNode.childNodes.length}(e,this.blockElements))}isDomSelectionBackward(e){if(e.isCollapsed)return!1;const t=this._domDocument.createRange();t.setStart(e.anchorNode,e.anchorOffset),t.setEnd(e.focusNode,e.focusOffset);const s=t.collapsed;return t.detach(),s}getHostViewElement(e){const t=m(e);for(t.pop();t.length;){const e=t.pop(),s=this._domToViewMapping.get(e);if(s&&(s.is("uiElement")||s.is("rawElement")))return s}return null}isDomSelectionCorrect(e){return this._isDomSelectionPositionCorrect(e.anchorNode,e.anchorOffset)&&this._isDomSelectionPositionCorrect(e.focusNode,e.focusOffset)}registerRawContentMatcher(e){this._rawContentElementMatcher.add(e)}_getBlockFiller(){switch(this.blockFillerMode){case"nbsp":return(0,u.N3)(this._domDocument);case"markedNbsp":return(0,u.PQ)(this._domDocument);case"br":return(0,u.yl)(this._domDocument)}}_isDomSelectionPositionCorrect(e,t){if((0,k.Z)(e)&&(0,u.Sw)(e)&&tthis.preElements.includes(e.name))))return t;if(" "==t.charAt(0)){const s=this._getTouchingInlineViewNode(e,!1);!(s&&s.is("$textProxy")&&this._nodeEndsWithSpace(s))&&s||(t=" "+t.substr(1))}if(" "==t.charAt(t.length-1)){const s=this._getTouchingInlineViewNode(e,!0),o=s&&s.is("$textProxy")&&" "==s.data.charAt(0);" "!=t.charAt(t.length-2)&&s&&!o||(t=t.substr(0,t.length-1)+" ")}return t.replace(/ {2}/g,"  ")}_nodeEndsWithSpace(e){if(e.getAncestors().some((e=>this.preElements.includes(e.name))))return!1;const t=this._processDataFromViewText(e);return" "==t.charAt(t.length-1)}_processDataFromDomText(e){let t=e.data;if(function(e,t){return m(e).some((e=>e.tagName&&t.includes(e.tagName.toLowerCase())))}(e,this.preElements))return(0,u.th)(e);t=t.replace(/[ \n\t\r]{1,}/g," ");const s=this._getTouchingInlineDomNode(e,!1),o=this._getTouchingInlineDomNode(e,!0),i=this._checkShouldLeftTrimDomText(e,s),r=this._checkShouldRightTrimDomText(e,o);i&&(t=t.replace(/^ /,"")),r&&(t=t.replace(/ $/,"")),t=(0,u.th)(new Text(t)),t=t.replace(/ \u00A0/g," ");const n=o&&this.isElement(o)&&"BR"!=o.tagName,a=o&&(0,k.Z)(o)&&" "==o.data.charAt(0);return(/( |\u00A0)\u00A0$/.test(t)||!o||n||a)&&(t=t.replace(/\u00A0$/," ")),(i||s&&this.isElement(s)&&"BR"!=s.tagName)&&(t=t.replace(/^\u00A0/," ")),t}_checkShouldLeftTrimDomText(e,t){return!t||(this.isElement(t)?"BR"===t.tagName:!this._encounteredRawContentDomNodes.has(e.previousSibling)&&/[^\S\u00A0]/.test(t.data.charAt(t.data.length-1)))}_checkShouldRightTrimDomText(e,t){return!t&&!(0,u.Sw)(e)}_getTouchingInlineViewNode(e,t){const s=new d.Z({startPosition:t?n.Z._createAfter(e):n.Z._createBefore(e),direction:t?"forward":"backward"});for(const e of s){if(e.item.is("element")&&this.inlineObjectElements.includes(e.item.name))return e.item;if(e.item.is("containerElement"))return null;if(e.item.is("element","br"))return null;if(e.item.is("$textProxy"))return e.item}return null}_getTouchingInlineDomNode(e,t){if(!e.parentNode)return null;const s=t?"firstChild":"lastChild",o=t?"nextSibling":"previousSibling";let i=!0,r=e;do{if(!i&&r[s]?r=r[s]:r[o]?(r=r[o],i=!1):(r=r.parentNode,i=!0),!r||this._isBlockElement(r))return null}while(!(0,k.Z)(r)&&"BR"!=r.tagName&&!this._isInlineObjectElement(r));return r}_isBlockElement(e){return this.isElement(e)&&this.blockElements.includes(e.tagName.toLowerCase())}_isInlineObjectElement(e){return this.isElement(e)&&this.inlineObjectElements.includes(e.tagName.toLowerCase())}_createViewElement(e,t){if((0,b.Z)(e))return new r.Z(this.document,"$comment");const s=t.keepOriginalCase?e.tagName:e.tagName.toLowerCase();return new i.Z(this.document,s)}_isViewElementWithRawContent(e,t){return!1!==t.withChildren&&!!this._rawContentElementMatcher.match(e)}_shouldRenameElement(e){const t=e.toLowerCase();return"editing"===this.renderingMode&&this.unsafeElements.includes(t)}_createReplacementDomElement(e,t){const s=this._domDocument.createElement("span");if(s.setAttribute(Z,e),t){for(;t.firstChild;)s.appendChild(t.firstChild);for(const e of t.getAttributeNames())s.setAttribute(e,t.getAttribute(e))}return s}}function x(e,t){let s=e;for(;s;)t(s),s=s.parentElement}function T(e,t){const s=e.parentNode;return!!s&&!!s.tagName&&t.includes(s.tagName.toLowerCase())}function A(e){"script"===e&&(0,g.KE)("domconverter-unsafe-script-element-detected"),"style"===e&&(0,g.KE)("domconverter-unsafe-style-element-detected")}},"./packages/ckeditor5-engine/src/view/downcastwriter.ts":(e,t,s)=>{"use strict";s.d(t,{Z:()=>k});var o=s("./packages/ckeditor5-engine/src/view/position.ts"),i=s("./packages/ckeditor5-engine/src/view/range.ts"),r=s("./packages/ckeditor5-engine/src/view/selection.ts"),n=s("./packages/ckeditor5-engine/src/view/containerelement.ts"),a=s("./packages/ckeditor5-engine/src/view/attributeelement.ts"),c=s("./packages/ckeditor5-engine/src/view/emptyelement.ts"),l=s("./packages/ckeditor5-engine/src/view/uielement.ts"),d=s("./packages/ckeditor5-engine/src/view/rawelement.ts"),h=s("./packages/ckeditor5-utils/src/ckeditorerror.ts"),u=s("./packages/ckeditor5-engine/src/view/documentfragment.ts"),p=s("./packages/ckeditor5-utils/src/isiterable.ts"),g=s("./packages/ckeditor5-engine/src/view/text.ts"),f=s("./packages/ckeditor5-engine/src/view/editableelement.ts"),m=s("./node_modules/lodash-es/isPlainObject.js");class k{constructor(e){this.document=e,this._cloneGroups=new Map,this._slotFactory=null}setSelection(...e){this.document.selection._setTo(...e)}setSelectionFocus(...e){this.document.selection._setFocus(...e)}createDocumentFragment(e){return new u.Z(this.document,e)}createText(e){return new g.Z(this.document,e)}createAttributeElement(e,t,s={}){const o=new a.Z(this.document,e,t);return"number"==typeof s.priority&&(o._priority=s.priority),s.id&&(o._id=s.id),s.renderUnsafeAttributes&&o._unsafeAttributesToRender.push(...s.renderUnsafeAttributes),o}createContainerElement(e,t,s={},o={}){let i=null;(0,m.Z)(s)?o=s:i=s;const r=new n.Z(this.document,e,t,i);return o.renderUnsafeAttributes&&r._unsafeAttributesToRender.push(...o.renderUnsafeAttributes),r}createEditableElement(e,t,s={}){const o=new f.Z(this.document,e,t);return s.renderUnsafeAttributes&&o._unsafeAttributesToRender.push(...s.renderUnsafeAttributes),o}createEmptyElement(e,t,s={}){const o=new c.Z(this.document,e,t);return s.renderUnsafeAttributes&&o._unsafeAttributesToRender.push(...s.renderUnsafeAttributes),o}createUIElement(e,t,s){const o=new l.Z(this.document,e,t);return s&&(o.render=s),o}createRawElement(e,t,s,o={}){const i=new d.Z(this.document,e,t);return s&&(i.render=s),o.renderUnsafeAttributes&&i._unsafeAttributesToRender.push(...o.renderUnsafeAttributes),i}setAttribute(e,t,s){s._setAttribute(e,t)}removeAttribute(e,t){t._removeAttribute(e)}addClass(e,t){t._addClass(e)}removeClass(e,t){t._removeClass(e)}setStyle(e,t,s){(0,m.Z)(e)&&void 0===s?t._setStyle(e):s._setStyle(e,t)}removeStyle(e,t){t._removeStyle(e)}setCustomProperty(e,t,s){s._setCustomProperty(e,t)}removeCustomProperty(e,t){return t._removeCustomProperty(e)}breakAttributes(e){return e instanceof o.Z?this._breakAttributes(e):this._breakAttributesRange(e)}breakContainer(e){const t=e.parent;if(!t.is("containerElement"))throw new h.ZP("view-writer-break-non-container-element",this.document);if(!t.parent)throw new h.ZP("view-writer-break-root",this.document);if(e.isAtStart)return o.Z._createBefore(t);if(!e.isAtEnd){const s=t._clone(!1);this.insert(o.Z._createAfter(t),s);const r=new i.Z(e,o.Z._createAt(t,"end")),n=new o.Z(s,0);this.move(r,n)}return o.Z._createAfter(t)}mergeAttributes(e){const t=e.offset,s=e.parent;if(s.is("$text"))return e;if(s.is("attributeElement")&&0===s.childCount){const e=s.parent,t=s.index;return s._remove(),this._removeFromClonedElementsGroup(s),this.mergeAttributes(new o.Z(e,t))}const i=s.getChild(t-1),r=s.getChild(t);if(!i||!r)return e;if(i.is("$text")&&r.is("$text"))return y(i,r);if(i.is("attributeElement")&&r.is("attributeElement")&&i.isSimilar(r)){const e=i.childCount;return i._appendChild(r.getChildren()),r._remove(),this._removeFromClonedElementsGroup(r),this.mergeAttributes(new o.Z(i,e))}return e}mergeContainers(e){const t=e.nodeBefore,s=e.nodeAfter;if(!(t&&s&&t.is("containerElement")&&s.is("containerElement")))throw new h.ZP("view-writer-merge-containers-invalid-position",this.document);const r=t.getChild(t.childCount-1),n=r instanceof g.Z?o.Z._createAt(r,"end"):o.Z._createAt(t,"end");return this.move(i.Z._createIn(s),o.Z._createAt(t,"end")),this.remove(i.Z._createOn(s)),n}insert(e,t){P(t=(0,p.Z)(t)?[...t]:[t],this.document);const s=t.reduce(((e,t)=>{const s=e[e.length-1],o=!t.is("uiElement");return s&&s.breakAttributes==o?s.nodes.push(t):e.push({breakAttributes:o,nodes:[t]}),e}),[]);let o=null,r=e;for(const{nodes:e,breakAttributes:t}of s){const s=this._insertNodes(r,e,t);o||(o=s.start),r=s.end}return o?new i.Z(o,r):new i.Z(e)}remove(e){const t=e instanceof i.Z?e:i.Z._createOn(e);if(T(t,this.document),t.isCollapsed)return new u.Z(this.document);const{start:s,end:o}=this._breakAttributesRange(t,!0),r=s.parent,n=o.offset-s.offset,a=r._removeChildren(s.offset,n);for(const e of a)this._removeFromClonedElementsGroup(e);const c=this.mergeAttributes(s);return t.start=c,t.end=c.clone(),new u.Z(this.document,a)}clear(e,t){T(e,this.document);const s=e.getWalker({direction:"backward",ignoreElementEnd:!0});for(const o of s){const s=o.item;let r;if(s.is("element")&&t.isSimilar(s))r=i.Z._createOn(s);else if(!o.nextPosition.isAfter(e.start)&&s.is("$textProxy")){const e=s.getAncestors().find((e=>e.is("element")&&t.isSimilar(e)));e&&(r=i.Z._createIn(e))}r&&(r.end.isAfter(e.end)&&(r.end=e.end),r.start.isBefore(e.start)&&(r.start=e.start),this.remove(r))}}move(e,t){let s;if(t.isAfter(e.end)){const o=(t=this._breakAttributes(t,!0)).parent,i=o.childCount;e=this._breakAttributesRange(e,!0),s=this.remove(e),t.offset+=o.childCount-i}else s=this.remove(e);return this.insert(t,s)}wrap(e,t){if(!(t instanceof a.Z))throw new h.ZP("view-writer-wrap-invalid-attribute",this.document);if(T(e,this.document),e.isCollapsed){let o=e.start;o.parent.is("element")&&(s=o.parent,!Array.from(s.getChildren()).some((e=>!e.is("uiElement"))))&&(o=o.getLastMatchingPosition((e=>e.item.is("uiElement")))),o=this._wrapPosition(o,t);const r=this.document.selection;return r.isCollapsed&&r.getFirstPosition().isEqual(e.start)&&this.setSelection(o),new i.Z(o)}return this._wrapRange(e,t);var s}unwrap(e,t){if(!(t instanceof a.Z))throw new h.ZP("view-writer-unwrap-invalid-attribute",this.document);if(T(e,this.document),e.isCollapsed)return e;const{start:s,end:o}=this._breakAttributesRange(e,!0),r=s.parent,n=this._unwrapChildren(r,s.offset,o.offset,t),c=this.mergeAttributes(n.start);c.isEqual(n.start)||n.end.offset--;const l=this.mergeAttributes(n.end);return new i.Z(c,l)}rename(e,t){const s=new n.Z(this.document,e,t.getAttributes());return this.insert(o.Z._createAfter(t),s),this.move(i.Z._createIn(t),o.Z._createAt(s,0)),this.remove(i.Z._createOn(t)),s}clearClonedElementsGroup(e){this._cloneGroups.delete(e)}createPositionAt(e,t){return o.Z._createAt(e,t)}createPositionAfter(e){return o.Z._createAfter(e)}createPositionBefore(e){return o.Z._createBefore(e)}createRange(...e){return new i.Z(...e)}createRangeOn(e){return i.Z._createOn(e)}createRangeIn(e){return i.Z._createIn(e)}createSelection(...e){return new r.Z(...e)}createSlot(e){if(!this._slotFactory)throw new h.ZP("view-writer-invalid-create-slot-context",this.document);return this._slotFactory(this,e)}_registerSlotFactory(e){this._slotFactory=e}_clearSlotFactory(){this._slotFactory=null}_insertNodes(e,t,s){let o,r;if(o=s?b(e):e.parent.is("$text")?e.parent.parent:e.parent,!o)throw new h.ZP("view-writer-invalid-position-container",this.document);r=s?this._breakAttributes(e,!0):e.parent.is("$text")?v(e):e;const n=o._insertChild(r.offset,t);for(const e of t)this._addToClonedElementsGroup(e);const a=r.getShiftedBy(n),c=this.mergeAttributes(r);c.isEqual(r)||a.offset--;const l=this.mergeAttributes(a);return new i.Z(c,l)}_wrapChildren(e,t,s,r){let n=t;const a=[];for(;n!1,e.parent._insertChild(e.offset,s);const r=new i.Z(e,e.getShiftedBy(1));this.wrap(r,t);const n=new o.Z(s.parent,s.index);s._remove();const a=n.nodeBefore,c=n.nodeAfter;return a instanceof g.Z&&c instanceof g.Z?y(a,c):w(n)}_wrapAttributeElement(e,t){if(!A(e,t))return!1;if(e.name!==t.name||e.priority!==t.priority)return!1;for(const s of e.getAttributeKeys())if("class"!==s&&"style"!==s&&t.hasAttribute(s)&&t.getAttribute(s)!==e.getAttribute(s))return!1;for(const s of e.getStyleNames())if(t.hasStyle(s)&&t.getStyle(s)!==e.getStyle(s))return!1;for(const s of e.getAttributeKeys())"class"!==s&&"style"!==s&&(t.hasAttribute(s)||this.setAttribute(s,e.getAttribute(s),t));for(const s of e.getStyleNames())t.hasStyle(s)||this.setStyle(s,e.getStyle(s),t);for(const s of e.getClassNames())t.hasClass(s)||this.addClass(s,t);return!0}_unwrapAttributeElement(e,t){if(!A(e,t))return!1;if(e.name!==t.name||e.priority!==t.priority)return!1;for(const s of e.getAttributeKeys())if("class"!==s&&"style"!==s&&(!t.hasAttribute(s)||t.getAttribute(s)!==e.getAttribute(s)))return!1;if(!t.hasClass(...e.getClassNames()))return!1;for(const s of e.getStyleNames())if(!t.hasStyle(s)||t.getStyle(s)!==e.getStyle(s))return!1;for(const s of e.getAttributeKeys())"class"!==s&&"style"!==s&&this.removeAttribute(s,t);return this.removeClass(Array.from(e.getClassNames()),t),this.removeStyle(Array.from(e.getStyleNames()),t),!0}_breakAttributesRange(e,t=!1){const s=e.start,o=e.end;if(T(e,this.document),e.isCollapsed){const s=this._breakAttributes(e.start,t);return new i.Z(s,s)}const r=this._breakAttributes(o,t),n=r.parent.childCount,a=this._breakAttributes(s,t);return r.offset+=r.parent.childCount-n,new i.Z(a,r)}_breakAttributes(e,t=!1){const s=e.offset,i=e.parent;if(e.parent.is("emptyElement"))throw new h.ZP("view-writer-cannot-break-empty-element",this.document);if(e.parent.is("uiElement"))throw new h.ZP("view-writer-cannot-break-ui-element",this.document);if(e.parent.is("rawElement"))throw new h.ZP("view-writer-cannot-break-raw-element",this.document);if(!t&&i.is("$text")&&x(i.parent))return e.clone();if(x(i))return e.clone();if(i.is("$text"))return this._breakAttributes(v(e),t);if(s==i.childCount){const e=new o.Z(i.parent,i.index+1);return this._breakAttributes(e,t)}if(0===s){const e=new o.Z(i.parent,i.index);return this._breakAttributes(e,t)}{const e=i.index+1,r=i._clone();i.parent._insertChild(e,r),this._addToClonedElementsGroup(r);const n=i.childCount-s,a=i._removeChildren(s,n);r._appendChild(a);const c=new o.Z(i.parent,e);return this._breakAttributes(c,t)}}_addToClonedElementsGroup(e){if(!e.root.is("rootElement"))return;if(e.is("element"))for(const t of e.getChildren())this._addToClonedElementsGroup(t);const t=e.id;if(!t)return;let s=this._cloneGroups.get(t);s||(s=new Set,this._cloneGroups.set(t,s)),s.add(e),e._clonesGroup=s}_removeFromClonedElementsGroup(e){if(e.is("element"))for(const t of e.getChildren())this._removeFromClonedElementsGroup(t);const t=e.id;if(!t)return;const s=this._cloneGroups.get(t);s&&s.delete(e)}}function b(e){let t=e.parent;for(;!x(t);){if(!t)return;t=t.parent}return t}function _(e,t){return e.priorityt.priority)&&e.getIdentity()s instanceof e)))throw new h.ZP("view-writer-insert-invalid-node-type",t);s.is("$text")||P(s.getChildren(),t)}}function x(e){return e&&(e.is("containerElement")||e.is("documentFragment"))}function T(e,t){const s=b(e.start),o=b(e.end);if(!s||!o||s!==o)throw new h.ZP("view-writer-invalid-range-container",t)}function A(e,t){return null===e.id&&null===t.id}},"./packages/ckeditor5-engine/src/view/editableelement.ts":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./packages/ckeditor5-engine/src/view/containerelement.ts"),i=s("./packages/ckeditor5-utils/src/observablemixin.ts");class r extends((0,i.Z)(o.Z)){constructor(...e){super(...e);const t=e[0];this.set("isReadOnly",!1),this.set("isFocused",!1),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}))}destroy(){this.stopListening()}}r.prototype.is=function(e,t){return t?t===this.name&&("editableElement"===e||"view:editableElement"===e||"containerElement"===e||"view:containerElement"===e||"element"===e||"view:element"===e):"editableElement"===e||"view:editableElement"===e||"containerElement"===e||"view:containerElement"===e||"element"===e||"view:element"===e||"node"===e||"view:node"===e}},"./packages/ckeditor5-engine/src/view/element.ts":(e,t,s)=>{"use strict";s.d(t,{Z:()=>u});var o=s("./packages/ckeditor5-engine/src/view/node.ts"),i=s("./packages/ckeditor5-engine/src/view/text.ts"),r=s("./packages/ckeditor5-engine/src/view/textproxy.ts"),n=s("./packages/ckeditor5-utils/src/tomap.ts"),a=s("./packages/ckeditor5-utils/src/toarray.ts"),c=s("./packages/ckeditor5-utils/src/isiterable.ts"),l=s("./packages/ckeditor5-engine/src/view/matcher.ts"),d=s("./packages/ckeditor5-engine/src/view/stylesmap.ts"),h=s("./node_modules/lodash-es/isPlainObject.js");class u extends o.Z{constructor(e,t,s,o){if(super(e),this.name=t,this._attrs=function(e){const t=(0,n.Z)(e);for(const[e,s]of t)null===s?t.delete(e):"string"!=typeof s&&t.set(e,String(s));return t}(s),this._children=[],o&&this._insertChild(0,o),this._classes=new Set,this._attrs.has("class")){const e=this._attrs.get("class");p(this._classes,e),this._attrs.delete("class")}this._styles=new d.Z(this.document.stylesProcessor),this._attrs.has("style")&&(this._styles.setTo(this._attrs.get("style")),this._attrs.delete("style")),this._customProperties=new Map,this._unsafeAttributesToRender=[]}get childCount(){return this._children.length}get isEmpty(){return 0===this._children.length}getChild(e){return this._children[e]}getChildIndex(e){return this._children.indexOf(e)}getChildren(){return this._children[Symbol.iterator]()}*getAttributeKeys(){this._classes.size>0&&(yield"class"),this._styles.isEmpty||(yield"style"),yield*this._attrs.keys()}*getAttributes(){yield*this._attrs.entries(),this._classes.size>0&&(yield["class",this.getAttribute("class")]),this._styles.isEmpty||(yield["style",this.getAttribute("style")])}getAttribute(e){if("class"==e)return this._classes.size>0?[...this._classes].join(" "):void 0;if("style"==e){const e=this._styles.toString();return""==e?void 0:e}return this._attrs.get(e)}hasAttribute(e){return"class"==e?this._classes.size>0:"style"==e?!this._styles.isEmpty:this._attrs.has(e)}isSimilar(e){if(!(e instanceof u))return!1;if(this===e)return!0;if(this.name!=e.name)return!1;if(this._attrs.size!==e._attrs.size||this._classes.size!==e._classes.size||this._styles.size!==e._styles.size)return!1;for(const[t,s]of this._attrs)if(!e._attrs.has(t)||e._attrs.get(t)!==s)return!1;for(const t of this._classes)if(!e._classes.has(t))return!1;for(const t of this._styles.getStyleNames())if(!e._styles.has(t)||e._styles.getAsString(t)!==this._styles.getAsString(t))return!1;return!0}hasClass(...e){for(const t of e)if(!this._classes.has(t))return!1;return!0}getClassNames(){return this._classes.keys()}getStyle(e){return this._styles.getAsString(e)}getNormalizedStyle(e){return this._styles.getNormalized(e)}getStyleNames(e){return this._styles.getStyleNames(e)}hasStyle(...e){for(const t of e)if(!this._styles.has(t))return!1;return!0}findAncestor(...e){const t=new l.Z(...e);let s=this.parent;for(;s&&!s.is("documentFragment");){if(t.match(s))return s;s=s.parent}return null}getCustomProperty(e){return this._customProperties.get(e)}*getCustomProperties(){yield*this._customProperties.entries()}getIdentity(){const e=Array.from(this._classes).sort().join(","),t=this._styles.toString(),s=Array.from(this._attrs).map((e=>`${e[0]}="${e[1]}"`)).sort().join(" ");return this.name+(""==e?"":` class="${e}"`)+(t?` style="${t}"`:"")+(""==s?"":` ${s}`)}shouldRenderUnsafeAttribute(e){return this._unsafeAttributesToRender.includes(e)}_clone(e=!1){const t=[];if(e)for(const s of this.getChildren())t.push(s._clone(e));const s=new this.constructor(this.document,this.name,this._attrs,t);return s._classes=new Set(this._classes),s._styles.set(this._styles.getNormalized()),s._customProperties=new Map(this._customProperties),s.getFillerOffset=this.getFillerOffset,s._unsafeAttributesToRender=this._unsafeAttributesToRender,s}_appendChild(e){return this._insertChild(this.childCount,e)}_insertChild(e,t){this._fireChange("children",this);let s=0;const o=function(e,t){if("string"==typeof t)return[new i.Z(e,t)];(0,c.Z)(t)||(t=[t]);return Array.from(t).map((t=>"string"==typeof t?new i.Z(e,t):t instanceof r.Z?new i.Z(e,t.data):t))}(this.document,t);for(const t of o)null!==t.parent&&t._remove(),t.parent=this,t.document=this.document,this._children.splice(e,0,t),e++,s++;return s}_removeChildren(e,t=1){this._fireChange("children",this);for(let s=e;s0&&(this._classes.clear(),!0):"style"==e?!this._styles.isEmpty&&(this._styles.clear(),!0):this._attrs.delete(e)}_addClass(e){this._fireChange("attributes",this);for(const t of(0,a.Z)(e))this._classes.add(t)}_removeClass(e){this._fireChange("attributes",this);for(const t of(0,a.Z)(e))this._classes.delete(t)}_setStyle(e,t){this._fireChange("attributes",this),(0,h.Z)(e)?this._styles.set(e):this._styles.set(e,t)}_removeStyle(e){this._fireChange("attributes",this);for(const t of(0,a.Z)(e))this._styles.remove(t)}_setCustomProperty(e,t){this._customProperties.set(e,t)}_removeCustomProperty(e){return this._customProperties.delete(e)}}function p(e,t){const s=t.split(/\s+/);e.clear(),s.forEach((t=>e.add(t)))}u.prototype.is=function(e,t){return t?t===this.name&&("element"===e||"view:element"===e):"element"===e||"view:element"===e||"node"===e||"view:node"===e}},"./packages/ckeditor5-engine/src/view/emptyelement.ts":(e,t,s)=>{"use strict";s.d(t,{Z:()=>n});var o=s("./packages/ckeditor5-engine/src/view/element.ts"),i=s("./packages/ckeditor5-engine/src/view/node.ts"),r=s("./packages/ckeditor5-utils/src/ckeditorerror.ts");class n extends o.Z{constructor(e,t,s,o){super(e,t,s,o),this.getFillerOffset=a}_insertChild(e,t){if(t&&(t instanceof i.Z||Array.from(t).length>0))throw new r.ZP("view-emptyelement-cannot-add",[this,t]);return 0}}function a(){return null}n.prototype.is=function(e,t){return t?t===this.name&&("emptyElement"===e||"view:emptyElement"===e||"element"===e||"view:element"===e):"emptyElement"===e||"view:emptyElement"===e||"element"===e||"view:element"===e||"node"===e||"view:node"===e}},"./packages/ckeditor5-engine/src/view/filler.ts":(e,t,s)=>{"use strict";s.d(t,{N3:()=>r,PQ:()=>n,Pj:()=>l,Qh:()=>h,Sw:()=>d,b_:()=>c,mm:()=>p,th:()=>u,yl:()=>a});var o=s("./packages/ckeditor5-utils/src/keyboard.ts"),i=s("./packages/ckeditor5-utils/src/dom/istext.ts");const r=e=>e.createTextNode(" "),n=e=>{const t=e.createElement("span");return t.dataset.ckeFiller="true",t.innerText=" ",t},a=e=>{const t=e.createElement("br");return t.dataset.ckeFiller="true",t},c=7,l="⁠".repeat(c);function d(e){return(0,i.Z)(e)&&e.data.substr(0,c)===l}function h(e){return e.data.length==c&&d(e)}function u(e){return d(e)?e.data.slice(c):e.data}function p(e){e.document.on("arrowKey",g,{priority:"low"})}function g(e,t){if(t.keyCode==o.Do.arrowleft){const e=t.domTarget.ownerDocument.defaultView.getSelection();if(1==e.rangeCount&&e.getRangeAt(0).collapsed){const t=e.getRangeAt(0).startContainer,s=e.getRangeAt(0).startOffset;d(t)&&s<=c&&e.collapse(t,0)}}}},"./packages/ckeditor5-engine/src/view/matcher.ts":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/lodash-es/isPlainObject.js"),i=s("./packages/ckeditor5-utils/src/ckeditorerror.ts");class r{constructor(...e){this._patterns=[],this.add(...e)}add(...e){for(let t of e)("string"==typeof t||t instanceof RegExp)&&(t={name:t}),this._patterns.push(t)}match(...e){for(const t of e)for(const e of this._patterns){const s=n(t,e);if(s)return{element:t,pattern:e,match:s}}return null}matchAll(...e){const t=[];for(const s of e)for(const e of this._patterns){const o=n(s,e);o&&t.push({element:s,pattern:e,match:o})}return t.length>0?t:null}getElementName(){if(1!==this._patterns.length)return null;const e=this._patterns[0],t=e.name;return"function"==typeof e||!t||t instanceof RegExp?null:t}}function n(e,t){if("function"==typeof t)return t(e);const s={};return t.name&&(s.name=function(e,t){if(e instanceof RegExp)return!!t.match(e);return e===t}(t.name,e.name),!s.name)||t.attributes&&(s.attributes=function(e,t){const s=new Set(t.getAttributeKeys());(0,o.Z)(e)?(void 0!==e.style&&(0,i.KE)("matcher-pattern-deprecated-attributes-style-key",e),void 0!==e.class&&(0,i.KE)("matcher-pattern-deprecated-attributes-class-key",e)):(s.delete("style"),s.delete("class"));return a(e,s,(e=>t.getAttribute(e)))}(t.attributes,e),!s.attributes)||t.classes&&(s.classes=function(e,t){return a(e,t.getClassNames(),(()=>{}))}(t.classes,e),!s.classes)||t.styles&&(s.styles=function(e,t){return a(e,t.getStyleNames(!0),(e=>t.getStyle(e)))}(t.styles,e),!s.styles)?null:s}function a(e,t,s){const r=function(e){if(Array.isArray(e))return e.map((e=>(0,o.Z)(e)?(void 0!==e.key&&void 0!==e.value||(0,i.KE)("matcher-pattern-missing-key-or-value",e),[e.key,e.value]):[e,!0]));if((0,o.Z)(e))return Object.entries(e);return[[e,!0]]}(e),n=Array.from(t),a=[];if(r.forEach((([e,t])=>{n.forEach((o=>{(function(e,t){return!0===e||e===t||e instanceof RegExp&&t.match(e)})(e,o)&&function(e,t,s){if(!0===e)return!0;const o=s(t);return e===o||e instanceof RegExp&&!!String(o).match(e)}(t,o,s)&&a.push(o)}))})),r.length&&!(a.length{"use strict";s.d(t,{Z:()=>c});var o=s("./packages/ckeditor5-engine/src/view/typecheckable.ts"),i=s("./packages/ckeditor5-utils/src/ckeditorerror.ts"),r=s("./packages/ckeditor5-utils/src/emittermixin.ts"),n=s("./packages/ckeditor5-utils/src/comparearrays.ts"),a=s("./node_modules/lodash-es/clone.js");s("./packages/ckeditor5-utils/src/version.ts");class c extends((0,r.ZP)(o.Z)){constructor(e){super(),this.document=e,this.parent=null}get index(){let e;if(!this.parent)return null;if(-1==(e=this.parent.getChildIndex(this)))throw new i.ZP("view-node-not-found-in-parent",this);return e}get nextSibling(){const e=this.index;return null!==e&&this.parent.getChild(e+1)||null}get previousSibling(){const e=this.index;return null!==e&&this.parent.getChild(e-1)||null}get root(){let e=this;for(;e.parent;)e=e.parent;return e}isAttached(){return this.root.is("rootElement")}getPath(){const e=[];let t=this;for(;t.parent;)e.unshift(t.index),t=t.parent;return e}getAncestors(e={}){const t=[];let s=e.includeSelf?this:this.parent;for(;s;)t[e.parentFirst?"push":"unshift"](s),s=s.parent;return t}getCommonAncestor(e,t={}){const s=this.getAncestors(t),o=e.getAncestors(t);let i=0;for(;s[i]==o[i]&&s[i];)i++;return 0===i?null:s[i-1]}isBefore(e){if(this==e)return!1;if(this.root!==e.root)return!1;const t=this.getPath(),s=e.getPath(),o=(0,n.Z)(t,s);switch(o){case"prefix":return!0;case"extension":return!1;default:return t[o]{"use strict";s.d(t,{Z:()=>i});var o=s("./packages/ckeditor5-utils/src/eventinfo.ts");class i extends o.Z{constructor(e,t,s){super(e,t),this.startRange=s,this._eventPhase="none",this._currentTarget=null}get eventPhase(){return this._eventPhase}get currentTarget(){return this._currentTarget}}},"./packages/ckeditor5-engine/src/view/observer/domeventdata.ts":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});var o=s("./node_modules/lodash-es/assignIn.js");class i{constructor(e,t,s){this.view=e,this.document=e.document,this.domEvent=t,this.domTarget=t.target,(0,o.Z)(this,s)}get target(){return this.view.domConverter.mapDomToView(this.domTarget)}preventDefault(){this.domEvent.preventDefault()}stopPropagation(){this.domEvent.stopPropagation()}}},"./packages/ckeditor5-engine/src/view/observer/domeventobserver.ts":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./packages/ckeditor5-engine/src/view/observer/observer.ts"),i=s("./packages/ckeditor5-engine/src/view/observer/domeventdata.ts");class r extends o.Z{constructor(e){super(e),this.useCapture=!1}observe(e){("string"==typeof this.domEventType?[this.domEventType]:this.domEventType).forEach((t=>{this.listenTo(e,t,((e,t)=>{this.isEnabled&&!this.checkShouldIgnoreEventFromTarget(t.target)&&this.onDomEvent(t)}),{useCapture:this.useCapture})}))}fire(e,t,s){this.isEnabled&&this.document.fire(e,new i.Z(this.view,t,s))}}},"./packages/ckeditor5-engine/src/view/observer/mouseobserver.ts":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});var o=s("./packages/ckeditor5-engine/src/view/observer/domeventobserver.ts");class i extends o.Z{constructor(e){super(e),this.domEventType=["mousedown","mouseup","mouseover","mouseout"]}onDomEvent(e){this.fire(e.type,e)}}},"./packages/ckeditor5-engine/src/view/observer/observer.ts":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});var o=s("./packages/ckeditor5-utils/src/dom/emittermixin.ts");class i extends o.Q{constructor(e){super(),this.view=e,this.document=e.document,this.isEnabled=!1}enable(){this.isEnabled=!0}disable(){this.isEnabled=!1}destroy(){this.disable(),this.stopListening()}checkShouldIgnoreEventFromTarget(e){return e&&3===e.nodeType&&(e=e.parentNode),!(!e||1!==e.nodeType)&&e.matches("[data-cke-ignore-events], [data-cke-ignore-events] *")}}},"./packages/ckeditor5-engine/src/view/position.ts":(e,t,s)=>{"use strict";s.d(t,{Z:()=>c});var o=s("./packages/ckeditor5-engine/src/view/typecheckable.ts"),i=s("./packages/ckeditor5-utils/src/comparearrays.ts"),r=s("./packages/ckeditor5-utils/src/ckeditorerror.ts"),n=s("./packages/ckeditor5-engine/src/view/editableelement.ts"),a=(s("./packages/ckeditor5-utils/src/version.ts"),s("./packages/ckeditor5-engine/src/view/treewalker.ts"));class c extends o.Z{constructor(e,t){super(),this.parent=e,this.offset=t}get nodeAfter(){return this.parent.is("$text")?null:this.parent.getChild(this.offset)||null}get nodeBefore(){return this.parent.is("$text")?null:this.parent.getChild(this.offset-1)||null}get isAtStart(){return 0===this.offset}get isAtEnd(){const e=this.parent.is("$text")?this.parent.data.length:this.parent.childCount;return this.offset===e}get root(){return this.parent.root}get editableElement(){let e=this.parent;for(;!(e instanceof n.Z);){if(!e.parent)return null;e=e.parent}return e}getShiftedBy(e){const t=c._createAt(this),s=t.offset+e;return t.offset=s<0?0:s,t}getLastMatchingPosition(e,t={}){t.startPosition=this;const s=new a.Z(t);return s.skip(e),s.position}getAncestors(){return this.parent.is("documentFragment")?[this.parent]:this.parent.getAncestors({includeSelf:!0})}getCommonAncestor(e){const t=this.getAncestors(),s=e.getAncestors();let o=0;for(;t[o]==s[o]&&t[o];)o++;return 0===o?null:t[o-1]}isEqual(e){return this.parent==e.parent&&this.offset==e.offset}isBefore(e){return"before"==this.compareWith(e)}isAfter(e){return"after"==this.compareWith(e)}compareWith(e){if(this.root!==e.root)return"different";if(this.isEqual(e))return"same";const t=this.parent.is("node")?this.parent.getPath():[],s=e.parent.is("node")?e.parent.getPath():[];t.push(this.offset),s.push(e.offset);const o=(0,i.Z)(t,s);switch(o){case"prefix":return"before";case"extension":return"after";default:return t[o]{"use strict";s.d(t,{Z:()=>n});var o=s("./packages/ckeditor5-engine/src/view/typecheckable.ts"),i=s("./packages/ckeditor5-engine/src/view/position.ts"),r=s("./packages/ckeditor5-engine/src/view/treewalker.ts");class n extends o.Z{constructor(e,t=null){super(),this.start=e.clone(),this.end=t?t.clone():e.clone()}*[Symbol.iterator](){yield*new r.Z({boundaries:this,ignoreElementEnd:!0})}get isCollapsed(){return this.start.isEqual(this.end)}get isFlat(){return this.start.parent===this.end.parent}get root(){return this.start.root}getEnlarged(){let e=this.start.getLastMatchingPosition(a,{direction:"backward"}),t=this.end.getLastMatchingPosition(a);return e.parent.is("$text")&&e.isAtStart&&(e=i.Z._createBefore(e.parent)),t.parent.is("$text")&&t.isAtEnd&&(t=i.Z._createAfter(t.parent)),new n(e,t)}getTrimmed(){let e=this.start.getLastMatchingPosition(a);if(e.isAfter(this.end)||e.isEqual(this.end))return new n(e,e);let t=this.end.getLastMatchingPosition(a,{direction:"backward"});const s=e.nodeAfter,o=t.nodeBefore;return s&&s.is("$text")&&(e=new i.Z(s,0)),o&&o.is("$text")&&(t=new i.Z(o,o.data.length)),new n(e,t)}isEqual(e){return this==e||this.start.isEqual(e.start)&&this.end.isEqual(e.end)}containsPosition(e){return e.isAfter(this.start)&&e.isBefore(this.end)}containsRange(e,t=!1){e.isCollapsed&&(t=!1);const s=this.containsPosition(e.start)||t&&this.start.isEqual(e.start),o=this.containsPosition(e.end)||t&&this.end.isEqual(e.end);return s&&o}getDifference(e){const t=[];return this.isIntersecting(e)?(this.containsPosition(e.start)&&t.push(new n(this.start,e.start)),this.containsPosition(e.end)&&t.push(new n(e.end,this.end))):t.push(this.clone()),t}getIntersection(e){if(this.isIntersecting(e)){let t=this.start,s=this.end;return this.containsPosition(e.start)&&(t=e.start),this.containsPosition(e.end)&&(s=e.end),new n(t,s)}return null}getWalker(e={}){return e.boundaries=this,new r.Z(e)}getCommonAncestor(){return this.start.getCommonAncestor(this.end)}getContainedElement(){if(this.isCollapsed)return null;let e=this.start.nodeAfter,t=this.end.nodeBefore;return this.start.parent.is("$text")&&this.start.isAtEnd&&this.start.parent.nextSibling&&(e=this.start.parent.nextSibling),this.end.parent.is("$text")&&this.end.isAtStart&&this.end.parent.previousSibling&&(t=this.end.parent.previousSibling),e&&e.is("element")&&e===t?e:null}clone(){return new n(this.start,this.end)}*getItems(e={}){e.boundaries=this,e.ignoreElementEnd=!0;const t=new r.Z(e);for(const e of t)yield e.item}*getPositions(e={}){e.boundaries=this;const t=new r.Z(e);yield t.position;for(const e of t)yield e.nextPosition}isIntersecting(e){return this.start.isBefore(e.end)&&this.end.isAfter(e.start)}static _createFromParentsAndOffsets(e,t,s,o){return new this(new i.Z(e,t),new i.Z(s,o))}static _createFromPositionAndShift(e,t){const s=e,o=e.getShiftedBy(t);return t>0?new this(s,o):new this(o,s)}static _createIn(e){return this._createFromParentsAndOffsets(e,0,e,e.childCount)}static _createOn(e){const t=e.is("$textProxy")?e.offsetSize:1;return this._createFromPositionAndShift(i.Z._createBefore(e),t)}}function a(e){return!(!e.item.is("attributeElement")&&!e.item.is("uiElement"))}n.prototype.is=function(e){return"range"===e||"view:range"===e}},"./packages/ckeditor5-engine/src/view/rawelement.ts":(e,t,s)=>{"use strict";s.d(t,{Z:()=>n});var o=s("./packages/ckeditor5-engine/src/view/element.ts"),i=s("./packages/ckeditor5-engine/src/view/node.ts"),r=s("./packages/ckeditor5-utils/src/ckeditorerror.ts");class n extends o.Z{constructor(...e){super(...e),this.getFillerOffset=a}_insertChild(e,t){if(t&&(t instanceof i.Z||Array.from(t).length>0))throw new r.ZP("view-rawelement-cannot-add",[this,t]);return 0}render(){}}function a(){return null}n.prototype.is=function(e,t){return t?t===this.name&&("rawElement"===e||"view:rawElement"===e||"element"===e||"view:element"===e):"rawElement"===e||"view:rawElement"===e||e===this.name||e==="view:"+this.name||"element"===e||"view:element"===e||"node"===e||"view:node"===e}},"./packages/ckeditor5-engine/src/view/renderer.ts":(e,t,s)=>{"use strict";s.d(t,{Z:()=>w});var o=s("./packages/ckeditor5-engine/src/view/text.ts"),i=s("./packages/ckeditor5-engine/src/view/position.ts"),r=s("./packages/ckeditor5-engine/src/view/filler.ts"),n=s("./packages/ckeditor5-utils/src/diff.ts");function a(e,t,s){e.insertBefore(s,e.childNodes[t]||null)}function c(e){const t=e.parentNode;t&&t.removeChild(e)}var l=s("./packages/ckeditor5-utils/src/observablemixin.ts"),d=s("./packages/ckeditor5-utils/src/ckeditorerror.ts"),h=s("./packages/ckeditor5-utils/src/dom/istext.ts"),u=s("./packages/ckeditor5-utils/src/dom/iscomment.ts"),p=s("./packages/ckeditor5-utils/src/dom/isnode.ts"),g=s("./packages/ckeditor5-utils/src/fastdiff.ts"),f=s("./packages/ckeditor5-utils/src/env.ts"),m=s("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),k=s.n(m),b=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-engine/theme/renderer.css"),_={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};k()(b.Z,_);b.Z.locals;class w extends l.y{constructor(e,t){super(),this.domDocuments=new Set,this.domConverter=e,this.markedAttributes=new Set,this.markedChildren=new Set,this.markedTexts=new Set,this.selection=t,this.set("isFocused",!1),this.set("isSelecting",!1),f.ZP.isBlink&&!f.ZP.isAndroid&&this.on("change:isSelecting",(()=>{this.isSelecting||this.render()})),this._inlineFiller=null,this._fakeSelectionContainer=null}markToSync(e,t){if("text"===e)this.domConverter.mapViewToDom(t.parent)&&this.markedTexts.add(t);else{if(!this.domConverter.mapViewToDom(t))return;if("attributes"===e)this.markedAttributes.add(t);else{if("children"!==e)throw new d.ZP("view-renderer-unknown-type",this);this.markedChildren.add(t)}}}render(){let e=null;const t=!(f.ZP.isBlink&&!f.ZP.isAndroid)||!this.isSelecting;for(const e of this.markedChildren)this._updateChildrenMappings(e);t?(this._inlineFiller&&!this._isSelectionInInlineFiller()&&this._removeInlineFiller(),this._inlineFiller?e=this._getInlineFillerPosition():this._needsInlineFillerAtSelection()&&(e=this.selection.getFirstPosition(),this.markedChildren.add(e.parent))):this._inlineFiller&&this._inlineFiller.parentNode&&(e=this.domConverter.domPositionToView(this._inlineFiller),e&&e.parent.is("$text")&&(e=i.Z._createBefore(e.parent)));for(const e of this.markedAttributes)this._updateAttrs(e);for(const t of this.markedChildren)this._updateChildren(t,{inlineFillerPosition:e});for(const t of this.markedTexts)!this.markedChildren.has(t.parent)&&this.domConverter.mapViewToDom(t.parent)&&this._updateText(t,{inlineFillerPosition:e});if(t)if(e){const t=this.domConverter.viewPositionToDom(e),s=t.parent.ownerDocument;(0,r.Sw)(t.parent)?this._inlineFiller=t.parent:this._inlineFiller=v(s,t.parent,t.offset)}else this._inlineFiller=null;this._updateFocus(),this._updateSelection(),this.markedTexts.clear(),this.markedAttributes.clear(),this.markedChildren.clear()}_updateChildrenMappings(e){if(!this.domConverter.mapViewToDom(e))return;const t=Array.from(this.domConverter.mapViewToDom(e).childNodes),s=Array.from(this.domConverter.viewChildrenToDom(e,{withChildren:!1})),o=this._diffNodeLists(t,s),i=this._findReplaceActions(o,t,s);if(-1!==i.indexOf("replace")){const o={equal:0,insert:0,delete:0};for(const r of i)if("replace"===r){const i=o.equal+o.insert,r=o.equal+o.delete,n=e.getChild(i);!n||n.is("uiElement")||n.is("rawElement")||this._updateElementMappings(n,t[r]),c(s[i]),o.equal++}else o[r]++}}_updateElementMappings(e,t){this.domConverter.unbindDomElement(t),this.domConverter.bindElements(t,e),this.markedChildren.add(e),this.markedAttributes.add(e)}_getInlineFillerPosition(){const e=this.selection.getFirstPosition();return e.parent.is("$text")?i.Z._createBefore(e.parent):e}_isSelectionInInlineFiller(){if(1!=this.selection.rangeCount||!this.selection.isCollapsed)return!1;const e=this.selection.getFirstPosition(),t=this.domConverter.viewPositionToDom(e);return!!(t&&(0,h.Z)(t.parent)&&(0,r.Sw)(t.parent))}_removeInlineFiller(){const e=this._inlineFiller;if(!(0,r.Sw)(e))throw new d.ZP("view-renderer-filler-was-lost",this);(0,r.Qh)(e)?e.remove():e.data=e.data.substr(r.b_),this._inlineFiller=null}_needsInlineFillerAtSelection(){if(1!=this.selection.rangeCount||!this.selection.isCollapsed)return!1;const e=this.selection.getFirstPosition(),t=e.parent,s=e.offset;if(!this.domConverter.mapViewToDom(t.root))return!1;if(!t.is("element"))return!1;if(!function(e){if("false"==e.getAttribute("contenteditable"))return!1;const t=e.findAncestor((e=>e.hasAttribute("contenteditable")));return!t||"true"==t.getAttribute("contenteditable")}(t))return!1;if(s===t.getFillerOffset())return!1;const i=e.nodeBefore,r=e.nodeAfter;return!(i instanceof o.Z||r instanceof o.Z)}_updateText(e,t){const s=this.domConverter.findCorrespondingDomText(e),o=this.domConverter.viewToDom(e),i=s.data;let n=o.data;const a=t.inlineFillerPosition;if(a&&a.parent==e.parent&&a.offset==e.index&&(n=r.Pj+n),i!=n){const e=(0,g.Z)(i,n);for(const t of e)"insert"===t.type?s.insertData(t.index,t.values.join("")):s.deleteData(t.index,t.howMany)}}_updateAttrs(e){const t=this.domConverter.mapViewToDom(e);if(!t)return;const s=Array.from(t.attributes).map((e=>e.name)),o=e.getAttributeKeys();for(const s of o)this.domConverter.setDomElementAttribute(t,s,e.getAttribute(s),e);for(const o of s)e.hasAttribute(o)||this.domConverter.removeDomElementAttribute(t,o)}_updateChildren(e,t){const s=this.domConverter.mapViewToDom(e);if(!s)return;const o=t.inlineFillerPosition,i=this.domConverter.mapViewToDom(e).childNodes,r=Array.from(this.domConverter.viewChildrenToDom(e,{bind:!0}));o&&o.parent===e&&v(s.ownerDocument,r,o.offset);const n=this._diffNodeLists(i,r);let l=0;const d=new Set;for(const e of n)"delete"===e?(d.add(i[l]),c(i[l])):"equal"===e&&l++;l=0;for(const e of n)"insert"===e?(a(s,l,r[l]),l++):"equal"===e&&(this._markDescendantTextToSync(this.domConverter.domToView(r[l])),l++);for(const e of d)e.parentNode||this.domConverter.unbindDomElement(e)}_diffNodeLists(e,t){return e=function(e,t){const s=Array.from(e);if(0==s.length||!t)return s;s[s.length-1]==t&&s.pop();return s}(e,this._fakeSelectionContainer),(0,n.Z)(e,t,Z.bind(null,this.domConverter))}_findReplaceActions(e,t,s){if(-1===e.indexOf("insert")||-1===e.indexOf("delete"))return e;let o=[],i=[],r=[];const a={equal:0,insert:0,delete:0};for(const c of e)"insert"===c?r.push(s[a.equal+a.insert]):"delete"===c?i.push(t[a.equal+a.delete]):(o=o.concat((0,n.Z)(i,r,y).map((e=>"equal"===e?"replace":e))),o.push("equal"),i=[],r=[]),a[c]++;return o.concat((0,n.Z)(i,r,y).map((e=>"equal"===e?"replace":e)))}_markDescendantTextToSync(e){if(e)if(e.is("$text"))this.markedTexts.add(e);else if(e.is("element"))for(const t of e.getChildren())this._markDescendantTextToSync(t)}_updateSelection(){if(f.ZP.isBlink&&!f.ZP.isAndroid&&this.isSelecting&&!this.markedChildren.size)return;if(0===this.selection.rangeCount)return this._removeDomSelection(),void this._removeFakeSelection();const e=this.domConverter.mapViewToDom(this.selection.editableElement);this.isFocused&&e&&(this.selection.isFake?this._updateFakeSelection(e):(this._removeFakeSelection(),this._updateDomSelection(e)))}_updateFakeSelection(e){const t=e.ownerDocument;this._fakeSelectionContainer||(this._fakeSelectionContainer=function(e){const t=e.createElement("div");return t.className="ck-fake-selection-container",Object.assign(t.style,{position:"fixed",top:0,left:"-9999px",width:"42px"}),t.textContent=" ",t}(t));const s=this._fakeSelectionContainer;if(this.domConverter.bindFakeSelection(s,this.selection),!this._fakeSelectionNeedsUpdate(e))return;s.parentElement&&s.parentElement==e||e.appendChild(s),s.textContent=this.selection.fakeSelectionLabel||" ";const o=t.getSelection(),i=t.createRange();o.removeAllRanges(),i.selectNodeContents(s),o.addRange(i)}_updateDomSelection(e){const t=e.ownerDocument.defaultView.getSelection();if(!this._domSelectionNeedsUpdate(t))return;const s=this.domConverter.viewPositionToDom(this.selection.anchor),o=this.domConverter.viewPositionToDom(this.selection.focus);t.collapse(s.parent,s.offset),t.extend(o.parent,o.offset),f.ZP.isGecko&&function(e,t){const s=e.parent;if(s.nodeType!=Node.ELEMENT_NODE||e.offset!=s.childNodes.length-1)return;const o=s.childNodes[e.offset];o&&"BR"==o.tagName&&t.addRange(t.getRangeAt(0))}(o,t)}_domSelectionNeedsUpdate(e){if(!this.domConverter.isDomSelectionCorrect(e))return!0;const t=e&&this.domConverter.domSelectionToView(e);return(!t||!this.selection.isEqual(t))&&!(!this.selection.isCollapsed&&this.selection.isSimilar(t))}_fakeSelectionNeedsUpdate(e){const t=this._fakeSelectionContainer,s=e.ownerDocument.getSelection();return!t||t.parentElement!==e||(s.anchorNode!==t&&!t.contains(s.anchorNode)||t.textContent!==this.selection.fakeSelectionLabel)}_removeDomSelection(){for(const e of this.domDocuments){const t=e.getSelection();if(t.rangeCount){const s=e.activeElement,o=this.domConverter.mapDomToView(s);s&&o&&t.removeAllRanges()}}}_removeFakeSelection(){const e=this._fakeSelectionContainer;e&&e.remove()}_updateFocus(){if(this.isFocused){const e=this.selection.editableElement;e&&this.domConverter.focus(e)}}}function v(e,t,s){const o=t instanceof Array?t:t.childNodes,i=o[s];if((0,h.Z)(i))return i.data=r.Pj+i.data,i;{const i=e.createTextNode(r.Pj);return Array.isArray(t)?o.splice(s,0,i):a(t,s,i),i}}function y(e,t){return(0,p.Z)(e)&&(0,p.Z)(t)&&!(0,h.Z)(e)&&!(0,h.Z)(t)&&!(0,u.Z)(e)&&!(0,u.Z)(t)&&e.tagName.toLowerCase()===t.tagName.toLowerCase()}function Z(e,t,s){return t===s||((0,h.Z)(t)&&(0,h.Z)(s)?t.data===s.data:!(!e.isBlockFiller(t)||!e.isBlockFiller(s)))}},"./packages/ckeditor5-engine/src/view/selection.ts":(e,t,s)=>{"use strict";s.d(t,{Z:()=>u});var o=s("./packages/ckeditor5-engine/src/view/typecheckable.ts"),i=s("./packages/ckeditor5-engine/src/view/range.ts"),r=s("./packages/ckeditor5-engine/src/view/position.ts"),n=s("./packages/ckeditor5-engine/src/view/node.ts"),a=s("./packages/ckeditor5-engine/src/view/documentselection.ts"),c=s("./packages/ckeditor5-utils/src/ckeditorerror.ts"),l=s("./packages/ckeditor5-utils/src/count.ts"),d=s("./packages/ckeditor5-utils/src/isiterable.ts"),h=s("./packages/ckeditor5-utils/src/emittermixin.ts");class u extends((0,h.ZP)(o.Z)){constructor(...e){super(),this._ranges=[],this._lastRangeBackward=!1,this._isFake=!1,this._fakeSelectionLabel="",e.length&&this.setTo(...e)}get isFake(){return this._isFake}get fakeSelectionLabel(){return this._fakeSelectionLabel}get anchor(){if(!this._ranges.length)return null;const e=this._ranges[this._ranges.length-1];return(this._lastRangeBackward?e.end:e.start).clone()}get focus(){if(!this._ranges.length)return null;const e=this._ranges[this._ranges.length-1];return(this._lastRangeBackward?e.start:e.end).clone()}get isCollapsed(){return 1===this.rangeCount&&this._ranges[0].isCollapsed}get rangeCount(){return this._ranges.length}get isBackward(){return!this.isCollapsed&&this._lastRangeBackward}get editableElement(){return this.anchor?this.anchor.editableElement:null}*getRanges(){for(const e of this._ranges)yield e.clone()}getFirstRange(){let e=null;for(const t of this._ranges)e&&!t.start.isBefore(e.start)||(e=t);return e?e.clone():null}getLastRange(){let e=null;for(const t of this._ranges)e&&!t.end.isAfter(e.end)||(e=t);return e?e.clone():null}getFirstPosition(){const e=this.getFirstRange();return e?e.start.clone():null}getLastPosition(){const e=this.getLastRange();return e?e.end.clone():null}isEqual(e){if(this.isFake!=e.isFake)return!1;if(this.isFake&&this.fakeSelectionLabel!=e.fakeSelectionLabel)return!1;if(this.rangeCount!=e.rangeCount)return!1;if(0===this.rangeCount)return!0;if(!this.anchor.isEqual(e.anchor)||!this.focus.isEqual(e.focus))return!1;for(const t of this._ranges){let s=!1;for(const o of e._ranges)if(t.isEqual(o)){s=!0;break}if(!s)return!1}return!0}isSimilar(e){if(this.isBackward!=e.isBackward)return!1;const t=(0,l.Z)(this.getRanges());if(t!=(0,l.Z)(e.getRanges()))return!1;if(0==t)return!0;for(let t of this.getRanges()){t=t.getTrimmed();let s=!1;for(let o of e.getRanges())if(o=o.getTrimmed(),t.start.isEqual(o.start)&&t.end.isEqual(o.end)){s=!0;break}if(!s)return!1}return!0}getSelectedElement(){return 1!==this.rangeCount?null:this.getFirstRange().getContainedElement()}setTo(...e){let[t,s,o]=e;if("object"==typeof s&&(o=s,s=void 0),null===t)this._setRanges([]),this._setFakeOptions(o);else if(t instanceof u||t instanceof a.Z)this._setRanges(t.getRanges(),t.isBackward),this._setFakeOptions({fake:t.isFake,label:t.fakeSelectionLabel});else if(t instanceof i.Z)this._setRanges([t],o&&o.backward),this._setFakeOptions(o);else if(t instanceof r.Z)this._setRanges([new i.Z(t)]),this._setFakeOptions(o);else if(t instanceof n.Z){const e=!!o&&!!o.backward;let n;if(void 0===s)throw new c.ZP("view-selection-setto-required-second-parameter",this);n="in"==s?i.Z._createIn(t):"on"==s?i.Z._createOn(t):new i.Z(r.Z._createAt(t,s)),this._setRanges([n],e),this._setFakeOptions(o)}else{if(!(0,d.Z)(t))throw new c.ZP("view-selection-setto-not-selectable",this);this._setRanges(t,o&&o.backward),this._setFakeOptions(o)}this.fire("change")}setFocus(e,t){if(null===this.anchor)throw new c.ZP("view-selection-setfocus-no-ranges",this);const s=r.Z._createAt(e,t);if("same"==s.compareWith(this.focus))return;const o=this.anchor;this._ranges.pop(),"before"==s.compareWith(o)?this._addRange(new i.Z(s,o),!0):this._addRange(new i.Z(o,s)),this.fire("change")}_setRanges(e,t=!1){e=Array.from(e),this._ranges=[];for(const t of e)this._addRange(t);this._lastRangeBackward=!!t}_setFakeOptions(e={}){this._isFake=!!e.fake,this._fakeSelectionLabel=e.fake&&e.label||""}_addRange(e,t=!1){if(!(e instanceof i.Z))throw new c.ZP("view-selection-add-range-not-range",this);this._pushRange(e),this._lastRangeBackward=!!t}_pushRange(e){for(const t of this._ranges)if(e.isIntersecting(t))throw new c.ZP("view-selection-range-intersects",this,{addedRange:e,intersectingRange:t});this._ranges.push(new i.Z(e.start,e.end))}}u.prototype.is=function(e){return"selection"===e||"view:selection"===e}},"./packages/ckeditor5-engine/src/view/stylesmap.ts":(e,t,s)=>{"use strict";s.d(t,{A:()=>ee,Z:()=>Y});var o=s("./node_modules/lodash-es/isObject.js"),i=s("./node_modules/lodash-es/isArray.js"),r=s("./node_modules/lodash-es/isSymbol.js"),n=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,a=/^\w*$/;const c=function(e,t){if((0,i.Z)(e))return!1;var s=typeof e;return!("number"!=s&&"symbol"!=s&&"boolean"!=s&&null!=e&&!(0,r.Z)(e))||(a.test(e)||!n.test(e)||null!=t&&e in Object(t))};var l=s("./node_modules/lodash-es/_MapCache.js");function d(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError("Expected a function");var s=function(){var o=arguments,i=t?t.apply(this,o):o[0],r=s.cache;if(r.has(i))return r.get(i);var n=e.apply(this,o);return s.cache=r.set(i,n)||r,n};return s.cache=new(d.Cache||l.Z),s}d.Cache=l.Z;const h=d;var u=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,p=/\\(\\)?/g;const g=function(e){var t=h(e,(function(e){return 500===s.size&&s.clear(),e})),s=t.cache;return t}((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(u,(function(e,s,o,i){t.push(o?i.replace(p,"$1"):s||e)})),t}));var f=s("./node_modules/lodash-es/toString.js");const m=function(e,t){return(0,i.Z)(e)?e:c(e,t)?[e]:g((0,f.Z)(e))};const k=function(e){var t=null==e?0:e.length;return t?e[t-1]:void 0};const b=function(e){if("string"==typeof e||(0,r.Z)(e))return e;var t=e+"";return"0"==t&&1/e==-Infinity?"-0":t};const _=function(e,t){for(var s=0,o=(t=m(t,e)).length;null!=e&&si?0:i+t),(s=s>i?i:s)<0&&(s+=i),i=t>s?0:s-t>>>0,t>>>=0;for(var r=Array(i);++ot===e));return Array.isArray(t)}set(e,t){if((0,o.Z)(e))for(const[t,s]of Object.entries(e))this._styleProcessor.toNormalizedForm(t,s,this._styles);else this._styleProcessor.toNormalizedForm(e,t,this._styles)}remove(e){const t=te(e);Z(this._styles,t),delete this._styles[e],this._cleanEmptyObjectsOnPath(t)}getNormalized(e){return this._styleProcessor.getNormalized(e,this._styles)}toString(){return this.isEmpty?"":this._getStylesEntries().map((e=>e.join(":"))).sort().join(";")+";"}getAsString(e){if(this.isEmpty)return;if(this._styles[e]&&!(0,o.Z)(this._styles[e]))return this._styles[e];const t=this._styleProcessor.getReducedForm(e,this._styles).find((([t])=>t===e));return Array.isArray(t)?t[1]:void 0}getStyleNames(e=!1){if(this.isEmpty)return[];if(e)return this._styleProcessor.getStyleNames(this._styles);return this._getStylesEntries().map((([e])=>e))}clear(){this._styles={}}_getStylesEntries(){const e=[],t=Object.keys(this._styles);for(const s of t)e.push(...this._styleProcessor.getReducedForm(s,this._styles));return e}_cleanEmptyObjectsOnPath(e){const t=e.split(".");if(!(t.length>1))return;const s=t.splice(0,t.length-1).join("."),o=P(this._styles,s);if(!o)return;!Array.from(Object.keys(o)).length&&this.remove(s)}}class ee{constructor(){this._normalizers=new Map,this._extractors=new Map,this._reducers=new Map,this._consumables=new Map}toNormalizedForm(e,t,s){if((0,o.Z)(t))se(s,te(e),t);else if(this._normalizers.has(e)){const o=this._normalizers.get(e),{path:i,value:r}=o(t);se(s,i,r)}else se(s,e,t)}getNormalized(e,t){if(!e)return K({},t);if(void 0!==t[e])return t[e];if(this._extractors.has(e)){const s=this._extractors.get(e);if("string"==typeof s)return P(t,s);const o=s(e,t);if(o)return o}return P(t,te(e))}getReducedForm(e,t){const s=this.getNormalized(e,t);if(void 0===s)return[];if(this._reducers.has(e)){return this._reducers.get(e)(s)}return[[e,s]]}getStyleNames(e){const t=Array.from(this._consumables.keys()).filter((t=>{const s=this.getNormalized(t,e);return s&&"object"==typeof s?Object.keys(s).length:s})),s=new Set([...t,...Object.keys(e)]);return Array.from(s.values())}getRelatedStyles(e){return this._consumables.get(e)||[]}setNormalizer(e,t){this._normalizers.set(e,t)}setExtractor(e,t){this._extractors.set(e,t)}setReducer(e,t){this._reducers.set(e,t)}setStyleRelation(e,t){this._mapStyleNames(e,t);for(const s of t)this._mapStyleNames(s,[e])}_mapStyleNames(e,t){this._consumables.has(e)||this._consumables.set(e,[]),this._consumables.get(e).push(...t)}}function te(e){return e.replace("-",".")}function se(e,t,s){let i=s;(0,o.Z)(s)&&(i=K({},P(e,t),s)),X(e,t,i)}},"./packages/ckeditor5-engine/src/view/text.ts":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});var o=s("./packages/ckeditor5-engine/src/view/node.ts");class i extends o.Z{constructor(e,t){super(e),this._textData=t}get data(){return this._textData}get _data(){return this.data}set _data(e){this._fireChange("text",this),this._textData=e}isSimilar(e){return e instanceof i&&(this===e||this.data===e.data)}_clone(){return new i(this.document,this.data)}}i.prototype.is=function(e){return"$text"===e||"view:$text"===e||"text"===e||"view:text"===e||"node"===e||"view:node"===e}},"./packages/ckeditor5-engine/src/view/textproxy.ts":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./packages/ckeditor5-engine/src/view/typecheckable.ts"),i=s("./packages/ckeditor5-utils/src/ckeditorerror.ts");class r extends o.Z{constructor(e,t,s){if(super(),this.textNode=e,t<0||t>e.data.length)throw new i.ZP("view-textproxy-wrong-offsetintext",this);if(s<0||t+s>e.data.length)throw new i.ZP("view-textproxy-wrong-length",this);this.data=e.data.substring(t,t+s),this.offsetInText=t}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}getAncestors(e={}){const t=[];let s=e.includeSelf?this.textNode:this.parent;for(;null!==s;)t[e.parentFirst?"push":"unshift"](s),s=s.parent;return t}}r.prototype.is=function(e){return"$textProxy"===e||"view:$textProxy"===e||"textProxy"===e||"view:textProxy"===e}},"./packages/ckeditor5-engine/src/view/treewalker.ts":(e,t,s)=>{"use strict";s.d(t,{Z:()=>c});var o=s("./packages/ckeditor5-engine/src/view/element.ts"),i=s("./packages/ckeditor5-engine/src/view/text.ts"),r=s("./packages/ckeditor5-engine/src/view/textproxy.ts"),n=s("./packages/ckeditor5-engine/src/view/position.ts"),a=s("./packages/ckeditor5-utils/src/ckeditorerror.ts");class c{constructor(e={}){if(!e.boundaries&&!e.startPosition)throw new a.ZP("view-tree-walker-no-start-position",null);if(e.direction&&"forward"!=e.direction&&"backward"!=e.direction)throw new a.ZP("view-tree-walker-unknown-direction",e.startPosition,{direction:e.direction});this.boundaries=e.boundaries||null,e.startPosition?this.position=n.Z._createAt(e.startPosition):this.position=n.Z._createAt(e.boundaries["backward"==e.direction?"end":"start"]),this.direction=e.direction||"forward",this.singleCharacters=!!e.singleCharacters,this.shallow=!!e.shallow,this.ignoreElementEnd=!!e.ignoreElementEnd,this._boundaryStartParent=this.boundaries?this.boundaries.start.parent:null,this._boundaryEndParent=this.boundaries?this.boundaries.end.parent:null}[Symbol.iterator](){return this}skip(e){let t,s,o;do{o=this.position,({done:t,value:s}=this.next())}while(!t&&e(s));t||(this.position=o)}next(){return"forward"==this.direction?this._next():this._previous()}_next(){let e=this.position.clone();const t=this.position,s=e.parent;if(null===s.parent&&e.offset===s.childCount)return{done:!0,value:void 0};if(s===this._boundaryEndParent&&e.offset==this.boundaries.end.offset)return{done:!0,value:void 0};let a;if(s instanceof i.Z){if(e.isAtEnd)return this.position=n.Z._createAfter(s),this._next();a=s.data[e.offset]}else a=s.getChild(e.offset);if(a instanceof o.Z)return this.shallow?e.offset++:e=new n.Z(a,0),this.position=e,this._formatReturnValue("elementStart",a,t,e,1);if(a instanceof i.Z){if(this.singleCharacters)return e=new n.Z(a,0),this.position=e,this._next();{let s,o=a.data.length;return a==this._boundaryEndParent?(o=this.boundaries.end.offset,s=new r.Z(a,0,o),e=n.Z._createAfter(s)):(s=new r.Z(a,0,a.data.length),e.offset++),this.position=e,this._formatReturnValue("text",s,t,e,o)}}if("string"==typeof a){let o;if(this.singleCharacters)o=1;else{o=(s===this._boundaryEndParent?this.boundaries.end.offset:s.data.length)-e.offset}const i=new r.Z(s,e.offset,o);return e.offset+=o,this.position=e,this._formatReturnValue("text",i,t,e,o)}return e=n.Z._createAfter(s),this.position=e,this.ignoreElementEnd?this._next():this._formatReturnValue("elementEnd",s,t,e)}_previous(){let e=this.position.clone();const t=this.position,s=e.parent;if(null===s.parent&&0===e.offset)return{done:!0,value:void 0};if(s==this._boundaryStartParent&&e.offset==this.boundaries.start.offset)return{done:!0,value:void 0};let a;if(s instanceof i.Z){if(e.isAtStart)return this.position=n.Z._createBefore(s),this._previous();a=s.data[e.offset-1]}else a=s.getChild(e.offset-1);if(a instanceof o.Z)return this.shallow?(e.offset--,this.position=e,this._formatReturnValue("elementStart",a,t,e,1)):(e=new n.Z(a,a.childCount),this.position=e,this.ignoreElementEnd?this._previous():this._formatReturnValue("elementEnd",a,t,e));if(a instanceof i.Z){if(this.singleCharacters)return e=new n.Z(a,a.data.length),this.position=e,this._previous();{let s,o=a.data.length;if(a==this._boundaryStartParent){const t=this.boundaries.start.offset;s=new r.Z(a,t,a.data.length-t),o=s.data.length,e=n.Z._createBefore(s)}else s=new r.Z(a,0,a.data.length),e.offset--;return this.position=e,this._formatReturnValue("text",s,t,e,o)}}if("string"==typeof a){let o;if(this.singleCharacters)o=1;else{const t=s===this._boundaryStartParent?this.boundaries.start.offset:0;o=e.offset-t}e.offset-=o;const i=new r.Z(s,e.offset,o);return this.position=e,this._formatReturnValue("text",i,t,e,o)}return e=n.Z._createBefore(s),this.position=e,this._formatReturnValue("elementStart",s,t,e,1)}_formatReturnValue(e,t,s,o,i){return t instanceof r.Z&&(t.offsetInText+t.data.length==t.textNode.data.length&&("forward"!=this.direction||this.boundaries&&this.boundaries.end.isEqual(this.position)?s=n.Z._createAfter(t.textNode):(o=n.Z._createAfter(t.textNode),this.position=o)),0===t.offsetInText&&("backward"!=this.direction||this.boundaries&&this.boundaries.start.isEqual(this.position)?s=n.Z._createBefore(t.textNode):(o=n.Z._createBefore(t.textNode),this.position=o))),{done:!1,value:{type:e,item:t,previousPosition:s,nextPosition:o,length:i}}}}},"./packages/ckeditor5-engine/src/view/typecheckable.ts":(e,t,s)=>{"use strict";s.d(t,{Z:()=>o});class o{is(){throw new Error("is() method is abstract")}}},"./packages/ckeditor5-engine/src/view/uielement.ts":(e,t,s)=>{"use strict";s.d(t,{Z:()=>a,h:()=>c});var o=s("./packages/ckeditor5-engine/src/view/element.ts"),i=s("./packages/ckeditor5-engine/src/view/node.ts"),r=s("./packages/ckeditor5-utils/src/ckeditorerror.ts"),n=s("./packages/ckeditor5-utils/src/keyboard.ts");class a extends o.Z{constructor(...e){super(...e),this.getFillerOffset=l}_insertChild(e,t){if(t&&(t instanceof i.Z||Array.from(t).length>0))throw new r.ZP("view-uielement-cannot-add",[this,t]);return 0}render(e,t){return this.toDomElement(e)}toDomElement(e){const t=e.createElement(this.name);for(const e of this.getAttributeKeys())t.setAttribute(e,this.getAttribute(e));return t}}function c(e){e.document.on("arrowKey",((t,s)=>function(e,t,s){if(t.keyCode==n.Do.arrowright){const e=t.domTarget.ownerDocument.defaultView.getSelection(),o=1==e.rangeCount&&e.getRangeAt(0).collapsed;if(o||t.shiftKey){const t=e.focusNode,i=e.focusOffset,r=s.domPositionToView(t,i);if(null===r)return;let n=!1;const a=r.getLastMatchingPosition((e=>(e.item.is("uiElement")&&(n=!0),!(!e.item.is("uiElement")&&!e.item.is("attributeElement")))));if(n){const t=s.viewPositionToDom(a);o?e.collapse(t.parent,t.offset):e.extend(t.parent,t.offset)}}}}(0,s,e.domConverter)),{priority:"low"})}function l(){return null}a.prototype.is=function(e,t){return t?t===this.name&&("uiElement"===e||"view:uiElement"===e||"element"===e||"view:element"===e):"uiElement"===e||"view:uiElement"===e||"element"===e||"view:element"===e||"node"===e||"view:node"===e}},"./packages/ckeditor5-utils/src/ckeditorerror.ts":(e,t,s)=>{"use strict";s.d(t,{H:()=>r,KE:()=>i,ZP:()=>o});class o extends Error{constructor(e,t,s){super(function(e,t){const s=new WeakSet,o=(e,t)=>{if("object"==typeof t&&null!==t){if(s.has(t))return`[object ${t.constructor.name}]`;s.add(t)}return t},i=t?` ${JSON.stringify(t,o)}`:"",r=n(e);return e+i+r}(e,s)),this.name="CKEditorError",this.context=t,this.data=s}is(e){return"CKEditorError"===e}static rethrowUnexpectedError(e,t){if(e.is&&e.is("CKEditorError"))throw e;const s=new o(e.message,t);throw s.stack=e.stack,s}}function i(e,t){console.warn(...a(e,t))}function r(e,t){console.error(...a(e,t))}function n(e){return`\nRead more: https://ckeditor.com/docs/ckeditor5/latest/support/error-codes.html#error-${e}`}function a(e,t){const s=n(e);return t?[e,t,s]:[e,s]}},"./packages/ckeditor5-utils/src/collection.ts":(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});var o=s("./packages/ckeditor5-utils/src/emittermixin.ts"),i=s("./packages/ckeditor5-utils/src/ckeditorerror.ts"),r=s("./packages/ckeditor5-utils/src/uid.ts"),n=s("./packages/ckeditor5-utils/src/isiterable.ts");class a extends o.Q5{constructor(e={},t={}){super();const s=(0,n.Z)(e);if(s||(t=e),this._items=[],this._itemMap=new Map,this._idProperty=t.idProperty||"id",this._bindToExternalToInternalMap=new WeakMap,this._bindToInternalToExternalMap=new WeakMap,this._skippedIndexesFromExternal=[],s)for(const t of e)this._items.push(t),this._itemMap.set(this._getItemIdBeforeAdding(t),t)}get length(){return this._items.length}get first(){return this._items[0]||null}get last(){return this._items[this.length-1]||null}add(e,t){return this.addMany([e],t)}addMany(e,t){if(void 0===t)t=this._items.length;else if(t>this._items.length||t<0)throw new i.ZP("collection-add-item-invalid-index",this);let s=0;for(const o of e){const e=this._getItemIdBeforeAdding(o),i=t+s;this._items.splice(i,0,o),this._itemMap.set(e,o),this.fire("add",o,i),s++}return this.fire("change",{added:e,removed:[],index:t}),this}get(e){let t;if("string"==typeof e)t=this._itemMap.get(e);else{if("number"!=typeof e)throw new i.ZP("collection-get-invalid-arg",this);t=this._items[e]}return t||null}has(e){if("string"==typeof e)return this._itemMap.has(e);{const t=e[this._idProperty];return t&&this._itemMap.has(t)}}getIndex(e){let t;return t="string"==typeof e?this._itemMap.get(e):e,t?this._items.indexOf(t):-1}remove(e){const[t,s]=this._remove(e);return this.fire("change",{added:[],removed:[t],index:s}),t}map(e,t){return this._items.map(e,t)}find(e,t){return this._items.find(e,t)}filter(e,t){return this._items.filter(e,t)}clear(){this._bindToCollection&&(this.stopListening(this._bindToCollection),this._bindToCollection=null);const e=Array.from(this._items);for(;this.length;)this._remove(0);this.fire("change",{added:[],removed:e,index:0})}bindTo(e){if(this._bindToCollection)throw new i.ZP("collection-bind-to-rebind",this);return this._bindToCollection=e,{as:e=>{this._setUpBindToBinding((t=>new e(t)))},using:e=>{"function"==typeof e?this._setUpBindToBinding(e):this._setUpBindToBinding((t=>t[e]))}}}_setUpBindToBinding(e){const t=this._bindToCollection,s=(s,o,i)=>{const r=t._bindToCollection==this,n=t._bindToInternalToExternalMap.get(o);if(r&&n)this._bindToExternalToInternalMap.set(o,n),this._bindToInternalToExternalMap.set(n,o);else{const s=e(o);if(!s)return void this._skippedIndexesFromExternal.push(i);let r=i;for(const e of this._skippedIndexesFromExternal)i>e&&r--;for(const e of t._skippedIndexesFromExternal)r>=e&&r++;this._bindToExternalToInternalMap.set(o,s),this._bindToInternalToExternalMap.set(s,o),this.add(s,r);for(let e=0;e{const o=this._bindToExternalToInternalMap.get(t);o&&this.remove(o),this._skippedIndexesFromExternal=this._skippedIndexesFromExternal.reduce(((e,t)=>(st&&e.push(t),e)),[])}))}_getItemIdBeforeAdding(e){const t=this._idProperty;let s;if(t in e){if(s=e[t],"string"!=typeof s)throw new i.ZP("collection-add-invalid-id",this);if(this.get(s))throw new i.ZP("collection-add-item-already-exists",this)}else e[t]=s=(0,r.Z)();return s}_remove(e){let t,s,o,r=!1;const n=this._idProperty;if("string"==typeof e?(s=e,o=this._itemMap.get(s),r=!o,o&&(t=this._items.indexOf(o))):"number"==typeof e?(t=e,o=this._items[t],r=!o,o&&(s=o[n])):(o=e,s=o[n],t=this._items.indexOf(o),r=-1==t||!this._itemMap.get(s)),r)throw new i.ZP("collection-remove-404",this);this._items.splice(t,1),this._itemMap.delete(s);const a=this._bindToInternalToExternalMap.get(o);return this._bindToInternalToExternalMap.delete(o),this._bindToExternalToInternalMap.delete(a),this.fire("remove",o,t),[o,t]}[Symbol.iterator](){return this._items[Symbol.iterator]()}}},"./packages/ckeditor5-utils/src/comparearrays.ts":(e,t,s)=>{"use strict";function o(e,t){const s=Math.min(e.length,t.length);for(let o=0;oo})},"./packages/ckeditor5-utils/src/count.ts":(e,t,s)=>{"use strict";function o(e){let t=0;for(const s of e)t++;return t}s.d(t,{Z:()=>o})},"./packages/ckeditor5-utils/src/diff.ts":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});var o=s("./packages/ckeditor5-utils/src/fastdiff.ts");function i(e,t,s){s=s||function(e,t){return e===t};const o=e.length,r=t.length;if(o>200||r>200||o+r>300)return i.fastDiff(e,t,s,!0);let n,a;if(rr?-1:1;h[o+d]&&(h[o]=h[o+d].slice(0)),h[o]||(h[o]=[]),h[o].push(i>r?n:a);let p=Math.max(i,r),g=p-o;for(;gd;g--)u[g]=p(g);u[d]=p(d),f++}while(u[d]!==l);return h[d].slice(1)}i.fastDiff=o.Z},"./packages/ckeditor5-utils/src/dom/createelement.ts":(e,t,s)=>{"use strict";s.d(t,{Z:()=>c});var o=s("./packages/ckeditor5-utils/src/isiterable.ts"),i=s("./node_modules/lodash-es/_baseGetTag.js"),r=s("./node_modules/lodash-es/isArray.js"),n=s("./node_modules/lodash-es/isObjectLike.js");const a=function(e){return"string"==typeof e||!(0,r.Z)(e)&&(0,n.Z)(e)&&"[object String]"==(0,i.Z)(e)};function c(e,t,s={},i=[]){const r=s&&s.xmlns,n=r?e.createElementNS(r,t):e.createElement(t);for(const e in s)n.setAttribute(e,s[e]);!a(i)&&(0,o.Z)(i)||(i=[i]);for(let t of i)a(t)&&(t=e.createTextNode(t)),n.appendChild(t);return n}},"./packages/ckeditor5-utils/src/dom/emittermixin.ts":(e,t,s)=>{"use strict";s.d(t,{Q:()=>c,Z:()=>a});var o=s("./packages/ckeditor5-utils/src/emittermixin.ts"),i=s("./packages/ckeditor5-utils/src/uid.ts"),r=s("./packages/ckeditor5-utils/src/dom/isnode.ts"),n=s("./packages/ckeditor5-utils/src/dom/iswindow.ts");function a(e){return class extends e{listenTo(e,t,s,i={}){if((0,r.Z)(e)||(0,n.Z)(e)){const o={capture:!!i.useCapture,passive:!!i.usePassive},r=this._getProxyEmitter(e,o)||new l(e,o);this.listenTo(r,t,s,i)}else o.Q5.prototype.listenTo.call(this,e,t,s,i)}stopListening(e,t,s){if((0,r.Z)(e)||(0,n.Z)(e)){const o=this._getAllProxyEmitters(e);for(const e of o)this.stopListening(e,t,s)}else o.Q5.prototype.stopListening.call(this,e,t,s)}_getProxyEmitter(e,t){return(0,o.Rl)(this,d(e,t))}_getAllProxyEmitters(e){return[{capture:!1,passive:!1},{capture:!1,passive:!0},{capture:!0,passive:!1},{capture:!0,passive:!0}].map((t=>this._getProxyEmitter(e,t))).filter((e=>!!e))}}}const c=a(o.Q5);["_getProxyEmitter","_getAllProxyEmitters","on","once","off","listenTo","stopListening","fire","delegate","stopDelegating","_addEventListener","_removeEventListener"].forEach((e=>{a[e]=c.prototype[e]}));class l extends o.Q5{constructor(e,t){super(),(0,o.Hv)(this,d(e,t)),this._domNode=e,this._options=t}attach(e){if(this._domListeners&&this._domListeners[e])return;const t=this._createDomListener(e);this._domNode.addEventListener(e,t,this._options),this._domListeners||(this._domListeners={}),this._domListeners[e]=t}detach(e){let t;!this._domListeners[e]||(t=this._events[e])&&t.callbacks.length||this._domListeners[e].removeListener()}_addEventListener(e,t,s){this.attach(e),o.Q5.prototype._addEventListener.call(this,e,t,s)}_removeEventListener(e,t){o.Q5.prototype._removeEventListener.call(this,e,t),this.detach(e)}_createDomListener(e){const t=t=>{this.fire(e,t)};return t.removeListener=()=>{this._domNode.removeEventListener(e,t,this._options),delete this._domListeners[e]},t}}function d(e,t){let s=function(e){return e["data-ck-expando"]||(e["data-ck-expando"]=(0,i.Z)())}(e);for(const e of Object.keys(t).sort())t[e]&&(s+="-"+e);return s}},"./packages/ckeditor5-utils/src/dom/getborderwidths.ts":(e,t,s)=>{"use strict";function o(e){const t=e.ownerDocument.defaultView.getComputedStyle(e);return{top:parseInt(t.borderTopWidth,10),right:parseInt(t.borderRightWidth,10),bottom:parseInt(t.borderBottomWidth,10),left:parseInt(t.borderLeftWidth,10)}}s.d(t,{Z:()=>o})},"./packages/ckeditor5-utils/src/dom/global.ts":(e,t,s)=>{"use strict";let o;s.d(t,{Z:()=>i});try{o={window,document}}catch(e){o={window:{},document:{}}}const i=o},"./packages/ckeditor5-utils/src/dom/iscomment.ts":(e,t,s)=>{"use strict";function o(e){return e&&e.nodeType===Node.COMMENT_NODE}s.d(t,{Z:()=>o})},"./packages/ckeditor5-utils/src/dom/isnode.ts":(e,t,s)=>{"use strict";function o(e){if(e){if(e.defaultView)return e instanceof e.defaultView.Document;if(e.ownerDocument&&e.ownerDocument.defaultView)return e instanceof e.ownerDocument.defaultView.Node}return!1}s.d(t,{Z:()=>o})},"./packages/ckeditor5-utils/src/dom/isrange.ts":(e,t,s)=>{"use strict";function o(e){return"[object Range]"==Object.prototype.toString.apply(e)}s.d(t,{Z:()=>o})},"./packages/ckeditor5-utils/src/dom/istext.ts":(e,t,s)=>{"use strict";function o(e){return"[object Text]"==Object.prototype.toString.call(e)}s.d(t,{Z:()=>o})},"./packages/ckeditor5-utils/src/dom/isvisible.ts":(e,t,s)=>{"use strict";function o(e){return!!(e&&e.getClientRects&&e.getClientRects().length)}s.d(t,{Z:()=>o})},"./packages/ckeditor5-utils/src/dom/iswindow.ts":(e,t,s)=>{"use strict";function o(e){const t=Object.prototype.toString.apply(e);return"[object Window]"==t||"[object global]"==t}s.d(t,{Z:()=>o})},"./packages/ckeditor5-utils/src/dom/position.ts":(e,t,s)=>{"use strict";s.d(t,{x:()=>a});var o=s("./packages/ckeditor5-utils/src/dom/global.ts"),i=s("./packages/ckeditor5-utils/src/dom/rect.ts");var r=s("./packages/ckeditor5-utils/src/dom/getborderwidths.ts"),n=s("./node_modules/lodash-es/isFunction.js");function a({element:e,target:t,positions:s,limiter:r,fitInViewport:a,viewportOffsetConfig:c}){(0,n.Z)(t)&&(t=t()),(0,n.Z)(r)&&(r=r());const d=function(e){return e&&e.parentNode?e.offsetParent===o.Z.document.body?null:e.offsetParent:null}(e),h=new i.Z(e),u=new i.Z(t);let p;const g=a&&function(e){e=Object.assign({top:0,bottom:0,left:0,right:0},e);const t=new i.Z(o.Z.window);return t.top+=e.top,t.height-=e.top,t.bottom-=e.bottom,t.height-=e.bottom,t}(c)||null,f={targetRect:u,elementRect:h,positionedElementAncestor:d,viewportRect:g};if(r||a){const e=r&&new i.Z(r).getVisible();Object.assign(f,{limiterRect:e,viewportRect:g}),p=function(e,t){const{elementRect:s}=t,o=s.getArea(),i=e.map((e=>new l(e,t))).filter((e=>!!e.name));let r=0,n=null;for(const e of i){const{limiterIntersectionArea:t,viewportIntersectionArea:s}=e;if(t===o)return e;const i=s**2+t**2;i>r&&(r=i,n=e)}return n}(s,f)||new l(s[0],f)}else p=new l(s[0],f);return p}function c(e){const{scrollX:t,scrollY:s}=o.Z.window;return e.clone().moveBy(t,s)}class l{constructor(e,t){const s=e(t.targetRect,t.elementRect,t.viewportRect);if(!s)return;const{left:o,top:i,name:r,config:n}=s;this.name=r,this.config=n,this._positioningFunctionCorrdinates={left:o,top:i},this._options=t}get left(){return this._absoluteRect.left}get top(){return this._absoluteRect.top}get limiterIntersectionArea(){const e=this._options.limiterRect;if(e){const t=this._options.viewportRect;if(!t)return e.getIntersectionArea(this._rect);{const s=e.getIntersection(t);if(s)return s.getIntersectionArea(this._rect)}}return 0}get viewportIntersectionArea(){const e=this._options.viewportRect;return e?e.getIntersectionArea(this._rect):0}get _rect(){return this._cachedRect||(this._cachedRect=this._options.elementRect.clone().moveTo(this._positioningFunctionCorrdinates.left,this._positioningFunctionCorrdinates.top)),this._cachedRect}get _absoluteRect(){return this._cachedAbsoluteRect||(this._cachedAbsoluteRect=c(this._rect),this._options.positionedElementAncestor&&function(e,t){const s=c(new i.Z(t)),o=(0,r.Z)(t);let n=0,a=0;n-=s.left,a-=s.top,n+=t.scrollLeft,a+=t.scrollTop,n-=o.left,a-=o.top,e.moveBy(n,a)}(this._cachedAbsoluteRect,this._options.positionedElementAncestor)),this._cachedAbsoluteRect}}},"./packages/ckeditor5-utils/src/dom/rect.ts":(e,t,s)=>{"use strict";s.d(t,{Z:()=>l});var o=s("./packages/ckeditor5-utils/src/dom/isrange.ts"),i=s("./packages/ckeditor5-utils/src/dom/iswindow.ts"),r=s("./packages/ckeditor5-utils/src/dom/getborderwidths.ts"),n=s("./packages/ckeditor5-utils/src/dom/istext.ts"),a=s("./node_modules/lodash-es/isElement.js");const c=["top","right","bottom","left","width","height"];class l{constructor(e){const t=(0,o.Z)(e);if(Object.defineProperty(this,"_source",{value:e._source||e,writable:!0,enumerable:!1}),u(e)||t)if(t){const t=l.getDomRangeRects(e);d(this,l.getBoundingRect(t))}else d(this,e.getBoundingClientRect());else if((0,i.Z)(e)){const{innerWidth:t,innerHeight:s}=e;d(this,{top:0,right:t,bottom:s,left:0,width:t,height:s})}else d(this,e)}clone(){return new l(this)}moveTo(e,t){return this.top=t,this.right=e+this.width,this.bottom=t+this.height,this.left=e,this}moveBy(e,t){return this.top+=t,this.right+=e,this.left+=e,this.bottom+=t,this}getIntersection(e){const t={top:Math.max(this.top,e.top),right:Math.min(this.right,e.right),bottom:Math.min(this.bottom,e.bottom),left:Math.max(this.left,e.left),width:0,height:0};return t.width=t.right-t.left,t.height=t.bottom-t.top,t.width<0||t.height<0?null:new l(t)}getIntersectionArea(e){const t=this.getIntersection(e);return t?t.getArea():0}getArea(){return this.width*this.height}getVisible(){const e=this._source;let t=this.clone();if(!h(e)){let s=e.parentNode||e.commonAncestorContainer;for(;s&&!h(s);){const e=new l(s),o=t.getIntersection(e);if(!o)return null;o.getArea(){"use strict";s.d(t,{Z:()=>i});var o=s("./packages/ckeditor5-utils/src/dom/global.ts");class i{constructor(e,t){i._observerInstance||i._createObserver(),this._element=e,this._callback=t,i._addElementCallback(e,t),i._observerInstance.observe(e)}destroy(){i._deleteElementCallback(this._element,this._callback)}static _addElementCallback(e,t){i._elementCallbacks||(i._elementCallbacks=new Map);let s=i._elementCallbacks.get(e);s||(s=new Set,i._elementCallbacks.set(e,s)),s.add(t)}static _deleteElementCallback(e,t){const s=i._getElementCallbacks(e);s&&(s.delete(t),s.size||(i._elementCallbacks.delete(e),i._observerInstance.unobserve(e))),i._elementCallbacks&&!i._elementCallbacks.size&&(i._observerInstance=null,i._elementCallbacks=null)}static _getElementCallbacks(e){return i._elementCallbacks?i._elementCallbacks.get(e):null}static _createObserver(){i._observerInstance=new o.Z.window.ResizeObserver((e=>{for(const t of e){const e=i._getElementCallbacks(t.target);if(e)for(const s of e)s(t)}}))}}i._observerInstance=null,i._elementCallbacks=null},"./packages/ckeditor5-utils/src/dom/scroll.ts":(e,t,s)=>{"use strict";s.d(t,{F:()=>a,m:()=>n});var o=s("./packages/ckeditor5-utils/src/dom/isrange.ts"),i=s("./packages/ckeditor5-utils/src/dom/rect.ts"),r=s("./packages/ckeditor5-utils/src/dom/istext.ts");function n({target:e,viewportOffset:t=0}){const s=g(e);let o=s,i=null;for(;o;){let r;r=f(o==s?e:i),l(r,(()=>m(e,o)));const n=m(e,o);if(c(o,n,t),o.parent!=o){if(i=o.frameElement,o=o.parent,!i)return}else o=null}}function a(e){l(f(e),(()=>new i.Z(e)))}function c(e,t,s){const o=t.clone().moveBy(0,s),r=t.clone().moveBy(0,-s),n=new i.Z(e).excludeScrollbarsAndBorders();if(![r,o].every((e=>n.contains(e)))){let{scrollX:i,scrollY:a}=e;h(r,n)?a-=n.top-t.top+s:d(o,n)&&(a+=t.bottom-n.bottom+s),u(t,n)?i-=n.left-t.left+s:p(t,n)&&(i+=t.right-n.right+s),e.scrollTo(i,a)}}function l(e,t){const s=g(e);let o,r;for(;e!=s.document.body;)r=t(),o=new i.Z(e).excludeScrollbarsAndBorders(),o.contains(r)||(h(r,o)?e.scrollTop-=o.top-r.top:d(r,o)&&(e.scrollTop+=r.bottom-o.bottom),u(r,o)?e.scrollLeft-=o.left-r.left:p(r,o)&&(e.scrollLeft+=r.right-o.right)),e=e.parentNode}function d(e,t){return e.bottom>t.bottom}function h(e,t){return e.topt.right}function g(e){return(0,o.Z)(e)?e.startContainer.ownerDocument.defaultView:e.ownerDocument.defaultView}function f(e){if((0,o.Z)(e)){let t=e.commonAncestorContainer;return(0,r.Z)(t)&&(t=t.parentNode),t}return e.parentNode}function m(e,t){const s=g(e),o=new i.Z(e);if(s===t)return o;{let e=s;for(;e!=t;){const t=e.frameElement,s=new i.Z(t).excludeScrollbarsAndBorders();o.moveBy(s.left,s.top),e=e.parent}}return o}},"./packages/ckeditor5-utils/src/dom/setdatainelement.ts":(e,t,s)=>{"use strict";function o(e,t){e instanceof HTMLTextAreaElement&&(e.value=t),e.innerHTML=t}s.d(t,{Z:()=>o})},"./packages/ckeditor5-utils/src/dom/tounit.ts":(e,t,s)=>{"use strict";function o(e){return t=>t+e}s.d(t,{Z:()=>o})},"./packages/ckeditor5-utils/src/emittermixin.ts":(e,t,s)=>{"use strict";s.d(t,{Hv:()=>g,Q5:()=>u,Rl:()=>p,ZP:()=>h});var o=s("./packages/ckeditor5-utils/src/eventinfo.ts"),i=s("./packages/ckeditor5-utils/src/uid.ts"),r=s("./packages/ckeditor5-utils/src/priorities.ts"),n=s("./packages/ckeditor5-utils/src/inserttopriorityarray.ts"),a=(s("./packages/ckeditor5-utils/src/version.ts"),s("./packages/ckeditor5-utils/src/ckeditorerror.ts"));const c=Symbol("listeningTo"),l=Symbol("emitterId"),d=Symbol("delegations");function h(e){return class extends e{on(e,t,s){this.listenTo(this,e,t,s)}once(e,t,s){let o=!1;this.listenTo(this,e,((e,...s)=>{o||(o=!0,e.off(),t.call(this,e,...s))}),s)}off(e,t){this.stopListening(this,e,t)}listenTo(e,t,s,o={}){let i,r;this[c]||(this[c]={});const n=this[c];f(e)||g(e);const a=f(e);(i=n[a])||(i=n[a]={emitter:e,callbacks:{}}),(r=i.callbacks[t])||(r=i.callbacks[t]=[]),r.push(s),function(e,t,s,o,i){t._addEventListener?t._addEventListener(s,o,i):e._addEventListener.call(t,s,o,i)}(this,e,t,s,o)}stopListening(e,t,s){const o=this[c];let i=e&&f(e);const r=o&&i?o[i]:void 0,n=r&&t?r.callbacks[t]:void 0;if(!(!o||e&&!r||t&&!n))if(s){w(this,e,t,s);-1!==n.indexOf(s)&&(1===n.length?delete r.callbacks[t]:w(this,e,t,s))}else if(n){for(;s=n.pop();)w(this,e,t,s);delete r.callbacks[t]}else if(r){for(t in r.callbacks)this.stopListening(e,t);delete o[i]}else{for(i in o)this.stopListening(o[i].emitter);delete this[c]}}fire(e,...t){try{const s=e instanceof o.Z?e:new o.Z(this,e),i=s.name;let r=b(this,i);if(s.path.push(this),r){const e=[s,...t];r=Array.from(r);for(let t=0;t{this[d]||(this[d]=new Map),e.forEach((e=>{const o=this[d].get(e);o?o.set(t,s):this[d].set(e,new Map([[t,s]]))}))}}}stopDelegating(e,t){if(this[d])if(e)if(t){const s=this[d].get(e);s&&s.delete(t)}else this[d].delete(e);else this[d].clear()}_addEventListener(e,t,s){!function(e,t){const s=m(e);if(s[t])return;let o=t,i=null;const r=[];for(;""!==o&&!s[o];)s[o]={callbacks:[],childEvents:[]},r.push(s[o]),i&&s[o].childEvents.push(i),i=o,o=o.substr(0,o.lastIndexOf(":"));if(""!==o){for(const e of r)e.callbacks=s[o].callbacks.slice();s[o].childEvents.push(i)}}(this,e);const o=k(this,e),i={callback:t,priority:r.Z.get(s.priority)};for(const e of o)(0,n.Z)(e,i)}_removeEventListener(e,t){const s=k(this,e);for(const e of s)for(let s=0;s-1?b(e,t.substr(0,t.lastIndexOf(":"))):null}function _(e,t,s){for(let[i,r]of e){r?"function"==typeof r&&(r=r(t.name)):r=t.name;const e=new o.Z(t.source,r);e.path=[...t.path],i.fire(e,...s)}}function w(e,t,s,o){t._removeEventListener?t._removeEventListener(s,o):e._removeEventListener.call(t,s,o)}["on","once","off","listenTo","stopListening","fire","delegate","stopDelegating","_addEventListener","_removeEventListener"].forEach((e=>{h[e]=u.prototype[e]}))},"./packages/ckeditor5-utils/src/env.ts":(e,t,s)=>{"use strict";s.d(t,{ZP:()=>r});const o=function(){try{return navigator.userAgent.toLowerCase()}catch(e){return""}}(),i={isMac:n(o),isWindows:function(e){return e.indexOf("windows")>-1}(o),isGecko:function(e){return!!e.match(/gecko\/\d+/)}(o),isSafari:function(e){return e.indexOf(" applewebkit/")>-1&&-1===e.indexOf("chrome")}(o),isiOS:function(e){return!!e.match(/iphone|ipad/i)||n(e)&&navigator.maxTouchPoints>0}(o),isAndroid:function(e){return e.indexOf("android")>-1}(o),isBlink:function(e){return e.indexOf("chrome/")>-1&&e.indexOf("edge/")<0}(o),features:{isRegExpUnicodePropertySupported:function(){let e=!1;try{e=0==="ć".search(new RegExp("[\\p{L}]","u"))}catch(e){}return e}()}},r=i;function n(e){return e.indexOf("macintosh")>-1}},"./packages/ckeditor5-utils/src/eventinfo.ts":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});const o=function(){return function e(){e.called=!0}};class i{constructor(e,t){this.source=e,this.name=t,this.path=[],this.stop=o(),this.off=o()}}},"./packages/ckeditor5-utils/src/fastdiff.ts":(e,t,s)=>{"use strict";function o(e,t,s,o=!1){s=s||function(e,t){return e===t};const n=Array.isArray(e)?e:Array.prototype.slice.call(e),a=Array.isArray(t)?t:Array.prototype.slice.call(t),c=function(e,t,s){const o=i(e,t,s);if(-1===o)return{firstIndex:-1,lastIndexOld:-1,lastIndexNew:-1};const n=r(e,o),a=r(t,o),c=i(n,a,s),l=e.length-c,d=t.length-c;return{firstIndex:o,lastIndexOld:l,lastIndexNew:d}}(n,a,s);return o?function(e,t){const{firstIndex:s,lastIndexOld:o,lastIndexNew:i}=e;if(-1===s)return Array(t).fill("equal");let r=[];s>0&&(r=r.concat(Array(s).fill("equal")));i-s>0&&(r=r.concat(Array(i-s).fill("insert")));o-s>0&&(r=r.concat(Array(o-s).fill("delete")));i0&&s.push({index:o,type:"insert",values:e.slice(o,r)});i-o>0&&s.push({index:o+(r-o),type:"delete",howMany:i-o});return s}(a,c)}function i(e,t,s){for(let o=0;oo})},"./packages/ckeditor5-utils/src/first.ts":(e,t,s)=>{"use strict";function o(e){const t=e.next();return t.done?null:t.value}s.d(t,{Z:()=>o})},"./packages/ckeditor5-utils/src/focustracker.ts":(e,t,s)=>{"use strict";s.d(t,{Z:()=>n});var o=s("./packages/ckeditor5-utils/src/dom/emittermixin.ts"),i=s("./packages/ckeditor5-utils/src/observablemixin.ts"),r=s("./packages/ckeditor5-utils/src/ckeditorerror.ts");class n extends((0,o.Z)(i.y)){constructor(){super(),this.set("isFocused",!1),this.set("focusedElement",null),this._elements=new Set,this._nextEventLoopTimeout=null}add(e){if(this._elements.has(e))throw new r.ZP("focustracker-add-element-already-exist",this);this.listenTo(e,"focus",(()=>this._focus(e)),{useCapture:!0}),this.listenTo(e,"blur",(()=>this._blur()),{useCapture:!0}),this._elements.add(e)}remove(e){e===this.focusedElement&&this._blur(),this._elements.has(e)&&(this.stopListening(e),this._elements.delete(e))}destroy(){this.stopListening()}_focus(e){clearTimeout(this._nextEventLoopTimeout),this.focusedElement=e,this.isFocused=!0}_blur(){clearTimeout(this._nextEventLoopTimeout),this._nextEventLoopTimeout=setTimeout((()=>{this.focusedElement=null,this.isFocused=!1}),0)}}},"./packages/ckeditor5-utils/src/index.ts":(e,t,s)=>{"use strict";s.d(t,{Bb:()=>c.ZP,FE:()=>Z.Z,Xu:()=>h.Z,a6:()=>l,ln:()=>n.ZP,Rh:()=>x.Z,VD:()=>T.Z,go:()=>y.Z,Re:()=>a.Z,UL:()=>g.Z,do:()=>f.Z,az:()=>d.Z,Hg:()=>i.Z,OB:()=>o.ZP,Ps:()=>P.Z,Cq:()=>w.Cq,yy:()=>p,XU:()=>w.XU,j9:()=>v.j,mA:()=>w.mA,CO:()=>u.Z,dj:()=>w.dj,Zt:()=>w.Zt,pn:()=>b.Z,Do:()=>w.Do,H:()=>c.H,KE:()=>c.KE,CD:()=>r.Z,Zz:()=>w.Zz,tA:()=>E.Z,F0:()=>_.F,mR:()=>_.m,jS:()=>m.Z,qo:()=>A.Z,qL:()=>C.Z,nn:()=>k.Z,hQ:()=>S.Z,i8:()=>j.Z});var o=s("./packages/ckeditor5-utils/src/env.ts"),i=s("./packages/ckeditor5-utils/src/diff.ts"),r=s("./packages/ckeditor5-utils/src/mix.ts"),n=s("./packages/ckeditor5-utils/src/emittermixin.ts"),a=s("./packages/ckeditor5-utils/src/observablemixin.ts"),c=s("./packages/ckeditor5-utils/src/ckeditorerror.ts");class l{constructor(){this._replacedElements=[]}replace(e,t){this._replacedElements.push({element:e,newElement:t}),e.style.display="none",t&&e.parentNode.insertBefore(t,e.nextSibling)}restore(){this._replacedElements.forEach((({element:e,newElement:t})=>{e.style.display="",t&&t.remove()})),this._replacedElements=[]}}var d=s("./packages/ckeditor5-utils/src/dom/createelement.ts"),h=s("./packages/ckeditor5-utils/src/dom/emittermixin.ts"),u=s("./packages/ckeditor5-utils/src/dom/global.ts");function p(e){return e instanceof HTMLTextAreaElement?e.value:e.innerHTML}var g=s("./packages/ckeditor5-utils/src/dom/rect.ts"),f=s("./packages/ckeditor5-utils/src/dom/resizeobserver.ts"),m=s("./packages/ckeditor5-utils/src/dom/setdatainelement.ts"),k=s("./packages/ckeditor5-utils/src/dom/tounit.ts"),b=s("./packages/ckeditor5-utils/src/dom/isvisible.ts"),_=s("./packages/ckeditor5-utils/src/dom/scroll.ts"),w=s("./packages/ckeditor5-utils/src/keyboard.ts"),v=s("./packages/ckeditor5-utils/src/language.ts"),y=s("./packages/ckeditor5-utils/src/locale.ts"),Z=s("./packages/ckeditor5-utils/src/collection.ts"),P=s("./packages/ckeditor5-utils/src/first.ts"),x=s("./packages/ckeditor5-utils/src/focustracker.ts"),T=s("./packages/ckeditor5-utils/src/keystrokehandler.ts"),A=s("./packages/ckeditor5-utils/src/toarray.ts"),C=s("./packages/ckeditor5-utils/src/tomap.ts"),E=s("./packages/ckeditor5-utils/src/priorities.ts"),S=s("./packages/ckeditor5-utils/src/uid.ts"),j=s("./packages/ckeditor5-utils/src/version.ts")},"./packages/ckeditor5-utils/src/inserttopriorityarray.ts":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});var o=s("./packages/ckeditor5-utils/src/priorities.ts");function i(e,t){const s=o.Z.get(t.priority);for(let i=0;i{"use strict";function o(e){return!(!e||!e[Symbol.iterator])}s.d(t,{Z:()=>o})},"./packages/ckeditor5-utils/src/keyboard.ts":(e,t,s)=>{"use strict";s.d(t,{Cq:()=>l,Do:()=>a,XU:()=>h,Zt:()=>g,Zz:()=>d,dj:()=>u,mA:()=>p});var o=s("./packages/ckeditor5-utils/src/ckeditorerror.ts"),i=s("./packages/ckeditor5-utils/src/env.ts");const r={ctrl:"⌃",cmd:"⌘",alt:"⌥",shift:"⇧"},n={ctrl:"Ctrl+",alt:"Alt+",shift:"Shift+"},a=function(){const e={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 t=65;t<=90;t++){const s=String.fromCharCode(t);e[s.toLowerCase()]=t}for(let t=48;t<=57;t++)e[t-48]=t;for(let t=112;t<=123;t++)e["f"+(t-111)]=t;for(const t of"`-=[];',./\\")e[t]=t.charCodeAt(0);return e}(),c=Object.fromEntries(Object.entries(a).map((([e,t])=>[t,e.charAt(0).toUpperCase()+e.slice(1)])));function l(e){let t;if("string"==typeof e){if(t=a[e.toLowerCase()],!t)throw new o.ZP("keyboard-unknown-key",null,{key:e})}else t=e.keyCode+(e.altKey?a.alt:0)+(e.ctrlKey?a.ctrl:0)+(e.shiftKey?a.shift:0)+(e.metaKey?a.cmd:0);return t}function d(e){return"string"==typeof e&&(e=function(e){return e.split("+").map((e=>e.trim()))}(e)),e.map((e=>"string"==typeof e?function(e){if(e.endsWith("!"))return l(e.slice(0,-1));const t=l(e);return i.ZP.isMac&&t==a.ctrl?a.cmd:t}(e):e)).reduce(((e,t)=>t+e),0)}function h(e){let t=d(e);return Object.entries(i.ZP.isMac?r:n).reduce(((e,[s,o])=>(0!=(t&a[s])&&(t&=~a[s],e+=o),e)),"")+(t?c[t]:"")}function u(e){return e==a.arrowright||e==a.arrowleft||e==a.arrowup||e==a.arrowdown}function p(e,t){const s="ltr"===t;switch(e){case a.arrowleft:return s?"left":"right";case a.arrowright:return s?"right":"left";case a.arrowup:return"up";case a.arrowdown:return"down"}}function g(e,t){const s=p(e,t);return"down"===s||"right"===s}},"./packages/ckeditor5-utils/src/keystrokehandler.ts":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./packages/ckeditor5-utils/src/dom/emittermixin.ts"),i=s("./packages/ckeditor5-utils/src/keyboard.ts");class r{constructor(){this._listener=Object.create(o.Z)}listenTo(e){this._listener.listenTo(e,"keydown",((e,t)=>{this._listener.fire("_keydown:"+(0,i.Cq)(t),t)}))}set(e,t,s={}){const o=(0,i.Zz)(e),r=s.priority;this._listener.listenTo(this._listener,"_keydown:"+o,((e,s)=>{t(s,(()=>{s.preventDefault(),s.stopPropagation(),e.stop()})),e.return=!0}),{priority:r})}press(e){return!!this._listener.fire("_keydown:"+(0,i.Cq)(e),e)}destroy(){this._listener.stopListening()}}},"./packages/ckeditor5-utils/src/language.ts":(e,t,s)=>{"use strict";s.d(t,{j:()=>i});const o=["ar","ara","fa","per","fas","he","heb","ku","kur","ug","uig"];function i(e){return o.includes(e)?"rtl":"ltr"}},"./packages/ckeditor5-utils/src/locale.ts":(e,t,s)=>{"use strict";s.d(t,{Z:()=>c});var o=s("./packages/ckeditor5-utils/src/toarray.ts"),i=s("./packages/ckeditor5-utils/src/ckeditorerror.ts"),r=s("./packages/ckeditor5-utils/src/dom/global.ts");function n(e,t,s=1){if("number"!=typeof s)throw new i.ZP("translation-service-quantity-not-a-number",null,{quantity:s});const o=Object.keys(r.Z.window.CKEDITOR_TRANSLATIONS).length;1===o&&(e=Object.keys(r.Z.window.CKEDITOR_TRANSLATIONS)[0]);const n=t.id||t.string;if(0===o||!function(e,t){return!!r.Z.window.CKEDITOR_TRANSLATIONS[e]&&!!r.Z.window.CKEDITOR_TRANSLATIONS[e].dictionary[t]}(e,n))return 1!==s?t.plural:t.string;const a=r.Z.window.CKEDITOR_TRANSLATIONS[e].dictionary,c=r.Z.window.CKEDITOR_TRANSLATIONS[e].getPluralForm||(e=>1===e?0:1),l=a[n];if("string"==typeof l)return l;return l[Number(c(s))]}r.Z.window.CKEDITOR_TRANSLATIONS||(r.Z.window.CKEDITOR_TRANSLATIONS={});var a=s("./packages/ckeditor5-utils/src/language.ts");class c{constructor(e={}){this.uiLanguage=e.uiLanguage||"en",this.contentLanguage=e.contentLanguage||this.uiLanguage,this.uiLanguageDirection=(0,a.j)(this.uiLanguage),this.contentLanguageDirection=(0,a.j)(this.contentLanguage),this.t=(e,t)=>this._t(e,t)}get language(){return 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."),this.uiLanguage}_t(e,t=[]){t=(0,o.Z)(t),"string"==typeof e&&(e={string:e});const s=!!e.plural?t[0]:1;return function(e,t){return e.replace(/%(\d+)/g,((e,s)=>s{"use strict";function o(e,...t){t.forEach((t=>{const s=Object.getOwnPropertyNames(t),o=Object.getOwnPropertySymbols(t);s.concat(o).forEach((s=>{if(s in e.prototype)return;if("function"==typeof t&&("length"==s||"name"==s||"prototype"==s))return;const o=Object.getOwnPropertyDescriptor(t,s);o.enumerable=!1,Object.defineProperty(e.prototype,s,o)}))}))}s.d(t,{Z:()=>o})},"./packages/ckeditor5-utils/src/observablemixin.ts":(e,t,s)=>{"use strict";s.d(t,{Z:()=>h,y:()=>u});var o=s("./packages/ckeditor5-utils/src/emittermixin.ts"),i=s("./packages/ckeditor5-utils/src/ckeditorerror.ts"),r=s("./node_modules/lodash-es/isObject.js");const n=Symbol("observableProperties"),a=Symbol("boundObservables"),c=Symbol("boundProperties"),l=Symbol("decoratedMethods"),d=Symbol("decoratedOriginal");function h(e){return class extends e{set(e,t){if((0,r.Z)(e))return void Object.keys(e).forEach((t=>{this.set(t,e[t])}),this);p(this);const s=this[n];if(e in this&&!s.has(e))throw new i.ZP("observable-set-cannot-override",this);Object.defineProperty(this,e,{enumerable:!0,configurable:!0,get:()=>s.get(e),set(t){const o=s.get(e);let i=this.fire(`set:${e}`,e,t,o);void 0===i&&(i=t),o===i&&s.has(e)||(s.set(e,i),this.fire(`change:${e}`,e,i,o))}}),this[e]=t}bind(...e){if(!e.length||!m(e))throw new i.ZP("observable-bind-wrong-properties",this);if(new Set(e).size!==e.length)throw new i.ZP("observable-bind-duplicate-properties",this);p(this);const t=this[c];e.forEach((e=>{if(t.has(e))throw new i.ZP("observable-bind-rebind",this)}));const s=new Map;return e.forEach((e=>{const o={property:e,to:[]};t.set(e,o),s.set(e,o)})),{to:g,toMany:f,_observable:this,_bindProperties:e,_to:[],_bindings:s}}unbind(...e){if(!this[n])return;const t=this[c],s=this[a];if(e.length){if(!m(e))throw new i.ZP("observable-unbind-wrong-properties",this);e.forEach((e=>{const o=t.get(e);o&&(o.to.forEach((([e,t])=>{const i=s.get(e),r=i[t];r.delete(o),r.size||delete i[t],Object.keys(i).length||(s.delete(e),this.stopListening(e,"change"))})),t.delete(e))}))}else s.forEach(((e,t)=>{this.stopListening(t,"change")})),s.clear(),t.clear()}decorate(e){p(this);const t=this[e];if(!t)throw new i.ZP("observablemixin-cannot-decorate-undefined",this,{object:this,methodName:e});this.on(e,((e,s)=>{e.return=t.apply(this,s)})),this[e]=function(...t){return this.fire(e,t)},this[e][d]=t,this[l]||(this[l]=[]),this[l].push(e)}stopListening(e,t,s){if(!e&&this[l]){for(const e of this[l])this[e]=this[e][d];delete this[l]}o.Q5.prototype.stopListening.call(this,e,t,s)}}}const u=h(o.Q5);function p(e){e[n]||(Object.defineProperty(e,n,{value:new Map}),Object.defineProperty(e,a,{value:new Map}),Object.defineProperty(e,c,{value:new Map}))}function g(...e){const t=function(...e){if(!e.length)throw new i.ZP("observable-bind-to-parse-error",null);const t={to:[]};let s;"function"==typeof e[e.length-1]&&(t.callback=e.pop());return e.forEach((e=>{if("string"==typeof e)s.properties.push(e);else{if("object"!=typeof e)throw new i.ZP("observable-bind-to-parse-error",null);s={observable:e,properties:[]},t.to.push(s)}})),t}(...e),s=Array.from(this._bindings.keys()),o=s.length;if(!t.callback&&t.to.length>1)throw new i.ZP("observable-bind-to-no-callback",this);if(o>1&&t.callback)throw new i.ZP("observable-bind-to-extra-callback",this);var r;t.to.forEach((e=>{if(e.properties.length&&e.properties.length!==o)throw new i.ZP("observable-bind-to-properties-length",this);e.properties.length||(e.properties=this._bindProperties)})),this._to=t.to,t.callback&&(this._bindings.get(s[0]).callback=t.callback),r=this._observable,this._to.forEach((e=>{const t=r[a];let s;t.get(e.observable)||r.listenTo(e.observable,"change",((o,i)=>{s=t.get(e.observable)[i],s&&s.forEach((e=>{k(r,e.property)}))}))})),function(e){let t;e._bindings.forEach(((s,o)=>{e._to.forEach((i=>{t=i.properties[s.callback?0:e._bindProperties.indexOf(o)],s.to.push([i.observable,t]),function(e,t,s,o){const i=e[a],r=i.get(s),n=r||{};n[o]||(n[o]=new Set);n[o].add(t),r||i.set(s,n)}(e._observable,s,i.observable,t)}))}))}(this),this._bindProperties.forEach((e=>{k(this._observable,e)}))}function f(e,t,s){if(this._bindings.size>1)throw new i.ZP("observable-bind-to-many-not-one-binding",this);this.to(...function(e,t){const s=e.map((e=>[e,t]));return Array.prototype.concat.apply([],s)}(e,t),s)}function m(e){return e.every((e=>"string"==typeof e))}function k(e,t){const s=e[c].get(t);let o;s.callback?o=s.callback.apply(e,s.to.map((e=>e[0][e[1]]))):(o=s.to[0],o=o[0][o[1]]),Object.prototype.hasOwnProperty.call(e,t)?e[t]=o:e.set(t,o)}["set","bind","unbind","decorate","on","once","off","listenTo","stopListening","fire","delegate","stopDelegating","_addEventListener","_removeEventListener"].forEach((e=>{h[e]=u.prototype[e]}))},"./packages/ckeditor5-utils/src/priorities.ts":(e,t,s)=>{"use strict";s.d(t,{Z:()=>o});const o={get(e="normal"){return"number"!=typeof e?this[e]||this.normal:e},highest:1e5,high:1e3,normal:0,low:-1e3,lowest:-1e5}},"./packages/ckeditor5-utils/src/toarray.ts":(e,t,s)=>{"use strict";function o(e){return Array.isArray(e)?e:[e]}s.d(t,{Z:()=>o})},"./packages/ckeditor5-utils/src/tomap.ts":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});var o=s("./packages/ckeditor5-utils/src/isiterable.ts");function i(e){return(0,o.Z)(e)?new Map(e):function(e){const t=new Map;for(const s in e)t.set(s,e[s]);return t}(e)}},"./packages/ckeditor5-utils/src/uid.ts":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});const o=new Array(256).fill("").map(((e,t)=>("0"+t.toString(16)).slice(-2)));function i(){const e=4294967296*Math.random()>>>0,t=4294967296*Math.random()>>>0,s=4294967296*Math.random()>>>0,i=4294967296*Math.random()>>>0;return"e"+o[e>>0&255]+o[e>>8&255]+o[e>>16&255]+o[e>>24&255]+o[t>>0&255]+o[t>>8&255]+o[t>>16&255]+o[t>>24&255]+o[s>>0&255]+o[s>>8&255]+o[s>>16&255]+o[s>>24&255]+o[i>>0&255]+o[i>>8&255]+o[i>>16&255]+o[i>>24&255]}},"./packages/ckeditor5-utils/src/version.ts":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./packages/ckeditor5-utils/src/ckeditorerror.ts");const i="35.1.0",r=i,n="object"==typeof window?window:s.g;if(n.CKEDITOR_VERSION)throw new o.ZP("ckeditor-duplicated-modules",null);n.CKEDITOR_VERSION=i},"./packages/ckeditor5-core/src/command.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./packages/ckeditor5-utils/src/observablemixin.ts"),i=s("./packages/ckeditor5-utils/src/mix.ts");class r{constructor(e){this.editor=e,this.set("value",void 0),this.set("isEnabled",!1),this.affectsData=!0,this._disableStack=new Set,this.decorate("execute"),this.listenTo(this.editor.model.document,"change",(()=>{this.refresh()})),this.on("execute",(e=>{this.isEnabled||e.stop()}),{priority:"high"}),this.listenTo(e,"change:isReadOnly",((e,t,s)=>{s&&this.affectsData?this.forceDisabled("readOnlyMode"):this.clearForceDisabled("readOnlyMode")}))}refresh(){this.isEnabled=!0}forceDisabled(e){this._disableStack.add(e),1==this._disableStack.size&&(this.on("set:isEnabled",n,{priority:"highest"}),this.isEnabled=!1)}clearForceDisabled(e){this._disableStack.delete(e),0==this._disableStack.size&&(this.off("set:isEnabled",n),this.refresh())}execute(){}destroy(){this.stopListening()}}function n(e){e.return=!1,e.stop()}(0,i.Z)(r,o.Z)},"./packages/ckeditor5-core/src/contextplugin.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./packages/ckeditor5-utils/src/observablemixin.ts"),i=s("./packages/ckeditor5-utils/src/mix.ts");class r{constructor(e){this.context=e}destroy(){this.stopListening()}static get isContextPlugin(){return!0}}(0,i.Z)(r,o.Z)},"./packages/ckeditor5-core/src/pendingactions.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});var o=s("./packages/ckeditor5-core/src/contextplugin.js"),i=s("./packages/ckeditor5-utils/src/observablemixin.ts"),r=s("./packages/ckeditor5-utils/src/collection.ts"),n=s("./packages/ckeditor5-utils/src/ckeditorerror.ts");class a extends o.Z{static get pluginName(){return"PendingActions"}init(){this.set("hasAny",!1),this._actions=new r.Z({idProperty:"_id"}),this._actions.delegate("add","remove").to(this)}add(e){if("string"!=typeof e)throw new n.ZP("pendingactions-add-invalid-message",this);const t=Object.create(i.Z);return t.set("message",e),this._actions.add(t),this.hasAny=!0,t}remove(e){this._actions.remove(e),this.hasAny=!!this._actions.length}get first(){return this._actions.get(0)}[Symbol.iterator](){return this._actions[Symbol.iterator]()}}},"./packages/ckeditor5-core/src/plugin.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./packages/ckeditor5-utils/src/observablemixin.ts"),i=s("./packages/ckeditor5-utils/src/mix.ts");class r{constructor(e){this.editor=e,this.set("isEnabled",!0),this._disableStack=new Set}forceDisabled(e){this._disableStack.add(e),1==this._disableStack.size&&(this.on("set:isEnabled",n,{priority:"highest"}),this.isEnabled=!1)}clearForceDisabled(e){this._disableStack.delete(e),0==this._disableStack.size&&(this.off("set:isEnabled",n),this.isEnabled=!0)}destroy(){this.stopListening()}static get isContextPlugin(){return!1}}function n(e){e.return=!1,e.stop()}(0,i.Z)(r,o.Z)},"./packages/ckeditor5-enter/src/enter.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>l});var o=s("./packages/ckeditor5-core/src/plugin.js"),i=s("./packages/ckeditor5-core/src/command.js"),r=s("./packages/ckeditor5-enter/src/utils.js");class n extends i.Z{execute(){const e=this.editor.model,t=e.document;e.change((s=>{!function(e,t,s,o){const i=s.isCollapsed,n=s.getFirstRange(),c=n.start.parent,l=n.end.parent;if(o.isLimit(c)||o.isLimit(l))return void(i||c!=l||e.deleteContent(s));if(i){const e=(0,r.G)(t.model.schema,s.getAttributes());a(t,n.start),t.setSelectionAttribute(e)}else{const o=!(n.start.isAtStart&&n.end.isAtEnd),i=c==l;e.deleteContent(s,{leaveUnmerged:o}),o&&(i?a(t,s.focus):t.setSelection(l,0))}}(this.editor.model,s,t.selection,e.schema),this.fire("afterExecute",{writer:s})}))}}function a(e,t){e.split(t),e.setSelection(t.parent.nextSibling,0)}var c=s("./packages/ckeditor5-enter/src/enterobserver.js");class l extends o.Z{static get pluginName(){return"Enter"}init(){const e=this.editor,t=e.editing.view,s=t.document;t.addObserver(c.Z),e.commands.add("enter",new n(e)),this.listenTo(s,"enter",((s,o)=>{o.preventDefault(),o.isSoft||(e.execute("enter"),t.scrollToTheSelection())}),{priority:"low"})}}},"./packages/ckeditor5-enter/src/enterobserver.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});var o=s("./packages/ckeditor5-engine/src/view/observer/observer.ts"),i=s("./packages/ckeditor5-engine/src/view/observer/domeventdata.ts"),r=s("./packages/ckeditor5-engine/src/view/observer/bubblingeventinfo.ts"),n=s("./packages/ckeditor5-utils/src/keyboard.ts");class a extends o.Z{constructor(e){super(e);const t=this.document;t.on("keydown",((e,s)=>{if(this.isEnabled&&s.keyCode==n.Do.enter){const o=new r.Z(t,"enter",t.selection.getFirstRange());t.fire(o,new i.Z(t,s.domEvent,{isSoft:s.shiftKey})),o.stop.called&&e.stop()}}))}observe(){}}},"./packages/ckeditor5-enter/src/utils.js":(e,t,s)=>{"use strict";function*o(e,t){for(const s of t)s&&e.getAttributeProperties(s[0]).copyOnEnter&&(yield s)}s.d(t,{G:()=>o})},"./packages/ckeditor5-typing/src/delete.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>f});var o=s("./packages/ckeditor5-core/src/plugin.js"),i=s("./packages/ckeditor5-core/src/command.js"),r=s("./packages/ckeditor5-utils/src/count.ts"),n=s("./packages/ckeditor5-typing/src/utils/changebuffer.js");class a extends i.Z{constructor(e,t){super(e),this.direction=t,this._buffer=new n.Z(e.model,e.config.get("typing.undoStep"))}get buffer(){return this._buffer}execute(e={}){const t=this.editor.model,s=t.document;t.enqueueChange(this._buffer.batch,(o=>{this._buffer.lock();const i=o.createSelection(e.selection||s.selection),n=e.sequence||1,a=i.isCollapsed;if(i.isCollapsed&&t.modifySelection(i,{direction:this.direction,unit:e.unit,treatEmojiAsSingleUnit:!0}),this._shouldEntireContentBeReplacedWithParagraph(n))return void this._replaceEntireContentWithParagraph(o);if(this._shouldReplaceFirstBlockWithParagraph(i,n))return void this.editor.execute("paragraph",{selection:i});if(i.isCollapsed)return;let c=0;i.getFirstRange().getMinimalFlatRanges().forEach((e=>{c+=(0,r.Z)(e.getWalker({singleCharacters:!0,ignoreElementEnd:!0,shallow:!0}))})),t.deleteContent(i,{doNotResetEntireContent:a,direction:this.direction}),this._buffer.input(c),o.setSelection(i),this._buffer.unlock()}))}_shouldEntireContentBeReplacedWithParagraph(e){if(e>1)return!1;const t=this.editor.model,s=t.document.selection,o=t.schema.getLimitElement(s);if(!(s.isCollapsed&&s.containsEntireContent(o)))return!1;if(!t.schema.checkChild(o,"paragraph"))return!1;const i=o.getChild(0);return!i||"paragraph"!==i.name}_replaceEntireContentWithParagraph(e){const t=this.editor.model,s=t.document.selection,o=t.schema.getLimitElement(s),i=e.createElement("paragraph");e.remove(e.createRangeIn(o)),e.insert(i,o),e.setSelection(i,0)}_shouldReplaceFirstBlockWithParagraph(e,t){const s=this.editor.model;if(t>1||"backward"!=this.direction)return!1;if(!e.isCollapsed)return!1;const o=e.getFirstPosition(),i=s.schema.getLimitElement(o),r=i.getChild(0);return o.parent==r&&(!!e.containsEntireContent(r)&&(!!s.schema.checkChild(i,"paragraph")&&"paragraph"!=r.name))}}var c=s("./packages/ckeditor5-engine/src/view/observer/observer.ts"),l=s("./packages/ckeditor5-engine/src/view/observer/domeventdata.ts"),d=s("./packages/ckeditor5-engine/src/view/observer/bubblingeventinfo.ts"),h=s("./packages/ckeditor5-utils/src/keyboard.ts"),u=s("./packages/ckeditor5-utils/src/env.ts"),p=s("./packages/ckeditor5-typing/src/utils/utils.js");class g extends c.Z{constructor(e){super(e);const t=e.document;let s=0;function o(e,s,o){const i=new d.Z(t,"delete",t.selection.getFirstRange());t.fire(i,new l.Z(t,s,o)),i.stop.called&&e.stop()}t.on("keyup",((e,t)=>{t.keyCode!=h.Do.delete&&t.keyCode!=h.Do.backspace||(s=0)})),t.on("keydown",((e,i)=>{if(u.ZP.isWindows&&(0,p.Uw)(i,t))return;const r={};if(i.keyCode==h.Do.delete)r.direction="forward",r.unit="character";else{if(i.keyCode!=h.Do.backspace)return;r.direction="backward",r.unit="codePoint"}const n=u.ZP.isMac?i.altKey:i.ctrlKey;r.unit=n?"word":r.unit,r.sequence=++s,o(e,i.domEvent,r)})),u.ZP.isAndroid&&t.on("beforeinput",((t,s)=>{if("deleteContentBackward"!=s.domEvent.inputType)return;const i={unit:"codepoint",direction:"backward",sequence:1},r=s.domTarget.ownerDocument.defaultView.getSelection();r.anchorNode==r.focusNode&&r.anchorOffset+1!=r.focusOffset&&(i.selectionToRemove=e.domConverter.domSelectionToView(r)),o(t,s.domEvent,i)}))}observe(){}}class f extends o.Z{static get pluginName(){return"Delete"}init(){const e=this.editor,t=e.editing.view,s=t.document,o=e.model.document;t.addObserver(g),this._undoOnBackspace=!1;const i=new a(e,"forward");if(e.commands.add("deleteForward",i),e.commands.add("forwardDelete",i),e.commands.add("delete",new a(e,"backward")),this.listenTo(s,"delete",((s,o)=>{const i={unit:o.unit,sequence:o.sequence};if(o.selectionToRemove){const t=e.model.createSelection(),s=[];for(const t of o.selectionToRemove.getRanges())s.push(e.editing.mapper.toModelRange(t));t.setTo(s),i.selection=t}e.execute("forward"==o.direction?"deleteForward":"delete",i),o.preventDefault(),t.scrollToTheSelection()}),{priority:"low"}),u.ZP.isAndroid){let e=null;this.listenTo(s,"delete",((t,s)=>{const o=s.domTarget.ownerDocument.defaultView.getSelection();e={anchorNode:o.anchorNode,anchorOffset:o.anchorOffset,focusNode:o.focusNode,focusOffset:o.focusOffset}}),{priority:"lowest"}),this.listenTo(s,"keyup",((t,s)=>{if(e){const t=s.domTarget.ownerDocument.defaultView.getSelection();t.collapse(e.anchorNode,e.anchorOffset),t.extend(e.focusNode,e.focusOffset),e=null}}))}this.editor.plugins.has("UndoEditing")&&(this.listenTo(s,"delete",((t,s)=>{this._undoOnBackspace&&"backward"==s.direction&&1==s.sequence&&"codePoint"==s.unit&&(this._undoOnBackspace=!1,e.execute("undo"),s.preventDefault(),t.stop())}),{context:"$capture"}),this.listenTo(o,"change",(()=>{this._undoOnBackspace=!1})))}requestUndoOnBackspace(){this.editor.plugins.has("UndoEditing")&&(this._undoOnBackspace=!0)}}},"./packages/ckeditor5-typing/src/utils/changebuffer.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>o});class o{constructor(e,t=20){this.model=e,this.size=0,this.limit=t,this.isLocked=!1,this._changeCallback=(e,t)=>{t.isLocal&&t.isUndoable&&t!==this._batch&&this._reset(!0)},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(){return this._batch||(this._batch=this.model.createBatch({isTyping:!0})),this._batch}input(e){this.size+=e,this.size>=this.limit&&this._reset(!0)}lock(){this.isLocked=!0}unlock(){this.isLocked=!1}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(e){this.isLocked&&!e||(this._batch=null,this.size=0)}}},"./packages/ckeditor5-typing/src/utils/injectunsafekeystrokeshandling.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>n,u:()=>c});var o=s("./packages/ckeditor5-utils/src/keyboard.ts"),i=s("./packages/ckeditor5-utils/src/env.ts"),r=s("./packages/ckeditor5-typing/src/utils/utils.js");function n(e){let t=null;const s=e.model,o=e.editing.view,n=e.commands.get("input");function a(e){if(i.ZP.isWindows&&(0,r.Uw)(e,o.document))return;const a=s.document,d=o.document.isComposing,h=t&&t.isEqual(a.selection);t=null,n.isEnabled&&(c(e)||a.selection.isCollapsed||d&&229===e.keyCode||!d&&229===e.keyCode&&h||l())}function l(){const e=n.buffer;e.lock();const t=e.batch;s.enqueueChange(t,(()=>{s.deleteContent(s.document.selection)})),e.unlock()}i.ZP.isAndroid?o.document.on("beforeinput",((e,t)=>a(t)),{priority:"lowest"}):o.document.on("keydown",((e,t)=>a(t)),{priority:"lowest"}),o.document.on("compositionstart",(function(){const e=s.document,t=1!==e.selection.rangeCount||e.selection.getFirstRange().isFlat;if(e.selection.isCollapsed||t)return;l()}),{priority:"lowest"}),o.document.on("compositionend",(()=>{t=s.createSelection(s.document.selection)}),{priority:"lowest"})}const a=[(0,o.Cq)("arrowUp"),(0,o.Cq)("arrowRight"),(0,o.Cq)("arrowDown"),(0,o.Cq)("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 e=112;e<=135;e++)a.push(e);function c(e){return!(!e.ctrlKey&&!e.metaKey)||a.includes(e.keyCode)}},"./packages/ckeditor5-typing/src/utils/utils.js":(e,t,s)=>{"use strict";s.d(t,{E9:()=>r,xG:()=>n,Uw:()=>c});var o=s("./packages/ckeditor5-utils/src/diff.ts");var i=s("./packages/ckeditor5-utils/src/keyboard.ts");function r(e){if(0==e.length)return!1;for(const t of e)if("children"===t.type&&!n(t))return!0;return!1}function n(e){if(e.newChildren.length-e.oldChildren.length!=1)return;const t=function(e,t){const s=[];let o=0,i=null;return e.forEach((e=>{"equal"==e?(r(),o++):"insert"==e?(i&&"insert"==i.type?i.values.push(t[o]):(r(),i={type:"insert",index:o,values:[t[o]]}),o++):i&&"delete"==i.type?i.howMany++:(r(),i={type:"delete",index:o,howMany:1})})),r(),s;function r(){i&&(s.push(i),i=null)}}((0,o.Z)(e.oldChildren,e.newChildren,a),e.newChildren);if(t.length>1)return;const s=t[0];return s.values[0]&&s.values[0].is("$text")?s:void 0}function a(e,t){return e&&e.is("$text")&&t&&t.is("$text")?e.data===t.data:e===t}function c(e,t){const s=t.selection,o=e.shiftKey&&e.keyCode===i.Do.delete,r=!s.isCollapsed;return o&&r}},"./packages/ckeditor5-ui/src/bindings/clickoutsidehandler.js":(e,t,s)=>{"use strict";function o({emitter:e,activator:t,callback:s,contextElements:o}){e.listenTo(document,"mousedown",((e,i)=>{if(!t())return;const r="function"==typeof i.composedPath?i.composedPath():[];for(const e of o)if(e.contains(i.target)||r.includes(e))return;s()}))}s.d(t,{Z:()=>o})},"./packages/ckeditor5-ui/src/button/buttonview.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>u});var o=s("./packages/ckeditor5-ui/src/view.js"),i=s("./packages/ckeditor5-ui/src/icon/iconview.js"),r=s("./packages/ckeditor5-utils/src/uid.ts"),n=s("./packages/ckeditor5-utils/src/keyboard.ts"),a=s("./packages/ckeditor5-utils/src/env.ts"),c=s("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),l=s.n(c),d=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/button/button.css"),h={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};l()(d.Z,h);d.Z.locals;class u extends o.Z{constructor(e){super(e);const t=this.bindTemplate,s=(0,r.Z)();this.set("class"),this.set("labelStyle"),this.set("icon"),this.set("isEnabled",!0),this.set("isOn",!1),this.set("isVisible",!0),this.set("isToggleable",!1),this.set("keystroke"),this.set("label"),this.set("tabindex",-1),this.set("tooltip"),this.set("tooltipPosition","s"),this.set("type","button"),this.set("withText",!1),this.set("withKeystroke",!1),this.children=this.createCollection(),this.labelView=this._createLabelView(s),this.iconView=new i.Z,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));const o={tag:"button",attributes:{class:["ck","ck-button",t.to("class"),t.if("isEnabled","ck-disabled",(e=>!e)),t.if("isVisible","ck-hidden",(e=>!e)),t.to("isOn",(e=>e?"ck-on":"ck-off")),t.if("withText","ck-button_with-text"),t.if("withKeystroke","ck-button_with-keystroke")],type:t.to("type",(e=>e||"button")),tabindex:t.to("tabindex"),"aria-labelledby":`ck-editor__aria-label_${s}`,"aria-disabled":t.if("isEnabled",!0,(e=>!e)),"aria-pressed":t.to("isOn",(e=>!!this.isToggleable&&String(!!e))),"data-cke-tooltip-text":t.to("_tooltipString"),"data-cke-tooltip-position":t.to("tooltipPosition")},children:this.children,on:{click:t.to((e=>{this.isEnabled?this.fire("execute"):e.preventDefault()}))}};a.ZP.isSafari&&(o.on.mousedown=t.to((e=>{this.focus(),e.preventDefault()}))),this.setTemplate(o)}render(){super.render(),this.icon&&(this.iconView.bind("content").to(this,"icon"),this.children.add(this.iconView)),this.children.add(this.labelView),this.withKeystroke&&this.keystroke&&this.children.add(this.keystrokeView)}focus(){this.element.focus()}_createLabelView(e){const t=new o.Z,s=this.bindTemplate;return t.setTemplate({tag:"span",attributes:{class:["ck","ck-button__label"],style:s.to("labelStyle"),id:`ck-editor__aria-label_${e}`},children:[{text:this.bindTemplate.to("label")}]}),t}_createKeystrokeView(){const e=new o.Z;return e.setTemplate({tag:"span",attributes:{class:["ck","ck-button__keystroke"]},children:[{text:this.bindTemplate.to("keystroke",(e=>(0,n.XU)(e)))}]}),e}_getTooltipString(e,t,s){return e?"string"==typeof e?e:(s&&(s=(0,n.XU)(s)),e instanceof Function?e(t,s):`${t}${s?` (${s})`:""}`):""}}},"./packages/ckeditor5-ui/src/button/switchbuttonview.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>l});var o=s("./packages/ckeditor5-ui/src/view.js"),i=s("./packages/ckeditor5-ui/src/button/buttonview.js"),r=s("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),n=s.n(r),a=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/button/switchbutton.css"),c={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};n()(a.Z,c);a.Z.locals;class l extends i.Z{constructor(e){super(e),this.isToggleable=!0,this.toggleSwitchView=this._createToggleView(),this.extendTemplate({attributes:{class:"ck-switchbutton"}})}render(){super.render(),this.children.add(this.toggleSwitchView)}_createToggleView(){const e=new o.Z;return e.setTemplate({tag:"span",attributes:{class:["ck","ck-button__toggle"]},children:[{tag:"span",attributes:{class:["ck","ck-button__toggle__inner"]}}]}),e}}},"./packages/ckeditor5-ui/src/dropdown/button/dropdownbuttonview.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>n});var o=s("./packages/ckeditor5-ui/src/button/buttonview.js"),i=s("./packages/ckeditor5-ui/theme/icons/dropdown-arrow.svg"),r=s("./packages/ckeditor5-ui/src/icon/iconview.js");class n extends o.Z{constructor(e){super(e),this.arrowView=this._createArrowView(),this.extendTemplate({attributes:{"aria-haspopup":!0,"aria-expanded":this.bindTemplate.to("isOn",(e=>String(e)))}}),this.delegate("execute").to(this,"open")}render(){super.render(),this.children.add(this.arrowView)}_createArrowView(){const e=new r.Z;return e.content=i.Z,e.extendTemplate({attributes:{class:"ck-dropdown__arrow"}}),e}}},"./packages/ckeditor5-ui/src/dropdown/utils.js":(e,t,s)=>{"use strict";s.d(t,{Pm:()=>A,up:()=>T,t9:()=>x,Mh:()=>C});var o=s("./packages/ckeditor5-ui/src/view.js"),i=s("./packages/ckeditor5-utils/src/ckeditorerror.ts");class r extends o.Z{constructor(e){super(e);const t=this.bindTemplate;this.set("isVisible",!1),this.set("position","se"),this.children=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-reset","ck-dropdown__panel",t.to("position",(e=>`ck-dropdown__panel_${e}`)),t.if("isVisible","ck-dropdown__panel-visible")]},children:this.children,on:{selectstart:t.to((e=>e.preventDefault()))}})}focus(){this.children.length&&("function"==typeof this.children.first.focus?this.children.first.focus():(0,i.KE)("ui-dropdown-panel-focus-child-missing-focus",{childView:this.children.first,dropdownPanel:this}))}focusLast(){if(this.children.length){const e=this.children.last;"function"==typeof e.focusLast?e.focusLast():e.focus()}}}var n=s("./packages/ckeditor5-utils/src/keystrokehandler.ts"),a=s("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),c=s.n(a),l=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/dropdown/dropdown.css"),d={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};c()(l.Z,d);l.Z.locals;var h=s("./packages/ckeditor5-utils/src/dom/position.ts");class u extends o.Z{constructor(e,t,s){super(e);const o=this.bindTemplate;this.buttonView=t,this.panelView=s,this.set("isOpen",!1),this.set("isEnabled",!0),this.set("class"),this.set("id"),this.set("panelPosition","auto"),this.keystrokes=new n.Z,this.setTemplate({tag:"div",attributes:{class:["ck","ck-dropdown",o.to("class"),o.if("isEnabled","ck-disabled",(e=>!e))],id:o.to("id"),"aria-describedby":o.to("ariaDescribedById")},children:[t,s]}),t.extendTemplate({attributes:{class:["ck-dropdown__button"],"data-cke-tooltip-disabled":o.to("isOpen")}})}render(){super.render(),this.listenTo(this.buttonView,"open",(()=>{this.isOpen=!this.isOpen})),this.panelView.bind("isVisible").to(this,"isOpen"),this.on("change:isOpen",(()=>{this.isOpen?("auto"===this.panelPosition?this.panelView.position=u._getOptimalPosition({element:this.panelView.element,target:this.buttonView.element,fitInViewport:!0,positions:this._panelPositions}).name:this.panelView.position=this.panelPosition,this.panelView.focus()):this.focus()})),this.keystrokes.listenTo(this.element);const e=(e,t)=>{this.isOpen&&(this.isOpen=!1,t())};this.keystrokes.set("arrowdown",((e,t)=>{this.buttonView.isEnabled&&!this.isOpen&&(this.isOpen=!0,t())})),this.keystrokes.set("arrowright",((e,t)=>{this.isOpen&&t()})),this.keystrokes.set("arrowleft",e),this.keystrokes.set("esc",e)}focus(){this.buttonView.focus()}get _panelPositions(){const{south:e,north:t,southEast:s,southWest:o,northEast:i,northWest:r,southMiddleEast:n,southMiddleWest:a,northMiddleEast:c,northMiddleWest:l}=u.defaultPanelPositions;return"rtl"!==this.locale.uiLanguageDirection?[s,o,n,a,e,i,r,c,l,t]:[o,s,a,n,e,r,i,l,c,t]}}u.defaultPanelPositions={south:(e,t)=>({top:e.bottom,left:e.left-(t.width-e.width)/2,name:"s"}),southEast:e=>({top:e.bottom,left:e.left,name:"se"}),southWest:(e,t)=>({top:e.bottom,left:e.left-t.width+e.width,name:"sw"}),southMiddleEast:(e,t)=>({top:e.bottom,left:e.left-(t.width-e.width)/4,name:"sme"}),southMiddleWest:(e,t)=>({top:e.bottom,left:e.left-3*(t.width-e.width)/4,name:"smw"}),north:(e,t)=>({top:e.top-t.height,left:e.left-(t.width-e.width)/2,name:"n"}),northEast:(e,t)=>({top:e.top-t.height,left:e.left,name:"ne"}),northWest:(e,t)=>({top:e.top-t.height,left:e.left-t.width+e.width,name:"nw"}),northMiddleEast:(e,t)=>({top:e.top-t.height,left:e.left-(t.width-e.width)/4,name:"nme"}),northMiddleWest:(e,t)=>({top:e.top-t.height,left:e.left-3*(t.width-e.width)/4,name:"nmw"})},u._getOptimalPosition=h.x;var p=s("./packages/ckeditor5-ui/src/dropdown/button/dropdownbuttonview.js"),g=s("./packages/ckeditor5-ui/src/toolbar/toolbarview.js"),f=s("./packages/ckeditor5-ui/src/list/listview.js"),m=s("./packages/ckeditor5-ui/src/list/listitemview.js");class k extends o.Z{constructor(e){super(e),this.setTemplate({tag:"li",attributes:{class:["ck","ck-list__separator"]}})}}var b=s("./packages/ckeditor5-ui/src/button/buttonview.js"),_=s("./packages/ckeditor5-ui/src/button/switchbuttonview.js"),w=s("./packages/ckeditor5-ui/src/bindings/clickoutsidehandler.js"),v=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/dropdown/toolbardropdown.css"),y={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};c()(v.Z,y);v.Z.locals;var Z=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/dropdown/listdropdown.css"),P={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};c()(Z.Z,P);Z.Z.locals;function x(e,t=p.Z){const s=new t(e),o=new r(e),i=new u(e,s,o);return s.bind("isEnabled").to(i),s instanceof p.Z?s.bind("isOn").to(i,"isOpen"):s.arrowView.bind("isOn").to(i,"isOpen"),function(e){(function(e){e.on("render",(()=>{(0,w.Z)({emitter:e,activator:()=>e.isOpen,callback:()=>{e.isOpen=!1},contextElements:[e.element]})}))})(e),function(e){e.on("execute",(t=>{t.source instanceof _.Z||(e.isOpen=!1)}))}(e),function(e){e.keystrokes.set("arrowdown",((t,s)=>{e.isOpen&&(e.panelView.focus(),s())})),e.keystrokes.set("arrowup",((t,s)=>{e.isOpen&&(e.panelView.focusLast(),s())}))}(e)}(i),i}function T(e,t,s={}){const o=e.locale,i=o.t,r=e.toolbarView=new g.Z(o);r.set("ariaLabel",i("Dropdown toolbar")),e.extendTemplate({attributes:{class:["ck-toolbar-dropdown"]}}),t.map((e=>r.items.add(e))),s.enableActiveItemFocusOnDropdownOpen&&C(e,(()=>r.items.find((e=>e.isOn)))),e.panelView.children.add(r),r.items.delegate("execute").to(e)}function A(e,t){const s=e.locale,o=e.listView=new f.Z(s);o.items.bindTo(t).using((({type:e,model:t})=>{if("separator"===e)return new k(s);if("button"===e||"switchbutton"===e){const o=new m.Z(s);let i;return i="button"===e?new b.Z(s):new _.Z(s),i.bind(...Object.keys(t)).to(t),i.delegate("execute").to(o),o.children.add(i),o}})),e.panelView.children.add(o),o.items.delegate("execute").to(e),C(e,(()=>o.items.find((e=>e instanceof m.Z&&e.children.first.isOn))))}function C(e,t){e.on("change:isOpen",(()=>{if(!e.isOpen)return;const s=t();s&&("function"==typeof s.focus?s.focus():(0,i.KE)("ui-dropdown-focus-child-on-open-child-missing-focus",{view:s}))}),{priority:"low"})}},"./packages/ckeditor5-ui/src/focuscycler.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});var o=s("./packages/ckeditor5-utils/src/dom/isvisible.ts");class i{constructor(e){if(Object.assign(this,e),e.actions&&e.keystrokeHandler)for(const t in e.actions){let s=e.actions[t];"string"==typeof s&&(s=[s]);for(const o of s)e.keystrokeHandler.set(o,((e,s)=>{this[t](),s()}))}}get first(){return this.focusables.find(r)||null}get last(){return this.focusables.filter(r).slice(-1)[0]||null}get next(){return this._getFocusableItem(1)}get previous(){return this._getFocusableItem(-1)}get current(){let e=null;return null===this.focusTracker.focusedElement?null:(this.focusables.find(((t,s)=>{const o=t.element===this.focusTracker.focusedElement;return o&&(e=s),o})),e)}focusFirst(){this._focus(this.first)}focusLast(){this._focus(this.last)}focusNext(){this._focus(this.next)}focusPrevious(){this._focus(this.previous)}_focus(e){e&&e.focus()}_getFocusableItem(e){const t=this.current,s=this.focusables.length;if(!s)return null;if(null===t)return this[1===e?"first":"last"];let o=(t+s+e)%s;do{const t=this.focusables.get(o);if(r(t))return t;o=(o+s+e)%s}while(o!==t);return null}}function r(e){return!(!e.focus||!(0,o.Z)(e.element))}},"./packages/ckeditor5-ui/src/icon/iconview.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>c});var o=s("./packages/ckeditor5-ui/src/view.js"),i=s("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),r=s.n(i),n=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/icon/icon.css"),a={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};r()(n.Z,a);n.Z.locals;class c extends o.Z{constructor(){super();const e=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:e.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 e=(new DOMParser).parseFromString(this.content.trim(),"image/svg+xml").querySelector("svg"),t=e.getAttribute("viewBox");for(t&&(this.viewBox=t);this.element.firstChild;)this.element.removeChild(this.element.firstChild);for(;e.childNodes.length>0;)this.element.appendChild(e.childNodes[0])}}_colorFillPaths(){this.fillColor&&this.element.querySelectorAll(".ck-icon__fill").forEach((e=>{e.style.fill=this.fillColor}))}}},"./packages/ckeditor5-ui/src/list/listitemview.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});var o=s("./packages/ckeditor5-ui/src/view.js");class i extends o.Z{constructor(e){super(e);const t=this.bindTemplate;this.set("isVisible",!0),this.children=this.createCollection(),this.setTemplate({tag:"li",attributes:{class:["ck","ck-list__item",t.if("isVisible","ck-hidden",(e=>!e))]},children:this.children})}focus(){this.children.first.focus()}}},"./packages/ckeditor5-ui/src/list/listview.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>h});var o=s("./packages/ckeditor5-ui/src/view.js"),i=s("./packages/ckeditor5-utils/src/focustracker.ts"),r=s("./packages/ckeditor5-ui/src/focuscycler.js"),n=s("./packages/ckeditor5-utils/src/keystrokehandler.ts"),a=s("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),c=s.n(a),l=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/list/list.css"),d={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};c()(l.Z,d);l.Z.locals;class h extends o.Z{constructor(){super(),this.items=this.createCollection(),this.focusTracker=new i.Z,this.keystrokes=new n.Z,this._focusCycler=new r.Z({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 e of this.items)this.focusTracker.add(e.element);this.items.on("add",((e,t)=>{this.focusTracker.add(t.element)})),this.items.on("remove",((e,t)=>{this.focusTracker.remove(t.element)})),this.keystrokes.listenTo(this.element)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}focusLast(){this._focusCycler.focusLast()}}},"./packages/ckeditor5-ui/src/panel/balloon/balloonpanelview.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>f,M:()=>k});var o=s("./packages/ckeditor5-ui/src/view.js"),i=s("./packages/ckeditor5-utils/src/dom/position.ts"),r=s("./packages/ckeditor5-utils/src/dom/isrange.ts"),n=s("./packages/ckeditor5-utils/src/dom/tounit.ts"),a=s("./packages/ckeditor5-utils/src/dom/global.ts"),c=s("./node_modules/lodash-es/isElement.js"),l=s("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),d=s.n(l),h=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/panel/balloonpanel.css"),u={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};d()(h.Z,u);h.Z.locals;const p=(0,n.Z)("px"),g=a.Z.document.body;class f extends o.Z{constructor(e){super(e);const t=this.bindTemplate;this.set("top",0),this.set("left",0),this.set("position","arrow_nw"),this.set("isVisible",!1),this.set("withArrow",!0),this.set("class"),this.content=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-balloon-panel",t.to("position",(e=>`ck-balloon-panel_${e}`)),t.if("isVisible","ck-balloon-panel_visible"),t.if("withArrow","ck-balloon-panel_with-arrow"),t.to("class")],style:{top:t.to("top",p),left:t.to("left",p)}},children:this.content})}show(){this.isVisible=!0}hide(){this.isVisible=!1}attachTo(e){this.show();const t=f.defaultPositions,s=Object.assign({},{element:this.element,positions:[t.southArrowNorth,t.southArrowNorthMiddleWest,t.southArrowNorthMiddleEast,t.southArrowNorthWest,t.southArrowNorthEast,t.northArrowSouth,t.northArrowSouthMiddleWest,t.northArrowSouthMiddleEast,t.northArrowSouthWest,t.northArrowSouthEast,t.viewportStickyNorth],limiter:g,fitInViewport:!0},e),o=f._getOptimalPosition(s),i=parseInt(o.left),r=parseInt(o.top),{name:n,config:a={}}=o,{withArrow:c=!0}=a;Object.assign(this,{top:r,left:i,position:n,withArrow:c})}pin(e){this.unpin(),this._pinWhenIsVisibleCallback=()=>{this.isVisible?this._startPinning(e):this._stopPinning()},this._startPinning(e),this.listenTo(this,"change:isVisible",this._pinWhenIsVisibleCallback)}unpin(){this._pinWhenIsVisibleCallback&&(this._stopPinning(),this.stopListening(this,"change:isVisible",this._pinWhenIsVisibleCallback),this._pinWhenIsVisibleCallback=null,this.hide())}_startPinning(e){this.attachTo(e);const t=m(e.target),s=e.limiter?m(e.limiter):g;this.listenTo(a.Z.document,"scroll",((o,i)=>{const r=i.target,n=t&&r.contains(t),a=s&&r.contains(s);!n&&!a&&t&&s||this.attachTo(e)}),{useCapture:!0}),this.listenTo(a.Z.window,"resize",(()=>{this.attachTo(e)}))}_stopPinning(){this.stopListening(a.Z.document,"scroll"),this.stopListening(a.Z.window,"resize")}}function m(e){return(0,c.Z)(e)?e:(0,r.Z)(e)?e.commonAncestorContainer:"function"==typeof e?m(e()):null}function k({sideOffset:e=f.arrowSideOffset,heightOffset:t=f.arrowHeightOffset,stickyVerticalOffset:s=f.stickyVerticalOffset,config:o}={}){return{northWestArrowSouthWest:(t,s)=>({top:i(t,s),left:t.left-e,name:"arrow_sw",...o&&{config:o}}),northWestArrowSouthMiddleWest:(t,s)=>({top:i(t,s),left:t.left-.25*s.width-e,name:"arrow_smw",...o&&{config:o}}),northWestArrowSouth:(e,t)=>({top:i(e,t),left:e.left-t.width/2,name:"arrow_s",...o&&{config:o}}),northWestArrowSouthMiddleEast:(t,s)=>({top:i(t,s),left:t.left-.75*s.width+e,name:"arrow_sme",...o&&{config:o}}),northWestArrowSouthEast:(t,s)=>({top:i(t,s),left:t.left-s.width+e,name:"arrow_se",...o&&{config:o}}),northArrowSouthWest:(t,s)=>({top:i(t,s),left:t.left+t.width/2-e,name:"arrow_sw",...o&&{config:o}}),northArrowSouthMiddleWest:(t,s)=>({top:i(t,s),left:t.left+t.width/2-.25*s.width-e,name:"arrow_smw",...o&&{config:o}}),northArrowSouth:(e,t)=>({top:i(e,t),left:e.left+e.width/2-t.width/2,name:"arrow_s",...o&&{config:o}}),northArrowSouthMiddleEast:(t,s)=>({top:i(t,s),left:t.left+t.width/2-.75*s.width+e,name:"arrow_sme",...o&&{config:o}}),northArrowSouthEast:(t,s)=>({top:i(t,s),left:t.left+t.width/2-s.width+e,name:"arrow_se",...o&&{config:o}}),northEastArrowSouthWest:(t,s)=>({top:i(t,s),left:t.right-e,name:"arrow_sw",...o&&{config:o}}),northEastArrowSouthMiddleWest:(t,s)=>({top:i(t,s),left:t.right-.25*s.width-e,name:"arrow_smw",...o&&{config:o}}),northEastArrowSouth:(e,t)=>({top:i(e,t),left:e.right-t.width/2,name:"arrow_s",...o&&{config:o}}),northEastArrowSouthMiddleEast:(t,s)=>({top:i(t,s),left:t.right-.75*s.width+e,name:"arrow_sme",...o&&{config:o}}),northEastArrowSouthEast:(t,s)=>({top:i(t,s),left:t.right-s.width+e,name:"arrow_se",...o&&{config:o}}),southWestArrowNorthWest:(t,s)=>({top:r(t),left:t.left-e,name:"arrow_nw",...o&&{config:o}}),southWestArrowNorthMiddleWest:(t,s)=>({top:r(t),left:t.left-.25*s.width-e,name:"arrow_nmw",...o&&{config:o}}),southWestArrowNorth:(e,t)=>({top:r(e),left:e.left-t.width/2,name:"arrow_n",...o&&{config:o}}),southWestArrowNorthMiddleEast:(t,s)=>({top:r(t),left:t.left-.75*s.width+e,name:"arrow_nme",...o&&{config:o}}),southWestArrowNorthEast:(t,s)=>({top:r(t),left:t.left-s.width+e,name:"arrow_ne",...o&&{config:o}}),southArrowNorthWest:(t,s)=>({top:r(t),left:t.left+t.width/2-e,name:"arrow_nw",...o&&{config:o}}),southArrowNorthMiddleWest:(t,s)=>({top:r(t),left:t.left+t.width/2-.25*s.width-e,name:"arrow_nmw",...o&&{config:o}}),southArrowNorth:(e,t)=>({top:r(e),left:e.left+e.width/2-t.width/2,name:"arrow_n",...o&&{config:o}}),southArrowNorthMiddleEast:(t,s)=>({top:r(t),left:t.left+t.width/2-.75*s.width+e,name:"arrow_nme",...o&&{config:o}}),southArrowNorthEast:(t,s)=>({top:r(t),left:t.left+t.width/2-s.width+e,name:"arrow_ne",...o&&{config:o}}),southEastArrowNorthWest:(t,s)=>({top:r(t),left:t.right-e,name:"arrow_nw",...o&&{config:o}}),southEastArrowNorthMiddleWest:(t,s)=>({top:r(t),left:t.right-.25*s.width-e,name:"arrow_nmw",...o&&{config:o}}),southEastArrowNorth:(e,t)=>({top:r(e),left:e.right-t.width/2,name:"arrow_n",...o&&{config:o}}),southEastArrowNorthMiddleEast:(t,s)=>({top:r(t),left:t.right-.75*s.width+e,name:"arrow_nme",...o&&{config:o}}),southEastArrowNorthEast:(t,s)=>({top:r(t),left:t.right-s.width+e,name:"arrow_ne",...o&&{config:o}}),westArrowEast:(e,s)=>({top:e.top+e.height/2-s.height/2,left:e.left-s.width-t,name:"arrow_e",...o&&{config:o}}),eastArrowWest:(e,s)=>({top:e.top+e.height/2-s.height/2,left:e.right+t,name:"arrow_w",...o&&{config:o}}),viewportStickyNorth:(e,t,i)=>e.getIntersection(i)?{top:i.top+s,left:e.left+e.width/2-t.width/2,name:"arrowless",config:{withArrow:!1,...o}}:null};function i(e,s){return e.top-s.height-t}function r(e){return e.bottom+t}}f.arrowSideOffset=25,f.arrowHeightOffset=10,f.stickyVerticalOffset=20,f._getOptimalPosition=i.x,f.defaultPositions=k()},"./packages/ckeditor5-ui/src/panel/balloon/contextualballoon.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>b});var o=s("./packages/ckeditor5-core/src/plugin.js"),i=s("./packages/ckeditor5-ui/src/panel/balloon/balloonpanelview.js"),r=s("./packages/ckeditor5-ui/src/view.js"),n=s("./packages/ckeditor5-ui/src/button/buttonview.js"),a=s("./packages/ckeditor5-utils/src/ckeditorerror.ts"),c=s("./packages/ckeditor5-utils/src/focustracker.ts"),l=s("./packages/ckeditor5-utils/src/dom/tounit.ts"),d=s("./packages/ckeditor5-utils/src/dom/rect.ts");var h=s("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),u=s.n(h),p=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/panel/balloonrotator.css"),g={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};u()(p.Z,g);p.Z.locals;var f=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/panel/fakepanel.css"),m={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};u()(f.Z,m);f.Z.locals;const k=(0,l.Z)("px");class b extends o.Z{static get pluginName(){return"ContextualBalloon"}constructor(e){super(e),this.positionLimiter=()=>{const e=this.editor.editing.view,t=e.document.selection.editableElement;return t?e.domConverter.mapViewToDom(t.root):null},this.set("visibleView",null),this.view=new i.Z(e.locale),e.ui.view.body.add(this.view),e.ui.focusTracker.add(this.view.element),this._viewToStack=new Map,this._idToStack=new Map,this.set("_numberOfStacks",0),this.set("_singleViewMode",!1),this._rotatorView=this._createRotatorView(),this._fakePanelsView=this._createFakePanelsView()}destroy(){super.destroy(),this.view.destroy(),this._rotatorView.destroy(),this._fakePanelsView.destroy()}hasView(e){return Array.from(this._viewToStack.keys()).includes(e)}add(e){if(this.hasView(e.view))throw new a.ZP("contextualballoon-add-view-exist",[this,e]);const t=e.stackId||"main";if(!this._idToStack.has(t))return this._idToStack.set(t,new Map([[e.view,e]])),this._viewToStack.set(e.view,this._idToStack.get(t)),this._numberOfStacks=this._idToStack.size,void(this._visibleStack&&!e.singleViewMode||this.showStack(t));const s=this._idToStack.get(t);e.singleViewMode&&this.showStack(t),s.set(e.view,e),this._viewToStack.set(e.view,s),s===this._visibleStack&&this._showView(e)}remove(e){if(!this.hasView(e))throw new a.ZP("contextualballoon-remove-view-not-exist",[this,e]);const t=this._viewToStack.get(e);this._singleViewMode&&this.visibleView===e&&(this._singleViewMode=!1),this.visibleView===e&&(1===t.size?this._idToStack.size>1?this._showNextStack():(this.view.hide(),this.visibleView=null,this._rotatorView.hideView()):this._showView(Array.from(t.values())[t.size-2])),1===t.size?(this._idToStack.delete(this._getStackId(t)),this._numberOfStacks=this._idToStack.size):t.delete(e),this._viewToStack.delete(e)}updatePosition(e){e&&(this._visibleStack.get(this.visibleView).position=e),this.view.pin(this._getBalloonPosition()),this._fakePanelsView.updatePosition()}showStack(e){this.visibleStack=e;const t=this._idToStack.get(e);if(!t)throw new a.ZP("contextualballoon-showstack-stack-not-exist",this);this._visibleStack!==t&&this._showView(Array.from(t.values()).pop())}get _visibleStack(){return this._viewToStack.get(this.visibleView)}_getStackId(e){return Array.from(this._idToStack.entries()).find((t=>t[1]===e))[0]}_showNextStack(){const e=Array.from(this._idToStack.values());let t=e.indexOf(this._visibleStack)+1;e[t]||(t=0),this.showStack(this._getStackId(e[t]))}_showPrevStack(){const e=Array.from(this._idToStack.values());let t=e.indexOf(this._visibleStack)-1;e[t]||(t=e.length-1),this.showStack(this._getStackId(e[t]))}_createRotatorView(){const e=new _(this.editor.locale),t=this.editor.locale.t;return this.view.content.add(e),e.bind("isNavigationVisible").to(this,"_numberOfStacks",this,"_singleViewMode",((e,t)=>!t&&e>1)),e.on("change:isNavigationVisible",(()=>this.updatePosition()),{priority:"low"}),e.bind("counter").to(this,"visibleView",this,"_numberOfStacks",((e,s)=>{if(s<2)return"";const o=Array.from(this._idToStack.values()).indexOf(this._visibleStack)+1;return t("%0 of %1",[o,s])})),e.buttonNextView.on("execute",(()=>{e.focusTracker.isFocused&&this.editor.editing.view.focus(),this._showNextStack()})),e.buttonPrevView.on("execute",(()=>{e.focusTracker.isFocused&&this.editor.editing.view.focus(),this._showPrevStack()})),e}_createFakePanelsView(){const e=new w(this.editor.locale,this.view);return e.bind("numberOfPanels").to(this,"_numberOfStacks",this,"_singleViewMode",((e,t)=>!t&&e>=2?Math.min(e-1,2):0)),e.listenTo(this.view,"change:top",(()=>e.updatePosition())),e.listenTo(this.view,"change:left",(()=>e.updatePosition())),this.editor.ui.view.body.add(e),e}_showView({view:e,balloonClassName:t="",withArrow:s=!0,singleViewMode:o=!1}){this.view.class=t,this.view.withArrow=s,this._rotatorView.showView(e),this.visibleView=e,this.view.pin(this._getBalloonPosition()),this._fakePanelsView.updatePosition(),o&&(this._singleViewMode=!0)}_getBalloonPosition(){let e=Array.from(this._visibleStack.values()).pop().position;return e&&(e.limiter||(e=Object.assign({},e,{limiter:this.positionLimiter})),e=Object.assign({},e,{viewportOffsetConfig:this.editor.ui.viewportOffset})),e}}class _ extends r.Z{constructor(e){super(e);const t=e.t,s=this.bindTemplate;this.set("isNavigationVisible",!0),this.focusTracker=new c.Z,this.buttonPrevView=this._createButtonView(t("Previous"),''),this.buttonNextView=this._createButtonView(t("Next"),''),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",s.to("isNavigationVisible",(e=>e?"":"ck-hidden"))]},children:[this.buttonPrevView,{tag:"span",attributes:{class:["ck-balloon-rotator__counter"]},children:[{text:s.to("counter")}]},this.buttonNextView]},{tag:"div",attributes:{class:"ck-balloon-rotator__content"},children:this.content}]})}render(){super.render(),this.focusTracker.add(this.element)}destroy(){super.destroy(),this.focusTracker.destroy()}showView(e){this.hideView(),this.content.add(e)}hideView(){this.content.clear()}_createButtonView(e,t){const s=new n.Z(this.locale);return s.set({label:e,icon:t,tooltip:!0}),s}}class w extends r.Z{constructor(e,t){super(e);const s=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=t,this.setTemplate({tag:"div",attributes:{class:["ck-fake-panel",s.to("numberOfPanels",(e=>e?"":"ck-hidden"))],style:{top:s.to("top",k),left:s.to("left",k),width:s.to("width",k),height:s.to("height",k)}},children:this.content}),this.on("change:numberOfPanels",((e,t,s,o)=>{s>o?this._addPanels(s-o):this._removePanels(o-s),this.updatePosition()}))}_addPanels(e){for(;e--;){const e=new r.Z;e.setTemplate({tag:"div"}),this.content.add(e),this.registerChild(e)}}_removePanels(e){for(;e--;){const e=this.content.last;this.content.remove(e),this.deregisterChild(e),e.destroy()}}updatePosition(){if(this.numberOfPanels){const{top:e,left:t}=this._balloonPanelView,{width:s,height:o}=new d.Z(this._balloonPanelView.element);Object.assign(this,{top:e,left:t,width:s,height:o})}}}},"./packages/ckeditor5-ui/src/template.js":(e,t,s)=>{"use strict";s.d(t,{ZP:()=>u});var o=s("./packages/ckeditor5-utils/src/ckeditorerror.ts"),i=s("./packages/ckeditor5-utils/src/mix.ts"),r=s("./packages/ckeditor5-utils/src/emittermixin.ts"),n=s("./packages/ckeditor5-ui/src/view.js"),a=s("./packages/ckeditor5-ui/src/viewcollection.js"),c=s("./packages/ckeditor5-utils/src/dom/isnode.ts"),l=s("./node_modules/lodash-es/isObject.js"),d=s("./node_modules/lodash-es/cloneDeepWith.js"),h=s("./packages/ckeditor5-utils/src/toarray.ts");class u{constructor(e){Object.assign(this,y(v(e))),this._isRendered=!1,this._revertData=null}render(){const e=this._renderNode({intoFragment:!0});return this._isRendered=!0,e}apply(e){return this._revertData={children:[],bindings:[],attributes:{}},this._renderNode({node:e,isApplying:!0,revertData:this._revertData}),e}revert(e){if(!this._revertData)throw new o.ZP("ui-template-revert-not-applied",[this,e]);this._revertTemplateFromNode(e,this._revertData)}*getViews(){yield*function*e(t){if(t.children)for(const s of t.children)C(s)?yield s:E(s)&&(yield*e(s))}(this)}static bind(e,t){return{to:(s,o)=>new g({eventNameOrFunction:s,attribute:s,observable:e,emitter:t,callback:o}),if:(s,o,i)=>new f({observable:e,emitter:t,attribute:s,valueIfTrue:o,callback:i})}}static extend(e,t){if(e._isRendered)throw new o.ZP("template-extend-render",[this,e]);T(e,y(v(t)))}_renderNode(e){let t;if(t=e.node?this.tag&&this.text:this.tag?this.text:!this.text,t)throw new o.ZP("ui-template-wrong-syntax",this);return this.text?this._renderText(e):this._renderElement(e)}_renderElement(e){let t=e.node;return t||(t=e.node=document.createElementNS(this.ns||"http://www.w3.org/1999/xhtml",this.tag)),this._renderAttributes(e),this._renderElementChildren(e),this._setUpListeners(e),t}_renderText(e){let t=e.node;return t?e.revertData.text=t.textContent:t=e.node=document.createTextNode(""),m(this.text)?this._bindToObservable({schema:this.text,updater:b(t),data:e}):t.textContent=this.text.join(""),t}_renderAttributes(e){let t,s,o,i;if(!this.attributes)return;const r=e.node,n=e.revertData;for(t in this.attributes)if(o=r.getAttribute(t),s=this.attributes[t],n&&(n.attributes[t]=o),i=(0,l.Z)(s[0])&&s[0].ns?s[0].ns:null,m(s)){const a=i?s[0].value:s;n&&j(t)&&a.unshift(o),this._bindToObservable({schema:a,updater:_(r,t,i),data:e})}else"style"==t&&"string"!=typeof s[0]?this._renderStyleAttribute(s[0],e):(n&&o&&j(t)&&s.unshift(o),s=s.map((e=>e&&e.value||e)).reduce(((e,t)=>e.concat(t)),[]).reduce(P,""),A(s)||r.setAttributeNS(i,t,s))}_renderStyleAttribute(e,t){const s=t.node;for(const o in e){const i=e[o];m(i)?this._bindToObservable({schema:[i],updater:w(s,o),data:t}):s.style[o]=i}}_renderElementChildren(e){const t=e.node,s=e.intoFragment?document.createDocumentFragment():t,o=e.isApplying;let i=0;for(const r of this.children)if(S(r)){if(!o){r.setParent(t);for(const e of r)s.appendChild(e.element)}}else if(C(r))o||(r.isRendered||r.render(),s.appendChild(r.element));else if((0,c.Z)(r))s.appendChild(r);else if(o){const t={children:[],bindings:[],attributes:{}};e.revertData.children.push(t),r._renderNode({node:s.childNodes[i++],isApplying:!0,revertData:t})}else s.appendChild(r.render());e.intoFragment&&t.appendChild(s)}_setUpListeners(e){if(this.eventListeners)for(const t in this.eventListeners){const s=this.eventListeners[t].map((s=>{const[o,i]=t.split("@");return s.activateDomEventListener(o,i,e)}));e.revertData&&e.revertData.bindings.push(s)}}_bindToObservable({schema:e,updater:t,data:s}){const o=s.revertData;k(e,t,s);const i=e.filter((e=>!A(e))).filter((e=>e.observable)).map((o=>o.activateAttributeListener(e,t,s)));o&&o.bindings.push(i)}_revertTemplateFromNode(e,t){for(const e of t.bindings)for(const t of e)t();if(t.text)e.textContent=t.text;else{for(const s in t.attributes){const o=t.attributes[s];null===o?e.removeAttribute(s):e.setAttribute(s,o)}for(let s=0;sk(e,t,s);return this.emitter.listenTo(this.observable,"change:"+this.attribute,o),()=>{this.emitter.stopListening(this.observable,"change:"+this.attribute,o)}}}class g extends p{activateDomEventListener(e,t,s){const o=(e,s)=>{t&&!s.target.matches(t)||("function"==typeof this.eventNameOrFunction?this.eventNameOrFunction(s):this.observable.fire(this.eventNameOrFunction,s))};return this.emitter.listenTo(s.node,e,o),()=>{this.emitter.stopListening(s.node,e,o)}}}class f extends p{getValue(e){return!A(super.getValue(e))&&(this.valueIfTrue||!0)}}function m(e){return!!e&&(e.value&&(e=e.value),Array.isArray(e)?e.some(m):e instanceof p)}function k(e,t,{node:s}){let o=function(e,t){return e.map((e=>e instanceof p?e.getValue(t):e))}(e,s);o=1==e.length&&e[0]instanceof f?o[0]:o.reduce(P,""),A(o)?t.remove():t.set(o)}function b(e){return{set(t){e.textContent=t},remove(){e.textContent=""}}}function _(e,t,s){return{set(o){e.setAttributeNS(s,t,o)},remove(){e.removeAttributeNS(s,t)}}}function w(e,t){return{set(s){e.style[t]=s},remove(){e.style[t]=null}}}function v(e){return(0,d.Z)(e,(e=>{if(e&&(e instanceof p||E(e)||C(e)||S(e)))return e}))}function y(e){if("string"==typeof e?e=function(e){return{text:[e]}}(e):e.text&&function(e){e.text=(0,h.Z)(e.text)}(e),e.on&&(e.eventListeners=function(e){for(const t in e)Z(e,t);return e}(e.on),delete e.on),!e.text){e.attributes&&function(e){for(const t in e)e[t].value&&(e[t].value=(0,h.Z)(e[t].value)),Z(e,t)}(e.attributes);const t=[];if(e.children)if(S(e.children))t.push(e.children);else for(const s of e.children)E(s)||C(s)||(0,c.Z)(s)?t.push(s):t.push(new u(s));e.children=t}return e}function Z(e,t){e[t]=(0,h.Z)(e[t])}function P(e,t){return A(t)?e:A(e)?t:`${e} ${t}`}function x(e,t){for(const s in t)e[s]?e[s].push(...t[s]):e[s]=t[s]}function T(e,t){if(t.attributes&&(e.attributes||(e.attributes={}),x(e.attributes,t.attributes)),t.eventListeners&&(e.eventListeners||(e.eventListeners={}),x(e.eventListeners,t.eventListeners)),t.text&&e.text.push(...t.text),t.children&&t.children.length){if(e.children.length!=t.children.length)throw new o.ZP("ui-template-extend-children-mismatch",e);let s=0;for(const o of t.children)T(e.children[s++],o)}}function A(e){return!e&&0!==e}function C(e){return e instanceof n.Z}function E(e){return e instanceof u}function S(e){return e instanceof a.Z}function j(e){return"class"==e||"style"==e}},"./packages/ckeditor5-ui/src/toolbar/normalizetoolbarconfig.js":(e,t,s)=>{"use strict";function o(e){return Array.isArray(e)?{items:e,removeItems:[]}:e?Object.assign({items:[],removeItems:[]},e):{items:[],removeItems:[]}}s.d(t,{Z:()=>o})},"./packages/ckeditor5-ui/src/toolbar/toolbarseparatorview.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});var o=s("./packages/ckeditor5-ui/src/view.js");class i extends o.Z{constructor(e){super(e),this.setTemplate({tag:"span",attributes:{class:["ck","ck-toolbar__separator"]}})}}},"./packages/ckeditor5-ui/src/toolbar/toolbarview.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>y});var o=s("./packages/ckeditor5-ui/src/view.js"),i=s("./packages/ckeditor5-utils/src/focustracker.ts"),r=s("./packages/ckeditor5-ui/src/focuscycler.js"),n=s("./packages/ckeditor5-utils/src/keystrokehandler.ts"),a=s("./packages/ckeditor5-ui/src/toolbar/toolbarseparatorview.js");class c extends o.Z{constructor(e){super(e),this.setTemplate({tag:"span",attributes:{class:["ck","ck-toolbar__line-break"]}})}}var l=s("./packages/ckeditor5-utils/src/dom/resizeobserver.ts");function d(e){return e.bindTemplate.to((t=>{t.target===e.element&&t.preventDefault()}))}var h=s("./packages/ckeditor5-utils/src/dom/rect.ts"),u=s("./packages/ckeditor5-utils/src/dom/isvisible.ts"),p=s("./packages/ckeditor5-utils/src/dom/global.ts"),g=s("./packages/ckeditor5-ui/src/dropdown/utils.js"),f=s("./packages/ckeditor5-utils/src/ckeditorerror.ts"),m=s("./packages/ckeditor5-ui/src/toolbar/normalizetoolbarconfig.js"),k=s("./packages/ckeditor5-core/theme/icons/three-vertical-dots.svg"),b=s("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),_=s.n(b),w=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/toolbar/toolbar.css"),v={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};_()(w.Z,v);w.Z.locals;class y extends o.Z{constructor(e,t){super(e);const s=this.bindTemplate,o=this.t;this.options=t||{},this.set("ariaLabel",o("Editor toolbar")),this.set("maxWidth","auto"),this.items=this.createCollection(),this.focusTracker=new i.Z,this.keystrokes=new n.Z,this.set("class"),this.set("isCompact",!1),this.itemsView=new Z(e),this.children=this.createCollection(),this.children.add(this.itemsView),this.focusables=this.createCollection();const a="rtl"===e.uiLanguageDirection;this._focusCycler=new r.Z({focusables:this.focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:[a?"arrowright":"arrowleft","arrowup"],focusNext:[a?"arrowleft":"arrowright","arrowdown"]}});const c=["ck","ck-toolbar",s.to("class"),s.if("isCompact","ck-toolbar_compact")];this.options.shouldGroupWhenFull&&this.options.isFloating&&c.push("ck-toolbar_floating"),this.setTemplate({tag:"div",attributes:{class:c,role:"toolbar","aria-label":s.to("ariaLabel"),style:{maxWidth:s.to("maxWidth")}},children:this.children,on:{mousedown:d(this)}}),this._behavior=this.options.shouldGroupWhenFull?new x(this):new P(this)}render(){super.render();for(const e of this.items)this.focusTracker.add(e.element);this.items.on("add",((e,t)=>{this.focusTracker.add(t.element)})),this.items.on("remove",((e,t)=>{this.focusTracker.remove(t.element)})),this.keystrokes.listenTo(this.element),this._behavior.render(this)}destroy(){return this._behavior.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy(),super.destroy()}focus(){this._focusCycler.focusFirst()}focusLast(){this._focusCycler.focusLast()}fillFromConfig(e,t){const s=(0,m.Z)(e),o=s.items.filter(((e,o,i)=>"|"===e||-1===s.removeItems.indexOf(e)&&("-"===e?!this.options.shouldGroupWhenFull||((0,f.KE)("toolbarview-line-break-ignored-when-grouping-items",i),!1):!!t.has(e)||((0,f.KE)("toolbarview-item-unavailable",{name:e}),!1)))),i=this._cleanSeparators(o).map((e=>"|"===e?new a.Z:"-"===e?new c:t.create(e)));this.items.addMany(i)}_cleanSeparators(e){const t=e=>"-"!==e&&"|"!==e,s=e.length,o=e.findIndex(t),i=s-e.slice().reverse().findIndex(t);return e.slice(o,i).filter(((e,s,o)=>{if(t(e))return!0;return!(s>0&&o[s-1]===e)}))}}class Z extends o.Z{constructor(e){super(e),this.children=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-toolbar__items"]},children:this.children})}}class P{constructor(e){const t=e.bindTemplate;e.set("isVertical",!1),e.itemsView.children.bindTo(e.items).using((e=>e)),e.focusables.bindTo(e.items).using((e=>e)),e.extendTemplate({attributes:{class:[t.if("isVertical","ck-toolbar_vertical")]}})}render(){}destroy(){}}class x{constructor(e){this.view=e,this.viewChildren=e.children,this.viewFocusables=e.focusables,this.viewItemsView=e.itemsView,this.viewFocusTracker=e.focusTracker,this.viewLocale=e.locale,this.ungroupedItems=e.createCollection(),this.groupedItems=e.createCollection(),this.groupedItemsDropdown=this._createGroupedItemsDropdown(),this.resizeObserver=null,this.cachedPadding=null,this.shouldUpdateGroupingOnNextResize=!1,e.itemsView.children.bindTo(this.ungroupedItems).using((e=>e)),this.ungroupedItems.on("add",this._updateFocusCycleableItems.bind(this)),this.ungroupedItems.on("remove",this._updateFocusCycleableItems.bind(this)),e.children.on("add",this._updateFocusCycleableItems.bind(this)),e.children.on("remove",this._updateFocusCycleableItems.bind(this)),e.items.on("change",((e,t)=>{const s=t.index;for(const e of t.removed)s>=this.ungroupedItems.length?this.groupedItems.remove(e):this.ungroupedItems.remove(e);for(let e=s;ethis.ungroupedItems.length?this.groupedItems.add(o,e-this.ungroupedItems.length):this.ungroupedItems.add(o,e)}this._updateGrouping()})),e.extendTemplate({attributes:{class:["ck-toolbar_grouping"]}})}render(e){this.viewElement=e.element,this._enableGroupingOnResize(),this._enableGroupingOnMaxWidthChange(e)}destroy(){this.groupedItemsDropdown.destroy(),this.resizeObserver.destroy()}_updateGrouping(){if(!this.viewElement.ownerDocument.body.contains(this.viewElement))return;if(!(0,u.Z)(this.viewElement))return void(this.shouldUpdateGroupingOnNextResize=!0);const e=this.groupedItems.length;let t;for(;this._areItemsOverflowing;)this._groupLastItem(),t=!0;if(!t&&this.groupedItems.length){for(;this.groupedItems.length&&!this._areItemsOverflowing;)this._ungroupFirstItem();this._areItemsOverflowing&&this._groupLastItem()}this.groupedItems.length!==e&&this.view.fire("groupedItemsUpdate")}get _areItemsOverflowing(){if(!this.ungroupedItems.length)return!1;const e=this.viewElement,t=this.viewLocale.uiLanguageDirection,s=new h.Z(e.lastChild),o=new h.Z(e);if(!this.cachedPadding){const s=p.Z.window.getComputedStyle(e),o="ltr"===t?"paddingRight":"paddingLeft";this.cachedPadding=Number.parseInt(s[o])}return"ltr"===t?s.right>o.right-this.cachedPadding:s.left{e&&e===t.contentRect.width&&!this.shouldUpdateGroupingOnNextResize||(this.shouldUpdateGroupingOnNextResize=!1,this._updateGrouping(),e=t.contentRect.width)})),this._updateGrouping()}_enableGroupingOnMaxWidthChange(e){e.on("change:maxWidth",(()=>{this._updateGrouping()}))}_groupLastItem(){this.groupedItems.length||(this.viewChildren.add(new a.Z),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)),this.groupedItems.length||(this.viewChildren.remove(this.groupedItemsDropdown),this.viewChildren.remove(this.viewChildren.last),this.viewFocusTracker.remove(this.groupedItemsDropdown.element))}_createGroupedItemsDropdown(){const e=this.viewLocale,t=e.t,s=(0,g.t9)(e);return s.class="ck-toolbar__grouped-dropdown",s.panelPosition="ltr"===e.uiLanguageDirection?"sw":"se",(0,g.up)(s,[]),s.buttonView.set({label:t("Show more items"),tooltip:!0,tooltipPosition:"rtl"===e.uiLanguageDirection?"se":"sw",icon:k.Z}),s.toolbarView.items.bindTo(this.groupedItems).using((e=>e)),s}_updateFocusCycleableItems(){this.viewFocusables.clear(),this.ungroupedItems.map((e=>{this.viewFocusables.add(e)})),this.groupedItems.length&&this.viewFocusables.add(this.groupedItemsDropdown)}}},"./packages/ckeditor5-ui/src/tooltipmanager.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>g});var o=s("./packages/ckeditor5-ui/src/view.js"),i=s("./packages/ckeditor5-ui/src/panel/balloon/balloonpanelview.js"),r=s("./packages/ckeditor5-utils/src/dom/emittermixin.ts"),n=s("./packages/ckeditor5-utils/src/index.ts"),a=s("./node_modules/lodash-es/debounce.js"),c=s("./node_modules/lodash-es/isElement.js"),l=s("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),d=s.n(l),h=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/tooltip/tooltip.css"),u={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};d()(h.Z,u);h.Z.locals;const p="ck-tooltip";class g{constructor(e){if(g._editors.add(e),g._instance)return g._instance;g._instance=this,this.tooltipTextView=new o.Z(e.locale),this.tooltipTextView.set("text",""),this.tooltipTextView.setTemplate({tag:"span",attributes:{class:["ck","ck-tooltip__text"]},children:[{text:this.tooltipTextView.bindTemplate.to("text")}]}),this.balloonPanelView=new i.Z(e.locale),this.balloonPanelView.class=p,this.balloonPanelView.content.add(this.tooltipTextView),this._currentElementWithTooltip=null,this._currentTooltipPosition=null,this._pinTooltipDebounced=(0,a.Z)(this._pinTooltip,600),this.listenTo(n.CO.document,"mouseenter",this._onEnterOrFocus.bind(this),{useCapture:!0}),this.listenTo(n.CO.document,"mouseleave",this._onLeaveOrBlur.bind(this),{useCapture:!0}),this.listenTo(n.CO.document,"focus",this._onEnterOrFocus.bind(this),{useCapture:!0}),this.listenTo(n.CO.document,"blur",this._onLeaveOrBlur.bind(this),{useCapture:!0}),this.listenTo(n.CO.document,"scroll",this._onScroll.bind(this),{useCapture:!0}),this._watchdogExcluded=!0}destroy(e){g._editors.delete(e),this.stopListening(e.ui),g._editors.size||(this._unpinTooltip(),this.balloonPanelView.destroy(),this.stopListening(),g._instance=null)}_onEnterOrFocus(e,{target:t}){const s=f(t);var o;s&&(s!==this._currentElementWithTooltip&&(this._unpinTooltip(),this._pinTooltipDebounced(s,{text:(o=s).dataset.ckeTooltipText,position:o.dataset.ckeTooltipPosition||"s",cssClass:o.dataset.ckeTooltipClass||""})))}_onLeaveOrBlur(e,{target:t,relatedTarget:s}){if("mouseleave"===e.name){if(!(0,c.Z)(t))return;if(this._currentElementWithTooltip&&t!==this._currentElementWithTooltip)return;const e=f(t),o=f(s);e&&e!==o&&this._unpinTooltip()}else{if(this._currentElementWithTooltip&&t!==this._currentElementWithTooltip)return;this._unpinTooltip()}}_onScroll(e,{target:t}){this._currentElementWithTooltip&&(t.contains(this.balloonPanelView.element)&&t.contains(this._currentElementWithTooltip)||this._unpinTooltip())}_pinTooltip(e,{text:t,position:s,cssClass:o}){const i=(0,n.Ps)(g._editors.values()).ui.view.body;i.has(this.balloonPanelView)||i.add(this.balloonPanelView),this.tooltipTextView.text=t,this.balloonPanelView.pin({target:e,positions:g.getPositioningFunctions(s)}),this.balloonPanelView.class=[p,o].filter((e=>e)).join(" ");for(const e of g._editors)this.listenTo(e.ui,"update",this._updateTooltipPosition.bind(this),{priority:"low"});this._currentElementWithTooltip=e,this._currentTooltipPosition=s}_unpinTooltip(){this._pinTooltipDebounced.cancel(),this.balloonPanelView.unpin();for(const e of g._editors)this.stopListening(e.ui,"update");this._currentElementWithTooltip=null,this._currentTooltipPosition=null}_updateTooltipPosition(){(0,n.pn)(this._currentElementWithTooltip)?this.balloonPanelView.pin({target:this._currentElementWithTooltip,positions:g.getPositioningFunctions(this._currentTooltipPosition)}):this._unpinTooltip()}static getPositioningFunctions(e){const t=g.defaultBalloonPositions;return{s:[t.southArrowNorth,t.southArrowNorthEast,t.southArrowNorthWest],n:[t.northArrowSouth],e:[t.eastArrowWest],w:[t.westArrowEast],sw:[t.southArrowNorthEast],se:[t.southArrowNorthWest]}[e]}}function f(e){return(0,c.Z)(e)?e.closest("[data-cke-tooltip-text]:not([data-cke-tooltip-disabled])"):null}(0,n.CD)(g,r.Z),g.defaultBalloonPositions=(0,i.M)({heightOffset:5,sideOffset:13}),g._instance=null,g._editors=new Set},"./packages/ckeditor5-ui/src/view.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>f});var o=s("./packages/ckeditor5-utils/src/ckeditorerror.ts"),i=s("./packages/ckeditor5-ui/src/viewcollection.js"),r=s("./packages/ckeditor5-ui/src/template.js"),n=s("./packages/ckeditor5-utils/src/dom/emittermixin.ts"),a=s("./packages/ckeditor5-utils/src/observablemixin.ts"),c=s("./packages/ckeditor5-utils/src/collection.ts"),l=s("./packages/ckeditor5-utils/src/mix.ts"),d=s("./packages/ckeditor5-utils/src/isiterable.ts"),h=s("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),u=s.n(h),p=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/globals/globals.css"),g={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};u()(p.Z,g);p.Z.locals;class f{constructor(e){this.element=null,this.isRendered=!1,this.locale=e,this.t=e&&e.t,this._viewCollections=new c.Z,this._unboundChildren=this.createCollection(),this._viewCollections.on("add",((t,s)=>{s.locale=e})),this.decorate("render")}get bindTemplate(){return this._bindTemplate?this._bindTemplate:this._bindTemplate=r.ZP.bind(this,this)}createCollection(e){const t=new i.Z(e);return this._viewCollections.add(t),t}registerChild(e){(0,d.Z)(e)||(e=[e]);for(const t of e)this._unboundChildren.add(t)}deregisterChild(e){(0,d.Z)(e)||(e=[e]);for(const t of e)this._unboundChildren.remove(t)}setTemplate(e){this.template=new r.ZP(e)}extendTemplate(e){r.ZP.extend(this.template,e)}render(){if(this.isRendered)throw new o.ZP("ui-view-render-already-rendered",this);this.template&&(this.element=this.template.render(),this.registerChild(this.template.getViews())),this.isRendered=!0}destroy(){this.stopListening(),this._viewCollections.map((e=>e.destroy())),this.template&&this.template._revertData&&this.template.revert(this.element)}}(0,l.Z)(f,n.Z),(0,l.Z)(f,a.Z)},"./packages/ckeditor5-ui/src/viewcollection.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./packages/ckeditor5-utils/src/ckeditorerror.ts"),i=s("./packages/ckeditor5-utils/src/collection.ts");class r extends i.Z{constructor(e=[]){super(e,{idProperty:"viewUid"}),this.on("add",((e,t,s)=>{this._renderViewIntoCollectionParent(t,s)})),this.on("remove",((e,t)=>{t.element&&this._parentElement&&t.element.remove()})),this._parentElement=null}destroy(){this.map((e=>e.destroy()))}setParent(e){this._parentElement=e;for(const e of this)this._renderViewIntoCollectionParent(e)}delegate(...e){if(!e.length||!e.every((e=>"string"==typeof e)))throw new o.ZP("ui-viewcollection-delegate-wrong-events",this);return{to:t=>{for(const s of this)for(const o of e)s.delegate(o).to(t);this.on("add",((s,o)=>{for(const s of e)o.delegate(s).to(t)})),this.on("remove",((s,o)=>{for(const s of e)o.stopDelegating(s,t)}))}}}_renderViewIntoCollectionParent(e,t){e.isRendered||e.render(),e.element&&this._parentElement&&this._parentElement.insertBefore(e.element,this._parentElement.children[t])}}},"./packages/ckeditor5-widget/src/utils.js":(e,t,s)=>{"use strict";s.d(t,{s4:()=>f,Uo:()=>m,KT:()=>x,id:()=>Z,Qd:()=>k,em:()=>v,l6:()=>y,XC:()=>b,sC:()=>P,$n:()=>T});var o=s("./packages/ckeditor5-utils/src/ckeditorerror.ts"),i=s("./packages/ckeditor5-utils/src/toarray.ts"),r=s("./packages/ckeditor5-engine/src/model/utils/findoptimalinsertionrange.ts"),n=s("./packages/ckeditor5-utils/src/emittermixin.ts"),a=s("./packages/ckeditor5-utils/src/mix.ts");class c{constructor(){this._stack=[]}add(e,t){const s=this._stack,o=s[0];this._insertDescriptor(e);const i=s[0];o===i||l(o,i)||this.fire("change:top",{oldDescriptor:o,newDescriptor:i,writer:t})}remove(e,t){const s=this._stack,o=s[0];this._removeDescriptor(e);const i=s[0];o===i||l(o,i)||this.fire("change:top",{oldDescriptor:o,newDescriptor:i,writer:t})}_insertDescriptor(e){const t=this._stack,s=t.findIndex((t=>t.id===e.id));if(l(e,t[s]))return;s>-1&&t.splice(s,1);let o=0;for(;t[o]&&d(t[o],e);)o++;t.splice(o,0,e)}_removeDescriptor(e){const t=this._stack,s=t.findIndex((t=>t.id===e));s>-1&&t.splice(s,1)}}function l(e,t){return e&&t&&e.priority==t.priority&&h(e.classes)==h(t.classes)}function d(e,t){return e.priority>t.priority||!(e.priorityh(t.classes)}function h(e){return Array.isArray(e)?e.sort().join(","):e}(0,a.Z)(c,n.ZP);var u=s("./packages/ckeditor5-widget/src/widgettypearound/utils.js"),p=s("./packages/ckeditor5-ui/src/icon/iconview.js");const g='',f="ck-widget",m="ck-widget_selected";function k(e){return!!e.is("element")&&!!e.getCustomProperty("widget")}function b(e,t,s={}){if(!e.is("containerElement"))throw new o.ZP("widget-to-widget-wrong-element-type",null,{element:e});return t.setAttribute("contenteditable","false",e),t.addClass(f,e),t.setCustomProperty("widget",!0,e),e.getFillerOffset=A,s.label&&y(e,s.label,t),s.hasSelectionHandle&&function(e,t){const s=t.createUIElement("div",{class:"ck ck-widget__selection-handle"},(function(e){const t=this.toDomElement(e),s=new p.Z;return s.set("content",g),s.render(),t.appendChild(s.element),t}));t.insert(t.createPositionAt(e,0),s),t.addClass(["ck-widget_with-selection-handle"],e)}(e,t),v(e,t),e}function _(e,t,s){if(t.classes&&s.addClass((0,i.Z)(t.classes),e),t.attributes)for(const o in t.attributes)s.setAttribute(o,t.attributes[o],e)}function w(e,t,s){if(t.classes&&s.removeClass((0,i.Z)(t.classes),e),t.attributes)for(const o in t.attributes)s.removeAttribute(o,e)}function v(e,t,s=_,o=w){const i=new c;i.on("change:top",((t,i)=>{i.oldDescriptor&&o(e,i.oldDescriptor,i.writer),i.newDescriptor&&s(e,i.newDescriptor,i.writer)})),t.setCustomProperty("addHighlight",((e,t,s)=>i.add(t,s)),e),t.setCustomProperty("removeHighlight",((e,t,s)=>i.remove(t,s)),e)}function y(e,t,s){s.setCustomProperty("widgetLabel",t,e)}function Z(e){const t=e.getCustomProperty("widgetLabel");return t?"function"==typeof t?t():t:""}function P(e,t,s={}){return t.addClass(["ck-editor__editable","ck-editor__nested-editable"],e),t.setAttribute("role","textbox",e),s.label&&t.setAttribute("aria-label",s.label,e),t.setAttribute("contenteditable",e.isReadOnly?"false":"true",e),e.on("change:isReadOnly",((s,o,i)=>{t.setAttribute("contenteditable",i?"false":"true",e)})),e.on("change:isFocused",((s,o,i)=>{i?t.addClass("ck-editor__nested-editable_focused",e):t.removeClass("ck-editor__nested-editable_focused",e)})),v(e,t),e}function x(e,t){const s=e.getSelectedElement();if(s){const o=(0,u.tB)(e);if(o)return t.createRange(t.createPositionAt(s,o))}return(0,r.K)(e,t)}function T(e,t){return(s,o)=>{const{mapper:i,viewPosition:r}=o,n=i.findMappedViewAncestor(r);if(!t(n))return;const a=i.toModelElement(n);o.modelPosition=e.createPositionAt(a,r.isAtStart?"before":"after")}}function A(){return null}},"./packages/ckeditor5-widget/src/widget.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>b});var o=s("./packages/ckeditor5-core/src/plugin.js"),i=s("./packages/ckeditor5-engine/src/view/observer/mouseobserver.ts"),r=s("./packages/ckeditor5-widget/src/widgettypearound/widgettypearound.js"),n=s("./packages/ckeditor5-typing/src/delete.js"),a=s("./packages/ckeditor5-utils/src/env.ts"),c=s("./packages/ckeditor5-utils/src/keyboard.ts"),l=s("./packages/ckeditor5-utils/src/dom/rect.ts");function d(e){const t=e.model;return(s,o)=>{const i=o.keyCode==c.Do.arrowup,r=o.keyCode==c.Do.arrowdown,n=o.shiftKey,a=t.document.selection;if(!i&&!r)return;const d=r;if(n&&function(e,t){return!e.isCollapsed&&e.isBackward==t}(a,d))return;const p=function(e,t,s){const o=e.model;if(s){const e=t.isCollapsed?t.focus:t.getLastPosition(),s=h(o,e,"forward");if(!s)return null;const i=o.createRange(e,s),r=u(o.schema,i,"backward");return r?o.createRange(e,r):null}{const e=t.isCollapsed?t.focus:t.getFirstPosition(),s=h(o,e,"backward");if(!s)return null;const i=o.createRange(s,e),r=u(o.schema,i,"forward");return r?o.createRange(r,e):null}}(e,a,d);if(p){if(p.isCollapsed){if(a.isCollapsed)return;if(n)return}(p.isCollapsed||function(e,t,s){const o=e.model,i=e.view.domConverter;if(s){const e=o.createSelection(t.start);o.modifySelection(e),e.focus.isAtEnd||t.start.isEqual(e.focus)||(t=o.createRange(e.focus,t.end))}const r=e.mapper.toViewRange(t),n=i.viewRangeToDom(r),a=l.Z.getDomRangeRects(n);let c;for(const e of a)if(void 0!==c){if(Math.round(e.top)>=c)return!1;c=Math.max(c,Math.round(e.bottom))}else c=Math.round(e.bottom);return!0}(e,p,d))&&(t.change((e=>{const s=d?p.end:p.start;if(n){const o=t.createSelection(a.anchor);o.setFocus(s),e.setSelection(o)}else e.setSelection(s)})),s.stop(),o.preventDefault(),o.stopPropagation())}}}function h(e,t,s){const o=e.schema,i=e.createRangeIn(t.root),r="forward"==s?"elementStart":"elementEnd";for(const{previousPosition:e,item:n,type:a}of i.getWalker({startPosition:t,direction:s})){if(o.isLimit(n)&&!o.isInline(n))return e;if(a==r&&o.isBlock(n))return null}return null}function u(e,t,s){const o="backward"==s?t.end:t.start;if(e.checkChild(o,"$text"))return o;for(const{nextPosition:o}of t.getWalker({direction:s}))if(e.checkChild(o,"$text"))return o;return null}var p=s("./packages/ckeditor5-widget/src/utils.js"),g=s("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),f=s.n(g),m=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-widget/theme/widget.css"),k={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};f()(m.Z,k);m.Z.locals;class b extends o.Z{static get pluginName(){return"Widget"}static get requires(){return[r.Z,n.Z]}init(){const e=this.editor,t=e.editing.view,s=t.document;this._previouslySelected=new Set,this.editor.editing.downcastDispatcher.on("selection",((t,s,o)=>{const i=o.writer,r=s.selection;if(r.isCollapsed)return;const n=r.getSelectedElement();if(!n)return;const a=e.editing.mapper.toViewElement(n);(0,p.Qd)(a)&&o.consumable.consume(r,"selection")&&i.setSelection(i.createRangeOn(a),{fake:!0,label:(0,p.id)(a)})})),this.editor.editing.downcastDispatcher.on("selection",((e,t,s)=>{this._clearPreviouslySelectedWidgets(s.writer);const o=s.writer,i=o.document.selection;let r=null;for(const e of i.getRanges())for(const t of e){const e=t.item;(0,p.Qd)(e)&&!_(e,r)&&(o.addClass(p.Uo,e),this._previouslySelected.add(e),r=e)}}),{priority:"low"}),t.addObserver(i.Z),this.listenTo(s,"mousedown",((...e)=>this._onMousedown(...e))),this.listenTo(s,"arrowKey",((...e)=>{this._handleSelectionChangeOnArrowKeyPress(...e)}),{context:[p.Qd,"$text"]}),this.listenTo(s,"arrowKey",((...e)=>{this._preventDefaultOnArrowKeyPress(...e)}),{context:"$root"}),this.listenTo(s,"arrowKey",d(this.editor.editing),{context:"$text"}),this.listenTo(s,"delete",((e,t)=>{this._handleDelete("forward"==t.direction)&&(t.preventDefault(),e.stop())}),{context:"$root"})}_onMousedown(e,t){const s=this.editor,o=s.editing.view,i=o.document;let r=t.target;if(function(e){for(;e;){if(e.is("editableElement")&&!e.is("rootElement"))return!0;if((0,p.Qd)(e))return!1;e=e.parent}return!1}(r)){if((a.ZP.isSafari||a.ZP.isGecko)&&t.domEvent.detail>=3){const e=s.editing.mapper,o=r.is("attributeElement")?r.findAncestor((e=>!e.is("attributeElement"))):r,i=e.toModelElement(o);t.preventDefault(),this.editor.model.change((e=>{e.setSelection(i,"in")}))}return}if(!(0,p.Qd)(r)&&(r=r.findAncestor(p.Qd),!r))return;a.ZP.isAndroid&&t.preventDefault(),i.isFocused||o.focus();const n=s.editing.mapper.toModelElement(r);this._setSelectionOverElement(n)}_handleSelectionChangeOnArrowKeyPress(e,t){const s=t.keyCode,o=this.editor.model,i=o.schema,r=o.document.selection,n=r.getSelectedElement(),a=(0,c.mA)(s,this.editor.locale.contentLanguageDirection),l="down"==a||"right"==a,d="up"==a||"down"==a;if(n&&i.isObject(n)){const s=l?r.getLastPosition():r.getFirstPosition(),n=i.getNearestSelectionRange(s,l?"forward":"backward");return void(n&&(o.change((e=>{e.setSelection(n)})),t.preventDefault(),e.stop()))}if(!r.isCollapsed&&!t.shiftKey){const s=r.getFirstPosition(),n=r.getLastPosition(),a=s.nodeAfter,c=n.nodeBefore;return void((a&&i.isObject(a)||c&&i.isObject(c))&&(o.change((e=>{e.setSelection(l?n:s)})),t.preventDefault(),e.stop()))}if(!r.isCollapsed)return;const h=this._getObjectElementNextToSelection(l);if(h&&i.isObject(h)){if(i.isInline(h)&&d)return;this._setSelectionOverElement(h),t.preventDefault(),e.stop()}}_preventDefaultOnArrowKeyPress(e,t){const s=this.editor.model,o=s.schema,i=s.document.selection.getSelectedElement();i&&o.isObject(i)&&(t.preventDefault(),e.stop())}_handleDelete(e){if(this.editor.isReadOnly)return;const t=this.editor.model.document.selection;if(!t.isCollapsed)return;const s=this._getObjectElementNextToSelection(e);return s?(this.editor.model.change((e=>{let o=t.anchor.parent;for(;o.isEmpty;){const t=o;o=t.parent,e.remove(t)}this._setSelectionOverElement(s)})),!0):void 0}_setSelectionOverElement(e){this.editor.model.change((t=>{t.setSelection(t.createRangeOn(e))}))}_getObjectElementNextToSelection(e){const t=this.editor.model,s=t.schema,o=t.document.selection,i=t.createSelection(o);if(t.modifySelection(i,{direction:e?"forward":"backward"}),i.isEqual(o))return null;const r=e?i.focus.nodeBefore:i.focus.nodeAfter;return r&&s.isObject(r)?r:null}_clearPreviouslySelectedWidgets(e){for(const t of this._previouslySelected)e.removeClass(p.Uo,t);this._previouslySelected.clear()}}function _(e,t){return!!t&&Array.from(e.getAncestors()).includes(t)}},"./packages/ckeditor5-widget/src/widgettypearound/utils.js":(e,t,s)=>{"use strict";s.d(t,{Xr:()=>n,_m:()=>r,aU:()=>a,bi:()=>i,t:()=>c,tB:()=>l});var o=s("./packages/ckeditor5-widget/src/utils.js");const i="widget-type-around";function r(e,t,s){return e&&(0,o.Qd)(e)&&!s.isInline(t)}function n(e){return e.closest(".ck-widget__type-around__button")}function a(e){return e.classList.contains("ck-widget__type-around__button_before")?"before":"after"}function c(e,t){const s=e.closest(".ck-widget");return t.mapDomToView(s)}function l(e){return e.getAttribute(i)}},"./packages/ckeditor5-widget/src/widgettypearound/widgettypearound.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>b});var o=s("./packages/ckeditor5-core/src/plugin.js"),i=s("./packages/ckeditor5-ui/src/template.js"),r=s("./packages/ckeditor5-enter/src/enter.js"),n=s("./packages/ckeditor5-typing/src/delete.js"),a=s("./packages/ckeditor5-utils/src/keyboard.ts"),c=s("./packages/ckeditor5-widget/src/widgettypearound/utils.js"),l=s("./packages/ckeditor5-typing/src/utils/injectunsafekeystrokeshandling.js"),d=s("./packages/ckeditor5-widget/src/utils.js");var h=s("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),u=s.n(h),p=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-widget/theme/widgettypearound.css"),g={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};u()(p.Z,g);p.Z.locals;const f=["before","after"],m=(new DOMParser).parseFromString('',"image/svg+xml").firstChild,k="ck-widget__type-around_disabled";class b extends o.Z{static get pluginName(){return"WidgetTypeAround"}static get requires(){return[r.Z,n.Z]}constructor(e){super(e),this._currentFakeCaretModelElement=null}init(){const e=this.editor,t=e.editing.view;this.on("change:isEnabled",((s,o,i)=>{t.change((e=>{for(const s of t.document.roots)i?e.removeClass(k,s):e.addClass(k,s)})),i||e.model.change((e=>{e.removeSelectionAttribute(c.bi)}))})),this._enableTypeAroundUIInjection(),this._enableInsertingParagraphsOnButtonClick(),this._enableInsertingParagraphsOnEnterKeypress(),this._enableInsertingParagraphsOnTypingKeystroke(),this._enableTypeAroundFakeCaretActivationUsingKeyboardArrows(),this._enableDeleteIntegration(),this._enableInsertContentIntegration(),this._enableInsertObjectIntegration(),this._enableDeleteContentIntegration()}destroy(){this._currentFakeCaretModelElement=null}_insertParagraph(e,t){const s=this.editor,o=s.editing.view,i=s.model.schema.getAttributesWithProperty(e,"copyOnReplace",!0);s.execute("insertParagraph",{position:s.model.createPositionAt(e,t),attributes:i}),o.focus(),o.scrollToTheSelection()}_listenToIfEnabled(e,t,s,o){this.listenTo(e,t,((...e)=>{this.isEnabled&&s(...e)}),o)}_insertParagraphAccordingToFakeCaretPosition(){const e=this.editor.model.document.selection,t=(0,c.tB)(e);if(!t)return!1;const s=e.getSelectedElement();return this._insertParagraph(s,t),!0}_enableTypeAroundUIInjection(){const e=this.editor,t=e.model.schema,s=e.locale.t,o={before:s("Insert paragraph before block"),after:s("Insert paragraph after block")};e.editing.downcastDispatcher.on("insert",((e,s,r)=>{const n=r.mapper.toViewElement(s.item);(0,c._m)(n,s.item,t)&&function(e,t,s){const o=e.createUIElement("div",{class:"ck ck-reset_all ck-widget__type-around"},(function(e){const s=this.toDomElement(e);return function(e,t){for(const s of f){const o=new i.ZP({tag:"div",attributes:{class:["ck","ck-widget__type-around__button",`ck-widget__type-around__button_${s}`],title:t[s]},children:[e.ownerDocument.importNode(m,!0)]});e.appendChild(o.render())}}(s,t),function(e){const t=new i.ZP({tag:"div",attributes:{class:["ck","ck-widget__type-around__fake-caret"]}});e.appendChild(t.render())}(s),s}));e.insert(e.createPositionAt(s,"end"),o)}(r.writer,o,n)}),{priority:"low"})}_enableTypeAroundFakeCaretActivationUsingKeyboardArrows(){const e=this.editor,t=e.model,s=t.document.selection,o=t.schema,i=e.editing.view;function r(e){return`ck-widget_type-around_show-fake-caret_${e}`}this._listenToIfEnabled(i.document,"arrowKey",((e,t)=>{this._handleArrowKeyPress(e,t)}),{context:[d.Qd,"$text"],priority:"high"}),this._listenToIfEnabled(s,"change:range",((t,s)=>{s.directChange&&e.model.change((e=>{e.removeSelectionAttribute(c.bi)}))})),this._listenToIfEnabled(t.document,"change:data",(()=>{const t=s.getSelectedElement();if(t){const s=e.editing.mapper.toViewElement(t);if((0,c._m)(s,t,o))return}e.model.change((e=>{e.removeSelectionAttribute(c.bi)}))})),this._listenToIfEnabled(e.editing.downcastDispatcher,"selection",((e,t,s)=>{const i=s.writer;if(this._currentFakeCaretModelElement){const e=s.mapper.toViewElement(this._currentFakeCaretModelElement);e&&(i.removeClass(f.map(r),e),this._currentFakeCaretModelElement=null)}const n=t.selection.getSelectedElement();if(!n)return;const a=s.mapper.toViewElement(n);if(!(0,c._m)(a,n,o))return;const l=(0,c.tB)(t.selection);l&&(i.addClass(r(l),a),this._currentFakeCaretModelElement=n)})),this._listenToIfEnabled(e.ui.focusTracker,"change:isFocused",((t,s,o)=>{o||e.model.change((e=>{e.removeSelectionAttribute(c.bi)}))}))}_handleArrowKeyPress(e,t){const s=this.editor,o=s.model,i=o.document.selection,r=o.schema,n=s.editing.view,l=t.keyCode,d=(0,a.Zt)(l,s.locale.contentLanguageDirection),h=n.document.selection.getSelectedElement(),u=s.editing.mapper.toModelElement(h);let p;(0,c._m)(h,u,r)?p=this._handleArrowKeyPressOnSelectedWidget(d):i.isCollapsed?p=this._handleArrowKeyPressWhenSelectionNextToAWidget(d):t.shiftKey||(p=this._handleArrowKeyPressWhenNonCollapsedSelection(d)),p&&(t.preventDefault(),e.stop())}_handleArrowKeyPressOnSelectedWidget(e){const t=this.editor.model,s=t.document.selection,o=(0,c.tB)(s);return t.change((t=>{if(!o)return t.setSelectionAttribute(c.bi,e?"after":"before"),!0;if(!(o===(e?"after":"before")))return t.removeSelectionAttribute(c.bi),!0;return!1}))}_handleArrowKeyPressWhenSelectionNextToAWidget(e){const t=this.editor,s=t.model,o=s.schema,i=t.plugins.get("Widget"),r=i._getObjectElementNextToSelection(e),n=t.editing.mapper.toViewElement(r);return!!(0,c._m)(n,r,o)&&(s.change((t=>{i._setSelectionOverElement(r),t.setSelectionAttribute(c.bi,e?"before":"after")})),!0)}_handleArrowKeyPressWhenNonCollapsedSelection(e){const t=this.editor,s=t.model,o=s.schema,i=t.editing.mapper,r=s.document.selection,n=e?r.getLastPosition().nodeBefore:r.getFirstPosition().nodeAfter,a=i.toViewElement(n);return!!(0,c._m)(a,n,o)&&(s.change((t=>{t.setSelection(n,"on"),t.setSelectionAttribute(c.bi,e?"after":"before")})),!0)}_enableInsertingParagraphsOnButtonClick(){const e=this.editor,t=e.editing.view;this._listenToIfEnabled(t.document,"mousedown",((s,o)=>{const i=(0,c.Xr)(o.domTarget);if(!i)return;const r=(0,c.aU)(i),n=(0,c.t)(i,t.domConverter),a=e.editing.mapper.toModelElement(n);this._insertParagraph(a,r),o.preventDefault(),s.stop()}))}_enableInsertingParagraphsOnEnterKeypress(){const e=this.editor,t=e.model.document.selection,s=e.editing.view;this._listenToIfEnabled(s.document,"enter",((s,o)=>{if("atTarget"!=s.eventPhase)return;const i=t.getSelectedElement(),r=e.editing.mapper.toViewElement(i),n=e.model.schema;let a;this._insertParagraphAccordingToFakeCaretPosition()?a=!0:(0,c._m)(r,i,n)&&(this._insertParagraph(i,o.isSoft?"before":"after"),a=!0),a&&(o.preventDefault(),s.stop())}),{context:d.Qd})}_enableInsertingParagraphsOnTypingKeystroke(){const e=this.editor.editing.view,t=[a.Do.enter,a.Do.delete,a.Do.backspace];this._listenToIfEnabled(e.document,"keydown",((e,s)=>{t.includes(s.keyCode)||(0,l.u)(s)||this._insertParagraphAccordingToFakeCaretPosition()}),{priority:"high"})}_enableDeleteIntegration(){const e=this.editor,t=e.editing.view,s=e.model,o=s.schema;this._listenToIfEnabled(t.document,"delete",((t,i)=>{if("atTarget"!=t.eventPhase)return;const r=(0,c.tB)(s.document.selection);if(!r)return;const n=i.direction,a=s.document.selection.getSelectedElement(),l="forward"==n;if("before"===r===l)e.execute("delete",{selection:s.createSelection(a,"on")});else{const t=o.getNearestSelectionRange(s.createPositionAt(a,r),n);if(t)if(t.isCollapsed){const i=s.createSelection(t.start);if(s.modifySelection(i,{direction:n}),i.focus.isEqual(t.start)){const e=function(e,t){let s=t;for(const o of t.getAncestors({parentFirst:!0})){if(o.childCount>1||e.isLimit(o))break;s=o}return s}(o,t.start.parent);s.deleteContent(s.createSelection(e,"on"),{doNotAutoparagraph:!0})}else s.change((s=>{s.setSelection(t),e.execute(l?"deleteForward":"delete")}))}else s.change((s=>{s.setSelection(t),e.execute(l?"deleteForward":"delete")}))}i.preventDefault(),t.stop()}),{context:d.Qd})}_enableInsertContentIntegration(){const e=this.editor,t=this.editor.model,s=t.document.selection;this._listenToIfEnabled(e.model,"insertContent",((e,[o,i])=>{if(i&&!i.is("documentSelection"))return;const r=(0,c.tB)(s);return r?(e.stop(),t.change((e=>{const i=s.getSelectedElement(),n=t.createPositionAt(i,r),a=e.createSelection(n),c=t.insertContent(o,a);return e.setSelection(a),c}))):void 0}),{priority:"high"})}_enableInsertObjectIntegration(){const e=this.editor,t=this.editor.model.document.selection;this._listenToIfEnabled(e.model,"insertObject",((e,s)=>{const[,o,,i={}]=s;if(o&&!o.is("documentSelection"))return;const r=(0,c.tB)(t);r&&(i.findOptimalPosition=r,s[3]=i)}),{priority:"high"})}_enableDeleteContentIntegration(){const e=this.editor,t=this.editor.model.document.selection;this._listenToIfEnabled(e.model,"deleteContent",((e,[s])=>{if(s&&!s.is("documentSelection"))return;(0,c.tB)(t)&&e.stop()}),{priority:"high"})}}},"./src/clipboard.js":(e,t,s)=>{"use strict";s.r(t),s.d(t,{Clipboard:()=>C,ClipboardPipeline:()=>d,DragDrop:()=>y,PastePlainText:()=>A});var o=s("./packages/ckeditor5-core/src/plugin.js"),i=s("./packages/ckeditor5-utils/src/eventinfo.ts"),r=s("./packages/ckeditor5-engine/src/view/observer/domeventobserver.ts");class n{constructor(e){this.files=function(e){const t=Array.from(e.files||[]),s=Array.from(e.items||[]);if(t.length)return t;return s.filter((e=>"file"===e.kind)).map((e=>e.getAsFile()))}(e),this._native=e}get types(){return this._native.types}getData(e){return this._native.getData(e)}setData(e,t){this._native.setData(e,t)}set effectAllowed(e){this._native.effectAllowed=e}get effectAllowed(){return this._native.effectAllowed}set dropEffect(e){this._native.dropEffect=e}get dropEffect(){return this._native.dropEffect}get isCanceled(){return"none"==this._native.dropEffect||!!this._native.mozUserCancelled}}class a extends r.Z{constructor(e){super(e);const t=this.document;function s(e){return(s,o)=>{o.preventDefault();const r=o.dropRange?[o.dropRange]:null,n=new i.Z(t,e);t.fire(n,{dataTransfer:o.dataTransfer,method:s.name,targetRanges:r,target:o.target}),n.stop.called&&o.stopPropagation()}}this.domEventType=["paste","copy","cut","drop","dragover","dragstart","dragend","dragenter","dragleave"],this.listenTo(t,"paste",s("clipboardInput"),{priority:"low"}),this.listenTo(t,"drop",s("clipboardInput"),{priority:"low"}),this.listenTo(t,"dragover",s("dragging"),{priority:"low"})}onDomEvent(e){const t={dataTransfer:new n(e.clipboardData?e.clipboardData:e.dataTransfer)};"drop"!=e.type&&"dragover"!=e.type||(t.dropRange=function(e,t){const s=t.target.ownerDocument,o=t.clientX,i=t.clientY;let r;s.caretRangeFromPoint&&s.caretRangeFromPoint(o,i)?r=s.caretRangeFromPoint(o,i):t.rangeParent&&(r=s.createRange(),r.setStart(t.rangeParent,t.rangeOffset),r.collapse(!0));if(r)return e.domConverter.domRangeToView(r);return null}(this.view,e)),this.fire(e.type,e,t)}}const c=["figcaption","li"];function l(e){let t="";if(e.is("$text")||e.is("$textProxy"))t=e.data;else if(e.is("element","img")&&e.hasAttribute("alt"))t=e.getAttribute("alt");else if(e.is("element","br"))t="\n";else{let s=null;for(const o of e.getChildren()){const e=l(o);s&&(s.is("containerElement")||o.is("containerElement"))&&(c.includes(s.name)||c.includes(o.name)?t+="\n":t+="\n\n"),t+=e,s=o}}return t}class d extends o.Z{static get pluginName(){return"ClipboardPipeline"}init(){this.editor.editing.view.addObserver(a),this._setupPasteDrop(),this._setupCopyCut()}_setupPasteDrop(){const e=this.editor,t=e.model,s=e.editing.view,o=s.document;this.listenTo(o,"clipboardInput",(t=>{e.isReadOnly&&t.stop()}),{priority:"highest"}),this.listenTo(o,"clipboardInput",((e,t)=>{const o=t.dataTransfer;let r=t.content||"";var n;r||(o.getData("text/html")?r=function(e){return e.replace(/(\s+)<\/span>/g,((e,t)=>1==t.length?" ":t)).replace(//g,"")}(o.getData("text/html")):o.getData("text/plain")&&(((n=(n=o.getData("text/plain")).replace(//g,">").replace(/\r?\n\r?\n/g,"

").replace(/\r?\n/g,"
").replace(/^\s/," ").replace(/\s$/," ").replace(/\s\s/g,"  ")).includes("

")||n.includes("
"))&&(n=`

${n}

`),r=n),r=this.editor.data.htmlProcessor.toView(r));const a=new i.Z(this,"inputTransformation");this.fire(a,{content:r,dataTransfer:o,targetRanges:t.targetRanges,method:t.method}),a.stop.called&&e.stop(),s.scrollToTheSelection()}),{priority:"low"}),this.listenTo(this,"inputTransformation",((e,s)=>{if(s.content.isEmpty)return;const o=this.editor.data.toModel(s.content,"$clipboardHolder");0!=o.childCount&&(e.stop(),t.change((()=>{this.fire("contentInsertion",{content:o,method:s.method,dataTransfer:s.dataTransfer,targetRanges:s.targetRanges})})))}),{priority:"low"}),this.listenTo(this,"contentInsertion",((e,s)=>{s.resultRange=t.insertContent(s.content)}),{priority:"low"})}_setupCopyCut(){const e=this.editor,t=e.model.document,s=e.editing.view.document;function o(o,i){const r=i.dataTransfer;i.preventDefault();const n=e.data.toView(e.model.getSelectedContent(t.selection));s.fire("clipboardOutput",{dataTransfer:r,content:n,method:o.name})}this.listenTo(s,"copy",o,{priority:"low"}),this.listenTo(s,"cut",((t,s)=>{e.isReadOnly?s.preventDefault():o(t,s)}),{priority:"low"}),this.listenTo(s,"clipboardOutput",((s,o)=>{o.content.isEmpty||(o.dataTransfer.setData("text/html",this.editor.data.htmlProcessor.toData(o.content)),o.dataTransfer.setData("text/plain",l(o.content))),"cut"==o.method&&e.model.deleteContent(t.selection)}),{priority:"low"})}}var h=s("./packages/ckeditor5-engine/src/model/liverange.ts"),u=s("./packages/ckeditor5-engine/src/view/observer/mouseobserver.ts"),p=s("./packages/ckeditor5-widget/src/widget.js"),g=s("./packages/ckeditor5-utils/src/uid.ts"),f=s("./packages/ckeditor5-utils/src/env.ts"),m=s("./packages/ckeditor5-widget/src/utils.js"),k=s("./node_modules/lodash-es/throttle.js"),b=s("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),_=s.n(b),w=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-clipboard/theme/clipboard.css"),v={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};_()(w.Z,v);w.Z.locals;class y extends o.Z{static get pluginName(){return"DragDrop"}static get requires(){return[d,p.Z]}init(){const e=this.editor,t=e.editing.view;this._draggedRange=null,this._draggingUid="",this._draggableElement=null,this._updateDropMarkerThrottled=(0,k.Z)((e=>this._updateDropMarker(e)),40),this._removeDropMarkerDelayed=x((()=>this._removeDropMarker()),40),this._clearDraggableAttributesDelayed=x((()=>this._clearDraggableAttributes()),40),t.addObserver(a),t.addObserver(u.Z),this._setupDragging(),this._setupContentInsertionIntegration(),this._setupClipboardInputIntegration(),this._setupDropMarker(),this._setupDraggableAttributeHandling(),this.listenTo(e,"change:isReadOnly",((e,t,s)=>{s?this.forceDisabled("readOnlyMode"):this.clearForceDisabled("readOnlyMode")})),this.on("change:isEnabled",((e,t,s)=>{s||this._finalizeDragging(!1)})),f.ZP.isAndroid&&this.forceDisabled("noAndroidSupport")}destroy(){return this._draggedRange&&(this._draggedRange.detach(),this._draggedRange=null),this._updateDropMarkerThrottled.cancel(),this._removeDropMarkerDelayed.cancel(),this._clearDraggableAttributesDelayed.cancel(),super.destroy()}_setupDragging(){const e=this.editor,t=e.model,s=t.document,o=e.editing.view,i=o.document;this.listenTo(i,"dragstart",((o,r)=>{const n=s.selection;if(r.target&&r.target.is("editableElement"))return void r.preventDefault();const a=r.target?T(r.target):null;if(a){const s=e.editing.mapper.toModelElement(a);this._draggedRange=h.Z.fromRange(t.createRangeOn(s)),e.plugins.has("WidgetToolbarRepository")&&e.plugins.get("WidgetToolbarRepository").forceDisabled("dragDrop")}else if(!i.selection.isCollapsed){const e=i.selection.getSelectedElement();e&&(0,m.Qd)(e)||(this._draggedRange=h.Z.fromRange(n.getFirstRange()))}if(!this._draggedRange)return void r.preventDefault();this._draggingUid=(0,g.Z)(),r.dataTransfer.effectAllowed=this.isEnabled?"copyMove":"copy",r.dataTransfer.setData("application/ckeditor5-dragging-uid",this._draggingUid);const c=t.createSelection(this._draggedRange.toRange()),l=e.data.toView(t.getSelectedContent(c));i.fire("clipboardOutput",{dataTransfer:r.dataTransfer,content:l,method:o.name}),this.isEnabled||(this._draggedRange.detach(),this._draggedRange=null,this._draggingUid="")}),{priority:"low"}),this.listenTo(i,"dragend",((e,t)=>{this._finalizeDragging(!t.dataTransfer.isCanceled&&"move"==t.dataTransfer.dropEffect)}),{priority:"low"}),this.listenTo(i,"dragenter",(()=>{this.isEnabled&&o.focus()})),this.listenTo(i,"dragleave",(()=>{this._removeDropMarkerDelayed()})),this.listenTo(i,"dragging",((t,s)=>{if(!this.isEnabled)return void(s.dataTransfer.dropEffect="none");this._removeDropMarkerDelayed.cancel();const o=Z(e,s.targetRanges,s.target);this._draggedRange||(s.dataTransfer.dropEffect="copy"),f.ZP.isGecko||("copy"==s.dataTransfer.effectAllowed?s.dataTransfer.dropEffect="copy":["all","copyMove"].includes(s.dataTransfer.effectAllowed)&&(s.dataTransfer.dropEffect="move")),o&&this._updateDropMarkerThrottled(o)}),{priority:"low"})}_setupClipboardInputIntegration(){const e=this.editor,t=e.editing.view.document;this.listenTo(t,"clipboardInput",((t,s)=>{if("drop"!=s.method)return;const o=Z(e,s.targetRanges,s.target);if(this._removeDropMarker(),!o)return this._finalizeDragging(!1),void t.stop();this._draggedRange&&this._draggingUid!=s.dataTransfer.getData("application/ckeditor5-dragging-uid")&&(this._draggedRange.detach(),this._draggedRange=null,this._draggingUid="");if("move"==P(s.dataTransfer)&&this._draggedRange&&this._draggedRange.containsRange(o,!0))return this._finalizeDragging(!1),void t.stop();s.targetRanges=[e.editing.mapper.toViewRange(o)]}),{priority:"high"})}_setupContentInsertionIntegration(){const e=this.editor.plugins.get(d);e.on("contentInsertion",((e,t)=>{if(!this.isEnabled||"drop"!==t.method)return;const s=t.targetRanges.map((e=>this.editor.editing.mapper.toModelRange(e)));this.editor.model.change((e=>e.setSelection(s)))}),{priority:"high"}),e.on("contentInsertion",((e,t)=>{if(!this.isEnabled||"drop"!==t.method)return;const s="move"==P(t.dataTransfer),o=!t.resultRange||!t.resultRange.isCollapsed;this._finalizeDragging(o&&s)}),{priority:"lowest"})}_setupDraggableAttributeHandling(){const e=this.editor,t=e.editing.view,s=t.document;this.listenTo(s,"mousedown",((o,i)=>{if(f.ZP.isAndroid||!i)return;this._clearDraggableAttributesDelayed.cancel();let r=T(i.target);if(f.ZP.isBlink&&!e.isReadOnly&&!r&&!s.selection.isCollapsed){const e=s.selection.getSelectedElement();e&&(0,m.Qd)(e)||(r=s.selection.editableElement)}r&&(t.change((e=>{e.setAttribute("draggable","true",r)})),this._draggableElement=e.editing.mapper.toModelElement(r))})),this.listenTo(s,"mouseup",(()=>{f.ZP.isAndroid||this._clearDraggableAttributesDelayed()}))}_clearDraggableAttributes(){const e=this.editor.editing;e.view.change((t=>{this._draggableElement&&"$graveyard"!=this._draggableElement.root.rootName&&t.removeAttribute("draggable",e.mapper.toViewElement(this._draggableElement)),this._draggableElement=null}))}_setupDropMarker(){const e=this.editor;e.conversion.for("editingDowncast").markerToHighlight({model:"drop-target",view:{classes:["ck-clipboard-drop-target-range"]}}),e.conversion.for("editingDowncast").markerToElement({model:"drop-target",view:(t,{writer:s})=>{if(e.model.schema.checkChild(t.markerRange.start,"$text"))return s.createUIElement("span",{class:"ck ck-clipboard-drop-target-position"},(function(e){const t=this.toDomElement(e);return t.append("⁠",e.createElement("span"),"⁠"),t}))}})}_updateDropMarker(e){const t=this.editor,s=t.model.markers;t.model.change((t=>{s.has("drop-target")?s.get("drop-target").getRange().isEqual(e)||t.updateMarker("drop-target",{range:e}):t.addMarker("drop-target",{range:e,usingOperation:!1,affectsData:!1})}))}_removeDropMarker(){const e=this.editor.model;this._removeDropMarkerDelayed.cancel(),this._updateDropMarkerThrottled.cancel(),e.markers.has("drop-target")&&e.change((e=>{e.removeMarker("drop-target")}))}_finalizeDragging(e){const t=this.editor,s=t.model;this._removeDropMarker(),this._clearDraggableAttributes(),t.plugins.has("WidgetToolbarRepository")&&t.plugins.get("WidgetToolbarRepository").clearForceDisabled("dragDrop"),this._draggingUid="",this._draggedRange&&(e&&this.isEnabled&&s.deleteContent(s.createSelection(this._draggedRange),{doNotAutoparagraph:!0}),this._draggedRange.detach(),this._draggedRange=null)}}function Z(e,t,s){const o=e.model,i=e.editing.mapper;let r=null;const n=t?t[0].start:null;if(s.is("uiElement")&&(s=s.parent),r=function(e,t){const s=e.model,o=e.editing.mapper;if((0,m.Qd)(t))return s.createRangeOn(o.toModelElement(t));if(!t.is("editableElement")){const e=t.findAncestor((e=>(0,m.Qd)(e)||e.is("editableElement")));if((0,m.Qd)(e))return s.createRangeOn(o.toModelElement(e))}return null}(e,s),r)return r;const a=function(e,t){const s=e.editing.mapper,o=e.editing.view,i=s.toModelElement(t);if(i)return i;const r=o.createPositionBefore(t),n=s.findMappedViewAncestor(r);return s.toModelElement(n)}(e,s),c=n?i.toModelPosition(n):null;return c?(r=function(e,t,s){const o=e.model;if(!o.schema.checkChild(s,"$block"))return null;const i=o.createPositionAt(s,0),r=t.path.slice(0,i.path.length),n=o.createPositionFromPath(t.root,r).nodeAfter;if(n&&o.schema.isObject(n))return o.createRangeOn(n);return null}(e,c,a),r||(r=o.schema.getNearestSelectionRange(c,f.ZP.isGecko?"forward":"backward"),r||function(e,t){const s=e.model;for(;t;){if(s.schema.isObject(t))return s.createRangeOn(t);t=t.parent}}(e,c.parent))):function(e,t){const s=e.model,o=s.schema,i=s.createPositionAt(t,0);return o.getNearestSelectionRange(i,"forward")}(e,a)}function P(e){return f.ZP.isGecko?e.dropEffect:["all","copyMove"].includes(e.effectAllowed)?"move":"copy"}function x(e,t){let s;function o(...i){o.cancel(),s=setTimeout((()=>e(...i)),t)}return o.cancel=()=>{clearTimeout(s)},o}function T(e){if(e.is("editableElement"))return null;if(e.hasClass("ck-widget__selection-handle"))return e.findAncestor(m.Qd);if((0,m.Qd)(e))return e;const t=e.findAncestor((e=>(0,m.Qd)(e)||e.is("editableElement")));return(0,m.Qd)(t)?t:null}class A extends o.Z{static get pluginName(){return"PastePlainText"}static get requires(){return[d]}init(){const e=this.editor,t=e.model,s=e.editing.view,o=s.document,i=t.document.selection;let r=!1;s.addObserver(a),this.listenTo(o,"keydown",((e,t)=>{r=t.shiftKey})),e.plugins.get(d).on("contentInsertion",((e,s)=>{(r||function(e,t){if(e.childCount>1)return!1;const s=e.getChild(0);if(t.isObject(s))return!1;return 0==[...s.getAttributeKeys()].length}(s.content,t.schema))&&t.change((e=>{const o=Array.from(i.getAttributes()).filter((([e])=>t.schema.getAttributeProperties(e).isFormatting));i.isCollapsed||t.deleteContent(i,{doNotAutoparagraph:!0}),o.push(...i.getAttributes());const r=e.createRangeIn(s.content);for(const t of r.getItems())t.is("$textProxy")&&e.setAttributes(o,t)}))}))}}class C extends o.Z{static get pluginName(){return"Clipboard"}static get requires(){return[d,y,A]}}},"./src/core.js":(e,t,s)=>{"use strict";s.r(t),s.d(t,{Command:()=>i.Z,Context:()=>_,ContextPlugin:()=>w.Z,DataApiMixin:()=>B,Editor:()=>S,EditorUI:()=>V,ElementApiMixin:()=>L,MultiCommand:()=>n,PendingActions:()=>$.Z,Plugin:()=>o.Z,attachToForm:()=>z,icons:()=>U,secureSourceElement:()=>W});var o=s("./packages/ckeditor5-core/src/plugin.js"),i=s("./packages/ckeditor5-core/src/command.js"),r=s("./packages/ckeditor5-utils/src/inserttopriorityarray.ts");class n extends i.Z{constructor(e){super(e),this._childCommandsDefinitions=[]}refresh(){}execute(...e){const t=this._getFirstEnabledCommand();return!!t&&t.execute(e)}registerChildCommand(e,t={priority:"normal"}){(0,r.Z)(this._childCommandsDefinitions,{command:e,priority:t.priority}),e.on("change:isEnabled",(()=>this._checkEnabled())),this._checkEnabled()}_checkEnabled(){this.isEnabled=!!this._getFirstEnabledCommand()}_getFirstEnabledCommand(){const e=this._childCommandsDefinitions.find((({command:e})=>e.isEnabled));return e&&e.command}}var a=s("./node_modules/lodash-es/isPlainObject.js"),c=s("./node_modules/lodash-es/cloneDeepWith.js"),l=s("./node_modules/lodash-es/isElement.js");class d{constructor(e,t){this._config={},t&&this.define(h(t)),e&&this._setObjectToTarget(this._config,e)}set(e,t){this._setToTarget(this._config,e,t)}define(e,t){this._setToTarget(this._config,e,t,!0)}get(e){return this._getFromSource(this._config,e)}*names(){for(const e of Object.keys(this._config))yield e}_setToTarget(e,t,s,o=!1){if((0,a.Z)(t))return void this._setObjectToTarget(e,t,o);const i=t.split(".");t=i.pop();for(const t of i)(0,a.Z)(e[t])||(e[t]={}),e=e[t];if((0,a.Z)(s))return(0,a.Z)(e[t])||(e[t]={}),e=e[t],void this._setObjectToTarget(e,s,o);o&&void 0!==e[t]||(e[t]=s)}_getFromSource(e,t){const s=t.split(".");t=s.pop();for(const t of s){if(!(0,a.Z)(e[t])){e=null;break}e=e[t]}return e?h(e[t]):void 0}_setObjectToTarget(e,t,s){Object.keys(t).forEach((o=>{this._setToTarget(e,o,t[o],s)}))}}function h(e){return(0,c.Z)(e,u)}function u(e){return(0,l.Z)(e)?e:void 0}var p=s("./packages/ckeditor5-utils/src/collection.ts"),g=s("./packages/ckeditor5-utils/src/ckeditorerror.ts"),f=s("./packages/ckeditor5-utils/src/emittermixin.ts"),m=s("./packages/ckeditor5-utils/src/mix.ts");class k{constructor(e,t=[],s=[]){this._context=e,this._plugins=new Map,this._availablePlugins=new Map;for(const e of t)e.pluginName&&this._availablePlugins.set(e.pluginName,e);this._contextPlugins=new Map;for(const[e,t]of s)this._contextPlugins.set(e,t),this._contextPlugins.set(t,e),e.pluginName&&this._availablePlugins.set(e.pluginName,e)}*[Symbol.iterator](){for(const e of this._plugins)"function"==typeof e[0]&&(yield e)}get(e){const t=this._plugins.get(e);if(!t){let t=e;throw"function"==typeof e&&(t=e.pluginName||e.name),new g.ZP("plugincollection-plugin-not-loaded",this._context,{plugin:t})}return t}has(e){return this._plugins.has(e)}init(e,t=[],s=[]){const o=this,i=this._context;!function e(t,s=new Set){t.forEach((t=>{a(t)&&(s.has(t)||(s.add(t),t.pluginName&&!o._availablePlugins.has(t.pluginName)&&o._availablePlugins.set(t.pluginName,t),t.requires&&e(t.requires,s)))}))}(e),h(e);const r=[...function e(t,s=new Set){return t.map((e=>a(e)?e:o._availablePlugins.get(e))).reduce(((t,o)=>s.has(o)?t:(s.add(o),o.requires&&(h(o.requires,o),e(o.requires,s).forEach((e=>t.add(e)))),t.add(o))),new Set)}(e.filter((e=>!l(e,t))))];!function(e,t){for(const s of t){if("function"!=typeof s)throw new g.ZP("plugincollection-replace-plugin-invalid-type",null,{pluginItem:s});const t=s.pluginName;if(!t)throw new g.ZP("plugincollection-replace-plugin-missing-name",null,{pluginItem:s});if(s.requires&&s.requires.length)throw new g.ZP("plugincollection-plugin-for-replacing-cannot-have-dependencies",null,{pluginName:t});const i=o._availablePlugins.get(t);if(!i)throw new g.ZP("plugincollection-plugin-for-replacing-not-exist",null,{pluginName:t});const r=e.indexOf(i);if(-1===r){if(o._contextPlugins.has(i))return;throw new g.ZP("plugincollection-plugin-for-replacing-not-loaded",null,{pluginName:t})}if(i.requires&&i.requires.length)throw new g.ZP("plugincollection-replaced-plugin-cannot-have-dependencies",null,{pluginName:t});e.splice(r,1,s),o._availablePlugins.set(t,s)}}(r,s);const n=function(e){return e.map((e=>{const t=o._contextPlugins.get(e)||new e(i);return o._add(e,t),t}))}(r);return u(n,"init").then((()=>u(n,"afterInit"))).then((()=>n));function a(e){return"function"==typeof e}function c(e){return a(e)&&e.isContextPlugin}function l(e,t){return t.some((t=>t===e||(d(e)===t||d(t)===e)))}function d(e){return a(e)?e.pluginName||e.name:e}function h(e,s=null){e.map((e=>a(e)?e:o._availablePlugins.get(e)||e)).forEach((e=>{!function(e,t){if(a(e))return;if(t)throw new g.ZP("plugincollection-soft-required",i,{missingPlugin:e,requiredBy:d(t)});throw new g.ZP("plugincollection-plugin-not-found",i,{plugin:e})}(e,s),function(e,t){if(!c(t))return;if(c(e))return;throw new g.ZP("plugincollection-context-required",i,{plugin:d(e),requiredBy:d(t)})}(e,s),function(e,s){if(!s)return;if(!l(e,t))return;throw new g.ZP("plugincollection-required",i,{plugin:d(e),requiredBy:d(s)})}(e,s)}))}function u(e,t){return e.reduce(((e,s)=>s[t]?o._contextPlugins.has(s)?e:e.then(s[t].bind(s)):e),Promise.resolve())}}destroy(){const e=[];for(const[,t]of this)"function"!=typeof t.destroy||this._contextPlugins.has(t)||e.push(t.destroy());return Promise.all(e)}_add(e,t){this._plugins.set(e,t);const s=e.pluginName;if(s){if(this._plugins.has(s))throw new g.ZP("plugincollection-plugin-name-conflict",null,{pluginName:s,plugin1:this._plugins.get(s).constructor,plugin2:e});this._plugins.set(s,t)}}}(0,m.Z)(k,f.ZP);var b=s("./packages/ckeditor5-utils/src/locale.ts");class _{constructor(e){this.config=new d(e,this.constructor.defaultConfig);const t=this.constructor.builtinPlugins;this.config.define("plugins",t),this.plugins=new k(this,t);const s=this.config.get("language")||{};this.locale=new b.Z({uiLanguage:"string"==typeof s?s:s.ui,contentLanguage:this.config.get("language.content")}),this.t=this.locale.t,this.editors=new p.Z,this._contextOwner=null}initPlugins(){const e=this.config.get("plugins")||[],t=this.config.get("substitutePlugins")||[];for(const s of e.concat(t)){if("function"!=typeof s)throw new g.ZP("context-initplugins-constructor-only",null,{Plugin:s});if(!0!==s.isContextPlugin)throw new g.ZP("context-initplugins-invalid-plugin",null,{Plugin:s})}return this.plugins.init(e,[],t)}destroy(){return Promise.all(Array.from(this.editors,(e=>e.destroy()))).then((()=>this.plugins.destroy()))}_addEditor(e,t){if(this._contextOwner)throw new g.ZP("context-addeditor-private-context");this.editors.add(e),t&&(this._contextOwner=e)}_removeEditor(e){return this.editors.has(e)&&this.editors.remove(e),this._contextOwner===e?this.destroy():Promise.resolve()}_getEditorConfig(){const e={};for(const t of this.config.names())["plugins","removePlugins","extraPlugins"].includes(t)||(e[t]=this.config.get(t));return e}static create(e){return new Promise((t=>{const s=new this(e);t(s.initPlugins().then((()=>s)))}))}}var w=s("./packages/ckeditor5-core/src/contextplugin.js"),v=s("./packages/ckeditor5-engine/src/controller/editingcontroller.ts");class y{constructor(){this._commands=new Map}add(e,t){this._commands.set(e,t)}get(e){return this._commands.get(e)}execute(e,...t){const s=this.get(e);if(!s)throw new g.ZP("commandcollection-command-not-found",this,{commandName:e});return s.execute(...t)}*names(){yield*this._commands.keys()}*commands(){yield*this._commands.values()}[Symbol.iterator](){return this._commands[Symbol.iterator]()}destroy(){for(const e of this.commands())e.destroy()}}var Z=s("./packages/ckeditor5-engine/src/controller/datacontroller.ts"),P=s("./packages/ckeditor5-engine/src/conversion/conversion.ts"),x=s("./packages/ckeditor5-engine/src/model/model.ts"),T=s("./packages/ckeditor5-utils/src/keystrokehandler.ts");class A extends T.Z{constructor(e){super(),this.editor=e}set(e,t,s={}){if("string"==typeof t){const e=t;t=(t,s)=>{this.editor.execute(e),s()}}super.set(e,t,s)}}var C=s("./packages/ckeditor5-utils/src/observablemixin.ts"),E=s("./packages/ckeditor5-engine/src/view/stylesmap.ts");class S{constructor(e={}){const t=e.language||this.constructor.defaultConfig&&this.constructor.defaultConfig.language;this._context=e.context||new _({language:t}),this._context._addEditor(this,!e.context);const s=Array.from(this.constructor.builtinPlugins||[]);this.config=new d(e,this.constructor.defaultConfig),this.config.define("plugins",s),this.config.define(this._context._getEditorConfig()),this.plugins=new k(this,s,this._context.plugins),this.locale=this._context.locale,this.t=this.locale.t,this._readOnlyLocks=new Set,this.commands=new y,this.set("state","initializing"),this.once("ready",(()=>this.state="ready"),{priority:"high"}),this.once("destroy",(()=>this.state="destroyed"),{priority:"high"}),this.model=new x.Z;const o=new E.A;this.data=new Z.Z(this.model,o),this.editing=new v.Z(this.model,o),this.editing.view.document.bind("isReadOnly").to(this),this.conversion=new P.Z([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 A(this),this.keystrokes.listenTo(this.editing.view.document)}get isReadOnly(){return this._readOnlyLocks.size>0}set isReadOnly(e){throw new g.ZP("editor-isreadonly-has-no-setter")}enableReadOnlyMode(e){if("string"!=typeof e&&"symbol"!=typeof e)throw new g.ZP("editor-read-only-lock-id-invalid",null,{lockId:e});this._readOnlyLocks.has(e)||(this._readOnlyLocks.add(e),1===this._readOnlyLocks.size&&this.fire("change:isReadOnly","isReadOnly",!0,!1))}disableReadOnlyMode(e){if("string"!=typeof e&&"symbol"!=typeof e)throw new g.ZP("editor-read-only-lock-id-invalid",null,{lockId:e});this._readOnlyLocks.has(e)&&(this._readOnlyLocks.delete(e),0===this._readOnlyLocks.size&&this.fire("change:isReadOnly","isReadOnly",!1,!0))}initPlugins(){const e=this.config,t=e.get("plugins"),s=e.get("removePlugins")||[],o=e.get("extraPlugins")||[],i=e.get("substitutePlugins")||[];return this.plugins.init(t.concat(o),s,i)}destroy(){let e=Promise.resolve();return"initializing"==this.state&&(e=new Promise((e=>this.once("ready",e)))),e.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(...e){try{return this.commands.execute(...e)}catch(e){g.ZP.rethrowUnexpectedError(e,this)}}focus(){this.editing.view.focus()}}(0,m.Z)(S,C.Z);class j{constructor(e){this.editor=e,this._components=new Map}*names(){for(const e of this._components.values())yield e.originalName}add(e,t){this._components.set(O(e),{callback:t,originalName:e})}create(e){if(!this.has(e))throw new g.ZP("componentfactory-item-missing",this,{name:e});return this._components.get(O(e)).callback(this.editor.locale)}has(e){return this._components.has(O(e))}}function O(e){return String(e).toLowerCase()}var R=s("./packages/ckeditor5-utils/src/focustracker.ts"),M=s("./packages/ckeditor5-ui/src/tooltipmanager.js"),N=s("./packages/ckeditor5-utils/src/dom/isvisible.ts");class V{constructor(e){this.editor=e,this.componentFactory=new j(e),this.focusTracker=new R.Z,this.tooltipManager=new M.Z(e),this.set("viewportOffset",this._readViewportOffsetFromConfig()),this.isReady=!1,this.once("ready",(()=>{this.isReady=!0})),this._editableElementsMap=new Map,this._focusableToolbarDefinitions=[],this.listenTo(e.editing.view.document,"layoutChanged",(()=>this.update())),this._initFocusTracking()}get element(){return null}update(){this.fire("update")}destroy(){this.stopListening(),this.focusTracker.destroy(),this.tooltipManager.destroy(this.editor);for(const e of this._editableElementsMap.values())e.ckeditorInstance=null;this._editableElementsMap=new Map,this._focusableToolbarDefinitions=[]}setEditableElement(e,t){this._editableElementsMap.set(e,t),t.ckeditorInstance||(t.ckeditorInstance=this.editor),this.focusTracker.add(t);const s=()=>{this.editor.editing.view.getDomRoot(e)||this.editor.keystrokes.listenTo(t)};this.isReady?s():this.once("ready",s)}getEditableElement(e="main"){return this._editableElementsMap.get(e)}getEditableElementsNames(){return this._editableElementsMap.keys()}addToolbar(e,t={}){e.isRendered?(this.focusTracker.add(e.element),this.editor.keystrokes.listenTo(e.element)):e.once("render",(()=>{this.focusTracker.add(e.element),this.editor.keystrokes.listenTo(e.element)})),this._focusableToolbarDefinitions.push({toolbarView:e,options:t})}get _editableElements(){return console.warn("editor-ui-deprecated-editable-elements: The EditorUI#_editableElements property has been deprecated and will be removed in the near future.",{editorUI:this}),this._editableElementsMap}_readViewportOffsetFromConfig(){const e=this.editor,t=e.config.get("ui.viewportOffset");if(t)return t;const s=e.config.get("toolbar.viewportTopOffset");return s?(console.warn("editor-ui-deprecated-viewport-offset-config: The `toolbar.vieportTopOffset` configuration option is deprecated. It will be removed from future CKEditor versions. Use `ui.viewportOffset.top` instead."),{top:s}):{top:0}}_initFocusTracking(){const e=this.editor,t=e.editing.view;let s,o;e.keystrokes.set("Alt+F10",((e,i)=>{const r=this.focusTracker.focusedElement;Array.from(this._editableElementsMap.values()).includes(r)&&!Array.from(t.domRoots.values()).includes(r)&&(s=r);const n=this._getCurrentFocusedToolbarDefinition();n&&o||(o=this._getFocusableCandidateToolbarDefinitions(n));for(let e=0;e{const i=this._getCurrentFocusedToolbarDefinition();i&&(s?(s.focus(),s=null):e.editing.view.focus(),i.options.afterBlur&&i.options.afterBlur(),o())}))}_getFocusableCandidateToolbarDefinitions(){const e=[];for(const t of this._focusableToolbarDefinitions){const{toolbarView:s,options:o}=t;((0,N.Z)(s.element)||o.beforeFocus)&&e.push(t)}return e.sort(((e,t)=>I(e)-I(t))),e}_getCurrentFocusedToolbarDefinition(){for(const e of this._focusableToolbarDefinitions)if(e.toolbarView.element&&e.toolbarView.element.contains(this.focusTracker.focusedElement))return e;return null}_focusFocusableCandidateToolbar(e){const{toolbarView:t,options:{beforeFocus:s}}=e;return s&&s(),!!(0,N.Z)(t.element)&&(t.focus(),!0)}}function I(e){const{toolbarView:t,options:s}=e;let o=10;return(0,N.Z)(t.element)&&o--,s.isContextual&&o--,o}(0,m.Z)(V,C.Z);var D=s("./node_modules/lodash-es/isFunction.js");function z(e){if(!(0,D.Z)(e.updateSourceElement))throw new g.ZP("attachtoform-missing-elementapi-interface",e);const t=e.sourceElement;if(t&&"textarea"===t.tagName.toLowerCase()&&t.form){let s;const o=t.form,i=()=>e.updateSourceElement();(0,D.Z)(o.submit)&&(s=o.submit,o.submit=()=>{i(),s.apply(o)}),o.addEventListener("submit",i),e.on("destroy",(()=>{o.removeEventListener("submit",i),s&&(o.submit=s)}))}}const B={setData(e){this.data.set(e)},getData(e){return this.data.get(e)}};var F=s("./packages/ckeditor5-utils/src/dom/setdatainelement.ts");const L={updateSourceElement(e=this.data.get()){if(!this.sourceElement)throw new g.ZP("editor-missing-sourceelement",this);const t=this.config.get("updateSourceElementOnDestroy"),s=this.sourceElement instanceof HTMLTextAreaElement;t||s?(0,F.Z)(this.sourceElement,e):(0,F.Z)(this.sourceElement,"")}};function W(e){const t=e.sourceElement;if(t){if(t.ckeditorInstance)throw new g.ZP("editor-source-element-already-used",e);t.ckeditorInstance=e,e.once("destroy",(()=>{delete t.ckeditorInstance}))}}var $=s("./packages/ckeditor5-core/src/pendingactions.js");var q=s("./packages/ckeditor5-core/theme/icons/pilcrow.svg");var H=s("./packages/ckeditor5-core/theme/icons/three-vertical-dots.svg");const U={cancel:'',caption:'',check:'',cog:'',eraser:'',lowVision:'',image:'',alignBottom:'',alignMiddle:'',alignTop:'',alignLeft:'',alignCenter:'',alignRight:'',alignJustify:'',objectLeft:'',objectCenter:'',objectRight:'',objectFullWidth:'',objectInline:'',objectBlockLeft:'',objectBlockRight:'',objectSizeFull:'',objectSizeLarge:'',objectSizeSmall:'',objectSizeMedium:'',pencil:'',pilcrow:q.Z,quote:'',threeVerticalDots:H.Z}},"./src/engine.js":(e,t,s)=>{"use strict";s.r(t),s.d(t,{ClickObserver:()=>K,Conversion:()=>b.Z,DataController:()=>k.Z,DocumentFragment:()=>O.Z,DocumentSelection:()=>P.Z,DomConverter:()=>N.Z,DomEventData:()=>oe.Z,DomEventObserver:()=>U.Z,DowncastWriter:()=>J.Z,EditingController:()=>m.Z,Element:()=>S.Z,History:()=>R.Z,HtmlDataProcessor:()=>_.Z,InsertOperation:()=>w.Z,LivePosition:()=>A.Z,LiveRange:()=>T.Z,MarkerOperation:()=>v.Z,Matcher:()=>se.Z,Model:()=>C.Z,MouseObserver:()=>G.Z,Observer:()=>H.Z,OperationFactory:()=>y.Z,Position:()=>j.ZP,Range:()=>x.Z,Renderer:()=>V.Z,StylesProcessor:()=>ie.A,Text:()=>M.Z,TreeWalker:()=>E.Z,UpcastWriter:()=>te,ViewAttributeElement:()=>F.Z,ViewContainerElement:()=>B.Z,ViewDocument:()=>I.Z,ViewDocumentFragment:()=>q.Z,ViewElement:()=>z.Z,ViewEmptyElement:()=>L.Z,ViewRawElement:()=>W.Z,ViewText:()=>D.Z,ViewUIElement:()=>$.Z,addBackgroundRules:()=>je,addBorderRules:()=>Oe,addMarginRules:()=>Le,addPaddingRules:()=>We,disablePlaceholder:()=>l,enablePlaceholder:()=>c,getBoxSidesShorthandValue:()=>Ce,getBoxSidesValueReducer:()=>Ae,getBoxSidesValues:()=>Te,getFillerOffset:()=>B.Y,getPositionShorthandNormalizer:()=>Ee,getShorthandValues:()=>Se,hidePlaceholder:()=>h,isAttachment:()=>Ze,isColor:()=>he,isLength:()=>fe,isLineStyle:()=>pe,isPercentage:()=>ke,isPosition:()=>ve,isRepeat:()=>_e,isURL:()=>xe,needsPlaceholder:()=>u,showPlaceholder:()=>d,transformSets:()=>Z.R});var o=s("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),i=s.n(o),r=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-engine/theme/placeholder.css"),n={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};i()(r.Z,n);r.Z.locals;const a=new WeakMap;function c(e){const{view:t,element:s,text:o,isDirectHost:i=!0,keepOnFocus:r=!1}=e,n=t.document;a.has(n)||(a.set(n,new Map),n.registerPostFixer((e=>p(n,e)))),a.get(n).set(s,{text:o,isDirectHost:i,keepOnFocus:r,hostElement:i?s:null}),t.change((e=>p(n,e)))}function l(e,t){const s=t.document;e.change((e=>{if(!a.has(s))return;const o=a.get(s),i=o.get(t);e.removeAttribute("data-placeholder",i.hostElement),h(e,i.hostElement),o.delete(t)}))}function d(e,t){return!t.hasClass("ck-placeholder")&&(e.addClass("ck-placeholder",t),!0)}function h(e,t){return!!t.hasClass("ck-placeholder")&&(e.removeClass("ck-placeholder",t),!0)}function u(e,t){if(!e.isAttached())return!1;const s=Array.from(e.getChildren()).some((e=>!e.is("uiElement")));if(s)return!1;if(t)return!0;const o=e.document;if(!o.isFocused)return!0;const i=o.selection.anchor;return!!i&&i.parent!==e}function p(e,t){const s=a.get(e),o=[];let i=!1;for(const[e,r]of s)r.isDirectHost&&(o.push(e),g(t,e,r)&&(i=!0));for(const[e,r]of s){if(r.isDirectHost)continue;const s=f(e);s&&(o.includes(s)||(r.hostElement=s,g(t,e,r)&&(i=!0)))}return i}function g(e,t,s){const{text:o,isDirectHost:i,hostElement:r}=s;let n=!1;r.getAttribute("data-placeholder")!==o&&(e.setAttribute("data-placeholder",o,r),n=!0);return(i||1==t.childCount)&&u(r,s.keepOnFocus)?d(e,r)&&(n=!0):h(e,r)&&(n=!0),n}function f(e){if(e.childCount){const t=e.getChild(0);if(t.is("element")&&!t.is("uiElement")&&!t.is("attributeElement"))return t}return null}var m=s("./packages/ckeditor5-engine/src/controller/editingcontroller.ts"),k=s("./packages/ckeditor5-engine/src/controller/datacontroller.ts"),b=s("./packages/ckeditor5-engine/src/conversion/conversion.ts"),_=s("./packages/ckeditor5-engine/src/dataprocessor/htmldataprocessor.ts"),w=s("./packages/ckeditor5-engine/src/model/operation/insertoperation.ts"),v=s("./packages/ckeditor5-engine/src/model/operation/markeroperation.ts"),y=s("./packages/ckeditor5-engine/src/model/operation/operationfactory.ts"),Z=s("./packages/ckeditor5-engine/src/model/operation/transform.ts"),P=s("./packages/ckeditor5-engine/src/model/documentselection.ts"),x=s("./packages/ckeditor5-engine/src/model/range.ts"),T=s("./packages/ckeditor5-engine/src/model/liverange.ts"),A=s("./packages/ckeditor5-engine/src/model/liveposition.ts"),C=s("./packages/ckeditor5-engine/src/model/model.ts"),E=s("./packages/ckeditor5-engine/src/model/treewalker.ts"),S=s("./packages/ckeditor5-engine/src/model/element.ts"),j=s("./packages/ckeditor5-engine/src/model/position.ts"),O=s("./packages/ckeditor5-engine/src/model/documentfragment.ts"),R=s("./packages/ckeditor5-engine/src/model/history.ts"),M=s("./packages/ckeditor5-engine/src/model/text.ts"),N=s("./packages/ckeditor5-engine/src/view/domconverter.ts"),V=s("./packages/ckeditor5-engine/src/view/renderer.ts"),I=s("./packages/ckeditor5-engine/src/view/document.ts"),D=s("./packages/ckeditor5-engine/src/view/text.ts"),z=s("./packages/ckeditor5-engine/src/view/element.ts"),B=s("./packages/ckeditor5-engine/src/view/containerelement.ts"),F=s("./packages/ckeditor5-engine/src/view/attributeelement.ts"),L=s("./packages/ckeditor5-engine/src/view/emptyelement.ts"),W=s("./packages/ckeditor5-engine/src/view/rawelement.ts"),$=s("./packages/ckeditor5-engine/src/view/uielement.ts"),q=s("./packages/ckeditor5-engine/src/view/documentfragment.ts"),H=s("./packages/ckeditor5-engine/src/view/observer/observer.ts"),U=s("./packages/ckeditor5-engine/src/view/observer/domeventobserver.ts");class K extends U.Z{constructor(e){super(e),this.domEventType="click"}onDomEvent(e){this.fire(e.type,e)}}var G=s("./packages/ckeditor5-engine/src/view/observer/mouseobserver.ts"),J=s("./packages/ckeditor5-engine/src/view/downcastwriter.ts"),Q=s("./node_modules/lodash-es/isPlainObject.js"),X=s("./packages/ckeditor5-engine/src/view/position.ts"),Y=s("./packages/ckeditor5-engine/src/view/range.ts"),ee=s("./packages/ckeditor5-engine/src/view/selection.ts");class te{constructor(e){this.document=e}createDocumentFragment(e){return new q.Z(this.document,e)}createElement(e,t,s){return new z.Z(this.document,e,t,s)}createText(e){return new D.Z(this.document,e)}clone(e,t=!1){return e._clone(t)}appendChild(e,t){return t._appendChild(e)}insertChild(e,t,s){return s._insertChild(e,t)}removeChildren(e,t,s){return s._removeChildren(e,t)}remove(e){const t=e.parent;return t?this.removeChildren(t.getChildIndex(e),1,t):[]}replace(e,t){const s=e.parent;if(s){const o=s.getChildIndex(e);return this.removeChildren(o,1,s),this.insertChild(o,t,s),!0}return!1}unwrapElement(e){const t=e.parent;if(t){const s=t.getChildIndex(e);this.remove(e),this.insertChild(s,e.getChildren(),t)}}rename(e,t){const s=new z.Z(this.document,e,t.getAttributes(),t.getChildren());return this.replace(t,s)?s:null}setAttribute(e,t,s){s._setAttribute(e,t)}removeAttribute(e,t){t._removeAttribute(e)}addClass(e,t){t._addClass(e)}removeClass(e,t){t._removeClass(e)}setStyle(e,t,s){(0,Q.Z)(e)&&void 0===s?t._setStyle(e):s._setStyle(e,t)}removeStyle(e,t){t._removeStyle(e)}setCustomProperty(e,t,s){s._setCustomProperty(e,t)}removeCustomProperty(e,t){return t._removeCustomProperty(e)}createPositionAt(e,t){return X.Z._createAt(e,t)}createPositionAfter(e){return X.Z._createAfter(e)}createPositionBefore(e){return X.Z._createBefore(e)}createRange(e,t){return new Y.Z(e,t)}createRangeOn(e){return Y.Z._createOn(e)}createRangeIn(e){return Y.Z._createIn(e)}createSelection(...e){return new ee.Z(...e)}}var se=s("./packages/ckeditor5-engine/src/view/matcher.ts"),oe=s("./packages/ckeditor5-engine/src/view/observer/domeventdata.ts"),ie=s("./packages/ckeditor5-engine/src/view/stylesmap.ts");const re=/^#([0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/i,ne=/^rgb\([ ]?([0-9]{1,3}[ %]?,[ ]?){2,3}[0-9]{1,3}[ %]?\)$/i,ae=/^rgba\([ ]?([0-9]{1,3}[ %]?,[ ]?){3}(1|[0-9]+%|[0]?\.?[0-9]+)\)$/i,ce=/^hsl\([ ]?([0-9]{1,3}[ %]?[,]?[ ]*){3}(1|[0-9]+%|[0]?\.?[0-9]+)?\)$/i,le=/^hsla\([ ]?([0-9]{1,3}[ %]?,[ ]?){2,3}(1|[0-9]+%|[0]?\.?[0-9]+)\)$/i,de=new Set(["black","silver","gray","white","maroon","red","purple","fuchsia","green","lime","olive","yellow","navy","blue","teal","aqua","orange","aliceblue","antiquewhite","aquamarine","azure","beige","bisque","blanchedalmond","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","gainsboro","ghostwhite","gold","goldenrod","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","limegreen","linen","magenta","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","oldlace","olivedrab","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","thistle","tomato","turquoise","violet","wheat","whitesmoke","yellowgreen","activeborder","activecaption","appworkspace","background","buttonface","buttonhighlight","buttonshadow","buttontext","captiontext","graytext","highlight","highlighttext","inactiveborder","inactivecaption","inactivecaptiontext","infobackground","infotext","menu","menutext","scrollbar","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","window","windowframe","windowtext","rebeccapurple","currentcolor","transparent"]);function he(e){return e.startsWith("#")?re.test(e):e.startsWith("rgb")?ne.test(e)||ae.test(e):e.startsWith("hsl")?ce.test(e)||le.test(e):de.has(e.toLowerCase())}const ue=["none","hidden","dotted","dashed","solid","double","groove","ridge","inset","outset"];function pe(e){return ue.includes(e)}const ge=/^([+-]?[0-9]*([.][0-9]+)?(px|cm|mm|in|pc|pt|ch|em|ex|rem|vh|vw|vmin|vmax)|0)$/;function fe(e){return ge.test(e)}const me=/^[+-]?[0-9]*([.][0-9]+)?%$/;function ke(e){return me.test(e)}const be=["repeat-x","repeat-y","repeat","space","round","no-repeat"];function _e(e){return be.includes(e)}const we=["center","top","bottom","left","right"];function ve(e){return we.includes(e)}const ye=["fixed","scroll","local"];function Ze(e){return ye.includes(e)}const Pe=/^url\(/;function xe(e){return Pe.test(e)}function Te(e=""){if(""===e)return{top:void 0,right:void 0,bottom:void 0,left:void 0};const t=Se(e),s=t[0],o=t[2]||s,i=t[1]||s;return{top:s,bottom:o,right:i,left:t[3]||i}}function Ae(e){return t=>{const{top:s,right:o,bottom:i,left:r}=t,n=[];return[s,o,r,i].every((e=>!!e))?n.push([e,Ce(t)]):(s&&n.push([e+"-top",s]),o&&n.push([e+"-right",o]),i&&n.push([e+"-bottom",i]),r&&n.push([e+"-left",r])),n}}function Ce({top:e,right:t,bottom:s,left:o}){const i=[];return o!==t?i.push(e,t,s,o):s!==e?i.push(e,t,s):t!==e?i.push(e,t):i.push(e),i.join(" ")}function Ee(e){return t=>({path:e,value:Te(t)})}function Se(e){return e.replace(/, /g,",").split(" ").map((e=>e.replace(/,/g,", ")))}function je(e){e.setNormalizer("background",(e=>{const t={},s=Se(e);for(const e of s)_e(e)?(t.repeat=t.repeat||[],t.repeat.push(e)):ve(e)?(t.position=t.position||[],t.position.push(e)):Ze(e)?t.attachment=e:he(e)?t.color=e:xe(e)&&(t.image=e);return{path:"background",value:t}})),e.setNormalizer("background-color",(e=>({path:"background.color",value:e}))),e.setReducer("background",(e=>{const t=[];return t.push(["background-color",e.color]),t})),e.setStyleRelation("background",["background-color"])}function Oe(e){e.setNormalizer("border",(e=>{const{color:t,style:s,width:o}=ze(e);return{path:"border",value:{color:Te(t),style:Te(s),width:Te(o)}}})),e.setNormalizer("border-top",Re("top")),e.setNormalizer("border-right",Re("right")),e.setNormalizer("border-bottom",Re("bottom")),e.setNormalizer("border-left",Re("left")),e.setNormalizer("border-color",Me("color")),e.setNormalizer("border-width",Me("width")),e.setNormalizer("border-style",Me("style")),e.setNormalizer("border-top-color",Ve("color","top")),e.setNormalizer("border-top-style",Ve("style","top")),e.setNormalizer("border-top-width",Ve("width","top")),e.setNormalizer("border-right-color",Ve("color","right")),e.setNormalizer("border-right-style",Ve("style","right")),e.setNormalizer("border-right-width",Ve("width","right")),e.setNormalizer("border-bottom-color",Ve("color","bottom")),e.setNormalizer("border-bottom-style",Ve("style","bottom")),e.setNormalizer("border-bottom-width",Ve("width","bottom")),e.setNormalizer("border-left-color",Ve("color","left")),e.setNormalizer("border-left-style",Ve("style","left")),e.setNormalizer("border-left-width",Ve("width","left")),e.setExtractor("border-top",Ie("top")),e.setExtractor("border-right",Ie("right")),e.setExtractor("border-bottom",Ie("bottom")),e.setExtractor("border-left",Ie("left")),e.setExtractor("border-top-color","border.color.top"),e.setExtractor("border-right-color","border.color.right"),e.setExtractor("border-bottom-color","border.color.bottom"),e.setExtractor("border-left-color","border.color.left"),e.setExtractor("border-top-width","border.width.top"),e.setExtractor("border-right-width","border.width.right"),e.setExtractor("border-bottom-width","border.width.bottom"),e.setExtractor("border-left-width","border.width.left"),e.setExtractor("border-top-style","border.style.top"),e.setExtractor("border-right-style","border.style.right"),e.setExtractor("border-bottom-style","border.style.bottom"),e.setExtractor("border-left-style","border.style.left"),e.setReducer("border-color",Ae("border-color")),e.setReducer("border-style",Ae("border-style")),e.setReducer("border-width",Ae("border-width")),e.setReducer("border-top",Be("top")),e.setReducer("border-right",Be("right")),e.setReducer("border-bottom",Be("bottom")),e.setReducer("border-left",Be("left")),e.setReducer("border",function(){return t=>{const s=De(t,"top"),o=De(t,"right"),i=De(t,"bottom"),r=De(t,"left"),n=[s,o,i,r],a={width:e(n,"width"),style:e(n,"style"),color:e(n,"color")},c=Fe(a,"all");if(c.length)return c;const l=Object.entries(a).reduce(((e,[t,s])=>(s&&(e.push([`border-${t}`,s]),n.forEach((e=>delete e[t]))),e)),[]);return[...l,...Fe(s,"top"),...Fe(o,"right"),...Fe(i,"bottom"),...Fe(r,"left")]};function e(e,t){return e.map((e=>e[t])).reduce(((e,t)=>e==t?e:null))}}()),e.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"]),e.setStyleRelation("border-color",["border-top-color","border-right-color","border-bottom-color","border-left-color"]),e.setStyleRelation("border-style",["border-top-style","border-right-style","border-bottom-style","border-left-style"]),e.setStyleRelation("border-width",["border-top-width","border-right-width","border-bottom-width","border-left-width"]),e.setStyleRelation("border-top",["border-top-color","border-top-style","border-top-width"]),e.setStyleRelation("border-right",["border-right-color","border-right-style","border-right-width"]),e.setStyleRelation("border-bottom",["border-bottom-color","border-bottom-style","border-bottom-width"]),e.setStyleRelation("border-left",["border-left-color","border-left-style","border-left-width"])}function Re(e){return t=>{const{color:s,style:o,width:i}=ze(t),r={};return void 0!==s&&(r.color={[e]:s}),void 0!==o&&(r.style={[e]:o}),void 0!==i&&(r.width={[e]:i}),{path:"border",value:r}}}function Me(e){return t=>({path:"border",value:Ne(t,e)})}function Ne(e,t){return{[t]:Te(e)}}function Ve(e,t){return s=>({path:"border",value:{[e]:{[t]:s}}})}function Ie(e){return(t,s)=>{if(s.border)return De(s.border,e)}}function De(e,t){const s={};return e.width&&e.width[t]&&(s.width=e.width[t]),e.style&&e.style[t]&&(s.style=e.style[t]),e.color&&e.color[t]&&(s.color=e.color[t]),s}function ze(e){const t={},s=Se(e);for(const e of s)fe(e)||/thin|medium|thick/.test(e)?t.width=e:pe(e)?t.style=e:t.color=e;return t}function Be(e){return t=>Fe(t,e)}function Fe(e,t){const s=[];if(e&&e.width&&s.push("width"),e&&e.style&&s.push("style"),e&&e.color&&s.push("color"),3==s.length){const o=s.map((t=>e[t])).join(" ");return["all"==t?["border",o]:[`border-${t}`,o]]}return"all"==t?[]:s.map((s=>[`border-${t}-${s}`,e[s]]))}function Le(e){e.setNormalizer("margin",Ee("margin")),e.setNormalizer("margin-top",(e=>({path:"margin.top",value:e}))),e.setNormalizer("margin-right",(e=>({path:"margin.right",value:e}))),e.setNormalizer("margin-bottom",(e=>({path:"margin.bottom",value:e}))),e.setNormalizer("margin-left",(e=>({path:"margin.left",value:e}))),e.setReducer("margin",Ae("margin")),e.setStyleRelation("margin",["margin-top","margin-right","margin-bottom","margin-left"])}function We(e){e.setNormalizer("padding",Ee("padding")),e.setNormalizer("padding-top",(e=>({path:"padding.top",value:e}))),e.setNormalizer("padding-right",(e=>({path:"padding.right",value:e}))),e.setNormalizer("padding-bottom",(e=>({path:"padding.bottom",value:e}))),e.setNormalizer("padding-left",(e=>({path:"padding.left",value:e}))),e.setReducer("padding",Ae("padding")),e.setStyleRelation("padding",["padding-top","padding-right","padding-bottom","padding-left"])}},"./src/enter.js":(e,t,s)=>{"use strict";s.r(t),s.d(t,{Enter:()=>o.Z,ShiftEnter:()=>h});var o=s("./packages/ckeditor5-enter/src/enter.js"),i=s("./packages/ckeditor5-core/src/command.js"),r=s("./packages/ckeditor5-enter/src/utils.js");class n extends i.Z{execute(){const e=this.editor.model,t=e.document;e.change((s=>{!function(e,t,s){const o=s.isCollapsed,i=s.getFirstRange(),n=i.start.parent,c=i.end.parent,l=n==c;if(o){const o=(0,r.G)(e.schema,s.getAttributes());a(e,t,i.end),t.removeSelectionAttribute(s.getAttributeKeys()),t.setSelectionAttribute(o)}else{const o=!(i.start.isAtStart&&i.end.isAtEnd);e.deleteContent(s,{leaveUnmerged:o}),l?a(e,t,s.focus):o&&t.setSelection(c,0)}}(e,s,t.selection),this.fire("afterExecute",{writer:s})}))}refresh(){const e=this.editor.model,t=e.document;this.isEnabled=function(e,t){if(t.rangeCount>1)return!1;const s=t.anchor;if(!s||!e.checkChild(s,"softBreak"))return!1;const o=t.getFirstRange(),i=o.start.parent,r=o.end.parent;if((c(i,e)||c(r,e))&&i!==r)return!1;return!0}(e.schema,t.selection)}}function a(e,t,s){const o=t.createElement("softBreak");e.insertContent(o,s),t.setSelection(o,"after")}function c(e,t){return!e.is("rootElement")&&(t.isLimit(e)||c(e.parent,t))}var l=s("./packages/ckeditor5-enter/src/enterobserver.js"),d=s("./packages/ckeditor5-core/src/plugin.js");class h extends d.Z{static get pluginName(){return"ShiftEnter"}init(){const e=this.editor,t=e.model.schema,s=e.conversion,o=e.editing.view,i=o.document;t.register("softBreak",{allowWhere:"$text",isInline:!0}),s.for("upcast").elementToElement({model:"softBreak",view:"br"}),s.for("downcast").elementToElement({model:"softBreak",view:(e,{writer:t})=>t.createEmptyElement("br")}),o.addObserver(l.Z),e.commands.add("shiftEnter",new n(e)),this.listenTo(i,"enter",((t,s)=>{s.preventDefault(),s.isSoft&&(e.execute("shiftEnter"),o.scrollToTheSelection())}),{priority:"low"})}}},"./src/paragraph.js":(e,t,s)=>{"use strict";s.r(t),s.d(t,{Paragraph:()=>l,ParagraphButtonUI:()=>h});var o=s("./packages/ckeditor5-core/src/command.js"),i=s("./packages/ckeditor5-utils/src/first.ts");class r extends o.Z{refresh(){const e=this.editor.model,t=e.document,s=(0,i.Z)(t.selection.getSelectedBlocks());this.value=!!s&&s.is("element","paragraph"),this.isEnabled=!!s&&n(s,e.schema)}execute(e={}){const t=this.editor.model,s=t.document;t.change((o=>{const i=(e.selection||s.selection).getSelectedBlocks();for(const e of i)!e.is("element","paragraph")&&n(e,t.schema)&&o.rename(e,"paragraph")}))}}function n(e,t){return t.checkChild(e.parent,"paragraph")&&!t.isObject(e)}class a extends o.Z{execute(e){const t=this.editor.model,s=e.attributes;let o=e.position;t.change((e=>{const i=e.createElement("paragraph");if(s&&t.schema.setAllowedAttributes(i,s,e),!t.schema.checkChild(o.parent,i)){const s=t.schema.findAllowedParent(o,i);if(!s)return;o=e.split(o,s).position}t.insertContent(i,o),e.setSelection(i,"in")}))}}var c=s("./packages/ckeditor5-core/src/plugin.js");class l extends c.Z{static get pluginName(){return"Paragraph"}init(){const e=this.editor,t=e.model;e.commands.add("paragraph",new r(e)),e.commands.add("insertParagraph",new a(e)),t.schema.register("paragraph",{inheritAllFrom:"$block"}),e.conversion.elementToElement({model:"paragraph",view:"p"}),e.conversion.for("upcast").elementToElement({model:(e,{writer:t})=>l.paragraphLikeElements.has(e.name)?e.isEmpty?null:t.createElement("paragraph"):null,view:/.+/,converterPriority:"low"})}}l.paragraphLikeElements=new Set(["blockquote","dd","div","dt","h1","h2","h3","h4","h5","h6","li","p","td","th"]);var d=s("./packages/ckeditor5-ui/src/button/buttonview.js");class h extends c.Z{init(){const e=this.editor,t=e.t;e.ui.componentFactory.add("paragraph",(s=>{const o=new d.Z(s),i=e.commands.get("paragraph");return o.label=t("Paragraph"),o.icon='',o.tooltip=!0,o.isToggleable=!0,o.bind("isEnabled").to(i),o.bind("isOn").to(i,"value"),o.on("execute",(()=>{e.execute("paragraph")})),o}))}}},"./src/select-all.js":(e,t,s)=>{"use strict";s.r(t),s.d(t,{SelectAll:()=>u,SelectAllEditing:()=>l,SelectAllUI:()=>h});var o=s("./packages/ckeditor5-core/src/plugin.js"),i=s("./packages/ckeditor5-utils/src/keyboard.ts"),r=s("./packages/ckeditor5-core/src/command.js");class n extends r.Z{constructor(e){super(e),this.affectsData=!1}execute(){const e=this.editor.model,t=e.document.selection;let s=e.schema.getLimitElement(t);if(t.containsEntireContent(s)||!a(e.schema,s))do{if(s=s.parent,!s)return}while(!a(e.schema,s));e.change((e=>{e.setSelection(s,"in")}))}}function a(e,t){return e.isLimit(t)&&(e.checkChild(t,"$text")||e.checkChild(t,"paragraph"))}const c=(0,i.Zz)("Ctrl+A");class l extends o.Z{static get pluginName(){return"SelectAllEditing"}init(){const e=this.editor,t=e.editing.view.document;e.commands.add("selectAll",new n(e)),this.listenTo(t,"keydown",((t,s)=>{(0,i.Cq)(s)===c&&(e.execute("selectAll"),s.preventDefault())}))}}var d=s("./packages/ckeditor5-ui/src/button/buttonview.js");class h extends o.Z{static get pluginName(){return"SelectAllUI"}init(){const e=this.editor;e.ui.componentFactory.add("selectAll",(t=>{const s=e.commands.get("selectAll"),o=new d.Z(t),i=t.t;return o.set({label:i("Select all"),icon:'',keystroke:"Ctrl+A",tooltip:!0}),o.bind("isOn","isEnabled").to(s,"value","isEnabled"),this.listenTo(o,"execute",(()=>{e.execute("selectAll"),e.editing.view.focus()})),o}))}}class u extends o.Z{static get requires(){return[l,h]}static get pluginName(){return"SelectAll"}}},"./src/typing.js":(e,t,s)=>{"use strict";s.r(t),s.d(t,{Delete:()=>f.Z,Input:()=>g,TextTransformation:()=>M,TextWatcher:()=>w,TwoStepCaretMovement:()=>y,Typing:()=>m,findAttributeRange:()=>z,getLastTextLine:()=>_,inlineHighlight:()=>F,isNonTypingKeystroke:()=>a.u});var o=s("./packages/ckeditor5-core/src/plugin.js"),i=s("./packages/ckeditor5-core/src/command.js"),r=s("./packages/ckeditor5-typing/src/utils/changebuffer.js");class n extends i.Z{constructor(e,t){super(e),this._buffer=new r.Z(e.model,t)}get buffer(){return this._buffer}destroy(){super.destroy(),this._buffer.destroy()}execute(e={}){const t=this.editor.model,s=t.document,o=e.text||"",i=o.length,r=e.range?t.createSelection(e.range):s.selection,n=e.resultRange;t.enqueueChange(this._buffer.batch,(e=>{this._buffer.lock(),t.deleteContent(r),o&&t.insertContent(e.createText(o,s.selection.getAttributes()),r),n?e.setSelection(n):r.is("documentSelection")||e.setSelection(r),this._buffer.unlock(),this._buffer.input(i)}))}}var a=s("./packages/ckeditor5-typing/src/utils/injectunsafekeystrokeshandling.js"),c=s("./packages/ckeditor5-utils/src/diff.ts"),l=s("./packages/ckeditor5-engine/src/view/domconverter.ts"),d=s("./packages/ckeditor5-typing/src/utils/utils.js");class h{constructor(e){this.editor=e,this.editing=this.editor.editing}handle(e,t){if((0,d.E9)(e))this._handleContainerChildrenMutations(e,t);else for(const s of e)this._handleTextMutation(s,t),this._handleTextNodeInsertion(s)}_handleContainerChildrenMutations(e,t){const s=function(e){const t=e.map((e=>e.node)).reduce(((e,t)=>e.getCommonAncestor(t,{includeSelf:!0})));if(!t)return;return t.getAncestors({includeSelf:!0,parentFirst:!0}).find((e=>e.is("containerElement")||e.is("rootElement")))}(e);if(!s)return;const o=this.editor.editing.view.domConverter.mapViewToDom(s),i=new l.Z(this.editor.editing.view.document),r=this.editor.data.toModel(i.domToView(o)).getChild(0),n=this.editor.editing.mapper.toModelElement(s);if(!n)return;const a=Array.from(r.getChildren()),d=Array.from(n.getChildren()),h=a[a.length-1],g=d[d.length-1],f=h&&h.is("element","softBreak"),m=g&&!g.is("element","softBreak");f&&m&&a.pop();const k=this.editor.model.schema;if(!u(a,k)||!u(d,k))return;const b=a.map((e=>e.is("$text")?e.data:"@")).join("").replace(/\u00A0/g," "),_=d.map((e=>e.is("$text")?e.data:"@")).join("").replace(/\u00A0/g," ");if(_===b)return;const w=(0,c.Z)(_,b),{firstChangeAt:v,insertions:y,deletions:Z}=p(w);let P=null;t&&(P=this.editing.mapper.toModelRange(t.getFirstRange()));const x=b.substr(v,y),T=this.editor.model.createRange(this.editor.model.createPositionAt(n,v),this.editor.model.createPositionAt(n,v+Z));this.editor.execute("input",{text:x,range:T,resultRange:P})}_handleTextMutation(e,t){if("text"!=e.type)return;const s=e.newText.replace(/\u00A0/g," "),o=e.oldText.replace(/\u00A0/g," ");if(o===s)return;const i=(0,c.Z)(o,s),{firstChangeAt:r,insertions:n,deletions:a}=p(i);let l=null;t&&(l=this.editing.mapper.toModelRange(t.getFirstRange()));const d=this.editing.view.createPositionAt(e.node,r),h=this.editing.mapper.toModelPosition(d),u=this.editor.model.createRange(h,h.getShiftedBy(a)),g=s.substr(r,n);this.editor.execute("input",{text:g,range:u,resultRange:l})}_handleTextNodeInsertion(e){if("children"!=e.type)return;const t=(0,d.xG)(e),s=this.editing.view.createPositionAt(e.node,t.index),o=this.editing.mapper.toModelPosition(s),i=t.values[0].data;this.editor.execute("input",{text:i.replace(/\u00A0/g," "),range:this.editor.model.createRange(o)})}}function u(e,t){return e.every((e=>t.isInline(e)))}function p(e){let t=null,s=null;for(let o=0;o{new h(e).handle(s,o)}))}(e)}}var f=s("./packages/ckeditor5-typing/src/delete.js");class m extends o.Z{static get requires(){return[g,f.Z]}static get pluginName(){return"Typing"}}var k=s("./packages/ckeditor5-utils/src/mix.ts"),b=s("./packages/ckeditor5-utils/src/observablemixin.ts");function _(e,t){let s=e.start;return{text:Array.from(e.getItems()).reduce(((e,o)=>o.is("$text")||o.is("$textProxy")?e+o.data:(s=t.createPositionAfter(o),"")),""),range:t.createRange(s,e.end)}}class w{constructor(e,t){this.model=e,this.testCallback=t,this.hasMatch=!1,this.set("isEnabled",!0),this.on("change:isEnabled",(()=>{this.isEnabled?this._startListening():(this.stopListening(e.document.selection),this.stopListening(e.document))})),this._startListening()}_startListening(){const e=this.model.document;this.listenTo(e.selection,"change:range",((t,{directChange:s})=>{s&&(e.selection.isCollapsed?this._evaluateTextBeforeSelection("selection"):this.hasMatch&&(this.fire("unmatched"),this.hasMatch=!1))})),this.listenTo(e,"change:data",((e,t)=>{!t.isUndo&&t.isLocal&&this._evaluateTextBeforeSelection("data",{batch:t})}))}_evaluateTextBeforeSelection(e,t={}){const s=this.model,o=s.document.selection,i=s.createRange(s.createPositionAt(o.focus.parent,0),o.focus),{text:r,range:n}=_(i,s),a=this.testCallback(r);if(!a&&this.hasMatch&&this.fire("unmatched"),this.hasMatch=!!a,a){const s=Object.assign(t,{text:r,range:n});"object"==typeof a&&Object.assign(s,a),this.fire(`matched:${e}`,s)}}}(0,k.Z)(w,b.Z);var v=s("./packages/ckeditor5-utils/src/keyboard.ts");class y extends o.Z{static get pluginName(){return"TwoStepCaretMovement"}constructor(e){super(e),this.attributes=new Set,this._overrideUid=null}init(){const e=this.editor,t=e.model,s=e.editing.view,o=e.locale,i=t.document.selection;this.listenTo(s.document,"arrowKey",((e,t)=>{if(!i.isCollapsed)return;if(t.shiftKey||t.altKey||t.ctrlKey)return;const s=t.keyCode==v.Do.arrowright,r=t.keyCode==v.Do.arrowleft;if(!s&&!r)return;const n=o.contentLanguageDirection;let a=!1;a="ltr"===n&&s||"rtl"===n&&r?this._handleForwardMovement(t):this._handleBackwardMovement(t),!0===a&&e.stop()}),{context:"$text",priority:"highest"}),this._isNextGravityRestorationSkipped=!1,this.listenTo(i,"change:range",((e,t)=>{this._isNextGravityRestorationSkipped?this._isNextGravityRestorationSkipped=!1:this._isGravityOverridden&&(!t.directChange&&T(i.getFirstPosition(),this.attributes)||this._restoreGravity())}))}registerAttribute(e){this.attributes.add(e)}_handleForwardMovement(e){const t=this.attributes,s=this.editor.model.document.selection,o=s.getFirstPosition();return!this._isGravityOverridden&&((!o.isAtStart||!Z(s,t))&&(T(o,t)?(x(e),this._overrideGravity(),!0):void 0))}_handleBackwardMovement(e){const t=this.attributes,s=this.editor.model,o=s.document.selection,i=o.getFirstPosition();return this._isGravityOverridden?(x(e),this._restoreGravity(),P(s,t,i),!0):i.isAtStart?!!Z(o,t)&&(x(e),P(s,t,i),!0):function(e,t){return T(e.getShiftedBy(-1),t)}(i,t)?i.isAtEnd&&!Z(o,t)&&T(i,t)?(x(e),P(s,t,i),!0):(this._isNextGravityRestorationSkipped=!0,this._overrideGravity(),!1):void 0}get _isGravityOverridden(){return!!this._overrideUid}_overrideGravity(){this._overrideUid=this.editor.model.change((e=>e.overrideSelectionGravity()))}_restoreGravity(){this.editor.model.change((e=>{e.restoreSelectionGravity(this._overrideUid),this._overrideUid=null}))}}function Z(e,t){for(const s of t)if(e.hasAttribute(s))return!0;return!1}function P(e,t,s){const o=s.nodeBefore;e.change((e=>{o?e.setSelectionAttribute(o.getAttributes()):e.removeSelectionAttribute(t)}))}function x(e){e.preventDefault()}function T(e,t){const{nodeBefore:s,nodeAfter:o}=e;for(const e of t){const t=s?s.getAttribute(e):void 0;if((o?o.getAttribute(e):void 0)!==t)return!0}return!1}var A=s("./node_modules/lodash-es/toString.js"),C=/[\\^$.*+?()[\]{}|]/g,E=RegExp(C.source);const S=function(e){return(e=(0,A.Z)(e))&&E.test(e)?e.replace(C,"\\$&"):e},j={copyright:{from:"(c)",to:"©"},registeredTrademark:{from:"(r)",to:"®"},trademark:{from:"(tm)",to:"™"},oneHalf:{from:/(^|[^/a-z0-9])(1\/2)([^/a-z0-9])$/i,to:[null,"½",null]},oneThird:{from:/(^|[^/a-z0-9])(1\/3)([^/a-z0-9])$/i,to:[null,"⅓",null]},twoThirds:{from:/(^|[^/a-z0-9])(2\/3)([^/a-z0-9])$/i,to:[null,"⅔",null]},oneForth:{from:/(^|[^/a-z0-9])(1\/4)([^/a-z0-9])$/i,to:[null,"¼",null]},threeQuarters:{from:/(^|[^/a-z0-9])(3\/4)([^/a-z0-9])$/i,to:[null,"¾",null]},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:D('"'),to:[null,"“",null,"”"]},quotesSecondary:{from:D("'"),to:[null,"‘",null,"’"]},quotesPrimaryEnGb:{from:D("'"),to:[null,"‘",null,"’"]},quotesSecondaryEnGb:{from:D('"'),to:[null,"“",null,"”"]},quotesPrimaryPl:{from:D('"'),to:[null,"„",null,"”"]},quotesSecondaryPl:{from:D("'"),to:[null,"‚",null,"’"]}},O={symbols:["copyright","registeredTrademark","trademark"],mathematical:["oneHalf","oneThird","twoThirds","oneForth","threeQuarters","lessThanOrEqual","greaterThanOrEqual","notEqual","arrowLeft","arrowRight"],typography:["horizontalEllipsis","enDash","emDash"],quotes:["quotesPrimary","quotesSecondary"]},R=["symbols","mathematical","typography","quotes"];class M extends o.Z{static get requires(){return["Delete","Input"]}static get pluginName(){return"TextTransformation"}constructor(e){super(e),e.config.define("typing",{transformations:{include:R}})}init(){const e=this.editor.model.document.selection;e.on("change:range",(()=>{this.isEnabled=!e.anchor.parent.is("element","codeBlock")})),this._enableTransformationWatchers()}_enableTransformationWatchers(){const e=this.editor,t=e.model,s=e.plugins.get("Delete"),o=function(e){const t=e.extra||[],s=e.remove||[],o=e=>!s.includes(e);return function(e){const t=new Set;for(const s of e)if(O[s])for(const e of O[s])t.add(e);else t.add(s);return Array.from(t)}(e.include.concat(t).filter(o)).filter(o).map((e=>j[e]||e)).filter((e=>"object"==typeof e)).map((e=>({from:N(e.from),to:V(e.to)})))}(e.config.get("typing.transformations")),i=new w(e.model,(e=>{for(const t of o){if(t.from.test(e))return{normalizedTransformation:t}}}));i.on("matched:data",((e,o)=>{if(!o.batch.isTyping)return;const{from:i,to:r}=o.normalizedTransformation,n=i.exec(o.text),a=r(n.slice(1)),c=o.range;let l=n.index;t.enqueueChange((e=>{for(let s=1;s{s.requestUndoOnBackspace()}))}))})),i.bind("isEnabled").to(this)}}function N(e){return"string"==typeof e?new RegExp(`(${S(e)})$`):e}function V(e){return"string"==typeof e?()=>[e]:e instanceof Array?()=>e:e}function I(e){return(e.textNode?e.textNode:e.nodeAfter).getAttributes()}function D(e){return new RegExp(`(^|\\s)(${e})([^${e}]*)(${e})$`)}function z(e,t,s,o){return o.createRange(B(e,t,s,!0,o),B(e,t,s,!1,o))}function B(e,t,s,o,i){let r=e.textNode||(o?e.nodeBefore:e.nodeAfter),n=null;for(;r&&r.getAttribute(t)==s;)n=r,r=o?r.previousSibling:r.nextSibling;return n?i.createPositionAt(n,o?"before":"after"):e}function F(e,t,s,o){const i=e.editing.view,r=new Set;i.document.registerPostFixer((i=>{const n=e.model.document.selection;let a=!1;if(n.hasAttribute(t)){const c=z(n.getFirstPosition(),t,n.getAttribute(t),e.model),l=e.editing.mapper.toViewRange(c);for(const e of l.getItems())e.is("element",s)&&!e.hasClass(o)&&(i.addClass(o,e),r.add(e),a=!0)}return a})),e.conversion.for("editingDowncast").add((e=>{function t(){i.change((e=>{for(const t of r.values())e.removeClass(o,t),r.delete(t)}))}e.on("insert",t,{priority:"highest"}),e.on("remove",t,{priority:"highest"}),e.on("attribute",t,{priority:"highest"}),e.on("selection",t,{priority:"highest"})}))}},"./src/ui.js":(e,t,s)=>{"use strict";s.r(t),s.d(t,{BalloonPanelView:()=>ue.Z,BalloonToolbar:()=>Se,BlockToolbar:()=>De,BodyCollection:()=>d,BoxedEditorUIView:()=>D,ButtonView:()=>h.Z,ColorGridView:()=>P,ColorTileView:()=>k,ContextualBalloon:()=>pe.Z,DropdownButtonView:()=>x.Z,EditorUIView:()=>R,FocusCycler:()=>$.Z,FormHeaderView:()=>W,IconView:()=>q.Z,IframeView:()=>Q,InlineEditableUIView:()=>B,InputNumberView:()=>J,InputTextView:()=>G,InputView:()=>K,LabelView:()=>I,LabeledFieldView:()=>ee,ListItemView:()=>ie.Z,ListView:()=>re.Z,Model:()=>he,Notification:()=>ae,SplitButtonView:()=>E,StickyPanelView:()=>_e,SwitchButtonView:()=>u.Z,Template:()=>a.ZP,ToolbarSeparatorView:()=>ye.Z,ToolbarView:()=>ve.Z,TooltipManager:()=>we.Z,View:()=>m.Z,ViewCollection:()=>c.Z,addKeyboardHandlingForGrid:()=>n,addListToDropdown:()=>S.Pm,addToolbarToDropdown:()=>S.up,clickOutsideHandler:()=>o.Z,createDropdown:()=>S.t9,createLabeledDropdown:()=>oe,createLabeledInputNumber:()=>se,createLabeledInputText:()=>te,focusChildOnDropdownOpen:()=>S.Mh,getLocalizedColorOptions:()=>p,injectCssTransitionDisabler:()=>i,normalizeColorOptions:()=>g,normalizeSingleColorDefinition:()=>f,normalizeToolbarConfig:()=>Ze.Z,submitHandler:()=>r});var o=s("./packages/ckeditor5-ui/src/bindings/clickoutsidehandler.js");function i(e){e.set("_isCssTransitionsDisabled",!1),e.disableCssTransitions=()=>{e._isCssTransitionsDisabled=!0},e.enableCssTransitions=()=>{e._isCssTransitionsDisabled=!1},e.extendTemplate({attributes:{class:[e.bindTemplate.if("_isCssTransitionsDisabled","ck-transitions-disabled")]}})}function r({view:e}){e.listenTo(e.element,"submit",((t,s)=>{s.preventDefault(),e.fire("submit")}),{useCapture:!0})}function n({keystrokeHandler:e,focusTracker:t,gridItems:s,numberOfColumns:o}){const i="number"==typeof o?()=>o:o;function r(e){return o=>{const i=s.find((e=>e.element===t.focusedElement)),r=s.getIndex(i),n=e(r,s);s.get(n).focus(),o.stopPropagation(),o.preventDefault()}}e.set("arrowright",r(((e,t)=>e===t.length-1?0:e+1))),e.set("arrowleft",r(((e,t)=>0===e?t.length-1:e-1))),e.set("arrowup",r(((e,t)=>{let s=e-i();return s<0&&(s=e+i()*Math.floor(t.length/i()),s>t.length-1&&(s-=i())),s}))),e.set("arrowdown",r(((e,t)=>{let s=e+i();return s>t.length-1&&(s=e%i()),s})))}var a=s("./packages/ckeditor5-ui/src/template.js"),c=s("./packages/ckeditor5-ui/src/viewcollection.js"),l=s("./packages/ckeditor5-utils/src/dom/createelement.ts");class d extends c.Z{constructor(e,t=[]){super(t),this.locale=e}attachToDom(){this._bodyCollectionContainer=new a.ZP({tag:"div",attributes:{class:["ck","ck-reset_all","ck-body","ck-rounded-corners"],dir:this.locale.uiLanguageDirection},children:this}).render();let e=document.querySelector(".ck-body-wrapper");e||(e=(0,l.Z)(document,"div",{class:"ck-body-wrapper"}),document.body.appendChild(e)),e.appendChild(this._bodyCollectionContainer)}detachFromDom(){super.destroy(),this._bodyCollectionContainer&&this._bodyCollectionContainer.remove();const e=document.querySelector(".ck-body-wrapper");e&&0==e.childElementCount&&e.remove()}}var h=s("./packages/ckeditor5-ui/src/button/buttonview.js"),u=s("./packages/ckeditor5-ui/src/button/switchbuttonview.js");function p(e,t){const s=e.t,o={Black:s("Black"),"Dim grey":s("Dim grey"),Grey:s("Grey"),"Light grey":s("Light grey"),White:s("White"),Red:s("Red"),Orange:s("Orange"),Yellow:s("Yellow"),"Light green":s("Light green"),Green:s("Green"),Aquamarine:s("Aquamarine"),Turquoise:s("Turquoise"),"Light blue":s("Light blue"),Blue:s("Blue"),Purple:s("Purple")};return t.map((e=>{const t=o[e.label];return t&&t!=e.label&&(e.label=t),e}))}function g(e){return e.map(f).filter((e=>!!e))}function f(e){return"string"==typeof e?{model:e,label:e,hasBorder:!1,view:{name:"span",styles:{color:e}}}:{model:e.color,label:e.label||e.color,hasBorder:void 0!==e.hasBorder&&e.hasBorder,view:{name:"span",styles:{color:`${e.color}`}}}}var m=s("./packages/ckeditor5-ui/src/view.js");class k extends h.Z{constructor(e){super(e);const t=this.bindTemplate;this.set("color"),this.set("hasBorder"),this.icon='',this.extendTemplate({attributes:{style:{backgroundColor:t.to("color")},class:["ck","ck-color-grid__tile",t.if("hasBorder","ck-color-table__color-tile_bordered")]}})}render(){super.render(),this.iconView.fillColor="hsl(0, 0%, 100%)"}}var b=s("./packages/ckeditor5-utils/src/focustracker.ts"),_=s("./packages/ckeditor5-utils/src/keystrokehandler.ts"),w=s("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),v=s.n(w),y=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/colorgrid/colorgrid.css"),Z={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};v()(y.Z,Z);y.Z.locals;class P extends m.Z{constructor(e,t){super(e);const s=t&&t.colorDefinitions||[],o={};this.columns=t&&t.columns?t.columns:5,o.gridTemplateColumns=`repeat( ${this.columns}, 1fr)`,this.set("selectedColor"),this.items=this.createCollection(),this.focusTracker=new b.Z,this.keystrokes=new _.Z,this.items.on("add",((e,t)=>{t.isOn=t.color===this.selectedColor})),s.forEach((e=>{const t=new k;t.set({color:e.color,label:e.label,tooltip:!0,hasBorder:e.options.hasBorder}),t.on("execute",(()=>{this.fire("execute",{value:e.color,hasBorder:e.options.hasBorder,label:e.label})})),this.items.add(t)})),this.setTemplate({tag:"div",children:this.items,attributes:{class:["ck","ck-color-grid"],style:o}}),this.on("change:selectedColor",((e,t,s)=>{for(const e of this.items)e.isOn=e.color===s}))}focus(){this.items.length&&this.items.first.focus()}focusLast(){this.items.length&&this.items.last.focus()}render(){super.render();for(const e of this.items)this.focusTracker.add(e.element);this.items.on("add",((e,t)=>{this.focusTracker.add(t.element)})),this.items.on("remove",((e,t)=>{this.focusTracker.remove(t.element)})),this.keystrokes.listenTo(this.element),n({keystrokeHandler:this.keystrokes,focusTracker:this.focusTracker,gridItems:this.items,numberOfColumns:this.columns})}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}}var x=s("./packages/ckeditor5-ui/src/dropdown/button/dropdownbuttonview.js"),T=s("./packages/ckeditor5-ui/theme/icons/dropdown-arrow.svg"),A=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/dropdown/splitbutton.css"),C={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};v()(A.Z,C);A.Z.locals;class E extends m.Z{constructor(e){super(e);const t=this.bindTemplate;this.set("class"),this.set("icon"),this.set("isEnabled",!0),this.set("isOn",!1),this.set("isToggleable",!1),this.set("isVisible",!0),this.set("keystroke"),this.set("label"),this.set("tabindex",-1),this.set("tooltip"),this.set("tooltipPosition","s"),this.set("type","button"),this.set("withText",!1),this.children=this.createCollection(),this.actionView=this._createActionView(),this.arrowView=this._createArrowView(),this.keystrokes=new _.Z,this.focusTracker=new b.Z,this.setTemplate({tag:"div",attributes:{class:["ck","ck-splitbutton",t.to("class"),t.if("isVisible","ck-hidden",(e=>!e)),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",((e,t)=>{this.focusTracker.focusedElement===this.actionView.element&&(this.arrowView.focus(),t())})),this.keystrokes.set("arrowleft",((e,t)=>{this.focusTracker.focusedElement===this.arrowView.element&&(this.actionView.focus(),t())}))}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this.actionView.focus()}_createActionView(){const e=new h.Z;return e.bind("icon","isEnabled","isOn","isToggleable","keystroke","label","tabindex","tooltip","tooltipPosition","type","withText").to(this),e.extendTemplate({attributes:{class:"ck-splitbutton__action"}}),e.delegate("execute").to(this),e}_createArrowView(){const e=new h.Z,t=e.bindTemplate;return e.icon=T.Z,e.extendTemplate({attributes:{class:["ck-splitbutton__arrow"],"data-cke-tooltip-disabled":t.to("isOn"),"aria-haspopup":!0,"aria-expanded":t.to("isOn",(e=>String(e)))}}),e.bind("isEnabled").to(this),e.bind("label").to(this),e.bind("tooltip").to(this),e.delegate("execute").to(this,"open"),e}}var S=s("./packages/ckeditor5-ui/src/dropdown/utils.js"),j=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/editorui/editorui.css"),O={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};v()(j.Z,O);j.Z.locals;class R extends m.Z{constructor(e){super(e),this.body=new d(e)}render(){super.render(),this.body.attachToDom()}destroy(){return this.body.detachFromDom(),super.destroy()}}var M=s("./packages/ckeditor5-utils/src/uid.ts"),N=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/label/label.css"),V={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};v()(N.Z,V);N.Z.locals;class I extends m.Z{constructor(e){super(e),this.set("text"),this.set("for"),this.id=`ck-editor__label_${(0,M.Z)()}`;const t=this.bindTemplate;this.setTemplate({tag:"label",attributes:{class:["ck","ck-label"],id:this.id,for:t.to("for")},children:[{text:t.to("text")}]})}}class D extends R{constructor(e){super(e),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:e.uiLanguageDirection,lang:e.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 e=this.t,t=new I;return t.text=e("Rich Text Editor"),t.extendTemplate({attributes:{class:"ck-voice-label"}}),t}}class z extends m.Z{constructor(e,t,s){super(e),this.setTemplate({tag:"div",attributes:{class:["ck","ck-content","ck-editor__editable","ck-rounded-corners"],lang:e.contentLanguage,dir:e.contentLanguageDirection}}),this.name=null,this.set("isFocused",!1),this._editableElement=s,this._hasExternalElement=!!this._editableElement,this._editingView=t}render(){super.render(),this._hasExternalElement?this.template.apply(this.element=this._editableElement):this._editableElement=this.element,this.on("change:isFocused",(()=>this._updateIsFocusedClasses())),this._updateIsFocusedClasses()}destroy(){this._hasExternalElement&&this.template.revert(this._editableElement),super.destroy()}_updateIsFocusedClasses(){const e=this._editingView;function t(t){e.change((s=>{const o=e.document.getRoot(t.name);s.addClass(t.isFocused?"ck-focused":"ck-blurred",o),s.removeClass(t.isFocused?"ck-blurred":"ck-focused",o)}))}e.isRenderingInProgress?function s(o){e.once("change:isRenderingInProgress",((e,i,r)=>{r?s(o):t(o)}))}(this):t(this)}}class B extends z{constructor(e,t,s,o={}){super(e,t,s);const i=e.t;this.extendTemplate({attributes:{role:"textbox",class:"ck-editor__editable_inline"}}),this._generateLabel=o.label||(()=>i("Editor editing area: %0",this.name))}render(){super.render();const e=this._editingView;e.change((t=>{const s=e.document.getRoot(this.name);t.setAttribute("aria-label",this._generateLabel(this),s)}))}}var F=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/formheader/formheader.css"),L={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};v()(F.Z,L);F.Z.locals;class W extends m.Z{constructor(e,t={}){super(e);const s=this.bindTemplate;this.set("label",t.label||""),this.set("class",t.class||null),this.children=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-form__header",s.to("class")]},children:this.children});const o=new m.Z(e);o.setTemplate({tag:"span",attributes:{class:["ck","ck-form__header__label"]},children:[{text:s.to("label")}]}),this.children.add(o)}}var $=s("./packages/ckeditor5-ui/src/focuscycler.js"),q=s("./packages/ckeditor5-ui/src/icon/iconview.js"),H=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/input/input.css"),U={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};v()(H.Z,U);H.Z.locals;class K extends m.Z{constructor(e){super(e),this.set("value"),this.set("id"),this.set("placeholder"),this.set("isReadOnly",!1),this.set("hasError",!1),this.set("ariaDescribedById"),this.focusTracker=new b.Z,this.bind("isFocused").to(this.focusTracker),this.set("isEmpty",!0),this.set("inputMode","text");const t=this.bindTemplate;this.setTemplate({tag:"input",attributes:{class:["ck","ck-input",t.if("isFocused","ck-input_focused"),t.if("isEmpty","ck-input-text_empty"),t.if("hasError","ck-error")],id:t.to("id"),placeholder:t.to("placeholder"),readonly:t.to("isReadOnly"),inputmode:t.to("inputMode"),"aria-invalid":t.if("hasError",!0),"aria-describedby":t.to("ariaDescribedById")},on:{input:t.to(((...e)=>{this.fire("input",...e),this._updateIsEmpty()})),change:t.to(this._updateIsEmpty.bind(this))}})}render(){super.render(),this.focusTracker.add(this.element),this._setDomElementValue(this.value),this._updateIsEmpty(),this.on("change:value",((e,t,s)=>{this._setDomElementValue(s),this._updateIsEmpty()}))}destroy(){super.destroy(),this.focusTracker.destroy()}select(){this.element.select()}focus(){this.element.focus()}_updateIsEmpty(){this.isEmpty=!this.element.value}_setDomElementValue(e){this.element.value=e||0===e?e:""}}class G extends K{constructor(e){super(e),this.extendTemplate({attributes:{type:"text",class:["ck-input-text"]}})}}class J extends K{constructor(e,{min:t,max:s,step:o}={}){super(e);const i=this.bindTemplate;this.set("min",t),this.set("max",s),this.set("step",o),this.extendTemplate({attributes:{type:"number",class:["ck-input-number"],min:i.to("min"),max:i.to("max"),step:i.to("step")}})}}class Q extends m.Z{constructor(e){super(e);const t=this.bindTemplate;this.setTemplate({tag:"iframe",attributes:{class:["ck","ck-reset_all"],sandbox:"allow-same-origin allow-scripts"},on:{load:t.to("loaded")}})}render(){return new Promise((e=>{this.on("loaded",e),super.render()}))}}var X=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/labeledfield/labeledfieldview.css"),Y={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};v()(X.Z,Y);X.Z.locals;class ee extends m.Z{constructor(e,t){super(e);const s=`ck-labeled-field-view-${(0,M.Z)()}`,o=`ck-labeled-field-view-status-${(0,M.Z)()}`;this.fieldView=t(this,s,o),this.set("label"),this.set("isEnabled",!0),this.set("isEmpty",!0),this.set("isFocused",!1),this.set("errorText",null),this.set("infoText",null),this.set("class"),this.set("placeholder"),this.labelView=this._createLabelView(s),this.statusView=this._createStatusView(o),this.bind("_statusText").to(this,"errorText",this,"infoText",((e,t)=>e||t));const i=this.bindTemplate;this.setTemplate({tag:"div",attributes:{class:["ck","ck-labeled-field-view",i.to("class"),i.if("isEnabled","ck-disabled",(e=>!e)),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(e){const t=new I(this.locale);return t.for=e,t.bind("text").to(this,"label"),t}_createStatusView(e){const t=new m.Z(this.locale),s=this.bindTemplate;return t.setTemplate({tag:"div",attributes:{class:["ck","ck-labeled-field-view__status",s.if("errorText","ck-labeled-field-view__status_error"),s.if("_statusText","ck-hidden",(e=>!e))],id:e,role:s.if("errorText","alert")},children:[{text:s.to("_statusText")}]}),t}focus(){this.fieldView.focus()}}function te(e,t,s){const o=new G(e.locale);return o.set({id:t,ariaDescribedById:s}),o.bind("isReadOnly").to(e,"isEnabled",(e=>!e)),o.bind("hasError").to(e,"errorText",(e=>!!e)),o.on("input",(()=>{e.errorText=null})),e.bind("isEmpty","isFocused","placeholder").to(o),o}function se(e,t,s){const o=new J(e.locale);return o.set({id:t,ariaDescribedById:s,inputMode:"numeric"}),o.bind("isReadOnly").to(e,"isEnabled",(e=>!e)),o.bind("hasError").to(e,"errorText",(e=>!!e)),o.on("input",(()=>{e.errorText=null})),e.bind("isEmpty","isFocused","placeholder").to(o),o}function oe(e,t,s){const o=(0,S.t9)(e.locale);return o.set({id:t,ariaDescribedById:s}),o.bind("isEnabled").to(e),o}var ie=s("./packages/ckeditor5-ui/src/list/listitemview.js"),re=s("./packages/ckeditor5-ui/src/list/listview.js"),ne=s("./packages/ckeditor5-core/src/contextplugin.js");class ae extends ne.Z{static get pluginName(){return"Notification"}init(){this.on("show:warning",((e,t)=>{window.alert(t.message)}),{priority:"lowest"})}showSuccess(e,t={}){this._showNotification({message:e,type:"success",namespace:t.namespace,title:t.title})}showInfo(e,t={}){this._showNotification({message:e,type:"info",namespace:t.namespace,title:t.title})}showWarning(e,t={}){this._showNotification({message:e,type:"warning",namespace:t.namespace,title:t.title})}_showNotification(e){const t=`show:${e.type}`+(e.namespace?`:${e.namespace}`:"");this.fire(t,{message:e.message,type:e.type,title:e.title||""})}}var ce=s("./packages/ckeditor5-utils/src/mix.ts"),le=s("./packages/ckeditor5-utils/src/observablemixin.ts"),de=s("./node_modules/lodash-es/assignIn.js");class he{constructor(e,t){t&&(0,de.Z)(this,t),e&&this.set(e)}}(0,ce.Z)(he,le.Z);var ue=s("./packages/ckeditor5-ui/src/panel/balloon/balloonpanelview.js"),pe=s("./packages/ckeditor5-ui/src/panel/balloon/contextualballoon.js"),ge=s("./packages/ckeditor5-utils/src/dom/global.ts"),fe=s("./packages/ckeditor5-utils/src/dom/tounit.ts"),me=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/panel/stickypanel.css"),ke={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};v()(me.Z,ke);me.Z.locals;const be=(0,fe.Z)("px");class _e extends m.Z{constructor(e){super(e);const t=this.bindTemplate;this.set("isActive",!1),this.set("isSticky",!1),this.set("limiterElement",null),this.set("limiterBottomOffset",50),this.set("viewportTopOffset",0),this.set("_marginLeft",null),this.set("_isStickyToTheLimiter",!1),this.set("_hasViewportTopOffset",!1),this.content=this.createCollection(),this._contentPanelPlaceholder=new a.ZP({tag:"div",attributes:{class:["ck","ck-sticky-panel__placeholder"],style:{display:t.to("isSticky",(e=>e?"block":"none")),height:t.to("isSticky",(e=>e?be(this._panelRect.height):null))}}}).render(),this._contentPanel=new a.ZP({tag:"div",attributes:{class:["ck","ck-sticky-panel__content",t.if("isSticky","ck-sticky-panel__content_sticky"),t.if("_isStickyToTheLimiter","ck-sticky-panel__content_sticky_bottom-limit")],style:{width:t.to("isSticky",(e=>e?be(this._contentPanelPlaceholder.getBoundingClientRect().width):null)),top:t.to("_hasViewportTopOffset",(e=>e?be(this.viewportTopOffset):null)),bottom:t.to("_isStickyToTheLimiter",(e=>e?be(this.limiterBottomOffset):null)),marginLeft:t.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(ge.Z.window,"scroll",(()=>{this._checkIfShouldBeSticky()})),this.listenTo(this,"change:isActive",(()=>{this._checkIfShouldBeSticky()}))}_checkIfShouldBeSticky(){const e=this._panelRect=this._contentPanel.getBoundingClientRect();let t;this.limiterElement?(t=this._limiterRect=this.limiterElement.getBoundingClientRect(),this.isSticky=this.isActive&&t.top{this.focusTracker.add(e.ui.getEditableElement()),this.focusTracker.add(this.toolbarView.element)})),e.ui.addToolbar(this.toolbarView,{beforeFocus:()=>this.show(!0),afterBlur:()=>this.hide(),isContextual:!0}),this._resizeObserver=null,this._balloon=e.plugins.get(pe.Z),this._fireSelectionChangeDebounced=(0,Te.Z)((()=>this.fire("_selectionChangeDebounced")),200),this.decorate("show")}init(){const e=this.editor,t=e.model.document.selection;this.listenTo(this.focusTracker,"change:isFocused",((e,t,s)=>{const o=this._balloon.visibleView===this.toolbarView;!s&&o?this.hide():s&&this.show()})),this.listenTo(t,"change:range",((e,s)=>{(s.directChange||t.isCollapsed)&&this.hide(),this._fireSelectionChangeDebounced()})),this.listenTo(this,"_selectionChangeDebounced",(()=>{this.editor.editing.view.document.isFocused&&this.show()})),this._balloonConfig.shouldNotGroupWhenFull||this.listenTo(e,"ready",(()=>{const t=e.ui.view.editable.element;this._resizeObserver=new Ae.Z(t,(()=>{this.toolbarView.maxWidth=Ee(.9*new xe.Z(t).width)}))})),this.listenTo(this.toolbarView,"groupedItemsUpdate",(()=>{this._updatePosition()}))}afterInit(){const e=this.editor.ui.componentFactory;this.toolbarView.fillFromConfig(this._balloonConfig,e)}_createToolbarView(){const e=this.editor.locale.t,t=!this._balloonConfig.shouldNotGroupWhenFull,s=new ve.Z(this.editor.locale,{shouldGroupWhenFull:t,isFloating:!0});return s.ariaLabel=e("Editor contextual toolbar"),s.render(),s}show(e=!1){const t=this.editor,s=t.model.document.selection,o=t.model.schema;this._balloon.hasView(this.toolbarView)||s.isCollapsed&&!e||function(e,t){if(1===e.rangeCount)return!1;return[...e.getRanges()].every((e=>{const s=e.getContainedElement();return s&&t.isSelectable(s)}))}(s,o)||Array.from(this.toolbarView.items).every((e=>void 0!==e.isEnabled&&!e.isEnabled))||(this.listenTo(this.editor.ui,"update",(()=>{this._updatePosition()})),this._balloon.add({view:this.toolbarView,position:this._getBalloonPositionData(),balloonClassName:"ck-toolbar-container"}))}hide(){this._balloon.hasView(this.toolbarView)&&(this.stopListening(this.editor.ui,"update"),this._balloon.remove(this.toolbarView))}_getBalloonPositionData(){const e=this.editor.editing.view,t=e.document,s=t.selection,o=t.selection.isBackward;return{target:()=>{const t=o?s.getFirstRange():s.getLastRange(),i=xe.Z.getDomRangeRects(e.domConverter.viewRangeToDom(t));return o?i[0]:(i.length>1&&0===i[i.length-1].width&&i.pop(),i[i.length-1])},positions:this._getBalloonPositions(o)}}_updatePosition(){this._balloon.updatePosition(this._getBalloonPositionData())}destroy(){super.destroy(),this.stopListening(),this._fireSelectionChangeDebounced.cancel(),this.toolbarView.destroy(),this.focusTracker.destroy(),this._resizeObserver&&this._resizeObserver.destroy()}_getBalloonPositions(e){const t=Ce.OB.isSafari&&Ce.OB.isiOS?(0,ue.M)({heightOffset:Math.max(ue.Z.arrowHeightOffset,Math.round(20/Ce.CO.window.visualViewport.scale))}):ue.Z.defaultPositions;return e?[t.northWestArrowSouth,t.northWestArrowSouthWest,t.northWestArrowSouthEast,t.northWestArrowSouthMiddleEast,t.northWestArrowSouthMiddleWest,t.southWestArrowNorth,t.southWestArrowNorthWest,t.southWestArrowNorthEast,t.southWestArrowNorthMiddleWest,t.southWestArrowNorthMiddleEast]:[t.southEastArrowNorth,t.southEastArrowNorthEast,t.southEastArrowNorthWest,t.southEastArrowNorthMiddleEast,t.southEastArrowNorthMiddleWest,t.northEastArrowSouth,t.northEastArrowSouthEast,t.northEastArrowSouthWest,t.northEastArrowSouthMiddleEast,t.northEastArrowSouthMiddleWest]}}var je=s("./packages/ckeditor5-core/theme/icons/pilcrow.svg"),Oe=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-ui/theme/components/toolbar/blocktoolbar.css"),Re={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};v()(Oe.Z,Re);Oe.Z.locals;const Me=(0,fe.Z)("px");class Ne extends h.Z{constructor(e){super(e);const t=this.bindTemplate;this.isVisible=!1,this.isToggleable=!0,this.set("top",0),this.set("left",0),this.extendTemplate({attributes:{class:"ck-block-toolbar-button",style:{top:t.to("top",(e=>Me(e))),left:t.to("left",(e=>Me(e)))}}})}}var Ve=s("./packages/ckeditor5-utils/src/dom/position.ts");const Ie=(0,fe.Z)("px");class De extends Pe.Z{static get pluginName(){return"BlockToolbar"}constructor(e){super(e),this._blockToolbarConfig=(0,Ze.Z)(this.editor.config.get("blockToolbar")),this.toolbarView=this._createToolbarView(),this.panelView=this._createPanelView(),this.buttonView=this._createButtonView(),this._resizeObserver=null,(0,o.Z)({emitter:this.panelView,contextElements:[this.panelView.element,this.buttonView.element],activator:()=>this.panelView.isVisible,callback:()=>this._hidePanel()})}init(){const e=this.editor;this.listenTo(e.model.document.selection,"change:range",((e,t)=>{t.directChange&&this._hidePanel()})),this.listenTo(e.ui,"update",(()=>this._updateButton())),this.listenTo(e,"change:isReadOnly",(()=>this._updateButton()),{priority:"low"}),this.listenTo(e.ui.focusTracker,"change:isFocused",(()=>this._updateButton())),this.listenTo(this.buttonView,"change:isVisible",((e,t,s)=>{s?this.buttonView.listenTo(window,"resize",(()=>this._updateButton())):(this.buttonView.stopListening(window,"resize"),this._hidePanel())})),e.ui.addToolbar(this.toolbarView,{beforeFocus:()=>this._showPanel(),afterBlur:()=>this._hidePanel()})}afterInit(){const e=this.editor.ui.componentFactory,t=this._blockToolbarConfig;this.toolbarView.fillFromConfig(t,e);for(const e of this.toolbarView.items)e.on("execute",(()=>this._hidePanel(!0)),{priority:"high"});t.shouldNotGroupWhenFull||this.listenTo(this.editor,"ready",(()=>{const e=this.editor.ui.view.editable.element;this._resizeObserver=new Ae.Z(e,(()=>{this.toolbarView.maxWidth=this._getToolbarMaxWidth()}))}))}destroy(){super.destroy(),this.panelView.destroy(),this.buttonView.destroy(),this.toolbarView.destroy(),this._resizeObserver&&this._resizeObserver.destroy()}_createToolbarView(){const e=this.editor.locale.t,t=!this._blockToolbarConfig.shouldNotGroupWhenFull,s=new ve.Z(this.editor.locale,{shouldGroupWhenFull:t,isFloating:!0});return s.ariaLabel=e("Editor block content toolbar"),s.focusTracker.on("change:isFocused",((e,t,s)=>{s||this._hidePanel()})),s}_createPanelView(){const e=this.editor,t=new ue.Z(e.locale);return t.content.add(this.toolbarView),t.class="ck-toolbar-container",e.ui.view.body.add(t),e.ui.focusTracker.add(t.element),this.toolbarView.keystrokes.set("Esc",((e,t)=>{this._hidePanel(!0),t()})),t}_createButtonView(){const e=this.editor,t=e.t,s=new Ne(e.locale);return s.set({label:t("Edit block"),icon:je.Z,withText:!1}),s.bind("isOn").to(this.panelView,"isVisible"),s.bind("tooltip").to(this.panelView,"isVisible",(e=>!e)),this.listenTo(s,"execute",(()=>{this.panelView.isVisible?this._hidePanel(!0):this._showPanel()})),e.ui.view.body.add(s),e.ui.focusTracker.add(s.element),s}_updateButton(){const e=this.editor,t=e.model,s=e.editing.view;if(!e.ui.focusTracker.isFocused)return void this._hideButton();if(e.isReadOnly)return void this._hideButton();const o=Array.from(t.document.selection.getSelectedBlocks())[0];if(!o||Array.from(this.toolbarView.items).every((e=>!e.isEnabled)))return void this._hideButton();const i=s.domConverter.mapViewToDom(e.editing.mapper.toViewElement(o));this.buttonView.isVisible=!0,this._attachButtonToElement(i),this.panelView.isVisible&&this._showPanel()}_hideButton(){this.buttonView.isVisible=!1}_showPanel(){if(!this.buttonView.isVisible)return;const e=this.panelView.isVisible;this.panelView.show(),this.toolbarView.maxWidth=this._getToolbarMaxWidth(),this.panelView.pin({target:this.buttonView.element,limiter:this.editor.ui.getEditableElement()}),e||this.toolbarView.items.get(0).focus()}_hidePanel(e){this.panelView.isVisible=!1,e&&this.editor.editing.view.focus()}_attachButtonToElement(e){const t=window.getComputedStyle(e),s=new xe.Z(this.editor.ui.getEditableElement()),o=parseInt(t.paddingTop,10),i=parseInt(t.lineHeight,10)||1.2*parseInt(t.fontSize,10),r=(0,Ve.x)({element:this.buttonView.element,target:e,positions:[(e,t)=>{let r;return r="ltr"===this.editor.locale.uiLanguageDirection?s.left-t.width:s.right,{top:e.top+o+(i-t.height)/2,left:r}}]});this.buttonView.top=r.top,this.buttonView.left=r.left}_getToolbarMaxWidth(){const e=this.editor.ui.view.editable.element,t=new xe.Z(e),s=new xe.Z(this.buttonView.element),o="rtl"===this.editor.locale.uiLanguageDirection?s.left-t.right+s.width:t.left-s.left;return Ie(t.width+o)}}},"./src/undo.js":(e,t,s)=>{"use strict";s.r(t),s.d(t,{Undo:()=>m,UndoEditing:()=>h,UndoUi:()=>f});var o=s("./packages/ckeditor5-core/src/plugin.js"),i=s("./packages/ckeditor5-core/src/command.js"),r=s("./packages/ckeditor5-engine/src/model/operation/transform.ts");class n extends i.Z{constructor(e){super(e),this._stack=[],this._createdBatches=new WeakSet,this.refresh(),this.listenTo(e.data,"set",((e,t)=>{t[1]={...t[1]};const s=t[1];s.batchType||(s.batchType={isUndoable:!1})}),{priority:"high"}),this.listenTo(e.data,"set",((e,t)=>{t[1].batchType.isUndoable||this.clearStack()}))}refresh(){this.isEnabled=this._stack.length>0}addBatch(e){const t=this.editor.model.document.selection,s={ranges:t.hasOwnRange?Array.from(t.getRanges()):[],isBackward:t.isBackward};this._stack.push({batch:e,selection:s}),this.refresh()}clearStack(){this._stack=[],this.refresh()}_restoreSelection(e,t,s){const o=this.editor.model,i=o.document,r=[],n=e.map((e=>e.getTransformedByOperations(s))),l=n.flat();for(const e of n){const t=e.filter((e=>e.root!=i.graveyard)).filter((e=>!c(e,l)));t.length&&(a(t),r.push(t[0]))}r.length&&o.change((e=>{e.setSelection(r,{backward:t})}))}_undo(e,t){const s=this.editor.model,o=s.document;this._createdBatches.add(t);const i=e.operations.slice().filter((e=>e.isDocumentOperation));i.reverse();for(const e of i){const i=e.baseVersion+1,n=Array.from(o.history.getOperations(i)),a=(0,r.R)([e.getReversed()],n,{useRelations:!0,document:this.editor.model.document,padWithNoOps:!1,forceWeakRemove:!0}).operationsA;for(const i of a)t.addOperation(i),s.applyOperation(i),o.history.setOperationAsUndone(e,i)}}}function a(e){e.sort(((e,t)=>e.start.isBefore(t.start)?-1:1));for(let t=1;tt!==e&&t.containsRange(e,!0)))}class l extends n{execute(e=null){const t=e?this._stack.findIndex((t=>t.batch==e)):this._stack.length-1,s=this._stack.splice(t,1)[0],o=this.editor.model.createBatch({isUndo:!0});this.editor.model.enqueueChange(o,(()=>{this._undo(s.batch,o);const e=this.editor.model.document.history.getOperations(s.batch.baseVersion);this._restoreSelection(s.selection.ranges,s.selection.isBackward,e),this.fire("revert",s.batch,o)})),this.refresh()}}class d extends n{execute(){const e=this._stack.pop(),t=this.editor.model.createBatch({isUndo:!0});this.editor.model.enqueueChange(t,(()=>{const s=e.batch.operations[e.batch.operations.length-1].baseVersion+1,o=this.editor.model.document.history.getOperations(s);this._restoreSelection(e.selection.ranges,e.selection.isBackward,o),this._undo(e.batch,t)})),this.refresh()}}class h extends o.Z{static get pluginName(){return"UndoEditing"}constructor(e){super(e),this._batchRegistry=new WeakSet}init(){const e=this.editor;this._undoCommand=new l(e),this._redoCommand=new d(e),e.commands.add("undo",this._undoCommand),e.commands.add("redo",this._redoCommand),this.listenTo(e.model,"applyOperation",((e,t)=>{const s=t[0];if(!s.isDocumentOperation)return;const o=s.batch,i=this._redoCommand._createdBatches.has(o),r=this._undoCommand._createdBatches.has(o);this._batchRegistry.has(o)||(this._batchRegistry.add(o),o.isUndoable&&(i?this._undoCommand.addBatch(o):r||(this._undoCommand.addBatch(o),this._redoCommand.clearStack())))}),{priority:"highest"}),this.listenTo(this._undoCommand,"revert",((e,t,s)=>{this._redoCommand.addBatch(s)})),e.keystrokes.set("CTRL+Z","undo"),e.keystrokes.set("CTRL+Y","redo"),e.keystrokes.set("CTRL+SHIFT+Z","redo")}}var u=s("./packages/ckeditor5-ui/src/button/buttonview.js");const p='',g='';class f extends o.Z{static get pluginName(){return"UndoUI"}init(){const e=this.editor,t=e.locale,s=e.t,o="ltr"==t.uiLanguageDirection?p:g,i="ltr"==t.uiLanguageDirection?g:p;this._addButton("undo",s("Undo"),"CTRL+Z",o),this._addButton("redo",s("Redo"),"CTRL+Y",i)}_addButton(e,t,s,o){const i=this.editor;i.ui.componentFactory.add(e,(r=>{const n=i.commands.get(e),a=new u.Z(r);return a.set({label:t,icon:o,keystroke:s,tooltip:!0}),a.bind("isEnabled").to(n,"isEnabled"),this.listenTo(a,"execute",(()=>{i.execute(e),i.editing.view.focus()})),a}))}}class m extends o.Z{static get requires(){return[h,f]}static get pluginName(){return"Undo"}}},"./src/upload.js":(e,t,s)=>{"use strict";s.r(t),s.d(t,{Base64UploadAdapter:()=>k,FileDialogButtonView:()=>f,FileRepository:()=>h,SimpleUploadAdapter:()=>_});var o=s("./packages/ckeditor5-core/src/plugin.js"),i=s("./packages/ckeditor5-core/src/pendingactions.js"),r=s("./packages/ckeditor5-utils/src/ckeditorerror.ts"),n=s("./packages/ckeditor5-utils/src/observablemixin.ts"),a=s("./packages/ckeditor5-utils/src/collection.ts"),c=s("./packages/ckeditor5-utils/src/mix.ts");class l{constructor(){const e=new window.FileReader;this._reader=e,this._data=void 0,this.set("loaded",0),e.onprogress=e=>{this.loaded=e.loaded}}get error(){return this._reader.error}get data(){return this._data}read(e){const t=this._reader;return this.total=e.size,new Promise(((s,o)=>{t.onload=()=>{const e=t.result;this._data=e,s(e)},t.onerror=()=>{o("error")},t.onabort=()=>{o("aborted")},this._reader.readAsDataURL(e)}))}abort(){this._reader.abort()}}(0,c.Z)(l,n.Z);var d=s("./packages/ckeditor5-utils/src/uid.ts");class h extends o.Z{static get pluginName(){return"FileRepository"}static get requires(){return[i.Z]}init(){this.loaders=new a.Z,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",((e,t)=>t?e/t*100:0))}getLoader(e){return this._loadersMap.get(e)||null}createLoader(e){if(!this.createUploadAdapter)return(0,r.KE)("filerepository-no-upload-adapter"),null;const t=new u(Promise.resolve(e),this.createUploadAdapter);return this.loaders.add(t),this._loadersMap.set(e,t),e instanceof Promise&&t.file.then((e=>{this._loadersMap.set(e,t)})).catch((()=>{})),t.on("change:uploaded",(()=>{let e=0;for(const t of this.loaders)e+=t.uploaded;this.uploaded=e})),t.on("change:uploadTotal",(()=>{let e=0;for(const t of this.loaders)t.uploadTotal&&(e+=t.uploadTotal);this.uploadTotal=e})),t}destroyLoader(e){const t=e instanceof u?e:this.getLoader(e);t._destroy(),this.loaders.remove(t),this._loadersMap.forEach(((e,s)=>{e===t&&this._loadersMap.delete(s)}))}_updatePendingAction(){const e=this.editor.plugins.get(i.Z);if(this.loaders.length){if(!this._pendingAction){const t=this.editor.t,s=e=>`${t("Upload in progress")} ${parseInt(e)}%.`;this._pendingAction=e.add(s(this.uploadedPercent)),this._pendingAction.bind("message").to(this,"uploadedPercent",s)}}else e.remove(this._pendingAction),this._pendingAction=null}}(0,c.Z)(h,n.Z);class u{constructor(e,t){this.id=(0,d.Z)(),this._filePromiseWrapper=this._createFilePromiseWrapper(e),this._adapter=t(this),this._reader=new l,this.set("status","idle"),this.set("uploaded",0),this.set("uploadTotal",null),this.bind("uploadedPercent").to(this,"uploaded",this,"uploadTotal",((e,t)=>t?e/t*100:0)),this.set("uploadResponse",null)}get file(){return this._filePromiseWrapper?this._filePromiseWrapper.promise.then((e=>this._filePromiseWrapper?e:null)):Promise.resolve(null)}get data(){return this._reader.data}read(){if("idle"!=this.status)throw new r.ZP("filerepository-read-wrong-status",this);return this.status="reading",this.file.then((e=>this._reader.read(e))).then((e=>{if("reading"!==this.status)throw this.status;return this.status="idle",e})).catch((e=>{if("aborted"===e)throw this.status="aborted","aborted";throw this.status="error",this._reader.error?this._reader.error:e}))}upload(){if("idle"!=this.status)throw new r.ZP("filerepository-upload-wrong-status",this);return this.status="uploading",this.file.then((()=>this._adapter.upload())).then((e=>(this.uploadResponse=e,this.status="idle",e))).catch((e=>{if("aborted"===this.status)throw"aborted";throw this.status="error",e}))}abort(){const e=this.status;this.status="aborted",this._filePromiseWrapper.isFulfilled?"reading"==e?this._reader.abort():"uploading"==e&&this._adapter.abort&&this._adapter.abort():(this._filePromiseWrapper.promise.catch((()=>{})),this._filePromiseWrapper.rejecter("aborted")),this._destroy()}_destroy(){this._filePromiseWrapper=void 0,this._reader=void 0,this._adapter=void 0,this.uploadResponse=void 0}_createFilePromiseWrapper(e){const t={};return t.promise=new Promise(((s,o)=>{t.rejecter=o,t.isFulfilled=!1,e.then((e=>{t.isFulfilled=!0,s(e)})).catch((e=>{t.isFulfilled=!0,o(e)}))})),t}}(0,c.Z)(u,n.Z);var p=s("./packages/ckeditor5-ui/src/button/buttonview.js"),g=s("./packages/ckeditor5-ui/src/view.js");class f extends g.Z{constructor(e){super(e),this.buttonView=new p.Z(e),this._fileInputView=new m(e),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 m extends g.Z{constructor(e){super(e),this.set("acceptedType"),this.set("allowMultipleFiles",!1);const t=this.bindTemplate;this.setTemplate({tag:"input",attributes:{class:["ck-hidden"],type:"file",tabindex:"-1",accept:t.to("acceptedType"),multiple:t.to("allowMultipleFiles")},on:{change:t.to((()=>{this.element&&this.element.files&&this.element.files.length&&this.fire("done",this.element.files),this.element.value=""}))}})}open(){this.element.click()}}class k extends o.Z{static get requires(){return[h]}static get pluginName(){return"Base64UploadAdapter"}init(){this.editor.plugins.get(h).createUploadAdapter=e=>new b(e)}}class b{constructor(e){this.loader=e}upload(){return new Promise(((e,t)=>{const s=this.reader=new window.FileReader;s.addEventListener("load",(()=>{e({default:s.result})})),s.addEventListener("error",(e=>{t(e)})),s.addEventListener("abort",(()=>{t()})),this.loader.file.then((e=>{s.readAsDataURL(e)}))}))}abort(){this.reader.abort()}}class _ extends o.Z{static get requires(){return[h]}static get pluginName(){return"SimpleUploadAdapter"}init(){const e=this.editor.config.get("simpleUpload");e&&(e.uploadUrl?this.editor.plugins.get(h).createUploadAdapter=t=>new w(t,e):(0,r.KE)("simple-upload-adapter-missing-uploadurl"))}}class w{constructor(e,t){this.loader=e,this.options=t}upload(){return this.loader.file.then((e=>new Promise(((t,s)=>{this._initRequest(),this._initListeners(t,s,e),this._sendRequest(e)}))))}abort(){this.xhr&&this.xhr.abort()}_initRequest(){const e=this.xhr=new XMLHttpRequest;e.open("POST",this.options.uploadUrl,!0),e.responseType="json"}_initListeners(e,t,s){const o=this.xhr,i=this.loader,r=`Couldn't upload file: ${s.name}.`;o.addEventListener("error",(()=>t(r))),o.addEventListener("abort",(()=>t())),o.addEventListener("load",(()=>{const s=o.response;if(!s||s.error)return t(s&&s.error&&s.error.message?s.error.message:r);const i=s.url?{default:s.url}:s.urls;e({...s,urls:i})})),o.upload&&o.upload.addEventListener("progress",(e=>{e.lengthComputable&&(i.uploadTotal=e.total,i.uploaded=e.loaded)}))}_sendRequest(e){const t=this.options.headers||{},s=this.options.withCredentials||!1;for(const e of Object.keys(t))this.xhr.setRequestHeader(e,t[e]);this.xhr.withCredentials=s;const o=new FormData;o.append("upload",e),this.xhr.send(o)}}},"./src/utils.js":(e,t,s)=>{"use strict";s.r(t),s.d(t,{CKEditorError:()=>o.Bb,Collection:()=>o.FE,DomEmitterMixin:()=>o.Xu,ElementReplacer:()=>o.a6,EmitterMixin:()=>o.ln,FocusTracker:()=>o.Rh,KeystrokeHandler:()=>o.VD,Locale:()=>o.go,ObservableMixin:()=>o.Re,Rect:()=>o.UL,ResizeObserver:()=>o.do,createElement:()=>o.az,diff:()=>o.Hg,env:()=>o.OB,first:()=>o.Ps,getCode:()=>o.Cq,getDataFromElement:()=>o.yy,getEnvKeystrokeText:()=>o.XU,getLanguageDirection:()=>o.j9,getLocalizedArrowKeyCodeDirection:()=>o.mA,global:()=>o.CO,isArrowKeyCode:()=>o.dj,isForwardArrowKeyCode:()=>o.Zt,isVisible:()=>o.pn,keyCodes:()=>o.Do,logError:()=>o.H,logWarning:()=>o.KE,mix:()=>o.CD,parseKeystroke:()=>o.Zz,priorities:()=>o.tA,scrollAncestorsToShowTarget:()=>o.F0,scrollViewportToShowTarget:()=>o.mR,setDataInElement:()=>o.jS,toArray:()=>o.qo,toMap:()=>o.qL,toUnit:()=>o.nn,uid:()=>o.hQ,version:()=>o.i8});var o=s("./packages/ckeditor5-utils/src/index.ts")},"./src/widget.js":(e,t,s)=>{"use strict";s.r(t),s.d(t,{WIDGET_CLASS_NAME:()=>c.s4,WIDGET_SELECTED_CLASS_NAME:()=>c.Uo,Widget:()=>o.Z,WidgetResize:()=>j,WidgetToolbarRepository:()=>d,WidgetTypeAround:()=>O.Z,findOptimalInsertionRange:()=>c.KT,getLabel:()=>c.id,isWidget:()=>c.Qd,setHighlightHandling:()=>c.em,setLabel:()=>c.l6,toWidget:()=>c.XC,toWidgetEditable:()=>c.sC,viewToModelPositionOutsideModelElement:()=>c.$n});var o=s("./packages/ckeditor5-widget/src/widget.js"),i=s("./packages/ckeditor5-core/src/plugin.js"),r=s("./packages/ckeditor5-ui/src/panel/balloon/contextualballoon.js"),n=s("./packages/ckeditor5-ui/src/toolbar/toolbarview.js"),a=s("./packages/ckeditor5-ui/src/panel/balloon/balloonpanelview.js"),c=s("./packages/ckeditor5-widget/src/utils.js"),l=s("./packages/ckeditor5-utils/src/ckeditorerror.ts");class d extends i.Z{static get requires(){return[r.Z]}static get pluginName(){return"WidgetToolbarRepository"}init(){const e=this.editor;if(e.plugins.has("BalloonToolbar")){const t=e.plugins.get("BalloonToolbar");this.listenTo(t,"show",(t=>{(function(e){const t=e.getSelectedElement();return!(!t||!(0,c.Qd)(t))})(e.editing.view.document.selection)&&t.stop()}),{priority:"high"})}this._toolbarDefinitions=new Map,this._balloon=this.editor.plugins.get("ContextualBalloon"),this.on("change:isEnabled",(()=>{this._updateToolbarsVisibility()})),this.listenTo(e.ui,"update",(()=>{this._updateToolbarsVisibility()})),this.listenTo(e.ui.focusTracker,"change:isFocused",(()=>{this._updateToolbarsVisibility()}),{priority:"low"})}destroy(){super.destroy();for(const e of this._toolbarDefinitions.values())e.view.destroy()}register(e,{ariaLabel:t,items:s,getRelatedElement:o,balloonClassName:i="ck-toolbar-container"}){if(!s.length)return void(0,l.KE)("widget-toolbar-no-items",{toolbarId:e});const r=this.editor,a=r.t,c=new n.Z(r.locale);if(c.ariaLabel=t||a("Widget toolbar"),this._toolbarDefinitions.has(e))throw new l.ZP("widget-toolbar-duplicated",this,{toolbarId:e});c.fillFromConfig(s,r.ui.componentFactory);const d={view:c,getRelatedElement:o,balloonClassName:i};r.ui.addToolbar(c,{isContextual:!0,beforeFocus:()=>{const e=o(r.editing.view.document.selection);e&&this._showToolbar(d,e)},afterBlur:()=>{this._hideToolbar(d)}}),this._toolbarDefinitions.set(e,d)}_updateToolbarsVisibility(){let e=0,t=null,s=null;for(const o of this._toolbarDefinitions.values()){const i=o.getRelatedElement(this.editor.editing.view.document.selection);if(this.isEnabled&&i)if(this.editor.ui.focusTracker.isFocused){const r=i.getAncestors().length;r>e&&(e=r,t=i,s=o)}else this._isToolbarVisible(o)&&this._hideToolbar(o);else this._isToolbarInBalloon(o)&&this._hideToolbar(o)}s&&this._showToolbar(s,t)}_hideToolbar(e){this._balloon.remove(e.view),this.stopListening(this._balloon,"change:visibleView")}_showToolbar(e,t){this._isToolbarVisible(e)?h(this.editor,t):this._isToolbarInBalloon(e)||(this._balloon.add({view:e.view,position:u(this.editor,t),balloonClassName:e.balloonClassName}),this.listenTo(this._balloon,"change:visibleView",(()=>{for(const e of this._toolbarDefinitions.values())if(this._isToolbarVisible(e)){const t=e.getRelatedElement(this.editor.editing.view.document.selection);h(this.editor,t)}})))}_isToolbarVisible(e){return this._balloon.visibleView===e.view}_isToolbarInBalloon(e){return this._balloon.hasView(e.view)}}function h(e,t){const s=e.plugins.get("ContextualBalloon"),o=u(e,t);s.updatePosition(o)}function u(e,t){const s=e.editing.view,o=a.Z.defaultPositions;return{target:s.domConverter.mapViewToDom(t),positions:[o.northArrowSouth,o.northArrowSouthWest,o.northArrowSouthEast,o.southArrowNorth,o.southArrowNorthWest,o.southArrowNorthEast,o.viewportStickyNorth]}}var p=s("./packages/ckeditor5-ui/src/template.js"),g=s("./packages/ckeditor5-utils/src/dom/rect.ts"),f=s("./packages/ckeditor5-utils/src/comparearrays.ts"),m=s("./packages/ckeditor5-utils/src/observablemixin.ts"),k=s("./packages/ckeditor5-utils/src/mix.ts");class b{constructor(e){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=e,this._referenceCoordinates=null}begin(e,t,s){const o=new g.Z(t);this.activeHandlePosition=function(e){const t=["top-left","top-right","bottom-right","bottom-left"];for(const s of t)if(e.classList.contains(_(s)))return s}(e),this._referenceCoordinates=function(e,t){const s=new g.Z(e),o=t.split("-"),i={x:"right"==o[1]?s.right:s.left,y:"bottom"==o[0]?s.bottom:s.top};return i.x+=e.ownerDocument.defaultView.scrollX,i.y+=e.ownerDocument.defaultView.scrollY,i}(t,function(e){const t=e.split("-"),s={top:"bottom",bottom:"top",left:"right",right:"left"};return`${s[t[0]]}-${s[t[1]]}`}(this.activeHandlePosition)),this.originalWidth=o.width,this.originalHeight=o.height,this.aspectRatio=o.width/o.height;const i=s.style.width;i&&i.match(/^\d+(\.\d*)?%$/)?this.originalWidthPercents=parseFloat(i):this.originalWidthPercents=function(e,t){const s=e.parentElement,o=parseFloat(s.ownerDocument.defaultView.getComputedStyle(s).width);return t.width/o*100}(s,o)}update(e){this.proposedWidth=e.width,this.proposedHeight=e.height,this.proposedWidthPercents=e.widthPercents,this.proposedHandleHostWidth=e.handleHostWidth,this.proposedHandleHostHeight=e.handleHostHeight}}function _(e){return`ck-widget__resizer__handle-${e}`}(0,k.Z)(b,m.Z);var w=s("./packages/ckeditor5-ui/src/view.js");class v extends w.Z{constructor(){super();const e=this.bindTemplate;this.setTemplate({tag:"div",attributes:{class:["ck","ck-size-view",e.to("_viewPosition",(e=>e?`ck-orientation-${e}`:""))],style:{display:e.if("_isVisible","none",(e=>!e))}},children:[{text:e.to("_label")}]})}_bindToState(e,t){this.bind("_isVisible").to(t,"proposedWidth",t,"proposedHeight",((e,t)=>null!==e&&null!==t)),this.bind("_label").to(t,"proposedHandleHostWidth",t,"proposedHandleHostHeight",t,"proposedWidthPercents",((t,s,o)=>"px"===e.unit?`${t}×${s}`:`${o}%`)),this.bind("_viewPosition").to(t,"activeHandlePosition",t,"proposedHandleHostWidth",t,"proposedHandleHostHeight",((e,t,s)=>t<50||s<50?"above-center":e))}_dismiss(){this.unbind(),this._isVisible=!1}}class y{constructor(e){this._options=e,this._viewResizerWrapper=null,this.set("isEnabled",!0),this.decorate("begin"),this.decorate("cancel"),this.decorate("commit"),this.decorate("updateSize"),this.on("commit",(e=>{this.state.proposedWidth||this.state.proposedWidthPercents||(this._cleanup(),e.stop())}),{priority:"high"}),this.on("change:isEnabled",(()=>{this.isEnabled&&this.redraw()}))}attach(){const e=this,t=this._options.viewElement;this._options.editor.editing.view.change((s=>{const o=s.createUIElement("div",{class:"ck ck-reset_all ck-widget__resizer"},(function(t){const s=this.toDomElement(t);return e._appendHandles(s),e._appendSizeUI(s),e.on("change:isEnabled",((e,t,o)=>{s.style.display=o?"":"none"})),s.style.display=e.isEnabled?"":"none",s}));s.insert(s.createPositionAt(t,"end"),o),s.addClass("ck-widget_with-resizer",t),this._viewResizerWrapper=o}))}begin(e){this.state=new b(this._options),this._sizeView._bindToState(this._options,this.state),this._initialViewWidth=this._options.viewElement.getStyle("width"),this.state.begin(e,this._getHandleHost(),this._getResizeHost())}updateSize(e){const t=this._proposeNewSize(e);this._options.editor.editing.view.change((e=>{const s=this._options.unit||"%",o=("%"===s?t.widthPercents:t.width)+s;e.setStyle("width",o,this._options.viewElement)}));const s=this._getHandleHost(),o=new g.Z(s);t.handleHostWidth=Math.round(o.width),t.handleHostHeight=Math.round(o.height);const i=new g.Z(s);t.width=Math.round(i.width),t.height=Math.round(i.height),this.redraw(o),this.state.update(t)}commit(){const e=this._options.unit||"%",t=("%"===e?this.state.proposedWidthPercents:this.state.proposedWidth)+e;this._options.editor.editing.view.change((()=>{this._cleanup(),this._options.onCommit(t)}))}cancel(){this._cleanup()}destroy(){this.cancel()}redraw(e){const t=this._domResizerWrapper;if(!((s=t)&&s.ownerDocument&&s.ownerDocument.contains(s)))return;var s;const o=t.parentElement,i=this._getHandleHost(),r=this._viewResizerWrapper,n=[r.getStyle("width"),r.getStyle("height"),r.getStyle("left"),r.getStyle("top")];let a;if(o.isSameNode(i)){const t=e||new g.Z(i);a=[t.width+"px",t.height+"px",void 0,void 0]}else a=[i.offsetWidth+"px",i.offsetHeight+"px",i.offsetLeft+"px",i.offsetTop+"px"];"same"!==(0,f.Z)(n,a)&&this._options.editor.editing.view.change((e=>{e.setStyle({width:a[0],height:a[1],left:a[2],top:a[3]},r)}))}containsHandle(e){return this._domResizerWrapper.contains(e)}static isResizeHandle(e){return e.classList.contains("ck-widget__resizer__handle")}_cleanup(){this._sizeView._dismiss();this._options.editor.editing.view.change((e=>{e.setStyle("width",this._initialViewWidth,this._options.viewElement)}))}_proposeNewSize(e){const t=this.state,s={x:(o=e).pageX,y:o.pageY};var o;const i=!this._options.isCentered||this._options.isCentered(this),r={x:t._referenceCoordinates.x-(s.x+t.originalWidth),y:s.y-t.originalHeight-t._referenceCoordinates.y};i&&t.activeHandlePosition.endsWith("-right")&&(r.x=s.x-(t._referenceCoordinates.x+t.originalWidth)),i&&(r.x*=2);const n={width:Math.abs(t.originalWidth+r.x),height:Math.abs(t.originalHeight+r.y)};n.dominant=n.width/t.aspectRatio>n.height?"width":"height",n.max=n[n.dominant];const a={width:n.width,height:n.height};return"width"==n.dominant?a.height=a.width/t.aspectRatio:a.width=a.height*t.aspectRatio,{width:Math.round(a.width),height:Math.round(a.height),widthPercents:Math.min(Math.round(t.originalWidthPercents/t.originalWidth*a.width*100)/100,100)}}_getResizeHost(){const e=this._domResizerWrapper.parentElement;return this._options.getResizeHost(e)}_getHandleHost(){const e=this._domResizerWrapper.parentElement;return this._options.getHandleHost(e)}get _domResizerWrapper(){return this._options.editor.editing.view.domConverter.mapViewToDom(this._viewResizerWrapper)}_appendHandles(e){const t=["top-left","top-right","bottom-right","bottom-left"];for(const o of t)e.appendChild(new p.ZP({tag:"div",attributes:{class:"ck-widget__resizer__handle "+(s=o,`ck-widget__resizer__handle-${s}`)}}).render());var s}_appendSizeUI(e){this._sizeView=new v,this._sizeView.render(),e.appendChild(this._sizeView.element)}}(0,k.Z)(y,m.Z);var Z=s("./packages/ckeditor5-utils/src/dom/emittermixin.ts"),P=s("./packages/ckeditor5-utils/src/dom/global.ts"),x=s("./packages/ckeditor5-engine/src/view/observer/mouseobserver.ts"),T=s("./node_modules/lodash-es/throttle.js"),A=s("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),C=s.n(A),E=s("./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./packages/ckeditor5-widget/theme/widgetresize.css"),S={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};C()(E.Z,S);E.Z.locals;class j extends i.Z{static get pluginName(){return"WidgetResize"}init(){const e=this.editor.editing,t=P.Z.window.document;this.set("visibleResizer",null),this.set("_activeResizer",null),this._resizers=new Map,e.view.addObserver(x.Z),this._observer=Object.create(Z.Z),this.listenTo(e.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 s=()=>{this.visibleResizer&&this.visibleResizer.redraw()};this._redrawFocusedResizerThrottled=(0,T.Z)(s,200),this.on("change:visibleResizer",s),this.editor.ui.on("update",this._redrawFocusedResizerThrottled),this.editor.model.document.on("change",(()=>{for(const[e,t]of this._resizers)e.isAttached()||(this._resizers.delete(e),t.destroy())}),{priority:"lowest"}),this._observer.listenTo(P.Z.window,"resize",this._redrawFocusedResizerThrottled);const o=this.editor.editing.view.document.selection;o.on("change",(()=>{const e=o.getSelectedElement();this.visibleResizer=this.getResizerByViewElement(e)||null}))}destroy(){this._observer.stopListening();for(const e of this._resizers.values())e.destroy();this._redrawFocusedResizerThrottled.cancel()}attachTo(e){const t=new y(e),s=this.editor.plugins;if(t.attach(),s.has("WidgetToolbarRepository")){const e=s.get("WidgetToolbarRepository");t.on("begin",(()=>{e.forceDisabled("resize")}),{priority:"lowest"}),t.on("cancel",(()=>{e.clearForceDisabled("resize")}),{priority:"highest"}),t.on("commit",(()=>{e.clearForceDisabled("resize")}),{priority:"highest"})}this._resizers.set(e.viewElement,t);const o=this.editor.editing.view.document.selection.getSelectedElement();return this.getResizerByViewElement(o)==t&&(this.visibleResizer=t),t}getResizerByViewElement(e){return this._resizers.get(e)}_getResizerByHandle(e){for(const t of this._resizers.values())if(t.containsHandle(e))return t}_mouseDownListener(e,t){const s=t.domTarget;y.isResizeHandle(s)&&(this._activeResizer=this._getResizerByHandle(s),this._activeResizer&&(this._activeResizer.begin(s),e.stop(),t.preventDefault()))}_mouseMoveListener(e,t){this._activeResizer&&this._activeResizer.updateSize(t)}_mouseUpListener(){this._activeResizer&&(this._activeResizer.commit(),this._activeResizer=null)}}(0,k.Z)(j,m.Z);var O=s("./packages/ckeditor5-widget/src/widgettypearound/widgettypearound.js")},"?7cdd":(e,t,s)=>{e.exports=s},"./node_modules/lodash-es/_ListCache.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>u});const o=function(){this.__data__=[],this.size=0};var i=s("./node_modules/lodash-es/eq.js");const r=function(e,t){for(var s=e.length;s--;)if((0,i.Z)(e[s][0],t))return s;return-1};var n=Array.prototype.splice;const a=function(e){var t=this.__data__,s=r(t,e);return!(s<0)&&(s==t.length-1?t.pop():n.call(t,s,1),--this.size,!0)};const c=function(e){var t=this.__data__,s=r(t,e);return s<0?void 0:t[s][1]};const l=function(e){return r(this.__data__,e)>-1};const d=function(e,t){var s=this.__data__,o=r(s,e);return o<0?(++this.size,s.push([e,t])):s[o][1]=t,this};function h(e){var t=-1,s=null==e?0:e.length;for(this.clear();++t{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/lodash-es/_getNative.js"),i=s("./node_modules/lodash-es/_root.js");const r=(0,o.Z)(i.Z,"Map")},"./node_modules/lodash-es/_MapCache.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>Z});const o=(0,s("./node_modules/lodash-es/_getNative.js").Z)(Object,"create");const i=function(){this.__data__=o?o(null):{},this.size=0};const r=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t};var n=Object.prototype.hasOwnProperty;const a=function(e){var t=this.__data__;if(o){var s=t[e];return"__lodash_hash_undefined__"===s?void 0:s}return n.call(t,e)?t[e]:void 0};var c=Object.prototype.hasOwnProperty;const l=function(e){var t=this.__data__;return o?void 0!==t[e]:c.call(t,e)};const d=function(e,t){var s=this.__data__;return this.size+=this.has(e)?0:1,s[e]=o&&void 0===t?"__lodash_hash_undefined__":t,this};function h(e){var t=-1,s=null==e?0:e.length;for(this.clear();++t{"use strict";s.d(t,{Z:()=>u});var o=s("./node_modules/lodash-es/_ListCache.js");const i=function(){this.__data__=new o.Z,this.size=0};const r=function(e){var t=this.__data__,s=t.delete(e);return this.size=t.size,s};const n=function(e){return this.__data__.get(e)};const a=function(e){return this.__data__.has(e)};var c=s("./node_modules/lodash-es/_Map.js"),l=s("./node_modules/lodash-es/_MapCache.js");const d=function(e,t){var s=this.__data__;if(s instanceof o.Z){var i=s.__data__;if(!c.Z||i.length<199)return i.push([e,t]),this.size=++s.size,this;s=this.__data__=new l.Z(i)}return s.set(e,t),this.size=s.size,this};function h(e){var t=this.__data__=new o.Z(e);this.size=t.size}h.prototype.clear=i,h.prototype.delete=r,h.prototype.get=n,h.prototype.has=a,h.prototype.set=d;const u=h},"./node_modules/lodash-es/_Symbol.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>o});const o=s("./node_modules/lodash-es/_root.js").Z.Symbol},"./node_modules/lodash-es/_Uint8Array.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>o});const o=s("./node_modules/lodash-es/_root.js").Z.Uint8Array},"./node_modules/lodash-es/_arrayLikeKeys.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>d});const o=function(e,t){for(var s=-1,o=Array(e);++s{"use strict";s.d(t,{Z:()=>o});const o=function(e,t){for(var s=-1,o=t.length,i=e.length;++s{"use strict";s.d(t,{Z:()=>n});var o=s("./node_modules/lodash-es/_baseAssignValue.js"),i=s("./node_modules/lodash-es/eq.js"),r=Object.prototype.hasOwnProperty;const n=function(e,t,s){var n=e[t];r.call(e,t)&&(0,i.Z)(n,s)&&(void 0!==s||t in e)||(0,o.Z)(e,t,s)}},"./node_modules/lodash-es/_baseAssignValue.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});var o=s("./node_modules/lodash-es/_defineProperty.js");const i=function(e,t,s){"__proto__"==t&&o.Z?(0,o.Z)(e,t,{configurable:!0,enumerable:!0,value:s,writable:!0}):e[t]=s}},"./node_modules/lodash-es/_baseClone.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>Y});var o=s("./node_modules/lodash-es/_Stack.js");const i=function(e,t){for(var s=-1,o=null==e?0:e.length;++s{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/lodash-es/_arrayPush.js"),i=s("./node_modules/lodash-es/isArray.js");const r=function(e,t,s){var r=t(e);return(0,i.Z)(e)?r:(0,o.Z)(r,s(e))}},"./node_modules/lodash-es/_baseGetTag.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>u});var o=s("./node_modules/lodash-es/_Symbol.js"),i=Object.prototype,r=i.hasOwnProperty,n=i.toString,a=o.Z?o.Z.toStringTag:void 0;const c=function(e){var t=r.call(e,a),s=e[a];try{e[a]=void 0;var o=!0}catch(e){}var i=n.call(e);return o&&(t?e[a]=s:delete e[a]),i};var l=Object.prototype.toString;const d=function(e){return l.call(e)};var h=o.Z?o.Z.toStringTag:void 0;const u=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":h&&h in Object(e)?c(e):d(e)}},"./node_modules/lodash-es/_baseIsEqual.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>R});var o=s("./node_modules/lodash-es/_Stack.js"),i=s("./node_modules/lodash-es/_MapCache.js");const r=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this};const n=function(e){return this.__data__.has(e)};function a(e){var t=-1,s=null==e?0:e.length;for(this.__data__=new i.Z;++ta))return!1;var u=r.get(e),p=r.get(t);if(u&&p)return u==t&&p==e;var g=-1,f=!0,m=2&s?new c:void 0;for(r.set(e,t),r.set(t,e);++g{"use strict";s.d(t,{Z:()=>o});const o=function(e){return function(t){return e(t)}}},"./node_modules/lodash-es/_cloneArrayBuffer.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});var o=s("./node_modules/lodash-es/_Uint8Array.js");const i=function(e){var t=new e.constructor(e.byteLength);return new o.Z(t).set(new o.Z(e)),t}},"./node_modules/lodash-es/_cloneBuffer.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>c});var o=s("./node_modules/lodash-es/_root.js"),i="object"==typeof exports&&exports&&!exports.nodeType&&exports,r=i&&"object"==typeof module&&module&&!module.nodeType&&module,n=r&&r.exports===i?o.Z.Buffer:void 0,a=n?n.allocUnsafe:void 0;const c=function(e,t){if(t)return e.slice();var s=e.length,o=a?a(s):new e.constructor(s);return e.copy(o),o}},"./node_modules/lodash-es/_cloneTypedArray.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});var o=s("./node_modules/lodash-es/_cloneArrayBuffer.js");const i=function(e,t){var s=t?(0,o.Z)(e.buffer):e.buffer;return new e.constructor(s,e.byteOffset,e.length)}},"./node_modules/lodash-es/_copyArray.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>o});const o=function(e,t){var s=-1,o=e.length;for(t||(t=Array(o));++s{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/lodash-es/_assignValue.js"),i=s("./node_modules/lodash-es/_baseAssignValue.js");const r=function(e,t,s,r){var n=!s;s||(s={});for(var a=-1,c=t.length;++a{"use strict";s.d(t,{Z:()=>b});const o=function(e){return e};const i=function(e,t,s){switch(s.length){case 0:return e.call(t);case 1:return e.call(t,s[0]);case 2:return e.call(t,s[0],s[1]);case 3:return e.call(t,s[0],s[1],s[2])}return e.apply(t,s)};var r=Math.max;const n=function(e,t,s){return t=r(void 0===t?e.length-1:t,0),function(){for(var o=arguments,n=-1,a=r(o.length-t,0),c=Array(a);++n0){if(++t>=800)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}(l);const u=function(e,t){return h(n(e,t,o),e+"")};var p=s("./node_modules/lodash-es/eq.js"),g=s("./node_modules/lodash-es/isArrayLike.js"),f=s("./node_modules/lodash-es/_isIndex.js"),m=s("./node_modules/lodash-es/isObject.js");const k=function(e,t,s){if(!(0,m.Z)(s))return!1;var o=typeof t;return!!("number"==o?(0,g.Z)(s)&&(0,f.Z)(t,s.length):"string"==o&&t in s)&&(0,p.Z)(s[t],e)};const b=function(e){return u((function(t,s){var o=-1,i=s.length,r=i>1?s[i-1]:void 0,n=i>2?s[2]:void 0;for(r=e.length>3&&"function"==typeof r?(i--,r):void 0,n&&k(s[0],s[1],n)&&(r=i<3?void 0:r,i=1),t=Object(t);++o{"use strict";s.d(t,{Z:()=>i});var o=s("./node_modules/lodash-es/_getNative.js");const i=function(){try{var e=(0,o.Z)(Object,"defineProperty");return e({},"",{}),e}catch(e){}}()},"./node_modules/lodash-es/_freeGlobal.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>o});const o="object"==typeof global&&global&&global.Object===Object&&global},"./node_modules/lodash-es/_getAllKeys.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>n});var o=s("./node_modules/lodash-es/_baseGetAllKeys.js"),i=s("./node_modules/lodash-es/_getSymbols.js"),r=s("./node_modules/lodash-es/keys.js");const n=function(e){return(0,o.Z)(e,r.Z,i.Z)}},"./node_modules/lodash-es/_getNative.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>b});var o=s("./node_modules/lodash-es/isFunction.js");const i=s("./node_modules/lodash-es/_root.js").Z["__core-js_shared__"];var r,n=(r=/[^.]+$/.exec(i&&i.keys&&i.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"";const a=function(e){return!!n&&n in e};var c=s("./node_modules/lodash-es/isObject.js"),l=s("./node_modules/lodash-es/_toSource.js"),d=/^\[object .+?Constructor\]$/,h=Function.prototype,u=Object.prototype,p=h.toString,g=u.hasOwnProperty,f=RegExp("^"+p.call(g).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");const m=function(e){return!(!(0,c.Z)(e)||a(e))&&((0,o.Z)(e)?f:d).test((0,l.Z)(e))};const k=function(e,t){return null==e?void 0:e[t]};const b=function(e,t){var s=k(e,t);return m(s)?s:void 0}},"./node_modules/lodash-es/_getPrototype.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>o});const o=(0,s("./node_modules/lodash-es/_overArg.js").Z)(Object.getPrototypeOf,Object)},"./node_modules/lodash-es/_getSymbols.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});const o=function(e,t){for(var s=-1,o=null==e?0:e.length,i=0,r=[];++s{"use strict";s.d(t,{Z:()=>Z});var o=s("./node_modules/lodash-es/_getNative.js"),i=s("./node_modules/lodash-es/_root.js");const r=(0,o.Z)(i.Z,"DataView");var n=s("./node_modules/lodash-es/_Map.js");const a=(0,o.Z)(i.Z,"Promise");const c=(0,o.Z)(i.Z,"Set");const l=(0,o.Z)(i.Z,"WeakMap");var d=s("./node_modules/lodash-es/_baseGetTag.js"),h=s("./node_modules/lodash-es/_toSource.js"),u="[object Map]",p="[object Promise]",g="[object Set]",f="[object WeakMap]",m="[object DataView]",k=(0,h.Z)(r),b=(0,h.Z)(n.Z),_=(0,h.Z)(a),w=(0,h.Z)(c),v=(0,h.Z)(l),y=d.Z;(r&&y(new r(new ArrayBuffer(1)))!=m||n.Z&&y(new n.Z)!=u||a&&y(a.resolve())!=p||c&&y(new c)!=g||l&&y(new l)!=f)&&(y=function(e){var t=(0,d.Z)(e),s="[object Object]"==t?e.constructor:void 0,o=s?(0,h.Z)(s):"";if(o)switch(o){case k:return m;case b:return u;case _:return p;case w:return g;case v:return f}return t});const Z=y},"./node_modules/lodash-es/_initCloneObject.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>c});var o=s("./node_modules/lodash-es/isObject.js"),i=Object.create;const r=function(){function e(){}return function(t){if(!(0,o.Z)(t))return{};if(i)return i(t);e.prototype=t;var s=new e;return e.prototype=void 0,s}}();var n=s("./node_modules/lodash-es/_getPrototype.js"),a=s("./node_modules/lodash-es/_isPrototype.js");const c=function(e){return"function"!=typeof e.constructor||(0,a.Z)(e)?{}:r((0,n.Z)(e))}},"./node_modules/lodash-es/_isIndex.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});var o=/^(?:0|[1-9]\d*)$/;const i=function(e,t){var s=typeof e;return!!(t=null==t?9007199254740991:t)&&("number"==s||"symbol"!=s&&o.test(e))&&e>-1&&e%1==0&&e{"use strict";s.d(t,{Z:()=>i});var o=Object.prototype;const i=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||o)}},"./node_modules/lodash-es/_nodeUtil.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});var o=s("./node_modules/lodash-es/_freeGlobal.js"),i="object"==typeof exports&&exports&&!exports.nodeType&&exports,r=i&&"object"==typeof module&&module&&!module.nodeType&&module,n=r&&r.exports===i&&o.Z.process;const a=function(){try{var e=r&&r.require&&r.require("util").types;return e||n&&n.binding&&n.binding("util")}catch(e){}}()},"./node_modules/lodash-es/_overArg.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>o});const o=function(e,t){return function(s){return e(t(s))}}},"./node_modules/lodash-es/_root.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/lodash-es/_freeGlobal.js"),i="object"==typeof self&&self&&self.Object===Object&&self;const r=o.Z||i||Function("return this")()},"./node_modules/lodash-es/_toSource.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});var o=Function.prototype.toString;const i=function(e){if(null!=e){try{return o.call(e)}catch(e){}try{return e+""}catch(e){}}return""}},"./node_modules/lodash-es/assignIn.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>n});var o=s("./node_modules/lodash-es/_copyObject.js"),i=s("./node_modules/lodash-es/_createAssigner.js"),r=s("./node_modules/lodash-es/keysIn.js");const n=(0,i.Z)((function(e,t){(0,o.Z)(t,(0,r.Z)(t),e)}))},"./node_modules/lodash-es/clone.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});var o=s("./node_modules/lodash-es/_baseClone.js");const i=function(e){return(0,o.Z)(e,4)}},"./node_modules/lodash-es/cloneDeep.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});var o=s("./node_modules/lodash-es/_baseClone.js");const i=function(e){return(0,o.Z)(e,5)}},"./node_modules/lodash-es/cloneDeepWith.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});var o=s("./node_modules/lodash-es/_baseClone.js");const i=function(e,t){return t="function"==typeof t?t:void 0,(0,o.Z)(e,5,t)}},"./node_modules/lodash-es/debounce.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>b});var o=s("./node_modules/lodash-es/isObject.js"),i=s("./node_modules/lodash-es/_root.js");const r=function(){return i.Z.Date.now()};var n=/\s/;const a=function(e){for(var t=e.length;t--&&n.test(e.charAt(t)););return t};var c=/^\s+/;const l=function(e){return e?e.slice(0,a(e)+1).replace(c,""):e};var d=s("./node_modules/lodash-es/isSymbol.js"),h=/^[-+]0x[0-9a-f]+$/i,u=/^0b[01]+$/i,p=/^0o[0-7]+$/i,g=parseInt;const f=function(e){if("number"==typeof e)return e;if((0,d.Z)(e))return NaN;if((0,o.Z)(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=(0,o.Z)(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=l(e);var s=u.test(e);return s||p.test(e)?g(e.slice(2),s?2:8):h.test(e)?NaN:+e};var m=Math.max,k=Math.min;const b=function(e,t,s){var i,n,a,c,l,d,h=0,u=!1,p=!1,g=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function b(t){var s=i,o=n;return i=n=void 0,h=t,c=e.apply(o,s)}function _(e){return h=e,l=setTimeout(v,t),u?b(e):c}function w(e){var s=e-d;return void 0===d||s>=t||s<0||p&&e-h>=a}function v(){var e=r();if(w(e))return y(e);l=setTimeout(v,function(e){var s=t-(e-d);return p?k(s,a-(e-h)):s}(e))}function y(e){return l=void 0,g&&i?b(e):(i=n=void 0,c)}function Z(){var e=r(),s=w(e);if(i=arguments,n=this,d=e,s){if(void 0===l)return _(d);if(p)return clearTimeout(l),l=setTimeout(v,t),b(d)}return void 0===l&&(l=setTimeout(v,t)),c}return t=f(t)||0,(0,o.Z)(s)&&(u=!!s.leading,a=(p="maxWait"in s)?m(f(s.maxWait)||0,t):a,g="trailing"in s?!!s.trailing:g),Z.cancel=function(){void 0!==l&&clearTimeout(l),h=0,i=d=n=l=void 0},Z.flush=function(){return void 0===l?c:y(r())},Z}},"./node_modules/lodash-es/eq.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>o});const o=function(e,t){return e===t||e!=e&&t!=t}},"./node_modules/lodash-es/isArguments.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>l});var o=s("./node_modules/lodash-es/_baseGetTag.js"),i=s("./node_modules/lodash-es/isObjectLike.js");const r=function(e){return(0,i.Z)(e)&&"[object Arguments]"==(0,o.Z)(e)};var n=Object.prototype,a=n.hasOwnProperty,c=n.propertyIsEnumerable;const l=r(function(){return arguments}())?r:function(e){return(0,i.Z)(e)&&a.call(e,"callee")&&!c.call(e,"callee")}},"./node_modules/lodash-es/isArray.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>o});const o=Array.isArray},"./node_modules/lodash-es/isArrayLike.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/lodash-es/isFunction.js"),i=s("./node_modules/lodash-es/isLength.js");const r=function(e){return null!=e&&(0,i.Z)(e.length)&&!(0,o.Z)(e)}},"./node_modules/lodash-es/isBuffer.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>c});var o=s("./node_modules/lodash-es/_root.js");const i=function(){return!1};var r="object"==typeof exports&&exports&&!exports.nodeType&&exports,n=r&&"object"==typeof module&&module&&!module.nodeType&&module,a=n&&n.exports===r?o.Z.Buffer:void 0;const c=(a?a.isBuffer:void 0)||i},"./node_modules/lodash-es/isElement.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/lodash-es/isObjectLike.js"),i=s("./node_modules/lodash-es/isPlainObject.js");const r=function(e){return(0,o.Z)(e)&&1===e.nodeType&&!(0,i.Z)(e)}},"./node_modules/lodash-es/isFunction.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/lodash-es/_baseGetTag.js"),i=s("./node_modules/lodash-es/isObject.js");const r=function(e){if(!(0,i.Z)(e))return!1;var t=(0,o.Z)(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}},"./node_modules/lodash-es/isLength.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>o});const o=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}},"./node_modules/lodash-es/isObject.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>o});const o=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},"./node_modules/lodash-es/isObjectLike.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>o});const o=function(e){return null!=e&&"object"==typeof e}},"./node_modules/lodash-es/isPlainObject.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>h});var o=s("./node_modules/lodash-es/_baseGetTag.js"),i=s("./node_modules/lodash-es/_getPrototype.js"),r=s("./node_modules/lodash-es/isObjectLike.js"),n=Function.prototype,a=Object.prototype,c=n.toString,l=a.hasOwnProperty,d=c.call(Object);const h=function(e){if(!(0,r.Z)(e)||"[object Object]"!=(0,o.Z)(e))return!1;var t=(0,i.Z)(e);if(null===t)return!0;var s=l.call(t,"constructor")&&t.constructor;return"function"==typeof s&&s instanceof s&&c.call(s)==d}},"./node_modules/lodash-es/isSymbol.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/lodash-es/_baseGetTag.js"),i=s("./node_modules/lodash-es/isObjectLike.js");const r=function(e){return"symbol"==typeof e||(0,i.Z)(e)&&"[object Symbol]"==(0,o.Z)(e)}},"./node_modules/lodash-es/isTypedArray.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>h});var o=s("./node_modules/lodash-es/_baseGetTag.js"),i=s("./node_modules/lodash-es/isLength.js"),r=s("./node_modules/lodash-es/isObjectLike.js"),n={};n["[object Float32Array]"]=n["[object Float64Array]"]=n["[object Int8Array]"]=n["[object Int16Array]"]=n["[object Int32Array]"]=n["[object Uint8Array]"]=n["[object Uint8ClampedArray]"]=n["[object Uint16Array]"]=n["[object Uint32Array]"]=!0,n["[object Arguments]"]=n["[object Array]"]=n["[object ArrayBuffer]"]=n["[object Boolean]"]=n["[object DataView]"]=n["[object Date]"]=n["[object Error]"]=n["[object Function]"]=n["[object Map]"]=n["[object Number]"]=n["[object Object]"]=n["[object RegExp]"]=n["[object Set]"]=n["[object String]"]=n["[object WeakMap]"]=!1;const a=function(e){return(0,r.Z)(e)&&(0,i.Z)(e.length)&&!!n[(0,o.Z)(e)]};var c=s("./node_modules/lodash-es/_baseUnary.js"),l=s("./node_modules/lodash-es/_nodeUtil.js"),d=l.Z&&l.Z.isTypedArray;const h=d?(0,c.Z)(d):a},"./node_modules/lodash-es/keys.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>l});var o=s("./node_modules/lodash-es/_arrayLikeKeys.js"),i=s("./node_modules/lodash-es/_isPrototype.js");const r=(0,s("./node_modules/lodash-es/_overArg.js").Z)(Object.keys,Object);var n=Object.prototype.hasOwnProperty;const a=function(e){if(!(0,i.Z)(e))return r(e);var t=[];for(var s in Object(e))n.call(e,s)&&"constructor"!=s&&t.push(s);return t};var c=s("./node_modules/lodash-es/isArrayLike.js");const l=function(e){return(0,c.Z)(e)?(0,o.Z)(e):a(e)}},"./node_modules/lodash-es/keysIn.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>d});var o=s("./node_modules/lodash-es/_arrayLikeKeys.js"),i=s("./node_modules/lodash-es/isObject.js"),r=s("./node_modules/lodash-es/_isPrototype.js");const n=function(e){var t=[];if(null!=e)for(var s in Object(e))t.push(s);return t};var a=Object.prototype.hasOwnProperty;const c=function(e){if(!(0,i.Z)(e))return n(e);var t=(0,r.Z)(e),s=[];for(var o in e)("constructor"!=o||!t&&a.call(e,o))&&s.push(o);return s};var l=s("./node_modules/lodash-es/isArrayLike.js");const d=function(e){return(0,l.Z)(e)?(0,o.Z)(e,!0):c(e)}},"./node_modules/lodash-es/stubArray.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>o});const o=function(){return[]}},"./node_modules/lodash-es/throttle.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var o=s("./node_modules/lodash-es/debounce.js"),i=s("./node_modules/lodash-es/isObject.js");const r=function(e,t,s){var r=!0,n=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return(0,i.Z)(s)&&(r="leading"in s?!!s.leading:r,n="trailing"in s?!!s.trailing:n),(0,o.Z)(e,t,{leading:r,maxWait:t,trailing:n})}},"./node_modules/lodash-es/toString.js":(e,t,s)=>{"use strict";s.d(t,{Z:()=>d});var o=s("./node_modules/lodash-es/_Symbol.js");const i=function(e,t){for(var s=-1,o=null==e?0:e.length,i=Array(o);++s{var t=e&&e.__esModule?()=>e.default:()=>e;return s.d(t,{a:t}),t},s.d=(e,t)=>{for(var o in t)s.o(t,o)&&!s.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},s.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),s.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),s.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},s.nc=void 0;var o=s("?7cdd");(window.CKEditor5=window.CKEditor5||{}).dll=o})(),function(e){e.CKEditor5=e.CKEditor5||{};const t=["utils","core","engine","ui","clipboard","enter","paragraph","select-all","typing","undo","upload","widget"];for(const s of t){const t=s.replace(/-([a-z])/g,((e,t)=>t.toUpperCase()));e.CKEditor5[t]=e.CKEditor5.dll(`./src/${s}.js`)}}(window); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/af.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/af.js index d278f28fd..e5ba37c55 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/af.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/af.js @@ -1 +1 @@ -!function(e){const o=e.af=e.af||{};o.dictionary=Object.assign(o.dictionary||{},{"%0 of %1":"%0 van %1",Cancel:"Kanselleer","Cannot upload file:":"Lêer nie opgelaai nie:","Remove color":"Verwyder kleur","Restore default":"Herstel verstek",Save:"Stoor","Show more items":"Wys meer items"}),o.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const o=e.af=e.af||{};o.dictionary=Object.assign(o.dictionary||{},{"%0 of %1":"%0 van %1",Cancel:"Kanselleer","Cannot upload file:":"Lêer nie opgelaai nie:","Remove color":"Verwyder kleur","Restore default":"Herstel verstek","Rich Text Editor. Editing area: %0":"",Save:"Stoor","Show more items":"Wys meer items"}),o.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ar.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ar.js index a8d3233f3..6593d30ed 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ar.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ar.js @@ -1 +1 @@ -!function(e){const o=e.ar=e.ar||{};o.dictionary=Object.assign(o.dictionary||{},{"%0 of %1":"",Aquamarine:"",Black:"",Blue:"",Cancel:"إلغاء","Cannot upload file:":"لا يمكن رفع الملف:","Dim grey":"","Dropdown toolbar":"","Edit block":"","Editor toolbar":"",Green:"",Grey:"","Light blue":"","Light green":"","Light grey":"",Next:"",Orange:"",Previous:"",Purple:"",Red:"",Redo:"إعادة","Remove color":"","Restore default":"","Rich Text Editor":"معالج نصوص","Rich Text Editor, %0":"معالج نصوص، %0",Save:"حفظ","Show more items":"",Turquoise:"",Undo:"تراجع","Upload in progress":"جاري الرفع",White:"",Yellow:""}),o.getPluralForm=function(e){return 0==e?0:1==e?1:2==e?2:e%100>=3&&e%100<=10?3:e%100>=11&&e%100<=99?4:5}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(o){const e=o.ar=o.ar||{};e.dictionary=Object.assign(e.dictionary||{},{"%0 of %1":"%0 من %1",Aquamarine:"أخضر زبرجد",Black:"أسود",Blue:"أزرق",Cancel:"إلغاء","Cannot upload file:":"لا يمكن رفع الملف:","Dim grey":"رمادي خافت","Dropdown toolbar":"شريط أدوات القائمة المنسدلة","Edit block":"كتلة التحرير","Editor block content toolbar":"","Editor contextual toolbar":"","Editor editing area: %0":"منطقة تحرير المحرر: %0","Editor toolbar":"شريط أدوات المحرر",Green:"أخضر",Grey:"رمادي","Insert paragraph after block":"إدراج فقرة بعد الكتلة","Insert paragraph before block":"إدراج فقرة قبل الكتلة","Light blue":"أزرق فاتح","Light green":"أخضر فاتح","Light grey":"رمادي فاتح",Next:"التالي",Orange:"برتقالي",Previous:"السابق",Purple:"أرجواني",Red:"أحمر",Redo:"إعادة","Remove color":"إزالة اللون","Restore default":"استعادة الافتراضي","Rich Text Editor":"معالج نصوص","Rich Text Editor. Editing area: %0":"محرر النصوص المنسّقة. منطقة التحرير: %0",Save:"حفظ","Select all":"تحديد الكل","Show more items":"عرض المزيد من العناصر",Turquoise:"فيروزي",Undo:"تراجع","Upload in progress":"جاري الرفع",White:"أبيض","Widget toolbar":"شريط أدوات الواجهة",Yellow:"أصفر"}),e.getPluralForm=function(o){return 0==o?0:1==o?1:2==o?2:o%100>=3&&o%100<=10?3:o%100>=11&&o%100<=99?4:5}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ast.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ast.js index 23d4ed333..5ad481f67 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ast.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ast.js @@ -1 +1 @@ -!function(e){const r=e.ast=e.ast||{};r.dictionary=Object.assign(r.dictionary||{},{"%0 of %1":"",Aquamarine:"",Black:"",Blue:"",Cancel:"Encaboxar","Cannot upload file:":"","Dim grey":"","Dropdown toolbar":"","Edit block":"","Editor toolbar":"",Green:"",Grey:"","Light blue":"","Light green":"","Light grey":"",Next:"",Orange:"",Previous:"",Purple:"",Red:"",Redo:"Refacer","Remove color":"","Restore default":"","Rich Text Editor":"Editor de testu arriquecíu","Rich Text Editor, %0":"Editor de testu arriquecíu, %0",Save:"Guardar","Show more items":"",Turquoise:"",Undo:"Desfacer",White:"",Yellow:""}),r.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const o=e.ast=e.ast||{};o.dictionary=Object.assign(o.dictionary||{},{"%0 of %1":"",Aquamarine:"",Black:"",Blue:"",Cancel:"Encaboxar","Cannot upload file:":"","Dim grey":"","Dropdown toolbar":"","Edit block":"","Editor block content toolbar":"","Editor contextual toolbar":"","Editor editing area: %0":"","Editor toolbar":"",Green:"",Grey:"","Light blue":"","Light green":"","Light grey":"",Next:"",Orange:"",Previous:"",Purple:"",Red:"",Redo:"Refacer","Remove color":"","Restore default":"","Rich Text Editor":"Editor de testu arriquecíu","Rich Text Editor. Editing area: %0":"",Save:"Guardar","Show more items":"",Turquoise:"",Undo:"Desfacer",White:"",Yellow:""}),o.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/az.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/az.js index abefca57e..3556b32ef 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/az.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/az.js @@ -1 +1 @@ -!function(e){const a=e.az=e.az||{};a.dictionary=Object.assign(a.dictionary||{},{"%0 of %1":"%1-dən %0",Aquamarine:"Akvamarin",Black:"Qara",Blue:"Mavi",Cancel:"İmtina et","Cannot upload file:":"Fayl yüklənə bilmir","Dim grey":"Tünd boz","Dropdown toolbar":"Açılan paneli","Edit block":"Redaktə etmək bloku","Editor toolbar":"Redaktorun paneli",Green:"Yaşıl",Grey:"Boz","Insert paragraph after block":"","Insert paragraph before block":"","Light blue":"Açıq mavi","Light green":"Açıq yaşıl","Light grey":"Açıq boz",Next:"Növbəti",Orange:"Narıncı",Previous:"Əvvəlki",Purple:"Bənövşəyi",Red:"Qırmızı",Redo:"Təkrar et","Remove color":"Rəngi ləğv et","Restore default":"","Rich Text Editor":"Rich Text Redaktoru","Rich Text Editor, %0":"Rich Text Redaktoru, %0",Save:"Yadda saxla","Show more items":"Daha çox əşyanı göstərin",Turquoise:"Firuzəyi",Undo:"İmtina et","Upload in progress":"Yüklənir",White:"Ağ","Widget toolbar":"Vidgetin paneli",Yellow:"Sarı"}),a.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(a){const e=a.az=a.az||{};e.dictionary=Object.assign(e.dictionary||{},{"%0 of %1":"%1-dən %0",Aquamarine:"Akvamarin",Black:"Qara",Blue:"Mavi",Cancel:"İmtina et","Cannot upload file:":"Fayl yüklənə bilmir","Dim grey":"Tünd boz","Dropdown toolbar":"Açılan paneli","Edit block":"Redaktə etmək bloku","Editor block content toolbar":"","Editor contextual toolbar":"","Editor editing area: %0":"","Editor toolbar":"Redaktorun paneli",Green:"Yaşıl",Grey:"Boz","Insert paragraph after block":"","Insert paragraph before block":"","Light blue":"Açıq mavi","Light green":"Açıq yaşıl","Light grey":"Açıq boz",Next:"Növbəti",Orange:"Narıncı",Previous:"Əvvəlki",Purple:"Bənövşəyi",Red:"Qırmızı",Redo:"Təkrar et","Remove color":"Rəngi ləğv et","Restore default":"","Rich Text Editor":"Rich Text Redaktoru","Rich Text Editor. Editing area: %0":"",Save:"Yadda saxla","Show more items":"Daha çox əşyanı göstərin",Turquoise:"Firuzəyi",Undo:"İmtina et","Upload in progress":"Yüklənir",White:"Ağ","Widget toolbar":"Vidgetin paneli",Yellow:"Sarı"}),e.getPluralForm=function(a){return 1!=a}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/bg.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/bg.js index 5d0772faa..1087a23d0 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/bg.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/bg.js @@ -1 +1 @@ -!function(o){const n=o.bg=o.bg||{};n.dictionary=Object.assign(n.dictionary||{},{"%0 of %1":"",Cancel:"Отказ","Cannot upload file:":"",Redo:"Повтори","Remove color":"","Restore default":"",Save:"Запазване","Show more items":"",Undo:"Отмени","Upload in progress":"Качването е в процес"}),n.getPluralForm=function(o){return 1!=o}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(o){const e=o.bg=o.bg||{};e.dictionary=Object.assign(e.dictionary||{},{"%0 of %1":"%0 от %1",Aquamarine:"Аквамарин",Black:"Черен",Blue:"Син",Cancel:"Отказ","Cannot upload file:":"Не може да качи файл:","Dim grey":"Тъмно сив","Dropdown toolbar":"Лента с падащо меню","Edit block":"Редактирай блок","Editor block content toolbar":"","Editor contextual toolbar":"","Editor editing area: %0":"Зона за редактиране на редактора: %0","Editor toolbar":"Лента за редакция",Green:"Зелен",Grey:"Сив","Insert paragraph after block":"Въведи параграф след блока","Insert paragraph before block":"Въведи параграф преди блока","Light blue":"Светло син","Light green":"Светло зелен","Light grey":"Светло сив",Next:"Следващ",Orange:"Оранжев",Previous:"Предишен",Purple:"Лилав",Red:"Червен",Redo:"Повтори","Remove color":"Премахни цвят","Restore default":"Възстанови първоначалните настройки","Rich Text Editor":"Богат текстов редактор","Rich Text Editor. Editing area: %0":"Rich Text Editor. Зона за редактиране: %0",Save:"Запазване","Select all":"Избери всички","Show more items":"Покажи повече единици",Turquoise:"Тюркоазен",Undo:"Отмени","Upload in progress":"Качването е в процес",White:"Бял","Widget toolbar":"Лента с помощни средства",Yellow:"Жълт"}),e.getPluralForm=function(o){return 1!=o}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/bn.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/bn.js new file mode 100644 index 000000000..740eb3752 --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/bn.js @@ -0,0 +1 @@ +!function(o){const e=o.bn=o.bn||{};e.dictionary=Object.assign(e.dictionary||{},{"%0 of %1":"%0 এর %1",Aquamarine:"ফেকাশে সবুজবর্ণ",Black:"কালো",Blue:"নীল ",Cancel:"বাতিল করুন","Cannot upload file:":"ফাইল আপলোড করা যাবে নাঃ","Dim grey":"আবছা ধূসর","Dropdown toolbar":"ড্রপডাউন টুলবার","Edit block":"এডিট ব্লক","Editor block content toolbar":"","Editor contextual toolbar":"","Editor editing area: %0":"সম্পাদক সম্পাদনার ক্ষেত্র: %0","Editor toolbar":"সম্পাদক টুলবার",Green:"সবুজ",Grey:"ধূসর","Insert paragraph after block":"ব্লকের পর অনুচ্ছেদ ঢোকান","Insert paragraph before block":"ব্লক করার আগে অনুচ্ছেদ ঢোকান","Light blue":"হালকা নীল","Light green":"হালকা সবুজ","Light grey":"হালকা ধূসর",Next:"পরবর্তী",Orange:"কমলা",Previous:"পূর্ববর্তী",Purple:"বেগুনি",Red:"লাল",Redo:"রেডো","Remove color":"রং মুছে ফেলুন","Restore default":"পূর্বাবস্থায় ফিরিয়ে আনুন","Rich Text Editor":"রিচ টেক্সট এডিটর","Rich Text Editor. Editing area: %0":"রিচ টেক্সট এডিটর। সম্পাদনার ক্ষেত্র: %0",Save:"সংরক্ষণ করুন","Select all":"সব নির্বাচন করুন","Show more items":"আরও আইটেম দেখান",Turquoise:"ফিরোজা",Undo:"পূর্বাবস্থায় ফেরান","Upload in progress":"আপলোড চলছে",White:"সাদা","Widget toolbar":"উইজেট টুলবার",Yellow:"হলুদ "}),e.getPluralForm=function(o){return 1!=o}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/bs.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/bs.js index 959fffbd5..953381ee7 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/bs.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/bs.js @@ -1 +1 @@ -!function(o){const i=o.bs=o.bs||{};i.dictionary=Object.assign(i.dictionary||{},{"%0 of %1":"%0 od %1",Cancel:"Poništi","Cannot upload file:":"Nije moguće učitati fajl:","Remove color":"Ukloni boju","Restore default":"Vrati na zadano",Save:"Sačuvaj","Show more items":"Prikaži više stavki"}),i.getPluralForm=function(o){return o%10==1&&o%100!=11?0:o%10>=2&&o%10<=4&&(o%100<10||o%100>=20)?1:2}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(i){const o=i.bs=i.bs||{};o.dictionary=Object.assign(o.dictionary||{},{"%0 of %1":"%0 od %1",Cancel:"Poništi","Cannot upload file:":"Nije moguće učitati fajl:","Remove color":"Ukloni boju","Restore default":"Vrati na zadano","Rich Text Editor. Editing area: %0":"",Save:"Sačuvaj","Show more items":"Prikaži više stavki"}),o.getPluralForm=function(i){return i%10==1&&i%100!=11?0:i%10>=2&&i%10<=4&&(i%100<10||i%100>=20)?1:2}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ca.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ca.js index 95da88ddb..215a5cc2b 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ca.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ca.js @@ -1 +1 @@ -!function(o){const a=o.ca=o.ca||{};a.dictionary=Object.assign(a.dictionary||{},{"%0 of %1":"",Cancel:"Cancel·lar","Cannot upload file:":"No es pot pujar l'arxiu:","Remove color":"","Restore default":"",Save:"Desar","Show more items":""}),a.getPluralForm=function(o){return 1!=o}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const r=e.ca=e.ca||{};r.dictionary=Object.assign(r.dictionary||{},{"%0 of %1":"%0 de %1",Aquamarine:"Aiguamarina",Black:"Negre",Blue:"Blau",Cancel:"Cancel·lar","Cannot upload file:":"No es pot pujar l'arxiu:","Dim grey":"Gris fosc","Dropdown toolbar":"Barra d'eines desplegable","Edit block":"Editar bloc","Editor block content toolbar":"","Editor contextual toolbar":"","Editor editing area: %0":"Àrea d'edició d'editor: %0","Editor toolbar":"Barra d'eines de l'editor",Green:"Verd",Grey:"Gris","Insert paragraph after block":"Inserir un paràgraf després del bloc","Insert paragraph before block":"Inserir un paràgraf abans del bloc","Light blue":"Blau clar","Light green":"Verd clar","Light grey":"Gris clar",Next:"Següent",Orange:"Taronja",Previous:"Anterior",Purple:"Lila",Red:"Vermell",Redo:"Refer","Remove color":"Eliminar el color","Restore default":"Restaurar el valor predeterminat","Rich Text Editor":"Editor de text enriquit","Rich Text Editor. Editing area: %0":"Editor de text enriquit. Àrea d'edició: %0",Save:"Desar","Select all":"Seleccionar-ho tot","Show more items":"Mostrar més elements",Turquoise:"Turquesa",Undo:"Desfer","Upload in progress":"Carrega en curs",White:"Blanc","Widget toolbar":"Barra d'eines de ginys",Yellow:"Groc"}),r.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/cs.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/cs.js index bfa1facef..45caf02d3 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/cs.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/cs.js @@ -1 +1 @@ -!function(o){const e=o.cs=o.cs||{};e.dictionary=Object.assign(e.dictionary||{},{"%0 of %1":"%0 z %1",Aquamarine:"Akvamarínová",Black:"Černá",Blue:"Modrá",Cancel:"Zrušit","Cannot upload file:":"Soubor nelze nahrát:","Dim grey":"Tmavě šedá","Dropdown toolbar":"Rozbalovací panel nástrojů","Edit block":"Upravit blok","Editor toolbar":"Panel nástrojů editoru",Green:"Zelená",Grey:"Šedá","Insert paragraph after block":"Vložte odstavec za blok","Insert paragraph before block":"Vložte odstavec před blok","Light blue":"Světle modrá","Light green":"Světle zelená","Light grey":"Světle šedá",Next:"Další",Orange:"Oranžová",Previous:"Předchozí",Purple:"Fialová",Red:"Červená",Redo:"Znovu","Remove color":"Odstranit barvu","Restore default":"Obnovit výchozí","Rich Text Editor":"Textový editor","Rich Text Editor, %0":"Textový editor, %0",Save:"Uložit","Select all":"Vybrat vše","Show more items":"Zobrazit další položky",Turquoise:"Tyrkysová",Undo:"Zpět","Upload in progress":"Probíhá nahrávání",White:"Bílá","Widget toolbar":"Panel nástrojů ovládacího prvku",Yellow:"Žlutá"}),e.getPluralForm=function(o){return 1==o&&o%1==0?0:o>=2&&o<=4&&o%1==0?1:o%1!=0?2:3}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(o){const e=o.cs=o.cs||{};e.dictionary=Object.assign(e.dictionary||{},{"%0 of %1":"%0 z %1",Aquamarine:"Akvamarínová",Black:"Černá",Blue:"Modrá",Cancel:"Zrušit","Cannot upload file:":"Soubor nelze nahrát:","Dim grey":"Tmavě šedá","Dropdown toolbar":"Rozbalovací panel nástrojů","Edit block":"Upravit blok","Editor block content toolbar":"","Editor contextual toolbar":"","Editor editing area: %0":"Editační oblast editoru: %0","Editor toolbar":"Panel nástrojů editoru",Green:"Zelená",Grey:"Šedá","Insert paragraph after block":"Vložte odstavec za blok","Insert paragraph before block":"Vložte odstavec před blok","Light blue":"Světle modrá","Light green":"Světle zelená","Light grey":"Světle šedá",Next:"Další",Orange:"Oranžová",Previous:"Předchozí",Purple:"Fialová",Red:"Červená",Redo:"Znovu","Remove color":"Odstranit barvu","Restore default":"Obnovit výchozí","Rich Text Editor":"Textový editor","Rich Text Editor. Editing area: %0":"Editační oblast rich text editoru: %0",Save:"Uložit","Select all":"Vybrat vše","Show more items":"Zobrazit další položky",Turquoise:"Tyrkysová",Undo:"Zpět","Upload in progress":"Probíhá nahrávání",White:"Bílá","Widget toolbar":"Panel nástrojů ovládacího prvku",Yellow:"Žlutá"}),e.getPluralForm=function(o){return 1==o&&o%1==0?0:o>=2&&o<=4&&o%1==0?1:o%1!=0?2:3}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/da.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/da.js index df62ccbc7..a2f701288 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/da.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/da.js @@ -1 +1 @@ -!function(e){const r=e.da=e.da||{};r.dictionary=Object.assign(r.dictionary||{},{"%0 of %1":"%0 af %1",Aquamarine:"Marineblå",Black:"Sort",Blue:"Blå",Cancel:"Annullér","Cannot upload file:":"Kan ikke uploade fil:","Dim grey":"Dunkel grå","Dropdown toolbar":"Dropdown værktøjslinje","Edit block":"Redigér blok","Editor toolbar":"Editor værktøjslinje",Green:"Grøn",Grey:"Grå","Insert paragraph after block":"","Insert paragraph before block":"","Light blue":"Lys blå","Light green":"Lys grøn","Light grey":"Lys grå",Next:"Næste",Orange:"Orange",Previous:"Forrige",Purple:"Lilla",Red:"Rød",Redo:"Gentag","Remove color":"Fjern farve","Restore default":"Nulstil","Rich Text Editor":"Wysiwyg editor","Rich Text Editor, %0":"Wysiwyg editor, %0",Save:"Gem","Select all":"Vælg alt","Show more items":"Vis flere emner",Turquoise:"Turkis",Undo:"Fortryd","Upload in progress":"Upload i gang",White:"Hvid","Widget toolbar":"Widget værktøjslinje",Yellow:"Gyl"}),r.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const r=e.da=e.da||{};r.dictionary=Object.assign(r.dictionary||{},{"%0 of %1":"%0 af %1",Aquamarine:"Marineblå",Black:"Sort",Blue:"Blå",Cancel:"Annullér","Cannot upload file:":"Kan ikke uploade fil:","Dim grey":"Dunkel grå","Dropdown toolbar":"Dropdown værktøjslinje","Edit block":"Redigér blok","Editor block content toolbar":"","Editor contextual toolbar":"","Editor editing area: %0":"Redigeringsområde: %0","Editor toolbar":"Editor værktøjslinje",Green:"Grøn",Grey:"Grå","Insert paragraph after block":"Indsæt paragraf efter blok","Insert paragraph before block":"Indsæt paragraf før blok","Light blue":"Lys blå","Light green":"Lys grøn","Light grey":"Lys grå",Next:"Næste",Orange:"Orange",Previous:"Forrige",Purple:"Lilla",Red:"Rød",Redo:"Gentag","Remove color":"Fjern farve","Restore default":"Nulstil","Rich Text Editor":"Wysiwyg editor","Rich Text Editor. Editing area: %0":"Rich text redigering. Redigeringsområde: %0",Save:"Gem","Select all":"Vælg alt","Show more items":"Vis flere emner",Turquoise:"Turkis",Undo:"Fortryd","Upload in progress":"Upload i gang",White:"Hvid","Widget toolbar":"Widget værktøjslinje",Yellow:"Gyl"}),r.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/de-ch.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/de-ch.js index 5d33b4f9f..906d2f4fa 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/de-ch.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/de-ch.js @@ -1 +1 @@ -!function(e){const o=e["de-ch"]=e["de-ch"]||{};o.dictionary=Object.assign(o.dictionary||{},{"%0 of %1":"",Aquamarine:"",Black:"",Blue:"",Cancel:"Abbrechen","Cannot upload file:":"Datei kann nicht hochgeladen werden:","Dim grey":"","Dropdown toolbar":"","Edit block":"","Editor toolbar":"",Green:"",Grey:"","Insert paragraph after block":"Absatz nach Block einfügen","Insert paragraph before block":"Absatz vor Block einfügen","Light blue":"","Light green":"","Light grey":"",Next:"",Orange:"",Previous:"",Purple:"",Red:"",Redo:"Wiederherstellen","Remove color":"Farbe entfernen","Restore default":"","Rich Text Editor":"Rich-Text-Edito","Rich Text Editor, %0":"Rich-Text-Editor, %0",Save:"Speichern","Select all":"Alles auswählen","Show more items":"",Turquoise:"",Undo:"Rückgängig","Upload in progress":"Upload läuft",White:"","Widget toolbar":"Widget Werkzeugleiste",Yellow:""}),o.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const o=e["de-ch"]=e["de-ch"]||{};o.dictionary=Object.assign(o.dictionary||{},{"%0 of %1":"",Aquamarine:"",Black:"",Blue:"",Cancel:"Abbrechen","Cannot upload file:":"Datei kann nicht hochgeladen werden:","Dim grey":"","Dropdown toolbar":"","Edit block":"","Editor block content toolbar":"","Editor contextual toolbar":"","Editor editing area: %0":"","Editor toolbar":"",Green:"",Grey:"","Insert paragraph after block":"Absatz nach Block einfügen","Insert paragraph before block":"Absatz vor Block einfügen","Light blue":"","Light green":"","Light grey":"",Next:"",Orange:"",Previous:"",Purple:"",Red:"",Redo:"Wiederherstellen","Remove color":"Farbe entfernen","Restore default":"","Rich Text Editor":"Rich-Text-Edito","Rich Text Editor. Editing area: %0":"",Save:"Speichern","Select all":"Alles auswählen","Show more items":"",Turquoise:"",Undo:"Rückgängig","Upload in progress":"Upload läuft",White:"","Widget toolbar":"Widget Werkzeugleiste",Yellow:""}),o.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/de.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/de.js index 54e3dc5cc..589d2c4f8 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/de.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/de.js @@ -1 +1 @@ -!function(e){const r=e.de=e.de||{};r.dictionary=Object.assign(r.dictionary||{},{"%0 of %1":"%0 von %1",Aquamarine:"Aquamarinblau",Black:"Schwarz",Blue:"Blau",Cancel:"Abbrechen","Cannot upload file:":"Die Datei kann nicht hochgeladen werden:","Dim grey":"Dunkelgrau","Dropdown toolbar":"Dropdown-Liste Werkzeugleiste","Edit block":"Absatz bearbeiten","Editor toolbar":"Editor Werkzeugleiste",Green:"Grün",Grey:"Grau","Insert paragraph after block":"Absatz nach Block einfügen","Insert paragraph before block":"Absatz vor Block einfügen","Light blue":"Hellblau","Light green":"Hellgrün","Light grey":"Hellgrau",Next:"Nächste",Orange:"Orange",Previous:"vorherige",Purple:"Violett",Red:"Rot",Redo:"Wiederherstellen","Remove color":"Farbe entfernen","Restore default":"Standard wiederherstellen","Rich Text Editor":"Rich Text Editor","Rich Text Editor, %0":"Rich-Text-Editor, %0",Save:"Speichern","Select all":"Alles auswählen","Show more items":"Mehr anzeigen",Turquoise:"Türkis",Undo:"Rückgängig","Upload in progress":"Upload läuft",White:"Weiß","Widget toolbar":"Widget Werkzeugleiste",Yellow:"Gelb"}),r.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const r=e.de=e.de||{};r.dictionary=Object.assign(r.dictionary||{},{"%0 of %1":"%0 von %1",Aquamarine:"Aquamarinblau",Black:"Schwarz",Blue:"Blau",Cancel:"Abbrechen","Cannot upload file:":"Die Datei kann nicht hochgeladen werden:","Dim grey":"Dunkelgrau","Dropdown toolbar":"Dropdown-Liste Werkzeugleiste","Edit block":"Absatz bearbeiten","Editor block content toolbar":"","Editor contextual toolbar":"","Editor editing area: %0":"Bearbeitungsbereich des Editors: %0","Editor toolbar":"Editor Werkzeugleiste",Green:"Grün",Grey:"Grau","Insert paragraph after block":"Absatz nach Block einfügen","Insert paragraph before block":"Absatz vor Block einfügen","Light blue":"Hellblau","Light green":"Hellgrün","Light grey":"Hellgrau",Next:"Nächste",Orange:"Orange",Previous:"vorherige",Purple:"Violett",Red:"Rot",Redo:"Wiederherstellen","Remove color":"Farbe entfernen","Restore default":"Standard wiederherstellen","Rich Text Editor":"Rich Text Editor","Rich Text Editor. Editing area: %0":"Rich Text Editor. Bearbeitungsbereich: %0",Save:"Speichern","Select all":"Alles auswählen","Show more items":"Mehr anzeigen",Turquoise:"Türkis",Undo:"Rückgängig","Upload in progress":"Upload läuft",White:"Weiß","Widget toolbar":"Widget Werkzeugleiste",Yellow:"Gelb"}),r.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/el.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/el.js index 7a479cb24..0993d4b29 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/el.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/el.js @@ -1 +1 @@ -!function(e){const o=e.el=e.el||{};o.dictionary=Object.assign(o.dictionary||{},{"%0 of %1":"%0 από %1",Aquamarine:"Ακουαμαρίνα",Black:"Μαύρο",Blue:"Μπλε",Cancel:"Ακύρωση","Cannot upload file:":"Αδύνατη η αποστολή του αρχείου:","Dim grey":"Θολό γκρι","Dropdown toolbar":"Γραμμή εργαλείων αναδυόμενου μενού","Edit block":"Επεξεργασία τμήματος","Editor toolbar":"Γραμμή εργαλείων επεξεργαστή",Green:"Πράσινο",Grey:"Γκρι","Insert paragraph after block":"Εισαγωγή παραγράφου μετά το τμήμα","Insert paragraph before block":"Εισαγωγή παραγράφου πριν το τμήμα","Light blue":"Φωτινό μπλε","Light green":"Φωτινό πράσινο","Light grey":"Φωτινό γκρι",Next:"Επόμενο",Orange:"Πορτοκαλί",Previous:"Προηγούμενο",Purple:"Πορφυρό",Red:"Κόκκινο",Redo:"Επανάληψη","Remove color":"Απομάκρυνση χρώματος","Restore default":"Επαναφορά προεπιλογής","Rich Text Editor":"Επεξεργαστής εμπλουτισμένου κειμένου","Rich Text Editor, %0":"Επεξεργαστής εμπλουτισμένου κειμένου, %0",Save:"Αποθήκευση","Select all":"Επιλογή όλων","Show more items":"Προβολή περισσότερων αντικειμένων",Turquoise:"Τιρκουάζ",Undo:"Αναίρεση","Upload in progress":"Αποστολή σε εξέλιξη",White:"Λευκό","Widget toolbar":"Γραμμή εργαλείων γραφικού στοιχείου",Yellow:"Κίτρινο"}),o.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const o=e.el=e.el||{};o.dictionary=Object.assign(o.dictionary||{},{"%0 of %1":"%0 από %1",Aquamarine:"Ακουαμαρίνα",Black:"Μαύρο",Blue:"Μπλε",Cancel:"Ακύρωση","Cannot upload file:":"Αδύνατη η αποστολή του αρχείου:","Dim grey":"Θολό γκρι","Dropdown toolbar":"Γραμμή εργαλείων αναδυόμενου μενού","Edit block":"Επεξεργασία τμήματος","Editor block content toolbar":"","Editor contextual toolbar":"","Editor editing area: %0":"Περιοχή επεξεργασίας προγράμματος επεξεργασίας: %0","Editor toolbar":"Γραμμή εργαλείων επεξεργαστή",Green:"Πράσινο",Grey:"Γκρι","Insert paragraph after block":"Εισαγωγή παραγράφου μετά το τμήμα","Insert paragraph before block":"Εισαγωγή παραγράφου πριν το τμήμα","Light blue":"Φωτινό μπλε","Light green":"Φωτινό πράσινο","Light grey":"Φωτινό γκρι",Next:"Επόμενο",Orange:"Πορτοκαλί",Previous:"Προηγούμενο",Purple:"Πορφυρό",Red:"Κόκκινο",Redo:"Επανάληψη","Remove color":"Απομάκρυνση χρώματος","Restore default":"Επαναφορά προεπιλογής","Rich Text Editor":"Επεξεργαστής εμπλουτισμένου κειμένου","Rich Text Editor. Editing area: %0":"Πρόγραμμα επεξεργασίας εμπλουτισμένου κειμένου. Περιοχή επεξεργασίας: %0",Save:"Αποθήκευση","Select all":"Επιλογή όλων","Show more items":"Προβολή περισσότερων αντικειμένων",Turquoise:"Τιρκουάζ",Undo:"Αναίρεση","Upload in progress":"Αποστολή σε εξέλιξη",White:"Λευκό","Widget toolbar":"Γραμμή εργαλείων γραφικού στοιχείου",Yellow:"Κίτρινο"}),o.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/en-au.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/en-au.js index 37cab2509..000c89963 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/en-au.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/en-au.js @@ -1 +1 @@ -!function(e){const o=e["en-au"]=e["en-au"]||{};o.dictionary=Object.assign(o.dictionary||{},{"%0 of %1":"%0 of %1",Aquamarine:"Aquamarine",Black:"Black",Blue:"Blue",Cancel:"Cancel","Cannot upload file:":"Cannot upload file:","Dim grey":"Dim grey","Dropdown toolbar":"Dropdown toolbar","Edit block":"Edit block","Editor toolbar":"Editor toolbar",Green:"Green",Grey:"Grey","Insert paragraph after block":"Insert paragraph after block","Insert paragraph before block":"Insert paragraph before block","Light blue":"Light blue","Light green":"Light green","Light grey":"Light grey",Next:"Next",Orange:"Orange",Previous:"Previous",Purple:"Purple",Red:"Red",Redo:"Redo","Remove color":"Remove colour","Restore default":"Restore default","Rich Text Editor":"Rich Text Editor","Rich Text Editor, %0":"Rich Text Editor, %0",Save:"Save","Select all":"Select all","Show more items":"Show more items",Turquoise:"Turquoise",Undo:"Undo","Upload in progress":"Upload in progress",White:"White","Widget toolbar":"Widget toolbar",Yellow:"Yellow"}),o.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const o=e["en-au"]=e["en-au"]||{};o.dictionary=Object.assign(o.dictionary||{},{"%0 of %1":"%0 of %1",Aquamarine:"Aquamarine",Black:"Black",Blue:"Blue",Cancel:"Cancel","Cannot upload file:":"Cannot upload file:","Dim grey":"Dim grey","Dropdown toolbar":"Dropdown toolbar","Edit block":"Edit block","Editor block content toolbar":"","Editor contextual toolbar":"","Editor editing area: %0":"Editor editing area: %0","Editor toolbar":"Editor toolbar",Green:"Green",Grey:"Grey","Insert paragraph after block":"Insert paragraph after block","Insert paragraph before block":"Insert paragraph before block","Light blue":"Light blue","Light green":"Light green","Light grey":"Light grey",Next:"Next",Orange:"Orange",Previous:"Previous",Purple:"Purple",Red:"Red",Redo:"Redo","Remove color":"Remove colour","Restore default":"Restore default","Rich Text Editor":"Rich Text Editor","Rich Text Editor. Editing area: %0":"",Save:"Save","Select all":"Select all","Show more items":"Show more items",Turquoise:"Turquoise",Undo:"Undo","Upload in progress":"Upload in progress",White:"White","Widget toolbar":"Widget toolbar",Yellow:"Yellow"}),o.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/en-gb.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/en-gb.js index 6ba1f2fcb..41b1e9982 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/en-gb.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/en-gb.js @@ -1 +1 @@ -!function(e){const o=e["en-gb"]=e["en-gb"]||{};o.dictionary=Object.assign(o.dictionary||{},{"%0 of %1":"%0 of %1",Aquamarine:"Aquamarine",Black:"Black",Blue:"Blue",Cancel:"Cancel","Cannot upload file:":"Cannot upload file:","Dim grey":"Dim grey","Dropdown toolbar":"","Edit block":"Edit block","Editor toolbar":"",Green:"Green",Grey:"Grey","Light blue":"Light blue","Light green":"Light green","Light grey":"Light grey",Next:"Next",Orange:"Orange",Previous:"Previous",Purple:"Purple",Red:"Red",Redo:"Redo","Remove color":"Remove colour","Restore default":"","Rich Text Editor":"Rich Text Editor","Rich Text Editor, %0":"Rich Text Editor, %0",Save:"Save","Show more items":"",Turquoise:"Turquoise",Undo:"Undo","Upload in progress":"Upload in progress",White:"White",Yellow:"Yellow"}),o.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const o=e["en-gb"]=e["en-gb"]||{};o.dictionary=Object.assign(o.dictionary||{},{"%0 of %1":"%0 of %1",Aquamarine:"Aquamarine",Black:"Black",Blue:"Blue",Cancel:"Cancel","Cannot upload file:":"Cannot upload file:","Dim grey":"Dim grey","Dropdown toolbar":"","Edit block":"Edit block","Editor block content toolbar":"","Editor contextual toolbar":"","Editor editing area: %0":"","Editor toolbar":"",Green:"Green",Grey:"Grey","Light blue":"Light blue","Light green":"Light green","Light grey":"Light grey",Next:"Next",Orange:"Orange",Previous:"Previous",Purple:"Purple",Red:"Red",Redo:"Redo","Remove color":"Remove colour","Restore default":"","Rich Text Editor":"Rich Text Editor","Rich Text Editor. Editing area: %0":"",Save:"Save","Show more items":"",Turquoise:"Turquoise",Undo:"Undo","Upload in progress":"Upload in progress",White:"White",Yellow:"Yellow"}),o.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/eo.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/eo.js index 9cb9eb830..c4275a965 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/eo.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/eo.js @@ -1 +1 @@ -!function(e){const o=e.eo=e.eo||{};o.dictionary=Object.assign(o.dictionary||{},{"%0 of %1":"",Aquamarine:"",Black:"",Blue:"",Cancel:"Nuligi","Cannot upload file:":"","Dim grey":"","Dropdown toolbar":"","Edit block":"","Editor toolbar":"",Green:"",Grey:"","Light blue":"","Light green":"","Light grey":"",Next:"",Orange:"",Previous:"",Purple:"",Red:"",Redo:"Refari","Remove color":"","Restore default":"","Rich Text Editor":"Redaktilo de Riĉa Teksto","Rich Text Editor, %0":"Redaktilo de Riĉa Teksto, %0",Save:"Konservi","Show more items":"",Turquoise:"",Undo:"Malfari",White:"",Yellow:""}),o.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(o){const e=o.eo=o.eo||{};e.dictionary=Object.assign(e.dictionary||{},{"%0 of %1":"",Aquamarine:"",Black:"",Blue:"",Cancel:"Nuligi","Cannot upload file:":"","Dim grey":"","Dropdown toolbar":"","Edit block":"","Editor block content toolbar":"","Editor contextual toolbar":"","Editor editing area: %0":"","Editor toolbar":"",Green:"",Grey:"","Light blue":"","Light green":"","Light grey":"",Next:"",Orange:"",Previous:"",Purple:"",Red:"",Redo:"Refari","Remove color":"","Restore default":"","Rich Text Editor":"Redaktilo de Riĉa Teksto","Rich Text Editor. Editing area: %0":"",Save:"Konservi","Show more items":"",Turquoise:"",Undo:"Malfari",White:"",Yellow:""}),e.getPluralForm=function(o){return 1!=o}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/es.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/es.js index d411282b5..64a911f3e 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/es.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/es.js @@ -1 +1 @@ -!function(e){const r=e.es=e.es||{};r.dictionary=Object.assign(r.dictionary||{},{"%0 of %1":"%0 de %1",Aquamarine:"Aguamarina",Black:"Negro",Blue:"Azul",Cancel:"Cancelar","Cannot upload file:":"No se pudo cargar el archivo:","Dim grey":"Gris Oscuro","Dropdown toolbar":"Barra de herramientas desplegable","Edit block":"Cuadro de edición","Editor toolbar":"Barra de herramientas de edición",Green:"Verde",Grey:"Gris","Insert paragraph after block":"Insertar párrafo después del bloque","Insert paragraph before block":"Insertar párrafo antes del bloque","Light blue":"Azul Claro","Light green":"Verde Claro","Light grey":"Gris Claro",Next:"Siguiente",Orange:"Anaranjado",Previous:"Anterior",Purple:"Morado",Red:"Rojo",Redo:"Rehacer","Remove color":"Quitar color","Restore default":"Restaurar valores predeterminados","Rich Text Editor":"Editor de Texto Enriquecido","Rich Text Editor, %0":"Editor de Texto Enriquecido, %0",Save:"Guardar","Select all":"Seleccionar todo","Show more items":"Mostrar más elementos",Turquoise:"Turquesa",Undo:"Deshacer","Upload in progress":"Subida en progreso",White:"Blanco","Widget toolbar":"Barra de herramientas del widget",Yellow:"Amarillo"}),r.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const r=e.es=e.es||{};r.dictionary=Object.assign(r.dictionary||{},{"%0 of %1":"%0 de %1",Aquamarine:"Aguamarina",Black:"Negro",Blue:"Azul",Cancel:"Cancelar","Cannot upload file:":"No se pudo cargar el archivo:","Dim grey":"Gris Oscuro","Dropdown toolbar":"Barra de herramientas desplegable","Edit block":"Cuadro de edición","Editor block content toolbar":"","Editor contextual toolbar":"","Editor editing area: %0":"Área de edición del editor: %0","Editor toolbar":"Barra de herramientas de edición",Green:"Verde",Grey:"Gris","Insert paragraph after block":"Insertar párrafo después del bloque","Insert paragraph before block":"Insertar párrafo antes del bloque","Light blue":"Azul Claro","Light green":"Verde Claro","Light grey":"Gris Claro",Next:"Siguiente",Orange:"Anaranjado",Previous:"Anterior",Purple:"Morado",Red:"Rojo",Redo:"Rehacer","Remove color":"Quitar color","Restore default":"Restaurar valores predeterminados","Rich Text Editor":"Editor de Texto Enriquecido","Rich Text Editor. Editing area: %0":"Editor de texto enriquecido. Área de edición: %0",Save:"Guardar","Select all":"Seleccionar todo","Show more items":"Mostrar más elementos",Turquoise:"Turquesa",Undo:"Deshacer","Upload in progress":"Subida en progreso",White:"Blanco","Widget toolbar":"Barra de herramientas del widget",Yellow:"Amarillo"}),r.getPluralForm=function(e){return 1==e?0:0!=e&&e%1e6==0?1:2}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/et.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/et.js index 1851842a4..69d31c3f7 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/et.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/et.js @@ -1 +1 @@ -!function(e){const i=e.et=e.et||{};i.dictionary=Object.assign(i.dictionary||{},{"%0 of %1":"%0 / %1",Aquamarine:"Akvamariin",Black:"Must",Blue:"Sinine",Cancel:"Loobu","Cannot upload file:":"Faili ei suudeta üles laadida:","Dim grey":"Tumehall","Dropdown toolbar":"Avatav tööriistariba","Edit block":"Muuda plokki","Editor toolbar":"Redaktori tööriistariba",Green:"Roheline",Grey:"Hall","Insert paragraph after block":"","Insert paragraph before block":"","Light blue":"Helesinine","Light green":"Heleroheline","Light grey":"Helehall",Next:"Järgmine",Orange:"Oranž",Previous:"Eelmine",Purple:"Lilla",Red:"Punane",Redo:"Tee uuesti","Remove color":"Eemalda värv","Restore default":"","Rich Text Editor":"Tekstiredaktor","Rich Text Editor, %0":"Tekstiredaktor, %0",Save:"Salvesta","Select all":"Vali kõik","Show more items":"Näita veel",Turquoise:"Türkiis",Undo:"Võta tagasi","Upload in progress":"Üleslaadimine pooleli",White:"Valge","Widget toolbar":"Vidinate tööriistariba",Yellow:"Kollane"}),i.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const i=e.et=e.et||{};i.dictionary=Object.assign(i.dictionary||{},{"%0 of %1":"%0 / %1",Aquamarine:"Akvamariin",Black:"Must",Blue:"Sinine",Cancel:"Loobu","Cannot upload file:":"Faili ei suudeta üles laadida:","Dim grey":"Tumehall","Dropdown toolbar":"Avatav tööriistariba","Edit block":"Muuda plokki","Editor block content toolbar":"","Editor contextual toolbar":"","Editor editing area: %0":"Redaktori redigeerimisala: %0","Editor toolbar":"Redaktori tööriistariba",Green:"Roheline",Grey:"Hall","Insert paragraph after block":"Sisesta lõik pärast plokki","Insert paragraph before block":"Sisesta lõik enne plokki","Light blue":"Helesinine","Light green":"Heleroheline","Light grey":"Helehall",Next:"Järgmine",Orange:"Oranž",Previous:"Eelmine",Purple:"Lilla",Red:"Punane",Redo:"Tee uuesti","Remove color":"Eemalda värv","Restore default":"Taasta algne","Rich Text Editor":"Tekstiredaktor","Rich Text Editor. Editing area: %0":"Rikastekstiredaktor. Redigeerimisala: %0",Save:"Salvesta","Select all":"Vali kõik","Show more items":"Näita veel",Turquoise:"Türkiis",Undo:"Võta tagasi","Upload in progress":"Üleslaadimine pooleli",White:"Valge","Widget toolbar":"Vidinate tööriistariba",Yellow:"Kollane"}),i.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/eu.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/eu.js index 88bd72a60..fbffa22d0 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/eu.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/eu.js @@ -1 +1 @@ -!function(e){const o=e.eu=e.eu||{};o.dictionary=Object.assign(o.dictionary||{},{"%0 of %1":"",Aquamarine:"",Black:"",Blue:"",Cancel:"Utzi","Cannot upload file:":"Ezin da fitxategia kargatu:","Dim grey":"","Dropdown toolbar":"","Edit block":"","Editor toolbar":"",Green:"",Grey:"","Light blue":"","Light green":"","Light grey":"",Next:"",Orange:"",Previous:"",Purple:"",Red:"",Redo:"Berregin","Remove color":"","Restore default":"","Rich Text Editor":"Testu aberastuaren editorea","Rich Text Editor, %0":"Testu aberastuaren editorea, %0",Save:"Gorde","Show more items":"",Turquoise:"",Undo:"Desegin",White:"",Yellow:""}),o.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const o=e.eu=e.eu||{};o.dictionary=Object.assign(o.dictionary||{},{"%0 of %1":"",Aquamarine:"",Black:"",Blue:"",Cancel:"Utzi","Cannot upload file:":"Ezin da fitxategia kargatu:","Dim grey":"","Dropdown toolbar":"","Edit block":"","Editor block content toolbar":"","Editor contextual toolbar":"","Editor editing area: %0":"","Editor toolbar":"",Green:"",Grey:"","Light blue":"","Light green":"","Light grey":"",Next:"",Orange:"",Previous:"",Purple:"",Red:"",Redo:"Berregin","Remove color":"","Restore default":"","Rich Text Editor":"Testu aberastuaren editorea","Rich Text Editor. Editing area: %0":"",Save:"Gorde","Show more items":"",Turquoise:"",Undo:"Desegin",White:"",Yellow:""}),o.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/fa.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/fa.js index 3f33ff137..0a961efbb 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/fa.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/fa.js @@ -1 +1 @@ -!function(e){const o=e.fa=e.fa||{};o.dictionary=Object.assign(o.dictionary||{},{"%0 of %1":"%0 از %1",Aquamarine:"زمرد کبود",Black:"سیاه",Blue:"آبی",Cancel:"لغو","Cannot upload file:":"فایل آپلود نمی‌شود:","Dim grey":"خاکستری تیره","Dropdown toolbar":"نوارابزار کشویی","Edit block":"ویرایش قطعه","Editor toolbar":"نوارابزار ویرایشگر",Green:"سبز",Grey:"خاکستری","Insert paragraph after block":"درج پاراگراف بعد از بلوک","Insert paragraph before block":"درج پاراگراف قبل از بلوک","Light blue":"آبی روشن","Light green":"سبز روشن","Light grey":"خاکستری روشن",Next:"بعدی",Orange:"نارنجی",Previous:"قبلی",Purple:"بنفش",Red:"قرمز",Redo:"باز انجام","Remove color":"حذف رنگ","Restore default":"","Rich Text Editor":"ویرایشگر متن غنی","Rich Text Editor, %0":"ویرایشگر متن غنی، %0",Save:"ذخیره","Select all":"انتخاب همه","Show more items":"نمایش گزینه‌های بیشتر",Turquoise:"فیروزه ای",Undo:"بازگردانی","Upload in progress":"آپلود در حال انجام",White:"سفید","Widget toolbar":"نوار ابزار ویجت",Yellow:"زرد"}),o.getPluralForm=function(e){return e>1}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(o){const e=o.fa=o.fa||{};e.dictionary=Object.assign(e.dictionary||{},{"%0 of %1":"%0 از %1",Aquamarine:"زمرد کبود",Black:"سیاه",Blue:"آبی",Cancel:"لغو","Cannot upload file:":"فایل آپلود نمی‌شود:","Dim grey":"خاکستری تیره","Dropdown toolbar":"نوارابزار کشویی","Edit block":"ویرایش قطعه","Editor block content toolbar":"","Editor contextual toolbar":"","Editor editing area: %0":"","Editor toolbar":"نوارابزار ویرایشگر",Green:"سبز",Grey:"خاکستری","Insert paragraph after block":"درج پاراگراف بعد از بلوک","Insert paragraph before block":"درج پاراگراف قبل از بلوک","Light blue":"آبی روشن","Light green":"سبز روشن","Light grey":"خاکستری روشن",Next:"بعدی",Orange:"نارنجی",Previous:"قبلی",Purple:"بنفش",Red:"قرمز",Redo:"باز انجام","Remove color":"حذف رنگ","Restore default":"","Rich Text Editor":"ویرایشگر متن غنی","Rich Text Editor. Editing area: %0":"",Save:"ذخیره","Select all":"انتخاب همه","Show more items":"نمایش گزینه‌های بیشتر",Turquoise:"فیروزه ای",Undo:"بازگردانی","Upload in progress":"آپلود در حال انجام",White:"سفید","Widget toolbar":"نوار ابزار ویجت",Yellow:"زرد"}),e.getPluralForm=function(o){return o>1}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/fi.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/fi.js index 7762087e8..a21d36529 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/fi.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/fi.js @@ -1 +1 @@ -!function(e){const a=e.fi=e.fi||{};a.dictionary=Object.assign(a.dictionary||{},{"%0 of %1":"",Aquamarine:"Akvamariini",Black:"Musta",Blue:"Sininen",Cancel:"Peruuta","Cannot upload file:":"Tiedostoa ei voitu ladata:","Dim grey":"","Dropdown toolbar":"","Edit block":"Muokkaa lohkoa","Editor toolbar":"Editorin työkalupalkki",Green:"Vihreä",Grey:"Harmaa","Light blue":"Vaaleansininen","Light green":"Vaaleanvihreä","Light grey":"Vaaleanharmaa",Next:"Seuraava",Orange:"Oranssi",Previous:"Edellinen",Purple:"Purppura",Red:"Punainen",Redo:"Tee uudelleen","Remove color":"Poista väri","Restore default":"Palauta oletus","Rich Text Editor":"Rikas tekstieditori","Rich Text Editor, %0":"Rikas tekstieditori, %0",Save:"Tallenna","Show more items":"",Turquoise:"Turkoosi",Undo:"Peru","Upload in progress":"Lähetys käynnissä",White:"Valkoinen",Yellow:"Keltainen"}),a.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(a){const e=a.fi=a.fi||{};e.dictionary=Object.assign(e.dictionary||{},{"%0 of %1":"%0 / %1",Aquamarine:"Akvamariini",Black:"Musta",Blue:"Sininen",Cancel:"Peruuta","Cannot upload file:":"Tiedostoa ei voitu ladata:","Dim grey":"Vaaleanharmaa","Dropdown toolbar":"Pudotusvalikon työkalupalkki","Edit block":"Muokkaa lohkoa","Editor block content toolbar":"","Editor contextual toolbar":"","Editor editing area: %0":"Editorin muokkausalue: %0","Editor toolbar":"Editorin työkalupalkki",Green:"Vihreä",Grey:"Harmaa","Insert paragraph after block":"Liitä kappale lohkon jälkeen","Insert paragraph before block":"Liitä kappale ennen lohkoa","Light blue":"Vaaleansininen","Light green":"Vaaleanvihreä","Light grey":"Vaaleanharmaa",Next:"Seuraava",Orange:"Oranssi",Previous:"Edellinen",Purple:"Purppura",Red:"Punainen",Redo:"Tee uudelleen","Remove color":"Poista väri","Restore default":"Palauta oletus","Rich Text Editor":"Rikas tekstieditori","Rich Text Editor. Editing area: %0":"Tekstimuotoilueditori. Muokkausalue: %0",Save:"Tallenna","Select all":"Valitse kaikki","Show more items":"Näytä lisää toimintoja",Turquoise:"Turkoosi",Undo:"Peru","Upload in progress":"Lähetys käynnissä",White:"Valkoinen","Widget toolbar":"Widget-työkalupalkki",Yellow:"Keltainen"}),e.getPluralForm=function(a){return 1!=a}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/fr.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/fr.js index 4266eca00..258ebeea0 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/fr.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/fr.js @@ -1 +1 @@ -!function(e){const r=e.fr=e.fr||{};r.dictionary=Object.assign(r.dictionary||{},{"%0 of %1":"%0 sur %1",Aquamarine:"Bleu vert",Black:"Noir",Blue:"Bleu",Cancel:"Annuler","Cannot upload file:":"Envoi du fichier échoué :","Dim grey":"Gris pâle","Dropdown toolbar":"Barre d'outils dans un menu déroulant","Edit block":"Modifier le bloc","Editor toolbar":"Barre d'outils de l'éditeur",Green:"Vert",Grey:"Gris","Insert paragraph after block":"Insérer du texte après ce bloc","Insert paragraph before block":"Insérer du texte avant ce bloc","Light blue":"Bleu clair","Light green":"Vert clair","Light grey":"Gris clair",Next:"Suivant",Orange:"Orange",Previous:"Précedent",Purple:"Violet",Red:"Rouge",Redo:"Restaurer","Remove color":"Enlever la couleur","Restore default":"","Rich Text Editor":"Éditeur de texte enrichi","Rich Text Editor, %0":"Éditeur de texte enrichi, %0",Save:"Enregistrer","Select all":"Sélectionner tout","Show more items":"Montrer plus d'éléments",Turquoise:"Turquoise",Undo:"Annuler","Upload in progress":"Téléchargement en cours",White:"Blanc","Widget toolbar":"Barre d'outils du widget",Yellow:"Jaune"}),r.getPluralForm=function(e){return e>1}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const r=e.fr=e.fr||{};r.dictionary=Object.assign(r.dictionary||{},{"%0 of %1":"%0 sur %1",Aquamarine:"Bleu vert",Black:"Noir",Blue:"Bleu",Cancel:"Annuler","Cannot upload file:":"Envoi du fichier échoué :","Dim grey":"Gris pâle","Dropdown toolbar":"Barre d'outils dans un menu déroulant","Edit block":"Modifier le bloc","Editor block content toolbar":"","Editor contextual toolbar":"","Editor editing area: %0":"Zone d'édition de l'éditeur : %0","Editor toolbar":"Barre d'outils de l'éditeur",Green:"Vert",Grey:"Gris","Insert paragraph after block":"Insérer du texte après ce bloc","Insert paragraph before block":"Insérer du texte avant ce bloc","Light blue":"Bleu clair","Light green":"Vert clair","Light grey":"Gris clair",Next:"Suivant",Orange:"Orange",Previous:"Précedent",Purple:"Violet",Red:"Rouge",Redo:"Restaurer","Remove color":"Enlever la couleur","Restore default":"Restaurer par défaut","Rich Text Editor":"Éditeur de texte enrichi","Rich Text Editor. Editing area: %0":"Éditeur de texte enrichi. Zone d'édition : %0",Save:"Enregistrer","Select all":"Sélectionner tout","Show more items":"Montrer plus d'éléments",Turquoise:"Turquoise",Undo:"Annuler","Upload in progress":"Téléchargement en cours",White:"Blanc","Widget toolbar":"Barre d'outils du widget",Yellow:"Jaune"}),r.getPluralForm=function(e){return 0==e||1==e?0:0!=e&&e%1e6==0?1:2}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/gl.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/gl.js index f4bc3b4a9..ddef3a662 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/gl.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/gl.js @@ -1 +1 @@ -!function(e){const r=e.gl=e.gl||{};r.dictionary=Object.assign(r.dictionary||{},{"%0 of %1":"%0 de %1",Aquamarine:"Augamariña",Black:"Negro",Blue:"Azul",Cancel:"Cancelar","Cannot upload file:":"Non é posíbel cargar o ficheiro:","Dim grey":"Gris fume","Dropdown toolbar":"Barra de ferramentas despregábel","Edit block":"Editar bloque","Editor toolbar":"Barra de ferramentas do editor",Green:"Verde",Grey:"Gris","Insert paragraph after block":"Inserir parágrafo após o bloque","Insert paragraph before block":"Inserir parágrafo antes do bloque","Light blue":"Azul claro","Light green":"Verde claro","Light grey":"Gris claro",Next:"Seguinte",Orange:"Laranxa",Previous:"Anterior",Purple:"Púrpura",Red:"Vermello",Redo:"Refacer","Remove color":"Retirar a cor","Restore default":"Restaurar valores predeterminados","Rich Text Editor":"Editor de texto mellorado","Rich Text Editor, %0":"Editor de texto mellorado, %0",Save:"Gardar","Select all":"Seleccionar todo","Show more items":"Amosar máis elementos",Turquoise:"Turquesa",Undo:"Desfacer","Upload in progress":"Envío en proceso",White:"Branco","Widget toolbar":"Barra de ferramentas de trebellos",Yellow:"Amarelo"}),r.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const r=e.gl=e.gl||{};r.dictionary=Object.assign(r.dictionary||{},{"%0 of %1":"%0 de %1",Aquamarine:"Augamariña",Black:"Negro",Blue:"Azul",Cancel:"Cancelar","Cannot upload file:":"Non é posíbel cargar o ficheiro:","Dim grey":"Gris fume","Dropdown toolbar":"Barra de ferramentas despregábel","Edit block":"Editar bloque","Editor block content toolbar":"","Editor contextual toolbar":"","Editor editing area: %0":"Área de edición do editor: %0","Editor toolbar":"Barra de ferramentas do editor",Green:"Verde",Grey:"Gris","Insert paragraph after block":"Inserir parágrafo após o bloque","Insert paragraph before block":"Inserir parágrafo antes do bloque","Light blue":"Azul claro","Light green":"Verde claro","Light grey":"Gris claro",Next:"Seguinte",Orange:"Laranxa",Previous:"Anterior",Purple:"Púrpura",Red:"Vermello",Redo:"Refacer","Remove color":"Retirar a cor","Restore default":"Restaurar valores predeterminados","Rich Text Editor":"Editor de texto mellorado","Rich Text Editor. Editing area: %0":"Editor de texto mellorado. Área de edición: %0",Save:"Gardar","Select all":"Seleccionar todo","Show more items":"Amosar máis elementos",Turquoise:"Turquesa",Undo:"Desfacer","Upload in progress":"Envío en proceso",White:"Branco","Widget toolbar":"Barra de ferramentas de trebellos",Yellow:"Amarelo"}),r.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/gu.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/gu.js index b949699ef..a572873c0 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/gu.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/gu.js @@ -1 +1 @@ -!function(o){const n=o.gu=o.gu||{};n.dictionary=Object.assign(n.dictionary||{},{"%0 of %1":"",Cancel:"","Cannot upload file:":"ફાઇલ અપલોડ ન થઇ શકી","Remove color":"","Restore default":"",Save:"","Show more items":""}),n.getPluralForm=function(o){return 1!=o}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(o){const e=o.gu=o.gu||{};e.dictionary=Object.assign(e.dictionary||{},{"%0 of %1":"",Cancel:"","Cannot upload file:":"ફાઇલ અપલોડ ન થઇ શકી","Remove color":"","Restore default":"","Rich Text Editor. Editing area: %0":"",Save:"","Show more items":""}),e.getPluralForm=function(o){return 1!=o}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/he.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/he.js index 60ee5b530..e6ab54acc 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/he.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/he.js @@ -1 +1 @@ -!function(e){const o=e.he=e.he||{};o.dictionary=Object.assign(o.dictionary||{},{"%0 of %1":"%0 מתוך %1",Aquamarine:"",Black:"",Blue:"",Cancel:"ביטול","Cannot upload file:":"לא ניתן להעלות את הקובץ הבא:","Dim grey":"","Dropdown toolbar":"סרגל כלים נפתח","Edit block":"הגדרות בלוק","Editor toolbar":"סרגל הכלים",Green:"",Grey:"","Insert paragraph after block":"","Insert paragraph before block":"","Light blue":"","Light green":"","Light grey":"",Next:"הבא",Orange:"",Previous:"הקודם",Purple:"",Red:"",Redo:"ביצוע מחדש","Remove color":"","Restore default":"","Rich Text Editor":"עורך טקסט עשיר","Rich Text Editor, %0":"עורך טקסט עשיר, %0",Save:"שמירה","Show more items":"הצד פריטים נוספים",Turquoise:"",Undo:"ביטול","Upload in progress":"העלאה מתבצעת",White:"","Widget toolbar":"סרגל יישומון",Yellow:""}),o.getPluralForm=function(e){return 1==e&&e%1==0?0:2==e&&e%1==0?1:e%10==0&&e%1==0&&e>10?2:3}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const o=e.he=e.he||{};o.dictionary=Object.assign(o.dictionary||{},{"%0 of %1":"%0 מתוך %1",Aquamarine:"ירוק-כחלחל",Black:"שחור",Blue:"כחול",Cancel:"ביטול","Cannot upload file:":"לא ניתן להעלות את הקובץ הבא:","Dim grey":"אפור עמום","Dropdown toolbar":"סרגל כלים נפתח","Edit block":"הגדרות בלוק","Editor block content toolbar":"","Editor contextual toolbar":"","Editor editing area: %0":"אזור עריכה של העורך: %0","Editor toolbar":"סרגל הכלים",Green:"ירוק",Grey:"אפור","Insert paragraph after block":"הוספת פסקה מתחת","Insert paragraph before block":"הוספת פסקה מעל","Light blue":"כחול בהיר","Light green":"ירוק בהיר","Light grey":"אפור בהיר",Next:"הבא",Orange:"כתום",Previous:"הקודם",Purple:"סגול",Red:"אדום",Redo:"ביצוע מחדש","Remove color":"מחיקת צבע","Restore default":"שחזור ברירת מחדל","Rich Text Editor":"עורך טקסט עשיר","Rich Text Editor. Editing area: %0":"עורך פורמט טקסט עשיר. אזור עריכה: %0",Save:"שמירה","Select all":"בחר הכל","Show more items":"הצג פריטים נוספים",Turquoise:"טורקיז",Undo:"ביטול","Upload in progress":"העלאה מתבצעת",White:"לבן","Widget toolbar":"סרגל יישומון",Yellow:"צהוב"}),o.getPluralForm=function(e){return 1==e&&e%1==0?0:2==e&&e%1==0?1:e%10==0&&e%1==0&&e>10?2:3}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/hi.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/hi.js index 4e95ea564..8407d4ad1 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/hi.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/hi.js @@ -1 +1 @@ -!function(e){const o=e.hi=e.hi||{};o.dictionary=Object.assign(o.dictionary||{},{"%0 of %1":"%0 of %1",Aquamarine:"Aquamarine",Black:"Black",Blue:"Blue",Cancel:"Cancel","Cannot upload file:":"Cannot upload file:","Dim grey":"Dim grey","Dropdown toolbar":"Dropdown toolbar","Edit block":"Edit block","Editor toolbar":"Editor toolbar",Green:"Green",Grey:"Grey","Insert paragraph after block":"Insert paragraph after block","Insert paragraph before block":"Insert paragraph before block","Light blue":"Light blue","Light green":"Light green","Light grey":"Light grey",Next:"Next",Orange:"Orange",Previous:"Previous",Purple:"Purple",Red:"Red",Redo:"Redo","Remove color":"Remove color","Restore default":"","Rich Text Editor":"Rich Text Editor","Rich Text Editor, %0":"Rich Text Editor, %0",Save:"Save","Select all":"Select all","Show more items":"Show more items",Turquoise:"Turquoise",Undo:"Undo","Upload in progress":"Upload in progress",White:"White","Widget toolbar":"Widget toolbar",Yellow:"Yellow"}),o.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const o=e.hi=e.hi||{};o.dictionary=Object.assign(o.dictionary||{},{"%0 of %1":"%0 of %1",Aquamarine:"Aquamarine",Black:"Black",Blue:"Blue",Cancel:"Cancel","Cannot upload file:":"Cannot upload file:","Dim grey":"Dim grey","Dropdown toolbar":"Dropdown toolbar","Edit block":"Edit block","Editor block content toolbar":"","Editor contextual toolbar":"","Editor editing area: %0":"संपादक संपादन क्षेत्र: %0","Editor toolbar":"Editor toolbar",Green:"Green",Grey:"Grey","Insert paragraph after block":"Insert paragraph after block","Insert paragraph before block":"Insert paragraph before block","Light blue":"Light blue","Light green":"Light green","Light grey":"Light grey",Next:"Next",Orange:"Orange",Previous:"Previous",Purple:"Purple",Red:"Red",Redo:"Redo","Remove color":"Remove color","Restore default":"डिफ़ॉल्ट रिस्टोर कर दें","Rich Text Editor":"Rich Text Editor","Rich Text Editor. Editing area: %0":"रिच टेक्स्ट एडिटर। संपादन क्षेत्र: %0",Save:"Save","Select all":"Select all","Show more items":"Show more items",Turquoise:"Turquoise",Undo:"Undo","Upload in progress":"Upload in progress",White:"White","Widget toolbar":"Widget toolbar",Yellow:"Yellow"}),o.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/hr.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/hr.js index eff7c6484..4b2fdb049 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/hr.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/hr.js @@ -1 +1 @@ -!function(a){const e=a.hr=a.hr||{};e.dictionary=Object.assign(e.dictionary||{},{"%0 of %1":"%0 od %1",Aquamarine:"Akvamarin",Black:"Crna",Blue:"Plava",Cancel:"Poništi","Cannot upload file:":"Datoteku nije moguće poslati:","Dim grey":"Tamnosiva","Dropdown toolbar":"Traka padajućeg izbornika","Edit block":"Uredi blok","Editor toolbar":"Traka uređivača",Green:"Zelena",Grey:"Siva","Insert paragraph after block":"Umetni odlomak poslije bloka","Insert paragraph before block":"Umetni odlomak prije bloka","Light blue":"Svijetloplava","Light green":"Svijetlozelena","Light grey":"Svijetlosiva",Next:"Sljedeći",Orange:"Narančasta",Previous:"Prethodni",Purple:"Ljubičasta",Red:"Crvena",Redo:"Ponovi","Remove color":"Ukloni boju","Restore default":"Vrati tvorničke postavke","Rich Text Editor":"Rich Text Editor","Rich Text Editor, %0":"Rich Text Editor, %0",Save:"Snimi","Select all":"Odaberi sve","Show more items":"Prikaži više stavaka",Turquoise:"Tirkizna",Undo:"Poništi","Upload in progress":"Slanje u tijeku",White:"Bijela","Widget toolbar":"Traka sa spravicama",Yellow:"Žuta"}),e.getPluralForm=function(a){return a%10==1&&a%100!=11?0:a%10>=2&&a%10<=4&&(a%100<10||a%100>=20)?1:2}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(a){const e=a.hr=a.hr||{};e.dictionary=Object.assign(e.dictionary||{},{"%0 of %1":"%0 od %1",Aquamarine:"Akvamarin",Black:"Crna",Blue:"Plava",Cancel:"Poništi","Cannot upload file:":"Datoteku nije moguće poslati:","Dim grey":"Tamnosiva","Dropdown toolbar":"Traka padajućeg izbornika","Edit block":"Uredi blok","Editor block content toolbar":"","Editor contextual toolbar":"","Editor editing area: %0":"","Editor toolbar":"Traka uređivača",Green:"Zelena",Grey:"Siva","Insert paragraph after block":"Umetni odlomak poslije bloka","Insert paragraph before block":"Umetni odlomak prije bloka","Light blue":"Svijetloplava","Light green":"Svijetlozelena","Light grey":"Svijetlosiva",Next:"Sljedeći",Orange:"Narančasta",Previous:"Prethodni",Purple:"Ljubičasta",Red:"Crvena",Redo:"Ponovi","Remove color":"Ukloni boju","Restore default":"Vrati tvorničke postavke","Rich Text Editor":"Rich Text Editor","Rich Text Editor. Editing area: %0":"",Save:"Snimi","Select all":"Odaberi sve","Show more items":"Prikaži više stavaka",Turquoise:"Tirkizna",Undo:"Poništi","Upload in progress":"Slanje u tijeku",White:"Bijela","Widget toolbar":"Traka sa spravicama",Yellow:"Žuta"}),e.getPluralForm=function(a){return a%10==1&&a%100!=11?0:a%10>=2&&a%10<=4&&(a%100<10||a%100>=20)?1:2}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/hu.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/hu.js index e4ad71e54..2632a8389 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/hu.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/hu.js @@ -1 +1 @@ -!function(e){const t=e.hu=e.hu||{};t.dictionary=Object.assign(t.dictionary||{},{"%0 of %1":"%0 / %1",Aquamarine:"Kékeszöld",Black:"Fekete",Blue:"Kék",Cancel:"Mégsem","Cannot upload file:":"Nem sikerült a fájl feltöltése:","Dim grey":"Halvány szürke","Dropdown toolbar":"Lenyíló eszköztár","Edit block":"Blokk szerkesztése","Editor toolbar":"Szerkesztő eszköztár",Green:"Zöld",Grey:"Szürke","Insert paragraph after block":"Bekezdés beszúrása utána","Insert paragraph before block":"Bekezdés beszúrása elé","Light blue":"Világoskék","Light green":"Világoszöld","Light grey":"Világosszürke",Next:"Következő",Orange:"Narancs",Previous:"Előző",Purple:"Lila",Red:"Piros",Redo:"Újra","Remove color":"Szín eltávolítása","Restore default":"Alapértelmezés visszaállítása","Rich Text Editor":"Bővített szövegszerkesztő","Rich Text Editor, %0":"Bővített szövegszerkesztő, %0",Save:"Mentés","Select all":"Mindet kijelöl","Show more items":"További elemek",Turquoise:"Türkiz",Undo:"Visszavonás","Upload in progress":"A feltöltés folyamatban",White:"Fehér","Widget toolbar":"Widget eszköztár",Yellow:"Sárga"}),t.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const t=e.hu=e.hu||{};t.dictionary=Object.assign(t.dictionary||{},{"%0 of %1":"%0 / %1",Aquamarine:"Kékeszöld",Black:"Fekete",Blue:"Kék",Cancel:"Mégsem","Cannot upload file:":"Nem sikerült a fájl feltöltése:","Dim grey":"Halvány szürke","Dropdown toolbar":"Lenyíló eszköztár","Edit block":"Blokk szerkesztése","Editor block content toolbar":"","Editor contextual toolbar":"","Editor editing area: %0":"Szerkesztő szerkesztési területe: %0","Editor toolbar":"Szerkesztő eszköztár",Green:"Zöld",Grey:"Szürke","Insert paragraph after block":"Bekezdés beszúrása utána","Insert paragraph before block":"Bekezdés beszúrása elé","Light blue":"Világoskék","Light green":"Világoszöld","Light grey":"Világosszürke",Next:"Következő",Orange:"Narancs",Previous:"Előző",Purple:"Lila",Red:"Piros",Redo:"Újra","Remove color":"Szín eltávolítása","Restore default":"Alapértelmezés visszaállítása","Rich Text Editor":"Bővített szövegszerkesztő","Rich Text Editor. Editing area: %0":"Rich text szerkesztő. Szerkesztési terület: %0",Save:"Mentés","Select all":"Mindet kijelöl","Show more items":"További elemek",Turquoise:"Türkiz",Undo:"Visszavonás","Upload in progress":"A feltöltés folyamatban",White:"Fehér","Widget toolbar":"Widget eszköztár",Yellow:"Sárga"}),t.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/id.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/id.js index 642e3f19e..d14217c72 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/id.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/id.js @@ -1 +1 @@ -!function(a){const e=a.id=a.id||{};e.dictionary=Object.assign(e.dictionary||{},{"%0 of %1":"%0 dari %1",Aquamarine:"Biru laut",Black:"Hitam",Blue:"Biru",Cancel:"Batal","Cannot upload file:":"Tidak dapat mengunggah berkas:","Dim grey":"Kelabu gelap","Dropdown toolbar":"Alat dropdown","Edit block":"Sunting blok","Editor toolbar":"Alat editor",Green:"Hijau",Grey:"Kelabu","Insert paragraph after block":"Tambahkan paragraf setelah blok","Insert paragraph before block":"Tambahkan paragraf sebelum blok","Light blue":"Biru terang","Light green":"Hijau terang","Light grey":"Kelabu terang",Next:"Berikutnya",Orange:"Jingga",Previous:"Sebelumnya",Purple:"Ungu",Red:"Merah",Redo:"Lakukan lagi","Remove color":"Hapus warna","Restore default":"","Rich Text Editor":"Editor Teks Kaya","Rich Text Editor, %0":"Editor Teks Kaya, %0",Save:"Simpan","Select all":"Pilih semua","Show more items":"",Turquoise:"Turkish",Undo:"Batal","Upload in progress":"Sedang mengunggah",White:"Putih","Widget toolbar":"Alat widget",Yellow:"Kuning"}),e.getPluralForm=function(a){return 0}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(a){const e=a.id=a.id||{};e.dictionary=Object.assign(e.dictionary||{},{"%0 of %1":"%0 dari %1",Aquamarine:"Biru laut",Black:"Hitam",Blue:"Biru",Cancel:"Batal","Cannot upload file:":"Tidak dapat mengunggah berkas:","Dim grey":"Kelabu gelap","Dropdown toolbar":"Alat dropdown","Edit block":"Sunting blok","Editor block content toolbar":"","Editor contextual toolbar":"","Editor editing area: %0":"Area edit editor: %0","Editor toolbar":"Alat editor",Green:"Hijau",Grey:"Kelabu","Insert paragraph after block":"Tambahkan paragraf setelah blok","Insert paragraph before block":"Tambahkan paragraf sebelum blok","Light blue":"Biru terang","Light green":"Hijau terang","Light grey":"Kelabu terang",Next:"Berikutnya",Orange:"Jingga",Previous:"Sebelumnya",Purple:"Ungu",Red:"Merah",Redo:"Lakukan lagi","Remove color":"Hapus warna","Restore default":"Pulihkan nilai baku","Rich Text Editor":"Editor Teks Kaya","Rich Text Editor. Editing area: %0":"Editor Teks Kaya. Area edit: %0",Save:"Simpan","Select all":"Pilih semua","Show more items":"Tampilkan lebih banyak item",Turquoise:"Turkish",Undo:"Batal","Upload in progress":"Sedang mengunggah",White:"Putih","Widget toolbar":"Alat widget",Yellow:"Kuning"}),e.getPluralForm=function(a){return 0}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/it.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/it.js index f3323286b..c5d6cc7eb 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/it.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/it.js @@ -1 +1 @@ -!function(i){const o=i.it=i.it||{};o.dictionary=Object.assign(o.dictionary||{},{"%0 of %1":"%0 di %1",Aquamarine:"Aquamarina",Black:"Nero",Blue:"Blu",Cancel:"Annulla","Cannot upload file:":"Impossibile caricare il file:","Dim grey":"Grigio tenue","Dropdown toolbar":"Barra degli strumenti del menu a discesa","Edit block":"Modifica blocco","Editor toolbar":"Barra degli strumenti dell'editor",Green:"Verde",Grey:"Grigio","Insert paragraph after block":"Inserisci paragrafo dopo blocco","Insert paragraph before block":"Inserisci paragrafo prima di blocco","Light blue":"Azzurro","Light green":"Verde chiaro","Light grey":"Grigio chiaro",Next:"Avanti",Orange:"Arancio",Previous:"Indietro",Purple:"Porpora",Red:"Rosso",Redo:"Ripristina","Remove color":"Rimuovi colore","Restore default":"Ripristina predefinito","Rich Text Editor":"Editor di testo formattato","Rich Text Editor, %0":"Editor di testo formattato, %0",Save:"Salva","Select all":"Seleziona tutto","Show more items":"Mostra più elementi",Turquoise:"Turchese",Undo:"Annulla","Upload in progress":"Caricamento in corso",White:"Bianco","Widget toolbar":"Barra degli strumenti del widget",Yellow:"Giallo"}),o.getPluralForm=function(i){return 1!=i}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(i){const o=i.it=i.it||{};o.dictionary=Object.assign(o.dictionary||{},{"%0 of %1":"%0 di %1",Aquamarine:"Aquamarina",Black:"Nero",Blue:"Blu",Cancel:"Annulla","Cannot upload file:":"Impossibile caricare il file:","Dim grey":"Grigio tenue","Dropdown toolbar":"Barra degli strumenti del menu a discesa","Edit block":"Modifica blocco","Editor block content toolbar":"","Editor contextual toolbar":"","Editor editing area: %0":"Area di modifica dell'editor: %0","Editor toolbar":"Barra degli strumenti dell'editor",Green:"Verde",Grey:"Grigio","Insert paragraph after block":"Inserisci paragrafo dopo blocco","Insert paragraph before block":"Inserisci paragrafo prima di blocco","Light blue":"Azzurro","Light green":"Verde chiaro","Light grey":"Grigio chiaro",Next:"Avanti",Orange:"Arancio",Previous:"Indietro",Purple:"Porpora",Red:"Rosso",Redo:"Ripristina","Remove color":"Rimuovi colore","Restore default":"Ripristina predefinito","Rich Text Editor":"Editor di testo formattato","Rich Text Editor. Editing area: %0":"Editor Rich Text. Area di modifica: %0",Save:"Salva","Select all":"Seleziona tutto","Show more items":"Mostra più elementi",Turquoise:"Turchese",Undo:"Annulla","Upload in progress":"Caricamento in corso",White:"Bianco","Widget toolbar":"Barra degli strumenti del widget",Yellow:"Giallo"}),o.getPluralForm=function(i){return 1==i?0:0!=i&&i%1e6==0?1:2}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ja.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ja.js index 367e9e353..c307b225f 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ja.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ja.js @@ -1 +1 @@ -!function(e){const o=e.ja=e.ja||{};o.dictionary=Object.assign(o.dictionary||{},{"%0 of %1":"",Aquamarine:"薄い青緑",Black:"黒",Blue:"青",Cancel:"キャンセル","Cannot upload file:":"ファイルをアップロードできません:","Dim grey":"暗い灰色","Dropdown toolbar":"","Edit block":"","Editor toolbar":"",Green:"緑",Grey:"灰色","Insert paragraph after block":"ブロックの後にパラグラフを挿入","Insert paragraph before block":"ブロックの前にパラグラフを挿入","Light blue":"明るい青","Light green":"明るい緑","Light grey":"明るい灰色",Next:"",Orange:"オレンジ",Previous:"",Purple:"紫",Red:"赤",Redo:"やり直し","Remove color":"カラーを削除","Restore default":"","Rich Text Editor":"リッチテキストエディター","Rich Text Editor, %0":"リッチテキストエディター, %0",Save:"保存","Select all":"すべて選択","Show more items":"",Turquoise:"水色",Undo:"元に戻す","Upload in progress":"アップロード中",White:"白","Widget toolbar":"ウィジェットツールバー",Yellow:"黄"}),o.getPluralForm=function(e){return 0}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(o){const e=o.ja=o.ja||{};e.dictionary=Object.assign(e.dictionary||{},{"%0 of %1":"%0/%1",Aquamarine:"薄い青緑",Black:"黒",Blue:"青",Cancel:"キャンセル","Cannot upload file:":"ファイルをアップロードできません:","Dim grey":"暗い灰色","Dropdown toolbar":"ドロップダウンツールバー","Edit block":"ブロックを編集","Editor block content toolbar":"","Editor contextual toolbar":"","Editor editing area: %0":"エディタ編集エリア:%0","Editor toolbar":"エディタツールバー",Green:"緑",Grey:"灰色","Insert paragraph after block":"ブロックの後にパラグラフを挿入","Insert paragraph before block":"ブロックの前にパラグラフを挿入","Light blue":"明るい青","Light green":"明るい緑","Light grey":"明るい灰色",Next:"次へ",Orange:"オレンジ",Previous:"前へ",Purple:"紫",Red:"赤",Redo:"やり直し","Remove color":"カラーを削除","Restore default":"初期値に戻す","Rich Text Editor":"リッチテキストエディター","Rich Text Editor. Editing area: %0":"リッチテキストエディタ。編集エリア:%0",Save:"保存","Select all":"すべて選択","Show more items":"他の項目を表示",Turquoise:"水色",Undo:"元に戻す","Upload in progress":"アップロード中",White:"白","Widget toolbar":"ウィジェットツールバー",Yellow:"黄"}),e.getPluralForm=function(o){return 0}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/jv.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/jv.js index 199de0701..06de8d9ce 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/jv.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/jv.js @@ -1 +1 @@ -!function(a){const n=a.jv=a.jv||{};n.dictionary=Object.assign(n.dictionary||{},{"%0 of %1":"%0 saking %1",Cancel:"Batal","Cannot upload file:":"Mboden saged ngirim berkas:","Remove color":"Busek warni","Restore default":"Mangsulaken default",Save:"Rimat","Show more items":"Tampilaken langkung kathah"}),n.getPluralForm=function(a){return 0}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(a){const n=a.jv=a.jv||{};n.dictionary=Object.assign(n.dictionary||{},{"%0 of %1":"%0 saking %1",Cancel:"Batal","Cannot upload file:":"Mboden saged ngirim berkas:","Remove color":"Busek warni","Restore default":"Mangsulaken default","Rich Text Editor. Editing area: %0":"",Save:"Rimat","Show more items":"Tampilaken langkung kathah"}),n.getPluralForm=function(a){return 0}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/km.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/km.js index 54d371413..bafb140fa 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/km.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/km.js @@ -1 +1 @@ -!function(e){const o=e.km=e.km||{};o.dictionary=Object.assign(o.dictionary||{},{"%0 of %1":"",Aquamarine:"",Black:"",Blue:"",Cancel:"បោះបង់","Cannot upload file:":"មិនអាច​អាប់ឡូត​ឯកសារ៖","Dim grey":"","Dropdown toolbar":"","Edit block":"","Editor toolbar":"",Green:"",Grey:"","Light blue":"","Light green":"","Light grey":"",Next:"",Orange:"",Previous:"",Purple:"",Red:"",Redo:"ធ្វើ​វិញ","Remove color":"","Restore default":"","Rich Text Editor":"កម្មវិធី​កែសម្រួល​អត្ថបទ​សម្បូរបែប","Rich Text Editor, %0":"កម្មវិធី​កែសម្រួល​អត្ថបទ​សម្បូរបែប, %0",Save:"រក្សាទុ","Show more items":"",Turquoise:"",Undo:"លែង​ធ្វើ​វិញ",White:"",Yellow:""}),o.getPluralForm=function(e){return 0}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(o){const e=o.km=o.km||{};e.dictionary=Object.assign(e.dictionary||{},{"%0 of %1":"",Aquamarine:"",Black:"",Blue:"",Cancel:"បោះបង់","Cannot upload file:":"មិនអាច​អាប់ឡូត​ឯកសារ៖","Dim grey":"","Dropdown toolbar":"","Edit block":"","Editor block content toolbar":"","Editor contextual toolbar":"","Editor editing area: %0":"","Editor toolbar":"",Green:"",Grey:"","Light blue":"","Light green":"","Light grey":"",Next:"",Orange:"",Previous:"",Purple:"",Red:"",Redo:"ធ្វើ​វិញ","Remove color":"","Restore default":"","Rich Text Editor":"កម្មវិធី​កែសម្រួល​អត្ថបទ​សម្បូរបែប","Rich Text Editor. Editing area: %0":"",Save:"រក្សាទុ","Show more items":"",Turquoise:"",Undo:"លែង​ធ្វើ​វិញ",White:"",Yellow:""}),e.getPluralForm=function(o){return 0}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/kn.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/kn.js index 63e66bd1e..6d865ef1c 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/kn.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/kn.js @@ -1 +1 @@ -!function(e){const o=e.kn=e.kn||{};o.dictionary=Object.assign(o.dictionary||{},{"%0 of %1":"",Aquamarine:"",Black:"",Blue:"",Cancel:"ರದ್ದುಮಾಡು","Cannot upload file:":"","Dim grey":"","Dropdown toolbar":"","Edit block":"","Editor toolbar":"",Green:"",Grey:"","Light blue":"","Light green":"","Light grey":"",Next:"",Orange:"",Previous:"",Purple:"",Red:"",Redo:"‍ಮತ್ತೆ ಮಾಡು","Remove color":"","Restore default":"","Rich Text Editor":"‍ಸಮೃದ್ಧ ಪಠ್ಯ ಸಂಪಾದಕ‍‍","Rich Text Editor, %0":"‍ಸಮೃದ್ಧ ಪಠ್ಯ ಸಂಪಾದಕ‍, %0",Save:"ಉಳಿಸು","Show more items":"",Turquoise:"",Undo:"‍‍ರದ್ದು",White:"",Yellow:""}),o.getPluralForm=function(e){return e>1}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(o){const e=o.kn=o.kn||{};e.dictionary=Object.assign(e.dictionary||{},{"%0 of %1":"",Aquamarine:"",Black:"",Blue:"",Cancel:"ರದ್ದುಮಾಡು","Cannot upload file:":"","Dim grey":"","Dropdown toolbar":"","Edit block":"","Editor block content toolbar":"","Editor contextual toolbar":"","Editor editing area: %0":"","Editor toolbar":"",Green:"",Grey:"","Light blue":"","Light green":"","Light grey":"",Next:"",Orange:"",Previous:"",Purple:"",Red:"",Redo:"‍ಮತ್ತೆ ಮಾಡು","Remove color":"","Restore default":"","Rich Text Editor":"‍ಸಮೃದ್ಧ ಪಠ್ಯ ಸಂಪಾದಕ‍‍","Rich Text Editor. Editing area: %0":"",Save:"ಉಳಿಸು","Show more items":"",Turquoise:"",Undo:"‍‍ರದ್ದು",White:"",Yellow:""}),e.getPluralForm=function(o){return o>1}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ko.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ko.js index 7b3220f30..a0205fc86 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ko.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ko.js @@ -1 +1 @@ -!function(e){const o=e.ko=e.ko||{};o.dictionary=Object.assign(o.dictionary||{},{"%0 of %1":"%0 / %1",Aquamarine:"연한 청록색",Black:"검은색",Blue:"파랑색",Cancel:"취소","Cannot upload file:":"파일 업로드할 수 없음: ","Dim grey":"진한 회색","Dropdown toolbar":"드롭다운 툴바","Edit block":"편집 영역","Editor toolbar":"에디터 툴바",Green:"초록색",Grey:"회색","Insert paragraph after block":"","Insert paragraph before block":"","Light blue":"연한 파랑색","Light green":"밝은 초록색","Light grey":"밝은 회색",Next:"다음",Orange:"주황색",Previous:"이전",Purple:"보라색",Red:"빨간색",Redo:"다시 실행","Remove color":"색깔 제거","Restore default":"","Rich Text Editor":"리치 텍스트 편집기","Rich Text Editor, %0":"리치 텍스트 편집기, %0",Save:"저장","Select all":"전체 선택","Show more items":"더보기",Turquoise:"청록색",Undo:"실행 취소","Upload in progress":"업로드 진행 중",White:"흰색","Widget toolbar":"위젯 툴바",Yellow:"노랑색"}),o.getPluralForm=function(e){return 0}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(o){const e=o.ko=o.ko||{};e.dictionary=Object.assign(e.dictionary||{},{"%0 of %1":"%0 / %1",Aquamarine:"연한 청록색",Black:"검은색",Blue:"파랑색",Cancel:"취소","Cannot upload file:":"파일 업로드할 수 없음: ","Dim grey":"진한 회색","Dropdown toolbar":"드롭다운 툴바","Edit block":"편집 영역","Editor block content toolbar":"","Editor contextual toolbar":"","Editor editing area: %0":"편집기 편집 영역: %0","Editor toolbar":"에디터 툴바",Green:"초록색",Grey:"회색","Insert paragraph after block":"블록 뒤에 단락 삽입","Insert paragraph before block":"블록 앞에 단락 삽입","Light blue":"연한 파랑색","Light green":"밝은 초록색","Light grey":"밝은 회색",Next:"다음",Orange:"주황색",Previous:"이전",Purple:"보라색",Red:"빨간색",Redo:"다시 실행","Remove color":"색깔 제거","Restore default":"기본값 복원","Rich Text Editor":"리치 텍스트 편집기","Rich Text Editor. Editing area: %0":"리치 텍스트 편집기. 편집 영역: %0",Save:"저장","Select all":"전체 선택","Show more items":"더보기",Turquoise:"청록색",Undo:"실행 취소","Upload in progress":"업로드 진행 중",White:"흰색","Widget toolbar":"위젯 툴바",Yellow:"노랑색"}),e.getPluralForm=function(o){return 0}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ku.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ku.js index 18572f0a4..e04ac8b63 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ku.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ku.js @@ -1 +1 @@ -!function(e){const o=e.ku=e.ku||{};o.dictionary=Object.assign(o.dictionary||{},{"%0 of %1":"%0 لە %1",Aquamarine:"شینی دەریایی",Black:"ڕەش",Blue:"شین",Cancel:"هەڵوەشاندنەوە","Cannot upload file:":"پەڕگەکە ناتوانرێت باربکرێت:","Dim grey":"ڕەساسی تاریک","Dropdown toolbar":"تووڵامرازی لیستەیی","Edit block":"دەستکاری بلۆک","Editor toolbar":"تووڵامرازی دەسکاریکەر",Green:"سەوز",Grey:"ڕەساسی","Insert paragraph after block":"","Insert paragraph before block":"","Light blue":"شینی ڕووناک","Light green":"سەوزی ڕووناک","Light grey":"ڕەساسی ڕووناک",Next:"دواتر",Orange:"پرتەقاڵی",Previous:"پێشتر",Purple:"مۆر",Red:"سور",Redo:"هەلگەڕاندنەوە","Remove color":"لابردنی ڕەنگ","Restore default":"","Rich Text Editor":"سەرنوسەری دەقی بەپیت","Rich Text Editor, %0":"سەرنوسەری دەقی بەپیت, %0",Save:"پاشکەوتکردن","Show more items":"بڕگەی زیاتر نیشانبدە",Turquoise:"شینی ئاسمانی",Undo:"وەک خۆی لێ بکەوە","Upload in progress":"بارکردنەکە لە جێبەجێکردن دایە",White:"سپی","Widget toolbar":"تووڵامرازی ویدجێت",Yellow:"زەرد"}),o.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(o){const e=o.ku=o.ku||{};e.dictionary=Object.assign(e.dictionary||{},{"%0 of %1":"%0 لە %1",Aquamarine:"شینی دەریایی",Black:"ڕەش",Blue:"شین",Cancel:"هەڵوەشاندنەوە","Cannot upload file:":"پەڕگەکە ناتوانرێت باربکرێت:","Dim grey":"ڕەساسی تاریک","Dropdown toolbar":"تووڵامرازی لیستەیی","Edit block":"دەستکاری بلۆک","Editor block content toolbar":"","Editor contextual toolbar":"","Editor editing area: %0":"","Editor toolbar":"تووڵامرازی دەسکاریکەر",Green:"سەوز",Grey:"ڕەساسی","Insert paragraph after block":"","Insert paragraph before block":"","Light blue":"شینی ڕووناک","Light green":"سەوزی ڕووناک","Light grey":"ڕەساسی ڕووناک",Next:"دواتر",Orange:"پرتەقاڵی",Previous:"پێشتر",Purple:"مۆر",Red:"سور",Redo:"هەلگەڕاندنەوە","Remove color":"لابردنی ڕەنگ","Restore default":"","Rich Text Editor":"سەرنوسەری دەقی بەپیت","Rich Text Editor. Editing area: %0":"",Save:"پاشکەوتکردن","Show more items":"بڕگەی زیاتر نیشانبدە",Turquoise:"شینی ئاسمانی",Undo:"وەک خۆی لێ بکەوە","Upload in progress":"بارکردنەکە لە جێبەجێکردن دایە",White:"سپی","Widget toolbar":"تووڵامرازی ویدجێت",Yellow:"زەرد"}),e.getPluralForm=function(o){return 1!=o}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/lt.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/lt.js index 7ee7cafca..f68c18542 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/lt.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/lt.js @@ -1 +1 @@ -!function(i){const a=i.lt=i.lt||{};a.dictionary=Object.assign(a.dictionary||{},{"%0 of %1":"",Aquamarine:"Aquamarine",Black:"Juoda",Blue:"Mėlyna",Cancel:"Atšaukti","Cannot upload file:":"Negalima įkelti failo:","Dim grey":"Pilkšva","Dropdown toolbar":"","Edit block":"Redaguoti bloką","Editor toolbar":"",Green:"Žalia",Grey:"Pilka","Light blue":"Šviesiai mėlyna","Light green":"Šviesiai žalia","Light grey":"Šviesiai pilka",Next:"",Orange:"Oranžinė",Previous:"",Purple:"Violetinė",Red:"Raudona",Redo:"Pirmyn","Remove color":"Pašalinti spalvą","Restore default":"","Rich Text Editor":"Raiškiojo teksto redaktorius","Rich Text Editor, %0":"Raiškiojo teksto redaktorius, %0",Save:"Išsaugoti","Show more items":"",Turquoise:"Turkio",Undo:"Atgal","Upload in progress":"Įkelima",White:"Balta",Yellow:"Geltona"}),a.getPluralForm=function(i){return i%10==1&&(i%100>19||i%100<11)?0:i%10>=2&&i%10<=9&&(i%100>19||i%100<11)?1:i%1!=0?2:3}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(i){const a=i.lt=i.lt||{};a.dictionary=Object.assign(a.dictionary||{},{"%0 of %1":"%0 iš %1",Aquamarine:"Aquamarine",Black:"Juoda",Blue:"Mėlyna",Cancel:"Atšaukti","Cannot upload file:":"Negalima įkelti failo:","Dim grey":"Pilkšva","Dropdown toolbar":"Įrankių juosta pasirenkamajame sąraše","Edit block":"Redaguoti bloką","Editor block content toolbar":"","Editor contextual toolbar":"","Editor editing area: %0":"Redaktoriaus redagavimo sritis: %0","Editor toolbar":"Redaktoriaus įrankių juosta",Green:"Žalia",Grey:"Pilka","Insert paragraph after block":"Įkelti pastraipą po bloko","Insert paragraph before block":"Įkelti pastraipą prieš bloką","Light blue":"Šviesiai mėlyna","Light green":"Šviesiai žalia","Light grey":"Šviesiai pilka",Next:"Kitas",Orange:"Oranžinė",Previous:"Buvęs",Purple:"Violetinė",Red:"Raudona",Redo:"Pirmyn","Remove color":"Pašalinti spalvą","Restore default":"Atkurti numatytuosius","Rich Text Editor":"Raiškiojo teksto redaktorius","Rich Text Editor. Editing area: %0":"Raiškiojo teksto redaktorius. Redagavimo sritis: %0",Save:"Išsaugoti","Select all":"Pasirinkti viską","Show more items":"Rodyti daugiau elementų",Turquoise:"Turkio",Undo:"Atgal","Upload in progress":"Įkelima",White:"Balta","Widget toolbar":"Valdiklių įrankių juosta",Yellow:"Geltona"}),a.getPluralForm=function(i){return i%10==1&&(i%100>19||i%100<11)?0:i%10>=2&&i%10<=9&&(i%100>19||i%100<11)?1:i%1!=0?2:3}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/lv.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/lv.js index 77c90e990..cf4782845 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/lv.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/lv.js @@ -1 +1 @@ -!function(e){const a=e.lv=e.lv||{};a.dictionary=Object.assign(a.dictionary||{},{"%0 of %1":"%0 no %1",Aquamarine:"Akvamarīns",Black:"Melns",Blue:"Zils",Cancel:"Atcelt","Cannot upload file:":"Nevar augšupielādēt failu:","Dim grey":"Blāvi pelēks","Dropdown toolbar":"Papildus izvēlnes rīkjosla","Edit block":"Labot bloku","Editor toolbar":"Redaktora rīkjosla",Green:"Zaļš",Grey:"Pelēks","Insert paragraph after block":"Ievietot paragrāfu aiz bloka","Insert paragraph before block":"Ievietot paragrāfu pirms bloka","Light blue":"Gaiši zils","Light green":"Gaiši zaļš","Light grey":"Gaiši pelēks",Next:"Nākamā",Orange:"Oranžs",Previous:"Iepriekšējā",Purple:"Violets",Red:"Sarkans",Redo:"Uz priekšu","Remove color":"Noņemt krāsu","Restore default":"Atgriezt noklusējumu","Rich Text Editor":"Bagātinātais Teksta Redaktors","Rich Text Editor, %0":"Bagātinātais Teksta Redaktors, %0",Save:"Saglabāt","Select all":"Izvēlēties visu","Show more items":"Parādīt vairāk vienumus",Turquoise:"Tirkīza",Undo:"Atsaukt","Upload in progress":"Notiek augšupielāde",White:"Balts","Widget toolbar":"Sīkrīku rīkjosla",Yellow:"Dzeltens"}),a.getPluralForm=function(e){return e%10==1&&e%100!=11?0:0!=e?1:2}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(a){const e=a.lv=a.lv||{};e.dictionary=Object.assign(e.dictionary||{},{"%0 of %1":"%0 no %1",Aquamarine:"Akvamarīns",Black:"Melns",Blue:"Zils",Cancel:"Atcelt","Cannot upload file:":"Nevar augšupielādēt failu:","Dim grey":"Blāvi pelēks","Dropdown toolbar":"Papildus izvēlnes rīkjosla","Edit block":"Labot bloku","Editor block content toolbar":"","Editor contextual toolbar":"","Editor editing area: %0":"Redaktora rediģēšanas zona: %0","Editor toolbar":"Redaktora rīkjosla",Green:"Zaļš",Grey:"Pelēks","Insert paragraph after block":"Ievietot paragrāfu aiz bloka","Insert paragraph before block":"Ievietot paragrāfu pirms bloka","Light blue":"Gaiši zils","Light green":"Gaiši zaļš","Light grey":"Gaiši pelēks",Next:"Nākamā",Orange:"Oranžs",Previous:"Iepriekšējā",Purple:"Violets",Red:"Sarkans",Redo:"Uz priekšu","Remove color":"Noņemt krāsu","Restore default":"Atgriezt noklusējumu","Rich Text Editor":"Bagātinātais Teksta Redaktors","Rich Text Editor. Editing area: %0":"Bagātīga Teksta Redaktors. Rediģēšanas zona: %0",Save:"Saglabāt","Select all":"Izvēlēties visu","Show more items":"Parādīt vairāk vienumus",Turquoise:"Tirkīza",Undo:"Atsaukt","Upload in progress":"Notiek augšupielāde",White:"Balts","Widget toolbar":"Sīkrīku rīkjosla",Yellow:"Dzeltens"}),e.getPluralForm=function(a){return a%10==1&&a%100!=11?0:0!=a?1:2}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ms.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ms.js index 793256b1a..a08176bec 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ms.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ms.js @@ -1 +1 @@ -!function(o){const n=o.ms=o.ms||{};n.dictionary=Object.assign(n.dictionary||{},{"%0 of %1":"",Cancel:"","Cannot upload file:":"Gagal memuat naik fail","Remove color":"","Restore default":"",Save:"","Show more items":""}),n.getPluralForm=function(o){return 0}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(a){const e=a.ms=a.ms||{};e.dictionary=Object.assign(e.dictionary||{},{"%0 of %1":"%0 daripada %1",Aquamarine:"Akuamarin",Black:"Hitam",Blue:"Biru",Cancel:"Batal","Cannot upload file:":"Gagal memuat naik fail","Dim grey":"Kelabu malap","Dropdown toolbar":"Bar alat capaian tetingkap","Edit block":"Sunting blok","Editor block content toolbar":"","Editor contextual toolbar":"","Editor editing area: %0":"Ruang suntingan editor: %0","Editor toolbar":"Bar alat capaian suntingan",Green:"Hijau",Grey:"Kelabu","Insert paragraph after block":"Masukkan perenggan sebelum blok","Insert paragraph before block":"Masukkan perenggan sebelum blok","Light blue":"Biru cerah","Light green":"Hijau cerah","Light grey":"Kelabu cerah",Next:"Seterusnya",Orange:"Oren",Previous:"Sebelumnya",Purple:"Ungu",Red:"Merah",Redo:"Buat semula","Remove color":"Buang warna","Restore default":"Pulihkan lalai","Rich Text Editor":"Penyunting Teks Kaya","Rich Text Editor. Editing area: %0":"Editor Teks Kaya. Ruang suntingan: %0",Save:"Simpan","Select all":"Pilih seterusnya","Show more items":"Tunjukkan item lain",Turquoise:"Firus",Undo:"Buat asal","Upload in progress":"Muat naik sedang berlangsung",White:"Putih","Widget toolbar":"Bar alat capaian widget",Yellow:"Kuning"}),e.getPluralForm=function(a){return 0}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/nb.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/nb.js index 9986ca541..1a0c63550 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/nb.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/nb.js @@ -1 +1 @@ -!function(e){const o=e.nb=e.nb||{};o.dictionary=Object.assign(o.dictionary||{},{"%0 of %1":"",Aquamarine:"",Black:"",Blue:"",Cancel:"Avbryt","Cannot upload file:":"Kan ikke laste opp fil:","Dim grey":"","Dropdown toolbar":"","Edit block":"","Editor toolbar":"",Green:"",Grey:"","Light blue":"","Light green":"","Light grey":"",Next:"",Orange:"",Previous:"",Purple:"",Red:"",Redo:"Gjør om","Remove color":"","Restore default":"","Rich Text Editor":"Rikteksteditor","Rich Text Editor, %0":"Rikteksteditor, %0",Save:"Lagre","Show more items":"",Turquoise:"",Undo:"Angre","Upload in progress":"Opplasting pågår",White:"",Yellow:""}),o.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(o){const e=o.nb=o.nb||{};e.dictionary=Object.assign(e.dictionary||{},{"%0 of %1":"",Aquamarine:"",Black:"",Blue:"",Cancel:"Avbryt","Cannot upload file:":"Kan ikke laste opp fil:","Dim grey":"","Dropdown toolbar":"","Edit block":"","Editor block content toolbar":"","Editor contextual toolbar":"","Editor editing area: %0":"","Editor toolbar":"",Green:"",Grey:"","Light blue":"","Light green":"","Light grey":"",Next:"",Orange:"",Previous:"",Purple:"",Red:"",Redo:"Gjør om","Remove color":"","Restore default":"","Rich Text Editor":"Rikteksteditor","Rich Text Editor. Editing area: %0":"",Save:"Lagre","Show more items":"",Turquoise:"",Undo:"Angre","Upload in progress":"Opplasting pågår",White:"",Yellow:""}),e.getPluralForm=function(o){return 1!=o}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ne.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ne.js index 17426ef95..0c5f41701 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ne.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ne.js @@ -1 +1 @@ -!function(e){const o=e.ne=e.ne||{};o.dictionary=Object.assign(o.dictionary||{},{"%0 of %1":"%0 मध्ये %1",Aquamarine:"अव्कवामरिन",Black:"कालो",Blue:"निलो",Cancel:"रद्द गर्नुहोस्","Cannot upload file:":"फाइल अपलोड गर्न मिल्दैन","Dim grey":"धमिलो खैरो","Dropdown toolbar":"","Edit block":"ब्लक सम्पादन गर्न","Editor toolbar":"",Green:"हरियो",Grey:"खैरो","Light blue":"हल्का निलो","Light green":"हल्का हरियो","Light grey":"हल्का खैरो",Next:"अर्को",Orange:"सुन्तला रंग",Previous:"अघिल्लो",Purple:"बैंगनी रंग",Red:"रातो",Redo:"रिडु","Remove color":"रंग हटाउन","Restore default":"","Rich Text Editor":"धनी पाठ सम्पादक","Rich Text Editor, %0":"धनी पाठ सम्पादक, %0",Save:"सुरक्षित गर्नुहोस्","Show more items":"",Turquoise:"त्रकोइस",Undo:"पूर्ववत","Upload in progress":"अपलोड हुदैछ",White:"सेतो",Yellow:"पहेंलो"}),o.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(o){const e=o.ne=o.ne||{};e.dictionary=Object.assign(e.dictionary||{},{"%0 of %1":"%0 मध्ये %1",Aquamarine:"अव्कवामरिन",Black:"कालो",Blue:"निलो",Cancel:"रद्द गर्नुहोस्","Cannot upload file:":"फाइल अपलोड गर्न मिल्दैन","Dim grey":"धमिलो खैरो","Dropdown toolbar":"","Edit block":"ब्लक सम्पादन गर्न","Editor block content toolbar":"","Editor contextual toolbar":"","Editor editing area: %0":"","Editor toolbar":"",Green:"हरियो",Grey:"खैरो","Light blue":"हल्का निलो","Light green":"हल्का हरियो","Light grey":"हल्का खैरो",Next:"अर्को",Orange:"सुन्तला रंग",Previous:"अघिल्लो",Purple:"बैंगनी रंग",Red:"रातो",Redo:"रिडु","Remove color":"रंग हटाउन","Restore default":"","Rich Text Editor":"धनी पाठ सम्पादक","Rich Text Editor. Editing area: %0":"",Save:"सुरक्षित गर्नुहोस्","Show more items":"",Turquoise:"त्रकोइस",Undo:"पूर्ववत","Upload in progress":"अपलोड हुदैछ",White:"सेतो",Yellow:"पहेंलो"}),e.getPluralForm=function(o){return 1!=o}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/nl.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/nl.js index b027f5c49..a6fd1603d 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/nl.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/nl.js @@ -1 +1 @@ -!function(e){const r=e.nl=e.nl||{};r.dictionary=Object.assign(r.dictionary||{},{"%0 of %1":"%0 van %1",Aquamarine:"Aquamarijn",Black:"Zwart",Blue:"Blauw",Cancel:"Annuleren","Cannot upload file:":"Kan bestand niet uploaden:","Dim grey":"Gedimd grijs","Dropdown toolbar":"Drop-down werkbalk","Edit block":"Blok aanpassen","Editor toolbar":"Editor welkbalk",Green:"Groen",Grey:"Grijs","Insert paragraph after block":"Voeg paragraaf toe na blok","Insert paragraph before block":"Voeg paragraaf toe voor blok","Light blue":"Lichtblauw","Light green":"Lichtgroen","Light grey":"Lichtgrijs",Next:"Volgende",Orange:"Oranje",Previous:"Vorige",Purple:"Paars",Red:"Rood",Redo:"Opnieuw","Remove color":"Verwijder kleur","Restore default":"Standaardinstellingen terugzetten","Rich Text Editor":"Tekstbewerker","Rich Text Editor, %0":"Tekstbewerker, %0",Save:"Opslaan","Select all":"Selecteer alles","Show more items":"Meer items weergeven",Turquoise:"Turquoise",Undo:"Ongedaan maken","Upload in progress":"Bezig met uploaden",White:"Wit","Widget toolbar":"Widget werkbalk",Yellow:"Geel"}),r.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const r=e.nl=e.nl||{};r.dictionary=Object.assign(r.dictionary||{},{"%0 of %1":"%0 van %1",Aquamarine:"Aquamarijn",Black:"Zwart",Blue:"Blauw",Cancel:"Annuleren","Cannot upload file:":"Kan bestand niet uploaden:","Dim grey":"Gedimd grijs","Dropdown toolbar":"Drop-down werkbalk","Edit block":"Blok aanpassen","Editor block content toolbar":"","Editor contextual toolbar":"","Editor editing area: %0":"Bewerkingsgebied: %0","Editor toolbar":"Editor welkbalk",Green:"Groen",Grey:"Grijs","Insert paragraph after block":"Voeg paragraaf toe na blok","Insert paragraph before block":"Voeg paragraaf toe voor blok","Light blue":"Lichtblauw","Light green":"Lichtgroen","Light grey":"Lichtgrijs",Next:"Volgende",Orange:"Oranje",Previous:"Vorige",Purple:"Paars",Red:"Rood",Redo:"Opnieuw","Remove color":"Verwijder kleur","Restore default":"Standaardinstellingen terugzetten","Rich Text Editor":"Tekstbewerker","Rich Text Editor. Editing area: %0":"Rich Text Editor. Bewerkingsgebied: %0",Save:"Opslaan","Select all":"Selecteer alles","Show more items":"Meer items weergeven",Turquoise:"Turquoise",Undo:"Ongedaan maken","Upload in progress":"Bezig met uploaden",White:"Wit","Widget toolbar":"Widget werkbalk",Yellow:"Geel"}),r.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/no.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/no.js index c2c78a3f2..bc3ccdb83 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/no.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/no.js @@ -1 +1 @@ -!function(e){const r=e.no=e.no||{};r.dictionary=Object.assign(r.dictionary||{},{"%0 of %1":"%0 av %1",Aquamarine:"Akvamarin",Black:"Svart",Blue:"Blå",Cancel:"Avbryt","Cannot upload file:":"Kan ikke laste opp fil:","Dim grey":"Svak grå","Dropdown toolbar":"Verktøylinje for nedtrekksliste","Edit block":"Rediger blokk","Editor toolbar":"Verktøylinje for redigeringsverktøy",Green:"Grønn",Grey:"Grå","Insert paragraph after block":"","Insert paragraph before block":"","Light blue":"Lyseblå","Light green":"Lysegrønn","Light grey":"Lysegrå",Next:"Neste",Orange:"Oransje",Previous:"Forrige",Purple:"Lilla",Red:"Rød",Redo:"Gjør om","Remove color":"Fjern farge","Restore default":"Tilbakestill til standard","Rich Text Editor":"Tekstredigeringsverktøy for rik tekst","Rich Text Editor, %0":"Tekstredigeringsverktøy for rik tekst, %0",Save:"Lagre","Select all":"Velg alt ","Show more items":"Vis flere elementer",Turquoise:"Turkis",Undo:"Angre","Upload in progress":"Laster opp fil",White:"Hvit","Widget toolbar":"Widget verktøylinje ",Yellow:"Gul"}),r.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const r=e.no=e.no||{};r.dictionary=Object.assign(r.dictionary||{},{"%0 of %1":"%0 av %1",Aquamarine:"Akvamarin",Black:"Svart",Blue:"Blå",Cancel:"Avbryt","Cannot upload file:":"Kan ikke laste opp fil:","Dim grey":"Svak grå","Dropdown toolbar":"Verktøylinje for nedtrekksliste","Edit block":"Rediger blokk","Editor block content toolbar":"","Editor contextual toolbar":"","Editor editing area: %0":"Redigeringsområde for redigeringsverktøyet: %0","Editor toolbar":"Verktøylinje for redigeringsverktøy",Green:"Grønn",Grey:"Grå","Insert paragraph after block":"Sett inn paragraf etter blokk","Insert paragraph before block":"Sett inn paragraf foran blokk","Light blue":"Lyseblå","Light green":"Lysegrønn","Light grey":"Lysegrå",Next:"Neste",Orange:"Oransje",Previous:"Forrige",Purple:"Lilla",Red:"Rød",Redo:"Gjør om","Remove color":"Fjern farge","Restore default":"Tilbakestill til standard","Rich Text Editor":"Tekstredigeringsverktøy for rik tekst","Rich Text Editor. Editing area: %0":"Redigeringsverktøy for rik tekst. Redigeringsområde: %0",Save:"Lagre","Select all":"Velg alt ","Show more items":"Vis flere elementer",Turquoise:"Turkis",Undo:"Angre","Upload in progress":"Laster opp fil",White:"Hvit","Widget toolbar":"Widget verktøylinje ",Yellow:"Gul"}),r.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/oc.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/oc.js index d7ebfc358..8a4d64504 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/oc.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/oc.js @@ -1 +1 @@ -!function(o){const n=o.oc=o.oc||{};n.dictionary=Object.assign(n.dictionary||{},{"%0 of %1":"",Cancel:"Anullar","Cannot upload file:":"","Remove color":"","Restore default":"",Save:"Enregistrar","Show more items":""}),n.getPluralForm=function(o){return o>1}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(o){const n=o.oc=o.oc||{};n.dictionary=Object.assign(n.dictionary||{},{"%0 of %1":"",Cancel:"Anullar","Cannot upload file:":"","Remove color":"","Restore default":"","Rich Text Editor. Editing area: %0":"",Save:"Enregistrar","Show more items":""}),n.getPluralForm=function(o){return o>1}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/pl.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/pl.js index 81bb94183..dfa45e4e9 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/pl.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/pl.js @@ -1 +1 @@ -!function(o){const e=o.pl=o.pl||{};e.dictionary=Object.assign(e.dictionary||{},{"%0 of %1":"%0 z %1",Aquamarine:"Akwamaryna",Black:"Czarny",Blue:"Niebieski",Cancel:"Anuluj","Cannot upload file:":"Nie można przesłać pliku:","Dim grey":"Ciemnoszary","Dropdown toolbar":"Rozwijany pasek narzędzi","Edit block":"Edytuj blok","Editor toolbar":"Pasek narzędzi edytora",Green:"Zielony",Grey:"Szary","Insert paragraph after block":"Wstaw akapit po bloku","Insert paragraph before block":"Wstaw akapit przed blokiem","Light blue":"Jasnoniebieski","Light green":"Jasnozielony","Light grey":"Jasnoszary",Next:"Następny",Orange:"Pomarańczowy",Previous:"Poprzedni",Purple:"Purpurowy",Red:"Czerwony",Redo:"Ponów","Remove color":"Usuń kolor","Restore default":"Przywróć domyślne","Rich Text Editor":"Edytor tekstu sformatowanego","Rich Text Editor, %0":"Edytor tekstu sformatowanego, %0",Save:"Zapisz","Select all":"Zaznacz wszystko","Show more items":"Pokaż więcej",Turquoise:"Turkusowy",Undo:"Cofnij","Upload in progress":"Trwa przesyłanie",White:"Biały","Widget toolbar":"Pasek widgetów",Yellow:"Żółty"}),e.getPluralForm=function(o){return 1==o?0:o%10>=2&&o%10<=4&&(o%100<12||o%100>14)?1:1!=o&&o%10>=0&&o%10<=1||o%10>=5&&o%10<=9||o%100>=12&&o%100<=14?2:3}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(o){const e=o.pl=o.pl||{};e.dictionary=Object.assign(e.dictionary||{},{"%0 of %1":"%0 z %1",Aquamarine:"Akwamaryna",Black:"Czarny",Blue:"Niebieski",Cancel:"Anuluj","Cannot upload file:":"Nie można przesłać pliku:","Dim grey":"Ciemnoszary","Dropdown toolbar":"Rozwijany pasek narzędzi","Edit block":"Edytuj blok","Editor block content toolbar":"","Editor contextual toolbar":"","Editor editing area: %0":"Obszar edycji edytora: %0","Editor toolbar":"Pasek narzędzi edytora",Green:"Zielony",Grey:"Szary","Insert paragraph after block":"Wstaw akapit po bloku","Insert paragraph before block":"Wstaw akapit przed blokiem","Light blue":"Jasnoniebieski","Light green":"Jasnozielony","Light grey":"Jasnoszary",Next:"Następny",Orange:"Pomarańczowy",Previous:"Poprzedni",Purple:"Purpurowy",Red:"Czerwony",Redo:"Ponów","Remove color":"Usuń kolor","Restore default":"Przywróć domyślne","Rich Text Editor":"Edytor tekstu sformatowanego","Rich Text Editor. Editing area: %0":"Edytor tekstu. Obszar edycji: %0",Save:"Zapisz","Select all":"Zaznacz wszystko","Show more items":"Pokaż więcej",Turquoise:"Turkusowy",Undo:"Cofnij","Upload in progress":"Trwa przesyłanie",White:"Biały","Widget toolbar":"Pasek widgetów",Yellow:"Żółty"}),e.getPluralForm=function(o){return 1==o?0:o%10>=2&&o%10<=4&&(o%100<12||o%100>14)?1:1!=o&&o%10>=0&&o%10<=1||o%10>=5&&o%10<=9||o%100>=12&&o%100<=14?2:3}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/pt-br.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/pt-br.js index e793a1294..3d3a896fa 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/pt-br.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/pt-br.js @@ -1 +1 @@ -!function(r){const e=r["pt-br"]=r["pt-br"]||{};e.dictionary=Object.assign(e.dictionary||{},{"%0 of %1":"%0 de %1",Aquamarine:"Água-marinha",Black:"Preto",Blue:"Azul",Cancel:"Cancelar","Cannot upload file:":"Não foi possível enviar o arquivo:","Dim grey":"Cinza escuro","Dropdown toolbar":"Barra de Ferramentas da Lista Suspensa","Edit block":"Editor de bloco","Editor toolbar":"Ferramentas do Editor",Green:"Verde",Grey:"Cinza","Insert paragraph after block":"Inserir parágrafo após o bloco","Insert paragraph before block":"Inserir parágrafo antes do bloco","Light blue":"Azul claro","Light green":"Verde claro","Light grey":"Cinza claro",Next:"Próximo",Orange:"Laranja",Previous:"Anterior",Purple:"Púrpura",Red:"Vermelho",Redo:"Refazer","Remove color":"Remover cor","Restore default":"Restaurar padrão","Rich Text Editor":"Editor de Formatação","Rich Text Editor, %0":"Editor de Formatação, %0",Save:"Salvar","Select all":"Selecionar tudo","Show more items":"Exibir mais itens",Turquoise:"Turquesa",Undo:"Desfazer","Upload in progress":"Enviando dados",White:"Branco","Widget toolbar":"Ferramentas de Widgets",Yellow:"Amarelo"}),e.getPluralForm=function(r){return r>1}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(r){const e=r["pt-br"]=r["pt-br"]||{};e.dictionary=Object.assign(e.dictionary||{},{"%0 of %1":"%0 de %1",Aquamarine:"Água-marinha",Black:"Preto",Blue:"Azul",Cancel:"Cancelar","Cannot upload file:":"Não foi possível enviar o arquivo:","Dim grey":"Cinza escuro","Dropdown toolbar":"Barra de Ferramentas da Lista Suspensa","Edit block":"Editor de bloco","Editor block content toolbar":"","Editor contextual toolbar":"","Editor editing area: %0":"Área de edição do editor: %0","Editor toolbar":"Ferramentas do Editor",Green:"Verde",Grey:"Cinza","Insert paragraph after block":"Inserir parágrafo após o bloco","Insert paragraph before block":"Inserir parágrafo antes do bloco","Light blue":"Azul claro","Light green":"Verde claro","Light grey":"Cinza claro",Next:"Próximo",Orange:"Laranja",Previous:"Anterior",Purple:"Púrpura",Red:"Vermelho",Redo:"Refazer","Remove color":"Remover cor","Restore default":"Restaurar padrão","Rich Text Editor":"Editor de Formatação","Rich Text Editor. Editing area: %0":"Editor de Texto Valioso. Área de edição: %0",Save:"Salvar","Select all":"Selecionar tudo","Show more items":"Exibir mais itens",Turquoise:"Turquesa",Undo:"Desfazer","Upload in progress":"Enviando dados",White:"Branco","Widget toolbar":"Ferramentas de Widgets",Yellow:"Amarelo"}),e.getPluralForm=function(r){return 0==r||1==r?0:0!=r&&r%1e6==0?1:2}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/pt.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/pt.js index 68adc09de..55e14ae3f 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/pt.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/pt.js @@ -1 +1 @@ -!function(e){const o=e.pt=e.pt||{};o.dictionary=Object.assign(o.dictionary||{},{"%0 of %1":"",Aquamarine:"",Black:"",Blue:"",Cancel:"Cancelar","Cannot upload file:":"Não foi possível carregar o ficheiro:","Dim grey":"","Dropdown toolbar":"","Edit block":"","Editor toolbar":"",Green:"",Grey:"","Light blue":"","Light green":"","Light grey":"",Next:"",Orange:"",Previous:"",Purple:"",Red:"",Redo:"Refazer","Remove color":"","Restore default":"","Rich Text Editor":"Editor de texto avançado","Rich Text Editor, %0":"Editor de texto avançado, %0",Save:"Guardar","Show more items":"",Turquoise:"",Undo:"Desfazer",White:"",Yellow:""}),o.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const r=e.pt=e.pt||{};r.dictionary=Object.assign(r.dictionary||{},{"%0 of %1":"%0 de %1",Aquamarine:"Verde-azulado",Black:"Preto",Blue:"Azul",Cancel:"Cancelar","Cannot upload file:":"Não foi possível carregar o ficheiro:","Dim grey":"Cinzento-escuro","Dropdown toolbar":"Barra de ferramentas do dropdown","Edit block":"Editar bloco","Editor block content toolbar":"","Editor contextual toolbar":"","Editor editing area: %0":"Área de edição do editor: %0","Editor toolbar":"Barra de ferramentas do editor",Green:"Verde",Grey:"Cinzento","Insert paragraph after block":"Inserir parágrafo após o bloco","Insert paragraph before block":"Inserir parágrafo antes do bloco","Light blue":"Azul-claro","Light green":"Verde-claro","Light grey":"Cinzento-claro",Next:"Seguinte",Orange:"Laranja",Previous:"Anterior",Purple:"Roxo",Red:"Vermelho",Redo:"Refazer","Remove color":"Remover cor","Restore default":"Restaurar predefinição","Rich Text Editor":"Editor de texto avançado","Rich Text Editor. Editing area: %0":"Editor de Texto Formatado. Área de edição: %0",Save:"Guardar","Select all":"Selecionar todos","Show more items":"Mostrar mais itens",Turquoise:"Turquesa",Undo:"Desfazer","Upload in progress":"Carregamento em progresso",White:"Branco","Widget toolbar":"Barra de ferramentas do widget",Yellow:"Amarelo"}),r.getPluralForm=function(e){return 0==e||1==e?0:0!=e&&e%1e6==0?1:2}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ro.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ro.js index 237586217..43b4138a7 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ro.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ro.js @@ -1 +1 @@ -!function(e){const r=e.ro=e.ro||{};r.dictionary=Object.assign(r.dictionary||{},{"%0 of %1":"%0 din %1",Aquamarine:"Acvamarin",Black:"Negru",Blue:"Albastru",Cancel:"Anulare","Cannot upload file:":"Nu se poate încărca fișierul:","Dim grey":"Gri slab","Dropdown toolbar":"Bară listă opțiuni","Edit block":"Editează bloc","Editor toolbar":"Bară editor",Green:"Verde",Grey:"Gri","Insert paragraph after block":"Inserează un paragraf după bloc","Insert paragraph before block":"Inserează un paragraf înaintea blocului","Light blue":"Albastru deschis","Light green":"Verde deschis","Light grey":"Gri deschis",Next:"Înainte",Orange:"Portocaliu",Previous:"Înapoi",Purple:"Violet",Red:"Roșu",Redo:"Revenire","Remove color":"Șterge culoare","Restore default":"Reface la default","Rich Text Editor":"Editor de text","Rich Text Editor, %0":"Editor de text, %0",Save:"Salvare","Select all":"Selectează-le pe toate","Show more items":"Arată mai multe elemente",Turquoise:"Turcoaz",Undo:"Anulare","Upload in progress":"Încărcare în curs",White:"Alb","Widget toolbar":"Bară widget",Yellow:"Galben"}),r.getPluralForm=function(e){return 1==e?0:e%100>19||e%100==0&&0!=e?2:1}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const r=e.ro=e.ro||{};r.dictionary=Object.assign(r.dictionary||{},{"%0 of %1":"%0 din %1",Aquamarine:"Acvamarin",Black:"Negru",Blue:"Albastru",Cancel:"Anulare","Cannot upload file:":"Nu se poate încărca fișierul:","Dim grey":"Gri slab","Dropdown toolbar":"Bară listă opțiuni","Edit block":"Editează bloc","Editor block content toolbar":"","Editor contextual toolbar":"","Editor editing area: %0":"Zonă editare editor: %0","Editor toolbar":"Bară editor",Green:"Verde",Grey:"Gri","Insert paragraph after block":"Inserează un paragraf după bloc","Insert paragraph before block":"Inserează un paragraf înaintea blocului","Light blue":"Albastru deschis","Light green":"Verde deschis","Light grey":"Gri deschis",Next:"Înainte",Orange:"Portocaliu",Previous:"Înapoi",Purple:"Violet",Red:"Roșu",Redo:"Revenire","Remove color":"Șterge culoare","Restore default":"Reface la default","Rich Text Editor":"Editor de text","Rich Text Editor. Editing area: %0":"Editor Rich Text. Zonă editare: %0",Save:"Salvare","Select all":"Selectează-le pe toate","Show more items":"Arată mai multe elemente",Turquoise:"Turcoaz",Undo:"Anulare","Upload in progress":"Încărcare în curs",White:"Alb","Widget toolbar":"Bară widget",Yellow:"Galben"}),r.getPluralForm=function(e){return 1==e?0:e%100>19||e%100==0&&0!=e?2:1}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ru.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ru.js index e0d03713c..11c0e1036 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ru.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ru.js @@ -1 +1 @@ -!function(e){const o=e.ru=e.ru||{};o.dictionary=Object.assign(o.dictionary||{},{"%0 of %1":"%0 из %1",Aquamarine:"Аквамариновый",Black:"Чёрный",Blue:"Синий",Cancel:"Отмена","Cannot upload file:":"Невозможно загрузить файл","Dim grey":"Тёмно-серый","Dropdown toolbar":"Выпадающая панель инструментов","Edit block":"Редактировать блок","Editor toolbar":"Панель инструментов редактора",Green:"Зелёный",Grey:"Серый","Insert paragraph after block":"Вставить параграф после блока","Insert paragraph before block":"Вставить параграф перед блоком","Light blue":"Голубой","Light green":"Салатовый","Light grey":"Светло-серый",Next:"Следующий",Orange:"Оранжевый",Previous:"Предыдущий",Purple:"Фиолетовый",Red:"Красный",Redo:"Повторить","Remove color":"Убрать цвет","Restore default":"По умолчанию","Rich Text Editor":"Редактор","Rich Text Editor, %0":"Редактор, %0",Save:"Сохранить","Select all":"Выбрать все","Show more items":"Другие инструменты",Turquoise:"Бирюзовый",Undo:"Отменить","Upload in progress":"Идёт загрузка",White:"Белый","Widget toolbar":"Панель инструментов виджета",Yellow:"Жёлтый"}),o.getPluralForm=function(e){return e%10==1&&e%100!=11?0:e%10>=2&&e%10<=4&&(e%100<12||e%100>14)?1:e%10==0||e%10>=5&&e%10<=9||e%100>=11&&e%100<=14?2:3}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(o){const e=o.ru=o.ru||{};e.dictionary=Object.assign(e.dictionary||{},{"%0 of %1":"%0 из %1",Aquamarine:"Аквамариновый",Black:"Чёрный",Blue:"Синий",Cancel:"Отмена","Cannot upload file:":"Невозможно загрузить файл","Dim grey":"Тёмно-серый","Dropdown toolbar":"Выпадающая панель инструментов","Edit block":"Редактировать блок","Editor block content toolbar":"","Editor contextual toolbar":"","Editor editing area: %0":"Область редактирования редактора: %0","Editor toolbar":"Панель инструментов редактора",Green:"Зелёный",Grey:"Серый","Insert paragraph after block":"Вставить параграф после блока","Insert paragraph before block":"Вставить параграф перед блоком","Light blue":"Голубой","Light green":"Салатовый","Light grey":"Светло-серый",Next:"Следующий",Orange:"Оранжевый",Previous:"Предыдущий",Purple:"Фиолетовый",Red:"Красный",Redo:"Повторить","Remove color":"Убрать цвет","Restore default":"По умолчанию","Rich Text Editor":"Редактор","Rich Text Editor. Editing area: %0":"Редактор форматированного текста. Область редактирования: %0",Save:"Сохранить","Select all":"Выбрать все","Show more items":"Другие инструменты",Turquoise:"Бирюзовый",Undo:"Отменить","Upload in progress":"Идёт загрузка",White:"Белый","Widget toolbar":"Панель инструментов виджета",Yellow:"Жёлтый"}),e.getPluralForm=function(o){return o%10==1&&o%100!=11?0:o%10>=2&&o%10<=4&&(o%100<12||o%100>14)?1:o%10==0||o%10>=5&&o%10<=9||o%100>=11&&o%100<=14?2:3}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/si.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/si.js index 986525871..329734ff1 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/si.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/si.js @@ -1 +1 @@ -!function(o){const n=o.si=o.si||{};n.dictionary=Object.assign(n.dictionary||{},{"%0 of %1":"",Cancel:"","Cannot upload file:":"ගොනුව යාවත්කාලීන කළ නොහැක:",Redo:"නැවත කරන්න","Remove color":"","Restore default":"",Save:"","Show more items":"",Undo:"අහෝසි කරන්න"}),n.getPluralForm=function(o){return 1!=o}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(o){const i=o.si=o.si||{};i.dictionary=Object.assign(i.dictionary||{},{"%0 of %1":"",Cancel:"","Cannot upload file:":"ගොනුව යාවත්කාලීන කළ නොහැක:",Redo:"නැවත කරන්න","Remove color":"","Restore default":"","Rich Text Editor. Editing area: %0":"",Save:"","Show more items":"",Undo:"අහෝසි කරන්න"}),i.getPluralForm=function(o){return 1!=o}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/sk.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/sk.js index 8c303fe6e..85ffa95a6 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/sk.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/sk.js @@ -1 +1 @@ -!function(o){const e=o.sk=o.sk||{};e.dictionary=Object.assign(e.dictionary||{},{"%0 of %1":"%0 z %1",Aquamarine:"Akvamarínová",Black:"Čierna",Blue:"Modrá",Cancel:"Zrušiť","Cannot upload file:":"Nie je možné nahrať súbor:","Dim grey":"Tmavosivá","Dropdown toolbar":"Panel nástrojov roletového menu","Edit block":"Upraviť odsek","Editor toolbar":"Panel nástrojov editora",Green:"Zelená",Grey:"Sivá","Insert paragraph after block":"Vložiť odstavec za blok","Insert paragraph before block":"Vložiť odstavec pred blok","Light blue":"Bledomodrá","Light green":"Bledozelená","Light grey":"Bledosivá",Next:"Ďalšie",Orange:"Oranžová",Previous:"Predchádzajúce",Purple:"Fialová",Red:"Červená",Redo:"Znova","Remove color":"Zrušiť farbu","Restore default":"Obnoviť predvolené","Rich Text Editor":"Editor s formátovaním","Rich Text Editor, %0":"Editor s formátovaním, %0",Save:"Uložiť","Select all":"Označiť všetko","Show more items":"Zobraziť viac položiek",Turquoise:"Tyrkysová",Undo:"Späť","Upload in progress":"Prebieha nahrávanie",White:"Biela","Widget toolbar":"Panel nástrojov ovládacieho prvku",Yellow:"Žltá"}),e.getPluralForm=function(o){return o%1==0&&1==o?0:o%1==0&&o>=2&&o<=4?1:o%1!=0?2:3}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(o){const e=o.sk=o.sk||{};e.dictionary=Object.assign(e.dictionary||{},{"%0 of %1":"%0 z %1",Aquamarine:"Akvamarínová",Black:"Čierna",Blue:"Modrá",Cancel:"Zrušiť","Cannot upload file:":"Nie je možné nahrať súbor:","Dim grey":"Tmavosivá","Dropdown toolbar":"Panel nástrojov roletového menu","Edit block":"Upraviť odsek","Editor block content toolbar":"","Editor contextual toolbar":"","Editor editing area: %0":"Oblasť úprav editora: %0","Editor toolbar":"Panel nástrojov editora",Green:"Zelená",Grey:"Sivá","Insert paragraph after block":"Vložiť odstavec za blok","Insert paragraph before block":"Vložiť odstavec pred blok","Light blue":"Bledomodrá","Light green":"Bledozelená","Light grey":"Bledosivá",Next:"Ďalšie",Orange:"Oranžová",Previous:"Predchádzajúce",Purple:"Fialová",Red:"Červená",Redo:"Znova","Remove color":"Zrušiť farbu","Restore default":"Obnoviť predvolené","Rich Text Editor":"Editor s formátovaním","Rich Text Editor. Editing area: %0":"Rich Text Editor. Oblasť úprav: %0",Save:"Uložiť","Select all":"Označiť všetko","Show more items":"Zobraziť viac položiek",Turquoise:"Tyrkysová",Undo:"Späť","Upload in progress":"Prebieha nahrávanie",White:"Biela","Widget toolbar":"Panel nástrojov ovládacieho prvku",Yellow:"Žltá"}),e.getPluralForm=function(o){return o%1==0&&1==o?0:o%1==0&&o>=2&&o<=4?1:o%1!=0?2:3}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/sl.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/sl.js index 86087e2b1..205b5fee3 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/sl.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/sl.js @@ -1 +1 @@ -!function(e){const o=e.sl=e.sl||{};o.dictionary=Object.assign(o.dictionary||{},{"%0 of %1":"",Aquamarine:"Akvamarin",Black:"Črna",Blue:"Modra",Cancel:"Prekliči","Cannot upload file:":"Ni možno naložiti datoteke:","Dim grey":"Temno siva","Dropdown toolbar":"","Edit block":"","Editor toolbar":"",Green:"Zelena",Grey:"Siva","Light blue":"Svetlo modra","Light green":"Svetlo zelena","Light grey":"Svetlo siva",Next:"",Orange:"Oranžna",Previous:"",Purple:"Vijolična",Red:"Rdeča","Remove color":"Odstrani barvo","Restore default":"","Rich Text Editor":"","Rich Text Editor, %0":"",Save:"Shrani","Show more items":"",Turquoise:"Turkizna",White:"Bela",Yellow:"Rumena"}),o.getPluralForm=function(e){return e%100==1?0:e%100==2?1:e%100==3||e%100==4?2:3}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const o=e.sl=e.sl||{};o.dictionary=Object.assign(o.dictionary||{},{"%0 of %1":"",Aquamarine:"Akvamarin",Black:"Črna",Blue:"Modra",Cancel:"Prekliči","Cannot upload file:":"Ni možno naložiti datoteke:","Dim grey":"Temno siva","Dropdown toolbar":"","Edit block":"","Editor block content toolbar":"","Editor contextual toolbar":"","Editor editing area: %0":"","Editor toolbar":"",Green:"Zelena",Grey:"Siva","Light blue":"Svetlo modra","Light green":"Svetlo zelena","Light grey":"Svetlo siva",Next:"",Orange:"Oranžna",Previous:"",Purple:"Vijolična",Red:"Rdeča","Remove color":"Odstrani barvo","Restore default":"","Rich Text Editor":"","Rich Text Editor. Editing area: %0":"",Save:"Shrani","Show more items":"",Turquoise:"Turkizna",White:"Bela",Yellow:"Rumena"}),o.getPluralForm=function(e){return e%100==1?0:e%100==2?1:e%100==3||e%100==4?2:3}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/sq.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/sq.js index 785c25e49..7484f823f 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/sq.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/sq.js @@ -1 +1 @@ -!function(e){const o=e.sq=e.sq||{};o.dictionary=Object.assign(o.dictionary||{},{"%0 of %1":"",Aquamarine:"",Black:"",Blue:"",Cancel:"Anulo","Cannot upload file:":"Nuk mund të ngarkojë skedën:","Dim grey":"","Dropdown toolbar":"","Edit block":"","Editor toolbar":"",Green:"",Grey:"","Light blue":"","Light green":"","Light grey":"",Next:"",Orange:"",Previous:"",Purple:"",Red:"",Redo:"Ribëj","Remove color":"","Restore default":"","Rich Text Editor":"Redaktues i Tekstit të Pasur","Rich Text Editor, %0":"Redaktues i Tekstit të Pasur, %0",Save:"Ruaj","Show more items":"",Turquoise:"",Undo:"Rikthe","Upload in progress":"Duke ngarkuar",White:"",Yellow:""}),o.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const o=e.sq=e.sq||{};o.dictionary=Object.assign(o.dictionary||{},{"%0 of %1":"",Aquamarine:"",Black:"",Blue:"",Cancel:"Anulo","Cannot upload file:":"Nuk mund të ngarkojë skedën:","Dim grey":"","Dropdown toolbar":"","Edit block":"","Editor block content toolbar":"","Editor contextual toolbar":"","Editor editing area: %0":"","Editor toolbar":"",Green:"",Grey:"","Light blue":"","Light green":"","Light grey":"",Next:"",Orange:"",Previous:"",Purple:"",Red:"",Redo:"Ribëj","Remove color":"","Restore default":"","Rich Text Editor":"Redaktues i Tekstit të Pasur","Rich Text Editor. Editing area: %0":"",Save:"Ruaj","Show more items":"",Turquoise:"",Undo:"Rikthe","Upload in progress":"Duke ngarkuar",White:"",Yellow:""}),o.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/sr-latn.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/sr-latn.js index 7f4ab2076..0a884ae20 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/sr-latn.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/sr-latn.js @@ -1 +1 @@ -!function(a){const e=a["sr-latn"]=a["sr-latn"]||{};e.dictionary=Object.assign(e.dictionary||{},{"%0 of %1":"%0 of %1",Aquamarine:"Zelenkastoplava",Black:"Crna",Blue:"Plava",Cancel:"Odustani","Cannot upload file:":"Postavljanje fajla je neuspešno:","Dim grey":"Bledo siva","Dropdown toolbar":"Padajuća traka sa alatkama","Edit block":"Blok uređivač","Editor toolbar":"Uređivač traka sa alatkama",Green:"Zelena",Grey:"Siva","Insert paragraph after block":"Уметните одломак после блока","Insert paragraph before block":"Уметните одломак пре блока","Light blue":"Svetloplava","Light green":"Svetlo zelena","Light grey":"Svetlo siva",Next:"Sledeći",Orange:"Narandžasta",Previous:"Prethodni",Purple:"Ljubičasta",Red:"Crvena",Redo:"Ponovo","Remove color":"Otkloni boju","Restore default":"Vrati podrazumevano","Rich Text Editor":"Prošireni uređivač teksta","Rich Text Editor, %0":"Prošireni uređivač teksta, %0",Save:"Sačuvaj","Select all":"Označi sve","Show more items":"Prikaži još stavki",Turquoise:"Tirkizna",Undo:"Povlačenje","Upload in progress":"Postavljanje u toku",White:"Bela","Widget toolbar":"Видгет трака са алаткама",Yellow:"Žuta"}),e.getPluralForm=function(a){return a%10==1&&a%100!=11?0:a%10>=2&&a%10<=4&&(a%100<10||a%100>=20)?1:2}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(a){const e=a["sr-latn"]=a["sr-latn"]||{};e.dictionary=Object.assign(e.dictionary||{},{"%0 of %1":"%0 of %1",Aquamarine:"Zelenkastoplava",Black:"Crna",Blue:"Plava",Cancel:"Odustani","Cannot upload file:":"Postavljanje fajla je neuspešno:","Dim grey":"Bledo siva","Dropdown toolbar":"Padajuća traka sa alatkama","Edit block":"Blok uređivač","Editor block content toolbar":"","Editor contextual toolbar":"","Editor editing area: %0":"","Editor toolbar":"Uređivač traka sa alatkama",Green:"Zelena",Grey:"Siva","Insert paragraph after block":"Уметните одломак после блока","Insert paragraph before block":"Уметните одломак пре блока","Light blue":"Svetloplava","Light green":"Svetlo zelena","Light grey":"Svetlo siva",Next:"Sledeći",Orange:"Narandžasta",Previous:"Prethodni",Purple:"Ljubičasta",Red:"Crvena",Redo:"Ponovo","Remove color":"Otkloni boju","Restore default":"Vrati podrazumevano","Rich Text Editor":"Prošireni uređivač teksta","Rich Text Editor. Editing area: %0":"",Save:"Sačuvaj","Select all":"Označi sve","Show more items":"Prikaži još stavki",Turquoise:"Tirkizna",Undo:"Povlačenje","Upload in progress":"Postavljanje u toku",White:"Bela","Widget toolbar":"Видгет трака са алаткама",Yellow:"Žuta"}),e.getPluralForm=function(a){return a%10==1&&a%100!=11?0:a%10>=2&&a%10<=4&&(a%100<10||a%100>=20)?1:2}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/sr.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/sr.js index 966178e07..300d97c29 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/sr.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/sr.js @@ -1 +1 @@ -!function(e){const o=e.sr=e.sr||{};o.dictionary=Object.assign(o.dictionary||{},{"%0 of %1":"%0 of %1",Aquamarine:"Зеленкастоплава",Black:"Црна",Blue:"Плава",Cancel:"Одустани","Cannot upload file:":"Постављање фајла је неуспешно:","Dim grey":"Бледо сива","Dropdown toolbar":"Падајућа трака са алаткама","Edit block":"Блок уређивач","Editor toolbar":"Уређивач трака са алаткама",Green:"Зелена",Grey:"Сива","Insert paragraph after block":"Umetnite odlomak posle bloka","Insert paragraph before block":"Umetnite odlomak pre bloka","Light blue":"Светлоплава","Light green":"Светлозелена","Light grey":"Светло сива",Next:"Следећи",Orange:"Нараџаста",Previous:"Претходни",Purple:"Љубичаста",Red:"Црвена",Redo:"Поново","Remove color":"Отклони боју","Restore default":"Врати подразумевано","Rich Text Editor":"Проширен уређивач текста","Rich Text Editor, %0":"Проширени уређивач текста, %0",Save:"Сачувај","Select all":"Означи све.","Show more items":"Прикажи још ставки",Turquoise:"Тиркизна",Undo:"Повлачење","Upload in progress":"Постављање у току",White:"Бела","Widget toolbar":"Widget traka sa alatkama",Yellow:"Жута"}),o.getPluralForm=function(e){return e%10==1&&e%100!=11?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const o=e.sr=e.sr||{};o.dictionary=Object.assign(o.dictionary||{},{"%0 of %1":"%0 of %1",Aquamarine:"Зеленкастоплава",Black:"Црна",Blue:"Плава",Cancel:"Одустани","Cannot upload file:":"Постављање фајла је неуспешно:","Dim grey":"Бледо сива","Dropdown toolbar":"Падајућа трака са алаткама","Edit block":"Блок уређивач","Editor block content toolbar":"","Editor contextual toolbar":"","Editor editing area: %0":"Uređivačev prostor za uređivanje: %0","Editor toolbar":"Уређивач трака са алаткама",Green:"Зелена",Grey:"Сива","Insert paragraph after block":"Umetnite odlomak posle bloka","Insert paragraph before block":"Umetnite odlomak pre bloka","Light blue":"Светлоплава","Light green":"Светлозелена","Light grey":"Светло сива",Next:"Следећи",Orange:"Нараџаста",Previous:"Претходни",Purple:"Љубичаста",Red:"Црвена",Redo:"Поново","Remove color":"Отклони боју","Restore default":"Врати подразумевано","Rich Text Editor":"Проширен уређивач текста","Rich Text Editor. Editing area: %0":"Uređivač obogaćenog teksta. Prostor za uređivanje: %0",Save:"Сачувај","Select all":"Означи све.","Show more items":"Прикажи још ставки",Turquoise:"Тиркизна",Undo:"Повлачење","Upload in progress":"Постављање у току",White:"Бела","Widget toolbar":"Widget traka sa alatkama",Yellow:"Жута"}),o.getPluralForm=function(e){return e%10==1&&e%100!=11?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/sv.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/sv.js index 8bf6a20b5..5341b88ef 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/sv.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/sv.js @@ -1 +1 @@ -!function(e){const o=e.sv=e.sv||{};o.dictionary=Object.assign(o.dictionary||{},{"%0 of %1":"",Aquamarine:"",Black:"",Blue:"",Cancel:"Avbryt","Cannot upload file:":"Kan inte ladda upp fil:","Dim grey":"","Dropdown toolbar":"","Edit block":"","Editor toolbar":"",Green:"",Grey:"","Light blue":"","Light green":"","Light grey":"",Next:"",Orange:"",Previous:"",Purple:"",Red:"",Redo:"Gör om","Remove color":"","Restore default":"","Rich Text Editor":"Rich Text-editor","Rich Text Editor, %0":"Rich Text-editor, %0",Save:"Spara","Show more items":"",Turquoise:"",Undo:"Ångra",White:"",Yellow:""}),o.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const r=e.sv=e.sv||{};r.dictionary=Object.assign(r.dictionary||{},{"%0 of %1":"%0 av %1",Aquamarine:"Akvamarin",Black:"Svart",Blue:"Blå",Cancel:"Avbryt","Cannot upload file:":"Kan inte ladda upp fil:","Dim grey":"Dunkelgrå","Dropdown toolbar":"Rullgardinsverktygsfält","Edit block":"Redigera block","Editor block content toolbar":"","Editor contextual toolbar":"","Editor editing area: %0":"Ordbehandlares redigeringsområde: %0","Editor toolbar":"Redigeringsverktygsfält",Green:"Grön",Grey:"Grå","Insert paragraph after block":"Infoga stycke efter block","Insert paragraph before block":"Infoga stycke före block","Light blue":"Ljusblå","Light green":"Ljusgrön","Light grey":"Ljusgrå",Next:"Nästa",Orange:"Orange",Previous:"Föregående",Purple:"Lila",Red:"Röd",Redo:"Gör om","Remove color":"Ta bort färg","Restore default":"Återställ standard","Rich Text Editor":"Rich Text-editor","Rich Text Editor. Editing area: %0":"RTF-redigerare. Redigeringsområde: %0",Save:"Spara","Select all":"Välj alla","Show more items":"Visa fler objekt",Turquoise:"Turkos",Undo:"Ångra","Upload in progress":"Uppladdning pågår",White:"Vit","Widget toolbar":"Widgetverktygsfält",Yellow:"Gul"}),r.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/th.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/th.js index 2c7777c81..464133b54 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/th.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/th.js @@ -1 +1 @@ -!function(e){const o=e.th=e.th||{};o.dictionary=Object.assign(o.dictionary||{},{"%0 of %1":"",Aquamarine:"พลอยสีฟ้า",Black:"สีดำ",Blue:"สีน้ำเงิน",Cancel:"ยกเลิก","Cannot upload file:":"ไม่สามารถอัปโหลดไฟล์ได้:","Dim grey":"สีเทาเข้ม","Dropdown toolbar":"","Edit block":"","Editor toolbar":"",Green:"สีเขียว",Grey:"สีเทา","Insert paragraph after block":"","Insert paragraph before block":"","Light blue":"สีฟ้า","Light green":"สีเขียวอ่อน","Light grey":"สีเทาอ่อน",Next:"",Orange:"สีส้ม",Previous:"",Purple:"สีม่วง",Red:"สีแดง",Redo:"ทำซ้ำ","Remove color":"ลบสี","Restore default":"","Rich Text Editor":"","Rich Text Editor, %0":"",Save:"บันทึก","Show more items":"",Turquoise:"สีเขียวขุ่น",Undo:"ย้อนกลับ","Upload in progress":"กำลังดำเนินการอัปโหลด",White:"สีขาว","Widget toolbar":"แถมเครื่องมือวิดเจ็ต",Yellow:"สีเหลือง"}),o.getPluralForm=function(e){return 0}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const o=e.th=e.th||{};o.dictionary=Object.assign(o.dictionary||{},{"%0 of %1":"%0 จาก %1",Aquamarine:"พลอยสีฟ้า",Black:"สีดำ",Blue:"สีน้ำเงิน",Cancel:"ยกเลิก","Cannot upload file:":"ไม่สามารถอัปโหลดไฟล์ได้:","Dim grey":"สีเทาเข้ม","Dropdown toolbar":"แถบเครื่องมือแบบเลื่อนลง","Edit block":"แก้ไขบล็อก","Editor block content toolbar":"","Editor contextual toolbar":"","Editor editing area: %0":"พื้นที่แก้ไขของตัวแก้ไข: %0","Editor toolbar":"แถบเครื่องมือแก้ไข",Green:"สีเขียว",Grey:"สีเทา","Insert paragraph after block":"แทรกย่อหน้าหลังบล็อก","Insert paragraph before block":"แทรกย่อหน้าก่อนบล็อก","Light blue":"สีฟ้า","Light green":"สีเขียวอ่อน","Light grey":"สีเทาอ่อน",Next:"ถัดไป",Orange:"สีส้ม",Previous:"ก่อนหน้า",Purple:"สีม่วง",Red:"สีแดง",Redo:"ทำซ้ำ","Remove color":"ลบสี","Restore default":"คืนค่าเริ่มต้น","Rich Text Editor":"โปรแกรมแก้ไข Rich Text","Rich Text Editor. Editing area: %0":"ตัวแก้ไข Rich Text พื้นที่แก้ไข: %0",Save:"บันทึก","Select all":"เลือกทั้งหมด","Show more items":"แสดงรายการเพิ่มเติม",Turquoise:"สีเขียวขุ่น",Undo:"ย้อนกลับ","Upload in progress":"กำลังดำเนินการอัปโหลด",White:"สีขาว","Widget toolbar":"แถมเครื่องมือวิดเจ็ต",Yellow:"สีเหลือง"}),o.getPluralForm=function(e){return 0}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/tk.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/tk.js index ac6a84090..deeb9c282 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/tk.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/tk.js @@ -1 +1 @@ -!function(a){const e=a.tk=a.tk||{};e.dictionary=Object.assign(e.dictionary||{},{"%0 of %1":"%1-iň %0-i",Aquamarine:"Akuamarin",Black:"Gara",Blue:"Gök",Cancel:"Ýatyr","Cannot upload file:":"Faýl ýükläp bolmady:","Dim grey":"Goýy çal","Dropdown toolbar":"Açylýan gurallar paneli","Edit block":"Bloky redaktirläň","Editor toolbar":"Redaktor gurallar paneli",Green:"Ýaşyl",Grey:"Çal","Insert paragraph after block":"Blokdan soň abzas goýuň","Insert paragraph before block":"Blokdan öň abzas goýuň","Light blue":"Açyk gök","Light green":"Açyk ýaşyl","Light grey":"Açyk çal",Next:"Indiki",Orange:"Mämişi",Previous:"Öňki",Purple:"Gyrmyzy",Red:"Gyzyl",Redo:"Öňe gaýtar","Remove color":"Reňki aýyryň","Restore default":"","Rich Text Editor":"Baý Tekst Redaktory","Rich Text Editor, %0":"Baý Tekst Redaktory, %0",Save:"Saklaň","Select all":"Ählisini saýla","Show more items":"Has köp zady görkeziň",Turquoise:"Turkuaz",Undo:"Yza gaýtar","Upload in progress":"Ýüklemek dowam edýär",White:"Ak","Widget toolbar":"Widget gurallar paneli",Yellow:"Sary"}),e.getPluralForm=function(a){return 1!=a}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(a){const r=a.tk=a.tk||{};r.dictionary=Object.assign(r.dictionary||{},{"%0 of %1":"%1-iň %0-i",Aquamarine:"Akuamarin",Black:"Gara",Blue:"Gök",Cancel:"Ýatyr","Cannot upload file:":"Faýl ýükläp bolmady:","Dim grey":"Goýy çal","Dropdown toolbar":"Açylýan gurallar paneli","Edit block":"Bloky redaktirläň","Editor block content toolbar":"","Editor contextual toolbar":"","Editor editing area: %0":"","Editor toolbar":"Redaktor gurallar paneli",Green:"Ýaşyl",Grey:"Çal","Insert paragraph after block":"Blokdan soň abzas goýuň","Insert paragraph before block":"Blokdan öň abzas goýuň","Light blue":"Açyk gök","Light green":"Açyk ýaşyl","Light grey":"Açyk çal",Next:"Indiki",Orange:"Mämişi",Previous:"Öňki",Purple:"Gyrmyzy",Red:"Gyzyl",Redo:"Öňe gaýtar","Remove color":"Reňki aýyryň","Restore default":"","Rich Text Editor":"Baý Tekst Redaktory","Rich Text Editor. Editing area: %0":"",Save:"Saklaň","Select all":"Ählisini saýla","Show more items":"Has köp zady görkeziň",Turquoise:"Turkuaz",Undo:"Yza gaýtar","Upload in progress":"Ýüklemek dowam edýär",White:"Ak","Widget toolbar":"Widget gurallar paneli",Yellow:"Sary"}),r.getPluralForm=function(a){return 1!=a}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/tr.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/tr.js index 2db934345..e535d9309 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/tr.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/tr.js @@ -1 +1 @@ -!function(e){const r=e.tr=e.tr||{};r.dictionary=Object.assign(r.dictionary||{},{"%0 of %1":"%0/%1",Aquamarine:"Su Yeşili",Black:"Siyah",Blue:"Mavi",Cancel:"İptal","Cannot upload file:":"Dosya yüklenemedi:","Dim grey":"Koyu Gri","Dropdown toolbar":"Açılır araç çubuğu","Edit block":"Bloğu Düzenle","Editor toolbar":"Düzenleme araç çubuğu",Green:"Yeşil",Grey:"Gri","Insert paragraph after block":"","Insert paragraph before block":"","Light blue":"Açık Mavi","Light green":"Açık Yeşil","Light grey":"Açık Gri",Next:"Sonraki",Orange:"Turuncu",Previous:"Önceki",Purple:"Mor",Red:"Kırmızı",Redo:"Tekrar yap","Remove color":"Rengi Sil","Restore default":"","Rich Text Editor":"Zengin İçerik Editörü","Rich Text Editor, %0":"Zengin İçerik Editörü, %0",Save:"Kaydet","Select all":"Hepsini seç","Show more items":"Daha fazla öğe göster",Turquoise:"Turkuaz",Undo:"Geri al","Upload in progress":"Yükleme işlemi devam ediyor",White:"Beyaz","Widget toolbar":"Bileşen araç çubuğu",Yellow:"Sarı"}),r.getPluralForm=function(e){return e>1}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const r=e.tr=e.tr||{};r.dictionary=Object.assign(r.dictionary||{},{"%0 of %1":"%0/%1",Aquamarine:"Su Yeşili",Black:"Siyah",Blue:"Mavi",Cancel:"İptal","Cannot upload file:":"Dosya yüklenemedi:","Dim grey":"Koyu Gri","Dropdown toolbar":"Açılır araç çubuğu","Edit block":"Bloğu Düzenle","Editor block content toolbar":"","Editor contextual toolbar":"","Editor editing area: %0":"Editör düzenleme alanı: %0","Editor toolbar":"Düzenleme araç çubuğu",Green:"Yeşil",Grey:"Gri","Insert paragraph after block":"Bloktan sonra paragraf ekle","Insert paragraph before block":"Bloktan önce paragraf ekle","Light blue":"Açık Mavi","Light green":"Açık Yeşil","Light grey":"Açık Gri",Next:"Sonraki",Orange:"Turuncu",Previous:"Önceki",Purple:"Mor",Red:"Kırmızı",Redo:"Tekrar yap","Remove color":"Rengi Sil","Restore default":"Varsayılanı geri yükle","Rich Text Editor":"Zengin İçerik Editörü","Rich Text Editor. Editing area: %0":"Zengin Metin Editörü.Düzenleme alanı: %0",Save:"Kaydet","Select all":"Hepsini seç","Show more items":"Daha fazla öğe göster",Turquoise:"Turkuaz",Undo:"Geri al","Upload in progress":"Yükleme işlemi devam ediyor",White:"Beyaz","Widget toolbar":"Bileşen araç çubuğu",Yellow:"Sarı"}),r.getPluralForm=function(e){return e>1}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/tt.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/tt.js index bb73ce61a..571024e35 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/tt.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/tt.js @@ -1 +1 @@ -!function(o){const t=o.tt=o.tt||{};t.dictionary=Object.assign(t.dictionary||{},{"%0 of %1":"",Cancel:"","Cannot upload file:":"",Redo:"Кабатла","Remove color":"","Restore default":"",Save:"Сакла","Show more items":"",Undo:""}),t.getPluralForm=function(o){return 0}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(o){const t=o.tt=o.tt||{};t.dictionary=Object.assign(t.dictionary||{},{"%0 of %1":"",Aquamarine:"Аквамарин",Black:"Кара",Blue:"Зәңгәр",Cancel:"Баш тарт","Cannot upload file:":"","Dim grey":"","Dropdown toolbar":"","Edit block":"","Editor block content toolbar":"","Editor contextual toolbar":"","Editor editing area: %0":"","Editor toolbar":"",Green:"Яшел",Grey:"Соры","Light blue":"Ачык зәңгәр","Light green":"Ачык яшел","Light grey":"Ачык соры",Next:"",Orange:"Кызгылт",Previous:"",Purple:"Шәмәхә",Red:"Кызыл",Redo:"Кабатла","Remove color":"","Restore default":"","Rich Text Editor":"","Rich Text Editor. Editing area: %0":"",Save:"Сакла","Show more items":"",Turquoise:"Фервоз",Undo:"",White:"Ак",Yellow:"Сары"}),t.getPluralForm=function(o){return 0}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ug.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ug.js index 67fec01dd..39cc7ab82 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ug.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ug.js @@ -1 +1 @@ -!function(e){const o=e.ug=e.ug||{};o.dictionary=Object.assign(o.dictionary||{},{"%0 of %1":"",Aquamarine:"",Black:"",Blue:"",Cancel:"ئىناۋەتسىز","Cannot upload file:":"يۈكلەشكە بولمايدىغان ھۆججەت:","Dim grey":"","Dropdown toolbar":"","Edit block":"","Editor toolbar":"",Green:"",Grey:"","Light blue":"","Light green":"","Light grey":"",Next:"",Orange:"",Previous:"",Purple:"",Red:"",Redo:"تەكرارلاش","Remove color":"رەڭنى چىقىرىۋېتىش","Restore default":"","Rich Text Editor":"تېكىست تەھرىرلىگۈچ","Rich Text Editor, %0":"تېكىست تەھرىرلىگۈچ، %0",Save:"ساقلاش","Show more items":"",Turquoise:"",Undo:"يېنىۋېلىش",White:"",Yellow:""}),o.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(o){const e=o.ug=o.ug||{};e.dictionary=Object.assign(e.dictionary||{},{"%0 of %1":"",Aquamarine:"",Black:"",Blue:"",Cancel:"ئىناۋەتسىز","Cannot upload file:":"يۈكلەشكە بولمايدىغان ھۆججەت:","Dim grey":"","Dropdown toolbar":"","Edit block":"","Editor block content toolbar":"","Editor contextual toolbar":"","Editor editing area: %0":"","Editor toolbar":"",Green:"",Grey:"","Light blue":"","Light green":"","Light grey":"",Next:"",Orange:"",Previous:"",Purple:"",Red:"",Redo:"تەكرارلاش","Remove color":"رەڭنى چىقىرىۋېتىش","Restore default":"","Rich Text Editor":"تېكىست تەھرىرلىگۈچ","Rich Text Editor. Editing area: %0":"",Save:"ساقلاش","Show more items":"",Turquoise:"",Undo:"يېنىۋېلىش",White:"",Yellow:""}),e.getPluralForm=function(o){return 1!=o}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/uk.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/uk.js index 1ad306021..70f8d5ced 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/uk.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/uk.js @@ -1 +1 @@ -!function(e){const o=e.uk=e.uk||{};o.dictionary=Object.assign(o.dictionary||{},{"%0 of %1":"%0 із %1",Aquamarine:"Аквамариновий",Black:"Чорний",Blue:"Синій",Cancel:"Відміна","Cannot upload file:":"Неможливо завантажити файл:","Dim grey":"Темно-сірий","Dropdown toolbar":"Випадаюча панель інструментів","Edit block":"Редагувати блок","Editor toolbar":"Панель інструментів редактора",Green:"Зелений",Grey:"Сірий","Insert paragraph after block":"Додати абзац після блока","Insert paragraph before block":"Додати абзац перед блоком","Light blue":"Світло-синій","Light green":"Світло-зелений","Light grey":"Світло-сірий",Next:"Наступний",Orange:"Помаранчевий",Previous:"Попередній",Purple:"Фіолетовий",Red:"Червоний",Redo:"Повтор","Remove color":"Видалити колір","Restore default":"","Rich Text Editor":"Розширений текстовий редактор","Rich Text Editor, %0":"Розширений текстовий редактор, %0",Save:"Зберегти","Select all":"Вибрати все","Show more items":"Показати більше",Turquoise:"Бірюзовий",Undo:"Відміна","Upload in progress":"Виконується завантаження",White:"Білий","Widget toolbar":"Панель інструментів віджетів",Yellow:"Жовтий"}),o.getPluralForm=function(e){return e%1==0&&e%10==1&&e%100!=11?0:e%1==0&&e%10>=2&&e%10<=4&&(e%100<12||e%100>14)?1:e%1==0&&(e%10==0||e%10>=5&&e%10<=9||e%100>=11&&e%100<=14)?2:3}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const o=e.uk=e.uk||{};o.dictionary=Object.assign(o.dictionary||{},{"%0 of %1":"%0 із %1",Aquamarine:"Аквамариновий",Black:"Чорний",Blue:"Синій",Cancel:"Відміна","Cannot upload file:":"Неможливо завантажити файл:","Dim grey":"Темно-сірий","Dropdown toolbar":"Випадаюча панель інструментів","Edit block":"Редагувати блок","Editor block content toolbar":"","Editor contextual toolbar":"","Editor editing area: %0":"Область редагування редактора: %0","Editor toolbar":"Панель інструментів редактора",Green:"Зелений",Grey:"Сірий","Insert paragraph after block":"Додати абзац після блока","Insert paragraph before block":"Додати абзац перед блоком","Light blue":"Світло-синій","Light green":"Світло-зелений","Light grey":"Світло-сірий",Next:"Наступний",Orange:"Помаранчевий",Previous:"Попередній",Purple:"Фіолетовий",Red:"Червоний",Redo:"Повтор","Remove color":"Видалити колір","Restore default":"Відновити за замовчуванням","Rich Text Editor":"Розширений текстовий редактор","Rich Text Editor. Editing area: %0":"Редактор Rich Text. Область редагування: %0",Save:"Зберегти","Select all":"Вибрати все","Show more items":"Показати більше",Turquoise:"Бірюзовий",Undo:"Відміна","Upload in progress":"Виконується завантаження",White:"Білий","Widget toolbar":"Панель інструментів віджетів",Yellow:"Жовтий"}),o.getPluralForm=function(e){return e%1==0&&e%10==1&&e%100!=11?0:e%1==0&&e%10>=2&&e%10<=4&&(e%100<12||e%100>14)?1:e%1==0&&(e%10==0||e%10>=5&&e%10<=9||e%100>=11&&e%100<=14)?2:3}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ur.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ur.js index 8e58f18bb..28ddafcce 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ur.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/ur.js @@ -1 +1 @@ -!function(e){const o=e.ur=e.ur||{};o.dictionary=Object.assign(o.dictionary||{},{"%0 of %1":"0% میں سے 1%",Aquamarine:"",Black:"",Blue:"",Cancel:"منسوخ","Cannot upload file:":"فائل اپلوڈ نہیں ہو سکی:","Dim grey":"","Dropdown toolbar":"آلہ جات برائے فہرست ","Edit block":"","Editor toolbar":"",Green:"",Grey:"","Light blue":"","Light green":"","Light grey":"",Next:"اگلا",Orange:"",Previous:"پچھلا",Purple:"",Red:"",Redo:"پھر سے کریں","Remove color":"رنگ حذف کریں","Restore default":"طے شدہ بحال","Rich Text Editor":"","Rich Text Editor, %0":"",Save:"محفوظ","Show more items":"مزید مواد کی نمائش کریں",Turquoise:"",Undo:"رد ترمیم","Upload in progress":"آپلوڈ جاری ہے",White:"",Yellow:""}),o.getPluralForm=function(e){return 1!=e}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(o){const e=o.ur=o.ur||{};e.dictionary=Object.assign(e.dictionary||{},{"%0 of %1":"0% میں سے 1%",Aquamarine:"نیلگوں بلور",Black:"سیاہ",Blue:"نیلا",Cancel:"منسوخ","Cannot upload file:":"فائل اپلوڈ نہیں ہو سکی:","Dim grey":"پھیکا سرمئی","Dropdown toolbar":"آلہ جات برائے فہرست ","Edit block":"خانہ کی تدوین","Editor block content toolbar":"","Editor contextual toolbar":"","Editor editing area: %0":"رقبہ خانۂ ترمیم: 0%","Editor toolbar":"ایڈیٹر آلہ جات",Green:"سبز",Grey:"سرمئی","Insert paragraph after block":"پیراگراف کے بعد کوڈ خانہ نصب کریں","Insert paragraph before block":"پیراگراف سے پہلے کوڈ خانہ نصب کریں","Light blue":"ہلکا نیلا","Light green":"ہلکا سبز","Light grey":"ہلکا سرمئی",Next:"اگلا",Orange:"نارنجی",Previous:"پچھلا",Purple:"ارغوانی",Red:"سرخ",Redo:"پھر سے کریں","Remove color":"رنگ حذف کریں","Restore default":"طے شدہ بحال","Rich Text Editor":"خانۂ ترمیم","Rich Text Editor. Editing area: %0":"خانۂ ترمیم۔ علاقۂ ترمیم 0%",Save:"محفوظ","Select all":"سب منتخب کریں","Show more items":"مزید مواد کی نمائش کریں",Turquoise:"فیروزی",Undo:"رد ترمیم","Upload in progress":"آپلوڈ جاری ہے",White:"سفید","Widget toolbar":"آلہ جات برائے وجٹ",Yellow:"پیلا"}),e.getPluralForm=function(o){return 1!=o}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/uz.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/uz.js index 09a18f895..d6f927f82 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/uz.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/uz.js @@ -1 +1 @@ -!function(a){const i=a.uz=a.uz||{};i.dictionary=Object.assign(i.dictionary||{},{"%0 of %1":"",Aquamarine:"Akuamarin",Black:"Qora",Blue:"Ko'k",Cancel:"Bekor qilish","Cannot upload file:":"","Dim grey":"To'q kulrang","Dropdown toolbar":"Ochiladigan asboblar paneli","Edit block":"Blokni tahrirlash","Editor toolbar":"Tahrirlovchi asboblar paneli",Green:"Yashil",Grey:"Kulrang","Insert paragraph after block":"Вblokdan keyin paragraf qo'yish","Insert paragraph before block":"Blokdan oldin paragrafni kiritish","Light blue":"Moviy","Light green":"Och yashil","Light grey":"Och kulrang",Next:"Keyingi",Orange:"To'q sariq",Previous:"Oldingi",Purple:"Siyohrang",Red:"Qizil",Redo:"Takrorlash","Remove color":"Rangni olib tashlash","Restore default":"","Rich Text Editor":"Tahrirlovchi","Rich Text Editor, %0":"Tahrirlovchi, %0",Save:"Saqlash","Select all":"Hammasini tanlash","Show more items":"",Turquoise:"Turkuaz",Undo:"Bekor qilish","Upload in progress":"Yuklanmoqda",White:"Oq","Widget toolbar":"Vidjet asboblar paneli",Yellow:"Sariq"}),i.getPluralForm=function(a){return 0}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(a){const i=a.uz=a.uz||{};i.dictionary=Object.assign(i.dictionary||{},{"%0 of %1":"",Aquamarine:"Akuamarin",Black:"Qora",Blue:"Ko'k",Cancel:"Bekor qilish","Cannot upload file:":"","Dim grey":"To'q kulrang","Dropdown toolbar":"Ochiladigan asboblar paneli","Edit block":"Blokni tahrirlash","Editor block content toolbar":"","Editor contextual toolbar":"","Editor editing area: %0":"","Editor toolbar":"Tahrirlovchi asboblar paneli",Green:"Yashil",Grey:"Kulrang","Insert paragraph after block":"Вblokdan keyin paragraf qo'yish","Insert paragraph before block":"Blokdan oldin paragrafni kiritish","Light blue":"Moviy","Light green":"Och yashil","Light grey":"Och kulrang",Next:"Keyingi",Orange:"To'q sariq",Previous:"Oldingi",Purple:"Siyohrang",Red:"Qizil",Redo:"Takrorlash","Remove color":"Rangni olib tashlash","Restore default":"","Rich Text Editor":"Tahrirlovchi","Rich Text Editor. Editing area: %0":"",Save:"Saqlash","Select all":"Hammasini tanlash","Show more items":"",Turquoise:"Turkuaz",Undo:"Bekor qilish","Upload in progress":"Yuklanmoqda",White:"Oq","Widget toolbar":"Vidjet asboblar paneli",Yellow:"Sariq"}),i.getPluralForm=function(a){return 0}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/vi.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/vi.js index 72bfa4de8..ae57bb550 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/vi.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/vi.js @@ -1 +1 @@ -!function(n){const o=n.vi=n.vi||{};o.dictionary=Object.assign(o.dictionary||{},{"%0 of %1":"%0 đến %1",Aquamarine:"Xanh ngọc biển",Black:"Đen",Blue:"Xanh biển",Cancel:"Hủy","Cannot upload file:":"Không thể tải file:","Dim grey":"Xám mờ","Dropdown toolbar":"Thanh công cụ danh mục","Edit block":"Chỉnh sửa đoạn","Editor toolbar":"Thanh công cụ biên tập",Green:"Xanh lá",Grey:"Xám","Insert paragraph after block":"","Insert paragraph before block":"","Light blue":"Xanh dương","Light green":"Xanh lá nhạt","Light grey":"Xám nhạt",Next:"Tiếp theo",Orange:"Cam",Previous:"Quay lại",Purple:"Tím",Red:"Đỏ",Redo:"Tiếp tục","Remove color":"Xóa màu","Restore default":"","Rich Text Editor":"Trình soạn thảo văn bản","Rich Text Editor, %0":"Trình soạn thảo văn bản, %0",Save:"Lưu","Show more items":"Xem thêm",Turquoise:"Xanh ngọc bích",Undo:"Hoàn tác","Upload in progress":"Đang tải lên",White:"Trắng","Widget toolbar":"Thanh công cụ tiện ích",Yellow:"Vàng"}),o.getPluralForm=function(n){return 0}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(n){const t=n.vi=n.vi||{};t.dictionary=Object.assign(t.dictionary||{},{"%0 of %1":"%0 đến %1",Aquamarine:"Xanh ngọc biển",Black:"Đen",Blue:"Xanh biển",Cancel:"Hủy","Cannot upload file:":"Không thể tải file:","Dim grey":"Xám mờ","Dropdown toolbar":"Thanh công cụ danh mục","Edit block":"Chỉnh sửa đoạn","Editor block content toolbar":"","Editor contextual toolbar":"","Editor editing area: %0":"Vùng chỉnh sửa của trình chỉnh sửa: %0","Editor toolbar":"Thanh công cụ biên tập",Green:"Xanh lá",Grey:"Xám","Insert paragraph after block":"Chèn đoạn sau khối","Insert paragraph before block":"Chèn đoạn trước khối","Light blue":"Xanh dương","Light green":"Xanh lá nhạt","Light grey":"Xám nhạt",Next:"Tiếp theo",Orange:"Cam",Previous:"Quay lại",Purple:"Tím",Red:"Đỏ",Redo:"Tiếp tục","Remove color":"Xóa màu","Restore default":"Khôi phục giá trị mặc định","Rich Text Editor":"Trình soạn thảo văn bản","Rich Text Editor. Editing area: %0":"Trình chỉnh sửa Văn bản dạng RTF. Vùng chỉnh sửa: %0",Save:"Lưu","Select all":"Chọn tất cả","Show more items":"Xem thêm",Turquoise:"Xanh ngọc bích",Undo:"Hoàn tác","Upload in progress":"Đang tải lên",White:"Trắng","Widget toolbar":"Thanh công cụ tiện ích",Yellow:"Vàng"}),t.getPluralForm=function(n){return 0}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/zh-cn.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/zh-cn.js index ff4acc012..3a4c14485 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/zh-cn.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/zh-cn.js @@ -1 +1 @@ -!function(e){const o=e["zh-cn"]=e["zh-cn"]||{};o.dictionary=Object.assign(o.dictionary||{},{"%0 of %1":"第 %0 步,共 %1 步",Aquamarine:"海蓝色",Black:"黑色",Blue:"蓝色",Cancel:"取消","Cannot upload file:":"无法上传的文件:","Dim grey":"暗灰色","Dropdown toolbar":"下拉工具栏","Edit block":"编辑框","Editor toolbar":"编辑器工具栏",Green:"绿色",Grey:"灰色","Insert paragraph after block":"在后面插入段落","Insert paragraph before block":"在前面插入段落","Light blue":"浅蓝色","Light green":"浅绿色","Light grey":"浅灰色",Next:"下一步",Orange:"橙色",Previous:"上一步",Purple:"紫色",Red:"红色",Redo:"重做","Remove color":"移除颜色","Restore default":"恢复默认","Rich Text Editor":"富文本编辑器","Rich Text Editor, %0":"富文本编辑器, %0",Save:"保存","Select all":"全选","Show more items":"显示更多",Turquoise:"青色",Undo:"撤销","Upload in progress":"正在上传",White:"白色","Widget toolbar":"小部件工具栏",Yellow:"黄色"}),o.getPluralForm=function(e){return 0}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(o){const e=o["zh-cn"]=o["zh-cn"]||{};e.dictionary=Object.assign(e.dictionary||{},{"%0 of %1":"第 %0 步,共 %1 步",Aquamarine:"海蓝色",Black:"黑色",Blue:"蓝色",Cancel:"取消","Cannot upload file:":"无法上传的文件:","Dim grey":"暗灰色","Dropdown toolbar":"下拉工具栏","Edit block":"编辑框","Editor block content toolbar":"","Editor contextual toolbar":"","Editor editing area: %0":"编辑器编辑区域:%0","Editor toolbar":"编辑器工具栏",Green:"绿色",Grey:"灰色","Insert paragraph after block":"在后面插入段落","Insert paragraph before block":"在前面插入段落","Light blue":"浅蓝色","Light green":"浅绿色","Light grey":"浅灰色",Next:"下一步",Orange:"橙色",Previous:"上一步",Purple:"紫色",Red:"红色",Redo:"重做","Remove color":"移除颜色","Restore default":"恢复默认","Rich Text Editor":"富文本编辑器","Rich Text Editor. Editing area: %0":"富文本编辑器。编辑区域:%0",Save:"保存","Select all":"全选","Show more items":"显示更多",Turquoise:"青色",Undo:"撤销","Upload in progress":"正在上传",White:"白色","Widget toolbar":"小部件工具栏",Yellow:"黄色"}),e.getPluralForm=function(o){return 0}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/zh.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/zh.js index e8d57016d..107ffc2bb 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/zh.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/ckeditor5-dll/translations/zh.js @@ -1 +1 @@ -!function(e){const o=e.zh=e.zh||{};o.dictionary=Object.assign(o.dictionary||{},{"%0 of %1":"%0/%1",Aquamarine:"淺綠色",Black:"黑色",Blue:"藍色",Cancel:"取消","Cannot upload file:":"無法上傳檔案:","Dim grey":"淡灰色","Dropdown toolbar":"下拉選單","Edit block":"編輯區塊","Editor toolbar":"編輯器工具",Green:"綠色",Grey:"灰色","Insert paragraph after block":"在這個區塊後面插入一個段落","Insert paragraph before block":"在這個區塊前面插入一個段落","Light blue":"亮藍色","Light green":"亮綠色","Light grey":"亮灰色",Next:"下一",Orange:"橘色",Previous:"上一",Purple:"紫色",Red:"紅色",Redo:"重做","Remove color":"移除顏色","Restore default":"重設至預設值","Rich Text Editor":"豐富文字編輯器","Rich Text Editor, %0":"豐富文字編輯器,%0",Save:"儲存","Select all":"選取全部","Show more items":"顯示更多",Turquoise:"藍綠色",Undo:"取消","Upload in progress":"正在上傳",White:"白色","Widget toolbar":"小工具",Yellow:"黃色"}),o.getPluralForm=function(e){return 0}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(o){const e=o.zh=o.zh||{};e.dictionary=Object.assign(e.dictionary||{},{"%0 of %1":"%0/%1",Aquamarine:"淺綠色",Black:"黑色",Blue:"藍色",Cancel:"取消","Cannot upload file:":"無法上傳檔案:","Dim grey":"淡灰色","Dropdown toolbar":"下拉選單","Edit block":"編輯區塊","Editor block content toolbar":"","Editor contextual toolbar":"","Editor editing area: %0":"編輯器編輯區:%0","Editor toolbar":"編輯器工具",Green:"綠色",Grey:"灰色","Insert paragraph after block":"在這個區塊後面插入一個段落","Insert paragraph before block":"在這個區塊前面插入一個段落","Light blue":"亮藍色","Light green":"亮綠色","Light grey":"亮灰色",Next:"下一",Orange:"橘色",Previous:"上一",Purple:"紫色",Red:"紅色",Redo:"重做","Remove color":"移除顏色","Restore default":"重設至預設值","Rich Text Editor":"豐富文字編輯器","Rich Text Editor. Editing area: %0":"RTF 編輯器。編輯區:%0",Save:"儲存","Select all":"選取全部","Show more items":"顯示更多",Turquoise:"藍綠色",Undo:"取消","Upload in progress":"正在上傳",White:"白色","Widget toolbar":"小工具",Yellow:"黃色"}),e.getPluralForm=function(o){return 0}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/code-block/code-block.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/code-block/code-block.js index 1d4f81afe..554306b31 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/code-block/code-block.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/code-block/code-block.js @@ -2,4 +2,4 @@ /*! * @license Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md. - */(()=>{var e={67:(e,t,n)=>{"use strict";n.d(t,{Z:()=>r});var o=n(609),i=n.n(o)()((function(e){return e[1]}));i.push([e.id,".ck-content pre{background:hsla(0,0%,78%,.3);border:1px solid #c4c4c4;border-radius:2px;color:#353535;direction:ltr;font-style:normal;min-width:200px;padding:1em;tab-size:4;text-align:left;white-space:pre-wrap}.ck-content pre code{background:unset;border-radius:0;padding: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{background:var(--ck-color-code-block-label-background);color:#fff;font-family:var(--ck-font-face);font-size:10px;line-height:16px;padding:var(--ck-spacing-tiny) var(--ck-spacing-medium);right:10px;top:-1px;white-space:nowrap}.ck.ck-code-block-dropdown .ck-dropdown__panel{max-height:250px;overflow-x:hidden;overflow-y:auto}",""]);const r=i},609:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n=e(t);return t[2]?"@media ".concat(t[2]," {").concat(n,"}"):n})).join("")},t.i=function(e,n,o){"string"==typeof e&&(e=[[null,e,""]]);var i={};if(o)for(var r=0;r{"use strict";var o,i=function(){return void 0===o&&(o=Boolean(window&&document&&document.all&&!window.atob)),o},r=function(){var e={};return function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}e[t]=n}return e[t]}}(),a=[];function c(e){for(var t=-1,n=0;n{e.exports=n(79)("./src/core.js")},492:(e,t,n)=>{e.exports=n(79)("./src/engine.js")},331:(e,t,n)=>{e.exports=n(79)("./src/enter.js")},273:(e,t,n)=>{e.exports=n(79)("./src/ui.js")},209:(e,t,n)=>{e.exports=n(79)("./src/utils.js")},79:e=>{"use strict";e.exports=CKEditor5.dll}},t={};function n(o){var i=t[o];if(void 0!==i)return i.exports;var r=t[o]={id:o,exports:{}};return e[o](r,r.exports,n),r.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var o in t)n.o(t,o)&&!n.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.nc=void 0;var o={};(()=>{"use strict";n.r(o),n.d(o,{CodeBlock:()=>E,CodeBlockEditing:()=>v,CodeBlockUI:()=>A});var e=n(704),t=n(331),i=n(492),r=n(209);function a(e){const t=e.t,n=e.config.get("codeBlock.languages");for(const e of n)"Plain text"===e.label&&(e.label=t("Plain text")),void 0===e.class&&(e.class=`language-${e.language}`);return n}function c(e,t,n){const o={};for(const i of e)"class"===t?o[i[t].split(" ").shift()]=i[n]:o[i[t]]=i[n];return o}function s(e){return e.data.match(/^(\s*)/)[0]}function l(e){const t=e.document.selection,n=[];if(t.isCollapsed)n.push(t.anchor);else{const o=t.getFirstRange().getWalker({ignoreElementEnd:!0,direction:"backward"});for(const{item:t}of o)if(t.is("$textProxy")&&t.parent.is("element","codeBlock")){const o=s(t.textNode),{parent:i,startOffset:r}=t.textNode,a=e.createPositionAt(i,r+o.length);n.push(a)}}return n}function d(e){const t=(0,r.first)(e.getSelectedBlocks());return t&&t.is("element","codeBlock")}class u extends e.Command{constructor(e){super(e),this._lastLanguage=null}refresh(){this.value=this._getValue(),this.isEnabled=this._checkEnabled()}execute(e={}){const t=this.editor,n=t.model,o=n.document.selection,i=a(t)[0],r=Array.from(o.getSelectedBlocks()),c=void 0===e.forceValue?!this.value:e.forceValue,s=function(e,t,n){if(e.language)return e.language;if(e.usePreviousLanguageChoice&&t)return t;return n}(e,this._lastLanguage,i.language);n.change((e=>{c?this._applyCodeBlock(e,r,s):this._removeCodeBlock(e,r)}))}_getValue(){const e=this.editor.model.document.selection,t=(0,r.first)(e.getSelectedBlocks());return!!!(!t||!t.is("element","codeBlock"))&&t.getAttribute("language")}_checkEnabled(){if(this.value)return!0;const e=this.editor.model.document.selection,t=this.editor.model.schema,n=(0,r.first)(e.getSelectedBlocks());return!!n&&g(t,n)}_applyCodeBlock(e,t,n){this._lastLanguage=n;const o=this.editor.model.schema,i=t.filter((e=>g(o,e)));for(const t of i)e.rename(t,"codeBlock"),e.setAttribute("language",n,t),o.removeDisallowedAttributes([t],e),Array.from(t.getChildren()).filter((e=>!o.checkChild(t,e))).forEach((t=>e.remove(t)));i.reverse().forEach(((t,n)=>{const o=i[n+1];t.previousSibling===o&&(e.appendElement("softBreak",o),e.merge(e.createPositionBefore(t)))}))}_removeCodeBlock(e,t){const n=t.filter((e=>e.is("element","codeBlock")));for(const t of n){const n=e.createRangeOn(t);for(const t of Array.from(n.getItems()).reverse())if(t.is("element","softBreak")&&t.parent.is("element","codeBlock")){const{position:n}=e.split(e.createPositionBefore(t));e.rename(n.nodeAfter,"paragraph"),e.removeAttribute("language",n.nodeAfter),e.remove(t)}e.rename(t,"paragraph"),e.removeAttribute("language",t)}}}function g(e,t){return!t.is("rootElement")&&!e.isLimit(t)&&e.checkChild(t.parent,"codeBlock")}class f extends e.Command{constructor(e){super(e),this._indentSequence=e.config.get("codeBlock.indentSequence")}refresh(){this.isEnabled=this._checkEnabled()}execute(){const e=this.editor.model;e.change((t=>{const n=l(e);for(const e of n)t.insertText(this._indentSequence,e)}))}_checkEnabled(){return!!this._indentSequence&&d(this.editor.model.document.selection)}}class m extends e.Command{constructor(e){super(e),this._indentSequence=e.config.get("codeBlock.indentSequence")}refresh(){this.isEnabled=this._checkEnabled()}execute(){const e=this.editor.model;e.change((t=>{const n=l(e);for(const e of n){const n=p(this.editor.model,e,this._indentSequence);n&&t.remove(n)}}))}_checkEnabled(){if(!this._indentSequence)return!1;const e=this.editor.model;return!!d(e.document.selection)&&l(e).some((t=>p(e,t,this._indentSequence)))}}function p(e,t,n){const o=function(e){let t=e.parent.getChild(e.index);t&&!t.is("element","softBreak")||(t=e.nodeBefore);if(!t||t.is("element","softBreak"))return null;return t}(t);if(!o)return null;const i=s(o),r=i.lastIndexOf(n);if(r+n.length!==i.length)return null;if(-1===r)return null;const{parent:a,startOffset:c}=o;return e.createRange(e.createPositionAt(a,c+r),e.createPositionAt(a,c+r+n.length))}function h(e,t,n=!1){const o=c(t,"language","class"),i=c(t,"language","label");return(t,r,a)=>{const{writer:c,mapper:s,consumable:l}=a;if(!l.consume(r.item,"insert"))return;const d=r.item.getAttribute("language"),u=s.toViewPosition(e.createPositionBefore(r.item)),g={};n&&(g["data-language"]=i[d],g.spellcheck="false");const f=c.createContainerElement("code",{class:o[d]||null}),m=c.createContainerElement("pre",g,f);c.insert(u,m),s.bindElements(r.item,f)}}const b="paragraph";class v extends e.Plugin{static get pluginName(){return"CodeBlockEditing"}static get requires(){return[t.ShiftEnter]}constructor(e){super(e),e.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 e=this.editor,t=e.model.schema,n=e.model,o=e.editing.view,r=e.plugins.has("DocumentListEditing"),s=a(e);e.commands.add("codeBlock",new u(e)),e.commands.add("indentCodeBlock",new f(e)),e.commands.add("outdentCodeBlock",new m(e)),this.listenTo(o.document,"tab",((t,n)=>{const o=n.shiftKey?"outdentCodeBlock":"indentCodeBlock";e.commands.get(o).isEnabled&&(e.execute(o),n.stopPropagation(),n.preventDefault(),t.stop())}),{context:"pre"}),t.register("codeBlock",{allowWhere:"$block",allowChildren:"$text",isBlock:!0,allowAttributes:["language"]}),t.addAttributeCheck(((e,t)=>{const n=e.endsWith("codeBlock")&&t.startsWith("list")&&"list"!==t;return!(!r||!n)||!e.endsWith("codeBlock $text")&&void 0})),e.model.schema.addChildCheck(((e,t)=>{if(e.endsWith("codeBlock")&&t.isObject)return!1})),e.editing.downcastDispatcher.on("insert:codeBlock",h(n,s,!0)),e.data.downcastDispatcher.on("insert:codeBlock",h(n,s)),e.data.downcastDispatcher.on("insert:softBreak",function(e){return(t,n,o)=>{if("codeBlock"!==n.item.parent.name)return;const{writer:i,mapper:r,consumable:a}=o;if(!a.consume(n.item,"insert"))return;const c=r.toViewPosition(e.createPositionBefore(n.item));i.insert(c,i.createText("\n"))}}(n),{priority:"high"}),e.data.upcastDispatcher.on("element:code",function(e,t){const n=c(t,"class","language"),o=t[0].language;return(e,t,i)=>{const r=t.viewItem,a=r.parent;if(!a||!a.is("element","pre"))return;if(t.modelCursor.findAncestor("codeBlock"))return;const{consumable:c,writer:s}=i;if(!c.test(r,{name:!0}))return;const l=s.createElement("codeBlock"),d=[...r.getClassNames()];d.length||d.push("");for(const e of d){const t=n[e];if(t){s.setAttribute("language",t,l);break}}l.hasAttribute("language")||s.setAttribute("language",o,l),i.convertChildren(r,l),i.safeInsert(l,t.modelCursor)&&(c.consume(r,{name:!0}),i.updateConversionResult(l,t))}}(0,s)),e.data.upcastDispatcher.on("text",((e,t,{consumable:n,writer:o})=>{let i=t.modelCursor;if(!n.test(t.viewItem))return;if(!i.findAncestor("codeBlock"))return;n.consume(t.viewItem);const r=t.viewItem.data.split("\n").map((e=>o.createText(e))),a=r[r.length-1];for(const e of r)if(o.insert(e,i),i=i.getShiftedBy(e.offsetSize),e!==a){const e=o.createElement("softBreak");o.insert(e,i),i=o.createPositionAfter(e)}t.modelRange=o.createRange(t.modelCursor,i),t.modelCursor=i})),e.data.upcastDispatcher.on("element:pre",((e,t,{consumable:n})=>{const o=t.viewItem;if(o.findAncestor("pre"))return;const i=Array.from(o.getChildren()),r=i.find((e=>e.is("element","code")));if(r)for(const e of i)e!==r&&e.is("$text")&&n.consume(e,{name:!0})}),{priority:"high"}),this.listenTo(e.editing.view.document,"clipboardInput",((t,o)=>{let r=n.createRange(n.document.selection.anchor);if(o.targetRanges&&(r=e.editing.mapper.toModelRange(o.targetRanges[0])),!r.start.parent.is("element","codeBlock"))return;const a=o.dataTransfer.getData("text/plain"),c=new i.UpcastWriter(e.editing.view.document);o.content=function(e,t){const n=e.createDocumentFragment(),o=t.split("\n"),i=o.reduce(((t,n,i)=>(t.push(n),i{const i=o.anchor;!o.isCollapsed&&i.parent.is("element","codeBlock")&&i.hasSameParentAs(o.focus)&&n.change((n=>{const r=e.return;if(r.childCount>1||o.containsEntireContent(i.parent)){const t=n.createElement("codeBlock",i.parent.getAttributes());n.append(r,t);const o=n.createDocumentFragment();n.append(t,o),e.return=o}else{const e=r.getChild(0);t.checkAttribute(e,"code")&&n.setAttribute("code",!0,e)}}))}))}afterInit(){const e=this.editor,t=e.commands,n=t.get("indent"),o=t.get("outdent");n&&n.registerChildCommand(t.get("indentCodeBlock"),{priority:"highest"}),o&&o.registerChildCommand(t.get("outdentCodeBlock")),this.listenTo(e.editing.view.document,"enter",((t,n)=>{e.model.document.selection.getLastPosition().parent.is("element","codeBlock")&&(function(e,t){const n=e.model.document,o=e.editing.view,i=n.selection.getLastPosition(),r=i.nodeAfter;if(t||!n.selection.isCollapsed||!i.isAtStart)return!1;if(!B(r))return!1;return e.model.change((t=>{e.execute("enter");const o=n.selection.anchor.parent.previousSibling;t.rename(o,b),t.setSelection(o,"in"),e.model.schema.removeDisallowedAttributes([o],t),t.remove(r)})),o.scrollToTheSelection(),!0}(e,n.isSoft)||function(e,t){const n=e.model,o=n.document,i=e.editing.view,r=o.selection.getLastPosition(),a=r.nodeBefore;let c;if(t||!o.selection.isCollapsed||!r.isAtEnd||!a||!a.previousSibling)return!1;if(B(a)&&B(a.previousSibling))c=n.createRange(n.createPositionBefore(a.previousSibling),n.createPositionAfter(a));else if(k(a)&&B(a.previousSibling)&&B(a.previousSibling.previousSibling))c=n.createRange(n.createPositionBefore(a.previousSibling.previousSibling),n.createPositionAfter(a));else{if(!(k(a)&&B(a.previousSibling)&&k(a.previousSibling.previousSibling)&&B(a.previousSibling.previousSibling.previousSibling)))return!1;c=n.createRange(n.createPositionBefore(a.previousSibling.previousSibling.previousSibling),n.createPositionAfter(a))}return e.model.change((t=>{t.remove(c),e.execute("enter");const n=o.selection.anchor.parent;t.rename(n,b),e.model.schema.removeDisallowedAttributes([n],t)})),i.scrollToTheSelection(),!0}(e,n.isSoft)||function(e){const t=e.model.document,n=t.selection.getLastPosition(),o=n.nodeBefore||n.textNode;let i;o&&o.is("$text")&&(i=s(o));e.model.change((n=>{e.execute("shiftEnter"),i&&n.insertText(i,t.selection.anchor)}))}(e),n.preventDefault(),t.stop())}),{context:"pre"})}}function k(e){return e&&e.is("$text")&&!e.data.match(/\S/)}function B(e){return e&&e.is("element","softBreak")}var w=n(273);var x=n(62),C=n.n(x),S=n(67),y={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};C()(S.Z,y);S.Z.locals;class A extends e.Plugin{static get pluginName(){return"CodeBlockUI"}init(){const e=this.editor,t=e.t,n=e.ui.componentFactory,o=a(e);n.add("codeBlock",(n=>{const i=e.commands.get("codeBlock"),r=(0,w.createDropdown)(n,w.SplitButtonView),a=r.buttonView;return a.set({label:t("Insert code block"),tooltip:!0,icon:'',isToggleable:!0}),a.bind("isOn").to(i,"value",(e=>!!e)),a.on("execute",(()=>{e.execute("codeBlock",{usePreviousLanguageChoice:!0}),e.editing.view.focus()})),r.on("execute",(t=>{e.execute("codeBlock",{language:t.source._codeBlockLanguage,forceValue:!0}),e.editing.view.focus()})),r.class="ck-code-block-dropdown",r.bind("isEnabled").to(i),(0,w.addListToDropdown)(r,this._getLanguageListItemDefinitions(o)),r}))}_getLanguageListItemDefinitions(e){const t=this.editor.commands.get("codeBlock"),n=new r.Collection;for(const o of e){const e={type:"button",model:new w.Model({_codeBlockLanguage:o.language,label:o.label,withText:!0})};e.model.bind("isOn").to(t,"value",(t=>t===e.model._codeBlockLanguage)),n.add(e)}return n}}class E extends e.Plugin{static get requires(){return[v,A]}static get pluginName(){return"CodeBlock"}}})(),(window.CKEditor5=window.CKEditor5||{}).codeBlock=o})(); \ No newline at end of file + */(()=>{var e={67:(e,t,n)=>{"use strict";n.d(t,{Z:()=>r});var o=n(609),i=n.n(o)()((function(e){return e[1]}));i.push([e.id,".ck-content pre{background:hsla(0,0%,78%,.3);border:1px solid #c4c4c4;border-radius:2px;color:#353535;direction:ltr;font-style:normal;min-width:200px;padding:1em;tab-size:4;text-align:left;white-space:pre-wrap}.ck-content pre code{background:unset;border-radius:0;padding: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{background:var(--ck-color-code-block-label-background);color:#fff;font-family:var(--ck-font-face);font-size:10px;line-height:16px;padding:var(--ck-spacing-tiny) var(--ck-spacing-medium);right:10px;top:-1px;white-space:nowrap}.ck.ck-code-block-dropdown .ck-dropdown__panel{max-height:250px;overflow-x:hidden;overflow-y:auto}",""]);const r=i},609:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n=e(t);return t[2]?"@media ".concat(t[2]," {").concat(n,"}"):n})).join("")},t.i=function(e,n,o){"string"==typeof e&&(e=[[null,e,""]]);var i={};if(o)for(var r=0;r{"use strict";var o,i=function(){return void 0===o&&(o=Boolean(window&&document&&document.all&&!window.atob)),o},r=function(){var e={};return function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}e[t]=n}return e[t]}}(),a=[];function c(e){for(var t=-1,n=0;n{e.exports=n(79)("./src/core.js")},492:(e,t,n)=>{e.exports=n(79)("./src/engine.js")},331:(e,t,n)=>{e.exports=n(79)("./src/enter.js")},273:(e,t,n)=>{e.exports=n(79)("./src/ui.js")},209:(e,t,n)=>{e.exports=n(79)("./src/utils.js")},79:e=>{"use strict";e.exports=CKEditor5.dll}},t={};function n(o){var i=t[o];if(void 0!==i)return i.exports;var r=t[o]={id:o,exports:{}};return e[o](r,r.exports,n),r.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var o in t)n.o(t,o)&&!n.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.nc=void 0;var o={};(()=>{"use strict";n.r(o),n.d(o,{CodeBlock:()=>E,CodeBlockEditing:()=>v,CodeBlockUI:()=>A});var e=n(704),t=n(331),i=n(492),r=n(209);function a(e){const t=e.t,n=e.config.get("codeBlock.languages");for(const e of n)"Plain text"===e.label&&(e.label=t("Plain text")),void 0===e.class&&(e.class=`language-${e.language}`);return n}function c(e,t,n){const o={};for(const i of e)"class"===t?o[i[t].split(" ").shift()]=i[n]:o[i[t]]=i[n];return o}function s(e){return e.data.match(/^(\s*)/)[0]}function l(e){const t=e.document.selection,n=[];if(t.isCollapsed)n.push(t.anchor);else{const o=t.getFirstRange().getWalker({ignoreElementEnd:!0,direction:"backward"});for(const{item:t}of o)if(t.is("$textProxy")&&t.parent.is("element","codeBlock")){const o=s(t.textNode),{parent:i,startOffset:r}=t.textNode,a=e.createPositionAt(i,r+o.length);n.push(a)}}return n}function d(e){const t=(0,r.first)(e.getSelectedBlocks());return t&&t.is("element","codeBlock")}function u(e,t){return!t.is("rootElement")&&!e.isLimit(t)&&e.checkChild(t.parent,"codeBlock")}class g extends e.Command{constructor(e){super(e),this._lastLanguage=null}refresh(){this.value=this._getValue(),this.isEnabled=this._checkEnabled()}execute(e={}){const t=this.editor,n=t.model,o=n.document.selection,i=a(t)[0],r=Array.from(o.getSelectedBlocks()),c=void 0===e.forceValue?!this.value:e.forceValue,s=function(e,t,n){if(e.language)return e.language;if(e.usePreviousLanguageChoice&&t)return t;return n}(e,this._lastLanguage,i.language);n.change((e=>{c?this._applyCodeBlock(e,r,s):this._removeCodeBlock(e,r)}))}_getValue(){const e=this.editor.model.document.selection,t=(0,r.first)(e.getSelectedBlocks());return!!!(!t||!t.is("element","codeBlock"))&&t.getAttribute("language")}_checkEnabled(){if(this.value)return!0;const e=this.editor.model.document.selection,t=this.editor.model.schema,n=(0,r.first)(e.getSelectedBlocks());return!!n&&u(t,n)}_applyCodeBlock(e,t,n){this._lastLanguage=n;const o=this.editor.model.schema,i=t.filter((e=>u(o,e)));for(const t of i)e.rename(t,"codeBlock"),e.setAttribute("language",n,t),o.removeDisallowedAttributes([t],e),Array.from(t.getChildren()).filter((e=>!o.checkChild(t,e))).forEach((t=>e.remove(t)));i.reverse().forEach(((t,n)=>{const o=i[n+1];t.previousSibling===o&&(e.appendElement("softBreak",o),e.merge(e.createPositionBefore(t)))}))}_removeCodeBlock(e,t){const n=t.filter((e=>e.is("element","codeBlock")));for(const t of n){const n=e.createRangeOn(t);for(const t of Array.from(n.getItems()).reverse())if(t.is("element","softBreak")&&t.parent.is("element","codeBlock")){const{position:n}=e.split(e.createPositionBefore(t));e.rename(n.nodeAfter,"paragraph"),e.removeAttribute("language",n.nodeAfter),e.remove(t)}e.rename(t,"paragraph"),e.removeAttribute("language",t)}}}class f extends e.Command{constructor(e){super(e),this._indentSequence=e.config.get("codeBlock.indentSequence")}refresh(){this.isEnabled=this._checkEnabled()}execute(){const e=this.editor.model;e.change((t=>{const n=l(e);for(const o of n){const n=t.createText(this._indentSequence);e.insertContent(n,o)}}))}_checkEnabled(){return!!this._indentSequence&&d(this.editor.model.document.selection)}}class m extends e.Command{constructor(e){super(e),this._indentSequence=e.config.get("codeBlock.indentSequence")}refresh(){this.isEnabled=this._checkEnabled()}execute(){const e=this.editor.model;e.change((()=>{const t=l(e);for(const n of t){const t=p(e,n,this._indentSequence);t&&e.deleteContent(e.createSelection(t))}}))}_checkEnabled(){if(!this._indentSequence)return!1;const e=this.editor.model;return!!d(e.document.selection)&&l(e).some((t=>p(e,t,this._indentSequence)))}}function p(e,t,n){const o=function(e){let t=e.parent.getChild(e.index);t&&!t.is("element","softBreak")||(t=e.nodeBefore);if(!t||t.is("element","softBreak"))return null;return t}(t);if(!o)return null;const i=s(o),r=i.lastIndexOf(n);if(r+n.length!==i.length)return null;if(-1===r)return null;const{parent:a,startOffset:c}=o;return e.createRange(e.createPositionAt(a,c+r),e.createPositionAt(a,c+r+n.length))}function h(e,t,n=!1){const o=c(t,"language","class"),i=c(t,"language","label");return(t,r,a)=>{const{writer:c,mapper:s,consumable:l}=a;if(!l.consume(r.item,"insert"))return;const d=r.item.getAttribute("language"),u=s.toViewPosition(e.createPositionBefore(r.item)),g={};n&&(g["data-language"]=i[d],g.spellcheck="false");const f=c.createContainerElement("code",{class:o[d]||null}),m=c.createContainerElement("pre",g,f);c.insert(u,m),s.bindElements(r.item,f)}}const b="paragraph";class v extends e.Plugin{static get pluginName(){return"CodeBlockEditing"}static get requires(){return[t.ShiftEnter]}constructor(e){super(e),e.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 e=this.editor,t=e.model.schema,n=e.model,o=e.editing.view,r=e.plugins.has("DocumentListEditing"),s=a(e);e.commands.add("codeBlock",new g(e)),e.commands.add("indentCodeBlock",new f(e)),e.commands.add("outdentCodeBlock",new m(e)),this.listenTo(o.document,"tab",((t,n)=>{const o=n.shiftKey?"outdentCodeBlock":"indentCodeBlock";e.commands.get(o).isEnabled&&(e.execute(o),n.stopPropagation(),n.preventDefault(),t.stop())}),{context:"pre"}),t.register("codeBlock",{allowWhere:"$block",allowChildren:"$text",isBlock:!0,allowAttributes:["language"]}),t.addAttributeCheck(((e,t)=>{const n=e.endsWith("codeBlock")&&t.startsWith("list")&&"list"!==t;return!(!r||!n)||!e.endsWith("codeBlock $text")&&void 0})),e.model.schema.addChildCheck(((e,t)=>{if(e.endsWith("codeBlock")&&t.isObject)return!1})),e.editing.downcastDispatcher.on("insert:codeBlock",h(n,s,!0)),e.data.downcastDispatcher.on("insert:codeBlock",h(n,s)),e.data.downcastDispatcher.on("insert:softBreak",function(e){return(t,n,o)=>{if("codeBlock"!==n.item.parent.name)return;const{writer:i,mapper:r,consumable:a}=o;if(!a.consume(n.item,"insert"))return;const c=r.toViewPosition(e.createPositionBefore(n.item));i.insert(c,i.createText("\n"))}}(n),{priority:"high"}),e.data.upcastDispatcher.on("element:code",function(e,t){const n=c(t,"class","language"),o=t[0].language;return(e,t,i)=>{const r=t.viewItem,a=r.parent;if(!a||!a.is("element","pre"))return;if(t.modelCursor.findAncestor("codeBlock"))return;const{consumable:c,writer:s}=i;if(!c.test(r,{name:!0}))return;const l=s.createElement("codeBlock"),d=[...r.getClassNames()];d.length||d.push("");for(const e of d){const t=n[e];if(t){s.setAttribute("language",t,l);break}}l.hasAttribute("language")||s.setAttribute("language",o,l),i.convertChildren(r,l),i.safeInsert(l,t.modelCursor)&&(c.consume(r,{name:!0}),i.updateConversionResult(l,t))}}(0,s)),e.data.upcastDispatcher.on("text",((e,t,{consumable:n,writer:o})=>{let i=t.modelCursor;if(!n.test(t.viewItem))return;if(!i.findAncestor("codeBlock"))return;n.consume(t.viewItem);const r=t.viewItem.data.split("\n").map((e=>o.createText(e))),a=r[r.length-1];for(const e of r)if(o.insert(e,i),i=i.getShiftedBy(e.offsetSize),e!==a){const e=o.createElement("softBreak");o.insert(e,i),i=o.createPositionAfter(e)}t.modelRange=o.createRange(t.modelCursor,i),t.modelCursor=i})),e.data.upcastDispatcher.on("element:pre",((e,t,{consumable:n})=>{const o=t.viewItem;if(o.findAncestor("pre"))return;const i=Array.from(o.getChildren()),r=i.find((e=>e.is("element","code")));if(r)for(const e of i)e!==r&&e.is("$text")&&n.consume(e,{name:!0})}),{priority:"high"}),this.listenTo(e.editing.view.document,"clipboardInput",((t,o)=>{let r=n.createRange(n.document.selection.anchor);if(o.targetRanges&&(r=e.editing.mapper.toModelRange(o.targetRanges[0])),!r.start.parent.is("element","codeBlock"))return;const a=o.dataTransfer.getData("text/plain"),c=new i.UpcastWriter(e.editing.view.document);o.content=function(e,t){const n=e.createDocumentFragment(),o=t.split("\n"),i=o.reduce(((t,n,i)=>(t.push(n),i{const i=o.anchor;!o.isCollapsed&&i.parent.is("element","codeBlock")&&i.hasSameParentAs(o.focus)&&n.change((n=>{const r=e.return;if(r.childCount>1||o.containsEntireContent(i.parent)){const t=n.createElement("codeBlock",i.parent.getAttributes());n.append(r,t);const o=n.createDocumentFragment();n.append(t,o),e.return=o}else{const e=r.getChild(0);t.checkAttribute(e,"code")&&n.setAttribute("code",!0,e)}}))}))}afterInit(){const e=this.editor,t=e.commands,n=t.get("indent"),o=t.get("outdent");n&&n.registerChildCommand(t.get("indentCodeBlock"),{priority:"highest"}),o&&o.registerChildCommand(t.get("outdentCodeBlock")),this.listenTo(e.editing.view.document,"enter",((t,n)=>{e.model.document.selection.getLastPosition().parent.is("element","codeBlock")&&(function(e,t){const n=e.model.document,o=e.editing.view,i=n.selection.getLastPosition(),r=i.nodeAfter;if(t||!n.selection.isCollapsed||!i.isAtStart)return!1;if(!B(r))return!1;return e.model.change((t=>{e.execute("enter");const o=n.selection.anchor.parent.previousSibling;t.rename(o,b),t.setSelection(o,"in"),e.model.schema.removeDisallowedAttributes([o],t),t.remove(r)})),o.scrollToTheSelection(),!0}(e,n.isSoft)||function(e,t){const n=e.model,o=n.document,i=e.editing.view,r=o.selection.getLastPosition(),a=r.nodeBefore;let c;if(t||!o.selection.isCollapsed||!r.isAtEnd||!a||!a.previousSibling)return!1;if(B(a)&&B(a.previousSibling))c=n.createRange(n.createPositionBefore(a.previousSibling),n.createPositionAfter(a));else if(k(a)&&B(a.previousSibling)&&B(a.previousSibling.previousSibling))c=n.createRange(n.createPositionBefore(a.previousSibling.previousSibling),n.createPositionAfter(a));else{if(!(k(a)&&B(a.previousSibling)&&k(a.previousSibling.previousSibling)&&B(a.previousSibling.previousSibling.previousSibling)))return!1;c=n.createRange(n.createPositionBefore(a.previousSibling.previousSibling.previousSibling),n.createPositionAfter(a))}return e.model.change((t=>{t.remove(c),e.execute("enter");const n=o.selection.anchor.parent;t.rename(n,b),e.model.schema.removeDisallowedAttributes([n],t)})),i.scrollToTheSelection(),!0}(e,n.isSoft)||function(e){const t=e.model.document,n=t.selection.getLastPosition(),o=n.nodeBefore||n.textNode;let i;o&&o.is("$text")&&(i=s(o));e.model.change((n=>{e.execute("shiftEnter"),i&&n.insertText(i,t.selection.anchor)}))}(e),n.preventDefault(),t.stop())}),{context:"pre"})}}function k(e){return e&&e.is("$text")&&!e.data.match(/\S/)}function B(e){return e&&e.is("element","softBreak")}var C=n(273);var w=n(62),x=n.n(w),S=n(67),y={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};x()(S.Z,y);S.Z.locals;class A extends e.Plugin{static get pluginName(){return"CodeBlockUI"}init(){const e=this.editor,t=e.t,n=e.ui.componentFactory,o=a(e);n.add("codeBlock",(n=>{const i=e.commands.get("codeBlock"),r=(0,C.createDropdown)(n,C.SplitButtonView),a=r.buttonView;return a.set({label:t("Insert code block"),tooltip:!0,icon:'',isToggleable:!0}),a.bind("isOn").to(i,"value",(e=>!!e)),a.on("execute",(()=>{e.execute("codeBlock",{usePreviousLanguageChoice:!0}),e.editing.view.focus()})),r.on("execute",(t=>{e.execute("codeBlock",{language:t.source._codeBlockLanguage,forceValue:!0}),e.editing.view.focus()})),r.class="ck-code-block-dropdown",r.bind("isEnabled").to(i),(0,C.addListToDropdown)(r,this._getLanguageListItemDefinitions(o)),r}))}_getLanguageListItemDefinitions(e){const t=this.editor.commands.get("codeBlock"),n=new r.Collection;for(const o of e){const e={type:"button",model:new C.Model({_codeBlockLanguage:o.language,label:o.label,withText:!0})};e.model.bind("isOn").to(t,"value",(t=>t===e.model._codeBlockLanguage)),n.add(e)}return n}}class E extends e.Plugin{static get requires(){return[v,A]}static get pluginName(){return"CodeBlock"}}})(),(window.CKEditor5=window.CKEditor5||{}).codeBlock=o})(); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/code-block/translations/ar.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/code-block/translations/ar.js new file mode 100644 index 000000000..9cebd7313 --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/code-block/translations/ar.js @@ -0,0 +1 @@ +!function(n){const i=n.ar=n.ar||{};i.dictionary=Object.assign(i.dictionary||{},{"Insert code block":"إدراج كتلة تعليمات برمجية","Plain text":"نص عادي"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/code-block/translations/bg.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/code-block/translations/bg.js new file mode 100644 index 000000000..bc58d234c --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/code-block/translations/bg.js @@ -0,0 +1 @@ +!function(n){const i=n.bg=n.bg||{};i.dictionary=Object.assign(i.dictionary||{},{"Insert code block":"Въведи кодов блок","Plain text":"Обикновен текст"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/code-block/translations/bn.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/code-block/translations/bn.js new file mode 100644 index 000000000..da5e9c75c --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/code-block/translations/bn.js @@ -0,0 +1 @@ +!function(n){const i=n.bn=n.bn||{};i.dictionary=Object.assign(i.dictionary||{},{"Insert code block":"কোড ব্লক ঢোকান","Plain text":"প্লেইন টেক্সট"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/code-block/translations/ca.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/code-block/translations/ca.js new file mode 100644 index 000000000..0ef5a1d58 --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/code-block/translations/ca.js @@ -0,0 +1 @@ +!function(i){const n=i.ca=i.ca||{};n.dictionary=Object.assign(n.dictionary||{},{"Insert code block":"Introduir un bloc de codi","Plain text":"Text simple"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/code-block/translations/fi.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/code-block/translations/fi.js new file mode 100644 index 000000000..def2368b1 --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/code-block/translations/fi.js @@ -0,0 +1 @@ +!function(i){const o=i.fi=i.fi||{};o.dictionary=Object.assign(o.dictionary||{},{"Insert code block":"Liitä koodilohko","Plain text":"Pelkkä teksti"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/code-block/translations/he.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/code-block/translations/he.js new file mode 100644 index 000000000..d28d3bee3 --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/code-block/translations/he.js @@ -0,0 +1 @@ +!function(n){const i=n.he=n.he||{};i.dictionary=Object.assign(i.dictionary||{},{"Insert code block":"הוספת קטע קוד","Plain text":"טקסט פשוט"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/code-block/translations/lt.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/code-block/translations/lt.js new file mode 100644 index 000000000..75bb84abb --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/code-block/translations/lt.js @@ -0,0 +1 @@ +!function(t){const i=t.lt=t.lt||{};i.dictionary=Object.assign(i.dictionary||{},{"Insert code block":"Įterpti codų bloką","Plain text":"Paprastasis tekstas"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/code-block/translations/ms.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/code-block/translations/ms.js new file mode 100644 index 000000000..7c57c0118 --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/code-block/translations/ms.js @@ -0,0 +1 @@ +!function(n){const o=n.ms=n.ms||{};o.dictionary=Object.assign(o.dictionary||{},{"Insert code block":"Masukkan blok kod","Plain text":"Teks kosong"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/code-block/translations/pt.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/code-block/translations/pt.js new file mode 100644 index 000000000..49b1f1acb --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/code-block/translations/pt.js @@ -0,0 +1 @@ +!function(i){const o=i.pt=i.pt||{};o.dictionary=Object.assign(o.dictionary||{},{"Insert code block":"Inserir bloco de citação","Plain text":"Texto simples"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/code-block/translations/sv.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/code-block/translations/sv.js new file mode 100644 index 000000000..a1d6b165e --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/code-block/translations/sv.js @@ -0,0 +1 @@ +!function(n){const o=n.sv=n.sv||{};o.dictionary=Object.assign(o.dictionary||{},{"Insert code block":"Infoga kodblock","Plain text":"Vanlig text"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/code-block/translations/vi.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/code-block/translations/vi.js new file mode 100644 index 000000000..362b69a25 --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/code-block/translations/vi.js @@ -0,0 +1 @@ +!function(n){const i=n.vi=n.vi||{};i.dictionary=Object.assign(i.dictionary||{},{"Insert code block":"Chèn khối mã","Plain text":"Văn bản thuần"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/editor-classic/editor-classic.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/editor-classic/editor-classic.js index da0f9a846..d09337144 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/editor-classic/editor-classic.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/editor-classic/editor-classic.js @@ -1,4 +1,4 @@ /*! * @license Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md. - */(()=>{var e={655:(e,t,r)=>{"use strict";r.d(t,{Z:()=>n});var o=r(609),i=r.n(o)()((function(e){return e[1]}));i.push([e.id,".ck.ck-editor{position:relative}.ck.ck-editor .ck-editor__top .ck-sticky-panel .ck-toolbar{z-index:var(--ck-z-modal)}.ck.ck-editor__top .ck-sticky-panel .ck-toolbar{border-radius:0}.ck-rounded-corners .ck.ck-editor__top .ck-sticky-panel .ck-toolbar,.ck.ck-editor__top .ck-sticky-panel .ck-toolbar.ck-rounded-corners{border-radius:var(--ck-border-radius);border-bottom-left-radius:0;border-bottom-right-radius:0}.ck.ck-editor__top .ck-sticky-panel .ck-toolbar{border-bottom-width:0}.ck.ck-editor__top .ck-sticky-panel .ck-sticky-panel__content_sticky .ck-toolbar{border-bottom-width:1px;border-radius:0}.ck-rounded-corners .ck.ck-editor__top .ck-sticky-panel .ck-sticky-panel__content_sticky .ck-toolbar,.ck.ck-editor__top .ck-sticky-panel .ck-sticky-panel__content_sticky .ck-toolbar.ck-rounded-corners{border-radius:var(--ck-border-radius);border-radius:0}.ck.ck-editor__main>.ck-editor__editable{background:var(--ck-color-base-background);border-radius:0}.ck-rounded-corners .ck.ck-editor__main>.ck-editor__editable,.ck.ck-editor__main>.ck-editor__editable.ck-rounded-corners{border-radius:var(--ck-border-radius);border-top-left-radius:0;border-top-right-radius:0}.ck.ck-editor__main>.ck-editor__editable:not(.ck-focused){border-color:var(--ck-color-base-border)}",""]);const n=i},609:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var r=e(t);return t[2]?"@media ".concat(t[2]," {").concat(r,"}"):r})).join("")},t.i=function(e,r,o){"string"==typeof e&&(e=[[null,e,""]]);var i={};if(o)for(var n=0;n{"use strict";var o,i=function(){return void 0===o&&(o=Boolean(window&&document&&document.all&&!window.atob)),o},n=function(){var e={};return function(t){if(void 0===e[t]){var r=document.querySelector(t);if(window.HTMLIFrameElement&&r instanceof window.HTMLIFrameElement)try{r=r.contentDocument.head}catch(e){r=null}e[t]=r}return e[t]}}(),c=[];function a(e){for(var t=-1,r=0;r{e.exports=r(79)("./src/core.js")},492:(e,t,r)=>{e.exports=r(79)("./src/engine.js")},273:(e,t,r)=>{e.exports=r(79)("./src/ui.js")},209:(e,t,r)=>{e.exports=r(79)("./src/utils.js")},79:e=>{"use strict";e.exports=CKEditor5.dll}},t={};function r(o){var i=t[o];if(void 0!==i)return i.exports;var n=t[o]={id:o,exports:{}};return e[o](n,n.exports,r),n.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var o in t)r.o(t,o)&&!r.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.nc=void 0;var o={};(()=>{"use strict";r.r(o),r.d(o,{ClassicEditor:()=>R});var e=r(704),t=r(209);const i=function(e){return null!=e&&"object"==typeof e};const n="object"==typeof global&&global&&global.Object===Object&&global;var c="object"==typeof self&&self&&self.Object===Object&&self;const a=(n||c||Function("return this")()).Symbol;var s=Object.prototype,l=s.hasOwnProperty,d=s.toString,u=a?a.toStringTag:void 0;const b=function(e){var t=l.call(e,u),r=e[u];try{e[u]=void 0;var o=!0}catch(e){}var i=d.call(e);return o&&(t?e[u]=r:delete e[u]),i};var f=Object.prototype.toString;const p=function(e){return f.call(e)};var h=a?a.toStringTag:void 0;const k=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":h&&h in Object(e)?b(e):p(e)};const v=function(e,t){return function(r){return e(t(r))}}(Object.getPrototypeOf,Object);var m=Function.prototype,y=Object.prototype,g=m.toString,_=y.hasOwnProperty,w=g.call(Object);const j=function(e){if(!i(e)||"[object Object]"!=k(e))return!1;var t=v(e);if(null===t)return!0;var r=_.call(t,"constructor")&&t.constructor;return"function"==typeof r&&r instanceof r&&g.call(r)==w};const T=function(e){return i(e)&&1===e.nodeType&&!j(e)};var x=r(273),O=r(492);class E extends e.EditorUI{constructor(e,r){super(e),this.view=r,this._toolbarConfig=(0,x.normalizeToolbarConfig)(e.config.get("toolbar")),this._elementReplacer=new t.ElementReplacer}get element(){return this.view.element}init(e){const t=this.editor,r=this.view,o=t.editing.view,i=r.editable,n=o.document.getRoot();i.name=n.rootName,r.render();const c=i.element;this.setEditableElement(i.name,c),this.focusTracker.add(c),r.editable.bind("isFocused").to(this.focusTracker),o.attachDomRoot(c),e&&this._elementReplacer.replace(e,this.element),this._initPlaceholder(),this._initToolbar(),this.fire("ready")}destroy(){const e=this.view,t=this.editor.editing.view;this._elementReplacer.restore(),t.detachDomRoot(e.editable.name),e.destroy(),super.destroy()}_initToolbar(){const e=this.editor,t=this.view,r=e.editing.view;t.stickyPanel.bind("isActive").to(this.focusTracker,"isFocused"),t.stickyPanel.limiterElement=t.element,t.stickyPanel.bind("viewportTopOffset").to(this,"viewportOffset",(({top:e})=>e)),t.toolbar.fillFromConfig(this._toolbarConfig,this.componentFactory),(0,x.enableToolbarKeyboardFocus)({origin:r,originFocusTracker:this.focusTracker,originKeystrokeHandler:e.keystrokes,toolbar:t.toolbar})}_initPlaceholder(){const e=this.editor,t=e.editing.view,r=t.document.getRoot(),o=e.sourceElement,i=e.config.get("placeholder")||o&&"textarea"===o.tagName.toLowerCase()&&o.getAttribute("placeholder");i&&(0,O.enablePlaceholder)({view:t,element:r,text:i,isDirectHost:!1,keepOnFocus:!0})}}var S=r(62),C=r.n(S),P=r(655),F={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};C()(P.Z,F);P.Z.locals;class M extends x.BoxedEditorUIView{constructor(e,t,r={}){super(e),this.stickyPanel=new x.StickyPanelView(e),this.toolbar=new x.ToolbarView(e,{shouldGroupWhenFull:r.shouldToolbarGroupWhenFull}),this.editable=new x.InlineEditableUIView(e,t)}render(){super.render(),this.stickyPanel.content.add(this.toolbar),this.top.add(this.stickyPanel),this.main.add(this.editable)}}class R extends e.Editor{constructor(r,o={}){if(!T(r)&&void 0!==o.initialData)throw new t.CKEditorError("editor-create-initial-data",null);super(o),void 0===this.config.get("initialData")&&this.config.set("initialData",function(e){return T(e)?(0,t.getDataFromElement)(e):e}(r)),T(r)&&(this.sourceElement=r),this.model.document.createRoot();const i=!this.config.get("toolbar.shouldNotGroupWhenFull"),n=new M(this.locale,this.editing.view,{shouldToolbarGroupWhenFull:i});this.ui=new E(this,n),(0,e.attachToForm)(this)}destroy(){return this.sourceElement&&this.updateSourceElement(),this.ui.destroy(),super.destroy()}static create(e,t={}){return new Promise((r=>{const o=new this(e,t);r(o.initPlugins().then((()=>o.ui.init(T(e)?e:null))).then((()=>o.data.init(o.config.get("initialData")))).then((()=>o.fire("ready"))).then((()=>o)))}))}}(0,t.mix)(R,e.DataApiMixin),(0,t.mix)(R,e.ElementApiMixin)})(),(window.CKEditor5=window.CKEditor5||{}).editorClassic=o})(); \ No newline at end of file + */(()=>{var e={655:(e,t,r)=>{"use strict";r.d(t,{Z:()=>i});var o=r(609),n=r.n(o)()((function(e){return e[1]}));n.push([e.id,".ck.ck-editor{position:relative}.ck.ck-editor .ck-editor__top .ck-sticky-panel .ck-toolbar{z-index:var(--ck-z-modal)}.ck.ck-editor__top .ck-sticky-panel .ck-toolbar{border-radius:0}.ck-rounded-corners .ck.ck-editor__top .ck-sticky-panel .ck-toolbar,.ck.ck-editor__top .ck-sticky-panel .ck-toolbar.ck-rounded-corners{border-radius:var(--ck-border-radius);border-bottom-left-radius:0;border-bottom-right-radius:0}.ck.ck-editor__top .ck-sticky-panel .ck-toolbar{border-bottom-width:0}.ck.ck-editor__top .ck-sticky-panel .ck-sticky-panel__content_sticky .ck-toolbar{border-bottom-width:1px;border-radius:0}.ck-rounded-corners .ck.ck-editor__top .ck-sticky-panel .ck-sticky-panel__content_sticky .ck-toolbar,.ck.ck-editor__top .ck-sticky-panel .ck-sticky-panel__content_sticky .ck-toolbar.ck-rounded-corners{border-radius:var(--ck-border-radius);border-radius:0}.ck.ck-editor__main>.ck-editor__editable{background:var(--ck-color-base-background);border-radius:0}.ck-rounded-corners .ck.ck-editor__main>.ck-editor__editable,.ck.ck-editor__main>.ck-editor__editable.ck-rounded-corners{border-radius:var(--ck-border-radius);border-top-left-radius:0;border-top-right-radius:0}.ck.ck-editor__main>.ck-editor__editable:not(.ck-focused){border-color:var(--ck-color-base-border)}",""]);const i=n},609:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var r=e(t);return t[2]?"@media ".concat(t[2]," {").concat(r,"}"):r})).join("")},t.i=function(e,r,o){"string"==typeof e&&(e=[[null,e,""]]);var n={};if(o)for(var i=0;i{"use strict";var o,n=function(){return void 0===o&&(o=Boolean(window&&document&&document.all&&!window.atob)),o},i=function(){var e={};return function(t){if(void 0===e[t]){var r=document.querySelector(t);if(window.HTMLIFrameElement&&r instanceof window.HTMLIFrameElement)try{r=r.contentDocument.head}catch(e){r=null}e[t]=r}return e[t]}}(),c=[];function a(e){for(var t=-1,r=0;r{e.exports=r(79)("./src/core.js")},492:(e,t,r)=>{e.exports=r(79)("./src/engine.js")},273:(e,t,r)=>{e.exports=r(79)("./src/ui.js")},209:(e,t,r)=>{e.exports=r(79)("./src/utils.js")},79:e=>{"use strict";e.exports=CKEditor5.dll}},t={};function r(o){var n=t[o];if(void 0!==n)return n.exports;var i=t[o]={id:o,exports:{}};return e[o](i,i.exports,r),i.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var o in t)r.o(t,o)&&!r.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.nc=void 0;var o={};(()=>{"use strict";r.r(o),r.d(o,{ClassicEditor:()=>R});var e=r(704),t=r(209);const n=function(e){return null!=e&&"object"==typeof e};const i="object"==typeof global&&global&&global.Object===Object&&global;var c="object"==typeof self&&self&&self.Object===Object&&self;const a=(i||c||Function("return this")()).Symbol;var s=Object.prototype,l=s.hasOwnProperty,d=s.toString,u=a?a.toStringTag:void 0;const p=function(e){var t=l.call(e,u),r=e[u];try{e[u]=void 0;var o=!0}catch(e){}var n=d.call(e);return o&&(t?e[u]=r:delete e[u]),n};var f=Object.prototype.toString;const b=function(e){return f.call(e)};var h=a?a.toStringTag:void 0;const k=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":h&&h in Object(e)?p(e):b(e)};const v=function(e,t){return function(r){return e(t(r))}}(Object.getPrototypeOf,Object);var m=Function.prototype,y=Object.prototype,g=m.toString,_=y.hasOwnProperty,w=g.call(Object);const j=function(e){if(!n(e)||"[object Object]"!=k(e))return!1;var t=v(e);if(null===t)return!0;var r=_.call(t,"constructor")&&t.constructor;return"function"==typeof r&&r instanceof r&&g.call(r)==w};const x=function(e){return n(e)&&1===e.nodeType&&!j(e)};var O=r(273),E=r(492);class T extends e.EditorUI{constructor(e,r){super(e),this.view=r,this._toolbarConfig=(0,O.normalizeToolbarConfig)(e.config.get("toolbar")),this._elementReplacer=new t.ElementReplacer}get element(){return this.view.element}init(e){const t=this.editor,r=this.view,o=t.editing.view,n=r.editable,i=o.document.getRoot();n.name=i.rootName,r.render();const c=n.element;this.setEditableElement(n.name,c),r.editable.bind("isFocused").to(this.focusTracker),o.attachDomRoot(c),e&&this._elementReplacer.replace(e,this.element),this._initPlaceholder(),this._initToolbar(),this.fire("ready")}destroy(){const e=this.view,t=this.editor.editing.view;this._elementReplacer.restore(),t.detachDomRoot(e.editable.name),e.destroy(),super.destroy()}_initToolbar(){const e=this.view;e.stickyPanel.bind("isActive").to(this.focusTracker,"isFocused"),e.stickyPanel.limiterElement=e.element,e.stickyPanel.bind("viewportTopOffset").to(this,"viewportOffset",(({top:e})=>e)),e.toolbar.fillFromConfig(this._toolbarConfig,this.componentFactory),this.addToolbar(e.toolbar)}_initPlaceholder(){const e=this.editor,t=e.editing.view,r=t.document.getRoot(),o=e.sourceElement,n=e.config.get("placeholder")||o&&"textarea"===o.tagName.toLowerCase()&&o.getAttribute("placeholder");n&&(0,E.enablePlaceholder)({view:t,element:r,text:n,isDirectHost:!1,keepOnFocus:!0})}}var S=r(62),C=r.n(S),P=r(655),F={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};C()(P.Z,F);P.Z.locals;class M extends O.BoxedEditorUIView{constructor(e,t,r={}){super(e),this.stickyPanel=new O.StickyPanelView(e),this.toolbar=new O.ToolbarView(e,{shouldGroupWhenFull:r.shouldToolbarGroupWhenFull}),this.editable=new O.InlineEditableUIView(e,t)}render(){super.render(),this.stickyPanel.content.add(this.toolbar),this.top.add(this.stickyPanel),this.main.add(this.editable)}}class R extends e.Editor{constructor(r,o={}){if(!x(r)&&void 0!==o.initialData)throw new t.CKEditorError("editor-create-initial-data",null);super(o),void 0===this.config.get("initialData")&&this.config.set("initialData",function(e){return x(e)?(0,t.getDataFromElement)(e):e}(r)),x(r)&&(this.sourceElement=r),this.model.document.createRoot();const n=!this.config.get("toolbar.shouldNotGroupWhenFull"),i=new M(this.locale,this.editing.view,{shouldToolbarGroupWhenFull:n});this.ui=new T(this,i),(0,e.attachToForm)(this)}destroy(){return this.sourceElement&&this.updateSourceElement(),this.ui.destroy(),super.destroy()}static create(e,t={}){return new Promise((r=>{const o=new this(e,t);r(o.initPlugins().then((()=>o.ui.init(x(e)?e:null))).then((()=>o.data.init(o.config.get("initialData")))).then((()=>o.fire("ready"))).then((()=>o)))}))}}(0,t.mix)(R,e.DataApiMixin),(0,t.mix)(R,e.ElementApiMixin)})(),(window.CKEditor5=window.CKEditor5||{}).editorClassic=o})(); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/editor-decoupled/editor-decoupled.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/editor-decoupled/editor-decoupled.js index 2fb9f871e..480d11231 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/editor-decoupled/editor-decoupled.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/editor-decoupled/editor-decoupled.js @@ -1,4 +1,4 @@ /*! * @license Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md. - */(()=>{var t={704:(t,e,o)=>{t.exports=o(79)("./src/core.js")},492:(t,e,o)=>{t.exports=o(79)("./src/engine.js")},273:(t,e,o)=>{t.exports=o(79)("./src/ui.js")},209:(t,e,o)=>{t.exports=o(79)("./src/utils.js")},79:t=>{"use strict";t.exports=CKEditor5.dll}},e={};function o(r){var i=e[r];if(void 0!==i)return i.exports;var n=e[r]={exports:{}};return t[r](n,n.exports,o),n.exports}o.d=(t,e)=>{for(var r in e)o.o(e,r)&&!o.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},o.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),o.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var r={};(()=>{"use strict";o.r(r),o.d(r,{DecoupledEditor:()=>S});var t=o(704),e=o(209);const i=function(t){return null!=t&&"object"==typeof t};const n="object"==typeof global&&global&&global.Object===Object&&global;var s="object"==typeof self&&self&&self.Object===Object&&self;const l=(n||s||Function("return this")()).Symbol;var a=Object.prototype,c=a.hasOwnProperty,d=a.toString,u=l?l.toStringTag:void 0;const h=function(t){var e=c.call(t,u),o=t[u];try{t[u]=void 0;var r=!0}catch(t){}var i=d.call(t);return r&&(e?t[u]=o:delete t[u]),i};var b=Object.prototype.toString;const g=function(t){return b.call(t)};var p=l?l.toStringTag:void 0;const f=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":p&&p in Object(t)?h(t):g(t)};const m=function(t,e){return function(o){return t(e(o))}}(Object.getPrototypeOf,Object);var v=Function.prototype,y=Object.prototype,w=v.toString,j=y.hasOwnProperty,E=w.call(Object);const O=function(t){if(!i(t)||"[object Object]"!=f(t))return!1;var e=m(t);if(null===e)return!0;var o=j.call(e,"constructor")&&e.constructor;return"function"==typeof o&&o instanceof o&&w.call(o)==E};const T=function(t){return i(t)&&1===t.nodeType&&!O(t)};var x=o(273),D=o(492);class F extends t.EditorUI{constructor(t,e){super(t),this.view=e}init(){const t=this.editor,e=this.view,o=t.editing.view,r=e.editable,i=o.document.getRoot();e.editable.name=i.rootName,e.render();const n=r.element;this.setEditableElement(r.name,n),this.focusTracker.add(n),e.editable.bind("isFocused").to(this.focusTracker),o.attachDomRoot(n),this._initPlaceholder(),this._initToolbar(),this.fire("ready")}destroy(){const t=this.view;this.editor.editing.view.detachDomRoot(t.editable.name),t.destroy(),super.destroy()}_initToolbar(){const t=this.editor,e=this.view.toolbar;e.fillFromConfig(t.config.get("toolbar"),this.componentFactory),(0,x.enableToolbarKeyboardFocus)({origin:t.editing.view,originFocusTracker:this.focusTracker,originKeystrokeHandler:t.keystrokes,toolbar:e})}_initPlaceholder(){const t=this.editor,e=t.editing.view,o=e.document.getRoot(),r=t.sourceElement,i=t.config.get("placeholder")||r&&"textarea"===r.tagName.toLowerCase()&&r.getAttribute("placeholder");i&&(0,D.enablePlaceholder)({view:e,element:o,text:i,isDirectHost:!1,keepOnFocus:!0})}}class P extends x.EditorUIView{constructor(t,e,o={}){super(t),this.toolbar=new x.ToolbarView(t,{shouldGroupWhenFull:o.shouldToolbarGroupWhenFull}),this.editable=new x.InlineEditableUIView(t,e,o.editableElement),this.toolbar.extendTemplate({attributes:{class:["ck-reset_all","ck-rounded-corners"],dir:t.uiLanguageDirection}})}render(){super.render(),this.registerChild([this.toolbar,this.editable])}}class S extends t.Editor{constructor(o,r={}){if(!T(o)&&void 0!==r.initialData)throw new e.CKEditorError("editor-create-initial-data",null);super(r),void 0===this.config.get("initialData")&&this.config.set("initialData",function(t){return T(t)?(0,e.getDataFromElement)(t):t}(o)),T(o)&&(this.sourceElement=o,(0,t.secureSourceElement)(this)),this.model.document.createRoot();const i=!this.config.get("toolbar.shouldNotGroupWhenFull"),n=new P(this.locale,this.editing.view,{editableElement:this.sourceElement,shouldToolbarGroupWhenFull:i});this.ui=new F(this,n)}destroy(){const t=this.getData();return this.ui.destroy(),super.destroy().then((()=>{this.sourceElement&&(0,e.setDataInElement)(this.sourceElement,t)}))}static create(t,o={}){return new Promise((r=>{if(T(t)&&"TEXTAREA"===t.tagName)throw new e.CKEditorError("editor-wrong-element",null);const i=new this(t,o);r(i.initPlugins().then((()=>i.ui.init())).then((()=>i.data.init(i.config.get("initialData")))).then((()=>i.fire("ready"))).then((()=>i)))}))}}(0,e.mix)(S,t.DataApiMixin)})(),(window.CKEditor5=window.CKEditor5||{}).editorDecoupled=r})(); \ No newline at end of file + */(()=>{var t={704:(t,e,o)=>{t.exports=o(79)("./src/core.js")},492:(t,e,o)=>{t.exports=o(79)("./src/engine.js")},273:(t,e,o)=>{t.exports=o(79)("./src/ui.js")},209:(t,e,o)=>{t.exports=o(79)("./src/utils.js")},79:t=>{"use strict";t.exports=CKEditor5.dll}},e={};function o(r){var i=e[r];if(void 0!==i)return i.exports;var n=e[r]={exports:{}};return t[r](n,n.exports,o),n.exports}o.d=(t,e)=>{for(var r in e)o.o(e,r)&&!o.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},o.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),o.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var r={};(()=>{"use strict";o.r(r),o.d(r,{DecoupledEditor:()=>F});var t=o(704),e=o(209);const i=function(t){return null!=t&&"object"==typeof t};const n="object"==typeof global&&global&&global.Object===Object&&global;var s="object"==typeof self&&self&&self.Object===Object&&self;const l=(n||s||Function("return this")()).Symbol;var a=Object.prototype,c=a.hasOwnProperty,d=a.toString,u=l?l.toStringTag:void 0;const h=function(t){var e=c.call(t,u),o=t[u];try{t[u]=void 0;var r=!0}catch(t){}var i=d.call(t);return r&&(e?t[u]=o:delete t[u]),i};var b=Object.prototype.toString;const p=function(t){return b.call(t)};var g=l?l.toStringTag:void 0;const f=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":g&&g in Object(t)?h(t):p(t)};const m=function(t,e){return function(o){return t(e(o))}}(Object.getPrototypeOf,Object);var v=Function.prototype,y=Object.prototype,w=v.toString,E=y.hasOwnProperty,j=w.call(Object);const O=function(t){if(!i(t)||"[object Object]"!=f(t))return!1;var e=m(t);if(null===e)return!0;var o=E.call(e,"constructor")&&e.constructor;return"function"==typeof o&&o instanceof o&&w.call(o)==j};const x=function(t){return i(t)&&1===t.nodeType&&!O(t)};var T=o(492);class D extends t.EditorUI{constructor(t,e){super(t),this.view=e}init(){const t=this.editor,e=this.view,o=t.editing.view,r=e.editable,i=o.document.getRoot();e.editable.name=i.rootName,e.render();const n=r.element;this.setEditableElement(r.name,n),e.editable.bind("isFocused").to(this.focusTracker),o.attachDomRoot(n),this._initPlaceholder(),this._initToolbar(),this.fire("ready")}destroy(){const t=this.view;this.editor.editing.view.detachDomRoot(t.editable.name),t.destroy(),super.destroy()}_initToolbar(){const t=this.editor,e=this.view;e.toolbar.fillFromConfig(t.config.get("toolbar"),this.componentFactory),this.addToolbar(e.toolbar)}_initPlaceholder(){const t=this.editor,e=t.editing.view,o=e.document.getRoot(),r=t.sourceElement,i=t.config.get("placeholder")||r&&"textarea"===r.tagName.toLowerCase()&&r.getAttribute("placeholder");i&&(0,T.enablePlaceholder)({view:e,element:o,text:i,isDirectHost:!1,keepOnFocus:!0})}}var S=o(273);class P extends S.EditorUIView{constructor(t,e,o={}){super(t);const r=t.t;this.toolbar=new S.ToolbarView(t,{shouldGroupWhenFull:o.shouldToolbarGroupWhenFull}),this.editable=new S.InlineEditableUIView(t,e,o.editableElement,{label:t=>r("Rich Text Editor. Editing area: %0",t.name)}),this.toolbar.extendTemplate({attributes:{class:["ck-reset_all","ck-rounded-corners"],dir:t.uiLanguageDirection}})}render(){super.render(),this.registerChild([this.toolbar,this.editable])}}class F extends t.Editor{constructor(o,r={}){if(!x(o)&&void 0!==r.initialData)throw new e.CKEditorError("editor-create-initial-data",null);super(r),void 0===this.config.get("initialData")&&this.config.set("initialData",function(t){return x(t)?(0,e.getDataFromElement)(t):t}(o)),x(o)&&(this.sourceElement=o,(0,t.secureSourceElement)(this)),this.model.document.createRoot();const i=!this.config.get("toolbar.shouldNotGroupWhenFull"),n=new P(this.locale,this.editing.view,{editableElement:this.sourceElement,shouldToolbarGroupWhenFull:i});this.ui=new D(this,n)}destroy(){const t=this.getData();return this.ui.destroy(),super.destroy().then((()=>{this.sourceElement&&this.updateSourceElement(t)}))}static create(t,o={}){return new Promise((r=>{if(x(t)&&"TEXTAREA"===t.tagName)throw new e.CKEditorError("editor-wrong-element",null);const i=new this(t,o);r(i.initPlugins().then((()=>i.ui.init())).then((()=>i.data.init(i.config.get("initialData")))).then((()=>i.fire("ready"))).then((()=>i)))}))}}(0,e.mix)(F,t.ElementApiMixin),(0,e.mix)(F,t.DataApiMixin)})(),(window.CKEditor5=window.CKEditor5||{}).editorDecoupled=r})(); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/heading/translations/ar.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/heading/translations/ar.js index 5d81ebd3e..f6ec4ef30 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/heading/translations/ar.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/heading/translations/ar.js @@ -1 +1 @@ -!function(n){const a=n.ar=n.ar||{};a.dictionary=Object.assign(a.dictionary||{},{"Choose heading":"اختر عنوان",Heading:"عنوان","Heading 1":"عنوان 1","Heading 2":"عنوان 2","Heading 3":"عنوان 3","Heading 4":"","Heading 5":"","Heading 6":"",Paragraph:"فقرة","Type or paste your content here.":"","Type your title":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(n){const a=n.ar=n.ar||{};a.dictionary=Object.assign(a.dictionary||{},{"Choose heading":"اختر عنوان",Heading:"عنوان","Heading 1":"عنوان 1","Heading 2":"عنوان 2","Heading 3":"عنوان 3","Heading 4":"عنوان 4","Heading 5":"عنوان 5","Heading 6":"عنوان 6",Paragraph:"فقرة","Type or paste your content here.":"أكتب المحتوى أو ألصقه هنا.","Type your title":"أدخل العنوان"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/heading/translations/bg.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/heading/translations/bg.js index 7ade36145..31c263c04 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/heading/translations/bg.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/heading/translations/bg.js @@ -1 +1 @@ -!function(n){const e=n.bg=n.bg||{};e.dictionary=Object.assign(e.dictionary||{},{"Choose heading":"Избери заглавие",Heading:"Заглавие","Heading 1":"Заглавие 1","Heading 2":"Заглавие 2","Heading 3":"Заглавие 3","Heading 4":"Заглавие 4","Heading 5":"Заглавие 5","Heading 6":"Заглавие 6",Paragraph:"Параграф","Type or paste your content here.":"","Type your title":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(n){const e=n.bg=n.bg||{};e.dictionary=Object.assign(e.dictionary||{},{"Choose heading":"Избери заглавие",Heading:"Заглавие","Heading 1":"Заглавие 1","Heading 2":"Заглавие 2","Heading 3":"Заглавие 3","Heading 4":"Заглавие 4","Heading 5":"Заглавие 5","Heading 6":"Заглавие 6",Paragraph:"Параграф","Type or paste your content here.":"Напишете или поставете съдържанието си тук.","Type your title":"Напишете заглавието си"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/heading/translations/bn.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/heading/translations/bn.js new file mode 100644 index 000000000..05f6f4b57 --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/heading/translations/bn.js @@ -0,0 +1 @@ +!function(n){const e=n.bn=n.bn||{};e.dictionary=Object.assign(e.dictionary||{},{"Choose heading":"শিরোনাম নির্বাচন করুন",Heading:"শিরোনাম","Heading 1":"শিরোনাম 1","Heading 2":"শিরোনাম 2","Heading 3":"শিরোনাম 3","Heading 4":"শিরোনাম 4","Heading 5":"শিরোনাম 5","Heading 6":"শিরোনাম 6",Paragraph:"অনুচ্ছেদ","Type or paste your content here.":"আপনার বিষয়বস্তু এখানে টাইপ অথবা পেস্ট করুন।","Type your title":"আপনার শিরোনাম টাইপ করুন"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/heading/translations/ca.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/heading/translations/ca.js index f8826ef82..499bf995d 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/heading/translations/ca.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/heading/translations/ca.js @@ -1 +1 @@ -!function(a){const e=a.ca=a.ca||{};e.dictionary=Object.assign(e.dictionary||{},{"Choose heading":"Escull capçalera",Heading:"Capçalera","Heading 1":"Capçalera 1","Heading 2":"Capçalera 2","Heading 3":"Capçalera 3","Heading 4":"","Heading 5":"","Heading 6":"",Paragraph:"Pàrraf","Type or paste your content here.":"","Type your title":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(a){const e=a.ca=a.ca||{};e.dictionary=Object.assign(e.dictionary||{},{"Choose heading":"Escull capçalera",Heading:"Capçalera","Heading 1":"Capçalera 1","Heading 2":"Capçalera 2","Heading 3":"Capçalera 3","Heading 4":"Encapçalament 4","Heading 5":"Encapçalament 5","Heading 6":"Encapçalament 6",Paragraph:"Pàrraf","Type or paste your content here.":"Escriu o enganxa el teu contingut aquí.","Type your title":"Escriu el teu títol"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/heading/translations/fi.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/heading/translations/fi.js index a7ceef6d4..d61112594 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/heading/translations/fi.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/heading/translations/fi.js @@ -1 +1 @@ -!function(i){const o=i.fi=i.fi||{};o.dictionary=Object.assign(o.dictionary||{},{"Choose heading":"Valitse otsikko",Heading:"Otsikkotyyli","Heading 1":"Otsikko 1","Heading 2":"Otsikko 2","Heading 3":"Otsikko 3","Heading 4":"Otsikko 4","Heading 5":"Otsikko 5","Heading 6":"Otsikko 6",Paragraph:"Kappale","Type or paste your content here.":"","Type your title":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(i){const t=i.fi=i.fi||{};t.dictionary=Object.assign(t.dictionary||{},{"Choose heading":"Valitse otsikko",Heading:"Otsikkotyyli","Heading 1":"Otsikko 1","Heading 2":"Otsikko 2","Heading 3":"Otsikko 3","Heading 4":"Otsikko 4","Heading 5":"Otsikko 5","Heading 6":"Otsikko 6",Paragraph:"Kappale","Type or paste your content here.":"Kirjoita tai liitä sisältösi tänne.","Type your title":"Kirjoita otsikkosi"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/heading/translations/lt.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/heading/translations/lt.js index 5535ebad3..daa3a21ba 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/heading/translations/lt.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/heading/translations/lt.js @@ -1 +1 @@ -!function(a){const t=a.lt=a.lt||{};t.dictionary=Object.assign(t.dictionary||{},{"Choose heading":"Pasirinkite antraštę",Heading:"Antraštė","Heading 1":"Antraštė 1","Heading 2":"Antraštė 2","Heading 3":"Antraštė 3","Heading 4":"Antraštė 4","Heading 5":"Antraštė 5","Heading 6":"Antraštė 6",Paragraph:"Paragrafas","Type or paste your content here.":"","Type your title":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(a){const t=a.lt=a.lt||{};t.dictionary=Object.assign(t.dictionary||{},{"Choose heading":"Pasirinkite antraštę",Heading:"Antraštė","Heading 1":"Antraštė 1","Heading 2":"Antraštė 2","Heading 3":"Antraštė 3","Heading 4":"Antraštė 4","Heading 5":"Antraštė 5","Heading 6":"Antraštė 6",Paragraph:"Paragrafas","Type or paste your content here.":"Rašykite ar įkopijuokite turinį čia.","Type your title":"Įveskite savo pavadinimą"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/heading/translations/ms.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/heading/translations/ms.js new file mode 100644 index 000000000..2afc6532c --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/heading/translations/ms.js @@ -0,0 +1 @@ +!function(a){const e=a.ms=a.ms||{};e.dictionary=Object.assign(e.dictionary||{},{"Choose heading":"Pilih pengepala",Heading:"Pengepala","Heading 1":"Pengepala 1","Heading 2":"Pengepala 2","Heading 3":"Pengepala 3","Heading 4":"Pengepala 4","Heading 5":"Pengepala 5","Heading 6":"Pengepala 6",Paragraph:"Perenggan","Type or paste your content here.":"Taip atau tampal kandungan anda disini.","Type your title":"Taip tajuk anda"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/heading/translations/pt.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/heading/translations/pt.js index cc3d6de8e..86428f0b7 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/heading/translations/pt.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/heading/translations/pt.js @@ -1 +1 @@ -!function(a){const e=a.pt=a.pt||{};e.dictionary=Object.assign(e.dictionary||{},{"Choose heading":"",Heading:"Cabeçalho","Heading 1":"Cabeçalho 1","Heading 2":"Cabeçalho 2","Heading 3":"Cabeçalho 3","Heading 4":"","Heading 5":"","Heading 6":"",Paragraph:"Parágrafo","Type or paste your content here.":"","Type your title":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(a){const e=a.pt=a.pt||{};e.dictionary=Object.assign(e.dictionary||{},{"Choose heading":"Escolher cabeçalho",Heading:"Cabeçalho","Heading 1":"Cabeçalho 1","Heading 2":"Cabeçalho 2","Heading 3":"Cabeçalho 3","Heading 4":"Cabeçalho 4","Heading 5":"Cabeçalho 5","Heading 6":"Cabeçalho 6",Paragraph:"Parágrafo","Type or paste your content here.":"Digite ou cole o seu conteúdo aqui.","Type your title":"Introduza o seu título"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/heading/translations/sv.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/heading/translations/sv.js index bcdb31eae..5fa0b568d 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/heading/translations/sv.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/heading/translations/sv.js @@ -1 +1 @@ -!function(i){const r=i.sv=i.sv||{};r.dictionary=Object.assign(r.dictionary||{},{"Choose heading":"Välj rubrik",Heading:"Rubrik","Heading 1":"Rubrik 1","Heading 2":"Rubrik 2","Heading 3":"Rubrik 3","Heading 4":"Rubrik 4","Heading 5":"Rubrik 5","Heading 6":"Rubrik 6",Paragraph:"Paragraf","Type or paste your content here.":"","Type your title":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(i){const r=i.sv=i.sv||{};r.dictionary=Object.assign(r.dictionary||{},{"Choose heading":"Välj rubrik",Heading:"Rubrik","Heading 1":"Rubrik 1","Heading 2":"Rubrik 2","Heading 3":"Rubrik 3","Heading 4":"Rubrik 4","Heading 5":"Rubrik 5","Heading 6":"Rubrik 6",Paragraph:"Paragraf","Type or paste your content here.":"Skriv eller klistra in ditt innehåll här.","Type your title":"Skriv in rubriken"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/heading/translations/th.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/heading/translations/th.js index 84e1673cf..722ab0192 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/heading/translations/th.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/heading/translations/th.js @@ -1 +1 @@ -!function(n){const e=n.th=n.th||{};e.dictionary=Object.assign(e.dictionary||{},{"Choose heading":"เลือกขนาดหัวข้อ",Heading:"หัวข้อ","Heading 1":"หัวข้อขนาด 1","Heading 2":"","Heading 3":"","Heading 4":"","Heading 5":"","Heading 6":"",Paragraph:"ย่อหน้า","Type or paste your content here.":"","Type your title":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(n){const e=n.th=n.th||{};e.dictionary=Object.assign(e.dictionary||{},{"Choose heading":"เลือกขนาดหัวข้อ",Heading:"หัวข้อ","Heading 1":"หัวข้อขนาด 1","Heading 2":"หัวข้อ 2","Heading 3":"หัวข้อ 3","Heading 4":"หัวข้อ 4","Heading 5":"หัวข้อ 5","Heading 6":"หัวข้อ 6",Paragraph:"ย่อหน้า","Type or paste your content here.":"พิมพ์หรือวางเนื้อหาของคุณที่นี่","Type your title":"พิมพ์ชื่อเรื่องของคุณ"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/horizontal-line/translations/ar.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/horizontal-line/translations/ar.js new file mode 100644 index 000000000..692b1a1f7 --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/horizontal-line/translations/ar.js @@ -0,0 +1 @@ +!function(i){const n=i.ar=i.ar||{};n.dictionary=Object.assign(n.dictionary||{},{"Horizontal line":"خط أفقي"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/horizontal-line/translations/bg.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/horizontal-line/translations/bg.js new file mode 100644 index 000000000..c8fe2cacf --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/horizontal-line/translations/bg.js @@ -0,0 +1 @@ +!function(i){const n=i.bg=i.bg||{};n.dictionary=Object.assign(n.dictionary||{},{"Horizontal line":"Хоризонтална черта"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/horizontal-line/translations/bn.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/horizontal-line/translations/bn.js new file mode 100644 index 000000000..9eba9b871 --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/horizontal-line/translations/bn.js @@ -0,0 +1 @@ +!function(n){const i=n.bn=n.bn||{};i.dictionary=Object.assign(i.dictionary||{},{"Horizontal line":"অনুভূমিক রেখা"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/horizontal-line/translations/ca.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/horizontal-line/translations/ca.js new file mode 100644 index 000000000..4e7664c98 --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/horizontal-line/translations/ca.js @@ -0,0 +1 @@ +!function(i){const n=i.ca=i.ca||{};n.dictionary=Object.assign(n.dictionary||{},{"Horizontal line":"Línia horitzontal"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/horizontal-line/translations/fi.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/horizontal-line/translations/fi.js new file mode 100644 index 000000000..b4937d637 --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/horizontal-line/translations/fi.js @@ -0,0 +1 @@ +!function(i){const n=i.fi=i.fi||{};n.dictionary=Object.assign(n.dictionary||{},{"Horizontal line":"Vaakasuora viiva"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/horizontal-line/translations/lt.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/horizontal-line/translations/lt.js new file mode 100644 index 000000000..fb98ddd5e --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/horizontal-line/translations/lt.js @@ -0,0 +1 @@ +!function(i){const n=i.lt=i.lt||{};n.dictionary=Object.assign(n.dictionary||{},{"Horizontal line":"Horizontali linija"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/horizontal-line/translations/ms.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/horizontal-line/translations/ms.js new file mode 100644 index 000000000..35c15f9b3 --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/horizontal-line/translations/ms.js @@ -0,0 +1 @@ +!function(i){const n=i.ms=i.ms||{};n.dictionary=Object.assign(n.dictionary||{},{"Horizontal line":"Baris melintang"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/horizontal-line/translations/pt.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/horizontal-line/translations/pt.js new file mode 100644 index 000000000..c27a9529e --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/horizontal-line/translations/pt.js @@ -0,0 +1 @@ +!function(i){const n=i.pt=i.pt||{};n.dictionary=Object.assign(n.dictionary||{},{"Horizontal line":"Linha horizontal"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/horizontal-line/translations/sv.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/horizontal-line/translations/sv.js new file mode 100644 index 000000000..c8d6e3682 --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/horizontal-line/translations/sv.js @@ -0,0 +1 @@ +!function(i){const n=i.sv=i.sv||{};n.dictionary=Object.assign(n.dictionary||{},{"Horizontal line":"Horisontell linje"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/html-support.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/html-support.js index 05db613e3..efcfba623 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/html-support.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/html-support.js @@ -2,4 +2,4 @@ /*! * @license Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md. - */(()=>{var t={142:(t,e,r)=>{"use strict";r.d(e,{Z:()=>i});var o=r(609),n=r.n(o)()((function(t){return t[1]}));n.push([t.id,":root{--ck-html-object-embed-unfocused-outline-width:1px}.ck-widget.html-object-embed{background-color:var(--ck-color-base-foreground);font-size:var(--ck-font-size-base);min-width:calc(76px + var(--ck-spacing-standard));padding:var(--ck-spacing-small);padding-top:calc(var(--ck-font-size-tiny) + var(--ck-spacing-large))}.ck-widget.html-object-embed:not(.ck-widget_selected):not(:hover){outline:var(--ck-html-object-embed-unfocused-outline-width) dashed var(--ck-color-widget-blurred-border)}.ck-widget.html-object-embed:before{background:#999;border-radius:0 0 var(--ck-border-radius) var(--ck-border-radius);color:var(--ck-color-base-background);content:attr(data-html-object-embed-label);font-family:var(--ck-font-face);font-size:var(--ck-font-size-tiny);font-style:normal;font-weight:400;left:var(--ck-spacing-standard);padding:calc(var(--ck-spacing-tiny) + var(--ck-html-object-embed-unfocused-outline-width)) var(--ck-spacing-small) var(--ck-spacing-tiny);position:absolute;top:0;transition:background var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve)}.ck-widget.html-object-embed .ck-widget__type-around .ck-widget__type-around__button.ck-widget__type-around__button_before{margin-left:50px}.ck-widget.html-object-embed .html-object-embed__content{pointer-events:none}div.ck-widget.html-object-embed{margin:1em auto}span.ck-widget.html-object-embed{display:inline-block}",""]);const i=n},609:t=>{"use strict";t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var r=t(e);return e[2]?"@media ".concat(e[2]," {").concat(r,"}"):r})).join("")},e.i=function(t,r,o){"string"==typeof t&&(t=[[null,t,""]]);var n={};if(o)for(var i=0;i{"use strict";var o,n=function(){return void 0===o&&(o=Boolean(window&&document&&document.all&&!window.atob)),o},i=function(){var t={};return function(e){if(void 0===t[e]){var r=document.querySelector(e);if(window.HTMLIFrameElement&&r instanceof window.HTMLIFrameElement)try{r=r.contentDocument.head}catch(t){r=null}t[e]=r}return t[e]}}(),s=[];function l(t){for(var e=-1,r=0;r{t.exports=r(79)("./src/core.js")},492:(t,e,r)=>{t.exports=r(79)("./src/engine.js")},209:(t,e,r)=>{t.exports=r(79)("./src/utils.js")},995:(t,e,r)=>{t.exports=r(79)("./src/widget.js")},79:t=>{"use strict";t.exports=CKEditor5.dll}},e={};function r(o){var n=e[o];if(void 0!==n)return n.exports;var i=e[o]={id:o,exports:{}};return t[o](i,i.exports,r),i.exports}r.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return r.d(e,{a:e}),e},r.d=(t,e)=>{for(var o in e)r.o(e,o)&&!r.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:e[o]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.nc=void 0;var o={};(()=>{"use strict";r.r(o),r.d(o,{DataFilter:()=>po,DataSchema:()=>Ne,GeneralHtmlSupport:()=>tn,HtmlComment:()=>on});var t=r(704),e=r(209);const n=[{model:"codeBlock",view:"pre"},{model:"paragraph",view:"p"},{model:"blockQuote",view:"blockquote"},{model:"listItem",view:"li"},{model:"pageBreak",view:"div"},{model:"rawHtml",view:"div"},{model:"table",view:"table"},{model:"tableRow",view:"tr"},{model:"tableCell",view:"td"},{model:"tableCell",view:"th"},{model:"caption",view:"caption"},{model:"caption",view:"figcaption"},{model:"imageBlock",view:"img"},{model:"imageInline",view:"img"},{model:"htmlP",view:"p",modelSchema:{inheritAllFrom:"$block"}},{model:"htmlBlockquote",view:"blockquote",modelSchema:{inheritAllFrom:"$container"}},{model:"htmlTable",view:"table",modelSchema:{allowWhere:"$block",isBlock:!0}},{model:"htmlTbody",view:"tbody",modelSchema:{allowIn:"htmlTable",isBlock:!0}},{model:"htmlThead",view:"thead",modelSchema:{allowIn:"htmlTable",isBlock:!0}},{model:"htmlTfoot",view:"tfoot",modelSchema:{allowIn:"htmlTable",isBlock:!0}},{model:"htmlCaption",view:"caption",modelSchema:{allowIn:"htmlTable",allowChildren:"$text",isBlock:!0}},{model:"htmlTr",view:"tr",modelSchema:{allowIn:["htmlTable","htmlThead","htmlTbody"]}},{model:"htmlTd",view:"td",modelSchema:{allowIn:"htmlTr",allowContentOf:"$container"}},{model:"htmlTh",view:"th",modelSchema:{allowIn:"htmlTr",allowContentOf:"$container"}},{model:"htmlFigure",view:"figure",modelSchema:{inheritAllFrom:"$container",isBlock:!0}},{model:"htmlFigcaption",view:"figcaption",modelSchema:{allowIn:"htmlFigure",allowChildren:"$text",isBlock:!0}},{model:"htmlAddress",view:"address",modelSchema:{inheritAllFrom:"$container",isBlock:!0}},{model:"htmlAside",view:"aside",modelSchema:{inheritAllFrom:"$container",isBlock:!0}},{model:"htmlMain",view:"main",modelSchema:{inheritAllFrom:"$container",isBlock:!0}},{model:"htmlDetails",view:"details",modelSchema:{inheritAllFrom:"$container",isBlock:!0}},{model:"htmlSummary",view:"summary",modelSchema:{allowChildren:"$text",allowIn:"htmlDetails",isBlock:!0}},{model:"htmlDiv",view:"div",paragraphLikeModel:"htmlDivParagraph",modelSchema:{inheritAllFrom:"$container"}},{model:"htmlFieldset",view:"fieldset",modelSchema:{inheritAllFrom:"$container",isBlock:!0}},{model:"htmlLegend",view:"legend",modelSchema:{allowIn:"htmlFieldset",allowChildren:"$text"}},{model:"htmlHeader",view:"header",modelSchema:{inheritAllFrom:"$container",isBlock:!0}},{model:"htmlFooter",view:"footer",modelSchema:{inheritAllFrom:"$container",isBlock:!0}},{model:"htmlForm",view:"form",modelSchema:{inheritAllFrom:"$container",isBlock:!0}},{model:"htmlHgroup",view:"hgroup",modelSchema:{allowChildren:["htmlH1","htmlH2","htmlH3","htmlH4","htmlH5","htmlH6"],isBlock:!0}},{model:"htmlH1",view:"h1",modelSchema:{inheritAllFrom:"$block"}},{model:"htmlH2",view:"h2",modelSchema:{inheritAllFrom:"$block"}},{model:"htmlH3",view:"h3",modelSchema:{inheritAllFrom:"$block"}},{model:"htmlH4",view:"h4",modelSchema:{inheritAllFrom:"$block"}},{model:"htmlH5",view:"h5",modelSchema:{inheritAllFrom:"$block"}},{model:"htmlH6",view:"h6",modelSchema:{inheritAllFrom:"$block"}},{model:"$htmlList",modelSchema:{allowWhere:"$container",allowChildren:["$htmlList","htmlLi"],isBlock:!0}},{model:"htmlDir",view:"dir",modelSchema:{inheritAllFrom:"$htmlList"}},{model:"htmlMenu",view:"menu",modelSchema:{inheritAllFrom:"$htmlList"}},{model:"htmlUl",view:"ul",modelSchema:{inheritAllFrom:"$htmlList"}},{model:"htmlOl",view:"ol",modelSchema:{inheritAllFrom:"$htmlList"}},{model:"htmlLi",view:"li",modelSchema:{allowIn:"$htmlList",allowChildren:"$text",isBlock:!0}},{model:"htmlPre",view:"pre",modelSchema:{inheritAllFrom:"$block"}},{model:"htmlArticle",view:"article",modelSchema:{inheritAllFrom:"$container",isBlock:!0}},{model:"htmlSection",view:"section",modelSchema:{inheritAllFrom:"$container",isBlock:!0}},{model:"htmlNav",view:"nav",modelSchema:{inheritAllFrom:"$container",isBlock:!0}},{model:"htmlDl",view:"dl",modelSchema:{allowWhere:"$container",allowChildren:["htmlDt","htmlDd"],isBlock:!0}},{model:"htmlDt",view:"dt",modelSchema:{allowChildren:"$block",isBlock:!0}},{model:"htmlDd",view:"dd",modelSchema:{allowChildren:"$block",isBlock:!0}},{model:"htmlCenter",view:"center",modelSchema:{inheritAllFrom:"$container",isBlock:!0}}],i=[{model:"htmlAcronym",view:"acronym",attributeProperties:{copyOnEnter:!0}},{model:"htmlTt",view:"tt",attributeProperties:{copyOnEnter:!0}},{model:"htmlFont",view:"font",attributeProperties:{copyOnEnter:!0}},{model:"htmlTime",view:"time",attributeProperties:{copyOnEnter:!0}},{model:"htmlVar",view:"var",attributeProperties:{copyOnEnter:!0}},{model:"htmlBig",view:"big",attributeProperties:{copyOnEnter:!0}},{model:"htmlSmall",view:"small",attributeProperties:{copyOnEnter:!0}},{model:"htmlSamp",view:"samp",attributeProperties:{copyOnEnter:!0}},{model:"htmlQ",view:"q",attributeProperties:{copyOnEnter:!0}},{model:"htmlOutput",view:"output",attributeProperties:{copyOnEnter:!0}},{model:"htmlKbd",view:"kbd",attributeProperties:{copyOnEnter:!0}},{model:"htmlBdi",view:"bdi",attributeProperties:{copyOnEnter:!0}},{model:"htmlBdo",view:"bdo",attributeProperties:{copyOnEnter:!0}},{model:"htmlAbbr",view:"abbr",attributeProperties:{copyOnEnter:!0}},{model:"htmlA",view:"a",priority:5,coupledAttribute:"linkHref",attributeProperties:{copyOnEnter:!0}},{model:"htmlStrong",view:"strong",coupledAttribute:"bold",attributeProperties:{copyOnEnter:!0}},{model:"htmlB",view:"b",coupledAttribute:"bold",attributeProperties:{copyOnEnter:!0}},{model:"htmlI",view:"i",coupledAttribute:"italic",attributeProperties:{copyOnEnter:!0}},{model:"htmlEm",view:"em",coupledAttribute:"italic",attributeProperties:{copyOnEnter:!0}},{model:"htmlS",view:"s",coupledAttribute:"strikethrough",attributeProperties:{copyOnEnter:!0}},{model:"htmlDel",view:"del",coupledAttribute:"strikethrough",attributeProperties:{copyOnEnter:!0}},{model:"htmlIns",view:"ins",attributeProperties:{copyOnEnter:!0}},{model:"htmlU",view:"u",coupledAttribute:"underline",attributeProperties:{copyOnEnter:!0}},{model:"htmlSub",view:"sub",coupledAttribute:"subscript",attributeProperties:{copyOnEnter:!0}},{model:"htmlSup",view:"sup",coupledAttribute:"superscript",attributeProperties:{copyOnEnter:!0}},{model:"htmlCode",view:"code",coupledAttribute:"code",attributeProperties:{copyOnEnter:!0}},{model:"htmlMark",view:"mark",attributeProperties:{copyOnEnter:!0}},{model:"htmlSpan",view:"span",attributeProperties:{copyOnEnter:!0}},{model:"htmlCite",view:"cite",attributeProperties:{copyOnEnter:!0}},{model:"htmlLabel",view:"label",attributeProperties:{copyOnEnter:!0}},{model:"htmlDfn",view:"dfn",attributeProperties:{copyOnEnter:!0}},{model:"htmlObject",view:"object",isObject:!0,modelSchema:{inheritAllFrom:"$inlineObject"}},{model:"htmlIframe",view:"iframe",isObject:!0,modelSchema:{inheritAllFrom:"$inlineObject"}},{model:"htmlInput",view:"input",isObject:!0,modelSchema:{inheritAllFrom:"$inlineObject"}},{model:"htmlButton",view:"button",isObject:!0,modelSchema:{inheritAllFrom:"$inlineObject"}},{model:"htmlTextarea",view:"textarea",isObject:!0,modelSchema:{inheritAllFrom:"$inlineObject"}},{model:"htmlSelect",view:"select",isObject:!0,modelSchema:{inheritAllFrom:"$inlineObject"}},{model:"htmlVideo",view:"video",isObject:!0,modelSchema:{inheritAllFrom:"$inlineObject"}},{model:"htmlEmbed",view:"embed",isObject:!0,modelSchema:{inheritAllFrom:"$inlineObject"}},{model:"htmlOembed",view:"oembed",isObject:!0,modelSchema:{inheritAllFrom:"$inlineObject"}},{model:"htmlAudio",view:"audio",isObject:!0,modelSchema:{inheritAllFrom:"$inlineObject"}},{model:"htmlImg",view:"img",isObject:!0,modelSchema:{inheritAllFrom:"$inlineObject"}},{model:"htmlCanvas",view:"canvas",isObject:!0,modelSchema:{inheritAllFrom:"$inlineObject"}},{model:"htmlMeter",view:"meter",isObject:!0,modelSchema:{inheritAllFrom:"$inlineObject"}},{model:"htmlProgress",view:"progress",isObject:!0,modelSchema:{inheritAllFrom:"$inlineObject"}},{model:"htmlScript",view:"script",modelSchema:{allowWhere:["$text","$block"],isInline:!0}},{model:"htmlStyle",view:"style",modelSchema:{allowWhere:["$text","$block"],isInline:!0}}];const s=function(){this.__data__=[],this.size=0};const l=function(t,e){return t===e||t!=t&&e!=e};const c=function(t,e){for(var r=t.length;r--;)if(l(t[r][0],e))return r;return-1};var a=Array.prototype.splice;const u=function(t){var e=this.__data__,r=c(e,t);return!(r<0)&&(r==e.length-1?e.pop():a.call(e,r,1),--this.size,!0)};const m=function(t){var e=this.__data__,r=c(e,t);return r<0?void 0:e[r][1]};const d=function(t){return c(this.__data__,t)>-1};const h=function(t,e){var r=this.__data__,o=c(r,t);return o<0?(++this.size,r.push([t,e])):r[o][1]=e,this};function f(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e-1&&t%1==0&&t<=9007199254740991};const Gt=function(t){return null!=t&&Wt(t.length)&&!B(t)};const Kt=function(t){return Dt(t)&&Gt(t)};const Zt=function(){return!1};var Qt="object"==typeof exports&&exports&&!exports.nodeType&&exports,Jt=Qt&&"object"==typeof module&&module&&!module.nodeType&&module,Xt=Jt&&Jt.exports===Qt?j.Buffer:void 0;const Yt=(Xt?Xt.isBuffer:void 0)||Zt;var te=Function.prototype,ee=Object.prototype,re=te.toString,oe=ee.hasOwnProperty,ne=re.call(Object);const ie=function(t){if(!Dt(t)||"[object Object]"!=F(t))return!1;var e=Tt(t);if(null===e)return!0;var r=oe.call(e,"constructor")&&e.constructor;return"function"==typeof r&&r instanceof r&&re.call(r)==ne};var se={};se["[object Float32Array]"]=se["[object Float64Array]"]=se["[object Int8Array]"]=se["[object Int16Array]"]=se["[object Int32Array]"]=se["[object Uint8Array]"]=se["[object Uint8ClampedArray]"]=se["[object Uint16Array]"]=se["[object Uint32Array]"]=!0,se["[object Arguments]"]=se["[object Array]"]=se["[object ArrayBuffer]"]=se["[object Boolean]"]=se["[object DataView]"]=se["[object Date]"]=se["[object Error]"]=se["[object Function]"]=se["[object Map]"]=se["[object Number]"]=se["[object Object]"]=se["[object RegExp]"]=se["[object Set]"]=se["[object String]"]=se["[object WeakMap]"]=!1;const le=function(t){return Dt(t)&&Wt(t.length)&&!!se[F(t)]};const ce=function(t){return function(e){return t(e)}};var ae="object"==typeof exports&&exports&&!exports.nodeType&&exports,ue=ae&&"object"==typeof module&&module&&!module.nodeType&&module,me=ue&&ue.exports===ae&&y.process;const de=function(){try{var t=ue&&ue.require&&ue.require("util").types;return t||me&&me.binding&&me.binding("util")}catch(t){}}();var he=de&&de.isTypedArray;const fe=he?ce(he):le;const be=function(t,e){if(("constructor"!==e||"function"!=typeof t[e])&&"__proto__"!=e)return t[e]};var pe=Object.prototype.hasOwnProperty;const ge=function(t,e,r){var o=t[e];pe.call(t,e)&&l(o,r)&&(void 0!==r||e in t)||yt(t,e,r)};const ve=function(t,e,r,o){var n=!r;r||(r={});for(var i=-1,s=e.length;++i-1&&t%1==0&&t0){if(++e>=800)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}(Re);const De=function(t,e){return Le(Be(t,e,Ie),t+"")};const Ve=function(t,e,r){if(!P(r))return!1;var o=typeof e;return!!("number"==o?Gt(r)&&Ae(e,r.length):"string"==o&&e in r)&&l(r[e],t)};const He=function(t){return De((function(e,r){var o=-1,n=r.length,i=n>1?r[n-1]:void 0,s=n>2?r[2]:void 0;for(i=t.length>3&&"function"==typeof i?(n--,i):void 0,s&&Ve(r[0],r[1],s)&&(i=n<3?void 0:i,n=1),e=Object(e);++oe.view&&function(t,e){if("string"==typeof t)return t===e;if(t instanceof RegExp)return t.test(e);return!1}(t,e.view)))}*_getReferences(t){const{modelSchema:r}=this._definitions.get(t);if(!r)return;const o=["inheritAllFrom","inheritTypesFrom","allowWhere","allowContentOf","allowAttributesOf"];for(const n of o)for(const o of(0,e.toArray)(r[n]||[])){const e=this._definitions.get(o);o!==t&&e&&(yield*this._getReferences(e.model),yield e)}}_extendDefinition(t){const e=this._definitions.get(t.model),r=He({},e,t,((t,e)=>Array.isArray(t)?t.concat(e):void 0));this._definitions.set(t.model,r)}}var ze=r(492),qe=r(995);const Ue=function(t,e){for(var r=-1,o=null==t?0:t.length;++rr.writer.createElement(t,{htmlContent:e.getCustomProperty("$rawContent")})}function Jr(t,{view:e,isInline:r}){const o=t.t;return(t,{writer:n})=>{const i=o("HTML object"),s=Xr(e,t,n),l=t.getAttribute("htmlAttributes");n.addClass("html-object-embed__content",s),l&&Kr(n,l,s);const c=n.createContainerElement(r?"span":"div",{class:"html-object-embed","data-html-object-embed-label":i},s);return(0,qe.toWidget)(c,n,{widgetLabel:i})}}function Xr(t,e,r){return r.createRawElement(t,null,((t,r)=>{r.setContentOf(t,e.getAttribute("htmlContent"))}))}function Yr({priority:t,view:e}){return(r,o)=>{if(!r)return;const{writer:n}=o,i=n.createAttributeElement(e,null,{priority:t});return Kr(n,r,i),i}}function to({view:t},e){return r=>{r.on(`element:${t}`,((t,r,o)=>{if(!r.modelRange||r.modelRange.isCollapsed)return;const n=e.processViewAttributes(r.viewItem,o);n&&o.writer.setAttribute("htmlAttributes",n,r.modelRange)}),{priority:"low"})}}function eo({model:t}){return e=>{e.on(`attribute:htmlAttributes:${t}`,((t,e,r)=>{if(!r.consumable.consume(e.item,t.name))return;const{attributeOldValue:o,attributeNewValue:n}=e;Gr(r.writer,o,n,r.mapper.toViewElement(e.item))}))}}const ro=function(t,e){for(var r=-1,o=null==t?0:t.length,n=Array(o);++r-1;)l!==t&&co.call(l,c,1),co.call(t,c,1);return t};const uo=De((function(t,e){return t&&t.length&&e&&e.length?ao(t,e):t}));var mo=r(62),ho=r.n(mo),fo=r(142),bo={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};ho()(fo.Z,bo);fo.Z.locals;class po extends t.Plugin{constructor(t){super(t),this._dataSchema=t.plugins.get("DataSchema"),this._allowedAttributes=new ze.Matcher,this._disallowedAttributes=new ze.Matcher,this._allowedElements=new Set,this._dataInitialized=!1,this._coupledAttributes=null,this._registerElementsAfterInit(),this._registerElementHandlers(),this._registerModelPostFixer()}static get pluginName(){return"DataFilter"}static get requires(){return[Ne,qe.Widget]}loadAllowedConfig(t){this._loadConfig(t,(t=>this.allowAttributes(t)))}loadDisallowedConfig(t){this._loadConfig(t,(t=>this.disallowAttributes(t)))}allowElement(t){for(const e of this._dataSchema.getDefinitionsForView(t,!0))this._allowedElements.has(e)||(this._allowedElements.add(e),this._dataInitialized&&this._fireRegisterEvent(e),this._coupledAttributes=null)}allowAttributes(t){this._allowedAttributes.add(t)}disallowAttributes(t){this._disallowedAttributes.add(t)}_loadConfig(t,e){for(const r of t){const t=r.name||/[\s\S]+/;this.allowElement(t),Ao(r).forEach(e)}}processViewAttributes(t,e){return go(t,e,this._disallowedAttributes),go(t,e,this._allowedAttributes)}_registerElementsAfterInit(){this.editor.data.on("init",(()=>{this._dataInitialized=!0;for(const t of this._allowedElements)this._fireRegisterEvent(t)}),{priority:e.priorities.get("highest")+1})}_registerElementHandlers(){this.on("register",((t,r)=>{const o=this.editor.model.schema;if(r.isObject&&!o.isRegistered(r.model))this._registerObjectElement(r);else if(r.isBlock)this._registerBlockElement(r);else{if(!r.isInline)throw new e.CKEditorError("data-filter-invalid-definition",null,r);this._registerInlineElement(r)}t.stop()}),{priority:"lowest"})}_registerModelPostFixer(){const t=this.editor.model;t.document.registerPostFixer((e=>{const r=t.document.differ.getChanges();let o=!1;const n=this._getCoupledAttributesMap();for(const t of r){if("attribute"!=t.type||null!==t.attributeNewValue)continue;const r=n.get(t.attributeKey);if(r)for(const{item:n}of t.range.getWalker({shallow:!0}))for(const t of r)n.hasAttribute(t)&&(e.removeAttribute(t,n),o=!0)}return o}))}_getCoupledAttributesMap(){if(this._coupledAttributes)return this._coupledAttributes;this._coupledAttributes=new Map;for(const t of this._allowedElements)if(t.coupledAttribute&&t.model){const e=this._coupledAttributes.get(t.coupledAttribute);e?e.push(t.model):this._coupledAttributes.set(t.coupledAttribute,[t.model])}}_fireRegisterEvent(t){this.fire(t.view?`register:${t.view}`:"register",t)}_registerObjectElement(t){const r=this.editor,o=r.model.schema,n=r.conversion,{view:i,model:s}=t;o.register(s,t.modelSchema),i&&(o.extend(t.model,{allowAttributes:["htmlAttributes","htmlContent"]}),r.data.registerRawContentMatcher({name:i}),n.for("upcast").elementToElement({view:i,model:Qr(t),converterPriority:e.priorities.get("low")+1}),n.for("upcast").add(to(t,this)),n.for("editingDowncast").elementToStructure({model:{name:s,attributes:["htmlAttributes"]},view:Jr(r,t)}),n.for("dataDowncast").elementToElement({model:s,view:(t,{writer:e})=>Xr(i,t,e)}),n.for("dataDowncast").add(eo(t)))}_registerBlockElement(t){const r=this.editor,o=r.model.schema,n=r.conversion,{view:i,model:s}=t;if(!o.isRegistered(t.model)){if(o.register(t.model,t.modelSchema),!i)return;n.for("upcast").elementToElement({model:s,view:i,converterPriority:e.priorities.get("low")+1}),n.for("downcast").elementToElement({model:s,view:i})}i&&(o.extend(t.model,{allowAttributes:"htmlAttributes"}),n.for("upcast").add(to(t,this)),n.for("downcast").add(eo(t)))}_registerInlineElement(t){const e=this.editor,r=e.model.schema,o=e.conversion,n=t.model;r.extend("$text",{allowAttributes:n}),t.attributeProperties&&r.setAttributeProperties(n,t.attributeProperties),o.for("upcast").add(function({view:t,model:e},r){return o=>{o.on(`element:${t}`,((t,o,n)=>{let i=r.processViewAttributes(o.viewItem,n);if(i||n.consumable.test(o.viewItem,{name:!0})){i=i||{},n.consumable.consume(o.viewItem,{name:!0}),o.modelRange||(o=Object.assign(o,n.convertChildren(o.viewItem,o.modelCursor)));for(const t of o.modelRange.getItems())if(n.schema.checkAttribute(t,e)){const r=Zr(i,t.getAttribute(e)||{});n.writer.setAttribute(e,r,t)}}}),{priority:"low"})}}(t,this)),o.for("downcast").attributeToElement({model:n,view:Yr(t)})}}function go(t,e,r){const o=function(t,{consumable:e},r){const o=r.matchAll(t)||[],n=[];for(const r of o)vo(e,t,r),delete r.match.name,e.consume(t,r.match),n.push(r);return n}(t,e,r),{attributes:n,styles:i,classes:s}=function(t){const e={attributes:new Set,classes:new Set,styles:new Set};for(const r of t)for(const t in e){(r.match[t]||[]).forEach((r=>e[t].add(r)))}return e}(o),l={};return n.size&&(l.attributes=wo(n,(e=>t.getAttribute(e)))),i.size&&(l.styles=wo(i,(e=>t.getStyle(e)))),s.size&&(l.classes=Array.from(s)),Object.keys(l).length?l:null}function vo(t,e,r){for(const o of["attributes","classes","styles"]){const n=r.match[o];if(n)for(const r of Array.from(n))t.test(e,{[o]:[r]})||uo(n,r)}}function wo(t,e){const r={};for(const o of t){void 0!==e(o)&&(r[o]=e(o))}return r}function yo(t,e){const{name:r}=t;return ie(t[e])?Object.entries(t[e]).map((([t,o])=>({name:r,[e]:{[t]:o}}))):Array.isArray(t[e])?t[e].map((t=>({name:r,[e]:[t]}))):[t]}function Ao(t){const{name:e,attributes:r,classes:o,styles:n}=t,i=[];return r&&i.push(...yo({name:e,attributes:r},"attributes")),o&&i.push(...yo({name:e,classes:o},"classes")),n&&i.push(...yo({name:e,styles:n},"styles")),i}class jo extends t.Plugin{static get requires(){return[po]}init(){if(!this.editor.plugins.has("CodeBlockEditing"))return;const t=this.editor.plugins.get(po);t.on("register:pre",((e,r)=>{if("codeBlock"!==r.model)return;const o=this.editor,n=o.model.schema,i=o.conversion;n.extend("codeBlock",{allowAttributes:["htmlAttributes","htmlContentAttributes"]}),i.for("upcast").add(function(t){return e=>{e.on("element:code",((e,r,o)=>{const n=r.viewItem,i=n.parent;function s(e,n){const i=t.processViewAttributes(e,o);i&&o.writer.setAttribute(n,i,r.modelRange)}i&&i.is("element","pre")&&(s(i,"htmlAttributes"),s(n,"htmlContentAttributes"))}),{priority:"low"})}}(t)),i.for("downcast").add((t=>{t.on("attribute:htmlAttributes:codeBlock",((t,e,r)=>{if(!r.consumable.consume(e.item,t.name))return;const{attributeOldValue:o,attributeNewValue:n}=e,i=r.mapper.toViewElement(e.item).parent;Gr(r.writer,o,n,i)})),t.on("attribute:htmlContentAttributes:codeBlock",((t,e,r)=>{if(!r.consumable.consume(e.item,t.name))return;const{attributeOldValue:o,attributeNewValue:n}=e,i=r.mapper.toViewElement(e.item);Gr(r.writer,o,n,i)}))})),e.stop()}))}}class _o extends t.Plugin{static get requires(){return[po]}init(){this.editor.plugins.get(po).on("register",((t,r)=>{const o=this.editor,n=o.model.schema,i=o.conversion;if(!r.paragraphLikeModel)return;if(n.isRegistered(r.model)||n.isRegistered(r.paragraphLikeModel))return;const s={model:r.paragraphLikeModel,view:r.view};n.register(r.model,r.modelSchema),n.register(s.model,{inheritAllFrom:"$block"}),i.for("upcast").elementToElement({view:r.view,model:(t,{writer:e})=>this._hasBlockContent(t)?e.createElement(r.model):e.createElement(s.model),converterPriority:e.priorities.get("low")+1}),i.for("downcast").elementToElement({view:r.view,model:r.model}),this._addAttributeConversion(r),i.for("downcast").elementToElement({view:s.view,model:s.model}),this._addAttributeConversion(s),t.stop()}))}_hasBlockContent(t){const e=this.editor.editing.view,r=e.domConverter.blockElements;for(const o of e.createRangeIn(t).getItems())if(o.is("element")&&r.includes(o.name))return!0;return!1}_addAttributeConversion(t){const e=this.editor,r=e.conversion,o=e.plugins.get(po);e.model.schema.extend(t.model,{allowAttributes:"htmlAttributes"}),r.for("upcast").add(to(t,o)),r.for("downcast").add(eo(t))}}class Oo extends t.Plugin{static get requires(){return[Ne]}init(){const t=this.editor;if(!t.plugins.has("HeadingEditing"))return;const e=t.plugins.get(Ne),r=t.config.get("heading.options"),o=[];for(const t of r)"model"in t&&"view"in t&&(e.registerBlockElement({view:t.view,model:t.model}),o.push(t.model));e.extendBlockElement({model:"htmlHgroup",modelSchema:{allowChildren:o}})}}class ko extends t.Plugin{static get requires(){return[po]}init(){const t=this.editor;if(!t.plugins.has("ImageInlineEditing")&&!t.plugins.has("ImageBlockEditing"))return;const e=t.model.schema,r=t.conversion,o=t.plugins.get(po);o.on("register:figure",(()=>{r.for("upcast").add(function(t){return e=>{e.on("element:figure",((e,r,o)=>{const n=r.viewItem;if(!r.modelRange||!n.hasClass("image"))return;const i=t.processViewAttributes(n,o);i&&o.writer.setAttribute("htmlFigureAttributes",i,r.modelRange)}),{priority:"low"})}}(o))})),o.on("register:img",((t,n)=>{"imageBlock"!==n.model&&"imageInline"!==n.model||(e.isRegistered("imageBlock")&&e.extend("imageBlock",{allowAttributes:["htmlAttributes","htmlFigureAttributes","htmlLinkAttributes"]}),e.isRegistered("imageInline")&&e.extend("imageInline",{allowAttributes:["htmlA","htmlAttributes"]}),r.for("upcast").add(function(t){return e=>{e.on("element:img",((e,r,o)=>{if(!r.modelRange)return;const n=r.viewItem,i=n.parent;function s(e,n){const i=t.processViewAttributes(e,o);i&&o.writer.setAttribute(n,i,r.modelRange)}function l(t){r.modelRange&&r.modelRange.getContainedElement().is("element","imageBlock")&&s(t,"htmlLinkAttributes")}s(n,"htmlAttributes"),i.is("element","a")&&l(i)}),{priority:"low"})}}(o)),r.for("downcast").add((t=>{function e(e){t.on(`attribute:${e}:imageInline`,((t,e,r)=>{if(!r.consumable.consume(e.item,t.name))return;const{attributeOldValue:o,attributeNewValue:n}=e,i=r.mapper.toViewElement(e.item);Gr(r.writer,o,n,i)}),{priority:"low"})}function r(e,r){t.on(`attribute:${r}:imageBlock`,((t,r,o)=>{if(!o.consumable.test(r.item,t.name))return;const{attributeOldValue:n,attributeNewValue:i}=r,s=o.mapper.toViewElement(r.item),l=So(o.writer,s,e);l&&(Gr(o.writer,n,i,l),o.consumable.consume(r.item,t.name))}),{priority:"low"}),"a"===e&&t.on("attribute:linkHref:imageBlock",((t,e,r)=>{if(!r.consumable.consume(e.item,"attribute:htmlLinkAttributes:imageBlock"))return;const o=r.mapper.toViewElement(e.item),n=So(r.writer,o,"a");Kr(r.writer,e.item.getAttribute("htmlLinkAttributes"),n)}),{priority:"low"})}e("htmlAttributes"),r("img","htmlAttributes"),r("figure","htmlFigureAttributes"),r("a","htmlLinkAttributes")})),t.stop())}))}}function So(t,e,r){const o=t.createRangeOn(e);for(const{item:t}of o.getWalker())if(t.is("element",r))return t}class Eo extends t.Plugin{static get requires(){return[po]}init(){const t=this.editor;if(!t.plugins.has("MediaEmbed")||t.config.get("mediaEmbed.previewsInData"))return;const e=t.model.schema,r=t.conversion,o=this.editor.plugins.get(po),n=this.editor.plugins.get(Ne),i=t.config.get("mediaEmbed.elementName");n.registerBlockElement({model:"media",view:i}),o.on("register:figure",(()=>{r.for("upcast").add(function(t){return e=>{e.on("element:figure",((e,r,o)=>{const n=r.viewItem;if(!r.modelRange||!n.hasClass("media"))return;const i=t.processViewAttributes(n,o);i&&o.writer.setAttribute("htmlFigureAttributes",i,r.modelRange)}),{priority:"low"})}}(o))})),o.on(`register:${i}`,((t,n)=>{"media"===n.model&&(e.extend("media",{allowAttributes:["htmlAttributes","htmlFigureAttributes"]}),r.for("upcast").add(function(t,e){return t=>{t.on(`element:${e}`,r)};function r(e,r,o){function n(e,n){const i=t.processViewAttributes(e,o);i&&o.writer.setAttribute(n,i,r.modelRange)}n(r.viewItem,"htmlAttributes")}}(o,i)),r.for("dataDowncast").add(function(t){return e=>{function r(t,r){e.on(`attribute:${r}:media`,((e,r,o)=>{if(!o.consumable.consume(r.item,e.name))return;const{attributeOldValue:n,attributeNewValue:i}=r,s=o.mapper.toViewElement(r.item),l=function(t,e,r){const o=t.createRangeOn(e);for(const{item:t}of o.getWalker())if(t.is("element",r))return t}(o.writer,s,t);Gr(o.writer,n,i,l)}))}r(t,"htmlAttributes"),r("figure","htmlFigureAttributes")}}(i)),t.stop())}))}}class Co extends t.Plugin{static get requires(){return[po]}init(){const t=this.editor.plugins.get(po);t.on("register:script",((e,r)=>{const o=this.editor,n=o.model.schema,i=o.conversion;n.register("htmlScript",r.modelSchema),n.extend("htmlScript",{allowAttributes:["htmlAttributes","htmlContent"],isContent:!0}),o.data.registerRawContentMatcher({name:"script"}),i.for("upcast").elementToElement({view:"script",model:Qr(r)}),i.for("upcast").add(to(r,t)),i.for("downcast").elementToElement({model:"htmlScript",view:(t,{writer:e})=>Xr("script",t,e)}),i.for("downcast").add(eo(r)),e.stop()}))}}class $o extends t.Plugin{static get requires(){return[po]}init(){const t=this.editor;if(!t.plugins.has("TableEditing"))return;const e=t.model.schema,r=t.conversion,o=t.plugins.get(po);o.on("register:figure",(()=>{r.for("upcast").add(function(t){return e=>{e.on("element:figure",((e,r,o)=>{const n=r.viewItem;if(!r.modelRange||!n.hasClass("table"))return;const i=t.processViewAttributes(n,o);i&&o.writer.setAttribute("htmlFigureAttributes",i,r.modelRange)}),{priority:"low"})}}(o))})),o.on("register:table",((t,n)=>{"table"===n.model&&(e.extend("table",{allowAttributes:["htmlAttributes","htmlFigureAttributes","htmlTheadAttributes","htmlTbodyAttributes"]}),r.for("upcast").add(function(t){return e=>{e.on("element:table",((e,r,o)=>{const n=r.viewItem;i(n,"htmlAttributes");for(const t of n.getChildren())t.is("element","thead")&&i(t,"htmlTheadAttributes"),t.is("element","tbody")&&i(t,"htmlTbodyAttributes");function i(e,n){const i=t.processViewAttributes(e,o);i&&o.writer.setAttribute(n,i,r.modelRange)}}))}}(o)),r.for("downcast").add((t=>{function e(e,r){t.on(`attribute:${r}:table`,((t,r,o)=>{if(!o.consumable.consume(r.item,t.name))return;const n=o.mapper.toViewElement(r.item),i=function(t,e,r){const o=t.createRangeOn(e);for(const{item:t}of o.getWalker())if(t.is("element",r))return t}(o.writer,n,e);Kr(o.writer,r.attributeNewValue,i)}))}e("table","htmlAttributes"),e("figure","htmlFigureAttributes"),e("thead","htmlTheadAttributes"),e("tbody","htmlTbodyAttributes")})),t.stop())}))}}class xo extends t.Plugin{static get requires(){return[po]}init(){const t=this.editor.plugins.get(po);t.on("register:style",((e,r)=>{const o=this.editor,n=o.model.schema,i=o.conversion;n.register("htmlStyle",r.modelSchema),n.extend("htmlStyle",{allowAttributes:["htmlAttributes","htmlContent"],isContent:!0}),o.data.registerRawContentMatcher({name:"style"}),i.for("upcast").elementToElement({view:"style",model:Qr(r)}),i.for("upcast").add(to(r,t)),i.for("downcast").elementToElement({model:"htmlStyle",view:(t,{writer:e})=>Xr("style",t,e)}),i.for("downcast").add(eo(r)),e.stop()}))}}const Io=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this};const Fo=function(t){return this.__data__.has(t)};function Po(t){var e=-1,r=null==t?0:t.length;for(this.__data__=new bt;++el))return!1;var a=i.get(t),u=i.get(e);if(a&&u)return a==e&&u==t;var m=-1,d=!0,h=2&r?new Bo:void 0;for(i.set(t,e),i.set(e,t);++m{["ul","ol","li"].includes(n.view)&&(t.stop(),e.checkAttribute("$block","htmlListAttributes")||(e.extend("$block",{allowAttributes:["htmlListAttributes","htmlLiAttributes"]}),e.extend("$blockObject",{allowAttributes:["htmlListAttributes","htmlLiAttributes"]}),e.extend("$container",{allowAttributes:["htmlListAttributes","htmlLiAttributes"]}),r.for("upcast").add((t=>{t.on("element:ul",Yo("htmlListAttributes",o),{priority:"low"}),t.on("element:ol",Yo("htmlListAttributes",o),{priority:"low"}),t.on("element:li",Yo("htmlLiAttributes",o),{priority:"low"})}))))})),n.on("postFixer",((t,{listNodes:e,writer:r})=>{const o=[];for(const{node:n,previous:i}of e){if(!i)continue;const e=n.getAttribute("listIndent"),s=i.getAttribute("listIndent");let l=null;if(e>s?o[s]=i:e{t.model.change((t=>{for(const e of r)t.setAttribute("htmlListAttributes",{},e)}))}))}}function Yo(t,e){return(r,o,n)=>{const i=o.viewItem;o.modelRange||Object.assign(o,n.convertChildren(o.viewItem,o.modelCursor));const s=e.processViewAttributes(i,n);for(const e of o.modelRange.getItems({shallow:!0}))e.hasAttribute("listItemId")&&(e.hasAttribute(t)||n.writer.setAttribute(t,s||{},e))}}class tn extends t.Plugin{static get pluginName(){return"GeneralHtmlSupport"}static get requires(){return[po,jo,_o,Oo,ko,Eo,Co,$o,xo,Xo]}init(){const t=this.editor,e=t.plugins.get(po);e.loadAllowedConfig(t.config.get("htmlSupport.allow")||[]),e.loadDisallowedConfig(t.config.get("htmlSupport.disallow")||[])}getGhsAttributeNameForElement(t){const e=this.editor.plugins.get("DataSchema"),r=Array.from(e.getDefinitionsForView(t,!1));return r&&r.length&&r[0].isInline&&!r[0].isObject?r[0].model:"htmlAttributes"}addModelHtmlClass(t,r,o){const n=this.editor.model,i=this.getGhsAttributeNameForElement(t);n.change((t=>{for(const s of en(n,o,i))rn(t,s,i,"classes",(t=>{for(const o of(0,e.toArray)(r))t.add(o)}))}))}removeModelHtmlClass(t,r,o){const n=this.editor.model,i=this.getGhsAttributeNameForElement(t);n.change((t=>{for(const s of en(n,o,i))rn(t,s,i,"classes",(t=>{for(const o of(0,e.toArray)(r))t.delete(o)}))}))}setModelHtmlAttributes(t,e,r){const o=this.editor.model,n=this.getGhsAttributeNameForElement(t);o.change((t=>{for(const i of en(o,r,n))rn(t,i,n,"attributes",(t=>{for(const[r,o]of Object.entries(e))t.set(r,o)}))}))}removeModelHtmlAttributes(t,r,o){const n=this.editor.model,i=this.getGhsAttributeNameForElement(t);n.change((t=>{for(const s of en(n,o,i))rn(t,s,i,"attributes",(t=>{for(const o of(0,e.toArray)(r))t.delete(o)}))}))}setModelHtmlStyles(t,e,r){const o=this.editor.model,n=this.getGhsAttributeNameForElement(t);o.change((t=>{for(const i of en(o,r,n))rn(t,i,n,"styles",(t=>{for(const[r,o]of Object.entries(e))t.set(r,o)}))}))}removeModelHtmlStyles(t,r,o){const n=this.editor.model,i=this.getGhsAttributeNameForElement(t);n.change((t=>{for(const s of en(n,o,i))rn(t,s,i,"styles",(t=>{for(const o of(0,e.toArray)(r))t.delete(o)}))}))}}function*en(t,e,r){if(e.is("documentSelection")&&e.isCollapsed)t.schema.checkAttributeInSelection(e,r)&&(yield e);else for(const o of function(t,e,r){return e.is("node")||e.is("$text")||e.is("$textProxy")?t.schema.checkAttribute(e,r)?[t.createRangeOn(e)]:[]:t.schema.getValidRanges(t.createSelection(e).getRanges(),r)}(t,e,r))yield*o.getItems({shallow:!0})}function rn(t,e,r,o,n){const i=e.getAttribute(r),s={};for(const t of["attributes","styles","classes"])if(t!=o)i&&i[t]&&(s[t]=i[t]);else{const e="classes"==t?new Set(i&&i[t]||[]):new Map(Object.entries(i&&i[t]||{}));n(e),e.size&&(s[t]="classes"==t?Array.from(e):Object.fromEntries(e))}Object.keys(s).length?e.is("documentSelection")?t.setSelectionAttribute(r,s):t.setAttribute(r,s,e):i&&(e.is("documentSelection")?t.removeSelectionAttribute(r):t.removeAttribute(r,e))}class on extends t.Plugin{static get pluginName(){return"HtmlComment"}init(){const t=this.editor;t.model.schema.addAttributeCheck(((t,e)=>{if(t.endsWith("$root")&&e.startsWith("$comment"))return!0})),t.conversion.for("upcast").elementToMarker({view:"$comment",model:(t,{writer:r})=>{const o=this.editor.model.document.getRoot(),n=t.getCustomProperty("$rawContent"),i=`$comment:${(0,e.uid)()}`;return r.setAttribute(i,n,o),i}}),t.conversion.for("dataDowncast").markerToElement({model:"$comment",view:(t,{writer:e})=>{const r=this.editor.model.document.getRoot(),o=t.markerName,n=r.getAttribute(o),i=e.createUIElement("$comment");return e.setCustomProperty("$rawContent",n,i),i}}),t.model.document.registerPostFixer((e=>{const r=t.model.document.getRoot(),o=t.model.document.differ.getChangedMarkers().filter((t=>t.name.startsWith("$comment"))).filter((t=>{const e=t.data.newRange;return e&&"$graveyard"===e.root.rootName}));if(0===o.length)return!1;for(const t of o)e.removeMarker(t.name),e.removeAttribute(t.name,r);return!0})),t.data.on("set",(()=>{for(const e of t.model.markers.getMarkersGroup("$comment"))this.removeHtmlComment(e.name)}),{priority:"high"}),t.model.on("deleteContent",((e,[r])=>{for(const e of r.getRanges()){const r=t.model.schema.getLimitElement(e),o=t.model.createPositionAt(r,0),n=t.model.createPositionAt(r,"end");let i;i=o.isTouching(e.start)&&n.isTouching(e.end)?this.getHtmlCommentsInRange(t.model.createRange(o,n)):this.getHtmlCommentsInRange(e,{skipBoundaries:!0});for(const t of i)this.removeHtmlComment(t)}}),{priority:"high"})}createHtmlComment(t,r){const o=(0,e.uid)(),n=this.editor.model,i=n.document.getRoot(),s=`$comment:${o}`;return n.change((e=>{const o=e.createRange(t);return e.addMarker(s,{usingOperation:!0,affectsData:!0,range:o}),e.setAttribute(s,r,i),s}))}removeHtmlComment(t){const e=this.editor,r=e.model.document.getRoot(),o=e.model.markers.get(t);return!!o&&(e.model.change((e=>{e.removeMarker(o),e.removeAttribute(t,r)})),!0)}getHtmlCommentData(t){const e=this.editor,r=e.model.markers.get(t),o=e.model.document.getRoot();return r?{content:o.getAttribute(t),position:r.getStart()}:null}getHtmlCommentsInRange(t,{skipBoundaries:e=!1}={}){const r=!e;return Array.from(this.editor.model.markers.getMarkersGroup("$comment")).filter((e=>function(t,e){const o=t.getRange().start;return(o.isAfter(e.start)||r&&o.isEqual(e.start))&&(o.isBefore(e.end)||r&&o.isEqual(e.end))}(e,t))).map((t=>t.name))}}})(),(window.CKEditor5=window.CKEditor5||{}).htmlSupport=o})(); \ No newline at end of file + */(()=>{var t={142:(t,e,r)=>{"use strict";r.d(e,{Z:()=>i});var o=r(609),n=r.n(o)()((function(t){return t[1]}));n.push([t.id,":root{--ck-html-object-embed-unfocused-outline-width:1px}.ck-widget.html-object-embed{background-color:var(--ck-color-base-foreground);font-size:var(--ck-font-size-base);min-width:calc(76px + var(--ck-spacing-standard));padding:var(--ck-spacing-small);padding-top:calc(var(--ck-font-size-tiny) + var(--ck-spacing-large))}.ck-widget.html-object-embed:not(.ck-widget_selected):not(:hover){outline:var(--ck-html-object-embed-unfocused-outline-width) dashed var(--ck-color-widget-blurred-border)}.ck-widget.html-object-embed:before{background:#999;border-radius:0 0 var(--ck-border-radius) var(--ck-border-radius);color:var(--ck-color-base-background);content:attr(data-html-object-embed-label);font-family:var(--ck-font-face);font-size:var(--ck-font-size-tiny);font-style:normal;font-weight:400;left:var(--ck-spacing-standard);padding:calc(var(--ck-spacing-tiny) + var(--ck-html-object-embed-unfocused-outline-width)) var(--ck-spacing-small) var(--ck-spacing-tiny);position:absolute;top:0;transition:background var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve)}.ck-widget.html-object-embed .ck-widget__type-around .ck-widget__type-around__button.ck-widget__type-around__button_before{margin-left:50px}.ck-widget.html-object-embed .html-object-embed__content{pointer-events:none}div.ck-widget.html-object-embed{margin:1em auto}span.ck-widget.html-object-embed{display:inline-block}",""]);const i=n},609:t=>{"use strict";t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var r=t(e);return e[2]?"@media ".concat(e[2]," {").concat(r,"}"):r})).join("")},e.i=function(t,r,o){"string"==typeof t&&(t=[[null,t,""]]);var n={};if(o)for(var i=0;i{"use strict";var o,n=function(){return void 0===o&&(o=Boolean(window&&document&&document.all&&!window.atob)),o},i=function(){var t={};return function(e){if(void 0===t[e]){var r=document.querySelector(e);if(window.HTMLIFrameElement&&r instanceof window.HTMLIFrameElement)try{r=r.contentDocument.head}catch(t){r=null}t[e]=r}return t[e]}}(),l=[];function s(t){for(var e=-1,r=0;r{t.exports=r(79)("./src/core.js")},492:(t,e,r)=>{t.exports=r(79)("./src/engine.js")},209:(t,e,r)=>{t.exports=r(79)("./src/utils.js")},995:(t,e,r)=>{t.exports=r(79)("./src/widget.js")},79:t=>{"use strict";t.exports=CKEditor5.dll}},e={};function r(o){var n=e[o];if(void 0!==n)return n.exports;var i=e[o]={id:o,exports:{}};return t[o](i,i.exports,r),i.exports}r.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return r.d(e,{a:e}),e},r.d=(t,e)=>{for(var o in e)r.o(e,o)&&!r.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:e[o]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.nc=void 0;var o={};(()=>{"use strict";r.r(o),r.d(o,{DataFilter:()=>po,DataSchema:()=>He,GeneralHtmlSupport:()=>rn,HtmlComment:()=>ln});var t=r(704),e=r(209);const n=[{model:"codeBlock",view:"pre"},{model:"paragraph",view:"p"},{model:"blockQuote",view:"blockquote"},{model:"listItem",view:"li"},{model:"pageBreak",view:"div"},{model:"rawHtml",view:"div"},{model:"table",view:"table"},{model:"tableRow",view:"tr"},{model:"tableCell",view:"td"},{model:"tableCell",view:"th"},{model:"caption",view:"caption"},{model:"caption",view:"figcaption"},{model:"imageBlock",view:"img"},{model:"imageInline",view:"img"},{model:"htmlP",view:"p",modelSchema:{inheritAllFrom:"$block"}},{model:"htmlBlockquote",view:"blockquote",modelSchema:{inheritAllFrom:"$container"}},{model:"htmlTable",view:"table",modelSchema:{allowWhere:"$block",isBlock:!0}},{model:"htmlTbody",view:"tbody",modelSchema:{allowIn:"htmlTable",isBlock:!0}},{model:"htmlThead",view:"thead",modelSchema:{allowIn:"htmlTable",isBlock:!0}},{model:"htmlTfoot",view:"tfoot",modelSchema:{allowIn:"htmlTable",isBlock:!0}},{model:"htmlCaption",view:"caption",modelSchema:{allowIn:"htmlTable",allowChildren:"$text",isBlock:!0}},{model:"htmlColgroup",view:"colgroup",modelSchema:{allowIn:"htmlTable",allowChildren:"col",isBlock:!0}},{model:"htmlCol",view:"col",modelSchema:{allowIn:"htmlColgroup",isBlock:!0}},{model:"htmlTr",view:"tr",modelSchema:{allowIn:["htmlTable","htmlThead","htmlTbody"]}},{model:"htmlTd",view:"td",modelSchema:{allowIn:"htmlTr",allowContentOf:"$container"}},{model:"htmlTh",view:"th",modelSchema:{allowIn:"htmlTr",allowContentOf:"$container"}},{model:"htmlFigure",view:"figure",modelSchema:{inheritAllFrom:"$container",isBlock:!0}},{model:"htmlFigcaption",view:"figcaption",modelSchema:{allowIn:"htmlFigure",allowChildren:"$text",isBlock:!0}},{model:"htmlAddress",view:"address",modelSchema:{inheritAllFrom:"$container",isBlock:!0}},{model:"htmlAside",view:"aside",modelSchema:{inheritAllFrom:"$container",isBlock:!0}},{model:"htmlMain",view:"main",modelSchema:{inheritAllFrom:"$container",isBlock:!0}},{model:"htmlDetails",view:"details",modelSchema:{inheritAllFrom:"$container",isBlock:!0}},{model:"htmlSummary",view:"summary",modelSchema:{allowChildren:"$text",allowIn:"htmlDetails",isBlock:!0}},{model:"htmlDiv",view:"div",paragraphLikeModel:"htmlDivParagraph",modelSchema:{inheritAllFrom:"$container"}},{model:"htmlFieldset",view:"fieldset",modelSchema:{inheritAllFrom:"$container",isBlock:!0}},{model:"htmlLegend",view:"legend",modelSchema:{allowIn:"htmlFieldset",allowChildren:"$text"}},{model:"htmlHeader",view:"header",modelSchema:{inheritAllFrom:"$container",isBlock:!0}},{model:"htmlFooter",view:"footer",modelSchema:{inheritAllFrom:"$container",isBlock:!0}},{model:"htmlForm",view:"form",modelSchema:{inheritAllFrom:"$container",isBlock:!0}},{model:"htmlHgroup",view:"hgroup",modelSchema:{allowChildren:["htmlH1","htmlH2","htmlH3","htmlH4","htmlH5","htmlH6"],isBlock:!0}},{model:"htmlH1",view:"h1",modelSchema:{inheritAllFrom:"$block"}},{model:"htmlH2",view:"h2",modelSchema:{inheritAllFrom:"$block"}},{model:"htmlH3",view:"h3",modelSchema:{inheritAllFrom:"$block"}},{model:"htmlH4",view:"h4",modelSchema:{inheritAllFrom:"$block"}},{model:"htmlH5",view:"h5",modelSchema:{inheritAllFrom:"$block"}},{model:"htmlH6",view:"h6",modelSchema:{inheritAllFrom:"$block"}},{model:"$htmlList",modelSchema:{allowWhere:"$container",allowChildren:["$htmlList","htmlLi"],isBlock:!0}},{model:"htmlDir",view:"dir",modelSchema:{inheritAllFrom:"$htmlList"}},{model:"htmlMenu",view:"menu",modelSchema:{inheritAllFrom:"$htmlList"}},{model:"htmlUl",view:"ul",modelSchema:{inheritAllFrom:"$htmlList"}},{model:"htmlOl",view:"ol",modelSchema:{inheritAllFrom:"$htmlList"}},{model:"htmlLi",view:"li",modelSchema:{allowIn:"$htmlList",allowChildren:"$text",isBlock:!0}},{model:"htmlPre",view:"pre",modelSchema:{inheritAllFrom:"$block"}},{model:"htmlArticle",view:"article",modelSchema:{inheritAllFrom:"$container",isBlock:!0}},{model:"htmlSection",view:"section",modelSchema:{inheritAllFrom:"$container",isBlock:!0}},{model:"htmlNav",view:"nav",modelSchema:{inheritAllFrom:"$container",isBlock:!0}},{model:"htmlDl",view:"dl",modelSchema:{allowWhere:"$container",allowChildren:["htmlDt","htmlDd"],isBlock:!0}},{model:"htmlDt",view:"dt",modelSchema:{allowChildren:"$block",isBlock:!0}},{model:"htmlDd",view:"dd",modelSchema:{allowChildren:"$block",isBlock:!0}},{model:"htmlCenter",view:"center",modelSchema:{inheritAllFrom:"$container",isBlock:!0}}],i=[{model:"htmlAcronym",view:"acronym",attributeProperties:{copyOnEnter:!0}},{model:"htmlTt",view:"tt",attributeProperties:{copyOnEnter:!0}},{model:"htmlFont",view:"font",attributeProperties:{copyOnEnter:!0}},{model:"htmlTime",view:"time",attributeProperties:{copyOnEnter:!0}},{model:"htmlVar",view:"var",attributeProperties:{copyOnEnter:!0}},{model:"htmlBig",view:"big",attributeProperties:{copyOnEnter:!0}},{model:"htmlSmall",view:"small",attributeProperties:{copyOnEnter:!0}},{model:"htmlSamp",view:"samp",attributeProperties:{copyOnEnter:!0}},{model:"htmlQ",view:"q",attributeProperties:{copyOnEnter:!0}},{model:"htmlOutput",view:"output",attributeProperties:{copyOnEnter:!0}},{model:"htmlKbd",view:"kbd",attributeProperties:{copyOnEnter:!0}},{model:"htmlBdi",view:"bdi",attributeProperties:{copyOnEnter:!0}},{model:"htmlBdo",view:"bdo",attributeProperties:{copyOnEnter:!0}},{model:"htmlAbbr",view:"abbr",attributeProperties:{copyOnEnter:!0}},{model:"htmlA",view:"a",priority:5,coupledAttribute:"linkHref",attributeProperties:{copyOnEnter:!0}},{model:"htmlStrong",view:"strong",coupledAttribute:"bold",attributeProperties:{copyOnEnter:!0}},{model:"htmlB",view:"b",coupledAttribute:"bold",attributeProperties:{copyOnEnter:!0}},{model:"htmlI",view:"i",coupledAttribute:"italic",attributeProperties:{copyOnEnter:!0}},{model:"htmlEm",view:"em",coupledAttribute:"italic",attributeProperties:{copyOnEnter:!0}},{model:"htmlS",view:"s",coupledAttribute:"strikethrough",attributeProperties:{copyOnEnter:!0}},{model:"htmlDel",view:"del",coupledAttribute:"strikethrough",attributeProperties:{copyOnEnter:!0}},{model:"htmlIns",view:"ins",attributeProperties:{copyOnEnter:!0}},{model:"htmlU",view:"u",coupledAttribute:"underline",attributeProperties:{copyOnEnter:!0}},{model:"htmlSub",view:"sub",coupledAttribute:"subscript",attributeProperties:{copyOnEnter:!0}},{model:"htmlSup",view:"sup",coupledAttribute:"superscript",attributeProperties:{copyOnEnter:!0}},{model:"htmlCode",view:"code",coupledAttribute:"code",attributeProperties:{copyOnEnter:!0}},{model:"htmlMark",view:"mark",attributeProperties:{copyOnEnter:!0}},{model:"htmlSpan",view:"span",attributeProperties:{copyOnEnter:!0}},{model:"htmlCite",view:"cite",attributeProperties:{copyOnEnter:!0}},{model:"htmlLabel",view:"label",attributeProperties:{copyOnEnter:!0}},{model:"htmlDfn",view:"dfn",attributeProperties:{copyOnEnter:!0}},{model:"htmlObject",view:"object",isObject:!0,modelSchema:{inheritAllFrom:"$inlineObject"}},{model:"htmlIframe",view:"iframe",isObject:!0,modelSchema:{inheritAllFrom:"$inlineObject"}},{model:"htmlInput",view:"input",isObject:!0,modelSchema:{inheritAllFrom:"$inlineObject"}},{model:"htmlButton",view:"button",isObject:!0,modelSchema:{inheritAllFrom:"$inlineObject"}},{model:"htmlTextarea",view:"textarea",isObject:!0,modelSchema:{inheritAllFrom:"$inlineObject"}},{model:"htmlSelect",view:"select",isObject:!0,modelSchema:{inheritAllFrom:"$inlineObject"}},{model:"htmlVideo",view:"video",isObject:!0,modelSchema:{inheritAllFrom:"$inlineObject"}},{model:"htmlEmbed",view:"embed",isObject:!0,modelSchema:{inheritAllFrom:"$inlineObject"}},{model:"htmlOembed",view:"oembed",isObject:!0,modelSchema:{inheritAllFrom:"$inlineObject"}},{model:"htmlAudio",view:"audio",isObject:!0,modelSchema:{inheritAllFrom:"$inlineObject"}},{model:"htmlImg",view:"img",isObject:!0,modelSchema:{inheritAllFrom:"$inlineObject"}},{model:"htmlCanvas",view:"canvas",isObject:!0,modelSchema:{inheritAllFrom:"$inlineObject"}},{model:"htmlMeter",view:"meter",isObject:!0,modelSchema:{inheritAllFrom:"$inlineObject"}},{model:"htmlProgress",view:"progress",isObject:!0,modelSchema:{inheritAllFrom:"$inlineObject"}},{model:"htmlScript",view:"script",modelSchema:{allowWhere:["$text","$block"],isInline:!0}},{model:"htmlStyle",view:"style",modelSchema:{allowWhere:["$text","$block"],isInline:!0}},{model:"htmlCustomElement",view:"$customElement",modelSchema:{allowWhere:["$text","$block"],isInline:!0}}];const l=function(){this.__data__=[],this.size=0};const s=function(t,e){return t===e||t!=t&&e!=e};const c=function(t,e){for(var r=t.length;r--;)if(s(t[r][0],e))return r;return-1};var a=Array.prototype.splice;const u=function(t){var e=this.__data__,r=c(e,t);return!(r<0)&&(r==e.length-1?e.pop():a.call(e,r,1),--this.size,!0)};const m=function(t){var e=this.__data__,r=c(e,t);return r<0?void 0:e[r][1]};const d=function(t){return c(this.__data__,t)>-1};const h=function(t,e){var r=this.__data__,o=c(r,t);return o<0?(++this.size,r.push([t,e])):r[o][1]=e,this};function f(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e-1&&t%1==0&&t<=9007199254740991};const Gt=function(t){return null!=t&&Wt(t.length)&&!B(t)};const Kt=function(t){return Lt(t)&&Gt(t)};const Zt=function(){return!1};var Qt="object"==typeof exports&&exports&&!exports.nodeType&&exports,Jt=Qt&&"object"==typeof module&&module&&!module.nodeType&&module,Xt=Jt&&Jt.exports===Qt?j.Buffer:void 0;const Yt=(Xt?Xt.isBuffer:void 0)||Zt;var te=Function.prototype,ee=Object.prototype,re=te.toString,oe=ee.hasOwnProperty,ne=re.call(Object);const ie=function(t){if(!Lt(t)||"[object Object]"!=F(t))return!1;var e=Tt(t);if(null===e)return!0;var r=oe.call(e,"constructor")&&e.constructor;return"function"==typeof r&&r instanceof r&&re.call(r)==ne};var le={};le["[object Float32Array]"]=le["[object Float64Array]"]=le["[object Int8Array]"]=le["[object Int16Array]"]=le["[object Int32Array]"]=le["[object Uint8Array]"]=le["[object Uint8ClampedArray]"]=le["[object Uint16Array]"]=le["[object Uint32Array]"]=!0,le["[object Arguments]"]=le["[object Array]"]=le["[object ArrayBuffer]"]=le["[object Boolean]"]=le["[object DataView]"]=le["[object Date]"]=le["[object Error]"]=le["[object Function]"]=le["[object Map]"]=le["[object Number]"]=le["[object Object]"]=le["[object RegExp]"]=le["[object Set]"]=le["[object String]"]=le["[object WeakMap]"]=!1;const se=function(t){return Lt(t)&&Wt(t.length)&&!!le[F(t)]};const ce=function(t){return function(e){return t(e)}};var ae="object"==typeof exports&&exports&&!exports.nodeType&&exports,ue=ae&&"object"==typeof module&&module&&!module.nodeType&&module,me=ue&&ue.exports===ae&&y.process;const de=function(){try{var t=ue&&ue.require&&ue.require("util").types;return t||me&&me.binding&&me.binding("util")}catch(t){}}();var he=de&&de.isTypedArray;const fe=he?ce(he):se;const be=function(t,e){if(("constructor"!==e||"function"!=typeof t[e])&&"__proto__"!=e)return t[e]};var pe=Object.prototype.hasOwnProperty;const ge=function(t,e,r){var o=t[e];pe.call(t,e)&&s(o,r)&&(void 0!==r||e in t)||yt(t,e,r)};const ve=function(t,e,r,o){var n=!r;r||(r={});for(var i=-1,l=e.length;++i-1&&t%1==0&&t0){if(++e>=800)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}(Re);const Le=function(t,e){return De(Be(t,e,Ie),t+"")};const Ne=function(t,e,r){if(!P(r))return!1;var o=typeof e;return!!("number"==o?Gt(r)&&Ae(e,r.length):"string"==o&&e in r)&&s(r[e],t)};const Ve=function(t){return Le((function(e,r){var o=-1,n=r.length,i=n>1?r[n-1]:void 0,l=n>2?r[2]:void 0;for(i=t.length>3&&"function"==typeof i?(n--,i):void 0,l&&Ne(r[0],r[1],l)&&(i=n<3?void 0:i,n=1),e=Object(e);++oe.view&&function(t,e){if("string"==typeof t)return t===e;if(t instanceof RegExp)return t.test(e);return!1}(t,e.view)))}*_getReferences(t){const{modelSchema:r}=this._definitions.get(t);if(!r)return;const o=["inheritAllFrom","inheritTypesFrom","allowWhere","allowContentOf","allowAttributesOf"];for(const n of o)for(const o of(0,e.toArray)(r[n]||[])){const e=this._definitions.get(o);o!==t&&e&&(yield*this._getReferences(e.model),yield e)}}_extendDefinition(t){const e=this._definitions.get(t.model),r=Ve({},e,t,((t,e)=>Array.isArray(t)?t.concat(e):void 0));this._definitions.set(t.model,r)}}var ze=r(492),qe=r(995);const Ue=function(t,e){for(var r=-1,o=null==t?0:t.length;++rr.writer.createElement(t,{htmlContent:e.getCustomProperty("$rawContent")})}function Jr(t,{view:e,isInline:r}){const o=t.t;return(t,{writer:n})=>{const i=o("HTML object"),l=Xr(e,t,n),s=t.getAttribute("htmlAttributes");n.addClass("html-object-embed__content",l),s&&Kr(n,s,l);const c=n.createContainerElement(r?"span":"div",{class:"html-object-embed","data-html-object-embed-label":i},l);return(0,qe.toWidget)(c,n,{widgetLabel:i})}}function Xr(t,e,r){return r.createRawElement(t,null,((t,r)=>{r.setContentOf(t,e.getAttribute("htmlContent"))}))}function Yr({priority:t,view:e}){return(r,o)=>{if(!r)return;const{writer:n}=o,i=n.createAttributeElement(e,null,{priority:t});return Kr(n,r,i),i}}function to({view:t},e){return r=>{r.on(`element:${t}`,((t,r,o)=>{if(!r.modelRange||r.modelRange.isCollapsed)return;const n=e.processViewAttributes(r.viewItem,o);n&&o.writer.setAttribute("htmlAttributes",n,r.modelRange)}),{priority:"low"})}}function eo({model:t}){return e=>{e.on(`attribute:htmlAttributes:${t}`,((t,e,r)=>{if(!r.consumable.consume(e.item,t.name))return;const{attributeOldValue:o,attributeNewValue:n}=e;Gr(r.writer,o,n,r.mapper.toViewElement(e.item))}))}}const ro=function(t,e){for(var r=-1,o=null==t?0:t.length,n=Array(o);++r-1;)s!==t&&co.call(s,c,1),co.call(t,c,1);return t};const uo=Le((function(t,e){return t&&t.length&&e&&e.length?ao(t,e):t}));var mo=r(62),ho=r.n(mo),fo=r(142),bo={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};ho()(fo.Z,bo);fo.Z.locals;class po extends t.Plugin{constructor(t){super(t),this._dataSchema=t.plugins.get("DataSchema"),this._allowedAttributes=new ze.Matcher,this._disallowedAttributes=new ze.Matcher,this._allowedElements=new Set,this._dataInitialized=!1,this._coupledAttributes=null,this._registerElementsAfterInit(),this._registerElementHandlers(),this._registerModelPostFixer()}static get pluginName(){return"DataFilter"}static get requires(){return[He,qe.Widget]}loadAllowedConfig(t){this._loadConfig(t,(t=>this.allowAttributes(t)))}loadDisallowedConfig(t){this._loadConfig(t,(t=>this.disallowAttributes(t)))}allowElement(t){for(const e of this._dataSchema.getDefinitionsForView(t,!0))this._allowedElements.has(e)||(this._allowedElements.add(e),this._dataInitialized&&this._fireRegisterEvent(e),this._coupledAttributes=null)}allowAttributes(t){this._allowedAttributes.add(t)}disallowAttributes(t){this._disallowedAttributes.add(t)}_loadConfig(t,e){for(const r of t){const t=r.name||/[\s\S]+/;this.allowElement(t),Ao(r).forEach(e)}}processViewAttributes(t,e){return go(t,e,this._disallowedAttributes),go(t,e,this._allowedAttributes)}_registerElementsAfterInit(){this.editor.data.on("init",(()=>{this._dataInitialized=!0;for(const t of this._allowedElements)this._fireRegisterEvent(t)}),{priority:e.priorities.get("highest")+1})}_registerElementHandlers(){this.on("register",((t,r)=>{const o=this.editor.model.schema;if(r.isObject&&!o.isRegistered(r.model))this._registerObjectElement(r);else if(r.isBlock)this._registerBlockElement(r);else{if(!r.isInline)throw new e.CKEditorError("data-filter-invalid-definition",null,r);this._registerInlineElement(r)}t.stop()}),{priority:"lowest"})}_registerModelPostFixer(){const t=this.editor.model;t.document.registerPostFixer((e=>{const r=t.document.differ.getChanges();let o=!1;const n=this._getCoupledAttributesMap();for(const t of r){if("attribute"!=t.type||null!==t.attributeNewValue)continue;const r=n.get(t.attributeKey);if(r)for(const{item:n}of t.range.getWalker({shallow:!0}))for(const t of r)n.hasAttribute(t)&&(e.removeAttribute(t,n),o=!0)}return o}))}_getCoupledAttributesMap(){if(this._coupledAttributes)return this._coupledAttributes;this._coupledAttributes=new Map;for(const t of this._allowedElements)if(t.coupledAttribute&&t.model){const e=this._coupledAttributes.get(t.coupledAttribute);e?e.push(t.model):this._coupledAttributes.set(t.coupledAttribute,[t.model])}}_fireRegisterEvent(t){this.fire(t.view?`register:${t.view}`:"register",t)}_registerObjectElement(t){const r=this.editor,o=r.model.schema,n=r.conversion,{view:i,model:l}=t;o.register(l,t.modelSchema),i&&(o.extend(t.model,{allowAttributes:["htmlAttributes","htmlContent"]}),r.data.registerRawContentMatcher({name:i}),n.for("upcast").elementToElement({view:i,model:Qr(t),converterPriority:e.priorities.get("low")+1}),n.for("upcast").add(to(t,this)),n.for("editingDowncast").elementToStructure({model:{name:l,attributes:["htmlAttributes"]},view:Jr(r,t)}),n.for("dataDowncast").elementToElement({model:l,view:(t,{writer:e})=>Xr(i,t,e)}),n.for("dataDowncast").add(eo(t)))}_registerBlockElement(t){const r=this.editor,o=r.model.schema,n=r.conversion,{view:i,model:l}=t;if(!o.isRegistered(t.model)){if(o.register(t.model,t.modelSchema),!i)return;n.for("upcast").elementToElement({model:l,view:i,converterPriority:e.priorities.get("low")+1}),n.for("downcast").elementToElement({model:l,view:i})}i&&(o.extend(t.model,{allowAttributes:"htmlAttributes"}),n.for("upcast").add(to(t,this)),n.for("downcast").add(eo(t)))}_registerInlineElement(t){const e=this.editor,r=e.model.schema,o=e.conversion,n=t.model;r.extend("$text",{allowAttributes:n}),t.attributeProperties&&r.setAttributeProperties(n,t.attributeProperties),o.for("upcast").add(function({view:t,model:e},r){return o=>{o.on(`element:${t}`,((t,o,n)=>{let i=r.processViewAttributes(o.viewItem,n);if(i||n.consumable.test(o.viewItem,{name:!0})){i=i||{},n.consumable.consume(o.viewItem,{name:!0}),o.modelRange||(o=Object.assign(o,n.convertChildren(o.viewItem,o.modelCursor)));for(const t of o.modelRange.getItems())if(n.schema.checkAttribute(t,e)){const r=Zr(i,t.getAttribute(e)||{});n.writer.setAttribute(e,r,t)}}}),{priority:"low"})}}(t,this)),o.for("downcast").attributeToElement({model:n,view:Yr(t)})}}function go(t,e,r){const o=function(t,{consumable:e},r){const o=r.matchAll(t)||[],n=[];for(const r of o)vo(e,t,r),delete r.match.name,e.consume(t,r.match),n.push(r);return n}(t,e,r),{attributes:n,styles:i,classes:l}=function(t){const e={attributes:new Set,classes:new Set,styles:new Set};for(const r of t)for(const t in e){(r.match[t]||[]).forEach((r=>e[t].add(r)))}return e}(o),s={};if(n.size)for(const t of n)jo(t)||n.delete(t);return n.size&&(s.attributes=wo(n,(e=>t.getAttribute(e)))),i.size&&(s.styles=wo(i,(e=>t.getStyle(e)))),l.size&&(s.classes=Array.from(l)),Object.keys(s).length?s:null}function vo(t,e,r){for(const o of["attributes","classes","styles"]){const n=r.match[o];if(n)for(const r of Array.from(n))t.test(e,{[o]:[r]})||uo(n,r)}}function wo(t,e){const r={};for(const o of t){void 0!==e(o)&&(r[o]=e(o))}return r}function yo(t,e){const{name:r}=t;return ie(t[e])?Object.entries(t[e]).map((([t,o])=>({name:r,[e]:{[t]:o}}))):Array.isArray(t[e])?t[e].map((t=>({name:r,[e]:[t]}))):[t]}function Ao(t){const{name:e,attributes:r,classes:o,styles:n}=t,i=[];return r&&i.push(...yo({name:e,attributes:r},"attributes")),o&&i.push(...yo({name:e,classes:o},"classes")),n&&i.push(...yo({name:e,styles:n},"styles")),i}function jo(t){try{document.createAttribute(t)}catch(t){return!1}return!0}class _o extends t.Plugin{static get requires(){return[po]}static get pluginName(){return"CodeBlockElementSupport"}init(){if(!this.editor.plugins.has("CodeBlockEditing"))return;const t=this.editor.plugins.get(po);t.on("register:pre",((e,r)=>{if("codeBlock"!==r.model)return;const o=this.editor,n=o.model.schema,i=o.conversion;n.extend("codeBlock",{allowAttributes:["htmlAttributes","htmlContentAttributes"]}),i.for("upcast").add(function(t){return e=>{e.on("element:code",((e,r,o)=>{const n=r.viewItem,i=n.parent;function l(e,n){const i=t.processViewAttributes(e,o);i&&o.writer.setAttribute(n,i,r.modelRange)}i&&i.is("element","pre")&&(l(i,"htmlAttributes"),l(n,"htmlContentAttributes"))}),{priority:"low"})}}(t)),i.for("downcast").add((t=>{t.on("attribute:htmlAttributes:codeBlock",((t,e,r)=>{if(!r.consumable.consume(e.item,t.name))return;const{attributeOldValue:o,attributeNewValue:n}=e,i=r.mapper.toViewElement(e.item).parent;Gr(r.writer,o,n,i)})),t.on("attribute:htmlContentAttributes:codeBlock",((t,e,r)=>{if(!r.consumable.consume(e.item,t.name))return;const{attributeOldValue:o,attributeNewValue:n}=e,i=r.mapper.toViewElement(e.item);Gr(r.writer,o,n,i)}))})),e.stop()}))}}class So extends t.Plugin{static get requires(){return[po]}static get pluginName(){return"DualContentModelElementSupport"}init(){this.editor.plugins.get(po).on("register",((t,r)=>{const o=this.editor,n=o.model.schema,i=o.conversion;if(!r.paragraphLikeModel)return;if(n.isRegistered(r.model)||n.isRegistered(r.paragraphLikeModel))return;const l={model:r.paragraphLikeModel,view:r.view};n.register(r.model,r.modelSchema),n.register(l.model,{inheritAllFrom:"$block"}),i.for("upcast").elementToElement({view:r.view,model:(t,{writer:e})=>this._hasBlockContent(t)?e.createElement(r.model):e.createElement(l.model),converterPriority:e.priorities.get("low")+1}),i.for("downcast").elementToElement({view:r.view,model:r.model}),this._addAttributeConversion(r),i.for("downcast").elementToElement({view:l.view,model:l.model}),this._addAttributeConversion(l),t.stop()}))}_hasBlockContent(t){const e=this.editor.editing.view,r=e.domConverter.blockElements;for(const o of e.createRangeIn(t).getItems())if(o.is("element")&&r.includes(o.name))return!0;return!1}_addAttributeConversion(t){const e=this.editor,r=e.conversion,o=e.plugins.get(po);e.model.schema.extend(t.model,{allowAttributes:"htmlAttributes"}),r.for("upcast").add(to(t,o)),r.for("downcast").add(eo(t))}}class Oo extends t.Plugin{static get requires(){return[He]}static get pluginName(){return"HeadingElementSupport"}init(){const t=this.editor;if(!t.plugins.has("HeadingEditing"))return;const e=t.plugins.get(He),r=t.config.get("heading.options"),o=[];for(const t of r)"model"in t&&"view"in t&&(e.registerBlockElement({view:t.view,model:t.model}),o.push(t.model));e.extendBlockElement({model:"htmlHgroup",modelSchema:{allowChildren:o}})}}class ko extends t.Plugin{static get requires(){return[po]}static get pluginName(){return"ImageElementSupport"}init(){const t=this.editor;if(!t.plugins.has("ImageInlineEditing")&&!t.plugins.has("ImageBlockEditing"))return;const e=t.model.schema,r=t.conversion,o=t.plugins.get(po);o.on("register:figure",(()=>{r.for("upcast").add(function(t){return e=>{e.on("element:figure",((e,r,o)=>{const n=r.viewItem;if(!r.modelRange||!n.hasClass("image"))return;const i=t.processViewAttributes(n,o);i&&o.writer.setAttribute("htmlFigureAttributes",i,r.modelRange)}),{priority:"low"})}}(o))})),o.on("register:img",((t,n)=>{"imageBlock"!==n.model&&"imageInline"!==n.model||(e.isRegistered("imageBlock")&&e.extend("imageBlock",{allowAttributes:["htmlAttributes","htmlFigureAttributes","htmlLinkAttributes"]}),e.isRegistered("imageInline")&&e.extend("imageInline",{allowAttributes:["htmlA","htmlAttributes"]}),r.for("upcast").add(function(t){return e=>{e.on("element:img",((e,r,o)=>{if(!r.modelRange)return;const n=r.viewItem,i=n.parent;function l(e,n){const i=t.processViewAttributes(e,o);i&&o.writer.setAttribute(n,i,r.modelRange)}function s(t){r.modelRange&&r.modelRange.getContainedElement().is("element","imageBlock")&&l(t,"htmlLinkAttributes")}l(n,"htmlAttributes"),i.is("element","a")&&s(i)}),{priority:"low"})}}(o)),r.for("downcast").add((t=>{function e(e){t.on(`attribute:${e}:imageInline`,((t,e,r)=>{if(!r.consumable.consume(e.item,t.name))return;const{attributeOldValue:o,attributeNewValue:n}=e,i=r.mapper.toViewElement(e.item);Gr(r.writer,o,n,i)}),{priority:"low"})}function r(e,r){t.on(`attribute:${r}:imageBlock`,((t,r,o)=>{if(!o.consumable.test(r.item,t.name))return;const{attributeOldValue:n,attributeNewValue:i}=r,l=o.mapper.toViewElement(r.item),s=Eo(o.writer,l,e);s&&(Gr(o.writer,n,i,s),o.consumable.consume(r.item,t.name))}),{priority:"low"}),"a"===e&&t.on("attribute:linkHref:imageBlock",((t,e,r)=>{if(!r.consumable.consume(e.item,"attribute:htmlLinkAttributes:imageBlock"))return;const o=r.mapper.toViewElement(e.item),n=Eo(r.writer,o,"a");Kr(r.writer,e.item.getAttribute("htmlLinkAttributes"),n)}),{priority:"low"})}e("htmlAttributes"),r("img","htmlAttributes"),r("figure","htmlFigureAttributes"),r("a","htmlLinkAttributes")})),t.stop())}))}}function Eo(t,e,r){const o=t.createRangeOn(e);for(const{item:t}of o.getWalker())if(t.is("element",r))return t}class Co extends t.Plugin{static get requires(){return[po]}static get pluginName(){return"MediaEmbedElementSupport"}init(){const t=this.editor;if(!t.plugins.has("MediaEmbed")||t.config.get("mediaEmbed.previewsInData"))return;const e=t.model.schema,r=t.conversion,o=this.editor.plugins.get(po),n=this.editor.plugins.get(He),i=t.config.get("mediaEmbed.elementName");n.registerBlockElement({model:"media",view:i}),o.on("register:figure",(()=>{r.for("upcast").add(function(t){return e=>{e.on("element:figure",((e,r,o)=>{const n=r.viewItem;if(!r.modelRange||!n.hasClass("media"))return;const i=t.processViewAttributes(n,o);i&&o.writer.setAttribute("htmlFigureAttributes",i,r.modelRange)}),{priority:"low"})}}(o))})),o.on(`register:${i}`,((t,n)=>{"media"===n.model&&(e.extend("media",{allowAttributes:["htmlAttributes","htmlFigureAttributes"]}),r.for("upcast").add(function(t,e){return t=>{t.on(`element:${e}`,r)};function r(e,r,o){function n(e,n){const i=t.processViewAttributes(e,o);i&&o.writer.setAttribute(n,i,r.modelRange)}n(r.viewItem,"htmlAttributes")}}(o,i)),r.for("dataDowncast").add(function(t){return e=>{function r(t,r){e.on(`attribute:${r}:media`,((e,r,o)=>{if(!o.consumable.consume(r.item,e.name))return;const{attributeOldValue:n,attributeNewValue:i}=r,l=o.mapper.toViewElement(r.item),s=function(t,e,r){const o=t.createRangeOn(e);for(const{item:t}of o.getWalker())if(t.is("element",r))return t}(o.writer,l,t);Gr(o.writer,n,i,s)}))}r(t,"htmlAttributes"),r("figure","htmlFigureAttributes")}}(i)),t.stop())}))}}class $o extends t.Plugin{static get requires(){return[po]}static get pluginName(){return"ScriptElementSupport"}init(){const t=this.editor.plugins.get(po);t.on("register:script",((e,r)=>{const o=this.editor,n=o.model.schema,i=o.conversion;n.register("htmlScript",r.modelSchema),n.extend("htmlScript",{allowAttributes:["htmlAttributes","htmlContent"],isContent:!0}),o.data.registerRawContentMatcher({name:"script"}),i.for("upcast").elementToElement({view:"script",model:Qr(r)}),i.for("upcast").add(to(r,t)),i.for("downcast").elementToElement({model:"htmlScript",view:(t,{writer:e})=>Xr("script",t,e)}),i.for("downcast").add(eo(r)),e.stop()}))}}class xo extends t.Plugin{static get requires(){return[po]}static get pluginName(){return"TableElementSupport"}init(){const t=this.editor;if(!t.plugins.has("TableEditing"))return;const e=t.model.schema,r=t.conversion,o=t.plugins.get(po);o.on("register:figure",(()=>{r.for("upcast").add(function(t){return e=>{e.on("element:figure",((e,r,o)=>{const n=r.viewItem;if(!r.modelRange||!n.hasClass("table"))return;const i=t.processViewAttributes(n,o);i&&o.writer.setAttribute("htmlFigureAttributes",i,r.modelRange)}),{priority:"low"})}}(o))})),o.on("register:table",((t,n)=>{"table"===n.model&&(e.extend("table",{allowAttributes:["htmlAttributes","htmlFigureAttributes","htmlTheadAttributes","htmlTbodyAttributes"]}),r.for("upcast").add(function(t){return e=>{e.on("element:table",((e,r,o)=>{const n=r.viewItem;i(n,"htmlAttributes");for(const t of n.getChildren())t.is("element","thead")&&i(t,"htmlTheadAttributes"),t.is("element","tbody")&&i(t,"htmlTbodyAttributes");function i(e,n){const i=t.processViewAttributes(e,o);i&&o.writer.setAttribute(n,i,r.modelRange)}}))}}(o)),r.for("downcast").add((t=>{function e(e,r){t.on(`attribute:${r}:table`,((t,r,o)=>{if(!o.consumable.consume(r.item,t.name))return;const n=o.mapper.toViewElement(r.item),i=function(t,e,r){const o=t.createRangeOn(e);for(const{item:t}of o.getWalker())if(t.is("element",r))return t}(o.writer,n,e);Kr(o.writer,r.attributeNewValue,i)}))}e("table","htmlAttributes"),e("figure","htmlFigureAttributes"),e("thead","htmlTheadAttributes"),e("tbody","htmlTbodyAttributes")})),t.stop())}))}}class Io extends t.Plugin{static get requires(){return[po]}static get pluginName(){return"StyleElementSupport"}init(){const t=this.editor.plugins.get(po);t.on("register:style",((e,r)=>{const o=this.editor,n=o.model.schema,i=o.conversion;n.register("htmlStyle",r.modelSchema),n.extend("htmlStyle",{allowAttributes:["htmlAttributes","htmlContent"],isContent:!0}),o.data.registerRawContentMatcher({name:"style"}),i.for("upcast").elementToElement({view:"style",model:Qr(r)}),i.for("upcast").add(to(r,t)),i.for("downcast").elementToElement({model:"htmlStyle",view:(t,{writer:e})=>Xr("style",t,e)}),i.for("downcast").add(eo(r)),e.stop()}))}}const Fo=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this};const Po=function(t){return this.__data__.has(t)};function Bo(t){var e=-1,r=null==t?0:t.length;for(this.__data__=new bt;++es))return!1;var a=i.get(t),u=i.get(e);if(a&&u)return a==e&&u==t;var m=-1,d=!0,h=2&r?new To:void 0;for(i.set(t,e),i.set(e,t);++m{["ul","ol","li"].includes(n.view)&&(t.stop(),e.checkAttribute("$block","htmlListAttributes")||(e.extend("$block",{allowAttributes:["htmlListAttributes","htmlLiAttributes"]}),e.extend("$blockObject",{allowAttributes:["htmlListAttributes","htmlLiAttributes"]}),e.extend("$container",{allowAttributes:["htmlListAttributes","htmlLiAttributes"]}),r.for("upcast").add((t=>{t.on("element:ul",tn("htmlListAttributes",o),{priority:"low"}),t.on("element:ol",tn("htmlListAttributes",o),{priority:"low"}),t.on("element:li",tn("htmlLiAttributes",o),{priority:"low"})}))))})),n.on("postFixer",((t,{listNodes:e,writer:r})=>{const o=[];for(const{node:n,previous:i}of e){if(!i)continue;const e=n.getAttribute("listIndent"),l=i.getAttribute("listIndent");let s=null;if(e>l?o[l]=i:e{t.model.change((t=>{for(const e of r)t.setAttribute("htmlListAttributes",{},e)}))}))}}function tn(t,e){return(r,o,n)=>{const i=o.viewItem;o.modelRange||Object.assign(o,n.convertChildren(o.viewItem,o.modelCursor));const l=e.processViewAttributes(i,n);for(const e of o.modelRange.getItems({shallow:!0}))e.hasAttribute("listItemId")&&(e.hasAttribute(t)||n.writer.setAttribute(t,l||{},e))}}class en extends t.Plugin{static get requires(){return[po,He]}static get pluginName(){return"CustomElementSupport"}init(){const t=this.editor.plugins.get(po),e=this.editor.plugins.get(He);t.on("register:$customElement",((r,o)=>{r.stop();const n=this.editor,i=n.model.schema,l=n.conversion,s=n.editing.view.domConverter.unsafeElements,c=n.data.htmlProcessor.domConverter.preElements;i.register(o.model,o.modelSchema),i.extend(o.model,{allowAttributes:["htmlElementName","htmlAttributes","htmlContent"],isContent:!0}),l.for("upcast").elementToElement({view:/.*/,model:(r,i)=>{if("$comment"==r.name)return;if(!function(t){try{document.createElement(t)}catch(t){return!1}return!0}(r.name))return;if(e.getDefinitionsForView(r.name).size)return;s.includes(r.name)||s.push(r.name),c.includes(r.name)||c.push(r.name);const l=i.writer.createElement(o.model,{htmlElementName:r.name}),a=t.processViewAttributes(r,i);a&&i.writer.setAttribute("htmlAttributes",a,l);const u=new ze.UpcastWriter(r.document).createDocumentFragment(r),m=n.data.processor.toData(u);i.writer.setAttribute("htmlContent",m,l);for(const{item:t}of n.editing.view.createRangeIn(r))i.consumable.consume(t,{name:!0});return l},converterPriority:"low"}),l.for("editingDowncast").elementToElement({model:{name:o.model,attributes:["htmlElementName","htmlAttributes","htmlContent"]},view:(t,{writer:e})=>{const r=t.getAttribute("htmlElementName"),o=e.createRawElement(r);return t.hasAttribute("htmlAttributes")&&Kr(e,t.getAttribute("htmlAttributes"),o),o}}),l.for("dataDowncast").elementToElement({model:{name:o.model,attributes:["htmlElementName","htmlAttributes","htmlContent"]},view:(t,{writer:e})=>{const r=t.getAttribute("htmlElementName"),o=t.getAttribute("htmlContent"),n=e.createRawElement(r,null,((t,e)=>{e.setContentOf(t,o);const r=t.firstChild;for(r.remove();r.firstChild;)t.appendChild(r.firstChild)}));return t.hasAttribute("htmlAttributes")&&Kr(e,t.getAttribute("htmlAttributes"),n),n}})}))}}class rn extends t.Plugin{static get pluginName(){return"GeneralHtmlSupport"}static get requires(){return[po,_o,So,Oo,ko,Co,$o,xo,Io,Yo,en]}init(){const t=this.editor,e=t.plugins.get(po);e.loadAllowedConfig(t.config.get("htmlSupport.allow")||[]),e.loadDisallowedConfig(t.config.get("htmlSupport.disallow")||[])}getGhsAttributeNameForElement(t){const e=this.editor.plugins.get("DataSchema"),r=Array.from(e.getDefinitionsForView(t,!1));return r&&r.length&&r[0].isInline&&!r[0].isObject?r[0].model:"htmlAttributes"}addModelHtmlClass(t,r,o){const n=this.editor.model,i=this.getGhsAttributeNameForElement(t);n.change((t=>{for(const l of on(n,o,i))nn(t,l,i,"classes",(t=>{for(const o of(0,e.toArray)(r))t.add(o)}))}))}removeModelHtmlClass(t,r,o){const n=this.editor.model,i=this.getGhsAttributeNameForElement(t);n.change((t=>{for(const l of on(n,o,i))nn(t,l,i,"classes",(t=>{for(const o of(0,e.toArray)(r))t.delete(o)}))}))}setModelHtmlAttributes(t,e,r){const o=this.editor.model,n=this.getGhsAttributeNameForElement(t);o.change((t=>{for(const i of on(o,r,n))nn(t,i,n,"attributes",(t=>{for(const[r,o]of Object.entries(e))t.set(r,o)}))}))}removeModelHtmlAttributes(t,r,o){const n=this.editor.model,i=this.getGhsAttributeNameForElement(t);n.change((t=>{for(const l of on(n,o,i))nn(t,l,i,"attributes",(t=>{for(const o of(0,e.toArray)(r))t.delete(o)}))}))}setModelHtmlStyles(t,e,r){const o=this.editor.model,n=this.getGhsAttributeNameForElement(t);o.change((t=>{for(const i of on(o,r,n))nn(t,i,n,"styles",(t=>{for(const[r,o]of Object.entries(e))t.set(r,o)}))}))}removeModelHtmlStyles(t,r,o){const n=this.editor.model,i=this.getGhsAttributeNameForElement(t);n.change((t=>{for(const l of on(n,o,i))nn(t,l,i,"styles",(t=>{for(const o of(0,e.toArray)(r))t.delete(o)}))}))}}function*on(t,e,r){if(e.is("documentSelection")&&e.isCollapsed)t.schema.checkAttributeInSelection(e,r)&&(yield e);else for(const o of function(t,e,r){return e.is("node")||e.is("$text")||e.is("$textProxy")?t.schema.checkAttribute(e,r)?[t.createRangeOn(e)]:[]:t.schema.getValidRanges(t.createSelection(e).getRanges(),r)}(t,e,r))yield*o.getItems({shallow:!0})}function nn(t,e,r,o,n){const i=e.getAttribute(r),l={};for(const t of["attributes","styles","classes"])if(t!=o)i&&i[t]&&(l[t]=i[t]);else{const e="classes"==t?new Set(i&&i[t]||[]):new Map(Object.entries(i&&i[t]||{}));n(e),e.size&&(l[t]="classes"==t?Array.from(e):Object.fromEntries(e))}Object.keys(l).length?e.is("documentSelection")?t.setSelectionAttribute(r,l):t.setAttribute(r,l,e):i&&(e.is("documentSelection")?t.removeSelectionAttribute(r):t.removeAttribute(r,e))}class ln extends t.Plugin{static get pluginName(){return"HtmlComment"}init(){const t=this.editor;t.model.schema.addAttributeCheck(((t,e)=>{if(t.endsWith("$root")&&e.startsWith("$comment"))return!0})),t.conversion.for("upcast").elementToMarker({view:"$comment",model:(t,{writer:r})=>{const o=this.editor.model.document.getRoot(),n=t.getCustomProperty("$rawContent"),i=`$comment:${(0,e.uid)()}`;return r.setAttribute(i,n,o),i}}),t.conversion.for("dataDowncast").markerToElement({model:"$comment",view:(t,{writer:e})=>{const r=this.editor.model.document.getRoot(),o=t.markerName,n=r.getAttribute(o),i=e.createUIElement("$comment");return e.setCustomProperty("$rawContent",n,i),i}}),t.model.document.registerPostFixer((e=>{const r=t.model.document.getRoot(),o=t.model.document.differ.getChangedMarkers().filter((t=>t.name.startsWith("$comment"))).filter((t=>{const e=t.data.newRange;return e&&"$graveyard"===e.root.rootName}));if(0===o.length)return!1;for(const t of o)e.removeMarker(t.name),e.removeAttribute(t.name,r);return!0})),t.data.on("set",(()=>{for(const e of t.model.markers.getMarkersGroup("$comment"))this.removeHtmlComment(e.name)}),{priority:"high"}),t.model.on("deleteContent",((e,[r])=>{for(const e of r.getRanges()){const r=t.model.schema.getLimitElement(e),o=t.model.createPositionAt(r,0),n=t.model.createPositionAt(r,"end");let i;i=o.isTouching(e.start)&&n.isTouching(e.end)?this.getHtmlCommentsInRange(t.model.createRange(o,n)):this.getHtmlCommentsInRange(e,{skipBoundaries:!0});for(const t of i)this.removeHtmlComment(t)}}),{priority:"high"})}createHtmlComment(t,r){const o=(0,e.uid)(),n=this.editor.model,i=n.document.getRoot(),l=`$comment:${o}`;return n.change((e=>{const o=e.createRange(t);return e.addMarker(l,{usingOperation:!0,affectsData:!0,range:o}),e.setAttribute(l,r,i),l}))}removeHtmlComment(t){const e=this.editor,r=e.model.document.getRoot(),o=e.model.markers.get(t);return!!o&&(e.model.change((e=>{e.removeMarker(o),e.removeAttribute(t,r)})),!0)}getHtmlCommentData(t){const e=this.editor,r=e.model.markers.get(t),o=e.model.document.getRoot();return r?{content:o.getAttribute(t),position:r.getStart()}:null}getHtmlCommentsInRange(t,{skipBoundaries:e=!1}={}){const r=!e;return Array.from(this.editor.model.markers.getMarkersGroup("$comment")).filter((e=>function(t,e){const o=t.getRange().start;return(o.isAfter(e.start)||r&&o.isEqual(e.start))&&(o.isBefore(e.end)||r&&o.isEqual(e.end))}(e,t))).map((t=>t.name))}}})(),(window.CKEditor5=window.CKEditor5||{}).htmlSupport=o})(); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/translations/ar.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/translations/ar.js new file mode 100644 index 000000000..e65caef3a --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/translations/ar.js @@ -0,0 +1 @@ +!function(i){const n=i.ar=i.ar||{};n.dictionary=Object.assign(n.dictionary||{},{"HTML object":"عنصر HTML"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/translations/bg.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/translations/bg.js new file mode 100644 index 000000000..e022d0ffc --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/translations/bg.js @@ -0,0 +1 @@ +!function(i){const n=i.bg=i.bg||{};n.dictionary=Object.assign(n.dictionary||{},{"HTML object":"HTML обект"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/translations/bn.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/translations/bn.js new file mode 100644 index 000000000..90b3878d2 --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/translations/bn.js @@ -0,0 +1 @@ +!function(n){const i=n.bn=n.bn||{};i.dictionary=Object.assign(i.dictionary||{},{"HTML object":"HTML অবজেক্ট"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/translations/ca.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/translations/ca.js new file mode 100644 index 000000000..e8a5d2cf1 --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/translations/ca.js @@ -0,0 +1 @@ +!function(c){const i=c.ca=c.ca||{};i.dictionary=Object.assign(i.dictionary||{},{"HTML object":"Objecte HTML"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/translations/da.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/translations/da.js new file mode 100644 index 000000000..b71ceb24f --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/translations/da.js @@ -0,0 +1 @@ +!function(i){const n=i.da=i.da||{};n.dictionary=Object.assign(n.dictionary||{},{"HTML object":"HTML-objekt"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/translations/et.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/translations/et.js new file mode 100644 index 000000000..13c38f64c --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/translations/et.js @@ -0,0 +1 @@ +!function(t){const i=t.et=t.et||{};i.dictionary=Object.assign(i.dictionary||{},{"HTML object":"HTML objekt"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/translations/fi.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/translations/fi.js new file mode 100644 index 000000000..46623b98d --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/translations/fi.js @@ -0,0 +1 @@ +!function(i){const n=i.fi=i.fi||{};n.dictionary=Object.assign(n.dictionary||{},{"HTML object":"HMTL-kohde"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/translations/fr.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/translations/fr.js new file mode 100644 index 000000000..41d2e0bcb --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/translations/fr.js @@ -0,0 +1 @@ +!function(i){const n=i.fr=i.fr||{};n.dictionary=Object.assign(n.dictionary||{},{"HTML object":"Objet HTML"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/translations/he.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/translations/he.js new file mode 100644 index 000000000..9cc3d8831 --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/translations/he.js @@ -0,0 +1 @@ +!function(i){const n=i.he=i.he||{};n.dictionary=Object.assign(n.dictionary||{},{"HTML object":"אובייקט HTML"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/translations/hi.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/translations/hi.js new file mode 100644 index 000000000..d91b4998a --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/translations/hi.js @@ -0,0 +1 @@ +!function(i){const n=i.hi=i.hi||{};n.dictionary=Object.assign(n.dictionary||{},{"HTML object":"एचटीएमएल वस्तु"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/translations/ja.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/translations/ja.js new file mode 100644 index 000000000..a3a129115 --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/translations/ja.js @@ -0,0 +1 @@ +!function(i){const n=i.ja=i.ja||{};n.dictionary=Object.assign(n.dictionary||{},{"HTML object":"HTMLオブジェクト"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/translations/ko.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/translations/ko.js new file mode 100644 index 000000000..216abf832 --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/translations/ko.js @@ -0,0 +1 @@ +!function(o){const i=o.ko=o.ko||{};i.dictionary=Object.assign(i.dictionary||{},{"HTML object":"HTML 오브젝트"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/translations/lt.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/translations/lt.js new file mode 100644 index 000000000..5fdc9fb52 --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/translations/lt.js @@ -0,0 +1 @@ +!function(t){const i=t.lt=t.lt||{};i.dictionary=Object.assign(i.dictionary||{},{"HTML object":"HTML object"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/translations/ms.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/translations/ms.js new file mode 100644 index 000000000..f7ec18b21 --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/translations/ms.js @@ -0,0 +1 @@ +!function(i){const n=i.ms=i.ms||{};n.dictionary=Object.assign(n.dictionary||{},{"HTML object":"Objek HTML"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/translations/no.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/translations/no.js new file mode 100644 index 000000000..becbb886e --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/translations/no.js @@ -0,0 +1 @@ +!function(n){const o=n.no=n.no||{};o.dictionary=Object.assign(o.dictionary||{},{"HTML object":"HTML-objekt"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/translations/pt.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/translations/pt.js new file mode 100644 index 000000000..8aab26d38 --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/translations/pt.js @@ -0,0 +1 @@ +!function(t){const i=t.pt=t.pt||{};i.dictionary=Object.assign(i.dictionary||{},{"HTML object":"Objeto HTML"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/translations/ro.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/translations/ro.js new file mode 100644 index 000000000..da3c03d7c --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/translations/ro.js @@ -0,0 +1 @@ +!function(i){const o=i.ro=i.ro||{};o.dictionary=Object.assign(o.dictionary||{},{"HTML object":"Obiect HTML"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/translations/sv.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/translations/sv.js new file mode 100644 index 000000000..0102c0fde --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/translations/sv.js @@ -0,0 +1 @@ +!function(i){const n=i.sv=i.sv||{};n.dictionary=Object.assign(n.dictionary||{},{"HTML object":"HTML-objekt"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/translations/th.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/translations/th.js new file mode 100644 index 000000000..5973dec99 --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/translations/th.js @@ -0,0 +1 @@ +!function(i){const n=i.th=i.th||{};n.dictionary=Object.assign(n.dictionary||{},{"HTML object":"วัตถุ HTML"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/translations/tr.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/translations/tr.js new file mode 100644 index 000000000..43638251e --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/translations/tr.js @@ -0,0 +1 @@ +!function(n){const i=n.tr=n.tr||{};i.dictionary=Object.assign(i.dictionary||{},{"HTML object":"HTML nesnesi"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/translations/uk.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/translations/uk.js new file mode 100644 index 000000000..95d26bdae --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/translations/uk.js @@ -0,0 +1 @@ +!function(i){const n=i.uk=i.uk||{};n.dictionary=Object.assign(n.dictionary||{},{"HTML object":"HTML об'єкт"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/translations/vi.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/translations/vi.js new file mode 100644 index 000000000..fa16ee697 --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/translations/vi.js @@ -0,0 +1 @@ +!function(i){const n=i.vi=i.vi||{};n.dictionary=Object.assign(n.dictionary||{},{"HTML object":"Đối tượng HTML"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/translations/zh-cn.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/translations/zh-cn.js new file mode 100644 index 000000000..d47544b0d --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/html-support/translations/zh-cn.js @@ -0,0 +1 @@ +!function(n){const c=n["zh-cn"]=n["zh-cn"]||{};c.dictionary=Object.assign(c.dictionary||{},{"HTML object":"HTML对象"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/image.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/image.js index c482b4847..47bad8f40 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/image.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/image.js @@ -1,5 +1,5 @@ -!function(e){const t=e.en=e.en||{};t.dictionary=Object.assign(t.dictionary||{},{"Break text":"Break text","Centered image":"Centered image","Change image text alternative":"Change image text alternative","Enter image caption":"Enter image caption","Full size image":"Full size image","Image resize list":"Image resize list","Image toolbar":"Image toolbar","image widget":"image widget","In line":"In line",Insert:"Insert","Insert image":"Insert image","Insert image via URL":"Insert image via URL","Left aligned image":"Left aligned image",Original:"Original","Resize image":"Resize image","Resize image to %0":"Resize image to %0","Resize image to the original size":"Resize image to the original size","Right aligned image":"Right aligned image","Side image":"Side image","Text alternative":"Text alternative",Update:"Update","Update image URL":"Update image URL","Upload failed":"Upload failed","Wrap text":"Wrap text"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})), +!function(e){const t=e.en=e.en||{};t.dictionary=Object.assign(t.dictionary||{},{"Break text":"Break text","Caption for image: %0":"Caption for image: %0","Caption for the image":"Caption for the image","Centered image":"Centered image","Change image text alternative":"Change image text alternative","Enter image caption":"Enter image caption","Full size image":"Full size image","Image resize list":"Image resize list","Image toolbar":"Image toolbar","image widget":"image widget","In line":"In line",Insert:"Insert","Insert image":"Insert image","Insert image via URL":"Insert image via URL","Left aligned image":"Left aligned image",Original:"Original","Resize image":"Resize image","Resize image to %0":"Resize image to %0","Resize image to the original size":"Resize image to the original size","Right aligned image":"Right aligned image","Side image":"Side image","Text alternative":"Text alternative",Update:"Update","Update image URL":"Update image URL","Upload failed":"Upload failed","Wrap text":"Wrap text"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})), /*! * @license Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md. - */(()=>{var e={540:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(609),o=i.n(n)()((function(e){return e[1]}));o.push([e.id,".ck-content .image{clear:both;display:table;margin:.9em auto;min-width:50px;text-align:center}.ck-content .image img{display:block;margin:0 auto;max-width:100%;min-width:100%}.ck-content .image-inline{align-items:flex-start;display:inline-flex;max-width:100%}.ck-content .image-inline picture{display:flex}.ck-content .image-inline img,.ck-content .image-inline picture{flex-grow:1;flex-shrink:1;max-width:100%}.ck.ck-editor__editable .image>figcaption.ck-placeholder:before{overflow:hidden;padding-left:inherit;padding-right:inherit;text-overflow:ellipsis;white-space:nowrap}.ck.ck-editor__editable .image-inline.ck-widget_selected,.ck.ck-editor__editable .image.ck-widget_selected{z-index:1}.ck.ck-editor__editable .image-inline.ck-widget_selected ::selection{display:none}.ck.ck-editor__editable td .image-inline img,.ck.ck-editor__editable th .image-inline img{max-width:none}",""]);const a=o},560:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(609),o=i.n(n)()((function(e){return e[1]}));o.push([e.id,":root{--ck-color-image-caption-background:#f7f7f7;--ck-color-image-caption-text:#333;--ck-color-image-caption-highligted-background:#fd0}.ck-content .image>figcaption{background-color:var(--ck-color-image-caption-background);caption-side:bottom;color:var(--ck-color-image-caption-text);display:table-caption;font-size:.75em;outline-offset:-1px;padding:.6em;word-break:break-word}.ck.ck-editor__editable .image>figcaption.image__caption_highlighted{animation:ck-image-caption-highlight .6s ease-out}@keyframes ck-image-caption-highlight{0%{background-color:var(--ck-color-image-caption-highligted-background)}to{background-color:var(--ck-color-image-caption-background)}}",""]);const a=o},91:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(609),o=i.n(n)()((function(e){return e[1]}));o.push([e.id,".ck.ck-image-insert__panel{padding:var(--ck-spacing-large)}.ck.ck-image-insert__ck-finder-button{border:1px solid #ccc;border-radius:var(--ck-border-radius);display:block;margin:var(--ck-spacing-standard) auto;width:100%}.ck.ck-splitbutton>.ck-file-dialog-button.ck-button{border:none;margin:0;padding:0}",""]);const a=o},439:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(609),o=i.n(n)()((function(e){return e[1]}));o.push([e.id,".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)}",""]);const a=o},601:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(609),o=i.n(n)()((function(e){return e[1]}));o.push([e.id,".ck-content .image.image_resized{box-sizing:border-box;display:block;max-width:100%}.ck-content .image.image_resized img{width:100%}.ck-content .image.image_resized>figcaption{display:block}.ck.ck-editor__editable td .image-inline.image_resized img,.ck.ck-editor__editable th .image-inline.image_resized img{max-width:100%}[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}",""]);const a=o},29:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(609),o=i.n(n)()((function(e){return e[1]}));o.push([e.id,":root{--ck-image-style-spacing:1.5em;--ck-inline-image-style-spacing:calc(var(--ck-image-style-spacing)/2)}.ck-content .image-style-block-align-left,.ck-content .image-style-block-align-right{max-width:calc(100% - var(--ck-image-style-spacing))}.ck-content .image-style-align-left,.ck-content .image-style-align-right{clear:none}.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)}.ck-content .image-style-block-align-right{margin-left:auto;margin-right:0}.ck-content .image-style-block-align-left{margin-left:0;margin-right:auto}.ck-content p+.image-style-align-left,.ck-content p+.image-style-align-right,.ck-content p+.image-style-side{margin-top:0}.ck-content .image-inline.image-style-align-left,.ck-content .image-inline.image-style-align-right{margin-bottom:var(--ck-inline-image-style-spacing);margin-top:var(--ck-inline-image-style-spacing)}.ck-content .image-inline.image-style-align-left{margin-right:var(--ck-inline-image-style-spacing)}.ck-content .image-inline.image-style-align-right{margin-left:var(--ck-inline-image-style-spacing)}.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__action:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover),.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__action:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__arrow:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover){background-color:var(--ck-color-button-on-background)}.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__action:not(.ck-disabled):after,.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):after,.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover):after,.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__action:not(.ck-disabled):after,.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__arrow:not(.ck-disabled):after,.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover):after{display:none}.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open:hover>.ck-splitbutton__action:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open:hover>.ck-splitbutton__arrow:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open:hover>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover){background-color:var(--ck-color-button-on-hover-background)}",""]);const a=o},948:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(609),o=i.n(n)()((function(e){return e[1]}));o.push([e.id,'.ck-image-upload-complete-icon{border-radius:50%;display:block;position:absolute;right:min(var(--ck-spacing-medium),6%);top:min(var(--ck-spacing-medium),6%);z-index:1}.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:20;--ck-image-upload-icon-width:2px;--ck-image-upload-icon-is-visible:clamp(0px,100% - 50px,1px)}.ck-image-upload-complete-icon{animation-delay:0ms,3s;animation-duration:.5s,.5s;animation-fill-mode:forwards,forwards;animation-name:ck-upload-complete-icon-show,ck-upload-complete-icon-hide;background:var(--ck-color-image-upload-icon-background);font-size:calc(1px*var(--ck-image-upload-icon-size));height:calc(var(--ck-image-upload-icon-is-visible)*var(--ck-image-upload-icon-size));opacity:0;overflow:hidden;width:calc(var(--ck-image-upload-icon-is-visible)*var(--ck-image-upload-icon-size))}.ck-image-upload-complete-icon:after{animation-delay:.5s;animation-duration:.5s;animation-fill-mode:forwards;animation-name:ck-upload-complete-icon-check;border-right:var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);border-top:var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);box-sizing:border-box;height:0;left:25%;opacity:0;top:50%;transform:scaleX(-1) rotate(135deg);transform-origin:left top;width:0}@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%{height:0;opacity:1;width:0}33%{height:0;width:.3em}to{height:.45em;opacity:1;width:.3em}}',""]);const a=o},467:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(609),o=i.n(n)()((function(e){return e[1]}));o.push([e.id,'.ck .ck-upload-placeholder-loader{align-items:center;display:flex;justify-content:center;left:0;position:absolute;top:0}.ck .ck-upload-placeholder-loader:before{content:"";position:relative}:root{--ck-color-upload-placeholder-loader:#b3b3b3;--ck-upload-placeholder-loader-size:32px;--ck-upload-placeholder-image-aspect-ratio:2.8}.ck .ck-image-upload-placeholder{margin:0;width:100%}.ck .ck-image-upload-placeholder.image-inline{width:calc(var(--ck-upload-placeholder-loader-size)*2*var(--ck-upload-placeholder-image-aspect-ratio))}.ck .ck-image-upload-placeholder img{aspect-ratio:var(--ck-upload-placeholder-image-aspect-ratio)}.ck .ck-upload-placeholder-loader{height:100%;width:100%}.ck .ck-upload-placeholder-loader:before{animation:ck-upload-placeholder-loader 1s linear infinite;border-radius:50%;border-right:2px solid transparent;border-top:3px solid var(--ck-color-upload-placeholder-loader);height:var(--ck-upload-placeholder-loader-size);width:var(--ck-upload-placeholder-loader-size)}@keyframes ck-upload-placeholder-loader{to{transform:rotate(1turn)}}',""]);const a=o},271:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(609),o=i.n(n)()((function(e){return e[1]}));o.push([e.id,".ck.ck-editor__editable .image,.ck.ck-editor__editable .image-inline{position:relative}.ck.ck-editor__editable .image .ck-progress-bar,.ck.ck-editor__editable .image-inline .ck-progress-bar{left:0;position:absolute;top:0}.ck.ck-editor__editable .image-inline.ck-appear,.ck.ck-editor__editable .image.ck-appear{animation:fadeIn .7s}.ck.ck-editor__editable .image .ck-progress-bar,.ck.ck-editor__editable .image-inline .ck-progress-bar{background:var(--ck-color-upload-bar-background);height:2px;transition:width .1s;width:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}",""]);const a=o},168:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(609),o=i.n(n)()((function(e){return e[1]}));o.push([e.id,".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%}}",""]);const a=o},764:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(609),o=i.n(n)()((function(e){return e[1]}));o.push([e.id,'.ck-vertical-form .ck-button:after{bottom:var(--ck-spacing-small);content:"";position:absolute;right:-1px;top:var(--ck-spacing-small);width:0;z-index:1}@media screen and (max-width:600px){.ck.ck-responsive-form .ck-button:after{bottom:var(--ck-spacing-small);content:"";position:absolute;right:-1px;top:var(--ck-spacing-small);width:0;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-width)*.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){border:0;border-radius:0;border-top:1px solid var(--ck-color-base-border);margin-top:var(--ck-spacing-large);padding:var(--ck-spacing-standard)}[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)}}',""]);const a=o},609:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var i=e(t);return t[2]?"@media ".concat(t[2]," {").concat(i,"}"):i})).join("")},t.i=function(e,i,n){"string"==typeof e&&(e=[[null,e,""]]);var o={};if(n)for(var a=0;a{"use strict";var n,o=function(){return void 0===n&&(n=Boolean(window&&document&&document.all&&!window.atob)),n},a=function(){var e={};return function(t){if(void 0===e[t]){var i=document.querySelector(t);if(window.HTMLIFrameElement&&i instanceof window.HTMLIFrameElement)try{i=i.contentDocument.head}catch(e){i=null}e[t]=i}return e[t]}}(),s=[];function r(e){for(var t=-1,i=0;i{e.exports=i(79)("./src/clipboard.js")},704:(e,t,i)=>{e.exports=i(79)("./src/core.js")},492:(e,t,i)=>{e.exports=i(79)("./src/engine.js")},181:(e,t,i)=>{e.exports=i(79)("./src/typing.js")},273:(e,t,i)=>{e.exports=i(79)("./src/ui.js")},254:(e,t,i)=>{e.exports=i(79)("./src/undo.js")},448:(e,t,i)=>{e.exports=i(79)("./src/upload.js")},209:(e,t,i)=>{e.exports=i(79)("./src/utils.js")},995:(e,t,i)=>{e.exports=i(79)("./src/widget.js")},79:e=>{"use strict";e.exports=CKEditor5.dll}},t={};function i(n){var o=t[n];if(void 0!==o)return o.exports;var a=t[n]={id:n,exports:{}};return e[n](a,a.exports,i),a.exports}i.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t},i.d=(e,t)=>{for(var n in t)i.o(t,n)&&!i.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.nc=void 0;var n={};(()=>{"use strict";i.r(n),i.d(n,{AutoImage:()=>h,Image:()=>j,ImageCaption:()=>K,ImageCaptionEditing:()=>q,ImageCaptionUtils:()=>W,ImageEditing:()=>R,ImageInsert:()=>Ee,ImageInsertUI:()=>_e,ImageResize:()=>Pe,ImageResizeButtons:()=>Te,ImageResizeEditing:()=>Ce,ImageResizeHandles:()=>Ue,ImageStyle:()=>at,ImageStyleEditing:()=>Je,ImageStyleUI:()=>tt,ImageTextAlternative:()=>T,ImageTextAlternativeEditing:()=>b,ImageTextAlternativeUI:()=>S,ImageToolbar:()=>st,ImageUpload:()=>he,ImageUploadEditing:()=>ue,ImageUploadProgress:()=>se,ImageUploadUI:()=>Y,PictureEditing:()=>rt});var e=i(704),t=i(945),o=i(492),a=i(254),s=i(181),r=i(209),l=i(995);function c(e){return e.createContainerElement("figure",{class:"image"},[e.createEmptyElement("img"),e.createSlot()])}function g(e,t){const i=e.plugins.get("ImageUtils"),n=e.plugins.has("ImageInlineEditing")&&e.plugins.has("ImageBlockEditing");return e=>{if(!i.isInlineImageView(e))return null;if(!n)return o(e);return(e.findAncestor(i.isBlockImageView)?"imageBlock":"imageInline")!==t?null:o(e)};function o(e){const t={name:!0};return e.hasAttribute("src")&&(t.attributes=["src"]),t}}function d(e,t){const i=(0,r.first)(t.getSelectedBlocks());return!i||e.isObject(i)||i.isEmpty&&"listItem"!=i.name?"imageBlock":"imageInline"}class m extends e.Plugin{static get pluginName(){return"ImageUtils"}isImage(e){return this.isInlineImage(e)||this.isBlockImage(e)}isInlineImageView(e){return!!e&&e.is("element","img")}isBlockImageView(e){return!!e&&e.is("element","figure")&&e.hasClass("image")}insertImage(e={},t=null,i=null){const n=this.editor,o=n.model,a=o.document.selection;i=u(n,t||a,i),e={...Object.fromEntries(a.getAttributes()),...e};for(const t in e)o.schema.checkAttribute(i,t)||delete e[t];return o.change((n=>{const a=n.createElement(i,e);return o.insertObject(a,t,null,{setSelection:"on",findOptimalPosition:!t&&"imageInline"!=i}),a.parent?a:null}))}getClosestSelectedImageWidget(e){const t=e.getSelectedElement();if(t&&this.isImageWidget(t))return t;let i=e.getFirstPosition().parent;for(;i;){if(i.is("element")&&this.isImageWidget(i))return i;i=i.parent}return null}getClosestSelectedImageElement(e){const t=e.getSelectedElement();return this.isImage(t)?t:e.getFirstPosition().findAncestor("imageBlock")}isImageAllowed(){const e=this.editor.model.document.selection;return function(e,t){if("imageBlock"==u(e,t)){const i=function(e,t){const i=(0,l.findOptimalInsertionRange)(e,t).start.parent;if(i.isEmpty&&!i.is("element","$root"))return i.parent;return i}(t,e.model);if(e.model.schema.checkChild(i,"imageBlock"))return!0}else if(e.model.schema.checkChild(t.focus,"imageInline"))return!0;return!1}(this.editor,e)&&function(e){return[...e.focus.getAncestors()].every((e=>!e.is("element","imageBlock")))}(e)}toImageWidget(e,t,i){t.setCustomProperty("image",!0,e);return(0,l.toWidget)(e,t,{label:()=>{const t=this.findViewImgElement(e).getAttribute("alt");return t?`${t} ${i}`:i}})}isImageWidget(e){return!!e.getCustomProperty("image")&&(0,l.isWidget)(e)}isBlockImage(e){return!!e&&e.is("element","imageBlock")}isInlineImage(e){return!!e&&e.is("element","imageInline")}findViewImgElement(e){if(this.isInlineImageView(e))return e;const t=this.editor.editing.view;for(const{item:i}of t.createRangeIn(e))if(this.isInlineImageView(i))return i}}function u(e,t,i){const n=e.model.schema,o=e.config.get("image.insert.type");return e.plugins.has("ImageBlockEditing")?e.plugins.has("ImageInlineEditing")?i||("inline"===o?"imageInline":"block"===o?"imageBlock":t.is("selection")?d(n,t):n.checkChild(t,"imageInline")?"imageInline":"imageBlock"):"imageBlock":"imageInline"}const p=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 h extends e.Plugin{static get requires(){return[t.Clipboard,m,a.Undo,s.Delete]}static get pluginName(){return"AutoImage"}constructor(e){super(e),this._timeoutId=null,this._positionToInsert=null}init(){const e=this.editor,t=e.model.document;this.listenTo(e.plugins.get("ClipboardPipeline"),"inputTransformation",(()=>{const e=t.selection.getFirstRange(),i=o.LivePosition.fromPosition(e.start);i.stickiness="toPrevious";const n=o.LivePosition.fromPosition(e.end);n.stickiness="toNext",t.once("change:data",(()=>{this._embedImageBetweenPositions(i,n),i.detach(),n.detach()}),{priority:"high"})})),e.commands.get("undo").on("execute",(()=>{this._timeoutId&&(r.global.window.clearTimeout(this._timeoutId),this._positionToInsert.detach(),this._timeoutId=null,this._positionToInsert=null)}),{priority:"high"})}_embedImageBetweenPositions(e,t){const i=this.editor,n=new o.LiveRange(e,t),a=n.getWalker({ignoreElementEnd:!0}),s=Object.fromEntries(i.model.document.selection.getAttributes()),l=this.editor.plugins.get("ImageUtils");let c="";for(const e of a)e.item.is("$textProxy")&&(c+=e.item.data);c=c.trim(),c.match(p)?(this._positionToInsert=o.LivePosition.fromPosition(e),this._timeoutId=r.global.window.setTimeout((()=>{i.commands.get("insertImage").isEnabled?(i.model.change((e=>{let t;this._timeoutId=null,e.remove(n),n.detach(),"$graveyard"!==this._positionToInsert.root.rootName&&(t=this._positionToInsert.toPosition()),l.insertImage({...s,src:c},t),this._positionToInsert.detach(),this._positionToInsert=null})),i.plugins.get("Delete").requestUndoOnBackspace()):n.detach()}),100)):n.detach()}}class f extends e.Command{refresh(){const e=this.editor.plugins.get("ImageUtils").getClosestSelectedImageElement(this.editor.model.document.selection);this.isEnabled=!!e,this.isEnabled&&e.hasAttribute("alt")?this.value=e.getAttribute("alt"):this.value=!1}execute(e){const t=this.editor,i=t.plugins.get("ImageUtils"),n=t.model,o=i.getClosestSelectedImageElement(n.document.selection);n.change((t=>{t.setAttribute("alt",e.newValue,o)}))}}class b extends e.Plugin{static get requires(){return[m]}static get pluginName(){return"ImageTextAlternativeEditing"}init(){this.editor.commands.add("imageTextAlternative",new f(this.editor))}}var k=i(273),w=i(62),I=i.n(w),v=i(168),y={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};I()(v.Z,y);v.Z.locals;var _=i(764),E={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};I()(_.Z,E);_.Z.locals;class x extends k.View{constructor(t){super(t);const i=this.locale.t;this.focusTracker=new r.FocusTracker,this.keystrokes=new r.KeystrokeHandler,this.labeledInput=this._createLabeledInputView(),this.saveButtonView=this._createButton(i("Save"),e.icons.check,"ck-button-save"),this.saveButtonView.type="submit",this.cancelButtonView=this._createButton(i("Cancel"),e.icons.cancel,"ck-button-cancel","cancel"),this._focusables=new k.ViewCollection,this._focusCycler=new k.FocusCycler({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]}),(0,k.injectCssTransitionDisabler)(this)}render(){super.render(),this.keystrokes.listenTo(this.element),(0,k.submitHandler)({view:this}),[this.labeledInput,this.saveButtonView,this.cancelButtonView].forEach((e=>{this._focusables.add(e),this.focusTracker.add(e.element)}))}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}_createButton(e,t,i,n){const o=new k.ButtonView(this.locale);return o.set({label:e,icon:t,tooltip:!0}),o.extendTemplate({attributes:{class:i}}),n&&o.delegate("execute").to(this,n),o}_createLabeledInputView(){const e=this.locale.t,t=new k.LabeledFieldView(this.locale,k.createLabeledInputText);return t.label=e("Text alternative"),t}}function C(e){const t=e.editing.view,i=k.BalloonPanelView.defaultPositions,n=e.plugins.get("ImageUtils");return{target:t.domConverter.viewToDom(n.getClosestSelectedImageWidget(t.document.selection)),positions:[i.northArrowSouth,i.northArrowSouthWest,i.northArrowSouthEast,i.southArrowNorth,i.southArrowNorthWest,i.southArrowNorthEast,i.viewportStickyNorth]}}class S extends e.Plugin{static get requires(){return[k.ContextualBalloon]}static get pluginName(){return"ImageTextAlternativeUI"}init(){this._createButton(),this._createForm()}destroy(){super.destroy(),this._form.destroy()}_createButton(){const t=this.editor,i=t.t;t.ui.componentFactory.add("imageTextAlternative",(n=>{const o=t.commands.get("imageTextAlternative"),a=new k.ButtonView(n);return a.set({label:i("Change image text alternative"),icon:e.icons.lowVision,tooltip:!0}),a.bind("isEnabled").to(o,"isEnabled"),this.listenTo(a,"execute",(()=>{this._showForm()})),a}))}_createForm(){const e=this.editor,t=e.editing.view.document,i=e.plugins.get("ImageUtils");this._balloon=this.editor.plugins.get("ContextualBalloon"),this._form=new x(e.locale),this._form.render(),this.listenTo(this._form,"submit",(()=>{e.execute("imageTextAlternative",{newValue:this._form.labeledInput.fieldView.element.value}),this._hideForm(!0)})),this.listenTo(this._form,"cancel",(()=>{this._hideForm(!0)})),this._form.keystrokes.set("Esc",((e,t)=>{this._hideForm(!0),t()})),this.listenTo(e.ui,"update",(()=>{i.getClosestSelectedImageWidget(t.selection)?this._isVisible&&function(e){const t=e.plugins.get("ContextualBalloon");if(e.plugins.get("ImageUtils").getClosestSelectedImageWidget(e.editing.view.document.selection)){const i=C(e);t.updatePosition(i)}}(e):this._hideForm(!0)})),(0,k.clickOutsideHandler)({emitter:this._form,activator:()=>this._isVisible,contextElements:[this._balloon.view.element],callback:()=>this._hideForm()})}_showForm(){if(this._isVisible)return;const e=this.editor,t=e.commands.get("imageTextAlternative"),i=this._form.labeledInput;this._form.disableCssTransitions(),this._isInBalloon||this._balloon.add({view:this._form,position:C(e)}),i.fieldView.value=i.fieldView.element.value=t.value||"",this._form.labeledInput.fieldView.select(),this._form.enableCssTransitions()}_hideForm(e){this._isInBalloon&&(this._form.focusTracker.isFocused&&this._form.saveButtonView.focus(),this._balloon.remove(this._form),e&&this.editor.editing.view.focus())}get _isVisible(){return this._balloon.visibleView===this._form}get _isInBalloon(){return this._balloon.hasView(this._form)}}class T extends e.Plugin{static get requires(){return[b,S]}static get pluginName(){return"ImageTextAlternative"}}function A(e,t){return e=>{e.on(`attribute:srcset:${t}`,i)};function i(t,i,n){if(!n.consumable.consume(i.item,t.name))return;const o=n.writer,a=n.mapper.toViewElement(i.item),s=e.findViewImgElement(a);if(null===i.attributeNewValue){const e=i.attributeOldValue;e.data&&(o.removeAttribute("srcset",s),o.removeAttribute("sizes",s),e.width&&o.removeAttribute("width",s))}else{const e=i.attributeNewValue;e.data&&(o.setAttribute("srcset",e.data,s),o.setAttribute("sizes","100vw",s),e.width&&o.setAttribute("width",e.width,s))}}}function B(e,t,i){return e=>{e.on(`attribute:${i}:${t}`,n)};function n(t,i,n){if(!n.consumable.consume(i.item,t.name))return;const o=n.writer,a=n.mapper.toViewElement(i.item),s=e.findViewImgElement(a);o.setAttribute(i.attributeKey,i.attributeNewValue||"",s)}}class V extends o.Observer{observe(e){this.listenTo(e,"load",((e,t)=>{const i=t.target;this.checkShouldIgnoreEventFromTarget(i)||"IMG"==i.tagName&&this._fireEvents(t)}),{useCapture:!0})}_fireEvents(e){this.isEnabled&&(this.document.fire("layoutChanged"),this.document.fire("imageLoaded",e))}}class U extends e.Command{constructor(e){super(e);const t=e.config.get("image.insert.type");e.plugins.has("ImageBlockEditing")||"block"===t&&(0,r.logWarning)("image-block-plugin-required"),e.plugins.has("ImageInlineEditing")||"inline"===t&&(0,r.logWarning)("image-inline-plugin-required")}refresh(){this.isEnabled=this.editor.plugins.get("ImageUtils").isImageAllowed()}execute(e){const t=(0,r.toArray)(e.source),i=this.editor.model.document.selection,n=this.editor.plugins.get("ImageUtils"),o=Object.fromEntries(i.getAttributes());t.forEach(((e,t)=>{const a=i.getSelectedElement();if("string"==typeof e&&(e={src:e}),t&&a&&n.isImage(a)){const t=this.editor.model.createPositionAfter(a);n.insertImage({...e,...o},t)}else n.insertImage({...e,...o})}))}}class R extends e.Plugin{static get requires(){return[m]}static get pluginName(){return"ImageEditing"}init(){const e=this.editor,t=e.conversion;e.editing.view.addObserver(V),t.for("upcast").attributeToAttribute({view:{name:"img",key:"alt"},model:"alt"}).attributeToAttribute({view:{name:"img",key:"srcset"},model:{key:"srcset",value:e=>{const t={data:e.getAttribute("srcset")};return e.hasAttribute("width")&&(t.width=e.getAttribute("width")),t}}});const i=new U(e);e.commands.add("insertImage",i),e.commands.add("imageInsert",i)}}class z extends e.Command{constructor(e,t){super(e),this._modelElementName=t}refresh(){const e=this.editor.plugins.get("ImageUtils"),t=e.getClosestSelectedImageElement(this.editor.model.document.selection);"imageBlock"===this._modelElementName?this.isEnabled=e.isInlineImage(t):this.isEnabled=e.isBlockImage(t)}execute(){const e=this.editor,t=this.editor.model,i=e.plugins.get("ImageUtils"),n=i.getClosestSelectedImageElement(t.document.selection),o=Object.fromEntries(n.getAttributes());return o.src||o.uploadId?t.change((e=>{const a=Array.from(t.markers).filter((e=>e.getRange().containsItem(n))),s=i.insertImage(o,t.createSelection(n,"on"),this._modelElementName);if(!s)return null;const r=e.createRangeOn(s);for(const t of a){const i=t.getRange(),n="$graveyard"!=i.root.rootName?i.getJoined(r,!0):r;e.updateMarker(t,{range:n})}return{oldElement:n,newElement:s}})):null}}class P extends e.Plugin{static get requires(){return[R,m,t.ClipboardPipeline]}static get pluginName(){return"ImageBlockEditing"}init(){const e=this.editor;e.model.schema.register("imageBlock",{inheritAllFrom:"$blockObject",allowAttributes:["alt","src","srcset"]}),this._setupConversion(),e.plugins.has("ImageInlineEditing")&&(e.commands.add("imageTypeBlock",new z(this.editor,"imageBlock")),this._setupClipboardIntegration())}_setupConversion(){const e=this.editor,t=e.t,i=e.conversion,n=e.plugins.get("ImageUtils");i.for("dataDowncast").elementToStructure({model:"imageBlock",view:(e,{writer:t})=>c(t)}),i.for("editingDowncast").elementToStructure({model:"imageBlock",view:(e,{writer:i})=>n.toImageWidget(c(i),i,t("image widget"))}),i.for("downcast").add(B(n,"imageBlock","src")).add(B(n,"imageBlock","alt")).add(A(n,"imageBlock")),i.for("upcast").elementToElement({view:g(e,"imageBlock"),model:(e,{writer:t})=>t.createElement("imageBlock",e.hasAttribute("src")?{src:e.getAttribute("src")}:null)}).add(function(e){return e=>{e.on("element:figure",t)};function t(t,i,n){if(!n.consumable.test(i.viewItem,{name:!0,classes:"image"}))return;const o=e.findViewImgElement(i.viewItem);if(!o||!n.consumable.test(o,{name:!0}))return;n.consumable.consume(i.viewItem,{name:!0,classes:"image"});const a=n.convertItem(o,i.modelCursor),s=(0,r.first)(a.modelRange.getItems());s?(n.convertChildren(i.viewItem,s),n.updateConversionResult(s,i)):n.consumable.revert(i.viewItem,{name:!0,classes:"image"})}}(n))}_setupClipboardIntegration(){const e=this.editor,t=e.model,i=e.editing.view,n=e.plugins.get("ImageUtils");this.listenTo(e.plugins.get("ClipboardPipeline"),"inputTransformation",((a,s)=>{const r=Array.from(s.content.getChildren());let l;if(!r.every(n.isInlineImageView))return;l=s.targetRanges?e.editing.mapper.toModelRange(s.targetRanges[0]):t.document.selection.getFirstRange();const c=t.createSelection(l);if("imageBlock"===d(t.schema,c)){const e=new o.UpcastWriter(i.document),t=r.map((t=>e.createElement("figure",{class:"image"},t)));s.content=e.createDocumentFragment(t)}}))}}var O=i(540),N={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};I()(O.Z,N);O.Z.locals;class F extends e.Plugin{static get requires(){return[P,l.Widget,T]}static get pluginName(){return"ImageBlock"}}class L extends e.Plugin{static get requires(){return[R,m,t.ClipboardPipeline]}static get pluginName(){return"ImageInlineEditing"}init(){const e=this.editor,t=e.model.schema;t.register("imageInline",{inheritAllFrom:"$inlineObject",allowAttributes:["alt","src","srcset"]}),t.addChildCheck(((e,t)=>{if(e.endsWith("caption")&&"imageInline"===t.name)return!1})),this._setupConversion(),e.plugins.has("ImageBlockEditing")&&(e.commands.add("imageTypeInline",new z(this.editor,"imageInline")),this._setupClipboardIntegration())}_setupConversion(){const e=this.editor,t=e.t,i=e.conversion,n=e.plugins.get("ImageUtils");i.for("dataDowncast").elementToElement({model:"imageInline",view:(e,{writer:t})=>t.createEmptyElement("img")}),i.for("editingDowncast").elementToStructure({model:"imageInline",view:(e,{writer:i})=>n.toImageWidget(function(e){return e.createContainerElement("span",{class:"image-inline"},e.createEmptyElement("img"))}(i),i,t("image widget"))}),i.for("downcast").add(B(n,"imageInline","src")).add(B(n,"imageInline","alt")).add(A(n,"imageInline")),i.for("upcast").elementToElement({view:g(e,"imageInline"),model:(e,{writer:t})=>t.createElement("imageInline",e.hasAttribute("src")?{src:e.getAttribute("src")}:null)})}_setupClipboardIntegration(){const e=this.editor,t=e.model,i=e.editing.view,n=e.plugins.get("ImageUtils");this.listenTo(e.plugins.get("ClipboardPipeline"),"inputTransformation",((a,s)=>{const r=Array.from(s.content.getChildren());let l;if(!r.every(n.isBlockImageView))return;l=s.targetRanges?e.editing.mapper.toModelRange(s.targetRanges[0]):t.document.selection.getFirstRange();const c=t.createSelection(l);if("imageInline"===d(t.schema,c)){const e=new o.UpcastWriter(i.document),t=r.map((t=>1===t.childCount?(Array.from(t.getAttributes()).forEach((i=>e.setAttribute(...i,n.findViewImgElement(t)))),t.getChild(0)):t));s.content=e.createDocumentFragment(t)}}))}}class D extends e.Plugin{static get requires(){return[L,l.Widget,T]}static get pluginName(){return"ImageInline"}}class j extends e.Plugin{static get requires(){return[F,D]}static get pluginName(){return"Image"}}class W extends e.Plugin{static get pluginName(){return"ImageCaptionUtils"}static get requires(){return[m]}getCaptionFromImageModelElement(e){for(const t of e.getChildren())if(t&&t.is("element","caption"))return t;return null}getCaptionFromModelSelection(e){const t=this.editor.plugins.get("ImageUtils"),i=e.getFirstPosition().findAncestor("caption");return i&&t.isBlockImage(i.parent)?i:null}matchImageCaptionViewElement(e){const t=this.editor.plugins.get("ImageUtils");return"figcaption"==e.name&&t.isBlockImageView(e.parent)?{name:!0}:null}}class M extends e.Command{refresh(){const e=this.editor,t=e.plugins.get("ImageCaptionUtils");if(!e.plugins.has(P))return this.isEnabled=!1,void(this.value=!1);const i=e.model.document.selection,n=i.getSelectedElement();if(!n){const e=t.getCaptionFromModelSelection(i);return this.isEnabled=!!e,void(this.value=!!e)}this.isEnabled=this.editor.plugins.get("ImageUtils").isImage(n),this.isEnabled?this.value=!!t.getCaptionFromImageModelElement(n):this.value=!1}execute(e={}){const{focusCaptionOnShow:t}=e;this.editor.model.change((e=>{this.value?this._hideImageCaption(e):this._showImageCaption(e,t)}))}_showImageCaption(e,t){const i=this.editor.model.document.selection,n=this.editor.plugins.get("ImageCaptionEditing");let o=i.getSelectedElement();const a=n._getSavedCaption(o);this.editor.plugins.get("ImageUtils").isInlineImage(o)&&(this.editor.execute("imageTypeBlock"),o=i.getSelectedElement());const s=a||e.createElement("caption");e.append(s,o),t&&e.setSelection(s,"in")}_hideImageCaption(e){const t=this.editor,i=t.model.document.selection,n=t.plugins.get("ImageCaptionEditing"),o=t.plugins.get("ImageCaptionUtils");let a,s=i.getSelectedElement();s?a=o.getCaptionFromImageModelElement(s):(a=o.getCaptionFromModelSelection(i),s=a.parent),n._saveCaption(s,a),e.setSelection(s,"on"),e.remove(a)}}class q extends e.Plugin{static get requires(){return[m,W]}static get pluginName(){return"ImageCaptionEditing"}constructor(e){super(e),this._savedCaptionsMap=new WeakMap}init(){const e=this.editor,t=e.model.schema;t.isRegistered("caption")?t.extend("caption",{allowIn:"imageBlock"}):t.register("caption",{allowIn:"imageBlock",allowContentOf:"$block",isLimit:!0}),e.commands.add("toggleImageCaption",new M(this.editor)),this._setupConversion(),this._setupImageTypeCommandsIntegration()}_setupConversion(){const e=this.editor,t=e.editing.view,i=e.plugins.get("ImageUtils"),n=e.plugins.get("ImageCaptionUtils"),a=e.t;e.conversion.for("upcast").elementToElement({view:e=>n.matchImageCaptionViewElement(e),model:"caption"}),e.conversion.for("dataDowncast").elementToElement({model:"caption",view:(e,{writer:t})=>i.isBlockImage(e.parent)?t.createContainerElement("figcaption"):null}),e.conversion.for("editingDowncast").elementToElement({model:"caption",view:(e,{writer:n})=>{if(!i.isBlockImage(e.parent))return null;const s=n.createEditableElement("figcaption");return n.setCustomProperty("imageCaption",!0,s),(0,o.enablePlaceholder)({view:t,element:s,text:a("Enter image caption"),keepOnFocus:!0}),(0,l.toWidgetEditable)(s,n)}})}_setupImageTypeCommandsIntegration(){const e=this.editor,t=e.plugins.get("ImageUtils"),i=e.plugins.get("ImageCaptionUtils"),n=e.commands.get("imageTypeInline"),o=e.commands.get("imageTypeBlock"),a=e=>{if(!e.return)return;const{oldElement:n,newElement:o}=e.return;if(!n)return;if(t.isBlockImage(n)){const e=i.getCaptionFromImageModelElement(n);if(e)return void this._saveCaption(o,e)}const a=this._getSavedCaption(n);a&&this._saveCaption(o,a)};n&&this.listenTo(n,"execute",a,{priority:"low"}),o&&this.listenTo(o,"execute",a,{priority:"low"})}_getSavedCaption(e){const t=this._savedCaptionsMap.get(e);return t?o.Element.fromJSON(t):null}_saveCaption(e,t){this._savedCaptionsMap.set(e,t.toJSON())}}class Z extends e.Plugin{static get requires(){return[W]}static get pluginName(){return"ImageCaptionUI"}init(){const t=this.editor,i=t.editing.view,n=t.plugins.get("ImageCaptionUtils"),o=t.t;t.ui.componentFactory.add("toggleImageCaption",(a=>{const s=t.commands.get("toggleImageCaption"),r=new k.ButtonView(a);return r.set({icon:e.icons.caption,tooltip:!0,isToggleable:!0}),r.bind("isOn","isEnabled").to(s,"value","isEnabled"),r.bind("label").to(s,"value",(e=>o(e?"Toggle caption off":"Toggle caption on"))),this.listenTo(r,"execute",(()=>{t.execute("toggleImageCaption",{focusCaptionOnShow:!0});const e=n.getCaptionFromModelSelection(t.model.document.selection);if(e){const n=t.editing.mapper.toViewElement(e);i.scrollToTheSelection(),i.change((e=>{e.addClass("image__caption_highlighted",n)}))}})),r}))}}var $=i(560),H={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};I()($.Z,H);$.Z.locals;class K extends e.Plugin{static get requires(){return[q,Z]}static get pluginName(){return"ImageCaption"}}var G=i(448);function J(e){const t=e.map((e=>e.replace("+","\\+")));return new RegExp(`^image\\/(${t.join("|")})$`)}function Q(e){return new Promise(((t,i)=>{const n=e.getAttribute("src");fetch(n).then((e=>e.blob())).then((e=>{const i=X(e,n),o=i.replace("image/",""),a=new File([e],`image.${o}`,{type:i});t(a)})).catch((e=>e&&"TypeError"===e.name?function(e){return function(e){return new Promise(((t,i)=>{const n=r.global.document.createElement("img");n.addEventListener("load",(()=>{const e=r.global.document.createElement("canvas");e.width=n.width,e.height=n.height;e.getContext("2d").drawImage(n,0,0),e.toBlob((e=>e?t(e):i()))})),n.addEventListener("error",(()=>i())),n.src=e}))}(e).then((t=>{const i=X(t,e),n=i.replace("image/","");return new File([t],`image.${n}`,{type:i})}))}(n).then(t).catch(i):i(e)))}))}function X(e,t){return e.type?e.type:t.match(/data:(image\/\w+);base64/)?t.match(/data:(image\/\w+);base64/)[1].toLowerCase():"image/jpeg"}class Y extends e.Plugin{static get pluginName(){return"ImageUploadUI"}init(){const t=this.editor,i=t.t,n=n=>{const o=new G.FileDialogButtonView(n),a=t.commands.get("uploadImage"),s=t.config.get("image.upload.types"),r=J(s);return o.set({acceptedType:s.map((e=>`image/${e}`)).join(","),allowMultipleFiles:!0}),o.buttonView.set({label:i("Insert image"),icon:e.icons.image,tooltip:!0}),o.buttonView.bind("isEnabled").to(a),o.on("done",((e,i)=>{const n=Array.from(i).filter((e=>r.test(e.type)));n.length&&t.execute("uploadImage",{file:n})})),o};t.ui.componentFactory.add("uploadImage",n),t.ui.componentFactory.add("imageUpload",n)}}var ee=i(271),te={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};I()(ee.Z,te);ee.Z.locals;var ie=i(948),ne={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};I()(ie.Z,ne);ie.Z.locals;var oe=i(467),ae={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};I()(oe.Z,ae);oe.Z.locals;class se extends e.Plugin{static get pluginName(){return"ImageUploadProgress"}constructor(e){super(e),this.placeholder="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="}init(){const e=this.editor;e.plugins.has("ImageBlockEditing")&&e.editing.downcastDispatcher.on("attribute:uploadStatus:imageBlock",((...e)=>this.uploadStatusChange(...e))),e.plugins.has("ImageInlineEditing")&&e.editing.downcastDispatcher.on("attribute:uploadStatus:imageInline",((...e)=>this.uploadStatusChange(...e)))}uploadStatusChange(e,t,i){const n=this.editor,o=t.item,a=o.getAttribute("uploadId");if(!i.consumable.consume(t.item,e.name))return;const s=n.plugins.get("ImageUtils"),r=n.plugins.get(G.FileRepository),l=a?t.attributeNewValue:null,c=this.placeholder,g=n.editing.mapper.toViewElement(o),d=i.writer;if("reading"==l)return re(g,d),void le(s,c,g,d);if("uploading"==l){const e=r.loaders.get(a);return re(g,d),void(e?(ce(g,d),function(e,t,i,n){const o=function(e){const t=e.createUIElement("div",{class:"ck-progress-bar"});return e.setCustomProperty("progressBar",!0,t),t}(t);t.insert(t.createPositionAt(e,"end"),o),i.on("change:uploadedPercent",((e,t,i)=>{n.change((e=>{e.setStyle("width",i+"%",o)}))}))}(g,d,e,n.editing.view),function(e,t,i,n){if(n.data){const o=e.findViewImgElement(t);i.setAttribute("src",n.data,o)}}(s,g,d,e)):le(s,c,g,d))}"complete"==l&&r.loaders.get(a)&&function(e,t,i){const n=t.createUIElement("div",{class:"ck-image-upload-complete-icon"});t.insert(t.createPositionAt(e,"end"),n),setTimeout((()=>{i.change((e=>e.remove(e.createRangeOn(n))))}),3e3)}(g,d,n.editing.view),function(e,t){de(e,t,"progressBar")}(g,d),ce(g,d),function(e,t){t.removeClass("ck-appear",e)}(g,d)}}function re(e,t){e.hasClass("ck-appear")||t.addClass("ck-appear",e)}function le(e,t,i,n){i.hasClass("ck-image-upload-placeholder")||n.addClass("ck-image-upload-placeholder",i);const o=e.findViewImgElement(i);o.getAttribute("src")!==t&&n.setAttribute("src",t,o),ge(i,"placeholder")||n.insert(n.createPositionAfter(o),function(e){const t=e.createUIElement("div",{class:"ck-upload-placeholder-loader"});return e.setCustomProperty("placeholder",!0,t),t}(n))}function ce(e,t){e.hasClass("ck-image-upload-placeholder")&&t.removeClass("ck-image-upload-placeholder",e),de(e,t,"placeholder")}function ge(e,t){for(const i of e.getChildren())if(i.getCustomProperty(t))return i}function de(e,t,i){const n=ge(e,i);n&&t.remove(t.createRangeOn(n))}class me extends e.Command{refresh(){const e=this.editor,t=e.plugins.get("ImageUtils"),i=e.model.document.selection.getSelectedElement();this.isEnabled=t.isImageAllowed()||t.isImage(i)}execute(e){const t=(0,r.toArray)(e.file),i=this.editor.model.document.selection,n=this.editor.plugins.get("ImageUtils"),o=Object.fromEntries(i.getAttributes());t.forEach(((e,t)=>{const a=i.getSelectedElement();if(t&&a&&n.isImage(a)){const t=this.editor.model.createPositionAfter(a);this._uploadImage(e,o,t)}else this._uploadImage(e,o)}))}_uploadImage(e,t,i){const n=this.editor,o=n.plugins.get(G.FileRepository).createLoader(e),a=n.plugins.get("ImageUtils");o&&a.insertImage({...t,uploadId:o.id},i)}}class ue extends e.Plugin{static get requires(){return[G.FileRepository,k.Notification,t.ClipboardPipeline,m]}static get pluginName(){return"ImageUploadEditing"}constructor(e){super(e),e.config.define("image",{upload:{types:["jpeg","png","gif","bmp","webp","tiff"]}}),this._uploadImageElements=new Map}init(){const e=this.editor,t=e.model.document,i=e.conversion,n=e.plugins.get(G.FileRepository),a=e.plugins.get("ImageUtils"),s=J(e.config.get("image.upload.types")),r=new me(e);e.commands.add("uploadImage",r),e.commands.add("imageUpload",r),i.for("upcast").attributeToAttribute({view:{name:"img",key:"uploadId"},model:"uploadId"}),this.listenTo(e.editing.view.document,"clipboardInput",((t,i)=>{if(n=i.dataTransfer,Array.from(n.types).includes("text/html")&&""!==n.getData("text/html"))return;var n;const o=Array.from(i.dataTransfer.files).filter((e=>!!e&&s.test(e.type)));o.length&&(t.stop(),e.model.change((t=>{i.targetRanges&&t.setSelection(i.targetRanges.map((t=>e.editing.mapper.toModelRange(t)))),e.model.enqueueChange((()=>{e.execute("uploadImage",{file:o})}))})))})),this.listenTo(e.plugins.get("ClipboardPipeline"),"inputTransformation",((t,i)=>{const s=Array.from(e.editing.view.createRangeIn(i.content)).filter((e=>function(e,t){return!(!e.isInlineImageView(t)||!t.getAttribute("src"))&&(t.getAttribute("src").match(/^data:image\/\w+;base64,/g)||t.getAttribute("src").match(/^blob:/g))}(a,e.item)&&!e.item.getAttribute("uploadProcessed"))).map((e=>({promise:Q(e.item),imageElement:e.item})));if(!s.length)return;const r=new o.UpcastWriter(e.editing.view.document);for(const e of s){r.setAttribute("uploadProcessed",!0,e.imageElement);const t=n.createLoader(e.promise);t&&(r.setAttribute("src","",e.imageElement),r.setAttribute("uploadId",t.id,e.imageElement))}})),e.editing.view.document.on("dragover",((e,t)=>{t.preventDefault()})),t.on("change",(()=>{const i=t.differ.getChanges({includeChangesInGraveyard:!0}).reverse(),o=new Set;for(const t of i)if("insert"==t.type&&"$text"!=t.name){const i=t.position.nodeAfter,a="$graveyard"==t.position.root.rootName;for(const t of pe(e,i)){const e=t.getAttribute("uploadId");if(!e)continue;const i=n.loaders.get(e);i&&(a?o.has(e)||i.abort():(o.add(e),this._uploadImageElements.set(e,t),"idle"==i.status&&this._readAndUpload(i)))}}})),this.on("uploadComplete",((e,{imageElement:t,data:i})=>{const n=i.urls?i.urls:i;this.editor.model.change((e=>{e.setAttribute("src",n.default,t),this._parseAndSetSrcsetAttributeOnImage(n,t,e)}))}),{priority:"low"})}afterInit(){const e=this.editor.model.schema;this.editor.plugins.has("ImageBlockEditing")&&e.extend("imageBlock",{allowAttributes:["uploadId","uploadStatus"]}),this.editor.plugins.has("ImageInlineEditing")&&e.extend("imageInline",{allowAttributes:["uploadId","uploadStatus"]})}_readAndUpload(e){const t=this.editor,i=t.model,n=t.locale.t,o=t.plugins.get(G.FileRepository),a=t.plugins.get(k.Notification),s=t.plugins.get("ImageUtils"),l=this._uploadImageElements;return i.enqueueChange({isUndoable:!1},(t=>{t.setAttribute("uploadStatus","reading",l.get(e.id))})),e.read().then((()=>{const n=e.upload(),o=l.get(e.id);if(r.env.isSafari){const e=t.editing.mapper.toViewElement(o),i=s.findViewImgElement(e);t.editing.view.once("render",(()=>{if(!i.parent)return;const e=t.editing.view.domConverter.mapViewToDom(i.parent);if(!e)return;const n=e.style.display;e.style.display="none",e._ckHack=e.offsetHeight,e.style.display=n}))}return i.enqueueChange({isUndoable:!1},(e=>{e.setAttribute("uploadStatus","uploading",o)})),n})).then((t=>{i.enqueueChange({isUndoable:!1},(i=>{const n=l.get(e.id);i.setAttribute("uploadStatus","complete",n),this.fire("uploadComplete",{data:t,imageElement:n})})),c()})).catch((t=>{if("error"!==e.status&&"aborted"!==e.status)throw t;"error"==e.status&&t&&a.showWarning(t,{title:n("Upload failed"),namespace:"upload"}),i.enqueueChange({isUndoable:!1},(t=>{t.remove(l.get(e.id))})),c()}));function c(){i.enqueueChange({isUndoable:!1},(t=>{const i=l.get(e.id);t.removeAttribute("uploadId",i),t.removeAttribute("uploadStatus",i),l.delete(e.id)})),o.destroyLoader(e)}}_parseAndSetSrcsetAttributeOnImage(e,t,i){let n=0;const o=Object.keys(e).filter((e=>{const t=parseInt(e,10);if(!isNaN(t))return n=Math.max(n,t),!0})).map((t=>`${e[t]} ${t}w`)).join(", ");""!=o&&i.setAttribute("srcset",{data:o,width:n},t)}}function pe(e,t){const i=e.plugins.get("ImageUtils");return Array.from(e.model.createRangeOn(t)).filter((e=>i.isImage(e.item))).map((e=>e.item))}class he extends e.Plugin{static get pluginName(){return"ImageUpload"}static get requires(){return[ue,Y,se]}}var fe=i(439),be={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};I()(fe.Z,be);fe.Z.locals;class ke extends k.View{constructor(e,t={}){super(e);const i=this.bindTemplate;this.set("class",t.class||null),this.children=this.createCollection(),t.children&&t.children.forEach((e=>this.children.add(e))),this.set("_role",null),this.set("_ariaLabelledBy",null),t.labelView&&this.set({_role:"group",_ariaLabelledBy:t.labelView.id}),this.setTemplate({tag:"div",attributes:{class:["ck","ck-form__row",i.to("class")],role:i.to("_role"),"aria-labelledby":i.to("_ariaLabelledBy")},children:this.children})}}var we=i(91),Ie={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};I()(we.Z,Ie);we.Z.locals;class ve extends k.View{constructor(e,t){super(e);const{insertButtonView:i,cancelButtonView:n}=this._createActionButtons(e);if(this.insertButtonView=i,this.cancelButtonView=n,this.dropdownView=this._createDropdownView(e),this.set("imageURLInputValue",""),this.focusTracker=new r.FocusTracker,this.keystrokes=new r.KeystrokeHandler,this._focusables=new k.ViewCollection,this._focusCycler=new k.FocusCycler({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.set("_integrations",new r.Collection),t)for(const[e,i]of Object.entries(t))"insertImageViaUrl"===e&&(i.fieldView.bind("value").to(this,"imageURLInputValue",(e=>e||"")),i.fieldView.on("input",(()=>{this.imageURLInputValue=i.fieldView.element.value.trim()}))),i.name=e,this._integrations.add(i);this.setTemplate({tag:"form",attributes:{class:["ck","ck-image-insert-form"],tabindex:"-1"},children:[...this._integrations,new ke(e,{children:[this.insertButtonView,this.cancelButtonView],class:"ck-image-insert-form__action-row"})]})}render(){super.render(),(0,k.submitHandler)({view:this});const e=[...this._integrations,this.insertButtonView,this.cancelButtonView];e.forEach((e=>{this._focusables.add(e),this.focusTracker.add(e.element)})),this.keystrokes.listenTo(this.element);const t=e=>e.stopPropagation();this.keystrokes.set("arrowright",t),this.keystrokes.set("arrowleft",t),this.keystrokes.set("arrowup",t),this.keystrokes.set("arrowdown",t),this.listenTo(e[0].element,"selectstart",((e,t)=>{t.stopPropagation()}),{priority:"high"})}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}getIntegration(e){return this._integrations.find((t=>t.name===e))}_createDropdownView(t){const i=t.t,n=(0,k.createDropdown)(t,k.SplitButtonView),o=n.buttonView,a=n.panelView;return o.set({label:i("Insert image"),icon:e.icons.image,tooltip:!0}),a.extendTemplate({attributes:{class:"ck-image-insert__panel"}}),n}_createActionButtons(t){const i=t.t,n=new k.ButtonView(t),o=new k.ButtonView(t);return n.set({label:i("Insert"),icon:e.icons.check,class:"ck-button-save",type:"submit",withText:!0,isEnabled:this.imageURLInputValue}),o.set({label:i("Cancel"),icon:e.icons.cancel,class:"ck-button-cancel",withText:!0}),n.bind("isEnabled").to(this,"imageURLInputValue",(e=>!!e)),n.delegate("execute").to(this,"submit"),o.delegate("execute").to(this,"cancel"),{insertButtonView:n,cancelButtonView:o}}focus(){this._focusCycler.focusFirst()}}function ye(e){const t=e.t,i=new k.LabeledFieldView(e,k.createLabeledInputText);return i.set({label:t("Insert image via URL")}),i.fieldView.placeholder="https://example.com/image.png",i}class _e extends e.Plugin{static get pluginName(){return"ImageInsertUI"}init(){const e=this.editor,t=e=>this._createDropdownView(e);e.ui.componentFactory.add("insertImage",t),e.ui.componentFactory.add("imageInsert",t)}_createDropdownView(e){const t=this.editor,i=new ve(e,function(e){const t=e.config.get("image.insert.integrations"),i=e.plugins.get("ImageInsertUI"),n={insertImageViaUrl:ye(e.locale)};if(!t)return n;if(t.find((e=>"openCKFinder"===e))&&e.ui.componentFactory.has("ckfinder")){const t=e.ui.componentFactory.create("ckfinder");t.set({withText:!0,class:"ck-image-insert__ck-finder-button"}),t.delegate("execute").to(i,"cancel"),n.openCKFinder=t}return t.reduce(((t,i)=>(n[i]?t[i]=n[i]:e.ui.componentFactory.has(i)&&(t[i]=e.ui.componentFactory.create(i)),t)),{})}(t)),n=t.commands.get("uploadImage"),o=i.dropdownView,a=o.buttonView;return a.actionView=t.ui.componentFactory.create("uploadImage"),a.actionView.extendTemplate({attributes:{class:"ck ck-button ck-splitbutton__action"}}),this._setUpDropdown(o,i,n)}_setUpDropdown(e,t,i){const n=this.editor,o=n.t,a=t.insertButtonView,s=t.getIntegration("insertImageViaUrl"),r=e.panelView,l=this.editor.plugins.get("ImageUtils");function c(){n.editing.view.focus(),e.isOpen=!1}return e.bind("isEnabled").to(i),e.buttonView.once("open",(()=>{r.children.add(t)})),e.on("change:isOpen",(()=>{const i=n.model.document.selection.getSelectedElement();e.isOpen&&(t.focus(),l.isImage(i)?(t.imageURLInputValue=i.getAttribute("src"),a.label=o("Update"),s.label=o("Update image URL")):(t.imageURLInputValue="",a.label=o("Insert"),s.label=o("Insert image via URL")))}),{priority:"low"}),t.delegate("submit","cancel").to(e),this.delegate("cancel").to(e),e.on("submit",(()=>{c(),function(){const e=n.model.document.selection.getSelectedElement();l.isImage(e)?n.model.change((i=>{i.setAttribute("src",t.imageURLInputValue,e),i.removeAttribute("srcset",e),i.removeAttribute("sizes",e)})):n.execute("insertImage",{source:t.imageURLInputValue})}()})),e.on("cancel",(()=>{c()})),e}}class Ee extends e.Plugin{static get pluginName(){return"ImageInsert"}static get requires(){return[he,_e]}}class xe extends e.Command{refresh(){const e=this.editor,t=e.plugins.get("ImageUtils").getClosestSelectedImageElement(e.model.document.selection);this.isEnabled=!!t,t&&t.hasAttribute("width")?this.value={width:t.getAttribute("width"),height:null}:this.value=null}execute(e){const t=this.editor,i=t.model,n=t.plugins.get("ImageUtils").getClosestSelectedImageElement(i.document.selection);this.value={width:e.width,height:null},n&&i.change((t=>{t.setAttribute("width",e.width,n)}))}}class Ce extends e.Plugin{static get requires(){return[m]}static get pluginName(){return"ImageResizeEditing"}constructor(e){super(e),e.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 e=this.editor,t=new xe(e);this._registerSchema(),this._registerConverters("imageBlock"),this._registerConverters("imageInline"),e.commands.add("resizeImage",t),e.commands.add("imageResize",t)}_registerSchema(){this.editor.plugins.has("ImageBlockEditing")&&this.editor.model.schema.extend("imageBlock",{allowAttributes:"width"}),this.editor.plugins.has("ImageInlineEditing")&&this.editor.model.schema.extend("imageInline",{allowAttributes:"width"})}_registerConverters(e){const t=this.editor;t.conversion.for("downcast").add((t=>t.on(`attribute:width:${e}`,((e,t,i)=>{if(!i.consumable.consume(t.item,e.name))return;const n=i.writer,o=i.mapper.toViewElement(t.item);null!==t.attributeNewValue?(n.setStyle("width",t.attributeNewValue,o),n.addClass("image_resized",o)):(n.removeStyle("width",o),n.removeClass("image_resized",o))})))),t.conversion.for("upcast").attributeToAttribute({view:{name:"imageBlock"===e?"figure":"img",styles:{width:/.+/}},model:{key:"width",value:e=>e.getStyle("width")}})}}const Se={small:e.icons.objectSizeSmall,medium:e.icons.objectSizeMedium,large:e.icons.objectSizeLarge,original:e.icons.objectSizeFull};class Te extends e.Plugin{static get requires(){return[Ce]}static get pluginName(){return"ImageResizeButtons"}constructor(e){super(e),this._resizeUnit=e.config.get("image.resizeUnit")}init(){const e=this.editor,t=e.config.get("image.resizeOptions"),i=e.commands.get("resizeImage");this.bind("isEnabled").to(i);for(const e of t)this._registerImageResizeButton(e);this._registerImageResizeDropdown(t)}_registerImageResizeButton(e){const t=this.editor,{name:i,value:n,icon:o}=e,a=n?n+this._resizeUnit:null;t.ui.componentFactory.add(i,(i=>{const n=new k.ButtonView(i),s=t.commands.get("resizeImage"),l=this._getOptionLabelValue(e,!0);if(!Se[o])throw new r.CKEditorError("imageresizebuttons-missing-icon",t,e);return n.set({label:l,icon:Se[o],tooltip:l,isToggleable:!0}),n.bind("isEnabled").to(this),n.bind("isOn").to(s,"value",Ae(a)),this.listenTo(n,"execute",(()=>{t.execute("resizeImage",{width:a})})),n}))}_registerImageResizeDropdown(e){const t=this.editor,i=t.t,n=e.find((e=>!e.value)),o=o=>{const a=t.commands.get("resizeImage"),s=(0,k.createDropdown)(o,k.DropdownButtonView),r=s.buttonView;return r.set({tooltip:i("Resize image"),commandValue:n.value,icon:Se.medium,isToggleable:!0,label:this._getOptionLabelValue(n),withText:!0,class:"ck-resize-image-button"}),r.bind("label").to(a,"value",(e=>e&&e.width?e.width:this._getOptionLabelValue(n))),s.bind("isOn").to(a),s.bind("isEnabled").to(this),(0,k.addListToDropdown)(s,this._getResizeDropdownListItemDefinitions(e,a)),s.listView.ariaLabel=i("Image resize list"),this.listenTo(s,"execute",(e=>{t.execute(e.source.commandName,{width:e.source.commandValue}),t.editing.view.focus()})),s};t.ui.componentFactory.add("resizeImage",o),t.ui.componentFactory.add("imageResize",o)}_getOptionLabelValue(e,t){const i=this.editor.t;return e.label?e.label:t?e.value?i("Resize image to %0",e.value+this._resizeUnit):i("Resize image to the original size"):e.value?e.value+this._resizeUnit:i("Original")}_getResizeDropdownListItemDefinitions(e,t){const i=new r.Collection;return e.map((e=>{const n=e.value?e.value+this._resizeUnit:null,o={type:"button",model:new k.Model({commandName:"resizeImage",commandValue:n,label:this._getOptionLabelValue(e),withText:!0,icon:null})};o.model.bind("isOn").to(t,"value",Ae(n)),i.add(o)})),i}}function Ae(e){return t=>null===e&&t===e||t&&t.width===e}const Be=/(image|image-inline)/,Ve="image_resized";class Ue extends e.Plugin{static get requires(){return[l.WidgetResize]}static get pluginName(){return"ImageResizeHandles"}init(){const e=this.editor.commands.get("resizeImage");this.bind("isEnabled").to(e),this._setupResizerCreator()}_setupResizerCreator(){const e=this.editor,t=e.editing.view;t.addObserver(V),this.listenTo(t.document,"imageLoaded",((i,n)=>{if(!n.target.matches("figure.image.ck-widget > img,figure.image.ck-widget > picture > img,figure.image.ck-widget > a > img,figure.image.ck-widget > a > picture > img,span.image-inline.ck-widget > img,span.image-inline.ck-widget > picture > img"))return;const o=e.editing.view.domConverter,a=o.domToView(n.target).findAncestor({classes:Be});let s=this.editor.plugins.get(l.WidgetResize).getResizerByViewElement(a);if(s)return void s.redraw();const r=e.editing.mapper,c=r.toModelElement(a);s=e.plugins.get(l.WidgetResize).attachTo({unit:e.config.get("image.resizeUnit"),modelElement:c,viewElement:a,editor:e,getHandleHost:e=>e.querySelector("img"),getResizeHost:()=>o.viewToDom(r.toViewElement(c.parent)),isCentered(){const e=c.getAttribute("imageStyle");return!e||"block"==e||"alignCenter"==e},onCommit(i){t.change((e=>{e.removeClass(Ve,a)})),e.execute("resizeImage",{width:i})}}),s.on("updateSize",(()=>{a.hasClass(Ve)||t.change((e=>{e.addClass(Ve,a)}))})),s.bind("isEnabled").to(this)}))}}var Re=i(601),ze={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};I()(Re.Z,ze);Re.Z.locals;class Pe extends e.Plugin{static get requires(){return[Ce,Ue,Te]}static get pluginName(){return"ImageResize"}}class Oe extends e.Command{constructor(e,t){super(e),this._defaultStyles={imageBlock:!1,imageInline:!1},this._styles=new Map(t.map((e=>{if(e.isDefault)for(const t of e.modelElements)this._defaultStyles[t]=e.name;return[e.name,e]})))}refresh(){const e=this.editor.plugins.get("ImageUtils").getClosestSelectedImageElement(this.editor.model.document.selection);this.isEnabled=!!e,this.isEnabled?e.hasAttribute("imageStyle")?this.value=e.getAttribute("imageStyle"):this.value=this._defaultStyles[e.name]:this.value=!1}execute(e={}){const t=this.editor,i=t.model,n=t.plugins.get("ImageUtils");i.change((t=>{const o=e.value;let a=n.getClosestSelectedImageElement(i.document.selection);o&&this.shouldConvertImageType(o,a)&&(this.editor.execute(n.isBlockImage(a)?"imageTypeInline":"imageTypeBlock"),a=n.getClosestSelectedImageElement(i.document.selection)),!o||this._styles.get(o).isDefault?t.removeAttribute("imageStyle",a):t.setAttribute("imageStyle",o,a)}))}shouldConvertImageType(e,t){return!this._styles.get(e).modelElements.includes(t.name)}}const{objectFullWidth:Ne,objectInline:Fe,objectLeft:Le,objectRight:De,objectCenter:je,objectBlockLeft:We,objectBlockRight:Me}=e.icons,qe={get inline(){return{name:"inline",title:"In line",icon:Fe,modelElements:["imageInline"],isDefault:!0}},get alignLeft(){return{name:"alignLeft",title:"Left aligned image",icon:Le,modelElements:["imageBlock","imageInline"],className:"image-style-align-left"}},get alignBlockLeft(){return{name:"alignBlockLeft",title:"Left aligned image",icon:We,modelElements:["imageBlock"],className:"image-style-block-align-left"}},get alignCenter(){return{name:"alignCenter",title:"Centered image",icon:je,modelElements:["imageBlock"],className:"image-style-align-center"}},get alignRight(){return{name:"alignRight",title:"Right aligned image",icon:De,modelElements:["imageBlock","imageInline"],className:"image-style-align-right"}},get alignBlockRight(){return{name:"alignBlockRight",title:"Right aligned image",icon:Me,modelElements:["imageBlock"],className:"image-style-block-align-right"}},get block(){return{name:"block",title:"Centered image",icon:je,modelElements:["imageBlock"],isDefault:!0}},get side(){return{name:"side",title:"Side image",icon:De,modelElements:["imageBlock"],className:"image-style-side"}}},Ze={full:Ne,left:We,right:Me,center:je,inlineLeft:Le,inlineRight:De,inline:Fe},$e=[{name:"imageStyle:wrapText",title:"Wrap text",defaultItem:"imageStyle:alignLeft",items:["imageStyle:alignLeft","imageStyle:alignRight"]},{name:"imageStyle:breakText",title:"Break text",defaultItem:"imageStyle:block",items:["imageStyle:alignBlockLeft","imageStyle:block","imageStyle:alignBlockRight"]}];function He(e){(0,r.logWarning)("image-style-configuration-definition-invalid",e)}const Ke={normalizeStyles:function(e){return(e.configuredStyles.options||[]).map((e=>function(e){e="string"==typeof e?qe[e]?{...qe[e]}:{name:e}:function(e,t){const i={...t};for(const n in e)Object.prototype.hasOwnProperty.call(t,n)||(i[n]=e[n]);return i}(qe[e.name],e);"string"==typeof e.icon&&(e.icon=Ze[e.icon]||e.icon);return e}(e))).filter((t=>function(e,{isBlockPluginLoaded:t,isInlinePluginLoaded:i}){const{modelElements:n,name:o}=e;if(!(n&&n.length&&o))return He({style:e}),!1;{const o=[t?"imageBlock":null,i?"imageInline":null];if(!n.some((e=>o.includes(e))))return(0,r.logWarning)("image-style-missing-dependency",{style:e,missingPlugins:n.map((e=>"imageBlock"===e?"ImageBlockEditing":"ImageInlineEditing"))}),!1}return!0}(t,e)))},getDefaultStylesConfiguration:function(e,t){return e&&t?{options:["inline","alignLeft","alignRight","alignCenter","alignBlockLeft","alignBlockRight","block","side"]}:e?{options:["block","side"]}:t?{options:["inline","alignLeft","alignRight"]}:{}},getDefaultDropdownDefinitions:function(e){return e.has("ImageBlockEditing")&&e.has("ImageInlineEditing")?[...$e]:[]},warnInvalidStyle:He,DEFAULT_OPTIONS:qe,DEFAULT_ICONS:Ze,DEFAULT_DROPDOWN_DEFINITIONS:$e};function Ge(e,t){for(const i of t)if(i.name===e)return i}class Je extends e.Plugin{static get pluginName(){return"ImageStyleEditing"}static get requires(){return[m]}init(){const{normalizeStyles:e,getDefaultStylesConfiguration:t}=Ke,i=this.editor,n=i.plugins.has("ImageBlockEditing"),o=i.plugins.has("ImageInlineEditing");i.config.define("image.styles",t(n,o)),this.normalizedStyles=e({configuredStyles:i.config.get("image.styles"),isBlockPluginLoaded:n,isInlinePluginLoaded:o}),this._setupConversion(n,o),this._setupPostFixer(),i.commands.add("imageStyle",new Oe(i,this.normalizedStyles))}_setupConversion(e,t){const i=this.editor,n=i.model.schema,o=(a=this.normalizedStyles,(e,t,i)=>{if(!i.consumable.consume(t.item,e.name))return;const n=Ge(t.attributeNewValue,a),o=Ge(t.attributeOldValue,a),s=i.mapper.toViewElement(t.item),r=i.writer;o&&r.removeClass(o.className,s),n&&r.addClass(n.className,s)});var a;const s=function(e){const t={imageInline:e.filter((e=>!e.isDefault&&e.modelElements.includes("imageInline"))),imageBlock:e.filter((e=>!e.isDefault&&e.modelElements.includes("imageBlock")))};return(e,i,n)=>{if(!i.modelRange)return;const o=i.viewItem,a=(0,r.first)(i.modelRange.getItems());if(a&&n.schema.checkAttribute(a,"imageStyle"))for(const e of t[a.name])n.consumable.consume(o,{classes:e.className})&&n.writer.setAttribute("imageStyle",e.name,a)}}(this.normalizedStyles);i.editing.downcastDispatcher.on("attribute:imageStyle",o),i.data.downcastDispatcher.on("attribute:imageStyle",o),e&&(n.extend("imageBlock",{allowAttributes:"imageStyle"}),i.data.upcastDispatcher.on("element:figure",s,{priority:"low"})),t&&(n.extend("imageInline",{allowAttributes:"imageStyle"}),i.data.upcastDispatcher.on("element:img",s,{priority:"low"}))}_setupPostFixer(){const e=this.editor,t=e.model.document,i=e.plugins.get(m),n=new Map(this.normalizedStyles.map((e=>[e.name,e])));t.registerPostFixer((e=>{let o=!1;for(const a of t.differ.getChanges())if("insert"==a.type||"attribute"==a.type&&"imageStyle"==a.attributeKey){let t="insert"==a.type?a.position.nodeAfter:a.range.start.nodeAfter;if(t&&t.is("element","paragraph")&&t.childCount>0&&(t=t.getChild(0)),!i.isImage(t))continue;const s=t.getAttribute("imageStyle");if(!s)continue;const r=n.get(s);r&&r.modelElements.includes(t.name)||(e.removeAttribute("imageStyle",t),o=!0)}return o}))}}const Qe=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)};const Xe=function(e){return e};var Ye=i(29),et={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};I()(Ye.Z,et);Ye.Z.locals;class tt extends e.Plugin{static get requires(){return[Je]}static get pluginName(){return"ImageStyleUI"}get localizedDefaultStylesTitles(){const e=this.editor.t;return{"Wrap text":e("Wrap text"),"Break text":e("Break text"),"In line":e("In line"),"Full size image":e("Full size image"),"Side image":e("Side image"),"Left aligned image":e("Left aligned image"),"Centered image":e("Centered image"),"Right aligned image":e("Right aligned image")}}init(){const e=this.editor.plugins,t=this.editor.config.get("image.toolbar")||[],i=it(e.get("ImageStyleEditing").normalizedStyles,this.localizedDefaultStylesTitles);for(const e of i)this._createButton(e);const n=it([...t.filter(Qe),...Ke.getDefaultDropdownDefinitions(e)],this.localizedDefaultStylesTitles);for(const e of n)this._createDropdown(e,i)}_createDropdown(e,t){const i=this.editor.ui.componentFactory;i.add(e.name,(n=>{let o;const{defaultItem:a,items:s,title:r}=e,l=s.filter((e=>t.find((({name:t})=>nt(t)===e)))).map((e=>{const t=i.create(e);return e===a&&(o=t),t}));s.length!==l.length&&Ke.warnInvalidStyle({dropdown:e});const c=(0,k.createDropdown)(n,k.SplitButtonView),g=c.buttonView;return(0,k.addToolbarToDropdown)(c,l),g.set({label:ot(r,o.label),class:null,tooltip:!0}),g.bind("icon").toMany(l,"isOn",((...e)=>{const t=e.findIndex(Xe);return t<0?o.icon:l[t].icon})),g.bind("label").toMany(l,"isOn",((...e)=>{const t=e.findIndex(Xe);return ot(r,t<0?o.label:l[t].label)})),g.bind("isOn").toMany(l,"isOn",((...e)=>e.some(Xe))),g.bind("class").toMany(l,"isOn",((...e)=>e.some(Xe)?"ck-splitbutton_flatten":null)),g.on("execute",(()=>{l.some((({isOn:e})=>e))?c.isOpen=!c.isOpen:o.fire("execute")})),c.bind("isEnabled").toMany(l,"isEnabled",((...e)=>e.some(Xe))),c}))}_createButton(e){const t=e.name;this.editor.ui.componentFactory.add(nt(t),(i=>{const n=this.editor.commands.get("imageStyle"),o=new k.ButtonView(i);return o.set({label:e.title,icon:e.icon,tooltip:!0,isToggleable:!0}),o.bind("isEnabled").to(n,"isEnabled"),o.bind("isOn").to(n,"value",(e=>e===t)),o.on("execute",this._executeCommand.bind(this,t)),o}))}_executeCommand(e){this.editor.execute("imageStyle",{value:e}),this.editor.editing.view.focus()}}function it(e,t){for(const i of e)t[i.title]&&(i.title=t[i.title]);return e}function nt(e){return`imageStyle:${e}`}function ot(e,t){return(e?e+": ":"")+t}class at extends e.Plugin{static get requires(){return[Je,tt]}static get pluginName(){return"ImageStyle"}}class st extends e.Plugin{static get requires(){return[l.WidgetToolbarRepository,m]}static get pluginName(){return"ImageToolbar"}afterInit(){const e=this.editor,t=e.t,i=e.plugins.get(l.WidgetToolbarRepository),n=e.plugins.get("ImageUtils");var o;i.register("image",{ariaLabel:t("Image toolbar"),items:(o=e.config.get("image.toolbar")||[],o.map((e=>Qe(e)?e.name:e))),getRelatedElement:e=>n.getClosestSelectedImageWidget(e)})}}class rt extends e.Plugin{static get requires(){return[R,m]}static get pluginName(){return"PictureEditing"}afterInit(){const e=this.editor;e.plugins.has("ImageBlockEditing")&&e.model.schema.extend("imageBlock",{allowAttributes:["sources"]}),e.plugins.has("ImageInlineEditing")&&e.model.schema.extend("imageInline",{allowAttributes:["sources"]}),this._setupConversion(),this._setupImageUploadEditingIntegration()}_setupConversion(){const e=this.editor,t=e.conversion,i=e.plugins.get("ImageUtils");t.for("upcast").add(function(e){const t=["srcset","media","type","sizes"];return e=>{e.on("element:picture",i)};function i(i,n,o){const a=n.viewItem;if(!o.consumable.test(a,{name:!0}))return;const s=new Map;for(const e of a.getChildren())if(e.is("element","source")){const i={};for(const n of t)e.hasAttribute(n)&&o.consumable.test(e,{attributes:n})&&(i[n]=e.getAttribute(n));Object.keys(i).length&&s.set(e,i)}const l=e.findViewImgElement(a);if(!l)return;let c=n.modelCursor.parent;if(!c.is("element","imageBlock")){const e=o.convertItem(l,n.modelCursor);n.modelRange=e.modelRange,n.modelCursor=e.modelCursor,c=(0,r.first)(e.modelRange.getItems())}o.consumable.consume(a,{name:!0});for(const[e,t]of s)o.consumable.consume(e,{attributes:Object.keys(t)});s.size&&o.writer.setAttribute("sources",Array.from(s.values()),c),o.convertChildren(a,c)}}(i)),t.for("downcast").add(function(e){return e=>{e.on("attribute:sources:imageBlock",t),e.on("attribute:sources:imageInline",t)};function t(t,i,n){if(!n.consumable.consume(i.item,t.name))return;const o=n.writer,a=n.mapper.toViewElement(i.item),s=e.findViewImgElement(a);if(i.attributeNewValue&&i.attributeNewValue.length){const e=o.createContainerElement("picture",null,i.attributeNewValue.map((e=>o.createEmptyElement("source",e)))),t=[];let n=s.parent;for(;n&&n.is("attributeElement");){const e=n.parent;o.unwrap(o.createRangeOn(s),n),t.unshift(n),n=e}o.insert(o.createPositionBefore(s),e),o.move(o.createRangeOn(s),o.createPositionAt(e,"end"));for(const i of t)o.wrap(o.createRangeOn(e),i)}else if(s.parent.is("element","picture")){const e=s.parent;o.move(o.createRangeOn(s),o.createPositionBefore(e)),o.remove(e)}}}(i))}_setupImageUploadEditingIntegration(){const e=this.editor;e.plugins.has("ImageUploadEditing")&&this.listenTo(e.plugins.get("ImageUploadEditing"),"uploadComplete",((t,{imageElement:i,data:n})=>{const o=n.sources;o&&e.model.change((e=>{e.setAttributes({sources:o},i)}))}))}}})(),(window.CKEditor5=window.CKEditor5||{}).image=n})(); \ No newline at end of file + */(()=>{var e={540:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(609),o=i.n(n)()((function(e){return e[1]}));o.push([e.id,".ck-content .image{clear:both;display:table;margin:.9em auto;min-width:50px;text-align:center}.ck-content .image img{display:block;margin:0 auto;max-width:100%;min-width:100%}.ck-content .image-inline{align-items:flex-start;display:inline-flex;max-width:100%}.ck-content .image-inline picture{display:flex}.ck-content .image-inline img,.ck-content .image-inline picture{flex-grow:1;flex-shrink:1;max-width:100%}.ck.ck-editor__editable .image>figcaption.ck-placeholder:before{overflow:hidden;padding-left:inherit;padding-right:inherit;text-overflow:ellipsis;white-space:nowrap}.ck.ck-editor__editable .image-inline.ck-widget_selected,.ck.ck-editor__editable .image.ck-widget_selected{z-index:1}.ck.ck-editor__editable .image-inline.ck-widget_selected ::selection{display:none}.ck.ck-editor__editable td .image-inline img,.ck.ck-editor__editable th .image-inline img{max-width:none}",""]);const a=o},560:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(609),o=i.n(n)()((function(e){return e[1]}));o.push([e.id,":root{--ck-color-image-caption-background:#f7f7f7;--ck-color-image-caption-text:#333;--ck-color-image-caption-highligted-background:#fd0}.ck-content .image>figcaption{background-color:var(--ck-color-image-caption-background);caption-side:bottom;color:var(--ck-color-image-caption-text);display:table-caption;font-size:.75em;outline-offset:-1px;padding:.6em;word-break:break-word}.ck.ck-editor__editable .image>figcaption.image__caption_highlighted{animation:ck-image-caption-highlight .6s ease-out}@keyframes ck-image-caption-highlight{0%{background-color:var(--ck-color-image-caption-highligted-background)}to{background-color:var(--ck-color-image-caption-background)}}",""]);const a=o},91:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(609),o=i.n(n)()((function(e){return e[1]}));o.push([e.id,".ck.ck-image-insert__panel{padding:var(--ck-spacing-large)}.ck.ck-image-insert__ck-finder-button{border:1px solid #ccc;border-radius:var(--ck-border-radius);display:block;margin:var(--ck-spacing-standard) auto;width:100%}.ck.ck-splitbutton>.ck-file-dialog-button.ck-button{border:none;margin:0;padding:0}",""]);const a=o},439:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(609),o=i.n(n)()((function(e){return e[1]}));o.push([e.id,".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)}",""]);const a=o},601:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(609),o=i.n(n)()((function(e){return e[1]}));o.push([e.id,".ck-content .image.image_resized{box-sizing:border-box;display:block;max-width:100%}.ck-content .image.image_resized img{width:100%}.ck-content .image.image_resized>figcaption{display:block}.ck.ck-editor__editable td .image-inline.image_resized img,.ck.ck-editor__editable th .image-inline.image_resized img{max-width:100%}[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}",""]);const a=o},29:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(609),o=i.n(n)()((function(e){return e[1]}));o.push([e.id,":root{--ck-image-style-spacing:1.5em;--ck-inline-image-style-spacing:calc(var(--ck-image-style-spacing)/2)}.ck-content .image-style-block-align-left,.ck-content .image-style-block-align-right{max-width:calc(100% - var(--ck-image-style-spacing))}.ck-content .image-style-align-left,.ck-content .image-style-align-right{clear:none}.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)}.ck-content .image-style-block-align-right{margin-left:auto;margin-right:0}.ck-content .image-style-block-align-left{margin-left:0;margin-right:auto}.ck-content p+.image-style-align-left,.ck-content p+.image-style-align-right,.ck-content p+.image-style-side{margin-top:0}.ck-content .image-inline.image-style-align-left,.ck-content .image-inline.image-style-align-right{margin-bottom:var(--ck-inline-image-style-spacing);margin-top:var(--ck-inline-image-style-spacing)}.ck-content .image-inline.image-style-align-left{margin-right:var(--ck-inline-image-style-spacing)}.ck-content .image-inline.image-style-align-right{margin-left:var(--ck-inline-image-style-spacing)}.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__action:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover),.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__action:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__arrow:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover){background-color:var(--ck-color-button-on-background)}.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__action:not(.ck-disabled):after,.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):after,.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover):after,.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__action:not(.ck-disabled):after,.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__arrow:not(.ck-disabled):after,.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover):after{display:none}.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open:hover>.ck-splitbutton__action:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open:hover>.ck-splitbutton__arrow:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open:hover>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover){background-color:var(--ck-color-button-on-hover-background)}",""]);const a=o},948:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(609),o=i.n(n)()((function(e){return e[1]}));o.push([e.id,'.ck-image-upload-complete-icon{border-radius:50%;display:block;position:absolute;right:min(var(--ck-spacing-medium),6%);top:min(var(--ck-spacing-medium),6%);z-index:1}.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:20;--ck-image-upload-icon-width:2px;--ck-image-upload-icon-is-visible:clamp(0px,100% - 50px,1px)}.ck-image-upload-complete-icon{animation-delay:0ms,3s;animation-duration:.5s,.5s;animation-fill-mode:forwards,forwards;animation-name:ck-upload-complete-icon-show,ck-upload-complete-icon-hide;background:var(--ck-color-image-upload-icon-background);font-size:calc(1px*var(--ck-image-upload-icon-size));height:calc(var(--ck-image-upload-icon-is-visible)*var(--ck-image-upload-icon-size));opacity:0;overflow:hidden;width:calc(var(--ck-image-upload-icon-is-visible)*var(--ck-image-upload-icon-size))}.ck-image-upload-complete-icon:after{animation-delay:.5s;animation-duration:.5s;animation-fill-mode:forwards;animation-name:ck-upload-complete-icon-check;border-right:var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);border-top:var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);box-sizing:border-box;height:0;left:25%;opacity:0;top:50%;transform:scaleX(-1) rotate(135deg);transform-origin:left top;width:0}@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%{height:0;opacity:1;width:0}33%{height:0;width:.3em}to{height:.45em;opacity:1;width:.3em}}',""]);const a=o},467:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(609),o=i.n(n)()((function(e){return e[1]}));o.push([e.id,'.ck .ck-upload-placeholder-loader{align-items:center;display:flex;justify-content:center;left:0;position:absolute;top:0}.ck .ck-upload-placeholder-loader:before{content:"";position:relative}:root{--ck-color-upload-placeholder-loader:#b3b3b3;--ck-upload-placeholder-loader-size:32px;--ck-upload-placeholder-image-aspect-ratio:2.8}.ck .ck-image-upload-placeholder{margin:0;width:100%}.ck .ck-image-upload-placeholder.image-inline{width:calc(var(--ck-upload-placeholder-loader-size)*2*var(--ck-upload-placeholder-image-aspect-ratio))}.ck .ck-image-upload-placeholder img{aspect-ratio:var(--ck-upload-placeholder-image-aspect-ratio)}.ck .ck-upload-placeholder-loader{height:100%;width:100%}.ck .ck-upload-placeholder-loader:before{animation:ck-upload-placeholder-loader 1s linear infinite;border-radius:50%;border-right:2px solid transparent;border-top:3px solid var(--ck-color-upload-placeholder-loader);height:var(--ck-upload-placeholder-loader-size);width:var(--ck-upload-placeholder-loader-size)}@keyframes ck-upload-placeholder-loader{to{transform:rotate(1turn)}}',""]);const a=o},271:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(609),o=i.n(n)()((function(e){return e[1]}));o.push([e.id,".ck.ck-editor__editable .image,.ck.ck-editor__editable .image-inline{position:relative}.ck.ck-editor__editable .image .ck-progress-bar,.ck.ck-editor__editable .image-inline .ck-progress-bar{left:0;position:absolute;top:0}.ck.ck-editor__editable .image-inline.ck-appear,.ck.ck-editor__editable .image.ck-appear{animation:fadeIn .7s}.ck.ck-editor__editable .image .ck-progress-bar,.ck.ck-editor__editable .image-inline .ck-progress-bar{background:var(--ck-color-upload-bar-background);height:2px;transition:width .1s;width:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}",""]);const a=o},168:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(609),o=i.n(n)()((function(e){return e[1]}));o.push([e.id,".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%}}",""]);const a=o},764:(e,t,i)=>{"use strict";i.d(t,{Z:()=>a});var n=i(609),o=i.n(n)()((function(e){return e[1]}));o.push([e.id,'.ck-vertical-form .ck-button:after{bottom:-1px;content:"";position:absolute;right:-1px;top:-1px;width:0;z-index:1}.ck-vertical-form .ck-button:focus:after{display:none}@media screen and (max-width:600px){.ck.ck-responsive-form .ck-button:after{bottom:-1px;content:"";position:absolute;right:-1px;top:-1px;width:0;z-index:1}.ck.ck-responsive-form .ck-button:focus:after{display:none}}.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-width)*.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:nth-last-child(2):after{border-right:1px solid var(--ck-color-base-border)}.ck.ck-responsive-form>.ck-button:last-child,.ck.ck-responsive-form>.ck-button:nth-last-child(2){border-radius:0;margin-top:var(--ck-spacing-large);padding:var(--ck-spacing-standard)}.ck.ck-responsive-form>.ck-button:last-child:not(:focus),.ck.ck-responsive-form>.ck-button:nth-last-child(2):not(:focus){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}[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)}}',""]);const a=o},609:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var i=e(t);return t[2]?"@media ".concat(t[2]," {").concat(i,"}"):i})).join("")},t.i=function(e,i,n){"string"==typeof e&&(e=[[null,e,""]]);var o={};if(n)for(var a=0;a{"use strict";var n,o=function(){return void 0===n&&(n=Boolean(window&&document&&document.all&&!window.atob)),n},a=function(){var e={};return function(t){if(void 0===e[t]){var i=document.querySelector(t);if(window.HTMLIFrameElement&&i instanceof window.HTMLIFrameElement)try{i=i.contentDocument.head}catch(e){i=null}e[t]=i}return e[t]}}(),s=[];function r(e){for(var t=-1,i=0;i{e.exports=i(79)("./src/clipboard.js")},704:(e,t,i)=>{e.exports=i(79)("./src/core.js")},492:(e,t,i)=>{e.exports=i(79)("./src/engine.js")},181:(e,t,i)=>{e.exports=i(79)("./src/typing.js")},273:(e,t,i)=>{e.exports=i(79)("./src/ui.js")},254:(e,t,i)=>{e.exports=i(79)("./src/undo.js")},448:(e,t,i)=>{e.exports=i(79)("./src/upload.js")},209:(e,t,i)=>{e.exports=i(79)("./src/utils.js")},995:(e,t,i)=>{e.exports=i(79)("./src/widget.js")},79:e=>{"use strict";e.exports=CKEditor5.dll}},t={};function i(n){var o=t[n];if(void 0!==o)return o.exports;var a=t[n]={id:n,exports:{}};return e[n](a,a.exports,i),a.exports}i.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t},i.d=(e,t)=>{for(var n in t)i.o(t,n)&&!i.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.nc=void 0;var n={};(()=>{"use strict";i.r(n),i.d(n,{AutoImage:()=>h,Image:()=>j,ImageCaption:()=>K,ImageCaptionEditing:()=>q,ImageCaptionUtils:()=>M,ImageEditing:()=>R,ImageInsert:()=>xe,ImageInsertUI:()=>_e,ImageResize:()=>Oe,ImageResizeButtons:()=>Te,ImageResizeEditing:()=>Se,ImageResizeHandles:()=>Re,ImageStyle:()=>st,ImageStyleEditing:()=>Qe,ImageStyleUI:()=>it,ImageTextAlternative:()=>A,ImageTextAlternativeEditing:()=>b,ImageTextAlternativeUI:()=>S,ImageToolbar:()=>rt,ImageUpload:()=>he,ImageUploadEditing:()=>ue,ImageUploadProgress:()=>se,ImageUploadUI:()=>Y,PictureEditing:()=>lt});var e=i(704),t=i(945),o=i(492),a=i(254),s=i(181),r=i(209),l=i(995);function c(e){return e.createContainerElement("figure",{class:"image"},[e.createEmptyElement("img"),e.createSlot()])}function g(e,t){const i=e.plugins.get("ImageUtils"),n=e.plugins.has("ImageInlineEditing")&&e.plugins.has("ImageBlockEditing");return e=>{if(!i.isInlineImageView(e))return null;if(!n)return o(e);return(e.findAncestor(i.isBlockImageView)?"imageBlock":"imageInline")!==t?null:o(e)};function o(e){const t={name:!0};return e.hasAttribute("src")&&(t.attributes=["src"]),t}}function d(e,t){const i=(0,r.first)(t.getSelectedBlocks());return!i||e.isObject(i)||i.isEmpty&&"listItem"!=i.name?"imageBlock":"imageInline"}class m extends e.Plugin{static get pluginName(){return"ImageUtils"}isImage(e){return this.isInlineImage(e)||this.isBlockImage(e)}isInlineImageView(e){return!!e&&e.is("element","img")}isBlockImageView(e){return!!e&&e.is("element","figure")&&e.hasClass("image")}insertImage(e={},t=null,i=null){const n=this.editor,o=n.model,a=o.document.selection;i=u(n,t||a,i),e={...Object.fromEntries(a.getAttributes()),...e};for(const t in e)o.schema.checkAttribute(i,t)||delete e[t];return o.change((n=>{const a=n.createElement(i,e);return o.insertObject(a,t,null,{setSelection:"on",findOptimalPosition:!t&&"imageInline"!=i}),a.parent?a:null}))}getClosestSelectedImageWidget(e){const t=e.getFirstPosition();if(!t)return null;const i=e.getSelectedElement();if(i&&this.isImageWidget(i))return i;let n=t.parent;for(;n;){if(n.is("element")&&this.isImageWidget(n))return n;n=n.parent}return null}getClosestSelectedImageElement(e){const t=e.getSelectedElement();return this.isImage(t)?t:e.getFirstPosition().findAncestor("imageBlock")}isImageAllowed(){const e=this.editor.model.document.selection;return function(e,t){if("imageBlock"==u(e,t)){const i=function(e,t){const i=(0,l.findOptimalInsertionRange)(e,t).start.parent;if(i.isEmpty&&!i.is("element","$root"))return i.parent;return i}(t,e.model);if(e.model.schema.checkChild(i,"imageBlock"))return!0}else if(e.model.schema.checkChild(t.focus,"imageInline"))return!0;return!1}(this.editor,e)&&function(e){return[...e.focus.getAncestors()].every((e=>!e.is("element","imageBlock")))}(e)}toImageWidget(e,t,i){t.setCustomProperty("image",!0,e);return(0,l.toWidget)(e,t,{label:()=>{const t=this.findViewImgElement(e).getAttribute("alt");return t?`${t} ${i}`:i}})}isImageWidget(e){return!!e.getCustomProperty("image")&&(0,l.isWidget)(e)}isBlockImage(e){return!!e&&e.is("element","imageBlock")}isInlineImage(e){return!!e&&e.is("element","imageInline")}findViewImgElement(e){if(this.isInlineImageView(e))return e;const t=this.editor.editing.view;for(const{item:i}of t.createRangeIn(e))if(this.isInlineImageView(i))return i}}function u(e,t,i){const n=e.model.schema,o=e.config.get("image.insert.type");return e.plugins.has("ImageBlockEditing")?e.plugins.has("ImageInlineEditing")?i||("inline"===o?"imageInline":"block"===o?"imageBlock":t.is("selection")?d(n,t):n.checkChild(t,"imageInline")?"imageInline":"imageBlock"):"imageBlock":"imageInline"}const p=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 h extends e.Plugin{static get requires(){return[t.Clipboard,m,a.Undo,s.Delete]}static get pluginName(){return"AutoImage"}constructor(e){super(e),this._timeoutId=null,this._positionToInsert=null}init(){const e=this.editor,t=e.model.document;this.listenTo(e.plugins.get("ClipboardPipeline"),"inputTransformation",(()=>{const e=t.selection.getFirstRange(),i=o.LivePosition.fromPosition(e.start);i.stickiness="toPrevious";const n=o.LivePosition.fromPosition(e.end);n.stickiness="toNext",t.once("change:data",(()=>{this._embedImageBetweenPositions(i,n),i.detach(),n.detach()}),{priority:"high"})})),e.commands.get("undo").on("execute",(()=>{this._timeoutId&&(r.global.window.clearTimeout(this._timeoutId),this._positionToInsert.detach(),this._timeoutId=null,this._positionToInsert=null)}),{priority:"high"})}_embedImageBetweenPositions(e,t){const i=this.editor,n=new o.LiveRange(e,t),a=n.getWalker({ignoreElementEnd:!0}),s=Object.fromEntries(i.model.document.selection.getAttributes()),l=this.editor.plugins.get("ImageUtils");let c="";for(const e of a)e.item.is("$textProxy")&&(c+=e.item.data);c=c.trim(),c.match(p)?(this._positionToInsert=o.LivePosition.fromPosition(e),this._timeoutId=r.global.window.setTimeout((()=>{i.commands.get("insertImage").isEnabled?(i.model.change((e=>{let t;this._timeoutId=null,e.remove(n),n.detach(),"$graveyard"!==this._positionToInsert.root.rootName&&(t=this._positionToInsert.toPosition()),l.insertImage({...s,src:c},t),this._positionToInsert.detach(),this._positionToInsert=null})),i.plugins.get("Delete").requestUndoOnBackspace()):n.detach()}),100)):n.detach()}}class f extends e.Command{refresh(){const e=this.editor.plugins.get("ImageUtils").getClosestSelectedImageElement(this.editor.model.document.selection);this.isEnabled=!!e,this.isEnabled&&e.hasAttribute("alt")?this.value=e.getAttribute("alt"):this.value=!1}execute(e){const t=this.editor,i=t.plugins.get("ImageUtils"),n=t.model,o=i.getClosestSelectedImageElement(n.document.selection);n.change((t=>{t.setAttribute("alt",e.newValue,o)}))}}class b extends e.Plugin{static get requires(){return[m]}static get pluginName(){return"ImageTextAlternativeEditing"}init(){this.editor.commands.add("imageTextAlternative",new f(this.editor))}}var k=i(273),w=i(62),I=i.n(w),v=i(168),y={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};I()(v.Z,y);v.Z.locals;var _=i(764),E={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};I()(_.Z,E);_.Z.locals;class x extends k.View{constructor(t){super(t);const i=this.locale.t;this.focusTracker=new r.FocusTracker,this.keystrokes=new r.KeystrokeHandler,this.labeledInput=this._createLabeledInputView(),this.saveButtonView=this._createButton(i("Save"),e.icons.check,"ck-button-save"),this.saveButtonView.type="submit",this.cancelButtonView=this._createButton(i("Cancel"),e.icons.cancel,"ck-button-cancel","cancel"),this._focusables=new k.ViewCollection,this._focusCycler=new k.FocusCycler({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]}),(0,k.injectCssTransitionDisabler)(this)}render(){super.render(),this.keystrokes.listenTo(this.element),(0,k.submitHandler)({view:this}),[this.labeledInput,this.saveButtonView,this.cancelButtonView].forEach((e=>{this._focusables.add(e),this.focusTracker.add(e.element)}))}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}_createButton(e,t,i,n){const o=new k.ButtonView(this.locale);return o.set({label:e,icon:t,tooltip:!0}),o.extendTemplate({attributes:{class:i}}),n&&o.delegate("execute").to(this,n),o}_createLabeledInputView(){const e=this.locale.t,t=new k.LabeledFieldView(this.locale,k.createLabeledInputText);return t.label=e("Text alternative"),t}}function C(e){const t=e.editing.view,i=k.BalloonPanelView.defaultPositions,n=e.plugins.get("ImageUtils");return{target:t.domConverter.mapViewToDom(n.getClosestSelectedImageWidget(t.document.selection)),positions:[i.northArrowSouth,i.northArrowSouthWest,i.northArrowSouthEast,i.southArrowNorth,i.southArrowNorthWest,i.southArrowNorthEast,i.viewportStickyNorth]}}class S extends e.Plugin{static get requires(){return[k.ContextualBalloon]}static get pluginName(){return"ImageTextAlternativeUI"}init(){this._createButton(),this._createForm()}destroy(){super.destroy(),this._form.destroy()}_createButton(){const t=this.editor,i=t.t;t.ui.componentFactory.add("imageTextAlternative",(n=>{const o=t.commands.get("imageTextAlternative"),a=new k.ButtonView(n);return a.set({label:i("Change image text alternative"),icon:e.icons.lowVision,tooltip:!0}),a.bind("isEnabled").to(o,"isEnabled"),this.listenTo(a,"execute",(()=>{this._showForm()})),a}))}_createForm(){const e=this.editor,t=e.editing.view.document,i=e.plugins.get("ImageUtils");this._balloon=this.editor.plugins.get("ContextualBalloon"),this._form=new x(e.locale),this._form.render(),this.listenTo(this._form,"submit",(()=>{e.execute("imageTextAlternative",{newValue:this._form.labeledInput.fieldView.element.value}),this._hideForm(!0)})),this.listenTo(this._form,"cancel",(()=>{this._hideForm(!0)})),this._form.keystrokes.set("Esc",((e,t)=>{this._hideForm(!0),t()})),this.listenTo(e.ui,"update",(()=>{i.getClosestSelectedImageWidget(t.selection)?this._isVisible&&function(e){const t=e.plugins.get("ContextualBalloon");if(e.plugins.get("ImageUtils").getClosestSelectedImageWidget(e.editing.view.document.selection)){const i=C(e);t.updatePosition(i)}}(e):this._hideForm(!0)})),(0,k.clickOutsideHandler)({emitter:this._form,activator:()=>this._isVisible,contextElements:[this._balloon.view.element],callback:()=>this._hideForm()})}_showForm(){if(this._isVisible)return;const e=this.editor,t=e.commands.get("imageTextAlternative"),i=this._form.labeledInput;this._form.disableCssTransitions(),this._isInBalloon||this._balloon.add({view:this._form,position:C(e)}),i.fieldView.value=i.fieldView.element.value=t.value||"",this._form.labeledInput.fieldView.select(),this._form.enableCssTransitions()}_hideForm(e){this._isInBalloon&&(this._form.focusTracker.isFocused&&this._form.saveButtonView.focus(),this._balloon.remove(this._form),e&&this.editor.editing.view.focus())}get _isVisible(){return this._balloon.visibleView===this._form}get _isInBalloon(){return this._balloon.hasView(this._form)}}class A extends e.Plugin{static get requires(){return[b,S]}static get pluginName(){return"ImageTextAlternative"}}function T(e,t){return e=>{e.on(`attribute:srcset:${t}`,i)};function i(t,i,n){if(!n.consumable.consume(i.item,t.name))return;const o=n.writer,a=n.mapper.toViewElement(i.item),s=e.findViewImgElement(a);if(null===i.attributeNewValue){const e=i.attributeOldValue;e.data&&(o.removeAttribute("srcset",s),o.removeAttribute("sizes",s),e.width&&o.removeAttribute("width",s))}else{const e=i.attributeNewValue;e.data&&(o.setAttribute("srcset",e.data,s),o.setAttribute("sizes","100vw",s),e.width&&o.setAttribute("width",e.width,s))}}}function B(e,t,i){return e=>{e.on(`attribute:${i}:${t}`,n)};function n(t,i,n){if(!n.consumable.consume(i.item,t.name))return;const o=n.writer,a=n.mapper.toViewElement(i.item),s=e.findViewImgElement(a);o.setAttribute(i.attributeKey,i.attributeNewValue||"",s)}}class V extends o.Observer{observe(e){this.listenTo(e,"load",((e,t)=>{const i=t.target;this.checkShouldIgnoreEventFromTarget(i)||"IMG"==i.tagName&&this._fireEvents(t)}),{useCapture:!0})}_fireEvents(e){this.isEnabled&&(this.document.fire("layoutChanged"),this.document.fire("imageLoaded",e))}}class U extends e.Command{constructor(e){super(e);const t=e.config.get("image.insert.type");e.plugins.has("ImageBlockEditing")||"block"===t&&(0,r.logWarning)("image-block-plugin-required"),e.plugins.has("ImageInlineEditing")||"inline"===t&&(0,r.logWarning)("image-inline-plugin-required")}refresh(){this.isEnabled=this.editor.plugins.get("ImageUtils").isImageAllowed()}execute(e){const t=(0,r.toArray)(e.source),i=this.editor.model.document.selection,n=this.editor.plugins.get("ImageUtils"),o=Object.fromEntries(i.getAttributes());t.forEach(((e,t)=>{const a=i.getSelectedElement();if("string"==typeof e&&(e={src:e}),t&&a&&n.isImage(a)){const t=this.editor.model.createPositionAfter(a);n.insertImage({...e,...o},t)}else n.insertImage({...e,...o})}))}}class R extends e.Plugin{static get requires(){return[m]}static get pluginName(){return"ImageEditing"}init(){const e=this.editor,t=e.conversion;e.editing.view.addObserver(V),t.for("upcast").attributeToAttribute({view:{name:"img",key:"alt"},model:"alt"}).attributeToAttribute({view:{name:"img",key:"srcset"},model:{key:"srcset",value:e=>{const t={data:e.getAttribute("srcset")};return e.hasAttribute("width")&&(t.width=e.getAttribute("width")),t}}});const i=new U(e);e.commands.add("insertImage",i),e.commands.add("imageInsert",i)}}class z extends e.Command{constructor(e,t){super(e),this._modelElementName=t}refresh(){const e=this.editor.plugins.get("ImageUtils"),t=e.getClosestSelectedImageElement(this.editor.model.document.selection);"imageBlock"===this._modelElementName?this.isEnabled=e.isInlineImage(t):this.isEnabled=e.isBlockImage(t)}execute(){const e=this.editor,t=this.editor.model,i=e.plugins.get("ImageUtils"),n=i.getClosestSelectedImageElement(t.document.selection),o=Object.fromEntries(n.getAttributes());return o.src||o.uploadId?t.change((e=>{const a=Array.from(t.markers).filter((e=>e.getRange().containsItem(n))),s=i.insertImage(o,t.createSelection(n,"on"),this._modelElementName);if(!s)return null;const r=e.createRangeOn(s);for(const t of a){const i=t.getRange(),n="$graveyard"!=i.root.rootName?i.getJoined(r,!0):r;e.updateMarker(t,{range:n})}return{oldElement:n,newElement:s}})):null}}class P extends e.Plugin{static get requires(){return[R,m,t.ClipboardPipeline]}static get pluginName(){return"ImageBlockEditing"}init(){const e=this.editor;e.model.schema.register("imageBlock",{inheritAllFrom:"$blockObject",allowAttributes:["alt","src","srcset"]}),this._setupConversion(),e.plugins.has("ImageInlineEditing")&&(e.commands.add("imageTypeBlock",new z(this.editor,"imageBlock")),this._setupClipboardIntegration())}_setupConversion(){const e=this.editor,t=e.t,i=e.conversion,n=e.plugins.get("ImageUtils");i.for("dataDowncast").elementToStructure({model:"imageBlock",view:(e,{writer:t})=>c(t)}),i.for("editingDowncast").elementToStructure({model:"imageBlock",view:(e,{writer:i})=>n.toImageWidget(c(i),i,t("image widget"))}),i.for("downcast").add(B(n,"imageBlock","src")).add(B(n,"imageBlock","alt")).add(T(n,"imageBlock")),i.for("upcast").elementToElement({view:g(e,"imageBlock"),model:(e,{writer:t})=>t.createElement("imageBlock",e.hasAttribute("src")?{src:e.getAttribute("src")}:null)}).add(function(e){return e=>{e.on("element:figure",t)};function t(t,i,n){if(!n.consumable.test(i.viewItem,{name:!0,classes:"image"}))return;const o=e.findViewImgElement(i.viewItem);if(!o||!n.consumable.test(o,{name:!0}))return;n.consumable.consume(i.viewItem,{name:!0,classes:"image"});const a=n.convertItem(o,i.modelCursor),s=(0,r.first)(a.modelRange.getItems());s?(n.convertChildren(i.viewItem,s),n.updateConversionResult(s,i)):n.consumable.revert(i.viewItem,{name:!0,classes:"image"})}}(n))}_setupClipboardIntegration(){const e=this.editor,t=e.model,i=e.editing.view,n=e.plugins.get("ImageUtils");this.listenTo(e.plugins.get("ClipboardPipeline"),"inputTransformation",((a,s)=>{const r=Array.from(s.content.getChildren());let l;if(!r.every(n.isInlineImageView))return;l=s.targetRanges?e.editing.mapper.toModelRange(s.targetRanges[0]):t.document.selection.getFirstRange();const c=t.createSelection(l);if("imageBlock"===d(t.schema,c)){const e=new o.UpcastWriter(i.document),t=r.map((t=>e.createElement("figure",{class:"image"},t)));s.content=e.createDocumentFragment(t)}}))}}var O=i(540),N={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};I()(O.Z,N);O.Z.locals;class F extends e.Plugin{static get requires(){return[P,l.Widget,A]}static get pluginName(){return"ImageBlock"}}class L extends e.Plugin{static get requires(){return[R,m,t.ClipboardPipeline]}static get pluginName(){return"ImageInlineEditing"}init(){const e=this.editor,t=e.model.schema;t.register("imageInline",{inheritAllFrom:"$inlineObject",allowAttributes:["alt","src","srcset"]}),t.addChildCheck(((e,t)=>{if(e.endsWith("caption")&&"imageInline"===t.name)return!1})),this._setupConversion(),e.plugins.has("ImageBlockEditing")&&(e.commands.add("imageTypeInline",new z(this.editor,"imageInline")),this._setupClipboardIntegration())}_setupConversion(){const e=this.editor,t=e.t,i=e.conversion,n=e.plugins.get("ImageUtils");i.for("dataDowncast").elementToElement({model:"imageInline",view:(e,{writer:t})=>t.createEmptyElement("img")}),i.for("editingDowncast").elementToStructure({model:"imageInline",view:(e,{writer:i})=>n.toImageWidget(function(e){return e.createContainerElement("span",{class:"image-inline"},e.createEmptyElement("img"))}(i),i,t("image widget"))}),i.for("downcast").add(B(n,"imageInline","src")).add(B(n,"imageInline","alt")).add(T(n,"imageInline")),i.for("upcast").elementToElement({view:g(e,"imageInline"),model:(e,{writer:t})=>t.createElement("imageInline",e.hasAttribute("src")?{src:e.getAttribute("src")}:null)})}_setupClipboardIntegration(){const e=this.editor,t=e.model,i=e.editing.view,n=e.plugins.get("ImageUtils");this.listenTo(e.plugins.get("ClipboardPipeline"),"inputTransformation",((a,s)=>{const r=Array.from(s.content.getChildren());let l;if(!r.every(n.isBlockImageView))return;l=s.targetRanges?e.editing.mapper.toModelRange(s.targetRanges[0]):t.document.selection.getFirstRange();const c=t.createSelection(l);if("imageInline"===d(t.schema,c)){const e=new o.UpcastWriter(i.document),t=r.map((t=>1===t.childCount?(Array.from(t.getAttributes()).forEach((i=>e.setAttribute(...i,n.findViewImgElement(t)))),t.getChild(0)):t));s.content=e.createDocumentFragment(t)}}))}}class D extends e.Plugin{static get requires(){return[L,l.Widget,A]}static get pluginName(){return"ImageInline"}}class j extends e.Plugin{static get requires(){return[F,D]}static get pluginName(){return"Image"}}class M extends e.Plugin{static get pluginName(){return"ImageCaptionUtils"}static get requires(){return[m]}getCaptionFromImageModelElement(e){for(const t of e.getChildren())if(t&&t.is("element","caption"))return t;return null}getCaptionFromModelSelection(e){const t=this.editor.plugins.get("ImageUtils"),i=e.getFirstPosition().findAncestor("caption");return i&&t.isBlockImage(i.parent)?i:null}matchImageCaptionViewElement(e){const t=this.editor.plugins.get("ImageUtils");return"figcaption"==e.name&&t.isBlockImageView(e.parent)?{name:!0}:null}}class W extends e.Command{refresh(){const e=this.editor,t=e.plugins.get("ImageCaptionUtils");if(!e.plugins.has(P))return this.isEnabled=!1,void(this.value=!1);const i=e.model.document.selection,n=i.getSelectedElement();if(!n){const e=t.getCaptionFromModelSelection(i);return this.isEnabled=!!e,void(this.value=!!e)}this.isEnabled=this.editor.plugins.get("ImageUtils").isImage(n),this.isEnabled?this.value=!!t.getCaptionFromImageModelElement(n):this.value=!1}execute(e={}){const{focusCaptionOnShow:t}=e;this.editor.model.change((e=>{this.value?this._hideImageCaption(e):this._showImageCaption(e,t)}))}_showImageCaption(e,t){const i=this.editor.model.document.selection,n=this.editor.plugins.get("ImageCaptionEditing");let o=i.getSelectedElement();const a=n._getSavedCaption(o);this.editor.plugins.get("ImageUtils").isInlineImage(o)&&(this.editor.execute("imageTypeBlock"),o=i.getSelectedElement());const s=a||e.createElement("caption");e.append(s,o),t&&e.setSelection(s,"in")}_hideImageCaption(e){const t=this.editor,i=t.model.document.selection,n=t.plugins.get("ImageCaptionEditing"),o=t.plugins.get("ImageCaptionUtils");let a,s=i.getSelectedElement();s?a=o.getCaptionFromImageModelElement(s):(a=o.getCaptionFromModelSelection(i),s=a.parent),n._saveCaption(s,a),e.setSelection(s,"on"),e.remove(a)}}class q extends e.Plugin{static get requires(){return[m,M]}static get pluginName(){return"ImageCaptionEditing"}constructor(e){super(e),this._savedCaptionsMap=new WeakMap}init(){const e=this.editor,t=e.model.schema;t.isRegistered("caption")?t.extend("caption",{allowIn:"imageBlock"}):t.register("caption",{allowIn:"imageBlock",allowContentOf:"$block",isLimit:!0}),e.commands.add("toggleImageCaption",new W(this.editor)),this._setupConversion(),this._setupImageTypeCommandsIntegration(),this._registerCaptionReconversion()}_setupConversion(){const e=this.editor,t=e.editing.view,i=e.plugins.get("ImageUtils"),n=e.plugins.get("ImageCaptionUtils"),a=e.t;e.conversion.for("upcast").elementToElement({view:e=>n.matchImageCaptionViewElement(e),model:"caption"}),e.conversion.for("dataDowncast").elementToElement({model:"caption",view:(e,{writer:t})=>i.isBlockImage(e.parent)?t.createContainerElement("figcaption"):null}),e.conversion.for("editingDowncast").elementToElement({model:"caption",view:(e,{writer:n})=>{if(!i.isBlockImage(e.parent))return null;const s=n.createEditableElement("figcaption");n.setCustomProperty("imageCaption",!0,s),(0,o.enablePlaceholder)({view:t,element:s,text:a("Enter image caption"),keepOnFocus:!0});const r=e.parent.getAttribute("alt"),c=r?a("Caption for image: %0",[r]):a("Caption for the image");return(0,l.toWidgetEditable)(s,n,{label:c})}})}_setupImageTypeCommandsIntegration(){const e=this.editor,t=e.plugins.get("ImageUtils"),i=e.plugins.get("ImageCaptionUtils"),n=e.commands.get("imageTypeInline"),o=e.commands.get("imageTypeBlock"),a=e=>{if(!e.return)return;const{oldElement:n,newElement:o}=e.return;if(!n)return;if(t.isBlockImage(n)){const e=i.getCaptionFromImageModelElement(n);if(e)return void this._saveCaption(o,e)}const a=this._getSavedCaption(n);a&&this._saveCaption(o,a)};n&&this.listenTo(n,"execute",a,{priority:"low"}),o&&this.listenTo(o,"execute",a,{priority:"low"})}_getSavedCaption(e){const t=this._savedCaptionsMap.get(e);return t?o.Element.fromJSON(t):null}_saveCaption(e,t){this._savedCaptionsMap.set(e,t.toJSON())}_registerCaptionReconversion(){const e=this.editor,t=e.model,i=e.plugins.get("ImageUtils"),n=e.plugins.get("ImageCaptionUtils");t.document.on("change:data",(()=>{const o=t.document.differ.getChanges();for(const t of o){if("alt"!==t.attributeKey)continue;const o=t.range.start.nodeAfter;if(i.isBlockImage(o)){const t=n.getCaptionFromImageModelElement(o);if(!t)return;e.editing.reconvertItem(t)}}}))}}class Z extends e.Plugin{static get requires(){return[M]}static get pluginName(){return"ImageCaptionUI"}init(){const t=this.editor,i=t.editing.view,n=t.plugins.get("ImageCaptionUtils"),o=t.t;t.ui.componentFactory.add("toggleImageCaption",(a=>{const s=t.commands.get("toggleImageCaption"),r=new k.ButtonView(a);return r.set({icon:e.icons.caption,tooltip:!0,isToggleable:!0}),r.bind("isOn","isEnabled").to(s,"value","isEnabled"),r.bind("label").to(s,"value",(e=>o(e?"Toggle caption off":"Toggle caption on"))),this.listenTo(r,"execute",(()=>{t.execute("toggleImageCaption",{focusCaptionOnShow:!0});const e=n.getCaptionFromModelSelection(t.model.document.selection);if(e){const n=t.editing.mapper.toViewElement(e);i.scrollToTheSelection(),i.change((e=>{e.addClass("image__caption_highlighted",n)}))}t.editing.view.focus()})),r}))}}var $=i(560),H={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};I()($.Z,H);$.Z.locals;class K extends e.Plugin{static get requires(){return[q,Z]}static get pluginName(){return"ImageCaption"}}var G=i(448);function J(e){const t=e.map((e=>e.replace("+","\\+")));return new RegExp(`^image\\/(${t.join("|")})$`)}function Q(e){return new Promise(((t,i)=>{const n=e.getAttribute("src");fetch(n).then((e=>e.blob())).then((e=>{const i=X(e,n),o=i.replace("image/",""),a=new File([e],`image.${o}`,{type:i});t(a)})).catch((e=>e&&"TypeError"===e.name?function(e){return function(e){return new Promise(((t,i)=>{const n=r.global.document.createElement("img");n.addEventListener("load",(()=>{const e=r.global.document.createElement("canvas");e.width=n.width,e.height=n.height;e.getContext("2d").drawImage(n,0,0),e.toBlob((e=>e?t(e):i()))})),n.addEventListener("error",(()=>i())),n.src=e}))}(e).then((t=>{const i=X(t,e),n=i.replace("image/","");return new File([t],`image.${n}`,{type:i})}))}(n).then(t).catch(i):i(e)))}))}function X(e,t){return e.type?e.type:t.match(/data:(image\/\w+);base64/)?t.match(/data:(image\/\w+);base64/)[1].toLowerCase():"image/jpeg"}class Y extends e.Plugin{static get pluginName(){return"ImageUploadUI"}init(){const t=this.editor,i=t.t,n=n=>{const o=new G.FileDialogButtonView(n),a=t.commands.get("uploadImage"),s=t.config.get("image.upload.types"),r=J(s);return o.set({acceptedType:s.map((e=>`image/${e}`)).join(","),allowMultipleFiles:!0}),o.buttonView.set({label:i("Insert image"),icon:e.icons.image,tooltip:!0}),o.buttonView.bind("isEnabled").to(a),o.on("done",((e,i)=>{const n=Array.from(i).filter((e=>r.test(e.type)));n.length&&(t.execute("uploadImage",{file:n}),t.editing.view.focus())})),o};t.ui.componentFactory.add("uploadImage",n),t.ui.componentFactory.add("imageUpload",n)}}var ee=i(271),te={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};I()(ee.Z,te);ee.Z.locals;var ie=i(948),ne={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};I()(ie.Z,ne);ie.Z.locals;var oe=i(467),ae={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};I()(oe.Z,ae);oe.Z.locals;class se extends e.Plugin{static get pluginName(){return"ImageUploadProgress"}constructor(e){super(e),this.placeholder="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="}init(){const e=this.editor;e.plugins.has("ImageBlockEditing")&&e.editing.downcastDispatcher.on("attribute:uploadStatus:imageBlock",((...e)=>this.uploadStatusChange(...e))),e.plugins.has("ImageInlineEditing")&&e.editing.downcastDispatcher.on("attribute:uploadStatus:imageInline",((...e)=>this.uploadStatusChange(...e)))}uploadStatusChange(e,t,i){const n=this.editor,o=t.item,a=o.getAttribute("uploadId");if(!i.consumable.consume(t.item,e.name))return;const s=n.plugins.get("ImageUtils"),r=n.plugins.get(G.FileRepository),l=a?t.attributeNewValue:null,c=this.placeholder,g=n.editing.mapper.toViewElement(o),d=i.writer;if("reading"==l)return re(g,d),void le(s,c,g,d);if("uploading"==l){const e=r.loaders.get(a);return re(g,d),void(e?(ce(g,d),function(e,t,i,n){const o=function(e){const t=e.createUIElement("div",{class:"ck-progress-bar"});return e.setCustomProperty("progressBar",!0,t),t}(t);t.insert(t.createPositionAt(e,"end"),o),i.on("change:uploadedPercent",((e,t,i)=>{n.change((e=>{e.setStyle("width",i+"%",o)}))}))}(g,d,e,n.editing.view),function(e,t,i,n){if(n.data){const o=e.findViewImgElement(t);i.setAttribute("src",n.data,o)}}(s,g,d,e)):le(s,c,g,d))}"complete"==l&&r.loaders.get(a)&&function(e,t,i){const n=t.createUIElement("div",{class:"ck-image-upload-complete-icon"});t.insert(t.createPositionAt(e,"end"),n),setTimeout((()=>{i.change((e=>e.remove(e.createRangeOn(n))))}),3e3)}(g,d,n.editing.view),function(e,t){de(e,t,"progressBar")}(g,d),ce(g,d),function(e,t){t.removeClass("ck-appear",e)}(g,d)}}function re(e,t){e.hasClass("ck-appear")||t.addClass("ck-appear",e)}function le(e,t,i,n){i.hasClass("ck-image-upload-placeholder")||n.addClass("ck-image-upload-placeholder",i);const o=e.findViewImgElement(i);o.getAttribute("src")!==t&&n.setAttribute("src",t,o),ge(i,"placeholder")||n.insert(n.createPositionAfter(o),function(e){const t=e.createUIElement("div",{class:"ck-upload-placeholder-loader"});return e.setCustomProperty("placeholder",!0,t),t}(n))}function ce(e,t){e.hasClass("ck-image-upload-placeholder")&&t.removeClass("ck-image-upload-placeholder",e),de(e,t,"placeholder")}function ge(e,t){for(const i of e.getChildren())if(i.getCustomProperty(t))return i}function de(e,t,i){const n=ge(e,i);n&&t.remove(t.createRangeOn(n))}class me extends e.Command{refresh(){const e=this.editor,t=e.plugins.get("ImageUtils"),i=e.model.document.selection.getSelectedElement();this.isEnabled=t.isImageAllowed()||t.isImage(i)}execute(e){const t=(0,r.toArray)(e.file),i=this.editor.model.document.selection,n=this.editor.plugins.get("ImageUtils"),o=Object.fromEntries(i.getAttributes());t.forEach(((e,t)=>{const a=i.getSelectedElement();if(t&&a&&n.isImage(a)){const t=this.editor.model.createPositionAfter(a);this._uploadImage(e,o,t)}else this._uploadImage(e,o)}))}_uploadImage(e,t,i){const n=this.editor,o=n.plugins.get(G.FileRepository).createLoader(e),a=n.plugins.get("ImageUtils");o&&a.insertImage({...t,uploadId:o.id},i)}}class ue extends e.Plugin{static get requires(){return[G.FileRepository,k.Notification,t.ClipboardPipeline,m]}static get pluginName(){return"ImageUploadEditing"}constructor(e){super(e),e.config.define("image",{upload:{types:["jpeg","png","gif","bmp","webp","tiff"]}}),this._uploadImageElements=new Map}init(){const e=this.editor,t=e.model.document,i=e.conversion,n=e.plugins.get(G.FileRepository),a=e.plugins.get("ImageUtils"),s=J(e.config.get("image.upload.types")),r=new me(e);e.commands.add("uploadImage",r),e.commands.add("imageUpload",r),i.for("upcast").attributeToAttribute({view:{name:"img",key:"uploadId"},model:"uploadId"}),this.listenTo(e.editing.view.document,"clipboardInput",((t,i)=>{if(n=i.dataTransfer,Array.from(n.types).includes("text/html")&&""!==n.getData("text/html"))return;var n;const o=Array.from(i.dataTransfer.files).filter((e=>!!e&&s.test(e.type)));o.length&&(t.stop(),e.model.change((t=>{i.targetRanges&&t.setSelection(i.targetRanges.map((t=>e.editing.mapper.toModelRange(t)))),e.model.enqueueChange((()=>{e.execute("uploadImage",{file:o})}))})))})),this.listenTo(e.plugins.get("ClipboardPipeline"),"inputTransformation",((t,i)=>{const s=Array.from(e.editing.view.createRangeIn(i.content)).filter((e=>function(e,t){return!(!e.isInlineImageView(t)||!t.getAttribute("src"))&&(t.getAttribute("src").match(/^data:image\/\w+;base64,/g)||t.getAttribute("src").match(/^blob:/g))}(a,e.item)&&!e.item.getAttribute("uploadProcessed"))).map((e=>({promise:Q(e.item),imageElement:e.item})));if(!s.length)return;const r=new o.UpcastWriter(e.editing.view.document);for(const e of s){r.setAttribute("uploadProcessed",!0,e.imageElement);const t=n.createLoader(e.promise);t&&(r.setAttribute("src","",e.imageElement),r.setAttribute("uploadId",t.id,e.imageElement))}})),e.editing.view.document.on("dragover",((e,t)=>{t.preventDefault()})),t.on("change",(()=>{const i=t.differ.getChanges({includeChangesInGraveyard:!0}).reverse(),o=new Set;for(const t of i)if("insert"==t.type&&"$text"!=t.name){const i=t.position.nodeAfter,a="$graveyard"==t.position.root.rootName;for(const t of pe(e,i)){const e=t.getAttribute("uploadId");if(!e)continue;const i=n.loaders.get(e);i&&(a?o.has(e)||i.abort():(o.add(e),this._uploadImageElements.set(e,t),"idle"==i.status&&this._readAndUpload(i)))}}})),this.on("uploadComplete",((e,{imageElement:t,data:i})=>{const n=i.urls?i.urls:i;this.editor.model.change((e=>{e.setAttribute("src",n.default,t),this._parseAndSetSrcsetAttributeOnImage(n,t,e)}))}),{priority:"low"})}afterInit(){const e=this.editor.model.schema;this.editor.plugins.has("ImageBlockEditing")&&e.extend("imageBlock",{allowAttributes:["uploadId","uploadStatus"]}),this.editor.plugins.has("ImageInlineEditing")&&e.extend("imageInline",{allowAttributes:["uploadId","uploadStatus"]})}_readAndUpload(e){const t=this.editor,i=t.model,n=t.locale.t,o=t.plugins.get(G.FileRepository),a=t.plugins.get(k.Notification),s=t.plugins.get("ImageUtils"),l=this._uploadImageElements;return i.enqueueChange({isUndoable:!1},(t=>{t.setAttribute("uploadStatus","reading",l.get(e.id))})),e.read().then((()=>{const n=e.upload(),o=l.get(e.id);if(r.env.isSafari){const e=t.editing.mapper.toViewElement(o),i=s.findViewImgElement(e);t.editing.view.once("render",(()=>{if(!i.parent)return;const e=t.editing.view.domConverter.mapViewToDom(i.parent);if(!e)return;const n=e.style.display;e.style.display="none",e._ckHack=e.offsetHeight,e.style.display=n}))}return i.enqueueChange({isUndoable:!1},(e=>{e.setAttribute("uploadStatus","uploading",o)})),n})).then((t=>{i.enqueueChange({isUndoable:!1},(i=>{const n=l.get(e.id);i.setAttribute("uploadStatus","complete",n),this.fire("uploadComplete",{data:t,imageElement:n})})),c()})).catch((t=>{if("error"!==e.status&&"aborted"!==e.status)throw t;"error"==e.status&&t&&a.showWarning(t,{title:n("Upload failed"),namespace:"upload"}),i.enqueueChange({isUndoable:!1},(t=>{t.remove(l.get(e.id))})),c()}));function c(){i.enqueueChange({isUndoable:!1},(t=>{const i=l.get(e.id);t.removeAttribute("uploadId",i),t.removeAttribute("uploadStatus",i),l.delete(e.id)})),o.destroyLoader(e)}}_parseAndSetSrcsetAttributeOnImage(e,t,i){let n=0;const o=Object.keys(e).filter((e=>{const t=parseInt(e,10);if(!isNaN(t))return n=Math.max(n,t),!0})).map((t=>`${e[t]} ${t}w`)).join(", ");""!=o&&i.setAttribute("srcset",{data:o,width:n},t)}}function pe(e,t){const i=e.plugins.get("ImageUtils");return Array.from(e.model.createRangeOn(t)).filter((e=>i.isImage(e.item))).map((e=>e.item))}class he extends e.Plugin{static get pluginName(){return"ImageUpload"}static get requires(){return[ue,Y,se]}}var fe=i(439),be={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};I()(fe.Z,be);fe.Z.locals;class ke extends k.View{constructor(e,t={}){super(e);const i=this.bindTemplate;this.set("class",t.class||null),this.children=this.createCollection(),t.children&&t.children.forEach((e=>this.children.add(e))),this.set("_role",null),this.set("_ariaLabelledBy",null),t.labelView&&this.set({_role:"group",_ariaLabelledBy:t.labelView.id}),this.setTemplate({tag:"div",attributes:{class:["ck","ck-form__row",i.to("class")],role:i.to("_role"),"aria-labelledby":i.to("_ariaLabelledBy")},children:this.children})}}var we=i(91),Ie={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};I()(we.Z,Ie);we.Z.locals;class ve extends k.View{constructor(e,t){super(e);const{insertButtonView:i,cancelButtonView:n}=this._createActionButtons(e);if(this.insertButtonView=i,this.cancelButtonView=n,this.set("imageURLInputValue",""),this.focusTracker=new r.FocusTracker,this.keystrokes=new r.KeystrokeHandler,this._focusables=new k.ViewCollection,this._focusCycler=new k.FocusCycler({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.set("_integrations",new r.Collection),t)for(const[e,i]of Object.entries(t))"insertImageViaUrl"===e&&(i.fieldView.bind("value").to(this,"imageURLInputValue",(e=>e||"")),i.fieldView.on("input",(()=>{this.imageURLInputValue=i.fieldView.element.value.trim()}))),i.name=e,this._integrations.add(i);this.setTemplate({tag:"form",attributes:{class:["ck","ck-image-insert-form"],tabindex:"-1"},children:[...this._integrations,new ke(e,{children:[this.insertButtonView,this.cancelButtonView],class:"ck-image-insert-form__action-row"})]})}render(){super.render(),(0,k.submitHandler)({view:this});const e=[...this._integrations,this.insertButtonView,this.cancelButtonView];e.forEach((e=>{this._focusables.add(e),this.focusTracker.add(e.element)})),this.keystrokes.listenTo(this.element);const t=e=>e.stopPropagation();this.keystrokes.set("arrowright",t),this.keystrokes.set("arrowleft",t),this.keystrokes.set("arrowup",t),this.keystrokes.set("arrowdown",t),this.listenTo(e[0].element,"selectstart",((e,t)=>{t.stopPropagation()}),{priority:"high"})}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}getIntegration(e){return this._integrations.find((t=>t.name===e))}_createActionButtons(t){const i=t.t,n=new k.ButtonView(t),o=new k.ButtonView(t);return n.set({label:i("Insert"),icon:e.icons.check,class:"ck-button-save",type:"submit",withText:!0,isEnabled:this.imageURLInputValue}),o.set({label:i("Cancel"),icon:e.icons.cancel,class:"ck-button-cancel",withText:!0}),n.bind("isEnabled").to(this,"imageURLInputValue",(e=>!!e)),n.delegate("execute").to(this,"submit"),o.delegate("execute").to(this,"cancel"),{insertButtonView:n,cancelButtonView:o}}focus(){this._focusCycler.focusFirst()}}function ye(e){const t=e.t,i=new k.LabeledFieldView(e,k.createLabeledInputText);return i.set({label:t("Insert image via URL")}),i.fieldView.placeholder="https://example.com/image.png",i}class _e extends e.Plugin{static get pluginName(){return"ImageInsertUI"}init(){const e=this.editor,t=e=>this._createDropdownView(e);e.ui.componentFactory.add("insertImage",t),e.ui.componentFactory.add("imageInsert",t)}_createDropdownView(t){const i=this.editor,n=t.t,o=i.commands.get("uploadImage"),a=i.commands.get("insertImage");this.dropdownView=(0,k.createDropdown)(t,o?k.SplitButtonView:void 0);const s=this.dropdownView.buttonView,r=this.dropdownView.panelView;if(s.set({label:n("Insert image"),icon:e.icons.image,tooltip:!0}),r.extendTemplate({attributes:{class:"ck-image-insert__panel"}}),o){const e=this.dropdownView.buttonView;e.actionView=i.ui.componentFactory.create("uploadImage"),e.actionView.extendTemplate({attributes:{class:"ck ck-button ck-splitbutton__action"}})}return this._setUpDropdown(o||a)}_setUpDropdown(e){const t=this.editor,i=t.t,n=new ve(t.locale,function(e){const t=e.config.get("image.insert.integrations"),i=e.plugins.get("ImageInsertUI"),n={insertImageViaUrl:ye(e.locale)};if(!t)return n;if(t.find((e=>"openCKFinder"===e))&&e.ui.componentFactory.has("ckfinder")){const t=e.ui.componentFactory.create("ckfinder");t.set({withText:!0,class:"ck-image-insert__ck-finder-button"}),t.delegate("execute").to(i,"cancel"),n.openCKFinder=t}return t.reduce(((t,i)=>(n[i]?t[i]=n[i]:e.ui.componentFactory.has(i)&&(t[i]=e.ui.componentFactory.create(i)),t)),{})}(t)),o=n.insertButtonView,a=n.getIntegration("insertImageViaUrl"),s=this.dropdownView,r=s.panelView,l=this.editor.plugins.get("ImageUtils");function c(){t.editing.view.focus(),s.isOpen=!1}return s.bind("isEnabled").to(e),s.buttonView.once("open",(()=>{r.children.add(n)})),s.on("change:isOpen",(()=>{const e=t.model.document.selection.getSelectedElement();s.isOpen&&(l.isImage(e)?(n.imageURLInputValue=e.getAttribute("src"),o.label=i("Update"),a.label=i("Update image URL")):(n.imageURLInputValue="",o.label=i("Insert"),a.label=i("Insert image via URL")))}),{priority:"low"}),n.delegate("submit","cancel").to(s),this.delegate("cancel").to(s),s.on("submit",(()=>{c(),function(){const e=t.model.document.selection.getSelectedElement();l.isImage(e)?t.model.change((t=>{t.setAttribute("src",n.imageURLInputValue,e),t.removeAttribute("srcset",e),t.removeAttribute("sizes",e)})):t.execute("insertImage",{source:n.imageURLInputValue})}()})),s.on("cancel",(()=>{c()})),s}}class Ee extends e.Plugin{static get pluginName(){return"ImageInsertViaUrl"}static get requires(){return[_e]}}class xe extends e.Plugin{static get pluginName(){return"ImageInsert"}static get requires(){return[he,Ee,_e]}}class Ce extends e.Command{refresh(){const e=this.editor,t=e.plugins.get("ImageUtils").getClosestSelectedImageElement(e.model.document.selection);this.isEnabled=!!t,t&&t.hasAttribute("width")?this.value={width:t.getAttribute("width"),height:null}:this.value=null}execute(e){const t=this.editor,i=t.model,n=t.plugins.get("ImageUtils").getClosestSelectedImageElement(i.document.selection);this.value={width:e.width,height:null},n&&i.change((t=>{t.setAttribute("width",e.width,n)}))}}class Se extends e.Plugin{static get requires(){return[m]}static get pluginName(){return"ImageResizeEditing"}constructor(e){super(e),e.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 e=this.editor,t=new Ce(e);this._registerSchema(),this._registerConverters("imageBlock"),this._registerConverters("imageInline"),e.commands.add("resizeImage",t),e.commands.add("imageResize",t)}_registerSchema(){this.editor.plugins.has("ImageBlockEditing")&&this.editor.model.schema.extend("imageBlock",{allowAttributes:"width"}),this.editor.plugins.has("ImageInlineEditing")&&this.editor.model.schema.extend("imageInline",{allowAttributes:"width"})}_registerConverters(e){const t=this.editor;t.conversion.for("downcast").add((t=>t.on(`attribute:width:${e}`,((e,t,i)=>{if(!i.consumable.consume(t.item,e.name))return;const n=i.writer,o=i.mapper.toViewElement(t.item);null!==t.attributeNewValue?(n.setStyle("width",t.attributeNewValue,o),n.addClass("image_resized",o)):(n.removeStyle("width",o),n.removeClass("image_resized",o))})))),t.conversion.for("upcast").attributeToAttribute({view:{name:"imageBlock"===e?"figure":"img",styles:{width:/.+/}},model:{key:"width",value:e=>e.getStyle("width")}})}}const Ae={small:e.icons.objectSizeSmall,medium:e.icons.objectSizeMedium,large:e.icons.objectSizeLarge,original:e.icons.objectSizeFull};class Te extends e.Plugin{static get requires(){return[Se]}static get pluginName(){return"ImageResizeButtons"}constructor(e){super(e),this._resizeUnit=e.config.get("image.resizeUnit")}init(){const e=this.editor,t=e.config.get("image.resizeOptions"),i=e.commands.get("resizeImage");this.bind("isEnabled").to(i);for(const e of t)this._registerImageResizeButton(e);this._registerImageResizeDropdown(t)}_registerImageResizeButton(e){const t=this.editor,{name:i,value:n,icon:o}=e,a=n?n+this._resizeUnit:null;t.ui.componentFactory.add(i,(i=>{const n=new k.ButtonView(i),s=t.commands.get("resizeImage"),l=this._getOptionLabelValue(e,!0);if(!Ae[o])throw new r.CKEditorError("imageresizebuttons-missing-icon",t,e);return n.set({label:l,icon:Ae[o],tooltip:l,isToggleable:!0}),n.bind("isEnabled").to(this),n.bind("isOn").to(s,"value",Be(a)),this.listenTo(n,"execute",(()=>{t.execute("resizeImage",{width:a})})),n}))}_registerImageResizeDropdown(e){const t=this.editor,i=t.t,n=e.find((e=>!e.value)),o=o=>{const a=t.commands.get("resizeImage"),s=(0,k.createDropdown)(o,k.DropdownButtonView),r=s.buttonView;return r.set({tooltip:i("Resize image"),commandValue:n.value,icon:Ae.medium,isToggleable:!0,label:this._getOptionLabelValue(n),withText:!0,class:"ck-resize-image-button"}),r.bind("label").to(a,"value",(e=>e&&e.width?e.width:this._getOptionLabelValue(n))),s.bind("isOn").to(a),s.bind("isEnabled").to(this),(0,k.addListToDropdown)(s,this._getResizeDropdownListItemDefinitions(e,a)),s.listView.ariaLabel=i("Image resize list"),this.listenTo(s,"execute",(e=>{t.execute(e.source.commandName,{width:e.source.commandValue}),t.editing.view.focus()})),s};t.ui.componentFactory.add("resizeImage",o),t.ui.componentFactory.add("imageResize",o)}_getOptionLabelValue(e,t){const i=this.editor.t;return e.label?e.label:t?e.value?i("Resize image to %0",e.value+this._resizeUnit):i("Resize image to the original size"):e.value?e.value+this._resizeUnit:i("Original")}_getResizeDropdownListItemDefinitions(e,t){const i=new r.Collection;return e.map((e=>{const n=e.value?e.value+this._resizeUnit:null,o={type:"button",model:new k.Model({commandName:"resizeImage",commandValue:n,label:this._getOptionLabelValue(e),withText:!0,icon:null})};o.model.bind("isOn").to(t,"value",Be(n)),i.add(o)})),i}}function Be(e){return t=>null===e&&t===e||t&&t.width===e}const Ve=/(image|image-inline)/,Ue="image_resized";class Re extends e.Plugin{static get requires(){return[l.WidgetResize]}static get pluginName(){return"ImageResizeHandles"}init(){const e=this.editor.commands.get("resizeImage");this.bind("isEnabled").to(e),this._setupResizerCreator()}_setupResizerCreator(){const e=this.editor,t=e.editing.view;t.addObserver(V),this.listenTo(t.document,"imageLoaded",((i,n)=>{if(!n.target.matches("figure.image.ck-widget > img,figure.image.ck-widget > picture > img,figure.image.ck-widget > a > img,figure.image.ck-widget > a > picture > img,span.image-inline.ck-widget > img,span.image-inline.ck-widget > picture > img"))return;const o=e.editing.view.domConverter,a=o.domToView(n.target).findAncestor({classes:Ve});let s=this.editor.plugins.get(l.WidgetResize).getResizerByViewElement(a);if(s)return void s.redraw();const r=e.editing.mapper,c=r.toModelElement(a);s=e.plugins.get(l.WidgetResize).attachTo({unit:e.config.get("image.resizeUnit"),modelElement:c,viewElement:a,editor:e,getHandleHost:e=>e.querySelector("img"),getResizeHost:()=>o.mapViewToDom(r.toViewElement(c.parent)),isCentered(){const e=c.getAttribute("imageStyle");return!e||"block"==e||"alignCenter"==e},onCommit(i){t.change((e=>{e.removeClass(Ue,a)})),e.execute("resizeImage",{width:i})}}),s.on("updateSize",(()=>{a.hasClass(Ue)||t.change((e=>{e.addClass(Ue,a)}))})),s.bind("isEnabled").to(this)}))}}var ze=i(601),Pe={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};I()(ze.Z,Pe);ze.Z.locals;class Oe extends e.Plugin{static get requires(){return[Se,Re,Te]}static get pluginName(){return"ImageResize"}}class Ne extends e.Command{constructor(e,t){super(e),this._defaultStyles={imageBlock:!1,imageInline:!1},this._styles=new Map(t.map((e=>{if(e.isDefault)for(const t of e.modelElements)this._defaultStyles[t]=e.name;return[e.name,e]})))}refresh(){const e=this.editor.plugins.get("ImageUtils").getClosestSelectedImageElement(this.editor.model.document.selection);this.isEnabled=!!e,this.isEnabled?e.hasAttribute("imageStyle")?this.value=e.getAttribute("imageStyle"):this.value=this._defaultStyles[e.name]:this.value=!1}execute(e={}){const t=this.editor,i=t.model,n=t.plugins.get("ImageUtils");i.change((t=>{const o=e.value;let a=n.getClosestSelectedImageElement(i.document.selection);o&&this.shouldConvertImageType(o,a)&&(this.editor.execute(n.isBlockImage(a)?"imageTypeInline":"imageTypeBlock"),a=n.getClosestSelectedImageElement(i.document.selection)),!o||this._styles.get(o).isDefault?t.removeAttribute("imageStyle",a):t.setAttribute("imageStyle",o,a)}))}shouldConvertImageType(e,t){return!this._styles.get(e).modelElements.includes(t.name)}}const{objectFullWidth:Fe,objectInline:Le,objectLeft:De,objectRight:je,objectCenter:Me,objectBlockLeft:We,objectBlockRight:qe}=e.icons,Ze={get inline(){return{name:"inline",title:"In line",icon:Le,modelElements:["imageInline"],isDefault:!0}},get alignLeft(){return{name:"alignLeft",title:"Left aligned image",icon:De,modelElements:["imageBlock","imageInline"],className:"image-style-align-left"}},get alignBlockLeft(){return{name:"alignBlockLeft",title:"Left aligned image",icon:We,modelElements:["imageBlock"],className:"image-style-block-align-left"}},get alignCenter(){return{name:"alignCenter",title:"Centered image",icon:Me,modelElements:["imageBlock"],className:"image-style-align-center"}},get alignRight(){return{name:"alignRight",title:"Right aligned image",icon:je,modelElements:["imageBlock","imageInline"],className:"image-style-align-right"}},get alignBlockRight(){return{name:"alignBlockRight",title:"Right aligned image",icon:qe,modelElements:["imageBlock"],className:"image-style-block-align-right"}},get block(){return{name:"block",title:"Centered image",icon:Me,modelElements:["imageBlock"],isDefault:!0}},get side(){return{name:"side",title:"Side image",icon:je,modelElements:["imageBlock"],className:"image-style-side"}}},$e={full:Fe,left:We,right:qe,center:Me,inlineLeft:De,inlineRight:je,inline:Le},He=[{name:"imageStyle:wrapText",title:"Wrap text",defaultItem:"imageStyle:alignLeft",items:["imageStyle:alignLeft","imageStyle:alignRight"]},{name:"imageStyle:breakText",title:"Break text",defaultItem:"imageStyle:block",items:["imageStyle:alignBlockLeft","imageStyle:block","imageStyle:alignBlockRight"]}];function Ke(e){(0,r.logWarning)("image-style-configuration-definition-invalid",e)}const Ge={normalizeStyles:function(e){return(e.configuredStyles.options||[]).map((e=>function(e){e="string"==typeof e?Ze[e]?{...Ze[e]}:{name:e}:function(e,t){const i={...t};for(const n in e)Object.prototype.hasOwnProperty.call(t,n)||(i[n]=e[n]);return i}(Ze[e.name],e);"string"==typeof e.icon&&(e.icon=$e[e.icon]||e.icon);return e}(e))).filter((t=>function(e,{isBlockPluginLoaded:t,isInlinePluginLoaded:i}){const{modelElements:n,name:o}=e;if(!(n&&n.length&&o))return Ke({style:e}),!1;{const o=[t?"imageBlock":null,i?"imageInline":null];if(!n.some((e=>o.includes(e))))return(0,r.logWarning)("image-style-missing-dependency",{style:e,missingPlugins:n.map((e=>"imageBlock"===e?"ImageBlockEditing":"ImageInlineEditing"))}),!1}return!0}(t,e)))},getDefaultStylesConfiguration:function(e,t){return e&&t?{options:["inline","alignLeft","alignRight","alignCenter","alignBlockLeft","alignBlockRight","block","side"]}:e?{options:["block","side"]}:t?{options:["inline","alignLeft","alignRight"]}:{}},getDefaultDropdownDefinitions:function(e){return e.has("ImageBlockEditing")&&e.has("ImageInlineEditing")?[...He]:[]},warnInvalidStyle:Ke,DEFAULT_OPTIONS:Ze,DEFAULT_ICONS:$e,DEFAULT_DROPDOWN_DEFINITIONS:He};function Je(e,t){for(const i of t)if(i.name===e)return i}class Qe extends e.Plugin{static get pluginName(){return"ImageStyleEditing"}static get requires(){return[m]}init(){const{normalizeStyles:e,getDefaultStylesConfiguration:t}=Ge,i=this.editor,n=i.plugins.has("ImageBlockEditing"),o=i.plugins.has("ImageInlineEditing");i.config.define("image.styles",t(n,o)),this.normalizedStyles=e({configuredStyles:i.config.get("image.styles"),isBlockPluginLoaded:n,isInlinePluginLoaded:o}),this._setupConversion(n,o),this._setupPostFixer(),i.commands.add("imageStyle",new Ne(i,this.normalizedStyles))}_setupConversion(e,t){const i=this.editor,n=i.model.schema,o=(a=this.normalizedStyles,(e,t,i)=>{if(!i.consumable.consume(t.item,e.name))return;const n=Je(t.attributeNewValue,a),o=Je(t.attributeOldValue,a),s=i.mapper.toViewElement(t.item),r=i.writer;o&&r.removeClass(o.className,s),n&&r.addClass(n.className,s)});var a;const s=function(e){const t={imageInline:e.filter((e=>!e.isDefault&&e.modelElements.includes("imageInline"))),imageBlock:e.filter((e=>!e.isDefault&&e.modelElements.includes("imageBlock")))};return(e,i,n)=>{if(!i.modelRange)return;const o=i.viewItem,a=(0,r.first)(i.modelRange.getItems());if(a&&n.schema.checkAttribute(a,"imageStyle"))for(const e of t[a.name])n.consumable.consume(o,{classes:e.className})&&n.writer.setAttribute("imageStyle",e.name,a)}}(this.normalizedStyles);i.editing.downcastDispatcher.on("attribute:imageStyle",o),i.data.downcastDispatcher.on("attribute:imageStyle",o),e&&(n.extend("imageBlock",{allowAttributes:"imageStyle"}),i.data.upcastDispatcher.on("element:figure",s,{priority:"low"})),t&&(n.extend("imageInline",{allowAttributes:"imageStyle"}),i.data.upcastDispatcher.on("element:img",s,{priority:"low"}))}_setupPostFixer(){const e=this.editor,t=e.model.document,i=e.plugins.get(m),n=new Map(this.normalizedStyles.map((e=>[e.name,e])));t.registerPostFixer((e=>{let o=!1;for(const a of t.differ.getChanges())if("insert"==a.type||"attribute"==a.type&&"imageStyle"==a.attributeKey){let t="insert"==a.type?a.position.nodeAfter:a.range.start.nodeAfter;if(t&&t.is("element","paragraph")&&t.childCount>0&&(t=t.getChild(0)),!i.isImage(t))continue;const s=t.getAttribute("imageStyle");if(!s)continue;const r=n.get(s);r&&r.modelElements.includes(t.name)||(e.removeAttribute("imageStyle",t),o=!0)}return o}))}}const Xe=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)};const Ye=function(e){return e};var et=i(29),tt={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};I()(et.Z,tt);et.Z.locals;class it extends e.Plugin{static get requires(){return[Qe]}static get pluginName(){return"ImageStyleUI"}get localizedDefaultStylesTitles(){const e=this.editor.t;return{"Wrap text":e("Wrap text"),"Break text":e("Break text"),"In line":e("In line"),"Full size image":e("Full size image"),"Side image":e("Side image"),"Left aligned image":e("Left aligned image"),"Centered image":e("Centered image"),"Right aligned image":e("Right aligned image")}}init(){const e=this.editor.plugins,t=this.editor.config.get("image.toolbar")||[],i=nt(e.get("ImageStyleEditing").normalizedStyles,this.localizedDefaultStylesTitles);for(const e of i)this._createButton(e);const n=nt([...t.filter(Xe),...Ge.getDefaultDropdownDefinitions(e)],this.localizedDefaultStylesTitles);for(const e of n)this._createDropdown(e,i)}_createDropdown(e,t){const i=this.editor.ui.componentFactory;i.add(e.name,(n=>{let o;const{defaultItem:a,items:s,title:r}=e,l=s.filter((e=>t.find((({name:t})=>ot(t)===e)))).map((e=>{const t=i.create(e);return e===a&&(o=t),t}));s.length!==l.length&&Ge.warnInvalidStyle({dropdown:e});const c=(0,k.createDropdown)(n,k.SplitButtonView),g=c.buttonView,d=g.arrowView;return(0,k.addToolbarToDropdown)(c,l,{enableActiveItemFocusOnDropdownOpen:!0}),g.set({label:at(r,o.label),class:null,tooltip:!0}),d.unbind("label"),d.set({label:r}),g.bind("icon").toMany(l,"isOn",((...e)=>{const t=e.findIndex(Ye);return t<0?o.icon:l[t].icon})),g.bind("label").toMany(l,"isOn",((...e)=>{const t=e.findIndex(Ye);return at(r,t<0?o.label:l[t].label)})),g.bind("isOn").toMany(l,"isOn",((...e)=>e.some(Ye))),g.bind("class").toMany(l,"isOn",((...e)=>e.some(Ye)?"ck-splitbutton_flatten":null)),g.on("execute",(()=>{l.some((({isOn:e})=>e))?c.isOpen=!c.isOpen:o.fire("execute")})),c.bind("isEnabled").toMany(l,"isEnabled",((...e)=>e.some(Ye))),this.listenTo(c,"execute",(()=>{this.editor.editing.view.focus()})),c}))}_createButton(e){const t=e.name;this.editor.ui.componentFactory.add(ot(t),(i=>{const n=this.editor.commands.get("imageStyle"),o=new k.ButtonView(i);return o.set({label:e.title,icon:e.icon,tooltip:!0,isToggleable:!0}),o.bind("isEnabled").to(n,"isEnabled"),o.bind("isOn").to(n,"value",(e=>e===t)),o.on("execute",this._executeCommand.bind(this,t)),o}))}_executeCommand(e){this.editor.execute("imageStyle",{value:e}),this.editor.editing.view.focus()}}function nt(e,t){for(const i of e)t[i.title]&&(i.title=t[i.title]);return e}function ot(e){return`imageStyle:${e}`}function at(e,t){return(e?e+": ":"")+t}class st extends e.Plugin{static get requires(){return[Qe,it]}static get pluginName(){return"ImageStyle"}}class rt extends e.Plugin{static get requires(){return[l.WidgetToolbarRepository,m]}static get pluginName(){return"ImageToolbar"}afterInit(){const e=this.editor,t=e.t,i=e.plugins.get(l.WidgetToolbarRepository),n=e.plugins.get("ImageUtils");var o;i.register("image",{ariaLabel:t("Image toolbar"),items:(o=e.config.get("image.toolbar")||[],o.map((e=>Xe(e)?e.name:e))),getRelatedElement:e=>n.getClosestSelectedImageWidget(e)})}}class lt extends e.Plugin{static get requires(){return[R,m]}static get pluginName(){return"PictureEditing"}afterInit(){const e=this.editor;e.plugins.has("ImageBlockEditing")&&e.model.schema.extend("imageBlock",{allowAttributes:["sources"]}),e.plugins.has("ImageInlineEditing")&&e.model.schema.extend("imageInline",{allowAttributes:["sources"]}),this._setupConversion(),this._setupImageUploadEditingIntegration()}_setupConversion(){const e=this.editor,t=e.conversion,i=e.plugins.get("ImageUtils");t.for("upcast").add(function(e){const t=["srcset","media","type","sizes"];return e=>{e.on("element:picture",i)};function i(i,n,o){const a=n.viewItem;if(!o.consumable.test(a,{name:!0}))return;const s=new Map;for(const e of a.getChildren())if(e.is("element","source")){const i={};for(const n of t)e.hasAttribute(n)&&o.consumable.test(e,{attributes:n})&&(i[n]=e.getAttribute(n));Object.keys(i).length&&s.set(e,i)}const l=e.findViewImgElement(a);if(!l)return;let c=n.modelCursor.parent;if(!c.is("element","imageBlock")){const e=o.convertItem(l,n.modelCursor);n.modelRange=e.modelRange,n.modelCursor=e.modelCursor,c=(0,r.first)(e.modelRange.getItems())}o.consumable.consume(a,{name:!0});for(const[e,t]of s)o.consumable.consume(e,{attributes:Object.keys(t)});s.size&&o.writer.setAttribute("sources",Array.from(s.values()),c),o.convertChildren(a,c)}}(i)),t.for("downcast").add(function(e){return e=>{e.on("attribute:sources:imageBlock",t),e.on("attribute:sources:imageInline",t)};function t(t,i,n){if(!n.consumable.consume(i.item,t.name))return;const o=n.writer,a=n.mapper.toViewElement(i.item),s=e.findViewImgElement(a);if(i.attributeNewValue&&i.attributeNewValue.length){const e=o.createContainerElement("picture",null,i.attributeNewValue.map((e=>o.createEmptyElement("source",e)))),t=[];let n=s.parent;for(;n&&n.is("attributeElement");){const e=n.parent;o.unwrap(o.createRangeOn(s),n),t.unshift(n),n=e}o.insert(o.createPositionBefore(s),e),o.move(o.createRangeOn(s),o.createPositionAt(e,"end"));for(const i of t)o.wrap(o.createRangeOn(e),i)}else if(s.parent.is("element","picture")){const e=s.parent;o.move(o.createRangeOn(s),o.createPositionBefore(e)),o.remove(e)}}}(i))}_setupImageUploadEditingIntegration(){const e=this.editor;e.plugins.has("ImageUploadEditing")&&this.listenTo(e.plugins.get("ImageUploadEditing"),"uploadComplete",((t,{imageElement:i,data:n})=>{const o=n.sources;o&&e.model.change((e=>{e.setAttributes({sources:o},i)}))}))}}})(),(window.CKEditor5=window.CKEditor5||{}).image=n})(); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/ar.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/ar.js index d8da41234..593c4c298 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/ar.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/ar.js @@ -1 +1 @@ -!function(e){const i=e.ar=e.ar||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"","Centered image":"صورة بالوسط","Change image text alternative":"غير النص البديل للصورة","Enter image caption":"ادخل عنوان الصورة","Full size image":"صورة بحجم كامل","Image resize list":"","Image toolbar":"","image widget":"عنصر الصورة","In line":"",Insert:"","Insert image":"ادراج صورة","Insert image via URL":"","Left aligned image":"صورة بمحاذاة لليسار",Original:"","Resize image":"","Resize image to %0":"","Resize image to the original size":"","Right aligned image":"صورة بمحاذاة لليمين","Side image":"صورة جانبية","Text alternative":"النص البديل",Update:"","Update image URL":"","Upload failed":"فشل الرفع","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const i=e.ar=e.ar||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"اعتراض النص","Caption for image: %0":"التسمية التوضيحية للصورة: %0","Caption for the image":"التسمية التوضيحية للصورة","Centered image":"صورة بالوسط","Change image text alternative":"غير النص البديل للصورة","Enter image caption":"ادخل عنوان الصورة","Full size image":"صورة بحجم كامل","Image resize list":"قائمة تغيير حجم الصورة","Image toolbar":"شريط أدوات الصور","image widget":"عنصر الصورة","In line":"سطري مع النص",Insert:"إدراج","Insert image":"ادراج صورة","Insert image via URL":"إدراج صورة عبر عنوان URL","Left aligned image":"صورة بمحاذاة لليسار",Original:"الحجم الأصلي","Resize image":"تغيير حجم الصورة","Resize image to %0":"تغيير حجم الصورة إلى %0","Resize image to the original size":"تغيير حجم الصورة إلى الحجم الأصلي","Right aligned image":"صورة بمحاذاة لليمين","Side image":"صورة جانبية","Text alternative":"النص البديل",Update:"تحديث","Update image URL":"عنوان URL الخاص بتحديث الصورة","Upload failed":"فشل الرفع","Wrap text":"التفاف النص"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/ast.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/ast.js index c118ac0d9..685c508dd 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/ast.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/ast.js @@ -1 +1 @@ -!function(e){const a=e.ast=e.ast||{};a.dictionary=Object.assign(a.dictionary||{},{"Break text":"","Centered image":"","Change image text alternative":"","Enter image caption":"","Full size image":"Imaxen a tamañu completu","Image resize list":"","Image toolbar":"","image widget":"complementu d'imaxen","In line":"",Insert:"","Insert image":"","Insert image via URL":"","Left aligned image":"",Original:"","Resize image":"","Resize image to %0":"","Resize image to the original size":"","Right aligned image":"","Side image":"Imaxen llateral","Text alternative":"",Update:"","Update image URL":"","Upload failed":"","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const a=e.ast=e.ast||{};a.dictionary=Object.assign(a.dictionary||{},{"Break text":"","Caption for image: %0":"","Caption for the image":"","Centered image":"","Change image text alternative":"","Enter image caption":"","Full size image":"Imaxen a tamañu completu","Image resize list":"","Image toolbar":"","image widget":"complementu d'imaxen","In line":"",Insert:"","Insert image":"","Insert image via URL":"","Left aligned image":"",Original:"","Resize image":"","Resize image to %0":"","Resize image to the original size":"","Right aligned image":"","Side image":"Imaxen llateral","Text alternative":"",Update:"","Update image URL":"","Upload failed":"","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/az.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/az.js index b548f9e08..8a4da966c 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/az.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/az.js @@ -1 +1 @@ -!function(e){const i=e.az=e.az||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"","Centered image":"Mərkəzə düzləndir","Change image text alternative":"Alternativ mətni redaktə et","Enter image caption":"Şəkil başlığı daxil edin","Full size image":"Tam ölçülü şəkili","Image resize list":"","Image toolbar":"Şəkil paneli","image widget":"Şəkil vidgetı","In line":"",Insert:"","Insert image":"Şəkili əlavə et","Insert image via URL":"","Left aligned image":"Soldan düzləndir",Original:"","Resize image":"","Resize image to %0":"","Resize image to the original size":"","Right aligned image":"Sağdan düzləndir","Side image":"Yan şəkil","Text alternative":"Alternativ mətn",Update:"","Update image URL":"","Upload failed":"Şəkili serverə yüklə","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(i){const e=i.az=i.az||{};e.dictionary=Object.assign(e.dictionary||{},{"Break text":"","Caption for image: %0":"","Caption for the image":"","Centered image":"Mərkəzə düzləndir","Change image text alternative":"Alternativ mətni redaktə et","Enter image caption":"Şəkil başlığı daxil edin","Full size image":"Tam ölçülü şəkili","Image resize list":"","Image toolbar":"Şəkil paneli","image widget":"Şəkil vidgetı","In line":"",Insert:"","Insert image":"Şəkili əlavə et","Insert image via URL":"","Left aligned image":"Soldan düzləndir",Original:"","Resize image":"","Resize image to %0":"","Resize image to the original size":"","Right aligned image":"Sağdan düzləndir","Side image":"Yan şəkil","Text alternative":"Alternativ mətn",Update:"","Update image URL":"","Upload failed":"Şəkili serverə yüklə","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/bg.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/bg.js index d7dd30549..cb194a10e 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/bg.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/bg.js @@ -1 +1 @@ -!function(e){const i=e.bg=e.bg||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"","Centered image":"","Change image text alternative":"","Enter image caption":"","Full size image":"","Image resize list":"","Image toolbar":"","image widget":"Компонент за изображение","In line":"",Insert:"","Insert image":"Вмъкни изображение","Insert image via URL":"","Left aligned image":"",Original:"","Resize image":"","Resize image to %0":"","Resize image to the original size":"","Right aligned image":"","Side image":"","Text alternative":"",Update:"","Update image URL":"","Upload failed":"","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const i=e.bg=e.bg||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"Раздели текст","Caption for image: %0":"Заглавие на изображението: %0","Caption for the image":"Заглавие на изображението","Centered image":"Центрирано изображение","Change image text alternative":"Промени изображението на текстовата алтернатива","Enter image caption":"Въведи описание на изображението","Full size image":"Изображение в пълен размер","Image resize list":"Списък с промените на размера на изображението","Image toolbar":"Лента с изображения","image widget":"Компонент за изображение","In line":"В линия",Insert:"Вмъкни","Insert image":"Вмъкни изображение","Insert image via URL":"Въведи изображение чрез URL","Left aligned image":"Изображение подравнено вляво",Original:"Оригинал","Resize image":"Промени размера на изображението","Resize image to %0":"Промени размера на изображението на %0","Resize image to the original size":"Възстанови оригиналния размер на изображението","Right aligned image":"Изображение подравнено вдясно","Side image":"Странично изображение","Text alternative":"Текстова алтернатива",Update:"Обнови","Update image URL":"Обнови URL на изображението","Upload failed":"Качването е неуспешно","Wrap text":"Събери текст"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/bn.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/bn.js new file mode 100644 index 000000000..5a9bc26d6 --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/bn.js @@ -0,0 +1 @@ +!function(e){const i=e.bn=e.bn||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"টেক্সট ভেঙ্গে ফেলুন","Caption for image: %0":"ছবির জন্য ক্যাপশন: %0","Caption for the image":"ছবির জন্য ক্যাপশন","Centered image":"কেন্দ্রীভূত ছবি","Change image text alternative":"ছবির টেক্সট বিকল্প পরিবর্তন","Enter image caption":"ছবির ক্যাপশন লিখুন","Full size image":"সম্পূর্ণ আকারের ছবি","Image resize list":"ছবির আকার পরিবর্তনের তালিকা","Image toolbar":"ছবির টুলবার","image widget":"ছবির উইজেট","In line":"সঙ্গতিপূর্ণভাবে",Insert:"ঢোকান","Insert image":"ছবি ঢোকান","Insert image via URL":"URL এর মাধ্যমে ছবি ঢোকান","Left aligned image":"বাম সারিবদ্ধ ছবি",Original:"মূল","Resize image":"ছবির আকার পরিবর্তন করুন","Resize image to %0":"ছবি %0 আকার পরিবর্তন করুন","Resize image to the original size":"মূল আকারে ছবির আকার পরিবর্তন করুন","Right aligned image":"ডানে সারিবদ্ধ ছবি","Side image":"পার্শ্ব ছবি","Text alternative":"টেক্সট বিকল্প",Update:"আপডেট করুন","Update image URL":"ছবির URL আপডেট করুন","Upload failed":"আপলোড ব্যর্থ হয়েছে","Wrap text":"টেক্সট মোড়ানো"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/bs.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/bs.js index 71260c4d1..0a562fa51 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/bs.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/bs.js @@ -1 +1 @@ -!function(i){const e=i.bs=i.bs||{};e.dictionary=Object.assign(e.dictionary||{},{"Break text":"","Centered image":"Centrirana slika","Change image text alternative":"Promijeni ALT atribut za sliku","Enter image caption":"Unesi naziv slike","Full size image":"","Image resize list":"Lista veličina slike","Image toolbar":"","image widget":"","In line":"",Insert:"Umetni","Insert image":"Umetni sliku","Insert image via URL":"Umetni sliku preko URLa","Left aligned image":"Lijevo poravnata slika",Original:"Original","Resize image":"Promijeni veličinu slike","Resize image to %0":"","Resize image to the original size":"Postavi originalnu veličinu slike","Right aligned image":"Desno poravnata slika","Side image":"","Text alternative":"ALT atribut",Update:"Ažuriraj","Update image URL":"Ažuriraj URL slike","Upload failed":"Učitavanje slike nije uspjelo","Wrap text":"Prelomi tekst"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(i){const e=i.bs=i.bs||{};e.dictionary=Object.assign(e.dictionary||{},{"Break text":"","Caption for image: %0":"","Caption for the image":"","Centered image":"Centrirana slika","Change image text alternative":"Promijeni ALT atribut za sliku","Enter image caption":"Unesi naziv slike","Full size image":"","Image resize list":"Lista veličina slike","Image toolbar":"","image widget":"","In line":"",Insert:"Umetni","Insert image":"Umetni sliku","Insert image via URL":"Umetni sliku preko URLa","Left aligned image":"Lijevo poravnata slika",Original:"Original","Resize image":"Promijeni veličinu slike","Resize image to %0":"","Resize image to the original size":"Postavi originalnu veličinu slike","Right aligned image":"Desno poravnata slika","Side image":"","Text alternative":"ALT atribut",Update:"Ažuriraj","Update image URL":"Ažuriraj URL slike","Upload failed":"Učitavanje slike nije uspjelo","Wrap text":"Prelomi tekst"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/ca.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/ca.js new file mode 100644 index 000000000..aee79b45b --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/ca.js @@ -0,0 +1 @@ +!function(a){const e=a.ca=a.ca||{};e.dictionary=Object.assign(e.dictionary||{},{"Break text":"Partir el text","Caption for image: %0":"Peu de foto: %0","Caption for the image":"Peu de foto","Centered image":"Imatge centrada","Change image text alternative":"Canviar l'alternativa del text de la imatge","Enter image caption":"Introduir el peu de foto de la imatge","Full size image":"Imatge a mida completa","Image resize list":"Llista de redimensionament de la imatge","Image toolbar":"Barra d'eines d'imatge","image widget":"giny d'imatge","In line":"A la línia",Insert:"Introduir","Insert image":"Introduir la imatge","Insert image via URL":"Introduir la imatge mitjançant l'URL","Left aligned image":"Imatge alineada a l'esquerra",Original:"Original","Resize image":"Redimensionar la imatge","Resize image to %0":"Redimensiona la imatge a %0","Resize image to the original size":"Redimensiona la imatge a la mida original","Right aligned image":"Imatge alineada a la dreta","Side image":"Imatge lateral","Text alternative":"Alternativa de text",Update:"Actualitzar","Update image URL":"Actualitzar l'URL de la imatge","Upload failed":"No s'ha pogut carregar","Wrap text":"Embolcallar el text"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/cs.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/cs.js index cb73d3472..912c0b583 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/cs.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/cs.js @@ -1 +1 @@ -!function(e){const t=e.cs=e.cs||{};t.dictionary=Object.assign(t.dictionary||{},{"Break text":"Obtékání textu","Centered image":"Obrázek zarovnaný na střed","Change image text alternative":"Změnit alternativní text obrázku","Enter image caption":"Zadejte popis obrázku","Full size image":"Obrázek v plné velikosti","Image resize list":"Seznam možností změny velikosti","Image toolbar":"Panel nástrojů obrázku","image widget":"ovládací prvek obrázku","In line":"Rovnoběžně s textem",Insert:"Vložit","Insert image":"Vložit obrázek","Insert image via URL":"Vložit obrázek pomocí URL","Left aligned image":"Obrázek zarovnaný vlevo",Original:"Originální","Resize image":"Změnit velikost","Resize image to %0":"Změnit velikost na %0","Resize image to the original size":"Změnit velikost na původní velikost","Right aligned image":"Obrázek zarovnaný vpravo","Side image":"Postranní obrázek","Text alternative":"Alternativní text",Update:"Aktualizovat","Update image URL":"Aktualizovat URL obrázku","Upload failed":"Nahrání selhalo","Wrap text":"Text nahoře a dole"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const i=e.cs=e.cs||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"Obtékání textu","Caption for image: %0":"Popisek k obrázku: %0","Caption for the image":"Popisek k obrázku","Centered image":"Obrázek zarovnaný na střed","Change image text alternative":"Změnit alternativní text obrázku","Enter image caption":"Zadejte popis obrázku","Full size image":"Obrázek v plné velikosti","Image resize list":"Seznam možností změny velikosti","Image toolbar":"Panel nástrojů obrázku","image widget":"ovládací prvek obrázku","In line":"Rovnoběžně s textem",Insert:"Vložit","Insert image":"Vložit obrázek","Insert image via URL":"Vložit obrázek pomocí URL","Left aligned image":"Obrázek zarovnaný vlevo",Original:"Originální","Resize image":"Změnit velikost","Resize image to %0":"Změnit velikost na %0","Resize image to the original size":"Změnit velikost na původní velikost","Right aligned image":"Obrázek zarovnaný vpravo","Side image":"Postranní obrázek","Text alternative":"Alternativní text",Update:"Aktualizovat","Update image URL":"Aktualizovat URL obrázku","Upload failed":"Nahrání selhalo","Wrap text":"Text nahoře a dole"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/da.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/da.js index d4ded0753..1880c9290 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/da.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/da.js @@ -1 +1 @@ -!function(e){const i=e.da=e.da||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"","Centered image":"Centreret billede","Change image text alternative":"Skift alternativ billedtekst","Enter image caption":"Indtast billedoverskrift","Full size image":"Fuld billedstørrelse","Image resize list":"","Image toolbar":"Billedværktøjslinje","image widget":"billed widget","In line":"",Insert:"","Insert image":"Indsæt billede","Insert image via URL":"","Left aligned image":"Venstrestillet billede",Original:"","Resize image":"","Resize image to %0":"","Resize image to the original size":"","Right aligned image":"Højrestillet billede","Side image":"Sidebillede","Text alternative":"Alternativ tekst",Update:"","Update image URL":"","Upload failed":"Upload fejlede","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const i=e.da=e.da||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"Opdel tekst","Caption for image: %0":"Billedtekst for billede: %0","Caption for the image":"Billedtekst for billedet","Centered image":"Centreret billede","Change image text alternative":"Skift alternativ billedtekst","Enter image caption":"Indtast billedoverskrift","Full size image":"Fuld billedstørrelse","Image resize list":"Liste over justering af billedstørrelse","Image toolbar":"Billedværktøjslinje","image widget":"billed widget","In line":"På linje",Insert:"Indsæt","Insert image":"Indsæt billede","Insert image via URL":"Indsæt billede via URL","Left aligned image":"Venstrestillet billede",Original:"Original","Resize image":"Juster billedstørrelse","Resize image to %0":"Juster billedstørrelse til %0","Resize image to the original size":"Juster billedstørrelse til original størrelse","Right aligned image":"Højrestillet billede","Side image":"Sidebillede","Text alternative":"Alternativ tekst",Update:"Opdater","Update image URL":"Opdater billed-URL","Upload failed":"Upload fejlede","Wrap text":"Ombryd tekst"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/de-ch.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/de-ch.js index 9cb057c97..ad30a52ff 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/de-ch.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/de-ch.js @@ -1 +1 @@ -!function(e){const i=e["de-ch"]=e["de-ch"]||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"","Centered image":"zentriertes Bild","Change image text alternative":"Alternativtext ändern","Enter image caption":"Bildunterschrift eingeben","Full size image":"Bild in voller Grösse","Image resize list":"Bildgrössen-Liste","Image toolbar":"Bild Werkzeugleiste","image widget":"Bild-Steuerelement","In line":"",Insert:"Einfügen","Insert image":"Bild einfügen","Insert image via URL":"Bild von URL einfügen","Left aligned image":"linksbündiges Bild",Original:"Original","Resize image":"Bildgrösse ändern","Resize image to %0":"Bildgrösse ändern in %0","Resize image to the original size":"Originalgrösse wiederherstellen","Right aligned image":"rechtsbündiges Bild","Side image":"Ausgerichtetes Bild","Text alternative":"Alternativtext",Update:"Aktualisieren","Update image URL":"Bild-URL aktualisieren","Upload failed":"Hochladen fehlgeschlagen","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const i=e["de-ch"]=e["de-ch"]||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"","Caption for image: %0":"","Caption for the image":"","Centered image":"zentriertes Bild","Change image text alternative":"Alternativtext ändern","Enter image caption":"Bildunterschrift eingeben","Full size image":"Bild in voller Grösse","Image resize list":"Bildgrössen-Liste","Image toolbar":"Bild Werkzeugleiste","image widget":"Bild-Steuerelement","In line":"",Insert:"Einfügen","Insert image":"Bild einfügen","Insert image via URL":"Bild von URL einfügen","Left aligned image":"linksbündiges Bild",Original:"Original","Resize image":"Bildgrösse ändern","Resize image to %0":"Bildgrösse ändern in %0","Resize image to the original size":"Originalgrösse wiederherstellen","Right aligned image":"rechtsbündiges Bild","Side image":"Ausgerichtetes Bild","Text alternative":"Alternativtext",Update:"Aktualisieren","Update image URL":"Bild-URL aktualisieren","Upload failed":"Hochladen fehlgeschlagen","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/de.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/de.js index 2887f60a8..45d2d1e7d 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/de.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/de.js @@ -1 +1 @@ -!function(e){const i=e.de=e.de||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"Bild teilt Text","Centered image":"Zentriertes Bild","Change image text alternative":"Alternativtext ändern","Enter image caption":"Bildunterschrift eingeben","Full size image":"Bild in voller Größe","Image resize list":"Bildgrößen-Liste","Image toolbar":"Bild Werkzeugleiste","image widget":"Bild-Steuerelement","In line":"Text in Zeile",Insert:"Einfügen","Insert image":"Bild einfügen","Insert image via URL":"Bild von URL einfügen","Left aligned image":"Linksbündiges Bild",Original:"Original","Resize image":"Bildgröße ändern","Resize image to %0":"Bildgröße ändern in %0","Resize image to the original size":"Bild in Originalgröße ändern","Right aligned image":"Rechtsbündiges Bild","Side image":"Seitenbild","Text alternative":"Alternativtext",Update:"Aktualisieren","Update image URL":"Bild-URL aktualisieren","Upload failed":"Hochladen fehlgeschlagen","Wrap text":"Text umfließt Bild"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const i=e.de=e.de||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"Bild teilt Text","Caption for image: %0":"Bildunterschrift: %0","Caption for the image":"Bildunterschrift","Centered image":"Zentriertes Bild","Change image text alternative":"Alternativtext ändern","Enter image caption":"Bildunterschrift eingeben","Full size image":"Bild in voller Größe","Image resize list":"Bildgrößen-Liste","Image toolbar":"Bild Werkzeugleiste","image widget":"Bild-Steuerelement","In line":"Text in Zeile",Insert:"Einfügen","Insert image":"Bild einfügen","Insert image via URL":"Bild von URL einfügen","Left aligned image":"Linksbündiges Bild",Original:"Original","Resize image":"Bildgröße ändern","Resize image to %0":"Bildgröße ändern in %0","Resize image to the original size":"Bild in Originalgröße ändern","Right aligned image":"Rechtsbündiges Bild","Side image":"Seitenbild","Text alternative":"Alternativtext",Update:"Aktualisieren","Update image URL":"Bild-URL aktualisieren","Upload failed":"Hochladen fehlgeschlagen","Wrap text":"Text umfließt Bild"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/el.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/el.js index 801f8b9d3..44ea12ca3 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/el.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/el.js @@ -1 +1 @@ -!function(e){const i=e.el=e.el||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"Κατάτμηση κειμένου","Centered image":"Εικόνα με στοίχιση στο κέντρο","Change image text alternative":"Αλλαγή εναλλακτικού κείμενου εικόνας","Enter image caption":"Εισαγωγή λεζάντας εικόνας","Full size image":"Εικόνα σε πλήρες μέγεθος","Image resize list":"Λίστα μεγεθών εικόνων","Image toolbar":"Γραμμή εργαλείων εικόνας","image widget":"Γραφικό στοιχείο εικόνας","In line":"Εντός γραμμής",Insert:"Εισαγωγή","Insert image":"Εισαγωγή εικόνας","Insert image via URL":"Εισαγωγή εικόνας μέσω διεύθυνσης","Left aligned image":"Εικόνα με αριστερή στοίχιση",Original:"Αρχικό","Resize image":"Αλλαγή μεγέθους εικόνας","Resize image to %0":"Αλλαγή μεγέθους σε %0","Resize image to the original size":"Αλλαγή μεγέθους εικόνας στο αρχικό μέγεθος","Right aligned image":"Εικόνα με δεξιά στοίχιση","Side image":"Πλευρική εικόνα","Text alternative":"Εναλλακτικό κείμενο",Update:"Ενημέρωση","Update image URL":"Ενημέρωση διεύθυνσης εικόνας","Upload failed":"Η αποστολή απέτυχε","Wrap text":"Αναδίπλωση κειμένου"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const i=e.el=e.el||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"Κατάτμηση κειμένου","Caption for image: %0":"Λεζάντα για την εικόνα: %0","Caption for the image":"Λεζάντα για την εικόνα","Centered image":"Εικόνα με στοίχιση στο κέντρο","Change image text alternative":"Αλλαγή εναλλακτικού κείμενου εικόνας","Enter image caption":"Εισαγωγή λεζάντας εικόνας","Full size image":"Εικόνα σε πλήρες μέγεθος","Image resize list":"Λίστα μεγεθών εικόνων","Image toolbar":"Γραμμή εργαλείων εικόνας","image widget":"Γραφικό στοιχείο εικόνας","In line":"Εντός γραμμής",Insert:"Εισαγωγή","Insert image":"Εισαγωγή εικόνας","Insert image via URL":"Εισαγωγή εικόνας μέσω διεύθυνσης","Left aligned image":"Εικόνα με αριστερή στοίχιση",Original:"Αρχικό","Resize image":"Αλλαγή μεγέθους εικόνας","Resize image to %0":"Αλλαγή μεγέθους σε %0","Resize image to the original size":"Αλλαγή μεγέθους εικόνας στο αρχικό μέγεθος","Right aligned image":"Εικόνα με δεξιά στοίχιση","Side image":"Πλευρική εικόνα","Text alternative":"Εναλλακτικό κείμενο",Update:"Ενημέρωση","Update image URL":"Ενημέρωση διεύθυνσης εικόνας","Upload failed":"Η αποστολή απέτυχε","Wrap text":"Αναδίπλωση κειμένου"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/en-au.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/en-au.js index d23c0982b..856e5bcbc 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/en-au.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/en-au.js @@ -1 +1 @@ -!function(e){const i=e["en-au"]=e["en-au"]||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"Break text","Centered image":"Centred image","Change image text alternative":"Change image text alternative","Enter image caption":"Enter image caption","Full size image":"Full size image","Image resize list":"Image resize list","Image toolbar":"Image toolbar","image widget":"image widget","In line":"In line",Insert:"Insert","Insert image":"Insert image","Insert image via URL":"Insert image via URL","Left aligned image":"Left aligned image",Original:"Original","Resize image":"Resize image","Resize image to %0":"Resize image to %0","Resize image to the original size":"Resize image to the original size","Right aligned image":"Right aligned image","Side image":"Side image","Text alternative":"Text alternative",Update:"Update","Update image URL":"Update image URL","Upload failed":"Upload failed","Wrap text":"Wrap text"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const i=e["en-au"]=e["en-au"]||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"Break text","Caption for image: %0":"","Caption for the image":"","Centered image":"Centred image","Change image text alternative":"Change image text alternative","Enter image caption":"Enter image caption","Full size image":"Full size image","Image resize list":"Image resize list","Image toolbar":"Image toolbar","image widget":"image widget","In line":"In line",Insert:"Insert","Insert image":"Insert image","Insert image via URL":"Insert image via URL","Left aligned image":"Left aligned image",Original:"Original","Resize image":"Resize image","Resize image to %0":"Resize image to %0","Resize image to the original size":"Resize image to the original size","Right aligned image":"Right aligned image","Side image":"Side image","Text alternative":"Text alternative",Update:"Update","Update image URL":"Update image URL","Upload failed":"Upload failed","Wrap text":"Wrap text"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/en-gb.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/en-gb.js index 3a7eeddaf..ee61e6d6b 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/en-gb.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/en-gb.js @@ -1 +1 @@ -!function(e){const i=e["en-gb"]=e["en-gb"]||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"","Centered image":"Centred image","Change image text alternative":"Change image text alternative","Enter image caption":"Enter image caption","Full size image":"Full size image","Image resize list":"","Image toolbar":"","image widget":"Image widget","In line":"",Insert:"","Insert image":"Insert image","Insert image via URL":"","Left aligned image":"Left aligned image",Original:"","Resize image":"","Resize image to %0":"","Resize image to the original size":"","Right aligned image":"Right aligned image","Side image":"Side image","Text alternative":"Text alternative",Update:"","Update image URL":"","Upload failed":"Upload failed","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const i=e["en-gb"]=e["en-gb"]||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"","Caption for image: %0":"","Caption for the image":"","Centered image":"Centred image","Change image text alternative":"Change image text alternative","Enter image caption":"Enter image caption","Full size image":"Full size image","Image resize list":"","Image toolbar":"","image widget":"Image widget","In line":"",Insert:"","Insert image":"Insert image","Insert image via URL":"","Left aligned image":"Left aligned image",Original:"","Resize image":"","Resize image to %0":"","Resize image to the original size":"","Right aligned image":"Right aligned image","Side image":"Side image","Text alternative":"Text alternative",Update:"","Update image URL":"","Upload failed":"Upload failed","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/eo.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/eo.js index ec45f0792..546b536cc 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/eo.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/eo.js @@ -1 +1 @@ -!function(e){const i=e.eo=e.eo||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"","Centered image":"","Change image text alternative":"Ŝanĝu la alternativan tekston de la bildo","Enter image caption":"Skribu klarigon pri la bildo","Full size image":"Bildo kun reala dimensio","Image resize list":"","Image toolbar":"","image widget":"bilda fenestraĵo","In line":"",Insert:"","Insert image":"Enmetu bildon","Insert image via URL":"","Left aligned image":"",Original:"","Resize image":"","Resize image to %0":"","Resize image to the original size":"","Right aligned image":"","Side image":"Flanka biildo","Text alternative":"Alternativa teksto",Update:"","Update image URL":"","Upload failed":"","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const i=e.eo=e.eo||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"","Caption for image: %0":"","Caption for the image":"","Centered image":"","Change image text alternative":"Ŝanĝu la alternativan tekston de la bildo","Enter image caption":"Skribu klarigon pri la bildo","Full size image":"Bildo kun reala dimensio","Image resize list":"","Image toolbar":"","image widget":"bilda fenestraĵo","In line":"",Insert:"","Insert image":"Enmetu bildon","Insert image via URL":"","Left aligned image":"",Original:"","Resize image":"","Resize image to %0":"","Resize image to the original size":"","Right aligned image":"","Side image":"Flanka biildo","Text alternative":"Alternativa teksto",Update:"","Update image URL":"","Upload failed":"","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/es.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/es.js index 287e1f86d..b1721ed7c 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/es.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/es.js @@ -1 +1 @@ -!function(a){const e=a.es=a.es||{};e.dictionary=Object.assign(e.dictionary||{},{"Break text":"Permitir quebrar texto","Centered image":"Imagen centrada","Change image text alternative":"Cambiar el texto alternativo de la imagen","Enter image caption":"Introducir título de la imagen","Full size image":"Imagen a tamaño completo","Image resize list":"Listado para redimensionar imagen","Image toolbar":"Barra de herramientas de imagen","image widget":"Widget de imagen","In line":"En línea",Insert:"Insertar","Insert image":"Insertar imagen","Insert image via URL":"Insertar imagen vía URL","Left aligned image":"Imagen alineada a la izquierda",Original:"Original","Resize image":"Redimensionar imagen","Resize image to %0":"Redimensionar imagen al %0","Resize image to the original size":"Redimensionar imagen al tamaño original","Right aligned image":"Imagen alineada a la derecha","Side image":"Imagen lateral","Text alternative":"Texto alternativo",Update:"Actualizar","Update image URL":"Actualizar imagen vía URL","Upload failed":"Fallo en la subida","Wrap text":"Mantener texto unido"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(a){const e=a.es=a.es||{};e.dictionary=Object.assign(e.dictionary||{},{"Break text":"Permitir quebrar texto","Caption for image: %0":"Título de la imagen: %0","Caption for the image":"Descripción de la imagen","Centered image":"Imagen centrada","Change image text alternative":"Cambiar el texto alternativo de la imagen","Enter image caption":"Introducir título de la imagen","Full size image":"Imagen a tamaño completo","Image resize list":"Listado para redimensionar imagen","Image toolbar":"Barra de herramientas de imagen","image widget":"Widget de imagen","In line":"En línea",Insert:"Insertar","Insert image":"Insertar imagen","Insert image via URL":"Insertar imagen vía URL","Left aligned image":"Imagen alineada a la izquierda",Original:"Original","Resize image":"Redimensionar imagen","Resize image to %0":"Redimensionar imagen al %0","Resize image to the original size":"Redimensionar imagen al tamaño original","Right aligned image":"Imagen alineada a la derecha","Side image":"Imagen lateral","Text alternative":"Texto alternativo",Update:"Actualizar","Update image URL":"Actualizar imagen vía URL","Upload failed":"Fallo en la subida","Wrap text":"Mantener texto unido"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/et.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/et.js index 58ac0d50e..fe3160ecd 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/et.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/et.js @@ -1 +1 @@ -!function(e){const i=e.et=e.et||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"","Centered image":"Keskele joondatud pilt","Change image text alternative":"Muuda pildi asenduskirjeldust","Enter image caption":"Sisesta pildi pealkiri","Full size image":"Täissuuruses pilt","Image resize list":"","Image toolbar":"Piltide tööriistariba","image widget":"pildi vidin","In line":"",Insert:"","Insert image":"Siseta pilt","Insert image via URL":"","Left aligned image":"Vasakule joondatud pilt",Original:"","Resize image":"","Resize image to %0":"","Resize image to the original size":"","Right aligned image":"Paremale joondatud pilt","Side image":"Pilt küljel","Text alternative":"Asenduskirjeldus",Update:"","Update image URL":"","Upload failed":"Üleslaadimine ebaõnnestus","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(i){const e=i.et=i.et||{};e.dictionary=Object.assign(e.dictionary||{},{"Break text":"Murra teksti","Caption for image: %0":"Pildi pealkiri: %0","Caption for the image":"Pildi pealkiri","Centered image":"Keskele joondatud pilt","Change image text alternative":"Muuda pildi asenduskirjeldust","Enter image caption":"Sisesta pildi pealkiri","Full size image":"Täissuuruses pilt","Image resize list":"Pildi suuruse muutmise loend","Image toolbar":"Piltide tööriistariba","image widget":"pildi vidin","In line":"Joone sees",Insert:"Sisesta","Insert image":"Siseta pilt","Insert image via URL":"Sisesta pilt läbi URL-i","Left aligned image":"Vasakule joondatud pilt",Original:"Algne","Resize image":"Muuda pildi suurust","Resize image to %0":"Muuda pilt suurusesse %0","Resize image to the original size":"Muuda pilt algsuurusesse","Right aligned image":"Paremale joondatud pilt","Side image":"Pilt küljel","Text alternative":"Asenduskirjeldus",Update:"Uuenda","Update image URL":"Uuenda pildi URL-i","Upload failed":"Üleslaadimine ebaõnnestus","Wrap text":"Murra teksti ridu"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/eu.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/eu.js index ad577e988..a6109de1f 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/eu.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/eu.js @@ -1 +1 @@ -!function(e){const a=e.eu=e.eu||{};a.dictionary=Object.assign(a.dictionary||{},{"Break text":"","Centered image":"Zentratutako irudia","Change image text alternative":"Aldatu irudiaren ordezko testua","Enter image caption":"Sartu irudiaren epigrafea","Full size image":"Tamaina osoko irudia","Image resize list":"","Image toolbar":"","image widget":"irudi widgeta","In line":"",Insert:"","Insert image":"Txertatu irudia","Insert image via URL":"","Left aligned image":"Ezkerrean lerrokatutako irudia",Original:"","Resize image":"","Resize image to %0":"","Resize image to the original size":"","Right aligned image":"Eskuinean lerrokatutako irudia","Side image":"Alboko irudia","Text alternative":"Ordezko testua",Update:"","Update image URL":"","Upload failed":"Kargatzeak huts egin du","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const a=e.eu=e.eu||{};a.dictionary=Object.assign(a.dictionary||{},{"Break text":"","Caption for image: %0":"","Caption for the image":"","Centered image":"Zentratutako irudia","Change image text alternative":"Aldatu irudiaren ordezko testua","Enter image caption":"Sartu irudiaren epigrafea","Full size image":"Tamaina osoko irudia","Image resize list":"","Image toolbar":"","image widget":"irudi widgeta","In line":"",Insert:"","Insert image":"Txertatu irudia","Insert image via URL":"","Left aligned image":"Ezkerrean lerrokatutako irudia",Original:"","Resize image":"","Resize image to %0":"","Resize image to the original size":"","Right aligned image":"Eskuinean lerrokatutako irudia","Side image":"Alboko irudia","Text alternative":"Ordezko testua",Update:"","Update image URL":"","Upload failed":"Kargatzeak huts egin du","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/fa.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/fa.js index 37b4f5262..3e807e402 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/fa.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/fa.js @@ -1 +1 @@ -!function(e){const i=e.fa=e.fa||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"","Centered image":"تصویر در وسط","Change image text alternative":"تغییر متن جایگزین تصویر","Enter image caption":"عنوان تصویر را وارد کنید","Full size image":"تصویر در اندازه کامل","Image resize list":"","Image toolbar":"نوارابزار تصویر","image widget":"ابزاره تصویر","In line":"",Insert:"","Insert image":"قرار دادن تصویر","Insert image via URL":"","Left aligned image":"تصویر تراز شده چپ",Original:"","Resize image":"","Resize image to %0":"","Resize image to the original size":"","Right aligned image":"تصویر تراز شده راست","Side image":"تصویر جانبی","Text alternative":"متن جایگزین",Update:"","Update image URL":"","Upload failed":"آپلود ناموفق بود","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const i=e.fa=e.fa||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"","Caption for image: %0":"","Caption for the image":"","Centered image":"تصویر در وسط","Change image text alternative":"تغییر متن جایگزین تصویر","Enter image caption":"عنوان تصویر را وارد کنید","Full size image":"تصویر در اندازه کامل","Image resize list":"","Image toolbar":"نوارابزار تصویر","image widget":"ابزاره تصویر","In line":"",Insert:"","Insert image":"قرار دادن تصویر","Insert image via URL":"","Left aligned image":"تصویر تراز شده چپ",Original:"","Resize image":"","Resize image to %0":"","Resize image to the original size":"","Right aligned image":"تصویر تراز شده راست","Side image":"تصویر جانبی","Text alternative":"متن جایگزین",Update:"","Update image URL":"","Upload failed":"آپلود ناموفق بود","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/fi.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/fi.js index ae773bc28..2c729a7a0 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/fi.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/fi.js @@ -1 +1 @@ -!function(e){const i=e.fi=e.fi||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"","Centered image":"Keskitetty kuva","Change image text alternative":"Vaihda kuvan vaihtoehtoinen teksti","Enter image caption":"Syötä kuvateksti","Full size image":"Täysikokoinen kuva","Image resize list":"","Image toolbar":"","image widget":"Kuvavimpain","In line":"",Insert:"","Insert image":"Lisää kuva","Insert image via URL":"","Left aligned image":"Vasemmalle tasattu kuva",Original:"","Resize image":"","Resize image to %0":"","Resize image to the original size":"","Right aligned image":"Oikealle tasattu kuva","Side image":"Pieni kuva","Text alternative":"Vaihtoehtoinen teksti",Update:"","Update image URL":"","Upload failed":"Lataus epäonnistui","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(i){const a=i.fi=i.fi||{};a.dictionary=Object.assign(a.dictionary||{},{"Break text":"Irrota teksti","Caption for image: %0":"Kuvan kuvateksti: %0","Caption for the image":"Kuvan kuvateksti","Centered image":"Keskitetty kuva","Change image text alternative":"Vaihda kuvan vaihtoehtoinen teksti","Enter image caption":"Syötä kuvateksti","Full size image":"Täysikokoinen kuva","Image resize list":"Kuvan koon muokkaamisen lista","Image toolbar":"Kuvan työkalupalkki","image widget":"Kuvavimpain","In line":"Rivin sisällä",Insert:"Liitä","Insert image":"Lisää kuva","Insert image via URL":"Liitä kuva URL-koodin kautta","Left aligned image":"Vasemmalle tasattu kuva",Original:"Alkuperäinen","Resize image":"Muokkaa kuvan kokoa","Resize image to %0":"Muokkaa kuvan kooksi %0","Resize image to the original size":"Vaihda kuvan koko alkuperäiseen kokoon","Right aligned image":"Oikealle tasattu kuva","Side image":"Pieni kuva","Text alternative":"Vaihtoehtoinen teksti",Update:"Päivitä","Update image URL":"Päivitä kuvan URL","Upload failed":"Lataus epäonnistui","Wrap text":"Sovita teksti"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/fr.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/fr.js index fea11ec11..959dea113 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/fr.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/fr.js @@ -1 +1 @@ -!function(e){const i=e.fr=e.fr||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"","Centered image":"Image centrée","Change image text alternative":"Changer le texte alternatif à l’image","Enter image caption":"Saisir la légende de l’image","Full size image":"Image taille réelle","Image resize list":"Liste des tailles d'images","Image toolbar":"Barre d'outils des images","image widget":"Objet image","In line":"",Insert:"Insérer","Insert image":"Insérer une image","Insert image via URL":"Insérer une image à partir d'une URL","Left aligned image":"Image alignée à gauche",Original:"Taille originale","Resize image":"Redimensionner l'image","Resize image to %0":"Redimensionner à %0","Resize image to the original size":"Appliquer les dimensions d'origine","Right aligned image":"Image alignée à droite","Side image":"Image latérale","Text alternative":"Texte alternatif",Update:"Modifier","Update image URL":"Modifier l'URL de l'image","Upload failed":"Échec de l'envoi","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const i=e.fr=e.fr||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"Saut de ligne","Caption for image: %0":"Légende de l'image : %0","Caption for the image":"Légende de l'image","Centered image":"Image centrée","Change image text alternative":"Changer le texte alternatif à l’image","Enter image caption":"Saisir la légende de l’image","Full size image":"Image taille réelle","Image resize list":"Liste des tailles d'images","Image toolbar":"Barre d'outils des images","image widget":"Objet image","In line":"Aligné",Insert:"Insérer","Insert image":"Insérer une image","Insert image via URL":"Insérer une image à partir d'une URL","Left aligned image":"Image alignée à gauche",Original:"Taille originale","Resize image":"Redimensionner l'image","Resize image to %0":"Redimensionner à %0","Resize image to the original size":"Appliquer les dimensions d'origine","Right aligned image":"Image alignée à droite","Side image":"Image latérale","Text alternative":"Texte alternatif",Update:"Modifier","Update image URL":"Modifier l'URL de l'image","Upload failed":"Échec de l'envoi","Wrap text":"Retour à la ligne"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/gl.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/gl.js index 77aa51554..ee367fbf5 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/gl.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/gl.js @@ -1 +1 @@ -!function(a){const e=a.gl=a.gl||{};e.dictionary=Object.assign(e.dictionary||{},{"Break text":"Romper o texto","Centered image":"Imaxe centrada horizontalmente","Change image text alternative":"Cambiar o texto alternativo da imaxe","Enter image caption":"Introduza o título da imaxe","Full size image":"Imaxe a tamaño completo","Image resize list":"Lista de tamaños de imaxe","Image toolbar":"Barra de ferramentas de imaxe","image widget":"Trebello de imaxe","In line":"En liña",Insert:"Inserir","Insert image":"Inserir imaxe","Insert image via URL":"Inserir imaxe a través de URL","Left aligned image":"Imaxe aliñada á esquerda",Original:"Orixinal","Resize image":"Redimensionar a imaxe","Resize image to %0":"Redimensionar a imaxe ao %0","Resize image to the original size":"Aplicar o tamaño orixinal da imaxe","Right aligned image":"Imaxe aliñada á dereita","Side image":"Lado da imaxe","Text alternative":"Texto alternativo",Update:"Actualizar","Update image URL":"Actualizar o URL da imaxe","Upload failed":"Fallou o envío","Wrap text":"Envolver o texto"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(a){const e=a.gl=a.gl||{};e.dictionary=Object.assign(e.dictionary||{},{"Break text":"Romper o texto","Caption for image: %0":"Lenda da imaxe: %0","Caption for the image":"Lenda da imaxe","Centered image":"Imaxe centrada horizontalmente","Change image text alternative":"Cambiar o texto alternativo da imaxe","Enter image caption":"Introduza o título da imaxe","Full size image":"Imaxe a tamaño completo","Image resize list":"Lista de tamaños de imaxe","Image toolbar":"Barra de ferramentas de imaxe","image widget":"Trebello de imaxe","In line":"En liña",Insert:"Inserir","Insert image":"Inserir imaxe","Insert image via URL":"Inserir imaxe a través de URL","Left aligned image":"Imaxe aliñada á esquerda",Original:"Orixinal","Resize image":"Redimensionar a imaxe","Resize image to %0":"Redimensionar a imaxe ao %0","Resize image to the original size":"Aplicar o tamaño orixinal da imaxe","Right aligned image":"Imaxe aliñada á dereita","Side image":"Lado da imaxe","Text alternative":"Texto alternativo",Update:"Actualizar","Update image URL":"Actualizar o URL da imaxe","Upload failed":"Fallou o envío","Wrap text":"Envolver o texto"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/he.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/he.js index 7b173be5d..86f606e38 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/he.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/he.js @@ -1 +1 @@ -!function(e){const i=e.he=e.he||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"","Centered image":"תמונה ממרוכזת","Change image text alternative":"שינוי טקסט אלטרנטיבי לתמונה","Enter image caption":"הזן כותרת תמונה","Full size image":"תמונה בפריסה מלאה","Image resize list":"","Image toolbar":"סרגל תמונה","image widget":"תמונה","In line":"",Insert:"","Insert image":"הוספת תמונה","Insert image via URL":"","Left aligned image":"תמונה מיושרת לשמאל",Original:"","Resize image":"","Resize image to %0":"","Resize image to the original size":"","Right aligned image":"תמונה מיושרת לימין","Side image":"תמונת צד","Text alternative":"טקסט אלטרנטיבי",Update:"","Update image URL":"","Upload failed":"העלאה נכשלה","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const i=e.he=e.he||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"שבירת טקסט","Caption for image: %0":"כותרת עבור תמונה: %0","Caption for the image":"כותרת עבור התמונה","Centered image":"תמונה ממרוכזת","Change image text alternative":"שינוי טקסט אלטרנטיבי לתמונה","Enter image caption":"הזן כותרת תמונה","Full size image":"תמונה בפריסה מלאה","Image resize list":"רשימת שינוי גודל תמונה","Image toolbar":"סרגל תמונה","image widget":"תמונה","In line":"בתוך השורה",Insert:"הכנס","Insert image":"הוספת תמונה","Insert image via URL":"הכנסת תמונה באמצעות קישור","Left aligned image":"תמונה מיושרת לשמאל",Original:"גודל מקורי","Resize image":"שנה גודל תמונה","Resize image to %0":"שנה את גודל התמונה ל-%0","Resize image to the original size":"שנה את גודל התמונה לגודל המקורי","Right aligned image":"תמונה מיושרת לימין","Side image":"תמונת צד","Text alternative":"טקסט אלטרנטיבי",Update:"עדכן","Update image URL":"עדכן את כתובת ה-URL של התמונה","Upload failed":"העלאה נכשלה","Wrap text":"גלישת טקסט"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/hi.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/hi.js index 419fbc609..d36197a15 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/hi.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/hi.js @@ -1 +1 @@ -!function(e){const i=e.hi=e.hi||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"","Centered image":"Centered image","Change image text alternative":"Change image text alternative","Enter image caption":"Enter image caption","Full size image":"Full size image","Image resize list":"Image resize list","Image toolbar":"Image toolbar","image widget":"image widget","In line":"",Insert:"Insert","Insert image":"Insert image","Insert image via URL":"Insert image via URL","Left aligned image":"Left aligned image",Original:"Original","Resize image":"Resize image","Resize image to %0":"Resize image to %0","Resize image to the original size":"Resize image to the original size","Right aligned image":"Right aligned image","Side image":"Side image","Text alternative":"Text alternative",Update:"Update","Update image URL":"Update image URL","Upload failed":"Upload failed","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const i=e.hi=e.hi||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"टेक्स्ट तोड़ें","Caption for image: %0":"छवि के लिए कैप्शन: %0","Caption for the image":"छवि के लिए कैप्शन","Centered image":"Centered image","Change image text alternative":"Change image text alternative","Enter image caption":"Enter image caption","Full size image":"Full size image","Image resize list":"Image resize list","Image toolbar":"Image toolbar","image widget":"image widget","In line":"इन - लाइन",Insert:"Insert","Insert image":"Insert image","Insert image via URL":"Insert image via URL","Left aligned image":"Left aligned image",Original:"Original","Resize image":"Resize image","Resize image to %0":"Resize image to %0","Resize image to the original size":"Resize image to the original size","Right aligned image":"Right aligned image","Side image":"Side image","Text alternative":"Text alternative",Update:"Update","Update image URL":"Update image URL","Upload failed":"Upload failed","Wrap text":"टेक्स्ट रैप करें"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/hr.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/hr.js index fdb937666..80f1363d1 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/hr.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/hr.js @@ -1 +1 @@ -!function(i){const e=i.hr=i.hr||{};e.dictionary=Object.assign(e.dictionary||{},{"Break text":"Prelomi tekst","Centered image":"Centrirana slika","Change image text alternative":"Promijeni alternativni tekst slike","Enter image caption":"Unesite naslov slike","Full size image":"Slika pune veličine","Image resize list":"Lista veličina slika","Image toolbar":"Traka za slike","image widget":"Slika widget","In line":"U istom redu",Insert:"Ubaci","Insert image":"Umetni sliku","Insert image via URL":"Ubaci sliku putem URLa","Left aligned image":"Lijevo poravnata slika",Original:"Original","Resize image":"Promijeni veličinu slike","Resize image to %0":"Promijeni veličinu slike u %0","Resize image to the original size":"Vrati veličinu slike na originalnu veličinu","Right aligned image":"Slika poravnata desno","Side image":"Slika sa strane","Text alternative":"Alternativni tekst",Update:"Snimi","Update image URL":"Snimi URL slike","Upload failed":"Slanje nije uspjelo","Wrap text":"Prelamanje teksta"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(i){const e=i.hr=i.hr||{};e.dictionary=Object.assign(e.dictionary||{},{"Break text":"Prelomi tekst","Caption for image: %0":"","Caption for the image":"","Centered image":"Centrirana slika","Change image text alternative":"Promijeni alternativni tekst slike","Enter image caption":"Unesite naslov slike","Full size image":"Slika pune veličine","Image resize list":"Lista veličina slika","Image toolbar":"Traka za slike","image widget":"Slika widget","In line":"U istom redu",Insert:"Ubaci","Insert image":"Umetni sliku","Insert image via URL":"Ubaci sliku putem URLa","Left aligned image":"Lijevo poravnata slika",Original:"Original","Resize image":"Promijeni veličinu slike","Resize image to %0":"Promijeni veličinu slike u %0","Resize image to the original size":"Vrati veličinu slike na originalnu veličinu","Right aligned image":"Slika poravnata desno","Side image":"Slika sa strane","Text alternative":"Alternativni tekst",Update:"Snimi","Update image URL":"Snimi URL slike","Upload failed":"Slanje nije uspjelo","Wrap text":"Prelamanje teksta"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/hu.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/hu.js index 391e4d1cc..39c4deba8 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/hu.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/hu.js @@ -1 +1 @@ -!function(e){const t=e.hu=e.hu||{};t.dictionary=Object.assign(t.dictionary||{},{"Break text":"Sortörés","Centered image":"Középre igazított kép","Change image text alternative":"Helyettesítő szöveg módosítása","Enter image caption":"Képaláírás megadása","Full size image":"Teljes méretű kép","Image resize list":"Kép átméretezési lista","Image toolbar":"Kép eszköztár","image widget":"képmodul","In line":"Soron belül",Insert:"Beszúrás","Insert image":"Kép beszúrása","Insert image via URL":"Kép beszúrása URL alapján","Left aligned image":"Balra igazított kép",Original:"Eredeti","Resize image":"Kép átméretezése","Resize image to %0":"Kép méretezése %0","Resize image to the original size":"Kép méretezése az eredeti méretre","Right aligned image":"Jobbra igazított kép","Side image":"Oldalsó kép","Text alternative":"Helyettesítő szöveg",Update:"Módosítás","Update image URL":"Kép URL módosítása","Upload failed":"A feltöltés nem sikerült","Wrap text":"Körbefuttatás"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const t=e.hu=e.hu||{};t.dictionary=Object.assign(t.dictionary||{},{"Break text":"Sortörés","Caption for image: %0":"Képfelirat: %0","Caption for the image":"Felirat a képhez","Centered image":"Középre igazított kép","Change image text alternative":"Helyettesítő szöveg módosítása","Enter image caption":"Képaláírás megadása","Full size image":"Teljes méretű kép","Image resize list":"Kép átméretezési lista","Image toolbar":"Kép eszköztár","image widget":"képmodul","In line":"Soron belül",Insert:"Beszúrás","Insert image":"Kép beszúrása","Insert image via URL":"Kép beszúrása URL alapján","Left aligned image":"Balra igazított kép",Original:"Eredeti","Resize image":"Kép átméretezése","Resize image to %0":"Kép méretezése %0","Resize image to the original size":"Kép méretezése az eredeti méretre","Right aligned image":"Jobbra igazított kép","Side image":"Oldalsó kép","Text alternative":"Helyettesítő szöveg",Update:"Módosítás","Update image URL":"Kép URL módosítása","Upload failed":"A feltöltés nem sikerült","Wrap text":"Körbefuttatás"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/id.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/id.js index 18c11858f..a5110ae01 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/id.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/id.js @@ -1 +1 @@ -!function(a){const e=a.id=a.id||{};e.dictionary=Object.assign(e.dictionary||{},{"Break text":"Pecahkan teks","Centered image":"Gambar rata tengah","Change image text alternative":"Ganti alternatif teks gambar","Enter image caption":"Tambahkan deskripsi gambar","Full size image":"Gambar ukuran penuh","Image resize list":"Daftar ukuran gambar","Image toolbar":"Alat gambar","image widget":"widget gambar","In line":"Sebaris",Insert:"Sisipkan","Insert image":"Sisipkan gambar","Insert image via URL":"Sisipkan gambar melalui URL","Left aligned image":"Gambar rata kiri",Original:"Asli","Resize image":"Ubah ukuran gambar","Resize image to %0":"Ubah ukuran gambar ke %0","Resize image to the original size":"Ubah ukuran gambar ke ukuran asli","Right aligned image":"Gambar rata kanan","Side image":"Gambar sisi","Text alternative":"Alternatif teks",Update:"Perbarui","Update image URL":"Perbarui URL gambar","Upload failed":"Gagal mengunggah","Wrap text":"Bungkus teks"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(a){const e=a.id=a.id||{};e.dictionary=Object.assign(e.dictionary||{},{"Break text":"Pecahkan teks","Caption for image: %0":"Keterangan gambar: %0","Caption for the image":"Keterangan untuk gambar","Centered image":"Gambar rata tengah","Change image text alternative":"Ganti alternatif teks gambar","Enter image caption":"Tambahkan deskripsi gambar","Full size image":"Gambar ukuran penuh","Image resize list":"Daftar ukuran gambar","Image toolbar":"Alat gambar","image widget":"widget gambar","In line":"Sebaris",Insert:"Sisipkan","Insert image":"Sisipkan gambar","Insert image via URL":"Sisipkan gambar melalui URL","Left aligned image":"Gambar rata kiri",Original:"Asli","Resize image":"Ubah ukuran gambar","Resize image to %0":"Ubah ukuran gambar ke %0","Resize image to the original size":"Ubah ukuran gambar ke ukuran asli","Right aligned image":"Gambar rata kanan","Side image":"Gambar sisi","Text alternative":"Alternatif teks",Update:"Perbarui","Update image URL":"Perbarui URL gambar","Upload failed":"Gagal mengunggah","Wrap text":"Bungkus teks"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/it.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/it.js index 5bea07dc6..d8b42a250 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/it.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/it.js @@ -1 +1 @@ -!function(i){const e=i.it=i.it||{};e.dictionary=Object.assign(e.dictionary||{},{"Break text":"Interrompi testo","Centered image":"Immagine centrata","Change image text alternative":"Cambia testo alternativo dell'immagine","Enter image caption":"inserire didascalia dell'immagine","Full size image":"Immagine a dimensione intera","Image resize list":"Elenco ridimensionamenti immagine","Image toolbar":"Barra degli strumenti dell'immagine","image widget":"Widget immagine","In line":"In linea",Insert:"Inserisci","Insert image":"Inserisci immagine","Insert image via URL":"Inserisci immagine tramite URL","Left aligned image":"Immagine allineata a sinistra",Original:"Originale","Resize image":"Ridimensiona immagine","Resize image to %0":"Ridimensiona immagine a %0","Resize image to the original size":"Ridimensiona immagine alle dimensioni originali","Right aligned image":"Immagine allineata a destra","Side image":"Immagine laterale","Text alternative":"Testo alternativo",Update:"Aggiorna","Update image URL":"Aggiorna URL immagine","Upload failed":"Caricamento fallito","Wrap text":"Testo a capo"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(i){const e=i.it=i.it||{};e.dictionary=Object.assign(e.dictionary||{},{"Break text":"Interrompi testo","Caption for image: %0":"Didascalia dell'immagine: %0","Caption for the image":"Didascalia dell'immagine","Centered image":"Immagine centrata","Change image text alternative":"Cambia testo alternativo dell'immagine","Enter image caption":"inserire didascalia dell'immagine","Full size image":"Immagine a dimensione intera","Image resize list":"Elenco ridimensionamenti immagine","Image toolbar":"Barra degli strumenti dell'immagine","image widget":"Widget immagine","In line":"In linea",Insert:"Inserisci","Insert image":"Inserisci immagine","Insert image via URL":"Inserisci immagine tramite URL","Left aligned image":"Immagine allineata a sinistra",Original:"Originale","Resize image":"Ridimensiona immagine","Resize image to %0":"Ridimensiona immagine a %0","Resize image to the original size":"Ridimensiona immagine alle dimensioni originali","Right aligned image":"Immagine allineata a destra","Side image":"Immagine laterale","Text alternative":"Testo alternativo",Update:"Aggiorna","Update image URL":"Aggiorna URL immagine","Upload failed":"Caricamento fallito","Wrap text":"Testo a capo"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/ja.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/ja.js index c75865a9d..8eecf3a46 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/ja.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/ja.js @@ -1 +1 @@ -!function(e){const i=e.ja=e.ja||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"","Centered image":"中央寄せ画像","Change image text alternative":"画像の代替テキストを変更","Enter image caption":"画像の注釈を入力","Full size image":"フルサイズ画像","Image resize list":"画像サイズリスト","Image toolbar":"画像","image widget":"画像ウィジェット","In line":"",Insert:"挿入","Insert image":"画像挿入","Insert image via URL":"画像URLを挿入","Left aligned image":"左寄せ画像",Original:"オリジナル","Resize image":"画像サイズ","Resize image to %0":"画像サイズを%0に変更","Resize image to the original size":"画像サイズを元のサイズに変更","Right aligned image":"右寄せ画像","Side image":"サイドイメージ","Text alternative":"代替テキスト",Update:"更新","Update image URL":"画像URLを更新","Upload failed":"アップロード失敗","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const i=e.ja=e.ja||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"テキストを分割する","Caption for image: %0":"画像キャプション:%0","Caption for the image":"画像キャプション","Centered image":"中央寄せ画像","Change image text alternative":"画像の代替テキストを変更","Enter image caption":"画像の注釈を入力","Full size image":"フルサイズ画像","Image resize list":"画像サイズリスト","Image toolbar":"画像","image widget":"画像ウィジェット","In line":"インライン",Insert:"挿入","Insert image":"画像挿入","Insert image via URL":"画像URLを挿入","Left aligned image":"左寄せ画像",Original:"オリジナル","Resize image":"画像サイズ","Resize image to %0":"画像サイズを%0に変更","Resize image to the original size":"画像サイズを元のサイズに変更","Right aligned image":"右寄せ画像","Side image":"サイドイメージ","Text alternative":"代替テキスト",Update:"更新","Update image URL":"画像URLを更新","Upload failed":"アップロード失敗","Wrap text":"テキストを折り返す"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/jv.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/jv.js index f2816c6f7..1d97bcff0 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/jv.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/jv.js @@ -1 +1 @@ -!function(a){const e=a.jv=a.jv||{};e.dictionary=Object.assign(e.dictionary||{},{"Break text":"","Centered image":"Gambar ing tengah","Change image text alternative":"","Enter image caption":"","Full size image":"Gambar ukuran kebak","Image resize list":"","Image toolbar":"","image widget":"","In line":"",Insert:"Tambah","Insert image":"Tambahaken gambar","Insert image via URL":"Tambah gambar saking URL","Left aligned image":"Gambar ing kiwa",Original:"Asli","Resize image":"","Resize image to %0":"","Resize image to the original size":"","Right aligned image":"Gambar ing tengen","Side image":"","Text alternative":"",Update:"","Update image URL":"","Upload failed":"","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(a){const e=a.jv=a.jv||{};e.dictionary=Object.assign(e.dictionary||{},{"Break text":"","Caption for image: %0":"","Caption for the image":"","Centered image":"Gambar ing tengah","Change image text alternative":"","Enter image caption":"","Full size image":"Gambar ukuran kebak","Image resize list":"","Image toolbar":"","image widget":"","In line":"",Insert:"Tambah","Insert image":"Tambahaken gambar","Insert image via URL":"Tambah gambar saking URL","Left aligned image":"Gambar ing kiwa",Original:"Asli","Resize image":"","Resize image to %0":"","Resize image to the original size":"","Right aligned image":"Gambar ing tengen","Side image":"","Text alternative":"",Update:"","Update image URL":"","Upload failed":"","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/km.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/km.js index cbcb040e2..c416b3c69 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/km.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/km.js @@ -1 +1 @@ -!function(e){const i=e.km=e.km||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"","Centered image":"","Change image text alternative":"","Enter image caption":"បញ្ចូល​ពាក្យ​ពណ៌នា​រូបភាព","Full size image":"រូបភាព​ពេញ​ទំហំ","Image resize list":"","Image toolbar":"","image widget":"វិដជិត​រូបភាព","In line":"",Insert:"","Insert image":"បញ្ចូល​រូបភាព","Insert image via URL":"","Left aligned image":"",Original:"","Resize image":"","Resize image to %0":"","Resize image to the original size":"","Right aligned image":"","Side image":"រូបភាព​នៅ​ខាង","Text alternative":"",Update:"","Update image URL":"","Upload failed":"អាប់ឡូត​មិនបាន","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const i=e.km=e.km||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"","Caption for image: %0":"","Caption for the image":"","Centered image":"","Change image text alternative":"","Enter image caption":"បញ្ចូល​ពាក្យ​ពណ៌នា​រូបភាព","Full size image":"រូបភាព​ពេញ​ទំហំ","Image resize list":"","Image toolbar":"","image widget":"វិដជិត​រូបភាព","In line":"",Insert:"","Insert image":"បញ្ចូល​រូបភាព","Insert image via URL":"","Left aligned image":"",Original:"","Resize image":"","Resize image to %0":"","Resize image to the original size":"","Right aligned image":"","Side image":"រូបភាព​នៅ​ខាង","Text alternative":"",Update:"","Update image URL":"","Upload failed":"អាប់ឡូត​មិនបាន","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/kn.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/kn.js index b5a1179d0..c6cb870b9 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/kn.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/kn.js @@ -1 +1 @@ -!function(e){const i=e.kn=e.kn||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"","Centered image":"","Change image text alternative":"‍ಚಿತ್ರದ ಬದಲಿ ಪಠ್ಯ ಬದಲಾಯಿಸು","Enter image caption":"‍ಚಿತ್ರದ ಶೀರ್ಷಿಕೆ ಸೇರಿಸು","Full size image":"‍ಪೂರ್ಣ ‍‍ಅಳತೆಯ ಚಿತ್ರ","Image resize list":"","Image toolbar":"","image widget":"‍ಚಿತ್ರ ವಿಜೆಟ್","In line":"",Insert:"","Insert image":"","Insert image via URL":"","Left aligned image":"",Original:"","Resize image":"","Resize image to %0":"","Resize image to the original size":"","Right aligned image":"","Side image":"‍ಪಕ್ಕದ ಚಿತ್ರ","Text alternative":"‍ಪಠ್ಯದ ಬದಲಿ",Update:"","Update image URL":"","Upload failed":"","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const i=e.kn=e.kn||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"","Caption for image: %0":"","Caption for the image":"","Centered image":"","Change image text alternative":"‍ಚಿತ್ರದ ಬದಲಿ ಪಠ್ಯ ಬದಲಾಯಿಸು","Enter image caption":"‍ಚಿತ್ರದ ಶೀರ್ಷಿಕೆ ಸೇರಿಸು","Full size image":"‍ಪೂರ್ಣ ‍‍ಅಳತೆಯ ಚಿತ್ರ","Image resize list":"","Image toolbar":"","image widget":"‍ಚಿತ್ರ ವಿಜೆಟ್","In line":"",Insert:"","Insert image":"","Insert image via URL":"","Left aligned image":"",Original:"","Resize image":"","Resize image to %0":"","Resize image to the original size":"","Right aligned image":"","Side image":"‍ಪಕ್ಕದ ಚಿತ್ರ","Text alternative":"‍ಪಠ್ಯದ ಬದಲಿ",Update:"","Update image URL":"","Upload failed":"","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/ko.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/ko.js index 13d9a76c8..9b578e84b 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/ko.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/ko.js @@ -1 +1 @@ -!function(e){const i=e.ko=e.ko||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"","Centered image":"가운데 정렬","Change image text alternative":"대체 문구 변경","Enter image caption":"사진 설명을 입력하세요","Full size image":"꽉 찬 크기","Image resize list":"사진 크기 목록","Image toolbar":"사진 툴바","image widget":"사진 위젯","In line":"",Insert:"","Insert image":"사진 삽입","Insert image via URL":"","Left aligned image":"왼쪽 정렬",Original:"원본","Resize image":"사진 크기 조절","Resize image to %0":"사진의 크기를 %0으로 조절","Resize image to the original size":"사진을 원래 크기로 돌려놓기","Right aligned image":"오른쪽 정렬","Side image":"본문 옆에 배치","Text alternative":"대체 문구",Update:"","Update image URL":"","Upload failed":"업로드 실패","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const i=e.ko=e.ko||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"텍스트 분리","Caption for image: %0":"이미지용 캡션: %0","Caption for the image":"이미지용 캡션","Centered image":"가운데 정렬","Change image text alternative":"대체 문구 변경","Enter image caption":"사진 설명을 입력하세요","Full size image":"꽉 찬 크기","Image resize list":"사진 크기 목록","Image toolbar":"사진 툴바","image widget":"사진 위젯","In line":"줄 안에",Insert:"삽입","Insert image":"사진 삽입","Insert image via URL":"URL로 이미지 삽입","Left aligned image":"왼쪽 정렬",Original:"원본","Resize image":"사진 크기 조절","Resize image to %0":"사진의 크기를 %0으로 조절","Resize image to the original size":"사진을 원래 크기로 돌려놓기","Right aligned image":"오른쪽 정렬","Side image":"본문 옆에 배치","Text alternative":"대체 문구",Update:"업데이트","Update image URL":"이미지 URL 업데이트","Upload failed":"업로드 실패","Wrap text":"텍스트 줄 바꿈"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/ku.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/ku.js index 5bdc65575..4e6159908 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/ku.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/ku.js @@ -1 +1 @@ -!function(e){const i=e.ku=e.ku||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"","Centered image":"ناوەڕاستکراوی وێنە","Change image text alternative":"گۆڕینی جێگروەی تێکیسی وێنە","Enter image caption":"سەردێڕی وێنە دابنێ","Full size image":"پڕ بەقەبارەی وێنە","Image resize list":"","Image toolbar":"تووڵامرازی وێنە","image widget":"وێدجیتی وێنە","In line":"",Insert:"","Insert image":"وێنە دابنێ","Insert image via URL":"","Left aligned image":"ڕیزکردنی وێنە بۆ لای چەپ",Original:"","Resize image":"","Resize image to %0":"","Resize image to the original size":"","Right aligned image":"ڕیزکردنی وێنە بۆ لای ڕاست","Side image":"لای وێنە","Text alternative":"جێگرەوەی تێکست",Update:"","Update image URL":"","Upload failed":"بارکردنەکە سەرنەکەووت","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const i=e.ku=e.ku||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"","Caption for image: %0":"","Caption for the image":"","Centered image":"ناوەڕاستکراوی وێنە","Change image text alternative":"گۆڕینی جێگروەی تێکیسی وێنە","Enter image caption":"سەردێڕی وێنە دابنێ","Full size image":"پڕ بەقەبارەی وێنە","Image resize list":"","Image toolbar":"تووڵامرازی وێنە","image widget":"وێدجیتی وێنە","In line":"",Insert:"","Insert image":"وێنە دابنێ","Insert image via URL":"","Left aligned image":"ڕیزکردنی وێنە بۆ لای چەپ",Original:"","Resize image":"","Resize image to %0":"","Resize image to the original size":"","Right aligned image":"ڕیزکردنی وێنە بۆ لای ڕاست","Side image":"لای وێنە","Text alternative":"جێگرەوەی تێکست",Update:"","Update image URL":"","Upload failed":"بارکردنەکە سەرنەکەووت","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/lt.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/lt.js index 14439ae1d..1090ff40f 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/lt.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/lt.js @@ -1 +1 @@ -!function(e){const i=e.lt=e.lt||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"","Centered image":"Vaizdas centre","Change image text alternative":"Pakeisti vaizdo alternatyvųjį tekstą","Enter image caption":"Įveskite vaizdo antraštę","Full size image":"Pilno dydžio vaizdas","Image resize list":"","Image toolbar":"","image widget":"vaizdų valdiklis","In line":"",Insert:"","Insert image":"Įterpti vaizdą","Insert image via URL":"","Left aligned image":"Vaizdas kairėje",Original:"","Resize image":"","Resize image to %0":"","Resize image to the original size":"","Right aligned image":"Vaizdas dešinėje","Side image":"Vaizdas šone","Text alternative":"Alternatyvusis tekstas",Update:"","Update image URL":"","Upload failed":"Įkelti nepavyko","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(i){const a=i.lt=i.lt||{};a.dictionary=Object.assign(a.dictionary||{},{"Break text":"Suskaidyti tekstą","Caption for image: %0":"Vaizdo antraštė: %0","Caption for the image":"Vaizdo antraštė","Centered image":"Vaizdas centre","Change image text alternative":"Pakeisti vaizdo alternatyvųjį tekstą","Enter image caption":"Įveskite vaizdo antraštę","Full size image":"Pilno dydžio vaizdas","Image resize list":"Paveikslėlio dydžio keitimo sąrašas","Image toolbar":"Paveikslėlių įrankių juosta","image widget":"vaizdų valdiklis","In line":"tolygiai",Insert:"Įkelti","Insert image":"Įterpti vaizdą","Insert image via URL":"Įkelti paveikslėlį naudojant URL","Left aligned image":"Vaizdas kairėje",Original:"Originalus","Resize image":"Pakeisti paveikslėlio dydį","Resize image to %0":"Pakeisti paveikslėlio dydį į %0","Resize image to the original size":"Pakeisti paveikslėlio dydį į originalų","Right aligned image":"Vaizdas dešinėje","Side image":"Vaizdas šone","Text alternative":"Alternatyvusis tekstas",Update:"Atnaujinti","Update image URL":"Atnaujinti paveikslėlio URL","Upload failed":"Įkelti nepavyko","Wrap text":"Perkelti tekstą į kitą eilutę"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/lv.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/lv.js index c9ce4759a..89f921982 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/lv.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/lv.js @@ -1 +1 @@ -!function(t){const a=t.lv=t.lv||{};a.dictionary=Object.assign(a.dictionary||{},{"Break text":"Pārtraukt tekstu","Centered image":"Centrēts attēls","Change image text alternative":"Mainīt attēla alternatīvo tekstu","Enter image caption":"Ievadiet attēla parakstu","Full size image":"Pilna izmēra attēls","Image resize list":"Attēla izmēru saraksts","Image toolbar":"Attēlu rīkjosla","image widget":"attēla sīkrīks","In line":"Rindā",Insert:"Ievietot","Insert image":"Ievietot attēlu","Insert image via URL":"Ievietot attēlu, izmantojot saiti","Left aligned image":"Pa kreisi līdzināts attēls",Original:"Oriģināls","Resize image":"Mainīt attēla izmērus","Resize image to %0":"Mainīt attēla izmēru uz %0","Resize image to the original size":"Mainīt attēla izmēru uz oriģinālo izmēru","Right aligned image":"Pa labi līdzināts attēls","Side image":"Sānā novietots attēls","Text alternative":"Alternatīvais teksts",Update:"Atjaunināt","Update image URL":"Labot attēla avota saiti","Upload failed":"Augšupielāde neizdevusies","Wrap text":"Aplauzt tekstu"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(t){const a=t.lv=t.lv||{};a.dictionary=Object.assign(a.dictionary||{},{"Break text":"Pārtraukt tekstu","Caption for image: %0":"Attēla virsraksts: %0","Caption for the image":"Attēla virsraksts","Centered image":"Centrēts attēls","Change image text alternative":"Mainīt attēla alternatīvo tekstu","Enter image caption":"Ievadiet attēla parakstu","Full size image":"Pilna izmēra attēls","Image resize list":"Attēla izmēru saraksts","Image toolbar":"Attēlu rīkjosla","image widget":"attēla sīkrīks","In line":"Rindā",Insert:"Ievietot","Insert image":"Ievietot attēlu","Insert image via URL":"Ievietot attēlu, izmantojot saiti","Left aligned image":"Pa kreisi līdzināts attēls",Original:"Oriģināls","Resize image":"Mainīt attēla izmērus","Resize image to %0":"Mainīt attēla izmēru uz %0","Resize image to the original size":"Mainīt attēla izmēru uz oriģinālo izmēru","Right aligned image":"Pa labi līdzināts attēls","Side image":"Sānā novietots attēls","Text alternative":"Alternatīvais teksts",Update:"Atjaunināt","Update image URL":"Labot attēla avota saiti","Upload failed":"Augšupielāde neizdevusies","Wrap text":"Aplauzt tekstu"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/ms.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/ms.js new file mode 100644 index 000000000..65aff92b6 --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/ms.js @@ -0,0 +1 @@ +!function(a){const e=a.ms=a.ms||{};e.dictionary=Object.assign(e.dictionary||{},{"Break text":"Potong teks","Caption for image: %0":"Kapsyen untuk imej: %0","Caption for the image":"Kapsyen untuk imej","Centered image":"Imej berjajar tengah","Change image text alternative":"Tukar alternatif teks imej","Enter image caption":"Masukkan kapsyen imej","Full size image":"Imej bersaiz penuh","Image resize list":"Senarai saizkan semula imej ","Image toolbar":"Bar alat capaian imej","image widget":"widget imej","In line":"Dalam baris",Insert:"Masukkan","Insert image":"Masukkan imej","Insert image via URL":"Masukkan imej melalui URL","Left aligned image":"Imej berjajar kiri",Original:"Asal","Resize image":"Saizkan semula imej","Resize image to %0":"Saizkan semula imej kepada %0","Resize image to the original size":"Saizkan semula imej kepada saiz asal","Right aligned image":"Imej berjajar kanan","Side image":"Sisi imej","Text alternative":"Alternatif teks",Update:"Kemaskini","Update image URL":"Kemaskini URL imej","Upload failed":"Muat naik gagal","Wrap text":"Balut teks"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/nb.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/nb.js index af0d54bdc..29f71a208 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/nb.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/nb.js @@ -1 +1 @@ -!function(e){const i=e.nb=e.nb||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"","Centered image":"Midtstilt bilde","Change image text alternative":"Endre tekstalternativ for bilde","Enter image caption":"Skriv inn bildetekst","Full size image":"Bilde i full størrelse","Image resize list":"","Image toolbar":"","image widget":"Bilde-widget","In line":"",Insert:"","Insert image":"Sett inn bilde","Insert image via URL":"","Left aligned image":"Venstrejustert bilde",Original:"","Resize image":"","Resize image to %0":"","Resize image to the original size":"","Right aligned image":"Høyrejustert bilde","Side image":"Sidebilde","Text alternative":"Tekstalternativ for bilde",Update:"","Update image URL":"","Upload failed":"Opplasting feilet","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const i=e.nb=e.nb||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"","Caption for image: %0":"","Caption for the image":"","Centered image":"Midtstilt bilde","Change image text alternative":"Endre tekstalternativ for bilde","Enter image caption":"Skriv inn bildetekst","Full size image":"Bilde i full størrelse","Image resize list":"","Image toolbar":"","image widget":"Bilde-widget","In line":"",Insert:"","Insert image":"Sett inn bilde","Insert image via URL":"","Left aligned image":"Venstrejustert bilde",Original:"","Resize image":"","Resize image to %0":"","Resize image to the original size":"","Right aligned image":"Høyrejustert bilde","Side image":"Sidebilde","Text alternative":"Tekstalternativ for bilde",Update:"","Update image URL":"","Upload failed":"Opplasting feilet","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/ne.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/ne.js index c44d00961..f6dca6021 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/ne.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/ne.js @@ -1 +1 @@ -!function(e){const i=e.ne=e.ne||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"","Centered image":"केन्द्रित तस्वीर","Change image text alternative":"तस्वीर पाठ विकल्प परिवर्तन गर्नुहोस्","Enter image caption":"तस्वीर क्याप्शन प्रविष्ट गर्नुहोस्","Full size image":"पूर्ण आकार तस्वीर","Image resize list":"","Image toolbar":"","image widget":"तस्वीर विजेट","In line":"",Insert:"","Insert image":"तस्वीर सम्मिलित गर्नुहोस्","Insert image via URL":"","Left aligned image":"बायाँ पङ्क्ति तस्वीर",Original:"","Resize image":"","Resize image to %0":"","Resize image to the original size":"","Right aligned image":"दायाँ पङ्क्तिबद्ध तस्वीर","Side image":"साइड तस्वीर","Text alternative":"पाठ विकल्प",Update:"","Update image URL":"","Upload failed":"अपलोड असफल भयो","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const i=e.ne=e.ne||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"","Caption for image: %0":"","Caption for the image":"","Centered image":"केन्द्रित तस्वीर","Change image text alternative":"तस्वीर पाठ विकल्प परिवर्तन गर्नुहोस्","Enter image caption":"तस्वीर क्याप्शन प्रविष्ट गर्नुहोस्","Full size image":"पूर्ण आकार तस्वीर","Image resize list":"","Image toolbar":"","image widget":"तस्वीर विजेट","In line":"",Insert:"","Insert image":"तस्वीर सम्मिलित गर्नुहोस्","Insert image via URL":"","Left aligned image":"बायाँ पङ्क्ति तस्वीर",Original:"","Resize image":"","Resize image to %0":"","Resize image to the original size":"","Right aligned image":"दायाँ पङ्क्तिबद्ध तस्वीर","Side image":"साइड तस्वीर","Text alternative":"पाठ विकल्प",Update:"","Update image URL":"","Upload failed":"अपलोड असफल भयो","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/nl.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/nl.js index 4fd380d7c..86563f047 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/nl.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/nl.js @@ -1 +1 @@ -!function(e){const i=e.nl=e.nl||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"","Centered image":"Gecentreerde afbeelding","Change image text alternative":"Verander alt-tekst van de afbeelding","Enter image caption":"Typ een afbeeldingsbijschrift","Full size image":"Afbeelding op volledige grootte","Image resize list":"","Image toolbar":"Afbeeldingswerkbalk","image widget":"afbeeldingswidget","In line":"",Insert:"Invoegen","Insert image":"Afbeelding toevoegen","Insert image via URL":"","Left aligned image":"Links uitgelijnde afbeelding",Original:"Origineel","Resize image":"","Resize image to %0":"","Resize image to the original size":"","Right aligned image":"Rechts uitgelijnde afbeelding","Side image":"Afbeelding naast tekst","Text alternative":"Alt-tekst",Update:"","Update image URL":"","Upload failed":"Uploaden afbeelding mislukt","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const i=e.nl=e.nl||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"Tekst afbreken","Caption for image: %0":"Bijschrift voor afbeelding: %0","Caption for the image":"Bijschrift voor afbeelding","Centered image":"Gecentreerde afbeelding","Change image text alternative":"Verander alt-tekst van de afbeelding","Enter image caption":"Typ een afbeeldingsbijschrift","Full size image":"Afbeelding op volledige grootte","Image resize list":"Lijst voor wijzigen van afbeeldingsformaat","Image toolbar":"Afbeeldingswerkbalk","image widget":"afbeeldingswidget","In line":"In lijn",Insert:"Invoegen","Insert image":"Afbeelding toevoegen","Insert image via URL":"Afbeelding toevoegen via URL","Left aligned image":"Links uitgelijnde afbeelding",Original:"Origineel","Resize image":"Afbeeldingsformaat wijzigen","Resize image to %0":"Afbeeldingsformaat wijzigen naar %0","Resize image to the original size":"Afbeeldingsformaat wijzigen naar originele grootte","Right aligned image":"Rechts uitgelijnde afbeelding","Side image":"Afbeelding naast tekst","Text alternative":"Alt-tekst",Update:"Update","Update image URL":"URL van afbeelding bijwerken","Upload failed":"Uploaden afbeelding mislukt","Wrap text":"Tekstterugloop"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/no.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/no.js index e4c6cd36c..7a730ca7d 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/no.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/no.js @@ -1 +1 @@ -!function(e){const i=e.no=e.no||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"","Centered image":"Midtstilt bilde","Change image text alternative":"Endre tekstalternativ til bildet","Enter image caption":"Skriv inn bildetekst","Full size image":"Bilde i full størrelse","Image resize list":"","Image toolbar":"Verktøylinje for bilde","image widget":"Bilde-widget","In line":"",Insert:"","Insert image":"Sett inn bilde","Insert image via URL":"","Left aligned image":"Venstrejustert bilde",Original:"","Resize image":"","Resize image to %0":"","Resize image to the original size":"","Right aligned image":"Høyrejustert bilde","Side image":"Sidestilt bilde","Text alternative":"Tekstalternativ",Update:"","Update image URL":"","Upload failed":"Kunne ikke laste opp","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const i=e.no=e.no||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"Bryt tekst","Caption for image: %0":"Bildetekst for bilde: %0","Caption for the image":"Bildetekst","Centered image":"Midtstilt bilde","Change image text alternative":"Endre tekstalternativ til bildet","Enter image caption":"Skriv inn bildetekst","Full size image":"Bilde i full størrelse","Image resize list":"Nedtrekksliste for bildestørrelse","Image toolbar":"Verktøylinje for bilde","image widget":"Bilde-widget","In line":"Innlemmet",Insert:"Sett inn","Insert image":"Sett inn bilde","Insert image via URL":"Sett inn bilde via URL","Left aligned image":"Venstrejustert bilde",Original:"Original","Resize image":"Endre bildestørrelse","Resize image to %0":"Endre bildestørrelse til %0","Resize image to the original size":"Endre bildestørrelse til originalstørrelse","Right aligned image":"Høyrejustert bilde","Side image":"Sidestilt bilde","Text alternative":"Tekstalternativ",Update:"Oppdater","Update image URL":"Oppdater bilde-URL","Upload failed":"Kunne ikke laste opp","Wrap text":"Omslutt"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/pl.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/pl.js index 55de93d8a..f084f8448 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/pl.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/pl.js @@ -1 +1 @@ -!function(a){const e=a.pl=a.pl||{};e.dictionary=Object.assign(e.dictionary||{},{"Break text":"","Centered image":"Obraz wyrównany do środka","Change image text alternative":"Zmień tekst zastępczy obrazka","Enter image caption":"Wstaw tytuł obrazka","Full size image":"Obraz w pełnym rozmiarze","Image resize list":"","Image toolbar":"Pasek narzędzi obrazka","image widget":"Obraz","In line":"",Insert:"Wstaw","Insert image":"Wstaw obraz","Insert image via URL":"Wstaw obraz z adresu URL","Left aligned image":"Obraz wyrównany do lewej",Original:"Oryginalny","Resize image":"Zmień rozmiar obrazka","Resize image to %0":"Zmień rozmiar do %0","Resize image to the original size":"Przywróć oryginalny rozmiar obrazu","Right aligned image":"Obraz wyrównany do prawej","Side image":"Obraz dosunięty do brzegu, oblewany tekstem","Text alternative":"Tekst zastępczy obrazka",Update:"Zaktualizuj","Update image URL":"Uaktualnij obraz z adresu URL","Upload failed":"Przesyłanie obrazu nie powiodło się","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(a){const e=a.pl=a.pl||{};e.dictionary=Object.assign(e.dictionary||{},{"Break text":"Rozbijaj tekst","Caption for image: %0":"Nagłówek do obrazu: %0","Caption for the image":"Nagłówek do obrazu","Centered image":"Obraz wyrównany do środka","Change image text alternative":"Zmień tekst zastępczy obrazka","Enter image caption":"Wstaw tytuł obrazka","Full size image":"Obraz w pełnym rozmiarze","Image resize list":"Lista: zmiana wielkości obrazu","Image toolbar":"Pasek narzędzi obrazka","image widget":"Obraz","In line":"W linii",Insert:"Wstaw","Insert image":"Wstaw obraz","Insert image via URL":"Wstaw obraz z adresu URL","Left aligned image":"Obraz wyrównany do lewej",Original:"Oryginalny","Resize image":"Zmień rozmiar obrazka","Resize image to %0":"Zmień rozmiar do %0","Resize image to the original size":"Przywróć oryginalny rozmiar obrazu","Right aligned image":"Obraz wyrównany do prawej","Side image":"Obraz dosunięty do brzegu, oblewany tekstem","Text alternative":"Tekst zastępczy obrazka",Update:"Zaktualizuj","Update image URL":"Uaktualnij obraz z adresu URL","Upload failed":"Przesyłanie obrazu nie powiodło się","Wrap text":"Zawijaj tekst"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/pt-br.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/pt-br.js index c7944f109..8fd09367c 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/pt-br.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/pt-br.js @@ -1 +1 @@ -!function(a){const e=a["pt-br"]=a["pt-br"]||{};e.dictionary=Object.assign(e.dictionary||{},{"Break text":"Quebrar texto","Centered image":"Imagem centralizada","Change image text alternative":"Alterar texto alternativo da imagem","Enter image caption":"Inserir legenda da imagem","Full size image":"Imagem completa","Image resize list":"Lista de redimensionamento de imagem","Image toolbar":"Ferramentas de Imagem","image widget":"Ferramenta de imagem","In line":"Na linha",Insert:"Inserir","Insert image":"Inserir imagem","Insert image via URL":"Inserir imagem via URL","Left aligned image":"Imagem alinhada à esquerda",Original:"Original","Resize image":"Redimensionar imagem","Resize image to %0":"Redimensionar a imagem para %0","Resize image to the original size":"Redimensionar a imagem para o tamanho original","Right aligned image":"Imagem alinhada à direita","Side image":"Imagem lateral","Text alternative":"Texto alternativo",Update:"Atualizar","Update image URL":"Atualizar URL da imagem","Upload failed":"Falha ao subir arquivo","Wrap text":"Texto ao redor"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(a){const e=a["pt-br"]=a["pt-br"]||{};e.dictionary=Object.assign(e.dictionary||{},{"Break text":"Quebrar texto","Caption for image: %0":"Legenda da imagem: %0","Caption for the image":"Legenda para a imagem","Centered image":"Imagem centralizada","Change image text alternative":"Alterar texto alternativo da imagem","Enter image caption":"Inserir legenda da imagem","Full size image":"Imagem completa","Image resize list":"Lista de redimensionamento de imagem","Image toolbar":"Ferramentas de Imagem","image widget":"Ferramenta de imagem","In line":"Na linha",Insert:"Inserir","Insert image":"Inserir imagem","Insert image via URL":"Inserir imagem via URL","Left aligned image":"Imagem alinhada à esquerda",Original:"Original","Resize image":"Redimensionar imagem","Resize image to %0":"Redimensionar a imagem para %0","Resize image to the original size":"Redimensionar a imagem para o tamanho original","Right aligned image":"Imagem alinhada à direita","Side image":"Imagem lateral","Text alternative":"Texto alternativo",Update:"Atualizar","Update image URL":"Atualizar URL da imagem","Upload failed":"Falha ao subir arquivo","Wrap text":"Texto ao redor"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/pt.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/pt.js index 753f6e6a2..de0ff88ca 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/pt.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/pt.js @@ -1 +1 @@ -!function(e){const a=e.pt=e.pt||{};a.dictionary=Object.assign(a.dictionary||{},{"Break text":"","Centered image":"Imagem centrada","Change image text alternative":"","Enter image caption":"Indicar legenda da imagem","Full size image":"Imagem em tamanho completo","Image resize list":"","Image toolbar":"","image widget":"módulo de imagem","In line":"",Insert:"","Insert image":"Inserir imagem","Insert image via URL":"","Left aligned image":"",Original:"","Resize image":"","Resize image to %0":"","Resize image to the original size":"","Right aligned image":"","Side image":"Imagem lateral","Text alternative":"Texto alternativo",Update:"","Update image URL":"","Upload failed":"Falha ao carregar","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const a=e.pt=e.pt||{};a.dictionary=Object.assign(a.dictionary||{},{"Break text":"Quebrar texto","Caption for image: %0":"Legenda da imagem: %0","Caption for the image":"Legenda da imagem","Centered image":"Imagem centrada","Change image text alternative":"Alterar texto alternativo da imagem","Enter image caption":"Indicar legenda da imagem","Full size image":"Imagem em tamanho completo","Image resize list":"Lista de redimensionamento de imagem","Image toolbar":"Barra de ferramentas de imagem","image widget":"módulo de imagem","In line":"Em linha",Insert:"Inserir","Insert image":"Inserir imagem","Insert image via URL":"Inserir imagem através de URL","Left aligned image":"Imagem alinhada à esquerda",Original:"Original","Resize image":"Redimensionar imagem","Resize image to %0":"Redimensionar imagem para %0","Resize image to the original size":"Redimensionar imagem para tamanho original","Right aligned image":"Imagem alinhada à direita","Side image":"Imagem lateral","Text alternative":"Texto alternativo",Update:"Atualizar","Update image URL":"Atualizar URL da imagem","Upload failed":"Falha ao carregar","Wrap text":"Envolver texto"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/ro.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/ro.js index ec503fb7f..d340398e3 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/ro.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/ro.js @@ -1 +1 @@ -!function(i){const e=i.ro=i.ro||{};e.dictionary=Object.assign(e.dictionary||{},{"Break text":"","Centered image":"Imagine aliniată pe centru","Change image text alternative":"Schimbă textul alternativ al imaginii","Enter image caption":"Introdu titlul descriptiv al imaginii","Full size image":"Imagine mărime completă","Image resize list":"Lista cu mărimi de redimensionare","Image toolbar":"Bară imagine","image widget":"widget imagine","In line":"",Insert:"Inserează","Insert image":"Inserează imagine","Insert image via URL":"Inserează o imagine via URL","Left aligned image":"Imagine aliniată la stânga",Original:"Original","Resize image":"Redimensionează imaginea","Resize image to %0":"Redimensionează imaginea la %0","Resize image to the original size":"Redimensionează imaginea la mărimea originală","Right aligned image":"Imagine aliniată la dreapta","Side image":"Imagine laterală","Text alternative":"Text alternativ",Update:"Actualizează","Update image URL":"Actualizează o imagine via URL","Upload failed":"Încărcare eșuată","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const i=e.ro=e.ro||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"Segmentare text","Caption for image: %0":"Captură pentru imagine: %0","Caption for the image":"Captură pentru imagine","Centered image":"Imagine aliniată pe centru","Change image text alternative":"Schimbă textul alternativ al imaginii","Enter image caption":"Introdu titlul descriptiv al imaginii","Full size image":"Imagine mărime completă","Image resize list":"Lista cu mărimi de redimensionare","Image toolbar":"Bară imagine","image widget":"widget imagine","In line":"În linie",Insert:"Inserează","Insert image":"Inserează imagine","Insert image via URL":"Inserează o imagine via URL","Left aligned image":"Imagine aliniată la stânga",Original:"Original","Resize image":"Redimensionează imaginea","Resize image to %0":"Redimensionează imaginea la %0","Resize image to the original size":"Redimensionează imaginea la mărimea originală","Right aligned image":"Imagine aliniată la dreapta","Side image":"Imagine laterală","Text alternative":"Text alternativ",Update:"Actualizează","Update image URL":"Actualizează o imagine via URL","Upload failed":"Încărcare eșuată","Wrap text":"Încadrare text"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/ru.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/ru.js index d45ea8241..a05181182 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/ru.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/ru.js @@ -1 +1 @@ -!function(e){const i=e.ru=e.ru||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"Разрывать текст","Centered image":"Выравнивание по центру","Change image text alternative":"Редактировать альтернативный текст","Enter image caption":"Подпись к изображению","Full size image":"Оригинальный размер изображения","Image resize list":"Список размеров","Image toolbar":"Панель инструментов изображения","image widget":"Виджет изображений","In line":"В тексте",Insert:"Вставить","Insert image":"Вставить изображение","Insert image via URL":"Вставить изображение по URL","Left aligned image":"Выравнивание по левому краю",Original:"Оригинальный","Resize image":"Изменить размер изображения","Resize image to %0":"Изменить размер изображения до %0","Resize image to the original size":"Вернуть размер изображения к оригинальному","Right aligned image":"Выравнивание по правому краю","Side image":"Боковое изображение","Text alternative":"Альтернативный текст",Update:"Изменить","Update image URL":"Изменить URL изображения","Upload failed":"Загрузка не выполнена","Wrap text":"Обтекать текст"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const i=e.ru=e.ru||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"Разрывать текст","Caption for image: %0":"Подпись к изображению: %0","Caption for the image":"Подпись к изображению","Centered image":"Выравнивание по центру","Change image text alternative":"Редактировать альтернативный текст","Enter image caption":"Подпись к изображению","Full size image":"Оригинальный размер изображения","Image resize list":"Список размеров","Image toolbar":"Панель инструментов изображения","image widget":"Виджет изображений","In line":"В тексте",Insert:"Вставить","Insert image":"Вставить изображение","Insert image via URL":"Вставить изображение по URL","Left aligned image":"Выравнивание по левому краю",Original:"Оригинальный","Resize image":"Изменить размер изображения","Resize image to %0":"Изменить размер изображения до %0","Resize image to the original size":"Вернуть размер изображения к оригинальному","Right aligned image":"Выравнивание по правому краю","Side image":"Боковое изображение","Text alternative":"Альтернативный текст",Update:"Изменить","Update image URL":"Изменить URL изображения","Upload failed":"Загрузка не выполнена","Wrap text":"Обтекать текст"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/si.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/si.js index 42760bcc6..f298e605c 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/si.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/si.js @@ -1 +1 @@ -!function(e){const i=e.si=e.si||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"","Centered image":"","Change image text alternative":"","Enter image caption":"","Full size image":"","Image resize list":"","Image toolbar":"","image widget":"","In line":"",Insert:"","Insert image":"පින්තූරය ඇතුල් කරන්න","Insert image via URL":"","Left aligned image":"",Original:"","Resize image":"","Resize image to %0":"","Resize image to the original size":"","Right aligned image":"","Side image":"","Text alternative":"",Update:"","Update image URL":"","Upload failed":"උඩුගත කිරීම අසාර්ථක විය","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const i=e.si=e.si||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"","Caption for image: %0":"","Caption for the image":"","Centered image":"","Change image text alternative":"","Enter image caption":"","Full size image":"","Image resize list":"","Image toolbar":"","image widget":"","In line":"",Insert:"","Insert image":"පින්තූරය ඇතුල් කරන්න","Insert image via URL":"","Left aligned image":"",Original:"","Resize image":"","Resize image to %0":"","Resize image to the original size":"","Right aligned image":"","Side image":"","Text alternative":"",Update:"","Update image URL":"","Upload failed":"උඩුගත කිරීම අසාර්ථක විය","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/sk.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/sk.js index 4c8601007..20c4d2d16 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/sk.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/sk.js @@ -1 +1 @@ -!function(e){const a=e.sk=e.sk||{};a.dictionary=Object.assign(a.dictionary||{},{"Break text":"Zalomenie textu","Centered image":"Zarovnať na stred","Change image text alternative":"Zmeňte alternatívny text obrázka","Enter image caption":"Vložte popis obrázka","Full size image":"Obrázok v plnej veľkosti","Image resize list":"Zoznam možností zmeny veľkosti","Image toolbar":"Panel nástrojov obrázka","image widget":"widget obrázka","In line":"V riadku",Insert:"Vložiť","Insert image":"Vložiť obrázok","Insert image via URL":"Vložiť obrázok pomocou URL","Left aligned image":"Zarovnať vľavo",Original:"Originál","Resize image":"Zmeniť veľkosť obrázka","Resize image to %0":"Zmeniť veľkosť na %0","Resize image to the original size":"Zmeniť veľkosť na pôvodnú","Right aligned image":"Zarovnať vpravo","Side image":"Bočný obrázok","Text alternative":"Alternatívny text",Update:"Aktualizovať","Update image URL":"Aktualizovať URL obrázka","Upload failed":"Nahrávanie zlyhalo","Wrap text":"Obtekanie textu"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const a=e.sk=e.sk||{};a.dictionary=Object.assign(a.dictionary||{},{"Break text":"Zalomenie textu","Caption for image: %0":"Popis k obrázku: %0","Caption for the image":"Popis k obrázku","Centered image":"Zarovnať na stred","Change image text alternative":"Zmeňte alternatívny text obrázka","Enter image caption":"Vložte popis obrázka","Full size image":"Obrázok v plnej veľkosti","Image resize list":"Zoznam možností zmeny veľkosti","Image toolbar":"Panel nástrojov obrázka","image widget":"widget obrázka","In line":"V riadku",Insert:"Vložiť","Insert image":"Vložiť obrázok","Insert image via URL":"Vložiť obrázok pomocou URL","Left aligned image":"Zarovnať vľavo",Original:"Originál","Resize image":"Zmeniť veľkosť obrázka","Resize image to %0":"Zmeniť veľkosť na %0","Resize image to the original size":"Zmeniť veľkosť na pôvodnú","Right aligned image":"Zarovnať vpravo","Side image":"Bočný obrázok","Text alternative":"Alternatívny text",Update:"Aktualizovať","Update image URL":"Aktualizovať URL obrázka","Upload failed":"Nahrávanie zlyhalo","Wrap text":"Obtekanie textu"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/sq.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/sq.js index 1c32390b5..bfd80f0e5 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/sq.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/sq.js @@ -1 +1 @@ -!function(e){const t=e.sq=e.sq||{};t.dictionary=Object.assign(t.dictionary||{},{"Break text":"","Centered image":"Foto e vendosur në mes","Change image text alternative":"Ndrysho tekstin zgjedhor të fotos","Enter image caption":"Shto përshkrimin e fotos","Full size image":"Foto me madhësi të plotë","Image resize list":"","Image toolbar":"","image widget":"Vegla e fotos","In line":"",Insert:"","Insert image":"Shto Foto","Insert image via URL":"","Left aligned image":"Foto e vendosur majtas",Original:"","Resize image":"","Resize image to %0":"","Resize image to the original size":"","Right aligned image":"Foto e vendosur djathtas","Side image":"Foto anësore","Text alternative":"Teksti zgjedhor",Update:"","Update image URL":"","Upload failed":"Ngarkimi dështoi","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const i=e.sq=e.sq||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"","Caption for image: %0":"","Caption for the image":"","Centered image":"Foto e vendosur në mes","Change image text alternative":"Ndrysho tekstin zgjedhor të fotos","Enter image caption":"Shto përshkrimin e fotos","Full size image":"Foto me madhësi të plotë","Image resize list":"","Image toolbar":"","image widget":"Vegla e fotos","In line":"",Insert:"","Insert image":"Shto Foto","Insert image via URL":"","Left aligned image":"Foto e vendosur majtas",Original:"","Resize image":"","Resize image to %0":"","Resize image to the original size":"","Right aligned image":"Foto e vendosur djathtas","Side image":"Foto anësore","Text alternative":"Teksti zgjedhor",Update:"","Update image URL":"","Upload failed":"Ngarkimi dështoi","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/sr-latn.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/sr-latn.js index 63b19465c..b8501eee3 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/sr-latn.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/sr-latn.js @@ -1 +1 @@ -!function(e){const i=e["sr-latn"]=e["sr-latn"]||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"Prelom teksta","Centered image":"Slika u sredini","Change image text alternative":"Izmena alternativnog teksta","Enter image caption":"Odredi tekst ispod slike","Full size image":"Slika u punoj veličini","Image resize list":"Lista veličine slike","Image toolbar":"Slika traka sa alatkama","image widget":"modul sa slikom","In line":"U redu",Insert:"Ubaci","Insert image":"Dodaj sliku","Insert image via URL":"Ubaci sliku preko URL-a","Left aligned image":"Leva slika",Original:"Original","Resize image":"Promenite veličinu slike","Resize image to %0":"Promenite veličinu slike na% 0","Resize image to the original size":"Promenite veličinu slike do originalne veličine","Right aligned image":"Desna slika","Side image":"Bočna slika","Text alternative":"Alternativni tekst",Update:"Ažuriraj","Update image URL":"Ažuriraj URL slike","Upload failed":"Postavljanje neuspešno","Wrap text":"Prelomiti tekst"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const i=e["sr-latn"]=e["sr-latn"]||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"Prelom teksta","Caption for image: %0":"","Caption for the image":"","Centered image":"Slika u sredini","Change image text alternative":"Izmena alternativnog teksta","Enter image caption":"Odredi tekst ispod slike","Full size image":"Slika u punoj veličini","Image resize list":"Lista veličine slike","Image toolbar":"Slika traka sa alatkama","image widget":"modul sa slikom","In line":"U redu",Insert:"Ubaci","Insert image":"Dodaj sliku","Insert image via URL":"Ubaci sliku preko URL-a","Left aligned image":"Leva slika",Original:"Original","Resize image":"Promenite veličinu slike","Resize image to %0":"Promenite veličinu slike na% 0","Resize image to the original size":"Promenite veličinu slike do originalne veličine","Right aligned image":"Desna slika","Side image":"Bočna slika","Text alternative":"Alternativni tekst",Update:"Ažuriraj","Update image URL":"Ažuriraj URL slike","Upload failed":"Postavljanje neuspešno","Wrap text":"Prelomiti tekst"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/sr.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/sr.js index 7e097e6d5..e2f325925 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/sr.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/sr.js @@ -1 +1 @@ -!function(e){const i=e.sr=e.sr||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"Прелом текста","Centered image":"Слика у средини","Change image text alternative":"Измена алтернативног текста","Enter image caption":"Одреди текст испод слике","Full size image":"Слика у пуној величини","Image resize list":"Листа величине слике","Image toolbar":"Слика трака са алтакама","image widget":"модул са сликом","In line":"У реду",Insert:"Убаци","Insert image":"Додај слику","Insert image via URL":"Убаци слику преко УРЛ-а","Left aligned image":"Лева слика",Original:"Оригинал","Resize image":"Промените величину слике","Resize image to %0":"Промените величину слике на% 0","Resize image to the original size":"Промените величину слике до оригиналне величине","Right aligned image":"Десна слика","Side image":"Бочна слика","Text alternative":"Алтернативни текст",Update:"Ажурирај","Update image URL":"Ажурирај УРЛ слике","Upload failed":"Постављање неуспешно","Wrap text":"Преломити текст"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const i=e.sr=e.sr||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"Прелом текста","Caption for image: %0":"Natpis za sliku: %0","Caption for the image":"Natpis za ovu sliku","Centered image":"Слика у средини","Change image text alternative":"Измена алтернативног текста","Enter image caption":"Одреди текст испод слике","Full size image":"Слика у пуној величини","Image resize list":"Листа величине слике","Image toolbar":"Слика трака са алтакама","image widget":"модул са сликом","In line":"У реду",Insert:"Убаци","Insert image":"Додај слику","Insert image via URL":"Убаци слику преко УРЛ-а","Left aligned image":"Лева слика",Original:"Оригинал","Resize image":"Промените величину слике","Resize image to %0":"Промените величину слике на% 0","Resize image to the original size":"Промените величину слике до оригиналне величине","Right aligned image":"Десна слика","Side image":"Бочна слика","Text alternative":"Алтернативни текст",Update:"Ажурирај","Update image URL":"Ажурирај УРЛ слике","Upload failed":"Постављање неуспешно","Wrap text":"Преломити текст"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/sv.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/sv.js index aa3c5837c..6d56e6d84 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/sv.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/sv.js @@ -1 +1 @@ -!function(e){const i=e.sv=e.sv||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"","Centered image":"Centrerad bild","Change image text alternative":"Ändra bildens alternativa text","Enter image caption":"Fyll i bildtext","Full size image":"Bild i full storlek","Image resize list":"","Image toolbar":"","image widget":"image widget","In line":"",Insert:"","Insert image":"Infoga bild","Insert image via URL":"","Left aligned image":"Vänsterjusterad bild",Original:"","Resize image":"","Resize image to %0":"","Resize image to the original size":"","Right aligned image":"Högerjusterad bild","Side image":"Kantbild","Text alternative":"Alternativ text",Update:"","Update image URL":"","Upload failed":"Uppladdning misslyckades","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const i=e.sv=e.sv||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"Bryt upp text","Caption for image: %0":"Bildtext till bild: %0","Caption for the image":"Bildtext till bilden","Centered image":"Centrerad bild","Change image text alternative":"Ändra bildens alternativa text","Enter image caption":"Fyll i bildtext","Full size image":"Bild i full storlek","Image resize list":"Lista för storleksändring av bild","Image toolbar":"Bildverktygsfält","image widget":"image widget","In line":"På rad",Insert:"Infoga","Insert image":"Infoga bild","Insert image via URL":"Infoga bild via URL","Left aligned image":"Vänsterjusterad bild",Original:"Ursprunglig","Resize image":"Ändra storlek på bild","Resize image to %0":"Ändra bildens storlek till %0","Resize image to the original size":"Ändra bilden till dess ursprungsstorlek","Right aligned image":"Högerjusterad bild","Side image":"Kantbild","Text alternative":"Alternativ text",Update:"Uppdatera","Update image URL":"Uppdatera bildens URL","Upload failed":"Uppladdning misslyckades","Wrap text":"Omslut med text"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/th.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/th.js index e67a535f1..055c24bcb 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/th.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/th.js @@ -1 +1 @@ -!function(e){const i=e.th=e.th||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"","Centered image":"จัดแนวรูปกึ่งกลาง","Change image text alternative":"เปลี่ยนข้อความเมื่อไม่พบรูป","Enter image caption":"ระบุคำอธิบายภาพ","Full size image":"รูปขนาดเต็ม","Image resize list":"","Image toolbar":"เครื่องมือรูปภาพ","image widget":"วิดเจ็ตรูปภาพ","In line":"",Insert:"","Insert image":"แทรกรูป","Insert image via URL":"","Left aligned image":"จัดแนวภาพซ้าย",Original:"","Resize image":"","Resize image to %0":"","Resize image to the original size":"","Right aligned image":"จัดแนวภาพขวา","Side image":"รูปด้านข้าง","Text alternative":"ข้อความเมื่อไม่พบรูป",Update:"","Update image URL":"","Upload failed":"อัปโหลดไม่สำเร็จ","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const i=e.th=e.th||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"แบ่งข้อความ","Caption for image: %0":"คำบรรยายภาพ: %0","Caption for the image":"คำบรรยายภาพ","Centered image":"จัดแนวรูปกึ่งกลาง","Change image text alternative":"เปลี่ยนข้อความเมื่อไม่พบรูป","Enter image caption":"ระบุคำอธิบายภาพ","Full size image":"รูปขนาดเต็ม","Image resize list":"รายการปรับขนาดภาพ","Image toolbar":"เครื่องมือรูปภาพ","image widget":"วิดเจ็ตรูปภาพ","In line":"ในบรรทัด",Insert:"แทรก","Insert image":"แทรกรูป","Insert image via URL":"แทรกภาพผ่าน URL","Left aligned image":"จัดแนวภาพซ้าย",Original:"ดั้งเดิม","Resize image":"ปรับขนาดภาพ","Resize image to %0":"ปรับขนาดภาพเป็น %0","Resize image to the original size":"ปรับขนาดภาพเป็นขนาดเดิม","Right aligned image":"จัดแนวภาพขวา","Side image":"รูปด้านข้าง","Text alternative":"ข้อความเมื่อไม่พบรูป",Update:"อัปเดต","Update image URL":"อัปเดต URL ภาพ","Upload failed":"อัปโหลดไม่สำเร็จ","Wrap text":"ตัดคำข้อความ"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/tk.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/tk.js index 0e7827ddd..76dee0222 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/tk.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/tk.js @@ -1 +1 @@ -!function(e){const a=e.tk=e.tk||{};a.dictionary=Object.assign(a.dictionary||{},{"Break text":"","Centered image":"Merkezleşdirilen surat","Change image text alternative":"Surat tekstiniň alternatiwasyny üýtgediň","Enter image caption":"Surat ýazgysyny giriziň","Full size image":"Doly ululykdaky surat","Image resize list":"","Image toolbar":"Surat gurallar paneli","image widget":"surat widjeti","In line":"",Insert:"","Insert image":"Surat goýuň","Insert image via URL":"","Left aligned image":"Çep deňleşdirilen surat",Original:"","Resize image":"","Resize image to %0":"","Resize image to the original size":"","Right aligned image":"Sag deňleşdirilen surat","Side image":"Gapdal surat","Text alternative":"Tekstiň alternatiwasy",Update:"","Update image URL":"","Upload failed":"Ýükläp bolmady","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const a=e.tk=e.tk||{};a.dictionary=Object.assign(a.dictionary||{},{"Break text":"","Caption for image: %0":"","Caption for the image":"","Centered image":"Merkezleşdirilen surat","Change image text alternative":"Surat tekstiniň alternatiwasyny üýtgediň","Enter image caption":"Surat ýazgysyny giriziň","Full size image":"Doly ululykdaky surat","Image resize list":"","Image toolbar":"Surat gurallar paneli","image widget":"surat widjeti","In line":"",Insert:"","Insert image":"Surat goýuň","Insert image via URL":"","Left aligned image":"Çep deňleşdirilen surat",Original:"","Resize image":"","Resize image to %0":"","Resize image to the original size":"","Right aligned image":"Sag deňleşdirilen surat","Side image":"Gapdal surat","Text alternative":"Tekstiň alternatiwasy",Update:"","Update image URL":"","Upload failed":"Ýükläp bolmady","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/tr.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/tr.js index 337373277..75e40a5f9 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/tr.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/tr.js @@ -1 +1 @@ -!function(e){const a=e.tr=e.tr||{};a.dictionary=Object.assign(a.dictionary||{},{"Break text":"","Centered image":"Ortalanmış görsel","Change image text alternative":"Görsel alternatif yazısını değiştir","Enter image caption":"Resim açıklaması gir","Full size image":"Tam Boyut Görsel","Image resize list":"","Image toolbar":"Resim araç çubuğu","image widget":"resim aracı","In line":"",Insert:"","Insert image":"Görsel Ekle","Insert image via URL":"","Left aligned image":"Sola hizalı görsel",Original:"Orijinal","Resize image":"Resmi boyutlandır","Resize image to %0":"Resmi %0 ölçülerine boyutlandır","Resize image to the original size":"Resmi orijinal büyüklüğüne al","Right aligned image":"Sağa hizalı görsel","Side image":"Yan Görsel","Text alternative":"Yazı alternatifi",Update:"Güncelle","Update image URL":"","Upload failed":"Yükleme başarsız","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const i=e.tr=e.tr||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"Metni böl","Caption for image: %0":"Resim için başlık: %0","Caption for the image":"Resim için başlık","Centered image":"Ortalanmış görsel","Change image text alternative":"Görsel alternatif yazısını değiştir","Enter image caption":"Resim açıklaması gir","Full size image":"Tam Boyut Görsel","Image resize list":"Resim yeniden boyutlandırma listesi","Image toolbar":"Resim araç çubuğu","image widget":"resim aracı","In line":"Aynı hizada",Insert:"Ekle","Insert image":"Görsel Ekle","Insert image via URL":"URL ile görüntü ekle","Left aligned image":"Sola hizalı görsel",Original:"Orijinal","Resize image":"Resmi boyutlandır","Resize image to %0":"Resmi %0 ölçülerine boyutlandır","Resize image to the original size":"Resmi orijinal büyüklüğüne al","Right aligned image":"Sağa hizalı görsel","Side image":"Yan Görsel","Text alternative":"Yazı alternatifi",Update:"Güncelle","Update image URL":"Görüntü URL'sini güncelle","Upload failed":"Yükleme başarsız","Wrap text":"Metni kaydır"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/tt.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/tt.js new file mode 100644 index 000000000..6df4d65c7 --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/tt.js @@ -0,0 +1 @@ +!function(e){const i=e.tt=e.tt||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"","Caption for image: %0":"","Caption for the image":"","Centered image":"","Change image text alternative":"","Enter image caption":"","Full size image":"","Image resize list":"","Image toolbar":"","image widget":"","In line":"",Insert:"","Insert image":"","Insert image via URL":"","Left aligned image":"",Original:"","Resize image":"","Resize image to %0":"","Resize image to the original size":"","Right aligned image":"","Side image":"","Text alternative":"",Update:"Яңарт","Update image URL":"","Upload failed":"","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/ug.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/ug.js index 282a74cab..981f67918 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/ug.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/ug.js @@ -1 +1 @@ -!function(e){const i=e.ug=e.ug||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"","Centered image":"ئوتتۇردىكى رەسىم","Change image text alternative":"رەسىملىك تېكىست تاللىغۇچنى ئۆزگەرتىش","Enter image caption":"رەسىمنىڭ تېمىسىنى كىرگۈزۈڭ","Full size image":"ئەسلى چوڭلۇقتىكى رەسىم","Image resize list":"","Image toolbar":"","image widget":"رەسىمچىك","In line":"",Insert:"","Insert image":"رەسىم قىستۇرۇش","Insert image via URL":"","Left aligned image":"سولغا توغۇرلانغان رەسىم",Original:"","Resize image":"","Resize image to %0":"","Resize image to the original size":"","Right aligned image":"ئوڭغا توغۇرلانغان رەسىم","Side image":"يان رەسىم","Text alternative":"تېكىست ئاملاشتۇرۇش",Update:"","Update image URL":"","Upload failed":"چىقىرىش مەغلۇپ بولدى","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const i=e.ug=e.ug||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"","Caption for image: %0":"","Caption for the image":"","Centered image":"ئوتتۇردىكى رەسىم","Change image text alternative":"رەسىملىك تېكىست تاللىغۇچنى ئۆزگەرتىش","Enter image caption":"رەسىمنىڭ تېمىسىنى كىرگۈزۈڭ","Full size image":"ئەسلى چوڭلۇقتىكى رەسىم","Image resize list":"","Image toolbar":"","image widget":"رەسىمچىك","In line":"",Insert:"","Insert image":"رەسىم قىستۇرۇش","Insert image via URL":"","Left aligned image":"سولغا توغۇرلانغان رەسىم",Original:"","Resize image":"","Resize image to %0":"","Resize image to the original size":"","Right aligned image":"ئوڭغا توغۇرلانغان رەسىم","Side image":"يان رەسىم","Text alternative":"تېكىست ئاملاشتۇرۇش",Update:"","Update image URL":"","Upload failed":"چىقىرىش مەغلۇپ بولدى","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/uk.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/uk.js index eb722e68d..bdf663e0b 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/uk.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/uk.js @@ -1 +1 @@ -!function(e){const i=e.uk=e.uk||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"","Centered image":"Зображення по центру","Change image text alternative":"Змінити текстову альтернативу зображення","Enter image caption":"Введіть підпис зображення","Full size image":"Повний розмір зображення","Image resize list":"Перелік розмірів","Image toolbar":"Панелі інструментів зображення","image widget":"Віджет зображення","In line":"",Insert:"Вставити","Insert image":"Вставити зображення","Insert image via URL":"Вставити зображення через посилання","Left aligned image":"Зображення ліворуч",Original:"Оригінал","Resize image":"Розтягнути зображення","Resize image to %0":"Розтягнути зображення до %0","Resize image to the original size":"Розтягнути зображення до оригінального розміру","Right aligned image":"Зображення праворуч","Side image":"Бокове зображення","Text alternative":"Текстова альтернатива",Update:"Оновити","Update image URL":"Оновити посилання на зображення","Upload failed":"Завантаження не вдалось","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const i=e.uk=e.uk||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"Розірвати тексту","Caption for image: %0":"Підпис до зображення: %0","Caption for the image":"Підпис до зображення","Centered image":"Зображення по центру","Change image text alternative":"Змінити текстову альтернативу зображення","Enter image caption":"Введіть підпис зображення","Full size image":"Повний розмір зображення","Image resize list":"Перелік розмірів","Image toolbar":"Панелі інструментів зображення","image widget":"Віджет зображення","In line":"В тексті",Insert:"Вставити","Insert image":"Вставити зображення","Insert image via URL":"Вставити зображення через посилання","Left aligned image":"Зображення ліворуч",Original:"Оригінал","Resize image":"Розтягнути зображення","Resize image to %0":"Розтягнути зображення до %0","Resize image to the original size":"Розтягнути зображення до оригінального розміру","Right aligned image":"Зображення праворуч","Side image":"Бокове зображення","Text alternative":"Текстова альтернатива",Update:"Оновити","Update image URL":"Оновити посилання на зображення","Upload failed":"Завантаження не вдалось","Wrap text":"Обернути текст"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/ur.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/ur.js index 883f540f2..8518a97fb 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/ur.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/ur.js @@ -1 +1 @@ -!function(e){const i=e.ur=e.ur||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"متن تقسیم کریں","Centered image":"","Change image text alternative":"","Enter image caption":"","Full size image":"مکمل پہمائش کا عکس","Image resize list":"","Image toolbar":"آلہ جات برائے عکس","image widget":"آلۂ عکس","In line":"",Insert:"","Insert image":"","Insert image via URL":"","Left aligned image":"",Original:"","Resize image":"","Resize image to %0":"","Resize image to the original size":"","Right aligned image":"","Side image":"عکس بہ پہلو","Text alternative":"",Update:"","Update image URL":"","Upload failed":"","Wrap text":"ملفوف متن"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const i=e.ur=e.ur||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"متن تقسیم کریں","Caption for image: %0":"","Caption for the image":"","Centered image":"","Change image text alternative":"","Enter image caption":"","Full size image":"مکمل پہمائش کا عکس","Image resize list":"","Image toolbar":"آلہ جات برائے عکس","image widget":"آلۂ عکس","In line":"",Insert:"","Insert image":"","Insert image via URL":"","Left aligned image":"",Original:"","Resize image":"","Resize image to %0":"","Resize image to the original size":"","Right aligned image":"","Side image":"عکس بہ پہلو","Text alternative":"",Update:"","Update image URL":"","Upload failed":"","Wrap text":"ملفوف متن"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/uz.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/uz.js index f6122223a..482878d6e 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/uz.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/uz.js @@ -1 +1 @@ -!function(i){const a=i.uz=i.uz||{};a.dictionary=Object.assign(a.dictionary||{},{"Break text":"","Centered image":"Markazga tekislash","Change image text alternative":"Muqobil matnni tahrirlash","Enter image caption":"Rasm sarlavhasi","Full size image":"Asl rasm hajmi","Image resize list":"Hajmlar ro'yxati","Image toolbar":"Rasm asboblari paneli","image widget":"Tasvirlar vidjeti","In line":"",Insert:"Kiritish","Insert image":"Rasm kiritish","Insert image via URL":"Rasmni URL orqali kiritish","Left aligned image":"Chapga tekislash",Original:"Asl","Resize image":"Rasm hajmini o'zgartirish","Resize image to %0":"Rasm hajmini %0 ga o‘zgartirish","Resize image to the original size":"Rasmning o'lchamini asl o'lchamiga o'zgartiring","Right aligned image":"O'ngga tekislash","Side image":"Yon tasvir","Text alternative":"Muqobil matn",Update:"O'zgartirish","Update image URL":"Rasm URL manzilini o'zgartirish","Upload failed":"Yuklab olinmadi","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(i){const a=i.uz=i.uz||{};a.dictionary=Object.assign(a.dictionary||{},{"Break text":"","Caption for image: %0":"","Caption for the image":"","Centered image":"Markazga tekislash","Change image text alternative":"Muqobil matnni tahrirlash","Enter image caption":"Rasm sarlavhasi","Full size image":"Asl rasm hajmi","Image resize list":"Hajmlar ro'yxati","Image toolbar":"Rasm asboblari paneli","image widget":"Tasvirlar vidjeti","In line":"",Insert:"Kiritish","Insert image":"Rasm kiritish","Insert image via URL":"Rasmni URL orqali kiritish","Left aligned image":"Chapga tekislash",Original:"Asl","Resize image":"Rasm hajmini o'zgartirish","Resize image to %0":"Rasm hajmini %0 ga o‘zgartirish","Resize image to the original size":"Rasmning o'lchamini asl o'lchamiga o'zgartiring","Right aligned image":"O'ngga tekislash","Side image":"Yon tasvir","Text alternative":"Muqobil matn",Update:"O'zgartirish","Update image URL":"Rasm URL manzilini o'zgartirish","Upload failed":"Yuklab olinmadi","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/vi.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/vi.js index 1909f513d..bbfc9fda7 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/vi.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/vi.js @@ -1 +1 @@ -!function(n){const e=n.vi=n.vi||{};e.dictionary=Object.assign(e.dictionary||{},{"Break text":"","Centered image":"Ảnh canh giữa","Change image text alternative":"Đổi chữ alt của ảnh","Enter image caption":"Nhập mô tả ảnh","Full size image":"Ảnh đầy đủ","Image resize list":"Danh sách ảnh đã chỉnh kích thước","Image toolbar":"Thanh công cụ hình ảnh","image widget":"tiện ích ảnh","In line":"",Insert:"Chèn","Insert image":"Chèn ảnh","Insert image via URL":"Chèn ảnh từ URL","Left aligned image":"Ảnh canh trái",Original:"Nguyên bản","Resize image":"Chỉnh kích cỡ ảnh","Resize image to %0":"Chỉnh kích cỡ ảnh về %0","Resize image to the original size":"Chỉnh về ảnh kích cỡ nguyên gốc","Right aligned image":"Ảnh canh phải","Side image":"Ảnh một bên","Text alternative":"Chữ alt",Update:"Cập nhật","Update image URL":"Cập nhật ảnh từ URL","Upload failed":"Tải thất bại","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(n){const h=n.vi=n.vi||{};h.dictionary=Object.assign(h.dictionary||{},{"Break text":"Ngắt văn bản","Caption for image: %0":"Chú thích cho hình ảnh: %0","Caption for the image":"Chú thích cho hình ảnh","Centered image":"Ảnh canh giữa","Change image text alternative":"Đổi chữ alt của ảnh","Enter image caption":"Nhập mô tả ảnh","Full size image":"Ảnh đầy đủ","Image resize list":"Danh sách ảnh đã chỉnh kích thước","Image toolbar":"Thanh công cụ hình ảnh","image widget":"tiện ích ảnh","In line":"Nội dòng",Insert:"Chèn","Insert image":"Chèn ảnh","Insert image via URL":"Chèn ảnh từ URL","Left aligned image":"Ảnh canh trái",Original:"Nguyên bản","Resize image":"Chỉnh kích cỡ ảnh","Resize image to %0":"Chỉnh kích cỡ ảnh về %0","Resize image to the original size":"Chỉnh về ảnh kích cỡ nguyên gốc","Right aligned image":"Ảnh canh phải","Side image":"Ảnh một bên","Text alternative":"Chữ alt",Update:"Cập nhật","Update image URL":"Cập nhật ảnh từ URL","Upload failed":"Tải thất bại","Wrap text":"Bọc văn bản"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/zh-cn.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/zh-cn.js index 54f365e7b..7860e8990 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/zh-cn.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/zh-cn.js @@ -1 +1 @@ -!function(e){const i=e["zh-cn"]=e["zh-cn"]||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"","Centered image":"图片居中","Change image text alternative":"更改图片替换文本","Enter image caption":"输入图片标题","Full size image":"图片通栏显示","Image resize list":"图片大小列表","Image toolbar":"图片工具栏","image widget":"图像小部件","In line":"",Insert:"插入","Insert image":"插入图像","Insert image via URL":"通过URL地址插入图片","Left aligned image":"图片左侧对齐",Original:"原始大小","Resize image":"调整图像大小","Resize image to %0":"调整图像大小为%0","Resize image to the original size":"调整图像大小为原始大小","Right aligned image":"图片右侧对齐","Side image":"图片侧边显示","Text alternative":"替换文本",Update:"更新","Update image URL":"更新图片URL地址","Upload failed":"上传失败","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const i=e["zh-cn"]=e["zh-cn"]||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"文字断行","Caption for image: %0":"图片说明:%0","Caption for the image":"图片说明:","Centered image":"图片居中","Change image text alternative":"更改图片替换文本","Enter image caption":"输入图片标题","Full size image":"全尺寸图片","Image resize list":"图片大小列表","Image toolbar":"图片工具栏","image widget":"图片组件","In line":"行内",Insert:"插入","Insert image":"插入图像","Insert image via URL":"通过URL地址插入图片","Left aligned image":"图片左侧对齐",Original:"原始大小","Resize image":"调整图像大小","Resize image to %0":"调整图像大小为%0","Resize image to the original size":"调整图像大小为原始大小","Right aligned image":"图片右侧对齐","Side image":"图片侧边显示","Text alternative":"替换文本",Update:"更新","Update image URL":"更新图片URL地址","Upload failed":"上传失败","Wrap text":"文字环绕"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/zh.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/zh.js index 973b8d296..ed7fac458 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/zh.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/image/translations/zh.js @@ -1 +1 @@ -!function(e){const i=e.zh=e.zh||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"","Centered image":"置中圖片","Change image text alternative":"修改圖片的替代文字","Enter image caption":"輸入圖片說明","Full size image":"完整尺寸圖片","Image resize list":"圖片縮放清單","Image toolbar":"圖片工具","image widget":"圖片小工具","In line":"",Insert:"插入","Insert image":"插入圖片","Insert image via URL":"使用連結插入圖片","Left aligned image":"向左對齊圖片",Original:"原始圖片","Resize image":"縮放圖片","Resize image to %0":"縮放圖片到 %0","Resize image to the original size":"縮放圖片到原始尺寸","Right aligned image":"向右對齊圖片","Side image":"側邊圖片","Text alternative":"替代文字",Update:"更新","Update image URL":"更新圖片連結","Upload failed":"上傳失敗","Wrap text":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const i=e.zh=e.zh||{};i.dictionary=Object.assign(i.dictionary||{},{"Break text":"上及下","Caption for image: %0":"影像標題:%0","Caption for the image":"影像的標題","Centered image":"置中圖片","Change image text alternative":"修改圖片的替代文字","Enter image caption":"輸入圖片說明","Full size image":"完整尺寸圖片","Image resize list":"圖片縮放清單","Image toolbar":"圖片工具","image widget":"圖片小工具","In line":"行中",Insert:"插入","Insert image":"插入圖片","Insert image via URL":"使用連結插入圖片","Left aligned image":"向左對齊圖片",Original:"原始圖片","Resize image":"縮放圖片","Resize image to %0":"縮放圖片到 %0","Resize image to the original size":"縮放圖片到原始尺寸","Right aligned image":"向右對齊圖片","Side image":"側邊圖片","Text alternative":"替代文字",Update:"更新","Update image URL":"更新圖片連結","Upload failed":"上傳失敗","Wrap text":"文繞圖"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/indent/translations/ar.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/indent/translations/ar.js new file mode 100644 index 000000000..4965a7f7c --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/indent/translations/ar.js @@ -0,0 +1 @@ +!function(n){const i=n.ar=n.ar||{};i.dictionary=Object.assign(i.dictionary||{},{"Decrease indent":"تقليص المسافة البادئة","Increase indent":"زيادة المسافة البادئة"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/indent/translations/bn.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/indent/translations/bn.js new file mode 100644 index 000000000..b88f49d2c --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/indent/translations/bn.js @@ -0,0 +1 @@ +!function(n){const i=n.bn=n.bn||{};i.dictionary=Object.assign(i.dictionary||{},{"Decrease indent":"ইন্ডেন্ট হ্রাস করুন","Increase indent":"ইন্ডেন্ট বৃদ্ধি করুন"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/indent/translations/ca.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/indent/translations/ca.js new file mode 100644 index 000000000..f71bdd6aa --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/indent/translations/ca.js @@ -0,0 +1 @@ +!function(n){const a=n.ca=n.ca||{};a.dictionary=Object.assign(a.dictionary||{},{"Decrease indent":"Reduir el sagnat","Increase indent":"Augmentar el sagnat"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/indent/translations/he.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/indent/translations/he.js new file mode 100644 index 000000000..7fdb0a7b7 --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/indent/translations/he.js @@ -0,0 +1 @@ +!function(n){const e=n.he=n.he||{};e.dictionary=Object.assign(e.dictionary||{},{"Decrease indent":"הקטנת הזחה","Increase indent":"הגדלת הזחה"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/indent/translations/ms.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/indent/translations/ms.js new file mode 100644 index 000000000..ba24dee1b --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/indent/translations/ms.js @@ -0,0 +1 @@ +!function(n){const i=n.ms=n.ms||{};i.dictionary=Object.assign(i.dictionary||{},{"Decrease indent":"Kurangkan inden","Increase indent":"Tambah inden"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/indent/translations/pt.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/indent/translations/pt.js new file mode 100644 index 000000000..e57b83a1a --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/indent/translations/pt.js @@ -0,0 +1 @@ +!function(n){const i=n.pt=n.pt||{};i.dictionary=Object.assign(i.dictionary||{},{"Decrease indent":"Diminuir indentação","Increase indent":"Aumentar indentação"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/indent/translations/sv.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/indent/translations/sv.js new file mode 100644 index 000000000..5dd3dc370 --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/indent/translations/sv.js @@ -0,0 +1 @@ +!function(n){const i=n.sv=n.sv||{};i.dictionary=Object.assign(i.dictionary||{},{"Decrease indent":"Minska indrag","Increase indent":"Öka indrag"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/language/translations/ar.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/language/translations/ar.js new file mode 100644 index 000000000..90d50459f --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/language/translations/ar.js @@ -0,0 +1 @@ +!function(a){const n=a.ar=a.ar||{};n.dictionary=Object.assign(n.dictionary||{},{"Choose language":"اختيار اللغة",Language:"اللغة","Remove language":"إزالة اللغة"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/language/translations/bg.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/language/translations/bg.js new file mode 100644 index 000000000..94c3d33ed --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/language/translations/bg.js @@ -0,0 +1 @@ +!function(n){const a=n.bg=n.bg||{};a.dictionary=Object.assign(a.dictionary||{},{"Choose language":"Избери език",Language:"Език","Remove language":"Премахни език"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/language/translations/bn.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/language/translations/bn.js new file mode 100644 index 000000000..5c5491b6c --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/language/translations/bn.js @@ -0,0 +1 @@ +!function(n){const a=n.bn=n.bn||{};a.dictionary=Object.assign(a.dictionary||{},{"Choose language":"ভাষা নির্বাচন করুন",Language:"ভাষা","Remove language":"ভাষা মুছে ফেলুন"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/language/translations/ca.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/language/translations/ca.js new file mode 100644 index 000000000..03c172966 --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/language/translations/ca.js @@ -0,0 +1 @@ +!function(a){const i=a.ca=a.ca||{};i.dictionary=Object.assign(i.dictionary||{},{"Choose language":"Triar l'idioma",Language:"Idioma","Remove language":"Eliminar l'idioma"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/language/translations/et.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/language/translations/et.js new file mode 100644 index 000000000..02a811ed2 --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/language/translations/et.js @@ -0,0 +1 @@ +!function(e){const a=e.et=e.et||{};a.dictionary=Object.assign(a.dictionary||{},{"Choose language":"Vali keel",Language:"Keel","Remove language":"Eemalda keel"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/language/translations/he.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/language/translations/he.js new file mode 100644 index 000000000..b99c8362e --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/language/translations/he.js @@ -0,0 +1 @@ +!function(n){const a=n.he=n.he||{};a.dictionary=Object.assign(a.dictionary||{},{"Choose language":"בחר שפה",Language:"שפה","Remove language":"הסר שפה"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/language/translations/hi.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/language/translations/hi.js new file mode 100644 index 000000000..d1b8d1a24 --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/language/translations/hi.js @@ -0,0 +1 @@ +!function(n){const i=n.hi=n.hi||{};i.dictionary=Object.assign(i.dictionary||{},{"Choose language":"भाषा चुनें",Language:"भाषा","Remove language":"भाषा हटाएं"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/language/translations/ja.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/language/translations/ja.js new file mode 100644 index 000000000..28c2f48cc --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/language/translations/ja.js @@ -0,0 +1 @@ +!function(a){const n=a.ja=a.ja||{};n.dictionary=Object.assign(n.dictionary||{},{"Choose language":"言語を選択",Language:"言語","Remove language":"言語を削除"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/language/translations/ko.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/language/translations/ko.js new file mode 100644 index 000000000..dac05ec35 --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/language/translations/ko.js @@ -0,0 +1 @@ +!function(n){const o=n.ko=n.ko||{};o.dictionary=Object.assign(o.dictionary||{},{"Choose language":"언어 선택",Language:"언어","Remove language":"언어 제거"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/language/translations/lt.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/language/translations/lt.js new file mode 100644 index 000000000..3ed4fd57d --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/language/translations/lt.js @@ -0,0 +1 @@ +!function(a){const i=a.lt=a.lt||{};i.dictionary=Object.assign(i.dictionary||{},{"Choose language":"Pasirinkti kalbą",Language:"Kalba","Remove language":"Pašalinti kalbą"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/language/translations/ms.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/language/translations/ms.js new file mode 100644 index 000000000..b55132406 --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/language/translations/ms.js @@ -0,0 +1 @@ +!function(a){const n=a.ms=a.ms||{};n.dictionary=Object.assign(n.dictionary||{},{"Choose language":"Pilih bahasa",Language:"Bahasa","Remove language":"Buang bahasa"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/language/translations/no.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/language/translations/no.js new file mode 100644 index 000000000..1d3657873 --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/language/translations/no.js @@ -0,0 +1 @@ +!function(n){const o=n.no=n.no||{};o.dictionary=Object.assign(o.dictionary||{},{"Choose language":"Velg språk",Language:"Språk","Remove language":"Fjern språk"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/language/translations/pt.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/language/translations/pt.js new file mode 100644 index 000000000..f0dc1d785 --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/language/translations/pt.js @@ -0,0 +1 @@ +!function(o){const i=o.pt=o.pt||{};i.dictionary=Object.assign(i.dictionary||{},{"Choose language":"Escolher idioma",Language:"Idioma","Remove language":"Remover idioma"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/language/translations/sv.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/language/translations/sv.js new file mode 100644 index 000000000..aa0a41a12 --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/language/translations/sv.js @@ -0,0 +1 @@ +!function(n){const a=n.sv=n.sv||{};a.dictionary=Object.assign(a.dictionary||{},{"Choose language":"Välj språk",Language:"Språk","Remove language":"Ta bort språk"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/language/translations/th.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/language/translations/th.js new file mode 100644 index 000000000..5c4dc1990 --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/language/translations/th.js @@ -0,0 +1 @@ +!function(n){const a=n.th=n.th||{};a.dictionary=Object.assign(a.dictionary||{},{"Choose language":"เลือกภาษา",Language:"ภาษา","Remove language":"ลบภาษา"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/language/translations/tr.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/language/translations/tr.js new file mode 100644 index 000000000..0b9bdc32a --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/language/translations/tr.js @@ -0,0 +1 @@ +!function(i){const n=i.tr=i.tr||{};n.dictionary=Object.assign(n.dictionary||{},{"Choose language":"Dil seç",Language:"Dil","Remove language":"Dili kaldır"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/language/translations/tt.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/language/translations/tt.js new file mode 100644 index 000000000..c8431522a --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/language/translations/tt.js @@ -0,0 +1 @@ +!function(n){const a=n.tt=n.tt||{};a.dictionary=Object.assign(a.dictionary||{},{"Choose language":"",Language:"Тел","Remove language":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/language/translations/ur.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/language/translations/ur.js new file mode 100644 index 000000000..4a39256a0 --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/language/translations/ur.js @@ -0,0 +1 @@ +!function(n){const a=n.ur=n.ur||{};a.dictionary=Object.assign(a.dictionary||{},{"Choose language":"زبان کا انتخاب",Language:"زبان","Remove language":"زبان ہٹائیں"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/language/translations/vi.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/language/translations/vi.js new file mode 100644 index 000000000..bdab942fb --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/language/translations/vi.js @@ -0,0 +1 @@ +!function(n){const g=n.vi=n.vi||{};g.dictionary=Object.assign(g.dictionary||{},{"Choose language":"Chọn ngôn ngữ",Language:"Ngôn ngữ","Remove language":"Xóa ngôn ngữ"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/link/link.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/link/link.js index b36361ba7..fbb3acc81 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/link/link.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/link/link.js @@ -2,4 +2,4 @@ /*! * @license Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md. - */(()=>{var e={23:(e,t,i)=>{"use strict";i.d(t,{Z:()=>r});var n=i(609),o=i.n(n)()((function(e){return e[1]}));o.push([e.id,".ck .ck-link_selected{background:var(--ck-color-link-selected-background)}.ck .ck-link_selected span.image-inline{outline:var(--ck-widget-outline-thickness) solid var(--ck-color-link-selected-background)}.ck .ck-fake-link-selection{background:var(--ck-color-link-fake-selection)}.ck .ck-fake-link-selection_collapsed{border-right:1px solid var(--ck-color-base-text);height:100%;margin-right:-1px;outline:1px solid hsla(0,0%,100%,.5)}",""]);const r=o},952:(e,t,i)=>{"use strict";i.d(t,{Z:()=>r});var n=i(609),o=i.n(n)()((function(e){return e[1]}));o.push([e.id,".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{color:var(--ck-color-link-default);cursor:pointer;max-width:var(--ck-input-width);min-width:3em;padding:0 var(--ck-spacing-medium);text-align:center;text-overflow:ellipsis}.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{max-width:100%;min-width:0}[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}}",""]);const r=o},871:(e,t,i)=>{"use strict";i.d(t,{Z:()=>r});var n=i(609),o=i.n(n)()((function(e){return e[1]}));o.push([e.id,".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{min-width:var(--ck-input-width);padding:0}.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{border:0;border-radius:0;border-top:1px solid var(--ck-color-base-border);margin:0;padding:var(--ck-spacing-standard);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}",""]);const r=o},269:(e,t,i)=>{"use strict";i.d(t,{Z:()=>r});var n=i(609),o=i.n(n)()((function(e){return e[1]}));o.push([e.id,'.ck.ck-editor__editable a span.image-inline:after,.ck.ck-editor__editable figure.image>a:after{display:block;position:absolute}:root{--ck-link-image-indicator-icon-size:20;--ck-link-image-indicator-icon-is-visible:clamp(0px,100% - 50px,1px)}.ck.ck-editor__editable a span.image-inline:after,.ck.ck-editor__editable figure.image>a:after{background-color:rgba(0,0,0,.4);background-image:url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI2ZmZiIgZD0ibTExLjA3NyAxNSAuOTkxLTEuNDE2YS43NS43NSAwIDEgMSAxLjIyOS44NmwtMS4xNDggMS42NGEuNzQ4Ljc0OCAwIDAgMS0uMjE3LjIwNiA1LjI1MSA1LjI1MSAwIDAgMS04LjUwMy01Ljk1NS43NDEuNzQxIDAgMCAxIC4xMi0uMjc0bDEuMTQ3LTEuNjM5YS43NS43NSAwIDEgMSAxLjIyOC44Nkw0LjkzMyAxMC43bC4wMDYuMDAzYTMuNzUgMy43NSAwIDAgMCA2LjEzMiA0LjI5NGwuMDA2LjAwNHptNS40OTQtNS4zMzVhLjc0OC43NDggMCAwIDEtLjEyLjI3NGwtMS4xNDcgMS42MzlhLjc1Ljc1IDAgMSAxLTEuMjI4LS44NmwuODYtMS4yM2EzLjc1IDMuNzUgMCAwIDAtNi4xNDQtNC4zMDFsLS44NiAxLjIyOWEuNzUuNzUgMCAwIDEtMS4yMjktLjg2bDEuMTQ4LTEuNjRhLjc0OC43NDggMCAwIDEgLjIxNy0uMjA2IDUuMjUxIDUuMjUxIDAgMCAxIDguNTAzIDUuOTU1em0tNC41NjMtMi41MzJhLjc1Ljc1IDAgMCAxIC4xODQgMS4wNDVsLTMuMTU1IDQuNTA1YS43NS43NSAwIDEgMS0xLjIyOS0uODZsMy4xNTUtNC41MDZhLjc1Ljc1IDAgMCAxIDEuMDQ1LS4xODR6Ii8+PC9zdmc+");background-position:50%;background-repeat:no-repeat;background-size:14px;border-radius:100%;content:"";height:calc(var(--ck-link-image-indicator-icon-is-visible)*var(--ck-link-image-indicator-icon-size));overflow:hidden;right:min(var(--ck-spacing-medium),6%);top:min(var(--ck-spacing-medium),6%);width:calc(var(--ck-link-image-indicator-icon-is-visible)*var(--ck-link-image-indicator-icon-size))}',""]);const r=o},764:(e,t,i)=>{"use strict";i.d(t,{Z:()=>r});var n=i(609),o=i.n(n)()((function(e){return e[1]}));o.push([e.id,'.ck-vertical-form .ck-button:after{bottom:var(--ck-spacing-small);content:"";position:absolute;right:-1px;top:var(--ck-spacing-small);width:0;z-index:1}@media screen and (max-width:600px){.ck.ck-responsive-form .ck-button:after{bottom:var(--ck-spacing-small);content:"";position:absolute;right:-1px;top:var(--ck-spacing-small);width:0;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-width)*.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){border:0;border-radius:0;border-top:1px solid var(--ck-color-base-border);margin-top:var(--ck-spacing-large);padding:var(--ck-spacing-standard)}[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)}}',""]);const r=o},609:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var i=e(t);return t[2]?"@media ".concat(t[2]," {").concat(i,"}"):i})).join("")},t.i=function(e,i,n){"string"==typeof e&&(e=[[null,e,""]]);var o={};if(n)for(var r=0;r{"use strict";var n,o=function(){return void 0===n&&(n=Boolean(window&&document&&document.all&&!window.atob)),n},r=function(){var e={};return function(t){if(void 0===e[t]){var i=document.querySelector(t);if(window.HTMLIFrameElement&&i instanceof window.HTMLIFrameElement)try{i=i.contentDocument.head}catch(e){i=null}e[t]=i}return e[t]}}(),s=[];function a(e){for(var t=-1,i=0;i{e.exports=i(79)("./src/clipboard.js")},704:(e,t,i)=>{e.exports=i(79)("./src/core.js")},492:(e,t,i)=>{e.exports=i(79)("./src/engine.js")},181:(e,t,i)=>{e.exports=i(79)("./src/typing.js")},273:(e,t,i)=>{e.exports=i(79)("./src/ui.js")},209:(e,t,i)=>{e.exports=i(79)("./src/utils.js")},995:(e,t,i)=>{e.exports=i(79)("./src/widget.js")},79:e=>{"use strict";e.exports=CKEditor5.dll}},t={};function i(n){var o=t[n];if(void 0!==o)return o.exports;var r=t[n]={id:n,exports:{}};return e[n](r,r.exports,i),r.exports}i.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t},i.d=(e,t)=>{for(var n in t)i.o(t,n)&&!i.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.nc=void 0;var n={};(()=>{"use strict";i.r(n),i.d(n,{AutoLink:()=>Ce,Link:()=>Me,LinkEditing:()=>ke,LinkImage:()=>Pe,LinkImageEditing:()=>je,LinkImageUI:()=>He,LinkUI:()=>Ee});var e=i(704),t=i(492),o=i(181),r=i(945),s=i(209);class a{constructor(){this._definitions=new Set}get length(){return this._definitions.size}add(e){Array.isArray(e)?e.forEach((e=>this._definitions.add(e))):this._definitions.add(e)}getDispatcher(){return e=>{e.on("attribute:linkHref",((e,t,i)=>{if(!i.consumable.test(t.item,"attribute:linkHref"))return;if(!t.item.is("selection")&&!i.schema.isInline(t.item))return;const n=i.writer,o=n.document.selection;for(const e of this._definitions){const r=n.createAttributeElement("a",e.attributes,{priority:5});e.classes&&n.addClass(e.classes,r);for(const t in e.styles)n.setStyle(t,e.styles[t],r);n.setCustomProperty("link",!0,r),e.callback(t.attributeNewValue)?t.item.is("selection")?n.wrap(o.getFirstRange(),r):n.wrap(i.mapper.toViewRange(t.range),r):n.unwrap(i.mapper.toViewRange(t.range),r)}}),{priority:"high"})}}getDispatcherForLinkedImage(){return e=>{e.on("attribute:linkHref:imageBlock",((e,t,{writer:i,mapper:n})=>{const o=n.toViewElement(t.item),r=Array.from(o.getChildren()).find((e=>"a"===e.name));for(const e of this._definitions){const n=(0,s.toMap)(e.attributes);if(e.callback(t.attributeNewValue)){for(const[e,t]of n)"class"===e?i.addClass(t,r):i.setAttribute(e,t,r);e.classes&&i.addClass(e.classes,r);for(const t in e.styles)i.setStyle(t,e.styles[t],r)}else{for(const[e,t]of n)"class"===e?i.removeClass(t,r):i.removeAttribute(e,r);e.classes&&i.removeClass(e.classes,r);for(const t in e.styles)i.removeStyle(t,r)}}}))}}}const c=function(e,t,i){var n=-1,o=e.length;t<0&&(t=-t>o?0:o+t),(i=i>o?o:i)<0&&(i+=o),o=t>i?0:i-t>>>0,t>>>=0;for(var r=Array(o);++n=n?e:c(e,t,i)};var u=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");const d=function(e){return u.test(e)};const k=function(e){return e.split("")};var h="[\\ud800-\\udfff]",f="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",m="\\ud83c[\\udffb-\\udfff]",g="[^\\ud800-\\udfff]",b="(?:\\ud83c[\\udde6-\\uddff]){2}",p="[\\ud800-\\udbff][\\udc00-\\udfff]",w="(?:"+f+"|"+m+")"+"?",v="[\\ufe0e\\ufe0f]?",_=v+w+("(?:\\u200d(?:"+[g,b,p].join("|")+")"+v+w+")*"),y="(?:"+[g+f+"?",f,b,p,h].join("|")+")",A=RegExp(m+"(?="+m+")|"+y+_,"g");const x=function(e){return e.match(A)||[]};const I=function(e){return d(e)?x(e):k(e)};const S="object"==typeof global&&global&&global.Object===Object&&global;var T="object"==typeof self&&self&&self.Object===Object&&self;const E=(S||T||Function("return this")()).Symbol;const V=function(e,t){for(var i=-1,n=null==e?0:e.length,o=Array(n);++i{if(n.isCollapsed){const c=n.getFirstPosition();if(n.hasAttribute("linkHref")){const s=(0,o.findAttributeRange)(c,"linkHref",n.getAttribute("linkHref"),i);t.setAttribute("linkHref",e,s),r.forEach((e=>{t.setAttribute(e,!0,s)})),a.forEach((e=>{t.removeAttribute(e,s)})),t.setSelection(t.createPositionAfter(s.end.nodeBefore))}else if(""!==e){const o=(0,s.toMap)(n.getAttributes());o.set("linkHref",e),r.forEach((e=>{o.set(e,!0)}));const{end:a}=i.insertContent(t.createText(e,o),c);t.setSelection(a)}["linkHref",...r,...a].forEach((e=>{t.removeSelectionAttribute(e)}))}else{const o=i.schema.getValidRanges(n.getRanges(),"linkHref"),s=[];for(const e of n.getSelectedBlocks())i.schema.checkAttribute(e,"linkHref")&&s.push(t.createRangeOn(e));const c=s.slice();for(const e of o)this._isRangeToUpdate(e,s)&&c.push(e);for(const i of c)t.setAttribute("linkHref",e,i),r.forEach((e=>{t.setAttribute(e,!0,i)})),a.forEach((e=>{t.removeAttribute(e,i)}))}}))}_getDecoratorStateFromModel(e){const t=this.editor.model,i=t.document.selection,n=i.getSelectedElement();return ee(n,t.schema)?n.getAttribute(e):i.getAttribute(e)}_isRangeToUpdate(e,t){for(const i of t)if(i.containsRange(e))return!1;return!0}}class oe extends e.Command{refresh(){const e=this.editor.model,t=e.document.selection,i=t.getSelectedElement();ee(i,e.schema)?this.isEnabled=e.schema.checkAttribute(i,"linkHref"):this.isEnabled=e.schema.checkAttributeInSelection(t,"linkHref")}execute(){const e=this.editor,t=this.editor.model,i=t.document.selection,n=e.commands.get("link");t.change((e=>{const r=i.isCollapsed?[(0,o.findAttributeRange)(i.getFirstPosition(),"linkHref",i.getAttribute("linkHref"),t)]:t.schema.getValidRanges(i.getRanges(),"linkHref");for(const t of r)if(e.removeAttribute("linkHref",t),n)for(const i of n.manualDecorators)e.removeAttribute(i.id,t)}))}}class re{constructor({id:e,label:t,attributes:i,classes:n,styles:o,defaultValue:r}){this.id=e,this.set("value"),this.defaultValue=r,this.label=t,this.attributes=i,this.classes=n,this.styles=o}_createPattern(){return{attributes:this.attributes,classes:this.classes,styles:this.styles}}}(0,s.mix)(re,s.ObservableMixin);var se=i(62),ae=i.n(se),ce=i(23),le={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};ae()(ce.Z,le);ce.Z.locals;const ue="automatic",de=/^(https?:)?\/\//;class ke extends e.Plugin{static get pluginName(){return"LinkEditing"}static get requires(){return[o.TwoStepCaretMovement,o.Input,r.ClipboardPipeline]}constructor(e){super(e),e.config.define("link",{addTargetToExternalLinks:!1})}init(){const e=this.editor;e.model.schema.extend("$text",{allowAttributes:"linkHref"}),e.conversion.for("dataDowncast").attributeToElement({model:"linkHref",view:J}),e.conversion.for("editingDowncast").attributeToElement({model:"linkHref",view:(e,t)=>J(X(e),t)}),e.conversion.for("upcast").elementToAttribute({view:{name:"a",attributes:{href:!0}},model:{key:"linkHref",value:e=>e.getAttribute("href")}}),e.commands.add("link",new ne(e)),e.commands.add("unlink",new oe(e));const t=function(e,t){const i={"Open in a new tab":e("Open in a new tab"),Downloadable:e("Downloadable")};return t.forEach((e=>(e.label&&i[e.label]&&(e.label=i[e.label]),e))),t}(e.t,function(e){const t=[];if(e)for(const[i,n]of Object.entries(e)){const e=Object.assign({},n,{id:`link${K(i)}`});t.push(e)}return t}(e.config.get("link.decorators")));this._enableAutomaticDecorators(t.filter((e=>e.mode===ue))),this._enableManualDecorators(t.filter((e=>"manual"===e.mode)));e.plugins.get(o.TwoStepCaretMovement).registerAttribute("linkHref"),(0,o.inlineHighlight)(e,"linkHref","a","ck-link_selected"),this._enableLinkOpen(),this._enableInsertContentSelectionAttributesFixer(),this._enableClickingAfterLink(),this._enableTypingOverLink(),this._handleDeleteContentAfterLink()}_enableAutomaticDecorators(e){const t=this.editor,i=t.commands.get("link").automaticDecorators;t.config.get("link.addTargetToExternalLinks")&&i.add({id:"linkIsExternal",mode:ue,callback:e=>de.test(e),attributes:{target:"_blank",rel:"noopener noreferrer"}}),i.add(e),i.length&&t.conversion.for("downcast").add(i.getDispatcher())}_enableManualDecorators(e){if(!e.length)return;const t=this.editor,i=t.commands.get("link").manualDecorators;e.forEach((e=>{t.model.schema.extend("$text",{allowAttributes:e.id}),e=new re(e),i.add(e),t.conversion.for("downcast").attributeToElement({model:e.id,view:(t,{writer:i,schema:n},{item:o})=>{if(n.isInline(o)&&t){const t=i.createAttributeElement("a",e.attributes,{priority:5});e.classes&&i.addClass(e.classes,t);for(const n in e.styles)i.setStyle(n,e.styles[n],t);return i.setCustomProperty("link",!0,t),t}}}),t.conversion.for("upcast").elementToAttribute({view:{name:"a",...e._createPattern()},model:{key:e.id}})}))}_enableLinkOpen(){const e=this.editor,t=e.editing.view.document,i=e.model.document;this.listenTo(t,"click",((e,t)=>{if(!(s.env.isMac?t.domEvent.metaKey:t.domEvent.ctrlKey))return;let i=t.domTarget;if("a"!=i.tagName.toLowerCase()&&(i=i.closest("a")),!i)return;const n=i.getAttribute("href");n&&(e.stop(),t.preventDefault(),ie(n))}),{context:"$capture"}),this.listenTo(t,"enter",((e,t)=>{const n=i.selection,o=n.getSelectedElement(),r=o?o.getAttribute("linkHref"):n.getAttribute("linkHref");r&&t.domEvent.altKey&&(e.stop(),ie(r))}),{context:"a"})}_enableInsertContentSelectionAttributesFixer(){const e=this.editor.model,t=e.document.selection;this.listenTo(e,"insertContent",(()=>{const i=t.anchor.nodeBefore,n=t.anchor.nodeAfter;t.hasAttribute("linkHref")&&i&&i.hasAttribute("linkHref")&&(n&&n.hasAttribute("linkHref")||e.change((t=>{he(t,me(e.schema))})))}),{priority:"low"})}_enableClickingAfterLink(){const e=this.editor,i=e.model;e.editing.view.addObserver(t.MouseObserver);let n=!1;this.listenTo(e.editing.view.document,"mousedown",(()=>{n=!0})),this.listenTo(e.editing.view.document,"selectionChange",(()=>{if(!n)return;n=!1;const e=i.document.selection;if(!e.isCollapsed)return;if(!e.hasAttribute("linkHref"))return;const t=e.getFirstPosition(),r=(0,o.findAttributeRange)(t,"linkHref",e.getAttribute("linkHref"),i);(t.isTouching(r.start)||t.isTouching(r.end))&&i.change((e=>{he(e,me(i.schema))}))}))}_enableTypingOverLink(){const e=this.editor,t=e.editing.view;let i,n;this.listenTo(t.document,"delete",(()=>{n=!0}),{priority:"high"}),this.listenTo(e.model,"deleteContent",(()=>{const t=e.model.document.selection;t.isCollapsed||(n?n=!1:fe(e)&&function(e){const t=e.document.selection,i=t.getFirstPosition(),n=t.getLastPosition(),r=i.nodeAfter;if(!r)return!1;if(!r.is("$text"))return!1;if(!r.hasAttribute("linkHref"))return!1;const s=n.textNode||n.nodeBefore;if(r===s)return!0;return(0,o.findAttributeRange)(i,"linkHref",r.getAttribute("linkHref"),e).containsRange(e.createRange(i,n),!0)}(e.model)&&(i=t.getAttributes()))}),{priority:"high"}),this.listenTo(e.model,"insertContent",((t,[o])=>{n=!1,fe(e)&&i&&(e.model.change((e=>{for(const[t,n]of i)e.setAttribute(t,n,o)})),i=null)}),{priority:"high"})}_handleDeleteContentAfterLink(){const e=this.editor,t=e.model,i=t.document.selection,n=e.editing.view;let r=!1,a=!1;this.listenTo(n.document,"delete",((e,t)=>{a=t.domEvent.keyCode===s.keyCodes.backspace}),{priority:"high"}),this.listenTo(t,"deleteContent",(()=>{r=!1;const e=i.getFirstPosition(),n=i.getAttribute("linkHref");if(!n)return;const s=(0,o.findAttributeRange)(e,"linkHref",n,t);r=s.containsPosition(e)||s.end.isEqual(e)}),{priority:"high"}),this.listenTo(t,"deleteContent",(()=>{a&&(a=!1,r||e.model.enqueueChange((e=>{he(e,me(t.schema))})))}),{priority:"low"})}}function he(e,t){e.removeSelectionAttribute("linkHref");for(const i of t)e.removeSelectionAttribute(i)}function fe(e){return e.model.change((e=>e.batch)).isTyping}function me(e){return e.getDefinition("$text").allowAttributes.filter((e=>e.startsWith("link")))}var ge=i(273),be=i(995),pe=i(764),we={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};ae()(pe.Z,we);pe.Z.locals;var ve=i(871),_e={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};ae()(ve.Z,_e);ve.Z.locals;class ye extends ge.View{constructor(t,i){super(t);const n=t.t;this.focusTracker=new s.FocusTracker,this.keystrokes=new s.KeystrokeHandler,this.urlInputView=this._createUrlInput(),this.saveButtonView=this._createButton(n("Save"),e.icons.check,"ck-button-save"),this.saveButtonView.type="submit",this.cancelButtonView=this._createButton(n("Cancel"),e.icons.cancel,"ck-button-cancel","cancel"),this._manualDecoratorSwitches=this._createManualDecoratorSwitches(i),this.children=this._createFormChildren(i.manualDecorators),this._focusables=new ge.ViewCollection,this._focusCycler=new ge.FocusCycler({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}});const o=["ck","ck-link-form","ck-responsive-form"];i.manualDecorators.length&&o.push("ck-link-form_layout-vertical","ck-vertical-form"),this.setTemplate({tag:"form",attributes:{class:o,tabindex:"-1"},children:this.children}),(0,ge.injectCssTransitionDisabler)(this)}getDecoratorSwitchesState(){return Array.from(this._manualDecoratorSwitches).reduce(((e,t)=>(e[t.name]=t.isOn,e)),{})}render(){super.render(),(0,ge.submitHandler)({view:this});[this.urlInputView,...this._manualDecoratorSwitches,this.saveButtonView,this.cancelButtonView].forEach((e=>{this._focusables.add(e),this.focusTracker.add(e.element)})),this.keystrokes.listenTo(this.element)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}_createUrlInput(){const e=this.locale.t,t=new ge.LabeledFieldView(this.locale,ge.createLabeledInputText);return t.label=e("Link URL"),t}_createButton(e,t,i,n){const o=new ge.ButtonView(this.locale);return o.set({label:e,icon:t,tooltip:!0}),o.extendTemplate({attributes:{class:i}}),n&&o.delegate("execute").to(this,n),o}_createManualDecoratorSwitches(e){const t=this.createCollection();for(const i of e.manualDecorators){const n=new ge.SwitchButtonView(this.locale);n.set({name:i.id,label:i.label,withText:!0}),n.bind("isOn").toMany([i,e],"value",((e,t)=>void 0===t&&void 0===e?i.defaultValue:e)),n.on("execute",(()=>{i.set("value",!n.isOn)})),t.add(n)}return t}_createFormChildren(e){const t=this.createCollection();if(t.add(this.urlInputView),e.length){const e=new ge.View;e.setTemplate({tag:"ul",children:this._manualDecoratorSwitches.map((e=>({tag:"li",children:[e],attributes:{class:["ck","ck-list__item"]}}))),attributes:{class:["ck","ck-reset","ck-list"]}}),t.add(e)}return t.add(this.saveButtonView),t.add(this.cancelButtonView),t}}var Ae=i(952),xe={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};ae()(Ae.Z,xe);Ae.Z.locals;class Ie extends ge.View{constructor(t){super(t);const i=t.t;this.focusTracker=new s.FocusTracker,this.keystrokes=new s.KeystrokeHandler,this.previewButtonView=this._createPreviewButton(),this.unlinkButtonView=this._createButton(i("Unlink"),'',"unlink"),this.editButtonView=this._createButton(i("Edit link"),e.icons.pencil,"edit"),this.set("href"),this._focusables=new ge.ViewCollection,this._focusCycler=new ge.FocusCycler({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();[this.previewButtonView,this.editButtonView,this.unlinkButtonView].forEach((e=>{this._focusables.add(e),this.focusTracker.add(e.element)})),this.keystrokes.listenTo(this.element)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}_createButton(e,t,i){const n=new ge.ButtonView(this.locale);return n.set({label:e,icon:t,tooltip:!0}),n.delegate("execute").to(this,i),n}_createPreviewButton(){const e=new ge.ButtonView(this.locale),t=this.bindTemplate,i=this.t;return e.set({withText:!0,tooltip:i("Open link in new tab")}),e.extendTemplate({attributes:{class:["ck","ck-link-actions__preview"],href:t.to("href",(e=>e&&X(e))),target:"_blank",rel:"noopener noreferrer"}}),e.bind("label").to(this,"href",(e=>e||i("This link has no URL"))),e.bind("isEnabled").to(this,"href",(e=>!!e)),e.template.tag="a",e.template.eventListeners={},e}}const Se='',Te="link-ui";class Ee extends e.Plugin{static get requires(){return[ge.ContextualBalloon]}static get pluginName(){return"LinkUI"}init(){const e=this.editor;e.editing.view.addObserver(t.ClickObserver),this.actionsView=this._createActionsView(),this.formView=this._createFormView(),this._balloon=e.plugins.get(ge.ContextualBalloon),this._createToolbarLinkButton(),this._enableUserBalloonInteractions(),e.conversion.for("editingDowncast").markerToHighlight({model:Te,view:{classes:["ck-fake-link-selection"]}}),e.conversion.for("editingDowncast").markerToElement({model:Te,view:{name:"span",classes:["ck-fake-link-selection","ck-fake-link-selection_collapsed"]}})}destroy(){super.destroy(),this.formView.destroy()}_createActionsView(){const e=this.editor,t=new Ie(e.locale),i=e.commands.get("link"),n=e.commands.get("unlink");return t.bind("href").to(i,"value"),t.editButtonView.bind("isEnabled").to(i),t.unlinkButtonView.bind("isEnabled").to(n),this.listenTo(t,"edit",(()=>{this._addFormView()})),this.listenTo(t,"unlink",(()=>{e.execute("unlink"),this._hideUI()})),t.keystrokes.set("Esc",((e,t)=>{this._hideUI(),t()})),t.keystrokes.set(G,((e,t)=>{this._addFormView(),t()})),t}_createFormView(){const e=this.editor,t=e.commands.get("link"),i=e.config.get("link.defaultProtocol"),n=new ye(e.locale,t);return n.urlInputView.fieldView.bind("value").to(t,"value"),n.urlInputView.bind("isReadOnly").to(t,"isEnabled",(e=>!e)),n.saveButtonView.bind("isEnabled").to(t),this.listenTo(n,"submit",(()=>{const{value:t}=n.urlInputView.fieldView.element,o=te(t,i);e.execute("link",o,n.getDecoratorSwitchesState()),this._closeFormView()})),this.listenTo(n,"cancel",(()=>{this._closeFormView()})),n.keystrokes.set("Esc",((e,t)=>{this._closeFormView(),t()})),n}_createToolbarLinkButton(){const e=this.editor,t=e.commands.get("link"),i=e.t;e.keystrokes.set(G,((e,i)=>{i(),t.isEnabled&&this._showUI(!0)})),e.ui.componentFactory.add("link",(e=>{const n=new ge.ButtonView(e);return n.isEnabled=!0,n.label=i("Link"),n.icon=Se,n.keystroke=G,n.tooltip=!0,n.isToggleable=!0,n.bind("isEnabled").to(t,"isEnabled"),n.bind("isOn").to(t,"value",(e=>!!e)),this.listenTo(n,"execute",(()=>this._showUI(!0))),n}))}_enableUserBalloonInteractions(){const e=this.editor.editing.view.document;this.listenTo(e,"click",(()=>{this._getSelectedLinkElement()&&this._showUI()})),this.editor.keystrokes.set("Tab",((e,t)=>{this._areActionsVisible&&!this.actionsView.focusTracker.isFocused&&(this.actionsView.focus(),t())}),{priority:"high"}),this.editor.keystrokes.set("Esc",((e,t)=>{this._isUIVisible&&(this._hideUI(),t())})),(0,ge.clickOutsideHandler)({emitter:this.formView,activator:()=>this._isUIInPanel,contextElements:[this._balloon.view.element],callback:()=>this._hideUI()})}_addActionsView(){this._areActionsInPanel||this._balloon.add({view:this.actionsView,position:this._getBalloonPositionData()})}_addFormView(){if(this._isFormInPanel)return;const e=this.editor.commands.get("link");this.formView.disableCssTransitions(),this._balloon.add({view:this.formView,position:this._getBalloonPositionData()}),this._balloon.visibleView===this.formView&&this.formView.urlInputView.fieldView.select(),this.formView.enableCssTransitions(),this.formView.urlInputView.fieldView.element.value=e.value||""}_closeFormView(){const e=this.editor.commands.get("link");e.restoreManualDecoratorStates(),void 0!==e.value?this._removeFormView():this._hideUI()}_removeFormView(){this._isFormInPanel&&(this.formView.saveButtonView.focus(),this._balloon.remove(this.formView),this.editor.editing.view.focus(),this._hideFakeVisualSelection())}_showUI(e=!1){this._getSelectedLinkElement()?(this._areActionsVisible?this._addFormView():this._addActionsView(),e&&this._balloon.showStack("main")):(this._showFakeVisualSelection(),this._addActionsView(),e&&this._balloon.showStack("main"),this._addFormView()),this._startUpdatingUI()}_hideUI(){if(!this._isUIInPanel)return;const e=this.editor;this.stopListening(e.ui,"update"),this.stopListening(this._balloon,"change:visibleView"),e.editing.view.focus(),this._removeFormView(),this._balloon.remove(this.actionsView),this._hideFakeVisualSelection()}_startUpdatingUI(){const e=this.editor,t=e.editing.view.document;let i=this._getSelectedLinkElement(),n=r();const o=()=>{const e=this._getSelectedLinkElement(),t=r();i&&!e||!i&&t!==n?this._hideUI():this._isUIVisible&&this._balloon.updatePosition(this._getBalloonPositionData()),i=e,n=t};function r(){return t.selection.focus.getAncestors().reverse().find((e=>e.is("element")))}this.listenTo(e.ui,"update",o),this.listenTo(this._balloon,"change:visibleView",o)}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(){return this._balloon.visibleView==this.formView||this._areActionsVisible}_getBalloonPositionData(){const e=this.editor.editing.view,t=this.editor.model,i=e.document;let n=null;if(t.markers.has(Te)){const t=Array.from(this.editor.editing.mapper.markerNameToElements(Te)),i=e.createRange(e.createPositionBefore(t[0]),e.createPositionAfter(t[t.length-1]));n=e.domConverter.viewRangeToDom(i)}else n=()=>{const t=this._getSelectedLinkElement();return t?e.domConverter.mapViewToDom(t):e.domConverter.viewRangeToDom(i.selection.getFirstRange())};return{target:n}}_getSelectedLinkElement(){const e=this.editor.editing.view,t=e.document.selection,i=t.getSelectedElement();if(t.isCollapsed||i&&(0,be.isWidget)(i))return Ve(t.getFirstPosition());{const i=t.getFirstRange().getTrimmed(),n=Ve(i.start),o=Ve(i.end);return n&&n==o&&e.createRangeIn(n).getTrimmed().isEqual(i)?n:null}}_showFakeVisualSelection(){const e=this.editor.model;e.change((t=>{const i=e.document.selection.getFirstRange();if(e.markers.has(Te))t.updateMarker(Te,{range:i});else if(i.start.isAtEnd){const n=i.start.getLastMatchingPosition((({item:t})=>!e.schema.isContent(t)),{boundaries:i});t.addMarker(Te,{usingOperation:!1,affectsData:!1,range:t.createRange(n,i.end)})}else t.addMarker(Te,{usingOperation:!1,affectsData:!1,range:i})}))}_hideFakeVisualSelection(){const e=this.editor.model;e.markers.has(Te)&&e.change((e=>{e.removeMarker(Te)}))}}function Ve(e){return e.getAncestors().find((e=>{return(t=e).is("attributeElement")&&!!t.getCustomProperty("link");var t}))}const Le=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");class Ce extends e.Plugin{static get requires(){return[o.Delete]}static get pluginName(){return"AutoLink"}init(){const e=this.editor.model.document.selection;e.on("change:range",(()=>{this.isEnabled=!e.anchor.parent.is("element","codeBlock")})),this._enableTypingHandling()}afterInit(){this._enableEnterHandling(),this._enableShiftEnterHandling()}_enableTypingHandling(){const e=this.editor,t=new o.TextWatcher(e.model,(e=>{if(!function(e){return e.length>4&&" "===e[e.length-1]&&" "!==e[e.length-2]}(e))return;const t=De(e.substr(0,e.length-1));return t?{url:t}:void 0}));t.on("matched:data",((t,i)=>{const{batch:n,range:o,url:r}=i;if(!n.isTyping)return;const s=o.end.getShiftedBy(-1),a=s.getShiftedBy(-r.length),c=e.model.createRange(a,s);this._applyAutoLink(r,c)})),t.bind("isEnabled").to(this)}_enableEnterHandling(){const e=this.editor,t=e.model,i=e.commands.get("enter");i&&i.on("execute",(()=>{const e=t.document.selection.getFirstPosition();if(!e.parent.previousSibling)return;const i=t.createRangeIn(e.parent.previousSibling);this._checkAndApplyAutoLinkOnRange(i)}))}_enableShiftEnterHandling(){const e=this.editor,t=e.model,i=e.commands.get("shiftEnter");i&&i.on("execute",(()=>{const e=t.document.selection.getFirstPosition(),i=t.createRange(t.createPositionAt(e.parent,0),e.getShiftedBy(-1));this._checkAndApplyAutoLinkOnRange(i)}))}_checkAndApplyAutoLinkOnRange(e){const t=this.editor.model,{text:i,range:n}=(0,o.getLastTextLine)(e,t),r=De(i);if(r){const e=t.createRange(n.end.getShiftedBy(-r.length),n.end);this._applyAutoLink(r,e)}}_applyAutoLink(e,t){const i=this.editor.model,n=this.editor.plugins.get("Delete");this.isEnabled&&function(e,t){return t.schema.checkAttributeInSelection(t.createSelection(e),"linkHref")}(t,i)&&i.enqueueChange((o=>{const r=this.editor.config.get("link.defaultProtocol"),s=te(e,r);o.setAttribute("linkHref",s,t),i.enqueueChange((()=>{n.requestUndoOnBackspace()}))}))}}function De(e){const t=Le.exec(e);return t?t[2]:null}class Me extends e.Plugin{static get requires(){return[ke,Ee,Ce]}static get pluginName(){return"Link"}}class je extends e.Plugin{static get requires(){return["ImageEditing","ImageUtils",ke]}static get pluginName(){return"LinkImageEditing"}init(){const e=this.editor,t=e.model.schema;e.plugins.has("ImageBlockEditing")&&t.extend("imageBlock",{allowAttributes:["linkHref"]}),e.conversion.for("upcast").add(function(e){const t=e.plugins.has("ImageInlineEditing"),i=e.plugins.get("ImageUtils");return e=>{e.on("element:a",((e,n,o)=>{const r=n.viewItem,s=i.findViewImgElement(r);if(!s)return;const a=s.findAncestor((e=>i.isBlockImageView(e)));if(t&&!a)return;const c={attributes:["href"]};if(!o.consumable.consume(r,c))return;const l=r.getAttribute("href");if(!l)return;let u=n.modelCursor.parent;if(!u.is("element","imageBlock")){const e=o.convertItem(s,n.modelCursor);n.modelRange=e.modelRange,n.modelCursor=e.modelCursor,u=n.modelCursor.nodeBefore}u&&u.is("element","imageBlock")&&o.writer.setAttribute("linkHref",l,u)}),{priority:"high"})}}(e)),e.conversion.for("downcast").add(function(e){const t=e.plugins.get("ImageUtils");return e=>{e.on("attribute:linkHref:imageBlock",((e,i,n)=>{if(!n.consumable.consume(i.item,e.name))return;const o=n.mapper.toViewElement(i.item),r=n.writer,s=Array.from(o.getChildren()).find((e=>"a"===e.name)),a=t.findViewImgElement(o),c=a.parent.is("element","picture")?a.parent:a;if(s)i.attributeNewValue?r.setAttribute("href",i.attributeNewValue,s):(r.move(r.createRangeOn(c),r.createPositionAt(o,0)),r.remove(s));else{const e=r.createContainerElement("a",{href:i.attributeNewValue});r.insert(r.createPositionAt(o,0),e),r.move(r.createRangeOn(c),r.createPositionAt(e,0))}}),{priority:"high"})}}(e)),this._enableAutomaticDecorators(),this._enableManualDecorators()}_enableAutomaticDecorators(){const e=this.editor,t=e.commands.get("link").automaticDecorators;t.length&&e.conversion.for("downcast").add(t.getDispatcherForLinkedImage())}_enableManualDecorators(){const e=this.editor,t=e.commands.get("link");for(const i of t.manualDecorators)e.plugins.has("ImageBlockEditing")&&e.model.schema.extend("imageBlock",{allowAttributes:i.id}),e.plugins.has("ImageInlineEditing")&&e.model.schema.extend("imageInline",{allowAttributes:i.id}),e.conversion.for("downcast").add(Be(i)),e.conversion.for("upcast").add(Ne(e,i))}}function Be(e){return t=>{t.on(`attribute:${e.id}:imageBlock`,((t,i,n)=>{const o=n.mapper.toViewElement(i.item),r=Array.from(o.getChildren()).find((e=>"a"===e.name));if(r){for(const[t,i]of(0,s.toMap)(e.attributes))n.writer.setAttribute(t,i,r);e.classes&&n.writer.addClass(e.classes,r);for(const t in e.styles)n.writer.setStyle(t,e.styles[t],r)}}))}}function Ne(e,i){const n=e.plugins.has("ImageInlineEditing"),o=e.plugins.get("ImageUtils");return e=>{e.on("element:a",((e,r,s)=>{const a=r.viewItem,c=o.findViewImgElement(a);if(!c)return;const l=c.findAncestor((e=>o.isBlockImageView(e)));if(n&&!l)return;const u=new t.Matcher(i._createPattern()).match(a);if(!u)return;if(!s.consumable.consume(a,u.match))return;const d=r.modelCursor.nodeBefore||r.modelCursor.parent;s.writer.setAttribute(i.id,!0,d)}),{priority:"high"})}}class He extends e.Plugin{static get requires(){return[ke,Ee,"ImageBlockEditing"]}static get pluginName(){return"LinkImageUI"}init(){const e=this.editor,t=e.editing.view.document;this.listenTo(t,"click",((t,i)=>{this._isSelectedLinkedImage(e.model.document.selection)&&(i.preventDefault(),t.stop())}),{priority:"high"}),this._createToolbarLinkImageButton()}_createToolbarLinkImageButton(){const e=this.editor,t=e.t;e.ui.componentFactory.add("linkImage",(i=>{const n=new ge.ButtonView(i),o=e.plugins.get("LinkUI"),r=e.commands.get("link");return n.set({isEnabled:!0,label:t("Link image"),icon:Se,keystroke:G,tooltip:!0,isToggleable:!0}),n.bind("isEnabled").to(r,"isEnabled"),n.bind("isOn").to(r,"value",(e=>!!e)),this.listenTo(n,"execute",(()=>{this._isSelectedLinkedImage(e.model.document.selection)?o._addActionsView():o._showUI(!0)})),n}))}_isSelectedLinkedImage(e){const t=e.getSelectedElement();return this.editor.plugins.get("ImageUtils").isImage(t)&&t.hasAttribute("linkHref")}}var Oe=i(269),Ue={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};ae()(Oe.Z,Ue);Oe.Z.locals;class Pe extends e.Plugin{static get requires(){return[je,He]}static get pluginName(){return"LinkImage"}}})(),(window.CKEditor5=window.CKEditor5||{}).link=n})(); \ No newline at end of file + */(()=>{var e={23:(e,t,i)=>{"use strict";i.d(t,{Z:()=>s});var n=i(609),o=i.n(n)()((function(e){return e[1]}));o.push([e.id,".ck .ck-link_selected{background:var(--ck-color-link-selected-background)}.ck .ck-link_selected span.image-inline{outline:var(--ck-widget-outline-thickness) solid var(--ck-color-link-selected-background)}.ck .ck-fake-link-selection{background:var(--ck-color-link-fake-selection)}.ck .ck-fake-link-selection_collapsed{border-right:1px solid var(--ck-color-base-text);height:100%;margin-right:-1px;outline:1px solid hsla(0,0%,100%,.5)}",""]);const s=o},952:(e,t,i)=>{"use strict";i.d(t,{Z:()=>s});var n=i(609),o=i.n(n)()((function(e){return e[1]}));o.push([e.id,".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{color:var(--ck-color-link-default);cursor:pointer;max-width:var(--ck-input-width);min-width:3em;padding:0 var(--ck-spacing-medium);text-align:center;text-overflow:ellipsis}.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{max-width:100%;min-width:0}[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}}",""]);const s=o},871:(e,t,i)=>{"use strict";i.d(t,{Z:()=>s});var n=i(609),o=i.n(n)()((function(e){return e[1]}));o.push([e.id,".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{min-width:var(--ck-input-width);padding:0}.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{border-radius:0;margin:0;padding:var(--ck-spacing-standard);width:50%}.ck.ck-link-form_layout-vertical>.ck-button:not(:focus){border-top:1px solid var(--ck-color-base-border)}[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{padding:0;width:100%}.ck.ck-link-form_layout-vertical .ck.ck-list .ck-button.ck-switchbutton:hover{background:none}",""]);const s=o},269:(e,t,i)=>{"use strict";i.d(t,{Z:()=>s});var n=i(609),o=i.n(n)()((function(e){return e[1]}));o.push([e.id,'.ck.ck-editor__editable a span.image-inline:after,.ck.ck-editor__editable figure.image>a:after{display:block;position:absolute}:root{--ck-link-image-indicator-icon-size:20;--ck-link-image-indicator-icon-is-visible:clamp(0px,100% - 50px,1px)}.ck.ck-editor__editable a span.image-inline:after,.ck.ck-editor__editable figure.image>a:after{background-color:rgba(0,0,0,.4);background-image:url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI2ZmZiIgZD0ibTExLjA3NyAxNSAuOTkxLTEuNDE2YS43NS43NSAwIDEgMSAxLjIyOS44NmwtMS4xNDggMS42NGEuNzQ4Ljc0OCAwIDAgMS0uMjE3LjIwNiA1LjI1MSA1LjI1MSAwIDAgMS04LjUwMy01Ljk1NS43NDEuNzQxIDAgMCAxIC4xMi0uMjc0bDEuMTQ3LTEuNjM5YS43NS43NSAwIDEgMSAxLjIyOC44Nkw0LjkzMyAxMC43bC4wMDYuMDAzYTMuNzUgMy43NSAwIDAgMCA2LjEzMiA0LjI5NGwuMDA2LjAwNHptNS40OTQtNS4zMzVhLjc0OC43NDggMCAwIDEtLjEyLjI3NGwtMS4xNDcgMS42MzlhLjc1Ljc1IDAgMSAxLTEuMjI4LS44NmwuODYtMS4yM2EzLjc1IDMuNzUgMCAwIDAtNi4xNDQtNC4zMDFsLS44NiAxLjIyOWEuNzUuNzUgMCAwIDEtMS4yMjktLjg2bDEuMTQ4LTEuNjRhLjc0OC43NDggMCAwIDEgLjIxNy0uMjA2IDUuMjUxIDUuMjUxIDAgMCAxIDguNTAzIDUuOTU1em0tNC41NjMtMi41MzJhLjc1Ljc1IDAgMCAxIC4xODQgMS4wNDVsLTMuMTU1IDQuNTA1YS43NS43NSAwIDEgMS0xLjIyOS0uODZsMy4xNTUtNC41MDZhLjc1Ljc1IDAgMCAxIDEuMDQ1LS4xODR6Ii8+PC9zdmc+");background-position:50%;background-repeat:no-repeat;background-size:14px;border-radius:100%;content:"";height:calc(var(--ck-link-image-indicator-icon-is-visible)*var(--ck-link-image-indicator-icon-size));overflow:hidden;right:min(var(--ck-spacing-medium),6%);top:min(var(--ck-spacing-medium),6%);width:calc(var(--ck-link-image-indicator-icon-is-visible)*var(--ck-link-image-indicator-icon-size))}',""]);const s=o},764:(e,t,i)=>{"use strict";i.d(t,{Z:()=>s});var n=i(609),o=i.n(n)()((function(e){return e[1]}));o.push([e.id,'.ck-vertical-form .ck-button:after{bottom:-1px;content:"";position:absolute;right:-1px;top:-1px;width:0;z-index:1}.ck-vertical-form .ck-button:focus:after{display:none}@media screen and (max-width:600px){.ck.ck-responsive-form .ck-button:after{bottom:-1px;content:"";position:absolute;right:-1px;top:-1px;width:0;z-index:1}.ck.ck-responsive-form .ck-button:focus:after{display:none}}.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-width)*.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:nth-last-child(2):after{border-right:1px solid var(--ck-color-base-border)}.ck.ck-responsive-form>.ck-button:last-child,.ck.ck-responsive-form>.ck-button:nth-last-child(2){border-radius:0;margin-top:var(--ck-spacing-large);padding:var(--ck-spacing-standard)}.ck.ck-responsive-form>.ck-button:last-child:not(:focus),.ck.ck-responsive-form>.ck-button:nth-last-child(2):not(:focus){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}[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)}}',""]);const s=o},609:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var i=e(t);return t[2]?"@media ".concat(t[2]," {").concat(i,"}"):i})).join("")},t.i=function(e,i,n){"string"==typeof e&&(e=[[null,e,""]]);var o={};if(n)for(var s=0;s{"use strict";var n,o=function(){return void 0===n&&(n=Boolean(window&&document&&document.all&&!window.atob)),n},s=function(){var e={};return function(t){if(void 0===e[t]){var i=document.querySelector(t);if(window.HTMLIFrameElement&&i instanceof window.HTMLIFrameElement)try{i=i.contentDocument.head}catch(e){i=null}e[t]=i}return e[t]}}(),r=[];function a(e){for(var t=-1,i=0;i{e.exports=i(79)("./src/clipboard.js")},704:(e,t,i)=>{e.exports=i(79)("./src/core.js")},492:(e,t,i)=>{e.exports=i(79)("./src/engine.js")},181:(e,t,i)=>{e.exports=i(79)("./src/typing.js")},273:(e,t,i)=>{e.exports=i(79)("./src/ui.js")},209:(e,t,i)=>{e.exports=i(79)("./src/utils.js")},995:(e,t,i)=>{e.exports=i(79)("./src/widget.js")},79:e=>{"use strict";e.exports=CKEditor5.dll}},t={};function i(n){var o=t[n];if(void 0!==o)return o.exports;var s=t[n]={id:n,exports:{}};return e[n](s,s.exports,i),s.exports}i.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t},i.d=(e,t)=>{for(var n in t)i.o(t,n)&&!i.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.nc=void 0;var n={};(()=>{"use strict";i.r(n),i.d(n,{AutoLink:()=>Ce,Link:()=>Me,LinkEditing:()=>ke,LinkImage:()=>Pe,LinkImageEditing:()=>je,LinkImageUI:()=>He,LinkUI:()=>Ee});var e=i(704),t=i(492),o=i(181),s=i(945),r=i(209);class a{constructor(){this._definitions=new Set}get length(){return this._definitions.size}add(e){Array.isArray(e)?e.forEach((e=>this._definitions.add(e))):this._definitions.add(e)}getDispatcher(){return e=>{e.on("attribute:linkHref",((e,t,i)=>{if(!i.consumable.test(t.item,"attribute:linkHref"))return;if(!t.item.is("selection")&&!i.schema.isInline(t.item))return;const n=i.writer,o=n.document.selection;for(const e of this._definitions){const s=n.createAttributeElement("a",e.attributes,{priority:5});e.classes&&n.addClass(e.classes,s);for(const t in e.styles)n.setStyle(t,e.styles[t],s);n.setCustomProperty("link",!0,s),e.callback(t.attributeNewValue)?t.item.is("selection")?n.wrap(o.getFirstRange(),s):n.wrap(i.mapper.toViewRange(t.range),s):n.unwrap(i.mapper.toViewRange(t.range),s)}}),{priority:"high"})}}getDispatcherForLinkedImage(){return e=>{e.on("attribute:linkHref:imageBlock",((e,t,{writer:i,mapper:n})=>{const o=n.toViewElement(t.item),s=Array.from(o.getChildren()).find((e=>"a"===e.name));for(const e of this._definitions){const n=(0,r.toMap)(e.attributes);if(e.callback(t.attributeNewValue)){for(const[e,t]of n)"class"===e?i.addClass(t,s):i.setAttribute(e,t,s);e.classes&&i.addClass(e.classes,s);for(const t in e.styles)i.setStyle(t,e.styles[t],s)}else{for(const[e,t]of n)"class"===e?i.removeClass(t,s):i.removeAttribute(e,s);e.classes&&i.removeClass(e.classes,s);for(const t in e.styles)i.removeStyle(t,s)}}}))}}}const c=function(e,t,i){var n=-1,o=e.length;t<0&&(t=-t>o?0:o+t),(i=i>o?o:i)<0&&(i+=o),o=t>i?0:i-t>>>0,t>>>=0;for(var s=Array(o);++n=n?e:c(e,t,i)};var u=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");const d=function(e){return u.test(e)};const k=function(e){return e.split("")};var h="[\\ud800-\\udfff]",f="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",m="\\ud83c[\\udffb-\\udfff]",g="[^\\ud800-\\udfff]",b="(?:\\ud83c[\\udde6-\\uddff]){2}",p="[\\ud800-\\udbff][\\udc00-\\udfff]",w="(?:"+f+"|"+m+")"+"?",v="[\\ufe0e\\ufe0f]?",_=v+w+("(?:\\u200d(?:"+[g,b,p].join("|")+")"+v+w+")*"),y="(?:"+[g+f+"?",f,b,p,h].join("|")+")",A=RegExp(m+"(?="+m+")|"+y+_,"g");const x=function(e){return e.match(A)||[]};const I=function(e){return d(e)?x(e):k(e)};const S="object"==typeof global&&global&&global.Object===Object&&global;var T="object"==typeof self&&self&&self.Object===Object&&self;const E=(S||T||Function("return this")()).Symbol;const V=function(e,t){for(var i=-1,n=null==e?0:e.length,o=Array(n);++i{if(n.isCollapsed){const c=n.getFirstPosition();if(n.hasAttribute("linkHref")){const r=(0,o.findAttributeRange)(c,"linkHref",n.getAttribute("linkHref"),i);t.setAttribute("linkHref",e,r),s.forEach((e=>{t.setAttribute(e,!0,r)})),a.forEach((e=>{t.removeAttribute(e,r)})),t.setSelection(t.createPositionAfter(r.end.nodeBefore))}else if(""!==e){const o=(0,r.toMap)(n.getAttributes());o.set("linkHref",e),s.forEach((e=>{o.set(e,!0)}));const{end:a}=i.insertContent(t.createText(e,o),c);t.setSelection(a)}["linkHref",...s,...a].forEach((e=>{t.removeSelectionAttribute(e)}))}else{const o=i.schema.getValidRanges(n.getRanges(),"linkHref"),r=[];for(const e of n.getSelectedBlocks())i.schema.checkAttribute(e,"linkHref")&&r.push(t.createRangeOn(e));const c=r.slice();for(const e of o)this._isRangeToUpdate(e,r)&&c.push(e);for(const i of c)t.setAttribute("linkHref",e,i),s.forEach((e=>{t.setAttribute(e,!0,i)})),a.forEach((e=>{t.removeAttribute(e,i)}))}}))}_getDecoratorStateFromModel(e){const t=this.editor.model,i=t.document.selection,n=i.getSelectedElement();return ee(n,t.schema)?n.getAttribute(e):i.getAttribute(e)}_isRangeToUpdate(e,t){for(const i of t)if(i.containsRange(e))return!1;return!0}}class oe extends e.Command{refresh(){const e=this.editor.model,t=e.document.selection,i=t.getSelectedElement();ee(i,e.schema)?this.isEnabled=e.schema.checkAttribute(i,"linkHref"):this.isEnabled=e.schema.checkAttributeInSelection(t,"linkHref")}execute(){const e=this.editor,t=this.editor.model,i=t.document.selection,n=e.commands.get("link");t.change((e=>{const s=i.isCollapsed?[(0,o.findAttributeRange)(i.getFirstPosition(),"linkHref",i.getAttribute("linkHref"),t)]:t.schema.getValidRanges(i.getRanges(),"linkHref");for(const t of s)if(e.removeAttribute("linkHref",t),n)for(const i of n.manualDecorators)e.removeAttribute(i.id,t)}))}}class se{constructor({id:e,label:t,attributes:i,classes:n,styles:o,defaultValue:s}){this.id=e,this.set("value"),this.defaultValue=s,this.label=t,this.attributes=i,this.classes=n,this.styles=o}_createPattern(){return{attributes:this.attributes,classes:this.classes,styles:this.styles}}}(0,r.mix)(se,r.ObservableMixin);var re=i(62),ae=i.n(re),ce=i(23),le={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};ae()(ce.Z,le);ce.Z.locals;const ue="automatic",de=/^(https?:)?\/\//;class ke extends e.Plugin{static get pluginName(){return"LinkEditing"}static get requires(){return[o.TwoStepCaretMovement,o.Input,s.ClipboardPipeline]}constructor(e){super(e),e.config.define("link",{addTargetToExternalLinks:!1})}init(){const e=this.editor;e.model.schema.extend("$text",{allowAttributes:"linkHref"}),e.conversion.for("dataDowncast").attributeToElement({model:"linkHref",view:J}),e.conversion.for("editingDowncast").attributeToElement({model:"linkHref",view:(e,t)=>J(X(e),t)}),e.conversion.for("upcast").elementToAttribute({view:{name:"a",attributes:{href:!0}},model:{key:"linkHref",value:e=>e.getAttribute("href")}}),e.commands.add("link",new ne(e)),e.commands.add("unlink",new oe(e));const t=function(e,t){const i={"Open in a new tab":e("Open in a new tab"),Downloadable:e("Downloadable")};return t.forEach((e=>(e.label&&i[e.label]&&(e.label=i[e.label]),e))),t}(e.t,function(e){const t=[];if(e)for(const[i,n]of Object.entries(e)){const e=Object.assign({},n,{id:`link${K(i)}`});t.push(e)}return t}(e.config.get("link.decorators")));this._enableAutomaticDecorators(t.filter((e=>e.mode===ue))),this._enableManualDecorators(t.filter((e=>"manual"===e.mode)));e.plugins.get(o.TwoStepCaretMovement).registerAttribute("linkHref"),(0,o.inlineHighlight)(e,"linkHref","a","ck-link_selected"),this._enableLinkOpen(),this._enableInsertContentSelectionAttributesFixer(),this._enableClickingAfterLink(),this._enableTypingOverLink(),this._handleDeleteContentAfterLink()}_enableAutomaticDecorators(e){const t=this.editor,i=t.commands.get("link").automaticDecorators;t.config.get("link.addTargetToExternalLinks")&&i.add({id:"linkIsExternal",mode:ue,callback:e=>de.test(e),attributes:{target:"_blank",rel:"noopener noreferrer"}}),i.add(e),i.length&&t.conversion.for("downcast").add(i.getDispatcher())}_enableManualDecorators(e){if(!e.length)return;const t=this.editor,i=t.commands.get("link").manualDecorators;e.forEach((e=>{t.model.schema.extend("$text",{allowAttributes:e.id}),e=new se(e),i.add(e),t.conversion.for("downcast").attributeToElement({model:e.id,view:(t,{writer:i,schema:n},{item:o})=>{if((o.is("selection")||n.isInline(o))&&t){const t=i.createAttributeElement("a",e.attributes,{priority:5});e.classes&&i.addClass(e.classes,t);for(const n in e.styles)i.setStyle(n,e.styles[n],t);return i.setCustomProperty("link",!0,t),t}}}),t.conversion.for("upcast").elementToAttribute({view:{name:"a",...e._createPattern()},model:{key:e.id}})}))}_enableLinkOpen(){const e=this.editor,t=e.editing.view.document,i=e.model.document;this.listenTo(t,"click",((e,t)=>{if(!(r.env.isMac?t.domEvent.metaKey:t.domEvent.ctrlKey))return;let i=t.domTarget;if("a"!=i.tagName.toLowerCase()&&(i=i.closest("a")),!i)return;const n=i.getAttribute("href");n&&(e.stop(),t.preventDefault(),ie(n))}),{context:"$capture"}),this.listenTo(t,"enter",((e,t)=>{const n=i.selection,o=n.getSelectedElement(),s=o?o.getAttribute("linkHref"):n.getAttribute("linkHref");s&&t.domEvent.altKey&&(e.stop(),ie(s))}),{context:"a"})}_enableInsertContentSelectionAttributesFixer(){const e=this.editor.model,t=e.document.selection;this.listenTo(e,"insertContent",(()=>{const i=t.anchor.nodeBefore,n=t.anchor.nodeAfter;t.hasAttribute("linkHref")&&i&&i.hasAttribute("linkHref")&&(n&&n.hasAttribute("linkHref")||e.change((t=>{he(t,me(e.schema))})))}),{priority:"low"})}_enableClickingAfterLink(){const e=this.editor,i=e.model;e.editing.view.addObserver(t.MouseObserver);let n=!1;this.listenTo(e.editing.view.document,"mousedown",(()=>{n=!0})),this.listenTo(e.editing.view.document,"selectionChange",(()=>{if(!n)return;n=!1;const e=i.document.selection;if(!e.isCollapsed)return;if(!e.hasAttribute("linkHref"))return;const t=e.getFirstPosition(),s=(0,o.findAttributeRange)(t,"linkHref",e.getAttribute("linkHref"),i);(t.isTouching(s.start)||t.isTouching(s.end))&&i.change((e=>{he(e,me(i.schema))}))}))}_enableTypingOverLink(){const e=this.editor,t=e.editing.view;let i,n;this.listenTo(t.document,"delete",(()=>{n=!0}),{priority:"high"}),this.listenTo(e.model,"deleteContent",(()=>{const t=e.model.document.selection;t.isCollapsed||(n?n=!1:fe(e)&&function(e){const t=e.document.selection,i=t.getFirstPosition(),n=t.getLastPosition(),s=i.nodeAfter;if(!s)return!1;if(!s.is("$text"))return!1;if(!s.hasAttribute("linkHref"))return!1;const r=n.textNode||n.nodeBefore;if(s===r)return!0;return(0,o.findAttributeRange)(i,"linkHref",s.getAttribute("linkHref"),e).containsRange(e.createRange(i,n),!0)}(e.model)&&(i=t.getAttributes()))}),{priority:"high"}),this.listenTo(e.model,"insertContent",((t,[o])=>{n=!1,fe(e)&&i&&(e.model.change((e=>{for(const[t,n]of i)e.setAttribute(t,n,o)})),i=null)}),{priority:"high"})}_handleDeleteContentAfterLink(){const e=this.editor,t=e.model,i=t.document.selection,n=e.editing.view;let s=!1,a=!1;this.listenTo(n.document,"delete",((e,t)=>{a=t.domEvent.keyCode===r.keyCodes.backspace}),{priority:"high"}),this.listenTo(t,"deleteContent",(()=>{s=!1;const e=i.getFirstPosition(),n=i.getAttribute("linkHref");if(!n)return;const r=(0,o.findAttributeRange)(e,"linkHref",n,t);s=r.containsPosition(e)||r.end.isEqual(e)}),{priority:"high"}),this.listenTo(t,"deleteContent",(()=>{a&&(a=!1,s||e.model.enqueueChange((e=>{he(e,me(t.schema))})))}),{priority:"low"})}}function he(e,t){e.removeSelectionAttribute("linkHref");for(const i of t)e.removeSelectionAttribute(i)}function fe(e){return e.model.change((e=>e.batch)).isTyping}function me(e){return e.getDefinition("$text").allowAttributes.filter((e=>e.startsWith("link")))}var ge=i(273),be=i(995),pe=i(764),we={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};ae()(pe.Z,we);pe.Z.locals;var ve=i(871),_e={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};ae()(ve.Z,_e);ve.Z.locals;class ye extends ge.View{constructor(t,i){super(t);const n=t.t;this.focusTracker=new r.FocusTracker,this.keystrokes=new r.KeystrokeHandler,this.urlInputView=this._createUrlInput(),this.saveButtonView=this._createButton(n("Save"),e.icons.check,"ck-button-save"),this.saveButtonView.type="submit",this.cancelButtonView=this._createButton(n("Cancel"),e.icons.cancel,"ck-button-cancel","cancel"),this._manualDecoratorSwitches=this._createManualDecoratorSwitches(i),this.children=this._createFormChildren(i.manualDecorators),this._focusables=new ge.ViewCollection,this._focusCycler=new ge.FocusCycler({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}});const o=["ck","ck-link-form","ck-responsive-form"];i.manualDecorators.length&&o.push("ck-link-form_layout-vertical","ck-vertical-form"),this.setTemplate({tag:"form",attributes:{class:o,tabindex:"-1"},children:this.children}),(0,ge.injectCssTransitionDisabler)(this)}getDecoratorSwitchesState(){return Array.from(this._manualDecoratorSwitches).reduce(((e,t)=>(e[t.name]=t.isOn,e)),{})}render(){super.render(),(0,ge.submitHandler)({view:this});[this.urlInputView,...this._manualDecoratorSwitches,this.saveButtonView,this.cancelButtonView].forEach((e=>{this._focusables.add(e),this.focusTracker.add(e.element)})),this.keystrokes.listenTo(this.element)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}_createUrlInput(){const e=this.locale.t,t=new ge.LabeledFieldView(this.locale,ge.createLabeledInputText);return t.label=e("Link URL"),t}_createButton(e,t,i,n){const o=new ge.ButtonView(this.locale);return o.set({label:e,icon:t,tooltip:!0}),o.extendTemplate({attributes:{class:i}}),n&&o.delegate("execute").to(this,n),o}_createManualDecoratorSwitches(e){const t=this.createCollection();for(const i of e.manualDecorators){const n=new ge.SwitchButtonView(this.locale);n.set({name:i.id,label:i.label,withText:!0}),n.bind("isOn").toMany([i,e],"value",((e,t)=>void 0===t&&void 0===e?i.defaultValue:e)),n.on("execute",(()=>{i.set("value",!n.isOn)})),t.add(n)}return t}_createFormChildren(e){const t=this.createCollection();if(t.add(this.urlInputView),e.length){const e=new ge.View;e.setTemplate({tag:"ul",children:this._manualDecoratorSwitches.map((e=>({tag:"li",children:[e],attributes:{class:["ck","ck-list__item"]}}))),attributes:{class:["ck","ck-reset","ck-list"]}}),t.add(e)}return t.add(this.saveButtonView),t.add(this.cancelButtonView),t}}var Ae=i(952),xe={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};ae()(Ae.Z,xe);Ae.Z.locals;class Ie extends ge.View{constructor(t){super(t);const i=t.t;this.focusTracker=new r.FocusTracker,this.keystrokes=new r.KeystrokeHandler,this.previewButtonView=this._createPreviewButton(),this.unlinkButtonView=this._createButton(i("Unlink"),'',"unlink"),this.editButtonView=this._createButton(i("Edit link"),e.icons.pencil,"edit"),this.set("href"),this._focusables=new ge.ViewCollection,this._focusCycler=new ge.FocusCycler({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();[this.previewButtonView,this.editButtonView,this.unlinkButtonView].forEach((e=>{this._focusables.add(e),this.focusTracker.add(e.element)})),this.keystrokes.listenTo(this.element)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}_createButton(e,t,i){const n=new ge.ButtonView(this.locale);return n.set({label:e,icon:t,tooltip:!0}),n.delegate("execute").to(this,i),n}_createPreviewButton(){const e=new ge.ButtonView(this.locale),t=this.bindTemplate,i=this.t;return e.set({withText:!0,tooltip:i("Open link in new tab")}),e.extendTemplate({attributes:{class:["ck","ck-link-actions__preview"],href:t.to("href",(e=>e&&X(e))),target:"_blank",rel:"noopener noreferrer"}}),e.bind("label").to(this,"href",(e=>e||i("This link has no URL"))),e.bind("isEnabled").to(this,"href",(e=>!!e)),e.template.tag="a",e.template.eventListeners={},e}}const Se='',Te="link-ui";class Ee extends e.Plugin{static get requires(){return[ge.ContextualBalloon]}static get pluginName(){return"LinkUI"}init(){const e=this.editor;e.editing.view.addObserver(t.ClickObserver),this.actionsView=this._createActionsView(),this.formView=this._createFormView(),this._balloon=e.plugins.get(ge.ContextualBalloon),this._createToolbarLinkButton(),this._enableUserBalloonInteractions(),e.conversion.for("editingDowncast").markerToHighlight({model:Te,view:{classes:["ck-fake-link-selection"]}}),e.conversion.for("editingDowncast").markerToElement({model:Te,view:{name:"span",classes:["ck-fake-link-selection","ck-fake-link-selection_collapsed"]}})}destroy(){super.destroy(),this.formView.destroy()}_createActionsView(){const e=this.editor,t=new Ie(e.locale),i=e.commands.get("link"),n=e.commands.get("unlink");return t.bind("href").to(i,"value"),t.editButtonView.bind("isEnabled").to(i),t.unlinkButtonView.bind("isEnabled").to(n),this.listenTo(t,"edit",(()=>{this._addFormView()})),this.listenTo(t,"unlink",(()=>{e.execute("unlink"),this._hideUI()})),t.keystrokes.set("Esc",((e,t)=>{this._hideUI(),t()})),t.keystrokes.set(G,((e,t)=>{this._addFormView(),t()})),t}_createFormView(){const e=this.editor,t=e.commands.get("link"),i=e.config.get("link.defaultProtocol"),n=new ye(e.locale,t);return n.urlInputView.fieldView.bind("value").to(t,"value"),n.urlInputView.bind("isReadOnly").to(t,"isEnabled",(e=>!e)),n.saveButtonView.bind("isEnabled").to(t),this.listenTo(n,"submit",(()=>{const{value:t}=n.urlInputView.fieldView.element,o=te(t,i);e.execute("link",o,n.getDecoratorSwitchesState()),this._closeFormView()})),this.listenTo(n,"cancel",(()=>{this._closeFormView()})),n.keystrokes.set("Esc",((e,t)=>{this._closeFormView(),t()})),n}_createToolbarLinkButton(){const e=this.editor,t=e.commands.get("link"),i=e.t;e.keystrokes.set(G,((e,i)=>{i(),t.isEnabled&&this._showUI(!0)})),e.ui.componentFactory.add("link",(e=>{const n=new ge.ButtonView(e);return n.isEnabled=!0,n.label=i("Link"),n.icon=Se,n.keystroke=G,n.tooltip=!0,n.isToggleable=!0,n.bind("isEnabled").to(t,"isEnabled"),n.bind("isOn").to(t,"value",(e=>!!e)),this.listenTo(n,"execute",(()=>this._showUI(!0))),n}))}_enableUserBalloonInteractions(){const e=this.editor.editing.view.document;this.listenTo(e,"click",(()=>{this._getSelectedLinkElement()&&this._showUI()})),this.editor.keystrokes.set("Tab",((e,t)=>{this._areActionsVisible&&!this.actionsView.focusTracker.isFocused&&(this.actionsView.focus(),t())}),{priority:"high"}),this.editor.keystrokes.set("Esc",((e,t)=>{this._isUIVisible&&(this._hideUI(),t())})),(0,ge.clickOutsideHandler)({emitter:this.formView,activator:()=>this._isUIInPanel,contextElements:[this._balloon.view.element],callback:()=>this._hideUI()})}_addActionsView(){this._areActionsInPanel||this._balloon.add({view:this.actionsView,position:this._getBalloonPositionData()})}_addFormView(){if(this._isFormInPanel)return;const e=this.editor.commands.get("link");this.formView.disableCssTransitions(),this._balloon.add({view:this.formView,position:this._getBalloonPositionData()}),this._balloon.visibleView===this.formView&&this.formView.urlInputView.fieldView.select(),this.formView.enableCssTransitions(),this.formView.urlInputView.fieldView.element.value=e.value||""}_closeFormView(){const e=this.editor.commands.get("link");e.restoreManualDecoratorStates(),void 0!==e.value?this._removeFormView():this._hideUI()}_removeFormView(){this._isFormInPanel&&(this.formView.saveButtonView.focus(),this._balloon.remove(this.formView),this.editor.editing.view.focus(),this._hideFakeVisualSelection())}_showUI(e=!1){this._getSelectedLinkElement()?(this._areActionsVisible?this._addFormView():this._addActionsView(),e&&this._balloon.showStack("main")):(this._showFakeVisualSelection(),this._addActionsView(),e&&this._balloon.showStack("main"),this._addFormView()),this._startUpdatingUI()}_hideUI(){if(!this._isUIInPanel)return;const e=this.editor;this.stopListening(e.ui,"update"),this.stopListening(this._balloon,"change:visibleView"),e.editing.view.focus(),this._removeFormView(),this._balloon.remove(this.actionsView),this._hideFakeVisualSelection()}_startUpdatingUI(){const e=this.editor,t=e.editing.view.document;let i=this._getSelectedLinkElement(),n=s();const o=()=>{const e=this._getSelectedLinkElement(),t=s();i&&!e||!i&&t!==n?this._hideUI():this._isUIVisible&&this._balloon.updatePosition(this._getBalloonPositionData()),i=e,n=t};function s(){return t.selection.focus.getAncestors().reverse().find((e=>e.is("element")))}this.listenTo(e.ui,"update",o),this.listenTo(this._balloon,"change:visibleView",o)}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(){return this._balloon.visibleView==this.formView||this._areActionsVisible}_getBalloonPositionData(){const e=this.editor.editing.view,t=this.editor.model,i=e.document;let n=null;if(t.markers.has(Te)){const t=Array.from(this.editor.editing.mapper.markerNameToElements(Te)),i=e.createRange(e.createPositionBefore(t[0]),e.createPositionAfter(t[t.length-1]));n=e.domConverter.viewRangeToDom(i)}else n=()=>{const t=this._getSelectedLinkElement();return t?e.domConverter.mapViewToDom(t):e.domConverter.viewRangeToDom(i.selection.getFirstRange())};return{target:n}}_getSelectedLinkElement(){const e=this.editor.editing.view,t=e.document.selection,i=t.getSelectedElement();if(t.isCollapsed||i&&(0,be.isWidget)(i))return Ve(t.getFirstPosition());{const i=t.getFirstRange().getTrimmed(),n=Ve(i.start),o=Ve(i.end);return n&&n==o&&e.createRangeIn(n).getTrimmed().isEqual(i)?n:null}}_showFakeVisualSelection(){const e=this.editor.model;e.change((t=>{const i=e.document.selection.getFirstRange();if(e.markers.has(Te))t.updateMarker(Te,{range:i});else if(i.start.isAtEnd){const n=i.start.getLastMatchingPosition((({item:t})=>!e.schema.isContent(t)),{boundaries:i});t.addMarker(Te,{usingOperation:!1,affectsData:!1,range:t.createRange(n,i.end)})}else t.addMarker(Te,{usingOperation:!1,affectsData:!1,range:i})}))}_hideFakeVisualSelection(){const e=this.editor.model;e.markers.has(Te)&&e.change((e=>{e.removeMarker(Te)}))}}function Ve(e){return e.getAncestors().find((e=>{return(t=e).is("attributeElement")&&!!t.getCustomProperty("link");var t}))}const Le=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");class Ce extends e.Plugin{static get requires(){return[o.Delete]}static get pluginName(){return"AutoLink"}init(){const e=this.editor.model.document.selection;e.on("change:range",(()=>{this.isEnabled=!e.anchor.parent.is("element","codeBlock")})),this._enableTypingHandling()}afterInit(){this._enableEnterHandling(),this._enableShiftEnterHandling()}_enableTypingHandling(){const e=this.editor,t=new o.TextWatcher(e.model,(e=>{if(!function(e){return e.length>4&&" "===e[e.length-1]&&" "!==e[e.length-2]}(e))return;const t=De(e.substr(0,e.length-1));return t?{url:t}:void 0}));t.on("matched:data",((t,i)=>{const{batch:n,range:o,url:s}=i;if(!n.isTyping)return;const r=o.end.getShiftedBy(-1),a=r.getShiftedBy(-s.length),c=e.model.createRange(a,r);this._applyAutoLink(s,c)})),t.bind("isEnabled").to(this)}_enableEnterHandling(){const e=this.editor,t=e.model,i=e.commands.get("enter");i&&i.on("execute",(()=>{const e=t.document.selection.getFirstPosition();if(!e.parent.previousSibling)return;const i=t.createRangeIn(e.parent.previousSibling);this._checkAndApplyAutoLinkOnRange(i)}))}_enableShiftEnterHandling(){const e=this.editor,t=e.model,i=e.commands.get("shiftEnter");i&&i.on("execute",(()=>{const e=t.document.selection.getFirstPosition(),i=t.createRange(t.createPositionAt(e.parent,0),e.getShiftedBy(-1));this._checkAndApplyAutoLinkOnRange(i)}))}_checkAndApplyAutoLinkOnRange(e){const t=this.editor.model,{text:i,range:n}=(0,o.getLastTextLine)(e,t),s=De(i);if(s){const e=t.createRange(n.end.getShiftedBy(-s.length),n.end);this._applyAutoLink(s,e)}}_applyAutoLink(e,t){const i=this.editor.model,n=this.editor.plugins.get("Delete");this.isEnabled&&function(e,t){return t.schema.checkAttributeInSelection(t.createSelection(e),"linkHref")}(t,i)&&i.enqueueChange((o=>{const s=this.editor.config.get("link.defaultProtocol"),r=te(e,s);o.setAttribute("linkHref",r,t),i.enqueueChange((()=>{n.requestUndoOnBackspace()}))}))}}function De(e){const t=Le.exec(e);return t?t[2]:null}class Me extends e.Plugin{static get requires(){return[ke,Ee,Ce]}static get pluginName(){return"Link"}}class je extends e.Plugin{static get requires(){return["ImageEditing","ImageUtils",ke]}static get pluginName(){return"LinkImageEditing"}init(){const e=this.editor,t=e.model.schema;e.plugins.has("ImageBlockEditing")&&t.extend("imageBlock",{allowAttributes:["linkHref"]}),e.conversion.for("upcast").add(function(e){const t=e.plugins.has("ImageInlineEditing"),i=e.plugins.get("ImageUtils");return e=>{e.on("element:a",((e,n,o)=>{const s=n.viewItem,r=i.findViewImgElement(s);if(!r)return;const a=r.findAncestor((e=>i.isBlockImageView(e)));if(t&&!a)return;const c={attributes:["href"]};if(!o.consumable.consume(s,c))return;const l=s.getAttribute("href");if(!l)return;let u=n.modelCursor.parent;if(!u.is("element","imageBlock")){const e=o.convertItem(r,n.modelCursor);n.modelRange=e.modelRange,n.modelCursor=e.modelCursor,u=n.modelCursor.nodeBefore}u&&u.is("element","imageBlock")&&o.writer.setAttribute("linkHref",l,u)}),{priority:"high"})}}(e)),e.conversion.for("downcast").add(function(e){const t=e.plugins.get("ImageUtils");return e=>{e.on("attribute:linkHref:imageBlock",((e,i,n)=>{if(!n.consumable.consume(i.item,e.name))return;const o=n.mapper.toViewElement(i.item),s=n.writer,r=Array.from(o.getChildren()).find((e=>"a"===e.name)),a=t.findViewImgElement(o),c=a.parent.is("element","picture")?a.parent:a;if(r)i.attributeNewValue?s.setAttribute("href",i.attributeNewValue,r):(s.move(s.createRangeOn(c),s.createPositionAt(o,0)),s.remove(r));else{const e=s.createContainerElement("a",{href:i.attributeNewValue});s.insert(s.createPositionAt(o,0),e),s.move(s.createRangeOn(c),s.createPositionAt(e,0))}}),{priority:"high"})}}(e)),this._enableAutomaticDecorators(),this._enableManualDecorators()}_enableAutomaticDecorators(){const e=this.editor,t=e.commands.get("link").automaticDecorators;t.length&&e.conversion.for("downcast").add(t.getDispatcherForLinkedImage())}_enableManualDecorators(){const e=this.editor,t=e.commands.get("link");for(const i of t.manualDecorators)e.plugins.has("ImageBlockEditing")&&e.model.schema.extend("imageBlock",{allowAttributes:i.id}),e.plugins.has("ImageInlineEditing")&&e.model.schema.extend("imageInline",{allowAttributes:i.id}),e.conversion.for("downcast").add(Be(i)),e.conversion.for("upcast").add(Ne(e,i))}}function Be(e){return t=>{t.on(`attribute:${e.id}:imageBlock`,((t,i,n)=>{const o=n.mapper.toViewElement(i.item),s=Array.from(o.getChildren()).find((e=>"a"===e.name));if(s){for(const[t,i]of(0,r.toMap)(e.attributes))n.writer.setAttribute(t,i,s);e.classes&&n.writer.addClass(e.classes,s);for(const t in e.styles)n.writer.setStyle(t,e.styles[t],s)}}))}}function Ne(e,i){const n=e.plugins.has("ImageInlineEditing"),o=e.plugins.get("ImageUtils");return e=>{e.on("element:a",((e,s,r)=>{const a=s.viewItem,c=o.findViewImgElement(a);if(!c)return;const l=c.findAncestor((e=>o.isBlockImageView(e)));if(n&&!l)return;const u=new t.Matcher(i._createPattern()).match(a);if(!u)return;if(!r.consumable.consume(a,u.match))return;const d=s.modelCursor.nodeBefore||s.modelCursor.parent;r.writer.setAttribute(i.id,!0,d)}),{priority:"high"})}}class He extends e.Plugin{static get requires(){return[ke,Ee,"ImageBlockEditing"]}static get pluginName(){return"LinkImageUI"}init(){const e=this.editor,t=e.editing.view.document;this.listenTo(t,"click",((t,i)=>{this._isSelectedLinkedImage(e.model.document.selection)&&(i.preventDefault(),t.stop())}),{priority:"high"}),this._createToolbarLinkImageButton()}_createToolbarLinkImageButton(){const e=this.editor,t=e.t;e.ui.componentFactory.add("linkImage",(i=>{const n=new ge.ButtonView(i),o=e.plugins.get("LinkUI"),s=e.commands.get("link");return n.set({isEnabled:!0,label:t("Link image"),icon:Se,keystroke:G,tooltip:!0,isToggleable:!0}),n.bind("isEnabled").to(s,"isEnabled"),n.bind("isOn").to(s,"value",(e=>!!e)),this.listenTo(n,"execute",(()=>{this._isSelectedLinkedImage(e.model.document.selection)?o._addActionsView():o._showUI(!0)})),n}))}_isSelectedLinkedImage(e){const t=e.getSelectedElement();return this.editor.plugins.get("ImageUtils").isImage(t)&&t.hasAttribute("linkHref")}}var Oe=i(269),Ue={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};ae()(Oe.Z,Ue);Oe.Z.locals;class Pe extends e.Plugin{static get requires(){return[je,He]}static get pluginName(){return"LinkImage"}}})(),(window.CKEditor5=window.CKEditor5||{}).link=n})(); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/link/translations/ar.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/link/translations/ar.js index 4db387e09..5a8a0583d 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/link/translations/ar.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/link/translations/ar.js @@ -1 +1 @@ -!function(n){const i=n.ar=n.ar||{};i.dictionary=Object.assign(i.dictionary||{},{Downloadable:"","Edit link":"تحرير الرابط",Link:"رابط","Link image":"","Link URL":"رابط عنوان","Open in a new tab":"","Open link in new tab":"فتح الرابط في تبويب جديد","This link has no URL":"لا يحتوي هذا الرابط على عنوان",Unlink:"إلغاء الرابط"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(n){const i=n.ar=n.ar||{};i.dictionary=Object.assign(i.dictionary||{},{Downloadable:"يمكن تنزيله","Edit link":"تحرير الرابط",Link:"رابط","Link image":"ربط الصورة","Link URL":"رابط عنوان","Open in a new tab":"فتح في تبويب جديد","Open link in new tab":"فتح الرابط في تبويب جديد","This link has no URL":"لا يحتوي هذا الرابط على عنوان",Unlink:"إلغاء الرابط"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/link/translations/bg.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/link/translations/bg.js index 425af5135..b307a8cd6 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/link/translations/bg.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/link/translations/bg.js @@ -1 +1 @@ -!function(n){const i=n.bg=n.bg||{};i.dictionary=Object.assign(i.dictionary||{},{Downloadable:"Изтегляне","Edit link":"Редакция на линк",Link:"Линк","Link image":"","Link URL":"Уеб адрес на линка","Open in a new tab":"Отваряне в нов раздел","Open link in new tab":"Отваряне на линк в нов раздел","This link has no URL":"Този линк няма уеб адрес",Unlink:"Премахване на линка"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(n){const i=n.bg=n.bg||{};i.dictionary=Object.assign(i.dictionary||{},{Downloadable:"Изтегляне","Edit link":"Редакция на линк",Link:"Линк","Link image":"Свържи изображение","Link URL":"Уеб адрес на линка","Open in a new tab":"Отваряне в нов раздел","Open link in new tab":"Отваряне на линк в нов раздел","This link has no URL":"Този линк няма уеб адрес",Unlink:"Премахване на линка"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/link/translations/bn.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/link/translations/bn.js new file mode 100644 index 000000000..73914d6d1 --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/link/translations/bn.js @@ -0,0 +1 @@ +!function(n){const i=n.bn=n.bn||{};i.dictionary=Object.assign(i.dictionary||{},{Downloadable:"ডাউনলোডযোগ্য","Edit link":"\t\nলিঙ্ক এডিট করুন",Link:"লিঙ্ক","Link image":"লিঙ্ক চিত্র","Link URL":"লিঙ্ক URL","Open in a new tab":"একটি নতুন ট্যাবে খুলুন","Open link in new tab":"লিঙ্কটি নতুন ট্যাবে খুলুন","This link has no URL":"এই লিঙ্কের কোন URL নেই",Unlink:"লিঙ্কমুক্ত করুন"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/link/translations/ca.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/link/translations/ca.js new file mode 100644 index 000000000..e05481a2a --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/link/translations/ca.js @@ -0,0 +1 @@ +!function(n){const a=n.ca=n.ca||{};a.dictionary=Object.assign(a.dictionary||{},{Downloadable:"Es pot descarregar","Edit link":"Editar enllaç",Link:"Enllaç","Link image":"Enllaçar imatge","Link URL":"Enllaçar URL","Open in a new tab":"Obrir en una pestanya nova","Open link in new tab":"Obrir l'enllaç en una pestanya nova","This link has no URL":"Aquest enllaç no té cap URL",Unlink:"Desenllaçar"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/link/translations/da.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/link/translations/da.js index 3adf7d911..f2879d128 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/link/translations/da.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/link/translations/da.js @@ -1 +1 @@ -!function(n){const i=n.da=n.da||{};i.dictionary=Object.assign(i.dictionary||{},{Downloadable:"Kan downloades","Edit link":"Redigér link",Link:"Link","Link image":"","Link URL":"Link URL","Open in a new tab":"Åben i ny fane","Open link in new tab":"Åben link i ny fane","This link has no URL":"Dette link har ingen URL",Unlink:"Fjern link"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(n){const i=n.da=n.da||{};i.dictionary=Object.assign(i.dictionary||{},{Downloadable:"Kan downloades","Edit link":"Redigér link",Link:"Link","Link image":"Link-billede","Link URL":"Link URL","Open in a new tab":"Åben i ny fane","Open link in new tab":"Åben link i ny fane","This link has no URL":"Dette link har ingen URL",Unlink:"Fjern link"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/link/translations/et.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/link/translations/et.js index 217486abe..96a77aadd 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/link/translations/et.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/link/translations/et.js @@ -1 +1 @@ -!function(i){const n=i.et=i.et||{};n.dictionary=Object.assign(n.dictionary||{},{Downloadable:"Allalaaditav","Edit link":"Muuda linki",Link:"Link","Link image":"","Link URL":"Lingi URL","Open in a new tab":"Ava uuel kaardil","Open link in new tab":"Ava link uuel vahekaardil","This link has no URL":"Sellel lingil puudub URL",Unlink:"Eemalda link"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(i){const n=i.et=i.et||{};n.dictionary=Object.assign(n.dictionary||{},{Downloadable:"Allalaaditav","Edit link":"Muuda linki",Link:"Link","Link image":"Lingi pilt","Link URL":"Lingi URL","Open in a new tab":"Ava uuel kaardil","Open link in new tab":"Ava link uuel vahekaardil","This link has no URL":"Sellel lingil puudub URL",Unlink:"Eemalda link"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/link/translations/fi.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/link/translations/fi.js index 672a28aac..63dae73c5 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/link/translations/fi.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/link/translations/fi.js @@ -1 +1 @@ -!function(i){const n=i.fi=i.fi||{};n.dictionary=Object.assign(n.dictionary||{},{Downloadable:"","Edit link":"Muokkaa linkkiä",Link:"Linkki","Link image":"Linkkikuva","Link URL":"Linkin osoite","Open in a new tab":"Avaa uudelle välilehdelle","Open link in new tab":"Avaa linkki uudessa välilehdessä","This link has no URL":"Linkillä ei ole URL-osoitetta",Unlink:"Poista linkki"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(i){const n=i.fi=i.fi||{};n.dictionary=Object.assign(n.dictionary||{},{Downloadable:"Ladattava","Edit link":"Muokkaa linkkiä",Link:"Linkki","Link image":"Linkkikuva","Link URL":"Linkin osoite","Open in a new tab":"Avaa uudelle välilehdelle","Open link in new tab":"Avaa linkki uudessa välilehdessä","This link has no URL":"Linkillä ei ole URL-osoitetta",Unlink:"Poista linkki"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/link/translations/he.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/link/translations/he.js index 3b5034d1f..f17d9c07e 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/link/translations/he.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/link/translations/he.js @@ -1 +1 @@ -!function(n){const i=n.he=n.he||{};i.dictionary=Object.assign(i.dictionary||{},{Downloadable:"","Edit link":"עריכת קישור",Link:"קישור","Link image":"","Link URL":"קישור כתובת אתר","Open in a new tab":"","Open link in new tab":"פתח קישור בכרטיסייה חדשה","This link has no URL":"לקישור זה אין כתובת אתר",Unlink:"ביטול קישור"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(n){const i=n.he=n.he||{};i.dictionary=Object.assign(i.dictionary||{},{Downloadable:"ניתן להורדה","Edit link":"עריכת קישור",Link:"קישור","Link image":"קישור תמונה","Link URL":"קישור כתובת אתר","Open in a new tab":"פתח בכרטיסייה חדשה","Open link in new tab":"פתח קישור בכרטיסייה חדשה","This link has no URL":"לקישור זה אין כתובת אתר",Unlink:"ביטול קישור"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/link/translations/id.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/link/translations/id.js index 5eae11f00..ab6ee8ec2 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/link/translations/id.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/link/translations/id.js @@ -1 +1 @@ -!function(n){const a=n.id=n.id||{};a.dictionary=Object.assign(a.dictionary||{},{Downloadable:"Dapat diunduh","Edit link":"Sunting tautan",Link:"Tautan","Link image":"","Link URL":"URL tautan","Open in a new tab":"Buka di tab baru","Open link in new tab":"Buka tautan di tab baru","This link has no URL":"Tautan ini tidak memiliki URL",Unlink:"Hapus tautan"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(a){const n=a.id=a.id||{};n.dictionary=Object.assign(n.dictionary||{},{Downloadable:"Dapat diunduh","Edit link":"Sunting tautan",Link:"Tautan","Link image":"Tautkan gambar","Link URL":"URL tautan","Open in a new tab":"Buka di tab baru","Open link in new tab":"Buka tautan di tab baru","This link has no URL":"Tautan ini tidak memiliki URL",Unlink:"Hapus tautan"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/link/translations/lt.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/link/translations/lt.js index ad65c01af..f4fa6a7ba 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/link/translations/lt.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/link/translations/lt.js @@ -1 +1 @@ -!function(n){const i=n.lt=n.lt||{};i.dictionary=Object.assign(i.dictionary||{},{Downloadable:"","Edit link":"Keisti nuorodą",Link:"Pridėti nuorodą","Link image":"","Link URL":"Nuorodos URL","Open in a new tab":"","Open link in new tab":"Atidaryti nuorodą naujame skirtuke","This link has no URL":"Ši nuorda neturi URL",Unlink:"Pašalinti nuorodą"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(i){const n=i.lt=i.lt||{};n.dictionary=Object.assign(n.dictionary||{},{Downloadable:"Parsisiunčiamas","Edit link":"Keisti nuorodą",Link:"Pridėti nuorodą","Link image":"Susieti paveikslėlį","Link URL":"Nuorodos URL","Open in a new tab":"Atverti naujoje kortelėje","Open link in new tab":"Atidaryti nuorodą naujame skirtuke","This link has no URL":"Ši nuorda neturi URL",Unlink:"Pašalinti nuorodą"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/link/translations/ms.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/link/translations/ms.js new file mode 100644 index 000000000..2766649a4 --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/link/translations/ms.js @@ -0,0 +1 @@ +!function(a){const n=a.ms=a.ms||{};n.dictionary=Object.assign(n.dictionary||{},{Downloadable:"Boleh dimuat turun","Edit link":"Sunting pautan",Link:"Pautkan","Link image":"Pautkan imej","Link URL":"Pautkan URL","Open in a new tab":"Buka dalam tab baru","Open link in new tab":"Buka pautan dalam tab baru","This link has no URL":"Pautan ini tidak mempunyai URL",Unlink:"Buang pautan"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/link/translations/no.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/link/translations/no.js index e1c8fda29..c060333dd 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/link/translations/no.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/link/translations/no.js @@ -1 +1 @@ -!function(n){const e=n.no=n.no||{};e.dictionary=Object.assign(e.dictionary||{},{Downloadable:"Nedlastbar","Edit link":"Rediger lenke",Link:"Lenke","Link image":"","Link URL":"Lenke-URL","Open in a new tab":"Åpne i ny fane","Open link in new tab":"Åpne lenke i ny fane","This link has no URL":"Denne lenken mangler en URL",Unlink:"Fjern lenke"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(n){const e=n.no=n.no||{};e.dictionary=Object.assign(e.dictionary||{},{Downloadable:"Nedlastbar","Edit link":"Rediger lenke",Link:"Lenke","Link image":"Bildelenke","Link URL":"Lenke-URL","Open in a new tab":"Åpne i ny fane","Open link in new tab":"Åpne lenke i ny fane","This link has no URL":"Denne lenken mangler en URL",Unlink:"Fjern lenke"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/link/translations/pt.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/link/translations/pt.js index e3de65648..e46b9f5f6 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/link/translations/pt.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/link/translations/pt.js @@ -1 +1 @@ -!function(i){const n=i.pt=i.pt||{};n.dictionary=Object.assign(n.dictionary||{},{Downloadable:"","Edit link":"",Link:"Hiperligação","Link image":"","Link URL":"URL da ligação","Open in a new tab":"","Open link in new tab":"","This link has no URL":"",Unlink:"Desligar"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(i){const n=i.pt=i.pt||{};n.dictionary=Object.assign(n.dictionary||{},{Downloadable:"Descarregável","Edit link":"Editar link",Link:"Hiperligação","Link image":"Adicionar link a imagem","Link URL":"URL da ligação","Open in a new tab":"Abrir num novo separador","Open link in new tab":"Abrir link num novo separador","This link has no URL":"Este link não tem URL",Unlink:"Desligar"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/link/translations/sv.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/link/translations/sv.js index 390b0a04a..25f56299b 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/link/translations/sv.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/link/translations/sv.js @@ -1 +1 @@ -!function(n){const i=n.sv=n.sv||{};i.dictionary=Object.assign(i.dictionary||{},{Downloadable:"","Edit link":"Redigera länk",Link:"Länk","Link image":"","Link URL":"Länkens URL","Open in a new tab":"","Open link in new tab":"Öppna länk i ny flik","This link has no URL":"Denna länk saknar URL",Unlink:"Ta bort länk"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(n){const i=n.sv=n.sv||{};i.dictionary=Object.assign(i.dictionary||{},{Downloadable:"Nedladdningsbar","Edit link":"Redigera länk",Link:"Länk","Link image":"Länka bild","Link URL":"Länkens URL","Open in a new tab":"Öppna i en ny flik","Open link in new tab":"Öppna länk i ny flik","This link has no URL":"Denna länk saknar URL",Unlink:"Ta bort länk"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/link/translations/th.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/link/translations/th.js new file mode 100644 index 000000000..e859c4b2c --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/link/translations/th.js @@ -0,0 +1 @@ +!function(n){const i=n.th=n.th||{};i.dictionary=Object.assign(i.dictionary||{},{Downloadable:"ที่สามารถดาวน์โหลดได้","Edit link":"แก้ไขลิงก์",Link:"ลิงก์","Link image":"ลิงก์ภาพ","Link URL":"ลิงก์ URL","Open in a new tab":"เปิดในแท็บใหม่","Open link in new tab":"เปิดลิงก์ในแท็บใหม่","This link has no URL":"ลิงก์นี้ไม่มี URL",Unlink:"ยกเลิกการลิงก์"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/link/translations/tr.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/link/translations/tr.js index 7cb01160d..9eb638548 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/link/translations/tr.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/link/translations/tr.js @@ -1 +1 @@ -!function(n){const i=n.tr=n.tr||{};i.dictionary=Object.assign(i.dictionary||{},{Downloadable:"İndirilebilir","Edit link":"Bağlantıyı değiştir",Link:"Bağlantı","Link image":"","Link URL":"Bağlantı Adresi","Open in a new tab":"Yeni sekmede aç","Open link in new tab":"Yeni sekmede aç","This link has no URL":"Bağlantı adresi yok",Unlink:"Bağlantıyı kaldır"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(n){const i=n.tr=n.tr||{};i.dictionary=Object.assign(i.dictionary||{},{Downloadable:"İndirilebilir","Edit link":"Bağlantıyı değiştir",Link:"Bağlantı","Link image":"Resim bağlantısı","Link URL":"Bağlantı Adresi","Open in a new tab":"Yeni sekmede aç","Open link in new tab":"Yeni sekmede aç","This link has no URL":"Bağlantı adresi yok",Unlink:"Bağlantıyı kaldır"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/link/translations/tt.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/link/translations/tt.js new file mode 100644 index 000000000..34c0f1cf7 --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/link/translations/tt.js @@ -0,0 +1 @@ +!function(n){const i=n.tt=n.tt||{};i.dictionary=Object.assign(i.dictionary||{},{Downloadable:"","Edit link":"",Link:"Сылтама","Link image":"","Link URL":"","Open in a new tab":"","Open link in new tab":"","This link has no URL":"",Unlink:""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/list.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/list.js index ead75eee9..35d300a4e 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/list.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/list.js @@ -2,4 +2,4 @@ /*! * @license Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md. - */(()=>{var t={389:(t,e,i)=>{"use strict";i.d(e,{Z:()=>r});var n=i(609),s=i.n(n)()((function(t){return t[1]}));s.push([t.id,".ck.ck-collapsible.ck-collapsible_collapsed>.ck-collapsible__children{display:none}:root{--ck-collapsible-arrow-size:calc(var(--ck-icon-size)*0.5)}.ck.ck-collapsible>.ck.ck-button{border-radius:0;font-weight:700;padding:var(--ck-spacing-medium) var(--ck-spacing-large);width:100%}.ck.ck-collapsible>.ck.ck-button:focus{background:transparent}.ck.ck-collapsible>.ck.ck-button:active,.ck.ck-collapsible>.ck.ck-button:hover:not(:focus),.ck.ck-collapsible>.ck.ck-button:not(:focus){background:transparent;border-color:transparent;box-shadow:none}.ck.ck-collapsible>.ck.ck-button>.ck-icon{margin-right:var(--ck-spacing-medium);width:var(--ck-collapsible-arrow-size)}.ck.ck-collapsible>.ck-collapsible__children{padding:0 var(--ck-spacing-large) var(--ck-spacing-large)}.ck.ck-collapsible.ck-collapsible_collapsed>.ck.ck-button .ck-icon{transform:rotate(-90deg)}",""]);const r=s},78:(t,e,i)=>{"use strict";i.d(e,{Z:()=>r});var n=i(609),s=i.n(n)()((function(t){return t[1]}));s.push([t.id,".ck-editor__editable .ck-list-bogus-paragraph{display:block}",""]);const r=s},543:(t,e,i)=>{"use strict";i.d(e,{Z:()=>r});var n=i(609),s=i.n(n)()((function(t){return t[1]}));s.push([t.id,".ck.ck-list-properties.ck-list-properties_without-styles{padding:var(--ck-spacing-large)}.ck.ck-list-properties.ck-list-properties_without-styles>*{min-width:14em}.ck.ck-list-properties.ck-list-properties_without-styles>*+*{margin-top:var(--ck-spacing-standard)}.ck.ck-list-properties.ck-list-properties_with-numbered-properties>.ck-list-styles-list{grid-template-columns:repeat(4,auto)}.ck.ck-list-properties.ck-list-properties_with-numbered-properties>.ck-collapsible{border-top:1px solid var(--ck-color-base-border)}.ck.ck-list-properties.ck-list-properties_with-numbered-properties>.ck-collapsible>.ck-collapsible__children>*{width:100%}.ck.ck-list-properties.ck-list-properties_with-numbered-properties>.ck-collapsible>.ck-collapsible__children>*+*{margin-top:var(--ck-spacing-standard)}.ck.ck-list-properties .ck.ck-numbered-list-properties__start-index .ck-input{min-width:auto;width:100%}.ck.ck-list-properties .ck.ck-numbered-list-properties__reversed-order{background:transparent;margin-bottom:calc(var(--ck-spacing-tiny)*-1);padding-left:0;padding-right:0}.ck.ck-list-properties .ck.ck-numbered-list-properties__reversed-order:active,.ck.ck-list-properties .ck.ck-numbered-list-properties__reversed-order:hover{background:none;border-color:transparent;box-shadow:none}",""]);const r=s},657:(t,e,i)=>{"use strict";i.d(e,{Z:()=>r});var n=i(609),s=i.n(n)()((function(t){return t[1]}));s.push([t.id,".ck.ck-list-styles-list{display:grid}:root{--ck-list-style-button-size:44px}.ck.ck-list-styles-list{column-gap:var(--ck-spacing-medium);grid-template-columns:repeat(3,auto);padding:var(--ck-spacing-large);row-gap:var(--ck-spacing-medium)}.ck.ck-list-styles-list .ck-button{box-sizing:content-box;margin:0;padding:0}.ck.ck-list-styles-list .ck-button,.ck.ck-list-styles-list .ck-button .ck-icon{height:var(--ck-list-style-button-size);width:var(--ck-list-style-button-size)}",""]);const r=s},250:(t,e,i)=>{"use strict";i.d(e,{Z:()=>r});var n=i(609),s=i.n(n)()((function(t){return t[1]}));s.push([t.id,':root{--ck-todo-list-checkmark-size:16px}.ck-content .todo-list{list-style:none}.ck-content .todo-list li{margin-bottom:5px}.ck-content .todo-list li .todo-list{margin-top:5px}.ck-content .todo-list .todo-list__label>input{-webkit-appearance:none;border:0;display:inline-block;height:var(--ck-todo-list-checkmark-size);left:-25px;margin-left:0;margin-right:-15px;position:relative;right:0;vertical-align:middle;width:var(--ck-todo-list-checkmark-size)}.ck-content .todo-list .todo-list__label>input:before{border:1px solid #333;border-radius:2px;box-sizing:border-box;content:"";display:block;height:100%;position:absolute;transition:box-shadow .25s ease-in-out,background .25s ease-in-out,border .25s ease-in-out;width:100%}.ck-content .todo-list .todo-list__label>input:after{border-color:transparent;border-style:solid;border-width:0 calc(var(--ck-todo-list-checkmark-size)/8) calc(var(--ck-todo-list-checkmark-size)/8) 0;box-sizing:content-box;content:"";display:block;height:calc(var(--ck-todo-list-checkmark-size)/2.6);left:calc(var(--ck-todo-list-checkmark-size)/3);pointer-events:none;position:absolute;top:calc(var(--ck-todo-list-checkmark-size)/5.3);transform:rotate(45deg);width:calc(var(--ck-todo-list-checkmark-size)/5.3)}.ck-content .todo-list .todo-list__label>input[checked]:before{background:#26ab33;border-color:#26ab33}.ck-content .todo-list .todo-list__label>input[checked]:after{border-color:#fff}.ck-content .todo-list .todo-list__label .todo-list__label__description{vertical-align:middle}[dir=rtl] .todo-list .todo-list__label>input{left:0;margin-left:-15px;margin-right:0;right:-25px}.ck-editor__editable .todo-list .todo-list__label>input{cursor:pointer}.ck-editor__editable .todo-list .todo-list__label>input:hover:before{box-shadow:0 0 0 5px rgba(0,0,0,.1)}',""]);const r=s},609:t=>{"use strict";t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var i=t(e);return e[2]?"@media ".concat(e[2]," {").concat(i,"}"):i})).join("")},e.i=function(t,i,n){"string"==typeof t&&(t=[[null,t,""]]);var s={};if(n)for(var r=0;r{"use strict";var n,s=function(){return void 0===n&&(n=Boolean(window&&document&&document.all&&!window.atob)),n},r=function(){var t={};return function(e){if(void 0===t[e]){var i=document.querySelector(e);if(window.HTMLIFrameElement&&i instanceof window.HTMLIFrameElement)try{i=i.contentDocument.head}catch(t){i=null}t[e]=i}return t[e]}}(),o=[];function l(t){for(var e=-1,i=0;i{t.exports=i(79)("./src/core.js")},492:(t,e,i)=>{t.exports=i(79)("./src/engine.js")},331:(t,e,i)=>{t.exports=i(79)("./src/enter.js")},181:(t,e,i)=>{t.exports=i(79)("./src/typing.js")},273:(t,e,i)=>{t.exports=i(79)("./src/ui.js")},209:(t,e,i)=>{t.exports=i(79)("./src/utils.js")},79:t=>{"use strict";t.exports=CKEditor5.dll}},e={};function i(n){var s=e[n];if(void 0!==s)return s.exports;var r=e[n]={id:n,exports:{}};return t[n](r,r.exports,i),r.exports}i.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return i.d(e,{a:e}),e},i.d=(t,e)=>{for(var n in e)i.o(e,n)&&!i.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),i.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},i.nc=void 0;var n={};(()=>{"use strict";i.r(n),i.d(n,{DocumentList:()=>pt,DocumentListEditing:()=>G,DocumentListProperties:()=>Mt,DocumentListPropertiesEditing:()=>Tt,List:()=>ie,ListEditing:()=>te,ListProperties:()=>pe,ListPropertiesEditing:()=>le,ListPropertiesUI:()=>Bt,ListUI:()=>mt,TodoList:()=>Te,TodoListEditing:()=>Ae,TodoListUI:()=>Ie});var t=i(704),e=i(331),s=i(181),r=i(209);class o{constructor(t,e){this._startElement=t,this._referenceIndent=t.getAttribute("listIndent"),this._isForward="forward"==e.direction,this._includeSelf=!!e.includeSelf,this._sameAttributes=(0,r.toArray)(e.sameAttributes||[]),this._sameIndent=!!e.sameIndent,this._lowerIndent=!!e.lowerIndent,this._higherIndent=!!e.higherIndent}static first(t,e){const i=new this(t,e)[Symbol.iterator]();return(0,r.first)(i)}*[Symbol.iterator](){const t=[];for(const{node:e}of l(this._getStartNode(),this._isForward?"forward":"backward")){const i=e.getAttribute("listIndent");if(ithis._referenceIndent){if(!this._higherIndent)continue;if(!this._isForward){t.push(e);continue}}else{if(!this._sameIndent){if(this._higherIndent){t.length&&(yield*t,t.length=0);break}continue}if(this._sameAttributes.some((t=>e.getAttribute(t)!==this._startElement.getAttribute(t))))break}t.length&&(yield*t,t.length=0),yield e}}_getStartNode(){return this._includeSelf?this._startElement:this._isForward?this._startElement.nextSibling:this._startElement.previousSibling}}function*l(t,e="forward"){const i="forward"==e;let n=null;for(;d(t);)yield{node:t,previous:n},n=t,t=i?t.nextSibling:t.previousSibling}class a{constructor(t){this._listHead=t}[Symbol.iterator](){return l(this._listHead,"forward")}}class c{static next(){return(0,r.uid)()}}function d(t){return!!t&&t.is("element")&&t.hasAttribute("listItemId")}function u(t,e={}){return[...m(t,{...e,direction:"backward"}),...m(t,{...e,direction:"forward"})]}function m(t,e={}){const i="forward"==e.direction,n=Array.from(new o(t,{...e,includeSelf:i,sameIndent:!0,sameAttributes:"listItemId"}));return i?n:n.reverse()}function p(t){const e=new o(t,{sameIndent:!0,sameAttributes:"listType"}),i=new o(t,{sameIndent:!0,sameAttributes:"listType",includeSelf:!0,direction:"forward"});return[...Array.from(e).reverse(),...i]}function h(t){return!o.first(t,{sameIndent:!0,sameAttributes:"listItemId"})}function f(t){return!o.first(t,{direction:"forward",sameIndent:!0,sameAttributes:"listItemId"})}function b(t,e={}){t=(0,r.toArray)(t);const i=!1!==e.withNested,n=new Set;for(const e of t)for(const t of u(e,{higherIndent:i}))n.add(t);return k(n)}function g(t){t=(0,r.toArray)(t);const e=new Set;for(const i of t)for(const t of p(i))e.add(t);return k(e)}function v(t,e){const i=m(t,{direction:"forward"}),n=c.next();for(const t of i)e.setAttribute("listItemId",n,t);return i}function y(t,e,i){const n={};for(const[t,i]of e.getAttributes())t.startsWith("list")&&(n[t]=i);const s=m(t,{direction:"forward"});for(const t of s)i.setAttributes(n,t);return s}function w(t,e,{expand:i,indentBy:n=1}={}){t=(0,r.toArray)(t);const s=i?b(t):t;for(const t of s){const i=t.getAttribute("listIndent")+n;i<0?A(t,e):e.setAttribute("listIndent",i,t)}return s}function A(t,e){t=(0,r.toArray)(t);for(const i of t)for(const t of i.getAttributeKeys())t.startsWith("list")&&e.removeAttribute(t,i);return t}function I(t){if(!t.length)return!1;const e=t[0].getAttribute("listItemId");return!!e&&!t.some((t=>t.getAttribute("listItemId")!=e))}function k(t){return Array.from(t).filter((t=>"$graveyard"!==t.root.rootName)).sort(((t,e)=>t.index-e.index))}function x(t){const e=t.document.selection.getSelectedElement();return e&&t.schema.isObject(e)&&t.schema.isBlock(e)?e:null}function T(t,e,i){return m(e,{direction:"forward"}).pop().index>t.index?y(t,e,i):[]}class S extends t.Command{constructor(t,e){super(t),this._direction=e}refresh(){this.isEnabled=this._checkEnabled()}execute(){const t=this.editor.model,e=_(t.document.selection);t.change((t=>{const i=[];I(e)&&!h(e[0])?("forward"==this._direction&&i.push(...w(e,t)),i.push(...v(e[0],t))):"forward"==this._direction?i.push(...w(e,t,{expand:!0})):i.push(...function(t,e){const i=b(t=(0,r.toArray)(t)),n=new Set,s=Math.min(...i.map((t=>t.getAttribute("listIndent")))),l=new Map;for(const t of i)l.set(t,o.first(t,{lowerIndent:!0}));for(const t of i){if(n.has(t))continue;n.add(t);const i=t.getAttribute("listIndent")-1;if(i<0)A(t,e);else{if(t.getAttribute("listIndent")==s){const i=T(t,l.get(t),e);for(const t of i)n.add(t);if(i.length)continue}e.setAttribute("listIndent",i,t)}}return k(n)}(e,t));for(const e of i){if(!e.hasAttribute("listType"))continue;const i=o.first(e,{sameIndent:!0});i&&t.setAttribute("listType",i.getAttribute("listType"),e)}this._fireAfterExecute(i)}))}_fireAfterExecute(t){this.fire("afterExecute",k(new Set(t)))}_checkEnabled(){let t=_(this.editor.model.document.selection),e=t[0];if(!e)return!1;if("backward"==this._direction)return!0;if(I(t)&&!h(t[0]))return!0;t=b(t),e=t[0];const i=o.first(e,{sameIndent:!0});return!!i&&i.getAttribute("listType")==e.getAttribute("listType")}}function _(t){const e=Array.from(t.getSelectedBlocks()),i=e.findIndex((t=>!d(t)));return-1!=i&&(e.length=i),e}class C extends t.Command{constructor(t,e){super(t),this.type=e}refresh(){this.value=this._getValue(),this.isEnabled=this._checkEnabled()}execute(t={}){const e=this.editor.model,i=e.document,n=x(e),s=Array.from(i.selection.getSelectedBlocks()).filter((t=>e.schema.checkAttribute(t,"listType"))),r=void 0!==t.forceValue?!t.forceValue:this.value;e.change((t=>{if(r){const e=s[s.length-1],i=m(e,{direction:"forward"}),n=[];i.length>1&&n.push(...v(i[1],t)),n.push(...A(s,t)),n.push(...function(t,e){const i=[];let n=Number.POSITIVE_INFINITY;for(const{node:s}of l(t.nextSibling,"forward")){const t=s.getAttribute("listIndent");if(0==t)break;t{const{firstElement:r,lastElement:l}=this._getMergeSubjectElements(i,t),a=r.getAttribute("listIndent")||0,c=l.getAttribute("listIndent"),d=l.getAttribute("listItemId");if(a!=c){const t=(u=l,Array.from(new o(u,{direction:"forward",higherIndent:!0})));n.push(...w([l,...t],s,{indentBy:a-c,expand:a{const e=v(this._getStartBlock(),t);this._fireAfterExecute(e)}))}_fireAfterExecute(t){this.fire("afterExecute",k(new Set(t)))}_checkEnabled(){const t=this.editor.model.document.selection,e=this._getStartBlock();return t.isCollapsed&&d(e)&&!h(e)}_getStartBlock(){const t=this.editor.model.document.selection.getFirstPosition().parent;return"before"==this._direction?t:t.nextSibling}}function E(t){return t.is("element","ol")||t.is("element","ul")}function P(t){return t.is("element","li")}function z(t){let e=0,i=t.parent;for(;i;){if(P(i))e++;else{const t=i.previousSibling;t&&P(t)&&e++}i=i.parent}return e}function B(t,e,i,n=R(i,e)){return t.createAttributeElement(M(i),null,{priority:2*e/100-100,id:n})}function N(t,e,i){return t.createAttributeElement("li",null,{priority:(2*e+1)/100-100,id:i})}function M(t){return"numbered"==t?"ol":"ul"}function R(t,e){return`list-${t}-${e}`}function H(t,e){const i=t.nodeBefore;if(d(i)){let t=i;for({node:t}of l(t,"backward"))if(e.has(t))return;e.set(i,t)}else{const i=t.nodeAfter;d(i)&&e.set(i,i)}}var O=i(492);function D(){return(t,e,i)=>{if(!i.consumable.test(e.viewItem,{name:!0}))return;const n=new O.UpcastWriter(e.viewItem.document);for(const t of Array.from(e.viewItem.getChildren()))P(t)||E(t)||n.remove(t)}}function F(t,e,i){const n=function(t){return(e,i)=>{const n=[];for(const i of t)e.hasAttribute(i)&&n.push(`attribute:${i}`);return!!n.every((t=>!1!==i.test(e,t)))&&(n.forEach((t=>i.consume(e,t))),!0)}}(t);return(s,r,l)=>{const{writer:a,mapper:c,consumable:d}=l,u=r.item;if(!t.includes(r.attributeKey))return;if(!n(u,d))return;const m=function(t,e,i){const n=i.createRangeOn(t);return e.toViewRange(n).getTrimmed().getContainedElement()}(u,c,i);!function(t,e){let i=t.parent;for(;i.is("attributeElement")&&["ul","ol","li"].includes(i.name);){const n=i.parent;e.unwrap(e.createRangeOn(t),i),i=n}}(m,a),function(t,e,i,n){if(!t.hasAttribute("listIndent"))return;const s=t.getAttribute("listIndent");let r=t;for(let t=s;t>=0;t--){const s=N(n,t,r.getAttribute("listItemId")),l=B(n,t,r.getAttribute("listType"));for(const t of i)r.hasAttribute(t.attributeName)&&t.setAttributeOnDowncast(n,r.getAttribute(t.attributeName),"list"==t.scope?l:s);if(e=n.wrap(e,s),e=n.wrap(e,l),0==t)break;if(r=o.first(r,{lowerIndent:!0}),!r)break}}(u,a.createRangeOn(m),e,a)}}function j(t,{dataPipeline:e}={}){return(i,{writer:n})=>{if(!U(i,t))return;const s=n.createContainerElement("span",{class:"ck-list-bogus-paragraph"});return e&&n.setCustomProperty("dataPipeline:transparentRendering",!0,s),s}}function U(t,e,i=u(t)){if(!d(t))return!1;for(const i of t.getAttributeKeys())if(!i.startsWith("selection:")&&!e.includes(i))return!1;return i.length<2}var q=i(62),K=i.n(q),Z=i(78),$={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};K()(Z.Z,$);Z.Z.locals;const W=["listType","listIndent","listItemId"];class G extends t.Plugin{static get pluginName(){return"DocumentListEditing"}static get requires(){return[e.Enter,s.Delete]}constructor(t){super(t),this._downcastStrategies=[]}init(){const t=this.editor,e=t.model;if(t.plugins.has("ListEditing"))throw new r.CKEditorError("document-list-feature-conflict",this,{conflictPlugin:"ListEditing"});e.schema.extend("$container",{allowAttributes:W}),e.schema.extend("$block",{allowAttributes:W}),e.schema.extend("$blockObject",{allowAttributes:W});for(const t of W)e.schema.setAttributeProperties(t,{copyOnReplace:!0});t.commands.add("numberedList",new C(t,"numbered")),t.commands.add("bulletedList",new C(t,"bulleted")),t.commands.add("indentList",new S(t,"forward")),t.commands.add("outdentList",new S(t,"backward")),t.commands.add("mergeListItemBackward",new L(t,"backward")),t.commands.add("mergeListItemForward",new L(t,"forward")),t.commands.add("splitListItemBefore",new V(t,"before")),t.commands.add("splitListItemAfter",new V(t,"after")),this._setupDeleteIntegration(),this._setupEnterIntegration(),this._setupTabIntegration(),this._setupClipboardIntegration()}afterInit(){const t=this.editor.commands,e=t.get("indent"),i=t.get("outdent");e&&e.registerChildCommand(t.get("indentList"),{priority:"high"}),i&&i.registerChildCommand(t.get("outdentList"),{priority:"lowest"}),this._setupModelPostFixing(),this._setupConversion()}registerDowncastStrategy(t){this._downcastStrategies.push(t)}_getListAttributeNames(){return[...W,...this._downcastStrategies.map((t=>t.attributeName))]}_setupDeleteIntegration(){const t=this.editor,e=t.commands.get("mergeListItemBackward"),i=t.commands.get("mergeListItemForward");this.listenTo(t.editing.view.document,"delete",((n,s)=>{const r=t.model.document.selection;x(t.model)||t.model.change((()=>{const l=r.getFirstPosition();if(r.isCollapsed&&"backward"==s.direction){if(!l.isAtStart)return;const i=l.parent;if(!d(i))return;if(o.first(i,{sameAttributes:"listType",sameIndent:!0})||0!==i.getAttribute("listIndent")){if(!e.isEnabled)return;e.execute({shouldMergeOnBlocksContentLevel:Y(t.model,"backward")})}else f(i)||t.execute("splitListItemAfter"),t.execute("outdentList");s.preventDefault(),n.stop()}else{if(r.isCollapsed&&!r.getLastPosition().isAtEnd)return;if(!i.isEnabled)return;i.execute({shouldMergeOnBlocksContentLevel:Y(t.model,"forward")}),s.preventDefault(),n.stop()}}))}),{context:"li"})}_setupEnterIntegration(){const t=this.editor,e=t.model,i=t.commands,n=i.get("enter");this.listenTo(t.editing.view.document,"enter",((i,n)=>{const s=e.document,r=s.selection.getFirstPosition().parent;if(s.selection.isCollapsed&&d(r)&&r.isEmpty&&!n.isSoft){const e=h(r),s=f(r);e&&s?(t.execute("outdentList"),n.preventDefault(),i.stop()):e&&!s?(t.execute("splitListItemAfter"),n.preventDefault(),i.stop()):s&&(t.execute("splitListItemBefore"),n.preventDefault(),i.stop())}}),{context:"li"}),this.listenTo(n,"afterExecute",(()=>{const e=i.get("splitListItemBefore");if(e.refresh(),!e.isEnabled)return;2===u(t.model.document.selection.getLastPosition().parent).length&&e.execute()}))}_setupTabIntegration(){const t=this.editor;this.listenTo(t.editing.view.document,"tab",((e,i)=>{const n=i.shiftKey?"outdentList":"indentList";this.editor.commands.get(n).isEnabled&&(t.execute(n),i.stopPropagation(),i.preventDefault(),e.stop())}),{context:"li"})}_setupConversion(){const t=this.editor,e=t.model,i=this._getListAttributeNames();t.conversion.for("upcast").elementToElement({view:"li",model:"paragraph"}).add((t=>{t.on("element:li",((t,e,i)=>{const{writer:n,schema:s}=i;if(!e.modelRange)return;const r=Array.from(e.modelRange.getItems({shallow:!0})).filter((t=>s.checkAttribute(t,"listItemId")));if(!r.length)return;const o={listItemId:c.next(),listIndent:z(e.viewItem),listType:e.viewItem.parent&&"ol"==e.viewItem.parent.name?"numbered":"bulleted"};for(const t of r)d(t)||n.setAttributes(o,t);r.length>1&&r[1].getAttribute("listItemId")!=o.listItemId&&i.keepEmptyElement(r[0])})),t.on("element:ul",D(),{priority:"high"}),t.on("element:ol",D(),{priority:"high"})})),t.conversion.for("editingDowncast").elementToElement({model:"paragraph",view:j(i),converterPriority:"high"}),t.conversion.for("dataDowncast").elementToElement({model:"paragraph",view:j(i,{dataPipeline:!0}),converterPriority:"high"}),t.conversion.for("downcast").add((t=>{t.on("attribute",F(i,this._downcastStrategies,e))})),this.listenTo(e.document,"change:data",function(t,e,i,n){return()=>{const n=t.document.differ.getChanges(),o=[],l=new Map,a=new Set;for(const t of n)if("insert"==t.type&&"$text"!=t.name)H(t.position,l),t.attributes.has("listItemId")?a.add(t.position.nodeAfter):H(t.position.getShiftedBy(t.length),l);else if("remove"==t.type&&t.attributes.has("listItemId"))H(t.position,l);else if("attribute"==t.type){const e=t.range.start.nodeAfter;i.includes(t.attributeKey)?(H(t.range.start,l),null===t.attributeNewValue?(H(t.range.start.getShiftedBy(1),l),r(e)&&o.push(e)):a.add(e)):d(e)&&r(e)&&o.push(e)}for(const t of l.values())o.push(...s(t,a));for(const t of new Set(o))e.reconvertItem(t)};function s(t,e){const n=[],s=new Set,a=[];for(const{node:c,previous:d}of l(t,"forward")){if(s.has(c))continue;const t=c.getAttribute("listIndent");d&&ti.includes(t))));const l=m(c,{direction:"forward"});for(const t of l)s.add(t),(r(t,l)||o(t,a,e))&&n.push(t)}return n}function r(t,n){if(!t.is("element","paragraph"))return!1;const s=e.mapper.toViewElement(t);if(!s)return!1;const r=U(t,i,n);return!(!r||!s.is("element","p"))||!(r||!s.is("element","span"))}function o(t,i,s){if(s.has(t))return!1;const r=e.mapper.toViewElement(t);let o=i.length-1;for(let t=r.parent;!t.is("editableElement");t=t.parent){const e=P(t),s=E(t);if(!s&&!e)continue;const r="checkAttributes:"+(e?"item":"list");if(n.fire(r,{viewElement:t,modelAttributes:i[o]}))break;if(s&&(o--,o<0))return!1}return!0}}(e,t.editing,i,this)),this.on("checkAttributes:item",((t,{viewElement:e,modelAttributes:i})=>{e.id!=i.listItemId&&(t.return=!0,t.stop())})),this.on("checkAttributes:list",((t,{viewElement:e,modelAttributes:i})=>{e.name==M(i.listType)&&e.id==R(i.listType,i.listIndent)||(t.return=!0,t.stop())}))}_setupModelPostFixing(){const t=this.editor.model,e=this._getListAttributeNames();t.document.registerPostFixer((i=>function(t,e,i,n){const s=t.document.differ.getChanges(),r=new Map;let o=!1;for(const n of s)if("insert"==n.type&&"$text"!=n.name){const s=n.position.nodeAfter;if(!t.schema.checkAttribute(s,"listItemId"))for(const t of Array.from(s.getAttributeKeys()))i.includes(t)&&(e.removeAttribute(t,s),o=!0);H(n.position,r),n.attributes.has("listItemId")||H(n.position.getShiftedBy(n.length),r);for(const{item:e,previousPosition:i}of t.createRangeIn(s))d(e)&&H(i,r)}else"remove"==n.type?H(n.position,r):"attribute"==n.type&&i.includes(n.attributeKey)&&(H(n.range.start,r),null===n.attributeNewValue&&H(n.range.start.getShiftedBy(1),r));const l=new Set;for(const t of r.values())o=n.fire("postFixer",{listNodes:new a(t),listHead:t,writer:e,seenIds:l})||o;return o}(t,i,e,this))),this.on("postFixer",((t,{listNodes:e,writer:i})=>{t.return=function(t,e){let i=0,n=-1,s=null,r=!1;for(const{node:o}of t){const t=o.getAttribute("listIndent");if(t>i){let l;null===s?(s=t-i,l=i):(s>t&&(s=t),l=t-s),l>n+1&&(l=n+1),e.setAttribute("listIndent",l,o),r=!0,n=l}else s=null,i=t+1,n=t}return r}(e,i)||t.return}),{priority:"high"}),this.on("postFixer",((t,{listNodes:e,writer:i,seenIds:n})=>{t.return=function(t,e,i){const n=new Set;let s=!1;for(const{node:r}of t){if(n.has(r))continue;let t=r.getAttribute("listType"),o=r.getAttribute("listItemId");e.has(o)&&(o=c.next()),e.add(o);for(const e of m(r,{direction:"forward"}))n.add(e),e.getAttribute("listType")!=t&&(o=c.next(),t=e.getAttribute("listType")),e.getAttribute("listItemId")!=o&&(i.setAttribute("listItemId",o,e),s=!0)}return s}(e,n,i)||t.return}),{priority:"high"})}_setupClipboardIntegration(){const t=this.editor.model;this.listenTo(t,"insertContent",function(t){return(e,[i,n])=>{const s=i.is("documentFragment")?i.getChild(0):i;if(!d(s))return;let r;r=n?t.createSelection(n):t.document.selection;const o=r.getFirstPosition();let a=null;if(d(o.parent)?a=o.parent:d(o.nodeBefore)&&(a=o.nodeBefore),!a)return;const c=a.getAttribute("listIndent")-s.getAttribute("listIndent");c<=0||t.change((t=>{for(const{node:e}of l(s,"forward"))t.setAttribute("listIndent",e.getAttribute("listIndent")+c,e)}))}}(t),{priority:"high"}),this.listenTo(t,"getSelectedContent",((e,[i])=>{I(Array.from(i.getSelectedBlocks()))&&t.change((t=>A(Array.from(e.return.getChildren()),t)))}))}}function Y(t,e){const i=t.document.selection;if(!i.isCollapsed)return!x(t);if("forward"===e)return!0;const n=i.getFirstPosition().parent,s=n.previousSibling;return!t.schema.isObject(s)&&(!!s.isEmpty||I([n,s]))}var J=i(273);function Q(t,e){const i=e.mapper,n=e.writer,s="numbered"==t.getAttribute("listType")?"ol":"ul",r=function(t){const e=t.createContainerElement("li");return e.getFillerOffset=ct,e}(n),o=n.createContainerElement(s,null);return n.insert(n.createPositionAt(o,0),r),i.bindElements(t,r),r}function X(t,e,i,n){const s=e.parent,r=i.mapper,o=i.writer;let l=r.toViewPosition(n.createPositionBefore(t));const a=it(t.previousSibling,{sameIndent:!0,smallerIndent:!0,listIndent:t.getAttribute("listIndent")}),c=t.previousSibling;if(a&&a.getAttribute("listIndent")==t.getAttribute("listIndent")){const t=r.toViewElement(a);l=o.breakContainer(o.createPositionAfter(t))}else if(c&&"listItem"==c.name){l=r.toViewPosition(n.createPositionAt(c,"end"));const t=r.findMappedViewAncestor(l),e=st(t);l=e?o.createPositionBefore(e):o.createPositionAt(t,"end")}else l=r.toViewPosition(n.createPositionBefore(t));if(l=et(l),o.insert(l,s),c&&"listItem"==c.name){const t=r.toViewElement(c),i=o.createRange(o.createPositionAt(t,0),l).getWalker({ignoreElementEnd:!0});for(const t of i)if(t.item.is("element","li")){const n=o.breakContainer(o.createPositionBefore(t.item)),s=t.item.parent,r=o.createPositionAt(e,"end");tt(o,r.nodeBefore,r.nodeAfter),o.move(o.createRangeOn(s),r),i.position=n}}else{const i=s.nextSibling;if(i&&(i.is("element","ul")||i.is("element","ol"))){let n=null;for(const e of i.getChildren()){const i=r.toModelElement(e);if(!(i&&i.getAttribute("listIndent")>t.getAttribute("listIndent")))break;n=e}n&&(o.breakContainer(o.createPositionAfter(n)),o.move(o.createRangeOn(n.parent),o.createPositionAt(e,"end")))}}tt(o,s,s.nextSibling),tt(o,s.previousSibling,s)}function tt(t,e,i){return!e||!i||"ul"!=e.name&&"ol"!=e.name||e.name!=i.name||e.getAttribute("class")!==i.getAttribute("class")?null:t.mergeContainers(t.createPositionAfter(e))}function et(t){return t.getLastMatchingPosition((t=>t.item.is("uiElement")))}function it(t,e){const i=!!e.sameIndent,n=!!e.smallerIndent,s=e.listIndent;let r=t;for(;r&&"listItem"==r.name;){const t=r.getAttribute("listIndent");if(i&&s==t||n&&s>t)return r;r="forward"===e.direction?r.nextSibling:r.previousSibling}return null}function nt(t,e,i,n){t.ui.componentFactory.add(e,(s=>{const r=t.commands.get(e),o=new J.ButtonView(s);return o.set({label:i,icon:n,tooltip:!0,isToggleable:!0}),o.bind("isOn","isEnabled").to(r,"value","isEnabled"),o.on("execute",(()=>{t.execute(e),t.editing.view.focus()})),o}))}function st(t){for(const e of t.getChildren())if("ul"==e.name||"ol"==e.name)return e;return null}function rt(t,e){const i=[],n=t.parent,s={ignoreElementEnd:!0,startPosition:t,shallow:!0,direction:e},r=n.getAttribute("listIndent"),o=[...new O.TreeWalker(s)].filter((t=>t.item.is("element"))).map((t=>t.item));for(const t of o){if(!t.is("element","listItem"))break;if(t.getAttribute("listIndent")r)){if(t.getAttribute("listType")!==n.getAttribute("listType"))break;if(t.getAttribute("listStyle")!==n.getAttribute("listStyle"))break;if(t.getAttribute("listReversed")!==n.getAttribute("listReversed"))break;if(t.getAttribute("listStart")!==n.getAttribute("listStart"))break;"backward"===e?i.unshift(t):i.push(t)}}return i}function ot(t){let e=[...t.document.selection.getSelectedBlocks()].filter((t=>t.is("element","listItem"))).map((e=>{const i=t.change((t=>t.createPositionAt(e,0)));return[...rt(i,"backward"),...rt(i,"forward")]})).flat();return e=[...new Set(e)],e}const lt=["disc","circle","square"],at=["decimal","decimal-leading-zero","lower-roman","upper-roman","lower-latin","upper-latin"];function ct(){const t=!this.isEmpty&&("ul"==this.getChild(0).name||"ol"==this.getChild(0).name);return this.isEmpty||t?0:O.getFillerOffset.call(this)}const dt='',ut='';class mt extends t.Plugin{static get pluginName(){return"ListUI"}init(){const t=this.editor.t;nt(this.editor,"numberedList",t("Numbered List"),dt),nt(this.editor,"bulletedList",t("Bulleted List"),ut)}}class pt extends t.Plugin{static get requires(){return[G,mt]}static get pluginName(){return"DocumentList"}}class ht extends t.Command{refresh(){const t=this._getValue();this.value=t,this.isEnabled=null!=t}execute(t={}){const e=this.editor.model,i=e.document;let n=Array.from(i.selection.getSelectedBlocks()).filter((t=>d(t)&&"numbered"==t.getAttribute("listType")));n=g(n),e.change((e=>{for(const i of n)e.setAttribute("listStart",t.startIndex||1,i)}))}_getValue(){const t=this.editor.model.document,e=(0,r.first)(t.selection.getSelectedBlocks());return e&&d(e)&&"numbered"==e.getAttribute("listType")?e.getAttribute("listStart"):null}}const ft={},bt={},gt={},vt=[{listStyle:"disc",typeAttribute:"disc",listType:"bulleted"},{listStyle:"circle",typeAttribute:"circle",listType:"bulleted"},{listStyle:"square",typeAttribute:"square",listType:"bulleted"},{listStyle:"decimal",typeAttribute:"1",listType:"numbered"},{listStyle:"decimal-leading-zero",typeAttribute:null,listType:"numbered"},{listStyle:"lower-roman",typeAttribute:"i",listType:"numbered"},{listStyle:"upper-roman",typeAttribute:"I",listType:"numbered"},{listStyle:"lower-alpha",typeAttribute:"a",listType:"numbered"},{listStyle:"upper-alpha",typeAttribute:"A",listType:"numbered"},{listStyle:"lower-latin",typeAttribute:"a",listType:"numbered"},{listStyle:"upper-latin",typeAttribute:"A",listType:"numbered"}];for(const{listStyle:t,typeAttribute:e,listType:i}of vt)ft[t]=i,bt[t]=e,e&&(gt[e]=t);function yt(t){return ft[t]||null}function wt(t){return bt[t]||null}class At extends t.Command{constructor(t,e,i){super(t),this._defaultType=e,this._supportedTypes=i}refresh(){this.value=this._getValue(),this.isEnabled=this._checkEnabled()}execute(t={}){const e=this.editor.model,i=e.document;e.change((e=>{this._tryToConvertItemsToList(t);let n=Array.from(i.selection.getSelectedBlocks()).filter((t=>t.hasAttribute("listType")));if(n.length){n=g(n);for(const i of n)e.setAttribute("listStyle",t.type||this._defaultType,i)}}))}isStyleTypeSupported(t){return!this._supportedTypes||this._supportedTypes.includes(t)}_getValue(){const t=(0,r.first)(this.editor.model.document.selection.getSelectedBlocks());return d(t)?t.getAttribute("listStyle"):null}_checkEnabled(){const t=this.editor,e=t.commands.get("numberedList"),i=t.commands.get("bulletedList");return e.isEnabled||i.isEnabled}_tryToConvertItemsToList(t){if(!t.type)return;const e=yt(t.type);if(!e)return;const i=this.editor,n=e+"List";i.commands.get(n).value||i.execute(n)}}class It extends t.Command{refresh(){const t=this._getValue();this.value=t,this.isEnabled=null!=t}execute(t={}){const e=this.editor.model,i=e.document;let n=Array.from(i.selection.getSelectedBlocks()).filter((t=>d(t)&&"numbered"==t.getAttribute("listType")));n=g(n),e.change((e=>{for(const i of n)e.setAttribute("listReversed",!!t.reversed,i)}))}_getValue(){const t=this.editor.model.document,e=(0,r.first)(t.selection.getSelectedBlocks());return d(e)&&"numbered"==e.getAttribute("listType")?e.getAttribute("listReversed"):null}}function kt(t){return(e,i,n)=>{const{writer:s,schema:r,consumable:o}=n;if(!1===o.test(i.viewItem,t.viewConsumables))return;i.modelRange||Object.assign(i,n.convertChildren(i.viewItem,i.modelCursor));let l=!1;for(const e of i.modelRange.getItems({shallow:!0}))r.checkAttribute(e,t.attributeName)&&t.appliesToListItem(e)&&(e.hasAttribute(t.attributeName)||(s.setAttribute(t.attributeName,t.getAttributeOnUpcast(i.viewItem),e),l=!0));l&&o.consume(i.viewItem,t.viewConsumables)}}const xt="default";class Tt extends t.Plugin{static get requires(){return[G]}static get pluginName(){return"DocumentListPropertiesEditing"}constructor(t){super(t),t.config.define("list",{properties:{styles:!0,startIndex:!1,reversed:!1}})}init(){const t=this.editor,e=t.model,i=t.plugins.get(G),n=function(t){const e=[];if(t.styles){const i="object"==typeof t.styles&&t.styles.useAttribute;e.push({attributeName:"listStyle",defaultValue:xt,viewConsumables:{styles:"list-style-type"},addCommand(t){let e=vt.map((t=>t.listStyle));i&&(e=e.filter((t=>!!wt(t)))),t.commands.add("listStyle",new At(t,xt,e))},appliesToListItem:()=>!0,hasValidAttribute(t){if(!t.hasAttribute("listStyle"))return!1;const e=t.getAttribute("listStyle");return e==xt||yt(e)==t.getAttribute("listType")},setAttributeOnDowncast(t,e,n){if(e&&e!==xt){if(!i)return void t.setStyle("list-style-type",e,n);{const i=wt(e);if(i)return void t.setAttribute("type",i,n)}}t.removeStyle("list-style-type",n),t.removeAttribute("type",n)},getAttributeOnUpcast(t){const e=t.getStyle("list-style-type");if(e)return e;const i=t.getAttribute("type");return i?gt[i]||null:xt}})}t.reversed&&e.push({attributeName:"listReversed",defaultValue:!1,viewConsumables:{attributes:"reversed"},addCommand(t){t.commands.add("listReversed",new It(t))},appliesToListItem:t=>"numbered"==t.getAttribute("listType"),hasValidAttribute(t){return this.appliesToListItem(t)==t.hasAttribute("listReversed")},setAttributeOnDowncast(t,e,i){e?t.setAttribute("reversed","reversed",i):t.removeAttribute("reversed",i)},getAttributeOnUpcast:t=>t.hasAttribute("reversed")});t.startIndex&&e.push({attributeName:"listStart",defaultValue:1,viewConsumables:{attributes:"start"},addCommand(t){t.commands.add("listStart",new ht(t))},appliesToListItem:t=>"numbered"==t.getAttribute("listType"),hasValidAttribute(t){return this.appliesToListItem(t)==t.hasAttribute("listStart")},setAttributeOnDowncast(t,e,i){e&&e>1?t.setAttribute("start",e,i):t.removeAttribute("start",i)},getAttributeOnUpcast:t=>t.getAttribute("start")||1});return e}(t.config.get("list.properties"));for(const s of n)s.addCommand(t),e.schema.extend("$container",{allowAttributes:s.attributeName}),e.schema.extend("$block",{allowAttributes:s.attributeName}),e.schema.extend("$blockObject",{allowAttributes:s.attributeName}),i.registerDowncastStrategy({scope:"list",attributeName:s.attributeName,setAttributeOnDowncast(t,e,i){s.setAttributeOnDowncast(t,e,i)}});t.conversion.for("upcast").add((t=>{for(const e of n)t.on("element:ol",kt(e)),t.on("element:ul",kt(e))})),i.on("checkAttributes:list",((t,{viewElement:e,modelAttributes:i})=>{for(const s of n)s.getAttributeOnUpcast(e)!=i[s.attributeName]&&(t.return=!0,t.stop())})),this.listenTo(t.commands.get("indentList"),"afterExecute",((t,i)=>{e.change((t=>{for(const e of i)for(const i of n)i.appliesToListItem(e)&&t.setAttribute(i.attributeName,i.defaultValue,e)}))})),i.on("postFixer",((t,{listNodes:e,writer:i})=>{for(const{node:s}of e)for(const e of n)e.hasValidAttribute(s)||(e.appliesToListItem(s)?i.setAttribute(e.attributeName,e.defaultValue,s):i.removeAttribute(e.attributeName,s),t.return=!0)})),i.on("postFixer",((t,{listNodes:e,writer:i})=>{const s=[];for(const{node:r,previous:o}of e){if(!o)continue;const e=r.getAttribute("listIndent"),l=o.getAttribute("listIndent");let a=null;if(e>l?s[l]=o:e'}),t.extendTemplate({attributes:{"aria-expanded":e.to("isOn",(t=>String(t)))}}),t.bind("label").to(this),t.bind("isOn").to(this,"isCollapsed",(t=>!t)),t.on("execute",(()=>{this.isCollapsed=!this.isCollapsed})),t}}var Lt=i(543),Vt={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};K()(Lt.Z,Vt);Lt.Z.locals;class Et extends J.View{constructor(t,{enabledProperties:e,styleButtonViews:i,styleGridAriaLabel:n}){super(t);const s=["ck","ck-list-properties"];this.children=this.createCollection(),this.stylesView=null,this.additionalPropertiesCollapsibleView=null,this.startIndexFieldView=null,this.reversedSwitchButtonView=null,this.focusTracker=new r.FocusTracker,this.keystrokes=new r.KeystrokeHandler,this.focusables=new J.ViewCollection,this.focusCycler=new J.FocusCycler({focusables:this.focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),e.styles?(this.stylesView=this._createStylesView(i,n),this.children.add(this.stylesView)):s.push("ck-list-properties_without-styles"),(e.startIndex||e.reversed)&&(this._addNumberedListPropertyViews(e,i),s.push("ck-list-properties_with-numbered-properties")),this.setTemplate({tag:"div",attributes:{class:s},children:this.children})}render(){if(super.render(),this.stylesView){for(const t of this.stylesView.children)this.focusables.add(t),this.focusTracker.add(t.element);(this.startIndexFieldView||this.reversedSwitchButtonView)&&(this.focusables.add(this.children.last.buttonView),this.focusTracker.add(this.children.last.buttonView.element))}if(this.startIndexFieldView){this.focusables.add(this.startIndexFieldView),this.focusTracker.add(this.startIndexFieldView.element),this.listenTo(this.startIndexFieldView.element,"selectstart",((t,e)=>{e.stopPropagation()}),{priority:"high"});const t=t=>t.stopPropagation();this.keystrokes.set("arrowright",t),this.keystrokes.set("arrowleft",t),this.keystrokes.set("arrowup",t),this.keystrokes.set("arrowdown",t)}this.reversedSwitchButtonView&&(this.focusables.add(this.reversedSwitchButtonView),this.focusTracker.add(this.reversedSwitchButtonView.element)),this.keystrokes.listenTo(this.element)}focus(){this.focusCycler.focusFirst()}focusLast(){this.focusCycler.focusLast()}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}_createStylesView(t,e){const i=new J.View(this.locale);return i.children=i.createCollection(this.locale),i.children.addMany(t),i.setTemplate({tag:"div",attributes:{"aria-label":e,class:["ck","ck-list-styles-list"]},children:i.children}),i.children.delegate("execute").to(this),i}_addNumberedListPropertyViews(t){const e=this.locale.t,i=[];t.startIndex&&(this.startIndexFieldView=this._createStartIndexField(),i.push(this.startIndexFieldView)),t.reversed&&(this.reversedSwitchButtonView=this._createReversedSwitchButton(),i.push(this.reversedSwitchButtonView)),t.styles?(this.additionalPropertiesCollapsibleView=new Ct(this.locale,i),this.additionalPropertiesCollapsibleView.set({label:e("List properties"),isCollapsed:!0}),this.additionalPropertiesCollapsibleView.buttonView.bind("isEnabled").toMany(i,"isEnabled",((...t)=>t.some((t=>t)))),this.additionalPropertiesCollapsibleView.buttonView.on("change:isEnabled",((t,e,i)=>{i||(this.additionalPropertiesCollapsibleView.isCollapsed=!0)})),this.children.add(this.additionalPropertiesCollapsibleView)):this.children.addMany(i)}_createStartIndexField(){const t=this.locale.t,e=new J.LabeledFieldView(this.locale,J.createLabeledInputNumber);return e.set({label:t("Start at"),class:"ck-numbered-list-properties__start-index"}),e.fieldView.set({min:1,step:1,value:1,inputMode:"numeric"}),e.fieldView.on("input",(()=>{const i=e.fieldView.element,n=i.valueAsNumber;Number.isNaN(n)||(i.checkValidity()?this.fire("listStart",{startIndex:n}):e.errorText=t("Start index must be greater than 0."))})),e}_createReversedSwitchButton(){const t=this.locale.t,e=new J.SwitchButtonView(this.locale);return e.set({withText:!0,label:t("Reversed order"),class:"ck-numbered-list-properties__reversed-order"}),e.delegate("execute").to(this,"listReversed"),e}}var Pt=i(657),zt={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};K()(Pt.Z,zt);Pt.Z.locals;class Bt extends t.Plugin{static get pluginName(){return"ListPropertiesUI"}init(){const t=this.editor,e=t.locale.t,i=t.config.get("list.properties");i.styles&&t.ui.componentFactory.add("bulletedList",Nt({editor:t,parentCommandName:"bulletedList",buttonLabel:e("Bulleted List"),buttonIcon:ut,styleGridAriaLabel:e("Bulleted list styles toolbar"),styleDefinitions:[{label:e("Toggle the disc list style"),tooltip:e("Disc"),type:"disc",icon:''},{label:e("Toggle the circle list style"),tooltip:e("Circle"),type:"circle",icon:''},{label:e("Toggle the square list style"),tooltip:e("Square"),type:"square",icon:''}]})),(i.styles||i.startIndex||i.reversed)&&t.ui.componentFactory.add("numberedList",Nt({editor:t,parentCommandName:"numberedList",buttonLabel:e("Numbered List"),buttonIcon:dt,styleGridAriaLabel:e("Numbered list styles toolbar"),styleDefinitions:[{label:e("Toggle the decimal list style"),tooltip:e("Decimal"),type:"decimal",icon:''},{label:e("Toggle the decimal with leading zero list style"),tooltip:e("Decimal with leading zero"),type:"decimal-leading-zero",icon:''},{label:e("Toggle the lower–roman list style"),tooltip:e("Lower–roman"),type:"lower-roman",icon:''},{label:e("Toggle the upper–roman list style"),tooltip:e("Upper-roman"),type:"upper-roman",icon:''},{label:e("Toggle the lower–latin list style"),tooltip:e("Lower-latin"),type:"lower-latin",icon:''},{label:e("Toggle the upper–latin list style"),tooltip:e("Upper-latin"),type:"upper-latin",icon:''}]}))}}function Nt({editor:t,parentCommandName:e,buttonLabel:i,buttonIcon:n,styleGridAriaLabel:s,styleDefinitions:r}){const o=t.commands.get(e);return l=>{const a=(0,J.createDropdown)(l,J.SplitButtonView),c=a.buttonView;a.bind("isEnabled").to(o),a.class="ck-list-styles-dropdown",c.on("execute",(()=>{t.execute(e),t.editing.view.focus()})),c.set({label:i,icon:n,tooltip:!0,isToggleable:!0}),c.bind("isOn").to(o,"value",(t=>!!t));const d=function({editor:t,dropdownView:e,parentCommandName:i,styleDefinitions:n,styleGridAriaLabel:s}){const r=t.locale,o=t.config.get("list.properties");let l;"numberedList"!=i&&(o.startIndex=!1,o.reversed=!1);if(o.styles){const e=t.commands.get("listStyle"),s=function({editor:t,listStyleCommand:e,parentCommandName:i}){const n=t.locale,s=t.commands.get(i);return({label:i,type:r,icon:o,tooltip:l})=>{const a=new J.ButtonView(n);return a.set({label:i,icon:o,tooltip:l}),e.on("change:value",(()=>{a.isOn=e.value===r})),a.on("execute",(()=>{s.value?e.value!==r?t.execute("listStyle",{type:r}):t.execute("listStyle",{type:e._defaultType}):t.model.change((()=>{t.execute("listStyle",{type:r})})),t.editing.view.focus()})),a}}({editor:t,parentCommandName:i,listStyleCommand:e}),r="function"==typeof e.isStyleTypeSupported?t=>e.isStyleTypeSupported(t.type):()=>!0;l=n.filter(r).map(s)}const a=new Et(r,{styleGridAriaLabel:s,enabledProperties:o,styleButtonViews:l});if(o.startIndex){const e=t.commands.get("listStart");a.startIndexFieldView.bind("isEnabled").to(e),a.startIndexFieldView.fieldView.bind("value").to(e),a.on("listStart",((e,i)=>t.execute("listStart",i)))}if(o.reversed){const e=t.commands.get("listReversed");a.reversedSwitchButtonView.bind("isEnabled").to(e),a.reversedSwitchButtonView.bind("isOn").to(e,"value"),a.on("listReversed",(()=>{const i=e.value;t.execute("listReversed",{reversed:!i})}))}return a.delegate("execute").to(e),a}({editor:t,dropdownView:a,parentCommandName:e,styleGridAriaLabel:s,styleDefinitions:r});return a.panelView.children.add(d),a}}class Mt extends t.Plugin{static get requires(){return[Tt,Bt]}static get pluginName(){return"DocumentListProperties"}}class Rt extends t.Command{constructor(t,e){super(t),this.type=e}refresh(){this.value=this._getValue(),this.isEnabled=this._checkEnabled()}execute(t={}){const e=this.editor.model,i=e.document,n=Array.from(i.selection.getSelectedBlocks()).filter((t=>Ot(t,e.schema))),s=void 0!==t.forceValue?!t.forceValue:this.value;e.change((t=>{if(s){let e=n[n.length-1].nextSibling,i=Number.POSITIVE_INFINITY,s=[];for(;e&&"listItem"==e.name&&0!==e.getAttribute("listIndent");){const t=e.getAttribute("listIndent");t=i;)r>s.getAttribute("listIndent")&&(r=s.getAttribute("listIndent")),s.getAttribute("listIndent")==r&&t[e?"unshift":"push"](s),s=s[e?"previousSibling":"nextSibling"]}}function Ot(t,e){return e.checkChild(t.parent,"listItem")&&!e.isObject(t)}class Dt extends t.Command{constructor(t,e){super(t),this._indentBy="forward"==e?1:-1}refresh(){this.isEnabled=this._checkEnabled()}execute(){const t=this.editor.model,e=t.document;let i=Array.from(e.selection.getSelectedBlocks());t.change((t=>{const e=i[i.length-1];let n=e.nextSibling;for(;n&&"listItem"==n.name&&n.getAttribute("listIndent")>e.getAttribute("listIndent");)i.push(n),n=n.nextSibling;this._indentBy<0&&(i=i.reverse());for(const e of i){const i=e.getAttribute("listIndent")+this._indentBy;i<0?t.rename(e,"paragraph"):t.setAttribute("listIndent",i,e)}this.fire("_executeCleanup",i)}))}_checkEnabled(){const t=(0,r.first)(this.editor.model.document.selection.getSelectedBlocks());if(!t||!t.is("element","listItem"))return!1;if(this._indentBy>0){const e=t.getAttribute("listIndent"),i=t.getAttribute("listType");let n=t.previousSibling;for(;n&&n.is("element","listItem")&&n.getAttribute("listIndent")>=e;){if(n.getAttribute("listIndent")==e)return n.getAttribute("listType")==i;n=n.previousSibling}return!1}return!0}}function Ft(t){return(e,i,n)=>{const s=n.consumable;if(!s.test(i.item,"insert")||!s.test(i.item,"attribute:listType")||!s.test(i.item,"attribute:listIndent"))return;s.consume(i.item,"insert"),s.consume(i.item,"attribute:listType"),s.consume(i.item,"attribute:listIndent");const r=i.item;X(r,Q(r,n),n,t)}}function jt(t,e,i){if(!i.consumable.test(e.item,t.name))return;const n=i.mapper.toViewElement(e.item),s=i.writer;s.breakContainer(s.createPositionBefore(n)),s.breakContainer(s.createPositionAfter(n));const r=n.parent,o="numbered"==e.attributeNewValue?"ol":"ul";s.rename(o,r)}function Ut(t,e,i){i.consumable.consume(e.item,t.name);const n=i.mapper.toViewElement(e.item).parent,s=i.writer;tt(s,n,n.nextSibling),tt(s,n.previousSibling,n)}function qt(t,e,i){if(i.consumable.test(e.item,t.name)&&"listItem"!=e.item.name){let t=i.mapper.toViewPosition(e.range.start);const n=i.writer,s=[];for(;("ul"==t.parent.name||"ol"==t.parent.name)&&(t=n.breakContainer(t),"li"==t.parent.name);){const e=t,i=n.createPositionAt(t.parent,"end");if(!e.isEqual(i)){const t=n.remove(n.createRange(e,i));s.push(t)}t=n.createPositionAfter(t.parent)}if(s.length>0){for(let e=0;e0){const e=tt(n,i,i.nextSibling);e&&e.parent==i&&t.offset--}}tt(n,t.nodeBefore,t.nodeAfter)}}}function Kt(t,e,i){const n=i.mapper.toViewPosition(e.position),s=n.nodeBefore,r=n.nodeAfter;tt(i.writer,s,r)}function Zt(t,e,i){if(i.consumable.consume(e.viewItem,{name:!0})){const t=i.writer,n=t.createElement("listItem"),s=function(t){let e=0,i=t.parent;for(;i;){if(i.is("element","li"))e++;else{const t=i.previousSibling;t&&t.is("element","li")&&e++}i=i.parent}return e}(e.viewItem);t.setAttribute("listIndent",s,n);const r=e.viewItem.parent&&"ol"==e.viewItem.parent.name?"numbered":"bulleted";if(t.setAttribute("listType",r,n),!i.safeInsert(n,e.modelCursor))return;const o=function(t,e,i){const{writer:n,schema:s}=i;let r=n.createPositionAfter(t);for(const o of e)if("ul"==o.name||"ol"==o.name)r=i.convertItem(o,r).modelCursor;else{const e=i.convertItem(o,n.createPositionAt(t,"end")),l=e.modelRange.start.nodeAfter;l&&l.is("element")&&!s.checkChild(t,l.name)&&(t=e.modelCursor.parent.is("element","listItem")?e.modelCursor.parent:Jt(e.modelCursor),r=n.createPositionAfter(t))}return r}(n,e.viewItem.getChildren(),i);e.modelRange=t.createRange(e.modelCursor,o),i.updateConversionResult(n,e)}}function $t(t,e,i){if(i.consumable.test(e.viewItem,{name:!0})){const t=Array.from(e.viewItem.getChildren());for(const e of t){!(e.is("element","li")||Xt(e))&&e._remove()}}}function Wt(t,e,i){if(i.consumable.test(e.viewItem,{name:!0})){if(0===e.viewItem.childCount)return;const t=[...e.viewItem.getChildren()];let i=!1;for(const e of t)i&&!Xt(e)&&e._remove(),Xt(e)&&(i=!0)}}function Gt(t){return(e,i)=>{if(i.isPhantom)return;const n=i.modelPosition.nodeBefore;if(n&&n.is("element","listItem")){const e=i.mapper.toViewElement(n),s=e.getAncestors().find(Xt),r=t.createPositionAt(e,0).getWalker();for(const t of r){if("elementStart"==t.type&&t.item.is("element","li")){i.viewPosition=t.previousPosition;break}if("elementEnd"==t.type&&t.item==s){i.viewPosition=t.nextPosition;break}}}}}function Yt(t,[e,i]){let n,s=e.is("documentFragment")?e.getChild(0):e;if(n=i?this.createSelection(i):this.document.selection,s&&s.is("element","listItem")){const t=n.getFirstPosition();let e=null;if(t.parent.is("element","listItem")?e=t.parent:t.nodeBefore&&t.nodeBefore.is("element","listItem")&&(e=t.nodeBefore),e){const t=e.getAttribute("listIndent");if(t>0)for(;s&&s.is("element","listItem");)s._setAttribute("listIndent",s.getAttribute("listIndent")+t),s=s.nextSibling}}}function Jt(t){const e=new O.TreeWalker({startPosition:t});let i;do{i=e.next()}while(!i.value.item.is("element","listItem"));return i.value.item}function Qt(t,e,i,n,s,r){const o=it(e.nodeBefore,{sameIndent:!0,smallerIndent:!0,listIndent:t,foo:"b"}),l=s.mapper,a=s.writer,c=o?o.getAttribute("listIndent"):null;let d;if(o)if(c==t){const t=l.toViewElement(o).parent;d=a.createPositionAfter(t)}else{const t=r.createPositionAt(o,"end");d=l.toViewPosition(t)}else d=i;d=et(d);for(const t of[...n.getChildren()])Xt(t)&&(d=a.move(a.createRangeOn(t),d).end,tt(a,t,t.nextSibling),tt(a,t.previousSibling,t))}function Xt(t){return t.is("element","ol")||t.is("element","ul")}class te extends t.Plugin{static get pluginName(){return"ListEditing"}static get requires(){return[e.Enter,s.Delete]}init(){const t=this.editor;t.model.schema.register("listItem",{inheritAllFrom:"$block",allowAttributes:["listType","listIndent"]});const e=t.data,i=t.editing;var n;t.model.document.registerPostFixer((e=>function(t,e){const i=t.document.differ.getChanges(),n=new Map;let s=!1;for(const n of i)if("insert"==n.type&&"listItem"==n.name)r(n.position);else if("insert"==n.type&&"listItem"!=n.name){if("$text"!=n.name){const i=n.position.nodeAfter;i.hasAttribute("listIndent")&&(e.removeAttribute("listIndent",i),s=!0),i.hasAttribute("listType")&&(e.removeAttribute("listType",i),s=!0),i.hasAttribute("listStyle")&&(e.removeAttribute("listStyle",i),s=!0),i.hasAttribute("listReversed")&&(e.removeAttribute("listReversed",i),s=!0),i.hasAttribute("listStart")&&(e.removeAttribute("listStart",i),s=!0);for(const e of Array.from(t.createRangeIn(i)).filter((t=>t.item.is("element","listItem"))))r(e.previousPosition)}r(n.position.getShiftedBy(n.length))}else"remove"==n.type&&"listItem"==n.name?r(n.position):("attribute"==n.type&&"listIndent"==n.attributeKey||"attribute"==n.type&&"listType"==n.attributeKey)&&r(n.range.start);for(const t of n.values())o(t),l(t);return s;function r(t){const e=t.nodeBefore;if(e&&e.is("element","listItem")){let t=e;if(n.has(t))return;for(let e=t.previousSibling;e&&e.is("element","listItem");e=t.previousSibling)if(t=e,n.has(t))return;n.set(e,t)}else{const e=t.nodeAfter;e&&e.is("element","listItem")&&n.set(e,e)}}function o(t){let i=0,n=null;for(;t&&t.is("element","listItem");){const r=t.getAttribute("listIndent");if(r>i){let o;null===n?(n=r-i,o=i):(n>r&&(n=r),o=r-n),e.setAttribute("listIndent",o,t),s=!0}else n=null,i=t.getAttribute("listIndent")+1;t=t.nextSibling}}function l(t){let i=[],n=null;for(;t&&t.is("element","listItem");){const r=t.getAttribute("listIndent");if(n&&n.getAttribute("listIndent")>r&&(i=i.slice(0,r+1)),0!=r)if(i[r]){const n=i[r];t.getAttribute("listType")!=n&&(e.setAttribute("listType",n,t),s=!0)}else i[r]=t.getAttribute("listType");n=t,t=t.nextSibling}}}(t.model,e))),i.mapper.registerViewToModelLength("li",ee),e.mapper.registerViewToModelLength("li",ee),i.mapper.on("modelToViewPosition",Gt(i.view)),i.mapper.on("viewToModelPosition",(n=t.model,(t,e)=>{const i=e.viewPosition,s=i.parent,r=e.mapper;if("ul"==s.name||"ol"==s.name){if(i.isAtEnd){const t=r.toModelElement(i.nodeBefore),s=r.getModelLength(i.nodeBefore);e.modelPosition=n.createPositionBefore(t).getShiftedBy(s)}else{const t=r.toModelElement(i.nodeAfter);e.modelPosition=n.createPositionBefore(t)}t.stop()}else if("li"==s.name&&i.nodeBefore&&("ul"==i.nodeBefore.name||"ol"==i.nodeBefore.name)){const o=r.toModelElement(s);let l=1,a=i.nodeBefore;for(;a&&Xt(a);)l+=r.getModelLength(a),a=a.previousSibling;e.modelPosition=n.createPositionBefore(o).getShiftedBy(l),t.stop()}})),e.mapper.on("modelToViewPosition",Gt(i.view)),t.conversion.for("editingDowncast").add((e=>{e.on("insert",qt,{priority:"high"}),e.on("insert:listItem",Ft(t.model)),e.on("attribute:listType:listItem",jt,{priority:"high"}),e.on("attribute:listType:listItem",Ut,{priority:"low"}),e.on("attribute:listIndent:listItem",function(t){return(e,i,n)=>{if(!n.consumable.consume(i.item,"attribute:listIndent"))return;const s=n.mapper.toViewElement(i.item),r=n.writer;r.breakContainer(r.createPositionBefore(s)),r.breakContainer(r.createPositionAfter(s));const o=s.parent,l=o.previousSibling,a=r.createRangeOn(o);r.remove(a),l&&l.nextSibling&&tt(r,l,l.nextSibling),Qt(i.attributeOldValue+1,i.range.start,a.start,s,n,t),X(i.item,s,n,t);for(const t of i.item.getChildren())n.consumable.consume(t,"insert")}}(t.model)),e.on("remove:listItem",function(t){return(e,i,n)=>{const s=n.mapper.toViewPosition(i.position).getLastMatchingPosition((t=>!t.item.is("element","li"))).nodeAfter,r=n.writer;r.breakContainer(r.createPositionBefore(s)),r.breakContainer(r.createPositionAfter(s));const o=s.parent,l=o.previousSibling,a=r.createRangeOn(o),c=r.remove(a);l&&l.nextSibling&&tt(r,l,l.nextSibling),Qt(n.mapper.toModelElement(s).getAttribute("listIndent")+1,i.position,a.start,s,n,t);for(const t of r.createRangeIn(c).getItems())n.mapper.unbindViewElement(t);e.stop()}}(t.model)),e.on("remove",Kt,{priority:"low"})})),t.conversion.for("dataDowncast").add((e=>{e.on("insert",qt,{priority:"high"}),e.on("insert:listItem",Ft(t.model))})),t.conversion.for("upcast").add((t=>{t.on("element:ul",$t,{priority:"high"}),t.on("element:ol",$t,{priority:"high"}),t.on("element:li",Wt,{priority:"high"}),t.on("element:li",Zt)})),t.model.on("insertContent",Yt,{priority:"high"}),t.commands.add("numberedList",new Rt(t,"numbered")),t.commands.add("bulletedList",new Rt(t,"bulleted")),t.commands.add("indentList",new Dt(t,"forward")),t.commands.add("outdentList",new Dt(t,"backward"));const s=i.view.document;this.listenTo(s,"enter",((t,e)=>{const i=this.editor.model.document,n=i.selection.getLastPosition().parent;i.selection.isCollapsed&&"listItem"==n.name&&n.isEmpty&&(this.editor.execute("outdentList"),e.preventDefault(),t.stop())}),{context:"li"}),this.listenTo(s,"delete",((t,e)=>{if("backward"!==e.direction)return;const i=this.editor.model.document.selection;if(!i.isCollapsed)return;const n=i.getFirstPosition();if(!n.isAtStart)return;const s=n.parent;if("listItem"!==s.name)return;s.previousSibling&&"listItem"===s.previousSibling.name||(this.editor.execute("outdentList"),e.preventDefault(),t.stop())}),{context:"li"}),this.listenTo(t.editing.view.document,"tab",((e,i)=>{const n=i.shiftKey?"outdentList":"indentList";this.editor.commands.get(n).isEnabled&&(t.execute(n),i.stopPropagation(),i.preventDefault(),e.stop())}),{context:"li"})}afterInit(){const t=this.editor.commands,e=t.get("indent"),i=t.get("outdent");e&&e.registerChildCommand(t.get("indentList")),i&&i.registerChildCommand(t.get("outdentList"))}}function ee(t){let e=1;for(const i of t.getChildren())if("ul"==i.name||"ol"==i.name)for(const t of i.getChildren())e+=ee(t);return e}class ie extends t.Plugin{static get requires(){return[te,mt]}static get pluginName(){return"List"}}class ne extends t.Command{constructor(t,e){super(t),this._defaultType=e}refresh(){this.value=this._getValue(),this.isEnabled=this._checkEnabled()}execute(t={}){this._tryToConvertItemsToList(t);const e=this.editor.model,i=ot(e);i.length&&e.change((e=>{for(const n of i)e.setAttribute("listStyle",t.type||this._defaultType,n)}))}_getValue(){const t=this.editor.model.document.selection.getFirstPosition().parent;return t&&t.is("element","listItem")?t.getAttribute("listStyle"):null}_checkEnabled(){const t=this.editor,e=t.commands.get("numberedList"),i=t.commands.get("bulletedList");return e.isEnabled||i.isEnabled}_tryToConvertItemsToList(t){if(!t.type)return;const e=(i=t.type,lt.includes(i)?"bulleted":at.includes(i)?"numbered":null);var i;if(!e)return;const n=this.editor,s=e+"List";n.commands.get(s).value||n.execute(s)}}class se extends t.Command{refresh(){const t=this._getValue();this.value=t,this.isEnabled=null!=t}execute(t={}){const e=this.editor.model,i=ot(e).filter((t=>"numbered"==t.getAttribute("listType")));e.change((e=>{for(const n of i)e.setAttribute("listReversed",!!t.reversed,n)}))}_getValue(){const t=this.editor.model.document.selection.getFirstPosition().parent;return t&&t.is("element","listItem")&&"numbered"==t.getAttribute("listType")?t.getAttribute("listReversed"):null}}class re extends t.Command{refresh(){const t=this._getValue();this.value=t,this.isEnabled=null!=t}execute(t={}){const e=this.editor.model,i=ot(e).filter((t=>"numbered"==t.getAttribute("listType")));e.change((e=>{for(const n of i)e.setAttribute("listStart",t.startIndex||1,n)}))}_getValue(){const t=this.editor.model.document.selection.getFirstPosition().parent;return t&&t.is("element","listItem")&&"numbered"==t.getAttribute("listType")?t.getAttribute("listStart"):null}}const oe="default";class le extends t.Plugin{static get requires(){return[te]}static get pluginName(){return"ListPropertiesEditing"}constructor(t){super(t),t.config.define("list",{properties:{styles:!0,startIndex:!1,reversed:!1}})}init(){const t=this.editor,e=t.model,i=function(t){const e=[];t.styles&&e.push({attributeName:"listStyle",defaultValue:oe,addCommand(t){t.commands.add("listStyle",new ne(t,oe))},appliesToListItem:()=>!0,setAttributeOnDowncast(t,e,i){e&&e!==oe?t.setStyle("list-style-type",e,i):t.removeStyle("list-style-type",i)},getAttributeOnUpcast:t=>t.getStyle("list-style-type")||oe});t.reversed&&e.push({attributeName:"listReversed",defaultValue:!1,addCommand(t){t.commands.add("listReversed",new se(t))},appliesToListItem:t=>"numbered"==t.getAttribute("listType"),setAttributeOnDowncast(t,e,i){e?t.setAttribute("reversed","reversed",i):t.removeAttribute("reversed",i)},getAttributeOnUpcast:t=>t.hasAttribute("reversed")});t.startIndex&&e.push({attributeName:"listStart",defaultValue:1,addCommand(t){t.commands.add("listStart",new re(t))},appliesToListItem:t=>"numbered"==t.getAttribute("listType"),setAttributeOnDowncast(t,e,i){1!=e?t.setAttribute("start",e,i):t.removeAttribute("start",i)},getAttributeOnUpcast:t=>t.getAttribute("start")||1});return e}(t.config.get("list.properties"));e.schema.extend("listItem",{allowAttributes:i.map((t=>t.attributeName))});for(const e of i)e.addCommand(t);var n;this.listenTo(t.commands.get("indentList"),"_executeCleanup",function(t,e){return(i,n)=>{const s=n[0],r=s.getAttribute("listIndent"),o=n.filter((t=>t.getAttribute("listIndent")===r));let l=null;s.previousSibling.getAttribute("listIndent")+1!==r&&(l=it(s.previousSibling,{sameIndent:!0,direction:"backward",listIndent:r})),t.model.change((t=>{for(const i of o)for(const n of e)if(n.appliesToListItem(i)){const e=null==l?n.defaultValue:l.getAttribute(n.attributeName);t.setAttribute(n.attributeName,e,i)}}))}}(t,i)),this.listenTo(t.commands.get("outdentList"),"_executeCleanup",function(t,e){return(i,n)=>{if(!(n=n.reverse().filter((t=>t.is("element","listItem")))).length)return;const s=n[0].getAttribute("listIndent"),r=n[0].getAttribute("listType");let o=n[0].previousSibling;if(o.is("element","listItem"))for(;o.getAttribute("listIndent")!==s;)o=o.previousSibling;else o=null;o||(o=n[n.length-1].nextSibling),o&&o.is("element","listItem")&&o.getAttribute("listType")===r&&t.model.change((t=>{const i=n.filter((t=>t.getAttribute("listIndent")===s));for(const n of i)for(const i of e)if(i.appliesToListItem(n)){const e=i.attributeName,s=o.getAttribute(e);t.setAttribute(e,s,n)}}))}}(t,i)),this.listenTo(t.commands.get("bulletedList"),"_executeCleanup",de(t)),this.listenTo(t.commands.get("numberedList"),"_executeCleanup",de(t)),e.document.registerPostFixer(function(t,e){return i=>{let n=!1;const s=ue(t.model.document.differ.getChanges()).filter((t=>"todo"!==t.getAttribute("listType")));if(!s.length)return n;let r=s[s.length-1].nextSibling;if((!r||!r.is("element","listItem"))&&(r=s[0].previousSibling,r)){const t=s[0].getAttribute("listIndent");for(;r.is("element","listItem")&&r.getAttribute("listIndent")!==t&&(r=r.previousSibling,r););}for(const t of e){const e=t.attributeName;for(const o of s)if(t.appliesToListItem(o))if(o.hasAttribute(e)){const s=o.previousSibling;ce(s,o,t.attributeName)&&(i.setAttribute(e,s.getAttribute(e),o),n=!0)}else ae(r,o,t)?i.setAttribute(e,r.getAttribute(e),o):i.setAttribute(e,t.defaultValue,o),n=!0;else i.removeAttribute(e,o)}return n}}(t,i)),t.conversion.for("upcast").add((n=i,t=>{t.on("element:li",((t,e,i)=>{const s=e.viewItem.parent;if(!s)return;const r=e.modelRange.start.nodeAfter||e.modelRange.end.nodeBefore;for(const t of n)if(t.appliesToListItem(r)){const e=t.getAttributeOnUpcast(s);i.writer.setAttribute(t.attributeName,e,r)}}),{priority:"low"})})),t.conversion.for("downcast").add(function(t){return i=>{for(const n of t)i.on(`attribute:${n.attributeName}:listItem`,((t,i,s)=>{const r=s.writer,o=i.item,l=it(o.previousSibling,{sameIndent:!0,listIndent:o.getAttribute("listIndent"),direction:"backward"}),a=s.mapper.toViewElement(o);e(o,l)||r.breakContainer(r.createPositionBefore(a)),n.setAttributeOnDowncast(r,i.attributeNewValue,a.parent)}),{priority:"low"})};function e(t,e){return e&&t.getAttribute("listType")===e.getAttribute("listType")&&t.getAttribute("listIndent")===e.getAttribute("listIndent")&&t.getAttribute("listStyle")===e.getAttribute("listStyle")&&t.getAttribute("listReversed")===e.getAttribute("listReversed")&&t.getAttribute("listStart")===e.getAttribute("listStart")}}(i)),this._mergeListAttributesWhileMergingLists(i)}afterInit(){const t=this.editor;t.commands.get("todoList")&&t.model.document.registerPostFixer(function(t){return e=>{const i=ue(t.model.document.differ.getChanges()).filter((t=>"todo"===t.getAttribute("listType")&&(t.hasAttribute("listStyle")||t.hasAttribute("listReversed")||t.hasAttribute("listStart"))));if(!i.length)return!1;for(const t of i)e.removeAttribute("listStyle",t),e.removeAttribute("listReversed",t),e.removeAttribute("listStart",t);return!0}}(t))}_mergeListAttributesWhileMergingLists(t){const e=this.editor.model;let i;this.listenTo(e,"deleteContent",((t,[e])=>{const n=e.getFirstPosition(),s=e.getLastPosition();if(n.parent===s.parent)return;if(!n.parent.is("element","listItem"))return;const r=s.parent.nextSibling;if(!r||!r.is("element","listItem"))return;const o=it(n.parent,{sameIndent:!0,listIndent:r.getAttribute("listIndent")});o&&o.getAttribute("listType")===r.getAttribute("listType")&&(i=o)}),{priority:"high"}),this.listenTo(e,"deleteContent",(()=>{i&&(e.change((e=>{const n=it(i.nextSibling,{sameIndent:!0,listIndent:i.getAttribute("listIndent"),direction:"forward"});if(!n)return void(i=null);const s=[n,...rt(e.createPositionAt(n,0),"forward")];for(const n of s)for(const s of t)if(s.appliesToListItem(n)){const t=s.attributeName,r=i.getAttribute(t);e.setAttribute(t,r,n)}})),i=null)}),{priority:"low"})}}function ae(t,e,i){if(!t)return!1;const n=t.getAttribute(i.attributeName);return!!n&&(n!=i.defaultValue&&t.getAttribute("listType")===e.getAttribute("listType"))}function ce(t,e,i){if(!t||!t.is("element","listItem"))return!1;if(e.getAttribute("listType")!==t.getAttribute("listType"))return!1;const n=t.getAttribute("listIndent");if(n<1||n!==e.getAttribute("listIndent"))return!1;const s=t.getAttribute(i);return!(!s||s===e.getAttribute(i))}function de(t){return(e,i)=>{i=i.filter((t=>t.is("element","listItem"))),t.model.change((t=>{for(const e of i)t.removeAttribute("listStyle",e)}))}}function ue(t){const e=[];for(const i of t){const t=me(i);t&&t.is("element","listItem")&&e.push(t)}return e}function me(t){return"attribute"===t.type?t.range.start.nodeAfter:"insert"===t.type?t.position.nodeAfter:null}class pe extends t.Plugin{static get requires(){return[le,Bt]}static get pluginName(){return"ListProperties"}}const he="todoListChecked";class fe extends t.Command{constructor(t){super(t),this._selectedElements=[],this.on("execute",(()=>{this.refresh()}),{priority:"highest"})}refresh(){this._selectedElements=this._getSelectedItems(),this.value=this._selectedElements.every((t=>!!t.getAttribute("todoListChecked"))),this.isEnabled=!!this._selectedElements.length}_getSelectedItems(){const t=this.editor.model,e=t.schema,i=t.document.selection.getFirstRange(),n=i.start.parent,s=[];e.checkAttribute(n,he)&&s.push(n);for(const t of i.getItems())e.checkAttribute(t,he)&&!s.includes(t)&&s.push(t);return s}execute(t={}){this.editor.model.change((e=>{for(const i of this._selectedElements){(void 0===t.forceValue?!this.value:t.forceValue)?e.setAttribute(he,!0,i):e.removeAttribute(he,i)}}))}}function be(t,e,i){const n=e.modelCursor,s=n.parent,r=e.viewItem;if("checkbox"!=r.getAttribute("type")||"listItem"!=s.name||!n.isAtStart)return;if(!i.consumable.consume(r,{name:!0}))return;const o=i.writer;o.setAttribute("listType","todo",s),e.viewItem.hasAttribute("checked")&&o.setAttribute("todoListChecked",!0,s),e.modelRange=o.createRange(n)}function ge(t){return(e,i)=>{const n=i.modelPosition,s=n.parent;if(!s.is("element","listItem")||"todo"!=s.getAttribute("listType"))return;const r=ye(i.mapper.toViewElement(s),t);r&&(i.viewPosition=i.mapper.findPositionIn(r,n.offset))}}function ve(t,e,i,n){return e.createUIElement("label",{class:"todo-list__label",contenteditable:!1},(function(e){const s=(0,r.createElement)(document,"input",{type:"checkbox"});i&&s.setAttribute("checked","checked"),s.addEventListener("change",(()=>n(t)));const o=this.toDomElement(e);return o.appendChild(s),o}))}function ye(t,e){const i=e.createRangeIn(t);for(const t of i)if(t.item.is("containerElement","span")&&t.item.hasClass("todo-list__label__description"))return t.item}const we=(0,r.parseKeystroke)("Ctrl+Enter");class Ae extends t.Plugin{static get pluginName(){return"TodoListEditing"}static get requires(){return[te]}init(){const t=this.editor,{editing:e,data:i,model:n}=t;n.schema.extend("listItem",{allowAttributes:["todoListChecked"]}),n.schema.addAttributeCheck(((t,e)=>{const i=t.last;if("todoListChecked"==e&&"listItem"==i.name&&"todo"!=i.getAttribute("listType"))return!1})),t.commands.add("todoList",new Rt(t,"todo"));const s=new fe(t);var o,l;t.commands.add("checkTodoList",s),t.commands.add("todoListCheck",s),i.downcastDispatcher.on("insert:listItem",function(t){return(e,i,n)=>{const s=n.consumable;if(!s.test(i.item,"insert")||!s.test(i.item,"attribute:listType")||!s.test(i.item,"attribute:listIndent"))return;if("todo"!=i.item.getAttribute("listType"))return;const r=i.item;s.consume(r,"insert"),s.consume(r,"attribute:listType"),s.consume(r,"attribute:listIndent"),s.consume(r,"attribute:todoListChecked");const o=n.writer,l=Q(r,n);o.addClass("todo-list",l.parent);const a=o.createContainerElement("label",{class:"todo-list__label"}),c=o.createEmptyElement("input",{type:"checkbox",disabled:"disabled"}),d=o.createContainerElement("span",{class:"todo-list__label__description"});r.getAttribute("todoListChecked")&&o.setAttribute("checked","checked",c),o.insert(o.createPositionAt(l,0),a),o.insert(o.createPositionAt(a,0),c),o.insert(o.createPositionAfter(c),d),X(r,l,n,t)}}(n),{priority:"high"}),i.upcastDispatcher.on("element:input",be,{priority:"high"}),e.downcastDispatcher.on("insert:listItem",function(t,e){return(i,n,s)=>{const r=s.consumable;if(!r.test(n.item,"insert")||!r.test(n.item,"attribute:listType")||!r.test(n.item,"attribute:listIndent"))return;if("todo"!=n.item.getAttribute("listType"))return;const o=n.item;r.consume(o,"insert"),r.consume(o,"attribute:listType"),r.consume(o,"attribute:listIndent"),r.consume(o,"attribute:todoListChecked");const l=s.writer,a=Q(o,s),c=!!o.getAttribute("todoListChecked"),d=ve(o,l,c,e),u=l.createContainerElement("span",{class:"todo-list__label__description"});l.addClass("todo-list",a.parent),l.insert(l.createPositionAt(a,0),d),l.insert(l.createPositionAfter(d),u),X(o,a,s,t)}}(n,(t=>this._handleCheckmarkChange(t))),{priority:"high"}),e.downcastDispatcher.on("attribute:listType:listItem",(o=t=>this._handleCheckmarkChange(t),l=e.view,(t,e,i)=>{if(!i.consumable.consume(e.item,t.name))return;const n=i.mapper.toViewElement(e.item),s=i.writer,r=function(t,e){const i=e.createRangeIn(t);for(const t of i)if(t.item.is("uiElement","label"))return t.item}(n,l);if("todo"==e.attributeNewValue){const t=!!e.item.getAttribute("todoListChecked"),i=ve(e.item,s,t,o),r=s.createContainerElement("span",{class:"todo-list__label__description"}),l=s.createRangeIn(n),a=st(n),c=et(l.start),d=a?s.createPositionBefore(a):l.end,u=s.createRange(c,d);s.addClass("todo-list",n.parent),s.move(u,s.createPositionAt(r,0)),s.insert(s.createPositionAt(n,0),i),s.insert(s.createPositionAfter(i),r)}else if("todo"==e.attributeOldValue){const t=ye(n,l);s.removeClass("todo-list",n.parent),s.remove(r),s.move(s.createRangeIn(t),s.createPositionBefore(t)),s.remove(t)}})),e.downcastDispatcher.on("attribute:todoListChecked:listItem",function(t){return(e,i,n)=>{if("todo"!=i.item.getAttribute("listType"))return;if(!n.consumable.consume(i.item,"attribute:todoListChecked"))return;const{mapper:s,writer:r}=n,o=!!i.item.getAttribute("todoListChecked"),l=s.toViewElement(i.item).getChild(0),a=ve(i.item,r,o,t);r.insert(r.createPositionAfter(l),a),r.remove(l)}}((t=>this._handleCheckmarkChange(t)))),e.mapper.on("modelToViewPosition",ge(e.view)),i.mapper.on("modelToViewPosition",ge(e.view)),this.listenTo(e.view.document,"arrowKey",function(t,e){return(i,n)=>{if("left"!=(0,r.getLocalizedArrowKeyCodeDirection)(n.keyCode,e.contentLanguageDirection))return;const s=t.schema,o=t.document.selection;if(!o.isCollapsed)return;const l=o.getFirstPosition(),a=l.parent;if("listItem"===a.name&&"todo"==a.getAttribute("listType")&&l.isAtStart){const e=s.getNearestSelectionRange(t.createPositionBefore(a),"backward");e&&t.change((t=>t.setSelection(e))),n.preventDefault(),n.stopPropagation(),i.stop()}}}(n,t.locale),{context:"li"}),this.listenTo(e.view.document,"keydown",((e,i)=>{(0,r.getCode)(i)===we&&(t.execute("checkTodoList"),e.stop())}),{priority:"high"});const a=new Set;this.listenTo(n,"applyOperation",((t,e)=>{const i=e[0];if("rename"==i.type&&"listItem"==i.oldName){const t=i.position.nodeAfter;t.hasAttribute("todoListChecked")&&a.add(t)}else if("changeAttribute"==i.type&&"listType"==i.key&&"todo"===i.oldValue)for(const t of i.range.getItems())t.hasAttribute("todoListChecked")&&"todo"!==t.getAttribute("listType")&&a.add(t)})),n.document.registerPostFixer((t=>{let e=!1;for(const i of a)t.removeAttribute("todoListChecked",i),e=!0;return a.clear(),e}))}_handleCheckmarkChange(t){const e=this.editor,i=e.model,n=Array.from(i.document.selection.getRanges());i.change((i=>{i.setSelection(t,"end"),e.execute("checkTodoList"),i.setSelection(n)}))}}class Ie extends t.Plugin{static get pluginName(){return"TodoListUI"}init(){const t=this.editor.t;nt(this.editor,"todoList",t("To-do List"),'')}}var ke=i(250),xe={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};K()(ke.Z,xe);ke.Z.locals;class Te extends t.Plugin{static get requires(){return[Ae,Ie]}static get pluginName(){return"TodoList"}}})(),(window.CKEditor5=window.CKEditor5||{}).list=n})(); \ No newline at end of file + */(()=>{var t={389:(t,e,i)=>{"use strict";i.d(e,{Z:()=>r});var s=i(609),n=i.n(s)()((function(t){return t[1]}));n.push([t.id,".ck.ck-collapsible.ck-collapsible_collapsed>.ck-collapsible__children{display:none}:root{--ck-collapsible-arrow-size:calc(var(--ck-icon-size)*0.5)}.ck.ck-collapsible>.ck.ck-button{border-radius:0;font-weight:700;padding:var(--ck-spacing-medium) var(--ck-spacing-large);width:100%}.ck.ck-collapsible>.ck.ck-button:focus{background:transparent}.ck.ck-collapsible>.ck.ck-button:active,.ck.ck-collapsible>.ck.ck-button:hover:not(:focus),.ck.ck-collapsible>.ck.ck-button:not(:focus){background:transparent;border-color:transparent;box-shadow:none}.ck.ck-collapsible>.ck.ck-button>.ck-icon{margin-right:var(--ck-spacing-medium);width:var(--ck-collapsible-arrow-size)}.ck.ck-collapsible>.ck-collapsible__children{padding:0 var(--ck-spacing-large) var(--ck-spacing-large)}.ck.ck-collapsible.ck-collapsible_collapsed>.ck.ck-button .ck-icon{transform:rotate(-90deg)}",""]);const r=n},78:(t,e,i)=>{"use strict";i.d(e,{Z:()=>r});var s=i(609),n=i.n(s)()((function(t){return t[1]}));n.push([t.id,".ck-editor__editable .ck-list-bogus-paragraph{display:block}",""]);const r=n},543:(t,e,i)=>{"use strict";i.d(e,{Z:()=>r});var s=i(609),n=i.n(s)()((function(t){return t[1]}));n.push([t.id,".ck.ck-list-properties.ck-list-properties_without-styles{padding:var(--ck-spacing-large)}.ck.ck-list-properties.ck-list-properties_without-styles>*{min-width:14em}.ck.ck-list-properties.ck-list-properties_without-styles>*+*{margin-top:var(--ck-spacing-standard)}.ck.ck-list-properties.ck-list-properties_with-numbered-properties>.ck-list-styles-list{grid-template-columns:repeat(4,auto)}.ck.ck-list-properties.ck-list-properties_with-numbered-properties>.ck-collapsible{border-top:1px solid var(--ck-color-base-border)}.ck.ck-list-properties.ck-list-properties_with-numbered-properties>.ck-collapsible>.ck-collapsible__children>*{width:100%}.ck.ck-list-properties.ck-list-properties_with-numbered-properties>.ck-collapsible>.ck-collapsible__children>*+*{margin-top:var(--ck-spacing-standard)}.ck.ck-list-properties .ck.ck-numbered-list-properties__start-index .ck-input{min-width:auto;width:100%}.ck.ck-list-properties .ck.ck-numbered-list-properties__reversed-order{background:transparent;margin-bottom:calc(var(--ck-spacing-tiny)*-1);padding-left:0;padding-right:0}.ck.ck-list-properties .ck.ck-numbered-list-properties__reversed-order:active,.ck.ck-list-properties .ck.ck-numbered-list-properties__reversed-order:hover{background:none;border-color:transparent;box-shadow:none}",""]);const r=n},657:(t,e,i)=>{"use strict";i.d(e,{Z:()=>r});var s=i(609),n=i.n(s)()((function(t){return t[1]}));n.push([t.id,".ck.ck-list-styles-list{display:grid}:root{--ck-list-style-button-size:44px}.ck.ck-list-styles-list{column-gap:var(--ck-spacing-medium);grid-template-columns:repeat(3,auto);padding:var(--ck-spacing-large);row-gap:var(--ck-spacing-medium)}.ck.ck-list-styles-list .ck-button{box-sizing:content-box;margin:0;padding:0}.ck.ck-list-styles-list .ck-button,.ck.ck-list-styles-list .ck-button .ck-icon{height:var(--ck-list-style-button-size);width:var(--ck-list-style-button-size)}",""]);const r=n},250:(t,e,i)=>{"use strict";i.d(e,{Z:()=>r});var s=i(609),n=i.n(s)()((function(t){return t[1]}));n.push([t.id,':root{--ck-todo-list-checkmark-size:16px}.ck-content .todo-list{list-style:none}.ck-content .todo-list li{margin-bottom:5px}.ck-content .todo-list li .todo-list{margin-top:5px}.ck-content .todo-list .todo-list__label>input{-webkit-appearance:none;border:0;display:inline-block;height:var(--ck-todo-list-checkmark-size);left:-25px;margin-left:0;margin-right:-15px;position:relative;right:0;vertical-align:middle;width:var(--ck-todo-list-checkmark-size)}.ck-content .todo-list .todo-list__label>input:before{border:1px solid #333;border-radius:2px;box-sizing:border-box;content:"";display:block;height:100%;position:absolute;transition:box-shadow .25s ease-in-out,background .25s ease-in-out,border .25s ease-in-out;width:100%}.ck-content .todo-list .todo-list__label>input:after{border-color:transparent;border-style:solid;border-width:0 calc(var(--ck-todo-list-checkmark-size)/8) calc(var(--ck-todo-list-checkmark-size)/8) 0;box-sizing:content-box;content:"";display:block;height:calc(var(--ck-todo-list-checkmark-size)/2.6);left:calc(var(--ck-todo-list-checkmark-size)/3);pointer-events:none;position:absolute;top:calc(var(--ck-todo-list-checkmark-size)/5.3);transform:rotate(45deg);width:calc(var(--ck-todo-list-checkmark-size)/5.3)}.ck-content .todo-list .todo-list__label>input[checked]:before{background:#26ab33;border-color:#26ab33}.ck-content .todo-list .todo-list__label>input[checked]:after{border-color:#fff}.ck-content .todo-list .todo-list__label .todo-list__label__description{vertical-align:middle}[dir=rtl] .todo-list .todo-list__label>input{left:0;margin-left:-15px;margin-right:0;right:-25px}.ck-editor__editable .todo-list .todo-list__label>input{cursor:pointer}.ck-editor__editable .todo-list .todo-list__label>input:hover:before{box-shadow:0 0 0 5px rgba(0,0,0,.1)}',""]);const r=n},609:t=>{"use strict";t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var i=t(e);return e[2]?"@media ".concat(e[2]," {").concat(i,"}"):i})).join("")},e.i=function(t,i,s){"string"==typeof t&&(t=[[null,t,""]]);var n={};if(s)for(var r=0;r{"use strict";var s,n=function(){return void 0===s&&(s=Boolean(window&&document&&document.all&&!window.atob)),s},r=function(){var t={};return function(e){if(void 0===t[e]){var i=document.querySelector(e);if(window.HTMLIFrameElement&&i instanceof window.HTMLIFrameElement)try{i=i.contentDocument.head}catch(t){i=null}t[e]=i}return t[e]}}(),o=[];function l(t){for(var e=-1,i=0;i{t.exports=i(79)("./src/core.js")},492:(t,e,i)=>{t.exports=i(79)("./src/engine.js")},331:(t,e,i)=>{t.exports=i(79)("./src/enter.js")},181:(t,e,i)=>{t.exports=i(79)("./src/typing.js")},273:(t,e,i)=>{t.exports=i(79)("./src/ui.js")},209:(t,e,i)=>{t.exports=i(79)("./src/utils.js")},79:t=>{"use strict";t.exports=CKEditor5.dll}},e={};function i(s){var n=e[s];if(void 0!==n)return n.exports;var r=e[s]={id:s,exports:{}};return t[s](r,r.exports,i),r.exports}i.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return i.d(e,{a:e}),e},i.d=(t,e)=>{for(var s in e)i.o(e,s)&&!i.o(t,s)&&Object.defineProperty(t,s,{enumerable:!0,get:e[s]})},i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),i.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},i.nc=void 0;var s={};(()=>{"use strict";i.r(s),i.d(s,{DocumentList:()=>pt,DocumentListEditing:()=>G,DocumentListProperties:()=>Mt,DocumentListPropertiesEditing:()=>Tt,List:()=>ie,ListEditing:()=>te,ListProperties:()=>pe,ListPropertiesEditing:()=>le,ListPropertiesUI:()=>Bt,ListUI:()=>mt,TodoList:()=>Te,TodoListEditing:()=>Ae,TodoListUI:()=>Ie});var t=i(704),e=i(331),n=i(181),r=i(209);class o{constructor(t,e){this._startElement=t,this._referenceIndent=t.getAttribute("listIndent"),this._isForward="forward"==e.direction,this._includeSelf=!!e.includeSelf,this._sameAttributes=(0,r.toArray)(e.sameAttributes||[]),this._sameIndent=!!e.sameIndent,this._lowerIndent=!!e.lowerIndent,this._higherIndent=!!e.higherIndent}static first(t,e){const i=new this(t,e)[Symbol.iterator]();return(0,r.first)(i)}*[Symbol.iterator](){const t=[];for(const{node:e}of l(this._getStartNode(),this._isForward?"forward":"backward")){const i=e.getAttribute("listIndent");if(ithis._referenceIndent){if(!this._higherIndent)continue;if(!this._isForward){t.push(e);continue}}else{if(!this._sameIndent){if(this._higherIndent){t.length&&(yield*t,t.length=0);break}continue}if(this._sameAttributes.some((t=>e.getAttribute(t)!==this._startElement.getAttribute(t))))break}t.length&&(yield*t,t.length=0),yield e}}_getStartNode(){return this._includeSelf?this._startElement:this._isForward?this._startElement.nextSibling:this._startElement.previousSibling}}function*l(t,e="forward"){const i="forward"==e;let s=null;for(;d(t);)yield{node:t,previous:s},s=t,t=i?t.nextSibling:t.previousSibling}class a{constructor(t){this._listHead=t}[Symbol.iterator](){return l(this._listHead,"forward")}}class c{static next(){return(0,r.uid)()}}function d(t){return!!t&&t.is("element")&&t.hasAttribute("listItemId")}function u(t,e={}){return[...m(t,{...e,direction:"backward"}),...m(t,{...e,direction:"forward"})]}function m(t,e={}){const i="forward"==e.direction,s=Array.from(new o(t,{...e,includeSelf:i,sameIndent:!0,sameAttributes:"listItemId"}));return i?s:s.reverse()}function p(t){const e=new o(t,{sameIndent:!0,sameAttributes:"listType"}),i=new o(t,{sameIndent:!0,sameAttributes:"listType",includeSelf:!0,direction:"forward"});return[...Array.from(e).reverse(),...i]}function h(t){return!o.first(t,{sameIndent:!0,sameAttributes:"listItemId"})}function f(t){return!o.first(t,{direction:"forward",sameIndent:!0,sameAttributes:"listItemId"})}function b(t,e={}){t=(0,r.toArray)(t);const i=!1!==e.withNested,s=new Set;for(const e of t)for(const t of u(e,{higherIndent:i}))s.add(t);return k(s)}function g(t){t=(0,r.toArray)(t);const e=new Set;for(const i of t)for(const t of p(i))e.add(t);return k(e)}function v(t,e){const i=m(t,{direction:"forward"}),s=c.next();for(const t of i)e.setAttribute("listItemId",s,t);return i}function y(t,e,i){const s={};for(const[t,i]of e.getAttributes())t.startsWith("list")&&(s[t]=i);const n=m(t,{direction:"forward"});for(const t of n)i.setAttributes(s,t);return n}function w(t,e,{expand:i,indentBy:s=1}={}){t=(0,r.toArray)(t);const n=i?b(t):t;for(const t of n){const i=t.getAttribute("listIndent")+s;i<0?A(t,e):e.setAttribute("listIndent",i,t)}return n}function A(t,e){t=(0,r.toArray)(t);for(const i of t)for(const t of i.getAttributeKeys())t.startsWith("list")&&e.removeAttribute(t,i);return t}function I(t){if(!t.length)return!1;const e=t[0].getAttribute("listItemId");return!!e&&!t.some((t=>t.getAttribute("listItemId")!=e))}function k(t){return Array.from(t).filter((t=>"$graveyard"!==t.root.rootName)).sort(((t,e)=>t.index-e.index))}function x(t){const e=t.document.selection.getSelectedElement();return e&&t.schema.isObject(e)&&t.schema.isBlock(e)?e:null}function T(t,e,i){return m(e,{direction:"forward"}).pop().index>t.index?y(t,e,i):[]}class S extends t.Command{constructor(t,e){super(t),this._direction=e}refresh(){this.isEnabled=this._checkEnabled()}execute(){const t=this.editor.model,e=_(t.document.selection);t.change((t=>{const i=[];I(e)&&!h(e[0])?("forward"==this._direction&&i.push(...w(e,t)),i.push(...v(e[0],t))):"forward"==this._direction?i.push(...w(e,t,{expand:!0})):i.push(...function(t,e){const i=b(t=(0,r.toArray)(t)),s=new Set,n=Math.min(...i.map((t=>t.getAttribute("listIndent")))),l=new Map;for(const t of i)l.set(t,o.first(t,{lowerIndent:!0}));for(const t of i){if(s.has(t))continue;s.add(t);const i=t.getAttribute("listIndent")-1;if(i<0)A(t,e);else{if(t.getAttribute("listIndent")==n){const i=T(t,l.get(t),e);for(const t of i)s.add(t);if(i.length)continue}e.setAttribute("listIndent",i,t)}}return k(s)}(e,t));for(const e of i){if(!e.hasAttribute("listType"))continue;const i=o.first(e,{sameIndent:!0});i&&t.setAttribute("listType",i.getAttribute("listType"),e)}this._fireAfterExecute(i)}))}_fireAfterExecute(t){this.fire("afterExecute",k(new Set(t)))}_checkEnabled(){let t=_(this.editor.model.document.selection),e=t[0];if(!e)return!1;if("backward"==this._direction)return!0;if(I(t)&&!h(t[0]))return!0;t=b(t),e=t[0];const i=o.first(e,{sameIndent:!0});return!!i&&i.getAttribute("listType")==e.getAttribute("listType")}}function _(t){const e=Array.from(t.getSelectedBlocks()),i=e.findIndex((t=>!d(t)));return-1!=i&&(e.length=i),e}class C extends t.Command{constructor(t,e){super(t),this.type=e}refresh(){this.value=this._getValue(),this.isEnabled=this._checkEnabled()}execute(t={}){const e=this.editor.model,i=e.document,s=x(e),n=Array.from(i.selection.getSelectedBlocks()).filter((t=>e.schema.checkAttribute(t,"listType"))),r=void 0!==t.forceValue?!t.forceValue:this.value;e.change((t=>{if(r){const e=n[n.length-1],i=m(e,{direction:"forward"}),s=[];i.length>1&&s.push(...v(i[1],t)),s.push(...A(n,t)),s.push(...function(t,e){const i=[];let s=Number.POSITIVE_INFINITY;for(const{node:n}of l(t.nextSibling,"forward")){const t=n.getAttribute("listIndent");if(0==t)break;t{const{firstElement:r,lastElement:l}=this._getMergeSubjectElements(i,t),a=r.getAttribute("listIndent")||0,c=l.getAttribute("listIndent"),d=l.getAttribute("listItemId");if(a!=c){const t=(u=l,Array.from(new o(u,{direction:"forward",higherIndent:!0})));s.push(...w([l,...t],n,{indentBy:a-c,expand:a{const e=v(this._getStartBlock(),t);this._fireAfterExecute(e)}))}_fireAfterExecute(t){this.fire("afterExecute",k(new Set(t)))}_checkEnabled(){const t=this.editor.model.document.selection,e=this._getStartBlock();return t.isCollapsed&&d(e)&&!h(e)}_getStartBlock(){const t=this.editor.model.document.selection.getFirstPosition().parent;return"before"==this._direction?t:t.nextSibling}}function E(t){return t.is("element","ol")||t.is("element","ul")}function P(t){return t.is("element","li")}function z(t){let e=0,i=t.parent;for(;i;){if(P(i))e++;else{const t=i.previousSibling;t&&P(t)&&e++}i=i.parent}return e}function B(t,e,i,s=R(i,e)){return t.createAttributeElement(M(i),null,{priority:2*e/100-100,id:s})}function N(t,e,i){return t.createAttributeElement("li",null,{priority:(2*e+1)/100-100,id:i})}function M(t){return"numbered"==t?"ol":"ul"}function R(t,e){return`list-${t}-${e}`}function O(t,e){const i=t.nodeBefore;if(d(i)){let t=i;for({node:t}of l(t,"backward"))if(e.has(t))return;e.set(i,t)}else{const i=t.nodeAfter;d(i)&&e.set(i,i)}}var H=i(492);function F(){return(t,e,i)=>{if(!i.consumable.test(e.viewItem,{name:!0}))return;const s=new H.UpcastWriter(e.viewItem.document);for(const t of Array.from(e.viewItem.getChildren()))P(t)||E(t)||s.remove(t)}}function D(t,e,i){const s=function(t){return(e,i)=>{const s=[];for(const i of t)e.hasAttribute(i)&&s.push(`attribute:${i}`);return!!s.every((t=>!1!==i.test(e,t)))&&(s.forEach((t=>i.consume(e,t))),!0)}}(t);return(n,r,l)=>{const{writer:a,mapper:c,consumable:d}=l,u=r.item;if(!t.includes(r.attributeKey))return;if(!s(u,d))return;const m=function(t,e,i){const s=i.createRangeOn(t);return e.toViewRange(s).getTrimmed().getContainedElement()}(u,c,i);!function(t,e){let i=t.parent;for(;i.is("attributeElement")&&["ul","ol","li"].includes(i.name);){const s=i.parent;e.unwrap(e.createRangeOn(t),i),i=s}}(m,a),function(t,e,i,s){if(!t.hasAttribute("listIndent"))return;const n=t.getAttribute("listIndent");let r=t;for(let t=n;t>=0;t--){const n=N(s,t,r.getAttribute("listItemId")),l=B(s,t,r.getAttribute("listType"));for(const t of i)r.hasAttribute(t.attributeName)&&t.setAttributeOnDowncast(s,r.getAttribute(t.attributeName),"list"==t.scope?l:n);if(e=s.wrap(e,n),e=s.wrap(e,l),0==t)break;if(r=o.first(r,{lowerIndent:!0}),!r)break}}(u,a.createRangeOn(m),e,a)}}function j(t,{dataPipeline:e}={}){return(i,{writer:s})=>{if(!U(i,t))return;const n=s.createContainerElement("span",{class:"ck-list-bogus-paragraph"});return e&&s.setCustomProperty("dataPipeline:transparentRendering",!0,n),n}}function U(t,e,i=u(t)){if(!d(t))return!1;for(const i of t.getAttributeKeys())if(!i.startsWith("selection:")&&!e.includes(i))return!1;return i.length<2}var q=i(62),K=i.n(q),Z=i(78),$={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};K()(Z.Z,$);Z.Z.locals;const W=["listType","listIndent","listItemId"];class G extends t.Plugin{static get pluginName(){return"DocumentListEditing"}static get requires(){return[e.Enter,n.Delete]}constructor(t){super(t),this._downcastStrategies=[]}init(){const t=this.editor,e=t.model;if(t.plugins.has("ListEditing"))throw new r.CKEditorError("document-list-feature-conflict",this,{conflictPlugin:"ListEditing"});e.schema.extend("$container",{allowAttributes:W}),e.schema.extend("$block",{allowAttributes:W}),e.schema.extend("$blockObject",{allowAttributes:W});for(const t of W)e.schema.setAttributeProperties(t,{copyOnReplace:!0});t.commands.add("numberedList",new C(t,"numbered")),t.commands.add("bulletedList",new C(t,"bulleted")),t.commands.add("indentList",new S(t,"forward")),t.commands.add("outdentList",new S(t,"backward")),t.commands.add("mergeListItemBackward",new V(t,"backward")),t.commands.add("mergeListItemForward",new V(t,"forward")),t.commands.add("splitListItemBefore",new L(t,"before")),t.commands.add("splitListItemAfter",new L(t,"after")),this._setupDeleteIntegration(),this._setupEnterIntegration(),this._setupTabIntegration(),this._setupClipboardIntegration()}afterInit(){const t=this.editor.commands,e=t.get("indent"),i=t.get("outdent");e&&e.registerChildCommand(t.get("indentList"),{priority:"high"}),i&&i.registerChildCommand(t.get("outdentList"),{priority:"lowest"}),this._setupModelPostFixing(),this._setupConversion()}registerDowncastStrategy(t){this._downcastStrategies.push(t)}_getListAttributeNames(){return[...W,...this._downcastStrategies.map((t=>t.attributeName))]}_setupDeleteIntegration(){const t=this.editor,e=t.commands.get("mergeListItemBackward"),i=t.commands.get("mergeListItemForward");this.listenTo(t.editing.view.document,"delete",((s,n)=>{const r=t.model.document.selection;x(t.model)||t.model.change((()=>{const l=r.getFirstPosition();if(r.isCollapsed&&"backward"==n.direction){if(!l.isAtStart)return;const i=l.parent;if(!d(i))return;if(o.first(i,{sameAttributes:"listType",sameIndent:!0})||0!==i.getAttribute("listIndent")){if(!e.isEnabled)return;e.execute({shouldMergeOnBlocksContentLevel:Y(t.model,"backward")})}else f(i)||t.execute("splitListItemAfter"),t.execute("outdentList");n.preventDefault(),s.stop()}else{if(r.isCollapsed&&!r.getLastPosition().isAtEnd)return;if(!i.isEnabled)return;i.execute({shouldMergeOnBlocksContentLevel:Y(t.model,"forward")}),n.preventDefault(),s.stop()}}))}),{context:"li"})}_setupEnterIntegration(){const t=this.editor,e=t.model,i=t.commands,s=i.get("enter");this.listenTo(t.editing.view.document,"enter",((i,s)=>{const n=e.document,r=n.selection.getFirstPosition().parent;if(n.selection.isCollapsed&&d(r)&&r.isEmpty&&!s.isSoft){const e=h(r),n=f(r);e&&n?(t.execute("outdentList"),s.preventDefault(),i.stop()):e&&!n?(t.execute("splitListItemAfter"),s.preventDefault(),i.stop()):n&&(t.execute("splitListItemBefore"),s.preventDefault(),i.stop())}}),{context:"li"}),this.listenTo(s,"afterExecute",(()=>{const e=i.get("splitListItemBefore");if(e.refresh(),!e.isEnabled)return;2===u(t.model.document.selection.getLastPosition().parent).length&&e.execute()}))}_setupTabIntegration(){const t=this.editor;this.listenTo(t.editing.view.document,"tab",((e,i)=>{const s=i.shiftKey?"outdentList":"indentList";this.editor.commands.get(s).isEnabled&&(t.execute(s),i.stopPropagation(),i.preventDefault(),e.stop())}),{context:"li"})}_setupConversion(){const t=this.editor,e=t.model,i=this._getListAttributeNames();t.conversion.for("upcast").elementToElement({view:"li",model:"paragraph"}).add((t=>{t.on("element:li",((t,e,i)=>{const{writer:s,schema:n}=i;if(!e.modelRange)return;const r=Array.from(e.modelRange.getItems({shallow:!0})).filter((t=>n.checkAttribute(t,"listItemId")));if(!r.length)return;const o={listItemId:c.next(),listIndent:z(e.viewItem),listType:e.viewItem.parent&&"ol"==e.viewItem.parent.name?"numbered":"bulleted"};for(const t of r)d(t)||s.setAttributes(o,t);r.length>1&&r[1].getAttribute("listItemId")!=o.listItemId&&i.keepEmptyElement(r[0])})),t.on("element:ul",F(),{priority:"high"}),t.on("element:ol",F(),{priority:"high"})})),t.conversion.for("editingDowncast").elementToElement({model:"paragraph",view:j(i),converterPriority:"high"}),t.conversion.for("dataDowncast").elementToElement({model:"paragraph",view:j(i,{dataPipeline:!0}),converterPriority:"high"}),t.conversion.for("downcast").add((t=>{t.on("attribute",D(i,this._downcastStrategies,e))})),this.listenTo(e.document,"change:data",function(t,e,i,s){return()=>{const s=t.document.differ.getChanges(),o=[],l=new Map,a=new Set;for(const t of s)if("insert"==t.type&&"$text"!=t.name)O(t.position,l),t.attributes.has("listItemId")?a.add(t.position.nodeAfter):O(t.position.getShiftedBy(t.length),l);else if("remove"==t.type&&t.attributes.has("listItemId"))O(t.position,l);else if("attribute"==t.type){const e=t.range.start.nodeAfter;i.includes(t.attributeKey)?(O(t.range.start,l),null===t.attributeNewValue?(O(t.range.start.getShiftedBy(1),l),r(e)&&o.push(e)):a.add(e)):d(e)&&r(e)&&o.push(e)}for(const t of l.values())o.push(...n(t,a));for(const t of new Set(o))e.reconvertItem(t)};function n(t,e){const s=[],n=new Set,a=[];for(const{node:c,previous:d}of l(t,"forward")){if(n.has(c))continue;const t=c.getAttribute("listIndent");d&&ti.includes(t))));const l=m(c,{direction:"forward"});for(const t of l)n.add(t),(r(t,l)||o(t,a,e))&&s.push(t)}return s}function r(t,s){if(!t.is("element","paragraph"))return!1;const n=e.mapper.toViewElement(t);if(!n)return!1;const r=U(t,i,s);return!(!r||!n.is("element","p"))||!(r||!n.is("element","span"))}function o(t,i,n){if(n.has(t))return!1;const r=e.mapper.toViewElement(t);let o=i.length-1;for(let t=r.parent;!t.is("editableElement");t=t.parent){const e=P(t),n=E(t);if(!n&&!e)continue;const r="checkAttributes:"+(e?"item":"list");if(s.fire(r,{viewElement:t,modelAttributes:i[o]}))break;if(n&&(o--,o<0))return!1}return!0}}(e,t.editing,i,this)),this.on("checkAttributes:item",((t,{viewElement:e,modelAttributes:i})=>{e.id!=i.listItemId&&(t.return=!0,t.stop())})),this.on("checkAttributes:list",((t,{viewElement:e,modelAttributes:i})=>{e.name==M(i.listType)&&e.id==R(i.listType,i.listIndent)||(t.return=!0,t.stop())}))}_setupModelPostFixing(){const t=this.editor.model,e=this._getListAttributeNames();t.document.registerPostFixer((i=>function(t,e,i,s){const n=t.document.differ.getChanges(),r=new Map;let o=!1;for(const s of n)if("insert"==s.type&&"$text"!=s.name){const n=s.position.nodeAfter;if(!t.schema.checkAttribute(n,"listItemId"))for(const t of Array.from(n.getAttributeKeys()))i.includes(t)&&(e.removeAttribute(t,n),o=!0);O(s.position,r),s.attributes.has("listItemId")||O(s.position.getShiftedBy(s.length),r);for(const{item:e,previousPosition:i}of t.createRangeIn(n))d(e)&&O(i,r)}else"remove"==s.type?O(s.position,r):"attribute"==s.type&&i.includes(s.attributeKey)&&(O(s.range.start,r),null===s.attributeNewValue&&O(s.range.start.getShiftedBy(1),r));const l=new Set;for(const t of r.values())o=s.fire("postFixer",{listNodes:new a(t),listHead:t,writer:e,seenIds:l})||o;return o}(t,i,e,this))),this.on("postFixer",((t,{listNodes:e,writer:i})=>{t.return=function(t,e){let i=0,s=-1,n=null,r=!1;for(const{node:o}of t){const t=o.getAttribute("listIndent");if(t>i){let l;null===n?(n=t-i,l=i):(n>t&&(n=t),l=t-n),l>s+1&&(l=s+1),e.setAttribute("listIndent",l,o),r=!0,s=l}else n=null,i=t+1,s=t}return r}(e,i)||t.return}),{priority:"high"}),this.on("postFixer",((t,{listNodes:e,writer:i,seenIds:s})=>{t.return=function(t,e,i){const s=new Set;let n=!1;for(const{node:r}of t){if(s.has(r))continue;let t=r.getAttribute("listType"),o=r.getAttribute("listItemId");e.has(o)&&(o=c.next()),e.add(o);for(const e of m(r,{direction:"forward"}))s.add(e),e.getAttribute("listType")!=t&&(o=c.next(),t=e.getAttribute("listType")),e.getAttribute("listItemId")!=o&&(i.setAttribute("listItemId",o,e),n=!0)}return n}(e,s,i)||t.return}),{priority:"high"})}_setupClipboardIntegration(){const t=this.editor.model;this.listenTo(t,"insertContent",function(t){return(e,[i,s])=>{const n=i.is("documentFragment")?i.getChild(0):i;if(!d(n))return;let r;r=s?t.createSelection(s):t.document.selection;const o=r.getFirstPosition();let a=null;if(d(o.parent)?a=o.parent:d(o.nodeBefore)&&(a=o.nodeBefore),!a)return;const c=a.getAttribute("listIndent")-n.getAttribute("listIndent");c<=0||t.change((t=>{for(const{node:e}of l(n,"forward"))t.setAttribute("listIndent",e.getAttribute("listIndent")+c,e)}))}}(t),{priority:"high"}),this.listenTo(t,"getSelectedContent",((e,[i])=>{I(Array.from(i.getSelectedBlocks()))&&t.change((t=>A(Array.from(e.return.getChildren()),t)))}))}}function Y(t,e){const i=t.document.selection;if(!i.isCollapsed)return!x(t);if("forward"===e)return!0;const s=i.getFirstPosition().parent,n=s.previousSibling;return!t.schema.isObject(n)&&(!!n.isEmpty||I([s,n]))}var J=i(273);function Q(t,e){const i=e.mapper,s=e.writer,n="numbered"==t.getAttribute("listType")?"ol":"ul",r=function(t){const e=t.createContainerElement("li");return e.getFillerOffset=ct,e}(s),o=s.createContainerElement(n,null);return s.insert(s.createPositionAt(o,0),r),i.bindElements(t,r),r}function X(t,e,i,s){const n=e.parent,r=i.mapper,o=i.writer;let l=r.toViewPosition(s.createPositionBefore(t));const a=it(t.previousSibling,{sameIndent:!0,smallerIndent:!0,listIndent:t.getAttribute("listIndent")}),c=t.previousSibling;if(a&&a.getAttribute("listIndent")==t.getAttribute("listIndent")){const t=r.toViewElement(a);l=o.breakContainer(o.createPositionAfter(t))}else if(c&&"listItem"==c.name){l=r.toViewPosition(s.createPositionAt(c,"end"));const t=r.findMappedViewAncestor(l),e=nt(t);l=e?o.createPositionBefore(e):o.createPositionAt(t,"end")}else l=r.toViewPosition(s.createPositionBefore(t));if(l=et(l),o.insert(l,n),c&&"listItem"==c.name){const t=r.toViewElement(c),i=o.createRange(o.createPositionAt(t,0),l).getWalker({ignoreElementEnd:!0});for(const t of i)if(t.item.is("element","li")){const s=o.breakContainer(o.createPositionBefore(t.item)),n=t.item.parent,r=o.createPositionAt(e,"end");tt(o,r.nodeBefore,r.nodeAfter),o.move(o.createRangeOn(n),r),i.position=s}}else{const i=n.nextSibling;if(i&&(i.is("element","ul")||i.is("element","ol"))){let s=null;for(const e of i.getChildren()){const i=r.toModelElement(e);if(!(i&&i.getAttribute("listIndent")>t.getAttribute("listIndent")))break;s=e}s&&(o.breakContainer(o.createPositionAfter(s)),o.move(o.createRangeOn(s.parent),o.createPositionAt(e,"end")))}}tt(o,n,n.nextSibling),tt(o,n.previousSibling,n)}function tt(t,e,i){return!e||!i||"ul"!=e.name&&"ol"!=e.name||e.name!=i.name||e.getAttribute("class")!==i.getAttribute("class")?null:t.mergeContainers(t.createPositionAfter(e))}function et(t){return t.getLastMatchingPosition((t=>t.item.is("uiElement")))}function it(t,e){const i=!!e.sameIndent,s=!!e.smallerIndent,n=e.listIndent;let r=t;for(;r&&"listItem"==r.name;){const t=r.getAttribute("listIndent");if(i&&n==t||s&&n>t)return r;r="forward"===e.direction?r.nextSibling:r.previousSibling}return null}function st(t,e,i,s){t.ui.componentFactory.add(e,(n=>{const r=t.commands.get(e),o=new J.ButtonView(n);return o.set({label:i,icon:s,tooltip:!0,isToggleable:!0}),o.bind("isOn","isEnabled").to(r,"value","isEnabled"),o.on("execute",(()=>{t.execute(e),t.editing.view.focus()})),o}))}function nt(t){for(const e of t.getChildren())if("ul"==e.name||"ol"==e.name)return e;return null}function rt(t,e){const i=[],s=t.parent,n={ignoreElementEnd:!0,startPosition:t,shallow:!0,direction:e},r=s.getAttribute("listIndent"),o=[...new H.TreeWalker(n)].filter((t=>t.item.is("element"))).map((t=>t.item));for(const t of o){if(!t.is("element","listItem"))break;if(t.getAttribute("listIndent")r)){if(t.getAttribute("listType")!==s.getAttribute("listType"))break;if(t.getAttribute("listStyle")!==s.getAttribute("listStyle"))break;if(t.getAttribute("listReversed")!==s.getAttribute("listReversed"))break;if(t.getAttribute("listStart")!==s.getAttribute("listStart"))break;"backward"===e?i.unshift(t):i.push(t)}}return i}function ot(t){let e=[...t.document.selection.getSelectedBlocks()].filter((t=>t.is("element","listItem"))).map((e=>{const i=t.change((t=>t.createPositionAt(e,0)));return[...rt(i,"backward"),...rt(i,"forward")]})).flat();return e=[...new Set(e)],e}const lt=["disc","circle","square"],at=["decimal","decimal-leading-zero","lower-roman","upper-roman","lower-latin","upper-latin"];function ct(){const t=!this.isEmpty&&("ul"==this.getChild(0).name||"ol"==this.getChild(0).name);return this.isEmpty||t?0:H.getFillerOffset.call(this)}const dt='',ut='';class mt extends t.Plugin{static get pluginName(){return"ListUI"}init(){const t=this.editor.t;st(this.editor,"numberedList",t("Numbered List"),dt),st(this.editor,"bulletedList",t("Bulleted List"),ut)}}class pt extends t.Plugin{static get requires(){return[G,mt]}static get pluginName(){return"DocumentList"}}class ht extends t.Command{refresh(){const t=this._getValue();this.value=t,this.isEnabled=null!=t}execute(t={}){const e=this.editor.model,i=e.document;let s=Array.from(i.selection.getSelectedBlocks()).filter((t=>d(t)&&"numbered"==t.getAttribute("listType")));s=g(s),e.change((e=>{for(const i of s)e.setAttribute("listStart",t.startIndex||1,i)}))}_getValue(){const t=this.editor.model.document,e=(0,r.first)(t.selection.getSelectedBlocks());return e&&d(e)&&"numbered"==e.getAttribute("listType")?e.getAttribute("listStart"):null}}const ft={},bt={},gt={},vt=[{listStyle:"disc",typeAttribute:"disc",listType:"bulleted"},{listStyle:"circle",typeAttribute:"circle",listType:"bulleted"},{listStyle:"square",typeAttribute:"square",listType:"bulleted"},{listStyle:"decimal",typeAttribute:"1",listType:"numbered"},{listStyle:"decimal-leading-zero",typeAttribute:null,listType:"numbered"},{listStyle:"lower-roman",typeAttribute:"i",listType:"numbered"},{listStyle:"upper-roman",typeAttribute:"I",listType:"numbered"},{listStyle:"lower-alpha",typeAttribute:"a",listType:"numbered"},{listStyle:"upper-alpha",typeAttribute:"A",listType:"numbered"},{listStyle:"lower-latin",typeAttribute:"a",listType:"numbered"},{listStyle:"upper-latin",typeAttribute:"A",listType:"numbered"}];for(const{listStyle:t,typeAttribute:e,listType:i}of vt)ft[t]=i,bt[t]=e,e&&(gt[e]=t);function yt(t){return ft[t]||null}function wt(t){return bt[t]||null}class At extends t.Command{constructor(t,e,i){super(t),this._defaultType=e,this._supportedTypes=i}refresh(){this.value=this._getValue(),this.isEnabled=this._checkEnabled()}execute(t={}){const e=this.editor.model,i=e.document;e.change((e=>{this._tryToConvertItemsToList(t);let s=Array.from(i.selection.getSelectedBlocks()).filter((t=>t.hasAttribute("listType")));if(s.length){s=g(s);for(const i of s)e.setAttribute("listStyle",t.type||this._defaultType,i)}}))}isStyleTypeSupported(t){return!this._supportedTypes||this._supportedTypes.includes(t)}_getValue(){const t=(0,r.first)(this.editor.model.document.selection.getSelectedBlocks());return d(t)?t.getAttribute("listStyle"):null}_checkEnabled(){const t=this.editor,e=t.commands.get("numberedList"),i=t.commands.get("bulletedList");return e.isEnabled||i.isEnabled}_tryToConvertItemsToList(t){if(!t.type)return;const e=yt(t.type);if(!e)return;const i=this.editor,s=e+"List";i.commands.get(s).value||i.execute(s)}}class It extends t.Command{refresh(){const t=this._getValue();this.value=t,this.isEnabled=null!=t}execute(t={}){const e=this.editor.model,i=e.document;let s=Array.from(i.selection.getSelectedBlocks()).filter((t=>d(t)&&"numbered"==t.getAttribute("listType")));s=g(s),e.change((e=>{for(const i of s)e.setAttribute("listReversed",!!t.reversed,i)}))}_getValue(){const t=this.editor.model.document,e=(0,r.first)(t.selection.getSelectedBlocks());return d(e)&&"numbered"==e.getAttribute("listType")?e.getAttribute("listReversed"):null}}function kt(t){return(e,i,s)=>{const{writer:n,schema:r,consumable:o}=s;if(!1===o.test(i.viewItem,t.viewConsumables))return;i.modelRange||Object.assign(i,s.convertChildren(i.viewItem,i.modelCursor));let l=!1;for(const e of i.modelRange.getItems({shallow:!0}))r.checkAttribute(e,t.attributeName)&&t.appliesToListItem(e)&&(e.hasAttribute(t.attributeName)||(n.setAttribute(t.attributeName,t.getAttributeOnUpcast(i.viewItem),e),l=!0));l&&o.consume(i.viewItem,t.viewConsumables)}}const xt="default";class Tt extends t.Plugin{static get requires(){return[G]}static get pluginName(){return"DocumentListPropertiesEditing"}constructor(t){super(t),t.config.define("list",{properties:{styles:!0,startIndex:!1,reversed:!1}})}init(){const t=this.editor,e=t.model,i=t.plugins.get(G),s=function(t){const e=[];if(t.styles){const i="object"==typeof t.styles&&t.styles.useAttribute;e.push({attributeName:"listStyle",defaultValue:xt,viewConsumables:{styles:"list-style-type"},addCommand(t){let e=vt.map((t=>t.listStyle));i&&(e=e.filter((t=>!!wt(t)))),t.commands.add("listStyle",new At(t,xt,e))},appliesToListItem:()=>!0,hasValidAttribute(t){if(!t.hasAttribute("listStyle"))return!1;const e=t.getAttribute("listStyle");return e==xt||yt(e)==t.getAttribute("listType")},setAttributeOnDowncast(t,e,s){if(e&&e!==xt){if(!i)return void t.setStyle("list-style-type",e,s);{const i=wt(e);if(i)return void t.setAttribute("type",i,s)}}t.removeStyle("list-style-type",s),t.removeAttribute("type",s)},getAttributeOnUpcast(t){const e=t.getStyle("list-style-type");if(e)return e;const i=t.getAttribute("type");return i?gt[i]||null:xt}})}t.reversed&&e.push({attributeName:"listReversed",defaultValue:!1,viewConsumables:{attributes:"reversed"},addCommand(t){t.commands.add("listReversed",new It(t))},appliesToListItem:t=>"numbered"==t.getAttribute("listType"),hasValidAttribute(t){return this.appliesToListItem(t)==t.hasAttribute("listReversed")},setAttributeOnDowncast(t,e,i){e?t.setAttribute("reversed","reversed",i):t.removeAttribute("reversed",i)},getAttributeOnUpcast:t=>t.hasAttribute("reversed")});t.startIndex&&e.push({attributeName:"listStart",defaultValue:1,viewConsumables:{attributes:"start"},addCommand(t){t.commands.add("listStart",new ht(t))},appliesToListItem:t=>"numbered"==t.getAttribute("listType"),hasValidAttribute(t){return this.appliesToListItem(t)==t.hasAttribute("listStart")},setAttributeOnDowncast(t,e,i){e&&e>1?t.setAttribute("start",e,i):t.removeAttribute("start",i)},getAttributeOnUpcast:t=>t.getAttribute("start")||1});return e}(t.config.get("list.properties"));for(const n of s)n.addCommand(t),e.schema.extend("$container",{allowAttributes:n.attributeName}),e.schema.extend("$block",{allowAttributes:n.attributeName}),e.schema.extend("$blockObject",{allowAttributes:n.attributeName}),i.registerDowncastStrategy({scope:"list",attributeName:n.attributeName,setAttributeOnDowncast(t,e,i){n.setAttributeOnDowncast(t,e,i)}});t.conversion.for("upcast").add((t=>{for(const e of s)t.on("element:ol",kt(e)),t.on("element:ul",kt(e))})),i.on("checkAttributes:list",((t,{viewElement:e,modelAttributes:i})=>{for(const n of s)n.getAttributeOnUpcast(e)!=i[n.attributeName]&&(t.return=!0,t.stop())})),this.listenTo(t.commands.get("indentList"),"afterExecute",((t,i)=>{e.change((t=>{for(const e of i)for(const i of s)i.appliesToListItem(e)&&t.setAttribute(i.attributeName,i.defaultValue,e)}))})),i.on("postFixer",((t,{listNodes:e,writer:i})=>{for(const{node:n}of e)for(const e of s)e.hasValidAttribute(n)||(e.appliesToListItem(n)?i.setAttribute(e.attributeName,e.defaultValue,n):i.removeAttribute(e.attributeName,n),t.return=!0)})),i.on("postFixer",((t,{listNodes:e,writer:i})=>{const n=[];for(const{node:r,previous:o}of e){if(!o)continue;const e=r.getAttribute("listIndent"),l=o.getAttribute("listIndent");let a=null;if(e>l?n[l]=o:e'}),t.extendTemplate({attributes:{"aria-expanded":e.to("isOn",(t=>String(t)))}}),t.bind("label").to(this),t.bind("isOn").to(this,"isCollapsed",(t=>!t)),t.on("execute",(()=>{this.isCollapsed=!this.isCollapsed})),t}}var Vt=i(543),Lt={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};K()(Vt.Z,Lt);Vt.Z.locals;class Et extends J.View{constructor(t,{enabledProperties:e,styleButtonViews:i,styleGridAriaLabel:s}){super(t);const n=["ck","ck-list-properties"];this.children=this.createCollection(),this.stylesView=null,this.additionalPropertiesCollapsibleView=null,this.startIndexFieldView=null,this.reversedSwitchButtonView=null,this.focusTracker=new r.FocusTracker,this.keystrokes=new r.KeystrokeHandler,this.focusables=new J.ViewCollection,this.focusCycler=new J.FocusCycler({focusables:this.focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),e.styles?(this.stylesView=this._createStylesView(i,s),this.children.add(this.stylesView)):n.push("ck-list-properties_without-styles"),(e.startIndex||e.reversed)&&(this._addNumberedListPropertyViews(e,i),n.push("ck-list-properties_with-numbered-properties")),this.setTemplate({tag:"div",attributes:{class:n},children:this.children})}render(){if(super.render(),this.stylesView){this.focusables.add(this.stylesView),this.focusTracker.add(this.stylesView.element),(this.startIndexFieldView||this.reversedSwitchButtonView)&&(this.focusables.add(this.children.last.buttonView),this.focusTracker.add(this.children.last.buttonView.element));for(const t of this.stylesView.children)this.stylesView.focusTracker.add(t.element);(0,J.addKeyboardHandlingForGrid)({keystrokeHandler:this.stylesView.keystrokes,focusTracker:this.stylesView.focusTracker,gridItems:this.stylesView.children,numberOfColumns:()=>r.global.window.getComputedStyle(this.stylesView.element).getPropertyValue("grid-template-columns").split(" ").length})}if(this.startIndexFieldView){this.focusables.add(this.startIndexFieldView),this.focusTracker.add(this.startIndexFieldView.element),this.listenTo(this.startIndexFieldView.element,"selectstart",((t,e)=>{e.stopPropagation()}),{priority:"high"});const t=t=>t.stopPropagation();this.keystrokes.set("arrowright",t),this.keystrokes.set("arrowleft",t),this.keystrokes.set("arrowup",t),this.keystrokes.set("arrowdown",t)}this.reversedSwitchButtonView&&(this.focusables.add(this.reversedSwitchButtonView),this.focusTracker.add(this.reversedSwitchButtonView.element)),this.keystrokes.listenTo(this.element)}focus(){this.focusCycler.focusFirst()}focusLast(){this.focusCycler.focusLast()}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}_createStylesView(t,e){const i=new J.View(this.locale);return i.children=i.createCollection(this.locale),i.children.addMany(t),i.setTemplate({tag:"div",attributes:{"aria-label":e,class:["ck","ck-list-styles-list"]},children:i.children}),i.children.delegate("execute").to(this),i.focus=function(){this.children.first.focus()},i.focusTracker=new r.FocusTracker,i.keystrokes=new r.KeystrokeHandler,i.render(),i.keystrokes.listenTo(i.element),i}_addNumberedListPropertyViews(t){const e=this.locale.t,i=[];t.startIndex&&(this.startIndexFieldView=this._createStartIndexField(),i.push(this.startIndexFieldView)),t.reversed&&(this.reversedSwitchButtonView=this._createReversedSwitchButton(),i.push(this.reversedSwitchButtonView)),t.styles?(this.additionalPropertiesCollapsibleView=new Ct(this.locale,i),this.additionalPropertiesCollapsibleView.set({label:e("List properties"),isCollapsed:!0}),this.additionalPropertiesCollapsibleView.buttonView.bind("isEnabled").toMany(i,"isEnabled",((...t)=>t.some((t=>t)))),this.additionalPropertiesCollapsibleView.buttonView.on("change:isEnabled",((t,e,i)=>{i||(this.additionalPropertiesCollapsibleView.isCollapsed=!0)})),this.children.add(this.additionalPropertiesCollapsibleView)):this.children.addMany(i)}_createStartIndexField(){const t=this.locale.t,e=new J.LabeledFieldView(this.locale,J.createLabeledInputNumber);return e.set({label:t("Start at"),class:"ck-numbered-list-properties__start-index"}),e.fieldView.set({min:1,step:1,value:1,inputMode:"numeric"}),e.fieldView.on("input",(()=>{const i=e.fieldView.element,s=i.valueAsNumber;Number.isNaN(s)||(i.checkValidity()?this.fire("listStart",{startIndex:s}):e.errorText=t("Start index must be greater than 0."))})),e}_createReversedSwitchButton(){const t=this.locale.t,e=new J.SwitchButtonView(this.locale);return e.set({withText:!0,label:t("Reversed order"),class:"ck-numbered-list-properties__reversed-order"}),e.delegate("execute").to(this,"listReversed"),e}}var Pt=i(657),zt={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};K()(Pt.Z,zt);Pt.Z.locals;class Bt extends t.Plugin{static get pluginName(){return"ListPropertiesUI"}init(){const t=this.editor,e=t.locale.t,i=t.config.get("list.properties");i.styles&&t.ui.componentFactory.add("bulletedList",Nt({editor:t,parentCommandName:"bulletedList",buttonLabel:e("Bulleted List"),buttonIcon:ut,styleGridAriaLabel:e("Bulleted list styles toolbar"),styleDefinitions:[{label:e("Toggle the disc list style"),tooltip:e("Disc"),type:"disc",icon:''},{label:e("Toggle the circle list style"),tooltip:e("Circle"),type:"circle",icon:''},{label:e("Toggle the square list style"),tooltip:e("Square"),type:"square",icon:''}]})),(i.styles||i.startIndex||i.reversed)&&t.ui.componentFactory.add("numberedList",Nt({editor:t,parentCommandName:"numberedList",buttonLabel:e("Numbered List"),buttonIcon:dt,styleGridAriaLabel:e("Numbered list styles toolbar"),styleDefinitions:[{label:e("Toggle the decimal list style"),tooltip:e("Decimal"),type:"decimal",icon:''},{label:e("Toggle the decimal with leading zero list style"),tooltip:e("Decimal with leading zero"),type:"decimal-leading-zero",icon:''},{label:e("Toggle the lower–roman list style"),tooltip:e("Lower–roman"),type:"lower-roman",icon:''},{label:e("Toggle the upper–roman list style"),tooltip:e("Upper-roman"),type:"upper-roman",icon:''},{label:e("Toggle the lower–latin list style"),tooltip:e("Lower-latin"),type:"lower-latin",icon:''},{label:e("Toggle the upper–latin list style"),tooltip:e("Upper-latin"),type:"upper-latin",icon:''}]}))}}function Nt({editor:t,parentCommandName:e,buttonLabel:i,buttonIcon:s,styleGridAriaLabel:n,styleDefinitions:r}){const o=t.commands.get(e);return l=>{const a=(0,J.createDropdown)(l,J.SplitButtonView),c=a.buttonView;a.bind("isEnabled").to(o),a.class="ck-list-styles-dropdown",c.on("execute",(()=>{t.execute(e),t.editing.view.focus()})),c.set({label:i,icon:s,tooltip:!0,isToggleable:!0}),c.bind("isOn").to(o,"value",(t=>!!t));const d=function({editor:t,dropdownView:e,parentCommandName:i,styleDefinitions:s,styleGridAriaLabel:n}){const r=t.locale,o=t.config.get("list.properties");let l;"numberedList"!=i&&(o.startIndex=!1,o.reversed=!1);if(o.styles){const e=t.commands.get("listStyle"),n=function({editor:t,listStyleCommand:e,parentCommandName:i}){const s=t.locale,n=t.commands.get(i);return({label:i,type:r,icon:o,tooltip:l})=>{const a=new J.ButtonView(s);return a.set({label:i,icon:o,tooltip:l}),e.on("change:value",(()=>{a.isOn=e.value===r})),a.on("execute",(()=>{n.value?e.value!==r?t.execute("listStyle",{type:r}):t.execute("listStyle",{type:e._defaultType}):t.model.change((()=>{t.execute("listStyle",{type:r})}))})),a}}({editor:t,parentCommandName:i,listStyleCommand:e}),r="function"==typeof e.isStyleTypeSupported?t=>e.isStyleTypeSupported(t.type):()=>!0;l=s.filter(r).map(n)}const a=new Et(r,{styleGridAriaLabel:n,enabledProperties:o,styleButtonViews:l});o.styles&&(0,J.focusChildOnDropdownOpen)(e,(()=>a.stylesView.children.find((t=>t.isOn))));if(o.startIndex){const e=t.commands.get("listStart");a.startIndexFieldView.bind("isEnabled").to(e),a.startIndexFieldView.fieldView.bind("value").to(e),a.on("listStart",((e,i)=>t.execute("listStart",i)))}if(o.reversed){const e=t.commands.get("listReversed");a.reversedSwitchButtonView.bind("isEnabled").to(e),a.reversedSwitchButtonView.bind("isOn").to(e,"value"),a.on("listReversed",(()=>{const i=e.value;t.execute("listReversed",{reversed:!i})}))}return a.delegate("execute").to(e),a}({editor:t,dropdownView:a,parentCommandName:e,styleGridAriaLabel:n,styleDefinitions:r});return a.panelView.children.add(d),a.on("execute",(()=>{t.editing.view.focus()})),a}}class Mt extends t.Plugin{static get requires(){return[Tt,Bt]}static get pluginName(){return"DocumentListProperties"}}class Rt extends t.Command{constructor(t,e){super(t),this.type=e}refresh(){this.value=this._getValue(),this.isEnabled=this._checkEnabled()}execute(t={}){const e=this.editor.model,i=e.document,s=Array.from(i.selection.getSelectedBlocks()).filter((t=>Ht(t,e.schema))),n=void 0!==t.forceValue?!t.forceValue:this.value;e.change((t=>{if(n){let e=s[s.length-1].nextSibling,i=Number.POSITIVE_INFINITY,n=[];for(;e&&"listItem"==e.name&&0!==e.getAttribute("listIndent");){const t=e.getAttribute("listIndent");t=i;)r>n.getAttribute("listIndent")&&(r=n.getAttribute("listIndent")),n.getAttribute("listIndent")==r&&t[e?"unshift":"push"](n),n=n[e?"previousSibling":"nextSibling"]}}function Ht(t,e){return e.checkChild(t.parent,"listItem")&&!e.isObject(t)}class Ft extends t.Command{constructor(t,e){super(t),this._indentBy="forward"==e?1:-1}refresh(){this.isEnabled=this._checkEnabled()}execute(){const t=this.editor.model,e=t.document;let i=Array.from(e.selection.getSelectedBlocks());t.change((t=>{const e=i[i.length-1];let s=e.nextSibling;for(;s&&"listItem"==s.name&&s.getAttribute("listIndent")>e.getAttribute("listIndent");)i.push(s),s=s.nextSibling;this._indentBy<0&&(i=i.reverse());for(const e of i){const i=e.getAttribute("listIndent")+this._indentBy;i<0?t.rename(e,"paragraph"):t.setAttribute("listIndent",i,e)}this.fire("_executeCleanup",i)}))}_checkEnabled(){const t=(0,r.first)(this.editor.model.document.selection.getSelectedBlocks());if(!t||!t.is("element","listItem"))return!1;if(this._indentBy>0){const e=t.getAttribute("listIndent"),i=t.getAttribute("listType");let s=t.previousSibling;for(;s&&s.is("element","listItem")&&s.getAttribute("listIndent")>=e;){if(s.getAttribute("listIndent")==e)return s.getAttribute("listType")==i;s=s.previousSibling}return!1}return!0}}function Dt(t){return(e,i,s)=>{const n=s.consumable;if(!n.test(i.item,"insert")||!n.test(i.item,"attribute:listType")||!n.test(i.item,"attribute:listIndent"))return;n.consume(i.item,"insert"),n.consume(i.item,"attribute:listType"),n.consume(i.item,"attribute:listIndent");const r=i.item;X(r,Q(r,s),s,t)}}function jt(t,e,i){if(!i.consumable.test(e.item,t.name))return;const s=i.mapper.toViewElement(e.item),n=i.writer;n.breakContainer(n.createPositionBefore(s)),n.breakContainer(n.createPositionAfter(s));const r=s.parent,o="numbered"==e.attributeNewValue?"ol":"ul";n.rename(o,r)}function Ut(t,e,i){i.consumable.consume(e.item,t.name);const s=i.mapper.toViewElement(e.item).parent,n=i.writer;tt(n,s,s.nextSibling),tt(n,s.previousSibling,s)}function qt(t,e,i){if(i.consumable.test(e.item,t.name)&&"listItem"!=e.item.name){let t=i.mapper.toViewPosition(e.range.start);const s=i.writer,n=[];for(;("ul"==t.parent.name||"ol"==t.parent.name)&&(t=s.breakContainer(t),"li"==t.parent.name);){const e=t,i=s.createPositionAt(t.parent,"end");if(!e.isEqual(i)){const t=s.remove(s.createRange(e,i));n.push(t)}t=s.createPositionAfter(t.parent)}if(n.length>0){for(let e=0;e0){const e=tt(s,i,i.nextSibling);e&&e.parent==i&&t.offset--}}tt(s,t.nodeBefore,t.nodeAfter)}}}function Kt(t,e,i){const s=i.mapper.toViewPosition(e.position),n=s.nodeBefore,r=s.nodeAfter;tt(i.writer,n,r)}function Zt(t,e,i){if(i.consumable.consume(e.viewItem,{name:!0})){const t=i.writer,s=t.createElement("listItem"),n=function(t){let e=0,i=t.parent;for(;i;){if(i.is("element","li"))e++;else{const t=i.previousSibling;t&&t.is("element","li")&&e++}i=i.parent}return e}(e.viewItem);t.setAttribute("listIndent",n,s);const r=e.viewItem.parent&&"ol"==e.viewItem.parent.name?"numbered":"bulleted";if(t.setAttribute("listType",r,s),!i.safeInsert(s,e.modelCursor))return;const o=function(t,e,i){const{writer:s,schema:n}=i;let r=s.createPositionAfter(t);for(const o of e)if("ul"==o.name||"ol"==o.name)r=i.convertItem(o,r).modelCursor;else{const e=i.convertItem(o,s.createPositionAt(t,"end")),l=e.modelRange.start.nodeAfter;l&&l.is("element")&&!n.checkChild(t,l.name)&&(t=e.modelCursor.parent.is("element","listItem")?e.modelCursor.parent:Jt(e.modelCursor),r=s.createPositionAfter(t))}return r}(s,e.viewItem.getChildren(),i);e.modelRange=t.createRange(e.modelCursor,o),i.updateConversionResult(s,e)}}function $t(t,e,i){if(i.consumable.test(e.viewItem,{name:!0})){const t=Array.from(e.viewItem.getChildren());for(const e of t){!(e.is("element","li")||Xt(e))&&e._remove()}}}function Wt(t,e,i){if(i.consumable.test(e.viewItem,{name:!0})){if(0===e.viewItem.childCount)return;const t=[...e.viewItem.getChildren()];let i=!1;for(const e of t)i&&!Xt(e)&&e._remove(),Xt(e)&&(i=!0)}}function Gt(t){return(e,i)=>{if(i.isPhantom)return;const s=i.modelPosition.nodeBefore;if(s&&s.is("element","listItem")){const e=i.mapper.toViewElement(s),n=e.getAncestors().find(Xt),r=t.createPositionAt(e,0).getWalker();for(const t of r){if("elementStart"==t.type&&t.item.is("element","li")){i.viewPosition=t.previousPosition;break}if("elementEnd"==t.type&&t.item==n){i.viewPosition=t.nextPosition;break}}}}}function Yt(t,[e,i]){let s,n=e.is("documentFragment")?e.getChild(0):e;if(s=i?this.createSelection(i):this.document.selection,n&&n.is("element","listItem")){const t=s.getFirstPosition();let e=null;if(t.parent.is("element","listItem")?e=t.parent:t.nodeBefore&&t.nodeBefore.is("element","listItem")&&(e=t.nodeBefore),e){const t=e.getAttribute("listIndent");if(t>0)for(;n&&n.is("element","listItem");)n._setAttribute("listIndent",n.getAttribute("listIndent")+t),n=n.nextSibling}}}function Jt(t){const e=new H.TreeWalker({startPosition:t});let i;do{i=e.next()}while(!i.value.item.is("element","listItem"));return i.value.item}function Qt(t,e,i,s,n,r){const o=it(e.nodeBefore,{sameIndent:!0,smallerIndent:!0,listIndent:t,foo:"b"}),l=n.mapper,a=n.writer,c=o?o.getAttribute("listIndent"):null;let d;if(o)if(c==t){const t=l.toViewElement(o).parent;d=a.createPositionAfter(t)}else{const t=r.createPositionAt(o,"end");d=l.toViewPosition(t)}else d=i;d=et(d);for(const t of[...s.getChildren()])Xt(t)&&(d=a.move(a.createRangeOn(t),d).end,tt(a,t,t.nextSibling),tt(a,t.previousSibling,t))}function Xt(t){return t.is("element","ol")||t.is("element","ul")}class te extends t.Plugin{static get pluginName(){return"ListEditing"}static get requires(){return[e.Enter,n.Delete]}init(){const t=this.editor;t.model.schema.register("listItem",{inheritAllFrom:"$block",allowAttributes:["listType","listIndent"]});const e=t.data,i=t.editing;var s;t.model.document.registerPostFixer((e=>function(t,e){const i=t.document.differ.getChanges(),s=new Map;let n=!1;for(const s of i)if("insert"==s.type&&"listItem"==s.name)r(s.position);else if("insert"==s.type&&"listItem"!=s.name){if("$text"!=s.name){const i=s.position.nodeAfter;i.hasAttribute("listIndent")&&(e.removeAttribute("listIndent",i),n=!0),i.hasAttribute("listType")&&(e.removeAttribute("listType",i),n=!0),i.hasAttribute("listStyle")&&(e.removeAttribute("listStyle",i),n=!0),i.hasAttribute("listReversed")&&(e.removeAttribute("listReversed",i),n=!0),i.hasAttribute("listStart")&&(e.removeAttribute("listStart",i),n=!0);for(const e of Array.from(t.createRangeIn(i)).filter((t=>t.item.is("element","listItem"))))r(e.previousPosition)}r(s.position.getShiftedBy(s.length))}else"remove"==s.type&&"listItem"==s.name?r(s.position):("attribute"==s.type&&"listIndent"==s.attributeKey||"attribute"==s.type&&"listType"==s.attributeKey)&&r(s.range.start);for(const t of s.values())o(t),l(t);return n;function r(t){const e=t.nodeBefore;if(e&&e.is("element","listItem")){let t=e;if(s.has(t))return;for(let e=t.previousSibling;e&&e.is("element","listItem");e=t.previousSibling)if(t=e,s.has(t))return;s.set(e,t)}else{const e=t.nodeAfter;e&&e.is("element","listItem")&&s.set(e,e)}}function o(t){let i=0,s=null;for(;t&&t.is("element","listItem");){const r=t.getAttribute("listIndent");if(r>i){let o;null===s?(s=r-i,o=i):(s>r&&(s=r),o=r-s),e.setAttribute("listIndent",o,t),n=!0}else s=null,i=t.getAttribute("listIndent")+1;t=t.nextSibling}}function l(t){let i=[],s=null;for(;t&&t.is("element","listItem");){const r=t.getAttribute("listIndent");if(s&&s.getAttribute("listIndent")>r&&(i=i.slice(0,r+1)),0!=r)if(i[r]){const s=i[r];t.getAttribute("listType")!=s&&(e.setAttribute("listType",s,t),n=!0)}else i[r]=t.getAttribute("listType");s=t,t=t.nextSibling}}}(t.model,e))),i.mapper.registerViewToModelLength("li",ee),e.mapper.registerViewToModelLength("li",ee),i.mapper.on("modelToViewPosition",Gt(i.view)),i.mapper.on("viewToModelPosition",(s=t.model,(t,e)=>{const i=e.viewPosition,n=i.parent,r=e.mapper;if("ul"==n.name||"ol"==n.name){if(i.isAtEnd){const t=r.toModelElement(i.nodeBefore),n=r.getModelLength(i.nodeBefore);e.modelPosition=s.createPositionBefore(t).getShiftedBy(n)}else{const t=r.toModelElement(i.nodeAfter);e.modelPosition=s.createPositionBefore(t)}t.stop()}else if("li"==n.name&&i.nodeBefore&&("ul"==i.nodeBefore.name||"ol"==i.nodeBefore.name)){const o=r.toModelElement(n);let l=1,a=i.nodeBefore;for(;a&&Xt(a);)l+=r.getModelLength(a),a=a.previousSibling;e.modelPosition=s.createPositionBefore(o).getShiftedBy(l),t.stop()}})),e.mapper.on("modelToViewPosition",Gt(i.view)),t.conversion.for("editingDowncast").add((e=>{e.on("insert",qt,{priority:"high"}),e.on("insert:listItem",Dt(t.model)),e.on("attribute:listType:listItem",jt,{priority:"high"}),e.on("attribute:listType:listItem",Ut,{priority:"low"}),e.on("attribute:listIndent:listItem",function(t){return(e,i,s)=>{if(!s.consumable.consume(i.item,"attribute:listIndent"))return;const n=s.mapper.toViewElement(i.item),r=s.writer;r.breakContainer(r.createPositionBefore(n)),r.breakContainer(r.createPositionAfter(n));const o=n.parent,l=o.previousSibling,a=r.createRangeOn(o);r.remove(a),l&&l.nextSibling&&tt(r,l,l.nextSibling),Qt(i.attributeOldValue+1,i.range.start,a.start,n,s,t),X(i.item,n,s,t);for(const t of i.item.getChildren())s.consumable.consume(t,"insert")}}(t.model)),e.on("remove:listItem",function(t){return(e,i,s)=>{const n=s.mapper.toViewPosition(i.position).getLastMatchingPosition((t=>!t.item.is("element","li"))).nodeAfter,r=s.writer;r.breakContainer(r.createPositionBefore(n)),r.breakContainer(r.createPositionAfter(n));const o=n.parent,l=o.previousSibling,a=r.createRangeOn(o),c=r.remove(a);l&&l.nextSibling&&tt(r,l,l.nextSibling),Qt(s.mapper.toModelElement(n).getAttribute("listIndent")+1,i.position,a.start,n,s,t);for(const t of r.createRangeIn(c).getItems())s.mapper.unbindViewElement(t);e.stop()}}(t.model)),e.on("remove",Kt,{priority:"low"})})),t.conversion.for("dataDowncast").add((e=>{e.on("insert",qt,{priority:"high"}),e.on("insert:listItem",Dt(t.model))})),t.conversion.for("upcast").add((t=>{t.on("element:ul",$t,{priority:"high"}),t.on("element:ol",$t,{priority:"high"}),t.on("element:li",Wt,{priority:"high"}),t.on("element:li",Zt)})),t.model.on("insertContent",Yt,{priority:"high"}),t.commands.add("numberedList",new Rt(t,"numbered")),t.commands.add("bulletedList",new Rt(t,"bulleted")),t.commands.add("indentList",new Ft(t,"forward")),t.commands.add("outdentList",new Ft(t,"backward"));const n=i.view.document;this.listenTo(n,"enter",((t,e)=>{const i=this.editor.model.document,s=i.selection.getLastPosition().parent;i.selection.isCollapsed&&"listItem"==s.name&&s.isEmpty&&(this.editor.execute("outdentList"),e.preventDefault(),t.stop())}),{context:"li"}),this.listenTo(n,"delete",((t,e)=>{if("backward"!==e.direction)return;const i=this.editor.model.document.selection;if(!i.isCollapsed)return;const s=i.getFirstPosition();if(!s.isAtStart)return;const n=s.parent;if("listItem"!==n.name)return;n.previousSibling&&"listItem"===n.previousSibling.name||(this.editor.execute("outdentList"),e.preventDefault(),t.stop())}),{context:"li"}),this.listenTo(t.editing.view.document,"tab",((e,i)=>{const s=i.shiftKey?"outdentList":"indentList";this.editor.commands.get(s).isEnabled&&(t.execute(s),i.stopPropagation(),i.preventDefault(),e.stop())}),{context:"li"})}afterInit(){const t=this.editor.commands,e=t.get("indent"),i=t.get("outdent");e&&e.registerChildCommand(t.get("indentList")),i&&i.registerChildCommand(t.get("outdentList"))}}function ee(t){let e=1;for(const i of t.getChildren())if("ul"==i.name||"ol"==i.name)for(const t of i.getChildren())e+=ee(t);return e}class ie extends t.Plugin{static get requires(){return[te,mt]}static get pluginName(){return"List"}}class se extends t.Command{constructor(t,e){super(t),this._defaultType=e}refresh(){this.value=this._getValue(),this.isEnabled=this._checkEnabled()}execute(t={}){this._tryToConvertItemsToList(t);const e=this.editor.model,i=ot(e);i.length&&e.change((e=>{for(const s of i)e.setAttribute("listStyle",t.type||this._defaultType,s)}))}_getValue(){const t=this.editor.model.document.selection.getFirstPosition().parent;return t&&t.is("element","listItem")?t.getAttribute("listStyle"):null}_checkEnabled(){const t=this.editor,e=t.commands.get("numberedList"),i=t.commands.get("bulletedList");return e.isEnabled||i.isEnabled}_tryToConvertItemsToList(t){if(!t.type)return;const e=(i=t.type,lt.includes(i)?"bulleted":at.includes(i)?"numbered":null);var i;if(!e)return;const s=this.editor,n=e+"List";s.commands.get(n).value||s.execute(n)}}class ne extends t.Command{refresh(){const t=this._getValue();this.value=t,this.isEnabled=null!=t}execute(t={}){const e=this.editor.model,i=ot(e).filter((t=>"numbered"==t.getAttribute("listType")));e.change((e=>{for(const s of i)e.setAttribute("listReversed",!!t.reversed,s)}))}_getValue(){const t=this.editor.model.document.selection.getFirstPosition().parent;return t&&t.is("element","listItem")&&"numbered"==t.getAttribute("listType")?t.getAttribute("listReversed"):null}}class re extends t.Command{refresh(){const t=this._getValue();this.value=t,this.isEnabled=null!=t}execute(t={}){const e=this.editor.model,i=ot(e).filter((t=>"numbered"==t.getAttribute("listType")));e.change((e=>{for(const s of i)e.setAttribute("listStart",t.startIndex||1,s)}))}_getValue(){const t=this.editor.model.document.selection.getFirstPosition().parent;return t&&t.is("element","listItem")&&"numbered"==t.getAttribute("listType")?t.getAttribute("listStart"):null}}const oe="default";class le extends t.Plugin{static get requires(){return[te]}static get pluginName(){return"ListPropertiesEditing"}constructor(t){super(t),t.config.define("list",{properties:{styles:!0,startIndex:!1,reversed:!1}})}init(){const t=this.editor,e=t.model,i=function(t){const e=[];t.styles&&e.push({attributeName:"listStyle",defaultValue:oe,addCommand(t){t.commands.add("listStyle",new se(t,oe))},appliesToListItem:()=>!0,setAttributeOnDowncast(t,e,i){e&&e!==oe?t.setStyle("list-style-type",e,i):t.removeStyle("list-style-type",i)},getAttributeOnUpcast:t=>t.getStyle("list-style-type")||oe});t.reversed&&e.push({attributeName:"listReversed",defaultValue:!1,addCommand(t){t.commands.add("listReversed",new ne(t))},appliesToListItem:t=>"numbered"==t.getAttribute("listType"),setAttributeOnDowncast(t,e,i){e?t.setAttribute("reversed","reversed",i):t.removeAttribute("reversed",i)},getAttributeOnUpcast:t=>t.hasAttribute("reversed")});t.startIndex&&e.push({attributeName:"listStart",defaultValue:1,addCommand(t){t.commands.add("listStart",new re(t))},appliesToListItem:t=>"numbered"==t.getAttribute("listType"),setAttributeOnDowncast(t,e,i){1!=e?t.setAttribute("start",e,i):t.removeAttribute("start",i)},getAttributeOnUpcast:t=>t.getAttribute("start")||1});return e}(t.config.get("list.properties"));e.schema.extend("listItem",{allowAttributes:i.map((t=>t.attributeName))});for(const e of i)e.addCommand(t);var s;this.listenTo(t.commands.get("indentList"),"_executeCleanup",function(t,e){return(i,s)=>{const n=s[0],r=n.getAttribute("listIndent"),o=s.filter((t=>t.getAttribute("listIndent")===r));let l=null;n.previousSibling.getAttribute("listIndent")+1!==r&&(l=it(n.previousSibling,{sameIndent:!0,direction:"backward",listIndent:r})),t.model.change((t=>{for(const i of o)for(const s of e)if(s.appliesToListItem(i)){const e=null==l?s.defaultValue:l.getAttribute(s.attributeName);t.setAttribute(s.attributeName,e,i)}}))}}(t,i)),this.listenTo(t.commands.get("outdentList"),"_executeCleanup",function(t,e){return(i,s)=>{if(!(s=s.reverse().filter((t=>t.is("element","listItem")))).length)return;const n=s[0].getAttribute("listIndent"),r=s[0].getAttribute("listType");let o=s[0].previousSibling;if(o.is("element","listItem"))for(;o.getAttribute("listIndent")!==n;)o=o.previousSibling;else o=null;o||(o=s[s.length-1].nextSibling),o&&o.is("element","listItem")&&o.getAttribute("listType")===r&&t.model.change((t=>{const i=s.filter((t=>t.getAttribute("listIndent")===n));for(const s of i)for(const i of e)if(i.appliesToListItem(s)){const e=i.attributeName,n=o.getAttribute(e);t.setAttribute(e,n,s)}}))}}(t,i)),this.listenTo(t.commands.get("bulletedList"),"_executeCleanup",de(t)),this.listenTo(t.commands.get("numberedList"),"_executeCleanup",de(t)),e.document.registerPostFixer(function(t,e){return i=>{let s=!1;const n=ue(t.model.document.differ.getChanges()).filter((t=>"todo"!==t.getAttribute("listType")));if(!n.length)return s;let r=n[n.length-1].nextSibling;if((!r||!r.is("element","listItem"))&&(r=n[0].previousSibling,r)){const t=n[0].getAttribute("listIndent");for(;r.is("element","listItem")&&r.getAttribute("listIndent")!==t&&(r=r.previousSibling,r););}for(const t of e){const e=t.attributeName;for(const o of n)if(t.appliesToListItem(o))if(o.hasAttribute(e)){const n=o.previousSibling;ce(n,o,t.attributeName)&&(i.setAttribute(e,n.getAttribute(e),o),s=!0)}else ae(r,o,t)?i.setAttribute(e,r.getAttribute(e),o):i.setAttribute(e,t.defaultValue,o),s=!0;else i.removeAttribute(e,o)}return s}}(t,i)),t.conversion.for("upcast").add((s=i,t=>{t.on("element:li",((t,e,i)=>{const n=e.viewItem.parent;if(!n)return;const r=e.modelRange.start.nodeAfter||e.modelRange.end.nodeBefore;for(const t of s)if(t.appliesToListItem(r)){const e=t.getAttributeOnUpcast(n);i.writer.setAttribute(t.attributeName,e,r)}}),{priority:"low"})})),t.conversion.for("downcast").add(function(t){return i=>{for(const s of t)i.on(`attribute:${s.attributeName}:listItem`,((t,i,n)=>{const r=n.writer,o=i.item,l=it(o.previousSibling,{sameIndent:!0,listIndent:o.getAttribute("listIndent"),direction:"backward"}),a=n.mapper.toViewElement(o);e(o,l)||r.breakContainer(r.createPositionBefore(a)),s.setAttributeOnDowncast(r,i.attributeNewValue,a.parent)}),{priority:"low"})};function e(t,e){return e&&t.getAttribute("listType")===e.getAttribute("listType")&&t.getAttribute("listIndent")===e.getAttribute("listIndent")&&t.getAttribute("listStyle")===e.getAttribute("listStyle")&&t.getAttribute("listReversed")===e.getAttribute("listReversed")&&t.getAttribute("listStart")===e.getAttribute("listStart")}}(i)),this._mergeListAttributesWhileMergingLists(i)}afterInit(){const t=this.editor;t.commands.get("todoList")&&t.model.document.registerPostFixer(function(t){return e=>{const i=ue(t.model.document.differ.getChanges()).filter((t=>"todo"===t.getAttribute("listType")&&(t.hasAttribute("listStyle")||t.hasAttribute("listReversed")||t.hasAttribute("listStart"))));if(!i.length)return!1;for(const t of i)e.removeAttribute("listStyle",t),e.removeAttribute("listReversed",t),e.removeAttribute("listStart",t);return!0}}(t))}_mergeListAttributesWhileMergingLists(t){const e=this.editor.model;let i;this.listenTo(e,"deleteContent",((t,[e])=>{const s=e.getFirstPosition(),n=e.getLastPosition();if(s.parent===n.parent)return;if(!s.parent.is("element","listItem"))return;const r=n.parent.nextSibling;if(!r||!r.is("element","listItem"))return;const o=it(s.parent,{sameIndent:!0,listIndent:r.getAttribute("listIndent")});o&&o.getAttribute("listType")===r.getAttribute("listType")&&(i=o)}),{priority:"high"}),this.listenTo(e,"deleteContent",(()=>{i&&(e.change((e=>{const s=it(i.nextSibling,{sameIndent:!0,listIndent:i.getAttribute("listIndent"),direction:"forward"});if(!s)return void(i=null);const n=[s,...rt(e.createPositionAt(s,0),"forward")];for(const s of n)for(const n of t)if(n.appliesToListItem(s)){const t=n.attributeName,r=i.getAttribute(t);e.setAttribute(t,r,s)}})),i=null)}),{priority:"low"})}}function ae(t,e,i){if(!t)return!1;const s=t.getAttribute(i.attributeName);return!!s&&(s!=i.defaultValue&&t.getAttribute("listType")===e.getAttribute("listType"))}function ce(t,e,i){if(!t||!t.is("element","listItem"))return!1;if(e.getAttribute("listType")!==t.getAttribute("listType"))return!1;const s=t.getAttribute("listIndent");if(s<1||s!==e.getAttribute("listIndent"))return!1;const n=t.getAttribute(i);return!(!n||n===e.getAttribute(i))}function de(t){return(e,i)=>{i=i.filter((t=>t.is("element","listItem"))),t.model.change((t=>{for(const e of i)t.removeAttribute("listStyle",e)}))}}function ue(t){const e=[];for(const i of t){const t=me(i);t&&t.is("element","listItem")&&e.push(t)}return e}function me(t){return"attribute"===t.type?t.range.start.nodeAfter:"insert"===t.type?t.position.nodeAfter:null}class pe extends t.Plugin{static get requires(){return[le,Bt]}static get pluginName(){return"ListProperties"}}const he="todoListChecked";class fe extends t.Command{constructor(t){super(t),this._selectedElements=[],this.on("execute",(()=>{this.refresh()}),{priority:"highest"})}refresh(){this._selectedElements=this._getSelectedItems(),this.value=this._selectedElements.every((t=>!!t.getAttribute("todoListChecked"))),this.isEnabled=!!this._selectedElements.length}_getSelectedItems(){const t=this.editor.model,e=t.schema,i=t.document.selection.getFirstRange(),s=i.start.parent,n=[];e.checkAttribute(s,he)&&n.push(s);for(const t of i.getItems())e.checkAttribute(t,he)&&!n.includes(t)&&n.push(t);return n}execute(t={}){this.editor.model.change((e=>{for(const i of this._selectedElements){(void 0===t.forceValue?!this.value:t.forceValue)?e.setAttribute(he,!0,i):e.removeAttribute(he,i)}}))}}function be(t,e,i){const s=e.modelCursor,n=s.parent,r=e.viewItem;if("checkbox"!=r.getAttribute("type")||"listItem"!=n.name||!s.isAtStart)return;if(!i.consumable.consume(r,{name:!0}))return;const o=i.writer;o.setAttribute("listType","todo",n),e.viewItem.hasAttribute("checked")&&o.setAttribute("todoListChecked",!0,n),e.modelRange=o.createRange(s)}function ge(t){return(e,i)=>{const s=i.modelPosition,n=s.parent;if(!n.is("element","listItem")||"todo"!=n.getAttribute("listType"))return;const r=ye(i.mapper.toViewElement(n),t);r&&(i.viewPosition=i.mapper.findPositionIn(r,s.offset))}}function ve(t,e,i,s){return e.createUIElement("label",{class:"todo-list__label",contenteditable:!1},(function(e){const n=(0,r.createElement)(document,"input",{type:"checkbox"});i&&n.setAttribute("checked","checked"),n.addEventListener("change",(()=>s(t)));const o=this.toDomElement(e);return o.appendChild(n),o}))}function ye(t,e){const i=e.createRangeIn(t);for(const t of i)if(t.item.is("containerElement","span")&&t.item.hasClass("todo-list__label__description"))return t.item}const we=(0,r.parseKeystroke)("Ctrl+Enter");class Ae extends t.Plugin{static get pluginName(){return"TodoListEditing"}static get requires(){return[te]}init(){const t=this.editor,{editing:e,data:i,model:s}=t;s.schema.extend("listItem",{allowAttributes:["todoListChecked"]}),s.schema.addAttributeCheck(((t,e)=>{const i=t.last;if("todoListChecked"==e&&"listItem"==i.name&&"todo"!=i.getAttribute("listType"))return!1})),t.commands.add("todoList",new Rt(t,"todo"));const n=new fe(t);var o,l;t.commands.add("checkTodoList",n),t.commands.add("todoListCheck",n),i.downcastDispatcher.on("insert:listItem",function(t){return(e,i,s)=>{const n=s.consumable;if(!n.test(i.item,"insert")||!n.test(i.item,"attribute:listType")||!n.test(i.item,"attribute:listIndent"))return;if("todo"!=i.item.getAttribute("listType"))return;const r=i.item;n.consume(r,"insert"),n.consume(r,"attribute:listType"),n.consume(r,"attribute:listIndent"),n.consume(r,"attribute:todoListChecked");const o=s.writer,l=Q(r,s);o.addClass("todo-list",l.parent);const a=o.createContainerElement("label",{class:"todo-list__label"}),c=o.createEmptyElement("input",{type:"checkbox",disabled:"disabled"}),d=o.createContainerElement("span",{class:"todo-list__label__description"});r.getAttribute("todoListChecked")&&o.setAttribute("checked","checked",c),o.insert(o.createPositionAt(l,0),a),o.insert(o.createPositionAt(a,0),c),o.insert(o.createPositionAfter(c),d),X(r,l,s,t)}}(s),{priority:"high"}),i.upcastDispatcher.on("element:input",be,{priority:"high"}),e.downcastDispatcher.on("insert:listItem",function(t,e){return(i,s,n)=>{const r=n.consumable;if(!r.test(s.item,"insert")||!r.test(s.item,"attribute:listType")||!r.test(s.item,"attribute:listIndent"))return;if("todo"!=s.item.getAttribute("listType"))return;const o=s.item;r.consume(o,"insert"),r.consume(o,"attribute:listType"),r.consume(o,"attribute:listIndent"),r.consume(o,"attribute:todoListChecked");const l=n.writer,a=Q(o,n),c=!!o.getAttribute("todoListChecked"),d=ve(o,l,c,e),u=l.createContainerElement("span",{class:"todo-list__label__description"});l.addClass("todo-list",a.parent),l.insert(l.createPositionAt(a,0),d),l.insert(l.createPositionAfter(d),u),X(o,a,n,t)}}(s,(t=>this._handleCheckmarkChange(t))),{priority:"high"}),e.downcastDispatcher.on("attribute:listType:listItem",(o=t=>this._handleCheckmarkChange(t),l=e.view,(t,e,i)=>{if(!i.consumable.consume(e.item,t.name))return;const s=i.mapper.toViewElement(e.item),n=i.writer,r=function(t,e){const i=e.createRangeIn(t);for(const t of i)if(t.item.is("uiElement","label"))return t.item}(s,l);if("todo"==e.attributeNewValue){const t=!!e.item.getAttribute("todoListChecked"),i=ve(e.item,n,t,o),r=n.createContainerElement("span",{class:"todo-list__label__description"}),l=n.createRangeIn(s),a=nt(s),c=et(l.start),d=a?n.createPositionBefore(a):l.end,u=n.createRange(c,d);n.addClass("todo-list",s.parent),n.move(u,n.createPositionAt(r,0)),n.insert(n.createPositionAt(s,0),i),n.insert(n.createPositionAfter(i),r)}else if("todo"==e.attributeOldValue){const t=ye(s,l);n.removeClass("todo-list",s.parent),n.remove(r),n.move(n.createRangeIn(t),n.createPositionBefore(t)),n.remove(t)}})),e.downcastDispatcher.on("attribute:todoListChecked:listItem",function(t){return(e,i,s)=>{if("todo"!=i.item.getAttribute("listType"))return;if(!s.consumable.consume(i.item,"attribute:todoListChecked"))return;const{mapper:n,writer:r}=s,o=!!i.item.getAttribute("todoListChecked"),l=n.toViewElement(i.item).getChild(0),a=ve(i.item,r,o,t);r.insert(r.createPositionAfter(l),a),r.remove(l)}}((t=>this._handleCheckmarkChange(t)))),e.mapper.on("modelToViewPosition",ge(e.view)),i.mapper.on("modelToViewPosition",ge(e.view)),this.listenTo(e.view.document,"arrowKey",function(t,e){return(i,s)=>{if("left"!=(0,r.getLocalizedArrowKeyCodeDirection)(s.keyCode,e.contentLanguageDirection))return;const n=t.schema,o=t.document.selection;if(!o.isCollapsed)return;const l=o.getFirstPosition(),a=l.parent;if("listItem"===a.name&&"todo"==a.getAttribute("listType")&&l.isAtStart){const e=n.getNearestSelectionRange(t.createPositionBefore(a),"backward");e&&t.change((t=>t.setSelection(e))),s.preventDefault(),s.stopPropagation(),i.stop()}}}(s,t.locale),{context:"li"}),this.listenTo(e.view.document,"keydown",((e,i)=>{(0,r.getCode)(i)===we&&(t.execute("checkTodoList"),e.stop())}),{priority:"high"});const a=new Set;this.listenTo(s,"applyOperation",((t,e)=>{const i=e[0];if("rename"==i.type&&"listItem"==i.oldName){const t=i.position.nodeAfter;t.hasAttribute("todoListChecked")&&a.add(t)}else if("changeAttribute"==i.type&&"listType"==i.key&&"todo"===i.oldValue)for(const t of i.range.getItems())t.hasAttribute("todoListChecked")&&"todo"!==t.getAttribute("listType")&&a.add(t)})),s.document.registerPostFixer((t=>{let e=!1;for(const i of a)t.removeAttribute("todoListChecked",i),e=!0;return a.clear(),e}))}_handleCheckmarkChange(t){const e=this.editor,i=e.model,s=Array.from(i.document.selection.getRanges());i.change((i=>{i.setSelection(t,"end"),e.execute("checkTodoList"),i.setSelection(s)}))}}class Ie extends t.Plugin{static get pluginName(){return"TodoListUI"}init(){const t=this.editor.t;st(this.editor,"todoList",t("To-do List"),'')}}var ke=i(250),xe={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};K()(ke.Z,xe);ke.Z.locals;class Te extends t.Plugin{static get requires(){return[Ae,Ie]}static get pluginName(){return"TodoList"}}})(),(window.CKEditor5=window.CKEditor5||{}).list=s})(); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/ar.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/ar.js index 38c3ce926..2b53bb07e 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/ar.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/ar.js @@ -1 +1 @@ -!function(e){const t=e.ar=e.ar||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"قائمة نقطية","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","List properties":"","Lower-latin":"","Lower–roman":"","Numbered List":"قائمة رقمية","Numbered list styles toolbar":"","Reversed order":"",Square:"","Start at":"","Start index must be greater than 0.":"","To-do List":"","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":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const t=e.ar=e.ar||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"قائمة نقطية","Bulleted list styles toolbar":"شريط أدوات أنماط قوائم التعداد النقطي",Circle:"دائرة",Decimal:"رقم عشري","Decimal with leading zero":"رقم عشري مع البدء بصفر ",Disc:"قرص","List properties":"خصائص القائمة","Lower-latin":"حرف لاتيني صغير","Lower–roman":"رقم روماني صغير","Numbered List":"قائمة رقمية","Numbered list styles toolbar":"شريط أدوات أنماط القوائم المرقمة","Reversed order":"عكس اتجاه الترتيب",Square:"مربع","Start at":"البدء من","Start index must be greater than 0.":"يجب أن تكون قيمة البداية في الفهرس أكبر من 0.","To-do List":"قائمة المهام","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":"تبديل نمط قائمة الأرقام الرومانية الكبيرة","Upper-latin":"حرف لاتيني كبير","Upper-roman":"رقم روماني كبير"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/bg.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/bg.js index 58dacc88c..e288c95fa 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/bg.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/bg.js @@ -1 +1 @@ -!function(e){const t=e.bg=e.bg||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"Водещи символи","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","List properties":"","Lower-latin":"","Lower–roman":"","Numbered List":"Номериране","Numbered list styles toolbar":"","Reversed order":"",Square:"","Start at":"","Start index must be greater than 0.":"","To-do List":"","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":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const t=e.bg=e.bg||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"Водещи символи","Bulleted list styles toolbar":"Лента със стилове за подточки",Circle:"Кръг",Decimal:"Десетичен","Decimal with leading zero":"Десетичен с водеща нула",Disc:"Диск","List properties":"Свойства на списъка","Lower-latin":"Долен-латински","Lower–roman":"Долен-римски","Numbered List":"Номериране","Numbered list styles toolbar":"Лента със стилове за номерация","Reversed order":"Обърнат ред",Square:"Квадрат","Start at":"Започни с","Start index must be greater than 0.":"Стартовия индекс трябва да е по-голям от 0.","To-do List":"Списък със задачи","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":"Превключи между стиловете на горен-римски списък","Upper-latin":"Горен-латински","Upper-roman":"Горен-римски"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/bn.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/bn.js new file mode 100644 index 000000000..ba9afe9e2 --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/bn.js @@ -0,0 +1 @@ +!function(e){const t=e.bn=e.bn||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"বুলেটযুক্ত তালিকা","Bulleted list styles toolbar":"বুলেটেড তালিকা স্টাইল টুলবার",Circle:"বৃত্ত",Decimal:"দশমিক","Decimal with leading zero":"অগ্রণী 0 সহ দশমিক ",Disc:"ডিস্ক","List properties":"বৈশিষ্ট্য তালিকাভুক্ত করুন","Lower-latin":"নিম্ন-ল্যাটিন","Lower–roman":"নিম্ন-রোমান","Numbered List":"সংখ্যাযুক্ত তালিকা","Numbered list styles toolbar":"সংখ্যাযুক্ত তালিকা স্টাইল টুলবার","Reversed order":"উল্টো ক্রম",Square:"বর্গক্ষেত্র","Start at":"শুরু হবে","Start index must be greater than 0.":"স্টার্ট ইনডেক্স অবশ্যই 0-এর বেশি হতে হবে।","To-do List":"তালিকা তৈরি","Toggle the circle list style":"বৃত্ত তালিকা স্টাইল টগল করুন","Toggle the decimal list style":"দশমিক তালিকা স্টাইল টগল করুন","Toggle the decimal with leading zero list style":"অগ্রণী 0 তালিকা স্টাইল সহ দশমিক টগল করুন","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":"উপরের-রোমান তালিকা স্টাইল টগল করুন","Upper-latin":"উচ্চ-ল্যাটিন","Upper-roman":"উচ্চ-রোমান"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/ca.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/ca.js new file mode 100644 index 000000000..6929a0bea --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/ca.js @@ -0,0 +1 @@ +!function(e){const l=e.ca=e.ca||{};l.dictionary=Object.assign(l.dictionary||{},{"Bulleted List":"Llista amb vinyetes","Bulleted list styles toolbar":"Barra d'eines d'estils de llista amb vinyetes",Circle:"Cercle",Decimal:"Decimal","Decimal with leading zero":"Decimal amb un zero al davant",Disc:"Disc","List properties":"Llista de propietats","Lower-latin":"Lletres llatines en minúscules","Lower–roman":"Numerals romans en minúscules","Numbered List":"Llista numerada","Numbered list styles toolbar":"Barra d'eines d'estils de llista numerada","Reversed order":"Ordre invertit",Square:"Quadrat","Start at":"Començar a","Start index must be greater than 0.":"L'índex inicial ha de ser superior a 0.","To-do List":"Llista de tasques pendents","Toggle the circle list style":"Canviar l'estil de llista de cercles","Toggle the decimal list style":"Canviar l'estil de llista decimal","Toggle the decimal with leading zero list style":"Commutar l'estil de la llista de decimals amb un zero al davant","Toggle the disc list style":"Canviar l'estil de llista de discs","Toggle the lower–latin list style":"Canviar l'estil de la llista a lletres llatines en minúscules","Toggle the lower–roman list style":"Canviar l'estil de la llista a numerals romans en minúscules","Toggle the square list style":"Canviar l'estil de llista quadrada","Toggle the upper–latin list style":"Canviar l'estil de la llista a lletres llatines en majúscules","Toggle the upper–roman list style":"Canviar l'estil de la llista a numerals romans en majúscules","Upper-latin":"Lletres llatines en majúscules","Upper-roman":"Numerals romans en majúscules"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/da.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/da.js index 247070ce8..cf615ed73 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/da.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/da.js @@ -1 +1 @@ -!function(e){const t=e.da=e.da||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"Punktopstilling","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","List properties":"","Lower-latin":"","Lower–roman":"","Numbered List":"Opstilling med tal","Numbered list styles toolbar":"","Reversed order":"",Square:"","Start at":"","Start index must be greater than 0.":"","To-do List":"To-do liste","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":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const t=e.da=e.da||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"Punktopstilling","Bulleted list styles toolbar":"Værktøjslinje til punktopdelt liste",Circle:"Cirkel",Decimal:"Decimal","Decimal with leading zero":"Decimal med nul i starten",Disc:"Disk","List properties":"Listeegenskaber","Lower-latin":"Latinsk med små bogstaver","Lower–roman":"Romertal med små bogstaver","Numbered List":"Opstilling med tal","Numbered list styles toolbar":"Værktøjslinje til nummereret listestil","Reversed order":"Omvendt rækkefølge",Square:"Firkant","Start at":"Start ved","Start index must be greater than 0.":"Startindeks skal være større end 0.","To-do List":"To-do liste","Toggle the circle list style":"Slå listestilen cirkel til og fra","Toggle the decimal list style":"Slå listestilen decimal til og fra","Toggle the decimal with leading zero list style":"Slå listestilen decimal med nul i starten til og fra","Toggle the disc list style":"Slå listestilen disk til og fra","Toggle the lower–latin list style":"Slå listestilen latinsk med små bogstaver til","Toggle the lower–roman list style":"Slå listestilen romertal med små bogstaver til","Toggle the square list style":"Slå listestilen firkantet til og fra","Toggle the upper–latin list style":"Slå listestilen latinsk med store bogstaver til","Toggle the upper–roman list style":"Slå listestilen romertal med store bogstaver til","Upper-latin":"Latinsk med store bogstaver","Upper-roman":"Romertal med store bogstaver"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/et.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/et.js index b58369b4e..4a6a8b943 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/et.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/et.js @@ -1 +1 @@ -!function(e){const t=e.et=e.et||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"Punktidega loetelu","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","List properties":"","Lower-latin":"","Lower–roman":"","Numbered List":"Nummerdatud loetelu","Numbered list styles toolbar":"","Reversed order":"",Square:"","Start at":"","Start index must be greater than 0.":"","To-do List":"Tööde nimekiri","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":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(i){const e=i.et=i.et||{};e.dictionary=Object.assign(e.dictionary||{},{"Bulleted List":"Punktidega loetelu","Bulleted list styles toolbar":"Täpploendi stiili tööriistariba",Circle:"Ring",Decimal:"Kümnend","Decimal with leading zero":"Nulliga kümnendsüsteem",Disc:"Ketas","List properties":"Loendi atribuudid","Lower-latin":"Ladina väiketähe","Lower–roman":"Väikse rooma numbri","Numbered List":"Nummerdatud loetelu","Numbered list styles toolbar":"Numbriloendi stiilide tööriistariba","Reversed order":"Vastupidine järjekord",Square:"Ruut","Start at":"Alusta alates","Start index must be greater than 0.":"Algindeks peab olema suurem kui 0.","To-do List":"Tööde nimekiri","Toggle the circle list style":"Lülita ringi loendistiili sisse-välja","Toggle the decimal list style":"Lülita kümnendsüsteemi loendistiili sisse-välja","Toggle the decimal with leading zero list style":"Lülita nulliga kümnendsüsteemi loendistiili sisse-välja","Toggle the disc list style":"Lülita ketta loendistiili sisse-välja","Toggle the lower–latin list style":"Lülita ladina väiketähe loendistiili sisse-välja","Toggle the lower–roman list style":"Lülita väikse rooma numbri loendistiili sisse-välja","Toggle the square list style":"Lülita ruudu loendistiili sisse-välja","Toggle the upper–latin list style":"Lülita ladina suurtähe loendistiili sisse-välja","Toggle the upper–roman list style":"Lülita suure rooma numbri loendistiili sisse-välja","Upper-latin":"Ladina suurtähe","Upper-roman":"Suure rooma numbri"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/fi.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/fi.js index 266d2ba1c..3b95dc5e8 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/fi.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/fi.js @@ -1 +1 @@ -!function(e){const t=e.fi=e.fi||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"Lista","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","List properties":"","Lower-latin":"","Lower–roman":"","Numbered List":"Numeroitu lista","Numbered list styles toolbar":"","Reversed order":"",Square:"","Start at":"","Start index must be greater than 0.":"","To-do List":"","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":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(i){const t=i.fi=i.fi||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"Lista","Bulleted list styles toolbar":"Luetelmalistan työkalupalkki",Circle:"Ympyrä",Decimal:"Desimaali","Decimal with leading zero":"Nolla alussa -desimaali",Disc:"Levy","List properties":"Listaominaisuudet","Lower-latin":"Pienet latinalaiset aakkoset","Lower–roman":"Pienet roomalaiset numerot","Numbered List":"Numeroitu lista","Numbered list styles toolbar":"Numerolistan työkalupalkki","Reversed order":"Päinvastainen järjestys",Square:"Neliö","Start at":"Alkaa","Start index must be greater than 0.":"Aloitusindeksi ei saa olla suurempi kuin 0.","To-do List":"Tehtävälista","Toggle the circle list style":"Ympyrälistatyylin vaihdin","Toggle the decimal list style":"Desimaalilistatyylin vaihdin","Toggle the decimal with leading zero list style":"Nolla alussa -desimaalilistatyylin vaihdin","Toggle the disc list style":"Levylistatyylin vaihdin","Toggle the lower–latin list style":"Pienet latinalaiset aakkoset -listatyylin vaihdin","Toggle the lower–roman list style":"Pienet roomalaiset numerot -listatyylin vaihdin","Toggle the square list style":"Neliölistatyylin vaihdin","Toggle the upper–latin list style":"Isot latinalaiset aakkoset -listatyylin vaihdin","Toggle the upper–roman list style":"Isot roomalaiset numerot -listatyylin vaihdin","Upper-latin":"Isot latinalaiset aakkoset","Upper-roman":"Isot roomalaiset numerot"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/fr.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/fr.js index e82d7427c..9ffb2a34c 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/fr.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/fr.js @@ -1 +1 @@ -!function(e){const s=e.fr=e.fr||{};s.dictionary=Object.assign(s.dictionary||{},{"Bulleted List":"Liste à puces","Bulleted list styles toolbar":"Barre d'outils des styles de liste à puce",Circle:"Cercle",Decimal:"Chiffres","Decimal with leading zero":"Chiffres avec des zéros supplémentaire",Disc:"Disque","List properties":"","Lower-latin":"Lettres minuscules","Lower–roman":"Chiffres romains en minuscules","Numbered List":"Liste numérotée","Numbered list styles toolbar":"Barre d'outils des styles de liste numérotée","Reversed order":"",Square:"Carré","Start at":"","Start index must be greater than 0.":"","To-do List":"Liste de tâches","Toggle the circle list style":'Activer / désactiver le style de liste "cercle"',"Toggle the decimal list style":'Activer / désactiver le style de liste "chiffres"',"Toggle the decimal with leading zero list style":'Activer / désactiver le style de liste "chiffres de mêmes longueurs"',"Toggle the disc list style":'Activer / désactiver le style de liste "disque"',"Toggle the lower–latin list style":'Activer / désactiver le style de liste "lettres minuscules"',"Toggle the lower–roman list style":'Activer / désactiver le style de liste "chiffres romains en minuscules"',"Toggle the square list style":'Activer / désactiver le style de liste "carré"',"Toggle the upper–latin list style":'Activer / désactiver le style de liste "lettres majuscules"',"Toggle the upper–roman list style":'Activer / désactiver le style de liste "chiffres romains en majuscules"',"Upper-latin":"Lettres majuscules","Upper-roman":"Chiffres romains en majuscules"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const s=e.fr=e.fr||{};s.dictionary=Object.assign(s.dictionary||{},{"Bulleted List":"Liste à puces","Bulleted list styles toolbar":"Barre d'outils des styles de liste à puce",Circle:"Cercle",Decimal:"Chiffres","Decimal with leading zero":"Chiffres avec des zéros supplémentaire",Disc:"Disque","List properties":"Liste des propriétés","Lower-latin":"Lettres minuscules","Lower–roman":"Chiffres romains en minuscules","Numbered List":"Liste numérotée","Numbered list styles toolbar":"Barre d'outils des styles de liste numérotée","Reversed order":"Ordre inversé",Square:"Carré","Start at":"Commencer à","Start index must be greater than 0.":"L'indice de départ doit être supérieur à 0.","To-do List":"Liste de tâches","Toggle the circle list style":'Activer / désactiver le style de liste "cercle"',"Toggle the decimal list style":'Activer / désactiver le style de liste "chiffres"',"Toggle the decimal with leading zero list style":'Activer / désactiver le style de liste "chiffres de mêmes longueurs"',"Toggle the disc list style":'Activer / désactiver le style de liste "disque"',"Toggle the lower–latin list style":'Activer / désactiver le style de liste "lettres minuscules"',"Toggle the lower–roman list style":'Activer / désactiver le style de liste "chiffres romains en minuscules"',"Toggle the square list style":'Activer / désactiver le style de liste "carré"',"Toggle the upper–latin list style":'Activer / désactiver le style de liste "lettres majuscules"',"Toggle the upper–roman list style":'Activer / désactiver le style de liste "chiffres romains en majuscules"',"Upper-latin":"Lettres majuscules","Upper-roman":"Chiffres romains en majuscules"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/he.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/he.js index fcfa4bcb7..480a17928 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/he.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/he.js @@ -1 +1 @@ -!function(e){const t=e.he=e.he||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"רשימה מנוקדת","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","List properties":"","Lower-latin":"","Lower–roman":"","Numbered List":"רשימה ממוספרת","Numbered list styles toolbar":"","Reversed order":"",Square:"","Start at":"","Start index must be greater than 0.":"","To-do List":"רשימת מטלות","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":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const t=e.he=e.he||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"רשימה מנוקדת","Bulleted list styles toolbar":"סרגל כלים של סגנונות רשימה עם תבליטים",Circle:"עיגול",Decimal:"עשרונית","Decimal with leading zero":"עשרונית עם אפס מוביל",Disc:"עיגול מלא","List properties":"אפשרויות רשימה","Lower-latin":"אותיות לטיניות קטנות","Lower–roman":"אותיות רומיות קטנות","Numbered List":"רשימה ממוספרת","Numbered list styles toolbar":"סרגל כלים של סגנונות רשימה ממוספרת","Reversed order":"סדר הפוך",Square:"ריבוע","Start at":"התחל ב-","Start index must be greater than 0.":"אינדקס ההתחלה חייב להיות גדול מ-0.","To-do List":"רשימת מטלות","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":"החלף מצב סגנון רשימה עם ספרות רומיות גדולות","Upper-latin":"אותיות לטיניות גדולות","Upper-roman":"אותיות רומיות גדולות"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/hi.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/hi.js index 2dbeb9aca..881cec97c 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/hi.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/hi.js @@ -1 +1 @@ -!function(e){const t=e.hi=e.hi||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"Bulleted List","Bulleted list styles toolbar":"Bulleted list styles toolbar",Circle:"Circle",Decimal:"Decimal","Decimal with leading zero":"Decimal with leading zero",Disc:"Disc","List properties":"","Lower-latin":"Lower-latin","Lower–roman":"Lower–roman","Numbered List":"Numbered List","Numbered list styles toolbar":"Numbered list styles toolbar","Reversed order":"",Square:"Square","Start at":"","Start index must be greater than 0.":"","To-do List":"To-do List","Toggle the circle list style":"Toggle the circle list style","Toggle the decimal list style":"Toggle the decimal list style","Toggle the decimal with leading zero list style":"Toggle the decimal with leading zero list style","Toggle the disc list style":"Toggle the disc list style","Toggle the lower–latin list style":"Toggle the lower–latin list style","Toggle the lower–roman list style":"Toggle the lower–roman list style","Toggle the square list style":"Toggle the square list style","Toggle the upper–latin list style":"Toggle the upper–latin list style","Toggle the upper–roman list style":"Toggle the upper–roman list style","Upper-latin":"Upper-latin","Upper-roman":"Upper-roman"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const t=e.hi=e.hi||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"Bulleted List","Bulleted list styles toolbar":"Bulleted list styles toolbar",Circle:"Circle",Decimal:"Decimal","Decimal with leading zero":"Decimal with leading zero",Disc:"Disc","List properties":"प्रॉपर्टीज़ को लिस्ट करें","Lower-latin":"Lower-latin","Lower–roman":"Lower–roman","Numbered List":"Numbered List","Numbered list styles toolbar":"Numbered list styles toolbar","Reversed order":"रिवर्स किया गया क्रम",Square:"Square","Start at":"शुरू करे इस पर","Start index must be greater than 0.":"स्टार्ट इंडेक्स 0 से अधिक होना चाहिए.","To-do List":"To-do List","Toggle the circle list style":"Toggle the circle list style","Toggle the decimal list style":"Toggle the decimal list style","Toggle the decimal with leading zero list style":"Toggle the decimal with leading zero list style","Toggle the disc list style":"Toggle the disc list style","Toggle the lower–latin list style":"Toggle the lower–latin list style","Toggle the lower–roman list style":"Toggle the lower–roman list style","Toggle the square list style":"Toggle the square list style","Toggle the upper–latin list style":"Toggle the upper–latin list style","Toggle the upper–roman list style":"Toggle the upper–roman list style","Upper-latin":"Upper-latin","Upper-roman":"Upper-roman"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/hu.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/hu.js index 285f84ad1..a0fed7005 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/hu.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/hu.js @@ -1 +1 @@ -!function(e){const t=e.hu=e.hu||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"Pontozott lista","Bulleted list styles toolbar":"",Circle:"Kör",Decimal:"Szám","Decimal with leading zero":"Nullával kezdődő szám",Disc:"Korong","List properties":"","Lower-latin":"Kisbetűs latin szám","Lower–roman":"Kisbetűs római szám","Numbered List":"Számozott lista","Numbered list styles toolbar":"","Reversed order":"",Square:"Négyzet","Start at":"","Start index must be greater than 0.":"","To-do List":"Tennivaló lista","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":"","Upper-latin":"Nagybetűs latin szám","Upper-roman":"Nagybetűs római szám"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(s){const t=s.hu=s.hu||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"Pontozott lista","Bulleted list styles toolbar":"Felsorolásos lista stílusú eszköztár",Circle:"Kör",Decimal:"Szám","Decimal with leading zero":"Nullával kezdődő szám",Disc:"Korong","List properties":"Lista tulajdonságai","Lower-latin":"Kisbetűs latin szám","Lower–roman":"Kisbetűs római szám","Numbered List":"Számozott lista","Numbered list styles toolbar":"Számozott lista stílusú eszköztár","Reversed order":"Fordított sorrend",Square:"Négyzet","Start at":"Kezdőpont","Start index must be greater than 0.":"A kezdő index nagyobb kell legyen mint 0.","To-do List":"Tennivaló lista","Toggle the circle list style":"Kör stílusú lista bekapcsolása","Toggle the decimal list style":"Tizedesjegy stílusú lista bekapcsolása","Toggle the decimal with leading zero list style":"Zéróval kezdődő tizedesjegy stílusú lista bekapcsolása","Toggle the disc list style":"Korong stílusú lista bekapcsolása","Toggle the lower–latin list style":"Kis latin betűs stílusú lista bekapcsolása","Toggle the lower–roman list style":"Kis római számok stílusú lista bekapcsolása","Toggle the square list style":"Négyzet stílusú lista bekapcsolása","Toggle the upper–latin list style":"Nagy latin betűs stílusú lista bekapcsolása","Toggle the upper–roman list style":"Nagy római számok stílusú lista bekapcsolása","Upper-latin":"Nagybetűs latin szám","Upper-roman":"Nagybetűs római szám"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/id.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/id.js index 74a9e84ce..bf992171a 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/id.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/id.js @@ -1 +1 @@ -!function(e){const t=e.id=e.id||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"Daftar Tak Berangka","Bulleted list styles toolbar":"Bilah alat gaya daftar bullet",Circle:"Lingkaran",Decimal:"Desimal","Decimal with leading zero":"Desimal dengan awalan nol",Disc:"Disk","List properties":"","Lower-latin":"","Lower–roman":"","Numbered List":"Daftar Berangka","Numbered list styles toolbar":"Bilah alat gaya daftar angka","Reversed order":"",Square:"Kotak","Start at":"","Start index must be greater than 0.":"","To-do List":"Daftar untuk-dikerjakan","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":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(a){const e=a.id=a.id||{};e.dictionary=Object.assign(e.dictionary||{},{"Bulleted List":"Daftar Tak Berangka","Bulleted list styles toolbar":"Bilah alat gaya daftar bullet",Circle:"Lingkaran",Decimal:"Desimal","Decimal with leading zero":"Desimal dengan awalan nol",Disc:"Disk","List properties":"Properti daftar","Lower-latin":"Lower-latin","Lower–roman":"Lower–roman","Numbered List":"Daftar Berangka","Numbered list styles toolbar":"Bilah alat gaya daftar angka","Reversed order":"Urutan terbalik",Square:"Kotak","Start at":"Mulai dari","Start index must be greater than 0.":"Indeks awal harus lebih besar dari 0.","To-do List":"Daftar untuk-dikerjakan","Toggle the circle list style":"Alihkan gaya daftar circle","Toggle the decimal list style":"Alihkan gaya daftar decimal","Toggle the decimal with leading zero list style":"Alihkan gaya daftar decimal with leading zero","Toggle the disc list style":"Alihkan gaya daftar disc","Toggle the lower–latin list style":"Alihkan gaya daftar lower–latin","Toggle the lower–roman list style":"Alihkan gaya daftar lower–roman","Toggle the square list style":"Alihkan gaya daftar square","Toggle the upper–latin list style":"Alihkan gaya daftar upper–latin","Toggle the upper–roman list style":"Alihkan gaya daftar upper–roman","Upper-latin":"Upper-latin","Upper-roman":"Upper-roman"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/ja.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/ja.js index dae5baa46..c9ce8a396 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/ja.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/ja.js @@ -1 +1 @@ -!function(e){const t=e.ja=e.ja||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"箇条書きリスト","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","List properties":"","Lower-latin":"","Lower–roman":"","Numbered List":"番号付きリスト","Numbered list styles toolbar":"","Reversed order":"",Square:"","Start at":"","Start index must be greater than 0.":"","To-do List":"","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":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const t=e.ja=e.ja||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"箇条書きリスト","Bulleted list styles toolbar":"箇条書きリストスタイルのツールバー",Circle:"白い丸",Decimal:"10進数の数値","Decimal with leading zero":"10進数の数値の前に0がつく",Disc:"黒い丸","List properties":"リストのプロパティ","Lower-latin":"小文字アルファベット","Lower–roman":"小文字ローマ数字","Numbered List":"番号付きリスト","Numbered list styles toolbar":"番号付きリストスタイルのツールバー","Reversed order":"逆順",Square:"黒い四角","Start at":"開始数字","Start index must be greater than 0.":"開始インデックスは0より大きくなければいけません。","To-do List":"やることリスト","Toggle the circle list style":"白い丸リストスタイルを切り替える","Toggle the decimal list style":"10進数リストスタイルを切り替える","Toggle the decimal with leading zero list style":"10進数の数値の前に0がつくリストスタイルを切り替える","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":"大文字ローマ数字リストスタイルを切り替える","Upper-latin":"大文字アルファベット","Upper-roman":"大文字ローマ数字"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/ko.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/ko.js index c4969897f..02018f59a 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/ko.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/ko.js @@ -1 +1 @@ -!function(e){const t=e.ko=e.ko||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"불릿 목록","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","List properties":"","Lower-latin":"","Lower–roman":"","Numbered List":"번호 목록","Numbered list styles toolbar":"","Reversed order":"",Square:"","Start at":"","Start index must be greater than 0.":"","To-do List":"확인 목록","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":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const t=e.ko=e.ko||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"불릿 목록","Bulleted list styles toolbar":"글머리 기호 목록 스타일 도구 모음",Circle:"흰 원형",Decimal:"십진수","Decimal with leading zero":"앞에 0이 붙는 십진수",Disc:"검은 원형","List properties":"목록 속성","Lower-latin":"소문자 알파벳","Lower–roman":"소문자 로마자","Numbered List":"번호 목록","Numbered list styles toolbar":"번호 목록 스타일 도구 모음","Reversed order":"역순",Square:"검은 사각형","Start at":"시작 번호","Start index must be greater than 0.":"시작 번호는 0보다 커야 합니다.","To-do List":"확인 목록","Toggle the circle list style":"검은 원형 목록 스타일 전환","Toggle the decimal list style":"십진수 목록 스타일 전환","Toggle the decimal with leading zero list style":"앞에 0이 붙는 십진수 목록 스타일 전환","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":"대문자 로마자 목록 스타일 전환","Upper-latin":"대문자 알파벳","Upper-roman":"대문자 로마자"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/lt.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/lt.js index 458bab610..33c1eeee2 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/lt.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/lt.js @@ -1 +1 @@ -!function(e){const t=e.lt=e.lt||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"Sąrašas","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","List properties":"","Lower-latin":"","Lower–roman":"","Numbered List":"Numeruotas rąrašas","Numbered list styles toolbar":"","Reversed order":"",Square:"","Start at":"","Start index must be greater than 0.":"","To-do List":"","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":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(i){const t=i.lt=i.lt||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"Sąrašas","Bulleted list styles toolbar":"Ženklinto sąrašo stilių įrankių juosta",Circle:"Apskritimas",Decimal:"Dešimtainis","Decimal with leading zero":"Dešimtainis su nuliu priekyje",Disc:"Diskas","List properties":"Vardyti ypatybes","Lower-latin":"žemesnysis-lotyniškas","Lower–roman":"žemesnysis-romėniškas","Numbered List":"Numeruotas rąrašas","Numbered list styles toolbar":"Numeruoto sąrašo stilių įrankių juosta","Reversed order":"Atvirkštinė tvarka",Square:"Kvadratas","Start at":"Pradėti nuo","Start index must be greater than 0.":"Pradžios indeksas turi būti didesnis nei 0.","To-do List":"Užduočių sąrašas","Toggle the circle list style":"Perjungti ovalų sąrašo stilių","Toggle the decimal list style":"Perjungti dešimtainį sąrašo stilių","Toggle the decimal with leading zero list style":"Perjungti dešimtainį sąrašo su nuliu priekyje stilių","Toggle the disc list style":"Perjungti diskinį sąrašo stilių","Toggle the lower–latin list style":"Perjungti žemesnįjį lotyniško stiliaus sąrašą","Toggle the lower–roman list style":"Perjungti žemesnįjį romėniško stiliaus sąrašą","Toggle the square list style":"Perjungti kvadratinį sąrašo stilių","Toggle the upper–latin list style":"Perjungti aukštesnįjį lotyniško stiliaus sąrašą","Toggle the upper–roman list style":"Perjungti aukštesnįjį romėniško stiliaus sąrašą","Upper-latin":"Viršutinis romėniškas","Upper-roman":"Viršutinis romėniškas"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/lv.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/lv.js index d836bb075..f251652c1 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/lv.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/lv.js @@ -1 +1 @@ -!function(e){const t=e.lv=e.lv||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"Nenumurēts Saraksts","Bulleted list styles toolbar":"Nenumurēta saraksta stili",Circle:"",Decimal:"Cipari","Decimal with leading zero":"",Disc:"","List properties":"","Lower-latin":"","Lower–roman":"","Numbered List":"Numurēts Saraksts","Numbered list styles toolbar":"Numurēta saraksta stili","Reversed order":"Pretēja secība",Square:"Kvadrāts","Start at":"Sākt no","Start index must be greater than 0.":"Indeksam jābūt lielākam par 0","To-do List":"To-do Saraksts","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":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(t){const s=t.lv=t.lv||{};s.dictionary=Object.assign(s.dictionary||{},{"Bulleted List":"Nenumurēts Saraksts","Bulleted list styles toolbar":"Nenumurēta saraksta stili",Circle:"Aplis",Decimal:"Cipari","Decimal with leading zero":"Decimālskaitļi sākot ar nulli",Disc:"Disks","List properties":"saraksta detaļas","Lower-latin":"mazie latīņu burti","Lower–roman":"mazie romiešu burti","Numbered List":"Numurēts Saraksts","Numbered list styles toolbar":"Numurēta saraksta stili","Reversed order":"Pretēja secība",Square:"Kvadrāts","Start at":"Sākt no","Start index must be greater than 0.":"Indeksam jābūt lielākam par 0","To-do List":"To-do Saraksts","Toggle the circle list style":"Pārslēgt apļveida saraksta stilu","Toggle the decimal list style":"Pārslēgt decimālskaitļu saraksta stilu","Toggle the decimal with leading zero list style":"Pārslēgt decimālskaitļu sākot ar nulli saraksta stilu","Toggle the disc list style":"Pārslēgt diskveida saraksta stilu","Toggle the lower–latin list style":"Pārslēgt mazo latīņu burtu saraksta stilu","Toggle the lower–roman list style":"Pārslēgt mazo romiešu burtu saraksta stilu","Toggle the square list style":"Pārslēgt kvadrātveida saraksta stilu","Toggle the upper–latin list style":"Pārslēgt lielo latīņu burtu saraksta stilu","Toggle the upper–roman list style":"Pārslēgt lielo romiešu burtu saraksta stilu","Upper-latin":"lielie latīņu burti","Upper-roman":"lielie romiešu burti"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/ms.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/ms.js new file mode 100644 index 000000000..e40aac4c4 --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/ms.js @@ -0,0 +1 @@ +!function(a){const e=a.ms=a.ms||{};e.dictionary=Object.assign(e.dictionary||{},{"Bulleted List":"Senarai Berbulet","Bulleted list styles toolbar":"Bar capaian gaya senarai berbulet",Circle:"Bula",Decimal:"Perpuluhan","Decimal with leading zero":"Perpuluhan dengan kosong pendahulu",Disc:"Cakera","List properties":"Senarai sifat","Lower-latin":"Latin bawah","Lower–roman":"Roman bawah","Numbered List":"Senarai Bernombor","Numbered list styles toolbar":"Bar alat capaian gaya senarai bernombor","Reversed order":"Susunan terbalik",Square:"Petak","Start at":"Mula pada","Start index must be greater than 0.":"Indeks mula hendaklah lebih besar daripada 0.","To-do List":"Senarai Untuk Dilakukan","Toggle the circle list style":"Buka gaya senarai bulatan","Toggle the decimal list style":"Buka gaya senarai titik perpuluhan","Toggle the decimal with leading zero list style":"Buka titik perpuluhan dengan gaya senarai kosong pendahulu","Toggle the disc list style":"Buka gaya senarai cakera","Toggle the lower–latin list style":"Buka gaya senarai latin bawah","Toggle the lower–roman list style":"Buka gaya senarai roman bawah","Toggle the square list style":"Buka gaya senarai petak","Toggle the upper–latin list style":"Buka gaya senarai latin atas","Toggle the upper–roman list style":"Buka gaya senarai roman atas","Upper-latin":"Latin atas","Upper-roman":"Roman atas"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/nl.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/nl.js index 1e201c9ca..40fffec17 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/nl.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/nl.js @@ -1 +1 @@ -!function(e){const t=e.nl=e.nl||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"Ongenummerde lijst","Bulleted list styles toolbar":"",Circle:"Cirkel",Decimal:"Decimaal","Decimal with leading zero":"",Disc:"Schijf","List properties":"","Lower-latin":"","Lower–roman":"","Numbered List":"Genummerde lijst","Numbered list styles toolbar":"","Reversed order":"",Square:"Vierkant","Start at":"","Start index must be greater than 0.":"","To-do List":"To-do lijst","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":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const t=e.nl=e.nl||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"Ongenummerde lijst","Bulleted list styles toolbar":"Toolbar voor stijlen van opsommingslijsten",Circle:"Cirkel",Decimal:"Decimaal","Decimal with leading zero":"Decimaal voorafgegaan door een nul",Disc:"Schijf","List properties":"Lijsteigenschappen","Lower-latin":"Kleine Latijnse letters","Lower–roman":"Kleine Romeinse cijfers","Numbered List":"Genummerde lijst","Numbered list styles toolbar":"Toolbar voor stijlen van genummerde lijsten","Reversed order":"Omgekeerde volgorde",Square:"Vierkant","Start at":"Begin op","Start index must be greater than 0.":"Begin van index moet groter zijn dan 0.","To-do List":"To-do lijst","Toggle the circle list style":"Schakel de stijl van lijsten met cirkel in","Toggle the decimal list style":"Schakel de stijl van lijsten met cijfers in","Toggle the decimal with leading zero list style":"Schakel de stijl van lijsten met cijfers voorafgegaan door een nul in","Toggle the disc list style":"Schakel de stijl van lijsten met bulletpoint in","Toggle the lower–latin list style":"Schakel de stijl van lijsten met kleine Latijnse letters in","Toggle the lower–roman list style":"Schakel de stijl van lijsten met kleine Romeinse cijfers in","Toggle the square list style":"Schakel de stijl van lijsten met vierkant in","Toggle the upper–latin list style":"Schakel de stijl van lijsten met Latijnse hoofdletters in","Toggle the upper–roman list style":"Schakel de stijl van lijsten met grote Romeinse cijfers in","Upper-latin":"Latijnse hoofdletters","Upper-roman":"Grote Romeinse cijfers"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/no.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/no.js index c58b17f0f..a92ba204e 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/no.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/no.js @@ -1 +1 @@ -!function(e){const t=e.no=e.no||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"Punktliste","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","List properties":"","Lower-latin":"","Lower–roman":"","Numbered List":"Nummerert liste","Numbered list styles toolbar":"","Reversed order":"",Square:"","Start at":"","Start index must be greater than 0.":"","To-do List":"Oppgaveliste","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":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const t=e.no=e.no||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"Punktliste","Bulleted list styles toolbar":"Verktøylinje for punktlistestiler",Circle:"Sirkel",Decimal:"Nummer","Decimal with leading zero":"Nummer med foranstilt null",Disc:"Disk","List properties":"Listeegenskaper","Lower-latin":"Små latinske tegn","Lower–roman":"Små romertall","Numbered List":"Nummerert liste","Numbered list styles toolbar":"Verktøylinje for stiler for nummererte lister","Reversed order":"Motsatt rekkefølge",Square:"Firkant","Start at":"Start ved","Start index must be greater than 0.":"Startindeks må være større enn 0.","To-do List":"Oppgaveliste","Toggle the circle list style":"Veksle sirkellistestil","Toggle the decimal list style":"Veksle nummerlistestil","Toggle the decimal with leading zero list style":"Veksle listestilen med nummer med foranstilt null","Toggle the disc list style":"Veksle disklistestil","Toggle the lower–latin list style":"Veksle listestilen med små latinske tegn","Toggle the lower–roman list style":"Veksle listestilen med små romertall","Toggle the square list style":"Veksle firkantlistestil","Toggle the upper–latin list style":"Veksle listestilen med store latinske tegn","Toggle the upper–roman list style":"Veksle listestilen med store romertall","Upper-latin":"Store latinske tegn","Upper-roman":"Store romertall"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/pl.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/pl.js index e2406f6bc..e1932b778 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/pl.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/pl.js @@ -1 +1 @@ -!function(e){const t=e.pl=e.pl||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"Lista wypunktowana","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","List properties":"","Lower-latin":"","Lower–roman":"","Numbered List":"Lista numerowana","Numbered list styles toolbar":"","Reversed order":"",Square:"","Start at":"","Start index must be greater than 0.":"","To-do List":"Lista rzeczy do zrobienia","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":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const i=e.pl=e.pl||{};i.dictionary=Object.assign(i.dictionary||{},{"Bulleted List":"Lista wypunktowana","Bulleted list styles toolbar":"Pasek z narzędziami: style listy z punktorami",Circle:"Kółko",Decimal:"Dziesiętne","Decimal with leading zero":"Dziesiętne z zerem wiodącym",Disc:"Dysk","List properties":"Właściwości listy","Lower-latin":"Alfabet łaciński – małe litery","Lower–roman":"Małe cyfry rzymskie","Numbered List":"Lista numerowana","Numbered list styles toolbar":"Pasek z narzędziami: style listy numerowanej","Reversed order":"Odwrócona kolejność",Square:"Kwadrat","Start at":"Zacznij od","Start index must be greater than 0.":"Wartość początkowa musi być większa niż 0.","To-do List":"Lista rzeczy do zrobienia","Toggle the circle list style":"Włącz/wyłącz listę w stylu „kółko”","Toggle the decimal list style":"Włącz/wyłącz listę w stylu „dziesiętne”","Toggle the decimal with leading zero list style":"Włącz/wyłącz listę w stylu „dziesiętne z zerem wiodącym”","Toggle the disc list style":"Włącz/wyłącz listę w stylu „dysk”","Toggle the lower–latin list style":"Włącz/wyłącz listę w stylu „alfabet łaciński – małe litery”","Toggle the lower–roman list style":"Włącz/wyłącz listę w stylu „małe cyfry rzymskie”","Toggle the square list style":"Włącz/wyłącz listę w stylu „kwadrat”","Toggle the upper–latin list style":"Włącz/wyłącz listę w stylu „alfabet łaciński – wielkie litery”","Toggle the upper–roman list style":"Włącz/wyłącz listę w stylu „wielkie cyfry rzymskie”","Upper-latin":"Alfabet łaciński – wielkie litery","Upper-roman":"Wielkie cyfry rzymskie"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/pt.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/pt.js index 606cc866f..6d3121a71 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/pt.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/pt.js @@ -1 +1 @@ -!function(e){const t=e.pt=e.pt||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"Lista não ordenada","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","List properties":"","Lower-latin":"","Lower–roman":"","Numbered List":"Lista ordenada","Numbered list styles toolbar":"","Reversed order":"",Square:"","Start at":"","Start index must be greater than 0.":"","To-do List":"","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":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const i=e.pt=e.pt||{};i.dictionary=Object.assign(i.dictionary||{},{"Bulleted List":"Lista não ordenada","Bulleted list styles toolbar":"Barra de ferramentas de estilos de lista de itens",Circle:"Círculo",Decimal:"Decimal","Decimal with leading zero":"Decimal com zero inicial",Disc:"Disco","List properties":"Propriedades da lista","Lower-latin":"Latim minúsculo","Lower–roman":"Romano minúsculo","Numbered List":"Lista ordenada","Numbered list styles toolbar":"Barra de ferramentas de estilos de lista numerada","Reversed order":"Ordem invertida",Square:"Quadrado","Start at":"Começa em","Start index must be greater than 0.":"O índice inicial tem de ser superior a 0.","To-do List":"Lista de Afazeres","Toggle the circle list style":"Ativar o estilo de lista de círculos","Toggle the decimal list style":"Ativar o estilo de lista decimal","Toggle the decimal with leading zero list style":"Ativar o estilo de lista decimal com zero inicial","Toggle the disc list style":"Ativar o estilo de lista de discos","Toggle the lower–latin list style":"Ativar o estilo de lista de latim minúsculo","Toggle the lower–roman list style":"Ativar o estilo de lista de números romanos minúsculos","Toggle the square list style":"Ativar o estilo de lista de quadrados","Toggle the upper–latin list style":"Ativar o estilo de lista de latim maiúsculo","Toggle the upper–roman list style":"Ativar o estilo de lista de números romanos maiúsculos","Upper-latin":"Latim maiúsculo","Upper-roman":"Romano maiúsculo"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/ro.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/ro.js index c842681fb..0c44219a2 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/ro.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/ro.js @@ -1 +1 @@ -!function(t){const e=t.ro=t.ro||{};e.dictionary=Object.assign(e.dictionary||{},{"Bulleted List":"Listă cu puncte","Bulleted list styles toolbar":"Toolbar Listă cu puncte",Circle:"Cerc",Decimal:"Număr","Decimal with leading zero":"Număr cu zero la început ",Disc:"Disc","List properties":"","Lower-latin":"Litere mici latine","Lower–roman":"Litere mici romane","Numbered List":"Listă numerotată","Numbered list styles toolbar":"Toolbar Listă numerotată","Reversed order":"",Square:"Pătrat","Start at":"","Start index must be greater than 0.":"","To-do List":"Listă cu activități","Toggle the circle list style":"Comutați stilul la lista cu cercuri","Toggle the decimal list style":"Comutați stilul la lista cu numere","Toggle the decimal with leading zero list style":"Comutați stilul la lista cu numere cu zero la început","Toggle the disc list style":"Comutați stilul la lista cu discuri","Toggle the lower–latin list style":"Comutați stilul la lista cu litere mici latine","Toggle the lower–roman list style":"Comutați stilul la lista cu litere mici romane","Toggle the square list style":"Comutați stilul la lista cu pătrate","Toggle the upper–latin list style":"Comutați stilul la lista cu litere mari latine","Toggle the upper–roman list style":"Comutați stilul la lista cu litere mari romane","Upper-latin":"Litere mari latine","Upper-roman":"Litere mari romane"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const t=e.ro=e.ro||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"Listă cu puncte","Bulleted list styles toolbar":"Toolbar Listă cu puncte",Circle:"Cerc",Decimal:"Număr","Decimal with leading zero":"Număr cu zero la început ",Disc:"Disc","List properties":"Proprietăți listă","Lower-latin":"Litere mici latine","Lower–roman":"Litere mici romane","Numbered List":"Listă numerotată","Numbered list styles toolbar":"Toolbar Listă numerotată","Reversed order":"Ordine inversată",Square:"Pătrat","Start at":"Începe de la","Start index must be greater than 0.":"Indexul de pornire trebuie să fie mai mare de 0.","To-do List":"Listă cu activități","Toggle the circle list style":"Comutați stilul la lista cu cercuri","Toggle the decimal list style":"Comutați stilul la lista cu numere","Toggle the decimal with leading zero list style":"Comutați stilul la lista cu numere cu zero la început","Toggle the disc list style":"Comutați stilul la lista cu discuri","Toggle the lower–latin list style":"Comutați stilul la lista cu litere mici latine","Toggle the lower–roman list style":"Comutați stilul la lista cu litere mici romane","Toggle the square list style":"Comutați stilul la lista cu pătrate","Toggle the upper–latin list style":"Comutați stilul la lista cu litere mari latine","Toggle the upper–roman list style":"Comutați stilul la lista cu litere mari romane","Upper-latin":"Litere mari latine","Upper-roman":"Litere mari romane"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/ru.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/ru.js index 82a2c756b..488f70546 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/ru.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/ru.js @@ -1 +1 @@ -!function(e){const t=e.ru=e.ru||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"Маркированный список","Bulleted list styles toolbar":"Стили маркированного списка",Circle:"Окружность",Decimal:"Десятичный","Decimal with leading zero":"Десятичный с ведущим нулем",Disc:"Диск","List properties":"","Lower-latin":"Малые латинские","Lower–roman":"Малые римские","Numbered List":"Нумерованный список","Numbered list styles toolbar":"Стили нумерованного списка","Reversed order":"",Square:"Квадрат","Start at":"","Start index must be greater than 0.":"","To-do List":"Список задач","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":"","Upper-latin":"Большие латинские","Upper-roman":"Большие римские"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const t=e.ru=e.ru||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"Маркированный список","Bulleted list styles toolbar":"Стили маркированного списка",Circle:"Окружность",Decimal:"Десятичный","Decimal with leading zero":"Десятичный с ведущим нулем",Disc:"Диск","List properties":"Свойства списка","Lower-latin":"Малые латинские","Lower–roman":"Малые римские","Numbered List":"Нумерованный список","Numbered list styles toolbar":"Стили нумерованного списка","Reversed order":"Обратный порядок",Square:"Квадрат","Start at":"Начать с","Start index must be greater than 0.":"Начальный индекс должен быть больше 0.","To-do List":"Список задач","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":"Переключить на стиль списка с маркерами в виде заглавных римских цифр","Upper-latin":"Большие латинские","Upper-roman":"Большие римские"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/sv.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/sv.js index 0017c2041..39c5ad45c 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/sv.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/sv.js @@ -1 +1 @@ -!function(e){const t=e.sv=e.sv||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"Punktlista","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","List properties":"","Lower-latin":"","Lower–roman":"","Numbered List":"Numrerad lista","Numbered list styles toolbar":"","Reversed order":"",Square:"","Start at":"","Start index must be greater than 0.":"","To-do List":"","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":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const l=e.sv=e.sv||{};l.dictionary=Object.assign(l.dictionary||{},{"Bulleted List":"Punktlista","Bulleted list styles toolbar":"Verktygsfält för punktlistor",Circle:"Cirkel",Decimal:"Decimal","Decimal with leading zero":"Decimal med inledande nolla",Disc:"Disk","List properties":"Listegenskaper","Lower-latin":"Latinska gemener","Lower–roman":"Romerska gemener","Numbered List":"Numrerad lista","Numbered list styles toolbar":"Verktygsfält för numrerade listor","Reversed order":"Byt riktning",Square:"Fyrkant","Start at":"Börja på","Start index must be greater than 0.":"Startindex måste vara större än 0.","To-do List":"Att-göra-lista","Toggle the circle list style":"Växla till cirkellisttypen","Toggle the decimal list style":"Växla till decimallisttypen","Toggle the decimal with leading zero list style":"Växla till listtypen decimal-med-inledande-nolla","Toggle the disc list style":"Växla till disklisttypen","Toggle the lower–latin list style":"Växla till listtypen latinska gemener","Toggle the lower–roman list style":"Växla till listtypen romerska gemener","Toggle the square list style":"Växla till fyrkantslisttypen","Toggle the upper–latin list style":"Växla till listtypen latinska versaler ","Toggle the upper–roman list style":"Växla till listtypen romerska versaler","Upper-latin":"Latinska versaler","Upper-roman":"Romerska versaler"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/th.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/th.js new file mode 100644 index 000000000..e5c70daa0 --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/th.js @@ -0,0 +1 @@ +!function(e){const t=e.th=e.th||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"รายการสัญลักษณ์แสดงหัวข้อย่อย","Bulleted list styles toolbar":"แถบเครื่องมือรูปแบบรายการสัญลักษณ์แสดงหัวข้อย่อย",Circle:"วงกลม",Decimal:"ทศนิยม","Decimal with leading zero":"ทศนิยมที่มีศูนย์นำหน้า",Disc:"ดิสก์","List properties":"คุณสมบัติของรายการ","Lower-latin":"อักษรลาตินตัวพิมพ์เล็ก","Lower–roman":"อักษรโรมันตัวพิมพ์เล็ก","Numbered List":"รายการลำดับเลข","Numbered list styles toolbar":"แถบเครื่องมือรูปแบบรายการแบบตัวเลข","Reversed order":"ลำดับที่ย้อนกลับ",Square:"สี่เหลี่ยม","Start at":"เริ่มต้นที่","Start index must be greater than 0.":"ดัชนีเริ่มต้นต้องมากกว่า 0","To-do List":"รายการสิ่งที่จะทำ","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":"สลับรูปแบบรายการอักษรโรมันตัวพิมพ์ใหญ่","Upper-latin":"อักษรลาตินตัวพิมพ์ใหญ่","Upper-roman":"อักษรโรมันตัวพิมพ์ใหญ่"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/tr.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/tr.js index f6aa1f95a..e4116325c 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/tr.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/tr.js @@ -1 +1 @@ -!function(e){const t=e.tr=e.tr||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"Simgeli Liste","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","List properties":"","Lower-latin":"","Lower–roman":"","Numbered List":"Numaralı Liste","Numbered list styles toolbar":"","Reversed order":"",Square:"","Start at":"","Start index must be greater than 0.":"","To-do List":"Yapılacaklar Listesi","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":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(i){const e=i.tr=i.tr||{};e.dictionary=Object.assign(e.dictionary||{},{"Bulleted List":"Simgeli Liste","Bulleted list styles toolbar":"Madde işaretli liste stilleri araç çubuğu",Circle:"Çember",Decimal:"Ondalık","Decimal with leading zero":"0'la başlayan ondalık",Disc:"Disk","List properties":"Liste özellikleri","Lower-latin":"Küçük Latin harfleri","Lower–roman":"Küçük Roma rakamları","Numbered List":"Numaralı Liste","Numbered list styles toolbar":"Numaralandırılmış liste stilleri araç çubuğu","Reversed order":"Ters sıralama",Square:"Kare","Start at":"Şununla başla","Start index must be greater than 0.":"Başlangıç dizini 0'dan büyük olmalıdır.","To-do List":"Yapılacaklar Listesi","Toggle the circle list style":"Çember liste stilini değiştir","Toggle the decimal list style":"Ondalık liste stilini değiştir","Toggle the decimal with leading zero list style":"0'la başlayan ondalık liste stilini değiştir","Toggle the disc list style":"Disk liste stilini değiştir","Toggle the lower–latin list style":"Küçük Latin harfleri liste stilini değiştir","Toggle the lower–roman list style":"Küçük Roma rakamları liste stilini değiştir","Toggle the square list style":"Kare liste stilini değiştir","Toggle the upper–latin list style":"Büyük Latin harfleri liste stilini değiştir","Toggle the upper–roman list style":"Büyük Roma rakamları liste stilini değiştir","Upper-latin":"Büyük Latin harfleri","Upper-roman":"Büyük Roma rakamları"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/tt.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/tt.js new file mode 100644 index 000000000..b6edfb98f --- /dev/null +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/tt.js @@ -0,0 +1 @@ +!function(e){const t=e.tt=e.tt||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"","Bulleted list styles toolbar":"",Circle:"Түгәрәк",Decimal:"","Decimal with leading zero":"",Disc:"Диск","List properties":"","Lower-latin":"","Lower–roman":"","Numbered List":"","Numbered list styles toolbar":"","Reversed order":"",Square:"","Start at":"","Start index must be greater than 0.":"","To-do List":"","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":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/uk.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/uk.js index 2e6c52db9..21aa8dbfa 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/uk.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/uk.js @@ -1 +1 @@ -!function(e){const t=e.uk=e.uk||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"Маркерний список","Bulleted list styles toolbar":"Панель маркерних списків",Circle:"Коло",Decimal:"Цифри","Decimal with leading zero":"Цифри із провідним нулем",Disc:"Круг","List properties":"","Lower-latin":"","Lower–roman":"","Numbered List":"Нумерований список","Numbered list styles toolbar":"Панель нумерованих списків","Reversed order":"",Square:"Квадрат","Start at":"","Start index must be greater than 0.":"","To-do List":"Список справ","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":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const t=e.uk=e.uk||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"Маркерний список","Bulleted list styles toolbar":"Панель маркерних списків",Circle:"Коло",Decimal:"Цифри","Decimal with leading zero":"Цифри із провідним нулем",Disc:"Круг","List properties":"Список властивостей","Lower-latin":"Нижній латинський","Lower–roman":"Нижньо-римський","Numbered List":"Нумерований список","Numbered list styles toolbar":"Панель нумерованих списків","Reversed order":"Зворотний порядок",Square:"Квадрат","Start at":"Початок при","Start index must be greater than 0.":"Початковий індекс має бути більше 0.","To-do List":"Список справ","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":"Перемкнути верхньо-римський стиль списку","Upper-latin":"Верхній латинський ","Upper-roman":"Верхньо-римський"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/vi.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/vi.js index 03e2f2cc2..4ff3f9380 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/vi.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/vi.js @@ -1 +1 @@ -!function(e){const t=e.vi=e.vi||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"Danh sách đánh ký hiệu","Bulleted list styles toolbar":"",Circle:"",Decimal:"","Decimal with leading zero":"",Disc:"","List properties":"","Lower-latin":"","Lower–roman":"","Numbered List":"Danh sách đánh số","Numbered list styles toolbar":"","Reversed order":"",Square:"","Start at":"","Start index must be greater than 0.":"","To-do List":"Danh sách cần làm","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":"","Upper-latin":"","Upper-roman":""})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(t){const h=t.vi=t.vi||{};h.dictionary=Object.assign(h.dictionary||{},{"Bulleted List":"Danh sách đánh ký hiệu","Bulleted list styles toolbar":"Thanh công cụ kiểu danh sách có dấu đầu dòng",Circle:"Tròn",Decimal:"Thập phân","Decimal with leading zero":"Thập phân bắt đầu bằng số 0",Disc:"Đĩa","List properties":"Thuộc tính danh sách","Lower-latin":"Chữ cái Latinh viết thường","Lower–roman":"Chữ số La Mã viết thường","Numbered List":"Danh sách đánh số","Numbered list styles toolbar":"Thanh công cụ kiểu danh sách được đánh số","Reversed order":"Thứ tự đảo ngược",Square:"Vuông","Start at":"Bắt đầu tại","Start index must be greater than 0.":"Chỉ mục bắt đầu phải lớn hơn 0.","To-do List":"Danh sách cần làm","Toggle the circle list style":"Bật/tắt kiểu danh sách dạng vòng tròn","Toggle the decimal list style":"Bật/tắt kiểu danh sách dạng thập phân","Toggle the decimal with leading zero list style":"Bật/tắt kiểu danh sách dạng thập phân bắt đầu bằng số 0","Toggle the disc list style":"Bật/tắt kiểu danh sách dạng đĩa","Toggle the lower–latin list style":"Bật/tắt kiểu danh sách chữ cái Latinh viết thường","Toggle the lower–roman list style":"Bật/tắt kiểu danh sách chữ số La Mã viết thường","Toggle the square list style":"Bật/tắt kiểu danh sách dạng vuông","Toggle the upper–latin list style":"Bật/tắt kiểu danh sách chữ cái Latinh viết hoa","Toggle the upper–roman list style":"Bật/tắt kiểu danh sách chữ số La Mã viết hoa","Upper-latin":"Chữ cái Latinh viết hoa","Upper-roman":"Chữ số La Mã viết hoa"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/zh-cn.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/zh-cn.js index 5c533227c..fcd58fe98 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/zh-cn.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/zh-cn.js @@ -1 +1 @@ -!function(e){const t=e["zh-cn"]=e["zh-cn"]||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"项目符号列表","Bulleted list styles toolbar":"项目符号列表样式工具条",Circle:"空心圆点",Decimal:"阿拉伯数字","Decimal with leading zero":"前导零阿拉伯数字",Disc:"实心圆点","List properties":"","Lower-latin":"小写拉丁字母","Lower–roman":"小写罗马数字","Numbered List":"项目编号列表","Numbered list styles toolbar":"项目编号列表样式工具条","Reversed order":"",Square:"实心方块","Start at":"","Start index must be greater than 0.":"","To-do List":"待办列表","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":"切换大写罗马数字列表样式","Upper-latin":"大写拉丁字母","Upper-roman":"大写罗马数字"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const t=e["zh-cn"]=e["zh-cn"]||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"项目符号列表","Bulleted list styles toolbar":"项目符号列表样式工具条",Circle:"空心圆点",Decimal:"阿拉伯数字","Decimal with leading zero":"前导零阿拉伯数字",Disc:"实心圆点","List properties":"列表属性","Lower-latin":"小写拉丁字母","Lower–roman":"小写罗马数字","Numbered List":"项目编号列表","Numbered list styles toolbar":"项目编号列表样式工具条","Reversed order":"顺序反转",Square:"实心方块","Start at":"起始编号","Start index must be greater than 0.":"起始编号必须大于0。","To-do List":"待办列表","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":"切换大写罗马数字列表样式","Upper-latin":"大写拉丁字母","Upper-roman":"大写罗马数字"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/zh.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/zh.js index 914d5eb4c..2ba8ff6d4 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/zh.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/list/translations/zh.js @@ -1 +1 @@ -!function(e){const t=e.zh=e.zh||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"符號清單","Bulleted list styles toolbar":"無序清單工具列",Circle:"空心圓點",Decimal:"數字","Decimal with leading zero":"0開頭的數字",Disc:"實心圓點","List properties":"","Lower-latin":"小寫拉丁字母","Lower–roman":"小寫羅馬數字","Numbered List":"有序清單","Numbered list styles toolbar":"有序清單工具列","Reversed order":"",Square:"方形","Start at":"","Start index must be greater than 0.":"","To-do List":"代辦清單","Toggle the circle list style":"切換為空心圓點標示","Toggle the decimal list style":"切換為數字標示","Toggle the decimal with leading zero list style":"切換為0開頭的數字標示","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":"切換為大寫羅馬數字標示","Upper-latin":"大寫拉丁字母","Upper-roman":"大寫羅馬數字"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file +!function(e){const t=e.zh=e.zh||{};t.dictionary=Object.assign(t.dictionary||{},{"Bulleted List":"符號清單","Bulleted list styles toolbar":"無序清單工具列",Circle:"空心圓點",Decimal:"數字","Decimal with leading zero":"0開頭的數字",Disc:"實心圓點","List properties":"清單屬性","Lower-latin":"小寫拉丁字母","Lower–roman":"小寫羅馬數字","Numbered List":"有序清單","Numbered list styles toolbar":"有序清單工具列","Reversed order":"反轉順序",Square:"方形","Start at":"起始於","Start index must be greater than 0.":"起始索引須大於 0。","To-do List":"代辦清單","Toggle the circle list style":"切換為空心圓點標示","Toggle the decimal list style":"切換為數字標示","Toggle the decimal with leading zero list style":"切換為0開頭的數字標示","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":"切換為大寫羅馬數字標示","Upper-latin":"大寫拉丁字母","Upper-roman":"大寫羅馬數字"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); \ No newline at end of file diff --git a/frontend/drupal9/web/core/assets/vendor/ckeditor5/paste-from-office/paste-from-office.js b/frontend/drupal9/web/core/assets/vendor/ckeditor5/paste-from-office/paste-from-office.js index 27885c39c..7a47c76b6 100644 --- a/frontend/drupal9/web/core/assets/vendor/ckeditor5/paste-from-office/paste-from-office.js +++ b/frontend/drupal9/web/core/assets/vendor/ckeditor5/paste-from-office/paste-from-office.js @@ -1,4 +1,4 @@ /*! * @license Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md. - */(()=>{var e={945:(e,t,n)=>{e.exports=n(79)("./src/clipboard.js")},704:(e,t,n)=>{e.exports=n(79)("./src/core.js")},492:(e,t,n)=>{e.exports=n(79)("./src/engine.js")},79:e=>{"use strict";e.exports=CKEditor5.dll}},t={};function n(r){var s=t[r];if(void 0!==s)return s.exports;var i=t[r]={exports:{}};return e[r](i,i.exports,n),i.exports}n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};(()=>{"use strict";n.r(r),n.d(r,{PasteFromOffice:()=>b});var e=n(704),t=n(945),s=n(492);function i(e,t){if(!e.childCount)return;const n=new s.UpcastWriter(e.document),r=function(e,t){const n=t.createRangeIn(e),r=new s.Matcher({name:/^p|h\d+$/,styles:{"mso-list":/.*/}}),i=[];for(const e of n)if("elementStart"===e.type&&r.match(e.item)){const t=a(e.item);i.push({element:e.item,id:t.id,order:t.order,indent:t.indent})}return i}(e,n);if(!r.length)return;let i=null,l=1;r.forEach(((e,a)=>{const u=function(e,t){if(!e)return!0;if(e.id!==t.id)return t.indent-e.indent!=1;const n=t.element.previousSibling;if(!n)return!0;return r=n,!(r.is("element","ol")||r.is("element","ul"));var r}(r[a-1],e),f=u?null:r[a-1],d=(m=e,(p=f)?m.indent-p.indent:m.indent-1);var p,m;if(u&&(i=null,l=1),!i||0!==d){const r=function(e,t){const n=new RegExp(`@list l${e.id}:level${e.indent}\\s*({[^}]*)`,"gi"),r=/mso-level-number-format:([^;]{0,100});/gi,s=/mso-level-start-at:\s{0,100}([0-9]{0,10})\s{0,100};/gi,i=n.exec(t);let c="decimal",a="ol",l=null;if(i&&i[1]){const t=r.exec(i[1]);if(t&&t[1]&&(c=t[1].trim(),a="bullet"!==c&&"image"!==c?"ol":"ul"),"bullet"===c){const t=function(e){const t=function(e){if(e.getChild(0).is("$text"))return null;for(const t of e.getChildren()){if(!t.is("element","span"))continue;const e=t.getChild(0);return e.is("$text")?e:e.getChild(0)}}(e);if(!t)return null;const n=t._data;if("o"===n)return"circle";if("·"===n)return"disc";if("§"===n)return"square";return null}(e.element);t&&(c=t)}else{const e=s.exec(i[1]);e&&e[1]&&(l=parseInt(e[1]))}}return{type:a,startIndex:l,style:o(c)}}(e,t);if(i){if(e.indent>l){const e=i.getChild(i.childCount-1),t=e.getChild(e.childCount-1);i=c(r,t,n),l+=1}else if(e.indent1&&n.setAttribute("start",e.startIndex,s),s}function a(e){const t={},n=e.getStyle("mso-list");if(n){const e=n.match(/(^|\s{1,100})l(\d+)/i),r=n.match(/\s{0,100}lfo(\d+)/i),s=n.match(/\s{0,100}level(\d+)/i);e&&r&&s&&(t.id=e[2],t.order=r[1],t.indent=s[1])}return t}const l=/id=("|')docs-internal-guid-[-0-9a-f]+("|')/i;class u{constructor(e){this.document=e}isActive(e){return l.test(e)}execute(e){const t=new s.UpcastWriter(this.document),{body:n}=e._parsedData;!function(e,t){for(const n of e.getChildren())if(n.is("element","b")&&"normal"===n.getStyle("font-weight")){const r=e.getChildIndex(n);t.remove(n),t.insertChild(r,n.getChildren(),e)}}(n,t),function(e,t){for(const n of t.createRangeIn(e)){const e=n.item;if(e.is("element","li")){const n=e.getChild(0);n&&n.is("element","p")&&t.unwrapElement(n)}}}(n,t),e.content=n}}function f(e,t){if(!e.childCount)return;const n=new s.UpcastWriter,r=function(e,t){const n=t.createRangeIn(e),r=new s.Matcher({name:/v:(.+)/}),i=[];for(const e of n){if("elementStart"!=e.type)continue;const t=e.item,n=t.previousSibling&&t.previousSibling.name||null;r.match(t)&&t.getAttribute("o:gfxdata")&&"v:shapetype"!==n&&i.push(e.item.getAttribute("id"))}return i}(e,n);!function(e,t,n){const r=n.createRangeIn(t),i=new s.Matcher({name:"img"}),o=[];for(const t of r)if(i.match(t.item)){const n=t.item,r=n.getAttribute("v:shapes")?n.getAttribute("v:shapes").split(" "):[];r.length&&r.every((t=>e.indexOf(t)>-1))?o.push(n):n.getAttribute("src")||o.push(n)}for(const e of o)n.remove(e)}(r,e,n),function(e,t){const n=t.createRangeIn(e),r=new s.Matcher({name:/v:(.+)/}),i=[];for(const e of n)"elementStart"==e.type&&r.match(e.item)&&i.push(e.item);for(const e of i)t.remove(e)}(e,n);const i=function(e,t){const n=t.createRangeIn(e),r=new s.Matcher({name:"img"}),i=[];for(const e of n)r.match(e.item)&&e.item.getAttribute("src").startsWith("file://")&&i.push(e.item);return i}(e,n);i.length&&function(e,t,n){if(e.length===t.length)for(let r=0;rString.fromCharCode(parseInt(e,16)))).join(""))}const p=//i,m=/xmlns:o="urn:schemas-microsoft-com/i;class g{constructor(e){this.document=e}isActive(e){return p.test(e)||m.test(e)}execute(e){const{body:t,stylesString:n}=e._parsedData;i(t,n),f(t,e.dataTransfer.getData("text/rtf")),e.content=t}}function h(e){return e.replace(/(\s+)<\/span>/g,((e,t)=>1===t.length?" ":Array(t.length+1).join("  ").substr(0,t.length)))}function y(e,t){const n=new DOMParser,r=function(e){return h(h(e)).replace(/([^\S\r\n]*?)[\r\n]+([^\S\r\n]*<\/span>)/g,"$1$2").replace(/<\/span>/g,"").replace(/ <\//g," <\/o:p>/g," ").replace(/( |\u00A0)<\/o:p>/g,"").replace(/>([^\S\r\n]*[\r\n]\s*)<")}(function(e){const t="",n="",r=e.indexOf(t);if(r<0)return e;const s=e.indexOf(n,r+t.length);return e.substring(0,r+t.length)+(s>=0?e.substring(s):"")}(e=e.replace(/ + */bower_components/* + */node_modules/* + + ./assets/vendor/* + + + ./core/lib/Drupal/Component/Diff/ + ./core/tests/Drupal/Tests/Component/Annotation/Doctrine/ + + + ./modules/system/tests/fixtures/HtaccessTest + . ../composer scripts/drupal.sh @@ -8,24 +23,9 @@ scripts/rebuild_token_calculator.sh scripts/run-tests.sh scripts/update-countries.sh - - - - ./assets/vendor/* - ./core/tests/Drupal/Tests/Component/Annotation/Doctrine/ - - - */node_modules/* - */bower_components/* - - - ./modules/system/tests/fixtures/HtaccessTest - - - - ./core/lib/Drupal/Component/Diff/ + @@ -33,6 +33,8 @@ + + @@ -42,8 +44,6 @@ - - @@ -56,12 +56,12 @@ TagsNotGrouped, ParamGroup --> - - + + - + @@ -75,15 +75,8 @@ - - - - - - - - + @@ -91,9 +84,17 @@ + - + + + + + + + + @@ -113,6 +114,8 @@ Drupal.NamingConventions.ValidFunctionName.ScopeNotCamelCaps. --> + + @@ -143,9 +146,6 @@ - - - */tests/* @@ -156,14 +156,17 @@ + + 0 + 0 - - 0 - + + + @@ -178,8 +181,6 @@ - - @@ -200,30 +201,29 @@ - - 0 - 0 - + 0 0 - - - + + 0 + - - + 0 - + + 0 + + 0 @@ -233,15 +233,14 @@ 0 - + + 0 - - 0 - - + 0 + @@ -255,8 +254,8 @@ - + @@ -286,10 +285,10 @@ 0 - + 0 - + 0 @@ -346,10 +345,21 @@ 0 + + + + + + + 0 + 0 + + 0 + 0 @@ -360,17 +370,6 @@ 0 - - 0 - - - - - - - - 0 - diff --git a/frontend/drupal9/web/core/profiles/demo_umami/config/install/core.entity_view_display.media.image.responsive_3x2.yml b/frontend/drupal9/web/core/profiles/demo_umami/config/install/core.entity_view_display.media.image.responsive_3x2.yml index fa1e74775..6a55f5fd2 100644 --- a/frontend/drupal9/web/core/profiles/demo_umami/config/install/core.entity_view_display.media.image.responsive_3x2.yml +++ b/frontend/drupal9/web/core/profiles/demo_umami/config/install/core.entity_view_display.media.image.responsive_3x2.yml @@ -20,7 +20,7 @@ mode: responsive_3x2 content: field_media_image: type: responsive_image - label: visually_hidden + label: hidden settings: responsive_image_style: 3_2_image image_link: '' diff --git a/frontend/drupal9/web/core/profiles/demo_umami/config/install/core.entity_view_display.media.image.scale_crop_7_3_large.yml b/frontend/drupal9/web/core/profiles/demo_umami/config/install/core.entity_view_display.media.image.scale_crop_7_3_large.yml index dfdc3ca82..565919999 100644 --- a/frontend/drupal9/web/core/profiles/demo_umami/config/install/core.entity_view_display.media.image.scale_crop_7_3_large.yml +++ b/frontend/drupal9/web/core/profiles/demo_umami/config/install/core.entity_view_display.media.image.scale_crop_7_3_large.yml @@ -20,7 +20,7 @@ mode: scale_crop_7_3_large content: field_media_image: type: image - label: visually_hidden + label: hidden settings: image_style: scale_crop_7_3_large image_link: '' diff --git a/frontend/drupal9/web/core/profiles/demo_umami/config/install/editor.editor.basic_html.yml b/frontend/drupal9/web/core/profiles/demo_umami/config/install/editor.editor.basic_html.yml index 4ae2bffdc..62138b876 100644 --- a/frontend/drupal9/web/core/profiles/demo_umami/config/install/editor.editor.basic_html.yml +++ b/frontend/drupal9/web/core/profiles/demo_umami/config/install/editor.editor.basic_html.yml @@ -39,11 +39,7 @@ settings: name: Tools items: - Source - plugins: - language: - language_list: un - stylescombo: - styles: '' + plugins: {} image_upload: status: false scheme: public diff --git a/frontend/drupal9/web/core/profiles/demo_umami/config/install/editor.editor.full_html.yml b/frontend/drupal9/web/core/profiles/demo_umami/config/install/editor.editor.full_html.yml index c0f60d273..0f40656b7 100644 --- a/frontend/drupal9/web/core/profiles/demo_umami/config/install/editor.editor.full_html.yml +++ b/frontend/drupal9/web/core/profiles/demo_umami/config/install/editor.editor.full_html.yml @@ -47,11 +47,7 @@ settings: items: - ShowBlocks - Source - plugins: - language: - language_list: un - stylescombo: - styles: '' + plugins: {} image_upload: status: true scheme: public diff --git a/frontend/drupal9/web/core/profiles/standard/config/install/editor.editor.basic_html.yml b/frontend/drupal9/web/core/profiles/standard/config/install/editor.editor.basic_html.yml index 966cec6a1..cafc88e22 100644 --- a/frontend/drupal9/web/core/profiles/standard/config/install/editor.editor.basic_html.yml +++ b/frontend/drupal9/web/core/profiles/standard/config/install/editor.editor.basic_html.yml @@ -39,9 +39,7 @@ settings: name: Tools items: - Source - plugins: - stylescombo: - styles: '' + plugins: {} image_upload: status: true scheme: public diff --git a/frontend/drupal9/web/core/profiles/standard/config/install/editor.editor.full_html.yml b/frontend/drupal9/web/core/profiles/standard/config/install/editor.editor.full_html.yml index f5dd7bcc1..a423369d1 100644 --- a/frontend/drupal9/web/core/profiles/standard/config/install/editor.editor.full_html.yml +++ b/frontend/drupal9/web/core/profiles/standard/config/install/editor.editor.full_html.yml @@ -47,9 +47,7 @@ settings: items: - ShowBlocks - Source - plugins: - stylescombo: - styles: '' + plugins: {} image_upload: status: true scheme: public diff --git a/frontend/drupal9/web/core/tests/Drupal/BuildTests/Framework/BuildTestBase.php b/frontend/drupal9/web/core/tests/Drupal/BuildTests/Framework/BuildTestBase.php index a6de48990..e13b45020 100644 --- a/frontend/drupal9/web/core/tests/Drupal/BuildTests/Framework/BuildTestBase.php +++ b/frontend/drupal9/web/core/tests/Drupal/BuildTests/Framework/BuildTestBase.php @@ -142,6 +142,13 @@ abstract class BuildTestBase extends TestCase { */ private $commandProcess; + /** + * The PHP executable finder. + * + * @var \Symfony\Component\Process\PhpExecutableFinder + */ + private $phpFinder; + /** * {@inheritdoc} */ diff --git a/frontend/drupal9/web/core/tests/Drupal/FunctionalJavascriptTests/Ajax/DialogTest.php b/frontend/drupal9/web/core/tests/Drupal/FunctionalJavascriptTests/Ajax/DialogTest.php index de6cd4136..ef9c6d9b0 100644 --- a/frontend/drupal9/web/core/tests/Drupal/FunctionalJavascriptTests/Ajax/DialogTest.php +++ b/frontend/drupal9/web/core/tests/Drupal/FunctionalJavascriptTests/Ajax/DialogTest.php @@ -172,8 +172,7 @@ class DialogTest extends WebDriverTestBase { $this->drupalGet('admin/structure/contact/add'); // Check we get a chunk of the code, we can't test the whole form as form // build id and token with be different. - $contact_form = $this->xpath("//form[@id='contact-form-add-form']"); - $this->assertNotEmpty($contact_form, 'Non-JS entity form page present.'); + $this->assertSession()->elementExists('xpath', "//form[@id='contact-form-add-form']"); // Reset: Return to the dialog links page. $this->drupalGet('ajax-test/dialog'); diff --git a/frontend/drupal9/web/core/tests/Drupal/FunctionalJavascriptTests/Ajax/FormValuesTest.php b/frontend/drupal9/web/core/tests/Drupal/FunctionalJavascriptTests/Ajax/FormValuesTest.php index 7fbbe0540..1926189d1 100644 --- a/frontend/drupal9/web/core/tests/Drupal/FunctionalJavascriptTests/Ajax/FormValuesTest.php +++ b/frontend/drupal9/web/core/tests/Drupal/FunctionalJavascriptTests/Ajax/FormValuesTest.php @@ -64,7 +64,6 @@ class FormValuesTest extends WebDriverTestBase { $this->assertFileDoesNotExist(DRUPAL_ROOT . '/' . $this->siteDirectory . '/error.log'); // We don't need to check for the X-Drupal-Ajax-Token header with these // invalid requests. - $this->assertAjaxHeader = FALSE; foreach (['null', 'empty', 'nonexistent'] as $key) { $element_name = 'select_' . $key . '_callback'; // Updating the field will trigger an AJAX request/response. diff --git a/frontend/drupal9/web/core/tests/Drupal/FunctionalTests/Bootstrap/UncaughtExceptionTest.php b/frontend/drupal9/web/core/tests/Drupal/FunctionalTests/Bootstrap/UncaughtExceptionTest.php index 901050e22..1e2c619c1 100644 --- a/frontend/drupal9/web/core/tests/Drupal/FunctionalTests/Bootstrap/UncaughtExceptionTest.php +++ b/frontend/drupal9/web/core/tests/Drupal/FunctionalTests/Bootstrap/UncaughtExceptionTest.php @@ -105,8 +105,8 @@ class UncaughtExceptionTest extends BrowserTestBase { $this->assertSession()->responseContains((string) $message); $this->assertSession()->responseContains('
');
     // Ensure we are escaping but not double escaping.
-    $this->assertSession()->responseContains(''');
-    $this->assertSession()->responseNotContains('&#039;');
+    $this->assertSession()->responseContains('>');
+    $this->assertSession()->responseNotContains('&gt;');
   }
 
   /**
diff --git a/frontend/drupal9/web/core/tests/Drupal/FunctionalTests/ExistingDrupal8StyleDatabaseConnectionInSettingsPhpTest.php b/frontend/drupal9/web/core/tests/Drupal/FunctionalTests/ExistingDrupal8StyleDatabaseConnectionInSettingsPhpTest.php
index 855387f69..3a8a1342d 100644
--- a/frontend/drupal9/web/core/tests/Drupal/FunctionalTests/ExistingDrupal8StyleDatabaseConnectionInSettingsPhpTest.php
+++ b/frontend/drupal9/web/core/tests/Drupal/FunctionalTests/ExistingDrupal8StyleDatabaseConnectionInSettingsPhpTest.php
@@ -2,6 +2,7 @@
 
 namespace Drupal\FunctionalTests;
 
+use Drupal\Core\Database\Connection;
 use Drupal\Core\Database\Database;
 use Drupal\Tests\BrowserTestBase;
 
@@ -35,6 +36,19 @@ class ExistingDrupal8StyleDatabaseConnectionInSettingsPhpTest extends BrowserTes
     $namespace_search = "'namespace' => 'Drupal\\\\$driver\\\\Driver\\\\Database\\\\$driver',";
     $namespace_replace = "'namespace' => 'Drupal\\\\Core\\\\Database\\\\Driver\\\\$driver',";
     $contents = str_replace($namespace_search, $namespace_replace, $contents);
+
+    // Add a replica connection to the database settings.
+    $contents .= "\$databases['default']['replica'][] = array (\n";
+    $contents .= "  'database' => 'db',\n";
+    $contents .= "  'username' => 'db',\n";
+    $contents .= "  'password' => 'db',\n";
+    $contents .= "  'prefix' => 'test22806835',\n";
+    $contents .= "  'host' => 'db',\n";
+    $contents .= "  'port' => 3306,\n";
+    $contents .= "  $namespace_replace\n";
+    $contents .= "  'driver' => 'mysql',\n";
+    $contents .= ");\n";
+
     file_put_contents($filename, $contents);
   }
 
@@ -56,4 +70,14 @@ class ExistingDrupal8StyleDatabaseConnectionInSettingsPhpTest extends BrowserTes
     $this->assertStringNotContainsString("'autoload' => 'core/modules/$driver/src/Driver/Database/$driver/", $contents);
   }
 
+  /**
+   * Confirms that the replica database connection works.
+   */
+  public function testReplicaDrupal8StyleDatabaseConnectionInSettingsPhp() {
+    $this->drupalLogin($this->drupalCreateUser());
+
+    $replica = Database::getConnection('replica', 'default');
+    $this->assertInstanceOf(Connection::class, $replica);
+  }
+
 }
diff --git a/frontend/drupal9/web/core/tests/Drupal/FunctionalTests/Installer/DistributionProfileTranslationTest.php b/frontend/drupal9/web/core/tests/Drupal/FunctionalTests/Installer/DistributionProfileTranslationTest.php
index 90c8c4c62..bcbb1a9cb 100644
--- a/frontend/drupal9/web/core/tests/Drupal/FunctionalTests/Installer/DistributionProfileTranslationTest.php
+++ b/frontend/drupal9/web/core/tests/Drupal/FunctionalTests/Installer/DistributionProfileTranslationTest.php
@@ -84,8 +84,7 @@ class DistributionProfileTranslationTest extends InstallerTestBase {
     $this->translations['Save and continue'] = 'Save and continue de';
 
     // Check the language direction.
-    $direction = current($this->xpath('/@dir'))->getText();
-    $this->assertEquals('ltr', $direction);
+    $this->assertSession()->elementTextEquals('xpath', '/@dir', 'ltr');
 
     // Verify that the distribution name appears.
     $this->assertSession()->pageTextContains($this->info['distribution']['name']);
diff --git a/frontend/drupal9/web/core/tests/Drupal/FunctionalTests/Installer/InstallerLanguageDirectionTest.php b/frontend/drupal9/web/core/tests/Drupal/FunctionalTests/Installer/InstallerLanguageDirectionTest.php
index 4fbf2451c..044506b6c 100644
--- a/frontend/drupal9/web/core/tests/Drupal/FunctionalTests/Installer/InstallerLanguageDirectionTest.php
+++ b/frontend/drupal9/web/core/tests/Drupal/FunctionalTests/Installer/InstallerLanguageDirectionTest.php
@@ -36,8 +36,7 @@ class InstallerLanguageDirectionTest extends InstallerTestBase {
     $this->translations['Save and continue'] = 'Save and continue Arabic';
 
     // Verify that language direction is right-to-left.
-    $direction = current($this->xpath('/@dir'))->getText();
-    $this->assertEquals('rtl', $direction);
+    $this->assertSession()->elementTextEquals('xpath', '/@dir', 'rtl');
   }
 
   /**
diff --git a/frontend/drupal9/web/core/tests/Drupal/FunctionalTests/Installer/InstallerTranslationQueryTest.php b/frontend/drupal9/web/core/tests/Drupal/FunctionalTests/Installer/InstallerTranslationQueryTest.php
index fe9da0950..3293b1d3a 100644
--- a/frontend/drupal9/web/core/tests/Drupal/FunctionalTests/Installer/InstallerTranslationQueryTest.php
+++ b/frontend/drupal9/web/core/tests/Drupal/FunctionalTests/Installer/InstallerTranslationQueryTest.php
@@ -41,8 +41,7 @@ class InstallerTranslationQueryTest extends InstallerTestBase {
     $this->translations['Save and continue'] = 'Save and continue de';
 
     // Check the language direction.
-    $direction = current($this->xpath('/@dir'))->getText();
-    $this->assertEquals('ltr', $direction);
+    $this->assertSession()->elementTextEquals('xpath', '/@dir', 'ltr');
   }
 
   /**
diff --git a/frontend/drupal9/web/core/tests/Drupal/FunctionalTests/Installer/InstallerTranslationTest.php b/frontend/drupal9/web/core/tests/Drupal/FunctionalTests/Installer/InstallerTranslationTest.php
index b8c6aa378..f4382e5d4 100644
--- a/frontend/drupal9/web/core/tests/Drupal/FunctionalTests/Installer/InstallerTranslationTest.php
+++ b/frontend/drupal9/web/core/tests/Drupal/FunctionalTests/Installer/InstallerTranslationTest.php
@@ -40,8 +40,7 @@ class InstallerTranslationTest extends InstallerTestBase {
     $this->translations['Save and continue'] = 'Save and continue de';
 
     // Check the language direction.
-    $direction = current($this->xpath('/@dir'))->getText();
-    $this->assertEquals('ltr', $direction);
+    $this->assertSession()->elementTextEquals('xpath', '/@dir', 'ltr');
   }
 
   /**
diff --git a/frontend/drupal9/web/core/tests/Drupal/KernelTests/AssertContentTrait.php b/frontend/drupal9/web/core/tests/Drupal/KernelTests/AssertContentTrait.php
index 162704778..40d17a2ec 100644
--- a/frontend/drupal9/web/core/tests/Drupal/KernelTests/AssertContentTrait.php
+++ b/frontend/drupal9/web/core/tests/Drupal/KernelTests/AssertContentTrait.php
@@ -125,7 +125,7 @@ trait AssertContentTrait {
       // DOM can load HTML soup. But, HTML soup can throw warnings, suppress
       // them.
       $html_dom = new \DOMDocument();
-      @$html_dom->loadHTML('' . $this->getRawContent());
+      @$html_dom->loadHTML('' . $this->getRawContent(), LIBXML_NOBLANKS);
       if ($html_dom) {
         // It's much easier to work with simplexml than DOM, luckily enough
         // we can just simply import our DOM tree.
@@ -143,7 +143,7 @@ trait AssertContentTrait {
    *   The current URL.
    */
   protected function getUrl() {
-    return $this->url ?? 'no-url';
+    return 'no-url';
   }
 
   /**
diff --git a/frontend/drupal9/web/core/tests/Drupal/KernelTests/Core/Asset/DeprecatedJqueryUiAssetsTest.php b/frontend/drupal9/web/core/tests/Drupal/KernelTests/Core/Asset/DeprecatedJqueryUiAssetsTest.php
index 5ee29cb4b..e8a40c3b4 100644
--- a/frontend/drupal9/web/core/tests/Drupal/KernelTests/Core/Asset/DeprecatedJqueryUiAssetsTest.php
+++ b/frontend/drupal9/web/core/tests/Drupal/KernelTests/Core/Asset/DeprecatedJqueryUiAssetsTest.php
@@ -20,16 +20,16 @@ class DeprecatedJqueryUiAssetsTest extends KernelTestBase {
     /** @var \Drupal\Core\Asset\LibraryDiscoveryInterface $library_discovery */
     $library_discovery = $this->container->get('library.discovery');
     $deprecated_jquery_ui_libraries = [
-      'jquery.ui' => '85b66ea404a9aa3ca71ee243f849efea',
-      'jquery.ui.autocomplete' => '76ef835c38b36f0fb4f3609681870223',
-      'jquery.ui.button' => 'e3a8fd396547c14bd508ccd302e23c2c',
-      'jquery.ui.dialog' => '5774b51ff4a57dae7137b65d8025fb13',
-      'jquery.ui.draggable' => 'bcb81f27f5f90036b5fe91eb92950872',
-      'jquery.ui.menu' => '9acdd7d55c7c03600c161385353eeff7',
-      'jquery.ui.mouse' => '4c755c0bfc5860b59b9a3a9dd2dcd016',
-      'jquery.ui.position' => 'd51b206fb9272838e23ff9f4f24608aa',
-      'jquery.ui.resizable' => '9e128d4abf2efe50c688475390808b54',
-      'jquery.ui.widget' => '6a2eff802beb4439333502dd2516239d',
+      'jquery.ui' => '3c4551a9802f6f88da8f685f3d78ccba',
+      'jquery.ui.autocomplete' => 'ff434e5a016731d7a62a3c46283e20b0',
+      'jquery.ui.button' => '4e521b5804eaa76ae908539ed1612028',
+      'jquery.ui.dialog' => 'faf28d84752fea7264209d8fee4b5414',
+      'jquery.ui.draggable' => '86ea35efa688f090c9d435cb1666014a',
+      'jquery.ui.menu' => 'de39d6e2b23c0b83cb38f98026e757b3',
+      'jquery.ui.mouse' => '4d9f68fec0cc54bf963322952394d747',
+      'jquery.ui.position' => '2db44403539779784f281c6f2bcf27ae',
+      'jquery.ui.resizable' => '088c49425278a556f56099aa3279bc52',
+      'jquery.ui.widget' => '076795e1a215a8203cbd048082166419',
     ];
     // DrupalCI uses a precision of 100 in certain environments which breaks
     // this test.
diff --git a/frontend/drupal9/web/core/tests/Drupal/KernelTests/Core/Entity/ContentEntityNonRevisionableFieldTest.php b/frontend/drupal9/web/core/tests/Drupal/KernelTests/Core/Entity/ContentEntityNonRevisionableFieldTest.php
index be73cf8ec..066c14517 100644
--- a/frontend/drupal9/web/core/tests/Drupal/KernelTests/Core/Entity/ContentEntityNonRevisionableFieldTest.php
+++ b/frontend/drupal9/web/core/tests/Drupal/KernelTests/Core/Entity/ContentEntityNonRevisionableFieldTest.php
@@ -37,6 +37,20 @@ class ContentEntityNonRevisionableFieldTest extends EntityKernelTestBase {
    */
   protected $rev;
 
+  /**
+   * The entity field manager.
+   *
+   * @var \Drupal\Core\Entity\EntityFieldManagerInterface
+   */
+  protected $entityFieldManager;
+
+  /**
+   * The entity definition update manager.
+   *
+   * @var \Drupal\Core\Entity\EntityDefinitionUpdateManagerInterface
+   */
+  protected $entityDefinitionUpdateManager;
+
   /**
    * {@inheritdoc}
    */
diff --git a/frontend/drupal9/web/core/tests/Drupal/KernelTests/Core/Entity/DefaultTableMappingIntegrationTest.php b/frontend/drupal9/web/core/tests/Drupal/KernelTests/Core/Entity/DefaultTableMappingIntegrationTest.php
index 0e5815ab7..b21182c22 100644
--- a/frontend/drupal9/web/core/tests/Drupal/KernelTests/Core/Entity/DefaultTableMappingIntegrationTest.php
+++ b/frontend/drupal9/web/core/tests/Drupal/KernelTests/Core/Entity/DefaultTableMappingIntegrationTest.php
@@ -31,6 +31,20 @@ class DefaultTableMappingIntegrationTest extends EntityKernelTestBase {
    */
   protected static $modules = ['entity_test_extra'];
 
+  /**
+   * The entity field manager.
+   *
+   * @var \Drupal\Core\Entity\EntityFieldManagerInterface
+   */
+  protected $entityFieldManager;
+
+  /**
+   * The entity definition update manager.
+   *
+   * @var \Drupal\Core\Entity\EntityDefinitionUpdateManagerInterface
+   */
+  protected $entityDefinitionUpdateManager;
+
   /**
    * {@inheritdoc}
    */
diff --git a/frontend/drupal9/web/core/tests/Drupal/KernelTests/Core/Entity/EntitySchemaTest.php b/frontend/drupal9/web/core/tests/Drupal/KernelTests/Core/Entity/EntitySchemaTest.php
index f4c5844e0..b7f44ca36 100644
--- a/frontend/drupal9/web/core/tests/Drupal/KernelTests/Core/Entity/EntitySchemaTest.php
+++ b/frontend/drupal9/web/core/tests/Drupal/KernelTests/Core/Entity/EntitySchemaTest.php
@@ -30,6 +30,20 @@ class EntitySchemaTest extends EntityKernelTestBase {
    */
   protected $database;
 
+  /**
+   * The entity field manager.
+   *
+   * @var \Drupal\Core\Entity\EntityFieldManagerInterface
+   */
+  protected $entityFieldManager;
+
+  /**
+   * The entity definition update manager.
+   *
+   * @var \Drupal\Core\Entity\EntityDefinitionUpdateManagerInterface
+   */
+  protected $entityDefinitionUpdateManager;
+
   /**
    * {@inheritdoc}
    */
diff --git a/frontend/drupal9/web/core/tests/Drupal/KernelTests/Core/Entity/EntityValidationTest.php b/frontend/drupal9/web/core/tests/Drupal/KernelTests/Core/Entity/EntityValidationTest.php
index c4426c3c7..0b8f84356 100644
--- a/frontend/drupal9/web/core/tests/Drupal/KernelTests/Core/Entity/EntityValidationTest.php
+++ b/frontend/drupal9/web/core/tests/Drupal/KernelTests/Core/Entity/EntityValidationTest.php
@@ -34,6 +34,11 @@ class EntityValidationTest extends EntityKernelTestBase {
    */
   protected $entityFieldText;
 
+  /**
+   * @var array
+   */
+  protected $cachedDiscoveries;
+
   /**
    * {@inheritdoc}
    */
diff --git a/frontend/drupal9/web/core/tests/Drupal/KernelTests/Core/Field/FieldType/PasswordItemTest.php b/frontend/drupal9/web/core/tests/Drupal/KernelTests/Core/Field/FieldType/PasswordItemTest.php
index 9b496beed..7cb0a4770 100644
--- a/frontend/drupal9/web/core/tests/Drupal/KernelTests/Core/Field/FieldType/PasswordItemTest.php
+++ b/frontend/drupal9/web/core/tests/Drupal/KernelTests/Core/Field/FieldType/PasswordItemTest.php
@@ -155,7 +155,7 @@ class PasswordItemTest extends FieldKernelTestBase {
     $entity->test_field = '     ';
     $entity->save();
 
-    // @todo Fix this bug in https://www.drupal.org/project/i/3238399.
+    // @todo Fix this bug in https://www.drupal.org/project/drupal/issues/3238399.
     $this->assertSame('     ', $entity->test_field->value);
   }
 
diff --git a/frontend/drupal9/web/core/tests/Drupal/KernelTests/Core/Image/ToolkitTest.php b/frontend/drupal9/web/core/tests/Drupal/KernelTests/Core/Image/ToolkitTest.php
index 1f4315db0..370837de7 100644
--- a/frontend/drupal9/web/core/tests/Drupal/KernelTests/Core/Image/ToolkitTest.php
+++ b/frontend/drupal9/web/core/tests/Drupal/KernelTests/Core/Image/ToolkitTest.php
@@ -31,6 +31,13 @@ class ToolkitTest extends KernelTestBase {
    */
   protected $image;
 
+  /**
+   * The image effect plugin manager service.
+   *
+   * @var \Drupal\image\ImageEffectManager
+   */
+  protected $imageEffectPluginManager;
+
   /**
    * {@inheritdoc}
    */
diff --git a/frontend/drupal9/web/core/tests/Drupal/KernelTests/Core/Queue/QueueSerializationTest.php b/frontend/drupal9/web/core/tests/Drupal/KernelTests/Core/Queue/QueueSerializationTest.php
index c3f4f814b..566164847 100644
--- a/frontend/drupal9/web/core/tests/Drupal/KernelTests/Core/Queue/QueueSerializationTest.php
+++ b/frontend/drupal9/web/core/tests/Drupal/KernelTests/Core/Queue/QueueSerializationTest.php
@@ -25,6 +25,11 @@ class QueueSerializationTest extends KernelTestBase implements FormInterface {
    */
   protected static $modules = ['system', 'user'];
 
+  /**
+   * @var \Drupal\Core\Queue\DatabaseQueue
+   */
+  protected $queue;
+
   /**
    * {@inheritdoc}
    */
diff --git a/frontend/drupal9/web/core/tests/Drupal/KernelTests/Core/Theme/ImageTest.php b/frontend/drupal9/web/core/tests/Drupal/KernelTests/Core/Theme/ImageTest.php
index ecbf86022..c315722c1 100644
--- a/frontend/drupal9/web/core/tests/Drupal/KernelTests/Core/Theme/ImageTest.php
+++ b/frontend/drupal9/web/core/tests/Drupal/KernelTests/Core/Theme/ImageTest.php
@@ -88,8 +88,6 @@ class ImageTest extends KernelTestBase {
     $this->render($image);
 
     // Make sure the src attribute has the correct value.
-    /** @var \Drupal\Core\File\FileUrlGeneratorInterface $this->fileUrlGenerator */
-    $this->fileUrlGenerator = $this->fileUrlGenerator;
     $this->assertRaw($this->fileUrlGenerator->generateString($image['#uri']), 'Correct output for an image with the src attribute.');
   }
 
diff --git a/frontend/drupal9/web/core/tests/Drupal/KernelTests/KernelTestBase.php b/frontend/drupal9/web/core/tests/Drupal/KernelTests/KernelTestBase.php
index f9be071cb..b4b97883f 100644
--- a/frontend/drupal9/web/core/tests/Drupal/KernelTests/KernelTestBase.php
+++ b/frontend/drupal9/web/core/tests/Drupal/KernelTests/KernelTestBase.php
@@ -262,7 +262,6 @@ abstract class KernelTestBase extends TestCase implements ServiceProviderInterfa
    * @internal
    */
   protected function bootEnvironment() {
-    $this->streamWrappers = [];
     \Drupal::unsetContainer();
 
     $this->classLoader = require $this->root . '/autoload.php';
diff --git a/frontend/drupal9/web/core/tests/Drupal/TestSite/Commands/TestSiteInstallCommand.php b/frontend/drupal9/web/core/tests/Drupal/TestSite/Commands/TestSiteInstallCommand.php
index fb92ee8ec..f43eec027 100644
--- a/frontend/drupal9/web/core/tests/Drupal/TestSite/Commands/TestSiteInstallCommand.php
+++ b/frontend/drupal9/web/core/tests/Drupal/TestSite/Commands/TestSiteInstallCommand.php
@@ -46,13 +46,6 @@ class TestSiteInstallCommand extends Command {
    */
   protected $timeLimit = 500;
 
-  /**
-   * The database prefix of this test run.
-   *
-   * @var string
-   */
-  protected $databasePrefix;
-
   /**
    * The language to install the site in.
    *
diff --git a/frontend/drupal9/web/core/tests/Drupal/Tests/BrowserHtmlDebugTrait.php b/frontend/drupal9/web/core/tests/Drupal/Tests/BrowserHtmlDebugTrait.php
index fe559499f..9ef1913ab 100644
--- a/frontend/drupal9/web/core/tests/Drupal/Tests/BrowserHtmlDebugTrait.php
+++ b/frontend/drupal9/web/core/tests/Drupal/Tests/BrowserHtmlDebugTrait.php
@@ -182,7 +182,9 @@ trait BrowserHtmlDebugTrait {
               /** @var \Psr\Http\Message\StreamInterface $stream */
               $stream = $response->getBody();
 
-              // Get the response body as a string.
+              // Get the response body as a string. The response stream is set
+              // to the sink, which defaults to a readable temp stream but can
+              // be overridden by setting $options['sink'].
               $body = $stream->isReadable()
                 ? (string) $stream
                 : 'Response is not readable.';
diff --git a/frontend/drupal9/web/core/tests/Drupal/Tests/BrowserTestBase.php b/frontend/drupal9/web/core/tests/Drupal/Tests/BrowserTestBase.php
index d4703ed2c..4c452d005 100644
--- a/frontend/drupal9/web/core/tests/Drupal/Tests/BrowserTestBase.php
+++ b/frontend/drupal9/web/core/tests/Drupal/Tests/BrowserTestBase.php
@@ -75,13 +75,6 @@ abstract class BrowserTestBase extends TestCase {
   use ExpectDeprecationTrait;
   use ExtensionListTestTrait;
 
-  /**
-   * The database prefix of this test run.
-   *
-   * @var string
-   */
-  protected $databasePrefix;
-
   /**
    * Time limit in seconds for the test.
    *
@@ -203,13 +196,6 @@ abstract class BrowserTestBase extends TestCase {
    */
   protected $originalShutdownCallbacks = [];
 
-  /**
-   * The app root.
-   *
-   * @var string
-   */
-  protected $root;
-
   /**
    * The original container.
    *
diff --git a/frontend/drupal9/web/core/tests/Drupal/Tests/Composer/Plugin/Scaffold/Functional/ComposerHookTest.php b/frontend/drupal9/web/core/tests/Drupal/Tests/Composer/Plugin/Scaffold/Functional/ComposerHookTest.php
index 1bc89295b..9c755941d 100644
--- a/frontend/drupal9/web/core/tests/Drupal/Tests/Composer/Plugin/Scaffold/Functional/ComposerHookTest.php
+++ b/frontend/drupal9/web/core/tests/Drupal/Tests/Composer/Plugin/Scaffold/Functional/ComposerHookTest.php
@@ -115,16 +115,6 @@ class ComposerHookTest extends BuildTestBase {
     $this->assertDirectoryExists($sut);
     $this->assertStringContainsString('Scaffolding files for fixtures/drupal-drupal', $stdout);
     $this->assertScaffoldedFile($sut . '/index.php', FALSE, 'Test version of index.php from drupal/core');
-    $topLevelProjectDir = 'composer-hooks-nothing-allowed-fixture';
-    $sut = $this->fixturesDir . '/' . $topLevelProjectDir;
-    // Run composer install on an empty project.
-    $this->mustExec("composer install --no-ansi", $sut);
-    // Require a project that is not allowed to scaffold and confirm that we
-    // get a warning, and it does not scaffold.
-    $this->executeCommand("composer require --no-ansi --no-interaction fixtures/drupal-assets-fixture:dev-main fixtures/scaffold-override-fixture:dev-main", $sut);
-    $this->assertCommandSuccessful();
-    $this->assertFileDoesNotExist($sut . '/sites/default/default.settings.php');
-    $this->assertErrorOutputContains('See https://getcomposer.org/allow-plugins');
   }
 
   /**
diff --git a/frontend/drupal9/web/core/tests/Drupal/Tests/Composer/Plugin/Scaffold/Functional/ScaffoldUpgradeTest.php b/frontend/drupal9/web/core/tests/Drupal/Tests/Composer/Plugin/Scaffold/Functional/ScaffoldUpgradeTest.php
index 29f50fa13..d51e16925 100644
--- a/frontend/drupal9/web/core/tests/Drupal/Tests/Composer/Plugin/Scaffold/Functional/ScaffoldUpgradeTest.php
+++ b/frontend/drupal9/web/core/tests/Drupal/Tests/Composer/Plugin/Scaffold/Functional/ScaffoldUpgradeTest.php
@@ -33,6 +33,13 @@ class ScaffoldUpgradeTest extends TestCase {
    */
   protected $fixtures;
 
+  /**
+   * The Fixtures directory.
+   *
+   * @var string
+   */
+  protected $fixturesDir;
+
   /**
    * {@inheritdoc}
    */
diff --git a/frontend/drupal9/web/core/tests/Drupal/Tests/Composer/Plugin/Scaffold/fixtures/composer-hooks-nothing-allowed-fixture/assets/robots-default.txt b/frontend/drupal9/web/core/tests/Drupal/Tests/Composer/Plugin/Scaffold/fixtures/composer-hooks-nothing-allowed-fixture/assets/robots-default.txt
deleted file mode 100644
index a26bf8912..000000000
--- a/frontend/drupal9/web/core/tests/Drupal/Tests/Composer/Plugin/Scaffold/fixtures/composer-hooks-nothing-allowed-fixture/assets/robots-default.txt
+++ /dev/null
@@ -1 +0,0 @@
-# robots.txt fixture scaffolded from "file-mappings" in composer-hooks-fixture composer.json fixture.
diff --git a/frontend/drupal9/web/core/tests/Drupal/Tests/Composer/Plugin/Scaffold/fixtures/composer-hooks-nothing-allowed-fixture/composer.json.tmpl b/frontend/drupal9/web/core/tests/Drupal/Tests/Composer/Plugin/Scaffold/fixtures/composer-hooks-nothing-allowed-fixture/composer.json.tmpl
deleted file mode 100644
index 33393c3f5..000000000
--- a/frontend/drupal9/web/core/tests/Drupal/Tests/Composer/Plugin/Scaffold/fixtures/composer-hooks-nothing-allowed-fixture/composer.json.tmpl
+++ /dev/null
@@ -1,64 +0,0 @@
-{
-  "name": "fixtures/drupal-drupal",
-  "type": "project",
-  "minimum-stability": "dev",
-  "prefer-stable": true,
-  "repositories": {
-    "packagist.org": false,
-    "composer-scaffold": {
-      "type": "path",
-      "url": "__PROJECT_ROOT__",
-      "options": {
-        "symlink": true
-      }
-    },
-    "drupal-core-fixture": {
-      "type": "path",
-      "url": "../drupal-core-fixture",
-      "options": {
-        "symlink": true
-      }
-    },
-    "drupal-assets-fixture": {
-      "type": "path",
-      "url": "../drupal-assets-fixture",
-      "options": {
-        "symlink": true
-      }
-    },
-    "scaffold-override-fixture": {
-      "type": "path",
-      "url": "../scaffold-override-fixture",
-      "options": {
-        "symlink": true
-      }
-    }
-  },
-  "require": {
-    "drupal/core-composer-scaffold": "*",
-    "fixtures/drupal-core-fixture": "*"
-  },
-  "extra": {
-    "drupal-scaffold": {
-      "locations": {
-        "web-root": "./"
-      },
-      "symlink": __SYMLINK__,
-      "file-mapping": {
-        "[web-root]/.htaccess": false,
-        "[web-root]/robots.txt": "assets/robots-default.txt"
-      }
-    },
-    "installer-paths": {
-      "core": ["type:drupal-core"],
-      "modules/contrib/{$name}": ["type:drupal-module"],
-      "modules/custom/{$name}": ["type:drupal-custom-module"],
-      "profiles/contrib/{$name}": ["type:drupal-profile"],
-      "profiles/custom/{$name}": ["type:drupal-custom-profile"],
-      "themes/contrib/{$name}": ["type:drupal-theme"],
-      "themes/custom/{$name}": ["type:drupal-custom-theme"],
-      "libraries/{$name}": ["type:drupal-library"],
-      "drush/Commands/contrib/{$name}": ["type:drupal-drush"]
-    }
-  }
-}
diff --git a/frontend/drupal9/web/core/tests/Drupal/Tests/ComposerIntegrationTest.php b/frontend/drupal9/web/core/tests/Drupal/Tests/ComposerIntegrationTest.php
index 55b87ad8a..7b356dbb0 100644
--- a/frontend/drupal9/web/core/tests/Drupal/Tests/ComposerIntegrationTest.php
+++ b/frontend/drupal9/web/core/tests/Drupal/Tests/ComposerIntegrationTest.php
@@ -6,7 +6,7 @@ use Drupal\Composer\Plugin\VendorHardening\Config;
 use Drupal\Core\Composer\Composer;
 use Drupal\Tests\Composer\ComposerIntegrationTrait;
 use Drupal\TestTools\PhpUnitCompatibility\RunnerVersion;
-use Symfony\Component\Yaml\Yaml;
+use Symfony\Component\Finder\Finder;
 
 /**
  * Tests Composer integration.
@@ -90,45 +90,42 @@ class ComposerIntegrationTest extends UnitTestCase {
   /**
    * Tests core's composer.json replace section.
    *
-   * Verify that all core modules are also listed in the 'replace' section of
+   * Verify that all core components are also listed in the 'replace' section of
    * core's composer.json.
    */
-  public function testAllModulesReplaced() {
-    // Assemble a path to core modules.
-    $module_path = $this->root . '/core/modules';
+  public function testAllCoreComponentsReplaced(): void {
+    // Assemble a path to core components.
+    $components_path = $this->root . '/core/lib/Drupal/Component';
 
     // Grab the 'replace' section of the core composer.json file.
-    $json = json_decode(file_get_contents($this->root . '/core/composer.json'));
+    $json = json_decode(file_get_contents($this->root . '/core/composer.json'), FALSE);
     $composer_replace_packages = (array) $json->replace;
 
-    // Get a list of all the files in the module path.
-    $folders = scandir($module_path);
+    // Get a list of all the composer.json files in the components path.
+    $components_composer_json_files = [];
 
-    // Make sure we only deal with directories that aren't . or ..
-    $module_names = [];
-    $discard = ['.', '..'];
-    foreach ($folders as $file_name) {
-      if ((!in_array($file_name, $discard)) && is_dir($module_path . '/' . $file_name)) {
-        // Skip any modules marked as hidden.
-        $info_yml = $module_path . '/' . $file_name . '/' . $file_name . '.info.yml';
-        if (file_exists($info_yml)) {
-          $info = Yaml::parseFile($info_yml);
-          if (!empty($info['hidden'])) {
-            continue;
-          }
-        }
-        $module_names[] = $file_name;
-      }
+    $composer_json_finder = new Finder();
+    $composer_json_finder->name('composer.json')
+      ->in($components_path)
+      ->ignoreUnreadableDirs();
+
+    foreach ($composer_json_finder->getIterator() as $composer_json) {
+      $components_composer_json_files[$composer_json->getPathname()] = [$composer_json->getPathname()];
     }
-    $this->assertNotEmpty($module_names);
 
-    // Assert that each core module has a corresponding 'replace' in
+    $this->assertNotEmpty($components_composer_json_files);
+    $this->assertCount(count($composer_replace_packages), $components_composer_json_files);
+
+    // Assert that each core components has a corresponding 'replace' in
     // composer.json.
-    foreach ($module_names as $module_name) {
+    foreach ($components_composer_json_files as $components_composer_json_file) {
+      $json = json_decode(file_get_contents(reset($components_composer_json_file)), FALSE);
+      $component_name = $json->name;
+
       $this->assertArrayHasKey(
-        'drupal/' . $module_name,
+        $component_name,
         $composer_replace_packages,
-        'Unable to find ' . $module_name . ' in replace list of composer.json'
+        'Unable to find ' . $component_name . ' in replace list of composer.json'
       );
     }
   }
diff --git a/frontend/drupal9/web/core/tests/Drupal/Tests/Core/Block/BlockManagerTest.php b/frontend/drupal9/web/core/tests/Drupal/Tests/Core/Block/BlockManagerTest.php
index 3f373fae3..8d4d191d0 100644
--- a/frontend/drupal9/web/core/tests/Drupal/Tests/Core/Block/BlockManagerTest.php
+++ b/frontend/drupal9/web/core/tests/Drupal/Tests/Core/Block/BlockManagerTest.php
@@ -11,6 +11,7 @@ use Drupal\Core\Session\AccountInterface;
 use Drupal\Tests\UnitTestCase;
 use Psr\Log\LoggerInterface;
 use Drupal\Core\DependencyInjection\ContainerBuilder;
+use Drupal\Core\StringTranslation\StringTranslationTrait;
 
 /**
  * @coversDefaultClass \Drupal\Core\Block\BlockManager
@@ -19,6 +20,8 @@ use Drupal\Core\DependencyInjection\ContainerBuilder;
  */
 class BlockManagerTest extends UnitTestCase {
 
+  use StringTranslationTrait;
+
   /**
    * The block manager under test.
    *
@@ -42,6 +45,7 @@ class BlockManagerTest extends UnitTestCase {
     $container = new ContainerBuilder();
     $current_user = $this->prophesize(AccountInterface::class);
     $container->set('current_user', $current_user->reveal());
+    $container->set('string_translation', $this->getStringTranslationStub());
     \Drupal::setContainer($container);
 
     $cache_backend = $this->prophesize(CacheBackendInterface::class);
@@ -55,22 +59,22 @@ class BlockManagerTest extends UnitTestCase {
     // that are purposefully not in alphabetical order.
     $discovery->getDefinitions()->willReturn([
       'broken' => [
-        'admin_label' => 'Broken/Missing',
-        'category' => 'Block',
+        'admin_label' => $this->t('Broken/Missing'),
+        'category' => $this->t('Block'),
         'class' => Broken::class,
         'provider' => 'core',
       ],
       'block1' => [
-        'admin_label' => 'Coconut',
-        'category' => 'Group 2',
+        'admin_label' => $this->t('Coconut'),
+        'category' => $this->t('Group 2'),
       ],
       'block2' => [
-        'admin_label' => 'Apple',
-        'category' => 'Group 1',
+        'admin_label' => $this->t('Apple'),
+        'category' => $this->t('Group 1'),
       ],
       'block3' => [
-        'admin_label' => 'Banana',
-        'category' => 'Group 2',
+        'admin_label' => $this->t('Banana'),
+        'category' => $this->t('Group 2'),
       ],
     ]);
     // Force the discovery object onto the block manager.
diff --git a/frontend/drupal9/web/core/tests/Drupal/Tests/Core/Command/GenerateThemeTest.php b/frontend/drupal9/web/core/tests/Drupal/Tests/Core/Command/GenerateThemeTest.php
index 9b0d776c8..23f5e899b 100644
--- a/frontend/drupal9/web/core/tests/Drupal/Tests/Core/Command/GenerateThemeTest.php
+++ b/frontend/drupal9/web/core/tests/Drupal/Tests/Core/Command/GenerateThemeTest.php
@@ -99,6 +99,10 @@ class GenerateThemeTest extends QuickStartTestBase {
     self::assertArrayHasKey('generator', $info);
     self::assertEquals('starterkit_theme:9.4.0', $info['generator']);
 
+    // Confirm readme is rewritten.
+    $readme_file = $this->getWorkspaceDirectory() . "/$theme_path_relative/README.md";
+    $this->assertSame('test_custom_theme theme, generated from starterkit_theme. Additional information on generating themes can be found in the [Starterkit documentation](https://www.drupal.org/docs/core-modules-and-themes/core-themes/starterkit-theme).', file_get_contents($readme_file));
+
     // Ensure that the generated theme can be installed.
     $this->installQuickStart('minimal');
     $this->formLogin($this->adminUsername, $this->adminPassword);
@@ -121,6 +125,40 @@ class GenerateThemeTest extends QuickStartTestBase {
     $this->assertFileDoesNotExist($theme_path_absolute . '/test_custom_theme.theme');
   }
 
+  /**
+   * Tests generating a theme from another Starterkit enabled theme.
+   */
+  public function testGeneratingFromAnotherTheme() {
+    // Do not rely on \Drupal::VERSION: change the version to a concrete version
+    // number, to simulate using a tagged core release.
+    $starterkit_info_yml = $this->getWorkspaceDirectory() . '/core/themes/starterkit_theme/starterkit_theme.info.yml';
+    $info = Yaml::decode(file_get_contents($starterkit_info_yml));
+    $info['version'] = '9.4.0';
+    file_put_contents($starterkit_info_yml, Yaml::encode($info));
+
+    $process = $this->generateThemeFromStarterkit();
+    $exit_code = $process->run();
+    $this->assertSame('Theme generated successfully to themes/test_custom_theme', trim($process->getOutput()), $process->getErrorOutput());
+    $this->assertSame(0, $exit_code);
+    $install_command = [
+      $this->php,
+      'core/scripts/drupal',
+      'generate-theme',
+      'generated_from_another_theme',
+      '--name="Generated from another theme"',
+      '--description="Custom theme generated from a theme other than starterkit_theme"',
+      '--starterkit=test_custom_theme',
+    ];
+    $process = new Process($install_command);
+    $exit_code = $process->run();
+    $this->assertSame('Theme generated successfully to themes/generated_from_another_theme', trim($process->getOutput()), $process->getErrorOutput());
+    $this->assertSame(0, $exit_code);
+
+    // Confirm readme is rewritten.
+    $readme_file = $this->getWorkspaceDirectory() . '/themes/generated_from_another_theme/README.md';
+    $this->assertSame('generated_from_another_theme theme, generated from test_custom_theme. Additional information on generating themes can be found in the [Starterkit documentation](https://www.drupal.org/docs/core-modules-and-themes/core-themes/starterkit-theme).', file_get_contents($readme_file));
+  }
+
   /**
    * Tests the generate-theme command on a dev snapshot of Drupal core.
    */
diff --git a/frontend/drupal9/web/core/tests/Drupal/Tests/Core/Entity/EntityListBuilderTest.php b/frontend/drupal9/web/core/tests/Drupal/Tests/Core/Entity/EntityListBuilderTest.php
index cd2a7049d..af87b302f 100644
--- a/frontend/drupal9/web/core/tests/Drupal/Tests/Core/Entity/EntityListBuilderTest.php
+++ b/frontend/drupal9/web/core/tests/Drupal/Tests/Core/Entity/EntityListBuilderTest.php
@@ -16,7 +16,7 @@ use Drupal\entity_test\EntityTestListBuilder;
 use Drupal\Tests\UnitTestCase;
 
 /**
- * @coversDefaultClass \Drupal\entity_test\EntityTestListBuilder
+ * @coversDefaultClass \Drupal\Core\Entity\EntityListBuilder
  * @group Entity
  */
 class EntityListBuilderTest extends UnitTestCase {
diff --git a/frontend/drupal9/web/core/tests/Drupal/Tests/Core/Entity/EntityStorageBaseTest.php b/frontend/drupal9/web/core/tests/Drupal/Tests/Core/Entity/EntityStorageBaseTest.php
new file mode 100644
index 000000000..065b770a9
--- /dev/null
+++ b/frontend/drupal9/web/core/tests/Drupal/Tests/Core/Entity/EntityStorageBaseTest.php
@@ -0,0 +1,174 @@
+getMockBuilder('\Drupal\Core\Entity\EntityInterface')
+      ->onlyMethods(['id'])
+      ->getMockForAbstractClass();
+    $mock_entity->expects($this->any())
+      ->method('id')
+      ->willReturn((string) $id);
+    return $mock_entity;
+  }
+
+  /**
+   * Data provider for testLoad().
+   *
+   * @return array
+   *   - Expected output of load().
+   *   - A fixture of entities to query against. Suitable return value for
+   *     loadMultiple().
+   *   - The ID we'll query.
+   */
+  public function providerLoad() {
+    $data = [];
+
+    // Data set for a matching value.
+    $entity = $this->generateEntityInterface('1');
+    $data['matching-value'] = [$entity, ['1' => $entity], '1'];
+
+    // Data set for no matching value.
+    $data['no-matching-value'] = [NULL, [], '0'];
+
+    return $data;
+  }
+
+  /**
+   * @covers ::load
+   *
+   * @dataProvider providerLoad
+   */
+  public function testLoad($expected, $entity_fixture, $query) {
+    $mock_base = $this->getMockBuilder('\Drupal\Core\Entity\EntityStorageBase')
+      ->disableOriginalConstructor()
+      ->onlyMethods(['loadMultiple'])
+      ->getMockForAbstractClass();
+
+    // load() always calls loadMultiple().
+    $mock_base->expects($this->once())
+      ->method('loadMultiple')
+      ->with([$query])
+      ->willReturn($entity_fixture);
+
+    $this->assertEquals($expected, $mock_base->load($query));
+  }
+
+  /**
+   * Data provider for testLoadMultiple.
+   *
+   * @return array
+   *   - The expected result.
+   *   - Results for doLoadMultiple(), called internally by loadMultiple().
+   *   - The query, an array of IDs.
+   */
+  public function providerLoadMultiple() {
+    // Create a fixture of entity objects.
+    $fixture = [];
+    foreach (range(1, 10) as $index) {
+      $fixture[(string) $index] = $this->generateEntityInterface($index);
+    }
+
+    $data = [];
+
+    // Data set for NULL ID parameter.
+    $data['null-id-parameter'] = [$fixture, $fixture, NULL];
+
+    // Data set for no results.
+    $data['no-results'] = [[], [], ['11']];
+
+    // Data set for 0 results for multiple IDs.
+    $data['no-results-multiple-ids'] = [[], [], ['11', '12', '13']];
+
+    // Data set for 1 result for 1 ID.
+    $data['1-result-for-1-id'] = [
+      ['1' => $fixture['1']],
+      ['1' => $fixture['1']],
+      ['1'],
+    ];
+
+    // Data set for results for all IDs.
+    $ids = ['1', '2', '3'];
+    foreach ($ids as $id) {
+      $expectation[$id] = $fixture[$id];
+      $load_multiple[$id] = $fixture[$id];
+    }
+    $data['results-for-all-ids'] = [$expectation, $load_multiple, $ids];
+
+    // Data set for partial results for multiple IDs.
+    $ids = ['1', '2', '3'];
+    foreach ($ids as $id) {
+      $expectation[$id] = $fixture[$id];
+      $load_multiple[$id] = $fixture[$id];
+    }
+    $ids = array_merge($ids, ['11', '12']);
+    $data['partial-results-for-multiple-ids'] = [
+      $expectation,
+      $load_multiple,
+      $ids,
+    ];
+
+    return $data;
+  }
+
+  /**
+   * Test loadMultiple().
+   *
+   * Does not cover statically-cached results.
+   *
+   * @covers ::loadMultiple
+   *
+   * @dataProvider providerLoadMultiple
+   */
+  public function testLoadMultiple($expected, $load_multiple, $query) {
+    // Make our EntityStorageBase mock.
+    $mock_base = $this->getMockBuilder('\Drupal\Core\Entity\EntityStorageBase')
+      ->disableOriginalConstructor()
+      ->onlyMethods(['doLoadMultiple', 'postLoad'])
+      ->getMockForAbstractClass();
+
+    // For all non-cached queries, we call doLoadMultiple().
+    $mock_base->expects($this->once())
+      ->method('doLoadMultiple')
+      ->with($query)
+      ->willReturn($load_multiple);
+
+    // Make our EntityTypeInterface mock so that we can turn off static caching.
+    $mock_entity_type = $this->getMockBuilder('\Drupal\Core\Entity\EntityTypeInterface')
+      ->onlyMethods(['isStaticallyCacheable'])
+      ->getMockForAbstractClass();
+    // Disallow caching.
+    $mock_entity_type->expects($this->any())
+      ->method('isStaticallyCacheable')
+      ->willReturn(FALSE);
+    // Add the EntityTypeInterface to the storage object.
+    $ref_entity_type = new \ReflectionProperty($mock_base, 'entityType');
+    $ref_entity_type->setAccessible(TRUE);
+    $ref_entity_type->setValue($mock_base, $mock_entity_type);
+
+    // Set up expectations for postLoad(), which we only call if there are
+    // results from loadMultiple().
+    $mock_base->expects($this->exactly(empty($load_multiple) ? 0 : 1))
+      ->method('postLoad');
+
+    $this->assertEquals($expected, $mock_base->loadMultiple($query));
+  }
+
+}
diff --git a/frontend/drupal9/web/core/tests/Drupal/Tests/Core/Logger/LogMessageParserTest.php b/frontend/drupal9/web/core/tests/Drupal/Tests/Core/Logger/LogMessageParserTest.php
index 6e45055b5..8d1347bc5 100644
--- a/frontend/drupal9/web/core/tests/Drupal/Tests/Core/Logger/LogMessageParserTest.php
+++ b/frontend/drupal9/web/core/tests/Drupal/Tests/Core/Logger/LogMessageParserTest.php
@@ -63,6 +63,13 @@ class LogMessageParserTest extends UnitTestCase {
         ['message' => 'Test {with} two {{encapsuled}} strings', 'context' => ['with' => 'together', 'encapsuled' => 'awesome']],
         ['message' => 'Test @with two {@encapsuled} strings', 'context' => ['@with' => 'together', '@encapsuled' => 'awesome']],
       ],
+
+      // Test removal of unexpected placeholders like ! while allowed
+      // placeholders beginning with @, % and : are preserved.
+      [
+        ['message' => 'Test placeholder with :url and old !bang parameter', 'context' => [':url' => 'https://drupal.org', '!bang' => 'foo bar']],
+        ['message' => 'Test placeholder with :url and old !bang parameter', 'context' => [':url' => 'https://drupal.org']],
+      ],
     ];
   }
 
diff --git a/frontend/drupal9/web/core/tests/Drupal/Tests/Core/Render/RendererTestBase.php b/frontend/drupal9/web/core/tests/Drupal/Tests/Core/Render/RendererTestBase.php
index d667d1ddc..c2b0d327b 100644
--- a/frontend/drupal9/web/core/tests/Drupal/Tests/Core/Render/RendererTestBase.php
+++ b/frontend/drupal9/web/core/tests/Drupal/Tests/Core/Render/RendererTestBase.php
@@ -59,7 +59,7 @@ abstract class RendererTestBase extends UnitTestCase {
   /**
    * @var \Drupal\Core\Cache\Context\CacheContextsManager|\PHPUnit\Framework\MockObject\MockObject
    */
-  protected $cacheContexts;
+  protected $cacheContextsManager;
 
   /**
    * The mocked controller resolver.
diff --git a/frontend/drupal9/web/core/tests/Drupal/Tests/Core/Render/TestCacheableDependency.php b/frontend/drupal9/web/core/tests/Drupal/Tests/Core/Render/TestCacheableDependency.php
index 8980e8934..7f31d7fc0 100644
--- a/frontend/drupal9/web/core/tests/Drupal/Tests/Core/Render/TestCacheableDependency.php
+++ b/frontend/drupal9/web/core/tests/Drupal/Tests/Core/Render/TestCacheableDependency.php
@@ -9,6 +9,10 @@ use Drupal\Core\Cache\CacheableDependencyInterface;
  */
 class TestCacheableDependency implements CacheableDependencyInterface {
 
+  protected $contexts;
+  protected $tags;
+  protected $maxAge;
+
   public function __construct(array $contexts, array $tags, $max_age) {
     $this->contexts = $contexts;
     $this->tags = $tags;
diff --git a/frontend/drupal9/web/core/tests/Drupal/Tests/Core/Routing/AccessAwareRouterTest.php b/frontend/drupal9/web/core/tests/Drupal/Tests/Core/Routing/AccessAwareRouterTest.php
index 40a24620f..35bccddff 100644
--- a/frontend/drupal9/web/core/tests/Drupal/Tests/Core/Routing/AccessAwareRouterTest.php
+++ b/frontend/drupal9/web/core/tests/Drupal/Tests/Core/Routing/AccessAwareRouterTest.php
@@ -17,6 +17,11 @@ use Symfony\Component\Routing\Route;
  */
 class AccessAwareRouterTest extends UnitTestCase {
 
+  /**
+   * @var \Drupal\Core\Routing\Router
+   */
+  protected $router;
+
   /**
    * @var \Symfony\Component\Routing\Route
    */
diff --git a/frontend/drupal9/web/core/tests/Drupal/Tests/Core/StringTranslation/TranslationWrapperTest.php b/frontend/drupal9/web/core/tests/Drupal/Tests/Core/StringTranslation/TranslationWrapperTest.php
index 432778a3b..417d77124 100644
--- a/frontend/drupal9/web/core/tests/Drupal/Tests/Core/StringTranslation/TranslationWrapperTest.php
+++ b/frontend/drupal9/web/core/tests/Drupal/Tests/Core/StringTranslation/TranslationWrapperTest.php
@@ -19,7 +19,7 @@ class TranslationWrapperTest extends UnitTestCase {
    * @group legacy
    */
   public function testTranslationWrapper() {
-    $this->expectDeprecation('Drupal\Core\StringTranslation\TranslationWrapper is deprecated in drupal:8.0.0 and is removed from drupal:10.0.0. Use the \Drupal\Core\StringTranslation\TranslatableMarkup class instead. See https://www.drupal.org/node/2571255');
+    $this->expectDeprecation('Drupal\Core\StringTranslation\TranslationWrapper is deprecated in drupal:8.0.0 and is removed from drupal:11.0.0. Use the \Drupal\Core\StringTranslation\TranslatableMarkup class instead. See https://www.drupal.org/node/2571255');
     $object = new TranslationWrapper('Deprecated');
     $this->assertInstanceOf(TranslatableMarkup::class, $object);
   }
diff --git a/frontend/drupal9/web/core/tests/Drupal/Tests/Core/Test/TestSetupTraitTest.php b/frontend/drupal9/web/core/tests/Drupal/Tests/Core/Test/TestSetupTraitTest.php
index 7b88af745..b64be880d 100644
--- a/frontend/drupal9/web/core/tests/Drupal/Tests/Core/Test/TestSetupTraitTest.php
+++ b/frontend/drupal9/web/core/tests/Drupal/Tests/Core/Test/TestSetupTraitTest.php
@@ -35,8 +35,14 @@ class TestSetupTraitTest extends UnitTestCase {
     // Create a mock for testing the trait and set a few properties that are
     // used to avoid unnecessary set up.
     $test_setup = $this->getMockForTrait(TestSetupTrait::class);
-    $test_setup->databasePrefix = 'testDbPrefix';
-    $test_setup->root = $root;
+
+    $reflection = new \ReflectionClass($test_setup);
+    $property = $reflection->getProperty('databasePrefix');
+    $property->setAccessible(TRUE);
+    $property->setValue($test_setup, 'testDbPrefix');
+    $property = $reflection->getProperty('root');
+    $property->setAccessible(TRUE);
+    $property->setValue($test_setup, $root);
 
     $method = new \ReflectionMethod(get_class($test_setup), 'changeDatabasePrefix');
     $method->setAccessible(TRUE);
diff --git a/frontend/drupal9/web/core/tests/Drupal/Tests/PhpCs/SortTest.php b/frontend/drupal9/web/core/tests/Drupal/Tests/PhpCs/SortTest.php
new file mode 100644
index 000000000..768c9340a
--- /dev/null
+++ b/frontend/drupal9/web/core/tests/Drupal/Tests/PhpCs/SortTest.php
@@ -0,0 +1,99 @@
+filePath = __DIR__ . '/../../../../../core/phpcs.xml.dist';
+  }
+
+  /**
+   * Tests that the phpcs.xml.dist file exists.
+   */
+  public function testFileExists() {
+    $this->assertFileExists($this->filePath);
+  }
+
+  /**
+   * Tests that the phpcs.xml.dist file is properly sorted.
+   */
+  public function testSorted() {
+    $content = file_get_contents($this->filePath);
+    $xml_encoder = new XmlEncoder();
+    $xml_encoded = $xml_encoder->decode($content, 'xml');
+    $this->assertIsArray($xml_encoded);
+
+    $top_level_keys = array_keys($xml_encoded);
+    $this->assertSorted($top_level_keys);
+
+    $this->assertArrayHasKey('file', $xml_encoded);
+    $files = $xml_encoded['file'];
+    $this->assertSorted($files);
+
+    $this->assertArrayHasKey('exclude-pattern', $xml_encoded);
+    $excluded_patterns = $xml_encoded['exclude-pattern'];
+    $this->assertSorted($excluded_patterns);
+
+    $this->assertArrayHasKey('rule', $xml_encoded);
+    $rules = $xml_encoded['rule'];
+    $this->assertSorted($rules, '@ref');
+
+    foreach ($rules as $item) {
+      if (array_key_exists('exclude', $item)) {
+        $excluded = $item['exclude'];
+        $excluded = array_filter($excluded, static function ($item) {
+          return is_array($item) && array_key_exists('@name', $item);
+        });
+        $this->assertSorted($excluded, '@name');
+      }
+    }
+  }
+
+  /**
+   * A helper method to assert that an input array is sorted.
+   *
+   * Compared by values, if the $column is not null, the column of the value is
+   * used for comparing.
+   *
+   * @param array $input
+   *   The input array.
+   * @param null|string $column
+   *   The column of the value or NULL.
+   */
+  private function assertSorted(array $input, string $column = NULL) {
+    $input_sorted = $input;
+
+    if ($column === NULL) {
+      usort($input_sorted, static function ($a, $b) {
+        return strcmp($a, $b);
+      });
+    }
+    else {
+      usort($input_sorted, static function ($a, $b) use ($column) {
+        return strcmp($a[$column], $b[$column]);
+      });
+    }
+
+    $this->assertEquals($input, $input_sorted);
+  }
+
+}
diff --git a/frontend/drupal9/web/core/themes/claro/claro.info.yml b/frontend/drupal9/web/core/themes/claro/claro.info.yml
index bdf31c0e7..6032f10bc 100644
--- a/frontend/drupal9/web/core/themes/claro/claro.info.yml
+++ b/frontend/drupal9/web/core/themes/claro/claro.info.yml
@@ -173,6 +173,8 @@ ckeditor_stylesheets:
   - css/theme/ckeditor-frame.css
   - css/classy/components/media-embed-error.css
 
+ckeditor5-stylesheets: false
+
 regions:
   header: 'Header'
   pre_content: 'Pre-content'
diff --git a/frontend/drupal9/web/core/themes/olivero/css/components/text-content.css b/frontend/drupal9/web/core/themes/olivero/css/components/text-content.css
index b7e1083dd..81ea18f74 100644
--- a/frontend/drupal9/web/core/themes/olivero/css/components/text-content.css
+++ b/frontend/drupal9/web/core/themes/olivero/css/components/text-content.css
@@ -147,7 +147,7 @@
 .text-content blockquote:before, .cke_editable blockquote:before {
       position: absolute;
       top: 0;
-      content: "“";
+      content: "\201C";
       color: #53b0eb;
       font-size: 3.375rem;
     }
diff --git a/frontend/drupal9/web/core/themes/olivero/css/components/text-content.pcss.css b/frontend/drupal9/web/core/themes/olivero/css/components/text-content.pcss.css
index 648d53733..668d54674 100644
--- a/frontend/drupal9/web/core/themes/olivero/css/components/text-content.pcss.css
+++ b/frontend/drupal9/web/core/themes/olivero/css/components/text-content.pcss.css
@@ -88,7 +88,7 @@
       position: absolute;
       inset-block-start: 0;
       inset-inline-start: 0;
-      content: "“";
+      content: "\201C";
       color: var(--color--blue-70);
       font-size: 54px;
     }
diff --git a/frontend/drupal9/web/core/themes/olivero/js/search.es6.js b/frontend/drupal9/web/core/themes/olivero/js/search.es6.js
index 4fc8f3539..20e96b4be 100644
--- a/frontend/drupal9/web/core/themes/olivero/js/search.es6.js
+++ b/frontend/drupal9/web/core/themes/olivero/js/search.es6.js
@@ -1,15 +1,15 @@
 /**
  * @file
- * Customization of search.
+ * Wide viewport search bar interactions.
  */
 
 ((Drupal) => {
-  const searchWideButton = document.querySelector(
-    '[data-drupal-selector="block-search-wide-button"]',
-  );
-  const searchWideWrapper = document.querySelector(
-    '[data-drupal-selector="block-search-wide-wrapper"]',
-  );
+  const searchWideButtonSelector =
+    '[data-drupal-selector="block-search-wide-button"]';
+  const searchWideButton = document.querySelector(searchWideButtonSelector);
+  const searchWideWrapperSelector =
+    '[data-drupal-selector="block-search-wide-wrapper"]';
+  const searchWideWrapper = document.querySelector(searchWideWrapperSelector);
 
   /**
    * Determine if search is visible.
@@ -22,6 +22,63 @@
   }
   Drupal.olivero.searchIsVisible = searchIsVisible;
 
+  /**
+   * Closes search bar when a click event does not happen at an (x,y) coordinate
+   * that does not overlap with either the search wrapper or button.
+   *
+   * @see https://bugs.webkit.org/show_bug.cgi?id=229895
+   *
+   * @param {Event} e click event
+   */
+  function watchForClickOut(e) {
+    const clickInSearchArea = e.target.matches(`
+      ${searchWideWrapperSelector},
+      ${searchWideWrapperSelector} *,
+      ${searchWideButtonSelector},
+      ${searchWideButtonSelector} *
+    `);
+    if (!clickInSearchArea && searchIsVisible()) {
+      // eslint-disable-next-line no-use-before-define
+      toggleSearchVisibility(false);
+    }
+  }
+
+  /**
+   * Closes search bar when focus moves to another target.
+   * Avoids closing search bar if event does not have related target - required for Safari.
+   *
+   * @see https://bugs.webkit.org/show_bug.cgi?id=229895
+   *
+   * @param {Event} e focusout event
+   */
+  function watchForFocusOut(e) {
+    if (e.relatedTarget) {
+      const inSearchBar = e.relatedTarget.matches(
+        `${searchWideWrapperSelector}, ${searchWideWrapperSelector} *`,
+      );
+      const inSearchButton = e.relatedTarget.matches(
+        `${searchWideButtonSelector}, ${searchWideButtonSelector} *`,
+      );
+
+      if (!inSearchBar && !inSearchButton) {
+        // eslint-disable-next-line no-use-before-define
+        toggleSearchVisibility(false);
+      }
+    }
+  }
+
+  /**
+   * Closes search bar on escape keyup, if open.
+   *
+   * @param {Event} e keyup event
+   */
+  function watchForEscapeOut(e) {
+    if (e.key === 'Escape' || e.key === 'Esc') {
+      // eslint-disable-next-line no-use-before-define
+      toggleSearchVisibility(false);
+    }
+  }
+
   /**
    * Set focus for the search input element.
    */
@@ -49,23 +106,29 @@
     if (visibility === true) {
       Drupal.olivero.closeAllSubNav();
       searchWideWrapper.classList.add('is-active');
+
+      document.addEventListener('click', watchForClickOut, { capture: true });
+      document.addEventListener('focusout', watchForFocusOut, {
+        capture: true,
+      });
+      document.addEventListener('keyup', watchForEscapeOut, { capture: true });
     } else {
       searchWideWrapper.classList.remove('is-active');
+
+      document.removeEventListener('click', watchForClickOut, {
+        capture: true,
+      });
+      document.removeEventListener('focusout', watchForFocusOut, {
+        capture: true,
+      });
+      document.removeEventListener('keyup', watchForEscapeOut, {
+        capture: true,
+      });
     }
   }
 
   Drupal.olivero.toggleSearchVisibility = toggleSearchVisibility;
 
-  document.addEventListener('keyup', (e) => {
-    if (e.key === 'Escape' || e.key === 'Esc') {
-      toggleSearchVisibility(false);
-    }
-  });
-
-  searchWideButton.addEventListener('click', () => {
-    toggleSearchVisibility(!searchIsVisible());
-  });
-
   /**
    * Initializes the search wide button.
    *
@@ -76,26 +139,17 @@
    */
   Drupal.behaviors.searchWide = {
     attach(context) {
-      const searchWideButton = once(
+      const searchWideButtonEl = once(
         'search-wide',
-        '[data-drupal-selector="block-search-wide-button"]',
+        searchWideButtonSelector,
         context,
       ).shift();
-      if (searchWideButton) {
-        searchWideButton.setAttribute('aria-expanded', 'false');
+      if (searchWideButtonEl) {
+        searchWideButtonEl.setAttribute('aria-expanded', searchIsVisible());
+        searchWideButtonEl.addEventListener('click', () => {
+          toggleSearchVisibility(!searchIsVisible());
+        });
       }
     },
   };
-
-  /**
-   * Close the wide search container if focus moves from either the container
-   * or its toggle button.
-   */
-  document
-    .querySelector('[data-drupal-selector="search-block-form-2"]')
-    .addEventListener('focusout', (e) => {
-      if (!e.currentTarget.contains(e.relatedTarget)) {
-        toggleSearchVisibility(false);
-      }
-    });
 })(Drupal);
diff --git a/frontend/drupal9/web/core/themes/olivero/js/search.js b/frontend/drupal9/web/core/themes/olivero/js/search.js
index 2d96deb22..00ae2a507 100644
--- a/frontend/drupal9/web/core/themes/olivero/js/search.js
+++ b/frontend/drupal9/web/core/themes/olivero/js/search.js
@@ -6,8 +6,10 @@
 **/
 
 (function (Drupal) {
-  var searchWideButton = document.querySelector('[data-drupal-selector="block-search-wide-button"]');
-  var searchWideWrapper = document.querySelector('[data-drupal-selector="block-search-wide-wrapper"]');
+  var searchWideButtonSelector = '[data-drupal-selector="block-search-wide-button"]';
+  var searchWideButton = document.querySelector(searchWideButtonSelector);
+  var searchWideWrapperSelector = '[data-drupal-selector="block-search-wide-wrapper"]';
+  var searchWideWrapper = document.querySelector(searchWideWrapperSelector);
 
   function searchIsVisible() {
     return searchWideWrapper.classList.contains('is-active');
@@ -15,6 +17,31 @@
 
   Drupal.olivero.searchIsVisible = searchIsVisible;
 
+  function watchForClickOut(e) {
+    var clickInSearchArea = e.target.matches("\n      ".concat(searchWideWrapperSelector, ",\n      ").concat(searchWideWrapperSelector, " *,\n      ").concat(searchWideButtonSelector, ",\n      ").concat(searchWideButtonSelector, " *\n    "));
+
+    if (!clickInSearchArea && searchIsVisible()) {
+      toggleSearchVisibility(false);
+    }
+  }
+
+  function watchForFocusOut(e) {
+    if (e.relatedTarget) {
+      var inSearchBar = e.relatedTarget.matches("".concat(searchWideWrapperSelector, ", ").concat(searchWideWrapperSelector, " *"));
+      var inSearchButton = e.relatedTarget.matches("".concat(searchWideButtonSelector, ", ").concat(searchWideButtonSelector, " *"));
+
+      if (!inSearchBar && !inSearchButton) {
+        toggleSearchVisibility(false);
+      }
+    }
+  }
+
+  function watchForEscapeOut(e) {
+    if (e.key === 'Escape' || e.key === 'Esc') {
+      toggleSearchVisibility(false);
+    }
+  }
+
   function handleFocus() {
     if (searchIsVisible()) {
       searchWideWrapper.querySelector('input[type="search"]').focus();
@@ -32,32 +59,40 @@
     if (visibility === true) {
       Drupal.olivero.closeAllSubNav();
       searchWideWrapper.classList.add('is-active');
+      document.addEventListener('click', watchForClickOut, {
+        capture: true
+      });
+      document.addEventListener('focusout', watchForFocusOut, {
+        capture: true
+      });
+      document.addEventListener('keyup', watchForEscapeOut, {
+        capture: true
+      });
     } else {
       searchWideWrapper.classList.remove('is-active');
+      document.removeEventListener('click', watchForClickOut, {
+        capture: true
+      });
+      document.removeEventListener('focusout', watchForFocusOut, {
+        capture: true
+      });
+      document.removeEventListener('keyup', watchForEscapeOut, {
+        capture: true
+      });
     }
   }
 
   Drupal.olivero.toggleSearchVisibility = toggleSearchVisibility;
-  document.addEventListener('keyup', function (e) {
-    if (e.key === 'Escape' || e.key === 'Esc') {
-      toggleSearchVisibility(false);
-    }
-  });
-  searchWideButton.addEventListener('click', function () {
-    toggleSearchVisibility(!searchIsVisible());
-  });
   Drupal.behaviors.searchWide = {
     attach: function attach(context) {
-      var searchWideButton = once('search-wide', '[data-drupal-selector="block-search-wide-button"]', context).shift();
+      var searchWideButtonEl = once('search-wide', searchWideButtonSelector, context).shift();
 
-      if (searchWideButton) {
-        searchWideButton.setAttribute('aria-expanded', 'false');
+      if (searchWideButtonEl) {
+        searchWideButtonEl.setAttribute('aria-expanded', searchIsVisible());
+        searchWideButtonEl.addEventListener('click', function () {
+          toggleSearchVisibility(!searchIsVisible());
+        });
       }
     }
   };
-  document.querySelector('[data-drupal-selector="search-block-form-2"]').addEventListener('focusout', function (e) {
-    if (!e.currentTarget.contains(e.relatedTarget)) {
-      toggleSearchVisibility(false);
-    }
-  });
 })(Drupal);
\ No newline at end of file
diff --git a/frontend/drupal9/web/core/themes/olivero/olivero.info.yml b/frontend/drupal9/web/core/themes/olivero/olivero.info.yml
index 014384164..19a45e819 100644
--- a/frontend/drupal9/web/core/themes/olivero/olivero.info.yml
+++ b/frontend/drupal9/web/core/themes/olivero/olivero.info.yml
@@ -90,3 +90,5 @@ ckeditor_stylesheets:
   - css/components/table.css
   - css/components/text-content.css
   - css/theme/ckeditor-frame.css
+
+ckeditor5-stylesheets: false
diff --git a/frontend/drupal9/web/core/themes/seven/seven.info.yml b/frontend/drupal9/web/core/themes/seven/seven.info.yml
index 82828e9f9..1ceb157b5 100644
--- a/frontend/drupal9/web/core/themes/seven/seven.info.yml
+++ b/frontend/drupal9/web/core/themes/seven/seven.info.yml
@@ -100,3 +100,4 @@ regions_hidden:
 
 ckeditor_stylesheets:
   - css/classy/components/media-embed-error.css
+ckeditor5-stylesheets: false
diff --git a/frontend/drupal9/web/core/themes/starterkit_theme/README.md b/frontend/drupal9/web/core/themes/starterkit_theme/README.md
new file mode 100644
index 000000000..9a1b58243
--- /dev/null
+++ b/frontend/drupal9/web/core/themes/starterkit_theme/README.md
@@ -0,0 +1,11 @@
+# Starterkit Theme
+
+## How to use Starterkit
+The Starterkit theme is not directly used by Drupal, nor is it used as a base theme.
+**Starterkit is for generating new themes** that include
+reasonably un-opinionated templates and styles that eliminate much of the
+the initial work required to create a theme.
+
+Starterkit is the recommended approach for creating new themes. For more
+information, consult the
+[Starterkit documentation on Drupal.org](https://www.drupal.org/docs/core-modules-and-themes/core-themes/starterkit-theme).
diff --git a/frontend/drupal9/web/core/yarn.lock b/frontend/drupal9/web/core/yarn.lock
index 43ecde15a..cf42bb57f 100644
--- a/frontend/drupal9/web/core/yarn.lock
+++ b/frontend/drupal9/web/core/yarn.lock
@@ -17,6 +17,13 @@
   dependencies:
     "@babel/highlight" "^7.16.7"
 
+"@babel/code-frame@^7.18.6":
+  version "7.18.6"
+  resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a"
+  integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==
+  dependencies:
+    "@babel/highlight" "^7.18.6"
+
 "@babel/compat-data@^7.13.11", "@babel/compat-data@^7.17.0", "@babel/compat-data@^7.17.10":
   version "7.17.10"
   resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.10.tgz#711dc726a492dfc8be8220028b1b92482362baab"
@@ -52,6 +59,15 @@
     "@jridgewell/gen-mapping" "^0.1.0"
     jsesc "^2.5.1"
 
+"@babel/generator@^7.18.13":
+  version "7.18.13"
+  resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.13.tgz#59550cbb9ae79b8def15587bdfbaa388c4abf212"
+  integrity sha512-CkPg8ySSPuHTYPJYo7IRALdqyjM9HCbt/3uOBEFbzyGVP6Mn8bwFPB0jX6982JVNBlYzM1nnPkfjuXSOPtQeEQ==
+  dependencies:
+    "@babel/types" "^7.18.13"
+    "@jridgewell/gen-mapping" "^0.3.2"
+    jsesc "^2.5.1"
+
 "@babel/helper-annotate-as-pure@^7.16.7":
   version "7.16.7"
   resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz#bb2339a7534a9c128e3102024c60760a3a7f3862"
@@ -119,6 +135,11 @@
   dependencies:
     "@babel/types" "^7.16.7"
 
+"@babel/helper-environment-visitor@^7.18.9":
+  version "7.18.9"
+  resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be"
+  integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==
+
 "@babel/helper-explode-assignable-expression@^7.16.7":
   version "7.16.7"
   resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz#12a6d8522fdd834f194e868af6354e8650242b7a"
@@ -134,6 +155,14 @@
     "@babel/template" "^7.16.7"
     "@babel/types" "^7.17.0"
 
+"@babel/helper-function-name@^7.18.9":
+  version "7.18.9"
+  resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.18.9.tgz#940e6084a55dee867d33b4e487da2676365e86b0"
+  integrity sha512-fJgWlZt7nxGksJS9a0XdSaI4XvpExnNIgRP+rVefWh5U7BL8pPuir6SJUmFKRfjWQ51OtWSzwOxhaH/EBWWc0A==
+  dependencies:
+    "@babel/template" "^7.18.6"
+    "@babel/types" "^7.18.9"
+
 "@babel/helper-hoist-variables@^7.16.7":
   version "7.16.7"
   resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz#86bcb19a77a509c7b77d0e22323ef588fa58c246"
@@ -141,6 +170,13 @@
   dependencies:
     "@babel/types" "^7.16.7"
 
+"@babel/helper-hoist-variables@^7.18.6":
+  version "7.18.6"
+  resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678"
+  integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==
+  dependencies:
+    "@babel/types" "^7.18.6"
+
 "@babel/helper-member-expression-to-functions@^7.16.7", "@babel/helper-member-expression-to-functions@^7.17.7":
   version "7.17.7"
   resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.17.7.tgz#a34013b57d8542a8c4ff8ba3f747c02452a4d8c4"
@@ -222,11 +258,28 @@
   dependencies:
     "@babel/types" "^7.16.7"
 
+"@babel/helper-split-export-declaration@^7.18.6":
+  version "7.18.6"
+  resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075"
+  integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==
+  dependencies:
+    "@babel/types" "^7.18.6"
+
+"@babel/helper-string-parser@^7.18.10":
+  version "7.18.10"
+  resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz#181f22d28ebe1b3857fa575f5c290b1aaf659b56"
+  integrity sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==
+
 "@babel/helper-validator-identifier@^7.16.7":
   version "7.16.7"
   resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad"
   integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==
 
+"@babel/helper-validator-identifier@^7.18.6":
+  version "7.18.6"
+  resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz#9c97e30d31b2b8c72a1d08984f2ca9b574d7a076"
+  integrity sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==
+
 "@babel/helper-validator-option@^7.16.7":
   version "7.16.7"
   resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz#b203ce62ce5fe153899b617c08957de860de4d23"
@@ -260,11 +313,25 @@
     chalk "^2.0.0"
     js-tokens "^4.0.0"
 
+"@babel/highlight@^7.18.6":
+  version "7.18.6"
+  resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf"
+  integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==
+  dependencies:
+    "@babel/helper-validator-identifier" "^7.18.6"
+    chalk "^2.0.0"
+    js-tokens "^4.0.0"
+
 "@babel/parser@^7.16.7", "@babel/parser@^7.17.10":
   version "7.17.10"
   resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.10.tgz#873b16db82a8909e0fbd7f115772f4b739f6ce78"
   integrity sha512-n2Q6i+fnJqzOaq2VkdXxy2TCPCWQZHiCo0XqmrCvDWcZQKRyZzYi4Z0yxlBuN0w+r2ZHmre+Q087DSrw3pbJDQ==
 
+"@babel/parser@^7.18.10", "@babel/parser@^7.18.13", "@babel/parser@^7.18.9":
+  version "7.18.13"
+  resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.13.tgz#5b2dd21cae4a2c5145f1fbd8ca103f9313d3b7e4"
+  integrity sha512-dgXcIfMuQ0kgzLB2b9tRZs7TTFFaGM2AbtA4fJgUUYukzGH4jwsS7hzQHEGs67jdehpm22vkgKwvbU+aEflgwg==
+
 "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.7":
   version "7.16.7"
   resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz#4eda6d6c2a0aa79c70fa7b6da67763dfe2141050"
@@ -875,6 +942,15 @@
     "@babel/parser" "^7.16.7"
     "@babel/types" "^7.16.7"
 
+"@babel/template@^7.18.6":
+  version "7.18.10"
+  resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.18.10.tgz#6f9134835970d1dbf0835c0d100c9f38de0c5e71"
+  integrity sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==
+  dependencies:
+    "@babel/code-frame" "^7.18.6"
+    "@babel/parser" "^7.18.10"
+    "@babel/types" "^7.18.10"
+
 "@babel/traverse@^7.13.0", "@babel/traverse@^7.16.7", "@babel/traverse@^7.16.8", "@babel/traverse@^7.17.10", "@babel/traverse@^7.17.3", "@babel/traverse@^7.17.9":
   version "7.17.10"
   resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.10.tgz#1ee1a5ac39f4eac844e6cf855b35520e5eb6f8b5"
@@ -891,6 +967,22 @@
     debug "^4.1.0"
     globals "^11.1.0"
 
+"@babel/traverse@^7.18.9":
+  version "7.18.13"
+  resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.13.tgz#5ab59ef51a997b3f10c4587d648b9696b6cb1a68"
+  integrity sha512-N6kt9X1jRMLPxxxPYWi7tgvJRH/rtoU+dbKAPDM44RFHiMH8igdsaSBgFeskhSl/kLWLDUvIh1RXCrTmg0/zvA==
+  dependencies:
+    "@babel/code-frame" "^7.18.6"
+    "@babel/generator" "^7.18.13"
+    "@babel/helper-environment-visitor" "^7.18.9"
+    "@babel/helper-function-name" "^7.18.9"
+    "@babel/helper-hoist-variables" "^7.18.6"
+    "@babel/helper-split-export-declaration" "^7.18.6"
+    "@babel/parser" "^7.18.13"
+    "@babel/types" "^7.18.13"
+    debug "^4.1.0"
+    globals "^11.1.0"
+
 "@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.17.0", "@babel/types@^7.17.10", "@babel/types@^7.4.4":
   version "7.17.10"
   resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.17.10.tgz#d35d7b4467e439fcf06d195f8100e0fea7fc82c4"
@@ -899,63 +991,72 @@
     "@babel/helper-validator-identifier" "^7.16.7"
     to-fast-properties "^2.0.0"
 
-"@ckeditor/ckeditor5-alignment@34.1.x":
-  version "34.1.0"
-  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-alignment/-/ckeditor5-alignment-34.1.0.tgz#d5ea9fdaa43ab3da54fa427cac17d0fb23e4ff69"
-  integrity sha512-bBwtkaFRWGfF1e5EJ1Q6PKDDQ9cZ0Evc1zEndEijIOIakMEC2f1r2RAUxtQcwX/x1VPRIlUopXIz/eAy3tqttg==
+"@babel/types@^7.18.10", "@babel/types@^7.18.13", "@babel/types@^7.18.6", "@babel/types@^7.18.9":
+  version "7.18.13"
+  resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.13.tgz#30aeb9e514f4100f7c1cb6e5ba472b30e48f519a"
+  integrity sha512-ePqfTihzW0W6XAU+aMw2ykilisStJfDnsejDCXRchCcMJ4O0+8DhPXf2YUbZ6wjBlsEmZwLK/sPweWtu8hcJYQ==
   dependencies:
-    ckeditor5 "^34.1.0"
+    "@babel/helper-string-parser" "^7.18.10"
+    "@babel/helper-validator-identifier" "^7.18.6"
+    to-fast-properties "^2.0.0"
 
-"@ckeditor/ckeditor5-basic-styles@34.1.x":
-  version "34.1.0"
-  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-basic-styles/-/ckeditor5-basic-styles-34.1.0.tgz#e0bb4b4cb87e102dcceb122b96d91c6656342efd"
-  integrity sha512-DCdvoB/He7xM5tnsLvNoBlECOa1ijxA6sh8iFF18KzYYx7amlLB5fq/q89/OvXy3mwxJ50JfInE35H/KXUXlzg==
+"@ckeditor/ckeditor5-alignment@~35.1.0":
+  version "35.1.0"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-alignment/-/ckeditor5-alignment-35.1.0.tgz#3cf68f4c3a04e1bf9e356c7bfed4fcbc331b58f1"
+  integrity sha512-fz7bvP/ma02MYhA0/k4qhHne6zoxNGEUiLpuxw8gbUw1ls+U09EcpumE+6uXta1NfymxKCNm/RDUVrgXfFJ9qg==
   dependencies:
-    ckeditor5 "^34.1.0"
+    ckeditor5 "^35.1.0"
 
-"@ckeditor/ckeditor5-block-quote@34.1.x":
-  version "34.1.0"
-  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-block-quote/-/ckeditor5-block-quote-34.1.0.tgz#d21e317a0bc157783797bf084aadecde0d3f1894"
-  integrity sha512-fs6lDcSwJMqkR+wtOPQwasOdX+xvC4Iu+zhs1/QIcg/+972dH14JAv5bLm7zpW3pWWDIr9hl9WJXWnxE9y4ygA==
+"@ckeditor/ckeditor5-basic-styles@~35.1.0":
+  version "35.1.0"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-basic-styles/-/ckeditor5-basic-styles-35.1.0.tgz#4646ef84a46b72b11260c96d213c131aca818aff"
+  integrity sha512-tqqJoXEqd/sLEwLeO4RfYlGyys9JlXPLQa3s7fQGeqD6iA5WLjBA5GFBoJLFkeSBhSq7OaKmEM5O5i6RjwVkkg==
   dependencies:
-    ckeditor5 "^34.1.0"
+    ckeditor5 "^35.1.0"
 
-"@ckeditor/ckeditor5-clipboard@^34.1.0":
-  version "34.1.0"
-  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-clipboard/-/ckeditor5-clipboard-34.1.0.tgz#fad8e04d3d5aa07f671ca26a564b93ae195481ed"
-  integrity sha512-j9JsV3K5F47EkqyCPN08ZC6qbKqbTQ7XINe2t75XjeenYlXGpMkuF2jxX2MjXwGtDUZLGkNG7yc+CWaGZmfd+Q==
+"@ckeditor/ckeditor5-block-quote@~35.1.0":
+  version "35.1.0"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-block-quote/-/ckeditor5-block-quote-35.1.0.tgz#048fdad12d4d59d49e570353d7ab178f3be72e2b"
+  integrity sha512-6bMsajOYtw7nFAa/wyFPuAwfCmtKtMkkPOh0F1q8mxniaR+vn92mBZO9yP0cjNUWIcE4jSrPF/K0O1euSBpMbQ==
   dependencies:
-    "@ckeditor/ckeditor5-core" "^34.1.0"
-    "@ckeditor/ckeditor5-engine" "^34.1.0"
-    "@ckeditor/ckeditor5-utils" "^34.1.0"
-    "@ckeditor/ckeditor5-widget" "^34.1.0"
+    ckeditor5 "^35.1.0"
+
+"@ckeditor/ckeditor5-clipboard@^35.1.0":
+  version "35.1.0"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-clipboard/-/ckeditor5-clipboard-35.1.0.tgz#9b7c3d259a7245249fb9a70694752b92eb8deeae"
+  integrity sha512-LfHDOI7gfQzIKbSgDi429SI75p4Scw+YK6zISTRN2IiNlAfsozjeYltm8O3ab7FFfBI8+TalnEx0gI41TXog0Q==
+  dependencies:
+    "@ckeditor/ckeditor5-core" "^35.1.0"
+    "@ckeditor/ckeditor5-engine" "^35.1.0"
+    "@ckeditor/ckeditor5-utils" "^35.1.0"
+    "@ckeditor/ckeditor5-widget" "^35.1.0"
     lodash-es "^4.17.11"
 
-"@ckeditor/ckeditor5-code-block@34.1.x":
-  version "34.1.0"
-  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-code-block/-/ckeditor5-code-block-34.1.0.tgz#4953f17d1eb5b3e35974594806ebbc5c6a60d58e"
-  integrity sha512-2c+s7J80fieoFhoKfbc3AH+DDw4c+jfGSaPG9ySzTMluKi9HdgebNt+Q29I/3VNWokRFVCrtvf2uQbAb7+X0bg==
+"@ckeditor/ckeditor5-code-block@~35.1.0":
+  version "35.1.0"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-code-block/-/ckeditor5-code-block-35.1.0.tgz#d577cd0f50c350d2fcc18a28ab54c0fa53286624"
+  integrity sha512-I0xxuNsFfoQzg4HU8DVuyOYMz5iKF9iEpMykN55GuIvJy12RAx5p7TIrFcvwZSk0nrdq+ZVOCa7U9YGoELDngA==
   dependencies:
-    ckeditor5 "^34.1.0"
+    ckeditor5 "^35.1.0"
 
-"@ckeditor/ckeditor5-core@^34.1.0":
-  version "34.1.0"
-  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-core/-/ckeditor5-core-34.1.0.tgz#f93385cea483864b222fc0ccdd2430f828d62743"
-  integrity sha512-Rz0kIE64865fgSSdVRdAK7APTeoJxXyAdATEMM9UCXOMPWlE6UjOcrOMQEmZGxQHS+iwEocl9lWXPl+hMbWqfg==
+"@ckeditor/ckeditor5-core@^35.1.0":
+  version "35.1.0"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-core/-/ckeditor5-core-35.1.0.tgz#f6b0906b98a260324d45e2366ca0377cdfdaf5ae"
+  integrity sha512-yqPP7tEOT/rsxtDf6qvL5Yszmf2MZJJDK426SQryJiKpAEysX+337FEeLpK1silIL+UMejh5Y2/oNr4L+wTRXw==
   dependencies:
-    "@ckeditor/ckeditor5-engine" "^34.1.0"
-    "@ckeditor/ckeditor5-ui" "^34.1.0"
-    "@ckeditor/ckeditor5-utils" "^34.1.0"
+    "@ckeditor/ckeditor5-engine" "^35.1.0"
+    "@ckeditor/ckeditor5-ui" "^35.1.0"
+    "@ckeditor/ckeditor5-utils" "^35.1.0"
     lodash-es "^4.17.15"
 
-"@ckeditor/ckeditor5-dev-utils@30.1.x", "@ckeditor/ckeditor5-dev-utils@^30.1.3":
-  version "30.1.3"
-  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-dev-utils/-/ckeditor5-dev-utils-30.1.3.tgz#c44decc3346784fa824074ef5158d98ec4e8467d"
-  integrity sha512-e1oRXBxe0PWJcfh4CW0ZPeDNpqGDazMX2s17GrJ5bQHjbbY70KJmHWyKwjf75T2eTihEtRxlX/2D87I4XVJ2iw==
+"@ckeditor/ckeditor5-dev-utils@^30.4.0", "@ckeditor/ckeditor5-dev-utils@~30.4.0":
+  version "30.4.0"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-dev-utils/-/ckeditor5-dev-utils-30.4.0.tgz#8165169fbe9fba2533034663b28a2eb54a77f946"
+  integrity sha512-FCuRQ5MzrJeWWKUULil6iI+ylzI0kZ2PqXBME66KZS9KIE7UEKabSAAJGmtc7xFCuGmbik6g2uAk3J0t+PWHjQ==
   dependencies:
-    "@ckeditor/ckeditor5-dev-webpack-plugin" "^30.1.3"
-    acorn "^6.2.1"
-    acorn-walk "^6.2.0"
+    "@babel/parser" "^7.18.9"
+    "@babel/traverse" "^7.18.9"
+    "@ckeditor/ckeditor5-dev-webpack-plugin" "^30.4.0"
     chalk "^3.0.0"
     cli-cursor "^3.1.0"
     cli-spinners "^2.6.1"
@@ -976,237 +1077,245 @@
     style-loader "^2.0.0"
     terser-webpack-plugin "^4.2.3"
     through2 "^3.0.1"
+    ts-loader "^9.3.0"
 
-"@ckeditor/ckeditor5-dev-webpack-plugin@^30.1.3":
-  version "30.1.3"
-  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-dev-webpack-plugin/-/ckeditor5-dev-webpack-plugin-30.1.3.tgz#c11fece3d48cade67feb169163a529adaae5da4d"
-  integrity sha512-05aD8blgLO1iSYYARMkJoq3kJJq8wVgEMlq1i2LKjAeuBie/p5yjiq0H7Da9ITD239sgSLTFMUxg2QtNOM+RkA==
+"@ckeditor/ckeditor5-dev-webpack-plugin@^30.4.0":
+  version "30.4.0"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-dev-webpack-plugin/-/ckeditor5-dev-webpack-plugin-30.4.0.tgz#d2b46a5be3655bae199ba2adcb79cc47adba952b"
+  integrity sha512-wXux5YwysXvBw7ynBdt7M5c/0l2PRIpj/wTMK3yHSWo2pQAWMp76O3YNDbh2TdSSyNtFNj6OjCHd7e06lloL9w==
   dependencies:
-    "@ckeditor/ckeditor5-dev-utils" "^30.1.3"
+    "@ckeditor/ckeditor5-dev-utils" "^30.4.0"
     chalk "^4.0.0"
     rimraf "^3.0.2"
     semver "^7.3.4"
     webpack-sources "^2.0.1"
 
-"@ckeditor/ckeditor5-editor-classic@34.1.x":
-  version "34.1.0"
-  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-editor-classic/-/ckeditor5-editor-classic-34.1.0.tgz#0b8d14896b4e3ab08d4625e5f9937f94f6fc36d5"
-  integrity sha512-SYZdI/W+cMQbioblwx9S37UunIf7w61JdMoTIh4/dnStc7YiH9kDJdsbcxPJ5LaSzZMJnaADXoj7FwqG+7RA1g==
+"@ckeditor/ckeditor5-editor-classic@~35.1.0":
+  version "35.1.0"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-editor-classic/-/ckeditor5-editor-classic-35.1.0.tgz#430c5e893bd2bb80b837b879e7b57481b093a6af"
+  integrity sha512-cuu0/cxJgReHbnMPdMOw7YWOogS2WwLo6S/WAP5OjHdXRb/oQOGcr+vi4+guRdSMz5YmXjr4lvskYgU4B4dF6A==
   dependencies:
-    ckeditor5 "^34.1.0"
+    ckeditor5 "^35.1.0"
     lodash-es "^4.17.15"
 
-"@ckeditor/ckeditor5-editor-decoupled@34.1.x":
-  version "34.1.0"
-  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-editor-decoupled/-/ckeditor5-editor-decoupled-34.1.0.tgz#bcbdfdef69034cf6f774a9718bbed10c018d1d2f"
-  integrity sha512-HPpLgl8/JGOA52uErlgANA+Cwb5G5Uvdn7pVNtEJPKP/0w7YJzNoztcAEY5n7XkBsHEp+3MiG1VBH6n/ujUkqQ==
+"@ckeditor/ckeditor5-editor-decoupled@~35.1.0":
+  version "35.1.0"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-editor-decoupled/-/ckeditor5-editor-decoupled-35.1.0.tgz#1aa25d28b660d05a524bc75142f3f93b1450013c"
+  integrity sha512-AoPxejFvkz9JigP6rcjuPkDbbdZQc+IR3gcTPG4QXtylGIbYSGlTE8vZcInEO6km3Nsq02dLYjVr7FKpKgJzfw==
   dependencies:
-    ckeditor5 "^34.1.0"
+    ckeditor5 "^35.1.0"
     lodash-es "^4.17.15"
 
-"@ckeditor/ckeditor5-engine@^34.1.0":
-  version "34.1.0"
-  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-34.1.0.tgz#5717f2eb484e2998d2166c17dd4487064350ab59"
-  integrity sha512-Bz4BcAl0Hhp6LIsJCypx+LoGbKQHVJjWQSq5oHYbvgrRcT57EPbepdazCtFhAVj7NrLt78ZCq1cdJSBcNASRYA==
+"@ckeditor/ckeditor5-engine@^35.1.0":
+  version "35.1.0"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-35.1.0.tgz#82de6316e9b0c45b40c6928497313597a142a3fa"
+  integrity sha512-1xyzPkN2N0xzdeVpT53Eqj4Awfbwl6lN3JIpgntBmCOdiZejRZipdPFkbS0ZkhG14aLAV1blbk/ZMJSsOmaTWg==
   dependencies:
-    "@ckeditor/ckeditor5-utils" "^34.1.0"
+    "@ckeditor/ckeditor5-utils" "^35.1.0"
     lodash-es "^4.17.15"
 
-"@ckeditor/ckeditor5-enter@^34.1.0":
-  version "34.1.0"
-  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-enter/-/ckeditor5-enter-34.1.0.tgz#04cc0c8ba83bfd4f9ead6a02fe1757f154b48421"
-  integrity sha512-ZN/yxTPfPToBkz1NADHgnPGtni82Bbg4n3c+757lpGGyTjKSU6eDQYwXtDokpiVdD2FTDrhL59MX2xzWQKYRuA==
+"@ckeditor/ckeditor5-enter@^35.1.0":
+  version "35.1.0"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-enter/-/ckeditor5-enter-35.1.0.tgz#4e61b67c446da5512403656ccaab086b973e1ecd"
+  integrity sha512-H+6vscBZqzU/Q4/N8so/UJzH2tiGN5cDa/5qbXGr/WwyWDez2Nl2y9bAl7ASB4vhzqr2/1WJ4ckBMGke5zR6pg==
   dependencies:
-    "@ckeditor/ckeditor5-core" "^34.1.0"
-    "@ckeditor/ckeditor5-engine" "^34.1.0"
-    "@ckeditor/ckeditor5-utils" "^34.1.0"
+    "@ckeditor/ckeditor5-core" "^35.1.0"
+    "@ckeditor/ckeditor5-engine" "^35.1.0"
+    "@ckeditor/ckeditor5-utils" "^35.1.0"
 
-"@ckeditor/ckeditor5-essentials@34.1.x":
-  version "34.1.0"
-  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-essentials/-/ckeditor5-essentials-34.1.0.tgz#f4043b1822833e01910356681eb1649fad47e82e"
-  integrity sha512-z0TSG+NBH0A4PfoEaCmxvVk57AvJ8lPt46pGHQRHy8OVGZ1BRrOwk39/4bvN34AjmOnojK1fl7CRBfc4r2WE2A==
+"@ckeditor/ckeditor5-essentials@~35.1.0":
+  version "35.1.0"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-essentials/-/ckeditor5-essentials-35.1.0.tgz#42d32a23dc21accd270537f86f7916eb75f55cfc"
+  integrity sha512-qk09lYvIpWxRfDTdu/W36481PsvumiW3jTLC6Y41KOzjN5QQbC2uXNjaDKSYTWeQJB0xfeCDFl102DF//v4kxA==
   dependencies:
-    ckeditor5 "^34.1.0"
+    ckeditor5 "^35.1.0"
 
-"@ckeditor/ckeditor5-heading@34.1.x":
-  version "34.1.0"
-  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-heading/-/ckeditor5-heading-34.1.0.tgz#c15210b1ff952c40aca0c28215587d3df7f7f32b"
-  integrity sha512-nLgnWCcQm85xrbGvaw03dA+IPN//TCax+jUUC2aYPN55/PBtvSQ+rra8KQxemxxghD/ddAV6w2jMTsJh0BC2Xg==
+"@ckeditor/ckeditor5-heading@~35.1.0":
+  version "35.1.0"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-heading/-/ckeditor5-heading-35.1.0.tgz#a40b5418e2e6e72961e148b605a1f83f524c48d8"
+  integrity sha512-dempsgWmcD9lLr7OlgsoRxC+GAVafRbweXO0J4RHRFFL+f5lh43Z+sUfuiXM5cGB03YvonSitt3Bizhj2hIxoQ==
   dependencies:
-    ckeditor5 "^34.1.0"
+    ckeditor5 "^35.1.0"
 
-"@ckeditor/ckeditor5-horizontal-line@34.1.x":
-  version "34.1.0"
-  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-horizontal-line/-/ckeditor5-horizontal-line-34.1.0.tgz#d53ecb56c8a57f413eab2158676692086da57780"
-  integrity sha512-Gx2rmYtgpW4Xb46NGCjRLvizPAZ0W85C5jUi/d9BQFDGA4oD5Ose/6n65QqahdZWl+A38gIi4bpgfVx5DRh6Rg==
+"@ckeditor/ckeditor5-horizontal-line@~35.1.0":
+  version "35.1.0"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-horizontal-line/-/ckeditor5-horizontal-line-35.1.0.tgz#fb7a62e1b20595f03f564ba167917b8aa4970b6b"
+  integrity sha512-uOFLCmfKvQnS6yUQAhg060Fwvj/VVR9Z9UFrvOxN6ZT3o8GBwfeTkV9ZKkTyaMoHWt/BQgz1amBg7xx83KnDRQ==
   dependencies:
-    ckeditor5 "^34.1.0"
+    ckeditor5 "^35.1.0"
 
-"@ckeditor/ckeditor5-html-support@34.1.x":
-  version "34.1.0"
-  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-html-support/-/ckeditor5-html-support-34.1.0.tgz#69bd79188474acfd1f2c37001f9b6ca013c0c0f8"
-  integrity sha512-8X+KYkhgfRAiyqgrFzCpt4AuLLOTaVf8XbD26OiOqa6RNNcyGmh9+WkFcCbwgxCpAwpAgDB8vU5xqj6asZFqBw==
+"@ckeditor/ckeditor5-html-support@~35.1.0":
+  version "35.1.0"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-html-support/-/ckeditor5-html-support-35.1.0.tgz#2d2842a198b47e836d6d0170383af4ed37bbb66c"
+  integrity sha512-rNvyGAFAepQIiZ3SSzZ6FDT1mAifllN6VTjllDceJ49uPoDGYRGHIWCw2BU8964Kq7di+m8pwyXZV5hha1Z2Lw==
   dependencies:
-    ckeditor5 "^34.1.0"
+    ckeditor5 "^35.1.0"
     lodash-es "^4.17.15"
 
-"@ckeditor/ckeditor5-image@34.1.x":
-  version "34.1.0"
-  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-image/-/ckeditor5-image-34.1.0.tgz#422695b56a449b79f63c4da726d9f73cf67609f9"
-  integrity sha512-EVMoZGCW6zz02/ZyiBUgLD78Q+XE+2zJ2LvVVB51VU/4czpvl7Eky12S6q/8XCmkaP8TICLM+neW8CAEbK1QEA==
+"@ckeditor/ckeditor5-image@~35.1.0":
+  version "35.1.0"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-image/-/ckeditor5-image-35.1.0.tgz#93bf632a9d57a84591a2da6e027651f484eed4eb"
+  integrity sha512-7qqccl2dYX3dl7rnBuRHF1Mxpns6zG9Ink1rlpPMEcuA7NdA9VDglMDCvWYOLSGVObVOM7ecceHYeYhzNSeyrw==
   dependencies:
-    "@ckeditor/ckeditor5-ui" "^34.1.0"
-    ckeditor5 "^34.1.0"
+    "@ckeditor/ckeditor5-ui" "^35.1.0"
+    ckeditor5 "^35.1.0"
     lodash-es "^4.17.15"
 
-"@ckeditor/ckeditor5-indent@34.1.x":
-  version "34.1.0"
-  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-indent/-/ckeditor5-indent-34.1.0.tgz#37fcc2e3c9618db23d709442ab24a83139450e47"
-  integrity sha512-UaV2k5xCyteoQtykKKUdvj03IyituuMp1AdMXtUgDEzZouDFTUfDksTSkAvGERhxiBXUjTM+zDSrXbzS368D3A==
+"@ckeditor/ckeditor5-indent@~35.1.0":
+  version "35.1.0"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-indent/-/ckeditor5-indent-35.1.0.tgz#02154e9750d5d9fda6c263798c9962399fe5fca1"
+  integrity sha512-yYgSBzHlln273S4H1aWfzqoMcb+Fn1yZ976Pj2ouM7bP22d+01ptNGSe6fiEqtmDiUu2gCj9W0tOwI0Oowb6fg==
   dependencies:
-    ckeditor5 "^34.1.0"
+    ckeditor5 "^35.1.0"
 
-"@ckeditor/ckeditor5-language@34.1.x":
-  version "34.1.0"
-  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-language/-/ckeditor5-language-34.1.0.tgz#2f92c2c3b9dd0f2df1de6db5ee6f55a97a019669"
-  integrity sha512-NwuVoNfxv/dRh7HffXbFXo3QhXLuVVDlz/UMwS5f/aCTwUzQZU9fMSCIhgZ0hjzSWl9Tsew+BOwy3gu521hkbw==
+"@ckeditor/ckeditor5-language@~35.1.0":
+  version "35.1.0"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-language/-/ckeditor5-language-35.1.0.tgz#f6b099dfec789ffaa1e2129f1196a2eb80bcf3f7"
+  integrity sha512-wpI378uNAiwy65iFM2zCNaOpBs64MS2W3pWaIZS9Y8OUFW6tRNx6RHr31f/KsElfHVfnxaZ4+36XAUN0Bz3LmA==
   dependencies:
-    ckeditor5 "^34.1.0"
+    ckeditor5 "^35.1.0"
 
-"@ckeditor/ckeditor5-link@34.1.x":
-  version "34.1.0"
-  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-link/-/ckeditor5-link-34.1.0.tgz#6651e60fb19a25105d7b6ed26db24748d35c3b24"
-  integrity sha512-TZEknvVAzCEH9bmXwLGPUyinSkmuI8NN3SFQFfytQ7qWp9NC6IPaVPbspxmHbZHNBnaK1XMsMnRO8gSL7d9+Fw==
+"@ckeditor/ckeditor5-link@~35.1.0":
+  version "35.1.0"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-link/-/ckeditor5-link-35.1.0.tgz#2c67ccf73d993d76c6377c69b8c4f5104c5c0942"
+  integrity sha512-eoCE96mfW8pAFpP3wE0E83mrg7SVSTnut0szLyWmQSiU63N0KJMKOZy6faImrMEgkdFppfJ966+lgBh4fB+Taw==
   dependencies:
-    "@ckeditor/ckeditor5-ui" "^34.1.0"
-    ckeditor5 "^34.1.0"
+    "@ckeditor/ckeditor5-ui" "^35.1.0"
+    ckeditor5 "^35.1.0"
     lodash-es "^4.17.15"
 
-"@ckeditor/ckeditor5-list@34.1.x":
-  version "34.1.0"
-  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-list/-/ckeditor5-list-34.1.0.tgz#266191a3f546f3fb3679de5825f3af25445276de"
-  integrity sha512-OD3cJ+WngMgMjCh+w3JQh2qveP6DNYhtx7tA0pVmuyx+DZzGpb2DYg6ie5JxhenHgVbJP9dHx620k9YjdYR3NQ==
+"@ckeditor/ckeditor5-list@~35.1.0":
+  version "35.1.0"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-list/-/ckeditor5-list-35.1.0.tgz#6247f7d98eb63fcbf512e555c0b95ae723d5f5f8"
+  integrity sha512-NsGNRhYDI9xNm0wac3sE640LzpUSxQAzi60f2ap8p2pSL2RXpPJ3YA8Z+xmYP4xpJpu1eEcbOUnZDXjsKoct1Q==
   dependencies:
-    "@ckeditor/ckeditor5-ui" "^34.1.0"
-    ckeditor5 "^34.1.0"
+    "@ckeditor/ckeditor5-ui" "^35.1.0"
+    ckeditor5 "^35.1.0"
 
-"@ckeditor/ckeditor5-paragraph@^34.1.0":
-  version "34.1.0"
-  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-paragraph/-/ckeditor5-paragraph-34.1.0.tgz#71b36d068bd559c375f27f9b9cd0c96178f1d357"
-  integrity sha512-17tOw3hqguYkXymDUgUM7+fnwZf+0Dy/nHZ7/NK/4geAdh/FwvCPTnJE0NBsNQ3a3Erd682oYXDs32ecTwE6xA==
+"@ckeditor/ckeditor5-paragraph@^35.1.0":
+  version "35.1.0"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-paragraph/-/ckeditor5-paragraph-35.1.0.tgz#49cb14e713c8e1ad8599e2af33429d0e6a3567c1"
+  integrity sha512-sgeEoOfaHbskbkYXfeGkakHJ0nfEoXvvhJeCQZn+o4FfJze/H5pvK14KNeiBsLqoLkKVcSMsHhYbEoeu9JNmKA==
   dependencies:
-    "@ckeditor/ckeditor5-core" "^34.1.0"
-    "@ckeditor/ckeditor5-ui" "^34.1.0"
-    "@ckeditor/ckeditor5-utils" "^34.1.0"
+    "@ckeditor/ckeditor5-core" "^35.1.0"
+    "@ckeditor/ckeditor5-ui" "^35.1.0"
+    "@ckeditor/ckeditor5-utils" "^35.1.0"
 
-"@ckeditor/ckeditor5-paste-from-office@34.1.x":
-  version "34.1.0"
-  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-paste-from-office/-/ckeditor5-paste-from-office-34.1.0.tgz#ea2e656bfaa19242254c5fe80cf56f2031911e2e"
-  integrity sha512-hQgfaOojt+GQdxYeFw5bIK36jP+bQgzh9uZJAOMq+dBqiB845ghY27p/ZV81wDWBd9vcaZDaa4uCnJ4gXqdGVQ==
+"@ckeditor/ckeditor5-paste-from-office@~35.1.0":
+  version "35.1.0"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-paste-from-office/-/ckeditor5-paste-from-office-35.1.0.tgz#64694b9c646d7dfde00ec7b91de4186a0bcbc07b"
+  integrity sha512-/eu9w3A1XxO2xiMw9bYxf1MGvJwKaxU3G3sm3YpLJA7sWAm27d+PlNoUcfzetJWlD7hjfpt9Yu4+S4Oq8zILYw==
   dependencies:
-    ckeditor5 "^34.1.0"
+    ckeditor5 "^35.1.0"
 
-"@ckeditor/ckeditor5-remove-format@34.1.x":
-  version "34.1.0"
-  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-remove-format/-/ckeditor5-remove-format-34.1.0.tgz#09efa83d86cf797a852ee4eae0ba90e68757995b"
-  integrity sha512-EqTgtXFvKQgJVFei9fTFmakoKkeM73PKatXgwISWYvXV1mDY8Sl8KGL22ru1p4NnKj+qnGNfEgDX+VNFo1ndhw==
+"@ckeditor/ckeditor5-remove-format@~35.1.0":
+  version "35.1.0"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-remove-format/-/ckeditor5-remove-format-35.1.0.tgz#6ec7554457a7fbffce6d3b019e446f9c17aa4dab"
+  integrity sha512-EZ48pcihnbjQSXHdgq2csi4R0dSLdkGIaGluOcclU27GRpEksdxhag6/SGpw1Sy6q8VnUTMsNicVQALhS6ylyw==
   dependencies:
-    ckeditor5 "^34.1.0"
+    ckeditor5 "^35.1.0"
 
-"@ckeditor/ckeditor5-select-all@^34.1.0":
-  version "34.1.0"
-  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-select-all/-/ckeditor5-select-all-34.1.0.tgz#a89ee73acf5b253bd5301795aad32f67bcd073fc"
-  integrity sha512-ia4cJdROsisx0H8nczQ08qo1du+C1dM+sPUHgaAf1o1N3KfgH81id7s4ILtyvz/fEqCmSIGxKW7MRn36ex/lcA==
+"@ckeditor/ckeditor5-select-all@^35.1.0":
+  version "35.1.0"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-select-all/-/ckeditor5-select-all-35.1.0.tgz#71faf944319215b11f586f391e31bc7926c12fc7"
+  integrity sha512-xGYRBiSOfnk2/Ob55CckKdyZ9E1b+e8qIQN6YkQd9Yj3tuyGAKJ9XelOxayqhlVvpD3ctpD/cRomUjSRilz2Pw==
   dependencies:
-    "@ckeditor/ckeditor5-core" "^34.1.0"
-    "@ckeditor/ckeditor5-ui" "^34.1.0"
-    "@ckeditor/ckeditor5-utils" "^34.1.0"
+    "@ckeditor/ckeditor5-core" "^35.1.0"
+    "@ckeditor/ckeditor5-ui" "^35.1.0"
+    "@ckeditor/ckeditor5-utils" "^35.1.0"
 
-"@ckeditor/ckeditor5-source-editing@34.1.x":
-  version "34.1.0"
-  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-source-editing/-/ckeditor5-source-editing-34.1.0.tgz#07386e0e311239ed45f807376b75e4261d2e58f1"
-  integrity sha512-0ll7mtbuGc2L2RNN3GfFuA2laqlAjzQ6flgR3zOJJ9wSJAbJ4/siGXCaRJvATe/NB+9zJ6ZGjV5MOXhzdQjDuQ==
+"@ckeditor/ckeditor5-source-editing@~35.1.0":
+  version "35.1.0"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-source-editing/-/ckeditor5-source-editing-35.1.0.tgz#3f4a3a9f29ba795faa962854aee279e5aa52a9d5"
+  integrity sha512-lK5vIlplzXDKO8wflEwv9CAXpXGTiAehhkpY2MfcRU53maqvMIH+jA5be/m/TEXDaw0cwAwkIi9XqIy3On3gAg==
   dependencies:
-    "@ckeditor/ckeditor5-theme-lark" "^34.1.0"
-    ckeditor5 "^34.1.0"
+    "@ckeditor/ckeditor5-theme-lark" "^35.1.0"
+    ckeditor5 "^35.1.0"
 
-"@ckeditor/ckeditor5-special-characters@34.1.x":
-  version "34.1.0"
-  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-special-characters/-/ckeditor5-special-characters-34.1.0.tgz#e0c6f9637b3cea84dda9ac4ca5b5adf701153fff"
-  integrity sha512-GLXAfjyHU5Oc89tN81z61u6XATITkNf3WAhjjE7LOgXaNuQJ18z8JDzDXyYuN9x9b8W+nne+ThkK/moiBkvSmg==
+"@ckeditor/ckeditor5-special-characters@~35.1.0":
+  version "35.1.0"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-special-characters/-/ckeditor5-special-characters-35.1.0.tgz#2f0d85daa4aa998d342758e296deb99bcd504e69"
+  integrity sha512-Bgn1mC9I5ekTXfKlqkh4ybJFa2ht0NhC1yw3qXf33zj0C+pGyEc8VKRtRhjsyxfo5/ZCysWV6p7ziP5MWhHWpA==
   dependencies:
-    ckeditor5 "^34.1.0"
+    ckeditor5 "^35.1.0"
 
-"@ckeditor/ckeditor5-table@34.1.x":
-  version "34.1.0"
-  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-table/-/ckeditor5-table-34.1.0.tgz#53f266987ac80cdbd48fbeedd89d87fd80cae10d"
-  integrity sha512-Nx/zrLz1YMRF3+IlDIuv3U9SvdKELyX3qXbGOk1wNIEBZKdAQYCuY4xwAhsBCo8Kx09172Yy6lpTIgFiMJzUOg==
+"@ckeditor/ckeditor5-style@~35.1.0":
+  version "35.1.0"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-style/-/ckeditor5-style-35.1.0.tgz#d6fdfb8d79ebda2b0783a94365a4a6ce619e45f6"
+  integrity sha512-lTj0//4iWCs/IXGmQNJSZw1ZAaiMfAdUyrRFz7Q99cwqTmrqoVcohj96YoVWu2OAuYC2O4OjKKt1364s82CypA==
   dependencies:
-    ckeditor5 "^34.1.0"
+    ckeditor5 "^35.1.0"
+
+"@ckeditor/ckeditor5-table@~35.1.0":
+  version "35.1.0"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-table/-/ckeditor5-table-35.1.0.tgz#15b897882f3b074452fa9b063e7e65be21a57922"
+  integrity sha512-wwreqkavUiGW+k31itgdRrzBUgZVO3IFHvwxITGqPHsRfEPmDaqasowYrZBqHXK5JPcOmkMq8viAfThnVHltqg==
+  dependencies:
+    ckeditor5 "^35.1.0"
     lodash-es "^4.17.15"
 
-"@ckeditor/ckeditor5-theme-lark@^34.1.0":
-  version "34.1.0"
-  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-theme-lark/-/ckeditor5-theme-lark-34.1.0.tgz#51959004eb898907d6669ec9f9a46285cb0afb35"
-  integrity sha512-n533HFCh+99XRm3cSBtP0jqRqHFboO0WuW1d+3hZ4F/8x+j8zEOtxI8/TrqdCAJVHAQSCkYD0oAPpkMt2aM9Ow==
+"@ckeditor/ckeditor5-theme-lark@^35.1.0":
+  version "35.1.0"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-theme-lark/-/ckeditor5-theme-lark-35.1.0.tgz#30fcfbbbe0f05702a61aac8a5735f13ac08f6b26"
+  integrity sha512-O5bsW+a2Zq3flHZhKDeTwnuD/2c0Oqw38Xk0FTMb+wksof7da591ls2iCxRyEcP/jnTxTmNQeZJePm682SaZQA==
   dependencies:
-    "@ckeditor/ckeditor5-ui" "^34.1.0"
+    "@ckeditor/ckeditor5-ui" "^35.1.0"
 
-"@ckeditor/ckeditor5-typing@^34.1.0":
-  version "34.1.0"
-  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-typing/-/ckeditor5-typing-34.1.0.tgz#83df6336c9d2190e3290e2fb11948058eb9cc625"
-  integrity sha512-KcO6Yr3RJboNL0Ta/+a+lWOJnjLbomhemJ42fxp6JWMyCh1A5x6Iom9GGt1qS7BSh/5l3/prQBr11ZTvzr1ERQ==
+"@ckeditor/ckeditor5-typing@^35.1.0":
+  version "35.1.0"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-typing/-/ckeditor5-typing-35.1.0.tgz#f3d5f83e6362fb9f74ab7e8c5e3cea5f507a6632"
+  integrity sha512-GiOK8MlsfsVRze4+qbNnT3t4FRvnFge6F+l/knxpM07DIf8qdtf1xVvFRL2OfBBGXbBpcQ6W4aqZhWtSUrPJ5Q==
   dependencies:
-    "@ckeditor/ckeditor5-core" "^34.1.0"
-    "@ckeditor/ckeditor5-engine" "^34.1.0"
-    "@ckeditor/ckeditor5-utils" "^34.1.0"
+    "@ckeditor/ckeditor5-core" "^35.1.0"
+    "@ckeditor/ckeditor5-engine" "^35.1.0"
+    "@ckeditor/ckeditor5-utils" "^35.1.0"
     lodash-es "^4.17.15"
 
-"@ckeditor/ckeditor5-ui@^34.1.0":
-  version "34.1.0"
-  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-34.1.0.tgz#162a8fa343350f53537449f1ab508edf824bbc45"
-  integrity sha512-cxySS7cj1xLz/Qh5VwQjHo399pU3ngCXkzQZnKlsFKqq7SPZghvzmaiYmqjlvlcmf4Idbm/IxMJXEPyLxpYrJw==
+"@ckeditor/ckeditor5-ui@^35.1.0":
+  version "35.1.0"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-35.1.0.tgz#fed659a65c5b9383f0decd8b13c1f3c4de53514d"
+  integrity sha512-nHi8Y9VBXhtva166PxvtOir+PKigmvpqzq8NPZwwZBsi+REPNy9gg6tWb9UCkwQXpGR1LOX4nEhKa3e1LKJbig==
   dependencies:
-    "@ckeditor/ckeditor5-core" "^34.1.0"
-    "@ckeditor/ckeditor5-utils" "^34.1.0"
+    "@ckeditor/ckeditor5-core" "^35.1.0"
+    "@ckeditor/ckeditor5-utils" "^35.1.0"
     lodash-es "^4.17.15"
 
-"@ckeditor/ckeditor5-undo@^34.1.0":
-  version "34.1.0"
-  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-undo/-/ckeditor5-undo-34.1.0.tgz#bb7746952c54298ddbd27f73b0caa1fb6be2acd9"
-  integrity sha512-+NXfCtbPeaacXWc54qQwGE2GT7chThqb5I8FqysD3kfM1q2mvzbFGMO9ADqz/uG3HgAViqbkxqnZOgziZeOkog==
+"@ckeditor/ckeditor5-undo@^35.1.0":
+  version "35.1.0"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-undo/-/ckeditor5-undo-35.1.0.tgz#776e225130dc1a533afc25e7721e1c9dca1d1e25"
+  integrity sha512-Fe9Iji6odYL0HVM/xzFH4D7Z12K+Qcep6PGsRNks6y3ai11uukTV89WLKSdfzT5jwOq5AKhFdN+mSKPy1qfB/g==
   dependencies:
-    "@ckeditor/ckeditor5-core" "^34.1.0"
-    "@ckeditor/ckeditor5-engine" "^34.1.0"
-    "@ckeditor/ckeditor5-ui" "^34.1.0"
+    "@ckeditor/ckeditor5-core" "^35.1.0"
+    "@ckeditor/ckeditor5-engine" "^35.1.0"
+    "@ckeditor/ckeditor5-ui" "^35.1.0"
 
-"@ckeditor/ckeditor5-upload@^34.1.0":
-  version "34.1.0"
-  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-upload/-/ckeditor5-upload-34.1.0.tgz#63a945ceb3e3a23151e34bf402e12eda3a581da1"
-  integrity sha512-Wxy0ucz4k0zD9ulpDGzlBb8z3JJRZ93UXfie5GFUUEN4M5nPH5oIt8eaV3hDkzqvyIubq/HOOsqYW6js7KtWsw==
+"@ckeditor/ckeditor5-upload@^35.1.0":
+  version "35.1.0"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-upload/-/ckeditor5-upload-35.1.0.tgz#b95158f120084d0eb8e7be9fb87437bcaa5d210f"
+  integrity sha512-EDa56I4v+MH9EpDavcCrZA+3l9e3bYqPY43GCwy5KP9N6rbar05OaUCMqPXA0ky2eupkae2tjp8MtCUxs/W+Vg==
   dependencies:
-    "@ckeditor/ckeditor5-core" "^34.1.0"
-    "@ckeditor/ckeditor5-ui" "^34.1.0"
-    "@ckeditor/ckeditor5-utils" "^34.1.0"
+    "@ckeditor/ckeditor5-core" "^35.1.0"
+    "@ckeditor/ckeditor5-ui" "^35.1.0"
+    "@ckeditor/ckeditor5-utils" "^35.1.0"
 
-"@ckeditor/ckeditor5-utils@^34.1.0":
-  version "34.1.0"
-  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-34.1.0.tgz#2979709a61d387b3c85dde21e35e2d6b0ab2d5db"
-  integrity sha512-laXIFkcGeL3NRG1zVNaiZNOcjHnLVqs2gvp6PaBaw6HigZdQWzPIA07FRfamIajMryG29vgcatBYAYgutKlPhQ==
+"@ckeditor/ckeditor5-utils@^35.1.0":
+  version "35.1.0"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-35.1.0.tgz#5c56e701de5a38f317d654dc7871095a8aebbe05"
+  integrity sha512-a13oY43cHzS0uwLB/m6JKXhNNWftcNsUrI2/+UGsUElmFEnJ7aG24iHkdmh62kHY/X5SxowW9hBQR+yb6sKC4w==
   dependencies:
     lodash-es "^4.17.15"
 
-"@ckeditor/ckeditor5-widget@^34.1.0":
-  version "34.1.0"
-  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-widget/-/ckeditor5-widget-34.1.0.tgz#37c51d15a55aeeca9b6b09a5c8d6d3c66ca3066d"
-  integrity sha512-9q/wouwZ760WPY5SZzAFj6aITqPHkQrNrokYzI1tN3A6VCcG4+3AJjgHE5TWWYLfFvqRK2WvSTV1Ntf6ztBa4w==
+"@ckeditor/ckeditor5-widget@^35.1.0":
+  version "35.1.0"
+  resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-widget/-/ckeditor5-widget-35.1.0.tgz#ecf12655ef91e64c148bac50879cc7ae2fba3160"
+  integrity sha512-Gi7zWRmcxkGWjx6pbn2HUqUUftVzCMfRX22SmOQOl9GKQmJAQaKtdM/sBnv0kY5DLsWLrI9HAED9TJhT0zuN9w==
   dependencies:
-    "@ckeditor/ckeditor5-core" "^34.1.0"
-    "@ckeditor/ckeditor5-engine" "^34.1.0"
-    "@ckeditor/ckeditor5-enter" "^34.1.0"
-    "@ckeditor/ckeditor5-typing" "^34.1.0"
-    "@ckeditor/ckeditor5-ui" "^34.1.0"
-    "@ckeditor/ckeditor5-utils" "^34.1.0"
+    "@ckeditor/ckeditor5-core" "^35.1.0"
+    "@ckeditor/ckeditor5-engine" "^35.1.0"
+    "@ckeditor/ckeditor5-enter" "^35.1.0"
+    "@ckeditor/ckeditor5-typing" "^35.1.0"
+    "@ckeditor/ckeditor5-ui" "^35.1.0"
+    "@ckeditor/ckeditor5-utils" "^35.1.0"
     lodash-es "^4.17.15"
 
 "@cspell/cspell-bundled-dicts@^5.20.0":
@@ -1522,6 +1631,15 @@
     "@jridgewell/set-array" "^1.0.0"
     "@jridgewell/sourcemap-codec" "^1.4.10"
 
+"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2":
+  version "0.3.2"
+  resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9"
+  integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==
+  dependencies:
+    "@jridgewell/set-array" "^1.0.1"
+    "@jridgewell/sourcemap-codec" "^1.4.10"
+    "@jridgewell/trace-mapping" "^0.3.9"
+
 "@jridgewell/resolve-uri@^3.0.3":
   version "3.0.6"
   resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.6.tgz#4ac237f4dabc8dd93330386907b97591801f7352"
@@ -1532,11 +1650,32 @@
   resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.0.tgz#1179863356ac8fbea64a5a4bcde93a4871012c01"
   integrity sha512-SfJxIxNVYLTsKwzB3MoOQ1yxf4w/E6MdkvTgrgAt1bfxjSrLUoHMKrDOykwN14q65waezZIdqDneUIPh4/sKxg==
 
+"@jridgewell/set-array@^1.0.1":
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72"
+  integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==
+
+"@jridgewell/source-map@^0.3.2":
+  version "0.3.2"
+  resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.2.tgz#f45351aaed4527a298512ec72f81040c998580fb"
+  integrity sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==
+  dependencies:
+    "@jridgewell/gen-mapping" "^0.3.0"
+    "@jridgewell/trace-mapping" "^0.3.9"
+
 "@jridgewell/sourcemap-codec@^1.4.10":
   version "1.4.12"
   resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.12.tgz#7ed98f6fa525ffb7c56a2cbecb5f7bb91abd2baf"
   integrity sha512-az/NhpIwP3K33ILr0T2bso+k2E/SLf8Yidd8mHl0n6sCQ4YdyC8qDhZA6kOPDNDBA56ZnIjngVl0U3jREA0BUA==
 
+"@jridgewell/trace-mapping@^0.3.7":
+  version "0.3.14"
+  resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz#b231a081d8f66796e475ad588a1ef473112701ed"
+  integrity sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==
+  dependencies:
+    "@jridgewell/resolve-uri" "^3.0.3"
+    "@jridgewell/sourcemap-codec" "^1.4.10"
+
 "@jridgewell/trace-mapping@^0.3.9":
   version "0.3.9"
   resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9"
@@ -1849,11 +1988,6 @@ acorn-jsx@^5.3.1:
   resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937"
   integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
 
-acorn-walk@^6.2.0:
-  version "6.2.0"
-  resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.2.0.tgz#123cb8f3b84c2171f1f7fb252615b1c78a6b1a8c"
-  integrity sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==
-
 acorn-walk@^7.1.1:
   version "7.2.0"
   resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc"
@@ -1864,11 +1998,6 @@ acorn-walk@^8.2.0:
   resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1"
   integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==
 
-acorn@^6.2.1:
-  version "6.4.2"
-  resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6"
-  integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==
-
 acorn@^7.1.1:
   version "7.4.1"
   resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa"
@@ -2372,23 +2501,23 @@ ci-info@^2.0.0:
   resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46"
   integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==
 
-ckeditor5@34.1.x, ckeditor5@^34.1.0:
-  version "34.1.0"
-  resolved "https://registry.yarnpkg.com/ckeditor5/-/ckeditor5-34.1.0.tgz#3bd10c603f877891ee57e210fdd918762e2b865a"
-  integrity sha512-bWcmXEx4C7AC+FywiTrhbs63mUc8vwEualSDzyJIZLd5HULLznqJwjeON/icKtzCiBLEeUFoeDHLC5yWAEj8sA==
+ckeditor5@^35.1.0, ckeditor5@~35.1.0:
+  version "35.1.0"
+  resolved "https://registry.yarnpkg.com/ckeditor5/-/ckeditor5-35.1.0.tgz#4fe60a90d5da69b6e59a97bb8358c536665ee4c4"
+  integrity sha512-Mk8qPXT1OW1BxwVbDnphJmNww8kodKv48HUqSWBCI5i+hOZ/zXNdBoD48NCYqJ5Lr2rJCvlfZ93t3cc//20hwg==
   dependencies:
-    "@ckeditor/ckeditor5-clipboard" "^34.1.0"
-    "@ckeditor/ckeditor5-core" "^34.1.0"
-    "@ckeditor/ckeditor5-engine" "^34.1.0"
-    "@ckeditor/ckeditor5-enter" "^34.1.0"
-    "@ckeditor/ckeditor5-paragraph" "^34.1.0"
-    "@ckeditor/ckeditor5-select-all" "^34.1.0"
-    "@ckeditor/ckeditor5-typing" "^34.1.0"
-    "@ckeditor/ckeditor5-ui" "^34.1.0"
-    "@ckeditor/ckeditor5-undo" "^34.1.0"
-    "@ckeditor/ckeditor5-upload" "^34.1.0"
-    "@ckeditor/ckeditor5-utils" "^34.1.0"
-    "@ckeditor/ckeditor5-widget" "^34.1.0"
+    "@ckeditor/ckeditor5-clipboard" "^35.1.0"
+    "@ckeditor/ckeditor5-core" "^35.1.0"
+    "@ckeditor/ckeditor5-engine" "^35.1.0"
+    "@ckeditor/ckeditor5-enter" "^35.1.0"
+    "@ckeditor/ckeditor5-paragraph" "^35.1.0"
+    "@ckeditor/ckeditor5-select-all" "^35.1.0"
+    "@ckeditor/ckeditor5-typing" "^35.1.0"
+    "@ckeditor/ckeditor5-ui" "^35.1.0"
+    "@ckeditor/ckeditor5-undo" "^35.1.0"
+    "@ckeditor/ckeditor5-upload" "^35.1.0"
+    "@ckeditor/ckeditor5-utils" "^35.1.0"
+    "@ckeditor/ckeditor5-widget" "^35.1.0"
 
 clean-stack@^2.0.0:
   version "2.2.0"
@@ -3106,6 +3235,14 @@ end-of-stream@^1.1.0:
   dependencies:
     once "^1.4.0"
 
+enhanced-resolve@^5.0.0:
+  version "5.10.0"
+  resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz#0dc579c3bb2a1032e357ac45b8f3a6f3ad4fb1e6"
+  integrity sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ==
+  dependencies:
+    graceful-fs "^4.2.4"
+    tapable "^2.2.0"
+
 enhanced-resolve@^5.9.2:
   version "5.9.3"
   resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.9.3.tgz#44a342c012cbc473254af5cc6ae20ebd0aae5d88"
@@ -4422,9 +4559,9 @@ jquery-once@2.2.x:
     jquery "*"
 
 jquery-ui@1.13.x:
-  version "1.13.1"
-  resolved "https://registry.yarnpkg.com/jquery-ui/-/jquery-ui-1.13.1.tgz#d0b7a42e73a04c31bb5706adf86f6f8942f64eaa"
-  integrity sha512-2VlU59N5P4HaumDK1Z3XEVjSvegFbEOQRgpHUBaB2Ak98Axl3hFhJ6RFcNQNuk9SfL6WxIbuLst8dW/U56NSiA==
+  version "1.13.2"
+  resolved "https://registry.yarnpkg.com/jquery-ui/-/jquery-ui-1.13.2.tgz#de03580ae6604773602f8d786ad1abfb75232034"
+  integrity sha512-wBZPnqWs5GaYJmo1Jj0k/mrSkzdQzKDwhXNtHKcBdAcKVxMM3KNYFq+iJ2i1rwiG53Z8M4mTn3Qxrm17uH1D4Q==
   dependencies:
     jquery ">=1.8.0 <4.0.0"
 
@@ -4888,7 +5025,7 @@ merge2@^1.2.3, merge2@^1.3.0, merge2@^1.4.1:
   resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
   integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
 
-micromatch@^4.0.4, micromatch@^4.0.5:
+micromatch@^4.0.0, micromatch@^4.0.4, micromatch@^4.0.5:
   version "4.0.5"
   resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6"
   integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==
@@ -7119,7 +7256,7 @@ terser-webpack-plugin@^4.2.3:
     terser "^5.3.4"
     webpack-sources "^1.4.3"
 
-terser-webpack-plugin@^5.1.3, terser-webpack-plugin@^5.2.0:
+terser-webpack-plugin@^5.1.3:
   version "5.3.1"
   resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.1.tgz#0320dcc270ad5372c1e8993fabbd927929773e54"
   integrity sha512-GvlZdT6wPQKbDNW/GDQzZFg/j4vKU96yl2q6mcUkzKOgW4gwf1Z8cZToUCrz31XHlPWH8MVb1r2tFtdDtTGJ7g==
@@ -7130,6 +7267,27 @@ terser-webpack-plugin@^5.1.3, terser-webpack-plugin@^5.2.0:
     source-map "^0.6.1"
     terser "^5.7.2"
 
+terser-webpack-plugin@^5.3.3:
+  version "5.3.3"
+  resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.3.tgz#8033db876dd5875487213e87c627bca323e5ed90"
+  integrity sha512-Fx60G5HNYknNTNQnzQ1VePRuu89ZVYWfjRAeT5rITuCY/1b08s49e5kSQwHDirKZWuoKOBRFS98EUUoZ9kLEwQ==
+  dependencies:
+    "@jridgewell/trace-mapping" "^0.3.7"
+    jest-worker "^27.4.5"
+    schema-utils "^3.1.1"
+    serialize-javascript "^6.0.0"
+    terser "^5.7.2"
+
+terser@^5.14.2:
+  version "5.14.2"
+  resolved "https://registry.yarnpkg.com/terser/-/terser-5.14.2.tgz#9ac9f22b06994d736174f4091aa368db896f1c10"
+  integrity sha512-oL0rGeM/WFQCUd0y2QrWxYnq7tfSuKBiqTjRPWrRgB46WD/kiwHwF8T23z78H6Q6kGCuuHcPB+KULHRdxvVGQA==
+  dependencies:
+    "@jridgewell/source-map" "^0.3.2"
+    acorn "^8.5.0"
+    commander "^2.20.0"
+    source-map-support "~0.5.20"
+
 terser@^5.3.4, terser@^5.7.2:
   version "5.13.1"
   resolved "https://registry.yarnpkg.com/terser/-/terser-5.13.1.tgz#66332cdc5a01b04a224c9fad449fc1a18eaa1799"
@@ -7206,6 +7364,16 @@ trim-newlines@^3.0.0:
   resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144"
   integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==
 
+ts-loader@^9.3.0:
+  version "9.3.1"
+  resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-9.3.1.tgz#fe25cca56e3e71c1087fe48dc67f4df8c59b22d4"
+  integrity sha512-OkyShkcZTsTwyS3Kt7a4rsT/t2qvEVQuKCTg4LJmpj9fhFR7ukGdZwV6Qq3tRUkqcXtfGpPR7+hFKHCG/0d3Lw==
+  dependencies:
+    chalk "^4.1.0"
+    enhanced-resolve "^5.0.0"
+    micromatch "^4.0.0"
+    semver "^7.3.4"
+
 tsconfig-paths@^3.14.1:
   version "3.14.1"
   resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz#ba0734599e8ea36c862798e920bcf163277b137a"
diff --git a/frontend/drupal9/web/modules/contrib/ctools/composer.json b/frontend/drupal9/web/modules/contrib/ctools/composer.json
index b252b65ce..f00ee2030 100644
--- a/frontend/drupal9/web/modules/contrib/ctools/composer.json
+++ b/frontend/drupal9/web/modules/contrib/ctools/composer.json
@@ -36,9 +36,6 @@
     "issues": "https://www.drupal.org/project/issues/ctools",
     "source": "https://git.drupalcode.org/project/ctools"
   },
-  "require": {
-    "drupal/core": "^8.8 || ^9"
-  },
   "extra": {
     "branch-alias": {
       "dev-8.x-3.x": "3.x-dev"
diff --git a/frontend/drupal9/web/modules/contrib/ctools/ctools.info.yml b/frontend/drupal9/web/modules/contrib/ctools/ctools.info.yml
index 91044b37c..ff399c692 100644
--- a/frontend/drupal9/web/modules/contrib/ctools/ctools.info.yml
+++ b/frontend/drupal9/web/modules/contrib/ctools/ctools.info.yml
@@ -2,9 +2,9 @@ name: Chaos Tools
 type: module
 description: 'Provides a number of utility and helper APIs for Drupal developers and site builders.'
 package: Chaos tool suite
-core_version_requirement: ^8.8 || ^9
+core_version_requirement: ^9.3 || ^10
 
-# Information added by Drupal.org packaging script on 2022-07-01
-version: '8.x-3.8'
+# Information added by Drupal.org packaging script on 2022-08-10
+version: '8.x-3.11'
 project: 'ctools'
-datestamp: 1656633726
+datestamp: 1660167576
diff --git a/frontend/drupal9/web/modules/contrib/ctools/ctools.module b/frontend/drupal9/web/modules/contrib/ctools/ctools.module
index 80229fb78..f4fe71890 100644
--- a/frontend/drupal9/web/modules/contrib/ctools/ctools.module
+++ b/frontend/drupal9/web/modules/contrib/ctools/ctools.module
@@ -9,6 +9,7 @@ use Drupal\Core\Entity\Plugin\Condition\EntityBundle as CoreEntityBundle;
 use Drupal\Core\Routing\RouteMatchInterface;
 use Drupal\Core\Url;
 use Drupal\ctools\Plugin\Condition\EntityBundle;
+use Drupal\ctools\Plugin\Condition\NodeType;
 
 /**
  * Implements hook_theme().
@@ -89,9 +90,10 @@ function template_preprocess_ctools_wizard_trail_links(&$variables) {
  * @param $definitions
  */
 function ctools_condition_info_alter(&$definitions) {
-  // If the node_type's class is unaltered, use a custom ctools implementation.
+  // Drupal 9.x only: override core node_type with ctools constraints.
   if (isset($definitions['node_type']) && $definitions['node_type']['class'] == 'Drupal\node\Plugin\Condition\NodeType') {
-    $definitions['node_type']['class'] = 'Drupal\ctools\Plugin\Condition\NodeType';
+    @trigger_error('\Drupal\node\Plugin\Condition\NodeType is deprecated in drupal:9.3.0 and is removed from drupal:10.0.0. Use \Drupal\Core\Entity\Plugin\Condition\EntityBundle instead. See https://www.drupal.org/node/2983299', E_USER_DEPRECATED);
+    $definitions['node_type']['class'] = NodeType::class;
   }
 
   // Replace all generic entity bundle conditions classes if they are unaltered,
diff --git a/frontend/drupal9/web/modules/contrib/ctools/ctools.post_update.php b/frontend/drupal9/web/modules/contrib/ctools/ctools.post_update.php
new file mode 100644
index 000000000..79f78d156
--- /dev/null
+++ b/frontend/drupal9/web/modules/contrib/ctools/ctools.post_update.php
@@ -0,0 +1,15 @@
+invalidateContainer();
+}
diff --git a/frontend/drupal9/web/modules/contrib/ctools/ctools.services.yml b/frontend/drupal9/web/modules/contrib/ctools/ctools.services.yml
index 819607e07..53a65ab63 100644
--- a/frontend/drupal9/web/modules/contrib/ctools/ctools.services.yml
+++ b/frontend/drupal9/web/modules/contrib/ctools/ctools.services.yml
@@ -34,5 +34,6 @@ services:
   ctools.serializable.tempstore.factory:
     class: Drupal\ctools\SerializableTempstoreFactory
     arguments: ['@keyvalue.expirable', '@lock', '@request_stack', '%tempstore.expire%', '@current_user']
+    deprecated: The "%service_id%" service is deprecated. You should use the core shared tempstore factory service instead.
     tags:
       - { name: backend_overridable }
diff --git a/frontend/drupal9/web/modules/contrib/ctools/modules/ctools_block/ctools_block.info.yml b/frontend/drupal9/web/modules/contrib/ctools/modules/ctools_block/ctools_block.info.yml
index ca7e4cb37..f1e64617f 100644
--- a/frontend/drupal9/web/modules/contrib/ctools/modules/ctools_block/ctools_block.info.yml
+++ b/frontend/drupal9/web/modules/contrib/ctools/modules/ctools_block/ctools_block.info.yml
@@ -2,11 +2,11 @@ name: Chaos Tools Blocks
 type: module
 description: 'Provides improvements to blocks that will one day be added to Drupal core.'
 package: Chaos tool suite (Experimental)
-core_version_requirement: ^8.8 || ^9
+core_version_requirement: ^9.3 || ^10
 dependencies:
   - ctools:ctools
 
-# Information added by Drupal.org packaging script on 2022-07-01
-version: '8.x-3.8'
+# Information added by Drupal.org packaging script on 2022-08-10
+version: '8.x-3.11'
 project: 'ctools'
-datestamp: 1656633726
+datestamp: 1660167576
diff --git a/frontend/drupal9/web/modules/contrib/ctools/modules/ctools_block/tests/modules/ctools_block_field_test/ctools_block_field_test.info.yml b/frontend/drupal9/web/modules/contrib/ctools/modules/ctools_block/tests/modules/ctools_block_field_test/ctools_block_field_test.info.yml
index 4c9b77242..0769a3cc5 100644
--- a/frontend/drupal9/web/modules/contrib/ctools/modules/ctools_block/tests/modules/ctools_block_field_test/ctools_block_field_test.info.yml
+++ b/frontend/drupal9/web/modules/contrib/ctools/modules/ctools_block/tests/modules/ctools_block_field_test/ctools_block_field_test.info.yml
@@ -12,7 +12,7 @@ dependencies:
   - drupal:user
 features: true
 
-# Information added by Drupal.org packaging script on 2022-07-01
-version: '8.x-3.8'
+# Information added by Drupal.org packaging script on 2022-08-10
+version: '8.x-3.11'
 project: 'ctools'
-datestamp: 1656633726
+datestamp: 1660167576
diff --git a/frontend/drupal9/web/modules/contrib/ctools/modules/ctools_block/tests/src/Functional/EntityFieldBlockTest.php b/frontend/drupal9/web/modules/contrib/ctools/modules/ctools_block/tests/src/Functional/EntityFieldBlockTest.php
index 56baf0dad..e1916c4bd 100644
--- a/frontend/drupal9/web/modules/contrib/ctools/modules/ctools_block/tests/src/Functional/EntityFieldBlockTest.php
+++ b/frontend/drupal9/web/modules/contrib/ctools/modules/ctools_block/tests/src/Functional/EntityFieldBlockTest.php
@@ -83,8 +83,8 @@ class EntityFieldBlockTest extends BrowserTestBase {
     $this->drupalGet('node/' . $node->id());
 
     $url = $file->getFileUri();
-    $url = file_create_url($url);
-    $url = file_url_transform_relative($url);
+    $url = $this->container->get('file_url_generator')->generateAbsoluteString($url);
+    $url = $this->container->get('file_url_generator')->transformRelative($url);
     $this->assertSession()->responseContains('src="' . $url . '"');
   }
 
diff --git a/frontend/drupal9/web/modules/contrib/ctools/modules/ctools_entity_mask/ctools_entity_mask.info.yml b/frontend/drupal9/web/modules/contrib/ctools/modules/ctools_entity_mask/ctools_entity_mask.info.yml
index 133eb685f..8107b6fa6 100644
--- a/frontend/drupal9/web/modules/contrib/ctools/modules/ctools_entity_mask/ctools_entity_mask.info.yml
+++ b/frontend/drupal9/web/modules/contrib/ctools/modules/ctools_entity_mask/ctools_entity_mask.info.yml
@@ -1,9 +1,9 @@
 name: 'Entity Mask'
-core_version_requirement: ^8.8 || ^9
 type: module
 description: 'Allows an entity type to borrow the fields and display configuration of another entity type.'
+core_version_requirement: ^9.3 || ^10
 
-# Information added by Drupal.org packaging script on 2022-07-01
-version: '8.x-3.8'
+# Information added by Drupal.org packaging script on 2022-08-10
+version: '8.x-3.11'
 project: 'ctools'
-datestamp: 1656633726
+datestamp: 1660167576
diff --git a/frontend/drupal9/web/modules/contrib/ctools/modules/ctools_entity_mask/tests/modules/entity_mask_test/entity_mask_test.info.yml b/frontend/drupal9/web/modules/contrib/ctools/modules/ctools_entity_mask/tests/modules/entity_mask_test/entity_mask_test.info.yml
index 8e9ccd02c..ac222f59e 100644
--- a/frontend/drupal9/web/modules/contrib/ctools/modules/ctools_entity_mask/tests/modules/entity_mask_test/entity_mask_test.info.yml
+++ b/frontend/drupal9/web/modules/contrib/ctools/modules/ctools_entity_mask/tests/modules/entity_mask_test/entity_mask_test.info.yml
@@ -7,7 +7,7 @@ dependencies:
   - drupal:image
   - drupal:text
 
-# Information added by Drupal.org packaging script on 2022-07-01
-version: '8.x-3.8'
+# Information added by Drupal.org packaging script on 2022-08-10
+version: '8.x-3.11'
 project: 'ctools'
-datestamp: 1656633726
+datestamp: 1660167576
diff --git a/frontend/drupal9/web/modules/contrib/ctools/modules/ctools_entity_mask/tests/src/Functional/DisplayTest.php b/frontend/drupal9/web/modules/contrib/ctools/modules/ctools_entity_mask/tests/src/Functional/DisplayTest.php
index b65d66da9..b4dd759c4 100644
--- a/frontend/drupal9/web/modules/contrib/ctools/modules/ctools_entity_mask/tests/src/Functional/DisplayTest.php
+++ b/frontend/drupal9/web/modules/contrib/ctools/modules/ctools_entity_mask/tests/src/Functional/DisplayTest.php
@@ -39,7 +39,7 @@ class DisplayTest extends BrowserTestBase {
   /**
    * {@inheritdoc}
    */
-  protected function setUp() {
+  protected function setUp(): void {
     parent::setUp();
 
     $account = $this->drupalCreateUser(['administer blocks']);
@@ -109,10 +109,8 @@ class DisplayTest extends BrowserTestBase {
     $this->assertNotFalse(strpos($rendered, $block->field_link->uri));
 
     $image_url = $block->field_image->entity->getFileUri();
-    $image_url = file_create_url($image_url);
-    // file_create_url() will include the host and port, but the rendered output
-    // won't include those.
-    $image_url = file_url_transform_relative($image_url);
+    $image_url = $this->container->get('file_url_generator')->generateAbsoluteString($image_url);
+    $image_url = $this->container->get('file_url_generator')->transformRelative($image_url);
     // @todo Use assertStringContainsString() when we rely exclusively on
     // PHPUnit 8.
     $this->assertNotFalse(strpos($rendered, $image_url));
diff --git a/frontend/drupal9/web/modules/contrib/ctools/modules/ctools_entity_mask/tests/src/Kernel/EntityMaskTest.php b/frontend/drupal9/web/modules/contrib/ctools/modules/ctools_entity_mask/tests/src/Kernel/EntityMaskTest.php
index f4d14a392..1192ddc0f 100644
--- a/frontend/drupal9/web/modules/contrib/ctools/modules/ctools_entity_mask/tests/src/Kernel/EntityMaskTest.php
+++ b/frontend/drupal9/web/modules/contrib/ctools/modules/ctools_entity_mask/tests/src/Kernel/EntityMaskTest.php
@@ -34,7 +34,7 @@ class EntityMaskTest extends KernelTestBase {
   /**
    * {@inheritdoc}
    */
-  protected function setUp() {
+  protected function setUp(): void {
     parent::setUp();
     $this->installConfig(['block_content', 'entity_mask_test']);
     $this->installEntitySchema('fake_block_content');
diff --git a/frontend/drupal9/web/modules/contrib/ctools/modules/ctools_views/ctools_views.info.yml b/frontend/drupal9/web/modules/contrib/ctools/modules/ctools_views/ctools_views.info.yml
index 33157d675..f12d5d451 100644
--- a/frontend/drupal9/web/modules/contrib/ctools/modules/ctools_views/ctools_views.info.yml
+++ b/frontend/drupal9/web/modules/contrib/ctools/modules/ctools_views/ctools_views.info.yml
@@ -3,12 +3,12 @@ type: module
 description: 'A set of improvements to the core Views code that allows for greater control over Blocks.'
 package: Chaos tool suite (Experimental)
 # version: 3.x
-core_version_requirement: ^8.8 || ^9
+core_version_requirement: ^9.3 || ^10
 dependencies:
   - drupal:block
   - drupal:views
 
-# Information added by Drupal.org packaging script on 2022-07-01
-version: '8.x-3.8'
+# Information added by Drupal.org packaging script on 2022-08-10
+version: '8.x-3.11'
 project: 'ctools'
-datestamp: 1656633726
+datestamp: 1660167576
diff --git a/frontend/drupal9/web/modules/contrib/ctools/modules/ctools_views/tests/modules/ctools_views_test_views/ctools_views_test_views.info.yml b/frontend/drupal9/web/modules/contrib/ctools/modules/ctools_views/tests/modules/ctools_views_test_views/ctools_views_test_views.info.yml
index e33eb6ea1..05e666896 100644
--- a/frontend/drupal9/web/modules/contrib/ctools/modules/ctools_views/tests/modules/ctools_views_test_views/ctools_views_test_views.info.yml
+++ b/frontend/drupal9/web/modules/contrib/ctools/modules/ctools_views/tests/modules/ctools_views_test_views/ctools_views_test_views.info.yml
@@ -12,7 +12,7 @@ dependencies:
     - drupal:node
     - drupal:taxonomy
 
-# Information added by Drupal.org packaging script on 2022-07-01
-version: '8.x-3.8'
+# Information added by Drupal.org packaging script on 2022-08-10
+version: '8.x-3.11'
 project: 'ctools'
-datestamp: 1656633726
+datestamp: 1660167576
diff --git a/frontend/drupal9/web/modules/contrib/ctools/modules/ctools_views/tests/src/Functional/CToolsViewsBasicViewBlockTest.php b/frontend/drupal9/web/modules/contrib/ctools/modules/ctools_views/tests/src/Functional/CToolsViewsBasicViewBlockTest.php
index 23ba31cca..1d13e78d6 100644
--- a/frontend/drupal9/web/modules/contrib/ctools/modules/ctools_views/tests/src/Functional/CToolsViewsBasicViewBlockTest.php
+++ b/frontend/drupal9/web/modules/contrib/ctools/modules/ctools_views/tests/src/Functional/CToolsViewsBasicViewBlockTest.php
@@ -45,7 +45,7 @@ class CToolsViewsBasicViewBlockTest extends UITestBase {
   /**
    * {@inheritdoc}
    */
-  protected function setUp($import_test_views = TRUE) {
+  protected function setUp($import_test_views = TRUE, $modules = ['views_test_config']): void {
     parent::setUp($import_test_views);
 
     ViewTestData::createTestViews(get_class($this), ['ctools_views_test_views']);
diff --git a/frontend/drupal9/web/modules/contrib/ctools/src/Controller/WizardFormController.php b/frontend/drupal9/web/modules/contrib/ctools/src/Controller/WizardFormController.php
index 81bf06ec4..5afc7c66f 100644
--- a/frontend/drupal9/web/modules/contrib/ctools/src/Controller/WizardFormController.php
+++ b/frontend/drupal9/web/modules/contrib/ctools/src/Controller/WizardFormController.php
@@ -24,7 +24,7 @@ class WizardFormController extends FormController {
   /**
    * Tempstore Factory for keeping track of values in each step of the wizard.
    *
-   * @var \Drupal\Core\TempStore\PrivateTempStoreFactory
+   * @var \Drupal\Core\TempStore\SharedTempStoreFactory
    */
   protected $tempstore;
 
diff --git a/frontend/drupal9/web/modules/contrib/ctools/src/Event/BlockVariantEvent.php b/frontend/drupal9/web/modules/contrib/ctools/src/Event/BlockVariantEvent.php
index ed12c3800..a97083bc3 100644
--- a/frontend/drupal9/web/modules/contrib/ctools/src/Event/BlockVariantEvent.php
+++ b/frontend/drupal9/web/modules/contrib/ctools/src/Event/BlockVariantEvent.php
@@ -2,9 +2,9 @@
 
 namespace Drupal\ctools\Event;
 
+use Drupal\Component\EventDispatcher\Event;
 use Drupal\Core\Block\BlockPluginInterface;
 use Drupal\ctools\Plugin\BlockVariantInterface;
-use Symfony\Component\EventDispatcher\Event;
 
 /**
  *
diff --git a/frontend/drupal9/web/modules/contrib/ctools/src/Event/WizardEvent.php b/frontend/drupal9/web/modules/contrib/ctools/src/Event/WizardEvent.php
index 9c4d46a05..d8c8a9f1a 100644
--- a/frontend/drupal9/web/modules/contrib/ctools/src/Event/WizardEvent.php
+++ b/frontend/drupal9/web/modules/contrib/ctools/src/Event/WizardEvent.php
@@ -3,7 +3,7 @@
 namespace Drupal\ctools\Event;
 
 use Drupal\ctools\Wizard\FormWizardInterface;
-use Symfony\Component\EventDispatcher\Event;
+use Drupal\Component\EventDispatcher\Event;
 
 /**
  * An event for altering form wizard values.
diff --git a/frontend/drupal9/web/modules/contrib/ctools/src/Form/ManageContext.php b/frontend/drupal9/web/modules/contrib/ctools/src/Form/ManageContext.php
index da44b2cd9..92a4e62e1 100644
--- a/frontend/drupal9/web/modules/contrib/ctools/src/Form/ManageContext.php
+++ b/frontend/drupal9/web/modules/contrib/ctools/src/Form/ManageContext.php
@@ -110,7 +110,10 @@ abstract class ManageContext extends FormBase {
       '#empty' => $this->t('No contexts or relationships have been added.'),
     ];
     foreach ($this->typedDataManager->getDefinitions() as $type => $definition) {
-      $types[$type] = $definition['label'];
+      $types[$type] = $definition['label'] . " ($type)";
+      if ($definition['id'] === 'entity_revision') {
+        $types[$type] .= ' (' . $this->t('Revision') . ')';
+      }
     }
     if (isset($types['entity'])) {
       unset($types['entity']);
diff --git a/frontend/drupal9/web/modules/contrib/ctools/src/Plugin/BlockVariantTrait.php b/frontend/drupal9/web/modules/contrib/ctools/src/Plugin/BlockVariantTrait.php
index 584b9b011..3cc543405 100644
--- a/frontend/drupal9/web/modules/contrib/ctools/src/Plugin/BlockVariantTrait.php
+++ b/frontend/drupal9/web/modules/contrib/ctools/src/Plugin/BlockVariantTrait.php
@@ -53,7 +53,7 @@ trait BlockVariantTrait {
     $block = $this->getBlock($configuration['uuid']);
     // Allow modules to react to the change.
     $event = new BlockVariantEvent($block, $this);
-    $this->eventDispatcher()->dispatch(BlockVariantEvents::ADD_BLOCK, $event);
+    $this->eventDispatcher()->dispatch($event, BlockVariantEvents::ADD_BLOCK);
 
     return $configuration['uuid'];
   }
@@ -67,7 +67,7 @@ trait BlockVariantTrait {
 
     // Allow modules to react to the change.
     $event = new BlockVariantEvent($block, $this);
-    $this->eventDispatcher()->dispatch(BlockVariantEvents::DELETE_BLOCK, $event);
+    $this->eventDispatcher()->dispatch($event, BlockVariantEvents::DELETE_BLOCK);
 
     return $this;
   }
@@ -82,7 +82,7 @@ trait BlockVariantTrait {
 
     // Allow modules to react to the change.
     $event = new BlockVariantEvent($block, $this);
-    $this->eventDispatcher()->dispatch(BlockVariantEvents::UPDATE_BLOCK, $event);
+    $this->eventDispatcher()->dispatch($event, BlockVariantEvents::UPDATE_BLOCK);
 
     return $this;
   }
diff --git a/frontend/drupal9/web/modules/contrib/ctools/src/Plugin/Condition/EntityBundle.php b/frontend/drupal9/web/modules/contrib/ctools/src/Plugin/Condition/EntityBundle.php
index a93d0ec41..6ab45f832 100644
--- a/frontend/drupal9/web/modules/contrib/ctools/src/Plugin/Condition/EntityBundle.php
+++ b/frontend/drupal9/web/modules/contrib/ctools/src/Plugin/Condition/EntityBundle.php
@@ -2,136 +2,15 @@
 
 namespace Drupal\ctools\Plugin\Condition;
 
-use Drupal\Core\Condition\ConditionPluginBase;
-use Drupal\Core\Entity\EntityTypeBundleInfoInterface;
-use Drupal\Core\Entity\EntityTypeManagerInterface;
-use Drupal\Core\Entity\ContentEntityInterface;
-use Drupal\Core\Form\FormStateInterface;
-use Drupal\Core\Plugin\ContainerFactoryPluginInterface;
+use Drupal\Core\Entity\Plugin\Condition\EntityBundle as CoreEntityBundle;
 use Drupal\ctools\ConstraintConditionInterface;
-use Symfony\Component\DependencyInjection\ContainerInterface;
 
 /**
- * Provides a 'Entity Bundle' condition.
+ * Entity Bundle Constraints
  *
- * @Condition(
- *   id = "entity_bundle",
- *   deriver = "\Drupal\ctools\Plugin\Deriver\EntityBundle"
- * )
+ * Adds constraints to Drupal\Core\Entity\Plugin\Condition\EntityBundle.
  */
-class EntityBundle extends ConditionPluginBase implements ConstraintConditionInterface, ContainerFactoryPluginInterface {
-
-  /**
-   * The entity type bundle info service.
-   *
-   * @var \Drupal\Core\Entity\EntityTypeBundleInfoInterface
-   */
-  protected $entityTypeBundleInfo;
-
-  /**
-   * @var \Drupal\Core\Entity\EntityTypeInterface|null
-   */
-  protected $bundleOf;
-
-  /**
-   * Creates a new EntityBundle instance.
-   *
-   * @param \Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager
-   *   The entity type manager.
-   * @param \Drupal\Core\Entity\EntityTypeBundleInfoInterface $entity_type_bundle_info
-   *   The entity type bundle info service.
-   * @param array $configuration
-   *   The plugin configuration, i.e. an array with configuration values keyed
-   *   by configuration option name. The special key 'context' may be used to
-   *   initialize the defined contexts by setting it to an array of context
-   *   values keyed by context names.
-   * @param string $plugin_id
-   *   The plugin_id for the plugin instance.
-   * @param mixed $plugin_definition
-   *   The plugin implementation definition.
-   */
-  public function __construct(EntityTypeManagerInterface $entity_type_manager, EntityTypeBundleInfoInterface $entity_type_bundle_info, array $configuration, $plugin_id, $plugin_definition) {
-    parent::__construct($configuration, $plugin_id, $plugin_definition);
-    $this->entityTypeBundleInfo = $entity_type_bundle_info;
-    $this->bundleOf = $entity_type_manager->getDefinition($this->getDerivativeId());
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) {
-    return new static(
-      $container->get('entity_type.manager'),
-      $container->get('entity_type.bundle.info'),
-      $configuration,
-      $plugin_id,
-      $plugin_definition
-    );
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function buildConfigurationForm(array $form, FormStateInterface $form_state) {
-    $options = [];
-    $bundles = $this->entityTypeBundleInfo->getBundleInfo($this->bundleOf->id());
-    foreach ($bundles as $id => $info) {
-      $options[$id] = $info['label'];
-    }
-    $form['bundles'] = [
-      '#title' => $this->pluginDefinition['label'],
-      '#type' => 'checkboxes',
-      '#options' => $options,
-      '#default_value' => $this->configuration['bundles'],
-    ];
-    return parent::buildConfigurationForm($form, $form_state);
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function submitConfigurationForm(array &$form, FormStateInterface $form_state) {
-    $this->configuration['bundles'] = array_filter($form_state->getValue('bundles'));
-    parent::submitConfigurationForm($form, $form_state);
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function evaluate() {
-    if (empty($this->configuration['bundles']) && !$this->isNegated()) {
-      return TRUE;
-    }
-    /** @var \Drupal\Core\Entity\ContentEntityInterface $entity */
-    $entity = $this->getContextValue($this->bundleOf->id());
-
-    if (!$entity instanceof ContentEntityInterface) {
-      return TRUE;
-    }
-
-    return !empty($this->configuration['bundles'][$entity->bundle()]);
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function summary() {
-    if (count($this->configuration['bundles']) > 1) {
-      $bundles = $this->configuration['bundles'];
-      $last = array_pop($bundles);
-      $bundles = implode(', ', $bundles);
-      return $this->t('@bundle_type is @bundles or @last', ['@bundle_type' => $this->bundleOf->getBundleLabel(), '@bundles' => $bundles, '@last' => $last]);
-    }
-    $bundle = reset($this->configuration['bundles']);
-    return $this->t('@bundle_type is @bundle', ['@bundle_type' => $this->bundleOf->getBundleLabel(), '@bundle' => $bundle]);
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function defaultConfiguration() {
-    return ['bundles' => []] + parent::defaultConfiguration();
-  }
+class EntityBundle extends CoreEntityBundle implements ConstraintConditionInterface {
 
   /**
    * {@inheritdoc}
@@ -142,7 +21,7 @@ class EntityBundle extends ConditionPluginBase implements ConstraintConditionInt
     // Nullify any bundle constraints on contexts we care about.
     $this->removeConstraints($contexts);
     $bundle = array_values($this->configuration['bundles']);
-    // There's only one expected context for this plugint type.
+    // There's only one expected context for this plugin type.
     foreach ($this->getContextMapping() as $definition_id => $context_id) {
       $contexts[$context_id]->getContextDefinition()->addConstraint('Bundle', ['value' => $bundle]);
     }
@@ -161,5 +40,4 @@ class EntityBundle extends ConditionPluginBase implements ConstraintConditionInt
       $contexts[$context_id]->getContextDefinition()->setConstraints($constraints);
     }
   }
-
-}
+}
\ No newline at end of file
diff --git a/frontend/drupal9/web/modules/contrib/ctools/src/Plugin/Condition/NodeType.php b/frontend/drupal9/web/modules/contrib/ctools/src/Plugin/Condition/NodeType.php
index 26006e422..55b18b908 100644
--- a/frontend/drupal9/web/modules/contrib/ctools/src/Plugin/Condition/NodeType.php
+++ b/frontend/drupal9/web/modules/contrib/ctools/src/Plugin/Condition/NodeType.php
@@ -6,8 +6,16 @@ use Drupal\node\Plugin\Condition\NodeType as CoreNodeType;
 use Drupal\ctools\ConstraintConditionInterface;
 
 /**
+ * Entity Bundle Constraints
  *
+ * Adds constraints to the core NodeType condition.
+ *
+ * @deprecated in ctools:8.x-1.10. Will be removed before ctools:4.1.0.
+ *   Use \Drupal\ctools\Plugin\Condition\EntityBundle instead.
+ *
+ * @see https://www.drupal.org/node/2983299
  */
+//@phpstan-ignore-next-line
 class NodeType extends CoreNodeType implements ConstraintConditionInterface {
 
   /**
diff --git a/frontend/drupal9/web/modules/contrib/ctools/src/Plugin/Deriver/EntityBundle.php b/frontend/drupal9/web/modules/contrib/ctools/src/Plugin/Deriver/EntityBundle.php
index f33fe7167..66178ba25 100644
--- a/frontend/drupal9/web/modules/contrib/ctools/src/Plugin/Deriver/EntityBundle.php
+++ b/frontend/drupal9/web/modules/contrib/ctools/src/Plugin/Deriver/EntityBundle.php
@@ -6,6 +6,9 @@ use Drupal\Core\Plugin\Context\EntityContextDefinition;
 
 /**
  * Deriver that creates a condition for each entity type with bundles.
+ *
+ * @deprecated in ctools:8.x-1.10. Will be removed before ctools:4.1.0.
+ *   Use \Drupal\Core\Entity\Plugin\Condition\Deriver\EntityBundle instead.
  */
 class EntityBundle extends EntityDeriverBase {
 
diff --git a/frontend/drupal9/web/modules/contrib/ctools/src/Plugin/RelationshipBase.php b/frontend/drupal9/web/modules/contrib/ctools/src/Plugin/RelationshipBase.php
index 9f1e1cf18..252f67296 100644
--- a/frontend/drupal9/web/modules/contrib/ctools/src/Plugin/RelationshipBase.php
+++ b/frontend/drupal9/web/modules/contrib/ctools/src/Plugin/RelationshipBase.php
@@ -2,9 +2,12 @@
 
 namespace Drupal\ctools\Plugin;
 
-use Drupal\Core\Plugin\ContextAwarePluginBase;
+use Drupal\Core\Plugin\ContextAwarePluginTrait;
+use Drupal\Core\Plugin\PluginBase;
 
 /**
  * Base class for Relationship plugins.
  */
-abstract class RelationshipBase extends ContextAwarePluginBase implements RelationshipInterface {}
+abstract class RelationshipBase extends PluginBase implements RelationshipInterface {
+  use ContextAwarePluginTrait;
+}
diff --git a/frontend/drupal9/web/modules/contrib/ctools/src/Routing/Enhancer/WizardEnhancer.php b/frontend/drupal9/web/modules/contrib/ctools/src/Routing/Enhancer/WizardEnhancer.php
index e16f6d264..eedb3f070 100644
--- a/frontend/drupal9/web/modules/contrib/ctools/src/Routing/Enhancer/WizardEnhancer.php
+++ b/frontend/drupal9/web/modules/contrib/ctools/src/Routing/Enhancer/WizardEnhancer.php
@@ -3,7 +3,7 @@
 namespace Drupal\ctools\Routing\Enhancer;
 
 use Drupal\Core\Routing\EnhancerInterface;
-use Symfony\Cmf\Component\Routing\RouteObjectInterface;
+use Drupal\Core\Routing\RouteObjectInterface;
 use Symfony\Component\HttpFoundation\Request;
 use Symfony\Component\Routing\Route;
 
diff --git a/frontend/drupal9/web/modules/contrib/ctools/src/SerializableTempstore.php b/frontend/drupal9/web/modules/contrib/ctools/src/SerializableTempstore.php
index d4db4d077..a444095d6 100644
--- a/frontend/drupal9/web/modules/contrib/ctools/src/SerializableTempstore.php
+++ b/frontend/drupal9/web/modules/contrib/ctools/src/SerializableTempstore.php
@@ -7,6 +7,9 @@ use Drupal\Core\TempStore\SharedTempStore;
 
 /**
  * An extension of the SharedTempStore system for serialized data.
+ *
+ * @deprecated in ctools 8.x-3.10. Will be removed before ctools:4.0.0.
+ *   Use \Drupal\Core\TempStore\SharedTempStore instead.
  */
 class SerializableTempstore extends SharedTempStore {
   use DependencySerializationTrait;
diff --git a/frontend/drupal9/web/modules/contrib/ctools/src/SerializableTempstoreFactory.php b/frontend/drupal9/web/modules/contrib/ctools/src/SerializableTempstoreFactory.php
index c3e283b9d..32da58b1d 100644
--- a/frontend/drupal9/web/modules/contrib/ctools/src/SerializableTempstoreFactory.php
+++ b/frontend/drupal9/web/modules/contrib/ctools/src/SerializableTempstoreFactory.php
@@ -7,9 +7,13 @@ use Drupal\Core\Lock\LockBackendInterface;
 use Drupal\Core\Session\AccountProxyInterface;
 use Drupal\Core\TempStore\SharedTempStoreFactory;
 use Symfony\Component\HttpFoundation\RequestStack;
+use Drupal\Core\TempStore\SharedTempStore as CoreSharedTempStore;
 
 /**
  * A factory for creating SerializableTempStore objects.
+ *
+ * @deprecated in ctools 8.x-3.10. Will be removed before ctools:4.0.0.
+ *   Use \Drupal\Core\TempStore\SharedTempStoreFactory instead.
  */
 class SerializableTempstoreFactory extends SharedTempStoreFactory {
 
@@ -51,7 +55,7 @@ class SerializableTempstoreFactory extends SharedTempStoreFactory {
 
     // Store the data for this collection in the database.
     $storage = $this->storageFactory->get("tempstore.shared.$collection");
-    return new SerializableTempstore($storage, $this->lockBackend, $owner, $this->requestStack, $this->expire);
+    return new CoreSharedTempStore($storage, $this->lockBackend, $owner, $this->requestStack, $this->expire);
   }
 
 }
diff --git a/frontend/drupal9/web/modules/contrib/ctools/src/Testing/EntityCreationTrait.php b/frontend/drupal9/web/modules/contrib/ctools/src/Testing/EntityCreationTrait.php
index eeb1bed15..d9325ec5d 100644
--- a/frontend/drupal9/web/modules/contrib/ctools/src/Testing/EntityCreationTrait.php
+++ b/frontend/drupal9/web/modules/contrib/ctools/src/Testing/EntityCreationTrait.php
@@ -34,7 +34,7 @@ trait EntityCreationTrait {
     $status = $entity->save();
     \Drupal::service('router.builder')->rebuild();
 
-    if ($this instanceof \PHPUnit_Framework_TestCase) {
+    if ($this instanceof \PHPUnit\Framework\TestCase) {
       // phpcs:ignore
       $this->assertSame(SAVED_NEW, $status, (new FormattableMarkup('Created entity %id of type %type.', ['%id' => $entity->id(), '%type' => $entity_type]))->__toString()); //psp
     }
diff --git a/frontend/drupal9/web/modules/contrib/ctools/src/Wizard/EntityFormWizardBase.php b/frontend/drupal9/web/modules/contrib/ctools/src/Wizard/EntityFormWizardBase.php
index 889beee5b..4292ef8fd 100644
--- a/frontend/drupal9/web/modules/contrib/ctools/src/Wizard/EntityFormWizardBase.php
+++ b/frontend/drupal9/web/modules/contrib/ctools/src/Wizard/EntityFormWizardBase.php
@@ -9,7 +9,7 @@ use Drupal\Core\Form\FormStateInterface;
 use Drupal\Core\Render\RendererInterface;
 use Drupal\Core\Routing\RouteMatchInterface;
 use Drupal\ctools\Event\WizardEvent;
-use Drupal\Core\TempStore\PrivateTempStoreFactory;
+use Drupal\Core\TempStore\SharedTempStoreFactory;
 use Symfony\Component\EventDispatcher\EventDispatcherInterface;
 
 /**
@@ -25,7 +25,7 @@ abstract class EntityFormWizardBase extends FormWizardBase implements EntityForm
   protected $entityTypeManager;
 
   /**
-   * @param \Drupal\Core\TempStore\PrivateTempStoreFactory $tempstore
+   * @param \Drupal\Core\TempStore\SharedTempStoreFactory $tempstore
    *   Tempstore Factory for keeping track of values in each step of the
    *   wizard.
    * @param \Drupal\Core\Form\FormBuilderInterface $builder
@@ -36,18 +36,16 @@ abstract class EntityFormWizardBase extends FormWizardBase implements EntityForm
    *   The event dispatcher.
    * @param \Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager
    *   The entity type manager.
-   * @param \Drupal\Core\Routing\RouteMatchInterface $route_match
-   *   The route match object.
    * @param $tempstore_id
-   *   The private temp store factory collection name.
+   *   The shared temp store factory collection name.
    * @param null $machine_name
-   *   The PrivateTempStore key for our current wizard values.
+   *   The SharedTempStore key for our current wizard values.
    * @param null $step
    *   The current active step of the wizard.
    */
-  public function __construct(PrivateTempStoreFactory $tempstore, FormBuilderInterface $builder, ClassResolverInterface $class_resolver, EventDispatcherInterface $event_dispatcher, RouteMatchInterface $route_match, RendererInterface $renderer, $tempstore_id, EntityTypeManagerInterface $entity_type_manager, $machine_name = NULL, $step = NULL) {
-    $this->entityTypeManager = $entity_type_manager;
+  public function __construct(SharedTempStoreFactory $tempstore, FormBuilderInterface $builder, ClassResolverInterface $class_resolver, EventDispatcherInterface $event_dispatcher, RouteMatchInterface $route_match, RendererInterface $renderer, $tempstore_id, EntityTypeManagerInterface $entity_type_manager, $machine_name = NULL, $step = NULL) {
     parent::__construct($tempstore, $builder, $class_resolver, $event_dispatcher, $route_match, $renderer, $tempstore_id, $machine_name, $step);
+    $this->entityTypeManager = $entity_type_manager;
   }
 
   /**
@@ -55,7 +53,7 @@ abstract class EntityFormWizardBase extends FormWizardBase implements EntityForm
    */
   public static function getParameters() {
     $parameters = [
-      'tempstore' => \Drupal::service('tempstore.private'),
+      'tempstore' => \Drupal::service('tempstore.shared'),
       'builder' => \Drupal::service('form_builder'),
       'class_resolver' => \Drupal::service('class_resolver'),
       'event_dispatcher' => \Drupal::service('event_dispatcher'),
@@ -89,7 +87,7 @@ abstract class EntityFormWizardBase extends FormWizardBase implements EntityForm
       $values[$this->getEntityType()] = $entity;
     }
     $event = new WizardEvent($this, $values);
-    $this->dispatcher->dispatch(FormWizardInterface::LOAD_VALUES, $event);
+    $this->dispatcher->dispatch($event, FormWizardInterface::LOAD_VALUES);
     return $event->getValues();
   }
 
diff --git a/frontend/drupal9/web/modules/contrib/ctools/src/Wizard/FormWizardBase.php b/frontend/drupal9/web/modules/contrib/ctools/src/Wizard/FormWizardBase.php
index c63d14080..9f977fd44 100644
--- a/frontend/drupal9/web/modules/contrib/ctools/src/Wizard/FormWizardBase.php
+++ b/frontend/drupal9/web/modules/contrib/ctools/src/Wizard/FormWizardBase.php
@@ -11,10 +11,10 @@ use Drupal\Core\Form\FormInterface;
 use Drupal\Core\Form\FormStateInterface;
 use Drupal\Core\Render\RendererInterface;
 use Drupal\Core\Routing\RouteMatchInterface;
-use Drupal\Core\TempStore\PrivateTempStoreFactory;
 use Drupal\Core\Url;
 use Drupal\ctools\Ajax\OpenModalWizardCommand;
 use Drupal\ctools\Event\WizardEvent;
+use Drupal\Core\TempStore\SharedTempStoreFactory;
 use Symfony\Component\EventDispatcher\EventDispatcherInterface;
 use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
 
@@ -26,7 +26,7 @@ abstract class FormWizardBase extends FormBase implements FormWizardInterface {
   /**
    * Tempstore Factory for keeping track of values in each step of the wizard.
    *
-   * @var \Drupal\Core\TempStore\PrivateTempStoreFactory
+   * @var \Drupal\Core\TempStore\SharedTempStoreFactory
    */
   protected $tempstore;
 
@@ -52,14 +52,14 @@ abstract class FormWizardBase extends FormBase implements FormWizardInterface {
   protected $dispatcher;
 
   /**
-   * The private temp store factory collection name.
+   * The shared temp store factory collection name.
    *
    * @var string
    */
   protected $tempstore_id;
 
   /**
-   * The PrivateTempStore key for our current wizard values.
+   * The SharedTempStore key for our current wizard values.
    *
    * @var string|null
    */
@@ -80,7 +80,7 @@ abstract class FormWizardBase extends FormBase implements FormWizardInterface {
   protected $renderer;
 
   /**
-   * @param \Drupal\Core\TempStore\PrivateTempStoreFactory $tempstore
+   * @param \Drupal\Core\TempStore\SharedTempStoreFactory $tempstore
    *   Tempstore Factory for keeping track of values in each step of the
    *   wizard.
    * @param \Drupal\Core\Form\FormBuilderInterface $builder
@@ -90,13 +90,14 @@ abstract class FormWizardBase extends FormBase implements FormWizardInterface {
    * @param \Symfony\Component\EventDispatcher\EventDispatcherInterface $event_dispatcher
    *   The event dispatcher.
    * @param $tempstore_id
-   *   The private temp store factory collection name.
-   * @param string $machine_name
-   *   The PrivateTempStore key for our current wizard values.
-   * @param string $step
+   *   The shared temp store factory collection name.
+   * @param null $machine_name
+   *   The SharedTempStore key for our current wizard values.
+   * @param null $step
+>>>>>>> parent of f243a856 (Issue #2992362 by thalles, Daniel Korte, sagannotcarl, baikho, osman, japerry, stevekeiretsu: Wizards should be using PrivateTempStore not SharedTempStore, otherwise all users end up sharing the same cached form values)
    *   The current active step of the wizard.
    */
-  public function __construct(PrivateTempStoreFactory $tempstore, FormBuilderInterface $builder, ClassResolverInterface $class_resolver, EventDispatcherInterface $event_dispatcher, RouteMatchInterface $route_match, RendererInterface $renderer, $tempstore_id, $machine_name = NULL, $step = NULL) {
+  public function __construct(SharedTempStoreFactory $tempstore, FormBuilderInterface $builder, ClassResolverInterface $class_resolver, EventDispatcherInterface $event_dispatcher, RouteMatchInterface $route_match, RendererInterface $renderer, $tempstore_id, $machine_name = NULL, $step = NULL) {
     $this->tempstore = $tempstore;
     $this->builder = $builder;
     $this->classResolver = $class_resolver;
@@ -113,7 +114,7 @@ abstract class FormWizardBase extends FormBase implements FormWizardInterface {
    */
   public static function getParameters() {
     return [
-      'tempstore' => \Drupal::service('tempstore.private'),
+      'tempstore' => \Drupal::service('tempstore.shared'),
       'builder' => \Drupal::service('form_builder'),
       'class_resolver' => \Drupal::service('class_resolver'),
       'event_dispatcher' => \Drupal::service('event_dispatcher'),
@@ -127,7 +128,7 @@ abstract class FormWizardBase extends FormBase implements FormWizardInterface {
   public function initValues() {
     $values = [];
     $event = new WizardEvent($this, $values);
-    $this->dispatcher->dispatch(FormWizardInterface::LOAD_VALUES, $event);
+    $this->dispatcher->dispatch($event, FormWizardInterface::LOAD_VALUES);
     return $event->getValues();
   }
 
@@ -448,9 +449,6 @@ abstract class FormWizardBase extends FormBase implements FormWizardInterface {
     return $actions;
   }
 
-  /**
-   *
-   */
   public function ajaxSubmit(array $form, FormStateInterface $form_state) {
     $cached_values = $form_state->getTemporaryValue('wizard');
     $response = new AjaxResponse();
@@ -459,9 +457,6 @@ abstract class FormWizardBase extends FormBase implements FormWizardInterface {
     return $response;
   }
 
-  /**
-   *
-   */
   public function ajaxPrevious(array $form, FormStateInterface $form_state) {
     $cached_values = $form_state->getTemporaryValue('wizard');
     $response = new AjaxResponse();
@@ -470,18 +465,12 @@ abstract class FormWizardBase extends FormBase implements FormWizardInterface {
     return $response;
   }
 
-  /**
-   *
-   */
   public function ajaxFinish(array $form, FormStateInterface $form_state) {
     $response = new AjaxResponse();
     $response->addCommand(new CloseModalDialogCommand());
     return $response;
   }
 
-  /**
-   *
-   */
   public function getRouteName() {
     return $this->routeMatch->getRouteName();
   }
diff --git a/frontend/drupal9/web/modules/contrib/ctools/src/Wizard/FormWizardInterface.php b/frontend/drupal9/web/modules/contrib/ctools/src/Wizard/FormWizardInterface.php
index 688eb7746..9da517eac 100644
--- a/frontend/drupal9/web/modules/contrib/ctools/src/Wizard/FormWizardInterface.php
+++ b/frontend/drupal9/web/modules/contrib/ctools/src/Wizard/FormWizardInterface.php
@@ -30,21 +30,21 @@ interface FormWizardInterface extends FormInterface {
   public function initValues();
 
   /**
-   * The private temp store factory collection name.
+   * The shared temp store factory collection name.
    *
    * @return string
    */
   public function getTempstoreId();
 
   /**
-   * The active PrivateTempStore for this wizard.
+   * The active SharedTempStore for this wizard.
    *
-   * @return \Drupal\Core\TempStore\PrivateTempStore
+   * @return \Drupal\Core\TempStore\SharedTempStore
    */
   public function getTempstore();
 
   /**
-   * The PrivateTempStore key for our current wizard values.
+   * The SharedTempStore key for our current wizard values.
    *
    * @return null|string
    */
diff --git a/frontend/drupal9/web/modules/contrib/ctools/tests/modules/ctools_block_display_test/ctools_block_display_test.info.yml b/frontend/drupal9/web/modules/contrib/ctools/tests/modules/ctools_block_display_test/ctools_block_display_test.info.yml
index 86c684cbe..839bb2091 100644
--- a/frontend/drupal9/web/modules/contrib/ctools/tests/modules/ctools_block_display_test/ctools_block_display_test.info.yml
+++ b/frontend/drupal9/web/modules/contrib/ctools/tests/modules/ctools_block_display_test/ctools_block_display_test.info.yml
@@ -6,7 +6,7 @@ package: Testing
 dependencies:
   - ctools:ctools
 
-# Information added by Drupal.org packaging script on 2022-07-01
-version: '8.x-3.8'
+# Information added by Drupal.org packaging script on 2022-08-10
+version: '8.x-3.11'
 project: 'ctools'
-datestamp: 1656633726
+datestamp: 1660167576
diff --git a/frontend/drupal9/web/modules/contrib/ctools/tests/modules/ctools_wizard_test/ctools_wizard_test.info.yml b/frontend/drupal9/web/modules/contrib/ctools/tests/modules/ctools_wizard_test/ctools_wizard_test.info.yml
index e38fe086d..b0c54dc16 100644
--- a/frontend/drupal9/web/modules/contrib/ctools/tests/modules/ctools_wizard_test/ctools_wizard_test.info.yml
+++ b/frontend/drupal9/web/modules/contrib/ctools/tests/modules/ctools_wizard_test/ctools_wizard_test.info.yml
@@ -4,7 +4,7 @@ description: 'Provides testing for ctools wizard'
 package: Testing
 # version: 3.x
 
-# Information added by Drupal.org packaging script on 2022-07-01
-version: '8.x-3.8'
+# Information added by Drupal.org packaging script on 2022-08-10
+version: '8.x-3.11'
 project: 'ctools'
-datestamp: 1656633726
+datestamp: 1660167576
diff --git a/frontend/drupal9/web/modules/contrib/ctools/tests/modules/ctools_wizard_test/src/Form/ExampleConfigEntityExternalForm.php b/frontend/drupal9/web/modules/contrib/ctools/tests/modules/ctools_wizard_test/src/Form/ExampleConfigEntityExternalForm.php
index 0c59d9e78..5b13ce4e9 100644
--- a/frontend/drupal9/web/modules/contrib/ctools/tests/modules/ctools_wizard_test/src/Form/ExampleConfigEntityExternalForm.php
+++ b/frontend/drupal9/web/modules/contrib/ctools/tests/modules/ctools_wizard_test/src/Form/ExampleConfigEntityExternalForm.php
@@ -4,7 +4,7 @@ namespace Drupal\ctools_wizard_test\Form;
 
 use Drupal\Core\Form\FormBase;
 use Drupal\Core\Form\FormStateInterface;
-use Drupal\Core\TempStore\PrivateTempStoreFactory;
+use Drupal\Core\TempStore\SharedTempStoreFactory;
 use Symfony\Component\DependencyInjection\ContainerInterface;
 
 /**
@@ -15,17 +15,17 @@ class ExampleConfigEntityExternalForm extends FormBase {
   /**
    * Tempstore factory.
    *
-   * @var \Drupal\Core\TempStore\PrivateTempStoreFactory
+   * @var \Drupal\Core\TempStore\SharedTempStoreFactory
    */
   protected $tempstore;
 
   /**
    * Constructs a new ExampleConfigEntityExternalForm.
    *
-   * @param \Drupal\Core\TempStore\PrivateTempStoreFactory $tempstore
-   *   Creates a private temporary storage for a collection.
+   * @param \Drupal\ctools_wizard_test\Form\SharedTempStoreFactory $tempstore
+   *   Creates a shared temporary storage for a collection.
    */
-  public function __construct(PrivateTempStoreFactory $tempstore) {
+  public function __construct(SharedTempStoreFactory $tempstore) {
     $this->tempstore = $tempstore;
   }
 
@@ -33,7 +33,7 @@ class ExampleConfigEntityExternalForm extends FormBase {
    * {@inheritdoc}
    */
   public static function create(ContainerInterface $container) {
-    return new static($container->get('tempstore.private'));
+    return new static($container->get('tempstore.shared'));
   }
 
   /**
diff --git a/frontend/drupal9/web/modules/contrib/ctools/tests/src/Kernel/BlockDisplayVariantTest.php b/frontend/drupal9/web/modules/contrib/ctools/tests/src/Kernel/BlockDisplayVariantTest.php
index e0f8aab9c..4c2bc2546 100644
--- a/frontend/drupal9/web/modules/contrib/ctools/tests/src/Kernel/BlockDisplayVariantTest.php
+++ b/frontend/drupal9/web/modules/contrib/ctools/tests/src/Kernel/BlockDisplayVariantTest.php
@@ -2,6 +2,7 @@
 
 namespace Drupal\Tests\ctools\Kernel;
 
+use Prophecy\PhpUnit\ProphecyTrait;
 use Drupal\ctools\Event\BlockVariantEvent;
 use Drupal\ctools\Event\BlockVariantEvents;
 use Drupal\ctools_block_display_test\Plugin\DisplayVariant\BlockDisplayVariant;
@@ -15,6 +16,7 @@ use Symfony\Component\EventDispatcher\EventDispatcherInterface;
  */
 class BlockDisplayVariantTest extends KernelTestBase {
 
+  use ProphecyTrait;
   /**
    * {@inheritdoc}
    */
@@ -38,11 +40,11 @@ class BlockDisplayVariantTest extends KernelTestBase {
     // Set up the expected calls to the event dispatcher.
     $event = Argument::type(BlockVariantEvent::class);
 
-    $event_dispatcher->dispatch(BlockVariantEvents::ADD_BLOCK, $event)
+    $event_dispatcher->dispatch($event, BlockVariantEvents::ADD_BLOCK)
       ->shouldBeCalled();
-    $event_dispatcher->dispatch(BlockVariantEvents::UPDATE_BLOCK, $event)
+    $event_dispatcher->dispatch($event, BlockVariantEvents::UPDATE_BLOCK)
       ->shouldBeCalled();
-    $event_dispatcher->dispatch(BlockVariantEvents::DELETE_BLOCK, $event)
+    $event_dispatcher->dispatch($event, BlockVariantEvents::DELETE_BLOCK)
       ->shouldBeCalled();
 
     $block_id = $variant->addBlock(['id' => 'system_powered_by_block']);
diff --git a/frontend/drupal9/web/modules/contrib/ctools/tests/src/Kernel/Plugin/Block/EntityViewTest.php b/frontend/drupal9/web/modules/contrib/ctools/tests/src/Kernel/Plugin/Block/EntityViewTest.php
index 9ef8d172f..688af4315 100644
--- a/frontend/drupal9/web/modules/contrib/ctools/tests/src/Kernel/Plugin/Block/EntityViewTest.php
+++ b/frontend/drupal9/web/modules/contrib/ctools/tests/src/Kernel/Plugin/Block/EntityViewTest.php
@@ -42,7 +42,7 @@ class EntityViewTest extends KernelTestBase {
   /**
    * {@inheritdoc}
    */
-  protected function setUp() {
+  protected function setUp(): void {
     parent::setUp();
 
     $this->installConfig(['filter']);
@@ -62,9 +62,6 @@ class EntityViewTest extends KernelTestBase {
 
     $configuration = [
       'view_mode' => 'default',
-      'context' => [
-        'entity' => $node,
-      ],
     ];
     $definition = [
       'context_definitions' => [
@@ -73,6 +70,7 @@ class EntityViewTest extends KernelTestBase {
       'provider' => 'ctools',
     ];
     $block = EntityView::create($this->container, $configuration, 'entity_view:node', $definition);
+    $block->setContextValue('entity', $node);
 
     $access = $block->access(\Drupal::currentUser());
     $this->assertFalse($access);
diff --git a/frontend/drupal9/web/modules/contrib/ctools/tests/src/Kernel/RelationshipsTestBase.php b/frontend/drupal9/web/modules/contrib/ctools/tests/src/Kernel/RelationshipsTestBase.php
index bbd88715b..46fc6ad01 100644
--- a/frontend/drupal9/web/modules/contrib/ctools/tests/src/Kernel/RelationshipsTestBase.php
+++ b/frontend/drupal9/web/modules/contrib/ctools/tests/src/Kernel/RelationshipsTestBase.php
@@ -39,7 +39,7 @@ abstract class RelationshipsTestBase extends KernelTestBase {
   /**
    * {@inheritdoc}
    */
-  protected function setUp() {
+  protected function setUp(): void {
     parent::setUp();
 
     $this->installSchema('system', ['sequences']);
diff --git a/frontend/drupal9/web/modules/contrib/ctools/tests/src/Kernel/SerializableTempstoreTest.php b/frontend/drupal9/web/modules/contrib/ctools/tests/src/Kernel/SerializableTempstoreTest.php
deleted file mode 100644
index 00090c4f3..000000000
--- a/frontend/drupal9/web/modules/contrib/ctools/tests/src/Kernel/SerializableTempstoreTest.php
+++ /dev/null
@@ -1,68 +0,0 @@
-installSchema('system', ['key_value_expire']);
-  }
-
-  /**
-   * Tests serializing a serializable temp store object.
-   */
-  public function testSerializableTempStore() {
-    $store = $this->container
-      ->get('ctools.serializable.tempstore.factory')
-      ->get('foobar');
-
-    // Add an unserializable request to the request stack. If the tempstore
-    // didn't use DependencySerializationTrait, the exception would be thrown
-    // when we try to serialize the tempstore.
-    $request = $this->prophesize(Request::class);
-    $request->willImplement('\Serializable');
-    $request->serialize()->willThrow(new \LogicException('Not cool, bruh!'));
-    $this->container->get('request_stack')->push($request->reveal());
-
-    $this->assertInstanceOf(SerializableTempstore::class, $store);
-    /** @var \Drupal\ctools\SerializableTempstore $store */
-
-    $store = serialize($store);
-    $this->assertSame('string', gettype($store));
-    $this->assertNotEmpty($store, 'The tempstore was serialized.');
-
-    $store = unserialize($store);
-    $this->assertInstanceOf(SerializableTempstore::class, $store, 'The tempstore was unserialized.');
-
-    $reflector = new \ReflectionClass($store);
-    $property = $reflector->getProperty('requestStack');
-    $property->setAccessible(TRUE);
-
-    $request_stack = $property->getValue($store);
-    $this->assertSame(
-      $this->container->get('request_stack'),
-      $request_stack,
-      'The request stack was pulled from the container during unserialization.'
-    );
-    $this->assertSame($request->reveal(), $request_stack->pop());
-  }
-
-}
diff --git a/frontend/drupal9/web/modules/contrib/ctools/tests/src/Kernel/TypedDataResolverTest.php b/frontend/drupal9/web/modules/contrib/ctools/tests/src/Kernel/TypedDataResolverTest.php
index bfa11c4d8..fa06291db 100644
--- a/frontend/drupal9/web/modules/contrib/ctools/tests/src/Kernel/TypedDataResolverTest.php
+++ b/frontend/drupal9/web/modules/contrib/ctools/tests/src/Kernel/TypedDataResolverTest.php
@@ -32,7 +32,7 @@ class TypedDataResolverTest extends KernelTestBase {
   /**
    * {@inheritdoc}
    */
-  protected function setUp() {
+  protected function setUp(): void {
     parent::setUp();
 
     $this->installSchema('system', 'sequences');
diff --git a/frontend/drupal9/web/modules/contrib/ctools/tests/src/Unit/BlockDisplayVariantTest.php b/frontend/drupal9/web/modules/contrib/ctools/tests/src/Unit/BlockDisplayVariantTest.php
index d51cd9055..2d4570cca 100644
--- a/frontend/drupal9/web/modules/contrib/ctools/tests/src/Unit/BlockDisplayVariantTest.php
+++ b/frontend/drupal9/web/modules/contrib/ctools/tests/src/Unit/BlockDisplayVariantTest.php
@@ -2,6 +2,7 @@
 
 namespace Drupal\Tests\ctools\Unit;
 
+use Prophecy\PhpUnit\ProphecyTrait;
 use Drupal\Component\Uuid\UuidInterface;
 use Drupal\Core\Block\BlockManager;
 use Drupal\Core\Condition\ConditionManager;
@@ -21,6 +22,7 @@ use Drupal\Tests\UnitTestCase;
  */
 class BlockDisplayVariantTest extends UnitTestCase {
 
+  use ProphecyTrait;
   /**
    * Tests the submitConfigurationForm() method.
    *
diff --git a/frontend/drupal9/web/modules/contrib/ctools/tests/src/Unit/BlockPluginCollectionTest.php b/frontend/drupal9/web/modules/contrib/ctools/tests/src/Unit/BlockPluginCollectionTest.php
index 0dda7752c..abcae5fb2 100644
--- a/frontend/drupal9/web/modules/contrib/ctools/tests/src/Unit/BlockPluginCollectionTest.php
+++ b/frontend/drupal9/web/modules/contrib/ctools/tests/src/Unit/BlockPluginCollectionTest.php
@@ -2,6 +2,7 @@
 
 namespace Drupal\Tests\ctools\Unit;
 
+use Prophecy\PhpUnit\ProphecyTrait;
 use Drupal\Core\Block\BlockManagerInterface;
 use Drupal\Core\Block\BlockPluginInterface;
 use Drupal\ctools\Plugin\BlockPluginCollection;
@@ -16,6 +17,7 @@ use Drupal\Tests\UnitTestCase;
  */
 class BlockPluginCollectionTest extends UnitTestCase {
 
+  use ProphecyTrait;
   /**
    * Tests the getAllByRegion() method.
    *
diff --git a/frontend/drupal9/web/modules/contrib/ctools/tests/src/Unit/BlockVariantTraitTest.php b/frontend/drupal9/web/modules/contrib/ctools/tests/src/Unit/BlockVariantTraitTest.php
index cc76c3d56..357848d65 100644
--- a/frontend/drupal9/web/modules/contrib/ctools/tests/src/Unit/BlockVariantTraitTest.php
+++ b/frontend/drupal9/web/modules/contrib/ctools/tests/src/Unit/BlockVariantTraitTest.php
@@ -2,6 +2,7 @@
 
 namespace Drupal\Tests\ctools\Unit;
 
+use Prophecy\PhpUnit\ProphecyTrait;
 use Drupal\Component\Uuid\UuidInterface;
 use Drupal\ctools\Plugin\BlockPluginCollection;
 use Drupal\ctools\Plugin\BlockVariantTrait;
@@ -16,6 +17,7 @@ use Drupal\Tests\UnitTestCase;
  */
 class BlockVariantTraitTest extends UnitTestCase {
 
+  use ProphecyTrait;
   /**
    * Tests the getRegionAssignments() method.
    *
diff --git a/frontend/drupal9/web/modules/contrib/ctools/tests/src/Unit/ContextMapperTest.php b/frontend/drupal9/web/modules/contrib/ctools/tests/src/Unit/ContextMapperTest.php
index bf413ed23..4c5af07e2 100644
--- a/frontend/drupal9/web/modules/contrib/ctools/tests/src/Unit/ContextMapperTest.php
+++ b/frontend/drupal9/web/modules/contrib/ctools/tests/src/Unit/ContextMapperTest.php
@@ -2,6 +2,7 @@
 
 namespace Drupal\Tests\ctools\Unit;
 
+use Prophecy\PhpUnit\ProphecyTrait;
 use Drupal\Core\DependencyInjection\ContainerBuilder;
 use Drupal\Core\Entity\EntityRepositoryInterface;
 use Drupal\Core\Plugin\Context\Context;
@@ -21,6 +22,7 @@ use Drupal\Tests\UnitTestCase;
  */
 class ContextMapperTest extends UnitTestCase {
 
+  use ProphecyTrait;
   /**
    * The typed data manager.
    *
@@ -41,7 +43,7 @@ class ContextMapperTest extends UnitTestCase {
   /**
    * {@inheritdoc}
    */
-  protected function setUp() {
+  protected function setUp(): void {
     parent::setUp();
 
     $this->typedDataManager = $this->prophesize(TypedDataManager::class);
diff --git a/frontend/drupal9/web/modules/contrib/ctools/tests/src/Unit/VariantCollectionTraitTest.php b/frontend/drupal9/web/modules/contrib/ctools/tests/src/Unit/VariantCollectionTraitTest.php
index 29b6c65c0..583f32346 100644
--- a/frontend/drupal9/web/modules/contrib/ctools/tests/src/Unit/VariantCollectionTraitTest.php
+++ b/frontend/drupal9/web/modules/contrib/ctools/tests/src/Unit/VariantCollectionTraitTest.php
@@ -2,6 +2,7 @@
 
 namespace Drupal\Tests\ctools\Unit;
 
+use Prophecy\PhpUnit\ProphecyTrait;
 use Drupal\Component\Plugin\PluginManagerInterface;
 use Drupal\Component\Uuid\UuidInterface;
 use Drupal\Core\DependencyInjection\ContainerBuilder;
@@ -19,15 +20,16 @@ use Drupal\Tests\UnitTestCase;
  */
 class VariantCollectionTraitTest extends UnitTestCase {
 
+  use ProphecyTrait;
   /**
-   * @var \Drupal\Component\Plugin\PluginManagerInterface|\PHPUnit_Framework_MockObject_MockObject
+   * @var \Drupal\Component\Plugin\PluginManagerInterface|\PHPUnit\Framework\MockObject\MockObject
    */
   protected $manager;
 
   /**
    * {@inheritdoc}
    */
-  protected function setUp() {
+  protected function setUp(): void {
     parent::setUp();
     $container = new ContainerBuilder();
     $this->manager = $this->prophesize(PluginManagerInterface::class);
diff --git a/frontend/drupal9/web/modules/contrib/devel/.gitignore b/frontend/drupal9/web/modules/contrib/devel/.gitignore
index d75e93612..9aba8db2e 100644
--- a/frontend/drupal9/web/modules/contrib/devel/.gitignore
+++ b/frontend/drupal9/web/modules/contrib/devel/.gitignore
@@ -33,3 +33,4 @@ docker-compose.override.yml
 /.env
 .envrc
 .envrc.local
+.composer-plugin.env
diff --git a/frontend/drupal9/web/modules/contrib/devel/.gitlab-ci.yml b/frontend/drupal9/web/modules/contrib/devel/.gitlab-ci.yml
index 2fcffd868..eadba4619 100644
--- a/frontend/drupal9/web/modules/contrib/devel/.gitlab-ci.yml
+++ b/frontend/drupal9/web/modules/contrib/devel/.gitlab-ci.yml
@@ -9,7 +9,8 @@ include:
 #
 
 # Add /webprofiler to ignored paths.
+# Set allow_failure to false so that the test fails for coding standards faults.
 phpcs:
   script:
-    - PWD=$(pwd) && vendor/bin/phpcs --runtime-set ignore_warnings_on_exit 1 --runtime-set ignore_errors_on_exit 1 --ignore=$PWD/web/,$PWD/vendor/,$PWD/webprofiler/ --report-junit=junit.xml --report-full --report-summary
-
+    - PWD=$(pwd) && vendor/bin/phpcs --ignore=$PWD/web/,$PWD/vendor/,$PWD/webprofiler/ --report-junit=junit.xml --report-full --report-summary --report-source
+  allow_failure: false
diff --git a/frontend/drupal9/web/modules/contrib/devel/.travis.yml b/frontend/drupal9/web/modules/contrib/devel/.travis.yml
deleted file mode 100644
index b1d1ab886..000000000
--- a/frontend/drupal9/web/modules/contrib/devel/.travis.yml
+++ /dev/null
@@ -1,109 +0,0 @@
-language: php
-
-# The Travis CI container mode has random functional test fails, so we must use
-# sudo here.
-sudo: true
-
-php:
-  - 7.1
-  - 7.3
-
-services:
-  - mysql
-
-env:
-  global:
-    - MODULE=devel
-  matrix:
-    - DRUPAL_CORE=8.8.x
-    - DRUPAL_CORE=8.9.x
-    - DRUPAL_CORE=9.0.x
-
-matrix:
-  fast_finish: true
-  # PHP7.1 is not supported from Core 9.0 onwards.
-  exclude:
-    - php: 7.1
-      env: DRUPAL_CORE=9.0.x
-
-# Be sure to cache composer downloads.
-cache:
-  directories:
-    - $HOME/.composer
-
-before_script:
-  - echo $MODULE
-
-  # Remove Xdebug as we don't need it and it causes
-  # PHP Fatal error:  Maximum function nesting level of '256' reached.
-  # We also don't care if that file exists or not on PHP 7.
-  - phpenv config-rm xdebug.ini || true
-
-  # Navigate out of module directory to prevent blown stack by recursive module
-  # lookup.
-  - cd ..
-
-  # Create database.
-  - mysql -e "create database $MODULE"
-  # Export database variable for kernel tests.
-  - export SIMPLETEST_DB=mysql://root:@127.0.0.1/$MODULE
-
-  # Download Drupal core from the Github mirror because it is faster.
-  - travis_retry git clone --branch $DRUPAL_CORE --depth 1 https://github.com/drupal/drupal.git
-  - cd drupal
-  # Store the path to Drupal root.
-  - DRUPAL_ROOT=$(pwd)
-  - echo $DRUPAL_ROOT
-
-  # Make a directory for our module and copy the built source into it.
-  - mkdir $DRUPAL_ROOT/modules/$MODULE
-  - cp -R $TRAVIS_BUILD_DIR/* $DRUPAL_ROOT/modules/$MODULE/
-
-  # Apply patch to reverse the addition of doctrine/debug in composer.json so that tests can run again.
-  - cd $DRUPAL_ROOT/modules/$MODULE;
-  - wget -q -O - https://www.drupal.org/files/issues/2020-04-17/3125678-9.remove-doctrine-common.patch | patch -p1 --verbose;
-  - cd $DRUPAL_ROOT;
-
-  # Run composer self-update and install.
-  - travis_retry composer self-update && travis_retry composer install
-
-  # Run composer update in the module directory in order to fetch dependencies.
-  - travis_retry composer update -d $DRUPAL_ROOT/modules/$MODULE
-
-  # Install drush
-  - travis_retry composer require drush/drush:"^9.0 || ^10.0"
-
-  # Coder is already installed as part of composer install. We just need to set
-  # the installed_paths to pick up the Drupal standards.
-  - $DRUPAL_ROOT/vendor/bin/phpcs --config-set installed_paths $DRUPAL_ROOT/vendor/drupal/coder/coder_sniffer
-
-  # Start a web server on port 8888, run in the background.
-  - php -S localhost:8888 &
-
-  # Export web server URL for browser tests.
-  - export SIMPLETEST_BASE_URL=http://localhost:8888
-
-  # Interim patch for 9.0 only to avoid the Webprofiler toolbar halting the test run with 'class not found'.
-  - if [ $DRUPAL_CORE == "9.0.x" ]; then
-      cd $DRUPAL_ROOT/modules/$MODULE;
-      wget -q -O - https://www.drupal.org/files/issues/2020-04-07/3097125-33.replace-JavascriptTestBase.patch | patch -p1 --verbose;
-    fi
-
-script:
-  # Run the PHPUnit tests.
-  - cd $DRUPAL_ROOT
-  - ./vendor/bin/phpunit -c ./core/phpunit.xml.dist --verbose --group=devel,devel_generate,webprofiler ./modules/$MODULE
-
-  # Check for coding standards. First change directory to our module.
-  - cd $DRUPAL_ROOT/modules/$MODULE
-
-  # List all the sniffs that were used.
-  - $DRUPAL_ROOT/vendor/bin/phpcs --version
-  - $DRUPAL_ROOT/vendor/bin/phpcs -i
-  - $DRUPAL_ROOT/vendor/bin/phpcs -e
-
-  # Show the violations in detail and do not fail for any errors or warnings.
-  - $DRUPAL_ROOT/vendor/bin/phpcs -s --report-width=130 --colors --runtime-set ignore_warnings_on_exit 1 --runtime-set ignore_errors_on_exit 1 .
-
-  # Run again to give a summary and total count.
-  - $DRUPAL_ROOT/vendor/bin/phpcs --report-width=130 --colors --runtime-set ignore_warnings_on_exit 1 --runtime-set ignore_errors_on_exit 1 --report=summary .
diff --git a/frontend/drupal9/web/modules/contrib/devel/CODEOWNERS b/frontend/drupal9/web/modules/contrib/devel/CODEOWNERS
index 006360437..5654b8749 100644
--- a/frontend/drupal9/web/modules/contrib/devel/CODEOWNERS
+++ b/frontend/drupal9/web/modules/contrib/devel/CODEOWNERS
@@ -1,3 +1,2 @@
-/webprofiler/ @lussoluca
 /src/Commands/ @weitzman
 
diff --git a/frontend/drupal9/web/modules/contrib/devel/README.md b/frontend/drupal9/web/modules/contrib/devel/README.md
index 4b62b2391..6f3785d07 100644
--- a/frontend/drupal9/web/modules/contrib/devel/README.md
+++ b/frontend/drupal9/web/modules/contrib/devel/README.md
@@ -11,9 +11,6 @@ inquisitive admins:
  - A block for masquerading as other users (useful for testing)
  - A mail-system class which redirects outbound email to files
  - Drush commands such as `fn-hook`, `fn-event`, `token`, `uuid`, and `devel-services`
- - *Webprofiler*. Adds a debug bar at bottom of all pages with tons of useful
- information like a query list, cache hit/miss data, memory profiling, page
- speed, php info, session info, etc.
  - *Devel Generate*. Bulk creates nodes, users, comment, taxonomy, media, menus for development. Has
  Drush integration.
 
@@ -51,4 +48,4 @@ for more info.
 
 #### Maintainers
 
-See https://gitlab.com/groups/drupaladmins/devel/-/group_members. Note that the webprofiler module seeks a new co-maintainer.
+See https://gitlab.com/groups/drupaladmins/devel/-/group_members.
diff --git a/frontend/drupal9/web/modules/contrib/devel/devel.api.php b/frontend/drupal9/web/modules/contrib/devel/devel.api.php
index e8c4b49ba..b6cf58585 100644
--- a/frontend/drupal9/web/modules/contrib/devel/devel.api.php
+++ b/frontend/drupal9/web/modules/contrib/devel/devel.api.php
@@ -16,7 +16,7 @@
  * @param array $info
  *   Devel dumper information to alter.
  */
-function hook_devel_dumper_info_alter(&$info) {
+function hook_devel_dumper_info_alter(array &$info) {
   $info['default']['label'] = 'Altered label';
 }
 
diff --git a/frontend/drupal9/web/modules/contrib/devel/devel.info.yml b/frontend/drupal9/web/modules/contrib/devel/devel.info.yml
index 6db5852f1..ed7354ed1 100644
--- a/frontend/drupal9/web/modules/contrib/devel/devel.info.yml
+++ b/frontend/drupal9/web/modules/contrib/devel/devel.info.yml
@@ -8,7 +8,7 @@ configure: devel.admin_settings
 tags:
  - developer
 
-# Information added by Drupal.org packaging script on 2022-02-28
-version: '4.1.5'
+# Information added by Drupal.org packaging script on 2022-09-27
+version: '4.2.1'
 project: 'devel'
-datestamp: 1646072828
+datestamp: 1664317447
diff --git a/frontend/drupal9/web/modules/contrib/devel/devel.module b/frontend/drupal9/web/modules/contrib/devel/devel.module
index 21c23fbb5..6b7b5a776 100644
--- a/frontend/drupal9/web/modules/contrib/devel/devel.module
+++ b/frontend/drupal9/web/modules/contrib/devel/devel.module
@@ -192,10 +192,10 @@ function devel_set_handler($handlers) {
  * @param int $line
  *   (optional) The line number the error was raised at.
  * @param array $context
- *   (optional) An array that points to the active symbol table at the point the error
- *   occurred.
+ *   (optional) An array that points to the active symbol table at the point the
+ *   error occurred.
  */
-function backtrace_error_handler($error_level, $message, $filename = NULL, $line = NULL, $context = NULL) {
+function backtrace_error_handler($error_level, $message, $filename = NULL, $line = NULL, array $context = NULL) {
   // Hide stack trace and parameters from unqualified users.
   if (!\Drupal::currentUser()->hasPermission('access devel information')) {
     // Do what core does in bootstrap.inc and errors.inc.
@@ -203,7 +203,7 @@ function backtrace_error_handler($error_level, $message, $filename = NULL, $line
     // to avoid having the backtrace_error_handler() on top of the call stack.)
     if ($error_level & error_reporting()) {
       $types = drupal_error_levels();
-      list($severity_msg, $severity_level) = $types[$error_level];
+      [$severity_msg, $severity_level] = $types[$error_level];
       $backtrace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS);
       $caller = Error::getLastCaller($backtrace);
 
@@ -244,7 +244,7 @@ function backtrace_error_handler($error_level, $message, $filename = NULL, $line
     }
 
     $types = drupal_error_levels();
-    list($severity_msg, $severity_level) = $types[$error_level];
+    [$severity_msg, $severity_level] = $types[$error_level];
 
     $backtrace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS);
     $caller = Error::getLastCaller($backtrace);
@@ -395,10 +395,10 @@ if (!function_exists('dd')) {
   /**
    * Wrapper for DevelDumperManager::debug().
    *
-   * @deprecated since Drupal 8.6.0 because symfony now has dd() as a function.
-   *   Use the ddm() function instead.
-   *
-   * @see \Drupal\devel\DevelDumperManager::debug()
+   * @deprecated in devel:8.x-2.0 and is removed from devel:5.0.0.
+   *   Symfony added dd() as a function, introduced with Drupal 8.6.
+   *   Use the Devel ddm() function instead.
+   * @see https://www.drupal.org/project/devel/issues/2999892
    */
   function dd($data, $label = NULL) {
     return \Drupal::service('devel.dumper')->debug($data, $label, 'default');
@@ -504,12 +504,12 @@ function dpm($input, $name = NULL, $type = MessengerInterface::TYPE_STATUS) {
  *
  * Uses Drupal\Core\Messenger\MessengerInterface::addMessage()
  *
- * @param $input
+ * @param mixed $input
  *   An arbitrary value to output.
  * @param string $name
  *   Optional name for identifying the output.
  *
- * @return input
+ * @return mixed
  *   The unaltered input value.
  *
  * @see \Drupal\devel\DevelDumperManager::message()
@@ -624,14 +624,14 @@ function devel_render() {
 /**
  * Prints the function call stack.
  *
- * @param $return
+ * @param bool $return
  *   Pass TRUE to return the formatted backtrace rather than displaying it in
  *   the browser via kprint_r().
- * @param $pop
+ * @param int $pop
  *   How many items to pop from the top of the stack; useful when calling from
  *   an error handler.
- * @param $options
- *   Options to pass on to PHP's debug_backtrace().
+ * @param int $options
+ *   Options (treated as a bit mask) to pass on to PHP's debug_backtrace().
  *
  * @return string|null
  *   The formatted backtrace, if requested, or NULL.
diff --git a/frontend/drupal9/web/modules/contrib/devel/devel.services.yml b/frontend/drupal9/web/modules/contrib/devel/devel.services.yml
index 2e74e1ad8..2207574a5 100644
--- a/frontend/drupal9/web/modules/contrib/devel/devel.services.yml
+++ b/frontend/drupal9/web/modules/contrib/devel/devel.services.yml
@@ -13,7 +13,7 @@ services:
 
   devel.route_subscriber:
     class: Drupal\devel\Routing\RouteSubscriber
-    arguments: ['@entity_type.manager']
+    arguments: ['@entity_type.manager', '@router.route_provider']
     tags:
       - { name: event_subscriber }
 
diff --git a/frontend/drupal9/web/modules/contrib/devel/devel_generate/README.md b/frontend/drupal9/web/modules/contrib/devel/devel_generate/README.md
index 8ed10c120..c39eecf23 100644
--- a/frontend/drupal9/web/modules/contrib/devel/devel_generate/README.md
+++ b/frontend/drupal9/web/modules/contrib/devel/devel_generate/README.md
@@ -4,7 +4,8 @@ This module may be used to create entities that contain sample content. This is
 useful when showing off your site to a client, for example. Even if the content
 is not yet available, the site can show its look and feel and behavior.
 
-The sample entities may be created via the Web or via the included Drush commands.
+The sample entities may be created via the Web or via the included Drush commands
+like `drush genc`.
 
 #### Recommended Modules
 
diff --git a/frontend/drupal9/web/modules/contrib/devel/devel_generate/devel_generate.info.yml b/frontend/drupal9/web/modules/contrib/devel/devel_generate/devel_generate.info.yml
index fe3efe742..19ac0b49b 100644
--- a/frontend/drupal9/web/modules/contrib/devel/devel_generate/devel_generate.info.yml
+++ b/frontend/drupal9/web/modules/contrib/devel/devel_generate/devel_generate.info.yml
@@ -7,7 +7,7 @@ php: 7.2
 tags:
  - developer
 
-# Information added by Drupal.org packaging script on 2022-02-28
-version: '4.1.5'
+# Information added by Drupal.org packaging script on 2022-09-27
+version: '4.2.1'
 project: 'devel'
-datestamp: 1646072828
+datestamp: 1664317447
diff --git a/frontend/drupal9/web/modules/contrib/devel/devel_generate/devel_generate.module b/frontend/drupal9/web/modules/contrib/devel/devel_generate/devel_generate.module
index d825ec92f..f2804255c 100644
--- a/frontend/drupal9/web/modules/contrib/devel/devel_generate/devel_generate.module
+++ b/frontend/drupal9/web/modules/contrib/devel/devel_generate/devel_generate.module
@@ -2,6 +2,9 @@
 
 /**
  * @file
+ * Devel sub-module to for generating content, menus, taxonomy terms etc.
+ *
+ * See src/Plugin for specific details of each type that can be generated.
  */
 
 use Drupal\Core\Entity\EntityInterface;
@@ -61,20 +64,14 @@ function devel_generate_menu_links_discovered_alter(&$links) {
 
 /**
  * Implements hook_entity_insert().
- *
- * Inserts nodes properly based on generation options.
- *
- * @param \Drupal\Core\Entity\EntityInterface $entity
- *   The base node created on submit. Inspects $node->devel_generate.
- *
- * @todo Can more of this processing move into develGenerateContentAddNode() ?
- * Adding url alias is now moved.
  */
 function devel_generate_entity_insert(EntityInterface $entity) {
+  // Adding url alias is now moved into develGenerateContentAddNode().
+  // @todo Can more of this processing moved there too?
   if ($entity->getEntityTypeId() != 'node' || !isset($entity->devel_generate)) {
     return;
   }
-  /* @var \Drupal\node\NodeInterface $entity */
+  /** @var \Drupal\node\NodeInterface $entity */
   $results = $entity->devel_generate;
 
   if (!empty($results['max_comments'])) {
@@ -106,7 +103,7 @@ function devel_generate_entity_insert(EntityInterface $entity) {
  * @param int $title_length
  *   Max length of the title of the comments.
  */
-function devel_generate_add_comments(NodeInterface $node, FieldDefinitionInterface $field_definition, $users, $max_comments, $title_length = 8) {
+function devel_generate_add_comments(NodeInterface $node, FieldDefinitionInterface $field_definition, array $users, $max_comments, $title_length = 8) {
   $parents = [];
   $field_name = $field_definition->getName();
   $num_comments = mt_rand(0, $max_comments);
diff --git a/frontend/drupal9/web/modules/contrib/devel/devel_generate/src/Commands/DevelGenerateCommands.php b/frontend/drupal9/web/modules/contrib/devel/devel_generate/src/Commands/DevelGenerateCommands.php
index f2b6d7831..4cc9c1d1a 100644
--- a/frontend/drupal9/web/modules/contrib/devel/devel_generate/src/Commands/DevelGenerateCommands.php
+++ b/frontend/drupal9/web/modules/contrib/devel/devel_generate/src/Commands/DevelGenerateCommands.php
@@ -267,7 +267,7 @@ class DevelGenerateCommands extends DrushCommands {
     $args = $commandData->input()->getArguments();
     // The command name is the first argument but we do not need this.
     array_shift($args);
-    /* @var DevelGenerateBaseInterface $instance */
+    /** @var DevelGenerateBaseInterface $instance */
     $instance = $manager->createInstance($commandData->annotationData()->get('pluginId'), []);
     $this->setPluginInstance($instance);
     $parameters = $instance->validateDrushParams($args, $commandData->input()->getOptions());
diff --git a/frontend/drupal9/web/modules/contrib/devel/devel_generate/src/DevelGenerateBase.php b/frontend/drupal9/web/modules/contrib/devel/devel_generate/src/DevelGenerateBase.php
index 30087bc27..aee433007 100644
--- a/frontend/drupal9/web/modules/contrib/devel/devel_generate/src/DevelGenerateBase.php
+++ b/frontend/drupal9/web/modules/contrib/devel/devel_generate/src/DevelGenerateBase.php
@@ -44,7 +44,7 @@ abstract class DevelGenerateBase extends PluginBase implements DevelGenerateBase
     if (!array_key_exists($key, $this->settings)) {
       $this->settings = $this->getDefaultSettings();
     }
-    return isset($this->settings[$key]) ? $this->settings[$key] : NULL;
+    return $this->settings[$key] ?? NULL;
   }
 
   /**
@@ -109,7 +109,7 @@ abstract class DevelGenerateBase extends PluginBase implements DevelGenerateBase
       'bundle' => $entity->bundle(),
     ];
     $field_config_storage = \Drupal::entityTypeManager()->getStorage('field_config');
-    /* @var \Drupal\field\FieldConfigInterface[] $instances */
+    /** @var \Drupal\field\FieldConfigInterface[] $instances */
     $instances = $field_config_storage->loadByProperties($properties);
 
     // @todo not implemented for Drush9+. Possibly remove.
diff --git a/frontend/drupal9/web/modules/contrib/devel/devel_generate/src/Plugin/DevelGenerate/ContentDevelGenerate.php b/frontend/drupal9/web/modules/contrib/devel/devel_generate/src/Plugin/DevelGenerate/ContentDevelGenerate.php
index 01a160f07..995887b79 100644
--- a/frontend/drupal9/web/modules/contrib/devel/devel_generate/src/Plugin/DevelGenerate/ContentDevelGenerate.php
+++ b/frontend/drupal9/web/modules/contrib/devel/devel_generate/src/Plugin/DevelGenerate/ContentDevelGenerate.php
@@ -493,6 +493,9 @@ class ContentDevelGenerate extends DevelGenerateBase implements ContainerFactory
     else {
       $this->develGenerateContentAddNode($context['results']);
     }
+    if (!isset($context['results']['num'])) {
+      $context['results']['num'] = 0;
+    }
     $context['results']['num']++;
     if (!empty($vars['num_translations'])) {
       $context['results']['num_translations'] += $vars['num_translations'];
diff --git a/frontend/drupal9/web/modules/contrib/devel/devel_generate/src/Plugin/DevelGenerate/MediaDevelGenerate.php b/frontend/drupal9/web/modules/contrib/devel/devel_generate/src/Plugin/DevelGenerate/MediaDevelGenerate.php
index f4801daae..983d47282 100644
--- a/frontend/drupal9/web/modules/contrib/devel/devel_generate/src/Plugin/DevelGenerate/MediaDevelGenerate.php
+++ b/frontend/drupal9/web/modules/contrib/devel/devel_generate/src/Plugin/DevelGenerate/MediaDevelGenerate.php
@@ -122,7 +122,8 @@ class MediaDevelGenerate extends DevelGenerateBase implements ContainerFactoryPl
 
     $this->mediaStorage = $entity_type_manager->getStorage('media');
     $this->mediaTypeStorage = $entity_type_manager->getStorage('media_type');
-    $this->userStorage = $entity_type_manager->getStorage('user');;
+    $this->userStorage = $entity_type_manager->getStorage('user');
+    ;
     $this->languageManager = $language_manager;
     $this->urlGenerator = $url_generator;
     $this->dateFormatter = $date_formatter;
@@ -353,7 +354,7 @@ class MediaDevelGenerate extends DevelGenerateBase implements ContainerFactoryPl
    *
    * @param array $vars
    *   The input values from the settings form.
-   * @param array $context
+   * @param iterable $context
    *   Batch job context.
    *
    * @throws \Drupal\Component\Plugin\Exception\InvalidPluginDefinitionException
@@ -365,7 +366,7 @@ class MediaDevelGenerate extends DevelGenerateBase implements ContainerFactoryPl
    *
    * @see self::createMediaItem()
    */
-  public function batchCreateMediaItem(array $vars, &$context) {
+  public function batchCreateMediaItem(array $vars, iterable &$context) {
     if ($this->drushBatch) {
       $this->createMediaItem($vars);
     }
@@ -380,12 +381,12 @@ class MediaDevelGenerate extends DevelGenerateBase implements ContainerFactoryPl
    *
    * @param array $vars
    *   The input values from the settings form.
-   * @param array $context
+   * @param iterable $context
    *   Batch job context.
    *
    * @see self::mediaKill()
    */
-  public function batchMediaKill($vars, &$context) {
+  public function batchMediaKill(array $vars, iterable &$context) {
     if ($this->drushBatch) {
       $this->mediaKill($vars);
     }
@@ -498,6 +499,7 @@ class MediaDevelGenerate extends DevelGenerateBase implements ContainerFactoryPl
       'uid' => $uid,
       'revision' => mt_rand(0, 1),
       'status' => TRUE,
+      'moderation_state' => 'published',
       'created' => $this->time->getRequestTime() - mt_rand(0, $results['time_range']),
       'langcode' => $this->getLangcode($results),
     ]);
diff --git a/frontend/drupal9/web/modules/contrib/devel/devel_generate/src/Plugin/DevelGenerate/MenuDevelGenerate.php b/frontend/drupal9/web/modules/contrib/devel/devel_generate/src/Plugin/DevelGenerate/MenuDevelGenerate.php
index 437e49568..af988203d 100644
--- a/frontend/drupal9/web/modules/contrib/devel/devel_generate/src/Plugin/DevelGenerate/MenuDevelGenerate.php
+++ b/frontend/drupal9/web/modules/contrib/devel/devel_generate/src/Plugin/DevelGenerate/MenuDevelGenerate.php
@@ -207,7 +207,7 @@ class MenuDevelGenerate extends DevelGenerateBase implements ContainerFactoryPlu
 
     // Delete custom menus.
     if ($values['kill']) {
-      list($menus_deleted, $links_deleted) = $this->deleteMenus();
+      [$menus_deleted, $links_deleted] = $this->deleteMenus();
       $this->setMessage($this->t('Deleted @menus_deleted menu(s) and @links_deleted other link(s).',
         ['@menus_deleted' => $menus_deleted, '@links_deleted' => $links_deleted]));
     }
diff --git a/frontend/drupal9/web/modules/contrib/devel/devel_generate/tests/modules/devel_generate_example/devel_generate_example.info.yml b/frontend/drupal9/web/modules/contrib/devel/devel_generate/tests/modules/devel_generate_example/devel_generate_example.info.yml
index 9e1fe3e49..d17f52895 100644
--- a/frontend/drupal9/web/modules/contrib/devel/devel_generate/tests/modules/devel_generate_example/devel_generate_example.info.yml
+++ b/frontend/drupal9/web/modules/contrib/devel/devel_generate/tests/modules/devel_generate_example/devel_generate_example.info.yml
@@ -7,7 +7,7 @@ configure: admin/config/development/generate
 tags:
  - developer
 
-# Information added by Drupal.org packaging script on 2022-02-28
-version: '4.1.5'
+# Information added by Drupal.org packaging script on 2022-09-27
+version: '4.2.1'
 project: 'devel'
-datestamp: 1646072828
+datestamp: 1664317447
diff --git a/frontend/drupal9/web/modules/contrib/devel/devel_generate/tests/modules/devel_generate_example/src/Plugin/DevelGenerate/ExampleDevelGenerate.php b/frontend/drupal9/web/modules/contrib/devel/devel_generate/tests/modules/devel_generate_example/src/Plugin/DevelGenerate/ExampleDevelGenerate.php
index eff39752f..cf3763b0d 100644
--- a/frontend/drupal9/web/modules/contrib/devel/devel_generate/tests/modules/devel_generate_example/src/Plugin/DevelGenerate/ExampleDevelGenerate.php
+++ b/frontend/drupal9/web/modules/contrib/devel/devel_generate/tests/modules/devel_generate_example/src/Plugin/DevelGenerate/ExampleDevelGenerate.php
@@ -23,7 +23,7 @@ use Drupal\Core\Form\FormStateInterface;
 class ExampleDevelGenerate extends DevelGenerateBase {
 
   /**
-   *
+   * {@inheritdoc}
    */
   public function settingsForm(array $form, FormStateInterface $form_state) {
 
@@ -84,7 +84,7 @@ class ExampleDevelGenerate extends DevelGenerateBase {
   }
 
   /**
-   *
+   * {@inheritdoc}
    */
   public function validateDrushParams(array $args, array $options = []) {
     $values = [
diff --git a/frontend/drupal9/web/modules/contrib/devel/devel_generate/tests/src/Functional/DevelGenerateBrowserTestBase.php b/frontend/drupal9/web/modules/contrib/devel/devel_generate/tests/src/Functional/DevelGenerateBrowserTestBase.php
index 6efcbf94e..3ee34a279 100644
--- a/frontend/drupal9/web/modules/contrib/devel/devel_generate/tests/src/Functional/DevelGenerateBrowserTestBase.php
+++ b/frontend/drupal9/web/modules/contrib/devel/devel_generate/tests/src/Functional/DevelGenerateBrowserTestBase.php
@@ -18,9 +18,6 @@ abstract class DevelGenerateBrowserTestBase extends BrowserTestBase {
   /**
    * Modules to enable.
    *
-   * Note: Webprofiler is not being tested here directly, but is enabled to help
-   * highlight any places where it may interfere with DevelGenerate processing.
-   *
    * @var array
    */
   public static $modules = [
@@ -33,7 +30,6 @@ abstract class DevelGenerateBrowserTestBase extends BrowserTestBase {
     'comment',
     'taxonomy',
     'path',
-    'webprofiler',
   ];
 
   /**
diff --git a/frontend/drupal9/web/modules/contrib/devel/drupalci.yml b/frontend/drupal9/web/modules/contrib/devel/drupalci.yml
new file mode 100644
index 000000000..a53e73e55
--- /dev/null
+++ b/frontend/drupal9/web/modules/contrib/devel/drupalci.yml
@@ -0,0 +1,16 @@
+# See docs at https://www.drupal.org/drupalorg/docs/drupal-ci/customizing-drupalci-testing-for-projects
+build:
+  assessment:
+    validate_codebase:
+      # Remove all validation and standards checking from drupal.org CI as this
+      # is now covered by jobs running on Drupalspoons.
+      # https://gitlab.com/drupalspoons/devel/-/pipelines
+    testing:
+      run_tests.standard:
+        types: 'PHPUnit-Unit,PHPUnit-Kernel,PHPUnit-Functional'
+        suppress-deprecations: true
+      run_tests.js:
+        types: 'PHPUnit-FunctionalJavascript'
+        suppress-deprecations: true
+        concurrency: 1
+        halt-on-fail: false
diff --git a/frontend/drupal9/web/modules/contrib/devel/phpcs.xml.dist b/frontend/drupal9/web/modules/contrib/devel/phpcs.xml.dist
index f88da0b62..281c0f4a2 100644
--- a/frontend/drupal9/web/modules/contrib/devel/phpcs.xml.dist
+++ b/frontend/drupal9/web/modules/contrib/devel/phpcs.xml.dist
@@ -31,11 +31,35 @@
     
     Commands\.php
   
+  
 
-  
-  
-    
-    0
-  
+  
+  0
+  0
+
+  
+  0
+  0
+  0
+  0
+  0
+  0
+  0
+  0
+  0
+  0
+  0
+  0
+  0
+  0
 
 
diff --git a/frontend/drupal9/web/modules/contrib/devel/src/Commands/DevelCommands.php b/frontend/drupal9/web/modules/contrib/devel/src/Commands/DevelCommands.php
index 9412f66f8..3cfe607c5 100644
--- a/frontend/drupal9/web/modules/contrib/devel/src/Commands/DevelCommands.php
+++ b/frontend/drupal9/web/modules/contrib/devel/src/Commands/DevelCommands.php
@@ -265,7 +265,7 @@ class DevelCommands extends DrushCommands implements SiteAliasManagerAwareInterf
       $reflect = new \ReflectionFunction($function_name);
     }
     else {
-      list($class, $method) = explode('::', $function_name);
+      [$class, $method] = explode('::', $function_name);
       if (!method_exists($class, $method)) {
         throw new \Exception(dt('Method not found'));
       }
diff --git a/frontend/drupal9/web/modules/contrib/devel/src/Controller/ContainerInfoController.php b/frontend/drupal9/web/modules/contrib/devel/src/Controller/ContainerInfoController.php
index 9aac792d1..7c3b445ed 100644
--- a/frontend/drupal9/web/modules/contrib/devel/src/Controller/ContainerInfoController.php
+++ b/frontend/drupal9/web/modules/contrib/devel/src/Controller/ContainerInfoController.php
@@ -82,7 +82,7 @@ class ContainerInfoController extends ControllerBase implements ContainerAwareIn
           'filter' => TRUE,
         ];
         $row['class'] = [
-          'data' => isset($service['class']) ? $service['class'] : '',
+          'data' => $service['class'] ?? '',
           'filter' => TRUE,
         ];
         $row['alias'] = [
diff --git a/frontend/drupal9/web/modules/contrib/devel/src/Controller/EntityTypeInfoController.php b/frontend/drupal9/web/modules/contrib/devel/src/Controller/EntityTypeInfoController.php
index 42cbee6f5..edd46dbcf 100644
--- a/frontend/drupal9/web/modules/contrib/devel/src/Controller/EntityTypeInfoController.php
+++ b/frontend/drupal9/web/modules/contrib/devel/src/Controller/EntityTypeInfoController.php
@@ -34,6 +34,8 @@ class EntityTypeInfoController extends ControllerBase {
    *
    * @param \Drupal\devel\DevelDumperManagerInterface $dumper
    *   The dumper service.
+   * @param \Drupal\Core\Entity\EntityLastInstalledSchemaRepositoryInterface $entityLastInstalledSchemaRepository
+   *   The installed entity definition repository service.
    */
   public function __construct(DevelDumperManagerInterface $dumper, EntityLastInstalledSchemaRepositoryInterface $entityLastInstalledSchemaRepository) {
     $this->dumper = $dumper;
diff --git a/frontend/drupal9/web/modules/contrib/devel/src/DevelDumperBase.php b/frontend/drupal9/web/modules/contrib/devel/src/DevelDumperBase.php
index 68458dd5d..d43408ac0 100644
--- a/frontend/drupal9/web/modules/contrib/devel/src/DevelDumperBase.php
+++ b/frontend/drupal9/web/modules/contrib/devel/src/DevelDumperBase.php
@@ -4,6 +4,7 @@ namespace Drupal\devel;
 
 use Drupal\Core\Plugin\PluginBase;
 use Drupal\devel\Render\FilteredMarkup;
+use Drupal\devel\Twig\Extension\Debug;
 
 /**
  * Defines a base devel dumper implementation.
@@ -62,7 +63,7 @@ abstract class DevelDumperBase extends PluginBase implements DevelDumperInterfac
       [$manager_class_name, 'export'],
       [$manager_class_name, 'exportAsRenderable'],
       [$manager_class_name, 'message'],
-      [\Drupal\devel\Twig\Extension\Debug::class, 'dump'],
+      [Debug::class, 'dump'],
       'dpm',
       'dvm',
       'dsm',
diff --git a/frontend/drupal9/web/modules/contrib/devel/src/EntityTypeInfo.php b/frontend/drupal9/web/modules/contrib/devel/src/EntityTypeInfo.php
index a72417a40..5533c035f 100644
--- a/frontend/drupal9/web/modules/contrib/devel/src/EntityTypeInfo.php
+++ b/frontend/drupal9/web/modules/contrib/devel/src/EntityTypeInfo.php
@@ -4,6 +4,7 @@ namespace Drupal\devel;
 
 use Drupal\Core\DependencyInjection\ContainerInjectionInterface;
 use Drupal\Core\Entity\EntityInterface;
+use Drupal\Core\Entity\EntityTypeInterface;
 use Drupal\Core\Session\AccountInterface;
 use Drupal\Core\StringTranslation\StringTranslationTrait;
 use Symfony\Component\DependencyInjection\ContainerInterface;
@@ -57,15 +58,71 @@ class EntityTypeInfo implements ContainerInjectionInterface {
   public function entityTypeAlter(array &$entity_types) {
     foreach ($entity_types as $entity_type_id => $entity_type) {
       if (($entity_type->getFormClass('default') || $entity_type->getFormClass('edit')) && $entity_type->hasLinkTemplate('edit-form')) {
-        $entity_type->setLinkTemplate('devel-load', "/devel/$entity_type_id/{{$entity_type_id}}");
+        // We use edit-form template to extract and set additional parameters
+        // dynamically.
+        $entity_link = $entity_type->getLinkTemplate('edit-form');
+        $this->setEntityTypeLinkTemplate($entity_type, $entity_link, 'devel-load', "/devel/$entity_type_id", $entity_link);
       }
       if ($entity_type->hasViewBuilderClass() && $entity_type->hasLinkTemplate('canonical')) {
-        $entity_type->setLinkTemplate('devel-render', "/devel/$entity_type_id/{{$entity_type_id}}/render");
+        // We use canonical template to extract and set additional parameters
+        // dynamically.
+        $entity_link = $entity_type->getLinkTemplate('canonical');
+        $this->setEntityTypeLinkTemplate($entity_type, $entity_link, 'devel-render', "/devel/render/$entity_type_id", 'canonical');
       }
       if ($entity_type->hasLinkTemplate('devel-render') || $entity_type->hasLinkTemplate('devel-load')) {
-        $entity_type->setLinkTemplate('devel-definition', "/devel/$entity_type_id/{{$entity_type_id}}/definition");
+        // We use canonical or edit-form template to extract and set additional
+        // parameters dynamically.
+        $entity_link = $entity_type->getLinkTemplate('edit-form');
+        if (empty($entity_link)) {
+          $entity_link = $entity_type->getLinkTemplate('canonical');
+        }
+        $this->setEntityTypeLinkTemplate($entity_type, $entity_link, 'devel-definition', "/devel/definition/$entity_type_id");
       }
     }
+
+  }
+
+  /**
+   * Sets entity type link template.
+   *
+   * @param \Drupal\Core\Entity\EntityTypeInterface $entity_type
+   *   Entity type.
+   * @param string $entity_link
+   *   Entity link.
+   * @param string $devel_link_key
+   *   Devel link key.
+   * @param string $base_path
+   *   Base path for devel link key.
+   */
+  protected function setEntityTypeLinkTemplate(EntityTypeInterface $entity_type, $entity_link, $devel_link_key, $base_path) {
+    // Extract all route parameters from the given template and set them to
+    // the current template.
+    // Some entity templates can contain not only entity id,
+    // for example /user/{user}/documents/{document}
+    // /group/{group}/content/{group_content}
+    // We use canonical or edit-form templates to get these parameters and set
+    // them for devel entity link templates.
+    $path_parts = $this->getPathParts($entity_link);
+    $entity_type->setLinkTemplate($devel_link_key, $base_path . $path_parts);
+  }
+
+  /**
+   * Get path parts.
+   *
+   * @param string $entity_path
+   *   Entity path.
+   *
+   * @return string
+   *   Path parts.
+   */
+  protected function getPathParts($entity_path) {
+    $path = '';
+    if (preg_match_all('/{\w*}/', $entity_path, $matches)) {
+      foreach ($matches[0] as $match) {
+        $path .= "/$match";
+      }
+    }
+    return $path;
   }
 
   /**
diff --git a/frontend/drupal9/web/modules/contrib/devel/src/Form/ConfigDeleteForm.php b/frontend/drupal9/web/modules/contrib/devel/src/Form/ConfigDeleteForm.php
index 20456debd..023c754c5 100644
--- a/frontend/drupal9/web/modules/contrib/devel/src/Form/ConfigDeleteForm.php
+++ b/frontend/drupal9/web/modules/contrib/devel/src/Form/ConfigDeleteForm.php
@@ -13,110 +13,110 @@ use Drupal\Core\Url;
  */
 class ConfigDeleteForm extends FormBase implements ConfirmFormInterface {
 
-    /**
-     * {@inheritdoc}
-     */
-    public function getFormId() {
-        return 'devel_config_system_delete_form';
+  /**
+   * {@inheritdoc}
+   */
+  public function getFormId() {
+    return 'devel_config_system_delete_form';
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function buildForm(array $form, FormStateInterface $form_state, $config_name = '') {
+    $config = $this->config($config_name);
+
+    if ($config === FALSE || $config->isNew()) {
+      $this->messenger()->addError($this->t('Config @name does not exist in the system.', ['@name' => $config_name]));
+      return;
     }
 
-    /**
-     * {@inheritdoc}
-     */
-    public function buildForm(array $form, FormStateInterface $form_state, $config_name = '') {
-        $config = $this->config($config_name);
+    $form['#title'] = $this->getQuestion();
+    $form['#attributes']['class'][] = 'confirmation';
+    $form['description'] = ['#markup' => $this->getDescription()];
+    $form[$this->getFormName()] = ['#type' => 'hidden', '#value' => 1];
 
-        if ($config === FALSE || $config->isNew()) {
-            $this->messenger()->addError(t('Config @name does not exist in the system.', array('@name' => $config_name)));
-            return;
-        }
-
-        $form['#title'] = $this->getQuestion();
-        $form['#attributes']['class'][] = 'confirmation';
-        $form['description'] = array('#markup' => $this->getDescription());
-        $form[$this->getFormName()] = array('#type' => 'hidden', '#value' => 1);
-
-        // By default, render the form using theme_confirm_form().
-        if (!isset($form['#theme'])) {
-            $form['#theme'] = 'confirm_form';
-        }
-
-        $form['name'] = array(
-          '#type' => 'value',
-          '#value' => $config_name,
-        );
-
-        $form['actions'] = array('#type' => 'actions');
-        $form['actions']['submit'] = array(
-          '#type' => 'submit',
-          '#value' => $this->getConfirmText(),
-          '#submit' => array(
-            array($this, 'submitForm'),
-          ),
-        );
-        $form['actions']['cancel'] = ConfirmFormHelper::buildCancelLink($this, $this->getRequest());
-
-        return $form;
+    // By default, render the form using theme_confirm_form().
+    if (!isset($form['#theme'])) {
+      $form['#theme'] = 'confirm_form';
     }
 
-    /**
-     * {@inheritdoc}
-     */
-    public function submitForm(array &$form, FormStateInterface $form_state) {
-        $config_name = $form_state->getValue('name');
-        try {
-            $this->configFactory()->getEditable($config_name)->delete();
-            $this->messenger()->addStatus($this->t('Configuration variable %variable was successfully deleted.', array('%variable' => $config_name)));
-            $this->logger('devel')->info('Configuration variable %variable was successfully deleted.', array('%variable' => $config_name));
+    $form['name'] = [
+      '#type' => 'value',
+      '#value' => $config_name,
+    ];
 
-            $form_state->setRedirectUrl($this->getCancelUrl());
-        }
-        catch (\Exception $e) {
-            $this->messenger()->addError($e->getMessage());
-            $this->logger('devel')->error('Error deleting configuration variable %variable : %error.', array('%variable' => $config_name, '%error' => $e->getMessage()));
-        }
+    $form['actions'] = ['#type' => 'actions'];
+    $form['actions']['submit'] = [
+      '#type' => 'submit',
+      '#value' => $this->getConfirmText(),
+      '#submit' => [
+          [$this, 'submitForm'],
+      ],
+    ];
+    $form['actions']['cancel'] = ConfirmFormHelper::buildCancelLink($this, $this->getRequest());
+
+    return $form;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function submitForm(array &$form, FormStateInterface $form_state) {
+    $config_name = $form_state->getValue('name');
+    try {
+      $this->configFactory()->getEditable($config_name)->delete();
+      $this->messenger()->addStatus($this->t('Configuration variable %variable was successfully deleted.', ['%variable' => $config_name]));
+      $this->logger('devel')->info('Configuration variable %variable was successfully deleted.', ['%variable' => $config_name]);
+
+      $form_state->setRedirectUrl($this->getCancelUrl());
     }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getCancelUrl() {
-        return Url::fromRoute('devel.configs_list');
+    catch (\Exception $e) {
+      $this->messenger()->addError($e->getMessage());
+      $this->logger('devel')->error('Error deleting configuration variable %variable : %error.', ['%variable' => $config_name, '%error' => $e->getMessage()]);
     }
+  }
 
-    /**
-     * {@inheritdoc}
-     */
-    public function getQuestion() {
-        return $this->t('Are you sure you want to delete this configuration?');
-    }
+  /**
+   * {@inheritdoc}
+   */
+  public function getCancelUrl() {
+    return Url::fromRoute('devel.configs_list');
+  }
 
-    /**
-     * {@inheritdoc}
-     */
-    public function getDescription() {
-        return $this->t('This action cannot be undone.');
-    }
+  /**
+   * {@inheritdoc}
+   */
+  public function getQuestion() {
+    return $this->t('Are you sure you want to delete this configuration?');
+  }
 
-    /**
-     * {@inheritdoc}
-     */
-    public function getConfirmText() {
-        return $this->t('Confirm');
-    }
+  /**
+   * {@inheritdoc}
+   */
+  public function getDescription() {
+    return $this->t('This action cannot be undone.');
+  }
 
-    /**
-     * {@inheritdoc}
-     */
-    public function getCancelText() {
-        return $this->t('Cancel');
-    }
+  /**
+   * {@inheritdoc}
+   */
+  public function getConfirmText() {
+    return $this->t('Confirm');
+  }
 
-    /**
-     * {@inheritdoc}
-     */
-    public function getFormName() {
-        return 'confirm';
-    }
+  /**
+   * {@inheritdoc}
+   */
+  public function getCancelText() {
+    return $this->t('Cancel');
+  }
 
-}
\ No newline at end of file
+  /**
+   * {@inheritdoc}
+   */
+  public function getFormName() {
+    return 'confirm';
+  }
+
+}
diff --git a/frontend/drupal9/web/modules/contrib/devel/src/Form/SwitchUserForm.php b/frontend/drupal9/web/modules/contrib/devel/src/Form/SwitchUserForm.php
index 7b9c44d7a..06314c686 100644
--- a/frontend/drupal9/web/modules/contrib/devel/src/Form/SwitchUserForm.php
+++ b/frontend/drupal9/web/modules/contrib/devel/src/Form/SwitchUserForm.php
@@ -100,7 +100,7 @@ class SwitchUserForm extends FormBase {
   public function submitForm(array &$form, FormStateInterface $form_state) {
     // We cannot rely on automatic token creation, since the csrf seed changes
     // after the redirect and the generated token is not more valid.
-    // TODO find another way to do this.
+    // @todo find another way to do this.
     $url = Url::fromRoute('devel.switch', ['name' => $form_state->getValue('username')]);
     $url->setOption('query', ['token' => $this->csrfToken->get($url->getInternalPath())]);
 
diff --git a/frontend/drupal9/web/modules/contrib/devel/src/Form/SystemStateEdit.php b/frontend/drupal9/web/modules/contrib/devel/src/Form/SystemStateEdit.php
index 8899885c3..16e870aff 100644
--- a/frontend/drupal9/web/modules/contrib/devel/src/Form/SystemStateEdit.php
+++ b/frontend/drupal9/web/modules/contrib/devel/src/Form/SystemStateEdit.php
@@ -68,7 +68,7 @@ class SystemStateEdit extends FormBase {
 
     }
 
-    // First we will show the user the content of the variable about to be edited.
+    // First we show the user the content of the variable about to be edited.
     $form['value'] = [
       '#type' => 'item',
       '#title' => $this->t('Current value for %name', ['%name' => $state_name]),
@@ -95,8 +95,8 @@ class SystemStateEdit extends FormBase {
       '#value' => $state_name,
     ];
     // Set the transport format for the new value. Values:
-    //  - plain
-    //  - yaml.
+    // - plain
+    // - yaml.
     $form['transport'] = [
       '#type' => 'value',
       '#value' => $transport,
@@ -163,8 +163,8 @@ class SystemStateEdit extends FormBase {
   /**
    * Helper function to determine if a variable is or contains an object.
    *
-   * @param $data
-   *   Input data to check
+   * @param mixed $data
+   *   Input data to check.
    *
    * @return bool
    *   TRUE if the variable is not an object and does not contain one.
diff --git a/frontend/drupal9/web/modules/contrib/devel/src/Plugin/Devel/Dumper/Kint.php b/frontend/drupal9/web/modules/contrib/devel/src/Plugin/Devel/Dumper/Kint.php
index 4998f9e51..db09334b5 100644
--- a/frontend/drupal9/web/modules/contrib/devel/src/Plugin/Devel/Dumper/Kint.php
+++ b/frontend/drupal9/web/modules/contrib/devel/src/Plugin/Devel/Dumper/Kint.php
@@ -3,6 +3,7 @@
 namespace Drupal\devel\Plugin\Devel\Dumper;
 
 use Drupal\devel\DevelDumperBase;
+use Kint\Kint as KintOriginal;
 use Kint\Parser\BlacklistPlugin;
 use Kint\Renderer\RichRenderer;
 use Psr\Container\ContainerInterface;
@@ -87,7 +88,7 @@ class Kint extends DevelDumperBase {
    * {@inheritdoc}
    */
   public function getInternalFunctions() {
-    return array_merge(parent::getInternalFunctions(), \Kint\Kint::$aliases);
+    return array_merge(parent::getInternalFunctions(), KintOriginal::$aliases);
   }
 
   /**
diff --git a/frontend/drupal9/web/modules/contrib/devel/src/Routing/RouteSubscriber.php b/frontend/drupal9/web/modules/contrib/devel/src/Routing/RouteSubscriber.php
index b0da4cef2..e08fecca8 100644
--- a/frontend/drupal9/web/modules/contrib/devel/src/Routing/RouteSubscriber.php
+++ b/frontend/drupal9/web/modules/contrib/devel/src/Routing/RouteSubscriber.php
@@ -4,6 +4,7 @@ namespace Drupal\devel\Routing;
 
 use Drupal\Core\Entity\EntityTypeInterface;
 use Drupal\Core\Entity\EntityTypeManagerInterface;
+use Drupal\Core\Routing\RouteProviderInterface;
 use Drupal\Core\Routing\RouteSubscriberBase;
 use Drupal\Core\Routing\RoutingEvents;
 use Symfony\Component\Routing\Route;
@@ -24,14 +25,24 @@ class RouteSubscriber extends RouteSubscriberBase {
    */
   protected $entityTypeManager;
 
+  /**
+   * The router service.
+   *
+   * @var \Symfony\Component\Routing\RouterInterface
+   */
+  protected $routeProvider;
+
   /**
    * Constructs a new RouteSubscriber object.
    *
    * @param \Drupal\Core\Entity\EntityTypeManagerInterface $entity_manager
    *   The entity type manager.
+   * @param \Drupal\Core\Routing\RouteProviderInterface $router_provider
+   *   The router service.
    */
-  public function __construct(EntityTypeManagerInterface $entity_manager) {
+  public function __construct(EntityTypeManagerInterface $entity_manager, RouteProviderInterface $router_provider) {
     $this->entityTypeManager = $entity_manager;
+    $this->routeProvider = $router_provider;
   }
 
   /**
@@ -62,9 +73,7 @@ class RouteSubscriber extends RouteSubscriberBase {
    */
   protected function getEntityLoadRoute(EntityTypeInterface $entity_type) {
     if ($devel_load = $entity_type->getLinkTemplate('devel-load')) {
-      $entity_type_id = $entity_type->id();
-      $route = new Route($devel_load);
-      $route
+      $route = (new Route($devel_load))
         ->addDefaults([
           '_controller' => '\Drupal\devel\Controller\EntityDebugController::entityLoad',
           '_title' => 'Devel Load',
@@ -73,13 +82,15 @@ class RouteSubscriber extends RouteSubscriberBase {
           '_permission' => 'access devel information',
         ])
         ->setOption('_admin_route', TRUE)
-        ->setOption('_devel_entity_type_id', $entity_type_id)
-        ->setOption('parameters', [
-          $entity_type_id => ['type' => 'entity:' . $entity_type_id],
-        ]);
+        ->setOption('_devel_entity_type_id', $entity_type->id());
+
+      if ($parameters = $this->getRouteParameters($entity_type, 'edit-form')) {
+        $route->setOption('parameters', $parameters);
+      }
 
       return $route;
     }
+    return NULL;
   }
 
   /**
@@ -93,9 +104,7 @@ class RouteSubscriber extends RouteSubscriberBase {
    */
   protected function getEntityRenderRoute(EntityTypeInterface $entity_type) {
     if ($devel_render = $entity_type->getLinkTemplate('devel-render')) {
-      $entity_type_id = $entity_type->id();
-      $route = new Route($devel_render);
-      $route
+      $route = (new Route($devel_render))
         ->addDefaults([
           '_controller' => '\Drupal\devel\Controller\EntityDebugController::entityRender',
           '_title' => 'Devel Render',
@@ -104,13 +113,15 @@ class RouteSubscriber extends RouteSubscriberBase {
           '_permission' => 'access devel information',
         ])
         ->setOption('_admin_route', TRUE)
-        ->setOption('_devel_entity_type_id', $entity_type_id)
-        ->setOption('parameters', [
-          $entity_type_id => ['type' => 'entity:' . $entity_type_id],
-        ]);
+        ->setOption('_devel_entity_type_id', $entity_type->id());
+
+      if ($parameters = $this->getRouteParameters($entity_type, 'canonical')) {
+        $route->setOption('parameters', $parameters);
+      }
 
       return $route;
     }
+    return NULL;
   }
 
   /**
@@ -124,9 +135,7 @@ class RouteSubscriber extends RouteSubscriberBase {
    */
   protected function getEntityTypeDefinitionRoute(EntityTypeInterface $entity_type) {
     if ($devel_definition = $entity_type->getLinkTemplate('devel-definition')) {
-      $entity_type_id = $entity_type->id();
-      $route = new Route($devel_definition);
-      $route
+      $route = (new Route($devel_definition))
         ->addDefaults([
           '_controller' => '\Drupal\devel\Controller\EntityDebugController::entityTypeDefinition',
           '_title' => 'Entity type definition',
@@ -135,15 +144,66 @@ class RouteSubscriber extends RouteSubscriberBase {
           '_permission' => 'access devel information',
         ])
         ->setOption('_admin_route', TRUE)
-        ->setOption('_devel_entity_type_id', $entity_type_id)
-        ->setOption('parameters', [
-          $entity_type_id => ['type' => 'entity:' . $entity_type_id],
-        ]);
+        ->setOption('_devel_entity_type_id', $entity_type->id());
+
+      $link_template = $entity_type->getLinkTemplate('edit-form') ? 'edit-form' : 'canonical';
+      if ($parameters = $this->getRouteParameters($entity_type, $link_template)) {
+        $route->setOption('parameters', $parameters);
+      }
 
       return $route;
     }
   }
 
+  /**
+   * Gets the route parameters from the template.
+   *
+   * @param \Drupal\Core\Entity\EntityTypeInterface $entity_type
+   *   The entity type definition.
+   * @param string $link_template
+   *   The link template.
+   *
+   * @return array[]
+   *   A list of route of parameters.
+   */
+  protected function getRouteParameters(EntityTypeInterface $entity_type, string $link_template): array {
+    $parameters = [];
+    if (!$path = $entity_type->getLinkTemplate($link_template)) {
+      return $parameters;
+    }
+
+    $original_route_parameters = [];
+    $candidate_routes = $this->routeProvider->getRoutesByPattern($path);
+    if ($candidate_routes->count()) {
+      // Guess the best match. There could be more than one route sharing the
+      // same path. Try first an educated guess based on the route name. If we
+      // can't find one, pick-up the first from the list.
+      $name = 'entity.' . $entity_type->id() . '.' . str_replace('-', '_', $link_template);
+      if (!$original_route = $candidate_routes->get($name)) {
+        $iterator = $candidate_routes->getIterator();
+        $iterator->rewind();
+        $original_route = $iterator->current();
+      }
+      $original_route_parameters = $original_route->getOption('parameters') ?? [];
+    }
+
+    if (preg_match_all('/{\w*}/', $path, $matches)) {
+      foreach ($matches[0] as $match) {
+        $match = str_replace(['{', '}'], '', $match);
+        // This match has an original route parameter definition.
+        if (isset($original_route_parameters[$match])) {
+          $parameters[$match] = $original_route_parameters[$match];
+        }
+        // It could be an entity type?
+        elseif ($this->entityTypeManager->hasDefinition($match)) {
+          $parameters[$match] = ['type' => "entity:$match"];
+        }
+      }
+    }
+
+    return $parameters;
+  }
+
   /**
    * {@inheritdoc}
    */
diff --git a/frontend/drupal9/web/modules/contrib/devel/src/Twig/Extension/Debug.php b/frontend/drupal9/web/modules/contrib/devel/src/Twig/Extension/Debug.php
index 209a3f36b..900610783 100644
--- a/frontend/drupal9/web/modules/contrib/devel/src/Twig/Extension/Debug.php
+++ b/frontend/drupal9/web/modules/contrib/devel/src/Twig/Extension/Debug.php
@@ -52,7 +52,7 @@ class Debug extends \Twig_Extension {
     return [
       new \Twig_SimpleFunction('devel_dump', [$this, 'dump'], $options),
       new \Twig_SimpleFunction('kpr', [$this, 'dump'], $options),
-      //  Preserve familiar kint() function for dumping
+      // Preserve familiar kint() function for dumping.
       new \Twig_SimpleFunction('kint', [$this, 'kint'], $options),
       new \Twig_SimpleFunction('devel_message', [$this, 'message'], $options),
       new \Twig_SimpleFunction('dpm', [$this, 'message'], $options),
@@ -88,11 +88,17 @@ class Debug extends \Twig_Extension {
 
   /**
    * @param \Twig_Environment $env
+   *   The twig environment instance.
    * @param array $context
+   *   An array of parameters passed to the template.
    * @param array $args
-   * @param null $plugin_id
+   *   An array of parameters passed the function.
+   * @param string $plugin_id
+   *   The plugin id. Defaults to null.
    *
-   * @return false|string|null
+   * @return string|null
+   *   String representation of the input variables, or null if twig_debug mode
+   *   is tunred off.
    */
   private function doDump(\Twig_Environment $env, array $context, array $args = [], $plugin_id = NULL) {
     if (!$env->isDebug()) {
diff --git a/frontend/drupal9/web/modules/contrib/devel/tests/modules/devel_dumper_test/devel_dumper_test.info.yml b/frontend/drupal9/web/modules/contrib/devel/tests/modules/devel_dumper_test/devel_dumper_test.info.yml
index bcb0c1130..fd5630174 100644
--- a/frontend/drupal9/web/modules/contrib/devel/tests/modules/devel_dumper_test/devel_dumper_test.info.yml
+++ b/frontend/drupal9/web/modules/contrib/devel/tests/modules/devel_dumper_test/devel_dumper_test.info.yml
@@ -4,7 +4,7 @@ description: 'Test pluggable dumpers.'
 package: Testing
 core_version_requirement: ^8.8 || ^9
 
-# Information added by Drupal.org packaging script on 2022-02-28
-version: '4.1.5'
+# Information added by Drupal.org packaging script on 2022-09-27
+version: '4.2.1'
 project: 'devel'
-datestamp: 1646072828
+datestamp: 1664317447
diff --git a/frontend/drupal9/web/modules/contrib/devel/tests/modules/devel_entity_test/devel_entity_test.info.yml b/frontend/drupal9/web/modules/contrib/devel/tests/modules/devel_entity_test/devel_entity_test.info.yml
index 57df76288..3f3a880ce 100644
--- a/frontend/drupal9/web/modules/contrib/devel/tests/modules/devel_entity_test/devel_entity_test.info.yml
+++ b/frontend/drupal9/web/modules/contrib/devel/tests/modules/devel_entity_test/devel_entity_test.info.yml
@@ -8,7 +8,7 @@ dependencies:
   - drupal:text
   - drupal:entity_test
 
-# Information added by Drupal.org packaging script on 2022-02-28
-version: '4.1.5'
+# Information added by Drupal.org packaging script on 2022-09-27
+version: '4.2.1'
 project: 'devel'
-datestamp: 1646072828
+datestamp: 1664317447
diff --git a/frontend/drupal9/web/modules/contrib/devel/tests/modules/devel_test/devel_test.info.yml b/frontend/drupal9/web/modules/contrib/devel/tests/modules/devel_test/devel_test.info.yml
index 4714fe697..07a840940 100644
--- a/frontend/drupal9/web/modules/contrib/devel/tests/modules/devel_test/devel_test.info.yml
+++ b/frontend/drupal9/web/modules/contrib/devel/tests/modules/devel_test/devel_test.info.yml
@@ -4,7 +4,7 @@ description: 'Support module for Devel testing.'
 package: Testing
 core_version_requirement: ^8.8 || ^9
 
-# Information added by Drupal.org packaging script on 2022-02-28
-version: '4.1.5'
+# Information added by Drupal.org packaging script on 2022-09-27
+version: '4.2.1'
 project: 'devel'
-datestamp: 1646072828
+datestamp: 1664317447
diff --git a/frontend/drupal9/web/modules/contrib/devel/tests/src/Functional/DevelCommandsTest.php b/frontend/drupal9/web/modules/contrib/devel/tests/src/Functional/DevelCommandsTest.php
index 0361dd742..adbb04c70 100644
--- a/frontend/drupal9/web/modules/contrib/devel/tests/src/Functional/DevelCommandsTest.php
+++ b/frontend/drupal9/web/modules/contrib/devel/tests/src/Functional/DevelCommandsTest.php
@@ -6,6 +6,8 @@ use Drupal\Tests\BrowserTestBase;
 use Drush\TestTraits\DrushTestTrait;
 
 /**
+ * Test class for the Devel drush commands.
+ *
  * Note: Drush must be installed. Add it to your require-dev in composer.json.
  */
 
diff --git a/frontend/drupal9/web/modules/contrib/devel/tests/src/Functional/DevelContainerInfoTest.php b/frontend/drupal9/web/modules/contrib/devel/tests/src/Functional/DevelContainerInfoTest.php
index 938d71bb8..004b5acf2 100644
--- a/frontend/drupal9/web/modules/contrib/devel/tests/src/Functional/DevelContainerInfoTest.php
+++ b/frontend/drupal9/web/modules/contrib/devel/tests/src/Functional/DevelContainerInfoTest.php
@@ -53,7 +53,7 @@ class DevelContainerInfoTest extends DevelBrowserTestBase {
     $this->assertNotNull($table);
 
     // Ensures that the expected table headers are found.
-    /* @var $headers \Behat\Mink\Element\NodeElement[] */
+    /** @var \Behat\Mink\Element\NodeElement[] $headers */
     $headers = $table->findAll('css', 'thead th');
     $this->assertEquals(4, count($headers));
 
@@ -89,7 +89,7 @@ class DevelContainerInfoTest extends DevelBrowserTestBase {
       $row = $table->find('css', sprintf('tbody tr:contains("%s")', $service_id));
       $this->assertNotNull($row);
 
-      /* @var $cells \Behat\Mink\Element\NodeElement[] */
+      /** @var \Behat\Mink\Element\NodeElement[] $cells */
       $cells = $row->findAll('css', 'td');
       $this->assertEquals(4, count($cells));
 
@@ -158,7 +158,7 @@ class DevelContainerInfoTest extends DevelBrowserTestBase {
     $this->assertNotNull($table);
 
     // Ensures that the expected table headers are found.
-    /* @var $headers \Behat\Mink\Element\NodeElement[] */
+    /** @var \Behat\Mink\Element\NodeElement[] $headers */
     $headers = $table->findAll('css', 'thead th');
     $this->assertEquals(2, count($headers));
 
@@ -186,7 +186,7 @@ class DevelContainerInfoTest extends DevelBrowserTestBase {
       $row = $table->find('css', sprintf('tbody tr:contains("%s")', $parameter_name));
       $this->assertNotNull($row);
 
-      /* @var $cells \Behat\Mink\Element\NodeElement[] */
+      /** @var \Behat\Mink\Element\NodeElement[] $cells */
       $cells = $row->findAll('css', 'td');
       $this->assertEquals(2, count($cells));
 
diff --git a/frontend/drupal9/web/modules/contrib/devel/tests/src/Functional/DevelControllerTest.php b/frontend/drupal9/web/modules/contrib/devel/tests/src/Functional/DevelControllerTest.php
index 389e4a8a4..6109fa3dd 100644
--- a/frontend/drupal9/web/modules/contrib/devel/tests/src/Functional/DevelControllerTest.php
+++ b/frontend/drupal9/web/modules/contrib/devel/tests/src/Functional/DevelControllerTest.php
@@ -79,11 +79,11 @@ class DevelControllerTest extends DevelBrowserTestBase {
     $this->assertSession()->LinkExists('Definition');
     $this->assertSession()->LinkExists('Render');
     $this->assertSession()->LinkExists('Load');
-    $this->assertSession()->linkByHrefExists('devel/entity_test/' . $this->entity->id() . '/render');
-    $this->drupalGet('devel/entity_test/' . $this->entity->id() . '/render');
+    $this->assertSession()->linkByHrefExists('devel/render/entity_test/' . $this->entity->id());
+    $this->drupalGet('devel/render/entity_test/' . $this->entity->id());
     $this->assertSession()->statusCodeEquals(200);
-    $this->assertSession()->linkByHrefExists('devel/entity_test/' . $this->entity->id() . '/definition');
-    $this->drupalGet('devel/entity_test/' . $this->entity->id() . '/definition');
+    $this->assertSession()->linkByHrefExists('devel/definition/entity_test/' . $this->entity->id());
+    $this->drupalGet('devel/definition/entity_test/' . $this->entity->id());
     $this->assertSession()->statusCodeEquals(200);
 
     // Test Devel load and render routes for entities with only canonical route
@@ -98,16 +98,16 @@ class DevelControllerTest extends DevelBrowserTestBase {
     $this->assertSession()->elementNotExists('xpath',
       '//a[@data-drupal-link-system-path = "devel/devel_entity_test_canonical/' . $this->entity_canonical->id() . '"]');
     $this->assertSession()->elementExists('xpath',
-      '//a[@data-drupal-link-system-path = "devel/devel_entity_test_canonical/' . $this->entity_canonical->id() . '/render"]');
+      '//a[@data-drupal-link-system-path = "devel/render/devel_entity_test_canonical/' . $this->entity_canonical->id() . '"]');
     $this->drupalGet('devel/devel_entity_test_canonical/' . $this->entity_canonical->id());
     $this->assertSession()->statusCodeEquals(404);
-    $this->drupalGet('devel/devel_entity_test_canonical/' . $this->entity_canonical->id() . '/render');
+    $this->drupalGet('devel/render/devel_entity_test_canonical/' . $this->entity_canonical->id());
     $this->assertSession()->statusCodeEquals(200);
     $this->assertSession()->LinkExists('Definition');
     $this->assertSession()->LinkExists('Render');
     $this->assertSession()->LinkNotExists('Load');
-    $this->assertSession()->linkByHrefExists('devel/devel_entity_test_canonical/' . $this->entity_canonical->id() . '/definition');
-    $this->drupalGet('devel/devel_entity_test_canonical/' . $this->entity_canonical->id() . '/definition');
+    $this->assertSession()->linkByHrefExists('devel/definition/devel_entity_test_canonical/' . $this->entity_canonical->id());
+    $this->drupalGet('devel/definition/devel_entity_test_canonical/' . $this->entity_canonical->id());
     $this->assertSession()->statusCodeEquals(200);
 
     // Test Devel load and render routes for entities with only edit route
@@ -123,11 +123,11 @@ class DevelControllerTest extends DevelBrowserTestBase {
     $this->assertSession()->LinkExists('Definition');
     $this->assertSession()->LinkNotExists('Render');
     $this->assertSession()->LinkExists('Load');
-    $this->assertSession()->linkByHrefExists('devel/devel_entity_test_edit/' . $this->entity_edit->id() . '/definition');
-    $this->assertSession()->linkByHrefNotExists('devel/devel_entity_test_edit/' . $this->entity_edit->id() . '/render');
-    $this->drupalGet('devel/devel_entity_test_edit/' . $this->entity_edit->id() . '/definition');
+    $this->assertSession()->linkByHrefExists('devel/definition/devel_entity_test_edit/' . $this->entity_edit->id());
+    $this->assertSession()->linkByHrefNotExists('devel/render/devel_entity_test_edit/' . $this->entity_edit->id());
+    $this->drupalGet('devel/definition/devel_entity_test_edit/' . $this->entity_edit->id());
     $this->assertSession()->statusCodeEquals(200);
-    $this->drupalGet('devel/devel_entity_test_edit/' . $this->entity_edit->id() . '/render');
+    $this->drupalGet('devel/render/devel_entity_test_edit/' . $this->entity_edit->id());
     $this->assertSession()->statusCodeEquals(404);
 
     // Test Devel load and render routes for entities with no route
@@ -136,9 +136,9 @@ class DevelControllerTest extends DevelBrowserTestBase {
     $this->assertSession()->statusCodeEquals(404);
     $this->drupalGet('devel/devel_entity_test_no_links/' . $this->entity_no_links->id());
     $this->assertSession()->statusCodeEquals(404);
-    $this->drupalGet('devel/devel_entity_test_no_links/' . $this->entity_no_links->id() . '/render');
+    $this->drupalGet('devel/render/devel_entity_test_no_links/' . $this->entity_no_links->id());
     $this->assertSession()->statusCodeEquals(404);
-    $this->drupalGet('devel/devel_entity_test_no_links/' . $this->entity_no_links->id() . '/definition');
+    $this->drupalGet('devel/definition/devel_entity_test_no_links/' . $this->entity_no_links->id());
     $this->assertSession()->statusCodeEquals(404);
   }
 
diff --git a/frontend/drupal9/web/modules/contrib/devel/tests/src/Functional/DevelDumperTest.php b/frontend/drupal9/web/modules/contrib/devel/tests/src/Functional/DevelDumperTest.php
index 812919b18..52296c585 100644
--- a/frontend/drupal9/web/modules/contrib/devel/tests/src/Functional/DevelDumperTest.php
+++ b/frontend/drupal9/web/modules/contrib/devel/tests/src/Functional/DevelDumperTest.php
@@ -108,18 +108,7 @@ class DevelDumperTest extends DevelBrowserTestBase {
     $this->assertSession()->responseContains('devel_dumper_test/css/devel_dumper_test.css');
     $this->assertSession()->responseContains('devel_dumper_test/js/devel_dumper_test.js');
 
-    // @todo Cater for deprecated code where the replacement has not been
-    // backported. Remove this when support for core 8.7 is no longer required.
-    // @see https://www.drupal.org/project/devel/issues/3118851
-    if (version_compare(\Drupal::VERSION, 8.8, '>=')) {
-      // For 8.8+.
-      $debug_filename = \Drupal::service('file_system')->getTempDirectory() . '/' . 'drupal_debug.txt';
-    }
-    else {
-      // Up to 8.7.
-      $debug_filename = file_directory_temp() . '/drupal_debug.txt';
-    }
-
+    $debug_filename = \Drupal::service('file_system')->getTempDirectory() . '/' . 'drupal_debug.txt';
     $this->drupalGet('devel_dumper_test/debug');
     $file_content = file_get_contents($debug_filename);
     $expected = <<find('css', sprintf('tbody tr:contains("%s")', $element_name));
       $this->assertNotNull($row);
 
-      /* @var $cells \Behat\Mink\Element\NodeElement[] */
+      /** @var \Behat\Mink\Element\NodeElement[] $cells */
       $cells = $row->findAll('css', 'td');
       $this->assertEquals(4, count($cells));
 
diff --git a/frontend/drupal9/web/modules/contrib/devel/tests/src/Functional/DevelEntityTypeInfoTest.php b/frontend/drupal9/web/modules/contrib/devel/tests/src/Functional/DevelEntityTypeInfoTest.php
index 98bdea21c..c78e7f003 100644
--- a/frontend/drupal9/web/modules/contrib/devel/tests/src/Functional/DevelEntityTypeInfoTest.php
+++ b/frontend/drupal9/web/modules/contrib/devel/tests/src/Functional/DevelEntityTypeInfoTest.php
@@ -84,7 +84,7 @@ class DevelEntityTypeInfoTest extends DevelBrowserTestBase {
       $row = $table->find('css', sprintf('tbody tr:contains("%s")', $entity_type_id));
       $this->assertNotNull($row);
 
-      /* @var $cells \Behat\Mink\Element\NodeElement[] */
+      /** @var \Behat\Mink\Element\NodeElement[] $cells */
       $cells = $row->findAll('css', 'td');
       $this->assertEquals(5, count($cells));
 
diff --git a/frontend/drupal9/web/modules/contrib/devel/tests/src/Functional/DevelErrorHandlerTest.php b/frontend/drupal9/web/modules/contrib/devel/tests/src/Functional/DevelErrorHandlerTest.php
index 0d6a3e57c..60d220aa5 100644
--- a/frontend/drupal9/web/modules/contrib/devel/tests/src/Functional/DevelErrorHandlerTest.php
+++ b/frontend/drupal9/web/modules/contrib/devel/tests/src/Functional/DevelErrorHandlerTest.php
@@ -2,8 +2,6 @@
 
 namespace Drupal\Tests\devel\Functional;
 
-use Drupal\Component\Render\FormattableMarkup;
-
 /**
  * Tests devel error handler.
  *
@@ -17,7 +15,7 @@ class DevelErrorHandlerTest extends DevelBrowserTestBase {
   public function testErrorHandler() {
     $messages_selector = '[data-drupal-messages]';
 
-    $expected_notice =  'This is an example notice';
+    $expected_notice = 'This is an example notice';
     $expected_warning = 'This is an example warning';
 
     $config = $this->config('system.logging');
diff --git a/frontend/drupal9/web/modules/contrib/devel/tests/src/Functional/DevelEventInfoTest.php b/frontend/drupal9/web/modules/contrib/devel/tests/src/Functional/DevelEventInfoTest.php
index 1d8959856..952924ecf 100644
--- a/frontend/drupal9/web/modules/contrib/devel/tests/src/Functional/DevelEventInfoTest.php
+++ b/frontend/drupal9/web/modules/contrib/devel/tests/src/Functional/DevelEventInfoTest.php
@@ -50,7 +50,7 @@ class DevelEventInfoTest extends DevelBrowserTestBase {
     $this->assertNotNull($table);
 
     // Ensures that the expected table headers are found.
-    /* @var $headers \Behat\Mink\Element\NodeElement[] */
+    /** @var \Behat\Mink\Element\NodeElement[] $headers */
     $headers = $table->findAll('css', 'thead th');
     $this->assertEquals(3, count($headers));
 
@@ -83,14 +83,14 @@ class DevelEventInfoTest extends DevelBrowserTestBase {
       $this->assertEquals(1, count($event_header_row));
 
       // Ensures that all the event listener are listed in the table.
-      /* @var $event_rows \Behat\Mink\Element\NodeElement[] */
+      /** @var \Behat\Mink\Element\NodeElement[] $event_rows */
       $event_rows = $table->findAll('css', sprintf('tbody tr:contains("%s")', $event_name));
       // Remove the header row.
       array_shift($event_rows);
       $this->assertEquals(count($listeners), count($event_rows));
 
       foreach ($listeners as $index => $listener) {
-        /* @var $cells \Behat\Mink\Element\NodeElement[] */
+        /** @var \Behat\Mink\Element\NodeElement[] $cells */
         $cells = $event_rows[$index]->findAll('css', 'td');
         $this->assertEquals(3, count($cells));
 
diff --git a/frontend/drupal9/web/modules/contrib/devel/tests/src/Functional/DevelLayoutInfoTest.php b/frontend/drupal9/web/modules/contrib/devel/tests/src/Functional/DevelLayoutInfoTest.php
index 49332f313..f4253cd79 100644
--- a/frontend/drupal9/web/modules/contrib/devel/tests/src/Functional/DevelLayoutInfoTest.php
+++ b/frontend/drupal9/web/modules/contrib/devel/tests/src/Functional/DevelLayoutInfoTest.php
@@ -52,7 +52,7 @@ class DevelLayoutInfoTest extends DevelBrowserTestBase {
     $this->assertNotNull($table);
 
     // Ensures that the expected table headers are found.
-    /* @var $headers \Behat\Mink\Element\NodeElement[] */
+    /** @var \Behat\Mink\Element\NodeElement[] $headers */
     $headers = $table->findAll('css', 'thead th');
     $this->assertEquals(6, count($headers));
 
diff --git a/frontend/drupal9/web/modules/contrib/devel/tests/src/Functional/DevelRouteInfoTest.php b/frontend/drupal9/web/modules/contrib/devel/tests/src/Functional/DevelRouteInfoTest.php
index 15c35e3d6..9a2a2a3b7 100644
--- a/frontend/drupal9/web/modules/contrib/devel/tests/src/Functional/DevelRouteInfoTest.php
+++ b/frontend/drupal9/web/modules/contrib/devel/tests/src/Functional/DevelRouteInfoTest.php
@@ -36,7 +36,7 @@ class DevelRouteInfoTest extends DevelBrowserTestBase {
     $page = $this->getSession()->getPage();
 
     // Ensures that the expected table headers are found.
-    /* @var $headers \Behat\Mink\Element\NodeElement[] */
+    /** @var \Behat\Mink\Element\NodeElement[] $headers */
     $headers = $page->findAll('css', 'table.devel-route-list thead th');
     $this->assertEquals(4, count($headers));
 
@@ -78,7 +78,7 @@ class DevelRouteInfoTest extends DevelBrowserTestBase {
       $row = $page->find('css', sprintf('table.devel-route-list tbody tr:contains("%s")', $route_name));
       $this->assertNotNull($row);
 
-      /* @var $cells \Behat\Mink\Element\NodeElement[] */
+      /** @var \Behat\Mink\Element\NodeElement[] $cells */
       $cells = $row->findAll('css', 'td');
       $this->assertEquals(4, count($cells));
 
diff --git a/frontend/drupal9/web/modules/contrib/devel/tests/src/Functional/DevelSwitchUserTest.php b/frontend/drupal9/web/modules/contrib/devel/tests/src/Functional/DevelSwitchUserTest.php
index f62cb2704..0ab2a8f01 100644
--- a/frontend/drupal9/web/modules/contrib/devel/tests/src/Functional/DevelSwitchUserTest.php
+++ b/frontend/drupal9/web/modules/contrib/devel/tests/src/Functional/DevelSwitchUserTest.php
@@ -271,7 +271,7 @@ class DevelSwitchUserTest extends DevelBrowserTestBase {
    * @param int $uid
    *   The user ID for which to find a session record.
    *
-   * @TODO find a cleaner way to do this check.
+   * @todo find a cleaner way to do this check.
    */
   protected function assertSessionByUid($uid) {
     $query = \Drupal::database()->select('sessions');
@@ -292,7 +292,7 @@ class DevelSwitchUserTest extends DevelBrowserTestBase {
    * @param int $uid
    *   The user ID to assert.
    *
-   * @TODO find a cleaner way to do this check.
+   * @todo find a cleaner way to do this check.
    */
   protected function assertNoSessionByUid($uid) {
     $query = \Drupal::database()->select('sessions');
diff --git a/frontend/drupal9/web/modules/contrib/devel/tests/src/Functional/DevelWebAssertHelper.php b/frontend/drupal9/web/modules/contrib/devel/tests/src/Functional/DevelWebAssertHelper.php
index 866074633..5a5c36f74 100644
--- a/frontend/drupal9/web/modules/contrib/devel/tests/src/Functional/DevelWebAssertHelper.php
+++ b/frontend/drupal9/web/modules/contrib/devel/tests/src/Functional/DevelWebAssertHelper.php
@@ -25,7 +25,7 @@ trait DevelWebAssertHelper {
     $elements = $this->xpath('//h2[text()="' . $tab_label . '"]/following-sibling::ul//a');
     $this->assertNotEmpty($elements, 'Local tasks not found.');
     foreach ($routes as $index => $route_info) {
-      list($route_name, $route_parameters) = $route_info;
+      [$route_name, $route_parameters] = $route_info;
       $expected = Url::fromRoute($route_name, $route_parameters)->toString();
       $this->assertEquals($expected, $elements[$index]->getAttribute('href'));
     }
diff --git a/frontend/drupal9/web/modules/contrib/devel/tests/src/Kernel/DevelEnforcedDependenciesTest.php b/frontend/drupal9/web/modules/contrib/devel/tests/src/Kernel/DevelEnforcedDependenciesTest.php
index 4a73e7bca..e1b6a9971 100644
--- a/frontend/drupal9/web/modules/contrib/devel/tests/src/Kernel/DevelEnforcedDependenciesTest.php
+++ b/frontend/drupal9/web/modules/contrib/devel/tests/src/Kernel/DevelEnforcedDependenciesTest.php
@@ -36,7 +36,7 @@ class DevelEnforcedDependenciesTest extends KernelTestBase {
    * Tests devel menu enforced dependencies.
    */
   public function testMenuEnforcedDependencies() {
-    /* @var \Drupal\Core\Config\ConfigManagerInterface $config_manager */
+    /** @var \Drupal\Core\Config\ConfigManagerInterface $config_manager */
     $config_manager = $this->container->get('config.manager');
 
     // Ensure that the Devel menu has explicit enforced dependencies on devel
diff --git a/frontend/drupal9/web/modules/contrib/devel/tests/src/Kernel/DevelMailLogTest.php b/frontend/drupal9/web/modules/contrib/devel/tests/src/Kernel/DevelMailLogTest.php
index 26a4d577f..d3d01e4e7 100644
--- a/frontend/drupal9/web/modules/contrib/devel/tests/src/Kernel/DevelMailLogTest.php
+++ b/frontend/drupal9/web/modules/contrib/devel/tests/src/Kernel/DevelMailLogTest.php
@@ -186,7 +186,7 @@ EOF;
    * Configure devel_mail_log as default mail backend.
    */
   private function setDevelMailLogAsDefaultBackend() {
-    // TODO can this be avoided?
+    // @todo can this be avoided?
     // KernelTestBase enforce the usage of 'test_mail_collector' plugin for
     // collect the mails. Since we need to test devel mail plugin we manually
     // configure the mail implementation to use 'devel_mail_log'.
diff --git a/frontend/drupal9/web/modules/contrib/devel/tests/src/Kernel/DevelTwigExtensionTest.php b/frontend/drupal9/web/modules/contrib/devel/tests/src/Kernel/DevelTwigExtensionTest.php
index 90296fdaf..51f061a03 100644
--- a/frontend/drupal9/web/modules/contrib/devel/tests/src/Kernel/DevelTwigExtensionTest.php
+++ b/frontend/drupal9/web/modules/contrib/devel/tests/src/Kernel/DevelTwigExtensionTest.php
@@ -80,7 +80,7 @@ class DevelTwigExtensionTest extends KernelTestBase {
    * Tests that the Twig dump functions are registered properly.
    */
   public function testDumpFunctionsRegistered() {
-    /* @var \Twig_SimpleFunction[] $functions */
+    /** @var \Twig_SimpleFunction[] $functions */
     $functions = \Drupal::service('twig')->getFunctions();
 
     $dump_functions = ['devel_dump', 'kpr'];
@@ -109,7 +109,7 @@ class DevelTwigExtensionTest extends KernelTestBase {
    * Tests that the Twig function for XDebug integration is registered properly.
    */
   public function testXdebugIntegrationFunctionsRegistered() {
-    /* @var \Twig_SimpleFunction $function */
+    /** @var \Twig_SimpleFunction $function */
     $function = \Drupal::service('twig')->getFunction('devel_breakpoint');
     $this->assertTrue($function instanceof \Twig_SimpleFunction);
     $this->assertEquals($function->getName(), 'devel_breakpoint');
@@ -136,7 +136,7 @@ class DevelTwigExtensionTest extends KernelTestBase {
       'twig_object' => new \stdClass(),
     ];
 
-    /* @var \Drupal\Core\Template\TwigEnvironment $environment */
+    /** @var \Drupal\Core\Template\TwigEnvironment $environment */
     $environment = \Drupal::service('twig');
 
     // Ensures that the twig extension does nothing if the current
diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/README.md b/frontend/drupal9/web/modules/contrib/devel/webprofiler/README.md
deleted file mode 100644
index 27f0796ad..000000000
--- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/README.md
+++ /dev/null
@@ -1,86 +0,0 @@
-[[_TOC_]]
-
-#### Dependencies
-- d3.js: Webprofiler module requires D3 library 3.x (not 4.x) to render data.
-- highlight.js: Webprofiler module requires highlight 9.7.x library to syntax highlight collected queries.
-
-#### Install using Composer (recommended)
-If you use Composer to manage dependencies, edit [composer.json](composer.json) as follows:
-
-1. Run `composer require composer/installers` to ensure that you have the `composer/installers` package installed. This package facilitates the installation of packages into directories other than `/vendor` (e.g. `/libraries`) using Composer.
-1. Add the following to the `installer-paths` section of `composer.json`:
-    ```
-    "libraries/{$name}": ["type:drupal-library"],
-    ```
-    When you are using the drupal-composer/drupal-project template add the following instead:
-    ```
-    "web/libraries/{$name}": ["type:drupal-library"],
-    ```
-1. Add the following to the "repositories" section of `composer.json`:
-    ```
-    {
-        "type": "package",
-        "package": {
-            "name": "d3/d3",
-            "version": "v3.5.17",
-            "type": "drupal-library",
-            "source": {
-                "url": "https://github.com/d3/d3.git",
-                "type": "git",
-                "reference": "tags/v3.5.17"
-            }
-        }
-    },
-    {
-        "type": "package",
-        "package": {
-            "name": "highlightjs/highlightjs",
-            "version": "11.2.0",
-            "type": "drupal-library",
-            "source": {
-                "url": "https://github.com/highlightjs/highlight.js.git",
-                "type": "git",
-                "reference": "tags/11.2.0"
-            }
-        }
-    }
-    ```
-1. Run `composer require d3/d3 highlightjs/highlightjs` - you should find that new directories have been created
-under `libraries`
-
-#### Install manually
-
-- d3.js:
-
-  - Create a `/libraries/d3/` directory below your Drupal root directory
-  - Download https://d3js.org/d3.v3.min.js
-  - Rename it to `/libraries/d3/d3.min.js`
-
-  For further details on how to obtain D3.js, see https://github.com/d3/d3/
-
-- highlight.js:
-
-  - Create `/libraries/highlightjs/` directory below your Drupal root directory
-  - Download the library and CSS from http://highlightjs.org into it
-
-#### IDE link
-
-Each class name discovered while profiling (controller class, event class) is specially linked to open the class in
-an IDE. You can configure the URLs for these links to work for your IDE.
-
-- [Sublime text (2 and 3) - macOS](https://github.com/dhoulb/subl)
-- Textmate. Use `txmt://open?url=file://@file&line=@line`
-- PhpStorm. Use `phpstorm://open?file=@file&line=@line`
-
-#### Timeline
-
-It is also possible to collect the time needed to instantiate every single service used in a request.
-
-Add the following two lines to `settings.php` (or, even better, to `settings.local.php`):
-
-    ```
-    $class_loader->addPsr4('Drupal\\webprofiler\\', [ __DIR__ . '/../../modules/contrib/devel/webprofiler/src']);
-    $settings['container_base_class'] = '\Drupal\webprofiler\DependencyInjection\TraceableContainer';
-    ```
-
-Check if the path from the Webprofiler module in your `settings.php` file matches the location of the installed Webprofiler module in your project.
diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/composer.json b/frontend/drupal9/web/modules/contrib/devel/webprofiler/composer.json
deleted file mode 100644
index 3c133f9c0..000000000
--- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/composer.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
-  "name": "drupal/webprofiler",
-  "description": "Drupal Web Profiler.",
-  "type": "drupal-module",
-  "authors": [
-    {
-      "name": "Luca Lusso",
-      "email": "lussoluca@gmail.com",
-      "homepage": "https://github.com/lussoluca",
-      "role": "Maintainer"
-    }
-  ],
-  "license": "GPL-2.0-or-later",
-  "require": {}
-}
diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/config/install/webprofiler.config.yml b/frontend/drupal9/web/modules/contrib/devel/webprofiler/config/install/webprofiler.config.yml
deleted file mode 100644
index 5e8127433..000000000
--- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/config/install/webprofiler.config.yml
+++ /dev/null
@@ -1,28 +0,0 @@
-purge_on_cache_clear: true
-storage: profiler.database_storage
-exclude: "/contextual/*\r\n/toolbar/*\r\n/edit/*\r\n*.js\r\n*.css"
-ide_link: "txmt://open?url=file://@file&line=@line"
-ide_link_remote: ""
-ide_link_local: ""
-active_toolbar_items:
-  devel: devel
-  assets: assets
-  blocks: blocks
-  cache: cache
-  database: database
-  drupal_extension: drupal_extension
-  forms: forms
-  performance_timing: performance_timing
-  php_config: php_config
-  request: request
-  time: time
-  user: user
-  views: views
-  config: '0'
-  events: '0'
-  http: '0'
-  routing: '0'
-  services: '0'
-  state: '0'
-query_sort: source
-query_highlight: 5
diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/config/schema/webprofiler.schema.yml b/frontend/drupal9/web/modules/contrib/devel/webprofiler/config/schema/webprofiler.schema.yml
deleted file mode 100644
index 1adc2f166..000000000
--- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/config/schema/webprofiler.schema.yml
+++ /dev/null
@@ -1,35 +0,0 @@
-# Schema for the configuration files of the Webprofiler module.
-webprofiler.config:
-  type: config_object
-  label: 'Webprofiler configuration'
-  mapping:
-    purge_on_cache_clear:
-      type: boolean
-      label: 'Purge profiles on cache clear'
-    storage:
-      type: string
-      label: 'Storage implementation'
-    exclude:
-      type: string
-      label: 'Paths to exclude'
-    active_toolbar_items:
-      type: sequence
-      label: 'Active toolbar items'
-      sequence:
-        - type: string
-          label: 'Toolbar item'
-    ide_link:
-      type: string
-      label: 'IDE link'
-    ide_link_remote:
-      type: string
-      label: 'IDE link remote path'
-    ide_link_local:
-      type: string
-      label: 'IDE link local path'
-    query_sort:
-      type: string
-      label: 'Sort query log'
-    query_highlight:
-      type: integer
-      label: 'Slow query highlighting'
diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/console.services.yml b/frontend/drupal9/web/modules/contrib/devel/webprofiler/console.services.yml
deleted file mode 100644
index fc662e47d..000000000
--- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/console.services.yml
+++ /dev/null
@@ -1,14 +0,0 @@
-services:
-  webprofiler.list:
-    class: Drupal\webprofiler\Command\ListCommand
-    tags:
-      - { name: drupal.command }
-    lazy: true
-  webprofiler.export:
-    class: Drupal\webprofiler\Command\ExportCommand
-    tags:
-      - { name: drupal.command }
-  webprofiler.benchmark:
-    class: Drupal\webprofiler\Command\BenchmarkCommand
-    tags:
-      - { name: drupal.command }
diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/console/translations/en/webprofiler.benchmark.yml b/frontend/drupal9/web/modules/contrib/devel/webprofiler/console/translations/en/webprofiler.benchmark.yml
deleted file mode 100644
index 3f6da3629..000000000
--- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/console/translations/en/webprofiler.benchmark.yml
+++ /dev/null
@@ -1,20 +0,0 @@
-description: Benchmark an url.
-arguments:
- url: Url to benchmark.
-options:
-  runs: Number of runs.
-  file: Save results as file.
-  cache-rebuild: Rebuild cache before start benchmark.
-messages:
-  not_git: Not in a git repository.
-  error_login: Impossibile to login in the user.
-progress:
-  cache_rebuild: Rebuilding cache...
-  login: Login user...
-  get: Http request...
-  compute_avg: Compute average...
-  compute_median: Compute median...
-  compute_95percentile: Compute 95 percentile...
-  git_hash: Compute GIT hash...
-  yaml: Generate output...
-  done: Done.
diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/console/translations/en/webprofiler.export.yml b/frontend/drupal9/web/modules/contrib/devel/webprofiler/console/translations/en/webprofiler.export.yml
deleted file mode 100644
index e11c8d7dd..000000000
--- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/console/translations/en/webprofiler.export.yml
+++ /dev/null
@@ -1,15 +0,0 @@
-description: Exports Webprofiler profile/s to file.
-arguments:
-  id: Profile id.
-options:
-  directory: Destination directory to store exported file/s.
-messages:
-  success: Succesfully exported to %s
-  exported_count: Exported %s profiles
-  error_writing: Error writing file %s
-  error_no_profile: No profile with id %s
-progress:
-  exporting: Exporting profiles...
-  archive: Create archive...
-  delete_tmp: Delete temp files...
-  done: Done.
diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/console/translations/en/webprofiler.list.yml b/frontend/drupal9/web/modules/contrib/devel/webprofiler/console/translations/en/webprofiler.list.yml
deleted file mode 100644
index c8cb699a3..000000000
--- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/console/translations/en/webprofiler.list.yml
+++ /dev/null
@@ -1,14 +0,0 @@
-description: Lists Webprofiler profiles.
-options:
-  ip: Filter by IP.
-  url: Filter by URL.
-  method: Filter by HTTP method.
-  limit: Limit printed profiles.
-rows:
-  time: D, m/d/Y - H:i:s
-header:
-  token: Token
-  ip: IP
-  method: Method
-  url: URL
-  time: Time
diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/console/translations/es/webprofiler.benchmark.yml b/frontend/drupal9/web/modules/contrib/devel/webprofiler/console/translations/es/webprofiler.benchmark.yml
deleted file mode 100644
index 8ed902ebb..000000000
--- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/console/translations/es/webprofiler.benchmark.yml
+++ /dev/null
@@ -1,20 +0,0 @@
-description: Benchmark una URL.
-arguments:
-  url: Url para efectuar un benchmark.
-options:
-  runs: Número de ejecuciones.
-  file: Guardar los resultados en un archivo.
-  cache-rebuild: Reconstruir cache antes de iniciar el benchmark.
-messages:
-  not_git: No en un repositorio git.
-  error_login: Error ingresando al sistema.
-progress:
-  cache_rebuild: Reconstruyendo cache...
-  login: Ingresando al sistema...
-  get: Solicitud Http...
-  compute_avg: Calculando promedio...
-  compute_median: Calculando media...
-  compute_95percentile: Calculando percentile 95...
-  git_hash: Calculando GIT hash...
-  yaml: Generando salida...
-  done: Terminado.
diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/console/translations/es/webprofiler.export.yml b/frontend/drupal9/web/modules/contrib/devel/webprofiler/console/translations/es/webprofiler.export.yml
deleted file mode 100644
index d7ca92011..000000000
--- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/console/translations/es/webprofiler.export.yml
+++ /dev/null
@@ -1,15 +0,0 @@
-description: Exportar Webprofiler perfil(es) a un archivo.
-arguments:
-  id: Profile id.
-options:
-  directory: Directorio de destiono para almacenar archivo(s) exportados.
-messages:
-  success: Satisfactoriamente exportado en %s
-  exported_count: Exportados %s perfiles
-  error_writing: Error escribiendo el archivo %s
-  error_no_profile: No fue encontrado un perfil con id %s
-progress:
-    exporting: Exportando perfiles...
-    archive: Creando archivos...
-    delete_tmp: Borrando archivos temporales...
-    done: Terminado.
diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/console/translations/es/webprofiler.list.yml b/frontend/drupal9/web/modules/contrib/devel/webprofiler/console/translations/es/webprofiler.list.yml
deleted file mode 100644
index e4635aef1..000000000
--- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/console/translations/es/webprofiler.list.yml
+++ /dev/null
@@ -1,14 +0,0 @@
-description: Listar perfiles Webprofiler.
-options:
-  ip: Filtrar por IP.
-  url: Filtrar por URL.
-  method: Filtrar por método HTTP.
-  limit: Limitar perfiles a mostrar.
-rows:
-  time: D, d/m/Y - H:i:s
-header:
-  token: Token
-  ip: IP
-  method: Método
-  url: URL
-  time: Fecha
diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/css/app/dashboard.css b/frontend/drupal9/web/modules/contrib/devel/webprofiler/css/app/dashboard.css
deleted file mode 100644
index ce74d7d60..000000000
--- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/css/app/dashboard.css
+++ /dev/null
@@ -1,852 +0,0 @@
-/* base themes */
-#webrofiler {
-  overflow: hidden;
-  font-size: 1em;
-  line-height: 1.2;
-  color: rgba(0, 0, 0, 0.7);
-  background-color: #ffffff;
-}
-#webrofiler * {
-  box-sizing: border-box;
-}
-
-#webprofiler {
-  /*
-
-  overview example
-
-  
    -
  • - - - - - - - */ - /* - - general element template - - will be implemented in the next dashboard relase - - this HTML will contain the preview of any single card present inside the dashboard - - - -
    -

    - - -
    -
    text -
    text - - */ } -#webprofiler .tabs:after, -#webprofiler .tabs__tabs:after, -#webprofiler .tabs__panels:after, -#webprofiler .tabs__panel:after, -#webprofiler .resume:after, -#webprofiler .collectors:after, -#webprofiler .panel:after, -#webprofiler .panel__toolbar:after, -#webprofiler .panel__container:after, -#webprofiler .panel__expand-header:after, -#webprofiler .panel__expand-content:after, -#webprofiler .app__bar:after, -#webprofiler .app__container:after, -#webprofiler .modal__bar:after, -#webprofiler .modal__content:after { - content: ' '; - display: block; - clear: both; -} -#webprofiler .panel__container, -#webprofiler .ui--red, -#webprofiler .ui--pink, -#webprofiler .ui--purple, -#webprofiler .ui--deepPurple, -#webprofiler .ui--indigo, -#webprofiler .ui--blue, -#webprofiler .ui--lightBlue, -#webprofiler .ui--cyan, -#webprofiler .ui--teal, -#webprofiler .ui--green, -#webprofiler .ui--lightGreen, -#webprofiler .ui--lime, -#webprofiler .ui--yellow, -#webprofiler .ui--amber, -#webprofiler .ui--orange, -#webprofiler .ui--deepOrange, -#webprofiler .ui--brown, -#webprofiler .ui--gray, -#webprofiler .ui--blueGray, -#webprofiler .modal__container { - box-shadow: 0 2px 4px -2px #000000; - margin-bottom: 40px; - border-bottom-right-radius: 2px; - border-bottom-left-radius: 2px; - overflow: hidden; -} -#webprofiler .ui--red .app__title, -#webprofiler .ui--pink .app__title, -#webprofiler .ui--purple .app__title, -#webprofiler .ui--deepPurple .app__title, -#webprofiler .ui--blue .app__title, -#webprofiler .ui--lightBlue .app__title, -#webprofiler .ui--cyan .app__title, -#webprofiler .ui--green .app__title, -#webprofiler .ui--lightGreen .app__title, -#webprofiler .ui--lime .app__title, -#webprofiler .ui--yellow .app__title, -#webprofiler .ui--amber .app__title, -#webprofiler .ui--orange .app__title, -#webprofiler .ui--deepOrange .app__title, -#webprofiler .ui--brown .app__title { - color: white; -} -#webprofiler .ui--indigo .app__title, -#webprofiler .ui--teal .app__title, -#webprofiler .ui--gray .app__title, -#webprofiler .ui--blueGray .app__title, -#webprofiler .modal__title { - color: rgba(0, 0, 0, 0.87); -} -#webprofiler .ui--red .app__main-data, -#webprofiler .ui--pink .app__main-data, -#webprofiler .ui--purple .app__main-data, -#webprofiler .ui--deepPurple .app__main-data, -#webprofiler .ui--indigo .app__main-data, -#webprofiler .ui--blue .app__main-data, -#webprofiler .ui--lightBlue .app__main-data, -#webprofiler .ui--cyan .app__main-data, -#webprofiler .ui--teal .app__main-data, -#webprofiler .ui--green .app__main-data, -#webprofiler .ui--lightGreen .app__main-data, -#webprofiler .ui--lime .app__main-data, -#webprofiler .ui--yellow .app__main-data, -#webprofiler .ui--amber .app__main-data, -#webprofiler .ui--orange .app__main-data, -#webprofiler .ui--deepOrange .app__main-data, -#webprofiler .ui--brown .app__main-data, -#webprofiler .ui--gray .app__main-data, -#webprofiler .ui--blueGray .app__main-data, -#webprofiler .modal__content { - color: rgba(0, 0, 0, 0.7); -} -#webprofiler .ui--red .app__secondary-data, -#webprofiler .ui--pink .app__secondary-data, -#webprofiler .ui--purple .app__secondary-data, -#webprofiler .ui--deepPurple .app__secondary-data, -#webprofiler .ui--indigo .app__secondary-data, -#webprofiler .ui--blue .app__secondary-data, -#webprofiler .ui--lightBlue .app__secondary-data, -#webprofiler .ui--cyan .app__secondary-data, -#webprofiler .ui--teal .app__secondary-data, -#webprofiler .ui--green .app__secondary-data, -#webprofiler .ui--lightGreen .app__secondary-data, -#webprofiler .ui--lime .app__secondary-data, -#webprofiler .ui--yellow .app__secondary-data, -#webprofiler .ui--amber .app__secondary-data, -#webprofiler .ui--orange .app__secondary-data, -#webprofiler .ui--deepOrange .app__secondary-data, -#webprofiler .ui--brown .app__secondary-data, -#webprofiler .ui--gray .app__secondary-data, -#webprofiler .ui--blueGray .app__secondary-data { - color: rgba(0, 0, 0, 0.3); -} -#webprofiler a { - color: #2979ff; -} -#webprofiler a:hover { - color: #2962ff; - text-decoration: none; -} -#webprofiler .list--unstyled { - margin: 0; - list-style-type: none; - padding: 0; -} -#webprofiler .list--unstyled > li { - display: block; - padding: 0 8px; -} -#webprofiler .list--inline { - margin: 0; - list-style-type: none; - padding: 0; -} -#webprofiler .list--inline > li { - display: inline-block; - padding: 8px; -} -#webprofiler .list--level-0 li { - padding: 0 0 0 0; -} -#webprofiler .list--level-1 li { - padding: 0 0 0 8px; -} -#webprofiler .list--level-3 li { - padding: 0 0 0 16px; -} -#webprofiler pre { - padding: 16px; -} -#webprofiler pre, -#webprofiler code { - white-space: normal; - word-break: break-all; - word-break: break-word; - font-size: 14px; - background-color: #f5f5f5; -} -#webprofiler .list-item--bold { - font-weight: bold; -} -#webprofiler code.code--json { - white-space: pre-wrap; -} -#webprofiler thead { - white-space: nowrap; -} -#webprofiler thead th { - background-color: transparent; -} -#webprofiler th { - font-size: 12px; - color: rgba(0, 0, 0, 0.54); - border: none; -} -#webprofiler td { - word-break: break-all; - font-size: 13px; - color: rgba(0, 0, 0, 0.87); -} -#webprofiler tr { - border-bottom: 1px solid rgba(0, 0, 0, 0.18); -} -#webprofiler tr:hover { - background-color: #eeeeee; -} -#webprofiler td, -#webprofiler th { - padding: 16px 24px; - min-height: 46px; - text-transform: none; - vertical-align: top; -} -#webprofiler .table--compact { - table-layout: fixed; -} -#webprofiler .table--compact td, -#webprofiler .table--compact th { - word-spacing: 99em; -} -#webprofiler .table--fixed { - table-layout: fixed; -} -#webprofiler .table--duo th:first-child, -#webprofiler .table--duo td:first-child { - width: 35%; -} -#webprofiler .table--trio th:first-child, -#webprofiler .table--trio td:first-child { - width: 80%; -} -#webprofiler .table--trio th:nth-child(2), -#webprofiler .table--trio td:nth-child(2), -#webprofiler .table--trio th:nth-child(3), -#webprofiler .table--trio td:nth-child(3) { - width: 10%; -} -#webprofiler [class*="button"] { - display: block; - color: #2979ff; - border-bottom-right-radius: 2px; - border-bottom-left-radius: 2px; - border: none; - text-transform: uppercase; - font-size: 16px; - text-align: center; - padding: 16px; - margin: 8px; - cursor: pointer; - min-width: 42px; -} -#webprofiler .button--flat { - background-color: transparent; -} -#webprofiler .button--flat:hover { - background-color: #eeeeee; -} -#webprofiler .button--flat:active, -#webprofiler .button--flat:focus { - background-color: #bdbdbd; -} -#webprofiler .tabs { - position: relative; - margin: -16px 0 16px 0; -} -#webprofiler .tabs a { - display: inline; -} -#webprofiler .tabs__radio { - display: none; -} -#webprofiler .tabs__tabs { - margin: 0 -16px 16px -16px; - text-transform: uppercase; - height: 48px; - background-color: #f5f5f5; -} -#webprofiler .tabs__tabs > li { - padding: 0; -} -#webprofiler .tabs__label { - border-bottom: 5px solid transparent; - text-align: center; - line-height: 48px; - min-width: 160px; - display: inline-block; - margin: -5px 0 0 0; -} -#webprofiler .tabs__panel { - display: none; - width: 100%; -} -#webprofiler .tabs__radio:checked:nth-child(1) ~ .tabs__panels .tabs__panel:nth-child(1) { - display: block; -} -#webprofiler .tabs__radio:checked:nth-child(2) ~ .tabs__panels .tabs__panel:nth-child(2) { - display: block; -} -#webprofiler .tabs__radio:checked:nth-child(3) ~ .tabs__panels .tabs__panel:nth-child(3) { - display: block; -} -#webprofiler .tabs__radio:checked:nth-child(1) ~ .tabs__tabs li:nth-child(1) .tabs__label { - border-bottom-color: #2962ff; -} -#webprofiler .tabs__radio:checked:nth-child(2) ~ .tabs__tabs li:nth-child(2) .tabs__label { - border-bottom-color: #2962ff; -} -#webprofiler .tabs__radio:checked:nth-child(3) ~ .tabs__tabs li:nth-child(3) .tabs__label { - border-bottom-color: #2962ff; -} -#webprofiler .overview { - display: table-cell; - width: 20%; - vertical-align: top; - font-size: 1.2em; - line-height: 2em; - background: #ffffff; -} -#webprofiler .overview__list { - padding: 0; - margin: -1px -1px 0 0; - list-style-type: none; - border-top: 1px solid rgba(0, 0, 0, 0.18); -} -#webprofiler .overview__link { - position: relative; - display: block; - padding: 0 0 0 72px; - border-right: 5px solid transparent; -} -#webprofiler .overview__link:after { - content: ''; - display: block; - position: absolute; - bottom: 0; - right: -5px; - left: 72px; - border-bottom: 1px solid rgba(0, 0, 0, 0.18); -} -#webprofiler .overview__icon { - position: absolute; - top: 16px; - left: 16px; -} -#webprofiler .overview__title { - display: block; - font-size: 16px; - line-height: 22px; - padding-top: 16px; - padding-bottom: 16px; - padding-right: 11px; -} -#webprofiler .overview__subtitle { - display: block; - font-size: 14px; - line-height: 20px; - padding-bottom: 16px; - padding-right: 11px; - margin-top: -16px; -} -#webprofiler .is--selected .overview__link { - color: #000000; - background-color: #f5f5f5; - border-right-color: #2962ff; -} -#webprofiler .overview__link:hover { - color: #000000; - background-color: #82b1ff; -} -#webprofiler .resume { - position: relative; - background-color: #e0e0e0; - border-bottom: 1px solid rgba(0, 0, 0, 0.18); - border-left: 1px solid rgba(0, 0, 0, 0.18); - padding: 16px 16px 0 16px; - margin-left: 20%; -} -#webprofiler .resume__title { - display: block; - font-size: 24px; - line-height: 32px; -} -#webprofiler .resume__subtitle, -#webprofiler .resume__time { - display: block; - font-size: 16px; - line-height: 24px; -} -#webprofiler .resume__time { - margin-bottom: 52px; -} -#webprofiler .resume__button { - position: absolute; - bottom: 0; - right: 16px; -} -#webprofiler .collectors { - display: table; - width: 100%; -} -#webprofiler .details { - display: table-cell; - overflow: hidden; - padding: 16px; - border-left: 1px solid rgba(0, 0, 0, 0.18); -} -#webprofiler .details__title { - border-bottom: 1px solid #ccc; - padding-bottom: 5px; -} -#webprofiler .details svg { - max-width: 100%; -} -#webprofiler [class*='panel__filter--'] { - display: inline-block; - padding: 32px 16px 0 16px; - position: relative; -} -#webprofiler .panel { - margin: 0 0 20px; - padding: 0; - background: #fafafa; - border: none; -} -#webprofiler .panel select, -#webprofiler .panel input[type="text"] { - min-width: 165px; - font-size: 16px; - background-color: #fafafa; - border-color: transparent; - border-width: 0; - border-bottom: 2px solid #ffffff; - padding: 8px 0; - margin-bottom: 8px; -} -#webprofiler .panel select:focus, -#webprofiler .panel input[type="text"]:focus { - outline: none; - border-bottom-color: #2979ff; -} -#webprofiler .panel select:focus + label, -#webprofiler .panel input[type="text"]:focus + label { - color: #2979ff; -} -#webprofiler .panel select { - min-width: 165px; - padding-right: 24px; - border-radius: 0; - background: url(../../images/caret-down.svg) no-repeat 99% 63%; - -moz-appearance: none; -} -#webprofiler .panel select:hover { - box-shadow: none; -} -#webprofiler .panel__title { - font-size: 24px; - line-height: 1; - background-color: #f5f5f5; - text-transform: none; - padding: 16px; - margin: -16px -16px 16px -16px; -} -#webprofiler .panel__toolbar { - background-color: #fafafa; - margin: -16px -16px 16px -16px; -} -#webprofiler .panel__filter-action { - display: inline-block; -} -#webprofiler .panel__filter-label { - display: block; - position: absolute; - top: 0; - margin-top: 16px; -} -#webprofiler .panel__container { - background-color: #ffffff; - position: relative; - padding: 16px; -} -#webprofiler .panel__expand-content { - display: none; -} -#webprofiler .is--open .panel__expand-content { - display: block; -} -#webprofiler .is--hightlighted { - border-right: 10px solid #aa00ff; - padding-right: 6px; -} -#webprofiler .is--hidden { - display: none; -} -#webprofiler .app { - overflow: hidden; - position: relative; - display: block; - cursor: pointer; -} -#webprofiler .app__bar { - padding: 16px; -} -#webprofiler .app__title { - margin: 8px 32px 0 0; - font-weight: normal; -} -#webprofiler .app__icon { - float: right; - height: 32px; - width: 32px; -} -#webprofiler .app__container { - padding: 16px; -} -#webprofiler .app__main-data { - font-size: 24px; - padding-bottom: 16px; -} -#webprofiler .app__secondary-data { - font-size: 14px; - padding-bottom: 16px; - margin-top: -8px; -} -#webprofiler .ui--red .app__bar { - background-color: #ff1744; -} -#webprofiler .ui--red .app__container { - background-color: #ff8a80; -} -#webprofiler .ui--pink .app__bar { - background-color: #f50057; -} -#webprofiler .ui--pink .app__container { - background-color: #ff80ab; -} -#webprofiler .ui--purple .app__bar { - background-color: #d500f9; -} -#webprofiler .ui--purple .app__container { - background-color: #ea80fc; -} -#webprofiler .ui--deepPurple .app__bar { - background-color: #651fff; -} -#webprofiler .ui--deepPurple .app__container { - background-color: #b388ff; -} -#webprofiler .ui--indigo .app__bar { - background-color: #3d5afe; -} -#webprofiler .ui--indigo .app__container { - background-color: #8c9eff; -} -#webprofiler .ui--blue .app__bar { - background-color: #2979ff; -} -#webprofiler .ui--blue .app__container { - background-color: #82b1ff; -} -#webprofiler .ui--lightBlue .app__bar { - background-color: #00b0ff; -} -#webprofiler .ui--lightBlue .app__container { - background-color: #80d8ff; -} -#webprofiler .ui--cyan .app__bar { - background-color: #00e5ff; -} -#webprofiler .ui--cyan .app__container { - background-color: #84ffff; -} -#webprofiler .ui--teal .app__bar { - background-color: #ade9b6; -} -#webprofiler .ui--teal .app__container { - background-color: #a7ffeb; -} -#webprofiler .ui--green .app__bar { - background-color: #00e676; -} -#webprofiler .ui--green .app__container { - background-color: #b9f6ca; -} -#webprofiler .ui--lightGreen .app__bar { - background-color: #76ff03; -} -#webprofiler .ui--lightGreen .app__container { - background-color: #ccff90; -} -#webprofiler .ui--lime .app__bar { - background-color: #c6ff00; -} -#webprofiler .ui--lime .app__container { - background-color: #f4ff81; -} -#webprofiler .ui--yellow .app__bar { - background-color: #ffea00; -} -#webprofiler .ui--yellow .app__container { - background-color: #ffff8d; -} -#webprofiler .ui--amber .app__bar { - background-color: #ffc400; -} -#webprofiler .ui--amber .app__container { - background-color: #ffe57f; -} -#webprofiler .ui--orange .app__bar { - background-color: #ff9100; -} -#webprofiler .ui--orange .app__container { - background-color: #ffd180; -} -#webprofiler .ui--deepOrange .app__bar { - background-color: #ff3d00; -} -#webprofiler .ui--deepOrange .app__container { - background-color: #ff9e80; -} -#webprofiler .ui--brown .app__bar { - background-color: #8d6e63; -} -#webprofiler .ui--brown .app__container { - background-color: #d7ccc8; -} -#webprofiler .ui--gray .app__bar { - background-color: #bdbdbd; -} -#webprofiler .ui--gray .app__container { - background-color: #f5f5f5; -} -#webprofiler .ui--blueGray .app__bar { - background-color: #bdbdbd; -} -#webprofiler .ui--blueGray .app__container { - background-color: #f5f5f5; -} -#webprofiler .loader--fixed { - position: fixed; - right: 0; - top: 50%; - width: 80%; - height: 100px; - zoom: 1.7; - text-align: center; -} -#webprofiler .loader__circle { - animation: rotate 2s linear infinite; - height: 100px; - position: relative; - width: 100px; -} -#webprofiler .loader__path { - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; - animation: dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite; - stroke-linecap: round; -} -@keyframes rotate { - 100% { - transform: rotate(360deg); -} } -@keyframes dash { - 0% { - stroke-dasharray: 1, 200; - stroke-dashoffset: 0; -} - 50% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -35; -} - 100% { - stroke-dasharray: 89, 200; - stroke-dashoffset: -124; -} } -@keyframes color { - 100%, - 0% { - stroke: #ff1744; -} - 40% { - stroke: #2979ff; -} - 66% { - stroke: #00e676; -} - 80%, - 90% { - stroke: #ffea00; -} } -#webprofiler .loader--linear { - height: 3px; - background-color: #ffea00; - position: absolute; - top: 0; - left: 0; - right: 0; -} -#webprofiler .loader__bar { - content: ""; - display: inline; - position: absolute; - width: 0; - height: 100%; - left: 50%; - text-align: center; -} -#webprofiler .loader__bar:nth-child(1) { - background-color: #ff1744; - animation: loading 3s linear infinite; -} -#webprofiler .loader__bar:nth-child(2) { - background-color: #2979ff; - animation: loading 3s linear 1s infinite; -} -#webprofiler .loader__bar:nth-child(3) { - background-color: #00e676; - animation: loading 3s linear 2s infinite; -} -@keyframes loading { - from { - left: 50%; - width: 0; - z-index: 100; -} - 33.3333% { - left: 0; - width: 100%; - z-index: 10; -} - to { - left: 0; - width: 100%; -} } -#webprofiler .modal { - background-color: rgba(0, 0, 0, 0.87); - position: fixed; - top: 0; - bottom: 0; - left: 0; - right: 0; -} -#webprofiler .modal__container { - border-top-right-radius: 2px; - border-top-left-radius: 2px; - box-shadow: 0 2px 4px -2px #000000; - background-color: #ffffff; - position: relative; - width: 33%; - min-width: 350px; - margin: 0 auto; - margin-top: 15%; -} -#webprofiler .modal__bar { - padding: 16px; -} -#webprofiler .modal__content { - padding: 16px; - font-size: 14px; -} -#webprofiler .modal__title { - margin: 8px 32px 0 0; - font-weight: normal; - font-size: 24px; -} -#webprofiler .modal__main-data { - font-size: 24px; - padding-bottom: 16px; -} -#webprofiler .modal textarea { - white-space: normal; - word-break: break-all; - word-break: break-word; - font-size: 14px; - background-color: #f5f5f5; - max-width: 100%; - height: 320px; - width: 100%; - padding: 16px; - box-sizing: border-box; - border: none; -} -#webprofiler .t--heading, -#webprofiler .tabs__radio:checked:nth-child(1) ~ .tabs__tabs li:nth-child(1) .tabs__label, -#webprofiler .tabs__radio:checked:nth-child(2) ~ .tabs__tabs li:nth-child(2) .tabs__label, -#webprofiler .tabs__radio:checked:nth-child(3) ~ .tabs__tabs li:nth-child(3) .tabs__label, -#webprofiler .overview__title, -#webprofiler .resume__title, -#webprofiler .panel select, -#webprofiler .panel input[type="text"], -#webprofiler .panel__title { - color: black; -} -#webprofiler .t--notice, -#webprofiler .tabs__label, -#webprofiler .overview__subtitle, -#webprofiler .resume__subtitle, -#webprofiler .resume__time, -#webprofiler .panel__filter-label { - color: rgba(0, 0, 0, 0.3); -} -#webprofiler .l-card { - width: 32%; - margin-left: 1%; - margin-right: 1%; - float: left; -} -#webprofiler .l-card:nth-child(3n + 1) { - margin-left: 0; -} -#webprofiler .l-card:nth-child(3n) { - margin-right: 0; -} -#webprofiler .l-left { - float: left; -} -#webprofiler .l-right { - float: right; -} -#webprofiler .h--word-broken { - word-break: break-all; -} -#webprofiler .h--word-intact { - word-break: normal; -} - -/*# sourceMappingURL=dashboard.css.map */ diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/css/timeline.css b/frontend/drupal9/web/modules/contrib/devel/webprofiler/css/timeline.css deleted file mode 100644 index 2cd6f709e..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/css/timeline.css +++ /dev/null @@ -1,106 +0,0 @@ -/** - * Timeline - */ - -.timeline__legends { - font-size: 12px; - line-height: 1.5em; -} - -.timeline__legends span { - border-left-width: 10px; - border-left-style: solid; - padding: 0 10px 0 5px; -} - -.timeline__legends--default { - border-left-color: #e91e63; -} - -.timeline__legends--section { - border-left-color: #3f51b5; -} - -.timeline__legends--event_listener { - border-left-color: #00bcd4; -} - -.timeline__legends--event_listener_loading { - border-left-color: #8bc34a; -} - -.timeline__legends--template { - border-left-color: #ffc107; -} - -.timeline__legends--service { - border-left-color: #795548; -} - -text { - font-size: 12px; - line-height: 20px; - height: 22px; - fill: rgba(0, 0, 0, 0.87); -} -#timeline { - background: white; - margin: 10px 0; - width: 100%; - position: relative; - padding: 0 0 40px 0; -} -.timeline__row, -.timeline__scale--x, -.timeline__label rect { - stroke: rgba(0, 0, 0, 0.18); -} -.timeline__row { - fill: transparent; -} -.timeline__label rect { - fill: white; -} -.timeline__period--default { - fill: #e91e63; -} -.timeline__period--service { - fill: #795548; -} -.timeline__period--section { - fill: #3f51b5; -} -.timeline__period--event_listener { - fill: #00bcd4; -} -.timeline__period--event_listener_loading { - fill: #8bc34a; -} -.timeline__period--template { - fill: #ffc107; -} -.timeline__period-trigger { - fill: transparent; -} -.tooltip { - position: absolute; - padding: 8px; - background: rgb(0,0,0); - background: rgba(0, 0, 0, 0.87); - border-bottom-left-radius: 2px; - border-bottom-right-radius: 2px; - width: 175px; - text-align: center; - display: none; - color: white; -} -.tooltip__title { - display: block; -} -.tooltip__content { - display: block; -} -.axis { - stroke-width: 2px; - fill: none; -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/images/caret-down.svg b/frontend/drupal9/web/modules/contrib/devel/webprofiler/images/caret-down.svg deleted file mode 100644 index 4e48c8c98..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/images/caret-down.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/js/app/collections/collectors.js b/frontend/drupal9/web/modules/contrib/devel/webprofiler/js/app/collections/collectors.js deleted file mode 100644 index ed26836f3..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/js/app/collections/collectors.js +++ /dev/null @@ -1,35 +0,0 @@ -(function ($, Drupal, drupalSettings, Backbone) { - - "use strict"; - - Drupal.webprofiler.collectors.Collectors = Backbone.Collection.extend({ - model: Drupal.webprofiler.models.Collector, - - url: Drupal.url('admin/reports/profiler/view/' + drupalSettings.webprofiler.token + '/collectors'), - - /** - * Unselect all models. - */ - resetSelected: function () { - this.each(function (model) { - model.set({"selected": false}); - }); - }, - - /** - * Select a specific model from the collection. - * - * @param id - * @returns {*} - */ - selectByID: function (id) { - this.resetSelected(); - var collector = this.get(id); - collector.set({"selected": true}); - - return collector.id; - } - }); - -}(jQuery, Drupal, drupalSettings, Backbone)); - diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/js/app/helpers.js b/frontend/drupal9/web/modules/contrib/devel/webprofiler/js/app/helpers.js deleted file mode 100644 index caa8bdb4e..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/js/app/helpers.js +++ /dev/null @@ -1,107 +0,0 @@ -(function (drupalSettings) { - - Drupal.webprofiler.helpers = (function () { - - "use strict"; - - var escapeRx = function escapeRegExp(string) { - return string.replace(/([.*+?^=!:${}()|\[\]\/\\])/g, "\\$1"); - }, - - repl = function replaceAll(string, find, replace) { - if (typeof string != 'string') { - return ''; - } - return string.replace(new RegExp(escapeRx(find), 'g'), replace); - }, - - shortLink = function (clazz) { - if (!clazz) { - return null; - } - clazz = repl(clazz, '/', '\\'); - var parts = clazz.split("\\"), result = [], size = (parts.length - 1); - - _.each(parts, function (item, key) { - if (key < size) { - result.push(item.substring(0, 1)); - } else { - result.push(item); - } - }); - return result.join("\\"); - }, - - abbr = function (clazz) { - if (!clazz) { - return null; - } - - return '' + shortLink(clazz) + ''; - }, - - ideLink = function (file, line) { - if (!file) { - return null; - } - - line = line || 0; - - file = file.replace(drupalSettings.webprofiler.ide_link_remote, drupalSettings.webprofiler.ide_link_local); - - return drupalSettings.webprofiler.ide_link.replace("@file", file).replace("@line", line); - }, - - classLink = function (data) { - var link = ideLink(data['file'], data['line']), clazz = abbr(data['class']), method = data['method'], output = ''; - - output = clazz; - if (method) { - output += '::' + method; - } - - if (link) { - output = '' + output + ''; - } - - return output; - }, - - printTime = function (data, unit) { - unit = unit || 'ms'; - data = Math.round((data + 0.00001) * 100) / 100; - return data + ' ' + unit; - }, - - frm = function (obj, level) { - level = level || 0; - var str = '
      ', prop; - if (typeof obj != 'object') { - return obj; - } - for (prop in obj) { - if (isInt(prop)) { - str += '
    • ' + frm(obj[prop], level + 1) + '
    • '; - } else { - str += '
    • ' + prop + ': ' + frm(obj[prop], level + 1) + '
    • '; - } - } - return str + '
    '; - }, - - isInt = function (value) { - var x; - return isNaN(value) ? !1 : (x = parseFloat(value), (0 | x) === x); - }; - - return { - frm: frm, - ideLink: ideLink, - shortLink: shortLink, - classLink: classLink, - printTime: printTime - } - - })(); - -}(drupalSettings)); diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/js/app/main.js b/frontend/drupal9/web/modules/contrib/devel/webprofiler/js/app/main.js deleted file mode 100644 index d5d71cd42..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/js/app/main.js +++ /dev/null @@ -1,105 +0,0 @@ -(function ($, Drupal, Backbone) { - - "use strict"; - - /** - * Define namespaces. - */ - Drupal.webprofiler = { - views: {}, - models: {}, - collectors: {}, - routers: {} - }; - - Drupal.behaviors.webprofiler = { - attach: function (context) { - var el, - elz, - key, - sel, - value, - select, - selector, - unselected, - filter = [], - - livefilter = function (e) { - el = $(e).attr('id').replace('edit-', ''); - value = $(e).val(); - filter[el] = value.replace('/', '\/'); - selector = []; - unselected = []; - - for (key in filter) { - if (filter[key].length > 0 && filter[key] != ' ') { - select = filter[key].split(' ').filter(Boolean); - for (sel in select) { - selector.push('[data-wp-' + key + ' *= ' + select[sel].toLowerCase() + ']'); - unselected.push('[data-wp-' + key + ']:not([data-wp-' + key + ' *= ' + select[sel].toLowerCase() + '])'); - } - } - else { - selector.push('[data-wp-' + key + ']'); - } - } - for (elz in unselected) { - $(unselected[elz]).addClass('is--hidden'); - } - $(selector.join('')).removeClass('is--hidden'); - }, - - modalFill = function(t,c){ - $('.modal__title').html(t); - $('.modal__main-data').html(c); - }, - - clipboard = function (e, t) { - var clip = e.parent().find(t).get(0), - title = 'Original Code', - content = ''; - - modalFill(title,content); - $('.modal').show(); - }; - - $(context).find('#collectors').once('webprofiler').each(function () { - new Drupal.webprofiler.routers.CollectorsRouter({el: $('#collectors')}); - Backbone.history.start({ - pushState: false - }); - }); - - $(context).find('.js--modal-close').each(function () { - $(this).on('click', function () { - $('.js--modal').hide(); - }); - }); - - $(context).find('.js--live-filter').each(function () { - $(this).on('keyup', function () { - livefilter($(this)); - }); - $(this).on('change', function () { - livefilter($(this)); - }); - }); - - $(context).find('.js--panel-toggle').once('js--panel-toggle').each(function () { - $(this).on('click', function () { - $(this).parent().parent().toggleClass('is--open'); - }); - }); - - $(context).find('.js--clipboard-trigger').once('js--clipboard-trigger').each(function () { - $(this).on('click', function () { - clipboard($(this), '.js--clipboard-target') - } - ); - }); - } - }; - -}(jQuery, Drupal, Backbone)); diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/js/app/models/collector.js b/frontend/drupal9/web/modules/contrib/devel/webprofiler/js/app/models/collector.js deleted file mode 100644 index 483033c47..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/js/app/models/collector.js +++ /dev/null @@ -1,15 +0,0 @@ -(function ($, Drupal, drupalSettings, Backbone) { - - "use strict"; - - Drupal.webprofiler.models.Collector = Backbone.Model.extend({ - idAttribute: 'name', - urlRoot: Drupal.url('admin/reports/profiler/view/' + drupalSettings.webprofiler.token + '/collectors'), - defaults: { - name: "default", - data: [], - selected: false - } - }); - -}(jQuery, Drupal, drupalSettings, Backbone)); diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/js/app/routers/collectors.js b/frontend/drupal9/web/modules/contrib/devel/webprofiler/js/app/routers/collectors.js deleted file mode 100644 index 876f2387e..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/js/app/routers/collectors.js +++ /dev/null @@ -1,48 +0,0 @@ -(function ($, Drupal, drupalSettings, Backbone) { - - "use strict"; - - var collectors = new Drupal.webprofiler.collectors.Collectors(drupalSettings.webprofiler.collectors); - - Drupal.webprofiler.routers.CollectorsRouter = Backbone.Router.extend({ - routes: { - ':id': 'selectCollector' - }, - - /** - * - * @param id - */ - selectCollector: function (id) { - var collectors = this.collectors, layout = this.layout; - - //collectors.resetSelected(); - collectors.selectByID(id); - - var collector = collectors.get(id); - - if (collector.get('data').length != 0) { - layout.setDetails(collector); - } else { - var deferred = collectors.get(id).fetch(); - deferred.done(function () { - layout.setDetails(collector); - }); - } - }, - - /** - * - * @param options - */ - initialize: function (options) { - this.collectors = collectors; - this.layout = Drupal.webprofiler.views.Layout.getInstance({ - el: options.el, - router: this - }); - this.layout.render(); - } - }); - -}(jQuery, Drupal, drupalSettings, Backbone)); diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/js/app/views/collector.js b/frontend/drupal9/web/modules/contrib/devel/webprofiler/js/app/views/collector.js deleted file mode 100644 index 955a36e1b..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/js/app/views/collector.js +++ /dev/null @@ -1,29 +0,0 @@ -(function ($, Drupal, Backbone) { - - "use strict"; - - Drupal.webprofiler.views.CollectorView = Backbone.View.extend({ - tagName: 'li', - template: _.template($("script#collector").html()), - - /** - * - */ - initialize: function () { - _.bindAll(this, "render"); - this.listenTo(this.model, 'change:selected', this.render); - }, - - /** - * - * @returns {Drupal.webprofiler.views.CollectorView} - */ - render: function () { - this.$el.html(this.template(this.model.toJSON())); - this.$el.toggleClass('is--selected', this.model.get('selected')); - return this; - } - - }); - -}(jQuery, Drupal, Backbone)); diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/js/app/views/collectorsList.js b/frontend/drupal9/web/modules/contrib/devel/webprofiler/js/app/views/collectorsList.js deleted file mode 100644 index 8628371cb..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/js/app/views/collectorsList.js +++ /dev/null @@ -1,21 +0,0 @@ -(function ($, Drupal, Backbone) { - - "use strict"; - - Drupal.webprofiler.views.CollectorsList = Backbone.View.extend({ - tagName: 'section', - - /** - * - * @returns {Drupal.webprofiler.views.CollectorsList} - */ - render: function () { - var collectorsView = this.collection.map(function (collector) { - return (new Drupal.webprofiler.views.CollectorView({model: collector})).render().el; - }); - this.$el.html(collectorsView); - return this; - } - }); - -}(jQuery, Drupal, Backbone)); diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/js/app/views/details.js b/frontend/drupal9/web/modules/contrib/devel/webprofiler/js/app/views/details.js deleted file mode 100644 index 709f17ea7..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/js/app/views/details.js +++ /dev/null @@ -1,20 +0,0 @@ -(function ($, Drupal, Backbone) { - - "use strict"; - - Drupal.webprofiler.views.DetailsView = Backbone.View.extend({ - el: '#details', - - /** - * - * @returns {Drupal.webprofiler.views.DetailsView} - */ - render: function () { - var template = _.template($("script#" + this.model.get('name')).html()); - - this.$el.html(template(this.model.toJSON())); - return this; - } - }); - -}(jQuery, Drupal, Backbone)); diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/js/app/views/layout.js b/frontend/drupal9/web/modules/contrib/devel/webprofiler/js/app/views/layout.js deleted file mode 100644 index 6168b3430..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/js/app/views/layout.js +++ /dev/null @@ -1,83 +0,0 @@ -(function ($, Drupal, drupalSettings, Backbone) { - - "use strict"; - - Drupal.webprofiler.views.Layout = Backbone.View.extend({ - template: _.template( - '
    ' + - '
      ' + - '
      ' + - '
      ' + - 'Choose a collector.' + - '
      ' - ), - - /** - * - * @returns {Drupal.webprofiler.views.Layout} - */ - render: function () { - this.$el.html(this.template()); - - if(this.currentDetails) { - this.currentDetails.setElement(this.$('#details')).render(); - } - - this.overview.setElement(this.$('#overview ul')).render(); - return this; - }, - - /** - * - * @param options - */ - initialize: function (options) { - options.router.collectors.on('request', this.beginSync); - options.router.collectors.on('sync', this.finishSync); - - this.overview = new Drupal.webprofiler.views.CollectorsList({ - collection: options.router.collectors, - router: options.router - }); - }, - - /** - * - * @param collector - */ - setDetails: function (collector) { - if (this.currentDetails) this.currentDetails.remove(); - this.currentDetails = new Drupal.webprofiler.views.DetailsView({model: collector}); - this.render(); - Drupal.attachBehaviors(/*this.$el, drupalSettings*/); - }, - - /** - * - */ - beginSync: function () { - $('.loader--fixed').fadeIn({duration: 100}); - }, - - /** - * - */ - finishSync: function () { - $('.loader--fixed').fadeOut({duration: 100}); - } - }); - - var instance; - Drupal.webprofiler.views.Layout.getInstance = function (options) { - if (!instance) { - instance = new Drupal.webprofiler.views.Layout({ - el: options.el, - router: options.router, - collection: options.router.collectors - }); - } - - return instance; - } - -}(jQuery, Drupal, drupalSettings, Backbone)); diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/js/database.js b/frontend/drupal9/web/modules/contrib/devel/webprofiler/js/database.js deleted file mode 100644 index c83013475..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/js/database.js +++ /dev/null @@ -1,69 +0,0 @@ -/** - * @file - * Database panel app. - */ -(function ($, Drupal, drupalSettings) { - - "use strict"; - - Drupal.behaviors.webprofiler_database = { - attach: function (context) { - $(context).find('.js--explain-trigger').once('js--explain-trigger').each(function () { - - $(this).on('click', function () { - var position = $(this).attr('data-wp-queryPosition'), - wrapper = $(this).parent().parent().find('.js--explain-target'), - loader = $(this).parent().parent().find('.js--loader'); - - if (wrapper.html().length === 0) { - - var url = Drupal.url('admin/reports/profiler/database_explain/' + drupalSettings.webprofiler.token + '/' + position); - - loader.show(); - - $.getJSON(url, function (data) { - _.templateSettings.variable = 'rc'; - var template = _.template( - $("#wp-query-explain-template").html() - ); - wrapper.html(template(data)); - loader.hide(); - delete _.templateSettings.variable; - }); - } - wrapper.toggle(); - - }); - }); - - $(context).find('.js--code-toggle').once('js--code-toggle').each(function () { - $(this).on('click', function () { - $(this).parent().find('.js--code-target').find('code').toggleClass('is--hidden'); - }); - }); - - $(context).find('.js--code-toggle--global').once('js--code-toggle--global').each(function () { - $(this).on('click', function () { - - if($(this).hasClass('js--placeholder-visible')){ - $('.js--placeholder-query').addClass('is--hidden'); - $('.js--original-query').removeClass('is--hidden'); - - }else{ - $('.js--placeholder-query').removeClass('is--hidden'); - $('.js--original-query').addClass('is--hidden'); - } - $(this).toggleClass('js--placeholder-visible'); - }); - }); - - if (typeof hljs != "undefined") { - var highlightBlock = (typeof hljs.highlightElement === "function") ? hljs.highlightElement : hljs.highlightBlock; - $('code.sql').each(function (i, block) { - highlightBlock(block); - }); - } - } - } -}) -(jQuery, Drupal, drupalSettings); diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/js/timeline.js b/frontend/drupal9/web/modules/contrib/devel/webprofiler/js/timeline.js deleted file mode 100644 index f550e080e..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/js/timeline.js +++ /dev/null @@ -1,223 +0,0 @@ -/** - * @file - * Timeline panel app. - */ -(function ($, Drupal, drupalSettings, d3) { - - 'use strict'; - - Drupal.behaviors.webprofiler_timeline = { - attach: function (context) { - if (typeof d3 != 'undefined') { - - // data - var data = drupalSettings.webprofiler.time.events; - var parts = []; - var dataL = data.length; - var perL; - var labelW = []; - var rowW; - var scalePadding; - var endTime = parseInt(data[(dataL - 1)].endtime); - var roundTime = Math.ceil(endTime / 1000) * 1000; - var endScale; - - for (var j = 0; j < dataL; j++) { - perL = data[j].periods.length; - for (var k = 0; k < perL; k++) { - parts.push({ - lane: j, - category: data[j].category, - memory: data[j].memory, - name: data[j].name, - start: data[j].periods[k].start, - end: data[j].periods[k].end - }); - } - } - - var tooltipCtrl = function (d, i) { - tooltip.html('memory usage: ' + d.memory + '' + - '' + parseInt(d.start) + 'ms ~ ' + parseInt(d.end) + 'ms'); - tooltip - .style('display', 'block') - .style('left', (d3.event.layerX - 87) + 'px') - .style('top', ((d.lane + 1) * 22) + 'px') - .style('opacity', .9); - }; - - var xscale = d3.scale.linear().domain([0, roundTime]).range([0, 1000]); - d3.select('#timeline').append('svg').attr('height', (dataL + 1) * 22 + 'px').attr('width', '100%').attr('class', 'timeline__canvas'); - - // tooltips - var tooltip = d3.select('#timeline') - .append('div') - .attr('class', 'tooltip'); - - - // Add a rectangle for every data element. - d3.select('.timeline__canvas') - .append('g') - .attr('class', 'timeline__rows') - .attr('x', 0) - .attr('y', 0) - .selectAll('g') - .data(data) - .enter() - .append('rect') - .attr('class', 'timeline__row') - .attr('x', 0) - .attr('y', function (d, i) { - return (i * 22); - }) - .attr('height', 22) - .attr('width', '100%') - .each(function () { - rowW = this.getBoundingClientRect().width; - }); - - // scale - var scale = d3.select('.timeline__canvas') - .append('g') - .attr('class', 'timeline__scale') - .attr('id', 'timeline__scale') - .attr('x', 0) - .attr('y', 0) - .selectAll('g') - .data(data) - .enter() - .append('a') - .attr('xlink:href', function (d) { - return Drupal.webprofiler.helpers.ideLink(d.link); - }) - .attr('class', function (d) { - return 'timeline__label ' + d.category; - }) - .attr('x', xscale(5)) - .attr('y', function (d, i) { - return (((i + 1) * 22) - 5); - }); - - scale.append('title') - .text(function (d) { - return d.name; - }); - - scale.append('text') - .attr('x', xscale(5)) - .attr('y', function (d, i) { - return (((i + 1) * 22) - 5); - }) - .text(function (d) { - return Drupal.webprofiler.helpers.shortLink(d.name); - }) - .each(function (d) { - labelW.push(this.getBoundingClientRect().width); - }); - - scalePadding = Math.max.apply(null, labelW) + 10; - - scale.insert('rect', 'title') - .attr('x', 0) - .attr('y', function (d, i) { - return (i * 22); - }) - .attr('height', 22) - .attr('stroke', 'transparent') - .attr('strokw-width', 1) - .attr('width', scalePadding); - - // times - var events = d3.select('.timeline__canvas') - .insert('g', '.timeline__scale') - .attr('class', 'timeline__parts') - .attr('x', 0) - .attr('y', 0) - .selectAll('g') - .data(parts) - .enter(); - - events.append('rect').attr('class', function (d) { - return 'timeline__period--' + d.category; - }) - .attr('x', function (d) { - return xscale(parseInt(d.start)) + scalePadding; - }) - .attr('y', function (d) { - return d.lane * 22; - }) - .attr('height', 22) - .attr('width', function (d) { - return xscale(Math.max(parseInt(d.end - d.start), 1)); - }); - - events.append('rect') - .attr('class', function (d) { - return 'timeline__period-trigger'; - }) - .attr('x', function (d) { - return xscale(parseInt(d.start)) + scalePadding - 5; - }) - .attr('y', function (d) { - return d.lane * 22; - }) - .attr('height', 22) - .attr('width', function (d) { - return xscale(Math.max(parseInt(d.end - d.start), 1)) + 11; - }) - .on('mouseover', function (d, i) { - tooltipCtrl(d, i); - }) - .on('mouseout', function (d) { - tooltip - .style('display', 'none'); - }); - - // Draw X-axis grid lines - d3.select('.timeline__parts').insert('g', '.timeline__parts') - .selectAll('line') - .data(xscale.ticks(10)) - .enter() - .append('line') - .attr('class', 'timeline__scale--x') - .attr('x1', xscale) - .attr('x2', xscale) - .attr('y1', 0) - .attr('y2', data.length * 22) - .attr('transform', 'translate( ' + scalePadding + ' , 0)'); - - var xAxis = d3.svg.axis().scale(xscale).ticks(10).orient('bottom').tickFormat(function (d) { - return d + ' ms'; - }); - - d3.select('.timeline__parts').insert('g', '.timeline__parts') - .attr('class', 'axis') - .attr('transform', 'translate(' + scalePadding + ', ' + dataL * 22 + ')') - .call(xAxis); - - endScale = xscale(endTime) - rowW - parseInt(scalePadding); - - if (parseInt(xscale(endTime)) > (rowW - parseInt(scalePadding))) { - d3.select('.timeline__canvas') - .call( - d3.behavior.zoom() - .scaleExtent([1, 1]) - .x(xscale) - .on('zoom', function () { - - var t = d3.event.translate; - var tx = t[0]; - - tx = tx > 0 ? 0 : tx; - - tx = tx < endScale ? endScale : tx; - - d3.select('.timeline__parts').attr('transform', 'translate( ' + tx + ' , 0)'); - })); - } - - } - } - }; - -})(jQuery, Drupal, drupalSettings, d3); diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Access/AccessManagerWrapper.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Access/AccessManagerWrapper.php deleted file mode 100644 index 7911e41f5..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Access/AccessManagerWrapper.php +++ /dev/null @@ -1,84 +0,0 @@ -currentUser; - } - $route = $route_match->getRouteObject(); - $checks = $route->getOption('_access_checks') ?: []; - - // Filter out checks which require the incoming request. - if (!isset($request)) { - $checks = array_diff($checks, $this->checkProvider->getChecksNeedRequest()); - } - - $result = AccessResult::neutral(); - if (!empty($checks)) { - $arguments_resolver = $this->argumentsResolverFactory->getArgumentsResolver($route_match, $account, $request); - - if (!$checks) { - return AccessResult::neutral(); - } - $result = AccessResult::allowed(); - foreach ($checks as $service_id) { - $result = $result->andIf($this->performCheck($service_id, $arguments_resolver, $request)); - } - } - return $return_as_object ? $result : $result->isAllowed(); - } - - /** - * {@inheritdoc} - */ - protected function performCheck($service_id, ArgumentsResolverInterface $arguments_resolver, Request $request = NULL) { - $callable = $this->checkProvider->loadCheck($service_id); - $arguments = $arguments_resolver->getArguments($callable); - /** @var \Drupal\Core\Access\AccessResultInterface $service_access **/ - $service_access = call_user_func_array($callable, $arguments); - - if (!$service_access instanceof AccessResultInterface) { - throw new AccessException("Access error in $service_id. Access services must return an object that implements AccessResultInterface."); - } - - if ($request) { - $this->dataCollector->addAccessCheck($service_id, $callable, $request); - } - - return $service_access; - } - - /** - * @param \Drupal\webprofiler\DataCollector\RequestDataCollector $dataCollector - */ - public function setDataCollector(RequestDataCollector $dataCollector) { - $this->dataCollector = $dataCollector; - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Asset/CssCollectionRendererWrapper.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Asset/CssCollectionRendererWrapper.php deleted file mode 100644 index 66b74920b..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Asset/CssCollectionRendererWrapper.php +++ /dev/null @@ -1,41 +0,0 @@ -assetCollectionRenderer = $assetCollectionRenderer; - $this->dataCollector = $dataCollector; - } - - /** - * {@inheritdoc} - */ - public function render(array $css_assets) { - $this->dataCollector->addCssAsset($css_assets); - - return $this->assetCollectionRenderer->render($css_assets); - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Asset/JsCollectionRendererWrapper.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Asset/JsCollectionRendererWrapper.php deleted file mode 100644 index 98cd3fefd..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Asset/JsCollectionRendererWrapper.php +++ /dev/null @@ -1,41 +0,0 @@ -assetCollectionRenderer = $assetCollectionRenderer; - $this->dataCollector = $dataCollector; - } - - /** - * {@inheritdoc} - */ - public function render(array $js_assets) { - $this->dataCollector->addJsAsset($js_assets); - - return $this->assetCollectionRenderer->render($js_assets); - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Cache/CacheBackendWrapper.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Cache/CacheBackendWrapper.php deleted file mode 100644 index 4050b4103..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Cache/CacheBackendWrapper.php +++ /dev/null @@ -1,176 +0,0 @@ -cacheDataCollector = $cacheDataCollector; - $this->cacheBackend = $cacheBackend; - $this->bin = $bin; - } - - /** - * {@inheritdoc} - */ - public function get($cid, $allow_invalid = FALSE) { - $cache = $this->cacheBackend->get($cid, $allow_invalid); - - if ($cache) { - $cacheCopy = new \stdClass(); - $cacheCopy->cid = $cache->cid; - $cacheCopy->expire = $cache->expire; - $cacheCopy->tags = $cache->tags; - - $this->cacheDataCollector->registerCacheHit($this->bin, $cacheCopy); - } - else { - $this->cacheDataCollector->registerCacheMiss($this->bin, $cid); - } - - return $cache; - } - - /** - * {@inheritdoc} - */ - public function getMultiple(&$cids, $allow_invalid = FALSE) { - $cidsCopy = $cids; - $cache = $this->cacheBackend->getMultiple($cids, $allow_invalid); - - foreach ($cidsCopy as $cid) { - if (in_array($cid, $cids)) { - $this->cacheDataCollector->registerCacheMiss($this->bin, $cid); - } - else { - $cacheCopy = new \stdClass(); - $cacheCopy->cid = $cache[$cid]->cid; - $cacheCopy->expire = $cache[$cid]->expire; - $cacheCopy->tags = $cache[$cid]->tags; - - $this->cacheDataCollector->registerCacheHit($this->bin, $cacheCopy); - } - } - - return $cache; - } - - /** - * {@inheritdoc} - */ - public function set($cid, $data, $expire = Cache::PERMANENT, array $tags = []) { - return $this->cacheBackend->set($cid, $data, $expire, $tags); - } - - /** - * {@inheritdoc} - */ - public function setMultiple(array $items) { - return $this->cacheBackend->setMultiple($items); - } - - /** - * {@inheritdoc} - */ - public function delete($cid) { - return $this->cacheBackend->delete($cid); - } - - /** - * {@inheritdoc} - */ - public function deleteMultiple(array $cids) { - return $this->cacheBackend->deleteMultiple($cids); - } - - /** - * {@inheritdoc} - */ - public function deleteAll() { - return $this->cacheBackend->deleteAll(); - } - - /** - * {@inheritdoc} - */ - public function invalidate($cid) { - return $this->cacheBackend->invalidate($cid); - } - - /** - * {@inheritdoc} - */ - public function invalidateMultiple(array $cids) { - return $this->cacheBackend->invalidateMultiple($cids); - } - - /** - * {@inheritdoc} - */ - public function invalidateTags(array $tags) { - if ($this->cacheBackend instanceof CacheTagsInvalidatorInterface) { - $this->cacheBackend->invalidateTags($tags); - } - } - - /** - * {@inheritdoc} - */ - public function invalidateAll() { - return $this->cacheBackend->invalidateAll(); - } - - /** - * {@inheritdoc} - */ - public function garbageCollection() { - return $this->cacheBackend->garbageCollection(); - } - - /** - * {@inheritdoc} - */ - public function removeBin() { - return $this->cacheBackend->removeBin(); - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Cache/CacheFactoryWrapper.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Cache/CacheFactoryWrapper.php deleted file mode 100644 index d37e8941b..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Cache/CacheFactoryWrapper.php +++ /dev/null @@ -1,62 +0,0 @@ -cacheFactory = $cache_factory; - $this->cacheDataCollector = $cacheDataCollector; - } - - /** - * {@inheritdoc} - */ - public function get($bin) { - if (!isset($this->cacheBackends[$bin])) { - $cache_backend = $this->cacheFactory->get($bin); - $this->cacheBackends[$bin] = new CacheBackendWrapper($this->cacheDataCollector, $cache_backend, $bin); - } - return $this->cacheBackends[$bin]; - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Command/BenchmarkCommand.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Command/BenchmarkCommand.php deleted file mode 100644 index ab6dc25e9..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Command/BenchmarkCommand.php +++ /dev/null @@ -1,312 +0,0 @@ -setName('webprofiler:benchmark') - ->setDescription($this->trans('commands.webprofiler.benchmark.description')) - ->addArgument('url', InputArgument::REQUIRED, $this->trans('commands.webprofiler.benchmark.arguments.url')) - ->addOption('runs', NULL, InputOption::VALUE_REQUIRED, $this->trans('commands.webprofiler.benchmark.options.runs'), 100) - ->addOption('file', NULL, InputOption::VALUE_REQUIRED, $this->trans('commands.webprofiler.benchmark.options.file')) - ->addOption('cache-rebuild', 'cr', InputOption::VALUE_NONE, $this->trans('commands.webprofiler.benchmark.options.cache_rebuild')); - } - - /** - * {@inheritdoc} - */ - protected function execute(InputInterface $input, OutputInterface $output) { - $runs = $input->getOption('runs'); - $file = $input->getOption('file'); - $cache_rebuild = $input->getOption('cache-rebuild'); - - // http://username:password@hostname/ - $url = $input->getArgument('url'); - $url_components = parse_url($url); - $login = isset($url_components['user']) && isset($url_components['pass']); - - $steps = 3; - - if ($cache_rebuild) { - $steps++; - } - - if ($login) { - $steps++; - } - - /** @var \Drupal\Core\Http\Client $client */ - $client = $this->container->get('http_client'); - - $progress = new ProgressBar($output, $runs + $steps); - $progress->setFormat(' %current%/%max% [%bar%] %percent:3s%% %message%'); - - if ($cache_rebuild) { - $progress->setMessage($this->trans('commands.webprofiler.benchmark.progress.cache_rebuild')); - $this->RebuildCache(); - $progress->advance(); - } - - if ($login) { - $progress->setMessage($this->trans('commands.webprofiler.benchmark.progress.login')); - $login_url = "{$url_components['scheme']}://{$url_components['host']}/user/login"; - - // Enable cookies storage. - $cookieJar = new CookieJar(); - $client->setDefaultOption('cookies', $cookieJar); - - // Retrieve a form_build_id using the DomCrawler component. - $response = $client->get($login_url)->getBody()->getContents(); - $crawler = new Crawler($response); - $form_build_id = $crawler->filter('#user-login-form input[name=form_build_id]') - ->attr('value'); - $op = $crawler->filter('#user-login-form input[name=op]')->attr('value'); - - // Login a user. - $response = $client->post($login_url, [ - 'body' => [ - 'name' => $url_components['user'], - 'pass' => $url_components['pass'], - 'form_build_id' => $form_build_id, - 'form_id' => 'user_login_form', - 'op' => $op, - ], - ]); - $progress->advance(); - - if ($response->getStatusCode() != 200) { - throw new \Exception($this->trans('commands.webprofiler.benchmark.messages.error_login')); - } - } - - $datas = []; - for ($i = 0; $i < $runs; $i++) { - $progress->setMessage($this->trans('commands.webprofiler.benchmark.progress.get')); - $datas[] = $this->getData($client, $url); - $progress->advance(); - } - - $progress->setMessage($this->trans('commands.webprofiler.benchmark.progress.compute_avg')); - $avg = $this->computeAvg($datas); - $progress->advance(); - - $progress->setMessage($this->trans('commands.webprofiler.benchmark.progress.compute_median')); - $median = $this->computePercentile($datas, 50); - $progress->advance(); - - $progress->setMessage($this->trans('commands.webprofiler.benchmark.progress.compute_95percentile')); - $percentile95 = $this->computePercentile($datas, 95); - $progress->advance(); - - $progress->setMessage($this->trans('commands.webprofiler.benchmark.progress.git_hash')); - $gitHash = $this->getGitHash(); - $progress->advance(); - - $progress->setMessage($this->trans('commands.webprofiler.benchmark.progress.yaml')); - $yaml = $this->generateYaml($gitHash, $runs, $url, $avg, $median, $percentile95); - $progress->advance(); - - $progress->setMessage($this->trans('commands.webprofiler.benchmark.progress.done')); - $progress->finish(); - $output->writeln(''); - - if ($file) { - file_put_contents($file, $yaml); - } - else { - $output->writeln($yaml); - } - - } - - /** - * @param \GuzzleHttp\ClientInterface $client - * @param $url - * - * @return array - */ - private function getData(ClientInterface $client, $url) { - /** @var \GuzzleHttp\Message\ResponseInterface $response */ - $response = $client->get($url); - - $token = $response->getHeader('X-Debug-Token'); - - /** @var \Drupal\webprofiler\Profiler\Profiler $profiler */ - $profiler = $this->container->get('profiler'); - - /** @var \Symfony\Component\HttpKernel\Profiler\Profile $profile */ - $profile = $profiler->loadProfile($token); - - /** @var \Drupal\webprofiler\DataCollector\TimeDataCollector $timeDataCollector */ - $timeDataCollector = $profile->getCollector('time'); - - return new BenchmarkData( - $token, - $timeDataCollector->getMemory(), - $timeDataCollector->getDuration()); - } - - /** - * @param \Drupal\webprofiler\Command\BenchmarkData[] $datas - * - * @return \Drupal\webprofiler\Command\BenchmarkData - */ - private function computeAvg($datas) { - $profiles = count($datas); - $totalTime = 0; - $totalMemory = 0; - - foreach ($datas as $data) { - $totalTime += $data->getTime(); - $totalMemory += $data->getMemory(); - } - - return new BenchmarkData(NULL, $totalMemory / $profiles, $totalTime / $profiles); - } - - /** - * Computes percentile using The Nearest Rank method. - * - * @param \Drupal\webprofiler\Command\BenchmarkData[] $datas - * @param $percentile - * - * @return \Drupal\webprofiler\Command\BenchmarkData - * - * @throws \Exception - */ - private function computePercentile($datas, $percentile) { - if ($percentile < 0 || $percentile > 100) { - throw new \Exception('Percentile has to be between 0 and 100'); - } - - $profiles = count($datas); - - $n = ceil((($percentile / 100) * $profiles)); - $index = (int) $n - 1; - - $orderedTime = $datas; - $this->getOrderedDatas($orderedTime, 'Time'); - - $orderedMemory = $datas; - $this->getOrderedDatas($orderedMemory, 'Memory'); - - return new BenchmarkData(NULL, $orderedMemory[$index]->getMemory(), $orderedTime[$index]->getTime()); - } - - /** - * @return string - */ - private function getGitHash() { - try { - $process = new Process('git rev-parse HEAD'); - $process->setTimeout(3600); - $process->run(); - $git_hash = $process->getOutput(); - } - catch (\Exception $e) { - $git_hash = $this->trans('commands.webprofiler.benchmark.messages.not_git'); - } - - return $git_hash; - } - - /** - * @param \Drupal\webprofiler\Command\BenchmarkData[] $datas - * @param $string - * - * @return array - */ - private function getOrderedDatas(&$datas, $string) { - usort($datas, function ($a, $b) use ($string) { - $method = 'get' . $string; - if ($a->{$method} > $b->{$method}) { - return 1; - } - if ($a->{$method} < $b->{$method}) { - return -1; - } - return 0; - }); - } - - /** - * Rebuilds Drupal cache. - */ - protected function RebuildCache() { - require_once DRUPAL_ROOT . '/core/includes/utility.inc'; - $kernelHelper = $this->getHelper('kernel'); - $classLoader = $kernelHelper->getClassLoader(); - $request = $kernelHelper->getRequest(); - drupal_rebuild($classLoader, $request); - } - - /** - * @param $gitHash - * @param $runs - * @param $url - * @param \Drupal\webprofiler\Command\BenchmarkData $avg - * @param \Drupal\webprofiler\Command\BenchmarkData $median - * @param \Drupal\webprofiler\Command\BenchmarkData $percentile95 - * - * @return string - */ - private function generateYaml($gitHash, $runs, $url, BenchmarkData $avg, BenchmarkData $median, BenchmarkData $percentile95) { - $yaml = Yaml::dump([ - 'date' => date($this->trans('commands.webprofiler.list.rows.time'), time()), - 'git_commit' => $gitHash, - 'number_of_runs' => $runs, - 'url' => $url, - 'results' => [ - 'average' => [ - 'time' => sprintf('%.0f ms', $avg->getTime()), - 'memory' => sprintf('%.1f MB', $avg->getMemory() / 1024 / 1024), - ], - 'median' => [ - 'time' => sprintf('%.0f ms', $median->getTime()), - 'memory' => sprintf('%.1f MB', $median->getMemory() / 1024 / 1024), - ], - '95_percentile' => [ - 'time' => sprintf('%.0f ms', $percentile95->getTime()), - 'memory' => sprintf('%.1f MB', $percentile95->getMemory() / 1024 / 1024), - ], - ], - ]); - return $yaml; - } - - /** - * {@inheritdoc} - */ - public function showMessage($output, $message, $type = 'info') { - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Command/BenchmarkData.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Command/BenchmarkData.php deleted file mode 100644 index 38f9f08b8..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Command/BenchmarkData.php +++ /dev/null @@ -1,57 +0,0 @@ -token = $token; - $this->memory = $memory; - $this->time = $time; - } - - /** - * @return mixed - */ - public function getToken() { - return $this->token; - } - - /** - * @return mixed - */ - public function getMemory() { - return $this->memory; - } - - /** - * @return mixed - */ - public function getTime() { - return $this->time; - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Command/ExportCommand.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Command/ExportCommand.php deleted file mode 100644 index c21def2eb..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Command/ExportCommand.php +++ /dev/null @@ -1,164 +0,0 @@ -setName('webprofiler:export') - ->setDescription($this->trans('commands.webprofiler.export.description')) - ->addArgument('id', InputArgument::OPTIONAL, $this->trans('commands.webprofiler.export.arguments.id')) - ->addOption('directory', NULL, InputOption::VALUE_REQUIRED, $this->trans('commands.webprofiler.export.options.directory'), '/tmp'); - } - - /** - * {@inheritdoc} - */ - protected function execute(InputInterface $input, OutputInterface $output) { - $id = $input->getArgument('id'); - $directory = $input->getOption('directory'); - - /** @var \Drupal\webprofiler\Profiler\Profiler $profiler */ - $profiler = $this->container->get('profiler'); - - try { - if ($id) { - $this->filename = $this->exportSingle($profiler, $id, $directory); - } - else { - $this->filename = $this->exportAll($profiler, $directory, $output); - } - - } - catch (\Exception $e) { - $output->writeln('' . $e->getMessage() . ''); - } - } - - /** - * Exports a single profile. - * - * @param \Drupal\webprofiler\Profiler\Profiler $profiler - * @param int $id - * @param string $directory - * - * @return string - * - * @throws \Exception - */ - private function exportSingle(Profiler $profiler, $id, $directory) { - $profile = $profiler->loadProfile($id); - if ($profile) { - $data = $profiler->export($profile); - - $filename = $directory . DIRECTORY_SEPARATOR . $id . '.txt'; - if (file_put_contents($filename, $data) === FALSE) { - throw new \Exception(sprintf( - $this->trans('commands.webprofiler.export.messages.error_writing'), - $filename)); - } - } - else { - throw new \Exception(sprintf( - $this->trans('commands.webprofiler.export.messages.error_no_profile'), - $id)); - } - - return $filename; - } - - /** - * Exports all stored profiles (cap limit at 1000 items). - * - * @param \Drupal\webprofiler\Profiler\Profiler $profiler - * @param string $directory - * @param \Symfony\Component\Console\Output\OutputInterface $output - * - * @return string - */ - private function exportAll(Profiler $profiler, $directory, $output) { - $filename = $directory . DIRECTORY_SEPARATOR . 'profiles_' . time() . '.tar.gz'; - $archiver = new ArchiveTar($filename, 'gz'); - $profiles = $profiler->find(NULL, NULL, 1000, NULL, '', ''); - $progress = new ProgressBar($output, count($profiles) + 2); - $progress->setFormat(' %current%/%max% [%bar%] %percent:3s%% %message%'); - - $files = []; - $progress->start(); - $progress->setMessage($this->trans('commands.webprofiler.export.progress.exporting')); - foreach ($profiles as $profile) { - $data = $profiler->export($profiler->loadProfile($profile['token'])); - $profileFilename = $directory . "/{$profile['token']}.txt"; - file_put_contents($profileFilename, $data); - $files[] = $profileFilename; - $progress->advance(); - } - - $progress->setMessage($this->trans('commands.webprofiler.export.progress.archive')); - $archiver->createModify($files, '', $directory); - $progress->advance(); - - $progress->setMessage($this->trans('commands.webprofiler.export.progress.delete_tmp')); - foreach ($files as $file) { - unlink($file); - } - $progress->advance(); - - $progress->setMessage($this->trans('commands.webprofiler.export.progress.done')); - $progress->finish(); - $output->writeln(''); - - $output->writeln(sprintf( - $this->trans('commands.webprofiler.export.messages.exported_count'), - count($profiles))); - - return $filename; - } - - /** - * {@inheritdoc} - */ - public function showMessage($output, $message, $type = 'info') { - if (!$this->filename) { - return; - } - - $completeMessageKey = 'commands.webprofiler.export.messages.success'; - $completeMessage = sprintf($this->trans($completeMessageKey), $this->filename); - - if ($completeMessage != $completeMessageKey) { - parent::showMessage($output, $completeMessage); - } - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Command/ListCommand.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Command/ListCommand.php deleted file mode 100644 index 7957ace79..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Command/ListCommand.php +++ /dev/null @@ -1,83 +0,0 @@ -setName('webprofiler:list') - ->setDescription($this->trans('commands.webprofiler.list.description')) - ->addOption('ip', NULL, InputOption::VALUE_REQUIRED, $this->trans('commands.webprofiler.list.options.ip'), NULL) - ->addOption('url', NULL, InputOption::VALUE_REQUIRED, $this->trans('commands.webprofiler.list.options.url'), NULL) - ->addOption('method', NULL, InputOption::VALUE_REQUIRED, $this->trans('commands.webprofiler.list.options.method'), NULL) - ->addOption('limit', NULL, InputOption::VALUE_REQUIRED, $this->trans('commands.webprofiler.list.options.limit'), 10); - } - - /** - * {@inheritdoc} - */ - protected function execute(InputInterface $input, OutputInterface $output) { - $ip = $input->getOption('ip'); - $url = $input->getOption('url'); - $method = $input->getOption('method'); - $limit = $input->getOption('limit'); - - /** @var \Drupal\webprofiler\Profiler\Profiler $profiler */ - $profiler = $this->container->get('profiler'); - $profiles = $profiler->find($ip, $url, $limit, $method, '', ''); - - $rows = []; - foreach ($profiles as $profile) { - $row = []; - - $row[] = $profile['token']; - $row[] = $profile['ip']; - $row[] = $profile['method']; - $row[] = $profile['url']; - $row[] = date($this->trans('commands.webprofiler.list.rows.time'), $profile['time']); - - $rows[] = $row; - } - - $table = new Table($output); - $table - ->setHeaders([ - $this->trans('commands.webprofiler.list.header.token'), - $this->trans('commands.webprofiler.list.header.ip'), - $this->trans('commands.webprofiler.list.header.method'), - $this->trans('commands.webprofiler.list.header.url'), - $this->trans('commands.webprofiler.list.header.time'), - ]) - ->setRows($rows); - $table->render(); - } - - /** - * {@inheritdoc} - */ - public function showMessage($output, $message, $type = 'info') { - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Compiler/DecoratorPass.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Compiler/DecoratorPass.php deleted file mode 100644 index be4f8f1ed..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Compiler/DecoratorPass.php +++ /dev/null @@ -1,34 +0,0 @@ -findDefinition('plugin.manager.mail'); - $definition->setPublic(FALSE); - $container->setDefinition('webprofiler.debug.plugin.manager.mail.default', $definition); - $container->register('plugin.manager.mail', 'Drupal\webprofiler\Mail\MailManagerWrapper') - ->addArgument(new Reference('container.namespaces')) - ->addArgument(new Reference('cache.discovery')) - ->addArgument(new Reference('module_handler')) - ->addArgument(new Reference('config.factory')) - ->addArgument(new Reference('logger.factory')) - ->addArgument(new Reference('string_translation')) - ->addArgument(new Reference('webprofiler.debug.plugin.manager.mail.default')) - ->addArgument(new Reference('webprofiler.mail')) - ->setProperty('_serviceId', 'plugin.manager.mail'); - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Compiler/ProfilerPass.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Compiler/ProfilerPass.php deleted file mode 100644 index 8aeff4367..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Compiler/ProfilerPass.php +++ /dev/null @@ -1,65 +0,0 @@ -hasDefinition('profiler')) { - return; - } - - $definition = $container->getDefinition('profiler'); - - $collectors = new \SplPriorityQueue(); - $order = PHP_INT_MAX; - foreach ($container->findTaggedServiceIds('data_collector') as $id => $attributes) { - $priority = isset($attributes[0]['priority']) ? $attributes[0]['priority'] : 0; - $template = NULL; - - if (isset($attributes[0]['template'])) { - if (!isset($attributes[0]['id'])) { - throw new \InvalidArgumentException(sprintf('Data collector service "%s" must have an id attribute in order to specify a template', $id)); - } - if (!isset($attributes[0]['title'])) { - throw new \InvalidArgumentException(sprintf('Data collector service "%s" must have a title attribute', $id)); - } - - $template = [ - $attributes[0]['id'], - $attributes[0]['template'], - $attributes[0]['title'], - ]; - } - - $collectors->insert([$id, $template], [-$priority, --$order]); - } - - $templates = []; - foreach ($collectors as $collector) { - $definition->addMethodCall('add', [new Reference($collector[0])]); - $templates[$collector[0]] = $collector[1]; - } - - $container->setParameter('data_collector.templates', $templates); - - // Set parameter to store the public folder path. - $path = 'file:' . DRUPAL_ROOT . '/' . PublicStream::basePath() . '/profiler'; - $container->setParameter('data_collector.storage', $path); - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Compiler/ServicePass.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Compiler/ServicePass.php deleted file mode 100644 index 00c2617a0..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Compiler/ServicePass.php +++ /dev/null @@ -1,109 +0,0 @@ -hasDefinition('webprofiler.services')) { - return; - } - - $definition = $container->getDefinition('webprofiler.services'); - $graph = $container->getCompiler()->getServiceReferenceGraph(); - - $definition->addMethodCall('setServices', [$this->extractData($container, $graph)]); - } - - /** - * @param \Symfony\Component\DependencyInjection\ContainerBuilder $container - * @param \Symfony\Component\DependencyInjection\Compiler\ServiceReferenceGraph $graph - * - * @return array - */ - private function extractData(ContainerBuilder $container, ServiceReferenceGraph $graph) { - $data = []; - - foreach ($container->getDefinitions() as $id => $definition) { - $inEdges = []; - $outEdges = []; - - if ($graph->hasNode($id)) { - $node = $graph->getNode($id); - - /** @var \Symfony\Component\DependencyInjection\Compiler\ServiceReferenceGraphEdge $edge */ - foreach ($node->getInEdges() as $edge) { - /** @var \Symfony\Component\DependencyInjection\Reference $edgeValue */ - $edgeValue = $edge->getValue(); - - $inEdges[] = [ - 'id' => $edge->getSourceNode()->getId(), - 'invalidBehavior' => $edgeValue ? $edgeValue->getInvalidBehavior() : NULL, - ]; - } - - /** @var \Symfony\Component\DependencyInjection\Compiler\ServiceReferenceGraphEdge $edge */ - foreach ($node->getOutEdges() as $edge) { - /** @var \Symfony\Component\DependencyInjection\Reference $edgeValue */ - $edgeValue = $edge->getValue(); - - $outEdges[] = [ - 'id' => $edge->getDestNode()->getId(), - 'invalidBehavior' => $edgeValue ? $edgeValue->getInvalidBehavior() : NULL, - ]; - } - } - - if ($definition instanceof Definition) { - $class = $definition->getClass(); - - try { - $reflectedClass = new \ReflectionClass($class); - $file = $reflectedClass->getFileName(); - } - catch (\ReflectionException $e) { - $file = NULL; - } - - $tags = $definition->getTags(); - $public = $definition->isPublic(); - $synthetic = $definition->isSynthetic(); - } - else { - $id = $definition->__toString(); - $class = NULL; - $file = NULL; - $tags = []; - $public = NULL; - $synthetic = NULL; - } - - $data[$id] = [ - 'inEdges' => $inEdges, - 'outEdges' => $outEdges, - 'value' => [ - 'class' => $class, - 'file' => $file, - 'id' => $id, - 'tags' => $tags, - 'public' => $public, - 'synthetic' => $synthetic, - ], - ]; - } - - return $data; - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Compiler/StoragePass.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Compiler/StoragePass.php deleted file mode 100644 index 2acbe758c..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Compiler/StoragePass.php +++ /dev/null @@ -1,33 +0,0 @@ -hasDefinition('profiler.storage_manager')) { - return; - } - - $definition = $container->getDefinition('profiler.storage_manager'); - - foreach ($container->findTaggedServiceIds('webprofiler_storage') as $id => $attributes) { - $definition->addMethodCall('addStorage', [ - $id, - $attributes[0]['title'], - new Reference($id), - ]); - } - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Config/ConfigFactoryWrapper.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Config/ConfigFactoryWrapper.php deleted file mode 100644 index a9259b3c9..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Config/ConfigFactoryWrapper.php +++ /dev/null @@ -1,45 +0,0 @@ -dataCollector->addConfigName($name); - return $result; - } - - /** - * {@inheritdoc} - */ - public function loadMultiple(array $names) { - $result = parent::loadMultiple($names); - foreach (array_keys($result) as $name) { - $this->dataCollector->addConfigName($name); - } - return $result; - } - - /** - * @param \Drupal\webprofiler\DataCollector\ConfigDataCollector $dataCollector - */ - public function setDataCollector(ConfigDataCollector $dataCollector) { - $this->dataCollector = $dataCollector; - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Controller/DashboardController.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Controller/DashboardController.php deleted file mode 100644 index d1bb0bedc..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Controller/DashboardController.php +++ /dev/null @@ -1,244 +0,0 @@ -get('profiler'), - $container->get('router'), - $container->get('template_manager'), - $container->get('date.formatter'), - $container->get('profiler.storage_manager') - ); - } - - /** - * Constructs a new WebprofilerController. - * - * @param \Drupal\webprofiler\Profiler\Profiler $profiler - * @param \Symfony\Component\Routing\RouterInterface $router - * @param \Drupal\webprofiler\Profiler\TemplateManager $templateManager - * @param \Drupal\Core\Datetime\DateFormatter $date - * @param \Drupal\webprofiler\Profiler\ProfilerStorageManager $storageManager - */ - public function __construct(Profiler $profiler, RouterInterface $router, TemplateManager $templateManager, DateFormatter $date, ProfilerStorageManager $storageManager) { - $this->profiler = $profiler; - $this->router = $router; - $this->templateManager = $templateManager; - $this->date = $date; - $this->storageManager = $storageManager; - } - - /** - * Generates the dashboard page. - * - * @param \Symfony\Component\HttpKernel\Profiler\Profile $profile - * - * @return array - */ - public function dashboardAction(Profile $profile) { - $this->profiler->disable(); - - $templateManager = $this->templateManager; - $templates = $templateManager->getTemplates($profile); - - $panels = []; - $libraries = ['webprofiler/dashboard']; - $drupalSettings = [ - 'webprofiler' => [ - 'token' => $profile->getToken(), - 'ide_link' => $this->config('webprofiler.config')->get('ide_link'), - 'ide_link_remote' => $this->config('webprofiler.config')->get('ide_link_remote'), - 'ide_link_local' => $this->config('webprofiler.config')->get('ide_link_local'), - 'collectors' => [], - ], - ]; - - foreach ($templates as $name => $template) { - /** @var \Drupal\webprofiler\DrupalDataCollectorInterface $collector */ - $collector = $profile->getCollector($name); - - if ($collector->hasPanel()) { - $rendered = $template->renderBlock('panel', [ - 'token' => $profile->getToken(), - 'name' => $name, - ]); - - $panels[] = [ - '#theme' => 'webprofiler_panel', - '#panel' => $rendered, - ]; - - $drupalSettings['webprofiler']['collectors'][] = [ - 'id' => $name, - 'name' => $name, - 'label' => $collector->getTitle(), - 'summary' => $collector->getPanelSummary(), - 'icon' => $collector->getIcon(), - ]; - - $libraries = array_merge($libraries, $collector->getLibraries()); - $drupalSettings['webprofiler'] += $collector->getDrupalSettings(); - } - } - - $build = []; - $build['panels'] = [ - '#theme' => 'webprofiler_dashboard', - '#profile' => $profile, - '#panels' => $panels, - '#spinner_path' => '/' . $this->moduleHandler() - ->getModule('webprofiler') - ->getPath() . '/images/searching.gif', - '#attached' => [ - 'drupalSettings' => $drupalSettings, - 'library' => $libraries, - ], - ]; - - return $build; - } - - /** - * Generates the list page. - * - * @param \Symfony\Component\HttpFoundation\Request $request - * - * @return array - */ - public function listAction(Request $request) { - $limit = $request->get('limit', 10); - $this->profiler->disable(); - - $ip = $request->query->get('ip'); - $method = $request->query->get('method'); - $url = $request->query->get('url'); - - $profiles = $this->profiler->find($ip, $url, $limit, $method, '', ''); - - $rows = []; - if (count($profiles)) { - foreach ($profiles as $profile) { - $row = []; - $row[] = Link::fromTextAndUrl($profile['token'], new Url('webprofiler.dashboard', ['profile' => $profile['token']]))->toString(); - $row[] = $profile['ip']; - $row[] = $profile['method']; - $row[] = $profile['url']; - $row[] = $this->date->format($profile['time']); - - $rows[] = $row; - } - } - else { - $rows[] = [ - [ - 'data' => $this->t('No profiles found'), - 'colspan' => 6, - ], - ]; - } - - $build = []; - - $storage_id = $this->config('webprofiler.config')->get('storage'); - $storage = $this->storageManager->getStorage($storage_id); - - $build['resume'] = [ - '#type' => 'inline_template', - '#template' => '

      {{ message }}

      ', - '#context' => [ - 'message' => $this->t('Profiles stored with %storage service.', ['%storage' => $storage['title']]), - ], - ]; - - $build['filters'] = $this->formBuilder() - ->getForm('Drupal\\webprofiler\\Form\\ProfilesFilterForm'); - - $build['table'] = [ - '#type' => 'table', - '#rows' => $rows, - '#header' => [ - $this->t('Token'), - [ - 'data' => $this->t('Ip'), - 'class' => [RESPONSIVE_PRIORITY_LOW], - ], - [ - 'data' => $this->t('Method'), - 'class' => [RESPONSIVE_PRIORITY_LOW], - ], - $this->t('Url'), - [ - 'data' => $this->t('Time'), - 'class' => [RESPONSIVE_PRIORITY_MEDIUM], - ], - ], - '#sticky' => TRUE, - ]; - - return $build; - } - - /** - * Exposes collector's data as JSON. - * - * @param \Symfony\Component\HttpKernel\Profiler\Profile $profile - * @param $collector - * - * @return \Symfony\Component\HttpFoundation\JsonResponse - */ - public function restCollectorAction(Profile $profile, $collector) { - $this->profiler->disable(); - - $data = $profile->getCollector($collector)->getData(); - - return new JsonResponse(['data' => $data]); - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Controller/DatabaseController.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Controller/DatabaseController.php deleted file mode 100644 index d91ef61bf..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Controller/DatabaseController.php +++ /dev/null @@ -1,95 +0,0 @@ -get('profiler'), - $container->get('database') - ); - } - - /** - * Constructs a new WebprofilerController. - * - * @param \Symfony\Component\HttpKernel\Profiler\Profiler $profiler - * @param \Drupal\Core\Database\Connection $database - */ - public function __construct(Profiler $profiler, Connection $database) { - $this->profiler = $profiler; - $this->database = $database; - } - - /** - * @param \Symfony\Component\HttpKernel\Profiler\Profile $profile - * @param int $qid - * - * @return \Symfony\Component\HttpFoundation\JsonResponse - */ - public function explainAction(Profile $profile, $qid) { - $query = $this->getQuery($profile, $qid); - - $data = []; - $result = $this->database->query('EXPLAIN ' . $query['query'], (array) $query['args']) - ->fetchAllAssoc('table'); - $i = 1; - foreach ($result as $row) { - foreach ($row as $key => $value) { - $data[$i][$key] = $value; - } - $i++; - } - - return new JsonResponse(['data' => $data]); - } - - /** - * @param \Symfony\Component\HttpKernel\Profiler\Profile $profile - * @param int $qid - * - * @return array - */ - private function getQuery(Profile $profile, $qid) { - $this->profiler->disable(); - $token = $profile->getToken(); - - if (!$profile = $this->profiler->loadProfile($token)) { - throw new NotFoundHttpException($this->t('Token @token does not exist.', ['@token' => $token])); - } - - /** @var \Drupal\webprofiler\DataCollector\DatabaseDataCollector $databaseCollector */ - $databaseCollector = $profile->getCollector('database'); - - $queries = $databaseCollector->getQueries(); - $query = $queries[$qid]; - - return $query; - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Controller/ToolbarController.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Controller/ToolbarController.php deleted file mode 100644 index 98834d8d7..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Controller/ToolbarController.php +++ /dev/null @@ -1,111 +0,0 @@ -get('profiler'), - $container->get('template_manager'), - $container->get('renderer') - ); - } - - /** - * Constructs a new WebprofilerController. - * - * @param \Drupal\webprofiler\Profiler\Profiler $profiler - * @param \Drupal\webprofiler\Profiler\TemplateManager $templateManager - * @param \Drupal\Core\Render\RendererInterface $renderer - */ - public function __construct(Profiler $profiler, TemplateManager $templateManager, RendererInterface $renderer) { - $this->profiler = $profiler; - $this->templateManager = $templateManager; - $this->renderer = $renderer; - } - - /** - * Generates the toolbar. - * - * @param \Symfony\Component\HttpKernel\Profiler\Profile $profile - * - * @return \Symfony\Component\HttpFoundation\Response - * - * @throws \Exception - */ - public function toolbarAction(Profile $profile) { - $this->profiler->disable(); - - $templates = $this->templateManager->getTemplates($profile); - - $rendered = ''; - foreach ($templates as $name => $template) { - $rendered .= $template->renderBlock('toolbar', [ - 'collector' => $profile->getcollector($name), - 'token' => $profile->getToken(), - 'name' => $name, - ]); - } - - $toolbar = [ - '#theme' => 'webprofiler_toolbar', - '#toolbar' => $rendered, - '#token' => $profile->getToken(), - ]; - - return new Response($this->renderer->render($toolbar)); - } - - /** - * @param \Symfony\Component\HttpKernel\Profiler\Profile $profile - * @param \Symfony\Component\HttpFoundation\Request $request - * - * @return \Symfony\Component\HttpFoundation\JsonResponse - */ - public function savePerformanceTimingAction(Profile $profile, Request $request) { - $this->profiler->disable(); - - $data = Json::decode($request->getContent()); - - /** @var $collector */ - $collector = $profile->getCollector('performance_timing'); - $collector->setData($data); - $this->profiler->updateProfile($profile); - - return new JsonResponse(['success' => TRUE]); - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/AssetsDataCollector.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/AssetsDataCollector.php deleted file mode 100644 index 5e71f417b..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/AssetsDataCollector.php +++ /dev/null @@ -1,108 +0,0 @@ -root = $root; - - $this->data['js'] = []; - $this->data['css'] = []; - } - - /** - * {@inheritdoc} - */ - public function collect(Request $request, Response $response, \Exception $exception = NULL) { - $this->data['assets']['installation_path'] = $this->root . '/'; - } - - /** - * @param $jsAsset - */ - public function addJsAsset($jsAsset) { - $this->data['js'] = NestedArray::mergeDeepArray([ - $jsAsset, - $this->data['js'], - ]); - } - - /** - * @param $cssAsset - */ - public function addCssAsset($cssAsset) { - $this->data['css'] = NestedArray::mergeDeepArray([ - $cssAsset, - $this->data['css'], - ]); - } - - /** - * Twig callback to return the amount of CSS files. - */ - public function getCssCount() { - return count($this->data['css']); - } - - /** - * Twig callback to return the amount of JS files. - */ - public function getJsCount() { - return count($this->data['js']) - 1; - } - - /** - * {@inheritdoc} - */ - public function getName() { - return 'assets'; - } - - /** - * {@inheritdoc} - */ - public function getTitle() { - return $this->t('Assets'); - } - - /** - * {@inheritdoc} - */ - public function getPanelSummary() { - return $this->t('Total: @count', ['@count' => ($this->getCssCount() + $this->getJsCount())]); - } - - /** - * {@inheritdoc} - */ - public function getIcon() { - return 'iVBORw0KGgoAAAANSUhEUgAAABUAAAAcCAYAAACOGPReAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxQUE0NEI2NTlCQTkxMUUzQkFDRjg2NUVCQ0NFNTcwQiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxQUE0NEI2NjlCQTkxMUUzQkFDRjg2NUVCQ0NFNTcwQiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjFBQTQ0QjYzOUJBOTExRTNCQUNGODY1RUJDQ0U1NzBCIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjFBQTQ0QjY0OUJBOTExRTNCQUNGODY1RUJDQ0U1NzBCIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+C1mVdgAAAktJREFUeNrUlk+I6VEUx48/4SVKpkgiCywkK8ksWVhYSFm9hYXFqxfbt2KnLJS9hbKQhZXtFMVmUrKYkZmslPxLSvnvYZx37+2NTDPP03ss5tTpcu/xued77rm/Hw4iwqWNC1cwzv8CPlJ6lUypfSf+k256Ad8R/0HlL4l/uWCSL5zfO/xTLTkczrvx9aDwU7QUX61Ww/Pz88WAdrv9Oplyzz0UPp8PIpEIzrnWJ6EUJBAI2DgYDOD+/h7EYjFwuadz4X80SUFCoRB6vR6Mx2Mwm82QTqfh4eEBNBoN3NzcgFQqhdVqBbvd7s+ZUlkUJpFIoN1uQyQSAYvFAqlUiq2Xy2VwuVwQCoXAZrNBMpmE6XTK4nk83lsqOX0ki0h2xUajgYFAAJVKJRoMBoxGo9hqtXA4HCKNq1ar+Pj4iMFgEFUqFer1egyHw9jv93GxWDCOyWTCA5RaLBZjd9jhcGCz2cRXKxQKqNVqcTQaHeZKpRLqdDoWf3d3h6QMB+hB/nK5BL/fD4lEAsiPmUSfzwf1eh1qtRoYjUaQy+WQz+eBbAoej4fVN5PJgNVqZfV9J586lUBtMplgLpdDEoyktuj1ejEej7M1p9OJbrcbi8UirtdrNjebzQ6MN/KPfT6f436/Z3XudDp4e3uLlUqFQej37XbL5B7DjqEfthQBAgGzfpTJZJDNZpn0zWbDRgI/eQlOdjGFU1coFIfHGu3Lv90qbrfbXRFpJ4POAVGjh/r09PRCP38l3r3Q62RA/NtV3qb8T/Nn4irQXwIMANMNuV/Q8qbhAAAAAElFTkSuQmCC'; - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/BlocksDataCollector.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/BlocksDataCollector.php deleted file mode 100644 index b52dffee1..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/BlocksDataCollector.php +++ /dev/null @@ -1,147 +0,0 @@ -entityTypeManager = $entity_type_manager; - - $this->data['blocks']['loaded'] = []; - $this->data['blocks']['rendered'] = []; - } - - /** - * {@inheritdoc} - */ - public function collect(Request $request, Response $response, \Exception $exception = NULL) { - $storage = $this->entityTypeManager->getStorage('block'); - $loaded = $this->entityTypeManager->getLoaded('config', 'block'); - $rendered = $this->entityTypeManager->getRendered('block'); - - if ($loaded) { - $this->data['blocks']['loaded'] = $this->getBlocksData($loaded, $storage); - } - - if ($rendered) { - $this->data['blocks']['rendered'] = $this->getBlocksData($rendered, $storage); - } - } - - /** - * @return array - */ - public function getRenderedBlocks() { - return $this->data['blocks']['rendered']; - } - - /** - * @return int - */ - public function getRenderedBlocksCount() { - return count($this->getRenderedBlocks()); - } - - /** - * @return array - */ - public function getLoadedBlocks() { - return $this->data['blocks']['loaded']; - } - - /** - * @return int - */ - public function getLoadedBlocksCount() { - return count($this->getLoadedBlocks()); - } - - /** - * {@inheritdoc} - */ - public function getName() { - return 'blocks'; - } - - /** - * {@inheritdoc} - */ - public function getTitle() { - return $this->t('Blocks'); - } - - /** - * {@inheritdoc} - */ - public function getPanelSummary() { - return $this->t('Loaded: @loaded, rendered: @rendered', [ - '@loaded' => $this->getLoadedBlocksCount(), - '@rendered' => $this->getRenderedBlocksCount(), - ]); - } - - /** - * {@inheritdoc} - */ - public function getIcon() { - return 'iVBORw0KGgoAAAANSUhEUgAAABUAAAAcCAYAAACOGPReAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2hpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowNDgwMTE3NDA3MjA2ODExOEY2MkNCNjI0NDY3NzkwRCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDowQjg5OTA4OEYwQTgxMUUzQkJDRThFQjA5Q0E1REFCRCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDowQjg5OTA4N0YwQTgxMUUzQkJDRThFQjA5Q0E1REFCRCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1LjEgTWFjaW50b3NoIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MDM4MDExNzQwNzIwNjgxMTg3MUZDQ0I0RjY1RTlEM0IiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MDQ4MDExNzQwNzIwNjgxMThGNjJDQjYyNDQ2Nzc5MEQiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz68h+kGAAAAWElEQVR42mL8//8/A7UBEwMNwAg3lAVEODg4UCW2Dhw4wDgapgyMtEj8eCMKFPCkyI1GFCJMiUnQVDUUX0SNllK4wxRf+JAdUeQUfaMRRd+ib4SHKUCAAQAMcyf8vLAstgAAAABJRU5ErkJggg=='; - } - - /** - * @param $decorator - * @param $storage - * - * @return array - */ - private function getBlocksData(EntityDecorator $decorator, EntityStorageInterface $storage) { - $blocks = []; - - /** @var \Drupal\block\BlockInterface $block */ - foreach ($decorator->getEntities() as $block) { - /** @var \Drupal\block\Entity\Block $entity */ - if (NULL !== $block && $entity = $storage->load($block->get('id'))) { - - $route = ''; - if ($entity->hasLinkTemplate('edit-form')) { - $route = $entity->toUrl('edit-form')->toString(); - } - - $id = $block->get('id'); - $blocks[$id] = [ - 'id' => $id, - 'region' => $block->getRegion(), - 'status' => $block->get('status'), - 'theme' => $block->getTheme(), - 'plugin' => $block->get('plugin'), - 'settings' => $block->get('settings'), - 'route' => $route, - ]; - } - } - - return $blocks; - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/CacheDataCollector.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/CacheDataCollector.php deleted file mode 100644 index ae19bb597..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/CacheDataCollector.php +++ /dev/null @@ -1,173 +0,0 @@ -data['total'][CacheDataCollector::WEBPROFILER_CACHE_HIT] = 0; - $this->data['total'][CacheDataCollector::WEBPROFILER_CACHE_MISS] = 0; - $this->data['cache'] = []; - } - - /** - * Registers a cache get on a specific cache bin. - * - * @param $cache - */ - public function registerCacheHit($bin, $cache) { - $current = isset($this->data['cache'][$bin][$cache->cid]) ? $this->data['cache'][$bin][$cache->cid] : NULL; - - if (!$current) { - $current = $cache; - $current->{CacheDataCollector::WEBPROFILER_CACHE_HIT} = 0; - $current->{CacheDataCollector::WEBPROFILER_CACHE_MISS} = 0; - $this->data['cache'][$bin][$cache->cid] = $current; - } - - $current->{CacheDataCollector::WEBPROFILER_CACHE_HIT}++; - $this->data['total'][CacheDataCollector::WEBPROFILER_CACHE_HIT]++; - } - - /** - * Registers a cache get on a specific cache bin. - * - * @param $bin - * @param $cid - */ - public function registerCacheMiss($bin, $cid) { - $current = isset($this->data['cache'][$bin][$cid]) ? - $this->data['cache'][$bin][$cid] : NULL; - - if (!$current) { - $current = new \StdClass(); - $current->{CacheDataCollector::WEBPROFILER_CACHE_HIT} = 0; - $current->{CacheDataCollector::WEBPROFILER_CACHE_MISS} = 0; - $this->data['cache'][$bin][$cid] = $current; - } - - $current->{CacheDataCollector::WEBPROFILER_CACHE_MISS}++; - $this->data['total'][CacheDataCollector::WEBPROFILER_CACHE_MISS]++; - } - - /** - * Callback to return the total amount of requested cache CIDS. - * - * @param string $type - * - * @return int - */ - public function getCacheCidsCount($type) { - return $this->data['total'][$type]; - } - - /** - * Callback to return the total amount of hit cache CIDS. - * - * @return int - */ - public function getCacheHitsCount() { - return $this->getCacheCidsCount(CacheDataCollector::WEBPROFILER_CACHE_HIT); - } - - /** - * Callback to return the total amount of miss cache CIDS. - * - * @return int - */ - public function getCacheMissesCount() { - return $this->getCacheCidsCount(CacheDataCollector::WEBPROFILER_CACHE_MISS); - } - - /** - * Callback to return the total amount of hit cache CIDs keyed by bin. - * - * @param $type - * - * @return array - */ - public function cacheCids($type) { - $hits = []; - foreach ($this->data['cache'] as $bin => $caches) { - $hits[$bin] = 0; - foreach ($caches as $cache) { - $hits[$bin] += $cache->{$type}; - } - } - - return $hits; - } - - /** - * Callback to return hit cache CIDs keyed by bin. - * - * @return array - */ - public function getCacheHits() { - return $this->cacheCids(CacheDataCollector::WEBPROFILER_CACHE_HIT); - } - - /** - * Callback to return miss cache CIDs keyed by bin. - * - * @return array - */ - public function getCacheMisses() { - return $this->cacheCids(CacheDataCollector::WEBPROFILER_CACHE_MISS); - } - - /** - * {@inheritdoc} - */ - public function getName() { - return 'cache'; - } - - /** - * {@inheritdoc} - */ - public function getTitle() { - return $this->t('Cache'); - } - - /** - * {@inheritdoc} - */ - public function getPanelSummary() { - return $this->t('Hit: @cache_hit, miss: @cache_miss', [ - '@cache_hit' => $this->getCacheCidsCount(CacheDataCollector::WEBPROFILER_CACHE_HIT), - '@cache_miss' => $this->getCacheCidsCount(CacheDataCollector::WEBPROFILER_CACHE_MISS), - ]); - } - - /** - * {@inheritdoc} - */ - public function getIcon() { - return 'iVBORw0KGgoAAAANSUhEUgAAABQAAAAcCAYAAABh2p9gAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2Njc3QTVEQTkxNkMxMUUzQjA3OUEzQTNEMUVGMjVDOCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo2Njc3QTVEQjkxNkMxMUUzQjA3OUEzQTNEMUVGMjVDOCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjRGQTVBQzYxOTE2QzExRTNCMDc5QTNBM0QxRUYyNUM4IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjRGQTVBQzYyOTE2QzExRTNCMDc5QTNBM0QxRUYyNUM4Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+BsBwAAAAAJtJREFUeNpi/P//PwM1ARMDlcEIMdDBweEZjM0IihSgwEx8Gg4cOJCOrhGHOimqe5kF2QVYvDITl0vQvQwTo4oLkS1gQrPpPwiTEBkY6pnwKJ5JyOskJRvkcMUVxjgjhRhDsUUGSQZu3rwZb1j6+voyjhYOI9VAFmKTBTC3oMsTbyAx+RndAqxejo2NJdmL6HoYR6vRwWcgQIABAOn0PsqqgQzcAAAAAElFTkSuQmCC'; - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/ConfigDataCollector.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/ConfigDataCollector.php deleted file mode 100644 index 1798df788..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/ConfigDataCollector.php +++ /dev/null @@ -1,69 +0,0 @@ -data['config_names'][$name] = isset($this->data['config_names'][$name]) ? $this->data['config_names'][$name] + 1 : 1; - } - - /** - * Callback to display the config names. - */ - public function getConfigNames() { - return $this->data['config_names']; - } - - /** - * {@inheritdoc} - */ - public function getName() { - return 'config'; - } - - /** - * {@inheritdoc} - */ - public function getTitle() { - return $this->t('Config'); - } - - /** - * {@inheritdoc} - */ - public function getPanelSummary() { - return $this->t('Total: @count', ['@count' => count($this->getConfigNames())]); - } - - /** - * {@inheritdoc} - */ - public function getIcon() { - return 'iVBORw0KGgoAAAANSUhEUgAAABsAAAAcCAYAAACQ0cTtAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2Njc3QTVFMjkxNkMxMUUzQjA3OUEzQTNEMUVGMjVDOCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo2Njc3QTVFMzkxNkMxMUUzQjA3OUEzQTNEMUVGMjVDOCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjY2NzdBNUUwOTE2QzExRTNCMDc5QTNBM0QxRUYyNUM4IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjY2NzdBNUUxOTE2QzExRTNCMDc5QTNBM0QxRUYyNUM4Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+f0Re8gAAA3RJREFUeNrsVk9ME1kY/82fTqfQf5ROW2gpuKCioHbdEDeBxITdxE08eOHkiQOr8cZhNx7k4MGDmpAQxTtHPBgPXjCbeLDE/XtglSUGGyhxgBYLdNpSOu3MPN+MwUSQP1HUZONv8st7897M9833fb837zGEEHwusPiM+P86AxjmEqVKSfaBGuWvlHgf6cUUb9+65WhsbPzo706n0/j5wgWddgOUK1vSKEnSvjgyEQwGQW1xtBv+4jXjc7kcBgcH981gJpPZ3tmnjoa7NgOSXwYK2U+bRu76y73XLBaLIRQKvXe8paVlZ0c35L2ncWho6K3B/v5+JBIJOJ3Ot+PmfV9fnzWvcyJWpeNQ/O0oH7oILhK7Q4cnKR9RjlEWrCVtF0Xy/alTW5z19PRgbGwMo6OjlmHToekolUpheHgYhYL1Pso2F+a+OQd/cwTftdlRH9QhujPGconJx5/VyRMvpD+IWrxCa5bmeJ6/GolEtjibmppCuVyGz+dDd3e3ZTwajWJgYMAatyJiBcyGf0J7pwcdzQEcbktBnW8Fr3NMXcOSeLRpKSCw2cD0tNgEQ3+0q0DGx8ettre3FyMjI+/MrYhReKMcgpII1jePdZVBWQXcBxJYfOFGzsjjYGsyErYvdkLJnN1V+hMTE1Zrpm+jv4FVxoemhjISyWqsKi68JDWwcSUsPhWQSQBSdA4Lz+vh92j18rRyZs/rbLMjE0WaTSJlsab+h1LqNES7BqLpYB2vIPwYx/zjNqwlDsBR8VaRwlzzrs42FGlGtgWaBiVZjzLngVChNYQBGATas5OoKCvQSB6k4x64uXYGTwyW322dmao01WgqczNEujMRRYSjqhUOhwAbz4Klu4nB8yhyEtZyPEqh36BquSLYzpltBdLV1WWJwmzN6EzZb4aPUZCfVRHyeiA53Qi6XKhzuxGurUFD8Qz8Xga1BQ+y8SNLEKoe8jupcEOJ26HWSGN5VYYiJ3Ei9i14GpaNezOn8gIcjISn/3Sks8n2PyFqDzhd1y/XeL02URQ/4ExhwFOSMbtux0qxgoDHBb+7GiLPG9l8ce2vyYI8nQjHMXn/Fzy+uWzu1Ofpeze32/D29scVgLpjwMEfSrSVUe1PoUK/Yib+N/69+zuy8gJ9apGxzgcfCkLMmjspq3b4qZsH03XKPPP1kLofeC3AAMaxXzYck+ZeAAAAAElFTkSuQmCC'; - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/DatabaseDataCollector.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/DatabaseDataCollector.php deleted file mode 100644 index a827c7e09..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/DatabaseDataCollector.php +++ /dev/null @@ -1,266 +0,0 @@ -database = $database; - $this->configFactory = $configFactory; - } - - /** - * {@inheritdoc} - */ - public function collect(Request $request, Response $response, \Exception $exception = NULL) { - $connections = []; - foreach (Database::getAllConnectionInfo() as $key => $info) { - try { - $database = Database::getConnection('default', $key); - - if ($database->getLogger()) { - $connections[$key] = $database->getLogger()->get('webprofiler'); - } - } - catch (\Exception $e) { - // There was some error during database connection, maybe a stale - // configuration in settings.php or wrong values used for a migration. - } - } - - $this->data['connections'] = array_keys($connections); - - $data = []; - foreach ($connections as $key => $queries) { - foreach ($queries as $query) { - // Remove caller args. - unset($query['caller']['args']); - - // Remove query args element if empty. - if (isset($query['args']) && empty($query['args'])) { - unset($query['args']); - } - - // Save time in milliseconds. - $query['time'] = $query['time'] * 1000; - $query['database'] = $key; - $data[] = $query; - } - } - - $querySort = $this->configFactory->get('webprofiler.config') - ->get('query_sort'); - if ('duration' === $querySort) { - usort( - $data, [ - "Drupal\\webprofiler\\DataCollector\\DatabaseDataCollector", - "orderQueryByTime", - ] - ); - } - - $this->data['queries'] = $data; - - $options = $this->database->getConnectionOptions(); - - // Remove password for security. - unset($options['password']); - - $this->data['database'] = $options; - } - - /** - * @return array - */ - public function getDatabase() { - return $this->data['database']; - } - - /** - * @return int - */ - public function getQueryCount() { - return count($this->data['queries']); - } - - /** - * @return array - */ - public function getQueries() { - return $this->data['queries']; - } - - /** - * Returns the total execution time. - * - * @return float - */ - public function getTime() { - $time = 0; - - foreach ($this->data['queries'] as $query) { - $time += $query['time']; - } - - return $time; - } - - /** - * Returns a color based on the number of executed queries. - * - * @return string - */ - public function getColorCode() { - if ($this->getQueryCount() < 100) { - return 'green'; - } - if ($this->getQueryCount() < 200) { - return 'yellow'; - } - - return 'red'; - } - - /** - * Returns the configured query highlight threshold. - * - * @return int - */ - public function getQueryHighlightThreshold() { - // When a profile is loaded from storage this object is deserialized and - // no constructor is called so we cannot use dependency injection. - return \Drupal::config('webprofiler.config')->get('query_highlight'); - } - - /** - * {@inheritdoc} - */ - public function getName() { - return 'database'; - } - - /** - * {@inheritdoc} - */ - public function getTitle() { - return $this->t('Database'); - } - - /** - * {@inheritdoc} - */ - public function getPanelSummary() { - return $this->t('Executed queries: @count', ['@count' => $this->getQueryCount()]); - } - - /** - * {@inheritdoc} - */ - public function getIcon() { - return 'iVBORw0KGgoAAAANSUhEUgAAABQAAAAcCAYAAABh2p9gAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAQRJREFUeNpi/P//PwM1ARMDlcGogZQDlpMnT7pxc3NbA9nhQKxOpL5rQLwJiPeBsI6Ozl+YBOOOHTv+AOllQNwtLS39F2owKYZ/gRq8G4i3ggxEToggWzvc3d2Pk+1lNL4fFAs6ODi8JzdS7mMRVyDVoAMHDsANdAPiOCC+jCQvQKqBQB/BDbwBxK5AHA3E/kB8nKJkA8TMQBwLxaBIKQbi70AvTADSBiSadwFXpCikpKQU8PDwkGTaly9fHFigkaKIJid4584dkiMFFI6jkTJII0WVmpHCAixZQEXWYhDeuXMnyLsVlEQKI45qFBQZ8eRECi4DBaAlDqle/8A48ip6gAADANdQY88Uc0oGAAAAAElFTkSuQmCC'; - } - - /** - * {@inheritdoc} - */ - public function getLibraries() { - return [ - 'webprofiler/database', - ]; - } - - /** - * {@inheritdoc} - */ - public function getData() { - $data = $this->data; - - $conn = Database::getConnection(); - foreach ($data['queries'] as &$query) { - $explain = TRUE; - $type = 'select'; - - if (strpos($query['query'], 'INSERT') !== FALSE) { - $explain = FALSE; - $type = 'insert'; - } - - if (strpos($query['query'], 'UPDATE') !== FALSE) { - $explain = FALSE; - $type = 'update'; - } - - if (strpos($query['query'], 'CREATE') !== FALSE) { - $explain = FALSE; - $type = 'create'; - } - - if (strpos($query['query'], 'DELETE') !== FALSE) { - $explain = FALSE; - $type = 'delete'; - } - - $query['explain'] = $explain; - $query['type'] = $type; - - $quoted = []; - - if (isset($query['args'])) { - foreach ((array) $query['args'] as $key => $val) { - $quoted[$key] = is_null($val) ? 'NULL' : $conn->quote($val); - } - } - - $query['query_args'] = strtr($query['query'], $quoted); - } - - $data['query_highlight_threshold'] = $this->getQueryHighlightThreshold(); - - return $data; - } - - /** - * @param $a - * @param $b - * - * @return int - */ - private function orderQueryByTime($a, $b) { - $at = $a['time']; - $bt = $b['time']; - - if ($at == $bt) { - return 0; - } - return ($at < $bt) ? 1 : -1; - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/DevelDataCollector.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/DevelDataCollector.php deleted file mode 100644 index eb0c5c216..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/DevelDataCollector.php +++ /dev/null @@ -1,103 +0,0 @@ -data['original_url'] = $request->getPathInfo(); - } - - /** - * @return string - */ - public function getLinks() { - return $this->develMenuLinks($this->data['original_url']); - } - - /** - * {@inheritdoc} - */ - public function getName() { - return 'devel'; - } - - /** - * {@inheritdoc} - */ - public function getTitle() { - return $this->t('Development'); - } - - /** - * {@inheritdoc} - */ - public function hasPanel() { - return FALSE; - } - - /** - * Returns the collector icon in base64 format. - * - * @return string - * The collector icon. - */ - public function getIcon() { - return 'iVBORw0KGgoAAAANSUhEUgAAABYAAAAcCAYAAABlL09dAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2RTdCREU2NUVFQUUxMUU1QTc4Q0Q0OEU5RUY0N0YwMyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo2RTdCREU2NkVFQUUxMUU1QTc4Q0Q0OEU5RUY0N0YwMyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjZFN0JERTYzRUVBRTExRTVBNzhDRDQ4RTlFRjQ3RjAzIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjZFN0JERTY0RUVBRTExRTVBNzhDRDQ4RTlFRjQ3RjAzIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+6sNOKAAAAPVJREFUeNpi/P//PwMtABMDjcCowbQ3mNHe3h6XnBUQTwJiTRzy14E4+8CBAyexSbLgsZQbiI2BOBCH/HqoGgZSDYaBDXjk/uMzuBaLzeVI7FV4DN7n4OAAojvRxL+CwvgnkMFG5bj7BUoVv4lUfBWIrxGp9jcoKM4DsQABhZ+A2BPqs61AzEVA/XuQwT1AzElA4Q8g/gJN951EBN13kMFLgJiHgMJvQCwNxOxAvJwIg7+wEBnGv4D4M1TtLyIMBocxMQUyKExnAzEzEHMQof4/C5GxDHJh4qAp3VhpYC4rKCieAbEQlQ1+yzhamY4aTD+DAQIMAFv+MFaJEyYhAAAAAElFTkSuQmCC'; - } - - /** - * @param string $original_url - * - * @return array Array containing Devel Menu links - * Array containing Devel Menu links - */ - protected function develMenuLinks($original_url) { - // We cannot use injected services here because at this point this - // class is deserialized from a storage and not constructed. - $menuLinkTreeService = \Drupal::service('menu.link_tree'); - $rendererService = \Drupal::service('renderer'); - - $parameters = new MenuTreeParameters(); - $parameters->setMaxDepth(1)->onlyEnabledLinks(); - $tree = $menuLinkTreeService->load('devel', $parameters); - - $manipulators = [ - ['callable' => 'menu.default_tree_manipulators:checkAccess'], - ['callable' => 'menu.default_tree_manipulators:generateIndexAndSort'], - ]; - $tree = $menuLinkTreeService->transform($tree, $manipulators); - - $links = []; - - foreach ($tree as $item) { - /** @var \Drupal\devel\Plugin\Menu\DestinationMenuLink $link */ - $link = $item->link; - $renderable = Link::fromTextAndUrl($link->getTitle(), $link->getUrlObject()) - ->toRenderable(); - $rendered = $rendererService->renderPlain($renderable); - $linkString = preg_replace('/\/profiler\/(.*)&/', $original_url . '&', $rendered); - $links[] = Markup::create($linkString);; - } - - return $links; - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/DrupalDataCollector.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/DrupalDataCollector.php deleted file mode 100644 index e018a2aa7..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/DrupalDataCollector.php +++ /dev/null @@ -1,139 +0,0 @@ -redirectDestination = $redirectDestination; - $this->urlGenerator = $urlGenerator; - } - - /** - * {@inheritdoc} - */ - public function collect(Request $request, Response $response, \Exception $exception = NULL) { - $this->data['version'] = Drupal::VERSION; - $this->data['profile'] = \Drupal::installProfile(); - $this->data['config_url'] = (new Url('webprofiler.settings', [], ['query' => $this->redirectDestination->getAsArray()]))->toString(); - - try { - $process = new Process("git log -1 --pretty=format:'%H - %s (%ci)' --abbrev-commit"); - $process->setTimeout(3600); - $process->mustRun(); - $this->data['git_commit'] = $process->getOutput(); - - $process = new Process("git log -1 --pretty=format:'%h' --abbrev-commit"); - $process->setTimeout(3600); - $process->mustRun(); - $this->data['abbr_git_commit'] = $process->getOutput(); - } - catch (ProcessFailedException $e) { - $this->data['git_commit'] = $this->data['git_commit_abbr'] = NULL; - } - catch (RuntimeException $e) { - $this->data['git_commit'] = $this->data['git_commit_abbr'] = NULL; - } - } - - /** - * @return string - */ - public function getVersion() { - return $this->data['version']; - } - - /** - * @return string - */ - public function getProfile() { - return $this->data['profile']; - } - - /** - * @return string - */ - public function getConfigUrl() { - return $this->data['config_url']; - } - - /** - * @return string - */ - public function getGitCommit() { - return $this->data['git_commit']; - } - - /** - * @return string - */ - public function getAbbrGitCommit() { - return $this->data['abbr_git_commit']; - } - - /** - * Returns the name of the collector. - * - * @return string - * The collector name - * - * @api - */ - public function getName() { - return 'drupal'; - } - - /** - * {@inheritdoc} - */ - public function getTitle() { - return $this->t('Drupal'); - } - - /** - * {@inheritdoc} - */ - public function hasPanel() { - return FALSE; - } - - /** - * {@inheritdoc} - */ - public function getIcon() { - return 'iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpCRDU5MUVDNzVGRTkxMUUzODdBMEJDOEZFRjA2QUY5MiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpCRDU5MUVDODVGRTkxMUUzODdBMEJDOEZFRjA2QUY5MiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkJENTkxRUM1NUZFOTExRTM4N0EwQkM4RkVGMDZBRjkyIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkJENTkxRUM2NUZFOTExRTM4N0EwQkM4RkVGMDZBRjkyIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+iYsuIgAAAiNJREFUeNq8lj3KwkAQhhOxUPAnoIgWQiysbFLYG2/gEVJaegQ9QfQECh4g3kA9QbxBLMQ2KaxE2G/ffG5Yl/ytiguDJBn32Z15d2dUQojy0wGgDHQwGFjj8Vh7hxFyZIHNZtOt1+uuDPRtYK/Xs4rFIpyJDFQaiIm73a7NYMyq1arf7/dnWWApIN3VHBPzINHwHX5J4FxAKg6j0Wh4aSDREGb8TxqIXJVKJSIDY1Yul30RmgqE87swHkrDq2cCkYNareZ9AmPWarX2mUAk/hswZrgkUoGyIsm7y1ggDachnrNPrVKpEKSJBxZYnC+Xi/l4PL56T99uN/y8KDYCUpj2i2JRzONkWZYyGo0UXdeV4/GobDYb5Xw+J/obxv+mTqdT8rWTpND1ek3ihm3bRNO0F188O44T+UwmE+TQjBXNcDiciLD5fE7Shuu6xDTN0JdGgfi+//J9v98nA6EmqIoHYsJPxuFwIOKxiERDVxNQ4I4PNw1Ram6DIFAWiwUWG5uv+/2+E98V+IdOp7OiZzF6pitMhC2XyxDEfOKg1+t1ldnTtNtthxcB8sAGcgQRUbWGufM8LxQPfJBv3n+73Tq5qgVyibqWdYsASOUfLYyJJ679yKyHadDZbBYqkn8HMHaO3ydMl674rI8RayOACKUo/+l0SuAf12ZI9TRYLSZCJYk76GgbnyA9TxOlMpiqqrnuQhxk7igd8raJbKi/bvX/BBgANANSieJk+XMAAAAASUVORK5CYII='; - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/DrupalDataCollectorTrait.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/DrupalDataCollectorTrait.php deleted file mode 100644 index 9fda523ff..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/DrupalDataCollectorTrait.php +++ /dev/null @@ -1,122 +0,0 @@ -data = []; - } - - /** - * {@inheritdoc} - */ - public function getPanelSummary() { - return NULL; - } - - /** - * {@inheritdoc} - */ - public function hasPanel() { - return TRUE; - } - - /** - * {@inheritdoc} - */ - public function getLibraries() { - return []; - } - - /** - * {@inheritdoc} - */ - public function getDrupalSettings() { - return []; - } - - /** - * @return mixed - */ - public function getData() { - return $this->data; - } - - /** - * @param $class - * @param $method - * - * @return array - */ - public function getMethodData($class, $method) { - $class = is_object($class) ? get_class($class) : $class; - $data = []; - - try { - $reflectedMethod = new \ReflectionMethod($class, $method); - - $data = [ - 'class' => $class, - 'method' => $method, - 'file' => $reflectedMethod->getFilename(), - 'line' => $reflectedMethod->getStartLine(), - ]; - } - catch (\ReflectionException $re) { - // TODO: handle the exception. - } finally { - return $data; - } - } - - /** - * @param $value - * - * @return int|string - */ - private function convertToBytes($value) { - if ('-1' === $value) { - return -1; - } - - $value = strtolower($value); - $max = strtolower(ltrim($value, '+')); - if (0 === strpos($max, '0x')) { - $max = intval($max, 16); - } - elseif (0 === strpos($max, '0')) { - $max = intval($max, 8); - } - else { - $max = intval($max); - } - - switch (substr($value, -1)) { - case 't': - $max *= 1024; - break; - - case 'g': - $max *= 1024; - break; - - case 'm': - $max *= 1024; - break; - - case 'k': - $max *= 1024; - break; - } - - return $max; - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/EventsDataCollector.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/EventsDataCollector.php deleted file mode 100644 index c5385df8a..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/EventsDataCollector.php +++ /dev/null @@ -1,145 +0,0 @@ -eventDispatcher = $event_dispatcher; - } - - /** - * {@inheritdoc} - */ - public function collect(Request $request, Response $response, \Exception $exception = NULL) { - $this->data = [ - 'called_listeners' => [], - 'called_listeners_count' => 0, - 'not_called_listeners' => [], - 'not_called_listeners_count' => 0, - ]; - } - - /** - * {@inheritdoc} - */ - public function lateCollect() { - if ($this->eventDispatcher instanceof EventDispatcherTraceableInterface) { - $countCalled = 0; - $calledListeners = $this->eventDispatcher->getCalledListeners(); - foreach ($calledListeners as &$events) { - foreach ($events as &$priority) { - foreach ($priority as &$listener) { - $countCalled++; - $listener['clazz'] = $this->getMethodData($listener['class'], $listener['method']); - } - } - } - - $countNotCalled = 0; - $notCalledListeners = $this->eventDispatcher->getNotCalledListeners(); - foreach ($notCalledListeners as $events) { - foreach ($events as $priority) { - foreach ($priority as $listener) { - $countNotCalled++; - } - } - } - - $this->data = [ - 'called_listeners' => $calledListeners, - 'called_listeners_count' => $countCalled, - 'not_called_listeners' => $notCalledListeners, - 'not_called_listeners_count' => $countNotCalled, - ]; - } - } - - /** - * @return array - */ - public function getCalledListeners() { - return $this->data['called_listeners']; - } - - /** - * @return array - */ - public function getNotCalledListeners() { - return $this->data['not_called_listeners']; - } - - /** - * @return int - */ - public function getCalledListenersCount() { - return $this->data['called_listeners_count']; - } - - /** - * @return int - */ - public function getNotCalledListenersCount() { - return $this->data['not_called_listeners_count']; - } - - /** - * {@inheritdoc} - */ - public function getName() { - return 'events'; - } - - /** - * @return mixed - */ - public function getData() { - return $this->data; - } - - /** - * {@inheritdoc} - */ - public function getTitle() { - return $this->t('Events'); - } - - /** - * {@inheritdoc} - */ - public function getPanelSummary() { - return $this->t('Called listeners: @listeners', ['@listeners' => $this->getCalledListenersCount()]); - } - - /** - * {@inheritdoc} - */ - public function getIcon() { - return 'iVBORw0KGgoAAAANSUhEUgAAABUAAAAcCAYAAACOGPReAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABFJJREFUeNrkVVlIY2cY/RMTE81NMkkajUs1OBqkiVsjjAtStGrtSGyFjOjAQNVCKRb66ot9KrjgQx+FUgTBKkURbIfighWl4r6h44pajcZEo3ESTeKS9PzB2AyNZaD1qRcOem+S83/f+c53Lsvj8ZD/+mKTB7gehJTj+2d9fZ1MTk6S0NBQSW9vb97e3t7jmpqaXzIzM185HA7vd4KDg8nGxoaysbGxVCwWm/V6/aDL5TKlpKSQpKSkv5NyuVxyc3Mj7e7u/jw2NjYxJyfnMDIykmGz2UQgEBAWi0XcbjeRSqWhZWVl4v39fXVXV5cqNzf3exxmCNj+9fU1MzQ09JVWq32sUqmMu7u7QhwiDwoKIoeHh2R7e5twOByCwcrQhUShUJjz8vJkw8PDX5+fn8sDkvb3938YHR39rlAoNBoMBgGqtWxubnJRKbu9vZ20trZSQoJnvKioKMvZ2Rn/6urKmpqayvT19ekCks7NzaUnJyeboK0kPj7+cGZmJprH4zGnp6duEBFUTg4ODqjmIfPz87GQxoRnori4ODOKUPuTsnw+RRvPGIYJMZvNDNplYmJiLvPz839oamoSj4yMfAJNuRqN5mV9ff0fOPDF1NSUAt85lclkDkjnys7O/vGOlZLeQgjIgUggnmqHqmMqKip+z8jI8MAFnpKSkpXZ2dn38JkIUAFRQNjt/R2Xv09twBFwAGwClunp6efLy8tZdFgUW1tbiaOjo1/is9fUhcA+YL69fzvzSyQSEQZHfBJBT4J2Bf9qo9Rq9bxcLndeXl4STJrA8B4Mc/atN4pesAk5OTkh1PB0exYXF/kWi4UTFhZG+Hw+wZQJ5BDR7fEPIroYASu9uLggJpOJYO2I0+kkqI47Njb2MdzAKS4uXisvL5/FurIGBgaeYoDS1dVVsrKyQpaWlghsF7hS2IJERER4T4U/qckT4ccP6BYplco+rOcxqn0fZFqj0fgkLS3tV18m0EICktJV9F101xcWFj5Cu+HQ1YGNoeSXWGErpv8IwVOSlZXVh7xw0zy4V1MY3/uXWgetMzB8EZUHw7lKSEjgQ0MONLei2kcTExN5R0dHMehshw7x3umLRKI7YDhaDOSJ18hstq2qquobLMG30DKYkuzs7KggTa5Pf4p/rJReSCud1WplEBYuSMGrra39FG1ywsPDgwsLC+0YFoMAKi0qKupA5c57K0V1XjsdHx+/g6mXUksVFBS8wmF23FeMj48/w7PXiLsxePcG65qPDNCsra15XRCQFNP1AgRPMaA4aOvp6OjQ2O12cVtb20vE389YAHFLS0sO2vbYbLYQHKRHShEEy5ul+kIAe02Q5vy6urouTNyDV8VNT0/PBGzzxW1wRIHsM7T+W3V1tROvEE9lZeUCKlVgSfyD6S9SGsKdnZ1pOp3OkJ6efj04OPgTnmsAlv8PACXa/Q4L4UByuZqbm/UNDQ1vkLL+3+/9ByH9U4ABADscgvUMKuLiAAAAAElFTkSuQmCC'; - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/ExtensionDataCollector.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/ExtensionDataCollector.php deleted file mode 100644 index f8a6a659c..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/ExtensionDataCollector.php +++ /dev/null @@ -1,157 +0,0 @@ -moduleHandler = $module_handler; - $this->themeHandler = $theme_handler; - $this->root = $root; - - $this->data['drupal_extension']['modules'] = []; - $this->data['drupal_extension']['themes'] = []; - } - - /** - * {@inheritdoc} - */ - public function collect(Request $request, Response $response, \Exception $exception = NULL) { - $modules = $this->moduleHandler->getModuleList(); - $themes = $this->themeHandler->listInfo(); - - $this->data['drupal_extension']['count'] = count($modules) + count($themes); - $this->data['drupal_extension']['modules'] = $modules; - $this->data['drupal_extension']['themes'] = $themes; - $this->data['drupal_extension']['installation_path'] = $this->root . '/'; - } - - /** - * Returns the total number of active extensions. - * - * @return int - */ - public function getExtensionsCount() { - return isset($this->data['drupal_extension']['count']) ? $this->data['drupal_extension']['count'] : 0; - } - - /** - * Returns the total number of active modules. - * - * @return int - */ - public function getModulesCount() { - return count($this->data['drupal_extension']['modules']); - } - - /** - * Returns the total number of active themes. - * - * @return int - */ - public function getThemesCount() { - return count($this->data['drupal_extension']['themes']); - } - - /** - * {@inheritdoc} - */ - public function getName() { - return 'drupal_extension'; - } - - /** - * {@inheritdoc} - */ - public function getTitle() { - return $this->t('Extensions'); - } - - /** - * {@inheritdoc} - */ - public function getPanelSummary() { - return $this->t('Total: @extensions', ['@extensions' => $this->getExtensionsCount()]); - } - - /** - * {@inheritdoc} - */ - public function getIcon() { - return 'iVBORw0KGgoAAAANSUhEUgAAABQAAAAcCAYAAABh2p9gAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo0RkE1QUM1RjkxNkMxMUUzQjA3OUEzQTNEMUVGMjVDOCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo0RkE1QUM2MDkxNkMxMUUzQjA3OUEzQTNEMUVGMjVDOCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjRGQTVBQzVEOTE2QzExRTNCMDc5QTNBM0QxRUYyNUM4IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjRGQTVBQzVFOTE2QzExRTNCMDc5QTNBM0QxRUYyNUM4Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+7LqYtwAAAUBJREFUeNpi/P//PwM1ARMDlcGogYPQQBYQ4eDgQIza/SClQNwIxA3okgcOHCDZhRVAfA6I64F4EjW8fBLqwn1AnAvE8aQaqAc1QAZJ7DMQRwPxayDuAGIBYgwUAeL1QHwWGm6XgLgUSf4FEPcAsQQQ+xBjICh8AmARBgSCQNwFxEFIatYCMagQcEHXzGhvb09s6bAdiL2gbHYg/oEm/x8Y00ykRAofEvsvzlgGmsoIpIWBWBaIlYD4Bg61B5DY/ED8HRrjIH2yINchh+E7IH4CxPeBuAAam8jgBBD3IfEtgZgTiPdC9T1BySloYCcQ20DTmTg0tuegWVICjZSNWLMeFgBKKsU45EDi9kA8H4ivEmsgNsAKxEXQBH0TiMtwFg5EgvnQXHIFmibfUGrgeaghTdBIxAoYR2u9EWAgQIABAKKeRzEX0gXIAAAAAElFTkSuQmCC'; - } - - /** - * {@inheritdoc} - */ - public function getData() { - $data = $this->data; - - // Copy protected properties over public ones to - // let json_encode to find them. - $this->copyToPublic($data['drupal_extension']['modules']); - $this->copyToPublic($data['drupal_extension']['themes']); - - return $data; - } - - /** - * Copies protected properties to public ones. - * - * @param \Drupal\Core\Extension\Extension[] $extensions - */ - private function copyToPublic($extensions) { - foreach ($extensions as &$extension) { - $extension->public_type = $extension->getType(); - $extension->public_name = $extension->getName(); - $extension->public_path = $extension->getPath(); - $extension->public_pathname = $extension->getPathname(); - $extension->public_filename = $extension->getFilename(); - $extension->public_extension_pathname = $extension->getExtensionPathname(); - $extension->public_extension_filename = $extension->getExtensionFilename(); - } - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/FormsDataCollector.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/FormsDataCollector.php deleted file mode 100644 index d5e866d62..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/FormsDataCollector.php +++ /dev/null @@ -1,87 +0,0 @@ -formBuilder = $formBuilder; - - $this->data['forms'] = []; - } - - /** - * {@inheritdoc} - */ - public function collect(Request $request, Response $response, \Exception $exception = NULL) { - $this->data['forms'] = []; - - if ($this->formBuilder instanceof FormBuilderWrapper) { - $this->data['forms'] = $this->formBuilder->getBuildForm(); - } - } - - /** - * @return array - */ - public function getForms() { - return (!empty($this->data['forms']) && is_array($this->data['forms'])) ? $this->data['forms'] : []; - } - - /** - * @return int - */ - public function getFormsCount() { - return count($this->getForms()); - } - - /** - * {@inheritdoc} - */ - public function getName() { - return 'forms'; - } - - /** - * {@inheritdoc} - */ - public function getTitle() { - return $this->t('Forms'); - } - - /** - * {@inheritdoc} - */ - public function getPanelSummary() { - return $this->t('Rendered: @forms', ['@forms' => $this->getFormsCount()]); - } - - /** - * {@inheritdoc} - */ - public function getIcon() { - return 'iVBORw0KGgoAAAANSUhEUgAAABQAAAAcCAYAAABh2p9gAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo0RkE1QUM1QjkxNkMxMUUzQjA3OUEzQTNEMUVGMjVDOCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo0RkE1QUM1QzkxNkMxMUUzQjA3OUEzQTNEMUVGMjVDOCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjRGQTVBQzU5OTE2QzExRTNCMDc5QTNBM0QxRUYyNUM4IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjRGQTVBQzVBOTE2QzExRTNCMDc5QTNBM0QxRUYyNUM4Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+I7130QAAAKRJREFUeNrsVVsKxCAMzIgH8897eDHxGP55LX+0RmjpYxHdyrLsNl9iknEyExA5Z5oZgibH9wPKVlJrnVNKRwZCkPceQ4AhhOpUjJFaeaXUBRjssrW2FvDZGINS2GV9AQb3rpvCvZWhc24rKpdDmp17P2MKjzIFEAD16vdDi73Xbx2/pelZItnz6oiusneB32b4is0Iw8eUfzBlOiCef/l2LAIMAGACWQCJ5bXFAAAAAElFTkSuQmCC'; - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/HttpDataCollector.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/HttpDataCollector.php deleted file mode 100644 index 461b3bddd..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/HttpDataCollector.php +++ /dev/null @@ -1,176 +0,0 @@ -middleware = $middleware; - - $this->data['completed'] = []; - $this->data['failed'] = []; - } - - /** - * {@inheritdoc} - */ - public function collect(Request $request, Response $response, \Exception $exception = NULL) { - $completed = $this->middleware->getCompletedRequests(); - $failed = $this->middleware->getFailedRequests(); - - foreach ($completed as $data) { - /** @var \GuzzleHttp\Psr7\Request $request */ - $request = $data['request']; - /** @var \GuzzleHttp\Psr7\Response $response */ - $response = $data['response']; - /** @var \GuzzleHttp\TransferStats $stats */ - $stats = $request->stats; - - $uri = $request->getUri(); - $this->data['completed'][] = [ - 'request' => [ - 'method' => $request->getMethod(), - 'uri' => [ - 'schema' => $uri->getScheme(), - 'host' => $uri->getHost(), - 'port' => $uri->getPort(), - 'path' => $uri->getPath(), - 'query' => $uri->getQuery(), - 'fragment' => $uri->getFragment(), - ], - 'headers' => $request->getHeaders(), - 'protocol' => $request->getProtocolVersion(), - 'request_target' => $request->getRequestTarget(), - 'stats' => [ - 'transferTime' => $stats->getTransferTime(), - 'handlerStats' => $stats->getHandlerStats(), - ], - ], - 'response' => [ - 'phrase' => $response->getReasonPhrase(), - 'status' => $response->getStatusCode(), - 'headers' => $response->getHeaders(), - 'protocol' => $response->getProtocolVersion(), - ], - ]; - } - - foreach ($failed as $data) { - /** @var \GuzzleHttp\Psr7\Request $request */ - $request = $data['request']; - /** @var \GuzzleHttp\Psr7\Response $response */ - $response = $data['response']; - - $uri = $request->getUri(); - $failureData = [ - 'request' => [ - 'method' => $request->getMethod(), - 'uri' => [ - 'schema' => $uri->getScheme(), - 'host' => $uri->getHost(), - 'port' => $uri->getPort(), - 'path' => $uri->getPath(), - 'query' => $uri->getQuery(), - 'fragment' => $uri->getFragment(), - ], - 'headers' => $request->getHeaders(), - 'protocol' => $request->getProtocolVersion(), - 'request_target' => $request->getRequestTarget(), - ], - ]; - - if ($response) { - $failureData['response'] = [ - 'phrase' => $response->getReasonPhrase(), - 'status' => $response->getStatusCode(), - 'headers' => $response->getHeaders(), - 'protocol' => $response->getProtocolVersion(), - ]; - } - - $this->data['failed'][] = $failureData; - } - } - - /** - * @return int - */ - public function getCompletedRequestsCount() { - return count($this->getCompletedRequests()); - } - - /** - * @return array - */ - public function getCompletedRequests() { - return $this->data['completed']; - } - - /** - * @return int - */ - public function getFailedRequestsCount() { - return count($this->getFailedRequests()); - } - - /** - * @return array - */ - public function getFailedRequests() { - return $this->data['failed']; - } - - /** - * {@inheritdoc} - */ - public function getName() { - return 'http'; - } - - /** - * {@inheritdoc} - */ - public function getTitle() { - return $this->t('Http'); - } - - /** - * {@inheritdoc} - */ - public function getPanelSummary() { - return $this->t( - 'Completed @completed, error @error', [ - '@completed' => $this->getCompletedRequestsCount(), - '@error' => $this->getFailedRequestsCount(), - ] - ); - } - - /** - * {@inheritdoc} - */ - public function getIcon() { - return 'iVBORw0KGgoAAAANSUhEUgAAABUAAAAcCAYAAACOGPReAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAATlJREFUeNrsleERgjAMha0TdISOwAZ2BEZghI7ABo7AOQFuwAjoBLgBblBbfb0LudByp/4jdw+PNnxtkqYq7/3h13Y8/MF26B9spfo6yAX1QSa6EY2Y0xLrzROgddAMOcgLmuFbhDqyG00W8Rm1JWgEWCG0oQBuJKjGigNUs/xWUJdJheZQJzhZFGkgKWkw1mM8bmTCvOPQcSVXrTA+Ydc0kujXJGg6p5VwrG5BJzb2CLriN9kT74afUylPloQ+kdDPELXpg1qGvwbtURwjFGkkC8RIZw6d2QeO7MII81wRbDm0Z068Zf0G1bxQl8z1UH1zoQwk9NRZdkPoHt+KbZoqa+HYZS4T3iimdEvRDrIF4KIRclBNjk+uSB2/eBJUvR9KSek26BZHOit2zl3oqkV91P6//3N7CTAAIIc/qj2gy4gAAAAASUVORK5CYII='; - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/MailDataCollector.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/MailDataCollector.php deleted file mode 100644 index 39899929e..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/MailDataCollector.php +++ /dev/null @@ -1,103 +0,0 @@ -messages = []; - } - - /** - * Collects data for the given Request and Response. - * - * @param \Symfony\Component\HttpFoundation\Request $request - * A Request instance. - * @param \Symfony\Component\HttpFoundation\Response $response - * A Response instance. - * @param \Exception $exception - * An Exception instance. - * - * @api - */ - public function collect(Request $request, Response $response, \Exception $exception = NULL) { - $this->data['mail'] = $this->messages; - } - - /** - * @param $message - * @param \Drupal\Core\Mail\MailInterface $mail - */ - public function addMessage($message, MailInterface $mail) { - $class = get_class($mail); - $method = $this->getMethodData($class, 'mail'); - - $this->messages[] = [ - 'message' => $message, - 'method' => $method, - ]; - } - - /** - * @return int - */ - public function getMailSent() { - return count($this->data['mail']); - } - - /** - * Returns the name of the collector. - * - * @return string The collector name - * - * @api - */ - public function getName() { - return 'mail'; - } - - /** - * Returns the datacollector title. - * - * @return string - * The datacollector title. - */ - public function getTitle() { - return $this->t('Mail'); - } - - /** - * {@inheritdoc} - */ - public function getPanelSummary() { - return $this->t('Total: @count', ['@count' => $this->getMailSent()]); - } - - /** - * {@inheritdoc} - */ - public function getIcon() { - return 'iVBORw0KGgoAAAANSUhEUgAAABcAAAAcCAYAAACK7SRjAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6N0NEOTU1MjM0OThFMTFFMDg3NzJBNTE2ODgwQzMxMzQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6N0NEOTU1MjQ0OThFMTFFMDg3NzJBNTE2ODgwQzMxMzQiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoxMEQ5OTQ5QzQ5OEMxMUUwODc3MkE1MTY4ODBDMzEzNCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo3Q0Q5NTUyMjQ5OEUxMUUwODc3MkE1MTY4ODBDMzEzNCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PpkRnSAAAAJ0SURBVHjaYvz//z8DrQATAw3BqOFYAaO9vT1FBhw4cGCAXA5MipxBQUHT3r17l0AVAxkZ/wkLC89as2ZNIcjlYkALXKnlWqBZTH/+/PEDmQsynLW/v3+NoaHhN2oYDjJn8uTJK4BMNpDhPwsLCwOKiop2+fn5vafEYC8vrw8gc/Lz8wOB3B8gw/nev38vn5WV5eTg4LA/Ly/vESsrK2npmYmJITU19SnQ8L0gc4DxpwgyF2S4EEjB58+f+crLy31YWFjOt7S0XBYUFPxHjMEcHBz/6+rqboqJiZ0qKSnxBpkDlRICGc4MU/j792+2CRMm+L18+fLSxIkTDykoKPzBZ7CoqOi/np6eE8rKylvb29v9fvz4wYEkzYKRzjk5OX/LyMjcnDRpEkjjdisrK6wRraOj8wvokAMLFy788ejRoxcaGhrPCWai4ODgB8DUE3/mzBknYMToASNoMzAfvEVW4+Tk9LmhoWFbTU2NwunTpx2BjiiMjo6+hm4WCzJHUlLyz+vXrxkfP36sDOI/ffpUPikpibe7u3sLsJjQW7VqlSrQxe+Avjmanp7u9PbtWzGQOmCCkARmmu/m5uYfT548yY/V5UpKSl+2b9+uiiz26dMnIWBSDTp27NgdYGrYCIzwE7m5uR4wg2Hg/PnzSsDI/QlKOcjZ3wGUBLm5uf+DwLdv38gub4AG/xcSEvr35s0bZmCB5sgCE/z69SsjyDJKMtG/f/8YQQYD8wkoGf8H51AbG5sH1CpbQBnQ09PzBiiHgoIFFHlBQGwLxLxUMP8dqJgH4k3gIhfIkAKVYkDMTmmhCHIxEL8A4peMo02L4WU4QIABANxZAoDIQDv3AAAAAElFTkSuQmCC'; - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/PerformanceTimingDataCollector.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/PerformanceTimingDataCollector.php deleted file mode 100644 index e0e207caa..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/PerformanceTimingDataCollector.php +++ /dev/null @@ -1,84 +0,0 @@ -data['performance'] = $data; - } - - /** - * {@inheritdoc} - */ - public function getName() { - return 'performance_timing'; - } - - /** - * {@inheritdoc} - */ - public function getTitle() { - return $this->t('Performance Timing'); - } - - /** - * {@inheritdoc} - */ - public function getPanelSummary() { - if (isset($this->data['performance'])) { - $performanceData = new PerformanceTimingData($this->data['performance']); - return $this->t('TTFB: @ttfb', ['@ttfb' => sprintf('%.0f ms', $performanceData->getTtfbTiming())]); - } - - return NULL; - } - - /** - * {@inheritdoc} - */ - public function getIcon() { - return 'iVBORw0KGgoAAAANSUhEUgAAABUAAAAcCAYAAACOGPReAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAQJJREFUeNpi/P//PwO1ARMDDcCooUPEUEYi1AgAcQIQ+0P5H4B4IxAvwKaYmCSqAMT7gbgBajhMrB8qLkCsoQFQQ0CuOw/EBjgsLIAajmEouvdBhukD8UQgdkASwwXuA7EhNEhwuvQ8iXHSj2Q53FBY7BtADVxIoqEfoQYnYJPEF3bEROZ6WDDBvO+ALcCxJCsBAmpA4SuA7P2PBDQUEOGTDTA1TNCYs6dCRgIlxQswQ0GMB0A8nwgv4gqa+VCXgpMWC1QiEerF9WgaDmJJp/OhkUNIHUHQgJ4ecQHkiMKXXALQIowqpdR8pJi/AA0qvC4lFsyHYqK8zzhaRQ8NQwECDABNaU12xhTp2QAAAABJRU5ErkJggg=='; - } - - /** - * {@inheritdoc} - */ - public function getData() { - $data = $this->data; - - if (isset($this->data['performance'])) { - $performanceData = new PerformanceTimingData($this->data['performance']); - $data['performance']['computed']['DNS lookup time'] = $performanceData->getDNSTiming(); - $data['performance']['computed']['TCP handshake time'] = $performanceData->getTCPTiming(); - $data['performance']['computed']['Time to first byte'] = $performanceData->getTtfbTiming(); - $data['performance']['computed']['Data download time'] = $performanceData->getDataTiming(); - $data['performance']['computed']['DOM building time'] = $performanceData->getDomTiming(); - } - - return $data; - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/PhpConfigDataCollector.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/PhpConfigDataCollector.php deleted file mode 100644 index 461c8e9b6..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/PhpConfigDataCollector.php +++ /dev/null @@ -1,163 +0,0 @@ -data = [ - 'token' => $response->headers->get('X-Debug-Token'), - 'php_version' => PHP_VERSION, - 'xdebug_enabled' => extension_loaded('xdebug'), - 'xhprof_enabled' => extension_loaded('xhprof'), - 'eaccel_enabled' => extension_loaded('eaccelerator') && ini_get('eaccelerator.enable'), - 'apc_enabled' => extension_loaded('apc') && ini_get('apc.enabled'), - 'xcache_enabled' => extension_loaded('xcache') && ini_get('xcache.cacher'), - 'wincache_enabled' => extension_loaded('wincache') && ini_get('wincache.ocenabled'), - 'zend_opcache_enabled' => extension_loaded('Zend OPcache') && ini_get('opcache.enable'), - 'sapi_name' => php_sapi_name(), - ]; - } - - /** - * Gets the token. - * - * @return string The token - */ - public function getToken() { - return $this->data['token']; - } - - /** - * Gets the PHP version. - * - * @return string The PHP version - */ - public function getPhpVersion() { - return $this->data['php_version']; - } - - /** - * Returns true if the XDebug is enabled. - * - * @return Boolean true if XDebug is enabled, false otherwise - */ - public function hasXDebug() { - return $this->data['xdebug_enabled']; - } - - /** - * Returns true if the XHProf is enabled. - * - * @return Boolean true if XHProf is enabled, false otherwise - */ - public function hasXHProf() { - return $this->data['xhprof_enabled']; - } - - /** - * Returns true if EAccelerator is enabled. - * - * @return Boolean true if EAccelerator is enabled, false otherwise - */ - public function hasEAccelerator() { - return $this->data['eaccel_enabled']; - } - - /** - * Returns true if APC is enabled. - * - * @return Boolean true if APC is enabled, false otherwise - */ - public function hasApc() { - return $this->data['apc_enabled']; - } - - /** - * Returns true if Zend OPcache is enabled. - * - * @return Boolean true if Zend OPcache is enabled, false otherwise - */ - public function hasZendOpcache() { - return $this->data['zend_opcache_enabled']; - } - - /** - * Returns true if XCache is enabled. - * - * @return Boolean true if XCache is enabled, false otherwise - */ - public function hasXCache() { - return $this->data['xcache_enabled']; - } - - /** - * Returns true if WinCache is enabled. - * - * @return Boolean true if WinCache is enabled, false otherwise - */ - public function hasWinCache() { - return $this->data['wincache_enabled']; - } - - /** - * Returns true if any accelerator is enabled. - * - * @return Boolean true if any accelerator is enabled, false otherwise - */ - public function hasAccelerator() { - return $this->hasApc() || $this->hasZendOpcache() || $this->hasEAccelerator() || $this->hasXCache() || $this->hasWinCache(); - } - - /** - * Gets the PHP SAPI name. - * - * @return string The environment - */ - public function getSapiName() { - return $this->data['sapi_name']; - } - - /** - * {@inheritdoc} - */ - public function getTitle() { - return $this->t('PHP Config'); - } - - /** - * {@inheritdoc} - */ - public function getPanelSummary() { - return $this->t('PHP: @version', ['@version' => $this->getPhpVersion()]); - } - - /** - * {@inheritdoc} - */ - public function getName() { - return 'php_config'; - } - - /** - * {@inheritdoc} - */ - public function getIcon() { - return 'iVBORw0KGgoAAAANSUhEUgAAABUAAAAcCAMAAAC5xgRsAAAAZlBMVEX///////////////////////////////////////////////////////////////////////////////////////////+ZmZmZmZlISEhJSUmdnZ1HR0fR0dFZWVlpaWlfX18/Pz+puygPAAAAIXRSTlMACwwlJygpLzIzNjs8QEtMUmd6e32AucDBw8fIydTm6u5l8MjvAAAAo0lEQVR42r2P2Q6CMBBFL6XsZRGRfZv//0nbDBNEE19MnJeTc5ILKf58ahiUwzy/AJpIWwREwQnEXRdbGCLjrO+djWRvVMiJcigxB7viGogxDdJpSmHEmCVPS7YczJvgUu+CS30IvtbNYZMvsGVo2mVpG/kbm4auiCpdcC3YPCAhSpAdUzaAn6qPKZtUT6ZSzb4bi2hdo9MQ1nX4ASjfV+/4/Z40pyCHrNTbIgAAAABJRU5ErkJggg=='; - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/RequestDataCollector.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/RequestDataCollector.php deleted file mode 100644 index 57b2e6d32..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/RequestDataCollector.php +++ /dev/null @@ -1,112 +0,0 @@ -controllerResolver = $controllerResolver; - $this->accessCheck = []; - } - - /** - * {@inheritdoc} - */ - public function collect(Request $request, Response $response, \Exception $exception = NULL) { - parent::collect($request, $response, $exception); - - if ($controller = $this->controllerResolver->getController($request)) { - $this->data['controller'] = $this->getMethodData($controller[0], $controller[1]); - $this->data['access_check'] = $this->accessCheck; - } - } - - /** - * @param $service_id - * @param $callable - * @param \Symfony\Component\HttpFoundation\Request $request - */ - public function addAccessCheck($service_id, $callable, Request $request) { - $this->accessCheck[$request->getPathInfo()][] = [ - 'service_id' => $service_id, - 'callable' => $this->getMethodData($callable[0], $callable[1]), - ]; - } - - /** - * {@inheritdoc} - */ - public function getTitle() { - return $this->t('Request'); - } - - /** - * {@inheritdoc} - */ - public function getPanelSummary() { - return $this->data['status_code'] . ' ' . $this->data['status_text']; - } - - /** - * {@inheritdoc} - */ - public function getIcon() { - return 'iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAQAAADYBBcfAAACvElEQVR42tVTbUhTYRTerDCnKVoUUr/KCZmypA9Koet0bXNLJ5XazDJ/WFaCUY0pExRZXxYiJgsxWWjkaL+yK+po1gjyR2QfmqWxtBmaBtqWGnabT++c11Fu4l/P4VzOPc95zoHznsNZodIbLDdRcKnc1Bu8DAK45ZsOnykQNMopsNooLxCknb0cDq5vml9FtHiIgpBR0R6iihYyFMTDt2Lg56ObPkI6TMGXSof1EV67IqCwisJSWliFAG/E0CfFIiebdNypcxi/1zgyFiIiZ3sJQr0RQx5frLa6k7SOKRo3oMFNR5t62h2rttKXEOKFqDCxtXNmmBokO2KKTlp3IdWuT2dYRNGKwEXEBCcL172G5FG0aIxC0kR9PBTVH1kkwQn+IqJnCE33EalVzT9GJQS1tAdD3CKicJYFrxqx7W2ejCEdZy1FiC5tZxHhLJKOZaRdQJAyV/YAvDliySALHxmxR4Hqe2iwvaOR/CEuZYJFSgYhVbZRkA8KGdEktrqnqra90NndCdkt77fjIHIhexOrfO6O3bbbOj/rqu5IptgyR3sU93QbOYhquZK4MCDp0Ina/PLsu5JvbCTRaapUdUmIV/RzoMdsk/0hWRNdAvKOmvqlN0drsJbJf1P4YsQ5lGrJeuosiOUgbOC8cto3LfOXTdVd7BqZsQKbse+0jUL6WPcesqs4MNSUTQAxGjwFiC8m3yzmqwHJBWYKBJ9WNqW/dHkpU/osch1Yj5RJfXPfSEe/2UPsN490NPfZG5CKyJmcV5ayHyzy7BMqsXfuHhGK/cjAIeSpR92gehR55D8TcQhDEKJwytBJ4fr4NULvrEM8NszfJPyxDoHYAQ1oPCWmIX4gifmDS/DV2DKeb25FHWr76yEG7/9L4YFPeiQQ4/8LkgJ8Et+NncTCsYqzXAEXa7CWdPZzGWdlyV+vST0JanfPvwAAAABJRU5ErkJggg=='; - } - - /** - * @return array|string - */ - public function getData() { - // Drupal 8.5+ uses Symfony 3.4.x that changes the way the Request data are - // collected. Data is altered with \Symfony\Component\HttpKernel\DataCollector\DataCollector::cloneVar. - // The stored data (of type \Symfony\Component\VarDumper\Cloner\Data) is - // suitable to be converted to a string by a Dumper (\Symfony\Component\VarDumper\Dumper\DataDumperInterface). - // In our implementation however we need that data as an array, to be later - // converted in a json response by a REST endpoint. We need to refactor the - // whole way Web Profiler works to allow that. At the moment we just - // retrieve the raw Data value and do some string manipulation to clean the - // output a bit. - $data = $this->data->getValue(TRUE); - unset($data['request_attributes']['_route_params']); - unset($data['request_attributes']['_access_result']); - - $route_object = []; - foreach ($data['request_attributes']['_route_object'] as $key => $result) { - $key = str_replace("\0", '', $key); - $key = str_replace('Symfony\Component\Routing\Route', 'Symfony\Component\Routing\Route::', $key); - $route_object[$key] = $result; - } - $data['request_attributes']['_route_object'] = $route_object; - - return $data; - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/RoutingDataCollector.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/RoutingDataCollector.php deleted file mode 100644 index e9495c4f2..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/RoutingDataCollector.php +++ /dev/null @@ -1,92 +0,0 @@ -routeProvider = $routeProvider; - } - - /** - * {@inheritdoc} - */ - public function collect(Request $request, Response $response, \Exception $exception = NULL) { - $this->data['routing'] = []; - foreach ($this->routeProvider->getAllRoutes() as $route_name => $route) { - // @TODO Find a better visual representation. - $this->data['routing'][] = [ - 'name' => $route_name, - 'path' => $route->getPath(), - ]; - } - } - - /** - * @return int - */ - public function getRoutesCount() { - return count($this->routing()); - } - - /** - * Twig callback for displaying the routes. - */ - public function routing() { - return $this->data['routing']; - } - - /** - * {@inheritdoc} - */ - public function getTitle() { - return $this->t('Routing'); - } - - /** - * {@inheritdoc} - */ - public function getName() { - return 'routing'; - } - - /** - * {@inheritdoc} - */ - public function getPanelSummary() { - return $this->t('Defined routes: @route', ['@route' => $this->getRoutesCount()]); - } - - /** - * {@inheritdoc} - */ - public function getIcon() { - return 'iVBORw0KGgoAAAANSUhEUgAAABUAAAAcCAYAAACOGPReAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAPxJREFUeNrkVsERREAQ7D0koXwlIAISkIGXvwAkoJSfHITg5SMUVR4eMuCxZ1xxV+5uuTL30lV8bPX09PSuFVJKcOOGP+DipLrrusoFdV1Lz/NgmiaKosC0XrAopYT0fc/f/jAMa41Pj23bkrpi9bRpGmRZ9lRKFSzLkl9UHMI4jijLcuaaSZMkQdd1fNMn5r0EHIFhGEjTlDenYRjCcZyHUnqRwXEcz77sYepM+Z1yTOEXZEFVVYcUba2iItsNcbr9IAiw5HMd1CJZtU1VpG3bIooi3gPF933keY43pb9gb1Bskdrap58luMjvRNO04wcK18RfIa59mbgLMAASuWsKAyoEhgAAAABJRU5ErkJggg=='; - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/ServicesDataCollector.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/ServicesDataCollector.php deleted file mode 100644 index fc885fc8d..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/ServicesDataCollector.php +++ /dev/null @@ -1,163 +0,0 @@ -container = $container; - } - - /** - * {@inheritdoc} - */ - public function collect(Request $request, Response $response, \Exception $exception = NULL) { - if ($this->getServicesCount()) { - - $tracedData = []; - if ($this->container instanceof TraceableContainer) { - $tracedData = $this->container->getTracedData(); - } - - foreach (array_keys($this->getServices()) as $id) { - $this->data['services'][$id]['initialized'] = ($this->container->initialized($id)) ? TRUE : FALSE; - $this->data['services'][$id]['time'] = isset($tracedData[$id]) ? $tracedData[$id] : NULL; - } - } - } - - /** - * @param $services - */ - public function setServices($services) { - $this->data['services'] = $services; - } - - /** - * @return array - */ - public function getServices() { - return $this->data['services']; - } - - /** - * @return int - */ - public function getServicesCount() { - return count($this->getServices()); - } - - /** - * @return array - */ - public function getInitializedServices() { - return array_filter($this->getServices(), function ($item) { - return $item['initialized']; - }); - } - - /** - * @return int - */ - public function getInitializedServicesCount() { - return count($this->getInitializedServices()); - } - - /** - * @return array - */ - public function getInitializedServicesWithoutWebprofiler() { - return array_filter($this->getInitializedServices(), function ($item) { - return strpos($item['value']['id'], 'webprofiler') !== 0; - }); - } - - /** - * @return int - */ - public function getInitializedServicesWithoutWebprofilerCount() { - return count($this->getInitializedServicesWithoutWebprofiler()); - } - - /** - * {@inheritdoc} - */ - public function getName() { - return 'services'; - } - - /** - * {@inheritdoc} - */ - public function getTitle() { - return $this->t('Services'); - } - - /** - * {@inheritdoc} - */ - public function getPanelSummary() { - return $this->t('Initialized: @count', [ - '@count' => $this->getInitializedServicesCount(), - ]); - } - - /** - * {@inheritdoc} - */ - public function getIcon() { - return 'iVBORw0KGgoAAAANSUhEUgAAABUAAAAcCAYAAACOGPReAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAQVJREFUeNrkVe0NgjAQBeMAdYO6AWxQNtANGEFHcALZANyADegGsIFsIBvgu6Q/LtWmxdTEjyYvd6Hw8t5de6TzPCex1yp5w/pz0rVrQymVIXSAACqt9TGG0p0hpHWIZb9lebWENOXn1FgWbL8GJHACNHs+ohyjlxSEZPEcKGYC6SbEvljgUHzEOR3IXiiB6YOTlLqdo1Y54tZHDLIauCHtETtn962P6EUVqhhi0gelIJEEk1MjMg9Py9xol/0SuBqFva/DULY3ZSqQF767v8TyZKv83tFXWVaEufsUG+DCr2nwQLGOlGQNizZPy3fMU16K5uV5+qQEpFTC+hCN9Pd/0XcBBgBxwVqjDkAznAAAAABJRU5ErkJggg=='; - } - - /** - * @return array - */ - public function getData() { - $data = $this->data; - - $http_middleware = array_filter($data['services'], function ($service) { - return isset($service['value']['tags']['http_middleware']); - }); - - foreach ($http_middleware as &$service) { - $service['value']['handle_method'] = $this->getMethodData($service['value']['class'], 'handle'); - } - - uasort($http_middleware, function ($a, $b) { - $va = $a['value']['tags']['http_middleware'][0]['priority']; - $vb = $b['value']['tags']['http_middleware'][0]['priority']; - - if ($va == $vb) { - return 0; - } - return ($va > $vb) ? -1 : 1; - }); - - $data['http_middleware'] = $http_middleware; - - return $data; - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/StateDataCollector.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/StateDataCollector.php deleted file mode 100644 index 19f057fcb..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/StateDataCollector.php +++ /dev/null @@ -1,66 +0,0 @@ -data['state_get'][$key] = isset($this->data['state_get'][$key]) ? $this->data['state_get'][$key] + 1 : 1; - } - - /** - * Twig callback to show all requested state keys. - */ - public function getStateKeysCount() { - return count($this->data['state_get']); - } - - /** - * {@inheritdoc} - */ - public function getTitle() { - return $this->t('State'); - } - - /** - * {@inheritdoc} - */ - public function getName() { - return 'state'; - } - - /** - * {@inheritdoc} - */ - public function getPanelSummary() { - return $this->t('Total: @variables', ['@variables' => $this->getStateKeysCount()]); - } - - /** - * {@inheritdoc} - */ - public function getIcon() { - return 'iVBORw0KGgoAAAANSUhEUgAAABUAAAAcCAYAAACOGPReAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIE1hY2ludG9zaCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2Njc3QTVERTkxNkMxMUUzQjA3OUEzQTNEMUVGMjVDOCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo2Njc3QTVERjkxNkMxMUUzQjA3OUEzQTNEMUVGMjVDOCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjY2NzdBNURDOTE2QzExRTNCMDc5QTNBM0QxRUYyNUM4IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjY2NzdBNUREOTE2QzExRTNCMDc5QTNBM0QxRUYyNUM4Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+tji6wwAAAUFJREFUeNpi/P//PwO1ARMDDcDQMZSBgZExE4h/AvF/KuA/QFzKCCS+TZ40iVNeXp5i9718+ZIhNS3tL5OoqChVDAQBcXFxBqBZzDQJU0Z2Do7/FubmVDPwzNmzwymdhoSEgDEM8PDwgPkJCQk49bDgMxCkEWQAyKAXL14wXLhwgWHChAlguTVr1pBnKMiwgoICsEEgC+7cuQPGHR0deH3HzMLC0iAjI4NV8tSpUwzv3r1jYGNjY3BycoJbgg88e/6cuIg6cuQImAZ5n2qx7+HhAaZtbGzArqXYUJCBIAwKR1jMq6ioMBgYGJAeURUVFWCNsHAERRAsKYFofJGF01CQIaBktGPHDjANAjU1NWBXg8IWX/gOobz/8+fP7x8/fqSKYV++fGH4+vXrX1B1EgXET6hUnTwH4jTG0Xqf6gAgwABnDJn0eW/JMwAAAABJRU5ErkJggg=='; - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/ThemeDataCollector.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/ThemeDataCollector.php deleted file mode 100644 index 5fb38c812..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/ThemeDataCollector.php +++ /dev/null @@ -1,258 +0,0 @@ -themeManager = $themeManager; - $this->themeNegotiator = $themeNegotiator; - $this->profile = $profile; - } - - /** - * {@inheritdoc} - */ - public function collect(Request $request, Response $response, \Exception $exception = NULL) { - $activeTheme = $this->themeManager->getActiveTheme(); - - $this->data['activeTheme'] = [ - 'name' => $activeTheme->getName(), - 'path' => $activeTheme->getPath(), - 'engine' => $activeTheme->getEngine(), - 'owner' => $activeTheme->getOwner(), - 'baseThemes' => $activeTheme->getBaseThemeExtensions(), - 'extension' => $activeTheme->getExtension(), - 'styleSheetsRemove' => $activeTheme->getStyleSheetsRemove(), - 'libraries' => $activeTheme->getLibraries(), - 'regions' => $activeTheme->getRegions(), - ]; - - if ($this->themeNegotiator instanceof ThemeNegotiatorWrapper) { - $this->data['negotiator'] = [ - 'class' => $this->getMethodData($this->themeNegotiator->getNegotiator(), 'determineActiveTheme'), - 'id' => $this->themeNegotiator->getNegotiator()->_serviceId, - ]; - } - } - - /** - * {@inheritdoc} - */ - public function lateCollect() { - $this->data['twig'] = serialize($this->profile); - } - - /** - * @return string - */ - public function getActiveTheme() { - return $this->data['activeTheme']; - } - - /** - * @return array - */ - public function getThemeNegotiator() { - return $this->data['negotiator']; - } - - /** - * @return int - */ - public function getTime() { - return $this->getProfile()->getDuration() * 1000; - } - - /** - * @return mixed - */ - public function getTemplateCount() { - return $this->getComputedData('template_count'); - } - - /** - * @return mixed - */ - public function getTemplates() { - return $this->getComputedData('templates'); - } - - /** - * @return mixed - */ - public function getBlockCount() { - return $this->getComputedData('block_count'); - } - - /** - * @return mixed - */ - public function getMacroCount() { - return $this->getComputedData('macro_count'); - } - - /** - * @return \Twig_Markup - */ - public function getHtmlCallGraph() { - $dumper = new HtmlDumper(); - - return new \Twig_Markup($dumper->dump($this->getProfile()), 'UTF-8'); - } - - /** - * {@inheritdoc} - */ - public function getName() { - return 'theme'; - } - - /** - * {@inheritdoc} - */ - public function getTitle() { - return $this->t('Theme'); - } - - /** - * {@inheritdoc} - */ - public function getPanelSummary() { - return $this->t('Name: @name', ['@name' => $this->getActiveTheme()['name']]); - } - - /** - * {@inheritdoc} - */ - public function getIcon() { - return 'iVBORw0KGgoAAAANSUhEUgAAABUAAAAcCAYAAACOGPReAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAlVJREFUeNrMlk1IVFEUx53K6AOjUBQri6SihQiRziaRQegDlKJFBCpSiZtoE4hWtFFRwcCVBqEWfaAE7SoXajXLQoRcFAUSaBgUJQxKYUrT78D/wevx3psaE7rw49x377ln7vl4500kmUxm/OuxJmMVxrqwzVgsth5xHKogCnthCd7BU7gdj8envOciQe5j8CyiFQq0tAgDsA+OaG0eLmF4INQoxrYg+iEXhqEGiqGBw/3SGUeU6MgC61mBMUU5GzEKJ6ES5S5knbbXui/jmv8MjCkGMxEPFbsFyAeL1y6pXEenSO4fctlIhCXqqtmGj5ADcblZoX1z8aLn/Es475soDhcyfwt3LPDK8jPYFlIcZrCCEH0LqlP7NXN/CCUL/CvmkynKcczPoNv9Y5LXuHVC2Y6mMFoetOG4/0kl9LfDquMyN076ue/I11ANHSqVH0pgLUz7GK2HjUHuf1DGm/jVYZVYJeILz5163oy46Tn/GL5r396yc+hXOzcckiyVQp7CsVNvmI2DHoODcMFcR6eZ+RO4747pJuYjcFilssMM6vB7+Or8IGMWWjDWx7ntzHvglCWZtfbf3n0UtiJ6FVO/8QbuQh+H59C37nUD9sAj1k6ENZQylctuJWsGJswDDibY32C3gitKsCUwyt7nlK0vpMc2Wh/Q4zIcxeDztDu/QjSoPmujzWswZef3GLRXuV2xPa3u/yDwjfoDgxE1nP1aquOG91b64StWlp0xtaKvKbfMUS1maukWvEj7a6pxBg6oL1iddnsbSFox/S/+TKyK0V8CDABrCdI/1oTqiQAAAABJRU5ErkJggg=='; - } - - /** - * @return array - */ - public function getData() { - $data = $this->data; - - $data['twig'] = [ - 'callgraph' => (string) $this->getHtmlCallGraph(), - 'render_time' => $this->getTime(), - 'template_count' => $this->getTemplateCount(), - 'templates' => $this->getTemplates(), - 'block_count' => $this->getBlockCount(), - 'macro_count' => $this->getMacroCount(), - ]; - - return $data; - } - - /** - * @return mixed|\Twig_Profiler_Profile - */ - private function getProfile() { - if (NULL === $this->profile) { - $this->profile = unserialize($this->data['twig']); - } - - return $this->profile; - } - - /** - * @param $index - * - * @return mixed - */ - private function getComputedData($index) { - if (NULL === $this->computed) { - $this->computed = $this->computeData($this->getProfile()); - } - - return $this->computed[$index]; - } - - /** - * @param \Twig_Profiler_Profile $profile - * - * @return array - */ - private function computeData(\Twig_Profiler_Profile $profile) { - $data = [ - 'template_count' => 0, - 'block_count' => 0, - 'macro_count' => 0, - ]; - - $templates = []; - foreach ($profile as $p) { - $d = $this->computeData($p); - - $data['template_count'] += ($p->isTemplate() ? 1 : 0) + $d['template_count']; - $data['block_count'] += ($p->isBlock() ? 1 : 0) + $d['block_count']; - $data['macro_count'] += ($p->isMacro() ? 1 : 0) + $d['macro_count']; - - if ($p->isTemplate()) { - if (!isset($templates[$p->getTemplate()])) { - $templates[$p->getTemplate()] = 1; - } - else { - $templates[$p->getTemplate()]++; - } - } - - foreach ($d['templates'] as $template => $count) { - if (!isset($templates[$template])) { - $templates[$template] = $count; - } - else { - $templates[$template] += $count; - } - } - } - $data['templates'] = $templates; - - return $data; - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/TimeDataCollector.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/TimeDataCollector.php deleted file mode 100644 index 0a19fb167..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/TimeDataCollector.php +++ /dev/null @@ -1,157 +0,0 @@ -data['memory_limit'] = $this->convertToBytes(ini_get('memory_limit')); - $this->updateMemoryUsage(); - } - - /** - * {@inheritdoc} - */ - public function lateCollect() { - parent::lateCollect(); - - $this->updateMemoryUsage(); - } - - /** - * Gets the memory. - * - * @return int - * The memory - */ - public function getMemory() { - return $this->data['memory']; - } - - /** - * Gets the PHP memory limit. - * - * @return int - * The memory limit - */ - public function getMemoryLimit() { - return $this->data['memory_limit']; - } - - /** - * Updates the memory usage data. - */ - public function updateMemoryUsage() { - $this->data['memory'] = memory_get_peak_usage(TRUE); - } - - /** - * {@inheritdoc} - */ - public function getTitle() { - return $this->t('Timeline'); - } - - /** - * {@inheritdoc} - */ - public function getPanelSummary() { - return $this->t('Duration: @duration', ['@duration' => sprintf('%.0f ms', $this->getDuration())]); - } - - /** - * {@inheritdoc} - */ - public function getIcon() { - return 'iVBORw0KGgoAAAANSUhEUgAAABAAAAAcCAYAAABoMT8aAAABqUlEQVR42t2Vv0sCYRyHX9OmEhsMx/YKGlwLQ69DTEUSBJEQEy5J3FRc/BsuiFqEIIcQIRo6ysUhoaBBWhoaGoJwiMJLglRKrs8bXgienmkQdPDAwX2f57j3fhFJkkbiPwTK5bIiFoul3kmPud8MqKMewDXpwuGww+12n9hsNhFnlijYf/Z4PDmO45Yxo+10ZFGTyWRMEItU6AdCx7lczkgd6n7J2Wx2xm63P6jJMk6n80YQBBN1aUDv9XqvlAbbm2LE7/cLODRB0un0VveAeoDC8/waCQQC18MGQqHQOcEKvw8bcLlcL6TfYnVtCrGRAlartUUYhmn1jKg/E3USjUYfhw3E4/F7ks/nz4YNFIvFQ/ogbUYikdefyqlU6gnuOg2YK5XKvs/n+xhUDgaDTVEUt+HO04ABOBA5isViDTU5kUi81Wq1AzhWMEkDGmAEq2C3UCjcYXGauDvfEsuyUjKZbJRKpVvM8IABU9SVX+cxYABmwIE9cFqtVi9xtgvsC2AHbIAFoKey0gdlHEyDObAEWLACFsEsMALdIJ80+dK0bTS95v7+v/AJnis0eO906QwAAAAASUVORK5CYII='; - } - - /** - * {@inheritdoc} - */ - public function getLibraries() { - return [ - 'webprofiler/timeline', - ]; - } - - /** - * {@inheritdoc} - */ - public function getDrupalSettings() { - /** @var \Symfony\Component\Stopwatch\StopwatchEvent[] $collectedEvents */ - $collectedEvents = $this->getEvents(); - - if (!empty($collectedEvents)) { - $sectionPeriods = $collectedEvents['__section__']->getPeriods(); - $endTime = end($sectionPeriods)->getEndTime(); - $events = []; - - foreach ($collectedEvents as $key => $collectedEvent) { - if ('__section__' != $key) { - $periods = []; - foreach ($collectedEvent->getPeriods() as $period) { - $periods[] = [ - 'start' => sprintf("%F", $period->getStartTime()), - 'end' => sprintf("%F", $period->getEndTime()), - ]; - } - - $events[] = [ - "name" => $key, - "category" => $collectedEvent->getCategory(), - "origin" => sprintf("%F", $collectedEvent->getOrigin()), - "starttime" => sprintf("%F", $collectedEvent->getStartTime()), - "endtime" => sprintf("%F", $collectedEvent->getEndTime()), - "duration" => sprintf("%F", $collectedEvent->getDuration()), - "memory" => sprintf("%.1F", $collectedEvent->getMemory() / 1024 / 1024), - "periods" => $periods, - ]; - } - } - - return ['time' => ['events' => $events, 'endtime' => $endTime]]; - } - else { - return ['time' => ['events' => [], 'endtime' => 0]]; - } - } - - /** - * @return array - */ - public function getData() { - $data = $this->data; - - $data['duration'] = $this->getDuration(); - $data['initTime'] = $this->getInitTime(); - - return $data; - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/TranslationsDataCollector.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/TranslationsDataCollector.php deleted file mode 100644 index a3ab1418f..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/TranslationsDataCollector.php +++ /dev/null @@ -1,100 +0,0 @@ -translation = $translation; - $this->urlGenerator = $urlGenerator; - - $this->data['translations']['translated'] = []; - $this->data['translations']['untranslated'] = []; - } - - /** - * {@inheritdoc} - */ - public function collect(Request $request, Response $response, \Exception $exception = NULL) { - if ($this->translation instanceof TranslationManagerWrapper) { - /** \Drupal\webprofiler\StringTranslation\TranslationManagerWrapper $this->translation */ - $this->data['translations']['translated'] = $this->translation->getTranslated(); - $this->data['translations']['untranslated'] = $this->translation->getUntranslated(); - } - $this->data['user_interface_translations_path'] = $this->urlGenerator->generateFromRoute('locale.translate_page'); - } - - /** - * @return int - */ - public function getTranslatedCount() { - return count($this->data['translations']['translated']); - } - - /** - * @return int - */ - public function getUntranslatedCount() { - return count($this->data['translations']['untranslated']); - } - - /** - * {@inheritdoc} - */ - public function getName() { - return 'translations'; - } - - /** - * {@inheritdoc} - */ - public function getTitle() { - return $this->t('Translations'); - } - - /** - * {@inheritdoc} - */ - public function getPanelSummary() { - return $this->t('Translated: @translated, untranslated: @untranslated', [ - '@translated' => $this->getTranslatedCount(), - '@untranslated' => $this->getUntranslatedCount(), - ]); - } - - /** - * {@inheritdoc} - */ - public function getIcon() { - return 'iVBORw0KGgoAAAANSUhEUgAAABUAAAAcCAYAAACOGPReAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAgpJREFUeNrUVrFuwjAQPUcZiAQDQ6WEbgwwMCJVqhjgBxhYGSvEDzBkZYSBH+ADoFJHlg4MdIMKxiLBXKAbUmEm9bPiyAREEgRDTzqZ2Mfzu7tnJ8xxHLq1aXQHuwsos2078p9arVYg0yL3CXcnwCdubKDp3F+5myFin9xYK0xNzQiZm1c3KpVKUb1ep2QyebvuFwoFSqfTlM/nbweay+VoOBxeDar7JwC03W49UO5fs9nsZTwef8qYUqkUjSmAYrGYqKlhGFSpVH45oBFFdkdM0RjUst1uC7Z45ofjWdO0t8Ph8CDjyuUyZTIZ6na7tNvtTmSn+2s5n88FIMwdPzhgUWYBA2A2mxVjIpEQarEsiwaDAS2XSxPH9OI1xVNnbmo0Go28eTDkAOL3YrGg/X4v1tfr9WmjLplsULVaFawbjYbHkjfzqPsr7o9RwJE2HOkifbAGS1ljdL/G/ScsWK/XE+NmsxGMkW6/3xfgWMMIpu9hLgkEN5tNDwClgAoADjAYRszr8m7kD2gGU5uh1hEjmoGUUU/oGLVEXaVhA2yoKYAwRwFx/Ezj8bjHEIYaSgVgDptNp1NiePG5QCfS4qyZXANop9MR7JANWAFA6hWgWEcmqqTYOWBVl0jZf0ViU+hUNk0AyVf0ObYK0+8IslupF8qlkxVWdoipsaCPiaBr7uwr+t98ofwJMADuIP9IDjFbLwAAAABJRU5ErkJggg=='; - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/UserDataCollector.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/UserDataCollector.php deleted file mode 100644 index 20ab8b952..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/UserDataCollector.php +++ /dev/null @@ -1,144 +0,0 @@ -currentUser = $current_user; - $this->entityTypeManager = $entity_type_manager; - $this->configFactory = $config_factory; - $this->providerCollector = $provider_collector; - } - - /** - * {@inheritdoc} - */ - public function collect(Request $request, Response $response, \Exception $exception = NULL) { - $this->data['name'] = $this->currentUser->getDisplayName(); - $this->data['authenticated'] = $this->currentUser->isAuthenticated(); - - $this->data['roles'] = []; - $storage = $this->entityTypeManager->getStorage('user_role'); - foreach ($this->currentUser->getRoles() as $role) { - $entity = $storage->load($role); - if ($entity) { - $this->data['roles'][] = $entity->label(); - } - } - - foreach ($this->providerCollector->getSortedProviders() as $provider_id => $provider) { - if ($provider->applies($request)) { - $this->data['provider'] = $provider_id; - } - } - - $this->data['anonymous'] = $this->configFactory->get('user.settings') - ->get('anonymous'); - } - - /** - * @return \Drupal\Core\Session\AccountInterface - */ - public function getUserName() { - return $this->data['name']; - } - - /** - * @return bool - */ - public function getAuthenticated() { - return $this->data['authenticated']; - } - - /** - * @return array - */ - public function getRoles() { - return $this->data['roles']; - } - - /** - * @return string - */ - public function getProvider() { - return $this->data['provider']; - } - - /** - * @return string - */ - public function getAnonymous() { - return $this->data['anonymous']; - } - - /** - * {@inheritdoc} - */ - public function getName() { - return 'user'; - } - - /** - * {@inheritdoc} - */ - public function getTitle() { - return $this->t('User'); - } - - /** - * {@inheritdoc} - */ - public function getPanelSummary() { - return $this->getUserName(); - } - - /** - * {@inheritdoc} - */ - public function getIcon() { - return 'iVBORw0KGgoAAAANSUhEUgAAABgAAAAcCAYAAAB75n/uAAAC70lEQVR42u2V3UtTYRzHu+mFwCwK+gO6CEryPlg7yiYx50vDqUwjFIZDSYUk2ZTmCysHvg9ZVggOQZiRScsR4VwXTjEwdKZWk8o6gd5UOt0mbev7g/PAkLONIOkiBx+25/v89vuc85zn2Q5Fo9F95UDwnwhS5HK5TyqVRv8m1JN6k+AiC+fn54cwbgFNIrTQ/J9IqDcJJDGBHsgDgYBSq9W6ysvLPf39/SSUUU7zsQ1yc3MjmN90OBzfRkZG1umzQqGIxPSTkIBjgdDkaGNjoza2kcFgUCE/QvMsq6io2PV6vQu1tbV8Xl7etkql2qqvr/+MbDE/Pz8s9OP2Cjhwwmw29+4R3Kec1WZnZ4fn5uamc3Jyttra2qbH8ero6JgdHh5+CvFHq9X6JZHgzODgoCVW0NPTY0N+ltU2Nzdv4GqXsYSrPp+vDw80aLFYxru6uhyQ/rDb7a8TCVJDodB1jUazTVlxcXGQ5/mbyE+z2u7u7veY38BVT3Z2djopm5qa6isrK/tQWVn5qb29fSGR4DC4PDAwMEsZHuArjGnyGKutq6v7ajQaF6urq9/MzMz0QuSemJiwQDwGkR0POhhXgILjNTU1TaWlpTxlOp1uyWQyaUjMajMzM8Nut/tJQUHBOpZppbCwkM/KytrBznuL9xDVxBMo8KXHYnu6qKjIivmrbIy67x6Px4Yd58W672ApfzY0NCyNjo7OZmRkiAv8fr+O47iwmABXtoXaG3uykF6vX7bZbF6cgZWqqiqezYkKcNtmjO+CF2AyhufgjsvlMiU7vXEF+4C4ALf9CwdrlVAqlcFkTdRqdQSHLUDgBEeSCrArAsiGwENs0XfJBE6ncxm1D8Aj/B6tigkkJSUlmxSwLYhMDeRsyyUCd+lHrWxtbe2aTCbbZTn1ZD92F0Cr8GBfgnsgDZwDt8EzMBmHMXBLqD0PDMAh9Gql3iRIESQSIAXp4CRIBZeEjIvDFZAm1J4C6UK9ROiZcvCn/+8FvwHtDdJEaRY+oQAAAABJRU5ErkJggg=='; - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/ViewsDataCollector.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/ViewsDataCollector.php deleted file mode 100644 index da509e96f..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DataCollector/ViewsDataCollector.php +++ /dev/null @@ -1,118 +0,0 @@ -entityTypeManager = $entity_type_manager; - $this->view_executable_factory = $view_executable_factory; - - $this->data['views'] = []; - } - - /** - * {@inheritdoc} - */ - public function collect(Request $request, Response $response, \Exception $exception = NULL) { - $views = $this->view_executable_factory->getViews(); - $storage = $this->entityTypeManager->getStorage('view'); - - /** @var \Drupal\webprofiler\Views\TraceableViewExecutable $view */ - foreach ($views as $view) { - if ($view->executed) { - $data = [ - 'id' => $view->storage->id(), - 'current_display' => $view->current_display, - 'build_time' => $view->getBuildTime(), - 'execute_time' => $view->getExecuteTime(), - 'render_time' => $view->getRenderTime(), - ]; - - $entity = $storage->load($view->storage->id()); - if ($entity->hasLinkTemplate('edit-display-form')) { - $route = $entity->toUrl('edit-display-form'); - $route->setRouteParameter('display_id', $view->current_display); - $data['route'] = $route->toString(); - } - - $this->data['views'][] = $data; - } - } - - // TODO: also use those data. - // $loaded = $this->entityTypeManager->getLoaded('view'); - // - // if ($loaded) { - // /** @var \Drupal\webprofiler\Entity\EntityStorageDecorator $views */ - // foreach ($loaded->getEntities() as $views) { - // $this->data['views'][] = array( - // 'id' => $views->get('id'), - // ); - // } - // }. - } - - /** - * @return int - */ - public function getViewsCount() { - return count($this->data['views']); - } - - /** - * {@inheritdoc} - */ - public function getName() { - return 'views'; - } - - /** - * {@inheritdoc} - */ - public function getTitle() { - return $this->t('Views'); - } - - /** - * {@inheritdoc} - */ - public function getPanelSummary() { - return $this->t('Total: @count', ['@count' => $this->getViewsCount()]); - } - - /** - * {@inheritdoc} - */ - public function getIcon() { - return 'iVBORw0KGgoAAAANSUhEUgAAABUAAAAcCAYAAACOGPReAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2hpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowNDgwMTE3NDA3MjA2ODExOEY2MkNCNjI0NDY3NzkwRCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDozNEVFREM2NkQ4MUMxMUUzQkMwRUNBMkQwMzE4QjVBMyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDozNEVFREM2NUQ4MUMxMUUzQkMwRUNBMkQwMzE4QjVBMyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1LjEgTWFjaW50b3NoIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MDQ4MDExNzQwNzIwNjgxMThGNjJDQjYyNDQ2Nzc5MEQiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MDQ4MDExNzQwNzIwNjgxMThGNjJDQjYyNDQ2Nzc5MEQiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6vqYfFAAAAXUlEQVR42mL8//8/A7UBEwMNwKih1AcsIGLz5s1USwK+vr6MLMgcSg2EOW6IhSkycHR0BHth//79jMh8fACmlr4uRbcVnT8apqNhOhqmAxZR1CyoGUfrfaoDgAADAA4QNs9x67RnAAAAAElFTkSuQmCC'; - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Decorator.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Decorator.php deleted file mode 100644 index 416b1f1d4..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Decorator.php +++ /dev/null @@ -1,95 +0,0 @@ -object = $object; - } - - /** - * Return the original (i.e. non decorated) object. - * - * @return mixed - * The original object. - */ - public function getOriginalObject() { - $object = $this->object; - while ($object instanceof Decorator) { - $object = $object->getOriginalObject(); - } - return $object; - } - - /** - * Returns true if $method is a PHP callable. - * - * @param string $method - * The method name. - * @param bool $checkSelf - * - * @return bool|mixed - */ - public function isCallable($method, $checkSelf = FALSE) { - // Check the original object. - $object = $this->getOriginalObject(); - if (is_callable([$object, $method])) { - return $object; - } - // Check Decorators. - $object = $checkSelf ? $this : $this->object; - while ($object instanceof Decorator) { - if (is_callable([$object, $method])) { - return $object; - } - $object = $this->object; - } - return FALSE; - } - - /** - * @param $method - * @param $args - * - * @return mixed - * - * @throws \Exception - */ - public function __call($method, $args) { - if ($object = $this->isCallable($method)) { - return call_user_func_array([$object, $method], $args); - } - throw new \Exception( - 'Undefined method - ' . get_class($this->getOriginalObject()) . '::' . $method - ); - } - - /** - * @param $property - * - * @return null - */ - public function __get($property) { - $object = $this->getOriginalObject(); - if (property_exists($object, $property)) { - return $object->$property; - } - return NULL; - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DependencyInjection/TraceableContainer.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DependencyInjection/TraceableContainer.php deleted file mode 100644 index b54c26b65..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DependencyInjection/TraceableContainer.php +++ /dev/null @@ -1,67 +0,0 @@ -stopwatch && $this->has('stopwatch')) { - $this->stopwatch = parent::get('stopwatch'); - $this->stopwatch->openSection(); - $this->hasStopwatch = TRUE; - } - - if ('stopwatch' === $id) { - return $this->stopwatch; - } - - Timer::start($id); - if ($this->hasStopwatch) { - $e = $this->stopwatch->start($id, 'service'); - } - - $service = parent::get($id, $invalidBehavior); - - $this->tracedData[$id] = Timer::stop($id); - if ($this->hasStopwatch && $e->isStarted()) { - $e->stop(); - } - - return $service; - } - - /** - * @return array - */ - public function getTracedData() { - return $this->tracedData; - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DrupalDataCollectorInterface.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DrupalDataCollectorInterface.php deleted file mode 100644 index 84c0014fb..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/DrupalDataCollectorInterface.php +++ /dev/null @@ -1,68 +0,0 @@ -entities = []; - } - - /** - * {@inheritdoc} - */ - public function resetCache(array $ids = NULL) { - $this->getOriginalObject()->resetCache($ids); - } - - /** - * {@inheritdoc} - */ - public function loadMultiple(array $ids = NULL) { - $entities = $this->getOriginalObject()->loadMultiple($ids); - - $this->entities = array_merge($this->entities, $entities); - - return $entities; - } - - /** - * {@inheritdoc} - */ - public function load($id) { - $entity = $this->getOriginalObject()->load($id); - - $this->entities[$id] = $entity; - - return $entity; - } - - /** - * {@inheritdoc} - */ - public function loadUnchanged($id) { - return $this->getOriginalObject()->loadUnchanged($id); - } - - /** - * {@inheritdoc} - */ - public function loadRevision($revision_id) { - return $this->getOriginalObject()->loadRevision($revision_id); - } - - /** - * {@inheritdoc} - */ - public function deleteRevision($revision_id) { - $this->getOriginalObject()->deleteRevision($revision_id); - } - - /** - * {@inheritdoc} - */ - public function loadByProperties(array $values = []) { - $entities = $this->getOriginalObject()->loadByProperties($values); - - $this->entities = array_merge($this->entities, $entities); - - return $entities; - } - - /** - * {@inheritdoc} - */ - public function create(array $values = []) { - return $this->getOriginalObject()->create($values); - } - - /** - * {@inheritdoc} - */ - public function delete(array $entities) { - $this->getOriginalObject()->delete($entities); - } - - /** - * {@inheritdoc} - */ - public function save(EntityInterface $entity) { - return $this->getOriginalObject()->save($entity); - } - - /** - * {@inheritdoc} - */ - public function hasData() { - return $this->getOriginalObject()->hasData(); - } - - /** - * {@inheritdoc} - */ - public function getQuery($conjunction = 'AND') { - return $this->getOriginalObject()->getQuery($conjunction); - } - - /** - * {@inheritdoc} - */ - public function getEntityTypeId() { - return $this->getOriginalObject()->getEntityTypeId(); - } - - /** - * {@inheritdoc} - */ - public function getEntityType() { - return $this->getOriginalObject()->getEntityType(); - } - - /** - * {@inheritdoc} - */ - public static function getIDFromConfigName($config_name, $config_prefix) { - return substr($config_name, strlen($config_prefix . '.')); - } - - /** - * {@inheritdoc} - */ - public function createFromStorageRecord(array $values) { - return $this->getOriginalObject()->createFromStorageRecord($values); - } - - /** - * {@inheritdoc} - */ - public function updateFromStorageRecord(ConfigEntityInterface $entity, array $values) { - return $this->getOriginalObject() - ->updateFromStorageRecord($entity, $values); - } - - /** - * {@inheritdoc} - */ - public function getAggregateQuery($conjunction = 'AND') { - return $this->getOriginalObject()->getAggregateQuery($conjunction); - } - - /** - * {@inheritdoc} - */ - public function loadOverrideFree($id) { - return $this->getOriginalObject()->loadOverrideFree($id); - } - - /** - * {@inheritdoc} - */ - public function loadMultipleOverrideFree(array $ids = NULL) { - return $this->getOriginalObject()->loadMultipleOverrideFree($ids); - } - - /** - * {@inheritdoc} - */ - public function importCreate($name, Config $new_config, Config $old_config) { - $this->getOriginalObject()->importCreate($name, $new_config, $old_config); - } - - /** - * {@inheritdoc} - */ - public function importUpdate($name, Config $new_config, Config $old_config) { - $this->getOriginalObject()->importUpdate($name, $new_config, $old_config); - } - - /** - * {@inheritdoc} - */ - public function importDelete($name, Config $new_config, Config $old_config) { - $this->getOriginalObject()->importDelete($name, $new_config, $old_config); - } - - /** - * {@inheritdoc} - */ - public function importRename($old_name, Config $new_config, Config $old_config) { - $this->getOriginalObject()->importRename($old_name, $new_config, $old_config); - } - - /** - * {@inheritdoc} - */ - public static function createInstance(ContainerInterface $container, EntityTypeInterface $entity_type) { - return new static( - $entity_type, - $container->get('config.factory'), - $container->get('uuid'), - $container->get('language_manager') - ); - } - - /** - * {@inheritdoc} - */ - public function restore(EntityInterface $entity) { - $this->getOriginalObject()->restore($entity); - } - - /** - * {@inheritdoc} - */ - public function getEntityClass(?string $bundle = NULL) : string { - return $this->getOriginalObject()->getEntityClass($bundle); - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Entity/Decorators/Config/DomainStorageDecorator.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Entity/Decorators/Config/DomainStorageDecorator.php deleted file mode 100644 index dec58a2f5..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Entity/Decorators/Config/DomainStorageDecorator.php +++ /dev/null @@ -1,90 +0,0 @@ -getOriginalObject()->loadDefaultDomain(); - } - - /** - * {@inheritdoc} - */ - public function loadDefaultId() { - return $this->getOriginalObject()->loadDefaultId(); - } - - /** - * {@inheritdoc} - */ - public function loadMultipleSorted(array $ids = NULL) { - return $this->getOriginalObject()->loadMultipleSorted($ids); - } - - /** - * {@inheritdoc} - */ - public function loadByHostname($hostname) { - return $this->getOriginalObject()->loadByHostname($hostname); - } - - /** - * {@inheritdoc} - */ - public function loadOptionsList() { - return $this->getOriginalObject()->loadOptionsList(); - } - - /** - * {@inheritdoc} - */ - public function sort(DomainInterface $a, DomainInterface $b) { - return $this->getOriginalObject()->sort($a, $b); - } - - /** - * {@inheritdoc} - */ - public function loadSchema() { - return $this->getOriginalObject()->loadSchema(); - } - - /** - * {@inheritdoc} - */ - public function prepareHostname($hostname) { - return $this->getOriginalObject()->prepareHostname($hostname); - } - - /** - * {@inheritdoc} - */ - public function createHostname() { - return $this->getOriginalObject()->createHostname(); - } - - /** - * {@inheritdoc} - */ - public function createMachineName($hostname = NULL) { - return $this->getOriginalObject()->createMachineName($hostname); - } - - /** - * {@inheritdoc} - */ - public function getDefaultScheme() { - return $this->getOriginalObject()->getDefaultScheme(); - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Entity/Decorators/Config/ImageStyleStorageDecorator.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Entity/Decorators/Config/ImageStyleStorageDecorator.php deleted file mode 100644 index ac20ba281..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Entity/Decorators/Config/ImageStyleStorageDecorator.php +++ /dev/null @@ -1,33 +0,0 @@ -getOriginalObject()->setReplacementId($name, $replacement); - } - - /** - * {@inheritdoc} - */ - public function getReplacementId($name) { - return $this->getOriginalObject()->getReplacementId($name); - } - - /** - * {@inheritdoc} - */ - public function clearReplacementId($name) { - return $this->getOriginalObject()->clearReplacementId($name); - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Entity/Decorators/Config/RoleStorageDecorator.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Entity/Decorators/Config/RoleStorageDecorator.php deleted file mode 100644 index cfc08f9bc..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Entity/Decorators/Config/RoleStorageDecorator.php +++ /dev/null @@ -1,19 +0,0 @@ -getOriginalObject()->isPermissionInRoles($permission, $rids); - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Entity/Decorators/Config/ShortcutSetStorageDecorator.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Entity/Decorators/Config/ShortcutSetStorageDecorator.php deleted file mode 100644 index 85378c0d4..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Entity/Decorators/Config/ShortcutSetStorageDecorator.php +++ /dev/null @@ -1,56 +0,0 @@ -getOriginalObject()->assignUser($shortcut_set, $account); - } - - /** - * {@inheritdoc} - */ - public function unassignUser($account) { - return $this->getOriginalObject()->unassignUser($account); - } - - /** - * {@inheritdoc} - */ - public function deleteAssignedShortcutSets(ShortcutSetInterface $entity) { - $this->getOriginalObject()->deleteAssignedShortcutSets($entity); - } - - /** - * {@inheritdoc} - */ - public function getAssignedToUser($account) { - return $this->getOriginalObject()->getAssignedToUser($account); - } - - /** - * {@inheritdoc} - */ - public function countAssignedUsers(ShortcutSetInterface $shortcut_set) { - return $this->getOriginalObject()->countAssignedUsers($shortcut_set); - } - - /** - * {@inheritdoc} - */ - public function getDefaultSet(AccountInterface $account) { - return $this->getOriginalObject()->getDefaultSet($account); - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Entity/Decorators/Config/VocabularyStorageDecorator.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Entity/Decorators/Config/VocabularyStorageDecorator.php deleted file mode 100644 index 820ddc2e7..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Entity/Decorators/Config/VocabularyStorageDecorator.php +++ /dev/null @@ -1,19 +0,0 @@ -getOriginalObject()->getToplevelTids($vids); - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Entity/EntityDecorator.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Entity/EntityDecorator.php deleted file mode 100644 index 3cdb49d7e..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Entity/EntityDecorator.php +++ /dev/null @@ -1,24 +0,0 @@ -entities; - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Entity/EntityManagerWrapper.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Entity/EntityManagerWrapper.php deleted file mode 100644 index cefdbeae4..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Entity/EntityManagerWrapper.php +++ /dev/null @@ -1,263 +0,0 @@ -entityTypeManager = $entity_type_manager; - } - - /** - * {@inheritdoc} - */ - public function getStorage($entity_type) { - /** @var \Drupal\Core\Config\Entity\ConfigEntityStorageInterface $handler */ - $handler = $this->getHandler($entity_type, 'storage'); - $type = ($handler instanceof ConfigEntityStorageInterface) ? 'config' : 'content'; - - if (!isset($this->loaded[$type][$entity_type])) { - $handler = $this->getStorageDecorator($entity_type, $handler); - $this->loaded[$type][$entity_type] = $handler; - } - else { - $handler = $this->loaded[$type][$entity_type]; - } - - return $handler; - } - - /** - * {@inheritdoc} - */ - public function getViewBuilder($entity_type) { - /** @var \Drupal\Core\Entity\EntityViewBuilderInterface $handler */ - $handler = $this->getHandler($entity_type, 'view_builder'); - - if ($handler instanceof EntityViewBuilderInterface) { - if (!isset($this->rendered[$entity_type])) { - $handler = new EntityViewBuilderDecorator($handler); - $this->rendered[$entity_type] = $handler; - } - else { - $handler = $this->rendered[$entity_type]; - } - } - - return $handler; - } - - /** - * @param $entity_type - * @param $handler - * - * @return \Drupal\webprofiler\Entity\EntityDecorator - */ - private function getStorageDecorator($entity_type, $handler) { - if ($handler instanceof ConfigEntityStorageInterface) { - switch ($entity_type) { - // Do not need a 'break' statement after each case-breaking 'return'. - case 'taxonomy_vocabulary': - return new VocabularyStorageDecorator($handler); - - case 'user_role': - return new RoleStorageDecorator($handler); - - case 'shortcut_set': - return new ShortcutSetStorageDecorator($handler); - - case 'image_style': - return new ImageStyleStorageDecorator($handler); - - case 'domain': - return new DomainStorageDecorator($handler); - - default: - return new ConfigEntityStorageDecorator($handler); - } - } - return $handler; - } - - /** - * @param $type - * @param $entity_type - * - * @return array - */ - public function getLoaded($type, $entity_type) { - return isset($this->loaded[$type][$entity_type]) ? $this->loaded[$type][$entity_type] : NULL; - } - - /** - * @param $entity_type - * - * @return array - */ - public function getRendered($entity_type) { - return isset($this->rendered[$entity_type]) ? $this->rendered[$entity_type] : NULL; - } - - /** - * {@inheritdoc} - */ - public function useCaches($use_caches = FALSE) { - $this->entityTypeManager->useCaches($use_caches); - } - - /** - * {@inheritdoc} - */ - public function hasDefinition($plugin_id) { - return $this->entityTypeManager->hasDefinition($plugin_id); - } - - /** - * {@inheritdoc} - */ - public function getAccessControlHandler($entity_type) { - return $this->entityTypeManager->getAccessControlHandler($entity_type); - } - - /** - * {@inheritdoc} - */ - public function clearCachedDefinitions() { - $this->entityTypeManager->clearCachedDefinitions(); - $this->loaded = NULL; - $this->rendered = NULL; - } - - /** - * {@inheritdoc} - */ - public function getListBuilder($entity_type) { - return $this->entityTypeManager->getListBuilder($entity_type); - } - - /** - * {@inheritdoc} - */ - public function getFormObject($entity_type, $operation) { - return $this->entityTypeManager->getFormObject($entity_type, $operation); - } - - /** - * {@inheritdoc} - */ - public function getRouteProviders($entity_type) { - return $this->entityTypeManager->getRouteProviders($entity_type); - } - - /** - * {@inheritdoc} - */ - public function hasHandler($entity_type, $handler_type) { - return $this->entityTypeManager->hasHandler($entity_type, $handler_type); - } - - /** - * {@inheritdoc} - */ - public function getHandler($entity_type, $handler_type) { - return $this->entityTypeManager->getHandler($entity_type, $handler_type); - } - - /** - * {@inheritdoc} - */ - public function createHandlerInstance( - $class, - EntityTypeInterface $definition = NULL - ) { - return $this->entityTypeManager->createHandlerInstance($class, $definition); - } - - /** - * {@inheritdoc} - */ - public function getDefinition($entity_type_id, $exception_on_invalid = TRUE) { - return $this->entityTypeManager->getDefinition( - $entity_type_id, - $exception_on_invalid - ); - } - - /** - * {@inheritdoc} - */ - public function getDefinitions() { - return $this->entityTypeManager->getDefinitions(); - } - - /** - * {@inheritdoc} - */ - public function createInstance($plugin_id, array $configuration = []) { - return $this->entityTypeManager->createInstance($plugin_id, $configuration); - } - - /** - * {@inheritdoc} - */ - public function getInstance(array $options) { - return $this->entityTypeManager->getInstance($options); - } - - /** - * {@inheritdoc} - */ - public function setContainer(ContainerInterface $container = NULL) { - $this->entityTypeManager->setContainer($container); - } - - /** - * {@inheritdoc} - */ - public function getActiveDefinition($entity_type_id) { - return $this->entityTypeManager->getActiveDefinition($entity_type_id); - } - - /** - * {@inheritdoc} - */ - public function getActiveFieldStorageDefinitions($entity_type_id) { - return $this->entityTypeManager->getActiveFieldStorageDefinitions($entity_type_id); - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Entity/EntityViewBuilderDecorator.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Entity/EntityViewBuilderDecorator.php deleted file mode 100644 index 1988a6acd..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Entity/EntityViewBuilderDecorator.php +++ /dev/null @@ -1,93 +0,0 @@ -entities = []; - } - - /** - * {@inheritdoc} - */ - public function buildComponents(array &$build, array $entities, array $displays, $view_mode, $langcode = NULL) { - $this->getOriginalObject() - ->buildComponents($build, $entities, $displays, $view_mode, $langcode); - } - - /** - * {@inheritdoc} - */ - public function view(EntityInterface $entity, $view_mode = 'full', $langcode = NULL) { - $this->entities[] = $entity; - - return $this->getOriginalObject()->view($entity, $view_mode, $langcode); - } - - /** - * {@inheritdoc} - */ - public function viewMultiple(array $entities = [], $view_mode = 'full', $langcode = NULL) { - $this->entities = array_merge($this->entities, $entities); - - return $this->getOriginalObject() - ->viewMultiple($entities, $view_mode, $langcode); - } - - /** - * {@inheritdoc} - */ - public function resetCache(array $entities = NULL) { - $this->getOriginalObject()->resetCache($entities); - } - - /** - * {@inheritdoc} - */ - public function viewField(FieldItemListInterface $items, $display_options = []) { - return $this->getOriginalObject()->viewField($items, $display_options); - } - - /** - * {@inheritdoc} - */ - public function viewFieldItem(FieldItemInterface $item, $display_options = []) { - return $this->getOriginalObject()->viewFieldItem($item, $display_options); - } - - /** - * {@inheritdoc} - */ - public function getCacheTags() { - return $this->getOriginalObject()->getCacheTags(); - } - - /** - * {@inheritdoc} - */ - public static function createInstance(ContainerInterface $container, EntityTypeInterface $entity_type) { - return new static( - $entity_type, - $container->get('entity_type.manager'), - $container->get('language_manager') - ); - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/EventDispatcher/EventDispatcherTraceableInterface.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/EventDispatcher/EventDispatcherTraceableInterface.php deleted file mode 100644 index 6abe2f863..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/EventDispatcher/EventDispatcherTraceableInterface.php +++ /dev/null @@ -1,22 +0,0 @@ -notCalledListeners = $listeners; - } - - /** - * {@inheritdoc} - */ - public function addListener($event_name, $listener, $priority = 0) { - parent::addListener($event_name, $listener, $priority); - $this->notCalledListeners[$event_name][$priority][] = ['callable' => $listener]; - } - - /** - * {@inheritdoc} - */ - public function dispatch($event, $event_name = NULL) { - // Temporary hack for 9.0 and 9.1 compat. See https://gitlab.com/drupalspoons/devel/-/issues/344. - if (is_string($event)) { - $event_obj = $event_name ?? new Event(); - $event_name = $event; - $event = $event_obj; - } - - $this->preDispatch($event_name, $event); - $e = $this->stopwatch->start($event_name, 'section'); - - if (isset($this->listeners[$event_name])) { - // Sort listeners if necessary. - if (isset($this->unsorted[$event_name])) { - krsort($this->listeners[$event_name]); - unset($this->unsorted[$event_name]); - } - - // Invoke listeners and resolve callables if necessary. - foreach ($this->listeners[$event_name] as $priority => &$definitions) { - foreach ($definitions as &$definition) { - if (!isset($definition['callable'])) { - $definition['callable'] = [ - $this->container->get($definition['service'][0]), - $definition['service'][1], - ]; - } - - $definition['callable']($event, $event_name, $this); - - $this->addCalledListener($definition, $event_name, $priority); - - if ($event->isPropagationStopped()) { - return $event; - } - } - } - } - - if ($e->isStarted()) { - $e->stop(); - } - - $this->postDispatch($event_name, $event); - - return $event; - } - - /** - * {@inheritdoc} - */ - public function getCalledListeners() { - return $this->calledListeners; - } - - /** - * {@inheritdoc} - */ - public function getNotCalledListeners() { - return $this->notCalledListeners; - } - - /** - * @param \Drupal\webprofiler\Stopwatch $stopwatch - */ - public function setStopwatch(Stopwatch $stopwatch) { - $this->stopwatch = $stopwatch; - } - - /** - * Called before dispatching the event. - * - * @param string $eventName - * The event name. - * @param \Symfony\Component\EventDispatcher\Event|\Drupal\Component\EventDispatcher\Event $event - * The event. - */ - protected function preDispatch($eventName, $event) { - switch ($eventName) { - case KernelEvents::VIEW: - case KernelEvents::RESPONSE: - // Stop only if a controller has been executed. - if ($this->stopwatch->isStarted('controller')) { - $this->stopwatch->stop('controller'); - } - break; - } - } - - /** - * Called after dispatching the event. - * - * @param string $eventName - * The event name. - * @param \Symfony\Component\EventDispatcher\Event|\Drupal\Component\EventDispatcher\Event $event - * The event. - */ - protected function postDispatch($eventName, $event) { - switch ($eventName) { - case KernelEvents::CONTROLLER: - $this->stopwatch->start('controller', 'section'); - break; - - case KernelEvents::RESPONSE: - $token = $event->getResponse()->headers->get('X-Debug-Token'); - try { - $this->stopwatch->stopSection($token); - } - catch (\LogicException $e) { - } - break; - - case KernelEvents::TERMINATE: - // In the special case described in the `preDispatch` method above, the - // `$token` section does not exist, then closing it throws an exception - // which must be caught. - $token = $event->getResponse()->headers->get('X-Debug-Token'); - try { - $this->stopwatch->stopSection($token); - } - catch (\LogicException $e) { - } - break; - } - } - - /** - * @param $definition - * @param $event_name - * @param $priority - */ - private function addCalledListener($definition, $event_name, $priority) { - if ($this->isClosure($definition['callable'])) { - $this->calledListeners[$event_name][$priority][] = [ - 'class' => 'Closure', - 'method' => '', - ]; - } - else { - $this->calledListeners[$event_name][$priority][] = [ - 'class' => get_class($definition['callable'][0]), - 'method' => $definition['callable'][1], - ]; - } - - foreach ($this->notCalledListeners[$event_name][$priority] as $key => $listener) { - if (isset($listener['service'])) { - if ($listener['service'][0] == $definition['service'][0] && $listener['service'][1] == $definition['service'][1]) { - unset($this->notCalledListeners[$event_name][$priority][$key]); - } - } - else { - if ($this->isClosure($listener['callable'])) { - if (is_callable($listener['callable'], TRUE, $listenerCallableName) && is_callable($definition['callable'], TRUE, $definitionCallableName)) { - if ($listenerCallableName == $definitionCallableName) { - unset($this->notCalledListeners[$event_name][$priority][$key]); - } - } - } - else { - if (get_class($listener['callable'][0]) == get_class($definition['callable'][0]) && $listener['callable'][1] == $definition['callable'][1]) { - unset($this->notCalledListeners[$event_name][$priority][$key]); - } - } - } - - } - } - - /** - * - */ - private function isClosure($t) { - return is_object($t) && ($t instanceof \Closure); - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/EventSubscriber/ProfilerSubscriber.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/EventSubscriber/ProfilerSubscriber.php deleted file mode 100644 index f52eb7420..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/EventSubscriber/ProfilerSubscriber.php +++ /dev/null @@ -1,133 +0,0 @@ -profiler = $profiler; - $this->matcher = $matcher; - $this->onlyException = (bool) $onlyException; - $this->onlyMasterRequests = (bool) $onlyMasterRequests; - $this->profiles = new \SplObjectStorage(); - $this->parents = new \SplObjectStorage(); - $this->requestStack = $requestStack; - } - - /** - * Handles the onKernelException event. - */ - public function onKernelException(GetResponseForExceptionEvent $event) { - if ($this->onlyMasterRequests && !$event->isMasterRequest()) { - return; - } - - $this->exception = $event->getException(); - } - - /** - * Handles the onKernelResponse event. - */ - public function onKernelResponse(FilterResponseEvent $event) { - $master = $event->isMasterRequest(); - if ($this->onlyMasterRequests && !$master) { - return; - } - - if ($this->onlyException && NULL === $this->exception) { - return; - } - - $request = $event->getRequest(); - $exception = $this->exception; - $this->exception = NULL; - - if (NULL !== $this->matcher && !$this->matcher->matches($request)) { - return; - } - - if (!$profile = $this->profiler->collect($request, $event->getResponse(), $exception)) { - return; - } - - $this->profiles[$request] = $profile; - - $this->parents[$request] = $this->requestStack->getParentRequest(); - } - - /** - * - */ - public function onKernelFinishRequest(FinishRequestEvent $event) { - // Attach children to parents. - foreach ($this->profiles as $request) { - if (NULL !== $parentRequest = $this->parents[$request]) { - if (isset($this->profiles[$parentRequest])) { - $this->profiles[$parentRequest]->addChild($this->profiles[$request]); - } - } - } - - // Save profiles. - foreach ($this->profiles as $request) { - $this->profiler->saveProfile($this->profiles[$request]); - } - - $this->profiles = new \SplObjectStorage(); - $this->parents = new \SplObjectStorage(); - } - - /** - * - */ - public static function getSubscribedEvents() { - return [ - KernelEvents::RESPONSE => ['onKernelResponse', -100], - KernelEvents::EXCEPTION => 'onKernelException', - KernelEvents::FINISH_REQUEST => ['onKernelFinishRequest', -1024], - ]; - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/EventSubscriber/WebprofilerEventSubscriber.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/EventSubscriber/WebprofilerEventSubscriber.php deleted file mode 100644 index 6325b7727..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/EventSubscriber/WebprofilerEventSubscriber.php +++ /dev/null @@ -1,98 +0,0 @@ -currentUser = $currentUser; - $this->urlGenerator = $urlGenerator; - $this->renderer = $renderer; - } - - /** - * @param \Symfony\Component\HttpKernel\Event\FilterResponseEvent $event - */ - public function onKernelResponse(FilterResponseEvent $event) { - $response = $event->getResponse(); - $request = $event->getRequest(); - - if ($response->headers->has('X-Debug-Token') && NULL !== $this->urlGenerator) { - $response->headers->set( - 'X-Debug-Token-Link', - $this->urlGenerator->generate('webprofiler.dashboard', ['profile' => $response->headers->get('X-Debug-Token')]) - ); - } - - // Do not capture redirects or modify XML HTTP Requests. - if ($request->isXmlHttpRequest()) { - return; - } - - if ($this->currentUser->hasPermission('view webprofiler toolbar')) { - $this->injectToolbar($response); - } - } - - /** - * @param \Symfony\Component\HttpFoundation\Response $response - */ - protected function injectToolbar(Response $response) { - $content = $response->getContent(); - $pos = mb_strripos($content, ''); - - if (FALSE !== $pos) { - if ($token = $response->headers->get('X-Debug-Token')) { - $loader = [ - '#theme' => 'webprofiler_loader', - '#token' => $token, - '#profiler_url' => $this->urlGenerator->generate('webprofiler.toolbar', ['profile' => $token]), - ]; - - $content = mb_substr($content, 0, $pos) . $this->renderer->renderRoot($loader) . mb_substr($content, $pos); - $response->setContent($content); - } - } - } - - /** - * @return array - */ - public static function getSubscribedEvents() { - return [ - KernelEvents::RESPONSE => ['onKernelResponse', -128], - ]; - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Form/ConfigForm.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Form/ConfigForm.php deleted file mode 100644 index e16d77a79..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Form/ConfigForm.php +++ /dev/null @@ -1,239 +0,0 @@ -get('config.factory'), - $container->get('profiler'), - $container->get('profiler.storage_manager'), - $container->getParameter('data_collector.templates') - ); - } - - /** - * @param \Drupal\Core\Config\ConfigFactoryInterface $config_factory - * @param \Symfony\Component\HttpKernel\Profiler\Profiler $profiler - * @param \Drupal\webprofiler\Profiler\ProfilerStorageManager $storageManager - * @param array $templates - */ - public function __construct(ConfigFactoryInterface $config_factory, Profiler $profiler, ProfilerStorageManager $storageManager, $templates) { - parent::__construct($config_factory); - - $this->profiler = $profiler; - $this->templates = $templates; - $this->storageManager = $storageManager; - } - - /** - * {@inheritdoc} - */ - public function getFormId() { - return 'webprofiler_config'; - } - - /** - * {@inheritdoc} - */ - public function buildForm(array $form, FormStateInterface $form_state) { - $config = $this->config('webprofiler.config'); - - $form['purge_on_cache_clear'] = [ - '#type' => 'checkbox', - '#title' => $this->t('Purge on cache clear'), - '#description' => $this->t('Deletes all profiler files during cache clear.'), - '#default_value' => $config->get('purge_on_cache_clear'), - ]; - - $storages = $this->storageManager->getStorages(); - - $form['storage'] = [ - '#type' => 'select', - '#title' => $this->t('Storage backend'), - '#description' => $this->t('Choose were to store profiler data.'), - '#options' => $storages, - '#default_value' => $config->get('storage'), - ]; - - $form['exclude'] = [ - '#type' => 'textarea', - '#title' => $this->t('Exclude'), - '#default_value' => $config->get('exclude'), - '#description' => $this->t('Paths to exclude for profiling. One path per line.'), - ]; - - $form['active_toolbar_items'] = [ - '#type' => 'checkboxes', - '#title' => $this->t('Active toolbar items'), - '#options' => $this->getCollectors(), - '#description' => $this->t('Choose which items to show into the toolbar.'), - '#default_value' => $config->get('active_toolbar_items'), - ]; - - $form['ide_settings'] = [ - '#type' => 'details', - '#title' => $this->t('IDE settings'), - '#open' => FALSE, - ]; - - $form['ide_settings']['ide_link'] = [ - '#type' => 'textfield', - '#title' => $this->t('IDE link'), - '#description' => $this->t('IDE link for open files.'), - '#default_value' => $config->get('ide_link'), - ]; - - $form['ide_settings']['ide_link_remote'] = [ - '#type' => 'textfield', - '#title' => $this->t('IDE link remote path'), - '#description' => $this->t('The path of the remote docroot. Leave blank if the docroot is on the same machine of the IDE. No trailing slash.'), - '#default_value' => $config->get('ide_link_remote'), - ]; - - $form['ide_settings']['ide_link_local'] = [ - '#type' => 'textfield', - '#title' => $this->t('IDE link local path'), - '#description' => $this->t('The path of the local docroot. Leave blank if the docroot is on the same machine of IDE. No trailing slash.'), - '#default_value' => $config->get('ide_link_local'), - ]; - - $form['database'] = [ - '#type' => 'details', - '#title' => $this->t('Database settings'), - '#open' => FALSE, - '#states' => [ - 'visible' => [ - [ - 'input[name="active_toolbar_items[database]"]' => ['checked' => TRUE], - ], - ], - ], - ]; - - $form['database']['query_sort'] = [ - '#type' => 'radios', - '#title' => $this->t('Sort query log'), - '#options' => ['source' => 'by source', 'duration' => 'by duration'], - '#description' => $this->t('The query table can be sorted in the order that the queries were executed or by descending duration.'), - '#default_value' => $config->get('query_sort'), - ]; - - $form['database']['query_highlight'] = [ - '#type' => 'number', - '#title' => $this->t('Slow query highlighting'), - '#description' => $this->t('Enter an integer in milliseconds. Any query which takes longer than this many milliseconds will be highlighted in the query log. This indicates a possibly inefficient query, or a candidate for caching.'), - '#default_value' => $config->get('query_highlight'), - '#min' => 0, - ]; - - $storageId = $this->config('webprofiler.config')->get('storage'); - $storage = $this->storageManager->getStorage($storageId); - - $form['purge'] = [ - '#type' => 'details', - '#title' => $this->t('Purge profiles'), - '#open' => FALSE, - ]; - - $form['purge']['actions'] = ['#type' => 'actions']; - $form['purge']['actions']['purge'] = [ - '#type' => 'submit', - '#value' => $this->t('Purge'), - '#submit' => [[$this, 'purge']], - ]; - - $form['purge']['purge-help'] = [ - '#type' => 'inline_template', - '#template' => '
      {{ message }}
      ', - '#context' => [ - 'message' => $this->t('Purge %storage profiles.', ['%storage' => $storage['title']]), - ], - ]; - - return parent::buildForm($form, $form_state); - } - - /** - * {@inheritdoc} - */ - public function submitForm(array &$form, FormStateInterface $form_state) { - $this->config('webprofiler.config') - ->set('purge_on_cache_clear', $form_state->getValue('purge_on_cache_clear')) - ->set('storage', $form_state->getValue('storage')) - ->set('exclude', $form_state->getValue('exclude')) - ->set('active_toolbar_items', $form_state->getValue('active_toolbar_items')) - ->set('ide_link', $form_state->getValue('ide_link')) - ->set('ide_link_remote', $form_state->getValue('ide_link_remote')) - ->set('ide_link_local', $form_state->getValue('ide_link_local')) - ->set('query_sort', $form_state->getValue('query_sort')) - ->set('query_highlight', $form_state->getValue('query_highlight')) - ->save(); - - parent::submitForm($form, $form_state); - } - - /** - * Purges profiles. - */ - public function purge(array &$form, FormStateInterface $form_state) { - $this->profiler->purge(); - $this->messenger()->addMessage($this->t('Profiles purged')); - } - - /** - * @return array - */ - private function getCollectors() { - $options = []; - foreach ($this->templates as $template) { - // Drupal collector should not be disabled. - if ($template[0] != 'drupal') { - $options[$template[0]] = $template[2]; - } - } - - asort($options); - - return $options; - } - - /** - * {@inheritdoc} - */ - public function getEditableConfigNames() { - return [ - 'webprofiler.config', - ]; - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Form/FormBuilderWrapper.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Form/FormBuilderWrapper.php deleted file mode 100644 index 723b4e9e8..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Form/FormBuilderWrapper.php +++ /dev/null @@ -1,62 +0,0 @@ -buildForms; - } - - /** - * {@inheritdoc} - */ - public function prepareForm($form_id, &$form, FormStateInterface &$form_state) { - parent::prepareForm($form_id, $form, $form_state); - - if (!$this->buildForms) { - $this->buildForms = []; - } - - $elements = []; - foreach ($form as $key => $value) { - if (strpos($key, '#') !== 0) { - $elements[$key]['#title'] = isset($value['#title']) ? $value['#title'] : NULL; - $elements[$key]['#access'] = isset($value['#access']) ? $value['#access'] : NULL; - $elements[$key]['#type'] = isset($value['#type']) ? $value['#type'] : NULL; - } - } - - $buildInfo = $form_state->getBuildInfo(); - - $class = get_class($buildInfo['callback_object']); - $method = new \ReflectionMethod($class, 'buildForm'); - - $this->buildForms[$buildInfo['form_id']] = [ - 'class' => [ - 'class' => $class, - 'method' => 'buildForm', - 'file' => $method->getFilename(), - 'line' => $method->getStartLine(), - ], - 'form' => $elements, - ]; - - return $form; - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Form/ProfilesFilterForm.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Form/ProfilesFilterForm.php deleted file mode 100644 index 17137374f..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Form/ProfilesFilterForm.php +++ /dev/null @@ -1,87 +0,0 @@ - 'textfield', - '#title' => $this->t('IP'), - '#size' => 30, - '#default_value' => $this->getRequest()->query->get('ip'), - '#prefix' => '
      ', - ]; - - $form['url'] = [ - '#type' => 'textfield', - '#title' => $this->t('Url'), - '#size' => 30, - '#default_value' => $this->getRequest()->query->get('url'), - ]; - - $form['method'] = [ - '#type' => 'select', - '#title' => $this->t('Method'), - '#options' => ['GET' => 'GET', 'POST' => 'POST'], - '#default_value' => $this->getRequest()->query->get('method'), - ]; - - $limits = [10, 50, 100]; - $form['limit'] = [ - '#type' => 'select', - '#title' => $this->t('Limit'), - '#options' => array_combine($limits, $limits), - '#default_value' => $this->getRequest()->query->get('limit'), - ]; - - $form['actions'] = ['#type' => 'actions']; - $form['actions']['filter'] = [ - '#type' => 'submit', - '#value' => $this->t('Filter'), - '#attributes' => ['class' => ['button--primary']], - '#suffix' => '
      ', - ]; - - return $form; - } - - /** - * {@inheritdoc} - */ - public function submitForm(array &$form, FormStateInterface $form_state) { - $ip = $form_state->getValue('ip'); - $url = $form_state->getValue('url'); - $method = $form_state->getValue('method'); - $limit = $form_state->getValue('limit'); - - $url = new Url('webprofiler.admin_list', [], [ - 'query' => [ - 'ip' => $ip, - 'url' => $url, - 'method' => $method, - 'limit' => $limit, - ], - ]); - - $form_state->setRedirectUrl($url); - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Frontend/PerformanceTimingData.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Frontend/PerformanceTimingData.php deleted file mode 100644 index 2c5a2b96d..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Frontend/PerformanceTimingData.php +++ /dev/null @@ -1,82 +0,0 @@ -data = $data; - } - - /** - * @return int - */ - public function getDNSTiming() { - if (isset($this->data['domainLookupEnd']) && isset($this->data['domainLookupStart'])) { - return $this->data['domainLookupEnd'] - $this->data['domainLookupStart']; - } - else { - return 0; - } - } - - /** - * @return int - */ - public function getTCPTiming() { - if (isset($this->data['connectEnd']) && isset($this->data['connectStart'])) { - return $this->data['connectEnd'] - $this->data['connectStart']; - } - else { - return 0; - } - } - - /** - * @return int - */ - public function getTtfbTiming() { - if (isset($this->data['responseStart']) && isset($this->data['connectEnd'])) { - return $this->data['responseStart'] - $this->data['connectEnd']; - } - else { - return 0; - } - } - - /** - * @return int - */ - public function getDataTiming() { - if (isset($this->data['responseEnd']) && isset($this->data['responseStart'])) { - return $this->data['responseEnd'] - $this->data['responseStart']; - } - else { - return 0; - } - } - - /** - * @return int - */ - public function getDomTiming() { - if (isset($this->data['loadEventStart']) && isset($this->data['responseEnd'])) { - return $this->data['loadEventStart'] - $this->data['responseEnd']; - } - else { - return 0; - } - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Helper/ClassShortener.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Helper/ClassShortener.php deleted file mode 100644 index c5277129c..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Helper/ClassShortener.php +++ /dev/null @@ -1,35 +0,0 @@ - $part) { - if ($key < $size) { - $result[] = substr($part, 0, 1); - } - else { - $result[] = $part; - } - } - - return new FormattableMarkup("@short", [ - '@class' => $class, - '@short' => implode('\\', $result), - ]); - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Helper/ClassShortenerInterface.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Helper/ClassShortenerInterface.php deleted file mode 100644 index 14f75c198..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Helper/ClassShortenerInterface.php +++ /dev/null @@ -1,17 +0,0 @@ -config_factory = $config_factory; - } - - /** - * {@inheritdoc} - */ - public function generateLink($file, $line) { - $ide_link = $this->config_factory->get('webprofiler.config') - ->get('ide_link'); - $ide_link_remote = $this->config_factory->get('webprofiler.config') - ->get('ide_link_remote'); - $ide_link_local = $this->config_factory->get('webprofiler.config') - ->get('ide_link_local'); - - $file = str_replace($ide_link_remote, $ide_link_local, $file); - - return new FormattableMarkup($ide_link, ['@file' => $file, '@line' => $line]); - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Helper/IdeLinkGeneratorInterface.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Helper/IdeLinkGeneratorInterface.php deleted file mode 100644 index 7d890c7f0..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Helper/IdeLinkGeneratorInterface.php +++ /dev/null @@ -1,18 +0,0 @@ -completedRequests = []; - $this->failedRequests = []; - } - - /** - * {@inheritdoc} - */ - public function __invoke() { - return function ($handler) { - return function (RequestInterface $request, array $options) use ($handler) { - - // If on_stats callback is already set then save it - // and call it after ours. - if (isset($options['on_stats'])) { - $next = $options['on_stats']; - } - else { - $next = function (TransferStats $stats) {}; - } - - $options['on_stats'] = function (TransferStats $stats) use ($request, $next) { - $request->stats = $stats; - $next($stats); - }; - - return $handler($request, $options)->then( - function ($response) use ($request) { - - $this->completedRequests[] = [ - 'request' => $request, - 'response' => $response, - ]; - - return $response; - }, - function ($reason) use ($request) { - $response = $reason instanceof RequestException - ? $reason->getResponse() - : NULL; - - $this->failedRequests[] = [ - 'request' => $request, - 'response' => $response, - 'message' => $reason->getMessage(), - ]; - - return \GuzzleHttp\Promise\rejection_for($reason); - } - ); - }; - }; - } - - /** - * @return array - */ - public function getCompletedRequests() { - return $this->completedRequests; - } - - /** - * @return array - */ - public function getFailedRequests() { - return $this->failedRequests; - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Mail/MailManagerWrapper.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Mail/MailManagerWrapper.php deleted file mode 100644 index e83c3bca8..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Mail/MailManagerWrapper.php +++ /dev/null @@ -1,106 +0,0 @@ -alterInfo('mail_backend_info'); - $this->setCacheBackend($cache_backend, 'mail_backend_plugins'); - $this->configFactory = $config_factory; - $this->loggerFactory = $logger_factory; - $this->stringTranslation = $string_translation; - $this->dataCollector = $dataCollector; - $this->mailManager = $mailManager; - } - - /** - * {@inheritdoc} - */ - public function mail($module, $key, $to, $langcode, $params = [], $reply = NULL, $send = TRUE) { - $message = $this->mailManager->mail($module, $key, $to, $langcode, $params, $reply, $send); - - $instance = $this->mailManager->getInstance(['module' => $module, 'key' => $key]); - $this->dataCollector->addMessage($message, $instance); - - return $message; - } - - /** - * {@inheritdoc} - * - * Must call getInstance on the decorated MailManager. - * - * @see https://www.drupal.org/node/2625554 - */ - public function getInstance(array $options) { - return $this->mailManager->getInstance($options); - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Profiler/DatabaseProfilerStorage.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Profiler/DatabaseProfilerStorage.php deleted file mode 100644 index b698b5ebc..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Profiler/DatabaseProfilerStorage.php +++ /dev/null @@ -1,161 +0,0 @@ -database = $database; - } - - /** - * {@inheritdoc} - */ - public function find($ip, $url, $limit, $method, $start = NULL, $end = NULL): array { - $select = $this->database->select('webprofiler', 'wp', ['fetch' => \PDO::FETCH_ASSOC]); - - if (NULL === $start) { - $start = 0; - } - - if (NULL === $end) { - $end = time(); - } - - if ($ip = preg_replace('/[^\d\.]/', '', $ip)) { - $select->condition('ip', '%' . $this->database->escapeLike($ip) . '%', 'LIKE'); - } - - if ($url) { - $select->condition('url', '%' . $this->database->escapeLike(addcslashes($url, '%_\\')) . '%', 'LIKE'); - } - - if ($method) { - $select->condition('method', $method); - } - - if (!empty($start)) { - $select->condition('time', $start, '>='); - } - - if (!empty($end)) { - $select->condition('time', $end, '<='); - } - - $select->fields('wp', [ - 'token', - 'ip', - 'method', - 'url', - 'time', - 'parent', - 'status_code', - ]); - $select->orderBy('time', 'DESC'); - $select->range(0, $limit); - return $select->execute() - ->fetchAllAssoc('token'); - } - - /** - * {@inheritdoc} - */ - public function read($token): ?Profile { - $record = $this->database->select('webprofiler', 'w') - ->fields('w') - ->condition('token', $token) - ->execute() - ->fetch(); - if (isset($record->data)) { - return $this->createProfileFromData($token, $record); - } - return NULL; - } - - /** - * {@inheritdoc} - */ - public function write(Profile $profile): bool { - $args = [ - 'token' => $profile->getToken(), - 'parent' => $profile->getParentToken(), - 'data' => base64_encode(serialize($profile->getCollectors())), - 'ip' => $profile->getIp(), - 'method' => $profile->getMethod(), - 'url' => $profile->getUrl(), - 'time' => $profile->getTime(), - 'created_at' => time(), - 'status_code' => $profile->getStatusCode(), - ]; - - try { - $query = $this->database->select('webprofiler', 'w') - ->fields('w', ['token']); - $query->condition('token', $profile->getToken()); - $count = $query->countQuery()->execute()->fetchAssoc(); - - if ($count['expression']) { - $this->database->update('webprofiler') - ->fields($args) - ->condition('token', $profile->getToken()) - ->execute(); - } - else { - $this->database->insert('webprofiler')->fields($args)->execute(); - } - - $status = TRUE; - } - catch (\Exception $e) { - $status = FALSE; - } - - return $status; - } - - /** - * {@inheritdoc} - */ - public function purge() { - $this->database->truncate('webprofiler')->execute(); - } - - /** - * @param string $token - * @param $data - * - * @return \Symfony\Component\HttpKernel\Profiler\Profile - */ - private function createProfileFromData($token, $data) { - $profile = new Profile($token); - $profile->setIp($data->ip); - $profile->setMethod($data->method); - $profile->setUrl($data->url); - $profile->setTime($data->time); - $profile->setCollectors(unserialize(base64_decode($data->data))); - $profile->setStatusCode($data->status_code); - - return $profile; - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Profiler/FileProfilerStorage.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Profiler/FileProfilerStorage.php deleted file mode 100644 index cec216f23..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Profiler/FileProfilerStorage.php +++ /dev/null @@ -1,28 +0,0 @@ -setIp($data['ip']); - $profile->setMethod($data['method']); - $profile->setUrl($data['url']); - $profile->setTime($data['time']); - $profile->setCollectors($data['data']); - $profile->setStatusCode($data['status_code']); - - return $profile; - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Profiler/Profiler.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Profiler/Profiler.php deleted file mode 100644 index 2cd58dceb..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Profiler/Profiler.php +++ /dev/null @@ -1,78 +0,0 @@ -localStorage = $storage; - $this->localLogger = $logger; - - $this->config = $config; - $this->activeToolbarItems = $this->config->get('webprofiler.config') - ->get('active_toolbar_items'); - } - - /** - * {@inheritdoc} - */ - public function add(DataCollectorInterface $collector) { - // Drupal collector should not be disabled. - if ($collector->getName() == 'drupal') { - parent::add($collector); - } - else { - if ($this->activeToolbarItems && array_key_exists($collector->getName(), $this->activeToolbarItems) && $this->activeToolbarItems[$collector->getName()] !== '0') { - parent::add($collector); - } - } - } - - /** - * @param \Symfony\Component\HttpKernel\Profiler\Profile $profile - * - * @return bool - */ - public function updateProfile(Profile $profile) { - if (!($ret = $this->localStorage->write($profile)) && NULL !== $this->localLogger) { - $this->localLogger->warning('Unable to store the profiler information.'); - } - - return $ret; - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Profiler/ProfilerStorageFactory.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Profiler/ProfilerStorageFactory.php deleted file mode 100644 index eaae5ec91..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Profiler/ProfilerStorageFactory.php +++ /dev/null @@ -1,26 +0,0 @@ -get('webprofiler.config') - ->get('storage') ?: 'profiler.database_storage'; - - return $container->get($storage); - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Profiler/ProfilerStorageManager.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Profiler/ProfilerStorageManager.php deleted file mode 100644 index f055dd28a..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Profiler/ProfilerStorageManager.php +++ /dev/null @@ -1,52 +0,0 @@ -storages as $id => $storage) { - $output[$id] = $storage['title']; - } - - return $output; - } - - /** - * @param $id - * - * @return array - */ - public function getStorage($id) { - return $this->storages[$id]; - } - - /** - * @param $id - * @param $title - * @param \Symfony\Component\HttpKernel\Profiler\ProfilerStorageInterface $storage - */ - public function addStorage($id, $title, ProfilerStorageInterface $storage) { - $this->storages[$id] = [ - 'title' => $title, - 'class' => $storage, - ]; - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Profiler/TemplateManager.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Profiler/TemplateManager.php deleted file mode 100644 index d4de27455..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Profiler/TemplateManager.php +++ /dev/null @@ -1,131 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Drupal\webprofiler\Profiler; - -use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; -use Symfony\Component\HttpKernel\Profiler\Profiler as SymfonyProfiler; -use Symfony\Component\HttpKernel\Profiler\Profile; - -/** - * Profiler Templates Manager. - */ -class TemplateManager { - - /** - * @var \Twig_Environment - */ - protected $twig; - - /** - * @var \Twig_Loader_Chain - */ - protected $twigLoader; - - /** - * @var array - */ - protected $templates; - - /** - * @var \Symfony\Component\HttpKernel\Profiler\Profiler - */ - protected $profiler; - - /** - * Constructor. - * - * @param \Symfony\Component\HttpKernel\Profiler\Profiler $profiler - * @param \Twig_Environment $twig - * @param \Twig_Loader_Chain $twigLoader - * @param array $templates - */ - public function __construct(SymfonyProfiler $profiler, \Twig_Environment $twig, \Twig_Loader_Chain $twigLoader, array $templates) { - $this->profiler = $profiler; - $this->twig = $twig; - $this->twigLoader = $twigLoader; - $this->templates = $templates; - } - - /** - * Gets the template name for a given panel. - * - * @param \Symfony\Component\HttpKernel\Profiler\Profile $profile - * @param string $panel - * - * @return mixed - * - * @throws \Symfony\Component\HttpKernel\Exception\NotFoundHttpException - */ - public function getName(Profile $profile, $panel) { - $templates = $this->getNames($profile); - - if (!isset($templates[$panel])) { - throw new NotFoundHttpException(sprintf('Panel "%s" is not registered in profiler or is not present in viewed profile.', $panel)); - } - - return $templates[$panel]; - } - - /** - * Gets the templates for a given profile. - * - * @param \Symfony\Component\HttpKernel\Profiler\Profile $profile - * - * @return array - */ - public function getTemplates(Profile $profile) { - $templates = $this->getNames($profile); - foreach ($templates as $name => $template) { - $templates[$name] = $this->twig->loadTemplate($template); - } - - return $templates; - } - - /** - * Gets template names of templates that are present in the viewed profile. - * - * @param \Symfony\Component\HttpKernel\Profiler\Profile $profile - * - * @return array - * - * @throws \UnexpectedValueException - */ - protected function getNames(Profile $profile) { - $templates = []; - - foreach ($this->templates as $arguments) { - if (NULL === $arguments) { - continue; - } - - list($name, $template) = $arguments; - - if (!$this->profiler->has($name) || !$profile->hasCollector($name)) { - continue; - } - - if ('.html.twig' === substr($template, -10)) { - $template = substr($template, 0, -10); - } - - if (!$this->twigLoader->exists($template . '.html.twig')) { - throw new \UnexpectedValueException(sprintf('The profiler template "%s.html.twig" for data collector "%s" does not exist.', $template, $name)); - } - - $templates[$name] = $template . '.html.twig'; - } - - return $templates; - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/ProxyClass/Command/ListCommand.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/ProxyClass/Command/ListCommand.php deleted file mode 100644 index e8e22c844..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/ProxyClass/Command/ListCommand.php +++ /dev/null @@ -1,325 +0,0 @@ -container = $container; - $this->drupalProxyOriginalServiceId = $drupal_proxy_original_service_id; - } - - /** - * Lazy loads the real service from the container. - * - * @return object - * Returns the constructed real service. - */ - protected function lazyLoadItself() { - if (!isset($this->service)) { - $this->service = $this->container->get($this->drupalProxyOriginalServiceId); - } - - return $this->service; - } - - /** - * {@inheritdoc} - */ - public function showMessage($output, $message, $type = 'info') { - return $this->lazyLoadItself()->showMessage($output, $message, $type); - } - - /** - * {@inheritdoc} - */ - public function ignoreValidationErrors() { - return $this->lazyLoadItself()->ignoreValidationErrors(); - } - - /** - * {@inheritdoc} - */ - public function setApplication(\Symfony\Component\Console\Application $application = NULL) { - return $this->lazyLoadItself()->setApplication($application); - } - - /** - * {@inheritdoc} - */ - public function setHelperSet(\Symfony\Component\Console\Helper\HelperSet $helperSet) { - return $this->lazyLoadItself()->setHelperSet($helperSet); - } - - /** - * {@inheritdoc} - */ - public function getHelperSet() { - return $this->lazyLoadItself()->getHelperSet(); - } - - /** - * {@inheritdoc} - */ - public function getApplication() { - return $this->lazyLoadItself()->getApplication(); - } - - /** - * {@inheritdoc} - */ - public function isEnabled() { - return $this->lazyLoadItself()->isEnabled(); - } - - /** - * {@inheritdoc} - */ - public function run(\Symfony\Component\Console\Input\InputInterface $input, \Symfony\Component\Console\Output\OutputInterface $output) { - return $this->lazyLoadItself()->run($input, $output); - } - - /** - * {@inheritdoc} - */ - public function setCode(callable $code) { - return $this->lazyLoadItself()->setCode($code); - } - - /** - * {@inheritdoc} - */ - public function mergeApplicationDefinition($mergeArgs = TRUE) { - return $this->lazyLoadItself()->mergeApplicationDefinition($mergeArgs); - } - - /** - * {@inheritdoc} - */ - public function setDefinition($definition) { - return $this->lazyLoadItself()->setDefinition($definition); - } - - /** - * {@inheritdoc} - */ - public function getDefinition() { - return $this->lazyLoadItself()->getDefinition(); - } - - /** - * {@inheritdoc} - */ - public function getNativeDefinition() { - return $this->lazyLoadItself()->getNativeDefinition(); - } - - /** - * {@inheritdoc} - */ - public function addArgument($name, $mode = NULL, $description = '', $default = NULL) { - return $this->lazyLoadItself() - ->addArgument($name, $mode, $description, $default); - } - - /** - * {@inheritdoc} - */ - public function addOption($name, $shortcut = NULL, $mode = NULL, $description = '', $default = NULL) { - return $this->lazyLoadItself() - ->addOption($name, $shortcut, $mode, $description, $default); - } - - /** - * {@inheritdoc} - */ - public function setName($name) { - return $this->lazyLoadItself()->setName($name); - } - - /** - * {@inheritdoc} - */ - public function setProcessTitle($title) { - return $this->lazyLoadItself()->setProcessTitle($title); - } - - /** - * {@inheritdoc} - */ - public function getName() { - return $this->lazyLoadItself()->getName(); - } - - /** - * {@inheritdoc} - */ - public function setHidden($hidden) { - return $this->lazyLoadItself()->setHidden($hidden); - } - - /** - * {@inheritdoc} - */ - public function isHidden() { - return $this->lazyLoadItself()->isHidden(); - } - - /** - * {@inheritdoc} - */ - public function setDescription($description) { - return $this->lazyLoadItself()->setDescription($description); - } - - /** - * {@inheritdoc} - */ - public function getDescription() { - return $this->lazyLoadItself()->getDescription(); - } - - /** - * {@inheritdoc} - */ - public function setHelp($help) { - return $this->lazyLoadItself()->setHelp($help); - } - - /** - * {@inheritdoc} - */ - public function getHelp() { - return $this->lazyLoadItself()->getHelp(); - } - - /** - * {@inheritdoc} - */ - public function getProcessedHelp() { - return $this->lazyLoadItself()->getProcessedHelp(); - } - - /** - * {@inheritdoc} - */ - public function setAliases($aliases) { - return $this->lazyLoadItself()->setAliases($aliases); - } - - /** - * {@inheritdoc} - */ - public function getAliases() { - return $this->lazyLoadItself()->getAliases(); - } - - /** - * {@inheritdoc} - */ - public function getSynopsis($short = FALSE) { - return $this->lazyLoadItself()->getSynopsis($short); - } - - /** - * {@inheritdoc} - */ - public function addUsage($usage) { - return $this->lazyLoadItself()->addUsage($usage); - } - - /** - * {@inheritdoc} - */ - public function getUsages() { - return $this->lazyLoadItself()->getUsages(); - } - - /** - * {@inheritdoc} - */ - public function getHelper($name) { - return $this->lazyLoadItself()->getHelper($name); - } - - /** - * {@inheritdoc} - */ - public function setContainer($container) { - return $this->lazyLoadItself()->setContainer($container); - } - - /** - * {@inheritdoc} - */ - public function has($key) { - return $this->lazyLoadItself()->has($key); - } - - /** - * {@inheritdoc} - */ - public function get($key) { - return $this->lazyLoadItself()->get($key); - } - - /** - * {@inheritdoc} - */ - public function setTranslator($translator) { - return $this->lazyLoadItself()->setTranslator($translator); - } - - /** - * {@inheritdoc} - */ - public function trans($key) { - return $this->lazyLoadItself()->trans($key); - } - - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/RequestMatcher/WebprofilerRequestMatcher.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/RequestMatcher/WebprofilerRequestMatcher.php deleted file mode 100644 index 4eaca9be9..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/RequestMatcher/WebprofilerRequestMatcher.php +++ /dev/null @@ -1,51 +0,0 @@ -configFactory = $configFactory; - $this->pathMatcher = $pathMatcher; - } - - /** - * {@inheritdoc} - */ - public function matches(Request $request) { - $path = $request->getPathInfo(); - - $patterns = $this->configFactory->get('webprofiler.config')->get('exclude'); - - // Never add Webprofiler to phpinfo page. - $patterns .= "\r\n/admin/reports/status/php"; - - // Never add Webprofiler to uninstall confirm page. - $patterns .= "\r\n/admin/modules/uninstall/*"; - - return !$this->pathMatcher->matchPath($path, $patterns); - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Routing/TokenConverter.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Routing/TokenConverter.php deleted file mode 100644 index 7a13b6372..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Routing/TokenConverter.php +++ /dev/null @@ -1,47 +0,0 @@ -loadProfile($value); - - if (NULL === $profile) { - return NULL; - } - - return $profile; - } - - /** - * {@inheritdoc} - */ - public function applies($definition, $name, Route $route) { - if (!empty($definition['type']) && $definition['type'] === 'webprofiler:token') { - return TRUE; - } - return FALSE; - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/StackMiddleware/WebprofilerMiddleware.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/StackMiddleware/WebprofilerMiddleware.php deleted file mode 100644 index fd3a04a46..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/StackMiddleware/WebprofilerMiddleware.php +++ /dev/null @@ -1,41 +0,0 @@ -httpKernel = $http_kernel; - } - - /** - * {@inheritdoc} - */ - public function handle(Request $request, $type = self::MASTER_REQUEST, $catch = TRUE) { - foreach (Database::getAllConnectionInfo() as $key => $info) { - Database::startLog('webprofiler', $key); - } - return $this->httpKernel->handle($request, $type, $catch); - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/State/StateWrapper.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/State/StateWrapper.php deleted file mode 100644 index 23f930ad4..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/State/StateWrapper.php +++ /dev/null @@ -1,125 +0,0 @@ -state = $state; - $this->dataCollector = $dataCollector; - } - - /** - * {@inheritdoc} - */ - public function get($key, $default = NULL) { - $this->dataCollector->addState($key); - - return $this->state->get($key, $default); - } - - /** - * {@inheritdoc} - */ - public function getMultiple(array $keys) { - foreach ($keys as $key) { - $this->dataCollector->addState($key); - } - - return $this->state->getMultiple($keys); - } - - /** - * {@inheritdoc} - */ - public function set($key, $value) { - $this->state->set($key, $value); - } - - /** - * {@inheritdoc} - */ - public function setMultiple(array $data) { - $this->state->setMultiple($data); - } - - /** - * {@inheritdoc} - */ - public function delete($key) { - $this->state->delete($key); - } - - /** - * {@inheritdoc} - */ - public function deleteMultiple(array $keys) { - $this->state->deleteMultiple($keys); - } - - /** - * {@inheritdoc} - */ - public function resetCache() { - $this->state->resetCache(); - } - - /** - * {@inheritdoc} - */ - protected function resolveCacheMiss($key) { - return $this->state->resolveCacheMiss($key); - } - - /** - * {@inheritdoc} - */ - public function destruct() { - $this->updateCache(); - } - - /** - * Passes through all non-tracked calls onto the decorated object. - * - * @param string $method - * The called method. - * @param mixed $args - * The passed in arguments. - * - * @return mixed - * The return argument of the call. - */ - public function __call($method, $args) { - return call_user_func_array([$this->state, $method], $args); - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Stopwatch.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Stopwatch.php deleted file mode 100644 index f9b82b405..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Stopwatch.php +++ /dev/null @@ -1,609 +0,0 @@ -sections = $this->activeSections = ['__root__' => new Section('__root__')]; - } - - /** - * Creates a new section or re-opens an existing section. - * - * @param string|null $id - * The id of the session to re-open, null to create a new one. - * - * @throws \LogicException - * When the section to re-open is not reachable. - */ - public function openSection($id = NULL) { - $current = end($this->activeSections); - - if (NULL !== $id && NULL === $current->get($id)) { - throw new \LogicException(sprintf('The section "%s" has been started at an other level and can not be opened.', $id)); - } - - $this->start('__section__.child', 'section'); - $this->activeSections[] = $current->open($id); - $this->start('__section__'); - } - - /** - * Stops the last started section. - * - * The id parameter is used to retrieve the events from this section. - * - * @param string $id - * The identifier of the section. - * - * @throws \LogicException - * When there's no started section to be stopped. - * - * @see getSectionEvents - */ - public function stopSection($id) { - $this->stop('__section__'); - - if (1 == count($this->activeSections)) { - throw new \LogicException('There is no started section to stop.'); - } - - $this->sections[$id] = array_pop($this->activeSections)->setId($id); - $this->stop('__section__.child'); - } - - /** - * Starts an event. - * - * @param string $name - * The event name. - * @param string $category - * The event category. - * - * @return \Symfony\Component\Stopwatch\StopwatchEvent - * A StopwatchEvent instance - */ - public function start($name, $category = NULL) { - return end($this->activeSections)->startEvent($name, $category); - } - - /** - * Checks if the named event was started. - * - * @param string $name - * The event name. - * - * @return bool - * True if the event was started. - */ - public function isStarted($name) { - return end($this->activeSections)->isEventStarted($name); - } - - /** - * Stops an event. - * - * @param string $name - * The event name. - * - * @return \Symfony\Component\Stopwatch\StopwatchEvent - * A StopwatchEvent instance - */ - public function stop($name) { - return end($this->activeSections)->stopEvent($name); - } - - /** - * Stops then restarts an event. - * - * @param string $name - * The event name. - * - * @return \Symfony\Component\Stopwatch\StopwatchEvent - * A StopwatchEvent instance - */ - public function lap($name) { - return end($this->activeSections)->stopEvent($name)->start(); - } - - /** - * Gets all events for a given section. - * - * @param string $id - * A section identifier. - * - * @return \Symfony\Component\Stopwatch\StopwatchEvent[] - * An array of StopwatchEvent instances - */ - public function getSectionEvents($id) { - return isset($this->sections[$id]) ? $this->sections[$id]->getEvents() : []; - } - - } - - - /** - * @internal This class is for internal usage only - * - * Original author Fabien Potencier - */ - class Section { - /** - * @var \Symfony\Component\Stopwatch\StopwatchEvent[] - */ - private $events = []; - - /** - * @var null|float - */ - private $origin; - - /** - * @var string - */ - private $id; - - /** - * @var Section[] - */ - private $children = []; - - /** - * Constructor. - * - * @param float|null $origin - * Set the origin of the events in this section, use null to set their - * origin to their start time. - */ - public function __construct($origin = NULL) { - $this->origin = is_numeric($origin) ? $origin : NULL; - } - - /** - * Returns the child section. - * - * @param string $id - * The child section identifier. - * - * @return Section|null - * The child section or null when none found - */ - public function get($id) { - foreach ($this->children as $child) { - if ($id === $child->getId()) { - return $child; - } - } - - return NULL; - } - - /** - * Creates or re-opens a child section. - * - * @param string|null $id - * Null to create a new section, the identifier to re-open an existing - * one. - * - * @return Section - * A child section - */ - public function open($id) { - if (NULL === $session = $this->get($id)) { - $session = $this->children[] = new self(microtime(TRUE) * 1000); - } - - return $session; - } - - /** - * @return string - * The identifier of the section - */ - public function getId() { - return $this->id; - } - - /** - * Sets the session identifier. - * - * @param string $id - * The session identifier. - * - * @return Section - * The current section - */ - public function setId($id) { - $this->id = $id; - - return $this; - } - - /** - * Starts an event. - * - * @param string $name - * The event name. - * @param string $category - * The event category. - * - * @return \Symfony\Component\Stopwatch\StopwatchEvent - * The event - */ - public function startEvent($name, $category) { - if (!isset($this->events[$name])) { - $this->events[$name] = new StopwatchEvent($this->origin ?: microtime(TRUE) * 1000, $category); - } - - return $this->events[$name]->start(); - } - - /** - * Checks if an event was started. - * - * @param string $name - * The event name. - * - * @return bool - * True if the specified event was started. - */ - public function isEventStarted($name) { - return isset($this->events[$name]) && $this->events[$name]->isStarted(); - } - - /** - * Stops an event. - * - * @param string $name - * The event name. - * - * @return \Symfony\Component\Stopwatch\StopwatchEvent - * The event. - * - * @throws \LogicException - * When the event has not been started. - */ - public function stopEvent($name) { - if (!isset($this->events[$name])) { - throw new \LogicException(sprintf('Event "%s" is not started.', $name)); - } - - return $this->events[$name]->stop(); - } - - /** - * Stops then restarts an event. - * - * @param string $name - * The event name. - * - * @return \Symfony\Component\Stopwatch\StopwatchEvent - * The event. - * - * @throws \LogicException - * When the event has not been started. - */ - public function lap($name) { - return $this->stopEvent($name)->start(); - } - - /** - * Returns the events from this section. - * - * @return \Symfony\Component\Stopwatch\StopwatchEvent[] - * An array of StopwatchEvent instances - */ - public function getEvents() { - return $this->events; - } - - } - - /** - * Class StopwatchEvent. - */ - class StopwatchEvent { - /** - * @var \Symfony\Component\Stopwatch\StopwatchPeriod[] - */ - private $periods = []; - - /** - * @var float - */ - private $origin; - - /** - * @var string - */ - private $category; - - /** - * @var float[] - */ - private $started = []; - - /** - * Constructor. - * - * @param float $origin - * The origin time in milliseconds. - * @param string|null $category - * The event category or null to use the default. - * - * @throws \InvalidArgumentException - * When the raw time is not valid. - */ - public function __construct($origin, $category = NULL) { - $this->origin = $this->formatTime($origin); - $this->category = is_string($category) ? $category : 'default'; - } - - /** - * Gets the category. - * - * @return string - * The category. - */ - public function getCategory() { - return $this->category; - } - - /** - * Gets the origin. - * - * @return float - * The origin in milliseconds. - */ - public function getOrigin() { - return $this->origin; - } - - /** - * Starts a new event period. - * - * @return \Symfony\Component\Stopwatch\StopwatchEvent - * The event. - */ - public function start() { - $this->started[] = $this->getNow(); - - return $this; - } - - /** - * Stops the last started event period. - * - * @return \Symfony\Component\Stopwatch\StopwatchEvent - * The event. - * - * @throws \LogicException - * When stop() is called without a matching call to start(). - */ - public function stop() { - if (!count($this->started)) { - throw new \LogicException('stop() called but start() has not been called before.'); - } - - $this->periods[] = new StopwatchPeriod(array_pop($this->started), $this->getNow()); - - return $this; - } - - /** - * Checks if this event was started. - * - * @return bool - * True if this event was started. - */ - public function isStarted() { - return !empty($this->started); - } - - /** - * Stops the current period and then starts a new one. - * - * @return \Symfony\Component\Stopwatch\StopwatchEvent - * The event. - */ - public function lap() { - return $this->stop()->start(); - } - - /** - * Stops all non already stopped periods. - */ - public function ensureStopped() { - while (count($this->started)) { - $this->stop(); - } - } - - /** - * Gets all event periods. - * - * @return \Symfony\Component\Stopwatch\StopwatchPeriod[] - * An array of StopwatchPeriod instances. - */ - public function getPeriods() { - return $this->periods; - } - - /** - * Gets the relative time of the start of the first period. - * - * @return int - * The time (in milliseconds). - */ - public function getStartTime() { - return isset($this->periods[0]) ? $this->periods[0]->getStartTime() : 0; - } - - /** - * Gets the relative time of the end of the last period. - * - * @return int - * The time (in milliseconds). - */ - public function getEndTime() { - return ($count = count($this->periods)) ? $this->periods[$count - 1]->getEndTime() : 0; - } - - /** - * Gets the duration of the events (including all periods). - * - * @return int - * The duration (in milliseconds). - */ - public function getDuration() { - $total = 0; - foreach ($this->periods as $period) { - $total += $period->getDuration(); - } - - return $total; - } - - /** - * Gets the max memory usage of all periods. - * - * @return int - * The memory usage (in bytes). - */ - public function getMemory() { - $memory = 0; - foreach ($this->periods as $period) { - if ($period->getMemory() > $memory) { - $memory = $period->getMemory(); - } - } - - return $memory; - } - - /** - * Return the current time relative to origin. - * - * @return float - * Time in ms. - */ - protected function getNow() { - return $this->formatTime(microtime(TRUE) * 1000 - $this->origin); - } - - /** - * Formats a time. - * - * @param int|float $time - * A raw time. - * - * @return float - * The formatted time. - * - * @throws \InvalidArgumentException - * When the raw time is not valid. - */ - private function formatTime($time) { - if (!is_numeric($time)) { - throw new \InvalidArgumentException('The time must be a numerical value'); - } - - return round($time, 1); - } - - } - - /** - * Class StopwatchPeriod. - */ - class StopwatchPeriod { - private $start; - private $end; - private $memory; - - /** - * Constructor. - * - * @param int $start - * The relative time of the start of the period (in milliseconds) - * @param int $end - * The relative time of the end of the period (in milliseconds) - */ - public function __construct($start, $end) { - $this->start = (integer) $start; - $this->end = (integer) $end; - $this->memory = memory_get_usage(TRUE); - } - - /** - * Gets the relative time of the start of the period. - * - * @return int - * The time (in milliseconds). - */ - public function getStartTime() { - return $this->start; - } - - /** - * Gets the relative time of the end of the period. - * - * @return int - * The time (in milliseconds). - */ - public function getEndTime() { - return $this->end; - } - - /** - * Gets the time spent in this period. - * - * @return int - * The period duration (in milliseconds). - */ - public function getDuration() { - return $this->end - $this->start; - } - - /** - * Gets the memory usage. - * - * @return int - * The memory usage (in bytes). - */ - public function getMemory() { - return $this->memory; - } - - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/StringTranslation/TranslationManagerWrapper.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/StringTranslation/TranslationManagerWrapper.php deleted file mode 100644 index 6d8431f61..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/StringTranslation/TranslationManagerWrapper.php +++ /dev/null @@ -1,71 +0,0 @@ -translationManager = $translationManager; - } - - /** - * {@inheritdoc} - */ - protected function doTranslate($string, array $options = []) { - // Merge in defaults. - if (empty($options['langcode'])) { - $options['langcode'] = $this->defaultLangcode; - } - if (empty($options['context'])) { - $options['context'] = ''; - } - $translation = $this->getStringTranslation($options['langcode'], $string, $options['context']); - - if ($translation) { - $this->translated[$string] = $translation; - } - else { - $this->untranslated[$string] = $string; - } - - return $translation === FALSE ? $string : $translation; - } - - /** - * @return array - */ - public function getTranslated() { - return $this->translated; - } - - /** - * @return array - */ - public function getUntranslated() { - return $this->untranslated; - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Theme/ThemeNegotiatorWrapper.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Theme/ThemeNegotiatorWrapper.php deleted file mode 100644 index 8c3647723..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Theme/ThemeNegotiatorWrapper.php +++ /dev/null @@ -1,82 +0,0 @@ -classResolver; - $negotiators = $this->negotiators; - } - else { - $classResolver = \Drupal::classResolver(); - $negotiators = $this->getSortedNegotiators(); - } - - foreach ($negotiators as $negotiator_id) { - if (property_exists($this, 'classResolver')) { - $negotiator = $classResolver->getInstanceFromDefinition($negotiator_id); - } - else { - $negotiator = $negotiator_id; - } - - if ($negotiator->applies($route_match)) { - $theme = $negotiator->determineActiveTheme($route_match); - if ($theme !== NULL && $this->themeAccess->checkAccess($theme)) { - $this->negotiator = $negotiator; - return $theme; - } - } - } - } - - /** - * @return \Drupal\Core\Theme\ThemeNegotiatorInterface - */ - public function getNegotiator() { - return $this->negotiator; - } - - /** - * Returns the sorted array of theme negotiators. - * - * @return array|\Drupal\Core\Theme\ThemeNegotiatorInterface[] - * An array of theme negotiator objects. - * - * @todo Remove this method when we decide to drop Drupal 8.3.x support. - */ - protected function getSortedNegotiators() { - if (!isset($this->sortedNegotiators)) { - // Sort the negotiators according to priority. - krsort($this->negotiators); - // Merge nested negotiators from $this->negotiators into - // $this->sortedNegotiators. - $this->sortedNegotiators = []; - foreach ($this->negotiators as $builders) { - $this->sortedNegotiators = array_merge($this->sortedNegotiators, $builders); - } - } - return $this->sortedNegotiators; - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Twig/Dumper/HtmlDumper.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Twig/Dumper/HtmlDumper.php deleted file mode 100644 index 8e02796fe..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Twig/Dumper/HtmlDumper.php +++ /dev/null @@ -1,45 +0,0 @@ - '#dfd', - 'macro' => '#ddf', - 'template' => '#ffd', - 'big' => '#d44', - ]; - - /** - * {@inheritdoc} - */ - public function dump(\Twig_Profiler_Profile $profile) { - return '
      ' . parent::dump($profile) . '
      '; - } - - /** - * - */ - protected function formatTemplate(\Twig_Profiler_Profile $profile, $prefix) { - return sprintf('%s└ %s', $prefix, self::$colors['template'], $profile->getTemplate()); - } - - /** - * - */ - protected function formatNonTemplate(\Twig_Profiler_Profile $profile, $prefix) { - return sprintf('%s└ %s::%s(%s)', $prefix, $profile->getTemplate(), $profile->getType(), isset(self::$colors[$profile->getType()]) ? self::$colors[$profile->getType()] : 'auto', $profile->getName()); - } - - /** - * - */ - protected function formatTime(\Twig_Profiler_Profile $profile, $percent) { - return sprintf('%.2fms/%.0f%%', $percent > 20 ? self::$colors['big'] : 'auto', $profile->getDuration() * 1000, $percent); - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Twig/Extension/ProfilerExtension.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Twig/Extension/ProfilerExtension.php deleted file mode 100644 index 0b56b4475..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Twig/Extension/ProfilerExtension.php +++ /dev/null @@ -1,94 +0,0 @@ -ideLink = $ideLink; - $this->classShortener = $classShortener; - - $this->stopwatch = $stopwatch; - $this->events = new \SplObjectStorage(); - } - - /** - * {@inheritdoc} - */ - public function enter(\Twig_Profiler_Profile $profile) { - if ($this->stopwatch && $profile->isTemplate()) { - $this->events[$profile] = $this->stopwatch->start($profile->getName(), 'template'); - } - - parent::enter($profile); - } - - /** - * {@inheritdoc} - */ - public function leave(\Twig_Profiler_Profile $profile) { - parent::leave($profile); - - if ($this->stopwatch && $profile->isTemplate()) { - $this->events[$profile]->stop(); - unset($this->events[$profile]); - } - } - - /** - * {@inheritdoc} - */ - public function getFunctions() { - return [ - new \Twig_SimpleFunction('abbr', [$this, 'getAbbr']), - new \Twig_SimpleFunction('idelink', [$this, 'getIdeLink']), - ]; - } - - /** - * {@inheritdoc} - */ - public function getName() { - return 'native_profiler'; - } - - /** - * @param $class - * - * @return string - */ - public function getAbbr($class) { - return $this->classShortener->shortenClass($class); - } - - /** - * @param $file - * @param $line - * - * @return string - */ - public function getIdeLink($file, $line) { - return $this->ideLink->generateLink($file, $line); - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Views/TraceableViewExecutable.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Views/TraceableViewExecutable.php deleted file mode 100644 index 5d384f71c..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Views/TraceableViewExecutable.php +++ /dev/null @@ -1,157 +0,0 @@ -build_time; - } - - /** - * Gets the execute time. - * - * @return float - */ - public function getExecuteTime() { - return property_exists($this, 'execute_time') ? $this->execute_time : 0.0; - } - - /** - * Gets the render time. - * - * @return float - */ - public function getRenderTime() { - return $this->render_time; - } - - /** - * {@inheritdoc} - */ - public function render($display_id = NULL) { - $start = microtime(TRUE); - - $this->execute($display_id); - - // Check to see if the build failed. - if (!empty($this->build_info['fail'])) { - return; - } - if (!empty($this->build_info['denied'])) { - return; - } - - /** @var \Drupal\views\Plugin\views\exposed_form\ExposedFormPluginInterface $exposed_form */ - $exposed_form = $this->display_handler->getPlugin('exposed_form'); - $exposed_form->preRender($this->result); - - $module_handler = \Drupal::moduleHandler(); - - // @TODO In the longrun, it would be great to execute a view without - // the theme system at all. See https://www.drupal.org/node/2322623. - $active_theme = \Drupal::theme()->getActiveTheme(); - $themes = array_keys($active_theme->getBaseThemeExtensions()); - $themes[] = $active_theme->getName(); - - // Check for already-cached output. - /** @var \Drupal\views\Plugin\views\cache\CachePluginBase $cache */ - if (!empty($this->live_preview)) { - $cache = Views::pluginManager('cache')->createInstance('none'); - } - else { - $cache = $this->display_handler->getPlugin('cache'); - } - - // Run preRender for the pager as it might change the result. - if (!empty($this->pager)) { - $this->pager->preRender($this->result); - } - - // Initialize the style plugin. - $this->initStyle(); - - if (!isset($this->response)) { - // Set the response so other parts can alter it. - $this->response = new Response('', 200); - } - - // Give field handlers the opportunity to perform additional queries - // using the entire resultset prior to rendering. - if ($this->style_plugin->usesFields()) { - foreach ($this->field as $id => $handler) { - if (!empty($this->field[$id])) { - $this->field[$id]->preRender($this->result); - } - } - } - - $this->style_plugin->preRender($this->result); - - // Let each area handler have access to the result set. - $areas = ['header', 'footer']; - // Only call preRender() on the empty handlers if the result is empty. - if (empty($this->result)) { - $areas[] = 'empty'; - } - foreach ($areas as $area) { - foreach ($this->{$area} as $handler) { - $handler->preRender($this->result); - } - } - - // Let modules modify the view just prior to rendering it. - $module_handler->invokeAll('views_pre_render', [$this]); - - // Let the themes play too, because pre render is a very themey thing. - foreach ($themes as $theme_name) { - $function = $theme_name . '_views_pre_render'; - if (function_exists($function)) { - $function($this); - } - } - - $this->display_handler->output = $this->display_handler->render(); - - $exposed_form->postRender($this->display_handler->output); - - $cache->postRender($this->display_handler->output); - - // Let modules modify the view output after it is rendered. - $module_handler->invokeAll('views_post_render', [ - $this, - &$this->display_handler->output, - $cache, - ]); - - // Let the themes play too, because post render is a very themey thing. - foreach ($themes as $theme_name) { - $function = $theme_name . '_views_post_render'; - if (function_exists($function)) { - $function($this, $this->display_handler->output, $cache); - } - } - - $this->render_time = microtime(TRUE) - $start; - - return $this->display_handler->output; - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Views/ViewExecutableFactoryWrapper.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Views/ViewExecutableFactoryWrapper.php deleted file mode 100644 index 3f2274399..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/Views/ViewExecutableFactoryWrapper.php +++ /dev/null @@ -1,48 +0,0 @@ -views = []; - } - - /** - * {@inheritdoc} - */ - public function get(ViewEntityInterface $view) { - $view_executable = new TraceableViewExecutable($view, $this->user, $this->viewsData, $this->routeProvider); - $view_executable->setRequest($this->requestStack->getCurrentRequest()); - $this->views[] = $view_executable; - - return $view_executable; - } - - /** - * @return TraceableViewExecutable - */ - public function getViews() { - return $this->views; - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/WebprofilerServiceProvider.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/WebprofilerServiceProvider.php deleted file mode 100644 index 8f7dc19e6..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/src/WebprofilerServiceProvider.php +++ /dev/null @@ -1,116 +0,0 @@ -addCompilerPass(new ProfilerPass()); - - // Add a compiler pass to discover all available storage backend. - $container->addCompilerPass(new StoragePass()); - - $container->addCompilerPass(new ServicePass(), PassConfig::TYPE_AFTER_REMOVING); - $container->addCompilerPass(new DecoratorPass(), PassConfig::TYPE_AFTER_REMOVING); - - $modules = $container->getParameter('container.modules'); - - // Add ViewsDataCollector only if Views module is enabled. - if (isset($modules['views'])) { - $container->register('webprofiler.views', 'Drupal\webprofiler\DataCollector\ViewsDataCollector') - ->addArgument(new Reference(('views.executable'))) - ->addArgument(new Reference(('entity_type.manager'))) - ->addTag('data_collector', [ - 'template' => '@webprofiler/Collector/views.html.twig', - 'id' => 'views', - 'title' => 'Views', - 'priority' => 75, - ]); - } - - // Add BlockDataCollector only if Block module is enabled. - if (isset($modules['block'])) { - $container->register('webprofiler.blocks', 'Drupal\webprofiler\DataCollector\BlocksDataCollector') - ->addArgument(new Reference(('entity_type.manager'))) - ->addTag('data_collector', [ - 'template' => '@webprofiler/Collector/blocks.html.twig', - 'id' => 'blocks', - 'title' => 'Blocks', - 'priority' => 78, - ]); - } - - // Add TranslationsDataCollector only if Locale module is enabled. - if (isset($modules['locale'])) { - $container->register('webprofiler.translations', 'Drupal\webprofiler\DataCollector\TranslationsDataCollector') - ->addArgument(new Reference(('string_translation'))) - ->addArgument(new Reference(('url_generator'))) - ->addTag('data_collector', [ - 'template' => '@webprofiler/Collector/translations.html.twig', - 'id' => 'translations', - 'title' => 'Translations', - 'priority' => 210, - ]); - } - } - - /** - * {@inheritdoc} - */ - public function alter(ContainerBuilder $container) { - $modules = $container->getParameter('container.modules'); - - // Alter the views.executable service only if Views module is enabled. - if (isset($modules['views'])) { - $container->getDefinition('views.executable') - ->setClass('Drupal\webprofiler\Views\ViewExecutableFactoryWrapper'); - } - - // Replace the regular form_builder service with a traceable one. - $container->getDefinition('form_builder') - ->setClass('Drupal\webprofiler\Form\FormBuilderWrapper'); - - // Replace the regular access_manager service with a traceable one. - $container->getDefinition('access_manager') - ->setClass('Drupal\webprofiler\Access\AccessManagerWrapper') - ->addMethodCall('setDataCollector', [new Reference('webprofiler.request')]); - - // Replace the regular theme.negotiator service with a traceable one. - $container->getDefinition('theme.negotiator') - ->setClass('Drupal\webprofiler\Theme\ThemeNegotiatorWrapper'); - - // Replace the regular config.factory service with a traceable one. - $container->getDefinition('config.factory') - ->setClass('Drupal\webprofiler\Config\ConfigFactoryWrapper') - ->addMethodCall('setDataCollector', [new Reference('webprofiler.config')]); - - // Replace the regular string_translation service with a traceable one. - $container->getDefinition('string_translation') - ->setClass('Drupal\webprofiler\StringTranslation\TranslationManagerWrapper'); - - // Replace the regular event_dispatcher service with a traceable one. - $container->getDefinition('event_dispatcher') - ->setClass('Drupal\webprofiler\EventDispatcher\TraceableEventDispatcher') - ->addMethodCall('setStopwatch', [new Reference('stopwatch')]); - - $container->getDefinition('http_kernel.basic') - ->replaceArgument(1, new Reference('webprofiler.debug.controller_resolver')); - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Collector/assets.html.twig b/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Collector/assets.html.twig deleted file mode 100644 index d53754140..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Collector/assets.html.twig +++ /dev/null @@ -1,133 +0,0 @@ -{% block toolbar %} - {% set icon %} - - {{ 'Assets'|t }} - {{ collector.getcsscount + collector.getjscount }} - - {% endset %} - {% set text %} - -
      - CSS - {{ collector.getcsscount }} -
      -
      - JS - {{ collector.getjscount }} -
      - {% endset %} - -
      -
      {{ icon|default('') }}
      -
      {{ text|default('') }}
      -
      -{% endblock %} - -{% block panel %} - -{% endblock %} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Collector/blocks.html.twig b/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Collector/blocks.html.twig deleted file mode 100644 index 4146f2749..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Collector/blocks.html.twig +++ /dev/null @@ -1,113 +0,0 @@ -{% block toolbar %} - {% set icon %} - - {{ 'Blocks'|t }} - {{ collector.renderedBlocksCount }} - - {% endset %} - {% set text %} - -
      - {{ 'Loaded'|t }} - {{ collector.loadedBlocksCount }} -
      -
      - {{ 'Rendered'|t }} - {{ collector.renderedBlocksCount }} -
      - {% endset %} - -
      -
      {{ icon|default('') }}
      -
      {{ text|default('') }}
      -
      -{% endblock %} - -{% block panel %} - -{% endblock %} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Collector/cache.html.twig b/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Collector/cache.html.twig deleted file mode 100644 index 61539b6e3..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Collector/cache.html.twig +++ /dev/null @@ -1,63 +0,0 @@ -{% block toolbar %} - {% set icon %} - - {{ 'Cache'|t }} - {{ collector.getCacheHitsCount }} - / {{ collector.getCacheMissesCount }} - - {% endset %} - {% set text %} - - {% for bin, cids in collector.getCacheHits %} -
      - {{ bin }} - {{ cids }} -
      - {% endfor %} - {% endset %} - -
      -
      {{ icon|default('') }}
      -
      {{ text|default('') }}
      -
      -{% endblock %} - -{% block panel %} - -{% endblock %} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Collector/config.html.twig b/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Collector/config.html.twig deleted file mode 100644 index 954ea5f12..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Collector/config.html.twig +++ /dev/null @@ -1,37 +0,0 @@ -{% block toolbar %} - {% set icon %} - - {{ 'Config'|t }} - {{ collector.getConfigNames|length }} - - {% endset %} - {% set text %} -
      - {{ 'Config get'|t }} - {{ collector.getConfigNames|length }} -
      - {% endset %} - -
      -
      {{ icon|default('') }}
      -
      {{ text|default('') }}
      -
      -{% endblock %} - -{% block panel %} - -{% endblock %} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Collector/database.html.twig b/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Collector/database.html.twig deleted file mode 100644 index f07b7f1fd..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Collector/database.html.twig +++ /dev/null @@ -1,168 +0,0 @@ -{% block toolbar %} - {% set icon %} - - {{ 'Database'|t }} - {{ collector.querycount }} - {% if collector.querycount > 0 %} - in {{ '%0.2f ms'|format(collector.time) }} - {% endif %} - - {% endset %} - {% set text %} -
      - {{ 'DB Queries'|t }} - {{ collector.querycount }} -
      -
      - {{ 'Query time'|t }} - {{ '%0.2f ms'|format(collector.time) }} -
      -
      - {{ 'Default database'|t }} - {{ collector.database.driver }}://{{ collector.database.host }}:{{ collector.database.port }} - /{{ collector.database.database }} -
      - {% endset %} - -
      -
      {{ icon|default('') }}
      -
      {{ text|default('') }}
      -
      -{% endblock %} - -{% block panel %} - - -{% endblock %} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Collector/devel.html.twig b/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Collector/devel.html.twig deleted file mode 100644 index 7b6ba3a24..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Collector/devel.html.twig +++ /dev/null @@ -1,24 +0,0 @@ -{% block toolbar %} - {% set icon %} - - {{ collector.title }} - - {% endset %} - - {% set text %} - {% spaceless %} - {% for item in collector.links %} -
      - {{ item }} -
      - {% endfor %} - {% endspaceless %} - {% endset %} - -
      -
      {{ icon|default('') }}
      -
      {{ text|default('') }}
      -
      - -{% endblock %} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Collector/drupal.html.twig b/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Collector/drupal.html.twig deleted file mode 100644 index 1c1dc48bc..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Collector/drupal.html.twig +++ /dev/null @@ -1,66 +0,0 @@ -{% block toolbar %} - {% set icon %} - - Drupal - - {{ collector.version }} - - - {% endset %} - {% set text %} - {% spaceless %} -
      - {{ 'Drupal version'|t }} - {{ collector.version }} -
      -
      - {{ 'Installed profile'|t }} - {{ collector.profile }} -
      - - {% if collector.getGitCommit %} -
      - {{ 'Git commit'|t }} - {{ collector.getAbbrGitCommit }} -
      - {% endif %} - - - -
      - - - {% endspaceless %} - {% endset %} - - {% if link %} - {% set icon %} - {{ icon }} - {% endset %} - {% endif %} -
      -
      {{ icon|default('') }}
      -
      {{ text|default('') }}
      -
      -{% endblock %} - -{% block panel %} - -{% endblock %} - diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Collector/events.html.twig b/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Collector/events.html.twig deleted file mode 100644 index 2794fec98..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Collector/events.html.twig +++ /dev/null @@ -1,88 +0,0 @@ -{% block toolbar %} - {% set icon %} - - {{ 'Events'|t }} - {{ collector.getCalledListenersCount }} - - {% endset %} - - {% set text %} -
      - {{ 'Called'|t }} - {{ collector.getCalledListenersCount }} -
      - -
      - {{ 'Not called'|t }} - {{ collector.getNotCalledListenersCount }} -
      - {% endset %} - -
      -
      {{ icon|default('') }}
      -
      {{ text|default('') }}
      -
      -{% endblock %} - -{% block panel %} - -{% endblock %} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Collector/extensions.html.twig b/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Collector/extensions.html.twig deleted file mode 100644 index 987a9feeb..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Collector/extensions.html.twig +++ /dev/null @@ -1,95 +0,0 @@ -{% block toolbar %} - {% set icon %} - - {{ 'Extensions'|t }} - {{ collector.getExtensionsCount }} - - {% endset %} - {% set text %} -
      - {{ 'Active Modules'|t }} - {{ collector.getModulesCount }} -
      -
      - {{ 'Active Themes'|t }} - {{ collector.getThemesCount }} -
      - {% endset %} - -
      -
      {{ icon|default('') }}
      -
      {{ text|default('') }}
      -
      -{% endblock %} - -{% block panel %} - -{% endblock %} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Collector/forms.html.twig b/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Collector/forms.html.twig deleted file mode 100644 index a602f4558..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Collector/forms.html.twig +++ /dev/null @@ -1,67 +0,0 @@ -{% block toolbar %} - {% set icon %} - - {{ 'Forms'|t }} - {{ collector.getFormsCount }} - - {% endset %} - {% set text %} - {% spaceless %} -
      - {% for keys, form in collector.getForms %} - {{ keys }} - - {% endfor %} -
      - {% endspaceless %} - {% endset %} - -
      -
      {{ icon|default('') }}
      -
      {{ text|default('') }}
      -
      -{% endblock %} - -{% block panel %} - -{% endblock %} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Collector/http.html.twig b/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Collector/http.html.twig deleted file mode 100644 index ea7ad0496..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Collector/http.html.twig +++ /dev/null @@ -1,77 +0,0 @@ -{% block toolbar %} - {% set icon %} - - {{ 'Http'|t }} - {{ collector.completedRequestsCount }} - - {% endset %} - {% set text %} -
      - {{ 'Completed'|t }} - {{ collector.completedRequestsCount }} -
      -
      - {{ 'Failed'|t }} - {{ collector.failedRequestsCount }} -
      - {% endset %} - -
      -
      {{ icon|default('') }}
      -
      {{ text|default('') }}
      -
      -{% endblock %} - -{% block panel %} - -{% endblock %} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Collector/mail.html.twig b/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Collector/mail.html.twig deleted file mode 100644 index 3b34062b6..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Collector/mail.html.twig +++ /dev/null @@ -1,76 +0,0 @@ -{% block toolbar %} - {% set icon %} - - {{ 'Mail'|t }} - {{ collector.mailsent }} - - {% endset %} - {% set text %} -
      - Mail sent - {{ collector.mailsent }} -
      - {% endset %} - -
      -
      {{ icon|default('') }}
      -
      {{ text|default('') }}
      -
      -{% endblock %} - -{% block panel %} - -{% endblock %} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Collector/performance_timing.html.twig b/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Collector/performance_timing.html.twig deleted file mode 100644 index 5e8cf41c9..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Collector/performance_timing.html.twig +++ /dev/null @@ -1,76 +0,0 @@ -{% block toolbar %} - {% set icon %} - - {{ 'Performance Timing'|t }} - - - {% endset %} - {% set text %} - -
      - {{ 'DNS lookup'|t }} - -
      -
      - {{ 'TCP handshake'|t }} - -
      -
      - {{ 'TTFB' }} - -
      -
      - {{ 'Data download'|t }} - -
      -
      - {{ 'DOM building'|t }} - -
      - {% endset %} - -
      -
      {{ icon|default('') }}
      -
      {{ text|default('') }}
      -
      - - -{% endblock %} - -{% block panel %} - -{% endblock %} \ No newline at end of file diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Collector/php_config.html.twig b/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Collector/php_config.html.twig deleted file mode 100644 index c91f9f321..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Collector/php_config.html.twig +++ /dev/null @@ -1,52 +0,0 @@ -{% block toolbar %} - {# PHP Information #} - {% set icon %} - - {{ 'PHP config'|t }} - - {% endset %} - {% set text %} - {% spaceless %} - -
      - {{ 'PHP Extensions'|t }} - xdebug - accel -
      -
      - {{ 'PHP SAPI'|t }} - {{ collector.sapiName }} -
      -
      - Token - {{ token }} -
      - {% endspaceless %} - {% endset %} - -
      -
      {{ icon|default('') }}
      -
      {{ text|default('') }}
      -
      -{% endblock %} - -{% block panel %} - -{% endblock %} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Collector/request.html.twig b/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Collector/request.html.twig deleted file mode 100644 index b57a85419..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Collector/request.html.twig +++ /dev/null @@ -1,216 +0,0 @@ -{% block toolbar %} - {% set request_handler %} - {{ abbr(collector.controller.class)|raw }} - ::{{ collector.controller.method }} - {% endset %} - - {% set request_status_code_color = (400 > collector.statuscode) ? ((200 == collector.statuscode) ? 'green' : 'yellow') : 'red' %} - - {% set request_route = collector.route ? collector.route : 'NONE' %} - - {% set icon %} - - {{ 'Request'|t }} - {{ collector.statuscode }} - - {% endset %} - - {% set text %} - {% spaceless %} -
      - {{ 'Status'|t }} - {{ collector.statuscode }} {{ collector.statustext }} -
      -
      - {{ 'Controller'|t }} - {{ request_handler }} -
      -
      - {{ 'Route name'|t }} - {{ request_route }} -
      - {% endspaceless %} - {% endset %} - -
      -
      {{ icon|default('') }}
      -
      {{ text|default('') }}
      -
      -{% endblock %} - -{% block panel %} - -{% endblock %} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Collector/routing.html.twig b/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Collector/routing.html.twig deleted file mode 100644 index 76700112a..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Collector/routing.html.twig +++ /dev/null @@ -1,50 +0,0 @@ -{% block toolbar %} - {% set icon %} - - {{ 'Routing'|t }} - {{ collector.getRoutesCount }} - - - {% endset %} - - {% set text %} -
      - {{ 'Routes'|t }} - {{ collector.getRoutesCount }} -
      - {% endset %} - -
      -
      {{ icon|default('') }}
      -
      {{ text|default('') }}
      -
      -{% endblock %} - -{% block panel %} - -{% endblock %} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Collector/services.html.twig b/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Collector/services.html.twig deleted file mode 100644 index dab3e55dd..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Collector/services.html.twig +++ /dev/null @@ -1,149 +0,0 @@ -{% block toolbar %} - {% set icon %} - - {{ 'Services'|t }} - {{ collector.getInitializedServicesCount }} - - {% endset %} - {% set text %} -
      - {{ 'Initialized'|t }} - {{ collector.getInitializedServicesCount }} ({{ collector.getInitializedServicesWithoutWebprofilerCount }} - ) -
      -
      - {{ 'Available'|t }} - {{ collector.getServicesCount }} -
      - {% endset %} - -
      -
      {{ icon|default('') }}
      -
      {{ text|default('') }}
      -
      -{% endblock %} - -{% block panel %} - -{% endblock %} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Collector/state.html.twig b/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Collector/state.html.twig deleted file mode 100644 index e19b13baf..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Collector/state.html.twig +++ /dev/null @@ -1,36 +0,0 @@ -{% block toolbar %} - {% set icon %} - - {{ 'State'|t }} - {{ collector.getStateKeysCount }} - - {% endset %} - {% set text %} -
      - {{ 'State get'|t }} - {{ collector.getStateKeysCount }} -
      - {% endset %} - -
      -
      {{ icon|default('') }}
      -
      {{ text|default('') }}
      -
      -{% endblock %} - -{% block panel %} - -{% endblock %} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Collector/theme.html.twig b/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Collector/theme.html.twig deleted file mode 100644 index 66fa5fdfe..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Collector/theme.html.twig +++ /dev/null @@ -1,147 +0,0 @@ -{% block toolbar %} - {% set negotiator %} - {{ abbr(collector.themeNegotiator.class.class)|raw }} - ::{{ collector.themeNegotiator.class.method }} - {% endset %} - {% set time = collector.templatecount ? '%0.0f ms'|format(collector.time) : 'n/a' %} - {% set icon %} - - {{ 'Theme'|t }} - {{ collector.activeTheme.name }} - - {% endset %} - {% set text %} - -
      - {{ 'Name'|t }} - {{ collector.activeTheme.name }} -
      -
      - {{ 'Engine'|t }} - {{ collector.activeTheme.engine }} -
      -
      - {{ 'Negotiator'|t }} - {{ negotiator }} -
      -
      - {{ 'Render Time'|t }} - {{ time }} -
      -
      - {{ 'Template Calls'|t }} - {{ collector.templatecount }} -
      -
      - {{ 'Block Calls'|t }} - {{ collector.blockcount }} -
      -
      - {{ 'Macro Calls'|t }} - {{ collector.macrocount }} -
      - {% endset %} - -
      -
      {{ icon|default('') }}
      -
      {{ text|default('') }}
      -
      -{% endblock %} - -{% block panel %} - -{% endblock %} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Collector/time.html.twig b/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Collector/time.html.twig deleted file mode 100644 index 9aeb76a37..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Collector/time.html.twig +++ /dev/null @@ -1,59 +0,0 @@ -{% block toolbar %} - {% set duration = collector.events|length ? '%.0f ms'|format(collector.duration) : 'n/a' %} - {% set memory = '%.1f MB'|format(collector.memory / 1024 / 1024) %} - {% set total_memory = collector.memoryLimit == -1 ? '∞' : '%.1f MB'|format(collector.memoryLimit / 1024)|escape %} - {% set icon %} - - {{ 'Timeline'|t }} - {{ duration }} / {{ memory }} - - {% endset %} - {% set text %} -
      - {{ 'Total time'|t }} - {{ duration }} -
      -
      - {{ 'Memory'|t }} - {{ memory }} / {{ total_memory }} -
      - {% endset %} - -
      -
      {{ icon|default('') }}
      -
      {{ text|default('') }}
      -
      -{% endblock %} - -{% block panel %} - -{% endblock %} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Collector/translations.html.twig b/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Collector/translations.html.twig deleted file mode 100644 index 08683ba91..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Collector/translations.html.twig +++ /dev/null @@ -1,85 +0,0 @@ -{% block toolbar %} - {% set icon %} - - {{ 'Translations'|t }} - {{ collector.untranslatedCount }} - - {% endset %} - {% set text %} -
      - {{ 'Translated'|t }} - {{ collector.translatedCount }} -
      -
      - {{ 'Untranslated'|t }} - {{ collector.untranslatedCount }} -
      - {% endset %} - -
      -
      {{ icon|default('') }}
      -
      {{ text|default('') }}
      -
      -{% endblock %} - -{% block panel %} - -{% endblock %} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Collector/user.html.twig b/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Collector/user.html.twig deleted file mode 100644 index ef369975e..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Collector/user.html.twig +++ /dev/null @@ -1,63 +0,0 @@ -{% block toolbar %} - {% set color_code = (collector.authenticated) ? 'green' : 'red' %} - {% set icon %} - - {{ 'User'|t }} - - {% if collector.authenticated %} - {{ collector.username }} - {% endif %} - - - {% endset %} - {% set text %} - {% if collector.authenticated %} -
      - {{ 'Logged in as'|t }} - {{ collector.username }} -
      -
      - {{ 'Roles'|t }} - {{ collector.roles|join(', ') }} -
      -
      - {{ 'Authenticated by'|t }} - {{ collector.provider }} -
      - {% else %} - {{ collector.anonymous }} - {% endif %} - {% endset %} - -
      -
      {{ icon|default('') }}
      -
      {{ text|default('') }}
      -
      -{% endblock %} - -{% block panel %} - -{% endblock %} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Collector/views.html.twig b/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Collector/views.html.twig deleted file mode 100644 index 5409cc9b5..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Collector/views.html.twig +++ /dev/null @@ -1,58 +0,0 @@ -{% block toolbar %} - {% set icon %} - - {{ 'Views'|t }} - {{ collector.getViewsCount }} - - {% endset %} - {% set text %} - -
      - {{ 'Views'|t }} - {{ collector.getViewsCount }} -
      - {% endset %} - -
      -
      {{ icon|default('') }}
      -
      {{ text|default('') }}
      -
      -{% endblock %} - -{% block panel %} - -{% endblock %} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Profiler/webprofiler_dashboard.html.twig b/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Profiler/webprofiler_dashboard.html.twig deleted file mode 100644 index be4fb68c9..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Profiler/webprofiler_dashboard.html.twig +++ /dev/null @@ -1,57 +0,0 @@ -{% set resume %} -
      - - {{ profile.method|upper }} - {% if profile.method|upper in ['GET', 'HEAD'] %} - {{ profile.url }} - {% else %} - {{ profile.url }} - {% endif %} - - - by {{ profile.ip }} at {{ profile.time|date('r') }} - - - {{ 'View latest'|t }} -
      -{% endset %} - -
      - - {{ resume }} - -
      -
      - - - - - - {{ panels }} - - -
      diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Profiler/webprofiler_loader.html.twig b/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Profiler/webprofiler_loader.html.twig deleted file mode 100644 index ad8da9bd0..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Profiler/webprofiler_loader.html.twig +++ /dev/null @@ -1,73 +0,0 @@ - - - diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Profiler/webprofiler_panel.html.twig b/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Profiler/webprofiler_panel.html.twig deleted file mode 100644 index b06daff3f..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Profiler/webprofiler_panel.html.twig +++ /dev/null @@ -1 +0,0 @@ -{{ panel|raw }} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Profiler/webprofiler_toolbar.css.twig b/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Profiler/webprofiler_toolbar.css.twig deleted file mode 100644 index fccb64b0f..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Profiler/webprofiler_toolbar.css.twig +++ /dev/null @@ -1,311 +0,0 @@ -.sf-minitoolbar { -display: none; - -position: fixed; -bottom: 0; -right: 0; - -padding: 5px 5px 0; - -background-color: #f7f7f7; -background-image: -moz-linear-gradient(top, #e4e4e4, #ffffff); -background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#e4e4e4), to(#ffffff)); -background-image: -o-linear-gradient(top, #e4e4e4, #ffffff); -background: linear-gradient(top, #e4e4e4, #ffffff); - -border-radius: 16px 0 0 0; - -z-index: 6000000; -} - -.sf-toolbarreset { -position: fixed; -background-color: #f7f7f7; -left: 0; -right: 0; -height: 38px; -margin: 0; -padding: 0 40px 0 0; -z-index: 6000000; -font: 11px Verdana, Arial, sans-serif; -text-align: left; -color: #2f2f2f; - -background-image: -moz-linear-gradient(top, #e4e4e4, #ffffff); -background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#e4e4e4), to(#ffffff)); -background-image: -o-linear-gradient(top, #e4e4e4, #ffffff); -background: linear-gradient(top, #e4e4e4, #ffffff); - -bottom: 0; -border-top: 1px solid #bbb; -} -.sf-toolbarreset abbr { -border-bottom: 1px dotted #000000; -} -.sf-toolbarreset span, -.sf-toolbarreset div { -font-size: 11px; -} -.sf-toolbarreset img { -width: auto; -display: inline; -} - -.sf-toolbarreset .hide-button { -display: block; -position: absolute; -top: 0; -right: 0; -width: 40px; -height: 40px; -cursor: pointer; -background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAMAAAAMCGV4AAAAllBMVEXDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PExMTPz8/Q0NDR0dHT09Pb29vc3Nzf39/h4eHi4uLj4+P6+vr7+/v8/Pz9/f3///+Nh2QuAAAAIXRSTlMABgwPGBswMzk8QktRV4SKjZOWmaKlq7TAxszb3urt+fy1vNEpAAAAiklEQVQIHUXBBxKCQBREwRFzDqjoGh+C2YV//8u5Sll2S0E/dof1tKdKM6GyqCto7PjZRJIS/mbSELgXOSd/BzpKIH1ZefVWpDDTHsi8mZVnwImPi5ndCLbaAZk3M58Bay0h9VbeSvMpjDUAHj4jL55AW1rxN5fU2PLjIgVRzNdxVFOlGzvnJi0Fb1XNGBHA9uQOAAAAAElFTkSuQmCC'); -background-repeat: no-repeat; -background-position: 13px 11px; -} -.sf-toolbarreset a { -color: #000 !important; -border: none; -} - -.sf-toolbar-block { -white-space: nowrap; -color: #2f2f2f; -display: block; -min-height: 28px; -border-right: 1px solid #e4e4e4; -padding: 0; -float: left; -cursor: default; -} - -.sf-toolbar-block span { -display: inline-block; -} - -.sf-toolbar-block .sf-toolbar-info-piece { -line-height: 19px; -margin-bottom: 5px; -} - -.sf-toolbar-block .sf-toolbar-info-piece .sf-toolbar-status { -padding: 0px 5px; -border-radius: 5px; -margin-bottom: 0px; -vertical-align: top; -} - -.sf-toolbar-block .sf-toolbar-info-piece:last-child { -margin-bottom: 0; -} - -.sf-toolbar-block .sf-toolbar-info-piece a, -.sf-toolbar-block .sf-toolbar-info-piece abbr { -color: #2f2f2f; -} - -.sf-toolbar-block .sf-toolbar-info-piece b { -display: inline-block; -width: 150px; -vertical-align: top; -} - -.sf-toolbar-block .sf-toolbar-info-with-next-pointer:after { -content: ' :: '; -color: #999; -} - -.sf-toolbar-block .sf-toolbar-info-with-delimiter { -border-right: 1px solid #999; -padding-right: 5px; -margin-right: 5px; -} - -.sf-toolbar-block .sf-toolbar-info { -display: none; -position: absolute; -background-color: #fff; -border: 1px solid #bbb; -padding: 9px 0; -margin-left: -1px; - -bottom: 38px; -border-bottom-width: 0; -border-bottom: 1px solid #bbb; -border-radius: 4px 4px 0 0; -} - -.sf-toolbarreset > div:last-of-type .sf-toolbar-info { -right: -1px; -} - -.sf-toolbar-block .sf-toolbar-info:empty { -visibility: hidden; -} - -.sf-toolbar-block .sf-toolbar-status { -display: inline-block; -color: #fff; -background-color: #666; -padding: 3px 6px; -border-radius: 3px; -margin-bottom: 2px; -vertical-align: middle; -min-width: 6px; -min-height: 13px; -} - -.sf-toolbar-block .sf-toolbar-status abbr { -color: #fff; -border-bottom: 1px dotted black; -} - -.sf-toolbar-block .sf-toolbar-status-green { -background-color: #759e1a; -} - -.sf-toolbar-block .sf-toolbar-status-red { -background-color: #a33; -} - -.sf-toolbar-block .sf-toolbar-status-yellow { -background-color: #ffcc00; -color: #000; -} - -.sf-toolbar-block .sf-toolbar-status-black { -background-color: #000; -} - -.sf-toolbar-block .sf-toolbar-icon { -display: block; -} - -.sf-toolbar-block .sf-toolbar-icon > a, -.sf-toolbar-block .sf-toolbar-icon > span { -display: block; -font-weight: normal; -text-decoration: none; -margin: 0; -padding: 5px 6px; -min-width: 20px; -text-align: center; -vertical-align: middle; -} - -.sf-toolbar-block .sf-toolbar-icon > a, -.sf-toolbar-block .sf-toolbar-icon > a:link -.sf-toolbar-block .sf-toolbar-icon > a:hover { -color: black !important; -} - -.sf-toolbar-block .sf-toolbar-icon > a[href]:after { -content: ""; -} - -.sf-toolbar-block .sf-toolbar-icon img { -border-width: 0; -vertical-align: middle; -} - -.sf-toolbar-block .sf-toolbar-icon img + span { -margin-left: 0; -margin-top: 2px; -} - -.sf-toolbar-block .sf-toolbar-icon .sf-toolbar-status { -border-radius: 12px; -border-bottom-left-radius: 0; -margin-top: 0; -} - -.sf-toolbar-block .sf-toolbar-info-method { -cursor: hand; -} - -.sf-toolbar-block .sf-toolbar-info-method[onclick=""] { -border-bottom: none; -cursor: inherit; -} - -.sf-toolbar-info-php {} -.sf-toolbar-info-php-ext {} - -.sf-toolbar-info-php-ext .sf-toolbar-status { -margin-left: 2px; -} - -.sf-toolbar-info-php-ext .sf-toolbar-status:first-child { -margin-left: 0; -} - -.sf-toolbar-block a .sf-toolbar-info-piece-additional, -.sf-toolbar-block a .sf-toolbar-info-piece-additional-detail { -display: inline-block; -} - -.sf-toolbar-block a .sf-toolbar-info-piece-additional:empty, -.sf-toolbar-block a .sf-toolbar-info-piece-additional-detail:empty { -display: none; -} - -.sf-toolbarreset:hover { -box-shadow: rgba(0, 0, 0, 0.3) 0 0 50px; -} - -.sf-toolbar-block:hover { -box-shadow: rgba(0, 0, 0, 0.35) 0 0 5px; -border-right: none; -margin-right: 1px; -position: relative; -} - -.sf-toolbar-block:hover .sf-toolbar-icon { -background-color: #fff; -border-top: 1px dotted #DDD; -position: relative; -margin-top: -1px; -z-index: 10002; -} - -.sf-toolbar-block:hover .sf-toolbar-info { -display: block; -min-width: -webkit-calc(100% + 2px); -min-width: calc(100% + 2px); -z-index: 10001; -box-sizing: border-box; -padding: 9px; -line-height: 19px; -} - -/***** Media query *****/ -@media screen and (max-width: 779px) { -.sf-toolbar-block .sf-toolbar-icon > * > :first-child ~ * { -display: none; -} - -.sf-toolbar-block .sf-toolbar-icon > * > .sf-toolbar-info-piece-additional, -.sf-toolbar-block .sf-toolbar-icon > * > .sf-toolbar-info-piece-additional-detail { -display: none !important; -} -} - -@media screen and (max-width: 1179px) { -.sf-toolbar-block .sf-toolbar-icon > * > .sf-toolbar-info-piece-additional { -display: none; -} -} - -@media screen and (max-width: 1439px) { -.sf-toolbar-block .sf-toolbar-icon > * > .sf-toolbar-info-piece-additional-detail { -display: none; -} -} - -/***** Media query print: Do not print the Toolbar. *****/ -@media print { -.sf-toolbar { -display: none; -visibility: hidden; -} -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Profiler/webprofiler_toolbar.html.twig b/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Profiler/webprofiler_toolbar.html.twig deleted file mode 100644 index f452aec02..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/templates/Profiler/webprofiler_toolbar.html.twig +++ /dev/null @@ -1,35 +0,0 @@ - - -
      - -
      - {{ toolbar|raw }} - - -
      diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/tests/src/Functional/DataCollectorTest.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/tests/src/Functional/DataCollectorTest.php deleted file mode 100644 index 60e9884b4..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/tests/src/Functional/DataCollectorTest.php +++ /dev/null @@ -1,68 +0,0 @@ -container->get('entity_type.manager'); - $this->blocksDataCollector = new BlocksDataCollector($entity_type_manager); - } - - /** - * Tests the Blocks data collector. - */ - public function testBlocksDataCollector() { - // This test was added to ensure we do not have any regression faults such - // as happened with the blocksDataCollector. - // @see https://www.drupal.org/project/devel/issues/3106747 - $this->drupalPlaceBlock('page_title_block', ['id' => 'page-title']); - $this->drupalPlaceBlock('local_tasks_block', ['id' => 'local-tasks']); - - $this->drupalLogin($this->rootUser); - - // What is the right way to collect the block data? The blocks are being - // placed OK above but the following does not work (obviously). - // $data has a 'blocks' key and that array has 'loaded' and 'rendered' keys - // but the values are empty. - $request = Request::create('', 'GET'); - $response = Response::create(); - $this->blocksDataCollector->collect($request, $response); - $data = $this->blocksDataCollector->getData(); - $this->assertCount(1, $data); - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/tests/src/FunctionalJavascript/ToolbarTest.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/tests/src/FunctionalJavascript/ToolbarTest.php deleted file mode 100644 index 5daa8359c..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/tests/src/FunctionalJavascript/ToolbarTest.php +++ /dev/null @@ -1,74 +0,0 @@ -getEditable('system.site')->set('page.front', '/node')->save(TRUE); - } - - /** - * Tests if the toolbar appears on front page. - */ - public function testToolbarOnFrontPage() { - $this->loginForToolbar(); - - $this->drupalGet(''); - - $this->waitForToolbar(); - - $assert = $this->assertSession(); - $assert->responseContains('Configure Webprofiler'); - $assert->responseContains('View latest reports'); - $assert->responseContains('Drupal Documentation'); - $assert->responseContains('Get involved!'); - } - - /** - * Tests the toolbar report page. - */ - public function testToolbarReportPage() { - $this->loginForDashboard(); - - $this->drupalGet(''); - - $this->drupalGet('admin/reports/profiler/list'); - - // @todo assert some content. - } - - /** - * Tests the toolbar not appears on excluded path. - */ - public function testToolbarNotAppearsOnExcludedPath() { - $this->loginForDashboard(); - - $this->drupalGet('admin/config/development/devel'); - $this->waitForToolbar(); - $assert = $this->assertSession(); - $assert->responseContains('Configure Webprofiler'); - - $this->config('webprofiler.config') - ->set('exclude', '/admin/config/development/devel') - ->save(); - $this->drupalGet('admin/config/development/devel'); - $this->assertSession()->responseNotContains('sf-toolbar'); - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/tests/src/FunctionalJavascript/WebprofilerTestBase.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/tests/src/FunctionalJavascript/WebprofilerTestBase.php deleted file mode 100644 index 4f473349b..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/tests/src/FunctionalJavascript/WebprofilerTestBase.php +++ /dev/null @@ -1,60 +0,0 @@ -assertSession(); - $assert_session->waitForText(\Drupal::VERSION); - } - - /** - * Login with a user that can see the toolbar. - */ - protected function loginForToolbar() { - $admin_user = $this->drupalCreateUser( - [ - 'view webprofiler toolbar', - ] - ); - $this->drupalLogin($admin_user); - } - - /** - * Login with a user that can see the toolbar and the dashboard. - */ - protected function loginForDashboard() { - $admin_user = $this->drupalCreateUser( - [ - 'view webprofiler toolbar', - 'access webprofiler', - ] - ); - $this->drupalLogin($admin_user); - } - - /** - * Flush cache. - */ - protected function flushCache() { - $module_handler = \Drupal::moduleHandler(); - $module_handler->invokeAll('cache_flush'); - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/tests/src/Kernel/DecoratorTest.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/tests/src/Kernel/DecoratorTest.php deleted file mode 100644 index 701e0af7a..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/tests/src/Kernel/DecoratorTest.php +++ /dev/null @@ -1,65 +0,0 @@ -container->get($service); - - $this->assertInstanceOf($original, $entityTypeManagerOriginal); - - $this->container->get('module_installer')->install(['webprofiler']); - - $entityTypeManagerDecorated = $this->container->get($service); - - $this->assertInstanceOf($decorated, $entityTypeManagerDecorated); - } - - /** - * DataProvider for testEntityTypeDecorator. - * - * @return array - * The array of values to run tests on. - */ - public function decorators() { - return [ - ['entity_type.manager', 'Drupal\Core\Entity\EntityTypeManager', 'Drupal\webprofiler\Entity\EntityManagerWrapper'], - ['cache_factory', 'Drupal\Core\Cache\MemoryBackendFactory', 'Drupal\webprofiler\Cache\CacheFactoryWrapper'], - ['asset.css.collection_renderer', 'Drupal\Core\Asset\CssCollectionRenderer', 'Drupal\webprofiler\Asset\CssCollectionRendererWrapper'], - ['asset.js.collection_renderer', 'Drupal\Core\Asset\JsCollectionRenderer', 'Drupal\webprofiler\Asset\JsCollectionRendererWrapper'], - ['state', 'Drupal\Core\State\State', 'Drupal\webprofiler\State\StateWrapper'], - ['views.executable', 'Drupal\views\ViewExecutableFactory', 'Drupal\webprofiler\Views\ViewExecutableFactoryWrapper'], - ['form_builder', 'Drupal\Core\Form\FormBuilder', 'Drupal\webprofiler\Form\FormBuilderWrapper'], - ['access_manager', 'Drupal\Core\Access\AccessManager', 'Drupal\webprofiler\Access\AccessManagerWrapper'], - ['theme.negotiator', 'Drupal\Core\Theme\ThemeNegotiator', 'Drupal\webprofiler\Theme\ThemeNegotiatorWrapper'], - ['config.factory', 'Drupal\Core\Config\ConfigFactory', 'Drupal\webprofiler\Config\ConfigFactoryWrapper'], - ['string_translation', 'Drupal\Core\StringTranslation\TranslationManager', 'Drupal\webprofiler\StringTranslation\TranslationManagerWrapper'], - ]; - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/tests/src/Unit/DataCollector/AssetsDataCollectorTest.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/tests/src/Unit/DataCollector/AssetsDataCollectorTest.php deleted file mode 100644 index 1c129813e..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/tests/src/Unit/DataCollector/AssetsDataCollectorTest.php +++ /dev/null @@ -1,68 +0,0 @@ -assetDataCollector = new AssetsDataCollector(AssetsDataCollectorTest::ROOT); - $this->assetCollectionRendererInterface = $this->createMock('Drupal\Core\Asset\AssetCollectionRendererInterface'); - } - - /** - * Tests the Assets data collector. - */ - public function testCSS() { - $css = [ - 'core/assets/vendor/normalize-css/normalize.css' => [ - 'weight' => -219.944, - 'group' => 0, - 'type' => 'file', - 'data' => 'core\/assets\/vendor\/normalize-css\/normalize.css', - 'version' => '3.0.3', - 'media' => 'all', - 'preprocess' => TRUE, - 'browsers' => [ - 'IE' => TRUE, - '!IE' => TRUE, - ], - ], - ]; - - $cssCollectionRendererWrapper = new CssCollectionRendererWrapper($this->assetCollectionRendererInterface, $this->assetDataCollector); - $cssCollectionRendererWrapper->render($css); - - $this->assertEquals(1, $this->assetDataCollector->getCssCount()); - - $this->assetDataCollector->collect($this->request, $this->response, $this->exception); - - $data = $this->assetDataCollector->getData(); - $this->assertEquals(AssetsDataCollectorTest::ROOT . '/', $data['assets']['installation_path']); - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/tests/src/Unit/DataCollector/CacheDataCollectorTest.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/tests/src/Unit/DataCollector/CacheDataCollectorTest.php deleted file mode 100644 index a35f16f8b..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/tests/src/Unit/DataCollector/CacheDataCollectorTest.php +++ /dev/null @@ -1,69 +0,0 @@ -cacheDataCollector = new CacheDataCollector(); - $this->cacheBackendInterface = $this->createMock('Drupal\Core\Cache\CacheBackendInterface'); - } - - /** - * Tests the collection of a cache miss. - */ - public function testCacheCollectorMiss() { - $this->cacheBackendInterface->expects($this->once()) - ->method('get') - ->will($this->returnValue(FALSE)); - - $cacheBackendWrapper = new CacheBackendWrapper($this->cacheDataCollector, $this->cacheBackendInterface, 'default'); - $cache = $cacheBackendWrapper->get('cache_id'); - - $this->assertFalse($cache); - - $this->assertEquals(1, $this->cacheDataCollector->getCacheMissesCount()); - } - - /** - * Tests the collection of a cache hit. - */ - public function testCacheCollectorHit() { - $cache = new \stdClass(); - $cache->cid = 'cache_id'; - $cache->expire = 1; - $cache->tags = ['tag1', 'tag2']; - $this->cacheBackendInterface->expects($this->once()) - ->method('get') - ->will($this->returnValue($cache)); - - $cacheBackendWrapper = new CacheBackendWrapper($this->cacheDataCollector, $this->cacheBackendInterface, 'default'); - $cache2 = $cacheBackendWrapper->get('cache_id'); - - $this->assertNotNull($cache2); - - $this->assertEquals(1, $this->cacheDataCollector->getCacheHitsCount()); - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/tests/src/Unit/DataCollector/DataCollectorBaseTest.php b/frontend/drupal9/web/modules/contrib/devel/webprofiler/tests/src/Unit/DataCollector/DataCollectorBaseTest.php deleted file mode 100644 index 34284462b..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/tests/src/Unit/DataCollector/DataCollectorBaseTest.php +++ /dev/null @@ -1,40 +0,0 @@ -request = $this->createMock('Symfony\Component\HttpFoundation\Request'); - $this->response = $this->createMock('Symfony\Component\HttpFoundation\Response'); - $this->exception = $this->createMock('Exception'); - } - -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/webprofiler.info.yml b/frontend/drupal9/web/modules/contrib/devel/webprofiler/webprofiler.info.yml deleted file mode 100644 index 5081577e1..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/webprofiler.info.yml +++ /dev/null @@ -1,16 +0,0 @@ -name: Web Profiler -type: module -description: 'Drupal Web Profiler.' -package: Development -core_version_requirement: ^8.8 || ^9 -php: 7.2 -configure: webprofiler.settings -tags: - - developer -dependencies: - - devel:devel - -# Information added by Drupal.org packaging script on 2022-02-28 -version: '4.1.5' -project: 'devel' -datestamp: 1646072828 diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/webprofiler.install b/frontend/drupal9/web/modules/contrib/devel/webprofiler/webprofiler.install deleted file mode 100644 index 47f5c6c3f..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/webprofiler.install +++ /dev/null @@ -1,186 +0,0 @@ - 'Webprofiler profiles storage.', - 'fields' => [ - 'token' => [ - 'description' => 'Profile token.', - 'type' => 'varchar', - 'length' => 6, - 'not null' => TRUE, - ], - 'data' => [ - 'description' => 'Profile data.', - 'type' => 'text', - 'size' => 'big', - 'not null' => TRUE, - ], - 'ip' => [ - 'description' => 'Request IP.', - 'type' => 'varchar', - 'length' => 64, - 'not null' => TRUE, - ], - 'method' => [ - 'description' => 'Request method.', - 'type' => 'varchar', - 'length' => 6, - 'not null' => TRUE, - ], - 'url' => [ - 'description' => 'Requested URL.', - 'type' => 'varchar', - 'length' => 2048, - 'not null' => TRUE, - ], - 'time' => [ - 'description' => 'Request time.', - 'type' => 'int', - 'unsigned' => TRUE, - 'not null' => TRUE, - ], - 'parent' => [ - 'description' => 'Profile parent.', - 'type' => 'varchar', - 'length' => 6, - 'not null' => FALSE, - ], - 'created_at' => [ - 'description' => 'Profile created time.', - 'type' => 'int', - 'unsigned' => TRUE, - 'not null' => TRUE, - ], - 'status_code' => [ - 'description' => 'Profile status code.', - 'type' => 'int', - 'size' => 'small', - 'unsigned' => TRUE, - 'not null' => TRUE, - ], - ], - 'indexes' => [ - 'created_at' => ['created_at'], - 'ip' => ['ip'], - 'method' => ['method'], - 'parent' => ['parent'], - ], - 'primary key' => ['token'], - ]; - - return $schema; -} - -/** - * Implements hook_requirements(). - */ -function webprofiler_requirements($phase) { - $requirements = []; - - if ('runtime' == $phase) { - $has_d3 = _webprofiler_verify_library('webprofiler', 'd3'); - $requirements['d3js'] = [ - 'title' => t('D3.js library'), - 'value' => $has_d3 ? t('Enabled') : t('Not found'), - ]; - - if (!$has_d3) { - $requirements['d3js']['severity'] = REQUIREMENT_WARNING; - $requirements['d3js']['description'] = [ - '#prefix' => ' ', - '#markup' => t('Webprofiler module requires D3.js library to properly render data. Composer based install recommended, see README.md file for instructions.'), - ]; - } - - $has_highlight = _webprofiler_verify_library('webprofiler', 'highlightjs'); - $requirements['highlightjs'] = [ - 'title' => t('highlight.js library'), - 'value' => $has_highlight ? t('Enabled') : t('Not found'), - ]; - - if (!$has_highlight) { - $requirements['highlightjs']['severity'] = REQUIREMENT_WARNING; - $requirements['highlightjs']['description'] = [ - '#prefix' => ' ', - '#markup' => t('Webprofiler module requires highlight.js library to syntax highlight collected queries. Composer based install recommended, see README.md file for instructions.'), - ]; - } - } - - return $requirements; -} - -/** - * Verify that the library files exist. - * - * @param string $extension - * The name of the extension that registered a library. - * @param string $name - * The name of a registered library to retrieve. - * - * @return bool - * TRUE if all files of this library exists, FALSE otherwise - * - * @see https://drupal.org/node/2231385 - */ -function _webprofiler_verify_library($extension, $name) { - /** @var Drupal\Core\Asset\LibraryDiscovery $library_discovery */ - $library_discovery = \Drupal::service('library.discovery'); - $library = $library_discovery->getLibraryByName($extension, $name); - - $exist = TRUE; - if ($library['js']) { - foreach ($library['js'] as $js) { - if ($js['type'] == 'file') { - if (!file_exists(DRUPAL_ROOT . '/' . $js['data'])) { - $exist = FALSE; - } - } - } - } - - if ($library['css']) { - foreach ($library['css'] as $css) { - if ($css['type'] == 'file') { - if (!file_exists(DRUPAL_ROOT . '/' . $css['data'])) { - $exist = FALSE; - } - } - } - } - - if ($library['dependencies']) { - foreach ($library['dependencies'] as $dependency) { - $parts = explode('/', $dependency); - $exist = _webprofiler_verify_library($parts[0], $parts[1]); - } - } - - return $exist; -} - -/** - * Add a status_code column to the webprofiler table. - */ -function webprofiler_update_8001() { - $database = \Drupal::database(); - $schema = $database->schema(); - - $spec = [ - 'description' => 'Profile status code.', - 'type' => 'int', - 'size' => 'small', - 'unsigned' => TRUE, - 'not null' => TRUE, - ]; - $schema->addField('webprofiler', 'status_code', $spec); -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/webprofiler.libraries.yml b/frontend/drupal9/web/modules/contrib/devel/webprofiler/webprofiler.libraries.yml deleted file mode 100644 index 339976213..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/webprofiler.libraries.yml +++ /dev/null @@ -1,63 +0,0 @@ -d3: - remote: https://github.com/d3/d3 - version: 3.5.17 - license: - name: BSD-3 - url: https://github.com/d3/d3/blob/master/LICENSE - gpl-compatible: true - js: - /libraries/d3/d3.min.js: {} -highlightjs: - remote: https://github.com/highlightjs/highlight.js - version: 11.2.0 - license: - name: BSD-3 - url: https://github.com/highlightjs/highlight.js/blob/master/LICENSE - gpl-compatible: true - js: - /libraries/highlightjs/src/highlight.js: {} - css: - component: - /libraries/highlightjs/src/styles/idea.css: {} -dashboard: - version: 2.0 - js: - js/app/main.js: {} - js/app/helpers.js: {} - js/app/models/collector.js: {} - js/app/collections/collectors.js: {} - js/app/views/collector.js: {} - js/app/views/collectorsList.js: {} - js/app/views/layout.js: {} - js/app/views/details.js: {} - js/app/routers/collectors.js: {} - css: - component: - css/app/dashboard.css: {} - dependencies: - - core/jquery - - core/jquery.once - - core/drupal - - core/drupalSettings - - core/backbone -database: - version: 2.0 - js: - js/database.js: {} - dependencies: - - core/jquery - - core/drupal - - core/drupalSettings - - webprofiler/highlightjs -timeline: - version: 2.0 - js: - js/timeline.js: {} - css: - component: - css/timeline.css: {} - dependencies: - - core/jquery - - core/drupal - - core/drupalSettings - - webprofiler/d3 diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/webprofiler.links.menu.yml b/frontend/drupal9/web/modules/contrib/devel/webprofiler/webprofiler.links.menu.yml deleted file mode 100644 index b2d4a7307..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/webprofiler.links.menu.yml +++ /dev/null @@ -1,5 +0,0 @@ -webprofiler.admin_list: - title: 'Webprofiler' - description: 'List saved profiles.' - route_name: webprofiler.admin_list - parent: system.admin_reports diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/webprofiler.links.task.yml b/frontend/drupal9/web/modules/contrib/devel/webprofiler/webprofiler.links.task.yml deleted file mode 100644 index 741eb15a9..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/webprofiler.links.task.yml +++ /dev/null @@ -1,9 +0,0 @@ -webprofiler.settings: - title: 'Webprofiler' - route_name: webprofiler.settings - base_route: devel.admin_settings - weight: 10 -webprofiler.dashboard: - title: 'dashboard' - route_name: webprofiler.dashboard - base_route: webprofiler.dashboard diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/webprofiler.make.yml b/frontend/drupal9/web/modules/contrib/devel/webprofiler/webprofiler.make.yml deleted file mode 100644 index 334519423..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/webprofiler.make.yml +++ /dev/null @@ -1,12 +0,0 @@ -core: "8.x" -api: 2 - -libraries: - highlightjs: - download: - type: "git" - url: "https://github.com/highlightjs/highlight.js.git" - d3: - download: - type: "git" - url: "https://github.com/d3/d3.git" diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/webprofiler.module b/frontend/drupal9/web/modules/contrib/devel/webprofiler/webprofiler.module deleted file mode 100644 index 01e9b95f1..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/webprofiler.module +++ /dev/null @@ -1,51 +0,0 @@ - [ - 'template' => 'Profiler/webprofiler_loader', - 'variables' => ['token' => NULL, 'profiler_url' => NULL], - ], - 'webprofiler_toolbar' => [ - 'template' => 'Profiler/webprofiler_toolbar', - 'variables' => [ - 'token' => NULL, - 'toolbar' => NULL, - ], - ], - 'webprofiler_panel' => [ - 'template' => 'Profiler/webprofiler_panel', - 'variables' => [ - 'panel' => NULL, - ], - ], - 'webprofiler_dashboard' => [ - 'template' => 'Profiler/webprofiler_dashboard', - 'variables' => [ - 'profile' => [], - 'panels' => [], - 'spinner_path' => NULL, - ], - ], - ]; -} - -/** - * Implements hook_cache_flush(). - */ -function webprofiler_cache_flush() { - $config = \Drupal::configFactory()->get('webprofiler.config'); - - if ($config->get('purge_on_cache_clear')) { - $profiler = \Drupal::service('profiler'); - $profiler->purge(); - } -} diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/webprofiler.permissions.yml b/frontend/drupal9/web/modules/contrib/devel/webprofiler/webprofiler.permissions.yml deleted file mode 100644 index b39752527..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/webprofiler.permissions.yml +++ /dev/null @@ -1,7 +0,0 @@ -'access webprofiler': - title: 'Access webprofiler' - description: 'Access webprofiler collected data.' - 'restrict access': TRUE -'view webprofiler toolbar': - title: 'View webprofiler toolbar' - description: 'View webprofiler toolbar.' diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/webprofiler.routing.yml b/frontend/drupal9/web/modules/contrib/devel/webprofiler/webprofiler.routing.yml deleted file mode 100644 index 11543ecb9..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/webprofiler.routing.yml +++ /dev/null @@ -1,81 +0,0 @@ -# toolbar -webprofiler.toolbar: - path: '/profiler/{profile}' - defaults: - _controller: '\Drupal\webprofiler\Controller\ToolbarController::toolbarAction' - options: - parameters: - profile: - type: 'webprofiler:token' - requirements: - _permission: 'view webprofiler toolbar' - -# save frontend data -webprofiler.frontend.save: - path: '/admin/reports/profiler/frontend/{profile}/save' - defaults: - _controller: '\Drupal\webprofiler\Controller\ToolbarController::savePerformanceTimingAction' - _title: 'Save performance timing data' - options: - parameters: - profile: - type: 'webprofiler:token' - methods: [POST] - requirements: - _permission: 'view webprofiler toolbar' - -# view profile -webprofiler.dashboard: - path: '/admin/reports/profiler/view/{profile}' - defaults: - _controller: '\Drupal\webprofiler\Controller\DashboardController::dashboardAction' - _title: 'Webprofiler' - options: - parameters: - profile: - type: 'webprofiler:token' - requirements: - _permission: 'access webprofiler' - -# list stored profiles -webprofiler.admin_list: - path: '/admin/reports/profiler/list' - defaults: - _controller: '\Drupal\webprofiler\Controller\DashboardController::listAction' - _title: 'Webprofiler' - requirements: - _permission: 'access webprofiler' - -webprofiler.rest.collector: - path: '/admin/reports/profiler/view/{profile}/collectors/{collector}' - defaults: - _controller: '\Drupal\webprofiler\Controller\DashboardController::restCollectorAction' - _title: 'Webprofiler' - options: - parameters: - profile: - type: 'webprofiler:token' - requirements: - _permission: 'access webprofiler' - -# get query explain -webprofiler.database.explain: - path: '/admin/reports/profiler/database_explain/{profile}/{qid}' - defaults: - _controller: '\Drupal\webprofiler\Controller\DatabaseController::explainAction' - _title: 'Query explain' - options: - parameters: - profile: - type: 'webprofiler:token' - requirements: - _permission: 'access webprofiler' - -# configure webprofiler -webprofiler.settings: - path: '/admin/config/development/devel/webprofiler' - defaults: - _form: 'Drupal\webprofiler\Form\ConfigForm' - _title: 'Webprofiler settings' - requirements: - _permission: 'access webprofiler' diff --git a/frontend/drupal9/web/modules/contrib/devel/webprofiler/webprofiler.services.yml b/frontend/drupal9/web/modules/contrib/devel/webprofiler/webprofiler.services.yml deleted file mode 100644 index 6055a1d00..000000000 --- a/frontend/drupal9/web/modules/contrib/devel/webprofiler/webprofiler.services.yml +++ /dev/null @@ -1,262 +0,0 @@ -parameters: - webprofiler.only_exceptions: false - webprofiler.only_master_requests: false - -services: - -# profiler services - logger.channel.webprofiler: - class: Drupal\Core\Logger\LoggerChannel - factory: logger.factory:get - arguments: ['webprofiler'] - - profiler.file_storage: - class: Drupal\webprofiler\Profiler\FileProfilerStorage - arguments: ['%data_collector.storage%'] - tags: - - { name: webprofiler_storage, title: 'File storage' } - - profiler.database_storage: - class: Drupal\webprofiler\Profiler\DatabaseProfilerStorage - arguments: ['@database'] - tags: - - { name: webprofiler_storage, title: 'Database storage' } - - profiler.storage_manager: - class: Drupal\webprofiler\Profiler\ProfilerStorageManager - - profiler.storage: - class: Symfony\Component\HttpKernel\Profiler\ProfilerStorageInterface - factory: Drupal\webprofiler\Profiler\ProfilerStorageFactory::getProfilerStorage - arguments: ['@config.factory', '@service_container'] - - profiler: - class: Drupal\webprofiler\Profiler\Profiler - arguments: ['@profiler.storage', '@logger.channel.webprofiler', '@config.factory'] - -# template manager - template_manager: - class: Drupal\webprofiler\Profiler\TemplateManager - arguments: ['@profiler', '@twig', '@twig.loader', '%data_collector.templates%'] - -# request matcher - webprofiler.matcher: - class: Drupal\webprofiler\RequestMatcher\WebprofilerRequestMatcher - arguments: ['@config.factory', '@path.matcher'] - -# event subscribers - webprofiler.profiler_listener: - class: Drupal\webprofiler\EventSubscriber\ProfilerSubscriber - arguments: ['@profiler', '@request_stack', '@?webprofiler.matcher', '%webprofiler.only_exceptions%', '%webprofiler.only_master_requests%'] - tags: - - { name: event_subscriber } - - webprofiler.webprofiler_event_subscriber: - class: Drupal\webprofiler\EventSubscriber\WebprofilerEventSubscriber - arguments: ['@current_user', '@url_generator', '@renderer'] - tags: - - { name: event_subscriber } - -# twig profiler - twig.profile: - class: Twig_Profiler_Profile - - twig.extension.profiler: - class: Drupal\webprofiler\Twig\Extension\ProfilerExtension - arguments: ['@twig.profile', '@stopwatch', '@webprofiler.ide_link_generator', '@webprofiler.class_shortener'] - tags: - - { name: twig.extension, priority: 100 } - -# datacollector services - webprofiler.drupal: - class: Drupal\webprofiler\DataCollector\DrupalDataCollector - arguments: ['@redirect.destination', '@url_generator'] - tags: - - { name: data_collector, template: '@webprofiler/Collector/drupal.html.twig', id: 'drupal', title: 'Drupal', priority: 10 } - - webprofiler.devel: - class: Drupal\webprofiler\DataCollector\DevelDataCollector - arguments: ['@menu.link_tree'] - tags: - - { name: data_collector, template: '@webprofiler/Collector/devel.html.twig', id: 'devel', title: 'Devel', priority: 15 } - - webprofiler.php_config: - class: Drupal\webprofiler\DataCollector\PhpConfigDataCollector - tags: - - { name: data_collector, template: '@webprofiler/Collector/php_config.html.twig', id: 'php_config', title: 'PHP Config', priority: 20 } - - webprofiler.request: - class: Drupal\webprofiler\DataCollector\RequestDataCollector - arguments: ['@controller_resolver'] - tags: - - { name: data_collector, template: '@webprofiler/Collector/request.html.twig', id: 'request', title: 'Request', priority: 30 } - - { name: event_subscriber } - - webprofiler.time: - class: Drupal\webprofiler\DataCollector\TimeDataCollector - arguments: [NULL, '@stopwatch'] - tags: - - { name: data_collector, template: '@webprofiler/Collector/time.html.twig', id: 'time', title: 'Timeline', priority: 40 } - - webprofiler.performance_timing: - class: Drupal\webprofiler\DataCollector\PerformanceTimingDataCollector - tags: - - { name: data_collector, template: '@webprofiler/Collector/performance_timing.html.twig', id: 'performance_timing', title: 'Performance Timing', priority: 50 } - - webprofiler.database: - class: Drupal\webprofiler\DataCollector\DatabaseDataCollector - arguments: ['@database', '@config.factory'] - tags: - - { name: data_collector, template: '@webprofiler/Collector/database.html.twig', id: 'database', title: 'Database', priority: 60 } - - webprofiler.user: - class: Drupal\webprofiler\DataCollector\UserDataCollector - arguments: ['@current_user', '@entity_type.manager', '@config.factory', '@authentication_collector'] - tags: - - { name: data_collector, template: '@webprofiler/Collector/user.html.twig', id: 'user', title: 'User', priority: 70 } - - webprofiler.forms: - class: Drupal\webprofiler\DataCollector\FormsDataCollector - arguments: ['@form_builder'] - tags: - - { name: data_collector, template: '@webprofiler/Collector/forms.html.twig', id: 'forms', title: 'Forms', priority: 80 } - - webprofiler.drupal_extensions: - class: Drupal\webprofiler\DataCollector\ExtensionDataCollector - arguments: ['@module_handler', '@theme_handler', '@app.root'] - tags: - - { name: data_collector, template: '@webprofiler/Collector/extensions.html.twig', id: 'drupal_extension', title: 'Extensions', priority: 90 } - - webprofiler.routing: - class: Drupal\webprofiler\DataCollector\RoutingDataCollector - arguments: ['@router.route_provider'] - tags: - - { name: data_collector, template: '@webprofiler/Collector/routing.html.twig', id: 'routing', title: 'Routing', priority: 100 } - - webprofiler.cache: - class: Drupal\webprofiler\DataCollector\CacheDataCollector - tags: - - { name: data_collector, template: '@webprofiler/Collector/cache.html.twig', id: 'cache', title: 'Cache', priority: 110 } - - webprofiler.assets: - class: Drupal\webprofiler\DataCollector\AssetsDataCollector - arguments: ['@app.root'] - tags: - - { name: data_collector, template: '@webprofiler/Collector/assets.html.twig', id: 'assets', title: 'Assets', priority: 120} - - webprofiler.config: - class: Drupal\webprofiler\DataCollector\ConfigDataCollector - tags: - - { name: data_collector, template: '@webprofiler/Collector/config.html.twig', id: 'config', title: 'Config', priority: 130 } - - webprofiler.state: - class: Drupal\webprofiler\DataCollector\StateDataCollector - tags: - - { name: data_collector, template: '@webprofiler/Collector/state.html.twig', id: 'state', title: 'State', priority: 140 } - - webprofiler.events: - class: Drupal\webprofiler\DataCollector\EventsDataCollector - arguments: ['@event_dispatcher'] - tags: - - { name: data_collector, template: '@webprofiler/Collector/events.html.twig', id: 'events', title: 'Events', priority: 150 } - - webprofiler.services: - class: Drupal\webprofiler\DataCollector\ServicesDataCollector - arguments: ['@service_container'] - tags: - - { name: data_collector, template: '@webprofiler/Collector/services.html.twig', id: 'services', title: 'Services', priority: 160 } - - webprofiler.http: - class: Drupal\webprofiler\DataCollector\HttpDataCollector - arguments: ['@http_client_middleware.webprofiler'] - tags: - - { name: data_collector, template: '@webprofiler/Collector/http.html.twig', id: 'http', title: 'Http', priority: 170 } - - webprofiler.theme: - class: Drupal\webprofiler\DataCollector\ThemeDataCollector - arguments: ['@theme.manager', '@theme.negotiator', '@twig.profile'] - tags: - - { name: data_collector, template: '@webprofiler/Collector/theme.html.twig', id: 'theme', title: 'Theme', priority: 180 } - - webprofiler.mail: - class: Drupal\webprofiler\DataCollector\MailDataCollector - tags: - - { name: data_collector, template: '@webprofiler/Collector/mail.html.twig', id: 'mail', title: 'Mail', priority: 190 } - -# debug services - stopwatch: - class: Drupal\webprofiler\Stopwatch - - webprofiler.debug.plugin.manager.mail.default: - class: Drupal\Core\Mail\MailManager - arguments: ['@container.namespaces', '@cache.discovery', '@module_handler', '@config.factory', '@logger.factory', '@string_translation', '@renderer'] - - webprofiler.debug.controller_resolver: - class: Symfony\Component\HttpKernel\Controller\TraceableControllerResolver - arguments: ['@controller_resolver', '@stopwatch'] - - webprofiler.debug.cache_factory: - class: Drupal\webprofiler\Cache\CacheFactoryWrapper - public: false - decorates: cache_factory - arguments: ['@webprofiler.debug.cache_factory.inner', '@webprofiler.cache'] - properties: - _serviceId: 'cache_factory' - - webprofiler.debug.asset.css.collection_renderer: - class: Drupal\webprofiler\Asset\CssCollectionRendererWrapper - public: false - decorates: asset.css.collection_renderer - arguments: ['@webprofiler.debug.asset.css.collection_renderer.inner', '@webprofiler.assets'] - properties: - _serviceId: 'asset.css.collection_renderer' - - webprofiler.debug.asset.js.collection_renderer: - class: Drupal\webprofiler\Asset\JsCollectionRendererWrapper - public: false - decorates: asset.js.collection_renderer - arguments: ['@webprofiler.debug.asset.js.collection_renderer.inner', '@webprofiler.assets'] - properties: - _serviceId: 'asset.js.collection_renderer' - - webprofiler.debug.entity_type.manager: - class: Drupal\webprofiler\Entity\EntityManagerWrapper - public: false - decorates: entity_type.manager - arguments: ['@webprofiler.debug.entity_type.manager.inner'] - properties: - _serviceId: 'entity_type.manager' - - webprofiler.debug.state: - class: Drupal\webprofiler\State\StateWrapper - public: false - decorates: state - arguments: ['@webprofiler.debug.state.inner', '@webprofiler.state'] - properties: - _serviceId: 'state' - -# middleware - http_middleware.webprofiler: - class: Drupal\webprofiler\StackMiddleware\WebprofilerMiddleware - tags: - - { name: http_middleware, priority: 350 } - - http_client_middleware.webprofiler: - class: Drupal\webprofiler\Http\HttpClientMiddleware - tags: - - { name: http_client_middleware } - -# parameter converter service for profile token - webprofiler.token_converter: - class: Drupal\webprofiler\Routing\TokenConverter - tags: - - { name: paramconverter } - -# IDE link generator service - webprofiler.ide_link_generator: - class: Drupal\webprofiler\Helper\IdeLinkGenerator - arguments: ['@config.factory'] - -# class shortener service - webprofiler.class_shortener: - class: Drupal\webprofiler\Helper\ClassShortener diff --git a/frontend/drupal9/web/modules/contrib/ds/composer.json b/frontend/drupal9/web/modules/contrib/ds/composer.json index fbe6224e1..ff439499a 100644 --- a/frontend/drupal9/web/modules/contrib/ds/composer.json +++ b/frontend/drupal9/web/modules/contrib/ds/composer.json @@ -6,12 +6,9 @@ "keywords": ["php", "layout", "drupal"], "homepage": "https://www.drupal.org/project/ds", "minimum-stability": "dev", - "require": { - "drupal/core": "^8.8 || ^9" - }, "require-dev": { - "drupal/field_group": "3.x-dev", - "drupal/devel": "3.x-dev" + "drupal/devel": "5.x-dev", + "drupal/classy": "^1.0" }, "authors": [ { diff --git a/frontend/drupal9/web/modules/contrib/ds/drush/ExampleField.php b/frontend/drupal9/web/modules/contrib/ds/drush/ExampleField.php deleted file mode 100644 index bfa21c113..000000000 --- a/frontend/drupal9/web/modules/contrib/ds/drush/ExampleField.php +++ /dev/null @@ -1,54 +0,0 @@ - 'Create a basic template and configuration file for a new Display Suite layout.', - 'arguments' => [ - 'name' => 'Name for your layout.', - ], - 'options' => [ - 'name' => 'Name for your layout.', - 'regions' => 'Regions for your layout, comma-separated.', - 'css' => 'Set this to true if you want to include a CSS file for your layout.', - 'image' => 'Set this to true if you want to include a preview image for your layout.', - ], - 'examples' => [ - 'drush ds-build "My layout name"' => 'Create a layout with a few example regions.', - 'drush ds-build "My layout name" --regions="Region 1, Region 2"' => 'Create a layout with custom regions.', - 'drush ds-build "My layout name" --css' => 'Create a layout with an included CSS file.', - ], - ]; - - $items['ds-field'] = [ - 'description' => 'Create a Display Suite plugin', - 'arguments' => [ - 'name' => 'Name for your Display Suite field class', - ], - 'options' => [ - 'name' => 'Name for your class.', - 'entity' => 'Name of the entity', - ], - 'examples' => [ - 'drush ds-field "MyField"' => 'Create a field with only a render function', - 'drush ds-field "MyTest" --entity=user' => 'Create a field for the user entity', - ], - ]; - - return $items; -} - -/** - * Create a basic template and configuration file for a Display Suite layout. - */ -function drush_ds_build($name = NULL) { - // Determine the layout name. - if (!isset($name)) { - $name = drush_get_option('name'); - } - if (!$name) { - drush_die(dt('You need to set a name for your layout. Type "drush help ds-build" for help.')); - } - - // Determine the machine name. - $machine_name = ds_prepare_machine_name($name); - - // Determine the path to our example layout templates. - $ds_layout_path = dirname(__FILE__) . '/example_layout'; - - // We create files in the current working directory. - $layout_path = drush_cwd() . '/' . $machine_name; - drush_op('mkdir', $layout_path); - - // Determine regions. - $regions = drush_get_option('regions'); - if ($regions) { - $regions = preg_split('/,(\ )?/', $regions); - } - - // Copy the example templates. - $twig_machine_name = strtr($machine_name, '_', '-'); - drush_op('copy', $ds_layout_path . '/example-layout.html.twig', $layout_path . "/$twig_machine_name.html.twig"); - drush_op('copy', $ds_layout_path . '/example_layout.inc', $layout_path . "/$machine_name.inc"); - - // Prepare an array of things that need to be rewritten in our templates. - $find = []; - $replace = []; - - // Replace example name. - $find[] = '/example layout/i'; - $replace[] = $name; - $find[] = '/example_layout/'; - $replace[] = $machine_name; - - // Include a CSS file for this layout. - $css = drush_get_option('css'); - if (isset($css)) { - drush_op('copy', $ds_layout_path . '/example_layout.css', $layout_path . "/$machine_name.css"); - - // Replace example styling if we have custom regions. - if ($regions) { - // Separate variables so this won't mess up our other templates. - $css_find = $find; - $css_replace = $replace; - - $css_find[] = "/(\*\/\n\n).+(\n)$/s"; - $css_replace[] = '$1' . ds_prepare_regions_css($regions) . '$2'; - - drush_op('ds_file_preg_replace', [$layout_path . "/$machine_name.css"], $css_find, $css_replace); - } - - // Uncomment the CSS rule in our configuration. - $find[] = "/\/\/ ('css' => TRUE,)/"; - $replace[] = '$1'; - } - - // Check on form option. - $image = drush_get_option('image'); - if (isset($image)) { - // Uncomment the Form rule in our configuration. - $find[] = "/\/\/ ('image' => TRUE,)/"; - $replace[] = '$1'; - } - - // Replace example region PHP/HTML code. - if ($regions) { - $find[] = '/ {# regions #}.+{# \/regions #}/s'; - $replace[] = ds_prepare_regions_html($regions); - $find[] = "/( \* Regions:\n).+(\n \*\/)/s"; - $replace[] = '$1' . ds_prepare_regions_variable_documentation($regions) . '$2'; - $find[] = "/( 'regions' => array\(\n).+(\n \),)/s"; - $replace[] = '$1' . ds_prepare_regions_configuration($regions) . '$2'; - } - - // Rewrite templates. - drush_op('ds_file_preg_replace', [$layout_path . "/$twig_machine_name.html.twig", $layout_path . "/$machine_name.inc"], $find, $replace); - - // Notify user of the newly created templates. - drush_print(dt('Templates for "@name" created in: @path', ['@name' => $name, '@path' => $layout_path])); -} - -/** - * Prepare a string for use as a valid machine name. - */ -function ds_prepare_machine_name($string) { - $machine_name = str_replace(' ', '_', mb_strtolower($string)); - // Remove characters not valid in function names. - $machine_name = preg_replace('/[^a-z0-9_]/', '', $machine_name); - - return $machine_name; -} - -/** - * Perform preg_replace() on the contents of an array of files. - */ -function ds_file_preg_replace($file_paths, $find, $replace) { - foreach ($file_paths as $path) { - $file_contents = file_get_contents($path); - $file_contents = preg_replace($find, $replace, $file_contents); - file_put_contents($path, $file_contents); - } -} - -/** - * Prepare HTML structure for an array of regions. - */ -function ds_prepare_regions_html($region_names) { - $output = []; - - foreach ($region_names as $name) { - $machine_name = ds_prepare_machine_name($name); - - $output[] = << - {% if \${$machine_name} is not null %} - {{ \${$machine_name} }} - {% endif %} - -END; - } - - return implode("\n\n", $output); -} - -/** - * Prepare variable documentation for an array of regions. - */ -function ds_prepare_regions_variable_documentation($region_names) { - $output = []; - - foreach ($region_names as $name) { - $machine_name = ds_prepare_machine_name($name); - - $output[] = << $name, '@class_path' => $class_path])); -} diff --git a/frontend/drupal9/web/modules/contrib/ds/drush/example_layout/README.txt b/frontend/drupal9/web/modules/contrib/ds/drush/example_layout/README.txt deleted file mode 100644 index dac532991..000000000 --- a/frontend/drupal9/web/modules/contrib/ds/drush/example_layout/README.txt +++ /dev/null @@ -1,2 +0,0 @@ -Use this example layout template and configuration as a starting point for your -own, custom Display Suite layouts. diff --git a/frontend/drupal9/web/modules/contrib/ds/drush/example_layout/example-layout.html.twig b/frontend/drupal9/web/modules/contrib/ds/drush/example_layout/example-layout.html.twig deleted file mode 100644 index b431fd94b..000000000 --- a/frontend/drupal9/web/modules/contrib/ds/drush/example_layout/example-layout.html.twig +++ /dev/null @@ -1,31 +0,0 @@ -{# -/** - * @file - * Display Suite example layout template. - */ -#} -<{{ layout_wrapper }} {{ layout_attributes }} class="ds-2col {{ attributes.class }} clearfix"> - - {# Needed to activate contextual links #} - {% if title_suffix.contextual_links is not null %} - {{ title_suffix.contextual_links }} - {% endif %} - - {# regions #} - - <{{ left_wrapper }} class="group-left{{ left_classes }}"> - {% if left is not null %} - {{ left }} - {% endif %} - - - <{{ right_wrapper }} class="group-right{{ right_classes }}"> - {% if right is not null %} - {{ right }} - {% endif %} - - - {# These comments are required for the Drush command. You can remove them in your own copy #} - {# /regions #} - - diff --git a/frontend/drupal9/web/modules/contrib/ds/drush/example_layout/example_layout.css b/frontend/drupal9/web/modules/contrib/ds/drush/example_layout/example_layout.css deleted file mode 100644 index 77a604347..000000000 --- a/frontend/drupal9/web/modules/contrib/ds/drush/example_layout/example_layout.css +++ /dev/null @@ -1,22 +0,0 @@ -/** - * @file - * Display Suite example layout stylesheet. - */ - -.ds-left { - width: 20%; - float: left; /* LTR */ -} - -[dir="rtl"] .ds-left { - float: right; -} - -.ds-right { - width: 80%; - float: right; /* LTR */ -} - -[dir="rtl"] .ds-right { - float: left; -} diff --git a/frontend/drupal9/web/modules/contrib/ds/drush/example_layout/example_layout.inc b/frontend/drupal9/web/modules/contrib/ds/drush/example_layout/example_layout.inc deleted file mode 100644 index efe6d0420..000000000 --- a/frontend/drupal9/web/modules/contrib/ds/drush/example_layout/example_layout.inc +++ /dev/null @@ -1,23 +0,0 @@ - t('Example layout'), - 'regions' => [ - 'left' => t('Left'), - 'right' => t('Right'), - ], - // Uncomment if you want to include a CSS file for this layout (example_layout.css). - // 'css' => TRUE, - // Uncomment if you want to include a preview for this layout (example_layout.png). - // 'image' => TRUE, - ]; -} diff --git a/frontend/drupal9/web/modules/contrib/ds/drush/example_layout/example_layout.png b/frontend/drupal9/web/modules/contrib/ds/drush/example_layout/example_layout.png deleted file mode 100644 index cf953c164..000000000 Binary files a/frontend/drupal9/web/modules/contrib/ds/drush/example_layout/example_layout.png and /dev/null differ diff --git a/frontend/drupal9/web/modules/contrib/ds/ds.info.yml b/frontend/drupal9/web/modules/contrib/ds/ds.info.yml index 9a8debf05..ae2d555cc 100644 --- a/frontend/drupal9/web/modules/contrib/ds/ds.info.yml +++ b/frontend/drupal9/web/modules/contrib/ds/ds.info.yml @@ -1,16 +1,15 @@ type: module name: 'Display Suite' description: 'Extend the display options for every entity type.' -core_version_requirement: ^8.8 || ^9 +core_version_requirement: ^9 || ^10 package: 'Display Suite' configure: ds.structure dependencies: - drupal:layout_discovery - - drupal:system (>= 8.6.x) test_dependencies: - - field_group:field_group + - classy:classy -# Information added by Drupal.org packaging script on 2021-06-23 -version: '8.x-3.13' +# Information added by Drupal.org packaging script on 2022-09-10 +version: '8.x-3.15' project: 'ds' -datestamp: 1624456616 +datestamp: 1662818541 diff --git a/frontend/drupal9/web/modules/contrib/ds/ds.layouts.yml b/frontend/drupal9/web/modules/contrib/ds/ds.layouts.yml index 5fb370e19..0711aeba0 100644 --- a/frontend/drupal9/web/modules/contrib/ds/ds.layouts.yml +++ b/frontend/drupal9/web/modules/contrib/ds/ds.layouts.yml @@ -2,7 +2,6 @@ ds_1col: label: One column layout category: Display Suite class: '\Drupal\ds\Plugin\DsLayout' - type: partial template: templates/ds-1col icon: images/ds-1col.png regions: @@ -12,7 +11,6 @@ ds_1col_wrapper: label: One column layout + wrapper category: Display Suite class: '\Drupal\ds\Plugin\DsLayout' - type: partial template: templates/ds-1col-wrapper icon: images/ds-1col-wrapper.png regions: @@ -22,7 +20,6 @@ ds_2col: label: Two column layout category: Display Suite class: '\Drupal\ds\Plugin\DsLayout' - type: partial template: templates/ds-2col library: ds/ds_2col icon: images/ds-2col.png @@ -35,7 +32,6 @@ ds_2col_fluid: label: Fluid two column layout category: Display Suite class: '\Drupal\ds\Plugin\DsLayout' - type: partial template: templates/ds-2col-fluid library: ds/ds_2col_fluid icon: images/ds-2col-fluid.png @@ -48,7 +44,6 @@ ds_2col_stacked: label: Two column stacked layout category: Display Suite class: '\Drupal\ds\Plugin\DsLayout' - type: partial template: templates/ds-2col-stacked library: ds/ds_2col_stacked icon: images/ds-2col-stacked.png @@ -65,7 +60,6 @@ ds_2col_stacked_fluid: label: Fluid two column stacked layout category: Display Suite class: '\Drupal\ds\Plugin\DsLayout' - type: partial template: templates/ds-2col-stacked-fluid library: ds/ds_2col_stacked_fluid icon: images/ds-2col-stacked-fluid.png @@ -82,7 +76,6 @@ ds_3col: label: Three column - 25/50/25 category: Display Suite class: '\Drupal\ds\Plugin\DsLayout' - type: partial template: templates/ds-3col library: ds/ds_3col icon: images/ds-3col.png @@ -97,7 +90,6 @@ ds_3col_equal_width: label: Three column - equal width category: Display Suite class: '\Drupal\ds\Plugin\DsLayout' - type: partial template: templates/ds-3col-equal-width library: ds/ds_3col_equal_width icon: images/ds-3col-equal-width.png @@ -112,7 +104,6 @@ ds_3col_stacked: label: Three column stacked - 25/50/25 category: Display Suite class: '\Drupal\ds\Plugin\DsLayout' - type: partial template: templates/ds-3col-stacked library: ds/ds_3col_stacked icon: images/ds-3col-stacked.png @@ -131,7 +122,6 @@ ds_3col_stacked_fluid: label: Fluid three column stacked - 25/50/25 category: Display Suite class: '\Drupal\ds\Plugin\DsLayout' - type: partial template: templates/ds-3col-stacked-fluid library: ds/ds_3col_stacked_fluid icon: images/ds-3col-stacked-fluid.png @@ -150,7 +140,6 @@ ds_3col_stacked_equal_width: label: Three column stacked - equal width category: Display Suite class: '\Drupal\ds\Plugin\DsLayout' - type: partial template: templates/ds-3col-stacked-equal-width library: ds/ds_3col_stacked_equal_width icon: images/ds-3col-stacked-equal-width.png @@ -169,7 +158,6 @@ ds_4col: label: Four column - equal width category: Display Suite class: '\Drupal\ds\Plugin\DsLayout' - type: partial template: templates/ds-4col library: ds/ds_4col icon: images/ds-4col.png @@ -186,7 +174,6 @@ ds_reset: label: Reset layout category: Display Suite class: '\Drupal\ds\Plugin\DsLayout' - type: partial template: templates/ds-reset image: images/ds-reset.png regions: diff --git a/frontend/drupal9/web/modules/contrib/ds/ds.module b/frontend/drupal9/web/modules/contrib/ds/ds.module index 960e6a551..34a5cb77d 100644 --- a/frontend/drupal9/web/modules/contrib/ds/ds.module +++ b/frontend/drupal9/web/modules/contrib/ds/ds.module @@ -58,7 +58,7 @@ function ds_theme() { 'render element' => 'elements', 'template' => strtr($plugin['theme'], '_', '-'), 'base hook' => 'field', - 'path' => drupal_get_path('module', $plugin['provider']) . '/templates', + 'path' => \Drupal::service('extension.list.module')->getPath($plugin['provider']) . '/templates', ]; if (!empty($plugin['path'])) { @@ -1169,7 +1169,7 @@ function ds_entity_type_alter(array &$entity_types) { } } // Undo field_layout changes to EntityViewDisplay. - if (\Drupal::moduleHandler()->moduleExists('field_layout')) { + if (\Drupal::moduleHandler()->moduleExists('field_layout') && !\Drupal::moduleHandler()->moduleExists('layout_builder')) { $entity_types['entity_view_display']->setClass($entity_types['entity_view_display']->getOriginalClass()); if (\Drupal::moduleHandler()->moduleExists('field_ui')) { $entity_types['entity_view_display']->setFormClass('edit', 'Drupal\field_ui\Form\EntityViewDisplayEditForm'); diff --git a/frontend/drupal9/web/modules/contrib/ds/includes/field_ui.inc b/frontend/drupal9/web/modules/contrib/ds/includes/field_ui.inc index 91402ce32..db2aeb34c 100644 --- a/frontend/drupal9/web/modules/contrib/ds/includes/field_ui.inc +++ b/frontend/drupal9/web/modules/contrib/ds/includes/field_ui.inc @@ -987,7 +987,7 @@ function _ds_field_ui_table_layouts_preview(array &$form, FormStateInterface $fo } if ($form_state->hasValue('ds_layout') || (!empty($layout) && isset($layout['regions'])) && (!empty($chosen_layout))) { - $fallback_image = drupal_get_path('module', 'ds') . '/images/preview.png'; + $fallback_image = \Drupal::service('extension.list.module')->getPath('ds') . '/images/preview.png'; $current_layout = $form_state->hasValue('ds_layout') && (!isset($layout->layout) || $form_state->getValue('ds_layout') != $layout->layout) ? t('Current layout (after save)') : t('Current layout'); $image = $chosen_layout->getIconPath(); if (empty($image)) { @@ -1234,6 +1234,7 @@ function _ds_field_ui_fields($entity_type, $bundle, $view_mode, array &$form, Fo 'above' => t('Above'), 'inline' => t('Inline'), 'hidden' => t('- Hidden -'), + 'visually_hidden' => t('- Visually Hidden -'), ]; \Drupal::moduleHandler()->alter('ds_label_options', $field_label_options); diff --git a/frontend/drupal9/web/modules/contrib/ds/modules/ds_devel/ds_devel.info.yml b/frontend/drupal9/web/modules/contrib/ds/modules/ds_devel/ds_devel.info.yml index 5ffbba3cf..8a0a4eb9b 100644 --- a/frontend/drupal9/web/modules/contrib/ds/modules/ds_devel/ds_devel.info.yml +++ b/frontend/drupal9/web/modules/contrib/ds/modules/ds_devel/ds_devel.info.yml @@ -1,13 +1,13 @@ type: module name: 'Display Suite Devel' description: 'Development functionality for Display Suite.' -core_version_requirement: ^8.8 || ^9 +core_version_requirement: ^9 || ^10 package: 'Display Suite' dependencies: - ds:ds - devel:devel -# Information added by Drupal.org packaging script on 2021-06-23 -version: '8.x-3.13' +# Information added by Drupal.org packaging script on 2022-09-10 +version: '8.x-3.15' project: 'ds' -datestamp: 1624456616 +datestamp: 1662818541 diff --git a/frontend/drupal9/web/modules/contrib/ds/modules/ds_extras/ds_extras.info.yml b/frontend/drupal9/web/modules/contrib/ds/modules/ds_extras/ds_extras.info.yml index 233c3aa23..9b0e2c0b1 100644 --- a/frontend/drupal9/web/modules/contrib/ds/modules/ds_extras/ds_extras.info.yml +++ b/frontend/drupal9/web/modules/contrib/ds/modules/ds_extras/ds_extras.info.yml @@ -1,13 +1,13 @@ type: module name: 'Display Suite Extras' description: 'Contains additional features for Display Suite.' -core_version_requirement: ^8.8 || ^9 +core_version_requirement: ^9 || ^10 package: 'Display Suite' configure: admin/structure/ds/settings dependencies: - ds:ds -# Information added by Drupal.org packaging script on 2021-06-23 -version: '8.x-3.13' +# Information added by Drupal.org packaging script on 2022-09-10 +version: '8.x-3.15' project: 'ds' -datestamp: 1624456616 +datestamp: 1662818541 diff --git a/frontend/drupal9/web/modules/contrib/ds/modules/ds_extras/src/Controller/DsExtrasController.php b/frontend/drupal9/web/modules/contrib/ds/modules/ds_extras/src/Controller/DsExtrasController.php index 51564cf9b..2efb8a3a5 100644 --- a/frontend/drupal9/web/modules/contrib/ds/modules/ds_extras/src/Controller/DsExtrasController.php +++ b/frontend/drupal9/web/modules/contrib/ds/modules/ds_extras/src/Controller/DsExtrasController.php @@ -6,6 +6,7 @@ use Drupal\Core\Access\AccessResult; use Drupal\Core\Ajax\AjaxResponse; use Drupal\Core\Ajax\ReplaceCommand; use Drupal\Core\Controller\ControllerBase; +use Drupal\node\NodeInterface; use Symfony\Component\HttpFoundation\Request; /** @@ -49,17 +50,20 @@ class DsExtrasController extends ControllerBase { /** * Displays a node revision. * - * @param int $node_revision - * The node revision ID. - * * @return array * An array suitable for drupal_render(). + * + * @throws \Drupal\Component\Plugin\Exception\InvalidPluginDefinitionException + * @throws \Drupal\Component\Plugin\Exception\PluginNotFoundException */ - public function revisionShow($node_revision) { - /* @var \Drupal\node\NodeInterface $node */ - $node = $this->entityTypeManager() - ->getStorage('node') - ->loadRevision($node_revision); + public function revisionShow($node_revision = NULL) { + + if ($node_revision instanceof NodeInterface) { + $node = $node_revision; + } + else { + $this->entityTypeManager()->getStorage('node')->loadRevision($node_revision); + } // Determine view mode. $view_mode = \Drupal::config('ds_extras.settings') diff --git a/frontend/drupal9/web/modules/contrib/ds/modules/ds_switch_view_mode/ds_switch_view_mode.info.yml b/frontend/drupal9/web/modules/contrib/ds/modules/ds_switch_view_mode/ds_switch_view_mode.info.yml index 3b033f914..773de080e 100644 --- a/frontend/drupal9/web/modules/contrib/ds/modules/ds_switch_view_mode/ds_switch_view_mode.info.yml +++ b/frontend/drupal9/web/modules/contrib/ds/modules/ds_switch_view_mode/ds_switch_view_mode.info.yml @@ -1,12 +1,12 @@ type: module name: 'Display Suite Switch View Mode' description: 'Allows you to switch entity display per node on the node form.' -core_version_requirement: ^8.8 || ^9 +core_version_requirement: ^9 || ^10 package: 'Display Suite' dependencies: - ds:ds -# Information added by Drupal.org packaging script on 2021-06-23 -version: '8.x-3.13' +# Information added by Drupal.org packaging script on 2022-09-10 +version: '8.x-3.15' project: 'ds' -datestamp: 1624456616 +datestamp: 1662818541 diff --git a/frontend/drupal9/web/modules/contrib/ds/modules/ds_switch_view_mode/ds_switch_view_mode.module b/frontend/drupal9/web/modules/contrib/ds/modules/ds_switch_view_mode/ds_switch_view_mode.module index be8cafc64..b1f5902af 100644 --- a/frontend/drupal9/web/modules/contrib/ds/modules/ds_switch_view_mode/ds_switch_view_mode.module +++ b/frontend/drupal9/web/modules/contrib/ds/modules/ds_switch_view_mode/ds_switch_view_mode.module @@ -121,7 +121,7 @@ function ds_switch_view_mode_form_node_form_alter(&$form, FormStateInterface $fo $layout_settings = $chosen_layout->getThirdPartySettings('ds'); $ds_layouts = Ds::getLayouts(); - $fallback_image = drupal_get_path('module', 'ds') . '/images/preview.png'; + $fallback_image = \Drupal::service('extension.list.module')->getPath('ds') . '/images/preview.png'; if (isset($layout_settings['layout'])) { /** @var \Drupal\Core\Layout\LayoutDefinition $chosen_layout */ diff --git a/frontend/drupal9/web/modules/contrib/ds/src/Controller/DsController.php b/frontend/drupal9/web/modules/contrib/ds/src/Controller/DsController.php index bc503784d..6e807f278 100644 --- a/frontend/drupal9/web/modules/contrib/ds/src/Controller/DsController.php +++ b/frontend/drupal9/web/modules/contrib/ds/src/Controller/DsController.php @@ -125,7 +125,7 @@ class DsController extends ControllerBase { * A redirect response pointing to the corresponding display. */ public function contextualTab(RouteMatchInterface $route_match) { - $parameter_name = $route_match->getRouteObject()->getOption('_ds_entity_type_id'); + $parameter_name = $route_match->getRouteObject()->getDefault('entity_type_id'); $entity = $route_match->getParameter($parameter_name); $entity_type_id = $entity->getEntityTypeId(); diff --git a/frontend/drupal9/web/modules/contrib/ds/src/Form/ChangeLayoutForm.php b/frontend/drupal9/web/modules/contrib/ds/src/Form/ChangeLayoutForm.php index 253418038..08bf0606a 100644 --- a/frontend/drupal9/web/modules/contrib/ds/src/Form/ChangeLayoutForm.php +++ b/frontend/drupal9/web/modules/contrib/ds/src/Form/ChangeLayoutForm.php @@ -162,10 +162,10 @@ class ChangeLayoutForm extends FormBase { '#suffix' => '
      ', ]; - $fallback_image = drupal_get_path('module', 'ds') . '/images/preview.png'; + $fallback_image = \Drupal::service('extension.list.module')->getPath('ds') . '/images/preview.png'; $old_image = $old_layout_info->getIconPath() ?: $fallback_image; $new_image = $new_layout->getIconPath() ?: $fallback_image; - $arrow = drupal_get_path('module', 'ds') . '/images/arrow.png'; + $arrow = \Drupal::service('extension.list.module')->getPath('ds') . '/images/arrow.png'; $form['preview']['old_layout'] = [ '#markup' => '
      ', diff --git a/frontend/drupal9/web/modules/contrib/ds/src/Form/ClassesForm.php b/frontend/drupal9/web/modules/contrib/ds/src/Form/ClassesForm.php index 0971f41d8..62fcb2af6 100644 --- a/frontend/drupal9/web/modules/contrib/ds/src/Form/ClassesForm.php +++ b/frontend/drupal9/web/modules/contrib/ds/src/Form/ClassesForm.php @@ -30,15 +30,12 @@ class ClassesForm extends ConfigFormBase { '#description' => t('Configure CSS classes which you can add to regions on the "manage display" screens. Add multiple CSS classes line by line.
      If you want to have a friendly name, separate class and friendly name by |, but this is not required. eg:
      class_name_1
      class_name_2|Friendly name
      class_name_3
      '), ]; - // Only show field classes if DS extras module is enabled. - if (\Drupal::moduleHandler()->moduleExists('ds_extras')) { - $form['fields'] = [ - '#type' => 'textarea', - '#title' => $this->t('CSS classes for fields'), - '#default_value' => implode("\n", $config->get('classes.field')), - '#description' => $this->t('Configure CSS classes which you can add to fields on the "manage display" screens. Add multiple CSS classes line by line.
      If you want to have a friendly name, separate class and friendly name by |, but this is not required. eg:
      class_name_1
      class_name_2|Friendly name
      class_name_3
      '), - ]; - } + $form['fields'] = [ + '#type' => 'textarea', + '#title' => $this->t('CSS classes for fields'), + '#default_value' => implode("\n", $config->get('classes.field')), + '#description' => $this->t('Configure CSS classes which you can add to fields on the "manage display" screens. Add multiple CSS classes line by line.
      If you want to have a friendly name, separate class and friendly name by |, but this is not required. eg:
      class_name_1
      class_name_2|Friendly name
      class_name_3
      '), + ]; return parent::buildForm($form, $form_state); } diff --git a/frontend/drupal9/web/modules/contrib/ds/src/Plugin/DsField/Date.php b/frontend/drupal9/web/modules/contrib/ds/src/Plugin/DsField/Date.php index 389a1bab7..6ee7c6439 100644 --- a/frontend/drupal9/web/modules/contrib/ds/src/Plugin/DsField/Date.php +++ b/frontend/drupal9/web/modules/contrib/ds/src/Plugin/DsField/Date.php @@ -2,6 +2,7 @@ namespace Drupal\ds\Plugin\DsField; +use Drupal\Component\Datetime\TimeInterface; use Drupal\Core\Datetime\DateFormatterInterface; use Drupal\Core\Entity\EntityTypeManagerInterface; use Symfony\Component\DependencyInjection\ContainerInterface; @@ -25,12 +26,20 @@ abstract class Date extends DsFieldBase { */ protected $dateFormatter; + /** + * The time service. + * + * @var \Drupal\Component\Datetime\TimeInterface + */ + protected $time; + /** * Constructs a Display Suite field plugin. */ - public function __construct($configuration, $plugin_id, $plugin_definition, EntityTypeManagerInterface $entity_type_manager, DateFormatterInterface $date_formatter) { + public function __construct($configuration, $plugin_id, $plugin_definition, EntityTypeManagerInterface $entity_type_manager, DateFormatterInterface $date_formatter, TimeInterface $time) { $this->entityTypeManager = $entity_type_manager; $this->dateFormatter = $date_formatter; + $this->time = $time; parent::__construct($configuration, $plugin_id, $plugin_definition); } @@ -44,7 +53,8 @@ abstract class Date extends DsFieldBase { $plugin_id, $plugin_definition, $container->get('entity_type.manager'), - $container->get('date.formatter') + $container->get('date.formatter'), + $container->get('datetime.time') ); } @@ -70,11 +80,11 @@ abstract class Date extends DsFieldBase { $date_formatters = []; foreach ($date_types as $machine_name => $entity) { - /* @var $entity \Drupal\Core\Datetime\DateFormatterInterface */ + /* @var $entity \Drupal\Core\Datetime\DateFormatInterface */ if ($entity->isLocked()) { continue; } - $date_formatters['ds_post_date_' . $machine_name] = $entity->label() . ' (' . $this->dateFormatter->format(REQUEST_TIME, $entity->id()) . ')'; + $date_formatters['ds_post_date_' . $machine_name] = $entity->label() . ' (' . $this->dateFormatter->format($this->time->getRequestTime(), $entity->id()) . ')'; } return $date_formatters; diff --git a/frontend/drupal9/web/modules/contrib/ds/src/Plugin/DsField/Node/NodeSubmittedBy.php b/frontend/drupal9/web/modules/contrib/ds/src/Plugin/DsField/Node/NodeSubmittedBy.php index c8d3a1693..ed25a3777 100644 --- a/frontend/drupal9/web/modules/contrib/ds/src/Plugin/DsField/Node/NodeSubmittedBy.php +++ b/frontend/drupal9/web/modules/contrib/ds/src/Plugin/DsField/Node/NodeSubmittedBy.php @@ -2,6 +2,7 @@ namespace Drupal\ds\Plugin\DsField\Node; +use Drupal\Component\Datetime\TimeInterface; use Drupal\Core\Datetime\DateFormatterInterface; use Drupal\Core\Url; use Drupal\ds\Plugin\DsField\Date; @@ -31,10 +32,9 @@ class NodeSubmittedBy extends Date { /** * Constructs a Display Suite field plugin. */ - public function __construct($configuration, $plugin_id, $plugin_definition, EntityTypeManagerInterface $entity_type_manager, Renderer $renderer, DateFormatterInterface $date_service) { + public function __construct($configuration, $plugin_id, $plugin_definition, EntityTypeManagerInterface $entity_type_manager, Renderer $renderer, DateFormatterInterface $date_formatter, TimeInterface $time) { $this->renderer = $renderer; - - parent::__construct($configuration, $plugin_id, $plugin_definition, $entity_type_manager, $date_service); + parent::__construct($configuration, $plugin_id, $plugin_definition, $entity_type_manager, $date_formatter, $time); } /** @@ -47,7 +47,8 @@ class NodeSubmittedBy extends Date { $plugin_definition, $container->get('entity_type.manager'), $container->get('renderer'), - $container->get('date.formatter') + $container->get('date.formatter'), + $container->get('datetime.time') ); } diff --git a/frontend/drupal9/web/modules/contrib/ds/src/Plugin/views/Entity/Render/RendererBase.php b/frontend/drupal9/web/modules/contrib/ds/src/Plugin/views/Entity/Render/RendererBase.php index fcefd2105..0731d3527 100644 --- a/frontend/drupal9/web/modules/contrib/ds/src/Plugin/views/Entity/Render/RendererBase.php +++ b/frontend/drupal9/web/modules/contrib/ds/src/Plugin/views/Entity/Render/RendererBase.php @@ -106,8 +106,13 @@ abstract class RendererBase extends EntityTranslationRendererBase { // The advanced selector invokes hook_ds_views_row_render_entity. if ($this->view->rowPlugin->options['advanced_fieldset']['advanced']) { - $modules = \Drupal::moduleHandler()->getImplementations('ds_views_row_render_entity'); - foreach ($modules as $module) { + + $hook = 'ds_views_row_render_entity'; + $implementors = []; + \Drupal::moduleHandler()->invokeAllWith($hook, function (callable $hook, string $module) use (&$implementors) { + $implementors[] = $module; + }); + foreach ($implementors as $module) { if ($content = \Drupal::moduleHandler()->invoke($module, 'ds_views_row_render_entity', [$entity, $view_mode])) { if (!is_array($content)) { $content = ['#markup' => $content]; diff --git a/frontend/drupal9/web/modules/contrib/ds/src/Routing/RouteSubscriber.php b/frontend/drupal9/web/modules/contrib/ds/src/Routing/RouteSubscriber.php index 78b5d2a01..064ba4c73 100644 --- a/frontend/drupal9/web/modules/contrib/ds/src/Routing/RouteSubscriber.php +++ b/frontend/drupal9/web/modules/contrib/ds/src/Routing/RouteSubscriber.php @@ -36,30 +36,32 @@ class RouteSubscriber extends RouteSubscriberBase { protected function alterRoutes(RouteCollection $collection) { foreach ($this->entityTypeManager->getDefinitions() as $entity_type_id => $entity_type) { $base_table = $entity_type->getBaseTable(); - if ($entity_type->get('field_ui_base_route') && !empty($base_table)) { + if (($route_name = $entity_type->get('field_ui_base_route')) && !empty($base_table)) { + + if (!$entity_route = $collection->get($route_name)) { + continue; + } if ($display = $entity_type->getLinkTemplate('display')) { + + $options = []; + $options['parameters'][$entity_type_id] = [ + 'type' => 'entity:' . $entity_type_id, + ]; + + $defaults = [ + 'entity_type_id' => $entity_type_id, + ]; + $route = new Route( $display, [ '_controller' => '\Drupal\ds\Controller\DsController::contextualTab', '_title' => 'Manage display', - 'entity_type_id' => $entity_type_id, - ], - [ - '_field_ui_view_mode_access' => 'administer ' . $entity_type_id . ' display', - ], - [ - '_admin_route' => TRUE, - '_ds_entity_type_id' => $entity_type_id, - 'parameters' => [ - $entity_type_id => [ - 'type' => 'entity:' . $entity_type_id, - ], - ], - ] + ] + $defaults, + ['_permission' => 'administer ' . $entity_type_id . ' display'], + $options ); - $collection->add("entity.$entity_type_id.display", $route); } } @@ -69,7 +71,7 @@ class RouteSubscriber extends RouteSubscriberBase { /** * {@inheritdoc} */ - public static function getSubscribedEvents() { + public static function getSubscribedEvents(): array { $events = parent::getSubscribedEvents(); $events[RoutingEvents::ALTER] = ['onAlterRoutes', 100]; return $events; diff --git a/frontend/drupal9/web/modules/contrib/ds/templates/ds-field-expert.html.twig b/frontend/drupal9/web/modules/contrib/ds/templates/ds-field-expert.html.twig index b2561df17..b22f754b0 100644 --- a/frontend/drupal9/web/modules/contrib/ds/templates/ds-field-expert.html.twig +++ b/frontend/drupal9/web/modules/contrib/ds/templates/ds-field-expert.html.twig @@ -34,6 +34,7 @@ {% set title_classes = [ 'field-label-' ~ element['#label_display']|clean_class, + (element['#label_display'] == 'visually_hidden' ? 'visually-hidden'), ] %} {%- if settings['lbw-def-at'] -%} diff --git a/frontend/drupal9/web/modules/contrib/ds/templates/ds-field-minimal.html.twig b/frontend/drupal9/web/modules/contrib/ds/templates/ds-field-minimal.html.twig index cd6cecabc..b49012eda 100644 --- a/frontend/drupal9/web/modules/contrib/ds/templates/ds-field-minimal.html.twig +++ b/frontend/drupal9/web/modules/contrib/ds/templates/ds-field-minimal.html.twig @@ -18,9 +18,15 @@ 'field-name-' ~ element['#field_name']|clean_class, ] %} +{% + set title_classes = [ + 'field-label-' ~ element['#label_display']|clean_class, + (element['#label_display'] == 'visually_hidden' ? 'visually-hidden'), + ] +%} {%- if not label_hidden -%} -
      + {{- label }}{% if settings['lb-col'] %}:{% endif -%}
      {%- endif -%} diff --git a/frontend/drupal9/web/modules/contrib/ds/templates/ds-field-reset.html.twig b/frontend/drupal9/web/modules/contrib/ds/templates/ds-field-reset.html.twig index 131187ebe..c26a766fd 100644 --- a/frontend/drupal9/web/modules/contrib/ds/templates/ds-field-reset.html.twig +++ b/frontend/drupal9/web/modules/contrib/ds/templates/ds-field-reset.html.twig @@ -13,7 +13,13 @@ */ #} {% if not label_hidden %} -
      + {% + set title_classes = [ + 'field-label-' ~ element['#label_display']|clean_class, + (element['#label_display'] == 'visually_hidden' ? 'visually-hidden'), + ] + %} + {{- label }}{% if show_colon %}:{% endif -%}
      {% endif %} diff --git a/frontend/drupal9/web/modules/contrib/ds/tests/modules/ds_exportables_test/ds_exportables_test.info.yml b/frontend/drupal9/web/modules/contrib/ds/tests/modules/ds_exportables_test/ds_exportables_test.info.yml index 8c181e32c..d09e2fc3b 100644 --- a/frontend/drupal9/web/modules/contrib/ds/tests/modules/ds_exportables_test/ds_exportables_test.info.yml +++ b/frontend/drupal9/web/modules/contrib/ds/tests/modules/ds_exportables_test/ds_exportables_test.info.yml @@ -2,10 +2,10 @@ name: 'Display Suite Exportables Test' description: 'Tests for exportables with Display Suite.' type: module package: 'Display Suite' -core_version_requirement: ^8.8 || ^9 +core_version_requirement: ^9 || ^10 hidden: TRUE -# Information added by Drupal.org packaging script on 2021-06-23 -version: '8.x-3.13' +# Information added by Drupal.org packaging script on 2022-09-10 +version: '8.x-3.15' project: 'ds' -datestamp: 1624456616 +datestamp: 1662818541 diff --git a/frontend/drupal9/web/modules/contrib/ds/tests/modules/ds_test/ds_test.info.yml b/frontend/drupal9/web/modules/contrib/ds/tests/modules/ds_test/ds_test.info.yml index dfcca014e..43ffcdf97 100644 --- a/frontend/drupal9/web/modules/contrib/ds/tests/modules/ds_test/ds_test.info.yml +++ b/frontend/drupal9/web/modules/contrib/ds/tests/modules/ds_test/ds_test.info.yml @@ -1,12 +1,12 @@ name: 'Display Suite Test' description: 'Test module for Display Suite' -core_version_requirement: ^8.8 || ^9 +core_version_requirement: ^9 || ^10 package: 'Display Suite' type: module dependencies: - ds_extras:ds_extras -# Information added by Drupal.org packaging script on 2021-06-23 -version: '8.x-3.13' +# Information added by Drupal.org packaging script on 2022-09-10 +version: '8.x-3.15' project: 'ds' -datestamp: 1624456616 +datestamp: 1662818541 diff --git a/frontend/drupal9/web/modules/contrib/ds/tests/modules/ds_test/ds_test.layouts.yml b/frontend/drupal9/web/modules/contrib/ds/tests/modules/ds_test/ds_test.layouts.yml index 9e3133d3c..2bd80a1f3 100644 --- a/frontend/drupal9/web/modules/contrib/ds/tests/modules/ds_test/ds_test.layouts.yml +++ b/frontend/drupal9/web/modules/contrib/ds/tests/modules/ds_test/ds_test.layouts.yml @@ -2,7 +2,6 @@ dstest_1col: label: Test One column category: Display Suite class: '\Drupal\ds\Plugin\DsLayout' - type: partial template: templates/dstest-1col regions: ds_content: @@ -11,7 +10,6 @@ dstest_1col_title: label: Test one column only title category: Display Suite class: '\Drupal\ds\Plugin\DsLayout' - type: partial template: templates/dstest-1col-title regions: ds_content: @@ -20,7 +18,6 @@ dstest_2col: label: Test Two column category: Display Suite class: '\Drupal\ds\Plugin\DsLayout' - type: partial template: templates/dstest-2col library: ds_test/dstest_2col regions: @@ -32,7 +29,6 @@ dstest_2col_fluid: label: Test Fluid two column category: Display Suite class: '\Drupal\ds\Plugin\DsLayout' - type: partial template: templates/dstest-2col-fluid library: ds_test/dstest_2col_fluid regions: diff --git a/frontend/drupal9/web/modules/contrib/ds/tests/modules/ds_test/ds_test.module b/frontend/drupal9/web/modules/contrib/ds/tests/modules/ds_test/ds_test.module index 97e3c7565..9de007087 100644 --- a/frontend/drupal9/web/modules/contrib/ds/tests/modules/ds_test/ds_test.module +++ b/frontend/drupal9/web/modules/contrib/ds/tests/modules/ds_test/ds_test.module @@ -22,12 +22,13 @@ function ds_test_theme_suggestions_alter(&$suggestions, $variables, $base_theme_ } /** - * Helper function to return the tag name basid on tid. + * Helper function to return the tag name based on tid. */ function ds_test_get_tag_name($raw_value, $object) { $entity_manager = \Drupal::entityTypeManager(); + /** @var \Drupal\taxonomy\TermInterface $term */ $term = $entity_manager->getStorage('taxonomy_term')->load($raw_value); - return $term->name->value; + return $term->label(); } /** diff --git a/frontend/drupal9/web/modules/contrib/ds/tests/modules/ds_test_rdf/config/install/rdf.mapping.node.article.yml b/frontend/drupal9/web/modules/contrib/ds/tests/modules/ds_test_rdf/config/install/rdf.mapping.node.article.yml deleted file mode 100644 index 157e4e4c5..000000000 --- a/frontend/drupal9/web/modules/contrib/ds/tests/modules/ds_test_rdf/config/install/rdf.mapping.node.article.yml +++ /dev/null @@ -1,26 +0,0 @@ -langcode: en -status: true -dependencies: - config: - - node.type.article - module: - - node -id: node.article -targetEntityType: node -bundle: article -types: - - 'schema:Article' -fieldMappings: - title: - properties: - - 'schema:name' - created: - properties: - - 'schema:dateCreated' - datatype_callback: - callable: 'Drupal\rdf\CommonDataConverter::dateIso8601Value' - changed: - properties: - - 'schema:dateModified' - datatype_callback: - callable: 'Drupal\rdf\CommonDataConverter::dateIso8601Value' diff --git a/frontend/drupal9/web/modules/contrib/ds/tests/modules/ds_test_rdf/ds_test_rdf.info.yml b/frontend/drupal9/web/modules/contrib/ds/tests/modules/ds_test_rdf/ds_test_rdf.info.yml deleted file mode 100644 index afeb9d98c..000000000 --- a/frontend/drupal9/web/modules/contrib/ds/tests/modules/ds_test_rdf/ds_test_rdf.info.yml +++ /dev/null @@ -1,10 +0,0 @@ -name: 'Display Suite Test RDF' -description: 'Test module for Display Suite RDF integratin' -core_version_requirement: ^8.8 || ^9 -package: 'Display Suite' -type: module - -# Information added by Drupal.org packaging script on 2021-06-23 -version: '8.x-3.13' -project: 'ds' -datestamp: 1624456616 diff --git a/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/BlockFieldPluginTest.php b/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/BlockFieldPluginTest.php index 3fae3ded8..babb2dacd 100644 --- a/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/BlockFieldPluginTest.php +++ b/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/BlockFieldPluginTest.php @@ -37,7 +37,7 @@ class BlockFieldPluginTest extends TestBase { /** * {@inheritdoc} */ - protected function setUp() { + protected function setUp(): void { parent::setUp(); // Ensure that the plugin definitions are cleared. @@ -89,7 +89,8 @@ class BlockFieldPluginTest extends TestBase { $edit = [ 'use_block_title' => '1', ]; - $this->drupalPostForm('admin/structure/ds/fields/manage_block/test_block_title_field', $edit, t('Save')); + $this->drupalGet('admin/structure/ds/fields/manage_block/test_block_title_field'); + $this->submitForm($edit, t('Save')); $text = t('The field %name has been saved', ['%name' => 'Test block title field']); $this->assertSession()->responseContains((string) $text); @@ -201,7 +202,8 @@ class BlockFieldPluginTest extends TestBase { $edit = [ 'add_block_wrappers' => '1', ]; - $this->drupalPostForm('admin/structure/ds/fields/manage_block/test_block_title_field', $edit, t('Save')); + $this->drupalGet('admin/structure/ds/fields/manage_block/test_block_title_field'); + $this->submitForm($edit, t('Save')); // Verify block wrappers do exist. $this->drupalGet('node/' . $node->id()); diff --git a/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/BlockTest.php b/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/BlockTest.php index 79b4d04f7..4457910f4 100644 --- a/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/BlockTest.php +++ b/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/BlockTest.php @@ -39,7 +39,7 @@ class BlockTest extends TestBase { /** * {@inheritdoc} */ - protected function setUp() { + protected function setUp(): void { parent::setUp(); // Create a test user. @@ -63,14 +63,16 @@ class BlockTest extends TestBase { 'label' => 'Basic Block', 'id' => 'basic', ]; - $this->drupalPostForm('admin/structure/block/block-content/types/add', $edit,'Save', []); + $this->drupalGet('admin/structure/block/block-content/types/add', []); + $this->submitForm($edit, 'Save'); $this->assertSession()->pageTextContains('Custom block type Basic Block has been added.'); // Create a basic block. $edit = []; $edit['info[0][value]'] = 'Test Block'; $edit['body[0][value]'] = $this->randomMachineName(16); - $this->drupalPostForm('block/add/basic', $edit, t('Save'), []); + $this->drupalGet('block/add/basic', []); + $this->submitForm($edit, t('Save')); $this->assertSession()->pageTextContains('Basic Block Test Block has been created.'); // Place the block. @@ -81,12 +83,14 @@ class BlockTest extends TestBase { ]; $block = BlockContent::load(1); $url = 'admin/structure/block/add/block_content:' . $block->uuid() . '/' . $this->config('system.theme')->get('default'); - $this->drupalPostForm($url, $instance, t('Save block')); + $this->drupalGet($url); + $this->submitForm($instance, t('Save block')); // Change to a DS layout. $url = 'admin/structure/block/block-content/manage/basic/display'; $edit = ['ds_layout' => 'ds_2col']; - $this->drupalPostForm($url, $edit, t('Save'), []); + $this->drupalGet($url, []); + $this->submitForm($edit, t('Save')); $fields = [ 'fields[block_description][region]' => 'left', diff --git a/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/CacheTagsTest.php b/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/CacheTagsTest.php index 61a51afdd..985d8ce3e 100644 --- a/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/CacheTagsTest.php +++ b/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/CacheTagsTest.php @@ -19,7 +19,8 @@ class CacheTagsTest extends TestBase { // Create field CSS classes. $edit = ['fields' => "test_field_class\ntest_field_class_2|Field class 2"]; - $this->drupalPostForm('admin/structure/ds/classes', $edit, t('Save configuration')); + $this->drupalGet('admin/structure/ds/classes'); + $this->submitForm($edit, t('Save configuration')); // Create a token field. $token_field = [ @@ -44,7 +45,7 @@ class CacheTagsTest extends TestBase { $this->dsConfigureUi($fields); $this->drupalGet('node/' . $node->id()); - $headers = $this->drupalGetHeader('X-Drupal-Cache-Tags'); + $headers = $this->getSession()->getResponseHeader('X-Drupal-Cache-Tags'); $this->assertNotEmpty( strpos($headers, 'user:' . $node->getRevisionUser()->getOriginalId()), 'User cache tag found' diff --git a/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/CommentTest.php b/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/CommentTest.php index a56adb5d6..15b2c124a 100644 --- a/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/CommentTest.php +++ b/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/CommentTest.php @@ -40,7 +40,7 @@ class CommentTest extends CommentTestBase { /** * {@inheritdoc} */ - protected function setUp() { + protected function setUp(): void { parent::setUp(); // Create a test user. diff --git a/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/DsFieldCacheTest.php b/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/DsFieldCacheTest.php index 23bbc66f3..7d654bbfb 100644 --- a/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/DsFieldCacheTest.php +++ b/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/DsFieldCacheTest.php @@ -20,7 +20,7 @@ class DsFieldCacheTest extends TestBase { /** * {@inheritdoc} */ - public function setUp() { + public function setUp(): void { parent::setUp(); $this->drupalLogin($this->adminUser); } @@ -36,7 +36,8 @@ class DsFieldCacheTest extends TestBase { 'fields[test_caching_field][region]' => 'left', 'fields[test_caching_field][label]' => 'above', ]; - $this->drupalPostForm('admin/structure/types/manage/article/display', ['ds_layout' => 'ds_2col'], t('Save')); + $this->drupalGet('admin/structure/types/manage/article/display'); + $this->submitForm(['ds_layout' => 'ds_2col'], t('Save')); $this->dsConfigureUi($fields); // Create and visit the node so that it is cached as empty, ensure the title diff --git a/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/DsTestTrait.php b/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/DsTestTrait.php index c8532aa82..ba5ec970d 100644 --- a/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/DsTestTrait.php +++ b/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/DsTestTrait.php @@ -14,8 +14,9 @@ trait DsTestTrait { $edit += [ 'ds_layout' => 'ds_2col_stacked', ]; + $this->drupalGet($url, $options); - $this->drupalPostForm($url, $edit, t('Save'), $options); + $this->submitForm($edit, t('Save')); $assert += [ 'regions' => [ @@ -39,11 +40,12 @@ trait DsTestTrait { $edit += [ 'regions' => "class_name_1\nclass_name_2|Friendly name", ]; + $this->drupalGet('admin/structure/ds/classes'); - $this->drupalPostForm('admin/structure/ds/classes', $edit, t('Save configuration')); + $this->submitForm($edit, t('Save configuration')); $this->assertSession()->pageTextContains('The configuration options have been saved.'); - $this->assertSession()->responseContains('class_name_1', 'Class name 1 found'); - $this->assertSession()->responseContains('class_name_2', 'Class name 1 found'); + $this->assertSession()->responseContains('class_name_1'); + $this->assertSession()->responseContains('class_name_2'); } /** @@ -55,15 +57,17 @@ trait DsTestTrait { "layout_configuration[ds_classes][header][]" => 'class_name_1', "layout_configuration[ds_classes][footer][]" => 'class_name_2', ]; + $this->drupalGet($url); - $this->drupalPostForm($url, $edit, t('Save')); + $this->submitForm($edit, t('Save')); } /** * Configure Field UI. */ public function dsConfigureUi($edit, $url = 'admin/structure/types/manage/article/display') { - $this->drupalPostForm($url, $edit,'Save'); + $this->drupalGet($url); + $this->submitForm($edit, 'Save'); } /** @@ -71,16 +75,17 @@ trait DsTestTrait { */ public function dsEditFormatterSettings($edit, $field_name = 'body', $url = 'admin/structure/types/manage/article/display') { $element_value = 'edit ' . $field_name; - $this->drupalPostForm($url, [], $element_value); + $this->drupalGet($url); + $this->submitForm([], $element_value); if (isset($edit['fields[' . $field_name . '][settings_edit_form][third_party_settings][ds][ft][id]'])) { - $this->drupalPostForm(NULL, ['fields[' . $field_name . '][settings_edit_form][third_party_settings][ds][ft][id]' => $edit['fields[' . $field_name . '][settings_edit_form][third_party_settings][ds][ft][id]']], t('Update')); - $this->drupalPostForm(NULL, [], $element_value); + $this->submitForm(['fields[' . $field_name . '][settings_edit_form][third_party_settings][ds][ft][id]' => $edit['fields[' . $field_name . '][settings_edit_form][third_party_settings][ds][ft][id]']], t('Update')); + $this->submitForm([], $element_value); unset($edit['fields[' . $field_name . '][settings_edit_form][third_party_settings][ds][ft][id]']); } - $this->drupalPostForm(NULL, $edit, t('Update')); - $this->drupalPostForm(NULL, [], t('Save')); + $this->submitForm($edit, t('Update')); + $this->submitForm([], t('Save')); } /** @@ -88,16 +93,17 @@ trait DsTestTrait { */ public function dsEditLimitSettings($edit, $field_name = 'body', $url = 'admin/structure/types/manage/article/display') { $element_value = 'edit ' . $field_name; - $this->drupalPostForm($url, [], $element_value); + $this->drupalGet($url); + $this->submitForm([], $element_value); if (isset($edit['fields[' . $field_name . '][settings_edit_form][third_party_settings][ds][ft][id]'])) { - $this->drupalPostForm(NULL, ['fields[' . $field_name . '][settings_edit_form][third_party_settings][ds][ds_limit]' => $edit['fields[' . $field_name . '][settings_edit_form][third_party_settings][ds][ds_limit]']], t('Update')); - $this->drupalPostForm(NULL, [], $element_value); + $this->submitForm(['fields[' . $field_name . '][settings_edit_form][third_party_settings][ds][ds_limit]' => $edit['fields[' . $field_name . '][settings_edit_form][third_party_settings][ds][ds_limit]']], t('Update')); + $this->submitForm([], $element_value); unset($edit['fields[' . $field_name . '][settings_edit_form][third_party_settings][ds][ds_limit]']); } - $this->drupalPostForm(NULL, $edit, t('Update')); - $this->drupalPostForm(NULL, [], t('Save')); + $this->submitForm($edit, t('Update')); + $this->submitForm([], t('Save')); } /** @@ -115,8 +121,9 @@ trait DsTestTrait { 'entities[node]' => '1', 'content[value]' => 'Test field', ]; + $this->drupalGet($url); - $this->drupalPostForm($url, $edit, t('Save')); + $this->submitForm($edit, t('Save')); $text = t('The field %name has been saved', ['%name' => $edit['name']]); $this->assertSession()->responseContains((string) $text); } @@ -136,8 +143,9 @@ trait DsTestTrait { 'entities[node]' => '1', 'block' => 'system_powered_by_block', ]; + $this->drupalGet($url); - $this->drupalPostForm($url, $edit, t('Save')); + $this->submitForm($edit, t('Save')); $text = t('The field %name has been saved', ['%name' => $edit['name']]); $this->assertSession()->responseContains((string) $text); } @@ -156,7 +164,8 @@ trait DsTestTrait { // Create field CSS classes. $edit = ['fields' => "test_field_class\ntest_field_class_2|Field class 2\n[node:nid]"]; - $this->drupalPostForm('admin/structure/ds/classes', $edit,'Save configuration'); + $this->drupalGet('admin/structure/ds/classes'); + $this->submitForm($edit, 'Save configuration'); // Create a token field. $token_field = [ diff --git a/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/DynamicFieldPluginTest.php b/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/DynamicFieldPluginTest.php index 56c168708..6e007e924 100644 --- a/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/DynamicFieldPluginTest.php +++ b/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/DynamicFieldPluginTest.php @@ -22,9 +22,10 @@ class DynamicFieldPluginTest extends TestBase { ]; $this->dsCreateTokenField($edit); + $this->drupalGet('admin/structure/ds/fields/manage_token'); // Create the same and assert it already exists. - $this->drupalPostForm('admin/structure/ds/fields/manage_token', $edit, 'Save'); + $this->submitForm($edit, 'Save'); $this->assertSession()->pageTextContains('The machine-readable name is already in use. It must be unique.'); $this->dsSelectLayout(); @@ -41,7 +42,8 @@ class DynamicFieldPluginTest extends TestBase { $edit = [ 'name' => 'Test field 2', ]; - $this->drupalPostForm('admin/structure/ds/fields/manage_token/test_field', $edit,'Save'); + $this->drupalGet('admin/structure/ds/fields/manage_token/test_field'); + $this->submitForm($edit, 'Save'); $this->assertSession()->pageTextContains('The field Test field 2 has been saved'); // Use the Field UI limit option. @@ -50,7 +52,8 @@ class DynamicFieldPluginTest extends TestBase { $edit = [ 'ui_limit' => 'article|default', ]; - $this->drupalPostForm('admin/structure/ds/fields/manage_token/test_field', $edit,'Save'); + $this->drupalGet('admin/structure/ds/fields/manage_token/test_field'); + $this->submitForm($edit, 'Save'); $this->drupalGet('admin/structure/types/manage/article/display'); $this->assertSession()->responseContains('fields[dynamic_token_field:node-test_field][weight]'); @@ -62,14 +65,16 @@ class DynamicFieldPluginTest extends TestBase { $edit = [ 'ui_limit' => 'article|*', ]; - $this->drupalPostForm('admin/structure/ds/fields/manage_token/test_field', $edit,'Save'); + $this->drupalGet('admin/structure/ds/fields/manage_token/test_field'); + $this->submitForm($edit, 'Save'); $this->drupalGet('admin/structure/types/manage/article/display'); $this->assertSession()->responseContains('fields[dynamic_token_field:node-test_field][weight]'); $this->drupalGet('admin/structure/types/manage/article/display/teaser'); $this->assertSession()->responseContains('fields[dynamic_token_field:node-test_field][weight]'); + $this->drupalGet('admin/structure/ds/fields/delete/test_field'); // Remove the field. - $this->drupalPostForm('admin/structure/ds/fields/delete/test_field', [],'Confirm'); + $this->submitForm([], 'Confirm'); $this->assertSession()->pageTextContains('The field Test field 2 has been deleted'); // Assert the field is gone at the manage display screen. @@ -85,9 +90,10 @@ class DynamicFieldPluginTest extends TestBase { ]; $this->dsCreateBlockField($edit); + $this->drupalGet('admin/structure/ds/fields/manage_block'); // Create the same and assert it already exists. - $this->drupalPostForm('admin/structure/ds/fields/manage_block', $edit,'Save'); + $this->submitForm($edit, 'Save'); $this->assertSession()->pageTextContains('The machine-readable name is already in use. It must be unique.'); $this->dsSelectLayout(); @@ -104,11 +110,13 @@ class DynamicFieldPluginTest extends TestBase { $edit = [ 'name' => 'Test block field 2', ]; - $this->drupalPostForm('admin/structure/ds/fields/manage_block/test_block_field', $edit,'Save'); + $this->drupalGet('admin/structure/ds/fields/manage_block/test_block_field'); + $this->submitForm($edit, 'Save'); $this->assertSession()->pageTextContains('The field Test block field 2 has been saved'); + $this->drupalGet('admin/structure/ds/fields/delete/test_block_field'); // Remove the block field. - $this->drupalPostForm('admin/structure/ds/fields/delete/test_block_field', [],'Confirm'); + $this->submitForm([], 'Confirm'); $this->assertSession()->pageTextContains('The field Test block field 2 has been deleted'); // Assert the block field is gone at the manage display screen. @@ -129,7 +137,8 @@ class DynamicFieldPluginTest extends TestBase { $edit = [ 'depth' => '3', ]; - $this->drupalPostForm('admin/structure/ds/fields/manage_block/test_block_configurable/block_config', $edit,'Save'); + $this->drupalGet('admin/structure/ds/fields/manage_block/test_block_configurable/block_config'); + $this->submitForm($edit, 'Save'); // Assert it's found on the Field UI for article. $this->drupalGet('admin/structure/types/manage/article/display'); @@ -160,7 +169,8 @@ class DynamicFieldPluginTest extends TestBase { $edit = [ 'level' => '2', ]; - $this->drupalPostForm('admin/structure/ds/fields/manage_block/test_block_configurable/block_config', $edit,'Save'); + $this->drupalGet('admin/structure/ds/fields/manage_block/test_block_configurable/block_config'); + $this->submitForm($edit, 'Save'); // Look at node and verify the menu is not visible. $this->drupalGet('node/' . $node->id()); diff --git a/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/EntitiesTest.php b/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/EntitiesTest.php index 8b3a6f76b..de3a089ad 100644 --- a/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/EntitiesTest.php +++ b/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/EntitiesTest.php @@ -5,7 +5,7 @@ namespace Drupal\Tests\ds\Functional; /** * Tests for display of nodes and fields. * - * @group ds + * @group ds_disabled */ class EntitiesTest extends TestBase { @@ -27,7 +27,7 @@ class EntitiesTest extends TestBase { /** * {@inheritdoc} */ - protected function setup() { + protected function setup(): void { parent::setup(); // Enable field templates. @@ -45,6 +45,8 @@ class EntitiesTest extends TestBase { */ public function testDsNodeEntity() { + return; + /* @var \Drupal\node\NodeInterface $node */ $node = $this->entitiesTestSetup(); @@ -99,7 +101,8 @@ class EntitiesTest extends TestBase { // Switch view mode on full node page. $edit = ['ds_switch' => 'teaser']; - $this->drupalPostForm('node/' . $node->id() . '/edit', $edit,'Save'); + $this->drupalGet('node/' . $node->id() . '/edit'); + $this->submitForm($edit, 'Save'); $this->assertSession()->responseContains('node--view-mode-teaser', 'Switched to teaser mode'); $this->assertSession()->responseContains('group-left'); $this->assertSession()->responseContains('group-right'); @@ -107,7 +110,8 @@ class EntitiesTest extends TestBase { $this->assertSession()->responseNotContains('group-footer'); $edit = ['ds_switch' => '']; - $this->drupalPostForm('node/' . $node->id() . '/edit', $edit,'Save'); + $this->drupalGet('node/' . $node->id() . '/edit'); + $this->submitForm($edit, 'Save'); $this->assertSession()->responseContains('node--view-mode-full'); // Test all options of a block field. @@ -129,14 +133,16 @@ class EntitiesTest extends TestBase { $edit = [ 'display_modes_custom[revision]' => '1', ]; - $this->drupalPostForm('admin/structure/types/manage/article/display', $edit,'Save'); + $this->drupalGet('admin/structure/types/manage/article/display'); + $this->submitForm($edit, 'Save'); // Enable the override revision mode and configure it. $edit = [ 'fs3[override_node_revision]' => TRUE, 'fs3[override_node_revision_view_mode]' => 'revision', ]; - $this->drupalPostForm('admin/structure/ds/settings', $edit,'Save configuration'); + $this->drupalGet('admin/structure/ds/settings'); + $this->submitForm($edit, 'Save configuration'); // Select layout and configure fields. $edit = [ @@ -161,7 +167,8 @@ class EntitiesTest extends TestBase { 'revision' => TRUE, 'revision_log[0][value]' => 'Test revision', ]; - $this->drupalPostForm('node/' . $node->id() . '/edit', $edit,'Save'); + $this->drupalGet('node/' . $node->id() . '/edit'); + $this->submitForm($edit, 'Save'); // Verify the revision is created. $node = \Drupal::entityTypeManager()->getStorage('node')->load($node->id()); @@ -182,7 +189,8 @@ class EntitiesTest extends TestBase { 'field_tags[0][target_id]' => 'Tag 1', 'field_tags[1][target_id]' => 'Tag 2', ]; - $this->drupalPostForm('node/' . $node->id() . '/edit', $edit,'Save'); + $this->drupalGet('node/' . $node->id() . '/edit'); + $this->submitForm($edit, 'Save'); $edit = [ 'fields[field_tags][region]' => 'right', 'fields[field_tags][type]' => 'entity_reference_label', @@ -209,7 +217,8 @@ class EntitiesTest extends TestBase { $edit = [ 'title[0][value]' => 'Hi, I am an article ', ]; - $this->drupalPostForm('node/' . $node->id() . '/edit', $edit, t('Save')); + $this->drupalGet('node/' . $node->id() . '/edit'); + $this->submitForm($edit, 'Save'); $this->drupalGet('node/' . $node->id()); $elements = $this->xpath('//div[@class="field field--name-node-title field--type-ds field--label-hidden field__item"]/h2'); $this->assertTrimEqual($elements[0]->getText(), 'Hi, I am an article '); @@ -217,7 +226,9 @@ class EntitiesTest extends TestBase { // Test previews while using a ds field. $title_key = 'title[0][value]'; $edit = [$title_key => $this->randomMachineName()]; - $this->drupalPostForm('node/add/article', $edit,'Preview'); + $this->drupalGet('node/add/article'); + $this->submitForm($edit, 'Preview'); + $this->assertSession()->pageTextContains($edit[$title_key], 'Title visible in preview'); // Convert layout from test theme. diff --git a/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/FieldGroupTest.php b/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/FieldGroupTest.php index 5726f9fc1..fdcb1aa77 100644 --- a/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/FieldGroupTest.php +++ b/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/FieldGroupTest.php @@ -17,7 +17,6 @@ class FieldGroupTest extends TestBase { * Test tabs. */ public function testFieldPlugin() { - return; // Create a node. diff --git a/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/FieldPermissionsTest.php b/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/FieldPermissionsTest.php index 37e4d009b..fd994f5f0 100644 --- a/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/FieldPermissionsTest.php +++ b/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/FieldPermissionsTest.php @@ -54,7 +54,8 @@ class FieldPermissionsTest extends TestBase { 'authenticated[view node_author on node]' => 1, 'authenticated[view test_field on node]' => 1, ]; - $this->drupalPostForm('admin/people/permissions', $edit,'Save permissions'); + $this->drupalGet('admin/people/permissions'); + $this->submitForm($edit, 'Save permissions'); $this->drupalGet('node/' . $node->id()); $this->assertSession()->responseContains('group-left'); $this->assertSession()->pageTextContains('Test field plugin on node ' . $node->id()); diff --git a/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/FieldPluginTest.php b/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/FieldPluginTest.php index 78a8552f6..8ff7bda90 100644 --- a/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/FieldPluginTest.php +++ b/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/FieldPluginTest.php @@ -17,7 +17,8 @@ class FieldPluginTest extends TestBase { $edit = [ 'title_label' => 'alternative article title', ]; - $this->drupalPostForm('admin/structure/types/manage/article', $edit, t('Save content type')); + $this->drupalGet('admin/structure/types/manage/article'); + $this->submitForm($edit, t('Save content type')); $this->dsSelectLayout(); diff --git a/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/FieldTemplateLayoutBuilderTest.php b/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/FieldTemplateLayoutBuilderTest.php index 371514d05..5d8b7a061 100644 --- a/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/FieldTemplateLayoutBuilderTest.php +++ b/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/FieldTemplateLayoutBuilderTest.php @@ -18,8 +18,6 @@ class FieldTemplateLayoutBuilderTest extends TestBase { 'node', 'user', 'field_ui', - 'rdf', - 'quickedit', 'taxonomy', 'block', 'ds', @@ -33,7 +31,7 @@ class FieldTemplateLayoutBuilderTest extends TestBase { /** * {@inheritdoc} */ - protected function setup() { + protected function setup(): void { parent::setup(); // Enable field templates. @@ -78,7 +76,7 @@ class FieldTemplateLayoutBuilderTest extends TestBase { // From the manage display page, go to manage the layout. $this->drupalGet("$field_ui_prefix/display/default"); - $this->drupalPostForm(NULL, ['layout[enabled]' => TRUE], 'Save'); + $this->submitForm(['layout[enabled]' => TRUE], 'Save'); $this->clickLink('Manage layout'); // Add the title field_block. diff --git a/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/FieldTemplateTest.php b/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/FieldTemplateTest.php index 66c1cbb3a..24f17f99e 100644 --- a/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/FieldTemplateTest.php +++ b/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/FieldTemplateTest.php @@ -7,14 +7,14 @@ use Drupal\Core\Cache\Cache; /** * Tests for display of nodes and fields. * - * @group ds + * @group ds_disabled */ class FieldTemplateTest extends TestBase { /** * {@inheritdoc} */ - protected function setup() { + protected function setup(): void { parent::setup(); // Enable field templates. @@ -27,6 +27,9 @@ class FieldTemplateTest extends TestBase { * Tests on field templates. */ public function testDsFieldTemplate() { + + return; + // Get a node. /** @var \Drupal\node\NodeInterface $node */ $node = $this->entitiesTestSetup('hidden'); @@ -60,7 +63,7 @@ class FieldTemplateTest extends TestBase { /** * Tests on field templates. */ - public function testDsFieldTemplate2() { + public function _testDsFieldTemplate2() { // Get a node. /** @var \Drupal\node\NodeInterface $node */ $node = $this->entitiesTestSetup('hidden'); @@ -70,7 +73,8 @@ class FieldTemplateTest extends TestBase { $edit = [ 'fs1[ft-default]' => 'reset', ]; - $this->drupalPostForm('admin/structure/ds/settings', $edit, t('Save configuration')); + $this->drupalGet('admin/structure/ds/settings'); + $this->submitForm($edit, t('Save configuration')); // As long as we don't change anything in the UI, the default template will // be used. @@ -109,7 +113,8 @@ class FieldTemplateTest extends TestBase { $edit = [ 'fs1[ft-show-colon]' => 'reset', ]; - $this->drupalPostForm('admin/structure/ds/settings', $edit, t('Save configuration')); + $this->drupalGet('admin/structure/ds/settings'); + $this->submitForm($edit, t('Save configuration')); // Clear node cache to get the colon. $tags = $node->getCacheTags(); Cache::invalidateTags($tags); @@ -129,7 +134,7 @@ class FieldTemplateTest extends TestBase { /** * Tests on field templates. */ - public function testDsFieldTemplate3() { + public function _testDsFieldTemplate3() { // Get a node. /** @var \Drupal\node\NodeInterface $node */ $node = $this->entitiesTestSetup('hidden'); @@ -180,7 +185,7 @@ class FieldTemplateTest extends TestBase { /** * Tests on field templates. */ - public function testDsFieldTemplate4() { + public function _testDsFieldTemplate4() { // Get a node. /** @var \Drupal\node\NodeInterface $node */ $node = $this->entitiesTestSetup('hidden'); @@ -259,7 +264,7 @@ class FieldTemplateTest extends TestBase { /** * Tests on field templates. */ - public function testDsFieldTemplate5() { + public function _testDsFieldTemplate5() { // Get a node. /** @var \Drupal\node\NodeInterface $node */ $node = $this->entitiesTestSetup('hidden'); @@ -447,7 +452,7 @@ class FieldTemplateTest extends TestBase { drupal_flush_all_caches(); $this->drupalGet('node/' . $node->id()); - $elements = $this->xpath('//div[@class="group-right"]/div[@class="ow-class" and @data-quickedit-field-id="node/1/body/en/full"]/div[@class="fi-class-2"]/span[@class="fi-class"]/p'); + $elements = $this->xpath('//div[@class="group-right"]/div[@class="ow-class"]'); $this->assertTrimEqual($elements[0]->getText(), $body_field); // Use the test field theming function to test that this function is @@ -467,7 +472,7 @@ class FieldTemplateTest extends TestBase { /** * Tests XSS on field templates. */ - public function testDsFieldTemplateXss() { + public function _testDsFieldTemplateXss() { // Get a node. /** @var \Drupal\node\NodeInterface $node */ $node = $this->entitiesTestSetup('hidden'); @@ -509,7 +514,7 @@ class FieldTemplateTest extends TestBase { /** * Tests multiple field items. */ - public function testDsMultipleFieldItems() { + public function _testDsMultipleFieldItems() { // Get a node. /** @var \Drupal\node\NodeInterface $node */ $node = $this->entitiesTestSetup('hidden'); @@ -536,7 +541,8 @@ class FieldTemplateTest extends TestBase { 'field_tags[0][target_id]' => 'Tag 1', 'field_tags[1][target_id]' => 'Tag 2', ]; - $this->drupalPostForm('node/' . $node->id() . '/edit', $edit, 'Save'); + $this->drupalGet('node/' . $node->id() . '/edit'); + $this->submitForm($edit, 'Save'); // Count the found tags. $this->drupalGet('node/' . $node->id()); @@ -547,7 +553,7 @@ class FieldTemplateTest extends TestBase { /** * Tests minimal template functionality. */ - public function testFieldTemplateMinimal() { + public function _testFieldTemplateMinimal() { // Get a node. /** @var \Drupal\node\NodeInterface $node */ $node = $this->entitiesTestSetup('hidden'); diff --git a/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/HiddenRegionTest.php b/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/HiddenRegionTest.php index 0f7d0c2cf..a15519b73 100644 --- a/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/HiddenRegionTest.php +++ b/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/HiddenRegionTest.php @@ -17,7 +17,8 @@ class HiddenRegionTest extends TestBase { $edit = [ 'fs3[hidden_region]' => TRUE, ]; - $this->drupalPostForm('admin/structure/ds/settings', $edit, t('Save configuration')); + $this->drupalGet('admin/structure/ds/settings'); + $this->submitForm($edit, t('Save configuration')); $this->dsSelectLayout(); diff --git a/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/LayoutClassesTest.php b/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/LayoutClassesTest.php index 12ea4c792..09587e1e0 100644 --- a/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/LayoutClassesTest.php +++ b/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/LayoutClassesTest.php @@ -14,7 +14,7 @@ class LayoutClassesTest extends TestBase { /** * {@inheritdoc} */ - protected function setup() { + protected function setup(): void { parent::setup(); // Set extra fields. @@ -144,7 +144,8 @@ class LayoutClassesTest extends TestBase { // Remove all the node classes. $edit = ['entity_classes' => 'no_classes']; - $this->drupalPostForm('admin/structure/types/manage/article/display', $edit, t('Save')); + $this->drupalGet('admin/structure/types/manage/article/display'); + $this->submitForm($edit, t('Save')); $this->drupalGet('node/' . $node->id()); // Assert that there are no entity classes. @@ -152,7 +153,8 @@ class LayoutClassesTest extends TestBase { // Only show view mode (deprecated). $edit = ['entity_classes' => 'old_view_mode']; - $this->drupalPostForm('admin/structure/types/manage/article/display', $edit, t('Save')); + $this->drupalGet('admin/structure/types/manage/article/display'); + $this->submitForm($edit, t('Save')); $this->drupalGet('node/' . $node->id()); // Assert that the old view mode class name is added (deprecated). @@ -160,7 +162,8 @@ class LayoutClassesTest extends TestBase { // Let's create a block field, enable the full mode first. $edit = ['display_modes_custom[full]' => '1']; - $this->drupalPostForm('admin/structure/types/manage/article/display', $edit, t('Save')); + $this->drupalGet('admin/structure/types/manage/article/display'); + $this->submitForm($edit, t('Save')); // Select layout. $layout = [ @@ -180,7 +183,8 @@ class LayoutClassesTest extends TestBase { 'new_block_region' => 'Block region', 'new_block_region_key' => 'block_region', ]; - $this->drupalPostForm('admin/structure/types/manage/article/display/full', $edit, t('Save')); + $this->drupalGet('admin/structure/types/manage/article/display/full'); + $this->submitForm($edit, t('Save')); $this->assertSession()->responseContains('' . t('Block region') . ''); // Configure fields. @@ -204,7 +208,8 @@ class LayoutClassesTest extends TestBase { 'ds_right' => 'footer', 'ds_block_region' => 'footer', ]; - $this->drupalPostForm('admin/structure/ds/change-layout/node/article/full/ds_2col_stacked', $edit, t('Save')); + $this->drupalGet('admin/structure/ds/change-layout/node/article/full/ds_2col_stacked'); + $this->submitForm($edit, t('Save')); $this->drupalGet('admin/structure/types/manage/article/display/full'); // Verify new regions. @@ -233,7 +238,8 @@ class LayoutClassesTest extends TestBase { 'ds_layout' => '_none', 'display_modes_custom[full]' => FALSE, ]; - $this->drupalPostForm('admin/structure/types/manage/article/display', $edit, 'Save'); + $this->drupalGet('admin/structure/types/manage/article/display'); + $this->submitForm($edit, 'Save'); $elements = $this->xpath('//*[@id="edit-fields-body-region"]'); diff --git a/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/ManageDisplayTabTest.php b/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/ManageDisplayTabTest.php index 1c4569945..dfdbe8787 100644 --- a/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/ManageDisplayTabTest.php +++ b/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/ManageDisplayTabTest.php @@ -13,6 +13,7 @@ class ManageDisplayTabTest extends TestBase { * Test tabs. */ public function testFieldPlugin() { + /* @var \Drupal\node\NodeInterface $node */ $node = $this->entitiesTestSetup(); diff --git a/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/RdfTest.php b/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/RdfTest.php deleted file mode 100644 index 0cf175dc1..000000000 --- a/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/RdfTest.php +++ /dev/null @@ -1,39 +0,0 @@ -install(['ds_test_rdf']); - - /* @var \Drupal\node\NodeInterface $node */ - $node = $this->entitiesTestSetup(); - - // Look at node and verify the rdf tags are available. - $this->drupalGet('node/' . $node->id()); - - $this->assertSession()->responseContains('typeof="schema:Article'); - } - -} diff --git a/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/TestBase.php b/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/TestBase.php index 86fcf9eb9..155fc109f 100644 --- a/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/TestBase.php +++ b/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/TestBase.php @@ -33,8 +33,6 @@ abstract class TestBase extends BrowserTestBase { 'node', 'user', 'field_ui', - 'rdf', - 'quickedit', 'taxonomy', 'block', 'ds', @@ -42,7 +40,6 @@ abstract class TestBase extends BrowserTestBase { 'ds_test', 'ds_switch_view_mode', 'layout_discovery', - //'field_group', ]; /** @@ -83,7 +80,7 @@ abstract class TestBase extends BrowserTestBase { /** * {@inheritdoc} */ - protected function setUp() { + protected function setUp(): void { parent::setUp(); $this->drupalPlaceBlock('system_breadcrumb_block'); $this->drupalPlaceBlock('local_tasks_block'); @@ -91,7 +88,6 @@ abstract class TestBase extends BrowserTestBase { // Create a test user. $this->adminUser = $this->drupalCreateUser([ 'access content', - 'access in-place editing', 'access user profiles', 'admin classes', 'admin display suite', diff --git a/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/TwigRenderTest.php b/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/TwigRenderTest.php index b3c6c88e3..e928c8f5a 100644 --- a/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/TwigRenderTest.php +++ b/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/TwigRenderTest.php @@ -45,7 +45,8 @@ class TwigRenderTest extends TestBase { $edit = [ 'fs3[use_field_names]' => FALSE, ]; - $this->drupalPostForm('admin/structure/ds/settings', $edit, 'Save configuration'); + $this->drupalGet('admin/structure/ds/settings'); + $this->submitForm($edit, 'Save configuration'); $this->drupalGet('node/' . $node->id()); diff --git a/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/ViewsTest.php b/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/ViewsTest.php index 4a5a12827..9101d0491 100644 --- a/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/ViewsTest.php +++ b/frontend/drupal9/web/modules/contrib/ds/tests/src/Functional/ViewsTest.php @@ -38,7 +38,7 @@ class ViewsTest extends TestBase { /** * {@inheritdoc} */ - protected function setUp() { + protected function setUp(): void { parent::setUp(); // Ensure that the plugin definitions are cleared. @@ -70,21 +70,24 @@ class ViewsTest extends TestBase { 'created' => \Drupal::time()->getRequestTime(), ]; $node_1 = $this->drupalCreateNode($settings_1); - $this->drupalPostForm('node/' . $node_1->id() . '/edit', $edit_tag_1, t('Save')); + $this->drupalGet('node/' . $node_1->id() . '/edit'); + $this->submitForm($edit_tag_1, t('Save')); $settings_2 = [ 'type' => 'article', 'title' => 'Article 2', 'created' => \Drupal::time()->getRequestTime() + 3600, ]; $node_2 = $this->drupalCreateNode($settings_2); - $this->drupalPostForm('node/' . $node_2->id() . '/edit', $edit_tag_1, t('Save')); + $this->drupalGet('node/' . $node_2->id() . '/edit'); + $this->submitForm($edit_tag_1, t('Save')); $settings_3 = [ 'type' => 'article', 'title' => 'Article 3', 'created' => \Drupal::time()->getRequestTime() + 7200, ]; $node_3 = $this->drupalCreateNode($settings_3); - $this->drupalPostForm('node/' . $node_3->id() . '/edit', $edit_tag_2, t('Save')); + $this->drupalGet('node/' . $node_3->id() . '/edit'); + $this->submitForm($edit_tag_2, t('Save')); // Configure teaser and full layout. $layout = [ diff --git a/frontend/drupal9/web/modules/contrib/ds/tests/src/FunctionalJavascript/JavascriptTest.php b/frontend/drupal9/web/modules/contrib/ds/tests/src/FunctionalJavascript/JavascriptTest.php index a23db2956..850b14232 100644 --- a/frontend/drupal9/web/modules/contrib/ds/tests/src/FunctionalJavascript/JavascriptTest.php +++ b/frontend/drupal9/web/modules/contrib/ds/tests/src/FunctionalJavascript/JavascriptTest.php @@ -34,7 +34,7 @@ class JavascriptTest extends WebDriverTestBase { /** * {@inheritdoc} */ - protected function setUp() { + protected function setUp(): void { parent::setUp(); // Create a test user. diff --git a/frontend/drupal9/web/modules/contrib/ds/tests/themes/ds_test_layout_theme/ds_test_layout_theme.info.yml b/frontend/drupal9/web/modules/contrib/ds/tests/themes/ds_test_layout_theme/ds_test_layout_theme.info.yml index 578844866..9a37d7743 100644 --- a/frontend/drupal9/web/modules/contrib/ds/tests/themes/ds_test_layout_theme/ds_test_layout_theme.info.yml +++ b/frontend/drupal9/web/modules/contrib/ds/tests/themes/ds_test_layout_theme/ds_test_layout_theme.info.yml @@ -2,9 +2,8 @@ name: 'DS Test layout theme' type: theme description: 'Theme for testing a theme-provided layout' base theme: classy -core_version_requirement: ^8.8 || ^9 - -# Information added by Drupal.org packaging script on 2021-06-23 -version: '8.x-3.13' +core_version_requirement: ^9 || ^10 +# Information added by Drupal.org packaging script on 2022-09-10 +version: '8.x-3.15' project: 'ds' -datestamp: 1624456616 +datestamp: 1662818541 diff --git a/frontend/drupal9/web/modules/contrib/entity/composer.json b/frontend/drupal9/web/modules/contrib/entity/composer.json index 2dd069034..4c6621e70 100644 --- a/frontend/drupal9/web/modules/contrib/entity/composer.json +++ b/frontend/drupal9/web/modules/contrib/entity/composer.json @@ -9,6 +9,6 @@ "source": "https://git.drupalcode.org/project/entity" }, "require": { - "drupal/core": "^8.8.2 || ^9" + "drupal/core": "^9.2|^10.0" } } diff --git a/frontend/drupal9/web/modules/contrib/entity/entity.info.yml b/frontend/drupal9/web/modules/contrib/entity/entity.info.yml index c554e1f16..9943d67d7 100644 --- a/frontend/drupal9/web/modules/contrib/entity/entity.info.yml +++ b/frontend/drupal9/web/modules/contrib/entity/entity.info.yml @@ -1,9 +1,9 @@ name: Entity description: Provides expanded entity APIs, which will be moved to Drupal core one day. type: module -core_version_requirement: ^8.8.2 || ^9 +core_version_requirement: "^9.2|^10" -# Information added by Drupal.org packaging script on 2022-03-03 -version: '8.x-1.3' +# Information added by Drupal.org packaging script on 2022-08-30 +version: '8.x-1.4' project: 'entity' -datestamp: 1646324542 +datestamp: 1661898026 diff --git a/frontend/drupal9/web/modules/contrib/entity/src/Access/EntityRevisionRouteAccessChecker.php b/frontend/drupal9/web/modules/contrib/entity/src/Access/EntityRevisionRouteAccessChecker.php index 799af140b..0a7264e52 100644 --- a/frontend/drupal9/web/modules/contrib/entity/src/Access/EntityRevisionRouteAccessChecker.php +++ b/frontend/drupal9/web/modules/contrib/entity/src/Access/EntityRevisionRouteAccessChecker.php @@ -158,6 +158,7 @@ class EntityRevisionRouteAccessChecker implements AccessInterface { ->condition($entity_type->getKey('id'), $entity->id()) ->condition($entity_type->getKey('default_langcode'), 1) ->count() + ->accessCheck(TRUE) ->execute(); return $count; } diff --git a/frontend/drupal9/web/modules/contrib/entity/src/BundleEntityDuplicator.php b/frontend/drupal9/web/modules/contrib/entity/src/BundleEntityDuplicator.php index aa4799976..5ade94c72 100644 --- a/frontend/drupal9/web/modules/contrib/entity/src/BundleEntityDuplicator.php +++ b/frontend/drupal9/web/modules/contrib/entity/src/BundleEntityDuplicator.php @@ -119,6 +119,7 @@ class BundleEntityDuplicator implements BundleEntityDuplicatorInterface { $storage = $this->entityTypeManager->getStorage($entity_type_id); $ids = $storage->getQuery() ->condition('id', $id_prefix, 'STARTS_WITH') + ->accessCheck(TRUE) ->execute(); return $ids ? $storage->loadMultiple($ids) : []; diff --git a/frontend/drupal9/web/modules/contrib/entity/src/BundlePlugin/BundlePluginUninstallValidator.php b/frontend/drupal9/web/modules/contrib/entity/src/BundlePlugin/BundlePluginUninstallValidator.php index c21f625ac..0ab011aa5 100644 --- a/frontend/drupal9/web/modules/contrib/entity/src/BundlePlugin/BundlePluginUninstallValidator.php +++ b/frontend/drupal9/web/modules/contrib/entity/src/BundlePlugin/BundlePluginUninstallValidator.php @@ -55,6 +55,7 @@ class BundlePluginUninstallValidator implements ModuleUninstallValidatorInterfac $result = $this->entityTypeManager->getStorage($entity_type->id())->getQuery() ->condition($entity_type->getKey('bundle'), $bundle) ->range(0, 1) + ->accessCheck(TRUE) ->execute(); return !empty($result); }); diff --git a/frontend/drupal9/web/modules/contrib/entity/src/Controller/RevisionControllerTrait.php b/frontend/drupal9/web/modules/contrib/entity/src/Controller/RevisionControllerTrait.php index a632d331f..1c21d2053 100644 --- a/frontend/drupal9/web/modules/contrib/entity/src/Controller/RevisionControllerTrait.php +++ b/frontend/drupal9/web/modules/contrib/entity/src/Controller/RevisionControllerTrait.php @@ -99,6 +99,7 @@ trait RevisionControllerTrait { ->allRevisions() ->condition($entity_type->getKey('id'), $entity->id()) ->sort($entity_type->getKey('revision'), 'DESC') + ->accessCheck(TRUE) ->execute(); return array_keys($result); } diff --git a/frontend/drupal9/web/modules/contrib/entity/src/Event/EntityDuplicateEvent.php b/frontend/drupal9/web/modules/contrib/entity/src/Event/EntityDuplicateEvent.php index 5c78b831c..4d75fbda4 100644 --- a/frontend/drupal9/web/modules/contrib/entity/src/Event/EntityDuplicateEvent.php +++ b/frontend/drupal9/web/modules/contrib/entity/src/Event/EntityDuplicateEvent.php @@ -3,7 +3,7 @@ namespace Drupal\entity\Event; use Drupal\Core\Entity\EntityInterface; -use Symfony\Component\EventDispatcher\Event; +use Drupal\Component\EventDispatcher\Event; /** * Defines the entity duplicate event. diff --git a/frontend/drupal9/web/modules/contrib/entity/src/Form/EntityDuplicateFormTrait.php b/frontend/drupal9/web/modules/contrib/entity/src/Form/EntityDuplicateFormTrait.php index c459896d8..3596b1afb 100644 --- a/frontend/drupal9/web/modules/contrib/entity/src/Form/EntityDuplicateFormTrait.php +++ b/frontend/drupal9/web/modules/contrib/entity/src/Form/EntityDuplicateFormTrait.php @@ -51,7 +51,7 @@ trait EntityDuplicateFormTrait { $event = new EntityDuplicateEvent($entity, $this->sourceEntity); /** @var \Symfony\Component\EventDispatcher\EventDispatcherInterface $event_dispatcher */ $event_dispatcher = \Drupal::service('event_dispatcher'); - $event_dispatcher->dispatch(EntityEvents::ENTITY_DUPLICATE, $event); + $event_dispatcher->dispatch($event, EntityEvents::ENTITY_DUPLICATE); } } diff --git a/frontend/drupal9/web/modules/contrib/entity/src/Plugin/Action/Derivative/DeleteActionDeriver.php b/frontend/drupal9/web/modules/contrib/entity/src/Plugin/Action/Derivative/DeleteActionDeriver.php index 02774eff0..f6b7a126c 100644 --- a/frontend/drupal9/web/modules/contrib/entity/src/Plugin/Action/Derivative/DeleteActionDeriver.php +++ b/frontend/drupal9/web/modules/contrib/entity/src/Plugin/Action/Derivative/DeleteActionDeriver.php @@ -21,7 +21,7 @@ class DeleteActionDeriver extends DeriverBase implements ContainerDeriverInterfa /** * The entity type manager. * - * @var \Drupal\Core\Entity\EntityManagerInterface + * @var \Drupal\Core\Entity\EntityTypeManagerInterface */ protected $entityTypeManager; diff --git a/frontend/drupal9/web/modules/contrib/entity/src/QueryAccess/EventOnlyQueryAccessHandler.php b/frontend/drupal9/web/modules/contrib/entity/src/QueryAccess/EventOnlyQueryAccessHandler.php index c26b749ac..1f657451c 100644 --- a/frontend/drupal9/web/modules/contrib/entity/src/QueryAccess/EventOnlyQueryAccessHandler.php +++ b/frontend/drupal9/web/modules/contrib/entity/src/QueryAccess/EventOnlyQueryAccessHandler.php @@ -75,8 +75,8 @@ final class EventOnlyQueryAccessHandler implements EntityHandlerInterface, Query // Allow other modules to modify the conditions before they are used. $event = new QueryAccessEvent($conditions, $operation, $account, $entity_type_id); - $this->eventDispatcher->dispatch("entity.query_access", $event); - $this->eventDispatcher->dispatch("entity.query_access.{$entity_type_id}", $event); + $this->eventDispatcher->dispatch($event, 'entity.query_access'); + $this->eventDispatcher->dispatch($event, "entity.query_access.{$entity_type_id}"); return $conditions; } diff --git a/frontend/drupal9/web/modules/contrib/entity/src/QueryAccess/QueryAccessEvent.php b/frontend/drupal9/web/modules/contrib/entity/src/QueryAccess/QueryAccessEvent.php index fe8a59c2d..70804a706 100644 --- a/frontend/drupal9/web/modules/contrib/entity/src/QueryAccess/QueryAccessEvent.php +++ b/frontend/drupal9/web/modules/contrib/entity/src/QueryAccess/QueryAccessEvent.php @@ -3,7 +3,7 @@ namespace Drupal\entity\QueryAccess; use Drupal\Core\Session\AccountInterface; -use Symfony\Component\EventDispatcher\Event; +use Drupal\Component\EventDispatcher\Event; /** * Defines the query access event. diff --git a/frontend/drupal9/web/modules/contrib/entity/src/QueryAccess/QueryAccessHandlerBase.php b/frontend/drupal9/web/modules/contrib/entity/src/QueryAccess/QueryAccessHandlerBase.php index ec96e9e57..8df9c47f1 100644 --- a/frontend/drupal9/web/modules/contrib/entity/src/QueryAccess/QueryAccessHandlerBase.php +++ b/frontend/drupal9/web/modules/contrib/entity/src/QueryAccess/QueryAccessHandlerBase.php @@ -88,8 +88,8 @@ abstract class QueryAccessHandlerBase implements EntityHandlerInterface, QueryAc // Allow other modules to modify the conditions before they are used. $event = new QueryAccessEvent($conditions, $operation, $account, $entity_type_id); - $this->eventDispatcher->dispatch("entity.query_access", $event); - $this->eventDispatcher->dispatch("entity.query_access.{$entity_type_id}", $event); + $this->eventDispatcher->dispatch($event, 'entity.query_access'); + $this->eventDispatcher->dispatch($event, "entity.query_access.{$entity_type_id}"); return $conditions; } diff --git a/frontend/drupal9/web/modules/contrib/entity/tests/modules/entity_module_bundle_plugin_examples_test/entity_module_bundle_plugin_examples_test.info.yml b/frontend/drupal9/web/modules/contrib/entity/tests/modules/entity_module_bundle_plugin_examples_test/entity_module_bundle_plugin_examples_test.info.yml index 36465026d..efbd18000 100644 --- a/frontend/drupal9/web/modules/contrib/entity/tests/modules/entity_module_bundle_plugin_examples_test/entity_module_bundle_plugin_examples_test.info.yml +++ b/frontend/drupal9/web/modules/contrib/entity/tests/modules/entity_module_bundle_plugin_examples_test/entity_module_bundle_plugin_examples_test.info.yml @@ -5,7 +5,7 @@ package: Testing dependencies: - entity:entity -# Information added by Drupal.org packaging script on 2022-03-03 -version: '8.x-1.3' +# Information added by Drupal.org packaging script on 2022-08-30 +version: '8.x-1.4' project: 'entity' -datestamp: 1646324542 +datestamp: 1661898026 diff --git a/frontend/drupal9/web/modules/contrib/entity/tests/modules/entity_module_bundle_plugin_test/entity_module_bundle_plugin_test.info.yml b/frontend/drupal9/web/modules/contrib/entity/tests/modules/entity_module_bundle_plugin_test/entity_module_bundle_plugin_test.info.yml index 12915cf41..5c4527332 100644 --- a/frontend/drupal9/web/modules/contrib/entity/tests/modules/entity_module_bundle_plugin_test/entity_module_bundle_plugin_test.info.yml +++ b/frontend/drupal9/web/modules/contrib/entity/tests/modules/entity_module_bundle_plugin_test/entity_module_bundle_plugin_test.info.yml @@ -5,7 +5,7 @@ package: Testing dependencies: - entity:entity -# Information added by Drupal.org packaging script on 2022-03-03 -version: '8.x-1.3' +# Information added by Drupal.org packaging script on 2022-08-30 +version: '8.x-1.4' project: 'entity' -datestamp: 1646324542 +datestamp: 1661898026 diff --git a/frontend/drupal9/web/modules/contrib/entity/tests/modules/entity_module_test/entity_module_test.info.yml b/frontend/drupal9/web/modules/contrib/entity/tests/modules/entity_module_test/entity_module_test.info.yml index 7c9239332..02cd69e2a 100644 --- a/frontend/drupal9/web/modules/contrib/entity/tests/modules/entity_module_test/entity_module_test.info.yml +++ b/frontend/drupal9/web/modules/contrib/entity/tests/modules/entity_module_test/entity_module_test.info.yml @@ -4,7 +4,7 @@ package: Testing dependencies: - drupal:field -# Information added by Drupal.org packaging script on 2022-03-03 -version: '8.x-1.3' +# Information added by Drupal.org packaging script on 2022-08-30 +version: '8.x-1.4' project: 'entity' -datestamp: 1646324542 +datestamp: 1661898026 diff --git a/frontend/drupal9/web/modules/contrib/entity/tests/src/Kernel/BundlePluginTest.php b/frontend/drupal9/web/modules/contrib/entity/tests/src/Kernel/BundlePluginTest.php index c826adc54..b24bd803e 100644 --- a/frontend/drupal9/web/modules/contrib/entity/tests/src/Kernel/BundlePluginTest.php +++ b/frontend/drupal9/web/modules/contrib/entity/tests/src/Kernel/BundlePluginTest.php @@ -84,12 +84,14 @@ class BundlePluginTest extends KernelTestBase { $result = $this->container->get('entity_type.manager')->getStorage('entity_test_bundle_plugin') ->getQuery() ->condition('second_mail', 'admin@example.com') + ->accessCheck(TRUE) ->execute(); $this->assertEquals([$second_entity->id() => $second_entity->id()], $result); $result = $this->container->get('entity_type.manager')->getStorage('entity_test_bundle_plugin') ->getQuery() ->condition('type', 'first') + ->accessCheck(TRUE) ->execute(); $this->assertEquals([$first_entity->id() => $first_entity->id()], $result); diff --git a/frontend/drupal9/web/modules/contrib/entity/tests/src/Kernel/QueryAccess/EventOnlyQueryAccessHandlerTest.php b/frontend/drupal9/web/modules/contrib/entity/tests/src/Kernel/QueryAccess/EventOnlyQueryAccessHandlerTest.php index aa0ae324b..168e0bdd8 100644 --- a/frontend/drupal9/web/modules/contrib/entity/tests/src/Kernel/QueryAccess/EventOnlyQueryAccessHandlerTest.php +++ b/frontend/drupal9/web/modules/contrib/entity/tests/src/Kernel/QueryAccess/EventOnlyQueryAccessHandlerTest.php @@ -53,7 +53,7 @@ class EventOnlyQueryAccessHandlerTest extends EntityKernelTestBase { $node_2->save(); $renderer->executeInRenderContext($render_context, static function () use ($node_storage) { - $node_storage->getQuery()->execute(); + $node_storage->getQuery()->accessCheck(TRUE)->execute(); }); $this->assertTrue($render_context->isEmpty(), 'Empty cacheability was not bubbled.'); @@ -63,7 +63,7 @@ class EventOnlyQueryAccessHandlerTest extends EntityKernelTestBase { $render_context = new RenderContext(); $renderer->executeInRenderContext($render_context, static function () use ($node_storage) { - $node_storage->getQuery()->execute(); + $node_storage->getQuery()->accessCheck(TRUE)->execute(); }); $this->assertFalse($render_context->isEmpty(), 'Cacheability was bubbled'); $this->assertCount(1, $render_context); @@ -89,7 +89,7 @@ class EventOnlyQueryAccessHandlerTest extends EntityKernelTestBase { $this->assertArrayHasKey($node_1->id(), $unfiltered, 'foo nodes were not filtered out.'); $this->assertArrayHasKey($node_2->id(), $unfiltered, 'bar nodes were not filtered out.'); - $filtered = $node_storage->getQuery()->execute(); + $filtered = $node_storage->getQuery()->accessCheck(TRUE)->execute(); $this->assertCount(1, $filtered, 'Only one node shows up when access checking is turned on.'); $this->assertArrayHasKey($node_1->id(), $filtered, 'foo nodes were not filtered out.'); $this->assertArrayNotHasKey($node_2->id(), $filtered, 'bar nodes were filtered out.'); diff --git a/frontend/drupal9/web/modules/contrib/entity/tests/src/Kernel/QueryAccess/QueryAccessTest.php b/frontend/drupal9/web/modules/contrib/entity/tests/src/Kernel/QueryAccess/QueryAccessTest.php index 6d8d284fb..bbfe73298 100644 --- a/frontend/drupal9/web/modules/contrib/entity/tests/src/Kernel/QueryAccess/QueryAccessTest.php +++ b/frontend/drupal9/web/modules/contrib/entity/tests/src/Kernel/QueryAccess/QueryAccessTest.php @@ -104,7 +104,10 @@ class QueryAccessTest extends EntityKernelTestBase { $admin_user = $this->createUser([], ['administer entity_test_enhanced']); $this->container->get('current_user')->setAccount($admin_user); - $result = $this->storage->getQuery()->sort('id')->execute(); + $result = $this->storage->getQuery() + ->sort('id') + ->accessCheck(TRUE) + ->execute(); $this->assertEquals([ $this->entities[0]->id(), $this->entities[1]->id(), @@ -115,14 +118,14 @@ class QueryAccessTest extends EntityKernelTestBase { $user = $this->createUser([], ['access content']); $this->container->get('current_user')->setAccount($user); - $result = $this->storage->getQuery()->execute(); + $result = $this->storage->getQuery()->accessCheck(TRUE)->execute(); $this->assertEmpty($result); // View (published-only). $user = $this->createUser([], ['view entity_test_enhanced']); $this->container->get('current_user')->setAccount($user); - $result = $this->storage->getQuery()->sort('id')->execute(); + $result = $this->storage->getQuery()->sort('id')->accessCheck(TRUE)->execute(); $this->assertEquals([ $this->entities[1]->id(), $this->entities[2]->id(), @@ -132,7 +135,7 @@ class QueryAccessTest extends EntityKernelTestBase { $user = $this->createUser([], ['view first entity_test_enhanced']); $this->container->get('current_user')->setAccount($user); - $result = $this->storage->getQuery()->sort('id')->execute(); + $result = $this->storage->getQuery()->sort('id')->accessCheck(TRUE)->execute(); $this->assertEquals([ $this->entities[1]->id(), ], array_values($result)); @@ -146,7 +149,11 @@ class QueryAccessTest extends EntityKernelTestBase { $admin_user = $this->createUser([], ['administer entity_test_enhanced']); $this->container->get('current_user')->setAccount($admin_user); - $result = $this->storage->getQuery()->allRevisions()->sort('id')->execute(); + $result = $this->storage->getQuery() + ->allRevisions() + ->sort('id') + ->accessCheck(TRUE) + ->execute(); $this->assertEquals([ '1' => $this->entities[0]->id(), '2' => $this->entities[0]->id(), @@ -160,14 +167,18 @@ class QueryAccessTest extends EntityKernelTestBase { $user = $this->createUser([], ['access content']); $this->container->get('current_user')->setAccount($user); - $result = $this->storage->getQuery()->execute(); + $result = $this->storage->getQuery()->accessCheck(TRUE)->execute(); $this->assertEmpty($result); // View (published-only). $user = $this->createUser([], ['view entity_test_enhanced']); $this->container->get('current_user')->setAccount($user); - $result = $this->storage->getQuery()->allRevisions()->sort('id')->execute(); + $result = $this->storage->getQuery() + ->allRevisions() + ->sort('id') + ->accessCheck(TRUE) + ->execute(); $this->assertEquals([ '1' => $this->entities[0]->id(), '4' => $this->entities[1]->id(), @@ -179,7 +190,11 @@ class QueryAccessTest extends EntityKernelTestBase { $user = $this->createUser([], ['view first entity_test_enhanced']); $this->container->get('current_user')->setAccount($user); - $result = $this->storage->getQuery()->allRevisions()->sort('id')->execute(); + $result = $this->storage->getQuery() + ->allRevisions() + ->sort('id') + ->accessCheck(TRUE) + ->execute(); $this->assertEquals([ '1' => $this->entities[0]->id(), '4' => $this->entities[1]->id(), @@ -336,14 +351,18 @@ class QueryAccessTest extends EntityKernelTestBase { $this->container->get('current_user')->setAccount($user); // EntityQuery. - $result = $this->storage->getQuery()->sort('id')->execute(); + $result = $this->storage->getQuery()->sort('id')->accessCheck(TRUE)->execute(); $this->assertEquals([ $this->entities[0]->id(), $this->entities[1]->id(), ], array_values($result)); // EntityQuery with revisions. - $result = $this->storage->getQuery()->allRevisions()->sort('id')->execute(); + $result = $this->storage->getQuery() + ->allRevisions() + ->sort('id') + ->accessCheck(TRUE) + ->execute(); $this->assertEquals([ '1' => $this->entities[0]->id(), '2' => $this->entities[0]->id(), diff --git a/frontend/drupal9/web/modules/contrib/entity/tests/src/Kernel/QueryAccess/UncacheableQueryAccessTest.php b/frontend/drupal9/web/modules/contrib/entity/tests/src/Kernel/QueryAccess/UncacheableQueryAccessTest.php index 4a1965a33..8d463fa66 100644 --- a/frontend/drupal9/web/modules/contrib/entity/tests/src/Kernel/QueryAccess/UncacheableQueryAccessTest.php +++ b/frontend/drupal9/web/modules/contrib/entity/tests/src/Kernel/QueryAccess/UncacheableQueryAccessTest.php @@ -104,7 +104,7 @@ class UncacheableQueryAccessTest extends EntityKernelTestBase { $admin_user = $this->createUser([], ['administer entity_test_enhanced_with_owner']); $this->container->get('current_user')->setAccount($admin_user); - $result = $this->storage->getQuery()->sort('id')->execute(); + $result = $this->storage->getQuery()->sort('id')->accessCheck(TRUE)->execute(); $this->assertEquals([ $this->entities[0]->id(), $this->entities[1]->id(), @@ -115,7 +115,7 @@ class UncacheableQueryAccessTest extends EntityKernelTestBase { $user = $this->createUser([], ['access content']); $this->container->get('current_user')->setAccount($user); - $result = $this->storage->getQuery()->execute(); + $result = $this->storage->getQuery()->accessCheck(TRUE)->execute(); $this->assertEmpty($result); // View own (published-only). @@ -127,7 +127,7 @@ class UncacheableQueryAccessTest extends EntityKernelTestBase { $this->entities[1]->set('user_id', $user->id()); $this->entities[1]->save(); - $result = $this->storage->getQuery()->sort('id')->execute(); + $result = $this->storage->getQuery()->sort('id')->accessCheck(TRUE)->execute(); $this->assertEquals([ $this->entities[1]->id(), ], array_values($result)); @@ -136,7 +136,7 @@ class UncacheableQueryAccessTest extends EntityKernelTestBase { $user = $this->createUser([], ['view any entity_test_enhanced_with_owner']); $this->container->get('current_user')->setAccount($user); - $result = $this->storage->getQuery()->sort('id')->execute(); + $result = $this->storage->getQuery()->sort('id')->accessCheck(TRUE)->execute(); $this->assertEquals([ $this->entities[1]->id(), $this->entities[2]->id(), @@ -151,7 +151,7 @@ class UncacheableQueryAccessTest extends EntityKernelTestBase { $this->entities[1]->set('user_id', $user->id()); $this->entities[1]->save(); - $result = $this->storage->getQuery()->sort('id')->execute(); + $result = $this->storage->getQuery()->sort('id')->accessCheck(TRUE)->execute(); $this->assertEquals([ $this->entities[0]->id(), ], array_values($result)); @@ -166,7 +166,7 @@ class UncacheableQueryAccessTest extends EntityKernelTestBase { $this->entities[0]->set('user_id', $user->id()); $this->entities[0]->save(); - $result = $this->storage->getQuery()->sort('id')->execute(); + $result = $this->storage->getQuery()->sort('id')->accessCheck(TRUE)->execute(); $this->assertEquals([ $this->entities[0]->id(), $this->entities[1]->id(), @@ -183,7 +183,7 @@ class UncacheableQueryAccessTest extends EntityKernelTestBase { $this->entities[1]->set('user_id', $user->id()); $this->entities[1]->save(); - $result = $this->storage->getQuery()->sort('id')->execute(); + $result = $this->storage->getQuery()->sort('id')->accessCheck(TRUE)->execute(); $this->assertEquals([ $this->entities[1]->id(), $this->entities[2]->id(), @@ -198,7 +198,11 @@ class UncacheableQueryAccessTest extends EntityKernelTestBase { $admin_user = $this->createUser([], ['administer entity_test_enhanced_with_owner']); $this->container->get('current_user')->setAccount($admin_user); - $result = $this->storage->getQuery()->allRevisions()->sort('id')->execute(); + $result = $this->storage->getQuery() + ->allRevisions() + ->sort('id') + ->accessCheck(TRUE) + ->execute(); $this->assertEquals([ '1' => $this->entities[0]->id(), '2' => $this->entities[0]->id(), @@ -212,7 +216,7 @@ class UncacheableQueryAccessTest extends EntityKernelTestBase { $user = $this->createUser([], ['access content']); $this->container->get('current_user')->setAccount($user); - $result = $this->storage->getQuery()->allRevisions()->execute(); + $result = $this->storage->getQuery()->allRevisions()->accessCheck(TRUE)->execute(); $this->assertEmpty($result); // View own (published-only). @@ -226,7 +230,11 @@ class UncacheableQueryAccessTest extends EntityKernelTestBase { $this->entities[1]->set('user_id', $user->id()); $this->entities[1]->save(); - $result = $this->storage->getQuery()->allRevisions()->sort('id')->execute(); + $result = $this->storage->getQuery() + ->allRevisions() + ->sort('id') + ->accessCheck(TRUE) + ->execute(); $this->assertEquals([ '1' => $this->entities[0]->id(), '4' => $this->entities[1]->id(), @@ -236,7 +244,11 @@ class UncacheableQueryAccessTest extends EntityKernelTestBase { $user = $this->createUser([], ['view any entity_test_enhanced_with_owner']); $this->container->get('current_user')->setAccount($user); - $result = $this->storage->getQuery()->allRevisions()->sort('id')->execute(); + $result = $this->storage->getQuery() + ->allRevisions() + ->sort('id') + ->accessCheck(TRUE) + ->execute(); $this->assertEquals([ '1' => $this->entities[0]->id(), '4' => $this->entities[1]->id(), @@ -253,7 +265,11 @@ class UncacheableQueryAccessTest extends EntityKernelTestBase { $this->entities[1]->set('user_id', $user->id()); $this->entities[1]->save(); - $result = $this->storage->getQuery()->allRevisions()->sort('id')->execute(); + $result = $this->storage->getQuery() + ->allRevisions() + ->sort('id') + ->accessCheck(TRUE) + ->execute(); $this->assertEquals([ '2' => $this->entities[0]->id(), '3' => $this->entities[1]->id(), @@ -269,7 +285,11 @@ class UncacheableQueryAccessTest extends EntityKernelTestBase { $this->entities[0]->set('user_id', $user->id()); $this->entities[0]->save(); - $result = $this->storage->getQuery()->allRevisions()->sort('id')->execute(); + $result = $this->storage->getQuery() + ->allRevisions() + ->sort('id') + ->accessCheck(TRUE) + ->execute(); $this->assertEquals([ '1' => $this->entities[0]->id(), '2' => $this->entities[0]->id(), @@ -288,7 +308,11 @@ class UncacheableQueryAccessTest extends EntityKernelTestBase { $this->entities[1]->set('user_id', $user->id()); $this->entities[1]->save(); - $result = $this->storage->getQuery()->allRevisions()->sort('id')->execute(); + $result = $this->storage->getQuery() + ->allRevisions() + ->sort('id') + ->accessCheck(TRUE) + ->execute(); $this->assertEquals([ '4' => $this->entities[1]->id(), '5' => $this->entities[2]->id(), diff --git a/frontend/drupal9/web/modules/contrib/entity_clone/composer.json b/frontend/drupal9/web/modules/contrib/entity_clone/composer.json new file mode 100644 index 000000000..103bd42d2 --- /dev/null +++ b/frontend/drupal9/web/modules/contrib/entity_clone/composer.json @@ -0,0 +1,13 @@ +{ + "name": "drupal/entity_clone", + "description": "Add a clone action for all entities.", + "homepage": "https://drupal.org/project/entity_clone", + "type": "drupal-module", + "license": "GPL-2.0-or-later", + "require-dev": { + "drupal/entity_browser": "2.x-dev", + "drupal/entity_usage": "2.x-dev", + "drupal/paragraphs": "^1.0", + "drupal/search_api": "~1.0" + } +} diff --git a/frontend/drupal9/web/modules/contrib/entity_clone/entity_clone.info.yml b/frontend/drupal9/web/modules/contrib/entity_clone/entity_clone.info.yml index 8e74f61ba..948baa170 100644 --- a/frontend/drupal9/web/modules/contrib/entity_clone/entity_clone.info.yml +++ b/frontend/drupal9/web/modules/contrib/entity_clone/entity_clone.info.yml @@ -4,8 +4,13 @@ core: "8.x" core_version_requirement: ^8 || ^9 type: module configure: entity_clone.settings +test_dependencies: + - entity_browser:entity_browser + - entity_usage:entity_usage + - paragraphs:paragraphs + - search_api:search_api -# Information added by Drupal.org packaging script on 2021-03-31 -version: '8.x-1.0-beta6' +# Information added by Drupal.org packaging script on 2022-09-19 +version: '8.x-1.0-beta7' project: 'entity_clone' -datestamp: 1617210000 +datestamp: 1663573487 diff --git a/frontend/drupal9/web/modules/contrib/entity_clone/entity_clone.module b/frontend/drupal9/web/modules/contrib/entity_clone/entity_clone.module index f2bdfba80..078b942c0 100644 --- a/frontend/drupal9/web/modules/contrib/entity_clone/entity_clone.module +++ b/frontend/drupal9/web/modules/contrib/entity_clone/entity_clone.module @@ -6,6 +6,7 @@ */ use Drupal\Core\Access\AccessResult; +use Drupal\Core\Cache\CacheableMetadata; use Drupal\Core\Entity\ContentEntityTypeInterface; use Drupal\Core\Entity\EntityInterface; use Drupal\Core\Routing\RouteMatchInterface; @@ -121,7 +122,7 @@ function entity_clone_entity_type_build(array &$entity_types) { * @see \Drupal\Core\Entity\EntityListBuilderInterface::getOperations() */ function entity_clone_entity_operation(EntityInterface $entity) { - if ($entity->hasLinkTemplate('clone-form') && $entity->access('clone')) { + if ($entity->hasLinkTemplate('clone-form') && $entity->access('clone') && !$entity->isNew()) { return [ 'clone' => [ 'title' => t('Clone'), @@ -139,8 +140,39 @@ function entity_clone_entity_operation(EntityInterface $entity) { * Implements hook_entity_access(). */ function entity_clone_entity_access(EntityInterface $entity, $operation, AccountInterface $account) { - if ($operation === 'clone') { - return AccessResult::allowedIfHasPermission($account, 'clone ' . $entity->getEntityTypeId() . ' entity'); + if ($operation !== 'clone') { + return AccessResult::neutral(); } - return AccessResult::neutral(); + + $cache = new CacheableMetadata(); + $cache->addCacheContexts(['user.permissions']); + + // Deny access if the user cannot clone the entity. + $access = AccessResult::forbiddenIf(!$account->hasPermission('clone ' . $entity->getEntityTypeId() . ' entity')); + if ($access->isForbidden()) { + return $access->addCacheableDependency($cache); + } + + // Deny access if the user can clone but cannot create new entities of this + // type. However, we have some exceptions in which the access control handler + // doesn't have a say in things. In these cases, we go based on the clone + // permission only. + $exceptions = [ + 'file', + 'paragraph', + ]; + + if (in_array($entity->getEntityTypeId(), $exceptions)) { + return AccessResult::allowed()->addCacheableDependency($cache); + } + + $handler = \Drupal::entityTypeManager()->getAccessControlHandler($entity->getEntityTypeId()); + $access = $handler->createAccess($entity->bundle(), $account, [], TRUE); + if (!$access->isAllowed()) { + $cache->addCacheableDependency($access); + $forbidden = AccessResult::forbidden(); + return $forbidden->addCacheableDependency($cache); + } + + return AccessResult::allowed()->addCacheableDependency($cache); } diff --git a/frontend/drupal9/web/modules/contrib/entity_clone/src/EntityClone/Content/ContentEntityCloneBase.php b/frontend/drupal9/web/modules/contrib/entity_clone/src/EntityClone/Content/ContentEntityCloneBase.php index af6eb027e..7cd53517a 100644 --- a/frontend/drupal9/web/modules/contrib/entity_clone/src/EntityClone/Content/ContentEntityCloneBase.php +++ b/frontend/drupal9/web/modules/contrib/entity_clone/src/EntityClone/Content/ContentEntityCloneBase.php @@ -3,11 +3,16 @@ namespace Drupal\entity_clone\EntityClone\Content; use Drupal\Component\Datetime\TimeInterface; +use Drupal\content_moderation\Entity\ContentModerationState; +use Drupal\content_moderation\Plugin\Field\ModerationStateFieldItemList; +use Drupal\Core\Entity\ContentEntityInterface; +use Drupal\Core\Entity\EntityChangedInterface; use Drupal\Core\Entity\EntityHandlerInterface; use Drupal\Core\Entity\EntityInterface; use Drupal\Core\Entity\EntityTypeInterface; use Drupal\Core\Entity\EntityTypeManagerInterface; use Drupal\Core\Entity\FieldableEntityInterface; +use Drupal\Core\Entity\TranslatableInterface; use Drupal\Core\Field\FieldDefinitionInterface; use Drupal\Core\Field\FieldConfigInterface; use Drupal\Core\Field\FieldItemListInterface; @@ -34,13 +39,6 @@ class ContentEntityCloneBase implements EntityHandlerInterface, EntityCloneInter */ protected $entityTypeId; - /** - * The current user. - * - * @var \Drupal\Core\Session\AccountProxyInterface - */ - protected $currentUser; - /** * A service for obtaining the system's time. * @@ -48,6 +46,13 @@ class ContentEntityCloneBase implements EntityHandlerInterface, EntityCloneInter */ protected $timeService; + /** + * The current user. + * + * @var \Drupal\Core\Session\AccountProxyInterface + */ + protected $currentUser; + /** * Constructs a new ContentEntityCloneBase. * @@ -55,16 +60,18 @@ class ContentEntityCloneBase implements EntityHandlerInterface, EntityCloneInter * The entity type manager. * @param string $entity_type_id * The entity type ID. - * @param \Drupal\Core\Session\AccountProxyInterface $currentUser - * The current user. * @param \Drupal\Component\Datetime\TimeInterface $time_service * A service for obtaining the system's time. + * @param \Drupal\Core\Session\AccountProxyInterface $current_user + * The current user. + * @param \Drupal\Core\Extension\ModuleHandlerInterface $module_handler + * The module handler. */ - public function __construct(EntityTypeManagerInterface $entity_type_manager, $entity_type_id, TimeInterface $time_service, AccountProxyInterface $currentUser) { + public function __construct(EntityTypeManagerInterface $entity_type_manager, $entity_type_id, TimeInterface $time_service, AccountProxyInterface $current_user) { $this->entityTypeManager = $entity_type_manager; $this->entityTypeId = $entity_type_id; $this->timeService = $time_service; - $this->currentUser = $currentUser; + $this->currentUser = $current_user; } /** @@ -87,7 +94,6 @@ class ContentEntityCloneBase implements EntityHandlerInterface, EntityCloneInter $cloned_entity->setOwnerId($this->currentUser->id()); } // Clone referenced entities. - $cloned_entity->save(); $already_cloned[$entity->getEntityTypeId()][$entity->id()] = $cloned_entity; if ($cloned_entity instanceof FieldableEntityInterface && $entity instanceof FieldableEntityInterface) { foreach ($cloned_entity->getFieldDefinitions() as $field_id => $field_definition) { @@ -102,17 +108,30 @@ class ContentEntityCloneBase implements EntityHandlerInterface, EntityCloneInter } $this->setClonedEntityLabel($entity, $cloned_entity); + $this->setCreatedAndChangedDates($cloned_entity); - // For now, check that the cloned entity has a 'setCreatedTime' method, and - // if so, try to call it. This condition can be replaced with a more-robust - // check whether $cloned_entity is an instance of - // Drupal\Core\Entity\EntityCreatedInterface once - // https://www.drupal.org/project/drupal/issues/2833378 lands. - if (method_exists($cloned_entity, 'setCreatedTime')) { - $cloned_entity->setCreatedTime($this->timeService->getRequestTime()); + if ($this->hasTranslatableModerationState($cloned_entity)) { + // If we are using moderation state, ensure that each translation gets + // the same moderation state BEFORE we save so that upon save, each + // translation gets its publishing status updated according to the + // moderation state. After the entity is saved, we kick in the creation + // of translations of created moderation state entity. + foreach ($cloned_entity->getTranslationLanguages(TRUE) as $language) { + $translation = $cloned_entity->getTranslation($language->getId()); + $translation->set('moderation_state', $cloned_entity->get('moderation_state')->value); + } } $cloned_entity->save(); + + // If we are using content moderation, make sure the moderation state + // entity gets translated to reflect the available translations on the + // source entity. Thus, we call this after the save because we need the + // original moderation state entity to have been created. + if ($this->hasTranslatableModerationState($cloned_entity)) { + $this->setTranslationModerationState($entity, $cloned_entity); + } + return $cloned_entity; } @@ -135,6 +154,7 @@ class ContentEntityCloneBase implements EntityHandlerInterface, EntityCloneInter if (($field_definition instanceof FieldConfigInterface) && $type_is_clonable) { return TRUE; } + return FALSE; } @@ -200,6 +220,7 @@ class ContentEntityCloneBase implements EntityHandlerInterface, EntityCloneInter $referenced_entities[] = $referenced_entity; } } + return $referenced_entities; } @@ -224,7 +245,121 @@ class ContentEntityCloneBase implements EntityHandlerInterface, EntityCloneInter if (!isset($child_properties['children'])) { $child_properties['children'] = []; } + return $child_properties; } + /** + * Create moderation_state translations for the cloned entities. + * + * When a new translation is saved, content moderation creates a corresponding + * translation to the moderation_state entity as well. However, for this to + * happen, the translation itself needs to be saved. When we clone, this + * doesn't happen as the original entity gets cloned together with the + * translations and a save is called on the original language being cloned. So + * we have to do this manually. + * + * This is doing essentially what + * Drupal\content_moderation\EntityOperations::updateOrCreateFromEntity but + * we had to replicate it because if a user clones a node translation + * directly, updateOrCreateFromEntity() would not create a translation for + * the original language but would override the language when passing the + * original entity translation. + */ + protected function setTranslationModerationState(ContentEntityInterface $entity, ContentEntityInterface $cloned_entity) { + $languages = $cloned_entity->getTranslationLanguages(); + + // Load the existing moderation state entity for the cloned entity. This + // should exist and have only 1 translation. + $needs_save = FALSE; + $moderation_state = ContentModerationState::loadFromModeratedEntity($cloned_entity); + $original_translation = $cloned_entity->getUntranslated(); + if ($moderation_state->language()->getId() !== $original_translation->language()->getId()) { + // If we are cloning a node while not being in the original translation + // language, Drupal core will set the default language of the moderation + // state to that language whereas the node is simply duplicated and will + // keep the original default language. So we need to change it to that + // also in the moderation state to keep things consistent. + $moderation_state->set($moderation_state->getEntityType()->getKey('langcode'), $original_translation->language()->getId()); + $needs_save = TRUE; + } + + foreach ($languages as $language) { + $translation = $cloned_entity->getTranslation($language->getId()); + if (!$moderation_state->hasTranslation($translation->language()->getId())) { + // We make a 1 to 1 copy of the moderation state entity from the + // original created already by the content_moderation module. This is ok + // because even if translations can be in different moderation states, + // when cloning, the moderation state is reset to whatever the workflow + // default is configured to be. So we anyway should end up with the + // same state across all languages. + $moderation_state->addTranslation($translation->language()->getId(), $moderation_state->toArray()); + $needs_save = TRUE; + } + } + + if ($needs_save) { + ContentModerationState::updateOrCreateFromEntity($moderation_state); + } + } + + /** + * Checks if the entity has the moderation state field and can be moderated. + * + * @param \Drupal\Core\Entity\ContentEntityInterface $entity + * The entity. + * + * @return bool + * Whether it can be moderated. + */ + protected function hasTranslatableModerationState(ContentEntityInterface $entity): bool { + if (!$entity->hasField('moderation_state') || !$entity->get('moderation_state') instanceof ModerationStateFieldItemList) { + return FALSE; + } + + return !empty($entity->getTranslationLanguages(FALSE)); + } + + /** + * Resets the created and changed dates on the cloned entity. + * + * Since we don't want the cloned entity to have the old dates (as a new + * entity is being created), we need to reset the created and changed dates + * for those entities that support it. + * + * @param \Drupal\Core\Entity\EntityInterface $entity + * The cloned entity. + * @param bool $is_translation + * Whether we are recursing over a translation. + */ + protected function setCreatedAndChangedDates(EntityInterface $entity, bool $is_translation = FALSE) { + $created_time = $this->timeService->getRequestTime(); + + // For now, check that the cloned entity has a 'setCreatedTime' method, and + // if so, try to call it. This condition can be replaced with a more-robust + // check whether $cloned_entity is an instance of + // Drupal\Core\Entity\EntityCreatedInterface once + // https://www.drupal.org/project/drupal/issues/2833378 lands. + if (method_exists($entity, 'setCreatedTime')) { + $entity->setCreatedTime($created_time); + } + + // If the entity has a changed time field, we should update it to the + // created time we set above as it cannot possibly be before. + if ($entity instanceof EntityChangedInterface) { + $entity->setChangedTime($created_time); + } + + if ($is_translation) { + return; + } + + if ($entity instanceof TranslatableInterface) { + foreach ($entity->getTranslationLanguages(FALSE) as $language) { + $translation = $entity->getTranslation($language->getId()); + $this->setCreatedAndChangedDates($translation, TRUE); + } + } + } + } diff --git a/frontend/drupal9/web/modules/contrib/entity_clone/src/Form/EntityCloneForm.php b/frontend/drupal9/web/modules/contrib/entity_clone/src/Form/EntityCloneForm.php index 55ebec944..f99e011bd 100644 --- a/frontend/drupal9/web/modules/contrib/entity_clone/src/Form/EntityCloneForm.php +++ b/frontend/drupal9/web/modules/contrib/entity_clone/src/Form/EntityCloneForm.php @@ -240,7 +240,7 @@ class EntityCloneForm extends FormBase { */ protected function formSetRedirect(FormStateInterface $form_state, EntityInterface $entity) { if ($entity && $entity->hasLinkTemplate('canonical')) { - $form_state->setRedirect($entity->toUrl()->getRouteName(), $entity->toUrl()->getRouteParameters()); + $form_state->setRedirect($entity->toUrl('canonical')->getRouteName(), $entity->toUrl('canonical')->getRouteParameters()); } else { $form_state->setRedirect(''); diff --git a/frontend/drupal9/web/modules/contrib/entity_clone/tests/src/Functional/EntityCloneContentCreatedDate.php b/frontend/drupal9/web/modules/contrib/entity_clone/tests/src/Functional/EntityCloneContentCreatedDate.php deleted file mode 100644 index 4e1516355..000000000 --- a/frontend/drupal9/web/modules/contrib/entity_clone/tests/src/Functional/EntityCloneContentCreatedDate.php +++ /dev/null @@ -1,81 +0,0 @@ -sutUser = $this->drupalCreateUser([ - 'bypass node access', - 'administer nodes', - 'clone node entity', - ]); - } - - /** - * Test that an entity's created date is not cloned. - */ - public function testCreatedDateIsNotCloned() { - // Log in. - $this->drupalLogin($this->sutUser); - - // Create the original node. - $originalNodeCreatedDate = new \DateTimeImmutable('1 year 1 month 1 day ago'); - $originalNode = $this->drupalCreateNode([ - 'created' => $originalNodeCreatedDate->getTimestamp(), - ]); - $this->assertEquals($originalNodeCreatedDate->getTimestamp(), $originalNode->getCreatedTime()); - - // Clone the node. - $this->drupalGet(Url::fromRoute('entity.node.clone_form', [ - 'node' => $originalNode->id(), - ])->toString()); - $this->getSession()->getPage()->pressButton('Clone'); - - // Find the cloned node. - $originalNodeClones = \Drupal::entityTypeManager() - ->getStorage('node') - ->loadByProperties([ - 'title' => sprintf('%s - Cloned', $originalNode->label()), - ]); - $this->assertGreaterThanOrEqual(1, count($originalNodeClones)); - $clonedNode = reset($originalNodeClones); - - // Validate the cloned node's created time is more recent than the original - // node. - $this->assertNotEquals($originalNode->getCreatedTime(), $clonedNode->getCreatedTime()); - $this->assertGreaterThanOrEqual($originalNode->getCreatedTime(), $clonedNode->getCreatedTime()); - } - -} diff --git a/frontend/drupal9/web/modules/contrib/entity_clone/tests/src/Functional/EntityCloneContentModerationTest.php b/frontend/drupal9/web/modules/contrib/entity_clone/tests/src/Functional/EntityCloneContentModerationTest.php new file mode 100644 index 000000000..391b5878f --- /dev/null +++ b/frontend/drupal9/web/modules/contrib/entity_clone/tests/src/Functional/EntityCloneContentModerationTest.php @@ -0,0 +1,274 @@ +save(); + \Drupal::service('content_translation.manager')->setEnabled('node', 'page', TRUE); + $workflow = $this->createEditorialWorkflow(); + $this->addEntityTypeAndBundleToWorkflow($workflow, 'node', 'page'); + + $this->adminUser = $this->drupalCreateUser($this->permissions); + $this->drupalLogin($this->adminUser); + } + + /** + * Test content entity clone. + */ + public function testContentModerationEntityClone() { + $node = Node::create([ + 'type' => 'page', + 'title' => 'My node', + ]); + + $node->save(); + $translation = $node->addTranslation('fr', $node->toArray()); + // Unfortunately content moderation only creates translations to the + // moderation state entities when the actual translation of the source + // entity gets saved (as opposed to an original node with multiple + // translations). + $translation->save(); + + // Assert that we have a moderation state translation for each language. + $node = Node::load($node->id()); + $this->assertCount(2, $node->getTranslationLanguages()); + $moderation_state = ContentModerationStateEntity::loadFromModeratedEntity($node); + $this->assertFalse($moderation_state->isNew()); + $this->assertCount(2, $moderation_state->getTranslationLanguages()); + foreach ($moderation_state->getTranslationLanguages() as $language) { + $this->assertEquals('draft', $moderation_state->getTranslation($language->getId())->get('moderation_state')->value); + } + $moderation_state_id = $moderation_state->id(); + + // Clone the node and assert that the moderation state is cloned and has + // a translation for each language. + $this->drupalGet(Url::fromUserInput('/entity_clone/node/' . $node->id())); + $this->submitForm([], t('Clone')); + + $nodes = \Drupal::entityTypeManager() + ->getStorage('node') + ->loadByProperties([ + 'title' => 'My node - Cloned', + ]); + $clone = reset($nodes); + $this->assertInstanceOf(Node::class, $clone, 'Test node cloned found in database.'); + + $this->assertCount(2, $clone->getTranslationLanguages()); + $clone_moderation_state = ContentModerationStateEntity::loadFromModeratedEntity($clone); + $this->assertNotEquals($moderation_state_id, $clone_moderation_state->id()); + $this->assertFalse($clone_moderation_state->isNew()); + $this->assertCount(2, $clone_moderation_state->getTranslationLanguages()); + foreach ($clone_moderation_state->getTranslationLanguages() as $language) { + $this->assertEquals('draft', $clone_moderation_state->getTranslation($language->getId())->get('moderation_state')->value); + } + + // Create another node, but this time, move the state to published. + $node = Node::create([ + 'type' => 'page', + 'title' => 'My second node', + ]); + $node->save(); + $node->set('moderation_state', 'published'); + $node->setNewRevision(); + $node->save(); + $translation = $node->addTranslation('fr', $node->toArray()); + $translation->save(); + $moderation_state = ContentModerationStateEntity::loadFromModeratedEntity($node); + $this->assertFalse($moderation_state->isNew()); + $this->assertCount(2, $moderation_state->getTranslationLanguages()); + foreach ($moderation_state->getTranslationLanguages() as $language) { + $this->assertEquals('published', $moderation_state->getTranslation($language->getId())->get('moderation_state')->value); + } + + // Clone the node and assert that the moderation state is cloned and has + // a translation for each language. + $this->drupalGet(Url::fromUserInput('/entity_clone/node/' . $node->id())); + $this->submitForm([], t('Clone')); + + $nodes = \Drupal::entityTypeManager() + ->getStorage('node') + ->loadByProperties([ + 'title' => 'My second node - Cloned', + ]); + $clone = reset($nodes); + $this->assertInstanceOf(Node::class, $clone, 'Test node cloned found in database.'); + + $this->assertCount(2, $clone->getTranslationLanguages()); + $clone_moderation_state = ContentModerationStateEntity::loadFromModeratedEntity($clone); + $this->assertFalse($clone_moderation_state->isNew()); + $this->assertCount(2, $clone_moderation_state->getTranslationLanguages()); + foreach ($clone_moderation_state->getTranslationLanguages() as $language) { + // When we clone, the default moderation state is set on the clone for + // both languages (draft), even if the cloned content was published. + $this->assertEquals('draft', $clone_moderation_state->getTranslation($language->getId())->get('moderation_state')->value); + } + + // Create another node, but this time the original should be published but + // the translation should be draft. + $node = Node::create([ + 'type' => 'page', + 'title' => 'My third node', + ]); + $node->save(); + $translation = $node->addTranslation('fr', $node->toArray()); + $translation->save(); + $node->set('moderation_state', 'published'); + $node->setNewRevision(); + $node->save(); + + $moderation_state = ContentModerationStateEntity::loadFromModeratedEntity($node); + $this->assertFalse($moderation_state->isNew()); + $this->assertCount(2, $moderation_state->getTranslationLanguages()); + $expected_map = [ + 'en' => 'published', + 'fr' => 'draft', + ]; + foreach ($moderation_state->getTranslationLanguages() as $language) { + $this->assertEquals($expected_map[$language->getId()], $moderation_state->getTranslation($language->getId())->get('moderation_state')->value); + } + $this->assertTrue($node->getTranslation('en')->isPublished()); + $this->assertFalse($node->getTranslation('fr')->isPublished()); + + // Clone the node and assert that the moderation state is reset to draft + // for both languages. + $this->drupalGet(Url::fromUserInput('/entity_clone/node/' . $node->id())); + $this->submitForm([], t('Clone')); + + $nodes = \Drupal::entityTypeManager() + ->getStorage('node') + ->loadByProperties([ + 'title' => 'My third node - Cloned', + ]); + $clone = reset($nodes); + $this->assertInstanceOf(Node::class, $clone, 'Test node cloned found in database.'); + + $this->assertCount(2, $clone->getTranslationLanguages()); + $this->assertFalse($clone->getTranslation('en')->isPublished()); + $this->assertFalse($clone->getTranslation('fr')->isPublished()); + $clone_moderation_state = ContentModerationStateEntity::loadFromModeratedEntity($clone); + $this->assertFalse($clone_moderation_state->isNew()); + $this->assertCount(2, $clone_moderation_state->getTranslationLanguages()); + foreach ($clone_moderation_state->getTranslationLanguages() as $language) { + $this->assertEquals('draft', $clone_moderation_state->getTranslation($language->getId())->get('moderation_state')->value); + } + + // Create another node but this time clone while on the French and assert + // that the moderation state default language is the same as of the node. + $node = Node::create([ + 'type' => 'page', + 'title' => 'My fourth node', + ]); + + $node->save(); + $translation = $node->addTranslation('fr', ['title' => 'My fourth node FR'] + $node->toArray()); + $translation->save(); + $node = Node::load($node->id()); + $this->assertCount(2, $node->getTranslationLanguages()); + $this->drupalGet(Url::fromUserInput('/fr/entity_clone/node/' . $node->id())); + $this->submitForm([], t('Clone')); + + $clone = Node::load($node->id() + 1); + $this->assertInstanceOf(Node::class, $clone, 'Test node cloned found in database.'); + + $this->assertCount(2, $clone->getTranslationLanguages()); + $this->assertEquals('My fourth node FR - Cloned', $clone->getTranslation('fr')->label()); + $clone_moderation_state = ContentModerationStateEntity::loadFromModeratedEntity($clone); + $this->assertFalse($clone_moderation_state->isNew()); + $this->assertCount(2, $clone_moderation_state->getTranslationLanguages()); + foreach ($clone_moderation_state->getTranslationLanguages() as $language) { + $this->assertEquals('draft', $clone_moderation_state->getTranslation($language->getId())->get('moderation_state')->value); + } + $this->assertTrue($clone_moderation_state->isDefaultTranslation()); + $this->assertEquals('en', $clone_moderation_state->language()->getId()); + + // Create another node, published, translated and assert that upon cloning + // the node status is reset to 0 to match the fact that it's a draft. + $node = Node::create([ + 'type' => 'page', + 'title' => 'My fifth node', + 'moderation_state' => 'published', + ]); + $node->save(); + $translation = $node->addTranslation('fr', $node->toArray()); + $translation->save(); + $node = Node::load($node->id()); + $this->assertCount(2, $node->getTranslationLanguages()); + $this->assertTrue($node->getTranslation('en')->isPublished()); + $this->assertTrue($node->getTranslation('fr')->isPublished()); + $this->drupalGet(Url::fromUserInput('/entity_clone/node/' . $node->id())); + $this->submitForm([], t('Clone')); + + $nodes = \Drupal::entityTypeManager() + ->getStorage('node') + ->loadByProperties([ + 'title' => 'My fifth node - Cloned', + ]); + $clone = reset($nodes); + $this->assertInstanceOf(Node::class, $clone, 'Test node cloned found in database.'); + $this->assertCount(2, $clone->getTranslationLanguages()); + $this->assertFalse($clone->getTranslation('en')->isPublished()); + $this->assertFalse($clone->getTranslation('fr')->isPublished()); + + } + +} diff --git a/frontend/drupal9/web/modules/contrib/entity_clone/tests/src/Functional/EntityCloneContentTest.php b/frontend/drupal9/web/modules/contrib/entity_clone/tests/src/Functional/EntityCloneContentTest.php index 384e95145..85770f6fe 100644 --- a/frontend/drupal9/web/modules/contrib/entity_clone/tests/src/Functional/EntityCloneContentTest.php +++ b/frontend/drupal9/web/modules/contrib/entity_clone/tests/src/Functional/EntityCloneContentTest.php @@ -2,6 +2,8 @@ namespace Drupal\Tests\entity_clone\Functional; +use Drupal\Core\Url; +use Drupal\language\Entity\ConfigurableLanguage; use Drupal\node\Entity\Node; use Drupal\Tests\field\Traits\EntityReferenceTestTrait; use Drupal\Tests\node\Functional\NodeTestBase; @@ -20,7 +22,7 @@ class EntityCloneContentTest extends NodeTestBase { * * @var array */ - public static $modules = ['entity_clone', 'block', 'node', 'datetime', 'taxonomy']; + public static $modules = ['entity_clone', 'block', 'node', 'datetime', 'taxonomy', 'content_translation', 'language']; /** * Theme to enable by default @@ -54,6 +56,9 @@ class EntityCloneContentTest extends NodeTestBase { $this->adminUser = $this->drupalCreateUser($this->permissions); $this->drupalLogin($this->adminUser); + + ConfigurableLanguage::createFromLangcode('fr')->save(); + \Drupal::service('content_translation.manager')->setEnabled('node', 'page', TRUE); } /** @@ -78,6 +83,9 @@ class EntityCloneContentTest extends NodeTestBase { $this->assertInstanceOf(Node::class, $node, 'Test node cloned found in database.'); } + /** + * Test content reference config entity. + */ public function testContentReferenceConfigEntity() { $this->createEntityReferenceField('node', 'page', 'config_field_reference', 'Config field reference', 'taxonomy_vocabulary'); @@ -93,4 +101,64 @@ class EntityCloneContentTest extends NodeTestBase { $this->assertSession()->elementNotExists('css', '#edit-recursive-nodepageconfig-field-reference'); } + /** + * Test the cloned entity's created and changed dates. + * + * For entities that support these kinds of dates, both are reset to the + * current time. + */ + public function testCreatedAndChangedDate() { + // Create the original node. + $original_node_creation_date = new \DateTimeImmutable('1 year 1 month 1 day ago'); + $translation_creation_date = new \DateTimeImmutable('1 month 1 day ago'); + $original_node = Node::create([ + 'type' => 'page', + 'title' => 'Test', + 'created' => $original_node_creation_date->getTimestamp(), + 'changed' => $original_node_creation_date->getTimestamp(), + ]); + $original_node->addTranslation('fr', $original_node->toArray()); + // The translation was created and updated later. + $translation = $original_node->getTranslation('fr'); + $translation->setCreatedTime($translation_creation_date->getTimestamp()); + $translation->setChangedTime($translation_creation_date->getTimestamp()); + $original_node->save(); + + $original_node = Node::load($original_node->id()); + $this->assertEquals($original_node_creation_date->getTimestamp(), $original_node->getCreatedTime()); + $this->assertEquals($original_node_creation_date->getTimestamp(), $original_node->getChangedTime()); + $this->assertEquals($translation_creation_date->getTimestamp(), $original_node->getTranslation('fr')->getCreatedTime()); + $this->assertEquals($translation_creation_date->getTimestamp(), $original_node->getTranslation('fr')->getChangedTime()); + + // Clone the node. + $this->drupalPostForm('entity_clone/node/' . $original_node->id(), [], t('Clone')); + + // Find the cloned node. + $nodes = \Drupal::entityTypeManager() + ->getStorage('node') + ->loadByProperties([ + 'title' => sprintf('%s - Cloned', $original_node->label()), + ]); + $this->assertGreaterThanOrEqual(1, count($nodes)); + /** @var \Drupal\node\NodeInterface $cloned_node */ + $cloned_node = reset($nodes); + + // Validate the cloned node's created time is more recent than the original + // node. + $this->assertNotEquals($original_node->getCreatedTime(), $cloned_node->getCreatedTime()); + $this->assertGreaterThanOrEqual($original_node->getCreatedTime(), $cloned_node->getCreatedTime()); + + // Assert the changed time is equal to the newly created time since we + // cannot have a changed date before it. + $this->assertEquals($cloned_node->getCreatedTime(), $cloned_node->getChangedTime()); + + // Validate the translation created and updated dates. + $this->assertTrue($cloned_node->hasTranslation('fr')); + $translation = $cloned_node->getTranslation('fr'); + // The created and updated times should be the same between the original + // and the translation as both should be reset. + $this->assertEquals($cloned_node->getCreatedTime(), $translation->getCreatedTime()); + $this->assertEquals($cloned_node->getChangedTime(), $translation->getChangedTime()); + } + } diff --git a/frontend/drupal9/web/modules/contrib/entity_clone/tests/src/Functional/EntityCloneEntityFormModeTest.php b/frontend/drupal9/web/modules/contrib/entity_clone/tests/src/Functional/EntityCloneEntityFormModeTest.php index a310ab0cc..2e3acaa46 100644 --- a/frontend/drupal9/web/modules/contrib/entity_clone/tests/src/Functional/EntityCloneEntityFormModeTest.php +++ b/frontend/drupal9/web/modules/contrib/entity_clone/tests/src/Functional/EntityCloneEntityFormModeTest.php @@ -17,7 +17,7 @@ class EntityCloneEntityFormModeTest extends BrowserTestBase { * * @var array */ - public static $modules = ['entity_clone']; + public static $modules = ['entity_clone', 'field_ui']; /** * Theme to enable by default @@ -32,6 +32,7 @@ class EntityCloneEntityFormModeTest extends BrowserTestBase { */ protected $permissions = [ 'clone entity_form_mode entity', + 'administer display modes', ]; /** diff --git a/frontend/drupal9/web/modules/contrib/entity_clone/tests/src/Functional/EntityCloneEntityViewModeTest.php b/frontend/drupal9/web/modules/contrib/entity_clone/tests/src/Functional/EntityCloneEntityViewModeTest.php index a06b4e702..1a7faf198 100644 --- a/frontend/drupal9/web/modules/contrib/entity_clone/tests/src/Functional/EntityCloneEntityViewModeTest.php +++ b/frontend/drupal9/web/modules/contrib/entity_clone/tests/src/Functional/EntityCloneEntityViewModeTest.php @@ -17,7 +17,7 @@ class EntityCloneEntityViewModeTest extends BrowserTestBase { * * @var array */ - public static $modules = ['entity_clone']; + public static $modules = ['entity_clone', 'field_ui']; /** * Theme to enable by default @@ -32,6 +32,7 @@ class EntityCloneEntityViewModeTest extends BrowserTestBase { */ protected $permissions = [ 'clone entity_view_mode entity', + 'administer display modes', ]; /** diff --git a/frontend/drupal9/web/modules/contrib/entity_clone/tests/src/Functional/EntityCloneParagraphTest.php b/frontend/drupal9/web/modules/contrib/entity_clone/tests/src/Functional/EntityCloneParagraphTest.php new file mode 100644 index 000000000..aa870cefe --- /dev/null +++ b/frontend/drupal9/web/modules/contrib/entity_clone/tests/src/Functional/EntityCloneParagraphTest.php @@ -0,0 +1,107 @@ +adminUser = $this->drupalCreateUser($this->permissions); + $this->drupalLogin($this->adminUser); + } + + /** + * Tests cloning of paragraph entities. + */ + public function testParagraphClone() { + // Use node title from paragraphs_demo_install(). + $node_title = 'Welcome to the Paragraphs Demo module!'; + $nodes = \Drupal::entityTypeManager() + ->getStorage('node') + ->loadByProperties([ + 'title' => $node_title, + ]); + $node = reset($nodes); + + // Clone all paragraphs except the shared library paragraph. + $clone_options = [ + 'recursive[node.paragraphed_content_demo.field_paragraphs_demo][references][1][clone]' => 1, + 'recursive[node.paragraphed_content_demo.field_paragraphs_demo][references][2][clone]' => 1, + 'recursive[node.paragraphed_content_demo.field_paragraphs_demo][references][3][clone]' => 1, + 'recursive[node.paragraphed_content_demo.field_paragraphs_demo][references][5][clone]' => 1, + 'recursive[node.paragraphed_content_demo.field_paragraphs_demo][references][5][children][recursive][paragraph.nested_paragraph.field_paragraphs_demo][references][4][clone]' => 1, + ]; + + $this->drupalPostForm('entity_clone/node/' . $node->id(), $clone_options, t('Clone')); + + $clones = \Drupal::entityTypeManager() + ->getStorage('node') + ->loadByProperties([ + 'title' => $node_title . ' - Cloned', + ]); + $clone = reset($clones); + + $original_paragraph = $node->get('field_paragraphs_demo') + ->first() + ->get('entity') + ->getTarget() + ->getValue(); + + $cloned_paragraph = $clone->get('field_paragraphs_demo') + ->first() + ->get('entity') + ->getTarget() + ->getValue(); + + $this->assertNotEqual($original_paragraph->getParentEntity()->id(), $cloned_paragraph->getParentEntity()->id()); + } + +} diff --git a/frontend/drupal9/web/modules/contrib/entity_clone/tests/src/Functional/EntityCloneShortcutSetTest.php b/frontend/drupal9/web/modules/contrib/entity_clone/tests/src/Functional/EntityCloneShortcutSetTest.php index 017d2673c..be26497cf 100644 --- a/frontend/drupal9/web/modules/contrib/entity_clone/tests/src/Functional/EntityCloneShortcutSetTest.php +++ b/frontend/drupal9/web/modules/contrib/entity_clone/tests/src/Functional/EntityCloneShortcutSetTest.php @@ -32,6 +32,7 @@ class EntityCloneShortcutSetTest extends BrowserTestBase { */ protected $permissions = [ 'clone shortcut_set entity', + 'administer shortcuts', ]; /** diff --git a/frontend/drupal9/web/modules/contrib/entity_clone/tests/src/Functional/EntityCloneUserTest.php b/frontend/drupal9/web/modules/contrib/entity_clone/tests/src/Functional/EntityCloneUserTest.php index 330ff04a0..08fa2df0a 100644 --- a/frontend/drupal9/web/modules/contrib/entity_clone/tests/src/Functional/EntityCloneUserTest.php +++ b/frontend/drupal9/web/modules/contrib/entity_clone/tests/src/Functional/EntityCloneUserTest.php @@ -32,6 +32,7 @@ class EntityCloneUserTest extends BrowserTestBase { */ protected $permissions = [ 'clone user entity', + 'administer users', ]; /** diff --git a/frontend/drupal9/web/modules/contrib/entity_clone/tests/src/Functional/EntityCloneViewTest.php b/frontend/drupal9/web/modules/contrib/entity_clone/tests/src/Functional/EntityCloneViewTest.php index be26c1bae..a2efac0fc 100644 --- a/frontend/drupal9/web/modules/contrib/entity_clone/tests/src/Functional/EntityCloneViewTest.php +++ b/frontend/drupal9/web/modules/contrib/entity_clone/tests/src/Functional/EntityCloneViewTest.php @@ -17,7 +17,7 @@ class EntityCloneViewTest extends BrowserTestBase { * * @var array */ - public static $modules = ['entity_clone', 'views']; + public static $modules = ['entity_clone', 'views', 'views_ui']; /** * Theme to enable by default @@ -32,6 +32,7 @@ class EntityCloneViewTest extends BrowserTestBase { */ protected $permissions = [ 'clone view entity', + 'administer views', ]; /** diff --git a/frontend/drupal9/web/modules/contrib/entity_clone/tests/src/Kernel/EntityCloneAccessTest.php b/frontend/drupal9/web/modules/contrib/entity_clone/tests/src/Kernel/EntityCloneAccessTest.php new file mode 100644 index 000000000..7e626c471 --- /dev/null +++ b/frontend/drupal9/web/modules/contrib/entity_clone/tests/src/Kernel/EntityCloneAccessTest.php @@ -0,0 +1,102 @@ +installEntitySchema('node'); + $this->installEntitySchema('user'); + $this->installSchema('system', ['sequences']); + $this->installSchema('node', ['node_access']); + + $this->installConfig([ + 'node', + 'user', + 'system', + 'entity_clone', + ]); + + // Call the user module install process that creates the anonymous user + // and user 1. + $this->container->get('module_handler')->loadInclude('user', 'install'); + user_install(); + + $node_type = NodeType::create([ + 'type' => 'page', + 'id' => 'page', + ]); + $node_type->save(); + } + + /** + * Tests that users need to have the correct permissions to clone an entity. + */ + public function testCloneAccess() { + $node = Node::create([ + 'type' => 'page', + 'title' => 'My node to clone', + 'status' => TRUE, + ]); + + $node->save(); + + $user_no_permissions = $this->createUser(['access content']); + $user_that_can_create = $this->createUser(['access content', 'create page content']); + $user_that_can_clone = $this->createUser(['access content', 'clone node entity']); + $user_that_can_do_both = $this->createUser(['access content', 'clone node entity', 'create page content']); + + $url = $node->toUrl('clone-form'); + + $access_control_handler = $this->container->get('entity_type.manager')->getAccessControlHandler('node'); + + // The user without permissions can view the content but cannot clone. + $this->assertTrue($access_control_handler->access($node, 'view', $user_no_permissions)); + $this->assertFalse($access_control_handler->access($node, 'clone', $user_no_permissions)); + $this->assertFalse($url->access($user_no_permissions)); + + // The user that can create content, cannot clone. + $this->assertTrue($access_control_handler->createAccess('page', $user_that_can_create)); + $this->assertFalse($access_control_handler->access($node, 'clone', $user_that_can_create)); + $this->assertFalse($url->access($user_that_can_create)); + + // The user that has clone permissions, but cannot create content, cannot + // clone. + $this->assertFalse($access_control_handler->createAccess('page', $user_that_can_clone)); + $this->assertFalse($access_control_handler->access($node, 'clone', $user_that_can_clone)); + $this->assertFalse($url->access($user_that_can_clone)); + + // The user that can do both, can clone. + $this->assertTrue($access_control_handler->createAccess('page', $user_that_can_do_both)); + $this->assertTrue($access_control_handler->access($node, 'clone', $user_that_can_do_both)); + $this->assertTrue($url->access($user_that_can_do_both)); + } +} diff --git a/frontend/drupal9/web/modules/contrib/eu_cookie_compliance/.gitignore b/frontend/drupal9/web/modules/contrib/eu_cookie_compliance/.gitignore new file mode 100644 index 000000000..3c3629e64 --- /dev/null +++ b/frontend/drupal9/web/modules/contrib/eu_cookie_compliance/.gitignore @@ -0,0 +1 @@ +node_modules diff --git a/frontend/drupal9/web/modules/contrib/eu_cookie_compliance/.tugboat/config.yml b/frontend/drupal9/web/modules/contrib/eu_cookie_compliance/.tugboat/config.yml index fbb3f97b0..081f0bab3 100644 --- a/frontend/drupal9/web/modules/contrib/eu_cookie_compliance/.tugboat/config.yml +++ b/frontend/drupal9/web/modules/contrib/eu_cookie_compliance/.tugboat/config.yml @@ -1,6 +1,6 @@ services: php: - image: q0rban/tugboat-drupal:9.0 + image: q0rban/tugboat-drupal:9.3 default: true http: false depends: mysql @@ -21,7 +21,7 @@ services: composer config repositories.tugboat vcs $TUGBOAT_ROOT # Now we can require this module, specifing the branch name we created # above that uses the $TUGBOAT_REPO_ID environment variable. - composer require drupal/eu_cookie_compliance:dev-$TUGBOAT_REPO_ID + composer require drupal/coloris:1.0.x-dev drupal/eu_cookie_compliance:dev-$TUGBOAT_REPO_ID # Install Drupal on the site. vendor/bin/drush \ --yes \ diff --git a/frontend/drupal9/web/modules/contrib/eu_cookie_compliance/README.md b/frontend/drupal9/web/modules/contrib/eu_cookie_compliance/README.md index 019dd36c2..cd81a45ac 100644 --- a/frontend/drupal9/web/modules/contrib/eu_cookie_compliance/README.md +++ b/frontend/drupal9/web/modules/contrib/eu_cookie_compliance/README.md @@ -29,7 +29,7 @@ given his consent: Drupal.eu_cookie_compliance.hasAgreed() -Prevent "Consent by clicking" for some links +Prevent "Consent by clicking" on some links -------------------------------------------- The module offers a feature to accept consent by clicking. It may be @@ -49,28 +49,29 @@ INSTALLATION 1. Unzip the files to the "sites/all/modules" OR "modules" directory and enable the module. -2. If desired, give the 'administer EU Cookie Compliance banner' permissions that - allow users of certain roles access the administration page. You can do so on - the admin/people/permissions page. +2. If desired, give the 'administer EU Cookie Compliance banner' permissions + that allow users of certain roles access the administration page. You can + do so on the admin/people/permissions page. - - there is also a 'display eu cookie compliance banner' permission that helps + - there is also a 'display EU cookie compliance banner' permission that helps you show the banner to the roles you desire. 3. You may want to create a page that would explain how your site uses cookies. Alternatively, if you have a privacy policy, you can link the banner to that page (see next step). -4. Go to the admin/config/system/eu-cookie-compliance/settings page to configure and - enable the banner. +4. Go to the admin/config/system/eu-cookie-compliance/settings page to + configure and enable the banner. 5. If you want to customize the banner background and text color, either type in the hex values or simply install - http://drupal.org/project/jquery_colorpicker. + http://drupal.org/project/coloris. 6. If you want to theme your banner, override the templates in your theme. 7. If you want to show the message in EU countries only, install the Smart IP - module: http://drupal.org/project/smart_ip or the GeoIP module: http://drupal.org/project/geoip and enable the option "Only + module: http://drupal.org/project/smart_ip or the GeoIP + module: http://drupal.org/project/geoip and enable the option "Only display banner in EU countries" on the admin page. There is a JavaScript based option available for sites that use Varnish (or other caching strategies). The JavaScript based variant also works for visitors that bypass @@ -99,40 +100,57 @@ Configurable Information WORKING WITH THE EVENTS ----------------------- -This module now exposes a JS API which other modules can use to hook into the events fired by this module. Eg. read the cookie preferences when they are saved or do something based on the user's response. For example the JS in the [EU Cookie Compliance GTM module](https://www.drupal.org/project/eu_cookie_compliance_gtm) uses the Events to do things with GTM. +This module now exposes a JS API which other modules can use to hook into the +events fired by this module. Eg. read the cookie preferences when they are saved +or do something based on the user's response. For example, the JS in the +[EU Cookie Compliance GTM module](https://www.drupal.org/project/eu_cookie_compliance_gtm) +uses the Events to do things with GTM. ### Inside the scripts #### Main file -Our main script (`eu_cookie_compliance.js`) loads via `defer`, which means it is executed while parsing the page + just a few moments BEFORE the DOMContentLoaded event gets fired. -When that happens, a namespace is created within the Drupal object, which will house our Events. -Inside this namespace, a queue houses instances when the Events hooks are called, ready to be executed. +Our main script (`eu_cookie_compliance.js`) loads via `defer`, which means it +is executed while parsing the page + just a few moments BEFORE the +DOMContentLoaded event gets fired. +When that happens, a namespace is created within the Drupal object, which will +house our Events. +Inside this namespace, a queue houses instances when the Events hooks are +called, ready to be executed. ``` Drupal.eu_cookie_compliance = Drupal.eu_cookie_compliance || function () { - (Drupal.eu_cookie_compliance.queue = Drupal.eu_cookie_compliance.queue || []).push(arguments) + (Drupal.eu_cookie_compliance.queue = Drupal.eu_cookie_compliance.queue || []) + .push(arguments) }; ``` -This ensures that a script from another module (which either should not use `defer`, or should be placed AFTER the main script in the HTML) will be able to access the Events from the main script and perform actions. -_Note: This is very similar to how GA and GTM work with their events and methods._ -Besides a queue, there are special functions set up called 'Observers', which are used to observe and execute the functions for each Event. +This ensures that a script from another module (which either should not use +`defer`, or should be placed AFTER the main script in the HTML) will be able +to access the Events from the main script and perform actions. +_Note: This is very similar to how GA and GTM work with their events and +methods._ Besides a queue, there are special functions set up called +'Observers', which are used to observe and execute the functions for each Event. **Events: (Event name on the left)** Status is retrieved (internal use): -- PreStatusLoad: Executed BEFORE cookie acceptance status is loaded -- PostStatusLoad: Executed AFTER cookie acceptance status is loaded +- preStatusLoad: Executed BEFORE cookie acceptance status is loaded +- postStatusLoad: Executed AFTER cookie acceptance status is loaded - preStatusSave: Executed BEFORE cookie acceptance status is saved - postStatusSave Executed AFTER cookie acceptance status is saved Cookie is accepted by the user (public use): -- prePreferencesSave: Executed BEFORE the cookie acceptance preferences are saved (to a cookie). -- postPreferencesSave: Executed AFTER the cookie acceptance preferences are saved (to a cookie). -- prePreferencesLoad: Executed BEFORE the cookie acceptance preferences are loaded (from a cookie) -- postPreferencesLoad: Executed AFTER the cookie acceptance preferences are loaded (from a cookie) +- prePreferencesSave: Executed BEFORE the cookie acceptance preferences + are saved (to a cookie). +- postPreferencesSave: Executed AFTER the cookie acceptance preferences + are saved (to a cookie). +- prePreferencesLoad: Executed BEFORE the cookie acceptance preferences + are loaded (from a cookie) +- postPreferencesLoad: Executed AFTER the cookie acceptance preferences + are loaded (from a cookie) #### Secondary file **How to hook into the events:** Use this method in your JS, where `MY_EVENT` should be replaced by one of the Events mentioned above and `MY_HANDLER` is a function that reads the data provided by the Method `Drupal.eu_cookie_compliance(MY_EVENT, MY_HANDLER);` -Example: reading the cookie preferences after submission + save it somewhere else for later use +Example: reading the cookie preferences after submission + save it +somewhere else for later use ``` var postPreferencesLoadHandler = function(response) { console.log(response); @@ -145,8 +163,9 @@ The `response` variable is an object with the following structure: ``` { - currentStatus: null (not yet agreed/withdrawn), 0 (declined), 1 (accepted, show thank you banner) or 2 (accepted), - currentCategories: array of accepted categories (will be empty when not using category based compliance) + currentStatus: null (not yet agreed/withdrawn), 0 (declined), 1 (accepted, + show thank you banner) or 2 (accepted), currentCategories: array of accepted + categories (will be empty when not using category based compliance) } ``` diff --git a/frontend/drupal9/web/modules/contrib/eu_cookie_compliance/composer.json b/frontend/drupal9/web/modules/contrib/eu_cookie_compliance/composer.json index 74d63a693..dbb3e2cae 100644 --- a/frontend/drupal9/web/modules/contrib/eu_cookie_compliance/composer.json +++ b/frontend/drupal9/web/modules/contrib/eu_cookie_compliance/composer.json @@ -1,7 +1,7 @@ { "name": "drupal/eu_cookie_compliance", "require": { - "drupal/core": "^8.9 || ^9" + "drupal/core": "^8.9 || ^9 || ^10" }, "description": "This module aims at making the website compliant with the new EU cookie regulation.", "type": "drupal-module", diff --git a/frontend/drupal9/web/modules/contrib/eu_cookie_compliance/config/install/eu_cookie_compliance.settings.yml b/frontend/drupal9/web/modules/contrib/eu_cookie_compliance/config/install/eu_cookie_compliance.settings.yml index 987e48f0a..7dec80981 100644 --- a/frontend/drupal9/web/modules/contrib/eu_cookie_compliance/config/install/eu_cookie_compliance.settings.yml +++ b/frontend/drupal9/web/modules/contrib/eu_cookie_compliance/config/install/eu_cookie_compliance.settings.yml @@ -4,42 +4,44 @@ containing_element: 'body' domain: '' domains_option: 1 domains_list: '' +eu_countries: { } eu_only: false eu_only_js: false exclude_paths: "/admin\n/admin/*\n/batch\n/node/add*\n/node/*/*\n/user/*/*" exclude_admin_theme: false langcode: en popup_agreed: - value: '

      Thank you for accepting cookies

      You can now hide this message or find out more about cookies.

      ' + value: '' format: 'restricted_html' -popup_agree_button_message: 'Accept' +popup_agree_button_message: '' popup_agreed_enabled: false popup_bg_hex: '0779bf' popup_clicking_confirmation: true popup_scrolling_confirmation: false popup_delay: 1000 show_more_info: true -popup_more_info_button_message: 'More info' +popup_more_info_button_message: '' popup_enabled: true -popup_find_more_button_message: 'More info' +popup_find_more_button_message: '' popup_height: 0 popup_hide_agreed: false -popup_hide_button_message: 'Hide' +popup_hide_button_message: '' popup_info: - value: '

      We use cookies on this site to enhance your user experience

      By clicking the Accept button, you agree to us doing so.

      ' + value: '' format: 'restricted_html' mobile_popup_info: - value: '

      We use cookies on this site to enhance your user experience

      By tapping the Accept button, you agree to us doing so.

      ' + value: '' format: 'restricted_html' popup_info_template: 'new' mobile_breakpoint: 768 -popup_link: '' +popup_link: '' popup_link_new_window: true popup_position: false fixed_top_position: true popup_text_hex: 'ffffff' popup_width: '100%' use_bare_css: false +use_olivero_css: true disagree_do_not_show_popup: false reload_page: false cookie_name: '' @@ -47,20 +49,20 @@ exclude_uid_1: false better_support_for_screen_readers: false use_mobile_message: false method: 'opt_in' -disagree_button_label: 'No, thanks' +disagree_button_label: '' disabled_javascripts: '' automatic_cookies_removal: true allowed_cookies: '' consent_storage_method: 'do_not_store' withdraw_message: - value: '

      We use cookies on this site to enhance your user experience

      You have given your consent for us to set cookies.

      ' + value: '' format: 'restricted_html' -withdraw_action_button_label: 'Withdraw consent' -withdraw_tab_button_label: 'Privacy settings' +withdraw_action_button_label: '' +withdraw_tab_button_label: '' withdraw_enabled: false enable_save_preferences_button: true -save_preferences_button_label: 'Save preferences' -accept_all_categories_button_label: 'Accept all cookies' +save_preferences_button_label: '' +accept_all_categories_button_label: '' withdraw_button_on_info_popup: false domain_all_sites: false settings_tab_enabled: false @@ -71,3 +73,7 @@ cookie_value_disagreed: '0' cookie_value_agreed_show_thank_you: '1' cookie_value_agreed: '2' accessibility_focus: false +close_button_action: 'close_banner' +reject_button_label: '' +reject_button_enabled: false +close_button_enabled: false diff --git a/frontend/drupal9/web/modules/contrib/eu_cookie_compliance/config/schema/eu_cookie_compliance.schema.yml b/frontend/drupal9/web/modules/contrib/eu_cookie_compliance/config/schema/eu_cookie_compliance.schema.yml index a781d9491..cda38c385 100644 --- a/frontend/drupal9/web/modules/contrib/eu_cookie_compliance/config/schema/eu_cookie_compliance.schema.yml +++ b/frontend/drupal9/web/modules/contrib/eu_cookie_compliance/config/schema/eu_cookie_compliance.schema.yml @@ -16,6 +16,12 @@ eu_cookie_compliance.settings: popup_scrolling_confirmation: type: boolean label: 'Consent by scrolling' + eu_countries: + type: sequence + label: 'Array of EU countries' + sequence: + type: text + label: 'Country name.' eu_only: type: boolean label: 'Only display banner in EU countries.' @@ -29,25 +35,11 @@ eu_cookie_compliance.settings: type: boolean label: "If the banner is at the top, don't scroll the banner with the page." popup_info: - type: mapping + type: text_format label: 'Cookie information banner message' - mapping: - value: - type: text - label: 'Cookie information banner message - Value' - format: - type: string - label: 'Cookie information banner message - Format' mobile_popup_info: - type: mapping + type: text_format label: 'Cookie information banner message - mobile' - mapping: - value: - type: text - label: 'Cookie information banner message - mobile - Value' - format: - type: string - label: 'Cookie information banner message - mobile - Format' popup_info_template: type: string label: 'Template to use for "consent by default" method' @@ -70,15 +62,8 @@ eu_cookie_compliance.settings: type: label label: 'Disagree button label' popup_agreed: - type: mapping + type: text_format label: 'Thank you banner message' - mapping: - value: - type: text - label: 'Thank you banner message - Value' - format: - type: string - label: 'Thank you banner message - Format' popup_find_more_button_message: type: label label: 'More info button label' @@ -139,6 +124,9 @@ eu_cookie_compliance.settings: use_bare_css: type: boolean label: 'Include minimal CSS, I want to style the overlay in the theme CSS' + use_olivero_css: + type: boolean + label: 'Include styles to support Drupal Olivero theme default CSS.' disagree_do_not_show_popup: type: boolean label: 'Do not show cookie policy when the user clicks the "Cookie Policy" button.' @@ -176,15 +164,8 @@ eu_cookie_compliance.settings: type: string label: 'Consent storage method' withdraw_message: - type: mapping + type: text_format label: 'Withdraw consent banner message' - mapping: - value: - type: text - label: 'Withdraw consent banner message - Value' - format: - type: string - label: 'Withdraw consent banner message - Format' withdraw_tab_button_label: type: label label: 'Privacy settings tab label' @@ -237,7 +218,7 @@ eu_cookie_compliance.settings: type: string label: 'Whitelisted cookies (DEPRECATED)' cookie_categories: - type: sting + type: string label: 'Cookie categories (DEPRECATED)' fix_first_cookie_category: type: boolean @@ -248,3 +229,15 @@ eu_cookie_compliance.settings: accessibility_focus: type: boolean label: 'Buttons have red focus outline (for accessibility)' + close_button_action: + type: string + label: 'Close button action' + reject_button_label: + type: string + label: 'Reject button label' + reject_button_enabled: + type: boolean + label: 'Enable "Reject/deny all" button' + close_button_enabled: + type: boolean + label: 'Close button/box enabled' diff --git a/frontend/drupal9/web/modules/contrib/eu_cookie_compliance/css/eu_cookie_compliance.css b/frontend/drupal9/web/modules/contrib/eu_cookie_compliance/css/eu_cookie_compliance.css index 2a704e66a..acdb2c882 100644 --- a/frontend/drupal9/web/modules/contrib/eu_cookie_compliance/css/eu_cookie_compliance.css +++ b/frontend/drupal9/web/modules/contrib/eu_cookie_compliance/css/eu_cookie_compliance.css @@ -26,6 +26,7 @@ display: inline-block; text-align: left; width: 100%; + position: relative; } .eu-cookie-compliance-buttons { @@ -161,12 +162,20 @@ .eu-cookie-compliance-message h2, .eu-cookie-compliance-message h3, .eu-cookie-compliance-message p { - color: #fff; font-weight: bold; line-height: 1.4; margin: 0 0 5px 0; } +.eu-cookie-compliance-message h1, +.eu-cookie-compliance-message h2, +.eu-cookie-compliance-message h3, +.eu-cookie-compliance-message p, +.eu-cookie-compliance-message button, +.eu-cookie-compliance-category label { + color: #fff; +} + .eu-cookie-compliance-message h1 { font-size: 24px; } @@ -215,6 +224,22 @@ transform: translate(-50%, -100%) scaleY(-1); } +.eu-cookie-compliance-close-button { + background: url('../images/close.png'); + width: 24px; + height: 24px; + border-width: 0; + font-size: 0px; + position: absolute; + right: 2px; + top: -12px; + cursor: pointer; +} + +body:not(.eu-cookie-compliance-popup-open) .eu-cookie-compliance-close-button { + display: none; +} + @media screen and (max-width: 600px) { .eu-cookie-compliance-content { max-width: 95%; diff --git a/frontend/drupal9/web/modules/contrib/eu_cookie_compliance/css/eu_cookie_compliance_olivero.css b/frontend/drupal9/web/modules/contrib/eu_cookie_compliance/css/eu_cookie_compliance_olivero.css new file mode 100644 index 000000000..e95bc9152 --- /dev/null +++ b/frontend/drupal9/web/modules/contrib/eu_cookie_compliance/css/eu_cookie_compliance_olivero.css @@ -0,0 +1,260 @@ +/* + * @file + * Styles meant to extend the Drupal Olivero theme's look and + * feel into the EU Cookie Compliance module. + */ + +/* Override CSS from injected