From b28b9f520b0e71a1836fd1e7aecf329bafaa9cf2 Mon Sep 17 00:00:00 2001 From: Wayne Date: Wed, 7 Feb 2024 17:25:04 +0800 Subject: [PATCH] bug fix #4 --- README.md | 2 + admin/ckeditor5/README.md | 2 +- admin/ckeditor5/build/ckeditor.d.ts | 3 +- admin/ckeditor5/build/ckeditor.js | 4 +- admin/ckeditor5/build/translations/ar.js | 2 +- admin/ckeditor5/build/translations/az.js | 2 +- admin/ckeditor5/build/translations/bg.js | 2 +- admin/ckeditor5/build/translations/bn.js | 2 +- admin/ckeditor5/build/translations/bs.js | 2 +- admin/ckeditor5/build/translations/ca.js | 2 +- admin/ckeditor5/build/translations/cs.js | 2 +- admin/ckeditor5/build/translations/da.js | 2 +- admin/ckeditor5/build/translations/de-ch.js | 2 +- admin/ckeditor5/build/translations/de.js | 2 +- admin/ckeditor5/build/translations/el.js | 2 +- admin/ckeditor5/build/translations/en-au.js | 2 +- admin/ckeditor5/build/translations/en-gb.js | 2 +- admin/ckeditor5/build/translations/en.js | 2 +- admin/ckeditor5/build/translations/es.js | 2 +- admin/ckeditor5/build/translations/et.js | 2 +- admin/ckeditor5/build/translations/fa.js | 2 +- admin/ckeditor5/build/translations/fi.js | 2 +- admin/ckeditor5/build/translations/fr.js | 2 +- admin/ckeditor5/build/translations/gl.js | 2 +- admin/ckeditor5/build/translations/he.js | 2 +- admin/ckeditor5/build/translations/hi.js | 2 +- admin/ckeditor5/build/translations/hr.js | 2 +- admin/ckeditor5/build/translations/hu.js | 2 +- admin/ckeditor5/build/translations/id.js | 2 +- admin/ckeditor5/build/translations/it.js | 2 +- admin/ckeditor5/build/translations/ja.js | 2 +- admin/ckeditor5/build/translations/jv.js | 2 +- admin/ckeditor5/build/translations/ko.js | 2 +- admin/ckeditor5/build/translations/ku.js | 2 +- admin/ckeditor5/build/translations/lt.js | 2 +- admin/ckeditor5/build/translations/lv.js | 2 +- admin/ckeditor5/build/translations/ms.js | 2 +- admin/ckeditor5/build/translations/nb.js | 2 +- admin/ckeditor5/build/translations/ne.js | 2 +- admin/ckeditor5/build/translations/nl.js | 2 +- admin/ckeditor5/build/translations/no.js | 2 +- admin/ckeditor5/build/translations/pl.js | 2 +- admin/ckeditor5/build/translations/pt-br.js | 2 +- admin/ckeditor5/build/translations/pt.js | 2 +- admin/ckeditor5/build/translations/ro.js | 2 +- admin/ckeditor5/build/translations/ru.js | 2 +- admin/ckeditor5/build/translations/sk.js | 2 +- admin/ckeditor5/build/translations/sl.js | 2 +- admin/ckeditor5/build/translations/sq.js | 2 +- admin/ckeditor5/build/translations/sr-latn.js | 2 +- admin/ckeditor5/build/translations/sr.js | 2 +- admin/ckeditor5/build/translations/sv.js | 2 +- admin/ckeditor5/build/translations/th.js | 2 +- admin/ckeditor5/build/translations/tk.js | 2 +- admin/ckeditor5/build/translations/tr.js | 2 +- admin/ckeditor5/build/translations/ug.js | 2 +- admin/ckeditor5/build/translations/uk.js | 2 +- admin/ckeditor5/build/translations/ur.js | 2 +- admin/ckeditor5/build/translations/uz.js | 2 +- admin/ckeditor5/build/translations/vi.js | 2 +- admin/ckeditor5/build/translations/zh-cn.js | 2 +- .../ckeditor5-41.0.0-rv3q54x35x49.zip | Bin 0 -> 568640 bytes admin/ckeditor5/package.json | 1 + admin/ckeditor5/sample/script.js | 2 +- admin/ckeditor5/src/ckeditor.ts | 8 + admin/src/pages/About/company/Index.vue | 13 +- admin/src/pages/About/concept/Index.vue | 2 +- admin/src/pages/News/activity/Index.vue | 2 +- .../pages/News/activity/components/Form.vue | 2 +- admin/src/pages/News/list/components/Form.vue | 2 +- admin/src/pages/News/list/form.vue | 2 +- admin/src/pages/Product/list/form.vue | 2 +- admin/src/pages/Site/config.vue | 2 +- admin/yarn.lock | 8 + .../controller/ActivityController.php | 2 +- .../adminapi/controller/CateController.php | 2 +- .../adminapi/controller/IndexController.php | 2 +- .../adminapi/controller/ProductController.php | 2 +- .../controller/SupplierController.php | 2 +- app/app/common/GetData.php | 4 +- app/supervisord.pid | 1 + docker-compose-dev.yaml | 66 + nginx/Dockerfile | 10 + nginx/default.conf | 96 + .../html/admin/assets/AdminLayout-393d7c5f.js | 1 + .../html/admin/assets/AdminLayout-4e478ea8.js | 1 + .../admin/assets/AdminLayout-653d25c1.css | 1 + .../html/admin/assets/AdminLayout-71e67a96.js | 1 + .../html/admin/assets/AdminLayout-9fe2a888.js | 1 + .../html/admin/assets/AdminLayout-a6bc21e3.js | 1 + .../html/admin/assets/AdminLayout-b821d4a5.js | 1 + nginx/html/admin/assets/Index-0369f673.js | 1 + nginx/html/admin/assets/Index-0973fa6e.js | 1 + nginx/html/admin/assets/Index-09e96453.css | 1 + nginx/html/admin/assets/Index-0e7820d2.js | 1 + nginx/html/admin/assets/Index-0ef8a3b3.css | 1 + nginx/html/admin/assets/Index-12b36bb0.js | 1 + nginx/html/admin/assets/Index-141c7c1e.js | 1 + nginx/html/admin/assets/Index-19f760b0.css | 1 + nginx/html/admin/assets/Index-1b25358b.js | 1 + nginx/html/admin/assets/Index-1db7077c.js | 1 + nginx/html/admin/assets/Index-22b6f29c.js | 1 + nginx/html/admin/assets/Index-23360e5d.js | 1 + nginx/html/admin/assets/Index-25b19677.js | 1 + nginx/html/admin/assets/Index-2a24222c.css | 1 + nginx/html/admin/assets/Index-2bf32272.js | 1 + nginx/html/admin/assets/Index-2db39b0a.css | 1 + nginx/html/admin/assets/Index-2f5aa4f9.js | 1 + nginx/html/admin/assets/Index-3582e09f.js | 1 + nginx/html/admin/assets/Index-3757811f.js | 1 + nginx/html/admin/assets/Index-37891871.js | 1 + nginx/html/admin/assets/Index-379db2d7.css | 1 + nginx/html/admin/assets/Index-3bb84651.js | 1 + nginx/html/admin/assets/Index-493fa7b2.css | 1 + nginx/html/admin/assets/Index-4ee9ac37.js | 1 + nginx/html/admin/assets/Index-52738233.js | 1 + nginx/html/admin/assets/Index-5af3024b.js | 1 + nginx/html/admin/assets/Index-662285c0.css | 1 + nginx/html/admin/assets/Index-669970b4.js | 1 + nginx/html/admin/assets/Index-6ce35338.js | 1 + nginx/html/admin/assets/Index-6e424820.js | 1 + nginx/html/admin/assets/Index-70096f9a.js | 1 + nginx/html/admin/assets/Index-72eb72d2.js | 1 + nginx/html/admin/assets/Index-735992df.js | 1 + nginx/html/admin/assets/Index-75cb62d8.js | 1 + nginx/html/admin/assets/Index-7a2ecf24.css | 1 + nginx/html/admin/assets/Index-7f645961.js | 1 + nginx/html/admin/assets/Index-841bd7f9.js | 1 + nginx/html/admin/assets/Index-8a444a45.js | 1 + nginx/html/admin/assets/Index-8cb947f0.js | 1 + nginx/html/admin/assets/Index-8dc9eda2.js | 1 + nginx/html/admin/assets/Index-92f5d47e.css | 1 + nginx/html/admin/assets/Index-9465c87d.js | 1 + nginx/html/admin/assets/Index-98131abe.js | 1 + nginx/html/admin/assets/Index-aefcace2.css | 1 + nginx/html/admin/assets/Index-b06adbe8.css | 1 + nginx/html/admin/assets/Index-b07e5d40.js | 1 + nginx/html/admin/assets/Index-b89aa744.js | 1 + nginx/html/admin/assets/Index-bb4a3f6b.js | 1 + nginx/html/admin/assets/Index-bead79bb.css | 1 + nginx/html/admin/assets/Index-c0e4039d.js | 1 + nginx/html/admin/assets/Index-c14b1ca9.js | 1 + nginx/html/admin/assets/Index-d4510b7a.js | 1 + nginx/html/admin/assets/Index-d64e2b27.js | 1 + nginx/html/admin/assets/Index-d951b4be.js | 1 + nginx/html/admin/assets/Index-de02c144.js | 1 + nginx/html/admin/assets/Index-debd6a46.js | 1 + nginx/html/admin/assets/Index-e91b796f.js | 1 + nginx/html/admin/assets/Index-ef5bde8a.css | 1 + nginx/html/admin/assets/Index-fbf9fa1b.js | 1 + nginx/html/admin/assets/Index-fedd8402.js | 1 + nginx/html/admin/assets/Index-ff11f4c5.js | 1 + nginx/html/admin/assets/Index-ffbfbf8e.js | 1 + .../html/admin/assets/_baseClone-0431f2ee.js | 1 + .../html/admin/assets/_baseClone-07904f92.js | 1 + .../html/admin/assets/_baseClone-49d9099a.js | 1 + .../html/admin/assets/_baseClone-732ede82.js | 1 + .../html/admin/assets/_baseClone-a5946d7f.js | 1 + .../html/admin/assets/_baseClone-bf299fb6.js | 1 + .../_plugin-vue_export-helper-c27b6911.js | 1 + nginx/html/admin/assets/adminuser-3b555dd5.js | 1 + nginx/html/admin/assets/adminuser-652b8d41.js | 1 + nginx/html/admin/assets/adminuser-95ba1884.js | 1 + nginx/html/admin/assets/adminuser-ccf4a37c.js | 1 + nginx/html/admin/assets/adminuser-d1cc0206.js | 1 + nginx/html/admin/assets/adminuser-dc778ae5.js | 1 + nginx/html/admin/assets/aria-60e0cdc6.js | 1 + nginx/html/admin/assets/article-28c8ad47.js | 1 + nginx/html/admin/assets/article-2a36286c.js | 1 + nginx/html/admin/assets/article-42f61703.js | 1 + nginx/html/admin/assets/article-811f6990.js | 1 + nginx/html/admin/assets/article-8e1d926f.js | 1 + nginx/html/admin/assets/article-e7327317.js | 1 + nginx/html/admin/assets/castArray-283666ff.js | 1 + nginx/html/admin/assets/castArray-3bec7949.js | 1 + nginx/html/admin/assets/castArray-3c50f72c.js | 1 + nginx/html/admin/assets/castArray-59d69fd8.js | 1 + nginx/html/admin/assets/castArray-80791487.js | 1 + nginx/html/admin/assets/castArray-8eb82dce.js | 1 + nginx/html/admin/assets/category-05efb681.js | 1 + nginx/html/admin/assets/category-22eeb612.js | 1 + nginx/html/admin/assets/category-58bb6f3c.js | 1 + nginx/html/admin/assets/category-62de9d5c.js | 1 + nginx/html/admin/assets/category-7a45a2c5.js | 1 + nginx/html/admin/assets/category-c7be7113.js | 1 + nginx/html/admin/assets/ckeditor-140c1ad2.js | 7438 ++++++++++++++++ nginx/html/admin/assets/ckeditor-5a4d90f5.js | 7464 ++++++++++++++++ nginx/html/admin/assets/ckeditor-8ca0487d.js | 7438 ++++++++++++++++ nginx/html/admin/assets/ckeditor-a16a5aab.js | 7438 ++++++++++++++++ nginx/html/admin/assets/ckeditor-b26c301c.js | 7540 +++++++++++++++++ nginx/html/admin/assets/ckeditor-c707ce29.js | 7540 +++++++++++++++++ nginx/html/admin/assets/cloneDeep-37a2db27.js | 1 + nginx/html/admin/assets/cloneDeep-3d78d7c6.js | 1 + nginx/html/admin/assets/cloneDeep-8bc5fe7b.js | 1 + nginx/html/admin/assets/cloneDeep-996df659.js | 1 + nginx/html/admin/assets/cloneDeep-d66026bf.js | 1 + nginx/html/admin/assets/cloneDeep-e81a5417.js | 1 + nginx/html/admin/assets/config-36acdc92.js | 1 + nginx/html/admin/assets/config-4b87e514.css | 1 + nginx/html/admin/assets/config-6792820f.js | 1 + nginx/html/admin/assets/config-d128258b.js | 1 + nginx/html/admin/assets/config-d9801207.js | 1 + nginx/html/admin/assets/config-e3e0244e.js | 1 + nginx/html/admin/assets/config-f24491c7.js | 1 + .../assets/el-breadcrumb-item-0c010d2b.js | 1 + .../assets/el-breadcrumb-item-0eb7853a.js | 1 + .../assets/el-breadcrumb-item-422ecc35.js | 1 + .../assets/el-breadcrumb-item-4a5b4005.js | 1 + .../assets/el-breadcrumb-item-762e8056.js | 1 + .../assets/el-breadcrumb-item-c5c42320.css | 1 + .../assets/el-breadcrumb-item-fc2f12a8.js | 1 + nginx/html/admin/assets/el-button-6b66070a.js | 1 + nginx/html/admin/assets/el-button-7b435908.js | 1 + .../html/admin/assets/el-button-b4242b8c.css | 1 + nginx/html/admin/assets/el-button-b67915d8.js | 1 + nginx/html/admin/assets/el-button-ca4abaee.js | 1 + nginx/html/admin/assets/el-button-dd91f3f6.js | 1 + nginx/html/admin/assets/el-button-e2db9d24.js | 1 + nginx/html/admin/assets/el-col-2390ecc2.js | 1 + nginx/html/admin/assets/el-col-27a57704.js | 1 + nginx/html/admin/assets/el-col-52040059.js | 1 + nginx/html/admin/assets/el-col-7a5ac5e7.js | 1 + nginx/html/admin/assets/el-col-d48be3e5.js | 1 + nginx/html/admin/assets/el-col-d9239890.js | 1 + nginx/html/admin/assets/el-col-e302774d.css | 1 + nginx/html/admin/assets/el-dialog-1ee3a857.js | 1 + nginx/html/admin/assets/el-dialog-3f9d9ba4.js | 1 + nginx/html/admin/assets/el-dialog-50d8753f.js | 1 + nginx/html/admin/assets/el-dialog-5eb47c40.js | 1 + nginx/html/admin/assets/el-dialog-775a0d0d.js | 1 + .../html/admin/assets/el-dialog-e409f358.css | 1 + nginx/html/admin/assets/el-dialog-e4a7f8ff.js | 1 + nginx/html/admin/assets/el-drawer-1235fb1f.js | 1 + nginx/html/admin/assets/el-drawer-1ab47bb4.js | 1 + nginx/html/admin/assets/el-drawer-41ea71b6.js | 1 + nginx/html/admin/assets/el-drawer-70a11b9f.js | 1 + nginx/html/admin/assets/el-drawer-d9790fe0.js | 1 + .../html/admin/assets/el-drawer-f97e7830.css | 1 + nginx/html/admin/assets/el-drawer-ff04497f.js | 1 + .../admin/assets/el-dropdown-item-1df26bce.js | 1 + .../admin/assets/el-dropdown-item-56611d31.js | 1 + .../admin/assets/el-dropdown-item-9b77b9ae.js | 1 + .../admin/assets/el-dropdown-item-9e1be9b9.js | 1 + .../admin/assets/el-dropdown-item-b9c7b677.js | 1 + .../admin/assets/el-dropdown-item-bbb7be2f.js | 1 + .../assets/el-dropdown-item-fcde02f4.css | 1 + .../admin/assets/el-form-item-0317a247.js | 12 + .../admin/assets/el-form-item-07a15cb5.js | 12 + .../admin/assets/el-form-item-563dc716.js | 12 + .../admin/assets/el-form-item-7f30e4ff.js | 12 + .../admin/assets/el-form-item-85aab49a.js | 12 + .../admin/assets/el-form-item-8920ca0c.js | 12 + .../admin/assets/el-form-item-b118bbed.css | 1 + nginx/html/admin/assets/el-icon-08628b36.js | 1 + nginx/html/admin/assets/el-icon-b1770749.css | 1 + .../admin/assets/el-image-viewer-0d923d79.js | 1 + .../admin/assets/el-image-viewer-3854b5c5.js | 1 + .../admin/assets/el-image-viewer-51a0e4c5.js | 1 + .../admin/assets/el-image-viewer-8dfbab81.js | 1 + .../admin/assets/el-image-viewer-a918f597.css | 1 + .../admin/assets/el-image-viewer-e3399f62.js | 1 + .../admin/assets/el-image-viewer-f695cd1a.js | 1 + nginx/html/admin/assets/el-input-5189b047.js | 9 + nginx/html/admin/assets/el-input-5a355fec.js | 9 + nginx/html/admin/assets/el-input-5fc6aaec.js | 9 + nginx/html/admin/assets/el-input-6cdd1bad.js | 9 + nginx/html/admin/assets/el-input-bec20aed.css | 1 + nginx/html/admin/assets/el-input-df8c5b16.js | 9 + nginx/html/admin/assets/el-input-e550db6e.js | 9 + .../html/admin/assets/el-loading-1db63270.js | 1 + .../html/admin/assets/el-loading-b7e2079f.js | 1 + .../html/admin/assets/el-loading-caf5d746.js | 1 + .../html/admin/assets/el-loading-d0f2d079.css | 1 + .../html/admin/assets/el-loading-e41f54ff.js | 1 + .../html/admin/assets/el-loading-e7fefb75.js | 1 + .../html/admin/assets/el-loading-ede28941.js | 1 + .../html/admin/assets/el-message-3c79da29.js | 1 + .../html/admin/assets/el-message-447d52b9.js | 1 + .../html/admin/assets/el-message-5778b677.js | 1 + .../html/admin/assets/el-message-5edaa45a.css | 1 + .../html/admin/assets/el-message-76e8eab1.js | 1 + .../html/admin/assets/el-message-a9712316.js | 1 + .../admin/assets/el-message-box-31f94f7f.js | 1 + .../admin/assets/el-message-box-64e390bd.css | 1 + .../admin/assets/el-message-box-9069766c.js | 1 + .../admin/assets/el-message-box-9fd7f437.js | 1 + .../admin/assets/el-message-box-b36f6f03.js | 1 + .../admin/assets/el-message-box-e23ec1aa.js | 1 + .../admin/assets/el-message-box-e43658fb.js | 1 + .../html/admin/assets/el-message-c3316f84.js | 1 + .../admin/assets/el-pagination-15a74695.js | 1 + .../admin/assets/el-pagination-36ba5b37.js | 1 + .../admin/assets/el-pagination-43d3c954.js | 1 + .../admin/assets/el-pagination-4e424f1b.js | 1 + .../admin/assets/el-pagination-74ccf145.js | 1 + .../admin/assets/el-pagination-755b55b7.js | 1 + .../admin/assets/el-pagination-e98a33df.css | 1 + .../html/admin/assets/el-progress-2aaabad5.js | 6 + .../html/admin/assets/el-progress-4ca8ef53.js | 6 + .../admin/assets/el-progress-6ac0fd3f.css | 1 + .../html/admin/assets/el-progress-6b890862.js | 6 + .../html/admin/assets/el-progress-c3e10056.js | 6 + .../html/admin/assets/el-progress-dc506117.js | 6 + .../html/admin/assets/el-progress-f539c088.js | 6 + .../admin/assets/el-scrollbar-4b72b7cb.js | 1 + .../admin/assets/el-scrollbar-56d71f90.js | 1 + .../admin/assets/el-scrollbar-5933f25d.js | 1 + .../admin/assets/el-scrollbar-5edfcb3f.js | 1 + .../admin/assets/el-scrollbar-654ee4cf.js | 1 + .../admin/assets/el-scrollbar-68edc4d7.js | 1 + .../admin/assets/el-scrollbar-b4c2872e.css | 1 + nginx/html/admin/assets/el-select-05f87a48.js | 1 + nginx/html/admin/assets/el-select-1d620125.js | 1 + nginx/html/admin/assets/el-select-60ee1037.js | 1 + nginx/html/admin/assets/el-select-a68074b1.js | 1 + nginx/html/admin/assets/el-select-e0ea5220.js | 1 + .../html/admin/assets/el-select-f614fdde.css | 1 + nginx/html/admin/assets/el-select-ffb55c7a.js | 1 + .../admin/assets/el-table-column-2087a7ad.js | 20 + .../admin/assets/el-table-column-32453fe2.js | 20 + .../admin/assets/el-table-column-381af1e5.js | 20 + .../admin/assets/el-table-column-448a0581.js | 20 + .../admin/assets/el-table-column-7db11110.js | 20 + .../admin/assets/el-table-column-8452963a.css | 1 + .../admin/assets/el-table-column-d43fc778.js | 20 + nginx/html/admin/assets/el-tag-249a9fc3.css | 1 + nginx/html/admin/assets/el-tag-290e5c91.js | 1 + nginx/html/admin/assets/el-tag-6a2dc6cc.js | 1 + nginx/html/admin/assets/el-tag-6bb7020c.js | 1 + nginx/html/admin/assets/el-tag-c9faf503.js | 1 + nginx/html/admin/assets/el-tag-cf212e80.js | 1 + nginx/html/admin/assets/el-tag-d3d38fd0.js | 1 + .../html/admin/assets/el-tooltip-4ed993c7.js | 1 + nginx/html/admin/assets/form-2e2b49a7.js | 1 + nginx/html/admin/assets/form-3a9fd593.js | 1 + nginx/html/admin/assets/form-47f6a2d5.js | 1 + nginx/html/admin/assets/form-4cd0dd9e.js | 1 + nginx/html/admin/assets/form-4e3d2e56.js | 1 + nginx/html/admin/assets/form-7aa36e84.css | 1 + nginx/html/admin/assets/form-7b982dfe.js | 1 + nginx/html/admin/assets/form-8508c315.js | 1 + nginx/html/admin/assets/form-9cd6868f.css | 1 + nginx/html/admin/assets/form-c360b965.js | 1 + nginx/html/admin/assets/form-c5dbacc6.js | 1 + nginx/html/admin/assets/form-c663d3d1.js | 1 + nginx/html/admin/assets/form-c9f60349.js | 1 + nginx/html/admin/assets/form-ce30f6e2.js | 1 + nginx/html/admin/assets/form-d5ae013e.css | 1 + nginx/html/admin/assets/form-d87c44b4.css | 1 + nginx/html/admin/assets/index-037638b5.js | 1 + nginx/html/admin/assets/index-0764c493.js | 1 + nginx/html/admin/assets/index-07bb2cc4.js | 1 + nginx/html/admin/assets/index-0bb359ff.js | 1 + nginx/html/admin/assets/index-0c7802fd.css | 1 + nginx/html/admin/assets/index-0fb1db77.js | 1 + nginx/html/admin/assets/index-11843334.js | 13 + nginx/html/admin/assets/index-16ea4351.css | 1 + nginx/html/admin/assets/index-1f167915.js | 1 + nginx/html/admin/assets/index-279f4594.js | 1 + nginx/html/admin/assets/index-28b465c2.js | 1 + nginx/html/admin/assets/index-325dd9c8.css | 1 + nginx/html/admin/assets/index-37be39c1.js | 1 + nginx/html/admin/assets/index-395af78d.js | 1 + nginx/html/admin/assets/index-39dd3889.js | 1 + nginx/html/admin/assets/index-3c02a481.js | 1 + nginx/html/admin/assets/index-3ef4d3eb.js | 13 + nginx/html/admin/assets/index-43b7d441.js | 1 + nginx/html/admin/assets/index-449eec28.js | 1 + nginx/html/admin/assets/index-47cedebd.js | 1 + nginx/html/admin/assets/index-4d4fdeb3.js | 1 + nginx/html/admin/assets/index-5216a804.css | 1 + nginx/html/admin/assets/index-57c679f5.css | 1 + nginx/html/admin/assets/index-58150f7d.js | 1 + nginx/html/admin/assets/index-5f2867d4.js | 1 + nginx/html/admin/assets/index-60cfc11b.js | 1 + nginx/html/admin/assets/index-721f8f3f.js | 1 + nginx/html/admin/assets/index-73e588f2.css | 1 + nginx/html/admin/assets/index-7782e0c2.js | 1 + nginx/html/admin/assets/index-7908607c.js | 1 + nginx/html/admin/assets/index-7ed2d026.js | 13 + nginx/html/admin/assets/index-804a1997.js | 1 + nginx/html/admin/assets/index-80e7fce7.js | 1 + nginx/html/admin/assets/index-81678c88.js | 1 + nginx/html/admin/assets/index-89a6c7c7.js | 1 + nginx/html/admin/assets/index-8ca69aa2.js | 1 + nginx/html/admin/assets/index-8f17b5a8.js | 1 + nginx/html/admin/assets/index-8f4d4c63.js | 1 + nginx/html/admin/assets/index-8f85e7d7.js | 1 + nginx/html/admin/assets/index-9c083051.js | 1 + nginx/html/admin/assets/index-a18521e5.js | 13 + nginx/html/admin/assets/index-a1c9151f.js | 1 + nginx/html/admin/assets/index-a4d0b5b6.js | 1 + nginx/html/admin/assets/index-b2bcea28.js | 13 + nginx/html/admin/assets/index-c591690e.js | 1 + nginx/html/admin/assets/index-cbad4ed6.js | 1 + nginx/html/admin/assets/index-d41e5c4c.css | 1 + nginx/html/admin/assets/index-d4f2f151.js | 1 + nginx/html/admin/assets/index-dc664f45.js | 1 + nginx/html/admin/assets/index-de3a95d3.js | 1 + nginx/html/admin/assets/index-e40c17d2.js | 1 + nginx/html/admin/assets/index-f32231a5.js | 1 + nginx/html/admin/assets/index-f4e3c169.js | 1 + nginx/html/admin/assets/index-fb3b55d2.js | 1 + nginx/html/admin/assets/index-fb87886b.js | 13 + nginx/html/admin/assets/index-fe7ed5b5.js | 1 + nginx/html/admin/assets/news-7afb0335.js | 1 + nginx/html/admin/assets/news-ae69995f.js | 1 + nginx/html/admin/assets/news-b0d85fbb.js | 1 + nginx/html/admin/assets/news-b27a662a.js | 1 + nginx/html/admin/assets/news-d0a250e1.js | 1 + nginx/html/admin/assets/news-ef01fd58.js | 1 + nginx/html/admin/assets/product-412b7793.js | 7 + nginx/html/admin/assets/product-51febd54.js | 7 + nginx/html/admin/assets/product-76c412a0.js | 7 + nginx/html/admin/assets/product-77a8e24c.js | 7 + nginx/html/admin/assets/product-9d2b3c7a.css | 1 + nginx/html/admin/assets/product-e782efa9.js | 7 + nginx/html/admin/assets/product-f5a3d530.js | 7 + nginx/html/admin/assets/request-26ab9dc6.js | 5 + nginx/html/admin/assets/request-60ae96d2.js | 5 + nginx/html/admin/assets/request-63584e50.js | 5 + nginx/html/admin/assets/request-79887494.js | 5 + nginx/html/admin/assets/request-88e5850c.js | 5 + nginx/html/admin/assets/request-a37452c7.js | 5 + nginx/html/admin/assets/strings-31e22773.js | 1 + nginx/html/admin/assets/strings-95c61f65.js | 1 + nginx/html/admin/assets/strings-991b21d4.js | 1 + nginx/html/admin/assets/strings-c810e853.js | 1 + nginx/html/admin/assets/strings-ce4815fd.js | 1 + nginx/html/admin/assets/strings-d2b52496.js | 1 + nginx/html/admin/assets/style-401f4ec6.js | 20 + nginx/html/admin/assets/style-6c2773cc.js | 20 + nginx/html/admin/assets/style-88a0cfcf.js | 20 + nginx/html/admin/assets/style-c38cf729.js | 20 + nginx/html/admin/assets/style-d6e2b45a.js | 20 + nginx/html/admin/assets/style-f6ce458e.js | 20 + nginx/html/admin/assets/style-fadd4b0e.css | 1 + .../html/admin/assets/use-dialog-15edcc44.js | 1 + .../html/admin/assets/use-dialog-3e44040d.js | 1 + .../html/admin/assets/use-dialog-40ef8000.js | 1 + .../html/admin/assets/use-dialog-7562524e.js | 1 + .../html/admin/assets/use-dialog-90edb7a0.js | 1 + .../html/admin/assets/use-dialog-bab1b29c.js | 1 + nginx/html/admin/favicon.ico | Bin 0 -> 743 bytes nginx/html/admin/index.html | 15 + nginx/html/admin/vite.svg | 1 + nginx/html/index.html | 7 + nginx/nginx.conf | 33 + prodio.sql | 112 +- web/assets/css/main.css | 21 +- web/composables/useMyFetch.js | 3 +- web/layouts/default.vue | 18 +- web/locales/cn.js | 1 + web/locales/en.js | 1 + web/locales/tw.js | 1 + web/nuxt.config.ts | 4 +- web/pages/social.vue | 5 +- web/pages/social/activity/index.vue | 6 +- web/pages/social/esg/detail/[id].vue | 31 + web/pages/social/esg/index.vue | 49 + 460 files changed, 46220 insertions(+), 161 deletions(-) create mode 100644 admin/ckeditor5/ckeditor5-41.0.0-rv3q54x35x49.zip create mode 100644 app/supervisord.pid create mode 100644 docker-compose-dev.yaml create mode 100644 nginx/Dockerfile create mode 100644 nginx/default.conf create mode 100644 nginx/html/admin/assets/AdminLayout-393d7c5f.js create mode 100644 nginx/html/admin/assets/AdminLayout-4e478ea8.js create mode 100644 nginx/html/admin/assets/AdminLayout-653d25c1.css create mode 100644 nginx/html/admin/assets/AdminLayout-71e67a96.js create mode 100644 nginx/html/admin/assets/AdminLayout-9fe2a888.js create mode 100644 nginx/html/admin/assets/AdminLayout-a6bc21e3.js create mode 100644 nginx/html/admin/assets/AdminLayout-b821d4a5.js create mode 100644 nginx/html/admin/assets/Index-0369f673.js create mode 100644 nginx/html/admin/assets/Index-0973fa6e.js create mode 100644 nginx/html/admin/assets/Index-09e96453.css create mode 100644 nginx/html/admin/assets/Index-0e7820d2.js create mode 100644 nginx/html/admin/assets/Index-0ef8a3b3.css create mode 100644 nginx/html/admin/assets/Index-12b36bb0.js create mode 100644 nginx/html/admin/assets/Index-141c7c1e.js create mode 100644 nginx/html/admin/assets/Index-19f760b0.css create mode 100644 nginx/html/admin/assets/Index-1b25358b.js create mode 100644 nginx/html/admin/assets/Index-1db7077c.js create mode 100644 nginx/html/admin/assets/Index-22b6f29c.js create mode 100644 nginx/html/admin/assets/Index-23360e5d.js create mode 100644 nginx/html/admin/assets/Index-25b19677.js create mode 100644 nginx/html/admin/assets/Index-2a24222c.css create mode 100644 nginx/html/admin/assets/Index-2bf32272.js create mode 100644 nginx/html/admin/assets/Index-2db39b0a.css create mode 100644 nginx/html/admin/assets/Index-2f5aa4f9.js create mode 100644 nginx/html/admin/assets/Index-3582e09f.js create mode 100644 nginx/html/admin/assets/Index-3757811f.js create mode 100644 nginx/html/admin/assets/Index-37891871.js create mode 100644 nginx/html/admin/assets/Index-379db2d7.css create mode 100644 nginx/html/admin/assets/Index-3bb84651.js create mode 100644 nginx/html/admin/assets/Index-493fa7b2.css create mode 100644 nginx/html/admin/assets/Index-4ee9ac37.js create mode 100644 nginx/html/admin/assets/Index-52738233.js create mode 100644 nginx/html/admin/assets/Index-5af3024b.js create mode 100644 nginx/html/admin/assets/Index-662285c0.css create mode 100644 nginx/html/admin/assets/Index-669970b4.js create mode 100644 nginx/html/admin/assets/Index-6ce35338.js create mode 100644 nginx/html/admin/assets/Index-6e424820.js create mode 100644 nginx/html/admin/assets/Index-70096f9a.js create mode 100644 nginx/html/admin/assets/Index-72eb72d2.js create mode 100644 nginx/html/admin/assets/Index-735992df.js create mode 100644 nginx/html/admin/assets/Index-75cb62d8.js create mode 100644 nginx/html/admin/assets/Index-7a2ecf24.css create mode 100644 nginx/html/admin/assets/Index-7f645961.js create mode 100644 nginx/html/admin/assets/Index-841bd7f9.js create mode 100644 nginx/html/admin/assets/Index-8a444a45.js create mode 100644 nginx/html/admin/assets/Index-8cb947f0.js create mode 100644 nginx/html/admin/assets/Index-8dc9eda2.js create mode 100644 nginx/html/admin/assets/Index-92f5d47e.css create mode 100644 nginx/html/admin/assets/Index-9465c87d.js create mode 100644 nginx/html/admin/assets/Index-98131abe.js create mode 100644 nginx/html/admin/assets/Index-aefcace2.css create mode 100644 nginx/html/admin/assets/Index-b06adbe8.css create mode 100644 nginx/html/admin/assets/Index-b07e5d40.js create mode 100644 nginx/html/admin/assets/Index-b89aa744.js create mode 100644 nginx/html/admin/assets/Index-bb4a3f6b.js create mode 100644 nginx/html/admin/assets/Index-bead79bb.css create mode 100644 nginx/html/admin/assets/Index-c0e4039d.js create mode 100644 nginx/html/admin/assets/Index-c14b1ca9.js create mode 100644 nginx/html/admin/assets/Index-d4510b7a.js create mode 100644 nginx/html/admin/assets/Index-d64e2b27.js create mode 100644 nginx/html/admin/assets/Index-d951b4be.js create mode 100644 nginx/html/admin/assets/Index-de02c144.js create mode 100644 nginx/html/admin/assets/Index-debd6a46.js create mode 100644 nginx/html/admin/assets/Index-e91b796f.js create mode 100644 nginx/html/admin/assets/Index-ef5bde8a.css create mode 100644 nginx/html/admin/assets/Index-fbf9fa1b.js create mode 100644 nginx/html/admin/assets/Index-fedd8402.js create mode 100644 nginx/html/admin/assets/Index-ff11f4c5.js create mode 100644 nginx/html/admin/assets/Index-ffbfbf8e.js create mode 100644 nginx/html/admin/assets/_baseClone-0431f2ee.js create mode 100644 nginx/html/admin/assets/_baseClone-07904f92.js create mode 100644 nginx/html/admin/assets/_baseClone-49d9099a.js create mode 100644 nginx/html/admin/assets/_baseClone-732ede82.js create mode 100644 nginx/html/admin/assets/_baseClone-a5946d7f.js create mode 100644 nginx/html/admin/assets/_baseClone-bf299fb6.js create mode 100644 nginx/html/admin/assets/_plugin-vue_export-helper-c27b6911.js create mode 100644 nginx/html/admin/assets/adminuser-3b555dd5.js create mode 100644 nginx/html/admin/assets/adminuser-652b8d41.js create mode 100644 nginx/html/admin/assets/adminuser-95ba1884.js create mode 100644 nginx/html/admin/assets/adminuser-ccf4a37c.js create mode 100644 nginx/html/admin/assets/adminuser-d1cc0206.js create mode 100644 nginx/html/admin/assets/adminuser-dc778ae5.js create mode 100644 nginx/html/admin/assets/aria-60e0cdc6.js create mode 100644 nginx/html/admin/assets/article-28c8ad47.js create mode 100644 nginx/html/admin/assets/article-2a36286c.js create mode 100644 nginx/html/admin/assets/article-42f61703.js create mode 100644 nginx/html/admin/assets/article-811f6990.js create mode 100644 nginx/html/admin/assets/article-8e1d926f.js create mode 100644 nginx/html/admin/assets/article-e7327317.js create mode 100644 nginx/html/admin/assets/castArray-283666ff.js create mode 100644 nginx/html/admin/assets/castArray-3bec7949.js create mode 100644 nginx/html/admin/assets/castArray-3c50f72c.js create mode 100644 nginx/html/admin/assets/castArray-59d69fd8.js create mode 100644 nginx/html/admin/assets/castArray-80791487.js create mode 100644 nginx/html/admin/assets/castArray-8eb82dce.js create mode 100644 nginx/html/admin/assets/category-05efb681.js create mode 100644 nginx/html/admin/assets/category-22eeb612.js create mode 100644 nginx/html/admin/assets/category-58bb6f3c.js create mode 100644 nginx/html/admin/assets/category-62de9d5c.js create mode 100644 nginx/html/admin/assets/category-7a45a2c5.js create mode 100644 nginx/html/admin/assets/category-c7be7113.js create mode 100644 nginx/html/admin/assets/ckeditor-140c1ad2.js create mode 100644 nginx/html/admin/assets/ckeditor-5a4d90f5.js create mode 100644 nginx/html/admin/assets/ckeditor-8ca0487d.js create mode 100644 nginx/html/admin/assets/ckeditor-a16a5aab.js create mode 100644 nginx/html/admin/assets/ckeditor-b26c301c.js create mode 100644 nginx/html/admin/assets/ckeditor-c707ce29.js create mode 100644 nginx/html/admin/assets/cloneDeep-37a2db27.js create mode 100644 nginx/html/admin/assets/cloneDeep-3d78d7c6.js create mode 100644 nginx/html/admin/assets/cloneDeep-8bc5fe7b.js create mode 100644 nginx/html/admin/assets/cloneDeep-996df659.js create mode 100644 nginx/html/admin/assets/cloneDeep-d66026bf.js create mode 100644 nginx/html/admin/assets/cloneDeep-e81a5417.js create mode 100644 nginx/html/admin/assets/config-36acdc92.js create mode 100644 nginx/html/admin/assets/config-4b87e514.css create mode 100644 nginx/html/admin/assets/config-6792820f.js create mode 100644 nginx/html/admin/assets/config-d128258b.js create mode 100644 nginx/html/admin/assets/config-d9801207.js create mode 100644 nginx/html/admin/assets/config-e3e0244e.js create mode 100644 nginx/html/admin/assets/config-f24491c7.js create mode 100644 nginx/html/admin/assets/el-breadcrumb-item-0c010d2b.js create mode 100644 nginx/html/admin/assets/el-breadcrumb-item-0eb7853a.js create mode 100644 nginx/html/admin/assets/el-breadcrumb-item-422ecc35.js create mode 100644 nginx/html/admin/assets/el-breadcrumb-item-4a5b4005.js create mode 100644 nginx/html/admin/assets/el-breadcrumb-item-762e8056.js create mode 100644 nginx/html/admin/assets/el-breadcrumb-item-c5c42320.css create mode 100644 nginx/html/admin/assets/el-breadcrumb-item-fc2f12a8.js create mode 100644 nginx/html/admin/assets/el-button-6b66070a.js create mode 100644 nginx/html/admin/assets/el-button-7b435908.js create mode 100644 nginx/html/admin/assets/el-button-b4242b8c.css create mode 100644 nginx/html/admin/assets/el-button-b67915d8.js create mode 100644 nginx/html/admin/assets/el-button-ca4abaee.js create mode 100644 nginx/html/admin/assets/el-button-dd91f3f6.js create mode 100644 nginx/html/admin/assets/el-button-e2db9d24.js create mode 100644 nginx/html/admin/assets/el-col-2390ecc2.js create mode 100644 nginx/html/admin/assets/el-col-27a57704.js create mode 100644 nginx/html/admin/assets/el-col-52040059.js create mode 100644 nginx/html/admin/assets/el-col-7a5ac5e7.js create mode 100644 nginx/html/admin/assets/el-col-d48be3e5.js create mode 100644 nginx/html/admin/assets/el-col-d9239890.js create mode 100644 nginx/html/admin/assets/el-col-e302774d.css create mode 100644 nginx/html/admin/assets/el-dialog-1ee3a857.js create mode 100644 nginx/html/admin/assets/el-dialog-3f9d9ba4.js create mode 100644 nginx/html/admin/assets/el-dialog-50d8753f.js create mode 100644 nginx/html/admin/assets/el-dialog-5eb47c40.js create mode 100644 nginx/html/admin/assets/el-dialog-775a0d0d.js create mode 100644 nginx/html/admin/assets/el-dialog-e409f358.css create mode 100644 nginx/html/admin/assets/el-dialog-e4a7f8ff.js create mode 100644 nginx/html/admin/assets/el-drawer-1235fb1f.js create mode 100644 nginx/html/admin/assets/el-drawer-1ab47bb4.js create mode 100644 nginx/html/admin/assets/el-drawer-41ea71b6.js create mode 100644 nginx/html/admin/assets/el-drawer-70a11b9f.js create mode 100644 nginx/html/admin/assets/el-drawer-d9790fe0.js create mode 100644 nginx/html/admin/assets/el-drawer-f97e7830.css create mode 100644 nginx/html/admin/assets/el-drawer-ff04497f.js create mode 100644 nginx/html/admin/assets/el-dropdown-item-1df26bce.js create mode 100644 nginx/html/admin/assets/el-dropdown-item-56611d31.js create mode 100644 nginx/html/admin/assets/el-dropdown-item-9b77b9ae.js create mode 100644 nginx/html/admin/assets/el-dropdown-item-9e1be9b9.js create mode 100644 nginx/html/admin/assets/el-dropdown-item-b9c7b677.js create mode 100644 nginx/html/admin/assets/el-dropdown-item-bbb7be2f.js create mode 100644 nginx/html/admin/assets/el-dropdown-item-fcde02f4.css create mode 100644 nginx/html/admin/assets/el-form-item-0317a247.js create mode 100644 nginx/html/admin/assets/el-form-item-07a15cb5.js create mode 100644 nginx/html/admin/assets/el-form-item-563dc716.js create mode 100644 nginx/html/admin/assets/el-form-item-7f30e4ff.js create mode 100644 nginx/html/admin/assets/el-form-item-85aab49a.js create mode 100644 nginx/html/admin/assets/el-form-item-8920ca0c.js create mode 100644 nginx/html/admin/assets/el-form-item-b118bbed.css create mode 100644 nginx/html/admin/assets/el-icon-08628b36.js create mode 100644 nginx/html/admin/assets/el-icon-b1770749.css create mode 100644 nginx/html/admin/assets/el-image-viewer-0d923d79.js create mode 100644 nginx/html/admin/assets/el-image-viewer-3854b5c5.js create mode 100644 nginx/html/admin/assets/el-image-viewer-51a0e4c5.js create mode 100644 nginx/html/admin/assets/el-image-viewer-8dfbab81.js create mode 100644 nginx/html/admin/assets/el-image-viewer-a918f597.css create mode 100644 nginx/html/admin/assets/el-image-viewer-e3399f62.js create mode 100644 nginx/html/admin/assets/el-image-viewer-f695cd1a.js create mode 100644 nginx/html/admin/assets/el-input-5189b047.js create mode 100644 nginx/html/admin/assets/el-input-5a355fec.js create mode 100644 nginx/html/admin/assets/el-input-5fc6aaec.js create mode 100644 nginx/html/admin/assets/el-input-6cdd1bad.js create mode 100644 nginx/html/admin/assets/el-input-bec20aed.css create mode 100644 nginx/html/admin/assets/el-input-df8c5b16.js create mode 100644 nginx/html/admin/assets/el-input-e550db6e.js create mode 100644 nginx/html/admin/assets/el-loading-1db63270.js create mode 100644 nginx/html/admin/assets/el-loading-b7e2079f.js create mode 100644 nginx/html/admin/assets/el-loading-caf5d746.js create mode 100644 nginx/html/admin/assets/el-loading-d0f2d079.css create mode 100644 nginx/html/admin/assets/el-loading-e41f54ff.js create mode 100644 nginx/html/admin/assets/el-loading-e7fefb75.js create mode 100644 nginx/html/admin/assets/el-loading-ede28941.js create mode 100644 nginx/html/admin/assets/el-message-3c79da29.js create mode 100644 nginx/html/admin/assets/el-message-447d52b9.js create mode 100644 nginx/html/admin/assets/el-message-5778b677.js create mode 100644 nginx/html/admin/assets/el-message-5edaa45a.css create mode 100644 nginx/html/admin/assets/el-message-76e8eab1.js create mode 100644 nginx/html/admin/assets/el-message-a9712316.js create mode 100644 nginx/html/admin/assets/el-message-box-31f94f7f.js create mode 100644 nginx/html/admin/assets/el-message-box-64e390bd.css create mode 100644 nginx/html/admin/assets/el-message-box-9069766c.js create mode 100644 nginx/html/admin/assets/el-message-box-9fd7f437.js create mode 100644 nginx/html/admin/assets/el-message-box-b36f6f03.js create mode 100644 nginx/html/admin/assets/el-message-box-e23ec1aa.js create mode 100644 nginx/html/admin/assets/el-message-box-e43658fb.js create mode 100644 nginx/html/admin/assets/el-message-c3316f84.js create mode 100644 nginx/html/admin/assets/el-pagination-15a74695.js create mode 100644 nginx/html/admin/assets/el-pagination-36ba5b37.js create mode 100644 nginx/html/admin/assets/el-pagination-43d3c954.js create mode 100644 nginx/html/admin/assets/el-pagination-4e424f1b.js create mode 100644 nginx/html/admin/assets/el-pagination-74ccf145.js create mode 100644 nginx/html/admin/assets/el-pagination-755b55b7.js create mode 100644 nginx/html/admin/assets/el-pagination-e98a33df.css create mode 100644 nginx/html/admin/assets/el-progress-2aaabad5.js create mode 100644 nginx/html/admin/assets/el-progress-4ca8ef53.js create mode 100644 nginx/html/admin/assets/el-progress-6ac0fd3f.css create mode 100644 nginx/html/admin/assets/el-progress-6b890862.js create mode 100644 nginx/html/admin/assets/el-progress-c3e10056.js create mode 100644 nginx/html/admin/assets/el-progress-dc506117.js create mode 100644 nginx/html/admin/assets/el-progress-f539c088.js create mode 100644 nginx/html/admin/assets/el-scrollbar-4b72b7cb.js create mode 100644 nginx/html/admin/assets/el-scrollbar-56d71f90.js create mode 100644 nginx/html/admin/assets/el-scrollbar-5933f25d.js create mode 100644 nginx/html/admin/assets/el-scrollbar-5edfcb3f.js create mode 100644 nginx/html/admin/assets/el-scrollbar-654ee4cf.js create mode 100644 nginx/html/admin/assets/el-scrollbar-68edc4d7.js create mode 100644 nginx/html/admin/assets/el-scrollbar-b4c2872e.css create mode 100644 nginx/html/admin/assets/el-select-05f87a48.js create mode 100644 nginx/html/admin/assets/el-select-1d620125.js create mode 100644 nginx/html/admin/assets/el-select-60ee1037.js create mode 100644 nginx/html/admin/assets/el-select-a68074b1.js create mode 100644 nginx/html/admin/assets/el-select-e0ea5220.js create mode 100644 nginx/html/admin/assets/el-select-f614fdde.css create mode 100644 nginx/html/admin/assets/el-select-ffb55c7a.js create mode 100644 nginx/html/admin/assets/el-table-column-2087a7ad.js create mode 100644 nginx/html/admin/assets/el-table-column-32453fe2.js create mode 100644 nginx/html/admin/assets/el-table-column-381af1e5.js create mode 100644 nginx/html/admin/assets/el-table-column-448a0581.js create mode 100644 nginx/html/admin/assets/el-table-column-7db11110.js create mode 100644 nginx/html/admin/assets/el-table-column-8452963a.css create mode 100644 nginx/html/admin/assets/el-table-column-d43fc778.js create mode 100644 nginx/html/admin/assets/el-tag-249a9fc3.css create mode 100644 nginx/html/admin/assets/el-tag-290e5c91.js create mode 100644 nginx/html/admin/assets/el-tag-6a2dc6cc.js create mode 100644 nginx/html/admin/assets/el-tag-6bb7020c.js create mode 100644 nginx/html/admin/assets/el-tag-c9faf503.js create mode 100644 nginx/html/admin/assets/el-tag-cf212e80.js create mode 100644 nginx/html/admin/assets/el-tag-d3d38fd0.js create mode 100644 nginx/html/admin/assets/el-tooltip-4ed993c7.js create mode 100644 nginx/html/admin/assets/form-2e2b49a7.js create mode 100644 nginx/html/admin/assets/form-3a9fd593.js create mode 100644 nginx/html/admin/assets/form-47f6a2d5.js create mode 100644 nginx/html/admin/assets/form-4cd0dd9e.js create mode 100644 nginx/html/admin/assets/form-4e3d2e56.js create mode 100644 nginx/html/admin/assets/form-7aa36e84.css create mode 100644 nginx/html/admin/assets/form-7b982dfe.js create mode 100644 nginx/html/admin/assets/form-8508c315.js create mode 100644 nginx/html/admin/assets/form-9cd6868f.css create mode 100644 nginx/html/admin/assets/form-c360b965.js create mode 100644 nginx/html/admin/assets/form-c5dbacc6.js create mode 100644 nginx/html/admin/assets/form-c663d3d1.js create mode 100644 nginx/html/admin/assets/form-c9f60349.js create mode 100644 nginx/html/admin/assets/form-ce30f6e2.js create mode 100644 nginx/html/admin/assets/form-d5ae013e.css create mode 100644 nginx/html/admin/assets/form-d87c44b4.css create mode 100644 nginx/html/admin/assets/index-037638b5.js create mode 100644 nginx/html/admin/assets/index-0764c493.js create mode 100644 nginx/html/admin/assets/index-07bb2cc4.js create mode 100644 nginx/html/admin/assets/index-0bb359ff.js create mode 100644 nginx/html/admin/assets/index-0c7802fd.css create mode 100644 nginx/html/admin/assets/index-0fb1db77.js create mode 100644 nginx/html/admin/assets/index-11843334.js create mode 100644 nginx/html/admin/assets/index-16ea4351.css create mode 100644 nginx/html/admin/assets/index-1f167915.js create mode 100644 nginx/html/admin/assets/index-279f4594.js create mode 100644 nginx/html/admin/assets/index-28b465c2.js create mode 100644 nginx/html/admin/assets/index-325dd9c8.css create mode 100644 nginx/html/admin/assets/index-37be39c1.js create mode 100644 nginx/html/admin/assets/index-395af78d.js create mode 100644 nginx/html/admin/assets/index-39dd3889.js create mode 100644 nginx/html/admin/assets/index-3c02a481.js create mode 100644 nginx/html/admin/assets/index-3ef4d3eb.js create mode 100644 nginx/html/admin/assets/index-43b7d441.js create mode 100644 nginx/html/admin/assets/index-449eec28.js create mode 100644 nginx/html/admin/assets/index-47cedebd.js create mode 100644 nginx/html/admin/assets/index-4d4fdeb3.js create mode 100644 nginx/html/admin/assets/index-5216a804.css create mode 100644 nginx/html/admin/assets/index-57c679f5.css create mode 100644 nginx/html/admin/assets/index-58150f7d.js create mode 100644 nginx/html/admin/assets/index-5f2867d4.js create mode 100644 nginx/html/admin/assets/index-60cfc11b.js create mode 100644 nginx/html/admin/assets/index-721f8f3f.js create mode 100644 nginx/html/admin/assets/index-73e588f2.css create mode 100644 nginx/html/admin/assets/index-7782e0c2.js create mode 100644 nginx/html/admin/assets/index-7908607c.js create mode 100644 nginx/html/admin/assets/index-7ed2d026.js create mode 100644 nginx/html/admin/assets/index-804a1997.js create mode 100644 nginx/html/admin/assets/index-80e7fce7.js create mode 100644 nginx/html/admin/assets/index-81678c88.js create mode 100644 nginx/html/admin/assets/index-89a6c7c7.js create mode 100644 nginx/html/admin/assets/index-8ca69aa2.js create mode 100644 nginx/html/admin/assets/index-8f17b5a8.js create mode 100644 nginx/html/admin/assets/index-8f4d4c63.js create mode 100644 nginx/html/admin/assets/index-8f85e7d7.js create mode 100644 nginx/html/admin/assets/index-9c083051.js create mode 100644 nginx/html/admin/assets/index-a18521e5.js create mode 100644 nginx/html/admin/assets/index-a1c9151f.js create mode 100644 nginx/html/admin/assets/index-a4d0b5b6.js create mode 100644 nginx/html/admin/assets/index-b2bcea28.js create mode 100644 nginx/html/admin/assets/index-c591690e.js create mode 100644 nginx/html/admin/assets/index-cbad4ed6.js create mode 100644 nginx/html/admin/assets/index-d41e5c4c.css create mode 100644 nginx/html/admin/assets/index-d4f2f151.js create mode 100644 nginx/html/admin/assets/index-dc664f45.js create mode 100644 nginx/html/admin/assets/index-de3a95d3.js create mode 100644 nginx/html/admin/assets/index-e40c17d2.js create mode 100644 nginx/html/admin/assets/index-f32231a5.js create mode 100644 nginx/html/admin/assets/index-f4e3c169.js create mode 100644 nginx/html/admin/assets/index-fb3b55d2.js create mode 100644 nginx/html/admin/assets/index-fb87886b.js create mode 100644 nginx/html/admin/assets/index-fe7ed5b5.js create mode 100644 nginx/html/admin/assets/news-7afb0335.js create mode 100644 nginx/html/admin/assets/news-ae69995f.js create mode 100644 nginx/html/admin/assets/news-b0d85fbb.js create mode 100644 nginx/html/admin/assets/news-b27a662a.js create mode 100644 nginx/html/admin/assets/news-d0a250e1.js create mode 100644 nginx/html/admin/assets/news-ef01fd58.js create mode 100644 nginx/html/admin/assets/product-412b7793.js create mode 100644 nginx/html/admin/assets/product-51febd54.js create mode 100644 nginx/html/admin/assets/product-76c412a0.js create mode 100644 nginx/html/admin/assets/product-77a8e24c.js create mode 100644 nginx/html/admin/assets/product-9d2b3c7a.css create mode 100644 nginx/html/admin/assets/product-e782efa9.js create mode 100644 nginx/html/admin/assets/product-f5a3d530.js create mode 100644 nginx/html/admin/assets/request-26ab9dc6.js create mode 100644 nginx/html/admin/assets/request-60ae96d2.js create mode 100644 nginx/html/admin/assets/request-63584e50.js create mode 100644 nginx/html/admin/assets/request-79887494.js create mode 100644 nginx/html/admin/assets/request-88e5850c.js create mode 100644 nginx/html/admin/assets/request-a37452c7.js create mode 100644 nginx/html/admin/assets/strings-31e22773.js create mode 100644 nginx/html/admin/assets/strings-95c61f65.js create mode 100644 nginx/html/admin/assets/strings-991b21d4.js create mode 100644 nginx/html/admin/assets/strings-c810e853.js create mode 100644 nginx/html/admin/assets/strings-ce4815fd.js create mode 100644 nginx/html/admin/assets/strings-d2b52496.js create mode 100644 nginx/html/admin/assets/style-401f4ec6.js create mode 100644 nginx/html/admin/assets/style-6c2773cc.js create mode 100644 nginx/html/admin/assets/style-88a0cfcf.js create mode 100644 nginx/html/admin/assets/style-c38cf729.js create mode 100644 nginx/html/admin/assets/style-d6e2b45a.js create mode 100644 nginx/html/admin/assets/style-f6ce458e.js create mode 100644 nginx/html/admin/assets/style-fadd4b0e.css create mode 100644 nginx/html/admin/assets/use-dialog-15edcc44.js create mode 100644 nginx/html/admin/assets/use-dialog-3e44040d.js create mode 100644 nginx/html/admin/assets/use-dialog-40ef8000.js create mode 100644 nginx/html/admin/assets/use-dialog-7562524e.js create mode 100644 nginx/html/admin/assets/use-dialog-90edb7a0.js create mode 100644 nginx/html/admin/assets/use-dialog-bab1b29c.js create mode 100644 nginx/html/admin/favicon.ico create mode 100644 nginx/html/admin/index.html create mode 100644 nginx/html/admin/vite.svg create mode 100644 nginx/html/index.html create mode 100644 nginx/nginx.conf create mode 100644 web/pages/social/esg/detail/[id].vue create mode 100644 web/pages/social/esg/index.vue diff --git a/README.md b/README.md index 6104702..0515c7f 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,8 @@ │ ├── helpers.php │ └── bootstrap.php ├── web 前台前端 +├── nginx nginx docker 建構資料 +├── mysql mysql docker 建構資料 └── data 系統資枓 ### 前端 diff --git a/admin/ckeditor5/README.md b/admin/ckeditor5/README.md index 26b3ca4..f643930 100644 --- a/admin/ckeditor5/README.md +++ b/admin/ckeditor5/README.md @@ -49,7 +49,7 @@ Follow the guides available on https://ckeditor.com/docs/ckeditor5/latest/framew ## FAQ | Where is the place to report bugs and feature requests? -You can create an issue on https://github.com/ckeditor/ckeditor5/issues including the build id - `159xygvqs85-m65lqtchlynm`. Make sure that the question / problem is unique, please look for a possibly asked questions in the search box. Duplicates will be closed. +You can create an issue on https://github.com/ckeditor/ckeditor5/issues including the build id - `rv3q54x35x49-lgc6tk0e6ik`. Make sure that the question / problem is unique, please look for a possibly asked questions in the search box. Duplicates will be closed. | Where can I learn more about the CKEditor 5 framework? diff --git a/admin/ckeditor5/build/ckeditor.d.ts b/admin/ckeditor5/build/ckeditor.d.ts index f53beb1..b140dac 100644 --- a/admin/ckeditor5/build/ckeditor.d.ts +++ b/admin/ckeditor5/build/ckeditor.d.ts @@ -9,6 +9,7 @@ import { BlockQuote } from '@ckeditor/ckeditor5-block-quote'; import { CloudServices } from '@ckeditor/ckeditor5-cloud-services'; import type { EditorConfig } from '@ckeditor/ckeditor5-core'; import { Essentials } from '@ckeditor/ckeditor5-essentials'; +import { FontBackgroundColor, FontColor, FontSize } from '@ckeditor/ckeditor5-font'; import { Heading } from '@ckeditor/ckeditor5-heading'; import { Image, ImageCaption, ImageResize, ImageStyle, ImageToolbar, ImageUpload } from '@ckeditor/ckeditor5-image'; import { Indent } from '@ckeditor/ckeditor5-indent'; @@ -23,7 +24,7 @@ import { TextTransformation } from '@ckeditor/ckeditor5-typing'; import { Undo } from '@ckeditor/ckeditor5-undo'; import { SimpleUploadAdapter } from '@ckeditor/ckeditor5-upload'; declare class Editor extends ClassicEditor { - static builtinPlugins: (typeof Autoformat | typeof BlockQuote | typeof Bold | typeof CloudServices | typeof Essentials | typeof Heading | typeof Image | typeof ImageCaption | typeof ImageResize | typeof ImageStyle | typeof ImageToolbar | typeof ImageUpload | typeof Indent | typeof Italic | typeof Link | typeof List | typeof MediaEmbed | typeof Paragraph | typeof PasteFromOffice | typeof SimpleUploadAdapter | typeof SourceEditing | typeof Table | typeof TableToolbar | typeof TextTransformation | typeof Undo)[]; + static builtinPlugins: (typeof Autoformat | typeof BlockQuote | typeof Bold | typeof CloudServices | typeof Essentials | typeof FontBackgroundColor | typeof FontColor | typeof FontSize | typeof Heading | typeof Image | typeof ImageCaption | typeof ImageResize | typeof ImageStyle | typeof ImageToolbar | typeof ImageUpload | typeof Indent | typeof Italic | typeof Link | typeof List | typeof MediaEmbed | typeof Paragraph | typeof PasteFromOffice | typeof SimpleUploadAdapter | typeof SourceEditing | typeof Table | typeof TableToolbar | typeof TextTransformation | typeof Undo)[]; static defaultConfig: EditorConfig; } export default Editor; diff --git a/admin/ckeditor5/build/ckeditor.js b/admin/ckeditor5/build/ckeditor.js index 96b2ed5..b617a53 100644 --- a/admin/ckeditor5/build/ckeditor.js +++ b/admin/ckeditor5/build/ckeditor.js @@ -1,6 +1,6 @@ -(function(t){const e=t["zh"]=t["zh"]||{};e.dictionary=Object.assign(e.dictionary||{},{"%0 of %1":"%0/%1",Accept:"接受","Align cell text to the bottom":"向下對齊","Align cell text to the center":"置中對齊","Align cell text to the left":"靠左對齊","Align cell text to the middle":"置中對齊","Align cell text to the right":"靠右對齊","Align cell text to the top":"向上對齊","Align table to the left":"靠左對齊","Align table to the right":"靠右對齊",Alignment:"對齊",Aquamarine:"淺綠色",Background:"背景顏色",Black:"黑色","Block quote":"段落引用",Blue:"藍色",Bold:"粗體",Border:"邊框","Break text":"上及下","Bulleted List":"符號清單","Bulleted list styles toolbar":"無序清單工具列",Cancel:"取消","Caption for image: %0":"影像標題:%0","Caption for the image":"影像的標題","Cell properties":"儲存格屬性","Center table":"置中對齊","Centered image":"置中圖片","Change image text alternative":"修改圖片的替代文字","Choose heading":"選取標題",Circle:"空心圓點",Clear:"清除","Click to edit block":"點擊來編輯區塊",Close:"關閉",Code:"代碼",Color:"文字顏色","Color picker":"顏色選擇",Column:"欄",Dashed:"虛線",Decimal:"數字","Decimal with leading zero":"0開頭的數字","Decrease indent":"減少縮排","Delete column":"刪除欄","Delete row":"刪除列","Dim grey":"淡灰色",Dimensions:"尺寸",Disc:"實心圓點",Dotted:"點線",Double:"雙線",Downloadable:"可下載","Drag to move":"拖曳來移動","Dropdown toolbar":"下拉選單","Edit block":"編輯區塊","Edit link":"編輯連結","Editor block content toolbar":"編輯器區塊內容工具列","Editor contextual toolbar":"編輯器關聯式工具列","Editor dialog":"編輯工具對話框","Editor editing area: %0":"編輯器編輯區:%0","Editor toolbar":"編輯器工具","Enter image caption":"輸入圖片說明","Enter table caption":"輸入表標題","Full size image":"完整尺寸圖片",Green:"綠色",Grey:"灰色",Groove:"內凹線","Header column":"標題欄","Header row":"標題列",Heading:"標題","Heading 1":"標題 1","Heading 2":"標題 2","Heading 3":"標題 3","Heading 4":"標題 4","Heading 5":"標題 5","Heading 6":"標題 6",Height:"高度",HEX:"十六進位","Horizontal text alignment toolbar":"水平對齊","Image resize list":"圖片縮放清單","Image toolbar":"圖片工具","image widget":"圖片小工具","In line":"行中","Increase indent":"增加縮排",Insert:"插入","Insert column left":"插入左方欄","Insert column right":"插入右方欄","Insert image":"插入圖片","Insert image via URL":"使用連結插入圖片","Insert media":"插入影音","Insert paragraph after block":"在這個區塊後面插入一個段落","Insert paragraph before block":"在這個區塊前面插入一個段落","Insert row above":"插入上方列","Insert row below":"插入下方列","Insert table":"插入表格",Inset:"內邊線",Italic:"斜體","Justify cell text":"分散對齊","Left aligned image":"向左對齊圖片","Light blue":"亮藍色","Light green":"亮綠色","Light grey":"亮灰色",Link:"連結","Link image":"圖片連結","Link URL":"連結˙ URL","List properties":"清單屬性","Lower-latin":"小寫拉丁字母","Lower–roman":"小寫羅馬數字","Media toolbar":"影音工具","Media URL":"影音網址","media widget":"影音小工具","Merge cell down":"合併下方儲存格","Merge cell left":"合併左方儲存格","Merge cell right":"合併右方儲存格","Merge cell up":"合併上方儲存格","Merge cells":"合併儲存格",Next:"下一","No results found":"找不到結果","No searchable items":"沒有可搜尋的項目",None:"無","Numbered List":"有序清單","Numbered list styles toolbar":"有序清單工具列","Open in a new tab":"在新視窗開啟","Open link in new tab":"在新視窗開啟連結","Open media in new tab":"在新分頁打開媒體",Orange:"橘色",Original:"原始圖片",Outset:"外框線",Padding:"儲存格留白",Paragraph:"段落","Paste the media URL in the input.":"在輸入框貼上影音網址。","Press Enter to type after or press Shift + Enter to type before the widget":"按下 Enter 在小工具後輸入,或按下 Shift + Enter 在小工具前輸入",Previous:"上一",Purple:"紫色",Red:"紅色",Redo:"重做","Remove color":"移除顏色","Replace from computer":"從電腦替換","Replace image":"替換圖片","Replace image from computer":"從電腦替換圖片","Resize image":"縮放圖片","Resize image to %0":"縮放圖片到 %0","Resize image to the original size":"縮放圖片到原始尺寸","Restore default":"重設至預設值","Reversed order":"反轉順序","Rich Text Editor":"富文本編輯器",Ridge:"凸起線","Right aligned image":"向右對齊圖片",Row:"列",Save:"儲存","Select all":"選取全部","Select column":"選擇欄","Select row":"選擇列","Show more items":"顯示更多","Side image":"側邊圖片",Solid:"實線",Source:"原始碼","Split cell horizontally":"水平分割儲存格","Split cell vertically":"垂直分割儲存格",Square:"方形","Start at":"起始於","Start index must be greater than 0.":"起始索引須大於 0。",Strikethrough:"刪除線",Style:"樣式",Subscript:"下標",Superscript:"上標","Table alignment toolbar":"表格對齊","Table cell text alignment":"儲存格文字對齊","Table properties":"表格屬性","Table toolbar":"表格工具","Text alternative":"替代文字",'The color is invalid. Try "#FF0000" or "rgb(255,0,0)" or "red".':'顏色代碼錯誤。試試看 "#FF0000" 或 "rgb(255, 0, 0)" 或 "red"。',"The URL must not be empty.":"網址不能空白。",'The value is invalid. Try "10px" or "2em" or simply "2".':'尺寸代碼錯誤。試試看 "10px" 或 "2em" 或簡單寫 "2"。',"This link has no URL":"此連結沒有URL","This media URL is not supported.":"不支援此影音網址。","Tip: Paste the URL into the content to embed faster.":"提示:在內容貼上網址更快崁入。","To-do List":"代辦清單","Toggle caption off":"關閉表標題","Toggle caption on":"開啟表標題","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":"切換為大寫羅馬數字標示",Turquoise:"藍綠色","Type or paste your content here.":"在此輸入或貼上你的內容。","Type your title":"輸入你的標題",Underline:"底線",Undo:"取消",Unlink:"移除連結",Update:"更新","Update image URL":"更新圖片連結","Upload failed":"上傳失敗","Upload from computer":"從電腦上傳","Upload image from computer":"從電腦上傳圖片","Upload in progress":"正在上傳","Upper-latin":"大寫拉丁字母","Upper-roman":"大寫羅馬數字","Vertical text alignment toolbar":"垂直對齊",White:"白色","Widget toolbar":"小工具",Width:"寬度","Wrap text":"文繞圖",Yellow:"黃色"});e.getPluralForm=function(t){return 0}})(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); +(function(t){const e=t["zh"]=t["zh"]||{};e.dictionary=Object.assign(e.dictionary||{},{"%0 of %1":"%0/%1",Accept:"接受","Align cell text to the bottom":"向下對齊","Align cell text to the center":"置中對齊","Align cell text to the left":"靠左對齊","Align cell text to the middle":"置中對齊","Align cell text to the right":"靠右對齊","Align cell text to the top":"向上對齊","Align table to the left":"靠左對齊","Align table to the right":"靠右對齊",Alignment:"對齊",Aquamarine:"淺綠色",Background:"背景顏色",Big:"大",Black:"黑色","Block quote":"段落引用",Blue:"藍色",Bold:"粗體",Border:"邊框","Break text":"上及下","Bulleted List":"符號清單","Bulleted list styles toolbar":"無序清單工具列",Cancel:"取消","Caption for image: %0":"影像標題:%0","Caption for the image":"影像的標題","Cell properties":"儲存格屬性","Center table":"置中對齊","Centered image":"置中圖片","Change image text alternative":"修改圖片的替代文字","Choose heading":"選取標題",Circle:"空心圓點",Clear:"清除","Click to edit block":"點擊來編輯區塊",Close:"關閉",Code:"代碼",Color:"文字顏色","Color picker":"顏色選擇",Column:"欄",Dashed:"虛線",Decimal:"數字","Decimal with leading zero":"0開頭的數字","Decrease indent":"減少縮排",Default:"預設","Delete column":"刪除欄","Delete row":"刪除列","Dim grey":"淡灰色",Dimensions:"尺寸",Disc:"實心圓點","Document colors":"文件顏色",Dotted:"點線",Double:"雙線",Downloadable:"可下載","Drag to move":"拖曳來移動","Dropdown toolbar":"下拉選單","Edit block":"編輯區塊","Edit link":"編輯連結","Editor block content toolbar":"編輯器區塊內容工具列","Editor contextual toolbar":"編輯器關聯式工具列","Editor dialog":"編輯工具對話框","Editor editing area: %0":"編輯器編輯區:%0","Editor toolbar":"編輯器工具","Enter image caption":"輸入圖片說明","Enter table caption":"輸入表標題","Font Background Color":"前景顏色","Font Color":"字體顏色","Font Family":"字型","Font Size":"字體大小","Full size image":"完整尺寸圖片",Green:"綠色",Grey:"灰色",Groove:"內凹線","Header column":"標題欄","Header row":"標題列",Heading:"標題","Heading 1":"標題 1","Heading 2":"標題 2","Heading 3":"標題 3","Heading 4":"標題 4","Heading 5":"標題 5","Heading 6":"標題 6",Height:"高度",HEX:"十六進位","Horizontal text alignment toolbar":"水平對齊",Huge:"特大","Image resize list":"圖片縮放清單","Image toolbar":"圖片工具","image widget":"圖片小工具","In line":"行中","Increase indent":"增加縮排",Insert:"插入","Insert column left":"插入左方欄","Insert column right":"插入右方欄","Insert image":"插入圖片","Insert image via URL":"使用連結插入圖片","Insert media":"插入影音","Insert paragraph after block":"在這個區塊後面插入一個段落","Insert paragraph before block":"在這個區塊前面插入一個段落","Insert row above":"插入上方列","Insert row below":"插入下方列","Insert table":"插入表格",Inset:"內邊線",Italic:"斜體","Justify cell text":"分散對齊","Left aligned image":"向左對齊圖片","Light blue":"亮藍色","Light green":"亮綠色","Light grey":"亮灰色",Link:"連結","Link image":"圖片連結","Link URL":"連結˙ URL","List properties":"清單屬性","Lower-latin":"小寫拉丁字母","Lower–roman":"小寫羅馬數字","Media toolbar":"影音工具","Media URL":"影音網址","media widget":"影音小工具","Merge cell down":"合併下方儲存格","Merge cell left":"合併左方儲存格","Merge cell right":"合併右方儲存格","Merge cell up":"合併上方儲存格","Merge cells":"合併儲存格",Next:"下一","No results found":"找不到結果","No searchable items":"沒有可搜尋的項目",None:"無","Numbered List":"有序清單","Numbered list styles toolbar":"有序清單工具列","Open in a new tab":"在新視窗開啟","Open link in new tab":"在新視窗開啟連結","Open media in new tab":"在新分頁打開媒體",Orange:"橘色",Original:"原始圖片",Outset:"外框線",Padding:"儲存格留白",Paragraph:"段落","Paste the media URL in the input.":"在輸入框貼上影音網址。","Press Enter to type after or press Shift + Enter to type before the widget":"按下 Enter 在小工具後輸入,或按下 Shift + Enter 在小工具前輸入",Previous:"上一",Purple:"紫色",Red:"紅色",Redo:"重做","Remove color":"移除顏色","Replace from computer":"從電腦替換","Replace image":"替換圖片","Replace image from computer":"從電腦替換圖片","Resize image":"縮放圖片","Resize image to %0":"縮放圖片到 %0","Resize image to the original size":"縮放圖片到原始尺寸","Restore default":"重設至預設值","Reversed order":"反轉順序","Rich Text Editor":"富文本編輯器",Ridge:"凸起線","Right aligned image":"向右對齊圖片",Row:"列",Save:"儲存","Select all":"選取全部","Select column":"選擇欄","Select row":"選擇列","Show more items":"顯示更多","Side image":"側邊圖片",Small:"小",Solid:"實線",Source:"原始碼","Split cell horizontally":"水平分割儲存格","Split cell vertically":"垂直分割儲存格",Square:"方形","Start at":"起始於","Start index must be greater than 0.":"起始索引須大於 0。",Strikethrough:"刪除線",Style:"樣式",Subscript:"下標",Superscript:"上標","Table alignment toolbar":"表格對齊","Table cell text alignment":"儲存格文字對齊","Table properties":"表格屬性","Table toolbar":"表格工具","Text alternative":"替代文字",'The color is invalid. Try "#FF0000" or "rgb(255,0,0)" or "red".':'顏色代碼錯誤。試試看 "#FF0000" 或 "rgb(255, 0, 0)" 或 "red"。',"The URL must not be empty.":"網址不能空白。",'The value is invalid. Try "10px" or "2em" or simply "2".':'尺寸代碼錯誤。試試看 "10px" 或 "2em" 或簡單寫 "2"。',"This link has no URL":"此連結沒有URL","This media URL is not supported.":"不支援此影音網址。",Tiny:"特小","Tip: Paste the URL into the content to embed faster.":"提示:在內容貼上網址更快崁入。","To-do List":"代辦清單","Toggle caption off":"關閉表標題","Toggle caption on":"開啟表標題","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":"切換為大寫羅馬數字標示",Turquoise:"藍綠色","Type or paste your content here.":"在此輸入或貼上你的內容。","Type your title":"輸入你的標題",Underline:"底線",Undo:"取消",Unlink:"移除連結",Update:"更新","Update image URL":"更新圖片連結","Upload failed":"上傳失敗","Upload from computer":"從電腦上傳","Upload image from computer":"從電腦上傳圖片","Upload in progress":"正在上傳","Upper-latin":"大寫拉丁字母","Upper-roman":"大寫羅馬數字","Vertical text alignment toolbar":"垂直對齊",White:"白色","Widget toolbar":"小工具",Width:"寬度","Wrap text":"文繞圖",Yellow:"黃色"});e.getPluralForm=function(t){return 0}})(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})); /*! * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md. - */(function t(e,n){if(typeof exports==="object"&&typeof module==="object")module.exports=n();else if(typeof define==="function"&&define.amd)define([],n);else if(typeof exports==="object")exports["ClassicEditor"]=n();else e["ClassicEditor"]=n()})(self,(()=>(()=>{var t={8168:(t,e,n)=>{const i=n(8874);const o={};for(const t of Object.keys(i)){o[i[t]]=t}const r={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};t.exports=r;for(const t of Object.keys(r)){if(!("channels"in r[t])){throw new Error("missing channels property: "+t)}if(!("labels"in r[t])){throw new Error("missing channel labels property: "+t)}if(r[t].labels.length!==r[t].channels){throw new Error("channel and label counts mismatch: "+t)}const{channels:e,labels:n}=r[t];delete r[t].channels;delete r[t].labels;Object.defineProperty(r[t],"channels",{value:e});Object.defineProperty(r[t],"labels",{value:n})}r.rgb.hsl=function(t){const e=t[0]/255;const n=t[1]/255;const i=t[2]/255;const o=Math.min(e,n,i);const r=Math.max(e,n,i);const s=r-o;let a;let c;if(r===o){a=0}else if(e===r){a=(n-i)/s}else if(n===r){a=2+(i-e)/s}else if(i===r){a=4+(e-n)/s}a=Math.min(a*60,360);if(a<0){a+=360}const l=(o+r)/2;if(r===o){c=0}else if(l<=.5){c=s/(r+o)}else{c=s/(2-r-o)}return[a,c*100,l*100]};r.rgb.hsv=function(t){let e;let n;let i;let o;let r;const s=t[0]/255;const a=t[1]/255;const c=t[2]/255;const l=Math.max(s,a,c);const d=l-Math.min(s,a,c);const u=function(t){return(l-t)/6/d+1/2};if(d===0){o=0;r=0}else{r=d/l;e=u(s);n=u(a);i=u(c);if(s===l){o=i-n}else if(a===l){o=1/3+e-i}else if(c===l){o=2/3+n-e}if(o<0){o+=1}else if(o>1){o-=1}}return[o*360,r*100,l*100]};r.rgb.hwb=function(t){const e=t[0];const n=t[1];let i=t[2];const o=r.rgb.hsl(t)[0];const s=1/255*Math.min(e,Math.min(n,i));i=1-1/255*Math.max(e,Math.max(n,i));return[o,s*100,i*100]};r.rgb.cmyk=function(t){const e=t[0]/255;const n=t[1]/255;const i=t[2]/255;const o=Math.min(1-e,1-n,1-i);const r=(1-e-o)/(1-o)||0;const s=(1-n-o)/(1-o)||0;const a=(1-i-o)/(1-o)||0;return[r*100,s*100,a*100,o*100]};function s(t,e){return(t[0]-e[0])**2+(t[1]-e[1])**2+(t[2]-e[2])**2}r.rgb.keyword=function(t){const e=o[t];if(e){return e}let n=Infinity;let r;for(const e of Object.keys(i)){const o=i[e];const a=s(t,o);if(a.04045?((e+.055)/1.055)**2.4:e/12.92;n=n>.04045?((n+.055)/1.055)**2.4:n/12.92;i=i>.04045?((i+.055)/1.055)**2.4:i/12.92;const o=e*.4124+n*.3576+i*.1805;const r=e*.2126+n*.7152+i*.0722;const s=e*.0193+n*.1192+i*.9505;return[o*100,r*100,s*100]};r.rgb.lab=function(t){const e=r.rgb.xyz(t);let n=e[0];let i=e[1];let o=e[2];n/=95.047;i/=100;o/=108.883;n=n>.008856?n**(1/3):7.787*n+16/116;i=i>.008856?i**(1/3):7.787*i+16/116;o=o>.008856?o**(1/3):7.787*o+16/116;const s=116*i-16;const a=500*(n-i);const c=200*(i-o);return[s,a,c]};r.hsl.rgb=function(t){const e=t[0]/360;const n=t[1]/100;const i=t[2]/100;let o;let r;let s;if(n===0){s=i*255;return[s,s,s]}if(i<.5){o=i*(1+n)}else{o=i+n-i*n}const a=2*i-o;const c=[0,0,0];for(let t=0;t<3;t++){r=e+1/3*-(t-1);if(r<0){r++}if(r>1){r--}if(6*r<1){s=a+(o-a)*6*r}else if(2*r<1){s=o}else if(3*r<2){s=a+(o-a)*(2/3-r)*6}else{s=a}c[t]=s*255}return c};r.hsl.hsv=function(t){const e=t[0];let n=t[1]/100;let i=t[2]/100;let o=n;const r=Math.max(i,.01);i*=2;n*=i<=1?i:2-i;o*=r<=1?r:2-r;const s=(i+n)/2;const a=i===0?2*o/(r+o):2*n/(i+n);return[e,a*100,s*100]};r.hsv.rgb=function(t){const e=t[0]/60;const n=t[1]/100;let i=t[2]/100;const o=Math.floor(e)%6;const r=e-Math.floor(e);const s=255*i*(1-n);const a=255*i*(1-n*r);const c=255*i*(1-n*(1-r));i*=255;switch(o){case 0:return[i,c,s];case 1:return[a,i,s];case 2:return[s,i,c];case 3:return[s,a,i];case 4:return[c,s,i];case 5:return[i,s,a]}};r.hsv.hsl=function(t){const e=t[0];const n=t[1]/100;const i=t[2]/100;const o=Math.max(i,.01);let r;let s;s=(2-n)*i;const a=(2-n)*o;r=n*o;r/=a<=1?a:2-a;r=r||0;s/=2;return[e,r*100,s*100]};r.hwb.rgb=function(t){const e=t[0]/360;let n=t[1]/100;let i=t[2]/100;const o=n+i;let r;if(o>1){n/=o;i/=o}const s=Math.floor(6*e);const a=1-i;r=6*e-s;if((s&1)!==0){r=1-r}const c=n+r*(a-n);let l;let d;let u;switch(s){default:case 6:case 0:l=a;d=c;u=n;break;case 1:l=c;d=a;u=n;break;case 2:l=n;d=a;u=c;break;case 3:l=n;d=c;u=a;break;case 4:l=c;d=n;u=a;break;case 5:l=a;d=n;u=c;break}return[l*255,d*255,u*255]};r.cmyk.rgb=function(t){const e=t[0]/100;const n=t[1]/100;const i=t[2]/100;const o=t[3]/100;const r=1-Math.min(1,e*(1-o)+o);const s=1-Math.min(1,n*(1-o)+o);const a=1-Math.min(1,i*(1-o)+o);return[r*255,s*255,a*255]};r.xyz.rgb=function(t){const e=t[0]/100;const n=t[1]/100;const i=t[2]/100;let o;let r;let s;o=e*3.2406+n*-1.5372+i*-.4986;r=e*-.9689+n*1.8758+i*.0415;s=e*.0557+n*-.204+i*1.057;o=o>.0031308?1.055*o**(1/2.4)-.055:o*12.92;r=r>.0031308?1.055*r**(1/2.4)-.055:r*12.92;s=s>.0031308?1.055*s**(1/2.4)-.055:s*12.92;o=Math.min(Math.max(0,o),1);r=Math.min(Math.max(0,r),1);s=Math.min(Math.max(0,s),1);return[o*255,r*255,s*255]};r.xyz.lab=function(t){let e=t[0];let n=t[1];let i=t[2];e/=95.047;n/=100;i/=108.883;e=e>.008856?e**(1/3):7.787*e+16/116;n=n>.008856?n**(1/3):7.787*n+16/116;i=i>.008856?i**(1/3):7.787*i+16/116;const o=116*n-16;const r=500*(e-n);const s=200*(n-i);return[o,r,s]};r.lab.xyz=function(t){const e=t[0];const n=t[1];const i=t[2];let o;let r;let s;r=(e+16)/116;o=n/500+r;s=r-i/200;const a=r**3;const c=o**3;const l=s**3;r=a>.008856?a:(r-16/116)/7.787;o=c>.008856?c:(o-16/116)/7.787;s=l>.008856?l:(s-16/116)/7.787;o*=95.047;r*=100;s*=108.883;return[o,r,s]};r.lab.lch=function(t){const e=t[0];const n=t[1];const i=t[2];let o;const r=Math.atan2(i,n);o=r*360/2/Math.PI;if(o<0){o+=360}const s=Math.sqrt(n*n+i*i);return[e,s,o]};r.lch.lab=function(t){const e=t[0];const n=t[1];const i=t[2];const o=i/360*2*Math.PI;const r=n*Math.cos(o);const s=n*Math.sin(o);return[e,r,s]};r.rgb.ansi16=function(t,e=null){const[n,i,o]=t;let s=e===null?r.rgb.hsv(t)[2]:e;s=Math.round(s/50);if(s===0){return 30}let a=30+(Math.round(o/255)<<2|Math.round(i/255)<<1|Math.round(n/255));if(s===2){a+=60}return a};r.hsv.ansi16=function(t){return r.rgb.ansi16(r.hsv.rgb(t),t[2])};r.rgb.ansi256=function(t){const e=t[0];const n=t[1];const i=t[2];if(e===n&&n===i){if(e<8){return 16}if(e>248){return 231}return Math.round((e-8)/247*24)+232}const o=16+36*Math.round(e/255*5)+6*Math.round(n/255*5)+Math.round(i/255*5);return o};r.ansi16.rgb=function(t){let e=t%10;if(e===0||e===7){if(t>50){e+=3.5}e=e/10.5*255;return[e,e,e]}const n=(~~(t>50)+1)*.5;const i=(e&1)*n*255;const o=(e>>1&1)*n*255;const r=(e>>2&1)*n*255;return[i,o,r]};r.ansi256.rgb=function(t){if(t>=232){const e=(t-232)*10+8;return[e,e,e]}t-=16;let e;const n=Math.floor(t/36)/5*255;const i=Math.floor((e=t%36)/6)/5*255;const o=e%6/5*255;return[n,i,o]};r.rgb.hex=function(t){const e=((Math.round(t[0])&255)<<16)+((Math.round(t[1])&255)<<8)+(Math.round(t[2])&255);const n=e.toString(16).toUpperCase();return"000000".substring(n.length)+n};r.hex.rgb=function(t){const e=t.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!e){return[0,0,0]}let n=e[0];if(e[0].length===3){n=n.split("").map((t=>t+t)).join("")}const i=parseInt(n,16);const o=i>>16&255;const r=i>>8&255;const s=i&255;return[o,r,s]};r.rgb.hcg=function(t){const e=t[0]/255;const n=t[1]/255;const i=t[2]/255;const o=Math.max(Math.max(e,n),i);const r=Math.min(Math.min(e,n),i);const s=o-r;let a;let c;if(s<1){a=r/(1-s)}else{a=0}if(s<=0){c=0}else if(o===e){c=(n-i)/s%6}else if(o===n){c=2+(i-e)/s}else{c=4+(e-n)/s}c/=6;c%=1;return[c*360,s*100,a*100]};r.hsl.hcg=function(t){const e=t[1]/100;const n=t[2]/100;const i=n<.5?2*e*n:2*e*(1-n);let o=0;if(i<1){o=(n-.5*i)/(1-i)}return[t[0],i*100,o*100]};r.hsv.hcg=function(t){const e=t[1]/100;const n=t[2]/100;const i=e*n;let o=0;if(i<1){o=(n-i)/(1-i)}return[t[0],i*100,o*100]};r.hcg.rgb=function(t){const e=t[0]/360;const n=t[1]/100;const i=t[2]/100;if(n===0){return[i*255,i*255,i*255]}const o=[0,0,0];const r=e%1*6;const s=r%1;const a=1-s;let c=0;switch(Math.floor(r)){case 0:o[0]=1;o[1]=s;o[2]=0;break;case 1:o[0]=a;o[1]=1;o[2]=0;break;case 2:o[0]=0;o[1]=1;o[2]=s;break;case 3:o[0]=0;o[1]=a;o[2]=1;break;case 4:o[0]=s;o[1]=0;o[2]=1;break;default:o[0]=1;o[1]=0;o[2]=a}c=(1-n)*i;return[(n*o[0]+c)*255,(n*o[1]+c)*255,(n*o[2]+c)*255]};r.hcg.hsv=function(t){const e=t[1]/100;const n=t[2]/100;const i=e+n*(1-e);let o=0;if(i>0){o=e/i}return[t[0],o*100,i*100]};r.hcg.hsl=function(t){const e=t[1]/100;const n=t[2]/100;const i=n*(1-e)+.5*e;let o=0;if(i>0&&i<.5){o=e/(2*i)}else if(i>=.5&&i<1){o=e/(2*(1-i))}return[t[0],o*100,i*100]};r.hcg.hwb=function(t){const e=t[1]/100;const n=t[2]/100;const i=e+n*(1-e);return[t[0],(i-e)*100,(1-i)*100]};r.hwb.hcg=function(t){const e=t[1]/100;const n=t[2]/100;const i=1-n;const o=i-e;let r=0;if(o<1){r=(i-o)/(1-o)}return[t[0],o*100,r*100]};r.apple.rgb=function(t){return[t[0]/65535*255,t[1]/65535*255,t[2]/65535*255]};r.rgb.apple=function(t){return[t[0]/255*65535,t[1]/255*65535,t[2]/255*65535]};r.gray.rgb=function(t){return[t[0]/100*255,t[0]/100*255,t[0]/100*255]};r.gray.hsl=function(t){return[0,0,t[0]]};r.gray.hsv=r.gray.hsl;r.gray.hwb=function(t){return[0,100,t[0]]};r.gray.cmyk=function(t){return[0,0,0,t[0]]};r.gray.lab=function(t){return[t[0],0,0]};r.gray.hex=function(t){const e=Math.round(t[0]/100*255)&255;const n=(e<<16)+(e<<8)+e;const i=n.toString(16).toUpperCase();return"000000".substring(i.length)+i};r.rgb.gray=function(t){const e=(t[0]+t[1]+t[2])/3;return[e/255*100]}},2085:(t,e,n)=>{const i=n(8168);const o=n(4111);const r={};const s=Object.keys(i);function a(t){const e=function(...e){const n=e[0];if(n===undefined||n===null){return n}if(n.length>1){e=n}return t(e)};if("conversion"in t){e.conversion=t.conversion}return e}function c(t){const e=function(...e){const n=e[0];if(n===undefined||n===null){return n}if(n.length>1){e=n}const i=t(e);if(typeof i==="object"){for(let t=i.length,e=0;e{r[t]={};Object.defineProperty(r[t],"channels",{value:i[t].channels});Object.defineProperty(r[t],"labels",{value:i[t].labels});const e=o(t);const n=Object.keys(e);n.forEach((n=>{const i=e[n];r[t][n]=c(i);r[t][n].raw=a(i)}))}));t.exports=r},4111:(t,e,n)=>{const i=n(8168);function o(){const t={};const e=Object.keys(i);for(let n=e.length,i=0;i{"use strict";t.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},5363:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck-content code{background-color:hsla(0,0%,78%,.3);border-radius:2px;padding:.15em}.ck.ck-editor__editable .ck-code_selected{background-color:hsla(0,0%,78%,.5)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-basic-styles/theme/code.css"],names:[],mappings:"AAKA,iBACC,kCAAuC,CAEvC,iBAAkB,CADlB,aAED,CAEA,0CACC,kCACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck-content code {\n\tbackground-color: hsla(0, 0%, 78%, 0.3);\n\tpadding: .15em;\n\tborder-radius: 2px;\n}\n\n.ck.ck-editor__editable .ck-code_selected {\n\tbackground-color: hsla(0, 0%, 78%, 0.5);\n}\n"],sourceRoot:""}]);const c=a},3789:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck-content blockquote{border-left:5px solid #ccc;font-style:italic;margin-left:0;margin-right:0;overflow:hidden;padding-left:1.5em;padding-right:1.5em}.ck-content[dir=rtl] blockquote{border-left:0;border-right:5px solid #ccc}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-block-quote/theme/blockquote.css"],names:[],mappings:"AAKA,uBAWC,0BAAsC,CADtC,iBAAkB,CAFlB,aAAc,CACd,cAAe,CAPf,eAAgB,CAIhB,kBAAmB,CADnB,mBAOD,CAEA,gCACC,aAAc,CACd,2BACD",sourcesContent:['/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck-content blockquote {\n\t/* See #12 */\n\toverflow: hidden;\n\n\t/* https://github.com/ckeditor/ckeditor5-block-quote/issues/15 */\n\tpadding-right: 1.5em;\n\tpadding-left: 1.5em;\n\n\tmargin-left: 0;\n\tmargin-right: 0;\n\tfont-style: italic;\n\tborder-left: solid 5px hsl(0, 0%, 80%);\n}\n\n.ck-content[dir="rtl"] blockquote {\n\tborder-left: 0;\n\tborder-right: solid 5px hsl(0, 0%, 80%);\n}\n'],sourceRoot:""}]);const c=a},799:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.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}.ck.ck-clipboard-drop-target-line{pointer-events:none;position:absolute}: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}.ck.ck-clipboard-drop-target-line{background:var(--ck-clipboard-drop-target-color);border:1px solid var(--ck-clipboard-drop-target-color);height:0;margin-top:-1px}.ck.ck-clipboard-drop-target-line:before{border-style:solid;content:"";height:0;position:absolute;top:calc(var(--ck-clipboard-drop-target-dot-width)*-.5);width:0}[dir=ltr] .ck.ck-clipboard-drop-target-line:before{border-color:transparent transparent transparent var(--ck-clipboard-drop-target-color);border-width:calc(var(--ck-clipboard-drop-target-dot-width)*.5) 0 calc(var(--ck-clipboard-drop-target-dot-width)*.5) var(--ck-clipboard-drop-target-dot-height);left:-1px}[dir=rtl] .ck.ck-clipboard-drop-target-line:before{border-color:transparent var(--ck-clipboard-drop-target-color) transparent transparent;border-width:calc(var(--ck-clipboard-drop-target-dot-width)*.5) var(--ck-clipboard-drop-target-dot-height) calc(var(--ck-clipboard-drop-target-dot-width)*.5) 0;right:-1px}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-clipboard/theme/clipboard.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-clipboard/clipboard.css"],names:[],mappings:"AASC,8DACC,cAAe,CAEf,mBAAoB,CADpB,iBAOD,CAJC,mEACC,iBAAkB,CAClB,OACD,CAWA,qJACC,YACD,CAIF,kCAEC,mBAAoB,CADpB,iBAED,CC9BA,MACC,yCAA0C,CAC1C,yCAA0C,CAC1C,6DACD,CAOE,mEAIC,gDAAiD,CADjD,sDAAuD,CAFvD,2DAA8D,CAI9D,gBAAiB,CAHjB,wDAqBD,CAfC,yEAWC,sFAAuF,CAEvF,kBAAmB,CADnB,qKAA0K,CAX1K,UAAW,CAIX,aAAc,CAFd,QAAS,CAIT,QAAS,CADT,iBAAkB,CAElB,wDAA2D,CAE3D,0BAA2B,CAR3B,OAYD,CAOF,kEACC,gGACD,CAKA,gDACC,OAAS,CACT,sBACD,CAGD,kCAGC,gDAAiD,CADjD,sDAAuD,CADvD,QAAS,CAGT,eAwBD,CAtBC,yCAMC,kBAAmB,CALnB,UAAW,CAIX,QAAS,CAHT,iBAAkB,CAClB,uDAA0D,CAC1D,OAiBD,CArBA,mDAYE,sFAAuF,CADvF,+JAAoK,CAFpK,SAYF,CArBA,mDAmBE,sFAAuF,CADvF,+JAAmK,CAFnK,UAKF",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-editor__editable {\n\t/*\n\t * Vertical drop target (in text).\n\t */\n\t& .ck.ck-clipboard-drop-target-position {\n\t\tdisplay: inline;\n\t\tposition: relative;\n\t\tpointer-events: none;\n\n\t\t& span {\n\t\t\tposition: absolute;\n\t\t\twidth: 0;\n\t\t}\n\t}\n\n\t/*\n\t * Styles of the widget being dragged (its preview).\n\t */\n\t& .ck-widget:-webkit-drag {\n\t\t& > .ck-widget__selection-handle {\n\t\t\tdisplay: none;\n\t\t}\n\n\t\t& > .ck-widget__type-around {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n}\n\n.ck.ck-clipboard-drop-target-line {\n\tposition: absolute;\n\tpointer-events: none;\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import \"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\";\n\n:root {\n\t--ck-clipboard-drop-target-dot-width: 12px;\n\t--ck-clipboard-drop-target-dot-height: 8px;\n\t--ck-clipboard-drop-target-color: var(--ck-color-focus-border);\n}\n\n.ck.ck-editor__editable {\n\t/*\n\t * Vertical drop target (in text).\n\t */\n\t& .ck.ck-clipboard-drop-target-position {\n\t\t& span {\n\t\t\tbottom: calc(-.5 * var(--ck-clipboard-drop-target-dot-height));\n\t\t\ttop: calc(-.5 * var(--ck-clipboard-drop-target-dot-height));\n\t\t\tborder: 1px solid var(--ck-clipboard-drop-target-color);\n\t\t\tbackground: var(--ck-clipboard-drop-target-color);\n\t\t\tmargin-left: -1px;\n\n\t\t\t/* The triangle above the marker */\n\t\t\t&::after {\n\t\t\t\tcontent: '';\n\t\t\t\twidth: 0;\n\t\t\t\theight: 0;\n\n\t\t\t\tdisplay: block;\n\t\t\t\tposition: absolute;\n\t\t\t\tleft: 50%;\n\t\t\t\ttop: calc(-.5 * var(--ck-clipboard-drop-target-dot-height));\n\n\t\t\t\ttransform: translateX(-50%);\n\t\t\t\tborder-color: var(--ck-clipboard-drop-target-color) transparent transparent transparent;\n\t\t\t\tborder-width: calc(var(--ck-clipboard-drop-target-dot-height)) calc(.5 * var(--ck-clipboard-drop-target-dot-width)) 0 calc(.5 * var(--ck-clipboard-drop-target-dot-width));\n\t\t\t\tborder-style: solid;\n\t\t\t}\n\t\t}\n\t}\n\n\t/*\n\t * Styles of the widget that it a drop target.\n\t */\n\t& .ck-widget.ck-clipboard-drop-target-range {\n\t\toutline: var(--ck-widget-outline-thickness) solid var(--ck-clipboard-drop-target-color) !important;\n\t}\n\n\t/*\n\t * Styles of the widget being dragged (its preview).\n\t */\n\t& .ck-widget:-webkit-drag {\n\t\tzoom: 0.6;\n\t\toutline: none !important;\n\t}\n}\n\n.ck.ck-clipboard-drop-target-line {\n\theight: 0;\n\tborder: 1px solid var(--ck-clipboard-drop-target-color);\n\tbackground: var(--ck-clipboard-drop-target-color);\n\tmargin-top: -1px;\n\n\t&::before {\n\t\tcontent: '';\n\t\tposition: absolute;\n\t\ttop: calc(-.5 * var(--ck-clipboard-drop-target-dot-width));\n\t\twidth: 0;\n\t\theight: 0;\n\t\tborder-style: solid;\n\n\t\t@mixin ck-dir ltr {\n\t\t\tleft: -1px;\n\n\t\t\tborder-width: calc(.5 * var(--ck-clipboard-drop-target-dot-width)) 0 calc(.5 * var(--ck-clipboard-drop-target-dot-width)) var(--ck-clipboard-drop-target-dot-height);\n\t\t\tborder-color: transparent transparent transparent var(--ck-clipboard-drop-target-color);\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\tright: -1px;\n\n\t\t\tborder-width:calc(.5 * var(--ck-clipboard-drop-target-dot-width)) var(--ck-clipboard-drop-target-dot-height) calc(.5 * var(--ck-clipboard-drop-target-dot-width)) 0;\n\t\t\tborder-color: transparent var(--ck-clipboard-drop-target-color) transparent transparent;\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const c=a},3624:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck.ck-editor{position:relative}.ck.ck-editor .ck-editor__top .ck-sticky-panel .ck-toolbar{z-index:var(--ck-z-panel)}.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)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-editor-classic/theme/classiceditor.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-editor-classic/classiceditor.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAKA,cAIC,iBAMD,CAJC,2DAEC,yBACD,CCLC,gDCED,eDKC,CAPA,uICMA,qCAAsC,CDJpC,2BAA4B,CAC5B,4BAIF,CAPA,gDAMC,qBACD,CAEA,iFACC,uBAAwB,CCR1B,eDaC,CANA,yMCHA,qCAAsC,CDOpC,eAEF,CAKF,yCAEC,0CAA2C,CCpB3C,eD8BD,CAZA,yHCdE,qCAAsC,CDmBtC,wBAAyB,CACzB,yBAMF,CAHC,0DACC,wCACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-editor {\n\t/* All the elements within `.ck-editor` are positioned relatively to it.\n\t If any element needs to be positioned with respect to the , etc.,\n\t it must land outside of the `.ck-editor` in DOM. */\n\tposition: relative;\n\n\t& .ck-editor__top .ck-sticky-panel .ck-toolbar {\n\t\t/* https://github.com/ckeditor/ckeditor5-editor-classic/issues/62 */\n\t\tz-index: var(--ck-z-panel);\n\t}\n}\n",'/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../mixins/_rounded.css";\n\n.ck.ck-editor__top {\n\t& .ck-sticky-panel {\n\t\t& .ck-toolbar {\n\t\t\t@mixin ck-rounded-corners {\n\t\t\t\tborder-bottom-left-radius: 0;\n\t\t\t\tborder-bottom-right-radius: 0;\n\t\t\t}\n\n\t\t\tborder-bottom-width: 0;\n\t\t}\n\n\t\t& .ck-sticky-panel__content_sticky .ck-toolbar {\n\t\t\tborder-bottom-width: 1px;\n\n\t\t\t@mixin ck-rounded-corners {\n\t\t\t\tborder-radius: 0;\n\t\t\t}\n\t\t}\n\t}\n}\n\n/* Note: Use ck-editor__main to make sure these styles don\'t apply to other editor types */\n.ck.ck-editor__main > .ck-editor__editable {\n\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/113 */\n\tbackground: var(--ck-color-base-background);\n\n\t@mixin ck-rounded-corners {\n\t\tborder-top-left-radius: 0;\n\t\tborder-top-right-radius: 0;\n\t}\n\n\t&:not(.ck-focused) {\n\t\tborder-color: var(--ck-color-base-border);\n\t}\n}\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);const c=a},7372:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.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}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-engine/theme/placeholder.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-engine/placeholder.css"],names:[],mappings:"AAMA,uCAEC,iBAWD,CATC,qDAIC,8BAA+B,CAF/B,MAAO,CAKP,mBAAoB,CANpB,iBAAkB,CAElB,OAKD,CAKA,wCACC,YACD,CAQD,iCACC,iBACD,CC5BC,qDAEC,6CAA8C,CAD9C,WAED",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/* See ckeditor/ckeditor5#936. */\n.ck.ck-placeholder,\n.ck .ck-placeholder {\n\tposition: relative;\n\n\t&::before {\n\t\tposition: absolute;\n\t\tleft: 0;\n\t\tright: 0;\n\t\tcontent: attr(data-placeholder);\n\n\t\t/* See ckeditor/ckeditor5#469. */\n\t\tpointer-events: none;\n\t}\n}\n\n/* See ckeditor/ckeditor5#1987. */\n.ck.ck-read-only .ck-placeholder {\n\t&::before {\n\t\tdisplay: none;\n\t}\n}\n\n/*\n * Rules for the `ck-placeholder` are loaded before the rules for `ck-reset_all` in the base CKEditor 5 DLL build.\n * This fix overwrites the incorrectly set `position: static` from `ck-reset_all`.\n * See https://github.com/ckeditor/ckeditor5/issues/11418.\n */\n.ck.ck-reset_all .ck-placeholder {\n\tposition: relative;\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/* See ckeditor/ckeditor5#936. */\n.ck.ck-placeholder, .ck .ck-placeholder {\n\t&::before {\n\t\tcursor: text;\n\t\tcolor: var(--ck-color-engine-placeholder-text);\n\t}\n}\n"],sourceRoot:""}]);const c=a},5037:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck.ck-editor__editable span[data-ck-unsafe-element]{display:none}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-engine/theme/renderer.css"],names:[],mappings:"AAMA,qDACC,YACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/* Elements marked by the Renderer as hidden should be invisible in the editor. */\n.ck.ck-editor__editable span[data-ck-unsafe-element] {\n\tdisplay: none;\n}\n"],sourceRoot:""}]);const c=a},4249:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck.ck-heading_heading1{font-size:20px}.ck.ck-heading_heading2{font-size:17px}.ck.ck-heading_heading3{font-size:14px}.ck[class*=ck-heading_heading]{font-weight:700}.ck.ck-dropdown.ck-heading-dropdown .ck-dropdown__button .ck-button__label{width:8em}.ck.ck-dropdown.ck-heading-dropdown .ck-dropdown__panel .ck-list__item{min-width:18em}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-heading/theme/heading.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-heading/heading.css"],names:[],mappings:"AAKA,wBACC,cACD,CAEA,wBACC,cACD,CAEA,wBACC,cACD,CAEA,+BACC,eACD,CCZC,2EACC,SACD,CAEA,uEACC,cACD",sourcesContent:['/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-heading_heading1 {\n\tfont-size: 20px;\n}\n\n.ck.ck-heading_heading2 {\n\tfont-size: 17px;\n}\n\n.ck.ck-heading_heading3 {\n\tfont-size: 14px;\n}\n\n.ck[class*="ck-heading_heading"] {\n\tfont-weight: bold;\n}\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/* Resize dropdown's button label. */\n.ck.ck-dropdown.ck-heading-dropdown {\n\t& .ck-dropdown__button .ck-button__label {\n\t\twidth: 8em;\n\t}\n\n\t& .ck-dropdown__panel .ck-list__item {\n\t\tmin-width: 18em;\n\t}\n}\n"],sourceRoot:""}]);const c=a},2430:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck-content .image{clear:both;display:table;margin:.9em auto;min-width:50px;text-align:center}.ck-content .image img{display:block;height:auto;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{z-index:1}.ck.ck-editor__editable .image.ck-widget_selected{z-index:2}.ck.ck-editor__editable .image-inline{z-index:1}.ck.ck-editor__editable .image-inline.ck-widget_selected{z-index:2}.ck.ck-editor__editable .image-inline.ck-widget_selected ::selection{display:none}.ck.ck-editor__editable .image-inline img{height:auto}.ck.ck-editor__editable td .image-inline img,.ck.ck-editor__editable th .image-inline img{max-width:none}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-image/theme/image.css"],names:[],mappings:"AAMC,mBAEC,UAAW,CADX,aAAc,CAOd,gBAAkB,CAGlB,cAAe,CARf,iBA2BD,CAjBC,uBAEC,aAAc,CAad,WAAY,CAVZ,aAAc,CAGd,cAAe,CAGf,cAKD,CAGD,0BAYC,sBAAuB,CANvB,mBAAoB,CAGpB,cAoBD,CAdC,kCACC,YACD,CAGA,gEAGC,WAAY,CACZ,aAAc,CAGd,cACD,CAUD,gEASC,eAAgB,CARhB,oBAAqB,CACrB,qBAAsB,CAQtB,sBAAuB,CAFvB,kBAGD,CAKA,+BACC,SASD,CAHC,kDACC,SACD,CAMD,sCACC,SAkBD,CAZC,yDACC,SAUD,CAHC,qEACC,YACD,CAMF,0CACC,WACD,CAMC,0FACC,cACD",sourcesContent:['/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck-content {\n\t& .image {\n\t\tdisplay: table;\n\t\tclear: both;\n\t\ttext-align: center;\n\n\t\t/* Make sure there is some space between the content and the image. Center image by default. */\n\t\t/* The first value should be equal to --ck-spacing-large variable if used in the editor context\n\t \tto avoid the content jumping (See https://github.com/ckeditor/ckeditor5/issues/9825). */\n\t\tmargin: 0.9em auto;\n\n\t\t/* Make sure the caption will be displayed properly (See: https://github.com/ckeditor/ckeditor5/issues/1870). */\n\t\tmin-width: 50px;\n\n\t\t& img {\n\t\t\t/* Prevent unnecessary margins caused by line-height (see #44). */\n\t\t\tdisplay: block;\n\n\t\t\t/* Center the image if its width is smaller than the content\'s width. */\n\t\t\tmargin: 0 auto;\n\n\t\t\t/* Make sure the image never exceeds the size of the parent container (ckeditor/ckeditor5-ui#67). */\n\t\t\tmax-width: 100%;\n\n\t\t\t/* Make sure the image is never smaller than the parent container (See: https://github.com/ckeditor/ckeditor5/issues/9300). */\n\t\t\tmin-width: 100%;\n\n\t\t\t/* Keep proportions of the block image if the height is set and the image is wider than the editor width.\n\t\t\tSee https://github.com/ckeditor/ckeditor5/issues/14542. */\n\t\t\theight: auto;\n\t\t}\n\t}\n\n\t& .image-inline {\n\t\t/*\n\t\t * Normally, the .image-inline would have "display: inline-block" and "img { width: 100% }" (to follow the wrapper while resizing).\n\t\t * Unfortunately, together with "srcset", it gets automatically stretched up to the width of the editing root.\n\t\t * This strange behavior does not happen with inline-flex.\n\t\t */\n\t\tdisplay: inline-flex;\n\n\t\t/* While being resized, don\'t allow the image to exceed the width of the editing root. */\n\t\tmax-width: 100%;\n\n\t\t/* This is required by Safari to resize images in a sensible way. Without this, the browser breaks the ratio. */\n\t\talign-items: flex-start;\n\n\t\t/* When the picture is present it must act as a flex container to let the img resize properly */\n\t\t& picture {\n\t\t\tdisplay: flex;\n\t\t}\n\n\t\t/* When the picture is present, it must act like a resizable img. */\n\t\t& picture,\n\t\t& img {\n\t\t\t/* This is necessary for the img to span the entire .image-inline wrapper and to resize properly. */\n\t\t\tflex-grow: 1;\n\t\t\tflex-shrink: 1;\n\n\t\t\t/* Prevents overflowing the editing root boundaries when an inline image is very wide. */\n\t\t\tmax-width: 100%;\n\t\t}\n\t}\n}\n\n.ck.ck-editor__editable {\n\t/*\n\t * Inhertit the content styles padding of the
in case the integration overrides `text-align: center`\n\t * of `.image` (e.g. to the left/right). This ensures the placeholder stays at the padding just like the native\n\t * caret does, and not at the edge of
.\n\t */\n\t& .image > figcaption.ck-placeholder::before {\n\t\tpadding-left: inherit;\n\t\tpadding-right: inherit;\n\n\t\t/*\n\t\t * Make sure the image caption placeholder doesn\'t overflow the placeholder area.\n\t\t * See https://github.com/ckeditor/ckeditor5/issues/9162.\n\t\t */\n\t\twhite-space: nowrap;\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t}\n\n\t/*\n\t * See https://github.com/ckeditor/ckeditor5/issues/15115.\n\t */\n\t& .image {\n\t\tz-index: 1;\n\n\t\t/*\n\t\t * Make sure the selected image always stays on top of its siblings.\n\t\t * See https://github.com/ckeditor/ckeditor5/issues/9108.\n\t\t */\n\t\t&.ck-widget_selected {\n\t\t\tz-index: 2;\n\t\t}\n\t}\n\n\t/*\n\t * See https://github.com/ckeditor/ckeditor5/issues/15115.\n\t */\n\t& .image-inline {\n\t\tz-index: 1;\n\n\t\t/*\n\t\t * Make sure the selected inline image always stays on top of its siblings.\n\t\t * See https://github.com/ckeditor/ckeditor5/issues/9108.\n\t\t */\n\t\t&.ck-widget_selected {\n\t\t\tz-index: 2;\n\n\t\t\t/*\n\t\t\t * Make sure the native browser selection style is not displayed.\n\t\t\t * Inline image widgets have their own styles for the selected state and\n\t\t\t * leaving this up to the browser is asking for a visual collision.\n\t\t\t */\n\t\t\t& ::selection {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t}\n\t}\n\n\t/* Keep proportions of the inline image if the height is set and the image is wider than the editor width.\n\tSee https://github.com/ckeditor/ckeditor5/issues/14542. */\n\t& .image-inline img {\n\t\theight: auto;\n\t}\n\n\t/* The inline image nested in the table should have its original size if not resized.\n\tSee https://github.com/ckeditor/ckeditor5/issues/9117. */\n\t& td,\n\t& th {\n\t\t& .image-inline img {\n\t\t\tmax-width: none;\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);const c=a},2423:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.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)}}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imagecaption.css"],names:[],mappings:"AAKA,MACC,2CAAoD,CACpD,kCAA8C,CAC9C,mDACD,CAGA,8BAKC,yDAA0D,CAH1D,mBAAoB,CAEpB,wCAAyC,CAHzC,qBAAsB,CAMtB,eAAgB,CAChB,mBAAoB,CAFpB,YAAa,CAHb,qBAMD,CAGA,qEACC,iDACD,CAEA,sCACC,GACC,oEACD,CAEA,GACC,yDACD,CACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-color-image-caption-background: hsl(0, 0%, 97%);\n\t--ck-color-image-caption-text: hsl(0, 0%, 20%);\n\t--ck-color-image-caption-highligted-background: hsl(52deg 100% 50%);\n}\n\n/* Content styles */\n.ck-content .image > figcaption {\n\tdisplay: table-caption;\n\tcaption-side: bottom;\n\tword-break: break-word;\n\tcolor: var(--ck-color-image-caption-text);\n\tbackground-color: var(--ck-color-image-caption-background);\n\tpadding: .6em;\n\tfont-size: .75em;\n\toutline-offset: -1px;\n}\n\n/* Editing styles */\n.ck.ck-editor__editable .image > figcaption.image__caption_highlighted {\n\tanimation: ck-image-caption-highlight .6s ease-out;\n}\n\n@keyframes ck-image-caption-highlight {\n\t0% {\n\t\tbackground-color: var(--ck-color-image-caption-highligted-background);\n\t}\n\n\t100% {\n\t\tbackground-color: var(--ck-color-image-caption-background);\n\t}\n}\n"],sourceRoot:""}]);const c=a},8879:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck.ck-image-insert-url .ck-image-insert-url__action-row{display:grid;grid-template-columns:repeat(2,1fr)}:root{--ck-image-insert-insert-by-url-width:250px}.ck.ck-image-insert-url{--ck-input-width:100%}.ck.ck-image-insert-url .ck-image-insert-url__action-row{grid-column-gap:var(--ck-spacing-large);margin-top:var(--ck-spacing-large)}.ck.ck-image-insert-url .ck-image-insert-url__action-row .ck-button-cancel,.ck.ck-image-insert-url .ck-image-insert-url__action-row .ck-button-save{justify-content:center;min-width:auto}.ck.ck-image-insert-url .ck-image-insert-url__action-row .ck-button .ck-button__label{color:var(--ck-color-text)}.ck.ck-image-insert-form>.ck.ck-button{display:block;padding:var(--ck-list-button-padding);width:100%}[dir=ltr] .ck.ck-image-insert-form>.ck.ck-button{text-align:left}[dir=rtl] .ck.ck-image-insert-form>.ck.ck-button{text-align:right}.ck.ck-image-insert-form>.ck.ck-collapsible:not(:first-child){border-top:1px solid var(--ck-color-base-border)}.ck.ck-image-insert-form>.ck.ck-collapsible:not(:last-child){border-bottom:1px solid var(--ck-color-base-border)}.ck.ck-image-insert-form>.ck.ck-collapsible,.ck.ck-image-insert-form>.ck.ck-image-insert-url{min-width:var(--ck-image-insert-insert-by-url-width)}.ck.ck-image-insert-form>.ck.ck-image-insert-url{padding:var(--ck-spacing-large)}.ck.ck-image-insert-form:focus{outline:none}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imageinsert.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-image/imageinsert.css"],names:[],mappings:"AAMC,yDACC,YAAa,CACb,mCACD,CCFD,MACC,2CACD,CAEA,wBACC,qBAgBD,CAdC,yDACC,uCAAwC,CACxC,kCAWD,CATC,oJAEC,sBAAuB,CACvB,cACD,CAEA,sFACC,0BACD,CAKD,uCACC,aAAc,CAEd,qCAAsC,CADtC,UAUD,CAZA,iDAME,eAMF,CAZA,iDAUE,gBAEF,CAGC,8DACC,gDACD,CAEA,6DACC,mDACD,CAMD,6FAJC,oDAOD,CAHA,iDAEC,+BACD,CAEA,+BACC,YACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-image-insert-url {\n\t& .ck-image-insert-url__action-row {\n\t\tdisplay: grid;\n\t\tgrid-template-columns: repeat(2, 1fr);\n\t}\n}\n",'/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n:root {\n\t--ck-image-insert-insert-by-url-width: 250px;\n}\n\n.ck.ck-image-insert-url {\n\t--ck-input-width: 100%;\n\n\t& .ck-image-insert-url__action-row {\n\t\tgrid-column-gap: var(--ck-spacing-large);\n\t\tmargin-top: var(--ck-spacing-large);\n\n\t\t& .ck-button-save,\n\t\t& .ck-button-cancel {\n\t\t\tjustify-content: center;\n\t\t\tmin-width: auto;\n\t\t}\n\n\t\t& .ck-button .ck-button__label {\n\t\t\tcolor: var(--ck-color-text);\n\t\t}\n\t}\n}\n\n.ck.ck-image-insert-form {\n\t& > .ck.ck-button {\n\t\tdisplay: block;\n\t\twidth: 100%;\n\t\tpadding: var(--ck-list-button-padding);\n\n\t\t@mixin ck-dir ltr {\n\t\t\ttext-align: left;\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\ttext-align: right;\n\t\t}\n\t}\n\n\t& > .ck.ck-collapsible {\n\t\t&:not(:first-child) {\n\t\t\tborder-top: 1px solid var(--ck-color-base-border);\n\t\t}\n\n\t\t&:not(:last-child) {\n\t\t\tborder-bottom: 1px solid var(--ck-color-base-border);\n\t\t}\n\n\t\tmin-width: var(--ck-image-insert-insert-by-url-width);\n\t}\n\n\t/* This is the case when there are no other integrations configured than insert by URL */\n\t& > .ck.ck-image-insert-url {\n\t\tmin-width: var(--ck-image-insert-insert-by-url-width);\n\t\tpadding: var(--ck-spacing-large);\n\t}\n\n\t&:focus {\n\t\toutline: none;\n\t}\n}\n'],sourceRoot:""}]);const c=a},31:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck.ck-editor__editable img.image_placeholder{background-size:100% 100%}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imageplaceholder.css"],names:[],mappings:"AAMC,8CACC,yBACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-editor__editable {\n\t& img.image_placeholder {\n\t\tbackground-size: 100% 100%;\n\t}\n}\n"],sourceRoot:""}]);const c=a},2400:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck-content img.image_resized{height:auto}.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}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imageresize.css"],names:[],mappings:"AAMA,8BACC,WACD,CAEA,iCAQC,qBAAsB,CADtB,aAAc,CANd,cAkBD,CATC,qCAEC,UACD,CAEA,4CAEC,aACD,CAQC,sHACC,cACD,CAIF,oFACC,uCACD,CAEA,oFACC,sCACD,CAEA,oEACC,SACD",sourcesContent:['/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/* Preserve aspect ratio of the resized image after introducing image height attribute. */\n.ck-content img.image_resized {\n\theight: auto;\n}\n\n.ck-content .image.image_resized {\n\tmax-width: 100%;\n\t/*\n\tThe `
` element for resized images must not use `display:table` as browsers do not support `max-width` for it well.\n\tSee https://stackoverflow.com/questions/4019604/chrome-safari-ignoring-max-width-in-table/14420691#14420691 for more.\n\tFortunately, since we control the width, there is no risk that the image will look bad.\n\t*/\n\tdisplay: block;\n\tbox-sizing: border-box;\n\n\t& img {\n\t\t/* For resized images it is the `
` element that determines the image width. */\n\t\twidth: 100%;\n\t}\n\n\t& > figcaption {\n\t\t/* The `
` element uses `display:block`, so `
` also has to. */\n\t\tdisplay: block;\n\t}\n}\n\n.ck.ck-editor__editable {\n\t/* The resized inline image nested in the table should respect its parent size.\n\tSee https://github.com/ckeditor/ckeditor5/issues/9117. */\n\t& td,\n\t& th {\n\t\t& .image-inline.image_resized img {\n\t\t\tmax-width: 100%;\n\t\t}\n\t}\n}\n\n[dir="ltr"] .ck.ck-button.ck-button_with-text.ck-resize-image-button .ck-button__icon {\n\tmargin-right: var(--ck-spacing-standard);\n}\n\n[dir="rtl"] .ck.ck-button.ck-button_with-text.ck-resize-image-button .ck-button__icon {\n\tmargin-left: var(--ck-spacing-standard);\n}\n\n.ck.ck-dropdown .ck-button.ck-resize-image-button .ck-button__label {\n\twidth: 4em;\n}\n'],sourceRoot:""}]);const c=a},3534:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.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)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imagestyle.css"],names:[],mappings:"AAKA,MACC,8BAA+B,CAC/B,qEACD,CAMC,qFAEC,oDACD,CAIA,yEAEC,UACD,CAEA,8BACC,WAAY,CACZ,yCAA0C,CAC1C,aACD,CAEA,oCACC,UAAW,CACX,0CACD,CAEA,sCACC,gBAAiB,CACjB,iBACD,CAEA,qCACC,WAAY,CACZ,yCACD,CAEA,2CAEC,gBAAiB,CADjB,cAED,CAEA,0CACC,aAAc,CACd,iBACD,CAGA,6GAGC,YACD,CAGC,mGAGC,kDAAmD,CADnD,+CAED,CAEA,iDACC,iDACD,CAEA,kDACC,gDACD,CAUC,0lBAGC,qDAKD,CAHC,8nBACC,YACD,CAKD,oVAGC,2DACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-image-style-spacing: 1.5em;\n\t--ck-inline-image-style-spacing: calc(var(--ck-image-style-spacing) / 2);\n}\n\n.ck-content {\n\t/* Provides a minimal side margin for the left and right aligned images, so that the user has a visual feedback\n\tconfirming successful application of the style if image width exceeds the editor's size.\n\tSee https://github.com/ckeditor/ckeditor5/issues/9342 */\n\t& .image-style-block-align-left,\n\t& .image-style-block-align-right {\n\t\tmax-width: calc(100% - var(--ck-image-style-spacing));\n\t}\n\n\t/* Allows displaying multiple floating images in the same line.\n\tSee https://github.com/ckeditor/ckeditor5/issues/9183#issuecomment-804988132 */\n\t& .image-style-align-left,\n\t& .image-style-align-right {\n\t\tclear: none;\n\t}\n\n\t& .image-style-side {\n\t\tfloat: right;\n\t\tmargin-left: var(--ck-image-style-spacing);\n\t\tmax-width: 50%;\n\t}\n\n\t& .image-style-align-left {\n\t\tfloat: left;\n\t\tmargin-right: var(--ck-image-style-spacing);\n\t}\n\n\t& .image-style-align-center {\n\t\tmargin-left: auto;\n\t\tmargin-right: auto;\n\t}\n\n\t& .image-style-align-right {\n\t\tfloat: right;\n\t\tmargin-left: var(--ck-image-style-spacing);\n\t}\n\n\t& .image-style-block-align-right {\n\t\tmargin-right: 0;\n\t\tmargin-left: auto;\n\t}\n\n\t& .image-style-block-align-left {\n\t\tmargin-left: 0;\n\t\tmargin-right: auto;\n\t}\n\n\t/* Simulates margin collapsing with the preceding paragraph, which does not work for the floating elements. */\n\t& p + .image-style-align-left,\n\t& p + .image-style-align-right,\n\t& p + .image-style-side {\n\t\tmargin-top: 0;\n\t}\n\n\t& .image-inline {\n\t\t&.image-style-align-left,\n\t\t&.image-style-align-right {\n\t\t\tmargin-top: var(--ck-inline-image-style-spacing);\n\t\t\tmargin-bottom: var(--ck-inline-image-style-spacing);\n\t\t}\n\n\t\t&.image-style-align-left {\n\t\t\tmargin-right: var(--ck-inline-image-style-spacing);\n\t\t}\n\n\t\t&.image-style-align-right {\n\t\t\tmargin-left: var(--ck-inline-image-style-spacing);\n\t\t}\n\t}\n}\n\n.ck.ck-splitbutton {\n\t/* The button should display as a regular drop-down if the action button\n\tis forced to fire the same action as the arrow button. */\n\t&.ck-splitbutton_flatten {\n\t\t&:hover,\n\t\t&.ck-splitbutton_open {\n\t\t\t& > .ck-splitbutton__action:not(.ck-disabled),\n\t\t\t& > .ck-splitbutton__arrow:not(.ck-disabled),\n\t\t\t& > .ck-splitbutton__arrow:not(.ck-disabled):not(:hover) {\n\t\t\t\tbackground-color: var(--ck-color-button-on-background);\n\n\t\t\t\t&::after {\n\t\t\t\t\tdisplay: none;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t&.ck-splitbutton_open:hover {\n\t\t\t& > .ck-splitbutton__action:not(.ck-disabled),\n\t\t\t& > .ck-splitbutton__arrow:not(.ck-disabled),\n\t\t\t& > .ck-splitbutton__arrow:not(.ck-disabled):not(:hover) {\n\t\t\t\tbackground-color: var(--ck-color-button-on-hover-background);\n\t\t\t}\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const c=a},1547:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.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}}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imageuploadicon.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-image/imageuploadicon.css"],names:[],mappings:"AAKA,+BAUC,iBAAkB,CATlB,aAAc,CACd,iBAAkB,CAOlB,sCAAwC,CADxC,oCAAsC,CAGtC,SAMD,CAJC,qCACC,UAAW,CACX,iBACD,CChBD,MACC,iCAA8C,CAC9C,+CAA4D,CAG5D,8BAA+B,CAC/B,gCAAiC,CACjC,4DACD,CAEA,+BAWC,sBAA4B,CAN5B,0BAAgC,CADhC,qCAAuC,CADvC,wEAA0E,CAD1E,uDAAwD,CAMxD,oDAAuD,CAWvD,oFAAuF,CAlBvF,SAAU,CAgBV,eAAgB,CAChB,mFA0BD,CAtBC,qCAgBC,mBAAsB,CADtB,sBAAyB,CAEzB,4BAA6B,CAH7B,4CAA6C,CAF7C,sFAAuF,CADvF,oFAAqF,CASrF,qBAAsB,CAdtB,QAAS,CAJT,QAAS,CAGT,SAAU,CADV,OAAQ,CAKR,mCAAoC,CACpC,yBAA0B,CAH1B,OAcD,CAGD,wCACC,GACC,SACD,CAEA,GACC,SACD,CACD,CAEA,wCACC,GACC,SACD,CAEA,GACC,SACD,CACD,CAEA,yCACC,GAGC,QAAS,CAFT,SAAU,CACV,OAED,CACA,IAEC,QAAS,CADT,UAED,CACA,GAGC,YAAc,CAFd,SAAU,CACV,UAED,CACD",sourcesContent:['/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck-image-upload-complete-icon {\n\tdisplay: block;\n\tposition: absolute;\n\n\t/*\n\t * Smaller images should have the icon closer to the border.\n\t * Match the icon position with the linked image indicator brought by the link image feature.\n\t */\n\ttop: min(var(--ck-spacing-medium), 6%);\n\tright: min(var(--ck-spacing-medium), 6%);\n\tborder-radius: 50%;\n\tz-index: 1;\n\n\t&::after {\n\t\tcontent: "";\n\t\tposition: absolute;\n\t}\n}\n','/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-color-image-upload-icon: hsl(0, 0%, 100%);\n\t--ck-color-image-upload-icon-background: hsl(120, 100%, 27%);\n\n\t/* Match the icon size with the linked image indicator brought by the link image feature. */\n\t--ck-image-upload-icon-size: 20;\n\t--ck-image-upload-icon-width: 2px;\n\t--ck-image-upload-icon-is-visible: clamp(0px, 100% - 50px, 1px);\n}\n\n.ck-image-upload-complete-icon {\n\topacity: 0;\n\tbackground: var(--ck-color-image-upload-icon-background);\n\tanimation-name: ck-upload-complete-icon-show, ck-upload-complete-icon-hide;\n\tanimation-fill-mode: forwards, forwards;\n\tanimation-duration: 500ms, 500ms;\n\n\t/* To make animation scalable. */\n\tfont-size: calc(1px * var(--ck-image-upload-icon-size));\n\n\t/* Hide completed upload icon after 3 seconds. */\n\tanimation-delay: 0ms, 3000ms;\n\n\t/*\n\t * Use CSS math to simulate container queries.\n\t * https://css-tricks.com/the-raven-technique-one-step-closer-to-container-queries/#what-about-showing-and-hiding-things\n\t */\n\toverflow: hidden;\n\twidth: calc(var(--ck-image-upload-icon-is-visible) * var(--ck-image-upload-icon-size));\n\theight: calc(var(--ck-image-upload-icon-is-visible) * var(--ck-image-upload-icon-size));\n\n\t/* This is check icon element made from border-width mixed with animations. */\n\t&::after {\n\t\t/* Because of border transformation we need to "hard code" left position. */\n\t\tleft: 25%;\n\n\t\ttop: 50%;\n\t\topacity: 0;\n\t\theight: 0;\n\t\twidth: 0;\n\n\t\ttransform: scaleX(-1) rotate(135deg);\n\t\ttransform-origin: left top;\n\t\tborder-top: var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);\n\t\tborder-right: var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);\n\n\t\tanimation-name: ck-upload-complete-icon-check;\n\t\tanimation-duration: 500ms;\n\t\tanimation-delay: 500ms;\n\t\tanimation-fill-mode: forwards;\n\n\t\t/* #1095. While reset is not providing proper box-sizing for pseudoelements, we need to handle it. */\n\t\tbox-sizing: border-box;\n\t}\n}\n\n@keyframes ck-upload-complete-icon-show {\n\tfrom {\n\t\topacity: 0;\n\t}\n\n\tto {\n\t\topacity: 1;\n\t}\n}\n\n@keyframes ck-upload-complete-icon-hide {\n\tfrom {\n\t\topacity: 1;\n\t}\n\n\tto {\n\t\topacity: 0;\n\t}\n}\n\n@keyframes ck-upload-complete-icon-check {\n\t0% {\n\t\topacity: 1;\n\t\twidth: 0;\n\t\theight: 0;\n\t}\n\t33% {\n\t\twidth: 0.3em;\n\t\theight: 0;\n\t}\n\t100% {\n\t\topacity: 1;\n\t\twidth: 0.3em;\n\t\theight: 0.45em;\n\t}\n}\n'],sourceRoot:""}]);const c=a},6618:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.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)}}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imageuploadloader.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-image/imageuploadloader.css"],names:[],mappings:"AAKA,kCAGC,kBAAmB,CADnB,YAAa,CAEb,sBAAuB,CAEvB,MAAO,CALP,iBAAkB,CAIlB,KAOD,CAJC,yCACC,UAAW,CACX,iBACD,CCXD,MACC,4CAAqD,CACrD,wCAAyC,CACzC,8CACD,CAEA,iCAGC,QAAS,CADT,UAgBD,CAbC,8CACC,sGACD,CAEA,qCAOC,4DACD,CAGD,kCAEC,WAAY,CADZ,UAWD,CARC,yCAMC,yDAA0D,CAH1D,iBAAkB,CAElB,kCAAmC,CADnC,8DAA+D,CAF/D,+CAAgD,CADhD,8CAMD,CAGD,wCACC,GACC,uBACD,CACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck .ck-upload-placeholder-loader {\n\tposition: absolute;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\ttop: 0;\n\tleft: 0;\n\n\t&::before {\n\t\tcontent: '';\n\t\tposition: relative;\n\t}\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-color-upload-placeholder-loader: hsl(0, 0%, 70%);\n\t--ck-upload-placeholder-loader-size: 32px;\n\t--ck-upload-placeholder-image-aspect-ratio: 2.8;\n}\n\n.ck .ck-image-upload-placeholder {\n\t/* We need to control the full width of the SVG gray background. */\n\twidth: 100%;\n\tmargin: 0;\n\n\t&.image-inline {\n\t\twidth: calc( 2 * var(--ck-upload-placeholder-loader-size) * var(--ck-upload-placeholder-image-aspect-ratio) );\n\t}\n\n\t& img {\n\t\t/*\n\t\t * This is an arbitrary aspect for a 1x1 px GIF to display to the user. Not too tall, not too short.\n\t\t * There's nothing special about this number except that it should make the image placeholder look like\n\t\t * a real image during this short period after the upload started and before the image was read from the\n\t\t * file system (and a rich preview was loaded).\n\t\t */\n\t\taspect-ratio: var(--ck-upload-placeholder-image-aspect-ratio);\n\t}\n}\n\n.ck .ck-upload-placeholder-loader {\n\twidth: 100%;\n\theight: 100%;\n\n\t&::before {\n\t\twidth: var(--ck-upload-placeholder-loader-size);\n\t\theight: var(--ck-upload-placeholder-loader-size);\n\t\tborder-radius: 50%;\n\t\tborder-top: 3px solid var(--ck-color-upload-placeholder-loader);\n\t\tborder-right: 2px solid transparent;\n\t\tanimation: ck-upload-placeholder-loader 1s linear infinite;\n\t}\n}\n\n@keyframes ck-upload-placeholder-loader {\n\tto {\n\t\ttransform: rotate( 360deg );\n\t}\n}\n"],sourceRoot:""}]);const c=a},2926:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.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}}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imageuploadprogress.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-image/imageuploadprogress.css"],names:[],mappings:"AAMC,qEAEC,iBACD,CAGA,uGAIC,MAAO,CAFP,iBAAkB,CAClB,KAED,CCRC,yFACC,oBACD,CAID,uGAIC,gDAAiD,CAFjD,UAAW,CAGX,oBAAuB,CAFvB,OAGD,CAGD,kBACC,GAAO,SAAY,CACnB,GAAO,SAAY,CACpB",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-editor__editable {\n\t& .image,\n\t& .image-inline {\n\t\tposition: relative;\n\t}\n\n\t/* Upload progress bar. */\n\t& .image .ck-progress-bar,\n\t& .image-inline .ck-progress-bar {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 0;\n\t}\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-editor__editable {\n\t& .image,\n\t& .image-inline {\n\t\t/* Showing animation. */\n\t\t&.ck-appear {\n\t\t\tanimation: fadeIn 700ms;\n\t\t}\n\t}\n\n\t/* Upload progress bar. */\n\t& .image .ck-progress-bar,\n\t& .image-inline .ck-progress-bar {\n\t\theight: 2px;\n\t\twidth: 0;\n\t\tbackground: var(--ck-color-upload-bar-background);\n\t\ttransition: width 100ms;\n\t}\n}\n\n@keyframes fadeIn {\n\tfrom { opacity: 0; }\n\tto { opacity: 1; }\n}\n"],sourceRoot:""}]);const c=a},5269:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.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%}}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-image/theme/textalternativeform.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css"],names:[],mappings:"AAOA,6BACC,YAAa,CACb,kBAAmB,CACnB,gBAqBD,CAnBC,oDACC,oBACD,CAEA,uCACC,YACD,CCZA,oCDCD,6BAcE,cAUF,CARE,oDACC,eACD,CAEA,wCACC,cACD,CCrBD",sourcesContent:['/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css";\n\n.ck.ck-text-alternative-form {\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: nowrap;\n\n\t& .ck-labeled-field-view {\n\t\tdisplay: inline-block;\n\t}\n\n\t& .ck-label {\n\t\tdisplay: none;\n\t}\n\n\t@mixin ck-media-phone {\n\t\tflex-wrap: wrap;\n\n\t\t& .ck-labeled-field-view {\n\t\t\tflex-basis: 100%;\n\t\t}\n\n\t\t& .ck-button {\n\t\t\tflex-basis: 50%;\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@define-mixin ck-media-phone {\n\t@media screen and (max-width: 600px) {\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);const c=a},3925:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.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)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-link/link.css"],names:[],mappings:"AAMA,sBACC,mDAMD,CAHC,wCACC,yFACD,CAOD,4BACC,8CACD,CAGA,sCAEC,gDAAiD,CADjD,WAAY,CAEZ,iBAAkB,CAClB,oCACD",sourcesContent:['/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/* Class added to span element surrounding currently selected link. */\n.ck .ck-link_selected {\n\tbackground: var(--ck-color-link-selected-background);\n\n\t/* Give linked inline images some outline to let the user know they are also part of the link. */\n\t& span.image-inline {\n\t\toutline: var(--ck-widget-outline-thickness) solid var(--ck-color-link-selected-background);\n\t}\n}\n\n/*\n * Classes used by the "fake visual selection" displayed in the content when an input\n * in the link UI has focus (the browser does not render the native selection in this state).\n */\n.ck .ck-fake-link-selection {\n\tbackground: var(--ck-color-link-fake-selection);\n}\n\n/* A collapsed fake visual selection. */\n.ck .ck-fake-link-selection_collapsed {\n\theight: 100%;\n\tborder-right: 1px solid var(--ck-color-base-text);\n\tmargin-right: -1px;\n\toutline: solid 1px hsla(0, 0%, 100%, .5);\n}\n'],sourceRoot:""}]);const c=a},7536:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.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}}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-link/theme/linkactions.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-link/linkactions.css"],names:[],mappings:"AAOA,oBACC,YAAa,CACb,kBAAmB,CACnB,gBAqBD,CAnBC,8CACC,oBAKD,CAHC,gEACC,eACD,CCXD,oCDCD,oBAcE,cAUF,CARE,8CACC,eACD,CAEA,8DACC,cACD,CCrBD,CCIA,wDACC,cAAe,CACf,eAmCD,CAjCC,0EAEC,kCAAmC,CAEnC,cAAe,CAIf,+BAAgC,CAChC,aAAc,CARd,kCAAmC,CASnC,iBAAkB,CAPlB,sBAYD,CAHC,gFACC,yBACD,CAGD,mPAIC,eACD,CAEA,+DACC,eACD,CAGC,gFACC,yBACD,CAWD,qHACC,sCACD,CDtDD,oCC0DC,wDACC,8DAMD,CAJC,0EAEC,cAAe,CADf,WAED,CAGD,gJAME,aAEF,CDzED",sourcesContent:['/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css";\n\n.ck.ck-link-actions {\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: nowrap;\n\n\t& .ck-link-actions__preview {\n\t\tdisplay: inline-block;\n\n\t\t& .ck-button__label {\n\t\t\toverflow: hidden;\n\t\t}\n\t}\n\n\t@mixin ck-media-phone {\n\t\tflex-wrap: wrap;\n\n\t\t& .ck-link-actions__preview {\n\t\t\tflex-basis: 100%;\n\t\t}\n\n\t\t& .ck-button:not(.ck-link-actions__preview) {\n\t\t\tflex-basis: 50%;\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@define-mixin ck-media-phone {\n\t@media screen and (max-width: 600px) {\n\t\t@mixin-content;\n\t}\n}\n",'/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_unselectable.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n@import "../mixins/_focus.css";\n@import "../mixins/_shadow.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css";\n\n.ck.ck-link-actions {\n\t& .ck-button.ck-link-actions__preview {\n\t\tpadding-left: 0;\n\t\tpadding-right: 0;\n\n\t\t& .ck-button__label {\n\t\t\tpadding: 0 var(--ck-spacing-medium);\n\t\t\tcolor: var(--ck-color-link-default);\n\t\t\ttext-overflow: ellipsis;\n\t\t\tcursor: pointer;\n\n\t\t\t/* Match the box model of the link editor form\'s input so the balloon\n\t\t\tdoes not change width when moving between actions and the form. */\n\t\t\tmax-width: var(--ck-input-width);\n\t\t\tmin-width: 3em;\n\t\t\ttext-align: center;\n\n\t\t\t&:hover {\n\t\t\t\ttext-decoration: underline;\n\t\t\t}\n\t\t}\n\n\t\t&,\n\t\t&:hover,\n\t\t&:focus,\n\t\t&:active {\n\t\t\tbackground: none;\n\t\t}\n\n\t\t&:active {\n\t\t\tbox-shadow: none;\n\t\t}\n\n\t\t&:focus {\n\t\t\t& .ck-button__label {\n\t\t\t\ttext-decoration: underline;\n\t\t\t}\n\t\t}\n\t}\n\n\t@mixin ck-dir ltr {\n\t\t& .ck-button:not(:first-child) {\n\t\t\tmargin-left: var(--ck-spacing-standard);\n\t\t}\n\t}\n\n\t@mixin ck-dir rtl {\n\t\t& .ck-button:not(:last-child) {\n\t\t\tmargin-left: var(--ck-spacing-standard);\n\t\t}\n\t}\n\n\t@mixin ck-media-phone {\n\t\t& .ck-button.ck-link-actions__preview {\n\t\t\tmargin: var(--ck-spacing-standard) var(--ck-spacing-standard) 0;\n\n\t\t\t& .ck-button__label {\n\t\t\t\tmin-width: 0;\n\t\t\t\tmax-width: 100%;\n\t\t\t}\n\t\t}\n\n\t\t& .ck-button:not(.ck-link-actions__preview) {\n\t\t\t@mixin ck-dir ltr {\n\t\t\t\tmargin-left: 0;\n\t\t\t}\n\n\t\t\t@mixin ck-dir rtl {\n\t\t\t\tmargin-left: 0;\n\t\t\t}\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);const c=a},4874:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.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}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-link/theme/linkform.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-link/linkform.css"],names:[],mappings:"AAOA,iBACC,YAiBD,CAfC,2BACC,YACD,CCNA,oCDCD,iBAQE,cAUF,CARE,wCACC,eACD,CAEA,4BACC,cACD,CCfD,CDuBD,iCACC,aAYD,CALE,wHAEC,mCACD,CE/BF,iCAEC,+BAAgC,CADhC,SAgDD,CA7CC,wDACC,8EAMD,CAJC,uEACC,WAAY,CACZ,UACD,CAGD,4CAIC,eAAgB,CAFhB,QAAS,CADT,kCAAmC,CAEnC,SAkBD,CAfC,wDACC,gDACD,CARD,4GAeE,aAMF,CAJE,mEACC,kDACD,CAKF,6CACC,yDAUD,CARC,wEACC,SAAU,CACV,UAKD,CAHC,8EACC,eACD",sourcesContent:['/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css";\n\n.ck.ck-link-form {\n\tdisplay: flex;\n\n\t& .ck-label {\n\t\tdisplay: none;\n\t}\n\n\t@mixin ck-media-phone {\n\t\tflex-wrap: wrap;\n\n\t\t& .ck-labeled-field-view {\n\t\t\tflex-basis: 100%;\n\t\t}\n\n\t\t& .ck-button {\n\t\t\tflex-basis: 50%;\n\t\t}\n\t}\n}\n\n/*\n * Style link form differently when manual decorators are available.\n * See: https://github.com/ckeditor/ckeditor5-link/issues/186.\n */\n.ck.ck-link-form_layout-vertical {\n\tdisplay: block;\n\n\t/*\n\t * Whether the form is in the responsive mode or not, if there are decorator buttons\n\t * keep the top margin of action buttons medium.\n\t */\n\t& .ck-button {\n\t\t&.ck-button-save,\n\t\t&.ck-button-cancel {\n\t\t\tmargin-top: var(--ck-spacing-medium);\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@define-mixin ck-media-phone {\n\t@media screen and (max-width: 600px) {\n\t\t@mixin-content;\n\t}\n}\n",'/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n/*\n * Style link form differently when manual decorators are available.\n * See: https://github.com/ckeditor/ckeditor5-link/issues/186.\n */\n.ck.ck-link-form_layout-vertical {\n\tpadding: 0;\n\tmin-width: var(--ck-input-width);\n\n\t& .ck-labeled-field-view {\n\t\tmargin: var(--ck-spacing-large) var(--ck-spacing-large) var(--ck-spacing-small);\n\n\t\t& .ck-input-text {\n\t\t\tmin-width: 0;\n\t\t\twidth: 100%;\n\t\t}\n\t}\n\n\t& > .ck-button {\n\t\tpadding: var(--ck-spacing-standard);\n\t\tmargin: 0;\n\t\twidth: 50%;\n\t\tborder-radius: 0;\n\n\t\t&:not(:focus) {\n\t\t\tborder-top: 1px solid var(--ck-color-base-border);\n\t\t}\n\n\t\t@mixin ck-dir ltr {\n\t\t\tmargin-left: 0;\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\tmargin-left: 0;\n\n\t\t\t&:last-of-type {\n\t\t\t\tborder-right: 1px solid var(--ck-color-base-border);\n\t\t\t}\n\t\t}\n\t}\n\n\t/* Using additional `.ck` class for stronger CSS specificity than `.ck.ck-link-form > :not(:first-child)`. */\n\t& .ck.ck-list {\n\t\tmargin: var(--ck-spacing-standard) var(--ck-spacing-large);\n\n\t\t& .ck-button.ck-switchbutton {\n\t\t\tpadding: 0;\n\t\t\twidth: 100%;\n\n\t\t\t&:hover {\n\t\t\t\tbackground: none;\n\t\t\t}\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);const c=a},4330:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.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))}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-link/theme/linkimage.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-link/linkimage.css"],names:[],mappings:"AASE,+FACC,aAAc,CACd,iBACD,CCPF,MAEC,sCAAuC,CACvC,oEACD,CAME,+FAUC,+BAAqC,CACrC,83BAA+3B,CAG/3B,uBAA2B,CAD3B,2BAA4B,CAD5B,oBAAqB,CAGrB,kBAAmB,CAdnB,UAAW,CAsBX,oGAAuG,CAFvG,eAAgB,CAbhB,sCAAwC,CADxC,oCAAsC,CAetC,mGAED",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-editor__editable {\n\t/* Linked image indicator */\n\t& figure.image > a,\n\t& a span.image-inline {\n\t\t&::after {\n\t\t\tdisplay: block;\n\t\t\tposition: absolute;\n\t\t}\n\t}\n}\n\n",'/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t/* Match the icon size with the upload indicator brought by the image upload feature. */\n\t--ck-link-image-indicator-icon-size: 20;\n\t--ck-link-image-indicator-icon-is-visible: clamp(0px, 100% - 50px, 1px);\n}\n\n.ck.ck-editor__editable {\n\t/* Linked image indicator */\n\t& figure.image > a,\n\t& a span.image-inline {\n\t\t&::after {\n\t\t\tcontent: "";\n\n\t\t\t/*\n\t\t\t * Smaller images should have the icon closer to the border.\n\t\t\t * Match the icon position with the upload indicator brought by the image upload feature.\n\t\t\t */\n\t\t\ttop: min(var(--ck-spacing-medium), 6%);\n\t\t\tright: min(var(--ck-spacing-medium), 6%);\n\n\t\t\tbackground-color: hsla(0, 0%, 0%, .4);\n\t\t\tbackground-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI2ZmZiIgZD0ibTExLjA3NyAxNSAuOTkxLTEuNDE2YS43NS43NSAwIDEgMSAxLjIyOS44NmwtMS4xNDggMS42NGEuNzQ4Ljc0OCAwIDAgMS0uMjE3LjIwNiA1LjI1MSA1LjI1MSAwIDAgMS04LjUwMy01Ljk1NS43NDEuNzQxIDAgMCAxIC4xMi0uMjc0bDEuMTQ3LTEuNjM5YS43NS43NSAwIDEgMSAxLjIyOC44Nkw0LjkzMyAxMC43bC4wMDYuMDAzYTMuNzUgMy43NSAwIDAgMCA2LjEzMiA0LjI5NGwuMDA2LjAwNHptNS40OTQtNS4zMzVhLjc0OC43NDggMCAwIDEtLjEyLjI3NGwtMS4xNDcgMS42MzlhLjc1Ljc1IDAgMSAxLTEuMjI4LS44NmwuODYtMS4yM2EzLjc1IDMuNzUgMCAwIDAtNi4xNDQtNC4zMDFsLS44NiAxLjIyOWEuNzUuNzUgMCAwIDEtMS4yMjktLjg2bDEuMTQ4LTEuNjRhLjc0OC43NDggMCAwIDEgLjIxNy0uMjA2IDUuMjUxIDUuMjUxIDAgMCAxIDguNTAzIDUuOTU1em0tNC41NjMtMi41MzJhLjc1Ljc1IDAgMCAxIC4xODQgMS4wNDVsLTMuMTU1IDQuNTA1YS43NS43NSAwIDEgMS0xLjIyOS0uODZsMy4xNTUtNC41MDZhLjc1Ljc1IDAgMCAxIDEuMDQ1LS4xODR6Ii8+PC9zdmc+");\n\t\t\tbackground-size: 14px;\n\t\t\tbackground-repeat: no-repeat;\n\t\t\tbackground-position: center;\n\t\t\tborder-radius: 100%;\n\n\t\t\t/*\n\t\t\t* Use CSS math to simulate container queries.\n\t\t\t* https://css-tricks.com/the-raven-technique-one-step-closer-to-container-queries/#what-about-showing-and-hiding-things\n\t\t\t*/\n\t\t\toverflow: hidden;\n\t\t\twidth: calc(var(--ck-link-image-indicator-icon-is-visible) * var(--ck-link-image-indicator-icon-size));\n\t\t\theight: calc(var(--ck-link-image-indicator-icon-is-visible) * var(--ck-link-image-indicator-icon-size));\n\t\t}\n\t}\n}\n\n'],sourceRoot:""}]);const c=a},3190:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck-editor__editable .ck-list-bogus-paragraph{display:block}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-list/theme/documentlist.css"],names:[],mappings:"AAKA,8CACC,aACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck-editor__editable .ck-list-bogus-paragraph {\n\tdisplay: block;\n}\n"],sourceRoot:""}]);const c=a},4784:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck-content ol{list-style-type:decimal}.ck-content ol ol{list-style-type:lower-latin}.ck-content ol ol ol{list-style-type:lower-roman}.ck-content ol ol ol ol{list-style-type:upper-latin}.ck-content ol ol ol ol ol{list-style-type:upper-roman}.ck-content ul{list-style-type:disc}.ck-content ul ul{list-style-type:circle}.ck-content ul ul ul,.ck-content ul ul ul ul{list-style-type:square}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-list/theme/list.css"],names:[],mappings:"AAKA,eACC,uBAiBD,CAfC,kBACC,2BAaD,CAXC,qBACC,2BASD,CAPC,wBACC,2BAKD,CAHC,2BACC,2BACD,CAMJ,eACC,oBAaD,CAXC,kBACC,sBASD,CAJE,6CACC,sBACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck-content ol {\n\tlist-style-type: decimal;\n\n\t& ol {\n\t\tlist-style-type: lower-latin;\n\n\t\t& ol {\n\t\t\tlist-style-type: lower-roman;\n\n\t\t\t& ol {\n\t\t\t\tlist-style-type: upper-latin;\n\n\t\t\t\t& ol {\n\t\t\t\t\tlist-style-type: upper-roman;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\n.ck-content ul {\n\tlist-style-type: disc;\n\n\t& ul {\n\t\tlist-style-type: circle;\n\n\t\t& ul {\n\t\t\tlist-style-type: square;\n\n\t\t\t& ul {\n\t\t\t\tlist-style-type: square;\n\t\t\t}\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const c=a},9938:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.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}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-list/listproperties.css"],names:[],mappings:"AAOC,yDACC,+BASD,CAPC,2DACC,cAKD,CAHC,6DACC,qCACD,CASD,wFACC,oCACD,CAGA,mFACC,gDAWD,CARE,+GACC,UAKD,CAHC,iHACC,qCACD,CAMJ,8EACC,cAAe,CACf,UACD,CAEA,uEACC,sBAAuB,CAGvB,6CAAgD,CAFhD,cAAe,CACf,eAQD,CALC,2JAGC,eAAgB,CADhB,wBAAyB,CADzB,eAGD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-list-properties {\n\t/* When there are no list styles and there is no collapsible. */\n\t&.ck-list-properties_without-styles {\n\t\tpadding: var(--ck-spacing-large);\n\n\t\t& > * {\n\t\t\tmin-width: 14em;\n\n\t\t\t& + * {\n\t\t\t\tmargin-top: var(--ck-spacing-standard);\n\t\t\t}\n\t\t}\n\t}\n\n\t/*\n\t * When the numbered list property fields (start at, reversed) should be displayed,\n\t * more horizontal space is needed. Reconfigure the style grid to create that space.\n\t */\n\t&.ck-list-properties_with-numbered-properties {\n\t\t& > .ck-list-styles-list {\n\t\t\tgrid-template-columns: repeat( 4, auto );\n\t\t}\n\n\t\t/* When list styles are rendered and property fields are in a collapsible. */\n\t\t& > .ck-collapsible {\n\t\t\tborder-top: 1px solid var(--ck-color-base-border);\n\n\t\t\t& > .ck-collapsible__children {\n\t\t\t\t& > * {\n\t\t\t\t\twidth: 100%;\n\n\t\t\t\t\t& + * {\n\t\t\t\t\t\tmargin-top: var(--ck-spacing-standard);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t& .ck.ck-numbered-list-properties__start-index .ck-input {\n\t\tmin-width: auto;\n\t\twidth: 100%;\n\t}\n\n\t& .ck.ck-numbered-list-properties__reversed-order {\n\t\tbackground: transparent;\n\t\tpadding-left: 0;\n\t\tpadding-right: 0;\n\t\tmargin-bottom: calc(-1 * var(--ck-spacing-tiny));\n\n\t\t&:active, &:hover {\n\t\t\tbox-shadow: none;\n\t\t\tborder-color: transparent;\n\t\t\tbackground: none;\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const c=a},2591:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.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)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-list/theme/liststyles.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-list/liststyles.css"],names:[],mappings:"AAKA,wBACC,YACD,CCFA,MACC,gCACD,CAEA,wBAGC,mCAAoC,CAFpC,oCAAwC,CAGxC,+BAAgC,CAFhC,gCA4BD,CAxBC,mCAiBC,sBAAuB,CAPvB,QAAS,CANT,SAmBD,CAJC,+EAhBA,uCAAwC,CADxC,sCAoBA",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-list-styles-list {\n\tdisplay: grid;\n}\n",'/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-list-style-button-size: 44px;\n}\n\n.ck.ck-list-styles-list {\n\tgrid-template-columns: repeat( 3, auto );\n\trow-gap: var(--ck-spacing-medium);\n\tcolumn-gap: var(--ck-spacing-medium);\n\tpadding: var(--ck-spacing-large);\n\n\t& .ck-button {\n\t\t/* Make the button look like a thumbnail (the icon "takes it all"). */\n\t\twidth: var(--ck-list-style-button-size);\n\t\theight: var(--ck-list-style-button-size);\n\t\tpadding: 0;\n\n\t\t/*\n\t\t * Buttons are aligned by the grid so disable default button margins to not collide with the\n\t\t * gaps in the grid.\n\t\t */\n\t\tmargin: 0;\n\n\t\t/*\n\t\t * Make sure the button border (which is displayed on focus, BTW) does not steal pixels\n\t\t * from the button dimensions and, as a result, decrease the size of the icon\n\t\t * (which becomes blurry as it scales down).\n\t\t */\n\t\tbox-sizing: content-box;\n\n\t\t& .ck-icon {\n\t\t\twidth: var(--ck-list-style-button-size);\n\t\t\theight: var(--ck-list-style-button-size);\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);const c=a},9292:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.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;position:relative}.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[dir=rtl] .todo-list .todo-list__label>input{left:0;margin-left:-15px;margin-right:0;right:-25px}.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;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}.ck-content .todo-list .todo-list__label.todo-list__label_without-description input[type=checkbox]{position:absolute}.ck-editor__editable.ck-content .todo-list .todo-list__label>input,.ck-editor__editable.ck-content .todo-list .todo-list__label>span[contenteditable=false]>input{cursor:pointer}.ck-editor__editable.ck-content .todo-list .todo-list__label>input:hover:before,.ck-editor__editable.ck-content .todo-list .todo-list__label>span[contenteditable=false]>input:hover:before{box-shadow:0 0 0 5px rgba(0,0,0,.1)}.ck-editor__editable.ck-content .todo-list .todo-list__label>span[contenteditable=false]>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-editor__editable.ck-content[dir=rtl] .todo-list .todo-list__label>span[contenteditable=false]>input{left:0;margin-left:-15px;margin-right:0;right:-25px}.ck-editor__editable.ck-content .todo-list .todo-list__label>span[contenteditable=false]>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;width:100%}.ck-editor__editable.ck-content .todo-list .todo-list__label>span[contenteditable=false]>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-editor__editable.ck-content .todo-list .todo-list__label>span[contenteditable=false]>input[checked]:before{background:#26ab33;border-color:#26ab33}.ck-editor__editable.ck-content .todo-list .todo-list__label>span[contenteditable=false]>input[checked]:after{border-color:#fff}.ck-editor__editable.ck-content .todo-list .todo-list__label.todo-list__label_without-description input[type=checkbox]{position:absolute}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-list/theme/todolist.css"],names:[],mappings:"AAKA,MACC,kCACD,CAwEA,uBACC,eAwBD,CAtBC,0BAEC,iBAAkB,CADlB,iBAMD,CAHC,qCACC,cACD,CAIA,+CAlFD,uBAAwB,CAQxB,QAAS,CAPT,oBAAqB,CAGrB,yCAA0C,CAO1C,UAAW,CAGX,aAAc,CAFd,kBAAmB,CAVnB,iBAAkB,CAWlB,OAAQ,CARR,qBAAsB,CAFtB,wCAiFC,CAFA,wDAhEA,MAAO,CAGP,iBAAkB,CAFlB,cAAe,CACf,WAgEA,CA5DD,sDAOC,qBAAiC,CACjC,iBAAkB,CALlB,qBAAsB,CACtB,UAAW,CAHX,aAAc,CAKd,WAAY,CAJZ,iBAAkB,CAOlB,sCAAwC,CAJxC,UAKD,CAEA,qDAaC,wBAAyB,CADzB,kBAAmB,CAEnB,sGAA+G,CAX/G,sBAAuB,CAEvB,UAAW,CAJX,aAAc,CAUd,mDAAwD,CAHxD,+CAAoD,CAJpD,mBAAoB,CAFpB,iBAAkB,CAOlB,gDAAqD,CAMrD,uBAAwB,CALxB,kDAMD,CAGC,+DACC,kBAA8B,CAC9B,oBACD,CAEA,8DACC,iBACD,CAwBA,wEACC,qBACD,CAEA,mGACC,iBACD,CAYD,kKAEC,cAKD,CAHC,4LACC,mCACD,CAMD,+FApHA,uBAAwB,CAQxB,QAAS,CAPT,oBAAqB,CAGrB,yCAA0C,CAO1C,UAAW,CAGX,aAAc,CAFd,kBAAmB,CAVnB,iBAAkB,CAWlB,OAAQ,CARR,qBAAsB,CAFtB,wCAmHA,CAFA,wGAlGC,MAAO,CAGP,iBAAkB,CAFlB,cAAe,CACf,WAkGD,CA9FA,sGAOC,qBAAiC,CACjC,iBAAkB,CALlB,qBAAsB,CACtB,UAAW,CAHX,aAAc,CAKd,WAAY,CAJZ,iBAAkB,CAOlB,sCAAwC,CAJxC,UAKD,CAEA,qGAaC,wBAAyB,CADzB,kBAAmB,CAEnB,sGAA+G,CAX/G,sBAAuB,CAEvB,UAAW,CAJX,aAAc,CAUd,mDAAwD,CAHxD,+CAAoD,CAJpD,mBAAoB,CAFpB,iBAAkB,CAOlB,gDAAqD,CAMrD,uBAAwB,CALxB,kDAMD,CAGC,+GACC,kBAA8B,CAC9B,oBACD,CAEA,8GACC,iBACD,CA2DA,uHACC,iBACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-todo-list-checkmark-size: 16px;\n}\n\n@define-mixin todo-list-checkbox {\n\t-webkit-appearance: none;\n\tdisplay: inline-block;\n\tposition: relative;\n\twidth: var(--ck-todo-list-checkmark-size);\n\theight: var(--ck-todo-list-checkmark-size);\n\tvertical-align: middle;\n\n\t/* Needed on iOS */\n\tborder: 0;\n\n\t/* LTR styles */\n\tleft: -25px;\n\tmargin-right: -15px;\n\tright: 0;\n\tmargin-left: 0;\n\n\t/* RTL styles */\n\t@nest [dir=rtl]& {\n\t\tleft: 0;\n\t\tmargin-right: 0;\n\t\tright: -25px;\n\t\tmargin-left: -15px;\n\t}\n\n\t&::before {\n\t\tdisplay: block;\n\t\tposition: absolute;\n\t\tbox-sizing: border-box;\n\t\tcontent: '';\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\tborder: 1px solid hsl(0, 0%, 20%);\n\t\tborder-radius: 2px;\n\t\ttransition: 250ms ease-in-out box-shadow;\n\t}\n\n\t&::after {\n\t\tdisplay: block;\n\t\tposition: absolute;\n\t\tbox-sizing: content-box;\n\t\tpointer-events: none;\n\t\tcontent: '';\n\n\t\t/* Calculate tick position, size and border-width proportional to the checkmark size. */\n\t\tleft: calc( var(--ck-todo-list-checkmark-size) / 3 );\n\t\ttop: calc( var(--ck-todo-list-checkmark-size) / 5.3 );\n\t\twidth: calc( var(--ck-todo-list-checkmark-size) / 5.3 );\n\t\theight: calc( var(--ck-todo-list-checkmark-size) / 2.6 );\n\t\tborder-style: solid;\n\t\tborder-color: transparent;\n\t\tborder-width: 0 calc( var(--ck-todo-list-checkmark-size) / 8 ) calc( var(--ck-todo-list-checkmark-size) / 8 ) 0;\n\t\ttransform: rotate(45deg);\n\t}\n\n\t&[checked] {\n\t\t&::before {\n\t\t\tbackground: hsl(126, 64%, 41%);\n\t\t\tborder-color: hsl(126, 64%, 41%);\n\t\t}\n\n\t\t&::after {\n\t\t\tborder-color: hsl(0, 0%, 100%);\n\t\t}\n\t}\n}\n\n/*\n * To-do list content styles.\n */\n.ck-content .todo-list {\n\tlist-style: none;\n\n\t& li {\n\t\tposition: relative;\n\t\tmargin-bottom: 5px;\n\n\t\t& .todo-list {\n\t\t\tmargin-top: 5px;\n\t\t}\n\t}\n\n\t& .todo-list__label {\n\t\t& > input {\n\t\t\t@mixin todo-list-checkbox;\n\t\t}\n\n\t\t& .todo-list__label__description {\n\t\t\tvertical-align: middle;\n\t\t}\n\n\t\t&.todo-list__label_without-description input[type=checkbox] {\n\t\t\tposition: absolute;\n\t\t}\n\t}\n}\n\n/*\n * To-do list editing view styles.\n */\n.ck-editor__editable.ck-content .todo-list .todo-list__label {\n\t/*\n\t * To-do list should be interactive only during the editing\n\t * (https://github.com/ckeditor/ckeditor5/issues/2090).\n\t */\n\t& > input,\n\t& > span[contenteditable=false] > input {\n\t\tcursor: pointer;\n\n\t\t&:hover::before {\n\t\t\tbox-shadow: 0 0 0 5px hsla(0, 0%, 0%, 0.1);\n\t\t}\n\t}\n\n\t/*\n\t * Document Lists - editing view has an additional span around checkbox.\n\t */\n\t& > span[contenteditable=false] > input {\n\t\t@mixin todo-list-checkbox;\n\t}\n\n\t&.todo-list__label_without-description {\n\t\t& input[type=checkbox] {\n\t\t\tposition: absolute;\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const c=a},8705:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck-content .media{clear:both;display:block;margin:.9em 0;min-width:15em}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-media-embed/theme/mediaembed.css"],names:[],mappings:"AAKA,mBAGC,UAAW,CASX,aAAc,CAJd,aAAe,CAQf,cACD",sourcesContent:['/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck-content .media {\n\t/* Don\'t allow floated content overlap the media.\n\thttps://github.com/ckeditor/ckeditor5-media-embed/issues/53 */\n\tclear: both;\n\n\t/* Make sure there is some space between the content and the media. */\n\t/* The first value should be equal to --ck-spacing-large variable if used in the editor context\n\tto avoid the content jumping (See https://github.com/ckeditor/ckeditor5/issues/9825). */\n\tmargin: 0.9em 0;\n\n\t/* Make sure media is not overriden with Bootstrap default `flex` value.\n\tSee: https://github.com/ckeditor/ckeditor5/issues/1373. */\n\tdisplay: block;\n\n\t/* Give the media some minimal width in the content to prevent them\n\tfrom being "squashed" in tight spaces, e.g. in table cells (#44) */\n\tmin-width: 15em;\n}\n'],sourceRoot:""}]);const c=a},1922:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,'.ck-media__wrapper .ck-media__placeholder{align-items:center;display:flex;flex-direction:column}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url{max-width:100%;position:relative}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url .ck-media__placeholder__url__text{display:block;overflow:hidden}.ck-media__wrapper[data-oembed-url*="facebook.com"] .ck-media__placeholder__icon *,.ck-media__wrapper[data-oembed-url*="goo.gl/maps"] .ck-media__placeholder__icon *,.ck-media__wrapper[data-oembed-url*="google.com/maps"] .ck-media__placeholder__icon *,.ck-media__wrapper[data-oembed-url*="instagram.com"] .ck-media__placeholder__icon *,.ck-media__wrapper[data-oembed-url*="maps.app.goo.gl"] .ck-media__placeholder__icon *,.ck-media__wrapper[data-oembed-url*="maps.google.com"] .ck-media__placeholder__icon *,.ck-media__wrapper[data-oembed-url*="twitter.com"] .ck-media__placeholder__icon *{display:none}.ck-editor__editable:not(.ck-read-only) .ck-media__wrapper>:not(.ck-media__placeholder),.ck-editor__editable:not(.ck-read-only) .ck-widget:not(.ck-widget_selected) .ck-media__placeholder{pointer-events:none}:root{--ck-media-embed-placeholder-icon-size:3em;--ck-color-media-embed-placeholder-url-text:#757575;--ck-color-media-embed-placeholder-url-text-hover:var(--ck-color-base-text)}.ck-media__wrapper{margin:0 auto}.ck-media__wrapper .ck-media__placeholder{background:var(--ck-color-base-foreground);padding:calc(var(--ck-spacing-standard)*3)}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__icon{background-position:50%;background-size:cover;height:var(--ck-media-embed-placeholder-icon-size);margin-bottom:var(--ck-spacing-large);min-width:var(--ck-media-embed-placeholder-icon-size)}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__icon .ck-icon{height:100%;width:100%}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url__text{color:var(--ck-color-media-embed-placeholder-url-text);font-style:italic;text-align:center;text-overflow:ellipsis;white-space:nowrap}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url__text:hover{color:var(--ck-color-media-embed-placeholder-url-text-hover);cursor:pointer;text-decoration:underline}.ck-media__wrapper[data-oembed-url*="open.spotify.com"]{max-height:380px;max-width:300px}.ck-media__wrapper[data-oembed-url*="goo.gl/maps"] .ck-media__placeholder__icon,.ck-media__wrapper[data-oembed-url*="google.com/maps"] .ck-media__placeholder__icon,.ck-media__wrapper[data-oembed-url*="maps.app.goo.gl"] .ck-media__placeholder__icon,.ck-media__wrapper[data-oembed-url*="maps.google.com"] .ck-media__placeholder__icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNTAuMzc4IiBoZWlnaHQ9IjI1NC4xNjciIHZpZXdCb3g9IjAgMCA2Ni4yNDYgNjcuMjQ4Ij48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTcyLjUzMSAtMjE4LjQ1NSkgc2NhbGUoLjk4MDEyKSI+PHJlY3Qgcnk9IjUuMjM4IiByeD0iNS4yMzgiIHk9IjIzMS4zOTkiIHg9IjE3Ni4wMzEiIGhlaWdodD0iNjAuMDk5IiB3aWR0aD0iNjAuMDk5IiBmaWxsPSIjMzRhNjY4IiBwYWludC1vcmRlcj0ibWFya2VycyBzdHJva2UgZmlsbCIvPjxwYXRoIGQ9Im0yMDYuNDc3IDI2MC45LTI4Ljk4NyAyOC45ODdhNS4yMTggNS4yMTggMCAwIDAgMy43OCAxLjYxaDQ5LjYyMWMxLjY5NCAwIDMuMTktLjc5OCA0LjE0Ni0yLjAzN3oiIGZpbGw9IiM1Yzg4YzUiLz48cGF0aCBkPSJNMjI2Ljc0MiAyMjIuOTg4Yy05LjI2NiAwLTE2Ljc3NyA3LjE3LTE2Ljc3NyAxNi4wMTQuMDA3IDIuNzYyLjY2MyA1LjQ3NCAyLjA5MyA3Ljg3NS40My43MDMuODMgMS40MDggMS4xOSAyLjEwNy4zMzMuNTAyLjY1IDEuMDA1Ljk1IDEuNTA4LjM0My40NzcuNjczLjk1Ny45ODggMS40NCAxLjMxIDEuNzY5IDIuNSAzLjUwMiAzLjYzNyA1LjE2OC43OTMgMS4yNzUgMS42ODMgMi42NCAyLjQ2NiAzLjk5IDIuMzYzIDQuMDk0IDQuMDA3IDguMDkyIDQuNiAxMy45MTR2LjAxMmMuMTgyLjQxMi41MTYuNjY2Ljg3OS42NjcuNDAzLS4wMDEuNzY4LS4zMTQuOTMtLjc5OS42MDMtNS43NTYgMi4yMzgtOS43MjkgNC41ODUtMTMuNzk0Ljc4Mi0xLjM1IDEuNjczLTIuNzE1IDIuNDY1LTMuOTkgMS4xMzctMS42NjYgMi4zMjgtMy40IDMuNjM4LTUuMTY5LjMxNS0uNDgyLjY0NS0uOTYyLjk4OC0xLjQzOS4zLS41MDMuNjE3LTEuMDA2Ljk1LTEuNTA4LjM1OS0uNy43Ni0xLjQwNCAxLjE5LTIuMTA3IDEuNDI2LTIuNDAyIDItNS4xMTQgMi4wMDQtNy44NzUgMC04Ljg0NC03LjUxMS0xNi4wMTQtMTYuNzc2LTE2LjAxNHoiIGZpbGw9IiNkZDRiM2UiIHBhaW50LW9yZGVyPSJtYXJrZXJzIHN0cm9rZSBmaWxsIi8+PGVsbGlwc2Ugcnk9IjUuNTY0IiByeD0iNS44MjgiIGN5PSIyMzkuMDAyIiBjeD0iMjI2Ljc0MiIgZmlsbD0iIzgwMmQyNyIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48cGF0aCBkPSJNMTkwLjMwMSAyMzcuMjgzYy00LjY3IDAtOC40NTcgMy44NTMtOC40NTcgOC42MDZzMy43ODYgOC42MDcgOC40NTcgOC42MDdjMy4wNDMgMCA0LjgwNi0uOTU4IDYuMzM3LTIuNTE2IDEuNTMtMS41NTcgMi4wODctMy45MTMgMi4wODctNi4yOSAwLS4zNjItLjAyMy0uNzIyLS4wNjQtMS4wNzloLTguMjU3djMuMDQzaDQuODVjLS4xOTcuNzU5LS41MzEgMS40NS0xLjA1OCAxLjk4Ni0uOTQyLjk1OC0yLjAyOCAxLjU0OC0zLjkwMSAxLjU0OC0yLjg3NiAwLTUuMjA4LTIuMzcyLTUuMjA4LTUuMjk5IDAtMi45MjYgMi4zMzItNS4yOTkgNS4yMDgtNS4yOTkgMS4zOTkgMCAyLjYxOC40MDcgMy41ODQgMS4yOTNsMi4zODEtMi4zOGMwLS4wMDItLjAwMy0uMDA0LS4wMDQtLjAwNS0xLjU4OC0xLjUyNC0zLjYyLTIuMjE1LTUuOTU1LTIuMjE1em00LjQzIDUuNjYuMDAzLjAwNnYtLjAwM3oiIGZpbGw9IiNmZmYiIHBhaW50LW9yZGVyPSJtYXJrZXJzIHN0cm9rZSBmaWxsIi8+PHBhdGggZD0ibTIxNS4xODQgMjUxLjkyOS03Ljk4IDcuOTc5IDI4LjQ3NyAyOC40NzVhNS4yMzMgNS4yMzMgMCAwIDAgLjQ0OS0yLjEyM3YtMzEuMTY1Yy0uNDY5LjY3NS0uOTM0IDEuMzQ5LTEuMzgyIDIuMDA1LS43OTIgMS4yNzUtMS42ODIgMi42NC0yLjQ2NSAzLjk5LTIuMzQ3IDQuMDY1LTMuOTgyIDguMDM4LTQuNTg1IDEzLjc5NC0uMTYyLjQ4NS0uNTI3Ljc5OC0uOTMuNzk5LS4zNjMtLjAwMS0uNjk3LS4yNTUtLjg3OS0uNjY3di0uMDEyYy0uNTkzLTUuODIyLTIuMjM3LTkuODItNC42LTEzLjkxNC0uNzgzLTEuMzUtMS42NzMtMi43MTUtMi40NjYtMy45OS0xLjEzNy0xLjY2Ni0yLjMyNy0zLjQtMy42MzctNS4xNjlsLS4wMDItLjAwM3oiIGZpbGw9IiNjM2MzYzMiLz48cGF0aCBkPSJtMjEyLjk4MyAyNDguNDk1LTM2Ljk1MiAzNi45NTN2LjgxMmE1LjIyNyA1LjIyNyAwIDAgMCA1LjIzOCA1LjIzOGgxLjAxNWwzNS42NjYtMzUuNjY2YTEzNi4yNzUgMTM2LjI3NSAwIDAgMC0yLjc2NC0zLjkgMzcuNTc1IDM3LjU3NSAwIDAgMC0uOTg5LTEuNDQgMzUuMTI3IDM1LjEyNyAwIDAgMC0uOTUtMS41MDhjLS4wODMtLjE2Mi0uMTc2LS4zMjYtLjI2NC0uNDg5eiIgZmlsbD0iI2ZkZGM0ZiIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48cGF0aCBkPSJtMjExLjk5OCAyNjEuMDgzLTYuMTUyIDYuMTUxIDI0LjI2NCAyNC4yNjRoLjc4MWE1LjIyNyA1LjIyNyAwIDAgMCA1LjIzOS01LjIzOHYtMS4wNDV6IiBmaWxsPSIjZmZmIiBwYWludC1vcmRlcj0ibWFya2VycyBzdHJva2UgZmlsbCIvPjwvZz48L3N2Zz4=)}.ck-media__wrapper[data-oembed-url*="facebook.com"] .ck-media__placeholder{background:#4268b3}.ck-media__wrapper[data-oembed-url*="facebook.com"] .ck-media__placeholder .ck-media__placeholder__icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAyNCIgaGVpZ2h0PSIxMDI0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik05NjcuNDg0IDBINTYuNTE3QzI1LjMwNCAwIDAgMjUuMzA0IDAgNTYuNTE3djkxMC45NjZDMCA5OTguNjk0IDI1LjI5NyAxMDI0IDU2LjUyMiAxMDI0SDU0N1Y2MjhINDE0VjQ3M2gxMzNWMzU5LjAyOWMwLTEzMi4yNjIgODAuNzczLTIwNC4yODIgMTk4Ljc1Ni0yMDQuMjgyIDU2LjUxMyAwIDEwNS4wODYgNC4yMDggMTE5LjI0NCA2LjA4OVYyOTlsLTgxLjYxNi4wMzdjLTYzLjk5MyAwLTc2LjM4NCAzMC40OTItNzYuMzg0IDc1LjIzNlY0NzNoMTUzLjQ4N2wtMTkuOTg2IDE1NUg3MDd2Mzk2aDI2MC40ODRjMzEuMjEzIDAgNTYuNTE2LTI1LjMwMyA1Ni41MTYtNTYuNTE2VjU2LjUxNUMxMDI0IDI1LjMwMyA5OTguNjk3IDAgOTY3LjQ4NCAwIiBmaWxsPSIjRkZGRkZFIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4=)}.ck-media__wrapper[data-oembed-url*="facebook.com"] .ck-media__placeholder .ck-media__placeholder__url__text{color:#cdf}.ck-media__wrapper[data-oembed-url*="facebook.com"] .ck-media__placeholder .ck-media__placeholder__url__text:hover{color:#fff}.ck-media__wrapper[data-oembed-url*="instagram.com"] .ck-media__placeholder{background:linear-gradient(-135deg,#1400c7,#b800b1,#f50000)}.ck-media__wrapper[data-oembed-url*="instagram.com"] .ck-media__placeholder .ck-media__placeholder__icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTA0IiBoZWlnaHQ9IjUwNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PHBhdGggaWQ9ImEiIGQ9Ik0wIC4xNTloNTAzLjg0MVY1MDMuOTRIMHoiLz48L2RlZnM+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48bWFzayBpZD0iYiIgZmlsbD0iI2ZmZiI+PHVzZSB4bGluazpocmVmPSIjYSIvPjwvbWFzaz48cGF0aCBkPSJNMjUxLjkyMS4xNTljLTY4LjQxOCAwLTc2Ljk5Ny4yOS0xMDMuODY3IDEuNTE2LTI2LjgxNCAxLjIyMy00NS4xMjcgNS40ODItNjEuMTUxIDExLjcxLTE2LjU2NiA2LjQzNy0zMC42MTUgMTUuMDUxLTQ0LjYyMSAyOS4wNTYtMTQuMDA1IDE0LjAwNi0yMi42MTkgMjguMDU1LTI5LjA1NiA0NC42MjEtNi4yMjggMTYuMDI0LTEwLjQ4NyAzNC4zMzctMTEuNzEgNjEuMTUxQy4yOSAxNzUuMDgzIDAgMTgzLjY2MiAwIDI1Mi4wOGMwIDY4LjQxNy4yOSA3Ni45OTYgMS41MTYgMTAzLjg2NiAxLjIyMyAyNi44MTQgNS40ODIgNDUuMTI3IDExLjcxIDYxLjE1MSA2LjQzNyAxNi41NjYgMTUuMDUxIDMwLjYxNSAyOS4wNTYgNDQuNjIxIDE0LjAwNiAxNC4wMDUgMjguMDU1IDIyLjYxOSA0NC42MjEgMjkuMDU3IDE2LjAyNCA2LjIyNyAzNC4zMzcgMTAuNDg2IDYxLjE1MSAxMS43MDkgMjYuODcgMS4yMjYgMzUuNDQ5IDEuNTE2IDEwMy44NjcgMS41MTYgNjguNDE3IDAgNzYuOTk2LS4yOSAxMDMuODY2LTEuNTE2IDI2LjgxNC0xLjIyMyA0NS4xMjctNS40ODIgNjEuMTUxLTExLjcwOSAxNi41NjYtNi40MzggMzAuNjE1LTE1LjA1MiA0NC42MjEtMjkuMDU3IDE0LjAwNS0xNC4wMDYgMjIuNjE5LTI4LjA1NSAyOS4wNTctNDQuNjIxIDYuMjI3LTE2LjAyNCAxMC40ODYtMzQuMzM3IDExLjcwOS02MS4xNTEgMS4yMjYtMjYuODcgMS41MTYtMzUuNDQ5IDEuNTE2LTEwMy44NjYgMC02OC40MTgtLjI5LTc2Ljk5Ny0xLjUxNi0xMDMuODY3LTEuMjIzLTI2LjgxNC01LjQ4Mi00NS4xMjctMTEuNzA5LTYxLjE1MS02LjQzOC0xNi41NjYtMTUuMDUyLTMwLjYxNS0yOS4wNTctNDQuNjIxLTE0LjAwNi0xNC4wMDUtMjguMDU1LTIyLjYxOS00NC42MjEtMjkuMDU2LTE2LjAyNC02LjIyOC0zNC4zMzctMTAuNDg3LTYxLjE1MS0xMS43MUMzMjguOTE3LjQ0OSAzMjAuMzM4LjE1OSAyNTEuOTIxLjE1OVptMCA0NS4zOTFjNjcuMjY1IDAgNzUuMjMzLjI1NyAxMDEuNzk3IDEuNDY5IDI0LjU2MiAxLjEyIDM3LjkwMSA1LjIyNCA0Ni43NzggOC42NzQgMTEuNzU5IDQuNTcgMjAuMTUxIDEwLjAyOSAyOC45NjYgMTguODQ1IDguODE2IDguODE1IDE0LjI3NSAxNy4yMDcgMTguODQ1IDI4Ljk2NiAzLjQ1IDguODc3IDcuNTU0IDIyLjIxNiA4LjY3NCA0Ni43NzggMS4yMTIgMjYuNTY0IDEuNDY5IDM0LjUzMiAxLjQ2OSAxMDEuNzk4IDAgNjcuMjY1LS4yNTcgNzUuMjMzLTEuNDY5IDEwMS43OTctMS4xMiAyNC41NjItNS4yMjQgMzcuOTAxLTguNjc0IDQ2Ljc3OC00LjU3IDExLjc1OS0xMC4wMjkgMjAuMTUxLTE4Ljg0NSAyOC45NjYtOC44MTUgOC44MTYtMTcuMjA3IDE0LjI3NS0yOC45NjYgMTguODQ1LTguODc3IDMuNDUtMjIuMjE2IDcuNTU0LTQ2Ljc3OCA4LjY3NC0yNi41NiAxLjIxMi0zNC41MjcgMS40NjktMTAxLjc5NyAxLjQ2OS02Ny4yNzEgMC03NS4yMzctLjI1Ny0xMDEuNzk4LTEuNDY5LTI0LjU2Mi0xLjEyLTM3LjkwMS01LjIyNC00Ni43NzgtOC42NzQtMTEuNzU5LTQuNTctMjAuMTUxLTEwLjAyOS0yOC45NjYtMTguODQ1LTguODE1LTguODE1LTE0LjI3NS0xNy4yMDctMTguODQ1LTI4Ljk2Ni0zLjQ1LTguODc3LTcuNTU0LTIyLjIxNi04LjY3NC00Ni43NzgtMS4yMTItMjYuNTY0LTEuNDY5LTM0LjUzMi0xLjQ2OS0xMDEuNzk3IDAtNjcuMjY2LjI1Ny03NS4yMzQgMS40NjktMTAxLjc5OCAxLjEyLTI0LjU2MiA1LjIyNC0zNy45MDEgOC42NzQtNDYuNzc4IDQuNTctMTEuNzU5IDEwLjAyOS0yMC4xNTEgMTguODQ1LTI4Ljk2NiA4LjgxNS04LjgxNiAxNy4yMDctMTQuMjc1IDI4Ljk2Ni0xOC44NDUgOC44NzctMy40NSAyMi4yMTYtNy41NTQgNDYuNzc4LTguNjc0IDI2LjU2NC0xLjIxMiAzNC41MzItMS40NjkgMTAxLjc5OC0xLjQ2OVoiIGZpbGw9IiNGRkYiIG1hc2s9InVybCgjYikiLz48cGF0aCBkPSJNMjUxLjkyMSAzMzYuMDUzYy00Ni4zNzggMC04My45NzQtMzcuNTk2LTgzLjk3NC04My45NzMgMC00Ni4zNzggMzcuNTk2LTgzLjk3NCA4My45NzQtODMuOTc0IDQ2LjM3NyAwIDgzLjk3MyAzNy41OTYgODMuOTczIDgzLjk3NCAwIDQ2LjM3Ny0zNy41OTYgODMuOTczLTgzLjk3MyA4My45NzNabTAtMjEzLjMzOGMtNzEuNDQ3IDAtMTI5LjM2NSA1Ny45MTgtMTI5LjM2NSAxMjkuMzY1IDAgNzEuNDQ2IDU3LjkxOCAxMjkuMzY0IDEyOS4zNjUgMTI5LjM2NCA3MS40NDYgMCAxMjkuMzY0LTU3LjkxOCAxMjkuMzY0LTEyOS4zNjQgMC03MS40NDctNTcuOTE4LTEyOS4zNjUtMTI5LjM2NC0xMjkuMzY1Wk00MTYuNjI3IDExNy42MDRjMCAxNi42OTYtMTMuNTM1IDMwLjIzLTMwLjIzMSAzMC4yMy0xNi42OTUgMC0zMC4yMy0xMy41MzQtMzAuMjMtMzAuMjMgMC0xNi42OTYgMTMuNTM1LTMwLjIzMSAzMC4yMy0zMC4yMzEgMTYuNjk2IDAgMzAuMjMxIDEzLjUzNSAzMC4yMzEgMzAuMjMxIiBmaWxsPSIjRkZGIi8+PC9nPjwvc3ZnPg==)}.ck-media__wrapper[data-oembed-url*="instagram.com"] .ck-media__placeholder .ck-media__placeholder__url__text{color:#ffe0fe}.ck-media__wrapper[data-oembed-url*="instagram.com"] .ck-media__placeholder .ck-media__placeholder__url__text:hover{color:#fff}.ck-media__wrapper[data-oembed-url*="twitter.com"] .ck.ck-media__placeholder{background:linear-gradient(90deg,#71c6f4,#0d70a5)}.ck-media__wrapper[data-oembed-url*="twitter.com"] .ck.ck-media__placeholder .ck-media__placeholder__icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0MDAgNDAwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA0MDAgNDAwIiB4bWw6c3BhY2U9InByZXNlcnZlIj48cGF0aCBkPSJNNDAwIDIwMGMwIDExMC41LTg5LjUgMjAwLTIwMCAyMDBTMCAzMTAuNSAwIDIwMCA4OS41IDAgMjAwIDBzMjAwIDg5LjUgMjAwIDIwMHpNMTYzLjQgMzA1LjVjODguNyAwIDEzNy4yLTczLjUgMTM3LjItMTM3LjIgMC0yLjEgMC00LjItLjEtNi4yIDkuNC02LjggMTcuNi0xNS4zIDI0LjEtMjUtOC42IDMuOC0xNy45IDYuNC0yNy43IDcuNiAxMC02IDE3LjYtMTUuNCAyMS4yLTI2LjctOS4zIDUuNS0xOS42IDkuNS0zMC42IDExLjctOC44LTkuNC0yMS4zLTE1LjItMzUuMi0xNS4yLTI2LjYgMC00OC4yIDIxLjYtNDguMiA0OC4yIDAgMy44LjQgNy41IDEuMyAxMS00MC4xLTItNzUuNi0yMS4yLTk5LjQtNTAuNC00LjEgNy4xLTYuNSAxNS40LTYuNSAyNC4yIDAgMTYuNyA4LjUgMzEuNSAyMS41IDQwLjEtNy45LS4yLTE1LjMtMi40LTIxLjgtNnYuNmMwIDIzLjQgMTYuNiA0Mi44IDM4LjcgNDcuMy00IDEuMS04LjMgMS43LTEyLjcgMS43LTMuMSAwLTYuMS0uMy05LjEtLjkgNi4xIDE5LjIgMjMuOSAzMy4xIDQ1IDMzLjUtMTYuNSAxMi45LTM3LjMgMjAuNi01OS45IDIwLjYtMy45IDAtNy43LS4yLTExLjUtLjcgMjEuMSAxMy44IDQ2LjUgMjEuOCA3My43IDIxLjgiIHN0eWxlPSJmaWxsOiNmZmYiLz48L3N2Zz4=)}.ck-media__wrapper[data-oembed-url*="twitter.com"] .ck.ck-media__placeholder .ck-media__placeholder__url__text{color:#b8e6ff}.ck-media__wrapper[data-oembed-url*="twitter.com"] .ck.ck-media__placeholder .ck-media__placeholder__url__text:hover{color:#fff}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-media-embed/theme/mediaembedediting.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-media-embed/mediaembedediting.css"],names:[],mappings:"AAMC,0CAGC,kBAAmB,CAFnB,YAAa,CACb,qBAcD,CAXC,sEAEC,cAAe,CAEf,iBAMD,CAJC,wGAEC,aAAc,CADd,eAED,CAWD,6kBACC,YACD,CAYF,2LACC,mBACD,CC1CA,MACC,0CAA2C,CAE3C,mDAA4D,CAC5D,2EACD,CAEA,mBACC,aA+FD,CA7FC,0CAEC,0CAA2C,CAD3C,0CA6BD,CA1BC,uEAIC,uBAA2B,CAC3B,qBAAsB,CAHtB,kDAAmD,CACnD,qCAAsC,CAFtC,qDAUD,CAJC,gFAEC,WAAY,CADZ,UAED,CAGD,4EACC,sDAAuD,CAGvD,iBAAkB,CADlB,iBAAkB,CAElB,sBAAuB,CAHvB,kBAUD,CALC,kFACC,4DAA6D,CAC7D,cAAe,CACf,yBACD,CAIF,wDAEC,gBAAiB,CADjB,eAED,CAEA,4UAIC,wvGACD,CAEA,2EACC,kBAaD,CAXC,wGACC,orBACD,CAEA,6GACC,UAKD,CAHC,mHACC,UACD,CAIF,4EACC,2DAcD,CAZC,yGACC,4jHACD,CAGA,8GACC,aAKD,CAHC,oHACC,UACD,CAIF,6EAEC,iDAaD,CAXC,0GACC,wiCACD,CAEA,+GACC,aAKD,CAHC,qHACC,UACD",sourcesContent:['/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck-media__wrapper {\n\t& .ck-media__placeholder {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\talign-items: center;\n\n\t\t& .ck-media__placeholder__url {\n\t\t\t/* Otherwise the URL will overflow when the content is very narrow. */\n\t\t\tmax-width: 100%;\n\n\t\t\tposition: relative;\n\n\t\t\t& .ck-media__placeholder__url__text {\n\t\t\t\toverflow: hidden;\n\t\t\t\tdisplay: block;\n\t\t\t}\n\t\t}\n\t}\n\n\t&[data-oembed-url*="twitter.com"],\n\t&[data-oembed-url*="google.com/maps"],\n\t&[data-oembed-url*="goo.gl/maps"],\n\t&[data-oembed-url*="maps.google.com"],\n\t&[data-oembed-url*="maps.app.goo.gl"],\n\t&[data-oembed-url*="facebook.com"],\n\t&[data-oembed-url*="instagram.com"] {\n\t\t& .ck-media__placeholder__icon * {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n}\n\n/* Disable all mouse interaction as long as the editor is not read–only.\n https://github.com/ckeditor/ckeditor5-media-embed/issues/58 */\n.ck-editor__editable:not(.ck-read-only) .ck-media__wrapper > *:not(.ck-media__placeholder) {\n\tpointer-events: none;\n}\n\n/* Disable all mouse interaction when the widget is not selected (e.g. to avoid opening links by accident).\n https://github.com/ckeditor/ckeditor5-media-embed/issues/18 */\n.ck-editor__editable:not(.ck-read-only) .ck-widget:not(.ck-widget_selected) .ck-media__placeholder {\n\tpointer-events: none;\n}\n','/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-media-embed-placeholder-icon-size: 3em;\n\n\t--ck-color-media-embed-placeholder-url-text: hsl(0, 0%, 46%);\n\t--ck-color-media-embed-placeholder-url-text-hover: var(--ck-color-base-text);\n}\n\n.ck-media__wrapper {\n\tmargin: 0 auto;\n\n\t& .ck-media__placeholder {\n\t\tpadding: calc( 3 * var(--ck-spacing-standard) );\n\t\tbackground: var(--ck-color-base-foreground);\n\n\t\t& .ck-media__placeholder__icon {\n\t\t\tmin-width: var(--ck-media-embed-placeholder-icon-size);\n\t\t\theight: var(--ck-media-embed-placeholder-icon-size);\n\t\t\tmargin-bottom: var(--ck-spacing-large);\n\t\t\tbackground-position: center;\n\t\t\tbackground-size: cover;\n\n\t\t\t& .ck-icon {\n\t\t\t\twidth: 100%;\n\t\t\t\theight: 100%;\n\t\t\t}\n\t\t}\n\n\t\t& .ck-media__placeholder__url__text {\n\t\t\tcolor: var(--ck-color-media-embed-placeholder-url-text);\n\t\t\twhite-space: nowrap;\n\t\t\ttext-align: center;\n\t\t\tfont-style: italic;\n\t\t\ttext-overflow: ellipsis;\n\n\t\t\t&:hover {\n\t\t\t\tcolor: var(--ck-color-media-embed-placeholder-url-text-hover);\n\t\t\t\tcursor: pointer;\n\t\t\t\ttext-decoration: underline;\n\t\t\t}\n\t\t}\n\t}\n\n\t&[data-oembed-url*="open.spotify.com"] {\n\t\tmax-width: 300px;\n\t\tmax-height: 380px;\n\t}\n\n\t&[data-oembed-url*="google.com/maps"] .ck-media__placeholder__icon,\n\t&[data-oembed-url*="goo.gl/maps"] .ck-media__placeholder__icon,\n\t&[data-oembed-url*="maps.google.com"] .ck-media__placeholder__icon,\n\t&[data-oembed-url*="maps.app.goo.gl"] .ck-media__placeholder__icon {\n\t\tbackground-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNTAuMzc4IiBoZWlnaHQ9IjI1NC4xNjciIHZpZXdCb3g9IjAgMCA2Ni4yNDYgNjcuMjQ4Ij48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTcyLjUzMSAtMjE4LjQ1NSkgc2NhbGUoLjk4MDEyKSI+PHJlY3Qgcnk9IjUuMjM4IiByeD0iNS4yMzgiIHk9IjIzMS4zOTkiIHg9IjE3Ni4wMzEiIGhlaWdodD0iNjAuMDk5IiB3aWR0aD0iNjAuMDk5IiBmaWxsPSIjMzRhNjY4IiBwYWludC1vcmRlcj0ibWFya2VycyBzdHJva2UgZmlsbCIvPjxwYXRoIGQ9Ik0yMDYuNDc3IDI2MC45bC0yOC45ODcgMjguOTg3YTUuMjE4IDUuMjE4IDAgMCAwIDMuNzggMS42MWg0OS42MjFjMS42OTQgMCAzLjE5LS43OTggNC4xNDYtMi4wMzd6IiBmaWxsPSIjNWM4OGM1Ii8+PHBhdGggZD0iTTIyNi43NDIgMjIyLjk4OGMtOS4yNjYgMC0xNi43NzcgNy4xNy0xNi43NzcgMTYuMDE0LjAwNyAyLjc2Mi42NjMgNS40NzQgMi4wOTMgNy44NzUuNDMuNzAzLjgzIDEuNDA4IDEuMTkgMi4xMDcuMzMzLjUwMi42NSAxLjAwNS45NSAxLjUwOC4zNDMuNDc3LjY3My45NTcuOTg4IDEuNDQgMS4zMSAxLjc2OSAyLjUgMy41MDIgMy42MzcgNS4xNjguNzkzIDEuMjc1IDEuNjgzIDIuNjQgMi40NjYgMy45OSAyLjM2MyA0LjA5NCA0LjAwNyA4LjA5MiA0LjYgMTMuOTE0di4wMTJjLjE4Mi40MTIuNTE2LjY2Ni44NzkuNjY3LjQwMy0uMDAxLjc2OC0uMzE0LjkzLS43OTkuNjAzLTUuNzU2IDIuMjM4LTkuNzI5IDQuNTg1LTEzLjc5NC43ODItMS4zNSAxLjY3My0yLjcxNSAyLjQ2NS0zLjk5IDEuMTM3LTEuNjY2IDIuMzI4LTMuNCAzLjYzOC01LjE2OS4zMTUtLjQ4Mi42NDUtLjk2Mi45ODgtMS40MzkuMy0uNTAzLjYxNy0xLjAwNi45NS0xLjUwOC4zNTktLjcuNzYtMS40MDQgMS4xOS0yLjEwNyAxLjQyNi0yLjQwMiAyLTUuMTE0IDIuMDA0LTcuODc1IDAtOC44NDQtNy41MTEtMTYuMDE0LTE2Ljc3Ni0xNi4wMTR6IiBmaWxsPSIjZGQ0YjNlIiBwYWludC1vcmRlcj0ibWFya2VycyBzdHJva2UgZmlsbCIvPjxlbGxpcHNlIHJ5PSI1LjU2NCIgcng9IjUuODI4IiBjeT0iMjM5LjAwMiIgY3g9IjIyNi43NDIiIGZpbGw9IiM4MDJkMjciIHBhaW50LW9yZGVyPSJtYXJrZXJzIHN0cm9rZSBmaWxsIi8+PHBhdGggZD0iTTE5MC4zMDEgMjM3LjI4M2MtNC42NyAwLTguNDU3IDMuODUzLTguNDU3IDguNjA2czMuNzg2IDguNjA3IDguNDU3IDguNjA3YzMuMDQzIDAgNC44MDYtLjk1OCA2LjMzNy0yLjUxNiAxLjUzLTEuNTU3IDIuMDg3LTMuOTEzIDIuMDg3LTYuMjkgMC0uMzYyLS4wMjMtLjcyMi0uMDY0LTEuMDc5aC04LjI1N3YzLjA0M2g0Ljg1Yy0uMTk3Ljc1OS0uNTMxIDEuNDUtMS4wNTggMS45ODYtLjk0Mi45NTgtMi4wMjggMS41NDgtMy45MDEgMS41NDgtMi44NzYgMC01LjIwOC0yLjM3Mi01LjIwOC01LjI5OSAwLTIuOTI2IDIuMzMyLTUuMjk5IDUuMjA4LTUuMjk5IDEuMzk5IDAgMi42MTguNDA3IDMuNTg0IDEuMjkzbDIuMzgxLTIuMzhjMC0uMDAyLS4wMDMtLjAwNC0uMDA0LS4wMDUtMS41ODgtMS41MjQtMy42Mi0yLjIxNS01Ljk1NS0yLjIxNXptNC40MyA1LjY2bC4wMDMuMDA2di0uMDAzeiIgZmlsbD0iI2ZmZiIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48cGF0aCBkPSJNMjE1LjE4NCAyNTEuOTI5bC03Ljk4IDcuOTc5IDI4LjQ3NyAyOC40NzVjLjI4Ny0uNjQ5LjQ0OS0xLjM2Ni40NDktMi4xMjN2LTMxLjE2NWMtLjQ2OS42NzUtLjkzNCAxLjM0OS0xLjM4MiAyLjAwNS0uNzkyIDEuMjc1LTEuNjgyIDIuNjQtMi40NjUgMy45OS0yLjM0NyA0LjA2NS0zLjk4MiA4LjAzOC00LjU4NSAxMy43OTQtLjE2Mi40ODUtLjUyNy43OTgtLjkzLjc5OS0uMzYzLS4wMDEtLjY5Ny0uMjU1LS44NzktLjY2N3YtLjAxMmMtLjU5My01LjgyMi0yLjIzNy05LjgyLTQuNi0xMy45MTQtLjc4My0xLjM1LTEuNjczLTIuNzE1LTIuNDY2LTMuOTktMS4xMzctMS42NjYtMi4zMjctMy40LTMuNjM3LTUuMTY5bC0uMDAyLS4wMDN6IiBmaWxsPSIjYzNjM2MzIi8+PHBhdGggZD0iTTIxMi45ODMgMjQ4LjQ5NWwtMzYuOTUyIDM2Ljk1M3YuODEyYTUuMjI3IDUuMjI3IDAgMCAwIDUuMjM4IDUuMjM4aDEuMDE1bDM1LjY2Ni0zNS42NjZhMTM2LjI3NSAxMzYuMjc1IDAgMCAwLTIuNzY0LTMuOSAzNy41NzUgMzcuNTc1IDAgMCAwLS45ODktMS40NGMtLjI5OS0uNTAzLS42MTYtMS4wMDYtLjk1LTEuNTA4LS4wODMtLjE2Mi0uMTc2LS4zMjYtLjI2NC0uNDg5eiIgZmlsbD0iI2ZkZGM0ZiIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48cGF0aCBkPSJNMjExLjk5OCAyNjEuMDgzbC02LjE1MiA2LjE1MSAyNC4yNjQgMjQuMjY0aC43ODFhNS4yMjcgNS4yMjcgMCAwIDAgNS4yMzktNS4yMzh2LTEuMDQ1eiIgZmlsbD0iI2ZmZiIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48L2c+PC9zdmc+);\n\t}\n\n\t&[data-oembed-url*="facebook.com"] .ck-media__placeholder {\n\t\tbackground: hsl(220, 46%, 48%);\n\n\t\t& .ck-media__placeholder__icon {\n\t\t\tbackground-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSIxMDI0cHgiIGhlaWdodD0iMTAyNHB4IiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPiAgICAgICAgPHRpdGxlPkZpbGwgMTwvdGl0bGU+ICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPiAgICA8ZGVmcz48L2RlZnM+ICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPiAgICAgICAgPGcgaWQ9ImZMb2dvX1doaXRlIiBmaWxsPSIjRkZGRkZFIj4gICAgICAgICAgICA8cGF0aCBkPSJNOTY3LjQ4NCwwIEw1Ni41MTcsMCBDMjUuMzA0LDAgMCwyNS4zMDQgMCw1Ni41MTcgTDAsOTY3LjQ4MyBDMCw5OTguNjk0IDI1LjI5NywxMDI0IDU2LjUyMiwxMDI0IEw1NDcsMTAyNCBMNTQ3LDYyOCBMNDE0LDYyOCBMNDE0LDQ3MyBMNTQ3LDQ3MyBMNTQ3LDM1OS4wMjkgQzU0NywyMjYuNzY3IDYyNy43NzMsMTU0Ljc0NyA3NDUuNzU2LDE1NC43NDcgQzgwMi4yNjksMTU0Ljc0NyA4NTAuODQyLDE1OC45NTUgODY1LDE2MC44MzYgTDg2NSwyOTkgTDc4My4zODQsMjk5LjAzNyBDNzE5LjM5MSwyOTkuMDM3IDcwNywzMjkuNTI5IDcwNywzNzQuMjczIEw3MDcsNDczIEw4NjAuNDg3LDQ3MyBMODQwLjUwMSw2MjggTDcwNyw2MjggTDcwNywxMDI0IEw5NjcuNDg0LDEwMjQgQzk5OC42OTcsMTAyNCAxMDI0LDk5OC42OTcgMTAyNCw5NjcuNDg0IEwxMDI0LDU2LjUxNSBDMTAyNCwyNS4zMDMgOTk4LjY5NywwIDk2Ny40ODQsMCIgaWQ9IkZpbGwtMSI+PC9wYXRoPiAgICAgICAgPC9nPiAgICA8L2c+PC9zdmc+);\n\t\t}\n\n\t\t& .ck-media__placeholder__url__text {\n\t\t\tcolor: hsl(220, 100%, 90%);\n\n\t\t\t&:hover {\n\t\t\t\tcolor: hsl(0, 0%, 100%);\n\t\t\t}\n\t\t}\n\t}\n\n\t&[data-oembed-url*="instagram.com"] .ck-media__placeholder {\n\t\tbackground: linear-gradient(-135deg,hsl(246, 100%, 39%),hsl(302, 100%, 36%),hsl(0, 100%, 48%));\n\n\t\t& .ck-media__placeholder__icon {\n\t\t\tbackground-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSI1MDRweCIgaGVpZ2h0PSI1MDRweCIgdmlld0JveD0iMCAwIDUwNCA1MDQiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+ICAgICAgICA8dGl0bGU+Z2x5cGgtbG9nb19NYXkyMDE2PC90aXRsZT4gICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+ICAgIDxkZWZzPiAgICAgICAgPHBvbHlnb24gaWQ9InBhdGgtMSIgcG9pbnRzPSIwIDAuMTU5IDUwMy44NDEgMC4xNTkgNTAzLjg0MSA1MDMuOTQgMCA1MDMuOTQiPjwvcG9seWdvbj4gICAgPC9kZWZzPiAgICA8ZyBpZD0iZ2x5cGgtbG9nb19NYXkyMDE2IiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4gICAgICAgIDxnIGlkPSJHcm91cC0zIj4gICAgICAgICAgICA8bWFzayBpZD0ibWFzay0yIiBmaWxsPSJ3aGl0ZSI+ICAgICAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI3BhdGgtMSI+PC91c2U+ICAgICAgICAgICAgPC9tYXNrPiAgICAgICAgICAgIDxnIGlkPSJDbGlwLTIiPjwvZz4gICAgICAgICAgICA8cGF0aCBkPSJNMjUxLjkyMSwwLjE1OSBDMTgzLjUwMywwLjE1OSAxNzQuOTI0LDAuNDQ5IDE0OC4wNTQsMS42NzUgQzEyMS4yNCwyLjg5OCAxMDIuOTI3LDcuMTU3IDg2LjkwMywxMy4zODUgQzcwLjMzNywxOS44MjIgNTYuMjg4LDI4LjQzNiA0Mi4yODIsNDIuNDQxIEMyOC4yNzcsNTYuNDQ3IDE5LjY2Myw3MC40OTYgMTMuMjI2LDg3LjA2MiBDNi45OTgsMTAzLjA4NiAyLjczOSwxMjEuMzk5IDEuNTE2LDE0OC4yMTMgQzAuMjksMTc1LjA4MyAwLDE4My42NjIgMCwyNTIuMDggQzAsMzIwLjQ5NyAwLjI5LDMyOS4wNzYgMS41MTYsMzU1Ljk0NiBDMi43MzksMzgyLjc2IDYuOTk4LDQwMS4wNzMgMTMuMjI2LDQxNy4wOTcgQzE5LjY2Myw0MzMuNjYzIDI4LjI3Nyw0NDcuNzEyIDQyLjI4Miw0NjEuNzE4IEM1Ni4yODgsNDc1LjcyMyA3MC4zMzcsNDg0LjMzNyA4Ni45MDMsNDkwLjc3NSBDMTAyLjkyNyw0OTcuMDAyIDEyMS4yNCw1MDEuMjYxIDE0OC4wNTQsNTAyLjQ4NCBDMTc0LjkyNCw1MDMuNzEgMTgzLjUwMyw1MDQgMjUxLjkyMSw1MDQgQzMyMC4zMzgsNTA0IDMyOC45MTcsNTAzLjcxIDM1NS43ODcsNTAyLjQ4NCBDMzgyLjYwMSw1MDEuMjYxIDQwMC45MTQsNDk3LjAwMiA0MTYuOTM4LDQ5MC43NzUgQzQzMy41MDQsNDg0LjMzNyA0NDcuNTUzLDQ3NS43MjMgNDYxLjU1OSw0NjEuNzE4IEM0NzUuNTY0LDQ0Ny43MTIgNDg0LjE3OCw0MzMuNjYzIDQ5MC42MTYsNDE3LjA5NyBDNDk2Ljg0Myw0MDEuMDczIDUwMS4xMDIsMzgyLjc2IDUwMi4zMjUsMzU1Ljk0NiBDNTAzLjU1MSwzMjkuMDc2IDUwMy44NDEsMzIwLjQ5NyA1MDMuODQxLDI1Mi4wOCBDNTAzLjg0MSwxODMuNjYyIDUwMy41NTEsMTc1LjA4MyA1MDIuMzI1LDE0OC4yMTMgQzUwMS4xMDIsMTIxLjM5OSA0OTYuODQzLDEwMy4wODYgNDkwLjYxNiw4Ny4wNjIgQzQ4NC4xNzgsNzAuNDk2IDQ3NS41NjQsNTYuNDQ3IDQ2MS41NTksNDIuNDQxIEM0NDcuNTUzLDI4LjQzNiA0MzMuNTA0LDE5LjgyMiA0MTYuOTM4LDEzLjM4NSBDNDAwLjkxNCw3LjE1NyAzODIuNjAxLDIuODk4IDM1NS43ODcsMS42NzUgQzMyOC45MTcsMC40NDkgMzIwLjMzOCwwLjE1OSAyNTEuOTIxLDAuMTU5IFogTTI1MS45MjEsNDUuNTUgQzMxOS4xODYsNDUuNTUgMzI3LjE1NCw0NS44MDcgMzUzLjcxOCw0Ny4wMTkgQzM3OC4yOCw0OC4xMzkgMzkxLjYxOSw1Mi4yNDMgNDAwLjQ5Niw1NS42OTMgQzQxMi4yNTUsNjAuMjYzIDQyMC42NDcsNjUuNzIyIDQyOS40NjIsNzQuNTM4IEM0MzguMjc4LDgzLjM1MyA0NDMuNzM3LDkxLjc0NSA0NDguMzA3LDEwMy41MDQgQzQ1MS43NTcsMTEyLjM4MSA0NTUuODYxLDEyNS43MiA0NTYuOTgxLDE1MC4yODIgQzQ1OC4xOTMsMTc2Ljg0NiA0NTguNDUsMTg0LjgxNCA0NTguNDUsMjUyLjA4IEM0NTguNDUsMzE5LjM0NSA0NTguMTkzLDMyNy4zMTMgNDU2Ljk4MSwzNTMuODc3IEM0NTUuODYxLDM3OC40MzkgNDUxLjc1NywzOTEuNzc4IDQ0OC4zMDcsNDAwLjY1NSBDNDQzLjczNyw0MTIuNDE0IDQzOC4yNzgsNDIwLjgwNiA0MjkuNDYyLDQyOS42MjEgQzQyMC42NDcsNDM4LjQzNyA0MTIuMjU1LDQ0My44OTYgNDAwLjQ5Niw0NDguNDY2IEMzOTEuNjE5LDQ1MS45MTYgMzc4LjI4LDQ1Ni4wMiAzNTMuNzE4LDQ1Ny4xNCBDMzI3LjE1OCw0NTguMzUyIDMxOS4xOTEsNDU4LjYwOSAyNTEuOTIxLDQ1OC42MDkgQzE4NC42NSw0NTguNjA5IDE3Ni42ODQsNDU4LjM1MiAxNTAuMTIzLDQ1Ny4xNCBDMTI1LjU2MSw0NTYuMDIgMTEyLjIyMiw0NTEuOTE2IDEwMy4zNDUsNDQ4LjQ2NiBDOTEuNTg2LDQ0My44OTYgODMuMTk0LDQzOC40MzcgNzQuMzc5LDQyOS42MjEgQzY1LjU2NCw0MjAuODA2IDYwLjEwNCw0MTIuNDE0IDU1LjUzNCw0MDAuNjU1IEM1Mi4wODQsMzkxLjc3OCA0Ny45OCwzNzguNDM5IDQ2Ljg2LDM1My44NzcgQzQ1LjY0OCwzMjcuMzEzIDQ1LjM5MSwzMTkuMzQ1IDQ1LjM5MSwyNTIuMDggQzQ1LjM5MSwxODQuODE0IDQ1LjY0OCwxNzYuODQ2IDQ2Ljg2LDE1MC4yODIgQzQ3Ljk4LDEyNS43MiA1Mi4wODQsMTEyLjM4MSA1NS41MzQsMTAzLjUwNCBDNjAuMTA0LDkxLjc0NSA2NS41NjMsODMuMzUzIDc0LjM3OSw3NC41MzggQzgzLjE5NCw2NS43MjIgOTEuNTg2LDYwLjI2MyAxMDMuMzQ1LDU1LjY5MyBDMTEyLjIyMiw1Mi4yNDMgMTI1LjU2MSw0OC4xMzkgMTUwLjEyMyw0Ny4wMTkgQzE3Ni42ODcsNDUuODA3IDE4NC42NTUsNDUuNTUgMjUxLjkyMSw0NS41NSBaIiBpZD0iRmlsbC0xIiBmaWxsPSIjRkZGRkZGIiBtYXNrPSJ1cmwoI21hc2stMikiPjwvcGF0aD4gICAgICAgIDwvZz4gICAgICAgIDxwYXRoIGQ9Ik0yNTEuOTIxLDMzNi4wNTMgQzIwNS41NDMsMzM2LjA1MyAxNjcuOTQ3LDI5OC40NTcgMTY3Ljk0NywyNTIuMDggQzE2Ny45NDcsMjA1LjcwMiAyMDUuNTQzLDE2OC4xMDYgMjUxLjkyMSwxNjguMTA2IEMyOTguMjk4LDE2OC4xMDYgMzM1Ljg5NCwyMDUuNzAyIDMzNS44OTQsMjUyLjA4IEMzMzUuODk0LDI5OC40NTcgMjk4LjI5OCwzMzYuMDUzIDI1MS45MjEsMzM2LjA1MyBaIE0yNTEuOTIxLDEyMi43MTUgQzE4MC40NzQsMTIyLjcxNSAxMjIuNTU2LDE4MC42MzMgMTIyLjU1NiwyNTIuMDggQzEyMi41NTYsMzIzLjUyNiAxODAuNDc0LDM4MS40NDQgMjUxLjkyMSwzODEuNDQ0IEMzMjMuMzY3LDM4MS40NDQgMzgxLjI4NSwzMjMuNTI2IDM4MS4yODUsMjUyLjA4IEMzODEuMjg1LDE4MC42MzMgMzIzLjM2NywxMjIuNzE1IDI1MS45MjEsMTIyLjcxNSBaIiBpZD0iRmlsbC00IiBmaWxsPSIjRkZGRkZGIj48L3BhdGg+ICAgICAgICA8cGF0aCBkPSJNNDE2LjYyNywxMTcuNjA0IEM0MTYuNjI3LDEzNC4zIDQwMy4wOTIsMTQ3LjgzNCAzODYuMzk2LDE0Ny44MzQgQzM2OS43MDEsMTQ3LjgzNCAzNTYuMTY2LDEzNC4zIDM1Ni4xNjYsMTE3LjYwNCBDMzU2LjE2NiwxMDAuOTA4IDM2OS43MDEsODcuMzczIDM4Ni4zOTYsODcuMzczIEM0MDMuMDkyLDg3LjM3MyA0MTYuNjI3LDEwMC45MDggNDE2LjYyNywxMTcuNjA0IiBpZD0iRmlsbC01IiBmaWxsPSIjRkZGRkZGIj48L3BhdGg+ICAgIDwvZz48L3N2Zz4=);\n\t\t}\n\n\t\t/* stylelint-disable-next-line no-descending-specificity */\n\t\t& .ck-media__placeholder__url__text {\n\t\t\tcolor: hsl(302, 100%, 94%);\n\n\t\t\t&:hover {\n\t\t\t\tcolor: hsl(0, 0%, 100%);\n\t\t\t}\n\t\t}\n\t}\n\n\t&[data-oembed-url*="twitter.com"] .ck.ck-media__placeholder {\n\t\t/* Use gradient to contrast with focused widget (ckeditor/ckeditor5-media-embed#22). */\n\t\tbackground: linear-gradient( to right, hsl(201, 85%, 70%), hsl(201, 85%, 35%) );\n\n\t\t& .ck-media__placeholder__icon {\n\t\t\tbackground-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgaWQ9IldoaXRlIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDQwMCA0MDAiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDQwMCA0MDA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj48c3R5bGUgdHlwZT0idGV4dC9jc3MiPi5zdDB7ZmlsbDojRkZGRkZGO308L3N0eWxlPjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik00MDAsMjAwYzAsMTEwLjUtODkuNSwyMDAtMjAwLDIwMFMwLDMxMC41LDAsMjAwUzg5LjUsMCwyMDAsMFM0MDAsODkuNSw0MDAsMjAweiBNMTYzLjQsMzA1LjVjODguNywwLDEzNy4yLTczLjUsMTM3LjItMTM3LjJjMC0yLjEsMC00LjItMC4xLTYuMmM5LjQtNi44LDE3LjYtMTUuMywyNC4xLTI1Yy04LjYsMy44LTE3LjksNi40LTI3LjcsNy42YzEwLTYsMTcuNi0xNS40LDIxLjItMjYuN2MtOS4zLDUuNS0xOS42LDkuNS0zMC42LDExLjdjLTguOC05LjQtMjEuMy0xNS4yLTM1LjItMTUuMmMtMjYuNiwwLTQ4LjIsMjEuNi00OC4yLDQ4LjJjMCwzLjgsMC40LDcuNSwxLjMsMTFjLTQwLjEtMi03NS42LTIxLjItOTkuNC01MC40Yy00LjEsNy4xLTYuNSwxNS40LTYuNSwyNC4yYzAsMTYuNyw4LjUsMzEuNSwyMS41LDQwLjFjLTcuOS0wLjItMTUuMy0yLjQtMjEuOC02YzAsMC4yLDAsMC40LDAsMC42YzAsMjMuNCwxNi42LDQyLjgsMzguNyw0Ny4zYy00LDEuMS04LjMsMS43LTEyLjcsMS43Yy0zLjEsMC02LjEtMC4zLTkuMS0wLjljNi4xLDE5LjIsMjMuOSwzMy4xLDQ1LDMzLjVjLTE2LjUsMTIuOS0zNy4zLDIwLjYtNTkuOSwyMC42Yy0zLjksMC03LjctMC4yLTExLjUtMC43QzExMC44LDI5Ny41LDEzNi4yLDMwNS41LDE2My40LDMwNS41Ii8+PC9zdmc+);\n\t\t}\n\n\t\t& .ck-media__placeholder__url__text {\n\t\t\tcolor: hsl(201, 100%, 86%);\n\n\t\t\t&:hover {\n\t\t\t\tcolor: hsl(0, 0%, 100%);\n\t\t\t}\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);const c=a},7138:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck.ck-media-form{align-items:flex-start;display:flex;flex-direction:row;flex-wrap:nowrap}.ck.ck-media-form .ck-labeled-field-view{display:inline-block}.ck.ck-media-form .ck-label{display:none}@media screen and (max-width:600px){.ck.ck-media-form{flex-wrap:wrap}.ck.ck-media-form .ck-labeled-field-view{flex-basis:100%}.ck.ck-media-form .ck-button{flex-basis:50%}}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-media-embed/theme/mediaform.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css"],names:[],mappings:"AAOA,kBAEC,sBAAuB,CADvB,YAAa,CAEb,kBAAmB,CACnB,gBAqBD,CAnBC,yCACC,oBACD,CAEA,4BACC,YACD,CCbA,oCDCD,kBAeE,cAUF,CARE,yCACC,eACD,CAEA,6BACC,cACD,CCtBD",sourcesContent:['/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css";\n\n.ck.ck-media-form {\n\tdisplay: flex;\n\talign-items: flex-start;\n\tflex-direction: row;\n\tflex-wrap: nowrap;\n\n\t& .ck-labeled-field-view {\n\t\tdisplay: inline-block;\n\t}\n\n\t& .ck-label {\n\t\tdisplay: none;\n\t}\n\n\t@mixin ck-media-phone {\n\t\tflex-wrap: wrap;\n\n\t\t& .ck-labeled-field-view {\n\t\t\tflex-basis: 100%;\n\t\t}\n\n\t\t& .ck-button {\n\t\t\tflex-basis: 50%;\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@define-mixin ck-media-phone {\n\t@media screen and (max-width: 600px) {\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);const c=a},4420:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,'.ck-source-editing-area{overflow:hidden;position:relative}.ck-source-editing-area textarea,.ck-source-editing-area:after{border:1px solid transparent;font-family:monospace;font-size:var(--ck-font-size-normal);line-height:var(--ck-line-height-base);margin:0;padding:var(--ck-spacing-large);white-space:pre-wrap}.ck-source-editing-area:after{content:attr(data-value) " ";display:block;visibility:hidden}.ck-source-editing-area textarea{border-color:var(--ck-color-base-border);border-radius:0;box-sizing:border-box;height:100%;outline:none;overflow:hidden;position:absolute;resize:none;width:100%}.ck-rounded-corners .ck-source-editing-area textarea,.ck-source-editing-area textarea.ck-rounded-corners{border-radius:var(--ck-border-radius);border-top-left-radius:0;border-top-right-radius:0}.ck-source-editing-area textarea:not([readonly]):focus{border:var(--ck-focus-ring);box-shadow:var(--ck-inner-shadow),0 0;outline:none}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-source-editing/theme/sourceediting.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_focus.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AASA,wBAEC,eAAgB,CADhB,iBAED,CAEA,+DAIC,4BAA6B,CAG7B,qBAAsB,CADtB,oCAAqC,CADrC,sCAAuC,CAFvC,QAAS,CADT,+BAAgC,CAMhC,oBACD,CAEA,8BACC,4BAA6B,CAE7B,aAAc,CADd,iBAED,CAEA,iCASC,wCAAyC,CC7BzC,eAAgB,CD2BhB,qBAAsB,CAJtB,WAAY,CAEZ,YAAa,CACb,eAAgB,CALhB,iBAAkB,CAGlB,WAAY,CAFZ,UAkBD,CApBA,yGChBE,qCAAsC,CD4BtC,wBAAyB,CACzB,yBAOF,CAJC,uDEpCA,2BAA2B,CCF3B,qCAA8B,CDC9B,YFwCA",sourcesContent:['/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css";\n@import "@ckeditor/ckeditor5-theme-lark/theme/mixins/_focus.css";\n@import "@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css";\n\n.ck-source-editing-area {\n\tposition: relative;\n\toverflow: hidden;\n}\n\n.ck-source-editing-area::after,\n.ck-source-editing-area textarea {\n\tpadding: var(--ck-spacing-large);\n\tmargin: 0;\n\tborder: 1px solid transparent;\n\tline-height: var(--ck-line-height-base);\n\tfont-size: var(--ck-font-size-normal);\n\tfont-family: monospace;\n\twhite-space: pre-wrap;\n}\n\n.ck-source-editing-area::after {\n\tcontent: attr(data-value) " ";\n\tvisibility: hidden;\n\tdisplay: block;\n}\n\n.ck-source-editing-area textarea {\n\tposition: absolute;\n\twidth: 100%;\n\theight: 100%;\n\tresize: none;\n\toutline: none;\n\toverflow: hidden;\n\tbox-sizing: border-box;\n\n\tborder-color: var(--ck-color-base-border);\n\n\t@mixin ck-rounded-corners {\n\t\tborder-top-left-radius: 0;\n\t\tborder-top-right-radius: 0;\n\t}\n\n\t&:not([readonly]):focus {\n\t\t@mixin ck-focus-ring;\n\t\t@mixin ck-box-shadow var(--ck-inner-shadow);\n\t}\n}\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A visual style of focused element's border.\n */\n@define-mixin ck-focus-ring {\n\t/* Disable native outline. */\n\toutline: none;\n\tborder: var(--ck-focus-ring)\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n"],sourceRoot:""}]);const c=a},9953:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck.ck-input-color{display:flex;flex-direction:row-reverse;width:100%}.ck.ck-input-color>input.ck.ck-input-text{flex-grow:1;min-width:auto}.ck.ck-input-color>div.ck.ck-dropdown{min-width:auto}.ck.ck-input-color>div.ck.ck-dropdown>.ck-input-color__button .ck-dropdown__arrow{display:none}.ck.ck-input-color .ck.ck-input-color__button{display:flex}.ck.ck-input-color .ck.ck-input-color__button .ck.ck-input-color__button__preview{overflow:hidden;position:relative}.ck.ck-input-color .ck.ck-input-color__button .ck.ck-input-color__button__preview>.ck.ck-input-color__button__preview__no-color-indicator{display:block;position:absolute}[dir=ltr] .ck.ck-input-color>.ck.ck-input-text{border-bottom-right-radius:0;border-top-right-radius:0}[dir=rtl] .ck.ck-input-color>.ck.ck-input-text{border-bottom-left-radius:0;border-top-left-radius:0}.ck.ck-input-color>.ck.ck-input-text:focus{z-index:0}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button{padding:0}[dir=ltr] .ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button{border-bottom-left-radius:0;border-top-left-radius:0}[dir=ltr] .ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button:not(:focus){border-left:1px solid transparent}[dir=rtl] .ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button{border-bottom-right-radius:0;border-top-right-radius:0}[dir=rtl] .ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button:not(:focus){border-right:1px solid transparent}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button.ck-disabled{background:var(--ck-color-input-disabled-background)}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button>.ck.ck-input-color__button__preview{border-radius:0}.ck-rounded-corners .ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button>.ck.ck-input-color__button__preview,.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button>.ck.ck-input-color__button__preview.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button>.ck.ck-input-color__button__preview{border:1px solid var(--ck-color-input-border);height:20px;width:20px}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button>.ck.ck-input-color__button__preview>.ck.ck-input-color__button__preview__no-color-indicator{background:red;border-radius:2px;height:150%;left:50%;top:-30%;transform:rotate(45deg);transform-origin:50%;width:8%}.ck.ck-input-color .ck.ck-input-color__remove-color{border-bottom-left-radius:0;border-bottom-right-radius:0;padding:calc(var(--ck-spacing-standard)/2) var(--ck-spacing-standard);width:100%}.ck.ck-input-color .ck.ck-input-color__remove-color:not(:focus){border-bottom:1px solid var(--ck-color-input-border)}[dir=ltr] .ck.ck-input-color .ck.ck-input-color__remove-color{border-top-right-radius:0}[dir=rtl] .ck.ck-input-color .ck.ck-input-color__remove-color{border-top-left-radius:0}.ck.ck-input-color .ck.ck-input-color__remove-color .ck.ck-icon{margin-right:var(--ck-spacing-standard)}[dir=rtl] .ck.ck-input-color .ck.ck-input-color__remove-color .ck.ck-icon{margin-left:var(--ck-spacing-standard);margin-right:0}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-table/theme/colorinput.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/colorinput.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAKA,mBAEC,YAAa,CACb,0BAA2B,CAF3B,UAgCD,CA5BC,0CAEC,WAAY,CADZ,cAED,CAEA,sCACC,cAMD,CAHC,kFACC,YACD,CAGD,8CAEC,YAWD,CATC,kFAEC,eAAgB,CADhB,iBAOD,CAJC,0IAEC,aAAc,CADd,iBAED,CC1BF,+CAGE,4BAA6B,CAD7B,yBAcF,CAhBA,+CAQE,2BAA4B,CAD5B,wBASF,CAHC,2CACC,SACD,CAIA,wEACC,SA0CD,CA3CA,kFAKE,2BAA4B,CAD5B,wBAuCF,CApCE,8FACC,iCACD,CATF,kFAcE,4BAA6B,CAD7B,yBA8BF,CA3BE,8FACC,kCACD,CAGD,oFACC,oDACD,CAEA,4GC1CF,eD2DE,CAjBA,+PCtCD,qCDuDC,CAjBA,4GAKC,6CAA8C,CAD9C,WAAY,CADZ,UAcD,CAVC,oKAKC,cAA6B,CAC7B,iBAAkB,CAHlB,WAAY,CADZ,QAAS,CADT,QAAS,CAMT,uBAAwB,CACxB,oBAAqB,CAJrB,QAKD,CAKH,oDAIC,2BAA4B,CAC5B,4BAA6B,CAH7B,qEAAwE,CADxE,UA0BD,CApBC,gEACC,oDACD,CATD,8DAYE,yBAeF,CA3BA,8DAgBE,wBAWF,CARC,gEACC,uCAMD,CAPA,0EAKE,sCAAuC,CADvC,cAGF",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-input-color {\n\twidth: 100%;\n\tdisplay: flex;\n\tflex-direction: row-reverse;\n\n\t& > input.ck.ck-input-text {\n\t\tmin-width: auto;\n\t\tflex-grow: 1;\n\t}\n\n\t& > div.ck.ck-dropdown {\n\t\tmin-width: auto;\n\n\t\t/* This dropdown has no arrow but a color preview instead. */\n\t\t& > .ck-input-color__button .ck-dropdown__arrow {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n\t& .ck.ck-input-color__button {\n\t\t/* Resolving issue with misaligned buttons on Safari (see #10589) */\n\t\tdisplay: flex;\n\n\t\t& .ck.ck-input-color__button__preview {\n\t\t\tposition: relative;\n\t\t\toverflow: hidden;\n\n\t\t\t& > .ck.ck-input-color__button__preview__no-color-indicator {\n\t\t\t\tposition: absolute;\n\t\t\t\tdisplay: block;\n\t\t\t}\n\t\t}\n\t}\n}\n",'/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n@import "../mixins/_rounded.css";\n\n.ck.ck-input-color {\n\t& > .ck.ck-input-text {\n\t\t@mixin ck-dir ltr {\n\t\t\tborder-top-right-radius: 0;\n\t\t\tborder-bottom-right-radius: 0;\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\tborder-top-left-radius: 0;\n\t\t\tborder-bottom-left-radius: 0;\n\t\t}\n\n\t\t/* Make sure the focused input is always on top of the dropdown button so its\n\t\t outline and border are never cropped (also when the input is read-only). */\n\t\t&:focus {\n\t\t\tz-index: 0;\n\t\t}\n\t}\n\n\t& > .ck.ck-dropdown {\n\t\t& > .ck.ck-button.ck-input-color__button {\n\t\t\tpadding: 0;\n\n\t\t\t@mixin ck-dir ltr {\n\t\t\t\tborder-top-left-radius: 0;\n\t\t\t\tborder-bottom-left-radius: 0;\n\n\t\t\t\t&:not(:focus) {\n\t\t\t\t\tborder-left: 1px solid transparent;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t@mixin ck-dir rtl {\n\t\t\t\tborder-top-right-radius: 0;\n\t\t\t\tborder-bottom-right-radius: 0;\n\n\t\t\t\t&:not(:focus) {\n\t\t\t\t\tborder-right: 1px solid transparent;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t&.ck-disabled {\n\t\t\t\tbackground: var(--ck-color-input-disabled-background);\n\t\t\t}\n\n\t\t\t& > .ck.ck-input-color__button__preview {\n\t\t\t\t@mixin ck-rounded-corners;\n\n\t\t\t\twidth: 20px;\n\t\t\t\theight: 20px;\n\t\t\t\tborder: 1px solid var(--ck-color-input-border);\n\n\t\t\t\t& > .ck.ck-input-color__button__preview__no-color-indicator {\n\t\t\t\t\ttop: -30%;\n\t\t\t\t\tleft: 50%;\n\t\t\t\t\theight: 150%;\n\t\t\t\t\twidth: 8%;\n\t\t\t\t\tbackground: hsl(0, 100%, 50%);\n\t\t\t\t\tborder-radius: 2px;\n\t\t\t\t\ttransform: rotate(45deg);\n\t\t\t\t\ttransform-origin: 50%;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t& .ck.ck-input-color__remove-color {\n\t\twidth: 100%;\n\t\tpadding: calc(var(--ck-spacing-standard) / 2) var(--ck-spacing-standard);\n\n\t\tborder-bottom-left-radius: 0;\n\t\tborder-bottom-right-radius: 0;\n\n\t\t&:not(:focus) {\n\t\t\tborder-bottom: 1px solid var(--ck-color-input-border);\n\t\t}\n\n\t\t@mixin ck-dir ltr {\n\t\t\tborder-top-right-radius: 0;\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\tborder-top-left-radius: 0;\n\t\t}\n\n\t\t& .ck.ck-icon {\n\t\t\tmargin-right: var(--ck-spacing-standard);\n\n\t\t\t@mixin ck-dir rtl {\n\t\t\t\tmargin-right: 0;\n\t\t\t\tmargin-left: var(--ck-spacing-standard);\n\t\t\t}\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);const c=a},7502:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck.ck-form{padding:0 0 var(--ck-spacing-large)}.ck.ck-form:focus{outline:none}.ck.ck-form .ck.ck-input-text{min-width:100%;width:0}.ck.ck-form .ck.ck-dropdown{min-width:100%}.ck.ck-form .ck.ck-dropdown .ck-dropdown__button:not(:focus){border:1px solid var(--ck-color-base-border)}.ck.ck-form .ck.ck-dropdown .ck-dropdown__button .ck-button__label{width:100%}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/form.css"],names:[],mappings:"AAKA,YACC,mCAyBD,CAvBC,kBAEC,YACD,CAEA,8BACC,cAAe,CACf,OACD,CAEA,4BACC,cAWD,CARE,6DACC,4CACD,CAEA,mEACC,UACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-form {\n\tpadding: 0 0 var(--ck-spacing-large);\n\n\t&:focus {\n\t\t/* See: https://github.com/ckeditor/ckeditor5/issues/4773 */\n\t\toutline: none;\n\t}\n\n\t& .ck.ck-input-text {\n\t\tmin-width: 100%;\n\t\twidth: 0;\n\t}\n\n\t& .ck.ck-dropdown {\n\t\tmin-width: 100%;\n\n\t\t& .ck-dropdown__button {\n\t\t\t&:not(:focus) {\n\t\t\t\tborder: 1px solid var(--ck-color-base-border);\n\t\t\t}\n\n\t\t\t& .ck-button__label {\n\t\t\t\twidth: 100%;\n\t\t\t}\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const c=a},6908:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck.ck-form__row{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between}.ck.ck-form__row>:not(.ck-label){flex-grow:1}.ck.ck-form__row.ck-table-form__action-row .ck-button-cancel,.ck.ck-form__row.ck-table-form__action-row .ck-button-save{justify-content:center}.ck.ck-form__row{padding:var(--ck-spacing-standard) var(--ck-spacing-large) 0}[dir=ltr] .ck.ck-form__row>:not(.ck-label)+*{margin-left:var(--ck-spacing-large)}[dir=rtl] .ck.ck-form__row>:not(.ck-label)+*{margin-right:var(--ck-spacing-large)}.ck.ck-form__row>.ck-label{min-width:100%;width:100%}.ck.ck-form__row.ck-table-form__action-row{margin-top:var(--ck-spacing-large)}.ck.ck-form__row.ck-table-form__action-row .ck-button .ck-button__label{color:var(--ck-color-text)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-table/theme/formrow.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/formrow.css"],names:[],mappings:"AAKA,iBACC,YAAa,CACb,kBAAmB,CACnB,gBAAiB,CACjB,6BAaD,CAVC,iCACC,WACD,CAGC,wHAEC,sBACD,CCbF,iBACC,4DA2BD,CAvBE,6CAEE,mCAMF,CARA,6CAME,oCAEF,CAGD,2BAEC,cAAe,CADf,UAED,CAEA,2CACC,kCAKD,CAHC,wEACC,0BACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-form__row {\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: nowrap;\n\tjustify-content: space-between;\n\n\t/* Ignore labels that work as fieldset legends */\n\t& > *:not(.ck-label) {\n\t\tflex-grow: 1;\n\t}\n\n\t&.ck-table-form__action-row {\n\t\t& .ck-button-save,\n\t\t& .ck-button-cancel {\n\t\t\tjustify-content: center;\n\t\t}\n\t}\n}\n",'/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n.ck.ck-form__row {\n\tpadding: var(--ck-spacing-standard) var(--ck-spacing-large) 0;\n\n\t/* Ignore labels that work as fieldset legends */\n\t& > *:not(.ck-label) {\n\t\t& + * {\n\t\t\t@mixin ck-dir ltr {\n\t\t\t\tmargin-left: var(--ck-spacing-large);\n\t\t\t}\n\n\t\t\t@mixin ck-dir rtl {\n\t\t\t\tmargin-right: var(--ck-spacing-large);\n\t\t\t}\n\t\t}\n\t}\n\n\t& > .ck-label {\n\t\twidth: 100%;\n\t\tmin-width: 100%;\n\t}\n\n\t&.ck-table-form__action-row {\n\t\tmargin-top: var(--ck-spacing-large);\n\n\t\t& .ck-button .ck-button__label {\n\t\t\tcolor: var(--ck-color-text);\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);const c=a},468:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck .ck-insert-table-dropdown__grid{display:flex;flex-direction:row;flex-wrap:wrap}:root{--ck-insert-table-dropdown-padding:10px;--ck-insert-table-dropdown-box-height:11px;--ck-insert-table-dropdown-box-width:12px;--ck-insert-table-dropdown-box-margin:1px}.ck .ck-insert-table-dropdown__grid{padding:var(--ck-insert-table-dropdown-padding) var(--ck-insert-table-dropdown-padding) 0;width:calc(var(--ck-insert-table-dropdown-box-width)*10 + var(--ck-insert-table-dropdown-box-margin)*20 + var(--ck-insert-table-dropdown-padding)*2)}.ck .ck-insert-table-dropdown__label,.ck[dir=rtl] .ck-insert-table-dropdown__label{text-align:center}.ck .ck-insert-table-dropdown-grid-box{border:1px solid var(--ck-color-base-border);border-radius:1px;margin:var(--ck-insert-table-dropdown-box-margin);min-height:var(--ck-insert-table-dropdown-box-height);min-width:var(--ck-insert-table-dropdown-box-width);outline:none;transition:none}.ck .ck-insert-table-dropdown-grid-box:focus{box-shadow:none}.ck .ck-insert-table-dropdown-grid-box.ck-on{background:var(--ck-color-focus-outer-shadow);border-color:var(--ck-color-focus-border)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-table/theme/inserttable.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/inserttable.css"],names:[],mappings:"AAKA,oCACC,YAAa,CACb,kBAAmB,CACnB,cACD,CCJA,MACC,uCAAwC,CACxC,0CAA2C,CAC3C,yCAA0C,CAC1C,yCACD,CAEA,oCAGC,yFAA0F,CAD1F,oJAED,CAEA,mFAEC,iBACD,CAEA,uCAIC,4CAA6C,CAC7C,iBAAkB,CAFlB,iDAAkD,CADlD,qDAAsD,CADtD,mDAAoD,CAKpD,YAAa,CACb,eAUD,CARC,6CACC,eACD,CAEA,6CAEC,6CAA8C,CAD9C,yCAED",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck .ck-insert-table-dropdown__grid {\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: wrap;\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-insert-table-dropdown-padding: 10px;\n\t--ck-insert-table-dropdown-box-height: 11px;\n\t--ck-insert-table-dropdown-box-width: 12px;\n\t--ck-insert-table-dropdown-box-margin: 1px;\n}\n\n.ck .ck-insert-table-dropdown__grid {\n\t/* The width of a container should match 10 items in a row so there will be a 10x10 grid. */\n\twidth: calc(var(--ck-insert-table-dropdown-box-width) * 10 + var(--ck-insert-table-dropdown-box-margin) * 20 + var(--ck-insert-table-dropdown-padding) * 2);\n\tpadding: var(--ck-insert-table-dropdown-padding) var(--ck-insert-table-dropdown-padding) 0;\n}\n\n.ck .ck-insert-table-dropdown__label,\n.ck[dir=rtl] .ck-insert-table-dropdown__label {\n\ttext-align: center;\n}\n\n.ck .ck-insert-table-dropdown-grid-box {\n\tmin-width: var(--ck-insert-table-dropdown-box-width);\n\tmin-height: var(--ck-insert-table-dropdown-box-height);\n\tmargin: var(--ck-insert-table-dropdown-box-margin);\n\tborder: 1px solid var(--ck-color-base-border);\n\tborder-radius: 1px;\n\toutline: none;\n\ttransition: none;\n\n\t&:focus {\n\t\tbox-shadow: none;\n\t}\n\n\t&.ck-on {\n\t\tborder-color: var(--ck-color-focus-border);\n\t\tbackground: var(--ck-color-focus-outer-shadow);\n\t}\n}\n\n"],sourceRoot:""}]);const c=a},2510:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck-content .table{display:table;margin:.9em auto}.ck-content .table table{border:1px double #b3b3b3;border-collapse:collapse;border-spacing:0;height:100%;width:100%}.ck-content .table table td,.ck-content .table table th{border:1px solid #bfbfbf;min-width:2em;padding:.4em}.ck-content .table table th{background:rgba(0,0,0,.05);font-weight:700}.ck-content[dir=rtl] .table th{text-align:right}.ck-content[dir=ltr] .table th{text-align:left}.ck-editor__editable .ck-table-bogus-paragraph{display:inline-block;width:100%}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-table/theme/table.css"],names:[],mappings:"AAKA,mBAKC,aAAc,CADd,gBAiCD,CA9BC,yBAYC,yBAAkC,CAVlC,wBAAyB,CACzB,gBAAiB,CAKjB,WAAY,CADZ,UAsBD,CAfC,wDAQC,wBAAiC,CANjC,aAAc,CACd,YAMD,CAEA,4BAEC,0BAA+B,CAD/B,eAED,CAMF,+BACC,gBACD,CAEA,+BACC,eACD,CAEA,+CAKC,oBAAqB,CAMrB,UACD",sourcesContent:['/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck-content .table {\n\t/* Give the table widget some air and center it horizontally */\n\t/* The first value should be equal to --ck-spacing-large variable if used in the editor context\n\tto avoid the content jumping (See https://github.com/ckeditor/ckeditor5/issues/9825). */\n\tmargin: 0.9em auto;\n\tdisplay: table;\n\n\t& table {\n\t\t/* The table cells should have slight borders */\n\t\tborder-collapse: collapse;\n\t\tborder-spacing: 0;\n\n\t\t/* Table width and height are set on the parent
. Make sure the table inside stretches\n\t\tto the full dimensions of the container (https://github.com/ckeditor/ckeditor5/issues/6186). */\n\t\twidth: 100%;\n\t\theight: 100%;\n\n\t\t/* The outer border of the table should be slightly darker than the inner lines.\n\t\tAlso see https://github.com/ckeditor/ckeditor5-table/issues/50. */\n\t\tborder: 1px double hsl(0, 0%, 70%);\n\n\t\t& td,\n\t\t& th {\n\t\t\tmin-width: 2em;\n\t\t\tpadding: .4em;\n\n\t\t\t/* The border is inherited from .ck-editor__nested-editable styles, so theoretically it\'s not necessary here.\n\t\t\tHowever, the border is a content style, so it should use .ck-content (so it works outside the editor).\n\t\t\tHence, the duplication. See https://github.com/ckeditor/ckeditor5/issues/6314 */\n\t\t\tborder: 1px solid hsl(0, 0%, 75%);\n\t\t}\n\n\t\t& th {\n\t\t\tfont-weight: bold;\n\t\t\tbackground: hsla(0, 0%, 0%, 5%);\n\t\t}\n\t}\n}\n\n/* Text alignment of the table header should match the editor settings and override the native browser styling,\nwhen content is available outside the editor. See https://github.com/ckeditor/ckeditor5/issues/6638 */\n.ck-content[dir="rtl"] .table th {\n\ttext-align: right;\n}\n\n.ck-content[dir="ltr"] .table th {\n\ttext-align: left;\n}\n\n.ck-editor__editable .ck-table-bogus-paragraph {\n\t/*\n\t * Use display:inline-block to force Chrome/Safari to limit text mutations to this element.\n\t * See https://github.com/ckeditor/ckeditor5/issues/6062.\n\t */\n\tdisplay: inline-block;\n\n\t/*\n\t * Inline HTML elements nested in the span should always be dimensioned in relation to the whole cell width.\n\t * See https://github.com/ckeditor/ckeditor5/issues/9117.\n\t */\n\twidth: 100%;\n}\n'],sourceRoot:""}]);const c=a},1111:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,":root{--ck-color-selector-caption-background:#f7f7f7;--ck-color-selector-caption-text:#333;--ck-color-selector-caption-highlighted-background:#fd0}.ck-content .table>figcaption{background-color:var(--ck-color-selector-caption-background);caption-side:top;color:var(--ck-color-selector-caption-text);display:table-caption;font-size:.75em;outline-offset:-1px;padding:.6em;text-align:center;word-break:break-word}.ck.ck-editor__editable .table>figcaption.table__caption_highlighted{animation:ck-table-caption-highlight .6s ease-out}.ck.ck-editor__editable .table>figcaption.ck-placeholder:before{overflow:hidden;padding-left:inherit;padding-right:inherit;text-overflow:ellipsis;white-space:nowrap}@keyframes ck-table-caption-highlight{0%{background-color:var(--ck-color-selector-caption-highlighted-background)}to{background-color:var(--ck-color-selector-caption-background)}}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-table/theme/tablecaption.css"],names:[],mappings:"AAKA,MACC,8CAAuD,CACvD,qCAAiD,CACjD,uDACD,CAGA,8BAMC,4DAA6D,CAJ7D,gBAAiB,CAGjB,2CAA4C,CAJ5C,qBAAsB,CAOtB,eAAgB,CAChB,mBAAoB,CAFpB,YAAa,CAHb,iBAAkB,CADlB,qBAOD,CAIC,qEACC,iDACD,CAEA,gEASC,eAAgB,CARhB,oBAAqB,CACrB,qBAAsB,CAQtB,sBAAuB,CAFvB,kBAGD,CAGD,sCACC,GACC,wEACD,CAEA,GACC,4DACD,CACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-color-selector-caption-background: hsl(0, 0%, 97%);\n\t--ck-color-selector-caption-text: hsl(0, 0%, 20%);\n\t--ck-color-selector-caption-highlighted-background: hsl(52deg 100% 50%);\n}\n\n/* Content styles */\n.ck-content .table > figcaption {\n\tdisplay: table-caption;\n\tcaption-side: top;\n\tword-break: break-word;\n\ttext-align: center;\n\tcolor: var(--ck-color-selector-caption-text);\n\tbackground-color: var(--ck-color-selector-caption-background);\n\tpadding: .6em;\n\tfont-size: .75em;\n\toutline-offset: -1px;\n}\n\n/* Editing styles */\n.ck.ck-editor__editable .table > figcaption {\n\t&.table__caption_highlighted {\n\t\tanimation: ck-table-caption-highlight .6s ease-out;\n\t}\n\n\t&.ck-placeholder::before {\n\t\tpadding-left: inherit;\n\t\tpadding-right: inherit;\n\n\t\t/*\n\t\t * Make sure the table caption placeholder doesn't overflow the placeholder area.\n\t\t * See https://github.com/ckeditor/ckeditor5/issues/9162.\n\t\t */\n\t\twhite-space: nowrap;\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t}\n}\n\n@keyframes ck-table-caption-highlight {\n\t0% {\n\t\tbackground-color: var(--ck-color-selector-caption-highlighted-background);\n\t}\n\n\t100% {\n\t\tbackground-color: var(--ck-color-selector-caption-background);\n\t}\n}\n"],sourceRoot:""}]);const c=a},3964:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row{flex-wrap:wrap}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar:first-of-type{flex-grow:0.57}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar:last-of-type{flex-grow:0.43}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar .ck-button{flex-grow:1}.ck.ck-table-cell-properties-form{width:320px}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__padding-row{align-self:flex-end;padding:0;width:25%}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar{background:none;margin-top:var(--ck-spacing-standard)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-table/theme/tablecellproperties.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/tablecellproperties.css"],names:[],mappings:"AAOE,6FACC,cAiBD,CAdE,0HAEC,cACD,CAEA,yHAEC,cACD,CAEA,uHACC,WACD,CClBJ,kCACC,WAkBD,CAfE,2FACC,mBAAoB,CACpB,SAAU,CACV,SACD,CAGC,4GACC,eAAgB,CAGhB,qCACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-table-cell-properties-form {\n\t& .ck-form__row {\n\t\t&.ck-table-cell-properties-form__alignment-row {\n\t\t\tflex-wrap: wrap;\n\n\t\t\t& .ck.ck-toolbar {\n\t\t\t\t&:first-of-type {\n\t\t\t\t\t/* 4 buttons out of 7 (h-alignment + v-alignment) = 0.57 */\n\t\t\t\t\tflex-grow: 0.57;\n\t\t\t\t}\n\n\t\t\t\t&:last-of-type {\n\t\t\t\t\t/* 3 buttons out of 7 (h-alignment + v-alignment) = 0.43 */\n\t\t\t\t\tflex-grow: 0.43;\n\t\t\t\t}\n\n\t\t\t\t& .ck-button {\n\t\t\t\t\tflex-grow: 1;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-table-cell-properties-form {\n\twidth: 320px;\n\n\t& .ck-form__row {\n\t\t&.ck-table-cell-properties-form__padding-row {\n\t\t\talign-self: flex-end;\n\t\t\tpadding: 0;\n\t\t\twidth: 25%;\n\t\t}\n\n\t\t&.ck-table-cell-properties-form__alignment-row {\n\t\t\t& .ck.ck-toolbar {\n\t\t\t\tbackground: none;\n\n\t\t\t\t/* Compensate for missing input label that would push the margin (toolbar has no inputs). */\n\t\t\t\tmargin-top: var(--ck-spacing-standard);\n\t\t\t}\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const c=a},7176:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,":root{--ck-color-selector-column-resizer-hover:var(--ck-color-base-active);--ck-table-column-resizer-width:7px;--ck-table-column-resizer-position-offset:calc(var(--ck-table-column-resizer-width)*-0.5 - 0.5px)}.ck-content .table .ck-table-resized{table-layout:fixed}.ck-content .table table{overflow:hidden}.ck-content .table td,.ck-content .table th{overflow-wrap:break-word;position:relative}.ck.ck-editor__editable .table .ck-table-column-resizer{bottom:0;cursor:col-resize;position:absolute;right:var(--ck-table-column-resizer-position-offset);top:0;user-select:none;width:var(--ck-table-column-resizer-width);z-index:var(--ck-z-default)}.ck.ck-editor__editable .table[draggable] .ck-table-column-resizer,.ck.ck-editor__editable.ck-column-resize_disabled .table .ck-table-column-resizer{display:none}.ck.ck-editor__editable .table .ck-table-column-resizer:hover,.ck.ck-editor__editable .table .ck-table-column-resizer__active{background-color:var(--ck-color-selector-column-resizer-hover);bottom:-999999px;opacity:.25;top:-999999px}.ck.ck-editor__editable[dir=rtl] .table .ck-table-column-resizer{left:var(--ck-table-column-resizer-position-offset);right:unset}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-table/theme/tablecolumnresize.css"],names:[],mappings:"AAKA,MACC,oEAAqE,CACrE,mCAAoC,CAIpC,iGACD,CAEA,qCACC,kBACD,CAEA,yBACC,eACD,CAEA,4CAIC,wBAAyB,CACzB,iBACD,CAEA,wDAGC,QAAS,CAGT,iBAAkB,CALlB,iBAAkB,CAGlB,oDAAqD,CAFrD,KAAM,CAKN,gBAAiB,CAFjB,0CAA2C,CAG3C,2BACD,CAQA,qJACC,YACD,CAEA,8HAEC,8DAA+D,CAO/D,gBAAiB,CANjB,WAAa,CAKb,aAED,CAEA,iEACC,mDAAoD,CACpD,WACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-color-selector-column-resizer-hover: var(--ck-color-base-active);\n\t--ck-table-column-resizer-width: 7px;\n\n\t/* The offset used for absolute positioning of the resizer element, so that it is placed exactly above the cell border.\n\t The value is: minus half the width of the resizer decreased additionaly by the half the width of the border (0.5px). */\n\t--ck-table-column-resizer-position-offset: calc(var(--ck-table-column-resizer-width) * -0.5 - 0.5px);\n}\n\n.ck-content .table .ck-table-resized {\n\ttable-layout: fixed;\n}\n\n.ck-content .table table {\n\toverflow: hidden;\n}\n\n.ck-content .table td,\n.ck-content .table th {\n\t/* To prevent text overflowing beyond its cell when columns are resized by resize handler\n\t(https://github.com/ckeditor/ckeditor5/pull/14379#issuecomment-1589460978). */\n\toverflow-wrap: break-word;\n\tposition: relative;\n}\n\n.ck.ck-editor__editable .table .ck-table-column-resizer {\n\tposition: absolute;\n\ttop: 0;\n\tbottom: 0;\n\tright: var(--ck-table-column-resizer-position-offset);\n\twidth: var(--ck-table-column-resizer-width);\n\tcursor: col-resize;\n\tuser-select: none;\n\tz-index: var(--ck-z-default);\n}\n\n.ck.ck-editor__editable.ck-column-resize_disabled .table .ck-table-column-resizer {\n\tdisplay: none;\n}\n\n/* The resizer elements, which are extended to an extremely high height, break the drag & drop feature in Chrome. To make it work again,\n all resizers must be hidden while the table is dragged. */\n.ck.ck-editor__editable .table[draggable] .ck-table-column-resizer {\n\tdisplay: none;\n}\n\n.ck.ck-editor__editable .table .ck-table-column-resizer:hover,\n.ck.ck-editor__editable .table .ck-table-column-resizer__active {\n\tbackground-color: var(--ck-color-selector-column-resizer-hover);\n\topacity: 0.25;\n\t/* The resizer element resides in each cell so to occupy the entire height of the table, which is unknown from a CSS point of view,\n\t it is extended to an extremely high height. Even for screens with a very high pixel density, the resizer will fulfill its role as\n\t it should, i.e. for a screen of 476 ppi the total height of the resizer will take over 350 sheets of A4 format, which is totally\n\t unrealistic height for a single table. */\n\ttop: -999999px;\n\tbottom: -999999px;\n}\n\n.ck.ck-editor__editable[dir=rtl] .table .ck-table-column-resizer {\n\tleft: var(--ck-table-column-resizer-position-offset);\n\tright: unset;\n}\n"],sourceRoot:""}]);const c=a},8361:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,":root{--ck-color-selector-focused-cell-background:rgba(158,201,250,.3)}.ck-widget.table td.ck-editor__nested-editable.ck-editor__nested-editable_focused,.ck-widget.table td.ck-editor__nested-editable:focus,.ck-widget.table th.ck-editor__nested-editable.ck-editor__nested-editable_focused,.ck-widget.table th.ck-editor__nested-editable:focus{background:var(--ck-color-selector-focused-cell-background);border-style:none;outline:1px solid var(--ck-color-focus-border);outline-offset:-1px}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/tableediting.css"],names:[],mappings:"AAKA,MACC,gEACD,CAKE,8QAGC,2DAA4D,CAK5D,iBAAkB,CAClB,8CAA+C,CAC/C,mBACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-color-selector-focused-cell-background: hsla(212, 90%, 80%, .3);\n}\n\n.ck-widget.table {\n\t& td,\n\t& th {\n\t\t&.ck-editor__nested-editable.ck-editor__nested-editable_focused,\n\t\t&.ck-editor__nested-editable:focus {\n\t\t\t/* A very slight background to highlight the focused cell */\n\t\t\tbackground: var(--ck-color-selector-focused-cell-background);\n\n\t\t\t/* Fixes the problem where surrounding cells cover the focused cell's border.\n\t\t\tIt does not fix the problem in all places but the UX is improved.\n\t\t\tSee https://github.com/ckeditor/ckeditor5-table/issues/29. */\n\t\t\tborder-style: none;\n\t\t\toutline: 1px solid var(--ck-color-focus-border);\n\t\t\toutline-offset: -1px; /* progressive enhancement - no IE support */\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const c=a},9429:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,'.ck.ck-table-form .ck-form__row.ck-table-form__background-row,.ck.ck-table-form .ck-form__row.ck-table-form__border-row{flex-wrap:wrap}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row{align-items:center;flex-wrap:wrap}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-labeled-field-view{align-items:center;display:flex;flex-direction:column-reverse}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-labeled-field-view .ck.ck-dropdown,.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimension-operator{flex-grow:0}.ck.ck-table-form .ck.ck-labeled-field-view{position:relative}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status{bottom:calc(var(--ck-table-properties-error-arrow-size)*-1);left:50%;position:absolute;transform:translate(-50%,100%);z-index:1}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status:after{content:"";left:50%;position:absolute;top:calc(var(--ck-table-properties-error-arrow-size)*-1);transform:translateX(-50%)}:root{--ck-table-properties-error-arrow-size:6px;--ck-table-properties-min-error-width:150px}.ck.ck-table-form .ck-form__row.ck-table-form__border-row .ck-labeled-field-view>.ck-label{font-size:var(--ck-font-size-tiny);text-align:center}.ck.ck-table-form .ck-form__row.ck-table-form__border-row .ck-table-form__border-style,.ck.ck-table-form .ck-form__row.ck-table-form__border-row .ck-table-form__border-width{max-width:80px;min-width:80px;width:80px}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row{padding:0}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimensions-row__height,.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimensions-row__width{margin:0}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimension-operator{align-self:flex-end;display:inline-block;height:var(--ck-ui-component-min-height);line-height:var(--ck-ui-component-min-height);margin:0 var(--ck-spacing-small)}.ck.ck-table-form .ck.ck-labeled-field-view{padding-top:var(--ck-spacing-standard)}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status{border-radius:0}.ck-rounded-corners .ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status,.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status{background:var(--ck-color-base-error);color:var(--ck-color-base-background);min-width:var(--ck-table-properties-min-error-width);padding:var(--ck-spacing-small) var(--ck-spacing-medium);text-align:center}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status:after{border-color:transparent transparent var(--ck-color-base-error) transparent;border-style:solid;border-width:0 var(--ck-table-properties-error-arrow-size) var(--ck-table-properties-error-arrow-size) var(--ck-table-properties-error-arrow-size)}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status{animation:ck-table-form-labeled-view-status-appear .15s ease both}.ck.ck-table-form .ck.ck-labeled-field-view .ck-input.ck-error:not(:focus)+.ck.ck-labeled-field-view__status{display:none}@keyframes ck-table-form-labeled-view-status-appear{0%{opacity:0}to{opacity:1}}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-table/theme/tableform.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/tableform.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAWE,wHACC,cACD,CAEA,8DAEC,kBAAmB,CADnB,cAgBD,CAbC,qFAGC,kBAAmB,CAFnB,YAAa,CACb,6BAMD,CAEA,sMACC,WACD,CAIF,4CAEC,iBAoBD,CAlBC,8EAGC,2DAAgE,CADhE,QAAS,CADT,iBAAkB,CAGlB,8BAA+B,CAG/B,SAUD,CAPC,oFACC,UAAW,CAGX,QAAS,CAFT,iBAAkB,CAClB,wDAA6D,CAE7D,0BACD,CChDH,MACC,0CAA2C,CAC3C,2CACD,CAMI,2FACC,kCAAmC,CACnC,iBACD,CAGD,8KAIC,cAAe,CADf,cAAe,CADf,UAGD,CAGD,8DACC,SAcD,CAZC,yMAEC,QACD,CAEA,iGACC,mBAAoB,CACpB,oBAAqB,CACrB,wCAAyC,CACzC,6CAA8C,CAC9C,gCACD,CAIF,4CACC,sCAyBD,CAvBC,8ECxCD,eDyDC,CAjBA,mMCpCA,qCDqDA,CAjBA,8EAGC,qCAAsC,CACtC,qCAAsC,CAEtC,oDAAqD,CADrD,wDAAyD,CAEzD,iBAUD,CAPC,oFACC,2EAA4E,CAE5E,kBAAmB,CADnB,kJAED,CAdD,8EAgBC,iEACD,CAGA,6GACC,YACD,CAIF,oDACC,GACC,SACD,CAEA,GACC,SACD,CACD",sourcesContent:['/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-table-form {\n\t& .ck-form__row {\n\t\t&.ck-table-form__border-row {\n\t\t\tflex-wrap: wrap;\n\t\t}\n\n\t\t&.ck-table-form__background-row {\n\t\t\tflex-wrap: wrap;\n\t\t}\n\n\t\t&.ck-table-form__dimensions-row {\n\t\t\tflex-wrap: wrap;\n\t\t\talign-items: center;\n\n\t\t\t& .ck-labeled-field-view {\n\t\t\t\tdisplay: flex;\n\t\t\t\tflex-direction: column-reverse;\n\t\t\t\talign-items: center;\n\n\t\t\t\t& .ck.ck-dropdown {\n\t\t\t\t\tflex-grow: 0;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t& .ck-table-form__dimension-operator {\n\t\t\t\tflex-grow: 0;\n\t\t\t}\n\t\t}\n\t}\n\n\t& .ck.ck-labeled-field-view {\n\t\t/* Allow absolute positioning of the status (error) balloons. */\n\t\tposition: relative;\n\n\t\t& .ck.ck-labeled-field-view__status {\n\t\t\tposition: absolute;\n\t\t\tleft: 50%;\n\t\t\tbottom: calc( -1 * var(--ck-table-properties-error-arrow-size) );\n\t\t\ttransform: translate(-50%,100%);\n\n\t\t\t/* Make sure the balloon status stays on top of other form elements. */\n\t\t\tz-index: 1;\n\n\t\t\t/* The arrow pointing towards the field. */\n\t\t\t&::after {\n\t\t\t\tcontent: "";\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: calc( -1 * var(--ck-table-properties-error-arrow-size) );\n\t\t\t\tleft: 50%;\n\t\t\t\ttransform: translateX( -50% );\n\t\t\t}\n\t\t}\n\t}\n}\n','/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../mixins/_rounded.css";\n\n:root {\n\t--ck-table-properties-error-arrow-size: 6px;\n\t--ck-table-properties-min-error-width: 150px;\n}\n\n.ck.ck-table-form {\n\t& .ck-form__row {\n\t\t&.ck-table-form__border-row {\n\t\t\t& .ck-labeled-field-view {\n\t\t\t\t& > .ck-label {\n\t\t\t\t\tfont-size: var(--ck-font-size-tiny);\n\t\t\t\t\ttext-align: center;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t& .ck-table-form__border-style,\n\t\t\t& .ck-table-form__border-width {\n\t\t\t\twidth: 80px;\n\t\t\t\tmin-width: 80px;\n\t\t\t\tmax-width: 80px;\n\t\t\t}\n\t\t}\n\n\t\t&.ck-table-form__dimensions-row {\n\t\t\tpadding: 0;\n\n\t\t\t& .ck-table-form__dimensions-row__width,\n\t\t\t& .ck-table-form__dimensions-row__height {\n\t\t\t\tmargin: 0\n\t\t\t}\n\n\t\t\t& .ck-table-form__dimension-operator {\n\t\t\t\talign-self: flex-end;\n\t\t\t\tdisplay: inline-block;\n\t\t\t\theight: var(--ck-ui-component-min-height);\n\t\t\t\tline-height: var(--ck-ui-component-min-height);\n\t\t\t\tmargin: 0 var(--ck-spacing-small);\n\t\t\t}\n\t\t}\n\t}\n\n\t& .ck.ck-labeled-field-view {\n\t\tpadding-top: var(--ck-spacing-standard);\n\n\t\t& .ck.ck-labeled-field-view__status {\n\t\t\t@mixin ck-rounded-corners;\n\n\t\t\tbackground: var(--ck-color-base-error);\n\t\t\tcolor: var(--ck-color-base-background);\n\t\t\tpadding: var(--ck-spacing-small) var(--ck-spacing-medium);\n\t\t\tmin-width: var(--ck-table-properties-min-error-width);\n\t\t\ttext-align: center;\n\n\t\t\t/* The arrow pointing towards the field. */\n\t\t\t&::after {\n\t\t\t\tborder-color: transparent transparent var(--ck-color-base-error) transparent;\n\t\t\t\tborder-width: 0 var(--ck-table-properties-error-arrow-size) var(--ck-table-properties-error-arrow-size) var(--ck-table-properties-error-arrow-size);\n\t\t\t\tborder-style: solid;\n\t\t\t}\n\n\t\t\tanimation: ck-table-form-labeled-view-status-appear .15s ease both;\n\t\t}\n\n\t\t/* Hide the error balloon when the field is blurred. Makes the experience much more clear. */\n\t\t& .ck-input.ck-error:not(:focus) + .ck.ck-labeled-field-view__status {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n}\n\n@keyframes ck-table-form-labeled-view-status-appear {\n\t0% {\n\t\topacity: 0;\n\t}\n\n\t100% {\n\t\topacity: 1;\n\t}\n}\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);const c=a},6596:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row{align-content:baseline;flex-basis:0;flex-wrap:wrap}.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row .ck.ck-toolbar .ck-toolbar__items{flex-wrap:nowrap}.ck.ck-table-properties-form{width:320px}.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row{align-self:flex-end;padding:0}.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row .ck.ck-toolbar{background:none;margin-top:var(--ck-spacing-standard)}.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row .ck.ck-toolbar .ck-toolbar__items>*{width:40px}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-table/theme/tableproperties.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/tableproperties.css"],names:[],mappings:"AAOE,mFAGC,sBAAuB,CADvB,YAAa,CADb,cAOD,CAHC,qHACC,gBACD,CCTH,6BACC,WAmBD,CAhBE,mFACC,mBAAoB,CACpB,SAYD,CAVC,kGACC,eAAgB,CAGhB,qCAKD,CAHC,uHACC,UACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-table-properties-form {\n\t& .ck-form__row {\n\t\t&.ck-table-properties-form__alignment-row {\n\t\t\tflex-wrap: wrap;\n\t\t\tflex-basis: 0;\n\t\t\talign-content: baseline;\n\n\t\t\t& .ck.ck-toolbar .ck-toolbar__items {\n\t\t\t\tflex-wrap: nowrap;\n\t\t\t}\n\t\t}\n\t}\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-table-properties-form {\n\twidth: 320px;\n\n\t& .ck-form__row {\n\t\t&.ck-table-properties-form__alignment-row {\n\t\t\talign-self: flex-end;\n\t\t\tpadding: 0;\n\n\t\t\t& .ck.ck-toolbar {\n\t\t\t\tbackground: none;\n\n\t\t\t\t/* Compensate for missing input label that would push the margin (toolbar has no inputs). */\n\t\t\t\tmargin-top: var(--ck-spacing-standard);\n\n\t\t\t\t& .ck-toolbar__items > * {\n\t\t\t\t\twidth: 40px;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const c=a},1546:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,':root{--ck-table-selected-cell-background:rgba(158,207,250,.3)}.ck.ck-editor__editable .table table td.ck-editor__editable_selected,.ck.ck-editor__editable .table table th.ck-editor__editable_selected{box-shadow:unset;caret-color:transparent;outline:unset;position:relative}.ck.ck-editor__editable .table table td.ck-editor__editable_selected:after,.ck.ck-editor__editable .table table th.ck-editor__editable_selected:after{background-color:var(--ck-table-selected-cell-background);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.ck.ck-editor__editable .table table td.ck-editor__editable_selected ::selection,.ck.ck-editor__editable .table table td.ck-editor__editable_selected:focus,.ck.ck-editor__editable .table table th.ck-editor__editable_selected ::selection,.ck.ck-editor__editable .table table th.ck-editor__editable_selected:focus{background-color:transparent}.ck.ck-editor__editable .table table td.ck-editor__editable_selected .ck-widget,.ck.ck-editor__editable .table table th.ck-editor__editable_selected .ck-widget{outline:unset}.ck.ck-editor__editable .table table td.ck-editor__editable_selected .ck-widget>.ck-widget__selection-handle,.ck.ck-editor__editable .table table th.ck-editor__editable_selected .ck-widget>.ck-widget__selection-handle{display:none}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/tableselection.css"],names:[],mappings:"AAKA,MACC,wDACD,CAGC,0IAKC,gBAAiB,CAFjB,uBAAwB,CACxB,aAAc,CAFd,iBAiCD,CA3BC,sJAGC,yDAA0D,CAK1D,QAAS,CAPT,UAAW,CAKX,MAAO,CAJP,mBAAoB,CAEpB,iBAAkB,CAGlB,OAAQ,CAFR,KAID,CAEA,wTAEC,4BACD,CAMA,gKACC,aAKD,CAHC,0NACC,YACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-table-selected-cell-background: hsla(208, 90%, 80%, .3);\n}\n\n.ck.ck-editor__editable .table table {\n\t& td.ck-editor__editable_selected,\n\t& th.ck-editor__editable_selected {\n\t\tposition: relative;\n\t\tcaret-color: transparent;\n\t\toutline: unset;\n\t\tbox-shadow: unset;\n\n\t\t/* https://github.com/ckeditor/ckeditor5/issues/6446 */\n\t\t&:after {\n\t\t\tcontent: '';\n\t\t\tpointer-events: none;\n\t\t\tbackground-color: var(--ck-table-selected-cell-background);\n\t\t\tposition: absolute;\n\t\t\ttop: 0;\n\t\t\tleft: 0;\n\t\t\tright: 0;\n\t\t\tbottom: 0;\n\t\t}\n\n\t\t& ::selection,\n\t\t&:focus {\n\t\t\tbackground-color: transparent;\n\t\t}\n\n\t\t/*\n\t\t * To reduce the amount of noise, all widgets in the table selection have no outline and no selection handle.\n\t\t * See https://github.com/ckeditor/ckeditor5/issues/9491.\n\t\t */\n\t\t& .ck-widget {\n\t\t\toutline: unset;\n\n\t\t\t& > .ck-widget__selection-handle {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const c=a},3290:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck.ck-aria-live-announcer{left:-10000px;position:absolute;top:-10000px}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/arialiveannouncer/arialiveannouncer.css"],names:[],mappings:"AAKA,2BAEC,aAAc,CADd,iBAAkB,CAElB,YACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-aria-live-announcer {\n\tposition: absolute;\n\tleft: -10000px;\n\ttop: -10000px;\n}\n"],sourceRoot:""}]);const c=a},4029:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck.ck-autocomplete{position:relative}.ck.ck-autocomplete>.ck-search__results{position:absolute;z-index:var(--ck-z-panel)}.ck.ck-autocomplete>.ck-search__results.ck-search__results_n{bottom:100%}.ck.ck-autocomplete>.ck-search__results.ck-search__results_s{bottom:auto;top:100%}.ck.ck-autocomplete>.ck-search__results{border-radius:0}.ck-rounded-corners .ck.ck-autocomplete>.ck-search__results,.ck.ck-autocomplete>.ck-search__results.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-autocomplete>.ck-search__results{background:var(--ck-color-base-background);border:1px solid var(--ck-color-dropdown-panel-border);box-shadow:var(--ck-drop-shadow),0 0;max-height:200px;min-width:auto;overflow-y:auto}.ck.ck-autocomplete>.ck-search__results.ck-search__results_n{border-bottom-left-radius:0;border-bottom-right-radius:0;margin-bottom:-1px}.ck.ck-autocomplete>.ck-search__results.ck-search__results_s{border-top-left-radius:0;border-top-right-radius:0;margin-top:-1px}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/autocomplete/autocomplete.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/autocomplete/autocomplete.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AAKA,oBACC,iBAeD,CAbC,wCACC,iBAAkB,CAClB,yBAUD,CARC,6DACC,WACD,CAEA,6DAEC,WAAY,CADZ,QAED,CCVD,wCCEA,eDuBA,CAzBA,uHCMC,qCDmBD,CAzBA,wCAMC,0CAA2C,CAC3C,sDAAuD,CEPxD,oCAA8B,CFI7B,gBAAiB,CAIjB,cAAe,CAHf,eAoBD,CAfC,6DACC,2BAA4B,CAC5B,4BAA6B,CAG7B,kBACD,CAEA,6DACC,wBAAyB,CACzB,yBAA0B,CAG1B,eACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-autocomplete {\n\tposition: relative;\n\n\t& > .ck-search__results {\n\t\tposition: absolute;\n\t\tz-index: var(--ck-z-panel);\n\n\t\t&.ck-search__results_n {\n\t\t\tbottom: 100%;\n\t\t}\n\n\t\t&.ck-search__results_s {\n\t\t\ttop: 100%;\n\t\t\tbottom: auto;\n\t\t}\n\t}\n}\n",'/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css";\n@import "@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css";\n\n.ck.ck-autocomplete {\n\t& > .ck-search__results {\n\t\t@mixin ck-rounded-corners;\n\t\t@mixin ck-drop-shadow;\n\n\t\tmax-height: 200px;\n\t\toverflow-y: auto;\n\t\tbackground: var(--ck-color-base-background);\n\t\tborder: 1px solid var(--ck-color-dropdown-panel-border);\n\t\tmin-width: auto;\n\n\t\t&.ck-search__results_n {\n\t\t\tborder-bottom-left-radius: 0;\n\t\t\tborder-bottom-right-radius: 0;\n\n\t\t\t/* Prevent duplicated borders between the input and the results pane. */\n\t\t\tmargin-bottom: -1px;\n\t\t}\n\n\t\t&.ck-search__results_s {\n\t\t\tborder-top-left-radius: 0;\n\t\t\tborder-top-right-radius: 0;\n\n\t\t\t/* Prevent duplicated borders between the input and the results pane. */\n\t\t\tmargin-top: -1px;\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n"],sourceRoot:""}]);const c=a},4971:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck.ck-button,a.ck.ck-button{align-items:center;display:inline-flex;position:relative;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}[dir=ltr] .ck.ck-button,[dir=ltr] a.ck.ck-button{justify-content:left}[dir=rtl] .ck.ck-button,[dir=rtl] a.ck.ck-button{justify-content:right}.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}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/button/button.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_unselectable.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/button/button.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/mixins/_button.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_focus.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_disabled.css"],names:[],mappings:"AAQA,6BAMC,kBAAmB,CADnB,mBAAoB,CADpB,iBAAkB,CCHlB,qBAAsB,CACtB,wBAAyB,CACzB,oBAAqB,CACrB,gBD0BD,CA9BA,iDASE,oBAqBF,CA9BA,iDAaE,qBAiBF,CAdC,iEACC,YACD,CAGC,yGACC,oBACD,CAID,iFACC,sBACD,CEzBD,6BCAC,oDD4ID,CCzIE,6EACC,0DACD,CAEA,+EACC,2DACD,CAID,qDACC,6DACD,CDfD,6BEDC,eF6ID,CA5IA,wIEGE,qCFyIF,CA5IA,6BA6BC,uBAAwB,CANxB,4BAA6B,CAjB7B,cAAe,CAcf,iBAAkB,CAHlB,aAAc,CAJd,4CAA6C,CAD7C,2CAA4C,CAJ5C,8BAA+B,CAC/B,iBAAkB,CAiBlB,4DAA8D,CAnB9D,qBAAsB,CAFtB,kBAuID,CA7GC,oFGhCA,2BAA2B,CCF3B,2CAA8B,CDC9B,YHqCA,CAIC,kJAEC,aACD,CAGD,iEAIC,aAAc,CACd,cAAe,CAHf,iBAAkB,CAClB,mBAAoB,CAMpB,qBASD,CAlBA,qFAYE,eAMF,CAlBA,qFAgBE,gBAEF,CAEA,yEACC,aAYD,CAbA,6FAIE,mCASF,CAbA,6FAQE,oCAKF,CAbA,yEAWC,eAAiB,CACjB,UACD,CAIC,oIIrFD,oDJyFC,CAOA,gLKhGD,kCLkGC,CAEA,iGACC,UACD,CAGD,qEACC,yDAcD,CAXC,2HAEE,4CAA+C,CAC/C,oCAOF,CAVA,2HAQE,mCAAoC,CADpC,6CAGF,CAKA,mHACC,WACD,CAID,yCC/HA,+CDmIA,CChIC,yFACC,qDACD,CAEA,2FACC,sDACD,CAID,iEACC,wDACD,CDgHA,yCAGC,qCACD,CAEA,2DACC,iCACD,CAEA,+DACC,mCACD,CAID,2CC/IC,mDDoJD,CCjJE,2FACC,yDACD,CAEA,6FACC,0DACD,CAID,mEACC,4DACD,CDgID,2CAIC,wCACD,CAEA,uCAEC,eACD",sourcesContent:['/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../mixins/_unselectable.css";\n@import "../../mixins/_dir.css";\n\n.ck.ck-button,\na.ck.ck-button {\n\t@mixin ck-unselectable;\n\n\tposition: relative;\n\tdisplay: inline-flex;\n\talign-items: center;\n\n\t@mixin ck-dir ltr {\n\t\tjustify-content: left;\n\t}\n\n\t@mixin ck-dir rtl {\n\t\tjustify-content: right;\n\t}\n\n\t& .ck-button__label {\n\t\tdisplay: none;\n\t}\n\n\t&.ck-button_with-text {\n\t\t& .ck-button__label {\n\t\t\tdisplay: inline-block;\n\t\t}\n\t}\n\n\t/* Center the icon horizontally in a button without text. */\n\t&:not(.ck-button_with-text) {\n\t\tjustify-content: center;\n\t}\n}\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Makes element unselectable.\n */\n@define-mixin ck-unselectable {\n\t-moz-user-select: none;\n\t-webkit-user-select: none;\n\t-ms-user-select: none;\n\tuser-select: none\n}\n",'/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_focus.css";\n@import "../../../mixins/_shadow.css";\n@import "../../../mixins/_disabled.css";\n@import "../../../mixins/_rounded.css";\n@import "../../mixins/_button.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n.ck.ck-button,\na.ck.ck-button {\n\t@mixin ck-button-colors --ck-color-button-default;\n\t@mixin ck-rounded-corners;\n\n\twhite-space: nowrap;\n\tcursor: default;\n\tvertical-align: middle;\n\tpadding: var(--ck-spacing-tiny);\n\ttext-align: center;\n\n\t/* A very important piece of styling. Go to variable declaration to learn more. */\n\tmin-width: var(--ck-ui-component-min-height);\n\tmin-height: var(--ck-ui-component-min-height);\n\n\t/* Normalize the height of the line. Removing this will break consistent height\n\tamong text and text-less buttons (with icons). */\n\tline-height: 1;\n\n\t/* Enable font size inheritance, which allows fluid UI scaling. */\n\tfont-size: inherit;\n\n\t/* Avoid flickering when the foucs border shows up. */\n\tborder: 1px solid transparent;\n\n\t/* Apply some smooth transition to the box-shadow and border. */\n\ttransition: box-shadow .2s ease-in-out, border .2s ease-in-out;\n\n\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/189 */\n\t-webkit-appearance: none;\n\n\t&:active,\n\t&:focus {\n\t\t@mixin ck-focus-ring;\n\t\t@mixin ck-box-shadow var(--ck-focus-outer-shadow);\n\t}\n\n\t/* Allow icon coloring using the text "color" property. */\n\t& .ck-button__icon {\n\t\t& use,\n\t\t& use * {\n\t\t\tcolor: inherit;\n\t\t}\n\t}\n\n\t& .ck-button__label {\n\t\t/* Enable font size inheritance, which allows fluid UI scaling. */\n\t\tfont-size: inherit;\n\t\tfont-weight: inherit;\n\t\tcolor: inherit;\n\t\tcursor: inherit;\n\n\t\t/* Must be consistent with .ck-icon\'s vertical align. Otherwise, buttons with and\n\t\twithout labels (but with icons) have different sizes in Chrome */\n\t\tvertical-align: middle;\n\n\t\t@mixin ck-dir ltr {\n\t\t\ttext-align: left;\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\ttext-align: right;\n\t\t}\n\t}\n\n\t& .ck-button__keystroke {\n\t\tcolor: inherit;\n\n\t\t@mixin ck-dir ltr {\n\t\t\tmargin-left: var(--ck-spacing-large);\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\tmargin-right: var(--ck-spacing-large);\n\t\t}\n\n\t\tfont-weight: bold;\n\t\topacity: .7;\n\t}\n\n\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/70 */\n\t&.ck-disabled {\n\t\t&:active,\n\t\t&:focus {\n\t\t\t/* The disabled button should have a slightly less visible shadow when focused. */\n\t\t\t@mixin ck-box-shadow var(--ck-focus-disabled-outer-shadow);\n\t\t}\n\n\t\t& .ck-button__icon {\n\t\t\t@mixin ck-disabled;\n\t\t}\n\n\t\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/98 */\n\t\t& .ck-button__label {\n\t\t\t@mixin ck-disabled;\n\t\t}\n\n\t\t& .ck-button__keystroke {\n\t\t\topacity: .3;\n\t\t}\n\t}\n\n\t&.ck-button_with-text {\n\t\tpadding: var(--ck-spacing-tiny) var(--ck-spacing-standard);\n\n\t\t/* stylelint-disable-next-line no-descending-specificity */\n\t\t& .ck-button__icon {\n\t\t\t@mixin ck-dir ltr {\n\t\t\t\tmargin-left: calc(-1 * var(--ck-spacing-small));\n\t\t\t\tmargin-right: var(--ck-spacing-small);\n\t\t\t}\n\n\t\t\t@mixin ck-dir rtl {\n\t\t\t\tmargin-right: calc(-1 * var(--ck-spacing-small));\n\t\t\t\tmargin-left: var(--ck-spacing-small);\n\t\t\t}\n\t\t}\n\t}\n\n\t&.ck-button_with-keystroke {\n\t\t/* stylelint-disable-next-line no-descending-specificity */\n\t\t& .ck-button__label {\n\t\t\tflex-grow: 1;\n\t\t}\n\t}\n\n\t/* A style of the button which is currently on, e.g. its feature is active. */\n\t&.ck-on {\n\t\t@mixin ck-button-colors --ck-color-button-on;\n\n\t\tcolor: var(--ck-color-button-on-color);\n\t}\n\n\t&.ck-button-save {\n\t\tcolor: var(--ck-color-button-save);\n\t}\n\n\t&.ck-button-cancel {\n\t\tcolor: var(--ck-color-button-cancel);\n\t}\n}\n\n/* A style of the button which handles the primary action. */\n.ck.ck-button-action,\na.ck.ck-button-action {\n\t@mixin ck-button-colors --ck-color-button-action;\n\n\tcolor: var(--ck-color-button-action-text);\n}\n\n.ck.ck-button-bold,\na.ck.ck-button-bold {\n\tfont-weight: bold;\n}\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements a button of given background color.\n *\n * @param {String} $background - Background color of the button.\n * @param {String} $border - Border color of the button.\n */\n@define-mixin ck-button-colors $prefix {\n\tbackground: var($(prefix)-background);\n\n\t&:not(.ck-disabled) {\n\t\t&:hover {\n\t\t\tbackground: var($(prefix)-hover-background);\n\t\t}\n\n\t\t&:active {\n\t\t\tbackground: var($(prefix)-active-background);\n\t\t}\n\t}\n\n\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/98 */\n\t&.ck-disabled {\n\t\tbackground: var($(prefix)-disabled-background);\n\t}\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A visual style of focused element's border.\n */\n@define-mixin ck-focus-ring {\n\t/* Disable native outline. */\n\toutline: none;\n\tborder: var(--ck-focus-ring)\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A class which indicates that an element holding it is disabled.\n */\n@define-mixin ck-disabled {\n\topacity: var(--ck-disabled-opacity);\n}\n"],sourceRoot:""}]);const c=a},7258:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.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)}.ck.ck-button.ck-switchbutton,.ck.ck-button.ck-switchbutton.ck-on:active,.ck.ck-button.ck-switchbutton.ck-on:focus,.ck.ck-button.ck-switchbutton.ck-on:hover,.ck.ck-button.ck-switchbutton:active,.ck.ck-button.ck-switchbutton:focus,.ck.ck-button.ck-switchbutton:hover{background:transparent;color:inherit}[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))}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/button/switchbutton.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/button/switchbutton.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_disabled.css"],names:[],mappings:"AASE,4HACC,aACD,CCCF,MAEC,8CAA+C,CAE/C,0DAAgE,CAChE,2HAIC,CACD,0FACD,CAOC,0QAEC,sBAAuB,CADvB,aAED,CAEA,0DAGE,4CAOF,CAVA,0DAQE,2CAEF,CAEA,iDCpCA,eD4EA,CAxCA,yIChCC,qCDwED,CAxCA,2DAKE,gBAmCF,CAxCA,2DAUE,iBA8BF,CAxCA,iDAkBC,uDAAwD,CAFxD,4BAA6B,CAD7B,iFAAsF,CAEtF,0CAuBD,CApBC,2ECxDD,eDmEC,CAXA,6LCpDA,qCAAsC,CDsDpC,8CASF,CAXA,2EAOC,yDAA0D,CAD1D,gDAAiD,CAIjD,uBAA0B,CAL1B,+CAMD,CAEA,uDACC,6DAKD,CAHC,iFACC,qDACD,CAIF,6DEhFA,kCFkFA,CAGA,oCACC,wBAAyB,CAEzB,eAAgB,CADhB,YAQD,CALC,uDACC,iGAAmG,CAEnG,4BAA6B,CAD7B,kBAED,CAKA,uDACC,sDAkBD,CAhBC,6DACC,4DACD,CAEA,2FAKE,2DAMF,CAXA,2FASE,oEAEF",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-button.ck-switchbutton {\n\t& .ck-button__toggle {\n\t\tdisplay: block;\n\n\t\t& .ck-button__toggle__inner {\n\t\t\tdisplay: block;\n\t\t}\n\t}\n}\n",'/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_rounded.css";\n@import "../../../mixins/_disabled.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n/* Note: To avoid rendering issues (aliasing) but to preserve the responsive nature\nof the component, floating–point numbers have been used which, for the default font size\n(see: --ck-font-size-base), will generate simple integers. */\n:root {\n\t/* 34px at 13px font-size */\n\t--ck-switch-button-toggle-width: 2.6153846154em;\n\t/* 14px at 13px font-size */\n\t--ck-switch-button-toggle-inner-size: calc(1.0769230769em + 1px);\n\t--ck-switch-button-translation: calc(\n\t\tvar(--ck-switch-button-toggle-width) -\n\t\tvar(--ck-switch-button-toggle-inner-size) -\n\t\t2px /* Border */\n\t);\n\t--ck-switch-button-inner-hover-shadow: 0 0 0 5px var(--ck-color-switch-button-inner-shadow);\n}\n\n.ck.ck-button.ck-switchbutton {\n\t/* Unlike a regular button, the switch button text color and background should never change.\n\t * Changing toggle switch (background, outline) is enough to carry the information about the\n\t * state of the entire component (https://github.com/ckeditor/ckeditor5/issues/12519)\n\t */\n\t&, &:hover, &:focus, &:active, &.ck-on:hover, &.ck-on:focus, &.ck-on:active {\n\t\tcolor: inherit;\n\t\tbackground: transparent;\n\t}\n\n\t& .ck-button__label {\n\t\t@mixin ck-dir ltr {\n\t\t\t/* Separate the label from the switch */\n\t\t\tmargin-right: calc(2 * var(--ck-spacing-large));\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\t/* Separate the label from the switch */\n\t\t\tmargin-left: calc(2 * var(--ck-spacing-large));\n\t\t}\n\t}\n\n\t& .ck-button__toggle {\n\t\t@mixin ck-rounded-corners;\n\n\t\t@mixin ck-dir ltr {\n\t\t\t/* Make sure the toggle is always to the right as far as possible. */\n\t\t\tmargin-left: auto;\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\t/* Make sure the toggle is always to the left as far as possible. */\n\t\t\tmargin-right: auto;\n\t\t}\n\n\t\t/* Apply some smooth transition to the box-shadow and border. */\n\t\t/* Gently animate the background color of the toggle switch */\n\t\ttransition: background 400ms ease, box-shadow .2s ease-in-out, outline .2s ease-in-out;\n\t\tborder: 1px solid transparent;\n\t\twidth: var(--ck-switch-button-toggle-width);\n\t\tbackground: var(--ck-color-switch-button-off-background);\n\n\t\t& .ck-button__toggle__inner {\n\t\t\t@mixin ck-rounded-corners {\n\t\t\t\tborder-radius: calc(.5 * var(--ck-border-radius));\n\t\t\t}\n\n\t\t\twidth: var(--ck-switch-button-toggle-inner-size);\n\t\t\theight: var(--ck-switch-button-toggle-inner-size);\n\t\t\tbackground: var(--ck-color-switch-button-inner-background);\n\n\t\t\t/* Gently animate the inner part of the toggle switch */\n\t\t\ttransition: all 300ms ease;\n\t\t}\n\n\t\t&:hover {\n\t\t\tbackground: var(--ck-color-switch-button-off-hover-background);\n\n\t\t\t& .ck-button__toggle__inner {\n\t\t\t\tbox-shadow: var(--ck-switch-button-inner-hover-shadow);\n\t\t\t}\n\t\t}\n\t}\n\n\t&.ck-disabled .ck-button__toggle {\n\t\t@mixin ck-disabled;\n\t}\n\n\t/* Overriding default .ck-button:focus styles + an outline around the toogle */\n\t&:focus {\n\t\tborder-color: transparent;\n\t\toutline: none;\n\t\tbox-shadow: none;\n\n\t\t& .ck-button__toggle {\n\t\t\tbox-shadow: 0 0 0 1px var(--ck-color-base-background), 0 0 0 5px var(--ck-color-focus-outer-shadow);\n\t\t\toutline-offset: 1px;\n\t\t\toutline: var(--ck-focus-ring);\n\t\t}\n\t}\n\n\t/* stylelint-disable-next-line no-descending-specificity */\n\t&.ck-on {\n\t\t& .ck-button__toggle {\n\t\t\tbackground: var(--ck-color-switch-button-on-background);\n\n\t\t\t&:hover {\n\t\t\t\tbackground: var(--ck-color-switch-button-on-hover-background);\n\t\t\t}\n\n\t\t\t& .ck-button__toggle__inner {\n\t\t\t\t/*\n\t\t\t\t* Move the toggle switch to the right. It will be animated.\n\t\t\t\t*/\n\t\t\t\t@mixin ck-dir ltr {\n\t\t\t\t\ttransform: translateX( var( --ck-switch-button-translation ) );\n\t\t\t\t}\n\n\t\t\t\t@mixin ck-dir rtl {\n\t\t\t\t\ttransform: translateX( calc( -1 * var( --ck-switch-button-translation ) ) );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A class which indicates that an element holding it is disabled.\n */\n@define-mixin ck-disabled {\n\topacity: var(--ck-disabled-opacity);\n}\n"],sourceRoot:""}]);const c=a},4095:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.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;color:inherit;font-weight:700;padding:var(--ck-list-button-padding);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:var(--ck-spacing-medium) var(--ck-spacing-large) var(--ck-spacing-large)}.ck.ck-collapsible.ck-collapsible_collapsed>.ck.ck-button .ck-icon{transform:rotate(-90deg)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/collapsible/collapsible.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/collapsible/collapsible.css"],names:[],mappings:"AAMC,sEACC,YACD,CCHD,MACC,yDACD,CAGC,iCAIC,eAAgB,CAChB,aAAc,CAHd,eAAiB,CACjB,qCAAsC,CAFtC,UAoBD,CAdC,uCACC,sBACD,CAEA,wIACC,sBAAuB,CACvB,wBAAyB,CACzB,eACD,CAEA,0CACC,qCAAsC,CACtC,sCACD,CAGD,6CACC,gFACD,CAGC,mEACC,wBACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-collapsible.ck-collapsible_collapsed {\n\t& > .ck-collapsible__children {\n\t\tdisplay: none;\n\t}\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-collapsible-arrow-size: calc(0.5 * var(--ck-icon-size));\n}\n\n.ck.ck-collapsible {\n\t& > .ck.ck-button {\n\t\twidth: 100%;\n\t\tfont-weight: bold;\n\t\tpadding: var(--ck-list-button-padding);\n\t\tborder-radius: 0;\n\t\tcolor: inherit;\n\n\t\t&:focus {\n\t\t\tbackground: transparent;\n\t\t}\n\n\t\t&:active, &:not(:focus), &:hover:not(:focus) {\n\t\t\tbackground: transparent;\n\t\t\tborder-color: transparent;\n\t\t\tbox-shadow: none;\n\t\t}\n\n\t\t& > .ck-icon {\n\t\t\tmargin-right: var(--ck-spacing-medium);\n\t\t\twidth: var(--ck-collapsible-arrow-size);\n\t\t}\n\t}\n\n\t& > .ck-collapsible__children {\n\t\tpadding: var(--ck-spacing-medium) var(--ck-spacing-large) var(--ck-spacing-large);\n\t}\n\n\t&.ck-collapsible_collapsed {\n\t\t& > .ck.ck-button .ck-icon {\n\t\t\ttransform: rotate(-90deg);\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const c=a},4923:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.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-selector__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)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/colorgrid/colorgrid.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/colorgrid/colorgrid.css"],names:[],mappings:"AAKA,kBACC,YACD,CCAA,MACC,8BAA+B,CAK/B,wCACD,CAEA,kBACC,YAAa,CACb,WACD,CAEA,wBAOC,QAAS,CALT,qCAAsC,CAEtC,yCAA0C,CAD1C,wCAAyC,CAEzC,SAAU,CACV,8BAA+B,CAL/B,oCAyCD,CAjCC,oCACC,YAAa,CACb,gBACD,CAEA,+DACC,gDACD,CAEA,oCAEC,2CAA4C,CAD5C,YAED,CAEA,8BACC,8FAKD,CAHC,0CACC,aACD,CAGD,8HAIC,QACD,CAEA,gGAEC,iGACD,CAGD,yBACC,oCACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-color-grid {\n\tdisplay: grid;\n}\n",'/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_rounded.css";\n\n:root {\n\t--ck-color-grid-tile-size: 24px;\n\n\t/* Not using global colors here because these may change but some colors in a pallette\n\t * require special treatment. For instance, this ensures no matter what the UI text color is,\n\t * the check icon will look good on the black color tile. */\n\t--ck-color-color-grid-check-icon: hsl(212, 81%, 46%);\n}\n\n.ck.ck-color-grid {\n\tgrid-gap: 5px;\n\tpadding: 8px;\n}\n\n.ck.ck-color-grid__tile {\n\twidth: var(--ck-color-grid-tile-size);\n\theight: var(--ck-color-grid-tile-size);\n\tmin-width: var(--ck-color-grid-tile-size);\n\tmin-height: var(--ck-color-grid-tile-size);\n\tpadding: 0;\n\ttransition: .2s ease box-shadow;\n\tborder: 0;\n\n\t&.ck-disabled {\n\t\tcursor: unset;\n\t\ttransition: unset;\n\t}\n\n\t&.ck-color-selector__color-tile_bordered {\n\t\tbox-shadow: 0 0 0 1px var(--ck-color-base-border);\n\t}\n\n\t& .ck.ck-icon {\n\t\tdisplay: none;\n\t\tcolor: var(--ck-color-color-grid-check-icon);\n\t}\n\n\t&.ck-on {\n\t\tbox-shadow: inset 0 0 0 1px var(--ck-color-base-background), 0 0 0 2px var(--ck-color-base-text);\n\n\t\t& .ck.ck-icon {\n\t\t\tdisplay: block;\n\t\t}\n\t}\n\n\t&.ck-on,\n\t&:focus:not( .ck-disabled ),\n\t&:hover:not( .ck-disabled ) {\n\t\t/* Disable the default .ck-button\'s border ring. */\n\t\tborder: 0;\n\t}\n\n\t&:focus:not( .ck-disabled ),\n\t&:hover:not( .ck-disabled ) {\n\t\tbox-shadow: inset 0 0 0 1px var(--ck-color-base-background), 0 0 0 2px var(--ck-color-focus-border);\n\t}\n}\n\n.ck.ck-color-grid__label {\n\tpadding: 0 var(--ck-spacing-standard);\n}\n'],sourceRoot:""}]);const c=a},4257:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".color-picker-hex-input{width:max-content}.color-picker-hex-input .ck.ck-input{min-width:unset}.ck.ck-color-picker__row{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;margin:var(--ck-spacing-large) 0 0;width:unset}.ck.ck-color-picker__row .ck.ck-labeled-field-view{padding-top:unset}.ck.ck-color-picker__row .ck.ck-input-text{width:unset}.ck.ck-color-picker__row .ck-color-picker__hash-view{padding-right:var(--ck-spacing-medium);padding-top:var(--ck-spacing-tiny)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/colorpicker/colorpicker.css"],names:[],mappings:"AAKA,wBACC,iBAKD,CAHC,qCACC,eACD,CAGD,yBACC,YAAa,CACb,kBAAmB,CACnB,gBAAiB,CACjB,6BAA8B,CAC9B,kCAAmC,CACnC,WAcD,CAZC,mDACC,iBACD,CAEA,2CACC,WACD,CAEA,qDAEC,sCAAuC,CADvC,kCAED",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.color-picker-hex-input {\n\twidth: max-content;\n\n\t& .ck.ck-input {\n\t\tmin-width: unset;\n\t}\n}\n\n.ck.ck-color-picker__row {\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: nowrap;\n\tjustify-content: space-between;\n\tmargin: var(--ck-spacing-large) 0 0;\n\twidth: unset;\n\n\t& .ck.ck-labeled-field-view {\n\t\tpadding-top: unset;\n\t}\n\n\t& .ck.ck-input-text {\n\t\twidth: unset;\n\t}\n\n\t& .ck-color-picker__hash-view {\n\t\tpadding-top: var(--ck-spacing-tiny);\n\t\tpadding-right: var(--ck-spacing-medium);\n\t}\n}\n"],sourceRoot:""}]);const c=a},6306:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker,.ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__remove-color{align-items:center;display:flex}[dir=rtl] .ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker,[dir=rtl] .ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__remove-color{justify-content:flex-start}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-selector_action-bar{display:flex;flex-direction:row;justify-content:space-around}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-selector_action-bar .ck-button-cancel,.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-selector_action-bar .ck-button-save{flex:1}.ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker,.ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__remove-color{width:100%}.ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker{border-bottom-left-radius:0;border-bottom-right-radius:0;padding:calc(var(--ck-spacing-standard)/2) var(--ck-spacing-standard)}.ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker:not(:focus){border-top:1px solid var(--ck-color-base-border)}[dir=ltr] .ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker .ck.ck-icon{margin-right:var(--ck-spacing-standard)}[dir=rtl] .ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker .ck.ck-icon{margin-left:var(--ck-spacing-standard)}.ck.ck-color-selector .ck-color-grids-fragment label.ck.ck-color-grid__label{font-weight:unset}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker{padding:8px}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker .hex-color-picker{height:100px;min-width:180px}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker .hex-color-picker::part(saturation){border-radius:var(--ck-border-radius) var(--ck-border-radius) 0 0}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker .hex-color-picker::part(hue){border-radius:0 0 var(--ck-border-radius) var(--ck-border-radius)}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker .hex-color-picker::part(hue-pointer),.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker .hex-color-picker::part(saturation-pointer){height:15px;width:15px}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-selector_action-bar{padding:0 8px 8px}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/colorselector/colorselector.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/colorselector/colorselector.css"],names:[],mappings:"AAUE,oLAGC,kBAAmB,CADnB,YAMD,CARA,wMAME,0BAEF,CAKA,iFACC,YAAa,CACb,kBAAmB,CACnB,4BAMD,CAJC,oMAEC,MACD,CCrBD,oLAEC,UACD,CAEA,0FAEC,2BAA4B,CAC5B,4BAA6B,CAF7B,qEAiBD,CAbC,sGACC,gDACD,CAEA,gHAEE,uCAMF,CARA,gHAME,sCAEF,CAGD,6EACC,iBACD,CAKA,oEACC,WAoBD,CAlBC,sFACC,YAAa,CACb,eAeD,CAbC,wGACC,iEACD,CAEA,iGACC,iEACD,CAEA,yNAGC,WAAY,CADZ,UAED,CAIF,iFACC,iBACD",sourcesContent:['/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n.ck.ck-color-selector {\n\t/* View fragment with color grids. */\n\t& .ck-color-grids-fragment {\n\t\t& .ck-button.ck-color-selector__remove-color,\n\t\t& .ck-button.ck-color-selector__color-picker {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\n\t\t\t@mixin ck-dir rtl {\n\t\t\t\tjustify-content: flex-start;\n\t\t\t}\n\t\t}\n\t}\n\n\t/* View fragment with a color picker. */\n\t& .ck-color-picker-fragment {\n\t\t& .ck.ck-color-selector_action-bar {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: row;\n\t\t\tjustify-content: space-around;\n\n\t\t\t& .ck-button-save,\n\t\t\t& .ck-button-cancel {\n\t\t\t\tflex: 1\n\t\t\t}\n\t\t}\n\t}\n}\n','/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n.ck.ck-color-selector {\n\t/* View fragment with color grids. */\n\t& .ck-color-grids-fragment {\n\t\t& .ck-button.ck-color-selector__remove-color,\n\t\t& .ck-button.ck-color-selector__color-picker {\n\t\t\twidth: 100%;\n\t\t}\n\n\t\t& .ck-button.ck-color-selector__color-picker {\n\t\t\tpadding: calc(var(--ck-spacing-standard) / 2) var(--ck-spacing-standard);\n\t\t\tborder-bottom-left-radius: 0;\n\t\t\tborder-bottom-right-radius: 0;\n\n\t\t\t&:not(:focus) {\n\t\t\t\tborder-top: 1px solid var(--ck-color-base-border);\n\t\t\t}\n\n\t\t\t& .ck.ck-icon {\n\t\t\t\t@mixin ck-dir ltr {\n\t\t\t\t\tmargin-right: var(--ck-spacing-standard);\n\t\t\t\t}\n\n\t\t\t\t@mixin ck-dir rtl {\n\t\t\t\t\tmargin-left: var(--ck-spacing-standard);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t& label.ck.ck-color-grid__label {\n\t\t\tfont-weight: unset;\n\t\t}\n\t}\n\n\t/* View fragment with a color picker. */\n\t& .ck-color-picker-fragment {\n\t\t& .ck.ck-color-picker {\n\t\t\tpadding: 8px;\n\n\t\t\t& .hex-color-picker {\n\t\t\t\theight: 100px;\n\t\t\t\tmin-width: 180px;\n\n\t\t\t\t&::part(saturation) {\n\t\t\t\t\tborder-radius: var(--ck-border-radius) var(--ck-border-radius) 0 0;\n\t\t\t\t}\n\n\t\t\t\t&::part(hue) {\n\t\t\t\t\tborder-radius: 0 0 var(--ck-border-radius) var(--ck-border-radius);\n\t\t\t\t}\n\n\t\t\t\t&::part(saturation-pointer),\n\t\t\t\t&::part(hue-pointer) {\n\t\t\t\t\twidth: 15px;\n\t\t\t\t\theight: 15px;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t& .ck.ck-color-selector_action-bar {\n\t\t\tpadding: 0 8px 8px;\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);const c=a},2105:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck.ck-dialog-overlay{bottom:0;left:0;overscroll-behavior:none;position:fixed;right:0;top:0;user-select:none}.ck.ck-dialog-overlay.ck-dialog-overlay__transparent{animation:none;background:none;pointer-events:none}.ck.ck-dialog{overscroll-behavior:none;position:absolute;width:fit-content}.ck.ck-dialog .ck.ck-form__header{flex-shrink:0}.ck.ck-dialog .ck.ck-form__header .ck-form__header__label{cursor:grab}.ck.ck-dialog-overlay.ck-dialog-overlay__transparent .ck.ck-dialog{pointer-events:all}:root{--ck-dialog-overlay-background-color:rgba(0,0,0,.5);--ck-dialog-drop-shadow:0px 0px 6px 2px rgba(0,0,0,.15);--ck-dialog-max-width:100vw;--ck-dialog-max-height:90vh}.ck.ck-dialog-overlay{animation:ck-dialog-fade-in .3s;background:var(--ck-dialog-overlay-background-color);z-index:var(--ck-z-dialog)}.ck.ck-dialog{border-radius:0}.ck-rounded-corners .ck.ck-dialog,.ck.ck-dialog.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-dialog{--ck-drop-shadow:var(--ck-dialog-drop-shadow);background:var(--ck-color-base-background);border:1px solid var(--ck-color-base-border);box-shadow:var(--ck-drop-shadow),0 0;max-height:var(--ck-dialog-max-height);max-width:var(--ck-dialog-max-width)}@keyframes ck-dialog-fade-in{0%{background:transparent}to{background:var(--ck-dialog-overlay-background-color)}}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/dialog/dialog.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/dialog/dialog.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AAKA,sBAKC,QAAS,CACT,MAAO,CAJP,wBAAyB,CAEzB,cAAe,CAGf,OAAQ,CACR,KAAM,CAPN,gBAcD,CALC,qDAEC,cAAe,CACf,eAAgB,CAFhB,mBAGD,CAGD,cACC,wBAAyB,CAEzB,iBAAkB,CADlB,iBAcD,CAXC,kCACC,aAKD,CAHC,0DACC,WACD,CAVF,mEAcE,kBAEF,CC7BA,MACC,mDAA2D,CAC3D,uDAA8D,CAC9D,2BAA4B,CAC5B,2BACD,CAEA,sBACC,+BAAgC,CAChC,oDAAqD,CACrD,0BACD,CAEA,cCXC,eDqBD,CAVA,mECPE,qCDiBF,CAVA,cAIC,6CAA8C,CAE9C,0CAA2C,CAG3C,4CAA6C,CEtB7C,oCAA8B,CFoB9B,sCAAuC,CACvC,oCAED,CAEA,6BACC,GACC,sBACD,CAEA,GACC,oDACD,CACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-dialog-overlay {\n\tuser-select: none;\n\toverscroll-behavior: none;\n\n\tposition: fixed;\n\tbottom: 0;\n\tleft: 0;\n\tright: 0;\n\ttop: 0;\n\n\t&.ck-dialog-overlay__transparent {\n\t\tpointer-events: none;\n\t\tanimation: none;\n\t\tbackground: none;\n\t}\n}\n\n.ck.ck-dialog {\n\toverscroll-behavior: none;\n\twidth: fit-content;\n\tposition: absolute;\n\n\t& .ck.ck-form__header {\n\t\tflex-shrink: 0;\n\n\t\t& .ck-form__header__label {\n\t\t\tcursor: grab;\n\t\t}\n\t}\n\n\t@nest .ck.ck-dialog-overlay.ck-dialog-overlay__transparent & {\n\t\tpointer-events: all;\n\t}\n}\n",'/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_rounded.css";\n@import "../../../mixins/_shadow.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css";\n\n:root {\n\t--ck-dialog-overlay-background-color: hsla( 0, 0%, 0%, .5 );\n\t--ck-dialog-drop-shadow: 0px 0px 6px 2px hsl(0deg 0% 0% / 15%);\n\t--ck-dialog-max-width: 100vw;\n\t--ck-dialog-max-height: 90vh;\n}\n\n.ck.ck-dialog-overlay {\n\tanimation: ck-dialog-fade-in .3s;\n\tbackground: var(--ck-dialog-overlay-background-color);\n\tz-index: var(--ck-z-dialog);\n}\n\n.ck.ck-dialog {\n\t@mixin ck-rounded-corners;\n\t@mixin ck-drop-shadow;\n\n\t--ck-drop-shadow: var(--ck-dialog-drop-shadow);\n\n\tbackground: var(--ck-color-base-background);\n\tmax-height: var(--ck-dialog-max-height);\n\tmax-width: var(--ck-dialog-max-width);\n\tborder: 1px solid var(--ck-color-base-border);\n}\n\n@keyframes ck-dialog-fade-in {\n\t0% {\n\t\tbackground: hsla( 0, 0%, 0%, 0 );\n\t}\n\n\t100% {\n\t\tbackground: var(--ck-dialog-overlay-background-color);\n\t}\n}\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n"],sourceRoot:""}]);const c=a},1043:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck.ck-dialog .ck.ck-dialog__actions{display:flex;justify-content:flex-end;padding:var(--ck-spacing-large)}.ck.ck-dialog .ck.ck-dialog__actions>*+*{margin-left:var(--ck-spacing-large)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/dialog/dialogactions.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/dialog/dialogactions.css"],names:[],mappings:"AAMC,qCACC,YAAa,CACb,wBAAyB,CCDzB,+BDED,CCAC,yCACC,mCACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-dialog {\n\t& .ck.ck-dialog__actions {\n\t\tdisplay: flex;\n\t\tjustify-content: flex-end;\n\t}\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-dialog {\n\t& .ck.ck-dialog__actions {\n\t\tpadding: var(--ck-spacing-large);\n\n\t\t& > * + * {\n\t\t\tmargin-left: var(--ck-spacing-large);\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const c=a},5062:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.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-panel)}.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-panel) + 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}.ck.ck-dropdown__panel:focus{outline:none}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/dropdown/dropdown.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/dropdown.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_disabled.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAKA,MACC,4BACD,CAEA,gBACC,oBAAqB,CACrB,iBA2ED,CAzEC,oCACC,mBAAoB,CACpB,2BACD,CAGA,+CACC,UACD,CAEA,oCACC,YAAa,CAEb,sCAAuC,CAEvC,iBAAkB,CAHlB,yBA4DD,CAvDC,+DACC,oBACD,CAEA,mSAKC,WACD,CAEA,mSAUC,WAAY,CADZ,QAED,CAEA,oHAEC,MACD,CAEA,oHAEC,OACD,CAEA,kHAGC,QAAS,CACT,0BACD,CAEA,sHAGC,QAAS,CACT,0BACD,CAEA,sHAGC,QAAS,CACT,0BACD,CAQF,mCACC,mCACD,CCpFA,MACC,sDACD,CAEA,gBAEC,iBA2ED,CAzEC,oCACC,mCACD,CAGC,8CAIC,sCAAuC,CAHvC,gCAID,CAIA,8CACC,+BAAgC,CAGhC,oCACD,CAGD,gDC/BA,kCDiCA,CAIE,mFAEC,oCACD,CAIA,mFAEC,qCACD,CAID,iEAEC,eAAgB,CAChB,sBAAuB,CAFvB,SAGD,CAGA,6EC1DD,kCD4DC,CAGA,qDACC,2BAA4B,CAC5B,4BACD,CAEA,sGACC,UACD,CAGA,yHAEC,eAKD,CAHC,qIE7EF,2CF+EE,CAKH,uBGlFC,eHkHD,CAhCA,qFG9EE,qCH8GF,CAhCA,uBAIC,oDAAqD,CACrD,sDAAuD,CACvD,QAAS,CE1FT,oCAA8B,CF6F9B,cAuBD,CAnBC,6CACC,wBACD,CAEA,6CACC,yBACD,CAEA,6CACC,2BACD,CAEA,6CACC,4BACD,CAEA,6BACC,YACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-dropdown-max-width: 75vw;\n}\n\n.ck.ck-dropdown {\n\tdisplay: inline-block;\n\tposition: relative;\n\n\t& .ck-dropdown__arrow {\n\t\tpointer-events: none;\n\t\tz-index: var(--ck-z-default);\n\t}\n\n\t/* Dropdown button should span horizontally, e.g. in vertical toolbars */\n\t& .ck-button.ck-dropdown__button {\n\t\twidth: 100%;\n\t}\n\n\t& .ck-dropdown__panel {\n\t\tdisplay: none;\n\t\tz-index: var(--ck-z-panel);\n\t\tmax-width: var(--ck-dropdown-max-width);\n\n\t\tposition: absolute;\n\n\t\t&.ck-dropdown__panel-visible {\n\t\t\tdisplay: inline-block;\n\t\t}\n\n\t\t&.ck-dropdown__panel_ne,\n\t\t&.ck-dropdown__panel_nw,\n\t\t&.ck-dropdown__panel_n,\n\t\t&.ck-dropdown__panel_nmw,\n\t\t&.ck-dropdown__panel_nme {\n\t\t\tbottom: 100%;\n\t\t}\n\n\t\t&.ck-dropdown__panel_se,\n\t\t&.ck-dropdown__panel_sw,\n\t\t&.ck-dropdown__panel_smw,\n\t\t&.ck-dropdown__panel_sme,\n\t\t&.ck-dropdown__panel_s {\n\t\t\t/*\n\t\t\t * Using transform: translate3d( 0, 100%, 0 ) causes blurry dropdown on Chrome 67-78+ on non-retina displays.\n\t\t\t * See https://github.com/ckeditor/ckeditor5/issues/1053.\n\t\t\t */\n\t\t\ttop: 100%;\n\t\t\tbottom: auto;\n\t\t}\n\n\t\t&.ck-dropdown__panel_ne,\n\t\t&.ck-dropdown__panel_se {\n\t\t\tleft: 0px;\n\t\t}\n\n\t\t&.ck-dropdown__panel_nw,\n\t\t&.ck-dropdown__panel_sw {\n\t\t\tright: 0px;\n\t\t}\n\n\t\t&.ck-dropdown__panel_s,\n\t\t&.ck-dropdown__panel_n {\n\t\t\t/* Positioning panels relative to the center of the button */\n\t\t\tleft: 50%;\n\t\t\ttransform: translateX(-50%);\n\t\t}\n\n\t\t&.ck-dropdown__panel_nmw,\n\t\t&.ck-dropdown__panel_smw {\n\t\t\t/* Positioning panels relative to the middle-west of the button */\n\t\t\tleft: 75%;\n\t\t\ttransform: translateX(-75%);\n\t\t}\n\n\t\t&.ck-dropdown__panel_nme,\n\t\t&.ck-dropdown__panel_sme {\n\t\t\t/* Positioning panels relative to the middle-east of the button */\n\t\t\tleft: 25%;\n\t\t\ttransform: translateX(-25%);\n\t\t}\n\t}\n}\n\n/*\n * Toolbar dropdown panels should be always above the UI (eg. other dropdown panels) from the editor's content.\n * See https://github.com/ckeditor/ckeditor5/issues/7874\n */\n.ck.ck-toolbar .ck-dropdown__panel {\n\tz-index: calc( var(--ck-z-panel) + 1 );\n}\n",'/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_rounded.css";\n@import "../../../mixins/_disabled.css";\n@import "../../../mixins/_shadow.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n:root {\n\t--ck-dropdown-arrow-size: calc(0.5 * var(--ck-icon-size));\n}\n\n.ck.ck-dropdown {\n\t/* Enable font size inheritance, which allows fluid UI scaling. */\n\tfont-size: inherit;\n\n\t& .ck-dropdown__arrow {\n\t\twidth: var(--ck-dropdown-arrow-size);\n\t}\n\n\t@mixin ck-dir ltr {\n\t\t& .ck-dropdown__arrow {\n\t\t\tright: var(--ck-spacing-standard);\n\n\t\t\t/* A space to accommodate the triangle. */\n\t\t\tmargin-left: var(--ck-spacing-standard);\n\t\t}\n\t}\n\n\t@mixin ck-dir rtl {\n\t\t& .ck-dropdown__arrow {\n\t\t\tleft: var(--ck-spacing-standard);\n\n\t\t\t/* A space to accommodate the triangle. */\n\t\t\tmargin-right: var(--ck-spacing-small);\n\t\t}\n\t}\n\n\t&.ck-disabled .ck-dropdown__arrow {\n\t\t@mixin ck-disabled;\n\t}\n\n\t& .ck-button.ck-dropdown__button {\n\t\t@mixin ck-dir ltr {\n\t\t\t&:not(.ck-button_with-text) {\n\t\t\t\t/* Make sure dropdowns with just an icon have the right inner spacing */\n\t\t\t\tpadding-left: var(--ck-spacing-small);\n\t\t\t}\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\t&:not(.ck-button_with-text) {\n\t\t\t\t/* Make sure dropdowns with just an icon have the right inner spacing */\n\t\t\t\tpadding-right: var(--ck-spacing-small);\n\t\t\t}\n\t\t}\n\n\t\t/* #23 */\n\t\t& .ck-button__label {\n\t\t\twidth: 7em;\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t}\n\n\t\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/70 */\n\t\t&.ck-disabled .ck-button__label {\n\t\t\t@mixin ck-disabled;\n\t\t}\n\n\t\t/* https://github.com/ckeditor/ckeditor5/issues/816 */\n\t\t&.ck-on {\n\t\t\tborder-bottom-left-radius: 0;\n\t\t\tborder-bottom-right-radius: 0;\n\t\t}\n\n\t\t&.ck-dropdown__button_label-width_auto .ck-button__label {\n\t\t\twidth: auto;\n\t\t}\n\n\t\t/* https://github.com/ckeditor/ckeditor5/issues/8699 */\n\t\t&.ck-off:active,\n\t\t&.ck-on:active {\n\t\t\tbox-shadow: none;\n\n\t\t\t&:focus {\n\t\t\t\t@mixin ck-box-shadow var(--ck-focus-outer-shadow);\n\t\t\t}\n\t\t}\n\t}\n}\n\n.ck.ck-dropdown__panel {\n\t@mixin ck-rounded-corners;\n\t@mixin ck-drop-shadow;\n\n\tbackground: var(--ck-color-dropdown-panel-background);\n\tborder: 1px solid var(--ck-color-dropdown-panel-border);\n\tbottom: 0;\n\n\t/* Make sure the panel is at least as wide as the drop-down\'s button. */\n\tmin-width: 100%;\n\n\t/* Disabled corner border radius to be consistent with the .dropdown__button\n\thttps://github.com/ckeditor/ckeditor5/issues/816 */\n\t&.ck-dropdown__panel_se {\n\t\tborder-top-left-radius: 0;\n\t}\n\n\t&.ck-dropdown__panel_sw {\n\t\tborder-top-right-radius: 0;\n\t}\n\n\t&.ck-dropdown__panel_ne {\n\t\tborder-bottom-left-radius: 0;\n\t}\n\n\t&.ck-dropdown__panel_nw {\n\t\tborder-bottom-right-radius: 0;\n\t}\n\n\t&:focus {\n\t\toutline: none;\n\t}\n}\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A class which indicates that an element holding it is disabled.\n */\n@define-mixin ck-disabled {\n\topacity: var(--ck-disabled-opacity);\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);const c=a},1883:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.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}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/listdropdown.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAOA,6CCIC,eDqBD,CAzBA,iICQE,qCAAsC,CDJtC,wBAqBF,CAfE,mFCND,eDYC,CANA,6MCFA,qCAAsC,CDKpC,2BAA4B,CAC5B,4BAA6B,CAF7B,wBAIF,CAEA,kFCdD,eDmBC,CALA,2MCVA,qCAAsC,CDYpC,wBAAyB,CACzB,yBAEF",sourcesContent:['/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_rounded.css";\n\n.ck.ck-dropdown .ck-dropdown__panel .ck-list {\n\t/* Disabled radius of top-left border to be consistent with .dropdown__button\n\thttps://github.com/ckeditor/ckeditor5/issues/816 */\n\t@mixin ck-rounded-corners {\n\t\tborder-top-left-radius: 0;\n\t}\n\n\t/* Make sure the button belonging to the first/last child of the list goes well with the\n\tborder radius of the entire panel. */\n\t& .ck-list__item {\n\t\t&:first-child .ck-button {\n\t\t\t@mixin ck-rounded-corners {\n\t\t\t\tborder-top-left-radius: 0;\n\t\t\t\tborder-bottom-left-radius: 0;\n\t\t\t\tborder-bottom-right-radius: 0;\n\t\t\t}\n\t\t}\n\n\t\t&:last-child .ck-button {\n\t\t\t@mixin ck-rounded-corners {\n\t\t\t\tborder-top-left-radius: 0;\n\t\t\t\tborder-top-right-radius: 0;\n\t\t\t}\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);const c=a},4791:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.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__arrow:not(:focus){border-bottom-width:0;border-top-width:0}.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}.ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow:focus:after,.ck.ck-splitbutton:hover>.ck-splitbutton__arrow:focus:after{--ck-color-split-button-hover-border:var(--ck-color-focus-border)}[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}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/dropdown/splitbutton.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/splitbutton.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAKA,mBAEC,iBAKD,CAHC,iDACC,qCACD,CCJD,MACC,gDAAyD,CACzD,4CACD,CAMC,oIAKE,gCAAiC,CADjC,6BASF,CAbA,oIAWE,+BAAgC,CADhC,4BAGF,CAEA,0CAGC,eAiBD,CApBA,oDAQE,+BAAgC,CADhC,4BAaF,CApBA,oDAcE,gCAAiC,CADjC,6BAOF,CAHC,8CACC,mCACD,CAKD,sDAEC,qBAAwB,CADxB,kBAED,CAQC,0KACC,wDACD,CAIA,8JAKC,0DAA2D,CAJ3D,UAAW,CAGX,WAAY,CAFZ,iBAAkB,CAClB,SAGD,CAGA,sIACC,iEACD,CAGC,kLACC,SACD,CAIA,kLACC,UACD,CAMF,uCCzFA,eDmGA,CAVA,qHCrFC,qCD+FD,CARE,qKACC,2BACD,CAEA,mKACC,4BACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-splitbutton {\n\t/* Enable font size inheritance, which allows fluid UI scaling. */\n\tfont-size: inherit;\n\n\t& .ck-splitbutton__action:focus {\n\t\tz-index: calc(var(--ck-z-default) + 1);\n\t}\n}\n\n",'/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_rounded.css";\n\n:root {\n\t--ck-color-split-button-hover-background: hsl(0, 0%, 92%);\n\t--ck-color-split-button-hover-border: hsl(0, 0%, 70%);\n}\n\n.ck.ck-splitbutton {\n\t/*\n\t * Note: ck-rounded and ck-dir mixins don\'t go together (because they both use @nest).\n\t */\n\t&:hover > .ck-splitbutton__action,\n\t&.ck-splitbutton_open > .ck-splitbutton__action {\n\t\t@nest [dir="ltr"] & {\n\t\t\t/* Don\'t round the action button on the right side */\n\t\t\tborder-top-right-radius: unset;\n\t\t\tborder-bottom-right-radius: unset;\n\t\t}\n\n\t\t@nest [dir="rtl"] & {\n\t\t\t/* Don\'t round the action button on the left side */\n\t\t\tborder-top-left-radius: unset;\n\t\t\tborder-bottom-left-radius: unset;\n\t\t}\n\t}\n\n\t& > .ck-splitbutton__arrow {\n\t\t/* It\'s a text-less button and since the icon is positioned absolutely in such situation,\n\t\tit must get some arbitrary min-width. */\n\t\tmin-width: unset;\n\n\t\t@nest [dir="ltr"] & {\n\t\t\t/* Don\'t round the arrow button on the left side */\n\t\t\tborder-top-left-radius: unset;\n\t\t\tborder-bottom-left-radius: unset;\n\t\t}\n\n\t\t@nest [dir="rtl"] & {\n\t\t\t/* Don\'t round the arrow button on the right side */\n\t\t\tborder-top-right-radius: unset;\n\t\t\tborder-bottom-right-radius: unset;\n\t\t}\n\n\t\t& svg {\n\t\t\twidth: var(--ck-dropdown-arrow-size);\n\t\t}\n\t}\n\n\t/* Make sure the divider stretches 100% height of the button\n\thttps://github.com/ckeditor/ckeditor5/issues/10936 */\n\t& > .ck-splitbutton__arrow:not(:focus) {\n\t\tborder-top-width: 0px;\n\t\tborder-bottom-width: 0px;\n\t}\n\n\t/* When the split button is "open" (the arrow is on) or being hovered, it should get some styling\n\tas a whole. The background of both buttons should stand out and there should be a visual\n\tseparation between both buttons. */\n\t&.ck-splitbutton_open,\n\t&:hover {\n\t\t/* When the split button hovered as a whole, not as individual buttons. */\n\t\t& > .ck-button:not(.ck-on):not(.ck-disabled):not(:hover) {\n\t\t\tbackground: var(--ck-color-split-button-hover-background);\n\t\t}\n\n\t\t/* Splitbutton separator needs to be set with the ::after pseudoselector\n\t\tto display properly the borders on focus */\n\t\t& > .ck-splitbutton__arrow:not(.ck-disabled)::after {\n\t\t\tcontent: \'\';\n\t\t\tposition: absolute;\n\t\t\twidth: 1px;\n\t\t\theight: 100%;\n\t\t\tbackground-color: var(--ck-color-split-button-hover-border);\n\t\t}\n\n\t\t/* Make sure the divider between the buttons looks fine when the button is focused */\n\t\t& > .ck-splitbutton__arrow:focus::after {\n\t\t\t--ck-color-split-button-hover-border: var(--ck-color-focus-border);\n\t\t}\n\n\t\t@nest [dir="ltr"] & {\n\t\t\t& > .ck-splitbutton__arrow:not(.ck-disabled)::after {\n\t\t\t\tleft: -1px;\n\t\t\t}\n\t\t}\n\n\t\t@nest [dir="rtl"] & {\n\t\t\t& > .ck-splitbutton__arrow:not(.ck-disabled)::after {\n\t\t\t\tright: -1px;\n\t\t\t}\n\t\t}\n\t}\n\n\t/* Don\'t round the bottom left and right corners of the buttons when "open"\n\thttps://github.com/ckeditor/ckeditor5/issues/816 */\n\t&.ck-splitbutton_open {\n\t\t@mixin ck-rounded-corners {\n\t\t\t& > .ck-splitbutton__action {\n\t\t\t\tborder-bottom-left-radius: 0;\n\t\t\t}\n\n\t\t\t& > .ck-splitbutton__arrow {\n\t\t\t\tborder-bottom-right-radius: 0;\n\t\t\t}\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);const c=a},2704:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.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}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/dropdown/toolbardropdown.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/toolbardropdown.css"],names:[],mappings:"AAKA,MACC,oCACD,CAEA,4CAGC,8CAA+C,CAD/C,iBAQD,CAJE,6DACC,qCACD,CCZF,oCACC,QACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-toolbar-dropdown-max-width: 60vw;\n}\n\n.ck.ck-toolbar-dropdown > .ck-dropdown__panel {\n\t/* https://github.com/ckeditor/ckeditor5/issues/5586 */\n\twidth: max-content;\n\tmax-width: var(--ck-toolbar-dropdown-max-width);\n\n\t& .ck-button {\n\t\t&:focus {\n\t\t\tz-index: calc(var(--ck-z-default) + 1);\n\t\t}\n\t}\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-toolbar-dropdown .ck-toolbar {\n\tborder: 0;\n}\n"],sourceRoot:""}]);const c=a},9847:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.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-panel-background)}.ck.ck-balloon-panel.ck-toolbar-container[class*=arrow_s]:after{border-top-color:var(--ck-color-panel-background)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/editorui/editorui.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_focus.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AAWA,MACC,0CACD,CAEA,yDCJC,eDWD,CAPA,yJCAE,qCDOF,CAJC,oEEPA,2BAA2B,CCF3B,qCAA8B,CDC9B,YFWA,CAGD,+BAGC,4BAA6B,CAF7B,aAAc,CACd,oCA6BD,CA1BC,wCACC,eACD,CAEA,wCACC,gBACD,CAGA,4CACC,kCACD,CAGA,2CAKC,qCACD,CAGA,sDACC,kDACD,CAKA,gEACC,oDACD,CAIA,gEACC,iDACD",sourcesContent:['/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_rounded.css";\n@import "../../../mixins/_disabled.css";\n@import "../../../mixins/_shadow.css";\n@import "../../../mixins/_focus.css";\n@import "../../mixins/_button.css";\n\n:root {\n\t--ck-color-editable-blur-selection: hsl(0, 0%, 85%);\n}\n\n.ck.ck-editor__editable:not(.ck-editor__nested-editable) {\n\t@mixin ck-rounded-corners;\n\n\t&.ck-focused {\n\t\t@mixin ck-focus-ring;\n\t\t@mixin ck-box-shadow var(--ck-inner-shadow);\n\t}\n}\n\n.ck.ck-editor__editable_inline {\n\toverflow: auto;\n\tpadding: 0 var(--ck-spacing-standard);\n\tborder: 1px solid transparent;\n\n\t&[dir="ltr"] {\n\t\ttext-align: left;\n\t}\n\n\t&[dir="rtl"] {\n\t\ttext-align: right;\n\t}\n\n\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/116 */\n\t& > *:first-child {\n\t\tmargin-top: var(--ck-spacing-large);\n\t}\n\n\t/* https://github.com/ckeditor/ckeditor5/issues/847 */\n\t& > *:last-child {\n\t\t/*\n\t\t * This value should match with the default margins of the block elements (like .media or .image)\n\t\t * to avoid a content jumping when the fake selection container shows up (See https://github.com/ckeditor/ckeditor5/issues/9825).\n\t\t */\n\t\tmargin-bottom: var(--ck-spacing-large);\n\t}\n\n\t/* https://github.com/ckeditor/ckeditor5/issues/6517 */\n\t&.ck-blurred ::selection {\n\t\tbackground: var(--ck-color-editable-blur-selection);\n\t}\n}\n\n/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/111 */\n.ck.ck-balloon-panel.ck-toolbar-container[class*="arrow_n"] {\n\t&::after {\n\t\tborder-bottom-color: var(--ck-color-panel-background);\n\t}\n}\n\n.ck.ck-balloon-panel.ck-toolbar-container[class*="arrow_s"] {\n\t&::after {\n\t\tborder-top-color: var(--ck-color-panel-background);\n\t}\n}\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A visual style of focused element's border.\n */\n@define-mixin ck-focus-ring {\n\t/* Disable native outline. */\n\toutline: none;\n\tborder: var(--ck-focus-ring)\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n"],sourceRoot:""}]);const c=a},1874:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck.ck-form__header{align-items:center;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between}.ck.ck-form__header h2.ck-form__header__label{flex-grow:1}:root{--ck-form-header-height:44px}.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)}[dir=ltr] .ck.ck-form__header>.ck-icon{margin-right:var(--ck-spacing-medium)}[dir=rtl] .ck.ck-form__header>.ck-icon{margin-left:var(--ck-spacing-medium)}.ck.ck-form__header .ck-form__header__label{--ck-font-size-base:15px;font-weight:700}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/formheader/formheader.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/formheader/formheader.css"],names:[],mappings:"AAKA,oBAIC,kBAAmB,CAHnB,YAAa,CACb,kBAAmB,CACnB,gBAAiB,CAEjB,6BAKD,CAHC,8CACC,WACD,CCPD,MACC,4BACD,CAEA,oBAIC,mDAAoD,CAFpD,mCAAoC,CACpC,wCAAyC,CAFzC,uDAmBD,CAdC,uCAEE,qCAMF,CARA,uCAME,oCAEF,CAEA,4CACC,wBAAyB,CACzB,eACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-form__header {\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: nowrap;\n\talign-items: center;\n\tjustify-content: space-between;\n\n\t& h2.ck-form__header__label {\n\t\tflex-grow: 1;\n\t}\n}\n",'/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n:root {\n\t--ck-form-header-height: 44px;\n}\n\n.ck.ck-form__header {\n\tpadding: var(--ck-spacing-small) var(--ck-spacing-large);\n\theight: var(--ck-form-header-height);\n\tline-height: var(--ck-form-header-height);\n\tborder-bottom: 1px solid var(--ck-color-base-border);\n\n\t& > .ck-icon {\n\t\t@mixin ck-dir ltr {\n\t\t\tmargin-right: var(--ck-spacing-medium);\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\tmargin-left: var(--ck-spacing-medium);\n\t\t}\n\t}\n\n\t& .ck-form__header__label {\n\t\t--ck-font-size-base: 15px;\n\t\tfont-weight: bold;\n\t}\n}\n'],sourceRoot:""}]);const c=a},4746:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck.ck-highlighted-text mark{background:var(--ck-color-highlight-background);font-size:inherit;font-weight:inherit;line-height:inherit;vertical-align:initial}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/highlightedtext/highlightedtext.css"],names:[],mappings:"AAKA,6BACC,+CAAgD,CAIhD,iBAAkB,CAFlB,mBAAoB,CACpB,mBAAoB,CAFpB,sBAID",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-highlighted-text mark {\n\tbackground: var(--ck-color-highlight-background);\n\tvertical-align: initial;\n\tfont-weight: inherit;\n\tline-height: inherit;\n\tfont-size: inherit;\n}\n"],sourceRoot:""}]);const c=a},1977:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.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 *{cursor:inherit}.ck.ck-icon.ck-icon_inherit-color,.ck.ck-icon.ck-icon_inherit-color *{color:inherit}.ck.ck-icon.ck-icon_inherit-color :not([fill]){fill:currentColor}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/icon/icon.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/icon/icon.css"],names:[],mappings:"AAKA,YACC,qBACD,CCFA,MACC,0EACD,CAEA,YAKC,uBAAwB,CAHxB,0BAA2B,CAD3B,yBAA0B,CAU1B,qBAoBD,CAlBC,0BALA,cAQA,CAMC,sEACC,aAMD,CAJC,+CAEC,iBACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-icon {\n\tvertical-align: middle;\n}\n",'/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-icon-size: calc(var(--ck-line-height-base) * var(--ck-font-size-normal));\n}\n\n.ck.ck-icon {\n\twidth: var(--ck-icon-size);\n\theight: var(--ck-icon-size);\n\n\t/* Multiplied by the height of the line in "px" should give SVG "viewport" dimensions */\n\tfont-size: .8333350694em;\n\n\t/* Inherit cursor style (#5). */\n\tcursor: inherit;\n\n\t/* This will prevent blurry icons on Firefox. See #340. */\n\twill-change: transform;\n\n\t& * {\n\t\t/* Inherit cursor style (#5). */\n\t\tcursor: inherit;\n\t}\n\n\t/* Allows dynamic coloring of an icon by inheriting its color from the parent. */\n\t&.ck-icon_inherit-color {\n\t\tcolor: inherit;\n\n\t\t& * {\n\t\t\tcolor: inherit;\n\n\t\t\t&:not([fill]) {\n\t\t\t\t/* Needed by FF. */\n\t\t\t\tfill: currentColor;\n\t\t\t}\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);const c=a},2470:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.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)}}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/input/input.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_focus.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AASA,MACC,qBAAsB,CAGtB,2CACD,CAEA,aCLC,eD2CD,CAtCA,iECDE,qCDuCF,CAtCA,aAGC,2CAA4C,CAC5C,6CAA8C,CAK9C,4CAA6C,CAH7C,+BAAgC,CADhC,6DAA8D,CAO9D,4DA0BD,CAxBC,mBEnBA,2BAA2B,CCF3B,2CAA8B,CDC9B,YFuBA,CAEA,uBAEC,oDAAqD,CADrD,sDAAuD,CAEvD,yCAMD,CAJC,6BG/BD,oDHkCC,CAGD,sBAEC,sCAAuC,CADvC,+CAMD,CAHC,4BGzCD,iDH2CC,CAIF,0BACC,IACC,0BACD,CAEA,IACC,yBACD,CAEA,IACC,0BACD,CAEA,IACC,yBACD,CACD",sourcesContent:['/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_rounded.css";\n@import "../../../mixins/_focus.css";\n@import "../../../mixins/_shadow.css";\n\n:root {\n\t--ck-input-width: 18em;\n\n\t/* Backward compatibility. */\n\t--ck-input-text-width: var(--ck-input-width);\n}\n\n.ck.ck-input {\n\t@mixin ck-rounded-corners;\n\n\tbackground: var(--ck-color-input-background);\n\tborder: 1px solid var(--ck-color-input-border);\n\tpadding: var(--ck-spacing-extra-tiny) var(--ck-spacing-medium);\n\tmin-width: var(--ck-input-width);\n\n\t/* This is important to stay of the same height as surrounding buttons */\n\tmin-height: var(--ck-ui-component-min-height);\n\n\t/* Apply some smooth transition to the box-shadow and border. */\n\ttransition: box-shadow .1s ease-in-out, border .1s ease-in-out;\n\n\t&:focus {\n\t\t@mixin ck-focus-ring;\n\t\t@mixin ck-box-shadow var(--ck-focus-outer-shadow);\n\t}\n\n\t&[readonly] {\n\t\tborder: 1px solid var(--ck-color-input-disabled-border);\n\t\tbackground: var(--ck-color-input-disabled-background);\n\t\tcolor: var(--ck-color-input-disabled-text);\n\n\t\t&:focus {\n\t\t\t/* The read-only input should have a slightly less visible shadow when focused. */\n\t\t\t@mixin ck-box-shadow var(--ck-focus-disabled-outer-shadow);\n\t\t}\n\t}\n\n\t&.ck-error {\n\t\tborder-color: var(--ck-color-input-error-border);\n\t\tanimation: ck-input-shake .3s ease both;\n\n\t\t&:focus {\n\t\t\t@mixin ck-box-shadow var(--ck-focus-error-outer-shadow);\n\t\t}\n\t}\n}\n\n@keyframes ck-input-shake {\n\t20% {\n\t\ttransform: translateX(-2px);\n\t}\n\n\t40% {\n\t\ttransform: translateX(2px);\n\t}\n\n\t60% {\n\t\ttransform: translateX(-1px);\n\t}\n\n\t80% {\n\t\ttransform: translateX(1px);\n\t}\n}\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A visual style of focused element's border.\n */\n@define-mixin ck-focus-ring {\n\t/* Disable native outline. */\n\toutline: none;\n\tborder: var(--ck-focus-ring)\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n"],sourceRoot:""}]);const c=a},3525:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck.ck-label{display:block}.ck.ck-voice-label{display:none}.ck.ck-label{font-weight:700}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/label/label.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/label/label.css"],names:[],mappings:"AAKA,aACC,aACD,CAEA,mBACC,YACD,CCNA,aACC,eACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-label {\n\tdisplay: block;\n}\n\n.ck.ck-voice-label {\n\tdisplay: none;\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-label {\n\tfont-weight: bold;\n}\n"],sourceRoot:""}]);const c=a},2933:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.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-labeled-field-label-default-position-x:var(--ck-spacing-medium);--ck-labeled-field-label-default-position-y:calc(var(--ck-font-size-base)*0.6);--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;transform:translate(var(--ck-spacing-medium),-6px) scale(.75);transform-origin:0 0}[dir=rtl] .ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{right:0;transform:translate(calc(var(--ck-spacing-medium)*-1),-6px) scale(.75);transform-origin:100% 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;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:not(.ck-labeled-field-view_placeholder)>.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-labeled-field-label-default-position-x),var(--ck-labeled-field-label-default-position-y)) scale(1)}[dir=rtl] .ck.ck-labeled-field-view.ck-disabled.ck-labeled-field-view_empty:not(.ck-labeled-field-view_placeholder)>.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-labeled-field-label-default-position-x)*-1),var(--ck-labeled-field-label-default-position-y)) scale(1)}.ck.ck-labeled-field-view.ck-disabled.ck-labeled-field-view_empty:not(.ck-labeled-field-view_placeholder)>.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))}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/labeledfield/labeledfieldview.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/labeledfield/labeledfieldview.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAMC,mEACC,YAAa,CACb,iBACD,CAEA,uCACC,aAAc,CACd,iBACD,CCND,MACC,kEAAsE,CACtE,gFAAiF,CACjF,oEAAqE,CACrE,8EAAiF,CACjF,yEACD,CAEA,0BCLC,eD+GD,CA1GA,2FCDE,qCD2GF,CAvGC,mEACC,UAoCD,CAlCC,gFACC,KAgCD,CAjCA,0FAIE,MAAS,CAGT,6DAA+D,CAF/D,oBA4BF,CAjCA,0FAWE,OAAU,CAEV,sEAA0E,CAD1E,uBAqBF,CAjCA,gFAkBC,yDAA0D,CAG1D,eAAmB,CADnB,kBAAoB,CAOpB,cAAe,CAFf,eAAgB,CANhB,2CAA8C,CAH9C,mBAAoB,CAQpB,sBAAuB,CAKvB,+JAID,CAQA,mKACC,gCACD,CAGD,yDACC,mCAAoC,CACpC,kCAAmC,CAInC,kBAKD,CAHC,6FACC,gCACD,CAID,4OAEC,yCACD,CAIA,4WAGE,+HAYF,CAfA,4WAOE,wIAQF,CAfA,wVAaC,sBAAuB,CAFvB,iEAAkE,CAGlE,SACD,CAKA,8FACC,sBACD,CAGA,yIACC,SACD,CAGA,kMACC,8HACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-labeled-field-view {\n\t& > .ck.ck-labeled-field-view__input-wrapper {\n\t\tdisplay: flex;\n\t\tposition: relative;\n\t}\n\n\t& .ck.ck-label {\n\t\tdisplay: block;\n\t\tposition: absolute;\n\t}\n}\n",'/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n@import "../../../mixins/_rounded.css";\n\n:root {\n\t--ck-labeled-field-view-transition: .1s cubic-bezier(0, 0, 0.24, 0.95);\n\t--ck-labeled-field-empty-unfocused-max-width: 100% - 2 * var(--ck-spacing-medium);\n\t--ck-labeled-field-label-default-position-x: var(--ck-spacing-medium);\n\t--ck-labeled-field-label-default-position-y: calc(0.6 * var(--ck-font-size-base));\n\t--ck-color-labeled-field-label-background: var(--ck-color-base-background);\n}\n\n.ck.ck-labeled-field-view {\n\t@mixin ck-rounded-corners;\n\n\t& > .ck.ck-labeled-field-view__input-wrapper {\n\t\twidth: 100%;\n\n\t\t& > .ck.ck-label {\n\t\t\ttop: 0px;\n\n\t\t\t@mixin ck-dir ltr {\n\t\t\t\tleft: 0px;\n\t\t\t\ttransform-origin: 0 0;\n\t\t\t\t/* By default, display the label scaled down above the field. */\n\t\t\t\ttransform: translate(var(--ck-spacing-medium), -6px) scale(.75);\n\t\t\t}\n\n\t\t\t@mixin ck-dir rtl {\n\t\t\t\tright: 0px;\n\t\t\t\ttransform-origin: 100% 0;\n\t\t\t\ttransform: translate(calc(-1 * var(--ck-spacing-medium)), -6px) scale(.75);\n\t\t\t}\n\n\t\t\tpointer-events: none;\n\n\t\t\tbackground: var(--ck-color-labeled-field-label-background);\n\t\t\tpadding: 0 calc(.5 * var(--ck-font-size-tiny));\n\t\t\tline-height: initial;\n\t\t\tfont-weight: normal;\n\n\t\t\t/* Prevent overflow when the label is longer than the input */\n\t\t\ttext-overflow: ellipsis;\n\t\t\toverflow: hidden;\n\n\t\t\tmax-width: 100%;\n\n\t\t\ttransition:\n\t\t\t\ttransform var(--ck-labeled-field-view-transition),\n\t\t\t\tpadding var(--ck-labeled-field-view-transition),\n\t\t\t\tbackground var(--ck-labeled-field-view-transition);\n\t\t}\n\t}\n\n\t&.ck-error {\n\t\t& > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label {\n\t\t\tcolor: var(--ck-color-base-error);\n\t\t}\n\n\t\t& .ck-input:not([readonly]) + .ck.ck-label {\n\t\t\tcolor: var(--ck-color-base-error);\n\t\t}\n\t}\n\n\t& .ck-labeled-field-view__status {\n\t\tfont-size: var(--ck-font-size-small);\n\t\tmargin-top: var(--ck-spacing-small);\n\n\t\t/* Let the info wrap to the next line to avoid stretching the layout horizontally.\n\t\tThe status could be very long. */\n\t\twhite-space: normal;\n\n\t\t&.ck-labeled-field-view__status_error {\n\t\t\tcolor: var(--ck-color-base-error);\n\t\t}\n\t}\n\n\t/* Disabled fields and fields that have no focus should fade out. */\n\t&.ck-disabled > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label,\n\t&.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused) > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label {\n\t\tcolor: var(--ck-color-input-disabled-text);\n\t}\n\n\t/* Fields that are disabled or not focused and without a placeholder should have full-sized labels. */\n\t/* stylelint-disable-next-line no-descending-specificity */\n\t&.ck-disabled.ck-labeled-field-view_empty:not(.ck-labeled-field-view_placeholder) > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label,\n\t&.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder) > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label {\n\t\t@mixin ck-dir ltr {\n\t\t\ttransform: translate(var(--ck-labeled-field-label-default-position-x), var(--ck-labeled-field-label-default-position-y)) scale(1);\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\ttransform: translate(calc(-1 * var(--ck-labeled-field-label-default-position-x)), var(--ck-labeled-field-label-default-position-y)) scale(1);\n\t\t}\n\n\t\t/* Compensate for the default translate position. */\n\t\tmax-width: calc(var(--ck-labeled-field-empty-unfocused-max-width));\n\n\t\tbackground: transparent;\n\t\tpadding: 0;\n\t}\n\n\t/*------ DropdownView integration ----------------------------------------------------------------------------------- */\n\n\t/* Make sure dropdown\' background color in any of dropdown\'s state does not collide with labeled field. */\n\t& > .ck.ck-labeled-field-view__input-wrapper > .ck-dropdown > .ck.ck-button {\n\t\tbackground: transparent;\n\t}\n\n\t/* When the dropdown is "empty", the labeled field label replaces its label. */\n\t&.ck-labeled-field-view_empty > .ck.ck-labeled-field-view__input-wrapper > .ck-dropdown > .ck-button > .ck-button__label {\n\t\topacity: 0;\n\t}\n\n\t/* Make sure the label of the empty, unfocused input does not cover the dropdown arrow. */\n\t&.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder) > .ck.ck-labeled-field-view__input-wrapper > .ck-dropdown + .ck-label {\n\t\tmax-width: calc(var(--ck-labeled-field-empty-unfocused-max-width) - var(--ck-dropdown-arrow-size) - var(--ck-spacing-standard));\n\t}\n}\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);const c=a},179:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.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)}:root{--ck-list-button-padding:calc(var(--ck-line-height-base)*0.2*var(--ck-font-size-base)) calc(var(--ck-line-height-base)*0.4*var(--ck-font-size-base))}.ck.ck-list{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;width:100%}[dir=ltr] .ck.ck-list__item .ck-button{text-align:left}[dir=rtl] .ck.ck-list__item .ck-button{text-align:right}.ck.ck-list__item .ck-button{padding:var(--ck-list-button-padding)}.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-list .ck-list__group{padding-top:var(--ck-spacing-medium);:not(.ck-hidden)~&{border-top:1px solid var(--ck-color-base-border)}}.ck-list .ck-list__group>.ck-label{font-size:11px;font-weight:700;padding:var(--ck-spacing-medium) var(--ck-spacing-medium) 0 var(--ck-spacing-medium)}.ck.ck-list__separator{background:var(--ck-color-base-border);height:1px;width:100%}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/list/list.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_unselectable.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/list/list.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAOA,YAGC,YAAa,CACb,qBAAsB,CCFtB,qBAAsB,CACtB,wBAAyB,CACzB,oBAAqB,CACrB,gBDaD,CAZC,2DAEC,aACD,CAKA,kCACC,iBAAkB,CAClB,2BACD,CEdD,MACC,oJAGD,CAEA,YCLC,eDUD,CALA,+DCDE,qCDMF,CALA,YAIC,0CAA2C,CAD3C,oBAED,CAEA,kBACC,cAAe,CACf,cAgED,CA9DC,6BAGC,eAAgB,CAFhB,gBAAiB,CACjB,UA6CD,CA/CA,uCAME,eAyCF,CA/CA,uCAUE,gBAqCF,CA/CA,6BAgBC,qCA+BD,CA7BC,+CAEC,yEACD,CAEA,oCACC,eACD,CAEA,mCACC,oDAAqD,CACrD,yCAaD,CAXC,0CACC,eACD,CAEA,2DACC,0DACD,CAEA,iFACC,4CACD,CAGD,qDACC,uDACD,CAMA,yCACC,0CAA2C,CAC3C,aAMD,CAJC,iEACC,uDAAwD,CACxD,aACD,CAKH,yBACC,oCAAqC,CAGrC,mBACC,gDACD,CAOD,CALC,mCACC,cAAe,CACf,eAAiB,CACjB,oFACD,CAGD,uBAGC,sCAAuC,CAFvC,UAAW,CACX,UAED",sourcesContent:['/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../mixins/_unselectable.css";\n\n.ck.ck-list {\n\t@mixin ck-unselectable;\n\n\tdisplay: flex;\n\tflex-direction: column;\n\n\t& .ck-list__item,\n\t& .ck-list__separator {\n\t\tdisplay: block;\n\t}\n\n\t/* Make sure that whatever child of the list item gets focus, it remains on the\n\ttop. Thanks to that, styles like box-shadow, outline, etc. are not masked by\n\tadjacent list items. */\n\t& .ck-list__item > *:focus {\n\t\tposition: relative;\n\t\tz-index: var(--ck-z-default);\n\t}\n}\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Makes element unselectable.\n */\n@define-mixin ck-unselectable {\n\t-moz-user-select: none;\n\t-webkit-user-select: none;\n\t-ms-user-select: none;\n\tuser-select: none\n}\n",'/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_disabled.css";\n@import "../../../mixins/_rounded.css";\n@import "../../../mixins/_shadow.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n:root {\n\t--ck-list-button-padding:\n\t\tcalc(.2 * var(--ck-line-height-base) * var(--ck-font-size-base))\n\t\tcalc(.4 * var(--ck-line-height-base) * var(--ck-font-size-base));\n}\n\n.ck.ck-list {\n\t@mixin ck-rounded-corners;\n\n\tlist-style-type: none;\n\tbackground: var(--ck-color-list-background);\n}\n\n.ck.ck-list__item {\n\tcursor: default;\n\tmin-width: 12em;\n\n\t& .ck-button {\n\t\tmin-height: unset;\n\t\twidth: 100%;\n\t\tborder-radius: 0;\n\n\t\t@mixin ck-dir ltr {\n\t\t\ttext-align: left;\n\t\t}\n\n\t\t@mixin ck-dir rtl {\n\t\t\ttext-align: right;\n\t\t}\n\n\t\t/* List items should have the same height. Use absolute units to make sure it is so\n\t\t because e.g. different heading styles may have different height\n\t\t https://github.com/ckeditor/ckeditor5-heading/issues/63 */\n\t\tpadding: var(--ck-list-button-padding);\n\n\t\t& .ck-button__label {\n\t\t\t/* https://github.com/ckeditor/ckeditor5-heading/issues/63 */\n\t\t\tline-height: calc(1.2 * var(--ck-line-height-base) * var(--ck-font-size-base));\n\t\t}\n\n\t\t&:active {\n\t\t\tbox-shadow: none;\n\t\t}\n\n\t\t&.ck-on {\n\t\t\tbackground: var(--ck-color-list-button-on-background);\n\t\t\tcolor: var(--ck-color-list-button-on-text);\n\n\t\t\t&:active {\n\t\t\t\tbox-shadow: none;\n\t\t\t}\n\n\t\t\t&:hover:not(.ck-disabled) {\n\t\t\t\tbackground: var(--ck-color-list-button-on-background-focus);\n\t\t\t}\n\n\t\t\t&:focus:not(.ck-switchbutton):not(.ck-disabled) {\n\t\t\t\tborder-color: var(--ck-color-base-background);\n\t\t\t}\n\t\t}\n\n\t\t&:hover:not(.ck-disabled) {\n\t\t\tbackground: var(--ck-color-list-button-hover-background);\n\t\t}\n\t}\n\n\t/* It\'s unnecessary to change the background/text of a switch toggle; it has different ways\n\tof conveying its state (like the switcher) */\n\t& .ck-switchbutton {\n\t\t&.ck-on {\n\t\t\tbackground: var(--ck-color-list-background);\n\t\t\tcolor: inherit;\n\n\t\t\t&:hover:not(.ck-disabled) {\n\t\t\t\tbackground: var(--ck-color-list-button-hover-background);\n\t\t\t\tcolor: inherit;\n\t\t\t}\n\t\t}\n\t}\n}\n\n.ck-list .ck-list__group {\n\tpadding-top: var(--ck-spacing-medium);\n\n\t/* The group should have a border when it\'s not the first item. */\n\t*:not(.ck-hidden) ~ & {\n\t\tborder-top: 1px solid var(--ck-color-base-border);\n\t}\n\n\t& > .ck-label {\n\t\tfont-size: 11px;\n\t\tfont-weight: bold;\n\t\tpadding: var(--ck-spacing-medium) var(--ck-spacing-medium) 0 var(--ck-spacing-medium);\n\t}\n}\n\n.ck.ck-list__separator {\n\theight: 1px;\n\twidth: 100%;\n\tbackground: var(--ck-color-base-border);\n}\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);const c=a},4460:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.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-panel)}.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%}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/panel/balloonpanel.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/panel/balloonpanel.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AAKA,MAEC,8DACD,CAEA,qBACC,YAAa,CACb,iBAAkB,CAElB,yBAyCD,CAtCE,+GAEC,UAAW,CACX,iBACD,CAEA,wDACC,6CACD,CAEA,uDACC,uDACD,CAIA,4CACC,6CACD,CAEA,2CACC,uDACD,CAIA,4CACC,6CACD,CAEA,2CACC,uDACD,CAGD,8CACC,aACD,CC9CD,MACC,6BAA8B,CAC9B,6BAA8B,CAC9B,8BAA+B,CAC/B,iCAAkC,CAClC,oEACD,CAEA,qBCLC,eDmMD,CA9LA,iFCDE,qCD+LF,CA9LA,qBAMC,2CAA4C,CAC5C,wEAAyE,CEdzE,oCAA8B,CFW9B,eA0LD,CApLE,+GAIC,kBAAmB,CADnB,QAAS,CADT,OAGD,CAIA,uFAEC,mHACD,CAEA,4CACC,6EAA8E,CAC9E,kDACD,CAEA,2CACC,iFAAkF,CAClF,gFACD,CAIA,uFAEC,mHACD,CAEA,4CACC,iEAAkE,CAClE,uDAAwD,CACxD,qDACD,CAEA,2CACC,iFAAkF,CAClF,mFACD,CAIA,uFAEC,mHACD,CAEA,4CACC,6EAA8E,CAC9E,oDACD,CAEA,2CACC,iFAAkF,CAClF,kFACD,CAIA,uFAEC,mHACD,CAEA,4CACC,6EAA8E,CAC9E,mDACD,CAEA,2CACC,iFAAkF,CAClF,iFACD,CAIA,yGAEC,QAAS,CACT,uDAA0D,CAC1D,2CACD,CAIA,2GAEC,+CAAkD,CAClD,2CACD,CAIA,2GAEC,gDAAmD,CACnD,2CACD,CAIA,yGAIC,8CAAiD,CAFjD,QAAS,CACT,uDAED,CAIA,2GAGC,8CAAiD,CADjD,+CAED,CAIA,2GAGC,8CAAiD,CADjD,gDAED,CAIA,6GAIC,8CAAiD,CADjD,uDAA0D,CAD1D,SAGD,CAIA,6GAIC,8CAAiD,CAFjD,QAAS,CACT,sDAED,CAIA,6GAGC,uDAA0D,CAD1D,SAAU,CAEV,2CACD,CAIA,6GAEC,QAAS,CACT,sDAAyD,CACzD,2CACD,CAIA,yGAGC,sDAAyD,CADzD,6CAAgD,CAEhD,OACD,CAIA,yGAEC,4CAA+C,CAC/C,sDAAyD,CACzD,OACD",sourcesContent:['/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t/* Make sure the balloon arrow does not float over its children. */\n\t--ck-balloon-panel-arrow-z-index: calc(var(--ck-z-default) - 3);\n}\n\n.ck.ck-balloon-panel {\n\tdisplay: none;\n\tposition: absolute;\n\n\tz-index: var(--ck-z-panel);\n\n\t&.ck-balloon-panel_with-arrow {\n\t\t&::before,\n\t\t&::after {\n\t\t\tcontent: "";\n\t\t\tposition: absolute;\n\t\t}\n\n\t\t&::before {\n\t\t\tz-index: var(--ck-balloon-panel-arrow-z-index);\n\t\t}\n\n\t\t&::after {\n\t\t\tz-index: calc(var(--ck-balloon-panel-arrow-z-index) + 1);\n\t\t}\n\t}\n\n\t&[class*="arrow_n"] {\n\t\t&::before {\n\t\t\tz-index: var(--ck-balloon-panel-arrow-z-index);\n\t\t}\n\n\t\t&::after {\n\t\t\tz-index: calc(var(--ck-balloon-panel-arrow-z-index) + 1);\n\t\t}\n\t}\n\n\t&[class*="arrow_s"] {\n\t\t&::before {\n\t\t\tz-index: var(--ck-balloon-panel-arrow-z-index);\n\t\t}\n\n\t\t&::after {\n\t\t\tz-index: calc(var(--ck-balloon-panel-arrow-z-index) + 1);\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_visible {\n\t\tdisplay: block;\n\t}\n}\n','/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_rounded.css";\n@import "../../../mixins/_shadow.css";\n\n:root {\n\t--ck-balloon-border-width: 1px;\n\t--ck-balloon-arrow-offset: 2px;\n\t--ck-balloon-arrow-height: 10px;\n\t--ck-balloon-arrow-half-width: 8px;\n\t--ck-balloon-arrow-drop-shadow: 0 2px 2px var(--ck-color-shadow-drop);\n}\n\n.ck.ck-balloon-panel {\n\t@mixin ck-rounded-corners;\n\t@mixin ck-drop-shadow;\n\n\tmin-height: 15px;\n\n\tbackground: var(--ck-color-panel-background);\n\tborder: var(--ck-balloon-border-width) solid var(--ck-color-panel-border);\n\n\t&.ck-balloon-panel_with-arrow {\n\t\t&::before,\n\t\t&::after {\n\t\t\twidth: 0;\n\t\t\theight: 0;\n\t\t\tborder-style: solid;\n\t\t}\n\t}\n\n\t&[class*="arrow_n"] {\n\t\t&::before,\n\t\t&::after {\n\t\t\tborder-width: 0 var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width);\n\t\t}\n\n\t\t&::before {\n\t\t\tborder-color: transparent transparent var(--ck-color-panel-border) transparent;\n\t\t\tmargin-top: calc( -1 * var(--ck-balloon-border-width) );\n\t\t}\n\n\t\t&::after {\n\t\t\tborder-color: transparent transparent var(--ck-color-panel-background) transparent;\n\t\t\tmargin-top: calc( var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width) );\n\t\t}\n\t}\n\n\t&[class*="arrow_s"] {\n\t\t&::before,\n\t\t&::after {\n\t\t\tborder-width: var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width) 0 var(--ck-balloon-arrow-half-width);\n\t\t}\n\n\t\t&::before {\n\t\t\tborder-color: var(--ck-color-panel-border) transparent transparent;\n\t\t\tfilter: drop-shadow(var(--ck-balloon-arrow-drop-shadow));\n\t\t\tmargin-bottom: calc( -1 * var(--ck-balloon-border-width) );\n\t\t}\n\n\t\t&::after {\n\t\t\tborder-color: var(--ck-color-panel-background) transparent transparent transparent;\n\t\t\tmargin-bottom: calc( var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width) );\n\t\t}\n\t}\n\n\t&[class*="arrow_e"] {\n\t\t&::before,\n\t\t&::after {\n\t\t\tborder-width: var(--ck-balloon-arrow-half-width) 0 var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height);\n\t\t}\n\n\t\t&::before {\n\t\t\tborder-color: transparent transparent transparent var(--ck-color-panel-border);\n\t\t\tmargin-right: calc( -1 * var(--ck-balloon-border-width) );\n\t\t}\n\n\t\t&::after {\n\t\t\tborder-color: transparent transparent transparent var(--ck-color-panel-background);\n\t\t\tmargin-right: calc( var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width) );\n\t\t}\n\t}\n\n\t&[class*="arrow_w"] {\n\t\t&::before,\n\t\t&::after {\n\t\t\tborder-width: var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width) 0;\n\t\t}\n\n\t\t&::before {\n\t\t\tborder-color: transparent var(--ck-color-panel-border) transparent transparent;\n\t\t\tmargin-left: calc( -1 * var(--ck-balloon-border-width) );\n\t\t}\n\n\t\t&::after {\n\t\t\tborder-color: transparent var(--ck-color-panel-background) transparent transparent;\n\t\t\tmargin-left: calc( var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width) );\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_n {\n\t\t&::before,\n\t\t&::after {\n\t\t\tleft: 50%;\n\t\t\tmargin-left: calc(-1 * var(--ck-balloon-arrow-half-width));\n\t\t\ttop: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_nw {\n\t\t&::before,\n\t\t&::after {\n\t\t\tleft: calc(2 * var(--ck-balloon-arrow-half-width));\n\t\t\ttop: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_ne {\n\t\t&::before,\n\t\t&::after {\n\t\t\tright: calc(2 * var(--ck-balloon-arrow-half-width));\n\t\t\ttop: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_s {\n\t\t&::before,\n\t\t&::after {\n\t\t\tleft: 50%;\n\t\t\tmargin-left: calc(-1 * var(--ck-balloon-arrow-half-width));\n\t\t\tbottom: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_sw {\n\t\t&::before,\n\t\t&::after {\n\t\t\tleft: calc(2 * var(--ck-balloon-arrow-half-width));\n\t\t\tbottom: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_se {\n\t\t&::before,\n\t\t&::after {\n\t\t\tright: calc(2 * var(--ck-balloon-arrow-half-width));\n\t\t\tbottom: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_sme {\n\t\t&::before,\n\t\t&::after {\n\t\t\tright: 25%;\n\t\t\tmargin-right: calc(2 * var(--ck-balloon-arrow-half-width));\n\t\t\tbottom: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_smw {\n\t\t&::before,\n\t\t&::after {\n\t\t\tleft: 25%;\n\t\t\tmargin-left: calc(2 * var(--ck-balloon-arrow-half-width));\n\t\t\tbottom: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_nme {\n\t\t&::before,\n\t\t&::after {\n\t\t\tright: 25%;\n\t\t\tmargin-right: calc(2 * var(--ck-balloon-arrow-half-width));\n\t\t\ttop: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_nmw {\n\t\t&::before,\n\t\t&::after {\n\t\t\tleft: 25%;\n\t\t\tmargin-left: calc(2 * var(--ck-balloon-arrow-half-width));\n\t\t\ttop: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_e {\n\t\t&::before,\n\t\t&::after {\n\t\t\tright: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t\tmargin-top: calc(-1 * var(--ck-balloon-arrow-half-width));\n\t\t\ttop: 50%;\n\t\t}\n\t}\n\n\t&.ck-balloon-panel_arrow_w {\n\t\t&::before,\n\t\t&::after {\n\t\t\tleft: calc(-1 * var(--ck-balloon-arrow-height));\n\t\t\tmargin-top: calc(-1 * var(--ck-balloon-arrow-half-width));\n\t\t\ttop: 50%;\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n"],sourceRoot:""}]);const c=a},7592:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.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}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/panel/balloonrotator.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/panel/balloonrotator.css"],names:[],mappings:"AAKA,oCAEC,kBAAmB,CADnB,YAAa,CAEb,sBACD,CAKA,6CACC,sBACD,CCXA,oCACC,6CAA8C,CAC9C,sDAAuD,CACvD,iCAgBD,CAbC,sCAGC,qCAAsC,CAFtC,oCAAqC,CACrC,kCAED,CAGA,iEAIC,mCAAoC,CAHpC,uCAID,CAMA,2DACC,eACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck .ck-balloon-rotator__navigation {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n/* Buttons inside a toolbar should be centered when rotator bar is wider.\n * See: https://github.com/ckeditor/ckeditor5-ui/issues/495\n */\n.ck .ck-balloon-rotator__content .ck-toolbar {\n\tjustify-content: center;\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck .ck-balloon-rotator__navigation {\n\tbackground: var(--ck-color-toolbar-background);\n\tborder-bottom: 1px solid var(--ck-color-toolbar-border);\n\tpadding: 0 var(--ck-spacing-small);\n\n\t/* Let's keep similar appearance to `ck-toolbar`. */\n\t& > * {\n\t\tmargin-right: var(--ck-spacing-small);\n\t\tmargin-top: var(--ck-spacing-small);\n\t\tmargin-bottom: var(--ck-spacing-small);\n\t}\n\n\t/* Gives counter more breath than buttons. */\n\t& .ck-balloon-rotator__counter {\n\t\tmargin-right: var(--ck-spacing-standard);\n\n\t\t/* We need to use smaller margin because of previous button's right margin. */\n\t\tmargin-left: var(--ck-spacing-small);\n\t}\n}\n\n.ck .ck-balloon-rotator__content {\n\n\t/* Disable default annotation shadow inside rotator with fake panels. */\n\t& .ck.ck-annotation-wrapper {\n\t\tbox-shadow: none;\n\t}\n}\n"],sourceRoot:""}]);const c=a},6356:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck .ck-fake-panel{position:absolute;z-index:calc(var(--ck-z-panel) - 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}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/panel/fakepanel.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/panel/fakepanel.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AAKA,mBACC,iBAAkB,CAGlB,mCACD,CAEA,uBACC,iBACD,CAEA,mCACC,SACD,CAEA,oCACC,SACD,CCfA,MACC,6CAA8C,CAC9C,2CACD,CAGA,uBAKC,2CAA4C,CAC5C,6CAA8C,CAC9C,qCAAsC,CCXtC,oCAA8B,CDc9B,WAAY,CAPZ,eAAgB,CAMhB,UAED,CAEA,mCACC,0DAA2D,CAC3D,uDACD,CAEA,oCACC,kEAAqE,CACrE,+DACD,CACA,oCACC,kEAAqE,CACrE,+DACD,CAGA,yIAGC,4CACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck .ck-fake-panel {\n\tposition: absolute;\n\n\t/* Fake panels should be placed under main balloon content. */\n\tz-index: calc(var(--ck-z-panel) - 1);\n}\n\n.ck .ck-fake-panel div {\n\tposition: absolute;\n}\n\n.ck .ck-fake-panel div:nth-child( 1 ) {\n\tz-index: 2;\n}\n\n.ck .ck-fake-panel div:nth-child( 2 ) {\n\tz-index: 1;\n}\n",'/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_shadow.css";\n\n:root {\n\t--ck-balloon-fake-panel-offset-horizontal: 6px;\n\t--ck-balloon-fake-panel-offset-vertical: 6px;\n}\n\n/* Let\'s use `.ck-balloon-panel` appearance. See: balloonpanel.css. */\n.ck .ck-fake-panel div {\n\t@mixin ck-drop-shadow;\n\n\tmin-height: 15px;\n\n\tbackground: var(--ck-color-panel-background);\n\tborder: 1px solid var(--ck-color-panel-border);\n\tborder-radius: var(--ck-border-radius);\n\n\twidth: 100%;\n\theight: 100%;\n}\n\n.ck .ck-fake-panel div:nth-child( 1 ) {\n\tmargin-left: var(--ck-balloon-fake-panel-offset-horizontal);\n\tmargin-top: var(--ck-balloon-fake-panel-offset-vertical);\n}\n\n.ck .ck-fake-panel div:nth-child( 2 ) {\n\tmargin-left: calc(var(--ck-balloon-fake-panel-offset-horizontal) * 2);\n\tmargin-top: calc(var(--ck-balloon-fake-panel-offset-vertical) * 2);\n}\n.ck .ck-fake-panel div:nth-child( 3 ) {\n\tmargin-left: calc(var(--ck-balloon-fake-panel-offset-horizontal) * 3);\n\tmargin-top: calc(var(--ck-balloon-fake-panel-offset-vertical) * 3);\n}\n\n/* If balloon is positioned above element, we need to move fake panel to the top. */\n.ck .ck-balloon-panel_arrow_s + .ck-fake-panel,\n.ck .ck-balloon-panel_arrow_se + .ck-fake-panel,\n.ck .ck-balloon-panel_arrow_sw + .ck-fake-panel {\n\t--ck-balloon-fake-panel-offset-vertical: -6px;\n}\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n"],sourceRoot:""}]);const c=a},3707:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck.ck-sticky-panel .ck-sticky-panel__content_sticky{position:fixed;top:0;z-index:var(--ck-z-panel)}.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}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/panel/stickypanel.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/panel/stickypanel.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AAMC,qDAEC,cAAe,CACf,KAAM,CAFN,yBAGD,CAEA,kEAEC,iBAAkB,CADlB,QAED,CCPA,qDAIC,wBAAyB,CACzB,yBAA0B,CAF1B,sBAAuB,CCFxB,oCDKA",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-sticky-panel {\n\t& .ck-sticky-panel__content_sticky {\n\t\tz-index: var(--ck-z-panel); /* #315 */\n\t\tposition: fixed;\n\t\ttop: 0;\n\t}\n\n\t& .ck-sticky-panel__content_sticky_bottom-limit {\n\t\ttop: auto;\n\t\tposition: absolute;\n\t}\n}\n",'/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_shadow.css";\n\n.ck.ck-sticky-panel {\n\t& .ck-sticky-panel__content_sticky {\n\t\t@mixin ck-drop-shadow;\n\n\t\tborder-width: 0 1px 1px;\n\t\tborder-top-left-radius: 0;\n\t\tborder-top-right-radius: 0;\n\t}\n}\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n"],sourceRoot:""}]);const c=a},6603:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.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)}}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/responsive-form/responsiveform.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/responsive-form/responsiveform.css"],names:[],mappings:"AAQC,mCAMC,WAAY,CALZ,UAAW,CAEX,iBAAkB,CAClB,UAAW,CACX,QAAS,CAHT,OAAQ,CAKR,SACD,CAEA,yCACC,YACD,CCdA,oCDoBE,wCAMC,WAAY,CALZ,UAAW,CAEX,iBAAkB,CAClB,UAAW,CACX,QAAS,CAHT,OAAQ,CAKR,SACD,CAEA,8CACC,YACD,CC9BF,CCAD,qDACC,kDACD,CAEA,uBACC,+BAmED,CAjEC,6BAEC,YACD,CASC,uGACC,sCACD,CDvBD,oCCMD,uBAqBE,SAAU,CACV,oCA8CF,CA5CE,8CACC,wDAWD,CATC,6DACC,WAAY,CACZ,UACD,CAGA,4EACC,kBACD,CAKA,0DACC,kDACD,CAGD,iGAIC,eAAgB,CADhB,kCAAmC,CADnC,kCAmBD,CAfC,yHACC,gDACD,CARD,0OAeE,aAMF,CAJE,+IACC,kDACD,CDpEH",sourcesContent:['/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css";\n\n.ck-vertical-form .ck-button {\n\t&::after {\n\t\tcontent: "";\n\t\twidth: 0;\n\t\tposition: absolute;\n\t\tright: -1px;\n\t\ttop: -1px;\n\t\tbottom: -1px;\n\t\tz-index: 1;\n\t}\n\n\t&:focus::after {\n\t\tdisplay: none;\n\t}\n}\n\n.ck.ck-responsive-form {\n\t@mixin ck-media-phone {\n\t\t& .ck-button {\n\t\t\t&::after {\n\t\t\t\tcontent: "";\n\t\t\t\twidth: 0;\n\t\t\t\tposition: absolute;\n\t\t\t\tright: -1px;\n\t\t\t\ttop: -1px;\n\t\t\t\tbottom: -1px;\n\t\t\t\tz-index: 1;\n\t\t\t}\n\n\t\t\t&:focus::after {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@define-mixin ck-media-phone {\n\t@media screen and (max-width: 600px) {\n\t\t@mixin-content;\n\t}\n}\n",'/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n.ck-vertical-form > .ck-button:nth-last-child(2)::after {\n\tborder-right: 1px solid var(--ck-color-base-border);\n}\n\n.ck.ck-responsive-form {\n\tpadding: var(--ck-spacing-large);\n\n\t&:focus {\n\t\t/* See: https://github.com/ckeditor/ckeditor5/issues/4773 */\n\t\toutline: none;\n\t}\n\n\t@mixin ck-dir ltr {\n\t\t& > :not(:first-child) {\n\t\t\tmargin-left: var(--ck-spacing-standard);\n\t\t}\n\t}\n\n\t@mixin ck-dir rtl {\n\t\t& > :not(:last-child) {\n\t\t\tmargin-left: var(--ck-spacing-standard);\n\t\t}\n\t}\n\n\t@mixin ck-media-phone {\n\t\tpadding: 0;\n\t\twidth: calc(.8 * var(--ck-input-width));\n\n\t\t& .ck-labeled-field-view {\n\t\t\tmargin: var(--ck-spacing-large) var(--ck-spacing-large) 0;\n\n\t\t\t& .ck-input-text {\n\t\t\t\tmin-width: 0;\n\t\t\t\twidth: 100%;\n\t\t\t}\n\n\t\t\t/* Let the long error messages wrap in the narrow form. */\n\t\t\t& .ck-labeled-field-view__error {\n\t\t\t\twhite-space: normal;\n\t\t\t}\n\t\t}\n\n\t\t/* Styles for two last buttons in the form (save&cancel, edit&unlink, etc.). */\n\t\t& > .ck-button:nth-last-child(2) {\n\t\t\t&::after {\n\t\t\t\tborder-right: 1px solid var(--ck-color-base-border);\n\t\t\t}\n\t\t}\n\n\t\t& > .ck-button:nth-last-child(1),\n\t\t& > .ck-button:nth-last-child(2) {\n\t\t\tpadding: var(--ck-spacing-standard);\n\t\t\tmargin-top: var(--ck-spacing-large);\n\t\t\tborder-radius: 0;\n\n\t\t\t&:not(:focus) {\n\t\t\t\tborder-top: 1px solid var(--ck-color-base-border);\n\t\t\t}\n\n\t\t\t@mixin ck-dir ltr {\n\t\t\t\tmargin-left: 0;\n\t\t\t}\n\n\t\t\t@mixin ck-dir rtl {\n\t\t\t\tmargin-left: 0;\n\n\t\t\t\t&:last-of-type {\n\t\t\t\t\tborder-right: 1px solid var(--ck-color-base-border);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n'],sourceRoot:""}]);const c=a},9332:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck.ck-search>.ck-labeled-field-view>.ck-labeled-field-view__input-wrapper>.ck-icon{position:absolute;top:50%;transform:translateY(-50%)}[dir=ltr] .ck.ck-search>.ck-labeled-field-view>.ck-labeled-field-view__input-wrapper>.ck-icon{left:var(--ck-spacing-medium)}[dir=rtl] .ck.ck-search>.ck-labeled-field-view>.ck-labeled-field-view__input-wrapper>.ck-icon{right:var(--ck-spacing-medium)}.ck.ck-search>.ck-labeled-field-view .ck-search__reset{position:absolute;top:50%;transform:translateY(-50%)}.ck.ck-search>.ck-search__results>.ck-search__info>span:first-child{display:block}.ck.ck-search>.ck-search__results>.ck-search__info:not(.ck-hidden)~*{display:none}:root{--ck-search-field-view-horizontal-spacing:calc(var(--ck-icon-size) + var(--ck-spacing-medium))}.ck.ck-search>.ck-labeled-field-view .ck-input{width:100%}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-icon{--ck-labeled-field-label-default-position-x:var(--ck-search-field-view-horizontal-spacing)}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-icon>.ck-labeled-field-view__input-wrapper>.ck-icon{opacity:.5;pointer-events:none}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-icon .ck-input{width:100%}[dir=ltr] .ck.ck-search>.ck-labeled-field-view.ck-search__query_with-icon .ck-input,[dir=rtl] .ck.ck-search>.ck-labeled-field-view.ck-search__query_with-icon .ck-input:not(.ck-input-text_empty){padding-left:var(--ck-search-field-view-horizontal-spacing)}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset{--ck-labeled-field-empty-unfocused-max-width:100% - 2 * var(--ck-search-field-view-horizontal-spacing)}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset.ck-labeled-field-view_empty{--ck-labeled-field-empty-unfocused-max-width:100% - var(--ck-search-field-view-horizontal-spacing) - var(--ck-spacing-medium)}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset .ck-search__reset{background:none;min-height:auto;min-width:auto;opacity:.5;padding:0}[dir=ltr] .ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset .ck-search__reset{right:var(--ck-spacing-medium)}[dir=rtl] .ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset .ck-search__reset{left:var(--ck-spacing-medium)}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset .ck-search__reset:hover{opacity:1}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset .ck-input{width:100%}[dir=ltr] .ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset .ck-input:not(.ck-input-text_empty),[dir=rtl] .ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset .ck-input{padding-right:var(--ck-search-field-view-horizontal-spacing)}.ck.ck-search>.ck-search__results{min-width:100%}.ck.ck-search>.ck-search__results>.ck-search__info{padding:var(--ck-spacing-medium) var(--ck-spacing-large);width:100%}.ck.ck-search>.ck-search__results>.ck-search__info *{white-space:normal}.ck.ck-search>.ck-search__results>.ck-search__info>span:first-child{font-weight:700}.ck.ck-search>.ck-search__results>.ck-search__info>span:last-child{margin-top:var(--ck-spacing-medium)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/search/search.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/search/search.css"],names:[],mappings:"AASE,oFACC,iBAAkB,CAClB,OAAQ,CACR,0BASD,CAZA,8FAME,6BAMF,CAZA,8FAUE,8BAEF,CAEA,uDACC,iBAAkB,CAClB,OAAQ,CACR,0BACD,CAKC,oEACC,aACD,CAGA,qEACC,YACD,CChCH,MACC,8FACD,CAIE,+CACC,UACD,CAEA,gEACC,0FAoBD,CAlBC,+GACC,UAAW,CACX,mBACD,CAEA,0EACC,UAWD,CAJE,kMACC,2DACD,CAKH,iEACC,sGAwCD,CAtCC,6FACC,6HACD,CAEA,mFAIC,eAAgB,CAFhB,eAAgB,CADhB,cAAe,CAIf,UAAW,CACX,SAaD,CAnBA,6FASE,8BAUF,CAnBA,6FAaE,6BAMF,CAHC,yFACC,SACD,CAGD,2EACC,UAWD,CAZA,oMAUE,4DAEF,CAIF,kCACC,cAkBD,CAhBC,mDAEC,wDAAyD,CADzD,UAcD,CAXC,qDACC,kBACD,CAEA,oEACC,eACD,CAEA,mEACC,mCACD",sourcesContent:['/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n.ck.ck-search {\n\t& > .ck-labeled-field-view {\n\t\t& > .ck-labeled-field-view__input-wrapper > .ck-icon {\n\t\t\tposition: absolute;\n\t\t\ttop: 50%;\n\t\t\ttransform: translateY(-50%);\n\n\t\t\t@mixin ck-dir ltr {\n\t\t\t\tleft: var(--ck-spacing-medium);\n\t\t\t}\n\n\t\t\t@mixin ck-dir rtl {\n\t\t\t\tright: var(--ck-spacing-medium);\n\t\t\t}\n\t\t}\n\n\t\t& .ck-search__reset {\n\t\t\tposition: absolute;\n\t\t\ttop: 50%;\n\t\t\ttransform: translateY(-50%);\n\t\t}\n\t}\n\n\t& > .ck-search__results {\n\t\t& > .ck-search__info {\n\t\t\t& > span:first-child {\n\t\t\t\tdisplay: block;\n\t\t\t}\n\n\t\t\t/* Hide the filtered view when nothing was found */\n\t\t\t&:not(.ck-hidden) ~ * {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t}\n\t}\n}\n','/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n:root {\n\t--ck-search-field-view-horizontal-spacing: calc(var(--ck-icon-size) + var(--ck-spacing-medium));\n}\n\n.ck.ck-search {\n\t& > .ck-labeled-field-view {\n\t\t& .ck-input {\n\t\t\twidth: 100%;\n\t\t}\n\n\t\t&.ck-search__query_with-icon {\n\t\t\t--ck-labeled-field-label-default-position-x: var(--ck-search-field-view-horizontal-spacing);\n\n\t\t\t& > .ck-labeled-field-view__input-wrapper > .ck-icon {\n\t\t\t\topacity: .5;\n\t\t\t\tpointer-events: none;\n\t\t\t}\n\n\t\t\t& .ck-input {\n\t\t\t\twidth: 100%;\n\n\t\t\t\t@mixin ck-dir ltr {\n\t\t\t\t\tpadding-left: var(--ck-search-field-view-horizontal-spacing);\n\t\t\t\t}\n\n\t\t\t\t@mixin ck-dir rtl {\n\t\t\t\t\t&:not(.ck-input-text_empty) {\n\t\t\t\t\t\tpadding-left: var(--ck-search-field-view-horizontal-spacing);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t&.ck-search__query_with-reset {\n\t\t\t--ck-labeled-field-empty-unfocused-max-width: 100% - 2 * var(--ck-search-field-view-horizontal-spacing);\n\n\t\t\t&.ck-labeled-field-view_empty {\n\t\t\t\t--ck-labeled-field-empty-unfocused-max-width: 100% - var(--ck-search-field-view-horizontal-spacing) - var(--ck-spacing-medium);\n\t\t\t}\n\n\t\t\t& .ck-search__reset {\n\t\t\t\tmin-width: auto;\n\t\t\t\tmin-height: auto;\n\n\t\t\t\tbackground: none;\n\t\t\t\topacity: .5;\n\t\t\t\tpadding: 0;\n\n\t\t\t\t@mixin ck-dir ltr {\n\t\t\t\t\tright: var(--ck-spacing-medium);\n\t\t\t\t}\n\n\t\t\t\t@mixin ck-dir rtl {\n\t\t\t\t\tleft: var(--ck-spacing-medium);\n\t\t\t\t}\n\n\t\t\t\t&:hover {\n\t\t\t\t\topacity: 1;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t& .ck-input {\n\t\t\t\twidth: 100%;\n\n\t\t\t\t@mixin ck-dir ltr {\n\t\t\t\t\t&:not(.ck-input-text_empty) {\n\t\t\t\t\t\tpadding-right: var(--ck-search-field-view-horizontal-spacing);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t@mixin ck-dir rtl {\n\t\t\t\t\tpadding-right: var(--ck-search-field-view-horizontal-spacing);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t& > .ck-search__results {\n\t\tmin-width: 100%;\n\n\t\t& > .ck-search__info {\n\t\t\twidth: 100%;\n\t\t\tpadding: var(--ck-spacing-medium) var(--ck-spacing-large);\n\n\t\t\t& * {\n\t\t\t\twhite-space: normal;\n\t\t\t}\n\n\t\t\t& > span:first-child {\n\t\t\t\tfont-weight: bold;\n\t\t\t}\n\n\t\t\t& > span:last-child {\n\t\t\t\tmargin-top: var(--ck-spacing-medium);\n\t\t\t}\n\t\t}\n\t}\n}\n\n'],sourceRoot:""}]);const c=a},6446:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck.ck-spinner-container{display:block;position:relative}.ck.ck-spinner{left:0;margin:0 auto;position:absolute;right:0;top:50%;transform:translateY(-50%);z-index:1}:root{--ck-toolbar-spinner-size:18px}.ck.ck-spinner-container{animation:rotate 1.5s linear infinite}.ck.ck-spinner,.ck.ck-spinner-container{height:var(--ck-toolbar-spinner-size);width:var(--ck-toolbar-spinner-size)}.ck.ck-spinner{border:2px solid var(--ck-color-text);border-radius:50%;border-top:2px solid transparent}@keyframes rotate{to{transform:rotate(1turn)}}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/spinner/spinner.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/spinner/spinner.css"],names:[],mappings:"AASA,yBACC,aAAc,CACd,iBACD,CAEA,eAGC,MAAO,CAEP,aAAc,CAJd,iBAAkB,CAGlB,OAAQ,CAFR,OAAQ,CAIR,0BAA2B,CAC3B,SACD,CCjBA,MACC,8BACD,CAEA,yBAGC,qCACD,CAEA,wCAJC,qCAAsC,CADtC,oCAWD,CANA,eAKC,qCAA6B,CAF7B,iBAAkB,CAElB,gCACD,CAEA,kBACC,GACC,uBACD,CACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-toolbar-spinner-size: 18px;\n}\n\n.ck.ck-spinner-container {\n\tdisplay: block;\n\tposition: relative;\n}\n\n.ck.ck-spinner {\n\tposition: absolute;\n\ttop: 50%;\n\tleft: 0;\n\tright: 0;\n\tmargin: 0 auto;\n\ttransform: translateY(-50%);\n\tz-index: 1;\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-toolbar-spinner-size: 18px;\n}\n\n.ck.ck-spinner-container {\n\twidth: var(--ck-toolbar-spinner-size);\n\theight: var(--ck-toolbar-spinner-size);\n\tanimation: 1.5s infinite rotate linear;\n}\n\n.ck.ck-spinner {\n\twidth: var(--ck-toolbar-spinner-size);\n\theight: var(--ck-toolbar-spinner-size);\n\tborder-radius: 50%;\n\tborder: 2px solid var(--ck-color-text);\n\tborder-top-color: transparent;\n}\n\n@keyframes rotate {\n\tto {\n\t\ttransform: rotate(360deg)\n\t}\n}\n\n"],sourceRoot:""}]);const c=a},5224:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.id,".ck-textarea{overflow-x:hidden}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/textarea/textarea.css"],names:[],mappings:"AASA,aACC,iBACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/*\n * This fixes a problem in Firefox when the initial height of the complement does not match the number of rows.\n * This bug is especially visible when rows=1.\n */\n.ck-textarea {\n\toverflow-x: hidden\n}\n"],sourceRoot:""}]);const c=a},4176:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.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)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/toolbar/blocktoolbar.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/toolbar/blocktoolbar.css"],names:[],mappings:"AAKA,4BACC,iBAAkB,CAClB,2BACD,CCHA,MACC,oDAAqD,CACrD,yDACD,CAEA,4BACC,0CAA2C,CAC3C,sCACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-block-toolbar-button {\n\tposition: absolute;\n\tz-index: var(--ck-z-default);\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-color-block-toolbar-button: var(--ck-color-text);\n\t--ck-block-toolbar-button-size: var(--ck-font-size-normal);\n}\n\n.ck.ck-block-toolbar-button {\n\tcolor: var(--ck-color-block-toolbar-button);\n\tfont-size: var(--ck-block-toolbar-size);\n}\n"],sourceRoot:""}]);const c=a},4768:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.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.ck-toolbar .ck-toolbar__nested-toolbar-dropdown>.ck-dropdown__panel{min-width:auto}.ck.ck-toolbar .ck-toolbar__nested-toolbar-dropdown>.ck-button>.ck-button__label{max-width:7em;width:auto}.ck.ck-toolbar:focus{outline:none}.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)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/toolbar/toolbar.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_unselectable.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/toolbar/toolbar.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAOA,eAKC,kBAAmB,CAFnB,YAAa,CACb,oBAAqB,CCFrB,qBAAsB,CACtB,wBAAyB,CACzB,oBAAqB,CACrB,gBD6CD,CA3CC,kCAGC,kBAAmB,CAFnB,YAAa,CACb,kBAAmB,CAEnB,WAED,CAEA,yCACC,oBAWD,CAJC,yGAEC,YACD,CAGD,uCACC,eACD,CAEA,sDACC,gBACD,CAEA,sDACC,qBACD,CAEA,sDACC,gBACD,CAGC,yFACC,YACD,CE/CF,eCGC,eDwGD,CA3GA,qECOE,qCDoGF,CA3GA,eAGC,6CAA8C,CAE9C,+CAAgD,CADhD,iCAuGD,CApGC,yCACC,kBAAmB,CAGnB,yCAA0C,CAO1C,qCAAsC,CADtC,kCAAmC,CAPnC,aAAc,CADd,SAUD,CAEA,uCACC,QACD,CAGC,gEAEC,oCACD,CAIA,kEACC,YACD,CAGD,gHAIC,qCAAsC,CADtC,kCAED,CAEA,mCAEC,SAaD,CAVC,0DAQC,eAAgB,CAHhB,QAAS,CAHT,UAOD,CAGD,kCAEC,SAWD,CATC,uDAEC,QAMD,CAHC,yFACC,eACD,CASD,kFACC,mCACD,CAMA,wEACC,cACD,CAEA,iFACC,aAAc,CACd,UACD,CAGD,qBACC,YACD,CAtGD,qCAyGE,QAEF,CAYC,+FACC,cACD,CAEA,iJAEC,mCACD,CAEA,qHACC,aACD,CAIC,6JAEC,2BAA4B,CAD5B,wBAED,CAGA,2JAEC,4BAA6B,CAD7B,yBAED,CASD,8RACC,mCACD,CAWA,qHACC,cACD,CAIC,6JAEC,4BAA6B,CAD7B,yBAED,CAGA,2JAEC,2BAA4B,CAD5B,wBAED,CASD,8RACC,oCACD",sourcesContent:['/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../mixins/_unselectable.css";\n\n.ck.ck-toolbar {\n\t@mixin ck-unselectable;\n\n\tdisplay: flex;\n\tflex-flow: row nowrap;\n\talign-items: center;\n\n\t& > .ck-toolbar__items {\n\t\tdisplay: flex;\n\t\tflex-flow: row wrap;\n\t\talign-items: center;\n\t\tflex-grow: 1;\n\n\t}\n\n\t& .ck.ck-toolbar__separator {\n\t\tdisplay: inline-block;\n\n\t\t/*\n\t\t * A leading or trailing separator makes no sense (separates from nothing on one side).\n\t\t * For instance, it can happen when toolbar items (also separators) are getting grouped one by one and\n\t\t * moved to another toolbar in the dropdown.\n\t\t */\n\t\t&:first-child,\n\t\t&:last-child {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n\t& .ck-toolbar__line-break {\n\t\tflex-basis: 100%;\n\t}\n\n\t&.ck-toolbar_grouping > .ck-toolbar__items {\n\t\tflex-wrap: nowrap;\n\t}\n\n\t&.ck-toolbar_vertical > .ck-toolbar__items {\n\t\tflex-direction: column;\n\t}\n\n\t&.ck-toolbar_floating > .ck-toolbar__items {\n\t\tflex-wrap: nowrap;\n\t}\n\n\t& > .ck.ck-toolbar__grouped-dropdown {\n\t\t& > .ck-dropdown__button .ck-dropdown__arrow {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n}\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Makes element unselectable.\n */\n@define-mixin ck-unselectable {\n\t-moz-user-select: none;\n\t-webkit-user-select: none;\n\t-ms-user-select: none;\n\tuser-select: none\n}\n",'/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_rounded.css";\n@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css";\n\n.ck.ck-toolbar {\n\t@mixin ck-rounded-corners;\n\n\tbackground: var(--ck-color-toolbar-background);\n\tpadding: 0 var(--ck-spacing-small);\n\tborder: 1px solid var(--ck-color-toolbar-border);\n\n\t& .ck.ck-toolbar__separator {\n\t\talign-self: stretch;\n\t\twidth: 1px;\n\t\tmin-width: 1px;\n\t\tbackground: var(--ck-color-toolbar-border);\n\n\t\t/*\n\t\t * These margins make the separators look better in balloon toolbars (when aligned with the "tip").\n\t\t * See https://github.com/ckeditor/ckeditor5/issues/7493.\n\t\t */\n\t\tmargin-top: var(--ck-spacing-small);\n\t\tmargin-bottom: var(--ck-spacing-small);\n\t}\n\n\t& .ck-toolbar__line-break {\n\t\theight: 0;\n\t}\n\n\t& > .ck-toolbar__items {\n\t\t& > *:not(.ck-toolbar__line-break) {\n\t\t\t/* (#11) Separate toolbar items. */\n\t\t\tmargin-right: var(--ck-spacing-small);\n\t\t}\n\n\t\t/* Don\'t display a separator after an empty items container, for instance,\n\t\twhen all items were grouped */\n\t\t&:empty + .ck.ck-toolbar__separator {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n\t& > .ck-toolbar__items > *:not(.ck-toolbar__line-break),\n\t& > .ck.ck-toolbar__grouped-dropdown {\n\t\t/* Make sure items wrapped to the next line have v-spacing */\n\t\tmargin-top: var(--ck-spacing-small);\n\t\tmargin-bottom: var(--ck-spacing-small);\n\t}\n\n\t&.ck-toolbar_vertical {\n\t\t/* Items in a vertical toolbar span the entire width. */\n\t\tpadding: 0;\n\n\t\t/* Specificity matters here. See https://github.com/ckeditor/ckeditor5-theme-lark/issues/168. */\n\t\t& > .ck-toolbar__items > .ck {\n\t\t\t/* Items in a vertical toolbar should span the horizontal space. */\n\t\t\twidth: 100%;\n\n\t\t\t/* Items in a vertical toolbar should have no margin. */\n\t\t\tmargin: 0;\n\n\t\t\t/* Items in a vertical toolbar span the entire width so rounded corners are pointless. */\n\t\t\tborder-radius: 0;\n\t\t}\n\t}\n\n\t&.ck-toolbar_compact {\n\t\t/* No spacing around items. */\n\t\tpadding: 0;\n\n\t\t& > .ck-toolbar__items > * {\n\t\t\t/* Compact toolbar items have no spacing between them. */\n\t\t\tmargin: 0;\n\n\t\t\t/* "Middle" children should have no rounded corners. */\n\t\t\t&:not(:first-child):not(:last-child) {\n\t\t\t\tborder-radius: 0;\n\t\t\t}\n\t\t}\n\t}\n\n\t& > .ck.ck-toolbar__grouped-dropdown {\n\t\t/*\n\t\t * Dropdown button has asymmetric padding to fit the arrow.\n\t\t * This button has no arrow so let\'s revert that padding back to normal.\n\t\t */\n\t\t& > .ck.ck-button.ck-dropdown__button {\n\t\t\tpadding-left: var(--ck-spacing-tiny);\n\t\t}\n\t}\n\n\t/* A drop-down containing the nested toolbar with configured items. */\n\t& .ck-toolbar__nested-toolbar-dropdown {\n\t\t/* Prevent empty space in the panel when the dropdown label is visible and long but the toolbar has few items. */\n\t\t& > .ck-dropdown__panel {\n\t\t\tmin-width: auto;\n\t\t}\n\n\t\t& > .ck-button > .ck-button__label {\n\t\t\tmax-width: 7em;\n\t\t\twidth: auto;\n\t\t}\n\t}\n\n\t&:focus {\n\t\toutline: none;\n\t}\n\n\t@nest .ck-toolbar-container & {\n\t\tborder: 0;\n\t}\n}\n\n/* stylelint-disable */\n\n/*\n * Styles for RTL toolbars.\n *\n * Note: In some cases (e.g. a decoupled editor), the toolbar has its own "dir"\n * because its parent is not controlled by the editor framework.\n */\n[dir="rtl"] .ck.ck-toolbar,\n.ck.ck-toolbar[dir="rtl"] {\n\t& > .ck-toolbar__items > .ck {\n\t\tmargin-right: 0;\n\t}\n\n\t&:not(.ck-toolbar_compact) > .ck-toolbar__items > .ck {\n\t\t/* (#11) Separate toolbar items. */\n\t\tmargin-left: var(--ck-spacing-small);\n\t}\n\n\t& > .ck-toolbar__items > .ck:last-child {\n\t\tmargin-left: 0;\n\t}\n\n\t&.ck-toolbar_compact > .ck-toolbar__items > .ck {\n\t\t/* No rounded corners on the right side of the first child. */\n\t\t&:first-child {\n\t\t\tborder-top-left-radius: 0;\n\t\t\tborder-bottom-left-radius: 0;\n\t\t}\n\n\t\t/* No rounded corners on the left side of the last child. */\n\t\t&:last-child {\n\t\t\tborder-top-right-radius: 0;\n\t\t\tborder-bottom-right-radius: 0;\n\t\t}\n\t}\n\n\t/* Separate the the separator form the grouping dropdown when some items are grouped. */\n\t& > .ck.ck-toolbar__separator {\n\t\tmargin-left: var(--ck-spacing-small);\n\t}\n\n\t/* Some spacing between the items and the separator before the grouped items dropdown. */\n\t&.ck-toolbar_grouping > .ck-toolbar__items:not(:empty):not(:only-child) {\n\t\tmargin-left: var(--ck-spacing-small);\n\t}\n}\n\n/*\n * Styles for LTR toolbars.\n *\n * Note: In some cases (e.g. a decoupled editor), the toolbar has its own "dir"\n * because its parent is not controlled by the editor framework.\n */\n[dir="ltr"] .ck.ck-toolbar,\n.ck.ck-toolbar[dir="ltr"] {\n\t& > .ck-toolbar__items > .ck:last-child {\n\t\tmargin-right: 0;\n\t}\n\n\t&.ck-toolbar_compact > .ck-toolbar__items > .ck {\n\t\t/* No rounded corners on the right side of the first child. */\n\t\t&:first-child {\n\t\t\tborder-top-right-radius: 0;\n\t\t\tborder-bottom-right-radius: 0;\n\t\t}\n\n\t\t/* No rounded corners on the left side of the last child. */\n\t\t&:last-child {\n\t\t\tborder-top-left-radius: 0;\n\t\t\tborder-bottom-left-radius: 0;\n\t\t}\n\t}\n\n\t/* Separate the the separator form the grouping dropdown when some items are grouped. */\n\t& > .ck.ck-toolbar__separator {\n\t\tmargin-right: var(--ck-spacing-small);\n\t}\n\n\t/* Some spacing between the items and the separator before the grouped items dropdown. */\n\t&.ck-toolbar_grouping > .ck-toolbar__items:not(:empty):not(:only-child) {\n\t\tmargin-right: var(--ck-spacing-small);\n\t}\n}\n\n/* stylelint-enable */\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Implements rounded corner interface for .ck-rounded-corners class.\n *\n * @see $ck-border-radius\n */\n@define-mixin ck-rounded-corners {\n\tborder-radius: 0;\n\n\t@nest .ck-rounded-corners &,\n\t&.ck-rounded-corners {\n\t\tborder-radius: var(--ck-border-radius);\n\t\t@mixin-content;\n\t}\n}\n"],sourceRoot:""}]);const c=a},3888:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.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-tooltip-text-padding: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-dialog) + 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.ck-tooltip_multi-line .ck-tooltip__text{display:inline-block;padding:var(--ck-tooltip-text-padding) 0;white-space:break-spaces}.ck.ck-balloon-panel.ck-tooltip{box-shadow:none}.ck.ck-balloon-panel.ck-tooltip:before{display:none}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/tooltip/tooltip.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/tooltip/tooltip.css"],names:[],mappings:"AAKA,gCCGC,6BAA8B,CAC9B,6BAA8B,CAC9B,iCAAkC,CAClC,6BAA8B,CAC9B,6BAA8B,CAC9B,8DAA+D,CAE/D,kCAAmC,CDRnC,mBAAoB,CAEpB,sCACD,CCOC,kDAGC,kCAAmC,CAFnC,cAAe,CACf,eAED,CAEA,wEAEC,oBAAqB,CACrB,wCAAyC,CAFzC,wBAGD,CApBD,gCAuBC,eAMD,CAHC,uCACC,YACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-balloon-panel.ck-tooltip {\n\t/* Keep tooltips transparent for any interactions. */\n\tpointer-events: none;\n\n\tz-index: calc( var(--ck-z-dialog) + 100 );\n}\n",'/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../../../mixins/_rounded.css";\n\n.ck.ck-balloon-panel.ck-tooltip {\n\t--ck-balloon-border-width: 0px;\n\t--ck-balloon-arrow-offset: 0px;\n\t--ck-balloon-arrow-half-width: 4px;\n\t--ck-balloon-arrow-height: 4px;\n\t--ck-tooltip-text-padding: 4px;\n\t--ck-color-panel-background: var(--ck-color-tooltip-background);\n\n\tpadding: 0 var(--ck-spacing-medium);\n\n\t& .ck-tooltip__text {\n\t\tfont-size: .9em;\n\t\tline-height: 1.5;\n\t\tcolor: var(--ck-color-tooltip-text);\n\t}\n\n\t&.ck-tooltip_multi-line .ck-tooltip__text {\n\t\twhite-space: break-spaces;\n\t\tdisplay: inline-block;\n\t\tpadding: var(--ck-tooltip-text-padding) 0;\n\t}\n\n\t/* Reset balloon panel styles */\n\tbox-shadow: none;\n\n\t/* Hide the default shadow of the .ck-balloon-panel tip */\n\t&::before {\n\t\tdisplay: none;\n\t}\n}\n'],sourceRoot:""}]);const c=a},5167:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.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-panel:calc(var(--ck-z-default) + 999);--ck-z-dialog:9999}.ck-transitions-disabled,.ck-transitions-disabled *{transition:none!important}:root{--ck-powered-by-line-height:10px;--ck-powered-by-padding-vertical:2px;--ck-powered-by-padding-horizontal:4px;--ck-powered-by-text-color:#4f4f4f;--ck-powered-by-border-radius:var(--ck-border-radius);--ck-powered-by-background:#fff;--ck-powered-by-border-color:var(--ck-color-focus-border)}.ck.ck-balloon-panel.ck-powered-by-balloon{--ck-border-radius:var(--ck-powered-by-border-radius);background:var(--ck-powered-by-background);box-shadow:none;min-height:unset;z-index:calc(var(--ck-z-panel) - 1)}.ck.ck-balloon-panel.ck-powered-by-balloon .ck.ck-powered-by{line-height:var(--ck-powered-by-line-height)}.ck.ck-balloon-panel.ck-powered-by-balloon .ck.ck-powered-by a{align-items:center;cursor:pointer;display:flex;filter:grayscale(80%);line-height:var(--ck-powered-by-line-height);opacity:.66;padding:var(--ck-powered-by-padding-vertical) var(--ck-powered-by-padding-horizontal)}.ck.ck-balloon-panel.ck-powered-by-balloon .ck.ck-powered-by .ck-powered-by__label{color:var(--ck-powered-by-text-color);cursor:pointer;font-size:7.5px;font-weight:700;letter-spacing:-.2px;line-height:normal;margin-right:4px;padding-left:2px;text-transform:uppercase}.ck.ck-balloon-panel.ck-powered-by-balloon .ck.ck-powered-by .ck-icon{cursor:pointer;display:block}.ck.ck-balloon-panel.ck-powered-by-balloon .ck.ck-powered-by:hover a{filter:grayscale(0);opacity:1}.ck.ck-balloon-panel.ck-powered-by-balloon[class*=position_inside]{border-color:transparent}.ck.ck-balloon-panel.ck-powered-by-balloon[class*=position_border]{border:var(--ck-focus-ring);border-color:var(--ck-powered-by-border-color)}: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-color-highlight-background:#ff0;--ck-color-light-red:#fcc;--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)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/globals/_hidden.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/globals/_reset.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/globals/_zindex.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/globals/_transition.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/globals/_poweredby.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_colors.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_disabled.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_focus.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_fonts.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_reset.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_rounded.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_shadow.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_spacing.css"],names:[],mappings:"AAQA,WAGC,sBACD,CCPA,2EAGC,qBAAsB,CAEtB,WAAY,CACZ,eAAgB,CAFhB,UAGD,CCPA,MACC,gBAAiB,CACjB,4CAA+C,CAC/C,kBACD,CCDA,oDAEC,yBACD,CCNA,MACC,gCAAiC,CACjC,oCAAqC,CACrC,sCAAuC,CACvC,kCAA2C,CAC3C,qDAAsD,CACtD,+BAA4C,CAC5C,yDACD,CAEA,2CACC,qDAAsD,CAGtD,0CAA2C,CAD3C,eAAgB,CAEhB,gBAAiB,CACjB,mCAiDD,CA/CC,6DACC,4CAoCD,CAlCC,+DAGC,kBAAmB,CAFnB,cAAe,CACf,YAAa,CAGb,qBAAsB,CACtB,4CAA6C,CAF7C,WAAY,CAGZ,qFACD,CAEA,mFASC,qCAAsC,CAFtC,cAAe,CANf,eAAgB,CAIhB,eAAiB,CAHjB,oBAAqB,CAMrB,kBAAmB,CAFnB,gBAAiB,CAHjB,gBAAiB,CACjB,wBAOD,CAEA,sEAEC,cAAe,CADf,aAED,CAGC,qEACC,mBAAqB,CACrB,SACD,CAIF,mEACC,wBACD,CAEA,mEACC,2BAA4B,CAC5B,8CACD,CChED,MACC,kCAAmD,CACnD,+BAAoD,CACpD,8BAAkD,CAClD,8BAAuD,CACvD,6BAAmD,CACnD,yBAA+C,CAC/C,8BAAsD,CACtD,oCAA4D,CAC5D,6BAAkD,CAIlD,mDAA4D,CAC5D,qEAA+E,CAC/E,qCAA4D,CAC5D,qDAA8D,CAC9D,gDAAyD,CACzD,yCAAqD,CACrD,sCAAsD,CACtD,4CAA0D,CAC1D,sCAAsD,CAItD,gDAAuD,CACvD,kDAAiE,CACjE,mDAAkE,CAClE,yDAA8D,CAE9D,uCAA6D,CAC7D,6CAAoE,CACpE,8CAAoE,CACpE,gDAAiE,CACjE,kCAAyD,CAGzD,+DAAsE,CACtE,iDAAsE,CACtE,kDAAsE,CACtE,oDAAoE,CACpE,6DAAsE,CAEtE,8BAAoD,CACpD,gCAAqD,CAErD,+CAA8D,CAC9D,qDAAiE,CACjE,+EAAqF,CACrF,oDAAuE,CACvE,yEAA8E,CAC9E,oDAAgE,CAIhE,oEAA2E,CAC3E,4DAAoE,CAIpE,2DAAoE,CACpE,mDAA6D,CAC7D,wDAAgE,CAChE,+CAA0D,CAC1D,4CAA2D,CAC3D,4DAAoE,CACpE,sCAAsD,CAItD,0DAAmE,CACnE,uFAA6F,CAC7F,oEAA2E,CAC3E,0EAA+E,CAC/E,8DAAsE,CAItE,2DAAoE,CACpE,mDAA6D,CAI7D,6DAAsE,CACtE,qDAA+D,CAI/D,uDAAgE,CAChE,uDAAiE,CAIjE,0CAAyD,CAIzD,wCAA2D,CAI3D,+BAAoD,CACpD,uDAAmE,CACnE,kDAAgE,CAIhE,oCAAyD,CAIzD,yBAAgD,CC3GhD,wBAAyB,CCAzB,0CAA2C,CAK3C,gGAAiG,CAKjG,4GAA6G,CAK7G,sGAAuG,CAKvG,sDAAuD,CCvBvD,wBAAyB,CACzB,6BAA8B,CAC9B,wDAA6D,CAE7D,yBAA0B,CAC1B,2BAA4B,CAC5B,yBAA0B,CAC1B,wBAAyB,CACzB,0BAA2B,CCJ3B,kCJ2GD,CIrGA,2EAaC,oBAAqB,CANrB,sBAAuB,CADvB,QAAS,CAFT,QAAS,CACT,SAAU,CAGV,oBAAqB,CAErB,eAAgB,CADhB,qBAKD,CAKA,8DAGC,wBAAyB,CAEzB,0BAA2B,CAG3B,WAAY,CACZ,UAAW,CALX,iGAAkG,CAElG,eAAgB,CAChB,kBAGD,CAGC,qDACC,gBACD,CAEA,mDAEC,sBACD,CAEA,qDACC,oBACD,CAEA,mLAGC,WACD,CAEA,iNAGC,cACD,CAEA,qDAEC,yBAAoC,CADpC,YAED,CAEA,qEAGC,QAAQ,CADR,SAED,CAMD,8BAEC,gBACD,CCnFA,MACC,sBAAuB,CCAvB,gEAAiE,CAKjE,0DAA2D,CAK3D,wEAAyE,CCbzE,uBAA8B,CAC9B,mDAA2D,CAC3D,4CAAkD,CAClD,oDAA4D,CAC5D,mDAA2D,CAC3D,kDAA2D,CAC3D,yDFFD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A class which hides an element in DOM.\n */\n.ck-hidden {\n\t/* Override selector specificity. Otherwise, all elements with some display\n\tstyle defined will override this one, which is not a desired result. */\n\tdisplay: none !important;\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-reset,\n.ck.ck-reset_all,\n.ck-reset_all *:not(.ck-reset_all-excluded *) {\n\tbox-sizing: border-box;\n\twidth: auto;\n\theight: auto;\n\tposition: static;\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-z-default: 1;\n\t--ck-z-panel: calc( var(--ck-z-default) + 999 );\n\t--ck-z-dialog: 9999;\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A class that disables all transitions of the element and its children.\n */\n.ck-transitions-disabled,\n.ck-transitions-disabled * {\n\ttransition: none !important;\n}\n",'/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-powered-by-line-height: 10px;\n\t--ck-powered-by-padding-vertical: 2px;\n\t--ck-powered-by-padding-horizontal: 4px;\n\t--ck-powered-by-text-color: hsl(0, 0%, 31%);\n\t--ck-powered-by-border-radius: var(--ck-border-radius);\n\t--ck-powered-by-background: hsl(0, 0%, 100%);\n\t--ck-powered-by-border-color: var(--ck-color-focus-border);\n}\n\n.ck.ck-balloon-panel.ck-powered-by-balloon {\n\t--ck-border-radius: var(--ck-powered-by-border-radius);\n\n\tbox-shadow: none;\n\tbackground: var(--ck-powered-by-background);\n\tmin-height: unset;\n\tz-index: calc( var(--ck-z-panel) - 1 );\n\n\t& .ck.ck-powered-by {\n\t\tline-height: var(--ck-powered-by-line-height);\n\n\t\t& a {\n\t\t\tcursor: pointer;\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\topacity: .66;\n\t\t\tfilter: grayscale(80%);\n\t\t\tline-height: var(--ck-powered-by-line-height);\n\t\t\tpadding: var(--ck-powered-by-padding-vertical) var(--ck-powered-by-padding-horizontal);\n\t\t}\n\n\t\t& .ck-powered-by__label {\n\t\t\tfont-size: 7.5px;\n\t\t\tletter-spacing: -.2px;\n\t\t\tpadding-left: 2px;\n\t\t\ttext-transform: uppercase;\n\t\t\tfont-weight: bold;\n\t\t\tmargin-right: 4px;\n\t\t\tcursor: pointer;\n\t\t\tline-height: normal;\n\t\t\tcolor: var(--ck-powered-by-text-color);\n\n\t\t}\n\n\t\t& .ck-icon {\n\t\t\tdisplay: block;\n\t\t\tcursor: pointer;\n\t\t}\n\n\t\t&:hover {\n\t\t\t& a {\n\t\t\t\tfilter: grayscale(0%);\n\t\t\t\topacity: 1;\n\t\t\t}\n\t\t}\n\t}\n\n\t&[class*="position_inside"] {\n\t\tborder-color: transparent;\n\t}\n\n\t&[class*="position_border"] {\n\t\tborder: var(--ck-focus-ring);\n\t\tborder-color: var(--ck-powered-by-border-color);\n\t}\n}\n\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-color-base-foreground: \t\t\t\t\t\t\t\thsl(0, 0%, 98%);\n\t--ck-color-base-background: \t\t\t\t\t\t\t\thsl(0, 0%, 100%);\n\t--ck-color-base-border: \t\t\t\t\t\t\t\t\thsl(220, 6%, 81%);\n\t--ck-color-base-action: \t\t\t\t\t\t\t\t\thsl(104, 50.2%, 42.5%);\n\t--ck-color-base-focus: \t\t\t\t\t\t\t\t\t\thsl(209, 92%, 70%);\n\t--ck-color-base-text: \t\t\t\t\t\t\t\t\t\thsl(0, 0%, 20%);\n\t--ck-color-base-active: \t\t\t\t\t\t\t\t\thsl(218.1, 100%, 58%);\n\t--ck-color-base-active-focus:\t\t\t\t\t\t\t\thsl(218.2, 100%, 52.5%);\n\t--ck-color-base-error:\t\t\t\t\t\t\t\t\t\thsl(15, 100%, 43%);\n\n\t/* -- Generic colors ------------------------------------------------------------------------ */\n\n\t--ck-color-focus-border-coordinates: \t\t\t\t\t\t218, 81.8%, 56.9%;\n\t--ck-color-focus-border: \t\t\t\t\t\t\t\t\thsl(var(--ck-color-focus-border-coordinates));\n\t--ck-color-focus-outer-shadow:\t\t\t\t\t\t\t\thsl(212.4, 89.3%, 89%);\n\t--ck-color-focus-disabled-shadow:\t\t\t\t\t\t\thsla(209, 90%, 72%,.3);\n\t--ck-color-focus-error-shadow:\t\t\t\t\t\t\t\thsla(9,100%,56%,.3);\n\t--ck-color-text: \t\t\t\t\t\t\t\t\t\t\tvar(--ck-color-base-text);\n\t--ck-color-shadow-drop: \t\t\t\t\t\t\t\t\thsla(0, 0%, 0%, 0.15);\n\t--ck-color-shadow-drop-active:\t\t\t\t\t\t\t\thsla(0, 0%, 0%, 0.2);\n\t--ck-color-shadow-inner: \t\t\t\t\t\t\t\t\thsla(0, 0%, 0%, 0.1);\n\n\t/* -- Buttons ------------------------------------------------------------------------------- */\n\n\t--ck-color-button-default-background: \t\t\t\t\t\ttransparent;\n\t--ck-color-button-default-hover-background: \t\t\t\thsl(0, 0%, 94.1%);\n\t--ck-color-button-default-active-background: \t\t\t\thsl(0, 0%, 94.1%);\n\t--ck-color-button-default-disabled-background: \t\t\t\ttransparent;\n\n\t--ck-color-button-on-background: \t\t\t\t\t\t\thsl(212, 100%, 97.1%);\n\t--ck-color-button-on-hover-background: \t\t\t\t\t\thsl(211.7, 100%, 92.9%);\n\t--ck-color-button-on-active-background: \t\t\t\t\thsl(211.7, 100%, 92.9%);\n\t--ck-color-button-on-disabled-background: \t\t\t\t\thsl(211, 15%, 95%);\n\t--ck-color-button-on-color:\t\t\t\t\t\t\t\t\thsl(218.1, 100%, 58%);\n\n\n\t--ck-color-button-action-background: \t\t\t\t\t\tvar(--ck-color-base-action);\n\t--ck-color-button-action-hover-background: \t\t\t\t\thsl(104, 53.2%, 40.2%);\n\t--ck-color-button-action-active-background: \t\t\t\thsl(104, 53.2%, 40.2%);\n\t--ck-color-button-action-disabled-background: \t\t\t\thsl(104, 44%, 58%);\n\t--ck-color-button-action-text: \t\t\t\t\t\t\t\tvar(--ck-color-base-background);\n\n\t--ck-color-button-save: \t\t\t\t\t\t\t\t\thsl(120, 100%, 27%);\n\t--ck-color-button-cancel: \t\t\t\t\t\t\t\t\thsl(15, 100%, 43%);\n\n\t--ck-color-switch-button-off-background:\t\t\t\t\thsl(0, 0%, 57.6%);\n\t--ck-color-switch-button-off-hover-background:\t\t\t\thsl(0, 0%, 49%);\n\t--ck-color-switch-button-on-background:\t\t\t\t\t\tvar(--ck-color-button-action-background);\n\t--ck-color-switch-button-on-hover-background:\t\t\t\thsl(104, 53.2%, 40.2%);\n\t--ck-color-switch-button-inner-background:\t\t\t\t\tvar(--ck-color-base-background);\n\t--ck-color-switch-button-inner-shadow:\t\t\t\t\t\thsla(0, 0%, 0%, 0.1);\n\n\t/* -- Dropdown ------------------------------------------------------------------------------ */\n\n\t--ck-color-dropdown-panel-background: \t\t\t\t\t\tvar(--ck-color-base-background);\n\t--ck-color-dropdown-panel-border: \t\t\t\t\t\t\tvar(--ck-color-base-border);\n\n\t/* -- Input --------------------------------------------------------------------------------- */\n\n\t--ck-color-input-background: \t\t\t\t\t\t\t\tvar(--ck-color-base-background);\n\t--ck-color-input-border: \t\t\t\t\t\t\t\t\tvar(--ck-color-base-border);\n\t--ck-color-input-error-border:\t\t\t\t\t\t\t\tvar(--ck-color-base-error);\n\t--ck-color-input-text: \t\t\t\t\t\t\t\t\t\tvar(--ck-color-base-text);\n\t--ck-color-input-disabled-background: \t\t\t\t\t\thsl(0, 0%, 95%);\n\t--ck-color-input-disabled-border: \t\t\t\t\t\t\tvar(--ck-color-base-border);\n\t--ck-color-input-disabled-text: \t\t\t\t\t\t\thsl(0, 0%, 46%);\n\n\t/* -- List ---------------------------------------------------------------------------------- */\n\n\t--ck-color-list-background: \t\t\t\t\t\t\t\tvar(--ck-color-base-background);\n\t--ck-color-list-button-hover-background: \t\t\t\t\tvar(--ck-color-button-default-hover-background);\n\t--ck-color-list-button-on-background: \t\t\t\t\t\tvar(--ck-color-button-on-color);\n\t--ck-color-list-button-on-background-focus: \t\t\t\tvar(--ck-color-button-on-color);\n\t--ck-color-list-button-on-text:\t\t\t\t\t\t\t\tvar(--ck-color-base-background);\n\n\t/* -- Panel --------------------------------------------------------------------------------- */\n\n\t--ck-color-panel-background: \t\t\t\t\t\t\t\tvar(--ck-color-base-background);\n\t--ck-color-panel-border: \t\t\t\t\t\t\t\t\tvar(--ck-color-base-border);\n\n\t/* -- Toolbar ------------------------------------------------------------------------------- */\n\n\t--ck-color-toolbar-background: \t\t\t\t\t\t\t\tvar(--ck-color-base-background);\n\t--ck-color-toolbar-border: \t\t\t\t\t\t\t\t\tvar(--ck-color-base-border);\n\n\t/* -- Tooltip ------------------------------------------------------------------------------- */\n\n\t--ck-color-tooltip-background: \t\t\t\t\t\t\t\tvar(--ck-color-base-text);\n\t--ck-color-tooltip-text: \t\t\t\t\t\t\t\t\tvar(--ck-color-base-background);\n\n\t/* -- Engine -------------------------------------------------------------------------------- */\n\n\t--ck-color-engine-placeholder-text: \t\t\t\t\t\thsl(0, 0%, 44%);\n\n\t/* -- Upload -------------------------------------------------------------------------------- */\n\n\t--ck-color-upload-bar-background:\t\t \t\t\t\t\thsl(209, 92%, 70%);\n\n\t/* -- Link -------------------------------------------------------------------------------- */\n\n\t--ck-color-link-default:\t\t\t\t\t\t\t\t\thsl(240, 100%, 47%);\n\t--ck-color-link-selected-background:\t\t\t\t\t\thsla(201, 100%, 56%, 0.1);\n\t--ck-color-link-fake-selection:\t\t\t\t\t\t\t\thsla(201, 100%, 56%, 0.3);\n\n\t/* -- Search result highlight ---------------------------------------------------------------- */\n\n\t--ck-color-highlight-background:\t\t\t\t\t\t\thsl(60, 100%, 50%);\n\n\t/* -- Generic colors ------------------------------------------------------------------------- */\n\n\t--ck-color-light-red:\t\t\t\t\t\t\t\t\t\thsl(0, 100%, 90%);\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t/**\n\t * An opacity value of disabled UI item.\n\t */\n\t--ck-disabled-opacity: .5;\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t/**\n\t * The geometry of the of focused element's outer shadow.\n\t */\n\t--ck-focus-outer-shadow-geometry: 0 0 0 3px;\n\n\t/**\n\t * A visual style of focused element's outer shadow.\n\t */\n\t--ck-focus-outer-shadow: var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-outer-shadow);\n\n\t/**\n\t * A visual style of focused element's outer shadow (when disabled).\n\t */\n\t--ck-focus-disabled-outer-shadow: var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-disabled-shadow);\n\n\t/**\n\t * A visual style of focused element's outer shadow (when has errors).\n\t */\n\t--ck-focus-error-outer-shadow: var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-error-shadow);\n\n\t/**\n\t * A visual style of focused element's border or outline.\n\t */\n\t--ck-focus-ring: 1px solid var(--ck-color-focus-border);\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-font-size-base: 13px;\n\t--ck-line-height-base: 1.84615;\n\t--ck-font-face: Helvetica, Arial, Tahoma, Verdana, Sans-Serif;\n\n\t--ck-font-size-tiny: 0.7em;\n\t--ck-font-size-small: 0.75em;\n\t--ck-font-size-normal: 1em;\n\t--ck-font-size-big: 1.4em;\n\t--ck-font-size-large: 1.8em;\n}\n",'/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t/* This is super-important. This is **manually** adjusted so a button without an icon\n\tis never smaller than a button with icon, additionally making sure that text-less buttons\n\tare perfect squares. The value is also shared by other components which should stay "in-line"\n\twith buttons. */\n\t--ck-ui-component-min-height: 2.3em;\n}\n\n/**\n * Resets an element, ignoring its children.\n */\n.ck.ck-reset,\n.ck.ck-reset_all,\n.ck-reset_all *:not(.ck-reset_all-excluded *) {\n\t/* Do not include inheritable rules here. */\n\tmargin: 0;\n\tpadding: 0;\n\tborder: 0;\n\tbackground: transparent;\n\ttext-decoration: none;\n\tvertical-align: middle;\n\ttransition: none;\n\n\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/105 */\n\tword-wrap: break-word;\n}\n\n/**\n * Resets an element AND its children.\n */\n.ck.ck-reset_all,\n.ck-reset_all *:not(.ck-reset_all-excluded *) {\n\t/* These are rule inherited by all children elements. */\n\tborder-collapse: collapse;\n\tfont: normal normal normal var(--ck-font-size-base)/var(--ck-line-height-base) var(--ck-font-face);\n\tcolor: var(--ck-color-text);\n\ttext-align: left;\n\twhite-space: nowrap;\n\tcursor: auto;\n\tfloat: none;\n}\n\n.ck-reset_all {\n\t& .ck-rtl *:not(.ck-reset_all-excluded *) {\n\t\ttext-align: right;\n\t}\n\n\t& iframe:not(.ck-reset_all-excluded *) {\n\t\t/* For IE */\n\t\tvertical-align: inherit;\n\t}\n\n\t& textarea:not(.ck-reset_all-excluded *) {\n\t\twhite-space: pre-wrap;\n\t}\n\n\t& textarea:not(.ck-reset_all-excluded *),\n\t& input[type="text"]:not(.ck-reset_all-excluded *),\n\t& input[type="password"]:not(.ck-reset_all-excluded *) {\n\t\tcursor: text;\n\t}\n\n\t& textarea[disabled]:not(.ck-reset_all-excluded *),\n\t& input[type="text"][disabled]:not(.ck-reset_all-excluded *),\n\t& input[type="password"][disabled]:not(.ck-reset_all-excluded *) {\n\t\tcursor: default;\n\t}\n\n\t& fieldset:not(.ck-reset_all-excluded *) {\n\t\tpadding: 10px;\n\t\tborder: 2px groove hsl(255, 7%, 88%);\n\t}\n\n\t& button:not(.ck-reset_all-excluded *)::-moz-focus-inner {\n\t\t/* See http://stackoverflow.com/questions/5517744/remove-extra-button-spacing-padding-in-firefox */\n\t\tpadding: 0;\n\t\tborder: 0\n\t}\n}\n\n/**\n * Default UI rules for RTL languages.\n */\n.ck[dir="rtl"],\n.ck[dir="rtl"] .ck {\n\ttext-align: right;\n}\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * Default border-radius value.\n */\n:root{\n\t--ck-border-radius: 2px;\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t/**\n\t * A visual style of element's inner shadow (i.e. input).\n\t */\n\t--ck-inner-shadow: 2px 2px 3px var(--ck-color-shadow-inner) inset;\n\n\t/**\n\t * A visual style of element's drop shadow (i.e. panel).\n\t */\n\t--ck-drop-shadow: 0 1px 2px 1px var(--ck-color-shadow-drop);\n\n\t/**\n\t * A visual style of element's active shadow (i.e. comment or suggestion).\n\t */\n\t--ck-drop-shadow-active: 0 3px 6px 1px var(--ck-color-shadow-drop-active);\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-spacing-unit: \t\t\t\t\t\t0.6em;\n\t--ck-spacing-large: \t\t\t\t\tcalc(var(--ck-spacing-unit) * 1.5);\n\t--ck-spacing-standard: \t\t\t\t\tvar(--ck-spacing-unit);\n\t--ck-spacing-medium: \t\t\t\t\tcalc(var(--ck-spacing-unit) * 0.8);\n\t--ck-spacing-small: \t\t\t\t\tcalc(var(--ck-spacing-unit) * 0.5);\n\t--ck-spacing-tiny: \t\t\t\t\t\tcalc(var(--ck-spacing-unit) * 0.3);\n\t--ck-spacing-extra-tiny: \t\t\t\tcalc(var(--ck-spacing-unit) * 0.16);\n}\n"],sourceRoot:""}]);const c=a},7153:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.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))}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-widget/theme/widget.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-widget/widget.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_focus.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AAKA,MACC,+CAAgD,CAChD,6CAAsD,CACtD,uCAAgD,CAEhD,kDAAmD,CACnD,gCAAiC,CACjC,kEACD,CAOA,8DAEC,iBAqBD,CAnBC,4EACC,iBAOD,CALC,qFAGC,aACD,CASD,iLACC,kBACD,CAGD,kBACC,qDAAsD,CAEtD,qDAAsD,CACtD,6CAA8C,CAF9C,0CAA2C,CAI3C,aAAc,CADd,kCAAmC,CAGnC,uCAAwC,CACxC,4CAA6C,CAF7C,iCAsCD,CAlCC,8NAKC,iBACD,CAEA,0CAEC,qCAAsC,CADtC,oCAED,CAEA,2CAEC,sCAAuC,CADvC,oCAED,CAEA,8CACC,uCAAwC,CACxC,sCACD,CAEA,6CACC,uCAAwC,CACxC,qCACD,CAGA,8CAEC,QAAS,CADT,6CAAgD,CAEhD,yBACD,CCjFD,MACC,iCAAkC,CAClC,kCAAmC,CACnC,4CAA6C,CAC7C,wCAAyC,CAEzC,wCAAiD,CACjD,sCAAkD,CAClD,2EAA4E,CAC5E,yEACD,CAEA,eAGC,yBAA0B,CAD1B,mBAAoB,CADpB,gDAAiD,CAGjD,6GAUD,CARC,0EAEC,6EACD,CAEA,qBACC,iDACD,CAGD,gCACC,4BAWD,CAPC,yGAKC,iEAAkE,CCnCnE,2BAA2B,CCF3B,qCAA8B,CDC9B,YDqCA,CAIA,4EAKC,4BAA6B,CAa7B,iEAAkE,CAhBlE,qBAAsB,CAoBtB,mDAAoD,CAhBpD,SAAU,CALV,WAAY,CAsBZ,KAAM,CAFN,2BAA4B,CAT5B,6SAgCD,CAnBC,qFAIC,oDAAqD,CADrD,yCAA0C,CAD1C,wCAWD,CANC,kHACC,SAAU,CAGV,+DACD,CAID,wHACC,SACD,CAID,kFAEC,oDAAqD,CADrD,SAED,CAKC,oMAEC,6CAA8C,CAD9C,SAOD,CAHC,gRACC,SACD,CAOH,qFACC,SAAU,CACV,oDACD,CAGA,gDAEC,eAkBD,CAhBC,yEAOC,iCACD,CAGC,gOAEC,gDACD,CAOD,wIAEC,mDAQD,CALE,ghBAEC,gDACD,CAKH,yKAOC,yDACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-color-resizer: var(--ck-color-focus-border);\n\t--ck-color-resizer-tooltip-background: hsl(0, 0%, 15%);\n\t--ck-color-resizer-tooltip-text: hsl(0, 0%, 95%);\n\n\t--ck-resizer-border-radius: var(--ck-border-radius);\n\t--ck-resizer-tooltip-offset: 10px;\n\t--ck-resizer-tooltip-height: calc(var(--ck-spacing-small) * 2 + 10px);\n}\n\n.ck .ck-widget {\n\t/* This is neccessary for type around UI to be positioned properly. */\n\tposition: relative;\n}\n\n.ck .ck-widget.ck-widget_with-selection-handle {\n\t/* Make the widget wrapper a relative positioning container for the drag handle. */\n\tposition: relative;\n\n\t& .ck-widget__selection-handle {\n\t\tposition: absolute;\n\n\t\t& .ck-icon {\n\t\t\t/* Make sure the icon in not a subject to font-size or line-height to avoid\n\t\t\tunnecessary spacing around it. */\n\t\t\tdisplay: block;\n\t\t}\n\t}\n\n\t/* Show the selection handle on mouse hover over the widget, but not for nested widgets. */\n\t&:hover > .ck-widget__selection-handle {\n\t\tvisibility: visible;\n\t}\n\n\t/* Show the selection handle when the widget is selected, but not for nested widgets. */\n\t&.ck-widget_selected > .ck-widget__selection-handle {\n\t\tvisibility: visible;\n\t}\n}\n\n.ck .ck-size-view {\n\tbackground: var(--ck-color-resizer-tooltip-background);\n\tcolor: var(--ck-color-resizer-tooltip-text);\n\tborder: 1px solid var(--ck-color-resizer-tooltip-text);\n\tborder-radius: var(--ck-resizer-border-radius);\n\tfont-size: var(--ck-font-size-tiny);\n\tdisplay: block;\n\tpadding: 0 var(--ck-spacing-small);\n\theight: var(--ck-resizer-tooltip-height);\n\tline-height: var(--ck-resizer-tooltip-height);\n\n\t&.ck-orientation-top-left,\n\t&.ck-orientation-top-right,\n\t&.ck-orientation-bottom-right,\n\t&.ck-orientation-bottom-left,\n\t&.ck-orientation-above-center {\n\t\tposition: absolute;\n\t}\n\n\t&.ck-orientation-top-left {\n\t\ttop: var(--ck-resizer-tooltip-offset);\n\t\tleft: var(--ck-resizer-tooltip-offset);\n\t}\n\n\t&.ck-orientation-top-right {\n\t\ttop: var(--ck-resizer-tooltip-offset);\n\t\tright: var(--ck-resizer-tooltip-offset);\n\t}\n\n\t&.ck-orientation-bottom-right {\n\t\tbottom: var(--ck-resizer-tooltip-offset);\n\t\tright: var(--ck-resizer-tooltip-offset);\n\t}\n\n\t&.ck-orientation-bottom-left {\n\t\tbottom: var(--ck-resizer-tooltip-offset);\n\t\tleft: var(--ck-resizer-tooltip-offset);\n\t}\n\n\t/* Class applied if the widget is too small to contain the size label */\n\t&.ck-orientation-above-center {\n\t\ttop: calc(var(--ck-resizer-tooltip-height) * -1);\n\t\tleft: 50%;\n\t\ttransform: translate(-50%);\n\t}\n}\n",'/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n@import "../mixins/_focus.css";\n@import "../mixins/_shadow.css";\n\n:root {\n\t--ck-widget-outline-thickness: 3px;\n\t--ck-widget-handler-icon-size: 16px;\n\t--ck-widget-handler-animation-duration: 200ms;\n\t--ck-widget-handler-animation-curve: ease;\n\n\t--ck-color-widget-blurred-border: hsl(0, 0%, 87%);\n\t--ck-color-widget-hover-border: hsl(43, 100%, 62%);\n\t--ck-color-widget-editable-focus-background: var(--ck-color-base-background);\n\t--ck-color-widget-drag-handler-icon-color: var(--ck-color-base-background);\n}\n\n.ck .ck-widget {\n\toutline-width: var(--ck-widget-outline-thickness);\n\toutline-style: solid;\n\toutline-color: transparent;\n\ttransition: outline-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);\n\n\t&.ck-widget_selected,\n\t&.ck-widget_selected:hover {\n\t\toutline: var(--ck-widget-outline-thickness) solid var(--ck-color-focus-border);\n\t}\n\n\t&:hover {\n\t\toutline-color: var(--ck-color-widget-hover-border);\n\t}\n}\n\n.ck .ck-editor__nested-editable {\n\tborder: 1px solid transparent;\n\n\t/* The :focus style is applied before .ck-editor__nested-editable_focused class is rendered in the view.\n\tThese styles show a different border for a blink of an eye, so `:focus` need to have same styles applied. */\n\t&.ck-editor__nested-editable_focused,\n\t&:focus {\n\t\t@mixin ck-focus-ring;\n\t\t@mixin ck-box-shadow var(--ck-inner-shadow);\n\n\t\tbackground-color: var(--ck-color-widget-editable-focus-background);\n\t}\n}\n\n.ck .ck-widget.ck-widget_with-selection-handle {\n\t& .ck-widget__selection-handle {\n\t\tpadding: 4px;\n\t\tbox-sizing: border-box;\n\n\t\t/* Background and opacity will be animated as the handler shows up or the widget gets selected. */\n\t\tbackground-color: transparent;\n\t\topacity: 0;\n\n\t\t/* Transition:\n\t\t * background-color for the .ck-widget_selected state change,\n\t\t * visibility for hiding the handler,\n\t\t * opacity for the proper look of the icon when the handler disappears. */\n\t\ttransition:\n\t\t\tbackground-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),\n\t\t\tvisibility var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),\n\t\t\topacity var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);\n\n\t\t/* Make only top corners round. */\n\t\tborder-radius: var(--ck-border-radius) var(--ck-border-radius) 0 0;\n\n\t\t/* Place the drag handler outside the widget wrapper. */\n\t\ttransform: translateY(-100%);\n\t\tleft: calc(0px - var(--ck-widget-outline-thickness));\n\t\ttop: 0;\n\n\t\t& .ck-icon {\n\t\t\t/* Make sure the dimensions of the icon are independent of the fon-size of the content. */\n\t\t\twidth: var(--ck-widget-handler-icon-size);\n\t\t\theight: var(--ck-widget-handler-icon-size);\n\t\t\tcolor: var(--ck-color-widget-drag-handler-icon-color);\n\n\t\t\t/* The "selected" part of the icon is invisible by default */\n\t\t\t& .ck-icon__selected-indicator {\n\t\t\t\topacity: 0;\n\n\t\t\t\t/* Note: The animation is longer on purpose. Simply feels better. */\n\t\t\t\ttransition: opacity 300ms var(--ck-widget-handler-animation-curve);\n\t\t\t}\n\t\t}\n\n\t\t/* Advertise using the look of the icon that once clicked the handler, the widget will be selected. */\n\t\t&:hover .ck-icon .ck-icon__selected-indicator {\n\t\t\topacity: 1;\n\t\t}\n\t}\n\n\t/* Show the selection handler on mouse hover over the widget, but not for nested widgets. */\n\t&:hover > .ck-widget__selection-handle {\n\t\topacity: 1;\n\t\tbackground-color: var(--ck-color-widget-hover-border);\n\t}\n\n\t/* Show the selection handler when the widget is selected, but not for nested widgets. */\n\t&.ck-widget_selected,\n\t&.ck-widget_selected:hover {\n\t\t& > .ck-widget__selection-handle {\n\t\t\topacity: 1;\n\t\t\tbackground-color: var(--ck-color-focus-border);\n\n\t\t\t/* When the widget is selected, notify the user using the proper look of the icon. */\n\t\t\t& .ck-icon .ck-icon__selected-indicator {\n\t\t\t\topacity: 1;\n\t\t\t}\n\t\t}\n\t}\n}\n\n/* In a RTL environment, align the selection handler to the right side of the widget */\n/* stylelint-disable-next-line no-descending-specificity */\n.ck[dir="rtl"] .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle {\n\tleft: auto;\n\tright: calc(0px - var(--ck-widget-outline-thickness));\n}\n\n/* https://github.com/ckeditor/ckeditor5/issues/6415 */\n.ck.ck-editor__editable.ck-read-only .ck-widget {\n\t/* Prevent the :hover outline from showing up because of the used outline-color transition. */\n\ttransition: none;\n\n\t&:not(.ck-widget_selected) {\n\t\t/* Disable visual effects of hover/active widget when CKEditor is in readOnly mode.\n\t\t * See: https://github.com/ckeditor/ckeditor5/issues/1261\n\t\t *\n\t\t * Leave the unit because this custom property is used in calc() by other features.\n\t\t * See: https://github.com/ckeditor/ckeditor5/issues/6775\n\t\t */\n\t\t--ck-widget-outline-thickness: 0px;\n\t}\n\n\t&.ck-widget_with-selection-handle {\n\t\t& .ck-widget__selection-handle,\n\t\t& .ck-widget__selection-handle:hover {\n\t\t\tbackground: var(--ck-color-widget-blurred-border);\n\t\t}\n\t}\n}\n\n/* Style the widget when it\'s selected but the editable it belongs to lost focus. */\n/* stylelint-disable-next-line no-descending-specificity */\n.ck.ck-editor__editable.ck-blurred .ck-widget {\n\t&.ck-widget_selected,\n\t&.ck-widget_selected:hover {\n\t\toutline-color: var(--ck-color-widget-blurred-border);\n\n\t\t&.ck-widget_with-selection-handle {\n\t\t\t& > .ck-widget__selection-handle,\n\t\t\t& > .ck-widget__selection-handle:hover {\n\t\t\t\tbackground: var(--ck-color-widget-blurred-border);\n\t\t\t}\n\t\t}\n\t}\n}\n\n.ck.ck-editor__editable > .ck-widget.ck-widget_with-selection-handle:first-child,\n.ck.ck-editor__editable blockquote > .ck-widget.ck-widget_with-selection-handle:first-child {\n\t/* Do not crop selection handler if a widget is a first-child in the blockquote or in the root editable.\n\tIn fact, anything with overflow: hidden.\n\thttps://github.com/ckeditor/ckeditor5-block-quote/issues/28\n\thttps://github.com/ckeditor/ckeditor5-widget/issues/44\n\thttps://github.com/ckeditor/ckeditor5-widget/issues/66 */\n\tmargin-top: calc(1em + var(--ck-widget-handler-icon-size));\n}\n',"/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A visual style of focused element's border.\n */\n@define-mixin ck-focus-ring {\n\t/* Disable native outline. */\n\toutline: none;\n\tborder: var(--ck-focus-ring)\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/**\n * A helper to combine multiple shadows.\n */\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\n\tbox-shadow: $shadowA, $shadowB;\n}\n\n/**\n * Gives an element a drop shadow so it looks like a floating panel.\n */\n@define-mixin ck-drop-shadow {\n\t@mixin ck-box-shadow var(--ck-drop-shadow);\n}\n"],sourceRoot:""}]);const c=a},4875:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.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)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-widget/theme/widgetresize.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-widget/widgetresize.css"],names:[],mappings:"AAKA,4BAEC,iBACD,CAEA,wBACC,YAAa,CAMb,MAAO,CAFP,mBAAoB,CAHpB,iBAAkB,CAMlB,KACD,CAGC,2EACC,aACD,CAGD,gCAIC,kBAAmB,CAHnB,iBAcD,CATC,4IAEC,kBACD,CAEA,4IAEC,kBACD,CCpCD,MACC,sBAAuB,CAGvB,yDAAiE,CACjE,6BACD,CAEA,wBACC,yCACD,CAEA,gCAGC,uCAAwC,CACxC,gDAA6D,CAC7D,6CAA8C,CAH9C,6BAA8B,CAD9B,4BAyBD,CAnBC,oEAEC,6BAA8B,CAD9B,4BAED,CAEA,qEAEC,8BAA+B,CAD/B,4BAED,CAEA,wEACC,+BAAgC,CAChC,8BACD,CAEA,uEACC,+BAAgC,CAChC,6BACD",sourcesContent:["/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck .ck-widget_with-resizer {\n\t/* Make the widget wrapper a relative positioning container for the drag handle. */\n\tposition: relative;\n}\n\n.ck .ck-widget__resizer {\n\tdisplay: none;\n\tposition: absolute;\n\n\t/* The wrapper itself should not interfere with the pointer device, only the handles should. */\n\tpointer-events: none;\n\n\tleft: 0;\n\ttop: 0;\n}\n\n.ck-focused .ck-widget_with-resizer.ck-widget_selected {\n\t& > .ck-widget__resizer {\n\t\tdisplay: block;\n\t}\n}\n\n.ck .ck-widget__resizer__handle {\n\tposition: absolute;\n\n\t/* Resizers are the only UI elements that should interfere with a pointer device. */\n\tpointer-events: all;\n\n\t&.ck-widget__resizer__handle-top-left,\n\t&.ck-widget__resizer__handle-bottom-right {\n\t\tcursor: nwse-resize;\n\t}\n\n\t&.ck-widget__resizer__handle-top-right,\n\t&.ck-widget__resizer__handle-bottom-left {\n\t\tcursor: nesw-resize;\n\t}\n}\n","/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-resizer-size: 10px;\n\n\t/* Set the resizer with a 50% offset. */\n\t--ck-resizer-offset: calc( ( var(--ck-resizer-size) / -2 ) - 2px);\n\t--ck-resizer-border-width: 1px;\n}\n\n.ck .ck-widget__resizer {\n\toutline: 1px solid var(--ck-color-resizer);\n}\n\n.ck .ck-widget__resizer__handle {\n\twidth: var(--ck-resizer-size);\n\theight: var(--ck-resizer-size);\n\tbackground: var(--ck-color-focus-border);\n\tborder: var(--ck-resizer-border-width) solid hsl(0, 0%, 100%);\n\tborder-radius: var(--ck-resizer-border-radius);\n\n\t&.ck-widget__resizer__handle-top-left {\n\t\ttop: var(--ck-resizer-offset);\n\t\tleft: var(--ck-resizer-offset);\n\t}\n\n\t&.ck-widget__resizer__handle-top-right {\n\t\ttop: var(--ck-resizer-offset);\n\t\tright: var(--ck-resizer-offset);\n\t}\n\n\t&.ck-widget__resizer__handle-bottom-right {\n\t\tbottom: var(--ck-resizer-offset);\n\t\tright: var(--ck-resizer-offset);\n\t}\n\n\t&.ck-widget__resizer__handle-bottom-left {\n\t\tbottom: var(--ck-resizer-offset);\n\t\tleft: var(--ck-resizer-offset);\n\t}\n}\n"],sourceRoot:""}]);const c=a},2347:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(4015);var o=n.n(i);var r=n(3645);var s=n.n(r);var a=s()(o());a.push([t.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}}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-widget/theme/widgettypearound.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-widget/widgettypearound.css"],names:[],mappings:"AASC,+CACC,aAAc,CAEd,eAAgB,CADhB,iBAAkB,CAElB,2BAwBD,CAtBC,mDAGC,QAAS,CAFT,iBAAkB,CAClB,OAAQ,CAER,qCACD,CAEA,qFAGC,kBAAoB,CADpB,gDAAoD,CAGpD,0BACD,CAEA,oFAEC,mDAAuD,CACvD,mBAAqB,CAErB,yBACD,CAUA,mLACC,UAAW,CACX,aAAc,CAGd,QAAS,CAFT,iBAAkB,CAClB,OAAQ,CAER,qCACD,CAMD,2EACC,YAAa,CAEb,MAAO,CADP,iBAAkB,CAElB,OACD,CAOA,iFACC,gDAAqD,CACrD,iDACD,CAKA,wHAEC,aAAc,CADd,qDAED,CAKA,uHACC,wDAA6D,CAC7D,aACD,CAoBD,mOACC,YACD,CC3GA,MACC,wCAAyC,CACzC,wEAAyE,CACzE,8EAA+E,CAC/E,2FAA4F,CAC5F,wDAAyD,CACzD,uDAAwD,CACxD,yEACD,CAgBC,+CAGC,oDAAqD,CACrD,mBAAoB,CAFpB,+CAAgD,CAVjD,SAAU,CACV,mBAAoB,CAYnB,uMAAyM,CAJzM,8CAkDD,CA1CC,mDAEC,UAAW,CAGX,cAAe,CAFf,8BAA+B,CAC/B,6BAA8B,CAH9B,UAoBD,CAdC,qDACC,mBAAoB,CACpB,mBAAoB,CAEpB,SAAU,CACV,qDAAsD,CACtD,kBAAmB,CACnB,oBAAqB,CACrB,qBACD,CAEA,wDACC,kBACD,CAGD,qDAIC,6DAcD,CARE,kEACC,oDACD,CAEA,8DACC,wDACD,CAUF,uKAvED,SAAU,CACV,mBAwEC,CAOD,gGACC,0DACD,CAOA,uKAEC,2DAQD,CANC,mLAIC,uEAAkF,CADlF,mBAAoB,CADpB,2DAA4D,CAD5D,0DAID,CAOD,8GACC,gBACD,CAKA,mDAGC,mFAAoF,CAOpF,oCAAqC,CARrC,UAAW,CAOX,oCAAwC,CARxC,mBAUD,CAOC,6JAEC,yBACD,CAUA,yKACC,iDACD,CAMA,uOAlJD,SAAU,CACV,mBAmJC,CAoBA,6yBACC,SACD,CASF,uHACC,aAAc,CACd,iBACD,CAYG,iRAlMF,SAAU,CACV,mBAmME,CAQH,kIACC,qEAKD,CAHC,wIACC,WACD,CAGD,4CACC,GACC,oBACD,CACA,OACC,mBACD,CACD,CAEA,gDACC,OACC,mBACD,CACA,OACC,mBACD,CACD,CAEA,8CACC,GACC,6HACD,CACA,IACC,6HACD,CACA,GACC,+HACD,CACD,CAEA,kDACC,GACC,SACD,CACA,IACC,SACD,CACA,IACC,SACD,CACA,IACC,SACD,CACA,GACC,SACD,CACD",sourcesContent:['/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck .ck-widget {\n\t/*\n\t * Styles of the type around buttons\n\t */\n\t& .ck-widget__type-around__button {\n\t\tdisplay: block;\n\t\tposition: absolute;\n\t\toverflow: hidden;\n\t\tz-index: var(--ck-z-default);\n\n\t\t& svg {\n\t\t\tposition: absolute;\n\t\t\ttop: 50%;\n\t\t\tleft: 50%;\n\t\t\tz-index: calc(var(--ck-z-default) + 2);\n\t\t}\n\n\t\t&.ck-widget__type-around__button_before {\n\t\t\t/* Place it in the middle of the outline */\n\t\t\ttop: calc(-0.5 * var(--ck-widget-outline-thickness));\n\t\t\tleft: min(10%, 30px);\n\n\t\t\ttransform: translateY(-50%);\n\t\t}\n\n\t\t&.ck-widget__type-around__button_after {\n\t\t\t/* Place it in the middle of the outline */\n\t\t\tbottom: calc(-0.5 * var(--ck-widget-outline-thickness));\n\t\t\tright: min(10%, 30px);\n\n\t\t\ttransform: translateY(50%);\n\t\t}\n\t}\n\n\t/*\n\t * Styles for the buttons when:\n\t * - the widget is selected,\n\t * - or the button is being hovered (regardless of the widget state).\n\t */\n\t&.ck-widget_selected > .ck-widget__type-around > .ck-widget__type-around__button,\n\t& > .ck-widget__type-around > .ck-widget__type-around__button:hover {\n\t\t&::after {\n\t\t\tcontent: "";\n\t\t\tdisplay: block;\n\t\t\tposition: absolute;\n\t\t\ttop: 1px;\n\t\t\tleft: 1px;\n\t\t\tz-index: calc(var(--ck-z-default) + 1);\n\t\t}\n\t}\n\n\t/*\n\t * Styles for the horizontal "fake caret" which is displayed when the user navigates using the keyboard.\n\t */\n\t& > .ck-widget__type-around > .ck-widget__type-around__fake-caret {\n\t\tdisplay: none;\n\t\tposition: absolute;\n\t\tleft: 0;\n\t\tright: 0;\n\t}\n\n\t/*\n\t * When the widget is hovered the "fake caret" would normally be narrower than the\n\t * extra outline displayed around the widget. Let\'s extend the "fake caret" to match\n\t * the full width of the widget.\n\t */\n\t&:hover > .ck-widget__type-around > .ck-widget__type-around__fake-caret {\n\t\tleft: calc( -1 * var(--ck-widget-outline-thickness) );\n\t\tright: calc( -1 * var(--ck-widget-outline-thickness) );\n\t}\n\n\t/*\n\t * Styles for the horizontal "fake caret" when it should be displayed before the widget (backward keyboard navigation).\n\t */\n\t&.ck-widget_type-around_show-fake-caret_before > .ck-widget__type-around > .ck-widget__type-around__fake-caret {\n\t\ttop: calc( -1 * var(--ck-widget-outline-thickness) - 1px );\n\t\tdisplay: block;\n\t}\n\n\t/*\n\t * Styles for the horizontal "fake caret" when it should be displayed after the widget (forward keyboard navigation).\n\t */\n\t&.ck-widget_type-around_show-fake-caret_after > .ck-widget__type-around > .ck-widget__type-around__fake-caret {\n\t\tbottom: calc( -1 * var(--ck-widget-outline-thickness) - 1px );\n\t\tdisplay: block;\n\t}\n}\n\n/*\n * Integration with the read-only mode of the editor.\n */\n.ck.ck-editor__editable.ck-read-only .ck-widget__type-around {\n\tdisplay: none;\n}\n\n/*\n * Integration with the restricted editing mode (feature) of the editor.\n */\n.ck.ck-editor__editable.ck-restricted-editing_mode_restricted .ck-widget__type-around {\n\tdisplay: none;\n}\n\n/*\n * Integration with the #isEnabled property of the WidgetTypeAround plugin.\n */\n.ck.ck-editor__editable.ck-widget__type-around_disabled .ck-widget__type-around {\n\tdisplay: none;\n}\n','/*\n * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n:root {\n\t--ck-widget-type-around-button-size: 20px;\n\t--ck-color-widget-type-around-button-active: var(--ck-color-focus-border);\n\t--ck-color-widget-type-around-button-hover: var(--ck-color-widget-hover-border);\n\t--ck-color-widget-type-around-button-blurred-editable: var(--ck-color-widget-blurred-border);\n\t--ck-color-widget-type-around-button-radar-start-alpha: 0;\n\t--ck-color-widget-type-around-button-radar-end-alpha: .3;\n\t--ck-color-widget-type-around-button-icon: var(--ck-color-base-background);\n}\n\n@define-mixin ck-widget-type-around-button-visible {\n\topacity: 1;\n\tpointer-events: auto;\n}\n\n@define-mixin ck-widget-type-around-button-hidden {\n\topacity: 0;\n\tpointer-events: none;\n}\n\n.ck .ck-widget {\n\t/*\n\t * Styles of the type around buttons\n\t */\n\t& .ck-widget__type-around__button {\n\t\twidth: var(--ck-widget-type-around-button-size);\n\t\theight: var(--ck-widget-type-around-button-size);\n\t\tbackground: var(--ck-color-widget-type-around-button);\n\t\tborder-radius: 100px;\n\t\ttransition: opacity var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve), background var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);\n\n\t\t@mixin ck-widget-type-around-button-hidden;\n\n\t\t& svg {\n\t\t\twidth: 10px;\n\t\t\theight: 8px;\n\t\t\ttransform: translate(-50%,-50%);\n\t\t\ttransition: transform .5s ease;\n\t\t\tmargin-top: 1px;\n\n\t\t\t& * {\n\t\t\t\tstroke-dasharray: 10;\n\t\t\t\tstroke-dashoffset: 0;\n\n\t\t\t\tfill: none;\n\t\t\t\tstroke: var(--ck-color-widget-type-around-button-icon);\n\t\t\t\tstroke-width: 1.5px;\n\t\t\t\tstroke-linecap: round;\n\t\t\t\tstroke-linejoin: round;\n\t\t\t}\n\n\t\t\t& line {\n\t\t\t\tstroke-dasharray: 7;\n\t\t\t}\n\t\t}\n\n\t\t&:hover {\n\t\t\t/*\n\t\t\t * Display the "sonar" around the button when hovered.\n\t\t\t */\n\t\t\tanimation: ck-widget-type-around-button-sonar 1s ease infinite;\n\n\t\t\t/*\n\t\t\t * Animate active button\'s icon.\n\t\t\t */\n\t\t\t& svg {\n\t\t\t\t& polyline {\n\t\t\t\t\tanimation: ck-widget-type-around-arrow-dash 2s linear;\n\t\t\t\t}\n\n\t\t\t\t& line {\n\t\t\t\t\tanimation: ck-widget-type-around-arrow-tip-dash 2s linear;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/*\n\t * Show type around buttons when the widget gets selected or being hovered.\n\t */\n\t&.ck-widget_selected,\n\t&:hover {\n\t\t& > .ck-widget__type-around > .ck-widget__type-around__button {\n\t\t\t@mixin ck-widget-type-around-button-visible;\n\t\t}\n\t}\n\n\t/*\n\t * Styles for the buttons when the widget is NOT selected (but the buttons are visible\n\t * and still can be hovered).\n\t */\n\t&:not(.ck-widget_selected) > .ck-widget__type-around > .ck-widget__type-around__button {\n\t\tbackground: var(--ck-color-widget-type-around-button-hover);\n\t}\n\n\t/*\n\t * Styles for the buttons when:\n\t * - the widget is selected,\n\t * - or the button is being hovered (regardless of the widget state).\n\t */\n\t&.ck-widget_selected > .ck-widget__type-around > .ck-widget__type-around__button,\n\t& > .ck-widget__type-around > .ck-widget__type-around__button:hover {\n\t\tbackground: var(--ck-color-widget-type-around-button-active);\n\n\t\t&::after {\n\t\t\twidth: calc(var(--ck-widget-type-around-button-size) - 2px);\n\t\t\theight: calc(var(--ck-widget-type-around-button-size) - 2px);\n\t\t\tborder-radius: 100px;\n\t\t\tbackground: linear-gradient(135deg, hsla(0,0%,100%,0) 0%, hsla(0,0%,100%,.3) 100%);\n\t\t}\n\t}\n\n\t/*\n\t * Styles for the "before" button when the widget has a selection handle. Because some space\n\t * is consumed by the handle, the button must be moved slightly to the right to let it breathe.\n\t */\n\t&.ck-widget_with-selection-handle > .ck-widget__type-around > .ck-widget__type-around__button_before {\n\t\tmargin-left: 20px;\n\t}\n\n\t/*\n\t * Styles for the horizontal "fake caret" which is displayed when the user navigates using the keyboard.\n\t */\n\t& .ck-widget__type-around__fake-caret {\n\t\tpointer-events: none;\n\t\theight: 1px;\n\t\tanimation: ck-widget-type-around-fake-caret-pulse linear 1s infinite normal forwards;\n\n\t\t/*\n\t\t * The semi-transparent-outline+background combo improves the contrast\n\t\t * when the background underneath the fake caret is dark.\n\t\t */\n\t\toutline: solid 1px hsla(0, 0%, 100%, .5);\n\t\tbackground: var(--ck-color-base-text);\n\t}\n\n\t/*\n\t * Styles of the widget when the "fake caret" is blinking (e.g. upon keyboard navigation).\n\t * Despite the widget being physically selected in the model, its outline should disappear.\n\t */\n\t&.ck-widget_selected {\n\t\t&.ck-widget_type-around_show-fake-caret_before,\n\t\t&.ck-widget_type-around_show-fake-caret_after {\n\t\t\toutline-color: transparent;\n\t\t}\n\t}\n\n\t&.ck-widget_type-around_show-fake-caret_before,\n\t&.ck-widget_type-around_show-fake-caret_after {\n\t\t/*\n\t\t * When the "fake caret" is visible we simulate that the widget is not selected\n\t\t * (despite being physically selected), so the outline color should be for the\n\t\t * unselected widget.\n\t\t */\n\t\t&.ck-widget_selected:hover {\n\t\t\toutline-color: var(--ck-color-widget-hover-border);\n\t\t}\n\n\t\t/*\n\t\t * Styles of the type around buttons when the "fake caret" is blinking (e.g. upon keyboard navigation).\n\t\t * In this state, the type around buttons would collide with the fake carets so they should disappear.\n\t\t */\n\t\t& > .ck-widget__type-around > .ck-widget__type-around__button {\n\t\t\t@mixin ck-widget-type-around-button-hidden;\n\t\t}\n\n\t\t/*\n\t\t * Fake horizontal caret integration with the selection handle. When the caret is visible, simply\n\t\t * hide the handle because it intersects with the caret (and does not make much sense anyway).\n\t\t */\n\t\t&.ck-widget_with-selection-handle {\n\t\t\t&.ck-widget_selected,\n\t\t\t&.ck-widget_selected:hover {\n\t\t\t\t& > .ck-widget__selection-handle {\n\t\t\t\t\topacity: 0\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t/*\n\t\t * Fake horizontal caret integration with the resize UI. When the caret is visible, simply\n\t\t * hide the resize UI because it creates too much noise. It can be visible when the user\n\t\t * hovers the widget, though.\n\t\t */\n\t\t&.ck-widget_selected.ck-widget_with-resizer > .ck-widget__resizer {\n\t\t\topacity: 0\n\t\t}\n\t}\n}\n\n/*\n * Styles for the "before" button when the widget has a selection handle in an RTL environment.\n * The selection handler is aligned to the right side of the widget so there is no need to create\n * additional space for it next to the "before" button.\n */\n.ck[dir="rtl"] .ck-widget.ck-widget_with-selection-handle .ck-widget__type-around > .ck-widget__type-around__button_before {\n\tmargin-left: 0;\n\tmargin-right: 20px;\n}\n\n/*\n * Hide type around buttons when the widget is selected as a child of a selected\n * nested editable (e.g. mulit-cell table selection).\n *\n * See https://github.com/ckeditor/ckeditor5/issues/7263.\n */\n.ck-editor__nested-editable.ck-editor__editable_selected {\n\t& .ck-widget {\n\t\t&.ck-widget_selected,\n\t\t&:hover {\n\t\t\t& > .ck-widget__type-around > .ck-widget__type-around__button {\n\t\t\t\t@mixin ck-widget-type-around-button-hidden;\n\t\t\t}\n\t\t}\n\t}\n}\n\n/*\n * Styles for the buttons when the widget is selected but the user clicked outside of the editor (blurred the editor).\n */\n.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected > .ck-widget__type-around > .ck-widget__type-around__button:not(:hover) {\n\tbackground: var(--ck-color-widget-type-around-button-blurred-editable);\n\n\t& svg * {\n\t\tstroke: hsl(0,0%,60%);\n\t}\n}\n\n@keyframes ck-widget-type-around-arrow-dash {\n\t0% {\n\t\tstroke-dashoffset: 10;\n\t}\n\t20%, 100% {\n\t\tstroke-dashoffset: 0;\n\t}\n}\n\n@keyframes ck-widget-type-around-arrow-tip-dash {\n\t0%, 20% {\n\t\tstroke-dashoffset: 7;\n\t}\n\t40%, 100% {\n\t\tstroke-dashoffset: 0;\n\t}\n}\n\n@keyframes ck-widget-type-around-button-sonar {\n\t0% {\n\t\tbox-shadow: 0 0 0 0 hsla(var(--ck-color-focus-border-coordinates), var(--ck-color-widget-type-around-button-radar-start-alpha));\n\t}\n\t50% {\n\t\tbox-shadow: 0 0 0 5px hsla(var(--ck-color-focus-border-coordinates), var(--ck-color-widget-type-around-button-radar-end-alpha));\n\t}\n\t100% {\n\t\tbox-shadow: 0 0 0 5px hsla(var(--ck-color-focus-border-coordinates), var(--ck-color-widget-type-around-button-radar-start-alpha));\n\t}\n}\n\n@keyframes ck-widget-type-around-fake-caret-pulse {\n\t0% {\n\t\topacity: 1;\n\t}\n\t49% {\n\t\topacity: 1;\n\t}\n\t50% {\n\t\topacity: 0;\n\t}\n\t99% {\n\t\topacity: 0;\n\t}\n\t100% {\n\t\topacity: 1;\n\t}\n}\n'],sourceRoot:""}]);const c=a},3645:t=>{"use strict";t.exports=function(t){var e=[];e.toString=function e(){return this.map((function(e){var n=t(e);if(e[2]){return"@media ".concat(e[2]," {").concat(n,"}")}return n})).join("")};e.i=function(t,n,i){if(typeof t==="string"){t=[[null,t,""]]}var o={};if(i){for(var r=0;r{"use strict";function e(t,e){return s(t)||r(t,e)||i(t,e)||n()}function n(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function i(t,e){if(!t)return;if(typeof t==="string")return o(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor)n=t.constructor.name;if(n==="Map"||n==="Set")return Array.from(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return o(t,e)}function o(t,e){if(e==null||e>t.length)e=t.length;for(var n=0,i=new Array(e);n{"use strict";var i=function t(){var e;return function t(){if(typeof e==="undefined"){e=Boolean(window&&document&&document.all&&!window.atob)}return e}}();var o=function t(){var e={};return function t(n){if(typeof e[n]==="undefined"){var i=document.querySelector(n);if(window.HTMLIFrameElement&&i instanceof window.HTMLIFrameElement){try{i=i.contentDocument.head}catch(t){i=null}}e[n]=i}return e[n]}}();var r=[];function s(t){var e=-1;for(var n=0;n{n.n=t=>{var e=t&&t.__esModule?()=>t["default"]:()=>t;n.d(e,{a:e});return e}})();(()=>{n.d=(t,e)=>{for(var i in e){if(n.o(e,i)&&!n.o(t,i)){Object.defineProperty(t,i,{enumerable:true,get:e[i]})}}}})();(()=>{n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e)})();(()=>{n.nc=undefined})();var i={};(()=>{"use strict";n.d(i,{default:()=>sY});function t({emitter:t,activator:e,callback:n,contextElements:i}){t.listenTo(document,"mousedown",((t,o)=>{if(!e()){return}const r=typeof o.composedPath=="function"?o.composedPath():[];const s=typeof i=="function"?i():i;for(const t of s){if(t.contains(o.target)||r.includes(t)){return}}n()}))}function e(t){class e extends t{disableCssTransitions(){this._isCssTransitionsDisabled=true}enableCssTransitions(){this._isCssTransitionsDisabled=false}constructor(...t){super(...t);this.set("_isCssTransitionsDisabled",false);this.initializeCssTransitionDisablerMixin()}initializeCssTransitionDisablerMixin(){this.extendTemplate({attributes:{class:[this.bindTemplate.if("_isCssTransitionsDisabled","ck-transitions-disabled")]}})}}return e}function o({view:t}){t.listenTo(t.element,"submit",((e,n)=>{n.preventDefault();t.fire("submit")}),{useCapture:true})}function r({keystrokeHandler:t,focusTracker:e,gridItems:n,numberOfColumns:i,uiLanguageDirection:o}){const r=typeof i==="number"?()=>i:i;t.set("arrowright",s(((t,e)=>o==="rtl"?c(t,e.length):a(t,e.length))));t.set("arrowleft",s(((t,e)=>o==="rtl"?a(t,e.length):c(t,e.length))));t.set("arrowup",s(((t,e)=>{let n=t-r();if(n<0){n=t+r()*Math.floor(e.length/r());if(n>e.length-1){n-=r()}}return n})));t.set("arrowdown",s(((t,e)=>{let n=t+r();if(n>e.length-1){n=t%r()}return n})));function s(t){return i=>{const o=n.find((t=>t.element===e.focusedElement));const r=n.getIndex(o);const s=t(r,n);n.get(s).focus();i.stopPropagation();i.preventDefault()}}function a(t,e){if(t===e-1){return 0}else{return t+1}}function c(t,e){if(t===0){return e-1}else{return t-1}}}function s(){try{return navigator.userAgent.toLowerCase()}catch(t){return""}}const a=s();const c={isMac:d(a),isWindows:u(a),isGecko:h(a),isSafari:g(a),isiOS:f(a),isAndroid:m(a),isBlink:p(a),features:{isRegExpUnicodePropertySupported:b()}};const l=c;function d(t){return t.indexOf("macintosh")>-1}function u(t){return t.indexOf("windows")>-1}function h(t){return!!t.match(/gecko\/\d+/)}function g(t){return t.indexOf(" applewebkit/")>-1&&t.indexOf("chrome")===-1}function f(t){return!!t.match(/iphone|ipad/i)||d(t)&&navigator.maxTouchPoints>0}function m(t){return t.indexOf("android")>-1}function p(t){return t.indexOf("chrome/")>-1&&t.indexOf("edge/")<0}function b(){let t=false;try{t="ć".search(new RegExp("[\\p{L}]","u"))===0}catch(t){}return t}function k(t,e,n,i){n=n||function(t,e){return t===e};const o=Array.isArray(t)?t:Array.prototype.slice.call(t);const r=Array.isArray(e)?e:Array.prototype.slice.call(e);const s=w(o,r,n);const a=i?v(s,r.length):_(r,s);return a}function w(t,e,n){const i=A(t,e,n);if(i===-1){return{firstIndex:-1,lastIndexOld:-1,lastIndexNew:-1}}const o=C(t,i);const r=C(e,i);const s=A(o,r,n);const a=t.length-s;const c=e.length-s;return{firstIndex:i,lastIndexOld:a,lastIndexNew:c}}function A(t,e,n){for(let i=0;i0){n.push({index:i,type:"insert",values:t.slice(i,r)})}if(o-i>0){n.push({index:i+(r-i),type:"delete",howMany:o-i})}return n}function v(t,e){const{firstIndex:n,lastIndexOld:i,lastIndexNew:o}=t;if(n===-1){return Array(e).fill("equal")}let r=[];if(n>0){r=r.concat(Array(n).fill("equal"))}if(o-n>0){r=r.concat(Array(o-n).fill("insert"))}if(i-n>0){r=r.concat(Array(i-n).fill("delete"))}if(o200||o>200||i+o>300){return y.fastDiff(t,e,n,true)}let r,s;if(ol?-1:1;if(d[i+h]){d[i]=d[i+h].slice(0)}if(!d[i]){d[i]=[]}d[i].push(o>l?r:s);let g=Math.max(o,l);let f=g-i;while(fl;f--){u[f]=h(f)}u[l]=h(l);g++}while(u[l]!==c);return d[l].slice(1)}y.fastDiff=k;function x(){return function t(){t.called=true}}const E=x;class D{constructor(t,e){this.source=t;this.name=e;this.path=[];this.stop=E();this.off=E()}}const T=new Array(256).fill("").map(((t,e)=>("0"+e.toString(16)).slice(-2)));function I(){const t=Math.random()*4294967296>>>0;const e=Math.random()*4294967296>>>0;const n=Math.random()*4294967296>>>0;const i=Math.random()*4294967296>>>0;return"e"+T[t>>0&255]+T[t>>8&255]+T[t>>16&255]+T[t>>24&255]+T[e>>0&255]+T[e>>8&255]+T[e>>16&255]+T[e>>24&255]+T[n>>0&255]+T[n>>8&255]+T[n>>16&255]+T[n>>24&255]+T[i>>0&255]+T[i>>8&255]+T[i>>16&255]+T[i>>24&255]}const S={get(t="normal"){if(typeof t!="number"){return this[t]||this.normal}else{return t}},highest:1e5,high:1e3,normal:0,low:-1e3,lowest:-1e5};const B=S;function M(t,e){const n=B.get(e.priority);for(let i=0;i{if(typeof e==="object"&&e!==null){if(n.has(e)){return`[object ${e.constructor.name}]`}n.add(e)}return e};const o=e?` ${JSON.stringify(e,i)}`:"";const r=V(t);return t+o+r}function O(t,e){const n=V(t);return e?[t,e,n]:[t,n]}const F="41.0.0";const j=null&&F;const H=new Date(2024,0,17);if(globalThis.CKEDITOR_VERSION){throw new P("ckeditor-duplicated-modules",null)}else{globalThis.CKEDITOR_VERSION=F}const U=Symbol("listeningTo");const W=Symbol("emitterId");const G=Symbol("delegations");const q=Z(Object);function Z(t){if(!t){return q}class e extends t{on(t,e,n){this.listenTo(this,t,e,n)}once(t,e,n){let i=false;const o=(t,...n)=>{if(!i){i=true;t.off();e.call(this,t,...n)}};this.listenTo(this,t,o,n)}off(t,e){this.stopListening(this,t,e)}listenTo(t,e,n,i={}){let o,r;if(!this[U]){this[U]={}}const s=this[U];if(!Y(t)){K(t)}const a=Y(t);if(!(o=s[a])){o=s[a]={emitter:t,callbacks:{}}}if(!(r=o.callbacks[e])){r=o.callbacks[e]=[]}r.push(n);it(this,t,e,n,i)}stopListening(t,e,n){const i=this[U];let o=t&&Y(t);const r=i&&o?i[o]:undefined;const s=r&&e?r.callbacks[e]:undefined;if(!i||t&&!r||e&&!s){return}if(n){ot(this,t,e,n);const i=s.indexOf(n);if(i!==-1){if(s.length===1){delete r.callbacks[e]}else{ot(this,t,e,n)}}}else if(s){while(n=s.pop()){ot(this,t,e,n)}delete r.callbacks[e]}else if(r){for(e in r.callbacks){this.stopListening(t,e)}delete i[o]}else{for(o in i){this.stopListening(i[o].emitter)}delete this[U]}}fire(t,...e){try{const n=t instanceof D?t:new D(this,t);const i=n.name;let o=et(this,i);n.path.push(this);if(o){const t=[n,...e];o=Array.from(o);for(let e=0;e{if(!this[G]){this[G]=new Map}t.forEach((t=>{const i=this[G].get(t);if(!i){this[G].set(t,new Map([[e,n]]))}else{i.set(e,n)}}))}}}stopDelegating(t,e){if(!this[G]){return}if(!t){this[G].clear()}else if(!e){this[G].delete(t)}else{const n=this[G].get(t);if(n){n.delete(e)}}}_addEventListener(t,e,n){X(this,t);const i=tt(this,t);const o=B.get(n.priority);const r={callback:e,priority:o};for(const t of i){M(t,r)}}_removeEventListener(t,e){const n=tt(this,t);for(const t of n){for(let n=0;n{Z[t]=q.prototype[t]}));function $(t,e){const n=t[U];if(n&&n[e]){return n[e].emitter}return null}function K(t,e){if(!t[W]){t[W]=e||I()}}function Y(t){return t[W]}function Q(t){if(!t._events){Object.defineProperty(t,"_events",{value:{}})}return t._events}function J(){return{callbacks:[],childEvents:[]}}function X(t,e){const n=Q(t);if(n[e]){return}let i=e;let o=null;const r=[];while(i!==""){if(n[i]){break}n[i]=J();r.push(n[i]);if(o){n[i].childEvents.push(o)}o=i;i=i.substr(0,i.lastIndexOf(":"))}if(i!==""){for(const t of r){t.callbacks=n[i].callbacks.slice()}n[i].childEvents.push(o)}}function tt(t,e){const n=Q(t)[e];if(!n){return[]}let i=[n.callbacks];for(let e=0;e-1){return et(t,e.substr(0,e.lastIndexOf(":")))}else{return null}}return n.callbacks}function nt(t,e,n){for(let[i,o]of t){if(!o){o=e.name}else if(typeof o=="function"){o=o(e.name)}const t=new D(e.source,o);t.path=[...e.path];i.fire(t,...n)}}function it(t,e,n,i,o){if(e._addEventListener){e._addEventListener(n,i,o)}else{t._addEventListener.call(e,n,i,o)}}function ot(t,e,n,i){if(e._removeEventListener){e._removeEventListener(n,i)}else{t._removeEventListener.call(e,n,i)}}function rt(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}const st=rt;const at=Symbol("observableProperties");const ct=Symbol("boundObservables");const lt=Symbol("boundProperties");const dt=Symbol("decoratedMethods");const ut=Symbol("decoratedOriginal");const ht=gt(Z());function gt(t){if(!t){return ht}class e extends t{set(t,e){if(st(t)){Object.keys(t).forEach((e=>{this.set(e,t[e])}),this);return}ft(this);const n=this[at];if(t in this&&!n.has(t)){throw new P("observable-set-cannot-override",this)}Object.defineProperty(this,t,{enumerable:true,configurable:true,get(){return n.get(t)},set(e){const i=n.get(t);let o=this.fire(`set:${t}`,t,e,i);if(o===undefined){o=e}if(i!==o||!n.has(t)){n.set(t,o);this.fire(`change:${t}`,t,o,i)}}});this[t]=e}bind(...t){if(!t.length||!kt(t)){throw new P("observable-bind-wrong-properties",this)}if(new Set(t).size!==t.length){throw new P("observable-bind-duplicate-properties",this)}ft(this);const e=this[lt];t.forEach((t=>{if(e.has(t)){throw new P("observable-bind-rebind",this)}}));const n=new Map;t.forEach((t=>{const i={property:t,to:[]};e.set(t,i);n.set(t,i)}));return{to:mt,toMany:pt,_observable:this,_bindProperties:t,_to:[],_bindings:n}}unbind(...t){if(!this[at]){return}const e=this[lt];const n=this[ct];if(t.length){if(!kt(t)){throw new P("observable-unbind-wrong-properties",this)}t.forEach((t=>{const i=e.get(t);if(!i){return}i.to.forEach((([t,e])=>{const o=n.get(t);const r=o[e];r.delete(i);if(!r.size){delete o[e]}if(!Object.keys(o).length){n.delete(t);this.stopListening(t,"change")}}));e.delete(t)}))}else{n.forEach(((t,e)=>{this.stopListening(e,"change")}));n.clear();e.clear()}}decorate(t){ft(this);const e=this[t];if(!e){throw new P("observablemixin-cannot-decorate-undefined",this,{object:this,methodName:t})}this.on(t,((t,n)=>{t.return=e.apply(this,n)}));this[t]=function(...e){return this.fire(t,e)};this[t][ut]=e;if(!this[dt]){this[dt]=[]}this[dt].push(t)}stopListening(t,e,n){if(!t&&this[dt]){for(const t of this[dt]){this[t]=this[t][ut]}delete this[dt]}super.stopListening(t,e,n)}}return e}["set","bind","unbind","decorate","on","once","off","listenTo","stopListening","fire","delegate","stopDelegating","_addEventListener","_removeEventListener"].forEach((t=>{gt[t]=ht.prototype[t]}));function ft(t){if(t[at]){return}Object.defineProperty(t,at,{value:new Map});Object.defineProperty(t,ct,{value:new Map});Object.defineProperty(t,lt,{value:new Map})}function mt(...t){const e=wt(...t);const n=Array.from(this._bindings.keys());const i=n.length;if(!e.callback&&e.to.length>1){throw new P("observable-bind-to-no-callback",this)}if(i>1&&e.callback){throw new P("observable-bind-to-extra-callback",this)}e.to.forEach((t=>{if(t.properties.length&&t.properties.length!==i){throw new P("observable-bind-to-properties-length",this)}if(!t.properties.length){t.properties=this._bindProperties}}));this._to=e.to;if(e.callback){this._bindings.get(n[0]).callback=e.callback}vt(this._observable,this._to);Ct(this);this._bindProperties.forEach((t=>{_t(this._observable,t)}))}function pt(t,e,n){if(this._bindings.size>1){throw new P("observable-bind-to-many-not-one-binding",this)}this.to(...bt(t,e),n)}function bt(t,e){const n=t.map((t=>[t,e]));return Array.prototype.concat.apply([],n)}function kt(t){return t.every((t=>typeof t=="string"))}function wt(...t){if(!t.length){throw new P("observable-bind-to-parse-error",null)}const e={to:[]};let n;if(typeof t[t.length-1]=="function"){e.callback=t.pop()}t.forEach((t=>{if(typeof t=="string"){n.properties.push(t)}else if(typeof t=="object"){n={observable:t,properties:[]};e.to.push(n)}else{throw new P("observable-bind-to-parse-error",null)}}));return e}function At(t,e,n,i){const o=t[ct];const r=o.get(n);const s=r||{};if(!s[i]){s[i]=new Set}s[i].add(e);if(!r){o.set(n,s)}}function Ct(t){let e;t._bindings.forEach(((n,i)=>{t._to.forEach((o=>{e=o.properties[n.callback?0:t._bindProperties.indexOf(i)];n.to.push([o.observable,e]);At(t._observable,n,o.observable,e)}))}))}function _t(t,e){const n=t[lt];const i=n.get(e);let o;if(i.callback){o=i.callback.apply(t,i.to.map((t=>t[0][t[1]])))}else{o=i.to[0];o=o[0][o[1]]}if(Object.prototype.hasOwnProperty.call(t,e)){t[e]=o}else{t.set(e,o)}}function vt(t,e){e.forEach((e=>{const n=t[ct];let i;if(!n.get(e.observable)){t.listenTo(e.observable,"change",((o,r)=>{i=n.get(e.observable)[r];if(i){i.forEach((e=>{_t(t,e.property)}))}}))}}))}class yt{constructor(){this._replacedElements=[]}replace(t,e){this._replacedElements.push({element:t,newElement:e});t.style.display="none";if(e){t.parentNode.insertBefore(e,t.nextSibling)}}restore(){this._replacedElements.forEach((({element:t,newElement:e})=>{t.style.display="";if(e){e.remove()}}));this._replacedElements=[]}}function xt(t){let e=0;for(const n of t){e++}return e}function Et(t,e){const n=Math.min(t.length,e.length);for(let i=0;i-1}const Ie=Te;function Se(t,e){var n=this.__data__,i=Ce(n,t);if(i<0){++this.size;n.push([t,e])}else{n[i][1]=e}return this}const Be=Se;function Me(t){var e=-1,n=t==null?0:t.length;this.clear();while(++e-1&&t%1==0&&t-1&&t%1==0&&t<=ji}const Ui=Hi;var Wi="[object Arguments]",Gi="[object Array]",qi="[object Boolean]",Zi="[object Date]",$i="[object Error]",Ki="[object Function]",Yi="[object Map]",Qi="[object Number]",Ji="[object Object]",Xi="[object RegExp]",to="[object Set]",eo="[object String]",no="[object WeakMap]";var io="[object ArrayBuffer]",oo="[object DataView]",ro="[object Float32Array]",so="[object Float64Array]",ao="[object Int8Array]",co="[object Int16Array]",lo="[object Int32Array]",uo="[object Uint8Array]",ho="[object Uint8ClampedArray]",go="[object Uint16Array]",fo="[object Uint32Array]";var mo={};mo[ro]=mo[so]=mo[ao]=mo[co]=mo[lo]=mo[uo]=mo[ho]=mo[go]=mo[fo]=true;mo[Wi]=mo[Gi]=mo[io]=mo[qi]=mo[oo]=mo[Zi]=mo[$i]=mo[Ki]=mo[Yi]=mo[Qi]=mo[Ji]=mo[Xi]=mo[to]=mo[eo]=mo[no]=false;function po(t){return Xt(t)&&Ui(t.length)&&!!mo[Kt(t)]}const bo=po;function ko(t){return function(e){return t(e)}}const wo=ko;var Ao=typeof exports=="object"&&exports&&!exports.nodeType&&exports;var Co=Ao&&typeof module=="object"&&module&&!module.nodeType&&module;var _o=Co&&Co.exports===Ao;var vo=_o&&It.process;var yo=function(){try{var t=Co&&Co.require&&Co.require("util").types;if(t){return t}return vo&&vo.binding&&vo.binding("util")}catch(t){}}();const xo=yo;var Eo=xo&&xo.isTypedArray;var Do=Eo?wo(Eo):bo;const To=Do;var Io=Object.prototype;var So=Io.hasOwnProperty;function Bo(t,e){var n=Qt(t),i=!n&&Di(t),o=!n&&!i&&zi(t),r=!n&&!i&&!o&&To(t),s=n||i||o||r,a=s?wi(t.length,String):[],c=a.length;for(var l in t){if((e||So.call(t,l))&&!(s&&(l=="length"||o&&(l=="offset"||l=="parent")||r&&(l=="buffer"||l=="byteLength"||l=="byteOffset")||Fi(l,c)))){a.push(l)}}return a}const Mo=Bo;var No=Object.prototype;function Po(t){var e=t&&t.constructor,n=typeof e=="function"&&e.prototype||No;return t===n}const Lo=Po;var zo=re(Object.keys,Object);const Vo=zo;var Ro=Object.prototype;var Oo=Ro.hasOwnProperty;function Fo(t){if(!Lo(t)){return Vo(t)}var e=[];for(var n in Object(t)){if(Oo.call(t,n)&&n!="constructor"){e.push(n)}}return e}const jo=Fo;function Ho(t){return t!=null&&Ui(t.length)&&!Ze(t)}const Uo=Ho;function Wo(t){return Uo(t)?Mo(t):jo(t)}const Go=Wo;function qo(t,e){return t&&bi(e,Go(e),t)}const Zo=qo;function $o(t){var e=[];if(t!=null){for(var n in Object(t)){e.push(n)}}return e}const Ko=$o;var Yo=Object.prototype;var Qo=Yo.hasOwnProperty;function Jo(t){if(!st(t)){return Ko(t)}var e=Lo(t),n=[];for(var i in t){if(!(i=="constructor"&&(e||!Qo.call(t,i)))){n.push(i)}}return n}const Xo=Jo;function tr(t){return Uo(t)?Mo(t,true):Xo(t)}const er=tr;function nr(t,e){return t&&bi(e,er(e),t)}const ir=nr;var or=typeof exports=="object"&&exports&&!exports.nodeType&&exports;var rr=or&&typeof module=="object"&&module&&!module.nodeType&&module;var sr=rr&&rr.exports===or;var ar=sr?Mt.Buffer:undefined,cr=ar?ar.allocUnsafe:undefined;function lr(t,e){if(e){return t.slice()}var n=t.length,i=cr?cr(n):new t.constructor(n);t.copy(i);return i}const dr=lr;function ur(t,e){var n=-1,i=t.length;e||(e=Array(i));while(++n{this._setToTarget(t,i,e[i],n)}))}}function qa(t){return Ha(t,Za)}function Za(t){return Wa(t)||typeof t==="function"?t:undefined}function $a(t){if(t){if(t.defaultView){return t instanceof t.defaultView.Document}else if(t.ownerDocument&&t.ownerDocument.defaultView){return t instanceof t.ownerDocument.defaultView.Node}}return false}function Ka(t){const e=Object.prototype.toString.apply(t);if(e=="[object Window]"){return true}if(e=="[object global]"){return true}return false}const Ya=Qa(Z());function Qa(t){if(!t){return Ya}class e extends t{listenTo(t,e,n,i={}){if($a(t)||Ka(t)){const o={capture:!!i.useCapture,passive:!!i.usePassive};const r=this._getProxyEmitter(t,o)||new Ja(t,o);this.listenTo(r,e,n,i)}else{super.listenTo(t,e,n,i)}}stopListening(t,e,n){if($a(t)||Ka(t)){const i=this._getAllProxyEmitters(t);for(const t of i){this.stopListening(t,e,n)}}else{super.stopListening(t,e,n)}}_getProxyEmitter(t,e){return $(this,tc(t,e))}_getAllProxyEmitters(t){return[{capture:false,passive:false},{capture:false,passive:true},{capture:true,passive:false},{capture:true,passive:true}].map((e=>this._getProxyEmitter(t,e))).filter((t=>!!t))}}return e}["_getProxyEmitter","_getAllProxyEmitters","on","once","off","listenTo","stopListening","fire","delegate","stopDelegating","_addEventListener","_removeEventListener"].forEach((t=>{Qa[t]=Ya.prototype[t]}));class Ja extends(Z()){constructor(t,e){super();K(this,tc(t,e));this._domNode=t;this._options=e}attach(t){if(this._domListeners&&this._domListeners[t]){return}const e=this._createDomListener(t);this._domNode.addEventListener(t,e,this._options);if(!this._domListeners){this._domListeners={}}this._domListeners[t]=e}detach(t){let e;if(this._domListeners[t]&&(!(e=this._events[t])||!e.callbacks.length)){this._domListeners[t].removeListener()}}_addEventListener(t,e,n){this.attach(t);Z().prototype._addEventListener.call(this,t,e,n)}_removeEventListener(t,e){Z().prototype._removeEventListener.call(this,t,e);this.detach(t)}_createDomListener(t){const e=e=>{this.fire(t,e)};e.removeListener=()=>{this._domNode.removeEventListener(t,e,this._options);delete this._domListeners[t]};return e}}function Xa(t){return t["data-ck-expando"]||(t["data-ck-expando"]=I())}function tc(t,e){let n=Xa(t);for(const t of Object.keys(e).sort()){if(e[t]){n+="-"+t}}return n}let ec;try{ec={window,document}}catch(t){ec={window:{},document:{}}}const nc=ec;function ic(t){let e=t.parentElement;if(!e){return null}while(e.tagName!="BODY"){const t=e.style.overflowY||global.window.getComputedStyle(e).overflowY;if(t==="auto"||t==="scroll"){break}e=e.parentElement;if(!e){return null}}return e}function oc(t){const e=[];let n=t;while(n&&n.nodeType!=Node.DOCUMENT_NODE){e.unshift(n);n=n.parentNode}return e}function rc(t){if(t instanceof HTMLTextAreaElement){return t.value}return t.innerHTML}function sc(t){return Object.prototype.toString.call(t)=="[object Text]"}function ac(t){return Object.prototype.toString.apply(t)=="[object Range]"}function cc(t){const e=t.ownerDocument.defaultView.getComputedStyle(t);return{top:parseInt(e.borderTopWidth,10),right:parseInt(e.borderRightWidth,10),bottom:parseInt(e.borderBottomWidth,10),left:parseInt(e.borderLeftWidth,10)}}function lc(t){if(!t||!t.parentNode){return null}if(t.offsetParent===nc.document.body){return null}return t.offsetParent}const dc=["top","right","bottom","left","width","height"];class uc{constructor(t){const e=ac(t);Object.defineProperty(this,"_source",{value:t._source||t,writable:true,enumerable:false});if(fc(t)||e){if(e){const e=uc.getDomRangeRects(t);hc(this,uc.getBoundingRect(e))}else{hc(this,t.getBoundingClientRect())}}else if(Ka(t)){const{innerWidth:e,innerHeight:n}=t;hc(this,{top:0,right:e,bottom:n,left:0,width:e,height:n})}else{hc(this,t)}}clone(){return new uc(this)}moveTo(t,e){this.top=e;this.right=t+this.width;this.bottom=e+this.height;this.left=t;return this}moveBy(t,e){this.top+=e;this.right+=t;this.left+=t;this.bottom+=e;return this}getIntersection(t){const e={top:Math.max(this.top,t.top),right:Math.min(this.right,t.right),bottom:Math.min(this.bottom,t.bottom),left:Math.max(this.left,t.left),width:0,height:0};e.width=e.right-e.left;e.height=e.bottom-e.top;if(e.width<0||e.height<0){return null}else{const t=new uc(e);t._source=this._source;return t}}getIntersectionArea(t){const e=this.getIntersection(t);if(e){return e.getArea()}else{return 0}}getArea(){return this.width*this.height}getVisible(){const t=this._source;let e=this.clone();if(gc(t)){return e}let n=t;let i=t.parentNode||t.commonAncestorContainer;let o;while(i&&!gc(i)){const t=pc(i)==="visible";if(n instanceof HTMLElement&&mc(n)==="absolute"){o=n}const r=mc(i);if(t||o&&(r==="relative"&&t||r!=="relative")){n=i;i=i.parentNode;continue}const s=new uc(i);const a=e.getIntersection(s);if(a){if(a.getArea(){for(const e of t){const t=kc._getElementCallbacks(e.target);if(t){for(const n of t){n(e)}}}}))}}kc._observerInstance=null;kc._elementCallbacks=null;const wc=kc;function Ac(t,e){if(t instanceof HTMLTextAreaElement){t.value=e}t.innerHTML=e}function Cc(t){return e=>e+t}function _c(t){let e=0;while(t.previousSibling){t=t.previousSibling;e++}return e}function vc(t,e,n){t.insertBefore(n,t.childNodes[e]||null)}function yc(t){return t&&t.nodeType===Node.COMMENT_NODE}function xc(t){try{nc.document.createAttribute(t)}catch(t){return false}return true}function Ec(t){return!!(t&&t.getClientRects&&t.getClientRects().length)}function Dc({element:t,target:e,positions:n,limiter:i,fitInViewport:o,viewportOffsetConfig:r}){if(Ze(e)){e=e()}if(Ze(i)){i=i()}const s=lc(t);const a=Ic(r);const c=new uc(t);const l=Tc(e,a);let d;if(!l||!a.getIntersection(l)){return null}const u={targetRect:l,elementRect:c,positionedElementAncestor:s,viewportRect:a};if(!i&&!o){d=new Bc(n[0],u)}else{if(i){const t=Tc(i,a);if(t){u.limiterRect=t}}d=Sc(n,u)}return d}function Tc(t,e){const n=new uc(t).getVisible();if(!n){return null}return n.getIntersection(e)}function Ic(t){t=Object.assign({top:0,bottom:0,left:0,right:0},t);const e=new uc(nc.window);e.top+=t.top;e.height-=t.top;e.bottom-=t.bottom;e.height-=t.bottom;return e}function Sc(t,e){const{elementRect:n}=e;const i=n.getArea();const o=t.map((t=>new Bc(t,e))).filter((t=>!!t.name));let r=0;let s=null;for(const t of o){const{limiterIntersectionArea:e,viewportIntersectionArea:n}=t;if(e===i){return t}const o=n**2+e**2;if(o>r){r=o;s=t}}return s}class Bc{constructor(t,e){const n=t(e.targetRect,e.elementRect,e.viewportRect,e.limiterRect);if(!n){return}const{left:i,top:o,name:r,config:s}=n;this.name=r;this.config=s;this._positioningFunctionCoordinates={left:i,top:o};this._options=e}get left(){return this._absoluteRect.left}get top(){return this._absoluteRect.top}get limiterIntersectionArea(){const t=this._options.limiterRect;if(t){return t.getIntersectionArea(this._rect)}return 0}get viewportIntersectionArea(){const t=this._options.viewportRect;return t.getIntersectionArea(this._rect)}get _rect(){if(this._cachedRect){return this._cachedRect}this._cachedRect=this._options.elementRect.clone().moveTo(this._positioningFunctionCoordinates.left,this._positioningFunctionCoordinates.top);return this._cachedRect}get _absoluteRect(){if(this._cachedAbsoluteRect){return this._cachedAbsoluteRect}this._cachedAbsoluteRect=this._rect.toAbsoluteRect();return this._cachedAbsoluteRect}}function Mc(t){const e=t.parentNode;if(e){e.removeChild(t)}}function Nc({target:t,viewportOffset:e=0,ancestorOffset:n=0,alignToTop:i,forceScroll:o}){const r=jc(t);let s=r;let a=null;e=Wc(e);while(s){let c;if(s==r){c=Hc(t)}else{c=Hc(a)}zc({parent:c,getRect:()=>Uc(t,s),alignToTop:i,ancestorOffset:n,forceScroll:o});const l=Uc(t,s);Lc({window:s,rect:l,viewportOffset:e,alignToTop:i,forceScroll:o});if(s.parent!=s){a=s.frameElement;s=s.parent;if(!a){return}}else{s=null}}}function Pc(t,e,n){const i=Hc(t);zc({parent:i,getRect:()=>new Rect(t),ancestorOffset:e,limiterElement:n})}function Lc({window:t,rect:e,alignToTop:n,forceScroll:i,viewportOffset:o}){const r=e.clone().moveBy(0,o.bottom);const s=e.clone().moveBy(0,-o.top);const a=new uc(t).excludeScrollbarsAndBorders();const c=[s,r];const l=n&&i;const d=c.every((t=>a.contains(t)));let{scrollX:u,scrollY:h}=t;const g=u;const f=h;if(l){h-=a.top-e.top+o.top}else if(!d){if(Rc(s,a)){h-=a.top-e.top+o.top}else if(Vc(r,a)){if(n){h+=e.top-a.top-o.top}else{h+=e.bottom-a.bottom+o.bottom}}}if(!d){if(Oc(e,a)){u-=a.left-e.left+o.left}else if(Fc(e,a)){u+=e.right-a.right+o.right}}if(u!=g||h!==f){t.scrollTo(u,h)}}function zc({parent:t,getRect:e,alignToTop:n,forceScroll:i,ancestorOffset:o=0,limiterElement:r}){const s=jc(t);const a=n&&i;let c,l,d;const u=r||s.document.body;while(t!=u){l=e();c=new uc(t).excludeScrollbarsAndBorders();d=c.contains(l);if(a){t.scrollTop-=c.top-l.top+o}else if(!d){if(Rc(l,c)){t.scrollTop-=c.top-l.top+o}else if(Vc(l,c)){if(n){t.scrollTop+=l.top-c.top-o}else{t.scrollTop+=l.bottom-c.bottom+o}}}if(!d){if(Oc(l,c)){t.scrollLeft-=c.left-l.left+o}else if(Fc(l,c)){t.scrollLeft+=l.right-c.right+o}}t=t.parentNode}}function Vc(t,e){return t.bottom>e.bottom}function Rc(t,e){return t.tope.right}function jc(t){if(ac(t)){return t.startContainer.ownerDocument.defaultView}else{return t.ownerDocument.defaultView}}function Hc(t){if(ac(t)){let e=t.commonAncestorContainer;if(sc(e)){e=e.parentNode}return e}else{return t.parentNode}}function Uc(t,e){const n=jc(t);const i=new uc(t);if(n===e){return i}else{let t=n;while(t!=e){const e=t.frameElement;const n=new uc(e).excludeScrollbarsAndBorders();i.moveBy(n.left,n.top);t=t.parent}}return i}function Wc(t){if(typeof t==="number"){return{top:t,bottom:t,left:t,right:t}}return t}const Gc={ctrl:"⌃",cmd:"⌘",alt:"⌥",shift:"⇧"};const qc={ctrl:"Ctrl+",alt:"Alt+",shift:"Shift+"};const Zc=nl();const $c=Object.fromEntries(Object.entries(Zc).map((([t,e])=>[e,t.charAt(0).toUpperCase()+t.slice(1)])));function Kc(t){let e;if(typeof t=="string"){e=Zc[t.toLowerCase()];if(!e){throw new P("keyboard-unknown-key",null,{key:t})}}else{e=t.keyCode+(t.altKey?Zc.alt:0)+(t.ctrlKey?Zc.ctrl:0)+(t.shiftKey?Zc.shift:0)+(t.metaKey?Zc.cmd:0)}return e}function Yc(t){if(typeof t=="string"){t=il(t)}return t.map((t=>typeof t=="string"?tl(t):t)).reduce(((t,e)=>e+t),0)}function Qc(t){let e=Yc(t);const n=Object.entries(l.isMac||l.isiOS?Gc:qc);const i=n.reduce(((t,[n,i])=>{if((e&Zc[n])!=0){e&=~Zc[n];t+=i}return t}),"");return i+(e?$c[e]:"")}function Jc(t){return t==Zc.arrowright||t==Zc.arrowleft||t==Zc.arrowup||t==Zc.arrowdown}function Xc(t,e){const n=e==="ltr";switch(t){case Zc.arrowleft:return n?"left":"right";case Zc.arrowright:return n?"right":"left";case Zc.arrowup:return"up";case Zc.arrowdown:return"down"}}function tl(t){if(t.endsWith("!")){return Kc(t.slice(0,-1))}const e=Kc(t);return(l.isMac||l.isiOS)&&e==Zc.ctrl?Zc.cmd:e}function el(t,e){const n=Xc(t,e);return n==="down"||n==="right"}function nl(){const t={arrowleft:37,arrowup:38,arrowright:39,arrowdown:40,backspace:8,delete:46,enter:13,space:32,esc:27,tab:9,ctrl:1114112,shift:2228224,alt:4456448,cmd:8912896};for(let e=65;e<=90;e++){const n=String.fromCharCode(e);t[n.toLowerCase()]=e}for(let e=48;e<=57;e++){t[e-48]=e}for(let e=112;e<=123;e++){t["f"+(e-111)]=e}for(const e of"`-=[];',./\\"){t[e]=e.charCodeAt(0)}return t}function il(t){return t.split("+").map((t=>t.trim()))}function ol(t){return Array.isArray(t)?t:[t]}if(!nc.window.CKEDITOR_TRANSLATIONS){nc.window.CKEDITOR_TRANSLATIONS={}}function rl(t,e,n){if(!global.window.CKEDITOR_TRANSLATIONS[t]){global.window.CKEDITOR_TRANSLATIONS[t]={}}const i=global.window.CKEDITOR_TRANSLATIONS[t];i.dictionary=i.dictionary||{};i.getPluralForm=n||i.getPluralForm;Object.assign(i.dictionary,e)}function sl(t,e,n=1){if(typeof n!=="number"){throw new P("translation-service-quantity-not-a-number",null,{quantity:n})}const i=ll();if(i===1){t=Object.keys(nc.window.CKEDITOR_TRANSLATIONS)[0]}const o=e.id||e.string;if(i===0||!cl(t,o)){if(n!==1){return e.plural}return e.string}const r=nc.window.CKEDITOR_TRANSLATIONS[t].dictionary;const s=nc.window.CKEDITOR_TRANSLATIONS[t].getPluralForm||(t=>t===1?0:1);const a=r[o];if(typeof a==="string"){return a}const c=Number(s(n));return a[c]}function al(){global.window.CKEDITOR_TRANSLATIONS={}}function cl(t,e){return!!nc.window.CKEDITOR_TRANSLATIONS[t]&&!!nc.window.CKEDITOR_TRANSLATIONS[t].dictionary[e]}function ll(){return Object.keys(nc.window.CKEDITOR_TRANSLATIONS).length}const dl=["ar","ara","fa","per","fas","he","heb","ku","kur","ug","uig"];function ul(t){return dl.includes(t)?"rtl":"ltr"}class hl{constructor({uiLanguage:t="en",contentLanguage:e}={}){this.uiLanguage=t;this.contentLanguage=e||this.uiLanguage;this.uiLanguageDirection=ul(this.uiLanguage);this.contentLanguageDirection=ul(this.contentLanguage);this.t=(t,e)=>this._t(t,e)}get language(){console.warn("locale-deprecated-language-property: "+"The Locale#language property has been deprecated and will be removed in the near future. "+"Please use #uiLanguage and #contentLanguage properties instead.");return this.uiLanguage}_t(t,e=[]){e=ol(e);if(typeof t==="string"){t={string:t}}const n=!!t.plural;const i=n?e[0]:1;const o=sl(this.uiLanguage,t,i);return gl(o,e)}}function gl(t,e){return t.replace(/%(\d+)/g,((t,n)=>nthis._items.length||e<0){throw new P("collection-add-item-invalid-index",this)}let n=0;for(const i of t){const t=this._getItemIdBeforeAdding(i);const o=e+n;this._items.splice(o,0,i);this._itemMap.set(t,i);this.fire("add",i,o);n++}this.fire("change",{added:t,removed:[],index:e});return this}get(t){let e;if(typeof t=="string"){e=this._itemMap.get(t)}else if(typeof t=="number"){e=this._items[t]}else{throw new P("collection-get-invalid-arg",this)}return e||null}has(t){if(typeof t=="string"){return this._itemMap.has(t)}else{const e=this._idProperty;const n=t[e];return n&&this._itemMap.has(n)}}getIndex(t){let e;if(typeof t=="string"){e=this._itemMap.get(t)}else{e=t}return e?this._items.indexOf(e):-1}remove(t){const[e,n]=this._remove(t);this.fire("change",{added:[],removed:[e],index:n});return e}map(t,e){return this._items.map(t,e)}forEach(t,e){this._items.forEach(t,e)}find(t,e){return this._items.find(t,e)}filter(t,e){return this._items.filter(t,e)}clear(){if(this._bindToCollection){this.stopListening(this._bindToCollection);this._bindToCollection=null}const t=Array.from(this._items);while(this.length){this._remove(0)}this.fire("change",{added:[],removed:t,index:0})}bindTo(t){if(this._bindToCollection){throw new P("collection-bind-to-rebind",this)}this._bindToCollection=t;return{as:t=>{this._setUpBindToBinding((e=>new t(e)))},using:t=>{if(typeof t=="function"){this._setUpBindToBinding(t)}else{this._setUpBindToBinding((e=>e[t]))}}}}_setUpBindToBinding(t){const e=this._bindToCollection;const n=(n,i,o)=>{const r=e._bindToCollection==this;const s=e._bindToInternalToExternalMap.get(i);if(r&&s){this._bindToExternalToInternalMap.set(i,s);this._bindToInternalToExternalMap.set(s,i)}else{const n=t(i);if(!n){this._skippedIndexesFromExternal.push(o);return}let r=o;for(const t of this._skippedIndexesFromExternal){if(o>t){r--}}for(const t of e._skippedIndexesFromExternal){if(r>=t){r++}}this._bindToExternalToInternalMap.set(i,n);this._bindToInternalToExternalMap.set(n,i);this.add(n,r);for(let t=0;t{const i=this._bindToExternalToInternalMap.get(e);if(i){this.remove(i)}this._skippedIndexesFromExternal=this._skippedIndexesFromExternal.reduce(((t,e)=>{if(ne){t.push(e)}return t}),[])}))}_getItemIdBeforeAdding(t){const e=this._idProperty;let n;if(e in t){n=t[e];if(typeof n!="string"){throw new P("collection-add-invalid-id",this)}if(this.get(n)){throw new P("collection-add-item-already-exists",this)}}else{t[e]=n=I()}return n}_remove(t){let e,n,i;let o=false;const r=this._idProperty;if(typeof t=="string"){n=t;i=this._itemMap.get(n);o=!i;if(i){e=this._items.indexOf(i)}}else if(typeof t=="number"){e=t;i=this._items[e];o=!i;if(i){n=i[r]}}else{i=t;n=i[r];e=this._items.indexOf(i);o=e==-1||!this._itemMap.get(n)}if(o){throw new P("collection-remove-404",this)}this._items.splice(e,1);this._itemMap.delete(n);const s=this._bindToInternalToExternalMap.get(i);this._bindToInternalToExternalMap.delete(i);this._bindToExternalToInternalMap.delete(s);this.fire("remove",i,e);return[i,e]}[Symbol.iterator](){return this._items[Symbol.iterator]()}}function ml(t){const e=t.next();if(e.done){return null}return e.value}class pl extends(Qa(gt())){constructor(){super();this._elements=new Set;this._nextEventLoopTimeout=null;this.set("isFocused",false);this.set("focusedElement",null)}add(t){if(this._elements.has(t)){throw new P("focustracker-add-element-already-exist",this)}this.listenTo(t,"focus",(()=>this._focus(t)),{useCapture:true});this.listenTo(t,"blur",(()=>this._blur()),{useCapture:true});this._elements.add(t)}remove(t){if(t===this.focusedElement){this._blur()}if(this._elements.has(t)){this.stopListening(t);this._elements.delete(t)}}destroy(){this.stopListening()}_focus(t){clearTimeout(this._nextEventLoopTimeout);this.focusedElement=t;this.isFocused=true}_blur(){clearTimeout(this._nextEventLoopTimeout);this._nextEventLoopTimeout=setTimeout((()=>{this.focusedElement=null;this.isFocused=false}),0)}}class bl{constructor(){this._listener=new(Qa())}listenTo(t){this._listener.listenTo(t,"keydown",((t,e)=>{this._listener.fire("_keydown:"+Kc(e),e)}))}set(t,e,n={}){const i=Yc(t);const o=n.priority;this._listener.listenTo(this._listener,"_keydown:"+i,((t,n)=>{e(n,(()=>{n.preventDefault();n.stopPropagation();t.stop()}));t.return=true}),{priority:o})}press(t){return!!this._listener.fire("_keydown:"+Kc(t),t)}stopListening(t){this._listener.stopListening(t)}destroy(){this.stopListening()}}function kl(t){const e=new Map;for(const n in t){e.set(n,t[n])}return e}function wl(t){if(Dt(t)){return new Map(t)}else{return kl(t)}}const Al=1e4;function Cl(t,e,n,i){if(Math.max(e.length,t.length)>Al){return t.slice(0,n).concat(e).concat(t.slice(n+i,t.length))}else{const o=Array.from(t);o.splice(n,i,...e);return o}}function _l(t,e){let n;function i(...o){i.cancel();n=setTimeout((()=>t(...o)),e)}i.cancel=()=>{clearTimeout(n)};return i}function vl(t){function e(t){if(t.length>=40&&t.length<=255){return"VALID"}else{return"INVALID"}}if(!t){return"INVALID"}let n="";try{n=atob(t)}catch(t){return"INVALID"}const i=n.split("-");const o=i[0];const r=i[1];if(!r){return e(t)}try{atob(r)}catch(n){try{atob(o);if(!atob(o).length){return e(t)}}catch(n){return e(t)}}if(o.length<40||o.length>255){return"INVALID"}let s="";try{atob(o);s=atob(r)}catch(t){return"INVALID"}if(s.length!==8){return"INVALID"}const a=Number(s.substring(0,4));const c=Number(s.substring(4,6))-1;const l=Number(s.substring(6,8));const d=new Date(a,c,l);if(dt.indext.source)).join("|")+")";const i=`${e}|${n}(?:‍${n})*`;return new RegExp(i,"ug")}class Ml extends fl{constructor(t=[]){super(t,{idProperty:"viewUid"});this.on("add",((t,e,n)=>{this._renderViewIntoCollectionParent(e,n)}));this.on("remove",((t,e)=>{if(e.element&&this._parentElement){e.element.remove()}}));this._parentElement=null}destroy(){this.map((t=>t.destroy()))}setParent(t){this._parentElement=t;for(const t of this){this._renderViewIntoCollectionParent(t)}}delegate(...t){if(!t.length||!Nl(t)){throw new P("ui-viewcollection-delegate-wrong-events",this)}return{to:e=>{for(const n of this){for(const i of t){n.delegate(i).to(e)}}this.on("add",((n,i)=>{for(const n of t){i.delegate(n).to(e)}}));this.on("remove",((n,i)=>{for(const n of t){i.stopDelegating(n,e)}}))}}}_renderViewIntoCollectionParent(t,e){if(!t.isRendered){t.render()}if(t.element&&this._parentElement){this._parentElement.insertBefore(t.element,this._parentElement.children[e])}}remove(t){return super.remove(t)}}function Nl(t){return t.every((t=>typeof t=="string"))}var Pl=n(3379);var Ll=n.n(Pl);var zl=n(5167);var Vl={injectType:"singletonStyleTag",attributes:{"data-cke":true}};Vl.insert="head";Vl.singleton=true;var Rl=Ll()(zl.Z,Vl);const Ol=zl.Z.locals||{};class Fl extends(Qa(gt())){constructor(t){super();this.element=null;this.isRendered=false;this.locale=t;this.t=t&&t.t;this._viewCollections=new fl;this._unboundChildren=this.createCollection();this._viewCollections.on("add",((e,n)=>{n.locale=t;n.t=t&&t.t}));this.decorate("render")}get bindTemplate(){if(this._bindTemplate){return this._bindTemplate}return this._bindTemplate=Hl.bind(this,this)}createCollection(t){const e=new Ml(t);this._viewCollections.add(e);return e}registerChild(t){if(!Dt(t)){t=[t]}for(const e of t){this._unboundChildren.add(e)}}deregisterChild(t){if(!Dt(t)){t=[t]}for(const e of t){this._unboundChildren.remove(e)}}setTemplate(t){this.template=new Hl(t)}extendTemplate(t){Hl.extend(this.template,t)}render(){if(this.isRendered){throw new P("ui-view-render-already-rendered",this)}if(this.template){this.element=this.template.render();this.registerChild(this.template.getViews())}this.isRendered=true}destroy(){this.stopListening();this._viewCollections.map((t=>t.destroy()));if(this.template&&this.template._revertData){this.template.revert(this.element)}}}const jl="http://www.w3.org/1999/xhtml";class Hl extends(Z()){constructor(t){super();Object.assign(this,Xl(Jl(t)));this._isRendered=false;this._revertData=null}render(){const t=this._renderNode({intoFragment:true});this._isRendered=true;return t}apply(t){this._revertData=gd();this._renderNode({node:t,intoFragment:false,isApplying:true,revertData:this._revertData});return t}revert(t){if(!this._revertData){throw new P("ui-template-revert-not-applied",[this,t])}this._revertTemplateFromNode(t,this._revertData)}*getViews(){function*t(e){if(e.children){for(const n of e.children){if(ld(n)){yield n}else if(dd(n)){yield*t(n)}}}}yield*t(this)}static bind(t,e){return{to(n,i){return new Wl({eventNameOrFunction:n,attribute:n,observable:t,emitter:e,callback:i})},if(n,i,o){return new Gl({observable:t,emitter:e,attribute:n,valueIfTrue:i,callback:o})}}}static extend(t,e){if(t._isRendered){throw new P("template-extend-render",[this,t])}ad(t,Xl(Jl(e)))}_renderNode(t){let e;if(t.node){e=this.tag&&this.text}else{e=this.tag?this.text:!this.text}if(e){throw new P("ui-template-wrong-syntax",this)}if(this.text){return this._renderText(t)}else{return this._renderElement(t)}}_renderElement(t){let e=t.node;if(!e){e=t.node=document.createElementNS(this.ns||jl,this.tag)}this._renderAttributes(t);this._renderElementChildren(t);this._setUpListeners(t);return e}_renderText(t){let e=t.node;if(e){t.revertData.text=e.textContent}else{e=t.node=document.createTextNode("")}if(ql(this.text)){this._bindToObservable({schema:this.text,updater:Kl(e),data:t})}else{e.textContent=this.text.join("")}return e}_renderAttributes(t){if(!this.attributes){return}const e=t.node;const n=t.revertData;for(const i in this.attributes){const o=e.getAttribute(i);const r=this.attributes[i];if(n){n.attributes[i]=o}const s=hd(r)?r[0].ns:null;if(ql(r)){const a=hd(r)?r[0].value:r;if(n&&fd(i)){a.unshift(o)}this._bindToObservable({schema:a,updater:Yl(e,i,s),data:t})}else if(i=="style"&&typeof r[0]!=="string"){this._renderStyleAttribute(r[0],t)}else{if(n&&o&&fd(i)){r.unshift(o)}const t=r.map((t=>t?t.value||t:t)).reduce(((t,e)=>t.concat(e)),[]).reduce(rd,"");if(!cd(t)){e.setAttributeNS(s,i,t)}}}}_renderStyleAttribute(t,e){const n=e.node;for(const i in t){const o=t[i];if(ql(o)){this._bindToObservable({schema:[o],updater:Ql(n,i),data:e})}else{n.style[i]=o}}}_renderElementChildren(t){const e=t.node;const n=t.intoFragment?document.createDocumentFragment():e;const i=t.isApplying;let o=0;for(const r of this.children){if(ud(r)){if(!i){r.setParent(e);for(const t of r){n.appendChild(t.element)}}}else if(ld(r)){if(!i){if(!r.isRendered){r.render()}n.appendChild(r.element)}}else if($a(r)){n.appendChild(r)}else{if(i){const e=t.revertData;const i=gd();e.children.push(i);r._renderNode({intoFragment:false,node:n.childNodes[o++],isApplying:true,revertData:i})}else{n.appendChild(r.render())}}}if(t.intoFragment){e.appendChild(n)}}_setUpListeners(t){if(!this.eventListeners){return}for(const e in this.eventListeners){const n=this.eventListeners[e].map((n=>{const[i,o]=e.split("@");return n.activateDomEventListener(i,o,t)}));if(t.revertData){t.revertData.bindings.push(n)}}}_bindToObservable({schema:t,updater:e,data:n}){const i=n.revertData;$l(t,e,n);const o=t.filter((t=>!cd(t))).filter((t=>t.observable)).map((i=>i.activateAttributeListener(t,e,n)));if(i){i.bindings.push(o)}}_revertTemplateFromNode(t,e){for(const t of e.bindings){for(const e of t){e()}}if(e.text){t.textContent=e.text;return}const n=t;for(const t in e.attributes){const i=e.attributes[t];if(i===null){n.removeAttribute(t)}else{n.setAttribute(t,i)}}for(let t=0;t$l(t,e,n);this.emitter.listenTo(this.observable,`change:${this.attribute}`,i);return()=>{this.emitter.stopListening(this.observable,`change:${this.attribute}`,i)}}}class Wl extends Ul{constructor(t){super(t);this.eventNameOrFunction=t.eventNameOrFunction}activateDomEventListener(t,e,n){const i=(t,n)=>{if(!e||n.target.matches(e)){if(typeof this.eventNameOrFunction=="function"){this.eventNameOrFunction(n)}else{this.observable.fire(this.eventNameOrFunction,n)}}};this.emitter.listenTo(n.node,t,i);return()=>{this.emitter.stopListening(n.node,t,i)}}}class Gl extends Ul{constructor(t){super(t);this.valueIfTrue=t.valueIfTrue}getValue(t){const e=super.getValue(t);return cd(e)?false:this.valueIfTrue||true}}function ql(t){if(!t){return false}if(t.value){t=t.value}if(Array.isArray(t)){return t.some(ql)}else if(t instanceof Ul){return true}return false}function Zl(t,e){return t.map((t=>{if(t instanceof Ul){return t.getValue(e)}return t}))}function $l(t,e,{node:n}){const i=Zl(t,n);let o;if(t.length==1&&t[0]instanceof Gl){o=i[0]}else{o=i.reduce(rd,"")}if(cd(o)){e.remove()}else{e.set(o)}}function Kl(t){return{set(e){t.textContent=e},remove(){t.textContent=""}}}function Yl(t,e,n){return{set(i){t.setAttributeNS(n,e,i)},remove(){t.removeAttributeNS(n,e)}}}function Ql(t,e){return{set(n){t.style[e]=n},remove(){t.style[e]=null}}}function Jl(t){const e=Ha(t,(t=>{if(t&&(t instanceof Ul||dd(t)||ld(t)||ud(t))){return t}}));return e}function Xl(t){if(typeof t=="string"){t=nd(t)}else if(t.text){id(t)}if(t.on){t.eventListeners=ed(t.on);delete t.on}if(!t.text){if(t.attributes){td(t.attributes)}const e=[];if(t.children){if(ud(t.children)){e.push(t.children)}else{for(const n of t.children){if(dd(n)||ld(n)||$a(n)){e.push(n)}else{e.push(new Hl(n))}}}}t.children=e}return t}function td(t){for(const e in t){if(t[e].value){t[e].value=ol(t[e].value)}od(t,e)}}function ed(t){for(const e in t){od(t,e)}return t}function nd(t){return{text:[t]}}function id(t){t.text=ol(t.text)}function od(t,e){t[e]=ol(t[e])}function rd(t,e){if(cd(e)){return t}else if(cd(t)){return e}else{return`${t} ${e}`}}function sd(t,e){for(const n in e){if(t[n]){t[n].push(...e[n])}else{t[n]=e[n]}}}function ad(t,e){if(e.attributes){if(!t.attributes){t.attributes={}}sd(t.attributes,e.attributes)}if(e.eventListeners){if(!t.eventListeners){t.eventListeners={}}sd(t.eventListeners,e.eventListeners)}if(e.text){t.text.push(...e.text)}if(e.children&&e.children.length){if(t.children.length!=e.children.length){throw new P("ui-template-extend-children-mismatch",t)}let n=0;for(const i of e.children){ad(t.children[n++],i)}}}function cd(t){return!t&&t!==0}function ld(t){return t instanceof Fl}function dd(t){return t instanceof Hl}function ud(t){return t instanceof Ml}function hd(t){return st(t[0])&&t[0].ns}function gd(){return{children:[],bindings:[],attributes:{}}}function fd(t){return t=="class"||t=="style"}class md extends Ml{constructor(t,e=[]){super(e);this.locale=t}get bodyCollectionContainer(){return this._bodyCollectionContainer}attachToDom(){this._bodyCollectionContainer=new Hl({tag:"div",attributes:{class:["ck","ck-reset_all","ck-body","ck-rounded-corners"],dir:this.locale.uiLanguageDirection},children:this}).render();let t=document.querySelector(".ck-body-wrapper");if(!t){t=ie(document,"div",{class:"ck-body-wrapper"});document.body.appendChild(t)}t.appendChild(this._bodyCollectionContainer)}detachFromDom(){super.destroy();if(this._bodyCollectionContainer){this._bodyCollectionContainer.remove()}const t=document.querySelector(".ck-body-wrapper");if(t&&t.childElementCount==0){t.remove()}}}var pd=n(1977);var bd={injectType:"singletonStyleTag",attributes:{"data-cke":true}};bd.insert="head";bd.singleton=true;var kd=Ll()(pd.Z,bd);const wd=pd.Z.locals||{};class Ad extends Fl{constructor(){super();const t=this.bindTemplate;this.set("content","");this.set("viewBox","0 0 20 20");this.set("fillColor","");this.set("isColorInherited",true);this.set("isVisible",true);this.setTemplate({tag:"svg",ns:"http://www.w3.org/2000/svg",attributes:{class:["ck","ck-icon",t.if("isVisible","ck-hidden",(t=>!t)),"ck-reset_all-excluded",t.if("isColorInherited","ck-icon_inherit-color")],viewBox:t.to("viewBox")}})}render(){super.render();this._updateXMLContent();this._colorFillPaths();this.on("change:content",(()=>{this._updateXMLContent();this._colorFillPaths()}));this.on("change:fillColor",(()=>{this._colorFillPaths()}))}_updateXMLContent(){if(this.content){const t=(new DOMParser).parseFromString(this.content.trim(),"image/svg+xml");const e=t.querySelector("svg");const n=e.getAttribute("viewBox");if(n){this.viewBox=n}for(const{name:t,value:n}of Array.from(e.attributes)){if(Ad.presentationalAttributeNames.includes(t)){this.element.setAttribute(t,n)}}while(this.element.firstChild){this.element.removeChild(this.element.firstChild)}while(e.childNodes.length>0){this.element.appendChild(e.childNodes[0])}}}_colorFillPaths(){if(this.fillColor){this.element.querySelectorAll(".ck-icon__fill").forEach((t=>{t.style.fill=this.fillColor}))}}}Ad.presentationalAttributeNames=["alignment-baseline","baseline-shift","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-rendering","cursor","direction","display","dominant-baseline","fill","fill-opacity","fill-rule","filter","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","image-rendering","letter-spacing","lighting-color","marker-end","marker-mid","marker-start","mask","opacity","overflow","paint-order","pointer-events","shape-rendering","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","text-anchor","text-decoration","text-overflow","text-rendering","transform","unicode-bidi","vector-effect","visibility","white-space","word-spacing","writing-mode"];const Cd=Ad;class _d extends Fl{constructor(){super();this.set({style:undefined,text:undefined,id:undefined});const t=this.bindTemplate;this.setTemplate({tag:"span",attributes:{class:["ck","ck-button__label"],style:t.to("style"),id:t.to("id")},children:[{text:t.to("text")}]})}}var vd=n(4971);var yd={injectType:"singletonStyleTag",attributes:{"data-cke":true}};yd.insert="head";yd.singleton=true;var xd=Ll()(vd.Z,yd);const Ed=vd.Z.locals||{};class Dd extends Fl{constructor(t,e=new _d){super(t);this._focusDelayed=null;const n=this.bindTemplate;const i=I();this.set("ariaLabel",undefined);this.set("ariaLabelledBy",`ck-editor__aria-label_${i}`);this.set("class",undefined);this.set("labelStyle",undefined);this.set("icon",undefined);this.set("isEnabled",true);this.set("isOn",false);this.set("isVisible",true);this.set("isToggleable",false);this.set("keystroke",undefined);this.set("label",undefined);this.set("role",undefined);this.set("tabindex",-1);this.set("tooltip",false);this.set("tooltipPosition","s");this.set("type","button");this.set("withText",false);this.set("withKeystroke",false);this.children=this.createCollection();this.labelView=this._setupLabelView(e);this.iconView=new Cd;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",n.to("class"),n.if("isEnabled","ck-disabled",(t=>!t)),n.if("isVisible","ck-hidden",(t=>!t)),n.to("isOn",(t=>t?"ck-on":"ck-off")),n.if("withText","ck-button_with-text"),n.if("withKeystroke","ck-button_with-keystroke")],role:n.to("role"),type:n.to("type",(t=>t?t:"button")),tabindex:n.to("tabindex"),"aria-label":n.to("ariaLabel"),"aria-labelledby":n.to("ariaLabelledBy"),"aria-disabled":n.if("isEnabled",true,(t=>!t)),"aria-pressed":n.to("isOn",(t=>this.isToggleable?String(!!t):false)),"data-cke-tooltip-text":n.to("_tooltipString"),"data-cke-tooltip-position":n.to("tooltipPosition")},children:this.children,on:{click:n.to((t=>{if(this.isEnabled){this.fire("execute")}else{t.preventDefault()}}))}};if(l.isSafari){if(!this._focusDelayed){this._focusDelayed=_l((()=>this.focus()),0)}o.on.mousedown=n.to((()=>{this._focusDelayed()}));o.on.mouseup=n.to((()=>{this._focusDelayed.cancel()}))}this.setTemplate(o)}render(){super.render();if(this.icon){this.iconView.bind("content").to(this,"icon");this.children.add(this.iconView)}this.children.add(this.labelView);if(this.withKeystroke&&this.keystroke){this.children.add(this.keystrokeView)}}focus(){this.element.focus()}destroy(){if(this._focusDelayed){this._focusDelayed.cancel()}super.destroy()}_setupLabelView(t){t.bind("text","style","id").to(this,"label","labelStyle","ariaLabelledBy");return t}_createKeystrokeView(){const t=new Fl;t.setTemplate({tag:"span",attributes:{class:["ck","ck-button__keystroke"]},children:[{text:this.bindTemplate.to("keystroke",(t=>Qc(t)))}]});return t}_getTooltipString(t,e,n){if(t){if(typeof t=="string"){return t}else{if(n){n=Qc(n)}if(t instanceof Function){return t(e,n)}else{return`${e}${n?` (${n})`:""}`}}}return""}}var Td=n(7258);var Id={injectType:"singletonStyleTag",attributes:{"data-cke":true}};Id.insert="head";Id.singleton=true;var Sd=Ll()(Td.Z,Id);const Bd=Td.Z.locals||{};class Md extends Dd{constructor(t){super(t);this.isToggleable=true;this.toggleSwitchView=this._createToggleView();this.extendTemplate({attributes:{class:"ck-switchbutton"}})}render(){super.render();this.children.add(this.toggleSwitchView)}_createToggleView(){const t=new Fl;t.setTemplate({tag:"span",attributes:{class:["ck","ck-button__toggle"]},children:[{tag:"span",attributes:{class:["ck","ck-button__toggle__inner"]}}]});return t}}const Nd='';var Pd=n(4095);var Ld={injectType:"singletonStyleTag",attributes:{"data-cke":true}};Ld.insert="head";Ld.singleton=true;var zd=Ll()(Pd.Z,Ld);const Vd=Pd.Z.locals||{};class Rd extends Fl{constructor(t,e){super(t);const n=this.bindTemplate;this.set("isCollapsed",false);this.set("label","");this.buttonView=this._createButtonView();this.children=this.createCollection();this.set("_collapsibleAriaLabelUid",undefined);if(e){this.children.addMany(e)}this.setTemplate({tag:"div",attributes:{class:["ck","ck-collapsible",n.if("isCollapsed","ck-collapsible_collapsed")]},children:[this.buttonView,{tag:"div",attributes:{class:["ck","ck-collapsible__children"],role:"region",hidden:n.if("isCollapsed","hidden"),"aria-labelledby":n.to("_collapsibleAriaLabelUid")},children:this.children}]})}render(){super.render();this._collapsibleAriaLabelUid=this.buttonView.labelView.element.id}focus(){this.buttonView.focus()}_createButtonView(){const t=new Dd(this.locale);const e=t.bindTemplate;t.set({withText:true,icon:Nd});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}));return t}}class Od extends(null&&ButtonView){constructor(t){super(t);const e=this.bindTemplate;this.set("color",undefined);this.set("hasBorder",false);this.icon=checkIcon;this.extendTemplate({attributes:{style:{backgroundColor:e.to("color")},class:["ck","ck-color-grid__tile",e.if("hasBorder","ck-color-selector__color-tile_bordered")]}})}render(){super.render();this.iconView.fillColor="hsl(0, 0%, 100%)"}}var Fd=n(4923);var jd={injectType:"singletonStyleTag",attributes:{"data-cke":true}};jd.insert="head";jd.singleton=true;var Hd=Ll()(Fd.Z,jd);const Ud=Fd.Z.locals||{};class Wd extends(null&&View){constructor(t,e){super(t);const n=e&&e.colorDefinitions?e.colorDefinitions:[];this.columns=e&&e.columns?e.columns:5;const i={gridTemplateColumns:`repeat( ${this.columns}, 1fr)`};this.set("selectedColor",undefined);this.items=this.createCollection();this.focusTracker=new FocusTracker;this.keystrokes=new KeystrokeHandler;this.items.on("add",((t,e)=>{e.isOn=e.color===this.selectedColor}));n.forEach((t=>{const e=new ColorTileView;e.set({color:t.color,label:t.label,tooltip:true,hasBorder:t.options.hasBorder});e.on("execute",(()=>{this.fire("execute",{value:t.color,hasBorder:t.options.hasBorder,label:t.label})}));this.items.add(e)}));this.setTemplate({tag:"div",children:this.items,attributes:{class:["ck","ck-color-grid"],style:i}});this.on("change:selectedColor",((t,e,n)=>{for(const t of this.items){t.isOn=t.color===n}}))}focus(){if(this.items.length){this.items.first.focus()}}focusLast(){if(this.items.length){this.items.last.focus()}}render(){super.render();for(const t of this.items){this.focusTracker.add(t.element)}this.items.on("add",((t,e)=>{this.focusTracker.add(e.element)}));this.items.on("remove",((t,e)=>{this.focusTracker.remove(e.element)}));this.keystrokes.listenTo(this.element);addKeyboardHandlingForGrid({keystrokeHandler:this.keystrokes,focusTracker:this.focusTracker,gridItems:this.items,numberOfColumns:this.columns,uiLanguageDirection:this.locale&&this.locale.uiLanguageDirection})}destroy(){super.destroy();this.focusTracker.destroy();this.keystrokes.destroy()}}var Gd=n(8874);const qd=null&&$d;var Zd={red:0,orange:60,yellow:120,green:180,blue:240,purple:300};function $d(t){var e,n=[],i=1,o;if(typeof t==="string"){if(names[t]){n=names[t].slice();o="rgb"}else if(t==="transparent"){i=0;o="rgb";n=[0,0,0]}else if(/^#[A-Fa-f0-9]+$/.test(t)){var r=t.slice(1);var s=r.length;var a=s<=4;i=1;if(a){n=[parseInt(r[0]+r[0],16),parseInt(r[1]+r[1],16),parseInt(r[2]+r[2],16)];if(s===4){i=parseInt(r[3]+r[3],16)/255}}else{n=[parseInt(r[0]+r[1],16),parseInt(r[2]+r[3],16),parseInt(r[4]+r[5],16)];if(s===8){i=parseInt(r[6]+r[7],16)/255}}if(!n[0])n[0]=0;if(!n[1])n[1]=0;if(!n[2])n[2]=0;o="rgb"}else if(e=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\s*\(([^\)]*)\)/.exec(t)){var c=e[1];var l=c==="rgb";var r=c.replace(/a$/,"");o=r;var s=r==="cmyk"?4:r==="gray"?1:3;n=e[2].trim().split(/\s*[,\/]\s*|\s+/).map((function(t,e){if(/%$/.test(t)){if(e===s)return parseFloat(t)/100;if(r==="rgb")return parseFloat(t)*255/100;return parseFloat(t)}else if(r[e]==="h"){if(/deg$/.test(t)){return parseFloat(t)}else if(Zd[t]!==undefined){return Zd[t]}}return parseFloat(t)}));if(c===r)n.push(1);i=l?1:n[s]===undefined?1:n[s];n=n.slice(0,s)}else if(t.length>10&&/[0-9](?:\s|\/)/.test(t)){n=t.match(/([0-9]+)/g).map((function(t){return parseFloat(t)}));o=t.match(/([a-z])/gi).join("").toLowerCase()}}else if(!isNaN(t)){o="rgb";n=[t>>>16,(t&65280)>>>8,t&255]}else if(Array.isArray(t)||t.length){n=[t[0],t[1],t[2]];o="rgb";i=t.length===4?t[3]:1}else if(t instanceof Object){if(t.r!=null||t.red!=null||t.R!=null){o="rgb";n=[t.r||t.red||t.R||0,t.g||t.green||t.G||0,t.b||t.blue||t.B||0]}else{o="hsl";n=[t.h||t.hue||t.H||0,t.s||t.saturation||t.S||0,t.l||t.lightness||t.L||t.b||t.brightness]}i=t.a||t.alpha||t.opacity||1;if(t.opacity!=null)i/=100}return{space:o,values:n,alpha:i}}var Kd=n(2085);function Yd(t,e){if(!t){return""}const n=Xd(t);if(!n){return""}if(n.space===e){return t}if(!tu(n)){return""}const i=convert[n.space];const o=i[e];if(!o){return""}const r=o(n.space==="hex"?n.hexValue:n.values);return Jd(r,e)}function Qd(t){if(!t){return""}const e=Xd(t);if(!e){return"#000"}if(e.space==="hex"){return e.hexValue}return Yd(t,"hex")}function Jd(t,e){switch(e){case"hex":return`#${t}`;case"rgb":return`rgb( ${t[0]}, ${t[1]}, ${t[2]} )`;case"hsl":return`hsl( ${t[0]}, ${t[1]}%, ${t[2]}% )`;case"hwb":return`hwb( ${t[0]}, ${t[1]}, ${t[2]} )`;case"lab":return`lab( ${t[0]}% ${t[1]} ${t[2]} )`;case"lch":return`lch( ${t[0]}% ${t[1]} ${t[2]} )`;default:return""}}function Xd(t){if(t.startsWith("#")){const e=parse(t);return{space:"hex",values:e.values,hexValue:t,alpha:e.alpha}}const e=parse(t);if(!e.space){return null}return e}function tu(t){return Object.keys(convert).includes(t.space)}var eu=n(3525);var nu={injectType:"singletonStyleTag",attributes:{"data-cke":true}};nu.insert="head";nu.singleton=true;var iu=Ll()(eu.Z,nu);const ou=eu.Z.locals||{};class ru extends Fl{constructor(t){super(t);this.set("text",undefined);this.set("for",undefined);this.id=`ck-editor__label_${I()}`;const e=this.bindTemplate;this.setTemplate({tag:"label",attributes:{class:["ck","ck-label"],id:this.id,for:e.to("for")},children:[{text:e.to("text")}]})}}var su=n(2933);var au={injectType:"singletonStyleTag",attributes:{"data-cke":true}};au.insert="head";au.singleton=true;var cu=Ll()(su.Z,au);const lu=su.Z.locals||{};class du extends Fl{constructor(t,e){super(t);const n=`ck-labeled-field-view-${I()}`;const i=`ck-labeled-field-view-status-${I()}`;this.fieldView=e(this,n,i);this.set("label",undefined);this.set("isEnabled",true);this.set("isEmpty",true);this.set("isFocused",false);this.set("errorText",null);this.set("infoText",null);this.set("class",undefined);this.set("placeholder",undefined);this.labelView=this._createLabelView(n);this.statusView=this._createStatusView(i);this.fieldWrapperChildren=this.createCollection([this.fieldView,this.labelView]);this.bind("_statusText").to(this,"errorText",this,"infoText",((t,e)=>t||e));const o=this.bindTemplate;this.setTemplate({tag:"div",attributes:{class:["ck","ck-labeled-field-view",o.to("class"),o.if("isEnabled","ck-disabled",(t=>!t)),o.if("isEmpty","ck-labeled-field-view_empty"),o.if("isFocused","ck-labeled-field-view_focused"),o.if("placeholder","ck-labeled-field-view_placeholder"),o.if("errorText","ck-error")]},children:[{tag:"div",attributes:{class:["ck","ck-labeled-field-view__input-wrapper"]},children:this.fieldWrapperChildren},this.statusView]})}_createLabelView(t){const e=new ru(this.locale);e.for=t;e.bind("text").to(this,"label");return e}_createStatusView(t){const e=new Fl(this.locale);const n=this.bindTemplate;e.setTemplate({tag:"div",attributes:{class:["ck","ck-labeled-field-view__status",n.if("errorText","ck-labeled-field-view__status_error"),n.if("_statusText","ck-hidden",(t=>!t))],id:t,role:n.if("errorText","alert")},children:[{text:n.to("_statusText")}]});return e}focus(t){this.fieldView.focus(t)}}class uu extends Fl{constructor(t){super(t);this.set("value",undefined);this.set("id",undefined);this.set("placeholder",undefined);this.set("isReadOnly",false);this.set("hasError",false);this.set("ariaDescribedById",undefined);this.focusTracker=new pl;this.bind("isFocused").to(this.focusTracker);this.set("isEmpty",true);const e=this.bindTemplate;this.setTemplate({tag:"input",attributes:{class:["ck","ck-input",e.if("isFocused","ck-input_focused"),e.if("isEmpty","ck-input-text_empty"),e.if("hasError","ck-error")],id:e.to("id"),placeholder:e.to("placeholder"),readonly:e.to("isReadOnly"),"aria-invalid":e.if("hasError",true),"aria-describedby":e.to("ariaDescribedById")},on:{input:e.to(((...t)=>{this.fire("input",...t);this._updateIsEmpty()})),change:e.to(this._updateIsEmpty.bind(this))}})}render(){super.render();this.focusTracker.add(this.element);this._setDomElementValue(this.value);this._updateIsEmpty();this.on("change:value",((t,e,n)=>{this._setDomElementValue(n);this._updateIsEmpty()}))}destroy(){super.destroy();this.focusTracker.destroy()}select(){this.element.select()}focus(){this.element.focus()}reset(){this.value=this.element.value="";this._updateIsEmpty()}_updateIsEmpty(){this.isEmpty=hu(this.element)}_setDomElementValue(t){this.element.value=!t&&t!==0?"":t}}function hu(t){return!t.value}var gu=n(2470);var fu={injectType:"singletonStyleTag",attributes:{"data-cke":true}};fu.insert="head";fu.singleton=true;var mu=Ll()(gu.Z,fu);const pu=gu.Z.locals||{};class bu extends uu{constructor(t){super(t);this.set("inputMode","text");const e=this.bindTemplate;this.extendTemplate({attributes:{inputmode:e.to("inputMode")}})}}class ku extends bu{constructor(t){super(t);this.extendTemplate({attributes:{type:"text",class:["ck-input-text"]}})}}class wu extends(null&&InputView){constructor(t,{min:e,max:n,step:i}={}){super(t);const o=this.bindTemplate;this.set("min",e);this.set("max",n);this.set("step",i);this.extendTemplate({attributes:{type:"number",class:["ck-input-number"],min:o.to("min"),max:o.to("max"),step:o.to("step")}})}}var Au=n(5224);var Cu={injectType:"singletonStyleTag",attributes:{"data-cke":true}};Cu.insert="head";Cu.singleton=true;var _u=Ll()(Au.Z,Cu);const vu=Au.Z.locals||{};class yu extends(null&&InputBase){constructor(t){super(t);this._isUpdateAutoGrowHeightPending=false;const e=toUnit("px");this.set("minRows",2);this.set("maxRows",5);this.set("_height",null);this.set("resize","none");this._resizeObserver=null;this.on("change:minRows",this._validateMinMaxRows.bind(this));this.on("change:maxRows",this._validateMinMaxRows.bind(this));const n=this.bindTemplate;this.template.tag="textarea";this.extendTemplate({attributes:{class:["ck-textarea"],style:{height:n.to("_height",(t=>t?e(t):null)),resize:n.to("resize")},rows:n.to("minRows")}})}render(){super.render();let t=false;this.on("input",(()=>{this._updateAutoGrowHeight(true);this.fire("update")}));this.on("change:value",(()=>{global.window.requestAnimationFrame((()=>{if(!isVisible(this.element)){this._isUpdateAutoGrowHeightPending=true;return}this._updateAutoGrowHeight();this.fire("update")}))}));this._resizeObserver=new ResizeObserver(this.element,(e=>{const n=!!e.contentRect.width&&!!e.contentRect.height;if(!t&&n&&this._isUpdateAutoGrowHeightPending){global.window.requestAnimationFrame((()=>{this._updateAutoGrowHeight();this.fire("update")}))}t=n}))}destroy(){if(this._resizeObserver){this._resizeObserver.destroy()}}reset(){super.reset();this._updateAutoGrowHeight();this.fire("update")}_updateAutoGrowHeight(t){const e=this.element;if(!e.offsetParent){this._isUpdateAutoGrowHeightPending=true;return}this._isUpdateAutoGrowHeightPending=false;const n=xu(e,"1");const i=xu(e,e.value);const o=n.ownerDocument.defaultView.getComputedStyle(n);const r=parseFloat(o.paddingTop)+parseFloat(o.paddingBottom);const s=getBorderWidths(n);const a=parseFloat(o.lineHeight);const c=s.top+s.bottom;const l=new Rect(n).height;const d=Math.round((i.scrollHeight-r)/a);const u=this.maxRows*a+r+c;const h=d===1?l:this.minRows*a+r+c;this._height=Math.min(Math.max(Math.max(d,this.minRows)*a+r+c,h),u);if(t){e.scrollTop=e.scrollHeight}n.remove();i.remove()}_validateMinMaxRows(){if(this.minRows>this.maxRows){throw new CKEditorError("ui-textarea-view-min-rows-greater-than-max-rows",{textareaView:this,minRows:this.minRows,maxRows:this.maxRows})}}}function xu(t,e){const n=t.cloneNode();n.style.position="absolute";n.style.top="-99999px";n.style.left="-99999px";n.style.height="auto";n.style.overflow="hidden";n.style.width=t.ownerDocument.defaultView.getComputedStyle(t).width;n.tabIndex=-1;n.rows=1;n.value=e;t.parentNode.insertBefore(n,t);return n}class Eu extends Fl{constructor(t){super(t);const e=this.bindTemplate;this.set("isVisible",false);this.set("position","se");this.children=this.createCollection();this.setTemplate({tag:"div",attributes:{class:["ck","ck-reset","ck-dropdown__panel",e.to("position",(t=>`ck-dropdown__panel_${t}`)),e.if("isVisible","ck-dropdown__panel-visible")],tabindex:"-1"},children:this.children,on:{selectstart:e.to((t=>{if(t.target.tagName.toLocaleLowerCase()==="input"){return}t.preventDefault()}))}})}focus(){if(this.children.length){const t=this.children.first;if(typeof t.focus==="function"){t.focus()}else{L("ui-dropdown-panel-focus-child-missing-focus",{childView:this.children.first,dropdownPanel:this})}}}focusLast(){if(this.children.length){const t=this.children.last;if(typeof t.focusLast==="function"){t.focusLast()}else{t.focus()}}}}var Du=n(5062);var Tu={injectType:"singletonStyleTag",attributes:{"data-cke":true}};Tu.insert="head";Tu.singleton=true;var Iu=Ll()(Du.Z,Tu);const Su=Du.Z.locals||{};class Bu extends Fl{constructor(t,e,n){super(t);const i=this.bindTemplate;this.buttonView=e;this.panelView=n;this.set("isOpen",false);this.set("isEnabled",true);this.set("class",undefined);this.set("id",undefined);this.set("panelPosition","auto");this.panelView.bind("isVisible").to(this,"isOpen");this.keystrokes=new bl;this.focusTracker=new pl;this.setTemplate({tag:"div",attributes:{class:["ck","ck-dropdown",i.to("class"),i.if("isEnabled","ck-disabled",(t=>!t))],id:i.to("id"),"aria-describedby":i.to("ariaDescribedById")},children:[e,n]});e.extendTemplate({attributes:{class:["ck-dropdown__button"],"data-cke-tooltip-disabled":i.to("isOpen")}})}render(){super.render();this.focusTracker.add(this.buttonView.element);this.focusTracker.add(this.panelView.element);this.listenTo(this.buttonView,"open",(()=>{this.isOpen=!this.isOpen}));this.on("change:isOpen",((t,e,n)=>{if(!n){return}if(this.panelPosition==="auto"){const t=Bu._getOptimalPosition({element:this.panelView.element,target:this.buttonView.element,fitInViewport:true,positions:this._panelPositions});this.panelView.position=t?t.name:this._panelPositions[0].name}else{this.panelView.position=this.panelPosition}}));this.keystrokes.listenTo(this.element);const t=(t,e)=>{if(this.isOpen){this.isOpen=false;e()}};this.keystrokes.set("arrowdown",((t,e)=>{if(this.buttonView.isEnabled&&!this.isOpen){this.isOpen=true;e()}}));this.keystrokes.set("arrowright",((t,e)=>{if(this.isOpen){e()}}));this.keystrokes.set("arrowleft",t);this.keystrokes.set("esc",t)}focus(){this.buttonView.focus()}get _panelPositions(){const{south:t,north:e,southEast:n,southWest:i,northEast:o,northWest:r,southMiddleEast:s,southMiddleWest:a,northMiddleEast:c,northMiddleWest:l}=Bu.defaultPanelPositions;if(this.locale.uiLanguageDirection!=="rtl"){return[n,i,s,a,t,o,r,c,l,e]}else{return[i,n,a,s,t,r,o,l,c,e]}}}Bu.defaultPanelPositions={south:(t,e)=>({top:t.bottom,left:t.left-(e.width-t.width)/2,name:"s"}),southEast:t=>({top:t.bottom,left:t.left,name:"se"}),southWest:(t,e)=>({top:t.bottom,left:t.left-e.width+t.width,name:"sw"}),southMiddleEast:(t,e)=>({top:t.bottom,left:t.left-(e.width-t.width)/4,name:"sme"}),southMiddleWest:(t,e)=>({top:t.bottom,left:t.left-(e.width-t.width)*3/4,name:"smw"}),north:(t,e)=>({top:t.top-e.height,left:t.left-(e.width-t.width)/2,name:"n"}),northEast:(t,e)=>({top:t.top-e.height,left:t.left,name:"ne"}),northWest:(t,e)=>({top:t.top-e.height,left:t.left-e.width+t.width,name:"nw"}),northMiddleEast:(t,e)=>({top:t.top-e.height,left:t.left-(e.width-t.width)/4,name:"nme"}),northMiddleWest:(t,e)=>({top:t.top-e.height,left:t.left-(e.width-t.width)*3/4,name:"nmw"})};Bu._getOptimalPosition=Dc;const Mu=Bu;class Nu extends Dd{constructor(t){super(t);this.arrowView=this._createArrowView();this.extendTemplate({attributes:{"aria-haspopup":true,"aria-expanded":this.bindTemplate.to("isOn",(t=>String(t)))}});this.delegate("execute").to(this,"open")}render(){super.render();this.children.add(this.arrowView)}_createArrowView(){const t=new Cd;t.content=Nd;t.extendTemplate({attributes:{class:"ck-dropdown__arrow"}});return t}}class Pu extends(Z()){constructor(t){super();this.focusables=t.focusables;this.focusTracker=t.focusTracker;this.keystrokeHandler=t.keystrokeHandler;this.actions=t.actions;if(t.actions&&t.keystrokeHandler){for(const e in t.actions){let n=t.actions[e];if(typeof n=="string"){n=[n]}for(const i of n){t.keystrokeHandler.set(i,((t,n)=>{this[e]();n()}))}}}this.on("forwardCycle",(()=>this.focusFirst()),{priority:"low"});this.on("backwardCycle",(()=>this.focusLast()),{priority:"low"})}get first(){return this.focusables.find(Lu)||null}get last(){return this.focusables.filter(Lu).slice(-1)[0]||null}get next(){return this._getDomFocusableItem(1)}get previous(){return this._getDomFocusableItem(-1)}get current(){let t=null;if(this.focusTracker.focusedElement===null){return null}this.focusables.find(((e,n)=>{const i=e.element===this.focusTracker.focusedElement;if(i){t=n}return i}));return t}focusFirst(){this._focus(this.first,1)}focusLast(){this._focus(this.last,-1)}focusNext(){const t=this.next;if(t&&this.focusables.getIndex(t)===this.current){this.fire("forwardCycle");return}if(t===this.first){this.fire("forwardCycle")}else{this._focus(t,1)}}focusPrevious(){const t=this.previous;if(t&&this.focusables.getIndex(t)===this.current){this.fire("backwardCycle");return}if(t===this.last){this.fire("backwardCycle")}else{this._focus(t,-1)}}_focus(t,e){if(t&&this.focusTracker.focusedElement!==t.element){t.focus(e)}}_getDomFocusableItem(t){const e=this.focusables.length;if(!e){return null}const n=this.current;if(n===null){return this[t===1?"first":"last"]}let i=this.focusables.get(n);let o=(n+e+t)%e;do{const n=this.focusables.get(o);if(Lu(n)){i=n;break}o=(o+e+t)%e}while(o!==n);return i}}function Lu(t){return zu(t)&&Ec(t.element)}function zu(t){return!!("focus"in t&&typeof t.focus=="function")}function Vu(t){return zu(t)&&"focusCycler"in t&&t.focusCycler instanceof Pu}class Ru extends Fl{constructor(t){super(t);this.setTemplate({tag:"span",attributes:{class:["ck","ck-toolbar__separator"]}})}}class Ou extends Fl{constructor(t){super(t);this.setTemplate({tag:"span",attributes:{class:["ck","ck-toolbar__line-break"]}})}}function Fu(t){return t.bindTemplate.to((e=>{if(e.target===t.element){e.preventDefault()}}))}function ju(t){if(Array.isArray(t)){return{items:t,removeItems:[]}}const e={items:[],removeItems:[]};if(!t){return e}return{...e,...t}}class Hu extends(gt()){constructor(t){super();this._disableStack=new Set;this.editor=t;this.set("isEnabled",true)}forceDisabled(t){this._disableStack.add(t);if(this._disableStack.size==1){this.on("set:isEnabled",Uu,{priority:"highest"});this.isEnabled=false}}clearForceDisabled(t){this._disableStack.delete(t);if(this._disableStack.size==0){this.off("set:isEnabled",Uu);this.isEnabled=true}}destroy(){this.stopListening()}static get isContextPlugin(){return false}}function Uu(t){t.return=false;t.stop()}class Wu extends(gt()){constructor(t){super();this.editor=t;this.set("value",undefined);this.set("isEnabled",false);this._affectsData=true;this._isEnabledBasedOnSelection=true;this._disableStack=new Set;this.decorate("execute");this.listenTo(this.editor.model.document,"change",(()=>{this.refresh()}));this.listenTo(t,"change:isReadOnly",(()=>{this.refresh()}));this.on("set:isEnabled",(e=>{if(!this.affectsData){return}const n=t.model.document.selection;const i=n.getFirstPosition().root.rootName=="$graveyard";const o=!i&&t.model.canEditAt(n);if(t.isReadOnly||this._isEnabledBasedOnSelection&&!o){e.return=false;e.stop()}}),{priority:"highest"});this.on("execute",(t=>{if(!this.isEnabled){t.stop()}}),{priority:"high"})}get affectsData(){return this._affectsData}set affectsData(t){this._affectsData=t}refresh(){this.isEnabled=true}forceDisabled(t){this._disableStack.add(t);if(this._disableStack.size==1){this.on("set:isEnabled",Gu,{priority:"highest"});this.isEnabled=false}}clearForceDisabled(t){this._disableStack.delete(t);if(this._disableStack.size==0){this.off("set:isEnabled",Gu);this.refresh()}}execute(...t){return undefined}destroy(){this.stopListening()}}function Gu(t){t.return=false;t.stop()}class qu extends Wu{constructor(){super(...arguments);this._childCommandsDefinitions=[]}refresh(){}execute(...t){const e=this._getFirstEnabledCommand();return!!e&&e.execute(t)}registerChildCommand(t,e={}){M(this._childCommandsDefinitions,{command:t,priority:e.priority||"normal"});t.on("change:isEnabled",(()=>this._checkEnabled()));this._checkEnabled()}_checkEnabled(){this.isEnabled=!!this._getFirstEnabledCommand()}_getFirstEnabledCommand(){const t=this._childCommandsDefinitions.find((({command:t})=>t.isEnabled));return t&&t.command}}class Zu extends(Z()){constructor(t,e=[],n=[]){super();this._plugins=new Map;this._context=t;this._availablePlugins=new Map;for(const t of e){if(t.pluginName){this._availablePlugins.set(t.pluginName,t)}}this._contextPlugins=new Map;for(const[t,e]of n){this._contextPlugins.set(t,e);this._contextPlugins.set(e,t);if(t.pluginName){this._availablePlugins.set(t.pluginName,t)}}}*[Symbol.iterator](){for(const t of this._plugins){if(typeof t[0]=="function"){yield t}}}get(t){const e=this._plugins.get(t);if(!e){let e=t;if(typeof t=="function"){e=t.pluginName||t.name}throw new P("plugincollection-plugin-not-loaded",this._context,{plugin:e})}return e}has(t){return this._plugins.has(t)}init(t,e=[],n=[]){const i=this;const o=this._context;h(t);f(t);const r=t.filter((t=>!d(t,e)));const s=[...g(r)];A(s,n);const a=k(s);return w(a,"init").then((()=>w(a,"afterInit"))).then((()=>a));function c(t){return typeof t==="function"}function l(t){return c(t)&&!!t.isContextPlugin}function d(t,e){return e.some((e=>{if(e===t){return true}if(u(t)===e){return true}if(u(e)===t){return true}return false}))}function u(t){return c(t)?t.pluginName||t.name:t}function h(t,e=new Set){t.forEach((t=>{if(!c(t)){return}if(e.has(t)){return}e.add(t);if(t.pluginName&&!i._availablePlugins.has(t.pluginName)){i._availablePlugins.set(t.pluginName,t)}if(t.requires){h(t.requires,e)}}))}function g(t,e=new Set){return t.map((t=>c(t)?t:i._availablePlugins.get(t))).reduce(((t,n)=>{if(e.has(n)){return t}e.add(n);if(n.requires){f(n.requires,n);g(n.requires,e).forEach((e=>t.add(e)))}return t.add(n)}),new Set)}function f(t,e=null){t.map((t=>c(t)?t:i._availablePlugins.get(t)||t)).forEach((t=>{m(t,e);p(t,e);b(t,e)}))}function m(t,e){if(c(t)){return}if(e){throw new P("plugincollection-soft-required",o,{missingPlugin:t,requiredBy:u(e)})}throw new P("plugincollection-plugin-not-found",o,{plugin:t})}function p(t,e){if(!l(e)){return}if(l(t)){return}throw new P("plugincollection-context-required",o,{plugin:u(t),requiredBy:u(e)})}function b(t,n){if(!n){return}if(!d(t,e)){return}throw new P("plugincollection-required",o,{plugin:u(t),requiredBy:u(n)})}function k(t){return t.map((t=>{let e=i._contextPlugins.get(t);e=e||new t(o);i._add(t,e);return e}))}function w(t,e){return t.reduce(((t,n)=>{if(!n[e]){return t}if(i._contextPlugins.has(n)){return t}return t.then(n[e].bind(n))}),Promise.resolve())}function A(t,e){for(const n of e){if(typeof n!="function"){throw new P("plugincollection-replace-plugin-invalid-type",null,{pluginItem:n})}const e=n.pluginName;if(!e){throw new P("plugincollection-replace-plugin-missing-name",null,{pluginItem:n})}if(n.requires&&n.requires.length){throw new P("plugincollection-plugin-for-replacing-cannot-have-dependencies",null,{pluginName:e})}const o=i._availablePlugins.get(e);if(!o){throw new P("plugincollection-plugin-for-replacing-not-exist",null,{pluginName:e})}const r=t.indexOf(o);if(r===-1){if(i._contextPlugins.has(o)){return}throw new P("plugincollection-plugin-for-replacing-not-loaded",null,{pluginName:e})}if(o.requires&&o.requires.length){throw new P("plugincollection-replaced-plugin-cannot-have-dependencies",null,{pluginName:e})}t.splice(r,1,n);i._availablePlugins.set(e,n)}}}destroy(){const t=[];for(const[,e]of this){if(typeof e.destroy=="function"&&!this._contextPlugins.has(e)){t.push(e.destroy())}}return Promise.all(t)}_add(t,e){this._plugins.set(t,e);const n=t.pluginName;if(!n){return}if(this._plugins.has(n)){throw new P("plugincollection-plugin-name-conflict",null,{pluginName:n,plugin1:this._plugins.get(n).constructor,plugin2:t})}this._plugins.set(n,e)}}class $u{constructor(t){this._contextOwner=null;this.config=new Ga(t,this.constructor.defaultConfig);const e=this.constructor.builtinPlugins;this.config.define("plugins",e);this.plugins=new Zu(this,e);const n=this.config.get("language")||{};this.locale=new hl({uiLanguage:typeof n==="string"?n:n.ui,contentLanguage:this.config.get("language.content")});this.t=this.locale.t;this.editors=new fl}initPlugins(){const t=this.config.get("plugins")||[];const e=this.config.get("substitutePlugins")||[];for(const n of t.concat(e)){if(typeof n!="function"){throw new P("context-initplugins-constructor-only",null,{Plugin:n})}if(n.isContextPlugin!==true){throw new P("context-initplugins-invalid-plugin",null,{Plugin:n})}}return this.plugins.init(t,[],e)}destroy(){return Promise.all(Array.from(this.editors,(t=>t.destroy()))).then((()=>this.plugins.destroy()))}_addEditor(t,e){if(this._contextOwner){throw new P("context-addeditor-private-context")}this.editors.add(t);if(e){this._contextOwner=t}}_removeEditor(t){if(this.editors.has(t)){this.editors.remove(t)}if(this._contextOwner===t){return this.destroy()}return Promise.resolve()}_getEditorConfig(){const t={};for(const e of this.config.names()){if(!["plugins","removePlugins","extraPlugins"].includes(e)){t[e]=this.config.get(e)}}return t}static create(t){return new Promise((e=>{const n=new this(t);e(n.initPlugins().then((()=>n)))}))}}class Ku extends(gt()){constructor(t){super();this.context=t}destroy(){this.stopListening()}static get isContextPlugin(){return true}}var Yu=n(7372);var Qu={injectType:"singletonStyleTag",attributes:{"data-cke":true}};Qu.insert="head";Qu.singleton=true;var Ju=Ll()(Yu.Z,Qu);const Xu=Yu.Z.locals||{};const th=new WeakMap;let eh=false;function nh({view:t,element:e,text:n,isDirectHost:i=true,keepOnFocus:o=false}){const r=t.document;if(!th.has(r)){th.set(r,new Map);r.registerPostFixer((t=>ah(r,t)));r.on("change:isComposing",(()=>{t.change((t=>ah(r,t)))}),{priority:"high"})}if(e.is("editableElement")){e.on("change:placeholder",((t,e,n)=>{s(n)}))}if(e.placeholder){s(e.placeholder)}else if(n){s(n)}if(n){dh()}function s(n){th.get(r).set(e,{text:n,isDirectHost:i,keepOnFocus:o,hostElement:i?e:null});t.change((t=>ah(r,t)))}}function ih(t,e){const n=e.document;if(!th.has(n)){return}t.change((t=>{const i=th.get(n);const o=i.get(e);t.removeAttribute("data-placeholder",o.hostElement);rh(t,o.hostElement);i.delete(e)}))}function oh(t,e){if(!e.hasClass("ck-placeholder")){t.addClass("ck-placeholder",e);return true}return false}function rh(t,e){if(e.hasClass("ck-placeholder")){t.removeClass("ck-placeholder",e);return true}return false}function sh(t,e){if(!t.isAttached()){return false}const n=Array.from(t.getChildren()).some((t=>!t.is("uiElement")));if(n){return false}const i=t.document;const o=i.selection;const r=o.anchor;if(i.isComposing&&r&&r.parent===t){return false}if(e){return true}if(!i.isFocused){return true}return!!r&&r.parent!==t}function ah(t,e){const n=th.get(t);const i=[];let o=false;for(const[t,r]of n){if(r.isDirectHost){i.push(t);if(ch(e,t,r)){o=true}}}for(const[t,r]of n){if(r.isDirectHost){continue}const n=lh(t);if(!n){continue}if(i.includes(n)){continue}r.hostElement=n;if(ch(e,t,r)){o=true}}return o}function ch(t,e,n){const{text:i,isDirectHost:o,hostElement:r}=n;let s=false;if(r.getAttribute("data-placeholder")!==i){t.setAttribute("data-placeholder",i,r);s=true}const a=o||e.childCount==1;if(a&&sh(r,n.keepOnFocus)){if(oh(t,r)){s=true}}else if(rh(t,r)){s=true}return s}function lh(t){if(t.childCount){const e=t.getChild(0);if(e.is("element")&&!e.is("uiElement")&&!e.is("attributeElement")){return e}}return null}function dh(){if(!eh){L("enableplaceholder-deprecated-text-option")}eh=true}class uh{is(){throw new Error("is() method is abstract")}}var hh=4;function gh(t){return Ra(t,hh)}const fh=gh;class mh extends(Z(uh)){constructor(t){super();this.document=t;this.parent=null}get index(){let t;if(!this.parent){return null}if((t=this.parent.getChildIndex(this))==-1){throw new P("view-node-not-found-in-parent",this)}return t}get nextSibling(){const t=this.index;return t!==null&&this.parent.getChild(t+1)||null}get previousSibling(){const t=this.index;return t!==null&&this.parent.getChild(t-1)||null}get root(){let t=this;while(t.parent){t=t.parent}return t}isAttached(){return this.root.is("rootElement")}getPath(){const t=[];let e=this;while(e.parent){t.unshift(e.index);e=e.parent}return t}getAncestors(t={}){const e=[];let n=t.includeSelf?this:this.parent;while(n){e[t.parentFirst?"push":"unshift"](n);n=n.parent}return e}getCommonAncestor(t,e={}){const n=this.getAncestors(e);const i=t.getAncestors(e);let o=0;while(n[o]==i[o]&&n[o]){o++}return o===0?null:n[o-1]}isBefore(t){if(this==t){return false}if(this.root!==t.root){return false}const e=this.getPath();const n=t.getPath();const i=Et(e,n);switch(i){case"prefix":return true;case"extension":return false;default:return e[i]t.data.length){throw new P("view-textproxy-wrong-offsetintext",this)}if(n<0||e+n>t.data.length){throw new P("view-textproxy-wrong-length",this)}this.data=t.data.substring(e,e+n);this.offsetInText=e}get offsetSize(){return this.data.length}get isPartial(){return this.data.length!==this.textNode.data.length}get parent(){return this.textNode.parent}get root(){return this.textNode.root}get document(){return this.textNode.document}getAncestors(t={}){const e=[];let n=t.includeSelf?this.textNode:this.parent;while(n!==null){e[t.parentFirst?"push":"unshift"](n);n=n.parent}return e}}bh.prototype.is=function(t){return t==="$textProxy"||t==="view:$textProxy"||t==="textProxy"||t==="view:textProxy"};class kh{constructor(...t){this._patterns=[];this.add(...t)}add(...t){for(let e of t){if(typeof e=="string"||e instanceof RegExp){e={name:e}}this._patterns.push(e)}}match(...t){for(const e of t){for(const t of this._patterns){const n=wh(e,t);if(n){return{element:e,pattern:t,match:n}}}}return null}matchAll(...t){const e=[];for(const n of t){for(const t of this._patterns){const i=wh(n,t);if(i){e.push({element:n,pattern:t,match:i})}}}return e.length>0?e:null}getElementName(){if(this._patterns.length!==1){return null}const t=this._patterns[0];const e=t.name;return typeof t!="function"&&e&&!(e instanceof RegExp)?e:null}}function wh(t,e){if(typeof e=="function"){return e(t)}const n={};if(e.name){n.name=Ah(e.name,t.name);if(!n.name){return null}}if(e.attributes){n.attributes=xh(e.attributes,t);if(!n.attributes){return null}}if(e.classes){n.classes=Eh(e.classes,t);if(!n.classes){return null}}if(e.styles){n.styles=Dh(e.styles,t);if(!n.styles){return null}}return n}function Ah(t,e){if(t instanceof RegExp){return!!e.match(t)}return t===e}function Ch(t,e,n){const i=_h(t);const o=Array.from(e);const r=[];i.forEach((([t,e])=>{o.forEach((i=>{if(vh(t,i)&&yh(e,i,n)){r.push(i)}}))}));if(!i.length||r.length{if(me(t)){if(t.key===undefined||t.value===undefined){L("matcher-pattern-missing-key-or-value",t)}return[t.key,t.value]}return[t,true]}))}if(me(t)){return Object.entries(t)}return[[t,true]]}function vh(t,e){return t===true||t===e||t instanceof RegExp&&e.match(t)}function yh(t,e,n){if(t===true){return true}const i=n(e);return t===i||t instanceof RegExp&&!!String(i).match(t)}function xh(t,e){const n=new Set(e.getAttributeKeys());if(me(t)){if(t.style!==undefined){L("matcher-pattern-deprecated-attributes-style-key",t)}if(t.class!==undefined){L("matcher-pattern-deprecated-attributes-class-key",t)}}else{n.delete("style");n.delete("class")}return Ch(t,n,(t=>e.getAttribute(t)))}function Eh(t,e){return Ch(t,e.getClassNames(),(()=>{}))}function Dh(t,e){return Ch(t,e.getStyleNames(true),(t=>e.getStyle(t)))}var Th="[object Symbol]";function Ih(t){return typeof t=="symbol"||Xt(t)&&Kt(t)==Th}const Sh=Ih;var Bh=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Mh=/^\w*$/;function Nh(t,e){if(Qt(t)){return false}var n=typeof t;if(n=="number"||n=="symbol"||n=="boolean"||t==null||Sh(t)){return true}return Mh.test(t)||!Bh.test(t)||e!=null&&t in Object(e)}const Ph=Nh;var Lh="Expected a function";function zh(t,e){if(typeof t!="function"||e!=null&&typeof e!="function"){throw new TypeError(Lh)}var n=function(){var i=arguments,o=e?e.apply(this,i):i[0],r=n.cache;if(r.has(o)){return r.get(o)}var s=t.apply(this,i);n.cache=r.set(o,s)||r;return s};n.cache=new(zh.Cache||ti);return n}zh.Cache=ti;const Vh=zh;var Rh=500;function Oh(t){var e=Vh(t,(function(t){if(n.size===Rh){n.clear()}return t}));var n=e.cache;return e}const Fh=Oh;var jh=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;var Hh=/\\(\\)?/g;var Uh=Fh((function(t){var e=[];if(t.charCodeAt(0)===46){e.push("")}t.replace(jh,(function(t,n,i,o){e.push(i?o.replace(Hh,"$1"):n||t)}));return e}));const Wh=Uh;function Gh(t,e){var n=-1,i=t==null?0:t.length,o=Array(i);while(++no?0:o+e}n=n>o?o:n;if(n<0){n+=o}o=e>n?0:n-e>>>0;e>>>=0;var r=Array(o);while(++i0){if(++e>=qg){return arguments[0]}}else{e=0}return t.apply(undefined,arguments)}}const Yg=Kg;var Qg=Yg(Gg);const Jg=Qg;function Xg(t,e){return Jg(jg(t,e,zg),t+"")}const tf=Xg;function ef(t,e,n){if(!st(n)){return false}var i=typeof e;if(i=="number"?Uo(n)&&Fi(e,n.length):i=="string"&&e in n){return we(n[e],t)}return false}const nf=ef;function of(t){return tf((function(e,n){var i=-1,o=n.length,r=o>1?n[o-1]:undefined,s=o>2?n[2]:undefined;r=t.length>3&&typeof r=="function"?(o--,r):undefined;if(s&&nf(n[0],n[1],s)){r=o<3?undefined:r;o=1}e=Object(e);while(++ie===t));return Array.isArray(n)}set(t,e){if(st(t)){for(const[e,n]of Object.entries(t)){this._styleProcessor.toNormalizedForm(e,n,this._styles)}}else{this._styleProcessor.toNormalizedForm(t,e,this._styles)}}remove(t){const e=mf(t);pg(this._styles,e);delete this._styles[t];this._cleanEmptyObjectsOnPath(e)}getNormalized(t){return this._styleProcessor.getNormalized(t,this._styles)}toString(){if(this.isEmpty){return""}return this._getStylesEntries().map((t=>t.join(":"))).sort().join(";")+";"}getAsString(t){if(this.isEmpty){return}if(this._styles[t]&&!st(this._styles[t])){return this._styles[t]}const e=this._styleProcessor.getReducedForm(t,this._styles);const n=e.find((([e])=>e===t));if(Array.isArray(n)){return n[1]}}getStyleNames(t=false){if(this.isEmpty){return[]}if(t){return this._styleProcessor.getStyleNames(this._styles)}const e=this._getStylesEntries();return e.map((([t])=>t))}clear(){this._styles={}}_getStylesEntries(){const t=[];const e=Object.keys(this._styles);for(const n of e){t.push(...this._styleProcessor.getReducedForm(n,this._styles))}return t}_cleanEmptyObjectsOnPath(t){const e=t.split(".");const n=e.length>1;if(!n){return}const i=e.splice(0,e.length-1).join(".");const o=kg(this._styles,i);if(!o){return}const r=!Object.keys(o).length;if(r){this.remove(i)}}}class gf{constructor(){this._normalizers=new Map;this._extractors=new Map;this._reducers=new Map;this._consumables=new Map}toNormalizedForm(t,e,n){if(st(e)){pf(n,mf(t),e);return}if(this._normalizers.has(t)){const i=this._normalizers.get(t);const{path:o,value:r}=i(e);pf(n,o,r)}else{pf(n,t,e)}}getNormalized(t,e){if(!t){return af({},e)}if(e[t]!==undefined){return e[t]}if(this._extractors.has(t)){const n=this._extractors.get(t);if(typeof n==="string"){return kg(e,n)}const i=n(t,e);if(i){return i}}return kg(e,mf(t))}getReducedForm(t,e){const n=this.getNormalized(t,e);if(n===undefined){return[]}if(this._reducers.has(t)){const e=this._reducers.get(t);return e(n)}return[[t,n]]}getStyleNames(t){const e=Array.from(this._consumables.keys()).filter((e=>{const n=this.getNormalized(e,t);if(n&&typeof n=="object"){return Object.keys(n).length}return n}));const n=new Set([...e,...Object.keys(t)]);return Array.from(n)}getRelatedStyles(t){return this._consumables.get(t)||[]}setNormalizer(t,e){this._normalizers.set(t,e)}setExtractor(t,e){this._extractors.set(t,e)}setReducer(t,e){this._reducers.set(t,e)}setStyleRelation(t,e){this._mapStyleNames(t,e);for(const n of e){this._mapStyleNames(n,[t])}}_mapStyleNames(t,e){if(!this._consumables.has(t)){this._consumables.set(t,[])}this._consumables.get(t).push(...e)}}function ff(t){let e=null;let n=0;let i=0;let o=null;const r=new Map;if(t===""){return r}if(t.charAt(t.length-1)!=";"){t=t+";"}for(let s=0;s0){yield"class"}if(!this._styles.isEmpty){yield"style"}yield*this._attrs.keys()}*getAttributes(){yield*this._attrs.entries();if(this._classes.size>0){yield["class",this.getAttribute("class")]}if(!this._styles.isEmpty){yield["style",this.getAttribute("style")]}}getAttribute(t){if(t=="class"){if(this._classes.size>0){return[...this._classes].join(" ")}return undefined}if(t=="style"){const t=this._styles.toString();return t==""?undefined:t}return this._attrs.get(t)}hasAttribute(t){if(t=="class"){return this._classes.size>0}if(t=="style"){return!this._styles.isEmpty}return this._attrs.has(t)}isSimilar(t){if(!(t instanceof bf)){return false}if(this===t){return true}if(this.name!=t.name){return false}if(this._attrs.size!==t._attrs.size||this._classes.size!==t._classes.size||this._styles.size!==t._styles.size){return false}for(const[e,n]of this._attrs){if(!t._attrs.has(e)||t._attrs.get(e)!==n){return false}}for(const e of this._classes){if(!t._classes.has(e)){return false}}for(const e of this._styles.getStyleNames()){if(!t._styles.has(e)||t._styles.getAsString(e)!==this._styles.getAsString(e)){return false}}return true}hasClass(...t){for(const e of t){if(!this._classes.has(e)){return false}}return true}getClassNames(){return this._classes.keys()}getStyle(t){return this._styles.getAsString(t)}getNormalizedStyle(t){return this._styles.getNormalized(t)}getStyleNames(t){return this._styles.getStyleNames(t)}hasStyle(...t){for(const e of t){if(!this._styles.has(e)){return false}}return true}findAncestor(...t){const e=new kh(...t);let n=this.parent;while(n&&!n.is("documentFragment")){if(e.match(n)){return n}n=n.parent}return null}getCustomProperty(t){return this._customProperties.get(t)}*getCustomProperties(){yield*this._customProperties.entries()}getIdentity(){const t=Array.from(this._classes).sort().join(",");const e=this._styles.toString();const n=Array.from(this._attrs).map((t=>`${t[0]}="${t[1]}"`)).sort().join(" ");return this.name+(t==""?"":` class="${t}"`)+(!e?"":` style="${e}"`)+(n==""?"":` ${n}`)}shouldRenderUnsafeAttribute(t){return this._unsafeAttributesToRender.includes(t)}_clone(t=false){const e=[];if(t){for(const n of this.getChildren()){e.push(n._clone(t))}}const n=new this.constructor(this.document,this.name,this._attrs,e);n._classes=new Set(this._classes);n._styles.set(this._styles.getNormalized());n._customProperties=new Map(this._customProperties);n.getFillerOffset=this.getFillerOffset;n._unsafeAttributesToRender=this._unsafeAttributesToRender;return n}_appendChild(t){return this._insertChild(this.childCount,t)}_insertChild(t,e){this._fireChange("children",this);let n=0;const i=Af(this.document,e);for(const e of i){if(e.parent!==null){e._remove()}e.parent=this;e.document=this.document;this._children.splice(t,0,e);t++;n++}return n}_removeChildren(t,e=1){this._fireChange("children",this);for(let n=t;n0){this._classes.clear();return true}return false}if(t=="style"){if(!this._styles.isEmpty){this._styles.clear();return true}return false}return this._attrs.delete(t)}_addClass(t){this._fireChange("attributes",this);for(const e of ol(t)){this._classes.add(e)}}_removeClass(t){this._fireChange("attributes",this);for(const e of ol(t)){this._classes.delete(e)}}_setStyle(t,e){this._fireChange("attributes",this);if(typeof t!="string"){this._styles.set(t)}else{this._styles.set(t,e)}}_removeStyle(t){this._fireChange("attributes",this);for(const e of ol(t)){this._styles.remove(e)}}_setCustomProperty(t,e){this._customProperties.set(t,e)}_removeCustomProperty(t){return this._customProperties.delete(t)}}bf.prototype.is=function(t,e){if(!e){return t==="element"||t==="view:element"||t==="node"||t==="view:node"}else{return e===this.name&&(t==="element"||t==="view:element")}};function kf(t){const e=wl(t);for(const[t,n]of e){if(n===null){e.delete(t)}else if(typeof n!="string"){e.set(t,String(n))}}return e}function wf(t,e){const n=e.split(/\s+/);t.clear();n.forEach((e=>t.add(e)))}function Af(t,e){if(typeof e=="string"){return[new ph(t,e)]}if(!Dt(e)){e=[e]}return Array.from(e).map((e=>{if(typeof e=="string"){return new ph(t,e)}if(e instanceof bh){return new ph(t,e.data)}return e}))}class Cf extends bf{constructor(t,e,n,i){super(t,e,n,i);this.getFillerOffset=_f}}Cf.prototype.is=function(t,e){if(!e){return t==="containerElement"||t==="view:containerElement"||t==="element"||t==="view:element"||t==="node"||t==="view:node"}else{return e===this.name&&(t==="containerElement"||t==="view:containerElement"||t==="element"||t==="view:element")}};function _f(){const t=[...this.getChildren()];const e=t[this.childCount-1];if(e&&e.is("element","br")){return this.childCount}for(const e of t){if(!e.is("uiElement")){return null}}return this.childCount}class vf extends(gt(Cf)){constructor(t,e,n,i){super(t,e,n,i);this.set("isReadOnly",false);this.set("isFocused",false);this.set("placeholder",undefined);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()}}vf.prototype.is=function(t,e){if(!e){return t==="editableElement"||t==="view:editableElement"||t==="containerElement"||t==="view:containerElement"||t==="element"||t==="view:element"||t==="node"||t==="view:node"}else{return e===this.name&&(t==="editableElement"||t==="view:editableElement"||t==="containerElement"||t==="view:containerElement"||t==="element"||t==="view:element")}};const yf=Symbol("rootName");class xf extends vf{constructor(t,e){super(t,e);this.rootName="main"}get rootName(){return this.getCustomProperty(yf)}set rootName(t){this._setCustomProperty(yf,t)}set _name(t){this.name=t}}xf.prototype.is=function(t,e){if(!e){return t==="rootElement"||t==="view:rootElement"||t==="editableElement"||t==="view:editableElement"||t==="containerElement"||t==="view:containerElement"||t==="element"||t==="view:element"||t==="node"||t==="view:node"}else{return e===this.name&&(t==="rootElement"||t==="view:rootElement"||t==="editableElement"||t==="view:editableElement"||t==="containerElement"||t==="view:containerElement"||t==="element"||t==="view:element")}};class Ef{constructor(t={}){if(!t.boundaries&&!t.startPosition){throw new P("view-tree-walker-no-start-position",null)}if(t.direction&&t.direction!="forward"&&t.direction!="backward"){throw new P("view-tree-walker-unknown-direction",t.startPosition,{direction:t.direction})}this.boundaries=t.boundaries||null;if(t.startPosition){this._position=Df._createAt(t.startPosition)}else{this._position=Df._createAt(t.boundaries[t.direction=="backward"?"end":"start"])}this.direction=t.direction||"forward";this.singleCharacters=!!t.singleCharacters;this.shallow=!!t.shallow;this.ignoreElementEnd=!!t.ignoreElementEnd;this._boundaryStartParent=this.boundaries?this.boundaries.start.parent:null;this._boundaryEndParent=this.boundaries?this.boundaries.end.parent:null}[Symbol.iterator](){return this}get position(){return this._position}skip(t){let e;let n;do{n=this.position;e=this.next()}while(!e.done&&t(e.value));if(!e.done){this._position=n}}next(){if(this.direction=="forward"){return this._next()}else{return this._previous()}}_next(){let t=this.position.clone();const e=this.position;const n=t.parent;if(n.parent===null&&t.offset===n.childCount){return{done:true,value:undefined}}if(n===this._boundaryEndParent&&t.offset==this.boundaries.end.offset){return{done:true,value:undefined}}let i;if(n instanceof ph){if(t.isAtEnd){this._position=Df._createAfter(n);return this._next()}i=n.data[t.offset]}else{i=n.getChild(t.offset)}if(i instanceof bf){if(!this.shallow){t=new Df(i,0)}else{if(this.boundaries&&this.boundaries.end.isBefore(t)){return{done:true,value:undefined}}t.offset++}this._position=t;return this._formatReturnValue("elementStart",i,e,t,1)}if(i instanceof ph){if(this.singleCharacters){t=new Df(i,0);this._position=t;return this._next()}let n=i.data.length;let o;if(i==this._boundaryEndParent){n=this.boundaries.end.offset;o=new bh(i,0,n);t=Df._createAfter(o)}else{o=new bh(i,0,i.data.length);t.offset++}this._position=t;return this._formatReturnValue("text",o,e,t,n)}if(typeof i=="string"){let i;if(this.singleCharacters){i=1}else{const e=n===this._boundaryEndParent?this.boundaries.end.offset:n.data.length;i=e-t.offset}const o=new bh(n,t.offset,i);t.offset+=i;this._position=t;return this._formatReturnValue("text",o,e,t,i)}t=Df._createAfter(n);this._position=t;if(this.ignoreElementEnd){return this._next()}return this._formatReturnValue("elementEnd",n,e,t)}_previous(){let t=this.position.clone();const e=this.position;const n=t.parent;if(n.parent===null&&t.offset===0){return{done:true,value:undefined}}if(n==this._boundaryStartParent&&t.offset==this.boundaries.start.offset){return{done:true,value:undefined}}let i;if(n instanceof ph){if(t.isAtStart){this._position=Df._createBefore(n);return this._previous()}i=n.data[t.offset-1]}else{i=n.getChild(t.offset-1)}if(i instanceof bf){if(this.shallow){t.offset--;this._position=t;return this._formatReturnValue("elementStart",i,e,t,1)}t=new Df(i,i.childCount);this._position=t;if(this.ignoreElementEnd){return this._previous()}return this._formatReturnValue("elementEnd",i,e,t)}if(i instanceof ph){if(this.singleCharacters){t=new Df(i,i.data.length);this._position=t;return this._previous()}let n=i.data.length;let o;if(i==this._boundaryStartParent){const e=this.boundaries.start.offset;o=new bh(i,e,i.data.length-e);n=o.data.length;t=Df._createBefore(o)}else{o=new bh(i,0,i.data.length);t.offset--}this._position=t;return this._formatReturnValue("text",o,e,t,n)}if(typeof i=="string"){let i;if(!this.singleCharacters){const e=n===this._boundaryStartParent?this.boundaries.start.offset:0;i=t.offset-e}else{i=1}t.offset-=i;const o=new bh(n,t.offset,i);this._position=t;return this._formatReturnValue("text",o,e,t,i)}t=Df._createBefore(n);this._position=t;return this._formatReturnValue("elementStart",n,e,t,1)}_formatReturnValue(t,e,n,i,o){if(e instanceof bh){if(e.offsetInText+e.data.length==e.textNode.data.length){if(this.direction=="forward"&&!(this.boundaries&&this.boundaries.end.isEqual(this.position))){i=Df._createAfter(e.textNode);this._position=i}else{n=Df._createAfter(e.textNode)}}if(e.offsetInText===0){if(this.direction=="backward"&&!(this.boundaries&&this.boundaries.start.isEqual(this.position))){i=Df._createBefore(e.textNode);this._position=i}else{n=Df._createBefore(e.textNode)}}}return{done:false,value:{type:t,item:e,previousPosition:n,nextPosition:i,length:o}}}}class Df extends uh{constructor(t,e){super();this.parent=t;this.offset=e}get nodeAfter(){if(this.parent.is("$text")){return null}return this.parent.getChild(this.offset)||null}get nodeBefore(){if(this.parent.is("$text")){return null}return this.parent.getChild(this.offset-1)||null}get isAtStart(){return this.offset===0}get isAtEnd(){const t=this.parent.is("$text")?this.parent.data.length:this.parent.childCount;return this.offset===t}get root(){return this.parent.root}get editableElement(){let t=this.parent;while(!(t instanceof vf)){if(t.parent){t=t.parent}else{return null}}return t}getShiftedBy(t){const e=Df._createAt(this);const n=e.offset+t;e.offset=n<0?0:n;return e}getLastMatchingPosition(t,e={}){e.startPosition=this;const n=new Ef(e);n.skip(t);return n.position}getAncestors(){if(this.parent.is("documentFragment")){return[this.parent]}else{return this.parent.getAncestors({includeSelf:true})}}getCommonAncestor(t){const e=this.getAncestors();const n=t.getAncestors();let i=0;while(e[i]==n[i]&&e[i]){i++}return i===0?null:e[i-1]}isEqual(t){return this.parent==t.parent&&this.offset==t.offset}isBefore(t){return this.compareWith(t)=="before"}isAfter(t){return this.compareWith(t)=="after"}compareWith(t){if(this.root!==t.root){return"different"}if(this.isEqual(t)){return"same"}const e=this.parent.is("node")?this.parent.getPath():[];const n=t.parent.is("node")?t.parent.getPath():[];e.push(this.offset);n.push(t.offset);const i=Et(e,n);switch(i){case"prefix":return"before";case"extension":return"after";default:return e[i]0?new this(n,i):new this(i,n)}static _createIn(t){return this._createFromParentsAndOffsets(t,0,t,t.childCount)}static _createOn(t){const e=t.is("$textProxy")?t.offsetSize:1;return this._createFromPositionAndShift(Df._createBefore(t),e)}}Tf.prototype.is=function(t){return t==="range"||t==="view:range"};function If(t){if(t.item.is("attributeElement")||t.item.is("uiElement")){return true}return false}class Sf extends(Z(uh)){constructor(...t){super();this._ranges=[];this._lastRangeBackward=false;this._isFake=false;this._fakeSelectionLabel="";if(t.length){this.setTo(...t)}}get isFake(){return this._isFake}get fakeSelectionLabel(){return this._fakeSelectionLabel}get anchor(){if(!this._ranges.length){return null}const t=this._ranges[this._ranges.length-1];const e=this._lastRangeBackward?t.end:t.start;return e.clone()}get focus(){if(!this._ranges.length){return null}const t=this._ranges[this._ranges.length-1];const e=this._lastRangeBackward?t.start:t.end;return e.clone()}get isCollapsed(){return this.rangeCount===1&&this._ranges[0].isCollapsed}get rangeCount(){return this._ranges.length}get isBackward(){return!this.isCollapsed&&this._lastRangeBackward}get editableElement(){if(this.anchor){return this.anchor.editableElement}return null}*getRanges(){for(const t of this._ranges){yield t.clone()}}getFirstRange(){let t=null;for(const e of this._ranges){if(!t||e.start.isBefore(t.start)){t=e}}return t?t.clone():null}getLastRange(){let t=null;for(const e of this._ranges){if(!t||e.end.isAfter(t.end)){t=e}}return t?t.clone():null}getFirstPosition(){const t=this.getFirstRange();return t?t.start.clone():null}getLastPosition(){const t=this.getLastRange();return t?t.end.clone():null}isEqual(t){if(this.isFake!=t.isFake){return false}if(this.isFake&&this.fakeSelectionLabel!=t.fakeSelectionLabel){return false}if(this.rangeCount!=t.rangeCount){return false}else if(this.rangeCount===0){return true}if(!this.anchor.isEqual(t.anchor)||!this.focus.isEqual(t.focus)){return false}for(const e of this._ranges){let n=false;for(const i of t._ranges){if(e.isEqual(i)){n=true;break}}if(!n){return false}}return true}isSimilar(t){if(this.isBackward!=t.isBackward){return false}const e=xt(this.getRanges());const n=xt(t.getRanges());if(e!=n){return false}if(e==0){return true}for(let e of this.getRanges()){e=e.getTrimmed();let n=false;for(let i of t.getRanges()){i=i.getTrimmed();if(e.start.isEqual(i.start)&&e.end.isEqual(i.end)){n=true;break}}if(!n){return false}}return true}getSelectedElement(){if(this.rangeCount!==1){return null}return this.getFirstRange().getContainedElement()}setTo(...t){let[e,n,i]=t;if(typeof n=="object"){i=n;n=undefined}if(e===null){this._setRanges([]);this._setFakeOptions(i)}else if(e instanceof Sf||e instanceof Bf){this._setRanges(e.getRanges(),e.isBackward);this._setFakeOptions({fake:e.isFake,label:e.fakeSelectionLabel})}else if(e instanceof Tf){this._setRanges([e],i&&i.backward);this._setFakeOptions(i)}else if(e instanceof Df){this._setRanges([new Tf(e)]);this._setFakeOptions(i)}else if(e instanceof mh){const t=!!i&&!!i.backward;let o;if(n===undefined){throw new P("view-selection-setto-required-second-parameter",this)}else if(n=="in"){o=Tf._createIn(e)}else if(n=="on"){o=Tf._createOn(e)}else{o=new Tf(Df._createAt(e,n))}this._setRanges([o],t);this._setFakeOptions(i)}else if(Dt(e)){this._setRanges(e,i&&i.backward);this._setFakeOptions(i)}else{throw new P("view-selection-setto-not-selectable",this)}this.fire("change")}setFocus(t,e){if(this.anchor===null){throw new P("view-selection-setfocus-no-ranges",this)}const n=Df._createAt(t,e);if(n.compareWith(this.focus)=="same"){return}const i=this.anchor;this._ranges.pop();if(n.compareWith(i)=="before"){this._addRange(new Tf(n,i),true)}else{this._addRange(new Tf(i,n))}this.fire("change")}_setRanges(t,e=false){t=Array.from(t);this._ranges=[];for(const e of t){this._addRange(e)}this._lastRangeBackward=!!e}_setFakeOptions(t={}){this._isFake=!!t.fake;this._fakeSelectionLabel=t.fake?t.label||"":""}_addRange(t,e=false){if(!(t instanceof Tf)){throw new P("view-selection-add-range-not-range",this)}this._pushRange(t);this._lastRangeBackward=!!e}_pushRange(t){for(const e of this._ranges){if(t.isIntersecting(e)){throw new P("view-selection-range-intersects",this,{addedRange:t,intersectingRange:e})}}this._ranges.push(new Tf(t.start,t.end))}}Sf.prototype.is=function(t){return t==="selection"||t==="view:selection"};class Bf extends(Z(uh)){constructor(...t){super();this._selection=new Sf;this._selection.delegate("change").to(this);if(t.length){this._selection.setTo(...t)}}get isFake(){return this._selection.isFake}get fakeSelectionLabel(){return this._selection.fakeSelectionLabel}get anchor(){return this._selection.anchor}get focus(){return this._selection.focus}get isCollapsed(){return this._selection.isCollapsed}get rangeCount(){return this._selection.rangeCount}get isBackward(){return this._selection.isBackward}get editableElement(){return this._selection.editableElement}get _ranges(){return this._selection._ranges}*getRanges(){yield*this._selection.getRanges()}getFirstRange(){return this._selection.getFirstRange()}getLastRange(){return this._selection.getLastRange()}getFirstPosition(){return this._selection.getFirstPosition()}getLastPosition(){return this._selection.getLastPosition()}getSelectedElement(){return this._selection.getSelectedElement()}isEqual(t){return this._selection.isEqual(t)}isSimilar(t){return this._selection.isSimilar(t)}_setTo(...t){this._selection.setTo(...t)}_setFocus(t,e){this._selection.setFocus(t,e)}}Bf.prototype.is=function(t){return t==="selection"||t=="documentSelection"||t=="view:selection"||t=="view:documentSelection"};class Mf extends D{constructor(t,e,n){super(t,e);this.startRange=n;this._eventPhase="none";this._currentTarget=null}get eventPhase(){return this._eventPhase}get currentTarget(){return this._currentTarget}}const Nf=Symbol("bubbling contexts");function Pf(t){class e extends t{fire(t,...e){try{const n=t instanceof D?t:new D(this,t);const i=Rf(this);if(!i.size){return}Lf(n,"capturing",this);if(zf(i,"$capture",n,...e)){return n.return}const o=n.startRange||this.selection.getFirstRange();const r=o?o.getContainedElement():null;const s=r?Boolean(Vf(i,r)):false;let a=r||Of(o);Lf(n,"atTarget",a);if(!s){if(zf(i,"$text",n,...e)){return n.return}Lf(n,"bubbling",a)}while(a){if(a.is("rootElement")){if(zf(i,"$root",n,...e)){return n.return}}else if(a.is("element")){if(zf(i,a.name,n,...e)){return n.return}}if(zf(i,a,n,...e)){return n.return}a=a.parent;Lf(n,"bubbling",a)}Lf(n,"bubbling",this);zf(i,"$document",n,...e);return n.return}catch(t){P.rethrowUnexpectedError(t,this)}}_addEventListener(t,e,n){const i=ol(n.context||"$document");const o=Rf(this);for(const r of i){let i=o.get(r);if(!i){i=new(Z());o.set(r,i)}this.listenTo(i,t,e,n)}}_removeEventListener(t,e){const n=Rf(this);for(const i of n.values()){this.stopListening(i,t,e)}}}return e}{const t=Pf(Object);["fire","_addEventListener","_removeEventListener"].forEach((e=>{Pf[e]=t.prototype[e]}))}function Lf(t,e,n){if(t instanceof Mf){t._eventPhase=e;t._currentTarget=n}}function zf(t,e,n,...i){const o=typeof e=="string"?t.get(e):Vf(t,e);if(!o){return false}o.fire(n,...i);return n.stop.called}function Vf(t,e){for(const[n,i]of t){if(typeof n=="function"&&n(e)){return i}}return null}function Rf(t){if(!t[Nf]){t[Nf]=new Map}return t[Nf]}function Of(t){if(!t){return null}const e=t.start.parent;const n=t.end.parent;const i=e.getPath();const o=n.getPath();return i.length>o.length?e:n}class Ff extends(Pf(gt())){constructor(t){super();this._postFixers=new Set;this.selection=new Bf;this.roots=new fl({idProperty:"rootName"});this.stylesProcessor=t;this.set("isReadOnly",false);this.set("isFocused",false);this.set("isSelecting",false);this.set("isComposing",false)}getRoot(t="main"){return this.roots.get(t)}registerPostFixer(t){this._postFixers.add(t)}destroy(){this.roots.forEach((t=>t.destroy()));this.stopListening()}_callPostFixers(t){let e=false;do{for(const n of this._postFixers){e=n(t);if(e){break}}}while(e)}}const jf=10;class Hf extends bf{constructor(t,e,n,i){super(t,e,n,i);this._priority=jf;this._id=null;this._clonesGroup=null;this.getFillerOffset=Wf}get priority(){return this._priority}get id(){return this._id}getElementsWithSameId(){if(this.id===null){throw new P("attribute-element-get-elements-with-same-id-no-id",this)}return new Set(this._clonesGroup)}isSimilar(t){if(this.id!==null||t.id!==null){return this.id===t.id}return super.isSimilar(t)&&this.priority==t.priority}_clone(t=false){const e=super._clone(t);e._priority=this._priority;e._id=this._id;return e}}Hf.DEFAULT_PRIORITY=jf;const Uf=Hf;Hf.prototype.is=function(t,e){if(!e){return t==="attributeElement"||t==="view:attributeElement"||t==="element"||t==="view:element"||t==="node"||t==="view:node"}else{return e===this.name&&(t==="attributeElement"||t==="view:attributeElement"||t==="element"||t==="view:element")}};function Wf(){if(Gf(this)){return null}let t=this.parent;while(t&&t.is("attributeElement")){if(Gf(t)>1){return null}t=t.parent}if(!t||Gf(t)>1){return null}return this.childCount}function Gf(t){return Array.from(t.getChildren()).filter((t=>!t.is("uiElement"))).length}class qf extends bf{constructor(t,e,n,i){super(t,e,n,i);this.getFillerOffset=Zf}_insertChild(t,e){if(e&&(e instanceof mh||Array.from(e).length>0)){throw new P("view-emptyelement-cannot-add",[this,e])}return 0}}qf.prototype.is=function(t,e){if(!e){return t==="emptyElement"||t==="view:emptyElement"||t==="element"||t==="view:element"||t==="node"||t==="view:node"}else{return e===this.name&&(t==="emptyElement"||t==="view:emptyElement"||t==="element"||t==="view:element")}};function Zf(){return null}class $f extends bf{constructor(t,e,n,i){super(t,e,n,i);this.getFillerOffset=Yf}_insertChild(t,e){if(e&&(e instanceof mh||Array.from(e).length>0)){throw new P("view-uielement-cannot-add",[this,e])}return 0}render(t,e){return this.toDomElement(t)}toDomElement(t){const e=t.createElement(this.name);for(const t of this.getAttributeKeys()){e.setAttribute(t,this.getAttribute(t))}return e}}$f.prototype.is=function(t,e){if(!e){return t==="uiElement"||t==="view:uiElement"||t==="element"||t==="view:element"||t==="node"||t==="view:node"}else{return e===this.name&&(t==="uiElement"||t==="view:uiElement"||t==="element"||t==="view:element")}};function Kf(t){t.document.on("arrowKey",((e,n)=>Qf(e,n,t.domConverter)),{priority:"low"})}function Yf(){return null}function Qf(t,e,n){if(e.keyCode==Zc.arrowright){const t=e.domTarget.ownerDocument.defaultView.getSelection();const i=t.rangeCount==1&&t.getRangeAt(0).collapsed;if(i||e.shiftKey){const e=t.focusNode;const o=t.focusOffset;const r=n.domPositionToView(e,o);if(r===null){return}let s=false;const a=r.getLastMatchingPosition((t=>{if(t.item.is("uiElement")){s=true}if(t.item.is("uiElement")||t.item.is("attributeElement")){return true}return false}));if(s){const e=n.viewPositionToDom(a);if(i){t.collapse(e.parent,e.offset)}else{t.extend(e.parent,e.offset)}}}}}class Jf extends bf{constructor(t,e,n,i){super(t,e,n,i);this.getFillerOffset=Xf}_insertChild(t,e){if(e&&(e instanceof mh||Array.from(e).length>0)){throw new P("view-rawelement-cannot-add",[this,e])}return 0}render(t,e){}}Jf.prototype.is=function(t,e){if(!e){return t==="rawElement"||t==="view:rawElement"||t===this.name||t==="view:"+this.name||t==="element"||t==="view:element"||t==="node"||t==="view:node"}else{return e===this.name&&(t==="rawElement"||t==="view:rawElement"||t==="element"||t==="view:element")}};function Xf(){return null}class tm extends(Z(uh)){constructor(t,e){super();this._children=[];this._customProperties=new Map;this.document=t;if(e){this._insertChild(0,e)}}[Symbol.iterator](){return this._children[Symbol.iterator]()}get childCount(){return this._children.length}get isEmpty(){return this.childCount===0}get root(){return this}get parent(){return null}get name(){return undefined}get getFillerOffset(){return undefined}getCustomProperty(t){return this._customProperties.get(t)}*getCustomProperties(){yield*this._customProperties.entries()}_appendChild(t){return this._insertChild(this.childCount,t)}getChild(t){return this._children[t]}getChildIndex(t){return this._children.indexOf(t)}getChildren(){return this._children[Symbol.iterator]()}_insertChild(t,e){this._fireChange("children",this);let n=0;const i=em(this.document,e);for(const e of i){if(e.parent!==null){e._remove()}e.parent=this;this._children.splice(t,0,e);t++;n++}return n}_removeChildren(t,e=1){this._fireChange("children",this);for(let n=t;n{if(typeof e=="string"){return new ph(t,e)}if(e instanceof bh){return new ph(t,e.data)}return e}))}class nm{constructor(t){this._cloneGroups=new Map;this._slotFactory=null;this.document=t}setSelection(...t){this.document.selection._setTo(...t)}setSelectionFocus(t,e){this.document.selection._setFocus(t,e)}createDocumentFragment(t){return new tm(this.document,t)}createText(t){return new ph(this.document,t)}createAttributeElement(t,e,n={}){const i=new Uf(this.document,t,e);if(typeof n.priority==="number"){i._priority=n.priority}if(n.id){i._id=n.id}if(n.renderUnsafeAttributes){i._unsafeAttributesToRender.push(...n.renderUnsafeAttributes)}return i}createContainerElement(t,e,n={},i={}){let o=null;if(me(n)){i=n}else{o=n}const r=new Cf(this.document,t,e,o);if(i.renderUnsafeAttributes){r._unsafeAttributesToRender.push(...i.renderUnsafeAttributes)}return r}createEditableElement(t,e,n={}){const i=new vf(this.document,t,e);if(n.renderUnsafeAttributes){i._unsafeAttributesToRender.push(...n.renderUnsafeAttributes)}return i}createEmptyElement(t,e,n={}){const i=new qf(this.document,t,e);if(n.renderUnsafeAttributes){i._unsafeAttributesToRender.push(...n.renderUnsafeAttributes)}return i}createUIElement(t,e,n){const i=new $f(this.document,t,e);if(n){i.render=n}return i}createRawElement(t,e,n,i={}){const o=new Jf(this.document,t,e);if(n){o.render=n}if(i.renderUnsafeAttributes){o._unsafeAttributesToRender.push(...i.renderUnsafeAttributes)}return o}setAttribute(t,e,n){n._setAttribute(t,e)}removeAttribute(t,e){e._removeAttribute(t)}addClass(t,e){e._addClass(t)}removeClass(t,e){e._removeClass(t)}setStyle(t,e,n){if(me(t)&&n===undefined){e._setStyle(t)}else{n._setStyle(t,e)}}removeStyle(t,e){e._removeStyle(t)}setCustomProperty(t,e,n){n._setCustomProperty(t,e)}removeCustomProperty(t,e){return e._removeCustomProperty(t)}breakAttributes(t){if(t instanceof Df){return this._breakAttributes(t)}else{return this._breakAttributesRange(t)}}breakContainer(t){const e=t.parent;if(!e.is("containerElement")){throw new P("view-writer-break-non-container-element",this.document)}if(!e.parent){throw new P("view-writer-break-root",this.document)}if(t.isAtStart){return Df._createBefore(e)}else if(!t.isAtEnd){const n=e._clone(false);this.insert(Df._createAfter(e),n);const i=new Tf(t,Df._createAt(e,"end"));const o=new Df(n,0);this.move(i,o)}return Df._createAfter(e)}mergeAttributes(t){const e=t.offset;const n=t.parent;if(n.is("$text")){return t}if(n.is("attributeElement")&&n.childCount===0){const t=n.parent;const e=n.index;n._remove();this._removeFromClonedElementsGroup(n);return this.mergeAttributes(new Df(t,e))}const i=n.getChild(e-1);const o=n.getChild(e);if(!i||!o){return t}if(i.is("$text")&&o.is("$text")){return cm(i,o)}else if(i.is("attributeElement")&&o.is("attributeElement")&&i.isSimilar(o)){const t=i.childCount;i._appendChild(o.getChildren());o._remove();this._removeFromClonedElementsGroup(o);return this.mergeAttributes(new Df(i,t))}return t}mergeContainers(t){const e=t.nodeBefore;const n=t.nodeAfter;if(!e||!n||!e.is("containerElement")||!n.is("containerElement")){throw new P("view-writer-merge-containers-invalid-position",this.document)}const i=e.getChild(e.childCount-1);const o=i instanceof ph?Df._createAt(i,"end"):Df._createAt(e,"end");this.move(Tf._createIn(n),Df._createAt(e,"end"));this.remove(Tf._createOn(n));return o}insert(t,e){e=Dt(e)?[...e]:[e];dm(e,this.document);const n=e.reduce(((t,e)=>{const n=t[t.length-1];const i=!e.is("uiElement");if(!n||n.breakAttributes!=i){t.push({breakAttributes:i,nodes:[e]})}else{n.nodes.push(e)}return t}),[]);let i=null;let o=t;for(const{nodes:t,breakAttributes:e}of n){const n=this._insertNodes(o,t,e);if(!i){i=n.start}o=n.end}if(!i){return new Tf(t)}return new Tf(i,o)}remove(t){const e=t instanceof Tf?t:Tf._createOn(t);hm(e,this.document);if(e.isCollapsed){return new tm(this.document)}const{start:n,end:i}=this._breakAttributesRange(e,true);const o=n.parent;const r=i.offset-n.offset;const s=o._removeChildren(n.offset,r);for(const t of s){this._removeFromClonedElementsGroup(t)}const a=this.mergeAttributes(n);e.start=a;e.end=a.clone();return new tm(this.document,s)}clear(t,e){hm(t,this.document);const n=t.getWalker({direction:"backward",ignoreElementEnd:true});for(const i of n){const n=i.item;let o;if(n.is("element")&&e.isSimilar(n)){o=Tf._createOn(n)}else if(!i.nextPosition.isAfter(t.start)&&n.is("$textProxy")){const t=n.getAncestors().find((t=>t.is("element")&&e.isSimilar(t)));if(t){o=Tf._createIn(t)}}if(o){if(o.end.isAfter(t.end)){o.end=t.end}if(o.start.isBefore(t.start)){o.start=t.start}this.remove(o)}}}move(t,e){let n;if(e.isAfter(t.end)){e=this._breakAttributes(e,true);const i=e.parent;const o=i.childCount;t=this._breakAttributesRange(t,true);n=this.remove(t);e.offset+=i.childCount-o}else{n=this.remove(t)}return this.insert(e,n)}wrap(t,e){if(!(e instanceof Uf)){throw new P("view-writer-wrap-invalid-attribute",this.document)}hm(t,this.document);if(!t.isCollapsed){return this._wrapRange(t,e)}else{let n=t.start;if(n.parent.is("element")&&!im(n.parent)){n=n.getLastMatchingPosition((t=>t.item.is("uiElement")))}n=this._wrapPosition(n,e);const i=this.document.selection;if(i.isCollapsed&&i.getFirstPosition().isEqual(t.start)){this.setSelection(n)}return new Tf(n)}}unwrap(t,e){if(!(e instanceof Uf)){throw new P("view-writer-unwrap-invalid-attribute",this.document)}hm(t,this.document);if(t.isCollapsed){return t}const{start:n,end:i}=this._breakAttributesRange(t,true);const o=n.parent;const r=this._unwrapChildren(o,n.offset,i.offset,e);const s=this.mergeAttributes(r.start);if(!s.isEqual(r.start)){r.end.offset--}const a=this.mergeAttributes(r.end);return new Tf(s,a)}rename(t,e){const n=new Cf(this.document,t,e.getAttributes());this.insert(Df._createAfter(e),n);this.move(Tf._createIn(e),Df._createAt(n,0));this.remove(Tf._createOn(e));return n}clearClonedElementsGroup(t){this._cloneGroups.delete(t)}createPositionAt(t,e){return Df._createAt(t,e)}createPositionAfter(t){return Df._createAfter(t)}createPositionBefore(t){return Df._createBefore(t)}createRange(t,e){return new Tf(t,e)}createRangeOn(t){return Tf._createOn(t)}createRangeIn(t){return Tf._createIn(t)}createSelection(...t){return new Sf(...t)}createSlot(t="children"){if(!this._slotFactory){throw new P("view-writer-invalid-create-slot-context",this.document)}return this._slotFactory(this,t)}_registerSlotFactory(t){this._slotFactory=t}_clearSlotFactory(){this._slotFactory=null}_insertNodes(t,e,n){let i;if(n){i=om(t)}else{i=t.parent.is("$text")?t.parent.parent:t.parent}if(!i){throw new P("view-writer-invalid-position-container",this.document)}let o;if(n){o=this._breakAttributes(t,true)}else{o=t.parent.is("$text")?am(t):t}const r=i._insertChild(o.offset,e);for(const t of e){this._addToClonedElementsGroup(t)}const s=o.getShiftedBy(r);const a=this.mergeAttributes(o);if(!a.isEqual(o)){s.offset--}const c=this.mergeAttributes(s);return new Tf(a,c)}_wrapChildren(t,e,n,i){let o=e;const r=[];while(ofalse;t.parent._insertChild(t.offset,n);const i=new Tf(t,t.getShiftedBy(1));this.wrap(i,e);const o=new Df(n.parent,n.index);n._remove();const r=o.nodeBefore;const s=o.nodeAfter;if(r instanceof ph&&s instanceof ph){return cm(r,s)}return sm(o)}_wrapAttributeElement(t,e){if(!gm(t,e)){return false}if(t.name!==e.name||t.priority!==e.priority){return false}for(const n of t.getAttributeKeys()){if(n==="class"||n==="style"){continue}if(e.hasAttribute(n)&&e.getAttribute(n)!==t.getAttribute(n)){return false}}for(const n of t.getStyleNames()){if(e.hasStyle(n)&&e.getStyle(n)!==t.getStyle(n)){return false}}for(const n of t.getAttributeKeys()){if(n==="class"||n==="style"){continue}if(!e.hasAttribute(n)){this.setAttribute(n,t.getAttribute(n),e)}}for(const n of t.getStyleNames()){if(!e.hasStyle(n)){this.setStyle(n,t.getStyle(n),e)}}for(const n of t.getClassNames()){if(!e.hasClass(n)){this.addClass(n,e)}}return true}_unwrapAttributeElement(t,e){if(!gm(t,e)){return false}if(t.name!==e.name||t.priority!==e.priority){return false}for(const n of t.getAttributeKeys()){if(n==="class"||n==="style"){continue}if(!e.hasAttribute(n)||e.getAttribute(n)!==t.getAttribute(n)){return false}}if(!e.hasClass(...t.getClassNames())){return false}for(const n of t.getStyleNames()){if(!e.hasStyle(n)||e.getStyle(n)!==t.getStyle(n)){return false}}for(const n of t.getAttributeKeys()){if(n==="class"||n==="style"){continue}this.removeAttribute(n,e)}this.removeClass(Array.from(t.getClassNames()),e);this.removeStyle(Array.from(t.getStyleNames()),e);return true}_breakAttributesRange(t,e=false){const n=t.start;const i=t.end;hm(t,this.document);if(t.isCollapsed){const n=this._breakAttributes(t.start,e);return new Tf(n,n)}const o=this._breakAttributes(i,e);const r=o.parent.childCount;const s=this._breakAttributes(n,e);o.offset+=o.parent.childCount-r;return new Tf(s,o)}_breakAttributes(t,e=false){const n=t.offset;const i=t.parent;if(t.parent.is("emptyElement")){throw new P("view-writer-cannot-break-empty-element",this.document)}if(t.parent.is("uiElement")){throw new P("view-writer-cannot-break-ui-element",this.document)}if(t.parent.is("rawElement")){throw new P("view-writer-cannot-break-raw-element",this.document)}if(!e&&i.is("$text")&&um(i.parent)){return t.clone()}if(um(i)){return t.clone()}if(i.is("$text")){return this._breakAttributes(am(t),e)}const o=i.childCount;if(n==o){const t=new Df(i.parent,i.index+1);return this._breakAttributes(t,e)}else{if(n===0){const t=new Df(i.parent,i.index);return this._breakAttributes(t,e)}else{const t=i.index+1;const o=i._clone();i.parent._insertChild(t,o);this._addToClonedElementsGroup(o);const r=i.childCount-n;const s=i._removeChildren(n,r);o._appendChild(s);const a=new Df(i.parent,t);return this._breakAttributes(a,e)}}}_addToClonedElementsGroup(t){if(!t.root.is("rootElement")){return}if(t.is("element")){for(const e of t.getChildren()){this._addToClonedElementsGroup(e)}}const e=t.id;if(!e){return}let n=this._cloneGroups.get(e);if(!n){n=new Set;this._cloneGroups.set(e,n)}n.add(t);t._clonesGroup=n}_removeFromClonedElementsGroup(t){if(t.is("element")){for(const e of t.getChildren()){this._removeFromClonedElementsGroup(e)}}const e=t.id;if(!e){return}const n=this._cloneGroups.get(e);if(!n){return}n.delete(t)}}function im(t){return Array.from(t.getChildren()).some((t=>!t.is("uiElement")))}function om(t){let e=t.parent;while(!um(e)){if(!e){return undefined}e=e.parent}return e}function rm(t,e){if(t.prioritye.priority){return false}return t.getIdentity()n instanceof t))){throw new P("view-writer-insert-invalid-node-type",e)}if(!n.is("$text")){dm(n.getChildren(),e)}}}function um(t){return t&&(t.is("containerElement")||t.is("documentFragment"))}function hm(t,e){const n=om(t.start);const i=om(t.end);if(!n||!i||n!==i){throw new P("view-writer-invalid-range-container",e)}}function gm(t,e){return t.id===null&&e.id===null}const fm=t=>t.createTextNode(" ");const mm=t=>{const e=t.createElement("span");e.dataset.ckeFiller="true";e.innerText=" ";return e};const pm=t=>{const e=t.createElement("br");e.dataset.ckeFiller="true";return e};const bm=7;const km="⁠".repeat(bm);function wm(t){if(typeof t=="string"){return t.substr(0,bm)===km}return sc(t)&&t.data.substr(0,bm)===km}function Am(t){return t.data.length==bm&&wm(t)}function Cm(t){const e=typeof t=="string"?t:t.data;if(wm(t)){return e.slice(bm)}return e}function _m(t){t.document.on("arrowKey",vm,{priority:"low"})}function vm(t,e){if(e.keyCode==Zc.arrowleft){const t=e.domTarget.ownerDocument.defaultView.getSelection();if(t.rangeCount==1&&t.getRangeAt(0).collapsed){const e=t.getRangeAt(0).startContainer;const n=t.getRangeAt(0).startOffset;if(wm(e)&&n<=bm){t.collapse(e,0)}}}}var ym=n(5037);var xm={injectType:"singletonStyleTag",attributes:{"data-cke":true}};xm.insert="head";xm.singleton=true;var Em=Ll()(ym.Z,xm);const Dm=ym.Z.locals||{};class Tm extends(gt()){constructor(t,e){super();this.domDocuments=new Set;this.markedAttributes=new Set;this.markedChildren=new Set;this.markedTexts=new Set;this._inlineFiller=null;this._fakeSelectionContainer=null;this.domConverter=t;this.selection=e;this.set("isFocused",false);this.set("isSelecting",false);if(l.isBlink&&!l.isAndroid){this.on("change:isSelecting",(()=>{if(!this.isSelecting){this.render()}}))}this.set("isComposing",false);this.on("change:isComposing",(()=>{if(!this.isComposing){this.render()}}))}markToSync(t,e){if(t==="text"){if(this.domConverter.mapViewToDom(e.parent)){this.markedTexts.add(e)}}else{if(!this.domConverter.mapViewToDom(e)){return}if(t==="attributes"){this.markedAttributes.add(e)}else if(t==="children"){this.markedChildren.add(e)}else{const e=t;throw new P("view-renderer-unknown-type",this)}}}render(){if(this.isComposing&&!l.isAndroid){return}let t=null;const e=l.isBlink&&!l.isAndroid?!this.isSelecting:true;for(const t of this.markedChildren){this._updateChildrenMappings(t)}if(e){if(this._inlineFiller&&!this._isSelectionInInlineFiller()){this._removeInlineFiller()}if(this._inlineFiller){t=this._getInlineFillerPosition()}else if(this._needsInlineFillerAtSelection()){t=this.selection.getFirstPosition();this.markedChildren.add(t.parent)}}else if(this._inlineFiller&&this._inlineFiller.parentNode){t=this.domConverter.domPositionToView(this._inlineFiller);if(t&&t.parent.is("$text")){t=Df._createBefore(t.parent)}}for(const t of this.markedAttributes){this._updateAttrs(t)}for(const e of this.markedChildren){this._updateChildren(e,{inlineFillerPosition:t})}for(const e of this.markedTexts){if(!this.markedChildren.has(e.parent)&&this.domConverter.mapViewToDom(e.parent)){this._updateText(e,{inlineFillerPosition:t})}}if(e){if(t){const e=this.domConverter.viewPositionToDom(t);const n=e.parent.ownerDocument;if(!wm(e.parent)){this._inlineFiller=Sm(n,e.parent,e.offset)}else{this._inlineFiller=e.parent}}else{this._inlineFiller=null}}this._updateFocus();this._updateSelection();this.domConverter._clearTemporaryCustomProperties();this.markedTexts.clear();this.markedAttributes.clear();this.markedChildren.clear()}_updateChildrenMappings(t){const e=this.domConverter.mapViewToDom(t);if(!e){return}const n=Array.from(e.childNodes);const i=Array.from(this.domConverter.viewChildrenToDom(t,{withChildren:false}));const o=this._diffNodeLists(n,i);const r=this._findUpdateActions(o,n,i,Bm);if(r.indexOf("update")!==-1){const e={equal:0,insert:0,delete:0};for(const o of r){if(o==="update"){const o=e.equal+e.insert;const r=e.equal+e.delete;const s=t.getChild(o);if(s&&!s.is("uiElement")&&!s.is("rawElement")){this._updateElementMappings(s,n[r])}Mc(i[o]);e.equal++}else{e[o]++}}}}_updateElementMappings(t,e){this.domConverter.unbindDomElement(e);this.domConverter.bindElements(e,t);this.markedChildren.add(t);this.markedAttributes.add(t)}_getInlineFillerPosition(){const t=this.selection.getFirstPosition();if(t.parent.is("$text")){return Df._createBefore(t.parent)}else{return t}}_isSelectionInInlineFiller(){if(this.selection.rangeCount!=1||!this.selection.isCollapsed){return false}const t=this.selection.getFirstPosition();const e=this.domConverter.viewPositionToDom(t);if(e&&sc(e.parent)&&wm(e.parent)){return true}return false}_removeInlineFiller(){const t=this._inlineFiller;if(!wm(t)){throw new P("view-renderer-filler-was-lost",this)}if(Am(t)){t.remove()}else{t.data=t.data.substr(bm)}this._inlineFiller=null}_needsInlineFillerAtSelection(){if(this.selection.rangeCount!=1||!this.selection.isCollapsed){return false}const t=this.selection.getFirstPosition();const e=t.parent;const n=t.offset;if(!this.domConverter.mapViewToDom(e.root)){return false}if(!e.is("element")){return false}if(!Im(e)){return false}if(n===e.getFillerOffset()){return false}const i=t.nodeBefore;const o=t.nodeAfter;if(i instanceof ph||o instanceof ph){return false}if(l.isAndroid&&(i||o)){return false}return true}_updateText(t,e){const n=this.domConverter.findCorrespondingDomText(t);const i=this.domConverter.viewToDom(t);let o=i.data;const r=e.inlineFillerPosition;if(r&&r.parent==t.parent&&r.offset==t.index){o=km+o}Vm(n,o)}_updateAttrs(t){const e=this.domConverter.mapViewToDom(t);if(!e){return}const n=Array.from(e.attributes).map((t=>t.name));const i=t.getAttributeKeys();for(const n of i){this.domConverter.setDomElementAttribute(e,n,t.getAttribute(n),t)}for(const i of n){if(!t.hasAttribute(i)){this.domConverter.removeDomElementAttribute(e,i)}}}_updateChildren(t,e){const n=this.domConverter.mapViewToDom(t);if(!n){return}if(l.isAndroid){let t=null;for(const e of Array.from(n.childNodes)){if(t&&sc(t)&&sc(e)){n.normalize();break}t=e}}const i=e.inlineFillerPosition;const o=n.childNodes;const r=Array.from(this.domConverter.viewChildrenToDom(t,{bind:true}));if(i&&i.parent===t){Sm(n.ownerDocument,r,i.offset)}const s=this._diffNodeLists(o,r);const a=this._findUpdateActions(s,o,r,Mm);let c=0;const d=new Set;for(const t of a){if(t==="delete"){d.add(o[c]);Mc(o[c])}else if(t==="equal"||t==="update"){c++}}c=0;for(const t of a){if(t==="insert"){vc(n,c,r[c]);c++}else if(t==="update"){Vm(o[c],r[c].data);c++}else if(t==="equal"){this._markDescendantTextToSync(this.domConverter.domToView(r[c]));c++}}for(const t of d){if(!t.parentNode){this.domConverter.unbindDomElement(t)}}}_diffNodeLists(t,e){t=Lm(t,this._fakeSelectionContainer);return y(t,e,Nm.bind(null,this.domConverter))}_findUpdateActions(t,e,n,i){if(t.indexOf("insert")===-1||t.indexOf("delete")===-1){return t}let o=[];let r=[];let s=[];const a={equal:0,insert:0,delete:0};for(const c of t){if(c==="insert"){s.push(n[a.equal+a.insert])}else if(c==="delete"){r.push(e[a.equal+a.delete])}else{o=o.concat(y(r,s,i).map((t=>t==="equal"?"update":t)));o.push("equal");r=[];s=[]}a[c]++}return o.concat(y(r,s,i).map((t=>t==="equal"?"update":t)))}_markDescendantTextToSync(t){if(!t){return}if(t.is("$text")){this.markedTexts.add(t)}else if(t.is("element")){for(const e of t.getChildren()){this._markDescendantTextToSync(e)}}}_updateSelection(){if(l.isBlink&&!l.isAndroid&&this.isSelecting&&!this.markedChildren.size){return}if(this.selection.rangeCount===0){this._removeDomSelection();this._removeFakeSelection();return}const t=this.domConverter.mapViewToDom(this.selection.editableElement);if(!this.isFocused||!t){return}if(this.selection.isFake){this._updateFakeSelection(t)}else if(this._fakeSelectionContainer&&this._fakeSelectionContainer.isConnected){this._removeFakeSelection();this._updateDomSelection(t)}else if(!(this.isComposing&&l.isAndroid)){this._updateDomSelection(t)}}_updateFakeSelection(t){const e=t.ownerDocument;if(!this._fakeSelectionContainer){this._fakeSelectionContainer=zm(e)}const n=this._fakeSelectionContainer;this.domConverter.bindFakeSelection(n,this.selection);if(!this._fakeSelectionNeedsUpdate(t)){return}if(!n.parentElement||n.parentElement!=t){t.appendChild(n)}n.textContent=this.selection.fakeSelectionLabel||" ";const i=e.getSelection();const o=e.createRange();i.removeAllRanges();o.selectNodeContents(n);i.addRange(o)}_updateDomSelection(t){const e=t.ownerDocument.defaultView.getSelection();if(!this._domSelectionNeedsUpdate(e)){return}const n=this.domConverter.viewPositionToDom(this.selection.anchor);const i=this.domConverter.viewPositionToDom(this.selection.focus);e.setBaseAndExtent(n.parent,n.offset,i.parent,i.offset);if(l.isGecko){Pm(i,e)}}_domSelectionNeedsUpdate(t){if(!this.domConverter.isDomSelectionCorrect(t)){return true}const e=t&&this.domConverter.domSelectionToView(t);if(e&&this.selection.isEqual(e)){return false}if(!this.selection.isCollapsed&&this.selection.isSimilar(e)){return false}return true}_fakeSelectionNeedsUpdate(t){const e=this._fakeSelectionContainer;const n=t.ownerDocument.getSelection();if(!e||e.parentElement!==t){return true}if(n.anchorNode!==e&&!e.contains(n.anchorNode)){return true}return e.textContent!==this.selection.fakeSelectionLabel}_removeDomSelection(){for(const t of this.domDocuments){const e=t.getSelection();if(e.rangeCount){const n=t.activeElement;const i=this.domConverter.mapDomToView(n);if(n&&i){e.removeAllRanges()}}}}_removeFakeSelection(){const t=this._fakeSelectionContainer;if(t){t.remove()}}_updateFocus(){if(this.isFocused){const t=this.selection.editableElement;if(t){this.domConverter.focus(t)}}}}function Im(t){if(t.getAttribute("contenteditable")=="false"){return false}const e=t.findAncestor((t=>t.hasAttribute("contenteditable")));return!e||e.getAttribute("contenteditable")=="true"}function Sm(t,e,n){const i=e instanceof Array?e:e.childNodes;const o=i[n];if(sc(o)){o.data=km+o.data;return o}else{const o=t.createTextNode(km);if(Array.isArray(e)){i.splice(n,0,o)}else{vc(e,n,o)}return o}}function Bm(t,e){return $a(t)&&$a(e)&&!sc(t)&&!sc(e)&&!yc(t)&&!yc(e)&&t.tagName.toLowerCase()===e.tagName.toLowerCase()}function Mm(t,e){return $a(t)&&$a(e)&&sc(t)&&sc(e)}function Nm(t,e,n){if(e===n){return true}else if(sc(e)&&sc(n)){return e.data===n.data}else if(t.isBlockFiller(e)&&t.isBlockFiller(n)){return true}return false}function Pm(t,e){const n=t.parent;if(n.nodeType!=Node.ELEMENT_NODE||t.offset!=n.childNodes.length-1){return}const i=n.childNodes[t.offset];if(i&&i.tagName=="BR"){e.addRange(e.getRangeAt(0))}}function Lm(t,e){const n=Array.from(t);if(n.length==0||!e){return n}const i=n[n.length-1];if(i==e){n.pop()}return n}function zm(t){const e=t.createElement("div");e.className="ck-fake-selection-container";Object.assign(e.style,{position:"fixed",top:0,left:"-9999px",width:"42px"});e.textContent=" ";return e}function Vm(t,e){const n=t.data;if(n==e){return}const i=k(n,e);for(const e of i){if(e.type==="insert"){t.insertData(e.index,e.values.join(""))}else{t.deleteData(e.index,e.howMany)}}}const Rm=pm(nc.document);const Om=fm(nc.document);const Fm=mm(nc.document);const jm="data-ck-unsafe-attribute-";const Hm="data-ck-unsafe-element";class Um{constructor(t,{blockFillerMode:e,renderingMode:n="editing"}={}){this._domToViewMapping=new WeakMap;this._viewToDomMapping=new WeakMap;this._fakeSelectionMapping=new WeakMap;this._rawContentElementMatcher=new kh;this._inlineObjectElementMatcher=new kh;this._elementsWithTemporaryCustomProperties=new Set;this.document=t;this.renderingMode=n;this.blockFillerMode=e||(n==="editing"?"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=this.renderingMode==="editing"?nc.document:nc.document.implementation.createHTMLDocument("")}bindFakeSelection(t,e){this._fakeSelectionMapping.set(t,new Sf(e))}fakeSelectionToView(t){return this._fakeSelectionMapping.get(t)}bindElements(t,e){this._domToViewMapping.set(t,e);this._viewToDomMapping.set(e,t)}unbindDomElement(t){const e=this._domToViewMapping.get(t);if(e){this._domToViewMapping.delete(t);this._viewToDomMapping.delete(e);for(const e of Array.from(t.children)){this.unbindDomElement(e)}}}bindDocumentFragments(t,e){this._domToViewMapping.set(t,e);this._viewToDomMapping.set(e,t)}shouldRenderAttribute(t,e,n){if(this.renderingMode==="data"){return true}t=t.toLowerCase();if(t.startsWith("on")){return false}if(t==="srcdoc"&&e.match(/\bon\S+\s*=|javascript:|<\s*\/*script/i)){return false}if(n==="img"&&(t==="src"||t==="srcset")){return true}if(n==="source"&&t==="srcset"){return true}if(e.match(/^\s*(javascript:|data:(image\/svg|text\/x?html))/i)){return false}return true}setContentOf(t,e){if(this.renderingMode==="data"){t.innerHTML=e;return}const n=(new DOMParser).parseFromString(e,"text/html");const i=n.createDocumentFragment();const o=n.body.childNodes;while(o.length>0){i.appendChild(o[0])}const r=n.createTreeWalker(i,NodeFilter.SHOW_ELEMENT);const s=[];let a;while(a=r.nextNode()){s.push(a)}for(const t of s){for(const e of t.getAttributeNames()){this.setDomElementAttribute(t,e,t.getAttribute(e))}const e=t.tagName.toLowerCase();if(this._shouldRenameElement(e)){$m(e);t.replaceWith(this._createReplacementDomElement(e,t))}}while(t.firstChild){t.firstChild.remove()}t.append(i)}viewToDom(t,e={}){if(t.is("$text")){const e=this._processDataFromViewText(t);return this._domDocument.createTextNode(e)}else{const n=t;if(this.mapViewToDom(n)){if(n.getCustomProperty("editingPipeline:doNotReuseOnce")){this._elementsWithTemporaryCustomProperties.add(n)}else{return this.mapViewToDom(n)}}let i;if(n.is("documentFragment")){i=this._domDocument.createDocumentFragment();if(e.bind){this.bindDocumentFragments(i,n)}}else if(n.is("uiElement")){if(n.name==="$comment"){i=this._domDocument.createComment(n.getCustomProperty("$rawContent"))}else{i=n.render(this._domDocument,this)}if(e.bind){this.bindElements(i,n)}return i}else{if(this._shouldRenameElement(n.name)){$m(n.name);i=this._createReplacementDomElement(n.name)}else if(n.hasAttribute("xmlns")){i=this._domDocument.createElementNS(n.getAttribute("xmlns"),n.name)}else{i=this._domDocument.createElement(n.name)}if(n.is("rawElement")){n.render(i,this)}if(e.bind){this.bindElements(i,n)}for(const t of n.getAttributeKeys()){this.setDomElementAttribute(i,t,n.getAttribute(t),n)}}if(e.withChildren!==false){for(const t of this.viewChildrenToDom(n,e)){i.appendChild(t)}}return i}}setDomElementAttribute(t,e,n,i){const o=this.shouldRenderAttribute(e,n,t.tagName.toLowerCase())||i&&i.shouldRenderUnsafeAttribute(e);if(!o){L("domconverter-unsafe-attribute-detected",{domElement:t,key:e,value:n})}if(!xc(e)){L("domconverter-invalid-attribute-detected",{domElement:t,key:e,value:n});return}if(t.hasAttribute(e)&&!o){t.removeAttribute(e)}else if(t.hasAttribute(jm+e)&&o){t.removeAttribute(jm+e)}t.setAttribute(o?e:jm+e,n)}removeDomElementAttribute(t,e){if(e==Hm){return}t.removeAttribute(e);t.removeAttribute(jm+e)}*viewChildrenToDom(t,e={}){const n=t.getFillerOffset&&t.getFillerOffset();let i=0;for(const o of t.getChildren()){if(n===i){yield this._getBlockFiller()}const t=o.is("element")&&!!o.getCustomProperty("dataPipeline:transparentRendering")&&!ml(o.getAttributes());if(t&&this.renderingMode=="data"){yield*this.viewChildrenToDom(o,e)}else{if(t){L("domconverter-transparent-rendering-unsupported-in-editing-pipeline",{viewElement:o})}yield this.viewToDom(o,e)}i++}if(n===i){yield this._getBlockFiller()}}viewRangeToDom(t){const e=this.viewPositionToDom(t.start);const n=this.viewPositionToDom(t.end);const i=this._domDocument.createRange();i.setStart(e.parent,e.offset);i.setEnd(n.parent,n.offset);return i}viewPositionToDom(t){const e=t.parent;if(e.is("$text")){const n=this.findCorrespondingDomText(e);if(!n){return null}let i=t.offset;if(wm(n)){i+=bm}return{parent:n,offset:i}}else{let n,i,o;if(t.offset===0){n=this.mapViewToDom(e);if(!n){return null}o=n.childNodes[0]}else{const e=t.nodeBefore;i=e.is("$text")?this.findCorrespondingDomText(e):this.mapViewToDom(e);if(!i){return null}n=i.parentNode;o=i.nextSibling}if(sc(o)&&wm(o)){return{parent:o,offset:bm}}const r=i?_c(i)+1:0;return{parent:n,offset:r}}}domToView(t,e={}){const n=[];const i=this._domToView(t,e,n);const o=i.next().value;if(!o){return null}i.next();this._processDomInlineNodes(null,n,e);if(o.is("$text")&&o.data.length==0){return null}return o}*domChildrenToView(t,e={},n=[]){for(let i=0;i{const{scrollLeft:e,scrollTop:n}=t;i.push([e,n])}));e.focus();Gm(e,(t=>{const[e,n]=i.shift();t.scrollLeft=e;t.scrollTop=n}));nc.window.scrollTo(t,n)}}_clearDomSelection(){const t=this.mapViewToDom(this.document.selection.editableElement);if(!t){return}const e=t.ownerDocument.defaultView.getSelection();const n=this.domSelectionToView(e);const i=n&&n.rangeCount>0;if(i){e.removeAllRanges()}}isElement(t){return t&&t.nodeType==Node.ELEMENT_NODE}isDocumentFragment(t){return t&&t.nodeType==Node.DOCUMENT_FRAGMENT_NODE}isBlockFiller(t){if(this.blockFillerMode=="br"){return t.isEqualNode(Rm)}if(t.tagName==="BR"&&Zm(t,this.blockElements)&&t.parentNode.childNodes.length===1){return true}return t.isEqualNode(Fm)||qm(t,this.blockElements)}isDomSelectionBackward(t){if(t.isCollapsed){return false}const e=this._domDocument.createRange();try{e.setStart(t.anchorNode,t.anchorOffset);e.setEnd(t.focusNode,t.focusOffset)}catch(t){return false}const n=e.collapsed;e.detach();return n}getHostViewElement(t){const e=oc(t);e.pop();while(e.length){const t=e.pop();const n=this._domToViewMapping.get(t);if(n&&(n.is("uiElement")||n.is("rawElement"))){return n}}return null}isDomSelectionCorrect(t){return this._isDomSelectionPositionCorrect(t.anchorNode,t.anchorOffset)&&this._isDomSelectionPositionCorrect(t.focusNode,t.focusOffset)}registerRawContentMatcher(t){this._rawContentElementMatcher.add(t)}registerInlineObjectMatcher(t){this._inlineObjectElementMatcher.add(t)}_clearTemporaryCustomProperties(){for(const t of this._elementsWithTemporaryCustomProperties){t._removeCustomProperty("editingPipeline:doNotReuseOnce")}this._elementsWithTemporaryCustomProperties.clear()}_getBlockFiller(){switch(this.blockFillerMode){case"nbsp":return fm(this._domDocument);case"markedNbsp":return mm(this._domDocument);case"br":return pm(this._domDocument)}}_isDomSelectionPositionCorrect(t,e){if(sc(t)&&wm(t)&&e0?e[t-1]:null;const c=t+1this.preElements.includes(t.name)))){return e}if(e.charAt(0)==" "){const n=this._getTouchingInlineViewNode(t,false);const i=n&&n.is("$textProxy")&&this._nodeEndsWithSpace(n);if(i||!n){e=" "+e.substr(1)}}if(e.charAt(e.length-1)==" "){const n=this._getTouchingInlineViewNode(t,true);const i=n&&n.is("$textProxy")&&n.data.charAt(0)==" ";if(e.charAt(e.length-2)==" "||!n||i){e=e.substr(0,e.length-1)+" "}}return e.replace(/ {2}/g,"  ")}_nodeEndsWithSpace(t){if(t.getAncestors().some((t=>this.preElements.includes(t.name)))){return false}const e=this._processDataFromViewText(t);return e.charAt(e.length-1)==" "}_getTouchingInlineViewNode(t,e){const n=new Ef({startPosition:e?Df._createAfter(t):Df._createBefore(t),direction:e?"forward":"backward"});for(const t of n){if(t.item.is("element","br")){return null}else if(this._isInlineObjectElement(t.item)){return t.item}else if(t.item.is("containerElement")){return null}else if(t.item.is("$textProxy")){return t.item}}return null}_isBlockDomElement(t){return this.isElement(t)&&this.blockElements.includes(t.tagName.toLowerCase())}_isBlockViewElement(t){return t.is("element")&&this.blockElements.includes(t.name)}_isInlineObjectElement(t){if(!t.is("element")){return false}return t.name=="br"||this.inlineObjectElements.includes(t.name)||!!this._inlineObjectElementMatcher.match(t)}_createViewElement(t,e){if(yc(t)){return new $f(this.document,"$comment")}const n=e.keepOriginalCase?t.tagName:t.tagName.toLowerCase();return new bf(this.document,n)}_isViewElementWithRawContent(t,e){return e.withChildren!==false&&t.is("element")&&!!this._rawContentElementMatcher.match(t)}_shouldRenameElement(t){const e=t.toLowerCase();return this.renderingMode==="editing"&&this.unsafeElements.includes(e)}_createReplacementDomElement(t,e){const n=this._domDocument.createElement("span");n.setAttribute(Hm,t);if(e){while(e.firstChild){n.appendChild(e.firstChild)}for(const t of e.getAttributeNames()){n.setAttribute(t,e.getAttribute(t))}}return n}}function Wm(t,e){return t.getAncestors().some((t=>t.is("element")&&e.includes(t.name)))}function Gm(t,e){let n=t;while(n){e(n);n=n.parentElement}}function qm(t,e){const n=t.isEqualNode(Om);return n&&Zm(t,e)&&t.parentNode.childNodes.length===1}function Zm(t,e){const n=t.parentNode;return!!n&&!!n.tagName&&e.includes(n.tagName.toLowerCase())}function $m(t){if(t==="script"){L("domconverter-unsafe-script-element-detected")}if(t==="style"){L("domconverter-unsafe-style-element-detected")}}function Km(t){if(!l.isGecko){return false}if(!t.rangeCount){return false}const e=t.getRangeAt(0).startContainer;try{Object.prototype.toString.call(e)}catch(t){return true}return false}class Ym extends(Qa()){constructor(t){super();this._isEnabled=false;this.view=t;this.document=t.document}get isEnabled(){return this._isEnabled}enable(){this._isEnabled=true}disable(){this._isEnabled=false}destroy(){this.disable();this.stopListening()}checkShouldIgnoreEventFromTarget(t){if(t&&t.nodeType===3){t=t.parentNode}if(!t||t.nodeType!==1){return false}return t.matches("[data-cke-ignore-events], [data-cke-ignore-events] *")}}var Qm=rf((function(t,e){bi(e,er(e),t)}));const Jm=Qm;class Xm{constructor(t,e,n){this.view=t;this.document=t.document;this.domEvent=e;this.domTarget=e.target;Jm(this,n)}get target(){return this.view.domConverter.mapDomToView(this.domTarget)}preventDefault(){this.domEvent.preventDefault()}stopPropagation(){this.domEvent.stopPropagation()}}class tp extends Ym{constructor(){super(...arguments);this.useCapture=false}observe(t){const e=typeof this.domEventType=="string"?[this.domEventType]:this.domEventType;e.forEach((e=>{this.listenTo(t,e,((t,e)=>{if(this.isEnabled&&!this.checkShouldIgnoreEventFromTarget(e.target)){this.onDomEvent(e)}}),{useCapture:this.useCapture})}))}stopObserving(t){this.stopListening(t)}fire(t,e,n){if(this.isEnabled){this.document.fire(t,new Xm(this.view,e,n))}}}class ep extends tp{constructor(){super(...arguments);this.domEventType=["keydown","keyup"]}onDomEvent(t){const e={keyCode:t.keyCode,altKey:t.altKey,ctrlKey:t.ctrlKey,shiftKey:t.shiftKey,metaKey:t.metaKey,get keystroke(){return Kc(this)}};this.fire(t.type,t,e)}}var np=function(){return Mt.Date.now()};const ip=np;var op=/\s/;function rp(t){var e=t.length;while(e--&&op.test(t.charAt(e))){}return e}const sp=rp;var ap=/^\s+/;function cp(t){return t?t.slice(0,sp(t)+1).replace(ap,""):t}const lp=cp;var dp=0/0;var up=/^[-+]0x[0-9a-f]+$/i;var hp=/^0b[01]+$/i;var gp=/^0o[0-7]+$/i;var fp=parseInt;function mp(t){if(typeof t=="number"){return t}if(Sh(t)){return dp}if(st(t)){var e=typeof t.valueOf=="function"?t.valueOf():t;t=st(e)?e+"":e}if(typeof t!="string"){return t===0?t:+t}t=lp(t);var n=hp.test(t);return n||gp.test(t)?fp(t.slice(2),n?2:8):up.test(t)?dp:+t}const pp=mp;var bp="Expected a function";var kp=Math.max,wp=Math.min;function Ap(t,e,n){var i,o,r,s,a,c,l=0,d=false,u=false,h=true;if(typeof t!="function"){throw new TypeError(bp)}e=pp(e)||0;if(st(n)){d=!!n.leading;u="maxWait"in n;r=u?kp(pp(n.maxWait)||0,e):r;h="trailing"in n?!!n.trailing:h}function g(e){var n=i,r=o;i=o=undefined;l=e;s=t.apply(r,n);return s}function f(t){l=t;a=setTimeout(b,e);return d?g(t):s}function m(t){var n=t-c,i=t-l,o=e-n;return u?wp(o,r-i):o}function p(t){var n=t-c,i=t-l;return c===undefined||n>=e||n<0||u&&i>=r}function b(){var t=ip();if(p(t)){return k(t)}a=setTimeout(b,m(t))}function k(t){a=undefined;if(h&&i){return g(t)}i=o=undefined;return s}function w(){if(a!==undefined){clearTimeout(a)}l=0;i=c=o=a=undefined}function A(){return a===undefined?s:k(ip())}function C(){var t=ip(),n=p(t);i=arguments;o=this;c=t;if(n){if(a===undefined){return f(c)}if(u){clearTimeout(a);a=setTimeout(b,e);return g(c)}}if(a===undefined){a=setTimeout(b,e)}return s}C.cancel=w;C.flush=A;return C}const Cp=Ap;class _p extends Ym{constructor(t){super(t);this._fireSelectionChangeDoneDebounced=Cp((t=>{this.document.fire("selectionChangeDone",t)}),200)}observe(){const t=this.document;t.on("arrowKey",((e,n)=>{const i=t.selection;if(i.isFake&&this.isEnabled){n.preventDefault()}}),{context:"$capture"});t.on("arrowKey",((e,n)=>{const i=t.selection;if(i.isFake&&this.isEnabled){this._handleSelectionMove(n.keyCode)}}),{priority:"lowest"})}stopObserving(){}destroy(){super.destroy();this._fireSelectionChangeDoneDebounced.cancel()}_handleSelectionMove(t){const e=this.document.selection;const n=new Sf(e.getRanges(),{backward:e.isBackward,fake:false});if(t==Zc.arrowleft||t==Zc.arrowup){n.setTo(n.getFirstPosition())}if(t==Zc.arrowright||t==Zc.arrowdown){n.setTo(n.getLastPosition())}const i={oldSelection:e,newSelection:n,domSelection:null};this.document.fire("selectionChange",i);this._fireSelectionChangeDoneDebounced(i)}}var vp="__lodash_hash_undefined__";function yp(t){this.__data__.set(t,vp);return this}const xp=yp;function Ep(t){return this.__data__.has(t)}const Dp=Ep;function Tp(t){var e=-1,n=t==null?0:t.length;this.__data__=new ti;while(++ea)){return false}var l=r.get(t);var d=r.get(e);if(l&&d){return l==e&&d==t}var u=-1,h=true,g=n&Lp?new Ip:undefined;r.set(t,e);r.set(e,t);while(++u{this._isFocusChanging=true;this._renderTimeoutId=setTimeout((()=>{this.flush();t.change((()=>{}))}),50)}));e.on("blur",((n,i)=>{const o=e.selection.editableElement;if(o===null||o===i.target){e.isFocused=false;this._isFocusChanging=false;t.change((()=>{}))}}))}flush(){if(this._isFocusChanging){this._isFocusChanging=false;this.document.isFocused=true}}onDomEvent(t){this.fire(t.type,t)}destroy(){if(this._renderTimeoutId){clearTimeout(this._renderTimeoutId)}super.destroy()}}class xb extends Ym{constructor(t){super(t);this.mutationObserver=t.getObserver(_b);this.focusObserver=t.getObserver(yb);this.selection=this.document.selection;this.domConverter=t.domConverter;this._documents=new WeakSet;this._fireSelectionChangeDoneDebounced=Cp((t=>{this.document.fire("selectionChangeDone",t)}),200);this._clearInfiniteLoopInterval=setInterval((()=>this._clearInfiniteLoop()),1e3);this._documentIsSelectingInactivityTimeoutDebounced=Cp((()=>this.document.isSelecting=false),5e3);this._loopbackCounter=0}observe(t){const e=t.ownerDocument;const n=()=>{this.document.isSelecting=true;this._documentIsSelectingInactivityTimeoutDebounced()};const i=()=>{if(!this.document.isSelecting){return}this._handleSelectionChange(null,e);this.document.isSelecting=false;this._documentIsSelectingInactivityTimeoutDebounced.cancel()};this.listenTo(t,"selectstart",n,{priority:"highest"});this.listenTo(t,"keydown",i,{priority:"highest",useCapture:true});this.listenTo(t,"keyup",i,{priority:"highest",useCapture:true});if(this._documents.has(e)){return}this.listenTo(e,"mouseup",i,{priority:"highest",useCapture:true});this.listenTo(e,"selectionchange",((t,n)=>{if(this.document.isComposing&&!l.isAndroid){return}this._handleSelectionChange(n,e);this._documentIsSelectingInactivityTimeoutDebounced()}));this._documents.add(e)}stopObserving(t){this.stopListening(t)}destroy(){super.destroy();clearInterval(this._clearInfiniteLoopInterval);this._fireSelectionChangeDoneDebounced.cancel();this._documentIsSelectingInactivityTimeoutDebounced.cancel()}_reportInfiniteLoop(){}_handleSelectionChange(t,e){if(!this.isEnabled){return}const n=e.defaultView.getSelection();if(this.checkShouldIgnoreEventFromTarget(n.anchorNode)){return}this.mutationObserver.flush();const i=this.domConverter.domSelectionToView(n);if(i.rangeCount==0){this.view.hasDomSelection=false;return}this.view.hasDomSelection=true;this.focusObserver.flush();if(this.selection.isEqual(i)&&this.domConverter.isDomSelectionCorrect(n)){return}if(++this._loopbackCounter>60){this._reportInfiniteLoop();return}if(this.selection.isSimilar(i)){this.view.forceRender()}else{const t={oldSelection:this.selection,newSelection:i,domSelection:n};this.document.fire("selectionChange",t);this._fireSelectionChangeDoneDebounced(t)}}_clearInfiniteLoop(){this._loopbackCounter=0}}class Eb extends tp{constructor(t){super(t);this.domEventType=["compositionstart","compositionupdate","compositionend"];const e=this.document;e.on("compositionstart",(()=>{e.isComposing=true}),{priority:"low"});e.on("compositionend",(()=>{e.isComposing=false}),{priority:"low"})}onDomEvent(t){this.fire(t.type,t,{data:t.data})}}class Db{constructor(t,e={}){this._files=e.cacheFiles?Tb(t):null;this._native=t}get files(){if(!this._files){this._files=Tb(this._native)}return this._files}get types(){return this._native.types}getData(t){return this._native.getData(t)}setData(t,e){this._native.setData(t,e)}set effectAllowed(t){this._native.effectAllowed=t}get effectAllowed(){return this._native.effectAllowed}set dropEffect(t){this._native.dropEffect=t}get dropEffect(){return this._native.dropEffect}setDragImage(t,e,n){this._native.setDragImage(t,e,n)}get isCanceled(){return this._native.dropEffect=="none"||!!this._native.mozUserCancelled}}function Tb(t){const e=Array.from(t.files||[]);const n=Array.from(t.items||[]);if(e.length){return e}return n.filter((t=>t.kind==="file")).map((t=>t.getAsFile()))}class Ib extends tp{constructor(){super(...arguments);this.domEventType="beforeinput"}onDomEvent(t){const e=t.getTargetRanges();const n=this.view;const i=n.document;let o=null;let r=null;let s=[];if(t.dataTransfer){o=new Db(t.dataTransfer)}if(t.data!==null){r=t.data}else if(o){r=o.getData("text/plain")}if(i.selection.isFake){s=Array.from(i.selection.getRanges())}else if(e.length){s=e.map((t=>{const e=n.domConverter.domPositionToView(t.startContainer,t.startOffset);const i=n.domConverter.domPositionToView(t.endContainer,t.endOffset);if(e){return n.createRange(e,i)}else if(i){return n.createRange(i)}})).filter((t=>!!t))}else if(l.isAndroid){const e=t.target.ownerDocument.defaultView.getSelection();s=Array.from(n.domConverter.domSelectionToView(e).getRanges())}if(l.isAndroid&&t.inputType=="insertCompositionText"&&r&&r.endsWith("\n")){this.fire(t.type,t,{inputType:"insertParagraph",targetRanges:[n.createRange(s[0].end)]});return}if(t.inputType=="insertText"&&r&&r.includes("\n")){const e=r.split(/\n{1,2}/g);let n=s;for(let r=0;r{if(this.isEnabled&&Jc(e.keyCode)){const n=new Mf(this.document,"arrowKey",this.document.selection.getFirstRange());this.document.fire(n,e);if(n.stop.called){t.stop()}}}))}observe(){}stopObserving(){}}class Bb extends Ym{constructor(t){super(t);const e=this.document;e.on("keydown",((t,n)=>{if(!this.isEnabled||n.keyCode!=Zc.tab||n.ctrlKey){return}const i=new Mf(e,"tab",e.selection.getFirstRange());e.fire(i,n);if(i.stop.called){t.stop()}}))}observe(){}stopObserving(){}}var Mb=1,Nb=4;function Pb(t){return Ra(t,Mb|Nb)}const Lb=Pb;class zb extends(gt()){constructor(t){super();this.domRoots=new Map;this._initialDomRootAttributes=new WeakMap;this._observers=new Map;this._ongoingChange=false;this._postFixersInProgress=false;this._renderingDisabled=false;this._hasChangedSinceTheLastRendering=false;this.document=new Ff(t);this.domConverter=new Um(this.document);this.set("isRenderingInProgress",false);this.set("hasDomSelection",false);this._renderer=new Tm(this.domConverter,this.document.selection);this._renderer.bind("isFocused","isSelecting","isComposing").to(this.document,"isFocused","isSelecting","isComposing");this._writer=new nm(this.document);this.addObserver(_b);this.addObserver(yb);this.addObserver(xb);this.addObserver(ep);this.addObserver(_p);this.addObserver(Eb);this.addObserver(Sb);this.addObserver(Ib);this.addObserver(Bb);_m(this);Kf(this);this.on("render",(()=>{this._render();this.document.fire("layoutChanged");this._hasChangedSinceTheLastRendering=false}));this.listenTo(this.document.selection,"change",(()=>{this._hasChangedSinceTheLastRendering=true}));this.listenTo(this.document,"change:isFocused",(()=>{this._hasChangedSinceTheLastRendering=true}));if(l.isiOS){this.listenTo(this.document,"blur",((t,e)=>{const n=this.domConverter.mapDomToView(e.domEvent.relatedTarget);if(!n){this.domConverter._clearDomSelection()}}))}}attachDomRoot(t,e="main"){const n=this.document.getRoot(e);n._name=t.tagName.toLowerCase();const i={};for(const{name:e,value:o}of Array.from(t.attributes)){i[e]=o;if(e==="class"){this._writer.addClass(o.split(" "),n)}else{this._writer.setAttribute(e,o,n)}}this._initialDomRootAttributes.set(t,i);const o=()=>{this._writer.setAttribute("contenteditable",(!n.isReadOnly).toString(),n);if(n.isReadOnly){this._writer.addClass("ck-read-only",n)}else{this._writer.removeClass("ck-read-only",n)}};o();this.domRoots.set(e,t);this.domConverter.bindElements(t,n);this._renderer.markToSync("children",n);this._renderer.markToSync("attributes",n);this._renderer.domDocuments.add(t.ownerDocument);n.on("change:children",((t,e)=>this._renderer.markToSync("children",e)));n.on("change:attributes",((t,e)=>this._renderer.markToSync("attributes",e)));n.on("change:text",((t,e)=>this._renderer.markToSync("text",e)));n.on("change:isReadOnly",(()=>this.change(o)));n.on("change",(()=>{this._hasChangedSinceTheLastRendering=true}));for(const n of this._observers.values()){n.observe(t,e)}}detachDomRoot(t){const e=this.domRoots.get(t);Array.from(e.attributes).forEach((({name:t})=>e.removeAttribute(t)));const n=this._initialDomRootAttributes.get(e);for(const t in n){e.setAttribute(t,n[t])}this.domRoots.delete(t);this.domConverter.unbindDomElement(e);for(const t of this._observers.values()){t.stopObserving(e)}}getDomRoot(t="main"){return this.domRoots.get(t)}addObserver(t){let e=this._observers.get(t);if(e){return e}e=new t(this);this._observers.set(t,e);for(const[t,n]of this.domRoots){e.observe(n,t)}e.enable();return e}getObserver(t){return this._observers.get(t)}disableObservers(){for(const t of this._observers.values()){t.disable()}}enableObservers(){for(const t of this._observers.values()){t.enable()}}scrollToTheSelection({alignToTop:t,forceScroll:e,viewportOffset:n=20,ancestorOffset:i=20}={}){const o=this.document.selection.getFirstRange();if(!o){return}const r=Lb({alignToTop:t,forceScroll:e,viewportOffset:n,ancestorOffset:i});if(typeof n==="number"){n={top:n,bottom:n,left:n,right:n}}const s={target:this.domConverter.viewRangeToDom(o),viewportOffset:n,ancestorOffset:i,alignToTop:t,forceScroll:e};this.fire("scrollToTheSelection",s,r);Nc(s)}focus(){if(!this.document.isFocused){const t=this.document.selection.editableElement;if(t){this.domConverter.focus(t);this.forceRender()}else{}}}change(t){if(this.isRenderingInProgress||this._postFixersInProgress){throw new P("cannot-change-view-tree",this)}try{if(this._ongoingChange){return t(this._writer)}this._ongoingChange=true;const e=t(this._writer);this._ongoingChange=false;if(!this._renderingDisabled&&this._hasChangedSinceTheLastRendering){this._postFixersInProgress=true;this.document._callPostFixers(this._writer);this._postFixersInProgress=false;this.fire("render")}return e}catch(t){P.rethrowUnexpectedError(t,this)}}forceRender(){this._hasChangedSinceTheLastRendering=true;this.getObserver(yb).flush();this.change((()=>{}))}destroy(){for(const t of this._observers.values()){t.destroy()}this.document.destroy();this.stopListening()}createPositionAt(t,e){return Df._createAt(t,e)}createPositionAfter(t){return Df._createAfter(t)}createPositionBefore(t){return Df._createBefore(t)}createRange(t,e){return new Tf(t,e)}createRangeOn(t){return Tf._createOn(t)}createRangeIn(t){return Tf._createIn(t)}createSelection(...t){return new Sf(...t)}_disableRendering(t){this._renderingDisabled=t;if(t==false){this.change((()=>{}))}}_render(){this.isRenderingInProgress=true;this.disableObservers();this._renderer.render();this.enableObservers();this.isRenderingInProgress=false}}class Vb{is(){throw new Error("is() method is abstract")}}class Rb extends Vb{constructor(t){super();this.parent=null;this._attrs=wl(t)}get document(){return null}get index(){let t;if(!this.parent){return null}if((t=this.parent.getChildIndex(this))===null){throw new P("model-node-not-found-in-parent",this)}return t}get startOffset(){let t;if(!this.parent){return null}if((t=this.parent.getChildStartOffset(this))===null){throw new P("model-node-not-found-in-parent",this)}return t}get offsetSize(){return 1}get endOffset(){if(!this.parent){return null}return this.startOffset+this.offsetSize}get nextSibling(){const t=this.index;return t!==null&&this.parent.getChild(t+1)||null}get previousSibling(){const t=this.index;return t!==null&&this.parent.getChild(t-1)||null}get root(){let t=this;while(t.parent){t=t.parent}return t}isAttached(){return this.parent===null?false:this.root.isAttached()}getPath(){const t=[];let e=this;while(e.parent){t.unshift(e.startOffset);e=e.parent}return t}getAncestors(t={}){const e=[];let n=t.includeSelf?this:this.parent;while(n){e[t.parentFirst?"push":"unshift"](n);n=n.parent}return e}getCommonAncestor(t,e={}){const n=this.getAncestors(e);const i=t.getAncestors(e);let o=0;while(n[o]==i[o]&&n[o]){o++}return o===0?null:n[o-1]}isBefore(t){if(this==t){return false}if(this.root!==t.root){return false}const e=this.getPath();const n=t.getPath();const i=Et(e,n);switch(i){case"prefix":return true;case"extension":return false;default:return e[i]{t[e[0]]=e[1];return t}),{})}return t}_clone(t){return new this.constructor(this._attrs)}_remove(){this.parent._removeChildren(this.index)}_setAttribute(t,e){this._attrs.set(t,e)}_setAttributesTo(t){this._attrs=wl(t)}_removeAttribute(t){return this._attrs.delete(t)}_clearAttributes(){this._attrs.clear()}}Rb.prototype.is=function(t){return t==="node"||t==="model:node"};class Ob{constructor(t){this._nodes=[];if(t){this._insertNodes(0,t)}}[Symbol.iterator](){return this._nodes[Symbol.iterator]()}get length(){return this._nodes.length}get maxOffset(){return this._nodes.reduce(((t,e)=>t+e.offsetSize),0)}getNode(t){return this._nodes[t]||null}getNodeIndex(t){const e=this._nodes.indexOf(t);return e==-1?null:e}getNodeStartOffset(t){const e=this.getNodeIndex(t);return e===null?null:this._nodes.slice(0,e).reduce(((t,e)=>t+e.offsetSize),0)}indexToOffset(t){if(t==this._nodes.length){return this.maxOffset}const e=this._nodes[t];if(!e){throw new P("model-nodelist-index-out-of-bounds",this)}return this.getNodeStartOffset(e)}offsetToIndex(t){let e=0;for(const n of this._nodes){if(t>=e&&tt.toJSON()))}}class Fb extends Rb{constructor(t,e){super(e);this._data=t||""}get offsetSize(){return this.data.length}get data(){return this._data}toJSON(){const t=super.toJSON();t.data=this.data;return t}_clone(){return new Fb(this.data,this.getAttributes())}static fromJSON(t){return new Fb(t.data,t.attributes)}}Fb.prototype.is=function(t){return t==="$text"||t==="model:$text"||t==="text"||t==="model:text"||t==="node"||t==="model:node"};class jb extends Vb{constructor(t,e,n){super();this.textNode=t;if(e<0||e>t.offsetSize){throw new P("model-textproxy-wrong-offsetintext",this)}if(n<0||e+n>t.offsetSize){throw new P("model-textproxy-wrong-length",this)}this.data=t.data.substring(e,e+n);this.offsetInText=e}get startOffset(){return this.textNode.startOffset!==null?this.textNode.startOffset+this.offsetInText:null}get offsetSize(){return this.data.length}get endOffset(){return this.startOffset!==null?this.startOffset+this.offsetSize:null}get isPartial(){return this.offsetSize!==this.textNode.offsetSize}get parent(){return this.textNode.parent}get root(){return this.textNode.root}getPath(){const t=this.textNode.getPath();if(t.length>0){t[t.length-1]+=this.offsetInText}return t}getAncestors(t={}){const e=[];let n=t.includeSelf?this:this.parent;while(n){e[t.parentFirst?"push":"unshift"](n);n=n.parent}return e}hasAttribute(t){return this.textNode.hasAttribute(t)}getAttribute(t){return this.textNode.getAttribute(t)}getAttributes(){return this.textNode.getAttributes()}getAttributeKeys(){return this.textNode.getAttributeKeys()}}jb.prototype.is=function(t){return t==="$textProxy"||t==="model:$textProxy"||t==="textProxy"||t==="model:textProxy"};class Hb extends Rb{constructor(t,e,n){super(e);this._children=new Ob;this.name=t;if(n){this._insertChild(0,n)}}get childCount(){return this._children.length}get maxOffset(){return this._children.maxOffset}get isEmpty(){return this.childCount===0}getChild(t){return this._children.getNode(t)}getChildren(){return this._children[Symbol.iterator]()}getChildIndex(t){return this._children.getNodeIndex(t)}getChildStartOffset(t){return this._children.getNodeStartOffset(t)}offsetToIndex(t){return this._children.offsetToIndex(t)}getNodeByPath(t){let e=this;for(const n of t){e=e.getChild(e.offsetToIndex(n))}return e}findAncestor(t,e={}){let n=e.includeSelf?this:this.parent;while(n){if(n.name===t){return n}n=n.parent}return null}toJSON(){const t=super.toJSON();t.name=this.name;if(this._children.length>0){t.children=[];for(const e of this._children){t.children.push(e.toJSON())}}return t}_clone(t=false){const e=t?Array.from(this._children).map((t=>t._clone(true))):undefined;return new Hb(this.name,this.getAttributes(),e)}_appendChild(t){this._insertChild(this.childCount,t)}_insertChild(t,e){const n=Ub(e);for(const t of n){if(t.parent!==null){t._remove()}t.parent=this}this._children._insertNodes(t,n)}_removeChildren(t,e=1){const n=this._children._removeNodes(t,e);for(const t of n){t.parent=null}return n}static fromJSON(t){let e;if(t.children){e=[];for(const n of t.children){if(n.name){e.push(Hb.fromJSON(n))}else{e.push(Fb.fromJSON(n))}}}return new Hb(t.name,t.attributes,e)}}Hb.prototype.is=function(t,e){if(!e){return t==="element"||t==="model:element"||t==="node"||t==="model:node"}return e===this.name&&(t==="element"||t==="model:element")};function Ub(t){if(typeof t=="string"){return[new Fb(t)]}if(!Dt(t)){t=[t]}return Array.from(t).map((t=>{if(typeof t=="string"){return new Fb(t)}if(t instanceof jb){return new Fb(t.data,t.getAttributes())}return t}))}class Wb{constructor(t){if(!t||!t.boundaries&&!t.startPosition){throw new P("model-tree-walker-no-start-position",null)}const e=t.direction||"forward";if(e!="forward"&&e!="backward"){throw new P("model-tree-walker-unknown-direction",t,{direction:e})}this.direction=e;this.boundaries=t.boundaries||null;if(t.startPosition){this._position=t.startPosition.clone()}else{this._position=qb._createAt(this.boundaries[this.direction=="backward"?"end":"start"])}this.position.stickiness="toNone";this.singleCharacters=!!t.singleCharacters;this.shallow=!!t.shallow;this.ignoreElementEnd=!!t.ignoreElementEnd;this._boundaryStartParent=this.boundaries?this.boundaries.start.parent:null;this._boundaryEndParent=this.boundaries?this.boundaries.end.parent:null;this._visitedParent=this.position.parent}[Symbol.iterator](){return this}get position(){return this._position}skip(t){let e,n,i,o;do{i=this.position;o=this._visitedParent;({done:e,value:n}=this.next())}while(!e&&t(n));if(!e){this._position=i;this._visitedParent=o}}next(){if(this.direction=="forward"){return this._next()}else{return this._previous()}}_next(){const t=this.position;const e=this.position.clone();const n=this._visitedParent;if(n.parent===null&&e.offset===n.maxOffset){return{done:true,value:undefined}}if(n===this._boundaryEndParent&&e.offset==this.boundaries.end.offset){return{done:true,value:undefined}}const i=Zb(e,n);const o=i||$b(e,n,i);if(o instanceof Hb){if(!this.shallow){e.path.push(0);this._visitedParent=o}else{if(this.boundaries&&this.boundaries.end.isBefore(e)){return{done:true,value:undefined}}e.offset++}this._position=e;return Gb("elementStart",o,t,e,1)}if(o instanceof Fb){let i;if(this.singleCharacters){i=1}else{let t=o.endOffset;if(this._boundaryEndParent==n&&this.boundaries.end.offsett){t=this.boundaries.start.offset}i=e.offset-t}const o=e.offset-r.startOffset;const s=new jb(r,o-i,i);e.offset-=i;this._position=e;return Gb("text",s,t,e,i)}e.path.pop();this._position=e;this._visitedParent=n.parent;return Gb("elementStart",n,t,e,1)}}function Gb(t,e,n,i,o){return{done:false,value:{type:t,item:e,previousPosition:n,nextPosition:i,length:o}}}class qb extends Vb{constructor(t,e,n="toNone"){super();if(!t.is("element")&&!t.is("documentFragment")){throw new P("model-position-root-invalid",t)}if(!(e instanceof Array)||e.length===0){throw new P("model-position-path-incorrect-format",t,{path:e})}if(t.is("rootElement")){e=e.slice()}else{e=[...t.getPath(),...e];t=t.root}this.root=t;this.path=e;this.stickiness=n}get offset(){return this.path[this.path.length-1]}set offset(t){this.path[this.path.length-1]=t}get parent(){let t=this.root;for(let e=0;e1){return false}else if(e===1){return Yb(t,this,n)}else if(e===-1){return Yb(this,t,n)}}if(this.path.length===t.path.length){return true}else if(this.path.length>t.path.length){return Qb(this.path,e)}else{return Qb(t.path,e)}}hasSameParentAs(t){if(this.root!==t.root){return false}const e=this.getParentPath();const n=t.getParentPath();return Et(e,n)=="same"}getTransformedByOperation(t){let e;switch(t.type){case"insert":e=this._getTransformedByInsertOperation(t);break;case"move":case"remove":case"reinsert":e=this._getTransformedByMoveOperation(t);break;case"split":e=this._getTransformedBySplitOperation(t);break;case"merge":e=this._getTransformedByMergeOperation(t);break;default:e=qb._createAt(this);break}return e}_getTransformedByInsertOperation(t){return this._getTransformedByInsertion(t.position,t.howMany)}_getTransformedByMoveOperation(t){return this._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany)}_getTransformedBySplitOperation(t){const e=t.movedRange;const n=e.containsPosition(this)||e.start.isEqual(this)&&this.stickiness=="toNext";if(n){return this._getCombined(t.splitPosition,t.moveTargetPosition)}else{if(t.graveyardPosition){return this._getTransformedByMove(t.graveyardPosition,t.insertionPosition,1)}else{return this._getTransformedByInsertion(t.insertionPosition,1)}}}_getTransformedByMergeOperation(t){const e=t.movedRange;const n=e.containsPosition(this)||e.start.isEqual(this);let i;if(n){i=this._getCombined(t.sourcePosition,t.targetPosition);if(t.sourcePosition.isBefore(t.targetPosition)){i=i._getTransformedByDeletion(t.deletionPosition,1)}}else if(this.isEqual(t.deletionPosition)){i=qb._createAt(t.deletionPosition)}else{i=this._getTransformedByMove(t.deletionPosition,t.graveyardPosition,1)}return i}_getTransformedByDeletion(t,e){const n=qb._createAt(this);if(this.root!=t.root){return n}if(Et(t.getParentPath(),this.getParentPath())=="same"){if(t.offsetthis.offset){return null}else{n.offset-=e}}}else if(Et(t.getParentPath(),this.getParentPath())=="prefix"){const i=t.path.length-1;if(t.offset<=this.path[i]){if(t.offset+e>this.path[i]){return null}else{n.path[i]-=e}}}return n}_getTransformedByInsertion(t,e){const n=qb._createAt(this);if(this.root!=t.root){return n}if(Et(t.getParentPath(),this.getParentPath())=="same"){if(t.offset=e){if(t.path[i]+o!==n.maxOffset){return false}o=1;i--;n=n.parent}return true}class Xb extends Vb{constructor(t,e){super();this.start=qb._createAt(t);this.end=e?qb._createAt(e):qb._createAt(t);this.start.stickiness=this.isCollapsed?"toNone":"toNext";this.end.stickiness=this.isCollapsed?"toNone":"toPrevious"}*[Symbol.iterator](){yield*new Wb({boundaries:this,ignoreElementEnd:true})}get isCollapsed(){return this.start.isEqual(this.end)}get isFlat(){const t=this.start.getParentPath();const e=this.end.getParentPath();return Et(t,e)=="same"}get root(){return this.start.root}containsPosition(t){return t.isAfter(this.start)&&t.isBefore(this.end)}containsRange(t,e=false){if(t.isCollapsed){e=false}const n=this.containsPosition(t.start)||e&&this.start.isEqual(t.start);const i=this.containsPosition(t.end)||e&&this.end.isEqual(t.end);return n&&i}containsItem(t){const e=qb._createBefore(t);return this.containsPosition(e)||this.start.isEqual(e)}isEqual(t){return this.start.isEqual(t.start)&&this.end.isEqual(t.end)}isIntersecting(t){return this.start.isBefore(t.end)&&this.end.isAfter(t.start)}getDifference(t){const e=[];if(this.isIntersecting(t)){if(this.containsPosition(t.start)){e.push(new Xb(this.start,t.start))}if(this.containsPosition(t.end)){e.push(new Xb(t.end,this.end))}}else{e.push(new Xb(this.start,this.end))}return e}getIntersection(t){if(this.isIntersecting(t)){let e=this.start;let n=this.end;if(this.containsPosition(t.start)){e=t.start}if(this.containsPosition(t.end)){n=t.end}return new Xb(e,n)}return null}getJoined(t,e=false){let n=this.isIntersecting(t);if(!n){if(this.start.isBefore(t.start)){n=e?this.end.isTouching(t.start):this.end.isEqual(t.start)}else{n=e?t.end.isTouching(this.start):t.end.isEqual(this.start)}}if(!n){return null}let i=this.start;let o=this.end;if(t.start.isBefore(i)){i=t.start}if(t.end.isAfter(o)){o=t.end}return new Xb(i,o)}getMinimalFlatRanges(){const t=[];const e=this.start.getCommonPath(this.end).length;const n=qb._createAt(this.start);let i=n.parent;while(n.path.length>e+1){const e=i.maxOffset-n.offset;if(e!==0){t.push(new Xb(n,n.getShiftedBy(e)))}n.path=n.path.slice(0,-1);n.offset++;i=i.parent}while(n.path.length<=this.end.path.length){const e=this.end.path[n.path.length-1];const i=e-n.offset;if(i!==0){t.push(new Xb(n,n.getShiftedBy(i)))}n.offset=e;n.path.push(0)}return t}getWalker(t={}){t.boundaries=this;return new Wb(t)}*getItems(t={}){t.boundaries=this;t.ignoreElementEnd=true;const e=new Wb(t);for(const t of e){yield t.item}}*getPositions(t={}){t.boundaries=this;const e=new Wb(t);yield e.position;for(const t of e){yield t.nextPosition}}getTransformedByOperation(t){switch(t.type){case"insert":return this._getTransformedByInsertOperation(t);case"move":case"remove":case"reinsert":return this._getTransformedByMoveOperation(t);case"split":return[this._getTransformedBySplitOperation(t)];case"merge":return[this._getTransformedByMergeOperation(t)]}return[new Xb(this.start,this.end)]}getTransformedByOperations(t){const e=[new Xb(this.start,this.end)];for(const n of t){for(let t=0;t0?new this(n,i):new this(i,n)}static _createIn(t){return new this(qb._createAt(t,0),qb._createAt(t,t.maxOffset))}static _createOn(t){return this._createFromPositionAndShift(qb._createBefore(t),t.offsetSize)}static _createFromRanges(t){if(t.length===0){throw new P("range-create-from-ranges-empty-array",null)}else if(t.length==1){return t[0].clone()}const e=t[0];t.sort(((t,e)=>t.start.isAfter(e.start)?1:-1));const n=t.indexOf(e);const i=new this(e.start,e.end);if(n>0){for(let e=n-1;true;e++){if(t[e].end.isEqual(i.start)){i.start=qb._createAt(t[e].start)}else{break}}}for(let e=n+1;e{if(e.viewPosition){return}const n=this._modelToViewMapping.get(e.modelPosition.parent);if(!n){throw new P("mapping-model-position-view-parent-not-found",this,{modelPosition:e.modelPosition})}e.viewPosition=this.findPositionIn(n,e.modelPosition.offset)}),{priority:"low"});this.on("viewToModelPosition",((t,e)=>{if(e.modelPosition){return}const n=this.findMappedViewAncestor(e.viewPosition);const i=this._viewToModelMapping.get(n);const o=this._toModelOffset(e.viewPosition.parent,e.viewPosition.offset,n);e.modelPosition=qb._createAt(i,o)}),{priority:"low"})}bindElements(t,e){this._modelToViewMapping.set(t,e);this._viewToModelMapping.set(e,t)}unbindViewElement(t,e={}){const n=this.toModelElement(t);if(this._elementToMarkerNames.has(t)){for(const e of this._elementToMarkerNames.get(t)){this._unboundMarkerNames.add(e)}}if(e.defer){this._deferredBindingRemovals.set(t,t.root)}else{this._viewToModelMapping.delete(t);if(this._modelToViewMapping.get(n)==t){this._modelToViewMapping.delete(n)}}}unbindModelElement(t){const e=this.toViewElement(t);this._modelToViewMapping.delete(t);if(this._viewToModelMapping.get(e)==t){this._viewToModelMapping.delete(e)}}bindElementToMarker(t,e){const n=this._markerNameToElements.get(e)||new Set;n.add(t);const i=this._elementToMarkerNames.get(t)||new Set;i.add(e);this._markerNameToElements.set(e,n);this._elementToMarkerNames.set(t,i)}unbindElementFromMarkerName(t,e){const n=this._markerNameToElements.get(e);if(n){n.delete(t);if(n.size==0){this._markerNameToElements.delete(e)}}const i=this._elementToMarkerNames.get(t);if(i){i.delete(e);if(i.size==0){this._elementToMarkerNames.delete(t)}}}flushUnboundMarkerNames(){const t=Array.from(this._unboundMarkerNames);this._unboundMarkerNames.clear();return t}flushDeferredBindings(){for(const[t,e]of this._deferredBindingRemovals){if(t.root==e){this.unbindViewElement(t)}}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(t){return this._viewToModelMapping.get(t)}toViewElement(t){return this._modelToViewMapping.get(t)}toModelRange(t){return new Xb(this.toModelPosition(t.start),this.toModelPosition(t.end))}toViewRange(t){return new Tf(this.toViewPosition(t.start),this.toViewPosition(t.end))}toModelPosition(t){const e={viewPosition:t,mapper:this};this.fire("viewToModelPosition",e);return e.modelPosition}toViewPosition(t,e={}){const n={modelPosition:t,mapper:this,isPhantom:e.isPhantom};this.fire("modelToViewPosition",n);return n.viewPosition}markerNameToElements(t){const e=this._markerNameToElements.get(t);if(!e){return null}const n=new Set;for(const t of e){if(t.is("attributeElement")){for(const e of t.getElementsWithSameId()){n.add(e)}}else{n.add(t)}}return n}registerViewToModelLength(t,e){this._viewToModelLengthCallbacks.set(t,e)}findMappedViewAncestor(t){let e=t.parent;while(!this._viewToModelMapping.has(e)){e=e.parent}return e}_toModelOffset(t,e,n){if(n!=t){const i=this._toModelOffset(t.parent,t.index,n);const o=this._toModelOffset(t,e,t);return i+o}if(t.is("$text")){return e}let i=0;for(let n=0;n1?e[0]+":"+e[1]:e[0]}class ik extends(Z()){constructor(t){super();this._conversionApi={dispatcher:this,...t};this._firedEventsMap=new WeakMap}convertChanges(t,e,n){const i=this._createConversionApi(n,t.getRefreshedItems());for(const e of t.getMarkersToRemove()){this._convertMarkerRemove(e.name,e.range,i)}const o=this._reduceChanges(t.getChanges());for(const t of o){if(t.type==="insert"){this._convertInsert(Xb._createFromPositionAndShift(t.position,t.length),i)}else if(t.type==="reinsert"){this._convertReinsert(Xb._createFromPositionAndShift(t.position,t.length),i)}else if(t.type==="remove"){this._convertRemove(t.position,t.length,t.name,i)}else{this._convertAttribute(t.range,t.attributeKey,t.attributeOldValue,t.attributeNewValue,i)}}i.mapper.flushDeferredBindings();for(const t of i.mapper.flushUnboundMarkerNames()){const n=e.get(t).getRange();this._convertMarkerRemove(t,n,i);this._convertMarkerAdd(t,n,i)}for(const e of t.getMarkersToAdd()){this._convertMarkerAdd(e.name,e.range,i)}i.consumable.verifyAllConsumed("insert")}convert(t,e,n,i={}){const o=this._createConversionApi(n,undefined,i);this._convertInsert(t,o);for(const[t,n]of e){this._convertMarkerAdd(t,n,o)}o.consumable.verifyAllConsumed("insert")}convertSelection(t,e,n){const i=this._createConversionApi(n);this.fire("cleanSelection",{selection:t},i);const o=t.getFirstPosition().root;if(!i.mapper.toViewElement(o)){return}const r=Array.from(e.getMarkersAtPosition(t.getFirstPosition()));this._addConsumablesForSelection(i.consumable,t,r);this.fire("selection",{selection:t},i);if(!t.isCollapsed){return}for(const e of r){if(i.consumable.test(t,"addMarker:"+e.name)){const n=e.getRange();if(!ok(t.getFirstPosition(),e,i.mapper)){continue}const o={item:t,markerName:e.name,markerRange:n};this.fire(`addMarker:${e.name}`,o,i)}}for(const e of t.getAttributeKeys()){if(i.consumable.test(t,"attribute:"+e)){const n={item:t,range:t.getFirstRange(),attributeKey:e,attributeOldValue:null,attributeNewValue:t.getAttribute(e)};this.fire(`attribute:${e}:$text`,n,i)}}}_convertInsert(t,e,n={}){if(!n.doNotAddConsumables){this._addConsumablesForInsert(e.consumable,t)}for(const n of Array.from(t.getWalker({shallow:true})).map(sk)){this._testAndFire("insert",n,e)}}_convertRemove(t,e,n,i){this.fire(`remove:${n}`,{position:t,length:e},i)}_convertAttribute(t,e,n,i,o){this._addConsumablesForRange(o.consumable,t,`attribute:${e}`);for(const r of t){const t={item:r.item,range:Xb._createFromPositionAndShift(r.previousPosition,r.length),attributeKey:e,attributeOldValue:n,attributeNewValue:i};this._testAndFire(`attribute:${e}`,t,o)}}_convertReinsert(t,e){const n=Array.from(t.getWalker({shallow:true}));this._addConsumablesForInsert(e.consumable,n);for(const t of n.map(sk)){this._testAndFire("insert",{...t,reconversion:true},e)}}_convertMarkerAdd(t,e,n){if(e.root.rootName=="$graveyard"){return}const i=`addMarker:${t}`;n.consumable.add(e,i);this.fire(i,{markerName:t,markerRange:e},n);if(!n.consumable.consume(e,i)){return}this._addConsumablesForRange(n.consumable,e,i);for(const o of e.getItems()){if(!n.consumable.test(o,i)){continue}const r={item:o,range:Xb._createOn(o),markerName:t,markerRange:e};this.fire(i,r,n)}}_convertMarkerRemove(t,e,n){if(e.root.rootName=="$graveyard"){return}this.fire(`removeMarker:${t}`,{markerName:t,markerRange:e},n)}_reduceChanges(t){const e={changes:t};this.fire("reduceChanges",e);return e.changes}_addConsumablesForInsert(t,e){for(const n of e){const e=n.item;if(t.test(e,"insert")===null){t.add(e,"insert");for(const n of e.getAttributeKeys()){t.add(e,"attribute:"+n)}}}return t}_addConsumablesForRange(t,e,n){for(const i of e.getItems()){t.add(i,n)}return t}_addConsumablesForSelection(t,e,n){t.add(e,"selection");for(const i of n){t.add(e,"addMarker:"+i.name)}for(const n of e.getAttributeKeys()){t.add(e,"attribute:"+n)}return t}_testAndFire(t,e,n){const i=rk(t,e);const o=e.item.is("$textProxy")?n.consumable._getSymbolForTextProxy(e.item):e.item;const r=this._firedEventsMap.get(n);const s=r.get(o);if(!s){r.set(o,new Set([i]))}else if(!s.has(i)){s.add(i)}else{return}this.fire(i,e,n)}_testAndFireAddAttributes(t,e){const n={item:t,range:Xb._createOn(t)};for(const t of n.item.getAttributeKeys()){n.attributeKey=t;n.attributeOldValue=null;n.attributeNewValue=n.item.getAttribute(t);this._testAndFire(`attribute:${t}`,n,e)}}_createConversionApi(t,e=new Set,n={}){const i={...this._conversionApi,consumable:new ek,writer:t,options:n,convertItem:t=>this._convertInsert(Xb._createOn(t),i),convertChildren:t=>this._convertInsert(Xb._createIn(t),i,{doNotAddConsumables:true}),convertAttributes:t=>this._testAndFireAddAttributes(t,i),canReuseView:t=>!e.has(i.mapper.toModelElement(t))};this._firedEventsMap.set(i,new Map);return i}}function ok(t,e,n){const i=e.getRange();const o=Array.from(t.getAncestors());o.shift();o.reverse();const r=o.some((t=>{if(i.containsItem(t)){const e=n.toViewElement(t);return!!e.getCustomProperty("addHighlight")}}));return!r}function rk(t,e){const n=e.item.is("element")?e.item.name:"$text";return`${t}:${n}`}function sk(t){const e=t.item;const n=Xb._createFromPositionAndShift(t.previousPosition,t.length);return{item:e,range:n}}class ak extends(Z(Vb)){constructor(...t){super();this._lastRangeBackward=false;this._attrs=new Map;this._ranges=[];if(t.length){this.setTo(...t)}}get anchor(){if(this._ranges.length>0){const t=this._ranges[this._ranges.length-1];return this._lastRangeBackward?t.end:t.start}return null}get focus(){if(this._ranges.length>0){const t=this._ranges[this._ranges.length-1];return this._lastRangeBackward?t.start:t.end}return null}get isCollapsed(){const t=this._ranges.length;if(t===1){return this._ranges[0].isCollapsed}else{return false}}get rangeCount(){return this._ranges.length}get isBackward(){return!this.isCollapsed&&this._lastRangeBackward}isEqual(t){if(this.rangeCount!=t.rangeCount){return false}else if(this.rangeCount===0){return true}if(!this.anchor.isEqual(t.anchor)||!this.focus.isEqual(t.focus)){return false}for(const e of this._ranges){let n=false;for(const i of t._ranges){if(e.isEqual(i)){n=true;break}}if(!n){return false}}return true}*getRanges(){for(const t of this._ranges){yield new Xb(t.start,t.end)}}getFirstRange(){let t=null;for(const e of this._ranges){if(!t||e.start.isBefore(t.start)){t=e}}return t?new Xb(t.start,t.end):null}getLastRange(){let t=null;for(const e of this._ranges){if(!t||e.end.isAfter(t.end)){t=e}}return t?new Xb(t.start,t.end):null}getFirstPosition(){const t=this.getFirstRange();return t?t.start.clone():null}getLastPosition(){const t=this.getLastRange();return t?t.end.clone():null}setTo(...t){let[e,n,i]=t;if(typeof n=="object"){i=n;n=undefined}if(e===null){this._setRanges([])}else if(e instanceof ak){this._setRanges(e.getRanges(),e.isBackward)}else if(e&&typeof e.getRanges=="function"){this._setRanges(e.getRanges(),e.isBackward)}else if(e instanceof Xb){this._setRanges([e],!!i&&!!i.backward)}else if(e instanceof qb){this._setRanges([new Xb(e)])}else if(e instanceof Rb){const t=!!i&&!!i.backward;let o;if(n=="in"){o=Xb._createIn(e)}else if(n=="on"){o=Xb._createOn(e)}else if(n!==undefined){o=new Xb(qb._createAt(e,n))}else{throw new P("model-selection-setto-required-second-parameter",[this,e])}this._setRanges([o],t)}else if(Dt(e)){this._setRanges(e,i&&!!i.backward)}else{throw new P("model-selection-setto-not-selectable",[this,e])}}_setRanges(t,e=false){const n=Array.from(t);const i=n.some((e=>{if(!(e instanceof Xb)){throw new P("model-selection-set-ranges-not-range",[this,t])}return this._ranges.every((t=>!t.isEqual(e)))}));if(n.length===this._ranges.length&&!i){return}this._replaceAllRanges(n);this._lastRangeBackward=!!e;this.fire("change:range",{directChange:true})}setFocus(t,e){if(this.anchor===null){throw new P("model-selection-setfocus-no-ranges",[this,t])}const n=qb._createAt(t,e);if(n.compareWith(this.focus)=="same"){return}const i=this.anchor;if(this._ranges.length){this._popRange()}if(n.compareWith(i)=="before"){this._pushRange(new Xb(n,i));this._lastRangeBackward=true}else{this._pushRange(new Xb(i,n));this._lastRangeBackward=false}this.fire("change:range",{directChange:true})}getAttribute(t){return this._attrs.get(t)}getAttributes(){return this._attrs.entries()}getAttributeKeys(){return this._attrs.keys()}hasAttribute(t){return this._attrs.has(t)}removeAttribute(t){if(this.hasAttribute(t)){this._attrs.delete(t);this.fire("change:attribute",{attributeKeys:[t],directChange:true})}}setAttribute(t,e){if(this.getAttribute(t)!==e){this._attrs.set(t,e);this.fire("change:attribute",{attributeKeys:[t],directChange:true})}}getSelectedElement(){if(this.rangeCount!==1){return null}return this.getFirstRange().getContainedElement()}*getSelectedBlocks(){const t=new WeakSet;for(const e of this.getRanges()){const n=dk(e.start,t);if(hk(n,e)){yield n}for(const n of e.getWalker()){const i=n.item;if(n.type=="elementEnd"&&lk(i,t,e)){yield i}}const i=dk(e.end,t);if(gk(i,e)){yield i}}}containsEntireContent(t=this.anchor.root){const e=qb._createAt(t,0);const n=qb._createAt(t,"end");return e.isTouching(this.getFirstPosition())&&n.isTouching(this.getLastPosition())}_pushRange(t){this._checkRange(t);this._ranges.push(new Xb(t.start,t.end))}_checkRange(t){for(let e=0;e0){this._popRange()}}_popRange(){this._ranges.pop()}}ak.prototype.is=function(t){return t==="selection"||t==="model:selection"};function ck(t,e){if(e.has(t)){return false}e.add(t);return t.root.document.model.schema.isBlock(t)&&!!t.parent}function lk(t,e,n){return ck(t,e)&&uk(t,n)}function dk(t,e){const n=t.parent;const i=n.root.document.model.schema;const o=t.parent.getAncestors({parentFirst:true,includeSelf:true});let r=false;const s=o.find((t=>{if(r){return false}r=i.isLimit(t);return!r&&ck(t,e)}));o.forEach((t=>e.add(t)));return s}function uk(t,e){const n=fk(t);if(!n){return true}const i=e.containsRange(Xb._createOn(n),true);return!i}function hk(t,e){if(!t){return false}if(e.isCollapsed||t.isEmpty){return true}if(e.start.isTouching(qb._createAt(t,t.maxOffset))){return false}return uk(t,e)}function gk(t,e){if(!t){return false}if(e.isCollapsed||t.isEmpty){return true}if(e.end.isTouching(qb._createAt(t,0))){return false}return uk(t,e)}function fk(t){const e=t.root.document.model.schema;let n=t.parent;while(n){if(e.isBlock(n)){return n}n=n.parent}}class mk extends(Z(Xb)){constructor(t,e){super(t,e);pk.call(this)}detach(){this.stopListening()}toRange(){return new Xb(this.start,this.end)}static fromRange(t){return new mk(t.start,t.end)}}mk.prototype.is=function(t){return t==="liveRange"||t==="model:liveRange"||t=="range"||t==="model:range"};function pk(){this.listenTo(this.root.document.model,"applyOperation",((t,e)=>{const n=e[0];if(!n.isDocumentOperation){return}bk.call(this,n)}),{priority:"low"})}function bk(t){const e=this.getTransformedByOperation(t);const n=Xb._createFromRanges(e);const i=!n.isEqual(this);const o=kk(this,t);let r=null;if(i){if(n.root.rootName=="$graveyard"){if(t.type=="remove"){r=t.sourcePosition}else{r=t.deletionPosition}}const e=this.toRange();this.start=n.start;this.end=n.end;this.fire("change:range",e,{deletionPosition:r})}else if(o){this.fire("change:content",this.toRange(),{deletionPosition:r})}}function kk(t,e){switch(e.type){case"insert":return t.containsPosition(e.position);case"move":case"remove":case"reinsert":case"merge":return t.containsPosition(e.sourcePosition)||t.start.isEqual(e.sourcePosition)||t.containsPosition(e.targetPosition);case"split":return t.containsPosition(e.splitPosition)||t.containsPosition(e.insertionPosition)}return false}const wk="selection:";class Ak extends(Z(Vb)){constructor(t){super();this._selection=new Ck(t);this._selection.delegate("change:range").to(this);this._selection.delegate("change:attribute").to(this);this._selection.delegate("change:marker").to(this)}get isCollapsed(){return this._selection.isCollapsed}get anchor(){return this._selection.anchor}get focus(){return this._selection.focus}get rangeCount(){return this._selection.rangeCount}get hasOwnRange(){return this._selection.hasOwnRange}get isBackward(){return this._selection.isBackward}get isGravityOverridden(){return this._selection.isGravityOverridden}get markers(){return this._selection.markers}get _ranges(){return this._selection._ranges}getRanges(){return this._selection.getRanges()}getFirstPosition(){return this._selection.getFirstPosition()}getLastPosition(){return this._selection.getLastPosition()}getFirstRange(){return this._selection.getFirstRange()}getLastRange(){return this._selection.getLastRange()}getSelectedBlocks(){return this._selection.getSelectedBlocks()}getSelectedElement(){return this._selection.getSelectedElement()}containsEntireContent(t){return this._selection.containsEntireContent(t)}destroy(){this._selection.destroy()}getAttributeKeys(){return this._selection.getAttributeKeys()}getAttributes(){return this._selection.getAttributes()}getAttribute(t){return this._selection.getAttribute(t)}hasAttribute(t){return this._selection.hasAttribute(t)}refresh(){this._selection.updateMarkers();this._selection._updateAttributes(false)}observeMarkers(t){this._selection.observeMarkers(t)}_setFocus(t,e){this._selection.setFocus(t,e)}_setTo(...t){this._selection.setTo(...t)}_setAttribute(t,e){this._selection.setAttribute(t,e)}_removeAttribute(t){this._selection.removeAttribute(t)}_getStoredAttributes(){return this._selection.getStoredAttributes()}_overrideGravity(){return this._selection.overrideGravity()}_restoreGravity(t){this._selection.restoreGravity(t)}static _getStoreAttributeKey(t){return wk+t}static _isStoreAttributeKey(t){return t.startsWith(wk)}}Ak.prototype.is=function(t){return t==="selection"||t=="model:selection"||t=="documentSelection"||t=="model:documentSelection"};class Ck extends ak{constructor(t){super();this.markers=new fl({idProperty:"name"});this._attributePriority=new Map;this._selectionRestorePosition=null;this._hasChangedRange=false;this._overriddenGravityRegister=new Set;this._observedMarkers=new Set;this._model=t.model;this._document=t;this.listenTo(this._model,"applyOperation",((t,e)=>{const n=e[0];if(!n.isDocumentOperation||n.type=="marker"||n.type=="rename"||n.type=="noop"){return}if(this._ranges.length==0&&this._selectionRestorePosition){this._fixGraveyardSelection(this._selectionRestorePosition)}this._selectionRestorePosition=null;if(this._hasChangedRange){this._hasChangedRange=false;this.fire("change:range",{directChange:false})}}),{priority:"lowest"});this.on("change:range",(()=>{this._validateSelectionRanges(this.getRanges())}));this.listenTo(this._model.markers,"update",((t,e,n,i)=>{this._updateMarker(e,i)}));this.listenTo(this._document,"change",((t,e)=>{vk(this._model,e)}))}get isCollapsed(){const t=this._ranges.length;return t===0?this._document._getDefaultRange().isCollapsed:super.isCollapsed}get anchor(){return super.anchor||this._document._getDefaultRange().start}get focus(){return super.focus||this._document._getDefaultRange().end}get rangeCount(){return this._ranges.length?this._ranges.length:1}get hasOwnRange(){return this._ranges.length>0}get isGravityOverridden(){return!!this._overriddenGravityRegister.size}destroy(){for(let t=0;t{this._hasChangedRange=true;if(e.root==this._document.graveyard){this._selectionRestorePosition=i.deletionPosition;const t=this._ranges.indexOf(e);this._ranges.splice(t,1);e.detach()}}));return e}updateMarkers(){if(!this._observedMarkers.size){return}const t=[];let e=false;for(const e of this._model.markers){const n=e.name.split(":",1)[0];if(!this._observedMarkers.has(n)){continue}const i=e.getRange();for(const n of this.getRanges()){if(i.containsRange(n,!n.isCollapsed)){t.push(e)}}}const n=Array.from(this.markers);for(const n of t){if(!this.markers.has(n)){this.markers.add(n);e=true}}for(const n of Array.from(this.markers)){if(!t.includes(n)){this.markers.remove(n);e=true}}if(e){this.fire("change:marker",{oldMarkers:n,directChange:false})}}_updateMarker(t,e){const n=t.name.split(":",1)[0];if(!this._observedMarkers.has(n)){return}let i=false;const o=Array.from(this.markers);const r=this.markers.has(t);if(!e){if(r){this.markers.remove(t);i=true}}else{let n=false;for(const t of this.getRanges()){if(e.containsRange(t,!t.isCollapsed)){n=true;break}}if(n&&!r){this.markers.add(t);i=true}else if(!n&&r){this.markers.remove(t);i=true}}if(i){this.fire("change:marker",{oldMarkers:o,directChange:false})}}_updateAttributes(t){const e=wl(this._getSurroundingAttributes());const n=wl(this.getAttributes());if(t){this._attributePriority=new Map;this._attrs=new Map}else{for(const[t,e]of this._attributePriority){if(e=="low"){this._attrs.delete(t);this._attributePriority.delete(t)}}}this._setAttributesTo(e);const i=[];for(const[t,e]of this.getAttributes()){if(!n.has(t)||n.get(t)!==e){i.push(t)}}for(const[t]of n){if(!this.hasAttribute(t)){i.push(t)}}if(i.length>0){this.fire("change:attribute",{attributeKeys:i,directChange:false})}}_setAttribute(t,e,n=true){const i=n?"normal":"low";if(i=="low"&&this._attributePriority.get(t)=="normal"){return false}const o=super.getAttribute(t);if(o===e){return false}this._attrs.set(t,e);this._attributePriority.set(t,i);return true}_removeAttribute(t,e=true){const n=e?"normal":"low";if(n=="low"&&this._attributePriority.get(t)=="normal"){return false}this._attributePriority.set(t,n);if(!super.hasAttribute(t)){return false}this._attrs.delete(t);return true}_setAttributesTo(t){const e=new Set;for(const[e,n]of this.getAttributes()){if(t.get(e)===n){continue}this._removeAttribute(e,false)}for(const[n,i]of t){const t=this._setAttribute(n,i,false);if(t){e.add(n)}}return e}*getStoredAttributes(){const t=this.getFirstPosition().parent;if(this.isCollapsed&&t.isEmpty){for(const e of t.getAttributeKeys()){if(e.startsWith(wk)){const n=e.substr(wk.length);yield[n,t.getAttribute(e)]}}}}_getSurroundingAttributes(){const t=this.getFirstPosition();const e=this._model.schema;if(t.root.rootName=="$graveyard"){return null}let n=null;if(!this.isCollapsed){const t=this.getFirstRange();for(const i of t){if(i.item.is("element")&&e.isObject(i.item)){n=_k(i.item,e);break}if(i.type=="text"){n=i.item.getAttributes();break}}}else{const i=t.textNode?t.textNode:t.nodeBefore;const o=t.textNode?t.textNode:t.nodeAfter;if(!this.isGravityOverridden){n=_k(i,e)}if(!n){n=_k(o,e)}if(!this.isGravityOverridden&&!n){let t=i;while(t&&!n){t=t.previousSibling;n=_k(t,e)}}if(!n){let t=o;while(t&&!n){t=t.nextSibling;n=_k(t,e)}}if(!n){n=this.getStoredAttributes()}}return n}_fixGraveyardSelection(t){const e=this._model.schema.getNearestSelectionRange(t);if(e){this._pushRange(e)}}}function _k(t,e){if(!t){return null}if(t instanceof jb||t instanceof Fb){return t.getAttributes()}if(!e.isInline(t)){return null}if(!e.isObject(t)){return[]}const n=[];for(const[i,o]of t.getAttributes()){if(e.checkAttribute("$text",i)&&e.getAttributeProperties(i).copyFromObject!==false){n.push([i,o])}}return n}function vk(t,e){const n=t.document.differ;for(const i of n.getChanges()){if(i.type!="insert"){continue}const n=i.position.parent;const o=i.length===n.maxOffset;if(o){t.enqueueChange(e,(t=>{const e=Array.from(n.getAttributeKeys()).filter((t=>t.startsWith(wk)));for(const i of e){t.removeAttribute(i,n)}}))}}}class yk{constructor(t){this._dispatchers=t}add(t){for(const e of this._dispatchers){t(e)}return this}}class xk extends yk{elementToElement(t){return this.add(Zk(t))}elementToStructure(t){return this.add($k(t))}attributeToElement(t){return this.add(Kk(t))}attributeToAttribute(t){return this.add(Yk(t))}markerToElement(t){return this.add(Qk(t))}markerToHighlight(t){return this.add(Xk(t))}markerToData(t){return this.add(Jk(t))}}function Ek(){return(t,e,n)=>{if(!n.consumable.consume(e.item,t.name)){return}const i=n.writer;const o=n.mapper.toViewPosition(e.range.start);const r=i.createText(e.item.data);i.insert(o,r)}}function Dk(){return(t,e,n)=>{n.convertAttributes(e.item);if(!e.reconversion&&e.item.is("element")&&!e.item.isEmpty){n.convertChildren(e.item)}}}function Tk(){return(t,e,n)=>{const i=n.mapper.toViewPosition(e.position);const o=e.position.getShiftedBy(e.length);const r=n.mapper.toViewPosition(o,{isPhantom:true});const s=n.writer.createRange(i,r);const a=n.writer.remove(s.getTrimmed());for(const t of n.writer.createRangeIn(a).getItems()){n.mapper.unbindViewElement(t,{defer:true})}}}function Ik(t,e){const n=t.createAttributeElement("span",e.attributes);if(e.classes){n._addClass(e.classes)}if(typeof e.priority==="number"){n._priority=e.priority}n._id=e.id;return n}function Sk(){return(t,e,n)=>{const i=e.selection;if(i.isCollapsed){return}if(!n.consumable.consume(i,"selection")){return}const o=[];for(const t of i.getRanges()){o.push(n.mapper.toViewRange(t))}n.writer.setSelection(o,{backward:i.isBackward})}}function Bk(){return(t,e,n)=>{const i=e.selection;if(!i.isCollapsed){return}if(!n.consumable.consume(i,"selection")){return}const o=n.writer;const r=i.getFirstPosition();const s=n.mapper.toViewPosition(r);const a=o.breakAttributes(s);o.setSelection(a)}}function Mk(){return(t,e,n)=>{const i=n.writer;const o=i.document.selection;for(const t of o.getRanges()){if(t.isCollapsed){if(t.end.parent.isAttached()){n.writer.mergeAttributes(t.start)}}}i.setSelection(null)}}function Nk(t){return(e,n,i)=>{if(!i.consumable.test(n.item,e.name)){return}const o=t(n.attributeOldValue,i,n);const r=t(n.attributeNewValue,i,n);if(!o&&!r){return}i.consumable.consume(n.item,e.name);const s=i.writer;const a=s.document.selection;if(n.item instanceof ak||n.item instanceof Ak){s.wrap(a.getFirstRange(),r)}else{let t=i.mapper.toViewRange(n.range);if(n.attributeOldValue!==null&&o){t=s.unwrap(t,o)}if(n.attributeNewValue!==null&&r){s.wrap(t,r)}}}}function Pk(t,e=fw){return(n,i,o)=>{if(!e(i.item,o.consumable,{preflight:true})){return}const r=t(i.item,o,i);if(!r){return}e(i.item,o.consumable);const s=o.mapper.toViewPosition(i.range.start);o.mapper.bindElements(i.item,r);o.writer.insert(s,r);o.convertAttributes(i.item);hw(r,i.item.getChildren(),o,{reconversion:i.reconversion})}}function Lk(t,e){return(n,i,o)=>{if(!e(i.item,o.consumable,{preflight:true})){return}const r=new Map;o.writer._registerSlotFactory(lw(i.item,r,o));const s=t(i.item,o,i);o.writer._clearSlotFactory();if(!s){return}dw(i.item,r,o);e(i.item,o.consumable);const a=o.mapper.toViewPosition(i.range.start);o.mapper.bindElements(i.item,s);o.writer.insert(a,s);o.convertAttributes(i.item);uw(s,r,o,{reconversion:i.reconversion})}}function zk(t){return(e,n,i)=>{n.isOpening=true;const o=t(n,i);n.isOpening=false;const r=t(n,i);if(!o||!r){return}const s=n.markerRange;if(s.isCollapsed&&!i.consumable.consume(s,e.name)){return}for(const t of s){if(!i.consumable.consume(t.item,e.name)){return}}const a=i.mapper;const c=i.writer;c.insert(a.toViewPosition(s.start),o);i.mapper.bindElementToMarker(o,n.markerName);if(!s.isCollapsed){c.insert(a.toViewPosition(s.end),r);i.mapper.bindElementToMarker(r,n.markerName)}e.stop()}}function Vk(){return(t,e,n)=>{const i=n.mapper.markerNameToElements(e.markerName);if(!i){return}for(const t of i){n.mapper.unbindElementFromMarkerName(t,e.markerName);n.writer.clear(n.writer.createRangeOn(t),t)}n.writer.clearClonedElementsGroup(e.markerName);t.stop()}}function Rk(t){return(e,n,i)=>{const o=t(n.markerName,i);if(!o){return}const r=n.markerRange;if(!i.consumable.consume(r,e.name)){return}Ok(r,false,i,n,o);Ok(r,true,i,n,o);e.stop()}}function Ok(t,e,n,i,o){const r=e?t.start:t.end;const s=r.nodeAfter&&r.nodeAfter.is("element")?r.nodeAfter:null;const a=r.nodeBefore&&r.nodeBefore.is("element")?r.nodeBefore:null;if(s||a){let t;let r;if(e&&s||!e&&!a){t=s;r=true}else{t=a;r=false}const c=n.mapper.toViewElement(t);if(c){Fk(c,e,r,n,i,o);return}}const c=n.mapper.toViewPosition(r);jk(c,e,n,i,o)}function Fk(t,e,n,i,o,r){const s=`data-${r.group}-${e?"start":"end"}-${n?"before":"after"}`;const a=t.hasAttribute(s)?t.getAttribute(s).split(","):[];a.unshift(r.name);i.writer.setAttribute(s,a.join(","),t);i.mapper.bindElementToMarker(t,o.markerName)}function jk(t,e,n,i,o){const r=`${o.group}-${e?"start":"end"}`;const s=o.name?{name:o.name}:null;const a=n.writer.createUIElement(r,s);n.writer.insert(t,a);n.mapper.bindElementToMarker(a,i.markerName)}function Hk(t){return(e,n,i)=>{const o=t(n.markerName,i);if(!o){return}const r=i.mapper.markerNameToElements(n.markerName);if(!r){return}for(const t of r){i.mapper.unbindElementFromMarkerName(t,n.markerName);if(t.is("containerElement")){s(`data-${o.group}-start-before`,t);s(`data-${o.group}-start-after`,t);s(`data-${o.group}-end-before`,t);s(`data-${o.group}-end-after`,t)}else{i.writer.clear(i.writer.createRangeOn(t),t)}}i.writer.clearClonedElementsGroup(n.markerName);e.stop();function s(t,e){if(e.hasAttribute(t)){const n=new Set(e.getAttribute(t).split(","));n.delete(o.name);if(n.size==0){i.writer.removeAttribute(t,e)}else{i.writer.setAttribute(t,Array.from(n).join(","),e)}}}}}function Uk(t){return(e,n,i)=>{if(!i.consumable.test(n.item,e.name)){return}const o=t(n.attributeOldValue,i,n);const r=t(n.attributeNewValue,i,n);if(!o&&!r){return}i.consumable.consume(n.item,e.name);const s=i.mapper.toViewElement(n.item);const a=i.writer;if(!s){throw new P("conversion-attribute-to-attribute-on-text",i.dispatcher,n)}if(n.attributeOldValue!==null&&o){if(o.key=="class"){const t=ol(o.value);for(const e of t){a.removeClass(e,s)}}else if(o.key=="style"){const t=Object.keys(o.value);for(const e of t){a.removeStyle(e,s)}}else{a.removeAttribute(o.key,s)}}if(n.attributeNewValue!==null&&r){if(r.key=="class"){const t=ol(r.value);for(const e of t){a.addClass(e,s)}}else if(r.key=="style"){const t=Object.keys(r.value);for(const e of t){a.setStyle(e,r.value[e],s)}}else{a.setAttribute(r.key,r.value,s)}}}}function Wk(t){return(e,n,i)=>{if(!n.item){return}if(!(n.item instanceof ak||n.item instanceof Ak)&&!n.item.is("$textProxy")){return}const o=rw(t,n,i);if(!o){return}if(!i.consumable.consume(n.item,e.name)){return}const r=i.writer;const s=Ik(r,o);const a=r.document.selection;if(n.item instanceof ak||n.item instanceof Ak){r.wrap(a.getFirstRange(),s)}else{const t=i.mapper.toViewRange(n.range);const e=r.wrap(t,s);for(const t of e.getItems()){if(t.is("attributeElement")&&t.isSimilar(s)){i.mapper.bindElementToMarker(t,n.markerName);break}}}}}function Gk(t){return(e,n,i)=>{if(!n.item){return}if(!(n.item instanceof Hb)){return}const o=rw(t,n,i);if(!o){return}if(!i.consumable.test(n.item,e.name)){return}const r=i.mapper.toViewElement(n.item);if(r&&r.getCustomProperty("addHighlight")){i.consumable.consume(n.item,e.name);for(const t of Xb._createIn(n.item)){i.consumable.consume(t.item,e.name)}const t=r.getCustomProperty("addHighlight");t(r,o,i.writer);i.mapper.bindElementToMarker(r,n.markerName)}}}function qk(t){return(e,n,i)=>{if(n.markerRange.isCollapsed){return}const o=rw(t,n,i);if(!o){return}const r=Ik(i.writer,o);const s=i.mapper.markerNameToElements(n.markerName);if(!s){return}for(const t of s){i.mapper.unbindElementFromMarkerName(t,n.markerName);if(t.is("attributeElement")){i.writer.unwrap(i.writer.createRangeOn(t),r)}else{const e=t.getCustomProperty("removeHighlight");e(t,o.id,i.writer)}}i.writer.clearClonedElementsGroup(n.markerName);e.stop()}}function Zk(t){const e=tw(t.model);const n=ew(t.view,"container");if(e.attributes.length){e.children=true}return i=>{i.on(`insert:${e.name}`,Pk(n,cw(e)),{priority:t.converterPriority||"normal"});if(e.children||e.attributes.length){i.on("reduceChanges",aw(e),{priority:"low"})}}}function $k(t){const e=tw(t.model);const n=ew(t.view,"container");e.children=true;return i=>{if(i._conversionApi.schema.checkChild(e.name,"$text")){throw new P("conversion-element-to-structure-disallowed-text",i,{elementName:e.name})}i.on(`insert:${e.name}`,Lk(n,cw(e)),{priority:t.converterPriority||"normal"});i.on("reduceChanges",aw(e),{priority:"low"})}}function Kk(t){t=Lb(t);let e=t.model;if(typeof e=="string"){e={key:e}}let n=`attribute:${e.key}`;if(e.name){n+=":"+e.name}if(e.values){for(const n of e.values){t.view[n]=ew(t.view[n],"attribute")}}else{t.view=ew(t.view,"attribute")}const i=iw(t);return e=>{e.on(n,Nk(i),{priority:t.converterPriority||"normal"})}}function Yk(t){t=Lb(t);let e=t.model;if(typeof e=="string"){e={key:e}}let n=`attribute:${e.key}`;if(e.name){n+=":"+e.name}if(e.values){for(const n of e.values){t.view[n]=ow(t.view[n])}}else{t.view=ow(t.view)}const i=iw(t);return e=>{e.on(n,Uk(i),{priority:t.converterPriority||"normal"})}}function Qk(t){const e=ew(t.view,"ui");return n=>{n.on(`addMarker:${t.model}`,zk(e),{priority:t.converterPriority||"normal"});n.on(`removeMarker:${t.model}`,Vk(),{priority:t.converterPriority||"normal"})}}function Jk(t){t=Lb(t);const e=t.model;let n=t.view;if(!n){n=n=>({group:e,name:n.substr(t.model.length+1)})}return i=>{i.on(`addMarker:${e}`,Rk(n),{priority:t.converterPriority||"normal"});i.on(`removeMarker:${e}`,Hk(n),{priority:t.converterPriority||"normal"})}}function Xk(t){return e=>{e.on(`addMarker:${t.model}`,Wk(t.view),{priority:t.converterPriority||"normal"});e.on(`addMarker:${t.model}`,Gk(t.view),{priority:t.converterPriority||"normal"});e.on(`removeMarker:${t.model}`,qk(t.view),{priority:t.converterPriority||"normal"})}}function tw(t){if(typeof t=="string"){t={name:t}}return{name:t.name,attributes:t.attributes?ol(t.attributes):[],children:!!t.children}}function ew(t,e){if(typeof t=="function"){return t}return(n,i)=>nw(t,i,e)}function nw(t,e,n){if(typeof t=="string"){t={name:t}}let i;const o=e.writer;const r=Object.assign({},t.attributes);if(n=="container"){i=o.createContainerElement(t.name,r)}else if(n=="attribute"){const e={priority:t.priority||Uf.DEFAULT_PRIORITY};i=o.createAttributeElement(t.name,r,e)}else{i=o.createUIElement(t.name,r)}if(t.styles){const e=Object.keys(t.styles);for(const n of e){o.setStyle(n,t.styles[n],i)}}if(t.classes){const e=t.classes;if(typeof e=="string"){o.addClass(e,i)}else{for(const t of e){o.addClass(t,i)}}}return i}function iw(t){if(t.model.values){return(e,n,i)=>{const o=t.view[e];if(o){return o(e,n,i)}return null}}else{return t.view}}function ow(t){if(typeof t=="string"){return e=>({key:t,value:e})}else if(typeof t=="object"){if(t.value){return()=>t}else{return e=>({key:t.key,value:e})}}else{return t}}function rw(t,e,n){const i=typeof t=="function"?t(e,n):t;if(!i){return null}if(!i.priority){i.priority=10}if(!i.id){i.id=e.markerName}return i}function sw(t){return(e,n)=>{if(!e.is("element",t.name)){return false}if(n.type=="attribute"){if(t.attributes.includes(n.attributeKey)){return true}}else{if(t.children){return true}}return false}}function aw(t){const e=sw(t);return(t,n)=>{const i=[];if(!n.reconvertedElements){n.reconvertedElements=new Set}for(const t of n.changes){const o=t.type=="attribute"?t.range.start.nodeAfter:t.position.parent;if(!o||!e(o,t)){i.push(t);continue}if(!n.reconvertedElements.has(o)){n.reconvertedElements.add(o);const t=qb._createBefore(o);let e=i.length;for(let n=i.length-1;n>=0;n--){const o=i[n];const r=o.type=="attribute"?o.range.start:o.position;const s=r.compareWith(t);if(s=="before"||o.type=="remove"&&s=="same"){break}e=n}i.splice(e,0,{type:"remove",name:o.name,position:t,length:1},{type:"reinsert",name:o.name,position:t,length:1})}}n.changes=i}}function cw(t){return(e,n,i={})=>{const o=["insert"];for(const n of t.attributes){if(e.hasAttribute(n)){o.push(`attribute:${n}`)}}if(!o.every((t=>n.test(e,t)))){return false}if(!i.preflight){o.forEach((t=>n.consume(e,t)))}return true}}function lw(t,e,n){return(i,o)=>{const r=i.createContainerElement("$slot");let s=null;if(o==="children"){s=Array.from(t.getChildren())}else if(typeof o=="function"){s=Array.from(t.getChildren()).filter((t=>o(t)))}else{throw new P("conversion-slot-mode-unknown",n.dispatcher,{modeOrFilter:o})}e.set(r,s);return r}}function dw(t,e,n){const i=Array.from(e.values()).flat();const o=new Set(i);if(o.size!=i.length){throw new P("conversion-slot-filter-overlap",n.dispatcher,{element:t})}if(o.size!=t.childCount){throw new P("conversion-slot-filter-incomplete",n.dispatcher,{element:t})}}function uw(t,e,n,i){n.mapper.on("modelToViewPosition",s,{priority:"highest"});let o=null;let r=null;for([o,r]of e){hw(t,r,n,i);n.writer.move(n.writer.createRangeIn(o),n.writer.createPositionBefore(o));n.writer.remove(o)}n.mapper.off("modelToViewPosition",s);function s(t,e){const n=e.modelPosition.nodeAfter;const i=r.indexOf(n);if(i<0){return}e.viewPosition=e.mapper.findPositionIn(o,i)}}function hw(t,e,n,i){for(const o of e){if(!gw(t.root,o,n,i)){n.convertItem(o)}}}function gw(t,e,n,i){const{writer:o,mapper:r}=n;if(!i.reconversion){return false}const s=r.toViewElement(e);if(!s||s.root==t){return false}if(!n.canReuseView(s)){return false}o.move(o.createRangeOn(s),r.toViewPosition(qb._createBefore(e)));return true}function fw(t,e,{preflight:n}={}){if(n){return e.test(t,"insert")}else{return e.consume(t,"insert")}}function mw(t){const{schema:e,document:n}=t.model;for(const i of n.getRoots()){if(i.isEmpty&&!e.checkChild(i,"$text")){if(e.checkChild(i,"paragraph")){t.insertElement("paragraph",i);return true}}}return false}function pw(t,e,n){const i=n.createContext(t);if(!n.checkChild(i,"paragraph")){return false}if(!n.checkChild(i.push("paragraph"),e)){return false}return true}function bw(t,e){const n=e.createElement("paragraph");e.insert(n,t);return e.createPositionAt(n,0)}class kw extends yk{elementToElement(t){return this.add(_w(t))}elementToAttribute(t){return this.add(vw(t))}attributeToAttribute(t){return this.add(yw(t))}elementToMarker(t){return this.add(xw(t))}dataToMarker(t){return this.add(Ew(t))}}function ww(){return(t,e,n)=>{if(!e.modelRange&&n.consumable.consume(e.viewItem,{name:true})){const{modelRange:t,modelCursor:i}=n.convertChildren(e.viewItem,e.modelCursor);e.modelRange=t;e.modelCursor=i}}}function Aw(){return(t,e,{schema:n,consumable:i,writer:o})=>{let r=e.modelCursor;if(!i.test(e.viewItem)){return}if(!n.checkChild(r,"$text")){if(!pw(r,"$text",n)){return}if(e.viewItem.data.trim().length==0){return}const t=r.nodeBefore;r=bw(r,o);if(t&&t.is("element","$marker")){o.move(o.createRangeOn(t),r);r=o.createPositionAfter(t)}}i.consume(e.viewItem);const s=o.createText(e.viewItem.data);o.insert(s,r);e.modelRange=o.createRange(r,r.getShiftedBy(s.offsetSize));e.modelCursor=e.modelRange.end}}function Cw(t,e){return(n,i)=>{const o=i.newSelection;const r=[];for(const t of o.getRanges()){r.push(e.toModelRange(t))}const s=t.createSelection(r,{backward:o.isBackward});if(!s.isEqual(t.document.selection)){t.change((t=>{t.setSelection(s)}))}}}function _w(t){t=Lb(t);const e=Iw(t);const n=Tw(t.view);const i=n?`element:${n}`:"element";return n=>{n.on(i,e,{priority:t.converterPriority||"normal"})}}function vw(t){t=Lb(t);Mw(t);const e=Nw(t,false);const n=Tw(t.view);const i=n?`element:${n}`:"element";return n=>{n.on(i,e,{priority:t.converterPriority||"low"})}}function yw(t){t=Lb(t);let e=null;if(typeof t.view=="string"||t.view.key){e=Bw(t)}Mw(t,e);const n=Nw(t,true);return e=>{e.on("element",n,{priority:t.converterPriority||"low"})}}function xw(t){const e=zw(t.model);return _w({...t,model:e})}function Ew(t){t=Lb(t);if(!t.model){t.model=e=>e?t.view+":"+e:t.view}const e={view:t.view,model:t.model};const n=Iw(Vw(e,"start"));const i=Iw(Vw(e,"end"));return o=>{o.on(`element:${t.view}-start`,n,{priority:t.converterPriority||"normal"});o.on(`element:${t.view}-end`,i,{priority:t.converterPriority||"normal"});const r=B.low;const s=B.highest;const a=B.get(t.converterPriority)/s;o.on("element",Dw(e),{priority:r+a})}}function Dw(t){return(e,n,i)=>{const o=`data-${t.view}`;if(!i.consumable.test(n.viewItem,{attributes:o+"-end-after"})&&!i.consumable.test(n.viewItem,{attributes:o+"-start-after"})&&!i.consumable.test(n.viewItem,{attributes:o+"-end-before"})&&!i.consumable.test(n.viewItem,{attributes:o+"-start-before"})){return}if(!n.modelRange){Object.assign(n,i.convertChildren(n.viewItem,n.modelCursor))}if(i.consumable.consume(n.viewItem,{attributes:o+"-end-after"})){r(n.modelRange.end,n.viewItem.getAttribute(o+"-end-after").split(","))}if(i.consumable.consume(n.viewItem,{attributes:o+"-start-after"})){r(n.modelRange.end,n.viewItem.getAttribute(o+"-start-after").split(","))}if(i.consumable.consume(n.viewItem,{attributes:o+"-end-before"})){r(n.modelRange.start,n.viewItem.getAttribute(o+"-end-before").split(","))}if(i.consumable.consume(n.viewItem,{attributes:o+"-start-before"})){r(n.modelRange.start,n.viewItem.getAttribute(o+"-start-before").split(","))}function r(e,o){for(const r of o){const o=t.model(r,i);const s=i.writer.createElement("$marker",{"data-name":o});i.writer.insert(s,e);if(n.modelCursor.isEqual(e)){n.modelCursor=n.modelCursor.getShiftedBy(1)}else{n.modelCursor=n.modelCursor._getTransformedByInsertion(e,1)}n.modelRange=n.modelRange._getTransformedByInsertion(e,1)[0]}}}}function Tw(t){if(typeof t=="string"){return t}if(typeof t=="object"&&typeof t.name=="string"){return t.name}return null}function Iw(t){const e=new kh(t.view);return(n,i,o)=>{const r=e.match(i.viewItem);if(!r){return}const s=r.match;s.name=true;if(!o.consumable.test(i.viewItem,s)){return}const a=Sw(t.model,i.viewItem,o);if(!a){return}if(!o.safeInsert(a,i.modelCursor)){return}o.consumable.consume(i.viewItem,s);o.convertChildren(i.viewItem,a);o.updateConversionResult(a,i)}}function Sw(t,e,n){if(t instanceof Function){return t(e,n)}else{return n.writer.createElement(t)}}function Bw(t){if(typeof t.view=="string"){t.view={key:t.view}}const e=t.view.key;let n;if(e=="class"||e=="style"){const i=e=="class"?"classes":"styles";n={[i]:t.view.value}}else{const i=typeof t.view.value=="undefined"?/[\s\S]*/:t.view.value;n={attributes:{[e]:i}}}if(t.view.name){n.name=t.view.name}t.view=n;return e}function Mw(t,e=null){const n=e===null?true:t=>t.getAttribute(e);const i=typeof t.model!="object"?t.model:t.model.key;const o=typeof t.model!="object"||typeof t.model.value=="undefined"?n:t.model.value;t.model={key:i,value:o}}function Nw(t,e){const n=new kh(t.view);return(i,o,r)=>{if(!o.modelRange&&e){return}const s=n.match(o.viewItem);if(!s){return}if(Pw(t.view,o.viewItem)){s.match.name=true}else{delete s.match.name}if(!r.consumable.test(o.viewItem,s.match)){return}const a=t.model.key;const c=typeof t.model.value=="function"?t.model.value(o.viewItem,r):t.model.value;if(c===null){return}if(!o.modelRange){Object.assign(o,r.convertChildren(o.viewItem,o.modelCursor))}const l=Lw(o.modelRange,{key:a,value:c},e,r);if(l){if(r.consumable.test(o.viewItem,{name:true})){s.match.name=true}r.consumable.consume(o.viewItem,s.match)}}}function Pw(t,e){const n=typeof t=="function"?t(e):t;if(typeof n=="object"&&!Tw(n)){return false}return!n.classes&&!n.attributes&&!n.styles}function Lw(t,e,n,i){let o=false;for(const r of Array.from(t.getItems({shallow:n}))){if(!i.schema.checkAttribute(r,e.key)){continue}o=true;if(r.hasAttribute(e.key)){continue}i.writer.setAttribute(e.key,e.value,r)}return o}function zw(t){return(e,n)=>{const i=typeof t=="string"?t:t(e,n);return n.writer.createElement("$marker",{"data-name":i})}}function Vw(t,e){const n=(e,n)=>{const i=e.getAttribute("name");const o=t.model(i,n);return n.writer.createElement("$marker",{"data-name":o})};return{view:`${t.view}-${e}`,model:n}}function Rw(t){t.document.registerPostFixer((e=>Ow(e,t)))}function Ow(t,e){const n=e.document.selection;const i=e.schema;const o=[];let r=false;for(const t of n.getRanges()){const e=Fw(t,i);if(e&&!e.isEqual(t)){o.push(e);r=true}else{o.push(t)}}if(r){t.setSelection(Gw(o),{backward:n.isBackward})}return false}function Fw(t,e){if(t.isCollapsed){return jw(t,e)}return Hw(t,e)}function jw(t,e){const n=t.start;const i=e.getNearestSelectionRange(n);if(!i){const t=n.getAncestors().reverse().find((t=>e.isObject(t)));if(t){return Xb._createOn(t)}return null}if(!i.isCollapsed){return i}const o=i.start;if(n.isEqual(o)){return null}return new Xb(o)}function Hw(t,e){const{start:n,end:i}=t;const o=e.checkChild(n,"$text");const r=e.checkChild(i,"$text");const s=e.getLimitElement(n);const a=e.getLimitElement(i);if(s===a){if(o&&r){return null}if(Ww(n,i,e)){const t=n.nodeAfter&&e.isSelectable(n.nodeAfter);const o=t?null:e.getNearestSelectionRange(n,"forward");const r=i.nodeBefore&&e.isSelectable(i.nodeBefore);const s=r?null:e.getNearestSelectionRange(i,"backward");const a=o?o.start:n;const c=s?s.end:i;return new Xb(a,c)}}const c=s&&!s.is("rootElement");const l=a&&!a.is("rootElement");if(c||l){const t=n.nodeAfter&&i.nodeBefore&&n.nodeAfter.parent===i.nodeBefore.parent;const o=c&&(!t||!qw(n.nodeAfter,e));const r=l&&(!t||!qw(i.nodeBefore,e));let d=n;let u=i;if(o){d=qb._createBefore(Uw(s,e))}if(r){u=qb._createAfter(Uw(a,e))}return new Xb(d,u)}return null}function Uw(t,e){let n=t;let i=n;while(e.isLimit(i)&&i.parent){n=i;i=i.parent}return n}function Ww(t,e,n){const i=t.nodeAfter&&!n.isLimit(t.nodeAfter)||n.checkChild(t,"$text");const o=e.nodeBefore&&!n.isLimit(e.nodeBefore)||n.checkChild(e,"$text");return i||o}function Gw(t){const e=[...t];const n=new Set;let i=1;while(i!n.has(e)));return o}function qw(t,e){return t&&e.isSelectable(t)}class Zw extends(gt()){constructor(t,e){super();this.model=t;this.view=new zb(e);this.mapper=new tk;this.downcastDispatcher=new ik({mapper:this.mapper,schema:t.schema});const n=this.model.document;const i=n.selection;const o=this.model.markers;this.listenTo(this.model,"_beforeChanges",(()=>{this.view._disableRendering(true)}),{priority:"highest"});this.listenTo(this.model,"_afterChanges",(()=>{this.view._disableRendering(false)}),{priority:"lowest"});this.listenTo(n,"change",(()=>{this.view.change((t=>{this.downcastDispatcher.convertChanges(n.differ,o,t);this.downcastDispatcher.convertSelection(i,o,t)}))}),{priority:"low"});this.listenTo(this.view.document,"selectionChange",Cw(this.model,this.mapper));this.listenTo(this.view.document,"beforeinput",$w(this.mapper,this.model.schema,this.view),{priority:"high"});this.downcastDispatcher.on("insert:$text",Ek(),{priority:"lowest"});this.downcastDispatcher.on("insert",Dk(),{priority:"lowest"});this.downcastDispatcher.on("remove",Tk(),{priority:"low"});this.downcastDispatcher.on("cleanSelection",Mk());this.downcastDispatcher.on("selection",Sk(),{priority:"low"});this.downcastDispatcher.on("selection",Bk(),{priority:"low"});this.view.document.roots.bindTo(this.model.document.roots).using((t=>{if(t.rootName=="$graveyard"){return null}const e=new xf(this.view.document,t.name);e.rootName=t.rootName;this.mapper.bindElements(t,e);return e}))}destroy(){this.view.destroy();this.stopListening()}reconvertMarker(t){const e=typeof t=="string"?t:t.name;const n=this.model.markers.get(e);if(!n){throw new P("editingcontroller-reconvertmarker-marker-not-exist",this,{markerName:e})}this.model.change((()=>{this.model.markers._refresh(n)}))}reconvertItem(t){this.model.change((()=>{this.model.document.differ._refreshItem(t)}))}}function $w(t,e,n){return(i,o)=>{if(n.document.isComposing&&!l.isAndroid){return}for(let n=0;n{e[0]=new Xw(e[0])}),{priority:"highest"});this.on("checkChild",((t,e)=>{e[0]=new Xw(e[0]);e[1]=this.getDefinition(e[1])}),{priority:"highest"})}register(t,e){if(this._sourceDefinitions[t]){throw new P("schema-cannot-register-item-twice",this,{itemName:t})}this._sourceDefinitions[t]=[Object.assign({},e)];this._clearCache()}extend(t,e){if(!this._sourceDefinitions[t]){throw new P("schema-cannot-extend-missing-item",this,{itemName:t})}this._sourceDefinitions[t].push(Object.assign({},e));this._clearCache()}getDefinitions(){if(!this._compiledDefinitions){this._compile()}return this._compiledDefinitions}getDefinition(t){let e;if(typeof t=="string"){e=t}else if("is"in t&&(t.is("$text")||t.is("$textProxy"))){e="$text"}else{e=t.name}return this.getDefinitions()[e]}isRegistered(t){return!!this.getDefinition(t)}isBlock(t){const e=this.getDefinition(t);return!!(e&&e.isBlock)}isLimit(t){const e=this.getDefinition(t);if(!e){return false}return!!(e.isLimit||e.isObject)}isObject(t){const e=this.getDefinition(t);if(!e){return false}return!!(e.isObject||e.isLimit&&e.isSelectable&&e.isContent)}isInline(t){const e=this.getDefinition(t);return!!(e&&e.isInline)}isSelectable(t){const e=this.getDefinition(t);if(!e){return false}return!!(e.isSelectable||e.isObject)}isContent(t){const e=this.getDefinition(t);if(!e){return false}return!!(e.isContent||e.isObject)}checkChild(t,e){if(!e){return false}return this._checkContextMatch(e,t)}checkAttribute(t,e){const n=this.getDefinition(t.last);if(!n){return false}return n.allowAttributes.includes(e)}checkMerge(t,e){if(t instanceof qb){const e=t.nodeBefore;const n=t.nodeAfter;if(!(e instanceof Hb)){throw new P("schema-check-merge-no-element-before",this)}if(!(n instanceof Hb)){throw new P("schema-check-merge-no-element-after",this)}return this.checkMerge(e,n)}for(const n of e.getChildren()){if(!this.checkChild(t,n)){return false}}return true}addChildCheck(t){this.on("checkChild",((e,[n,i])=>{if(!i){return}const o=t(n,i);if(typeof o=="boolean"){e.stop();e.return=o}}),{priority:"high"})}addAttributeCheck(t){this.on("checkAttribute",((e,[n,i])=>{const o=t(n,i);if(typeof o=="boolean"){e.stop();e.return=o}}),{priority:"high"})}setAttributeProperties(t,e){this._attributeProperties[t]=Object.assign(this.getAttributeProperties(t),e)}getAttributeProperties(t){return this._attributeProperties[t]||{}}getLimitElement(t){let e;if(t instanceof qb){e=t.parent}else{const n=t instanceof Xb?[t]:Array.from(t.getRanges());e=n.reduce(((t,e)=>{const n=e.getCommonAncestor();if(!t){return n}return t.getCommonAncestor(n,{includeSelf:true})}),null)}while(!this.isLimit(e)){if(e.parent){e=e.parent}else{break}}return e}checkAttributeInSelection(t,e){if(t.isCollapsed){const n=t.getFirstPosition();const i=[...n.getAncestors(),new Fb("",t.getAttributes())];return this.checkAttribute(i,e)}else{const n=t.getRanges();for(const t of n){for(const n of t){if(this.checkAttribute(n.item,e)){return true}}}}return false}*getValidRanges(t,e){t=pA(t);for(const n of t){yield*this._getValidRangesForRange(n,e)}}getNearestSelectionRange(t,e="both"){if(t.root.rootName=="$graveyard"){return null}if(this.checkChild(t,"$text")){return new Xb(t)}let n,i;const o=t.getAncestors().reverse().find((t=>this.isLimit(t)))||t.root;if(e=="both"||e=="backward"){n=new Wb({boundaries:Xb._createIn(o),startPosition:t,direction:"backward"})}if(e=="both"||e=="forward"){i=new Wb({boundaries:Xb._createIn(o),startPosition:t})}for(const t of mA(n,i)){const e=t.walker==n?"elementEnd":"elementStart";const i=t.value;if(i.type==e&&this.isObject(i.item)){return Xb._createOn(i.item)}if(this.checkChild(i.nextPosition,"$text")){return new Xb(i.nextPosition)}}return null}findAllowedParent(t,e){let n=t.parent;while(n){if(this.checkChild(n,e)){return n}if(this.isLimit(n)){return null}n=n.parent}return null}setAllowedAttributes(t,e,n){const i=n.model;for(const[o,r]of Object.entries(e)){if(i.schema.checkAttribute(t,o)){n.setAttribute(o,r,t)}}}removeDisallowedAttributes(t,e){for(const n of t){if(n.is("$text")){bA(this,n,e)}else{const t=Xb._createIn(n);const i=t.getPositions();for(const t of i){const n=t.nodeBefore||t.parent;bA(this,n,e)}}}}getAttributesWithProperty(t,e,n){const i={};for(const[o,r]of t.getAttributes()){const t=this.getAttributeProperties(o);if(t[e]===undefined){continue}if(n===undefined||n===t[e]){i[o]=r}}return i}createContext(t){return new Xw(t)}_clearCache(){this._compiledDefinitions=null}_compile(){const t={};const e=this._sourceDefinitions;const n=Object.keys(e);for(const i of n){t[i]=tA(e[i],i)}for(const e of n){eA(t,e)}for(const e of n){nA(t,e)}for(const e of n){iA(t,e)}for(const e of n){oA(t,e);rA(t,e)}for(const e of n){sA(t,e);aA(t,e);cA(t,e)}this._compiledDefinitions=t}_checkContextMatch(t,e,n=e.length-1){const i=e.getItem(n);if(t.allowIn.includes(i.name)){if(n==0){return true}else{const t=this.getDefinition(i);return this._checkContextMatch(t,e,n-1)}}else{return false}}*_getValidRangesForRange(t,e){let n=t.start;let i=t.start;for(const o of t.getItems({shallow:true})){if(o.is("element")){yield*this._getValidRangesForRange(Xb._createIn(o),e)}if(!this.checkAttribute(o,e)){if(!n.isEqual(i)){yield new Xb(n,i)}n=qb._createAfter(o)}i=qb._createAfter(o)}if(!n.isEqual(i)){yield new Xb(n,i)}}findOptimalInsertionRange(t,e){const n=t.getSelectedElement();if(n&&this.isObject(n)&&!this.isInline(n)){if(e=="before"||e=="after"){return new Xb(qb._createAt(n,e))}return Xb._createOn(n)}const i=ml(t.getSelectedBlocks());if(!i){return new Xb(t.focus)}if(i.isEmpty){return new Xb(qb._createAt(i,0))}const o=qb._createAfter(i);if(t.focus.isTouching(o)){return new Xb(o)}return new Xb(qb._createBefore(i))}}class Xw{constructor(t){if(t instanceof Xw){return t}let e;if(typeof t=="string"){e=[t]}else if(!Array.isArray(t)){e=t.getAncestors({includeSelf:true})}else{e=t}this._items=e.map(fA)}get length(){return this._items.length}get last(){return this._items[this._items.length-1]}[Symbol.iterator](){return this._items[Symbol.iterator]()}push(t){const e=new Xw([t]);e._items=[...this._items,...e._items];return e}getItem(t){return this._items[t]}*getNames(){yield*this._items.map((t=>t.name))}endsWith(t){return Array.from(this.getNames()).join(" ").endsWith(t)}startsWith(t){return Array.from(this.getNames()).join(" ").startsWith(t)}}function tA(t,e){const n={name:e,allowIn:[],allowContentOf:[],allowWhere:[],allowAttributes:[],allowAttributesOf:[],allowChildren:[],inheritTypesFrom:[]};lA(t,n);dA(t,n,"allowIn");dA(t,n,"allowContentOf");dA(t,n,"allowWhere");dA(t,n,"allowAttributes");dA(t,n,"allowAttributesOf");dA(t,n,"allowChildren");dA(t,n,"inheritTypesFrom");uA(t,n);return n}function eA(t,e){const n=t[e];for(const i of n.allowChildren){const n=t[i];if(!n){continue}n.allowIn.push(e)}n.allowChildren.length=0}function nA(t,e){for(const n of t[e].allowContentOf){if(t[n]){const i=hA(t,n);i.forEach((t=>{t.allowIn.push(e)}))}}delete t[e].allowContentOf}function iA(t,e){for(const n of t[e].allowWhere){const i=t[n];if(i){const n=i.allowIn;t[e].allowIn.push(...n)}}delete t[e].allowWhere}function oA(t,e){for(const n of t[e].allowAttributesOf){const i=t[n];if(i){const n=i.allowAttributes;t[e].allowAttributes.push(...n)}}delete t[e].allowAttributesOf}function rA(t,e){const n=t[e];for(const e of n.inheritTypesFrom){const i=t[e];if(i){const t=Object.keys(i).filter((t=>t.startsWith("is")));for(const e of t){if(!(e in n)){n[e]=i[e]}}}}delete n.inheritTypesFrom}function sA(t,e){const n=t[e];const i=n.allowIn.filter((e=>t[e]));n.allowIn=Array.from(new Set(i))}function aA(t,e){const n=t[e];for(const i of n.allowIn){const n=t[i];n.allowChildren.push(e)}}function cA(t,e){const n=t[e];n.allowAttributes=Array.from(new Set(n.allowAttributes))}function lA(t,e){for(const n of t){const t=Object.keys(n).filter((t=>t.startsWith("is")));for(const i of t){e[i]=!!n[i]}}}function dA(t,e,n){for(const i of t){const t=i[n];if(typeof t=="string"){e[n].push(t)}else if(Array.isArray(t)){e[n].push(...t)}}}function uA(t,e){for(const n of t){const t=n.inheritAllFrom;if(t){e.allowContentOf.push(t);e.allowWhere.push(t);e.allowAttributesOf.push(t);e.inheritTypesFrom.push(t)}}}function hA(t,e){const n=t[e];return gA(t).filter((t=>t.allowIn.includes(n.name)))}function gA(t){return Object.keys(t).map((e=>t[e]))}function fA(t){if(typeof t=="string"||t.is("documentFragment")){return{name:typeof t=="string"?t:"$documentFragment",*getAttributeKeys(){},getAttribute(){}}}else{return{name:t.is("element")?t.name:"$text",*getAttributeKeys(){yield*t.getAttributeKeys()},getAttribute(e){return t.getAttribute(e)}}}}function*mA(t,e){let n=false;while(!n){n=true;if(t){const e=t.next();if(!e.done){n=false;yield{walker:t,value:e.value}}}if(e){const t=e.next();if(!t.done){n=false;yield{walker:e,value:t.value}}}}}function*pA(t){for(const e of t){yield*e.getMinimalFlatRanges()}}function bA(t,e,n){for(const i of e.getAttributeKeys()){if(!t.checkAttribute(e,i)){n.removeAttribute(i,e)}}}class kA extends(Z()){constructor(t){super();this._splitParts=new Map;this._cursorParents=new Map;this._modelCursor=null;this._emptyElementsToKeep=new Set;this.conversionApi={...t,consumable:null,writer:null,store:null,convertItem:(t,e)=>this._convertItem(t,e),convertChildren:(t,e)=>this._convertChildren(t,e),safeInsert:(t,e)=>this._safeInsert(t,e),updateConversionResult:(t,e)=>this._updateConversionResult(t,e),splitToAllowedParent:(t,e)=>this._splitToAllowedParent(t,e),getSplitParts:t=>this._getSplitParts(t),keepEmptyElement:t=>this._keepEmptyElement(t)}}convert(t,e,n=["$root"]){this.fire("viewCleanup",t);this._modelCursor=AA(n,e);this.conversionApi.writer=e;this.conversionApi.consumable=Kw.createFrom(t);this.conversionApi.store={};const{modelRange:i}=this._convertItem(t,this._modelCursor);const o=e.createDocumentFragment();if(i){this._removeEmptyElements();for(const t of Array.from(this._modelCursor.parent.getChildren())){e.append(t,o)}o.markers=wA(o,e)}this._modelCursor=null;this._splitParts.clear();this._cursorParents.clear();this._emptyElementsToKeep.clear();this.conversionApi.writer=null;this.conversionApi.store=null;return o}_convertItem(t,e){const n={viewItem:t,modelCursor:e,modelRange:null};if(t.is("element")){this.fire(`element:${t.name}`,n,this.conversionApi)}else if(t.is("$text")){this.fire("text",n,this.conversionApi)}else{this.fire("documentFragment",n,this.conversionApi)}if(n.modelRange&&!(n.modelRange instanceof Xb)){throw new P("view-conversion-dispatcher-incorrect-result",this)}return{modelRange:n.modelRange,modelCursor:n.modelCursor}}_convertChildren(t,e){let n=e.is("position")?e:qb._createAt(e,0);const i=new Xb(n);for(const e of Array.from(t.getChildren())){const t=this._convertItem(e,n);if(t.modelRange instanceof Xb){i.end=t.modelRange.end;n=t.modelCursor}}return{modelRange:i,modelCursor:n}}_safeInsert(t,e){const n=this._splitToAllowedParent(t,e);if(!n){return false}this.conversionApi.writer.insert(t,n.position);return true}_updateConversionResult(t,e){const n=this._getSplitParts(t);const i=this.conversionApi.writer;if(!e.modelRange){e.modelRange=i.createRange(i.createPositionBefore(t),i.createPositionAfter(n[n.length-1]))}const o=this._cursorParents.get(t);if(o){e.modelCursor=i.createPositionAt(o,0)}else{e.modelCursor=e.modelRange.end}}_splitToAllowedParent(t,e){const{schema:n,writer:i}=this.conversionApi;let o=n.findAllowedParent(e,t);if(o){if(o===e.parent){return{position:e}}if(this._modelCursor.parent.getAncestors().includes(o)){o=null}}if(!o){if(!pw(e,t,n)){return null}return{position:bw(e,i)}}const r=this.conversionApi.writer.split(e,o);const s=[];for(const t of r.range.getWalker()){if(t.type=="elementEnd"){s.push(t.item)}else{const e=s.pop();const n=t.item;this._registerSplitPair(e,n)}}const a=r.range.end.parent;this._cursorParents.set(t,a);return{position:r.position,cursorParent:a}}_registerSplitPair(t,e){if(!this._splitParts.has(t)){this._splitParts.set(t,[t])}const n=this._splitParts.get(t);this._splitParts.set(e,n);n.push(e)}_getSplitParts(t){let e;if(!this._splitParts.has(t)){e=[t]}else{e=this._splitParts.get(t)}return e}_keepEmptyElement(t){this._emptyElementsToKeep.add(t)}_removeEmptyElements(){let t=false;for(const e of this._splitParts.keys()){if(e.isEmpty&&!this._emptyElementsToKeep.has(e)){this.conversionApi.writer.remove(e);this._splitParts.delete(e);t=true}}if(t){this._removeEmptyElements()}}}function wA(t,e){const n=new Set;const i=new Map;const o=Xb._createIn(t).getItems();for(const t of o){if(t.is("element","$marker")){n.add(t)}}for(const t of n){const n=t.getAttribute("data-name");const o=e.createPositionBefore(t);if(!i.has(n)){i.set(n,new Xb(o.clone()))}else{i.get(n).end=o.clone()}e.remove(t)}return i}function AA(t,e){let n;for(const i of new Xw(t)){const t={};for(const e of i.getAttributeKeys()){t[e]=i.getAttribute(e)}const o=e.createElement(i.name,t);if(n){e.insert(o,n)}n=qb._createAt(o,0)}return n}class CA{getHtml(t){const e=nc.document.implementation.createHTMLDocument("");const n=e.createElement("div");n.appendChild(t);return n.innerHTML}}class _A{constructor(t){this.skipComments=true;this.domParser=new DOMParser;this.domConverter=new Um(t,{renderingMode:"data"});this.htmlWriter=new CA}toData(t){const e=this.domConverter.viewToDom(t);return this.htmlWriter.getHtml(e)}toView(t){const e=this._toDom(t);return this.domConverter.domToView(e,{skipComments:this.skipComments})}registerRawContentMatcher(t){this.domConverter.registerRawContentMatcher(t)}useFillerType(t){this.domConverter.blockFillerMode=t=="marked"?"markedNbsp":"nbsp"}_toDom(t){if(!t.match(/<(?:html|body|head|meta)(?:\s[^>]*)?>/i)){t=`${t}`}const e=this.domParser.parseFromString(t,"text/html");const n=e.createDocumentFragment();const i=e.body.childNodes;while(i.length>0){n.appendChild(i[0])}return n}}class vA extends(Z()){constructor(t,e){super();this.model=t;this.mapper=new tk;this.downcastDispatcher=new ik({mapper:this.mapper,schema:t.schema});this.downcastDispatcher.on("insert:$text",Ek(),{priority:"lowest"});this.downcastDispatcher.on("insert",Dk(),{priority:"lowest"});this.upcastDispatcher=new kA({schema:t.schema});this.viewDocument=new Ff(e);this.stylesProcessor=e;this.htmlProcessor=new _A(this.viewDocument);this.processor=this.htmlProcessor;this._viewWriter=new nm(this.viewDocument);this.upcastDispatcher.on("text",Aw(),{priority:"lowest"});this.upcastDispatcher.on("element",ww(),{priority:"lowest"});this.upcastDispatcher.on("documentFragment",ww(),{priority:"lowest"});gt().prototype.decorate.call(this,"init");gt().prototype.decorate.call(this,"set");gt().prototype.decorate.call(this,"get");gt().prototype.decorate.call(this,"toView");gt().prototype.decorate.call(this,"toModel");this.on("init",(()=>{this.fire("ready")}),{priority:"lowest"});this.on("ready",(()=>{this.model.enqueueChange({isUndoable:false},mw)}),{priority:"lowest"})}get(t={}){const{rootName:e="main",trim:n="empty"}=t;if(!this._checkIfRootsExists([e])){throw new P("datacontroller-get-non-existent-root",this)}const i=this.model.document.getRoot(e);if(!i.isAttached()){L("datacontroller-get-detached-root",this)}if(n==="empty"&&!this.model.hasContent(i,{ignoreWhitespaces:true})){return""}return this.stringify(i,t)}stringify(t,e={}){const n=this.toView(t,e);return this.processor.toData(n)}toView(t,e={}){const n=this.viewDocument;const i=this._viewWriter;this.mapper.clearBindings();const o=Xb._createIn(t);const r=new tm(n);this.mapper.bindElements(t,r);const s=t.is("documentFragment")?t.markers:yA(t);this.downcastDispatcher.convert(o,s,i,e);return r}init(t){if(this.model.document.version){throw new P("datacontroller-init-document-not-empty",this)}let e={};if(typeof t==="string"){e.main=t}else{e=t}if(!this._checkIfRootsExists(Object.keys(e))){throw new P("datacontroller-init-non-existent-root",this)}this.model.enqueueChange({isUndoable:false},(t=>{for(const n of Object.keys(e)){const i=this.model.document.getRoot(n);t.insert(this.parse(e[n],i),i,0)}}));return Promise.resolve()}set(t,e={}){let n={};if(typeof t==="string"){n.main=t}else{n=t}if(!this._checkIfRootsExists(Object.keys(n))){throw new P("datacontroller-set-non-existent-root",this)}this.model.enqueueChange(e.batchType||{},(t=>{t.setSelection(null);t.removeSelectionAttribute(this.model.document.selection.getAttributeKeys());for(const e of Object.keys(n)){const i=this.model.document.getRoot(e);t.remove(t.createRangeIn(i));t.insert(this.parse(n[e],i),i,0)}}))}parse(t,e="$root"){const n=this.processor.toView(t);return this.toModel(n,e)}toModel(t,e="$root"){return this.model.change((n=>this.upcastDispatcher.convert(t,n,e)))}addStyleProcessorRules(t){t(this.stylesProcessor)}registerRawContentMatcher(t){if(this.processor&&this.processor!==this.htmlProcessor){this.processor.registerRawContentMatcher(t)}this.htmlProcessor.registerRawContentMatcher(t)}destroy(){this.stopListening()}_checkIfRootsExists(t){for(const e of t){if(!this.model.document.getRoot(e)){return false}}return true}}function yA(t){const e=[];const n=t.root.document;if(!n){return new Map}const i=Xb._createIn(t);for(const t of n.model.markers){const n=t.getRange();const o=n.isCollapsed;const r=n.start.isEqual(i.start)||n.end.isEqual(i.end);if(o&&r){e.push([t.name,n])}else{const o=i.getIntersection(n);if(o){e.push([t.name,o])}}}e.sort((([t,e],[n,i])=>{if(e.end.compareWith(i.start)!=="after"){return 1}else if(e.start.compareWith(i.end)!=="before"){return-1}else{switch(e.start.compareWith(i.start)){case"before":return 1;case"after":return-1;default:switch(e.end.compareWith(i.end)){case"before":return 1;case"after":return-1;default:return n.localeCompare(t)}}}}));return new Map(e)}class xA{constructor(t,e){this._helpers=new Map;this._downcast=ol(t);this._createConversionHelpers({name:"downcast",dispatchers:this._downcast,isDowncast:true});this._upcast=ol(e);this._createConversionHelpers({name:"upcast",dispatchers:this._upcast,isDowncast:false})}addAlias(t,e){const n=this._downcast.includes(e);const i=this._upcast.includes(e);if(!i&&!n){throw new P("conversion-add-alias-dispatcher-not-registered",this)}this._createConversionHelpers({name:t,dispatchers:[e],isDowncast:n})}for(t){if(!this._helpers.has(t)){throw new P("conversion-for-unknown-group",this)}return this._helpers.get(t)}elementToElement(t){this.for("downcast").elementToElement(t);for(const{model:e,view:n}of EA(t)){this.for("upcast").elementToElement({model:e,view:n,converterPriority:t.converterPriority})}}attributeToElement(t){this.for("downcast").attributeToElement(t);for(const{model:e,view:n}of EA(t)){this.for("upcast").elementToAttribute({view:n,model:e,converterPriority:t.converterPriority})}}attributeToAttribute(t){this.for("downcast").attributeToAttribute(t);for(const{model:e,view:n}of EA(t)){this.for("upcast").attributeToAttribute({view:n,model:e})}}_createConversionHelpers({name:t,dispatchers:e,isDowncast:n}){if(this._helpers.has(t)){throw new P("conversion-group-exists",this)}const i=n?new xk(e):new kw(e);this._helpers.set(t,i)}}function*EA(t){if(t.model.values){for(const e of t.model.values){const n={key:t.model.key,value:e};const i=t.view[e];const o=t.upcastAlso?t.upcastAlso[e]:undefined;yield*DA(n,i,o)}}else{yield*DA(t.model,t.view,t.upcastAlso)}}function*DA(t,e,n){yield{model:t,view:e};if(n){for(const e of ol(n)){yield{model:t,view:e}}}}class TA{constructor(t){this.baseVersion=t;this.isDocumentOperation=this.baseVersion!==null;this.batch=null}_validate(){}toJSON(){const t=Object.assign({},this);t.__className=this.constructor.className;delete t.batch;delete t.isDocumentOperation;return t}static get className(){return"Operation"}static fromJSON(t,e){return new this(t.baseVersion)}}function IA(t,e){const n=NA(e);const i=n.reduce(((t,e)=>t+e.offsetSize),0);const o=t.parent;LA(t);const r=t.index;o._insertChild(r,n);PA(o,r+n.length);PA(o,r);return new Xb(t,t.getShiftedBy(i))}function SA(t){if(!t.isFlat){throw new P("operation-utils-remove-range-not-flat",this)}const e=t.start.parent;LA(t.start);LA(t.end);const n=e._removeChildren(t.start.index,t.end.index-t.start.index);PA(e,t.start.index);return n}function BA(t,e){if(!t.isFlat){throw new P("operation-utils-move-range-not-flat",this)}const n=SA(t);e=e._getTransformedByDeletion(t.start,t.end.offset-t.start.offset);return IA(e,n)}function MA(t,e,n){LA(t.start);LA(t.end);for(const i of t.getItems({shallow:true})){const t=i.is("$textProxy")?i.textNode:i;if(n!==null){t._setAttribute(e,n)}else{t._removeAttribute(e)}PA(t.parent,t.index)}PA(t.end.parent,t.end.index)}function NA(t){const e=[];function n(t){if(typeof t=="string"){e.push(new Fb(t))}else if(t instanceof jb){e.push(new Fb(t.data,t.getAttributes()))}else if(t instanceof Rb){e.push(t)}else if(Dt(t)){for(const e of t){n(e)}}else{const e=t}}n(t);for(let t=1;tt.maxOffset){throw new P("move-operation-nodes-do-not-exist",this)}else if(t===e&&n=n&&this.targetPosition.path[t]t._clone(true))));const e=new RA(this.position,t,this.baseVersion);e.shouldReceiveAttributes=this.shouldReceiveAttributes;return e}getReversed(){const t=this.position.root.document.graveyard;const e=new qb(t,[0]);return new VA(this.position,this.nodes.maxOffset,e,this.baseVersion+1)}_validate(){const t=this.position.parent;if(!t||t.maxOffsett._clone(true))));IA(this.position,t)}toJSON(){const t=super.toJSON();t.position=this.position.toJSON();t.nodes=this.nodes.toJSON();return t}static get className(){return"InsertOperation"}static fromJSON(t,e){const n=[];for(const e of t.nodes){if(e.name){n.push(Hb.fromJSON(e))}else{n.push(Fb.fromJSON(e))}}const i=new RA(qb.fromJSON(t.position,e),n,t.baseVersion);i.shouldReceiveAttributes=t.shouldReceiveAttributes;return i}}class OA extends TA{constructor(t,e,n,i,o){super(o);this.splitPosition=t.clone();this.splitPosition.stickiness="toNext";this.howMany=e;this.insertionPosition=n;this.graveyardPosition=i?i.clone():null;if(this.graveyardPosition){this.graveyardPosition.stickiness="toNext"}}get type(){return"split"}get moveTargetPosition(){const t=this.insertionPosition.path.slice();t.push(0);return new qb(this.insertionPosition.root,t)}get movedRange(){const t=this.splitPosition.getShiftedBy(Number.POSITIVE_INFINITY);return new Xb(this.splitPosition,t)}get affectedSelectable(){const t=[Xb._createFromPositionAndShift(this.splitPosition,0),Xb._createFromPositionAndShift(this.insertionPosition,0)];if(this.graveyardPosition){t.push(Xb._createFromPositionAndShift(this.graveyardPosition,0))}return t}clone(){return new OA(this.splitPosition,this.howMany,this.insertionPosition,this.graveyardPosition,this.baseVersion)}getReversed(){const t=this.splitPosition.root.document.graveyard;const e=new qb(t,[0]);return new FA(this.moveTargetPosition,this.howMany,this.splitPosition,e,this.baseVersion+1)}_validate(){const t=this.splitPosition.parent;const e=this.splitPosition.offset;if(!t||t.maxOffset{if(t.key===e.key&&t.range.start.hasSameParentAs(e.range.start)){const i=t.range.getDifference(e.range).map((e=>new WA(e,t.key,t.oldValue,t.newValue,0)));const o=t.range.getIntersection(e.range);if(o){if(n.aIsStrong){i.push(new WA(o,e.key,e.newValue,t.newValue,0))}}if(i.length==0){return[new GA(0)]}return i}else{return[t]}}));JA(WA,RA,((t,e)=>{if(t.range.start.hasSameParentAs(e.position)&&t.range.containsPosition(e.position)){const n=t.range._getTransformedByInsertion(e.position,e.howMany,!e.shouldReceiveAttributes);const i=n.map((e=>new WA(e,t.key,t.oldValue,t.newValue,t.baseVersion)));if(e.shouldReceiveAttributes){const n=sC(e,t.key,t.oldValue);if(n){i.unshift(n)}}return i}t.range=t.range._getTransformedByInsertion(e.position,e.howMany,false)[0];return[t]}));function sC(t,e,n){const i=t.nodes;const o=i.getNode(0).getAttribute(e);if(o==n){return null}const r=new Xb(t.position,t.position.getShiftedBy(t.howMany));return new WA(r,e,o,n,0)}JA(WA,FA,((t,e)=>{const n=[];if(t.range.start.hasSameParentAs(e.deletionPosition)){if(t.range.containsPosition(e.deletionPosition)||t.range.start.isEqual(e.deletionPosition)){n.push(Xb._createFromPositionAndShift(e.graveyardPosition,1))}}const i=t.range._getTransformedByMergeOperation(e);if(!i.isCollapsed){n.push(i)}return n.map((e=>new WA(e,t.key,t.oldValue,t.newValue,t.baseVersion)))}));JA(WA,VA,((t,e)=>{const n=aC(t.range,e);return n.map((e=>new WA(e,t.key,t.oldValue,t.newValue,t.baseVersion)))}));function aC(t,e){const n=Xb._createFromPositionAndShift(e.sourcePosition,e.howMany);let i=null;let o=[];if(n.containsRange(t,true)){i=t}else if(t.start.hasSameParentAs(n.start)){o=t.getDifference(n);i=t.getIntersection(n)}else{o=[t]}const r=[];for(let t of o){t=t._getTransformedByDeletion(e.sourcePosition,e.howMany);const n=e.getMovedRangeStart();const i=t.start.hasSameParentAs(n);const o=t._getTransformedByInsertion(n,e.howMany,i);r.push(...o)}if(i){r.push(i._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany,false)[0])}return r}JA(WA,OA,((t,e)=>{if(t.range.end.isEqual(e.insertionPosition)){if(!e.graveyardPosition){t.range.end.offset++}return[t]}if(t.range.start.hasSameParentAs(e.splitPosition)&&t.range.containsPosition(e.splitPosition)){const n=t.clone();n.range=new Xb(e.moveTargetPosition.clone(),t.range.end._getCombined(e.splitPosition,e.moveTargetPosition));t.range.end=e.splitPosition.clone();t.range.end.stickiness="toPrevious";return[t,n]}t.range=t.range._getTransformedBySplitOperation(e);return[t]}));JA(RA,WA,((t,e)=>{const n=[t];if(t.shouldReceiveAttributes&&t.position.hasSameParentAs(e.range.start)&&e.range.containsPosition(t.position)){const i=sC(t,e.key,e.newValue);if(i){n.push(i)}}return n}));JA(RA,RA,((t,e,n)=>{if(t.position.isEqual(e.position)&&n.aIsStrong){return[t]}t.position=t.position._getTransformedByInsertOperation(e);return[t]}));JA(RA,VA,((t,e)=>{t.position=t.position._getTransformedByMoveOperation(e);return[t]}));JA(RA,OA,((t,e)=>{t.position=t.position._getTransformedBySplitOperation(e);return[t]}));JA(RA,FA,((t,e)=>{t.position=t.position._getTransformedByMergeOperation(e);return[t]}));JA(jA,RA,((t,e)=>{if(t.oldRange){t.oldRange=t.oldRange._getTransformedByInsertOperation(e)[0]}if(t.newRange){t.newRange=t.newRange._getTransformedByInsertOperation(e)[0]}return[t]}));JA(jA,jA,((t,e,n)=>{if(t.name==e.name){if(n.aIsStrong){t.oldRange=e.newRange?e.newRange.clone():null}else{return[new GA(0)]}}return[t]}));JA(jA,FA,((t,e)=>{if(t.oldRange){t.oldRange=t.oldRange._getTransformedByMergeOperation(e)}if(t.newRange){t.newRange=t.newRange._getTransformedByMergeOperation(e)}return[t]}));JA(jA,VA,((t,e,n)=>{if(t.oldRange){t.oldRange=Xb._createFromRanges(t.oldRange._getTransformedByMoveOperation(e))}if(t.newRange){if(n.abRelation){const i=Xb._createFromRanges(t.newRange._getTransformedByMoveOperation(e));if(n.abRelation.side=="left"&&e.targetPosition.isEqual(t.newRange.start)){t.newRange.end=i.end;t.newRange.start.path=n.abRelation.path;return[t]}else if(n.abRelation.side=="right"&&e.targetPosition.isEqual(t.newRange.end)){t.newRange.start=i.start;t.newRange.end.path=n.abRelation.path;return[t]}}t.newRange=Xb._createFromRanges(t.newRange._getTransformedByMoveOperation(e))}return[t]}));JA(jA,OA,((t,e,n)=>{if(t.oldRange){t.oldRange=t.oldRange._getTransformedBySplitOperation(e)}if(t.newRange){if(n.abRelation){const i=t.newRange._getTransformedBySplitOperation(e);if(t.newRange.start.isEqual(e.splitPosition)&&n.abRelation.wasStartBeforeMergedElement){t.newRange.start=qb._createAt(e.insertionPosition)}else if(t.newRange.start.isEqual(e.splitPosition)&&!n.abRelation.wasInLeftElement){t.newRange.start=qb._createAt(e.moveTargetPosition)}if(t.newRange.end.isEqual(e.splitPosition)&&n.abRelation.wasInRightElement){t.newRange.end=qb._createAt(e.moveTargetPosition)}else if(t.newRange.end.isEqual(e.splitPosition)&&n.abRelation.wasEndBeforeMergedElement){t.newRange.end=qb._createAt(e.insertionPosition)}else{t.newRange.end=i.end}return[t]}t.newRange=t.newRange._getTransformedBySplitOperation(e)}return[t]}));JA(FA,RA,((t,e)=>{if(t.sourcePosition.hasSameParentAs(e.position)){t.howMany+=e.howMany}t.sourcePosition=t.sourcePosition._getTransformedByInsertOperation(e);t.targetPosition=t.targetPosition._getTransformedByInsertOperation(e);return[t]}));JA(FA,FA,((t,e,n)=>{if(t.sourcePosition.isEqual(e.sourcePosition)&&t.targetPosition.isEqual(e.targetPosition)){if(!n.bWasUndone){return[new GA(0)]}else{const n=e.graveyardPosition.path.slice();n.push(0);t.sourcePosition=new qb(e.graveyardPosition.root,n);t.howMany=0;return[t]}}if(t.sourcePosition.isEqual(e.sourcePosition)&&!t.targetPosition.isEqual(e.targetPosition)&&!n.bWasUndone&&n.abRelation!="splitAtSource"){const i=t.targetPosition.root.rootName=="$graveyard";const o=e.targetPosition.root.rootName=="$graveyard";const r=i&&!o;const s=o&&!i;const a=s||!r&&n.aIsStrong;if(a){const n=e.targetPosition._getTransformedByMergeOperation(e);const i=t.targetPosition._getTransformedByMergeOperation(e);return[new VA(n,t.howMany,i,0)]}else{return[new GA(0)]}}if(t.sourcePosition.hasSameParentAs(e.targetPosition)){t.howMany+=e.howMany}t.sourcePosition=t.sourcePosition._getTransformedByMergeOperation(e);t.targetPosition=t.targetPosition._getTransformedByMergeOperation(e);if(!t.graveyardPosition.isEqual(e.graveyardPosition)||!n.aIsStrong){t.graveyardPosition=t.graveyardPosition._getTransformedByMergeOperation(e)}return[t]}));JA(FA,VA,((t,e,n)=>{const i=Xb._createFromPositionAndShift(e.sourcePosition,e.howMany);if(e.type=="remove"&&!n.bWasUndone&&!n.forceWeakRemove){if(t.deletionPosition.hasSameParentAs(e.sourcePosition)&&i.containsPosition(t.sourcePosition)){return[new GA(0)]}}if(t.sourcePosition.hasSameParentAs(e.targetPosition)){t.howMany+=e.howMany}if(t.sourcePosition.hasSameParentAs(e.sourcePosition)){t.howMany-=e.howMany}t.sourcePosition=t.sourcePosition._getTransformedByMoveOperation(e);t.targetPosition=t.targetPosition._getTransformedByMoveOperation(e);if(!t.graveyardPosition.isEqual(e.targetPosition)){t.graveyardPosition=t.graveyardPosition._getTransformedByMoveOperation(e)}return[t]}));JA(FA,OA,((t,e,n)=>{if(e.graveyardPosition){t.graveyardPosition=t.graveyardPosition._getTransformedByDeletion(e.graveyardPosition,1);if(t.deletionPosition.isEqual(e.graveyardPosition)){t.howMany=e.howMany}}if(t.targetPosition.isEqual(e.splitPosition)){const i=e.howMany!=0;const o=e.graveyardPosition&&t.deletionPosition.isEqual(e.graveyardPosition);if(i||o||n.abRelation=="mergeTargetNotMoved"){t.sourcePosition=t.sourcePosition._getTransformedBySplitOperation(e);return[t]}}if(t.sourcePosition.isEqual(e.splitPosition)){if(n.abRelation=="mergeSourceNotMoved"){t.howMany=0;t.targetPosition=t.targetPosition._getTransformedBySplitOperation(e);return[t]}if(n.abRelation=="mergeSameElement"||t.sourcePosition.offset>0){t.sourcePosition=e.moveTargetPosition.clone();t.targetPosition=t.targetPosition._getTransformedBySplitOperation(e);return[t]}}if(t.sourcePosition.hasSameParentAs(e.splitPosition)){t.howMany=e.splitPosition.offset}t.sourcePosition=t.sourcePosition._getTransformedBySplitOperation(e);t.targetPosition=t.targetPosition._getTransformedBySplitOperation(e);return[t]}));JA(VA,RA,((t,e)=>{const n=Xb._createFromPositionAndShift(t.sourcePosition,t.howMany);const i=n._getTransformedByInsertOperation(e,false)[0];t.sourcePosition=i.start;t.howMany=i.end.offset-i.start.offset;if(!t.targetPosition.isEqual(e.position)){t.targetPosition=t.targetPosition._getTransformedByInsertOperation(e)}return[t]}));JA(VA,VA,((t,e,n)=>{const i=Xb._createFromPositionAndShift(t.sourcePosition,t.howMany);const o=Xb._createFromPositionAndShift(e.sourcePosition,e.howMany);let r=n.aIsStrong;let s=!n.aIsStrong;if(n.abRelation=="insertBefore"||n.baRelation=="insertAfter"){s=true}else if(n.abRelation=="insertAfter"||n.baRelation=="insertBefore"){s=false}let a;if(t.targetPosition.isEqual(e.targetPosition)&&s){a=t.targetPosition._getTransformedByDeletion(e.sourcePosition,e.howMany)}else{a=t.targetPosition._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany)}if(cC(t,e)&&cC(e,t)){return[e.getReversed()]}const c=i.containsPosition(e.targetPosition);if(c&&i.containsRange(o,true)){i.start=i.start._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany);i.end=i.end._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany);return lC([i],a)}const l=o.containsPosition(t.targetPosition);if(l&&o.containsRange(i,true)){i.start=i.start._getCombined(e.sourcePosition,e.getMovedRangeStart());i.end=i.end._getCombined(e.sourcePosition,e.getMovedRangeStart());return lC([i],a)}const d=Et(t.sourcePosition.getParentPath(),e.sourcePosition.getParentPath());if(d=="prefix"||d=="extension"){i.start=i.start._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany);i.end=i.end._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany);return lC([i],a)}if(t.type=="remove"&&e.type!="remove"&&!n.aWasUndone&&!n.forceWeakRemove){r=true}else if(t.type!="remove"&&e.type=="remove"&&!n.bWasUndone&&!n.forceWeakRemove){r=false}const u=[];const h=i.getDifference(o);for(const t of h){t.start=t.start._getTransformedByDeletion(e.sourcePosition,e.howMany);t.end=t.end._getTransformedByDeletion(e.sourcePosition,e.howMany);const n=Et(t.start.getParentPath(),e.getMovedRangeStart().getParentPath())=="same";const i=t._getTransformedByInsertion(e.getMovedRangeStart(),e.howMany,n);u.push(...i)}const g=i.getIntersection(o);if(g!==null&&r){g.start=g.start._getCombined(e.sourcePosition,e.getMovedRangeStart());g.end=g.end._getCombined(e.sourcePosition,e.getMovedRangeStart());if(u.length===0){u.push(g)}else if(u.length==1){if(o.start.isBefore(i.start)||o.start.isEqual(i.start)){u.unshift(g)}else{u.push(g)}}else{u.splice(1,0,g)}}if(u.length===0){return[new GA(t.baseVersion)]}return lC(u,a)}));JA(VA,OA,((t,e,n)=>{let i=t.targetPosition.clone();if(!t.targetPosition.isEqual(e.insertionPosition)||!e.graveyardPosition||n.abRelation=="moveTargetAfter"){i=t.targetPosition._getTransformedBySplitOperation(e)}const o=Xb._createFromPositionAndShift(t.sourcePosition,t.howMany);if(o.end.isEqual(e.insertionPosition)){if(!e.graveyardPosition){t.howMany++}t.targetPosition=i;return[t]}if(o.start.hasSameParentAs(e.splitPosition)&&o.containsPosition(e.splitPosition)){let t=new Xb(e.splitPosition,o.end);t=t._getTransformedBySplitOperation(e);const n=[new Xb(o.start,e.splitPosition),t];return lC(n,i)}if(t.targetPosition.isEqual(e.splitPosition)&&n.abRelation=="insertAtSource"){i=e.moveTargetPosition}if(t.targetPosition.isEqual(e.insertionPosition)&&n.abRelation=="insertBetween"){i=t.targetPosition}const r=o._getTransformedBySplitOperation(e);const s=[r];if(e.graveyardPosition){const i=o.start.isEqual(e.graveyardPosition)||o.containsPosition(e.graveyardPosition);if(t.howMany>1&&i&&!n.aWasUndone){s.push(Xb._createFromPositionAndShift(e.insertionPosition,1))}}return lC(s,i)}));JA(VA,FA,((t,e,n)=>{const i=Xb._createFromPositionAndShift(t.sourcePosition,t.howMany);if(e.deletionPosition.hasSameParentAs(t.sourcePosition)&&i.containsPosition(e.sourcePosition)){if(t.type=="remove"&&!n.forceWeakRemove){if(!n.aWasUndone){const n=[];let i=e.graveyardPosition.clone();let o=e.targetPosition._getTransformedByMergeOperation(e);if(t.howMany>1){n.push(new VA(t.sourcePosition,t.howMany-1,t.targetPosition,0));i=i._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany-1);o=o._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany-1)}const r=e.deletionPosition._getCombined(t.sourcePosition,t.targetPosition);const s=new VA(i,1,r,0);const a=s.getMovedRangeStart().path.slice();a.push(0);const c=new qb(s.targetPosition.root,a);o=o._getTransformedByMove(i,r,1);const l=new VA(o,e.howMany,c,0);n.push(s);n.push(l);return n}}else{if(t.howMany==1){if(!n.bWasUndone){return[new GA(0)]}else{t.sourcePosition=e.graveyardPosition.clone();t.targetPosition=t.targetPosition._getTransformedByMergeOperation(e);return[t]}}}}const o=Xb._createFromPositionAndShift(t.sourcePosition,t.howMany);const r=o._getTransformedByMergeOperation(e);t.sourcePosition=r.start;t.howMany=r.end.offset-r.start.offset;t.targetPosition=t.targetPosition._getTransformedByMergeOperation(e);return[t]}));JA(qA,RA,((t,e)=>{t.position=t.position._getTransformedByInsertOperation(e);return[t]}));JA(qA,FA,((t,e)=>{if(t.position.isEqual(e.deletionPosition)){t.position=e.graveyardPosition.clone();t.position.stickiness="toNext";return[t]}t.position=t.position._getTransformedByMergeOperation(e);return[t]}));JA(qA,VA,((t,e)=>{t.position=t.position._getTransformedByMoveOperation(e);return[t]}));JA(qA,qA,((t,e,n)=>{if(t.position.isEqual(e.position)){if(n.aIsStrong){t.oldName=e.newName}else{return[new GA(0)]}}return[t]}));JA(qA,OA,((t,e)=>{const n=t.position.path;const i=e.splitPosition.getParentPath();if(Et(n,i)=="same"&&!e.graveyardPosition){const e=new qA(t.position.getShiftedBy(1),t.oldName,t.newName,0);return[t,e]}t.position=t.position._getTransformedBySplitOperation(e);return[t]}));JA(ZA,ZA,((t,e,n)=>{if(t.root===e.root&&t.key===e.key){if(!n.aIsStrong||t.newValue===e.newValue){return[new GA(0)]}else{t.oldValue=e.newValue}}return[t]}));JA($A,$A,((t,e)=>{if(t.rootName===e.rootName&&t.isAdd===e.isAdd){return[new GA(0)]}return[t]}));JA(OA,RA,((t,e)=>{if(t.splitPosition.hasSameParentAs(e.position)&&t.splitPosition.offset{if(!t.graveyardPosition&&!n.bWasUndone&&t.splitPosition.hasSameParentAs(e.sourcePosition)){const n=e.graveyardPosition.path.slice();n.push(0);const i=new qb(e.graveyardPosition.root,n);const o=OA.getInsertionPosition(new qb(e.graveyardPosition.root,n));const r=new OA(i,0,o,null,0);t.splitPosition=t.splitPosition._getTransformedByMergeOperation(e);t.insertionPosition=OA.getInsertionPosition(t.splitPosition);t.graveyardPosition=r.insertionPosition.clone();t.graveyardPosition.stickiness="toNext";return[r,t]}if(t.splitPosition.hasSameParentAs(e.deletionPosition)&&!t.splitPosition.isAfter(e.deletionPosition)){t.howMany--}if(t.splitPosition.hasSameParentAs(e.targetPosition)){t.howMany+=e.howMany}t.splitPosition=t.splitPosition._getTransformedByMergeOperation(e);t.insertionPosition=OA.getInsertionPosition(t.splitPosition);if(t.graveyardPosition){t.graveyardPosition=t.graveyardPosition._getTransformedByMergeOperation(e)}return[t]}));JA(OA,VA,((t,e,n)=>{const i=Xb._createFromPositionAndShift(e.sourcePosition,e.howMany);if(t.graveyardPosition){const o=i.start.isEqual(t.graveyardPosition)||i.containsPosition(t.graveyardPosition);if(!n.bWasUndone&&o){const n=t.splitPosition._getTransformedByMoveOperation(e);const i=t.graveyardPosition._getTransformedByMoveOperation(e);const o=i.path.slice();o.push(0);const r=new qb(i.root,o);const s=new VA(n,t.howMany,r,0);return[s]}t.graveyardPosition=t.graveyardPosition._getTransformedByMoveOperation(e)}const o=t.splitPosition.isEqual(e.targetPosition);if(o&&(n.baRelation=="insertAtSource"||n.abRelation=="splitBefore")){t.howMany+=e.howMany;t.splitPosition=t.splitPosition._getTransformedByDeletion(e.sourcePosition,e.howMany);t.insertionPosition=OA.getInsertionPosition(t.splitPosition);return[t]}if(o&&n.abRelation&&n.abRelation.howMany){const{howMany:e,offset:i}=n.abRelation;t.howMany+=e;t.splitPosition=t.splitPosition.getShiftedBy(i);return[t]}if(t.splitPosition.hasSameParentAs(e.sourcePosition)&&i.containsPosition(t.splitPosition)){const n=e.howMany-(t.splitPosition.offset-e.sourcePosition.offset);t.howMany-=n;if(t.splitPosition.hasSameParentAs(e.targetPosition)&&t.splitPosition.offset{if(t.splitPosition.isEqual(e.splitPosition)){if(!t.graveyardPosition&&!e.graveyardPosition){return[new GA(0)]}if(t.graveyardPosition&&e.graveyardPosition&&t.graveyardPosition.isEqual(e.graveyardPosition)){return[new GA(0)]}if(n.abRelation=="splitBefore"){t.howMany=0;t.graveyardPosition=t.graveyardPosition._getTransformedBySplitOperation(e);return[t]}}if(t.graveyardPosition&&e.graveyardPosition&&t.graveyardPosition.isEqual(e.graveyardPosition)){const i=t.splitPosition.root.rootName=="$graveyard";const o=e.splitPosition.root.rootName=="$graveyard";const r=i&&!o;const s=o&&!i;const a=s||!r&&n.aIsStrong;if(a){const n=[];if(e.howMany){n.push(new VA(e.moveTargetPosition,e.howMany,e.splitPosition,0))}if(t.howMany){n.push(new VA(t.splitPosition,t.howMany,t.moveTargetPosition,0))}return n}else{return[new GA(0)]}}if(t.graveyardPosition){t.graveyardPosition=t.graveyardPosition._getTransformedBySplitOperation(e)}if(t.splitPosition.isEqual(e.insertionPosition)&&n.abRelation=="splitBefore"){t.howMany++;return[t]}if(e.splitPosition.isEqual(t.insertionPosition)&&n.baRelation=="splitBefore"){const n=e.insertionPosition.path.slice();n.push(0);const i=new qb(e.insertionPosition.root,n);const o=new VA(t.insertionPosition,1,i,0);return[t,o]}if(t.splitPosition.hasSameParentAs(e.splitPosition)&&t.splitPosition.offset{const n=e[0];if(!n.isDocumentOperation){return}hC.call(this,n)}),{priority:"low"})}function hC(t){const e=this.getTransformedByOperation(t);if(!this.isEqual(e)){const t=this.toPosition();this.path=e.path;this.root=e.root;this.fire("change",t)}}class gC{constructor(t={}){if(typeof t==="string"){t=t==="transparent"?{isUndoable:false}:{};L("batch-constructor-deprecated-string-type")}const{isUndoable:e=true,isLocal:n=true,isUndo:i=false,isTyping:o=false}=t;this.operations=[];this.isUndoable=e;this.isLocal=n;this.isUndo=i;this.isTyping=o}get type(){L("batch-type-deprecated");return"default"}get baseVersion(){for(const t of this.operations){if(t.baseVersion!==null){return t.baseVersion}}return null}addOperation(t){t.batch=this;this.operations.push(t);return t}}class fC{constructor(t){this._changesInElement=new Map;this._elementSnapshots=new Map;this._changedMarkers=new Map;this._changedRoots=new Map;this._changeCount=0;this._cachedChanges=null;this._cachedChangesWithGraveyard=null;this._refreshedItems=new Set;this._markerCollection=t}get isEmpty(){return this._changesInElement.size==0&&this._changedMarkers.size==0&&this._changedRoots.size==0}bufferOperation(t){const e=t;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:true})){if(this._isInInsertedElement(t.parent)){continue}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);const n=this._isInInsertedElement(e.targetPosition.parent);if(!t){this._markRemove(e.sourcePosition.parent,e.sourcePosition.offset,e.howMany)}if(!n){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=Xb._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;if(!this._isInInsertedElement(t)){this._markRemove(t,e.splitPosition.offset,e.howMany)}if(!this._isInInsertedElement(e.insertionPosition.parent)){this._markInsert(e.insertionPosition.parent,e.insertionPosition.offset,1)}if(e.graveyardPosition){this._markRemove(e.graveyardPosition.parent,e.graveyardPosition.offset,1)}break}case"merge":{const t=e.sourcePosition.parent;if(!this._isInInsertedElement(t.parent)){this._markRemove(t.parent,t.startOffset,1)}const n=e.graveyardPosition.parent;this._markInsert(n,e.graveyardPosition.offset,1);const i=e.targetPosition.parent;if(!this._isInInsertedElement(i)){this._markInsert(i,e.targetPosition.offset,t.maxOffset)}break}case"detachRoot":case"addRoot":{const t=e.affectedSelectable;if(!t._isLoaded){return}if(t.isAttached()==e.isAdd){return}this._bufferRootStateChange(e.rootName,e.isAdd);break}case"addRootAttribute":case"removeRootAttribute":case"changeRootAttribute":{if(!e.root._isLoaded){return}const t=e.root.rootName;this._bufferRootAttributeChange(t,e.key,e.oldValue,e.newValue);break}}this._cachedChanges=null}bufferMarkerChange(t,e,n){if(e.range&&e.range.root.is("rootElement")&&!e.range.root._isLoaded){e.range=null}if(n.range&&n.range.root.is("rootElement")&&!n.range.root._isLoaded){n.range=null}let i=this._changedMarkers.get(t);if(!i){i={newMarkerData:n,oldMarkerData:e};this._changedMarkers.set(t,i)}else{i.newMarkerData=n}if(i.oldMarkerData.range==null&&n.range==null){this._changedMarkers.delete(t)}}getMarkersToRemove(){const t=[];for(const[e,n]of this._changedMarkers){if(n.oldMarkerData.range!=null){t.push({name:e,range:n.oldMarkerData.range})}}return t}getMarkersToAdd(){const t=[];for(const[e,n]of this._changedMarkers){if(n.newMarkerData.range!=null){t.push({name:e,range:n.newMarkerData.range})}}return t}getChangedMarkers(){return Array.from(this._changedMarkers).map((([t,e])=>({name:t,data:{oldRange:e.oldMarkerData.range,newRange:e.newMarkerData.range}})))}hasDataChanges(){if(this._changesInElement.size>0){return true}if(this._changedRoots.size>0){return true}for(const{newMarkerData:t,oldMarkerData:e}of this._changedMarkers.values()){if(t.affectsData!==e.affectsData){return true}if(t.affectsData){const n=t.range&&!e.range;const i=!t.range&&e.range;const o=t.range&&e.range&&!t.range.isEqual(e.range);if(n||i||o){return true}}}return false}getChanges(t={}){if(this._cachedChanges){if(t.includeChangesInGraveyard){return this._cachedChangesWithGraveyard.slice()}else{return this._cachedChanges.slice()}}let e=[];for(const t of this._changesInElement.keys()){const n=this._changesInElement.get(t).sort(((t,e)=>{if(t.offset===e.offset){if(t.type!=e.type){return t.type=="remove"?-1:1}return 0}return t.offset{if(t.position.root!=e.position.root){return t.position.root.rootNamet));for(const t of e){delete t.changeCount;if(t.type=="attribute"){delete t.position;delete t.length}}this._changeCount=0;this._cachedChangesWithGraveyard=e;this._cachedChanges=e.filter(bC);if(t.includeChangesInGraveyard){return this._cachedChangesWithGraveyard.slice()}else{return this._cachedChanges.slice()}}getChangedRoots(){return Array.from(this._changedRoots.values()).map((t=>{const e={...t};if(e.state!==undefined){delete e.attributes}return e}))}getRefreshedItems(){return new Set(this._refreshedItems)}reset(){this._changesInElement.clear();this._elementSnapshots.clear();this._changedMarkers.clear();this._changedRoots.clear();this._refreshedItems=new Set;this._cachedChanges=null}_bufferRootStateChange(t,e){if(!this._changedRoots.has(t)){this._changedRoots.set(t,{name:t,state:e?"attached":"detached"});return}const n=this._changedRoots.get(t);if(n.state!==undefined){delete n.state;if(n.attributes===undefined){this._changedRoots.delete(t)}}else{n.state=e?"attached":"detached"}}_bufferRootAttributeChange(t,e,n,i){const o=this._changedRoots.get(t)||{name:t};const r=o.attributes||{};if(r[e]){const t=r[e];if(i===t.oldValue){delete r[e]}else{t.newValue=i}}else{r[e]={oldValue:n,newValue:i}}if(Object.entries(r).length===0){delete o.attributes;if(o.state===undefined){this._changedRoots.delete(t)}}else{o.attributes=r;this._changedRoots.set(t,o)}}_refreshItem(t){if(this._isInInsertedElement(t.parent)){return}this._markRemove(t.parent,t.startOffset,t.offsetSize);this._markInsert(t.parent,t.startOffset,t.offsetSize);this._refreshedItems.add(t);const e=Xb._createOn(t);for(const t of this._markerCollection.getMarkersIntersectingRange(e)){const e=t.getData();this.bufferMarkerChange(t.name,e,e)}this._cachedChanges=null}_bufferRootLoad(t){if(!t.isAttached()){return}this._bufferRootStateChange(t.rootName,true);this._markInsert(t,0,t.maxOffset);for(const e of t.getAttributeKeys()){this._bufferRootAttributeChange(t.rootName,e,null,t.getAttribute(e))}for(const e of this._markerCollection){if(e.getRange().root==t){const t=e.getData();this.bufferMarkerChange(e.name,{...t,range:null},t)}}}_markInsert(t,e,n){if(t.root.is("rootElement")&&!t.root._isLoaded){return}const i={type:"insert",offset:e,howMany:n,count:this._changeCount++};this._markChange(t,i)}_markRemove(t,e,n){if(t.root.is("rootElement")&&!t.root._isLoaded){return}const i={type:"remove",offset:e,howMany:n,count:this._changeCount++};this._markChange(t,i);this._removeAllNestedChanges(t,e,n)}_markAttribute(t){if(t.root.is("rootElement")&&!t.root._isLoaded){return}const e={type:"attribute",offset:t.startOffset,howMany:t.offsetSize,count:this._changeCount++};this._markChange(t.parent,e)}_markChange(t,e){this._makeSnapshot(t);const n=this._getChangesForElement(t);this._handleChange(e,n);n.push(e);for(let t=0;tn.offset){if(i>o){const t={type:"attribute",offset:o,howMany:i-o,count:this._changeCount++};this._handleChange(t,e);e.push(t)}t.nodesToHandle=n.offset-t.offset;t.howMany=t.nodesToHandle}else if(t.offset>=n.offset&&t.offseto){t.nodesToHandle=i-o;t.offset=o}else{t.nodesToHandle=0}}}if(n.type=="remove"){if(t.offsetn.offset){const o={type:"attribute",offset:n.offset,howMany:i-n.offset,count:this._changeCount++};this._handleChange(o,e);e.push(o);t.nodesToHandle=n.offset-t.offset;t.howMany=t.nodesToHandle}}if(n.type=="attribute"){if(t.offset>=n.offset&&i<=o){t.nodesToHandle=0;t.howMany=0;t.offset=0}else if(t.offset<=n.offset&&i>=o){n.howMany=0}}}}t.howMany=t.nodesToHandle;delete t.nodesToHandle}_getInsertDiff(t,e,n){return{type:"insert",position:qb._createAt(t,e),name:n.name,attributes:new Map(n.attributes),length:1,changeCount:this._changeCount++,_element:n.element}}_getRemoveDiff(t,e,n){return{type:"remove",position:qb._createAt(t,e),name:n.name,attributes:new Map(n.attributes),length:1,changeCount:this._changeCount++,_element:n.element}}_getAttributesDiff(t,e,n){const i=[];n=new Map(n);for(const[o,r]of e){const e=n.has(o)?n.get(o):null;if(e!==r){i.push({type:"attribute",position:t.start,range:t.clone(),length:1,attributeKey:o,attributeOldValue:r,attributeNewValue:e,changeCount:this._changeCount++})}n.delete(o)}for(const[e,o]of n){i.push({type:"attribute",position:t.start,range:t.clone(),length:1,attributeKey:e,attributeOldValue:null,attributeNewValue:o,changeCount:this._changeCount++})}return i}_isInInsertedElement(t){const e=t.parent;if(!e){return false}const n=this._changesInElement.get(e);const i=t.startOffset;if(n){for(const t of n){if(t.type=="insert"&&i>=t.offset&&ii){for(let e=0;ethis._version+1){this._gaps.set(this._version,t)}this._version=t}get lastOperation(){return this._operations[this._operations.length-1]}addOperation(t){if(t.baseVersion!==this.version){throw new P("model-document-history-addoperation-incorrect-version",this,{operation:t,historyVersion:this.version})}this._operations.push(t);this._version++;this._baseVersionToOperationIndex.set(t.baseVersion,this._operations.length-1)}getOperations(t,e=this.version){if(!this._operations.length){return[]}const n=this._operations[0];if(t===undefined){t=n.baseVersion}let i=e-1;for(const[e,n]of this._gaps){if(t>e&&te&&ithis.lastOperation.baseVersion){return[]}let o=this._baseVersionToOperationIndex.get(t);if(o===undefined){o=0}let r=this._baseVersionToOperationIndex.get(i);if(r===undefined){r=this._operations.length-1}return this._operations.slice(o,r+1)}getOperation(t){const e=this._baseVersionToOperationIndex.get(t);if(e===undefined){return}return this._operations[e]}setOperationAsUndone(t,e){this._undoPairs.set(e,t);this._undoneOperations.add(t)}isUndoingOperation(t){return this._undoPairs.has(t)}isUndoneOperation(t){return this._undoneOperations.has(t)}getUndoneOperation(t){return this._undoPairs.get(t)}reset(){this._version=0;this._undoPairs=new Map;this._operations=[];this._undoneOperations=new Set;this._gaps=new Map;this._baseVersionToOperationIndex=new Map}}class wC extends Hb{constructor(t,e,n="main"){super(e);this._isAttached=true;this._isLoaded=true;this._document=t;this.rootName=n}get document(){return this._document}isAttached(){return this._isAttached}toJSON(){return this.rootName}}wC.prototype.is=function(t,e){if(!e){return t==="rootElement"||t==="model:rootElement"||t==="element"||t==="model:element"||t==="node"||t==="model:node"}return e===this.name&&(t==="rootElement"||t==="model:rootElement"||t==="element"||t==="model:element")};const AC="$graveyard";class CC extends(Z()){constructor(t){super();this.model=t;this.history=new kC;this.selection=new Ak(this);this.roots=new fl({idProperty:"rootName"});this.differ=new fC(t.markers);this.isReadOnly=false;this._postFixers=new Set;this._hasSelectionChangedFromTheLastChangeBlock=false;this.createRoot("$root",AC);this.listenTo(t,"applyOperation",((t,e)=>{const n=e[0];if(n.isDocumentOperation){this.differ.bufferOperation(n)}}),{priority:"high"});this.listenTo(t,"applyOperation",((t,e)=>{const n=e[0];if(n.isDocumentOperation){this.history.addOperation(n)}}),{priority:"low"});this.listenTo(this.selection,"change",(()=>{this._hasSelectionChangedFromTheLastChangeBlock=true}));this.listenTo(t.markers,"update",((t,e,n,i,o)=>{const r={...e.getData(),range:i};this.differ.bufferMarkerChange(e.name,o,r);if(n===null){e.on("change",((t,n)=>{const i=e.getData();this.differ.bufferMarkerChange(e.name,{...i,range:n},i)}))}}));this.registerPostFixer((t=>{let e=false;for(const n of this.roots){if(!n.isAttached()&&!n.isEmpty){t.remove(t.createRangeIn(n));e=true}}for(const n of this.model.markers){if(!n.getRange().root.isAttached()){t.removeMarker(n);e=true}}return e}))}get version(){return this.history.version}set version(t){this.history.version=t}get graveyard(){return this.getRoot(AC)}createRoot(t="$root",e="main"){if(this.roots.get(e)){throw new P("model-document-createroot-name-exists",this,{name:e})}const n=new wC(this,t,e);this.roots.add(n);return n}destroy(){this.selection.destroy();this.stopListening()}getRoot(t="main"){return this.roots.get(t)}getRootNames(t=false){return this.getRoots(t).map((t=>t.rootName))}getRoots(t=false){return this.roots.filter((e=>e!=this.graveyard&&(t||e.isAttached())&&e._isLoaded))}registerPostFixer(t){this._postFixers.add(t)}toJSON(){const t=fh(this);t.selection="[engine.model.DocumentSelection]";t.model="[engine.model.Model]";return t}_handleChangeBlock(t){if(this._hasDocumentChangedFromTheLastChangeBlock()){this._callPostFixers(t);this.selection.refresh();if(this.differ.hasDataChanges()){this.fire("change:data",t.batch)}else{this.fire("change",t.batch)}this.selection.refresh();this.differ.reset()}this._hasSelectionChangedFromTheLastChangeBlock=false}_hasDocumentChangedFromTheLastChangeBlock(){return!this.differ.isEmpty||this._hasSelectionChangedFromTheLastChangeBlock}_getDefaultRoot(){const t=this.getRoots();return t.length?t[0]:this.graveyard}_getDefaultRange(){const t=this._getDefaultRoot();const e=this.model;const n=e.schema;const i=e.createPositionFromPath(t,[0]);const o=n.getNearestSelectionRange(i);return o||e.createRange(i)}_validateSelectionRange(t){return _C(t.start)&&_C(t.end)}_callPostFixers(t){let e=false;do{for(const n of this._postFixers){this.selection.refresh();e=n(t);if(e){break}}}while(e)}}function _C(t){const e=t.textNode;if(e){const n=e.data;const i=t.offset-e.startOffset;return!Dl(n,i)&&!Tl(n,i)}return true}class vC extends(Z()){constructor(){super(...arguments);this._markers=new Map}[Symbol.iterator](){return this._markers.values()}has(t){const e=t instanceof yC?t.name:t;return this._markers.has(e)}get(t){return this._markers.get(t)||null}_set(t,e,n=false,i=false){const o=t instanceof yC?t.name:t;if(o.includes(",")){throw new P("markercollection-incorrect-marker-name",this)}const r=this._markers.get(o);if(r){const t=r.getData();const s=r.getRange();let a=false;if(!s.isEqual(e)){r._attachLiveRange(mk.fromRange(e));a=true}if(n!=r.managedUsingOperations){r._managedUsingOperations=n;a=true}if(typeof i==="boolean"&&i!=r.affectsData){r._affectsData=i;a=true}if(a){this.fire(`update:${o}`,r,s,e,t)}return r}const s=mk.fromRange(e);const a=new yC(o,s,n,i);this._markers.set(o,a);this.fire(`update:${o}`,a,null,e,{...a.getData(),range:null});return a}_remove(t){const e=t instanceof yC?t.name:t;const n=this._markers.get(e);if(n){this._markers.delete(e);this.fire(`update:${e}`,n,n.getRange(),null,n.getData());this._destroyMarker(n);return true}return false}_refresh(t){const e=t instanceof yC?t.name:t;const n=this._markers.get(e);if(!n){throw new P("markercollection-refresh-marker-not-exists",this)}const i=n.getRange();this.fire(`update:${e}`,n,i,i,n.getData())}*getMarkersAtPosition(t){for(const e of this){if(e.getRange().containsPosition(t)){yield e}}}*getMarkersIntersectingRange(t){for(const e of this){if(e.getRange().getIntersection(t)!==null){yield e}}}destroy(){for(const t of this._markers.values()){this._destroyMarker(t)}this._markers=null;this.stopListening()}*getMarkersGroup(t){for(const e of this._markers.values()){if(e.name.startsWith(t+":")){yield e}}}_destroyMarker(t){t.stopListening();t._detachLiveRange()}}class yC extends(Z(Vb)){constructor(t,e,n,i){super();this.name=t;this._liveRange=this._attachLiveRange(e);this._managedUsingOperations=n;this._affectsData=i}get managedUsingOperations(){if(!this._liveRange){throw new P("marker-destroyed",this)}return this._managedUsingOperations}get affectsData(){if(!this._liveRange){throw new P("marker-destroyed",this)}return this._affectsData}getData(){return{range:this.getRange(),affectsData:this.affectsData,managedUsingOperations:this.managedUsingOperations}}getStart(){if(!this._liveRange){throw new P("marker-destroyed",this)}return this._liveRange.start.clone()}getEnd(){if(!this._liveRange){throw new P("marker-destroyed",this)}return this._liveRange.end.clone()}getRange(){if(!this._liveRange){throw new P("marker-destroyed",this)}return this._liveRange.toRange()}_attachLiveRange(t){if(this._liveRange){this._detachLiveRange()}t.delegate("change:range").to(this);t.delegate("change:content").to(this);this._liveRange=t;return t}_detachLiveRange(){this._liveRange.stopDelegating("change:range",this);this._liveRange.stopDelegating("change:content",this);this._liveRange.detach();this._liveRange=null}}yC.prototype.is=function(t){return t==="marker"||t==="model:marker"};class xC extends TA{constructor(t,e){super(null);this.sourcePosition=t.clone();this.howMany=e}get type(){return"detach"}get affectedSelectable(){return null}toJSON(){const t=super.toJSON();t.sourcePosition=this.sourcePosition.toJSON();return t}_validate(){if(this.sourcePosition.root.document){throw new P("detach-operation-on-document-node",this)}}_execute(){SA(Xb._createFromPositionAndShift(this.sourcePosition,this.howMany))}static get className(){return"DetachOperation"}}class EC extends Vb{constructor(t){super();this.markers=new Map;this._children=new Ob;if(t){this._insertChild(0,t)}}[Symbol.iterator](){return this.getChildren()}get childCount(){return this._children.length}get maxOffset(){return this._children.maxOffset}get isEmpty(){return this.childCount===0}get nextSibling(){return null}get previousSibling(){return null}get root(){return this}get parent(){return null}get document(){return null}isAttached(){return false}getAncestors(){return[]}getChild(t){return this._children.getNode(t)}getChildren(){return this._children[Symbol.iterator]()}getChildIndex(t){return this._children.getNodeIndex(t)}getChildStartOffset(t){return this._children.getNodeStartOffset(t)}getPath(){return[]}getNodeByPath(t){let e=this;for(const n of t){e=e.getChild(e.offsetToIndex(n))}return e}offsetToIndex(t){return this._children.offsetToIndex(t)}toJSON(){const t=[];for(const e of this._children){t.push(e.toJSON())}return t}static fromJSON(t){const e=[];for(const n of t){if(n.name){e.push(Hb.fromJSON(n))}else{e.push(Fb.fromJSON(n))}}return new EC(e)}_appendChild(t){this._insertChild(this.childCount,t)}_insertChild(t,e){const n=DC(e);for(const t of n){if(t.parent!==null){t._remove()}t.parent=this}this._children._insertNodes(t,n)}_removeChildren(t,e=1){const n=this._children._removeNodes(t,e);for(const t of n){t.parent=null}return n}}EC.prototype.is=function(t){return t==="documentFragment"||t==="model:documentFragment"};function DC(t){if(typeof t=="string"){return[new Fb(t)]}if(!Dt(t)){t=[t]}return Array.from(t).map((t=>{if(typeof t=="string"){return new Fb(t)}if(t instanceof jb){return new Fb(t.data,t.getAttributes())}return t}))}class TC{constructor(t,e){this.model=t;this.batch=e}createText(t,e){return new Fb(t,e)}createElement(t,e){return new Hb(t,e)}createDocumentFragment(){return new EC}cloneElement(t,e=true){return t._clone(e)}insert(t,e,n=0){this._assertWriterUsedCorrectly();if(t instanceof Fb&&t.data==""){return}const i=qb._createAt(e,n);if(t.parent){if(NC(t.root,i.root)){this.move(Xb._createOn(t),i);return}else{if(t.root.document){throw new P("model-writer-insert-forbidden-move",this)}else{this.remove(t)}}}const o=i.root.document?i.root.document.version:null;const r=new RA(i,t,o);if(t instanceof Fb){r.shouldReceiveAttributes=true}this.batch.addOperation(r);this.model.applyOperation(r);if(t instanceof EC){for(const[e,n]of t.markers){const t=qb._createAt(n.root,0);const o=new Xb(n.start._getCombined(t,i),n.end._getCombined(t,i));const r={range:o,usingOperation:true,affectsData:true};if(this.model.markers.has(e)){this.updateMarker(e,r)}else{this.addMarker(e,r)}}}}insertText(t,e,n,i){if(e instanceof EC||e instanceof Hb||e instanceof qb){this.insert(this.createText(t),e,n)}else{this.insert(this.createText(t,e),n,i)}}insertElement(t,e,n,i){if(e instanceof EC||e instanceof Hb||e instanceof qb){this.insert(this.createElement(t),e,n)}else{this.insert(this.createElement(t,e),n,i)}}append(t,e){this.insert(t,e,"end")}appendText(t,e,n){if(e instanceof EC||e instanceof Hb){this.insert(this.createText(t),e,"end")}else{this.insert(this.createText(t,e),n,"end")}}appendElement(t,e,n){if(e instanceof EC||e instanceof Hb){this.insert(this.createElement(t),e,"end")}else{this.insert(this.createElement(t,e),n,"end")}}setAttribute(t,e,n){this._assertWriterUsedCorrectly();if(n instanceof Xb){const i=n.getMinimalFlatRanges();for(const n of i){IC(this,t,e,n)}}else{SC(this,t,e,n)}}setAttributes(t,e){for(const[n,i]of wl(t)){this.setAttribute(n,i,e)}}removeAttribute(t,e){this._assertWriterUsedCorrectly();if(e instanceof Xb){const n=e.getMinimalFlatRanges();for(const e of n){IC(this,t,null,e)}}else{SC(this,t,null,e)}}clearAttributes(t){this._assertWriterUsedCorrectly();const e=t=>{for(const e of t.getAttributeKeys()){this.removeAttribute(e,t)}};if(!(t instanceof Xb)){e(t)}else{for(const n of t.getItems()){e(n)}}}move(t,e,n){this._assertWriterUsedCorrectly();if(!(t instanceof Xb)){throw new P("writer-move-invalid-range",this)}if(!t.isFlat){throw new P("writer-move-range-not-flat",this)}const i=qb._createAt(e,n);if(i.isEqual(t.start)){return}this._addOperationForAffectedMarkers("move",t);if(!NC(t.root,i.root)){throw new P("writer-move-different-document",this)}const o=t.root.document?t.root.document.version:null;const r=new VA(t.start,t.end.offset-t.start.offset,i,o);this.batch.addOperation(r);this.model.applyOperation(r)}remove(t){this._assertWriterUsedCorrectly();const e=t instanceof Xb?t:Xb._createOn(t);const n=e.getMinimalFlatRanges().reverse();for(const t of n){this._addOperationForAffectedMarkers("move",t);MC(t.start,t.end.offset-t.start.offset,this.batch,this.model)}}merge(t){this._assertWriterUsedCorrectly();const e=t.nodeBefore;const n=t.nodeAfter;this._addOperationForAffectedMarkers("merge",t);if(!(e instanceof Hb)){throw new P("writer-merge-no-element-before",this)}if(!(n instanceof Hb)){throw new P("writer-merge-no-element-after",this)}if(!t.root.document){this._mergeDetached(t)}else{this._merge(t)}}createPositionFromPath(t,e,n){return this.model.createPositionFromPath(t,e,n)}createPositionAt(t,e){return this.model.createPositionAt(t,e)}createPositionAfter(t){return this.model.createPositionAfter(t)}createPositionBefore(t){return this.model.createPositionBefore(t)}createRange(t,e){return this.model.createRange(t,e)}createRangeIn(t){return this.model.createRangeIn(t)}createRangeOn(t){return this.model.createRangeOn(t)}createSelection(...t){return this.model.createSelection(...t)}_mergeDetached(t){const e=t.nodeBefore;const n=t.nodeAfter;this.move(Xb._createIn(n),qb._createAt(e,"end"));this.remove(n)}_merge(t){const e=qb._createAt(t.nodeBefore,"end");const n=qb._createAt(t.nodeAfter,0);const i=t.root.document.graveyard;const o=new qb(i,[0]);const r=t.root.document.version;const s=new FA(n,t.nodeAfter.maxOffset,e,o,r);this.batch.addOperation(s);this.model.applyOperation(s)}rename(t,e){this._assertWriterUsedCorrectly();if(!(t instanceof Hb)){throw new P("writer-rename-not-element-instance",this)}const n=t.root.document?t.root.document.version:null;const i=new qA(qb._createBefore(t),t.name,e,n);this.batch.addOperation(i);this.model.applyOperation(i)}split(t,e){this._assertWriterUsedCorrectly();let n=t.parent;if(!n.parent){throw new P("writer-split-element-no-parent",this)}if(!e){e=n.parent}if(!t.parent.getAncestors({includeSelf:true}).includes(e)){throw new P("writer-split-invalid-limit-element",this)}let i;let o;do{const e=n.root.document?n.root.document.version:null;const r=n.maxOffset-t.offset;const s=OA.getInsertionPosition(t);const a=new OA(t,r,s,null,e);this.batch.addOperation(a);this.model.applyOperation(a);if(!i&&!o){i=n;o=t.parent.nextSibling}t=this.createPositionAfter(t.parent);n=t.parent}while(n!==e);return{position:t,range:new Xb(qb._createAt(i,"end"),qb._createAt(o,0))}}wrap(t,e){this._assertWriterUsedCorrectly();if(!t.isFlat){throw new P("writer-wrap-range-not-flat",this)}const n=e instanceof Hb?e:new Hb(e);if(n.childCount>0){throw new P("writer-wrap-element-not-empty",this)}if(n.parent!==null){throw new P("writer-wrap-element-attached",this)}this.insert(n,t.start);const i=new Xb(t.start.getShiftedBy(1),t.end.getShiftedBy(1));this.move(i,qb._createAt(n,0))}unwrap(t){this._assertWriterUsedCorrectly();if(t.parent===null){throw new P("writer-unwrap-element-no-parent",this)}this.move(Xb._createIn(t),this.createPositionAfter(t));this.remove(t)}addMarker(t,e){this._assertWriterUsedCorrectly();if(!e||typeof e.usingOperation!="boolean"){throw new P("writer-addmarker-no-usingoperation",this)}const n=e.usingOperation;const i=e.range;const o=e.affectsData===undefined?false:e.affectsData;if(this.model.markers.has(t)){throw new P("writer-addmarker-marker-exists",this)}if(!i){throw new P("writer-addmarker-no-range",this)}if(!n){return this.model.markers._set(t,i,n,o)}BC(this,t,null,i,o);return this.model.markers.get(t)}updateMarker(t,e){this._assertWriterUsedCorrectly();const n=typeof t=="string"?t:t.name;const i=this.model.markers.get(n);if(!i){throw new P("writer-updatemarker-marker-not-exists",this)}if(!e){L("writer-updatemarker-reconvert-using-editingcontroller",{markerName:n});this.model.markers._refresh(i);return}const o=typeof e.usingOperation=="boolean";const r=typeof e.affectsData=="boolean";const s=r?e.affectsData:i.affectsData;if(!o&&!e.range&&!r){throw new P("writer-updatemarker-wrong-options",this)}const a=i.getRange();const c=e.range?e.range:a;if(o&&e.usingOperation!==i.managedUsingOperations){if(e.usingOperation){BC(this,n,null,c,s)}else{BC(this,n,a,null,s);this.model.markers._set(n,c,undefined,s)}return}if(i.managedUsingOperations){BC(this,n,a,c,s)}else{this.model.markers._set(n,c,undefined,s)}}removeMarker(t){this._assertWriterUsedCorrectly();const e=typeof t=="string"?t:t.name;if(!this.model.markers.has(e)){throw new P("writer-removemarker-no-marker",this)}const n=this.model.markers.get(e);if(!n.managedUsingOperations){this.model.markers._remove(e);return}const i=n.getRange();BC(this,e,i,null,n.affectsData)}addRoot(t,e="$root"){this._assertWriterUsedCorrectly();const n=this.model.document.getRoot(t);if(n&&n.isAttached()){throw new P("writer-addroot-root-exists",this)}const i=this.model.document;const o=new $A(t,e,true,i,i.version);this.batch.addOperation(o);this.model.applyOperation(o);return this.model.document.getRoot(t)}detachRoot(t){this._assertWriterUsedCorrectly();const e=typeof t=="string"?this.model.document.getRoot(t):t;if(!e||!e.isAttached()){throw new P("writer-detachroot-no-root",this)}for(const t of this.model.markers){if(t.getRange().root===e){this.removeMarker(t)}}for(const t of e.getAttributeKeys()){this.removeAttribute(t,e)}this.remove(this.createRangeIn(e));const n=this.model.document;const i=new $A(e.rootName,e.name,false,n,n.version);this.batch.addOperation(i);this.model.applyOperation(i)}setSelection(...t){this._assertWriterUsedCorrectly();this.model.document.selection._setTo(...t)}setSelectionFocus(t,e){this._assertWriterUsedCorrectly();this.model.document.selection._setFocus(t,e)}setSelectionAttribute(t,e){this._assertWriterUsedCorrectly();if(typeof t==="string"){this._setSelectionAttribute(t,e)}else{for(const[e,n]of wl(t)){this._setSelectionAttribute(e,n)}}}removeSelectionAttribute(t){this._assertWriterUsedCorrectly();if(typeof t==="string"){this._removeSelectionAttribute(t)}else{for(const e of t){this._removeSelectionAttribute(e)}}}overrideSelectionGravity(){return this.model.document.selection._overrideGravity()}restoreSelectionGravity(t){this.model.document.selection._restoreGravity(t)}_setSelectionAttribute(t,e){const n=this.model.document.selection;if(n.isCollapsed&&n.anchor.parent.isEmpty){const i=Ak._getStoreAttributeKey(t);this.setAttribute(i,e,n.anchor.parent)}n._setAttribute(t,e)}_removeSelectionAttribute(t){const e=this.model.document.selection;if(e.isCollapsed&&e.anchor.parent.isEmpty){const n=Ak._getStoreAttributeKey(t);this.removeAttribute(n,e.anchor.parent)}e._removeAttribute(t)}_assertWriterUsedCorrectly(){if(this.model._currentWriter!==this){throw new P("writer-incorrect-use",this)}}_addOperationForAffectedMarkers(t,e){for(const n of this.model.markers){if(!n.managedUsingOperations){continue}const i=n.getRange();let o=false;if(t==="move"){const t=e;o=t.containsPosition(i.start)||t.start.isEqual(i.start)||t.containsPosition(i.end)||t.end.isEqual(i.end)}else{const t=e;const n=t.nodeBefore;const r=t.nodeAfter;const s=i.start.parent==n&&i.start.isAtEnd;const a=i.end.parent==r&&i.end.offset==0;const c=i.end.nodeAfter==r;const l=i.start.nodeAfter==r;o=s||a||c||l}if(o){this.updateMarker(n.name,{range:i})}}}}function IC(t,e,n,i){const o=t.model;const r=o.document;let s=i.start;let a;let c;let l;for(const t of i.getWalker({shallow:true})){l=t.item.getAttribute(e);if(a&&c!=l){if(c!=n){d()}s=a}a=t.nextPosition;c=l}if(a instanceof qb&&a!=s&&c!=n){d()}function d(){const i=new Xb(s,a);const l=i.root.document?r.version:null;const d=new WA(i,e,c,n,l);t.batch.addOperation(d);o.applyOperation(d)}}function SC(t,e,n,i){const o=t.model;const r=o.document;const s=i.getAttribute(e);let a,c;if(s!=n){const l=i.root===i;if(l){const t=i.document?r.version:null;c=new ZA(i,e,s,n,t)}else{a=new Xb(qb._createBefore(i),t.createPositionAfter(i));const o=a.root.document?r.version:null;c=new WA(a,e,s,n,o)}t.batch.addOperation(c);o.applyOperation(c)}}function BC(t,e,n,i,o){const r=t.model;const s=r.document;const a=new jA(e,n,i,r.markers,!!o,s.version);t.batch.addOperation(a);r.applyOperation(a)}function MC(t,e,n,i){let o;if(t.root.document){const n=i.document;const r=new qb(n.graveyard,[0]);o=new VA(t,e,r,n.version)}else{o=new xC(t,e)}n.addOperation(o);i.applyOperation(o)}function NC(t,e){if(t===e){return true}if(t instanceof wC&&e instanceof wC){return true}return false}function PC(t,e,n={}){if(e.isCollapsed){return}const i=e.getFirstRange();if(i.root.rootName=="$graveyard"){return}const o=t.schema;t.change((t=>{if(!n.doNotResetEntireContent&&ZC(o,e)){qC(t,e);return}const r={};if(!n.doNotAutoparagraph){const t=e.getSelectedElement();if(t){Object.assign(r,o.getAttributesWithProperty(t,"copyOnReplace",true))}}const[s,a]=LC(i);if(!s.isTouching(a)){t.remove(t.createRange(s,a))}if(!n.leaveUnmerged){VC(t,s,a);o.removeDisallowedAttributes(s.parent.getChildren(),t)}$C(t,e,s);if(!n.doNotAutoparagraph&&UC(o,s)){GC(t,s,e,r)}s.detach();a.detach()}))}function LC(t){const e=t.root.document.model;const n=t.start;let i=t.end;if(e.hasContent(t,{ignoreMarkers:true})){const n=zC(i);if(n&&i.isTouching(e.createPositionAt(n,0))){const n=e.createSelection(t);e.modifySelection(n,{direction:"backward"});const o=n.getLastPosition();const r=e.createRange(o,i);if(!e.hasContent(r,{ignoreMarkers:true})){i=o}}}return[dC.fromPosition(n,"toPrevious"),dC.fromPosition(i,"toNext")]}function zC(t){const e=t.parent;const n=e.root.document.model.schema;const i=e.getAncestors({parentFirst:true,includeSelf:true});for(const t of i){if(n.isLimit(t)){return null}if(n.isBlock(t)){return t}}}function VC(t,e,n){const i=t.model;if(!jC(t.model.schema,e,n)){return}const[o,r]=HC(e,n);if(!o||!r){return}if(!i.hasContent(o,{ignoreMarkers:true})&&i.hasContent(r,{ignoreMarkers:true})){OC(t,e,n,o.parent)}else{RC(t,e,n,o.parent)}}function RC(t,e,n,i){const o=e.parent;const r=n.parent;if(o==i||r==i){return}e=t.createPositionAfter(o);n=t.createPositionBefore(r);if(!n.isEqual(e)){t.insert(r,e)}t.merge(e);while(n.parent.isEmpty){const e=n.parent;n=t.createPositionBefore(e);t.remove(e)}if(!jC(t.model.schema,e,n)){return}RC(t,e,n,i)}function OC(t,e,n,i){const o=e.parent;const r=n.parent;if(o==i||r==i){return}e=t.createPositionAfter(o);n=t.createPositionBefore(r);if(!n.isEqual(e)){t.insert(o,n)}while(e.parent.isEmpty){const n=e.parent;e=t.createPositionBefore(n);t.remove(n)}n=t.createPositionBefore(r);FC(t,n);if(!jC(t.model.schema,e,n)){return}OC(t,e,n,i)}function FC(t,e){const n=e.nodeBefore;const i=e.nodeAfter;if(n.name!=i.name){t.rename(n,i.name)}t.clearAttributes(n);t.setAttributes(Object.fromEntries(i.getAttributes()),n);t.merge(e)}function jC(t,e,n){const i=e.parent;const o=n.parent;if(i==o){return false}if(t.isLimit(i)||t.isLimit(o)){return false}return WC(e,n,t)}function HC(t,e){const n=t.getAncestors();const i=e.getAncestors();let o=0;while(n[o]&&n[o]==i[o]){o++}return[n[o],i[o]]}function UC(t,e){const n=t.checkChild(e,"$text");const i=t.checkChild(e,"paragraph");return!n&&i}function WC(t,e,n){const i=new Xb(t,e);for(const t of i.getWalker()){if(n.isLimit(t.item)){return false}}return true}function GC(t,e,n,i={}){const o=t.createElement("paragraph");t.model.schema.setAllowedAttributes(o,i,t);t.insert(o,e);$C(t,n,t.createPositionAt(o,0))}function qC(t,e){const n=t.model.schema.getLimitElement(e);t.remove(t.createRangeIn(n));GC(t,t.createPositionAt(n,0),e)}function ZC(t,e){const n=t.getLimitElement(e);if(!e.containsEntireContent(n)){return false}const i=e.getFirstRange();if(i.start.parent==i.end.parent){return false}return t.checkChild(n,"paragraph")}function $C(t,e,n){if(e instanceof Ak){t.setSelection(n)}else{e.setTo(n)}}function KC(t,e){return t.change((t=>{const n=t.createDocumentFragment();const i=e.getFirstRange();if(!i||i.isCollapsed){return n}const o=i.start.root;const r=i.start.getCommonPath(i.end);const s=o.getNodeByPath(r);let a;if(i.start.parent==i.end.parent){a=i}else{a=t.createRange(t.createPositionAt(s,i.start.path[r.length]),t.createPositionAt(s,i.end.path[r.length]+1))}const c=a.end.offset-a.start.offset;for(const e of a.getItems({shallow:true})){if(e.is("$textProxy")){t.appendText(e.data,e.getAttributes(),n)}else{t.append(t.cloneElement(e,true),n)}}if(a!=i){const e=i._getTransformedByMove(a.start,t.createPositionAt(n,0),c)[0];const o=t.createRange(t.createPositionAt(n,0),e.start);const r=t.createRange(e.end,t.createPositionAt(n,"end"));YC(r,t);YC(o,t)}return n}))}function YC(t,e){const n=[];Array.from(t.getItems({direction:"backward"})).map((t=>e.createRangeOn(t))).filter((e=>{const n=(e.start.isAfter(t.start)||e.start.isEqual(t.start))&&(e.end.isBefore(t.end)||e.end.isEqual(t.end));return n})).forEach((t=>{n.push(t.start.parent);e.remove(t)}));n.forEach((t=>{let n=t;while(n.parent&&n.isEmpty){const t=e.createRangeOn(n);n=n.parent;e.remove(t)}}))}function QC(t,e,n){return t.change((i=>{const o=n?n:t.document.selection;if(!o.isCollapsed){t.deleteContent(o,{doNotAutoparagraph:true})}const r=new JC(t,i,o.anchor);const s=[];let a;if(e.is("documentFragment")){if(e.markers.size){const t=[];for(const[n,i]of e.markers){const{start:e,end:o}=i;const r=e.isEqual(o);t.push({position:e,name:n,isCollapsed:r},{position:o,name:n,isCollapsed:r})}t.sort((({position:t},{position:e})=>t.isBefore(e)?1:-1));for(const{position:n,name:o,isCollapsed:r}of t){let t=null;let a=null;const c=n.parent===e&&n.isAtStart;const l=n.parent===e&&n.isAtEnd;if(!c&&!l){t=i.createElement("$marker");i.insert(t,n)}else if(r){a=c?"start":"end"}s.push({name:o,element:t,collapsed:a})}}a=e.getChildren()}else{a=[e]}r.handleNodes(a);let c=r.getSelectionRange();if(e.is("documentFragment")&&s.length){const t=c?mk.fromRange(c):null;const e={};for(let t=s.length-1;t>=0;t--){const{name:n,element:o,collapsed:a}=s[t];const c=!e[n];if(c){e[n]=[]}if(o){const t=i.createPositionAt(o,"before");e[n].push(t);i.remove(o)}else{const t=r.getAffectedRange();if(!t){if(a){e[n].push(r.position)}continue}if(a){e[n].push(t[a])}else{e[n].push(c?t.start:t.end)}}}for(const[t,[n,o]]of Object.entries(e)){if(n&&o&&n.root===o.root){i.addMarker(t,{usingOperation:true,affectsData:true,range:new Xb(n,o)})}}if(t){c=t.toRange();t.detach()}}if(c){if(o instanceof Ak){i.setSelection(c)}else{o.setTo(c)}}else{}const l=r.getAffectedRange()||t.createRange(o.anchor);r.destroy();return l}))}class JC{constructor(t,e,n){this._firstNode=null;this._lastNode=null;this._lastAutoParagraph=null;this._filterAttributesOf=[];this._affectedStart=null;this._affectedEnd=null;this._nodeToSelect=null;this.model=t;this.writer=e;this.position=n;this.canMergeWith=new Set([this.position.parent]);this.schema=t.schema;this._documentFragment=e.createDocumentFragment();this._documentFragmentPosition=e.createPositionAt(this._documentFragment,0)}handleNodes(t){for(const e of Array.from(t)){this._handleNode(e)}this._insertPartialFragment();if(this._lastAutoParagraph){this._updateLastNodeFromAutoParagraph(this._lastAutoParagraph)}this._mergeOnRight();this.schema.removeDisallowedAttributes(this._filterAttributesOf,this.writer);this._filterAttributesOf=[]}_updateLastNodeFromAutoParagraph(t){const e=this.writer.createPositionAfter(this._lastNode);const n=this.writer.createPositionAfter(t);if(n.isAfter(e)){this._lastNode=t;if(this.position.parent!=t||!this.position.isAtEnd){throw new P("insertcontent-invalid-insertion-position",this)}this.position=n;this._setAffectedBoundaries(this.position)}}getSelectionRange(){if(this._nodeToSelect){return Xb._createOn(this._nodeToSelect)}return this.model.schema.getNearestSelectionRange(this.position)}getAffectedRange(){if(!this._affectedStart){return null}return new Xb(this._affectedStart,this._affectedEnd)}destroy(){if(this._affectedStart){this._affectedStart.detach()}if(this._affectedEnd){this._affectedEnd.detach()}}_handleNode(t){if(this.schema.isObject(t)){this._handleObject(t);return}let e=this._checkAndAutoParagraphToAllowedPosition(t);if(!e){e=this._checkAndSplitToAllowedPosition(t);if(!e){this._handleDisallowedNode(t);return}}this._appendToFragment(t);if(!this._firstNode){this._firstNode=t}this._lastNode=t}_insertPartialFragment(){if(this._documentFragment.isEmpty){return}const t=dC.fromPosition(this.position,"toNext");this._setAffectedBoundaries(this.position);if(this._documentFragment.getChild(0)==this._firstNode){this.writer.insert(this._firstNode,this.position);this._mergeOnLeft();this.position=t.toPosition()}if(!this._documentFragment.isEmpty){this.writer.insert(this._documentFragment,this.position)}this._documentFragmentPosition=this.writer.createPositionAt(this._documentFragment,0);this.position=t.toPosition();t.detach()}_handleObject(t){if(this._checkAndSplitToAllowedPosition(t)){this._appendToFragment(t)}else{this._tryAutoparagraphing(t)}}_handleDisallowedNode(t){if(t.is("element")){this.handleNodes(t.getChildren())}else{this._tryAutoparagraphing(t)}}_appendToFragment(t){if(!this.schema.checkChild(this.position,t)){throw new P("insertcontent-wrong-position",this,{node:t,position:this.position})}this.writer.insert(t,this._documentFragmentPosition);this._documentFragmentPosition=this._documentFragmentPosition.getShiftedBy(t.offsetSize);if(this.schema.isObject(t)&&!this.schema.checkChild(this.position,"$text")){this._nodeToSelect=t}else{this._nodeToSelect=null}this._filterAttributesOf.push(t)}_setAffectedBoundaries(t){if(!this._affectedStart){this._affectedStart=dC.fromPosition(t,"toPrevious")}if(!this._affectedEnd||this._affectedEnd.isBefore(t)){if(this._affectedEnd){this._affectedEnd.detach()}this._affectedEnd=dC.fromPosition(t,"toNext")}}_mergeOnLeft(){const t=this._firstNode;if(!(t instanceof Hb)){return}if(!this._canMergeLeft(t)){return}const e=dC._createBefore(t);e.stickiness="toNext";const n=dC.fromPosition(this.position,"toNext");if(this._affectedStart.isEqual(e)){this._affectedStart.detach();this._affectedStart=dC._createAt(e.nodeBefore,"end","toPrevious")}if(this._firstNode===this._lastNode){this._firstNode=e.nodeBefore;this._lastNode=e.nodeBefore}this.writer.merge(e);if(e.isEqual(this._affectedEnd)&&this._firstNode===this._lastNode){this._affectedEnd.detach();this._affectedEnd=dC._createAt(e.nodeBefore,"end","toNext")}this.position=n.toPosition();n.detach();this._filterAttributesOf.push(this.position.parent);e.detach()}_mergeOnRight(){const t=this._lastNode;if(!(t instanceof Hb)){return}if(!this._canMergeRight(t)){return}const e=dC._createAfter(t);e.stickiness="toNext";if(!this.position.isEqual(e)){throw new P("insertcontent-invalid-insertion-position",this)}this.position=qb._createAt(e.nodeBefore,"end");const n=dC.fromPosition(this.position,"toPrevious");if(this._affectedEnd.isEqual(e)){this._affectedEnd.detach();this._affectedEnd=dC._createAt(e.nodeBefore,"end","toNext")}if(this._firstNode===this._lastNode){this._firstNode=e.nodeBefore;this._lastNode=e.nodeBefore}this.writer.merge(e);if(e.getShiftedBy(-1).isEqual(this._affectedStart)&&this._firstNode===this._lastNode){this._affectedStart.detach();this._affectedStart=dC._createAt(e.nodeBefore,0,"toPrevious")}this.position=n.toPosition();n.detach();this._filterAttributesOf.push(this.position.parent);e.detach()}_canMergeLeft(t){const e=t.previousSibling;return e instanceof Hb&&this.canMergeWith.has(e)&&this.model.schema.checkMerge(e,t)}_canMergeRight(t){const e=t.nextSibling;return e instanceof Hb&&this.canMergeWith.has(e)&&this.model.schema.checkMerge(t,e)}_tryAutoparagraphing(t){const e=this.writer.createElement("paragraph");if(this._getAllowedIn(this.position.parent,e)&&this.schema.checkChild(e,t)){e._appendChild(t);this._handleNode(e)}}_checkAndAutoParagraphToAllowedPosition(t){if(this.schema.checkChild(this.position.parent,t)){return true}if(!this.schema.checkChild(this.position.parent,"paragraph")||!this.schema.checkChild("paragraph",t)){return false}this._insertPartialFragment();const e=this.writer.createElement("paragraph");this.writer.insert(e,this.position);this._setAffectedBoundaries(this.position);this._lastAutoParagraph=e;this.position=this.writer.createPositionAt(e,0);return true}_checkAndSplitToAllowedPosition(t){const e=this._getAllowedIn(this.position.parent,t);if(!e){return false}if(e!=this.position.parent){this._insertPartialFragment()}while(e!=this.position.parent){if(this.position.isAtStart){const t=this.position.parent;this.position=this.writer.createPositionBefore(t);if(t.isEmpty&&t.parent===e){this.writer.remove(t)}}else if(this.position.isAtEnd){this.position=this.writer.createPositionAfter(this.position.parent)}else{const t=this.writer.createPositionAfter(this.position.parent);this._setAffectedBoundaries(this.position);this.writer.split(this.position);this.position=t;this.canMergeWith.add(this.position.nodeAfter)}}return true}_getAllowedIn(t,e){if(this.schema.checkChild(t,e)){return t}if(this.schema.isLimit(t)){return null}return this._getAllowedIn(t.parent,e)}}function XC(t,e,n,i={}){if(!t.schema.isObject(e)){throw new P("insertobject-element-not-an-object",t,{object:e})}const o=n?n:t.document.selection;let r=o;if(i.findOptimalPosition&&t.schema.isBlock(e)){r=t.createSelection(t.schema.findOptimalInsertionRange(o,i.findOptimalPosition))}const s=ml(o.getSelectedBlocks());const a={};if(s){Object.assign(a,t.schema.getAttributesWithProperty(s,"copyOnReplace",true))}return t.change((n=>{if(!r.isCollapsed){t.deleteContent(r,{doNotAutoparagraph:true})}let o=e;const s=r.anchor.parent;if(!t.schema.checkChild(s,e)&&t.schema.checkChild(s,"paragraph")&&t.schema.checkChild("paragraph",e)){o=n.createElement("paragraph");n.insert(e,o)}t.schema.setAllowedAttributes(o,a,n);const c=t.insertContent(o,r);if(c.isCollapsed){return c}if(i.setSelection){t_(n,e,i.setSelection,a)}return c}))}function t_(t,e,n,i){const o=t.model;if(n=="on"){t.setSelection(e,"on");return}if(n!="after"){throw new P("insertobject-invalid-place-parameter-value",o)}let r=e.nextSibling;if(o.schema.isInline(e)){t.setSelection(e,"after");return}const s=r&&o.schema.checkChild(r,"$text");if(!s&&o.schema.checkChild(e.parent,"paragraph")){r=t.createElement("paragraph");o.schema.setAllowedAttributes(r,i,t);o.insertContent(r,t.createPositionAfter(e))}if(r){t.setSelection(r,0)}}const e_=' ,.?!:;"-()';function n_(t,e,n={}){const i=t.schema;const o=n.direction!="backward";const r=n.unit?n.unit:"character";const s=!!n.treatEmojiAsSingleUnit;const a=e.focus;const c=new Wb({boundaries:s_(a,o),singleCharacters:true,direction:o?"forward":"backward"});const l={walker:c,schema:i,isForward:o,unit:r,treatEmojiAsSingleUnit:s};let d;while(d=c.next()){if(d.done){return}const n=i_(l,d.value);if(n){if(e instanceof Ak){t.change((t=>{t.setSelectionFocus(n)}))}else{e.setFocus(n)}return}}}function i_(t,e){const{isForward:n,walker:i,unit:o,schema:r,treatEmojiAsSingleUnit:s}=t;const{type:a,item:c,nextPosition:l}=e;if(a=="text"){if(t.unit==="word"){return r_(i,n)}return o_(i,o,s)}if(a==(n?"elementStart":"elementEnd")){if(r.isSelectable(c)){return qb._createAt(c,n?"after":"before")}if(r.checkChild(l,"$text")){return l}}else{if(r.isLimit(c)){i.skip((()=>true));return}if(r.checkChild(l,"$text")){return l}}}function o_(t,e,n){const i=t.position.textNode;if(i){const o=i.data;let r=t.position.offset-i.startOffset;while(Dl(o,r)||e=="character"&&Tl(o,r)||n&&Sl(o,r)){t.next();r=t.position.offset-i.startOffset}}return t.position}function r_(t,e){let n=t.position.textNode;if(!n){n=e?t.position.nodeAfter:t.position.nodeBefore}while(n&&n.is("$text")){const i=t.position.offset-n.startOffset;if(c_(n,i,e)){n=e?t.position.nodeAfter:t.position.nodeBefore}else if(a_(n.data,i,e)){break}else{t.next()}}return t.position}function s_(t,e){const n=t.root;const i=qb._createAt(n,e?"end":0);if(e){return new Xb(t,i)}else{return new Xb(i,t)}}function a_(t,e,n){const i=e+(n?0:-1);return e_.includes(t.charAt(i))}function c_(t,e,n){return e===(n?t.offsetSize:0)}class l_ extends(gt()){constructor(){super();this.markers=new vC;this.document=new CC(this);this.schema=new Jw;this._pendingChanges=[];this._currentWriter=null;["deleteContent","modifySelection","getSelectedContent","applyOperation"].forEach((t=>this.decorate(t)));this.on("applyOperation",((t,e)=>{const n=e[0];n._validate()}),{priority:"highest"});this.schema.register("$root",{isLimit:true});this.schema.register("$container",{allowIn:["$root","$container"]});this.schema.register("$block",{allowIn:["$root","$container"],isBlock:true});this.schema.register("$blockObject",{allowWhere:"$block",isBlock:true,isObject:true});this.schema.register("$inlineObject",{allowWhere:"$text",allowAttributesOf:"$text",isInline:true,isObject:true});this.schema.register("$text",{allowIn:"$block",isInline:true,isContent:true});this.schema.register("$clipboardHolder",{allowContentOf:"$root",allowChildren:"$text",isLimit:true});this.schema.register("$documentFragment",{allowContentOf:"$root",allowChildren:"$text",isLimit:true});this.schema.register("$marker");this.schema.addChildCheck(((t,e)=>{if(e.name==="$marker"){return true}}));Rw(this);this.document.registerPostFixer(mw);this.on("insertContent",((t,[e,n])=>{t.return=QC(this,e,n)}));this.on("insertObject",((t,[e,n,i])=>{t.return=XC(this,e,n,i)}));this.on("canEditAt",(t=>{const e=!this.document.isReadOnly;t.return=e;if(!e){t.stop()}}))}change(t){try{if(this._pendingChanges.length===0){this._pendingChanges.push({batch:new gC,callback:t});return this._runPendingChanges()[0]}else{return t(this._currentWriter)}}catch(t){P.rethrowUnexpectedError(t,this)}}enqueueChange(t,e){try{if(!t){t=new gC}else if(typeof t==="function"){e=t;t=new gC}else if(!(t instanceof gC)){t=new gC(t)}this._pendingChanges.push({batch:t,callback:e});if(this._pendingChanges.length==1){this._runPendingChanges()}}catch(t){P.rethrowUnexpectedError(t,this)}}applyOperation(t){t._execute()}insertContent(t,e,n,...i){const o=d_(e,n);return this.fire("insertContent",[t,o,n,...i])}insertObject(t,e,n,i,...o){const r=d_(e,n);return this.fire("insertObject",[t,r,i,i,...o])}deleteContent(t,e){PC(this,t,e)}modifySelection(t,e){n_(this,t,e)}getSelectedContent(t){return KC(this,t)}hasContent(t,e={}){const n=t instanceof Xb?t:Xb._createIn(t);if(n.isCollapsed){return false}const{ignoreWhitespaces:i=false,ignoreMarkers:o=false}=e;if(!o){for(const t of this.markers.getMarkersIntersectingRange(n)){if(t.affectsData){return true}}}for(const t of n.getItems()){if(this.schema.isContent(t)){if(t.is("$textProxy")){if(!i){return true}else if(t.data.search(/\S/)!==-1){return true}}else{return true}}}return false}canEditAt(t){const e=d_(t);return this.fire("canEditAt",[e])}createPositionFromPath(t,e,n){return new qb(t,e,n)}createPositionAt(t,e){return qb._createAt(t,e)}createPositionAfter(t){return qb._createAfter(t)}createPositionBefore(t){return qb._createBefore(t)}createRange(t,e){return new Xb(t,e)}createRangeIn(t){return Xb._createIn(t)}createRangeOn(t){return Xb._createOn(t)}createSelection(...t){return new ak(...t)}createBatch(t){return new gC(t)}createOperationFromJSON(t){return YA.fromJSON(t,this.document)}destroy(){this.document.destroy();this.stopListening()}_runPendingChanges(){const t=[];this.fire("_beforeChanges");try{while(this._pendingChanges.length){const e=this._pendingChanges[0].batch;this._currentWriter=new TC(this,e);const n=this._pendingChanges[0].callback(this._currentWriter);t.push(n);this.document._handleChangeBlock(this._currentWriter);this._pendingChanges.shift();this._currentWriter=null}}finally{this._pendingChanges.length=0;this._currentWriter=null;this.fire("_afterChanges")}return t}}function d_(t,e){if(!t){return}if(t instanceof ak||t instanceof Ak){return t}if(t instanceof Rb){if(e||e===0){return new ak(t,e)}else if(t.is("rootElement")){return new ak(t,"in")}else{return new ak(t,"on")}}return new ak(t)}class u_ extends tp{constructor(){super(...arguments);this.domEventType="click"}onDomEvent(t){this.fire(t.type,t)}}class h_ extends tp{constructor(){super(...arguments);this.domEventType=["mousedown","mouseup","mouseover","mouseout"]}onDomEvent(t){this.fire(t.type,t)}}class g_{constructor(t){this.document=t}createDocumentFragment(t){return new tm(this.document,t)}createElement(t,e,n){return new bf(this.document,t,e,n)}createText(t){return new ph(this.document,t)}clone(t,e=false){return t._clone(e)}appendChild(t,e){return e._appendChild(t)}insertChild(t,e,n){return n._insertChild(t,e)}removeChildren(t,e,n){return n._removeChildren(t,e)}remove(t){const e=t.parent;if(e){return this.removeChildren(e.getChildIndex(t),1,e)}return[]}replace(t,e){const n=t.parent;if(n){const i=n.getChildIndex(t);this.removeChildren(i,1,n);this.insertChild(i,e,n);return true}return false}unwrapElement(t){const e=t.parent;if(e){const n=e.getChildIndex(t);this.remove(t);this.insertChild(n,t.getChildren(),e)}}rename(t,e){const n=new bf(this.document,t,e.getAttributes(),e.getChildren());return this.replace(e,n)?n:null}setAttribute(t,e,n){n._setAttribute(t,e)}removeAttribute(t,e){e._removeAttribute(t)}addClass(t,e){e._addClass(t)}removeClass(t,e){e._removeClass(t)}setStyle(t,e,n){if(me(t)&&n===undefined){e._setStyle(t)}else{n._setStyle(t,e)}}removeStyle(t,e){e._removeStyle(t)}setCustomProperty(t,e,n){n._setCustomProperty(t,e)}removeCustomProperty(t,e){return e._removeCustomProperty(t)}createPositionAt(t,e){return Df._createAt(t,e)}createPositionAfter(t){return Df._createAfter(t)}createPositionBefore(t){return Df._createBefore(t)}createRange(t,e){return new Tf(t,e)}createRangeOn(t){return Tf._createOn(t)}createRangeIn(t){return Tf._createIn(t)}createSelection(...t){return new Sf(...t)}}const f_=/^#([0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/i;const m_=/^rgb\([ ]?([0-9]{1,3}[ %]?,[ ]?){2,3}[0-9]{1,3}[ %]?\)$/i;const p_=/^rgba\([ ]?([0-9]{1,3}[ %]?,[ ]?){3}(1|[0-9]+%|[0]?\.?[0-9]+)\)$/i;const b_=/^hsl\([ ]?([0-9]{1,3}[ %]?[,]?[ ]*){3}(1|[0-9]+%|[0]?\.?[0-9]+)?\)$/i;const k_=/^hsla\([ ]?([0-9]{1,3}[ %]?,[ ]?){2,3}(1|[0-9]+%|[0]?\.?[0-9]+)\)$/i;const w_=/\w+\((?:[^()]|\([^()]*\))*\)|\S+/gi;const A_=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 C_(t){if(t.startsWith("#")){return f_.test(t)}if(t.startsWith("rgb")){return m_.test(t)||p_.test(t)}if(t.startsWith("hsl")){return b_.test(t)||k_.test(t)}return A_.has(t.toLowerCase())}const __=null&&["none","hidden","dotted","dashed","solid","double","groove","ridge","inset","outset"];function v_(t){return __.includes(t)}const y_=/^([+-]?[0-9]*([.][0-9]+)?(px|cm|mm|in|pc|pt|ch|em|ex|rem|vh|vw|vmin|vmax)|0)$/;function x_(t){return y_.test(t)}const E_=/^[+-]?[0-9]*([.][0-9]+)?%$/;function D_(t){return E_.test(t)}const T_=null&&["repeat-x","repeat-y","repeat","space","round","no-repeat"];function I_(t){return T_.includes(t)}const S_=null&&["center","top","bottom","left","right"];function B_(t){return S_.includes(t)}const M_=null&&["fixed","scroll","local"];function N_(t){return M_.includes(t)}const P_=/^url\(/;function L_(t){return P_.test(t)}function z_(t=""){if(t===""){return{top:undefined,right:undefined,bottom:undefined,left:undefined}}const e=F_(t);const n=e[0];const i=e[2]||n;const o=e[1]||n;const r=e[3]||o;return{top:n,bottom:i,right:o,left:r}}function V_(t){return e=>{const{top:n,right:i,bottom:o,left:r}=e;const s=[];if(![n,i,r,o].every((t=>!!t))){if(n){s.push([t+"-top",n])}if(i){s.push([t+"-right",i])}if(o){s.push([t+"-bottom",o])}if(r){s.push([t+"-left",r])}}else{s.push([t,R_(e)])}return s}}function R_({top:t,right:e,bottom:n,left:i}){const o=[];if(i!==e){o.push(t,e,n,i)}else if(n!==t){o.push(t,e,n)}else if(e!==t){o.push(t,e)}else{o.push(t)}return o.join(" ")}function O_(t){return e=>({path:t,value:z_(e)})}function F_(t){const e=t.matchAll(w_);return Array.from(e).map((t=>t[0]))}function j_(t){t.setNormalizer("background",H_());t.setNormalizer("background-color",U_());t.setReducer("background",W_());t.setStyleRelation("background",["background-color"])}function H_(){return t=>{const e={};const n=getShorthandValues(t);for(const t of n){if(isRepeat(t)){e.repeat=e.repeat||[];e.repeat.push(t)}else if(isPosition(t)){e.position=e.position||[];e.position.push(t)}else if(isAttachment(t)){e.attachment=t}else if(isColor(t)){e.color=t}else if(isURL(t)){e.image=t}}return{path:"background",value:e}}}function U_(){return t=>({path:"background.color",value:t})}function W_(){return t=>{const e=[];e.push(["background-color",t.color]);return e}}function G_(t){t.setNormalizer("border",q_());t.setNormalizer("border-top",Z_("top"));t.setNormalizer("border-right",Z_("right"));t.setNormalizer("border-bottom",Z_("bottom"));t.setNormalizer("border-left",Z_("left"));t.setNormalizer("border-color",$_("color"));t.setNormalizer("border-width",$_("width"));t.setNormalizer("border-style",$_("style"));t.setNormalizer("border-top-color",Y_("color","top"));t.setNormalizer("border-top-style",Y_("style","top"));t.setNormalizer("border-top-width",Y_("width","top"));t.setNormalizer("border-right-color",Y_("color","right"));t.setNormalizer("border-right-style",Y_("style","right"));t.setNormalizer("border-right-width",Y_("width","right"));t.setNormalizer("border-bottom-color",Y_("color","bottom"));t.setNormalizer("border-bottom-style",Y_("style","bottom"));t.setNormalizer("border-bottom-width",Y_("width","bottom"));t.setNormalizer("border-left-color",Y_("color","left"));t.setNormalizer("border-left-style",Y_("style","left"));t.setNormalizer("border-left-width",Y_("width","left"));t.setExtractor("border-top",Q_("top"));t.setExtractor("border-right",Q_("right"));t.setExtractor("border-bottom",Q_("bottom"));t.setExtractor("border-left",Q_("left"));t.setExtractor("border-top-color","border.color.top");t.setExtractor("border-right-color","border.color.right");t.setExtractor("border-bottom-color","border.color.bottom");t.setExtractor("border-left-color","border.color.left");t.setExtractor("border-top-width","border.width.top");t.setExtractor("border-right-width","border.width.right");t.setExtractor("border-bottom-width","border.width.bottom");t.setExtractor("border-left-width","border.width.left");t.setExtractor("border-top-style","border.style.top");t.setExtractor("border-right-style","border.style.right");t.setExtractor("border-bottom-style","border.style.bottom");t.setExtractor("border-left-style","border.style.left");t.setReducer("border-color",getBoxSidesValueReducer("border-color"));t.setReducer("border-style",getBoxSidesValueReducer("border-style"));t.setReducer("border-width",getBoxSidesValueReducer("border-width"));t.setReducer("border-top",ev("top"));t.setReducer("border-right",ev("right"));t.setReducer("border-bottom",ev("bottom"));t.setReducer("border-left",ev("left"));t.setReducer("border",tv());t.setStyleRelation("border",["border-color","border-style","border-width","border-top","border-right","border-bottom","border-left","border-top-color","border-right-color","border-bottom-color","border-left-color","border-top-style","border-right-style","border-bottom-style","border-left-style","border-top-width","border-right-width","border-bottom-width","border-left-width"]);t.setStyleRelation("border-color",["border-top-color","border-right-color","border-bottom-color","border-left-color"]);t.setStyleRelation("border-style",["border-top-style","border-right-style","border-bottom-style","border-left-style"]);t.setStyleRelation("border-width",["border-top-width","border-right-width","border-bottom-width","border-left-width"]);t.setStyleRelation("border-top",["border-top-color","border-top-style","border-top-width"]);t.setStyleRelation("border-right",["border-right-color","border-right-style","border-right-width"]);t.setStyleRelation("border-bottom",["border-bottom-color","border-bottom-style","border-bottom-width"]);t.setStyleRelation("border-left",["border-left-color","border-left-style","border-left-width"])}function q_(){return t=>{const{color:e,style:n,width:i}=X_(t);return{path:"border",value:{color:getBoxSidesValues(e),style:getBoxSidesValues(n),width:getBoxSidesValues(i)}}}}function Z_(t){return e=>{const{color:n,style:i,width:o}=X_(e);const r={};if(n!==undefined){r.color={[t]:n}}if(i!==undefined){r.style={[t]:i}}if(o!==undefined){r.width={[t]:o}}return{path:"border",value:r}}}function $_(t){return e=>({path:"border",value:K_(e,t)})}function K_(t,e){return{[e]:getBoxSidesValues(t)}}function Y_(t,e){return n=>({path:"border",value:{[t]:{[e]:n}}})}function Q_(t){return(e,n)=>{if(n.border){return J_(n.border,t)}}}function J_(t,e){const n={};if(t.width&&t.width[e]){n.width=t.width[e]}if(t.style&&t.style[e]){n.style=t.style[e]}if(t.color&&t.color[e]){n.color=t.color[e]}return n}function X_(t){const e={};const n=getShorthandValues(t);for(const t of n){if(isLength(t)||/thin|medium|thick/.test(t)){e.width=t}else if(isLineStyle(t)){e.style=t}else{e.color=t}}return e}function tv(){return e=>{const n=J_(e,"top");const i=J_(e,"right");const o=J_(e,"bottom");const r=J_(e,"left");const s=[n,i,o,r];const a={width:t(s,"width"),style:t(s,"style"),color:t(s,"color")};const c=nv(a,"all");if(c.length){return c}const l=Object.entries(a).reduce(((t,[e,n])=>{if(n){t.push([`border-${e}`,n]);s.forEach((t=>delete t[e]))}return t}),[]);return[...l,...nv(n,"top"),...nv(i,"right"),...nv(o,"bottom"),...nv(r,"left")]};function t(t,e){return t.map((t=>t[e])).reduce(((t,e)=>t==e?t:null))}}function ev(t){return e=>nv(e,t)}function nv(t,e){const n=[];if(t&&t.width){n.push("width")}if(t&&t.style){n.push("style")}if(t&&t.color){n.push("color")}if(n.length==3){const i=n.map((e=>t[e])).join(" ");return[e=="all"?["border",i]:[`border-${e}`,i]]}if(e=="all"){return[]}return n.map((n=>[`border-${e}-${n}`,t[n]]))}function iv(t){t.setNormalizer("margin",getPositionShorthandNormalizer("margin"));t.setNormalizer("margin-top",(t=>({path:"margin.top",value:t})));t.setNormalizer("margin-right",(t=>({path:"margin.right",value:t})));t.setNormalizer("margin-bottom",(t=>({path:"margin.bottom",value:t})));t.setNormalizer("margin-left",(t=>({path:"margin.left",value:t})));t.setReducer("margin",getBoxSidesValueReducer("margin"));t.setStyleRelation("margin",["margin-top","margin-right","margin-bottom","margin-left"])}function ov(t){t.setNormalizer("padding",getPositionShorthandNormalizer("padding"));t.setNormalizer("padding-top",(t=>({path:"padding.top",value:t})));t.setNormalizer("padding-right",(t=>({path:"padding.right",value:t})));t.setNormalizer("padding-bottom",(t=>({path:"padding.bottom",value:t})));t.setNormalizer("padding-left",(t=>({path:"padding.left",value:t})));t.setReducer("padding",getBoxSidesValueReducer("padding"));t.setStyleRelation("padding",["padding-top","padding-right","padding-bottom","padding-left"])}class rv{constructor(){this._commands=new Map}add(t,e){this._commands.set(t,e)}get(t){return this._commands.get(t)}execute(t,...e){const n=this.get(t);if(!n){throw new P("commandcollection-command-not-found",this,{commandName:t})}return n.execute(...e)}*names(){yield*this._commands.keys()}*commands(){yield*this._commands.values()}[Symbol.iterator](){return this._commands[Symbol.iterator]()}destroy(){for(const t of this.commands()){t.destroy()}}}class sv extends bl{constructor(t){super();this.editor=t}set(t,e,n={}){if(typeof e=="string"){const t=e;e=(e,n)=>{this.editor.execute(t);n()}}super.set(t,e,n)}}class av extends(gt()){constructor(t={}){super();const e=this.constructor;const n=t.language||e.defaultConfig&&e.defaultConfig.language;this._context=t.context||new $u({language:n});this._context._addEditor(this,!t.context);const i=Array.from(e.builtinPlugins||[]);this.config=new Ga(t,e.defaultConfig);this.config.define("plugins",i);this.config.define(this._context._getEditorConfig());this.plugins=new Zu(this,i,this._context.plugins);this.locale=this._context.locale;this.t=this.locale.t;this._readOnlyLocks=new Set;this.commands=new rv;this.set("state","initializing");this.once("ready",(()=>this.state="ready"),{priority:"high"});this.once("destroy",(()=>this.state="destroyed"),{priority:"high"});this.model=new l_;this.on("change:isReadOnly",(()=>{this.model.document.isReadOnly=this.isReadOnly}));const o=new gf;this.data=new vA(this.model,o);this.editing=new Zw(this.model,o);this.editing.view.document.bind("isReadOnly").to(this);this.conversion=new xA([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 sv(this);this.keystrokes.listenTo(this.editing.view.document)}get isReadOnly(){return this._readOnlyLocks.size>0}set isReadOnly(t){throw new P("editor-isreadonly-has-no-setter")}enableReadOnlyMode(t){if(typeof t!=="string"&&typeof t!=="symbol"){throw new P("editor-read-only-lock-id-invalid",null,{lockId:t})}if(this._readOnlyLocks.has(t)){return}this._readOnlyLocks.add(t);if(this._readOnlyLocks.size===1){this.fire("change:isReadOnly","isReadOnly",true,false)}}disableReadOnlyMode(t){if(typeof t!=="string"&&typeof t!=="symbol"){throw new P("editor-read-only-lock-id-invalid",null,{lockId:t})}if(!this._readOnlyLocks.has(t)){return}this._readOnlyLocks.delete(t);if(this._readOnlyLocks.size===0){this.fire("change:isReadOnly","isReadOnly",false,true)}}initPlugins(){const t=this.config;const e=t.get("plugins");const n=t.get("removePlugins")||[];const i=t.get("extraPlugins")||[];const o=t.get("substitutePlugins")||[];return this.plugins.init(e.concat(i),n,o)}destroy(){let t=Promise.resolve();if(this.state=="initializing"){t=new Promise((t=>this.once("ready",t)))}return t.then((()=>{this.fire("destroy");this.stopListening();this.commands.destroy()})).then((()=>this.plugins.destroy())).then((()=>{this.model.destroy();this.data.destroy();this.editing.destroy();this.keystrokes.destroy()})).then((()=>this._context._removeEditor(this)))}execute(t,...e){try{return this.commands.execute(t,...e)}catch(t){P.rethrowUnexpectedError(t,this)}}focus(){this.editing.view.focus()}static create(...t){throw new Error("This is an abstract method.")}}function cv(t){if(!Ze(t.updateSourceElement)){throw new P("attachtoform-missing-elementapi-interface",t)}const e=t.sourceElement;if(lv(e)&&e.form){let n;const i=e.form;const o=()=>t.updateSourceElement();if(Ze(i.submit)){n=i.submit;i.submit=()=>{o();n.apply(i)}}i.addEventListener("submit",o);t.on("destroy",(()=>{i.removeEventListener("submit",o);if(n){i.submit=n}}))}}function lv(t){return!!t&&t.tagName.toLowerCase()==="textarea"}function dv(t){class e extends t{setData(t){this.data.set(t)}getData(t){return this.data.get(t)}}return e}{const t=dv(Object);dv.setData=t.prototype.setData;dv.getData=t.prototype.getData}function uv(t){class e extends t{updateSourceElement(t){if(!this.sourceElement){throw new P("editor-missing-sourceelement",this)}const e=this.config.get("updateSourceElementOnDestroy");const n=this.sourceElement instanceof HTMLTextAreaElement;if(!e&&!n){Ac(this.sourceElement,"");return}const i=typeof t==="string"?t:this.data.get();Ac(this.sourceElement,i)}}return e}uv.updateSourceElement=uv(Object).prototype.updateSourceElement;function hv(t,e){if(e.ckeditorInstance){throw new CKEditorError("editor-source-element-already-used",t)}e.ckeditorInstance=t;t.once("destroy",(()=>{delete e.ckeditorInstance}))}class gv extends Ku{static get pluginName(){return"PendingActions"}init(){this.set("hasAny",false);this._actions=new fl({idProperty:"_id"});this._actions.delegate("add","remove").to(this)}add(t){if(typeof t!=="string"){throw new P("pendingactions-add-invalid-message",this)}const e=new(gt());e.set("message",t);this._actions.add(e);this.hasAny=true;return e}remove(t){this._actions.remove(t);this.hasAny=!!this._actions.length}get first(){return this._actions.get(0)}[Symbol.iterator](){return this._actions[Symbol.iterator]()}}const fv='';const mv='';const pv='';const bv='';const kv='';const wv='';const Av='';const Cv='';const _v='';const vv='';const yv='';const xv='';const Ev='';const Dv='';const Tv='';const Iv='';const Sv='';const Bv='';const Mv='';const Nv='';const Pv='';const Lv='';const zv='';const Vv='';const Rv='';const Ov='';const Fv='';const jv='';const Hv='';const Uv='';const Wv='';const Gv='';const qv='';const Zv='';const $v='';const Kv='';const Yv='';const Qv='';const Jv='';const Xv='';const ty='';const ey='';const ny='';const iy='';const oy='';const ry='';const sy='';const ay='';const cy='';const ly='';const dy='';const uy='';const hy='';const gy='';const fy='';const my='';const py='';const by='';const ky='';const wy='';const Ay='';const Cy='';const _y={bold:Xv,cancel:fv,caption:mv,check:pv,cog:bv,colorPalette:kv,eraser:wv,history:Av,image:Ev,imageUpload:Dv,imageAssetManager:Tv,imageUrl:Iv,lowVision:Cv,textAlternative:_v,loupe:vv,previousArrow:yv,nextArrow:xv,importExport:iy,paragraph:ty,plus:ey,text:ny,alignBottom:Sv,alignMiddle:Bv,alignTop:Mv,alignLeft:Nv,alignCenter:Pv,alignRight:Lv,alignJustify:zv,objectLeft:Hv,objectCenter:Rv,objectRight:Uv,objectFullWidth:Fv,objectInline:jv,objectBlockLeft:Vv,objectBlockRight:Ov,objectSizeFull:Wv,objectSizeLarge:Gv,objectSizeSmall:qv,objectSizeMedium:Zv,pencil:$v,pilcrow:Kv,quote:Yv,threeVerticalDots:Qv,dragIndicator:Jv,redo:oy,undo:ry,bulletedList:sy,numberedList:ay,todoList:cy,codeBlock:ly,browseFiles:dy,heading1:uy,heading2:hy,heading3:gy,heading4:fy,heading5:my,heading6:py,horizontalLine:by,html:ky,indent:wy,outdent:Ay,table:Cy};var vy=n(4768);var yy={injectType:"singletonStyleTag",attributes:{"data-cke":true}};yy.insert="head";yy.singleton=true;var xy=Ll()(vy.Z,yy);const Ey=vy.Z.locals||{};const{threeVerticalDots:Dy}=_y;const Ty={alignLeft:_y.alignLeft,bold:_y.bold,importExport:_y.importExport,paragraph:_y.paragraph,plus:_y.plus,text:_y.text,threeVerticalDots:_y.threeVerticalDots,pilcrow:_y.pilcrow,dragIndicator:_y.dragIndicator};class Iy extends Fl{constructor(t,e){super(t);const n=this.bindTemplate;const i=this.t;this.options=e||{};this.set("ariaLabel",i("Editor toolbar"));this.set("maxWidth","auto");this.items=this.createCollection();this.focusTracker=new pl;this.keystrokes=new bl;this.set("class",undefined);this.set("isCompact",false);this.itemsView=new Sy(t);this.children=this.createCollection();this.children.add(this.itemsView);this.focusables=this.createCollection();const o=t.uiLanguageDirection==="rtl";this._focusCycler=new Pu({focusables:this.focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:[o?"arrowright":"arrowleft","arrowup"],focusNext:[o?"arrowleft":"arrowright","arrowdown"]}});const r=["ck","ck-toolbar",n.to("class"),n.if("isCompact","ck-toolbar_compact")];if(this.options.shouldGroupWhenFull&&this.options.isFloating){r.push("ck-toolbar_floating")}this.setTemplate({tag:"div",attributes:{class:r,role:"toolbar","aria-label":n.to("ariaLabel"),style:{maxWidth:n.to("maxWidth")},tabindex:-1},children:this.children,on:{mousedown:Fu(this)}});this._behavior=this.options.shouldGroupWhenFull?new My(this):new By(this)}render(){super.render();this.focusTracker.add(this.element);for(const t of this.items){this.focusTracker.add(t.element)}this.items.on("add",((t,e)=>{this.focusTracker.add(e.element)}));this.items.on("remove",((t,e)=>{this.focusTracker.remove(e.element)}));this.keystrokes.listenTo(this.element);this._behavior.render(this)}destroy(){this._behavior.destroy();this.focusTracker.destroy();this.keystrokes.destroy();return super.destroy()}focus(){this._focusCycler.focusFirst()}focusLast(){this._focusCycler.focusLast()}fillFromConfig(t,e,n){this.items.addMany(this._buildItemsFromConfig(t,e,n))}_buildItemsFromConfig(t,e,n){const i=ju(t);const o=n||i.removeItems;const r=this._cleanItemsConfiguration(i.items,e,o).map((t=>{if(st(t)){return this._createNestedToolbarDropdown(t,e,o)}else if(t==="|"){return new Ru}else if(t==="-"){return new Ou}return e.create(t)})).filter((t=>!!t));return r}_cleanItemsConfiguration(t,e,n){const i=t.filter(((t,i,o)=>{if(t==="|"){return true}if(n.indexOf(t)!==-1){return false}if(t==="-"){if(this.options.shouldGroupWhenFull){L("toolbarview-line-break-ignored-when-grouping-items",o);return false}return true}if(!st(t)&&!e.has(t)){L("toolbarview-item-unavailable",{item:t});return false}return true}));return this._cleanSeparatorsAndLineBreaks(i)}_cleanSeparatorsAndLineBreaks(t){const e=t=>t!=="-"&&t!=="|";const n=t.length;const i=t.findIndex(e);if(i===-1){return[]}const o=n-t.slice().reverse().findIndex(e);return t.slice(i,o).filter(((t,n,i)=>{if(e(t)){return true}const o=n>0&&i[n-1]===t;return!o}))}_createNestedToolbarDropdown(t,e,n){let{label:i,icon:o,items:r,tooltip:s=true,withText:a=false}=t;r=this._cleanItemsConfiguration(r,e,n);if(!r.length){return null}const c=this.locale;const l=tx(c);if(!i){L("toolbarview-nested-toolbar-dropdown-missing-label",t)}l.class="ck-toolbar__nested-toolbar-dropdown";l.buttonView.set({label:i,tooltip:s,withText:!!a});if(o!==false){l.buttonView.icon=Ty[o]||o||Dy}else{l.buttonView.withText=true}ex(l,(()=>l.toolbarView._buildItemsFromConfig(r,e,n)));return l}}class Sy extends Fl{constructor(t){super(t);this.children=this.createCollection();this.setTemplate({tag:"div",attributes:{class:["ck","ck-toolbar__items"]},children:this.children})}}class By{constructor(t){const e=t.bindTemplate;t.set("isVertical",false);t.itemsView.children.bindTo(t.items).using((t=>t));t.focusables.bindTo(t.items).using((t=>zu(t)?t:null));t.extendTemplate({attributes:{class:[e.if("isVertical","ck-toolbar_vertical")]}})}render(){}destroy(){}}class My{constructor(t){this.resizeObserver=null;this.cachedPadding=null;this.shouldUpdateGroupingOnNextResize=false;this.view=t;this.viewChildren=t.children;this.viewFocusables=t.focusables;this.viewItemsView=t.itemsView;this.viewFocusTracker=t.focusTracker;this.viewLocale=t.locale;this.ungroupedItems=t.createCollection();this.groupedItems=t.createCollection();this.groupedItemsDropdown=this._createGroupedItemsDropdown();t.itemsView.children.bindTo(this.ungroupedItems).using((t=>t));this.ungroupedItems.on("change",this._updateFocusCyclableItems.bind(this));t.children.on("change",this._updateFocusCyclableItems.bind(this));t.items.on("change",((t,e)=>{const n=e.index;const i=Array.from(e.added);for(const t of e.removed){if(n>=this.ungroupedItems.length){this.groupedItems.remove(t)}else{this.ungroupedItems.remove(t)}}for(let t=n;tthis.ungroupedItems.length){this.groupedItems.add(e,t-this.ungroupedItems.length)}else{this.ungroupedItems.add(e,t)}}this._updateGrouping()}));t.extendTemplate({attributes:{class:["ck-toolbar_grouping"]}})}render(t){this.viewElement=t.element;this._enableGroupingOnResize();this._enableGroupingOnMaxWidthChange(t)}destroy(){this.groupedItemsDropdown.destroy();this.resizeObserver.destroy()}_updateGrouping(){if(!this.viewElement.ownerDocument.body.contains(this.viewElement)){return}if(!Ec(this.viewElement)){this.shouldUpdateGroupingOnNextResize=true;return}const t=this.groupedItems.length;let e;while(this._areItemsOverflowing){this._groupLastItem();e=true}if(!e&&this.groupedItems.length){while(this.groupedItems.length&&!this._areItemsOverflowing){this._ungroupFirstItem()}if(this._areItemsOverflowing){this._groupLastItem()}}if(this.groupedItems.length!==t){this.view.fire("groupedItemsUpdate")}}get _areItemsOverflowing(){if(!this.ungroupedItems.length){return false}const t=this.viewElement;const e=this.viewLocale.uiLanguageDirection;const n=new uc(t.lastChild);const i=new uc(t);if(!this.cachedPadding){const n=nc.window.getComputedStyle(t);const i=e==="ltr"?"paddingRight":"paddingLeft";this.cachedPadding=Number.parseInt(n[i])}if(e==="ltr"){return n.right>i.right-this.cachedPadding}else{return n.left{if(!t||t!==e.contentRect.width||this.shouldUpdateGroupingOnNextResize){this.shouldUpdateGroupingOnNextResize=false;this._updateGrouping();t=e.contentRect.width}}));this._updateGrouping()}_enableGroupingOnMaxWidthChange(t){t.on("change:maxWidth",(()=>{this._updateGrouping()}))}_groupLastItem(){if(!this.groupedItems.length){this.viewChildren.add(new Ru);this.viewChildren.add(this.groupedItemsDropdown);this.viewFocusTracker.add(this.groupedItemsDropdown.element)}this.groupedItems.add(this.ungroupedItems.remove(this.ungroupedItems.last),0)}_ungroupFirstItem(){this.ungroupedItems.add(this.groupedItems.remove(this.groupedItems.first));if(!this.groupedItems.length){this.viewChildren.remove(this.groupedItemsDropdown);this.viewChildren.remove(this.viewChildren.last);this.viewFocusTracker.remove(this.groupedItemsDropdown.element)}}_createGroupedItemsDropdown(){const t=this.viewLocale;const e=t.t;const n=tx(t);n.class="ck-toolbar__grouped-dropdown";n.panelPosition=t.uiLanguageDirection==="ltr"?"sw":"se";ex(n,this.groupedItems);n.buttonView.set({label:e("Show more items"),tooltip:true,tooltipPosition:t.uiLanguageDirection==="rtl"?"se":"sw",icon:Dy});return n}_updateFocusCyclableItems(){this.viewFocusables.clear();this.ungroupedItems.map((t=>{if(zu(t)){this.viewFocusables.add(t)}}));if(this.groupedItems.length){this.viewFocusables.add(this.groupedItemsDropdown)}}}class Ny extends Fl{constructor(t){super(t);const e=this.bindTemplate;this.set("isVisible",true);this.children=this.createCollection();this.setTemplate({tag:"li",attributes:{class:["ck","ck-list__item",e.if("isVisible","ck-hidden",(t=>!t))],role:"presentation"},children:this.children})}focus(){if(this.children.first){this.children.first.focus()}}}class Py extends Fl{constructor(t){super(t);this.setTemplate({tag:"li",attributes:{class:["ck","ck-list__separator"]}})}}class Ly extends Fl{constructor(t,e=new ru){super(t);const n=this.bindTemplate;const i=new Fy(t);this.set({label:"",isVisible:true});this.labelView=e;this.labelView.bind("text").to(this,"label");this.children=this.createCollection();this.children.addMany([this.labelView,i]);i.set({role:"group",ariaLabelledBy:e.id});i.focusTracker.destroy();i.keystrokes.destroy();this.items=i.items;this.setTemplate({tag:"li",attributes:{role:"presentation",class:["ck","ck-list__group",n.if("isVisible","ck-hidden",(t=>!t))]},children:this.children})}focus(){if(this.items){const t=this.items.find((t=>!(t instanceof Py)));if(t){t.focus()}}}}var zy=n(179);var Vy={injectType:"singletonStyleTag",attributes:{"data-cke":true}};Vy.insert="head";Vy.singleton=true;var Ry=Ll()(zy.Z,Vy);const Oy=zy.Z.locals||{};class Fy extends Fl{constructor(t){super(t);this._listItemGroupToChangeListeners=new WeakMap;const e=this.bindTemplate;this.focusables=new Ml;this.items=this.createCollection();this.focusTracker=new pl;this.keystrokes=new bl;this._focusCycler=new Pu({focusables:this.focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"arrowup",focusNext:"arrowdown"}});this.set("ariaLabel",undefined);this.set("ariaLabelledBy",undefined);this.set("role",undefined);this.setTemplate({tag:"ul",attributes:{class:["ck","ck-reset","ck-list"],role:e.to("role"),"aria-label":e.to("ariaLabel"),"aria-labelledby":e.to("ariaLabelledBy")},children:this.items})}render(){super.render();for(const t of this.items){if(t instanceof Ly){this._registerFocusableItemsGroup(t)}else if(t instanceof Ny){this._registerFocusableListItem(t)}}this.items.on("change",((t,e)=>{for(const t of e.removed){if(t instanceof Ly){this._deregisterFocusableItemsGroup(t)}else{this._deregisterFocusableListItem(t)}}for(const t of Array.from(e.added).reverse()){if(t instanceof Ly){this._registerFocusableItemsGroup(t,e.index)}else{this._registerFocusableListItem(t,e.index)}}}));this.keystrokes.listenTo(this.element)}destroy(){super.destroy();this.focusTracker.destroy();this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}focusFirst(){this._focusCycler.focusFirst()}focusLast(){this._focusCycler.focusLast()}_registerFocusableListItem(t,e){this.focusTracker.add(t.element);this.focusables.add(t,e)}_deregisterFocusableListItem(t){this.focusTracker.remove(t.element);this.focusables.remove(t)}_getOnGroupItemsChangeCallback(t){return(e,n)=>{for(const t of n.removed){this._deregisterFocusableListItem(t)}for(const e of Array.from(n.added).reverse()){this._registerFocusableListItem(e,this.items.getIndex(t)+n.index)}}}_registerFocusableItemsGroup(t,e){Array.from(t.items).forEach(((t,n)=>{const i=typeof e!=="undefined"?e+n:undefined;this._registerFocusableListItem(t,i)}));const n=this._getOnGroupItemsChangeCallback(t);this._listItemGroupToChangeListeners.set(t,n);t.items.on("change",n)}_deregisterFocusableItemsGroup(t){for(const e of t.items){this._deregisterFocusableListItem(e)}t.items.off("change",this._listItemGroupToChangeListeners.get(t));this._listItemGroupToChangeListeners.delete(t)}}var jy=n(4791);var Hy={injectType:"singletonStyleTag",attributes:{"data-cke":true}};Hy.insert="head";Hy.singleton=true;var Uy=Ll()(jy.Z,Hy);const Wy=jy.Z.locals||{};class Gy extends Fl{constructor(t,e){super(t);const n=this.bindTemplate;this.set("class",undefined);this.set("labelStyle",undefined);this.set("icon",undefined);this.set("isEnabled",true);this.set("isOn",false);this.set("isToggleable",false);this.set("isVisible",true);this.set("keystroke",undefined);this.set("withKeystroke",false);this.set("label",undefined);this.set("tabindex",-1);this.set("tooltip",false);this.set("tooltipPosition","s");this.set("type","button");this.set("withText",false);this.children=this.createCollection();this.actionView=this._createActionView(e);this.arrowView=this._createArrowView();this.keystrokes=new bl;this.focusTracker=new pl;this.setTemplate({tag:"div",attributes:{class:["ck","ck-splitbutton",n.to("class"),n.if("isVisible","ck-hidden",(t=>!t)),this.arrowView.bindTemplate.if("isOn","ck-splitbutton_open")]},children:this.children})}render(){super.render();this.children.add(this.actionView);this.children.add(this.arrowView);this.focusTracker.add(this.actionView.element);this.focusTracker.add(this.arrowView.element);this.keystrokes.listenTo(this.element);this.keystrokes.set("arrowright",((t,e)=>{if(this.focusTracker.focusedElement===this.actionView.element){this.arrowView.focus();e()}}));this.keystrokes.set("arrowleft",((t,e)=>{if(this.focusTracker.focusedElement===this.arrowView.element){this.actionView.focus();e()}}))}destroy(){super.destroy();this.focusTracker.destroy();this.keystrokes.destroy()}focus(){this.actionView.focus()}_createActionView(t){const e=t||new Dd;if(!t){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);return e}_createArrowView(){const t=new Dd;const e=t.bindTemplate;t.icon=Nd;t.extendTemplate({attributes:{class:["ck-splitbutton__arrow"],"data-cke-tooltip-disabled":e.to("isOn"),"aria-haspopup":true,"aria-expanded":e.to("isOn",(t=>String(t)))}});t.bind("isEnabled").to(this);t.bind("label").to(this);t.bind("tooltip").to(this);t.delegate("execute").to(this,"open");return t}}var qy=n(2704);var Zy={injectType:"singletonStyleTag",attributes:{"data-cke":true}};Zy.insert="head";Zy.singleton=true;var $y=Ll()(qy.Z,Zy);const Ky=qy.Z.locals||{};var Yy=n(1883);var Qy={injectType:"singletonStyleTag",attributes:{"data-cke":true}};Qy.insert="head";Qy.singleton=true;var Jy=Ll()(Yy.Z,Qy);const Xy=Yy.Z.locals||{};function tx(t,e=Nu){const n=typeof e=="function"?new e(t):e;const i=new Eu(t);const o=new Mu(t,n,i);n.bind("isEnabled").to(o);if(n instanceof Gy){n.arrowView.bind("isOn").to(o,"isOpen")}else{n.bind("isOn").to(o,"isOpen")}sx(o);return o}function ex(t,e,n={}){t.extendTemplate({attributes:{class:["ck-toolbar-dropdown"]}});if(t.isOpen){nx(t,e,n)}else{t.once("change:isOpen",(()=>nx(t,e,n)),{priority:"highest"})}if(n.enableActiveItemFocusOnDropdownOpen){rx(t,(()=>t.toolbarView.items.find((t=>t.isOn))))}}function nx(t,e,n){const i=t.locale;const o=i.t;const r=t.toolbarView=new Iy(i);const s=typeof e=="function"?e():e;r.ariaLabel=n.ariaLabel||o("Dropdown toolbar");if(n.maxWidth){r.maxWidth=n.maxWidth}if(n.class){r.class=n.class}if(n.isCompact){r.isCompact=n.isCompact}if(n.isVertical){r.isVertical=true}if(s instanceof Ml){r.items.bindTo(s).using((t=>t))}else{r.items.addMany(s)}t.panelView.children.add(r);r.items.delegate("execute").to(t)}function ix(t,e,n={}){if(t.isOpen){ox(t,e,n)}else{t.once("change:isOpen",(()=>ox(t,e,n)),{priority:"highest"})}rx(t,(()=>t.listView.items.find((t=>{if(t instanceof Ny){return t.children.first.isOn}return false}))))}function ox(t,e,n){const i=t.locale;const o=t.listView=new Fy(i);const r=typeof e=="function"?e():e;o.ariaLabel=n.ariaLabel;o.role=n.role;gx(t,o.items,r,i);t.panelView.children.add(o);o.items.delegate("execute").to(t)}function rx(t,e){t.on("change:isOpen",(()=>{if(!t.isOpen){return}const n=e();if(!n){return}if(typeof n.focus==="function"){n.focus()}else{L("ui-dropdown-focus-child-on-open-child-missing-focus",{view:n})}}),{priority:B.low-10})}function sx(t){ax(t);cx(t);lx(t);dx(t);ux(t);hx(t)}function ax(e){e.on("render",(()=>{t({emitter:e,activator:()=>e.isOpen,callback:()=>{e.isOpen=false},contextElements:()=>[e.element,...e.focusTracker._elements]})}))}function cx(t){t.on("execute",(e=>{if(e.source instanceof Md){return}t.isOpen=false}))}function lx(t){t.focusTracker.on("change:isFocused",((e,n,i)=>{if(t.isOpen&&!i){t.isOpen=false}}))}function dx(t){t.keystrokes.set("arrowdown",((e,n)=>{if(t.isOpen){t.panelView.focus();n()}}));t.keystrokes.set("arrowup",((e,n)=>{if(t.isOpen){t.panelView.focusLast();n()}}))}function ux(t){t.on("change:isOpen",((e,n,i)=>{if(i){return}const o=t.panelView.element;if(o&&o.contains(nc.document.activeElement)){t.buttonView.focus()}}))}function hx(t){t.on("change:isOpen",((e,n,i)=>{if(!i){return}t.panelView.focus()}),{priority:"low"})}function gx(t,e,n,i){e.bindTo(n).using((e=>{if(e.type==="separator"){return new Py(i)}else if(e.type==="group"){const n=new Ly(i);n.set({label:e.label});gx(t,n.items,e.items,i);n.items.delegate("execute").to(t);return n}else if(e.type==="button"||e.type==="switchbutton"){const t=new Ny(i);let n;if(e.type==="button"){n=new Dd(i);n.extendTemplate({attributes:{"aria-checked":n.bindTemplate.to("isOn")}})}else{n=new Md(i)}n.bind(...Object.keys(e.model)).to(e.model);n.delegate("execute").to(t);t.children.add(n);return t}return null}))}const fx=(t,e,n)=>{const i=new ku(t.locale);i.set({id:e,ariaDescribedById:n});i.bind("isReadOnly").to(t,"isEnabled",(t=>!t));i.bind("hasError").to(t,"errorText",(t=>!!t));i.on("input",(()=>{t.errorText=null}));t.bind("isEmpty","isFocused","placeholder").to(i);return i};const mx=(t,e,n)=>{const i=new InputNumberView(t.locale);i.set({id:e,ariaDescribedById:n,inputMode:"numeric"});i.bind("isReadOnly").to(t,"isEnabled",(t=>!t));i.bind("hasError").to(t,"errorText",(t=>!!t));i.on("input",(()=>{t.errorText=null}));t.bind("isEmpty","isFocused","placeholder").to(i);return i};const px=(t,e,n)=>{const i=new TextareaView(t.locale);i.set({id:e,ariaDescribedById:n});i.bind("isReadOnly").to(t,"isEnabled",(t=>!t));i.bind("hasError").to(t,"errorText",(t=>!!t));i.on("input",(()=>{t.errorText=null}));t.bind("isEmpty","isFocused","placeholder").to(i);return i};const bx=(t,e,n)=>{const i=createDropdown(t.locale);i.set({id:e,ariaDescribedById:n});i.bind("isEnabled").to(t);return i};const kx=(t,e=0,n=1)=>t>n?n:tMath.round(n*t)/n;const Ax={grad:360/400,turn:360,rad:360/(Math.PI*2)};const Cx=t=>Hx(_x(t));const _x=t=>{if(t[0]==="#")t=t.substring(1);if(t.length<6){return{r:parseInt(t[0]+t[0],16),g:parseInt(t[1]+t[1],16),b:parseInt(t[2]+t[2],16),a:t.length===4?wx(parseInt(t[3]+t[3],16)/255,2):1}}return{r:parseInt(t.substring(0,2),16),g:parseInt(t.substring(2,4),16),b:parseInt(t.substring(4,6),16),a:t.length===8?wx(parseInt(t.substring(6,8),16)/255,2):1}};const vx=(t,e="deg")=>Number(t)*(Ax[e]||1);const yx=t=>{const e=/hsla?\(?\s*(-?\d*\.?\d+)(deg|rad|grad|turn)?[,\s]+(-?\d*\.?\d+)%?[,\s]+(-?\d*\.?\d+)%?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i;const n=e.exec(t);if(!n)return{h:0,s:0,v:0,a:1};return Ex({h:vx(n[1],n[2]),s:Number(n[3]),l:Number(n[4]),a:n[5]===undefined?1:Number(n[5])/(n[6]?100:1)})};const xx=null&&yx;const Ex=({h:t,s:e,l:n,a:i})=>{e*=(n<50?n:100-n)/100;return{h:t,s:e>0?2*e/(n+e)*100:0,v:n+e,a:i}};const Dx=t=>jx(Nx(t));const Tx=({h:t,s:e,v:n,a:i})=>{const o=(200-e)*n/100;return{h:wx(t),s:wx(o>0&&o<200?e*n/100/(o<=100?o:200-o)*100:0),l:wx(o/2),a:wx(i,2)}};const Ix=t=>{const{h:e,s:n,v:i}=Ux(t);return`hsv(${e}, ${n}%, ${i}%)`};const Sx=t=>{const{h:e,s:n,v:i,a:o}=Ux(t);return`hsva(${e}, ${n}%, ${i}%, ${o})`};const Bx=t=>{const{h:e,s:n,l:i}=Tx(t);return`hsl(${e}, ${n}%, ${i}%)`};const Mx=t=>{const{h:e,s:n,l:i,a:o}=Tx(t);return`hsla(${e}, ${n}%, ${i}%, ${o})`};const Nx=({h:t,s:e,v:n,a:i})=>{t=t/360*6;e=e/100;n=n/100;const o=Math.floor(t),r=n*(1-e),s=n*(1-(t-o)*e),a=n*(1-(1-t+o)*e),c=o%6;return{r:wx([n,s,r,r,a,n][c]*255),g:wx([a,n,n,s,r,r][c]*255),b:wx([r,r,a,n,n,s][c]*255),a:wx(i,2)}};const Px=t=>{const{r:e,g:n,b:i}=Nx(t);return`rgb(${e}, ${n}, ${i})`};const Lx=t=>{const{r:e,g:n,b:i,a:o}=Nx(t);return`rgba(${e}, ${n}, ${i}, ${o})`};const zx=t=>{const e=/hsva?\(?\s*(-?\d*\.?\d+)(deg|rad|grad|turn)?[,\s]+(-?\d*\.?\d+)%?[,\s]+(-?\d*\.?\d+)%?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i;const n=e.exec(t);if(!n)return{h:0,s:0,v:0,a:1};return Ux({h:vx(n[1],n[2]),s:Number(n[3]),v:Number(n[4]),a:n[5]===undefined?1:Number(n[5])/(n[6]?100:1)})};const Vx=null&&zx;const Rx=t=>{const e=/rgba?\(?\s*(-?\d*\.?\d+)(%)?[,\s]+(-?\d*\.?\d+)(%)?[,\s]+(-?\d*\.?\d+)(%)?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i;const n=e.exec(t);if(!n)return{h:0,s:0,v:0,a:1};return Hx({r:Number(n[1])/(n[2]?100/255:1),g:Number(n[3])/(n[4]?100/255:1),b:Number(n[5])/(n[6]?100/255:1),a:n[7]===undefined?1:Number(n[7])/(n[8]?100:1)})};const Ox=null&&Rx;const Fx=t=>{const e=t.toString(16);return e.length<2?"0"+e:e};const jx=({r:t,g:e,b:n,a:i})=>{const o=i<1?Fx(wx(i*255)):"";return"#"+Fx(t)+Fx(e)+Fx(n)+o};const Hx=({r:t,g:e,b:n,a:i})=>{const o=Math.max(t,e,n);const r=o-Math.min(t,e,n);const s=r?o===t?(e-n)/r:o===e?2+(n-t)/r:4+(t-e)/r:0;return{h:wx(60*(s<0?s+6:s)),s:wx(o?r/o*100:0),v:wx(o/255*100),a:i}};const Ux=t=>({h:round(t.h),s:round(t.s),v:round(t.v),a:round(t.a,2)});const Wx=({r:t,g:e,b:n})=>({r:t,g:e,b:n});const Gx=({h:t,s:e,l:n})=>({h:t,s:e,l:n});const qx=t=>{const{h:e,s:n,v:i}=Ux(t);return{h:e,s:n,v:i}};const Zx=(t,e)=>{if(t===e)return true;for(const n in t){if(t[n]!==e[n])return false}return true};const $x=(t,e)=>t.replace(/\s/g,"")===e.replace(/\s/g,"");const Kx=(t,e)=>{if(t.toLowerCase()===e.toLowerCase())return true;return Zx(_x(t),_x(e))};const Yx={};const Qx=t=>{let e=Yx[t];if(!e){e=document.createElement("template");e.innerHTML=t;Yx[t]=e}return e};const Jx=(t,e,n)=>{t.dispatchEvent(new CustomEvent(e,{bubbles:true,detail:n}))};let Xx=false;const tE=t=>"touches"in t;const eE=t=>{if(Xx&&!tE(t))return false;if(!Xx)Xx=tE(t);return true};const nE=(t,e)=>{const n=tE(e)?e.touches[0]:e;const i=t.el.getBoundingClientRect();Jx(t.el,"move",t.getMove({x:kx((n.pageX-(i.left+window.pageXOffset))/i.width),y:kx((n.pageY-(i.top+window.pageYOffset))/i.height)}))};const iE=(t,e)=>{const n=e.keyCode;if(n>40||t.xy&&n<37||n<33)return;e.preventDefault();Jx(t.el,"move",t.getMove({x:n===39?.01:n===37?-.01:n===34?.05:n===33?-.05:n===35?1:n===36?-1:0,y:n===40?.01:n===38?-.01:0},true))};class oE{constructor(t,e,n,i){const o=Qx(`
`);t.appendChild(o.content.cloneNode(true));const r=t.querySelector(`[part=${e}]`);r.addEventListener("mousedown",this);r.addEventListener("touchstart",this);r.addEventListener("keydown",this);this.el=r;this.xy=i;this.nodes=[r.firstChild,r]}set dragging(t){const e=t?document.addEventListener:document.removeEventListener;e(Xx?"touchmove":"mousemove",this);e(Xx?"touchend":"mouseup",this)}handleEvent(t){switch(t.type){case"mousedown":case"touchstart":t.preventDefault();if(!eE(t)||!Xx&&t.button!=0)return;this.el.focus();nE(this,t);this.dragging=true;break;case"mousemove":case"touchmove":t.preventDefault();nE(this,t);break;case"mouseup":case"touchend":this.dragging=false;break;case"keydown":iE(this,t);break}}style(t){t.forEach(((t,e)=>{for(const n in t){this.nodes[e].style.setProperty(n,t[n])}}))}}class rE extends oE{constructor(t){super(t,"hue",'aria-label="Hue" aria-valuemin="0" aria-valuemax="360"',false)}update({h:t}){this.h=t;this.style([{left:`${t/360*100}%`,color:Bx({h:t,s:100,v:100,a:1})}]);this.el.setAttribute("aria-valuenow",`${wx(t)}`)}getMove(t,e){return{h:e?kx(this.h+t.x*360,0,360):360*t.x}}}class sE extends oE{constructor(t){super(t,"saturation",'aria-label="Color"',true)}update(t){this.hsva=t;this.style([{top:`${100-t.v}%`,left:`${t.s}%`,color:Bx(t)},{"background-color":Bx({h:t.h,s:100,v:100,a:1})}]);this.el.setAttribute("aria-valuetext",`Saturation ${wx(t.s)}%, Brightness ${wx(t.v)}%`)}getMove(t,e){return{s:e?kx(this.hsva.s+t.x*100,0,100):t.x*100,v:e?kx(this.hsva.v-t.y*100,0,100):Math.round(100-t.y*100)}}}const aE=`:host{display:flex;flex-direction:column;position:relative;width:200px;height:200px;user-select:none;-webkit-user-select:none;cursor:default}:host([hidden]){display:none!important}[role=slider]{position:relative;touch-action:none;user-select:none;-webkit-user-select:none;outline:0}[role=slider]:last-child{border-radius:0 0 8px 8px}[part$=pointer]{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;display:flex;place-content:center center;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}[part$=pointer]::after{content:"";width:100%;height:100%;border-radius:inherit;background-color:currentColor}[role=slider]:focus [part$=pointer]{transform:translate(-50%,-50%) scale(1.1)}`;const cE=`[part=hue]{flex:0 0 24px;background:linear-gradient(to right,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%)}[part=hue-pointer]{top:50%;z-index:2}`;const lE=`[part=saturation]{flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(to top,#000,transparent),linear-gradient(to right,#fff,rgba(255,255,255,0));box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}[part=saturation-pointer]{z-index:3}`;const dE=Symbol("same");const uE=Symbol("color");const hE=Symbol("hsva");const gE=Symbol("update");const fE=Symbol("parts");const mE=Symbol("css");const pE=Symbol("sliders");class bE extends HTMLElement{static get observedAttributes(){return["color"]}get[mE](){return[aE,cE,lE]}get[pE](){return[sE,rE]}get color(){return this[uE]}set color(t){if(!this[dE](t)){const e=this.colorModel.toHsva(t);this[gE](e);this[uE]=t}}constructor(){super();const t=Qx(``);const e=this.attachShadow({mode:"open"});e.appendChild(t.content.cloneNode(true));e.addEventListener("move",this);this[fE]=this[pE].map((t=>new t(e)))}connectedCallback(){if(this.hasOwnProperty("color")){const t=this.color;delete this["color"];this.color=t}else if(!this.color){this.color=this.colorModel.defaultColor}}attributeChangedCallback(t,e,n){const i=this.colorModel.fromAttr(n);if(!this[dE](i)){this.color=i}}handleEvent(t){const e=this[hE];const n={...e,...t.detail};this[gE](n);let i;if(!Zx(n,e)&&!this[dE](i=this.colorModel.fromHsva(n))){this[uE]=i;Jx(this,"color-changed",{value:i})}}[dE](t){return this.color&&this.colorModel.equal(t,this.color)}[gE](t){this[hE]=t;this[fE].forEach((e=>e.update(t)))}}const kE={defaultColor:"#000",toHsva:Cx,fromHsva:({h:t,s:e,v:n})=>Dx({h:t,s:e,v:n,a:1}),equal:Kx,fromAttr:t=>t};class wE extends bE{get colorModel(){return kE}}class AE extends wE{}customElements.define("hex-color-picker",AE);var CE=n(4257);var _E={injectType:"singletonStyleTag",attributes:{"data-cke":true}};_E.insert="head";_E.singleton=true;var vE=Ll()(CE.Z,_E);const yE=CE.Z.locals||{};const xE=150;class EE extends(null&&View){constructor(t,e={}){super(t);this.set({color:"",_hexColor:""});this.hexInputRow=this._createInputRow();const n=this.createCollection();if(!e.hideInput){n.add(this.hexInputRow)}this.setTemplate({tag:"div",attributes:{class:["ck","ck-color-picker"],tabindex:-1},children:n});this._config=e;this._debounceColorPickerEvent=debounce((t=>{this.set("color",t);this.fire("colorSelected",{color:this.color})}),xE,{leading:true});this.on("set:color",((t,e,n)=>{t.return=convertColor(n,this._config.format||"hsl")}));this.on("change:color",(()=>{this._hexColor=DE(this.color)}));this.on("change:_hexColor",(()=>{if(document.activeElement!==this.picker){this.picker.setAttribute("color",this._hexColor)}if(DE(this.color)!=DE(this._hexColor)){this.color=this._hexColor}}))}render(){super.render();this.picker=global.document.createElement("hex-color-picker");this.picker.setAttribute("class","hex-color-picker");this.picker.setAttribute("tabindex","-1");this._createSlidersView();if(this.element){if(this.hexInputRow.element){this.element.insertBefore(this.picker,this.hexInputRow.element)}else{this.element.appendChild(this.picker)}const t=document.createElement("style");t.textContent='[role="slider"]:focus [part$="pointer"] {'+"border: 1px solid #fff;"+"outline: 1px solid var(--ck-color-focus-border);"+"box-shadow: 0 0 0 2px #fff;"+"}";this.picker.shadowRoot.appendChild(t)}this.picker.addEventListener("color-changed",(t=>{const e=t;const n=e.detail.value;this._debounceColorPickerEvent(n)}))}focus(){if(!this._config.hideInput&&(env.isGecko||env.isiOS||env.isSafari)){const t=this.hexInputRow.children.get(1);t.focus()}const t=this.slidersView.first;t.focus()}_createSlidersView(){const t=[...this.picker.shadowRoot.children];const e=t.filter((t=>t.getAttribute("role")==="slider"));const n=e.map((t=>{const e=new TE(t);return e}));this.slidersView=this.createCollection();n.forEach((t=>{this.slidersView.add(t)}))}_createInputRow(){const t=new IE;const e=this._createColorInput();return new SE(this.locale,[t,e])}_createColorInput(){const t=new LabeledFieldView(this.locale,createLabeledInputText);const{t:e}=this.locale;t.set({label:e("HEX"),class:"color-picker-hex-input"});t.fieldView.bind("value").to(this,"_hexColor",(e=>{if(t.isFocused){return t.fieldView.value}else{return e.startsWith("#")?e.substring(1):e}}));t.fieldView.on("input",(()=>{const e=t.fieldView.element.value;if(e){const t=e.trim();const n=t.startsWith("#")?t.substring(1):t;const i=[3,4,6,8].includes(n.length)&&/(([0-9a-fA-F]{2}){3,4}|([0-9a-fA-F]){3,4})/.test(n);if(i){this._debounceColorPickerEvent("#"+n)}}}));return t}}function DE(t){let e=convertToHex(t);if(!e){e="#000"}if(e.length===4){e="#"+[e[1],e[1],e[2],e[2],e[3],e[3]].join("")}return e.toLowerCase()}class TE extends(null&&View){constructor(t){super();this.element=t}focus(){this.element.focus()}}class IE extends(null&&View){constructor(t){super(t);this.setTemplate({tag:"div",attributes:{class:["ck","ck-color-picker__hash-view"]},children:"#"})}}class SE extends(null&&View){constructor(t,e){super(t);this.children=this.createCollection(e);this.setTemplate({tag:"div",attributes:{class:["ck","ck-color-picker__row"]},children:this.children})}}class BE extends(gt(fl)){constructor(t){super(t);this.set("isEmpty",true);this.on("change",(()=>{this.set("isEmpty",this.length===0)}))}add(t,e){if(this.find((e=>e.color===t.color))){return this}return super.add(t,e)}hasColor(t){return!!this.find((e=>e.color===t))}}const{eraser:ME,colorPalette:NE}=_y;class PE extends(null&&View){constructor(t,{colors:e,columns:n,removeButtonLabel:i,documentColorsLabel:o,documentColorsCount:r,colorPickerLabel:s,focusTracker:a,focusables:c}){super(t);const l=this.bindTemplate;this.set("isVisible",true);this.focusTracker=a;this.items=this.createCollection();this.colorDefinitions=e;this.columns=n;this.documentColors=new DocumentColorCollection;this.documentColorsCount=r;this._focusables=c;this._removeButtonLabel=i;this._colorPickerLabel=s;this._documentColorsLabel=o;this.setTemplate({tag:"div",attributes:{class:["ck-color-grids-fragment",l.if("isVisible","ck-hidden",(t=>!t))]},children:this.items});this.removeColorButtonView=this._createRemoveColorButton();this.items.add(this.removeColorButtonView)}updateDocumentColors(t,e){const n=t.document;const i=this.documentColorsCount;this.documentColors.clear();for(const o of n.getRoots()){const n=t.createRangeIn(o);for(const t of n.getItems()){if(t.is("$textProxy")&&t.hasAttribute(e)){this._addColorToDocumentColors(t.getAttribute(e));if(this.documentColors.length>=i){return}}}}}updateSelectedColors(){const t=this.documentColorsGrid;const e=this.staticColorsGrid;const n=this.selectedColor;e.selectedColor=n;if(t){t.selectedColor=n}}render(){super.render();this.staticColorsGrid=this._createStaticColorsGrid();this.items.add(this.staticColorsGrid);if(this.documentColorsCount){const t=Template.bind(this.documentColors,this.documentColors);const e=new LabelView(this.locale);e.text=this._documentColorsLabel;e.extendTemplate({attributes:{class:["ck","ck-color-grid__label",t.if("isEmpty","ck-hidden")]}});this.items.add(e);this.documentColorsGrid=this._createDocumentColorsGrid();this.items.add(this.documentColorsGrid)}this._createColorPickerButton();this._addColorSelectorElementsToFocusTracker();this.focus()}focus(){this.removeColorButtonView.focus()}destroy(){super.destroy()}addColorPickerButton(){if(this.colorPickerButtonView){this.items.add(this.colorPickerButtonView);this.focusTracker.add(this.colorPickerButtonView.element);this._focusables.add(this.colorPickerButtonView)}}_addColorSelectorElementsToFocusTracker(){this.focusTracker.add(this.removeColorButtonView.element);this._focusables.add(this.removeColorButtonView);if(this.staticColorsGrid){this.focusTracker.add(this.staticColorsGrid.element);this._focusables.add(this.staticColorsGrid)}if(this.documentColorsGrid){this.focusTracker.add(this.documentColorsGrid.element);this._focusables.add(this.documentColorsGrid)}}_createColorPickerButton(){this.colorPickerButtonView=new ButtonView;this.colorPickerButtonView.set({label:this._colorPickerLabel,withText:true,icon:NE,class:"ck-color-selector__color-picker"});this.colorPickerButtonView.on("execute",(()=>{this.fire("colorPicker:show")}))}_createRemoveColorButton(){const t=new ButtonView;t.set({withText:true,icon:ME,label:this._removeButtonLabel});t.class="ck-color-selector__remove-color";t.on("execute",(()=>{this.fire("execute",{value:null,source:"removeColorButton"})}));t.render();return t}_createStaticColorsGrid(){const t=new ColorGridView(this.locale,{colorDefinitions:this.colorDefinitions,columns:this.columns});t.on("execute",((t,e)=>{this.fire("execute",{value:e.value,source:"staticColorsGrid"})}));return t}_createDocumentColorsGrid(){const t=Template.bind(this.documentColors,this.documentColors);const e=new ColorGridView(this.locale,{columns:this.columns});e.extendTemplate({attributes:{class:t.if("isEmpty","ck-hidden")}});e.items.bindTo(this.documentColors).using((t=>{const e=new ColorTileView;e.set({color:t.color,hasBorder:t.options&&t.options.hasBorder});if(t.label){e.set({label:t.label,tooltip:true})}e.on("execute",(()=>{this.fire("execute",{value:t.color,source:"documentColorsGrid"})}));return e}));this.documentColors.on("change:isEmpty",((t,n,i)=>{if(i){e.selectedColor=null}}));return e}_addColorToDocumentColors(t){const e=this.colorDefinitions.find((e=>e.color===t));if(!e){this.documentColors.add({color:t,label:t,options:{hasBorder:false}})}else{this.documentColors.add(Object.assign({},e))}}}class LE extends(null&&View){constructor(t,{focusTracker:e,focusables:n,keystrokes:i,colorPickerViewConfig:o}){super(t);this.items=this.createCollection();this.focusTracker=e;this.keystrokes=i;this.set("isVisible",false);this.set("selectedColor",undefined);this._focusables=n;this._colorPickerViewConfig=o;const r=this.bindTemplate;const{saveButtonView:s,cancelButtonView:a}=this._createActionButtons();this.saveButtonView=s;this.cancelButtonView=a;this.actionBarView=this._createActionBarView({saveButtonView:s,cancelButtonView:a});this.setTemplate({tag:"div",attributes:{class:["ck-color-picker-fragment",r.if("isVisible","ck-hidden",(t=>!t))]},children:this.items})}render(){super.render();const t=new ColorPickerView(this.locale,{...this._colorPickerViewConfig});this.colorPickerView=t;this.colorPickerView.render();if(this.selectedColor){t.color=this.selectedColor}this.listenTo(this,"change:selectedColor",((e,n,i)=>{t.color=i}));this.items.add(this.colorPickerView);this.items.add(this.actionBarView);this._addColorPickersElementsToFocusTracker();this._stopPropagationOnArrowsKeys();this._executeOnEnterPress();this._executeUponColorChange()}destroy(){super.destroy()}focus(){this.colorPickerView.focus()}_executeOnEnterPress(){this.keystrokes.set("enter",(t=>{if(this.isVisible&&this.focusTracker.focusedElement!==this.cancelButtonView.element){this.fire("execute",{value:this.selectedColor});t.stopPropagation();t.preventDefault()}}))}_stopPropagationOnArrowsKeys(){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)}_addColorPickersElementsToFocusTracker(){for(const t of this.colorPickerView.slidersView){this.focusTracker.add(t.element);this._focusables.add(t)}const t=this.colorPickerView.hexInputRow.children.get(1);if(t.element){this.focusTracker.add(t.element);this._focusables.add(t)}this.focusTracker.add(this.saveButtonView.element);this._focusables.add(this.saveButtonView);this.focusTracker.add(this.cancelButtonView.element);this._focusables.add(this.cancelButtonView)}_createActionBarView({saveButtonView:t,cancelButtonView:e}){const n=new View;const i=this.createCollection();i.add(t);i.add(e);n.setTemplate({tag:"div",attributes:{class:["ck","ck-color-selector_action-bar"]},children:i});return n}_createActionButtons(){const t=this.locale;const e=t.t;const n=new ButtonView(t);const i=new ButtonView(t);n.set({icon:icons.check,class:"ck-button-save",type:"button",withText:false,label:e("Accept")});i.set({icon:icons.cancel,class:"ck-button-cancel",type:"button",withText:false,label:e("Cancel")});n.on("execute",(()=>{this.fire("execute",{source:"colorPickerSaveButton",value:this.selectedColor})}));i.on("execute",(()=>{this.fire("colorPicker:cancel")}));return{saveButtonView:n,cancelButtonView:i}}_executeUponColorChange(){this.colorPickerView.on("colorSelected",((t,e)=>{this.fire("execute",{value:e.color,source:"colorPicker"});this.set("selectedColor",e.color)}))}}var zE=n(6306);var VE={injectType:"singletonStyleTag",attributes:{"data-cke":true}};VE.insert="head";VE.singleton=true;var RE=Ll()(zE.Z,VE);const OE=zE.Z.locals||{};class FE extends(null&&View){constructor(t,{colors:e,columns:n,removeButtonLabel:i,documentColorsLabel:o,documentColorsCount:r,colorPickerLabel:s,colorPickerViewConfig:a}){super(t);this.items=this.createCollection();this.focusTracker=new FocusTracker;this.keystrokes=new KeystrokeHandler;this._focusables=new ViewCollection;this._colorPickerViewConfig=a;this._focusCycler=new FocusCycler({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}});this.colorGridsFragmentView=new ColorGridsFragmentView(t,{colors:e,columns:n,removeButtonLabel:i,documentColorsLabel:o,documentColorsCount:r,colorPickerLabel:s,focusTracker:this.focusTracker,focusables:this._focusables});this.colorPickerFragmentView=new ColorPickerFragmentView(t,{focusables:this._focusables,focusTracker:this.focusTracker,keystrokes:this.keystrokes,colorPickerViewConfig:a});this.set("_isColorGridsFragmentVisible",true);this.set("_isColorPickerFragmentVisible",false);this.set("selectedColor",undefined);this.colorGridsFragmentView.bind("isVisible").to(this,"_isColorGridsFragmentVisible");this.colorPickerFragmentView.bind("isVisible").to(this,"_isColorPickerFragmentVisible");this.on("change:selectedColor",((t,e,n)=>{this.colorGridsFragmentView.set("selectedColor",n);this.colorPickerFragmentView.set("selectedColor",n)}));this.colorGridsFragmentView.on("change:selectedColor",((t,e,n)=>{this.set("selectedColor",n)}));this.colorPickerFragmentView.on("change:selectedColor",((t,e,n)=>{this.set("selectedColor",n)}));this.setTemplate({tag:"div",attributes:{class:["ck","ck-color-selector"]},children:this.items})}render(){super.render();this.keystrokes.listenTo(this.element)}destroy(){super.destroy();this.focusTracker.destroy();this.keystrokes.destroy()}appendUI(){this._appendColorGridsFragment();if(this._colorPickerViewConfig){this._appendColorPickerFragment()}}showColorPickerFragment(){if(!this.colorPickerFragmentView.colorPickerView||this._isColorPickerFragmentVisible){return}this._isColorPickerFragmentVisible=true;this.colorPickerFragmentView.focus();this._isColorGridsFragmentVisible=false}showColorGridsFragment(){if(this._isColorGridsFragmentVisible){return}this._isColorGridsFragmentVisible=true;this.colorGridsFragmentView.focus();this._isColorPickerFragmentVisible=false}focus(){this._focusCycler.focusFirst()}focusLast(){this._focusCycler.focusLast()}updateDocumentColors(t,e){this.colorGridsFragmentView.updateDocumentColors(t,e)}updateSelectedColors(){this.colorGridsFragmentView.updateSelectedColors()}_appendColorGridsFragment(){if(this.items.length){return}this.items.add(this.colorGridsFragmentView);this.colorGridsFragmentView.delegate("execute").to(this);this.colorGridsFragmentView.delegate("colorPicker:show").to(this)}_appendColorPickerFragment(){if(this.items.length===2){return}this.items.add(this.colorPickerFragmentView);if(this.colorGridsFragmentView.colorPickerButtonView){this.colorGridsFragmentView.colorPickerButtonView.on("execute",(()=>{this.showColorPickerFragment()}))}this.colorGridsFragmentView.addColorPickerButton();this.colorPickerFragmentView.delegate("execute").to(this);this.colorPickerFragmentView.delegate("colorPicker:cancel").to(this)}}class jE{constructor(t){this._components=new Map;this.editor=t}*names(){for(const t of this._components.values()){yield t.originalName}}add(t,e){this._components.set(HE(t),{callback:e,originalName:t})}create(t){if(!this.has(t)){throw new P("componentfactory-item-missing",this,{name:t})}return this._components.get(HE(t)).callback(this.editor.locale)}has(t){return this._components.has(HE(t))}}function HE(t){return String(t).toLowerCase()}var UE=n(1874);var WE={injectType:"singletonStyleTag",attributes:{"data-cke":true}};WE.insert="head";WE.singleton=true;var GE=Ll()(UE.Z,WE);const qE=UE.Z.locals||{};class ZE extends Fl{constructor(t,e={}){super(t);const n=this.bindTemplate;this.set("label",e.label||"");this.set("class",e.class||null);this.children=this.createCollection();this.setTemplate({tag:"div",attributes:{class:["ck","ck-form__header",n.to("class")]},children:this.children});if(e.icon){this.iconView=new Cd;this.iconView.content=e.icon;this.children.add(this.iconView)}const i=new Fl(t);i.setTemplate({tag:"h2",attributes:{class:["ck","ck-form__header__label"]},children:[{text:n.to("label")}]});this.children.add(i)}}function $E(t){class e extends t{constructor(...t){super(...t);this._onDragBound=this._onDrag.bind(this);this._onDragEndBound=this._onDragEnd.bind(this);this._lastDraggingCoordinates={x:0,y:0};this.on("render",(()=>{this._attachListeners()}));this.set("isDragging",false)}_attachListeners(){this.listenTo(this.element,"mousedown",this._onDragStart.bind(this));this.listenTo(this.element,"touchstart",this._onDragStart.bind(this))}_attachDragListeners(){this.listenTo(nc.document,"mouseup",this._onDragEndBound);this.listenTo(nc.document,"touchend",this._onDragEndBound);this.listenTo(nc.document,"mousemove",this._onDragBound);this.listenTo(nc.document,"touchmove",this._onDragBound)}_detachDragListeners(){this.stopListening(nc.document,"mouseup",this._onDragEndBound);this.stopListening(nc.document,"touchend",this._onDragEndBound);this.stopListening(nc.document,"mousemove",this._onDragBound);this.stopListening(nc.document,"touchmove",this._onDragBound)}_onDragStart(t,e){if(!this._isHandleElementPressed(e)){return}this._attachDragListeners();let n=0;let i=0;if(e instanceof MouseEvent){n=e.clientX;i=e.clientY}else{n=e.touches[0].clientX;i=e.touches[0].clientY}this._lastDraggingCoordinates={x:n,y:i};this.isDragging=true}_onDrag(t,e){if(!this.isDragging){this._detachDragListeners();return}let n=0;let i=0;if(e instanceof MouseEvent){n=e.clientX;i=e.clientY}else{n=e.touches[0].clientX;i=e.touches[0].clientY}e.preventDefault();this.fire("drag",{deltaX:Math.round(n-this._lastDraggingCoordinates.x),deltaY:Math.round(i-this._lastDraggingCoordinates.y)});this._lastDraggingCoordinates={x:n,y:i}}_onDragEnd(){this._detachDragListeners();this.isDragging=false}_isHandleElementPressed(t){if(!this.dragHandleElement){return false}return this.dragHandleElement===t.target||t.target instanceof HTMLElement&&this.dragHandleElement.contains(t.target)}}return e}var KE=n(1043);var YE={injectType:"singletonStyleTag",attributes:{"data-cke":true}};YE.insert="head";YE.singleton=true;var QE=Ll()(KE.Z,YE);const JE=KE.Z.locals||{};class XE extends Fl{constructor(t){super(t);this.children=this.createCollection();this.keystrokes=new bl;this._focusTracker=new pl;this._focusables=new Ml;this.focusCycler=new Pu({focusables:this._focusables,focusTracker:this._focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}});this.setTemplate({tag:"div",attributes:{class:["ck","ck-dialog__actions"]},children:this.children})}render(){super.render();this.keystrokes.listenTo(this.element)}setButtons(t){for(const e of t){const t=new Dd(this.locale);let n;t.on("execute",(()=>e.onExecute()));if(e.onCreate){e.onCreate(t)}for(n in e){if(n!="onExecute"&&n!="onCreate"){t.set(n,e[n])}}this.children.add(t)}this._updateFocusCyclableItems()}focus(t){if(t===-1){this.focusCycler.focusLast()}else{this.focusCycler.focusFirst()}}_updateFocusCyclableItems(){Array.from(this.children).forEach((t=>{this._focusables.add(t);this._focusTracker.add(t.element)}))}}class tD extends Fl{constructor(t){super(t);this.children=this.createCollection();this.setTemplate({tag:"div",attributes:{class:["ck","ck-dialog__content"]},children:this.children})}reset(){while(this.children.length){this.children.remove(0)}}}var eD=n(2105);var nD={injectType:"singletonStyleTag",attributes:{"data-cke":true}};nD.insert="head";nD.singleton=true;var iD=Ll()(eD.Z,nD);const oD=eD.Z.locals||{};const rD={SCREEN_CENTER:"screen-center",EDITOR_CENTER:"editor-center",EDITOR_TOP_SIDE:"editor-top-side",EDITOR_TOP_CENTER:"editor-top-center",EDITOR_BOTTOM_CENTER:"editor-bottom-center",EDITOR_ABOVE_CENTER:"editor-above-center",EDITOR_BELOW_CENTER:"editor-below-center"};const sD=Cc("px");class aD extends($E(Fl)){constructor(t,{getCurrentDomRoot:e,getViewportOffset:n}){super(t);this.wasMoved=false;const i=this.bindTemplate;const o=t.t;this.set("className","");this.set("ariaLabel",o("Editor dialog"));this.set("isModal",false);this.set("position",rD.SCREEN_CENTER);this.set("_isVisible",false);this.set("_isTransparent",false);this.set("_top",0);this.set("_left",0);this._getCurrentDomRoot=e;this._getViewportOffset=n;this.decorate("moveTo");this.parts=this.createCollection();this.keystrokes=new bl;this.focusTracker=new pl;this._focusables=new Ml;this._focusCycler=new Pu({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}});this.setTemplate({tag:"div",attributes:{class:["ck","ck-dialog-overlay",i.if("isModal","ck-dialog-overlay__transparent",(t=>!t)),i.if("_isVisible","ck-hidden",(t=>!t))],tabindex:"-1"},children:[{tag:"div",attributes:{tabindex:"-1",class:["ck","ck-dialog",i.to("className")],role:"dialog","aria-label":i.to("ariaLabel"),style:{top:i.to("_top",(t=>sD(t))),left:i.to("_left",(t=>sD(t))),visibility:i.if("_isTransparent","hidden")}},children:this.parts}]})}render(){super.render();this.keystrokes.set("Esc",((t,e)=>{this.fire("close",{source:"escKeyPress"});e()}));this.on("drag",((t,{deltaX:e,deltaY:n})=>{this.wasMoved=true;this.moveBy(e,n)}));this.listenTo(nc.window,"resize",(()=>{if(this._isVisible&&!this.wasMoved){this.updatePosition()}}));this.listenTo(nc.document,"scroll",(()=>{if(this._isVisible&&!this.wasMoved){this.updatePosition()}}));this.on("change:_isVisible",((t,e,n)=>{if(n){this._isTransparent=true;setTimeout((()=>{this.updatePosition();this._isTransparent=false;this.focus()}),10)}}));this.keystrokes.listenTo(this.element)}get dragHandleElement(){if(this.headerView){return this.headerView.element}else{return null}}setupParts({icon:t,title:e,hasCloseButton:n=true,content:i,actionButtons:o}){if(e){this.headerView=new ZE(this.locale,{icon:t});if(n){this.closeButtonView=this._createCloseButton();this.headerView.children.add(this.closeButtonView)}this.headerView.label=e;this.ariaLabel=e;this.parts.add(this.headerView,0)}if(i){if(i instanceof Fl){i=[i]}this.contentView=new tD(this.locale);this.contentView.children.addMany(i);this.parts.add(this.contentView)}if(o){this.actionsView=new XE(this.locale);this.actionsView.setButtons(o);this.parts.add(this.actionsView)}this._updateFocusCyclableItems()}focus(){this._focusCycler.focusFirst()}moveTo(t,e){const n=this._getViewportRect();const i=this._getDialogRect();if(t+i.width>n.right){t=n.right-i.width}if(t{this._focusables.add(t);this.focusTracker.add(t.element);if(Vu(t)){this.listenTo(t.focusCycler,"forwardCycle",(t=>{this._focusCycler.focusNext();if(this._focusCycler.next!==this._focusCycler.focusables.get(this._focusCycler.current)){t.stop()}}));this.listenTo(t.focusCycler,"backwardCycle",(t=>{this._focusCycler.focusPrevious();if(this._focusCycler.previous!==this._focusCycler.focusables.get(this._focusCycler.current)){t.stop()}}))}}))}_createCloseButton(){const t=new Dd(this.locale);const e=this.locale.t;t.set({label:e("Close"),tooltip:true,icon:fv});t.on("execute",(()=>this.fire("close",{source:"closeButton"})));return t}}aD.defaultOffset=15;const cD=aD;function lD(t){t=Object.assign({top:0,bottom:0,left:0,right:0},t);const e=new uc(nc.window);e.top+=t.top;e.height-=t.top;e.bottom-=t.bottom;e.height-=t.bottom;e.left+=t.left;e.right-=t.right;e.width-=t.left+t.right;return e}class dD extends(null&&Plugin){static get pluginName(){return"Dialog"}constructor(t){super(t);this._initShowHideListeners();this._initFocusToggler();this._initMultiRootIntegration();this.set("id",null)}_initShowHideListeners(){this.on("show",((t,e)=>{this._show(e)}));this.on("show",((t,e)=>{if(e.onShow){e.onShow(this)}}),{priority:"low"});this.on("hide",(()=>{if(dD._visibleDialogPlugin){dD._visibleDialogPlugin._hide()}}));this.on("hide",(()=>{if(this._onHide){this._onHide(this);this._onHide=undefined}}),{priority:"low"})}_initFocusToggler(){const t=this.editor;t.keystrokes.set("Ctrl+F6",((e,n)=>{if(!this.isOpen||this.view.isModal){return}if(this.view.focusTracker.isFocused){t.editing.view.focus()}else{this.view.focus()}n()}))}_initMultiRootIntegration(){const t=this.editor.model;t.document.on("change:data",(()=>{if(!this.view){return}const e=t.document.differ.getChangedRoots();for(const t of e){if(t.state){this.view.updatePosition()}}}))}show(t){this.hide();this.fire(`show:${t.id}`,t)}_show({id:t,icon:e,title:n,hasCloseButton:i=true,content:o,actionButtons:r,className:s,isModal:a,position:c,onHide:l}){const d=this.editor;this.view=new DialogView(d.locale,{getCurrentDomRoot:()=>d.editing.view.getDomRoot(d.model.document.selection.anchor.root.rootName),getViewportOffset:()=>d.ui.viewportOffset});const u=this.view;u.on("close",(()=>{this.hide()}));d.ui.view.body.add(u);d.ui.focusTracker.add(u.element);d.keystrokes.listenTo(u.element);if(!c){c=a?DialogViewPosition.SCREEN_CENTER:DialogViewPosition.EDITOR_CENTER}u.set({position:c,_isVisible:true,className:s,isModal:a});u.setupParts({icon:e,title:n,hasCloseButton:i,content:o,actionButtons:r});this.id=t;if(l){this._onHide=l}this.isOpen=true;dD._visibleDialogPlugin=this}hide(){if(dD._visibleDialogPlugin){dD._visibleDialogPlugin.fire(`hide:${dD._visibleDialogPlugin.id}`)}}_hide(){if(!this.view){return}const t=this.editor;const e=this.view;if(e.contentView){e.contentView.reset()}t.ui.view.body.remove(e);t.ui.focusTracker.remove(e.element);t.keystrokes.stopListening(e.element);e.destroy();t.editing.view.focus();this.id=null;this.isOpen=false;dD._visibleDialogPlugin=null}}var uD=n(4460);var hD={injectType:"singletonStyleTag",attributes:{"data-cke":true}};hD.insert="head";hD.singleton=true;var gD=Ll()(uD.Z,hD);const fD=uD.Z.locals||{};const mD=Cc("px");const pD=nc.document.body;const bD={top:-99999,left:-99999,name:"arrowless",config:{withArrow:false}};class kD extends Fl{constructor(t){super(t);const e=this.bindTemplate;this.set("top",0);this.set("left",0);this.set("position","arrow_nw");this.set("isVisible",false);this.set("withArrow",true);this.set("class",undefined);this._pinWhenIsVisibleCallback=null;this.content=this.createCollection();this.setTemplate({tag:"div",attributes:{class:["ck","ck-balloon-panel",e.to("position",(t=>`ck-balloon-panel_${t}`)),e.if("isVisible","ck-balloon-panel_visible"),e.if("withArrow","ck-balloon-panel_with-arrow"),e.to("class")],style:{top:e.to("top",mD),left:e.to("left",mD)}},children:this.content})}show(){this.isVisible=true}hide(){this.isVisible=false}attachTo(t){this.show();const e=kD.defaultPositions;const n=Object.assign({},{element:this.element,positions:[e.southArrowNorth,e.southArrowNorthMiddleWest,e.southArrowNorthMiddleEast,e.southArrowNorthWest,e.southArrowNorthEast,e.northArrowSouth,e.northArrowSouthMiddleWest,e.northArrowSouthMiddleEast,e.northArrowSouthWest,e.northArrowSouthEast,e.viewportStickyNorth],limiter:pD,fitInViewport:true},t);const i=kD._getOptimalPosition(n)||bD;const o=parseInt(i.left);const r=parseInt(i.top);const s=i.name;const a=i.config||{};const{withArrow:c=true}=a;this.top=r;this.left=o;this.position=s;this.withArrow=c}pin(t){this.unpin();this._pinWhenIsVisibleCallback=()=>{if(this.isVisible){this._startPinning(t)}else{this._stopPinning()}};this._startPinning(t);this.listenTo(this,"change:isVisible",this._pinWhenIsVisibleCallback)}unpin(){if(this._pinWhenIsVisibleCallback){this._stopPinning();this.stopListening(this,"change:isVisible",this._pinWhenIsVisibleCallback);this._pinWhenIsVisibleCallback=null;this.hide()}}_startPinning(t){this.attachTo(t);const e=AD(t.target);const n=t.limiter?AD(t.limiter):pD;this.listenTo(nc.document,"scroll",((i,o)=>{const r=o.target;const s=e&&r.contains(e);const a=n&&r.contains(n);if(s||a||!e||!n){this.attachTo(t)}}),{useCapture:true});this.listenTo(nc.window,"resize",(()=>{this.attachTo(t)}))}_stopPinning(){this.stopListening(nc.document,"scroll");this.stopListening(nc.window,"resize")}}kD.arrowSideOffset=25;kD.arrowHeightOffset=10;kD.stickyVerticalOffset=20;kD._getOptimalPosition=Dc;kD.defaultPositions=CD();const wD=kD;function AD(t){if(Wa(t)){return t}if(ac(t)){return t.commonAncestorContainer}if(typeof t=="function"){return AD(t())}return null}function CD(t={}){const{sideOffset:e=kD.arrowSideOffset,heightOffset:n=kD.arrowHeightOffset,stickyVerticalOffset:i=kD.stickyVerticalOffset,config:o}=t;return{northWestArrowSouthWest:(t,n)=>({top:r(t,n),left:t.left-e,name:"arrow_sw",...o&&{config:o}}),northWestArrowSouthMiddleWest:(t,n)=>({top:r(t,n),left:t.left-n.width*.25-e,name:"arrow_smw",...o&&{config:o}}),northWestArrowSouth:(t,e)=>({top:r(t,e),left:t.left-e.width/2,name:"arrow_s",...o&&{config:o}}),northWestArrowSouthMiddleEast:(t,n)=>({top:r(t,n),left:t.left-n.width*.75+e,name:"arrow_sme",...o&&{config:o}}),northWestArrowSouthEast:(t,n)=>({top:r(t,n),left:t.left-n.width+e,name:"arrow_se",...o&&{config:o}}),northArrowSouthWest:(t,n)=>({top:r(t,n),left:t.left+t.width/2-e,name:"arrow_sw",...o&&{config:o}}),northArrowSouthMiddleWest:(t,n)=>({top:r(t,n),left:t.left+t.width/2-n.width*.25-e,name:"arrow_smw",...o&&{config:o}}),northArrowSouth:(t,e)=>({top:r(t,e),left:t.left+t.width/2-e.width/2,name:"arrow_s",...o&&{config:o}}),northArrowSouthMiddleEast:(t,n)=>({top:r(t,n),left:t.left+t.width/2-n.width*.75+e,name:"arrow_sme",...o&&{config:o}}),northArrowSouthEast:(t,n)=>({top:r(t,n),left:t.left+t.width/2-n.width+e,name:"arrow_se",...o&&{config:o}}),northEastArrowSouthWest:(t,n)=>({top:r(t,n),left:t.right-e,name:"arrow_sw",...o&&{config:o}}),northEastArrowSouthMiddleWest:(t,n)=>({top:r(t,n),left:t.right-n.width*.25-e,name:"arrow_smw",...o&&{config:o}}),northEastArrowSouth:(t,e)=>({top:r(t,e),left:t.right-e.width/2,name:"arrow_s",...o&&{config:o}}),northEastArrowSouthMiddleEast:(t,n)=>({top:r(t,n),left:t.right-n.width*.75+e,name:"arrow_sme",...o&&{config:o}}),northEastArrowSouthEast:(t,n)=>({top:r(t,n),left:t.right-n.width+e,name:"arrow_se",...o&&{config:o}}),southWestArrowNorthWest:t=>({top:s(t),left:t.left-e,name:"arrow_nw",...o&&{config:o}}),southWestArrowNorthMiddleWest:(t,n)=>({top:s(t),left:t.left-n.width*.25-e,name:"arrow_nmw",...o&&{config:o}}),southWestArrowNorth:(t,e)=>({top:s(t),left:t.left-e.width/2,name:"arrow_n",...o&&{config:o}}),southWestArrowNorthMiddleEast:(t,n)=>({top:s(t),left:t.left-n.width*.75+e,name:"arrow_nme",...o&&{config:o}}),southWestArrowNorthEast:(t,n)=>({top:s(t),left:t.left-n.width+e,name:"arrow_ne",...o&&{config:o}}),southArrowNorthWest:t=>({top:s(t),left:t.left+t.width/2-e,name:"arrow_nw",...o&&{config:o}}),southArrowNorthMiddleWest:(t,n)=>({top:s(t),left:t.left+t.width/2-n.width*.25-e,name:"arrow_nmw",...o&&{config:o}}),southArrowNorth:(t,e)=>({top:s(t),left:t.left+t.width/2-e.width/2,name:"arrow_n",...o&&{config:o}}),southArrowNorthMiddleEast:(t,n)=>({top:s(t),left:t.left+t.width/2-n.width*.75+e,name:"arrow_nme",...o&&{config:o}}),southArrowNorthEast:(t,n)=>({top:s(t),left:t.left+t.width/2-n.width+e,name:"arrow_ne",...o&&{config:o}}),southEastArrowNorthWest:t=>({top:s(t),left:t.right-e,name:"arrow_nw",...o&&{config:o}}),southEastArrowNorthMiddleWest:(t,n)=>({top:s(t),left:t.right-n.width*.25-e,name:"arrow_nmw",...o&&{config:o}}),southEastArrowNorth:(t,e)=>({top:s(t),left:t.right-e.width/2,name:"arrow_n",...o&&{config:o}}),southEastArrowNorthMiddleEast:(t,n)=>({top:s(t),left:t.right-n.width*.75+e,name:"arrow_nme",...o&&{config:o}}),southEastArrowNorthEast:(t,n)=>({top:s(t),left:t.right-n.width+e,name:"arrow_ne",...o&&{config:o}}),westArrowEast:(t,e)=>({top:t.top+t.height/2-e.height/2,left:t.left-e.width-n,name:"arrow_e",...o&&{config:o}}),eastArrowWest:(t,e)=>({top:t.top+t.height/2-e.height/2,left:t.right+n,name:"arrow_w",...o&&{config:o}}),viewportStickyNorth:(t,e,n,r)=>{const s=r||n;if(!t.getIntersection(s)){return null}if(s.height-t.height>i){return null}return{top:s.top+i,left:t.left+t.width/2-e.width/2,name:"arrowless",config:{withArrow:false,...o}}}};function r(t,e){return t.top-e.height-n}function s(t){return t.bottom+n}}var _D=n(3888);var vD={injectType:"singletonStyleTag",attributes:{"data-cke":true}};vD.insert="head";vD.singleton=true;var yD=Ll()(_D.Z,vD);const xD=_D.Z.locals||{};const ED="ck-tooltip";class DD extends(Qa()){constructor(t){super();this._currentElementWithTooltip=null;this._currentTooltipPosition=null;this._resizeObserver=null;DD._editors.add(t);if(DD._instance){return DD._instance}DD._instance=this;this.tooltipTextView=new Fl(t.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 wD(t.locale);this.balloonPanelView.class=ED;this.balloonPanelView.content.add(this.tooltipTextView);this._pinTooltipDebounced=Cp(this._pinTooltip,600);this.listenTo(nc.document,"mouseenter",this._onEnterOrFocus.bind(this),{useCapture:true});this.listenTo(nc.document,"mouseleave",this._onLeaveOrBlur.bind(this),{useCapture:true});this.listenTo(nc.document,"focus",this._onEnterOrFocus.bind(this),{useCapture:true});this.listenTo(nc.document,"blur",this._onLeaveOrBlur.bind(this),{useCapture:true});this.listenTo(nc.document,"scroll",this._onScroll.bind(this),{useCapture:true});this._watchdogExcluded=true}destroy(t){const e=t.ui.view&&t.ui.view.body;DD._editors.delete(t);this.stopListening(t.ui);if(e&&e.has(this.balloonPanelView)){e.remove(this.balloonPanelView)}if(!DD._editors.size){this._unpinTooltip();this.balloonPanelView.destroy();this.stopListening();DD._instance=null}}static getPositioningFunctions(t){const e=DD.defaultBalloonPositions;return{s:[e.southArrowNorth,e.southArrowNorthEast,e.southArrowNorthWest],n:[e.northArrowSouth],e:[e.eastArrowWest],w:[e.westArrowEast],sw:[e.southArrowNorthEast],se:[e.southArrowNorthWest]}[t]}_onEnterOrFocus(t,{target:e}){const n=ID(e);if(!n){return}if(n===this._currentElementWithTooltip){return}this._unpinTooltip();this._pinTooltipDebounced(n,SD(n))}_onLeaveOrBlur(t,{target:e,relatedTarget:n}){if(t.name==="mouseleave"){if(!Wa(e)){return}if(this._currentElementWithTooltip&&e!==this._currentElementWithTooltip){return}const t=ID(e);const i=ID(n);if(t&&t!==i){this._unpinTooltip()}}else{if(this._currentElementWithTooltip&&e!==this._currentElementWithTooltip){return}this._unpinTooltip()}}_onScroll(t,{target:e}){if(!this._currentElementWithTooltip){return}if(e.contains(this.balloonPanelView.element)&&e.contains(this._currentElementWithTooltip)){return}this._unpinTooltip()}_pinTooltip(t,{text:e,position:n,cssClass:i}){const o=ml(DD._editors.values()).ui.view.body;if(!o.has(this.balloonPanelView)){o.add(this.balloonPanelView)}this.tooltipTextView.text=e;this.balloonPanelView.pin({target:t,positions:DD.getPositioningFunctions(n)});this._resizeObserver=new wc(t,(()=>{if(!Ec(t)){this._unpinTooltip()}}));this.balloonPanelView.class=[ED,i].filter((t=>t)).join(" ");for(const t of DD._editors){this.listenTo(t.ui,"update",this._updateTooltipPosition.bind(this),{priority:"low"})}this._currentElementWithTooltip=t;this._currentTooltipPosition=n}_unpinTooltip(){this._pinTooltipDebounced.cancel();this.balloonPanelView.unpin();for(const t of DD._editors){this.stopListening(t.ui,"update")}this._currentElementWithTooltip=null;this._currentTooltipPosition=null;if(this._resizeObserver){this._resizeObserver.destroy()}}_updateTooltipPosition(){if(!Ec(this._currentElementWithTooltip)){this._unpinTooltip();return}this.balloonPanelView.pin({target:this._currentElementWithTooltip,positions:DD.getPositioningFunctions(this._currentTooltipPosition)})}}DD.defaultBalloonPositions=CD({heightOffset:5,sideOffset:13});DD._editors=new Set;DD._instance=null;const TD=DD;function ID(t){if(!Wa(t)){return null}return t.closest("[data-cke-tooltip-text]:not([data-cke-tooltip-disabled])")}function SD(t){return{text:t.dataset.ckeTooltipText,position:t.dataset.ckeTooltipPosition||"s",cssClass:t.dataset.ckeTooltipClass||""}}var BD="Expected a function";function MD(t,e,n){var i=true,o=true;if(typeof t!="function"){throw new TypeError(BD)}if(st(n)){i="leading"in n?!!n.leading:i;o="trailing"in n?!!n.trailing:o}return Cp(t,e,{leading:i,maxWait:e,trailing:o})}const ND=MD;const PD='\n';const LD=53;const zD=10;const VD=50;const RD=350;const OD="Powered by";class FD extends(Qa()){constructor(t){super();this.editor=t;this._balloonView=null;this._lastFocusedEditableElement=null;this._showBalloonThrottled=ND(this._showBalloon.bind(this),50,{leading:true});t.on("ready",this._handleEditorReady.bind(this))}destroy(){const t=this._balloonView;if(t){t.unpin();this._balloonView=null}this._showBalloonThrottled.cancel();this.stopListening()}_handleEditorReady(){const t=this.editor;const e=!!t.config.get("ui.poweredBy.forceVisible");if(!e&&vl(t.config.get("licenseKey"))==="VALID"){return}if(!t.ui.view){return}t.ui.focusTracker.on("change:isFocused",((t,e,n)=>{this._updateLastFocusedEditableElement();if(n){this._showBalloon()}else{this._hideBalloon()}}));t.ui.focusTracker.on("change:focusedElement",((t,e,n)=>{this._updateLastFocusedEditableElement();if(n){this._showBalloon()}}));t.ui.on("update",(()=>{this._showBalloonThrottled()}))}_createBalloonView(){const t=this.editor;const e=this._balloonView=new wD;const n=qD(t);const i=new jD(t.locale,n.label);e.content.add(i);e.set({class:"ck-powered-by-balloon"});t.ui.view.body.add(e);t.ui.focusTracker.add(e.element);this._balloonView=e}_showBalloon(){if(!this._lastFocusedEditableElement){return}const t=HD(this.editor,this._lastFocusedEditableElement);if(t){if(!this._balloonView){this._createBalloonView()}this._balloonView.pin(t)}}_hideBalloon(){if(this._balloonView){this._balloonView.unpin()}}_updateLastFocusedEditableElement(){const t=this.editor;const e=t.ui.focusTracker.isFocused;const n=t.ui.focusTracker.focusedElement;if(!e||!n){this._lastFocusedEditableElement=null;return}const i=Array.from(t.ui.getEditableElementsNames()).map((e=>t.ui.getEditableElement(e)));if(i.includes(n)){this._lastFocusedEditableElement=n}else{this._lastFocusedEditableElement=i[0]}}}class jD extends Fl{constructor(t,e){super(t);const n=new Cd;const i=this.bindTemplate;n.set({content:PD,isColorInherited:false});n.extendTemplate({attributes:{style:{width:LD+"px",height:zD+"px"}}});this.setTemplate({tag:"div",attributes:{class:["ck","ck-powered-by"],"aria-hidden":true},children:[{tag:"a",attributes:{href:"https://ckeditor.com/?utm_source=ckeditor&"+"utm_medium=referral&utm_campaign=701Dn000000hVgmIAE_powered_by_ckeditor_logo",target:"_blank",tabindex:"-1"},children:[...e?[{tag:"span",attributes:{class:["ck","ck-powered-by__label"]},children:[e]}]:[],n],on:{dragstart:i.to((t=>t.preventDefault()))}}]})}}function HD(t,e){const n=qD(t);const i=n.side==="right"?UD(e,n):WD(e,n);return{target:e,positions:[i]}}function UD(t,e){return GD(t,e,((t,n)=>t.left+t.width-n.width-e.horizontalOffset))}function WD(t,e){return GD(t,e,(t=>t.left+e.horizontalOffset))}function GD(t,e,n){return(i,o)=>{const r=new uc(t);if(r.widthe.regionName===t));if(!o){o=new tT(this.view.locale);this.view.regionViews.add(o)}o.set({regionName:t,text:e,politeness:n})}}class XD extends Fl{constructor(t){super(t);this.regionViews=this.createCollection();this.setTemplate({tag:"div",attributes:{class:["ck","ck-aria-live-announcer"]},children:this.regionViews})}}class tT extends Fl{constructor(t){super(t);const e=this.bindTemplate;this.set("regionName","");this.set("text","");this.set("politeness",QD.POLITE);this.setTemplate({tag:"div",attributes:{role:"region","data-region":e.to("regionName"),"aria-live":e.to("politeness")},children:[{text:e.to("text")}]})}}class eT extends(gt()){constructor(t){super();this.isReady=false;this._editableElementsMap=new Map;this._focusableToolbarDefinitions=[];const e=t.editing.view;this.editor=t;this.componentFactory=new jE(t);this.focusTracker=new pl;this.tooltipManager=new TD(t);this.poweredBy=new FD(t);this.ariaLiveAnnouncer=new JD(t);this.set("viewportOffset",this._readViewportOffsetFromConfig());this.once("ready",(()=>{this.isReady=true}));this.listenTo(e.document,"layoutChanged",this.update.bind(this));this.listenTo(e,"scrollToTheSelection",this._handleScrollToTheSelection.bind(this));this._initFocusTracking()}get element(){return null}update(){this.fire("update")}destroy(){this.stopListening();this.focusTracker.destroy();this.tooltipManager.destroy(this.editor);this.poweredBy.destroy();for(const t of this._editableElementsMap.values()){t.ckeditorInstance=null;this.editor.keystrokes.stopListening(t)}this._editableElementsMap=new Map;this._focusableToolbarDefinitions=[]}setEditableElement(t,e){this._editableElementsMap.set(t,e);if(!e.ckeditorInstance){e.ckeditorInstance=this.editor}this.focusTracker.add(e);const n=()=>{if(this.editor.editing.view.getDomRoot(t)){return}this.editor.keystrokes.listenTo(e)};if(this.isReady){n()}else{this.once("ready",n)}}removeEditableElement(t){const e=this._editableElementsMap.get(t);if(!e){return}this._editableElementsMap.delete(t);this.editor.keystrokes.stopListening(e);this.focusTracker.remove(e);e.ckeditorInstance=null}getEditableElement(t="main"){return this._editableElementsMap.get(t)}getEditableElementsNames(){return this._editableElementsMap.keys()}addToolbar(t,e={}){if(t.isRendered){this.focusTracker.add(t.element);this.editor.keystrokes.listenTo(t.element)}else{t.once("render",(()=>{this.focusTracker.add(t.element);this.editor.keystrokes.listenTo(t.element)}))}this._focusableToolbarDefinitions.push({toolbarView:t,options:e})}get _editableElements(){console.warn("editor-ui-deprecated-editable-elements: "+"The EditorUI#_editableElements property has been deprecated and will be removed in the near future.",{editorUI:this});return this._editableElementsMap}_readViewportOffsetFromConfig(){const t=this.editor;const e=t.config.get("ui.viewportOffset");if(e){return e}const n=t.config.get("toolbar.viewportTopOffset");if(n){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.");return{top:n}}return{top:0}}_initFocusTracking(){const t=this.editor;const e=t.editing.view;let n;let i;t.keystrokes.set("Alt+F10",((t,o)=>{const r=this.focusTracker.focusedElement;if(Array.from(this._editableElementsMap.values()).includes(r)&&!Array.from(e.domRoots.values()).includes(r)){n=r}const s=this._getCurrentFocusedToolbarDefinition();if(!s||!i){i=this._getFocusableCandidateToolbarDefinitions()}for(let t=0;t{const o=this._getCurrentFocusedToolbarDefinition();if(!o){return}if(n){n.focus();n=null}else{t.editing.view.focus()}if(o.options.afterBlur){o.options.afterBlur()}i()}))}_getFocusableCandidateToolbarDefinitions(){const t=[];for(const e of this._focusableToolbarDefinitions){const{toolbarView:n,options:i}=e;if(Ec(n.element)||i.beforeFocus){t.push(e)}}t.sort(((t,e)=>nT(t)-nT(e)));return t}_getCurrentFocusedToolbarDefinition(){for(const t of this._focusableToolbarDefinitions){if(t.toolbarView.element&&t.toolbarView.element.contains(this.focusTracker.focusedElement)){return t}}return null}_focusFocusableCandidateToolbar(t){const{toolbarView:e,options:{beforeFocus:n}}=t;if(n){n()}if(!Ec(e.element)){return false}e.focus();return true}_handleScrollToTheSelection(t,e){const n={top:0,bottom:0,left:0,right:0,...this.viewportOffset};e.viewportOffset.top+=n.top;e.viewportOffset.bottom+=n.bottom;e.viewportOffset.left+=n.left;e.viewportOffset.right+=n.right}}function nT(t){const{toolbarView:e,options:n}=t;let i=10;if(Ec(e.element)){i--}if(n.isContextual){i--}return i}var iT=n(9847);var oT={injectType:"singletonStyleTag",attributes:{"data-cke":true}};oT.insert="head";oT.singleton=true;var rT=Ll()(iT.Z,oT);const sT=iT.Z.locals||{};class aT extends Fl{constructor(t){super(t);this.body=new md(t)}render(){super.render();this.body.attachToDom()}destroy(){this.body.detachFromDom();return super.destroy()}}class cT extends aT{constructor(t){super(t);this.top=this.createCollection();this.main=this.createCollection();this._voiceLabelView=this._createVoiceLabel();this.setTemplate({tag:"div",attributes:{class:["ck","ck-reset","ck-editor","ck-rounded-corners"],role:"application",dir:t.uiLanguageDirection,lang:t.uiLanguage,"aria-labelledby":this._voiceLabelView.id},children:[this._voiceLabelView,{tag:"div",attributes:{class:["ck","ck-editor__top","ck-reset_all"],role:"presentation"},children:this.top},{tag:"div",attributes:{class:["ck","ck-editor__main"],role:"presentation"},children:this.main}]})}_createVoiceLabel(){const t=this.t;const e=new ru;e.text=t("Rich Text Editor");e.extendTemplate({attributes:{class:"ck-voice-label"}});return e}}class lT extends Fl{constructor(t,e,n){super(t);this.name=null;this.setTemplate({tag:"div",attributes:{class:["ck","ck-content","ck-editor__editable","ck-rounded-corners"],lang:t.contentLanguage,dir:t.contentLanguageDirection}});this.set("isFocused",false);this._editableElement=n;this._hasExternalElement=!!this._editableElement;this._editingView=e}render(){super.render();if(this._hasExternalElement){this.template.apply(this.element=this._editableElement)}else{this._editableElement=this.element}this.on("change:isFocused",(()=>this._updateIsFocusedClasses()));this._updateIsFocusedClasses()}destroy(){if(this._hasExternalElement){this.template.revert(this._editableElement)}super.destroy()}get hasExternalElement(){return this._hasExternalElement}_updateIsFocusedClasses(){const t=this._editingView;if(t.isRenderingInProgress){n(this)}else{e(this)}function e(e){t.change((n=>{const i=t.document.getRoot(e.name);n.addClass(e.isFocused?"ck-focused":"ck-blurred",i);n.removeClass(e.isFocused?"ck-blurred":"ck-focused",i)}))}function n(i){t.once("change:isRenderingInProgress",((t,o,r)=>{if(!r){e(i)}else{n(i)}}))}}}class dT extends lT{constructor(t,e,n,i={}){super(t,e,n);const o=t.t;this.extendTemplate({attributes:{role:"textbox",class:"ck-editor__editable_inline"}});this._generateLabel=i.label||(()=>o("Editor editing area: %0",this.name))}render(){super.render();const t=this._editingView;t.change((e=>{const n=t.document.getRoot(this.name);e.setAttribute("aria-label",this._generateLabel(this),n)}))}}class uT extends(null&&View){constructor(t){super(t);const e=this.bindTemplate;this.setTemplate({tag:"iframe",attributes:{class:["ck","ck-reset_all"],sandbox:"allow-same-origin allow-scripts"},on:{load:e.to("loaded")}})}render(){return new Promise((t=>{this.on("loaded",t);return super.render()}))}}class hT extends Ku{static get pluginName(){return"Notification"}init(){this.on("show:warning",((t,e)=>{window.alert(e.message)}),{priority:"lowest"})}showSuccess(t,e={}){this._showNotification({message:t,type:"success",namespace:e.namespace,title:e.title})}showInfo(t,e={}){this._showNotification({message:t,type:"info",namespace:e.namespace,title:e.title})}showWarning(t,e={}){this._showNotification({message:t,type:"warning",namespace:e.namespace,title:e.title})}_showNotification(t){const e=t.namespace?`show:${t.type}:${t.namespace}`:`show:${t.type}`;this.fire(e,{message:t.message,type:t.type,title:t.title||""})}}class gT extends(gt()){constructor(t,e){super();if(e){Jm(this,e)}if(t){this.set(t)}}}var fT=n(7592);var mT={injectType:"singletonStyleTag",attributes:{"data-cke":true}};mT.insert="head";mT.singleton=true;var pT=Ll()(fT.Z,mT);const bT=fT.Z.locals||{};var kT=n(6356);var wT={injectType:"singletonStyleTag",attributes:{"data-cke":true}};wT.insert="head";wT.singleton=true;var AT=Ll()(kT.Z,wT);const CT=kT.Z.locals||{};const _T=Cc("px");class vT extends Hu{static get pluginName(){return"ContextualBalloon"}constructor(t){super(t);this._viewToStack=new Map;this._idToStack=new Map;this._view=null;this._rotatorView=null;this._fakePanelsView=null;this.positionLimiter=()=>{const t=this.editor.editing.view;const e=t.document;const n=e.selection.editableElement;if(n){return t.domConverter.mapViewToDom(n.root)}return null};this.set("visibleView",null);this.set("_numberOfStacks",0);this.set("_singleViewMode",false)}destroy(){super.destroy();if(this._view){this._view.destroy()}if(this._rotatorView){this._rotatorView.destroy()}if(this._fakePanelsView){this._fakePanelsView.destroy()}}get view(){if(!this._view){this._createPanelView()}return this._view}hasView(t){return Array.from(this._viewToStack.keys()).includes(t)}add(t){if(!this._view){this._createPanelView()}if(this.hasView(t.view)){throw new P("contextualballoon-add-view-exist",[this,t])}const e=t.stackId||"main";if(!this._idToStack.has(e)){this._idToStack.set(e,new Map([[t.view,t]]));this._viewToStack.set(t.view,this._idToStack.get(e));this._numberOfStacks=this._idToStack.size;if(!this._visibleStack||t.singleViewMode){this.showStack(e)}return}const n=this._idToStack.get(e);if(t.singleViewMode){this.showStack(e)}n.set(t.view,t);this._viewToStack.set(t.view,n);if(n===this._visibleStack){this._showView(t)}}remove(t){if(!this.hasView(t)){throw new P("contextualballoon-remove-view-not-exist",[this,t])}const e=this._viewToStack.get(t);if(this._singleViewMode&&this.visibleView===t){this._singleViewMode=false}if(this.visibleView===t){if(e.size===1){if(this._idToStack.size>1){this._showNextStack()}else{this.view.hide();this.visibleView=null;this._rotatorView.hideView()}}else{this._showView(Array.from(e.values())[e.size-2])}}if(e.size===1){this._idToStack.delete(this._getStackId(e));this._numberOfStacks=this._idToStack.size}else{e.delete(t)}this._viewToStack.delete(t)}updatePosition(t){if(t){this._visibleStack.get(this.visibleView).position=t}this.view.pin(this._getBalloonPosition());this._fakePanelsView.updatePosition()}showStack(t){this.visibleStack=t;const e=this._idToStack.get(t);if(!e){throw new P("contextualballoon-showstack-stack-not-exist",this)}if(this._visibleStack===e){return}this._showView(Array.from(e.values()).pop())}_createPanelView(){this._view=new wD(this.editor.locale);this.editor.ui.view.body.add(this._view);this.editor.ui.focusTracker.add(this._view.element);this._rotatorView=this._createRotatorView();this._fakePanelsView=this._createFakePanelsView()}get _visibleStack(){return this._viewToStack.get(this.visibleView)}_getStackId(t){const e=Array.from(this._idToStack.entries()).find((e=>e[1]===t));return e[0]}_showNextStack(){const t=Array.from(this._idToStack.values());let e=t.indexOf(this._visibleStack)+1;if(!t[e]){e=0}this.showStack(this._getStackId(t[e]))}_showPrevStack(){const t=Array.from(this._idToStack.values());let e=t.indexOf(this._visibleStack)-1;if(!t[e]){e=t.length-1}this.showStack(this._getStackId(t[e]))}_createRotatorView(){const t=new yT(this.editor.locale);const e=this.editor.locale.t;this.view.content.add(t);t.bind("isNavigationVisible").to(this,"_numberOfStacks",this,"_singleViewMode",((t,e)=>!e&&t>1));t.on("change:isNavigationVisible",(()=>this.updatePosition()),{priority:"low"});t.bind("counter").to(this,"visibleView",this,"_numberOfStacks",((t,n)=>{if(n<2){return""}const i=Array.from(this._idToStack.values()).indexOf(this._visibleStack)+1;return e("%0 of %1",[i,n])}));t.buttonNextView.on("execute",(()=>{if(t.focusTracker.isFocused){this.editor.editing.view.focus()}this._showNextStack()}));t.buttonPrevView.on("execute",(()=>{if(t.focusTracker.isFocused){this.editor.editing.view.focus()}this._showPrevStack()}));return t}_createFakePanelsView(){const t=new xT(this.editor.locale,this.view);t.bind("numberOfPanels").to(this,"_numberOfStacks",this,"_singleViewMode",((t,e)=>{const n=!e&&t>=2;return n?Math.min(t-1,2):0}));t.listenTo(this.view,"change:top",(()=>t.updatePosition()));t.listenTo(this.view,"change:left",(()=>t.updatePosition()));this.editor.ui.view.body.add(t);return t}_showView({view:t,balloonClassName:e="",withArrow:n=true,singleViewMode:i=false}){this.view.class=e;this.view.withArrow=n;this._rotatorView.showView(t);this.visibleView=t;this.view.pin(this._getBalloonPosition());this._fakePanelsView.updatePosition();if(i){this._singleViewMode=true}}_getBalloonPosition(){let t=Array.from(this._visibleStack.values()).pop().position;if(t){if(!t.limiter){t=Object.assign({},t,{limiter:this.positionLimiter})}t=Object.assign({},t,{viewportOffsetConfig:this.editor.ui.viewportOffset})}return t}}class yT extends Fl{constructor(t){super(t);const e=t.t;const n=this.bindTemplate;this.set("isNavigationVisible",true);this.focusTracker=new pl;this.buttonPrevView=this._createButtonView(e("Previous"),_y.previousArrow);this.buttonNextView=this._createButtonView(e("Next"),_y.nextArrow);this.content=this.createCollection();this.setTemplate({tag:"div",attributes:{class:["ck","ck-balloon-rotator"],"z-index":"-1"},children:[{tag:"div",attributes:{class:["ck-balloon-rotator__navigation",n.to("isNavigationVisible",(t=>t?"":"ck-hidden"))]},children:[this.buttonPrevView,{tag:"span",attributes:{class:["ck-balloon-rotator__counter"]},children:[{text:n.to("counter")}]},this.buttonNextView]},{tag:"div",attributes:{class:"ck-balloon-rotator__content"},children:this.content}]})}render(){super.render();this.focusTracker.add(this.element)}destroy(){super.destroy();this.focusTracker.destroy()}showView(t){this.hideView();this.content.add(t)}hideView(){this.content.clear()}_createButtonView(t,e){const n=new Dd(this.locale);n.set({label:t,icon:e,tooltip:true});return n}}class xT extends Fl{constructor(t,e){super(t);const n=this.bindTemplate;this.set("top",0);this.set("left",0);this.set("height",0);this.set("width",0);this.set("numberOfPanels",0);this.content=this.createCollection();this._balloonPanelView=e;this.setTemplate({tag:"div",attributes:{class:["ck-fake-panel",n.to("numberOfPanels",(t=>t?"":"ck-hidden"))],style:{top:n.to("top",_T),left:n.to("left",_T),width:n.to("width",_T),height:n.to("height",_T)}},children:this.content});this.on("change:numberOfPanels",((t,e,n,i)=>{if(n>i){this._addPanels(n-i)}else{this._removePanels(i-n)}this.updatePosition()}))}_addPanels(t){while(t--){const t=new Fl;t.setTemplate({tag:"div"});this.content.add(t);this.registerChild(t)}}_removePanels(t){while(t--){const t=this.content.last;this.content.remove(t);this.deregisterChild(t);t.destroy()}}updatePosition(){if(this.numberOfPanels){const{top:t,left:e}=this._balloonPanelView;const{width:n,height:i}=new uc(this._balloonPanelView.element);Object.assign(this,{top:t,left:e,width:n,height:i})}}}var ET=n(3707);var DT={injectType:"singletonStyleTag",attributes:{"data-cke":true}};DT.insert="head";DT.singleton=true;var TT=Ll()(ET.Z,DT);const IT=ET.Z.locals||{};const ST=Cc("px");class BT extends Fl{constructor(t){super(t);const e=this.bindTemplate;this.set("isActive",false);this.set("isSticky",false);this.set("limiterElement",null);this.set("limiterBottomOffset",50);this.set("viewportTopOffset",0);this.set("_marginLeft",null);this.set("_isStickyToTheBottomOfLimiter",false);this.set("_stickyTopOffset",null);this.set("_stickyBottomOffset",null);this.content=this.createCollection();this._contentPanelPlaceholder=new Hl({tag:"div",attributes:{class:["ck","ck-sticky-panel__placeholder"],style:{display:e.to("isSticky",(t=>t?"block":"none")),height:e.to("isSticky",(t=>t?ST(this._contentPanelRect.height):null))}}}).render();this.contentPanelElement=new Hl({tag:"div",attributes:{class:["ck","ck-sticky-panel__content",e.if("isSticky","ck-sticky-panel__content_sticky"),e.if("_isStickyToTheBottomOfLimiter","ck-sticky-panel__content_sticky_bottom-limit")],style:{width:e.to("isSticky",(t=>t?ST(this._contentPanelPlaceholder.getBoundingClientRect().width):null)),top:e.to("_stickyTopOffset",(t=>t?ST(t):t)),bottom:e.to("_stickyBottomOffset",(t=>t?ST(t):t)),marginLeft:e.to("_marginLeft")}},children:this.content}).render();this.setTemplate({tag:"div",attributes:{class:["ck","ck-sticky-panel"]},children:[this._contentPanelPlaceholder,this.contentPanelElement]})}render(){super.render();this.checkIfShouldBeSticky();this.listenTo(nc.document,"scroll",(()=>{this.checkIfShouldBeSticky()}),{useCapture:true});this.listenTo(this,"change:isActive",(()=>{this.checkIfShouldBeSticky()}))}checkIfShouldBeSticky(){if(!this.limiterElement||!this.isActive){this._unstick();return}const t=new uc(this.limiterElement);let e=t.getVisible();if(e){const t=new uc(nc.window);t.top+=this.viewportTopOffset;t.height-=this.viewportTopOffset;e=e.getIntersection(t)}if(e&&t.tope.bottom){const n=Math.max(t.bottom-e.bottom,0)+this.limiterBottomOffset;if(t.bottom-n>t.top+this._contentPanelRect.height){this._stickToBottomOfLimiter(n)}else{this._unstick()}}else{if(this._contentPanelRect.height+this.limiterBottomOffset{this.reset();this.focus();this.fire("reset")}));this.resetButtonView.bind("isVisible").to(this.fieldView,"isEmpty",(t=>!t));this.fieldWrapperChildren.add(this.resetButtonView);this.extendTemplate({attributes:{class:"ck-search__query_with-reset"}})}}reset(){this.fieldView.reset();if(this._viewConfig.showResetButton){this.resetButtonView.isVisible=false}}}class NT extends Fl{constructor(){super();const t=this.bindTemplate;this.set({isVisible:false,primaryText:"",secondaryText:""});this.setTemplate({tag:"div",attributes:{class:["ck","ck-search__info",t.if("isVisible","ck-hidden",(t=>!t))],tabindex:-1},children:[{tag:"span",children:[{text:[t.to("primaryText")]}]},{tag:"span",children:[{text:[t.to("secondaryText")]}]}]})}focus(){this.element.focus()}}class PT extends Fl{constructor(t){super(t);this.children=this.createCollection();this.focusTracker=new pl;this.setTemplate({tag:"div",attributes:{class:["ck","ck-search__results"],tabindex:-1},children:this.children});this._focusCycler=new Pu({focusables:this.children,focusTracker:this.focusTracker})}render(){super.render();for(const t of this.children){this.focusTracker.add(t.element)}}focus(){this._focusCycler.focusFirst()}focusFirst(){this._focusCycler.focusFirst()}focusLast(){this._focusCycler.focusLast()}}var LT=/[\\^$.*+?()[\]{}|]/g,zT=RegExp(LT.source);function VT(t){t=Xh(t);return t&&zT.test(t)?t.replace(LT,"\\$&"):t}const RT=VT;var OT=n(9332);var FT={injectType:"singletonStyleTag",attributes:{"data-cke":true}};FT.insert="head";FT.singleton=true;var jT=Ll()(OT.Z,FT);const HT=OT.Z.locals||{};class UT extends Fl{constructor(t,e){super(t);this._config=e;this.filteredView=e.filteredView;this.queryView=this._createSearchTextQueryView();this.focusTracker=new pl;this.keystrokes=new bl;this.resultsView=new PT(t);this.children=this.createCollection();this.focusableChildren=this.createCollection([this.queryView,this.resultsView]);this.set("isEnabled",true);this.set("resultsCount",0);this.set("totalItemsCount",0);if(e.infoView&&e.infoView.instance){this.infoView=e.infoView.instance}else{this.infoView=new NT;this._enableDefaultInfoViewBehavior();this.on("render",(()=>{this.search("")}))}this.resultsView.children.addMany([this.infoView,this.filteredView]);this.focusCycler=new Pu({focusables:this.focusableChildren,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}});this.on("search",((t,{resultsCount:e,totalItemsCount:n})=>{this.resultsCount=e;this.totalItemsCount=n}));this.setTemplate({tag:"div",attributes:{class:["ck","ck-search",e.class||null],tabindex:"-1"},children:this.children})}render(){super.render();this.children.addMany([this.queryView,this.resultsView]);const t=t=>t.stopPropagation();for(const t of this.focusableChildren){this.focusTracker.add(t.element)}this.keystrokes.listenTo(this.element);this.keystrokes.set("arrowright",t);this.keystrokes.set("arrowleft",t);this.keystrokes.set("arrowup",t);this.keystrokes.set("arrowdown",t)}focus(){this.queryView.focus()}reset(){this.queryView.reset();this.search("")}search(t){const e=t?new RegExp(RT(t),"ig"):null;const n=this.filteredView.filter(e);this.fire("search",{query:t,...n})}_createSearchTextQueryView(){const t=new MT(this.locale,this._config.queryView);this.listenTo(t.fieldView,"input",(()=>{this.search(t.fieldView.element.value)}));t.on("reset",(()=>this.reset()));t.bind("isEnabled").to(this);return t}_enableDefaultInfoViewBehavior(){const t=this.locale.t;const e=this.infoView;this.on("search",((i,o)=>{if(!o.resultsCount){const i=this._config.infoView&&this._config.infoView.text;let r,s;if(o.totalItemsCount){if(i&&i.notFound){r=i.notFound.primary;s=i.notFound.secondary}else{r=t("No results found");s=""}}else{if(i&&i.noSearchableItems){r=i.noSearchableItems.primary;s=i.noSearchableItems.secondary}else{r=t("No searchable items");s=""}}e.set({primaryText:n(r,o),secondaryText:n(s,o),isVisible:true})}else{e.set({isVisible:false})}}));function n(t,{query:e,resultsCount:n,totalItemsCount:i}){return typeof t==="function"?t(e,n,i):t}}}var WT=n(4029);var GT={injectType:"singletonStyleTag",attributes:{"data-cke":true}};GT.insert="head";GT.singleton=true;var qT=Ll()(WT.Z,GT);const ZT=WT.Z.locals||{};class $T extends UT{constructor(t,e){super(t,e);this._config=e;const n=Cc("px");this.extendTemplate({attributes:{class:["ck-autocomplete"]}});const i=this.resultsView.bindTemplate;this.resultsView.set("isVisible",false);this.resultsView.set("_position","s");this.resultsView.set("_width",0);this.resultsView.extendTemplate({attributes:{class:[i.if("isVisible","ck-hidden",(t=>!t)),i.to("_position",(t=>`ck-search__results_${t}`))],style:{width:i.to("_width",n)}}});this.focusTracker.on("change:isFocused",((t,n,i)=>{this._updateResultsVisibility();if(i){this.resultsView.element.scrollTop=0}else if(e.resetOnBlur){this.queryView.reset()}}));this.on("search",(()=>{this._updateResultsVisibility();this._updateResultsViewWidthAndPosition()}));this.keystrokes.set("esc",((t,e)=>{if(!this.resultsView.isVisible){return}this.queryView.focus();this.resultsView.isVisible=false;e()}));this.listenTo(nc.document,"scroll",(()=>{this._updateResultsViewWidthAndPosition()}));this.on("change:isEnabled",(()=>{this._updateResultsVisibility()}));this.filteredView.on("execute",((t,{value:e})=>{this.focus();this.reset();this.queryView.fieldView.value=this.queryView.fieldView.element.value=e;this.resultsView.isVisible=false}));this.resultsView.on("change:isVisible",(()=>{this._updateResultsViewWidthAndPosition()}))}_updateResultsViewWidthAndPosition(){if(!this.resultsView.isVisible){return}this.resultsView._width=new uc(this.queryView.fieldView.element).width;const t=$T._getOptimalPosition({element:this.resultsView.element,target:this.queryView.element,fitInViewport:true,positions:$T.defaultResultsPositions});this.resultsView._position=t?t.name:"s"}_updateResultsVisibility(){const t=typeof this._config.queryMinChars==="undefined"?0:this._config.queryMinChars;const e=this.queryView.fieldView.element.value.length;this.resultsView.isVisible=this.focusTracker.isFocused&&this.isEnabled&&e>=t}}$T.defaultResultsPositions=[t=>({top:t.bottom,left:t.left,name:"s"}),(t,e)=>({top:t.top-e.height,left:t.left,name:"n"})];$T._getOptimalPosition=Dc;const KT=null&&$T;var YT=n(4746);var QT={injectType:"singletonStyleTag",attributes:{"data-cke":true}};QT.insert="head";QT.singleton=true;var JT=Ll()(YT.Z,QT);const XT=YT.Z.locals||{};class tI extends(null&&View){constructor(){super();this.set("text",undefined);this.setTemplate({tag:"span",attributes:{class:["ck","ck-highlighted-text"]}});this.on("render",(()=>{this.on("change:text",(()=>{this._updateInnerHTML(this.text)}));this._updateInnerHTML(this.text)}))}highlightText(t){this._updateInnerHTML(eI(this.text||"",t))}_updateInnerHTML(t){this.element.innerHTML=t||""}}function eI(t,e){if(!e){return escape(t)}const n=[];let i=0;let o=e.exec(t);while(o!==null){const r=o.index;if(r!==i){n.push({text:t.substring(i,r),isMatch:false})}n.push({text:o[0],isMatch:true});i=e.lastIndex;o=e.exec(t)}if(i!==t.length){n.push({text:t.substring(i),isMatch:false})}const r=n.map((t=>{t.text=escape(t.text);return t})).map((t=>t.isMatch?`${t.text}`:t.text)).join("");return r}var nI=n(6446);var iI={injectType:"singletonStyleTag",attributes:{"data-cke":true}};iI.insert="head";iI.singleton=true;var oI=Ll()(nI.Z,iI);const rI=nI.Z.locals||{};class sI extends(null&&View){constructor(){super();this.set("isVisible",false);const t=this.bindTemplate;this.setTemplate({tag:"span",attributes:{class:["ck","ck-spinner-container",t.if("isVisible","ck-hidden",(t=>!t))]},children:[{tag:"span",attributes:{class:["ck","ck-spinner"]}}]})}}const aI=Cc("px");class cI extends(null&&Plugin){static get pluginName(){return"BalloonToolbar"}static get requires(){return[ContextualBalloon]}constructor(t){super(t);this._resizeObserver=null;this._balloonConfig=normalizeToolbarConfig(t.config.get("balloonToolbar"));this.toolbarView=this._createToolbarView();this.focusTracker=new FocusTracker;t.ui.once("ready",(()=>{this.focusTracker.add(t.ui.getEditableElement());this.focusTracker.add(this.toolbarView.element)}));t.ui.addToolbar(this.toolbarView,{beforeFocus:()=>this.show(true),afterBlur:()=>this.hide(),isContextual:true});this._balloon=t.plugins.get(ContextualBalloon);this._fireSelectionChangeDebounced=debounce((()=>this.fire("_selectionChangeDebounced")),200);this.decorate("show")}init(){const t=this.editor;const e=t.model.document.selection;this.listenTo(this.focusTracker,"change:isFocused",((t,e,n)=>{const i=this._balloon.visibleView===this.toolbarView;if(!n&&i){this.hide()}else if(n){this.show()}}));this.listenTo(e,"change:range",((t,n)=>{if(n.directChange||e.isCollapsed){this.hide()}this._fireSelectionChangeDebounced()}));this.listenTo(this,"_selectionChangeDebounced",(()=>{if(this.editor.editing.view.document.isFocused){this.show()}}));if(!this._balloonConfig.shouldNotGroupWhenFull){this.listenTo(t,"ready",(()=>{const e=t.ui.view.editable.element;this._resizeObserver=new ResizeObserver(e,(t=>{this.toolbarView.maxWidth=aI(t.contentRect.width*.9)}))}))}this.listenTo(this.toolbarView,"groupedItemsUpdate",(()=>{this._updatePosition()}))}afterInit(){const t=this.editor.ui.componentFactory;this.toolbarView.fillFromConfig(this._balloonConfig,t)}_createToolbarView(){const t=this.editor.locale.t;const e=!this._balloonConfig.shouldNotGroupWhenFull;const n=new ToolbarView(this.editor.locale,{shouldGroupWhenFull:e,isFloating:true});n.ariaLabel=t("Editor contextual toolbar");n.render();return n}show(t=false){const e=this.editor;const n=e.model.document.selection;const i=e.model.schema;if(this._balloon.hasView(this.toolbarView)){return}if(n.isCollapsed&&!t){return}if(lI(n,i)){return}if(Array.from(this.toolbarView.items).every((t=>t.isEnabled!==undefined&&!t.isEnabled))){return}this.listenTo(this.editor.ui,"update",(()=>{this._updatePosition()}));this._balloon.add({view:this.toolbarView,position:this._getBalloonPositionData(),balloonClassName:"ck-toolbar-container"})}hide(){if(this._balloon.hasView(this.toolbarView)){this.stopListening(this.editor.ui,"update");this._balloon.remove(this.toolbarView)}}_getBalloonPositionData(){const t=this.editor;const e=t.editing.view;const n=e.document;const i=n.selection;const o=n.selection.isBackward;return{target:()=>{const t=o?i.getFirstRange():i.getLastRange();const n=Rect.getDomRangeRects(e.domConverter.viewRangeToDom(t));if(o){return n[0]}else{if(n.length>1&&n[n.length-1].width===0){n.pop()}return n[n.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();if(this._resizeObserver){this._resizeObserver.destroy()}}_getBalloonPositions(t){const e=env.isSafari&&env.isiOS;const n=e?generatePositions({heightOffset:Math.max(BalloonPanelView.arrowHeightOffset,Math.round(20/global.window.visualViewport.scale))}):BalloonPanelView.defaultPositions;return t?[n.northWestArrowSouth,n.northWestArrowSouthWest,n.northWestArrowSouthEast,n.northWestArrowSouthMiddleEast,n.northWestArrowSouthMiddleWest,n.southWestArrowNorth,n.southWestArrowNorthWest,n.southWestArrowNorthEast,n.southWestArrowNorthMiddleWest,n.southWestArrowNorthMiddleEast]:[n.southEastArrowNorth,n.southEastArrowNorthEast,n.southEastArrowNorthWest,n.southEastArrowNorthMiddleEast,n.southEastArrowNorthMiddleWest,n.northEastArrowSouth,n.northEastArrowSouthEast,n.northEastArrowSouthWest,n.northEastArrowSouthMiddleEast,n.northEastArrowSouthMiddleWest]}}function lI(t,e){if(t.rangeCount===1){return false}return[...t.getRanges()].every((t=>{const n=t.getContainedElement();return n&&e.isSelectable(n)}))}var dI=n(4176);var uI={injectType:"singletonStyleTag",attributes:{"data-cke":true}};uI.insert="head";uI.singleton=true;var hI=Ll()(dI.Z,uI);const gI=dI.Z.locals||{};const fI=Cc("px");class mI extends(null&&ButtonView){constructor(t){super(t);const e=this.bindTemplate;this.isVisible=false;this.isToggleable=true;this.set("top",0);this.set("left",0);this.extendTemplate({attributes:{class:"ck-block-toolbar-button",style:{top:e.to("top",(t=>fI(t))),left:e.to("left",(t=>fI(t)))}}})}}const pI=Cc("px");class bI extends(null&&Plugin){static get pluginName(){return"BlockToolbar"}constructor(t){super(t);this._resizeObserver=null;this._blockToolbarConfig=normalizeToolbarConfig(this.editor.config.get("blockToolbar"));this.toolbarView=this._createToolbarView();this.panelView=this._createPanelView();this.buttonView=this._createButtonView();clickOutsideHandler({emitter:this.panelView,contextElements:[this.panelView.element,this.buttonView.element],activator:()=>this.panelView.isVisible,callback:()=>this._hidePanel()})}init(){const t=this.editor;const e=t.t;const n=e("Click to edit block");const i=e("Drag to move");const o=e("Edit block");const r=t.plugins.has("DragDropBlockToolbar");const s=r?`${n}\n${i}`:o;this.buttonView.label=s;if(r){this.buttonView.element.dataset.ckeTooltipClass="ck-tooltip_multi-line"}this.listenTo(t.model.document.selection,"change:range",((t,e)=>{if(e.directChange){this._hidePanel()}}));this.listenTo(t.ui,"update",(()=>this._updateButton()));this.listenTo(t,"change:isReadOnly",(()=>this._updateButton()),{priority:"low"});this.listenTo(t.ui.focusTracker,"change:isFocused",(()=>this._updateButton()));this.listenTo(this.buttonView,"change:isVisible",((t,e,n)=>{if(n){this.buttonView.listenTo(window,"resize",(()=>this._updateButton()))}else{this.buttonView.stopListening(window,"resize");this._hidePanel()}}));t.ui.addToolbar(this.toolbarView,{beforeFocus:()=>this._showPanel(),afterBlur:()=>this._hidePanel()})}afterInit(){this.toolbarView.fillFromConfig(this._blockToolbarConfig,this.editor.ui.componentFactory);for(const t of this.toolbarView.items){t.on("execute",(()=>this._hidePanel(true)),{priority:"high"})}}destroy(){super.destroy();this.panelView.destroy();this.buttonView.destroy();this.toolbarView.destroy();if(this._resizeObserver){this._resizeObserver.destroy()}}_createToolbarView(){const t=this.editor.locale.t;const e=!this._blockToolbarConfig.shouldNotGroupWhenFull;const n=new ToolbarView(this.editor.locale,{shouldGroupWhenFull:e,isFloating:true});n.ariaLabel=t("Editor block content toolbar");return n}_createPanelView(){const t=this.editor;const e=new BalloonPanelView(t.locale);e.content.add(this.toolbarView);e.class="ck-toolbar-container";t.ui.view.body.add(e);t.ui.focusTracker.add(e.element);this.toolbarView.keystrokes.set("Esc",((t,e)=>{this._hidePanel(true);e()}));return e}_createButtonView(){const t=this.editor;const e=t.t;const n=new BlockButtonView(t.locale);const i=this._blockToolbarConfig.icon;const o=NESTED_TOOLBAR_ICONS[i]||i||NESTED_TOOLBAR_ICONS.dragIndicator;n.set({label:e("Edit block"),icon:o,withText:false});n.bind("isOn").to(this.panelView,"isVisible");n.bind("tooltip").to(this.panelView,"isVisible",(t=>!t));this.listenTo(n,"execute",(()=>{if(!this.panelView.isVisible){this._showPanel()}else{this._hidePanel(true)}}));t.ui.view.body.add(n);t.ui.focusTracker.add(n.element);return n}_updateButton(){const t=this.editor;const e=t.model;const n=t.editing.view;if(!t.ui.focusTracker.isFocused){this._hideButton();return}if(!t.model.canEditAt(t.model.document.selection)){this._hideButton();return}const i=Array.from(e.document.selection.getSelectedBlocks())[0];if(!i||Array.from(this.toolbarView.items).every((t=>!t.isEnabled))){this._hideButton();return}const o=n.domConverter.mapViewToDom(t.editing.mapper.toViewElement(i));this.buttonView.isVisible=true;this._setupToolbarResize();this._attachButtonToElement(o);if(this.panelView.isVisible){this._showPanel()}}_hideButton(){this.buttonView.isVisible=false}_showPanel(){if(!this.buttonView.isVisible){return}const t=this.panelView.isVisible;this.panelView.show();const e=this._getSelectedEditableElement();this.toolbarView.maxWidth=this._getToolbarMaxWidth(e);this.panelView.pin({target:this.buttonView.element,limiter:e});if(!t){this.toolbarView.items.get(0).focus()}}_getSelectedEditableElement(){const t=this.editor.model.document.selection.getFirstRange().root.rootName;return this.editor.ui.getEditableElement(t)}_hidePanel(t){this.panelView.isVisible=false;if(t){this.editor.editing.view.focus()}}_attachButtonToElement(t){const e=window.getComputedStyle(t);const n=new Rect(this._getSelectedEditableElement());const i=parseInt(e.paddingTop,10);const o=parseInt(e.lineHeight,10)||parseInt(e.fontSize,10)*1.2;const r=new Rect(this.buttonView.element);const s=new Rect(t);let a;if(this.editor.locale.uiLanguageDirection==="ltr"){a=n.left-r.width}else{a=n.right}const c=s.top+i+(o-r.height)/2;r.moveTo(a,c);const l=r.toAbsoluteRect();this.buttonView.top=l.top;this.buttonView.left=l.left}_setupToolbarResize(){const t=this._getSelectedEditableElement();if(!this._blockToolbarConfig.shouldNotGroupWhenFull){if(this._resizeObserver&&this._resizeObserver.element!==t){this._resizeObserver.destroy();this._resizeObserver=null}if(!this._resizeObserver){this._resizeObserver=new ResizeObserver(t,(()=>{this.toolbarView.maxWidth=this._getToolbarMaxWidth(t)}))}}}_getToolbarMaxWidth(t){const e=new Rect(t);const n=new Rect(this.buttonView.element);const i=this.editor.locale.uiLanguageDirection==="rtl";const o=i?n.left-e.right+n.width:e.left-n.left;return pI(e.width+o)}}class kI extends eT{constructor(t,e){super(t);this.view=e;this._toolbarConfig=ju(t.config.get("toolbar"));this._elementReplacer=new yt;this.listenTo(t.editing.view,"scrollToTheSelection",this._handleScrollToTheSelectionWithStickyPanel.bind(this))}get element(){return this.view.element}init(t){const e=this.editor;const n=this.view;const i=e.editing.view;const o=n.editable;const r=i.document.getRoot();o.name=r.rootName;n.render();const s=o.element;this.setEditableElement(o.name,s);n.editable.bind("isFocused").to(this.focusTracker);i.attachDomRoot(s);if(t){this._elementReplacer.replace(t,this.element)}this._initPlaceholder();this._initToolbar();this._initDialogPluginIntegration();this.fire("ready")}destroy(){super.destroy();const t=this.view;const e=this.editor.editing.view;this._elementReplacer.restore();e.detachDomRoot(t.editable.name);t.destroy()}_initToolbar(){const t=this.view;t.stickyPanel.bind("isActive").to(this.focusTracker,"isFocused");t.stickyPanel.limiterElement=t.element;t.stickyPanel.bind("viewportTopOffset").to(this,"viewportOffset",(({top:t})=>t||0));t.toolbar.fillFromConfig(this._toolbarConfig,this.componentFactory);this.addToolbar(t.toolbar)}_initPlaceholder(){const t=this.editor;const e=t.editing.view;const n=e.document.getRoot();const i=t.sourceElement;let o;const r=t.config.get("placeholder");if(r){o=typeof r==="string"?r:r[this.view.editable.name]}if(!o&&i&&i.tagName.toLowerCase()==="textarea"){o=i.getAttribute("placeholder")}if(o){n.placeholder=o}nh({view:e,element:n,isDirectHost:false,keepOnFocus:true})}_handleScrollToTheSelectionWithStickyPanel(t,e,n){const i=this.view.stickyPanel;if(i.isSticky){const t=new uc(i.element).height;e.viewportOffset.top+=t}else{const t=()=>{this.editor.editing.view.scrollToTheSelection(n)};this.listenTo(i,"change:isSticky",t);setTimeout((()=>{this.stopListening(i,"change:isSticky",t)}),20)}}_initDialogPluginIntegration(){if(!this.editor.plugins.has("Dialog")){return}const t=this.view.stickyPanel;const e=this.editor.plugins.get("Dialog");e.on("show",(()=>{const n=e.view;n.on("moveTo",((e,i)=>{if(!t.isSticky||n.wasMoved){return}const o=new uc(t.contentPanelElement);if(i[1]{const e="error"in t?t.error:t.reason;if(e instanceof Error){this._handleError(e,t)}};this._listeners={};if(!this._restart){throw new Error("The Watchdog class was split into the abstract `Watchdog` class and the `EditorWatchdog` class. "+"Please, use `EditorWatchdog` if you have used the `Watchdog` class previously.")}}destroy(){this._stopErrorHandling();this._listeners={}}on(t,e){if(!this._listeners[t]){this._listeners[t]=[]}this._listeners[t].push(e)}off(t,e){this._listeners[t]=this._listeners[t].filter((t=>t!==e))}_fire(t,...e){const n=this._listeners[t]||[];for(const t of n){t.apply(this,[null,...e])}}_startErrorHandling(){window.addEventListener("error",this._boundErrorHandler);window.addEventListener("unhandledrejection",this._boundErrorHandler)}_stopErrorHandling(){window.removeEventListener("error",this._boundErrorHandler);window.removeEventListener("unhandledrejection",this._boundErrorHandler)}_handleError(t,e){if(this._shouldReactToError(t)){this.crashes.push({message:t.message,stack:t.stack,filename:e instanceof ErrorEvent?e.filename:undefined,lineno:e instanceof ErrorEvent?e.lineno:undefined,colno:e instanceof ErrorEvent?e.colno:undefined,date:this._now()});const n=this._shouldRestart();this.state="crashed";this._fire("stateChange");this._fire("error",{error:t,causesRestart:n});if(n){this._restart()}else{this.state="crashedPermanently";this._fire("stateChange")}}}_shouldReactToError(t){return t.is&&t.is("CKEditorError")&&t.context!==undefined&&t.context!==null&&this.state==="ready"&&this._isErrorComingFromThisItem(t)}_shouldRestart(){if(this.crashes.length<=this._crashNumberLimit){return true}const t=this.crashes[this.crashes.length-1].date;const e=this.crashes[this.crashes.length-1-this._crashNumberLimit].date;const n=(t-e)/this._crashNumberLimit;return n>this._minimumNonErrorTimePeriod}}function xI(t,e=new Set){const n=[t];const i=new Set;let o=0;while(n.length>o){const t=n[o++];if(i.has(t)||!EI(t)||e.has(t)){continue}i.add(t);if(Symbol.iterator in t){try{for(const e of t){n.push(e)}}catch(t){}}else{for(const e in t){if(e==="defaultValue"){continue}n.push(t[e])}}}return i}function EI(t){const e=Object.prototype.toString.call(t);const n=typeof t;return!(n==="number"||n==="boolean"||n==="string"||n==="symbol"||n==="function"||e==="[object Date]"||e==="[object RegExp]"||e==="[object Module]"||t===undefined||t===null||t._watchdogExcluded||t instanceof EventTarget||t instanceof Event)}function DI(t,e,n=new Set){if(t===e&&II(t)){return true}const i=xI(t,n);const o=xI(e,n);for(const t of i){if(o.has(t)){return true}}return false}function TI(t,e,n){const{subNodes:i,prevNodeMap:o}=getSubNodes(t,n.subNodes);const{subNodes:r,prevNodeMap:s}=getSubNodes(e,n.subNodes);for(const n of i){if(r.has(n)){const i=[];i.push(n);let r=o.get(n);while(r&&r!==t){i.push(r);r=o.get(r)}r=s.get(n);while(r&&r!==e){i.unshift(r);r=s.get(r)}console.log("--------");console.log({target1:t});console.log({sharedNode:n});console.log({target2:e});console.log({connection:i});return true}}return false}function II(t){return typeof t==="object"&&t!==null}class SI extends yI{constructor(t,e={}){super(e);this._editor=null;this._initUsingData=true;this._editables={};this._throttledSave=ND(this._save.bind(this),typeof e.saveInterval==="number"?e.saveInterval:5e3);if(t){this._creator=(e,n)=>t.create(e,n)}this._destructor=t=>t.destroy()}get editor(){return this._editor}get _item(){return this._editor}setCreator(t){this._creator=t}setDestructor(t){this._destructor=t}_restart(){return Promise.resolve().then((()=>{this.state="initializing";this._fire("stateChange");return this._destroy()})).catch((t=>{console.error("An error happened during the editor destroying.",t)})).then((()=>{const t={};const e=[];const n=this._config.rootsAttributes||{};const i={};for(const[o,r]of Object.entries(this._data.roots)){if(r.isLoaded){t[o]="";i[o]=n[o]||{}}else{e.push(o)}}const o={...this._config,extraPlugins:this._config.extraPlugins||[],lazyRoots:e,rootsAttributes:i,_watchdogInitialData:this._data};delete o.initialData;o.extraPlugins.push(BI);if(this._initUsingData){return this.create(t,o,o.context)}else{if(Wa(this._elementOrData)){return this.create(this._elementOrData,o,o.context)}else{return this.create(this._editables,o,o.context)}}})).then((()=>{this._fire("restart")}))}create(t=this._elementOrData,e=this._config,n){return Promise.resolve().then((()=>{super._startErrorHandling();this._elementOrData=t;this._initUsingData=typeof t=="string"||Object.keys(t).length>0&&typeof Object.values(t)[0]=="string";this._config=this._cloneEditorConfiguration(e)||{};this._config.context=n;return this._creator(t,this._config)})).then((t=>{this._editor=t;t.model.document.on("change:data",this._throttledSave);this._lastDocumentVersion=t.model.document.version;this._data=this._getData();if(!this._initUsingData){this._editables=this._getEditables()}this.state="ready";this._fire("stateChange")}))}destroy(){return Promise.resolve().then((()=>{this.state="destroyed";this._fire("stateChange");super.destroy();return this._destroy()}))}_destroy(){return Promise.resolve().then((()=>{this._stopErrorHandling();this._throttledSave.cancel();const t=this._editor;this._editor=null;t.model.document.off("change:data",this._throttledSave);return this._destructor(t)}))}_save(){const t=this._editor.model.document.version;try{this._data=this._getData();if(!this._initUsingData){this._editables=this._getEditables()}this._lastDocumentVersion=t}catch(t){console.error(t,"An error happened during restoring editor data. "+"Editor will be restored from the previously saved data.")}}_setExcludedProperties(t){this._excludedProps=t}_getData(){const t=this._editor;const e=t.model.document.roots.filter((t=>t.isAttached()&&t.rootName!="$graveyard"));const{plugins:n}=t;const i=n.has("CommentsRepository")&&n.get("CommentsRepository");const o=n.has("TrackChanges")&&n.get("TrackChanges");const r={roots:{},markers:{},commentThreads:JSON.stringify([]),suggestions:JSON.stringify([])};e.forEach((t=>{r.roots[t.rootName]={content:JSON.stringify(Array.from(t.getChildren())),attributes:JSON.stringify(Array.from(t.getAttributes())),isLoaded:t._isLoaded}}));for(const e of t.model.markers){if(!e._affectsData){continue}r.markers[e.name]={rangeJSON:e.getRange().toJSON(),usingOperation:e._managedUsingOperations,affectsData:e._affectsData}}if(i){r.commentThreads=JSON.stringify(i.getCommentThreads({toJSON:true,skipNotAttached:true}))}if(o){r.suggestions=JSON.stringify(o.getSuggestions({toJSON:true,skipNotAttached:true}))}return r}_getEditables(){const t={};for(const e of this.editor.model.document.getRootNames()){const n=this.editor.ui.getEditableElement(e);if(n){t[e]=n}}return t}_isErrorComingFromThisItem(t){return DI(this._editor,t.context,this._excludedProps)}_cloneEditorConfiguration(t){return Ha(t,((t,e)=>{if(Wa(t)){return t}if(e==="context"){return t}}))}}class BI{constructor(t){this.editor=t;this._data=t.config.get("_watchdogInitialData")}init(){this.editor.data.on("init",(t=>{t.stop();this.editor.model.enqueueChange({isUndoable:false},(t=>{this._restoreCollaborationData();this._restoreEditorData(t)}));this.editor.data.fire("ready")}),{priority:1e3-1})}_createNode(t,e){if("name"in e){const n=t.createElement(e.name,e.attributes);if(e.children){for(const i of e.children){n._appendChild(this._createNode(t,i))}}return n}else{return t.createText(e.data,e.attributes)}}_restoreEditorData(t){const e=this.editor;Object.entries(this._data.roots).forEach((([n,{content:i,attributes:o}])=>{const r=JSON.parse(i);const s=JSON.parse(o);const a=e.model.document.getRoot(n);for(const[e,n]of s){t.setAttribute(e,n,a)}for(const e of r){const n=this._createNode(t,e);t.insert(n,a,"end")}}));Object.entries(this._data.markers).forEach((([n,i])=>{const{document:o}=e.model;const{rangeJSON:{start:r,end:s},...a}=i;const c=o.getRoot(r.root);const l=t.createPositionFromPath(c,r.path,r.stickiness);const d=t.createPositionFromPath(c,s.path,s.stickiness);const u=t.createRange(l,d);t.addMarker(n,{range:u,...a})}))}_restoreCollaborationData(){const t=JSON.parse(this._data.commentThreads);const e=JSON.parse(this._data.suggestions);t.forEach((t=>{const e=this.editor.config.get("collaboration.channelId");const n=this.editor.plugins.get("CommentsRepository");if(n.hasCommentThread(t.threadId)){const e=n.getCommentThread(t.threadId);e.remove()}n.addCommentThread({channelId:e,...t})}));e.forEach((t=>{const e=this.editor.plugins.get("TrackChangesEditing");if(e.hasSuggestion(t.id)){const n=e.getSuggestion(t.id);n.attributes=t.attributes}else{e.addSuggestionData(t)}}))}}const MI=Symbol("MainQueueId");class NI extends yI{constructor(t,e={}){super(e);this._watchdogs=new Map;this._context=null;this._contextProps=new Set;this._actionQueues=new PI;this._watchdogConfig=e;this._creator=e=>t.create(e);this._destructor=t=>t.destroy();this._actionQueues.onEmpty((()=>{if(this.state==="initializing"){this.state="ready";this._fire("stateChange")}}))}setCreator(t){this._creator=t}setDestructor(t){this._destructor=t}get context(){return this._context}create(t={}){return this._actionQueues.enqueue(MI,(()=>{this._contextConfig=t;return this._create()}))}getItem(t){const e=this._getWatchdog(t);return e._item}getItemState(t){const e=this._getWatchdog(t);return e.state}add(t){const e=LI(t);return Promise.all(e.map((t=>this._actionQueues.enqueue(t.id,(()=>{if(this.state==="destroyed"){throw new Error("Cannot add items to destroyed watchdog.")}if(!this._context){throw new Error("Context was not created yet. You should call the `ContextWatchdog#create()` method first.")}let e;if(this._watchdogs.has(t.id)){throw new Error(`Item with the given id is already added: '${t.id}'.`)}if(t.type==="editor"){e=new SI(null,this._watchdogConfig);e.setCreator(t.creator);e._setExcludedProperties(this._contextProps);if(t.destructor){e.setDestructor(t.destructor)}this._watchdogs.set(t.id,e);e.on("error",((n,{error:i,causesRestart:o})=>{this._fire("itemError",{itemId:t.id,error:i});if(!o){return}this._actionQueues.enqueue(t.id,(()=>new Promise((n=>{const i=()=>{e.off("restart",i);this._fire("itemRestart",{itemId:t.id});n()};e.on("restart",i)}))))}));return e.create(t.sourceElementOrData,t.config,this._context)}else{throw new Error(`Not supported item type: '${t.type}'.`)}})))))}remove(t){const e=LI(t);return Promise.all(e.map((t=>this._actionQueues.enqueue(t,(()=>{const e=this._getWatchdog(t);this._watchdogs.delete(t);return e.destroy()})))))}destroy(){return this._actionQueues.enqueue(MI,(()=>{this.state="destroyed";this._fire("stateChange");super.destroy();return this._destroy()}))}_restart(){return this._actionQueues.enqueue(MI,(()=>{this.state="initializing";this._fire("stateChange");return this._destroy().catch((t=>{console.error("An error happened during destroying the context or items.",t)})).then((()=>this._create())).then((()=>this._fire("restart")))}))}_create(){return Promise.resolve().then((()=>{this._startErrorHandling();return this._creator(this._contextConfig)})).then((t=>{this._context=t;this._contextProps=xI(this._context);return Promise.all(Array.from(this._watchdogs.values()).map((t=>{t._setExcludedProperties(this._contextProps);return t.create(undefined,undefined,this._context)})))}))}_destroy(){return Promise.resolve().then((()=>{this._stopErrorHandling();const t=this._context;this._context=null;this._contextProps=new Set;return Promise.all(Array.from(this._watchdogs.values()).map((t=>t.destroy()))).then((()=>this._destructor(t)))}))}_getWatchdog(t){const e=this._watchdogs.get(t);if(!e){throw new Error(`Item with the given id was not registered: ${t}.`)}return e}_isErrorComingFromThisItem(t){for(const e of this._watchdogs.values()){if(e._isErrorComingFromThisItem(t)){return false}}return DI(this._context,t.context)}}class PI{constructor(){this._onEmptyCallbacks=[];this._queues=new Map;this._activeActions=0}onEmpty(t){this._onEmptyCallbacks.push(t)}enqueue(t,e){const n=t===MI;this._activeActions++;if(!this._queues.get(t)){this._queues.set(t,Promise.resolve())}const i=n?Promise.all(this._queues.values()):Promise.all([this._queues.get(MI),this._queues.get(t)]);const o=i.then(e);const r=o.catch((()=>{}));this._queues.set(t,r);return o.finally((()=>{this._activeActions--;if(this._queues.get(t)===r&&this._activeActions===0){this._onEmptyCallbacks.forEach((t=>t()))}}))}}function LI(t){return Array.isArray(t)?t:[t]}class zI extends(dv(uv(av))){constructor(t,e={}){if(!OI(t)&&e.initialData!==undefined){throw new P("editor-create-initial-data",null)}super(e);if(this.config.get("initialData")===undefined){this.config.set("initialData",RI(t))}if(OI(t)){this.sourceElement=t}this.model.document.createRoot();const n=!this.config.get("toolbar.shouldNotGroupWhenFull");const i=new vI(this.locale,this.editing.view,{shouldToolbarGroupWhenFull:n});this.ui=new kI(this,i);cv(this)}destroy(){if(this.sourceElement){this.updateSourceElement()}this.ui.destroy();return super.destroy()}static create(t,e={}){return new Promise((n=>{const i=new this(t,e);n(i.initPlugins().then((()=>i.ui.init(OI(t)?t:null))).then((()=>i.data.init(i.config.get("initialData")))).then((()=>i.fire("ready"))).then((()=>i)))}))}}zI.Context=$u;zI.EditorWatchdog=SI;zI.ContextWatchdog=NI;const VI=zI;function RI(t){return OI(t)?rc(t):t}function OI(t){return Wa(t)}class FI{constructor(t,e=20){this._batch=null;this.model=t;this._size=0;this.limit=e;this._isLocked=false;this._changeCallback=(t,e)=>{if(e.isLocal&&e.isUndoable&&e!==this._batch){this._reset(true)}};this._selectionChangeCallback=()=>{this._reset()};this.model.document.on("change",this._changeCallback);this.model.document.selection.on("change:range",this._selectionChangeCallback);this.model.document.selection.on("change:attribute",this._selectionChangeCallback)}get batch(){if(!this._batch){this._batch=this.model.createBatch({isTyping:true})}return this._batch}get size(){return this._size}input(t){this._size+=t;if(this._size>=this.limit){this._reset(true)}}get isLocked(){return this._isLocked}lock(){this._isLocked=true}unlock(){this._isLocked=false}destroy(){this.model.document.off("change",this._changeCallback);this.model.document.selection.off("change:range",this._selectionChangeCallback);this.model.document.selection.off("change:attribute",this._selectionChangeCallback)}_reset(t=false){if(!this.isLocked||t){this._batch=null;this._size=0}}}class jI extends Wu{constructor(t,e){super(t);this._buffer=new FI(t.model,e);this._isEnabledBasedOnSelection=false}get buffer(){return this._buffer}destroy(){super.destroy();this._buffer.destroy()}execute(t={}){const e=this.editor.model;const n=e.document;const i=t.text||"";const o=i.length;let r=n.selection;if(t.selection){r=t.selection}else if(t.range){r=e.createSelection(t.range)}if(!e.canEditAt(r)){return}const s=t.resultRange;e.enqueueChange(this._buffer.batch,(t=>{this._buffer.lock();const a=Array.from(n.selection.getAttributes());e.deleteContent(r);if(i){e.insertContent(t.createText(i,a),r)}if(s){t.setSelection(s)}else if(!r.is("documentSelection")){t.setSelection(r)}this._buffer.unlock();this._buffer.input(o)}))}}const HI=["insertText","insertReplacementText"];class UI extends Ym{constructor(t){super(t);this.focusObserver=t.getObserver(yb);if(l.isAndroid){HI.push("insertCompositionText")}const e=t.document;e.on("beforeinput",((n,i)=>{if(!this.isEnabled){return}const{data:o,targetRanges:r,inputType:s,domEvent:a}=i;if(!HI.includes(s)){return}this.focusObserver.flush();const c=new D(e,"insertText");e.fire(c,new Xm(t,a,{text:o,selection:t.createSelection(r)}));if(c.stop.called){n.stop()}}));e.on("compositionend",((n,{data:i,domEvent:o})=>{if(!this.isEnabled||l.isAndroid){return}if(!i){return}e.fire("insertText",new Xm(t,o,{text:i,selection:e.selection}))}),{priority:"lowest"})}observe(){}stopObserving(){}}class WI extends Hu{static get pluginName(){return"Input"}init(){const t=this.editor;const e=t.model;const n=t.editing.view;const i=e.document.selection;n.addObserver(UI);const o=new jI(t,t.config.get("typing.undoStep")||20);t.commands.add("insertText",o);t.commands.add("input",o);this.listenTo(n.document,"insertText",((i,o)=>{if(!n.document.isComposing){o.preventDefault()}const{text:r,selection:s,resultRange:a}=o;const c=Array.from(s.getRanges()).map((e=>t.editing.mapper.toModelRange(e)));let d=r;if(l.isAndroid){const t=Array.from(c[0].getItems()).reduce(((t,e)=>t+(e.is("$textProxy")?e.data:"")),"");if(t){if(t.length<=d.length){if(d.startsWith(t)){d=d.substring(t.length);c[0].start=c[0].start.getShiftedBy(t.length)}}else{if(t.startsWith(d)){c[0].start=c[0].start.getShiftedBy(d.length);d=""}}}}const u={text:d,selection:e.createSelection(c)};if(a){u.resultRange=t.editing.mapper.toModelRange(a)}t.execute("insertText",u);n.scrollToTheSelection()}));if(l.isAndroid){this.listenTo(n.document,"keydown",((t,r)=>{if(i.isCollapsed||r.keyCode!=229||!n.document.isComposing){return}GI(e,o)}))}else{this.listenTo(n.document,"compositionstart",(()=>{if(i.isCollapsed){return}GI(e,o)}))}}}function GI(t,e){if(!e.isEnabled){return}const n=e.buffer;n.lock();t.enqueueChange(n.batch,(()=>{t.deleteContent(t.document.selection)}));n.unlock()}class qI extends Wu{constructor(t,e){super(t);this.direction=e;this._buffer=new FI(t.model,t.config.get("typing.undoStep"));this._isEnabledBasedOnSelection=false}get buffer(){return this._buffer}execute(t={}){const e=this.editor.model;const n=e.document;e.enqueueChange(this._buffer.batch,(i=>{this._buffer.lock();const o=i.createSelection(t.selection||n.selection);if(!e.canEditAt(o)){return}const r=t.sequence||1;const s=o.isCollapsed;if(o.isCollapsed){e.modifySelection(o,{direction:this.direction,unit:t.unit,treatEmojiAsSingleUnit:true})}if(this._shouldEntireContentBeReplacedWithParagraph(r)){this._replaceEntireContentWithParagraph(i);return}if(this._shouldReplaceFirstBlockWithParagraph(o,r)){this.editor.execute("paragraph",{selection:o});return}if(o.isCollapsed){return}let a=0;o.getFirstRange().getMinimalFlatRanges().forEach((t=>{a+=xt(t.getWalker({singleCharacters:true,ignoreElementEnd:true,shallow:true}))}));e.deleteContent(o,{doNotResetEntireContent:s,direction:this.direction});this._buffer.input(a);i.setSelection(o);this._buffer.unlock()}))}_shouldEntireContentBeReplacedWithParagraph(t){if(t>1){return false}const e=this.editor.model;const n=e.document;const i=n.selection;const o=e.schema.getLimitElement(i);const r=i.isCollapsed&&i.containsEntireContent(o);if(!r){return false}if(!e.schema.checkChild(o,"paragraph")){return false}const s=o.getChild(0);if(s&&s.is("element","paragraph")){return false}return true}_replaceEntireContentWithParagraph(t){const e=this.editor.model;const n=e.document;const i=n.selection;const o=e.schema.getLimitElement(i);const r=t.createElement("paragraph");t.remove(t.createRangeIn(o));t.insert(r,o);t.setSelection(r,0)}_shouldReplaceFirstBlockWithParagraph(t,e){const n=this.editor.model;if(e>1||this.direction!="backward"){return false}if(!t.isCollapsed){return false}const i=t.getFirstPosition();const o=n.schema.getLimitElement(i);const r=o.getChild(0);if(i.parent!=r){return false}if(!t.containsEntireContent(r)){return false}if(!n.schema.checkChild(o,"paragraph")){return false}if(r.name=="paragraph"){return false}return true}}const ZI="character";const $I="word";const KI="codePoint";const YI="selection";const QI="backward";const JI="forward";const XI={deleteContent:{unit:YI,direction:QI},deleteContentBackward:{unit:KI,direction:QI},deleteWordBackward:{unit:$I,direction:QI},deleteHardLineBackward:{unit:YI,direction:QI},deleteSoftLineBackward:{unit:YI,direction:QI},deleteContentForward:{unit:ZI,direction:JI},deleteWordForward:{unit:$I,direction:JI},deleteHardLineForward:{unit:YI,direction:JI},deleteSoftLineForward:{unit:YI,direction:JI}};class tS extends Ym{constructor(t){super(t);const e=t.document;let n=0;e.on("keydown",(()=>{n++}));e.on("keyup",(()=>{n=0}));e.on("beforeinput",((i,o)=>{if(!this.isEnabled){return}const{targetRanges:r,domEvent:s,inputType:a}=o;const c=XI[a];if(!c){return}const d={direction:c.direction,unit:c.unit,sequence:n};if(d.unit==YI){d.selectionToRemove=t.createSelection(r[0])}if(a==="deleteContentBackward"){if(l.isAndroid){d.sequence=1}if(nS(r)){d.unit=YI;d.selectionToRemove=t.createSelection(r)}}const u=new Mf(e,"delete",r[0]);e.fire(u,new Xm(t,s,d));if(u.stop.called){i.stop()}}));if(l.isBlink){eS(this)}}observe(){}stopObserving(){}}function eS(t){const e=t.view;const n=e.document;let i=null;let o=false;n.on("keydown",((t,{keyCode:e})=>{i=e;o=false}));n.on("keyup",((a,{keyCode:c,domEvent:l})=>{const d=n.selection;const u=t.isEnabled&&c==i&&r(c)&&!d.isCollapsed&&!o;i=null;if(u){const t=d.getFirstRange();const i=new Mf(n,"delete",t);const o={unit:YI,direction:s(c),selectionToRemove:d};n.fire(i,new Xm(e,l,o))}}));n.on("beforeinput",((t,{inputType:e})=>{const n=XI[e];const a=r(i)&&n&&n.direction==s(i);if(a){o=true}}),{priority:"high"});n.on("beforeinput",((t,{inputType:e,data:n})=>{const o=i==Zc.delete&&e=="insertText"&&n=="";if(o){t.stop()}}),{priority:"high"});function r(t){return t==Zc.backspace||t==Zc.delete}function s(t){return t==Zc.backspace?QI:JI}}function nS(t){if(t.length!=1||t[0].isCollapsed){return false}const e=t[0].getWalker({direction:"backward",singleCharacters:true,ignoreElementEnd:true});let n=0;for(const{nextPosition:t}of e){if(!t.parent.is("$text")){n++}else{const e=t.parent.data;const i=t.offset;if(Dl(e,i)||Tl(e,i)||Sl(e,i)){continue}n++}if(n>1){return true}}return false}class iS extends Hu{static get pluginName(){return"Delete"}init(){const t=this.editor;const e=t.editing.view;const n=e.document;const i=t.model.document;e.addObserver(tS);this._undoOnBackspace=false;const o=new qI(t,"forward");t.commands.add("deleteForward",o);t.commands.add("forwardDelete",o);t.commands.add("delete",new qI(t,"backward"));this.listenTo(n,"delete",((i,o)=>{if(!n.isComposing){o.preventDefault()}const{direction:r,sequence:s,selectionToRemove:a,unit:c}=o;const l=r==="forward"?"deleteForward":"delete";const d={sequence:s};if(c=="selection"){const e=Array.from(a.getRanges()).map((e=>t.editing.mapper.toModelRange(e)));d.selection=t.model.createSelection(e)}else{d.unit=c}t.execute(l,d);e.scrollToTheSelection()}),{priority:"low"});if(this.editor.plugins.has("UndoEditing")){this.listenTo(n,"delete",((e,n)=>{if(this._undoOnBackspace&&n.direction=="backward"&&n.sequence==1&&n.unit=="codePoint"){this._undoOnBackspace=false;t.execute("undo");n.preventDefault();e.stop()}}),{context:"$capture"});this.listenTo(i,"change",(()=>{this._undoOnBackspace=false}))}}requestUndoOnBackspace(){if(this.editor.plugins.has("UndoEditing")){this._undoOnBackspace=true}}}class oS extends Hu{static get requires(){return[WI,iS]}static get pluginName(){return"Typing"}}function rS(t,e){let n=t.start;const i=Array.from(t.getWalker({ignoreElementEnd:false})).reduce(((t,{item:i})=>{if(!(i.is("$text")||i.is("$textProxy"))){n=e.createPositionAfter(i);return""}return t+i.data}),"");return{text:i,range:e.createRange(n,t.end)}}class sS extends(gt()){constructor(t,e){super();this.model=t;this.testCallback=e;this._hasMatch=false;this.set("isEnabled",true);this.on("change:isEnabled",(()=>{if(this.isEnabled){this._startListening()}else{this.stopListening(t.document.selection);this.stopListening(t.document)}}));this._startListening()}get hasMatch(){return this._hasMatch}_startListening(){const t=this.model;const e=t.document;this.listenTo(e.selection,"change:range",((t,{directChange:n})=>{if(!n){return}if(!e.selection.isCollapsed){if(this.hasMatch){this.fire("unmatched");this._hasMatch=false}return}this._evaluateTextBeforeSelection("selection")}));this.listenTo(e,"change:data",((t,e)=>{if(e.isUndo||!e.isLocal){return}this._evaluateTextBeforeSelection("data",{batch:e})}))}_evaluateTextBeforeSelection(t,e={}){const n=this.model;const i=n.document;const o=i.selection;const r=n.createRange(n.createPositionAt(o.focus.parent,0),o.focus);const{text:s,range:a}=rS(r,n);const c=this.testCallback(s);if(!c&&this.hasMatch){this.fire("unmatched")}this._hasMatch=!!c;if(c){const n=Object.assign(e,{text:s,range:a});if(typeof c=="object"){Object.assign(n,c)}this.fire(`matched:${t}`,n)}}}class aS extends Hu{static get pluginName(){return"TwoStepCaretMovement"}constructor(t){super(t);this._isNextGravityRestorationSkipped=false;this.attributes=new Set;this._overrideUid=null}init(){const t=this.editor;const e=t.model;const n=t.editing.view;const i=t.locale;const o=e.document.selection;this.listenTo(n.document,"arrowKey",((t,e)=>{if(!o.isCollapsed){return}if(e.shiftKey||e.altKey||e.ctrlKey){return}const n=e.keyCode==Zc.arrowright;const r=e.keyCode==Zc.arrowleft;if(!n&&!r){return}const s=i.contentLanguageDirection;let a=false;if(s==="ltr"&&n||s==="rtl"&&r){a=this._handleForwardMovement(e)}else{a=this._handleBackwardMovement(e)}if(a===true){t.stop()}}),{context:"$text",priority:"highest"});this.listenTo(o,"change:range",((t,e)=>{if(this._isNextGravityRestorationSkipped){this._isNextGravityRestorationSkipped=false;return}if(!this._isGravityOverridden){return}if(!e.directChange&&gS(o.getFirstPosition(),this.attributes)){return}this._restoreGravity()}));this._enableClickingAfterNode();this._enableInsertContentSelectionAttributesFixer();this._handleDeleteContentAfterNode()}registerAttribute(t){this.attributes.add(t)}_handleForwardMovement(t){const e=this.attributes;const n=this.editor.model;const i=n.document.selection;const o=i.getFirstPosition();if(this._isGravityOverridden){return false}if(o.isAtStart&&cS(i,e)){return false}if(gS(o,e)){uS(t);if(cS(i,e)&&gS(o,e,true)){dS(n,e)}else{this._overrideGravity()}return true}return false}_handleBackwardMovement(t){const e=this.attributes;const n=this.editor.model;const i=n.document.selection;const o=i.getFirstPosition();if(this._isGravityOverridden){uS(t);this._restoreGravity();if(gS(o,e,true)){dS(n,e)}else{lS(n,e,o)}return true}else{if(o.isAtStart){if(cS(i,e)){uS(t);lS(n,e,o);return true}return false}if(!cS(i,e)&&gS(o,e,true)){uS(t);lS(n,e,o);return true}if(hS(o,e)){if(o.isAtEnd&&!cS(i,e)&&gS(o,e)){uS(t);lS(n,e,o);return true}this._isNextGravityRestorationSkipped=true;this._overrideGravity();return false}}return false}_enableClickingAfterNode(){const t=this.editor;const e=t.model;const n=e.document.selection;const i=t.editing.view.document;t.editing.view.addObserver(h_);let o=false;this.listenTo(i,"mousedown",(()=>{o=true}));this.listenTo(i,"selectionChange",(()=>{const t=this.attributes;if(!o){return}o=false;if(!n.isCollapsed){return}if(!cS(n,t)){return}const i=n.getFirstPosition();if(!gS(i,t)){return}if(i.isAtStart||gS(i,t,true)){dS(e,t)}else if(!this._isGravityOverridden){this._overrideGravity()}}))}_enableInsertContentSelectionAttributesFixer(){const t=this.editor;const e=t.model;const n=e.document.selection;const i=this.attributes;this.listenTo(e,"insertContent",(()=>{const t=n.getFirstPosition();if(cS(n,i)&&gS(t,i)){dS(e,i)}}),{priority:"low"})}_handleDeleteContentAfterNode(){const t=this.editor;const e=t.model;const n=e.document.selection;const i=t.editing.view;let o=false;let r=false;this.listenTo(i.document,"delete",((t,e)=>{o=e.direction==="backward"}),{priority:"high"});this.listenTo(e,"deleteContent",(()=>{if(!o){return}const t=n.getFirstPosition();r=cS(n,this.attributes)&&!hS(t,this.attributes)}),{priority:"high"});this.listenTo(e,"deleteContent",(()=>{if(!o){return}o=false;if(r){return}t.model.enqueueChange((()=>{const t=n.getFirstPosition();if(cS(n,this.attributes)&&gS(t,this.attributes)){if(t.isAtStart||gS(t,this.attributes,true)){dS(e,this.attributes)}else if(!this._isGravityOverridden){this._overrideGravity()}}}))}),{priority:"low"})}get _isGravityOverridden(){return!!this._overrideUid}_overrideGravity(){this._overrideUid=this.editor.model.change((t=>t.overrideSelectionGravity()))}_restoreGravity(){this.editor.model.change((t=>{t.restoreSelectionGravity(this._overrideUid);this._overrideUid=null}))}}function cS(t,e){for(const n of e){if(t.hasAttribute(n)){return true}}return false}function lS(t,e,n){const i=n.nodeBefore;t.change((n=>{if(i){const e=[];const o=t.schema.isObject(i)&&t.schema.isInline(i);for(const[n,r]of i.getAttributes()){if(t.schema.checkAttribute("$text",n)&&(!o||t.schema.getAttributeProperties(n).copyFromObject!==false)){e.push([n,r])}}n.setSelectionAttribute(e)}else{n.removeSelectionAttribute(e)}}))}function dS(t,e){t.change((t=>{t.removeSelectionAttribute(e)}))}function uS(t){t.preventDefault()}function hS(t,e){const n=t.getShiftedBy(-1);return gS(n,e)}function gS(t,e,n=false){const{nodeBefore:i,nodeAfter:o}=t;for(const t of e){const e=i?i.getAttribute(t):undefined;const r=o?o.getAttribute(t):undefined;if(n&&(e===undefined||r===undefined)){continue}if(r!==e){return true}}return false}const fS={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:CS('"'),to:[null,"“",null,"”"]},quotesSecondary:{from:CS("'"),to:[null,"‘",null,"’"]},quotesPrimaryEnGb:{from:CS("'"),to:[null,"‘",null,"’"]},quotesSecondaryEnGb:{from:CS('"'),to:[null,"“",null,"”"]},quotesPrimaryPl:{from:CS('"'),to:[null,"„",null,"”"]},quotesSecondaryPl:{from:CS("'"),to:[null,"‚",null,"’"]}};const mS={symbols:["copyright","registeredTrademark","trademark"],mathematical:["oneHalf","oneThird","twoThirds","oneForth","threeQuarters","lessThanOrEqual","greaterThanOrEqual","notEqual","arrowLeft","arrowRight"],typography:["horizontalEllipsis","enDash","emDash"],quotes:["quotesPrimary","quotesSecondary"]};const pS=["symbols","mathematical","typography","quotes"];class bS extends Hu{static get requires(){return["Delete","Input"]}static get pluginName(){return"TextTransformation"}constructor(t){super(t);t.config.define("typing",{transformations:{include:pS}})}init(){const t=this.editor.model;const e=t.document.selection;e.on("change:range",(()=>{this.isEnabled=!e.anchor.parent.is("element","codeBlock")}));this._enableTransformationWatchers()}_enableTransformationWatchers(){const t=this.editor;const e=t.model;const n=t.plugins.get("Delete");const i=_S(t.config.get("typing.transformations"));const o=t=>{for(const e of i){const n=e.from;const i=n.test(t);if(i){return{normalizedTransformation:e}}}};const r=new sS(t.model,o);r.on("matched:data",((t,i)=>{if(!i.batch.isTyping){return}const{from:o,to:r}=i.normalizedTransformation;const s=o.exec(i.text);const a=r(s.slice(1));const c=i.range;let l=s.index;e.enqueueChange((t=>{for(let n=1;n{n.requestUndoOnBackspace()}))}))}));r.bind("isEnabled").to(this)}}function kS(t){if(typeof t=="string"){return new RegExp(`(${RT(t)})$`)}return t}function wS(t){if(typeof t=="string"){return()=>[t]}else if(t instanceof Array){return()=>t}return t}function AS(t){const e=t.textNode?t.textNode:t.nodeAfter;return e.getAttributes()}function CS(t){return new RegExp(`(^|\\s)(${t})([^${t}]*)(${t})$`)}function _S(t){const e=t.extra||[];const n=t.remove||[];const i=t=>!n.includes(t);const o=t.include.concat(e).filter(i);return vS(o).filter(i).map((t=>typeof t=="string"&&fS[t]?fS[t]:t)).filter((t=>typeof t==="object")).map((t=>({from:kS(t.from),to:wS(t.to)})))}function vS(t){const e=new Set;for(const n of t){if(typeof n=="string"&&mS[n]){for(const t of mS[n]){e.add(t)}}else{e.add(n)}}return Array.from(e)}function yS(t,e,n,i){return i.createRange(xS(t,e,n,true,i),xS(t,e,n,false,i))}function xS(t,e,n,i,o){let r=t.textNode||(i?t.nodeBefore:t.nodeAfter);let s=null;while(r&&r.getAttribute(e)==n){s=r;r=i?r.previousSibling:r.nextSibling}return s?o.createPositionAt(s,i?"before":"after"):t}function ES(t,e,n,i){const o=t.editing.view;const r=new Set;o.document.registerPostFixer((o=>{const s=t.model.document.selection;let a=false;if(s.hasAttribute(e)){const c=yS(s.getFirstPosition(),e,s.getAttribute(e),t.model);const l=t.editing.mapper.toViewRange(c);for(const t of l.getItems()){if(t.is("element",n)&&!t.hasClass(i)){o.addClass(i,t);r.add(t);a=true}}}return a}));t.conversion.for("editingDowncast").add((t=>{t.on("insert",e,{priority:"highest"});t.on("remove",e,{priority:"highest"});t.on("attribute",e,{priority:"highest"});t.on("selection",e,{priority:"highest"});function e(){o.change((t=>{for(const e of r.values()){t.removeClass(i,e);r.delete(e)}}))}}))}function DS(t,e,n,i){let o;let r=null;if(typeof i=="function"){o=i}else{r=t.commands.get(i);o=()=>{t.execute(i)}}t.model.document.on("change:data",((s,a)=>{if(r&&!r.isEnabled||!e.isEnabled){return}const c=ml(t.model.document.selection.getRanges());if(!c.isCollapsed){return}if(a.isUndo||!a.isLocal){return}const l=Array.from(t.model.document.differ.getChanges());const d=l[0];if(l.length!=1||d.type!=="insert"||d.name!="$text"||d.length!=1){return}const u=d.position.parent;if(u.is("element","codeBlock")){return}if(u.is("element","listItem")&&typeof i!=="function"&&!["numberedList","bulletedList","todoList"].includes(i)){return}if(r&&r.value===true){return}const h=u.getChild(0);const g=t.model.createRangeOn(h);if(!g.containsRange(c)&&!c.end.isEqual(g.end)){return}const f=n.exec(h.data.substr(0,c.end.offset));if(!f){return}t.model.enqueueChange((e=>{const n=e.createPositionAt(u,0);const i=e.createPositionAt(u,f[0].length);const r=new mk(n,i);const s=o({match:f});if(s!==false){e.remove(r);const n=t.model.document.selection.getFirstRange();const i=e.createRangeIn(u);if(u.isEmpty&&!i.isEqual(n)&&!i.containsRange(n,true)){e.remove(u)}}r.detach();t.model.enqueueChange((()=>{const e=t.plugins.get("Delete");e.requestUndoOnBackspace()}))}))}))}function TS(t,e,n,i){let o;let r;if(n instanceof RegExp){o=n}else{r=n}r=r||(t=>{let e;const n=[];const i=[];while((e=o.exec(t))!==null){if(e&&e.length<4){break}let{index:t,1:o,2:r,3:s}=e;const a=o+r+s;t+=e[0].length-a.length;const c=[t,t+o.length];const l=[t+o.length+r.length,t+o.length+r.length+s.length];n.push(c);n.push(l);i.push([t+o.length,t+o.length+r.length])}return{remove:n,format:i}});t.model.document.on("change:data",((n,o)=>{if(o.isUndo||!o.isLocal||!e.isEnabled){return}const s=t.model;const a=s.document.selection;if(!a.isCollapsed){return}const c=Array.from(s.document.differ.getChanges());const l=c[0];if(c.length!=1||l.type!=="insert"||l.name!="$text"||l.length!=1){return}const d=a.focus;const u=d.parent;const{text:h,range:g}=SS(s.createRange(s.createPositionAt(u,0),d),s);const f=r(h);const m=IS(g.start,f.format,s);const p=IS(g.start,f.remove,s);if(!(m.length&&p.length)){return}s.enqueueChange((e=>{const n=i(e,m);if(n===false){return}for(const t of p.reverse()){e.remove(t)}s.enqueueChange((()=>{const e=t.plugins.get("Delete");e.requestUndoOnBackspace()}))}))}))}function IS(t,e,n){return e.filter((t=>t[0]!==undefined&&t[1]!==undefined)).map((e=>n.createRange(t.getShiftedBy(e[0]),t.getShiftedBy(e[1]))))}function SS(t,e){let n=t.start;const i=Array.from(t.getItems()).reduce(((t,i)=>{if(!(i.is("$text")||i.is("$textProxy"))||i.getAttribute("code")){n=e.createPositionAfter(i);return""}return t+i.data}),"");return{text:i,range:e.createRange(n,t.end)}}class BS extends Hu{static get requires(){return[iS]}static get pluginName(){return"Autoformat"}afterInit(){this._addListAutoformats();this._addBasicStylesAutoformats();this._addHeadingAutoformats();this._addBlockQuoteAutoformats();this._addCodeBlockAutoformats();this._addHorizontalLineAutoformats()}_addListAutoformats(){const t=this.editor.commands;if(t.get("bulletedList")){DS(this.editor,this,/^[*-]\s$/,"bulletedList")}if(t.get("numberedList")){DS(this.editor,this,/^1[.|)]\s$/,"numberedList")}if(t.get("todoList")){DS(this.editor,this,/^\[\s?\]\s$/,"todoList")}if(t.get("checkTodoList")){DS(this.editor,this,/^\[\s?x\s?\]\s$/,(()=>{this.editor.execute("todoList");this.editor.execute("checkTodoList")}))}}_addBasicStylesAutoformats(){const t=this.editor.commands;if(t.get("bold")){const t=MS(this.editor,"bold");TS(this.editor,this,/(?:^|\s)(\*\*)([^*]+)(\*\*)$/g,t);TS(this.editor,this,/(?:^|\s)(__)([^_]+)(__)$/g,t)}if(t.get("italic")){const t=MS(this.editor,"italic");TS(this.editor,this,/(?:^|\s)(\*)([^*_]+)(\*)$/g,t);TS(this.editor,this,/(?:^|\s)(_)([^_]+)(_)$/g,t)}if(t.get("code")){const t=MS(this.editor,"code");TS(this.editor,this,/(`)([^`]+)(`)$/g,t)}if(t.get("strikethrough")){const t=MS(this.editor,"strikethrough");TS(this.editor,this,/(~~)([^~]+)(~~)$/g,t)}}_addHeadingAutoformats(){const t=this.editor.commands.get("heading");if(t){t.modelElements.filter((t=>t.match(/^heading[1-6]$/))).forEach((e=>{const n=e[7];const i=new RegExp(`^(#{${n}})\\s$`);DS(this.editor,this,i,(()=>{if(!t.isEnabled||t.value===e){return false}this.editor.execute("heading",{value:e})}))}))}}_addBlockQuoteAutoformats(){if(this.editor.commands.get("blockQuote")){DS(this.editor,this,/^>\s$/,"blockQuote")}}_addCodeBlockAutoformats(){const t=this.editor;const e=t.model.document.selection;if(t.commands.get("codeBlock")){DS(t,this,/^```$/,(()=>{if(e.getFirstPosition().parent.is("element","listItem")){return false}this.editor.execute("codeBlock",{usePreviousLanguageChoice:true})}))}}_addHorizontalLineAutoformats(){if(this.editor.commands.get("horizontalLine")){DS(this.editor,this,/^---$/,"horizontalLine")}}}function MS(t,e){return(n,i)=>{const o=t.commands.get(e);if(!o.isEnabled){return false}const r=t.model.schema.getValidRanges(i,e);for(const t of r){n.setAttribute(e,true,t)}n.removeSelectionAttribute(e)}}class NS extends Wu{constructor(t,e){super(t);this.attributeKey=e}refresh(){const t=this.editor.model;const e=t.document;this.value=this._getValueFromFirstAllowedNode();this.isEnabled=t.schema.checkAttributeInSelection(e.selection,this.attributeKey)}execute(t={}){const e=this.editor.model;const n=e.document;const i=n.selection;const o=t.forceValue===undefined?!this.value:t.forceValue;e.change((t=>{if(i.isCollapsed){if(o){t.setSelectionAttribute(this.attributeKey,true)}else{t.removeSelectionAttribute(this.attributeKey)}}else{const n=e.schema.getValidRanges(i.getRanges(),this.attributeKey);for(const e of n){if(o){t.setAttribute(this.attributeKey,o,e)}else{t.removeAttribute(this.attributeKey,e)}}}}))}_getValueFromFirstAllowedNode(){const t=this.editor.model;const e=t.schema;const n=t.document.selection;if(n.isCollapsed){return n.hasAttribute(this.attributeKey)}for(const t of n.getRanges()){for(const n of t.getItems()){if(e.checkAttribute(n,this.attributeKey)){return n.hasAttribute(this.attributeKey)}}}return false}}const PS="bold";class LS extends Hu{static get pluginName(){return"BoldEditing"}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:PS});t.model.schema.setAttributeProperties(PS,{isFormatting:true,copyOnEnter:true});t.conversion.attributeToElement({model:PS,view:"strong",upcastAlso:["b",t=>{const e=t.getStyle("font-weight");if(!e){return null}if(e=="bold"||Number(e)>=600){return{name:true,styles:["font-weight"]}}return null}]});t.commands.add(PS,new NS(t,PS));t.keystrokes.set("CTRL+B",PS)}}const zS="bold";class VS extends Hu{static get pluginName(){return"BoldUI"}init(){const t=this.editor;const e=t.t;t.ui.componentFactory.add(zS,(n=>{const i=t.commands.get(zS);const o=new Dd(n);o.set({label:e("Bold"),icon:_y.bold,keystroke:"CTRL+B",tooltip:true,isToggleable:true});o.bind("isOn","isEnabled").to(i,"value","isEnabled");this.listenTo(o,"execute",(()=>{t.execute(zS);t.editing.view.focus()}));return o}))}}class RS extends Hu{static get requires(){return[LS,VS]}static get pluginName(){return"Bold"}}const OS="code";const FS="ck-code_selected";class jS extends(null&&Plugin){static get pluginName(){return"CodeEditing"}static get requires(){return[TwoStepCaretMovement]}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:OS});t.model.schema.setAttributeProperties(OS,{isFormatting:true,copyOnEnter:false});t.conversion.attributeToElement({model:OS,view:"code",upcastAlso:{styles:{"word-wrap":"break-word"}}});t.commands.add(OS,new AttributeCommand(t,OS));t.plugins.get(TwoStepCaretMovement).registerAttribute(OS);inlineHighlight(t,OS,"code",FS)}}var HS=n(5363);var US={injectType:"singletonStyleTag",attributes:{"data-cke":true}};US.insert="head";US.singleton=true;var WS=Ll()(HS.Z,US);const GS=HS.Z.locals||{};const qS="code";class ZS extends(null&&Plugin){static get pluginName(){return"CodeUI"}init(){const t=this.editor;const e=t.t;t.ui.componentFactory.add(qS,(n=>{const i=t.commands.get(qS);const o=new ButtonView(n);o.set({label:e("Code"),icon:codeIcon,tooltip:true,isToggleable:true});o.bind("isOn","isEnabled").to(i,"value","isEnabled");this.listenTo(o,"execute",(()=>{t.execute(qS);t.editing.view.focus()}));return o}))}}class $S extends(null&&Plugin){static get requires(){return[CodeEditing,CodeUI]}static get pluginName(){return"Code"}}const KS="italic";class YS extends Hu{static get pluginName(){return"ItalicEditing"}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:KS});t.model.schema.setAttributeProperties(KS,{isFormatting:true,copyOnEnter:true});t.conversion.attributeToElement({model:KS,view:"i",upcastAlso:["em",{styles:{"font-style":"italic"}}]});t.commands.add(KS,new NS(t,KS));t.keystrokes.set("CTRL+I",KS)}}const QS='';const JS="italic";class XS extends Hu{static get pluginName(){return"ItalicUI"}init(){const t=this.editor;const e=t.t;t.ui.componentFactory.add(JS,(n=>{const i=t.commands.get(JS);const o=new Dd(n);o.set({label:e("Italic"),icon:QS,keystroke:"CTRL+I",tooltip:true,isToggleable:true});o.bind("isOn","isEnabled").to(i,"value","isEnabled");this.listenTo(o,"execute",(()=>{t.execute(JS);t.editing.view.focus()}));return o}))}}class tB extends Hu{static get requires(){return[YS,XS]}static get pluginName(){return"Italic"}}const eB="strikethrough";class nB extends(null&&Plugin){static get pluginName(){return"StrikethroughEditing"}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:eB});t.model.schema.setAttributeProperties(eB,{isFormatting:true,copyOnEnter:true});t.conversion.attributeToElement({model:eB,view:"s",upcastAlso:["del","strike",{styles:{"text-decoration":"line-through"}}]});t.commands.add(eB,new AttributeCommand(t,eB));t.keystrokes.set("CTRL+SHIFT+X","strikethrough")}}const iB="strikethrough";class oB extends(null&&Plugin){static get pluginName(){return"StrikethroughUI"}init(){const t=this.editor;const e=t.t;t.ui.componentFactory.add(iB,(n=>{const i=t.commands.get(iB);const o=new ButtonView(n);o.set({label:e("Strikethrough"),icon:strikethroughIcon,keystroke:"CTRL+SHIFT+X",tooltip:true,isToggleable:true});o.bind("isOn","isEnabled").to(i,"value","isEnabled");this.listenTo(o,"execute",(()=>{t.execute(iB);t.editing.view.focus()}));return o}))}}class rB extends(null&&Plugin){static get requires(){return[StrikethroughEditing,StrikethroughUI]}static get pluginName(){return"Strikethrough"}}const sB="subscript";class aB extends(null&&Plugin){static get pluginName(){return"SubscriptEditing"}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:sB});t.model.schema.setAttributeProperties(sB,{isFormatting:true,copyOnEnter:true});t.conversion.attributeToElement({model:sB,view:"sub",upcastAlso:[{styles:{"vertical-align":"sub"}}]});t.commands.add(sB,new AttributeCommand(t,sB))}}const cB="subscript";class lB extends(null&&Plugin){static get pluginName(){return"SubscriptUI"}init(){const t=this.editor;const e=t.t;t.ui.componentFactory.add(cB,(n=>{const i=t.commands.get(cB);const o=new ButtonView(n);o.set({label:e("Subscript"),icon:subscriptIcon,tooltip:true,isToggleable:true});o.bind("isOn","isEnabled").to(i,"value","isEnabled");this.listenTo(o,"execute",(()=>{t.execute(cB);t.editing.view.focus()}));return o}))}}class dB extends(null&&Plugin){static get requires(){return[SubscriptEditing,SubscriptUI]}static get pluginName(){return"Subscript"}}const uB="superscript";class hB extends(null&&Plugin){static get pluginName(){return"SuperscriptEditing"}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:uB});t.model.schema.setAttributeProperties(uB,{isFormatting:true,copyOnEnter:true});t.conversion.attributeToElement({model:uB,view:"sup",upcastAlso:[{styles:{"vertical-align":"super"}}]});t.commands.add(uB,new AttributeCommand(t,uB))}}const gB="superscript";class fB extends(null&&Plugin){static get pluginName(){return"SuperscriptUI"}init(){const t=this.editor;const e=t.t;t.ui.componentFactory.add(gB,(n=>{const i=t.commands.get(gB);const o=new ButtonView(n);o.set({label:e("Superscript"),icon:superscriptIcon,tooltip:true,isToggleable:true});o.bind("isOn","isEnabled").to(i,"value","isEnabled");this.listenTo(o,"execute",(()=>{t.execute(gB);t.editing.view.focus()}));return o}))}}class mB extends(null&&Plugin){static get requires(){return[SuperscriptEditing,SuperscriptUI]}static get pluginName(){return"Superscript"}}const pB="underline";class bB extends(null&&Plugin){static get pluginName(){return"UnderlineEditing"}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:pB});t.model.schema.setAttributeProperties(pB,{isFormatting:true,copyOnEnter:true});t.conversion.attributeToElement({model:pB,view:"u",upcastAlso:{styles:{"text-decoration":"underline"}}});t.commands.add(pB,new AttributeCommand(t,pB));t.keystrokes.set("CTRL+U","underline")}}const kB="underline";class wB extends(null&&Plugin){static get pluginName(){return"UnderlineUI"}init(){const t=this.editor;const e=t.t;t.ui.componentFactory.add(kB,(n=>{const i=t.commands.get(kB);const o=new ButtonView(n);o.set({label:e("Underline"),icon:underlineIcon,keystroke:"CTRL+U",tooltip:true,isToggleable:true});o.bind("isOn","isEnabled").to(i,"value","isEnabled");this.listenTo(o,"execute",(()=>{t.execute(kB);t.editing.view.focus()}));return o}))}}class AB extends(null&&Plugin){static get requires(){return[UnderlineEditing,UnderlineUI]}static get pluginName(){return"Underline"}}function*CB(t,e){for(const n of e){if(n&&t.getAttributeProperties(n[0]).copyOnEnter){yield n}}}class _B extends Wu{execute(){this.editor.model.change((t=>{this.enterBlock(t);this.fire("afterExecute",{writer:t})}))}enterBlock(t){const e=this.editor.model;const n=e.document.selection;const i=e.schema;const o=n.isCollapsed;const r=n.getFirstRange();const s=r.start.parent;const a=r.end.parent;if(i.isLimit(s)||i.isLimit(a)){if(!o&&s==a){e.deleteContent(n)}return false}if(o){const e=CB(t.model.schema,n.getAttributes());vB(t,r.start);t.setSelectionAttribute(e);return true}else{const i=!(r.start.isAtStart&&r.end.isAtEnd);const o=s==a;e.deleteContent(n,{leaveUnmerged:i});if(i){if(o){vB(t,n.focus);return true}else{t.setSelection(a,0)}}}return false}}function vB(t,e){t.split(e);t.setSelection(e.parent.nextSibling,0)}const yB={insertParagraph:{isSoft:false},insertLineBreak:{isSoft:true}};class xB extends Ym{constructor(t){super(t);const e=this.document;let n=false;e.on("keydown",((t,e)=>{n=e.shiftKey}));e.on("beforeinput",((i,o)=>{if(!this.isEnabled){return}let r=o.inputType;if(l.isSafari&&n&&r=="insertParagraph"){r="insertLineBreak"}const s=o.domEvent;const a=yB[r];if(!a){return}const c=new Mf(e,"enter",o.targetRanges[0]);e.fire(c,new Xm(t,s,{isSoft:a.isSoft}));if(c.stop.called){i.stop()}}))}observe(){}stopObserving(){}}class EB extends Hu{static get pluginName(){return"Enter"}init(){const t=this.editor;const e=t.editing.view;const n=e.document;e.addObserver(xB);t.commands.add("enter",new _B(t));this.listenTo(n,"enter",((i,o)=>{if(!n.isComposing){o.preventDefault()}if(o.isSoft){return}t.execute("enter");e.scrollToTheSelection()}),{priority:"low"})}}class DB extends Wu{execute(){const t=this.editor.model;const e=t.document;t.change((n=>{IB(t,n,e.selection);this.fire("afterExecute",{writer:n})}))}refresh(){const t=this.editor.model;const e=t.document;this.isEnabled=TB(t.schema,e.selection)}}function TB(t,e){if(e.rangeCount>1){return false}const n=e.anchor;if(!n||!t.checkChild(n,"softBreak")){return false}const i=e.getFirstRange();const o=i.start.parent;const r=i.end.parent;if((BB(o,t)||BB(r,t))&&o!==r){return false}return true}function IB(t,e,n){const i=n.isCollapsed;const o=n.getFirstRange();const r=o.start.parent;const s=o.end.parent;const a=r==s;if(i){const i=CB(t.schema,n.getAttributes());SB(t,e,o.end);e.removeSelectionAttribute(n.getAttributeKeys());e.setSelectionAttribute(i)}else{const i=!(o.start.isAtStart&&o.end.isAtEnd);t.deleteContent(n,{leaveUnmerged:i});if(a){SB(t,e,n.focus)}else{if(i){e.setSelection(s,0)}}}}function SB(t,e,n){const i=e.createElement("softBreak");t.insertContent(i,n);e.setSelection(i,"after")}function BB(t,e){if(t.is("rootElement")){return false}return e.isLimit(t)||BB(t.parent,e)}class MB extends Hu{static get pluginName(){return"ShiftEnter"}init(){const t=this.editor;const e=t.model.schema;const n=t.conversion;const i=t.editing.view;const o=i.document;e.register("softBreak",{allowWhere:"$text",isInline:true});n.for("upcast").elementToElement({model:"softBreak",view:"br"});n.for("downcast").elementToElement({model:"softBreak",view:(t,{writer:e})=>e.createEmptyElement("br")});i.addObserver(xB);t.commands.add("shiftEnter",new DB(t));this.listenTo(o,"enter",((e,n)=>{if(!o.isComposing){n.preventDefault()}if(!n.isSoft){return}t.execute("shiftEnter");i.scrollToTheSelection()}),{priority:"low"})}}class NB extends Wu{refresh(){this.value=this._getValue();this.isEnabled=this._checkEnabled()}execute(t={}){const e=this.editor.model;const n=e.schema;const i=e.document.selection;const o=Array.from(i.getSelectedBlocks());const r=t.forceValue===undefined?!this.value:t.forceValue;e.change((t=>{if(!r){this._removeQuote(t,o.filter(PB))}else{const e=o.filter((t=>PB(t)||zB(n,t)));this._applyQuote(t,e)}}))}_getValue(){const t=this.editor.model.document.selection;const e=ml(t.getSelectedBlocks());return!!(e&&PB(e))}_checkEnabled(){if(this.value){return true}const t=this.editor.model.document.selection;const e=this.editor.model.schema;const n=ml(t.getSelectedBlocks());if(!n){return false}return zB(e,n)}_removeQuote(t,e){LB(t,e).reverse().forEach((e=>{if(e.start.isAtStart&&e.end.isAtEnd){t.unwrap(e.start.parent);return}if(e.start.isAtStart){const n=t.createPositionBefore(e.start.parent);t.move(e,n);return}if(!e.end.isAtEnd){t.split(e.end)}const n=t.createPositionAfter(e.end.parent);t.move(e,n)}))}_applyQuote(t,e){const n=[];LB(t,e).reverse().forEach((e=>{let i=PB(e.start);if(!i){i=t.createElement("blockQuote");t.wrap(e,i)}n.push(i)}));n.reverse().reduce(((e,n)=>{if(e.nextSibling==n){t.merge(t.createPositionAfter(e));return e}return n}))}}function PB(t){return t.parent.name=="blockQuote"?t.parent:null}function LB(t,e){let n;let i=0;const o=[];while(i{const i=t.model.document.differ.getChanges();for(const t of i){if(t.type=="insert"){const i=t.position.nodeAfter;if(!i){continue}if(i.is("element","blockQuote")&&i.isEmpty){n.remove(i);return true}else if(i.is("element","blockQuote")&&!e.checkChild(t.position,i)){n.unwrap(i);return true}else if(i.is("element")){const t=n.createRangeIn(i);for(const i of t.getItems()){if(i.is("element","blockQuote")&&!e.checkChild(n.createPositionBefore(i),i)){n.unwrap(i);return true}}}}else if(t.type=="remove"){const e=t.position.parent;if(e.is("element","blockQuote")&&e.isEmpty){n.remove(e);return true}}}return false}));const n=this.editor.editing.view.document;const i=t.model.document.selection;const o=t.commands.get("blockQuote");this.listenTo(n,"enter",((e,n)=>{if(!i.isCollapsed||!o.value){return}const r=i.getLastPosition().parent;if(r.isEmpty){t.execute("blockQuote");t.editing.view.scrollToTheSelection();n.preventDefault();e.stop()}}),{context:"blockquote"});this.listenTo(n,"delete",((e,n)=>{if(n.direction!="backward"||!i.isCollapsed||!o.value){return}const r=i.getLastPosition().parent;if(r.isEmpty&&!r.previousSibling){t.execute("blockQuote");t.editing.view.scrollToTheSelection();n.preventDefault();e.stop()}}),{context:"blockquote"})}}var RB=n(3789);var OB={injectType:"singletonStyleTag",attributes:{"data-cke":true}};OB.insert="head";OB.singleton=true;var FB=Ll()(RB.Z,OB);const jB=RB.Z.locals||{};class HB extends Hu{static get pluginName(){return"BlockQuoteUI"}init(){const t=this.editor;const e=t.t;t.ui.componentFactory.add("blockQuote",(n=>{const i=t.commands.get("blockQuote");const o=new Dd(n);o.set({label:e("Block quote"),icon:_y.quote,tooltip:true,isToggleable:true});o.bind("isOn","isEnabled").to(i,"value","isEnabled");this.listenTo(o,"execute",(()=>{t.execute("blockQuote");t.editing.view.focus()}));return o}))}}class UB extends Hu{static get requires(){return[VB,HB]}static get pluginName(){return"BlockQuote"}}const WB={autoRefresh:true};const GB=36e5;class qB extends(gt()){constructor(t,e={}){super();if(!t){throw new P("token-missing-token-url",this)}if(e.initValue){this._validateTokenValue(e.initValue)}this.set("value",e.initValue);if(typeof t==="function"){this._refresh=t}else{this._refresh=()=>ZB(t)}this._options={...WB,...e}}init(){return new Promise(((t,e)=>{if(!this.value){this.refreshToken().then(t).catch(e);return}if(this._options.autoRefresh){this._registerRefreshTokenTimeout()}t(this)}))}refreshToken(){return this._refresh().then((t=>{this._validateTokenValue(t);this.set("value",t);if(this._options.autoRefresh){this._registerRefreshTokenTimeout()}return this}))}destroy(){clearTimeout(this._tokenRefreshTimeout)}_validateTokenValue(t){const e=typeof t==="string";const n=!/^".*"$/.test(t);const i=e&&t.split(".").length===3;if(!(n&&i)){throw new P("token-not-in-jwt-format",this)}}_registerRefreshTokenTimeout(){const t=this._getTokenRefreshTimeoutTime();clearTimeout(this._tokenRefreshTimeout);this._tokenRefreshTimeout=setTimeout((()=>{this.refreshToken()}),t)}_getTokenRefreshTimeoutTime(){try{const[,t]=this.value.split(".");const{exp:e}=JSON.parse(atob(t));if(!e){return GB}const n=Math.floor((e*1e3-Date.now())/2);return n}catch(t){return GB}}static create(t,e={}){const n=new qB(t,e);return n.init()}}function ZB(t){return new Promise(((e,n)=>{const i=new XMLHttpRequest;i.open("GET",t);i.addEventListener("load",(()=>{const t=i.status;const o=i.response;if(t<200||t>299){return n(new P("token-cannot-download-new-token",null))}return e(o)}));i.addEventListener("error",(()=>n(new Error("Network Error"))));i.addEventListener("abort",(()=>n(new Error("Abort"))));i.send()}))}const $B=/^data:(\S*?);base64,/;class KB extends(Z()){constructor(t,e,n){super();if(!t){throw new P("fileuploader-missing-file",null)}if(!e){throw new P("fileuploader-missing-token",null)}if(!n){throw new P("fileuploader-missing-api-address",null)}this.file=QB(t)?YB(t):t;this._token=e;this._apiAddress=n}onProgress(t){this.on("progress",((e,n)=>t(n)));return this}onError(t){this.once("error",((e,n)=>t(n)));return this}abort(){this.xhr.abort()}send(){this._prepareRequest();this._attachXHRListeners();return this._sendRequest()}_prepareRequest(){const t=new XMLHttpRequest;t.open("POST",this._apiAddress);t.setRequestHeader("Authorization",this._token.value);t.responseType="json";this.xhr=t}_attachXHRListeners(){const t=this.xhr;const e=t=>()=>this.fire("error",t);t.addEventListener("error",e("Network Error"));t.addEventListener("abort",e("Abort"));if(t.upload){t.upload.addEventListener("progress",(t=>{if(t.lengthComputable){this.fire("progress",{total:t.total,uploaded:t.loaded})}}))}t.addEventListener("load",(()=>{const e=t.status;const n=t.response;if(e<200||e>299){return this.fire("error",n.message||n.error)}}))}_sendRequest(){const t=new FormData;const e=this.xhr;t.append("file",this.file);return new Promise(((n,i)=>{e.addEventListener("load",(()=>{const t=e.status;const o=e.response;if(t<200||t>299){if(o.message){return i(new P("fileuploader-uploading-data-failed",this,{message:o.message}))}return i(o.error)}return n(o)}));e.addEventListener("error",(()=>i(new Error("Network Error"))));e.addEventListener("abort",(()=>i(new Error("Abort"))));e.send(t)}))}}function YB(t,e=512){try{const n=t.match($B)[1];const i=atob(t.replace($B,""));const o=[];for(let t=0;t{i.preventDefault();const o=i.dropRange?[i.dropRange]:null;const r=new D(e,t);e.fire(r,{dataTransfer:i.dataTransfer,method:n.name,targetRanges:o,target:i.target,domEvent:i.domEvent});if(r.stop.called){i.stopPropagation()}}}}onDomEvent(t){const e="clipboardData"in t?t.clipboardData:t.dataTransfer;const n=t.type=="drop"||t.type=="paste";const i={dataTransfer:new Db(e,{cacheFiles:n})};if(t.type=="drop"||t.type=="dragover"){i.dropRange=nM(this.view,t)}this.fire(t.type,t,i)}}function nM(t,e){const n=e.target.ownerDocument;const i=e.clientX;const o=e.clientY;let r;if(n.caretRangeFromPoint&&n.caretRangeFromPoint(i,o)){r=n.caretRangeFromPoint(i,o)}else if(e.rangeParent){r=n.createRange();r.setStart(e.rangeParent,e.rangeOffset);r.collapse(true)}if(r){return t.domConverter.domRangeToView(r)}return null}function iM(t){t=t.replace(/&/g,"&").replace(//g,">").replace(/\r?\n\r?\n/g,"

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

")||t.includes("
")){t=`

${t}

`}return t}function oM(t){return t.replace(/(\s+)<\/span>/g,((t,e)=>{if(e.length==1){return" "}return e})).replace(//g,"")}const rM=["figcaption","li"];const sM=["ol","ul"];function aM(t){if(t.is("$text")||t.is("$textProxy")){return t.data}if(t.is("element","img")&&t.hasAttribute("alt")){return t.getAttribute("alt")}if(t.is("element","br")){return"\n"}let e="";let n=null;for(const i of t.getChildren()){e+=cM(i,n)+aM(i);n=i}return e}function cM(t,e){if(!e){return""}if(t.is("element","li")&&!t.isEmpty&&t.getChild(0).is("containerElement")){return"\n\n"}if(sM.includes(t.name)&&sM.includes(e.name)){return"\n\n"}if(!t.is("containerElement")&&!e.is("containerElement")){return""}if(rM.includes(t.name)||rM.includes(e.name)){return"\n"}return"\n\n"}class lM extends Hu{static get pluginName(){return"ClipboardPipeline"}init(){const t=this.editor;const e=t.editing.view;e.addObserver(eM);this._setupPasteDrop();this._setupCopyCut()}_fireOutputTransformationEvent(t,e,n){const i=this.editor.model.getSelectedContent(e);this.fire("outputTransformation",{dataTransfer:t,content:i,method:n})}_setupPasteDrop(){const t=this.editor;const e=t.model;const n=t.editing.view;const i=n.document;this.listenTo(i,"clipboardInput",((e,n)=>{if(n.method=="paste"&&!t.model.canEditAt(t.model.document.selection)){e.stop()}}),{priority:"highest"});this.listenTo(i,"clipboardInput",((t,e)=>{const i=e.dataTransfer;let o;if(e.content){o=e.content}else{let t="";if(i.getData("text/html")){t=oM(i.getData("text/html"))}else if(i.getData("text/plain")){t=iM(i.getData("text/plain"))}o=this.editor.data.htmlProcessor.toView(t)}const r=new D(this,"inputTransformation");this.fire(r,{content:o,dataTransfer:i,targetRanges:e.targetRanges,method:e.method});if(r.stop.called){t.stop()}n.scrollToTheSelection()}),{priority:"low"});this.listenTo(this,"inputTransformation",((t,n)=>{if(n.content.isEmpty){return}const i=this.editor.data;const o=i.toModel(n.content,"$clipboardHolder");if(o.childCount==0){return}t.stop();e.change((()=>{this.fire("contentInsertion",{content:o,method:n.method,dataTransfer:n.dataTransfer,targetRanges:n.targetRanges})}))}),{priority:"low"});this.listenTo(this,"contentInsertion",((t,n)=>{n.resultRange=e.insertContent(n.content)}),{priority:"low"})}_setupCopyCut(){const t=this.editor;const e=t.model.document;const n=t.editing.view;const i=n.document;const o=(t,n)=>{const i=n.dataTransfer;n.preventDefault();this._fireOutputTransformationEvent(i,e.selection,t.name)};this.listenTo(i,"copy",o,{priority:"low"});this.listenTo(i,"cut",((e,n)=>{if(!t.model.canEditAt(t.model.document.selection)){n.preventDefault()}else{o(e,n)}}),{priority:"low"});this.listenTo(this,"outputTransformation",((e,n)=>{const o=t.data.toView(n.content);i.fire("clipboardOutput",{dataTransfer:n.dataTransfer,content:o,method:n.method})}),{priority:"low"});this.listenTo(i,"clipboardOutput",((n,i)=>{if(!i.content.isEmpty){i.dataTransfer.setData("text/html",this.editor.data.htmlProcessor.toData(i.content));i.dataTransfer.setData("text/plain",aM(i.content))}if(i.method=="cut"){t.model.deleteContent(e.selection)}}),{priority:"low"})}}class dM extends(Z()){constructor(){super(...arguments);this._stack=[]}add(t,e){const n=this._stack;const i=n[0];this._insertDescriptor(t);const o=n[0];if(i!==o&&!uM(i,o)){this.fire("change:top",{oldDescriptor:i,newDescriptor:o,writer:e})}}remove(t,e){const n=this._stack;const i=n[0];this._removeDescriptor(t);const o=n[0];if(i!==o&&!uM(i,o)){this.fire("change:top",{oldDescriptor:i,newDescriptor:o,writer:e})}}_insertDescriptor(t){const e=this._stack;const n=e.findIndex((e=>e.id===t.id));if(uM(t,e[n])){return}if(n>-1){e.splice(n,1)}let i=0;while(e[i]&&hM(e[i],t)){i++}e.splice(i,0,t)}_removeDescriptor(t){const e=this._stack;const n=e.findIndex((e=>e.id===t));if(n>-1){e.splice(n,1)}}}function uM(t,e){return t&&e&&t.priority==e.priority&&gM(t.classes)==gM(e.classes)}function hM(t,e){if(t.priority>e.priority){return true}else if(t.prioritygM(e.classes)}function gM(t){return Array.isArray(t)?t.sort().join(","):t}const fM='';const mM="ck-widget";const pM="ck-widget_selected";function bM(t){if(!t.is("element")){return false}return!!t.getCustomProperty("widget")}function kM(t,e,n={}){if(!t.is("containerElement")){throw new P("widget-to-widget-wrong-element-type",null,{element:t})}e.setAttribute("contenteditable","false",t);e.addClass(mM,t);e.setCustomProperty("widget",true,t);t.getFillerOffset=DM;e.setCustomProperty("widgetLabel",[],t);if(n.label){_M(t,n.label)}if(n.hasSelectionHandle){TM(t,e)}CM(t,e);return t}function wM(t,e,n){if(e.classes){n.addClass(ol(e.classes),t)}if(e.attributes){for(const i in e.attributes){n.setAttribute(i,e.attributes[i],t)}}}function AM(t,e,n){if(e.classes){n.removeClass(ol(e.classes),t)}if(e.attributes){for(const i in e.attributes){n.removeAttribute(i,t)}}}function CM(t,e,n=wM,i=AM){const o=new dM;o.on("change:top",((e,o)=>{if(o.oldDescriptor){i(t,o.oldDescriptor,o.writer)}if(o.newDescriptor){n(t,o.newDescriptor,o.writer)}}));const r=(t,e,n)=>o.add(e,n);const s=(t,e,n)=>o.remove(e,n);e.setCustomProperty("addHighlight",r,t);e.setCustomProperty("removeHighlight",s,t)}function _M(t,e){const n=t.getCustomProperty("widgetLabel");n.push(e)}function vM(t){const e=t.getCustomProperty("widgetLabel");return e.reduce(((t,e)=>{if(typeof e==="function"){return t?t+". "+e():e()}else{return t?t+". "+e:e}}),"")}function yM(t,e,n={}){e.addClass(["ck-editor__editable","ck-editor__nested-editable"],t);e.setAttribute("role","textbox",t);if(n.label){e.setAttribute("aria-label",n.label,t)}e.setAttribute("contenteditable",t.isReadOnly?"false":"true",t);t.on("change:isReadOnly",((n,i,o)=>{e.setAttribute("contenteditable",o?"false":"true",t)}));t.on("change:isFocused",((n,i,o)=>{if(o){e.addClass("ck-editor__nested-editable_focused",t)}else{e.removeClass("ck-editor__nested-editable_focused",t)}}));CM(t,e);return t}function xM(t,e){const n=t.getSelectedElement();if(n){const i=PM(t);if(i){return e.createRange(e.createPositionAt(n,i))}}return e.schema.findOptimalInsertionRange(t)}function EM(t,e){return(n,i)=>{const{mapper:o,viewPosition:r}=i;const s=o.findMappedViewAncestor(r);if(!e(s)){return}const a=o.toModelElement(s);i.modelPosition=t.createPositionAt(a,r.isAtStart?"before":"after")}}function DM(){return null}function TM(t,e){const n=e.createUIElement("div",{class:"ck ck-widget__selection-handle"},(function(t){const e=this.toDomElement(t);const n=new Cd;n.set("content",fM);n.render();e.appendChild(n.element);return e}));e.insert(e.createPositionAt(t,0),n);e.addClass(["ck-widget_with-selection-handle"],t)}const IM="widget-type-around";function SM(t,e,n){return!!t&&bM(t)&&!n.isInline(e)}function BM(t){return t.closest(".ck-widget__type-around__button")}function MM(t){return t.classList.contains("ck-widget__type-around__button_before")?"before":"after"}function NM(t,e){const n=t.closest(".ck-widget");return e.mapDomToView(n)}function PM(t){return t.getAttribute(IM)}const LM='';var zM=n(2347);var VM={injectType:"singletonStyleTag",attributes:{"data-cke":true}};VM.insert="head";VM.singleton=true;var RM=Ll()(zM.Z,VM);const OM=zM.Z.locals||{};const FM=["before","after"];const jM=(new DOMParser).parseFromString(LM,"image/svg+xml").firstChild;const HM="ck-widget__type-around_disabled";class UM extends Hu{constructor(){super(...arguments);this._currentFakeCaretModelElement=null}static get pluginName(){return"WidgetTypeAround"}static get requires(){return[EB,iS]}init(){const t=this.editor;const e=t.editing.view;this.on("change:isEnabled",((n,i,o)=>{e.change((t=>{for(const n of e.document.roots){if(o){t.removeClass(HM,n)}else{t.addClass(HM,n)}}}));if(!o){t.model.change((t=>{t.removeSelectionAttribute(IM)}))}}));this._enableTypeAroundUIInjection();this._enableInsertingParagraphsOnButtonClick();this._enableInsertingParagraphsOnEnterKeypress();this._enableInsertingParagraphsOnTypingKeystroke();this._enableTypeAroundFakeCaretActivationUsingKeyboardArrows();this._enableDeleteIntegration();this._enableInsertContentIntegration();this._enableInsertObjectIntegration();this._enableDeleteContentIntegration()}destroy(){super.destroy();this._currentFakeCaretModelElement=null}_insertParagraph(t,e){const n=this.editor;const i=n.editing.view;const o=n.model.schema.getAttributesWithProperty(t,"copyOnReplace",true);n.execute("insertParagraph",{position:n.model.createPositionAt(t,e),attributes:o});i.focus();i.scrollToTheSelection()}_listenToIfEnabled(t,e,n,i){this.listenTo(t,e,((...t)=>{if(this.isEnabled){n(...t)}}),i)}_insertParagraphAccordingToFakeCaretPosition(){const t=this.editor;const e=t.model;const n=e.document.selection;const i=PM(n);if(!i){return false}const o=n.getSelectedElement();this._insertParagraph(o,i);return true}_enableTypeAroundUIInjection(){const t=this.editor;const e=t.model.schema;const n=t.locale.t;const i={before:n("Insert paragraph before block"),after:n("Insert paragraph after block")};t.editing.downcastDispatcher.on("insert",((t,o,r)=>{const s=r.mapper.toViewElement(o.item);if(!s){return}if(SM(s,o.item,e)){WM(r.writer,i,s);const t=s.getCustomProperty("widgetLabel");t.push((()=>this.isEnabled?n("Press Enter to type after or press Shift + Enter to type before the widget"):""))}}),{priority:"low"})}_enableTypeAroundFakeCaretActivationUsingKeyboardArrows(){const t=this.editor;const e=t.model;const n=e.document.selection;const i=e.schema;const o=t.editing.view;this._listenToIfEnabled(o.document,"arrowKey",((t,e)=>{this._handleArrowKeyPress(t,e)}),{context:[bM,"$text"],priority:"high"});this._listenToIfEnabled(n,"change:range",((e,n)=>{if(!n.directChange){return}t.model.change((t=>{t.removeSelectionAttribute(IM)}))}));this._listenToIfEnabled(e.document,"change:data",(()=>{const e=n.getSelectedElement();if(e){const n=t.editing.mapper.toViewElement(e);if(SM(n,e,i)){return}}t.model.change((t=>{t.removeSelectionAttribute(IM)}))}));this._listenToIfEnabled(t.editing.downcastDispatcher,"selection",((t,e,n)=>{const o=n.writer;if(this._currentFakeCaretModelElement){const t=n.mapper.toViewElement(this._currentFakeCaretModelElement);if(t){o.removeClass(FM.map(r),t);this._currentFakeCaretModelElement=null}}const s=e.selection.getSelectedElement();if(!s){return}const a=n.mapper.toViewElement(s);if(!SM(a,s,i)){return}const c=PM(e.selection);if(!c){return}o.addClass(r(c),a);this._currentFakeCaretModelElement=s}));this._listenToIfEnabled(t.ui.focusTracker,"change:isFocused",((e,n,i)=>{if(!i){t.model.change((t=>{t.removeSelectionAttribute(IM)}))}}));function r(t){return`ck-widget_type-around_show-fake-caret_${t}`}}_handleArrowKeyPress(t,e){const n=this.editor;const i=n.model;const o=i.document.selection;const r=i.schema;const s=n.editing.view;const a=e.keyCode;const c=el(a,n.locale.contentLanguageDirection);const l=s.document.selection.getSelectedElement();const d=n.editing.mapper.toModelElement(l);let u;if(SM(l,d,r)){u=this._handleArrowKeyPressOnSelectedWidget(c)}else if(o.isCollapsed){u=this._handleArrowKeyPressWhenSelectionNextToAWidget(c)}else if(!e.shiftKey){u=this._handleArrowKeyPressWhenNonCollapsedSelection(c)}if(u){e.preventDefault();t.stop()}}_handleArrowKeyPressOnSelectedWidget(t){const e=this.editor;const n=e.model;const i=n.document.selection;const o=PM(i);return n.change((e=>{if(o){const n=o===(t?"after":"before");if(!n){e.removeSelectionAttribute(IM);return true}}else{e.setSelectionAttribute(IM,t?"after":"before");return true}return false}))}_handleArrowKeyPressWhenSelectionNextToAWidget(t){const e=this.editor;const n=e.model;const i=n.schema;const o=e.plugins.get("Widget");const r=o._getObjectElementNextToSelection(t);const s=e.editing.mapper.toViewElement(r);if(SM(s,r,i)){n.change((e=>{o._setSelectionOverElement(r);e.setSelectionAttribute(IM,t?"before":"after")}));return true}return false}_handleArrowKeyPressWhenNonCollapsedSelection(t){const e=this.editor;const n=e.model;const i=n.schema;const o=e.editing.mapper;const r=n.document.selection;const s=t?r.getLastPosition().nodeBefore:r.getFirstPosition().nodeAfter;const a=o.toViewElement(s);if(SM(a,s,i)){n.change((e=>{e.setSelection(s,"on");e.setSelectionAttribute(IM,t?"after":"before")}));return true}return false}_enableInsertingParagraphsOnButtonClick(){const t=this.editor;const e=t.editing.view;this._listenToIfEnabled(e.document,"mousedown",((n,i)=>{const o=BM(i.domTarget);if(!o){return}const r=MM(o);const s=NM(o,e.domConverter);const a=t.editing.mapper.toModelElement(s);this._insertParagraph(a,r);i.preventDefault();n.stop()}))}_enableInsertingParagraphsOnEnterKeypress(){const t=this.editor;const e=t.model.document.selection;const n=t.editing.view;this._listenToIfEnabled(n.document,"enter",((n,i)=>{if(n.eventPhase!="atTarget"){return}const o=e.getSelectedElement();const r=t.editing.mapper.toViewElement(o);const s=t.model.schema;let a;if(this._insertParagraphAccordingToFakeCaretPosition()){a=true}else if(SM(r,o,s)){this._insertParagraph(o,i.isSoft?"before":"after");a=true}if(a){i.preventDefault();n.stop()}}),{context:bM})}_enableInsertingParagraphsOnTypingKeystroke(){const t=this.editor;const e=t.editing.view.document;this._listenToIfEnabled(e,"insertText",((t,n)=>{if(this._insertParagraphAccordingToFakeCaretPosition()){n.selection=e.selection}}),{priority:"high"});if(l.isAndroid){this._listenToIfEnabled(e,"keydown",((t,e)=>{if(e.keyCode==229){this._insertParagraphAccordingToFakeCaretPosition()}}))}else{this._listenToIfEnabled(e,"compositionstart",(()=>{this._insertParagraphAccordingToFakeCaretPosition()}),{priority:"high"})}}_enableDeleteIntegration(){const t=this.editor;const e=t.editing.view;const n=t.model;const i=n.schema;this._listenToIfEnabled(e.document,"delete",((e,o)=>{if(e.eventPhase!="atTarget"){return}const r=PM(n.document.selection);if(!r){return}const s=o.direction;const a=n.document.selection.getSelectedElement();const c=r==="before";const l=s=="forward";const d=c===l;if(d){t.execute("delete",{selection:n.createSelection(a,"on")})}else{const e=i.getNearestSelectionRange(n.createPositionAt(a,r),s);if(e){if(!e.isCollapsed){n.change((n=>{n.setSelection(e);t.execute(l?"deleteForward":"delete")}))}else{const o=n.createSelection(e.start);n.modifySelection(o,{direction:s});if(!o.focus.isEqual(e.start)){n.change((n=>{n.setSelection(e);t.execute(l?"deleteForward":"delete")}))}else{const t=ZM(i,e.start.parent);n.deleteContent(n.createSelection(t,"on"),{doNotAutoparagraph:true})}}}}o.preventDefault();e.stop()}),{context:bM})}_enableInsertContentIntegration(){const t=this.editor;const e=this.editor.model;const n=e.document.selection;this._listenToIfEnabled(t.model,"insertContent",((t,[i,o])=>{if(o&&!o.is("documentSelection")){return}const r=PM(n);if(!r){return}t.stop();return e.change((t=>{const o=n.getSelectedElement();const s=e.createPositionAt(o,r);const a=t.createSelection(s);const c=e.insertContent(i,a);t.setSelection(a);return c}))}),{priority:"high"})}_enableInsertObjectIntegration(){const t=this.editor;const e=this.editor.model;const n=e.document.selection;this._listenToIfEnabled(t.model,"insertObject",((t,e)=>{const[,i,o={}]=e;if(i&&!i.is("documentSelection")){return}const r=PM(n);if(!r){return}o.findOptimalPosition=r;e[3]=o}),{priority:"high"})}_enableDeleteContentIntegration(){const t=this.editor;const e=this.editor.model;const n=e.document.selection;this._listenToIfEnabled(t.model,"deleteContent",((t,[e])=>{if(e&&!e.is("documentSelection")){return}const i=PM(n);if(i){t.stop()}}),{priority:"high"})}}function WM(t,e,n){const i=t.createUIElement("div",{class:"ck ck-reset_all ck-widget__type-around"},(function(t){const n=this.toDomElement(t);GM(n,e);qM(n);return n}));t.insert(t.createPositionAt(n,"end"),i)}function GM(t,e){for(const n of FM){const i=new Hl({tag:"div",attributes:{class:["ck","ck-widget__type-around__button",`ck-widget__type-around__button_${n}`],title:e[n],"aria-hidden":"true"},children:[t.ownerDocument.importNode(jM,true)]});t.appendChild(i.render())}}function qM(t){const e=new Hl({tag:"div",attributes:{class:["ck","ck-widget__type-around__fake-caret"]}});t.appendChild(e.render())}function ZM(t,e){let n=e;for(const i of e.getAncestors({parentFirst:true})){if(i.childCount>1||t.isLimit(i)){break}n=i}return n}function $M(t){const e=t.model;return(n,i)=>{const o=i.keyCode==Zc.arrowup;const r=i.keyCode==Zc.arrowdown;const s=i.shiftKey;const a=e.document.selection;if(!o&&!r){return}const c=r;if(s&&XM(a,c)){return}const l=KM(t,a,c);if(!l){return}if(l.isCollapsed){if(a.isCollapsed){return}else if(s){return}}if(l.isCollapsed||JM(t,l,c)){e.change((t=>{const n=c?l.end:l.start;if(s){const i=e.createSelection(a.anchor);i.setFocus(n);t.setSelection(i)}else{t.setSelection(n)}}));n.stop();i.preventDefault();i.stopPropagation()}}}function KM(t,e,n){const i=t.model;if(n){const t=e.isCollapsed?e.focus:e.getLastPosition();const n=YM(i,t,"forward");if(!n){return null}const o=i.createRange(t,n);const r=QM(i.schema,o,"backward");if(r){return i.createRange(t,r)}return null}else{const t=e.isCollapsed?e.focus:e.getFirstPosition();const n=YM(i,t,"backward");if(!n){return null}const o=i.createRange(n,t);const r=QM(i.schema,o,"forward");if(r){return i.createRange(r,t)}return null}}function YM(t,e,n){const i=t.schema;const o=t.createRangeIn(e.root);const r=n=="forward"?"elementStart":"elementEnd";for(const{previousPosition:t,item:s,type:a}of o.getWalker({startPosition:e,direction:n})){if(i.isLimit(s)&&!i.isInline(s)){return t}if(a==r&&i.isBlock(s)){return null}}return null}function QM(t,e,n){const i=n=="backward"?e.end:e.start;if(t.checkChild(i,"$text")){return i}for(const{nextPosition:i}of e.getWalker({direction:n})){if(t.checkChild(i,"$text")){return i}}return null}function JM(t,e,n){const i=t.model;const o=t.view.domConverter;if(n){const t=i.createSelection(e.start);i.modifySelection(t);if(!t.focus.isAtEnd&&!e.start.isEqual(t.focus)){e=i.createRange(t.focus,e.end)}}const r=t.mapper.toViewRange(e);const s=o.viewRangeToDom(r);const a=uc.getDomRangeRects(s);let c;for(const t of a){if(c===undefined){c=Math.round(t.bottom);continue}if(Math.round(t.top)>=c){return false}c=Math.max(c,Math.round(t.bottom))}return true}function XM(t,e){return!t.isCollapsed&&t.isBackward==e}var tN=n(7153);var eN={injectType:"singletonStyleTag",attributes:{"data-cke":true}};eN.insert="head";eN.singleton=true;var nN=Ll()(tN.Z,eN);const iN=tN.Z.locals||{};class oN extends Hu{constructor(){super(...arguments);this._previouslySelected=new Set}static get pluginName(){return"Widget"}static get requires(){return[UM,iS]}init(){const t=this.editor;const e=t.editing.view;const n=e.document;this.editor.editing.downcastDispatcher.on("selection",((e,n,i)=>{const o=i.writer;const r=n.selection;if(r.isCollapsed){return}const s=r.getSelectedElement();if(!s){return}const a=t.editing.mapper.toViewElement(s);if(!bM(a)){return}if(!i.consumable.consume(r,"selection")){return}o.setSelection(o.createRangeOn(a),{fake:true,label:vM(a)})}));this.editor.editing.downcastDispatcher.on("selection",((t,e,n)=>{this._clearPreviouslySelectedWidgets(n.writer);const i=n.writer;const o=i.document.selection;let r=null;for(const t of o.getRanges()){for(const e of t){const t=e.item;if(bM(t)&&!sN(t,r)){i.addClass(pM,t);this._previouslySelected.add(t);r=t}}}}),{priority:"low"});e.addObserver(h_);this.listenTo(n,"mousedown",((...t)=>this._onMousedown(...t)));this.listenTo(n,"arrowKey",((...t)=>{this._handleSelectionChangeOnArrowKeyPress(...t)}),{context:[bM,"$text"]});this.listenTo(n,"arrowKey",((...t)=>{this._preventDefaultOnArrowKeyPress(...t)}),{context:"$root"});this.listenTo(n,"arrowKey",$M(this.editor.editing),{context:"$text"});this.listenTo(n,"delete",((t,e)=>{if(this._handleDelete(e.direction=="forward")){e.preventDefault();t.stop()}}),{context:"$root"})}_onMousedown(t,e){const n=this.editor;const i=n.editing.view;const o=i.document;let r=e.target;if(e.domEvent.detail>=3){if(this._selectBlockContent(r)){e.preventDefault()}return}if(rN(r)){return}if(!bM(r)){r=r.findAncestor(bM);if(!r){return}}if(l.isAndroid){e.preventDefault()}if(!o.isFocused){i.focus()}const s=n.editing.mapper.toModelElement(r);this._setSelectionOverElement(s)}_selectBlockContent(t){const e=this.editor;const n=e.model;const i=e.editing.mapper;const o=n.schema;const r=i.findMappedViewAncestor(this.editor.editing.view.createPositionAt(t,0));const s=aN(i.toModelElement(r),n.schema);if(!s){return false}n.change((t=>{const e=!o.isLimit(s)?cN(t.createPositionAfter(s),o):null;const n=t.createPositionAt(s,0);const i=e?t.createPositionAt(e,0):t.createPositionAt(s,"end");t.setSelection(t.createRange(n,i))}));return true}_handleSelectionChangeOnArrowKeyPress(t,e){const n=e.keyCode;const i=this.editor.model;const o=i.schema;const r=i.document.selection;const s=r.getSelectedElement();const a=Xc(n,this.editor.locale.contentLanguageDirection);const c=a=="down"||a=="right";const l=a=="up"||a=="down";if(s&&o.isObject(s)){const n=c?r.getLastPosition():r.getFirstPosition();const s=o.getNearestSelectionRange(n,c?"forward":"backward");if(s){i.change((t=>{t.setSelection(s)}));e.preventDefault();t.stop()}return}if(!r.isCollapsed&&!e.shiftKey){const n=r.getFirstPosition();const s=r.getLastPosition();const a=n.nodeAfter;const l=s.nodeBefore;if(a&&o.isObject(a)||l&&o.isObject(l)){i.change((t=>{t.setSelection(c?s:n)}));e.preventDefault();t.stop()}return}if(!r.isCollapsed){return}const d=this._getObjectElementNextToSelection(c);if(d&&o.isObject(d)){if(o.isInline(d)&&l){return}this._setSelectionOverElement(d);e.preventDefault();t.stop()}}_preventDefaultOnArrowKeyPress(t,e){const n=this.editor.model;const i=n.schema;const o=n.document.selection.getSelectedElement();if(o&&i.isObject(o)){e.preventDefault();t.stop()}}_handleDelete(t){const e=this.editor.model.document;const n=e.selection;if(!this.editor.model.canEditAt(n)){return}if(!n.isCollapsed){return}const i=this._getObjectElementNextToSelection(t);if(i){this.editor.model.change((t=>{let e=n.anchor.parent;while(e.isEmpty){const n=e;e=n.parent;t.remove(n)}this._setSelectionOverElement(i)}));return true}}_setSelectionOverElement(t){this.editor.model.change((e=>{e.setSelection(e.createRangeOn(t))}))}_getObjectElementNextToSelection(t){const e=this.editor.model;const n=e.schema;const i=e.document.selection;const o=e.createSelection(i);e.modifySelection(o,{direction:t?"forward":"backward"});if(o.isEqual(i)){return null}const r=t?o.focus.nodeBefore:o.focus.nodeAfter;if(!!r&&n.isObject(r)){return r}return null}_clearPreviouslySelectedWidgets(t){for(const e of this._previouslySelected){t.removeClass(pM,e)}this._previouslySelected.clear()}}function rN(t){let e=t;while(e){if(e.is("editableElement")&&!e.is("rootElement")){return true}if(bM(e)){return false}e=e.parent}return false}function sN(t,e){if(!e){return false}return Array.from(t.getAncestors()).includes(e)}function aN(t,e){for(const n of t.getAncestors({includeSelf:true,parentFirst:true})){if(e.checkChild(n,"$text")){return n}if(e.isLimit(n)&&!e.isObject(n)){break}}return null}function cN(t,e){const n=new Wb({startPosition:t});for(const{item:t}of n){if(e.isLimit(t)||!t.is("element")){return null}if(e.checkChild(t,"$text")){return t}}return null}class lN extends Hu{constructor(){super(...arguments);this._toolbarDefinitions=new Map}static get requires(){return[vT]}static get pluginName(){return"WidgetToolbarRepository"}init(){const t=this.editor;if(t.plugins.has("BalloonToolbar")){const e=t.plugins.get("BalloonToolbar");this.listenTo(e,"show",(e=>{if(hN(t.editing.view.document.selection)){e.stop()}}),{priority:"high"})}this._balloon=this.editor.plugins.get("ContextualBalloon");this.on("change:isEnabled",(()=>{this._updateToolbarsVisibility()}));this.listenTo(t.ui,"update",(()=>{this._updateToolbarsVisibility()}));this.listenTo(t.ui.focusTracker,"change:isFocused",(()=>{this._updateToolbarsVisibility()}),{priority:"low"})}destroy(){super.destroy();for(const t of this._toolbarDefinitions.values()){t.view.destroy()}}register(t,{ariaLabel:e,items:n,getRelatedElement:i,balloonClassName:o="ck-toolbar-container"}){if(!n.length){L("widget-toolbar-no-items",{toolbarId:t});return}const r=this.editor;const s=r.t;const a=new Iy(r.locale);a.ariaLabel=e||s("Widget toolbar");if(this._toolbarDefinitions.has(t)){throw new P("widget-toolbar-duplicated",this,{toolbarId:t})}const c={view:a,getRelatedElement:i,balloonClassName:o,itemsConfig:n,initialized:false};r.ui.addToolbar(a,{isContextual:true,beforeFocus:()=>{const t=i(r.editing.view.document.selection);if(t){this._showToolbar(c,t)}},afterBlur:()=>{this._hideToolbar(c)}});this._toolbarDefinitions.set(t,c)}_updateToolbarsVisibility(){let t=0;let e=null;let n=null;for(const i of this._toolbarDefinitions.values()){const o=i.getRelatedElement(this.editor.editing.view.document.selection);if(!this.isEnabled||!o){if(this._isToolbarInBalloon(i)){this._hideToolbar(i)}}else if(!this.editor.ui.focusTracker.isFocused){if(this._isToolbarVisible(i)){this._hideToolbar(i)}}else{const r=o.getAncestors().length;if(r>t){t=r;e=o;n=i}}}if(n){this._showToolbar(n,e)}}_hideToolbar(t){this._balloon.remove(t.view);this.stopListening(this._balloon,"change:visibleView")}_showToolbar(t,e){if(this._isToolbarVisible(t)){dN(this.editor,e)}else if(!this._isToolbarInBalloon(t)){if(!t.initialized){t.initialized=true;t.view.fillFromConfig(t.itemsConfig,this.editor.ui.componentFactory)}this._balloon.add({view:t.view,position:uN(this.editor,e),balloonClassName:t.balloonClassName});this.listenTo(this._balloon,"change:visibleView",(()=>{for(const t of this._toolbarDefinitions.values()){if(this._isToolbarVisible(t)){const e=t.getRelatedElement(this.editor.editing.view.document.selection);dN(this.editor,e)}}}))}}_isToolbarVisible(t){return this._balloon.visibleView===t.view}_isToolbarInBalloon(t){return this._balloon.hasView(t.view)}}function dN(t,e){const n=t.plugins.get("ContextualBalloon");const i=uN(t,e);n.updatePosition(i)}function uN(t,e){const n=t.editing.view;const i=wD.defaultPositions;return{target:n.domConverter.mapViewToDom(e),positions:[i.northArrowSouth,i.northArrowSouthWest,i.northArrowSouthEast,i.southArrowNorth,i.southArrowNorthWest,i.southArrowNorthEast,i.viewportStickyNorth]}}function hN(t){const e=t.getSelectedElement();return!!(e&&bM(e))}class gN extends(gt()){constructor(t){super();this.set("activeHandlePosition",null);this.set("proposedWidthPercents",null);this.set("proposedWidth",null);this.set("proposedHeight",null);this.set("proposedHandleHostWidth",null);this.set("proposedHandleHostHeight",null);this._options=t;this._referenceCoordinates=null}get originalWidth(){return this._originalWidth}get originalHeight(){return this._originalHeight}get originalWidthPercents(){return this._originalWidthPercents}get aspectRatio(){return this._aspectRatio}begin(t,e,n){const i=new uc(e);this.activeHandlePosition=bN(t);this._referenceCoordinates=mN(e,kN(this.activeHandlePosition));this._originalWidth=i.width;this._originalHeight=i.height;this._aspectRatio=i.width/i.height;const o=n.style.width;if(o&&o.match(/^\d+(\.\d*)?%$/)){this._originalWidthPercents=parseFloat(o)}else{this._originalWidthPercents=fN(n,i)}}update(t){this.proposedWidth=t.width;this.proposedHeight=t.height;this.proposedWidthPercents=t.widthPercents;this.proposedHandleHostWidth=t.handleHostWidth;this.proposedHandleHostHeight=t.handleHostHeight}}function fN(t,e){const n=t.parentElement;let i=parseFloat(n.ownerDocument.defaultView.getComputedStyle(n).width);const o=5;let r=0;let s=n;while(isNaN(i)){s=s.parentElement;if(++r>o){return 0}i=parseFloat(n.ownerDocument.defaultView.getComputedStyle(s).width)}return e.width/i*100}function mN(t,e){const n=new uc(t);const i=e.split("-");const o={x:i[1]=="right"?n.right:n.left,y:i[0]=="bottom"?n.bottom:n.top};o.x+=t.ownerDocument.defaultView.scrollX;o.y+=t.ownerDocument.defaultView.scrollY;return o}function pN(t){return`ck-widget__resizer__handle-${t}`}function bN(t){const e=["top-left","top-right","bottom-right","bottom-left"];for(const n of e){if(t.classList.contains(pN(n))){return n}}}function kN(t){const e=t.split("-");const n={top:"bottom",bottom:"top",left:"right",right:"left"};return`${n[e[0]]}-${n[e[1]]}`}class wN extends Fl{constructor(){super();const t=this.bindTemplate;this.setTemplate({tag:"div",attributes:{class:["ck","ck-size-view",t.to("_viewPosition",(t=>t?`ck-orientation-${t}`:""))],style:{display:t.if("_isVisible","none",(t=>!t))}},children:[{text:t.to("_label")}]})}_bindToState(t,e){this.bind("_isVisible").to(e,"proposedWidth",e,"proposedHeight",((t,e)=>t!==null&&e!==null));this.bind("_label").to(e,"proposedHandleHostWidth",e,"proposedHandleHostHeight",e,"proposedWidthPercents",((e,n,i)=>{if(t.unit==="px"){return`${e}×${n}`}else{return`${i}%`}}));this.bind("_viewPosition").to(e,"activeHandlePosition",e,"proposedHandleHostWidth",e,"proposedHandleHostHeight",((t,e,n)=>e<50||n<50?"above-center":t))}_dismiss(){this.unbind();this._isVisible=false}}class AN extends(gt()){constructor(t){super();this._viewResizerWrapper=null;this._options=t;this.set("isEnabled",true);this.set("isSelected",false);this.bind("isVisible").to(this,"isEnabled",this,"isSelected",((t,e)=>t&&e));this.decorate("begin");this.decorate("cancel");this.decorate("commit");this.decorate("updateSize");this.on("commit",(t=>{if(!this.state.proposedWidth&&!this.state.proposedWidthPercents){this._cleanup();t.stop()}}),{priority:"high"})}get state(){return this._state}show(){const t=this._options.editor.editing.view;t.change((t=>{t.removeClass("ck-hidden",this._viewResizerWrapper)}))}hide(){const t=this._options.editor.editing.view;t.change((t=>{t.addClass("ck-hidden",this._viewResizerWrapper)}))}attach(){const t=this;const e=this._options.viewElement;const n=this._options.editor.editing.view;n.change((n=>{const i=n.createUIElement("div",{class:"ck ck-reset_all ck-widget__resizer"},(function(e){const n=this.toDomElement(e);t._appendHandles(n);t._appendSizeUI(n);return n}));n.insert(n.createPositionAt(e,"end"),i);n.addClass("ck-widget_with-resizer",e);this._viewResizerWrapper=i;if(!this.isVisible){this.hide()}}));this.on("change:isVisible",(()=>{if(this.isVisible){this.show();this.redraw()}else{this.hide()}}))}begin(t){this._state=new gN(this._options);this._sizeView._bindToState(this._options,this.state);this._initialViewWidth=this._options.viewElement.getStyle("width");this.state.begin(t,this._getHandleHost(),this._getResizeHost())}updateSize(t){const e=this._proposeNewSize(t);const n=this._options.editor.editing.view;n.change((t=>{const n=this._options.unit||"%";const i=(n==="%"?e.widthPercents:e.width)+n;t.setStyle("width",i,this._options.viewElement)}));const i=this._getHandleHost();const o=new uc(i);const r=Math.round(o.width);const s=Math.round(o.height);const a=new uc(i);e.width=Math.round(a.width);e.height=Math.round(a.height);this.redraw(o);this.state.update({...e,handleHostWidth:r,handleHostHeight:s})}commit(){const t=this._options.unit||"%";const e=(t==="%"?this.state.proposedWidthPercents:this.state.proposedWidth)+t;this._options.editor.editing.view.change((()=>{this._cleanup();this._options.onCommit(e)}))}cancel(){this._cleanup()}destroy(){this.cancel()}redraw(t){const e=this._domResizerWrapper;if(!vN(e)){return}const n=e.parentElement;const i=this._getHandleHost();const o=this._viewResizerWrapper;const r=[o.getStyle("width"),o.getStyle("height"),o.getStyle("left"),o.getStyle("top")];let s;if(n.isSameNode(i)){const e=t||new uc(i);s=[e.width+"px",e.height+"px",undefined,undefined]}else{s=[i.offsetWidth+"px",i.offsetHeight+"px",i.offsetLeft+"px",i.offsetTop+"px"]}if(Et(r,s)!=="same"){this._options.editor.editing.view.change((t=>{t.setStyle({width:s[0],height:s[1],left:s[2],top:s[3]},o)}))}}containsHandle(t){return this._domResizerWrapper.contains(t)}static isResizeHandle(t){return t.classList.contains("ck-widget__resizer__handle")}_cleanup(){this._sizeView._dismiss();const t=this._options.editor.editing.view;t.change((t=>{t.setStyle("width",this._initialViewWidth,this._options.viewElement)}))}_proposeNewSize(t){const e=this.state;const n=_N(t);const i=this._options.isCentered?this._options.isCentered(this):true;const o={x:e._referenceCoordinates.x-(n.x+e.originalWidth),y:n.y-e.originalHeight-e._referenceCoordinates.y};if(i&&e.activeHandlePosition.endsWith("-right")){o.x=n.x-(e._referenceCoordinates.x+e.originalWidth)}if(i){o.x*=2}let r=Math.abs(e.originalWidth+o.x);let s=Math.abs(e.originalHeight+o.y);const a=r/e.aspectRatio>s?"width":"height";if(a=="width"){s=r/e.aspectRatio}else{r=s*e.aspectRatio}return{width:Math.round(r),height:Math.round(s),widthPercents:Math.min(Math.round(e.originalWidthPercents/e.originalWidth*r*100)/100,100)}}_getResizeHost(){const t=this._domResizerWrapper.parentElement;return this._options.getResizeHost(t)}_getHandleHost(){const t=this._domResizerWrapper.parentElement;return this._options.getHandleHost(t)}get _domResizerWrapper(){return this._options.editor.editing.view.domConverter.mapViewToDom(this._viewResizerWrapper)}_appendHandles(t){const e=["top-left","top-right","bottom-right","bottom-left"];for(const n of e){t.appendChild(new Hl({tag:"div",attributes:{class:`ck-widget__resizer__handle ${CN(n)}`}}).render())}}_appendSizeUI(t){this._sizeView=new wN;this._sizeView.render();t.appendChild(this._sizeView.element)}}function CN(t){return`ck-widget__resizer__handle-${t}`}function _N(t){return{x:t.pageX,y:t.pageY}}function vN(t){return t&&t.ownerDocument&&t.ownerDocument.contains(t)}var yN=n(4875);var xN={injectType:"singletonStyleTag",attributes:{"data-cke":true}};xN.insert="head";xN.singleton=true;var EN=Ll()(yN.Z,xN);const DN=yN.Z.locals||{};class TN extends Hu{constructor(){super(...arguments);this._resizers=new Map}static get pluginName(){return"WidgetResize"}init(){const t=this.editor.editing;const e=nc.window.document;this.set("selectedResizer",null);this.set("_activeResizer",null);t.view.addObserver(h_);this._observer=new(Qa());this.listenTo(t.view.document,"mousedown",this._mouseDownListener.bind(this),{priority:"high"});this._observer.listenTo(e,"mousemove",this._mouseMoveListener.bind(this));this._observer.listenTo(e,"mouseup",this._mouseUpListener.bind(this));this._redrawSelectedResizerThrottled=ND((()=>this.redrawSelectedResizer()),200);this.editor.ui.on("update",this._redrawSelectedResizerThrottled);this.editor.model.document.on("change",(()=>{for(const[t,e]of this._resizers){if(!t.isAttached()){this._resizers.delete(t);e.destroy()}}}),{priority:"lowest"});this._observer.listenTo(nc.window,"resize",this._redrawSelectedResizerThrottled);const n=this.editor.editing.view.document.selection;n.on("change",(()=>{const t=n.getSelectedElement();const e=this.getResizerByViewElement(t)||null;if(e){this.select(e)}else{this.deselect()}}))}redrawSelectedResizer(){if(this.selectedResizer&&this.selectedResizer.isVisible){this.selectedResizer.redraw()}}destroy(){super.destroy();this._observer.stopListening();for(const t of this._resizers.values()){t.destroy()}this._redrawSelectedResizerThrottled.cancel()}select(t){this.deselect();this.selectedResizer=t;this.selectedResizer.isSelected=true}deselect(){if(this.selectedResizer){this.selectedResizer.isSelected=false}this.selectedResizer=null}attachTo(t){const e=new AN(t);const n=this.editor.plugins;e.attach();if(n.has("WidgetToolbarRepository")){const t=n.get("WidgetToolbarRepository");e.on("begin",(()=>{t.forceDisabled("resize")}),{priority:"lowest"});e.on("cancel",(()=>{t.clearForceDisabled("resize")}),{priority:"highest"});e.on("commit",(()=>{t.clearForceDisabled("resize")}),{priority:"highest"})}this._resizers.set(t.viewElement,e);const i=this.editor.editing.view.document.selection;const o=i.getSelectedElement();if(this.getResizerByViewElement(o)==e){this.select(e)}return e}getResizerByViewElement(t){return this._resizers.get(t)}_getResizerByHandle(t){for(const e of this._resizers.values()){if(e.containsHandle(t)){return e}}}_mouseDownListener(t,e){const n=e.domTarget;if(!AN.isResizeHandle(n)){return}this._activeResizer=this._getResizerByHandle(n)||null;if(this._activeResizer){this._activeResizer.begin(n);t.stop();e.preventDefault()}}_mouseMoveListener(t,e){if(this._activeResizer){this._activeResizer.updateSize(e)}}_mouseUpListener(){if(this._activeResizer){this._activeResizer.commit();this._activeResizer=null}}}const IN=Cc("px");class SN extends Fl{constructor(){super();const t=this.bindTemplate;this.set({isVisible:false,left:null,top:null,width:null});this.setTemplate({tag:"div",attributes:{class:["ck","ck-clipboard-drop-target-line",t.if("isVisible","ck-hidden",(t=>!t))],style:{left:t.to("left",(t=>IN(t))),top:t.to("top",(t=>IN(t))),width:t.to("width",(t=>IN(t)))}}})}}class BN extends Hu{constructor(){super(...arguments);this.removeDropMarkerDelayed=_l((()=>this.removeDropMarker()),40);this._updateDropMarkerThrottled=ND((t=>this._updateDropMarker(t)),40);this._reconvertMarkerThrottled=ND((()=>{if(this.editor.model.markers.has("drop-target")){this.editor.editing.reconvertMarker("drop-target")}}),0);this._dropTargetLineView=new SN;this._domEmitter=new(Qa());this._scrollables=new Map}static get pluginName(){return"DragDropTarget"}init(){this._setupDropMarker()}destroy(){this._domEmitter.stopListening();for(const{resizeObserver:t}of this._scrollables.values()){t.destroy()}this._updateDropMarkerThrottled.cancel();this.removeDropMarkerDelayed.cancel();this._reconvertMarkerThrottled.cancel();return super.destroy()}updateDropMarker(t,e,n,i,o,r){this.removeDropMarkerDelayed.cancel();const s=MN(this.editor,t,e,n,i,o,r);if(!s){return}if(r&&r.containsRange(s)){return this.removeDropMarker()}this._updateDropMarkerThrottled(s)}getFinalDropRange(t,e,n,i,o,r){const s=MN(this.editor,t,e,n,i,o,r);this.removeDropMarker();return s}removeDropMarker(){const t=this.editor.model;this.removeDropMarkerDelayed.cancel();this._updateDropMarkerThrottled.cancel();this._dropTargetLineView.isVisible=false;if(t.markers.has("drop-target")){t.change((t=>{t.removeMarker("drop-target")}))}}_setupDropMarker(){const t=this.editor;t.ui.view.body.add(this._dropTargetLineView);t.conversion.for("editingDowncast").markerToHighlight({model:"drop-target",view:{classes:["ck-clipboard-drop-target-range"]}});t.conversion.for("editingDowncast").markerToElement({model:"drop-target",view:(e,{writer:n})=>{if(t.model.schema.checkChild(e.markerRange.start,"$text")){this._dropTargetLineView.isVisible=false;return this._createDropTargetPosition(n)}else{if(e.markerRange.isCollapsed){this._updateDropTargetLine(e.markerRange)}else{this._dropTargetLineView.isVisible=false}}}})}_updateDropMarker(t){const e=this.editor;const n=e.model.markers;e.model.change((e=>{if(n.has("drop-target")){if(!n.get("drop-target").getRange().isEqual(t)){e.updateMarker("drop-target",{range:t})}}else{e.addMarker("drop-target",{range:t,usingOperation:false,affectsData:false})}}))}_createDropTargetPosition(t){return t.createUIElement("span",{class:"ck ck-clipboard-drop-target-position"},(function(t){const e=this.toDomElement(t);e.append("⁠",t.createElement("span"),"⁠");return e}))}_updateDropTargetLine(t){const e=this.editor.editing;const n=t.start.nodeBefore;const i=t.start.nodeAfter;const o=t.start.parent;const r=n?e.mapper.toViewElement(n):null;const s=r?e.view.domConverter.mapViewToDom(r):null;const a=i?e.mapper.toViewElement(i):null;const c=a?e.view.domConverter.mapViewToDom(a):null;const l=e.mapper.toViewElement(o);if(!l){return}const d=e.view.domConverter.mapViewToDom(l);const u=this._getScrollableRect(l);const{scrollX:h,scrollY:g}=nc.window;const f=s?new uc(s):null;const m=c?new uc(c):null;const p=new uc(d).excludeScrollbarsAndBorders();const b=f?f.bottom:p.top;const k=m?m.top:p.bottom;const w=nc.window.getComputedStyle(d);const A=b<=k?(b+k)/2:k;if(u.topa.schema.checkChild(r,t)));if(l){if(a.schema.checkChild(r,"$text")){return a.createRange(r)}else if(e){return PN(t,zN(t,e.parent),i,o)}}}}else if(a.schema.isInline(d)){return PN(t,d,i,o)}}if(a.schema.isBlock(d)){return PN(t,d,i,o)}else if(a.schema.checkChild(d,"$block")){const e=Array.from(d.getChildren()).filter((e=>e.is("element")&&!NN(t,e)));let n=0;let r=e.length;if(r==0){return a.createRange(a.createPositionAt(d,"end"))}while(n{if(n){this.forceDisabled("readOnlyMode");this._isBlockDragging=false}else{this.clearForceDisabled("readOnlyMode")}}));if(l.isAndroid){this.forceDisabled("noAndroidSupport")}if(t.plugins.has("BlockToolbar")){const e=t.plugins.get("BlockToolbar");const n=e.buttonView.element;this._domEmitter.listenTo(n,"dragstart",((t,e)=>this._handleBlockDragStart(e)));this._domEmitter.listenTo(nc.document,"dragover",((t,e)=>this._handleBlockDragging(e)));this._domEmitter.listenTo(nc.document,"drop",((t,e)=>this._handleBlockDragging(e)));this._domEmitter.listenTo(nc.document,"dragend",(()=>this._handleBlockDragEnd()),{useCapture:true});if(this.isEnabled){n.setAttribute("draggable","true")}this.on("change:isEnabled",((t,e,i)=>{n.setAttribute("draggable",i?"true":"false")}))}}destroy(){this._domEmitter.stopListening();return super.destroy()}_handleBlockDragStart(t){if(!this.isEnabled){return}const e=this.editor.model;const n=e.document.selection;const i=this.editor.editing.view;const o=Array.from(n.getSelectedBlocks());const r=e.createRange(e.createPositionBefore(o[0]),e.createPositionAfter(o[o.length-1]));e.change((t=>t.setSelection(r)));this._isBlockDragging=true;i.focus();i.getObserver(eM).onDomEvent(t)}_handleBlockDragging(t){if(!this.isEnabled||!this._isBlockDragging){return}const e=t.clientX+(this.editor.locale.contentLanguageDirection=="ltr"?100:-100);const n=t.clientY;const i=document.elementFromPoint(e,n);const o=this.editor.editing.view;if(!i||!i.closest(".ck-editor__editable")){return}o.getObserver(eM).onDomEvent({...t,type:t.type,dataTransfer:t.dataTransfer,target:i,clientX:e,clientY:n,preventDefault:()=>t.preventDefault(),stopPropagation:()=>t.stopPropagation()})}_handleBlockDragEnd(){this._isBlockDragging=false}}var ON=n(799);var FN={injectType:"singletonStyleTag",attributes:{"data-cke":true}};FN.insert="head";FN.singleton=true;var jN=Ll()(ON.Z,FN);const HN=ON.Z.locals||{};class UN extends Hu{constructor(){super(...arguments);this._clearDraggableAttributesDelayed=_l((()=>this._clearDraggableAttributes()),40);this._blockMode=false;this._domEmitter=new(Qa())}static get pluginName(){return"DragDrop"}static get requires(){return[lM,oN,BN,RN]}init(){const t=this.editor;const e=t.editing.view;this._draggedRange=null;this._draggingUid="";this._draggableElement=null;e.addObserver(eM);e.addObserver(h_);this._setupDragging();this._setupContentInsertionIntegration();this._setupClipboardInputIntegration();this._setupDraggableAttributeHandling();this.listenTo(t,"change:isReadOnly",((t,e,n)=>{if(n){this.forceDisabled("readOnlyMode")}else{this.clearForceDisabled("readOnlyMode")}}));this.on("change:isEnabled",((t,e,n)=>{if(!n){this._finalizeDragging(false)}}));if(l.isAndroid){this.forceDisabled("noAndroidSupport")}}destroy(){if(this._draggedRange){this._draggedRange.detach();this._draggedRange=null}if(this._previewContainer){this._previewContainer.remove()}this._domEmitter.stopListening();this._clearDraggableAttributesDelayed.cancel();return super.destroy()}_setupDragging(){const t=this.editor;const e=t.model;const n=t.editing.view;const i=n.document;const o=t.plugins.get(BN);this.listenTo(i,"dragstart",((t,n)=>{if(n.target&&n.target.is("editableElement")){n.preventDefault();return}this._prepareDraggedRange(n.target);if(!this._draggedRange){n.preventDefault();return}this._draggingUid=I();n.dataTransfer.effectAllowed=this.isEnabled?"copyMove":"copy";n.dataTransfer.setData("application/ckeditor5-dragging-uid",this._draggingUid);const i=e.createSelection(this._draggedRange.toRange());const o=this.editor.plugins.get("ClipboardPipeline");o._fireOutputTransformationEvent(n.dataTransfer,i,"dragstart");const{dataTransfer:r,domTarget:s,domEvent:a}=n;const{clientX:c}=a;this._updatePreview({dataTransfer:r,domTarget:s,clientX:c});n.stopPropagation();if(!this.isEnabled){this._draggedRange.detach();this._draggedRange=null;this._draggingUid=""}}),{priority:"low"});this.listenTo(i,"dragend",((t,e)=>{this._finalizeDragging(!e.dataTransfer.isCanceled&&e.dataTransfer.dropEffect=="move")}),{priority:"low"});this._domEmitter.listenTo(nc.document,"dragend",(()=>{this._blockMode=false}),{useCapture:true});this.listenTo(i,"dragenter",(()=>{if(!this.isEnabled){return}n.focus()}));this.listenTo(i,"dragleave",(()=>{o.removeDropMarkerDelayed()}));this.listenTo(i,"dragging",((t,e)=>{if(!this.isEnabled){e.dataTransfer.dropEffect="none";return}const{clientX:n,clientY:i}=e.domEvent;o.updateDropMarker(e.target,e.targetRanges,n,i,this._blockMode,this._draggedRange);if(!this._draggedRange){e.dataTransfer.dropEffect="copy"}if(!l.isGecko){if(e.dataTransfer.effectAllowed=="copy"){e.dataTransfer.dropEffect="copy"}else if(["all","copyMove"].includes(e.dataTransfer.effectAllowed)){e.dataTransfer.dropEffect="move"}}t.stop()}),{priority:"low"})}_setupClipboardInputIntegration(){const t=this.editor;const e=t.editing.view;const n=e.document;const i=t.plugins.get(BN);this.listenTo(n,"clipboardInput",((e,n)=>{if(n.method!="drop"){return}const{clientX:o,clientY:r}=n.domEvent;const s=i.getFinalDropRange(n.target,n.targetRanges,o,r,this._blockMode,this._draggedRange);if(!s){this._finalizeDragging(false);e.stop();return}if(this._draggedRange&&this._draggingUid!=n.dataTransfer.getData("application/ckeditor5-dragging-uid")){this._draggedRange.detach();this._draggedRange=null;this._draggingUid=""}const a=WN(n.dataTransfer)=="move";if(a&&this._draggedRange&&this._draggedRange.containsRange(s,true)){this._finalizeDragging(false);e.stop();return}n.targetRanges=[t.editing.mapper.toViewRange(s)]}),{priority:"high"})}_setupContentInsertionIntegration(){const t=this.editor.plugins.get(lM);t.on("contentInsertion",((t,e)=>{if(!this.isEnabled||e.method!=="drop"){return}const n=e.targetRanges.map((t=>this.editor.editing.mapper.toModelRange(t)));this.editor.model.change((t=>t.setSelection(n)))}),{priority:"high"});t.on("contentInsertion",((t,e)=>{if(!this.isEnabled||e.method!=="drop"){return}const n=WN(e.dataTransfer)=="move";const i=!e.resultRange||!e.resultRange.isCollapsed;this._finalizeDragging(i&&n)}),{priority:"lowest"})}_setupDraggableAttributeHandling(){const t=this.editor;const e=t.editing.view;const n=e.document;this.listenTo(n,"mousedown",((i,o)=>{if(l.isAndroid||!o){return}this._clearDraggableAttributesDelayed.cancel();let r=GN(o.target);if(l.isBlink&&!t.isReadOnly&&!r&&!n.selection.isCollapsed){const t=n.selection.getSelectedElement();if(!t||!bM(t)){r=n.selection.editableElement}}if(r){e.change((t=>{t.setAttribute("draggable","true",r)}));this._draggableElement=t.editing.mapper.toModelElement(r)}}));this.listenTo(n,"mouseup",(()=>{if(!l.isAndroid){this._clearDraggableAttributesDelayed()}}))}_clearDraggableAttributes(){const t=this.editor.editing;t.view.change((e=>{if(this._draggableElement&&this._draggableElement.root.rootName!="$graveyard"){e.removeAttribute("draggable",t.mapper.toViewElement(this._draggableElement))}this._draggableElement=null}))}_finalizeDragging(t){const e=this.editor;const n=e.model;const i=e.plugins.get(BN);i.removeDropMarker();this._clearDraggableAttributes();if(e.plugins.has("WidgetToolbarRepository")){const t=e.plugins.get("WidgetToolbarRepository");t.clearForceDisabled("dragDrop")}this._draggingUid="";if(this._previewContainer){this._previewContainer.remove();this._previewContainer=undefined}if(!this._draggedRange){return}if(t&&this.isEnabled){n.change((t=>{const e=n.createSelection(this._draggedRange);n.deleteContent(e,{doNotAutoparagraph:true});const i=e.getFirstPosition().parent;if(i.isEmpty&&!n.schema.checkChild(i,"$text")&&n.schema.checkChild(i,"paragraph")){t.insertElement("paragraph",i,0)}}))}this._draggedRange.detach();this._draggedRange=null}_prepareDraggedRange(t){const e=this.editor;const n=e.model;const i=n.document.selection;const o=t?GN(t):null;if(o){const t=e.editing.mapper.toModelElement(o);this._draggedRange=mk.fromRange(n.createRangeOn(t));this._blockMode=n.schema.isBlock(t);if(e.plugins.has("WidgetToolbarRepository")){const t=e.plugins.get("WidgetToolbarRepository");t.forceDisabled("dragDrop")}return}if(i.isCollapsed&&!i.getFirstPosition().parent.isEmpty){return}const r=Array.from(i.getSelectedBlocks());const s=i.getFirstRange();if(r.length==0){this._draggedRange=mk.fromRange(s);return}const a=qN(n,r);if(r.length>1){this._draggedRange=mk.fromRange(a);this._blockMode=true}else if(r.length==1){const t=s.start.isTouching(a.start)&&s.end.isTouching(a.end);this._draggedRange=mk.fromRange(t?a:s);this._blockMode=t}n.change((t=>t.setSelection(this._draggedRange.toRange())))}_updatePreview({dataTransfer:t,domTarget:e,clientX:n}){const i=this.editor.editing.view;const o=i.document.selection.editableElement;const r=i.domConverter.mapViewToDom(o);const s=nc.window.getComputedStyle(r);if(!this._previewContainer){this._previewContainer=ie(nc.document,"div",{style:"position: fixed; left: -999999px;"});nc.document.body.appendChild(this._previewContainer)}else if(this._previewContainer.firstElementChild){this._previewContainer.removeChild(this._previewContainer.firstElementChild)}const a=new uc(r);if(r.contains(e)){return}const c=parseFloat(s.paddingLeft);const d=ie(nc.document,"div");d.className="ck ck-content";d.style.width=s.width;d.style.paddingLeft=`${a.left-n+c}px`;if(l.isiOS){d.style.backgroundColor="white"}d.innerHTML=t.getData("text/html");t.setDragImage(d,0,0);this._previewContainer.appendChild(d)}}function WN(t){if(l.isGecko){return t.dropEffect}return["all","copyMove"].includes(t.effectAllowed)?"move":"copy"}function GN(t){if(t.is("editableElement")){return null}if(t.hasClass("ck-widget__selection-handle")){return t.findAncestor(bM)}if(bM(t)){return t}const e=t.findAncestor((t=>bM(t)||t.is("editableElement")));if(bM(e)){return e}return null}function qN(t,e){const n=e[0];const i=e[e.length-1];const o=n.getCommonAncestor(i);const r=t.createPositionBefore(n);const s=t.createPositionAfter(i);if(o&&o.is("element")&&!t.schema.isLimit(o)){const e=t.createRangeOn(o);const n=r.isTouching(e.start);const i=s.isTouching(e.end);if(n&&i){return qN(t,[o])}}return t.createRange(r,s)}class ZN extends Hu{static get pluginName(){return"PastePlainText"}static get requires(){return[lM]}init(){const t=this.editor;const e=t.model;const n=t.editing.view;const i=n.document;const o=e.document.selection;let r=false;n.addObserver(eM);this.listenTo(i,"keydown",((t,e)=>{r=e.shiftKey}));t.plugins.get(lM).on("contentInsertion",((t,n)=>{if(!r&&!$N(n.content,e.schema)){return}e.change((t=>{const i=Array.from(o.getAttributes()).filter((([t])=>e.schema.getAttributeProperties(t).isFormatting));if(!o.isCollapsed){e.deleteContent(o,{doNotAutoparagraph:true})}i.push(...o.getAttributes());const r=t.createRangeIn(n.content);for(const e of r.getItems()){if(e.is("$textProxy")){t.setAttributes(i,e)}}}))}))}}function $N(t,e){if(t.childCount>1){return false}const n=t.getChild(0);if(e.isObject(n)){return false}return Array.from(n.getAttributeKeys()).length==0}class KN extends Hu{static get pluginName(){return"Clipboard"}static get requires(){return[lM,UN,ZN]}}class YN extends Wu{constructor(t){super(t);this.affectsData=false}execute(){const t=this.editor.model;const e=t.document.selection;let n=t.schema.getLimitElement(e);if(e.containsEntireContent(n)||!QN(t.schema,n)){do{n=n.parent;if(!n){return}}while(!QN(t.schema,n))}t.change((t=>{t.setSelection(n,"in")}))}}function QN(t,e){return t.isLimit(e)&&(t.checkChild(e,"$text")||t.checkChild(e,"paragraph"))}const JN=Yc("Ctrl+A");class XN extends Hu{static get pluginName(){return"SelectAllEditing"}init(){const t=this.editor;const e=t.editing.view;const n=e.document;t.commands.add("selectAll",new YN(t));this.listenTo(n,"keydown",((e,n)=>{if(Kc(n)===JN){t.execute("selectAll");n.preventDefault()}}))}}const tP='';class eP extends Hu{static get pluginName(){return"SelectAllUI"}init(){const t=this.editor;t.ui.componentFactory.add("selectAll",(e=>{const n=t.commands.get("selectAll");const i=new Dd(e);const o=e.t;i.set({label:o("Select all"),icon:tP,keystroke:"Ctrl+A",tooltip:true});i.bind("isEnabled").to(n,"isEnabled");this.listenTo(i,"execute",(()=>{t.execute("selectAll");t.editing.view.focus()}));return i}))}}class nP extends Hu{static get requires(){return[XN,eP]}static get pluginName(){return"SelectAll"}}class iP extends Wu{constructor(t){super(t);this._stack=[];this._createdBatches=new WeakSet;this.refresh();this._isEnabledBasedOnSelection=false;this.listenTo(t.data,"set",((t,e)=>{e[1]={...e[1]};const n=e[1];if(!n.batchType){n.batchType={isUndoable:false}}}),{priority:"high"});this.listenTo(t.data,"set",((t,e)=>{const n=e[1];if(!n.batchType.isUndoable){this.clearStack()}}))}refresh(){this.isEnabled=this._stack.length>0}get createdBatches(){return this._createdBatches}addBatch(t){const e=this.editor.model.document.selection;const n={ranges:e.hasOwnRange?Array.from(e.getRanges()):[],isBackward:e.isBackward};this._stack.push({batch:t,selection:n});this.refresh()}clearStack(){this._stack=[];this.refresh()}_restoreSelection(t,e,n){const i=this.editor.model;const o=i.document;const r=[];const s=t.map((t=>t.getTransformedByOperations(n)));const a=s.flat();for(const t of s){const e=t.filter((t=>t.root!=o.graveyard)).filter((t=>!rP(t,a)));if(!e.length){continue}oP(e);r.push(e[0])}if(r.length){i.change((t=>{t.setSelection(r,{backward:e})}))}}_undo(t,e){const n=this.editor.model;const i=n.document;this._createdBatches.add(e);const o=t.operations.slice().filter((t=>t.isDocumentOperation));o.reverse();for(const t of o){const o=t.baseVersion+1;const r=Array.from(i.history.getOperations(o));const s=nC([t.getReversed()],r,{useRelations:true,document:this.editor.model.document,padWithNoOps:false,forceWeakRemove:true});const a=s.operationsA;for(let o of a){const r=o.affectedSelectable;if(r&&!n.canEditAt(r)){o=new GA(o.baseVersion)}e.addOperation(o);n.applyOperation(o);i.history.setOperationAsUndone(t,o)}}}}function oP(t){t.sort(((t,e)=>t.start.isBefore(e.start)?-1:1));for(let e=1;ee!==t&&e.containsRange(t,true)))}class sP extends iP{execute(t=null){const e=t?this._stack.findIndex((e=>e.batch==t)):this._stack.length-1;const n=this._stack.splice(e,1)[0];const i=this.editor.model.createBatch({isUndo:true});this.editor.model.enqueueChange(i,(()=>{this._undo(n.batch,i);const t=this.editor.model.document.history.getOperations(n.batch.baseVersion);this._restoreSelection(n.selection.ranges,n.selection.isBackward,t)}));this.fire("revert",n.batch,i);this.refresh()}}class aP extends iP{execute(){const t=this._stack.pop();const e=this.editor.model.createBatch({isUndo:true});this.editor.model.enqueueChange(e,(()=>{const n=t.batch.operations[t.batch.operations.length-1];const i=n.baseVersion+1;const o=this.editor.model.document.history.getOperations(i);this._restoreSelection(t.selection.ranges,t.selection.isBackward,o);this._undo(t.batch,e)}));this.refresh()}}class cP extends Hu{constructor(){super(...arguments);this._batchRegistry=new WeakSet}static get pluginName(){return"UndoEditing"}init(){const t=this.editor;this._undoCommand=new sP(t);this._redoCommand=new aP(t);t.commands.add("undo",this._undoCommand);t.commands.add("redo",this._redoCommand);this.listenTo(t.model,"applyOperation",((t,e)=>{const n=e[0];if(!n.isDocumentOperation){return}const i=n.batch;const o=this._redoCommand.createdBatches.has(i);const r=this._undoCommand.createdBatches.has(i);const s=this._batchRegistry.has(i);if(s){return}this._batchRegistry.add(i);if(!i.isUndoable){return}if(o){this._undoCommand.addBatch(i)}else if(!r){this._undoCommand.addBatch(i);this._redoCommand.clearStack()}}),{priority:"highest"});this.listenTo(this._undoCommand,"revert",((t,e,n)=>{this._redoCommand.addBatch(n)}));t.keystrokes.set("CTRL+Z","undo");t.keystrokes.set("CTRL+Y","redo");t.keystrokes.set("CTRL+SHIFT+Z","redo")}}class lP extends Hu{static get pluginName(){return"UndoUI"}init(){const t=this.editor;const e=t.locale;const n=t.t;const i=e.uiLanguageDirection=="ltr"?_y.undo:_y.redo;const o=e.uiLanguageDirection=="ltr"?_y.redo:_y.undo;this._addButton("undo",n("Undo"),"CTRL+Z",i);this._addButton("redo",n("Redo"),"CTRL+Y",o)}_addButton(t,e,n,i){const o=this.editor;o.ui.componentFactory.add(t,(r=>{const s=o.commands.get(t);const a=new Dd(r);a.set({label:e,icon:i,keystroke:n,tooltip:true});a.bind("isEnabled").to(s,"isEnabled");this.listenTo(a,"execute",(()=>{o.execute(t);o.editing.view.focus()}));return a}))}}class dP extends Hu{static get requires(){return[cP,lP]}static get pluginName(){return"Undo"}}class uP extends Hu{static get requires(){return[KN,EB,nP,MB,oS,dP]}static get pluginName(){return"Essentials"}}class hP extends Wu{constructor(t){super(t);this._isEnabledBasedOnSelection=false}refresh(){const t=this.editor.model;const e=t.document;const n=ml(e.selection.getSelectedBlocks());this.value=!!n&&n.is("element","paragraph");this.isEnabled=!!n&&gP(n,t.schema)}execute(t={}){const e=this.editor.model;const n=e.document;const i=t.selection||n.selection;if(!e.canEditAt(i)){return}e.change((t=>{const n=i.getSelectedBlocks();for(const i of n){if(!i.is("element","paragraph")&&gP(i,e.schema)){t.rename(i,"paragraph")}}}))}}function gP(t,e){return e.checkChild(t.parent,"paragraph")&&!e.isObject(t)}class fP extends Wu{constructor(t){super(t);this._isEnabledBasedOnSelection=false}execute(t){const e=this.editor.model;const n=t.attributes;let i=t.position;if(!e.canEditAt(i)){return}e.change((t=>{i=this._findPositionToInsertParagraph(i,t);if(!i){return}const o=t.createElement("paragraph");if(n){e.schema.setAllowedAttributes(o,n,t)}e.insertContent(o,i);t.setSelection(o,"in")}))}_findPositionToInsertParagraph(t,e){const n=this.editor.model;if(n.schema.checkChild(t,"paragraph")){return t}const i=n.schema.findAllowedParent(t,"paragraph");if(!i){return null}const o=t.parent;const r=n.schema.checkChild(o,"$text");if(o.isEmpty||r&&t.isAtEnd){return n.createPositionAfter(o)}if(!o.isEmpty&&r&&t.isAtStart){return n.createPositionBefore(o)}return e.split(t,i).position}}class mP extends Hu{static get pluginName(){return"Paragraph"}init(){const t=this.editor;const e=t.model;t.commands.add("paragraph",new hP(t));t.commands.add("insertParagraph",new fP(t));e.schema.register("paragraph",{inheritAllFrom:"$block"});t.conversion.elementToElement({model:"paragraph",view:"p"});t.conversion.for("upcast").elementToElement({model:(t,{writer:e})=>{if(!mP.paragraphLikeElements.has(t.name)){return null}if(t.isEmpty){return null}return e.createElement("paragraph")},view:/.+/,converterPriority:"low"})}}mP.paragraphLikeElements=new Set(["blockquote","dd","div","dt","h1","h2","h3","h4","h5","h6","li","p","td","th"]);const pP=mP;const bP=_y.paragraph;class kP extends(null&&Plugin){static get requires(){return[Paragraph]}init(){const t=this.editor;const e=t.t;t.ui.componentFactory.add("paragraph",(n=>{const i=new ButtonView(n);const o=t.commands.get("paragraph");i.label=e("Paragraph");i.icon=bP;i.tooltip=true;i.isToggleable=true;i.bind("isEnabled").to(o);i.bind("isOn").to(o,"value");i.on("execute",(()=>{t.execute("paragraph")}));return i}))}}class wP extends Wu{constructor(t,e){super(t);this.modelElements=e}refresh(){const t=ml(this.editor.model.document.selection.getSelectedBlocks());this.value=!!t&&this.modelElements.includes(t.name)&&t.name;this.isEnabled=!!t&&this.modelElements.some((e=>AP(t,e,this.editor.model.schema)))}execute(t){const e=this.editor.model;const n=e.document;const i=t.value;e.change((t=>{const o=Array.from(n.selection.getSelectedBlocks()).filter((t=>AP(t,i,e.schema)));for(const e of o){if(!e.is("element",i)){t.rename(e,i)}}}))}}function AP(t,e,n){return n.checkChild(t.parent,e)&&!n.isObject(t)}const CP="paragraph";class _P extends Hu{static get pluginName(){return"HeadingEditing"}constructor(t){super(t);t.config.define("heading",{options:[{model:"paragraph",title:"Paragraph",class:"ck-heading_paragraph"},{model:"heading1",view:"h2",title:"Heading 1",class:"ck-heading_heading1"},{model:"heading2",view:"h3",title:"Heading 2",class:"ck-heading_heading2"},{model:"heading3",view:"h4",title:"Heading 3",class:"ck-heading_heading3"}]})}static get requires(){return[pP]}init(){const t=this.editor;const e=t.config.get("heading.options");const n=[];for(const i of e){if(i.model==="paragraph"){continue}t.model.schema.register(i.model,{inheritAllFrom:"$block"});t.conversion.elementToElement(i);n.push(i.model)}this._addDefaultH1Conversion(t);t.commands.add("heading",new wP(t,n))}afterInit(){const t=this.editor;const e=t.commands.get("enter");const n=t.config.get("heading.options");if(e){this.listenTo(e,"afterExecute",((e,i)=>{const o=t.model.document.selection.getFirstPosition().parent;const r=n.some((t=>o.is("element",t.model)));if(r&&!o.is("element",CP)&&o.childCount===0){i.writer.rename(o,CP)}}))}}_addDefaultH1Conversion(t){t.conversion.for("upcast").elementToElement({model:"heading1",view:"h1",converterPriority:B.low+1})}}function vP(t){const e=t.t;const n={Paragraph:e("Paragraph"),"Heading 1":e("Heading 1"),"Heading 2":e("Heading 2"),"Heading 3":e("Heading 3"),"Heading 4":e("Heading 4"),"Heading 5":e("Heading 5"),"Heading 6":e("Heading 6")};return t.config.get("heading.options").map((t=>{const e=n[t.title];if(e&&e!=t.title){t.title=e}return t}))}var yP=n(4249);var xP={injectType:"singletonStyleTag",attributes:{"data-cke":true}};xP.insert="head";xP.singleton=true;var EP=Ll()(yP.Z,xP);const DP=yP.Z.locals||{};class TP extends Hu{static get pluginName(){return"HeadingUI"}init(){const t=this.editor;const e=t.t;const n=vP(t);const i=e("Choose heading");const o=e("Heading");t.ui.componentFactory.add("heading",(e=>{const r={};const s=new fl;const a=t.commands.get("heading");const c=t.commands.get("paragraph");const l=[a];for(const t of n){const e={type:"button",model:new gT({label:t.title,class:t.class,role:"menuitemradio",withText:true})};if(t.model==="paragraph"){e.model.bind("isOn").to(c,"value");e.model.set("commandName","paragraph");l.push(c)}else{e.model.bind("isOn").to(a,"value",(e=>e===t.model));e.model.set({commandName:"heading",commandValue:t.model})}s.add(e);r[t.model]=t.title}const d=tx(e);ix(d,s,{ariaLabel:o,role:"menu"});d.buttonView.set({ariaLabel:o,ariaLabelledBy:undefined,isOn:false,withText:true,tooltip:o});d.extendTemplate({attributes:{class:["ck-heading-dropdown"]}});d.bind("isEnabled").toMany(l,"isEnabled",((...t)=>t.some((t=>t))));d.buttonView.bind("label").to(a,"value",c,"value",((t,e)=>{const n=t||e&&"paragraph";if(typeof n==="boolean"){return i}if(!r[n]){return i}return r[n]}));this.listenTo(d,"execute",(e=>{const{commandName:n,commandValue:i}=e.source;t.execute(n,i?{value:i}:undefined);t.editing.view.focus()}));return d}))}}class IP extends Hu{static get requires(){return[_P,TP]}static get pluginName(){return"Heading"}}const SP={heading1:_y.heading1,heading2:_y.heading2,heading3:_y.heading3,heading4:_y.heading4,heading5:_y.heading5,heading6:_y.heading6};class BP extends(null&&Plugin){init(){const t=getLocalizedOptions(this.editor);t.filter((t=>t.model!=="paragraph")).map((t=>this._createButton(t)))}_createButton(t){const e=this.editor;e.ui.componentFactory.add(t.model,(n=>{const i=new ButtonView(n);const o=e.commands.get("heading");i.label=t.title;i.icon=t.icon||SP[t.model];i.tooltip=true;i.isToggleable=true;i.bind("isEnabled").to(o);i.bind("isOn").to(o,"value",(e=>e==t.model));i.on("execute",(()=>{e.execute("heading",{value:t.model});e.editing.view.focus()}));return i}))}}const MP=new Set(["paragraph","heading1","heading2","heading3","heading4","heading5","heading6"]);class NP extends(null&&Plugin){constructor(){super(...arguments);this._bodyPlaceholder=new Map}static get pluginName(){return"Title"}static get requires(){return["Paragraph"]}init(){const t=this.editor;const e=t.model;e.schema.register("title",{isBlock:true,allowIn:"$root"});e.schema.register("title-content",{isBlock:true,allowIn:"title",allowAttributes:["alignment"]});e.schema.extend("$text",{allowIn:"title-content"});e.schema.addAttributeCheck((t=>{if(t.endsWith("title-content $text")){return false}}));t.editing.mapper.on("modelToViewPosition",LP(t.editing.view));t.data.mapper.on("modelToViewPosition",LP(t.editing.view));t.conversion.for("downcast").elementToElement({model:"title-content",view:"h1"});t.conversion.for("downcast").add((t=>t.on("insert:title",((t,e,n)=>{n.consumable.consume(e.item,t.name)}))));t.data.upcastDispatcher.on("element:h1",PP,{priority:"high"});t.data.upcastDispatcher.on("element:h2",PP,{priority:"high"});t.data.upcastDispatcher.on("element:h3",PP,{priority:"high"});e.document.registerPostFixer((t=>this._fixTitleContent(t)));e.document.registerPostFixer((t=>this._fixTitleElement(t)));e.document.registerPostFixer((t=>this._fixBodyElement(t)));e.document.registerPostFixer((t=>this._fixExtraParagraph(t)));this._attachPlaceholders();this._attachTabPressHandling()}getTitle(t={}){const e=t.rootName?t.rootName:undefined;const n=this._getTitleElement(e);const i=n.getChild(0);return this.editor.data.stringify(i,t)}getBody(t={}){const e=this.editor;const n=e.data;const i=e.model;const o=t.rootName?t.rootName:undefined;const r=e.model.document.getRoot(o);const s=e.editing.view;const a=new DowncastWriter(s.document);const c=i.createRangeIn(r);const l=a.createDocumentFragment();const d=i.createPositionAfter(r.getChild(0));const u=i.createRange(d,i.createPositionAt(r,"end"));const h=new Map;for(const t of i.markers){const e=u.getIntersection(t.getRange());if(e){h.set(t.name,e)}}n.mapper.clearBindings();n.mapper.bindElements(r,l);n.downcastDispatcher.convert(c,h,a,t);a.remove(a.createRangeOn(l.getChild(0)));return e.data.processor.toData(l)}_getTitleElement(t){const e=this.editor.model.document.getRoot(t);for(const t of e.getChildren()){if(zP(t)){return t}}}_fixTitleContent(t){let e=false;for(const n of this.editor.model.document.getRootNames()){const i=this._getTitleElement(n);if(!i||i.maxOffset===1){continue}const o=Array.from(i.getChildren());o.shift();for(const e of o){t.move(t.createRangeOn(e),i,"after");t.rename(e,"paragraph")}e=true}return e}_fixTitleElement(t){let e=false;const n=this.editor.model;for(const i of this.editor.model.document.getRoots()){const o=Array.from(i.getChildren()).filter(zP);const r=o[0];const s=i.getChild(0);if(s.is("element","title")){if(o.length>1){RP(o,t,n);e=true}continue}if(!r&&!MP.has(s.name)){const n=t.createElement("title");t.insert(n,i);t.insertElement("title-content",n);e=true;continue}if(MP.has(s.name)){VP(s,t,n)}else{t.move(t.createRangeOn(r),i,0)}RP(o,t,n);e=true}return e}_fixBodyElement(t){let e=false;for(const n of this.editor.model.document.getRootNames()){const i=this.editor.model.document.getRoot(n);if(i.childCount<2){const o=t.createElement("paragraph");t.insert(o,i,1);this._bodyPlaceholder.set(n,o);e=true}}return e}_fixExtraParagraph(t){let e=false;for(const n of this.editor.model.document.getRootNames()){const i=this.editor.model.document.getRoot(n);const o=this._bodyPlaceholder.get(n);if(FP(o,i)){this._bodyPlaceholder.delete(n);t.remove(o);e=true}}return e}_attachPlaceholders(){const t=this.editor;const e=t.t;const n=t.editing.view;const i=t.sourceElement;const o=t.config.get("title.placeholder")||e("Type your title");const r=t.config.get("placeholder")||i&&i.tagName.toLowerCase()==="textarea"&&i.getAttribute("placeholder")||e("Type or paste your content here.");t.editing.downcastDispatcher.on("insert:title-content",((t,e,i)=>{const r=i.mapper.toViewElement(e.item);r.placeholder=o;enablePlaceholder({view:n,element:r,keepOnFocus:true})}));const s=new Map;n.document.registerPostFixer((t=>{let e=false;for(const i of n.document.roots){if(i.isEmpty){continue}const n=i.getChild(1);const o=s.get(i.rootName);if(n!==o){if(o){hidePlaceholder(t,o);t.removeAttribute("data-placeholder",o)}t.setAttribute("data-placeholder",r,n);s.set(i.rootName,n);e=true}if(needsPlaceholder(n,true)&&i.childCount===2&&n.name==="p"){e=showPlaceholder(t,n)?true:e}else{e=hidePlaceholder(t,n)?true:e}}return e}))}_attachTabPressHandling(){const t=this.editor;const e=t.model;t.keystrokes.set("TAB",((t,n)=>{e.change((t=>{const i=e.document.selection;const o=Array.from(i.getSelectedBlocks());if(o.length===1&&o[0].is("element","title-content")){const e=i.getFirstPosition().root;const o=e.getChild(1);t.setSelection(o,0);n()}}))}));t.keystrokes.set("SHIFT + TAB",((n,i)=>{e.change((n=>{const o=e.document.selection;if(!o.isCollapsed){return}const r=first(o.getSelectedBlocks());const s=o.getFirstPosition();const a=t.model.document.getRoot(s.root.rootName);const c=a.getChild(0);const l=a.getChild(1);if(r===l&&s.isAtStart){n.setSelection(c.getChild(0),0);i()}}))}))}}function PP(t,e,n){const i=e.modelCursor;const o=e.viewItem;if(!i.isAtStart||!i.parent.is("element","$root")){return}if(!n.consumable.consume(o,{name:true})){return}const r=n.writer;const s=r.createElement("title");const a=r.createElement("title-content");r.append(a,s);r.insert(s,i);n.convertChildren(o,a);n.updateConversionResult(s,e)}function LP(t){return(e,n)=>{const i=n.modelPosition.parent;if(!i.is("element","title")){return}const o=i.parent;const r=n.mapper.toViewElement(o);n.viewPosition=t.createPositionAt(r,0);e.stop()}}function zP(t){return t.is("element","title")}function VP(t,e,n){const i=e.createElement("title");e.insert(i,t,"before");e.insert(t,i,0);e.rename(t,"title-content");n.schema.removeDisallowedAttributes([t],e)}function RP(t,e,n){let i=false;for(const o of t){if(o.index!==0){OP(o,e,n);i=true}}return i}function OP(t,e,n){const i=t.getChild(0);if(i.isEmpty){e.remove(t);return}e.move(e.createRangeOn(i),t,"before");e.rename(i,"paragraph");e.remove(t);n.schema.removeDisallowedAttributes([i],e)}function FP(t,e){if(!t||!t.is("element","paragraph")||t.childCount){return false}if(e.childCount<=2||e.getChild(e.childCount-1)!==t){return false}return true}function jP(t){return t.createContainerElement("span",{class:"image-inline"},t.createEmptyElement("img"))}function HP(t){return t.createContainerElement("figure",{class:"image"},[t.createEmptyElement("img"),t.createSlot("children")])}function UP(t,e){const n=t.plugins.get("ImageUtils");const i=t.plugins.has("ImageInlineEditing")&&t.plugins.has("ImageBlockEditing");return t=>{if(!n.isInlineImageView(t)){return null}if(!i){return o(t)}const r=t.getStyle("display")=="block"||t.findAncestor(n.isBlockImageView)?"imageBlock":"imageInline";if(r!==e){return null}return o(t)};function o(t){const e={name:true};if(t.hasAttribute("src")){e.attributes=["src"]}return e}}function WP(t,e){const n=ml(e.getSelectedBlocks());if(!n||t.isObject(n)){return"imageBlock"}if(n.isEmpty&&n.name!="listItem"){return"imageBlock"}return"imageInline"}function GP(t){if(t&&t.endsWith("px")){return parseInt(t)}return null}function qP(t){const e=GP(t.getStyle("width"));const n=GP(t.getStyle("height"));return!!(e&&n)}const ZP=/^(image|image-inline)$/;class $P extends Hu{constructor(){super(...arguments);this._domEmitter=new(Qa())}static get pluginName(){return"ImageUtils"}isImage(t){return this.isInlineImage(t)||this.isBlockImage(t)}isInlineImageView(t){return!!t&&t.is("element","img")}isBlockImageView(t){return!!t&&t.is("element","figure")&&t.hasClass("image")}insertImage(t={},e=null,n=null,i={}){const o=this.editor;const r=o.model;const s=r.document.selection;const a=JP(o,e||s,n);t={...Object.fromEntries(s.getAttributes()),...t};for(const e in t){if(!r.schema.checkAttribute(a,e)){delete t[e]}}return r.change((n=>{const{setImageSizes:o=true}=i;const s=n.createElement(a,t);r.insertObject(s,e,null,{setSelection:"on",findOptimalPosition:!e&&a!="imageInline"?"auto":undefined});if(s.parent){if(o){this.setImageNaturalSizeAttributes(s)}return s}return null}))}setImageNaturalSizeAttributes(t){const e=t.getAttribute("src");if(!e){return}if(t.getAttribute("width")||t.getAttribute("height")){return}this.editor.model.change((n=>{const i=new nc.window.Image;this._domEmitter.listenTo(i,"load",(()=>{if(!t.getAttribute("width")&&!t.getAttribute("height")){this.editor.model.enqueueChange(n.batch,(e=>{e.setAttribute("width",i.naturalWidth,t);e.setAttribute("height",i.naturalHeight,t)}))}this._domEmitter.stopListening(i,"load")}));i.src=e}))}getClosestSelectedImageWidget(t){const e=t.getFirstPosition();if(!e){return null}const n=t.getSelectedElement();if(n&&this.isImageWidget(n)){return n}let i=e.parent;while(i){if(i.is("element")&&this.isImageWidget(i)){return i}i=i.parent}return null}getClosestSelectedImageElement(t){const e=t.getSelectedElement();return this.isImage(e)?e:t.getFirstPosition().findAncestor("imageBlock")}getImageWidgetFromImageView(t){return t.findAncestor({classes:ZP})}isImageAllowed(){const t=this.editor.model;const e=t.document.selection;return KP(this.editor,e)&&YP(e)}toImageWidget(t,e,n){e.setCustomProperty("image",true,t);const i=()=>{const e=this.findViewImgElement(t);const i=e.getAttribute("alt");return i?`${i} ${n}`:n};return kM(t,e,{label:i})}isImageWidget(t){return!!t.getCustomProperty("image")&&bM(t)}isBlockImage(t){return!!t&&t.is("element","imageBlock")}isInlineImage(t){return!!t&&t.is("element","imageInline")}findViewImgElement(t){if(this.isInlineImageView(t)){return t}const e=this.editor.editing.view;for(const{item:n}of e.createRangeIn(t)){if(this.isInlineImageView(n)){return n}}}destroy(){this._domEmitter.stopListening();return super.destroy()}}function KP(t,e){const n=JP(t,e,null);if(n=="imageBlock"){const n=QP(e,t.model);if(t.model.schema.checkChild(n,"imageBlock")){return true}}else if(t.model.schema.checkChild(e.focus,"imageInline")){return true}return false}function YP(t){return[...t.focus.getAncestors()].every((t=>!t.is("element","imageBlock")))}function QP(t,e){const n=xM(t,e);const i=n.start.parent;if(i.isEmpty&&!i.is("element","$root")){return i.parent}return i}function JP(t,e,n){const i=t.model.schema;const o=t.config.get("image.insert.type");if(!t.plugins.has("ImageBlockEditing")){return"imageInline"}if(!t.plugins.has("ImageInlineEditing")){return"imageBlock"}if(n){return n}if(o==="inline"){return"imageInline"}if(o!=="auto"){return"imageBlock"}if(e.is("selection")){return WP(i,e)}return i.checkChild(e,"imageInline")?"imageInline":"imageBlock"}const XP=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 tL extends(null&&Plugin){static get requires(){return[Clipboard,ImageUtils,Undo,Delete]}static get pluginName(){return"AutoImage"}constructor(t){super(t);this._timeoutId=null;this._positionToInsert=null}init(){const t=this.editor;const e=t.model.document;const n=t.plugins.get("ClipboardPipeline");this.listenTo(n,"inputTransformation",(()=>{const t=e.selection.getFirstRange();const n=LivePosition.fromPosition(t.start);n.stickiness="toPrevious";const i=LivePosition.fromPosition(t.end);i.stickiness="toNext";e.once("change:data",(()=>{this._embedImageBetweenPositions(n,i);n.detach();i.detach()}),{priority:"high"})}));t.commands.get("undo").on("execute",(()=>{if(this._timeoutId){global.window.clearTimeout(this._timeoutId);this._positionToInsert.detach();this._timeoutId=null;this._positionToInsert=null}}),{priority:"high"})}_embedImageBetweenPositions(t,e){const n=this.editor;const i=new LiveRange(t,e);const o=i.getWalker({ignoreElementEnd:true});const r=Object.fromEntries(n.model.document.selection.getAttributes());const s=this.editor.plugins.get("ImageUtils");let a="";for(const t of o){if(t.item.is("$textProxy")){a+=t.item.data}}a=a.trim();if(!a.match(XP)){i.detach();return}this._positionToInsert=LivePosition.fromPosition(t);this._timeoutId=setTimeout((()=>{const t=n.commands.get("insertImage");if(!t.isEnabled){i.detach();return}n.model.change((t=>{this._timeoutId=null;t.remove(i);i.detach();let e;if(this._positionToInsert.root.rootName!=="$graveyard"){e=this._positionToInsert.toPosition()}s.insertImage({...r,src:a},e);this._positionToInsert.detach();this._positionToInsert=null}));const e=n.plugins.get("Delete");e.requestUndoOnBackspace()}),100)}}class eL extends Wu{refresh(){const t=this.editor;const e=t.plugins.get("ImageUtils");const n=e.getClosestSelectedImageElement(this.editor.model.document.selection);this.isEnabled=!!n;if(this.isEnabled&&n.hasAttribute("alt")){this.value=n.getAttribute("alt")}else{this.value=false}}execute(t){const e=this.editor;const n=e.plugins.get("ImageUtils");const i=e.model;const o=n.getClosestSelectedImageElement(i.document.selection);i.change((e=>{e.setAttribute("alt",t.newValue,o)}))}}class nL extends Hu{static get requires(){return[$P]}static get pluginName(){return"ImageTextAlternativeEditing"}init(){this.editor.commands.add("imageTextAlternative",new eL(this.editor))}}var iL=n(5269);var oL={injectType:"singletonStyleTag",attributes:{"data-cke":true}};oL.insert="head";oL.singleton=true;var rL=Ll()(iL.Z,oL);const sL=iL.Z.locals||{};var aL=n(6603);var cL={injectType:"singletonStyleTag",attributes:{"data-cke":true}};cL.insert="head";cL.singleton=true;var lL=Ll()(aL.Z,cL);const dL=aL.Z.locals||{};class uL extends Fl{constructor(t){super(t);const e=this.locale.t;this.focusTracker=new pl;this.keystrokes=new bl;this.labeledInput=this._createLabeledInputView();this.saveButtonView=this._createButton(e("Save"),_y.check,"ck-button-save");this.saveButtonView.type="submit";this.cancelButtonView=this._createButton(e("Cancel"),_y.cancel,"ck-button-cancel","cancel");this._focusables=new Ml;this._focusCycler=new Pu({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]})}render(){super.render();this.keystrokes.listenTo(this.element);o({view:this});[this.labeledInput,this.saveButtonView,this.cancelButtonView].forEach((t=>{this._focusables.add(t);this.focusTracker.add(t.element)}))}destroy(){super.destroy();this.focusTracker.destroy();this.keystrokes.destroy()}_createButton(t,e,n,i){const o=new Dd(this.locale);o.set({label:t,icon:e,tooltip:true});o.extendTemplate({attributes:{class:n}});if(i){o.delegate("execute").to(this,i)}return o}_createLabeledInputView(){const t=this.locale.t;const e=new du(this.locale,fx);e.label=t("Text alternative");return e}}function hL(t){const e=t.plugins.get("ContextualBalloon");const n=t.plugins.get("ImageUtils");if(n.getClosestSelectedImageWidget(t.editing.view.document.selection)){const n=gL(t);e.updatePosition(n)}}function gL(t){const e=t.editing.view;const n=wD.defaultPositions;const i=t.plugins.get("ImageUtils");return{target:e.domConverter.mapViewToDom(i.getClosestSelectedImageWidget(e.document.selection)),positions:[n.northArrowSouth,n.northArrowSouthWest,n.northArrowSouthEast,n.southArrowNorth,n.southArrowNorthWest,n.southArrowNorthEast,n.viewportStickyNorth]}}class fL extends Hu{static get requires(){return[vT]}static get pluginName(){return"ImageTextAlternativeUI"}init(){this._createButton()}destroy(){super.destroy();if(this._form){this._form.destroy()}}_createButton(){const t=this.editor;const e=t.t;t.ui.componentFactory.add("imageTextAlternative",(n=>{const i=t.commands.get("imageTextAlternative");const o=new Dd(n);o.set({label:e("Change image text alternative"),icon:_y.textAlternative,tooltip:true});o.bind("isEnabled").to(i,"isEnabled");o.bind("isOn").to(i,"value",(t=>!!t));this.listenTo(o,"execute",(()=>{this._showForm()}));return o}))}_createForm(){const n=this.editor;const i=n.editing.view;const o=i.document;const r=n.plugins.get("ImageUtils");this._balloon=this.editor.plugins.get("ContextualBalloon");this._form=new(e(uL))(n.locale);this._form.render();this.listenTo(this._form,"submit",(()=>{n.execute("imageTextAlternative",{newValue:this._form.labeledInput.fieldView.element.value});this._hideForm(true)}));this.listenTo(this._form,"cancel",(()=>{this._hideForm(true)}));this._form.keystrokes.set("Esc",((t,e)=>{this._hideForm(true);e()}));this.listenTo(n.ui,"update",(()=>{if(!r.getClosestSelectedImageWidget(o.selection)){this._hideForm(true)}else if(this._isVisible){hL(n)}}));t({emitter:this._form,activator:()=>this._isVisible,contextElements:()=>[this._balloon.view.element],callback:()=>this._hideForm()})}_showForm(){if(this._isVisible){return}if(!this._form){this._createForm()}const t=this.editor;const e=t.commands.get("imageTextAlternative");const n=this._form.labeledInput;this._form.disableCssTransitions();if(!this._isInBalloon){this._balloon.add({view:this._form,position:gL(t)})}n.fieldView.value=n.fieldView.element.value=e.value||"";this._form.labeledInput.fieldView.select();this._form.enableCssTransitions()}_hideForm(t=false){if(!this._isInBalloon){return}if(this._form.focusTracker.isFocused){this._form.saveButtonView.focus()}this._balloon.remove(this._form);if(t){this.editor.editing.view.focus()}}get _isVisible(){return!!this._balloon&&this._balloon.visibleView===this._form}get _isInBalloon(){return!!this._balloon&&this._balloon.hasView(this._form)}}class mL extends Hu{static get requires(){return[nL,fL]}static get pluginName(){return"ImageTextAlternative"}}function pL(t){const e=(e,n,i)=>{if(!i.consumable.test(n.viewItem,{name:true,classes:"image"})){return}const o=t.findViewImgElement(n.viewItem);if(!o||!i.consumable.test(o,{name:true})){return}i.consumable.consume(n.viewItem,{name:true,classes:"image"});const r=i.convertItem(o,n.modelCursor);const s=ml(r.modelRange.getItems());if(!s){i.consumable.revert(n.viewItem,{name:true,classes:"image"});return}i.convertChildren(n.viewItem,s);i.updateConversionResult(s,n)};return t=>{t.on("element:figure",e)}}function bL(t){const e=["srcset","media","type","sizes"];const n=(n,i,o)=>{const r=i.viewItem;if(!o.consumable.test(r,{name:true})){return}const s=new Map;for(const t of r.getChildren()){if(t.is("element","source")){const n={};for(const i of e){if(t.hasAttribute(i)){if(o.consumable.test(t,{attributes:i})){n[i]=t.getAttribute(i)}}}if(Object.keys(n).length){s.set(t,n)}}}const a=t.findViewImgElement(r);if(!a){return}let c=i.modelCursor.parent;if(!c.is("element","imageBlock")){const t=o.convertItem(a,i.modelCursor);i.modelRange=t.modelRange;i.modelCursor=t.modelCursor;c=first(t.modelRange.getItems())}o.consumable.consume(r,{name:true});for(const[t,e]of s){o.consumable.consume(t,{attributes:Object.keys(e)})}if(s.size){o.writer.setAttribute("sources",Array.from(s.values()),c)}o.convertChildren(r,c)};return t=>{t.on("element:picture",n)}}function kL(t,e){const n=(e,n,i)=>{if(!i.consumable.consume(n.item,e.name)){return}const o=i.writer;const r=i.mapper.toViewElement(n.item);const s=t.findViewImgElement(r);if(n.attributeNewValue===null){o.removeAttribute("srcset",s);o.removeAttribute("sizes",s)}else{if(n.attributeNewValue){o.setAttribute("srcset",n.attributeNewValue,s);o.setAttribute("sizes","100vw",s)}}};return t=>{t.on(`attribute:srcset:${e}`,n)}}function wL(t){const e=(e,n,i)=>{if(!i.consumable.consume(n.item,e.name)){return}const o=i.writer;const r=i.mapper.toViewElement(n.item);const s=t.findViewImgElement(r);const a=n.attributeNewValue;if(a&&a.length){const t=o.createContainerElement("picture",null,a.map((t=>o.createEmptyElement("source",t))));const e=[];let n=s.parent;while(n&&n.is("attributeElement")){const t=n.parent;o.unwrap(o.createRangeOn(s),n);e.unshift(n);n=t}o.insert(o.createPositionBefore(s),t);o.move(o.createRangeOn(s),o.createPositionAt(t,"end"));for(const n of e){o.wrap(o.createRangeOn(t),n)}}else if(s.parent.is("element","picture")){const t=s.parent;o.move(o.createRangeOn(s),o.createPositionBefore(t));o.remove(t)}};return t=>{t.on("attribute:sources:imageBlock",e);t.on("attribute:sources:imageInline",e)}}function AL(t,e,n){const i=(e,n,i)=>{if(!i.consumable.consume(n.item,e.name)){return}const o=i.writer;const r=i.mapper.toViewElement(n.item);const s=t.findViewImgElement(r);o.setAttribute(n.attributeKey,n.attributeNewValue||"",s)};return t=>{t.on(`attribute:${n}:${e}`,i)}}class CL extends Ym{observe(t){this.listenTo(t,"load",((t,e)=>{const n=e.target;if(this.checkShouldIgnoreEventFromTarget(n)){return}if(n.tagName=="IMG"){this._fireEvents(e)}}),{useCapture:true})}stopObserving(t){this.stopListening(t)}_fireEvents(t){if(this.isEnabled){this.document.fire("layoutChanged");this.document.fire("imageLoaded",t)}}}class _L extends Wu{constructor(t){super(t);const e=t.config.get("image.insert.type");if(!t.plugins.has("ImageBlockEditing")){if(e==="block"){L("image-block-plugin-required")}}if(!t.plugins.has("ImageInlineEditing")){if(e==="inline"){L("image-inline-plugin-required")}}}refresh(){const t=this.editor.plugins.get("ImageUtils");this.isEnabled=t.isImageAllowed()}execute(t){const e=ol(t.source);const n=this.editor.model.document.selection;const i=this.editor.plugins.get("ImageUtils");const o=Object.fromEntries(n.getAttributes());e.forEach(((t,e)=>{const r=n.getSelectedElement();if(typeof t==="string"){t={src:t}}if(e&&r&&i.isImage(r)){const e=this.editor.model.createPositionAfter(r);i.insertImage({...t,...o},e)}else{i.insertImage({...t,...o})}}))}}class vL extends Wu{constructor(t){super(t);this.decorate("cleanupImage")}refresh(){const t=this.editor;const e=t.plugins.get("ImageUtils");const n=this.editor.model.document.selection.getSelectedElement();this.isEnabled=e.isImage(n);this.value=this.isEnabled?n.getAttribute("src"):null}execute(t){const e=this.editor.model.document.selection.getSelectedElement();const n=this.editor.plugins.get("ImageUtils");this.editor.model.change((i=>{i.setAttribute("src",t.source,e);this.cleanupImage(i,e);n.setImageNaturalSizeAttributes(e)}))}cleanupImage(t,e){t.removeAttribute("srcset",e);t.removeAttribute("sizes",e);t.removeAttribute("sources",e);t.removeAttribute("width",e);t.removeAttribute("height",e);t.removeAttribute("alt",e)}}class yL extends Hu{static get requires(){return[$P]}static get pluginName(){return"ImageEditing"}init(){const t=this.editor;const e=t.conversion;t.editing.view.addObserver(CL);e.for("upcast").attributeToAttribute({view:{name:"img",key:"alt"},model:"alt"}).attributeToAttribute({view:{name:"img",key:"srcset"},model:"srcset"});const n=new _L(t);const i=new vL(t);t.commands.add("insertImage",n);t.commands.add("replaceImageSource",i);t.commands.add("imageInsert",n)}}class xL extends Hu{static get requires(){return[$P]}static get pluginName(){return"ImageSizeAttributes"}afterInit(){this._registerSchema();this._registerConverters("imageBlock");this._registerConverters("imageInline")}_registerSchema(){if(this.editor.plugins.has("ImageBlockEditing")){this.editor.model.schema.extend("imageBlock",{allowAttributes:["width","height"]})}if(this.editor.plugins.has("ImageInlineEditing")){this.editor.model.schema.extend("imageInline",{allowAttributes:["width","height"]})}}_registerConverters(t){const e=this.editor;const n=e.plugins.get("ImageUtils");const i=t==="imageBlock"?"figure":"img";e.conversion.for("upcast").attributeToAttribute({view:{name:i,styles:{width:/.+/}},model:{key:"width",value:t=>{if(qP(t)){return GP(t.getStyle("width"))}return null}}}).attributeToAttribute({view:{name:i,key:"width"},model:"width"}).attributeToAttribute({view:{name:i,styles:{height:/.+/}},model:{key:"height",value:t=>{if(qP(t)){return GP(t.getStyle("height"))}return null}}}).attributeToAttribute({view:{name:i,key:"height"},model:"height"});e.conversion.for("editingDowncast").add((t=>{o(t,"width","width",true);o(t,"height","height",true)}));e.conversion.for("dataDowncast").add((t=>{o(t,"width","width",false);o(t,"height","height",false)}));function o(e,i,o,r){e.on(`attribute:${i}:${t}`,((e,i,s)=>{if(!s.consumable.consume(i.item,e.name)){return}const a=s.writer;const c=s.mapper.toViewElement(i.item);const l=n.findViewImgElement(c);if(i.attributeNewValue!==null){a.setAttribute(o,i.attributeNewValue,l)}else{a.removeAttribute(o,l)}if(i.item.hasAttribute("sources")){return}const d=i.item.hasAttribute("resizedWidth");if(t==="imageInline"&&!d&&!r){return}const u=i.item.getAttribute("width");const h=i.item.getAttribute("height");if(u&&h){a.setStyle("aspect-ratio",`${u}/${h}`,l)}}))}}}class EL extends Wu{constructor(t,e){super(t);this._modelElementName=e}refresh(){const t=this.editor;const e=t.plugins.get("ImageUtils");const n=e.getClosestSelectedImageElement(this.editor.model.document.selection);if(this._modelElementName==="imageBlock"){this.isEnabled=e.isInlineImage(n)}else{this.isEnabled=e.isBlockImage(n)}}execute(t={}){const e=this.editor;const n=this.editor.model;const i=e.plugins.get("ImageUtils");const o=i.getClosestSelectedImageElement(n.document.selection);const r=Object.fromEntries(o.getAttributes());if(!r.src&&!r.uploadId){return null}return n.change((e=>{const{setImageSizes:s=true}=t;const a=Array.from(n.markers).filter((t=>t.getRange().containsItem(o)));const c=i.insertImage(r,n.createSelection(o,"on"),this._modelElementName,{setImageSizes:s});if(!c){return null}const l=e.createRangeOn(c);for(const t of a){const n=t.getRange();const i=n.root.rootName!="$graveyard"?n.getJoined(l,true):l;e.updateMarker(t,{range:i})}return{oldElement:o,newElement:c}}))}}var DL=n(31);var TL={injectType:"singletonStyleTag",attributes:{"data-cke":true}};TL.insert="head";TL.singleton=true;var IL=Ll()(DL.Z,TL);const SL=DL.Z.locals||{};class BL extends Hu{static get requires(){return[$P]}static get pluginName(){return"ImagePlaceholder"}afterInit(){this._setupSchema();this._setupConversion();this._setupLoadListener()}_setupSchema(){const t=this.editor.model.schema;if(t.isRegistered("imageBlock")){t.extend("imageBlock",{allowAttributes:["placeholder"]})}if(t.isRegistered("imageInline")){t.extend("imageInline",{allowAttributes:["placeholder"]})}}_setupConversion(){const t=this.editor;const e=t.conversion;const n=t.plugins.get("ImageUtils");e.for("editingDowncast").add((t=>{t.on("attribute:placeholder",((t,e,i)=>{if(!i.consumable.test(e.item,t.name)){return}if(!e.item.is("element","imageBlock")&&!e.item.is("element","imageInline")){return}i.consumable.consume(e.item,t.name);const o=i.writer;const r=i.mapper.toViewElement(e.item);const s=n.findViewImgElement(r);if(e.attributeNewValue){o.addClass("image_placeholder",s);o.setStyle("background-image",`url(${e.attributeNewValue})`,s);o.setCustomProperty("editingPipeline:doNotReuseOnce",true,s)}else{o.removeClass("image_placeholder",s);o.removeStyle("background-image",s)}}))}))}_setupLoadListener(){const t=this.editor;const e=t.model;const n=t.editing;const i=n.view;const o=t.plugins.get("ImageUtils");i.addObserver(CL);this.listenTo(i.document,"imageLoaded",((t,r)=>{const s=i.domConverter.mapDomToView(r.target);if(!s){return}const a=o.getImageWidgetFromImageView(s);if(!a){return}const c=n.mapper.toModelElement(a);if(!c||!c.hasAttribute("placeholder")){return}e.enqueueChange({isUndoable:false},(t=>{t.removeAttribute("placeholder",c)}))}))}}class ML extends Hu{static get requires(){return[yL,xL,$P,BL,lM]}static get pluginName(){return"ImageBlockEditing"}init(){const t=this.editor;const e=t.model.schema;e.register("imageBlock",{inheritAllFrom:"$blockObject",allowAttributes:["alt","src","srcset"]});this._setupConversion();if(t.plugins.has("ImageInlineEditing")){t.commands.add("imageTypeBlock",new EL(this.editor,"imageBlock"));this._setupClipboardIntegration()}}_setupConversion(){const t=this.editor;const e=t.t;const n=t.conversion;const i=t.plugins.get("ImageUtils");n.for("dataDowncast").elementToStructure({model:"imageBlock",view:(t,{writer:e})=>HP(e)});n.for("editingDowncast").elementToStructure({model:"imageBlock",view:(t,{writer:n})=>i.toImageWidget(HP(n),n,e("image widget"))});n.for("downcast").add(AL(i,"imageBlock","src")).add(AL(i,"imageBlock","alt")).add(kL(i,"imageBlock"));n.for("upcast").elementToElement({view:UP(t,"imageBlock"),model:(t,{writer:e})=>e.createElement("imageBlock",t.hasAttribute("src")?{src:t.getAttribute("src")}:undefined)}).add(pL(i))}_setupClipboardIntegration(){const t=this.editor;const e=t.model;const n=t.editing.view;const i=t.plugins.get("ImageUtils");const o=t.plugins.get("ClipboardPipeline");this.listenTo(o,"inputTransformation",((o,r)=>{const s=Array.from(r.content.getChildren());let a;if(!s.every(i.isInlineImageView)){return}if(r.targetRanges){a=t.editing.mapper.toModelRange(r.targetRanges[0])}else{a=e.document.selection.getFirstRange()}const c=e.createSelection(a);if(WP(e.schema,c)==="imageBlock"){const t=new g_(n.document);const e=s.map((e=>t.createElement("figure",{class:"image"},e)));r.content=t.createDocumentFragment(e)}}));this.listenTo(o,"contentInsertion",((t,n)=>{if(n.method!=="paste"){return}e.change((t=>{const e=t.createRangeIn(n.content);for(const t of e.getItems()){if(t.is("element","imageBlock")){i.setImageNaturalSizeAttributes(t)}}}))}))}}var NL=n(8879);var PL={injectType:"singletonStyleTag",attributes:{"data-cke":true}};PL.insert="head";PL.singleton=true;var LL=Ll()(NL.Z,PL);const zL=NL.Z.locals||{};class VL extends Fl{constructor(t,e=[]){super(t);this.focusTracker=new pl;this.keystrokes=new bl;this._focusables=new Ml;this.children=this.createCollection();this._focusCycler=new Pu({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}});for(const t of e){this.children.add(t);this._focusables.add(t);if(t instanceof Rd){this._focusables.addMany(t.children)}}if(this._focusables.length>1){for(const t of this._focusables){if(RL(t)){t.focusCycler.on("forwardCycle",(t=>{this._focusCycler.focusNext();t.stop()}));t.focusCycler.on("backwardCycle",(t=>{this._focusCycler.focusPrevious();t.stop()}))}}}this.setTemplate({tag:"form",attributes:{class:["ck","ck-image-insert-form"],tabindex:-1},children:this.children})}render(){super.render();o({view:this});for(const t of this._focusables){this.focusTracker.add(t.element)}this.keystrokes.listenTo(this.element);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)}destroy(){super.destroy();this.focusTracker.destroy();this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}}function RL(t){return"focusCycler"in t}class OL extends Hu{static get pluginName(){return"ImageInsertUI"}static get requires(){return[$P]}constructor(t){super(t);this._integrations=new Map;t.config.define("image.insert.integrations",["upload","assetManager","url"])}init(){const t=this.editor;const e=t.model.document.selection;const n=t.plugins.get("ImageUtils");this.set("isImageSelected",false);this.listenTo(t.model.document,"change",(()=>{this.isImageSelected=n.isImage(e.getSelectedElement())}));const i=t=>this._createToolbarComponent(t);t.ui.componentFactory.add("insertImage",i);t.ui.componentFactory.add("imageInsert",i)}registerIntegration({name:t,observable:e,buttonViewCreator:n,formViewCreator:i,requiresForm:o}){if(this._integrations.has(t)){L("image-insert-integration-exists",{name:t})}this._integrations.set(t,{observable:e,buttonViewCreator:n,formViewCreator:i,requiresForm:!!o})}_createToolbarComponent(t){const e=this.editor;const n=t.t;const i=this._prepareIntegrations();if(!i.length){return null}let o;const r=i[0];if(i.length==1){if(!r.requiresForm){return r.buttonViewCreator(true)}o=r.buttonViewCreator(true)}else{const e=r.buttonViewCreator(false);o=new Gy(t,e);o.tooltip=true;o.bind("label").to(this,"isImageSelected",(t=>t?n("Replace image"):n("Insert image")))}const s=this.dropdownView=tx(t,o);const a=i.map((({observable:t})=>t));s.bind("isEnabled").toMany(a,"isEnabled",((...t)=>t.some((t=>t))));s.once("change:isOpen",(()=>{const t=i.map((({formViewCreator:t})=>t(i.length==1)));const n=new VL(e.locale,t);s.panelView.children.add(n)}));return s}_prepareIntegrations(){const t=this.editor;const e=t.config.get("image.insert.integrations");const n=[];if(!e.length){L("image-insert-integrations-not-specified");return n}for(const t of e){if(!this._integrations.has(t)){if(!["upload","assetManager","url"].includes(t)){L("image-insert-unknown-integration",{item:t})}continue}n.push(this._integrations.get(t))}if(!n.length){L("image-insert-integrations-not-registered")}return n}}var FL=n(2430);var jL={injectType:"singletonStyleTag",attributes:{"data-cke":true}};jL.insert="head";jL.singleton=true;var HL=Ll()(FL.Z,jL);const UL=FL.Z.locals||{};class WL extends Hu{static get requires(){return[ML,oN,mL,OL]}static get pluginName(){return"ImageBlock"}}class GL extends Hu{static get requires(){return[yL,xL,$P,BL,lM]}static get pluginName(){return"ImageInlineEditing"}init(){const t=this.editor;const e=t.model.schema;e.register("imageInline",{inheritAllFrom:"$inlineObject",allowAttributes:["alt","src","srcset"]});e.addChildCheck(((t,e)=>{if(t.endsWith("caption")&&e.name==="imageInline"){return false}}));this._setupConversion();if(t.plugins.has("ImageBlockEditing")){t.commands.add("imageTypeInline",new EL(this.editor,"imageInline"));this._setupClipboardIntegration()}}_setupConversion(){const t=this.editor;const e=t.t;const n=t.conversion;const i=t.plugins.get("ImageUtils");n.for("dataDowncast").elementToElement({model:"imageInline",view:(t,{writer:e})=>e.createEmptyElement("img")});n.for("editingDowncast").elementToStructure({model:"imageInline",view:(t,{writer:n})=>i.toImageWidget(jP(n),n,e("image widget"))});n.for("downcast").add(AL(i,"imageInline","src")).add(AL(i,"imageInline","alt")).add(kL(i,"imageInline"));n.for("upcast").elementToElement({view:UP(t,"imageInline"),model:(t,{writer:e})=>e.createElement("imageInline",t.hasAttribute("src")?{src:t.getAttribute("src")}:undefined)})}_setupClipboardIntegration(){const t=this.editor;const e=t.model;const n=t.editing.view;const i=t.plugins.get("ImageUtils");const o=t.plugins.get("ClipboardPipeline");this.listenTo(o,"inputTransformation",((o,r)=>{const s=Array.from(r.content.getChildren());let a;if(!s.every(i.isBlockImageView)){return}if(r.targetRanges){a=t.editing.mapper.toModelRange(r.targetRanges[0])}else{a=e.document.selection.getFirstRange()}const c=e.createSelection(a);if(WP(e.schema,c)==="imageInline"){const t=new g_(n.document);const e=s.map((e=>{if(e.childCount===1){Array.from(e.getAttributes()).forEach((n=>t.setAttribute(...n,i.findViewImgElement(e))));return e.getChild(0)}else{return e}}));r.content=t.createDocumentFragment(e)}}));this.listenTo(o,"contentInsertion",((t,n)=>{if(n.method!=="paste"){return}e.change((t=>{const e=t.createRangeIn(n.content);for(const t of e.getItems()){if(t.is("element","imageInline")){i.setImageNaturalSizeAttributes(t)}}}))}))}}class qL extends Hu{static get requires(){return[GL,oN,mL,OL]}static get pluginName(){return"ImageInline"}}class ZL extends Hu{static get requires(){return[WL,qL]}static get pluginName(){return"Image"}}class $L extends Hu{static get pluginName(){return"ImageCaptionUtils"}static get requires(){return[$P]}getCaptionFromImageModelElement(t){for(const e of t.getChildren()){if(!!e&&e.is("element","caption")){return e}}return null}getCaptionFromModelSelection(t){const e=this.editor.plugins.get("ImageUtils");const n=t.getFirstPosition().findAncestor("caption");if(!n){return null}if(e.isBlockImage(n.parent)){return n}return null}matchImageCaptionViewElement(t){const e=this.editor.plugins.get("ImageUtils");if(t.name=="figcaption"&&e.isBlockImageView(t.parent)){return{name:true}}return null}}class KL extends Wu{refresh(){const t=this.editor;const e=t.plugins.get("ImageCaptionUtils");const n=t.plugins.get("ImageUtils");if(!t.plugins.has(ML)){this.isEnabled=false;this.value=false;return}const i=t.model.document.selection;const o=i.getSelectedElement();if(!o){const t=e.getCaptionFromModelSelection(i);this.isEnabled=!!t;this.value=!!t;return}this.isEnabled=n.isImage(o);if(!this.isEnabled){this.value=false}else{this.value=!!e.getCaptionFromImageModelElement(o)}}execute(t={}){const{focusCaptionOnShow:e}=t;this.editor.model.change((t=>{if(this.value){this._hideImageCaption(t)}else{this._showImageCaption(t,e)}}))}_showImageCaption(t,e){const n=this.editor.model;const i=n.document.selection;const o=this.editor.plugins.get("ImageCaptionEditing");const r=this.editor.plugins.get("ImageUtils");let s=i.getSelectedElement();const a=o._getSavedCaption(s);if(r.isInlineImage(s)){this.editor.execute("imageTypeBlock");s=i.getSelectedElement()}const c=a||t.createElement("caption");t.append(c,s);if(e){t.setSelection(c,"in")}}_hideImageCaption(t){const e=this.editor;const n=e.model.document.selection;const i=e.plugins.get("ImageCaptionEditing");const o=e.plugins.get("ImageCaptionUtils");let r=n.getSelectedElement();let s;if(r){s=o.getCaptionFromImageModelElement(r)}else{s=o.getCaptionFromModelSelection(n);r=s.parent}i._saveCaption(r,s);t.setSelection(r,"on");t.remove(s)}}class YL extends Hu{static get requires(){return[$P,$L]}static get pluginName(){return"ImageCaptionEditing"}constructor(t){super(t);this._savedCaptionsMap=new WeakMap}init(){const t=this.editor;const e=t.model.schema;if(!e.isRegistered("caption")){e.register("caption",{allowIn:"imageBlock",allowContentOf:"$block",isLimit:true})}else{e.extend("caption",{allowIn:"imageBlock"})}t.commands.add("toggleImageCaption",new KL(this.editor));this._setupConversion();this._setupImageTypeCommandsIntegration();this._registerCaptionReconversion()}_setupConversion(){const t=this.editor;const e=t.editing.view;const n=t.plugins.get("ImageUtils");const i=t.plugins.get("ImageCaptionUtils");const o=t.t;t.conversion.for("upcast").elementToElement({view:t=>i.matchImageCaptionViewElement(t),model:"caption"});t.conversion.for("dataDowncast").elementToElement({model:"caption",view:(t,{writer:e})=>{if(!n.isBlockImage(t.parent)){return null}return e.createContainerElement("figcaption")}});t.conversion.for("editingDowncast").elementToElement({model:"caption",view:(t,{writer:i})=>{if(!n.isBlockImage(t.parent)){return null}const r=i.createEditableElement("figcaption");i.setCustomProperty("imageCaption",true,r);r.placeholder=o("Enter image caption");nh({view:e,element:r,keepOnFocus:true});const s=t.parent.getAttribute("alt");const a=s?o("Caption for image: %0",[s]):o("Caption for the image");return yM(r,i,{label:a})}})}_setupImageTypeCommandsIntegration(){const t=this.editor;const e=t.plugins.get("ImageUtils");const n=t.plugins.get("ImageCaptionUtils");const i=t.commands.get("imageTypeInline");const o=t.commands.get("imageTypeBlock");const r=t=>{if(!t.return){return}const{oldElement:i,newElement:o}=t.return;if(!i){return}if(e.isBlockImage(i)){const t=n.getCaptionFromImageModelElement(i);if(t){this._saveCaption(o,t);return}}const r=this._getSavedCaption(i);if(r){this._saveCaption(o,r)}};if(i){this.listenTo(i,"execute",r,{priority:"low"})}if(o){this.listenTo(o,"execute",r,{priority:"low"})}}_getSavedCaption(t){const e=this._savedCaptionsMap.get(t);return e?Hb.fromJSON(e):null}_saveCaption(t,e){this._savedCaptionsMap.set(t,e.toJSON())}_registerCaptionReconversion(){const t=this.editor;const e=t.model;const n=t.plugins.get("ImageUtils");const i=t.plugins.get("ImageCaptionUtils");e.document.on("change:data",(()=>{const o=e.document.differ.getChanges();for(const e of o){if(e.attributeKey!=="alt"){continue}const o=e.range.start.nodeAfter;if(n.isBlockImage(o)){const e=i.getCaptionFromImageModelElement(o);if(!e){return}t.editing.reconvertItem(e)}}}))}}class QL extends Hu{static get requires(){return[$L]}static get pluginName(){return"ImageCaptionUI"}init(){const t=this.editor;const e=t.editing.view;const n=t.plugins.get("ImageCaptionUtils");const i=t.t;t.ui.componentFactory.add("toggleImageCaption",(o=>{const r=t.commands.get("toggleImageCaption");const s=new Dd(o);s.set({icon:_y.caption,tooltip:true,isToggleable:true});s.bind("isOn","isEnabled").to(r,"value","isEnabled");s.bind("label").to(r,"value",(t=>t?i("Toggle caption off"):i("Toggle caption on")));this.listenTo(s,"execute",(()=>{t.execute("toggleImageCaption",{focusCaptionOnShow:true});const i=n.getCaptionFromModelSelection(t.model.document.selection);if(i){const n=t.editing.mapper.toViewElement(i);e.scrollToTheSelection();e.change((t=>{t.addClass("image__caption_highlighted",n)}))}t.editing.view.focus()}));return s}))}}var JL=n(2423);var XL={injectType:"singletonStyleTag",attributes:{"data-cke":true}};XL.insert="head";XL.singleton=true;var tz=Ll()(JL.Z,XL);const ez=JL.Z.locals||{};class nz extends Hu{static get requires(){return[YL,QL]}static get pluginName(){return"ImageCaption"}}class iz extends(gt()){constructor(){super();const t=new window.FileReader;this._reader=t;this._data=undefined;this.set("loaded",0);t.onprogress=t=>{this.loaded=t.loaded}}get error(){return this._reader.error}get data(){return this._data}read(t){const e=this._reader;this.total=t.size;return new Promise(((n,i)=>{e.onload=()=>{const t=e.result;this._data=t;n(t)};e.onerror=()=>{i("error")};e.onabort=()=>{i("aborted")};this._reader.readAsDataURL(t)}))}abort(){this._reader.abort()}}class oz extends Hu{constructor(){super(...arguments);this.loaders=new fl;this._loadersMap=new Map;this._pendingAction=null}static get pluginName(){return"FileRepository"}static get requires(){return[gv]}init(){this.loaders.on("change",(()=>this._updatePendingAction()));this.set("uploaded",0);this.set("uploadTotal",null);this.bind("uploadedPercent").to(this,"uploaded",this,"uploadTotal",((t,e)=>e?t/e*100:0))}getLoader(t){return this._loadersMap.get(t)||null}createLoader(t){if(!this.createUploadAdapter){L("filerepository-no-upload-adapter");return null}const e=new rz(Promise.resolve(t),this.createUploadAdapter);this.loaders.add(e);this._loadersMap.set(t,e);if(t instanceof Promise){e.file.then((t=>{this._loadersMap.set(t,e)})).catch((()=>{}))}e.on("change:uploaded",(()=>{let t=0;for(const e of this.loaders){t+=e.uploaded}this.uploaded=t}));e.on("change:uploadTotal",(()=>{let t=0;for(const e of this.loaders){if(e.uploadTotal){t+=e.uploadTotal}}this.uploadTotal=t}));return e}destroyLoader(t){const e=t instanceof rz?t:this.getLoader(t);e._destroy();this.loaders.remove(e);this._loadersMap.forEach(((t,n)=>{if(t===e){this._loadersMap.delete(n)}}))}_updatePendingAction(){const t=this.editor.plugins.get(gv);if(this.loaders.length){if(!this._pendingAction){const e=this.editor.t;const n=t=>`${e("Upload in progress")} ${parseInt(t)}%.`;this._pendingAction=t.add(n(this.uploadedPercent));this._pendingAction.bind("message").to(this,"uploadedPercent",n)}}else{t.remove(this._pendingAction);this._pendingAction=null}}}class rz extends(gt()){constructor(t,e){super();this.id=I();this._filePromiseWrapper=this._createFilePromiseWrapper(t);this._adapter=e(this);this._reader=new iz;this.set("status","idle");this.set("uploaded",0);this.set("uploadTotal",null);this.bind("uploadedPercent").to(this,"uploaded",this,"uploadTotal",((t,e)=>e?t/e*100:0));this.set("uploadResponse",null)}get file(){if(!this._filePromiseWrapper){return Promise.resolve(null)}else{return this._filePromiseWrapper.promise.then((t=>this._filePromiseWrapper?t:null))}}get data(){return this._reader.data}read(){if(this.status!="idle"){throw new P("filerepository-read-wrong-status",this)}this.status="reading";return this.file.then((t=>this._reader.read(t))).then((t=>{if(this.status!=="reading"){throw this.status}this.status="idle";return t})).catch((t=>{if(t==="aborted"){this.status="aborted";throw"aborted"}this.status="error";throw this._reader.error?this._reader.error:t}))}upload(){if(this.status!="idle"){throw new P("filerepository-upload-wrong-status",this)}this.status="uploading";return this.file.then((()=>this._adapter.upload())).then((t=>{this.uploadResponse=t;this.status="idle";return t})).catch((t=>{if(this.status==="aborted"){throw"aborted"}this.status="error";throw t}))}abort(){const t=this.status;this.status="aborted";if(!this._filePromiseWrapper.isFulfilled){this._filePromiseWrapper.promise.catch((()=>{}));this._filePromiseWrapper.rejecter("aborted")}else if(t=="reading"){this._reader.abort()}else if(t=="uploading"&&this._adapter.abort){this._adapter.abort()}this._destroy()}_destroy(){this._filePromiseWrapper=undefined;this._reader=undefined;this._adapter=undefined;this.uploadResponse=undefined}_createFilePromiseWrapper(t){const e={};e.promise=new Promise(((n,i)=>{e.rejecter=i;e.isFulfilled=false;t.then((t=>{e.isFulfilled=true;n(t)})).catch((t=>{e.isFulfilled=true;i(t)}))}));return e}}class sz extends Dd{constructor(t){super(t);this.buttonView=this;this._fileInputView=new az(t);this._fileInputView.bind("acceptedType").to(this);this._fileInputView.bind("allowMultipleFiles").to(this);this._fileInputView.delegate("done").to(this);this.on("execute",(()=>{this._fileInputView.open()}));this.extendTemplate({attributes:{class:"ck-file-dialog-button"}})}render(){super.render();this.children.add(this._fileInputView)}}class az extends Fl{constructor(t){super(t);this.set("acceptedType",undefined);this.set("allowMultipleFiles",false);const e=this.bindTemplate;this.setTemplate({tag:"input",attributes:{class:["ck-hidden"],type:"file",tabindex:"-1",accept:e.to("acceptedType"),multiple:e.to("allowMultipleFiles")},on:{change:e.to((()=>{if(this.element&&this.element.files&&this.element.files.length){this.fire("done",this.element.files)}this.element.value=""}))}})}open(){this.element.click()}}class cz extends(null&&Plugin){static get requires(){return[FileRepository]}static get pluginName(){return"Base64UploadAdapter"}init(){this.editor.plugins.get(FileRepository).createUploadAdapter=t=>new lz(t)}}class lz{constructor(t){this.loader=t}upload(){return new Promise(((t,e)=>{const n=this.reader=new window.FileReader;n.addEventListener("load",(()=>{t({default:n.result})}));n.addEventListener("error",(t=>{e(t)}));n.addEventListener("abort",(()=>{e()}));this.loader.file.then((t=>{n.readAsDataURL(t)}))}))}abort(){this.reader.abort()}}class dz extends Hu{static get requires(){return[oz]}static get pluginName(){return"SimpleUploadAdapter"}init(){const t=this.editor.config.get("simpleUpload");if(!t){return}if(!t.uploadUrl){L("simple-upload-adapter-missing-uploadurl");return}this.editor.plugins.get(oz).createUploadAdapter=e=>new uz(e,t)}}class uz{constructor(t,e){this.loader=t;this.options=e}upload(){return this.loader.file.then((t=>new Promise(((e,n)=>{this._initRequest();this._initListeners(e,n,t);this._sendRequest(t)}))))}abort(){if(this.xhr){this.xhr.abort()}}_initRequest(){const t=this.xhr=new XMLHttpRequest;t.open("POST",this.options.uploadUrl,true);t.responseType="json"}_initListeners(t,e,n){const i=this.xhr;const o=this.loader;const r=`Couldn't upload file: ${n.name}.`;i.addEventListener("error",(()=>e(r)));i.addEventListener("abort",(()=>e()));i.addEventListener("load",(()=>{const n=i.response;if(!n||n.error){return e(n&&n.error&&n.error.message?n.error.message:r)}const o=n.url?{default:n.url}:n.urls;t({...n,urls:o})}));if(i.upload){i.upload.addEventListener("progress",(t=>{if(t.lengthComputable){o.uploadTotal=t.total;o.uploaded=t.loaded}}))}}_sendRequest(t){const e=this.options.headers||{};const n=this.options.withCredentials||false;for(const t of Object.keys(e)){this.xhr.setRequestHeader(t,e[t])}this.xhr.withCredentials=n;const i=new FormData;i.append("upload",t);this.xhr.send(i)}}function hz(t){const e=t.map((t=>t.replace("+","\\+")));return new RegExp(`^image\\/(${e.join("|")})$`)}function gz(t){return new Promise(((e,n)=>{const i=t.getAttribute("src");fetch(i).then((t=>t.blob())).then((t=>{const n=mz(t,i);const o=n.replace("image/","");const r=`image.${o}`;const s=new File([t],r,{type:n});e(s)})).catch((t=>t&&t.name==="TypeError"?pz(i).then(e).catch(n):n(t)))}))}function fz(t,e){if(!t.isInlineImageView(e)||!e.getAttribute("src")){return false}return!!e.getAttribute("src").match(/^data:image\/\w+;base64,/g)||!!e.getAttribute("src").match(/^blob:/g)}function mz(t,e){if(t.type){return t.type}else if(e.match(/data:(image\/\w+);base64/)){return e.match(/data:(image\/\w+);base64/)[1].toLowerCase()}else{return"image/jpeg"}}function pz(t){return bz(t).then((e=>{const n=mz(e,t);const i=n.replace("image/","");const o=`image.${i}`;return new File([e],o,{type:n})}))}function bz(t){return new Promise(((e,n)=>{const i=nc.document.createElement("img");i.addEventListener("load",(()=>{const t=nc.document.createElement("canvas");t.width=i.width;t.height=i.height;const o=t.getContext("2d");o.drawImage(i,0,0);t.toBlob((t=>t?e(t):n()))}));i.addEventListener("error",(()=>n()));i.src=t}))}class kz extends Hu{static get pluginName(){return"ImageUploadUI"}init(){const t=this.editor;const e=t.t;const n=n=>{const i=new sz(n);const o=t.commands.get("uploadImage");const r=t.config.get("image.upload.types");const s=hz(r);i.set({acceptedType:r.map((t=>`image/${t}`)).join(","),allowMultipleFiles:true,label:e("Upload image from computer"),icon:_y.imageUpload,tooltip:true});i.bind("isEnabled").to(o);i.on("done",((e,n)=>{const i=Array.from(n).filter((t=>s.test(t.type)));if(i.length){t.execute("uploadImage",{file:i});t.editing.view.focus()}}));return i};t.ui.componentFactory.add("uploadImage",n);t.ui.componentFactory.add("imageUpload",n);if(t.plugins.has("ImageInsertUI")){const n=t.plugins.get("ImageInsertUI");const i=t.commands.get("uploadImage");n.registerIntegration({name:"upload",observable:i,buttonViewCreator:()=>{const i=t.ui.componentFactory.create("uploadImage");i.bind("label").to(n,"isImageSelected",(t=>t?e("Replace image from computer"):e("Upload image from computer")));return i},formViewCreator:()=>{const i=t.ui.componentFactory.create("uploadImage");i.withText=true;i.bind("label").to(n,"isImageSelected",(t=>t?e("Replace from computer"):e("Upload from computer")));i.on("execute",(()=>{n.dropdownView.isOpen=false}));return i}})}}}var wz=n(2926);var Az={injectType:"singletonStyleTag",attributes:{"data-cke":true}};Az.insert="head";Az.singleton=true;var Cz=Ll()(wz.Z,Az);const _z=wz.Z.locals||{};var vz=n(1547);var yz={injectType:"singletonStyleTag",attributes:{"data-cke":true}};yz.insert="head";yz.singleton=true;var xz=Ll()(vz.Z,yz);const Ez=vz.Z.locals||{};var Dz=n(6618);var Tz={injectType:"singletonStyleTag",attributes:{"data-cke":true}};Tz.insert="head";Tz.singleton=true;var Iz=Ll()(Dz.Z,Tz);const Sz=Dz.Z.locals||{};class Bz extends Hu{static get pluginName(){return"ImageUploadProgress"}constructor(t){super(t);this.uploadStatusChange=(t,e,n)=>{const i=this.editor;const o=e.item;const r=o.getAttribute("uploadId");if(!n.consumable.consume(e.item,t.name)){return}const s=i.plugins.get("ImageUtils");const a=i.plugins.get(oz);const c=r?e.attributeNewValue:null;const l=this.placeholder;const d=i.editing.mapper.toViewElement(o);const u=n.writer;if(c=="reading"){Mz(d,u);Pz(s,l,d,u);return}if(c=="uploading"){const t=a.loaders.get(r);Mz(d,u);if(!t){Pz(s,l,d,u)}else{Lz(d,u);zz(d,u,t,i.editing.view);Uz(s,d,u,t)}return}if(c=="complete"&&a.loaders.get(r)){Rz(d,u,i.editing.view)}Vz(d,u);Lz(d,u);Nz(d,u)};this.placeholder="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="}init(){const t=this.editor;if(t.plugins.has("ImageBlockEditing")){t.editing.downcastDispatcher.on("attribute:uploadStatus:imageBlock",this.uploadStatusChange)}if(t.plugins.has("ImageInlineEditing")){t.editing.downcastDispatcher.on("attribute:uploadStatus:imageInline",this.uploadStatusChange)}}}function Mz(t,e){if(!t.hasClass("ck-appear")){e.addClass("ck-appear",t)}}function Nz(t,e){e.removeClass("ck-appear",t)}function Pz(t,e,n,i){if(!n.hasClass("ck-image-upload-placeholder")){i.addClass("ck-image-upload-placeholder",n)}const o=t.findViewImgElement(n);if(o.getAttribute("src")!==e){i.setAttribute("src",e,o)}if(!jz(n,"placeholder")){i.insert(i.createPositionAfter(o),Fz(i))}}function Lz(t,e){if(t.hasClass("ck-image-upload-placeholder")){e.removeClass("ck-image-upload-placeholder",t)}Hz(t,e,"placeholder")}function zz(t,e,n,i){const o=Oz(e);e.insert(e.createPositionAt(t,"end"),o);n.on("change:uploadedPercent",((t,e,n)=>{i.change((t=>{t.setStyle("width",n+"%",o)}))}))}function Vz(t,e){Hz(t,e,"progressBar")}function Rz(t,e,n){const i=e.createUIElement("div",{class:"ck-image-upload-complete-icon"});e.insert(e.createPositionAt(t,"end"),i);setTimeout((()=>{n.change((t=>t.remove(t.createRangeOn(i))))}),3e3)}function Oz(t){const e=t.createUIElement("div",{class:"ck-progress-bar"});t.setCustomProperty("progressBar",true,e);return e}function Fz(t){const e=t.createUIElement("div",{class:"ck-upload-placeholder-loader"});t.setCustomProperty("placeholder",true,e);return e}function jz(t,e){for(const n of t.getChildren()){if(n.getCustomProperty(e)){return n}}}function Hz(t,e,n){const i=jz(t,n);if(i){e.remove(e.createRangeOn(i))}}function Uz(t,e,n,i){if(i.data){const o=t.findViewImgElement(e);n.setAttribute("src",i.data,o)}}class Wz extends Wu{refresh(){const t=this.editor;const e=t.plugins.get("ImageUtils");const n=t.model.document.selection.getSelectedElement();this.isEnabled=e.isImageAllowed()||e.isImage(n)}execute(t){const e=ol(t.file);const n=this.editor.model.document.selection;const i=this.editor.plugins.get("ImageUtils");const o=Object.fromEntries(n.getAttributes());e.forEach(((t,e)=>{const r=n.getSelectedElement();if(e&&r&&i.isImage(r)){const e=this.editor.model.createPositionAfter(r);this._uploadImage(t,o,e)}else{this._uploadImage(t,o)}}))}_uploadImage(t,e,n){const i=this.editor;const o=i.plugins.get(oz);const r=o.createLoader(t);const s=i.plugins.get("ImageUtils");if(!r){return}s.insertImage({...e,uploadId:r.id},n)}}class Gz extends Hu{static get requires(){return[oz,hT,lM,$P]}static get pluginName(){return"ImageUploadEditing"}constructor(t){super(t);t.config.define("image",{upload:{types:["jpeg","png","gif","bmp","webp","tiff"]}});this._uploadImageElements=new Map}init(){const t=this.editor;const e=t.model.document;const n=t.conversion;const i=t.plugins.get(oz);const o=t.plugins.get("ImageUtils");const r=t.plugins.get("ClipboardPipeline");const s=hz(t.config.get("image.upload.types"));const a=new Wz(t);t.commands.add("uploadImage",a);t.commands.add("imageUpload",a);n.for("upcast").attributeToAttribute({view:{name:"img",key:"uploadId"},model:"uploadId"});this.listenTo(t.editing.view.document,"clipboardInput",((e,n)=>{if(qz(n.dataTransfer)){return}const i=Array.from(n.dataTransfer.files).filter((t=>{if(!t){return false}return s.test(t.type)}));if(!i.length){return}e.stop();t.model.change((e=>{if(n.targetRanges){e.setSelection(n.targetRanges.map((e=>t.editing.mapper.toModelRange(e))))}t.execute("uploadImage",{file:i})}))}));this.listenTo(r,"inputTransformation",((e,n)=>{const r=Array.from(t.editing.view.createRangeIn(n.content)).map((t=>t.item)).filter((t=>fz(o,t)&&!t.getAttribute("uploadProcessed"))).map((t=>({promise:gz(t),imageElement:t})));if(!r.length){return}const s=new g_(t.editing.view.document);for(const t of r){s.setAttribute("uploadProcessed",true,t.imageElement);const e=i.createLoader(t.promise);if(e){s.setAttribute("src","",t.imageElement);s.setAttribute("uploadId",e.id,t.imageElement)}}}));t.editing.view.document.on("dragover",((t,e)=>{e.preventDefault()}));e.on("change",(()=>{const n=e.differ.getChanges({includeChangesInGraveyard:true}).reverse();const o=new Set;for(const e of n){if(e.type=="insert"&&e.name!="$text"){const n=e.position.nodeAfter;const r=e.position.root.rootName=="$graveyard";for(const e of Zz(t,n)){const t=e.getAttribute("uploadId");if(!t){continue}const n=i.loaders.get(t);if(!n){continue}if(r){if(!o.has(t)){n.abort()}}else{o.add(t);this._uploadImageElements.set(t,e);if(n.status=="idle"){this._readAndUpload(n)}}}}}}));this.on("uploadComplete",((t,{imageElement:e,data:n})=>{const i=n.urls?n.urls:n;this.editor.model.change((t=>{t.setAttribute("src",i.default,e);this._parseAndSetSrcsetAttributeOnImage(i,e,t);o.setImageNaturalSizeAttributes(e)}))}),{priority:"low"})}afterInit(){const t=this.editor.model.schema;if(this.editor.plugins.has("ImageBlockEditing")){t.extend("imageBlock",{allowAttributes:["uploadId","uploadStatus"]})}if(this.editor.plugins.has("ImageInlineEditing")){t.extend("imageInline",{allowAttributes:["uploadId","uploadStatus"]})}}_readAndUpload(t){const e=this.editor;const n=e.model;const i=e.locale.t;const o=e.plugins.get(oz);const r=e.plugins.get(hT);const s=e.plugins.get("ImageUtils");const a=this._uploadImageElements;n.enqueueChange({isUndoable:false},(e=>{e.setAttribute("uploadStatus","reading",a.get(t.id))}));return t.read().then((()=>{const i=t.upload();const o=a.get(t.id);if(l.isSafari){const t=e.editing.mapper.toViewElement(o);const n=s.findViewImgElement(t);e.editing.view.once("render",(()=>{if(!n.parent){return}const t=e.editing.view.domConverter.mapViewToDom(n.parent);if(!t){return}const i=t.style.display;t.style.display="none";t._ckHack=t.offsetHeight;t.style.display=i}))}n.enqueueChange({isUndoable:false},(t=>{t.setAttribute("uploadStatus","uploading",o)}));return i})).then((e=>{n.enqueueChange({isUndoable:false},(n=>{const i=a.get(t.id);n.setAttribute("uploadStatus","complete",i);this.fire("uploadComplete",{data:e,imageElement:i})}));c()})).catch((e=>{if(t.status!=="error"&&t.status!=="aborted"){throw e}if(t.status=="error"&&e){r.showWarning(e,{title:i("Upload failed"),namespace:"upload"})}n.enqueueChange({isUndoable:false},(e=>{e.remove(a.get(t.id))}));c()}));function c(){n.enqueueChange({isUndoable:false},(e=>{const n=a.get(t.id);e.removeAttribute("uploadId",n);e.removeAttribute("uploadStatus",n);a.delete(t.id)}));o.destroyLoader(t)}}_parseAndSetSrcsetAttributeOnImage(t,e,n){let i=0;const o=Object.keys(t).filter((t=>{const e=parseInt(t,10);if(!isNaN(e)){i=Math.max(i,e);return true}})).map((e=>`${t[e]} ${e}w`)).join(", ");if(o!=""){const t={srcset:o};if(!e.hasAttribute("width")&&!e.hasAttribute("height")){t.width=i}n.setAttributes(t,e)}}}function qz(t){return Array.from(t.types).includes("text/html")&&t.getData("text/html")!==""}function Zz(t,e){const n=t.plugins.get("ImageUtils");return Array.from(t.model.createRangeOn(e)).filter((t=>n.isImage(t.item))).map((t=>t.item))}class $z extends Hu{static get pluginName(){return"ImageUpload"}static get requires(){return[Gz,kz,Bz]}}class Kz extends(null&&View){constructor(t){super(t);this.set("imageURLInputValue","");this.set("isImageSelected",false);this.set("isEnabled",true);this.focusTracker=new FocusTracker;this.keystrokes=new KeystrokeHandler;this._focusables=new ViewCollection;this.focusCycler=new FocusCycler({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}});this.urlInputView=this._createUrlInputView();this.insertButtonView=this._createInsertButton();this.cancelButtonView=this._createCancelButton();this._focusables.addMany([this.urlInputView,this.insertButtonView,this.cancelButtonView]);this.setTemplate({tag:"div",attributes:{class:["ck","ck-image-insert-url"]},children:[this.urlInputView,{tag:"div",attributes:{class:["ck","ck-image-insert-url__action-row"]},children:[this.insertButtonView,this.cancelButtonView]}]})}render(){super.render();for(const t of this._focusables){this.focusTracker.add(t.element)}this.keystrokes.listenTo(this.element)}destroy(){super.destroy();this.focusTracker.destroy();this.keystrokes.destroy()}_createUrlInputView(){const t=this.locale;const e=t.t;const n=new LabeledFieldView(t,createLabeledInputText);n.bind("label").to(this,"isImageSelected",(t=>t?e("Update image URL"):e("Insert image via URL")));n.bind("isEnabled").to(this);n.fieldView.placeholder="https://example.com/image.png";n.fieldView.bind("value").to(this,"imageURLInputValue",(t=>t||""));n.fieldView.on("input",(()=>{this.imageURLInputValue=n.fieldView.element.value.trim()}));return n}_createInsertButton(){const t=this.locale;const e=t.t;const n=new ButtonView(t);n.set({icon:icons.check,class:"ck-button-save",type:"submit",withText:true});n.bind("label").to(this,"isImageSelected",(t=>t?e("Update"):e("Insert")));n.bind("isEnabled").to(this,"imageURLInputValue",this,"isEnabled",((...t)=>t.every((t=>t))));n.delegate("execute").to(this,"submit");return n}_createCancelButton(){const t=this.locale;const e=t.t;const n=new ButtonView(t);n.set({label:e("Cancel"),icon:icons.cancel,class:"ck-button-cancel",withText:true});n.bind("isEnabled").to(this);n.delegate("execute").to(this,"cancel");return n}focus(t){if(t===-1){this.focusCycler.focusLast()}else{this.focusCycler.focusFirst()}}}class Yz extends(null&&Plugin){static get pluginName(){return"ImageInsertViaUrlUI"}static get requires(){return[ImageInsertUI]}init(){this._imageInsertUI=this.editor.plugins.get("ImageInsertUI");const t=this.editor.commands.get("insertImage");this._imageInsertUI.registerIntegration({name:"url",observable:t,requiresForm:true,buttonViewCreator:t=>this._createInsertUrlButton(t),formViewCreator:t=>this._createInsertUrlView(t)})}_createInsertUrlView(t){const e=this.editor;const n=e.locale;const i=n.t;const o=e.commands.get("replaceImageSource");const r=e.commands.get("insertImage");const s=new ImageInsertUrlView(n);const a=t?null:new CollapsibleView(n,[s]);s.bind("isImageSelected").to(this._imageInsertUI);s.bind("isEnabled").toMany([r,o],"isEnabled",((...t)=>t.some((t=>t))));s.imageURLInputValue=o.value||"";this._imageInsertUI.dropdownView.on("change:isOpen",(()=>{if(this._imageInsertUI.dropdownView.isOpen){s.imageURLInputValue=o.value||"";if(a){a.isCollapsed=true}}}),{priority:"low"});s.on("submit",(()=>{if(o.isEnabled){e.execute("replaceImageSource",{source:s.imageURLInputValue})}else{e.execute("insertImage",{source:s.imageURLInputValue})}this._closePanel()}));s.on("cancel",(()=>this._closePanel()));if(a){a.set({isCollapsed:true});a.bind("label").to(this._imageInsertUI,"isImageSelected",(t=>t?i("Update image URL"):i("Insert image via URL")));return a}return s}_createInsertUrlButton(t){const e=t?DropdownButtonView:ButtonView;const n=this.editor;const i=new e(n.locale);const o=n.locale.t;i.set({icon:icons.imageUrl,tooltip:true});i.bind("label").to(this._imageInsertUI,"isImageSelected",(t=>t?o("Update image URL"):o("Insert image via URL")));return i}_closePanel(){this.editor.editing.view.focus();this._imageInsertUI.dropdownView.isOpen=false}}class Qz extends(null&&Plugin){static get pluginName(){return"ImageInsertViaUrl"}static get requires(){return[ImageInsertViaUrlUI,ImageInsertUI]}}class Jz extends(null&&Plugin){static get pluginName(){return"ImageInsert"}static get requires(){return[ImageUpload,ImageInsertViaUrl,ImageInsertUI]}}class Xz extends Wu{refresh(){const t=this.editor;const e=t.plugins.get("ImageUtils");const n=e.getClosestSelectedImageElement(t.model.document.selection);this.isEnabled=!!n;if(!n||!n.hasAttribute("resizedWidth")){this.value=null}else{this.value={width:n.getAttribute("resizedWidth"),height:null}}}execute(t){const e=this.editor;const n=e.model;const i=e.plugins.get("ImageUtils");const o=i.getClosestSelectedImageElement(n.document.selection);this.value={width:t.width,height:null};if(o){n.change((e=>{e.setAttribute("resizedWidth",t.width,o);e.removeAttribute("resizedHeight",o);i.setImageNaturalSizeAttributes(o)}))}}}class tV extends Hu{static get requires(){return[$P]}static get pluginName(){return"ImageResizeEditing"}constructor(t){super(t);t.config.define("image",{resizeUnit:"%",resizeOptions:[{name:"resizeImage:original",value:null,icon:"original"},{name:"resizeImage:25",value:"25",icon:"small"},{name:"resizeImage:50",value:"50",icon:"medium"},{name:"resizeImage:75",value:"75",icon:"large"}]})}init(){const t=this.editor;const e=new Xz(t);this._registerSchema();this._registerConverters("imageBlock");this._registerConverters("imageInline");t.commands.add("resizeImage",e);t.commands.add("imageResize",e)}_registerSchema(){if(this.editor.plugins.has("ImageBlockEditing")){this.editor.model.schema.extend("imageBlock",{allowAttributes:["resizedWidth","resizedHeight"]})}if(this.editor.plugins.has("ImageInlineEditing")){this.editor.model.schema.extend("imageInline",{allowAttributes:["resizedWidth","resizedHeight"]})}}_registerConverters(t){const e=this.editor;const n=e.plugins.get("ImageUtils");e.conversion.for("downcast").add((e=>e.on(`attribute:resizedWidth:${t}`,((t,e,n)=>{if(!n.consumable.consume(e.item,t.name)){return}const i=n.writer;const o=n.mapper.toViewElement(e.item);if(e.attributeNewValue!==null){i.setStyle("width",e.attributeNewValue,o);i.addClass("image_resized",o)}else{i.removeStyle("width",o);i.removeClass("image_resized",o)}}))));e.conversion.for("dataDowncast").attributeToAttribute({model:{name:t,key:"resizedHeight"},view:t=>({key:"style",value:{height:t}})});e.conversion.for("editingDowncast").add((e=>e.on(`attribute:resizedHeight:${t}`,((e,i,o)=>{if(!o.consumable.consume(i.item,e.name)){return}const r=o.writer;const s=o.mapper.toViewElement(i.item);const a=t==="imageInline"?n.findViewImgElement(s):s;if(i.attributeNewValue!==null){r.setStyle("height",i.attributeNewValue,a)}else{r.removeStyle("height",a)}}))));e.conversion.for("upcast").attributeToAttribute({view:{name:t==="imageBlock"?"figure":"img",styles:{width:/.+/}},model:{key:"resizedWidth",value:t=>{if(qP(t)){return null}return t.getStyle("width")}}});e.conversion.for("upcast").attributeToAttribute({view:{name:t==="imageBlock"?"figure":"img",styles:{height:/.+/}},model:{key:"resizedHeight",value:t=>{if(qP(t)){return null}return t.getStyle("height")}}})}}const eV={small:_y.objectSizeSmall,medium:_y.objectSizeMedium,large:_y.objectSizeLarge,original:_y.objectSizeFull};class nV extends Hu{static get requires(){return[tV]}static get pluginName(){return"ImageResizeButtons"}constructor(t){super(t);this._resizeUnit=t.config.get("image.resizeUnit")}init(){const t=this.editor;const e=t.config.get("image.resizeOptions");const n=t.commands.get("resizeImage");this.bind("isEnabled").to(n);for(const t of e){this._registerImageResizeButton(t)}this._registerImageResizeDropdown(e)}_registerImageResizeButton(t){const e=this.editor;const{name:n,value:i,icon:o}=t;const r=i?i+this._resizeUnit:null;e.ui.componentFactory.add(n,(n=>{const i=new Dd(n);const s=e.commands.get("resizeImage");const a=this._getOptionLabelValue(t,true);if(!eV[o]){throw new P("imageresizebuttons-missing-icon",e,t)}i.set({label:a,icon:eV[o],tooltip:a,isToggleable:true});i.bind("isEnabled").to(this);i.bind("isOn").to(s,"value",iV(r));this.listenTo(i,"execute",(()=>{e.execute("resizeImage",{width:r})}));return i}))}_registerImageResizeDropdown(t){const e=this.editor;const n=e.t;const i=t.find((t=>!t.value));const o=o=>{const r=e.commands.get("resizeImage");const s=tx(o,Nu);const a=s.buttonView;const c=n("Resize image");a.set({tooltip:c,commandValue:i.value,icon:eV.medium,isToggleable:true,label:this._getOptionLabelValue(i),withText:true,class:"ck-resize-image-button",ariaLabel:c,ariaLabelledBy:undefined});a.bind("label").to(r,"value",(t=>{if(t&&t.width){return t.width}else{return this._getOptionLabelValue(i)}}));s.bind("isEnabled").to(this);ix(s,(()=>this._getResizeDropdownListItemDefinitions(t,r)),{ariaLabel:n("Image resize list"),role:"menu"});this.listenTo(s,"execute",(t=>{e.execute(t.source.commandName,{width:t.source.commandValue});e.editing.view.focus()}));return s};e.ui.componentFactory.add("resizeImage",o);e.ui.componentFactory.add("imageResize",o)}_getOptionLabelValue(t,e=false){const n=this.editor.t;if(t.label){return t.label}else if(e){if(t.value){return n("Resize image to %0",t.value+this._resizeUnit)}else{return n("Resize image to the original size")}}else{if(t.value){return t.value+this._resizeUnit}else{return n("Original")}}}_getResizeDropdownListItemDefinitions(t,e){const n=new fl;t.map((t=>{const i=t.value?t.value+this._resizeUnit:null;const o={type:"button",model:new gT({commandName:"resizeImage",commandValue:i,label:this._getOptionLabelValue(t),role:"menuitemradio",withText:true,icon:null})};o.model.bind("isOn").to(e,"value",iV(i));n.add(o)}));return n}}function iV(t){return e=>{const n=e;if(t===null&&n===t){return true}return n!==null&&n.width===t}}const oV="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";const rV="image_resized";class sV extends Hu{static get requires(){return[TN,$P]}static get pluginName(){return"ImageResizeHandles"}init(){const t=this.editor.commands.get("resizeImage");this.bind("isEnabled").to(t);this._setupResizerCreator()}_setupResizerCreator(){const t=this.editor;const e=t.editing.view;const n=t.plugins.get("ImageUtils");e.addObserver(CL);this.listenTo(e.document,"imageLoaded",((i,o)=>{if(!o.target.matches(oV)){return}const r=t.editing.view.domConverter;const s=r.domToView(o.target);const a=n.getImageWidgetFromImageView(s);let c=this.editor.plugins.get(TN).getResizerByViewElement(a);if(c){c.redraw();return}const l=t.editing.mapper;const d=l.toModelElement(a);c=t.plugins.get(TN).attachTo({unit:t.config.get("image.resizeUnit"),modelElement:d,viewElement:a,editor:t,getHandleHost(t){return t.querySelector("img")},getResizeHost(){return r.mapViewToDom(l.toViewElement(d.parent))},isCentered(){const t=d.getAttribute("imageStyle");return!t||t=="block"||t=="alignCenter"},onCommit(n){e.change((t=>{t.removeClass(rV,a)}));t.execute("resizeImage",{width:n})}});c.on("updateSize",(()=>{if(!a.hasClass(rV)){e.change((t=>{t.addClass(rV,a)}))}const t=d.name==="imageInline"?s:a;if(t.getStyle("height")){e.change((e=>{e.removeStyle("height",t)}))}}));c.bind("isEnabled").to(this)}))}}var aV=n(2400);var cV={injectType:"singletonStyleTag",attributes:{"data-cke":true}};cV.insert="head";cV.singleton=true;var lV=Ll()(aV.Z,cV);const dV=aV.Z.locals||{};class uV extends Hu{static get requires(){return[tV,sV,nV]}static get pluginName(){return"ImageResize"}}class hV extends Wu{constructor(t,e){super(t);this._defaultStyles={imageBlock:false,imageInline:false};this._styles=new Map(e.map((t=>{if(t.isDefault){for(const e of t.modelElements){this._defaultStyles[e]=t.name}}return[t.name,t]})))}refresh(){const t=this.editor;const e=t.plugins.get("ImageUtils");const n=e.getClosestSelectedImageElement(this.editor.model.document.selection);this.isEnabled=!!n;if(!this.isEnabled){this.value=false}else if(n.hasAttribute("imageStyle")){this.value=n.getAttribute("imageStyle")}else{this.value=this._defaultStyles[n.name]}}execute(t={}){const e=this.editor;const n=e.model;const i=e.plugins.get("ImageUtils");n.change((e=>{const o=t.value;const{setImageSizes:r=true}=t;let s=i.getClosestSelectedImageElement(n.document.selection);if(o&&this.shouldConvertImageType(o,s)){this.editor.execute(i.isBlockImage(s)?"imageTypeInline":"imageTypeBlock",{setImageSizes:r});s=i.getClosestSelectedImageElement(n.document.selection)}if(!o||this._styles.get(o).isDefault){e.removeAttribute("imageStyle",s)}else{e.setAttribute("imageStyle",o,s)}if(r){i.setImageNaturalSizeAttributes(s)}}))}shouldConvertImageType(t,e){const n=this._styles.get(t).modelElements;return!n.includes(e.name)}}const{objectFullWidth:gV,objectInline:fV,objectLeft:mV,objectRight:pV,objectCenter:bV,objectBlockLeft:kV,objectBlockRight:wV}=_y;const AV={get inline(){return{name:"inline",title:"In line",icon:fV,modelElements:["imageInline"],isDefault:true}},get alignLeft(){return{name:"alignLeft",title:"Left aligned image",icon:mV,modelElements:["imageBlock","imageInline"],className:"image-style-align-left"}},get alignBlockLeft(){return{name:"alignBlockLeft",title:"Left aligned image",icon:kV,modelElements:["imageBlock"],className:"image-style-block-align-left"}},get alignCenter(){return{name:"alignCenter",title:"Centered image",icon:bV,modelElements:["imageBlock"],className:"image-style-align-center"}},get alignRight(){return{name:"alignRight",title:"Right aligned image",icon:pV,modelElements:["imageBlock","imageInline"],className:"image-style-align-right"}},get alignBlockRight(){return{name:"alignBlockRight",title:"Right aligned image",icon:wV,modelElements:["imageBlock"],className:"image-style-block-align-right"}},get block(){return{name:"block",title:"Centered image",icon:bV,modelElements:["imageBlock"],isDefault:true}},get side(){return{name:"side",title:"Side image",icon:pV,modelElements:["imageBlock"],className:"image-style-side"}}};const CV={full:gV,left:kV,right:wV,center:bV,inlineLeft:mV,inlineRight:pV,inline:fV};const _V=[{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 vV(t){const e=t.configuredStyles.options||[];const n=e.map((t=>EV(t))).filter((e=>DV(e,t)));return n}function yV(t,e){if(t&&e){return{options:["inline","alignLeft","alignRight","alignCenter","alignBlockLeft","alignBlockRight","block","side"]}}else if(t){return{options:["block","side"]}}else if(e){return{options:["inline","alignLeft","alignRight"]}}return{}}function xV(t){if(t.has("ImageBlockEditing")&&t.has("ImageInlineEditing")){return[..._V]}else{return[]}}function EV(t){if(typeof t==="string"){if(!AV[t]){t={name:t}}else{t={...AV[t]}}}else{t=TV(AV[t.name],t)}if(typeof t.icon==="string"){t.icon=CV[t.icon]||t.icon}return t}function DV(t,{isBlockPluginLoaded:e,isInlinePluginLoaded:n}){const{modelElements:i,name:o}=t;if(!i||!i.length||!o){IV({style:t});return false}else{const o=[e?"imageBlock":null,n?"imageInline":null];if(!i.some((t=>o.includes(t)))){L("image-style-missing-dependency",{style:t,missingPlugins:i.map((t=>t==="imageBlock"?"ImageBlockEditing":"ImageInlineEditing"))});return false}}return true}function TV(t,e){const n={...e};for(const i in t){if(!Object.prototype.hasOwnProperty.call(e,i)){n[i]=t[i]}}return n}function IV(t){L("image-style-configuration-definition-invalid",t)}const SV={normalizeStyles:vV,getDefaultStylesConfiguration:yV,getDefaultDropdownDefinitions:xV,warnInvalidStyle:IV,DEFAULT_OPTIONS:AV,DEFAULT_ICONS:CV,DEFAULT_DROPDOWN_DEFINITIONS:_V};function BV(t){return(e,n,i)=>{if(!i.consumable.consume(n.item,e.name)){return}const o=NV(n.attributeNewValue,t);const r=NV(n.attributeOldValue,t);const s=i.mapper.toViewElement(n.item);const a=i.writer;if(r){a.removeClass(r.className,s)}if(o){a.addClass(o.className,s)}}}function MV(t){const e={imageInline:t.filter((t=>!t.isDefault&&t.modelElements.includes("imageInline"))),imageBlock:t.filter((t=>!t.isDefault&&t.modelElements.includes("imageBlock")))};return(t,n,i)=>{if(!n.modelRange){return}const o=n.viewItem;const r=ml(n.modelRange.getItems());if(!r){return}if(!i.schema.checkAttribute(r,"imageStyle")){return}for(const t of e[r.name]){if(i.consumable.consume(o,{classes:t.className})){i.writer.setAttribute("imageStyle",t.name,r)}}}}function NV(t,e){for(const n of e){if(n.name===t){return n}}}class PV extends Hu{static get pluginName(){return"ImageStyleEditing"}static get requires(){return[$P]}init(){const{normalizeStyles:t,getDefaultStylesConfiguration:e}=SV;const n=this.editor;const i=n.plugins.has("ImageBlockEditing");const o=n.plugins.has("ImageInlineEditing");n.config.define("image.styles",e(i,o));this.normalizedStyles=t({configuredStyles:n.config.get("image.styles"),isBlockPluginLoaded:i,isInlinePluginLoaded:o});this._setupConversion(i,o);this._setupPostFixer();n.commands.add("imageStyle",new hV(n,this.normalizedStyles))}_setupConversion(t,e){const n=this.editor;const i=n.model.schema;const o=BV(this.normalizedStyles);const r=MV(this.normalizedStyles);n.editing.downcastDispatcher.on("attribute:imageStyle",o);n.data.downcastDispatcher.on("attribute:imageStyle",o);if(t){i.extend("imageBlock",{allowAttributes:"imageStyle"});n.data.upcastDispatcher.on("element:figure",r,{priority:"low"})}if(e){i.extend("imageInline",{allowAttributes:"imageStyle"});n.data.upcastDispatcher.on("element:img",r,{priority:"low"})}}_setupPostFixer(){const t=this.editor;const e=t.model.document;const n=t.plugins.get($P);const i=new Map(this.normalizedStyles.map((t=>[t.name,t])));e.registerPostFixer((t=>{let o=false;for(const r of e.differ.getChanges()){if(r.type=="insert"||r.type=="attribute"&&r.attributeKey=="imageStyle"){let e=r.type=="insert"?r.position.nodeAfter:r.range.start.nodeAfter;if(e&&e.is("element","paragraph")&&e.childCount>0){e=e.getChild(0)}if(!n.isImage(e)){continue}const s=e.getAttribute("imageStyle");if(!s){continue}const a=i.get(s);if(!a||!a.modelElements.includes(e.name)){t.removeAttribute("imageStyle",e);o=true}}}return o}))}}var LV=n(3534);var zV={injectType:"singletonStyleTag",attributes:{"data-cke":true}};zV.insert="head";zV.singleton=true;var VV=Ll()(LV.Z,zV);const RV=LV.Z.locals||{};class OV extends Hu{static get requires(){return[PV]}static get pluginName(){return"ImageStyleUI"}get localizedDefaultStylesTitles(){const t=this.editor.t;return{"Wrap text":t("Wrap text"),"Break text":t("Break text"),"In line":t("In line"),"Full size image":t("Full size image"),"Side image":t("Side image"),"Left aligned image":t("Left aligned image"),"Centered image":t("Centered image"),"Right aligned image":t("Right aligned image")}}init(){const t=this.editor.plugins;const e=this.editor.config.get("image.toolbar")||[];const n=t.get("ImageStyleEditing");const i=FV(n.normalizedStyles,this.localizedDefaultStylesTitles);for(const t of i){this._createButton(t)}const o=FV([...e.filter(st),...SV.getDefaultDropdownDefinitions(t)],this.localizedDefaultStylesTitles);for(const t of o){this._createDropdown(t,i)}}_createDropdown(t,e){const n=this.editor.ui.componentFactory;n.add(t.name,(i=>{let o;const{defaultItem:r,items:s,title:a}=t;const c=s.filter((t=>e.find((({name:e})=>jV(e)===t)))).map((t=>{const e=n.create(t);if(t===r){o=e}return e}));if(s.length!==c.length){SV.warnInvalidStyle({dropdown:t})}const l=tx(i,Gy);const d=l.buttonView;const u=d.arrowView;ex(l,c,{enableActiveItemFocusOnDropdownOpen:true});d.set({label:HV(a,o.label),class:null,tooltip:true});u.unbind("label");u.set({label:a});d.bind("icon").toMany(c,"isOn",((...t)=>{const e=t.findIndex(zg);return e<0?o.icon:c[e].icon}));d.bind("label").toMany(c,"isOn",((...t)=>{const e=t.findIndex(zg);return HV(a,e<0?o.label:c[e].label)}));d.bind("isOn").toMany(c,"isOn",((...t)=>t.some(zg)));d.bind("class").toMany(c,"isOn",((...t)=>t.some(zg)?"ck-splitbutton_flatten":undefined));d.on("execute",(()=>{if(!c.some((({isOn:t})=>t))){o.fire("execute")}else{l.isOpen=!l.isOpen}}));l.bind("isEnabled").toMany(c,"isEnabled",((...t)=>t.some(zg)));this.listenTo(l,"execute",(()=>{this.editor.editing.view.focus()}));return l}))}_createButton(t){const e=t.name;this.editor.ui.componentFactory.add(jV(e),(n=>{const i=this.editor.commands.get("imageStyle");const o=new Dd(n);o.set({label:t.title,icon:t.icon,tooltip:true,isToggleable:true});o.bind("isEnabled").to(i,"isEnabled");o.bind("isOn").to(i,"value",(t=>t===e));o.on("execute",this._executeCommand.bind(this,e));return o}))}_executeCommand(t){this.editor.execute("imageStyle",{value:t});this.editor.editing.view.focus()}}function FV(t,e){for(const n of t){if(e[n.title]){n.title=e[n.title]}}return t}function jV(t){return`imageStyle:${t}`}function HV(t,e){return(t?t+": ":"")+e}class UV extends Hu{static get requires(){return[PV,OV]}static get pluginName(){return"ImageStyle"}}class WV extends Hu{static get requires(){return[lN,$P]}static get pluginName(){return"ImageToolbar"}afterInit(){const t=this.editor;const e=t.t;const n=t.plugins.get(lN);const i=t.plugins.get("ImageUtils");n.register("image",{ariaLabel:e("Image toolbar"),items:GV(t.config.get("image.toolbar")||[]),getRelatedElement:t=>i.getClosestSelectedImageWidget(t)})}}function GV(t){return t.map((t=>st(t)?t.name:t))}class qV extends(null&&Plugin){static get requires(){return[ImageEditing,ImageUtils]}static get pluginName(){return"PictureEditing"}afterInit(){const t=this.editor;if(t.plugins.has("ImageBlockEditing")){t.model.schema.extend("imageBlock",{allowAttributes:["sources"]})}if(t.plugins.has("ImageInlineEditing")){t.model.schema.extend("imageInline",{allowAttributes:["sources"]})}this._setupConversion();this._setupImageUploadEditingIntegration()}_setupConversion(){const t=this.editor;const e=t.conversion;const n=t.plugins.get("ImageUtils");e.for("upcast").add(upcastPicture(n));e.for("downcast").add(downcastSourcesAttribute(n))}_setupImageUploadEditingIntegration(){const t=this.editor;if(!t.plugins.has("ImageUploadEditing")){return}const e=t.plugins.get("ImageUploadEditing");this.listenTo(e,"uploadComplete",((e,{imageElement:n,data:i})=>{const o=i.sources;if(!o){return}t.model.change((t=>{t.setAttributes({sources:o},n)}))}))}}class ZV extends Hu{static get pluginName(){return"IndentEditing"}init(){const t=this.editor;t.commands.add("indent",new qu(t));t.commands.add("outdent",new qu(t))}}class $V extends Hu{static get pluginName(){return"IndentUI"}init(){const t=this.editor;const e=t.locale;const n=t.t;const i=e.uiLanguageDirection=="ltr"?_y.indent:_y.outdent;const o=e.uiLanguageDirection=="ltr"?_y.outdent:_y.indent;this._defineButton("indent",n("Increase indent"),i);this._defineButton("outdent",n("Decrease indent"),o)}_defineButton(t,e,n){const i=this.editor;i.ui.componentFactory.add(t,(o=>{const r=i.commands.get(t);const s=new Dd(o);s.set({label:e,icon:n,tooltip:true});s.bind("isEnabled").to(r,"isEnabled");this.listenTo(s,"execute",(()=>{i.execute(t);i.editing.view.focus()}));return s}))}}class KV extends Hu{static get pluginName(){return"Indent"}static get requires(){return[ZV,$V]}}class YV extends(null&&Command){constructor(t,e){super(t);this._indentBehavior=e}refresh(){const t=this.editor;const e=t.model;const n=first(e.document.selection.getSelectedBlocks());if(!n||!this._isIndentationChangeAllowed(n)){this.isEnabled=false;return}this.isEnabled=this._indentBehavior.checkEnabled(n.getAttribute("blockIndent"))}execute(){const t=this.editor.model;const e=this._getBlocksToChange();t.change((t=>{for(const n of e){const e=n.getAttribute("blockIndent");const i=this._indentBehavior.getNextIndent(e);if(i){t.setAttribute("blockIndent",i,n)}else{t.removeAttribute("blockIndent",n)}}}))}_getBlocksToChange(){const t=this.editor.model;const e=t.document.selection;const n=Array.from(e.getSelectedBlocks());return n.filter((t=>this._isIndentationChangeAllowed(t)))}_isIndentationChangeAllowed(t){const e=this.editor;if(!e.model.schema.checkAttribute(t,"blockIndent")){return false}if(!e.plugins.has("ListUtils")){return true}if(!this._indentBehavior.isForward){return true}const n=e.plugins.get("ListUtils");return!n.isListItemBlock(t)}}const QV=null&&["paragraph","heading1","heading2","heading3","heading4","heading5","heading6"];class JV extends(null&&Plugin){constructor(t){super(t);t.config.define("indentBlock",{offset:40,unit:"px"})}static get pluginName(){return"IndentBlock"}init(){const t=this.editor;const e=t.config.get("indentBlock");if(e.classes&&e.classes.length){this._setupConversionUsingClasses(e.classes);t.commands.add("indentBlock",new IndentBlockCommand(t,new IndentUsingClasses({direction:"forward",classes:e.classes})));t.commands.add("outdentBlock",new IndentBlockCommand(t,new IndentUsingClasses({direction:"backward",classes:e.classes})))}else{t.data.addStyleProcessorRules(addMarginRules);this._setupConversionUsingOffset();t.commands.add("indentBlock",new IndentBlockCommand(t,new IndentUsingOffset({direction:"forward",offset:e.offset,unit:e.unit})));t.commands.add("outdentBlock",new IndentBlockCommand(t,new IndentUsingOffset({direction:"backward",offset:e.offset,unit:e.unit})))}}afterInit(){const t=this.editor;const e=t.model.schema;const n=t.commands.get("indent");const i=t.commands.get("outdent");const o=t.config.get("heading.options");const r=o&&o.map((t=>t.model));const s=r||QV;s.forEach((t=>{if(e.isRegistered(t)){e.extend(t,{allowAttributes:"blockIndent"})}}));e.setAttributeProperties("blockIndent",{isFormatting:true});n.registerChildCommand(t.commands.get("indentBlock"));i.registerChildCommand(t.commands.get("outdentBlock"))}_setupConversionUsingOffset(){const t=this.editor.conversion;const e=this.editor.locale;const n=e.contentLanguageDirection==="rtl"?"margin-right":"margin-left";t.for("upcast").attributeToAttribute({view:{styles:{[n]:/[\s\S]+/}},model:{key:"blockIndent",value:t=>{if(!t.is("element","li")){return t.getStyle(n)}}}});t.for("downcast").attributeToAttribute({model:"blockIndent",view:t=>({key:"style",value:{[n]:t}})})}_setupConversionUsingClasses(t){const e={model:{key:"blockIndent",values:[]},view:{}};for(const n of t){e.model.values.push(n);e.view[n]={key:"class",value:[n]}}this.editor.conversion.attributeToAttribute(e)}}class XV{constructor(){this._definitions=new Set}get length(){return this._definitions.size}add(t){if(Array.isArray(t)){t.forEach((t=>this._definitions.add(t)))}else{this._definitions.add(t)}}getDispatcher(){return t=>{t.on("attribute:linkHref",((t,e,n)=>{if(!n.consumable.test(e.item,"attribute:linkHref")){return}if(!(e.item.is("selection")||n.schema.isInline(e.item))){return}const i=n.writer;const o=i.document.selection;for(const t of this._definitions){const r=i.createAttributeElement("a",t.attributes,{priority:5});if(t.classes){i.addClass(t.classes,r)}for(const e in t.styles){i.setStyle(e,t.styles[e],r)}i.setCustomProperty("link",true,r);if(t.callback(e.attributeNewValue)){if(e.item.is("selection")){i.wrap(o.getFirstRange(),r)}else{i.wrap(n.mapper.toViewRange(e.range),r)}}else{i.unwrap(n.mapper.toViewRange(e.range),r)}}}),{priority:"high"})}}getDispatcherForLinkedImage(){return t=>{t.on("attribute:linkHref:imageBlock",((t,e,{writer:n,mapper:i})=>{const o=i.toViewElement(e.item);const r=Array.from(o.getChildren()).find((t=>t.is("element","a")));for(const t of this._definitions){const i=wl(t.attributes);if(t.callback(e.attributeNewValue)){for(const[t,e]of i){if(t==="class"){n.addClass(e,r)}else{n.setAttribute(t,e,r)}}if(t.classes){n.addClass(t.classes,r)}for(const e in t.styles){n.setStyle(e,t.styles[e],r)}}else{for(const[t,e]of i){if(t==="class"){n.removeClass(e,r)}else{n.removeAttribute(t,r)}}if(t.classes){n.removeClass(t.classes,r)}for(const e in t.styles){n.removeStyle(e,r)}}}}))}}}function tR(t,e,n){var i=t.length;n=n===undefined?i:n;return!e&&n>=i?t:dg(t,e,n)}const eR=tR;var nR="\\ud800-\\udfff",iR="\\u0300-\\u036f",oR="\\ufe20-\\ufe2f",rR="\\u20d0-\\u20ff",sR=iR+oR+rR,aR="\\ufe0e\\ufe0f";var cR="\\u200d";var lR=RegExp("["+cR+nR+sR+aR+"]");function dR(t){return lR.test(t)}const uR=dR;function hR(t){return t.split("")}const gR=hR;var fR="\\ud800-\\udfff",mR="\\u0300-\\u036f",pR="\\ufe20-\\ufe2f",bR="\\u20d0-\\u20ff",kR=mR+pR+bR,wR="\\ufe0e\\ufe0f";var AR="["+fR+"]",CR="["+kR+"]",_R="\\ud83c[\\udffb-\\udfff]",vR="(?:"+CR+"|"+_R+")",yR="[^"+fR+"]",xR="(?:\\ud83c[\\udde6-\\uddff]){2}",ER="[\\ud800-\\udbff][\\udc00-\\udfff]",DR="\\u200d";var TR=vR+"?",IR="["+wR+"]?",SR="(?:"+DR+"(?:"+[yR,xR,ER].join("|")+")"+IR+TR+")*",BR=IR+TR+SR,MR="(?:"+[yR+CR+"?",CR,xR,ER,AR].join("|")+")";var NR=RegExp(_R+"(?="+_R+")|"+MR+BR,"g");function PR(t){return t.match(NR)||[]}const LR=PR;function zR(t){return uR(t)?LR(t):gR(t)}const VR=zR;function RR(t){return function(e){e=Xh(e);var n=uR(e)?VR(e):undefined;var i=n?n[0]:e.charAt(0);var o=n?eR(n,1).join(""):e.slice(1);return i[t]()+o}}const OR=RR;var FR=OR("toUpperCase");const jR=FR;const HR=/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205f\u3000]/g;const UR=/^(?:(?:https?|ftps?|mailto):|[^a-z]|[a-z+.-]+(?:[^a-z+.:-]|$))/i;const WR=/^[\S]+@((?![-_])(?:[-\w\u00a1-\uffff]{0,63}[^-_]\.))+(?:[a-z\u00a1-\uffff]{2,})$/i;const GR=/^((\w+:(\/{2,})?)|(\W))/i;const qR="Ctrl+K";function ZR(t){return t.is("attributeElement")&&!!t.getCustomProperty("link")}function $R(t,{writer:e}){const n=e.createAttributeElement("a",{href:t},{priority:5});e.setCustomProperty("link",true,n);return n}function KR(t){const e=String(t);return YR(e)?e:"#"}function YR(t){const e=t.replace(HR,"");return!!e.match(UR)}function QR(t,e){const n={"Open in a new tab":t("Open in a new tab"),Downloadable:t("Downloadable")};e.forEach((t=>{if("label"in t&&n[t.label]){t.label=n[t.label]}return t}));return e}function JR(t){const e=[];if(t){for(const[n,i]of Object.entries(t)){const t=Object.assign({},i,{id:`link${jR(n)}`});e.push(t)}}return e}function XR(t,e){if(!t){return false}return e.checkAttribute(t.name,"linkHref")}function tO(t){return WR.test(t)}function eO(t,e){const n=tO(t)?"mailto:":e;const i=!!n&&!nO(t);return t&&i?n+t:t}function nO(t){return GR.test(t)}function iO(t){window.open(t,"_blank","noopener")}class oO extends Wu{constructor(){super(...arguments);this.manualDecorators=new fl;this.automaticDecorators=new XV}restoreManualDecoratorStates(){for(const t of this.manualDecorators){t.value=this._getDecoratorStateFromModel(t.id)}}refresh(){const t=this.editor.model;const e=t.document.selection;const n=e.getSelectedElement()||ml(e.getSelectedBlocks());if(XR(n,t.schema)){this.value=n.getAttribute("linkHref");this.isEnabled=t.schema.checkAttribute(n,"linkHref")}else{this.value=e.getAttribute("linkHref");this.isEnabled=t.schema.checkAttributeInSelection(e,"linkHref")}for(const t of this.manualDecorators){t.value=this._getDecoratorStateFromModel(t.id)}}execute(t,e={}){const n=this.editor.model;const i=n.document.selection;const o=[];const r=[];for(const t in e){if(e[t]){o.push(t)}else{r.push(t)}}n.change((e=>{if(i.isCollapsed){const s=i.getFirstPosition();if(i.hasAttribute("linkHref")){const a=rO(i);let c=yS(s,"linkHref",i.getAttribute("linkHref"),n);if(i.getAttribute("linkHref")===a){c=this._updateLinkContent(n,e,c,t)}e.setAttribute("linkHref",t,c);o.forEach((t=>{e.setAttribute(t,true,c)}));r.forEach((t=>{e.removeAttribute(t,c)}));e.setSelection(e.createPositionAfter(c.end.nodeBefore))}else if(t!==""){const r=wl(i.getAttributes());r.set("linkHref",t);o.forEach((t=>{r.set(t,true)}));const{end:a}=n.insertContent(e.createText(t,r),s);e.setSelection(a)}["linkHref",...o,...r].forEach((t=>{e.removeSelectionAttribute(t)}))}else{const s=n.schema.getValidRanges(i.getRanges(),"linkHref");const a=[];for(const t of i.getSelectedBlocks()){if(n.schema.checkAttribute(t,"linkHref")){a.push(e.createRangeOn(t))}}const c=a.slice();for(const t of s){if(this._isRangeToUpdate(t,a)){c.push(t)}}for(const s of c){let a=s;if(c.length===1){const o=rO(i);if(i.getAttribute("linkHref")===o){a=this._updateLinkContent(n,e,s,t);e.setSelection(e.createSelection(a))}}e.setAttribute("linkHref",t,a);o.forEach((t=>{e.setAttribute(t,true,a)}));r.forEach((t=>{e.removeAttribute(t,a)}))}}}))}_getDecoratorStateFromModel(t){const e=this.editor.model;const n=e.document.selection;const i=n.getSelectedElement();if(XR(i,e.schema)){return i.getAttribute(t)}return n.getAttribute(t)}_isRangeToUpdate(t,e){for(const n of e){if(n.containsRange(t)){return false}}return true}_updateLinkContent(t,e,n,i){const o=e.createText(i,{linkHref:i});return t.insertContent(o,n)}}function rO(t){if(t.isCollapsed){const e=t.getFirstPosition();return e.textNode&&e.textNode.data}else{const e=Array.from(t.getFirstRange().getItems());if(e.length>1){return null}const n=e[0];if(n.is("$text")||n.is("$textProxy")){return n.data}return null}}class sO extends Wu{refresh(){const t=this.editor.model;const e=t.document.selection;const n=e.getSelectedElement();if(XR(n,t.schema)){this.isEnabled=t.schema.checkAttribute(n,"linkHref")}else{this.isEnabled=t.schema.checkAttributeInSelection(e,"linkHref")}}execute(){const t=this.editor;const e=this.editor.model;const n=e.document.selection;const i=t.commands.get("link");e.change((t=>{const o=n.isCollapsed?[yS(n.getFirstPosition(),"linkHref",n.getAttribute("linkHref"),e)]:e.schema.getValidRanges(n.getRanges(),"linkHref");for(const e of o){t.removeAttribute("linkHref",e);if(i){for(const n of i.manualDecorators){t.removeAttribute(n.id,e)}}}}))}}class aO extends(gt()){constructor({id:t,label:e,attributes:n,classes:i,styles:o,defaultValue:r}){super();this.id=t;this.set("value",undefined);this.defaultValue=r;this.label=e;this.attributes=n;this.classes=i;this.styles=o}_createPattern(){return{attributes:this.attributes,classes:this.classes,styles:this.styles}}}var cO=n(3925);var lO={injectType:"singletonStyleTag",attributes:{"data-cke":true}};lO.insert="head";lO.singleton=true;var dO=Ll()(cO.Z,lO);const uO=cO.Z.locals||{};const hO="ck-link_selected";const gO="automatic";const fO="manual";const mO=/^(https?:)?\/\//;class pO extends Hu{static get pluginName(){return"LinkEditing"}static get requires(){return[aS,WI,lM]}constructor(t){super(t);t.config.define("link",{allowCreatingEmptyLinks:false,addTargetToExternalLinks:false})}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:"linkHref"});t.conversion.for("dataDowncast").attributeToElement({model:"linkHref",view:$R});t.conversion.for("editingDowncast").attributeToElement({model:"linkHref",view:(t,e)=>$R(KR(t),e)});t.conversion.for("upcast").elementToAttribute({view:{name:"a",attributes:{href:true}},model:{key:"linkHref",value:t=>t.getAttribute("href")}});t.commands.add("link",new oO(t));t.commands.add("unlink",new sO(t));const e=QR(t.t,JR(t.config.get("link.decorators")));this._enableAutomaticDecorators(e.filter((t=>t.mode===gO)));this._enableManualDecorators(e.filter((t=>t.mode===fO)));const n=t.plugins.get(aS);n.registerAttribute("linkHref");ES(t,"linkHref","a",hO);this._enableLinkOpen();this._enableSelectionAttributesFixer();this._enableClipboardIntegration()}_enableAutomaticDecorators(t){const e=this.editor;const n=e.commands.get("link");const i=n.automaticDecorators;if(e.config.get("link.addTargetToExternalLinks")){i.add({id:"linkIsExternal",mode:gO,callback:t=>!!t&&mO.test(t),attributes:{target:"_blank",rel:"noopener noreferrer"}})}i.add(t);if(i.length){e.conversion.for("downcast").add(i.getDispatcher())}}_enableManualDecorators(t){if(!t.length){return}const e=this.editor;const n=e.commands.get("link");const i=n.manualDecorators;t.forEach((t=>{e.model.schema.extend("$text",{allowAttributes:t.id});const n=new aO(t);i.add(n);e.conversion.for("downcast").attributeToElement({model:n.id,view:(t,{writer:e,schema:i},{item:o})=>{if(!(o.is("selection")||i.isInline(o))){return}if(t){const t=e.createAttributeElement("a",n.attributes,{priority:5});if(n.classes){e.addClass(n.classes,t)}for(const i in n.styles){e.setStyle(i,n.styles[i],t)}e.setCustomProperty("link",true,t);return t}}});e.conversion.for("upcast").elementToAttribute({view:{name:"a",...n._createPattern()},model:{key:n.id}})}))}_enableLinkOpen(){const t=this.editor;const e=t.editing.view;const n=e.document;this.listenTo(n,"click",((t,e)=>{const n=l.isMac?e.domEvent.metaKey:e.domEvent.ctrlKey;if(!n){return}let i=e.domTarget;if(i.tagName.toLowerCase()!="a"){i=i.closest("a")}if(!i){return}const o=i.getAttribute("href");if(!o){return}t.stop();e.preventDefault();iO(o)}),{context:"$capture"});this.listenTo(n,"keydown",((e,n)=>{const i=t.commands.get("link");const o=i.value;const r=!!o&&n.keyCode===Zc.enter&&n.altKey;if(!r){return}e.stop();iO(o)}))}_enableSelectionAttributesFixer(){const t=this.editor;const e=t.model;const n=e.document.selection;this.listenTo(n,"change:attribute",((t,{attributeKeys:i})=>{if(!i.includes("linkHref")||n.hasAttribute("linkHref")){return}e.change((t=>{bO(t,kO(e.schema))}))}))}_enableClipboardIntegration(){const t=this.editor;const e=t.model;const n=this.editor.config.get("link.defaultProtocol");if(!n){return}this.listenTo(t.plugins.get("ClipboardPipeline"),"contentInsertion",((t,i)=>{e.change((t=>{const e=t.createRangeIn(i.content);for(const i of e.getItems()){if(i.hasAttribute("linkHref")){const e=eO(i.getAttribute("linkHref"),n);t.setAttribute("linkHref",e,i)}}}))}))}}function bO(t,e){t.removeSelectionAttribute("linkHref");for(const n of e){t.removeSelectionAttribute(n)}}function kO(t){const e=t.getDefinition("$text").allowAttributes;return e.filter((t=>t.startsWith("link")))}var wO=n(4874);var AO={injectType:"singletonStyleTag",attributes:{"data-cke":true}};AO.insert="head";AO.singleton=true;var CO=Ll()(wO.Z,AO);const _O=wO.Z.locals||{};class vO extends Fl{constructor(t,e){super(t);this.focusTracker=new pl;this.keystrokes=new bl;this._focusables=new Ml;const n=t.t;this.urlInputView=this._createUrlInput();this.saveButtonView=this._createButton(n("Save"),_y.check,"ck-button-save");this.saveButtonView.type="submit";this.cancelButtonView=this._createButton(n("Cancel"),_y.cancel,"ck-button-cancel","cancel");this._manualDecoratorSwitches=this._createManualDecoratorSwitches(e);this.children=this._createFormChildren(e.manualDecorators);this._focusCycler=new Pu({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}});const i=["ck","ck-link-form","ck-responsive-form"];if(e.manualDecorators.length){i.push("ck-link-form_layout-vertical","ck-vertical-form")}this.setTemplate({tag:"form",attributes:{class:i,tabindex:"-1"},children:this.children})}getDecoratorSwitchesState(){return Array.from(this._manualDecoratorSwitches).reduce(((t,e)=>{t[e.name]=e.isOn;return t}),{})}render(){super.render();o({view:this});const t=[this.urlInputView,...this._manualDecoratorSwitches,this.saveButtonView,this.cancelButtonView];t.forEach((t=>{this._focusables.add(t);this.focusTracker.add(t.element)}));this.keystrokes.listenTo(this.element)}destroy(){super.destroy();this.focusTracker.destroy();this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}_createUrlInput(){const t=this.locale.t;const e=new du(this.locale,fx);e.label=t("Link URL");return e}_createButton(t,e,n,i){const o=new Dd(this.locale);o.set({label:t,icon:e,tooltip:true});o.extendTemplate({attributes:{class:n}});if(i){o.delegate("execute").to(this,i)}return o}_createManualDecoratorSwitches(t){const e=this.createCollection();for(const n of t.manualDecorators){const i=new Md(this.locale);i.set({name:n.id,label:n.label,withText:true});i.bind("isOn").toMany([n,t],"value",((t,e)=>e===undefined&&t===undefined?!!n.defaultValue:!!t));i.on("execute",(()=>{n.set("value",!i.isOn)}));e.add(i)}return e}_createFormChildren(t){const e=this.createCollection();e.add(this.urlInputView);if(t.length){const t=new Fl;t.setTemplate({tag:"ul",children:this._manualDecoratorSwitches.map((t=>({tag:"li",children:[t],attributes:{class:["ck","ck-list__item"]}}))),attributes:{class:["ck","ck-reset","ck-list"]}});e.add(t)}e.add(this.saveButtonView);e.add(this.cancelButtonView);return e}}var yO=n(7536);var xO={injectType:"singletonStyleTag",attributes:{"data-cke":true}};xO.insert="head";xO.singleton=true;var EO=Ll()(yO.Z,xO);const DO=yO.Z.locals||{};const TO='';class IO extends Fl{constructor(t){super(t);this.focusTracker=new pl;this.keystrokes=new bl;this._focusables=new Ml;const e=t.t;this.previewButtonView=this._createPreviewButton();this.unlinkButtonView=this._createButton(e("Unlink"),TO,"unlink");this.editButtonView=this._createButton(e("Edit link"),_y.pencil,"edit");this.set("href",undefined);this._focusCycler=new Pu({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}});this.setTemplate({tag:"div",attributes:{class:["ck","ck-link-actions","ck-responsive-form"],tabindex:"-1"},children:[this.previewButtonView,this.editButtonView,this.unlinkButtonView]})}render(){super.render();const t=[this.previewButtonView,this.editButtonView,this.unlinkButtonView];t.forEach((t=>{this._focusables.add(t);this.focusTracker.add(t.element)}));this.keystrokes.listenTo(this.element)}destroy(){super.destroy();this.focusTracker.destroy();this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}_createButton(t,e,n){const i=new Dd(this.locale);i.set({label:t,icon:e,tooltip:true});i.delegate("execute").to(this,n);return i}_createPreviewButton(){const t=new Dd(this.locale);const e=this.bindTemplate;const n=this.t;t.set({withText:true,tooltip:n("Open link in new tab")});t.extendTemplate({attributes:{class:["ck","ck-link-actions__preview"],href:e.to("href",(t=>t&&KR(t))),target:"_blank",rel:"noopener noreferrer"}});t.bind("label").to(this,"href",(t=>t||n("This link has no URL")));t.bind("isEnabled").to(this,"href",(t=>!!t));t.template.tag="a";t.template.eventListeners={};return t}}const SO='';const BO="link-ui";class MO extends Hu{constructor(){super(...arguments);this.actionsView=null;this.formView=null}static get requires(){return[vT]}static get pluginName(){return"LinkUI"}init(){const t=this.editor;t.editing.view.addObserver(u_);this._balloon=t.plugins.get(vT);this._createToolbarLinkButton();this._enableBalloonActivators();t.conversion.for("editingDowncast").markerToHighlight({model:BO,view:{classes:["ck-fake-link-selection"]}});t.conversion.for("editingDowncast").markerToElement({model:BO,view:{name:"span",classes:["ck-fake-link-selection","ck-fake-link-selection_collapsed"]}})}destroy(){super.destroy();if(this.formView){this.formView.destroy()}if(this.actionsView){this.actionsView.destroy()}}_createViews(){this.actionsView=this._createActionsView();this.formView=this._createFormView();this._enableUserBalloonInteractions()}_createActionsView(){const t=this.editor;const e=new IO(t.locale);const n=t.commands.get("link");const i=t.commands.get("unlink");e.bind("href").to(n,"value");e.editButtonView.bind("isEnabled").to(n);e.unlinkButtonView.bind("isEnabled").to(i);this.listenTo(e,"edit",(()=>{this._addFormView()}));this.listenTo(e,"unlink",(()=>{t.execute("unlink");this._hideUI()}));e.keystrokes.set("Esc",((t,e)=>{this._hideUI();e()}));e.keystrokes.set(qR,((t,e)=>{this._addFormView();e()}));return e}_createFormView(){const t=this.editor;const n=t.commands.get("link");const i=t.config.get("link.defaultProtocol");const o=t.config.get("link.allowCreatingEmptyLinks");const r=new(e(vO))(t.locale,n);r.urlInputView.fieldView.bind("value").to(n,"value");r.urlInputView.bind("isEnabled").to(n,"isEnabled");r.saveButtonView.bind("isEnabled").to(n,"isEnabled",r.urlInputView,"isEmpty",((t,e)=>t&&(o||!e)));this.listenTo(r,"submit",(()=>{const{value:e}=r.urlInputView.fieldView.element;const n=eO(e,i);t.execute("link",n,r.getDecoratorSwitchesState());this._closeFormView()}));this.listenTo(r,"cancel",(()=>{this._closeFormView()}));r.keystrokes.set("Esc",((t,e)=>{this._closeFormView();e()}));return r}_createToolbarLinkButton(){const t=this.editor;const e=t.commands.get("link");const n=t.t;t.ui.componentFactory.add("link",(t=>{const i=new Dd(t);i.isEnabled=true;i.label=n("Link");i.icon=SO;i.keystroke=qR;i.tooltip=true;i.isToggleable=true;i.bind("isEnabled").to(e,"isEnabled");i.bind("isOn").to(e,"value",(t=>!!t));this.listenTo(i,"execute",(()=>this._showUI(true)));return i}))}_enableBalloonActivators(){const t=this.editor;const e=t.editing.view.document;this.listenTo(e,"click",(()=>{const t=this._getSelectedLinkElement();if(t){this._showUI()}}));t.keystrokes.set(qR,((e,n)=>{n();if(t.commands.get("link").isEnabled){this._showUI(true)}}))}_enableUserBalloonInteractions(){this.editor.keystrokes.set("Tab",((t,e)=>{if(this._areActionsVisible&&!this.actionsView.focusTracker.isFocused){this.actionsView.focus();e()}}),{priority:"high"});this.editor.keystrokes.set("Esc",((t,e)=>{if(this._isUIVisible){this._hideUI();e()}}));t({emitter:this.formView,activator:()=>this._isUIInPanel,contextElements:()=>[this._balloon.view.element],callback:()=>this._hideUI()})}_addActionsView(){if(!this.actionsView){this._createViews()}if(this._areActionsInPanel){return}this._balloon.add({view:this.actionsView,position:this._getBalloonPositionData()})}_addFormView(){if(!this.formView){this._createViews()}if(this._isFormInPanel){return}const t=this.editor;const e=t.commands.get("link");this.formView.disableCssTransitions();this._balloon.add({view:this.formView,position:this._getBalloonPositionData()});this.formView.urlInputView.fieldView.value=e.value||"";if(this._balloon.visibleView===this.formView){this.formView.urlInputView.fieldView.select()}this.formView.enableCssTransitions()}_closeFormView(){const t=this.editor.commands.get("link");t.restoreManualDecoratorStates();if(t.value!==undefined){this._removeFormView()}else{this._hideUI()}}_removeFormView(){if(this._isFormInPanel){this.formView.saveButtonView.focus();this.formView.urlInputView.fieldView.reset();this._balloon.remove(this.formView);this.editor.editing.view.focus();this._hideFakeVisualSelection()}}_showUI(t=false){if(!this.formView){this._createViews()}if(!this._getSelectedLinkElement()){this._showFakeVisualSelection();this._addActionsView();if(t){this._balloon.showStack("main")}this._addFormView()}else{if(this._areActionsVisible){this._addFormView()}else{this._addActionsView()}if(t){this._balloon.showStack("main")}}this._startUpdatingUI()}_hideUI(){if(!this._isUIInPanel){return}const t=this.editor;this.stopListening(t.ui,"update");this.stopListening(this._balloon,"change:visibleView");t.editing.view.focus();this._removeFormView();this._balloon.remove(this.actionsView);this._hideFakeVisualSelection()}_startUpdatingUI(){const t=this.editor;const e=t.editing.view.document;let n=this._getSelectedLinkElement();let i=r();const o=()=>{const t=this._getSelectedLinkElement();const e=r();if(n&&!t||!n&&e!==i){this._hideUI()}else if(this._isUIVisible){this._balloon.updatePosition(this._getBalloonPositionData())}n=t;i=e};function r(){return e.selection.focus.getAncestors().reverse().find((t=>t.is("element")))}this.listenTo(t.ui,"update",o);this.listenTo(this._balloon,"change:visibleView",o)}get _isFormInPanel(){return!!this.formView&&this._balloon.hasView(this.formView)}get _areActionsInPanel(){return!!this.actionsView&&this._balloon.hasView(this.actionsView)}get _areActionsVisible(){return!!this.actionsView&&this._balloon.visibleView===this.actionsView}get _isUIInPanel(){return this._isFormInPanel||this._areActionsInPanel}get _isUIVisible(){const t=this._balloon.visibleView;return!!this.formView&&t==this.formView||this._areActionsVisible}_getBalloonPositionData(){const t=this.editor.editing.view;const e=this.editor.model;const n=t.document;let i;if(e.markers.has(BO)){const e=Array.from(this.editor.editing.mapper.markerNameToElements(BO));const n=t.createRange(t.createPositionBefore(e[0]),t.createPositionAfter(e[e.length-1]));i=t.domConverter.viewRangeToDom(n)}else{i=()=>{const e=this._getSelectedLinkElement();return e?t.domConverter.mapViewToDom(e):t.domConverter.viewRangeToDom(n.selection.getFirstRange())}}return{target:i}}_getSelectedLinkElement(){const t=this.editor.editing.view;const e=t.document.selection;const n=e.getSelectedElement();if(e.isCollapsed||n&&bM(n)){return NO(e.getFirstPosition())}else{const n=e.getFirstRange().getTrimmed();const i=NO(n.start);const o=NO(n.end);if(!i||i!=o){return null}if(t.createRangeIn(i).getTrimmed().isEqual(n)){return i}else{return null}}}_showFakeVisualSelection(){const t=this.editor.model;t.change((e=>{const n=t.document.selection.getFirstRange();if(t.markers.has(BO)){e.updateMarker(BO,{range:n})}else{if(n.start.isAtEnd){const i=n.start.getLastMatchingPosition((({item:e})=>!t.schema.isContent(e)),{boundaries:n});e.addMarker(BO,{usingOperation:false,affectsData:false,range:e.createRange(i,n.end)})}else{e.addMarker(BO,{usingOperation:false,affectsData:false,range:n})}}}))}_hideFakeVisualSelection(){const t=this.editor.model;if(t.markers.has(BO)){t.change((t=>{t.removeMarker(BO)}))}}}function NO(t){return t.getAncestors().find((t=>ZR(t)))||null}const PO=4;const LO=new RegExp("(^|\\s)"+"("+"("+"(?:(?:(?:https?|ftp):)?\\/\\/)"+"(?:\\S+(?::\\S*)?@)?"+"(?:"+"(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])"+"(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}"+"(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))"+"|"+"("+"((?!www\\.)|(www\\.))"+"(?![-_])(?:[-_a-z0-9\\u00a1-\\uffff]{1,63}\\.)+"+"(?:[a-z\\u00a1-\\uffff]{2,63})"+")"+")"+"(?::\\d{2,5})?"+"(?:[/?#]\\S*)?"+")"+"|"+"("+"(www.|(\\S+@))"+"((?![-_])(?:[-_a-z0-9\\u00a1-\\uffff]{1,63}\\.))+"+"(?:[a-z\\u00a1-\\uffff]{2,63})"+")"+")$","i");const zO=2;class VO extends Hu{static get requires(){return[iS,pO]}static get pluginName(){return"AutoLink"}init(){const t=this.editor;const e=t.model.document.selection;e.on("change:range",(()=>{this.isEnabled=!e.anchor.parent.is("element","codeBlock")}));this._enableTypingHandling()}afterInit(){this._enableEnterHandling();this._enableShiftEnterHandling();this._enablePasteLinking()}_expandLinkRange(t,e){if(e.textNode&&e.textNode.hasAttribute("linkHref")){return yS(e,"linkHref",e.textNode.getAttribute("linkHref"),t)}else{return null}}_selectEntireLinks(t,e){const n=this.editor;const i=n.model;const o=i.document.selection;const r=o.getFirstPosition();const s=o.getLastPosition();let a=e.getJoined(this._expandLinkRange(i,r)||e);if(a){a=a.getJoined(this._expandLinkRange(i,s)||e)}if(a&&(a.start.isBefore(r)||a.end.isAfter(s))){t.setSelection(a)}}_enablePasteLinking(){const t=this.editor;const e=t.model;const n=e.document.selection;const i=t.plugins.get("ClipboardPipeline");const o=t.commands.get("link");i.on("inputTransformation",((t,i)=>{if(!this.isEnabled||!o.isEnabled||n.isCollapsed){return}if(n.rangeCount>1){return}const r=n.getFirstRange();const s=i.dataTransfer.getData("text/plain");if(!s){return}const a=s.match(LO);if(a&&a[2]===s){e.change((t=>{this._selectEntireLinks(t,r);o.execute(s)}));t.stop()}}),{priority:"high"})}_enableTypingHandling(){const t=this.editor;const e=new sS(t.model,(t=>{if(!RO(t)){return}const e=OO(t.substr(0,t.length-1));if(e){return{url:e}}}));e.on("matched:data",((e,n)=>{const{batch:i,range:o,url:r}=n;if(!i.isTyping){return}const s=o.end.getShiftedBy(-1);const a=s.getShiftedBy(-r.length);const c=t.model.createRange(a,s);this._applyAutoLink(r,c)}));e.bind("isEnabled").to(this)}_enableEnterHandling(){const t=this.editor;const e=t.model;const n=t.commands.get("enter");if(!n){return}n.on("execute",(()=>{const t=e.document.selection.getFirstPosition();if(!t.parent.previousSibling){return}const n=e.createRangeIn(t.parent.previousSibling);this._checkAndApplyAutoLinkOnRange(n)}))}_enableShiftEnterHandling(){const t=this.editor;const e=t.model;const n=t.commands.get("shiftEnter");if(!n){return}n.on("execute",(()=>{const t=e.document.selection.getFirstPosition();const n=e.createRange(e.createPositionAt(t.parent,0),t.getShiftedBy(-1));this._checkAndApplyAutoLinkOnRange(n)}))}_checkAndApplyAutoLinkOnRange(t){const e=this.editor.model;const{text:n,range:i}=rS(t,e);const o=OO(n);if(o){const t=e.createRange(i.end.getShiftedBy(-o.length),i.end);this._applyAutoLink(o,t)}}_applyAutoLink(t,e){const n=this.editor.model;const i=this.editor.config.get("link.defaultProtocol");const o=eO(t,i);if(!this.isEnabled||!FO(e,n)||!nO(o)||jO(e)){return}this._persistAutoLink(o,e)}_persistAutoLink(t,e){const n=this.editor.model;const i=this.editor.plugins.get("Delete");n.enqueueChange((o=>{o.setAttribute("linkHref",t,e);n.enqueueChange((()=>{i.requestUndoOnBackspace()}))}))}}function RO(t){return t.length>PO&&t[t.length-1]===" "&&t[t.length-2]!==" "}function OO(t){const e=LO.exec(t);return e?e[zO]:null}function FO(t,e){return e.schema.checkAttributeInSelection(e.createSelection(t),"linkHref")}function jO(t){const e=t.start.nodeAfter;return!!e&&e.hasAttribute("linkHref")}class HO extends Hu{static get requires(){return[pO,MO,VO]}static get pluginName(){return"Link"}}class UO extends(null&&Plugin){static get requires(){return["ImageEditing","ImageUtils",LinkEditing]}static get pluginName(){return"LinkImageEditing"}afterInit(){const t=this.editor;const e=t.model.schema;if(t.plugins.has("ImageBlockEditing")){e.extend("imageBlock",{allowAttributes:["linkHref"]})}t.conversion.for("upcast").add(WO(t));t.conversion.for("downcast").add(GO(t));this._enableAutomaticDecorators();this._enableManualDecorators()}_enableAutomaticDecorators(){const t=this.editor;const e=t.commands.get("link");const n=e.automaticDecorators;if(n.length){t.conversion.for("downcast").add(n.getDispatcherForLinkedImage())}}_enableManualDecorators(){const t=this.editor;const e=t.commands.get("link");for(const n of e.manualDecorators){if(t.plugins.has("ImageBlockEditing")){t.model.schema.extend("imageBlock",{allowAttributes:n.id})}if(t.plugins.has("ImageInlineEditing")){t.model.schema.extend("imageInline",{allowAttributes:n.id})}t.conversion.for("downcast").add(qO(n));t.conversion.for("upcast").add(ZO(t,n))}}}function WO(t){const e=t.plugins.has("ImageInlineEditing");const n=t.plugins.get("ImageUtils");return t=>{t.on("element:a",((t,i,o)=>{const r=i.viewItem;const s=n.findViewImgElement(r);if(!s){return}const a=s.findAncestor((t=>n.isBlockImageView(t)));if(e&&!a){return}const c={attributes:["href"]};if(!o.consumable.consume(r,c)){return}const l=r.getAttribute("href");if(!l){return}let d=i.modelCursor.parent;if(!d.is("element","imageBlock")){const t=o.convertItem(s,i.modelCursor);i.modelRange=t.modelRange;i.modelCursor=t.modelCursor;d=i.modelCursor.nodeBefore}if(d&&d.is("element","imageBlock")){o.writer.setAttribute("linkHref",l,d)}}),{priority:"high"})}}function GO(t){const e=t.plugins.get("ImageUtils");return t=>{t.on("attribute:linkHref:imageBlock",((t,n,i)=>{if(!i.consumable.consume(n.item,t.name)){return}const o=i.mapper.toViewElement(n.item);const r=i.writer;const s=Array.from(o.getChildren()).find((t=>t.is("element","a")));const a=e.findViewImgElement(o);const c=a.parent.is("element","picture")?a.parent:a;if(s){if(n.attributeNewValue){r.setAttribute("href",n.attributeNewValue,s)}else{r.move(r.createRangeOn(c),r.createPositionAt(o,0));r.remove(s)}}else{const t=r.createContainerElement("a",{href:n.attributeNewValue});r.insert(r.createPositionAt(o,0),t);r.move(r.createRangeOn(c),r.createPositionAt(t,0))}}),{priority:"high"})}}function qO(t){return e=>{e.on(`attribute:${t.id}:imageBlock`,((e,n,i)=>{const o=i.mapper.toViewElement(n.item);const r=Array.from(o.getChildren()).find((t=>t.is("element","a")));if(!r){return}for(const[e,n]of toMap(t.attributes)){i.writer.setAttribute(e,n,r)}if(t.classes){i.writer.addClass(t.classes,r)}for(const e in t.styles){i.writer.setStyle(e,t.styles[e],r)}}))}}function ZO(t,e){const n=t.plugins.has("ImageInlineEditing");const i=t.plugins.get("ImageUtils");return t=>{t.on("element:a",((t,o,r)=>{const s=o.viewItem;const a=i.findViewImgElement(s);if(!a){return}const c=a.findAncestor((t=>i.isBlockImageView(t)));if(n&&!c){return}const l=new Matcher(e._createPattern());const d=l.match(s);if(!d){return}if(!r.consumable.consume(s,d.match)){return}const u=o.modelCursor.nodeBefore||o.modelCursor.parent;r.writer.setAttribute(e.id,true,u)}),{priority:"high"})}}class $O extends(null&&Plugin){static get requires(){return[LinkEditing,LinkUI,"ImageBlockEditing"]}static get pluginName(){return"LinkImageUI"}init(){const t=this.editor;const e=t.editing.view.document;this.listenTo(e,"click",((e,n)=>{if(this._isSelectedLinkedImage(t.model.document.selection)){n.preventDefault();e.stop()}}),{priority:"high"});this._createToolbarLinkImageButton()}_createToolbarLinkImageButton(){const t=this.editor;const e=t.t;t.ui.componentFactory.add("linkImage",(n=>{const i=new ButtonView(n);const o=t.plugins.get("LinkUI");const r=t.commands.get("link");i.set({isEnabled:true,label:e("Link image"),icon:linkIcon,keystroke:LINK_KEYSTROKE,tooltip:true,isToggleable:true});i.bind("isEnabled").to(r,"isEnabled");i.bind("isOn").to(r,"value",(t=>!!t));this.listenTo(i,"execute",(()=>{if(this._isSelectedLinkedImage(t.model.document.selection)){o._addActionsView()}else{o._showUI(true)}}));return i}))}_isSelectedLinkedImage(t){const e=t.getSelectedElement();const n=this.editor.plugins.get("ImageUtils");return n.isImage(e)&&e.hasAttribute("linkHref")}}var KO=n(4330);var YO={injectType:"singletonStyleTag",attributes:{"data-cke":true}};YO.insert="head";YO.singleton=true;var QO=Ll()(KO.Z,YO);const JO=KO.Z.locals||{};class XO extends(null&&Plugin){static get requires(){return[LinkImageEditing,LinkImageUI]}static get pluginName(){return"LinkImage"}}class tF{constructor(t,e){this._startElement=t;this._referenceIndent=t.getAttribute("listIndent");this._isForward=e.direction=="forward";this._includeSelf=!!e.includeSelf;this._sameAttributes=ol(e.sameAttributes||[]);this._sameIndent=!!e.sameIndent;this._lowerIndent=!!e.lowerIndent;this._higherIndent=!!e.higherIndent}static first(t,e){const n=new this(t,e);const i=n[Symbol.iterator]();return ml(i)}*[Symbol.iterator](){const t=[];for(const{node:e}of eF(this._getStartNode(),this._isForward?"forward":"backward")){const n=e.getAttribute("listIndent");if(nthis._referenceIndent){if(!this._higherIndent){continue}if(!this._isForward){t.push(e);continue}}else{if(!this._sameIndent){if(this._higherIndent){if(t.length){yield*t;t.length=0}break}continue}if(this._sameAttributes.some((t=>e.getAttribute(t)!==this._startElement.getAttribute(t)))){break}}if(t.length){yield*t;t.length=0}yield e}}_getStartNode(){if(this._includeSelf){return this._startElement}return this._isForward?this._startElement.nextSibling:this._startElement.previousSibling}}function*eF(t,e="forward"){const n=e=="forward";const i=[];let o=null;while(oF(t)){let e=null;if(o){const n=t.getAttribute("listIndent");const r=o.getAttribute("listIndent");if(n>r){i[r]=o}else if(nt.getAttribute("listIndent"))));const r=new Map;for(const t of n){r.set(t,tF.first(t,{lowerIndent:true}))}for(const t of n){if(i.has(t)){continue}i.add(t);const n=t.getAttribute("listIndent")-1;if(n<0){bF(t,e);continue}if(t.getAttribute("listIndent")==o){const n=vF(t,r.get(t),e);for(const t of n){i.add(t)}if(n.length){continue}}e.setAttribute("listIndent",n,t)}return AF(i)}function bF(t,e){t=ol(t);for(const n of t){if(n.is("element","listItem")){e.rename(n,"paragraph")}}for(const n of t){for(const t of n.getAttributeKeys()){if(t.startsWith("list")){e.removeAttribute(t,n)}}}return t}function kF(t){if(!t.length){return false}const e=t[0].getAttribute("listItemId");if(!e){return false}return!t.some((t=>t.getAttribute("listItemId")!=e))}function wF(t,e){const n=[];let i=Number.POSITIVE_INFINITY;for(const{node:o}of eF(t.nextSibling,"forward")){const t=o.getAttribute("listIndent");if(t==0){break}if(tt.root.rootName!=="$graveyard")).sort(((t,e)=>t.index-e.index))}function CF(t){const e=t.document.selection.getSelectedElement();if(!e){return null}if(t.schema.isObject(e)&&t.schema.isBlock(e)){return e}return null}function _F(t,e){return e.checkChild(t.parent,"listItem")&&e.checkChild(t,"$text")&&!e.isObject(t)}function vF(t,e,n){const i=sF(e,{direction:"forward"});if(i.pop().index>t.index){return fF(t,e,n)}return[]}class yF extends Wu{constructor(t,e){super(t);this._direction=e}refresh(){this.isEnabled=this._checkEnabled()}execute(){const t=this.editor.model;const e=xF(t.document.selection);t.change((t=>{const n=[];if(kF(e)&&!lF(e[0])){if(this._direction=="forward"){n.push(...mF(e,t))}n.push(...gF(e[0],t))}else{if(this._direction=="forward"){n.push(...mF(e,t,{expand:true}))}else{n.push(...pF(e,t))}}for(const e of n){if(!e.hasAttribute("listType")){continue}const n=tF.first(e,{sameIndent:true});if(n){t.setAttribute("listType",n.getAttribute("listType"),e)}}this._fireAfterExecute(n)}))}_fireAfterExecute(t){this.fire("afterExecute",AF(new Set(t)))}_checkEnabled(){let t=xF(this.editor.model.document.selection);let e=t[0];if(!e){return false}if(this._direction=="backward"){return true}if(kF(t)&&!lF(t[0])){return true}t=uF(t);e=t[0];const n=tF.first(e,{sameIndent:true});if(!n){return false}if(n.getAttribute("listType")==e.getAttribute("listType")){return true}return false}}function xF(t){const e=Array.from(t.getSelectedBlocks());const n=e.findIndex((t=>!oF(t)));if(n!=-1){e.length=n}return e}class EF extends Wu{constructor(t,e){super(t);this.type=e}refresh(){this.value=this._getValue();this.isEnabled=this._checkEnabled()}execute(t={}){const e=this.editor.model;const n=e.document;const i=CF(e);const o=Array.from(n.selection.getSelectedBlocks()).filter((t=>e.schema.checkAttribute(t,"listType")||_F(t,e.schema)));const r=t.forceValue!==undefined?!t.forceValue:this.value;e.change((t=>{if(r){const e=o[o.length-1];const n=sF(e,{direction:"forward"});const i=[];if(n.length>1){i.push(...gF(n[1],t))}i.push(...bF(o,t));i.push(...wF(e,t));this._fireAfterExecute(i)}else if((i||n.selection.isCollapsed)&&oF(o[0])){const e=cF(i||o[0]);for(const n of e){t.setAttribute("listType",this.type,n)}this._fireAfterExecute(e)}else{const n=[];for(const i of o){if(!i.hasAttribute("listType")){if(!i.is("element","listItem")&&_F(i,e.schema)){t.rename(i,"listItem")}t.setAttributes({listIndent:0,listItemId:iF.next(),listType:this.type},i);n.push(i)}else{for(const e of uF(i,{withNested:false})){if(e.getAttribute("listType")!=this.type){t.setAttribute("listType",this.type,e);n.push(e)}}}}this._fireAfterExecute(n)}}))}_fireAfterExecute(t){this.fire("afterExecute",AF(new Set(t)))}_getValue(){const t=this.editor.model.document.selection;const e=Array.from(t.getSelectedBlocks());if(!e.length){return false}for(const t of e){if(t.getAttribute("listType")!=this.type){return false}}return true}_checkEnabled(){const t=this.editor.model;const e=t.schema;const n=t.document.selection;const i=Array.from(n.getSelectedBlocks());if(!i.length){return false}if(this.value){return true}for(const t of i){if(e.checkAttribute(t,"listType")||_F(t,e)){return true}}return false}}class DF extends Wu{constructor(t,e){super(t);this._direction=e}refresh(){this.isEnabled=this._checkEnabled()}execute({shouldMergeOnBlocksContentLevel:t=false}={}){const e=this.editor.model;const n=e.document.selection;const i=[];e.change((o=>{const{firstElement:r,lastElement:s}=this._getMergeSubjectElements(n,t);const a=r.getAttribute("listIndent")||0;const c=s.getAttribute("listIndent");const l=s.getAttribute("listItemId");if(a!=c){const t=aF(s);i.push(...mF([s,...t],o,{indentBy:a-c,expand:a{const e=gF(this._getStartBlock(),t);this._fireAfterExecute(e)}))}_fireAfterExecute(t){this.fire("afterExecute",AF(new Set(t)))}_checkEnabled(){const t=this.editor.model.document.selection;const e=this._getStartBlock();return t.isCollapsed&&oF(e)&&!lF(e)}_getStartBlock(){const t=this.editor.model.document;const e=t.selection.getFirstPosition().parent;return this._direction=="before"?e:e.nextSibling}}class IF extends Hu{static get pluginName(){return"ListUtils"}expandListBlocksToCompleteList(t){return hF(t)}isFirstBlockOfListItem(t){return lF(t)}isListItemBlock(t){return oF(t)}expandListBlocksToCompleteItems(t,e={}){return uF(t,e)}}function SF(t){return t.is("element","ol")||t.is("element","ul")}function BF(t){return t.is("element","li")}function MF(t){let e=0;let n=t.parent;while(n){if(BF(n)){e++}else{const t=n.previousSibling;if(t&&BF(t)){e++}}n=n.parent}return e}function NF(t,e,n,i=zF(n,e)){return t.createAttributeElement(LF(n),null,{priority:2*e/100-100,id:i})}function PF(t,e,n){return t.createAttributeElement("li",null,{priority:(2*e+1)/100-100,id:n})}function LF(t){return t=="numbered"?"ol":"ul"}function zF(t,e){return`list-${t}-${e}`}function VF(t,e){const n=t.nodeBefore;if(!oF(n)){const n=t.nodeAfter;if(oF(n)){e.set(n,n)}}else{let t=n;for(const{node:n}of eF(t,"backward")){t=n;if(e.has(t)){return}}e.set(n,t)}}function RF(t,e){let n=0;let i=-1;let o=null;let r=false;for(const{node:s}of t){const t=s.getAttribute("listIndent");if(t>n){let a;if(o===null){o=t-n;a=n}else{if(o>t){o=t}a=t-o}if(a>i+1){a=i+1}e.setAttribute("listIndent",a,s);r=true;i=a}else{o=null;n=t+1;i=t}}return r}function OF(t,e,n){const i=new Set;let o=false;for(const{node:r}of t){if(i.has(r)){continue}let t=r.getAttribute("listType");let s=r.getAttribute("listItemId");if(e.has(s)){s=iF.next()}e.add(s);if(r.is("element","listItem")){if(r.getAttribute("listItemId")!=s){n.setAttribute("listItemId",s,r);o=true}continue}for(const e of sF(r,{direction:"forward"})){i.add(e);if(e.getAttribute("listType")!=t){s=iF.next();t=e.getAttribute("listType")}if(e.getAttribute("listItemId")!=s){n.setAttribute("listItemId",s,e);o=true}}}return o}function FF(){return(t,e,n)=>{const{writer:i,schema:o}=n;if(!e.modelRange){return}const r=Array.from(e.modelRange.getItems({shallow:true})).filter((t=>o.checkAttribute(t,"listItemId")));if(!r.length){return}const s=iF.next();const a=MF(e.viewItem);let c=e.viewItem.parent&&e.viewItem.parent.is("element","ol")?"numbered":"bulleted";const l=r[0].getAttribute("listType");if(l){c=l}const d={listItemId:s,listIndent:a,listType:c};for(const t of r){if(!t.hasAttribute("listItemId")){i.setAttributes(d,t)}}if(r.length>1){if(r[1].getAttribute("listItemId")!=d.listItemId){n.keepEmptyElement(r[0])}}}}function jF(){return(t,e,n)=>{if(!n.consumable.test(e.viewItem,{name:true})){return}const i=new g_(e.viewItem.document);for(const t of Array.from(e.viewItem.getChildren())){if(!BF(t)&&!SF(t)){i.remove(t)}}}}function HF(t,e,n,i){return()=>{const i=t.document.differ.getChanges();const s=[];const a=new Map;const c=new Set;for(const t of i){if(t.type=="insert"&&t.name!="$text"){VF(t.position,a);if(!t.attributes.has("listItemId")){VF(t.position.getShiftedBy(t.length),a)}else{c.add(t.position.nodeAfter)}}else if(t.type=="remove"&&t.attributes.has("listItemId")){VF(t.position,a)}else if(t.type=="attribute"){const e=t.range.start.nodeAfter;if(n.includes(t.attributeKey)){VF(t.range.start,a);if(t.attributeNewValue===null){VF(t.range.start.getShiftedBy(1),a);if(r(e)){s.push(e)}}else{c.add(e)}}else if(oF(e)){if(r(e)){s.push(e)}}}}for(const t of a.values()){s.push(...o(t,c))}for(const t of new Set(s)){e.reconvertItem(t)}};function o(t,e){const i=[];const o=new Set;const a=[];for(const{node:c,previous:l}of eF(t,"forward")){if(o.has(c)){continue}const t=c.getAttribute("listIndent");if(l&&tn.includes(t))));const d=sF(c,{direction:"forward"});for(const t of d){o.add(t);if(r(t,d)){i.push(t)}else if(s(t,a,e)){i.push(t)}}}return i}function r(t,o){const r=e.mapper.toViewElement(t);if(!r){return false}const s=i.fire("checkElement",{modelElement:t,viewElement:r});if(s){return true}if(!t.is("element","paragraph")&&!t.is("element","listItem")){return false}const a=QF(t,n,o);if(a&&r.is("element","p")){return true}else if(!a&&r.is("element","span")){return true}return false}function s(t,n,o){if(o.has(t)){return false}const r=e.mapper.toViewElement(t);let s=n.length-1;for(let t=r.parent;!t.is("editableElement");t=t.parent){const e=BF(t);const o=SF(t);if(!o&&!e){continue}const r=`checkAttributes:${e?"item":"list"}`;const a=i.fire(r,{viewElement:t,modelAttributes:n[s]});if(a){break}if(o){s--;if(s<0){return false}}}return true}}function UF(t,e,n,{dataPipeline:i}={}){const o=YF(t);return(r,s,a)=>{const{writer:c,mapper:l,consumable:d}=a;const u=s.item;if(!t.includes(s.attributeKey)){return}if(!o(u,d)){return}const h=GF(u,l,n);qF(h,c,l);$F(h,c);const g=ZF(u,h,e,c,{dataPipeline:i});KF(u,g,e,c)}}function WF(t,{dataPipeline:e}={}){return(n,{writer:i})=>{if(!QF(n,t)){return null}if(!e){return i.createContainerElement("span",{class:"ck-list-bogus-paragraph"})}const o=i.createContainerElement("p");i.setCustomProperty("dataPipeline:transparentRendering",true,o);return o}}function GF(t,e,n){const i=n.createRangeOn(t);const o=e.toViewRange(i).getTrimmed();return o.end.nodeBefore}function qF(t,e,n){while(t.parent.is("attributeElement")&&t.parent.getCustomProperty("listItemWrapper")){e.unwrap(e.createRangeIn(t.parent),t.parent)}const i=e.createPositionBefore(t).getWalker({direction:"backward"});const o=[];for(const{item:t}of i){if(t.is("element")&&n.toModelElement(t)){break}if(t.is("element")&&t.getCustomProperty("listItemMarker")){o.push(t)}}for(const t of o){e.remove(t)}}function ZF(t,e,n,i,{dataPipeline:o}){let r=i.createRangeOn(e);if(!lF(t)){return r}for(const s of n){if(s.scope!="itemMarker"){continue}const n=s.createElement(i,t,{dataPipeline:o});if(!n){continue}i.setCustomProperty("listItemMarker",true,n);i.insert(r.start,n);r=i.createRange(i.createPositionBefore(n),i.createPositionAfter(e));if(!s.createWrapperElement||!s.canWrapElement){continue}const a=s.createWrapperElement(i,t,{dataPipeline:o});i.setCustomProperty("listItemWrapper",true,a);if(s.canWrapElement(t)){r=i.wrap(r,a)}else{r=i.wrap(i.createRangeOn(n),a);r=i.createRange(r.start,i.createPositionAfter(e))}}return r}function $F(t,e){let n=t.parent;while(n.is("attributeElement")&&["ul","ol","li"].includes(n.name)){const i=n.parent;e.unwrap(e.createRangeOn(t),n);n=i}}function KF(t,e,n,i){if(!t.hasAttribute("listIndent")){return}const o=t.getAttribute("listIndent");let r=t;for(let t=o;t>=0;t--){const o=PF(i,t,r.getAttribute("listItemId"));const s=NF(i,t,r.getAttribute("listType"));for(const t of n){if((t.scope=="list"||t.scope=="item")&&r.hasAttribute(t.attributeName)){t.setAttributeOnDowncast(i,r.getAttribute(t.attributeName),t.scope=="list"?s:o)}}e=i.wrap(e,o);e=i.wrap(e,s);if(t==0){break}r=tF.first(r,{lowerIndent:true});if(!r){break}}}function YF(t){return(e,n)=>{const i=[];for(const n of t){if(e.hasAttribute(n)){i.push(`attribute:${n}`)}}if(!i.every((t=>n.test(e,t)!==false))){return false}i.forEach((t=>n.consume(e,t)));return true}}function QF(t,e,n=rF(t)){if(!oF(t)){return false}for(const n of t.getAttributeKeys()){if(n.startsWith("selection:")){continue}if(!e.includes(n)){return false}}return n.length<2}var JF=n(3190);var XF={injectType:"singletonStyleTag",attributes:{"data-cke":true}};XF.insert="head";XF.singleton=true;var tj=Ll()(JF.Z,XF);const ej=JF.Z.locals||{};var nj=n(4784);var ij={injectType:"singletonStyleTag",attributes:{"data-cke":true}};ij.insert="head";ij.singleton=true;var oj=Ll()(nj.Z,ij);const rj=nj.Z.locals||{};const sj=["listType","listIndent","listItemId"];class aj extends Hu{static get pluginName(){return"ListEditing"}static get requires(){return[EB,iS,IF,lM]}constructor(t){super(t);this._downcastStrategies=[];t.config.define("list.multiBlock",true)}init(){const t=this.editor;const e=t.model;const n=t.config.get("list.multiBlock");if(t.plugins.has("LegacyListEditing")){throw new P("list-feature-conflict",this,{conflictPlugin:"LegacyListEditing"})}e.schema.register("$listItem",{allowAttributes:sj});if(n){e.schema.extend("$container",{allowAttributesOf:"$listItem"});e.schema.extend("$block",{allowAttributesOf:"$listItem"});e.schema.extend("$blockObject",{allowAttributesOf:"$listItem"})}else{e.schema.register("listItem",{inheritAllFrom:"$block",allowAttributesOf:"$listItem"})}for(const t of sj){e.schema.setAttributeProperties(t,{copyOnReplace:true})}t.commands.add("numberedList",new EF(t,"numbered"));t.commands.add("bulletedList",new EF(t,"bulleted"));t.commands.add("indentList",new yF(t,"forward"));t.commands.add("outdentList",new yF(t,"backward"));t.commands.add("splitListItemBefore",new TF(t,"before"));t.commands.add("splitListItemAfter",new TF(t,"after"));if(n){t.commands.add("mergeListItemBackward",new DF(t,"backward"));t.commands.add("mergeListItemForward",new DF(t,"forward"))}this._setupDeleteIntegration();this._setupEnterIntegration();this._setupTabIntegration();this._setupClipboardIntegration()}afterInit(){const t=this.editor;const e=t.commands;const n=e.get("indent");const i=e.get("outdent");if(n){n.registerChildCommand(e.get("indentList"),{priority:"high"})}if(i){i.registerChildCommand(e.get("outdentList"),{priority:"lowest"})}this._setupModelPostFixing();this._setupConversion()}registerDowncastStrategy(t){this._downcastStrategies.push(t)}getListAttributeNames(){return[...sj,...this._downcastStrategies.map((t=>t.attributeName))]}_setupDeleteIntegration(){const t=this.editor;const e=t.commands.get("mergeListItemBackward");const n=t.commands.get("mergeListItemForward");this.listenTo(t.editing.view.document,"delete",((i,o)=>{const r=t.model.document.selection;if(CF(t.model)){return}t.model.change((()=>{const s=r.getFirstPosition();if(r.isCollapsed&&o.direction=="backward"){if(!s.isAtStart){return}const n=s.parent;if(!oF(n)){return}const r=tF.first(n,{sameAttributes:"listType",sameIndent:true});if(!r&&n.getAttribute("listIndent")===0){if(!dF(n)){t.execute("splitListItemAfter")}t.execute("outdentList")}else{if(!e||!e.isEnabled){return}e.execute({shouldMergeOnBlocksContentLevel:dj(t.model,"backward")})}o.preventDefault();i.stop()}else{if(r.isCollapsed&&!r.getLastPosition().isAtEnd){return}if(!n||!n.isEnabled){return}n.execute({shouldMergeOnBlocksContentLevel:dj(t.model,"forward")});o.preventDefault();i.stop()}}))}),{context:"li"})}_setupEnterIntegration(){const t=this.editor;const e=t.model;const n=t.commands;const i=n.get("enter");this.listenTo(t.editing.view.document,"enter",((n,i)=>{const o=e.document;const r=o.selection.getFirstPosition().parent;if(o.selection.isCollapsed&&oF(r)&&r.isEmpty&&!i.isSoft){const e=lF(r);const o=dF(r);if(e&&o){t.execute("outdentList");i.preventDefault();n.stop()}else if(e&&!o){t.execute("splitListItemAfter");i.preventDefault();n.stop()}else if(o){t.execute("splitListItemBefore");i.preventDefault();n.stop()}}}),{context:"li"});this.listenTo(i,"afterExecute",(()=>{const e=n.get("splitListItemBefore");e.refresh();if(!e.isEnabled){return}const i=t.model.document;const o=i.selection.getLastPosition().parent;const r=rF(o);if(r.length===2){e.execute()}}))}_setupTabIntegration(){const t=this.editor;this.listenTo(t.editing.view.document,"tab",((e,n)=>{const i=n.shiftKey?"outdentList":"indentList";const o=this.editor.commands.get(i);if(o.isEnabled){t.execute(i);n.stopPropagation();n.preventDefault();e.stop()}}),{context:"li"})}_setupConversion(){const t=this.editor;const e=t.model;const n=this.getListAttributeNames();const i=t.config.get("list.multiBlock");const o=i?"paragraph":"listItem";t.conversion.for("upcast").elementToElement({view:"li",model:(t,{writer:e})=>e.createElement(o,{listType:""})}).elementToElement({view:"p",model:(t,{writer:e})=>{if(t.parent&&t.parent.is("element","li")){return e.createElement(o,{listType:""})}return null},converterPriority:"high"}).add((t=>{t.on("element:li",FF());t.on("element:ul",jF(),{priority:"high"});t.on("element:ol",jF(),{priority:"high"})}));if(!i){t.conversion.for("downcast").elementToElement({model:"listItem",view:"p"})}t.conversion.for("editingDowncast").elementToElement({model:o,view:WF(n),converterPriority:"high"}).add((t=>{t.on("attribute",UF(n,this._downcastStrategies,e))}));t.conversion.for("dataDowncast").elementToElement({model:o,view:WF(n,{dataPipeline:true}),converterPriority:"high"}).add((t=>{t.on("attribute",UF(n,this._downcastStrategies,e,{dataPipeline:true}))}));this.listenTo(e.document,"change:data",HF(e,t.editing,n,this),{priority:"high"});this.on("checkAttributes:item",((t,{viewElement:e,modelAttributes:n})=>{if(e.id!=n.listItemId){t.return=true;t.stop()}}));this.on("checkAttributes:list",((t,{viewElement:e,modelAttributes:n})=>{if(e.name!=LF(n.listType)||e.id!=zF(n.listType,n.listIndent)){t.return=true;t.stop()}}))}_setupModelPostFixing(){const t=this.editor.model;const e=this.getListAttributeNames();t.document.registerPostFixer((n=>cj(t,n,e,this)));this.on("postFixer",((t,{listNodes:e,writer:n})=>{t.return=RF(e,n)||t.return}),{priority:"high"});this.on("postFixer",((t,{listNodes:e,writer:n,seenIds:i})=>{t.return=OF(e,i,n)||t.return}),{priority:"high"})}_setupClipboardIntegration(){const t=this.editor.model;const e=this.editor.plugins.get("ClipboardPipeline");this.listenTo(t,"insertContent",lj(t),{priority:"high"});this.listenTo(e,"outputTransformation",((e,n)=>{t.change((t=>{const e=Array.from(n.content.getChildren());const i=e[e.length-1];if(e.length>1&&i.is("element")&&i.isEmpty){const n=e.slice(0,-1);if(n.every(oF)){t.remove(i)}}if(n.method=="copy"||n.method=="cut"){const e=Array.from(n.content.getChildren());const i=kF(e);if(i){bF(e,t)}}}))}))}}function cj(t,e,n,i){const o=t.document.differ.getChanges();const r=new Map;const s=i.editor.config.get("list.multiBlock");let a=false;for(const i of o){if(i.type=="insert"&&i.name!="$text"){const o=i.position.nodeAfter;if(!t.schema.checkAttribute(o,"listItemId")){for(const t of Array.from(o.getAttributeKeys())){if(n.includes(t)){e.removeAttribute(t,o);a=true}}}VF(i.position,r);if(!i.attributes.has("listItemId")){VF(i.position.getShiftedBy(i.length),r)}for(const{item:e,previousPosition:n}of t.createRangeIn(o)){if(oF(e)){VF(n,r)}}}else if(i.type=="remove"){VF(i.position,r)}else if(i.type=="attribute"&&n.includes(i.attributeKey)){VF(i.range.start,r);if(i.attributeNewValue===null){VF(i.range.start.getShiftedBy(1),r)}}if(!s&&i.type=="attribute"&&sj.includes(i.attributeKey)){const t=i.range.start.nodeAfter;if(i.attributeNewValue===null&&t&&t.is("element","listItem")){e.rename(t,"paragraph");a=true}else if(i.attributeOldValue===null&&t&&t.is("element")&&t.name!="listItem"){e.rename(t,"listItem");a=true}}}const c=new Set;for(const t of r.values()){a=i.fire("postFixer",{listNodes:new nF(t),listHead:t,writer:e,seenIds:c})||a}return a}function lj(t){return(e,[n,i])=>{const o=n.is("documentFragment")?Array.from(n.getChildren()):[n];if(!o.length){return}const r=i?t.createSelection(i):t.document.selection;const s=r.getFirstPosition();let a;if(oF(s.parent)){a=s.parent}else if(oF(s.nodeBefore)){a=s.nodeBefore}else{return}t.change((t=>{const e=a.getAttribute("listType");const n=a.getAttribute("listIndent");const i=o[0].getAttribute("listIndent")||0;const r=Math.max(n-i,0);for(const n of o){const i=oF(n);if(a.is("element","listItem")&&n.is("element","paragraph")){t.rename(n,"listItem")}t.setAttributes({listIndent:(i?n.getAttribute("listIndent"):0)+r,listItemId:i?n.getAttribute("listItemId"):iF.next(),listType:e},n)}}))}}function dj(t,e){const n=t.document.selection;if(!n.isCollapsed){return!CF(t)}if(e==="forward"){return true}const i=n.getFirstPosition();const o=i.parent;const r=o.previousSibling;if(t.schema.isObject(r)){return false}if(r.isEmpty){return true}return kF([o,r])}function uj(t,e,n,i){t.ui.componentFactory.add(e,(o=>{const r=t.commands.get(e);const s=new Dd(o);s.set({label:n,icon:i,tooltip:true,isToggleable:true});s.bind("isOn","isEnabled").to(r,"value","isEnabled");s.on("execute",(()=>{t.execute(e);t.editing.view.focus()}));return s}))}class hj extends Hu{static get pluginName(){return"ListUI"}init(){const t=this.editor.t;uj(this.editor,"numberedList",t("Numbered List"),_y.numberedList);uj(this.editor,"bulletedList",t("Bulleted List"),_y.bulletedList)}}class gj extends Hu{static get requires(){return[aj,hj]}static get pluginName(){return"List"}}class fj extends(null&&Command){refresh(){const t=this._getValue();this.value=t;this.isEnabled=t!=null}execute({startIndex:t=1}={}){const e=this.editor.model;const n=e.document;let i=Array.from(n.selection.getSelectedBlocks()).filter((t=>isListItemBlock(t)&&t.getAttribute("listType")=="numbered"));i=expandListBlocksToCompleteList(i);e.change((e=>{for(const n of i){e.setAttribute("listStart",t>=0?t:1,n)}}))}_getValue(){const t=this.editor.model;const e=t.document;const n=first(e.selection.getSelectedBlocks());if(n&&isListItemBlock(n)&&n.getAttribute("listType")=="numbered"){return n.getAttribute("listStart")}return null}}const mj={};const pj={};const bj={};const kj=[{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:n}of kj){mj[t]=n;pj[t]=e;if(e){bj[e]=t}}function wj(){return kj.map((t=>t.listStyle))}function Aj(t){return mj[t]||null}function Cj(t){return bj[t]||null}function _j(t){return pj[t]||null}class vj extends(null&&Command){constructor(t,e,n){super(t);this.defaultType=e;this._supportedTypes=n}refresh(){this.value=this._getValue();this.isEnabled=this._checkEnabled()}execute(t={}){const e=this.editor.model;const n=e.document;e.change((e=>{this._tryToConvertItemsToList(t);let i=Array.from(n.selection.getSelectedBlocks()).filter((t=>t.hasAttribute("listType")));if(!i.length){return}i=expandListBlocksToCompleteList(i);for(const n of i){e.setAttribute("listStyle",t.type||this.defaultType,n)}}))}isStyleTypeSupported(t){if(!this._supportedTypes){return true}return this._supportedTypes.includes(t)}_getValue(){const t=first(this.editor.model.document.selection.getSelectedBlocks());if(isListItemBlock(t)){return t.getAttribute("listStyle")}return null}_checkEnabled(){const t=this.editor;const e=t.commands.get("numberedList");const n=t.commands.get("bulletedList");return e.isEnabled||n.isEnabled}_tryToConvertItemsToList(t){if(!t.type){return}const e=getListTypeFromListStyleType(t.type);if(!e){return}const n=this.editor;const i=`${e}List`;const o=n.commands.get(i);if(!o.value){n.execute(i)}}}class yj extends(null&&Command){refresh(){const t=this._getValue();this.value=t;this.isEnabled=t!=null}execute(t={}){const e=this.editor.model;const n=e.document;let i=Array.from(n.selection.getSelectedBlocks()).filter((t=>isListItemBlock(t)&&t.getAttribute("listType")=="numbered"));i=expandListBlocksToCompleteList(i);e.change((e=>{for(const n of i){e.setAttribute("listReversed",!!t.reversed,n)}}))}_getValue(){const t=this.editor.model;const e=t.document;const n=first(e.selection.getSelectedBlocks());if(isListItemBlock(n)&&n.getAttribute("listType")=="numbered"){return n.getAttribute("listReversed")}return null}}class xj extends(null&&Plugin){static get pluginName(){return"ListPropertiesUtils"}getAllSupportedStyleTypes(){return getAllSupportedStyleTypes()}getListTypeFromListStyleType(t){return getListTypeFromListStyleType(t)}getListStyleTypeFromTypeAttribute(t){return getListStyleTypeFromTypeAttribute(t)}getTypeAttributeFromListStyleType(t){return getTypeAttributeFromListStyleType(t)}}const Ej="default";class Dj extends(null&&Plugin){static get requires(){return[ListEditing,ListPropertiesUtils]}static get pluginName(){return"ListPropertiesEditing"}constructor(t){super(t);t.config.define("list.properties",{styles:true,startIndex:false,reversed:false})}init(){const t=this.editor;const e=t.model;const n=t.plugins.get(ListEditing);const i=t.config.get("list.properties");const o=Tj(i);for(const i of o){i.addCommand(t);e.schema.extend("$listItem",{allowAttributes:i.attributeName});n.registerDowncastStrategy({scope:"list",attributeName:i.attributeName,setAttributeOnDowncast(t,e,n){i.setAttributeOnDowncast(t,e,n)}})}t.conversion.for("upcast").add((t=>{for(const e of o){t.on("element:ol",listPropertiesUpcastConverter(e));t.on("element:ul",listPropertiesUpcastConverter(e))}}));n.on("checkAttributes:list",((t,{viewElement:e,modelAttributes:n})=>{for(const i of o){if(i.getAttributeOnUpcast(e)!=n[i.attributeName]){t.return=true;t.stop()}}}));this.listenTo(t.commands.get("indentList"),"afterExecute",((t,n)=>{e.change((t=>{for(const e of n){for(const n of o){if(n.appliesToListItem(e)){t.setAttribute(n.attributeName,n.defaultValue,e)}}}}))}));n.on("postFixer",((t,{listNodes:e,writer:n})=>{for(const{node:i}of e){for(const e of o){if(e.hasValidAttribute(i)){continue}if(e.appliesToListItem(i)){n.setAttribute(e.attributeName,e.defaultValue,i)}else{n.removeAttribute(e.attributeName,i)}t.return=true}}}));n.on("postFixer",((t,{listNodes:e,writer:n})=>{for(const{node:i,previousNodeInList:r}of e){if(!r){continue}if(r.getAttribute("listType")!=i.getAttribute("listType")){continue}for(const e of o){const{attributeName:o}=e;if(!e.appliesToListItem(i)){continue}const s=r.getAttribute(o);if(i.getAttribute(o)!=s){n.setAttribute(o,s,i);t.return=true}}}}))}}function Tj(t){const e=[];if(t.styles){const n=typeof t.styles=="object"&&t.styles.useAttribute;e.push({attributeName:"listStyle",defaultValue:Ej,viewConsumables:{styles:"list-style-type"},addCommand(t){let e=getAllSupportedStyleTypes();if(n){e=e.filter((t=>!!getTypeAttributeFromListStyleType(t)))}t.commands.add("listStyle",new ListStyleCommand(t,Ej,e))},appliesToListItem(t){return t.getAttribute("listType")=="numbered"||t.getAttribute("listType")=="bulleted"},hasValidAttribute(t){if(!this.appliesToListItem(t)){return!t.hasAttribute("listStyle")}if(!t.hasAttribute("listStyle")){return false}const e=t.getAttribute("listStyle");if(e==Ej){return true}return getListTypeFromListStyleType(e)==t.getAttribute("listType")},setAttributeOnDowncast(t,e,i){if(e&&e!==Ej){if(n){const n=getTypeAttributeFromListStyleType(e);if(n){t.setAttribute("type",n,i);return}}else{t.setStyle("list-style-type",e,i);return}}t.removeStyle("list-style-type",i);t.removeAttribute("type",i)},getAttributeOnUpcast(t){const e=t.getStyle("list-style-type");if(e){return e}const n=t.getAttribute("type");if(n){return getListStyleTypeFromTypeAttribute(n)}return Ej}})}if(t.reversed){e.push({attributeName:"listReversed",defaultValue:false,viewConsumables:{attributes:"reversed"},addCommand(t){t.commands.add("listReversed",new ListReversedCommand(t))},appliesToListItem(t){return t.getAttribute("listType")=="numbered"},hasValidAttribute(t){return this.appliesToListItem(t)==t.hasAttribute("listReversed")},setAttributeOnDowncast(t,e,n){if(e){t.setAttribute("reversed","reversed",n)}else{t.removeAttribute("reversed",n)}},getAttributeOnUpcast(t){return t.hasAttribute("reversed")}})}if(t.startIndex){e.push({attributeName:"listStart",defaultValue:1,viewConsumables:{attributes:"start"},addCommand(t){t.commands.add("listStart",new ListStartCommand(t))},appliesToListItem(t){return t.getAttribute("listType")=="numbered"},hasValidAttribute(t){return this.appliesToListItem(t)==t.hasAttribute("listStart")},setAttributeOnDowncast(t,e,n){if(e==0||e>1){t.setAttribute("start",e,n)}else{t.removeAttribute("start",n)}},getAttributeOnUpcast(t){const e=t.getAttribute("start");return e>=0?e:1}})}return e}var Ij=n(9938);var Sj={injectType:"singletonStyleTag",attributes:{"data-cke":true}};Sj.insert="head";Sj.singleton=true;var Bj=Ll()(Ij.Z,Sj);const Mj=Ij.Z.locals||{};class Nj extends(null&&View){constructor(t,{enabledProperties:e,styleButtonViews:n,styleGridAriaLabel:i}){super(t);this.stylesView=null;this.additionalPropertiesCollapsibleView=null;this.startIndexFieldView=null;this.reversedSwitchButtonView=null;this.focusTracker=new FocusTracker;this.keystrokes=new KeystrokeHandler;this.focusables=new ViewCollection;const o=["ck","ck-list-properties"];this.children=this.createCollection();this.focusCycler=new FocusCycler({focusables:this.focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}});if(e.styles){this.stylesView=this._createStylesView(n,i);this.children.add(this.stylesView)}else{o.push("ck-list-properties_without-styles")}if(e.startIndex||e.reversed){this._addNumberedListPropertyViews(e);o.push("ck-list-properties_with-numbered-properties")}this.setTemplate({tag:"div",attributes:{class:o},children:this.children})}render(){super.render();if(this.stylesView){this.focusables.add(this.stylesView);this.focusTracker.add(this.stylesView.element);if(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)}addKeyboardHandlingForGrid({keystrokeHandler:this.stylesView.keystrokes,focusTracker:this.stylesView.focusTracker,gridItems:this.stylesView.children,numberOfColumns:()=>global.window.getComputedStyle(this.stylesView.element).getPropertyValue("grid-template-columns").split(" ").length,uiLanguageDirection:this.locale&&this.locale.uiLanguageDirection})}if(this.startIndexFieldView){this.focusables.add(this.startIndexFieldView);this.focusTracker.add(this.startIndexFieldView.element);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)}if(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 n=new View(this.locale);n.children=n.createCollection();n.children.addMany(t);n.setTemplate({tag:"div",attributes:{"aria-label":e,class:["ck","ck-list-styles-list"]},children:n.children});n.children.delegate("execute").to(this);n.focus=function(){this.children.first.focus()};n.focusTracker=new FocusTracker;n.keystrokes=new KeystrokeHandler;n.render();n.keystrokes.listenTo(n.element);return n}_addNumberedListPropertyViews(t){const e=this.locale.t;const n=[];if(t.startIndex){this.startIndexFieldView=this._createStartIndexField();n.push(this.startIndexFieldView)}if(t.reversed){this.reversedSwitchButtonView=this._createReversedSwitchButton();n.push(this.reversedSwitchButtonView)}if(t.styles){this.additionalPropertiesCollapsibleView=new CollapsibleView(this.locale,n);this.additionalPropertiesCollapsibleView.set({label:e("List properties"),isCollapsed:true});this.additionalPropertiesCollapsibleView.buttonView.bind("isEnabled").toMany(n,"isEnabled",((...t)=>t.some((t=>t))));this.additionalPropertiesCollapsibleView.buttonView.on("change:isEnabled",((t,e,n)=>{if(!n){this.additionalPropertiesCollapsibleView.isCollapsed=true}}));this.children.add(this.additionalPropertiesCollapsibleView)}else{this.children.addMany(n)}}_createStartIndexField(){const t=this.locale.t;const e=new LabeledFieldView(this.locale,createLabeledInputNumber);e.set({label:t("Start at"),class:"ck-numbered-list-properties__start-index"});e.fieldView.set({min:0,step:1,value:1,inputMode:"numeric"});e.fieldView.on("input",(()=>{const n=e.fieldView.element;const i=n.valueAsNumber;if(Number.isNaN(i)){return}if(!n.checkValidity()){e.errorText=t("Start index must be greater than 0.")}else{this.fire("listStart",{startIndex:i})}}));return e}_createReversedSwitchButton(){const t=this.locale.t;const e=new SwitchButtonView(this.locale);e.set({withText:true,label:t("Reversed order"),class:"ck-numbered-list-properties__reversed-order"});e.delegate("execute").to(this,"listReversed");return e}}var Pj=n(2591);var Lj={injectType:"singletonStyleTag",attributes:{"data-cke":true}};Lj.insert="head";Lj.singleton=true;var zj=Ll()(Pj.Z,Lj);const Vj=Pj.Z.locals||{};class Rj extends(null&&Plugin){static get pluginName(){return"ListPropertiesUI"}init(){const t=this.editor;const e=t.locale.t;const n=t.config.get("list.properties");if(n.styles){t.ui.componentFactory.add("bulletedList",Oj({editor:t,parentCommandName:"bulletedList",buttonLabel:e("Bulleted List"),buttonIcon:icons.bulletedList,styleGridAriaLabel:e("Bulleted list styles toolbar"),styleDefinitions:[{label:e("Toggle the disc list style"),tooltip:e("Disc"),type:"disc",icon:listStyleDiscIcon},{label:e("Toggle the circle list style"),tooltip:e("Circle"),type:"circle",icon:listStyleCircleIcon},{label:e("Toggle the square list style"),tooltip:e("Square"),type:"square",icon:listStyleSquareIcon}]}))}if(n.styles||n.startIndex||n.reversed){t.ui.componentFactory.add("numberedList",Oj({editor:t,parentCommandName:"numberedList",buttonLabel:e("Numbered List"),buttonIcon:icons.numberedList,styleGridAriaLabel:e("Numbered list styles toolbar"),styleDefinitions:[{label:e("Toggle the decimal list style"),tooltip:e("Decimal"),type:"decimal",icon:listStyleDecimalIcon},{label:e("Toggle the decimal with leading zero list style"),tooltip:e("Decimal with leading zero"),type:"decimal-leading-zero",icon:listStyleDecimalWithLeadingZeroIcon},{label:e("Toggle the lower–roman list style"),tooltip:e("Lower–roman"),type:"lower-roman",icon:listStyleLowerRomanIcon},{label:e("Toggle the upper–roman list style"),tooltip:e("Upper-roman"),type:"upper-roman",icon:listStyleUpperRomanIcon},{label:e("Toggle the lower–latin list style"),tooltip:e("Lower-latin"),type:"lower-latin",icon:listStyleLowerLatinIcon},{label:e("Toggle the upper–latin list style"),tooltip:e("Upper-latin"),type:"upper-latin",icon:listStyleUpperLatinIcon}]}))}}}function Oj({editor:t,parentCommandName:e,buttonLabel:n,buttonIcon:i,styleGridAriaLabel:o,styleDefinitions:r}){const s=t.commands.get(e);return a=>{const c=createDropdown(a,SplitButtonView);const l=c.buttonView;c.bind("isEnabled").to(s);c.class="ck-list-styles-dropdown";l.on("execute",(()=>{t.execute(e);t.editing.view.focus()}));l.set({label:n,icon:i,tooltip:true,isToggleable:true});l.bind("isOn").to(s,"value",(t=>!!t));c.once("change:isOpen",(()=>{const n=jj({editor:t,dropdownView:c,parentCommandName:e,styleGridAriaLabel:o,styleDefinitions:r});c.panelView.children.add(n)}));c.on("execute",(()=>{t.editing.view.focus()}));return c}}function Fj({editor:t,listStyleCommand:e,parentCommandName:n}){const i=t.locale;const o=t.commands.get(n);return({label:n,type:r,icon:s,tooltip:a})=>{const c=new ButtonView(i);c.set({label:n,icon:s,tooltip:a});e.on("change:value",(()=>{c.isOn=e.value===r}));c.on("execute",(()=>{if(o.value){if(e.value!==r){t.execute("listStyle",{type:r})}else{t.execute("listStyle",{type:e.defaultType})}}else{t.model.change((()=>{t.execute("listStyle",{type:r})}))}}));return c}}function jj({editor:t,dropdownView:e,parentCommandName:n,styleDefinitions:i,styleGridAriaLabel:o}){const r=t.locale;const s=t.config.get("list.properties");let a=null;if(n!="numberedList"){s.startIndex=false;s.reversed=false}if(s.styles){const e=t.commands.get("listStyle");const o=Fj({editor:t,parentCommandName:n,listStyleCommand:e});const r=typeof e.isStyleTypeSupported=="function"?t=>e.isStyleTypeSupported(t.type):()=>true;a=i.filter(r).map(o)}const c=new ListPropertiesView(r,{styleGridAriaLabel:o,enabledProperties:s,styleButtonViews:a});if(s.styles){focusChildOnDropdownOpen(e,(()=>c.stylesView.children.find((t=>t.isOn))))}if(s.startIndex){const e=t.commands.get("listStart");c.startIndexFieldView.bind("isEnabled").to(e);c.startIndexFieldView.fieldView.bind("value").to(e);c.on("listStart",((e,n)=>t.execute("listStart",n)))}if(s.reversed){const e=t.commands.get("listReversed");c.reversedSwitchButtonView.bind("isEnabled").to(e);c.reversedSwitchButtonView.bind("isOn").to(e,"value",(t=>!!t));c.on("listReversed",(()=>{const n=e.value;t.execute("listReversed",{reversed:!n})}))}c.delegate("execute").to(e);return c}class Hj extends(null&&Plugin){static get requires(){return[ListPropertiesEditing,ListPropertiesUI]}static get pluginName(){return"ListProperties"}}class Uj extends(null&&Command){constructor(t){super(t);this.on("execute",(()=>{this.refresh()}),{priority:"highest"})}refresh(){const t=this._getSelectedItems();this.value=this._getValue(t);this.isEnabled=!!t.length}execute(t={}){this.editor.model.change((e=>{const n=this._getSelectedItems();const i=t.forceValue===undefined?!this._getValue(n):t.forceValue;for(const t of n){if(i){e.setAttribute("todoListChecked",true,t)}else{e.removeAttribute("todoListChecked",t)}}}))}_getValue(t){return t.every((t=>t.getAttribute("todoListChecked")))}_getSelectedItems(){const t=this.editor.model;const e=t.schema;const n=t.document.selection.getFirstRange();const i=n.start.parent;const o=[];if(e.checkAttribute(i,"todoListChecked")){o.push(...getAllListItemBlocks(i))}for(const t of n.getItems({shallow:true})){if(e.checkAttribute(t,"todoListChecked")&&!o.includes(t)){o.push(...getAllListItemBlocks(t))}}return o}}class Wj extends(null&&DomEventObserver){constructor(){super(...arguments);this.domEventType=["change"]}onDomEvent(t){if(t.target){const e=this.view.domConverter.mapDomToView(t.target);if(e&&e.is("element","input")&&e.getAttribute("type")=="checkbox"&&e.findAncestor({classes:"todo-list__label"})){this.fire("todoCheckboxChange",t)}}}}const Gj=Yc("Ctrl+Enter");class qj extends(null&&Plugin){static get pluginName(){return"TodoListEditing"}static get requires(){return[ListEditing]}init(){const t=this.editor;const e=t.model;const n=t.editing;const i=t.plugins.get(ListEditing);const o=t.config.get("list.multiBlock");const r=o?"paragraph":"listItem";t.commands.add("todoList",new ListCommand(t,"todo"));t.commands.add("checkTodoList",new CheckTodoListCommand(t));n.view.addObserver(TodoCheckboxChangeObserver);e.schema.extend("$listItem",{allowAttributes:"todoListChecked"});e.schema.addAttributeCheck(((t,e)=>{const n=t.last;if(e!="todoListChecked"){return}if(!n.getAttribute("listItemId")||n.getAttribute("listType")!="todo"){return false}}));t.conversion.for("upcast").add((t=>{t.on("element:input",Zj());t.on("element:label",$j({name:"label",classes:"todo-list__label"}));t.on("element:label",$j({name:"label",classes:["todo-list__label","todo-list__label_without-description"]}));t.on("element:span",$j({name:"span",classes:"todo-list__label__description"}));t.on("element:ul",Kj({name:"ul",classes:"todo-list"}))}));t.conversion.for("downcast").elementToElement({model:r,view:(t,{writer:e})=>{if(Yj(t,i.getListAttributeNames())){return e.createContainerElement("span",{class:"todo-list__label__description"})}},converterPriority:"highest"});i.registerDowncastStrategy({scope:"list",attributeName:"listType",setAttributeOnDowncast(t,e,n){if(e=="todo"){t.addClass("todo-list",n)}else{t.removeClass("todo-list",n)}}});i.registerDowncastStrategy({scope:"itemMarker",attributeName:"todoListChecked",createElement(t,e,{dataPipeline:n}){if(e.getAttribute("listType")!="todo"){return null}const i=t.createEmptyElement("input",{type:"checkbox",...e.getAttribute("todoListChecked")?{checked:"checked"}:null,...n?{disabled:"disabled"}:{tabindex:"-1"}});if(n){return i}return t.createContainerElement("span",{contenteditable:"false"},i)},canWrapElement(t){return Yj(t,i.getListAttributeNames())},createWrapperElement(t,e,{dataPipeline:n}){const o=["todo-list__label"];if(!Yj(e,i.getListAttributeNames())){o.push("todo-list__label_without-description")}return t.createAttributeElement(n?"label":"span",{class:o.join(" ")})}});n.mapper.registerViewToModelLength("input",(t=>{if(t.getAttribute("type")=="checkbox"&&t.findAncestor({classes:"todo-list__label"})){return 0}return n.mapper.toModelElement(t)?1:0}));i.on("checkElement",((t,{modelElement:e,viewElement:n})=>{const o=Yj(e,i.getListAttributeNames());const r=n.hasClass("todo-list__label__description");if(r!=o){t.return=true;t.stop()}}));i.on("checkElement",((e,{modelElement:n,viewElement:i})=>{const o=n.getAttribute("listType")=="todo"&&isFirstBlockOfListItem(n);let r=false;const s=t.editing.view.createPositionBefore(i).getWalker({direction:"backward"});for(const{item:e}of s){if(e.is("element")&&t.editing.mapper.toModelElement(e)){break}if(e.is("element","input")&&e.getAttribute("type")=="checkbox"){r=true}}if(r!=o){e.return=true;e.stop()}}));i.on("postFixer",((t,{listNodes:e,writer:n})=>{for(const{node:i,previousNodeInList:o}of e){if(!o){continue}if(o.getAttribute("listItemId")!=i.getAttribute("listItemId")){continue}const e=o.hasAttribute("todoListChecked");const r=i.hasAttribute("todoListChecked");if(r&&!e){n.removeAttribute("todoListChecked",i);t.return=true}else if(!r&&e){n.setAttribute("todoListChecked",true,i);t.return=true}}}));e.document.registerPostFixer((t=>{const n=e.document.differ.getChanges();let i=false;for(const e of n){if(e.type=="attribute"&&e.attributeKey=="listType"){const n=e.range.start.nodeAfter;if(e.attributeOldValue=="todo"&&n.hasAttribute("todoListChecked")){t.removeAttribute("todoListChecked",n);i=true}}else if(e.type=="insert"&&e.name!="$text"){for(const{item:n}of t.createRangeOn(e.position.nodeAfter)){if(n.is("element")&&n.getAttribute("listType")!="todo"&&n.hasAttribute("todoListChecked")){t.removeAttribute("todoListChecked",n);i=true}}}}return i}));this.listenTo(n.view.document,"keydown",((e,n)=>{if(getCode(n)===Gj){t.execute("checkTodoList");e.stop()}}),{priority:"high"});this.listenTo(n.view.document,"todoCheckboxChange",((t,e)=>{const i=e.target;if(!i||!i.is("element","input")){return}const o=n.view.createPositionAfter(i);const r=n.mapper.toModelPosition(o);const s=r.parent;if(s&&isListItemBlock(s)&&s.getAttribute("listType")=="todo"){this._handleCheckmarkChange(s)}}));this.listenTo(n.view.document,"arrowKey",Jj(e,t.locale),{context:"$text"});this.listenTo(n.mapper,"viewToModelPosition",((t,n)=>{const i=n.viewPosition.parent;const o=i.is("attributeElement","li")&&n.viewPosition.offset==0;const r=Xj(i)&&n.viewPosition.offset<=1;const s=i.is("element","span")&&i.getAttribute("contenteditable")=="false"&&Xj(i.parent);if(!o&&!r&&!s){return}const a=n.modelPosition.nodeAfter;if(a&&a.getAttribute("listType")=="todo"){n.modelPosition=e.createPositionAt(a,0)}}),{priority:"low"})}_handleCheckmarkChange(t){const e=this.editor;const n=e.model;const i=Array.from(n.document.selection.getRanges());n.change((n=>{n.setSelection(t,"end");e.execute("checkTodoList");n.setSelection(i)}))}}function Zj(){return(t,e,n)=>{const i=e.modelCursor;const o=i.parent;const r=e.viewItem;if(!n.consumable.test(r,{name:true})){return}if(r.getAttribute("type")!="checkbox"||!i.isAtStart||!o.hasAttribute("listType")){return}n.consumable.consume(r,{name:true});const s=n.writer;s.setAttribute("listType","todo",o);if(e.viewItem.hasAttribute("checked")){s.setAttribute("todoListChecked",true,o)}e.modelRange=s.createRange(i)}}function $j(t){const e=new Matcher(t);return(t,n,i)=>{const o=e.match(n.viewItem);if(!o){return}if(!i.consumable.consume(n.viewItem,o.match)){return}Object.assign(n,i.convertChildren(n.viewItem,n.modelCursor))}}function Kj(t){const e=new Matcher(t);return(t,n,i)=>{const o=e.match(n.viewItem);if(!o){return}const r=o.match;r.name=false;i.consumable.consume(n.viewItem,r)}}function Yj(t,e){return(t.is("element","paragraph")||t.is("element","listItem"))&&t.getAttribute("listType")=="todo"&&isFirstBlockOfListItem(t)&&Qj(t,e)}function Qj(t,e){for(const n of t.getAttributeKeys()){if(n.startsWith("selection:")){continue}if(!e.includes(n)){return false}}return true}function Jj(t,e){return(n,i)=>{const o=getLocalizedArrowKeyCodeDirection(i.keyCode,e.contentLanguageDirection);const r=t.schema;const s=t.document.selection;if(!s.isCollapsed){return}const a=s.getFirstPosition();const c=a.parent;if(o=="right"&&a.isAtEnd){const e=r.getNearestSelectionRange(t.createPositionAfter(c),"forward");if(!e){return}const o=e.start.parent;if(o&&isListItemBlock(o)&&o.getAttribute("listType")=="todo"){t.change((t=>t.setSelection(e)));i.preventDefault();i.stopPropagation();n.stop()}}else if(o=="left"&&a.isAtStart&&isListItemBlock(c)&&c.getAttribute("listType")=="todo"){const e=r.getNearestSelectionRange(t.createPositionBefore(c),"backward");if(!e){return}t.change((t=>t.setSelection(e)));i.preventDefault();i.stopPropagation();n.stop()}}}function Xj(t){return!!t&&t.is("attributeElement")&&t.hasClass("todo-list__label")}class tH extends(null&&Plugin){static get pluginName(){return"TodoListUI"}init(){const t=this.editor.t;createUIComponent(this.editor,"todoList",t("To-do List"),icons.todoList)}}var eH=n(9292);var nH={injectType:"singletonStyleTag",attributes:{"data-cke":true}};nH.insert="head";nH.singleton=true;var iH=Ll()(eH.Z,nH);const oH=eH.Z.locals||{};class rH extends(null&&Plugin){static get requires(){return[TodoListEditing,TodoListUI]}static get pluginName(){return"TodoList"}}class sH extends(null&&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;const n=e.document;const i=Array.from(n.selection.getSelectedBlocks()).filter((t=>cH(t,e.schema)));const o=t.forceValue!==undefined?!t.forceValue:this.value;e.change((t=>{if(o){let e=i[i.length-1].nextSibling;let n=Number.POSITIVE_INFINITY;let o=[];while(e&&e.name=="listItem"&&e.getAttribute("listIndent")!==0){const t=e.getAttribute("listIndent");if(t=n){if(r>o.getAttribute("listIndent")){r=o.getAttribute("listIndent")}if(o.getAttribute("listIndent")==r){t[e?"unshift":"push"](o)}o=o[e?"previousSibling":"nextSibling"]}}}function cH(t,e){return e.checkChild(t.parent,"listItem")&&!e.isObject(t)}class lH extends(null&&Command){constructor(t,e){super(t);this._indentBy=e=="forward"?1:-1}refresh(){this.isEnabled=this._checkEnabled()}execute(){const t=this.editor.model;const e=t.document;let n=Array.from(e.selection.getSelectedBlocks());t.change((t=>{const e=n[n.length-1];let i=e.nextSibling;while(i&&i.name=="listItem"&&i.getAttribute("listIndent")>e.getAttribute("listIndent")){n.push(i);i=i.nextSibling}if(this._indentBy<0){n=n.reverse()}for(const e of n){const n=e.getAttribute("listIndent")+this._indentBy;if(n<0){t.rename(e,"paragraph")}else{t.setAttribute("listIndent",n,e)}}this.fire("_executeCleanup",n)}))}_checkEnabled(){const t=first(this.editor.model.document.selection.getSelectedBlocks());if(!t||!t.is("element","listItem")){return false}if(this._indentBy>0){const e=t.getAttribute("listIndent");const n=t.getAttribute("listType");let i=t.previousSibling;while(i&&i.is("element","listItem")&&i.getAttribute("listIndent")>=e){if(i.getAttribute("listIndent")==e){return i.getAttribute("listType")==n}i=i.previousSibling}return false}return true}}function dH(t){const e=t.createContainerElement("li");e.getFillerOffset=_H;return e}function uH(t,e){const n=e.mapper;const i=e.writer;const o=t.getAttribute("listType")=="numbered"?"ol":"ul";const r=dH(i);const s=i.createContainerElement(o,null);i.insert(i.createPositionAt(s,0),r);n.bindElements(t,r);return r}function hH(t,e,n,i){const o=e.parent;const r=n.mapper;const s=n.writer;let a=r.toViewPosition(i.createPositionBefore(t));const c=mH(t.previousSibling,{sameIndent:true,smallerIndent:true,listIndent:t.getAttribute("listIndent")});const l=t.previousSibling;if(c&&c.getAttribute("listIndent")==t.getAttribute("listIndent")){const t=r.toViewElement(c);a=s.breakContainer(s.createPositionAfter(t))}else{if(l&&l.name=="listItem"){a=r.toViewPosition(i.createPositionAt(l,"end"));const t=r.findMappedViewAncestor(a);const e=pH(t);if(e){a=s.createPositionBefore(e)}else{a=s.createPositionAt(t,"end")}}else{a=r.toViewPosition(i.createPositionBefore(t))}}a=fH(a);s.insert(a,o);if(l&&l.name=="listItem"){const t=r.toViewElement(l);const n=s.createRange(s.createPositionAt(t,0),a);const i=n.getWalker({ignoreElementEnd:true});for(const t of i){if(t.item.is("element","li")){const n=s.breakContainer(s.createPositionBefore(t.item));const o=t.item.parent;const r=s.createPositionAt(e,"end");gH(s,r.nodeBefore,r.nodeAfter);s.move(s.createRangeOn(o),r);i._position=n}}}else{const n=o.nextSibling;if(n&&(n.is("element","ul")||n.is("element","ol"))){let i=null;for(const e of n.getChildren()){const n=r.toModelElement(e);if(n&&n.getAttribute("listIndent")>t.getAttribute("listIndent")){i=e}else{break}}if(i){s.breakContainer(s.createPositionAfter(i));s.move(s.createRangeOn(i.parent),s.createPositionAt(e,"end"))}}}gH(s,o,o.nextSibling);gH(s,o.previousSibling,o)}function gH(t,e,n){if(!e||!n||e.name!="ul"&&e.name!="ol"){return null}if(e.name!=n.name||e.getAttribute("class")!==n.getAttribute("class")){return null}return t.mergeContainers(t.createPositionAfter(e))}function fH(t){return t.getLastMatchingPosition((t=>t.item.is("uiElement")))}function mH(t,e){const n=!!e.sameIndent;const i=!!e.smallerIndent;const o=e.listIndent;let r=t;while(r&&r.name=="listItem"){const t=r.getAttribute("listIndent");if(n&&o==t||i&&o>t){return r}if(e.direction==="forward"){r=r.nextSibling}else{r=r.previousSibling}}return null}function pH(t){for(const e of t.getChildren()){if(e.name=="ul"||e.name=="ol"){return e}}return null}function bH(t,e){const n=[];const i=t.parent;const o={ignoreElementEnd:false,startPosition:t,shallow:true,direction:e};const r=i.getAttribute("listIndent");const s=[...new TreeWalker(o)].filter((t=>t.item.is("element"))).map((t=>t.item));for(const t of s){if(!t.is("element","listItem")){break}if(t.getAttribute("listIndent")r){continue}if(t.getAttribute("listType")!==i.getAttribute("listType")){break}if(t.getAttribute("listStyle")!==i.getAttribute("listStyle")){break}if(t.getAttribute("listReversed")!==i.getAttribute("listReversed")){break}if(t.getAttribute("listStart")!==i.getAttribute("listStart")){break}if(e==="backward"){n.unshift(t)}else{n.push(t)}}return n}function kH(t){const e=t.document;let n=[...e.selection.getSelectedBlocks()].filter((t=>t.is("element","listItem"))).map((e=>{const n=t.change((t=>t.createPositionAt(e,0)));return[...bH(n,"backward"),...bH(n,"forward")]})).flat();n=[...new Set(n)];return n}const wH=null&&["disc","circle","square"];const AH=null&&["decimal","decimal-leading-zero","lower-roman","upper-roman","lower-latin","upper-latin"];function CH(t){if(wH.includes(t)){return"bulleted"}if(AH.includes(t)){return"numbered"}return null}function _H(){const t=!this.isEmpty&&(this.getChild(0).name=="ul"||this.getChild(0).name=="ol");if(this.isEmpty||t){return 0}return getFillerOffset.call(this)}class vH extends(null&&Plugin){static get pluginName(){return"LegacyListUtils"}getListTypeFromListStyleType(t){return getListTypeFromListStyleType(t)}getSelectedListItems(t){return getSelectedListItems(t)}getSiblingNodes(t,e){return getSiblingNodes(t,e)}}function yH(t){return(e,n,i)=>{const o=i.consumable;if(!o.test(n.item,"insert")||!o.test(n.item,"attribute:listType")||!o.test(n.item,"attribute:listIndent")){return}o.consume(n.item,"insert");o.consume(n.item,"attribute:listType");o.consume(n.item,"attribute:listIndent");const r=n.item;const s=generateLiInUl(r,i);injectViewList(r,s,i,t)}}function xH(t){return(e,n,i)=>{const o=i.mapper.toViewPosition(n.position);const r=o.getLastMatchingPosition((t=>!t.item.is("element","li")));const s=r.nodeAfter;const a=i.writer;a.breakContainer(a.createPositionBefore(s));a.breakContainer(a.createPositionAfter(s));const c=s.parent;const l=c.previousSibling;const d=a.createRangeOn(c);const u=a.remove(d);if(l&&l.nextSibling){mergeViewLists(a,l,l.nextSibling)}const h=i.mapper.toModelElement(s);FH(h.getAttribute("listIndent")+1,n.position,d.start,s,i,t);for(const t of a.createRangeIn(u).getItems()){i.mapper.unbindViewElement(t)}e.stop()}}const EH=(t,e,n)=>{if(!n.consumable.test(e.item,t.name)){return}const i=n.mapper.toViewElement(e.item);const o=n.writer;o.breakContainer(o.createPositionBefore(i));o.breakContainer(o.createPositionAfter(i));const r=i.parent;const s=e.attributeNewValue=="numbered"?"ol":"ul";o.rename(s,r)};const DH=(t,e,n)=>{n.consumable.consume(e.item,t.name);const i=n.mapper.toViewElement(e.item);const o=i.parent;const r=n.writer;mergeViewLists(r,o,o.nextSibling);mergeViewLists(r,o.previousSibling,o)};function TH(t){return(e,n,i)=>{if(!i.consumable.consume(n.item,"attribute:listIndent")){return}const o=i.mapper.toViewElement(n.item);const r=i.writer;r.breakContainer(r.createPositionBefore(o));r.breakContainer(r.createPositionAfter(o));const s=o.parent;const a=s.previousSibling;const c=r.createRangeOn(s);r.remove(c);if(a&&a.nextSibling){mergeViewLists(r,a,a.nextSibling)}FH(n.attributeOldValue+1,n.range.start,c.start,o,i,t);injectViewList(n.item,o,i,t);for(const t of n.item.getChildren()){i.consumable.consume(t,"insert")}}}const IH=(t,e,n)=>{if(!n.consumable.test(e.item,t.name)){return}if(e.item.name!="listItem"){let t=n.mapper.toViewPosition(e.range.start);const i=n.writer;const o=[];while(t.parent.name=="ul"||t.parent.name=="ol"){t=i.breakContainer(t);if(t.parent.name!="li"){break}const e=t;const n=i.createPositionAt(t.parent,"end");if(!e.isEqual(n)){const t=i.remove(i.createRange(e,n));o.push(t)}t=i.createPositionAfter(t.parent)}if(o.length>0){for(let e=0;e0){const e=mergeViewLists(i,n,n.nextSibling);if(e&&e.parent==n){t.offset--}}}mergeViewLists(i,t.nodeBefore,t.nodeAfter)}}};const SH=(t,e,n)=>{const i=n.mapper.toViewPosition(e.position);const o=i.nodeBefore;const r=i.nodeAfter;mergeViewLists(n.writer,o,r)};const BH=(t,e,n)=>{if(n.consumable.consume(e.viewItem,{name:true})){const t=n.writer;const i=t.createElement("listItem");const o=HH(e.viewItem);t.setAttribute("listIndent",o,i);const r=e.viewItem.parent&&e.viewItem.parent.name=="ol"?"numbered":"bulleted";t.setAttribute("listType",r,i);if(!n.safeInsert(i,e.modelCursor)){return}const s=RH(i,e.viewItem.getChildren(),n);e.modelRange=t.createRange(e.modelCursor,s);n.updateConversionResult(i,e)}};const MH=(t,e,n)=>{if(n.consumable.test(e.viewItem,{name:true})){const t=Array.from(e.viewItem.getChildren());for(const e of t){const t=!(e.is("element","li")||jH(e));if(t){e._remove()}}}};const NH=(t,e,n)=>{if(n.consumable.test(e.viewItem,{name:true})){if(e.viewItem.childCount===0){return}const t=[...e.viewItem.getChildren()];let n=false;for(const e of t){if(n&&!jH(e)){e._remove()}if(jH(e)){n=true}}}};function PH(t){return(e,n)=>{if(n.isPhantom){return}const i=n.modelPosition.nodeBefore;if(i&&i.is("element","listItem")){const e=n.mapper.toViewElement(i);const o=e.getAncestors().find(jH);const r=t.createPositionAt(e,0).getWalker();for(const t of r){if(t.type=="elementStart"&&t.item.is("element","li")){n.viewPosition=t.previousPosition;break}else if(t.type=="elementEnd"&&t.item==o){n.viewPosition=t.nextPosition;break}}}}}function LH(t){return(e,n)=>{const i=n.viewPosition;const o=i.parent;const r=n.mapper;if(o.name=="ul"||o.name=="ol"){if(!i.isAtEnd){const e=r.toModelElement(i.nodeAfter);n.modelPosition=t.createPositionBefore(e)}else{const e=r.toModelElement(i.nodeBefore);const o=r.getModelLength(i.nodeBefore);n.modelPosition=t.createPositionBefore(e).getShiftedBy(o)}e.stop()}else if(o.name=="li"&&i.nodeBefore&&(i.nodeBefore.name=="ul"||i.nodeBefore.name=="ol")){const s=r.toModelElement(o);let a=1;let c=i.nodeBefore;while(c&&jH(c)){a+=r.getModelLength(c);c=c.previousSibling}n.modelPosition=t.createPositionBefore(s).getShiftedBy(a);e.stop()}}}function zH(t,e){const n=t.document.differ.getChanges();const i=new Map;let o=false;for(const i of n){if(i.type=="insert"&&i.name=="listItem"){r(i.position)}else if(i.type=="insert"&&i.name!="listItem"){if(i.name!="$text"){const n=i.position.nodeAfter;if(n.hasAttribute("listIndent")){e.removeAttribute("listIndent",n);o=true}if(n.hasAttribute("listType")){e.removeAttribute("listType",n);o=true}if(n.hasAttribute("listStyle")){e.removeAttribute("listStyle",n);o=true}if(n.hasAttribute("listReversed")){e.removeAttribute("listReversed",n);o=true}if(n.hasAttribute("listStart")){e.removeAttribute("listStart",n);o=true}for(const e of Array.from(t.createRangeIn(n)).filter((t=>t.item.is("element","listItem")))){r(e.previousPosition)}}const n=i.position.getShiftedBy(i.length);r(n)}else if(i.type=="remove"&&i.name=="listItem"){r(i.position)}else if(i.type=="attribute"&&i.attributeKey=="listIndent"){r(i.range.start)}else if(i.type=="attribute"&&i.attributeKey=="listType"){r(i.range.start)}}for(const t of i.values()){s(t);a(t)}return o;function r(t){const e=t.nodeBefore;if(!e||!e.is("element","listItem")){const e=t.nodeAfter;if(e&&e.is("element","listItem")){i.set(e,e)}}else{let t=e;if(i.has(t)){return}for(let e=t.previousSibling;e&&e.is("element","listItem");e=t.previousSibling){t=e;if(i.has(t)){return}}i.set(e,t)}}function s(t){let n=0;let i=null;while(t&&t.is("element","listItem")){const r=t.getAttribute("listIndent");if(r>n){let s;if(i===null){i=r-n;s=n}else{if(i>r){i=r}s=r-i}e.setAttribute("listIndent",s,t);o=true}else{i=null;n=t.getAttribute("listIndent")+1}t=t.nextSibling}}function a(t){let n=[];let i=null;while(t&&t.is("element","listItem")){const r=t.getAttribute("listIndent");if(i&&i.getAttribute("listIndent")>r){n=n.slice(0,r+1)}if(r!=0){if(n[r]){const i=n[r];if(t.getAttribute("listType")!=i){e.setAttribute("listType",i,t);o=true}}else{n[r]=t.getAttribute("listType")}}i=t;t=t.nextSibling}}}const VH=function(t,[e,n]){const i=this;let o=e.is("documentFragment")?e.getChild(0):e;let r;if(!n){r=i.document.selection}else{r=i.createSelection(n)}if(o&&o.is("element","listItem")){const t=r.getFirstPosition();let e=null;if(t.parent.is("element","listItem")){e=t.parent}else if(t.nodeBefore&&t.nodeBefore.is("element","listItem")){e=t.nodeBefore}if(e){const t=e.getAttribute("listIndent");if(t>0){while(o&&o.is("element","listItem")){o._setAttribute("listIndent",o.getAttribute("listIndent")+t);o=o.nextSibling}}}}};function RH(t,e,n){const{writer:i,schema:o}=n;let r=i.createPositionAfter(t);for(const s of e){if(s.name=="ul"||s.name=="ol"){r=n.convertItem(s,r).modelCursor}else{const e=n.convertItem(s,i.createPositionAt(t,"end"));const a=e.modelRange.start.nodeAfter;const c=a&&a.is("element")&&!o.checkChild(t,a.name);if(c){if(e.modelCursor.parent.is("element","listItem")){t=e.modelCursor.parent}else{t=OH(e.modelCursor)}r=i.createPositionAfter(t)}}}return r}function OH(t){const e=new TreeWalker({startPosition:t});let n;do{n=e.next()}while(!n.value.item.is("element","listItem"));return n.value.item}function FH(t,e,n,i,o,r){const s=getSiblingListItem(e.nodeBefore,{sameIndent:true,smallerIndent:true,listIndent:t});const a=o.mapper;const c=o.writer;const l=s?s.getAttribute("listIndent"):null;let d;if(!s){d=n}else if(l==t){const t=a.toViewElement(s).parent;d=c.createPositionAfter(t)}else{const t=r.createPositionAt(s,"end");d=a.toViewPosition(t)}d=positionAfterUiElements(d);for(const t of[...i.getChildren()]){if(jH(t)){d=c.move(c.createRangeOn(t),d).end;mergeViewLists(c,t,t.nextSibling);mergeViewLists(c,t.previousSibling,t)}}}function jH(t){return t.is("element","ol")||t.is("element","ul")}function HH(t){let e=0;let n=t.parent;while(n){if(n.is("element","li")){e++}else{const t=n.previousSibling;if(t&&t.is("element","li")){e++}}n=n.parent}return e}class UH extends(null&&Plugin){static get pluginName(){return"LegacyListEditing"}static get requires(){return[Enter,Delete,LegacyListUtils]}init(){const t=this.editor;t.model.schema.register("listItem",{inheritAllFrom:"$block",allowAttributes:["listType","listIndent"]});const e=t.data;const n=t.editing;t.model.document.registerPostFixer((e=>modelChangePostFixer(t.model,e)));n.mapper.registerViewToModelLength("li",WH);e.mapper.registerViewToModelLength("li",WH);n.mapper.on("modelToViewPosition",modelToViewPosition(n.view));n.mapper.on("viewToModelPosition",viewToModelPosition(t.model));e.mapper.on("modelToViewPosition",modelToViewPosition(n.view));t.conversion.for("editingDowncast").add((e=>{e.on("insert",modelViewSplitOnInsert,{priority:"high"});e.on("insert:listItem",modelViewInsertion(t.model));e.on("attribute:listType:listItem",modelViewChangeType,{priority:"high"});e.on("attribute:listType:listItem",modelViewMergeAfterChangeType,{priority:"low"});e.on("attribute:listIndent:listItem",modelViewChangeIndent(t.model));e.on("remove:listItem",modelViewRemove(t.model));e.on("remove",modelViewMergeAfter,{priority:"low"})}));t.conversion.for("dataDowncast").add((e=>{e.on("insert",modelViewSplitOnInsert,{priority:"high"});e.on("insert:listItem",modelViewInsertion(t.model))}));t.conversion.for("upcast").add((t=>{t.on("element:ul",cleanList,{priority:"high"});t.on("element:ol",cleanList,{priority:"high"});t.on("element:li",cleanListItem,{priority:"high"});t.on("element:li",viewModelConverter)}));t.model.on("insertContent",modelIndentPasteFixer,{priority:"high"});t.commands.add("numberedList",new LegacyListCommand(t,"numbered"));t.commands.add("bulletedList",new LegacyListCommand(t,"bulleted"));t.commands.add("indentList",new LegacyIndentCommand(t,"forward"));t.commands.add("outdentList",new LegacyIndentCommand(t,"backward"));const i=n.view.document;this.listenTo(i,"enter",((t,e)=>{const n=this.editor.model.document;const i=n.selection.getLastPosition().parent;if(n.selection.isCollapsed&&i.name=="listItem"&&i.isEmpty){this.editor.execute("outdentList");e.preventDefault();t.stop()}}),{context:"li"});this.listenTo(i,"delete",((t,e)=>{if(e.direction!=="backward"){return}const n=this.editor.model.document.selection;if(!n.isCollapsed){return}const i=n.getFirstPosition();if(!i.isAtStart){return}const o=i.parent;if(o.name!=="listItem"){return}const r=o.previousSibling&&o.previousSibling.name==="listItem";if(r){return}this.editor.execute("outdentList");e.preventDefault();t.stop()}),{context:"li"});this.listenTo(t.editing.view.document,"tab",((e,n)=>{const i=n.shiftKey?"outdentList":"indentList";const o=this.editor.commands.get(i);if(o.isEnabled){t.execute(i);n.stopPropagation();n.preventDefault();e.stop()}}),{context:"li"})}afterInit(){const t=this.editor.commands;const e=t.get("indent");const n=t.get("outdent");if(e){e.registerChildCommand(t.get("indentList"))}if(n){n.registerChildCommand(t.get("outdentList"))}}}function WH(t){let e=1;for(const n of t.getChildren()){if(n.name=="ul"||n.name=="ol"){for(const t of n.getChildren()){e+=WH(t)}}}return e}class GH extends(null&&Plugin){static get requires(){return[LegacyListEditing,ListUI]}static get pluginName(){return"LegacyList"}}class qH extends(null&&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;const n=getSelectedListItems(e);if(!n.length){return}e.change((e=>{for(const i of n){e.setAttribute("listStyle",t.type||this.defaultType,i)}}))}_getValue(){const t=this.editor.model.document.selection.getFirstPosition().parent;if(t&&t.is("element","listItem")){return t.getAttribute("listStyle")}return null}_checkEnabled(){const t=this.editor;const e=t.commands.get("numberedList");const n=t.commands.get("bulletedList");return e.isEnabled||n.isEnabled}_tryToConvertItemsToList(t){if(!t.type){return}const e=getListTypeFromListStyleType(t.type);if(!e){return}const n=this.editor;const i=`${e}List`;const o=n.commands.get(i);if(!o.value){n.execute(i)}}}class ZH extends(null&&Command){refresh(){const t=this._getValue();this.value=t;this.isEnabled=t!=null}execute(t={}){const e=this.editor.model;const n=getSelectedListItems(e).filter((t=>t.getAttribute("listType")=="numbered"));e.change((e=>{for(const i of n){e.setAttribute("listReversed",!!t.reversed,i)}}))}_getValue(){const t=this.editor.model.document.selection.getFirstPosition().parent;if(t&&t.is("element","listItem")&&t.getAttribute("listType")=="numbered"){return t.getAttribute("listReversed")}return null}}class $H extends(null&&Command){refresh(){const t=this._getValue();this.value=t;this.isEnabled=t!=null}execute({startIndex:t=1}={}){const e=this.editor.model;const n=getSelectedListItems(e).filter((t=>t.getAttribute("listType")=="numbered"));e.change((e=>{for(const i of n){e.setAttribute("listStart",t>=0?t:1,i)}}))}_getValue(){const t=this.editor.model.document.selection.getFirstPosition().parent;if(t&&t.is("element","listItem")&&t.getAttribute("listType")=="numbered"){return t.getAttribute("listStart")}return null}}const KH="default";class YH extends(null&&Plugin){static get requires(){return[LegacyListEditing]}static get pluginName(){return"LegacyListPropertiesEditing"}constructor(t){super(t);t.config.define("list",{properties:{styles:true,startIndex:false,reversed:false}})}init(){const t=this.editor;const e=t.model;const n=t.config.get("list.properties");const i=QH(n);e.schema.extend("listItem",{allowAttributes:i.map((t=>t.attributeName))});for(const e of i){e.addCommand(t)}this.listenTo(t.commands.get("indentList"),"_executeCleanup",tU(t,i));this.listenTo(t.commands.get("outdentList"),"_executeCleanup",eU(t,i));this.listenTo(t.commands.get("bulletedList"),"_executeCleanup",sU(t));this.listenTo(t.commands.get("numberedList"),"_executeCleanup",sU(t));e.document.registerPostFixer(nU(t,i));t.conversion.for("upcast").add(JH(i));t.conversion.for("downcast").add(XH(i));this._mergeListAttributesWhileMergingLists(i)}afterInit(){const t=this.editor;if(t.commands.get("todoList")){t.model.document.registerPostFixer(rU(t))}}_mergeListAttributesWhileMergingLists(t){const e=this.editor;const n=e.model;let i;this.listenTo(n,"deleteContent",((t,[e])=>{const n=e.getFirstPosition();const o=e.getLastPosition();if(n.parent===o.parent){return}if(!n.parent.is("element","listItem")){return}const r=o.parent.nextSibling;if(!r||!r.is("element","listItem")){return}const s=getSiblingListItem(n.parent,{sameIndent:true,listIndent:r.getAttribute("listIndent")});if(!s){return}if(s.getAttribute("listType")===r.getAttribute("listType")){i=s}}),{priority:"high"});this.listenTo(n,"deleteContent",(()=>{if(!i){return}n.change((e=>{const n=getSiblingListItem(i.nextSibling,{sameIndent:true,listIndent:i.getAttribute("listIndent"),direction:"forward"});if(!n){i=null;return}const o=[n,...getSiblingNodes(e.createPositionAt(n,0),"forward")];for(const n of o){for(const o of t){if(o.appliesToListItem(n)){const t=o.attributeName;const r=i.getAttribute(t);e.setAttribute(t,r,n)}}}}));i=null}),{priority:"low"})}}function QH(t){const e=[];if(t.styles){e.push({attributeName:"listStyle",defaultValue:KH,addCommand(t){t.commands.add("listStyle",new LegacyListStyleCommand(t,KH))},appliesToListItem(){return true},setAttributeOnDowncast(t,e,n){if(e&&e!==KH){t.setStyle("list-style-type",e,n)}else{t.removeStyle("list-style-type",n)}},getAttributeOnUpcast(t){return t.getStyle("list-style-type")||KH}})}if(t.reversed){e.push({attributeName:"listReversed",defaultValue:false,addCommand(t){t.commands.add("listReversed",new LegacyListReversedCommand(t))},appliesToListItem(t){return t.getAttribute("listType")=="numbered"},setAttributeOnDowncast(t,e,n){if(e){t.setAttribute("reversed","reversed",n)}else{t.removeAttribute("reversed",n)}},getAttributeOnUpcast(t){return t.hasAttribute("reversed")}})}if(t.startIndex){e.push({attributeName:"listStart",defaultValue:1,addCommand(t){t.commands.add("listStart",new LegacyListStartCommand(t))},appliesToListItem(t){return t.getAttribute("listType")=="numbered"},setAttributeOnDowncast(t,e,n){if(e==0||e>1){t.setAttribute("start",e,n)}else{t.removeAttribute("start",n)}},getAttributeOnUpcast(t){const e=t.getAttribute("start");return e>=0?e:1}})}return e}function JH(t){return e=>{e.on("element:li",((e,n,i)=>{if(!n.modelRange){return}const o=n.viewItem.parent;const r=n.modelRange.start.nodeAfter||n.modelRange.end.nodeBefore;for(const e of t){if(e.appliesToListItem(r)){const t=e.getAttributeOnUpcast(o);i.writer.setAttribute(e.attributeName,t,r)}}}),{priority:"low"})}}function XH(t){return n=>{for(const i of t){n.on(`attribute:${i.attributeName}:listItem`,((t,n,o)=>{const r=o.writer;const s=n.item;const a=getSiblingListItem(s.previousSibling,{sameIndent:true,listIndent:s.getAttribute("listIndent"),direction:"backward"});const c=o.mapper.toViewElement(s);if(!e(s,a)){r.breakContainer(r.createPositionBefore(c))}i.setAttributeOnDowncast(r,n.attributeNewValue,c.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")}}function tU(t,e){return(n,i)=>{const o=i[0];const r=o.getAttribute("listIndent");const s=i.filter((t=>t.getAttribute("listIndent")===r));let a=null;if(o.previousSibling.getAttribute("listIndent")+1!==r){a=getSiblingListItem(o.previousSibling,{sameIndent:true,direction:"backward",listIndent:r})}t.model.change((t=>{for(const n of s){for(const i of e){if(i.appliesToListItem(n)){const e=a==null?i.defaultValue:a.getAttribute(i.attributeName);t.setAttribute(i.attributeName,e,n)}}}}))}}function eU(t,e){return(n,i)=>{i=i.reverse().filter((t=>t.is("element","listItem")));if(!i.length){return}const o=i[0].getAttribute("listIndent");const r=i[0].getAttribute("listType");let s=i[0].previousSibling;if(s.is("element","listItem")){while(s.getAttribute("listIndent")!==o){s=s.previousSibling}}else{s=null}if(!s){s=i[i.length-1].nextSibling}if(!s||!s.is("element","listItem")){return}if(s.getAttribute("listType")!==r){return}t.model.change((t=>{const n=i.filter((t=>t.getAttribute("listIndent")===o));for(const i of n){for(const n of e){if(n.appliesToListItem(i)){const e=n.attributeName;const o=s.getAttribute(e);t.setAttribute(e,o,i)}}}}))}}function nU(t,e){return n=>{let i=false;const o=aU(t.model.document.differ.getChanges()).filter((t=>t.getAttribute("listType")!=="todo"));if(!o.length){return i}let r=o[o.length-1].nextSibling;if(!r||!r.is("element","listItem")){r=o[0].previousSibling;if(r){const t=o[0].getAttribute("listIndent");while(r.is("element","listItem")&&r.getAttribute("listIndent")!==t){r=r.previousSibling;if(!r){break}}}}for(const t of e){const e=t.attributeName;for(const s of o){if(!t.appliesToListItem(s)){n.removeAttribute(e,s);continue}if(!s.hasAttribute(e)){if(iU(r,s,t)){n.setAttribute(e,r.getAttribute(e),s)}else{n.setAttribute(e,t.defaultValue,s)}i=true}else{const o=s.previousSibling;if(oU(o,s,t.attributeName)){n.setAttribute(e,o.getAttribute(e),s);i=true}}}}return i}}function iU(t,e,n){if(!t){return false}const i=t.getAttribute(n.attributeName);if(!i){return false}if(i==n.defaultValue){return false}if(t.getAttribute("listType")!==e.getAttribute("listType")){return false}return true}function oU(t,e,n){if(!t||!t.is("element","listItem")){return false}if(e.getAttribute("listType")!==t.getAttribute("listType")){return false}const i=t.getAttribute("listIndent");if(i<1||i!==e.getAttribute("listIndent")){return false}const o=t.getAttribute(n);if(!o||o===e.getAttribute(n)){return false}return true}function rU(t){return e=>{const n=aU(t.model.document.differ.getChanges()).filter((t=>t.getAttribute("listType")==="todo"&&(t.hasAttribute("listStyle")||t.hasAttribute("listReversed")||t.hasAttribute("listStart"))));if(!n.length){return false}for(const t of n){e.removeAttribute("listStyle",t);e.removeAttribute("listReversed",t);e.removeAttribute("listStart",t)}return true}}function sU(t){return(e,n)=>{n=n.filter((t=>t.is("element","listItem")));t.model.change((t=>{for(const e of n){t.removeAttribute("listStyle",e)}}))}}function aU(t){const e=[];for(const n of t){const t=cU(n);if(t&&t.is("element","listItem")){e.push(t)}}return e}function cU(t){if(t.type==="attribute"){return t.range.start.nodeAfter}if(t.type==="insert"){return t.position.nodeAfter}return null}class lU extends(null&&Plugin){static get requires(){return[LegacyListPropertiesEditing,ListPropertiesUI]}static get pluginName(){return"LegacyListProperties"}}const dU="todoListChecked";class uU extends(null&&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(dU)));this.isEnabled=!!this._selectedElements.length}_getSelectedItems(){const t=this.editor.model;const e=t.schema;const n=t.document.selection.getFirstRange();const i=n.start.parent;const o=[];if(e.checkAttribute(i,dU)){o.push(i)}for(const t of n.getItems()){if(e.checkAttribute(t,dU)&&!o.includes(t)){o.push(t)}}return o}execute(t={}){this.editor.model.change((e=>{for(const n of this._selectedElements){const i=t.forceValue===undefined?!this.value:t.forceValue;if(i){e.setAttribute(dU,true,n)}else{e.removeAttribute(dU,n)}}}))}}function hU(t,e){return(n,i,o)=>{const r=o.consumable;if(!r.test(i.item,"insert")||!r.test(i.item,"attribute:listType")||!r.test(i.item,"attribute:listIndent")){return}if(i.item.getAttribute("listType")!="todo"){return}const s=i.item;r.consume(s,"insert");r.consume(s,"attribute:listType");r.consume(s,"attribute:listIndent");r.consume(s,"attribute:todoListChecked");const a=o.writer;const c=generateLiInUl(s,o);const l=!!s.getAttribute("todoListChecked");const d=kU(s,a,l,e);const u=a.createContainerElement("span",{class:"todo-list__label__description"});a.addClass("todo-list",c.parent);a.insert(a.createPositionAt(c,0),d);a.insert(a.createPositionAfter(d),u);injectViewList(s,c,o,t)}}function gU(t){return(e,n,i)=>{const o=i.consumable;if(!o.test(n.item,"insert")||!o.test(n.item,"attribute:listType")||!o.test(n.item,"attribute:listIndent")){return}if(n.item.getAttribute("listType")!="todo"){return}const r=n.item;o.consume(r,"insert");o.consume(r,"attribute:listType");o.consume(r,"attribute:listIndent");o.consume(r,"attribute:todoListChecked");const s=i.writer;const a=generateLiInUl(r,i);s.addClass("todo-list",a.parent);const c=s.createContainerElement("label",{class:"todo-list__label"});const l=s.createEmptyElement("input",{type:"checkbox",disabled:"disabled"});const d=s.createContainerElement("span",{class:"todo-list__label__description"});if(r.getAttribute("todoListChecked")){s.setAttribute("checked","checked",l)}s.insert(s.createPositionAt(a,0),c);s.insert(s.createPositionAt(c,0),l);s.insert(s.createPositionAfter(l),d);injectViewList(r,a,i,t)}}const fU=(t,e,n)=>{const i=e.modelCursor;const o=i.parent;const r=e.viewItem;if(r.getAttribute("type")!="checkbox"||o.name!="listItem"||!i.isAtStart){return}if(!n.consumable.consume(r,{name:true})){return}const s=n.writer;s.setAttribute("listType","todo",o);if(e.viewItem.hasAttribute("checked")){s.setAttribute("todoListChecked",true,o)}e.modelRange=s.createRange(i)};function mU(t,e){return(n,i,o)=>{if(!o.consumable.consume(i.item,n.name)){return}const r=o.mapper.toViewElement(i.item);const s=o.writer;const a=wU(r,e);if(i.attributeNewValue=="todo"){const e=!!i.item.getAttribute("todoListChecked");const n=kU(i.item,s,e,t);const o=s.createContainerElement("span",{class:"todo-list__label__description"});const a=s.createRangeIn(r);const c=findNestedList(r);const l=positionAfterUiElements(a.start);const d=c?s.createPositionBefore(c):a.end;const u=s.createRange(l,d);s.addClass("todo-list",r.parent);s.move(u,s.createPositionAt(o,0));s.insert(s.createPositionAt(r,0),n);s.insert(s.createPositionAfter(n),o)}else if(i.attributeOldValue=="todo"){const t=AU(r,e);s.removeClass("todo-list",r.parent);s.remove(a);s.move(s.createRangeIn(t),s.createPositionBefore(t));s.remove(t)}}}function pU(t){return(e,n,i)=>{if(n.item.getAttribute("listType")!="todo"){return}if(!i.consumable.consume(n.item,"attribute:todoListChecked")){return}const{mapper:o,writer:r}=i;const s=!!n.item.getAttribute("todoListChecked");const a=o.toViewElement(n.item);const c=a.getChild(0);const l=kU(n.item,r,s,t);r.insert(r.createPositionAfter(c),l);r.remove(c)}}function bU(t){return(e,n)=>{const i=n.modelPosition;const o=i.parent;if(!o.is("element","listItem")||o.getAttribute("listType")!="todo"){return}const r=n.mapper.toViewElement(o);const s=AU(r,t);if(s){n.viewPosition=n.mapper.findPositionIn(s,i.offset)}}}function kU(t,e,n,i){const o=e.createUIElement("label",{class:"todo-list__label",contenteditable:false},(function(e){const o=createElement(document,"input",{type:"checkbox",tabindex:"-1"});if(n){o.setAttribute("checked","checked")}o.addEventListener("change",(()=>i(t)));const r=this.toDomElement(e);r.appendChild(o);return r}));return o}function wU(t,e){const n=e.createRangeIn(t);for(const t of n){if(t.item.is("uiElement","label")){return t.item}}}function AU(t,e){const n=e.createRangeIn(t);for(const t of n){if(t.item.is("containerElement","span")&&t.item.hasClass("todo-list__label__description")){return t.item}}}const CU=Yc("Ctrl+Enter");class _U extends(null&&Plugin){static get pluginName(){return"LegacyTodoListEditing"}static get requires(){return[LegacyListEditing]}init(){const t=this.editor;const{editing:e,data:n,model:i}=t;i.schema.extend("listItem",{allowAttributes:["todoListChecked"]});i.schema.addAttributeCheck(((t,e)=>{const n=t.last;if(e=="todoListChecked"&&n.name=="listItem"&&n.getAttribute("listType")!="todo"){return false}}));t.commands.add("todoList",new LegacyListCommand(t,"todo"));const o=new LegacyCheckTodoListCommand(t);t.commands.add("checkTodoList",o);t.commands.add("todoListCheck",o);n.downcastDispatcher.on("insert:listItem",dataModelViewInsertion(i),{priority:"high"});n.upcastDispatcher.on("element:input",dataViewModelCheckmarkInsertion,{priority:"high"});e.downcastDispatcher.on("insert:listItem",modelViewInsertion(i,(t=>this._handleCheckmarkChange(t))),{priority:"high"});e.downcastDispatcher.on("attribute:listType:listItem",modelViewChangeType((t=>this._handleCheckmarkChange(t)),e.view));e.downcastDispatcher.on("attribute:todoListChecked:listItem",modelViewChangeChecked((t=>this._handleCheckmarkChange(t))));e.mapper.on("modelToViewPosition",mapModelToViewPosition(e.view));n.mapper.on("modelToViewPosition",mapModelToViewPosition(e.view));this.listenTo(e.view.document,"arrowKey",vU(i,t.locale),{context:"li"});this.listenTo(e.view.document,"keydown",((e,n)=>{if(getCode(n)===CU){t.execute("checkTodoList");e.stop()}}),{priority:"high"});const r=new Set;this.listenTo(i,"applyOperation",((t,e)=>{const n=e[0];if(n.type=="rename"&&n.oldName=="listItem"){const t=n.position.nodeAfter;if(t.hasAttribute("todoListChecked")){r.add(t)}}else if(n.type=="changeAttribute"&&n.key=="listType"&&n.oldValue==="todo"){for(const t of n.range.getItems()){if(t.hasAttribute("todoListChecked")&&t.getAttribute("listType")!=="todo"){r.add(t)}}}}));i.document.registerPostFixer((t=>{let e=false;for(const n of r){t.removeAttribute("todoListChecked",n);e=true}r.clear();return e}))}_handleCheckmarkChange(t){const e=this.editor;const n=e.model;const i=Array.from(n.document.selection.getRanges());n.change((n=>{n.setSelection(t,"end");e.execute("checkTodoList");n.setSelection(i)}))}}function vU(t,e){return(n,i)=>{const o=getLocalizedArrowKeyCodeDirection(i.keyCode,e.contentLanguageDirection);if(o!="left"){return}const r=t.schema;const s=t.document.selection;if(!s.isCollapsed){return}const a=s.getFirstPosition();const c=a.parent;if(c.name==="listItem"&&c.getAttribute("listType")=="todo"&&a.isAtStart){const e=r.getNearestSelectionRange(t.createPositionBefore(c),"backward");if(e){t.change((t=>t.setSelection(e)))}i.preventDefault();i.stopPropagation();n.stop()}}}class yU extends(null&&Plugin){static get requires(){return[LegacyTodoListEditing,TodoListUI]}static get pluginName(){return"LegacyTodoList"}}class xU extends(null&&Plugin){static get pluginName(){return"AdjacentListsSupport"}init(){const t=this.editor;const e=t.model;e.schema.register("listSeparator",{allowWhere:"$block",isBlock:true});t.conversion.for("upcast").add((t=>{t.on("element:ol",EU());t.on("element:ul",EU())})).elementToElement({model:"listSeparator",view:"ck-list-separator"});t.conversion.for("editingDowncast").elementToElement({model:"listSeparator",view:{name:"div",classes:["ck-list-separator","ck-hidden"]}});t.conversion.for("dataDowncast").elementToElement({model:"listSeparator",view:(t,e)=>{const n=e.writer.createContainerElement("ck-list-separator");e.writer.setCustomProperty("dataPipeline:transparentRendering",true,n);n.getFillerOffset=()=>null;return n}})}}function EU(){return(t,e,n)=>{const i=e.viewItem;const o=i.nextSibling;if(!o){return}if(i.name!==o.name){return}if(!e.modelRange){Object.assign(e,n.convertChildren(e.viewItem,e.modelCursor))}const r=n.writer;const s=r.createElement("listSeparator");if(!n.safeInsert(s,e.modelCursor)){return}const a=n.getSplitParts(s);e.modelRange=r.createRange(e.modelRange.start,r.createPositionAfter(a[a.length-1]));n.updateConversionResult(s,e)}}class DU extends(null&&Plugin){static get requires(){return[List]}static get pluginName(){return"DocumentList"}constructor(t){super(t);logWarning("plugin-obsolete-documentlist",{pluginName:"DocumentList"})}}class TU extends(null&&Plugin){static get requires(){return[ListProperties]}static get pluginName(){return"DocumentListProperties"}constructor(t){super(t);logWarning("plugin-obsolete-documentlistproperties",{pluginName:"DocumentListProperties"})}}class IU extends(null&&Plugin){static get requires(){return[TodoList]}static get pluginName(){return"TodoDocumentList"}constructor(t){super(t);logWarning("plugin-obsolete-tododocumentlist",{pluginName:"TodoDocumentList"})}}function SU(t,e){const n=(n,i,o)=>{if(!o.consumable.consume(i.item,n.name)){return}const r=i.attributeNewValue;const s=o.writer;const a=o.mapper.toViewElement(i.item);const c=[...a.getChildren()].find((t=>t.getCustomProperty("media-content")));s.remove(c);const l=t.getMediaViewElement(s,r,e);s.insert(s.createPositionAt(a,0),l)};return t=>{t.on("attribute:url:media",n)}}function BU(t,e,n){e.setCustomProperty("media",true,t);return kM(t,e,{label:n})}function MU(t){const e=t.getSelectedElement();if(e&&NU(e)){return e}return null}function NU(t){return!!t.getCustomProperty("media")&&isWidget(t)}function PU(t,e,n,i){return t.createContainerElement("figure",{class:"media"},[e.getMediaViewElement(t,n,i),t.createSlot()])}function LU(t){const e=t.getSelectedElement();if(e&&e.is("element","media")){return e}return null}function zU(t,e,n,i){t.change((o=>{const r=o.createElement("media",{url:e});t.insertObject(r,n,null,{setSelection:"on",findOptimalPosition:i?"auto":undefined})}))}class VU extends Wu{refresh(){const t=this.editor.model;const e=t.document.selection;const n=LU(e);this.value=n?n.getAttribute("url"):undefined;this.isEnabled=OU(e)||RU(e,t)}execute(t){const e=this.editor.model;const n=e.document.selection;const i=LU(n);if(i){e.change((e=>{e.setAttribute("url",t,i)}))}else{zU(e,t,n,true)}}}function RU(t,e){const n=xM(t,e);let i=n.start.parent;if(i.isEmpty&&!e.schema.isLimit(i)){i=i.parent}return e.schema.checkChild(i,"media")}function OU(t){const e=t.getSelectedElement();return!!e&&e.name==="media"}const FU='';const jU="0 0 64 42";class HU{constructor(t,e){const n=e.providers;const i=e.extraProviders||[];const o=new Set(e.removeProviders);const r=n.concat(i).filter((t=>{const e=t.name;if(!e){L("media-embed-no-provider-name",{provider:t});return false}return!o.has(e)}));this.locale=t;this.providerDefinitions=r}hasMedia(t){return!!this._getMedia(t)}getMediaViewElement(t,e,n){return this._getMedia(e).getViewElement(t,n)}_getMedia(t){if(!t){return new UU(this.locale)}t=t.trim();for(const e of this.providerDefinitions){const n=e.html;const i=ol(e.url);for(const e of i){const i=this._getUrlMatches(t,e);if(i){return new UU(this.locale,t,i,n)}}}return null}_getUrlMatches(t,e){let n=t.match(e);if(n){return n}let i=t.replace(/^https?:\/\//,"");n=i.match(e);if(n){return n}i=i.replace(/^www\./,"");n=i.match(e);if(n){return n}return null}}class UU{constructor(t,e,n,i){this.url=this._getValidUrl(e);this._locale=t;this._match=n;this._previewRenderer=i}getViewElement(t,e){const n={};let i;if(e.renderForEditingView||e.renderMediaPreview&&this.url&&this._previewRenderer){if(this.url){n["data-oembed-url"]=this.url}if(e.renderForEditingView){n.class="ck-media__wrapper"}const o=this._getPreviewHtml(e);i=t.createRawElement("div",n,((t,e)=>{e.setContentOf(t,o)}))}else{if(this.url){n.url=this.url}i=t.createEmptyElement(e.elementName,n)}t.setCustomProperty("media-content",true,i);return i}_getPreviewHtml(t){if(this._previewRenderer){return this._previewRenderer(this._match)}else{if(this.url&&t.renderForEditingView){return this._getPlaceholderHtml()}return""}}_getPlaceholderHtml(){const t=new Cd;const e=this._locale.t;t.content=FU;t.viewBox=jU;const n=new Hl({tag:"div",attributes:{class:"ck ck-reset_all ck-media__placeholder"},children:[{tag:"div",attributes:{class:"ck-media__placeholder__icon"},children:[t]},{tag:"a",attributes:{class:"ck-media__placeholder__url",target:"_blank",rel:"noopener noreferrer",href:this.url,"data-cke-tooltip-text":e("Open media in new tab")},children:[{tag:"span",attributes:{class:"ck-media__placeholder__url__text"},children:[this.url]}]}]}).render();return n.outerHTML}_getValidUrl(t){if(!t){return null}if(t.match(/^https?/)){return t}return"https://"+t}}var WU=n(1922);var GU={injectType:"singletonStyleTag",attributes:{"data-cke":true}};GU.insert="head";GU.singleton=true;var qU=Ll()(WU.Z,GU);const ZU=WU.Z.locals||{};class $U extends Hu{static get pluginName(){return"MediaEmbedEditing"}constructor(t){super(t);t.config.define("mediaEmbed",{elementName:"oembed",providers:[{name:"dailymotion",url:[/^dailymotion\.com\/video\/(\w+)/,/^dai.ly\/(\w+)/],html:t=>{const e=t[1];return'
'+`"+"
"}},{name:"spotify",url:[/^open\.spotify\.com\/(artist\/\w+)/,/^open\.spotify\.com\/(album\/\w+)/,/^open\.spotify\.com\/(track\/\w+)/],html:t=>{const e=t[1];return'
'+`"+"
"}},{name:"youtube",url:[/^(?:m\.)?youtube\.com\/watch\?v=([\w-]+)(?:&t=(\d+))?/,/^(?:m\.)?youtube\.com\/v\/([\w-]+)(?:\?t=(\d+))?/,/^youtube\.com\/embed\/([\w-]+)(?:\?start=(\d+))?/,/^youtu\.be\/([\w-]+)(?:\?t=(\d+))?/],html:t=>{const e=t[1];const n=t[2];return'
'+`"+"
"}},{name:"vimeo",url:[/^vimeo\.com\/(\d+)/,/^vimeo\.com\/[^/]+\/[^/]+\/video\/(\d+)/,/^vimeo\.com\/album\/[^/]+\/video\/(\d+)/,/^vimeo\.com\/channels\/[^/]+\/(\d+)/,/^vimeo\.com\/groups\/[^/]+\/videos\/(\d+)/,/^vimeo\.com\/ondemand\/[^/]+\/(\d+)/,/^player\.vimeo\.com\/video\/(\d+)/],html:t=>{const e=t[1];return'
'+`"+"
"}},{name:"instagram",url:/^instagram\.com\/p\/(\w+)/},{name:"twitter",url:/^twitter\.com/},{name:"googleMaps",url:[/^google\.com\/maps/,/^goo\.gl\/maps/,/^maps\.google\.com/,/^maps\.app\.goo\.gl/]},{name:"flickr",url:/^flickr\.com/},{name:"facebook",url:/^facebook\.com/}]});this.registry=new HU(t.locale,t.config.get("mediaEmbed"))}init(){const t=this.editor;const e=t.model.schema;const n=t.t;const i=t.conversion;const o=t.config.get("mediaEmbed.previewsInData");const r=t.config.get("mediaEmbed.elementName");const s=this.registry;t.commands.add("mediaEmbed",new VU(t));e.register("media",{inheritAllFrom:"$blockObject",allowAttributes:["url"]});i.for("dataDowncast").elementToStructure({model:"media",view:(t,{writer:e})=>{const n=t.getAttribute("url");return PU(e,s,n,{elementName:r,renderMediaPreview:!!n&&o})}});i.for("dataDowncast").add(SU(s,{elementName:r,renderMediaPreview:o}));i.for("editingDowncast").elementToStructure({model:"media",view:(t,{writer:e})=>{const i=t.getAttribute("url");const o=PU(e,s,i,{elementName:r,renderForEditingView:true});return BU(o,e,n("media widget"))}});i.for("editingDowncast").add(SU(s,{elementName:r,renderForEditingView:true}));i.for("upcast").elementToElement({view:t=>["oembed",r].includes(t.name)&&t.getAttribute("url")?{name:true}:null,model:(t,{writer:e})=>{const n=t.getAttribute("url");if(s.hasMedia(n)){return e.createElement("media",{url:n})}return null}}).elementToElement({view:{name:"div",attributes:{"data-oembed-url":true}},model:(t,{writer:e})=>{const n=t.getAttribute("data-oembed-url");if(s.hasMedia(n)){return e.createElement("media",{url:n})}return null}}).add((t=>{const e=(t,e,n)=>{if(!n.consumable.consume(e.viewItem,{name:true,classes:"media"})){return}const{modelRange:i,modelCursor:o}=n.convertChildren(e.viewItem,e.modelCursor);e.modelRange=i;e.modelCursor=o;const r=ml(i.getItems());if(!r){n.consumable.revert(e.viewItem,{name:true,classes:"media"})}};t.on("element:figure",e)}))}}const KU=/^(?:http(s)?:\/\/)?[\w-]+\.[\w-.~:/?#[\]@!$&'()*+,;=%]+$/;class YU extends Hu{static get requires(){return[KN,iS,dP]}static get pluginName(){return"AutoMediaEmbed"}constructor(t){super(t);this._timeoutId=null;this._positionToInsert=null}init(){const t=this.editor;const e=t.model.document;const n=t.plugins.get("ClipboardPipeline");this.listenTo(n,"inputTransformation",(()=>{const t=e.selection.getFirstRange();const n=dC.fromPosition(t.start);n.stickiness="toPrevious";const i=dC.fromPosition(t.end);i.stickiness="toNext";e.once("change:data",(()=>{this._embedMediaBetweenPositions(n,i);n.detach();i.detach()}),{priority:"high"})}));const i=t.commands.get("undo");i.on("execute",(()=>{if(this._timeoutId){nc.window.clearTimeout(this._timeoutId);this._positionToInsert.detach();this._timeoutId=null;this._positionToInsert=null}}),{priority:"high"})}_embedMediaBetweenPositions(t,e){const n=this.editor;const i=n.plugins.get($U).registry;const o=new mk(t,e);const r=o.getWalker({ignoreElementEnd:true});let s="";for(const t of r){if(t.item.is("$textProxy")){s+=t.item.data}}s=s.trim();if(!s.match(KU)){o.detach();return}if(!i.hasMedia(s)){o.detach();return}const a=n.commands.get("mediaEmbed");if(!a.isEnabled){o.detach();return}this._positionToInsert=dC.fromPosition(t);this._timeoutId=nc.window.setTimeout((()=>{n.model.change((t=>{this._timeoutId=null;t.remove(o);o.detach();let e=null;if(this._positionToInsert.root.rootName!=="$graveyard"){e=this._positionToInsert}zU(n.model,s,e,false);this._positionToInsert.detach();this._positionToInsert=null}));n.plugins.get(iS).requestUndoOnBackspace()}),100)}}var QU=n(7138);var JU={injectType:"singletonStyleTag",attributes:{"data-cke":true}};JU.insert="head";JU.singleton=true;var XU=Ll()(QU.Z,JU);const tW=QU.Z.locals||{};class eW extends Fl{constructor(t,e){super(e);const n=e.t;this.focusTracker=new pl;this.keystrokes=new bl;this.set("mediaURLInputValue","");this.urlInputView=this._createUrlInput();this.saveButtonView=this._createButton(n("Save"),_y.check,"ck-button-save");this.saveButtonView.type="submit";this.saveButtonView.bind("isEnabled").to(this,"mediaURLInputValue",(t=>!!t));this.cancelButtonView=this._createButton(n("Cancel"),_y.cancel,"ck-button-cancel","cancel");this._focusables=new Ml;this._focusCycler=new Pu({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}});this._validators=t;this.setTemplate({tag:"form",attributes:{class:["ck","ck-media-form","ck-responsive-form"],tabindex:"-1"},children:[this.urlInputView,this.saveButtonView,this.cancelButtonView]})}render(){super.render();o({view:this});const t=[this.urlInputView,this.saveButtonView,this.cancelButtonView];t.forEach((t=>{this._focusables.add(t);this.focusTracker.add(t.element)}));this.keystrokes.listenTo(this.element);const e=t=>t.stopPropagation();this.keystrokes.set("arrowright",e);this.keystrokes.set("arrowleft",e);this.keystrokes.set("arrowup",e);this.keystrokes.set("arrowdown",e)}destroy(){super.destroy();this.focusTracker.destroy();this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}get url(){return this.urlInputView.fieldView.element.value.trim()}set url(t){this.urlInputView.fieldView.element.value=t.trim()}isValid(){this.resetFormStatus();for(const t of this._validators){const e=t(this);if(e){this.urlInputView.errorText=e;return false}}return true}resetFormStatus(){this.urlInputView.errorText=null;this.urlInputView.infoText=this._urlInputViewInfoDefault}_createUrlInput(){const t=this.locale.t;const e=new du(this.locale,fx);const n=e.fieldView;this._urlInputViewInfoDefault=t("Paste the media URL in the input.");this._urlInputViewInfoTip=t("Tip: Paste the URL into the content to embed faster.");e.label=t("Media URL");e.infoText=this._urlInputViewInfoDefault;n.on("input",(()=>{e.infoText=n.element.value?this._urlInputViewInfoTip:this._urlInputViewInfoDefault;this.mediaURLInputValue=n.element.value.trim()}));return e}_createButton(t,e,n,i){const o=new Dd(this.locale);o.set({label:t,icon:e,tooltip:true});o.extendTemplate({attributes:{class:n}});if(i){o.delegate("execute").to(this,i)}return o}}const nW='';class iW extends Hu{static get requires(){return[$U]}static get pluginName(){return"MediaEmbedUI"}init(){const t=this.editor;const e=t.commands.get("mediaEmbed");t.ui.componentFactory.add("mediaEmbed",(t=>{const n=tx(t);this._setUpDropdown(n,e);return n}))}_setUpDropdown(t,n){const i=this.editor;const o=i.t;const r=t.buttonView;const s=i.plugins.get($U).registry;t.once("change:isOpen",(()=>{const o=new(e(eW))(oW(i.t,s),i.locale);t.panelView.children.add(o);r.on("open",(()=>{o.disableCssTransitions();o.url=n.value||"";o.urlInputView.fieldView.select();o.enableCssTransitions()}),{priority:"low"});t.on("submit",(()=>{if(o.isValid()){i.execute("mediaEmbed",o.url);i.editing.view.focus()}}));t.on("change:isOpen",(()=>o.resetFormStatus()));t.on("cancel",(()=>{i.editing.view.focus()}));o.delegate("submit","cancel").to(t);o.urlInputView.fieldView.bind("value").to(n,"value");o.urlInputView.bind("isEnabled").to(n,"isEnabled")}));t.bind("isEnabled").to(n);r.set({label:o("Insert media"),icon:nW,tooltip:true})}}function oW(t,e){return[e=>{if(!e.url.length){return t("The URL must not be empty.")}},n=>{if(!e.hasMedia(n.url)){return t("This media URL is not supported.")}}]}var rW=n(8705);var sW={injectType:"singletonStyleTag",attributes:{"data-cke":true}};sW.insert="head";sW.singleton=true;var aW=Ll()(rW.Z,sW);const cW=rW.Z.locals||{};class lW extends Hu{static get requires(){return[$U,iW,YU,oN]}static get pluginName(){return"MediaEmbed"}}class dW extends(null&&Plugin){static get requires(){return[WidgetToolbarRepository]}static get pluginName(){return"MediaEmbedToolbar"}afterInit(){const t=this.editor;const e=t.t;const n=t.plugins.get(WidgetToolbarRepository);n.register("mediaEmbed",{ariaLabel:e("Media toolbar"),items:t.config.get("mediaEmbed.toolbar")||[],getRelatedElement:getSelectedMediaViewWidget})}}function uW(t,e){if(!t.childCount){return}const n=new g_(t.document);const i=gW(t,n);if(!i.length){return}let o=null;let r=1;i.forEach(((t,s)=>{const a=_W(i[s-1],t);const c=a?null:i[s-1];const l=yW(c,t);if(a){o=null;r=1}if(!o||l!==0){const i=fW(t,e);if(!o){o=kW(i,t.element,n)}else if(t.indent>r){const t=o.getChild(o.childCount-1);const e=t.getChild(t.childCount-1);o=kW(i,e,n);r+=1}else if(t.indent1){n.setAttribute("start",t.startIndex,o)}return o}function wW(t,e){CW(t,e);e.removeStyle("text-indent",t);return e.rename("li",t)}function AW(t){const e={};const n=t.getStyle("mso-list");if(n){const t=n.match(/(^|\s{1,100})l(\d+)/i);const i=n.match(/\s{0,100}lfo(\d+)/i);const o=n.match(/\s{0,100}level(\d+)/i);if(t&&i&&o){e.id=t[2];e.order=i[1];e.indent=parseInt(o[1])}}return e}function CW(t,e){const n=new kh({name:"span",styles:{"mso-list":"Ignore"}});const i=e.createRangeIn(t);for(const t of i){if(t.type==="elementStart"&&n.match(t.item)){e.remove(t.item)}}}function _W(t,e){if(!t){return true}if(t.id!==e.id){if(e.indent-t.indent===1){return false}return true}const n=e.element.previousSibling;if(!n){return true}return!vW(n)}function vW(t){return t.is("element","ol")||t.is("element","ul")}function yW(t,e){return t?e.indent-t.indent:e.indent-1}function xW(t,e){const n=t.getAncestors({parentFirst:true});let i=null;let o=0;for(const t of n){if(t.is("element","ul")||t.is("element","ol")){o++}if(o===e){i=t;break}}return i}function EW(t,e){if(!t.childCount){return}const n=new g_(t.document);const i=TW(t,n);IW(i,t,n);BW(i,t,n);SW(t,n);const o=MW(t,n);if(o.length){PW(o,NW(e),n)}}function DW(t){return btoa(t.match(/\w{2}/g).map((t=>String.fromCharCode(parseInt(t,16)))).join(""))}function TW(t,e){const n=e.createRangeIn(t);const i=new kh({name:/v:(.+)/});const o=[];for(const t of n){if(t.type!="elementStart"){continue}const e=t.item;const n=e.previousSibling;const r=n&&n.is("element")?n.name:null;if(i.match(e)&&e.getAttribute("o:gfxdata")&&r!=="v:shapetype"){o.push(t.item.getAttribute("id"))}}return o}function IW(t,e,n){const i=n.createRangeIn(e);const o=new kh({name:"img"});const r=[];for(const e of i){if(e.item.is("element")&&o.match(e.item)){const n=e.item;const i=n.getAttribute("v:shapes")?n.getAttribute("v:shapes").split(" "):[];if(i.length&&i.every((e=>t.indexOf(e)>-1))){r.push(n)}else if(!n.getAttribute("src")){r.push(n)}}}for(const t of r){n.remove(t)}}function SW(t,e){const n=e.createRangeIn(t);const i=new kh({name:/v:(.+)/});const o=[];for(const t of n){if(t.type=="elementStart"&&i.match(t.item)){o.push(t.item)}}for(const t of o){e.remove(t)}}function BW(t,e,n){const i=n.createRangeIn(e);const o=[];for(const e of i){if(e.type=="elementStart"&&e.item.is("element","v:shape")){const n=e.item.getAttribute("id");if(t.includes(n)){continue}if(!r(e.item.parent.getChildren(),n)){o.push(e.item)}}}for(const t of o){const e={src:s(t)};if(t.hasAttribute("alt")){e.alt=t.getAttribute("alt")}const i=n.createElement("img",e);n.insertChild(t.index+1,i,t.parent)}function r(t,e){for(const n of t){if(n.is("element")){if(n.name=="img"&&n.getAttribute("v:shapes")==e){return true}if(r(n.getChildren(),e)){return true}}}return false}function s(t){for(const e of t.getChildren()){if(e.is("element")&&e.getAttribute("src")){return e.getAttribute("src")}}}}function MW(t,e){const n=e.createRangeIn(t);const i=new kh({name:"img"});const o=[];for(const t of n){if(t.item.is("element")&&i.match(t.item)){if(t.item.getAttribute("src").startsWith("file://")){o.push(t.item)}}}return o}function NW(t){if(!t){return[]}const e=/{\\pict[\s\S]+?\\bliptag-?\d+(\\blipupi-?\d+)?({\\\*\\blipuid\s?[\da-fA-F]+)?[\s}]*?/;const n=new RegExp("(?:("+e.source+"))([\\da-fA-F\\s]+)\\}","g");const i=t.match(n);const o=[];if(i){for(const t of i){let n=false;if(t.includes("\\pngblip")){n="image/png"}else if(t.includes("\\jpegblip")){n="image/jpeg"}if(n){o.push({hex:t.replace(e,"").replace(/[^\da-fA-F]/g,""),type:n})}}}return o}function PW(t,e,n){if(t.length===e.length){for(let i=0;i/i;const VW=/xmlns:o="urn:schemas-microsoft-com/i;class RW{constructor(t){this.document=t}isActive(t){return zW.test(t)||VW.test(t)}execute(t){const{body:e,stylesString:n}=t._parsedData;uW(e,n);EW(e,t.dataTransfer.getData("text/rtf"));LW(e);t.content=e}}function OW(t,e){for(const n of t.getChildren()){if(n.is("element","b")&&n.getStyle("font-weight")==="normal"){const i=t.getChildIndex(n);e.remove(n);e.insertChild(i,n.getChildren(),t)}}}function FW(t,e){const n=new Ff(e.document.stylesProcessor);const i=new Um(n,{renderingMode:"data"});const o=i.blockElements;const r=i.inlineObjectElements;const s=[];for(const n of e.createRangeIn(t)){const t=n.item;if(t.is("element","br")){const n=jW(t,"forward",e,{blockElements:o,inlineObjectElements:r});const i=jW(t,"backward",e,{blockElements:o,inlineObjectElements:r});const a=HW(n,o);const c=HW(i,o);if(c||a){s.push(t)}}}for(const t of s){if(t.hasClass("Apple-interchange-newline")){e.remove(t)}else{e.replace(t,e.createElement("p"))}}}function jW(t,e,n,{blockElements:i,inlineObjectElements:o}){let r=n.createPositionAt(t,e=="forward"?"after":"before");r=r.getLastMatchingPosition((({item:t})=>t.is("element")&&!i.includes(t.name)&&!o.includes(t.name)),{direction:e});return e=="forward"?r.nodeAfter:r.nodeBefore}function HW(t,e){return!!t&&t.is("element")&&e.includes(t.name)}const UW=/id=("|')docs-internal-guid-[-0-9a-f]+("|')/i;class WW{constructor(t){this.document=t}isActive(t){return UW.test(t)}execute(t){const e=new g_(this.document);const{body:n}=t._parsedData;OW(n,e);hW(n,e);FW(n,e);t.content=n}}function GW(t,e){for(const n of t.getChildren()){if(n.is("element","table")&&n.hasAttribute("xmlns")){e.removeAttribute("xmlns",n)}}}function qW(t,e){for(const n of t.getChildren()){if(n.is("element","google-sheets-html-origin")){const i=t.getChildIndex(n);e.remove(n);e.insertChild(i,n.getChildren(),t)}}}function ZW(t,e){for(const n of t.getChildren()){if(n.is("element","table")&&n.getStyle("width")==="0px"){e.removeStyle("width",n)}}}function $W(t,e){for(const n of Array.from(t.getChildren())){if(n.is("element","style")){e.remove(n)}}}const KW=/[^\S\r\n]*?)[\r\n]+([^\S\r\n]*<\/span>)/g,"$1$2").replace(/<\/span>/g,"").replace(/()[\r\n]+(<\/span>)/g,"$1 $2").replace(/ <\//g," <\/o:p>/g," ").replace(/( |\u00A0)<\/o:p>/g,"").replace(/>([^\S\r\n]*[\r\n]\s*)<")}function JW(t){t.querySelectorAll("span[style*=spacerun]").forEach((t=>{const e=t;const n=e.innerText.length||0;e.innerText=Array(n+1).join("  ").substr(0,n)}))}function XW(t){return t.replace(/(\s+)<\/span>/g,((t,e)=>e.length===1?" ":Array(e.length+1).join("  ").substr(0,e.length)))}function tG(t,e){const n=new DOMParser;t=t.replace(//g,"")}const dM=["figcaption","li"];const uM=["ol","ul"];function hM(t){if(t.is("$text")||t.is("$textProxy")){return t.data}if(t.is("element","img")&&t.hasAttribute("alt")){return t.getAttribute("alt")}if(t.is("element","br")){return"\n"}let e="";let n=null;for(const i of t.getChildren()){e+=gM(i,n)+hM(i);n=i}return e}function gM(t,e){if(!e){return""}if(t.is("element","li")&&!t.isEmpty&&t.getChild(0).is("containerElement")){return"\n\n"}if(uM.includes(t.name)&&uM.includes(e.name)){return"\n\n"}if(!t.is("containerElement")&&!e.is("containerElement")){return""}if(dM.includes(t.name)||dM.includes(e.name)){return"\n"}return"\n\n"}class fM extends ph{static get pluginName(){return"ClipboardPipeline"}init(){const t=this.editor;const e=t.editing.view;e.addObserver(sM);this._setupPasteDrop();this._setupCopyCut()}_fireOutputTransformationEvent(t,e,n){const i=this.editor.model.getSelectedContent(e);this.fire("outputTransformation",{dataTransfer:t,content:i,method:n})}_setupPasteDrop(){const t=this.editor;const e=t.model;const n=t.editing.view;const i=n.document;this.listenTo(i,"clipboardInput",((e,n)=>{if(n.method=="paste"&&!t.model.canEditAt(t.model.document.selection)){e.stop()}}),{priority:"highest"});this.listenTo(i,"clipboardInput",((t,e)=>{const i=e.dataTransfer;let o;if(e.content){o=e.content}else{let t="";if(i.getData("text/html")){t=lM(i.getData("text/html"))}else if(i.getData("text/plain")){t=cM(i.getData("text/plain"))}o=this.editor.data.htmlProcessor.toView(t)}const r=new D(this,"inputTransformation");this.fire(r,{content:o,dataTransfer:i,targetRanges:e.targetRanges,method:e.method});if(r.stop.called){t.stop()}n.scrollToTheSelection()}),{priority:"low"});this.listenTo(this,"inputTransformation",((t,n)=>{if(n.content.isEmpty){return}const i=this.editor.data;const o=i.toModel(n.content,"$clipboardHolder");if(o.childCount==0){return}t.stop();e.change((()=>{this.fire("contentInsertion",{content:o,method:n.method,dataTransfer:n.dataTransfer,targetRanges:n.targetRanges})}))}),{priority:"low"});this.listenTo(this,"contentInsertion",((t,n)=>{n.resultRange=e.insertContent(n.content)}),{priority:"low"})}_setupCopyCut(){const t=this.editor;const e=t.model.document;const n=t.editing.view;const i=n.document;const o=(t,n)=>{const i=n.dataTransfer;n.preventDefault();this._fireOutputTransformationEvent(i,e.selection,t.name)};this.listenTo(i,"copy",o,{priority:"low"});this.listenTo(i,"cut",((e,n)=>{if(!t.model.canEditAt(t.model.document.selection)){n.preventDefault()}else{o(e,n)}}),{priority:"low"});this.listenTo(this,"outputTransformation",((e,n)=>{const o=t.data.toView(n.content);i.fire("clipboardOutput",{dataTransfer:n.dataTransfer,content:o,method:n.method})}),{priority:"low"});this.listenTo(i,"clipboardOutput",((n,i)=>{if(!i.content.isEmpty){i.dataTransfer.setData("text/html",this.editor.data.htmlProcessor.toData(i.content));i.dataTransfer.setData("text/plain",hM(i.content))}if(i.method=="cut"){t.model.deleteContent(e.selection)}}),{priority:"low"})}}class mM extends(Z()){constructor(){super(...arguments);this._stack=[]}add(t,e){const n=this._stack;const i=n[0];this._insertDescriptor(t);const o=n[0];if(i!==o&&!pM(i,o)){this.fire("change:top",{oldDescriptor:i,newDescriptor:o,writer:e})}}remove(t,e){const n=this._stack;const i=n[0];this._removeDescriptor(t);const o=n[0];if(i!==o&&!pM(i,o)){this.fire("change:top",{oldDescriptor:i,newDescriptor:o,writer:e})}}_insertDescriptor(t){const e=this._stack;const n=e.findIndex((e=>e.id===t.id));if(pM(t,e[n])){return}if(n>-1){e.splice(n,1)}let i=0;while(e[i]&&bM(e[i],t)){i++}e.splice(i,0,t)}_removeDescriptor(t){const e=this._stack;const n=e.findIndex((e=>e.id===t));if(n>-1){e.splice(n,1)}}}function pM(t,e){return t&&e&&t.priority==e.priority&&kM(t.classes)==kM(e.classes)}function bM(t,e){if(t.priority>e.priority){return true}else if(t.prioritykM(e.classes)}function kM(t){return Array.isArray(t)?t.sort().join(","):t}const wM='';const AM="ck-widget";const CM="ck-widget_selected";function _M(t){if(!t.is("element")){return false}return!!t.getCustomProperty("widget")}function vM(t,e,n={}){if(!t.is("containerElement")){throw new P("widget-to-widget-wrong-element-type",null,{element:t})}e.setAttribute("contenteditable","false",t);e.addClass(AM,t);e.setCustomProperty("widget",true,t);t.getFillerOffset=MM;e.setCustomProperty("widgetLabel",[],t);if(n.label){DM(t,n.label)}if(n.hasSelectionHandle){NM(t,e)}EM(t,e);return t}function yM(t,e,n){if(e.classes){n.addClass(ol(e.classes),t)}if(e.attributes){for(const i in e.attributes){n.setAttribute(i,e.attributes[i],t)}}}function xM(t,e,n){if(e.classes){n.removeClass(ol(e.classes),t)}if(e.attributes){for(const i in e.attributes){n.removeAttribute(i,t)}}}function EM(t,e,n=yM,i=xM){const o=new mM;o.on("change:top",((e,o)=>{if(o.oldDescriptor){i(t,o.oldDescriptor,o.writer)}if(o.newDescriptor){n(t,o.newDescriptor,o.writer)}}));const r=(t,e,n)=>o.add(e,n);const s=(t,e,n)=>o.remove(e,n);e.setCustomProperty("addHighlight",r,t);e.setCustomProperty("removeHighlight",s,t)}function DM(t,e){const n=t.getCustomProperty("widgetLabel");n.push(e)}function TM(t){const e=t.getCustomProperty("widgetLabel");return e.reduce(((t,e)=>{if(typeof e==="function"){return t?t+". "+e():e()}else{return t?t+". "+e:e}}),"")}function IM(t,e,n={}){e.addClass(["ck-editor__editable","ck-editor__nested-editable"],t);e.setAttribute("role","textbox",t);if(n.label){e.setAttribute("aria-label",n.label,t)}e.setAttribute("contenteditable",t.isReadOnly?"false":"true",t);t.on("change:isReadOnly",((n,i,o)=>{e.setAttribute("contenteditable",o?"false":"true",t)}));t.on("change:isFocused",((n,i,o)=>{if(o){e.addClass("ck-editor__nested-editable_focused",t)}else{e.removeClass("ck-editor__nested-editable_focused",t)}}));EM(t,e);return t}function SM(t,e){const n=t.getSelectedElement();if(n){const i=OM(t);if(i){return e.createRange(e.createPositionAt(n,i))}}return e.schema.findOptimalInsertionRange(t)}function BM(t,e){return(n,i)=>{const{mapper:o,viewPosition:r}=i;const s=o.findMappedViewAncestor(r);if(!e(s)){return}const a=o.toModelElement(s);i.modelPosition=t.createPositionAt(a,r.isAtStart?"before":"after")}}function MM(){return null}function NM(t,e){const n=e.createUIElement("div",{class:"ck ck-widget__selection-handle"},(function(t){const e=this.toDomElement(t);const n=new Cd;n.set("content",wM);n.render();e.appendChild(n.element);return e}));e.insert(e.createPositionAt(t,0),n);e.addClass(["ck-widget_with-selection-handle"],t)}const PM="widget-type-around";function LM(t,e,n){return!!t&&_M(t)&&!n.isInline(e)}function zM(t){return t.closest(".ck-widget__type-around__button")}function VM(t){return t.classList.contains("ck-widget__type-around__button_before")?"before":"after"}function RM(t,e){const n=t.closest(".ck-widget");return e.mapDomToView(n)}function OM(t){return t.getAttribute(PM)}const FM='';var jM=n(2347);var HM={injectType:"singletonStyleTag",attributes:{"data-cke":true}};HM.insert="head";HM.singleton=true;var UM=Ll()(jM.Z,HM);const WM=jM.Z.locals||{};const GM=["before","after"];const qM=(new DOMParser).parseFromString(FM,"image/svg+xml").firstChild;const ZM="ck-widget__type-around_disabled";class $M extends ph{constructor(){super(...arguments);this._currentFakeCaretModelElement=null}static get pluginName(){return"WidgetTypeAround"}static get requires(){return[BB,cS]}init(){const t=this.editor;const e=t.editing.view;this.on("change:isEnabled",((n,i,o)=>{e.change((t=>{for(const n of e.document.roots){if(o){t.removeClass(ZM,n)}else{t.addClass(ZM,n)}}}));if(!o){t.model.change((t=>{t.removeSelectionAttribute(PM)}))}}));this._enableTypeAroundUIInjection();this._enableInsertingParagraphsOnButtonClick();this._enableInsertingParagraphsOnEnterKeypress();this._enableInsertingParagraphsOnTypingKeystroke();this._enableTypeAroundFakeCaretActivationUsingKeyboardArrows();this._enableDeleteIntegration();this._enableInsertContentIntegration();this._enableInsertObjectIntegration();this._enableDeleteContentIntegration()}destroy(){super.destroy();this._currentFakeCaretModelElement=null}_insertParagraph(t,e){const n=this.editor;const i=n.editing.view;const o=n.model.schema.getAttributesWithProperty(t,"copyOnReplace",true);n.execute("insertParagraph",{position:n.model.createPositionAt(t,e),attributes:o});i.focus();i.scrollToTheSelection()}_listenToIfEnabled(t,e,n,i){this.listenTo(t,e,((...t)=>{if(this.isEnabled){n(...t)}}),i)}_insertParagraphAccordingToFakeCaretPosition(){const t=this.editor;const e=t.model;const n=e.document.selection;const i=OM(n);if(!i){return false}const o=n.getSelectedElement();this._insertParagraph(o,i);return true}_enableTypeAroundUIInjection(){const t=this.editor;const e=t.model.schema;const n=t.locale.t;const i={before:n("Insert paragraph before block"),after:n("Insert paragraph after block")};t.editing.downcastDispatcher.on("insert",((t,o,r)=>{const s=r.mapper.toViewElement(o.item);if(!s){return}if(LM(s,o.item,e)){KM(r.writer,i,s);const t=s.getCustomProperty("widgetLabel");t.push((()=>this.isEnabled?n("Press Enter to type after or press Shift + Enter to type before the widget"):""))}}),{priority:"low"})}_enableTypeAroundFakeCaretActivationUsingKeyboardArrows(){const t=this.editor;const e=t.model;const n=e.document.selection;const i=e.schema;const o=t.editing.view;this._listenToIfEnabled(o.document,"arrowKey",((t,e)=>{this._handleArrowKeyPress(t,e)}),{context:[_M,"$text"],priority:"high"});this._listenToIfEnabled(n,"change:range",((e,n)=>{if(!n.directChange){return}t.model.change((t=>{t.removeSelectionAttribute(PM)}))}));this._listenToIfEnabled(e.document,"change:data",(()=>{const e=n.getSelectedElement();if(e){const n=t.editing.mapper.toViewElement(e);if(LM(n,e,i)){return}}t.model.change((t=>{t.removeSelectionAttribute(PM)}))}));this._listenToIfEnabled(t.editing.downcastDispatcher,"selection",((t,e,n)=>{const o=n.writer;if(this._currentFakeCaretModelElement){const t=n.mapper.toViewElement(this._currentFakeCaretModelElement);if(t){o.removeClass(GM.map(r),t);this._currentFakeCaretModelElement=null}}const s=e.selection.getSelectedElement();if(!s){return}const a=n.mapper.toViewElement(s);if(!LM(a,s,i)){return}const c=OM(e.selection);if(!c){return}o.addClass(r(c),a);this._currentFakeCaretModelElement=s}));this._listenToIfEnabled(t.ui.focusTracker,"change:isFocused",((e,n,i)=>{if(!i){t.model.change((t=>{t.removeSelectionAttribute(PM)}))}}));function r(t){return`ck-widget_type-around_show-fake-caret_${t}`}}_handleArrowKeyPress(t,e){const n=this.editor;const i=n.model;const o=i.document.selection;const r=i.schema;const s=n.editing.view;const a=e.keyCode;const c=el(a,n.locale.contentLanguageDirection);const l=s.document.selection.getSelectedElement();const d=n.editing.mapper.toModelElement(l);let u;if(LM(l,d,r)){u=this._handleArrowKeyPressOnSelectedWidget(c)}else if(o.isCollapsed){u=this._handleArrowKeyPressWhenSelectionNextToAWidget(c)}else if(!e.shiftKey){u=this._handleArrowKeyPressWhenNonCollapsedSelection(c)}if(u){e.preventDefault();t.stop()}}_handleArrowKeyPressOnSelectedWidget(t){const e=this.editor;const n=e.model;const i=n.document.selection;const o=OM(i);return n.change((e=>{if(o){const n=o===(t?"after":"before");if(!n){e.removeSelectionAttribute(PM);return true}}else{e.setSelectionAttribute(PM,t?"after":"before");return true}return false}))}_handleArrowKeyPressWhenSelectionNextToAWidget(t){const e=this.editor;const n=e.model;const i=n.schema;const o=e.plugins.get("Widget");const r=o._getObjectElementNextToSelection(t);const s=e.editing.mapper.toViewElement(r);if(LM(s,r,i)){n.change((e=>{o._setSelectionOverElement(r);e.setSelectionAttribute(PM,t?"before":"after")}));return true}return false}_handleArrowKeyPressWhenNonCollapsedSelection(t){const e=this.editor;const n=e.model;const i=n.schema;const o=e.editing.mapper;const r=n.document.selection;const s=t?r.getLastPosition().nodeBefore:r.getFirstPosition().nodeAfter;const a=o.toViewElement(s);if(LM(a,s,i)){n.change((e=>{e.setSelection(s,"on");e.setSelectionAttribute(PM,t?"after":"before")}));return true}return false}_enableInsertingParagraphsOnButtonClick(){const t=this.editor;const e=t.editing.view;this._listenToIfEnabled(e.document,"mousedown",((n,i)=>{const o=zM(i.domTarget);if(!o){return}const r=VM(o);const s=RM(o,e.domConverter);const a=t.editing.mapper.toModelElement(s);this._insertParagraph(a,r);i.preventDefault();n.stop()}))}_enableInsertingParagraphsOnEnterKeypress(){const t=this.editor;const e=t.model.document.selection;const n=t.editing.view;this._listenToIfEnabled(n.document,"enter",((n,i)=>{if(n.eventPhase!="atTarget"){return}const o=e.getSelectedElement();const r=t.editing.mapper.toViewElement(o);const s=t.model.schema;let a;if(this._insertParagraphAccordingToFakeCaretPosition()){a=true}else if(LM(r,o,s)){this._insertParagraph(o,i.isSoft?"before":"after");a=true}if(a){i.preventDefault();n.stop()}}),{context:_M})}_enableInsertingParagraphsOnTypingKeystroke(){const t=this.editor;const e=t.editing.view.document;this._listenToIfEnabled(e,"insertText",((t,n)=>{if(this._insertParagraphAccordingToFakeCaretPosition()){n.selection=e.selection}}),{priority:"high"});if(l.isAndroid){this._listenToIfEnabled(e,"keydown",((t,e)=>{if(e.keyCode==229){this._insertParagraphAccordingToFakeCaretPosition()}}))}else{this._listenToIfEnabled(e,"compositionstart",(()=>{this._insertParagraphAccordingToFakeCaretPosition()}),{priority:"high"})}}_enableDeleteIntegration(){const t=this.editor;const e=t.editing.view;const n=t.model;const i=n.schema;this._listenToIfEnabled(e.document,"delete",((e,o)=>{if(e.eventPhase!="atTarget"){return}const r=OM(n.document.selection);if(!r){return}const s=o.direction;const a=n.document.selection.getSelectedElement();const c=r==="before";const l=s=="forward";const d=c===l;if(d){t.execute("delete",{selection:n.createSelection(a,"on")})}else{const e=i.getNearestSelectionRange(n.createPositionAt(a,r),s);if(e){if(!e.isCollapsed){n.change((n=>{n.setSelection(e);t.execute(l?"deleteForward":"delete")}))}else{const o=n.createSelection(e.start);n.modifySelection(o,{direction:s});if(!o.focus.isEqual(e.start)){n.change((n=>{n.setSelection(e);t.execute(l?"deleteForward":"delete")}))}else{const t=JM(i,e.start.parent);n.deleteContent(n.createSelection(t,"on"),{doNotAutoparagraph:true})}}}}o.preventDefault();e.stop()}),{context:_M})}_enableInsertContentIntegration(){const t=this.editor;const e=this.editor.model;const n=e.document.selection;this._listenToIfEnabled(t.model,"insertContent",((t,[i,o])=>{if(o&&!o.is("documentSelection")){return}const r=OM(n);if(!r){return}t.stop();return e.change((t=>{const o=n.getSelectedElement();const s=e.createPositionAt(o,r);const a=t.createSelection(s);const c=e.insertContent(i,a);t.setSelection(a);return c}))}),{priority:"high"})}_enableInsertObjectIntegration(){const t=this.editor;const e=this.editor.model;const n=e.document.selection;this._listenToIfEnabled(t.model,"insertObject",((t,e)=>{const[,i,o={}]=e;if(i&&!i.is("documentSelection")){return}const r=OM(n);if(!r){return}o.findOptimalPosition=r;e[3]=o}),{priority:"high"})}_enableDeleteContentIntegration(){const t=this.editor;const e=this.editor.model;const n=e.document.selection;this._listenToIfEnabled(t.model,"deleteContent",((t,[e])=>{if(e&&!e.is("documentSelection")){return}const i=OM(n);if(i){t.stop()}}),{priority:"high"})}}function KM(t,e,n){const i=t.createUIElement("div",{class:"ck ck-reset_all ck-widget__type-around"},(function(t){const n=this.toDomElement(t);YM(n,e);QM(n);return n}));t.insert(t.createPositionAt(n,"end"),i)}function YM(t,e){for(const n of GM){const i=new Hl({tag:"div",attributes:{class:["ck","ck-widget__type-around__button",`ck-widget__type-around__button_${n}`],title:e[n],"aria-hidden":"true"},children:[t.ownerDocument.importNode(qM,true)]});t.appendChild(i.render())}}function QM(t){const e=new Hl({tag:"div",attributes:{class:["ck","ck-widget__type-around__fake-caret"]}});t.appendChild(e.render())}function JM(t,e){let n=e;for(const i of e.getAncestors({parentFirst:true})){if(i.childCount>1||t.isLimit(i)){break}n=i}return n}function XM(t){const e=t.model;return(n,i)=>{const o=i.keyCode==Zc.arrowup;const r=i.keyCode==Zc.arrowdown;const s=i.shiftKey;const a=e.document.selection;if(!o&&!r){return}const c=r;if(s&&oN(a,c)){return}const l=tN(t,a,c);if(!l){return}if(l.isCollapsed){if(a.isCollapsed){return}else if(s){return}}if(l.isCollapsed||iN(t,l,c)){e.change((t=>{const n=c?l.end:l.start;if(s){const i=e.createSelection(a.anchor);i.setFocus(n);t.setSelection(i)}else{t.setSelection(n)}}));n.stop();i.preventDefault();i.stopPropagation()}}}function tN(t,e,n){const i=t.model;if(n){const t=e.isCollapsed?e.focus:e.getLastPosition();const n=eN(i,t,"forward");if(!n){return null}const o=i.createRange(t,n);const r=nN(i.schema,o,"backward");if(r){return i.createRange(t,r)}return null}else{const t=e.isCollapsed?e.focus:e.getFirstPosition();const n=eN(i,t,"backward");if(!n){return null}const o=i.createRange(n,t);const r=nN(i.schema,o,"forward");if(r){return i.createRange(r,t)}return null}}function eN(t,e,n){const i=t.schema;const o=t.createRangeIn(e.root);const r=n=="forward"?"elementStart":"elementEnd";for(const{previousPosition:t,item:s,type:a}of o.getWalker({startPosition:e,direction:n})){if(i.isLimit(s)&&!i.isInline(s)){return t}if(a==r&&i.isBlock(s)){return null}}return null}function nN(t,e,n){const i=n=="backward"?e.end:e.start;if(t.checkChild(i,"$text")){return i}for(const{nextPosition:i}of e.getWalker({direction:n})){if(t.checkChild(i,"$text")){return i}}return null}function iN(t,e,n){const i=t.model;const o=t.view.domConverter;if(n){const t=i.createSelection(e.start);i.modifySelection(t);if(!t.focus.isAtEnd&&!e.start.isEqual(t.focus)){e=i.createRange(t.focus,e.end)}}const r=t.mapper.toViewRange(e);const s=o.viewRangeToDom(r);const a=uc.getDomRangeRects(s);let c;for(const t of a){if(c===undefined){c=Math.round(t.bottom);continue}if(Math.round(t.top)>=c){return false}c=Math.max(c,Math.round(t.bottom))}return true}function oN(t,e){return!t.isCollapsed&&t.isBackward==e}var rN=n(7153);var sN={injectType:"singletonStyleTag",attributes:{"data-cke":true}};sN.insert="head";sN.singleton=true;var aN=Ll()(rN.Z,sN);const cN=rN.Z.locals||{};class lN extends ph{constructor(){super(...arguments);this._previouslySelected=new Set}static get pluginName(){return"Widget"}static get requires(){return[$M,cS]}init(){const t=this.editor;const e=t.editing.view;const n=e.document;this.editor.editing.downcastDispatcher.on("selection",((e,n,i)=>{const o=i.writer;const r=n.selection;if(r.isCollapsed){return}const s=r.getSelectedElement();if(!s){return}const a=t.editing.mapper.toViewElement(s);if(!_M(a)){return}if(!i.consumable.consume(r,"selection")){return}o.setSelection(o.createRangeOn(a),{fake:true,label:TM(a)})}));this.editor.editing.downcastDispatcher.on("selection",((t,e,n)=>{this._clearPreviouslySelectedWidgets(n.writer);const i=n.writer;const o=i.document.selection;let r=null;for(const t of o.getRanges()){for(const e of t){const t=e.item;if(_M(t)&&!uN(t,r)){i.addClass(CM,t);this._previouslySelected.add(t);r=t}}}}),{priority:"low"});e.addObserver(b_);this.listenTo(n,"mousedown",((...t)=>this._onMousedown(...t)));this.listenTo(n,"arrowKey",((...t)=>{this._handleSelectionChangeOnArrowKeyPress(...t)}),{context:[_M,"$text"]});this.listenTo(n,"arrowKey",((...t)=>{this._preventDefaultOnArrowKeyPress(...t)}),{context:"$root"});this.listenTo(n,"arrowKey",XM(this.editor.editing),{context:"$text"});this.listenTo(n,"delete",((t,e)=>{if(this._handleDelete(e.direction=="forward")){e.preventDefault();t.stop()}}),{context:"$root"})}_onMousedown(t,e){const n=this.editor;const i=n.editing.view;const o=i.document;let r=e.target;if(e.domEvent.detail>=3){if(this._selectBlockContent(r)){e.preventDefault()}return}if(dN(r)){return}if(!_M(r)){r=r.findAncestor(_M);if(!r){return}}if(l.isAndroid){e.preventDefault()}if(!o.isFocused){i.focus()}const s=n.editing.mapper.toModelElement(r);this._setSelectionOverElement(s)}_selectBlockContent(t){const e=this.editor;const n=e.model;const i=e.editing.mapper;const o=n.schema;const r=i.findMappedViewAncestor(this.editor.editing.view.createPositionAt(t,0));const s=hN(i.toModelElement(r),n.schema);if(!s){return false}n.change((t=>{const e=!o.isLimit(s)?gN(t.createPositionAfter(s),o):null;const n=t.createPositionAt(s,0);const i=e?t.createPositionAt(e,0):t.createPositionAt(s,"end");t.setSelection(t.createRange(n,i))}));return true}_handleSelectionChangeOnArrowKeyPress(t,e){const n=e.keyCode;const i=this.editor.model;const o=i.schema;const r=i.document.selection;const s=r.getSelectedElement();const a=Xc(n,this.editor.locale.contentLanguageDirection);const c=a=="down"||a=="right";const l=a=="up"||a=="down";if(s&&o.isObject(s)){const n=c?r.getLastPosition():r.getFirstPosition();const s=o.getNearestSelectionRange(n,c?"forward":"backward");if(s){i.change((t=>{t.setSelection(s)}));e.preventDefault();t.stop()}return}if(!r.isCollapsed&&!e.shiftKey){const n=r.getFirstPosition();const s=r.getLastPosition();const a=n.nodeAfter;const l=s.nodeBefore;if(a&&o.isObject(a)||l&&o.isObject(l)){i.change((t=>{t.setSelection(c?s:n)}));e.preventDefault();t.stop()}return}if(!r.isCollapsed){return}const d=this._getObjectElementNextToSelection(c);if(d&&o.isObject(d)){if(o.isInline(d)&&l){return}this._setSelectionOverElement(d);e.preventDefault();t.stop()}}_preventDefaultOnArrowKeyPress(t,e){const n=this.editor.model;const i=n.schema;const o=n.document.selection.getSelectedElement();if(o&&i.isObject(o)){e.preventDefault();t.stop()}}_handleDelete(t){const e=this.editor.model.document;const n=e.selection;if(!this.editor.model.canEditAt(n)){return}if(!n.isCollapsed){return}const i=this._getObjectElementNextToSelection(t);if(i){this.editor.model.change((t=>{let e=n.anchor.parent;while(e.isEmpty){const n=e;e=n.parent;t.remove(n)}this._setSelectionOverElement(i)}));return true}}_setSelectionOverElement(t){this.editor.model.change((e=>{e.setSelection(e.createRangeOn(t))}))}_getObjectElementNextToSelection(t){const e=this.editor.model;const n=e.schema;const i=e.document.selection;const o=e.createSelection(i);e.modifySelection(o,{direction:t?"forward":"backward"});if(o.isEqual(i)){return null}const r=t?o.focus.nodeBefore:o.focus.nodeAfter;if(!!r&&n.isObject(r)){return r}return null}_clearPreviouslySelectedWidgets(t){for(const e of this._previouslySelected){t.removeClass(CM,e)}this._previouslySelected.clear()}}function dN(t){let e=t;while(e){if(e.is("editableElement")&&!e.is("rootElement")){return true}if(_M(e)){return false}e=e.parent}return false}function uN(t,e){if(!e){return false}return Array.from(t.getAncestors()).includes(e)}function hN(t,e){for(const n of t.getAncestors({includeSelf:true,parentFirst:true})){if(e.checkChild(n,"$text")){return n}if(e.isLimit(n)&&!e.isObject(n)){break}}return null}function gN(t,e){const n=new Kb({startPosition:t});for(const{item:t}of n){if(e.isLimit(t)||!t.is("element")){return null}if(e.checkChild(t,"$text")){return t}}return null}class fN extends ph{constructor(){super(...arguments);this._toolbarDefinitions=new Map}static get requires(){return[TT]}static get pluginName(){return"WidgetToolbarRepository"}init(){const t=this.editor;if(t.plugins.has("BalloonToolbar")){const e=t.plugins.get("BalloonToolbar");this.listenTo(e,"show",(e=>{if(bN(t.editing.view.document.selection)){e.stop()}}),{priority:"high"})}this._balloon=this.editor.plugins.get("ContextualBalloon");this.on("change:isEnabled",(()=>{this._updateToolbarsVisibility()}));this.listenTo(t.ui,"update",(()=>{this._updateToolbarsVisibility()}));this.listenTo(t.ui.focusTracker,"change:isFocused",(()=>{this._updateToolbarsVisibility()}),{priority:"low"})}destroy(){super.destroy();for(const t of this._toolbarDefinitions.values()){t.view.destroy()}}register(t,{ariaLabel:e,items:n,getRelatedElement:i,balloonClassName:o="ck-toolbar-container"}){if(!n.length){L("widget-toolbar-no-items",{toolbarId:t});return}const r=this.editor;const s=r.t;const a=new Py(r.locale);a.ariaLabel=e||s("Widget toolbar");if(this._toolbarDefinitions.has(t)){throw new P("widget-toolbar-duplicated",this,{toolbarId:t})}const c={view:a,getRelatedElement:i,balloonClassName:o,itemsConfig:n,initialized:false};r.ui.addToolbar(a,{isContextual:true,beforeFocus:()=>{const t=i(r.editing.view.document.selection);if(t){this._showToolbar(c,t)}},afterBlur:()=>{this._hideToolbar(c)}});this._toolbarDefinitions.set(t,c)}_updateToolbarsVisibility(){let t=0;let e=null;let n=null;for(const i of this._toolbarDefinitions.values()){const o=i.getRelatedElement(this.editor.editing.view.document.selection);if(!this.isEnabled||!o){if(this._isToolbarInBalloon(i)){this._hideToolbar(i)}}else if(!this.editor.ui.focusTracker.isFocused){if(this._isToolbarVisible(i)){this._hideToolbar(i)}}else{const r=o.getAncestors().length;if(r>t){t=r;e=o;n=i}}}if(n){this._showToolbar(n,e)}}_hideToolbar(t){this._balloon.remove(t.view);this.stopListening(this._balloon,"change:visibleView")}_showToolbar(t,e){if(this._isToolbarVisible(t)){mN(this.editor,e)}else if(!this._isToolbarInBalloon(t)){if(!t.initialized){t.initialized=true;t.view.fillFromConfig(t.itemsConfig,this.editor.ui.componentFactory)}this._balloon.add({view:t.view,position:pN(this.editor,e),balloonClassName:t.balloonClassName});this.listenTo(this._balloon,"change:visibleView",(()=>{for(const t of this._toolbarDefinitions.values()){if(this._isToolbarVisible(t)){const e=t.getRelatedElement(this.editor.editing.view.document.selection);mN(this.editor,e)}}}))}}_isToolbarVisible(t){return this._balloon.visibleView===t.view}_isToolbarInBalloon(t){return this._balloon.hasView(t.view)}}function mN(t,e){const n=t.plugins.get("ContextualBalloon");const i=pN(t,e);n.updatePosition(i)}function pN(t,e){const n=t.editing.view;const i=yD.defaultPositions;return{target:n.domConverter.mapViewToDom(e),positions:[i.northArrowSouth,i.northArrowSouthWest,i.northArrowSouthEast,i.southArrowNorth,i.southArrowNorthWest,i.southArrowNorthEast,i.viewportStickyNorth]}}function bN(t){const e=t.getSelectedElement();return!!(e&&_M(e))}class kN extends(gt()){constructor(t){super();this.set("activeHandlePosition",null);this.set("proposedWidthPercents",null);this.set("proposedWidth",null);this.set("proposedHeight",null);this.set("proposedHandleHostWidth",null);this.set("proposedHandleHostHeight",null);this._options=t;this._referenceCoordinates=null}get originalWidth(){return this._originalWidth}get originalHeight(){return this._originalHeight}get originalWidthPercents(){return this._originalWidthPercents}get aspectRatio(){return this._aspectRatio}begin(t,e,n){const i=new uc(e);this.activeHandlePosition=_N(t);this._referenceCoordinates=AN(e,vN(this.activeHandlePosition));this._originalWidth=i.width;this._originalHeight=i.height;this._aspectRatio=i.width/i.height;const o=n.style.width;if(o&&o.match(/^\d+(\.\d*)?%$/)){this._originalWidthPercents=parseFloat(o)}else{this._originalWidthPercents=wN(n,i)}}update(t){this.proposedWidth=t.width;this.proposedHeight=t.height;this.proposedWidthPercents=t.widthPercents;this.proposedHandleHostWidth=t.handleHostWidth;this.proposedHandleHostHeight=t.handleHostHeight}}function wN(t,e){const n=t.parentElement;let i=parseFloat(n.ownerDocument.defaultView.getComputedStyle(n).width);const o=5;let r=0;let s=n;while(isNaN(i)){s=s.parentElement;if(++r>o){return 0}i=parseFloat(n.ownerDocument.defaultView.getComputedStyle(s).width)}return e.width/i*100}function AN(t,e){const n=new uc(t);const i=e.split("-");const o={x:i[1]=="right"?n.right:n.left,y:i[0]=="bottom"?n.bottom:n.top};o.x+=t.ownerDocument.defaultView.scrollX;o.y+=t.ownerDocument.defaultView.scrollY;return o}function CN(t){return`ck-widget__resizer__handle-${t}`}function _N(t){const e=["top-left","top-right","bottom-right","bottom-left"];for(const n of e){if(t.classList.contains(CN(n))){return n}}}function vN(t){const e=t.split("-");const n={top:"bottom",bottom:"top",left:"right",right:"left"};return`${n[e[0]]}-${n[e[1]]}`}class yN extends Fl{constructor(){super();const t=this.bindTemplate;this.setTemplate({tag:"div",attributes:{class:["ck","ck-size-view",t.to("_viewPosition",(t=>t?`ck-orientation-${t}`:""))],style:{display:t.if("_isVisible","none",(t=>!t))}},children:[{text:t.to("_label")}]})}_bindToState(t,e){this.bind("_isVisible").to(e,"proposedWidth",e,"proposedHeight",((t,e)=>t!==null&&e!==null));this.bind("_label").to(e,"proposedHandleHostWidth",e,"proposedHandleHostHeight",e,"proposedWidthPercents",((e,n,i)=>{if(t.unit==="px"){return`${e}×${n}`}else{return`${i}%`}}));this.bind("_viewPosition").to(e,"activeHandlePosition",e,"proposedHandleHostWidth",e,"proposedHandleHostHeight",((t,e,n)=>e<50||n<50?"above-center":t))}_dismiss(){this.unbind();this._isVisible=false}}class xN extends(gt()){constructor(t){super();this._viewResizerWrapper=null;this._options=t;this.set("isEnabled",true);this.set("isSelected",false);this.bind("isVisible").to(this,"isEnabled",this,"isSelected",((t,e)=>t&&e));this.decorate("begin");this.decorate("cancel");this.decorate("commit");this.decorate("updateSize");this.on("commit",(t=>{if(!this.state.proposedWidth&&!this.state.proposedWidthPercents){this._cleanup();t.stop()}}),{priority:"high"})}get state(){return this._state}show(){const t=this._options.editor.editing.view;t.change((t=>{t.removeClass("ck-hidden",this._viewResizerWrapper)}))}hide(){const t=this._options.editor.editing.view;t.change((t=>{t.addClass("ck-hidden",this._viewResizerWrapper)}))}attach(){const t=this;const e=this._options.viewElement;const n=this._options.editor.editing.view;n.change((n=>{const i=n.createUIElement("div",{class:"ck ck-reset_all ck-widget__resizer"},(function(e){const n=this.toDomElement(e);t._appendHandles(n);t._appendSizeUI(n);return n}));n.insert(n.createPositionAt(e,"end"),i);n.addClass("ck-widget_with-resizer",e);this._viewResizerWrapper=i;if(!this.isVisible){this.hide()}}));this.on("change:isVisible",(()=>{if(this.isVisible){this.show();this.redraw()}else{this.hide()}}))}begin(t){this._state=new kN(this._options);this._sizeView._bindToState(this._options,this.state);this._initialViewWidth=this._options.viewElement.getStyle("width");this.state.begin(t,this._getHandleHost(),this._getResizeHost())}updateSize(t){const e=this._proposeNewSize(t);const n=this._options.editor.editing.view;n.change((t=>{const n=this._options.unit||"%";const i=(n==="%"?e.widthPercents:e.width)+n;t.setStyle("width",i,this._options.viewElement)}));const i=this._getHandleHost();const o=new uc(i);const r=Math.round(o.width);const s=Math.round(o.height);const a=new uc(i);e.width=Math.round(a.width);e.height=Math.round(a.height);this.redraw(o);this.state.update({...e,handleHostWidth:r,handleHostHeight:s})}commit(){const t=this._options.unit||"%";const e=(t==="%"?this.state.proposedWidthPercents:this.state.proposedWidth)+t;this._options.editor.editing.view.change((()=>{this._cleanup();this._options.onCommit(e)}))}cancel(){this._cleanup()}destroy(){this.cancel()}redraw(t){const e=this._domResizerWrapper;if(!TN(e)){return}const n=e.parentElement;const i=this._getHandleHost();const o=this._viewResizerWrapper;const r=[o.getStyle("width"),o.getStyle("height"),o.getStyle("left"),o.getStyle("top")];let s;if(n.isSameNode(i)){const e=t||new uc(i);s=[e.width+"px",e.height+"px",undefined,undefined]}else{s=[i.offsetWidth+"px",i.offsetHeight+"px",i.offsetLeft+"px",i.offsetTop+"px"]}if(Et(r,s)!=="same"){this._options.editor.editing.view.change((t=>{t.setStyle({width:s[0],height:s[1],left:s[2],top:s[3]},o)}))}}containsHandle(t){return this._domResizerWrapper.contains(t)}static isResizeHandle(t){return t.classList.contains("ck-widget__resizer__handle")}_cleanup(){this._sizeView._dismiss();const t=this._options.editor.editing.view;t.change((t=>{t.setStyle("width",this._initialViewWidth,this._options.viewElement)}))}_proposeNewSize(t){const e=this.state;const n=DN(t);const i=this._options.isCentered?this._options.isCentered(this):true;const o={x:e._referenceCoordinates.x-(n.x+e.originalWidth),y:n.y-e.originalHeight-e._referenceCoordinates.y};if(i&&e.activeHandlePosition.endsWith("-right")){o.x=n.x-(e._referenceCoordinates.x+e.originalWidth)}if(i){o.x*=2}let r=Math.abs(e.originalWidth+o.x);let s=Math.abs(e.originalHeight+o.y);const a=r/e.aspectRatio>s?"width":"height";if(a=="width"){s=r/e.aspectRatio}else{r=s*e.aspectRatio}return{width:Math.round(r),height:Math.round(s),widthPercents:Math.min(Math.round(e.originalWidthPercents/e.originalWidth*r*100)/100,100)}}_getResizeHost(){const t=this._domResizerWrapper.parentElement;return this._options.getResizeHost(t)}_getHandleHost(){const t=this._domResizerWrapper.parentElement;return this._options.getHandleHost(t)}get _domResizerWrapper(){return this._options.editor.editing.view.domConverter.mapViewToDom(this._viewResizerWrapper)}_appendHandles(t){const e=["top-left","top-right","bottom-right","bottom-left"];for(const n of e){t.appendChild(new Hl({tag:"div",attributes:{class:`ck-widget__resizer__handle ${EN(n)}`}}).render())}}_appendSizeUI(t){this._sizeView=new yN;this._sizeView.render();t.appendChild(this._sizeView.element)}}function EN(t){return`ck-widget__resizer__handle-${t}`}function DN(t){return{x:t.pageX,y:t.pageY}}function TN(t){return t&&t.ownerDocument&&t.ownerDocument.contains(t)}var IN=n(4875);var SN={injectType:"singletonStyleTag",attributes:{"data-cke":true}};SN.insert="head";SN.singleton=true;var BN=Ll()(IN.Z,SN);const MN=IN.Z.locals||{};class NN extends ph{constructor(){super(...arguments);this._resizers=new Map}static get pluginName(){return"WidgetResize"}init(){const t=this.editor.editing;const e=nc.window.document;this.set("selectedResizer",null);this.set("_activeResizer",null);t.view.addObserver(b_);this._observer=new(Qa());this.listenTo(t.view.document,"mousedown",this._mouseDownListener.bind(this),{priority:"high"});this._observer.listenTo(e,"mousemove",this._mouseMoveListener.bind(this));this._observer.listenTo(e,"mouseup",this._mouseUpListener.bind(this));this._redrawSelectedResizerThrottled=RD((()=>this.redrawSelectedResizer()),200);this.editor.ui.on("update",this._redrawSelectedResizerThrottled);this.editor.model.document.on("change",(()=>{for(const[t,e]of this._resizers){if(!t.isAttached()){this._resizers.delete(t);e.destroy()}}}),{priority:"lowest"});this._observer.listenTo(nc.window,"resize",this._redrawSelectedResizerThrottled);const n=this.editor.editing.view.document.selection;n.on("change",(()=>{const t=n.getSelectedElement();const e=this.getResizerByViewElement(t)||null;if(e){this.select(e)}else{this.deselect()}}))}redrawSelectedResizer(){if(this.selectedResizer&&this.selectedResizer.isVisible){this.selectedResizer.redraw()}}destroy(){super.destroy();this._observer.stopListening();for(const t of this._resizers.values()){t.destroy()}this._redrawSelectedResizerThrottled.cancel()}select(t){this.deselect();this.selectedResizer=t;this.selectedResizer.isSelected=true}deselect(){if(this.selectedResizer){this.selectedResizer.isSelected=false}this.selectedResizer=null}attachTo(t){const e=new xN(t);const n=this.editor.plugins;e.attach();if(n.has("WidgetToolbarRepository")){const t=n.get("WidgetToolbarRepository");e.on("begin",(()=>{t.forceDisabled("resize")}),{priority:"lowest"});e.on("cancel",(()=>{t.clearForceDisabled("resize")}),{priority:"highest"});e.on("commit",(()=>{t.clearForceDisabled("resize")}),{priority:"highest"})}this._resizers.set(t.viewElement,e);const i=this.editor.editing.view.document.selection;const o=i.getSelectedElement();if(this.getResizerByViewElement(o)==e){this.select(e)}return e}getResizerByViewElement(t){return this._resizers.get(t)}_getResizerByHandle(t){for(const e of this._resizers.values()){if(e.containsHandle(t)){return e}}}_mouseDownListener(t,e){const n=e.domTarget;if(!xN.isResizeHandle(n)){return}this._activeResizer=this._getResizerByHandle(n)||null;if(this._activeResizer){this._activeResizer.begin(n);t.stop();e.preventDefault()}}_mouseMoveListener(t,e){if(this._activeResizer){this._activeResizer.updateSize(e)}}_mouseUpListener(){if(this._activeResizer){this._activeResizer.commit();this._activeResizer=null}}}const PN=Cc("px");class LN extends Fl{constructor(){super();const t=this.bindTemplate;this.set({isVisible:false,left:null,top:null,width:null});this.setTemplate({tag:"div",attributes:{class:["ck","ck-clipboard-drop-target-line",t.if("isVisible","ck-hidden",(t=>!t))],style:{left:t.to("left",(t=>PN(t))),top:t.to("top",(t=>PN(t))),width:t.to("width",(t=>PN(t)))}}})}}class zN extends ph{constructor(){super(...arguments);this.removeDropMarkerDelayed=_l((()=>this.removeDropMarker()),40);this._updateDropMarkerThrottled=RD((t=>this._updateDropMarker(t)),40);this._reconvertMarkerThrottled=RD((()=>{if(this.editor.model.markers.has("drop-target")){this.editor.editing.reconvertMarker("drop-target")}}),0);this._dropTargetLineView=new LN;this._domEmitter=new(Qa());this._scrollables=new Map}static get pluginName(){return"DragDropTarget"}init(){this._setupDropMarker()}destroy(){this._domEmitter.stopListening();for(const{resizeObserver:t}of this._scrollables.values()){t.destroy()}this._updateDropMarkerThrottled.cancel();this.removeDropMarkerDelayed.cancel();this._reconvertMarkerThrottled.cancel();return super.destroy()}updateDropMarker(t,e,n,i,o,r){this.removeDropMarkerDelayed.cancel();const s=VN(this.editor,t,e,n,i,o,r);if(!s){return}if(r&&r.containsRange(s)){return this.removeDropMarker()}this._updateDropMarkerThrottled(s)}getFinalDropRange(t,e,n,i,o,r){const s=VN(this.editor,t,e,n,i,o,r);this.removeDropMarker();return s}removeDropMarker(){const t=this.editor.model;this.removeDropMarkerDelayed.cancel();this._updateDropMarkerThrottled.cancel();this._dropTargetLineView.isVisible=false;if(t.markers.has("drop-target")){t.change((t=>{t.removeMarker("drop-target")}))}}_setupDropMarker(){const t=this.editor;t.ui.view.body.add(this._dropTargetLineView);t.conversion.for("editingDowncast").markerToHighlight({model:"drop-target",view:{classes:["ck-clipboard-drop-target-range"]}});t.conversion.for("editingDowncast").markerToElement({model:"drop-target",view:(e,{writer:n})=>{if(t.model.schema.checkChild(e.markerRange.start,"$text")){this._dropTargetLineView.isVisible=false;return this._createDropTargetPosition(n)}else{if(e.markerRange.isCollapsed){this._updateDropTargetLine(e.markerRange)}else{this._dropTargetLineView.isVisible=false}}}})}_updateDropMarker(t){const e=this.editor;const n=e.model.markers;e.model.change((e=>{if(n.has("drop-target")){if(!n.get("drop-target").getRange().isEqual(t)){e.updateMarker("drop-target",{range:t})}}else{e.addMarker("drop-target",{range:t,usingOperation:false,affectsData:false})}}))}_createDropTargetPosition(t){return t.createUIElement("span",{class:"ck ck-clipboard-drop-target-position"},(function(t){const e=this.toDomElement(t);e.append("⁠",t.createElement("span"),"⁠");return e}))}_updateDropTargetLine(t){const e=this.editor.editing;const n=t.start.nodeBefore;const i=t.start.nodeAfter;const o=t.start.parent;const r=n?e.mapper.toViewElement(n):null;const s=r?e.view.domConverter.mapViewToDom(r):null;const a=i?e.mapper.toViewElement(i):null;const c=a?e.view.domConverter.mapViewToDom(a):null;const l=e.mapper.toViewElement(o);if(!l){return}const d=e.view.domConverter.mapViewToDom(l);const u=this._getScrollableRect(l);const{scrollX:h,scrollY:g}=nc.window;const f=s?new uc(s):null;const m=c?new uc(c):null;const p=new uc(d).excludeScrollbarsAndBorders();const b=f?f.bottom:p.top;const k=m?m.top:p.bottom;const w=nc.window.getComputedStyle(d);const A=b<=k?(b+k)/2:k;if(u.topa.schema.checkChild(r,t)));if(l){if(a.schema.checkChild(r,"$text")){return a.createRange(r)}else if(e){return ON(t,jN(t,e.parent),i,o)}}}}else if(a.schema.isInline(d)){return ON(t,d,i,o)}}if(a.schema.isBlock(d)){return ON(t,d,i,o)}else if(a.schema.checkChild(d,"$block")){const e=Array.from(d.getChildren()).filter((e=>e.is("element")&&!RN(t,e)));let n=0;let r=e.length;if(r==0){return a.createRange(a.createPositionAt(d,"end"))}while(n{if(n){this.forceDisabled("readOnlyMode");this._isBlockDragging=false}else{this.clearForceDisabled("readOnlyMode")}}));if(l.isAndroid){this.forceDisabled("noAndroidSupport")}if(t.plugins.has("BlockToolbar")){const e=t.plugins.get("BlockToolbar");const n=e.buttonView.element;this._domEmitter.listenTo(n,"dragstart",((t,e)=>this._handleBlockDragStart(e)));this._domEmitter.listenTo(nc.document,"dragover",((t,e)=>this._handleBlockDragging(e)));this._domEmitter.listenTo(nc.document,"drop",((t,e)=>this._handleBlockDragging(e)));this._domEmitter.listenTo(nc.document,"dragend",(()=>this._handleBlockDragEnd()),{useCapture:true});if(this.isEnabled){n.setAttribute("draggable","true")}this.on("change:isEnabled",((t,e,i)=>{n.setAttribute("draggable",i?"true":"false")}))}}destroy(){this._domEmitter.stopListening();return super.destroy()}_handleBlockDragStart(t){if(!this.isEnabled){return}const e=this.editor.model;const n=e.document.selection;const i=this.editor.editing.view;const o=Array.from(n.getSelectedBlocks());const r=e.createRange(e.createPositionBefore(o[0]),e.createPositionAfter(o[o.length-1]));e.change((t=>t.setSelection(r)));this._isBlockDragging=true;i.focus();i.getObserver(sM).onDomEvent(t)}_handleBlockDragging(t){if(!this.isEnabled||!this._isBlockDragging){return}const e=t.clientX+(this.editor.locale.contentLanguageDirection=="ltr"?100:-100);const n=t.clientY;const i=document.elementFromPoint(e,n);const o=this.editor.editing.view;if(!i||!i.closest(".ck-editor__editable")){return}o.getObserver(sM).onDomEvent({...t,type:t.type,dataTransfer:t.dataTransfer,target:i,clientX:e,clientY:n,preventDefault:()=>t.preventDefault(),stopPropagation:()=>t.stopPropagation()})}_handleBlockDragEnd(){this._isBlockDragging=false}}var WN=n(799);var GN={injectType:"singletonStyleTag",attributes:{"data-cke":true}};GN.insert="head";GN.singleton=true;var qN=Ll()(WN.Z,GN);const ZN=WN.Z.locals||{};class $N extends ph{constructor(){super(...arguments);this._clearDraggableAttributesDelayed=_l((()=>this._clearDraggableAttributes()),40);this._blockMode=false;this._domEmitter=new(Qa())}static get pluginName(){return"DragDrop"}static get requires(){return[fM,lN,zN,UN]}init(){const t=this.editor;const e=t.editing.view;this._draggedRange=null;this._draggingUid="";this._draggableElement=null;e.addObserver(sM);e.addObserver(b_);this._setupDragging();this._setupContentInsertionIntegration();this._setupClipboardInputIntegration();this._setupDraggableAttributeHandling();this.listenTo(t,"change:isReadOnly",((t,e,n)=>{if(n){this.forceDisabled("readOnlyMode")}else{this.clearForceDisabled("readOnlyMode")}}));this.on("change:isEnabled",((t,e,n)=>{if(!n){this._finalizeDragging(false)}}));if(l.isAndroid){this.forceDisabled("noAndroidSupport")}}destroy(){if(this._draggedRange){this._draggedRange.detach();this._draggedRange=null}if(this._previewContainer){this._previewContainer.remove()}this._domEmitter.stopListening();this._clearDraggableAttributesDelayed.cancel();return super.destroy()}_setupDragging(){const t=this.editor;const e=t.model;const n=t.editing.view;const i=n.document;const o=t.plugins.get(zN);this.listenTo(i,"dragstart",((t,n)=>{if(n.target&&n.target.is("editableElement")){n.preventDefault();return}this._prepareDraggedRange(n.target);if(!this._draggedRange){n.preventDefault();return}this._draggingUid=I();n.dataTransfer.effectAllowed=this.isEnabled?"copyMove":"copy";n.dataTransfer.setData("application/ckeditor5-dragging-uid",this._draggingUid);const i=e.createSelection(this._draggedRange.toRange());const o=this.editor.plugins.get("ClipboardPipeline");o._fireOutputTransformationEvent(n.dataTransfer,i,"dragstart");const{dataTransfer:r,domTarget:s,domEvent:a}=n;const{clientX:c}=a;this._updatePreview({dataTransfer:r,domTarget:s,clientX:c});n.stopPropagation();if(!this.isEnabled){this._draggedRange.detach();this._draggedRange=null;this._draggingUid=""}}),{priority:"low"});this.listenTo(i,"dragend",((t,e)=>{this._finalizeDragging(!e.dataTransfer.isCanceled&&e.dataTransfer.dropEffect=="move")}),{priority:"low"});this._domEmitter.listenTo(nc.document,"dragend",(()=>{this._blockMode=false}),{useCapture:true});this.listenTo(i,"dragenter",(()=>{if(!this.isEnabled){return}n.focus()}));this.listenTo(i,"dragleave",(()=>{o.removeDropMarkerDelayed()}));this.listenTo(i,"dragging",((t,e)=>{if(!this.isEnabled){e.dataTransfer.dropEffect="none";return}const{clientX:n,clientY:i}=e.domEvent;o.updateDropMarker(e.target,e.targetRanges,n,i,this._blockMode,this._draggedRange);if(!this._draggedRange){e.dataTransfer.dropEffect="copy"}if(!l.isGecko){if(e.dataTransfer.effectAllowed=="copy"){e.dataTransfer.dropEffect="copy"}else if(["all","copyMove"].includes(e.dataTransfer.effectAllowed)){e.dataTransfer.dropEffect="move"}}t.stop()}),{priority:"low"})}_setupClipboardInputIntegration(){const t=this.editor;const e=t.editing.view;const n=e.document;const i=t.plugins.get(zN);this.listenTo(n,"clipboardInput",((e,n)=>{if(n.method!="drop"){return}const{clientX:o,clientY:r}=n.domEvent;const s=i.getFinalDropRange(n.target,n.targetRanges,o,r,this._blockMode,this._draggedRange);if(!s){this._finalizeDragging(false);e.stop();return}if(this._draggedRange&&this._draggingUid!=n.dataTransfer.getData("application/ckeditor5-dragging-uid")){this._draggedRange.detach();this._draggedRange=null;this._draggingUid=""}const a=KN(n.dataTransfer)=="move";if(a&&this._draggedRange&&this._draggedRange.containsRange(s,true)){this._finalizeDragging(false);e.stop();return}n.targetRanges=[t.editing.mapper.toViewRange(s)]}),{priority:"high"})}_setupContentInsertionIntegration(){const t=this.editor.plugins.get(fM);t.on("contentInsertion",((t,e)=>{if(!this.isEnabled||e.method!=="drop"){return}const n=e.targetRanges.map((t=>this.editor.editing.mapper.toModelRange(t)));this.editor.model.change((t=>t.setSelection(n)))}),{priority:"high"});t.on("contentInsertion",((t,e)=>{if(!this.isEnabled||e.method!=="drop"){return}const n=KN(e.dataTransfer)=="move";const i=!e.resultRange||!e.resultRange.isCollapsed;this._finalizeDragging(i&&n)}),{priority:"lowest"})}_setupDraggableAttributeHandling(){const t=this.editor;const e=t.editing.view;const n=e.document;this.listenTo(n,"mousedown",((i,o)=>{if(l.isAndroid||!o){return}this._clearDraggableAttributesDelayed.cancel();let r=YN(o.target);if(l.isBlink&&!t.isReadOnly&&!r&&!n.selection.isCollapsed){const t=n.selection.getSelectedElement();if(!t||!_M(t)){r=n.selection.editableElement}}if(r){e.change((t=>{t.setAttribute("draggable","true",r)}));this._draggableElement=t.editing.mapper.toModelElement(r)}}));this.listenTo(n,"mouseup",(()=>{if(!l.isAndroid){this._clearDraggableAttributesDelayed()}}))}_clearDraggableAttributes(){const t=this.editor.editing;t.view.change((e=>{if(this._draggableElement&&this._draggableElement.root.rootName!="$graveyard"){e.removeAttribute("draggable",t.mapper.toViewElement(this._draggableElement))}this._draggableElement=null}))}_finalizeDragging(t){const e=this.editor;const n=e.model;const i=e.plugins.get(zN);i.removeDropMarker();this._clearDraggableAttributes();if(e.plugins.has("WidgetToolbarRepository")){const t=e.plugins.get("WidgetToolbarRepository");t.clearForceDisabled("dragDrop")}this._draggingUid="";if(this._previewContainer){this._previewContainer.remove();this._previewContainer=undefined}if(!this._draggedRange){return}if(t&&this.isEnabled){n.change((t=>{const e=n.createSelection(this._draggedRange);n.deleteContent(e,{doNotAutoparagraph:true});const i=e.getFirstPosition().parent;if(i.isEmpty&&!n.schema.checkChild(i,"$text")&&n.schema.checkChild(i,"paragraph")){t.insertElement("paragraph",i,0)}}))}this._draggedRange.detach();this._draggedRange=null}_prepareDraggedRange(t){const e=this.editor;const n=e.model;const i=n.document.selection;const o=t?YN(t):null;if(o){const t=e.editing.mapper.toModelElement(o);this._draggedRange=Ak.fromRange(n.createRangeOn(t));this._blockMode=n.schema.isBlock(t);if(e.plugins.has("WidgetToolbarRepository")){const t=e.plugins.get("WidgetToolbarRepository");t.forceDisabled("dragDrop")}return}if(i.isCollapsed&&!i.getFirstPosition().parent.isEmpty){return}const r=Array.from(i.getSelectedBlocks());const s=i.getFirstRange();if(r.length==0){this._draggedRange=Ak.fromRange(s);return}const a=QN(n,r);if(r.length>1){this._draggedRange=Ak.fromRange(a);this._blockMode=true}else if(r.length==1){const t=s.start.isTouching(a.start)&&s.end.isTouching(a.end);this._draggedRange=Ak.fromRange(t?a:s);this._blockMode=t}n.change((t=>t.setSelection(this._draggedRange.toRange())))}_updatePreview({dataTransfer:t,domTarget:e,clientX:n}){const i=this.editor.editing.view;const o=i.document.selection.editableElement;const r=i.domConverter.mapViewToDom(o);const s=nc.window.getComputedStyle(r);if(!this._previewContainer){this._previewContainer=ie(nc.document,"div",{style:"position: fixed; left: -999999px;"});nc.document.body.appendChild(this._previewContainer)}else if(this._previewContainer.firstElementChild){this._previewContainer.removeChild(this._previewContainer.firstElementChild)}const a=new uc(r);if(r.contains(e)){return}const c=parseFloat(s.paddingLeft);const d=ie(nc.document,"div");d.className="ck ck-content";d.style.width=s.width;d.style.paddingLeft=`${a.left-n+c}px`;if(l.isiOS){d.style.backgroundColor="white"}d.innerHTML=t.getData("text/html");t.setDragImage(d,0,0);this._previewContainer.appendChild(d)}}function KN(t){if(l.isGecko){return t.dropEffect}return["all","copyMove"].includes(t.effectAllowed)?"move":"copy"}function YN(t){if(t.is("editableElement")){return null}if(t.hasClass("ck-widget__selection-handle")){return t.findAncestor(_M)}if(_M(t)){return t}const e=t.findAncestor((t=>_M(t)||t.is("editableElement")));if(_M(e)){return e}return null}function QN(t,e){const n=e[0];const i=e[e.length-1];const o=n.getCommonAncestor(i);const r=t.createPositionBefore(n);const s=t.createPositionAfter(i);if(o&&o.is("element")&&!t.schema.isLimit(o)){const e=t.createRangeOn(o);const n=r.isTouching(e.start);const i=s.isTouching(e.end);if(n&&i){return QN(t,[o])}}return t.createRange(r,s)}class JN extends ph{static get pluginName(){return"PastePlainText"}static get requires(){return[fM]}init(){const t=this.editor;const e=t.model;const n=t.editing.view;const i=n.document;const o=e.document.selection;let r=false;n.addObserver(sM);this.listenTo(i,"keydown",((t,e)=>{r=e.shiftKey}));t.plugins.get(fM).on("contentInsertion",((t,n)=>{if(!r&&!XN(n.content,e.schema)){return}e.change((t=>{const i=Array.from(o.getAttributes()).filter((([t])=>e.schema.getAttributeProperties(t).isFormatting));if(!o.isCollapsed){e.deleteContent(o,{doNotAutoparagraph:true})}i.push(...o.getAttributes());const r=t.createRangeIn(n.content);for(const e of r.getItems()){if(e.is("$textProxy")){t.setAttributes(i,e)}}}))}))}}function XN(t,e){if(t.childCount>1){return false}const n=t.getChild(0);if(e.isObject(n)){return false}return Array.from(n.getAttributeKeys()).length==0}class tP extends ph{static get pluginName(){return"Clipboard"}static get requires(){return[fM,$N,JN]}}class eP extends kh{constructor(t){super(t);this.affectsData=false}execute(){const t=this.editor.model;const e=t.document.selection;let n=t.schema.getLimitElement(e);if(e.containsEntireContent(n)||!nP(t.schema,n)){do{n=n.parent;if(!n){return}}while(!nP(t.schema,n))}t.change((t=>{t.setSelection(n,"in")}))}}function nP(t,e){return t.isLimit(e)&&(t.checkChild(e,"$text")||t.checkChild(e,"paragraph"))}const iP=Yc("Ctrl+A");class oP extends ph{static get pluginName(){return"SelectAllEditing"}init(){const t=this.editor;const e=t.editing.view;const n=e.document;t.commands.add("selectAll",new eP(t));this.listenTo(n,"keydown",((e,n)=>{if(Kc(n)===iP){t.execute("selectAll");n.preventDefault()}}))}}const rP='';class sP extends ph{static get pluginName(){return"SelectAllUI"}init(){const t=this.editor;t.ui.componentFactory.add("selectAll",(e=>{const n=t.commands.get("selectAll");const i=new Dd(e);const o=e.t;i.set({label:o("Select all"),icon:rP,keystroke:"Ctrl+A",tooltip:true});i.bind("isEnabled").to(n,"isEnabled");this.listenTo(i,"execute",(()=>{t.execute("selectAll");t.editing.view.focus()}));return i}))}}class aP extends ph{static get requires(){return[oP,sP]}static get pluginName(){return"SelectAll"}}class cP extends kh{constructor(t){super(t);this._stack=[];this._createdBatches=new WeakSet;this.refresh();this._isEnabledBasedOnSelection=false;this.listenTo(t.data,"set",((t,e)=>{e[1]={...e[1]};const n=e[1];if(!n.batchType){n.batchType={isUndoable:false}}}),{priority:"high"});this.listenTo(t.data,"set",((t,e)=>{const n=e[1];if(!n.batchType.isUndoable){this.clearStack()}}))}refresh(){this.isEnabled=this._stack.length>0}get createdBatches(){return this._createdBatches}addBatch(t){const e=this.editor.model.document.selection;const n={ranges:e.hasOwnRange?Array.from(e.getRanges()):[],isBackward:e.isBackward};this._stack.push({batch:t,selection:n});this.refresh()}clearStack(){this._stack=[];this.refresh()}_restoreSelection(t,e,n){const i=this.editor.model;const o=i.document;const r=[];const s=t.map((t=>t.getTransformedByOperations(n)));const a=s.flat();for(const t of s){const e=t.filter((t=>t.root!=o.graveyard)).filter((t=>!dP(t,a)));if(!e.length){continue}lP(e);r.push(e[0])}if(r.length){i.change((t=>{t.setSelection(r,{backward:e})}))}}_undo(t,e){const n=this.editor.model;const i=n.document;this._createdBatches.add(e);const o=t.operations.slice().filter((t=>t.isDocumentOperation));o.reverse();for(const t of o){const o=t.baseVersion+1;const r=Array.from(i.history.getOperations(o));const s=aC([t.getReversed()],r,{useRelations:true,document:this.editor.model.document,padWithNoOps:false,forceWeakRemove:true});const a=s.operationsA;for(let o of a){const r=o.affectedSelectable;if(r&&!n.canEditAt(r)){o=new YA(o.baseVersion)}e.addOperation(o);n.applyOperation(o);i.history.setOperationAsUndone(t,o)}}}}function lP(t){t.sort(((t,e)=>t.start.isBefore(e.start)?-1:1));for(let e=1;ee!==t&&e.containsRange(t,true)))}class uP extends cP{execute(t=null){const e=t?this._stack.findIndex((e=>e.batch==t)):this._stack.length-1;const n=this._stack.splice(e,1)[0];const i=this.editor.model.createBatch({isUndo:true});this.editor.model.enqueueChange(i,(()=>{this._undo(n.batch,i);const t=this.editor.model.document.history.getOperations(n.batch.baseVersion);this._restoreSelection(n.selection.ranges,n.selection.isBackward,t)}));this.fire("revert",n.batch,i);this.refresh()}}class hP extends cP{execute(){const t=this._stack.pop();const e=this.editor.model.createBatch({isUndo:true});this.editor.model.enqueueChange(e,(()=>{const n=t.batch.operations[t.batch.operations.length-1];const i=n.baseVersion+1;const o=this.editor.model.document.history.getOperations(i);this._restoreSelection(t.selection.ranges,t.selection.isBackward,o);this._undo(t.batch,e)}));this.refresh()}}class gP extends ph{constructor(){super(...arguments);this._batchRegistry=new WeakSet}static get pluginName(){return"UndoEditing"}init(){const t=this.editor;this._undoCommand=new uP(t);this._redoCommand=new hP(t);t.commands.add("undo",this._undoCommand);t.commands.add("redo",this._redoCommand);this.listenTo(t.model,"applyOperation",((t,e)=>{const n=e[0];if(!n.isDocumentOperation){return}const i=n.batch;const o=this._redoCommand.createdBatches.has(i);const r=this._undoCommand.createdBatches.has(i);const s=this._batchRegistry.has(i);if(s){return}this._batchRegistry.add(i);if(!i.isUndoable){return}if(o){this._undoCommand.addBatch(i)}else if(!r){this._undoCommand.addBatch(i);this._redoCommand.clearStack()}}),{priority:"highest"});this.listenTo(this._undoCommand,"revert",((t,e,n)=>{this._redoCommand.addBatch(n)}));t.keystrokes.set("CTRL+Z","undo");t.keystrokes.set("CTRL+Y","redo");t.keystrokes.set("CTRL+SHIFT+Z","redo")}}class fP extends ph{static get pluginName(){return"UndoUI"}init(){const t=this.editor;const e=t.locale;const n=t.t;const i=e.uiLanguageDirection=="ltr"?Dy.undo:Dy.redo;const o=e.uiLanguageDirection=="ltr"?Dy.redo:Dy.undo;this._addButton("undo",n("Undo"),"CTRL+Z",i);this._addButton("redo",n("Redo"),"CTRL+Y",o)}_addButton(t,e,n,i){const o=this.editor;o.ui.componentFactory.add(t,(r=>{const s=o.commands.get(t);const a=new Dd(r);a.set({label:e,icon:i,keystroke:n,tooltip:true});a.bind("isEnabled").to(s,"isEnabled");this.listenTo(a,"execute",(()=>{o.execute(t);o.editing.view.focus()}));return a}))}}class mP extends ph{static get requires(){return[gP,fP]}static get pluginName(){return"Undo"}}class pP extends ph{static get requires(){return[tP,BB,aP,VB,lS,mP]}static get pluginName(){return"Essentials"}}class bP extends kh{constructor(t,e){super(t);this.attributeKey=e}refresh(){const t=this.editor.model;const e=t.document;this.value=e.selection.getAttribute(this.attributeKey);this.isEnabled=t.schema.checkAttributeInSelection(e.selection,this.attributeKey)}execute(t={}){const e=this.editor.model;const n=e.document;const i=n.selection;const o=t.value;const r=t.batch;const s=t=>{if(i.isCollapsed){if(o){t.setSelectionAttribute(this.attributeKey,o)}else{t.removeSelectionAttribute(this.attributeKey)}}else{const n=e.schema.getValidRanges(i.getRanges(),this.attributeKey);for(const e of n){if(o){t.setAttribute(this.attributeKey,o,e)}else{t.removeAttribute(this.attributeKey,e)}}}};if(r){e.enqueueChange(r,(t=>{s(t)}))}else{e.change((t=>{s(t)}))}}}const kP="fontSize";const wP="fontFamily";const AP="fontColor";const CP="fontBackgroundColor";function _P(t,e){const n={model:{key:t,values:[]},view:{},upcastAlso:{}};for(const t of e){n.model.values.push(t.model);n.view[t.model]=t.view;if(t.upcastAlso){n.upcastAlso[t.model]=t.upcastAlso}}return n}function vP(t){return e=>EP(e.getStyle(t))}function yP(t){return(e,{writer:n})=>n.createAttributeElement("span",{style:`${t}:${e}`},{priority:7})}function xP({dropdownView:t,colors:e,columns:n,removeButtonLabel:i,colorPickerLabel:o,documentColorsLabel:r,documentColorsCount:s,colorPickerViewConfig:a}){const c=t.locale;const l=new GE(c,{colors:e,columns:n,removeButtonLabel:i,colorPickerLabel:o,documentColorsLabel:r,documentColorsCount:s,colorPickerViewConfig:a});t.colorSelectorView=l;t.panelView.children.add(l);return l}function EP(t){return t.replace(/\s/g,"")}class DP extends(null&&FontCommand){constructor(t){super(t,FONT_FAMILY)}}class TP extends(null&&Plugin){static get pluginName(){return"FontFamilyEditing"}constructor(t){super(t);t.config.define(FONT_FAMILY,{options:["default","Arial, Helvetica, sans-serif","Courier New, Courier, monospace","Georgia, serif","Lucida Sans Unicode, Lucida Grande, sans-serif","Tahoma, Geneva, sans-serif","Times New Roman, Times, serif","Trebuchet MS, Helvetica, sans-serif","Verdana, Geneva, sans-serif"],supportAllValues:false})}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:FONT_FAMILY});t.model.schema.setAttributeProperties(FONT_FAMILY,{isFormatting:true,copyOnEnter:true});const e=normalizeOptions(t.config.get("fontFamily.options")).filter((t=>t.model));const n=buildDefinition(FONT_FAMILY,e);if(t.config.get("fontFamily.supportAllValues")){this._prepareAnyValueConverters();this._prepareCompatibilityConverter()}else{t.conversion.attributeToElement(n)}t.commands.add(FONT_FAMILY,new FontFamilyCommand(t))}_prepareAnyValueConverters(){const t=this.editor;t.conversion.for("downcast").attributeToElement({model:FONT_FAMILY,view:(t,{writer:e})=>e.createAttributeElement("span",{style:"font-family:"+t},{priority:7})});t.conversion.for("upcast").elementToAttribute({model:{key:FONT_FAMILY,value:t=>t.getStyle("font-family")},view:{name:"span",styles:{"font-family":/.*/}}})}_prepareCompatibilityConverter(){const t=this.editor;t.conversion.for("upcast").elementToAttribute({view:{name:"font",attributes:{face:/.*/}},model:{key:FONT_FAMILY,value:t=>t.getAttribute("face")}})}}class IP extends(null&&Plugin){static get pluginName(){return"FontFamilyUI"}init(){const t=this.editor;const e=t.t;const n=this._getLocalizedOptions();const i=t.commands.get(FONT_FAMILY);const o=e("Font Family");t.ui.componentFactory.add(FONT_FAMILY,(e=>{const r=createDropdown(e);addListToDropdown(r,(()=>SP(n,i)),{role:"menu",ariaLabel:o});r.buttonView.set({label:o,icon:fontFamilyIcon,tooltip:true});r.extendTemplate({attributes:{class:"ck-font-family-dropdown"}});r.bind("isEnabled").to(i);this.listenTo(r,"execute",(e=>{t.execute(e.source.commandName,{value:e.source.commandParam});t.editing.view.focus()}));return r}))}_getLocalizedOptions(){const t=this.editor;const e=t.t;const n=normalizeOptions(t.config.get(FONT_FAMILY).options);return n.map((t=>{if(t.title==="Default"){t.title=e("Default")}return t}))}}function SP(t,e){const n=new Collection;for(const i of t){const t={type:"button",model:new ViewModel({commandName:FONT_FAMILY,commandParam:i.model,label:i.title,role:"menuitemradio",withText:true})};t.model.bind("isOn").to(e,"value",(t=>{if(t===i.model){return true}if(!t||!i.model){return false}return t.split(",")[0].replace(/'/g,"").toLowerCase()===i.model.toLowerCase()}));if(i.view&&typeof i.view!=="string"&&i.view.styles){t.model.set("labelStyle",`font-family: ${i.view.styles["font-family"]}`)}n.add(t)}return n}class BP extends(null&&Plugin){static get requires(){return[FontFamilyEditing,FontFamilyUI]}static get pluginName(){return"FontFamily"}}class MP extends bP{constructor(t){super(t,kP)}}function NP(t){return t.map((t=>LP(t))).filter((t=>t!==undefined))}const PP={get tiny(){return{title:"Tiny",model:"tiny",view:{name:"span",classes:"text-tiny",priority:7}}},get small(){return{title:"Small",model:"small",view:{name:"span",classes:"text-small",priority:7}}},get big(){return{title:"Big",model:"big",view:{name:"span",classes:"text-big",priority:7}}},get huge(){return{title:"Huge",model:"huge",view:{name:"span",classes:"text-huge",priority:7}}}};function LP(t){if(typeof t==="number"){t=String(t)}if(typeof t==="object"&&OP(t)){return VP(t)}const e=RP(t);if(e){return VP(e)}if(t==="default"){return{model:undefined,title:"Default"}}if(FP(t)){return undefined}return zP(t)}function zP(t){if(typeof t==="string"){t={title:t,model:`${parseFloat(t)}px`}}t.view={name:"span",styles:{"font-size":t.model}};return VP(t)}function VP(t){if(t.view&&typeof t.view!=="string"&&!t.view.priority){t.view.priority=7}return t}function RP(t){return typeof t==="string"?PP[t]:PP[t.model]}function OP(t){return t.title&&t.model&&t.view}function FP(t){let e;if(typeof t==="object"){if(!t.model){throw new P("font-size-invalid-definition",null,t)}else{e=parseFloat(t.model)}}else{e=parseFloat(t)}return isNaN(e)}const jP=["x-small","x-small","small","medium","large","x-large","xx-large","xxx-large"];class HP extends ph{static get pluginName(){return"FontSizeEditing"}constructor(t){super(t);t.config.define(kP,{options:["tiny","small","default","big","huge"],supportAllValues:false})}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:kP});t.model.schema.setAttributeProperties(kP,{isFormatting:true,copyOnEnter:true});const e=t.config.get("fontSize.supportAllValues");const n=NP(this.editor.config.get("fontSize.options")).filter((t=>t.model));const i=_P(kP,n);if(e){this._prepareAnyValueConverters(i);this._prepareCompatibilityConverter()}else{t.conversion.attributeToElement(i)}t.commands.add(kP,new MP(t))}_prepareAnyValueConverters(t){const e=this.editor;const n=t.model.values.filter((t=>!S_(String(t))&&!M_(String(t))));if(n.length){throw new P("font-size-invalid-use-of-named-presets",null,{presets:n})}e.conversion.for("downcast").attributeToElement({model:kP,view:(t,{writer:e})=>{if(!t){return}return e.createAttributeElement("span",{style:"font-size:"+t},{priority:7})}});e.conversion.for("upcast").elementToAttribute({model:{key:kP,value:t=>t.getStyle("font-size")},view:{name:"span",styles:{"font-size":/.*/}}})}_prepareCompatibilityConverter(){const t=this.editor;t.conversion.for("upcast").elementToAttribute({view:{name:"font",attributes:{size:/^[+-]?\d{1,3}$/}},model:{key:kP,value:t=>{const e=t.getAttribute("size");const n=e[0]==="-"||e[0]==="+";let i=parseInt(e,10);if(n){i=3+i}const o=jP.length-1;const r=Math.min(Math.max(i,0),o);return jP[r]}}})}}var UP=n(5991);var WP={injectType:"singletonStyleTag",attributes:{"data-cke":true}};WP.insert="head";WP.singleton=true;var GP=Ll()(UP.Z,WP);const qP=UP.Z.locals||{};const ZP='';class $P extends ph{static get pluginName(){return"FontSizeUI"}init(){const t=this.editor;const e=t.t;const n=this._getLocalizedOptions();const i=t.commands.get(kP);const o=e("Font Size");t.ui.componentFactory.add(kP,(e=>{const r=rx(e);cx(r,(()=>KP(n,i)),{role:"menu",ariaLabel:o});r.buttonView.set({label:o,icon:ZP,tooltip:true});r.extendTemplate({attributes:{class:["ck-font-size-dropdown"]}});r.bind("isEnabled").to(i);this.listenTo(r,"execute",(e=>{t.execute(e.source.commandName,{value:e.source.commandParam});t.editing.view.focus()}));return r}))}_getLocalizedOptions(){const t=this.editor;const e=t.t;const n={Default:e("Default"),Tiny:e("Tiny"),Small:e("Small"),Big:e("Big"),Huge:e("Huge")};const i=NP(t.config.get(kP).options);return i.map((t=>{const e=n[t.title];if(e&&e!=t.title){t=Object.assign({},t,{title:e})}return t}))}}function KP(t,e){const n=new fl;for(const i of t){const t={type:"button",model:new kT({commandName:kP,commandParam:i.model,label:i.title,class:"ck-fontsize-option",role:"menuitemradio",withText:true})};if(i.view&&typeof i.view!=="string"){if(i.view.styles){t.model.set("labelStyle",`font-size:${i.view.styles["font-size"]}`)}if(i.view.classes){t.model.set("class",`${t.model.class} ${i.view.classes}`)}}t.model.bind("isOn").to(e,"value",(t=>t===i.model));n.add(t)}return n}class YP extends ph{static get requires(){return[HP,$P]}static get pluginName(){return"FontSize"}normalizeSizeOptions(t){return NP(t)}}class QP extends bP{constructor(t){super(t,AP)}}class JP extends ph{static get pluginName(){return"FontColorEditing"}constructor(t){super(t);t.config.define(AP,{colors:[{color:"hsl(0, 0%, 0%)",label:"Black"},{color:"hsl(0, 0%, 30%)",label:"Dim grey"},{color:"hsl(0, 0%, 60%)",label:"Grey"},{color:"hsl(0, 0%, 90%)",label:"Light grey"},{color:"hsl(0, 0%, 100%)",label:"White",hasBorder:true},{color:"hsl(0, 75%, 60%)",label:"Red"},{color:"hsl(30, 75%, 60%)",label:"Orange"},{color:"hsl(60, 75%, 60%)",label:"Yellow"},{color:"hsl(90, 75%, 60%)",label:"Light green"},{color:"hsl(120, 75%, 60%)",label:"Green"},{color:"hsl(150, 75%, 60%)",label:"Aquamarine"},{color:"hsl(180, 75%, 60%)",label:"Turquoise"},{color:"hsl(210, 75%, 60%)",label:"Light blue"},{color:"hsl(240, 75%, 60%)",label:"Blue"},{color:"hsl(270, 75%, 60%)",label:"Purple"}],columns:5});t.conversion.for("upcast").elementToAttribute({view:{name:"span",styles:{color:/[\s\S]+/}},model:{key:AP,value:vP("color")}});t.conversion.for("upcast").elementToAttribute({view:{name:"font",attributes:{color:/^#?\w+$/}},model:{key:AP,value:t=>t.getAttribute("color")}});t.conversion.for("downcast").attributeToElement({model:AP,view:yP("color")});t.commands.add(AP,new QP(t));t.model.schema.extend("$text",{allowAttributes:AP});t.model.schema.setAttributeProperties(AP,{isFormatting:true,copyOnEnter:true})}}class XP extends ph{constructor(t,{commandName:e,componentName:n,icon:i,dropdownLabel:o}){super(t);this.commandName=e;this.componentName=n;this.icon=i;this.dropdownLabel=o;this.columns=t.config.get(`${this.componentName}.columns`);this.colorSelectorView=undefined}init(){const t=this.editor;const e=t.locale;const n=e.t;const i=t.commands.get(this.commandName);const o=t.config.get(this.componentName);const r=Fd(o.colors);const s=Od(e,r);const a=o.documentColors;const c=o.colorPicker!==false;t.ui.componentFactory.add(this.componentName,(e=>{const r=rx(e);let l=false;this.colorSelectorView=xP({dropdownView:r,colors:s.map((t=>({label:t.label,color:t.model,options:{hasBorder:t.hasBorder}}))),columns:this.columns,removeButtonLabel:n("Remove color"),colorPickerLabel:n("Color picker"),documentColorsLabel:a!==0?n("Document colors"):"",documentColorsCount:a===undefined?this.columns:a,colorPickerViewConfig:c?o.colorPicker||{}:false});this.colorSelectorView.bind("selectedColor").to(i,"value");r.buttonView.set({label:this.dropdownLabel,icon:this.icon,tooltip:true});r.extendTemplate({attributes:{class:"ck-color-ui-dropdown"}});r.bind("isEnabled").to(i);this.colorSelectorView.on("execute",((e,n)=>{if(r.isOpen){t.execute(this.commandName,{value:n.value,batch:this._undoStepBatch})}if(n.source!=="colorPicker"){t.editing.view.focus()}if(n.source==="colorPickerSaveButton"){r.isOpen=false}}));this.colorSelectorView.on("colorPicker:show",(()=>{this._undoStepBatch=t.model.createBatch()}));this.colorSelectorView.on("colorPicker:cancel",(()=>{if(this._undoStepBatch.operations.length){r.isOpen=false;t.execute("undo",this._undoStepBatch)}t.editing.view.focus()}));r.on("change:isOpen",((e,n,i)=>{if(!l){l=true;r.colorSelectorView.appendUI()}if(i){if(a!==0){this.colorSelectorView.updateDocumentColors(t.model,this.componentName)}this.colorSelectorView.updateSelectedColors();this.colorSelectorView.showColorGridsFragment()}}));dx(r,(()=>r.colorSelectorView.colorGridsFragmentView.staticColorsGrid.items.find((t=>t.isOn))));return r}))}}const tL='';class eL extends XP{constructor(t){const e=t.locale.t;super(t,{commandName:AP,componentName:AP,icon:tL,dropdownLabel:e("Font Color")})}static get pluginName(){return"FontColorUI"}}class nL extends ph{static get requires(){return[JP,eL]}static get pluginName(){return"FontColor"}}class iL extends bP{constructor(t){super(t,CP)}}class oL extends ph{static get pluginName(){return"FontBackgroundColorEditing"}constructor(t){super(t);t.config.define(CP,{colors:[{color:"hsl(0, 0%, 0%)",label:"Black"},{color:"hsl(0, 0%, 30%)",label:"Dim grey"},{color:"hsl(0, 0%, 60%)",label:"Grey"},{color:"hsl(0, 0%, 90%)",label:"Light grey"},{color:"hsl(0, 0%, 100%)",label:"White",hasBorder:true},{color:"hsl(0, 75%, 60%)",label:"Red"},{color:"hsl(30, 75%, 60%)",label:"Orange"},{color:"hsl(60, 75%, 60%)",label:"Yellow"},{color:"hsl(90, 75%, 60%)",label:"Light green"},{color:"hsl(120, 75%, 60%)",label:"Green"},{color:"hsl(150, 75%, 60%)",label:"Aquamarine"},{color:"hsl(180, 75%, 60%)",label:"Turquoise"},{color:"hsl(210, 75%, 60%)",label:"Light blue"},{color:"hsl(240, 75%, 60%)",label:"Blue"},{color:"hsl(270, 75%, 60%)",label:"Purple"}],columns:5});t.data.addStyleProcessorRules(q_);t.conversion.for("upcast").elementToAttribute({view:{name:"span",styles:{"background-color":/[\s\S]+/}},model:{key:CP,value:vP("background-color")}});t.conversion.for("downcast").attributeToElement({model:CP,view:yP("background-color")});t.commands.add(CP,new iL(t));t.model.schema.extend("$text",{allowAttributes:CP});t.model.schema.setAttributeProperties(CP,{isFormatting:true,copyOnEnter:true})}}const rL='';class sL extends XP{constructor(t){const e=t.locale.t;super(t,{commandName:CP,componentName:CP,icon:rL,dropdownLabel:e("Font Background Color")})}static get pluginName(){return"FontBackgroundColorUI"}}class aL extends ph{static get requires(){return[oL,sL]}static get pluginName(){return"FontBackgroundColor"}}class cL extends(null&&Plugin){static get requires(){return[FontFamily,FontSize,FontColor,FontBackgroundColor]}static get pluginName(){return"Font"}}class lL extends kh{constructor(t){super(t);this._isEnabledBasedOnSelection=false}refresh(){const t=this.editor.model;const e=t.document;const n=ml(e.selection.getSelectedBlocks());this.value=!!n&&n.is("element","paragraph");this.isEnabled=!!n&&dL(n,t.schema)}execute(t={}){const e=this.editor.model;const n=e.document;const i=t.selection||n.selection;if(!e.canEditAt(i)){return}e.change((t=>{const n=i.getSelectedBlocks();for(const i of n){if(!i.is("element","paragraph")&&dL(i,e.schema)){t.rename(i,"paragraph")}}}))}}function dL(t,e){return e.checkChild(t.parent,"paragraph")&&!e.isObject(t)}class uL extends kh{constructor(t){super(t);this._isEnabledBasedOnSelection=false}execute(t){const e=this.editor.model;const n=t.attributes;let i=t.position;if(!e.canEditAt(i)){return}e.change((t=>{i=this._findPositionToInsertParagraph(i,t);if(!i){return}const o=t.createElement("paragraph");if(n){e.schema.setAllowedAttributes(o,n,t)}e.insertContent(o,i);t.setSelection(o,"in")}))}_findPositionToInsertParagraph(t,e){const n=this.editor.model;if(n.schema.checkChild(t,"paragraph")){return t}const i=n.schema.findAllowedParent(t,"paragraph");if(!i){return null}const o=t.parent;const r=n.schema.checkChild(o,"$text");if(o.isEmpty||r&&t.isAtEnd){return n.createPositionAfter(o)}if(!o.isEmpty&&r&&t.isAtStart){return n.createPositionBefore(o)}return e.split(t,i).position}}class hL extends ph{static get pluginName(){return"Paragraph"}init(){const t=this.editor;const e=t.model;t.commands.add("paragraph",new lL(t));t.commands.add("insertParagraph",new uL(t));e.schema.register("paragraph",{inheritAllFrom:"$block"});t.conversion.elementToElement({model:"paragraph",view:"p"});t.conversion.for("upcast").elementToElement({model:(t,{writer:e})=>{if(!hL.paragraphLikeElements.has(t.name)){return null}if(t.isEmpty){return null}return e.createElement("paragraph")},view:/.+/,converterPriority:"low"})}}hL.paragraphLikeElements=new Set(["blockquote","dd","div","dt","h1","h2","h3","h4","h5","h6","li","p","td","th"]);const gL=hL;const fL=Dy.paragraph;class mL extends(null&&Plugin){static get requires(){return[Paragraph]}init(){const t=this.editor;const e=t.t;t.ui.componentFactory.add("paragraph",(n=>{const i=new ButtonView(n);const o=t.commands.get("paragraph");i.label=e("Paragraph");i.icon=fL;i.tooltip=true;i.isToggleable=true;i.bind("isEnabled").to(o);i.bind("isOn").to(o,"value");i.on("execute",(()=>{t.execute("paragraph")}));return i}))}}class pL extends kh{constructor(t,e){super(t);this.modelElements=e}refresh(){const t=ml(this.editor.model.document.selection.getSelectedBlocks());this.value=!!t&&this.modelElements.includes(t.name)&&t.name;this.isEnabled=!!t&&this.modelElements.some((e=>bL(t,e,this.editor.model.schema)))}execute(t){const e=this.editor.model;const n=e.document;const i=t.value;e.change((t=>{const o=Array.from(n.selection.getSelectedBlocks()).filter((t=>bL(t,i,e.schema)));for(const e of o){if(!e.is("element",i)){t.rename(e,i)}}}))}}function bL(t,e,n){return n.checkChild(t.parent,e)&&!n.isObject(t)}const kL="paragraph";class wL extends ph{static get pluginName(){return"HeadingEditing"}constructor(t){super(t);t.config.define("heading",{options:[{model:"paragraph",title:"Paragraph",class:"ck-heading_paragraph"},{model:"heading1",view:"h2",title:"Heading 1",class:"ck-heading_heading1"},{model:"heading2",view:"h3",title:"Heading 2",class:"ck-heading_heading2"},{model:"heading3",view:"h4",title:"Heading 3",class:"ck-heading_heading3"}]})}static get requires(){return[gL]}init(){const t=this.editor;const e=t.config.get("heading.options");const n=[];for(const i of e){if(i.model==="paragraph"){continue}t.model.schema.register(i.model,{inheritAllFrom:"$block"});t.conversion.elementToElement(i);n.push(i.model)}this._addDefaultH1Conversion(t);t.commands.add("heading",new pL(t,n))}afterInit(){const t=this.editor;const e=t.commands.get("enter");const n=t.config.get("heading.options");if(e){this.listenTo(e,"afterExecute",((e,i)=>{const o=t.model.document.selection.getFirstPosition().parent;const r=n.some((t=>o.is("element",t.model)));if(r&&!o.is("element",kL)&&o.childCount===0){i.writer.rename(o,kL)}}))}}_addDefaultH1Conversion(t){t.conversion.for("upcast").elementToElement({model:"heading1",view:"h1",converterPriority:B.low+1})}}function AL(t){const e=t.t;const n={Paragraph:e("Paragraph"),"Heading 1":e("Heading 1"),"Heading 2":e("Heading 2"),"Heading 3":e("Heading 3"),"Heading 4":e("Heading 4"),"Heading 5":e("Heading 5"),"Heading 6":e("Heading 6")};return t.config.get("heading.options").map((t=>{const e=n[t.title];if(e&&e!=t.title){t.title=e}return t}))}var CL=n(4249);var _L={injectType:"singletonStyleTag",attributes:{"data-cke":true}};_L.insert="head";_L.singleton=true;var vL=Ll()(CL.Z,_L);const yL=CL.Z.locals||{};class xL extends ph{static get pluginName(){return"HeadingUI"}init(){const t=this.editor;const e=t.t;const n=AL(t);const i=e("Choose heading");const o=e("Heading");t.ui.componentFactory.add("heading",(e=>{const r={};const s=new fl;const a=t.commands.get("heading");const c=t.commands.get("paragraph");const l=[a];for(const t of n){const e={type:"button",model:new kT({label:t.title,class:t.class,role:"menuitemradio",withText:true})};if(t.model==="paragraph"){e.model.bind("isOn").to(c,"value");e.model.set("commandName","paragraph");l.push(c)}else{e.model.bind("isOn").to(a,"value",(e=>e===t.model));e.model.set({commandName:"heading",commandValue:t.model})}s.add(e);r[t.model]=t.title}const d=rx(e);cx(d,s,{ariaLabel:o,role:"menu"});d.buttonView.set({ariaLabel:o,ariaLabelledBy:undefined,isOn:false,withText:true,tooltip:o});d.extendTemplate({attributes:{class:["ck-heading-dropdown"]}});d.bind("isEnabled").toMany(l,"isEnabled",((...t)=>t.some((t=>t))));d.buttonView.bind("label").to(a,"value",c,"value",((t,e)=>{const n=t||e&&"paragraph";if(typeof n==="boolean"){return i}if(!r[n]){return i}return r[n]}));this.listenTo(d,"execute",(e=>{const{commandName:n,commandValue:i}=e.source;t.execute(n,i?{value:i}:undefined);t.editing.view.focus()}));return d}))}}class EL extends ph{static get requires(){return[wL,xL]}static get pluginName(){return"Heading"}}const DL={heading1:Dy.heading1,heading2:Dy.heading2,heading3:Dy.heading3,heading4:Dy.heading4,heading5:Dy.heading5,heading6:Dy.heading6};class TL extends(null&&Plugin){init(){const t=getLocalizedOptions(this.editor);t.filter((t=>t.model!=="paragraph")).map((t=>this._createButton(t)))}_createButton(t){const e=this.editor;e.ui.componentFactory.add(t.model,(n=>{const i=new ButtonView(n);const o=e.commands.get("heading");i.label=t.title;i.icon=t.icon||DL[t.model];i.tooltip=true;i.isToggleable=true;i.bind("isEnabled").to(o);i.bind("isOn").to(o,"value",(e=>e==t.model));i.on("execute",(()=>{e.execute("heading",{value:t.model});e.editing.view.focus()}));return i}))}}const IL=new Set(["paragraph","heading1","heading2","heading3","heading4","heading5","heading6"]);class SL extends(null&&Plugin){constructor(){super(...arguments);this._bodyPlaceholder=new Map}static get pluginName(){return"Title"}static get requires(){return["Paragraph"]}init(){const t=this.editor;const e=t.model;e.schema.register("title",{isBlock:true,allowIn:"$root"});e.schema.register("title-content",{isBlock:true,allowIn:"title",allowAttributes:["alignment"]});e.schema.extend("$text",{allowIn:"title-content"});e.schema.addAttributeCheck((t=>{if(t.endsWith("title-content $text")){return false}}));t.editing.mapper.on("modelToViewPosition",ML(t.editing.view));t.data.mapper.on("modelToViewPosition",ML(t.editing.view));t.conversion.for("downcast").elementToElement({model:"title-content",view:"h1"});t.conversion.for("downcast").add((t=>t.on("insert:title",((t,e,n)=>{n.consumable.consume(e.item,t.name)}))));t.data.upcastDispatcher.on("element:h1",BL,{priority:"high"});t.data.upcastDispatcher.on("element:h2",BL,{priority:"high"});t.data.upcastDispatcher.on("element:h3",BL,{priority:"high"});e.document.registerPostFixer((t=>this._fixTitleContent(t)));e.document.registerPostFixer((t=>this._fixTitleElement(t)));e.document.registerPostFixer((t=>this._fixBodyElement(t)));e.document.registerPostFixer((t=>this._fixExtraParagraph(t)));this._attachPlaceholders();this._attachTabPressHandling()}getTitle(t={}){const e=t.rootName?t.rootName:undefined;const n=this._getTitleElement(e);const i=n.getChild(0);return this.editor.data.stringify(i,t)}getBody(t={}){const e=this.editor;const n=e.data;const i=e.model;const o=t.rootName?t.rootName:undefined;const r=e.model.document.getRoot(o);const s=e.editing.view;const a=new DowncastWriter(s.document);const c=i.createRangeIn(r);const l=a.createDocumentFragment();const d=i.createPositionAfter(r.getChild(0));const u=i.createRange(d,i.createPositionAt(r,"end"));const h=new Map;for(const t of i.markers){const e=u.getIntersection(t.getRange());if(e){h.set(t.name,e)}}n.mapper.clearBindings();n.mapper.bindElements(r,l);n.downcastDispatcher.convert(c,h,a,t);a.remove(a.createRangeOn(l.getChild(0)));return e.data.processor.toData(l)}_getTitleElement(t){const e=this.editor.model.document.getRoot(t);for(const t of e.getChildren()){if(NL(t)){return t}}}_fixTitleContent(t){let e=false;for(const n of this.editor.model.document.getRootNames()){const i=this._getTitleElement(n);if(!i||i.maxOffset===1){continue}const o=Array.from(i.getChildren());o.shift();for(const e of o){t.move(t.createRangeOn(e),i,"after");t.rename(e,"paragraph")}e=true}return e}_fixTitleElement(t){let e=false;const n=this.editor.model;for(const i of this.editor.model.document.getRoots()){const o=Array.from(i.getChildren()).filter(NL);const r=o[0];const s=i.getChild(0);if(s.is("element","title")){if(o.length>1){LL(o,t,n);e=true}continue}if(!r&&!IL.has(s.name)){const n=t.createElement("title");t.insert(n,i);t.insertElement("title-content",n);e=true;continue}if(IL.has(s.name)){PL(s,t,n)}else{t.move(t.createRangeOn(r),i,0)}LL(o,t,n);e=true}return e}_fixBodyElement(t){let e=false;for(const n of this.editor.model.document.getRootNames()){const i=this.editor.model.document.getRoot(n);if(i.childCount<2){const o=t.createElement("paragraph");t.insert(o,i,1);this._bodyPlaceholder.set(n,o);e=true}}return e}_fixExtraParagraph(t){let e=false;for(const n of this.editor.model.document.getRootNames()){const i=this.editor.model.document.getRoot(n);const o=this._bodyPlaceholder.get(n);if(VL(o,i)){this._bodyPlaceholder.delete(n);t.remove(o);e=true}}return e}_attachPlaceholders(){const t=this.editor;const e=t.t;const n=t.editing.view;const i=t.sourceElement;const o=t.config.get("title.placeholder")||e("Type your title");const r=t.config.get("placeholder")||i&&i.tagName.toLowerCase()==="textarea"&&i.getAttribute("placeholder")||e("Type or paste your content here.");t.editing.downcastDispatcher.on("insert:title-content",((t,e,i)=>{const r=i.mapper.toViewElement(e.item);r.placeholder=o;enablePlaceholder({view:n,element:r,keepOnFocus:true})}));const s=new Map;n.document.registerPostFixer((t=>{let e=false;for(const i of n.document.roots){if(i.isEmpty){continue}const n=i.getChild(1);const o=s.get(i.rootName);if(n!==o){if(o){hidePlaceholder(t,o);t.removeAttribute("data-placeholder",o)}t.setAttribute("data-placeholder",r,n);s.set(i.rootName,n);e=true}if(needsPlaceholder(n,true)&&i.childCount===2&&n.name==="p"){e=showPlaceholder(t,n)?true:e}else{e=hidePlaceholder(t,n)?true:e}}return e}))}_attachTabPressHandling(){const t=this.editor;const e=t.model;t.keystrokes.set("TAB",((t,n)=>{e.change((t=>{const i=e.document.selection;const o=Array.from(i.getSelectedBlocks());if(o.length===1&&o[0].is("element","title-content")){const e=i.getFirstPosition().root;const o=e.getChild(1);t.setSelection(o,0);n()}}))}));t.keystrokes.set("SHIFT + TAB",((n,i)=>{e.change((n=>{const o=e.document.selection;if(!o.isCollapsed){return}const r=first(o.getSelectedBlocks());const s=o.getFirstPosition();const a=t.model.document.getRoot(s.root.rootName);const c=a.getChild(0);const l=a.getChild(1);if(r===l&&s.isAtStart){n.setSelection(c.getChild(0),0);i()}}))}))}}function BL(t,e,n){const i=e.modelCursor;const o=e.viewItem;if(!i.isAtStart||!i.parent.is("element","$root")){return}if(!n.consumable.consume(o,{name:true})){return}const r=n.writer;const s=r.createElement("title");const a=r.createElement("title-content");r.append(a,s);r.insert(s,i);n.convertChildren(o,a);n.updateConversionResult(s,e)}function ML(t){return(e,n)=>{const i=n.modelPosition.parent;if(!i.is("element","title")){return}const o=i.parent;const r=n.mapper.toViewElement(o);n.viewPosition=t.createPositionAt(r,0);e.stop()}}function NL(t){return t.is("element","title")}function PL(t,e,n){const i=e.createElement("title");e.insert(i,t,"before");e.insert(t,i,0);e.rename(t,"title-content");n.schema.removeDisallowedAttributes([t],e)}function LL(t,e,n){let i=false;for(const o of t){if(o.index!==0){zL(o,e,n);i=true}}return i}function zL(t,e,n){const i=t.getChild(0);if(i.isEmpty){e.remove(t);return}e.move(e.createRangeOn(i),t,"before");e.rename(i,"paragraph");e.remove(t);n.schema.removeDisallowedAttributes([i],e)}function VL(t,e){if(!t||!t.is("element","paragraph")||t.childCount){return false}if(e.childCount<=2||e.getChild(e.childCount-1)!==t){return false}return true}function RL(t){return t.createContainerElement("span",{class:"image-inline"},t.createEmptyElement("img"))}function OL(t){return t.createContainerElement("figure",{class:"image"},[t.createEmptyElement("img"),t.createSlot("children")])}function FL(t,e){const n=t.plugins.get("ImageUtils");const i=t.plugins.has("ImageInlineEditing")&&t.plugins.has("ImageBlockEditing");return t=>{if(!n.isInlineImageView(t)){return null}if(!i){return o(t)}const r=t.getStyle("display")=="block"||t.findAncestor(n.isBlockImageView)?"imageBlock":"imageInline";if(r!==e){return null}return o(t)};function o(t){const e={name:true};if(t.hasAttribute("src")){e.attributes=["src"]}return e}}function jL(t,e){const n=ml(e.getSelectedBlocks());if(!n||t.isObject(n)){return"imageBlock"}if(n.isEmpty&&n.name!="listItem"){return"imageBlock"}return"imageInline"}function HL(t){if(t&&t.endsWith("px")){return parseInt(t)}return null}function UL(t){const e=HL(t.getStyle("width"));const n=HL(t.getStyle("height"));return!!(e&&n)}const WL=/^(image|image-inline)$/;class GL extends ph{constructor(){super(...arguments);this._domEmitter=new(Qa())}static get pluginName(){return"ImageUtils"}isImage(t){return this.isInlineImage(t)||this.isBlockImage(t)}isInlineImageView(t){return!!t&&t.is("element","img")}isBlockImageView(t){return!!t&&t.is("element","figure")&&t.hasClass("image")}insertImage(t={},e=null,n=null,i={}){const o=this.editor;const r=o.model;const s=r.document.selection;const a=KL(o,e||s,n);t={...Object.fromEntries(s.getAttributes()),...t};for(const e in t){if(!r.schema.checkAttribute(a,e)){delete t[e]}}return r.change((n=>{const{setImageSizes:o=true}=i;const s=n.createElement(a,t);r.insertObject(s,e,null,{setSelection:"on",findOptimalPosition:!e&&a!="imageInline"?"auto":undefined});if(s.parent){if(o){this.setImageNaturalSizeAttributes(s)}return s}return null}))}setImageNaturalSizeAttributes(t){const e=t.getAttribute("src");if(!e){return}if(t.getAttribute("width")||t.getAttribute("height")){return}this.editor.model.change((n=>{const i=new nc.window.Image;this._domEmitter.listenTo(i,"load",(()=>{if(!t.getAttribute("width")&&!t.getAttribute("height")){this.editor.model.enqueueChange(n.batch,(e=>{e.setAttribute("width",i.naturalWidth,t);e.setAttribute("height",i.naturalHeight,t)}))}this._domEmitter.stopListening(i,"load")}));i.src=e}))}getClosestSelectedImageWidget(t){const e=t.getFirstPosition();if(!e){return null}const n=t.getSelectedElement();if(n&&this.isImageWidget(n)){return n}let i=e.parent;while(i){if(i.is("element")&&this.isImageWidget(i)){return i}i=i.parent}return null}getClosestSelectedImageElement(t){const e=t.getSelectedElement();return this.isImage(e)?e:t.getFirstPosition().findAncestor("imageBlock")}getImageWidgetFromImageView(t){return t.findAncestor({classes:WL})}isImageAllowed(){const t=this.editor.model;const e=t.document.selection;return qL(this.editor,e)&&ZL(e)}toImageWidget(t,e,n){e.setCustomProperty("image",true,t);const i=()=>{const e=this.findViewImgElement(t);const i=e.getAttribute("alt");return i?`${i} ${n}`:n};return vM(t,e,{label:i})}isImageWidget(t){return!!t.getCustomProperty("image")&&_M(t)}isBlockImage(t){return!!t&&t.is("element","imageBlock")}isInlineImage(t){return!!t&&t.is("element","imageInline")}findViewImgElement(t){if(this.isInlineImageView(t)){return t}const e=this.editor.editing.view;for(const{item:n}of e.createRangeIn(t)){if(this.isInlineImageView(n)){return n}}}destroy(){this._domEmitter.stopListening();return super.destroy()}}function qL(t,e){const n=KL(t,e,null);if(n=="imageBlock"){const n=$L(e,t.model);if(t.model.schema.checkChild(n,"imageBlock")){return true}}else if(t.model.schema.checkChild(e.focus,"imageInline")){return true}return false}function ZL(t){return[...t.focus.getAncestors()].every((t=>!t.is("element","imageBlock")))}function $L(t,e){const n=SM(t,e);const i=n.start.parent;if(i.isEmpty&&!i.is("element","$root")){return i.parent}return i}function KL(t,e,n){const i=t.model.schema;const o=t.config.get("image.insert.type");if(!t.plugins.has("ImageBlockEditing")){return"imageInline"}if(!t.plugins.has("ImageInlineEditing")){return"imageBlock"}if(n){return n}if(o==="inline"){return"imageInline"}if(o!=="auto"){return"imageBlock"}if(e.is("selection")){return jL(i,e)}return i.checkChild(e,"imageInline")?"imageInline":"imageBlock"}const YL=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 QL extends(null&&Plugin){static get requires(){return[Clipboard,ImageUtils,Undo,Delete]}static get pluginName(){return"AutoImage"}constructor(t){super(t);this._timeoutId=null;this._positionToInsert=null}init(){const t=this.editor;const e=t.model.document;const n=t.plugins.get("ClipboardPipeline");this.listenTo(n,"inputTransformation",(()=>{const t=e.selection.getFirstRange();const n=LivePosition.fromPosition(t.start);n.stickiness="toPrevious";const i=LivePosition.fromPosition(t.end);i.stickiness="toNext";e.once("change:data",(()=>{this._embedImageBetweenPositions(n,i);n.detach();i.detach()}),{priority:"high"})}));t.commands.get("undo").on("execute",(()=>{if(this._timeoutId){global.window.clearTimeout(this._timeoutId);this._positionToInsert.detach();this._timeoutId=null;this._positionToInsert=null}}),{priority:"high"})}_embedImageBetweenPositions(t,e){const n=this.editor;const i=new LiveRange(t,e);const o=i.getWalker({ignoreElementEnd:true});const r=Object.fromEntries(n.model.document.selection.getAttributes());const s=this.editor.plugins.get("ImageUtils");let a="";for(const t of o){if(t.item.is("$textProxy")){a+=t.item.data}}a=a.trim();if(!a.match(YL)){i.detach();return}this._positionToInsert=LivePosition.fromPosition(t);this._timeoutId=setTimeout((()=>{const t=n.commands.get("insertImage");if(!t.isEnabled){i.detach();return}n.model.change((t=>{this._timeoutId=null;t.remove(i);i.detach();let e;if(this._positionToInsert.root.rootName!=="$graveyard"){e=this._positionToInsert.toPosition()}s.insertImage({...r,src:a},e);this._positionToInsert.detach();this._positionToInsert=null}));const e=n.plugins.get("Delete");e.requestUndoOnBackspace()}),100)}}class JL extends kh{refresh(){const t=this.editor;const e=t.plugins.get("ImageUtils");const n=e.getClosestSelectedImageElement(this.editor.model.document.selection);this.isEnabled=!!n;if(this.isEnabled&&n.hasAttribute("alt")){this.value=n.getAttribute("alt")}else{this.value=false}}execute(t){const e=this.editor;const n=e.plugins.get("ImageUtils");const i=e.model;const o=n.getClosestSelectedImageElement(i.document.selection);i.change((e=>{e.setAttribute("alt",t.newValue,o)}))}}class XL extends ph{static get requires(){return[GL]}static get pluginName(){return"ImageTextAlternativeEditing"}init(){this.editor.commands.add("imageTextAlternative",new JL(this.editor))}}var tz=n(5269);var ez={injectType:"singletonStyleTag",attributes:{"data-cke":true}};ez.insert="head";ez.singleton=true;var nz=Ll()(tz.Z,ez);const iz=tz.Z.locals||{};var oz=n(6603);var rz={injectType:"singletonStyleTag",attributes:{"data-cke":true}};rz.insert="head";rz.singleton=true;var sz=Ll()(oz.Z,rz);const az=oz.Z.locals||{};class cz extends Fl{constructor(t){super(t);const e=this.locale.t;this.focusTracker=new pl;this.keystrokes=new bl;this.labeledInput=this._createLabeledInputView();this.saveButtonView=this._createButton(e("Save"),Dy.check,"ck-button-save");this.saveButtonView.type="submit";this.cancelButtonView=this._createButton(e("Cancel"),Dy.cancel,"ck-button-cancel","cancel");this._focusables=new Ml;this._focusCycler=new ch({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]})}render(){super.render();this.keystrokes.listenTo(this.element);o({view:this});[this.labeledInput,this.saveButtonView,this.cancelButtonView].forEach((t=>{this._focusables.add(t);this.focusTracker.add(t.element)}))}destroy(){super.destroy();this.focusTracker.destroy();this.keystrokes.destroy()}_createButton(t,e,n,i){const o=new Dd(this.locale);o.set({label:t,icon:e,tooltip:true});o.extendTemplate({attributes:{class:n}});if(i){o.delegate("execute").to(this,i)}return o}_createLabeledInputView(){const t=this.locale.t;const e=new Ru(this.locale,wx);e.label=t("Text alternative");return e}}function lz(t){const e=t.plugins.get("ContextualBalloon");const n=t.plugins.get("ImageUtils");if(n.getClosestSelectedImageWidget(t.editing.view.document.selection)){const n=dz(t);e.updatePosition(n)}}function dz(t){const e=t.editing.view;const n=yD.defaultPositions;const i=t.plugins.get("ImageUtils");return{target:e.domConverter.mapViewToDom(i.getClosestSelectedImageWidget(e.document.selection)),positions:[n.northArrowSouth,n.northArrowSouthWest,n.northArrowSouthEast,n.southArrowNorth,n.southArrowNorthWest,n.southArrowNorthEast,n.viewportStickyNorth]}}class uz extends ph{static get requires(){return[TT]}static get pluginName(){return"ImageTextAlternativeUI"}init(){this._createButton()}destroy(){super.destroy();if(this._form){this._form.destroy()}}_createButton(){const t=this.editor;const e=t.t;t.ui.componentFactory.add("imageTextAlternative",(n=>{const i=t.commands.get("imageTextAlternative");const o=new Dd(n);o.set({label:e("Change image text alternative"),icon:Dy.textAlternative,tooltip:true});o.bind("isEnabled").to(i,"isEnabled");o.bind("isOn").to(i,"value",(t=>!!t));this.listenTo(o,"execute",(()=>{this._showForm()}));return o}))}_createForm(){const n=this.editor;const i=n.editing.view;const o=i.document;const r=n.plugins.get("ImageUtils");this._balloon=this.editor.plugins.get("ContextualBalloon");this._form=new(e(cz))(n.locale);this._form.render();this.listenTo(this._form,"submit",(()=>{n.execute("imageTextAlternative",{newValue:this._form.labeledInput.fieldView.element.value});this._hideForm(true)}));this.listenTo(this._form,"cancel",(()=>{this._hideForm(true)}));this._form.keystrokes.set("Esc",((t,e)=>{this._hideForm(true);e()}));this.listenTo(n.ui,"update",(()=>{if(!r.getClosestSelectedImageWidget(o.selection)){this._hideForm(true)}else if(this._isVisible){lz(n)}}));t({emitter:this._form,activator:()=>this._isVisible,contextElements:()=>[this._balloon.view.element],callback:()=>this._hideForm()})}_showForm(){if(this._isVisible){return}if(!this._form){this._createForm()}const t=this.editor;const e=t.commands.get("imageTextAlternative");const n=this._form.labeledInput;this._form.disableCssTransitions();if(!this._isInBalloon){this._balloon.add({view:this._form,position:dz(t)})}n.fieldView.value=n.fieldView.element.value=e.value||"";this._form.labeledInput.fieldView.select();this._form.enableCssTransitions()}_hideForm(t=false){if(!this._isInBalloon){return}if(this._form.focusTracker.isFocused){this._form.saveButtonView.focus()}this._balloon.remove(this._form);if(t){this.editor.editing.view.focus()}}get _isVisible(){return!!this._balloon&&this._balloon.visibleView===this._form}get _isInBalloon(){return!!this._balloon&&this._balloon.hasView(this._form)}}class hz extends ph{static get requires(){return[XL,uz]}static get pluginName(){return"ImageTextAlternative"}}function gz(t){const e=(e,n,i)=>{if(!i.consumable.test(n.viewItem,{name:true,classes:"image"})){return}const o=t.findViewImgElement(n.viewItem);if(!o||!i.consumable.test(o,{name:true})){return}i.consumable.consume(n.viewItem,{name:true,classes:"image"});const r=i.convertItem(o,n.modelCursor);const s=ml(r.modelRange.getItems());if(!s){i.consumable.revert(n.viewItem,{name:true,classes:"image"});return}i.convertChildren(n.viewItem,s);i.updateConversionResult(s,n)};return t=>{t.on("element:figure",e)}}function fz(t){const e=["srcset","media","type","sizes"];const n=(n,i,o)=>{const r=i.viewItem;if(!o.consumable.test(r,{name:true})){return}const s=new Map;for(const t of r.getChildren()){if(t.is("element","source")){const n={};for(const i of e){if(t.hasAttribute(i)){if(o.consumable.test(t,{attributes:i})){n[i]=t.getAttribute(i)}}}if(Object.keys(n).length){s.set(t,n)}}}const a=t.findViewImgElement(r);if(!a){return}let c=i.modelCursor.parent;if(!c.is("element","imageBlock")){const t=o.convertItem(a,i.modelCursor);i.modelRange=t.modelRange;i.modelCursor=t.modelCursor;c=first(t.modelRange.getItems())}o.consumable.consume(r,{name:true});for(const[t,e]of s){o.consumable.consume(t,{attributes:Object.keys(e)})}if(s.size){o.writer.setAttribute("sources",Array.from(s.values()),c)}o.convertChildren(r,c)};return t=>{t.on("element:picture",n)}}function mz(t,e){const n=(e,n,i)=>{if(!i.consumable.consume(n.item,e.name)){return}const o=i.writer;const r=i.mapper.toViewElement(n.item);const s=t.findViewImgElement(r);if(n.attributeNewValue===null){o.removeAttribute("srcset",s);o.removeAttribute("sizes",s)}else{if(n.attributeNewValue){o.setAttribute("srcset",n.attributeNewValue,s);o.setAttribute("sizes","100vw",s)}}};return t=>{t.on(`attribute:srcset:${e}`,n)}}function pz(t){const e=(e,n,i)=>{if(!i.consumable.consume(n.item,e.name)){return}const o=i.writer;const r=i.mapper.toViewElement(n.item);const s=t.findViewImgElement(r);const a=n.attributeNewValue;if(a&&a.length){const t=o.createContainerElement("picture",null,a.map((t=>o.createEmptyElement("source",t))));const e=[];let n=s.parent;while(n&&n.is("attributeElement")){const t=n.parent;o.unwrap(o.createRangeOn(s),n);e.unshift(n);n=t}o.insert(o.createPositionBefore(s),t);o.move(o.createRangeOn(s),o.createPositionAt(t,"end"));for(const n of e){o.wrap(o.createRangeOn(t),n)}}else if(s.parent.is("element","picture")){const t=s.parent;o.move(o.createRangeOn(s),o.createPositionBefore(t));o.remove(t)}};return t=>{t.on("attribute:sources:imageBlock",e);t.on("attribute:sources:imageInline",e)}}function bz(t,e,n){const i=(e,n,i)=>{if(!i.consumable.consume(n.item,e.name)){return}const o=i.writer;const r=i.mapper.toViewElement(n.item);const s=t.findViewImgElement(r);o.setAttribute(n.attributeKey,n.attributeNewValue||"",s)};return t=>{t.on(`attribute:${n}:${e}`,i)}}class kz extends Cp{observe(t){this.listenTo(t,"load",((t,e)=>{const n=e.target;if(this.checkShouldIgnoreEventFromTarget(n)){return}if(n.tagName=="IMG"){this._fireEvents(e)}}),{useCapture:true})}stopObserving(t){this.stopListening(t)}_fireEvents(t){if(this.isEnabled){this.document.fire("layoutChanged");this.document.fire("imageLoaded",t)}}}class wz extends kh{constructor(t){super(t);const e=t.config.get("image.insert.type");if(!t.plugins.has("ImageBlockEditing")){if(e==="block"){L("image-block-plugin-required")}}if(!t.plugins.has("ImageInlineEditing")){if(e==="inline"){L("image-inline-plugin-required")}}}refresh(){const t=this.editor.plugins.get("ImageUtils");this.isEnabled=t.isImageAllowed()}execute(t){const e=ol(t.source);const n=this.editor.model.document.selection;const i=this.editor.plugins.get("ImageUtils");const o=Object.fromEntries(n.getAttributes());e.forEach(((t,e)=>{const r=n.getSelectedElement();if(typeof t==="string"){t={src:t}}if(e&&r&&i.isImage(r)){const e=this.editor.model.createPositionAfter(r);i.insertImage({...t,...o},e)}else{i.insertImage({...t,...o})}}))}}class Az extends kh{constructor(t){super(t);this.decorate("cleanupImage")}refresh(){const t=this.editor;const e=t.plugins.get("ImageUtils");const n=this.editor.model.document.selection.getSelectedElement();this.isEnabled=e.isImage(n);this.value=this.isEnabled?n.getAttribute("src"):null}execute(t){const e=this.editor.model.document.selection.getSelectedElement();const n=this.editor.plugins.get("ImageUtils");this.editor.model.change((i=>{i.setAttribute("src",t.source,e);this.cleanupImage(i,e);n.setImageNaturalSizeAttributes(e)}))}cleanupImage(t,e){t.removeAttribute("srcset",e);t.removeAttribute("sizes",e);t.removeAttribute("sources",e);t.removeAttribute("width",e);t.removeAttribute("height",e);t.removeAttribute("alt",e)}}class Cz extends ph{static get requires(){return[GL]}static get pluginName(){return"ImageEditing"}init(){const t=this.editor;const e=t.conversion;t.editing.view.addObserver(kz);e.for("upcast").attributeToAttribute({view:{name:"img",key:"alt"},model:"alt"}).attributeToAttribute({view:{name:"img",key:"srcset"},model:"srcset"});const n=new wz(t);const i=new Az(t);t.commands.add("insertImage",n);t.commands.add("replaceImageSource",i);t.commands.add("imageInsert",n)}}class _z extends ph{static get requires(){return[GL]}static get pluginName(){return"ImageSizeAttributes"}afterInit(){this._registerSchema();this._registerConverters("imageBlock");this._registerConverters("imageInline")}_registerSchema(){if(this.editor.plugins.has("ImageBlockEditing")){this.editor.model.schema.extend("imageBlock",{allowAttributes:["width","height"]})}if(this.editor.plugins.has("ImageInlineEditing")){this.editor.model.schema.extend("imageInline",{allowAttributes:["width","height"]})}}_registerConverters(t){const e=this.editor;const n=e.plugins.get("ImageUtils");const i=t==="imageBlock"?"figure":"img";e.conversion.for("upcast").attributeToAttribute({view:{name:i,styles:{width:/.+/}},model:{key:"width",value:t=>{if(UL(t)){return HL(t.getStyle("width"))}return null}}}).attributeToAttribute({view:{name:i,key:"width"},model:"width"}).attributeToAttribute({view:{name:i,styles:{height:/.+/}},model:{key:"height",value:t=>{if(UL(t)){return HL(t.getStyle("height"))}return null}}}).attributeToAttribute({view:{name:i,key:"height"},model:"height"});e.conversion.for("editingDowncast").add((t=>{o(t,"width","width",true);o(t,"height","height",true)}));e.conversion.for("dataDowncast").add((t=>{o(t,"width","width",false);o(t,"height","height",false)}));function o(e,i,o,r){e.on(`attribute:${i}:${t}`,((e,i,s)=>{if(!s.consumable.consume(i.item,e.name)){return}const a=s.writer;const c=s.mapper.toViewElement(i.item);const l=n.findViewImgElement(c);if(i.attributeNewValue!==null){a.setAttribute(o,i.attributeNewValue,l)}else{a.removeAttribute(o,l)}if(i.item.hasAttribute("sources")){return}const d=i.item.hasAttribute("resizedWidth");if(t==="imageInline"&&!d&&!r){return}const u=i.item.getAttribute("width");const h=i.item.getAttribute("height");if(u&&h){a.setStyle("aspect-ratio",`${u}/${h}`,l)}}))}}}class vz extends kh{constructor(t,e){super(t);this._modelElementName=e}refresh(){const t=this.editor;const e=t.plugins.get("ImageUtils");const n=e.getClosestSelectedImageElement(this.editor.model.document.selection);if(this._modelElementName==="imageBlock"){this.isEnabled=e.isInlineImage(n)}else{this.isEnabled=e.isBlockImage(n)}}execute(t={}){const e=this.editor;const n=this.editor.model;const i=e.plugins.get("ImageUtils");const o=i.getClosestSelectedImageElement(n.document.selection);const r=Object.fromEntries(o.getAttributes());if(!r.src&&!r.uploadId){return null}return n.change((e=>{const{setImageSizes:s=true}=t;const a=Array.from(n.markers).filter((t=>t.getRange().containsItem(o)));const c=i.insertImage(r,n.createSelection(o,"on"),this._modelElementName,{setImageSizes:s});if(!c){return null}const l=e.createRangeOn(c);for(const t of a){const n=t.getRange();const i=n.root.rootName!="$graveyard"?n.getJoined(l,true):l;e.updateMarker(t,{range:i})}return{oldElement:o,newElement:c}}))}}var yz=n(31);var xz={injectType:"singletonStyleTag",attributes:{"data-cke":true}};xz.insert="head";xz.singleton=true;var Ez=Ll()(yz.Z,xz);const Dz=yz.Z.locals||{};class Tz extends ph{static get requires(){return[GL]}static get pluginName(){return"ImagePlaceholder"}afterInit(){this._setupSchema();this._setupConversion();this._setupLoadListener()}_setupSchema(){const t=this.editor.model.schema;if(t.isRegistered("imageBlock")){t.extend("imageBlock",{allowAttributes:["placeholder"]})}if(t.isRegistered("imageInline")){t.extend("imageInline",{allowAttributes:["placeholder"]})}}_setupConversion(){const t=this.editor;const e=t.conversion;const n=t.plugins.get("ImageUtils");e.for("editingDowncast").add((t=>{t.on("attribute:placeholder",((t,e,i)=>{if(!i.consumable.test(e.item,t.name)){return}if(!e.item.is("element","imageBlock")&&!e.item.is("element","imageInline")){return}i.consumable.consume(e.item,t.name);const o=i.writer;const r=i.mapper.toViewElement(e.item);const s=n.findViewImgElement(r);if(e.attributeNewValue){o.addClass("image_placeholder",s);o.setStyle("background-image",`url(${e.attributeNewValue})`,s);o.setCustomProperty("editingPipeline:doNotReuseOnce",true,s)}else{o.removeClass("image_placeholder",s);o.removeStyle("background-image",s)}}))}))}_setupLoadListener(){const t=this.editor;const e=t.model;const n=t.editing;const i=n.view;const o=t.plugins.get("ImageUtils");i.addObserver(kz);this.listenTo(i.document,"imageLoaded",((t,r)=>{const s=i.domConverter.mapDomToView(r.target);if(!s){return}const a=o.getImageWidgetFromImageView(s);if(!a){return}const c=n.mapper.toModelElement(a);if(!c||!c.hasAttribute("placeholder")){return}e.enqueueChange({isUndoable:false},(t=>{t.removeAttribute("placeholder",c)}))}))}}class Iz extends ph{static get requires(){return[Cz,_z,GL,Tz,fM]}static get pluginName(){return"ImageBlockEditing"}init(){const t=this.editor;const e=t.model.schema;e.register("imageBlock",{inheritAllFrom:"$blockObject",allowAttributes:["alt","src","srcset"]});this._setupConversion();if(t.plugins.has("ImageInlineEditing")){t.commands.add("imageTypeBlock",new vz(this.editor,"imageBlock"));this._setupClipboardIntegration()}}_setupConversion(){const t=this.editor;const e=t.t;const n=t.conversion;const i=t.plugins.get("ImageUtils");n.for("dataDowncast").elementToStructure({model:"imageBlock",view:(t,{writer:e})=>OL(e)});n.for("editingDowncast").elementToStructure({model:"imageBlock",view:(t,{writer:n})=>i.toImageWidget(OL(n),n,e("image widget"))});n.for("downcast").add(bz(i,"imageBlock","src")).add(bz(i,"imageBlock","alt")).add(mz(i,"imageBlock"));n.for("upcast").elementToElement({view:FL(t,"imageBlock"),model:(t,{writer:e})=>e.createElement("imageBlock",t.hasAttribute("src")?{src:t.getAttribute("src")}:undefined)}).add(gz(i))}_setupClipboardIntegration(){const t=this.editor;const e=t.model;const n=t.editing.view;const i=t.plugins.get("ImageUtils");const o=t.plugins.get("ClipboardPipeline");this.listenTo(o,"inputTransformation",((o,r)=>{const s=Array.from(r.content.getChildren());let a;if(!s.every(i.isInlineImageView)){return}if(r.targetRanges){a=t.editing.mapper.toModelRange(r.targetRanges[0])}else{a=e.document.selection.getFirstRange()}const c=e.createSelection(a);if(jL(e.schema,c)==="imageBlock"){const t=new k_(n.document);const e=s.map((e=>t.createElement("figure",{class:"image"},e)));r.content=t.createDocumentFragment(e)}}));this.listenTo(o,"contentInsertion",((t,n)=>{if(n.method!=="paste"){return}e.change((t=>{const e=t.createRangeIn(n.content);for(const t of e.getItems()){if(t.is("element","imageBlock")){i.setImageNaturalSizeAttributes(t)}}}))}))}}var Sz=n(8879);var Bz={injectType:"singletonStyleTag",attributes:{"data-cke":true}};Bz.insert="head";Bz.singleton=true;var Mz=Ll()(Sz.Z,Bz);const Nz=Sz.Z.locals||{};class Pz extends Fl{constructor(t,e=[]){super(t);this.focusTracker=new pl;this.keystrokes=new bl;this._focusables=new Ml;this.children=this.createCollection();this._focusCycler=new ch({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}});for(const t of e){this.children.add(t);this._focusables.add(t);if(t instanceof Rd){this._focusables.addMany(t.children)}}if(this._focusables.length>1){for(const t of this._focusables){if(Lz(t)){t.focusCycler.on("forwardCycle",(t=>{this._focusCycler.focusNext();t.stop()}));t.focusCycler.on("backwardCycle",(t=>{this._focusCycler.focusPrevious();t.stop()}))}}}this.setTemplate({tag:"form",attributes:{class:["ck","ck-image-insert-form"],tabindex:-1},children:this.children})}render(){super.render();o({view:this});for(const t of this._focusables){this.focusTracker.add(t.element)}this.keystrokes.listenTo(this.element);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)}destroy(){super.destroy();this.focusTracker.destroy();this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}}function Lz(t){return"focusCycler"in t}class zz extends ph{static get pluginName(){return"ImageInsertUI"}static get requires(){return[GL]}constructor(t){super(t);this._integrations=new Map;t.config.define("image.insert.integrations",["upload","assetManager","url"])}init(){const t=this.editor;const e=t.model.document.selection;const n=t.plugins.get("ImageUtils");this.set("isImageSelected",false);this.listenTo(t.model.document,"change",(()=>{this.isImageSelected=n.isImage(e.getSelectedElement())}));const i=t=>this._createToolbarComponent(t);t.ui.componentFactory.add("insertImage",i);t.ui.componentFactory.add("imageInsert",i)}registerIntegration({name:t,observable:e,buttonViewCreator:n,formViewCreator:i,requiresForm:o}){if(this._integrations.has(t)){L("image-insert-integration-exists",{name:t})}this._integrations.set(t,{observable:e,buttonViewCreator:n,formViewCreator:i,requiresForm:!!o})}_createToolbarComponent(t){const e=this.editor;const n=t.t;const i=this._prepareIntegrations();if(!i.length){return null}let o;const r=i[0];if(i.length==1){if(!r.requiresForm){return r.buttonViewCreator(true)}o=r.buttonViewCreator(true)}else{const e=r.buttonViewCreator(false);o=new Yy(t,e);o.tooltip=true;o.bind("label").to(this,"isImageSelected",(t=>t?n("Replace image"):n("Insert image")))}const s=this.dropdownView=rx(t,o);const a=i.map((({observable:t})=>t));s.bind("isEnabled").toMany(a,"isEnabled",((...t)=>t.some((t=>t))));s.once("change:isOpen",(()=>{const t=i.map((({formViewCreator:t})=>t(i.length==1)));const n=new Pz(e.locale,t);s.panelView.children.add(n)}));return s}_prepareIntegrations(){const t=this.editor;const e=t.config.get("image.insert.integrations");const n=[];if(!e.length){L("image-insert-integrations-not-specified");return n}for(const t of e){if(!this._integrations.has(t)){if(!["upload","assetManager","url"].includes(t)){L("image-insert-unknown-integration",{item:t})}continue}n.push(this._integrations.get(t))}if(!n.length){L("image-insert-integrations-not-registered")}return n}}var Vz=n(2430);var Rz={injectType:"singletonStyleTag",attributes:{"data-cke":true}};Rz.insert="head";Rz.singleton=true;var Oz=Ll()(Vz.Z,Rz);const Fz=Vz.Z.locals||{};class jz extends ph{static get requires(){return[Iz,lN,hz,zz]}static get pluginName(){return"ImageBlock"}}class Hz extends ph{static get requires(){return[Cz,_z,GL,Tz,fM]}static get pluginName(){return"ImageInlineEditing"}init(){const t=this.editor;const e=t.model.schema;e.register("imageInline",{inheritAllFrom:"$inlineObject",allowAttributes:["alt","src","srcset"]});e.addChildCheck(((t,e)=>{if(t.endsWith("caption")&&e.name==="imageInline"){return false}}));this._setupConversion();if(t.plugins.has("ImageBlockEditing")){t.commands.add("imageTypeInline",new vz(this.editor,"imageInline"));this._setupClipboardIntegration()}}_setupConversion(){const t=this.editor;const e=t.t;const n=t.conversion;const i=t.plugins.get("ImageUtils");n.for("dataDowncast").elementToElement({model:"imageInline",view:(t,{writer:e})=>e.createEmptyElement("img")});n.for("editingDowncast").elementToStructure({model:"imageInline",view:(t,{writer:n})=>i.toImageWidget(RL(n),n,e("image widget"))});n.for("downcast").add(bz(i,"imageInline","src")).add(bz(i,"imageInline","alt")).add(mz(i,"imageInline"));n.for("upcast").elementToElement({view:FL(t,"imageInline"),model:(t,{writer:e})=>e.createElement("imageInline",t.hasAttribute("src")?{src:t.getAttribute("src")}:undefined)})}_setupClipboardIntegration(){const t=this.editor;const e=t.model;const n=t.editing.view;const i=t.plugins.get("ImageUtils");const o=t.plugins.get("ClipboardPipeline");this.listenTo(o,"inputTransformation",((o,r)=>{const s=Array.from(r.content.getChildren());let a;if(!s.every(i.isBlockImageView)){return}if(r.targetRanges){a=t.editing.mapper.toModelRange(r.targetRanges[0])}else{a=e.document.selection.getFirstRange()}const c=e.createSelection(a);if(jL(e.schema,c)==="imageInline"){const t=new k_(n.document);const e=s.map((e=>{if(e.childCount===1){Array.from(e.getAttributes()).forEach((n=>t.setAttribute(...n,i.findViewImgElement(e))));return e.getChild(0)}else{return e}}));r.content=t.createDocumentFragment(e)}}));this.listenTo(o,"contentInsertion",((t,n)=>{if(n.method!=="paste"){return}e.change((t=>{const e=t.createRangeIn(n.content);for(const t of e.getItems()){if(t.is("element","imageInline")){i.setImageNaturalSizeAttributes(t)}}}))}))}}class Uz extends ph{static get requires(){return[Hz,lN,hz,zz]}static get pluginName(){return"ImageInline"}}class Wz extends ph{static get requires(){return[jz,Uz]}static get pluginName(){return"Image"}}class Gz extends ph{static get pluginName(){return"ImageCaptionUtils"}static get requires(){return[GL]}getCaptionFromImageModelElement(t){for(const e of t.getChildren()){if(!!e&&e.is("element","caption")){return e}}return null}getCaptionFromModelSelection(t){const e=this.editor.plugins.get("ImageUtils");const n=t.getFirstPosition().findAncestor("caption");if(!n){return null}if(e.isBlockImage(n.parent)){return n}return null}matchImageCaptionViewElement(t){const e=this.editor.plugins.get("ImageUtils");if(t.name=="figcaption"&&e.isBlockImageView(t.parent)){return{name:true}}return null}}class qz extends kh{refresh(){const t=this.editor;const e=t.plugins.get("ImageCaptionUtils");const n=t.plugins.get("ImageUtils");if(!t.plugins.has(Iz)){this.isEnabled=false;this.value=false;return}const i=t.model.document.selection;const o=i.getSelectedElement();if(!o){const t=e.getCaptionFromModelSelection(i);this.isEnabled=!!t;this.value=!!t;return}this.isEnabled=n.isImage(o);if(!this.isEnabled){this.value=false}else{this.value=!!e.getCaptionFromImageModelElement(o)}}execute(t={}){const{focusCaptionOnShow:e}=t;this.editor.model.change((t=>{if(this.value){this._hideImageCaption(t)}else{this._showImageCaption(t,e)}}))}_showImageCaption(t,e){const n=this.editor.model;const i=n.document.selection;const o=this.editor.plugins.get("ImageCaptionEditing");const r=this.editor.plugins.get("ImageUtils");let s=i.getSelectedElement();const a=o._getSavedCaption(s);if(r.isInlineImage(s)){this.editor.execute("imageTypeBlock");s=i.getSelectedElement()}const c=a||t.createElement("caption");t.append(c,s);if(e){t.setSelection(c,"in")}}_hideImageCaption(t){const e=this.editor;const n=e.model.document.selection;const i=e.plugins.get("ImageCaptionEditing");const o=e.plugins.get("ImageCaptionUtils");let r=n.getSelectedElement();let s;if(r){s=o.getCaptionFromImageModelElement(r)}else{s=o.getCaptionFromModelSelection(n);r=s.parent}i._saveCaption(r,s);t.setSelection(r,"on");t.remove(s)}}class Zz extends ph{static get requires(){return[GL,Gz]}static get pluginName(){return"ImageCaptionEditing"}constructor(t){super(t);this._savedCaptionsMap=new WeakMap}init(){const t=this.editor;const e=t.model.schema;if(!e.isRegistered("caption")){e.register("caption",{allowIn:"imageBlock",allowContentOf:"$block",isLimit:true})}else{e.extend("caption",{allowIn:"imageBlock"})}t.commands.add("toggleImageCaption",new qz(this.editor));this._setupConversion();this._setupImageTypeCommandsIntegration();this._registerCaptionReconversion()}_setupConversion(){const t=this.editor;const e=t.editing.view;const n=t.plugins.get("ImageUtils");const i=t.plugins.get("ImageCaptionUtils");const o=t.t;t.conversion.for("upcast").elementToElement({view:t=>i.matchImageCaptionViewElement(t),model:"caption"});t.conversion.for("dataDowncast").elementToElement({model:"caption",view:(t,{writer:e})=>{if(!n.isBlockImage(t.parent)){return null}return e.createContainerElement("figcaption")}});t.conversion.for("editingDowncast").elementToElement({model:"caption",view:(t,{writer:i})=>{if(!n.isBlockImage(t.parent)){return null}const r=i.createEditableElement("figcaption");i.setCustomProperty("imageCaption",true,r);r.placeholder=o("Enter image caption");Sh({view:e,element:r,keepOnFocus:true});const s=t.parent.getAttribute("alt");const a=s?o("Caption for image: %0",[s]):o("Caption for the image");return IM(r,i,{label:a})}})}_setupImageTypeCommandsIntegration(){const t=this.editor;const e=t.plugins.get("ImageUtils");const n=t.plugins.get("ImageCaptionUtils");const i=t.commands.get("imageTypeInline");const o=t.commands.get("imageTypeBlock");const r=t=>{if(!t.return){return}const{oldElement:i,newElement:o}=t.return;if(!i){return}if(e.isBlockImage(i)){const t=n.getCaptionFromImageModelElement(i);if(t){this._saveCaption(o,t);return}}const r=this._getSavedCaption(i);if(r){this._saveCaption(o,r)}};if(i){this.listenTo(i,"execute",r,{priority:"low"})}if(o){this.listenTo(o,"execute",r,{priority:"low"})}}_getSavedCaption(t){const e=this._savedCaptionsMap.get(t);return e?Zb.fromJSON(e):null}_saveCaption(t,e){this._savedCaptionsMap.set(t,e.toJSON())}_registerCaptionReconversion(){const t=this.editor;const e=t.model;const n=t.plugins.get("ImageUtils");const i=t.plugins.get("ImageCaptionUtils");e.document.on("change:data",(()=>{const o=e.document.differ.getChanges();for(const e of o){if(e.attributeKey!=="alt"){continue}const o=e.range.start.nodeAfter;if(n.isBlockImage(o)){const e=i.getCaptionFromImageModelElement(o);if(!e){return}t.editing.reconvertItem(e)}}}))}}class $z extends ph{static get requires(){return[Gz]}static get pluginName(){return"ImageCaptionUI"}init(){const t=this.editor;const e=t.editing.view;const n=t.plugins.get("ImageCaptionUtils");const i=t.t;t.ui.componentFactory.add("toggleImageCaption",(o=>{const r=t.commands.get("toggleImageCaption");const s=new Dd(o);s.set({icon:Dy.caption,tooltip:true,isToggleable:true});s.bind("isOn","isEnabled").to(r,"value","isEnabled");s.bind("label").to(r,"value",(t=>t?i("Toggle caption off"):i("Toggle caption on")));this.listenTo(s,"execute",(()=>{t.execute("toggleImageCaption",{focusCaptionOnShow:true});const i=n.getCaptionFromModelSelection(t.model.document.selection);if(i){const n=t.editing.mapper.toViewElement(i);e.scrollToTheSelection();e.change((t=>{t.addClass("image__caption_highlighted",n)}))}t.editing.view.focus()}));return s}))}}var Kz=n(2423);var Yz={injectType:"singletonStyleTag",attributes:{"data-cke":true}};Yz.insert="head";Yz.singleton=true;var Qz=Ll()(Kz.Z,Yz);const Jz=Kz.Z.locals||{};class Xz extends ph{static get requires(){return[Zz,$z]}static get pluginName(){return"ImageCaption"}}class tV extends(gt()){constructor(){super();const t=new window.FileReader;this._reader=t;this._data=undefined;this.set("loaded",0);t.onprogress=t=>{this.loaded=t.loaded}}get error(){return this._reader.error}get data(){return this._data}read(t){const e=this._reader;this.total=t.size;return new Promise(((n,i)=>{e.onload=()=>{const t=e.result;this._data=t;n(t)};e.onerror=()=>{i("error")};e.onabort=()=>{i("aborted")};this._reader.readAsDataURL(t)}))}abort(){this._reader.abort()}}class eV extends ph{constructor(){super(...arguments);this.loaders=new fl;this._loadersMap=new Map;this._pendingAction=null}static get pluginName(){return"FileRepository"}static get requires(){return[kv]}init(){this.loaders.on("change",(()=>this._updatePendingAction()));this.set("uploaded",0);this.set("uploadTotal",null);this.bind("uploadedPercent").to(this,"uploaded",this,"uploadTotal",((t,e)=>e?t/e*100:0))}getLoader(t){return this._loadersMap.get(t)||null}createLoader(t){if(!this.createUploadAdapter){L("filerepository-no-upload-adapter");return null}const e=new nV(Promise.resolve(t),this.createUploadAdapter);this.loaders.add(e);this._loadersMap.set(t,e);if(t instanceof Promise){e.file.then((t=>{this._loadersMap.set(t,e)})).catch((()=>{}))}e.on("change:uploaded",(()=>{let t=0;for(const e of this.loaders){t+=e.uploaded}this.uploaded=t}));e.on("change:uploadTotal",(()=>{let t=0;for(const e of this.loaders){if(e.uploadTotal){t+=e.uploadTotal}}this.uploadTotal=t}));return e}destroyLoader(t){const e=t instanceof nV?t:this.getLoader(t);e._destroy();this.loaders.remove(e);this._loadersMap.forEach(((t,n)=>{if(t===e){this._loadersMap.delete(n)}}))}_updatePendingAction(){const t=this.editor.plugins.get(kv);if(this.loaders.length){if(!this._pendingAction){const e=this.editor.t;const n=t=>`${e("Upload in progress")} ${parseInt(t)}%.`;this._pendingAction=t.add(n(this.uploadedPercent));this._pendingAction.bind("message").to(this,"uploadedPercent",n)}}else{t.remove(this._pendingAction);this._pendingAction=null}}}class nV extends(gt()){constructor(t,e){super();this.id=I();this._filePromiseWrapper=this._createFilePromiseWrapper(t);this._adapter=e(this);this._reader=new tV;this.set("status","idle");this.set("uploaded",0);this.set("uploadTotal",null);this.bind("uploadedPercent").to(this,"uploaded",this,"uploadTotal",((t,e)=>e?t/e*100:0));this.set("uploadResponse",null)}get file(){if(!this._filePromiseWrapper){return Promise.resolve(null)}else{return this._filePromiseWrapper.promise.then((t=>this._filePromiseWrapper?t:null))}}get data(){return this._reader.data}read(){if(this.status!="idle"){throw new P("filerepository-read-wrong-status",this)}this.status="reading";return this.file.then((t=>this._reader.read(t))).then((t=>{if(this.status!=="reading"){throw this.status}this.status="idle";return t})).catch((t=>{if(t==="aborted"){this.status="aborted";throw"aborted"}this.status="error";throw this._reader.error?this._reader.error:t}))}upload(){if(this.status!="idle"){throw new P("filerepository-upload-wrong-status",this)}this.status="uploading";return this.file.then((()=>this._adapter.upload())).then((t=>{this.uploadResponse=t;this.status="idle";return t})).catch((t=>{if(this.status==="aborted"){throw"aborted"}this.status="error";throw t}))}abort(){const t=this.status;this.status="aborted";if(!this._filePromiseWrapper.isFulfilled){this._filePromiseWrapper.promise.catch((()=>{}));this._filePromiseWrapper.rejecter("aborted")}else if(t=="reading"){this._reader.abort()}else if(t=="uploading"&&this._adapter.abort){this._adapter.abort()}this._destroy()}_destroy(){this._filePromiseWrapper=undefined;this._reader=undefined;this._adapter=undefined;this.uploadResponse=undefined}_createFilePromiseWrapper(t){const e={};e.promise=new Promise(((n,i)=>{e.rejecter=i;e.isFulfilled=false;t.then((t=>{e.isFulfilled=true;n(t)})).catch((t=>{e.isFulfilled=true;i(t)}))}));return e}}class iV extends Dd{constructor(t){super(t);this.buttonView=this;this._fileInputView=new oV(t);this._fileInputView.bind("acceptedType").to(this);this._fileInputView.bind("allowMultipleFiles").to(this);this._fileInputView.delegate("done").to(this);this.on("execute",(()=>{this._fileInputView.open()}));this.extendTemplate({attributes:{class:"ck-file-dialog-button"}})}render(){super.render();this.children.add(this._fileInputView)}}class oV extends Fl{constructor(t){super(t);this.set("acceptedType",undefined);this.set("allowMultipleFiles",false);const e=this.bindTemplate;this.setTemplate({tag:"input",attributes:{class:["ck-hidden"],type:"file",tabindex:"-1",accept:e.to("acceptedType"),multiple:e.to("allowMultipleFiles")},on:{change:e.to((()=>{if(this.element&&this.element.files&&this.element.files.length){this.fire("done",this.element.files)}this.element.value=""}))}})}open(){this.element.click()}}class rV extends(null&&Plugin){static get requires(){return[FileRepository]}static get pluginName(){return"Base64UploadAdapter"}init(){this.editor.plugins.get(FileRepository).createUploadAdapter=t=>new sV(t)}}class sV{constructor(t){this.loader=t}upload(){return new Promise(((t,e)=>{const n=this.reader=new window.FileReader;n.addEventListener("load",(()=>{t({default:n.result})}));n.addEventListener("error",(t=>{e(t)}));n.addEventListener("abort",(()=>{e()}));this.loader.file.then((t=>{n.readAsDataURL(t)}))}))}abort(){this.reader.abort()}}class aV extends ph{static get requires(){return[eV]}static get pluginName(){return"SimpleUploadAdapter"}init(){const t=this.editor.config.get("simpleUpload");if(!t){return}if(!t.uploadUrl){L("simple-upload-adapter-missing-uploadurl");return}this.editor.plugins.get(eV).createUploadAdapter=e=>new cV(e,t)}}class cV{constructor(t,e){this.loader=t;this.options=e}upload(){return this.loader.file.then((t=>new Promise(((e,n)=>{this._initRequest();this._initListeners(e,n,t);this._sendRequest(t)}))))}abort(){if(this.xhr){this.xhr.abort()}}_initRequest(){const t=this.xhr=new XMLHttpRequest;t.open("POST",this.options.uploadUrl,true);t.responseType="json"}_initListeners(t,e,n){const i=this.xhr;const o=this.loader;const r=`Couldn't upload file: ${n.name}.`;i.addEventListener("error",(()=>e(r)));i.addEventListener("abort",(()=>e()));i.addEventListener("load",(()=>{const n=i.response;if(!n||n.error){return e(n&&n.error&&n.error.message?n.error.message:r)}const o=n.url?{default:n.url}:n.urls;t({...n,urls:o})}));if(i.upload){i.upload.addEventListener("progress",(t=>{if(t.lengthComputable){o.uploadTotal=t.total;o.uploaded=t.loaded}}))}}_sendRequest(t){const e=this.options.headers||{};const n=this.options.withCredentials||false;for(const t of Object.keys(e)){this.xhr.setRequestHeader(t,e[t])}this.xhr.withCredentials=n;const i=new FormData;i.append("upload",t);this.xhr.send(i)}}function lV(t){const e=t.map((t=>t.replace("+","\\+")));return new RegExp(`^image\\/(${e.join("|")})$`)}function dV(t){return new Promise(((e,n)=>{const i=t.getAttribute("src");fetch(i).then((t=>t.blob())).then((t=>{const n=hV(t,i);const o=n.replace("image/","");const r=`image.${o}`;const s=new File([t],r,{type:n});e(s)})).catch((t=>t&&t.name==="TypeError"?gV(i).then(e).catch(n):n(t)))}))}function uV(t,e){if(!t.isInlineImageView(e)||!e.getAttribute("src")){return false}return!!e.getAttribute("src").match(/^data:image\/\w+;base64,/g)||!!e.getAttribute("src").match(/^blob:/g)}function hV(t,e){if(t.type){return t.type}else if(e.match(/data:(image\/\w+);base64/)){return e.match(/data:(image\/\w+);base64/)[1].toLowerCase()}else{return"image/jpeg"}}function gV(t){return fV(t).then((e=>{const n=hV(e,t);const i=n.replace("image/","");const o=`image.${i}`;return new File([e],o,{type:n})}))}function fV(t){return new Promise(((e,n)=>{const i=nc.document.createElement("img");i.addEventListener("load",(()=>{const t=nc.document.createElement("canvas");t.width=i.width;t.height=i.height;const o=t.getContext("2d");o.drawImage(i,0,0);t.toBlob((t=>t?e(t):n()))}));i.addEventListener("error",(()=>n()));i.src=t}))}class mV extends ph{static get pluginName(){return"ImageUploadUI"}init(){const t=this.editor;const e=t.t;const n=n=>{const i=new iV(n);const o=t.commands.get("uploadImage");const r=t.config.get("image.upload.types");const s=lV(r);i.set({acceptedType:r.map((t=>`image/${t}`)).join(","),allowMultipleFiles:true,label:e("Upload image from computer"),icon:Dy.imageUpload,tooltip:true});i.bind("isEnabled").to(o);i.on("done",((e,n)=>{const i=Array.from(n).filter((t=>s.test(t.type)));if(i.length){t.execute("uploadImage",{file:i});t.editing.view.focus()}}));return i};t.ui.componentFactory.add("uploadImage",n);t.ui.componentFactory.add("imageUpload",n);if(t.plugins.has("ImageInsertUI")){const n=t.plugins.get("ImageInsertUI");const i=t.commands.get("uploadImage");n.registerIntegration({name:"upload",observable:i,buttonViewCreator:()=>{const i=t.ui.componentFactory.create("uploadImage");i.bind("label").to(n,"isImageSelected",(t=>t?e("Replace image from computer"):e("Upload image from computer")));return i},formViewCreator:()=>{const i=t.ui.componentFactory.create("uploadImage");i.withText=true;i.bind("label").to(n,"isImageSelected",(t=>t?e("Replace from computer"):e("Upload from computer")));i.on("execute",(()=>{n.dropdownView.isOpen=false}));return i}})}}}var pV=n(2926);var bV={injectType:"singletonStyleTag",attributes:{"data-cke":true}};bV.insert="head";bV.singleton=true;var kV=Ll()(pV.Z,bV);const wV=pV.Z.locals||{};var AV=n(1547);var CV={injectType:"singletonStyleTag",attributes:{"data-cke":true}};CV.insert="head";CV.singleton=true;var _V=Ll()(AV.Z,CV);const vV=AV.Z.locals||{};var yV=n(6618);var xV={injectType:"singletonStyleTag",attributes:{"data-cke":true}};xV.insert="head";xV.singleton=true;var EV=Ll()(yV.Z,xV);const DV=yV.Z.locals||{};class TV extends ph{static get pluginName(){return"ImageUploadProgress"}constructor(t){super(t);this.uploadStatusChange=(t,e,n)=>{const i=this.editor;const o=e.item;const r=o.getAttribute("uploadId");if(!n.consumable.consume(e.item,t.name)){return}const s=i.plugins.get("ImageUtils");const a=i.plugins.get(eV);const c=r?e.attributeNewValue:null;const l=this.placeholder;const d=i.editing.mapper.toViewElement(o);const u=n.writer;if(c=="reading"){IV(d,u);BV(s,l,d,u);return}if(c=="uploading"){const t=a.loaders.get(r);IV(d,u);if(!t){BV(s,l,d,u)}else{MV(d,u);NV(d,u,t,i.editing.view);FV(s,d,u,t)}return}if(c=="complete"&&a.loaders.get(r)){LV(d,u,i.editing.view)}PV(d,u);MV(d,u);SV(d,u)};this.placeholder="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="}init(){const t=this.editor;if(t.plugins.has("ImageBlockEditing")){t.editing.downcastDispatcher.on("attribute:uploadStatus:imageBlock",this.uploadStatusChange)}if(t.plugins.has("ImageInlineEditing")){t.editing.downcastDispatcher.on("attribute:uploadStatus:imageInline",this.uploadStatusChange)}}}function IV(t,e){if(!t.hasClass("ck-appear")){e.addClass("ck-appear",t)}}function SV(t,e){e.removeClass("ck-appear",t)}function BV(t,e,n,i){if(!n.hasClass("ck-image-upload-placeholder")){i.addClass("ck-image-upload-placeholder",n)}const o=t.findViewImgElement(n);if(o.getAttribute("src")!==e){i.setAttribute("src",e,o)}if(!RV(n,"placeholder")){i.insert(i.createPositionAfter(o),VV(i))}}function MV(t,e){if(t.hasClass("ck-image-upload-placeholder")){e.removeClass("ck-image-upload-placeholder",t)}OV(t,e,"placeholder")}function NV(t,e,n,i){const o=zV(e);e.insert(e.createPositionAt(t,"end"),o);n.on("change:uploadedPercent",((t,e,n)=>{i.change((t=>{t.setStyle("width",n+"%",o)}))}))}function PV(t,e){OV(t,e,"progressBar")}function LV(t,e,n){const i=e.createUIElement("div",{class:"ck-image-upload-complete-icon"});e.insert(e.createPositionAt(t,"end"),i);setTimeout((()=>{n.change((t=>t.remove(t.createRangeOn(i))))}),3e3)}function zV(t){const e=t.createUIElement("div",{class:"ck-progress-bar"});t.setCustomProperty("progressBar",true,e);return e}function VV(t){const e=t.createUIElement("div",{class:"ck-upload-placeholder-loader"});t.setCustomProperty("placeholder",true,e);return e}function RV(t,e){for(const n of t.getChildren()){if(n.getCustomProperty(e)){return n}}}function OV(t,e,n){const i=RV(t,n);if(i){e.remove(e.createRangeOn(i))}}function FV(t,e,n,i){if(i.data){const o=t.findViewImgElement(e);n.setAttribute("src",i.data,o)}}class jV extends kh{refresh(){const t=this.editor;const e=t.plugins.get("ImageUtils");const n=t.model.document.selection.getSelectedElement();this.isEnabled=e.isImageAllowed()||e.isImage(n)}execute(t){const e=ol(t.file);const n=this.editor.model.document.selection;const i=this.editor.plugins.get("ImageUtils");const o=Object.fromEntries(n.getAttributes());e.forEach(((t,e)=>{const r=n.getSelectedElement();if(e&&r&&i.isImage(r)){const e=this.editor.model.createPositionAfter(r);this._uploadImage(t,o,e)}else{this._uploadImage(t,o)}}))}_uploadImage(t,e,n){const i=this.editor;const o=i.plugins.get(eV);const r=o.createLoader(t);const s=i.plugins.get("ImageUtils");if(!r){return}s.insertImage({...e,uploadId:r.id},n)}}class HV extends ph{static get requires(){return[eV,bT,fM,GL]}static get pluginName(){return"ImageUploadEditing"}constructor(t){super(t);t.config.define("image",{upload:{types:["jpeg","png","gif","bmp","webp","tiff"]}});this._uploadImageElements=new Map}init(){const t=this.editor;const e=t.model.document;const n=t.conversion;const i=t.plugins.get(eV);const o=t.plugins.get("ImageUtils");const r=t.plugins.get("ClipboardPipeline");const s=lV(t.config.get("image.upload.types"));const a=new jV(t);t.commands.add("uploadImage",a);t.commands.add("imageUpload",a);n.for("upcast").attributeToAttribute({view:{name:"img",key:"uploadId"},model:"uploadId"});this.listenTo(t.editing.view.document,"clipboardInput",((e,n)=>{if(UV(n.dataTransfer)){return}const i=Array.from(n.dataTransfer.files).filter((t=>{if(!t){return false}return s.test(t.type)}));if(!i.length){return}e.stop();t.model.change((e=>{if(n.targetRanges){e.setSelection(n.targetRanges.map((e=>t.editing.mapper.toModelRange(e))))}t.execute("uploadImage",{file:i})}))}));this.listenTo(r,"inputTransformation",((e,n)=>{const r=Array.from(t.editing.view.createRangeIn(n.content)).map((t=>t.item)).filter((t=>uV(o,t)&&!t.getAttribute("uploadProcessed"))).map((t=>({promise:dV(t),imageElement:t})));if(!r.length){return}const s=new k_(t.editing.view.document);for(const t of r){s.setAttribute("uploadProcessed",true,t.imageElement);const e=i.createLoader(t.promise);if(e){s.setAttribute("src","",t.imageElement);s.setAttribute("uploadId",e.id,t.imageElement)}}}));t.editing.view.document.on("dragover",((t,e)=>{e.preventDefault()}));e.on("change",(()=>{const n=e.differ.getChanges({includeChangesInGraveyard:true}).reverse();const o=new Set;for(const e of n){if(e.type=="insert"&&e.name!="$text"){const n=e.position.nodeAfter;const r=e.position.root.rootName=="$graveyard";for(const e of WV(t,n)){const t=e.getAttribute("uploadId");if(!t){continue}const n=i.loaders.get(t);if(!n){continue}if(r){if(!o.has(t)){n.abort()}}else{o.add(t);this._uploadImageElements.set(t,e);if(n.status=="idle"){this._readAndUpload(n)}}}}}}));this.on("uploadComplete",((t,{imageElement:e,data:n})=>{const i=n.urls?n.urls:n;this.editor.model.change((t=>{t.setAttribute("src",i.default,e);this._parseAndSetSrcsetAttributeOnImage(i,e,t);o.setImageNaturalSizeAttributes(e)}))}),{priority:"low"})}afterInit(){const t=this.editor.model.schema;if(this.editor.plugins.has("ImageBlockEditing")){t.extend("imageBlock",{allowAttributes:["uploadId","uploadStatus"]})}if(this.editor.plugins.has("ImageInlineEditing")){t.extend("imageInline",{allowAttributes:["uploadId","uploadStatus"]})}}_readAndUpload(t){const e=this.editor;const n=e.model;const i=e.locale.t;const o=e.plugins.get(eV);const r=e.plugins.get(bT);const s=e.plugins.get("ImageUtils");const a=this._uploadImageElements;n.enqueueChange({isUndoable:false},(e=>{e.setAttribute("uploadStatus","reading",a.get(t.id))}));return t.read().then((()=>{const i=t.upload();const o=a.get(t.id);if(l.isSafari){const t=e.editing.mapper.toViewElement(o);const n=s.findViewImgElement(t);e.editing.view.once("render",(()=>{if(!n.parent){return}const t=e.editing.view.domConverter.mapViewToDom(n.parent);if(!t){return}const i=t.style.display;t.style.display="none";t._ckHack=t.offsetHeight;t.style.display=i}))}n.enqueueChange({isUndoable:false},(t=>{t.setAttribute("uploadStatus","uploading",o)}));return i})).then((e=>{n.enqueueChange({isUndoable:false},(n=>{const i=a.get(t.id);n.setAttribute("uploadStatus","complete",i);this.fire("uploadComplete",{data:e,imageElement:i})}));c()})).catch((e=>{if(t.status!=="error"&&t.status!=="aborted"){throw e}if(t.status=="error"&&e){r.showWarning(e,{title:i("Upload failed"),namespace:"upload"})}n.enqueueChange({isUndoable:false},(e=>{e.remove(a.get(t.id))}));c()}));function c(){n.enqueueChange({isUndoable:false},(e=>{const n=a.get(t.id);e.removeAttribute("uploadId",n);e.removeAttribute("uploadStatus",n);a.delete(t.id)}));o.destroyLoader(t)}}_parseAndSetSrcsetAttributeOnImage(t,e,n){let i=0;const o=Object.keys(t).filter((t=>{const e=parseInt(t,10);if(!isNaN(e)){i=Math.max(i,e);return true}})).map((e=>`${t[e]} ${e}w`)).join(", ");if(o!=""){const t={srcset:o};if(!e.hasAttribute("width")&&!e.hasAttribute("height")){t.width=i}n.setAttributes(t,e)}}}function UV(t){return Array.from(t.types).includes("text/html")&&t.getData("text/html")!==""}function WV(t,e){const n=t.plugins.get("ImageUtils");return Array.from(t.model.createRangeOn(e)).filter((t=>n.isImage(t.item))).map((t=>t.item))}class GV extends ph{static get pluginName(){return"ImageUpload"}static get requires(){return[HV,mV,TV]}}class qV extends(null&&View){constructor(t){super(t);this.set("imageURLInputValue","");this.set("isImageSelected",false);this.set("isEnabled",true);this.focusTracker=new FocusTracker;this.keystrokes=new KeystrokeHandler;this._focusables=new ViewCollection;this.focusCycler=new FocusCycler({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}});this.urlInputView=this._createUrlInputView();this.insertButtonView=this._createInsertButton();this.cancelButtonView=this._createCancelButton();this._focusables.addMany([this.urlInputView,this.insertButtonView,this.cancelButtonView]);this.setTemplate({tag:"div",attributes:{class:["ck","ck-image-insert-url"]},children:[this.urlInputView,{tag:"div",attributes:{class:["ck","ck-image-insert-url__action-row"]},children:[this.insertButtonView,this.cancelButtonView]}]})}render(){super.render();for(const t of this._focusables){this.focusTracker.add(t.element)}this.keystrokes.listenTo(this.element)}destroy(){super.destroy();this.focusTracker.destroy();this.keystrokes.destroy()}_createUrlInputView(){const t=this.locale;const e=t.t;const n=new LabeledFieldView(t,createLabeledInputText);n.bind("label").to(this,"isImageSelected",(t=>t?e("Update image URL"):e("Insert image via URL")));n.bind("isEnabled").to(this);n.fieldView.placeholder="https://example.com/image.png";n.fieldView.bind("value").to(this,"imageURLInputValue",(t=>t||""));n.fieldView.on("input",(()=>{this.imageURLInputValue=n.fieldView.element.value.trim()}));return n}_createInsertButton(){const t=this.locale;const e=t.t;const n=new ButtonView(t);n.set({icon:icons.check,class:"ck-button-save",type:"submit",withText:true});n.bind("label").to(this,"isImageSelected",(t=>t?e("Update"):e("Insert")));n.bind("isEnabled").to(this,"imageURLInputValue",this,"isEnabled",((...t)=>t.every((t=>t))));n.delegate("execute").to(this,"submit");return n}_createCancelButton(){const t=this.locale;const e=t.t;const n=new ButtonView(t);n.set({label:e("Cancel"),icon:icons.cancel,class:"ck-button-cancel",withText:true});n.bind("isEnabled").to(this);n.delegate("execute").to(this,"cancel");return n}focus(t){if(t===-1){this.focusCycler.focusLast()}else{this.focusCycler.focusFirst()}}}class ZV extends(null&&Plugin){static get pluginName(){return"ImageInsertViaUrlUI"}static get requires(){return[ImageInsertUI]}init(){this._imageInsertUI=this.editor.plugins.get("ImageInsertUI");const t=this.editor.commands.get("insertImage");this._imageInsertUI.registerIntegration({name:"url",observable:t,requiresForm:true,buttonViewCreator:t=>this._createInsertUrlButton(t),formViewCreator:t=>this._createInsertUrlView(t)})}_createInsertUrlView(t){const e=this.editor;const n=e.locale;const i=n.t;const o=e.commands.get("replaceImageSource");const r=e.commands.get("insertImage");const s=new ImageInsertUrlView(n);const a=t?null:new CollapsibleView(n,[s]);s.bind("isImageSelected").to(this._imageInsertUI);s.bind("isEnabled").toMany([r,o],"isEnabled",((...t)=>t.some((t=>t))));s.imageURLInputValue=o.value||"";this._imageInsertUI.dropdownView.on("change:isOpen",(()=>{if(this._imageInsertUI.dropdownView.isOpen){s.imageURLInputValue=o.value||"";if(a){a.isCollapsed=true}}}),{priority:"low"});s.on("submit",(()=>{if(o.isEnabled){e.execute("replaceImageSource",{source:s.imageURLInputValue})}else{e.execute("insertImage",{source:s.imageURLInputValue})}this._closePanel()}));s.on("cancel",(()=>this._closePanel()));if(a){a.set({isCollapsed:true});a.bind("label").to(this._imageInsertUI,"isImageSelected",(t=>t?i("Update image URL"):i("Insert image via URL")));return a}return s}_createInsertUrlButton(t){const e=t?DropdownButtonView:ButtonView;const n=this.editor;const i=new e(n.locale);const o=n.locale.t;i.set({icon:icons.imageUrl,tooltip:true});i.bind("label").to(this._imageInsertUI,"isImageSelected",(t=>t?o("Update image URL"):o("Insert image via URL")));return i}_closePanel(){this.editor.editing.view.focus();this._imageInsertUI.dropdownView.isOpen=false}}class $V extends(null&&Plugin){static get pluginName(){return"ImageInsertViaUrl"}static get requires(){return[ImageInsertViaUrlUI,ImageInsertUI]}}class KV extends(null&&Plugin){static get pluginName(){return"ImageInsert"}static get requires(){return[ImageUpload,ImageInsertViaUrl,ImageInsertUI]}}class YV extends kh{refresh(){const t=this.editor;const e=t.plugins.get("ImageUtils");const n=e.getClosestSelectedImageElement(t.model.document.selection);this.isEnabled=!!n;if(!n||!n.hasAttribute("resizedWidth")){this.value=null}else{this.value={width:n.getAttribute("resizedWidth"),height:null}}}execute(t){const e=this.editor;const n=e.model;const i=e.plugins.get("ImageUtils");const o=i.getClosestSelectedImageElement(n.document.selection);this.value={width:t.width,height:null};if(o){n.change((e=>{e.setAttribute("resizedWidth",t.width,o);e.removeAttribute("resizedHeight",o);i.setImageNaturalSizeAttributes(o)}))}}}class QV extends ph{static get requires(){return[GL]}static get pluginName(){return"ImageResizeEditing"}constructor(t){super(t);t.config.define("image",{resizeUnit:"%",resizeOptions:[{name:"resizeImage:original",value:null,icon:"original"},{name:"resizeImage:25",value:"25",icon:"small"},{name:"resizeImage:50",value:"50",icon:"medium"},{name:"resizeImage:75",value:"75",icon:"large"}]})}init(){const t=this.editor;const e=new YV(t);this._registerSchema();this._registerConverters("imageBlock");this._registerConverters("imageInline");t.commands.add("resizeImage",e);t.commands.add("imageResize",e)}_registerSchema(){if(this.editor.plugins.has("ImageBlockEditing")){this.editor.model.schema.extend("imageBlock",{allowAttributes:["resizedWidth","resizedHeight"]})}if(this.editor.plugins.has("ImageInlineEditing")){this.editor.model.schema.extend("imageInline",{allowAttributes:["resizedWidth","resizedHeight"]})}}_registerConverters(t){const e=this.editor;const n=e.plugins.get("ImageUtils");e.conversion.for("downcast").add((e=>e.on(`attribute:resizedWidth:${t}`,((t,e,n)=>{if(!n.consumable.consume(e.item,t.name)){return}const i=n.writer;const o=n.mapper.toViewElement(e.item);if(e.attributeNewValue!==null){i.setStyle("width",e.attributeNewValue,o);i.addClass("image_resized",o)}else{i.removeStyle("width",o);i.removeClass("image_resized",o)}}))));e.conversion.for("dataDowncast").attributeToAttribute({model:{name:t,key:"resizedHeight"},view:t=>({key:"style",value:{height:t}})});e.conversion.for("editingDowncast").add((e=>e.on(`attribute:resizedHeight:${t}`,((e,i,o)=>{if(!o.consumable.consume(i.item,e.name)){return}const r=o.writer;const s=o.mapper.toViewElement(i.item);const a=t==="imageInline"?n.findViewImgElement(s):s;if(i.attributeNewValue!==null){r.setStyle("height",i.attributeNewValue,a)}else{r.removeStyle("height",a)}}))));e.conversion.for("upcast").attributeToAttribute({view:{name:t==="imageBlock"?"figure":"img",styles:{width:/.+/}},model:{key:"resizedWidth",value:t=>{if(UL(t)){return null}return t.getStyle("width")}}});e.conversion.for("upcast").attributeToAttribute({view:{name:t==="imageBlock"?"figure":"img",styles:{height:/.+/}},model:{key:"resizedHeight",value:t=>{if(UL(t)){return null}return t.getStyle("height")}}})}}const JV={small:Dy.objectSizeSmall,medium:Dy.objectSizeMedium,large:Dy.objectSizeLarge,original:Dy.objectSizeFull};class XV extends ph{static get requires(){return[QV]}static get pluginName(){return"ImageResizeButtons"}constructor(t){super(t);this._resizeUnit=t.config.get("image.resizeUnit")}init(){const t=this.editor;const e=t.config.get("image.resizeOptions");const n=t.commands.get("resizeImage");this.bind("isEnabled").to(n);for(const t of e){this._registerImageResizeButton(t)}this._registerImageResizeDropdown(e)}_registerImageResizeButton(t){const e=this.editor;const{name:n,value:i,icon:o}=t;const r=i?i+this._resizeUnit:null;e.ui.componentFactory.add(n,(n=>{const i=new Dd(n);const s=e.commands.get("resizeImage");const a=this._getOptionLabelValue(t,true);if(!JV[o]){throw new P("imageresizebuttons-missing-icon",e,t)}i.set({label:a,icon:JV[o],tooltip:a,isToggleable:true});i.bind("isEnabled").to(this);i.bind("isOn").to(s,"value",tR(r));this.listenTo(i,"execute",(()=>{e.execute("resizeImage",{width:r})}));return i}))}_registerImageResizeDropdown(t){const e=this.editor;const n=e.t;const i=t.find((t=>!t.value));const o=o=>{const r=e.commands.get("resizeImage");const s=rx(o,ah);const a=s.buttonView;const c=n("Resize image");a.set({tooltip:c,commandValue:i.value,icon:JV.medium,isToggleable:true,label:this._getOptionLabelValue(i),withText:true,class:"ck-resize-image-button",ariaLabel:c,ariaLabelledBy:undefined});a.bind("label").to(r,"value",(t=>{if(t&&t.width){return t.width}else{return this._getOptionLabelValue(i)}}));s.bind("isEnabled").to(this);cx(s,(()=>this._getResizeDropdownListItemDefinitions(t,r)),{ariaLabel:n("Image resize list"),role:"menu"});this.listenTo(s,"execute",(t=>{e.execute(t.source.commandName,{width:t.source.commandValue});e.editing.view.focus()}));return s};e.ui.componentFactory.add("resizeImage",o);e.ui.componentFactory.add("imageResize",o)}_getOptionLabelValue(t,e=false){const n=this.editor.t;if(t.label){return t.label}else if(e){if(t.value){return n("Resize image to %0",t.value+this._resizeUnit)}else{return n("Resize image to the original size")}}else{if(t.value){return t.value+this._resizeUnit}else{return n("Original")}}}_getResizeDropdownListItemDefinitions(t,e){const n=new fl;t.map((t=>{const i=t.value?t.value+this._resizeUnit:null;const o={type:"button",model:new kT({commandName:"resizeImage",commandValue:i,label:this._getOptionLabelValue(t),role:"menuitemradio",withText:true,icon:null})};o.model.bind("isOn").to(e,"value",tR(i));n.add(o)}));return n}}function tR(t){return e=>{const n=e;if(t===null&&n===t){return true}return n!==null&&n.width===t}}const eR="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";const nR="image_resized";class iR extends ph{static get requires(){return[NN,GL]}static get pluginName(){return"ImageResizeHandles"}init(){const t=this.editor.commands.get("resizeImage");this.bind("isEnabled").to(t);this._setupResizerCreator()}_setupResizerCreator(){const t=this.editor;const e=t.editing.view;const n=t.plugins.get("ImageUtils");e.addObserver(kz);this.listenTo(e.document,"imageLoaded",((i,o)=>{if(!o.target.matches(eR)){return}const r=t.editing.view.domConverter;const s=r.domToView(o.target);const a=n.getImageWidgetFromImageView(s);let c=this.editor.plugins.get(NN).getResizerByViewElement(a);if(c){c.redraw();return}const l=t.editing.mapper;const d=l.toModelElement(a);c=t.plugins.get(NN).attachTo({unit:t.config.get("image.resizeUnit"),modelElement:d,viewElement:a,editor:t,getHandleHost(t){return t.querySelector("img")},getResizeHost(){return r.mapViewToDom(l.toViewElement(d.parent))},isCentered(){const t=d.getAttribute("imageStyle");return!t||t=="block"||t=="alignCenter"},onCommit(n){e.change((t=>{t.removeClass(nR,a)}));t.execute("resizeImage",{width:n})}});c.on("updateSize",(()=>{if(!a.hasClass(nR)){e.change((t=>{t.addClass(nR,a)}))}const t=d.name==="imageInline"?s:a;if(t.getStyle("height")){e.change((e=>{e.removeStyle("height",t)}))}}));c.bind("isEnabled").to(this)}))}}var oR=n(2400);var rR={injectType:"singletonStyleTag",attributes:{"data-cke":true}};rR.insert="head";rR.singleton=true;var sR=Ll()(oR.Z,rR);const aR=oR.Z.locals||{};class cR extends ph{static get requires(){return[QV,iR,XV]}static get pluginName(){return"ImageResize"}}class lR extends kh{constructor(t,e){super(t);this._defaultStyles={imageBlock:false,imageInline:false};this._styles=new Map(e.map((t=>{if(t.isDefault){for(const e of t.modelElements){this._defaultStyles[e]=t.name}}return[t.name,t]})))}refresh(){const t=this.editor;const e=t.plugins.get("ImageUtils");const n=e.getClosestSelectedImageElement(this.editor.model.document.selection);this.isEnabled=!!n;if(!this.isEnabled){this.value=false}else if(n.hasAttribute("imageStyle")){this.value=n.getAttribute("imageStyle")}else{this.value=this._defaultStyles[n.name]}}execute(t={}){const e=this.editor;const n=e.model;const i=e.plugins.get("ImageUtils");n.change((e=>{const o=t.value;const{setImageSizes:r=true}=t;let s=i.getClosestSelectedImageElement(n.document.selection);if(o&&this.shouldConvertImageType(o,s)){this.editor.execute(i.isBlockImage(s)?"imageTypeInline":"imageTypeBlock",{setImageSizes:r});s=i.getClosestSelectedImageElement(n.document.selection)}if(!o||this._styles.get(o).isDefault){e.removeAttribute("imageStyle",s)}else{e.setAttribute("imageStyle",o,s)}if(r){i.setImageNaturalSizeAttributes(s)}}))}shouldConvertImageType(t,e){const n=this._styles.get(t).modelElements;return!n.includes(e.name)}}const{objectFullWidth:dR,objectInline:uR,objectLeft:hR,objectRight:gR,objectCenter:fR,objectBlockLeft:mR,objectBlockRight:pR}=Dy;const bR={get inline(){return{name:"inline",title:"In line",icon:uR,modelElements:["imageInline"],isDefault:true}},get alignLeft(){return{name:"alignLeft",title:"Left aligned image",icon:hR,modelElements:["imageBlock","imageInline"],className:"image-style-align-left"}},get alignBlockLeft(){return{name:"alignBlockLeft",title:"Left aligned image",icon:mR,modelElements:["imageBlock"],className:"image-style-block-align-left"}},get alignCenter(){return{name:"alignCenter",title:"Centered image",icon:fR,modelElements:["imageBlock"],className:"image-style-align-center"}},get alignRight(){return{name:"alignRight",title:"Right aligned image",icon:gR,modelElements:["imageBlock","imageInline"],className:"image-style-align-right"}},get alignBlockRight(){return{name:"alignBlockRight",title:"Right aligned image",icon:pR,modelElements:["imageBlock"],className:"image-style-block-align-right"}},get block(){return{name:"block",title:"Centered image",icon:fR,modelElements:["imageBlock"],isDefault:true}},get side(){return{name:"side",title:"Side image",icon:gR,modelElements:["imageBlock"],className:"image-style-side"}}};const kR={full:dR,left:mR,right:pR,center:fR,inlineLeft:hR,inlineRight:gR,inline:uR};const wR=[{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 AR(t){const e=t.configuredStyles.options||[];const n=e.map((t=>vR(t))).filter((e=>yR(e,t)));return n}function CR(t,e){if(t&&e){return{options:["inline","alignLeft","alignRight","alignCenter","alignBlockLeft","alignBlockRight","block","side"]}}else if(t){return{options:["block","side"]}}else if(e){return{options:["inline","alignLeft","alignRight"]}}return{}}function _R(t){if(t.has("ImageBlockEditing")&&t.has("ImageInlineEditing")){return[...wR]}else{return[]}}function vR(t){if(typeof t==="string"){if(!bR[t]){t={name:t}}else{t={...bR[t]}}}else{t=xR(bR[t.name],t)}if(typeof t.icon==="string"){t.icon=kR[t.icon]||t.icon}return t}function yR(t,{isBlockPluginLoaded:e,isInlinePluginLoaded:n}){const{modelElements:i,name:o}=t;if(!i||!i.length||!o){ER({style:t});return false}else{const o=[e?"imageBlock":null,n?"imageInline":null];if(!i.some((t=>o.includes(t)))){L("image-style-missing-dependency",{style:t,missingPlugins:i.map((t=>t==="imageBlock"?"ImageBlockEditing":"ImageInlineEditing"))});return false}}return true}function xR(t,e){const n={...e};for(const i in t){if(!Object.prototype.hasOwnProperty.call(e,i)){n[i]=t[i]}}return n}function ER(t){L("image-style-configuration-definition-invalid",t)}const DR={normalizeStyles:AR,getDefaultStylesConfiguration:CR,getDefaultDropdownDefinitions:_R,warnInvalidStyle:ER,DEFAULT_OPTIONS:bR,DEFAULT_ICONS:kR,DEFAULT_DROPDOWN_DEFINITIONS:wR};function TR(t){return(e,n,i)=>{if(!i.consumable.consume(n.item,e.name)){return}const o=SR(n.attributeNewValue,t);const r=SR(n.attributeOldValue,t);const s=i.mapper.toViewElement(n.item);const a=i.writer;if(r){a.removeClass(r.className,s)}if(o){a.addClass(o.className,s)}}}function IR(t){const e={imageInline:t.filter((t=>!t.isDefault&&t.modelElements.includes("imageInline"))),imageBlock:t.filter((t=>!t.isDefault&&t.modelElements.includes("imageBlock")))};return(t,n,i)=>{if(!n.modelRange){return}const o=n.viewItem;const r=ml(n.modelRange.getItems());if(!r){return}if(!i.schema.checkAttribute(r,"imageStyle")){return}for(const t of e[r.name]){if(i.consumable.consume(o,{classes:t.className})){i.writer.setAttribute("imageStyle",t.name,r)}}}}function SR(t,e){for(const n of e){if(n.name===t){return n}}}class BR extends ph{static get pluginName(){return"ImageStyleEditing"}static get requires(){return[GL]}init(){const{normalizeStyles:t,getDefaultStylesConfiguration:e}=DR;const n=this.editor;const i=n.plugins.has("ImageBlockEditing");const o=n.plugins.has("ImageInlineEditing");n.config.define("image.styles",e(i,o));this.normalizedStyles=t({configuredStyles:n.config.get("image.styles"),isBlockPluginLoaded:i,isInlinePluginLoaded:o});this._setupConversion(i,o);this._setupPostFixer();n.commands.add("imageStyle",new lR(n,this.normalizedStyles))}_setupConversion(t,e){const n=this.editor;const i=n.model.schema;const o=TR(this.normalizedStyles);const r=IR(this.normalizedStyles);n.editing.downcastDispatcher.on("attribute:imageStyle",o);n.data.downcastDispatcher.on("attribute:imageStyle",o);if(t){i.extend("imageBlock",{allowAttributes:"imageStyle"});n.data.upcastDispatcher.on("element:figure",r,{priority:"low"})}if(e){i.extend("imageInline",{allowAttributes:"imageStyle"});n.data.upcastDispatcher.on("element:img",r,{priority:"low"})}}_setupPostFixer(){const t=this.editor;const e=t.model.document;const n=t.plugins.get(GL);const i=new Map(this.normalizedStyles.map((t=>[t.name,t])));e.registerPostFixer((t=>{let o=false;for(const r of e.differ.getChanges()){if(r.type=="insert"||r.type=="attribute"&&r.attributeKey=="imageStyle"){let e=r.type=="insert"?r.position.nodeAfter:r.range.start.nodeAfter;if(e&&e.is("element","paragraph")&&e.childCount>0){e=e.getChild(0)}if(!n.isImage(e)){continue}const s=e.getAttribute("imageStyle");if(!s){continue}const a=i.get(s);if(!a||!a.modelElements.includes(e.name)){t.removeAttribute("imageStyle",e);o=true}}}return o}))}}var MR=n(3534);var NR={injectType:"singletonStyleTag",attributes:{"data-cke":true}};NR.insert="head";NR.singleton=true;var PR=Ll()(MR.Z,NR);const LR=MR.Z.locals||{};class zR extends ph{static get requires(){return[BR]}static get pluginName(){return"ImageStyleUI"}get localizedDefaultStylesTitles(){const t=this.editor.t;return{"Wrap text":t("Wrap text"),"Break text":t("Break text"),"In line":t("In line"),"Full size image":t("Full size image"),"Side image":t("Side image"),"Left aligned image":t("Left aligned image"),"Centered image":t("Centered image"),"Right aligned image":t("Right aligned image")}}init(){const t=this.editor.plugins;const e=this.editor.config.get("image.toolbar")||[];const n=t.get("ImageStyleEditing");const i=VR(n.normalizedStyles,this.localizedDefaultStylesTitles);for(const t of i){this._createButton(t)}const o=VR([...e.filter(st),...DR.getDefaultDropdownDefinitions(t)],this.localizedDefaultStylesTitles);for(const t of o){this._createDropdown(t,i)}}_createDropdown(t,e){const n=this.editor.ui.componentFactory;n.add(t.name,(i=>{let o;const{defaultItem:r,items:s,title:a}=t;const c=s.filter((t=>e.find((({name:e})=>RR(e)===t)))).map((t=>{const e=n.create(t);if(t===r){o=e}return e}));if(s.length!==c.length){DR.warnInvalidStyle({dropdown:t})}const l=rx(i,Yy);const d=l.buttonView;const u=d.arrowView;sx(l,c,{enableActiveItemFocusOnDropdownOpen:true});d.set({label:OR(a,o.label),class:null,tooltip:true});u.unbind("label");u.set({label:a});d.bind("icon").toMany(c,"isOn",((...t)=>{const e=t.findIndex(cf);return e<0?o.icon:c[e].icon}));d.bind("label").toMany(c,"isOn",((...t)=>{const e=t.findIndex(cf);return OR(a,e<0?o.label:c[e].label)}));d.bind("isOn").toMany(c,"isOn",((...t)=>t.some(cf)));d.bind("class").toMany(c,"isOn",((...t)=>t.some(cf)?"ck-splitbutton_flatten":undefined));d.on("execute",(()=>{if(!c.some((({isOn:t})=>t))){o.fire("execute")}else{l.isOpen=!l.isOpen}}));l.bind("isEnabled").toMany(c,"isEnabled",((...t)=>t.some(cf)));this.listenTo(l,"execute",(()=>{this.editor.editing.view.focus()}));return l}))}_createButton(t){const e=t.name;this.editor.ui.componentFactory.add(RR(e),(n=>{const i=this.editor.commands.get("imageStyle");const o=new Dd(n);o.set({label:t.title,icon:t.icon,tooltip:true,isToggleable:true});o.bind("isEnabled").to(i,"isEnabled");o.bind("isOn").to(i,"value",(t=>t===e));o.on("execute",this._executeCommand.bind(this,e));return o}))}_executeCommand(t){this.editor.execute("imageStyle",{value:t});this.editor.editing.view.focus()}}function VR(t,e){for(const n of t){if(e[n.title]){n.title=e[n.title]}}return t}function RR(t){return`imageStyle:${t}`}function OR(t,e){return(t?t+": ":"")+e}class FR extends ph{static get requires(){return[BR,zR]}static get pluginName(){return"ImageStyle"}}class jR extends ph{static get requires(){return[fN,GL]}static get pluginName(){return"ImageToolbar"}afterInit(){const t=this.editor;const e=t.t;const n=t.plugins.get(fN);const i=t.plugins.get("ImageUtils");n.register("image",{ariaLabel:e("Image toolbar"),items:HR(t.config.get("image.toolbar")||[]),getRelatedElement:t=>i.getClosestSelectedImageWidget(t)})}}function HR(t){return t.map((t=>st(t)?t.name:t))}class UR extends(null&&Plugin){static get requires(){return[ImageEditing,ImageUtils]}static get pluginName(){return"PictureEditing"}afterInit(){const t=this.editor;if(t.plugins.has("ImageBlockEditing")){t.model.schema.extend("imageBlock",{allowAttributes:["sources"]})}if(t.plugins.has("ImageInlineEditing")){t.model.schema.extend("imageInline",{allowAttributes:["sources"]})}this._setupConversion();this._setupImageUploadEditingIntegration()}_setupConversion(){const t=this.editor;const e=t.conversion;const n=t.plugins.get("ImageUtils");e.for("upcast").add(upcastPicture(n));e.for("downcast").add(downcastSourcesAttribute(n))}_setupImageUploadEditingIntegration(){const t=this.editor;if(!t.plugins.has("ImageUploadEditing")){return}const e=t.plugins.get("ImageUploadEditing");this.listenTo(e,"uploadComplete",((e,{imageElement:n,data:i})=>{const o=i.sources;if(!o){return}t.model.change((t=>{t.setAttributes({sources:o},n)}))}))}}class WR extends ph{static get pluginName(){return"IndentEditing"}init(){const t=this.editor;t.commands.add("indent",new Ah(t));t.commands.add("outdent",new Ah(t))}}class GR extends ph{static get pluginName(){return"IndentUI"}init(){const t=this.editor;const e=t.locale;const n=t.t;const i=e.uiLanguageDirection=="ltr"?Dy.indent:Dy.outdent;const o=e.uiLanguageDirection=="ltr"?Dy.outdent:Dy.indent;this._defineButton("indent",n("Increase indent"),i);this._defineButton("outdent",n("Decrease indent"),o)}_defineButton(t,e,n){const i=this.editor;i.ui.componentFactory.add(t,(o=>{const r=i.commands.get(t);const s=new Dd(o);s.set({label:e,icon:n,tooltip:true});s.bind("isEnabled").to(r,"isEnabled");this.listenTo(s,"execute",(()=>{i.execute(t);i.editing.view.focus()}));return s}))}}class qR extends ph{static get pluginName(){return"Indent"}static get requires(){return[WR,GR]}}class ZR extends(null&&Command){constructor(t,e){super(t);this._indentBehavior=e}refresh(){const t=this.editor;const e=t.model;const n=first(e.document.selection.getSelectedBlocks());if(!n||!this._isIndentationChangeAllowed(n)){this.isEnabled=false;return}this.isEnabled=this._indentBehavior.checkEnabled(n.getAttribute("blockIndent"))}execute(){const t=this.editor.model;const e=this._getBlocksToChange();t.change((t=>{for(const n of e){const e=n.getAttribute("blockIndent");const i=this._indentBehavior.getNextIndent(e);if(i){t.setAttribute("blockIndent",i,n)}else{t.removeAttribute("blockIndent",n)}}}))}_getBlocksToChange(){const t=this.editor.model;const e=t.document.selection;const n=Array.from(e.getSelectedBlocks());return n.filter((t=>this._isIndentationChangeAllowed(t)))}_isIndentationChangeAllowed(t){const e=this.editor;if(!e.model.schema.checkAttribute(t,"blockIndent")){return false}if(!e.plugins.has("ListUtils")){return true}if(!this._indentBehavior.isForward){return true}const n=e.plugins.get("ListUtils");return!n.isListItemBlock(t)}}const $R=null&&["paragraph","heading1","heading2","heading3","heading4","heading5","heading6"];class KR extends(null&&Plugin){constructor(t){super(t);t.config.define("indentBlock",{offset:40,unit:"px"})}static get pluginName(){return"IndentBlock"}init(){const t=this.editor;const e=t.config.get("indentBlock");if(e.classes&&e.classes.length){this._setupConversionUsingClasses(e.classes);t.commands.add("indentBlock",new IndentBlockCommand(t,new IndentUsingClasses({direction:"forward",classes:e.classes})));t.commands.add("outdentBlock",new IndentBlockCommand(t,new IndentUsingClasses({direction:"backward",classes:e.classes})))}else{t.data.addStyleProcessorRules(addMarginRules);this._setupConversionUsingOffset();t.commands.add("indentBlock",new IndentBlockCommand(t,new IndentUsingOffset({direction:"forward",offset:e.offset,unit:e.unit})));t.commands.add("outdentBlock",new IndentBlockCommand(t,new IndentUsingOffset({direction:"backward",offset:e.offset,unit:e.unit})))}}afterInit(){const t=this.editor;const e=t.model.schema;const n=t.commands.get("indent");const i=t.commands.get("outdent");const o=t.config.get("heading.options");const r=o&&o.map((t=>t.model));const s=r||$R;s.forEach((t=>{if(e.isRegistered(t)){e.extend(t,{allowAttributes:"blockIndent"})}}));e.setAttributeProperties("blockIndent",{isFormatting:true});n.registerChildCommand(t.commands.get("indentBlock"));i.registerChildCommand(t.commands.get("outdentBlock"))}_setupConversionUsingOffset(){const t=this.editor.conversion;const e=this.editor.locale;const n=e.contentLanguageDirection==="rtl"?"margin-right":"margin-left";t.for("upcast").attributeToAttribute({view:{styles:{[n]:/[\s\S]+/}},model:{key:"blockIndent",value:t=>{if(!t.is("element","li")){return t.getStyle(n)}}}});t.for("downcast").attributeToAttribute({model:"blockIndent",view:t=>({key:"style",value:{[n]:t}})})}_setupConversionUsingClasses(t){const e={model:{key:"blockIndent",values:[]},view:{}};for(const n of t){e.model.values.push(n);e.view[n]={key:"class",value:[n]}}this.editor.conversion.attributeToAttribute(e)}}class YR{constructor(){this._definitions=new Set}get length(){return this._definitions.size}add(t){if(Array.isArray(t)){t.forEach((t=>this._definitions.add(t)))}else{this._definitions.add(t)}}getDispatcher(){return t=>{t.on("attribute:linkHref",((t,e,n)=>{if(!n.consumable.test(e.item,"attribute:linkHref")){return}if(!(e.item.is("selection")||n.schema.isInline(e.item))){return}const i=n.writer;const o=i.document.selection;for(const t of this._definitions){const r=i.createAttributeElement("a",t.attributes,{priority:5});if(t.classes){i.addClass(t.classes,r)}for(const e in t.styles){i.setStyle(e,t.styles[e],r)}i.setCustomProperty("link",true,r);if(t.callback(e.attributeNewValue)){if(e.item.is("selection")){i.wrap(o.getFirstRange(),r)}else{i.wrap(n.mapper.toViewRange(e.range),r)}}else{i.unwrap(n.mapper.toViewRange(e.range),r)}}}),{priority:"high"})}}getDispatcherForLinkedImage(){return t=>{t.on("attribute:linkHref:imageBlock",((t,e,{writer:n,mapper:i})=>{const o=i.toViewElement(e.item);const r=Array.from(o.getChildren()).find((t=>t.is("element","a")));for(const t of this._definitions){const i=wl(t.attributes);if(t.callback(e.attributeNewValue)){for(const[t,e]of i){if(t==="class"){n.addClass(e,r)}else{n.setAttribute(t,e,r)}}if(t.classes){n.addClass(t.classes,r)}for(const e in t.styles){n.setStyle(e,t.styles[e],r)}}else{for(const[t,e]of i){if(t==="class"){n.removeClass(e,r)}else{n.removeAttribute(t,r)}}if(t.classes){n.removeClass(t.classes,r)}for(const e in t.styles){n.removeStyle(e,r)}}}}))}}}function QR(t,e,n){var i=t.length;n=n===undefined?i:n;return!e&&n>=i?t:Lg(t,e,n)}const JR=QR;var XR="\\ud800-\\udfff",tO="\\u0300-\\u036f",eO="\\ufe20-\\ufe2f",nO="\\u20d0-\\u20ff",iO=tO+eO+nO,oO="\\ufe0e\\ufe0f";var rO="\\u200d";var sO=RegExp("["+rO+XR+iO+oO+"]");function aO(t){return sO.test(t)}const cO=aO;function lO(t){return t.split("")}const dO=lO;var uO="\\ud800-\\udfff",hO="\\u0300-\\u036f",gO="\\ufe20-\\ufe2f",fO="\\u20d0-\\u20ff",mO=hO+gO+fO,pO="\\ufe0e\\ufe0f";var bO="["+uO+"]",kO="["+mO+"]",wO="\\ud83c[\\udffb-\\udfff]",AO="(?:"+kO+"|"+wO+")",CO="[^"+uO+"]",_O="(?:\\ud83c[\\udde6-\\uddff]){2}",vO="[\\ud800-\\udbff][\\udc00-\\udfff]",yO="\\u200d";var xO=AO+"?",EO="["+pO+"]?",DO="(?:"+yO+"(?:"+[CO,_O,vO].join("|")+")"+EO+xO+")*",TO=EO+xO+DO,IO="(?:"+[CO+kO+"?",kO,_O,vO,bO].join("|")+")";var SO=RegExp(wO+"(?="+wO+")|"+IO+TO,"g");function BO(t){return t.match(SO)||[]}const MO=BO;function NO(t){return cO(t)?MO(t):dO(t)}const PO=NO;function LO(t){return function(e){e=yg(e);var n=cO(e)?PO(e):undefined;var i=n?n[0]:e.charAt(0);var o=n?JR(n,1).join(""):e.slice(1);return i[t]()+o}}const zO=LO;var VO=zO("toUpperCase");const RO=VO;const OO=/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205f\u3000]/g;const FO=/^(?:(?:https?|ftps?|mailto):|[^a-z]|[a-z+.-]+(?:[^a-z+.:-]|$))/i;const jO=/^[\S]+@((?![-_])(?:[-\w\u00a1-\uffff]{0,63}[^-_]\.))+(?:[a-z\u00a1-\uffff]{2,})$/i;const HO=/^((\w+:(\/{2,})?)|(\W))/i;const UO="Ctrl+K";function WO(t){return t.is("attributeElement")&&!!t.getCustomProperty("link")}function GO(t,{writer:e}){const n=e.createAttributeElement("a",{href:t},{priority:5});e.setCustomProperty("link",true,n);return n}function qO(t){const e=String(t);return ZO(e)?e:"#"}function ZO(t){const e=t.replace(OO,"");return!!e.match(FO)}function $O(t,e){const n={"Open in a new tab":t("Open in a new tab"),Downloadable:t("Downloadable")};e.forEach((t=>{if("label"in t&&n[t.label]){t.label=n[t.label]}return t}));return e}function KO(t){const e=[];if(t){for(const[n,i]of Object.entries(t)){const t=Object.assign({},i,{id:`link${RO(n)}`});e.push(t)}}return e}function YO(t,e){if(!t){return false}return e.checkAttribute(t.name,"linkHref")}function QO(t){return jO.test(t)}function JO(t,e){const n=QO(t)?"mailto:":e;const i=!!n&&!XO(t);return t&&i?n+t:t}function XO(t){return HO.test(t)}function tF(t){window.open(t,"_blank","noopener")}class eF extends kh{constructor(){super(...arguments);this.manualDecorators=new fl;this.automaticDecorators=new YR}restoreManualDecoratorStates(){for(const t of this.manualDecorators){t.value=this._getDecoratorStateFromModel(t.id)}}refresh(){const t=this.editor.model;const e=t.document.selection;const n=e.getSelectedElement()||ml(e.getSelectedBlocks());if(YO(n,t.schema)){this.value=n.getAttribute("linkHref");this.isEnabled=t.schema.checkAttribute(n,"linkHref")}else{this.value=e.getAttribute("linkHref");this.isEnabled=t.schema.checkAttributeInSelection(e,"linkHref")}for(const t of this.manualDecorators){t.value=this._getDecoratorStateFromModel(t.id)}}execute(t,e={}){const n=this.editor.model;const i=n.document.selection;const o=[];const r=[];for(const t in e){if(e[t]){o.push(t)}else{r.push(t)}}n.change((e=>{if(i.isCollapsed){const s=i.getFirstPosition();if(i.hasAttribute("linkHref")){const a=nF(i);let c=IS(s,"linkHref",i.getAttribute("linkHref"),n);if(i.getAttribute("linkHref")===a){c=this._updateLinkContent(n,e,c,t)}e.setAttribute("linkHref",t,c);o.forEach((t=>{e.setAttribute(t,true,c)}));r.forEach((t=>{e.removeAttribute(t,c)}));e.setSelection(e.createPositionAfter(c.end.nodeBefore))}else if(t!==""){const r=wl(i.getAttributes());r.set("linkHref",t);o.forEach((t=>{r.set(t,true)}));const{end:a}=n.insertContent(e.createText(t,r),s);e.setSelection(a)}["linkHref",...o,...r].forEach((t=>{e.removeSelectionAttribute(t)}))}else{const s=n.schema.getValidRanges(i.getRanges(),"linkHref");const a=[];for(const t of i.getSelectedBlocks()){if(n.schema.checkAttribute(t,"linkHref")){a.push(e.createRangeOn(t))}}const c=a.slice();for(const t of s){if(this._isRangeToUpdate(t,a)){c.push(t)}}for(const s of c){let a=s;if(c.length===1){const o=nF(i);if(i.getAttribute("linkHref")===o){a=this._updateLinkContent(n,e,s,t);e.setSelection(e.createSelection(a))}}e.setAttribute("linkHref",t,a);o.forEach((t=>{e.setAttribute(t,true,a)}));r.forEach((t=>{e.removeAttribute(t,a)}))}}}))}_getDecoratorStateFromModel(t){const e=this.editor.model;const n=e.document.selection;const i=n.getSelectedElement();if(YO(i,e.schema)){return i.getAttribute(t)}return n.getAttribute(t)}_isRangeToUpdate(t,e){for(const n of e){if(n.containsRange(t)){return false}}return true}_updateLinkContent(t,e,n,i){const o=e.createText(i,{linkHref:i});return t.insertContent(o,n)}}function nF(t){if(t.isCollapsed){const e=t.getFirstPosition();return e.textNode&&e.textNode.data}else{const e=Array.from(t.getFirstRange().getItems());if(e.length>1){return null}const n=e[0];if(n.is("$text")||n.is("$textProxy")){return n.data}return null}}class iF extends kh{refresh(){const t=this.editor.model;const e=t.document.selection;const n=e.getSelectedElement();if(YO(n,t.schema)){this.isEnabled=t.schema.checkAttribute(n,"linkHref")}else{this.isEnabled=t.schema.checkAttributeInSelection(e,"linkHref")}}execute(){const t=this.editor;const e=this.editor.model;const n=e.document.selection;const i=t.commands.get("link");e.change((t=>{const o=n.isCollapsed?[IS(n.getFirstPosition(),"linkHref",n.getAttribute("linkHref"),e)]:e.schema.getValidRanges(n.getRanges(),"linkHref");for(const e of o){t.removeAttribute("linkHref",e);if(i){for(const n of i.manualDecorators){t.removeAttribute(n.id,e)}}}}))}}class oF extends(gt()){constructor({id:t,label:e,attributes:n,classes:i,styles:o,defaultValue:r}){super();this.id=t;this.set("value",undefined);this.defaultValue=r;this.label=e;this.attributes=n;this.classes=i;this.styles=o}_createPattern(){return{attributes:this.attributes,classes:this.classes,styles:this.styles}}}var rF=n(3925);var sF={injectType:"singletonStyleTag",attributes:{"data-cke":true}};sF.insert="head";sF.singleton=true;var aF=Ll()(rF.Z,sF);const cF=rF.Z.locals||{};const lF="ck-link_selected";const dF="automatic";const uF="manual";const hF=/^(https?:)?\/\//;class gF extends ph{static get pluginName(){return"LinkEditing"}static get requires(){return[hS,KI,fM]}constructor(t){super(t);t.config.define("link",{allowCreatingEmptyLinks:false,addTargetToExternalLinks:false})}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:"linkHref"});t.conversion.for("dataDowncast").attributeToElement({model:"linkHref",view:GO});t.conversion.for("editingDowncast").attributeToElement({model:"linkHref",view:(t,e)=>GO(qO(t),e)});t.conversion.for("upcast").elementToAttribute({view:{name:"a",attributes:{href:true}},model:{key:"linkHref",value:t=>t.getAttribute("href")}});t.commands.add("link",new eF(t));t.commands.add("unlink",new iF(t));const e=$O(t.t,KO(t.config.get("link.decorators")));this._enableAutomaticDecorators(e.filter((t=>t.mode===dF)));this._enableManualDecorators(e.filter((t=>t.mode===uF)));const n=t.plugins.get(hS);n.registerAttribute("linkHref");BS(t,"linkHref","a",lF);this._enableLinkOpen();this._enableSelectionAttributesFixer();this._enableClipboardIntegration()}_enableAutomaticDecorators(t){const e=this.editor;const n=e.commands.get("link");const i=n.automaticDecorators;if(e.config.get("link.addTargetToExternalLinks")){i.add({id:"linkIsExternal",mode:dF,callback:t=>!!t&&hF.test(t),attributes:{target:"_blank",rel:"noopener noreferrer"}})}i.add(t);if(i.length){e.conversion.for("downcast").add(i.getDispatcher())}}_enableManualDecorators(t){if(!t.length){return}const e=this.editor;const n=e.commands.get("link");const i=n.manualDecorators;t.forEach((t=>{e.model.schema.extend("$text",{allowAttributes:t.id});const n=new oF(t);i.add(n);e.conversion.for("downcast").attributeToElement({model:n.id,view:(t,{writer:e,schema:i},{item:o})=>{if(!(o.is("selection")||i.isInline(o))){return}if(t){const t=e.createAttributeElement("a",n.attributes,{priority:5});if(n.classes){e.addClass(n.classes,t)}for(const i in n.styles){e.setStyle(i,n.styles[i],t)}e.setCustomProperty("link",true,t);return t}}});e.conversion.for("upcast").elementToAttribute({view:{name:"a",...n._createPattern()},model:{key:n.id}})}))}_enableLinkOpen(){const t=this.editor;const e=t.editing.view;const n=e.document;this.listenTo(n,"click",((t,e)=>{const n=l.isMac?e.domEvent.metaKey:e.domEvent.ctrlKey;if(!n){return}let i=e.domTarget;if(i.tagName.toLowerCase()!="a"){i=i.closest("a")}if(!i){return}const o=i.getAttribute("href");if(!o){return}t.stop();e.preventDefault();tF(o)}),{context:"$capture"});this.listenTo(n,"keydown",((e,n)=>{const i=t.commands.get("link");const o=i.value;const r=!!o&&n.keyCode===Zc.enter&&n.altKey;if(!r){return}e.stop();tF(o)}))}_enableSelectionAttributesFixer(){const t=this.editor;const e=t.model;const n=e.document.selection;this.listenTo(n,"change:attribute",((t,{attributeKeys:i})=>{if(!i.includes("linkHref")||n.hasAttribute("linkHref")){return}e.change((t=>{fF(t,mF(e.schema))}))}))}_enableClipboardIntegration(){const t=this.editor;const e=t.model;const n=this.editor.config.get("link.defaultProtocol");if(!n){return}this.listenTo(t.plugins.get("ClipboardPipeline"),"contentInsertion",((t,i)=>{e.change((t=>{const e=t.createRangeIn(i.content);for(const i of e.getItems()){if(i.hasAttribute("linkHref")){const e=JO(i.getAttribute("linkHref"),n);t.setAttribute("linkHref",e,i)}}}))}))}}function fF(t,e){t.removeSelectionAttribute("linkHref");for(const n of e){t.removeSelectionAttribute(n)}}function mF(t){const e=t.getDefinition("$text").allowAttributes;return e.filter((t=>t.startsWith("link")))}var pF=n(4874);var bF={injectType:"singletonStyleTag",attributes:{"data-cke":true}};bF.insert="head";bF.singleton=true;var kF=Ll()(pF.Z,bF);const wF=pF.Z.locals||{};class AF extends Fl{constructor(t,e){super(t);this.focusTracker=new pl;this.keystrokes=new bl;this._focusables=new Ml;const n=t.t;this.urlInputView=this._createUrlInput();this.saveButtonView=this._createButton(n("Save"),Dy.check,"ck-button-save");this.saveButtonView.type="submit";this.cancelButtonView=this._createButton(n("Cancel"),Dy.cancel,"ck-button-cancel","cancel");this._manualDecoratorSwitches=this._createManualDecoratorSwitches(e);this.children=this._createFormChildren(e.manualDecorators);this._focusCycler=new ch({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}});const i=["ck","ck-link-form","ck-responsive-form"];if(e.manualDecorators.length){i.push("ck-link-form_layout-vertical","ck-vertical-form")}this.setTemplate({tag:"form",attributes:{class:i,tabindex:"-1"},children:this.children})}getDecoratorSwitchesState(){return Array.from(this._manualDecoratorSwitches).reduce(((t,e)=>{t[e.name]=e.isOn;return t}),{})}render(){super.render();o({view:this});const t=[this.urlInputView,...this._manualDecoratorSwitches,this.saveButtonView,this.cancelButtonView];t.forEach((t=>{this._focusables.add(t);this.focusTracker.add(t.element)}));this.keystrokes.listenTo(this.element)}destroy(){super.destroy();this.focusTracker.destroy();this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}_createUrlInput(){const t=this.locale.t;const e=new Ru(this.locale,wx);e.label=t("Link URL");return e}_createButton(t,e,n,i){const o=new Dd(this.locale);o.set({label:t,icon:e,tooltip:true});o.extendTemplate({attributes:{class:n}});if(i){o.delegate("execute").to(this,i)}return o}_createManualDecoratorSwitches(t){const e=this.createCollection();for(const n of t.manualDecorators){const i=new Md(this.locale);i.set({name:n.id,label:n.label,withText:true});i.bind("isOn").toMany([n,t],"value",((t,e)=>e===undefined&&t===undefined?!!n.defaultValue:!!t));i.on("execute",(()=>{n.set("value",!i.isOn)}));e.add(i)}return e}_createFormChildren(t){const e=this.createCollection();e.add(this.urlInputView);if(t.length){const t=new Fl;t.setTemplate({tag:"ul",children:this._manualDecoratorSwitches.map((t=>({tag:"li",children:[t],attributes:{class:["ck","ck-list__item"]}}))),attributes:{class:["ck","ck-reset","ck-list"]}});e.add(t)}e.add(this.saveButtonView);e.add(this.cancelButtonView);return e}}var CF=n(7536);var _F={injectType:"singletonStyleTag",attributes:{"data-cke":true}};_F.insert="head";_F.singleton=true;var vF=Ll()(CF.Z,_F);const yF=CF.Z.locals||{};const xF='';class EF extends Fl{constructor(t){super(t);this.focusTracker=new pl;this.keystrokes=new bl;this._focusables=new Ml;const e=t.t;this.previewButtonView=this._createPreviewButton();this.unlinkButtonView=this._createButton(e("Unlink"),xF,"unlink");this.editButtonView=this._createButton(e("Edit link"),Dy.pencil,"edit");this.set("href",undefined);this._focusCycler=new ch({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}});this.setTemplate({tag:"div",attributes:{class:["ck","ck-link-actions","ck-responsive-form"],tabindex:"-1"},children:[this.previewButtonView,this.editButtonView,this.unlinkButtonView]})}render(){super.render();const t=[this.previewButtonView,this.editButtonView,this.unlinkButtonView];t.forEach((t=>{this._focusables.add(t);this.focusTracker.add(t.element)}));this.keystrokes.listenTo(this.element)}destroy(){super.destroy();this.focusTracker.destroy();this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}_createButton(t,e,n){const i=new Dd(this.locale);i.set({label:t,icon:e,tooltip:true});i.delegate("execute").to(this,n);return i}_createPreviewButton(){const t=new Dd(this.locale);const e=this.bindTemplate;const n=this.t;t.set({withText:true,tooltip:n("Open link in new tab")});t.extendTemplate({attributes:{class:["ck","ck-link-actions__preview"],href:e.to("href",(t=>t&&qO(t))),target:"_blank",rel:"noopener noreferrer"}});t.bind("label").to(this,"href",(t=>t||n("This link has no URL")));t.bind("isEnabled").to(this,"href",(t=>!!t));t.template.tag="a";t.template.eventListeners={};return t}}const DF='';const TF="link-ui";class IF extends ph{constructor(){super(...arguments);this.actionsView=null;this.formView=null}static get requires(){return[TT]}static get pluginName(){return"LinkUI"}init(){const t=this.editor;t.editing.view.addObserver(p_);this._balloon=t.plugins.get(TT);this._createToolbarLinkButton();this._enableBalloonActivators();t.conversion.for("editingDowncast").markerToHighlight({model:TF,view:{classes:["ck-fake-link-selection"]}});t.conversion.for("editingDowncast").markerToElement({model:TF,view:{name:"span",classes:["ck-fake-link-selection","ck-fake-link-selection_collapsed"]}})}destroy(){super.destroy();if(this.formView){this.formView.destroy()}if(this.actionsView){this.actionsView.destroy()}}_createViews(){this.actionsView=this._createActionsView();this.formView=this._createFormView();this._enableUserBalloonInteractions()}_createActionsView(){const t=this.editor;const e=new EF(t.locale);const n=t.commands.get("link");const i=t.commands.get("unlink");e.bind("href").to(n,"value");e.editButtonView.bind("isEnabled").to(n);e.unlinkButtonView.bind("isEnabled").to(i);this.listenTo(e,"edit",(()=>{this._addFormView()}));this.listenTo(e,"unlink",(()=>{t.execute("unlink");this._hideUI()}));e.keystrokes.set("Esc",((t,e)=>{this._hideUI();e()}));e.keystrokes.set(UO,((t,e)=>{this._addFormView();e()}));return e}_createFormView(){const t=this.editor;const n=t.commands.get("link");const i=t.config.get("link.defaultProtocol");const o=t.config.get("link.allowCreatingEmptyLinks");const r=new(e(AF))(t.locale,n);r.urlInputView.fieldView.bind("value").to(n,"value");r.urlInputView.bind("isEnabled").to(n,"isEnabled");r.saveButtonView.bind("isEnabled").to(n,"isEnabled",r.urlInputView,"isEmpty",((t,e)=>t&&(o||!e)));this.listenTo(r,"submit",(()=>{const{value:e}=r.urlInputView.fieldView.element;const n=JO(e,i);t.execute("link",n,r.getDecoratorSwitchesState());this._closeFormView()}));this.listenTo(r,"cancel",(()=>{this._closeFormView()}));r.keystrokes.set("Esc",((t,e)=>{this._closeFormView();e()}));return r}_createToolbarLinkButton(){const t=this.editor;const e=t.commands.get("link");const n=t.t;t.ui.componentFactory.add("link",(t=>{const i=new Dd(t);i.isEnabled=true;i.label=n("Link");i.icon=DF;i.keystroke=UO;i.tooltip=true;i.isToggleable=true;i.bind("isEnabled").to(e,"isEnabled");i.bind("isOn").to(e,"value",(t=>!!t));this.listenTo(i,"execute",(()=>this._showUI(true)));return i}))}_enableBalloonActivators(){const t=this.editor;const e=t.editing.view.document;this.listenTo(e,"click",(()=>{const t=this._getSelectedLinkElement();if(t){this._showUI()}}));t.keystrokes.set(UO,((e,n)=>{n();if(t.commands.get("link").isEnabled){this._showUI(true)}}))}_enableUserBalloonInteractions(){this.editor.keystrokes.set("Tab",((t,e)=>{if(this._areActionsVisible&&!this.actionsView.focusTracker.isFocused){this.actionsView.focus();e()}}),{priority:"high"});this.editor.keystrokes.set("Esc",((t,e)=>{if(this._isUIVisible){this._hideUI();e()}}));t({emitter:this.formView,activator:()=>this._isUIInPanel,contextElements:()=>[this._balloon.view.element],callback:()=>this._hideUI()})}_addActionsView(){if(!this.actionsView){this._createViews()}if(this._areActionsInPanel){return}this._balloon.add({view:this.actionsView,position:this._getBalloonPositionData()})}_addFormView(){if(!this.formView){this._createViews()}if(this._isFormInPanel){return}const t=this.editor;const e=t.commands.get("link");this.formView.disableCssTransitions();this._balloon.add({view:this.formView,position:this._getBalloonPositionData()});this.formView.urlInputView.fieldView.value=e.value||"";if(this._balloon.visibleView===this.formView){this.formView.urlInputView.fieldView.select()}this.formView.enableCssTransitions()}_closeFormView(){const t=this.editor.commands.get("link");t.restoreManualDecoratorStates();if(t.value!==undefined){this._removeFormView()}else{this._hideUI()}}_removeFormView(){if(this._isFormInPanel){this.formView.saveButtonView.focus();this.formView.urlInputView.fieldView.reset();this._balloon.remove(this.formView);this.editor.editing.view.focus();this._hideFakeVisualSelection()}}_showUI(t=false){if(!this.formView){this._createViews()}if(!this._getSelectedLinkElement()){this._showFakeVisualSelection();this._addActionsView();if(t){this._balloon.showStack("main")}this._addFormView()}else{if(this._areActionsVisible){this._addFormView()}else{this._addActionsView()}if(t){this._balloon.showStack("main")}}this._startUpdatingUI()}_hideUI(){if(!this._isUIInPanel){return}const t=this.editor;this.stopListening(t.ui,"update");this.stopListening(this._balloon,"change:visibleView");t.editing.view.focus();this._removeFormView();this._balloon.remove(this.actionsView);this._hideFakeVisualSelection()}_startUpdatingUI(){const t=this.editor;const e=t.editing.view.document;let n=this._getSelectedLinkElement();let i=r();const o=()=>{const t=this._getSelectedLinkElement();const e=r();if(n&&!t||!n&&e!==i){this._hideUI()}else if(this._isUIVisible){this._balloon.updatePosition(this._getBalloonPositionData())}n=t;i=e};function r(){return e.selection.focus.getAncestors().reverse().find((t=>t.is("element")))}this.listenTo(t.ui,"update",o);this.listenTo(this._balloon,"change:visibleView",o)}get _isFormInPanel(){return!!this.formView&&this._balloon.hasView(this.formView)}get _areActionsInPanel(){return!!this.actionsView&&this._balloon.hasView(this.actionsView)}get _areActionsVisible(){return!!this.actionsView&&this._balloon.visibleView===this.actionsView}get _isUIInPanel(){return this._isFormInPanel||this._areActionsInPanel}get _isUIVisible(){const t=this._balloon.visibleView;return!!this.formView&&t==this.formView||this._areActionsVisible}_getBalloonPositionData(){const t=this.editor.editing.view;const e=this.editor.model;const n=t.document;let i;if(e.markers.has(TF)){const e=Array.from(this.editor.editing.mapper.markerNameToElements(TF));const n=t.createRange(t.createPositionBefore(e[0]),t.createPositionAfter(e[e.length-1]));i=t.domConverter.viewRangeToDom(n)}else{i=()=>{const e=this._getSelectedLinkElement();return e?t.domConverter.mapViewToDom(e):t.domConverter.viewRangeToDom(n.selection.getFirstRange())}}return{target:i}}_getSelectedLinkElement(){const t=this.editor.editing.view;const e=t.document.selection;const n=e.getSelectedElement();if(e.isCollapsed||n&&_M(n)){return SF(e.getFirstPosition())}else{const n=e.getFirstRange().getTrimmed();const i=SF(n.start);const o=SF(n.end);if(!i||i!=o){return null}if(t.createRangeIn(i).getTrimmed().isEqual(n)){return i}else{return null}}}_showFakeVisualSelection(){const t=this.editor.model;t.change((e=>{const n=t.document.selection.getFirstRange();if(t.markers.has(TF)){e.updateMarker(TF,{range:n})}else{if(n.start.isAtEnd){const i=n.start.getLastMatchingPosition((({item:e})=>!t.schema.isContent(e)),{boundaries:n});e.addMarker(TF,{usingOperation:false,affectsData:false,range:e.createRange(i,n.end)})}else{e.addMarker(TF,{usingOperation:false,affectsData:false,range:n})}}}))}_hideFakeVisualSelection(){const t=this.editor.model;if(t.markers.has(TF)){t.change((t=>{t.removeMarker(TF)}))}}}function SF(t){return t.getAncestors().find((t=>WO(t)))||null}const BF=4;const MF=new RegExp("(^|\\s)"+"("+"("+"(?:(?:(?:https?|ftp):)?\\/\\/)"+"(?:\\S+(?::\\S*)?@)?"+"(?:"+"(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])"+"(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}"+"(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))"+"|"+"("+"((?!www\\.)|(www\\.))"+"(?![-_])(?:[-_a-z0-9\\u00a1-\\uffff]{1,63}\\.)+"+"(?:[a-z\\u00a1-\\uffff]{2,63})"+")"+")"+"(?::\\d{2,5})?"+"(?:[/?#]\\S*)?"+")"+"|"+"("+"(www.|(\\S+@))"+"((?![-_])(?:[-_a-z0-9\\u00a1-\\uffff]{1,63}\\.))+"+"(?:[a-z\\u00a1-\\uffff]{2,63})"+")"+")$","i");const NF=2;class PF extends ph{static get requires(){return[cS,gF]}static get pluginName(){return"AutoLink"}init(){const t=this.editor;const e=t.model.document.selection;e.on("change:range",(()=>{this.isEnabled=!e.anchor.parent.is("element","codeBlock")}));this._enableTypingHandling()}afterInit(){this._enableEnterHandling();this._enableShiftEnterHandling();this._enablePasteLinking()}_expandLinkRange(t,e){if(e.textNode&&e.textNode.hasAttribute("linkHref")){return IS(e,"linkHref",e.textNode.getAttribute("linkHref"),t)}else{return null}}_selectEntireLinks(t,e){const n=this.editor;const i=n.model;const o=i.document.selection;const r=o.getFirstPosition();const s=o.getLastPosition();let a=e.getJoined(this._expandLinkRange(i,r)||e);if(a){a=a.getJoined(this._expandLinkRange(i,s)||e)}if(a&&(a.start.isBefore(r)||a.end.isAfter(s))){t.setSelection(a)}}_enablePasteLinking(){const t=this.editor;const e=t.model;const n=e.document.selection;const i=t.plugins.get("ClipboardPipeline");const o=t.commands.get("link");i.on("inputTransformation",((t,i)=>{if(!this.isEnabled||!o.isEnabled||n.isCollapsed){return}if(n.rangeCount>1){return}const r=n.getFirstRange();const s=i.dataTransfer.getData("text/plain");if(!s){return}const a=s.match(MF);if(a&&a[2]===s){e.change((t=>{this._selectEntireLinks(t,r);o.execute(s)}));t.stop()}}),{priority:"high"})}_enableTypingHandling(){const t=this.editor;const e=new uS(t.model,(t=>{if(!LF(t)){return}const e=zF(t.substr(0,t.length-1));if(e){return{url:e}}}));e.on("matched:data",((e,n)=>{const{batch:i,range:o,url:r}=n;if(!i.isTyping){return}const s=o.end.getShiftedBy(-1);const a=s.getShiftedBy(-r.length);const c=t.model.createRange(a,s);this._applyAutoLink(r,c)}));e.bind("isEnabled").to(this)}_enableEnterHandling(){const t=this.editor;const e=t.model;const n=t.commands.get("enter");if(!n){return}n.on("execute",(()=>{const t=e.document.selection.getFirstPosition();if(!t.parent.previousSibling){return}const n=e.createRangeIn(t.parent.previousSibling);this._checkAndApplyAutoLinkOnRange(n)}))}_enableShiftEnterHandling(){const t=this.editor;const e=t.model;const n=t.commands.get("shiftEnter");if(!n){return}n.on("execute",(()=>{const t=e.document.selection.getFirstPosition();const n=e.createRange(e.createPositionAt(t.parent,0),t.getShiftedBy(-1));this._checkAndApplyAutoLinkOnRange(n)}))}_checkAndApplyAutoLinkOnRange(t){const e=this.editor.model;const{text:n,range:i}=dS(t,e);const o=zF(n);if(o){const t=e.createRange(i.end.getShiftedBy(-o.length),i.end);this._applyAutoLink(o,t)}}_applyAutoLink(t,e){const n=this.editor.model;const i=this.editor.config.get("link.defaultProtocol");const o=JO(t,i);if(!this.isEnabled||!VF(e,n)||!XO(o)||RF(e)){return}this._persistAutoLink(o,e)}_persistAutoLink(t,e){const n=this.editor.model;const i=this.editor.plugins.get("Delete");n.enqueueChange((o=>{o.setAttribute("linkHref",t,e);n.enqueueChange((()=>{i.requestUndoOnBackspace()}))}))}}function LF(t){return t.length>BF&&t[t.length-1]===" "&&t[t.length-2]!==" "}function zF(t){const e=MF.exec(t);return e?e[NF]:null}function VF(t,e){return e.schema.checkAttributeInSelection(e.createSelection(t),"linkHref")}function RF(t){const e=t.start.nodeAfter;return!!e&&e.hasAttribute("linkHref")}class OF extends ph{static get requires(){return[gF,IF,PF]}static get pluginName(){return"Link"}}class FF extends(null&&Plugin){static get requires(){return["ImageEditing","ImageUtils",LinkEditing]}static get pluginName(){return"LinkImageEditing"}afterInit(){const t=this.editor;const e=t.model.schema;if(t.plugins.has("ImageBlockEditing")){e.extend("imageBlock",{allowAttributes:["linkHref"]})}t.conversion.for("upcast").add(jF(t));t.conversion.for("downcast").add(HF(t));this._enableAutomaticDecorators();this._enableManualDecorators()}_enableAutomaticDecorators(){const t=this.editor;const e=t.commands.get("link");const n=e.automaticDecorators;if(n.length){t.conversion.for("downcast").add(n.getDispatcherForLinkedImage())}}_enableManualDecorators(){const t=this.editor;const e=t.commands.get("link");for(const n of e.manualDecorators){if(t.plugins.has("ImageBlockEditing")){t.model.schema.extend("imageBlock",{allowAttributes:n.id})}if(t.plugins.has("ImageInlineEditing")){t.model.schema.extend("imageInline",{allowAttributes:n.id})}t.conversion.for("downcast").add(UF(n));t.conversion.for("upcast").add(WF(t,n))}}}function jF(t){const e=t.plugins.has("ImageInlineEditing");const n=t.plugins.get("ImageUtils");return t=>{t.on("element:a",((t,i,o)=>{const r=i.viewItem;const s=n.findViewImgElement(r);if(!s){return}const a=s.findAncestor((t=>n.isBlockImageView(t)));if(e&&!a){return}const c={attributes:["href"]};if(!o.consumable.consume(r,c)){return}const l=r.getAttribute("href");if(!l){return}let d=i.modelCursor.parent;if(!d.is("element","imageBlock")){const t=o.convertItem(s,i.modelCursor);i.modelRange=t.modelRange;i.modelCursor=t.modelCursor;d=i.modelCursor.nodeBefore}if(d&&d.is("element","imageBlock")){o.writer.setAttribute("linkHref",l,d)}}),{priority:"high"})}}function HF(t){const e=t.plugins.get("ImageUtils");return t=>{t.on("attribute:linkHref:imageBlock",((t,n,i)=>{if(!i.consumable.consume(n.item,t.name)){return}const o=i.mapper.toViewElement(n.item);const r=i.writer;const s=Array.from(o.getChildren()).find((t=>t.is("element","a")));const a=e.findViewImgElement(o);const c=a.parent.is("element","picture")?a.parent:a;if(s){if(n.attributeNewValue){r.setAttribute("href",n.attributeNewValue,s)}else{r.move(r.createRangeOn(c),r.createPositionAt(o,0));r.remove(s)}}else{const t=r.createContainerElement("a",{href:n.attributeNewValue});r.insert(r.createPositionAt(o,0),t);r.move(r.createRangeOn(c),r.createPositionAt(t,0))}}),{priority:"high"})}}function UF(t){return e=>{e.on(`attribute:${t.id}:imageBlock`,((e,n,i)=>{const o=i.mapper.toViewElement(n.item);const r=Array.from(o.getChildren()).find((t=>t.is("element","a")));if(!r){return}for(const[e,n]of toMap(t.attributes)){i.writer.setAttribute(e,n,r)}if(t.classes){i.writer.addClass(t.classes,r)}for(const e in t.styles){i.writer.setStyle(e,t.styles[e],r)}}))}}function WF(t,e){const n=t.plugins.has("ImageInlineEditing");const i=t.plugins.get("ImageUtils");return t=>{t.on("element:a",((t,o,r)=>{const s=o.viewItem;const a=i.findViewImgElement(s);if(!a){return}const c=a.findAncestor((t=>i.isBlockImageView(t)));if(n&&!c){return}const l=new Matcher(e._createPattern());const d=l.match(s);if(!d){return}if(!r.consumable.consume(s,d.match)){return}const u=o.modelCursor.nodeBefore||o.modelCursor.parent;r.writer.setAttribute(e.id,true,u)}),{priority:"high"})}}class GF extends(null&&Plugin){static get requires(){return[LinkEditing,LinkUI,"ImageBlockEditing"]}static get pluginName(){return"LinkImageUI"}init(){const t=this.editor;const e=t.editing.view.document;this.listenTo(e,"click",((e,n)=>{if(this._isSelectedLinkedImage(t.model.document.selection)){n.preventDefault();e.stop()}}),{priority:"high"});this._createToolbarLinkImageButton()}_createToolbarLinkImageButton(){const t=this.editor;const e=t.t;t.ui.componentFactory.add("linkImage",(n=>{const i=new ButtonView(n);const o=t.plugins.get("LinkUI");const r=t.commands.get("link");i.set({isEnabled:true,label:e("Link image"),icon:linkIcon,keystroke:LINK_KEYSTROKE,tooltip:true,isToggleable:true});i.bind("isEnabled").to(r,"isEnabled");i.bind("isOn").to(r,"value",(t=>!!t));this.listenTo(i,"execute",(()=>{if(this._isSelectedLinkedImage(t.model.document.selection)){o._addActionsView()}else{o._showUI(true)}}));return i}))}_isSelectedLinkedImage(t){const e=t.getSelectedElement();const n=this.editor.plugins.get("ImageUtils");return n.isImage(e)&&e.hasAttribute("linkHref")}}var qF=n(4330);var ZF={injectType:"singletonStyleTag",attributes:{"data-cke":true}};ZF.insert="head";ZF.singleton=true;var $F=Ll()(qF.Z,ZF);const KF=qF.Z.locals||{};class YF extends(null&&Plugin){static get requires(){return[LinkImageEditing,LinkImageUI]}static get pluginName(){return"LinkImage"}}class QF{constructor(t,e){this._startElement=t;this._referenceIndent=t.getAttribute("listIndent");this._isForward=e.direction=="forward";this._includeSelf=!!e.includeSelf;this._sameAttributes=ol(e.sameAttributes||[]);this._sameIndent=!!e.sameIndent;this._lowerIndent=!!e.lowerIndent;this._higherIndent=!!e.higherIndent}static first(t,e){const n=new this(t,e);const i=n[Symbol.iterator]();return ml(i)}*[Symbol.iterator](){const t=[];for(const{node:e}of JF(this._getStartNode(),this._isForward?"forward":"backward")){const n=e.getAttribute("listIndent");if(nthis._referenceIndent){if(!this._higherIndent){continue}if(!this._isForward){t.push(e);continue}}else{if(!this._sameIndent){if(this._higherIndent){if(t.length){yield*t;t.length=0}break}continue}if(this._sameAttributes.some((t=>e.getAttribute(t)!==this._startElement.getAttribute(t)))){break}}if(t.length){yield*t;t.length=0}yield e}}_getStartNode(){if(this._includeSelf){return this._startElement}return this._isForward?this._startElement.nextSibling:this._startElement.previousSibling}}function*JF(t,e="forward"){const n=e=="forward";const i=[];let o=null;while(ej(t)){let e=null;if(o){const n=t.getAttribute("listIndent");const r=o.getAttribute("listIndent");if(n>r){i[r]=o}else if(nt.getAttribute("listIndent"))));const r=new Map;for(const t of n){r.set(t,QF.first(t,{lowerIndent:true}))}for(const t of n){if(i.has(t)){continue}i.add(t);const n=t.getAttribute("listIndent")-1;if(n<0){fj(t,e);continue}if(t.getAttribute("listIndent")==o){const n=Aj(t,r.get(t),e);for(const t of n){i.add(t)}if(n.length){continue}}e.setAttribute("listIndent",n,t)}return bj(i)}function fj(t,e){t=ol(t);for(const n of t){if(n.is("element","listItem")){e.rename(n,"paragraph")}}for(const n of t){for(const t of n.getAttributeKeys()){if(t.startsWith("list")){e.removeAttribute(t,n)}}}return t}function mj(t){if(!t.length){return false}const e=t[0].getAttribute("listItemId");if(!e){return false}return!t.some((t=>t.getAttribute("listItemId")!=e))}function pj(t,e){const n=[];let i=Number.POSITIVE_INFINITY;for(const{node:o}of JF(t.nextSibling,"forward")){const t=o.getAttribute("listIndent");if(t==0){break}if(tt.root.rootName!=="$graveyard")).sort(((t,e)=>t.index-e.index))}function kj(t){const e=t.document.selection.getSelectedElement();if(!e){return null}if(t.schema.isObject(e)&&t.schema.isBlock(e)){return e}return null}function wj(t,e){return e.checkChild(t.parent,"listItem")&&e.checkChild(t,"$text")&&!e.isObject(t)}function Aj(t,e,n){const i=ij(e,{direction:"forward"});if(i.pop().index>t.index){return uj(t,e,n)}return[]}class Cj extends kh{constructor(t,e){super(t);this._direction=e}refresh(){this.isEnabled=this._checkEnabled()}execute(){const t=this.editor.model;const e=_j(t.document.selection);t.change((t=>{const n=[];if(mj(e)&&!sj(e[0])){if(this._direction=="forward"){n.push(...hj(e,t))}n.push(...dj(e[0],t))}else{if(this._direction=="forward"){n.push(...hj(e,t,{expand:true}))}else{n.push(...gj(e,t))}}for(const e of n){if(!e.hasAttribute("listType")){continue}const n=QF.first(e,{sameIndent:true});if(n){t.setAttribute("listType",n.getAttribute("listType"),e)}}this._fireAfterExecute(n)}))}_fireAfterExecute(t){this.fire("afterExecute",bj(new Set(t)))}_checkEnabled(){let t=_j(this.editor.model.document.selection);let e=t[0];if(!e){return false}if(this._direction=="backward"){return true}if(mj(t)&&!sj(t[0])){return true}t=cj(t);e=t[0];const n=QF.first(e,{sameIndent:true});if(!n){return false}if(n.getAttribute("listType")==e.getAttribute("listType")){return true}return false}}function _j(t){const e=Array.from(t.getSelectedBlocks());const n=e.findIndex((t=>!ej(t)));if(n!=-1){e.length=n}return e}class vj extends kh{constructor(t,e){super(t);this.type=e}refresh(){this.value=this._getValue();this.isEnabled=this._checkEnabled()}execute(t={}){const e=this.editor.model;const n=e.document;const i=kj(e);const o=Array.from(n.selection.getSelectedBlocks()).filter((t=>e.schema.checkAttribute(t,"listType")||wj(t,e.schema)));const r=t.forceValue!==undefined?!t.forceValue:this.value;e.change((t=>{if(r){const e=o[o.length-1];const n=ij(e,{direction:"forward"});const i=[];if(n.length>1){i.push(...dj(n[1],t))}i.push(...fj(o,t));i.push(...pj(e,t));this._fireAfterExecute(i)}else if((i||n.selection.isCollapsed)&&ej(o[0])){const e=rj(i||o[0]);for(const n of e){t.setAttribute("listType",this.type,n)}this._fireAfterExecute(e)}else{const n=[];for(const i of o){if(!i.hasAttribute("listType")){if(!i.is("element","listItem")&&wj(i,e.schema)){t.rename(i,"listItem")}t.setAttributes({listIndent:0,listItemId:tj.next(),listType:this.type},i);n.push(i)}else{for(const e of cj(i,{withNested:false})){if(e.getAttribute("listType")!=this.type){t.setAttribute("listType",this.type,e);n.push(e)}}}}this._fireAfterExecute(n)}}))}_fireAfterExecute(t){this.fire("afterExecute",bj(new Set(t)))}_getValue(){const t=this.editor.model.document.selection;const e=Array.from(t.getSelectedBlocks());if(!e.length){return false}for(const t of e){if(t.getAttribute("listType")!=this.type){return false}}return true}_checkEnabled(){const t=this.editor.model;const e=t.schema;const n=t.document.selection;const i=Array.from(n.getSelectedBlocks());if(!i.length){return false}if(this.value){return true}for(const t of i){if(e.checkAttribute(t,"listType")||wj(t,e)){return true}}return false}}class yj extends kh{constructor(t,e){super(t);this._direction=e}refresh(){this.isEnabled=this._checkEnabled()}execute({shouldMergeOnBlocksContentLevel:t=false}={}){const e=this.editor.model;const n=e.document.selection;const i=[];e.change((o=>{const{firstElement:r,lastElement:s}=this._getMergeSubjectElements(n,t);const a=r.getAttribute("listIndent")||0;const c=s.getAttribute("listIndent");const l=s.getAttribute("listItemId");if(a!=c){const t=oj(s);i.push(...hj([s,...t],o,{indentBy:a-c,expand:a{const e=dj(this._getStartBlock(),t);this._fireAfterExecute(e)}))}_fireAfterExecute(t){this.fire("afterExecute",bj(new Set(t)))}_checkEnabled(){const t=this.editor.model.document.selection;const e=this._getStartBlock();return t.isCollapsed&&ej(e)&&!sj(e)}_getStartBlock(){const t=this.editor.model.document;const e=t.selection.getFirstPosition().parent;return this._direction=="before"?e:e.nextSibling}}class Ej extends ph{static get pluginName(){return"ListUtils"}expandListBlocksToCompleteList(t){return lj(t)}isFirstBlockOfListItem(t){return sj(t)}isListItemBlock(t){return ej(t)}expandListBlocksToCompleteItems(t,e={}){return cj(t,e)}}function Dj(t){return t.is("element","ol")||t.is("element","ul")}function Tj(t){return t.is("element","li")}function Ij(t){let e=0;let n=t.parent;while(n){if(Tj(n)){e++}else{const t=n.previousSibling;if(t&&Tj(t)){e++}}n=n.parent}return e}function Sj(t,e,n,i=Nj(n,e)){return t.createAttributeElement(Mj(n),null,{priority:2*e/100-100,id:i})}function Bj(t,e,n){return t.createAttributeElement("li",null,{priority:(2*e+1)/100-100,id:n})}function Mj(t){return t=="numbered"?"ol":"ul"}function Nj(t,e){return`list-${t}-${e}`}function Pj(t,e){const n=t.nodeBefore;if(!ej(n)){const n=t.nodeAfter;if(ej(n)){e.set(n,n)}}else{let t=n;for(const{node:n}of JF(t,"backward")){t=n;if(e.has(t)){return}}e.set(n,t)}}function Lj(t,e){let n=0;let i=-1;let o=null;let r=false;for(const{node:s}of t){const t=s.getAttribute("listIndent");if(t>n){let a;if(o===null){o=t-n;a=n}else{if(o>t){o=t}a=t-o}if(a>i+1){a=i+1}e.setAttribute("listIndent",a,s);r=true;i=a}else{o=null;n=t+1;i=t}}return r}function zj(t,e,n){const i=new Set;let o=false;for(const{node:r}of t){if(i.has(r)){continue}let t=r.getAttribute("listType");let s=r.getAttribute("listItemId");if(e.has(s)){s=tj.next()}e.add(s);if(r.is("element","listItem")){if(r.getAttribute("listItemId")!=s){n.setAttribute("listItemId",s,r);o=true}continue}for(const e of ij(r,{direction:"forward"})){i.add(e);if(e.getAttribute("listType")!=t){s=tj.next();t=e.getAttribute("listType")}if(e.getAttribute("listItemId")!=s){n.setAttribute("listItemId",s,e);o=true}}}return o}function Vj(){return(t,e,n)=>{const{writer:i,schema:o}=n;if(!e.modelRange){return}const r=Array.from(e.modelRange.getItems({shallow:true})).filter((t=>o.checkAttribute(t,"listItemId")));if(!r.length){return}const s=tj.next();const a=Ij(e.viewItem);let c=e.viewItem.parent&&e.viewItem.parent.is("element","ol")?"numbered":"bulleted";const l=r[0].getAttribute("listType");if(l){c=l}const d={listItemId:s,listIndent:a,listType:c};for(const t of r){if(!t.hasAttribute("listItemId")){i.setAttributes(d,t)}}if(r.length>1){if(r[1].getAttribute("listItemId")!=d.listItemId){n.keepEmptyElement(r[0])}}}}function Rj(){return(t,e,n)=>{if(!n.consumable.test(e.viewItem,{name:true})){return}const i=new k_(e.viewItem.document);for(const t of Array.from(e.viewItem.getChildren())){if(!Tj(t)&&!Dj(t)){i.remove(t)}}}}function Oj(t,e,n,i){return()=>{const i=t.document.differ.getChanges();const s=[];const a=new Map;const c=new Set;for(const t of i){if(t.type=="insert"&&t.name!="$text"){Pj(t.position,a);if(!t.attributes.has("listItemId")){Pj(t.position.getShiftedBy(t.length),a)}else{c.add(t.position.nodeAfter)}}else if(t.type=="remove"&&t.attributes.has("listItemId")){Pj(t.position,a)}else if(t.type=="attribute"){const e=t.range.start.nodeAfter;if(n.includes(t.attributeKey)){Pj(t.range.start,a);if(t.attributeNewValue===null){Pj(t.range.start.getShiftedBy(1),a);if(r(e)){s.push(e)}}else{c.add(e)}}else if(ej(e)){if(r(e)){s.push(e)}}}}for(const t of a.values()){s.push(...o(t,c))}for(const t of new Set(s)){e.reconvertItem(t)}};function o(t,e){const i=[];const o=new Set;const a=[];for(const{node:c,previous:l}of JF(t,"forward")){if(o.has(c)){continue}const t=c.getAttribute("listIndent");if(l&&tn.includes(t))));const d=ij(c,{direction:"forward"});for(const t of d){o.add(t);if(r(t,d)){i.push(t)}else if(s(t,a,e)){i.push(t)}}}return i}function r(t,o){const r=e.mapper.toViewElement(t);if(!r){return false}const s=i.fire("checkElement",{modelElement:t,viewElement:r});if(s){return true}if(!t.is("element","paragraph")&&!t.is("element","listItem")){return false}const a=$j(t,n,o);if(a&&r.is("element","p")){return true}else if(!a&&r.is("element","span")){return true}return false}function s(t,n,o){if(o.has(t)){return false}const r=e.mapper.toViewElement(t);let s=n.length-1;for(let t=r.parent;!t.is("editableElement");t=t.parent){const e=Tj(t);const o=Dj(t);if(!o&&!e){continue}const r=`checkAttributes:${e?"item":"list"}`;const a=i.fire(r,{viewElement:t,modelAttributes:n[s]});if(a){break}if(o){s--;if(s<0){return false}}}return true}}function Fj(t,e,n,{dataPipeline:i}={}){const o=Zj(t);return(r,s,a)=>{const{writer:c,mapper:l,consumable:d}=a;const u=s.item;if(!t.includes(s.attributeKey)){return}if(!o(u,d)){return}const h=Hj(u,l,n);Uj(h,c,l);Gj(h,c);const g=Wj(u,h,e,c,{dataPipeline:i});qj(u,g,e,c)}}function jj(t,{dataPipeline:e}={}){return(n,{writer:i})=>{if(!$j(n,t)){return null}if(!e){return i.createContainerElement("span",{class:"ck-list-bogus-paragraph"})}const o=i.createContainerElement("p");i.setCustomProperty("dataPipeline:transparentRendering",true,o);return o}}function Hj(t,e,n){const i=n.createRangeOn(t);const o=e.toViewRange(i).getTrimmed();return o.end.nodeBefore}function Uj(t,e,n){while(t.parent.is("attributeElement")&&t.parent.getCustomProperty("listItemWrapper")){e.unwrap(e.createRangeIn(t.parent),t.parent)}const i=e.createPositionBefore(t).getWalker({direction:"backward"});const o=[];for(const{item:t}of i){if(t.is("element")&&n.toModelElement(t)){break}if(t.is("element")&&t.getCustomProperty("listItemMarker")){o.push(t)}}for(const t of o){e.remove(t)}}function Wj(t,e,n,i,{dataPipeline:o}){let r=i.createRangeOn(e);if(!sj(t)){return r}for(const s of n){if(s.scope!="itemMarker"){continue}const n=s.createElement(i,t,{dataPipeline:o});if(!n){continue}i.setCustomProperty("listItemMarker",true,n);i.insert(r.start,n);r=i.createRange(i.createPositionBefore(n),i.createPositionAfter(e));if(!s.createWrapperElement||!s.canWrapElement){continue}const a=s.createWrapperElement(i,t,{dataPipeline:o});i.setCustomProperty("listItemWrapper",true,a);if(s.canWrapElement(t)){r=i.wrap(r,a)}else{r=i.wrap(i.createRangeOn(n),a);r=i.createRange(r.start,i.createPositionAfter(e))}}return r}function Gj(t,e){let n=t.parent;while(n.is("attributeElement")&&["ul","ol","li"].includes(n.name)){const i=n.parent;e.unwrap(e.createRangeOn(t),n);n=i}}function qj(t,e,n,i){if(!t.hasAttribute("listIndent")){return}const o=t.getAttribute("listIndent");let r=t;for(let t=o;t>=0;t--){const o=Bj(i,t,r.getAttribute("listItemId"));const s=Sj(i,t,r.getAttribute("listType"));for(const t of n){if((t.scope=="list"||t.scope=="item")&&r.hasAttribute(t.attributeName)){t.setAttributeOnDowncast(i,r.getAttribute(t.attributeName),t.scope=="list"?s:o)}}e=i.wrap(e,o);e=i.wrap(e,s);if(t==0){break}r=QF.first(r,{lowerIndent:true});if(!r){break}}}function Zj(t){return(e,n)=>{const i=[];for(const n of t){if(e.hasAttribute(n)){i.push(`attribute:${n}`)}}if(!i.every((t=>n.test(e,t)!==false))){return false}i.forEach((t=>n.consume(e,t)));return true}}function $j(t,e,n=nj(t)){if(!ej(t)){return false}for(const n of t.getAttributeKeys()){if(n.startsWith("selection:")){continue}if(!e.includes(n)){return false}}return n.length<2}var Kj=n(3190);var Yj={injectType:"singletonStyleTag",attributes:{"data-cke":true}};Yj.insert="head";Yj.singleton=true;var Qj=Ll()(Kj.Z,Yj);const Jj=Kj.Z.locals||{};var Xj=n(4784);var tH={injectType:"singletonStyleTag",attributes:{"data-cke":true}};tH.insert="head";tH.singleton=true;var eH=Ll()(Xj.Z,tH);const nH=Xj.Z.locals||{};const iH=["listType","listIndent","listItemId"];class oH extends ph{static get pluginName(){return"ListEditing"}static get requires(){return[BB,cS,Ej,fM]}constructor(t){super(t);this._downcastStrategies=[];t.config.define("list.multiBlock",true)}init(){const t=this.editor;const e=t.model;const n=t.config.get("list.multiBlock");if(t.plugins.has("LegacyListEditing")){throw new P("list-feature-conflict",this,{conflictPlugin:"LegacyListEditing"})}e.schema.register("$listItem",{allowAttributes:iH});if(n){e.schema.extend("$container",{allowAttributesOf:"$listItem"});e.schema.extend("$block",{allowAttributesOf:"$listItem"});e.schema.extend("$blockObject",{allowAttributesOf:"$listItem"})}else{e.schema.register("listItem",{inheritAllFrom:"$block",allowAttributesOf:"$listItem"})}for(const t of iH){e.schema.setAttributeProperties(t,{copyOnReplace:true})}t.commands.add("numberedList",new vj(t,"numbered"));t.commands.add("bulletedList",new vj(t,"bulleted"));t.commands.add("indentList",new Cj(t,"forward"));t.commands.add("outdentList",new Cj(t,"backward"));t.commands.add("splitListItemBefore",new xj(t,"before"));t.commands.add("splitListItemAfter",new xj(t,"after"));if(n){t.commands.add("mergeListItemBackward",new yj(t,"backward"));t.commands.add("mergeListItemForward",new yj(t,"forward"))}this._setupDeleteIntegration();this._setupEnterIntegration();this._setupTabIntegration();this._setupClipboardIntegration()}afterInit(){const t=this.editor;const e=t.commands;const n=e.get("indent");const i=e.get("outdent");if(n){n.registerChildCommand(e.get("indentList"),{priority:"high"})}if(i){i.registerChildCommand(e.get("outdentList"),{priority:"lowest"})}this._setupModelPostFixing();this._setupConversion()}registerDowncastStrategy(t){this._downcastStrategies.push(t)}getListAttributeNames(){return[...iH,...this._downcastStrategies.map((t=>t.attributeName))]}_setupDeleteIntegration(){const t=this.editor;const e=t.commands.get("mergeListItemBackward");const n=t.commands.get("mergeListItemForward");this.listenTo(t.editing.view.document,"delete",((i,o)=>{const r=t.model.document.selection;if(kj(t.model)){return}t.model.change((()=>{const s=r.getFirstPosition();if(r.isCollapsed&&o.direction=="backward"){if(!s.isAtStart){return}const n=s.parent;if(!ej(n)){return}const r=QF.first(n,{sameAttributes:"listType",sameIndent:true});if(!r&&n.getAttribute("listIndent")===0){if(!aj(n)){t.execute("splitListItemAfter")}t.execute("outdentList")}else{if(!e||!e.isEnabled){return}e.execute({shouldMergeOnBlocksContentLevel:aH(t.model,"backward")})}o.preventDefault();i.stop()}else{if(r.isCollapsed&&!r.getLastPosition().isAtEnd){return}if(!n||!n.isEnabled){return}n.execute({shouldMergeOnBlocksContentLevel:aH(t.model,"forward")});o.preventDefault();i.stop()}}))}),{context:"li"})}_setupEnterIntegration(){const t=this.editor;const e=t.model;const n=t.commands;const i=n.get("enter");this.listenTo(t.editing.view.document,"enter",((n,i)=>{const o=e.document;const r=o.selection.getFirstPosition().parent;if(o.selection.isCollapsed&&ej(r)&&r.isEmpty&&!i.isSoft){const e=sj(r);const o=aj(r);if(e&&o){t.execute("outdentList");i.preventDefault();n.stop()}else if(e&&!o){t.execute("splitListItemAfter");i.preventDefault();n.stop()}else if(o){t.execute("splitListItemBefore");i.preventDefault();n.stop()}}}),{context:"li"});this.listenTo(i,"afterExecute",(()=>{const e=n.get("splitListItemBefore");e.refresh();if(!e.isEnabled){return}const i=t.model.document;const o=i.selection.getLastPosition().parent;const r=nj(o);if(r.length===2){e.execute()}}))}_setupTabIntegration(){const t=this.editor;this.listenTo(t.editing.view.document,"tab",((e,n)=>{const i=n.shiftKey?"outdentList":"indentList";const o=this.editor.commands.get(i);if(o.isEnabled){t.execute(i);n.stopPropagation();n.preventDefault();e.stop()}}),{context:"li"})}_setupConversion(){const t=this.editor;const e=t.model;const n=this.getListAttributeNames();const i=t.config.get("list.multiBlock");const o=i?"paragraph":"listItem";t.conversion.for("upcast").elementToElement({view:"li",model:(t,{writer:e})=>e.createElement(o,{listType:""})}).elementToElement({view:"p",model:(t,{writer:e})=>{if(t.parent&&t.parent.is("element","li")){return e.createElement(o,{listType:""})}return null},converterPriority:"high"}).add((t=>{t.on("element:li",Vj());t.on("element:ul",Rj(),{priority:"high"});t.on("element:ol",Rj(),{priority:"high"})}));if(!i){t.conversion.for("downcast").elementToElement({model:"listItem",view:"p"})}t.conversion.for("editingDowncast").elementToElement({model:o,view:jj(n),converterPriority:"high"}).add((t=>{t.on("attribute",Fj(n,this._downcastStrategies,e))}));t.conversion.for("dataDowncast").elementToElement({model:o,view:jj(n,{dataPipeline:true}),converterPriority:"high"}).add((t=>{t.on("attribute",Fj(n,this._downcastStrategies,e,{dataPipeline:true}))}));this.listenTo(e.document,"change:data",Oj(e,t.editing,n,this),{priority:"high"});this.on("checkAttributes:item",((t,{viewElement:e,modelAttributes:n})=>{if(e.id!=n.listItemId){t.return=true;t.stop()}}));this.on("checkAttributes:list",((t,{viewElement:e,modelAttributes:n})=>{if(e.name!=Mj(n.listType)||e.id!=Nj(n.listType,n.listIndent)){t.return=true;t.stop()}}))}_setupModelPostFixing(){const t=this.editor.model;const e=this.getListAttributeNames();t.document.registerPostFixer((n=>rH(t,n,e,this)));this.on("postFixer",((t,{listNodes:e,writer:n})=>{t.return=Lj(e,n)||t.return}),{priority:"high"});this.on("postFixer",((t,{listNodes:e,writer:n,seenIds:i})=>{t.return=zj(e,i,n)||t.return}),{priority:"high"})}_setupClipboardIntegration(){const t=this.editor.model;const e=this.editor.plugins.get("ClipboardPipeline");this.listenTo(t,"insertContent",sH(t),{priority:"high"});this.listenTo(e,"outputTransformation",((e,n)=>{t.change((t=>{const e=Array.from(n.content.getChildren());const i=e[e.length-1];if(e.length>1&&i.is("element")&&i.isEmpty){const n=e.slice(0,-1);if(n.every(ej)){t.remove(i)}}if(n.method=="copy"||n.method=="cut"){const e=Array.from(n.content.getChildren());const i=mj(e);if(i){fj(e,t)}}}))}))}}function rH(t,e,n,i){const o=t.document.differ.getChanges();const r=new Map;const s=i.editor.config.get("list.multiBlock");let a=false;for(const i of o){if(i.type=="insert"&&i.name!="$text"){const o=i.position.nodeAfter;if(!t.schema.checkAttribute(o,"listItemId")){for(const t of Array.from(o.getAttributeKeys())){if(n.includes(t)){e.removeAttribute(t,o);a=true}}}Pj(i.position,r);if(!i.attributes.has("listItemId")){Pj(i.position.getShiftedBy(i.length),r)}for(const{item:e,previousPosition:n}of t.createRangeIn(o)){if(ej(e)){Pj(n,r)}}}else if(i.type=="remove"){Pj(i.position,r)}else if(i.type=="attribute"&&n.includes(i.attributeKey)){Pj(i.range.start,r);if(i.attributeNewValue===null){Pj(i.range.start.getShiftedBy(1),r)}}if(!s&&i.type=="attribute"&&iH.includes(i.attributeKey)){const t=i.range.start.nodeAfter;if(i.attributeNewValue===null&&t&&t.is("element","listItem")){e.rename(t,"paragraph");a=true}else if(i.attributeOldValue===null&&t&&t.is("element")&&t.name!="listItem"){e.rename(t,"listItem");a=true}}}const c=new Set;for(const t of r.values()){a=i.fire("postFixer",{listNodes:new XF(t),listHead:t,writer:e,seenIds:c})||a}return a}function sH(t){return(e,[n,i])=>{const o=n.is("documentFragment")?Array.from(n.getChildren()):[n];if(!o.length){return}const r=i?t.createSelection(i):t.document.selection;const s=r.getFirstPosition();let a;if(ej(s.parent)){a=s.parent}else if(ej(s.nodeBefore)){a=s.nodeBefore}else{return}t.change((t=>{const e=a.getAttribute("listType");const n=a.getAttribute("listIndent");const i=o[0].getAttribute("listIndent")||0;const r=Math.max(n-i,0);for(const n of o){const i=ej(n);if(a.is("element","listItem")&&n.is("element","paragraph")){t.rename(n,"listItem")}t.setAttributes({listIndent:(i?n.getAttribute("listIndent"):0)+r,listItemId:i?n.getAttribute("listItemId"):tj.next(),listType:e},n)}}))}}function aH(t,e){const n=t.document.selection;if(!n.isCollapsed){return!kj(t)}if(e==="forward"){return true}const i=n.getFirstPosition();const o=i.parent;const r=o.previousSibling;if(t.schema.isObject(r)){return false}if(r.isEmpty){return true}return mj([o,r])}function cH(t,e,n,i){t.ui.componentFactory.add(e,(o=>{const r=t.commands.get(e);const s=new Dd(o);s.set({label:n,icon:i,tooltip:true,isToggleable:true});s.bind("isOn","isEnabled").to(r,"value","isEnabled");s.on("execute",(()=>{t.execute(e);t.editing.view.focus()}));return s}))}class lH extends ph{static get pluginName(){return"ListUI"}init(){const t=this.editor.t;cH(this.editor,"numberedList",t("Numbered List"),Dy.numberedList);cH(this.editor,"bulletedList",t("Bulleted List"),Dy.bulletedList)}}class dH extends ph{static get requires(){return[oH,lH]}static get pluginName(){return"List"}}class uH extends(null&&Command){refresh(){const t=this._getValue();this.value=t;this.isEnabled=t!=null}execute({startIndex:t=1}={}){const e=this.editor.model;const n=e.document;let i=Array.from(n.selection.getSelectedBlocks()).filter((t=>isListItemBlock(t)&&t.getAttribute("listType")=="numbered"));i=expandListBlocksToCompleteList(i);e.change((e=>{for(const n of i){e.setAttribute("listStart",t>=0?t:1,n)}}))}_getValue(){const t=this.editor.model;const e=t.document;const n=first(e.selection.getSelectedBlocks());if(n&&isListItemBlock(n)&&n.getAttribute("listType")=="numbered"){return n.getAttribute("listStart")}return null}}const hH={};const gH={};const fH={};const mH=[{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:n}of mH){hH[t]=n;gH[t]=e;if(e){fH[e]=t}}function pH(){return mH.map((t=>t.listStyle))}function bH(t){return hH[t]||null}function kH(t){return fH[t]||null}function wH(t){return gH[t]||null}class AH extends(null&&Command){constructor(t,e,n){super(t);this.defaultType=e;this._supportedTypes=n}refresh(){this.value=this._getValue();this.isEnabled=this._checkEnabled()}execute(t={}){const e=this.editor.model;const n=e.document;e.change((e=>{this._tryToConvertItemsToList(t);let i=Array.from(n.selection.getSelectedBlocks()).filter((t=>t.hasAttribute("listType")));if(!i.length){return}i=expandListBlocksToCompleteList(i);for(const n of i){e.setAttribute("listStyle",t.type||this.defaultType,n)}}))}isStyleTypeSupported(t){if(!this._supportedTypes){return true}return this._supportedTypes.includes(t)}_getValue(){const t=first(this.editor.model.document.selection.getSelectedBlocks());if(isListItemBlock(t)){return t.getAttribute("listStyle")}return null}_checkEnabled(){const t=this.editor;const e=t.commands.get("numberedList");const n=t.commands.get("bulletedList");return e.isEnabled||n.isEnabled}_tryToConvertItemsToList(t){if(!t.type){return}const e=getListTypeFromListStyleType(t.type);if(!e){return}const n=this.editor;const i=`${e}List`;const o=n.commands.get(i);if(!o.value){n.execute(i)}}}class CH extends(null&&Command){refresh(){const t=this._getValue();this.value=t;this.isEnabled=t!=null}execute(t={}){const e=this.editor.model;const n=e.document;let i=Array.from(n.selection.getSelectedBlocks()).filter((t=>isListItemBlock(t)&&t.getAttribute("listType")=="numbered"));i=expandListBlocksToCompleteList(i);e.change((e=>{for(const n of i){e.setAttribute("listReversed",!!t.reversed,n)}}))}_getValue(){const t=this.editor.model;const e=t.document;const n=first(e.selection.getSelectedBlocks());if(isListItemBlock(n)&&n.getAttribute("listType")=="numbered"){return n.getAttribute("listReversed")}return null}}class _H extends(null&&Plugin){static get pluginName(){return"ListPropertiesUtils"}getAllSupportedStyleTypes(){return getAllSupportedStyleTypes()}getListTypeFromListStyleType(t){return getListTypeFromListStyleType(t)}getListStyleTypeFromTypeAttribute(t){return getListStyleTypeFromTypeAttribute(t)}getTypeAttributeFromListStyleType(t){return getTypeAttributeFromListStyleType(t)}}const vH="default";class yH extends(null&&Plugin){static get requires(){return[ListEditing,ListPropertiesUtils]}static get pluginName(){return"ListPropertiesEditing"}constructor(t){super(t);t.config.define("list.properties",{styles:true,startIndex:false,reversed:false})}init(){const t=this.editor;const e=t.model;const n=t.plugins.get(ListEditing);const i=t.config.get("list.properties");const o=xH(i);for(const i of o){i.addCommand(t);e.schema.extend("$listItem",{allowAttributes:i.attributeName});n.registerDowncastStrategy({scope:"list",attributeName:i.attributeName,setAttributeOnDowncast(t,e,n){i.setAttributeOnDowncast(t,e,n)}})}t.conversion.for("upcast").add((t=>{for(const e of o){t.on("element:ol",listPropertiesUpcastConverter(e));t.on("element:ul",listPropertiesUpcastConverter(e))}}));n.on("checkAttributes:list",((t,{viewElement:e,modelAttributes:n})=>{for(const i of o){if(i.getAttributeOnUpcast(e)!=n[i.attributeName]){t.return=true;t.stop()}}}));this.listenTo(t.commands.get("indentList"),"afterExecute",((t,n)=>{e.change((t=>{for(const e of n){for(const n of o){if(n.appliesToListItem(e)){t.setAttribute(n.attributeName,n.defaultValue,e)}}}}))}));n.on("postFixer",((t,{listNodes:e,writer:n})=>{for(const{node:i}of e){for(const e of o){if(e.hasValidAttribute(i)){continue}if(e.appliesToListItem(i)){n.setAttribute(e.attributeName,e.defaultValue,i)}else{n.removeAttribute(e.attributeName,i)}t.return=true}}}));n.on("postFixer",((t,{listNodes:e,writer:n})=>{for(const{node:i,previousNodeInList:r}of e){if(!r){continue}if(r.getAttribute("listType")!=i.getAttribute("listType")){continue}for(const e of o){const{attributeName:o}=e;if(!e.appliesToListItem(i)){continue}const s=r.getAttribute(o);if(i.getAttribute(o)!=s){n.setAttribute(o,s,i);t.return=true}}}}))}}function xH(t){const e=[];if(t.styles){const n=typeof t.styles=="object"&&t.styles.useAttribute;e.push({attributeName:"listStyle",defaultValue:vH,viewConsumables:{styles:"list-style-type"},addCommand(t){let e=getAllSupportedStyleTypes();if(n){e=e.filter((t=>!!getTypeAttributeFromListStyleType(t)))}t.commands.add("listStyle",new ListStyleCommand(t,vH,e))},appliesToListItem(t){return t.getAttribute("listType")=="numbered"||t.getAttribute("listType")=="bulleted"},hasValidAttribute(t){if(!this.appliesToListItem(t)){return!t.hasAttribute("listStyle")}if(!t.hasAttribute("listStyle")){return false}const e=t.getAttribute("listStyle");if(e==vH){return true}return getListTypeFromListStyleType(e)==t.getAttribute("listType")},setAttributeOnDowncast(t,e,i){if(e&&e!==vH){if(n){const n=getTypeAttributeFromListStyleType(e);if(n){t.setAttribute("type",n,i);return}}else{t.setStyle("list-style-type",e,i);return}}t.removeStyle("list-style-type",i);t.removeAttribute("type",i)},getAttributeOnUpcast(t){const e=t.getStyle("list-style-type");if(e){return e}const n=t.getAttribute("type");if(n){return getListStyleTypeFromTypeAttribute(n)}return vH}})}if(t.reversed){e.push({attributeName:"listReversed",defaultValue:false,viewConsumables:{attributes:"reversed"},addCommand(t){t.commands.add("listReversed",new ListReversedCommand(t))},appliesToListItem(t){return t.getAttribute("listType")=="numbered"},hasValidAttribute(t){return this.appliesToListItem(t)==t.hasAttribute("listReversed")},setAttributeOnDowncast(t,e,n){if(e){t.setAttribute("reversed","reversed",n)}else{t.removeAttribute("reversed",n)}},getAttributeOnUpcast(t){return t.hasAttribute("reversed")}})}if(t.startIndex){e.push({attributeName:"listStart",defaultValue:1,viewConsumables:{attributes:"start"},addCommand(t){t.commands.add("listStart",new ListStartCommand(t))},appliesToListItem(t){return t.getAttribute("listType")=="numbered"},hasValidAttribute(t){return this.appliesToListItem(t)==t.hasAttribute("listStart")},setAttributeOnDowncast(t,e,n){if(e==0||e>1){t.setAttribute("start",e,n)}else{t.removeAttribute("start",n)}},getAttributeOnUpcast(t){const e=t.getAttribute("start");return e>=0?e:1}})}return e}var EH=n(9938);var DH={injectType:"singletonStyleTag",attributes:{"data-cke":true}};DH.insert="head";DH.singleton=true;var TH=Ll()(EH.Z,DH);const IH=EH.Z.locals||{};class SH extends(null&&View){constructor(t,{enabledProperties:e,styleButtonViews:n,styleGridAriaLabel:i}){super(t);this.stylesView=null;this.additionalPropertiesCollapsibleView=null;this.startIndexFieldView=null;this.reversedSwitchButtonView=null;this.focusTracker=new FocusTracker;this.keystrokes=new KeystrokeHandler;this.focusables=new ViewCollection;const o=["ck","ck-list-properties"];this.children=this.createCollection();this.focusCycler=new FocusCycler({focusables:this.focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}});if(e.styles){this.stylesView=this._createStylesView(n,i);this.children.add(this.stylesView)}else{o.push("ck-list-properties_without-styles")}if(e.startIndex||e.reversed){this._addNumberedListPropertyViews(e);o.push("ck-list-properties_with-numbered-properties")}this.setTemplate({tag:"div",attributes:{class:o},children:this.children})}render(){super.render();if(this.stylesView){this.focusables.add(this.stylesView);this.focusTracker.add(this.stylesView.element);if(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)}addKeyboardHandlingForGrid({keystrokeHandler:this.stylesView.keystrokes,focusTracker:this.stylesView.focusTracker,gridItems:this.stylesView.children,numberOfColumns:()=>global.window.getComputedStyle(this.stylesView.element).getPropertyValue("grid-template-columns").split(" ").length,uiLanguageDirection:this.locale&&this.locale.uiLanguageDirection})}if(this.startIndexFieldView){this.focusables.add(this.startIndexFieldView);this.focusTracker.add(this.startIndexFieldView.element);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)}if(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 n=new View(this.locale);n.children=n.createCollection();n.children.addMany(t);n.setTemplate({tag:"div",attributes:{"aria-label":e,class:["ck","ck-list-styles-list"]},children:n.children});n.children.delegate("execute").to(this);n.focus=function(){this.children.first.focus()};n.focusTracker=new FocusTracker;n.keystrokes=new KeystrokeHandler;n.render();n.keystrokes.listenTo(n.element);return n}_addNumberedListPropertyViews(t){const e=this.locale.t;const n=[];if(t.startIndex){this.startIndexFieldView=this._createStartIndexField();n.push(this.startIndexFieldView)}if(t.reversed){this.reversedSwitchButtonView=this._createReversedSwitchButton();n.push(this.reversedSwitchButtonView)}if(t.styles){this.additionalPropertiesCollapsibleView=new CollapsibleView(this.locale,n);this.additionalPropertiesCollapsibleView.set({label:e("List properties"),isCollapsed:true});this.additionalPropertiesCollapsibleView.buttonView.bind("isEnabled").toMany(n,"isEnabled",((...t)=>t.some((t=>t))));this.additionalPropertiesCollapsibleView.buttonView.on("change:isEnabled",((t,e,n)=>{if(!n){this.additionalPropertiesCollapsibleView.isCollapsed=true}}));this.children.add(this.additionalPropertiesCollapsibleView)}else{this.children.addMany(n)}}_createStartIndexField(){const t=this.locale.t;const e=new LabeledFieldView(this.locale,createLabeledInputNumber);e.set({label:t("Start at"),class:"ck-numbered-list-properties__start-index"});e.fieldView.set({min:0,step:1,value:1,inputMode:"numeric"});e.fieldView.on("input",(()=>{const n=e.fieldView.element;const i=n.valueAsNumber;if(Number.isNaN(i)){return}if(!n.checkValidity()){e.errorText=t("Start index must be greater than 0.")}else{this.fire("listStart",{startIndex:i})}}));return e}_createReversedSwitchButton(){const t=this.locale.t;const e=new SwitchButtonView(this.locale);e.set({withText:true,label:t("Reversed order"),class:"ck-numbered-list-properties__reversed-order"});e.delegate("execute").to(this,"listReversed");return e}}var BH=n(2591);var MH={injectType:"singletonStyleTag",attributes:{"data-cke":true}};MH.insert="head";MH.singleton=true;var NH=Ll()(BH.Z,MH);const PH=BH.Z.locals||{};class LH extends(null&&Plugin){static get pluginName(){return"ListPropertiesUI"}init(){const t=this.editor;const e=t.locale.t;const n=t.config.get("list.properties");if(n.styles){t.ui.componentFactory.add("bulletedList",zH({editor:t,parentCommandName:"bulletedList",buttonLabel:e("Bulleted List"),buttonIcon:icons.bulletedList,styleGridAriaLabel:e("Bulleted list styles toolbar"),styleDefinitions:[{label:e("Toggle the disc list style"),tooltip:e("Disc"),type:"disc",icon:listStyleDiscIcon},{label:e("Toggle the circle list style"),tooltip:e("Circle"),type:"circle",icon:listStyleCircleIcon},{label:e("Toggle the square list style"),tooltip:e("Square"),type:"square",icon:listStyleSquareIcon}]}))}if(n.styles||n.startIndex||n.reversed){t.ui.componentFactory.add("numberedList",zH({editor:t,parentCommandName:"numberedList",buttonLabel:e("Numbered List"),buttonIcon:icons.numberedList,styleGridAriaLabel:e("Numbered list styles toolbar"),styleDefinitions:[{label:e("Toggle the decimal list style"),tooltip:e("Decimal"),type:"decimal",icon:listStyleDecimalIcon},{label:e("Toggle the decimal with leading zero list style"),tooltip:e("Decimal with leading zero"),type:"decimal-leading-zero",icon:listStyleDecimalWithLeadingZeroIcon},{label:e("Toggle the lower–roman list style"),tooltip:e("Lower–roman"),type:"lower-roman",icon:listStyleLowerRomanIcon},{label:e("Toggle the upper–roman list style"),tooltip:e("Upper-roman"),type:"upper-roman",icon:listStyleUpperRomanIcon},{label:e("Toggle the lower–latin list style"),tooltip:e("Lower-latin"),type:"lower-latin",icon:listStyleLowerLatinIcon},{label:e("Toggle the upper–latin list style"),tooltip:e("Upper-latin"),type:"upper-latin",icon:listStyleUpperLatinIcon}]}))}}}function zH({editor:t,parentCommandName:e,buttonLabel:n,buttonIcon:i,styleGridAriaLabel:o,styleDefinitions:r}){const s=t.commands.get(e);return a=>{const c=createDropdown(a,SplitButtonView);const l=c.buttonView;c.bind("isEnabled").to(s);c.class="ck-list-styles-dropdown";l.on("execute",(()=>{t.execute(e);t.editing.view.focus()}));l.set({label:n,icon:i,tooltip:true,isToggleable:true});l.bind("isOn").to(s,"value",(t=>!!t));c.once("change:isOpen",(()=>{const n=RH({editor:t,dropdownView:c,parentCommandName:e,styleGridAriaLabel:o,styleDefinitions:r});c.panelView.children.add(n)}));c.on("execute",(()=>{t.editing.view.focus()}));return c}}function VH({editor:t,listStyleCommand:e,parentCommandName:n}){const i=t.locale;const o=t.commands.get(n);return({label:n,type:r,icon:s,tooltip:a})=>{const c=new ButtonView(i);c.set({label:n,icon:s,tooltip:a});e.on("change:value",(()=>{c.isOn=e.value===r}));c.on("execute",(()=>{if(o.value){if(e.value!==r){t.execute("listStyle",{type:r})}else{t.execute("listStyle",{type:e.defaultType})}}else{t.model.change((()=>{t.execute("listStyle",{type:r})}))}}));return c}}function RH({editor:t,dropdownView:e,parentCommandName:n,styleDefinitions:i,styleGridAriaLabel:o}){const r=t.locale;const s=t.config.get("list.properties");let a=null;if(n!="numberedList"){s.startIndex=false;s.reversed=false}if(s.styles){const e=t.commands.get("listStyle");const o=VH({editor:t,parentCommandName:n,listStyleCommand:e});const r=typeof e.isStyleTypeSupported=="function"?t=>e.isStyleTypeSupported(t.type):()=>true;a=i.filter(r).map(o)}const c=new ListPropertiesView(r,{styleGridAriaLabel:o,enabledProperties:s,styleButtonViews:a});if(s.styles){focusChildOnDropdownOpen(e,(()=>c.stylesView.children.find((t=>t.isOn))))}if(s.startIndex){const e=t.commands.get("listStart");c.startIndexFieldView.bind("isEnabled").to(e);c.startIndexFieldView.fieldView.bind("value").to(e);c.on("listStart",((e,n)=>t.execute("listStart",n)))}if(s.reversed){const e=t.commands.get("listReversed");c.reversedSwitchButtonView.bind("isEnabled").to(e);c.reversedSwitchButtonView.bind("isOn").to(e,"value",(t=>!!t));c.on("listReversed",(()=>{const n=e.value;t.execute("listReversed",{reversed:!n})}))}c.delegate("execute").to(e);return c}class OH extends(null&&Plugin){static get requires(){return[ListPropertiesEditing,ListPropertiesUI]}static get pluginName(){return"ListProperties"}}class FH extends(null&&Command){constructor(t){super(t);this.on("execute",(()=>{this.refresh()}),{priority:"highest"})}refresh(){const t=this._getSelectedItems();this.value=this._getValue(t);this.isEnabled=!!t.length}execute(t={}){this.editor.model.change((e=>{const n=this._getSelectedItems();const i=t.forceValue===undefined?!this._getValue(n):t.forceValue;for(const t of n){if(i){e.setAttribute("todoListChecked",true,t)}else{e.removeAttribute("todoListChecked",t)}}}))}_getValue(t){return t.every((t=>t.getAttribute("todoListChecked")))}_getSelectedItems(){const t=this.editor.model;const e=t.schema;const n=t.document.selection.getFirstRange();const i=n.start.parent;const o=[];if(e.checkAttribute(i,"todoListChecked")){o.push(...getAllListItemBlocks(i))}for(const t of n.getItems({shallow:true})){if(e.checkAttribute(t,"todoListChecked")&&!o.includes(t)){o.push(...getAllListItemBlocks(t))}}return o}}class jH extends(null&&DomEventObserver){constructor(){super(...arguments);this.domEventType=["change"]}onDomEvent(t){if(t.target){const e=this.view.domConverter.mapDomToView(t.target);if(e&&e.is("element","input")&&e.getAttribute("type")=="checkbox"&&e.findAncestor({classes:"todo-list__label"})){this.fire("todoCheckboxChange",t)}}}}const HH=Yc("Ctrl+Enter");class UH extends(null&&Plugin){static get pluginName(){return"TodoListEditing"}static get requires(){return[ListEditing]}init(){const t=this.editor;const e=t.model;const n=t.editing;const i=t.plugins.get(ListEditing);const o=t.config.get("list.multiBlock");const r=o?"paragraph":"listItem";t.commands.add("todoList",new ListCommand(t,"todo"));t.commands.add("checkTodoList",new CheckTodoListCommand(t));n.view.addObserver(TodoCheckboxChangeObserver);e.schema.extend("$listItem",{allowAttributes:"todoListChecked"});e.schema.addAttributeCheck(((t,e)=>{const n=t.last;if(e!="todoListChecked"){return}if(!n.getAttribute("listItemId")||n.getAttribute("listType")!="todo"){return false}}));t.conversion.for("upcast").add((t=>{t.on("element:input",WH());t.on("element:label",GH({name:"label",classes:"todo-list__label"}));t.on("element:label",GH({name:"label",classes:["todo-list__label","todo-list__label_without-description"]}));t.on("element:span",GH({name:"span",classes:"todo-list__label__description"}));t.on("element:ul",qH({name:"ul",classes:"todo-list"}))}));t.conversion.for("downcast").elementToElement({model:r,view:(t,{writer:e})=>{if(ZH(t,i.getListAttributeNames())){return e.createContainerElement("span",{class:"todo-list__label__description"})}},converterPriority:"highest"});i.registerDowncastStrategy({scope:"list",attributeName:"listType",setAttributeOnDowncast(t,e,n){if(e=="todo"){t.addClass("todo-list",n)}else{t.removeClass("todo-list",n)}}});i.registerDowncastStrategy({scope:"itemMarker",attributeName:"todoListChecked",createElement(t,e,{dataPipeline:n}){if(e.getAttribute("listType")!="todo"){return null}const i=t.createEmptyElement("input",{type:"checkbox",...e.getAttribute("todoListChecked")?{checked:"checked"}:null,...n?{disabled:"disabled"}:{tabindex:"-1"}});if(n){return i}return t.createContainerElement("span",{contenteditable:"false"},i)},canWrapElement(t){return ZH(t,i.getListAttributeNames())},createWrapperElement(t,e,{dataPipeline:n}){const o=["todo-list__label"];if(!ZH(e,i.getListAttributeNames())){o.push("todo-list__label_without-description")}return t.createAttributeElement(n?"label":"span",{class:o.join(" ")})}});n.mapper.registerViewToModelLength("input",(t=>{if(t.getAttribute("type")=="checkbox"&&t.findAncestor({classes:"todo-list__label"})){return 0}return n.mapper.toModelElement(t)?1:0}));i.on("checkElement",((t,{modelElement:e,viewElement:n})=>{const o=ZH(e,i.getListAttributeNames());const r=n.hasClass("todo-list__label__description");if(r!=o){t.return=true;t.stop()}}));i.on("checkElement",((e,{modelElement:n,viewElement:i})=>{const o=n.getAttribute("listType")=="todo"&&isFirstBlockOfListItem(n);let r=false;const s=t.editing.view.createPositionBefore(i).getWalker({direction:"backward"});for(const{item:e}of s){if(e.is("element")&&t.editing.mapper.toModelElement(e)){break}if(e.is("element","input")&&e.getAttribute("type")=="checkbox"){r=true}}if(r!=o){e.return=true;e.stop()}}));i.on("postFixer",((t,{listNodes:e,writer:n})=>{for(const{node:i,previousNodeInList:o}of e){if(!o){continue}if(o.getAttribute("listItemId")!=i.getAttribute("listItemId")){continue}const e=o.hasAttribute("todoListChecked");const r=i.hasAttribute("todoListChecked");if(r&&!e){n.removeAttribute("todoListChecked",i);t.return=true}else if(!r&&e){n.setAttribute("todoListChecked",true,i);t.return=true}}}));e.document.registerPostFixer((t=>{const n=e.document.differ.getChanges();let i=false;for(const e of n){if(e.type=="attribute"&&e.attributeKey=="listType"){const n=e.range.start.nodeAfter;if(e.attributeOldValue=="todo"&&n.hasAttribute("todoListChecked")){t.removeAttribute("todoListChecked",n);i=true}}else if(e.type=="insert"&&e.name!="$text"){for(const{item:n}of t.createRangeOn(e.position.nodeAfter)){if(n.is("element")&&n.getAttribute("listType")!="todo"&&n.hasAttribute("todoListChecked")){t.removeAttribute("todoListChecked",n);i=true}}}}return i}));this.listenTo(n.view.document,"keydown",((e,n)=>{if(getCode(n)===HH){t.execute("checkTodoList");e.stop()}}),{priority:"high"});this.listenTo(n.view.document,"todoCheckboxChange",((t,e)=>{const i=e.target;if(!i||!i.is("element","input")){return}const o=n.view.createPositionAfter(i);const r=n.mapper.toModelPosition(o);const s=r.parent;if(s&&isListItemBlock(s)&&s.getAttribute("listType")=="todo"){this._handleCheckmarkChange(s)}}));this.listenTo(n.view.document,"arrowKey",KH(e,t.locale),{context:"$text"});this.listenTo(n.mapper,"viewToModelPosition",((t,n)=>{const i=n.viewPosition.parent;const o=i.is("attributeElement","li")&&n.viewPosition.offset==0;const r=YH(i)&&n.viewPosition.offset<=1;const s=i.is("element","span")&&i.getAttribute("contenteditable")=="false"&&YH(i.parent);if(!o&&!r&&!s){return}const a=n.modelPosition.nodeAfter;if(a&&a.getAttribute("listType")=="todo"){n.modelPosition=e.createPositionAt(a,0)}}),{priority:"low"})}_handleCheckmarkChange(t){const e=this.editor;const n=e.model;const i=Array.from(n.document.selection.getRanges());n.change((n=>{n.setSelection(t,"end");e.execute("checkTodoList");n.setSelection(i)}))}}function WH(){return(t,e,n)=>{const i=e.modelCursor;const o=i.parent;const r=e.viewItem;if(!n.consumable.test(r,{name:true})){return}if(r.getAttribute("type")!="checkbox"||!i.isAtStart||!o.hasAttribute("listType")){return}n.consumable.consume(r,{name:true});const s=n.writer;s.setAttribute("listType","todo",o);if(e.viewItem.hasAttribute("checked")){s.setAttribute("todoListChecked",true,o)}e.modelRange=s.createRange(i)}}function GH(t){const e=new Matcher(t);return(t,n,i)=>{const o=e.match(n.viewItem);if(!o){return}if(!i.consumable.consume(n.viewItem,o.match)){return}Object.assign(n,i.convertChildren(n.viewItem,n.modelCursor))}}function qH(t){const e=new Matcher(t);return(t,n,i)=>{const o=e.match(n.viewItem);if(!o){return}const r=o.match;r.name=false;i.consumable.consume(n.viewItem,r)}}function ZH(t,e){return(t.is("element","paragraph")||t.is("element","listItem"))&&t.getAttribute("listType")=="todo"&&isFirstBlockOfListItem(t)&&$H(t,e)}function $H(t,e){for(const n of t.getAttributeKeys()){if(n.startsWith("selection:")){continue}if(!e.includes(n)){return false}}return true}function KH(t,e){return(n,i)=>{const o=getLocalizedArrowKeyCodeDirection(i.keyCode,e.contentLanguageDirection);const r=t.schema;const s=t.document.selection;if(!s.isCollapsed){return}const a=s.getFirstPosition();const c=a.parent;if(o=="right"&&a.isAtEnd){const e=r.getNearestSelectionRange(t.createPositionAfter(c),"forward");if(!e){return}const o=e.start.parent;if(o&&isListItemBlock(o)&&o.getAttribute("listType")=="todo"){t.change((t=>t.setSelection(e)));i.preventDefault();i.stopPropagation();n.stop()}}else if(o=="left"&&a.isAtStart&&isListItemBlock(c)&&c.getAttribute("listType")=="todo"){const e=r.getNearestSelectionRange(t.createPositionBefore(c),"backward");if(!e){return}t.change((t=>t.setSelection(e)));i.preventDefault();i.stopPropagation();n.stop()}}}function YH(t){return!!t&&t.is("attributeElement")&&t.hasClass("todo-list__label")}class QH extends(null&&Plugin){static get pluginName(){return"TodoListUI"}init(){const t=this.editor.t;createUIComponent(this.editor,"todoList",t("To-do List"),icons.todoList)}}var JH=n(9292);var XH={injectType:"singletonStyleTag",attributes:{"data-cke":true}};XH.insert="head";XH.singleton=true;var tU=Ll()(JH.Z,XH);const eU=JH.Z.locals||{};class nU extends(null&&Plugin){static get requires(){return[TodoListEditing,TodoListUI]}static get pluginName(){return"TodoList"}}class iU extends(null&&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;const n=e.document;const i=Array.from(n.selection.getSelectedBlocks()).filter((t=>rU(t,e.schema)));const o=t.forceValue!==undefined?!t.forceValue:this.value;e.change((t=>{if(o){let e=i[i.length-1].nextSibling;let n=Number.POSITIVE_INFINITY;let o=[];while(e&&e.name=="listItem"&&e.getAttribute("listIndent")!==0){const t=e.getAttribute("listIndent");if(t=n){if(r>o.getAttribute("listIndent")){r=o.getAttribute("listIndent")}if(o.getAttribute("listIndent")==r){t[e?"unshift":"push"](o)}o=o[e?"previousSibling":"nextSibling"]}}}function rU(t,e){return e.checkChild(t.parent,"listItem")&&!e.isObject(t)}class sU extends(null&&Command){constructor(t,e){super(t);this._indentBy=e=="forward"?1:-1}refresh(){this.isEnabled=this._checkEnabled()}execute(){const t=this.editor.model;const e=t.document;let n=Array.from(e.selection.getSelectedBlocks());t.change((t=>{const e=n[n.length-1];let i=e.nextSibling;while(i&&i.name=="listItem"&&i.getAttribute("listIndent")>e.getAttribute("listIndent")){n.push(i);i=i.nextSibling}if(this._indentBy<0){n=n.reverse()}for(const e of n){const n=e.getAttribute("listIndent")+this._indentBy;if(n<0){t.rename(e,"paragraph")}else{t.setAttribute("listIndent",n,e)}}this.fire("_executeCleanup",n)}))}_checkEnabled(){const t=first(this.editor.model.document.selection.getSelectedBlocks());if(!t||!t.is("element","listItem")){return false}if(this._indentBy>0){const e=t.getAttribute("listIndent");const n=t.getAttribute("listType");let i=t.previousSibling;while(i&&i.is("element","listItem")&&i.getAttribute("listIndent")>=e){if(i.getAttribute("listIndent")==e){return i.getAttribute("listType")==n}i=i.previousSibling}return false}return true}}function aU(t){const e=t.createContainerElement("li");e.getFillerOffset=wU;return e}function cU(t,e){const n=e.mapper;const i=e.writer;const o=t.getAttribute("listType")=="numbered"?"ol":"ul";const r=aU(i);const s=i.createContainerElement(o,null);i.insert(i.createPositionAt(s,0),r);n.bindElements(t,r);return r}function lU(t,e,n,i){const o=e.parent;const r=n.mapper;const s=n.writer;let a=r.toViewPosition(i.createPositionBefore(t));const c=hU(t.previousSibling,{sameIndent:true,smallerIndent:true,listIndent:t.getAttribute("listIndent")});const l=t.previousSibling;if(c&&c.getAttribute("listIndent")==t.getAttribute("listIndent")){const t=r.toViewElement(c);a=s.breakContainer(s.createPositionAfter(t))}else{if(l&&l.name=="listItem"){a=r.toViewPosition(i.createPositionAt(l,"end"));const t=r.findMappedViewAncestor(a);const e=gU(t);if(e){a=s.createPositionBefore(e)}else{a=s.createPositionAt(t,"end")}}else{a=r.toViewPosition(i.createPositionBefore(t))}}a=uU(a);s.insert(a,o);if(l&&l.name=="listItem"){const t=r.toViewElement(l);const n=s.createRange(s.createPositionAt(t,0),a);const i=n.getWalker({ignoreElementEnd:true});for(const t of i){if(t.item.is("element","li")){const n=s.breakContainer(s.createPositionBefore(t.item));const o=t.item.parent;const r=s.createPositionAt(e,"end");dU(s,r.nodeBefore,r.nodeAfter);s.move(s.createRangeOn(o),r);i._position=n}}}else{const n=o.nextSibling;if(n&&(n.is("element","ul")||n.is("element","ol"))){let i=null;for(const e of n.getChildren()){const n=r.toModelElement(e);if(n&&n.getAttribute("listIndent")>t.getAttribute("listIndent")){i=e}else{break}}if(i){s.breakContainer(s.createPositionAfter(i));s.move(s.createRangeOn(i.parent),s.createPositionAt(e,"end"))}}}dU(s,o,o.nextSibling);dU(s,o.previousSibling,o)}function dU(t,e,n){if(!e||!n||e.name!="ul"&&e.name!="ol"){return null}if(e.name!=n.name||e.getAttribute("class")!==n.getAttribute("class")){return null}return t.mergeContainers(t.createPositionAfter(e))}function uU(t){return t.getLastMatchingPosition((t=>t.item.is("uiElement")))}function hU(t,e){const n=!!e.sameIndent;const i=!!e.smallerIndent;const o=e.listIndent;let r=t;while(r&&r.name=="listItem"){const t=r.getAttribute("listIndent");if(n&&o==t||i&&o>t){return r}if(e.direction==="forward"){r=r.nextSibling}else{r=r.previousSibling}}return null}function gU(t){for(const e of t.getChildren()){if(e.name=="ul"||e.name=="ol"){return e}}return null}function fU(t,e){const n=[];const i=t.parent;const o={ignoreElementEnd:false,startPosition:t,shallow:true,direction:e};const r=i.getAttribute("listIndent");const s=[...new TreeWalker(o)].filter((t=>t.item.is("element"))).map((t=>t.item));for(const t of s){if(!t.is("element","listItem")){break}if(t.getAttribute("listIndent")r){continue}if(t.getAttribute("listType")!==i.getAttribute("listType")){break}if(t.getAttribute("listStyle")!==i.getAttribute("listStyle")){break}if(t.getAttribute("listReversed")!==i.getAttribute("listReversed")){break}if(t.getAttribute("listStart")!==i.getAttribute("listStart")){break}if(e==="backward"){n.unshift(t)}else{n.push(t)}}return n}function mU(t){const e=t.document;let n=[...e.selection.getSelectedBlocks()].filter((t=>t.is("element","listItem"))).map((e=>{const n=t.change((t=>t.createPositionAt(e,0)));return[...fU(n,"backward"),...fU(n,"forward")]})).flat();n=[...new Set(n)];return n}const pU=null&&["disc","circle","square"];const bU=null&&["decimal","decimal-leading-zero","lower-roman","upper-roman","lower-latin","upper-latin"];function kU(t){if(pU.includes(t)){return"bulleted"}if(bU.includes(t)){return"numbered"}return null}function wU(){const t=!this.isEmpty&&(this.getChild(0).name=="ul"||this.getChild(0).name=="ol");if(this.isEmpty||t){return 0}return getFillerOffset.call(this)}class AU extends(null&&Plugin){static get pluginName(){return"LegacyListUtils"}getListTypeFromListStyleType(t){return getListTypeFromListStyleType(t)}getSelectedListItems(t){return getSelectedListItems(t)}getSiblingNodes(t,e){return getSiblingNodes(t,e)}}function CU(t){return(e,n,i)=>{const o=i.consumable;if(!o.test(n.item,"insert")||!o.test(n.item,"attribute:listType")||!o.test(n.item,"attribute:listIndent")){return}o.consume(n.item,"insert");o.consume(n.item,"attribute:listType");o.consume(n.item,"attribute:listIndent");const r=n.item;const s=generateLiInUl(r,i);injectViewList(r,s,i,t)}}function _U(t){return(e,n,i)=>{const o=i.mapper.toViewPosition(n.position);const r=o.getLastMatchingPosition((t=>!t.item.is("element","li")));const s=r.nodeAfter;const a=i.writer;a.breakContainer(a.createPositionBefore(s));a.breakContainer(a.createPositionAfter(s));const c=s.parent;const l=c.previousSibling;const d=a.createRangeOn(c);const u=a.remove(d);if(l&&l.nextSibling){mergeViewLists(a,l,l.nextSibling)}const h=i.mapper.toModelElement(s);VU(h.getAttribute("listIndent")+1,n.position,d.start,s,i,t);for(const t of a.createRangeIn(u).getItems()){i.mapper.unbindViewElement(t)}e.stop()}}const vU=(t,e,n)=>{if(!n.consumable.test(e.item,t.name)){return}const i=n.mapper.toViewElement(e.item);const o=n.writer;o.breakContainer(o.createPositionBefore(i));o.breakContainer(o.createPositionAfter(i));const r=i.parent;const s=e.attributeNewValue=="numbered"?"ol":"ul";o.rename(s,r)};const yU=(t,e,n)=>{n.consumable.consume(e.item,t.name);const i=n.mapper.toViewElement(e.item);const o=i.parent;const r=n.writer;mergeViewLists(r,o,o.nextSibling);mergeViewLists(r,o.previousSibling,o)};function xU(t){return(e,n,i)=>{if(!i.consumable.consume(n.item,"attribute:listIndent")){return}const o=i.mapper.toViewElement(n.item);const r=i.writer;r.breakContainer(r.createPositionBefore(o));r.breakContainer(r.createPositionAfter(o));const s=o.parent;const a=s.previousSibling;const c=r.createRangeOn(s);r.remove(c);if(a&&a.nextSibling){mergeViewLists(r,a,a.nextSibling)}VU(n.attributeOldValue+1,n.range.start,c.start,o,i,t);injectViewList(n.item,o,i,t);for(const t of n.item.getChildren()){i.consumable.consume(t,"insert")}}}const EU=(t,e,n)=>{if(!n.consumable.test(e.item,t.name)){return}if(e.item.name!="listItem"){let t=n.mapper.toViewPosition(e.range.start);const i=n.writer;const o=[];while(t.parent.name=="ul"||t.parent.name=="ol"){t=i.breakContainer(t);if(t.parent.name!="li"){break}const e=t;const n=i.createPositionAt(t.parent,"end");if(!e.isEqual(n)){const t=i.remove(i.createRange(e,n));o.push(t)}t=i.createPositionAfter(t.parent)}if(o.length>0){for(let e=0;e0){const e=mergeViewLists(i,n,n.nextSibling);if(e&&e.parent==n){t.offset--}}}mergeViewLists(i,t.nodeBefore,t.nodeAfter)}}};const DU=(t,e,n)=>{const i=n.mapper.toViewPosition(e.position);const o=i.nodeBefore;const r=i.nodeAfter;mergeViewLists(n.writer,o,r)};const TU=(t,e,n)=>{if(n.consumable.consume(e.viewItem,{name:true})){const t=n.writer;const i=t.createElement("listItem");const o=OU(e.viewItem);t.setAttribute("listIndent",o,i);const r=e.viewItem.parent&&e.viewItem.parent.name=="ol"?"numbered":"bulleted";t.setAttribute("listType",r,i);if(!n.safeInsert(i,e.modelCursor)){return}const s=LU(i,e.viewItem.getChildren(),n);e.modelRange=t.createRange(e.modelCursor,s);n.updateConversionResult(i,e)}};const IU=(t,e,n)=>{if(n.consumable.test(e.viewItem,{name:true})){const t=Array.from(e.viewItem.getChildren());for(const e of t){const t=!(e.is("element","li")||RU(e));if(t){e._remove()}}}};const SU=(t,e,n)=>{if(n.consumable.test(e.viewItem,{name:true})){if(e.viewItem.childCount===0){return}const t=[...e.viewItem.getChildren()];let n=false;for(const e of t){if(n&&!RU(e)){e._remove()}if(RU(e)){n=true}}}};function BU(t){return(e,n)=>{if(n.isPhantom){return}const i=n.modelPosition.nodeBefore;if(i&&i.is("element","listItem")){const e=n.mapper.toViewElement(i);const o=e.getAncestors().find(RU);const r=t.createPositionAt(e,0).getWalker();for(const t of r){if(t.type=="elementStart"&&t.item.is("element","li")){n.viewPosition=t.previousPosition;break}else if(t.type=="elementEnd"&&t.item==o){n.viewPosition=t.nextPosition;break}}}}}function MU(t){return(e,n)=>{const i=n.viewPosition;const o=i.parent;const r=n.mapper;if(o.name=="ul"||o.name=="ol"){if(!i.isAtEnd){const e=r.toModelElement(i.nodeAfter);n.modelPosition=t.createPositionBefore(e)}else{const e=r.toModelElement(i.nodeBefore);const o=r.getModelLength(i.nodeBefore);n.modelPosition=t.createPositionBefore(e).getShiftedBy(o)}e.stop()}else if(o.name=="li"&&i.nodeBefore&&(i.nodeBefore.name=="ul"||i.nodeBefore.name=="ol")){const s=r.toModelElement(o);let a=1;let c=i.nodeBefore;while(c&&RU(c)){a+=r.getModelLength(c);c=c.previousSibling}n.modelPosition=t.createPositionBefore(s).getShiftedBy(a);e.stop()}}}function NU(t,e){const n=t.document.differ.getChanges();const i=new Map;let o=false;for(const i of n){if(i.type=="insert"&&i.name=="listItem"){r(i.position)}else if(i.type=="insert"&&i.name!="listItem"){if(i.name!="$text"){const n=i.position.nodeAfter;if(n.hasAttribute("listIndent")){e.removeAttribute("listIndent",n);o=true}if(n.hasAttribute("listType")){e.removeAttribute("listType",n);o=true}if(n.hasAttribute("listStyle")){e.removeAttribute("listStyle",n);o=true}if(n.hasAttribute("listReversed")){e.removeAttribute("listReversed",n);o=true}if(n.hasAttribute("listStart")){e.removeAttribute("listStart",n);o=true}for(const e of Array.from(t.createRangeIn(n)).filter((t=>t.item.is("element","listItem")))){r(e.previousPosition)}}const n=i.position.getShiftedBy(i.length);r(n)}else if(i.type=="remove"&&i.name=="listItem"){r(i.position)}else if(i.type=="attribute"&&i.attributeKey=="listIndent"){r(i.range.start)}else if(i.type=="attribute"&&i.attributeKey=="listType"){r(i.range.start)}}for(const t of i.values()){s(t);a(t)}return o;function r(t){const e=t.nodeBefore;if(!e||!e.is("element","listItem")){const e=t.nodeAfter;if(e&&e.is("element","listItem")){i.set(e,e)}}else{let t=e;if(i.has(t)){return}for(let e=t.previousSibling;e&&e.is("element","listItem");e=t.previousSibling){t=e;if(i.has(t)){return}}i.set(e,t)}}function s(t){let n=0;let i=null;while(t&&t.is("element","listItem")){const r=t.getAttribute("listIndent");if(r>n){let s;if(i===null){i=r-n;s=n}else{if(i>r){i=r}s=r-i}e.setAttribute("listIndent",s,t);o=true}else{i=null;n=t.getAttribute("listIndent")+1}t=t.nextSibling}}function a(t){let n=[];let i=null;while(t&&t.is("element","listItem")){const r=t.getAttribute("listIndent");if(i&&i.getAttribute("listIndent")>r){n=n.slice(0,r+1)}if(r!=0){if(n[r]){const i=n[r];if(t.getAttribute("listType")!=i){e.setAttribute("listType",i,t);o=true}}else{n[r]=t.getAttribute("listType")}}i=t;t=t.nextSibling}}}const PU=function(t,[e,n]){const i=this;let o=e.is("documentFragment")?e.getChild(0):e;let r;if(!n){r=i.document.selection}else{r=i.createSelection(n)}if(o&&o.is("element","listItem")){const t=r.getFirstPosition();let e=null;if(t.parent.is("element","listItem")){e=t.parent}else if(t.nodeBefore&&t.nodeBefore.is("element","listItem")){e=t.nodeBefore}if(e){const t=e.getAttribute("listIndent");if(t>0){while(o&&o.is("element","listItem")){o._setAttribute("listIndent",o.getAttribute("listIndent")+t);o=o.nextSibling}}}}};function LU(t,e,n){const{writer:i,schema:o}=n;let r=i.createPositionAfter(t);for(const s of e){if(s.name=="ul"||s.name=="ol"){r=n.convertItem(s,r).modelCursor}else{const e=n.convertItem(s,i.createPositionAt(t,"end"));const a=e.modelRange.start.nodeAfter;const c=a&&a.is("element")&&!o.checkChild(t,a.name);if(c){if(e.modelCursor.parent.is("element","listItem")){t=e.modelCursor.parent}else{t=zU(e.modelCursor)}r=i.createPositionAfter(t)}}}return r}function zU(t){const e=new TreeWalker({startPosition:t});let n;do{n=e.next()}while(!n.value.item.is("element","listItem"));return n.value.item}function VU(t,e,n,i,o,r){const s=getSiblingListItem(e.nodeBefore,{sameIndent:true,smallerIndent:true,listIndent:t});const a=o.mapper;const c=o.writer;const l=s?s.getAttribute("listIndent"):null;let d;if(!s){d=n}else if(l==t){const t=a.toViewElement(s).parent;d=c.createPositionAfter(t)}else{const t=r.createPositionAt(s,"end");d=a.toViewPosition(t)}d=positionAfterUiElements(d);for(const t of[...i.getChildren()]){if(RU(t)){d=c.move(c.createRangeOn(t),d).end;mergeViewLists(c,t,t.nextSibling);mergeViewLists(c,t.previousSibling,t)}}}function RU(t){return t.is("element","ol")||t.is("element","ul")}function OU(t){let e=0;let n=t.parent;while(n){if(n.is("element","li")){e++}else{const t=n.previousSibling;if(t&&t.is("element","li")){e++}}n=n.parent}return e}class FU extends(null&&Plugin){static get pluginName(){return"LegacyListEditing"}static get requires(){return[Enter,Delete,LegacyListUtils]}init(){const t=this.editor;t.model.schema.register("listItem",{inheritAllFrom:"$block",allowAttributes:["listType","listIndent"]});const e=t.data;const n=t.editing;t.model.document.registerPostFixer((e=>modelChangePostFixer(t.model,e)));n.mapper.registerViewToModelLength("li",jU);e.mapper.registerViewToModelLength("li",jU);n.mapper.on("modelToViewPosition",modelToViewPosition(n.view));n.mapper.on("viewToModelPosition",viewToModelPosition(t.model));e.mapper.on("modelToViewPosition",modelToViewPosition(n.view));t.conversion.for("editingDowncast").add((e=>{e.on("insert",modelViewSplitOnInsert,{priority:"high"});e.on("insert:listItem",modelViewInsertion(t.model));e.on("attribute:listType:listItem",modelViewChangeType,{priority:"high"});e.on("attribute:listType:listItem",modelViewMergeAfterChangeType,{priority:"low"});e.on("attribute:listIndent:listItem",modelViewChangeIndent(t.model));e.on("remove:listItem",modelViewRemove(t.model));e.on("remove",modelViewMergeAfter,{priority:"low"})}));t.conversion.for("dataDowncast").add((e=>{e.on("insert",modelViewSplitOnInsert,{priority:"high"});e.on("insert:listItem",modelViewInsertion(t.model))}));t.conversion.for("upcast").add((t=>{t.on("element:ul",cleanList,{priority:"high"});t.on("element:ol",cleanList,{priority:"high"});t.on("element:li",cleanListItem,{priority:"high"});t.on("element:li",viewModelConverter)}));t.model.on("insertContent",modelIndentPasteFixer,{priority:"high"});t.commands.add("numberedList",new LegacyListCommand(t,"numbered"));t.commands.add("bulletedList",new LegacyListCommand(t,"bulleted"));t.commands.add("indentList",new LegacyIndentCommand(t,"forward"));t.commands.add("outdentList",new LegacyIndentCommand(t,"backward"));const i=n.view.document;this.listenTo(i,"enter",((t,e)=>{const n=this.editor.model.document;const i=n.selection.getLastPosition().parent;if(n.selection.isCollapsed&&i.name=="listItem"&&i.isEmpty){this.editor.execute("outdentList");e.preventDefault();t.stop()}}),{context:"li"});this.listenTo(i,"delete",((t,e)=>{if(e.direction!=="backward"){return}const n=this.editor.model.document.selection;if(!n.isCollapsed){return}const i=n.getFirstPosition();if(!i.isAtStart){return}const o=i.parent;if(o.name!=="listItem"){return}const r=o.previousSibling&&o.previousSibling.name==="listItem";if(r){return}this.editor.execute("outdentList");e.preventDefault();t.stop()}),{context:"li"});this.listenTo(t.editing.view.document,"tab",((e,n)=>{const i=n.shiftKey?"outdentList":"indentList";const o=this.editor.commands.get(i);if(o.isEnabled){t.execute(i);n.stopPropagation();n.preventDefault();e.stop()}}),{context:"li"})}afterInit(){const t=this.editor.commands;const e=t.get("indent");const n=t.get("outdent");if(e){e.registerChildCommand(t.get("indentList"))}if(n){n.registerChildCommand(t.get("outdentList"))}}}function jU(t){let e=1;for(const n of t.getChildren()){if(n.name=="ul"||n.name=="ol"){for(const t of n.getChildren()){e+=jU(t)}}}return e}class HU extends(null&&Plugin){static get requires(){return[LegacyListEditing,ListUI]}static get pluginName(){return"LegacyList"}}class UU extends(null&&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;const n=getSelectedListItems(e);if(!n.length){return}e.change((e=>{for(const i of n){e.setAttribute("listStyle",t.type||this.defaultType,i)}}))}_getValue(){const t=this.editor.model.document.selection.getFirstPosition().parent;if(t&&t.is("element","listItem")){return t.getAttribute("listStyle")}return null}_checkEnabled(){const t=this.editor;const e=t.commands.get("numberedList");const n=t.commands.get("bulletedList");return e.isEnabled||n.isEnabled}_tryToConvertItemsToList(t){if(!t.type){return}const e=getListTypeFromListStyleType(t.type);if(!e){return}const n=this.editor;const i=`${e}List`;const o=n.commands.get(i);if(!o.value){n.execute(i)}}}class WU extends(null&&Command){refresh(){const t=this._getValue();this.value=t;this.isEnabled=t!=null}execute(t={}){const e=this.editor.model;const n=getSelectedListItems(e).filter((t=>t.getAttribute("listType")=="numbered"));e.change((e=>{for(const i of n){e.setAttribute("listReversed",!!t.reversed,i)}}))}_getValue(){const t=this.editor.model.document.selection.getFirstPosition().parent;if(t&&t.is("element","listItem")&&t.getAttribute("listType")=="numbered"){return t.getAttribute("listReversed")}return null}}class GU extends(null&&Command){refresh(){const t=this._getValue();this.value=t;this.isEnabled=t!=null}execute({startIndex:t=1}={}){const e=this.editor.model;const n=getSelectedListItems(e).filter((t=>t.getAttribute("listType")=="numbered"));e.change((e=>{for(const i of n){e.setAttribute("listStart",t>=0?t:1,i)}}))}_getValue(){const t=this.editor.model.document.selection.getFirstPosition().parent;if(t&&t.is("element","listItem")&&t.getAttribute("listType")=="numbered"){return t.getAttribute("listStart")}return null}}const qU="default";class ZU extends(null&&Plugin){static get requires(){return[LegacyListEditing]}static get pluginName(){return"LegacyListPropertiesEditing"}constructor(t){super(t);t.config.define("list",{properties:{styles:true,startIndex:false,reversed:false}})}init(){const t=this.editor;const e=t.model;const n=t.config.get("list.properties");const i=$U(n);e.schema.extend("listItem",{allowAttributes:i.map((t=>t.attributeName))});for(const e of i){e.addCommand(t)}this.listenTo(t.commands.get("indentList"),"_executeCleanup",QU(t,i));this.listenTo(t.commands.get("outdentList"),"_executeCleanup",JU(t,i));this.listenTo(t.commands.get("bulletedList"),"_executeCleanup",iW(t));this.listenTo(t.commands.get("numberedList"),"_executeCleanup",iW(t));e.document.registerPostFixer(XU(t,i));t.conversion.for("upcast").add(KU(i));t.conversion.for("downcast").add(YU(i));this._mergeListAttributesWhileMergingLists(i)}afterInit(){const t=this.editor;if(t.commands.get("todoList")){t.model.document.registerPostFixer(nW(t))}}_mergeListAttributesWhileMergingLists(t){const e=this.editor;const n=e.model;let i;this.listenTo(n,"deleteContent",((t,[e])=>{const n=e.getFirstPosition();const o=e.getLastPosition();if(n.parent===o.parent){return}if(!n.parent.is("element","listItem")){return}const r=o.parent.nextSibling;if(!r||!r.is("element","listItem")){return}const s=getSiblingListItem(n.parent,{sameIndent:true,listIndent:r.getAttribute("listIndent")});if(!s){return}if(s.getAttribute("listType")===r.getAttribute("listType")){i=s}}),{priority:"high"});this.listenTo(n,"deleteContent",(()=>{if(!i){return}n.change((e=>{const n=getSiblingListItem(i.nextSibling,{sameIndent:true,listIndent:i.getAttribute("listIndent"),direction:"forward"});if(!n){i=null;return}const o=[n,...getSiblingNodes(e.createPositionAt(n,0),"forward")];for(const n of o){for(const o of t){if(o.appliesToListItem(n)){const t=o.attributeName;const r=i.getAttribute(t);e.setAttribute(t,r,n)}}}}));i=null}),{priority:"low"})}}function $U(t){const e=[];if(t.styles){e.push({attributeName:"listStyle",defaultValue:qU,addCommand(t){t.commands.add("listStyle",new LegacyListStyleCommand(t,qU))},appliesToListItem(){return true},setAttributeOnDowncast(t,e,n){if(e&&e!==qU){t.setStyle("list-style-type",e,n)}else{t.removeStyle("list-style-type",n)}},getAttributeOnUpcast(t){return t.getStyle("list-style-type")||qU}})}if(t.reversed){e.push({attributeName:"listReversed",defaultValue:false,addCommand(t){t.commands.add("listReversed",new LegacyListReversedCommand(t))},appliesToListItem(t){return t.getAttribute("listType")=="numbered"},setAttributeOnDowncast(t,e,n){if(e){t.setAttribute("reversed","reversed",n)}else{t.removeAttribute("reversed",n)}},getAttributeOnUpcast(t){return t.hasAttribute("reversed")}})}if(t.startIndex){e.push({attributeName:"listStart",defaultValue:1,addCommand(t){t.commands.add("listStart",new LegacyListStartCommand(t))},appliesToListItem(t){return t.getAttribute("listType")=="numbered"},setAttributeOnDowncast(t,e,n){if(e==0||e>1){t.setAttribute("start",e,n)}else{t.removeAttribute("start",n)}},getAttributeOnUpcast(t){const e=t.getAttribute("start");return e>=0?e:1}})}return e}function KU(t){return e=>{e.on("element:li",((e,n,i)=>{if(!n.modelRange){return}const o=n.viewItem.parent;const r=n.modelRange.start.nodeAfter||n.modelRange.end.nodeBefore;for(const e of t){if(e.appliesToListItem(r)){const t=e.getAttributeOnUpcast(o);i.writer.setAttribute(e.attributeName,t,r)}}}),{priority:"low"})}}function YU(t){return n=>{for(const i of t){n.on(`attribute:${i.attributeName}:listItem`,((t,n,o)=>{const r=o.writer;const s=n.item;const a=getSiblingListItem(s.previousSibling,{sameIndent:true,listIndent:s.getAttribute("listIndent"),direction:"backward"});const c=o.mapper.toViewElement(s);if(!e(s,a)){r.breakContainer(r.createPositionBefore(c))}i.setAttributeOnDowncast(r,n.attributeNewValue,c.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")}}function QU(t,e){return(n,i)=>{const o=i[0];const r=o.getAttribute("listIndent");const s=i.filter((t=>t.getAttribute("listIndent")===r));let a=null;if(o.previousSibling.getAttribute("listIndent")+1!==r){a=getSiblingListItem(o.previousSibling,{sameIndent:true,direction:"backward",listIndent:r})}t.model.change((t=>{for(const n of s){for(const i of e){if(i.appliesToListItem(n)){const e=a==null?i.defaultValue:a.getAttribute(i.attributeName);t.setAttribute(i.attributeName,e,n)}}}}))}}function JU(t,e){return(n,i)=>{i=i.reverse().filter((t=>t.is("element","listItem")));if(!i.length){return}const o=i[0].getAttribute("listIndent");const r=i[0].getAttribute("listType");let s=i[0].previousSibling;if(s.is("element","listItem")){while(s.getAttribute("listIndent")!==o){s=s.previousSibling}}else{s=null}if(!s){s=i[i.length-1].nextSibling}if(!s||!s.is("element","listItem")){return}if(s.getAttribute("listType")!==r){return}t.model.change((t=>{const n=i.filter((t=>t.getAttribute("listIndent")===o));for(const i of n){for(const n of e){if(n.appliesToListItem(i)){const e=n.attributeName;const o=s.getAttribute(e);t.setAttribute(e,o,i)}}}}))}}function XU(t,e){return n=>{let i=false;const o=oW(t.model.document.differ.getChanges()).filter((t=>t.getAttribute("listType")!=="todo"));if(!o.length){return i}let r=o[o.length-1].nextSibling;if(!r||!r.is("element","listItem")){r=o[0].previousSibling;if(r){const t=o[0].getAttribute("listIndent");while(r.is("element","listItem")&&r.getAttribute("listIndent")!==t){r=r.previousSibling;if(!r){break}}}}for(const t of e){const e=t.attributeName;for(const s of o){if(!t.appliesToListItem(s)){n.removeAttribute(e,s);continue}if(!s.hasAttribute(e)){if(tW(r,s,t)){n.setAttribute(e,r.getAttribute(e),s)}else{n.setAttribute(e,t.defaultValue,s)}i=true}else{const o=s.previousSibling;if(eW(o,s,t.attributeName)){n.setAttribute(e,o.getAttribute(e),s);i=true}}}}return i}}function tW(t,e,n){if(!t){return false}const i=t.getAttribute(n.attributeName);if(!i){return false}if(i==n.defaultValue){return false}if(t.getAttribute("listType")!==e.getAttribute("listType")){return false}return true}function eW(t,e,n){if(!t||!t.is("element","listItem")){return false}if(e.getAttribute("listType")!==t.getAttribute("listType")){return false}const i=t.getAttribute("listIndent");if(i<1||i!==e.getAttribute("listIndent")){return false}const o=t.getAttribute(n);if(!o||o===e.getAttribute(n)){return false}return true}function nW(t){return e=>{const n=oW(t.model.document.differ.getChanges()).filter((t=>t.getAttribute("listType")==="todo"&&(t.hasAttribute("listStyle")||t.hasAttribute("listReversed")||t.hasAttribute("listStart"))));if(!n.length){return false}for(const t of n){e.removeAttribute("listStyle",t);e.removeAttribute("listReversed",t);e.removeAttribute("listStart",t)}return true}}function iW(t){return(e,n)=>{n=n.filter((t=>t.is("element","listItem")));t.model.change((t=>{for(const e of n){t.removeAttribute("listStyle",e)}}))}}function oW(t){const e=[];for(const n of t){const t=rW(n);if(t&&t.is("element","listItem")){e.push(t)}}return e}function rW(t){if(t.type==="attribute"){return t.range.start.nodeAfter}if(t.type==="insert"){return t.position.nodeAfter}return null}class sW extends(null&&Plugin){static get requires(){return[LegacyListPropertiesEditing,ListPropertiesUI]}static get pluginName(){return"LegacyListProperties"}}const aW="todoListChecked";class cW extends(null&&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(aW)));this.isEnabled=!!this._selectedElements.length}_getSelectedItems(){const t=this.editor.model;const e=t.schema;const n=t.document.selection.getFirstRange();const i=n.start.parent;const o=[];if(e.checkAttribute(i,aW)){o.push(i)}for(const t of n.getItems()){if(e.checkAttribute(t,aW)&&!o.includes(t)){o.push(t)}}return o}execute(t={}){this.editor.model.change((e=>{for(const n of this._selectedElements){const i=t.forceValue===undefined?!this.value:t.forceValue;if(i){e.setAttribute(aW,true,n)}else{e.removeAttribute(aW,n)}}}))}}function lW(t,e){return(n,i,o)=>{const r=o.consumable;if(!r.test(i.item,"insert")||!r.test(i.item,"attribute:listType")||!r.test(i.item,"attribute:listIndent")){return}if(i.item.getAttribute("listType")!="todo"){return}const s=i.item;r.consume(s,"insert");r.consume(s,"attribute:listType");r.consume(s,"attribute:listIndent");r.consume(s,"attribute:todoListChecked");const a=o.writer;const c=generateLiInUl(s,o);const l=!!s.getAttribute("todoListChecked");const d=mW(s,a,l,e);const u=a.createContainerElement("span",{class:"todo-list__label__description"});a.addClass("todo-list",c.parent);a.insert(a.createPositionAt(c,0),d);a.insert(a.createPositionAfter(d),u);injectViewList(s,c,o,t)}}function dW(t){return(e,n,i)=>{const o=i.consumable;if(!o.test(n.item,"insert")||!o.test(n.item,"attribute:listType")||!o.test(n.item,"attribute:listIndent")){return}if(n.item.getAttribute("listType")!="todo"){return}const r=n.item;o.consume(r,"insert");o.consume(r,"attribute:listType");o.consume(r,"attribute:listIndent");o.consume(r,"attribute:todoListChecked");const s=i.writer;const a=generateLiInUl(r,i);s.addClass("todo-list",a.parent);const c=s.createContainerElement("label",{class:"todo-list__label"});const l=s.createEmptyElement("input",{type:"checkbox",disabled:"disabled"});const d=s.createContainerElement("span",{class:"todo-list__label__description"});if(r.getAttribute("todoListChecked")){s.setAttribute("checked","checked",l)}s.insert(s.createPositionAt(a,0),c);s.insert(s.createPositionAt(c,0),l);s.insert(s.createPositionAfter(l),d);injectViewList(r,a,i,t)}}const uW=(t,e,n)=>{const i=e.modelCursor;const o=i.parent;const r=e.viewItem;if(r.getAttribute("type")!="checkbox"||o.name!="listItem"||!i.isAtStart){return}if(!n.consumable.consume(r,{name:true})){return}const s=n.writer;s.setAttribute("listType","todo",o);if(e.viewItem.hasAttribute("checked")){s.setAttribute("todoListChecked",true,o)}e.modelRange=s.createRange(i)};function hW(t,e){return(n,i,o)=>{if(!o.consumable.consume(i.item,n.name)){return}const r=o.mapper.toViewElement(i.item);const s=o.writer;const a=pW(r,e);if(i.attributeNewValue=="todo"){const e=!!i.item.getAttribute("todoListChecked");const n=mW(i.item,s,e,t);const o=s.createContainerElement("span",{class:"todo-list__label__description"});const a=s.createRangeIn(r);const c=findNestedList(r);const l=positionAfterUiElements(a.start);const d=c?s.createPositionBefore(c):a.end;const u=s.createRange(l,d);s.addClass("todo-list",r.parent);s.move(u,s.createPositionAt(o,0));s.insert(s.createPositionAt(r,0),n);s.insert(s.createPositionAfter(n),o)}else if(i.attributeOldValue=="todo"){const t=bW(r,e);s.removeClass("todo-list",r.parent);s.remove(a);s.move(s.createRangeIn(t),s.createPositionBefore(t));s.remove(t)}}}function gW(t){return(e,n,i)=>{if(n.item.getAttribute("listType")!="todo"){return}if(!i.consumable.consume(n.item,"attribute:todoListChecked")){return}const{mapper:o,writer:r}=i;const s=!!n.item.getAttribute("todoListChecked");const a=o.toViewElement(n.item);const c=a.getChild(0);const l=mW(n.item,r,s,t);r.insert(r.createPositionAfter(c),l);r.remove(c)}}function fW(t){return(e,n)=>{const i=n.modelPosition;const o=i.parent;if(!o.is("element","listItem")||o.getAttribute("listType")!="todo"){return}const r=n.mapper.toViewElement(o);const s=bW(r,t);if(s){n.viewPosition=n.mapper.findPositionIn(s,i.offset)}}}function mW(t,e,n,i){const o=e.createUIElement("label",{class:"todo-list__label",contenteditable:false},(function(e){const o=createElement(document,"input",{type:"checkbox",tabindex:"-1"});if(n){o.setAttribute("checked","checked")}o.addEventListener("change",(()=>i(t)));const r=this.toDomElement(e);r.appendChild(o);return r}));return o}function pW(t,e){const n=e.createRangeIn(t);for(const t of n){if(t.item.is("uiElement","label")){return t.item}}}function bW(t,e){const n=e.createRangeIn(t);for(const t of n){if(t.item.is("containerElement","span")&&t.item.hasClass("todo-list__label__description")){return t.item}}}const kW=Yc("Ctrl+Enter");class wW extends(null&&Plugin){static get pluginName(){return"LegacyTodoListEditing"}static get requires(){return[LegacyListEditing]}init(){const t=this.editor;const{editing:e,data:n,model:i}=t;i.schema.extend("listItem",{allowAttributes:["todoListChecked"]});i.schema.addAttributeCheck(((t,e)=>{const n=t.last;if(e=="todoListChecked"&&n.name=="listItem"&&n.getAttribute("listType")!="todo"){return false}}));t.commands.add("todoList",new LegacyListCommand(t,"todo"));const o=new LegacyCheckTodoListCommand(t);t.commands.add("checkTodoList",o);t.commands.add("todoListCheck",o);n.downcastDispatcher.on("insert:listItem",dataModelViewInsertion(i),{priority:"high"});n.upcastDispatcher.on("element:input",dataViewModelCheckmarkInsertion,{priority:"high"});e.downcastDispatcher.on("insert:listItem",modelViewInsertion(i,(t=>this._handleCheckmarkChange(t))),{priority:"high"});e.downcastDispatcher.on("attribute:listType:listItem",modelViewChangeType((t=>this._handleCheckmarkChange(t)),e.view));e.downcastDispatcher.on("attribute:todoListChecked:listItem",modelViewChangeChecked((t=>this._handleCheckmarkChange(t))));e.mapper.on("modelToViewPosition",mapModelToViewPosition(e.view));n.mapper.on("modelToViewPosition",mapModelToViewPosition(e.view));this.listenTo(e.view.document,"arrowKey",AW(i,t.locale),{context:"li"});this.listenTo(e.view.document,"keydown",((e,n)=>{if(getCode(n)===kW){t.execute("checkTodoList");e.stop()}}),{priority:"high"});const r=new Set;this.listenTo(i,"applyOperation",((t,e)=>{const n=e[0];if(n.type=="rename"&&n.oldName=="listItem"){const t=n.position.nodeAfter;if(t.hasAttribute("todoListChecked")){r.add(t)}}else if(n.type=="changeAttribute"&&n.key=="listType"&&n.oldValue==="todo"){for(const t of n.range.getItems()){if(t.hasAttribute("todoListChecked")&&t.getAttribute("listType")!=="todo"){r.add(t)}}}}));i.document.registerPostFixer((t=>{let e=false;for(const n of r){t.removeAttribute("todoListChecked",n);e=true}r.clear();return e}))}_handleCheckmarkChange(t){const e=this.editor;const n=e.model;const i=Array.from(n.document.selection.getRanges());n.change((n=>{n.setSelection(t,"end");e.execute("checkTodoList");n.setSelection(i)}))}}function AW(t,e){return(n,i)=>{const o=getLocalizedArrowKeyCodeDirection(i.keyCode,e.contentLanguageDirection);if(o!="left"){return}const r=t.schema;const s=t.document.selection;if(!s.isCollapsed){return}const a=s.getFirstPosition();const c=a.parent;if(c.name==="listItem"&&c.getAttribute("listType")=="todo"&&a.isAtStart){const e=r.getNearestSelectionRange(t.createPositionBefore(c),"backward");if(e){t.change((t=>t.setSelection(e)))}i.preventDefault();i.stopPropagation();n.stop()}}}class CW extends(null&&Plugin){static get requires(){return[LegacyTodoListEditing,TodoListUI]}static get pluginName(){return"LegacyTodoList"}}class _W extends(null&&Plugin){static get pluginName(){return"AdjacentListsSupport"}init(){const t=this.editor;const e=t.model;e.schema.register("listSeparator",{allowWhere:"$block",isBlock:true});t.conversion.for("upcast").add((t=>{t.on("element:ol",vW());t.on("element:ul",vW())})).elementToElement({model:"listSeparator",view:"ck-list-separator"});t.conversion.for("editingDowncast").elementToElement({model:"listSeparator",view:{name:"div",classes:["ck-list-separator","ck-hidden"]}});t.conversion.for("dataDowncast").elementToElement({model:"listSeparator",view:(t,e)=>{const n=e.writer.createContainerElement("ck-list-separator");e.writer.setCustomProperty("dataPipeline:transparentRendering",true,n);n.getFillerOffset=()=>null;return n}})}}function vW(){return(t,e,n)=>{const i=e.viewItem;const o=i.nextSibling;if(!o){return}if(i.name!==o.name){return}if(!e.modelRange){Object.assign(e,n.convertChildren(e.viewItem,e.modelCursor))}const r=n.writer;const s=r.createElement("listSeparator");if(!n.safeInsert(s,e.modelCursor)){return}const a=n.getSplitParts(s);e.modelRange=r.createRange(e.modelRange.start,r.createPositionAfter(a[a.length-1]));n.updateConversionResult(s,e)}}class yW extends(null&&Plugin){static get requires(){return[List]}static get pluginName(){return"DocumentList"}constructor(t){super(t);logWarning("plugin-obsolete-documentlist",{pluginName:"DocumentList"})}}class xW extends(null&&Plugin){static get requires(){return[ListProperties]}static get pluginName(){return"DocumentListProperties"}constructor(t){super(t);logWarning("plugin-obsolete-documentlistproperties",{pluginName:"DocumentListProperties"})}}class EW extends(null&&Plugin){static get requires(){return[TodoList]}static get pluginName(){return"TodoDocumentList"}constructor(t){super(t);logWarning("plugin-obsolete-tododocumentlist",{pluginName:"TodoDocumentList"})}}function DW(t,e){const n=(n,i,o)=>{if(!o.consumable.consume(i.item,n.name)){return}const r=i.attributeNewValue;const s=o.writer;const a=o.mapper.toViewElement(i.item);const c=[...a.getChildren()].find((t=>t.getCustomProperty("media-content")));s.remove(c);const l=t.getMediaViewElement(s,r,e);s.insert(s.createPositionAt(a,0),l)};return t=>{t.on("attribute:url:media",n)}}function TW(t,e,n){e.setCustomProperty("media",true,t);return vM(t,e,{label:n})}function IW(t){const e=t.getSelectedElement();if(e&&SW(e)){return e}return null}function SW(t){return!!t.getCustomProperty("media")&&isWidget(t)}function BW(t,e,n,i){return t.createContainerElement("figure",{class:"media"},[e.getMediaViewElement(t,n,i),t.createSlot()])}function MW(t){const e=t.getSelectedElement();if(e&&e.is("element","media")){return e}return null}function NW(t,e,n,i){t.change((o=>{const r=o.createElement("media",{url:e});t.insertObject(r,n,null,{setSelection:"on",findOptimalPosition:i?"auto":undefined})}))}class PW extends kh{refresh(){const t=this.editor.model;const e=t.document.selection;const n=MW(e);this.value=n?n.getAttribute("url"):undefined;this.isEnabled=zW(e)||LW(e,t)}execute(t){const e=this.editor.model;const n=e.document.selection;const i=MW(n);if(i){e.change((e=>{e.setAttribute("url",t,i)}))}else{NW(e,t,n,true)}}}function LW(t,e){const n=SM(t,e);let i=n.start.parent;if(i.isEmpty&&!e.schema.isLimit(i)){i=i.parent}return e.schema.checkChild(i,"media")}function zW(t){const e=t.getSelectedElement();return!!e&&e.name==="media"}const VW='';const RW="0 0 64 42";class OW{constructor(t,e){const n=e.providers;const i=e.extraProviders||[];const o=new Set(e.removeProviders);const r=n.concat(i).filter((t=>{const e=t.name;if(!e){L("media-embed-no-provider-name",{provider:t});return false}return!o.has(e)}));this.locale=t;this.providerDefinitions=r}hasMedia(t){return!!this._getMedia(t)}getMediaViewElement(t,e,n){return this._getMedia(e).getViewElement(t,n)}_getMedia(t){if(!t){return new FW(this.locale)}t=t.trim();for(const e of this.providerDefinitions){const n=e.html;const i=ol(e.url);for(const e of i){const i=this._getUrlMatches(t,e);if(i){return new FW(this.locale,t,i,n)}}}return null}_getUrlMatches(t,e){let n=t.match(e);if(n){return n}let i=t.replace(/^https?:\/\//,"");n=i.match(e);if(n){return n}i=i.replace(/^www\./,"");n=i.match(e);if(n){return n}return null}}class FW{constructor(t,e,n,i){this.url=this._getValidUrl(e);this._locale=t;this._match=n;this._previewRenderer=i}getViewElement(t,e){const n={};let i;if(e.renderForEditingView||e.renderMediaPreview&&this.url&&this._previewRenderer){if(this.url){n["data-oembed-url"]=this.url}if(e.renderForEditingView){n.class="ck-media__wrapper"}const o=this._getPreviewHtml(e);i=t.createRawElement("div",n,((t,e)=>{e.setContentOf(t,o)}))}else{if(this.url){n.url=this.url}i=t.createEmptyElement(e.elementName,n)}t.setCustomProperty("media-content",true,i);return i}_getPreviewHtml(t){if(this._previewRenderer){return this._previewRenderer(this._match)}else{if(this.url&&t.renderForEditingView){return this._getPlaceholderHtml()}return""}}_getPlaceholderHtml(){const t=new Cd;const e=this._locale.t;t.content=VW;t.viewBox=RW;const n=new Hl({tag:"div",attributes:{class:"ck ck-reset_all ck-media__placeholder"},children:[{tag:"div",attributes:{class:"ck-media__placeholder__icon"},children:[t]},{tag:"a",attributes:{class:"ck-media__placeholder__url",target:"_blank",rel:"noopener noreferrer",href:this.url,"data-cke-tooltip-text":e("Open media in new tab")},children:[{tag:"span",attributes:{class:"ck-media__placeholder__url__text"},children:[this.url]}]}]}).render();return n.outerHTML}_getValidUrl(t){if(!t){return null}if(t.match(/^https?/)){return t}return"https://"+t}}var jW=n(1922);var HW={injectType:"singletonStyleTag",attributes:{"data-cke":true}};HW.insert="head";HW.singleton=true;var UW=Ll()(jW.Z,HW);const WW=jW.Z.locals||{};class GW extends ph{static get pluginName(){return"MediaEmbedEditing"}constructor(t){super(t);t.config.define("mediaEmbed",{elementName:"oembed",providers:[{name:"dailymotion",url:[/^dailymotion\.com\/video\/(\w+)/,/^dai.ly\/(\w+)/],html:t=>{const e=t[1];return'
'+`"+"
"}},{name:"spotify",url:[/^open\.spotify\.com\/(artist\/\w+)/,/^open\.spotify\.com\/(album\/\w+)/,/^open\.spotify\.com\/(track\/\w+)/],html:t=>{const e=t[1];return'
'+`"+"
"}},{name:"youtube",url:[/^(?:m\.)?youtube\.com\/watch\?v=([\w-]+)(?:&t=(\d+))?/,/^(?:m\.)?youtube\.com\/v\/([\w-]+)(?:\?t=(\d+))?/,/^youtube\.com\/embed\/([\w-]+)(?:\?start=(\d+))?/,/^youtu\.be\/([\w-]+)(?:\?t=(\d+))?/],html:t=>{const e=t[1];const n=t[2];return'
'+`"+"
"}},{name:"vimeo",url:[/^vimeo\.com\/(\d+)/,/^vimeo\.com\/[^/]+\/[^/]+\/video\/(\d+)/,/^vimeo\.com\/album\/[^/]+\/video\/(\d+)/,/^vimeo\.com\/channels\/[^/]+\/(\d+)/,/^vimeo\.com\/groups\/[^/]+\/videos\/(\d+)/,/^vimeo\.com\/ondemand\/[^/]+\/(\d+)/,/^player\.vimeo\.com\/video\/(\d+)/],html:t=>{const e=t[1];return'
'+`"+"
"}},{name:"instagram",url:/^instagram\.com\/p\/(\w+)/},{name:"twitter",url:/^twitter\.com/},{name:"googleMaps",url:[/^google\.com\/maps/,/^goo\.gl\/maps/,/^maps\.google\.com/,/^maps\.app\.goo\.gl/]},{name:"flickr",url:/^flickr\.com/},{name:"facebook",url:/^facebook\.com/}]});this.registry=new OW(t.locale,t.config.get("mediaEmbed"))}init(){const t=this.editor;const e=t.model.schema;const n=t.t;const i=t.conversion;const o=t.config.get("mediaEmbed.previewsInData");const r=t.config.get("mediaEmbed.elementName");const s=this.registry;t.commands.add("mediaEmbed",new PW(t));e.register("media",{inheritAllFrom:"$blockObject",allowAttributes:["url"]});i.for("dataDowncast").elementToStructure({model:"media",view:(t,{writer:e})=>{const n=t.getAttribute("url");return BW(e,s,n,{elementName:r,renderMediaPreview:!!n&&o})}});i.for("dataDowncast").add(DW(s,{elementName:r,renderMediaPreview:o}));i.for("editingDowncast").elementToStructure({model:"media",view:(t,{writer:e})=>{const i=t.getAttribute("url");const o=BW(e,s,i,{elementName:r,renderForEditingView:true});return TW(o,e,n("media widget"))}});i.for("editingDowncast").add(DW(s,{elementName:r,renderForEditingView:true}));i.for("upcast").elementToElement({view:t=>["oembed",r].includes(t.name)&&t.getAttribute("url")?{name:true}:null,model:(t,{writer:e})=>{const n=t.getAttribute("url");if(s.hasMedia(n)){return e.createElement("media",{url:n})}return null}}).elementToElement({view:{name:"div",attributes:{"data-oembed-url":true}},model:(t,{writer:e})=>{const n=t.getAttribute("data-oembed-url");if(s.hasMedia(n)){return e.createElement("media",{url:n})}return null}}).add((t=>{const e=(t,e,n)=>{if(!n.consumable.consume(e.viewItem,{name:true,classes:"media"})){return}const{modelRange:i,modelCursor:o}=n.convertChildren(e.viewItem,e.modelCursor);e.modelRange=i;e.modelCursor=o;const r=ml(i.getItems());if(!r){n.consumable.revert(e.viewItem,{name:true,classes:"media"})}};t.on("element:figure",e)}))}}const qW=/^(?:http(s)?:\/\/)?[\w-]+\.[\w-.~:/?#[\]@!$&'()*+,;=%]+$/;class ZW extends ph{static get requires(){return[tP,cS,mP]}static get pluginName(){return"AutoMediaEmbed"}constructor(t){super(t);this._timeoutId=null;this._positionToInsert=null}init(){const t=this.editor;const e=t.model.document;const n=t.plugins.get("ClipboardPipeline");this.listenTo(n,"inputTransformation",(()=>{const t=e.selection.getFirstRange();const n=mC.fromPosition(t.start);n.stickiness="toPrevious";const i=mC.fromPosition(t.end);i.stickiness="toNext";e.once("change:data",(()=>{this._embedMediaBetweenPositions(n,i);n.detach();i.detach()}),{priority:"high"})}));const i=t.commands.get("undo");i.on("execute",(()=>{if(this._timeoutId){nc.window.clearTimeout(this._timeoutId);this._positionToInsert.detach();this._timeoutId=null;this._positionToInsert=null}}),{priority:"high"})}_embedMediaBetweenPositions(t,e){const n=this.editor;const i=n.plugins.get(GW).registry;const o=new Ak(t,e);const r=o.getWalker({ignoreElementEnd:true});let s="";for(const t of r){if(t.item.is("$textProxy")){s+=t.item.data}}s=s.trim();if(!s.match(qW)){o.detach();return}if(!i.hasMedia(s)){o.detach();return}const a=n.commands.get("mediaEmbed");if(!a.isEnabled){o.detach();return}this._positionToInsert=mC.fromPosition(t);this._timeoutId=nc.window.setTimeout((()=>{n.model.change((t=>{this._timeoutId=null;t.remove(o);o.detach();let e=null;if(this._positionToInsert.root.rootName!=="$graveyard"){e=this._positionToInsert}NW(n.model,s,e,false);this._positionToInsert.detach();this._positionToInsert=null}));n.plugins.get(cS).requestUndoOnBackspace()}),100)}}var $W=n(7138);var KW={injectType:"singletonStyleTag",attributes:{"data-cke":true}};KW.insert="head";KW.singleton=true;var YW=Ll()($W.Z,KW);const QW=$W.Z.locals||{};class JW extends Fl{constructor(t,e){super(e);const n=e.t;this.focusTracker=new pl;this.keystrokes=new bl;this.set("mediaURLInputValue","");this.urlInputView=this._createUrlInput();this.saveButtonView=this._createButton(n("Save"),Dy.check,"ck-button-save");this.saveButtonView.type="submit";this.saveButtonView.bind("isEnabled").to(this,"mediaURLInputValue",(t=>!!t));this.cancelButtonView=this._createButton(n("Cancel"),Dy.cancel,"ck-button-cancel","cancel");this._focusables=new Ml;this._focusCycler=new ch({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}});this._validators=t;this.setTemplate({tag:"form",attributes:{class:["ck","ck-media-form","ck-responsive-form"],tabindex:"-1"},children:[this.urlInputView,this.saveButtonView,this.cancelButtonView]})}render(){super.render();o({view:this});const t=[this.urlInputView,this.saveButtonView,this.cancelButtonView];t.forEach((t=>{this._focusables.add(t);this.focusTracker.add(t.element)}));this.keystrokes.listenTo(this.element);const e=t=>t.stopPropagation();this.keystrokes.set("arrowright",e);this.keystrokes.set("arrowleft",e);this.keystrokes.set("arrowup",e);this.keystrokes.set("arrowdown",e)}destroy(){super.destroy();this.focusTracker.destroy();this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}get url(){return this.urlInputView.fieldView.element.value.trim()}set url(t){this.urlInputView.fieldView.element.value=t.trim()}isValid(){this.resetFormStatus();for(const t of this._validators){const e=t(this);if(e){this.urlInputView.errorText=e;return false}}return true}resetFormStatus(){this.urlInputView.errorText=null;this.urlInputView.infoText=this._urlInputViewInfoDefault}_createUrlInput(){const t=this.locale.t;const e=new Ru(this.locale,wx);const n=e.fieldView;this._urlInputViewInfoDefault=t("Paste the media URL in the input.");this._urlInputViewInfoTip=t("Tip: Paste the URL into the content to embed faster.");e.label=t("Media URL");e.infoText=this._urlInputViewInfoDefault;n.on("input",(()=>{e.infoText=n.element.value?this._urlInputViewInfoTip:this._urlInputViewInfoDefault;this.mediaURLInputValue=n.element.value.trim()}));return e}_createButton(t,e,n,i){const o=new Dd(this.locale);o.set({label:t,icon:e,tooltip:true});o.extendTemplate({attributes:{class:n}});if(i){o.delegate("execute").to(this,i)}return o}}const XW='';class tG extends ph{static get requires(){return[GW]}static get pluginName(){return"MediaEmbedUI"}init(){const t=this.editor;const e=t.commands.get("mediaEmbed");t.ui.componentFactory.add("mediaEmbed",(t=>{const n=rx(t);this._setUpDropdown(n,e);return n}))}_setUpDropdown(t,n){const i=this.editor;const o=i.t;const r=t.buttonView;const s=i.plugins.get(GW).registry;t.once("change:isOpen",(()=>{const o=new(e(JW))(eG(i.t,s),i.locale);t.panelView.children.add(o);r.on("open",(()=>{o.disableCssTransitions();o.url=n.value||"";o.urlInputView.fieldView.select();o.enableCssTransitions()}),{priority:"low"});t.on("submit",(()=>{if(o.isValid()){i.execute("mediaEmbed",o.url);i.editing.view.focus()}}));t.on("change:isOpen",(()=>o.resetFormStatus()));t.on("cancel",(()=>{i.editing.view.focus()}));o.delegate("submit","cancel").to(t);o.urlInputView.fieldView.bind("value").to(n,"value");o.urlInputView.bind("isEnabled").to(n,"isEnabled")}));t.bind("isEnabled").to(n);r.set({label:o("Insert media"),icon:XW,tooltip:true})}}function eG(t,e){return[e=>{if(!e.url.length){return t("The URL must not be empty.")}},n=>{if(!e.hasMedia(n.url)){return t("This media URL is not supported.")}}]}var nG=n(8705);var iG={injectType:"singletonStyleTag",attributes:{"data-cke":true}};iG.insert="head";iG.singleton=true;var oG=Ll()(nG.Z,iG);const rG=nG.Z.locals||{};class sG extends ph{static get requires(){return[GW,tG,ZW,lN]}static get pluginName(){return"MediaEmbed"}}class aG extends(null&&Plugin){static get requires(){return[WidgetToolbarRepository]}static get pluginName(){return"MediaEmbedToolbar"}afterInit(){const t=this.editor;const e=t.t;const n=t.plugins.get(WidgetToolbarRepository);n.register("mediaEmbed",{ariaLabel:e("Media toolbar"),items:t.config.get("mediaEmbed.toolbar")||[],getRelatedElement:getSelectedMediaViewWidget})}}function cG(t,e){if(!t.childCount){return}const n=new k_(t.document);const i=dG(t,n);if(!i.length){return}let o=null;let r=1;i.forEach(((t,s)=>{const a=wG(i[s-1],t);const c=a?null:i[s-1];const l=CG(c,t);if(a){o=null;r=1}if(!o||l!==0){const i=uG(t,e);if(!o){o=mG(i,t.element,n)}else if(t.indent>r){const t=o.getChild(o.childCount-1);const e=t.getChild(t.childCount-1);o=mG(i,e,n);r+=1}else if(t.indent1){n.setAttribute("start",t.startIndex,o)}return o}function pG(t,e){kG(t,e);e.removeStyle("text-indent",t);return e.rename("li",t)}function bG(t){const e={};const n=t.getStyle("mso-list");if(n){const t=n.match(/(^|\s{1,100})l(\d+)/i);const i=n.match(/\s{0,100}lfo(\d+)/i);const o=n.match(/\s{0,100}level(\d+)/i);if(t&&i&&o){e.id=t[2];e.order=i[1];e.indent=parseInt(o[1])}}return e}function kG(t,e){const n=new qh({name:"span",styles:{"mso-list":"Ignore"}});const i=e.createRangeIn(t);for(const t of i){if(t.type==="elementStart"&&n.match(t.item)){e.remove(t.item)}}}function wG(t,e){if(!t){return true}if(t.id!==e.id){if(e.indent-t.indent===1){return false}return true}const n=e.element.previousSibling;if(!n){return true}return!AG(n)}function AG(t){return t.is("element","ol")||t.is("element","ul")}function CG(t,e){return t?e.indent-t.indent:e.indent-1}function _G(t,e){const n=t.getAncestors({parentFirst:true});let i=null;let o=0;for(const t of n){if(t.is("element","ul")||t.is("element","ol")){o++}if(o===e){i=t;break}}return i}function vG(t,e){if(!t.childCount){return}const n=new k_(t.document);const i=xG(t,n);EG(i,t,n);TG(i,t,n);DG(t,n);const o=IG(t,n);if(o.length){BG(o,SG(e),n)}}function yG(t){return btoa(t.match(/\w{2}/g).map((t=>String.fromCharCode(parseInt(t,16)))).join(""))}function xG(t,e){const n=e.createRangeIn(t);const i=new qh({name:/v:(.+)/});const o=[];for(const t of n){if(t.type!="elementStart"){continue}const e=t.item;const n=e.previousSibling;const r=n&&n.is("element")?n.name:null;if(i.match(e)&&e.getAttribute("o:gfxdata")&&r!=="v:shapetype"){o.push(t.item.getAttribute("id"))}}return o}function EG(t,e,n){const i=n.createRangeIn(e);const o=new qh({name:"img"});const r=[];for(const e of i){if(e.item.is("element")&&o.match(e.item)){const n=e.item;const i=n.getAttribute("v:shapes")?n.getAttribute("v:shapes").split(" "):[];if(i.length&&i.every((e=>t.indexOf(e)>-1))){r.push(n)}else if(!n.getAttribute("src")){r.push(n)}}}for(const t of r){n.remove(t)}}function DG(t,e){const n=e.createRangeIn(t);const i=new qh({name:/v:(.+)/});const o=[];for(const t of n){if(t.type=="elementStart"&&i.match(t.item)){o.push(t.item)}}for(const t of o){e.remove(t)}}function TG(t,e,n){const i=n.createRangeIn(e);const o=[];for(const e of i){if(e.type=="elementStart"&&e.item.is("element","v:shape")){const n=e.item.getAttribute("id");if(t.includes(n)){continue}if(!r(e.item.parent.getChildren(),n)){o.push(e.item)}}}for(const t of o){const e={src:s(t)};if(t.hasAttribute("alt")){e.alt=t.getAttribute("alt")}const i=n.createElement("img",e);n.insertChild(t.index+1,i,t.parent)}function r(t,e){for(const n of t){if(n.is("element")){if(n.name=="img"&&n.getAttribute("v:shapes")==e){return true}if(r(n.getChildren(),e)){return true}}}return false}function s(t){for(const e of t.getChildren()){if(e.is("element")&&e.getAttribute("src")){return e.getAttribute("src")}}}}function IG(t,e){const n=e.createRangeIn(t);const i=new qh({name:"img"});const o=[];for(const t of n){if(t.item.is("element")&&i.match(t.item)){if(t.item.getAttribute("src").startsWith("file://")){o.push(t.item)}}}return o}function SG(t){if(!t){return[]}const e=/{\\pict[\s\S]+?\\bliptag-?\d+(\\blipupi-?\d+)?({\\\*\\blipuid\s?[\da-fA-F]+)?[\s}]*?/;const n=new RegExp("(?:("+e.source+"))([\\da-fA-F\\s]+)\\}","g");const i=t.match(n);const o=[];if(i){for(const t of i){let n=false;if(t.includes("\\pngblip")){n="image/png"}else if(t.includes("\\jpegblip")){n="image/jpeg"}if(n){o.push({hex:t.replace(e,"").replace(/[^\da-fA-F]/g,""),type:n})}}}return o}function BG(t,e,n){if(t.length===e.length){for(let i=0;i/i;const PG=/xmlns:o="urn:schemas-microsoft-com/i;class LG{constructor(t){this.document=t}isActive(t){return NG.test(t)||PG.test(t)}execute(t){const{body:e,stylesString:n}=t._parsedData;cG(e,n);vG(e,t.dataTransfer.getData("text/rtf"));MG(e);t.content=e}}function zG(t,e){for(const n of t.getChildren()){if(n.is("element","b")&&n.getStyle("font-weight")==="normal"){const i=t.getChildIndex(n);e.remove(n);e.insertChild(i,n.getChildren(),t)}}}function VG(t,e){const n=new um(e.document.stylesProcessor);const i=new fp(n,{renderingMode:"data"});const o=i.blockElements;const r=i.inlineObjectElements;const s=[];for(const n of e.createRangeIn(t)){const t=n.item;if(t.is("element","br")){const n=RG(t,"forward",e,{blockElements:o,inlineObjectElements:r});const i=RG(t,"backward",e,{blockElements:o,inlineObjectElements:r});const a=OG(n,o);const c=OG(i,o);if(c||a){s.push(t)}}}for(const t of s){if(t.hasClass("Apple-interchange-newline")){e.remove(t)}else{e.replace(t,e.createElement("p"))}}}function RG(t,e,n,{blockElements:i,inlineObjectElements:o}){let r=n.createPositionAt(t,e=="forward"?"after":"before");r=r.getLastMatchingPosition((({item:t})=>t.is("element")&&!i.includes(t.name)&&!o.includes(t.name)),{direction:e});return e=="forward"?r.nodeAfter:r.nodeBefore}function OG(t,e){return!!t&&t.is("element")&&e.includes(t.name)}const FG=/id=("|')docs-internal-guid-[-0-9a-f]+("|')/i;class jG{constructor(t){this.document=t}isActive(t){return FG.test(t)}execute(t){const e=new k_(this.document);const{body:n}=t._parsedData;zG(n,e);lG(n,e);VG(n,e);t.content=n}}function HG(t,e){for(const n of t.getChildren()){if(n.is("element","table")&&n.hasAttribute("xmlns")){e.removeAttribute("xmlns",n)}}}function UG(t,e){for(const n of t.getChildren()){if(n.is("element","google-sheets-html-origin")){const i=t.getChildIndex(n);e.remove(n);e.insertChild(i,n.getChildren(),t)}}}function WG(t,e){for(const n of t.getChildren()){if(n.is("element","table")&&n.getStyle("width")==="0px"){e.removeStyle("width",n)}}}function GG(t,e){for(const n of Array.from(t.getChildren())){if(n.is("element","style")){e.remove(n)}}}const qG=/[^\S\r\n]*?)[\r\n]+([^\S\r\n]*<\/span>)/g,"$1$2").replace(/<\/span>/g,"").replace(/()[\r\n]+(<\/span>)/g,"$1 $2").replace(/ <\//g," <\/o:p>/g," ").replace(/( |\u00A0)<\/o:p>/g,"").replace(/>([^\S\r\n]*[\r\n]\s*)<")}function KG(t){t.querySelectorAll("span[style*=spacerun]").forEach((t=>{const e=t;const n=e.innerText.length||0;e.innerText=Array(n+1).join("  ").substr(0,n)}))}function YG(t){return t.replace(/(\s+)<\/span>/g,((t,e)=>e.length===1?" ":Array(e.length+1).join("  ").substr(0,e.length)))}function QG(t,e){const n=new DOMParser;t=t.replace(/k<^`Yk$)t!W?Ka}OXI+&T9^iUZp`>=JB9=6IM5U= z5MWrSO|VYFICKwI#Gmsv5XxWhnuTOR2aK?kS0_}kbD6GSGgZST(Q>OFyb?&Mmo}tq z-v@@4D)SHxjCa~lA*f|l4#3$>JNE8KJzQD#esdDn^b_QFaw*+ms_qV~!{F#X_di5T|f&YH`bWpqp6_Y(dn9 z5L_PrkvMr~2M}m|ib6uJ{2(_|#+T?Li#gNre(G2}f05FqVQ+40s|C`1^dj$cOtl!( zsV0kapF3#d`b9NzPgj1^SRRxd@lz*$iv?UaP9}lh@_Pt`+75i?dOi&WdaejpRjF(Y zdkBgr+cAZoaJ+x#O*C^})Nt^LBeGJN^bkgknC@v5jAwu~G7pqBdq^fd5x#+Oll~CW zhIH&Q?>hx=uf-zV&>w+`jtG2}^an(J=J^U8ERwUXA_lrV_C#vxxQyW#RZroC-$FwWJYt z%z~B}d`@!(iRJv+9}VX4Z=V}9hC`1te5nv2a+TFIf+bE2UoJ{*jg0lj!b9e?hoEN~ zZ%i+G<5`~`VdbZ87`6QV4xZ-G(sd7tmu7NaP$C#EJT0m$Ike>$u^4MTJa;fz)0esU zv9dZFPY0J61>8_+X1mt+LOw@2RSF35UQOh>kbjVk*VIy8+D>Dw@G9}sE%Z}|r-(LQ!070*M^WSn981O0VAu%^b1HF= z^Wi0>&xhbO)NP_5*bs?4WC=xvd%zxEJY<9yg?!En@=KYlrYHCnkB_-0CZyh^%5y`} zuVf@rJe|%>;5pCj6l!k|kM@uEKkl9Ezj?O*X8-uJ1H4A*OU`SE*KhWox6-c#pHccg z&q2sIoyjnJ0x#R&+-!1wA_2wbza2gfHUj-m^|!zkdB_zt1xrE{KO-JEVlW|v;P$j6 zf+zAMPZV>o%Pfa-HMS?soKjuF840~b1}+?q8rG3^_DS-g5{L%9Jmi_?aF!(=AOR)C z40>sgtQ@+q<|UK8Kvf1$g{w7nm!k!PNmW?FZfswb;!T6dgW?+|U-Vjq(_d1d)R;6B z`=o^f>7_6B62?{T^IlJdHz0NV3`xBiR585GfHgz-2J0o*1ceSBtgrD!^7|NGS0y0` zs~F(`f|`k=9n3kzP0d*^uV6+roSqEZK*N18F7_Ora>e1HcxQ< z2tC0=tQ9sT38z*#aWh|=I-rV0g;XjV#obiZX3OQ**u`Uw8bvuC#T{KTe+Al}CG(}~ z$?k!YR?~As@!GZb6gsH#;8jpYc3=rhTsCc>-i14M$#Ul-NccQXH(tD7V=x6FI`5G) zO%>hhshzM|Wh!)~z?vm$QlhC}+dAE)*==R}((n4!dJ}@8L2z0-?Kg|+6s{(RyW#uu(Iys|c{5$`9y3?n)Y5$kC`U9b0} zjjM4QxLaA-%!n0r55{7UhN{>2H8CAFo?5h+WKf!JV$z8GG9{!>7-KWPnV@^Ka2XgK z!NhLf_Y*&XX44j3cGY+y>r>TrEZ)IId1?4@ro-~Sok1WJLL)J9{cbztE87?x$tM3f zEljOZ0*~>t%vT~-#h3TAXthx6cUW0JmHHZ@$(mxX4+V-D4RhNu-})w|1&B@(6|}i$ z-|=Bs@rlc7AzgP+B*hsTM_b0(lbWbjEduhC9T)}+{#699ahJ<=E7UADrH2D)mdi#I z3bK`ZgM_KY8vhs9uOA)C>(`Ia?eF~}SQR24mcl+SmWogNriD*4(i?LszzBu1%f>5| zUA~yXPmo=VjdfJ3e!}c0c*Dy>7^Xp?93KzLT3@gsToejFl2ji{#rf%tm1Hxm5C1UF zi#W-mN|wSYzuwSN0EQ1zG`YQqiMNoi#grB3!R<&0vIQ)$eeO17P^uk#kQ(SO-Btmz z^87ThX2(6OciYO?S}~uj;g#!zs_>`JlshKTWG-WzXLp2bMBNN%w1zDtM?44*CRdni z^)PUilz1E8)=KPNX3UkfIkx>XcGJ83d)tEPJ27&lhlF=fyOUv`ih4Deg!+U9g^(X6sMqecsoCac zBh7iQat~ije61-_h6SD8&9T_oZEU_8_kB?Yt4NgHX%U_2%hIqEI^H!2&{}uuW??7h zjbS78>4W1kWJ8fSLxINQBvosUfYdCOb~Kl9r?{;574_cftUG*3b71(S%cfAj7iyWU zbv@aVh~&(cPqSRePJzDRYqT&6t5np)EDxAqBpYEG#zW107wdKD zs#oai+`d=_s}wE@!^xEw7pxt#UQ+$8XUAaC5fhxLl;*Z&5g_!}RkHl3)6!C4ISvJ; z?NC1J@{`A_r7S>=m+xC?BW*UdE0;Cr;JZK@~DRM^b>YHizeziVN2-r271I641R;p}~v$BZ=apsCZEM zy`Wp=KP(oqco>z^4-PdvS3dwp!^~a4#MM%6@pCQ3uagmMychYoE^n;$C>HM1C@&u7u{`vvZj@Hv$&2G(C-7^~3m^5I(+m5`dQ5GiSfIO4? z^5ECWC>sa+@Z2X4#Q%z)!|G5Zb~y(j^GB5&`ttbNWF*G}&tr}K))6iW0nfyL~H)Ml&^Xt$K#;sn6 z68J?lk%PM-y|N5$eHBW$^$+?tLyEe26v}ckIJy&7(dppp5O-?7-@n!GA1PXQbaZt0 z=;#&_!CSX(e|78DT_mJ;zwRI1{raog_=lF_tJ_0)Pkh}2xw-ARQZ5Es_;4N-56SiE zuo`6zngkMkQ`W7!P}c1`R8}>Tom+R^6#f1YBn_cj(Jbzuz~7*~bv?w+<*{ z{44C<`0&9~7MKzVE;I>=uHA4}XFhd=HOg%A&(x%HIN}uG#8G-=2K|@!j%u5Kl2)b0=7JYs= zWc!?ZaE`gEh_Vti1M{o{Pg%)CcK%pKS(Q{5oh+|9QAcG|XP=J5TeTjAG$pY)C>HgZ z2plavE}Pd;Z_EshlNi)e>2%UX_SWnDNs2axbZOYfYK+3@0>{amk}9`Rk-VeNkxnuCy4`lbW^zNX5vD!1gaHA}}0;KMOPl zoJJ*T|Kp!iFZ4bx@ejl;!Gds^%)Bv!T;)_KPP<8lOgs8i^NK2kgSIL>^&&7&ofm=C zGI<)0!u6%ENisAMFFNwtu;0psnKV#n{wFrex!8?#gZ(|SX|Ir z=w^;a0+p>2io+veE8!rJAYUa^r){3f?s-&XzL(~cD3zU9E($q`Dj9cl(vC)K9qf6B z-ut=Sdx2^Hp%d)s1bg$S+&h&r+q1>&MOnOeo}}sCsoW!}ZH(y2bGesEfX`Thb!!*O zev?YzbC#vt`-dG0Ea4xGj_NuSS>k)TjN-26%9w2lHH`qePM0E2m8u56crnI$rF_Iy z#;i=hgBMXC%i$i&QExoxn|HHvV-Ca0f*I`1Qgp-4)y&f74PSfm{HOmRJ_OgCKI*NA z``JAW8G8)6Y6FBv#Z^2_cUZfE!+42nR@=Pl4n5-PGg4@Yep1P^(m3hH&zI3cE9B_V zSR2(KEjJEF*Ip8PDh&Ynzt10ku4Iu#>H8dCU$Q9Gr6~|4C$&yv^R=fgKPHQXj1m4& zmH_#n(-VI3rOPQ6!jFG)>E+fhHS6dfMK=#)SrvTdzi*kCf6PiIuR zB5#mvniOT#nrhTj+7fD4ZcC;#b;&8X&H`FY&eB0U**Ja~Wf%Ua0@voX{xs0nu9qim z-{CY_i_GNx&B*myf(ePkSxoXYC3@6};`T(*&a>t{26z2Y5`uFgrY~S;S-x>daoaisBet&xVRrfhz{= z%0SjZ(~{^4vIw_HN)5{3V{EwYX-o|8%}Qareb{HRG9w-pGdCPSVg@AMP8XgA+oqkP| zXC4tpG6YO@^){)ZhTCU6A4?O=OZdZq8I3~lLAOR>F(#+GgN%xqjA!R$aZXJ0%w#{o-W&z-x@ zYuv45tyUZy7$k}v`~Z1Ig;(oKnE^~%8oU{+zmphV<}wz6&i>qBOp*Rl-c(w;tQcH; z`F*%tZ+KtJocImi-}ZBgU^dR6RvP&?8f3CWNS?yQMFBtwr#gomuML}s}GB(!T} zVX@L(Km!RW!jx#Du!GsWbg4C@?I_l`2SHA3tP0Y&DqI} z3>PZPC{Hz+@mgvHM(onFi>uQNogtT+?!xG0!4-JIC@o|ZUv%W>q^wF^40qKEKqJ=b z(H_z(Yt2X|9fZm0qE@kfZ(%8bmM1N2MHUQmv7e{~;PS+pqez(f{T7DJDH{}_d8wI5 zM#WfTVG6KOgn;3;+J-s2ICT1e#n94V<(PHbnA6C0ZuM@thnvGL%dp>MmX%>bX4P6Q zCpL=IU!G7E-bmZNB~{we;m`CYPwbPzC<*1b9uY)u7xXLuKzQ7Ki`q=Z?%`*tt8JFa z&lSl!WjD?<*{UWi6`l#*!WZ@y{(a=nz?{&%irX8wV@XpQ!xajKstNrk&lm5LGnp?H z2BGmG?j_}ue6lQM3~tK{x3 zc2*aIe533@j*avQL!h2;WdZ4wyXN6W{?ioXdn`Ky_&YM&?odA&^REzhXdyX6WB3v* zyxui5n~d^C#m1_qX2w)4IfL2^#tNBqHO2n++1J~^X}uOXnx%kHrM2qK7Z%;V=m3sV zmEc>Tszx*H%Cs#}SSj$VtTxAK+Sm$IZK`pwGIo{ET@1Ij!wC<0ZHbZFt-wfz#xFx_ z8<|y)NTtRPh8ZpoIJ=@*M2P&u3d4Ma`UQy~5F47^AYAE2fsSImC}df3la?zCLWO?d zn#;L4e9idF7PTd%A01Mv#fIF*intM}7*(*oZBuE<3RyYDG2TV)KS(#+!}Y=}02%uv0!C5)(y`fLVzUP>cmcl>2g6(+ zy>Q{`cDwdvJZHmqk}`ZXhGXV;yInxu?M^_;5FX;PjSX5+B3$Jg%33x_w)Zl=tI<7tbGgd_KJAuT)^|z?<4|5(j!7V!mY} zs`AqoV=kNCYL%$>=#FRiYBK7L4MUiW`lRbq*tbI{8Y;qS3SCV`_GK8DD_C>-ZA2Bk z0GrDR1!hbS%dOsetv~MbA#(a%>VE5*OW`)GrT?gmO$F}@ad+DQMdoF(TP{zD`Sp9@ zt-vZ4wA*OWo_Tj1}(kHSevdZh8aXX|xRzKUM?DtjCRo6U5W zjI|O>9WrKD8k)l27=2jwZuWW|_~)zXhh;xHg^zwTg^zfGA2EC!^cPiU9>K>{ z9!%+m-FgQ4P%!9bT#d|mF zMI#-})bmt)1GK^#g*9|^NK*wAhtFW;JxEjkd1?p~BVZW-Ii5+S{()DOdw`&GPkkJM z(=ba1t;0XA)HAyAVX=CAmj9mAqYul~<6iHmS9j>woyYa~Q2l&T-&lq=?T6*+$>ZLW z`uM|gb<}%&vpp69{bTWAu_9k0>B+;WlC!+H5U;DbEKcYKPzN@r`f>6ykCSO4i~9PF z<=EKiK^1T144%Eyljm8SOyJ^Bua4>)OXZ%+NYOn1c;Fo}6}+xS`|19kCz>R+yC}|!LQ)@Zydsc+?MzWzI5xyzL(~ju{TW{Pkr#VNq3AY zT-h5jfGEiGAClP9{BoYDXAmYa(L&iQmIdhgKF=y903_T#UlJU-EyWSNC;^8tp3~0& z4xA;N{3>2cT7ue?>82$KbA$D;Lu?|5rBiJ*%#2%9)h6EyuGVeh>Iude&RC6=Xx_#4 zU!|M3sAbZDfoC^!T}J1;$g^38;B(yvn^lz$q+`~e*~YeDw{%Ur5>TK;!}aDI1LMMg^@OcF9$0P+$%l08P~%fQ#B02 zo69KnAixwtjxEsZc`9C{e&GL^c7F|jO!XQ6Iu#JoMV*im_1B01J-JNIQ8fe|vgM|z z=UU0~NCJQwCHh`lkvn)T6@iUpmk-HIrmDD;Wp)bqI1klKDkwHY3b1*M+@(-3c#ByY0-4u*hX3CvS;KUg+ zr(ojTL32_fa)CSt)U>*}hj72|zMpSd3av-!u-OGgcTHPPK!{OP;Lxlw3tfuwd6xqN z&HZ~Sym?hE1~+b;pPzTnZ+7!ycBB9G*I(cGJg?4DPf?g>yY!hXadCBJadZ5f`roEx z2dPBAt(1m!Kq!H(S_Q5u3I&4=lD|r_Dt}T$Gs67fvd6|uSe#UiExp>PbQYT_;dKBo z3cho*s>oMFQa*sf@JShfiEUYfX5malrPkA-4%tS^%>}OKu|tVSGkCE`6IkCPqCaE( zoIq*xK7&^;?1esMSv~c2yL^p=;d-T@AsX&KL8+sP2Do4hK3zvRM{S`810095mxFZ~7_P8BnAt3@0QgkTELB>Fa8V_rb z)IlA>!yZ1a^YWjj{%T8ZUI9KWJfFTVmU58TazW~6u$nYc)2KpxEjAUv^~_QpMYi~) zMo^K#2l9wSrvWWB&(mB z*aXy0Ku~H51$n$;_mG9#2r|}-nZg&?rw-z`Xn+r?Y_Hx?i?VXP{yhzKkL~V&DhyCj zY0qP)a(&L(XjJAf-W;qs&YrB@u5L7166dV99gY>4U(3&E1FF3;ZS5G8i_;AzR>{== zBV}XmYH_?a3)o+kles)obO@4$%S9Z)g8mLxQWztV(vad#bA-vGF3BDf1hETd#>FyNd}ksG|GdF&U#aRKrX zfQAA#m`1lSSiliaM6mQ|GMgP7Ok;$Aii~rH+*MX;nTp6v!7r&VLr|=7r(usQE0UFy}Jk@pZ<9!)yLNWp6BTIRgLaby2#i)|h62LlW91UGEWLl|gG+w;O`JUJ)s zGR8%U*j+HKR>~qb+`bgJ2NnydxOaQ+hWXITE_F&oF}=fc7xwP&mR7LRbYa&bEUb~R z1y4-6WWbnp0Uu_W42|(SEOzjI#E>DYmT~C2{P1wRi%(1JB5=E<`x_9#fjh^r#CdY` zShjIQSh^^=-ylmH`E5(ny=GDe$lQ$_N#$lN)2daYB+SRwr{e!&?JlxzG^vtL0s zmQ@Rs{bM5TC#H{vvNZfw1zMvlY4j#1{$mU4EH_}VrODrB(SWj3GE z)(uu}2h6M1Gx#BG-WJ{ST2%J8l5(2)6@0Rl=!#f#QR!dGB1_})R^}%E8tS?(`X4c@f*RFHkiH6#OZC3ajDP0e)H3qBx&Dt(m{SRGS zi{|)M%QVyVlYPwCoH_N9p?k4;B@1y*XCS-3US|sbj~>EgiC85}-)~zZ zHdVS?QUMXOD&2ORlykT(xzImly=4~3n-{k)yKIhF4l@H!uRa6pMk*@))w=dcZq8!# zYM+3N@EA|gL9^WTnq=43*=@S%A(ga?@C3oEgkwvpc*)dnnx1og4tT))BW1=n9EbOZ zbcYjH>tDBNv8S2Z)vogFKsegH?449?T9N_rBMd9d6rA~xX=D&c{HQl(bv{kehd9_; z<8sSI;xf-LLX#M|S!ti&)YS}qobxA+@7NQ^szgQU<`Gkex|BwY=W*n>UyPwXD=k4l zCYOQF&@;7DYU8M(L;)}TduLLxY(ktuZW~=g^8#&f1E20&M|TOGE1Ri3IA~7qdX374 z>vc;1EQx=x5T(plJ6l0Nr#mrSve+>XQwMv3q2zuIyXG=zLdFzh{6co~j8t!Q0g#oS z^HuBy)XaScCT?B?Scq}W!NO<}HQxu_QczNd;|2d*i+om8W|pCG`tdA<1aO(NwWn=P= zK~n-cYpATJl=h9+3g&NdOS&Os(5RvXDronYpRzl)tsjS4XIIY9MIX;%}Qo19~;&F zmF^&z2mS(OUQVt(abc^Z3HP zuo?Kfrb)tH}b31|x6s(F?uF$4((jS)D{_ zN}o`uih$=<8Fwam0lUB(hjCI2SkKzfD(cXTKN>;@_9>I@c}6t#$5Iv-?h7EuAl4|9I1d5U6Y1-0A$3Ug!fR%#gQ0_o>583#x^e?{4P&4@U&Bq4Mx8iU^B`(H zVQ(v8_dHoHOAA83Y-~{b07qNP3G*fRUF})c2!sHrV6uos=J&t8qf|&vO zNKWH66_SrJsgNw84Qr1Da7r-GH`Z`Dx~b zSvhEV?>_4FdN(kB*LF=NdFF*xH<>z>LexBoV}PbXnH8ASINQ6UU@BvqyV)sS{z*b% zoe2&`Fb>to4FEdPjw5Ju*(Y+X5XChYPDljz^UD{C`!^9-^phk_-$d2C^qFdz5)ha< zWF{t8FV0a`Qzf$LHty?NGiXf_CRwn>i(nqgfz5%DoMbJg(%0M=>4lT>2@XoS?XCI5F48xR)oc7X}mw#sZftibaAFY!Nj{O^fge?>+v9~^C{QibyzCw z>4O+dQc9UsXnYc-_Ldc$$&$k-xr!`JDIZ8Gn5Dl?h2SShg&Wx&?Dj1=j5l^G`qQfQ zy+(1I-1GFnNPzUXIr(Om&0=X3=*$jiMI&{_U2_6?yucth;0;k-DzQA_mQ1RUmy9$3 zU;(f+TG^dOrA(6y_PhSs!RIvCyJ@oMEFyG@jlYW}5e7xj@ZU}X)|88!5Z~HEJ0#{V zO)PC`xQ2$_WLcD0obh#uzsp4$0oxGgXGs>hEyYoxe>(Xhnk3bQ{!~q*3gJhZ=W$23 zn7&w+JgYj>=qyRi7kGW*zdKR<`w|QgRZvw(WRUgeMQW0Nii#x4Owx0y9F60~bo!i1 zkePJ=B~k@I(j=RimYzig7(_}yjnE%w3Hw02W&A9Gj@v$Ie|CUt7A0BLLEK>Y%5hSR zDzI11qlMe95}~qH6Y#^93p~n4X?}F#sGLWz;oTr|hib!M$|ljm4S*+j8-lRqh+b~P zn)PAS0iNHNSu)9E**Q((#0$MoxCJ|M zIt4e0Avpw0QfkNfJgFp384SXCUc_wvz?VBr-&r0@PpkDmjKzak@gXNy;6u#WzrtlT zF!)I!Uh(Z`65EgZD*Q{6WmrVnZl2(DSye!P(&$vC-Z-QN(OFGvK7dwGKoWZa_!|bcuj}`vh#`t*`I&iEX_2yKLh{lWn|cWg9;$w(%3NjTeS(d>o5Ut!(3? ztI#t+VoxT&E=V_HJS{kBa-Y5?_K%yMh9%QX> zoZ=R8V$PFl4w_Fbg+kPKwud}^awT1J>^>+y3ZvV#T)fbMMuGs7iK$=>KaAbLZbP4W zwMim4alnO9YvoikKdced*zb6ZZZGObdM9cy-zlLq&MQ_MR7H zmDmIO0#CG0P0JOipNGKudh-NfrtUaq$wSgODb<&`BV|{*Nm1FfOGr@(lI59)L!3{i zo+-*M8#ek7*dgl5lCdS!Olt=%7>BSS2Gj)H8$k%GR)x?4R@zf$#DXBydqt3>R@BcQPss>M=?2?rc>(1n3DFoB`e43{jD|r%g=JM ztfZ$U;~QrFWDbSScDhOVE}BL~!gaFwA*IDh&cSt(`W6m@@FN1mSIE10);-Gsb|F8{ z1htsmdU+{yUA8%vi{0sssd=r94mj76ZTNy&ZUQ11mc7umeJFKM#Aw#trw+w;+C_qT!P!K<3K zZTE<)eh*yrouk`#iK~A8ce(24O|JTRD_8waanThE4zLl$fX}Ri0@oo(e zPPM5*QsBnGcjy>ngU_HGoXNNvKSO>t)G>Fd0CIC1HyahyEe-n5E_$l6x#Isy87C*` z^Vu8M?)q0x2(M!CuY2XE*`AgFqM*AE|MT`fpQTwTb_t&E-vjy4UM#$q-LG%;_ilA> zAKi?)cW!s@+=g=Czun$f9r%;p?Dl$J?ZMyM^tXe5H&Q1)+m!4x2!8@;D1_nR z9{uuy@E4h;`8fp9FQ)>Txi#QAe+vJq_F%w+KbFy1R3sUeY`?r9e7`LISmsHIG3LY8 zahfhAs{%iR@Ed%&f|0?`H_Kv?VgUW}EO?c)x|ezpCZmd0J?gLlKFz*RA;3)I53WJR zH87tz8X{Qs?{U-TInVHW+~U2j!F8@c_?&{=lY-_2y<~K+G*9y2c_R^Ms1{oEP%&ulep0zR~^y+?f zW&|m-@Z2{xWKsHGb-%uOd+&Dl=F#2gXzz&l38cc^jcS$Mng!*uGcc{9@1KFX1^z^DD@QkprG5H$S=y&fmiB2YOZ$gn zX@3Hi_NifMe~raYtt{=eFJx&YDnCNcAHfnpnOb?g88pz2WF~pKJj+Ux5k8L1ufc75 zHo_$8rSVWj|5nI_j4FRm*^{Vjb-34`7Qt^dTYogUGJe>;M#;U+POca^q4$J-i!9F~ zZAjAzf95o0MK&+@i+lm6WS%${(*(}EHs)mW0PB|?6l}Yq0%HmWi z1y!3hwPVwF63hl(th4mWj5H^-+D#|Fg; zi19%A4i1#NckkTN#Q2w3d>bRt|2`J0LdJt$m=mx6RWH0C7QcVg3z3H(^zZgUV6_KF zw|e1%xa*s}UTrZVzeTB)|dtI zp{fT#ut8?g)5(UJ81=$lsBD)Y!;OFcWAvc&BtU>@_K%c(=gF{3y=zkT2EVvKB{f*!w2tLAKyj+w* zh+EJBmgXj;xru3R9NoUH826T1w-kSKBls2s-*#)g+o<&`NOOnPihfW)^$q@r9{EKX z_2Ij3zmMSiXly6I`u-9({_Xq6gJO2No|mKa)9H9UKR;bh&MrP4uRmXm{=68kXGL_e zPNUOxI+-tzKOL_}>BV^YX`P;xL3A8^D6fC;{n5Wa1mo+$hu}sR4i+U&ol?*=io-ahl5z?hPS4=esudb zrfiEeV_kr;j}YFRcG8Vl&Uia^=KUUa+rHz|O{K>e;~U=1O{VEE=tZC)5Bk9{5$SP% zkd4Z*b4{e6A-pVVH0+XFrzw5Reh=VoVUzmDgAe8U!;OG-0?tu1VexPHmbERb3Ev`8=De%nKBnD_E9ql zYAIxFKi=*ub9>(WZlTg)iuJk|R^1u=M)D3no>Jf`{5~a=mF_p|wY3R_yNW7o4v}+8 z^NjM9@VktvC8_Vh*E@>AMxj<@CQD5A0_(s(g$^IrFb)v}M(JXXKa}R+dfg}6LiMfs zm)sEjUQYv{lAG?FbeK!P-GWkpw*w0BGaP?My}Rm(pjyHkw*PY+9x;?-xn$6y27}r& z5D58_xxO^9@G{uN+Jz9z#24vlu|#9VMp22VmLrvE%;3n$&CY(lk)aSdtHhhj&)#v? zoy*TZlEyX}B$n3k{n9TS*U#B{{SPy-_TP%E?6C2%uey@26o9I{^;u;N8@@gP+4GE>MU@b z-pKM#ljol{)48o@etxBT(#U2>Bb())I?HB`$=v3c%y;LAN$q1`pM$N5=hDFHqpooI zQ&P=+?;l=Z&5nPGt+l+`3^>SoLnya1WoTASrM8Hq4OiE0QMepv?%Vy?FdNe)qr=>x zbF~bZF@P!zH)OdKhK8H0FRL!V!*{d%+z)E)BYP>zCGOhEQr!4Z-mn`sT^g3t&`{+$ zP82a}~bO&G*^u(BOcxb#brQU%MUxbbf|?QIov-Zem=(&t$W5r_T2a2?Af@En6m zl{#CBIh8tH3U8F-sO%A#_}H@*oH-RRJp@eYt=B)pd3JE{9sDE2bg9Z;EX5g>f4UUC z8$B|qf)0#2hvVL7I5DHn6xiPc#0)7KRG5i#y$USY(0cvA1Rg(J8n+xrL6{vM4ekbmk2d~v31!l#e_DzY8ug2% z@E(6&pp0NI+B01s9p$Ca?n1)H`gg({b39sV9TZ3o2uDR&hUgYS^g;zY8ZOnpbCS@x z{de#~v{5jK2Ok$jUicTwpqAp((wD({jeKWGKG$NgzYq4r5g5M?m%=-XKK~RYm6v3D z*{~4Hk=~oN0QHiK;UR6H#^2Fc-3u z={(Eh$4fsCi%t>@a+`6{lF>kqaMpIc&hCSQ_UvA7y{<#9~@Y)QFN>04(I0Bos+;Qa=CoRol6wdDO~ErMC5{1 zXbX8@33KFd_vPTD5B+1!e&}>O%)|nZ5D^tKG+Hfz8%JND;PVc3si1wL?G`fiC#Yey z+-ULkr7(j$^=6S98EP|F54EeC^WnqpG+mZ+@jw^%P;K}3OYw-d`|~A$u-`sX4CK4z z-xSEdTQ&sp@0M)>`EQmakbl1H{u;hpYT?bxrGSu4f&8oGR)Ks|EsGS~QA4oxMP}M6 z2ag3eRM0jG;DhnEE4%?U1h`61WtX^CTdjbF3N;{{ns=S4dev!Y3d&Y3T#7fXGx&D-Wlt)<=|PflXA0=Wgg5TaNwO^& zKmspIlUhmiWg4Th5Se9$)-CL%))_mkNFJXp!2D`6V!K;H31=B8%;TMpXUnE}d(18q z8RXUGd5Uj)%@j?;3wr9Ys1g-J)trM>VIiLo}dSwmaW zD+h!ohqDm2cww&s)u_l4yZ7kh}r-xTd zR~<{jYoe%zl537{D2sDY>5V1dsNqT4rtsCK)hPcn%k4yM3at^?n5gX;PShN#e0*=U z+WXL9r0s5+RYj>Rs=?McJRcQ>q+<6RYw1UD8Q6it*Ub(sgYP>MU0RnkW!-AGWp?Zdw zW`^BF+$``?#hcAXZRerbSXl!0Cj~0_Ndq*wrJ);I18T2rI7n+LJlo#+zxD)Nlgfg> z0l7h;yG@c12}VZ}*qxJ(g1`Y~Ynz(^S^*Y6#gk>jw@d3_H(EwD8l*(Xa5 zN2Y*0f#Log`TSdVdc@~H`@4MpvnHSatd-CILGk&&1E2rQ@cBP2#qX_r{!>fEUoWpf z#c|iX1WbZZoz9mLvt8ie~H)fUo zYAW@Cu|GI?4(ZSsr*R!xoh8{ohG)^|K^B&kTnv<{AZ>N%>B##52IJa89T*a3GTL z5GdR;x1h`WswAVEy;Tw85SmWxG1MPmC)9TYR=C)mT!A#mg_;&vXxCtU-#$9JMeF;! zzq`J_Yp(C_TG#h4YJFdW_5Gb$-`_9Awbu3hZR<3C6O}U9y^>Cn@&_a)50+K_w8+n& zA^6H0iD-SwA(L79`41T&$uB-T*7;{i_BKB+J$T-8=9NNkJBBQC1@6+kMix>5$YePv zrW-#j5K4&hz?~TPbnFx`)hqv5aK1*Be3@h~sR@oz`$lfv%q!)-#9GMs*s7wLz&#ih zGV-o!Q-@2}59xA26A zI6Vgk&0v~t0$@Bi$h3dWogECmU@-qm|0|KXe3LP(b_c}z3*ez#Sxz%TdI{p!@Qd5D zWi2*P{?#<7w^qViB2OuQb=h2)^Ycs=+EGkby;S4n zbSA5Z`PpJw$rukDKeJAcm_|YI?ZdKub&9*k2vI+1IiuFgK$as1n9a5 z8}~k62fHG%-jm!5hfc_evE| zF7Ou{ojwNu7SZVsvn~vtfFE=T0=r1keTDA2Zi=&zy=yBLx|&}_LUa|A9R_`~A;?)U z)FkPBsRi+u3jB}~E17YTF95gX-YsC@{MQKo|kDpthR7!OP>pfDuwXqpsk z0EIh9awZlH47efz2>?XHABhnQpz7ZX-1vHYIy5|(g5bshYaDJ26bAUq5NdXOqxMi2 z^ajdNK+tu&vBMR61*Q+1or1F3J4Ur=*d1dtLH8>;hx=9Ut0Sd9GXILN@PL#eBy*At;tK_Ia{xpEGa(6@n8?$YL%E+(NeFz-@i= z+w~H+UGxmqGe|Zhz(J#FMii{~uw$o>Uu~5!{{`BlSF{%<&Wl%awHGgx=_XdD z+ahvJwu@ZtJA(|fG1_Wf@m^;so&ro6w;*C!0Ix)w)8pX&MWHK$4shkK?aA$YyQy81 z9|qyz<+w;4D|~3MF~En9wws?`-b{4sX!;sovd;1Z`a#HyCq!qGIi6}O zVq+xgFR;uq*x1VM%i^TL90bn1(Uk=?^f!uE?@2{|PP@-<7RUzD?81YC{jHTDHI{_D zwxhN}$vd{S|MC)m=>*Rl?MY-gLAM>3fo_27h{p73*o{@0FRS^W3bVYZ<^vhx_v5In zKvoLBf0AW2NGKk|bNY?p1*LhJ#BnMyw&Wq0CZhB#&4h5o+IC|& z@G4tWsbPmk;1?UzBr8;yoP=p8#~kKhl!RFrg=JWUMVN67Te`$E*(mag4csX5`b}0Swv$$3qbLBT)_1Kd4tQn?YwPZ|0(E9-a<}ztYjfHs zAhR9YJ^^3QMLlBKnQRpNMUCAx85vGSJ#0Uw#3L=wDCeS>D_%32Um5HTsoRET)B_!Q z6*M8CT4#8U;SXq`wHi?;2;DAZ2Qr|6j#n?7jIyL#M&um%BP)c3*GHzC!3Ggk}@N0`P>NQu&T6C_8c8DO`lod9Yribq?f6qum)0nkbzI%Icxh4@SK)%b&^5 z&HO+s9_43GbTMER@As*JAfiZeyY@qV&koAVrj~_tQzHp8J-oiNu2}O#V4MlwQBbuAm``@j!a`C70ePKl~bx$H0F+g z1Li?Hb82*PCM%Q|qEV0%htQBZ7{kuO)$Om9QN3;Jjy&uhpc@Z8qej26Gw(E9uZX|b zcz4sZwjRcCSDv=k!;shJOF1p%jci{M`$AYO3?nuI?~knuz4_F`x~~k?9D7Sz$j)P~ z8WJ>@XfAssRuw)tcsPR|Xw#RVNdfyQ5iLXRYj?21&kp5b75q~U35GTS( zaB$F+S2C#{^BdSw7nOp`q0nV@Sr|93p3K#OI-h@uisctWzk+P#G%8L`O1X%NsLBgR z17`N$sdn@bgfptDx3*Vv2h^^~XW^?cxxGZGg>bfpYzH#8Mp|=aO1RDE@+u+773F-F z09Zz2YoMwUjK<9rL)YiCwoG1uFHTfA)I+?m9Mi12jAc4eGO%|Qcy9-0?wza@AB(SJ zqS_%21!iO-A1N`KQFC(&C5DnY4Rj*msalA>$_VU4DXRgi=XB0lhj}ua%d#^3he=4X z6c_>-6;H0vD)I_^S;Mqft$aFdY1u|2NGxt&>Xr67cR3!^pe3D5_JC6W%*+g)5#OZC zS;DM^Rd1~E-JGz`DO#(GVA0@45$FBmm&|+1?=Fv)!GwS(|BGwe8vedOCLgKP(+P*L2LT^jb|IskrO0w|2CbP&j6+ zdj-1nz_J7%=dC`+y4|iZwl#>)Ag_3spPfZnTrzk?F&eYEZgj-qT2J&YQzM}Y^EIot zzmLd_x`YY@C^P6KnJ4Mw;AsmKb6@(q8y2o66ga3tvk-uvpr7ltm*vG-l;WCjUvDg# zF?Z{e$y`o8st7*_?6C0Qy7Apy`}_O5N21;u3p`EfP4s27Fc{%@)aoEI3DKz3uBY6WyP~D=sR4R~PLtz>v z;91EN!b3;x)V{T@Q5DLulIOH!prVZ~cUvsfHvC&Ht*?&=!~@U(k#`^aK`SPt9%2VJ z1EAF$m4pkh^8!&G(DRL3qb{RMk^0UE*ElIE7hI2*3V0~C;ee%tZ+edRc#5AG<(v)$ zbh5naqN%HD_M{2;q#x%kfUR(HXQ=O*=FIK%jUz0cGaOs1Z=_ zEfN@b6~g`#-;k-$>Rr76Mlb1?Hk^)hM|iUlb0n~T8`5rVHy z*QTK2i-jsuR@H%n0;BQYQW#d&?38z7cXf(@xqVR8!A@&wKLe1dlw&Ga^F&j-tF_>2 zHD^xEAN{uVu1=a{<1kg{kwh#UdA>)o!tM!fY6i^W5}I>|##L=wWj`Cqu?s1+S^LIr zG9@C}h9XEoECbt!@J*4QB_&+d$~* z$Ppv#Jv}2Jv>E{3ud$kEbW0!fUsRV?!vt!*r7nlq930r+3{mNm=cz9C!)T=zTp^GHw86 z?euZh+m~B@)y=oHS(>M6ZC5h&b2c&gmrjgY3bC&K3+JRl+}nxti?9!;&bG4^z1nf< zoxb9X#*9rTE*%Zj*fx^d%!ac|S{tiv$bsHf1T`zIiB4buYW22`QlQSYp*<^?2{pF@ zD_&}Bv`r;Hhl9<6D=tOYctHNAX)rM24Xi$ZQ3yB&2VBb}REifi>9(4> z#>c1@JE`lt(o%Ee{?w6aiWeL;5Y1~puSAbWuwIYG8zXCymCMtzN~&e0x1P$-IHORV zWD+5&2(yxRC#AnB%h*6 zYF^M&n^-lCU43NhcCG6Agr2r^Q*1+Y8Tvlu1S+#Hb?ezI*trwZGlI5!Y>ceol~BG# z%^;eL?he z+_`y28K->yyT&P>o5m@hTa8m5E8~<4Fi!bwj8h)X#YNLNg>Vz+ILJTA=pzX5;1cnC zt|Z%r^L{t?SLi*g3bk&$3<)YJOiEG$ewKrhGBzaqDCOdHhFTVbT)hG4r3eh2el5Zy z{rwy_ND&09_j5cmi%`iEgCXekk(ByPURF<%&q}8BV(u3q+~J3XD_jP%y&T5Hyn1yh z&dt{TPJ{RVr1U-5q`*)qg%Ut-mb@MZbBWm@lz3HB1+hfIs%!)p)OfJ}QI3kUVD%Q> zE6lh<1Plsnq#{sk-Kurq-7yd6d0DB(50YbvR{ki7ZygL<<2Q5Hc2l;_RmM1MUZN2e zsy1iVGC9!~hDuSs2YR*pwAP&=&AY4v!SEHdsu7mxx1xqTJ$#% z5-_Y$9Jj}^Yw@N$&Q$fvR&`lT)aSob*&Eg`kWD_Qs%SFD*An-cT~8f9Y|)@qsl@t0 zpd^-P)P(DOnb?&cDAd=MLKD7s?aVgcd<&6xqiizI3slbQvR!#_P#hc-%0$*V4yU|#wS}B^xUN8#vf&rJ#F5hk-(ZtIR zaRz_R;k6-vi2z~Pf*OFL^n&Y9-|6HCLW58EtYQ3c-?BHPj)HE0Y+`OmpF zKO`#@q$-I^Ra`n!)FQ*ND%DtFe`d1UwUvW?ArgEb-<>W@!Xf~u>B0;~B=YrIcGY9t z64nd(`8hav1EeeKGMY!c3vPbsw<^d`*;kE-O(5nU=LWgo*2vy?%og%{#17Iyp|{P! z!M<#6B@<>&c6Oc^saws}3Qcq1Ai%x;d>(*VufzvNHew(vDC8unWQ>;n9dg>{1@-f} z8b!h&oUanHOww$yLI{A+y)#+O^LQ^Q_oCCXDxwK6z{tNmnTuPN1Nfb*nZ1SE=##k? z(L9@r-?jb05B!Pq_52dnOVbklh^fee(QZb;k5)V$8pVr+!rkBlmrQ}4v1l`2N`DnG zct~>O+z1dHAHjyRVnfwY>6ZDo;&Bib8p1ZiPO_f z8|7mml2JZBIDp^5DnC3lBpaP2z+?`xQQql~>!ehG685UudXSpgLValX(R!#$(|DRc zCVXp#CE_s&7Kh45Orm_mEDAYIjGGudo5`;V5`z-x(tuapaG|m%N6GkJHcG}dtUGw! z{o9?>c!Q)OVn$5g*7YS%?Hv_rcqF^$g8BsX)gKaPa*!c)lTx(!*TQFRAZgxujlc2k zh5;Ir;3uo4^uv4yb~y1kZL1TkX5Sqq!BoRN+Bv>6xlP{?2pRPFk z*RU^q{GE`ESRSx@>Ym!Edp+L{C!uAc@-srwkP37oGDW z&t@IMyGk-PL3m-s;tsPfFOX8|qU^+|f>5rCW`Q!4hZ^9KTJbysNM^MZDd=7Dr)*hn zsy)O?ly9Pg>DTS6WG7mq+wP}^C! zuZ>jx@{w3S{gRFF2Bv;1?Q8|9`lPo>U<b3se_nvH)+(cixZ15zy?q6BO@0h*Rb1k_P5Vq0V%dpb=SKg{ z+{9N_^rkWlst{`%WPpgnxnT@`kfseq(UzBqD>f;CCS|Hg30jUohfSNZjW#6+6=Zaz zlpo2SmPLW2n)1SX8;1cjLuz(qzs>YY>uT!cqaJ&wL4o$Lq5QS)JZ6IWlHWGTx`p;G z_Nx`Wu$97IZgek!ztB^-s_B-Pq26MK|B7pK6%tYt)lFX|;+-TBq7?~45%x>`Ja=M4 zEi-U(Y?g;Rhze6bMK!bGwiuIevkb&g!y@RHkTVl%3(%>Y{098Y4DB^Gv~3&C=q@Y& zpq0IgfjXTn=sQ=Ov6qNn<{Vd;NyDVoQyh(liPe|#QEL_CxVa5XNZI9kC_f1f4!(u0 znS>|;rA?5KW*Q03_7k;k*K6&n_+DZT#tqeT6~G)*{c@Sj71#Mmrv91K{%p~3+Vy~? zvAG>jOD_Olx0=jl(NUYn=%aj;7oEK5DBBq`*dr`DRHcngD4I=;mB3py#PuyGv#LmB zY3FUEbB%46zn{CxMuHwJ=@@{2Hdh9yvYQoQ9b214pe;}F-IGfUja7=zq^?4UWJ@*s z`wE{R30f-rxglOuntZ-=#A4rpgGE{%e710l>|ZuDOw42Vb_esqba_T^61VJMEDrOU z;*?iwEnxSsG7q2|b%=t^(#sb&Uxv@PZqEtT!3(`i{$$Vx=*7uGNXS#JL*L3R4Q6|9}W_-QQxWh>J zIL-4^Mj0_Z%*f@H$xQn?T(9>t_96GRKnU;{X!8L(q6png`vGdR)P)ee~1skL3j59-DdWEYce&j6i;KNbyVZ8Q_1?E_P7=6Iapnk5e1;Guf zX$E`ega6?}aI8Y6GqIexzP+i>BZB)tFRl;sSU#xy9_Y8<`pWQ(9;jFtU##;PA0lvI z7Um{ta-5rlvsvg}>wCcf999Pm;sNwl)x4a|#B^pSW1*HZ4QQti&LU}#9rp&>3vH-) z18@XJx1+|PSA@=-PhziOjw9A@?`+{@KWoX*68M&sj5^p#uJ^O<;49lxpU-DqIw zarj^+&S%Hxvu>5sp_QW^<*X?I#D8=!p8V}B9{slq;slp!5#AjC6Beu&nXVi4*xEje$e{4rt`-+^2M>KQK zY38h=!}h`7Aj_8y;`7EJelrvASSMbp5s~8YjBb0hPJ1B$pg1m)D@}57VOF9VeKYgr zC_6kH2V=uk9~@*tB*)c8e_zeSOIGolnd8wGHb!opGLw`Dn$?l_^W)wiKa_PQvitdQ zKEUV245G6`k=MD9_p{^PAnVBc_wVl3DL{s$C>z(mGE|Bge&pm%u#wbXRa2w!pOb{ zr?|mb75aK6-m*fU%$m$9E2d^nkW&C|6p0JG18pE!0n%SaW*|sH)E7xq0sB(Xp ziD#_bpJt5d%{T*iaIk+41Wb;@EI@9`e}fs1Szl2uqQ`KanWil^k_Clw%^wQFR;*4i9rYGBUpyO~&CQEa12xtNayVm@uIe zweHuM_=EQEwVC*JW}YX$n~7_z)xYpoE8pBdFv036CJ9pm&;vPRQ5+XOIJC|VJuif^%YdCs=x!Y$^Bq^m zOR9G+zK06Jnb@Bn9Q>KU?<4;N_eieiLv`Km<{YkK1KY~VL-O#E>iK%wEtKRq@o}+~0kl(3 zdd?@k%|CNNJt)HnaSlL| z0htYi_nYBiHtLO435hc&Zbp#YGV|KUkRM{HfJX7CiQ!!_=H=VYf2W-w&wzH|2(vU5tVn0oe zC({9A_U$Q}0@3p{TMW4Ls6o6eKKTgHnUN1bKivCv^@L(z)0Y*}mpEKTjYWd1un2FxjiFz>ggD@B8(~h5X@QEaW zJ(J(>;nqDol=sEQsrAaP=XKOm^k^kTuesRlO~K+r=%GBBiigydPg8L+^-rhz)Vr99 zPi$^JPo0synEEqXnUiS{0<&s(>Z$n5@;#a|HUg+$)+X6Vv}6M>L!!PxKqV1*V`%RHgWLW~7 zm3q0>o;vlzS5vmm$}(s#6@R!c>3!USpJR!p6FtYQ$CauEx*Wi-%T3dj+{(PTy+-&4 zuJoFX$vC&IXWc4)h3GKJpE7=u7iY*AIsK?LTE(_Tx2P~RYnjRFEt)OsI^2=6I_?VA zWrUAE1mIwfL-!db1K+KcxhSZeWBV%hE@Ro&n7B=fxiqJ)%rQTc%i8hXK@H}p`oqBH>1+v>CyT4q!Z4v=cPfk9i> zA>zMsnQpukvU3}bBt)y>&m{VCy`{6Gah*)BFpIoMXAU<|sT%WRgk>~QJ`9|=kJnuy zDox^8w-myaObrd9O$X@F4Vt(K8K8`nK|SIMQ_|RzOkBTpUpT7cV6k2KUf1KZso0Hv z!>-w4AS*lXUMS7&L9bt1QZ9aI?Bv849G-0XGKyYF#ZfyhsNE9tFR^{@HP|j6M-AdOoO>n`~@b{^og-FP(yv*)W);eQ* z>9|&MQgC~a)gr3qgIwJ$iW;R@L#!i#+(W-w&zb4~q1lf4pq;0mKrl~PsXtVwdC$Dul!u3U{evQ{DyAfBB?C*Y zf)uWE+tTlt#C1QI~q+@G9oD*z0&9oRT)- z@8;@8bCW4~DdD9Po&JHI0DxBhNy!rp>-lWDLt&n-(ha5gWmZO0Yvx+M&)=ep5~G}Y zGFg^Ye)guw7qX}l**F?eVNjzBgRV{~egJh)ju;B=JL$Z*_NL*Q}LHjlTPU?Od znb?qGEE%_k*6L}ZVN!~j^%58ie=?8-R&kIgZt4j+933>_$EmAhuk-~C2Ntw8P$?q0 z9Aa19Oq*@hiCY_{B5U$+VeI{yRt*iWmW})PuB2eKQ(KFyEs5daZ`i4AD^`ObRYC0- z^KL146Zx{fzNwSOFf(W(Q9A{MmM=C8KoR1LYgGf*-b%^E+h^Wmn0)~y+;-ApOX z^dsc1E zzSFC+RppKSr}|*;#_aLh^O&Hqa<9gAFH`|YQ+D;nT|`cgnvLUzRgLj&t6u|)?zY}} zHVxWsyjsyT4Sn2Ks@_}d!&DQXA801VzBOn#?<=L@Av%?&G$s)XXwVhV5u1K&sMQ6jg6p5otq^ zhnx?(*gOIoY?3Bv*PB_Bjk9GVt2t(%-siE*s>BhkZ(bYK9&_b~q1S+0Ya!BYI2?== z7%}B<*H(ZvT?-F>^vAXLTT@)Q=UJMsN#CJQi<@=b?vk~)JKJc(BS%(}X; zz`TQ6OsKBIgl`&bl9`PiakyD#8;o#cnjwW{EBzfiI-t_Fu<(BS`hz@(L7%3wc#XD; zM&Q5$q3EsmhuxE5^_EYf1)xc`bD;d1U_B-x6ATZsZoIv%b8B7AYif&KefQO3rl$=a z-@V!+{Yn(MFwiZ^DzR&B68Xg`FGiy?x)f?vCp)}qu zcJ@(Uy)#h_vwPK{gmR5UK{Mak*nzTWXXs56Wl*0u=qQeu%^ah{&DL294&A;6Teopf z%dCbI=jmGRQ<>wDO)*X=CIL0UlO~8$t3CIn?c2&kyP^8EaVttvqdVLAe<$?PVq4f* zp$IG{vS-9pD2h+a4+h@<(gcvb%bM?UJG+!;5 zG*EZWuup%tbE*PGGIZaXT!roA23KI3ric9t84|lF>Sxn!X3++e%(ai!2twTGxe>Mn z4}f{o-jmwRVurx{{-s5OlXfE;`(esO=jZ9Rw|vLHp=8}QG{pj&n$;oI@G3%<1zfGg zYB5inz;pCycH={Ncmsj!)Mm}L;p&^Bo=)4$bsLW&BaQSBN+mFOL{CdnjI3(9V>L<~ zn{xB8z2rSsGCuq8d+yVDOEQHm;pqC1sk;?AKAY|oI;ziM8#5t(o!0dqU%D;_*&u|Ft?`HJw*8DWs^Ja zMyxKJB12vsY&!`ql?>Kkw}H_~OJ>s{p3TwfOV88+5E}aT6)J*FdYRv_YhQd8G+;-a zW!oP2KiW3^AE67dvz0~2RFEK?(8@rn0ylTuD!*9bdTqKD0?7cP8)t>yS(Id+!Ff^e z6%7r#1_$xo6dyrt2CD+tk`^vth?JD^r1&0G)%7o5x~e!%8y~Kg@c$ny!2ij5i)$6v z zPxO(=KER@zT#I|naP76*yR6=2_A$%PvyRE^g^iYnD-$F~6W}%V8@WvGxfz2*;kxVsGGK*`8J(ut{0A_1cW7IyDiz z`{6tSwF*#-0-s~eK$UbJrD=XnDd@Lyv^mT2La))s8M;8+2vmXt)tifVI1W~(!n%3f z_@*&avW$WCOkv7;oW)lxNoFxGr*3o2$7m?wZ5e;D4WD%?ye>Z`3!{KR@+a_NjTtgb1)ky-Esp=Y+yP*o$RS*lnC_6b~q zO2zOwP0PCqoz9gtn|?7bDUtC%Z?TmXN`rz;g8&EFR-sBkZ^^=jl-}&4WUa1yTc(^B z-8S14ca?fjAp;xV0Q6faPrnaf8SmQPh!~lusF-?f_Osqtly159o z+<2L^@+7tSKotk*-nUaf343aS^}681x@}w-80A$4N4Mv?5gMNfk z%sm8mJRmFsDs+Fdi+ZHns8XY=!`*FALrxOXgahc2CX_N7+Onboy>nYv(vU12pU$Bn zfI(VqtN?B2=%jR-fzD|E@^}*bVUFWSko`&wkZ>`8Si$RRC)T`!f+~{KB%$n_+90Ckzckb8+zDVmLw;{(rsi1-dIKM z)Ld;YvoE33oz8zbo!;Lv72D}E8?)nGLpA6P0sdR{MC$$0H>Y|>B*Wdr`aejZ?I!=5 zJ1x^YttF|8VXz_m#^+uRVeXSx>If~cD|JQ9_?Pu%Gm`;wrBjI8->(qkstObETPj0M zh4ejpkcDuno6jVq`5ff6u`&8~x&zR<0cWjs0XQJEf`SJ55KV&}WQDvA0(FAlZV1yI zcXmxL3bqFBO#!M=BlI7y$MxG_&h5ti*YY7I+2bs3I*izC(lHNbdy4}^v*U8uTIW`P zYn9)?TQ>w~4aSVClQmR9uT3>TW{Z0YewB8gLr}jCFss35GJno=g*y0{Y#$jFCtMBn zPm$g00ixBAJAZf)mDNkoXanEYS}37iKuA}zM0zS*S?PO#s2FBlC9NOqp;ef<4sY6U2V386~hYGh#74@E*k8B+e+6>1dq_RFUsQw0Dd97!NCFi4pxcP z#7V4k3pq;2xrHKYZL3R|g`lXS;h^=!hx^8G9?J4F$oNz8|8e)O+ie@!y6CHz92pu! z1Tj*twe}v1G@{}7k~kg5j_q7J3YQxsOA=ZnzyOdHhr*BjCi_{=qnsx>V_vFi)&&%m zxL5Ce{@5Z=sC&(t*KcBICXie#Hk9cmc9zef)Ub1(Z+9l57%q$RbA@SSIuUHk!!xBC zFiN;lvtr><>+K$0la*s)f?uud;(QeSf}QImd7GB}%sjYPz7IW_Jt;qU?s{{6oa*l< zdX`}`{)lR1R)e>(GbZfl-(g%tB$vb2&QVI`pmjb+K^$U8)L)-F6;d`zQ=h3!2=pvi zfNKC~hcSA|p~H^gK9O2E<4B?G7WJJ^TvpEcf~GI}ffmkf`9YQ)Lx!rDBA>p|^eJyS z0fb0bZz3`EG*hBuZ%$<<7dr)n=br=%Wf%@KugoI4=_M$$Ldy?t9X8U!U)nn8DbCq*=;5)K;mVb}?r< zq)>8bcu*nykX0^}^tN0gx-UPRnAhE>F+%{kaPz_5TGn?$sJ@=CuCFkin02+vH%*YX zD#A6Za;d+1w#wV+2R2h7e{n~i5Bf@TK~Kw7USD8e1ouN_dijdAG>loMIB=tcd+i!MfCp>fADwI{ptB4GwzZX08CvwSxDS2BL>-BwSgvVnpYrT39 zk`gSba~!edmUJR}ON-$Pi!XR ze3DIbIo#jfRjf}lm(zX5 zo$=py4-bx*Dwp1_SCZvm5!vGrrN=;&K@4S_81arsLh`nF%w8T#E7{tq6Z>2CH6V4C zgm{F>r6a*bT$l$>S|4T?&eXsB!A+@x{>;V zk>*MfL_yzoMG~!*2k@v|qT0p-mvNJ4TE&iq$5x*opW22YTZH)q>3O^+pO>K<|IQH} zr$Cd1^~kI6W$9u(`9i^|X8j>K-Q;B2*R($kAw!m+WcAaYY<-O`u8!v$J`v8&?b?bm zty=e_C`R5&zmB;hhw(BbGN|>g9KaNB>WB>Qu!lBl+q+fXw8%kx!Tc8kJagz;^DMto z&ZG1E3ba{tnSGPb)hZhfiD$Gq2@4(CL>b{U=bvBs{+rwa76@zh3x_4}LrQ=?lEFwc zOg|Y^B&Qh_Jd1n(mbh?K;OG3W=^OTHf_;qltzU%0);JS* zcEUtVcj$N~uU`_+OnHCJoPKkwx{o6l;y_fYTMUNPqwv;uDQyL}3-rwQEq5+BxJj@X zSgB~1J{pF-81yuD7y(jqFO8^$4t!A<09_I82S~aeTpOB?18a-Xxu2RQO;W#a@;}k4 zdm#}wcvpis&R5n`(AlltJWNGBG{RW-cT^@uC+mWKJ2eUE%<_gnQw9`fkYDvdR?th{ zX(4HW@585k>5@Su`JOS}gsm2YL24juID#)#?i1rTd07 zuVuJmDwu9JQK{d?7P6&Feah6IGql6dj5!|`S>b-jX&t3lT^KQ6IkIwLWwiTDG_Y{E zV`Ea2+@^l6PcN)O9_DdW7VE?n54-3LIn^2a`b5zC012$j94H^>pi}^T^oL zEJdZ%e0Sr0L;X5drxxCm`%c{VmzMet1_dNyv^}%lOdir?s8BayTt|&++sarljvBS7 z%H`1}uk*D6vkB*-*1dsEQb2x}D*MT>N*uCke^O0kM21SNJM6)wh z%`Avo{~U3UYOsUuvvPaPQdzb9444xqO*iJf*O7F1+%Ra)8qe$nA&$|`2Jw1;Koz3v zx;afmT?4*`7N9-7Hs?8`;XOT!79Af}1mqdMdVL|Ma`DWs! z3cKRo?1?25x>6U0CKQswxKXcNrT13=RzRu0C`b(ks`K{+D=DOK1#u)mPWt65dJmaR z;OFh_a0rRzY#&_Rujk|O(|NLcSLDkj?FQV6B*DsE_zskt+)y&zIapb8dlw(t`sz=0 zM@OlXh5m#$Z@SHwOGPsQ&QYR9dWJ3+?k;pxx>_f!HM;Blgn!d7M*(1;YO7v(ZxP+p zfiz96{l^FfaFMrScViT@GRI=QDcmNX>l>!0S6iSZ5gf zN~`u8Tc%HFjWlzIl-l#1FPXx}yjS}_;sUPdDgn7{QBfigS9@yriuvMZ|5u_^Ok}*H zIa@L!A?|L}{WN5O`@as#_IXA*ORY<|l1*=MTL$k0!#D3bqVL=rKT_1b?Yi=h5iaBJ z_Qree(KGQd{6Z7E!VtR$PeL?=Fwz@oFK(Bt)Ts9FRoT9}%o_!P$)y?^1m7Ao$8W*N z&tOk@$V_p6jqMvko|WGRNQLsH#y_jpCZc_QJxAlo1F)p2-&z3Xwb|rQ$IA*?GyZmq z3`mQxAL;!F%S$+Bi<=h@Epj&m4kVi90 z6?s z;VpB0$XPyx(?bv&${b(4GpiLc@OTt%Z$;}iRfgHTmJO^KhK`(8asP~J-rcAiP&cEW zL2*+d%t>t!wGF~Zk?P#3j2;#A(wem*9Y76DNg>Fno{3S@bYnv*PthhS6&tM)g)uUS4wz(pawh2^327yOtiA?sl zgM(6ns@iNBNb_x4OKn*jv}e_NmTd7qli0*$g00pw`_a;V6f?XS&k21Dts{~(s0&Xd zHCNQPbVEFoxF8vqDVMdnCi3M*42F;n8A484QhZCYz=J_^o>TSWm^ zMQ70QjI+qtoXdPqDFeKExz0|GnWMT`{~=tmcbmGX>Z1LSU26HUSY`rN0&OVGmvwc$ z5s!U1v-O(LA-J*t9fF^egcL|d1d6Tcz^QCm-S;jS2#zua`ckR&yMD=l1 zM>j=#c?7zrqhbl#tYWEE7Q#(JLe84OCOwvjyLtic(sn;8WV1xZ+y7D zb)g^mwmgn%0~KJ)YLc+XOHf(n%jGadFNsvyw9?02H^1+e$J(P1Rgo9}Ok}r@)emQj zU#&+T(}OF1^Kn-E@jq$BuZumGyGBfICnGa=onZr;3;!j*#j6pyQ= z%CesqV{ExDE-qVZ6a}2BH3?SZ>ZVln6Wv#iv-_b?H&&B~N=V^UDg8XamCER2AGM?7 zWW3O-X@rbGk09_){HyvP_a`lru=&RO+zOA5VBb8Rja#|}P>jWsX z8F8;Vn_1l(umKl{=gR2#DmIx(8WSzycsa%{%wA_la^{dQ5o6d;c9>79^(fbA7F#o= zCPF4vZuDR~CXyE`V58;Ve;msA;h#hq>-^>qkjAcie_x_g=QmN9NB^;*6|&Uu(0}~T zM5Nrar~8wq5AjR$x1CnK5KO_zA-7LTI-7feg~eFPIS?7|K=<37r|e^;WV3Y`tb{ON zk3>m4Zr+?C*n}gejbwl%hQdBHtnQJ z-xQ#bIx)$=CXvE#ds+?yWDH3?gO`GcK3)I+B~8GSwXdEP8YWaQ`B}G{Rn z!jC*&kN73@gfe-uK}8+3#wG}DB@lYGY*=2e=ZL^i2z{9?f}nuoVu|lT^$B`Ad{)O2 za5Y%2H|v(pNZk9iL0RD;Klbpc&5+Xq$1Rc-7w4n3;@r5U@n-B~4&z_X!i81*EuZJ2KM%4%r2L*6nm_RbMD~U)W`;q-M#7?2X~?wVint zs&@dU!xa;)f~|B->j>fm@(ko=)KY0otJOdv<`ZM6unba^}Z>Dov{*m<0b0uv=}?$XysXg zrqw;Cv)XGqi&QAJTiR3RKcU@pW!Uhur$-VVy!+g{QDukTMauveC1G)G1GK3^3} zk*mWy`Hq_h?*k_hmE9^H=J2U=R0}?;ljs2!XVr;)DU-efPyP$a`{X5jVwS7wn6}XM zlc6Ma3dy$AY;vY%({DhX?haT$HP&i*y-=eOex7}99T(5qAON|@!ZcdAj^*ubIri>{ zL5BKSWEZyHyGfD4MrbDJ3Z?H>d_*58vB{DY;={<347q4xs9URT*ivO}>Nlf0kR=5E zfl$?eg1s44hCO1(G=@_FngD1i{K7-S@UerK^x`_nGvEeioVF8Z5!+mRdV$@`o8x*u%@+*WoVRAz}7eB1Ei7q?@Xr*D$nEQ3C!P~WYhoQ~oPHSV2r7`I=)rQWPF8~(P z#U=~YU{hwl1kgkgi9QK1&n&2k)zy_g#Rtda>++AU8h!i6*R5yS?tL4ycijd$Ejo19 zko_t(gkRqlc0rmrA+I&09D4hkS+C8k*CGqc(b4W(p?1OLXib_F^|+MYPx^=V>D3%} z4a5<+TUP7g;grY2fo!&ee^Zu!E9shw-;JTlSt#?VHUo9kIvRo?yw@-8;WPWA4eAdN zpd*k(xcWYRzhNF1aF~V`CL^GMif!{*KeD zk1bVr1Rou7j6`sN-7qm*y^a9_qYgPYzmYFZ44AMfwBT5(a;IRd9NMcKHkUO{Hl+>l zy3f}}(Nkn?6x!YZ%TbOw$Caf2#rygKMl)$U%f>oZ z&Pvd!5ChIcdcUo9GN}#4vRL4>I+^YyRHV5da&FE~-V+rL3VlS_A3RUDOukwQ_+ILZuu>07^vr1`OXvMJsr~y9l3G`XSu-sU zv*zf;>Ahrn_TJpG@)N9FOi7fDitMoIAKhW#ai@Qj|Dx^Y$_v|n5-<9H3n%JIEXEU1 z3fWdX;_trzpMHZY+=Dg_P$qcWc_7bm1N_kG#}VK)7#j)_R%22B7R~JAS1;c@fBXE0 zr|+JB`|SC*&)@!SDuUWG$nnk?k-BTHH<4b2m|ep|9X-)3GRjd!szMWo_Ss}BLE@MR zOoVc%Yi{_V(KXku-uB?2@sr0{4Stv$E4j}&)dqoKco7ph5&c$NHE?@`N!lF#A^04%kCjpUMk+X}1C9W0kx;IUOqgSIDI8n8!wonA zV!L#W95Fzi5BSwCCkm$xC+K6p2Cj>}YZt!ydskoQH@jUxyaXTz2fwdJMZjoTRNvx! z1SNW26>;x}=(a$f3^iOa^8y|5N?2ytq^?<Gx_G7<$9LAbca7H7fcqj$ zB}OnW;*1}7Dc&K0SBbDPiqle>16PD5MzAebuKeFvt&2b6_KvaU1o^Q`*F)++#0`ic z$#6iG$yp^3VtgDt&ne?BHIsz}K$q+kFG6n`*6k!>Db2s6y3=T)h07 zzpv4y-3_v`Q7p=sBdzbbsrQZWqBl&~!w5fyx3PhmHt#?0W!(&sgXA4cRkn!r@KCwG zZBM>f_j>hET$_sLXQgAQQa9gl*W(EkW_I$^;2jH(5YxFAHsylNSsA8c4Kv9(YVFis zN;*-UQ>8$V-m8M7^Zg&GGYy4`m~4<%fQHx6!pCW(cwFpuhmdMFeIjEbNXKE9_L>Yc z-QTXgbRup>avH~BMoaE!@w_H2hxTfno&9*3p0Cqi&(rxjeZNj`)-xMU@{JEF#9TC; zt5<7#P)jM#gZsiR>jX@kF;c)zJc7W3AqR~NyuJ7hSh5`gL6?Z>(JJl zc-GeTgE!4UWc++w_zX2q?0*Fwi{&88_OZ$kx~eeAC`lt(SQL56G;j+ZcKw4F@Z~x~ z>%EN?0gKaU`2YNGV@Y_1MS6qphs`E0hoJ9=ZPTcBytq;n1DFkgz73~pT$H7%G2J)R zY~fJ2iGSSD#Jt|!fM4HN>+FB>pWm;u;s5);{`YWPtBuOr(N}AM2l%5QKoqyqMk12h zadSOy+In=Hezi`rEc>Tl`m-Xa{{e1ydd# z(&BuC-wMxiqC8)%lgPdF^X>@#Pu9DF^gme(Eocykzf$LaHVz-D_P!zbo}EJ!!J}rp zT3t6WzZi$)(=;mZ#d?^1wRQv3;qL0X?tNZA`0F|=NB?pBZ~rry!q300vu#lV&fHtb z_dW!8td(l35{2)#IiLYrZ^rEqmh5P8rH15y)=mGmW^aXTc&YN`5FVIHD477X^W8f8 zW;IGie_fA%PXD&n2lMN722aMTYLTy++uN;4PijM+5vc5ri05Us*308Tm96voN-Zt> z9eb;(YU~}Hc<-ZkMY$?UeSQVZm4ifVmd^>qvv3kwfTgDX1kPD;K3ai$+o~w94h{zJ z_oH%ISH+T9UpOWl0_uD}0(H7|KM?OUco~KBCtatp&imlhreQ;(Owf>d7i$P6|84c= zL%FbQC}^bULNrKPazY_K6V4<7G$<=@`>TnPhtl~JO^NPmw97J z2T%3>M25SF@yffpCpNlZ0)nV&QcrDAos!5M9OPDL2n7< z$2&O*6#lIha`a5HO5t$Hwd}20Z>l=4KZGzD!M!{t|N10;)yLkNh30o%KQ-F1FwQ1m zGk&NilIQ`XYeZK#D?&;2PjvBhuehOf3s98$;l#idxu%9?aefXB0hlNy(Dd9F!2kYx zI)n>K6jFgxPFijVxXHkK3~6qLU|~8su@kaY;I1$^PKooI9H*q|njClH8mQP~1pMz2 z%Zn>BvBGMM^&BeZAWb*z3#!)|LwtXr=HLMRCmi*ddFE^P?MCFsX0@BNJga9(_hKVjMhX#$iR*pqHn7+@NEAz z=BB*cc|G+yee}BBnv1}R+3mVrm$kX(V_7f;*@@0M7fq}Y&Dplk*zQSeNx|4GP?cfNF{EOEu1k0|B0DLDOkE+Os69T&xssJ6%mS{JlnEL`)ztlK@jEau4h=rt9z9QNS z@4UUOdfbFe9|UuLZ~&lwRnnt!Csz&2qqw@%VDjLicwE)BYBp85EXs=~)ta$b{LmNg zAejS1ex3!XdMtg9aYlIe92{t7)+*BBnN_Znf_qzK->(m=ZULN3Wv+3}Res#N+X{OO z0)+ZTMC(l4eAb>@#ne+87qL5{QLViotXBmAQ2LHR4#TWN{>WPBc(4>ntSO=l@z#pO z-fq%gch?4q&1ETNWk=NPPa7*{yOf*~5gR1HKzV@ltJ5}N_T>F}F}Srk43ofd!0xa2Zq_DS;IdurJgtq7sP*TMacx!VyY)x7wkEBh z!VR6Wg+WGJ8g-Q?mgQEDLX6cg*)EZFsLmF%Wcp%3f4DjeWP~*OmSy6A9a@Ag!lDi0 z>W0bo{bE$6i?qf@7R*zb`fZgPY#z%ICRSLOI-{96V1u5hW}(VuUbaA*w9Y6d0khc2VS)jc)W$G?r($~LlK@cKRD-4uupQkH=_YI(rI1dIHS}CQ=7&<+{DTm%_ zz|rxpJeIe&XliyMmqOHUP^8GHS8$JG7v0rLr((o3SMViVP}~88wkXCXv#VvJy#?=E z*E=ksJf%xfnVeB!Rq5w2BT~6LYn-9}4tZo}6_j6iig@~8Q#TDQ+Q5XrZ13lwzlOCH>(a3p6!E4cud?kZfiuI$JC6t)LAwXe1Oyu#91PT$ zol+X-ZCuf#s1*N&&z>RCgwcnB3$=UNMd#gcE|Ud5$%bL*-@B?iIJV%Lo$NNfE_ z9SIv9rc~ML%7H~5;$|L3RXUg~p(vLc-iB2Jjwl}1X*}R)qu$*EbP=+>R~sMC)4}~f zQT9|#R4C_GS#eg*P;$Vi(TzXjf4H9+Q?KM8OFKB++ex0%|b@wknCKWI2W?l4410SixpI`Ebw9R9{ydyKkYCboP)x+% z<6^y`W^!a8iPV4f_Qf~4VjyN+s4tM|Ng_v+lVdQ>6M+3XrHmNnhVDgc;v_MSKY(c6 zCod)~M-Oe`Xsb5qA{uK?=nCqlzBu`Sf-)w+sjmZEAiQ#%$S3U;snt#quZgbf=$RX} z@R6pcxvZ{NOM;gV@Zz;d5^OlQRE92J1~`%qyGhOz=%|gPbu_HXn0*lZa${I6e{Pe-zEFfEf&vCc2lFP}BLUf!bFJHXM>qgZH@WTy;|GmL51OPgQ z-hBpL8w$9PaZkn)2@M0pR!UfmUu4s$Z3{>LSDhWt5}Rp5OH{Q|jQm=pP|-6?pgMl@ z)yp5>F^_K1WY{8;b7PP|uhb%0Vyr89(uGjCF*AYL>jrB;J9x)z#0azFN~;#y9GK^* zz%?~$Z*$7>wX!EW+1_jjPODa%RlZPoOgP4p)SC1h%1fGnK;WFt8l>>LA+rZ;3H!^c z8niZcR3x47QAiasaG@c_rH>oRRSwK8>>o5Juq%W^*Tp^M%gnB4cS*_C*lr>$6eXiE zjKeHr`i^^5Y!uwwlV$a7)xK8Oje1!wl=X7kiBWw|Jf<@7$^FD~)JCWQTA&je`gK~@ zt6(tZ_Qo-o6e>F4p#MCS>{bGYg8!cC;p{pMTvp7MtAqM&y(*jC>%>)k`-WyG{5X}3 z++C6BlUY31AJa^1vG+uJRIQ96nd~BA1>l7FIdXBEVdK)hc93acjF@^h^av?aQh&KA z`Z~M#-43#f)_cc|H_nofQ&5!7Cbze!dXXP`nQ?TCdX;Ryfm6I*Xf0_dJug*@w#H$) zU7Ai$+Vo0&n5Yyr0F$z#VAbEqFUPMlfEM1j(y26#JNp<_fR)uC%Qr%y=6rLxIfT!m zU*Ws1bpe^GQ#FAXbaeYXrc5AVmR)R&q9xX`X{ zCnVqgX_%d&i}_1O(=MqPTg3zE^)U6(G$?f|ZFA}J`y=y9huK#;rg_Uy!DULtCPgQJ zgUQ-WZ`i1xukJCt_GBjE8Q1 zOW7z%p1hqIj zOu3q=ZbpY`?ffX}NC3Tgw2>YOtn@mYF<^<~(sg2SX?BLUYl9i2(NJPvyKW&drJ6}A zXbd}@Lr-0giZ3{uij1N=o0(j^Dm$L4hjI*4WmmUwN1?o^t7Wxjx{e(yXj7u)2_*8$ zGJ-s1WxCbbT_&o-36~W_T-f~pPH!61R^kD87e?%J;8MlMO5^Ejf05G1&R0T~!E+R; zHC1rftQBA0f2{{!7VDH<{q!A}U_G}l$5)}%z6zmi2>w`s#L*wXR3=O_TjG(vTz`zt z29#bZ4T!9$*cD?DF^Z$?tM#fh4@IvIuhRUoPvxg zHl(60`{3ZqHR4Z}#s{>|N*$lG(wnnVq{hP*PVbnx(q59j(~9uF_Xin4xa*vq+<8;w z&f|q@zp9#6(q7960c7be4SKh08-$xp0NdQ4)YZ0TQ9OV*CwZ|}p8&!JW^EfRiiwOWdrcU)V+{PM~zr4^D*Ekbc z3i_7P21H5LH(UYje%Avl@gVlnXXyY~(uPEZUxZlRJIZ)GtehF`FcmD3AL@h9YpySz z<8wC9X$Js_87w9K@*8lKQ2g=R zY6G7`3QD|P&s18@5(vXl?CzEL)nJhfv?IkiGL~aoF95HMP0d*e6`8J?7lawc`A<9t zKL6-=?&gsM>2bev&tKzS4!8b&AK{gZc>}QSESvNBF_O<7hd)a&9DuRb_!DKJKT!va zS8uZS*w;^9KK>p*fA;#(m$Dw0fiRqf?^ci@z?MJ^Bkxw!yRSCPof@wsbW1uoxH7Rh zj$=V$&l&bD;QEQTjre1^?Otz^+uM0h8(lANy6sJ_<#`_7A>+68hpn=5ekyfcCU-xVur+23(91NZdz>IQU*KG zQh$2yMgr`xT>k;yuyn79KA&v&zHm!vp2w8lG4lq^<&GM9S4F38dTneM?A~J&IQ2OS z>Bu5o#dF~e5>(RfM`W-E?t<@#D$@5eRe|m{o^Sk4lUR2jimQaug)>tt|blzce^UajAdAN+HO?&b`BWYW8SF$>QKZJp_!n zzzf0U5OsM+9+)LP6yPHYXrW)gr-3@@ZXr`}wZ$E*wAHT_Fc0ixtj5h%v09VvxA0ypt1Pv?swO zjwy;`X@K`M>S7Wr*Mdmbma{0V)$2D0Vl`IpW+U`j@1m7DV8ftmBxU^$DRqkRJJ;rO zrena-gNu4MlsZO(~u^x zFq*5g*>o?nXDOpnLVYRZFxz_B;7fP%?%sX4BfJa3>dz>AqgQ3A>A^sGc*`AGmj?a& zS>VdyDmXrJ4m@5#6En42>v-BeR0e!lYJ$}nIl~Vs*Z869FbOp<(3+#H=~Zz)T5ljL zxaSEAoymS(k4Uwxy*4t|bhGcw=(Dp2zm&hUztpqsN!opOkq#dWlWCKEcJ^Pty!qw& z`1sNB?6YyJns!u=7ngbc2>vi`{sMI1^W#%>)*hYACIS_3k+p{>X3S9F&@Hga2Knu6 z?%NG>cGH0C?Dn=WKn06a9P|W$Z+KwjW)k0$5NZe0P}}kT*MrYeaN8`-M@#S3gHPyH zhw}!3_Rd?H4VN`1Jl*UO zBLZp2S;L)XKUvF#YTs7ZnB|#h1@sHWvR1>DI^wXOzg#osAg4Ypm&iB1*}%NAw(<5B z^tK8EGY*voRyxtHB-}e?&(^)W>81|v>1Els=fW=hgO2XeDl^aiNXkSDDxG}@u`{lNuPVK zXyhwD!+D9*+0Qx4_{%sON}-UR57HfK4Ld_I4@*Z?A05i>@DkodZrqApN@W%%?x-0e zYVGi#)QJg7*Fo)KlNt+<)|E;B=hAUPbl&+clq&89?ltIVsz+O=ji$8Wi0h4)xuN$a z@K;qu?gCryhU?`7M64l%`xma`GV{E;n`qvp!hurT(=IT=fLqqGt|= zc@Ik1wxvEn&S=X%+Gbj~F~RB>kU{ZLy)K;eUWYhZm&?S4nQ&IWz6#)V?0egzMBphIZp6L0Vo*|&Z=8)P=U9}YisE*r;f;YyCe6>Pg7*8=BMo3eb=i`mZDezq$ zDe>8uBmivMEa1>~X`9-Jj|B=zHnx?Sp%cALdO`}<= zrmd?F`n@U6DFWJR0|;cQgaDVMTU@He)f*&)&o9cVR!`rf1gw)==)L6{WwL)mAaUu9 zgG&mL;x>?6m_fV?5NWV#M#D3mG2*De){hi4-^|hneQzFo3VRKbM!ef(Z_Y;}z3u3n z%?rrs1Yz1`AJ}IB4So<#lFrCr5`iG70Q@n1zrm{xZa7$T zdg?7Ww6z0j!>u~$z-$b61)2Cp7Rv(rGWK70u+X6T$uDv?L%JUX?>jyRznOFJ;ITVX z`V5T6$lx4l=;S&_5hmHM!( zZXjIuN`1KA3}>B~0kNoC&XY4~b;g`DU$uW#A13XX{zw;Xy`l&FSBhqKdZhnM*Q(9w z5&xCK$+=P=fSO$?dwBjz_>D=|P1zd=F{WX6rI;v^XW>cjJ~qVMM5aO=){KYgNuE@t zdZOmlb-7T>?Cmx3C9&lgHsOauBtGe1j*k;_53|{8tawS5RL0wepEkXTo5-+Kyh1^T- zAxXC4_QE9^o8Nn`)OZ2jJ}WTN#kv$aPWrwVQz_{~#J1rslaphr!i-vB|y=pM8s;K|fV?bdr`?OCHvz$CK7* z@MUedJKBOJjl)Cru(WB=M=jVvyYAbK;7jx6GIJh)JoR9JWXw3(Zwqfyk?rTq= zhE-N;{|)%LfpdS!>kanZJA{)es~S@b%_jgdXbd}&o-xspTC)yZ8)thB0z0| z|IK_}Kg?+q=UIDpJxkY_I=h~+B^91;vgWiHt<&@L8X}?7I++xs^K_kF!?l#wc&;~t zEHf?Q`fNo0^h*{d2(-F5A6<|b^*eg2xr{D6f4v!9phP-42TbYP+iG+UA&hB})#=-P4*>i^q*m)e*zmF zljUu);TfT!JouujRw^%N!}M?B>65%wvtjz3c=WWct9mv}zZTD46 zP^_KXhp*Me)8C+^5)a>~b~a2)`2?Bi*)T2S!w>6uwVDmF&(`8hUM&z;Wa zAd2uu%{+V6p1u;Ywmmy(KF^x@X)`C&_{(!~tSlJST#|&eF&p)*4 z8>9+@Oo?A0UBa)Ij76rzFOOJ&)HcUKO~H=Ae_|`uovjRN1cq2O82w9ssa^gjRPkRo z6a4>g{QplI?V59=Mu%;BsK{yO!FT3`Rs}2kA7t#cYMT54AMu~`O*^Mb%enbB%hcg; zNUy)%Okj=j?8gl~P;-2+$clrXH`Dy~c9dtoZZzOX@wP8QV%!13^p59bm889=g#eS zad2>MDL&qQ=lb?rQ>M-M1;=-nxabx@^s$5RZl1Mgm$URLQ)id*zPrKu?kb(9m-fD! zr&sBvxbFs|n@rqzr}He!uHcG+f^@}9ZjxlXb}pIC?d@ojT|!1gE4Gn}a(!?x*iZ)^ zK`4rSpFTz}Q}Y`EC*I9BO0jwwQj^V+(mz&AFcw*MHBYbM#nn8$ zgx@Pzw#$Qq-wW+MH~75>v4b1h(OTz8-wc5LyS*I|c3o{f;+orA&g2m-f9VWb6kjKyqRcU$J2TC+nlw+Pv-lpixyRRUR-2bwEciK4->tl z;9HO{T2%w*M30*5d0Q(*iC|(`ex08ZC=p-2(|=o-JA;MiCLLa16K)+TQy9LHV^m&v z@7O({D)kHUo+Pze(w(nBTF^qcC^d>VHE#1O^;#{edI{D+srn6it<%)?X*$EoO>L>1 z`=sm9uR4uc0J{C#TNcfNGAWFbXx3WU!u@+~jXR{@(m($RO<6+`tI}Lc(C(q%sfgSC zwYzQDg~ixMkHbhN|7197IN0XW4cbj!RB|>M8wcWsCu&W;4x%#RwgL5WJkQ$*7?J#> zG(foK_z$IezdL|R7H2bLnFr`6F6o6c5|S$3}9@1 zSo}!EShiIU7blhlOhufX%f1Y(Ff&i*qav--x4>B3ITDiy97fZT&$=}lo>%oky*ByK zBb&}RSEBDN?sE|?n$b-T;wCwE`u+>Y@G4&}{TCWNwp9&S4EXK7f9#pWV^=_X*^)l9a5LO_RrAtD6dS@zBlK|mZIQz+T&$9@50pv%{TjVr~x;K zB+c-DPv%^XVg=)cp6fzpIeSfJ`|-8!^p}l+E4TdXKhXlKnRb}@=jC}(7OncGsy5F7 z>id1Zf`g#{rv23O!6-@66ZLP2H=O4-)7kS9L)?q@123oBe^a;EWae9rVo3kPwy>(I z4Hz8JM@rS%an!BC%cf<(ZIfWOWNU&j+-o4Cq%(KshCFc0B z8P1(s(}GHe>*~5u_h}=j!JMcCTYN_da3EZ2#5##AaRVo%>pp950l4qG4HN%Ek}lQW zt~dQ64j+A{33t$sd%Gt5xsCj;Rsc=t5~gj}Grz`G=!?G|6t=n}TibqKQ_-YYUGz#a zj7ERzsR&F3N7pz=V#ks0~UiBPB>Hl31p-I50rzu&sxO zQ7ZrW{}9P8!-^$5q*`#i zoaKnU0_>vx7%!XNF^Fzu!xFe{8=J&M*46LdHxR7=6@gQ`mFjWl81~iCyWpDN-k!}Y zii`6e;>h?t#xT0!+z*W1p@f@7n1~$B7=Y5ih8{sc37v#j^FQl8 zJDg*{AEm|Vah%1r>Dn||SOXMak#fQi8d8$s!J|Cf=Ff&h_UUN91!&`Q$evrFy!B%4 zzvxU^11MT^IIdBkK;%YNnG;0$Fg7d5M1W;2Af|>lW4-bcT8myuIp7^=NEOp zxg4ggI0=(8ck)1$hyd0z5Bxpso$Qi{q2ey-X{|Aay&Zk_OSwHsA!eEIHp{Fr=nZvt zJgqHyLv7I;noOP5Glt;>td`yzwn^n_n^f)?%hXPX7)dHF`H3T3br8vR<{c;W9cDO+vkM5}Nx@g63Dg* zXyW-9fM0r>&*2dVc!c>tY2p+nqZ_7b*W4(Y56I|2vR==8+%+BGDDcBPJ4s*9vwyeF z1~2D=OMDIN-VgKJ*K_Tf@C@8!*d^c}W-3P)?OhRpfY4l3tlP9{7(tRL^3@Z1YjYb! zGB)yPYQKuAyr_!uf`leV6}G9G_F3_ps+;HFyK@2A4xIufO!*1feqGi2WlkD!wR}^Q z3-$I=K^TF_$`I3vW7n?NQlzpXtkQQTX(fVLi^4pbj1^~GyX^u%!d^(-z3|e&1n-H-()_> zYfosYvQeP5TIH=;z7-x4Wh_m44A&M(aF@4$<;nC7)drNOH1T`Gs{ofjltkpZcj*4y zhaF*pm^$kXu!S#7HlV8WlSNvnH*h{UQ?slxzT z^5s!gu09Oo!(#x=p7Pza@~=AULmX}x4~{P+zHxVl-R11!#!3pH4E8f~1t-{Ws9vKp zY8%z(XRjVYAb?wu?A0Ds$>L#UOH!0rX6J*>G$_NwxW|1tU$!~V1E3nu_4 zpb+bw244IG{A-9sn8kwj6+5{*?l$6J+W?*sk%P8Nvd>kJMypK{9}T$ooU$Xm^c*Tm z@H$dH)=7ER&KNezss0y4tw2Uu*)2-L;G@OyUJ5ilZ4c#MVo!Am_1@_qByx z^V)P0`dWN`3Urj$y7BwY`DHLl-F?b@h6 z=tU2XPpNT))ZUnXupT{#uG1*+Z!bk+=xx3#F3PtR;L*1!T4CN`Ik>(Gbpy5?(l1TQ z>@UY@&PX`?tjPXy+=(1YRko*i>84CFDV(0o@71HAJ8X(J{@K~E#2~dHxNUD+0NqdL zRohnUNtr^_^Q25Mc6nm*?ljq!#Q#ZnOuXD@RdRQa(*EH{Y=B{Gb%tq^*2(nS#i&U* zr$G{RWnf0GCwhOkuTvXirE~%XZEg&VbAaQ(##;#q5s{sAZjqQA2u;`34I*#78bMn1 zvTBd0;v<;aBXCR~a&k?8(lL$(j=*V;;z)7}8aUe(PF;^R_k$hMthEva0;>jEyyI#z zsjgxYu{G|RWqSwugjc3;w5NAT*R;7NfBan{@6KBUq(p}F(td4mV2La4pf`t?UHl$(G`q!)g122hNY z=QrL5241l@gOmB>wRMVcvsa0JV40VtsP89JA3m1lp2y2Q7v=1YFdmOvKRFsc>)!F5 zWR_Xr^9MSdmLVn>_BH@fK(4>O+?|oLxBUb}9*y8i_4#X8ZVztG>5gVN5RTMpU(L5g zGm`X)PQ?(OK3J>vvRXbUng=;xkLC-2AmlHuRZ1M*x>~1f==A zx-K!@C{?5>v&mQlJrjnlKij`IqN)Y$JmG9RP%@C5P>=uP0IY5G$&A2~JGz`674VP#XDrC!g3g;ui@ zTR_fYaKG@4^1Rg<34{Q%DYBrdfPt}}LF=#b_EL=HY&NyxfXS?4`T;nWm=a03HdUL6 z(OG$m<=6_wRq0j`UXhG)Z`A4>letaA7zA$PnVtY-Y)^*(U@@EwxjVy|i|g1)DFPBQ zRHg1pm@=7fPTN<3qTB{=$l89ayLML1vaC3(W(NoGce1Sx4^6^Qh@3cuRhX1#)zQfe z@)Mb>iMgvRYkLxFz;ZzdCH}Ds=h&>`)JX&FJS(!NEh0Ki8DpW~G$fl^ofp5Eq#*{q zV2FgZ0nT_Lo1U_@SwB=~#q42uR?Hyvleww?)ZiEeQ)lZiH@1_e+ZPFuoNG)U4}3IM zk_AUEzjUmmD%%*=^6%+3{?ask4)rp*rCH)d|}BZn3ILIRPlUBX=OLO3_YdklnYEa_L+;It0p6 zJV4D=ewuSBuHRRr>qml7`b&uuq)uVROf9~&jN=kjFbvX z;YC4K{OBia;m2a@{5Nx{MoM~HsXbKU0!<*l=Y?ts=seoFc4qG`D8`J9r@Q0EaFe_| zmyqjOc635iQRyli-XqMWDO(ZM&;^Gz$tD}jM{t~~WRIa@|K3)%ZQ`WEnf0?I@)UQG zLF;55s+V&D^UV=9eN^>yYKh0jPe2f3dwV+^_HyAQ>Dk=pBng3IpVv3^0SvA*3X{-} zryMtFDxLZ_k#iA!$=<$DGBsS7Amk9Yk+;R-0ZcbG(FPUp*U}o$bzkmD>nZNjA@g)=@Gc_V zxrMBZAkY{-hhUSl)}%w39cIB~{~spf?UD=3V7)>+MFcrRy&pBBJwDn)YKVSE<+|?I z`%p4Uvl5as=Xp;-`&iSjpLg9gmVTMrMq9+mk!?;-$(@6fic6-LlX9aY0c>Xc8e@6< zn@88X7l&&KTLz6W_Sc*CgIC(N34(fO)iZsSTE4h*03qVVd$@S147{TuU8;-f=8A-qJPXDGXn zMj&~ozYJ4MEoCZn(Q?=k0 z_2-ZUEQ#P?!Lj_ASuV_68DqInP?yC!9gdnqGdACCaujZ z*XftIAf2}mo>Wj8F5Idph!J;^+C;)LL>Zh<^8__s*u%;brAD6^t-C*!yQ1(T#MnH9>S)B&^)`+vC4B9b@#yMyh0W@mt=(SQuH~H#H)kkG@gdZH~ z5S(F(CrMK(z#LW zXfru<(kL+)tv>^7doL(3+kHP~!BV;}nzG-`rD54^{>oi<;Os)XrEJ-?IFb1F}16pf! zdCul4q9d-lj;gV^7-Ea*^X4ml@C#1S>kOA|j)>~T^*XYg8K|R%+<1q>^Lcb91MeZn zW(crY#JRx(%S!8B)9fLfB~75=H4vJt)Z{xpPKf%!Q6=>&Q|%rIH_)&15g>;bh=xEDWe#6_rbzwO;0!@5E-x^m zW!T9MtB5VVJ{uM>)Fa06vmCD5Q$TJgDI<|M*#F(<`FQ_R+vOt-2WhJ)s{KQ zc(MzNwOHNWwpZ{dt?*>m{>e65>B#PUea81cSG7J@k}TAM2=2FS>V5Z%An`qWrlvjP z5BU$A^V&IM!AX~VMC`1~rTsj5+GUBZu!mcp_sTx1cb)e-t&R$L;*b8siND`5@7)-s z-WV3R;%^ROw%qF|!t-X|Vrq;w1+0pRO7()9T+slm^P5c_U8JOCm{cZz+jqN735E@| zHiby;VU#Z5iFR~*R_7NQ&o;vE>j^soUGh;;zRy?15>fQf+@>51d=R#h+gs&8`tGU} z*5{}w7X*ZKbY9i#yhSMj-k<&}IfFF-W?c0!tYE4D zb)e0pCz-FXGwrKcVgQc!UkGiX)vvW-w)3G=KSrgFkD&Ik3_aOmL*)B~(12KhZa@B- z)Lg0bCM3_mYRNvs{=MrQ{-5;ssi`Tk6){YEv(mPVZA=pSpioBVDf+kQ!T&v z5cI%j>5Y8S8s;Y}A0D3`Pf8mbCp;}3gO)=8vP_>C>2|uaJRh}AV;SC69w|UqG;gbG zJc{9#*zLZ$?>d{SvCNLAPn)ar@@ zadbGeE^_3SA;Mnrt?2a}lpjvt<1pmjSD(kfDX+x2QLcsv-kBF*1AmjR6%nmR&3zZb z`Vm{A=X(>2H(Uq16q}6z0A>j6Q`KwO>@PQ<;gk6D`aU60Aih+{mNT4aCpy2H=lEV$ zMronwdI3Am5Objo$*5y~+*L0mfbFXlL;w3feFLw1d!*_MwWC>h9r;#Yhbq)ta}jGj z-D8eiF*9BsOPX6RZO50@&5OMJkaTxW*6!*lx9+&9uIq&f%SttV*{gjT45nDXpka;z z47U<=b3sULjpYYm=0GSRvD6SXc+AqRVE$2x0^XLr75wo%uGVuhw>I<^n9CS#*+j z?;V}F&?zOt1^nXBOc74a6L2J_nOX9m&crwb+YBKni`BcwHY~$?BHOv_K`&xE;l!|I zMYm%}(hMJ=DZ7}r2Z*Q#e49`F)7V{M?f|yyYn8B&)#Qsq^||v(@|ZYDrP2GS&Mv~e zy2Bz#A`+Op(zNWT;31Hm3%hFGMf%F`sIzANb{)h2lU4@u204Ny{Rk-J04U@u)?N)0 zvqpz7?Em&9GP91&_fI+lF2nzULK6uBq+m#Opa|Yy(I4c*GU7 zmI|rZt;qPkJCX5@uGe=_`ObAw`3_uEs1Yr9%jyN}d%;fU;H6W7aav`CP%8;ZNDGL* z_n-`|FFfgqh0y3HB*nU43^3hPPw)(VrWw}UgqhUp*XyDNc(pSU&t{~iE&?5R@rQKa zq)U-1P1}w++rpu`(izsL-add-1+XTB73Qrm$@C^cgAKdg(KDP~)Y02MrM#)Vh#JY9 zP}LIC7*Woh{%BU}ejTDM!aZv5(-mP55}mP*cH9rz)#&wXIHRG9$@<-Vq%7NHG)|81 zjyw)id9@Cd!KCAxclUsyga2r%5}dJU)QU#^EkaR|2_os-qZzajKc(Gwdpdv{|1ZbC z&O8*XH0XygD4owGsGTB|BQj0VmM*Hv8HCr(# z-9KK%pxHH5E2rwilU^;4iEm83KURhgu%?)loc;yw2D}%aXUh2Q68}{VqFzGWi7Gpp7Dq>szzysZ z891w}9R^M>QVO@6$21!Vl4Yh&Jx*g1ElM(}&w>C<>uQy68nryt7wyF81#}yGe`Z*) z?$eml+lNA}mY=dgVr$Ll$W)}h-+?Z? z;9qX9!Eq$6%#V+*x7S_KV1BEHFpc|aGwK)k#;J@KmfJzlLbgFJob+`ZLr>?*YtkyU zdza66)5E!{uEb7CO_6R#Ezs|v4tScHy~k>y9Szx%5{SeOhIajqVG2k_tWt;4amCYp zra`+(-#uEm15~+`EJ}4nlAdS%`?}H+pFVD)W5GBye6Vp)@;8a@YniE2u~n=&iAzi( zo09htsbJvy;A2ZeCawFiebaT^M>$Zw2;JGQ+}ZaBQ=ke^PPw!1E6Va4nP%`Ef~kE` zl*Kw<0g2WLI3y~MLy!&4meyFk>2!{YUj33LWHijui>q?XQtI%;o=hPW9+gG}XORu# zWyEnP)6&&iKvYskwP$5uM4y({FB25C%qm3s^w8c(4g(h4SfnlRd~gi)R?ZNLy@pWG z5Lh>%rlsRK?D(_%h=CFu65Bdq58#a;w!mL8-sDrD50K2L_meOTz(rRybxlKn1mrXx zP`acJ+tM_kzrCt)tIvyF45?y4ga#i_0BZFW3uZPJ_88r_Rbowc)Z|H78wyJ;XV zPCzeLBvbI*HfIshF7Ifk#CDANzsTCdlWAd#7Pe@cfhz{NKYPp}utwgq5&+ojg@9K+ zcefym*bWG>80!=9HIdA>P9vo;&`0w67rd&xh9YdbabOD>bnBXi_Y<+rj_%7#iyjY- zWvwVSHxVrxy{H0FL^rCR-b3%{?Y})t*_PS(6DDnRyT9YC+lH(*+chu>U^uSVsP=t} zb`o0->5_rvERC#kSwCljPK*pao5C$U)*!f*sYJa%aSFd`RB#q{Nfx^n-LaUar4aFTctS**;6w>~w_cJOkQ$5I8x6A067E&(~TsMv`qi=It3+mLJ z*&>-4>qm8^Hxs0PHqg!G5+_+&LF@gjusvE1FyY`}s<_9A(c<*ICz1EQ19u?z<0ra* zn$ij~<6%Zlt|&JicR~qL5!qM}N--5&nSze?fI^^h<8ug7n%;>yWJl~7k~7U|&UqB? zC})jxw!y!M1|wVl&KisJ(E<{DE_UtnIxW-HKwHc?tL7G97BMrW<@~rKD=}00D1&S)bCXfWGOQbcd0)=AuJEpkV5mkW-#3+`SPrRDOyrjkNvk5X7jKG zkX~bwR{gukT8|Jz;H+l{>^abqO>zNqC0#X6%by>g8Y3t)GO;F6p#5%>4vM-d=xQ?3 z<0SQ-h-iq!ukvN+wYXz=5&diGpr=LVh}AaQ)u}fW3Uk%7DI2YaNBE>UQUFqPl!MQK z#&IzIXY#1)LBR3V_y>kRJUgCEff1-%i+gE!Bw`oXB`-NWnH-(SlsE>iQ$Qe_+2^lP zMRyx)D?q}rQA_2~$rM!*7^lQ`DTnbYjK;5s+Hs(~)a#Mgs}&SgRvw;At@X=o$z=o! zru6uKq#YDKWGlu)Bx-n$>_uBZ&kSxz@fg&`3iQR*)qZAN+z74>mmXyarL%o` zMOYwxTfH!4{US?suIgGXzbMLOQC_?TEl$4jOI??!vhu5WqgtD8P)xxqgODNwiC zrEwE|UP2OCuai1*E=jkWx~S@+{V*A>s+(aavNVeI?wdBJ*7&?ZUtqq}5@ycmMZ76@ z?P-zyh;!|;VDDNgqY-hPI<-rQ_mqa7qNL+=-=z+ykdI7H=cTYSkRXxmVG?2W4oauW z>nI%r5p2&pQlxb#QJ?9Q0PTC!l&ozOA70<3Wb*?g{t(?j4r=GDc_H0)ryVyTim`$;( z^m=&ARWD`brfzRF-76{0p?{`!EVuo(;Pu@>$$8V7OpDQab%INtdj1ypBU|d81LQb? z(p`WO@$;Fz>a9V{^xl(#79rpq%*UK~+HEgdgGHwAI?TWHeQ=P3VJ|@T3y)pWd);Yp zdkeFS4L)%Xqm#q#tWA|k$Jcjk9WOggeHG-jde>btqQvPv;{+G<&P{Ug}!C z)+{03%8Po^rob+#nt%diaGt@dT?rz!Z;%NYJaBT69V%agq4vurORq+`v zg(FwziC9*}XHWvP%Pjm~XUEgt(ZI3&nsW`(Zmu3GvZ|ORt&?fd)2V3%NNDxpA%eg; z#$CQS-YZF+-d1llR*Gr4P9hPcp%i&Es*VcGBDkYcCrDJ-qpg0)+OI)~kkKnYUi!15 zQY9DL?xk|~cV#MlaoEGSx$;yctO2ab=6Vf@3q5AQ;Gw@pvQ~dEw>%O)SaX%-SIim) zP_eCz3M0qgXI1@HSIPLY1HTLAECerzjBpQhrd9EtE(k4C0s?eLZ`H@?Dg)IwM4=-c zbUHu=r>T#7;QEDkrn*1ZI}hO5?-HxWGlMu6yFbAR&Pp0Ze{n-vYX!-BKX&)cl;~c| zgr2+Cdm2NTKqO9h8x1hP5xrM+asJ`aYW0}*%hGejwUR@b7FKeweUZXNmDW(Cu=i(0 zvGSwgWSD?r8bIvO5v4Fbwp;ZcFk~yjMFU#)^)MgK|A}osf;m|G9V1G zdd>C@m1=wxmZVcpx6n|75My2M!tjkDEOB~^1(bpBJ|`a{39Rn!60ufV!c-JAW-~pK zJ1TA}&SJJ)#y5`TWcrE-S{y>{vCFUXtgx(==4Ytlk;pGG86MIdOm?bzN@mS^=j_mq z9@NRUzKhQCrmmB&$!e|ogO3|97wV5|ELNrvCy9R|Dx}W4C?NXsD{m&ucElU#?0A-C z+TGByVQ0r^VdU5Ol7+(I?JYkd$3lJ@x>V_n`uWKzd~i6N3=bhw-vn!>8)>malkaD* zeP_4$qfL=*mqoJy^eZi^K-4RXChtHtSw4j`)x5|zQd;h)mX@+fH=5~nd0kS2K9=o` zNL{F%sW!;>#^2mDoikUw9pmOlWLrF{0Sx}j$U5Unvu&f^{hl)qAL`Iv^x zi%*2x4t5}FB-}&cZm5=!pCbhxA>W4P?VZ~e%Ek9Aya_jKF%}ndc%7PEs865q%dwh> zYUkNAyht!G-pVb|KB?j>XC(XYn1w3os(W_arY+x}a3oS+0&2k0)G|!BjsAPmb{6Wl zBIyT{KpE9dLJ*l0)6JX5Rhw0bXN9Vzc2$Wre$)!pRM=9YXE|RkADbC!o>jG-0lDZY z2vKsJ&5j{zVAjCp*WZ*i5;JFWF?(q5Be+#uNu7_2J}1!H>MA-)0LtZwq_5keyjF(% zB9nv~F?}c}y!Gh`wlFEBKJ4$dU!QELaQAoca80`CiSv?O?HI2v2;&t))qTXHII)A| z(WjD}O;j3?Gt66%1{7`L_70R@&L~Z9KG~{{GHm^w=t|cGClkCD;h>{Uc)YB>t=dP< zwle8z{msTzC}*ch+JzbnX+Rj;xRWg-UvtnXB|y2pGIR~5_EEWfhWnKddRiiqoPVzn zwc-zH3g{x5e6lUOze`wGja;l?t9Ox`#)2jH44Rg%a!;2x<$ssgNzEY(Cdo4Hi5eqa zcw^jg|JGw4kvXl+J$&~TitL}Fn})OO4CU=5yr(FR;XwnoA|9nA9kOTRoI+IX=~oGRj^rKf|qByV{FbO z)C9{DXNm5&6v084>v7j?cRtH5Y&;8kHfbFzic{V-=I{qy@6Pt}0hes^FrjNm21xyi zOQ2H2)nqp380{+a##a)n=w)R-lebeT0*BhJZ#VIR*k+1w3sLojaFmbL7qDceSC$8n z<0(vPGu?T?N)*IObbo62wzHCocnsr`@F%7=DFCdK)sRyn%H-5JLp`b*`Zk%+|Hj2U zCJVccL|VO28TA4w6{?htX(PZHvvSygd}`nflPgT&D9$^18Y!AV%)q1NQsfA8XuQkC zIOo5Gyl6hL#;J-eN$JRM8G3{G_Z2C$%215UA{AR-nBI#FD1v4iBK$uXTzNK`57Jv; ztAV;))kbO;9Q}ivtMsM@%#2B!R;UYXCS|IbES$LP^WEY-&SP36snLFrx##XLpVOD= zHo~^?)tmY}PGhUxvHZ}RynL;$8#JZBHv>}t3*p9dCP?B69@c(o+knM6vpTTVm45&o zAwi!)pV<)j*8pgRNq7<33YFiD{j>%(Z?#q?!(K7=U@as`4&1G%#{+_0dVJlq)%sOk zZB*TU7y*I$s<^mZ6&IHviUPC4hf^cSh&EP6$f#(ZOUq?m*%@Ve4 z?fbcqv$@9E5GwToRjF?)YKQXj=H=oN?PbP>OP`BWs7{zFzdnnUh3I?7JQ;MIFdQZt zM8U(JcyL}VFk{kxQ&%_y)`4uWX}%=@PpnxJp?r?{FHbzvEcfkrCUpTZGZ_NvK;dX| zWT!3enI3{EJMiPaICd@^wZw`s7^J3gL?Si6dLY%kZ)C}21^S`zi~BV0 zsi@p@<;{;dzxt%=NEl}*J1P?+m36@woSFnlgc&(Q6~>GpGdXnyq;{<4{{UP_2&pQk zr8OXToI`+x4V<{fY?!l|K)#g5M-vdx-@V$-$PWoo#`?+1ipe1s-VYB(LfMLpz)aMX6D$U}< z$}jTLEi!O?04g0}=wi#6*vJ?@q>;dm8r8Oyfhav{K!>t~sE>TD02-BXJC)8fE2pKJ zrNWEqNjtLc7h(m|=)~{SE3l8#Ghl0FS31!^1R24}uWW-|`+%P@uf|iOzf(LW?>*kWxYc}+>f2OS;QP1a~EV+X#?(Vl#o-pjPUdUQ& zPi!v-c&wxzycK0mh49$ zbBi7voWr?kMa6}Ulfgb9@*(!%3W_=f4SMC%vMp-R{j@04OQOM0CLyjRhj916)TIPP zZgs&vuwTS(OZdb=F_#a76--?6yKN+aqbCiTc;x^r zQA&l7yK(mwKq2IXuA!0G-}!RM*;ydzsAzgR6q@ztm1IkkX z%D7ovs&x*mG*E*P;HnM`e!5jMog2*@*T(H19BdFAS|CubufjYF!d0(e(4crngl7e3 zjdXJh(nCB?l%_e%1IW(oBur}!dWD|iM(>4%SgT_w5#+!nhD}gcUfJz%RrwjV#aQkKAc+L(A+tB<()sU$_2q6aY?d5OnY<3;}eardU(Z5zwF@L#dGvb2a8ljQ#%u{X=ig*?SDb`AU67NDJ2=8+rScF-cgG)Wu6^`>m zX`_#LOO%fC>+6-paAY3;7L1W>xOd>9eXdHI0_N>-%%&WOSj?H;^zisH7L~ITFSJ7j zuV2FUDY{d5A;&Zg{G>xTYMO=;F6HtId{VEHoLOXAgUl)b3RI%p7(80*d7nE*jSgOz zMYTsru3a?g}92rw4`}%Mz)`k2Dt|z;<+i#|7-FJcLqgBOy7zTr$RGHd5#>pL^9qfo{lD zfNzlRFD-9tQgC~o=Z(Lml4(<_bF;C8eVc7l>Pi{Un<5(`8?d^#%EVDpb>ydXM~Bpr z6O%XSTx@Qe2a8VMnwGGW!;Q{u4O}``bpyHNBWy%g#yt) zcS%2MT#B)|yp>IKywN)=>B`?OMcq{8m$8*U+q11wHj1{KzIr+Pg=q1TezBf$dD;2} zYtDIfidEzU6PbmZ>t)_3W4St{!P8^P!1_)i^|m~zMfJ&)Y{II894MS;Vr0L7lZu&* z4l9z?sQiyZ;aw!Vo5Q^H`D6x^GRQ)%cTHJ|<-kP`Gq=Yj5jCM`TzB~(BXk>HzvfG{ z*Io_-`lq|Yw=mm8UoIavCaW zB@vfn?NXX6PA%Cxg-PK7xv1l$Odoxi7o3?)J&H8+i<+lQWpW==#}D&<0uD=hgC~^Mq-N-w|kk z-c_aEaH;Ay+e{xWon41wv@MO27#Z2ycN;`I+vgODUMoFV#WOtm8#!>wMPF51s@@jJ z;48wQQ$_f3NIhVywS~phe&pNi$tGsrlU;A*$#-@(kS7EdWBipH7bCWS7$U>9ayy!8 z*;X5sZ8>I2U7B19Nk@~;8FiFqsNgP}7NPB8uT8Z)aloo}@ZF|5mNuj|&J0lJxm-|kmuhY~ep(HLGsbF`J}RKyjhJ&NQAulL~1hdiAoWv>iZ z-F=jlcE)tL|Im?TX5ad>%(vg?7cGcOcPkdtg{kxO_GB8pb1FBvt;*tjqT13(us3pv zA#^u2=HMf0v(JDqZ5VLpd&Fa#^i)STaF0f@^SVvuba-NAH)sPb?Q^xeE`HT@B|wv4 z^t_;S@N1*6&28J$&2^{&wL8I5o_GbyfUAEq&?Yd^d(|$el$#Z5Y`w8W_1Fx?(d(R% zXnXcPB3oQexkdwmf<&07#${`K4i4>Sjl)@A>l^q-8Hms4QND)ZmOI~V1S%Mb*(BDD z;E`y(t;6mn%Kbvm%YZF^QDoFS}>k@p9wyYf&Oe z9Uq&M1_9-8P7F3)XeHltZXI8%-lQI)LBxW-*xlW!B1>=kV%+SC-QCR{CvDxZ#Vq?5 zliz>#!njpYLQ&FlQ&j*^B8zh_eX^=Zo!OI25&`BWZhgWJ$5n?`rUSM&sEL*Z6vyT5 zsMokJEb9Okha6`8q2x+c2N8^S${)J&fu=nPLJKmKB%42JW2ms&j>tFFoS499krhJ< z<{1wS7cJLYNv{2w_#=>TQRFu_Kz8aAhTY<&l-&)EN&MyrdMO(G zbCkhNBnlWsic~g2LxEa^C${EHO?`7xH`VydrSW-0$-$w55#z`zM{TP>_~JBn)3D|q zdNMaPGTiS5zylle*~%+-xE6T| zl&qI%RSS7C~k$d$St6)}99?4FF`3${Y_rl=?$g z!QEZROQJ5RjKLcE*ksm=_Psn=$>MyDm7>l`H$z3suqXr|?k-lCRg5T=ETnapOgsSX z<~E<_qIoTHc))uPKkvcmn#)@An&(mTJ{`%+Lm0igb3VL0VR|KBPl}8o+8wWC;ZRgv z`3~EgERN!lVgH@$U#8_zKq45E2v1Ra)|Jb3D)9*LB1&5Xz7aB+o|e~Nz@Uq|v12e$ z3%dNVRlY`M-aZ5dvgW+xHji)hd~E=FD*EL*KU*e(CcVM!<$1dJfB9{4g z%4|4_-kO_RKXa!E0K%J4c6wCwR$RC_4P-$qZ|UZJo;P_co1|=ZgFm}8vTtQIuAJ=R z;6`+t7$kSkt*e+4u7=sYg^Q}k4AxMTqMV7%%TrFt_7Z?tR9gxaR!%kUC4jiv?*9_& zK6c#&(9no3^pKr$#3{TyBUkE<`K-7YQ?0>vSCw)?`#RPkJ3n31aqR`J0{9w365Qa2 zhX2vC)>Uhnu5GvpWpA%-?Da~i38yPV0_30$C2Df0cd{~|l~(}cm_+ct!U|s%<2-Qy zh)h>w@u}7r3dKn5?VP?1h_E&&cY{xiNA-0Mp*t)RO|3#8Bh>)6@`B*F;3xasTDNO4 z)e2uQhbV5YP7sW@070+%ZnLz-^jIzd8e};SFOQ%5_5$FqtDBtS0L9=NI}f6Cz?i&) zSUOj#21j)yE~WB7a<`6VDU#MKXDt{+XPK_GGw@7u144cz|GmYicOG`w9{s5Z2s_T* z*PZ8v9fER-JTRjpHKNw=Ny+)(|Ji^1J@P0mH({s6#~%(vWggNeegUTo<%A>Qft#OR z2o+*QEhL&cbFq|;i3vcv&VVRJs2$V0OM8=yjp+fco)1S?sOLuXf+#b{5CQ;89>&?p zV)20WE50O|pWZ03P2%>!EVp!LKhNse?4zwdly`9xK-lDe{d@_aUAI+!JQV z&?b|ybEZsvl?!z+Ejv2?E--o-#LB{^5aH1+p=ZgIs7%Kiye`>dzCl`=-QJoNCG1SK zqC!6y9kk5#btTS__0ZsuJ}7Qu%4s}WyGYSG6Xxy}KZerf5ll8GV4|wIf^@af6{Aqo z$B+|H@8kK&?YK(q%hv{MNy~KYKvGJFUvP-si%TBJ^ zWqfvP2A`IRolbWpY#kUbjaOh1>ZtiEr^0#fs^t%|YIV43IeqM2wd-40*=?5SUs3V} zdZ{Jh(2f=jT5u9&N*74Tw%v)bE6<+jlZ zv_u;7b^c)x=N%20CW8LUu2ql$6WbY!(y7$)#~5BQ#x4`4V8fU%%zFU1LFVkdtje2f zuft6^8NWq0J->!+1!gygl*r%7@!eMi8}H-gxFVS|+}yB(@C$hX(}&0ke!S#h&bkxA zMNMNsn?{bfyUTuf2z@MN#saV8syvA-bp`Y*S_37`v@Ey2yUUfNP=zcZoTU2hZb$6y z?&NrBLj)6xFp}kS*lR$teY<@!D=L33L#1jsQNt= zXH}a7yP>cp%&_@=3zkUTL#_JyW95I&II98U?5!7sC~A-@AK(|V@j9mmo6{LF7dtRN zbsiYC*|?-^8-WGrGUK@D!AV=*>bOVl?a|2w_MY6zm%r56TVM&xgfV1aFOR9Zt_2)u*f3|#?{$r9qdyppTD8l#zEKl9>V4O$7$cE=xIxjX(m`HI!v zOr)z#gp%SlR-2KzVX8KhXJ25-0Xhq93^Cx@Y>aOQ^lT11U76}Vz2)nbt>v#>Yw5hb zqEhlrOQ%=k?WN&X>~X8N=KktF!NgZ_f3YCqhUHLV&u)IJa!$5TQI5UUqpOB5pulH> zT-r6fKikIE^G64Grn(&~mrrZgS;IGoS)E$8R|Sq_dMo2R1vU>PnWU$rhT?}^0#@{Y z(QAT7$9e;(e&@H~6u{gU8!c56l{S#OyVC}Bt=5yNwg7lJ(iv>g53X_nEk(e1*sT11 z-&yfSKj)(drI{P(L0ik9l?Vm8R`JDbknApQOuhGk7pt{tz+@?FjEN+cnkP%Ou>p%- z)u>ha1NYs zTQraDU+KRt-3`3y6i{7$v?x;@$b0WK80oCGy*6mQHI^KVZ*DC6itOoljlzMMNKpV( zXp2;hMMpI9@sp%YLL%)%F>L=ze*-+aZ7G637f{ik+f~G-0WF5s{x0cQJ9v=LF59Bh zeHH$3{|Y;I#IN_LlTAo69hYwIhy{$*GQpu5vmt zY@A3lRFDUZ>N{SR42|(#ZBpzQ`lXs6Ft(hHivc4cnT#Gnl09vlp4duJPrrf5HAUlox>ySa7Wh{nLcQB?U> znHId&fV=P`hBL=leCze-M0`tJgjaQba33qu_T&9lm*xZY7)N9ao2w%4l$tTs7U6RZ=uwzYlPB}yX|^{nCKEeic~~5=m}=qhOFsNrX$H+S ztxkLgB=@xqy>NF|df27AyR{AdKmsh0fvjD5PK$IeT|<$XE|D^&S{lawebUEZ!`Xc49{{DDYbs3Vf{0lYE2g;EEo7Q?E)8lfVY6jRzCB4UY7| zA0_KLi0^03r~<-Wx@=5uS?-!pB6N2o_zZi!LvJT=qfKs#%c8t3Mrpy-Cu>N1Q@y}i zXJv~PBtj`>)!bEV;;w=lzzO?Kwxi)bwn)82{cuu$^uJUuA9otHVZ>D^Kp@Ced6%J259JtT5Q28}}Kt^n%2{t82*821J~o~?o(Cz>q7 zE^n1uSMBW-S67j-p;OTrcQYpL7s>}r?E3r%%a6WvcN1^W|YWtV}m%m zY^7BrupG9Lh2?nGB$otiBBkMi2DQW?=0WzZEF0@Trd&|aCxyv2B@=5}?>LhNvB1u& z{Q3gLp33UP5O|yFdvSX_oJD;PXkx*x4{+IOOkDKtj>NVA%T1RjFOrImhym`J9^d+B zl=>DKFbEQq4Nj3ZJT$mNK^Bm_mne_3Pq*88oISsFJCyxsZ>!z;@V8N65nsdZs*E9 zp*sh+_ETCo1#Nxk@-}TMc{NTf;${F5#LW`tRd#$!+H~NzNaf6)hNEvZFgh@jQId+9 zw0UJDBjyxP;7!zyh3m`B_#NLpXE0#W&CT+ig>yPGuF}f&cdOxw2AK-LBqiP=^NJ9r z(JuM-x4vaQXYu8<5VywV#XOHfzbViCrc&@lI+C{am@@YFYB<)Prea=GrQ=+ z+Ry+3NjJS>C?ZbdI_uO4dEZ)3@2GV9?JbXT@!IGNY@nb0zclxU&y|_kJb`#$($%@O zeD#CVvwz<5{=I|MQXm!oeZ34cXs;rQAcHomL_nl=F|sQN$N*nJwghUSe?t}RKWX=w zvEcZ4WFRYXx2Lq&zQgYwvC6-gVpTQs{C2zs3`(N2DE6|xzs_h0{EA9zp?W5=r(k~# z1AL77tC^DP842wt3^h;cAZkMkM)+Tm6O$x?kGo3E8r|S}B{dTog zyJX+_*MPaQYJ;w-M6vt}G`fQ;(q!Va!9`%Hbc<*FLeU-K?|9eW`&T}AnLWKCU1ZQ}c;Y%0raZSPUqn&IBNX;a+0 zg6*x4tXV9gW`hmo`z)GjnZ8Z@EF8eBcxJ1VthU9(-cuw%n}pMJQDvvp5+ z@vrWSv(!OXD4x}(Y0-gRA7);@rZ-LvZhx#YaV)^cz;Y86auZw-jctMtV(6plzg@mD z5OgCv@QB(De5&=AF#MG^@MasC2QXecDVdwk;k=%x_ikT-V?V0aD;ebX4HJ7qu&ZCz>Yn_TAE&*th+Sw?yffHM*!kL9$^&%`V3a4B7q zr*oE3|9jpC>!)cbDN9GDpTH0gjO^&0sBc!-D8J%!hCp@{y1R2z zVv|$MoW!|iXK{I@QURA7BvDu)D0MDKdy`Hl3M|x! zrUWXv;5XRL>subcl*>Uu;zR@nojdI5$Dc%T7+?Vt`;$t>$LOtmjAZNRu&yuA9ClW; zNuu4+xy>zeZ%NSzlEX@u=63U7ID?#Ve>2RMD&-p(>gd-Z^YxEdN<>UJ6xH8vW^|v- z08v1$zx%I}4)#kr@3bGhMIHypHx6~AAV$gDX9wlIy8}v1Rgxa%f7zEV*$NV^<+f(O zkp#fXoix(K+p=z6$j_jG71`5|w_43?eYFE|d&GH%q5ilLqZPb)6$gkeV$thG_VShx zXUWkTtzVSf%xc|1zQPD*>45tJ0<ES@Sk&n4Q`k#C<)?|ZHq@q}YHlSe^iA=0s7_s`?a@1DrEra^^a6Y71$?U>2AyRdnBnpkiG zxPfX^M1TU=IQPu;wVeY_LL?nHhr7E~$E>#k7iI#&wag0q|0a{lE^--KY<+W!ukl2Yo*R~flq%ocj&sc5PU14XN#bwO zZ`4^)HtKVN_b(JsE$jl^#AAR%m1^LK?>m>7{v821{V6neyKb-gYA;`9m=AJ{mnwTeQV&r!QG|_A+aVU>iM{Bf8 z+k@-HV$oJ|f;4{YjwbyQ-Hnt*ULTG{=hQFf2d zo3S4e+C-!>!5S&JA^o6Nq_}CwM6eH1E&5G@S;XtgqDBwj(o?k_Rh=s~iu@{d?$Y*@8Sb#r#I0INM%-lOsECukC zD%w%fVFcCF5=vUPXh>nf_XQ|44HZ1#pIfn`T8yuYeUTAMRw(G>6l`GU8wy!oOJaV| zRz|$oVl#vNvmp!3QXZ(GfQHx3Alog;km_hO*hW%T_j6(EvsH8I=R)A2cGyVT zk{}Q^HKM=Gqrn%A8M!s4n?ETZf}k;saQ(5x8TaF%GF9#6Vp7E zo~ZwdvYCj_vTk&QG3(oa>SxxhCO(!Xx!pO|aj^@e8>T@tXVlQ*{Z)Bz?WRgqMeEo+ z{oY|NjhDWu37$h&U~yiY@9yrb0C2TfR;64z4)VmK?ahnt%4w5V=0&Tm_X`NNsV^!w z3pdzrTuT$CD|!hAKitYv^B)dp64Z<}TF8sqLbo>y=bAUs-;BJ=1`f(W#47sCILl&oJJav2pB>7RNtYI3aOY2fUTf-l-4SxmdoRboNLh~gAyNMgxb!mt8i-HblszGtY4B2cQnq+9^=1EY}+yS$|T&&bg zXlnO>Q>_V>Y2(;ju6j;>1$wqGX5fWuD1pCkAWpK^o}oAy-^aVVpuBdp*G7Hq@qEC9 z+9oEl!059R76uQxkr0493<2+O-KIJu$vPJQQJoE@HNf0&tMXLT$`s|DSmljaBE>?X z##%ZgA0{ijyZ<|9%Se-Ywf&L3-J~eFigb%y%#-eY@4=W^mc8j^Om=+t8}|SmJ6y;A z-nn#7=74F`2$r-%Ssc9o><(277Vgm)kMzHFW=&rQPHfjkQ~|ae%7C*$H>OFbl#4O^y+Ph*>Y^U>)H4@{PmW9!IXmDneD7?f)k<6U#Sl*0VRPgWc#>{SPV)j@ z?Yf=`pyExMTX||?#lx4^1QntK#>cA94g;VNksRqmi=b){nPi-_wE8S4-Tk^u)l9Br z4bO4x_?BHJMmN&!B-U+bS=_kZ;8ZJDV#(4iBY{a{CzM&Vgxdfx8t8;D?=XB6Sz|N| zBUz6mO7-JUDhKQnimD8Bjz#7gL57>K9w&$5sFn3QwN1p*YLRz#BD=OpT3J6^m8X|M zbVEPmTvszz>P##K<(1-TQ+f3aiP^{OSj`x~+G$ldRBn{wUt2p>MAc(UzHWtnqoZVj zO`Cv;TTTp>gBl#g&DRdVR_4!<>hlA%p=xp)a8!u)JsEZQq*H?h$m8@Ew6Fu)l-9F9 z3I!5gf2XUwZj7ii)?6_~W2Z#~BSon8eu1D$mh5uV)n89I!cPz#waEN9sQ4~$FUfw_+=ZQ75nRshB^Lyx=5-;4duO8i&X2ctceid^->k;D&-~K@=S0~kFxIlj zoQ&n={$X=8^X(Ijwb&fo3XXvLY48f?z;>Z&ZX#gqzz)Pw@rCX%^G*NO(b7ppTJ zsxV0@WExo;=(xnn)Is~^YikUV31^fF-`Pl?+`aUwU=f1jMrV!;G9K$rqMd|qDV72u zczH4&jnXjO?$JCr^gQaTNW3-Tix81~`Vu+Irg~LtY-b;L$^#{Uc;){DVT5XvHh*@2 zI)Sh;3>E$@ZCAJCi?Y&YR`5XSj5E5T0l%T~m+^ z27b<#0~0@B`k-^#RRMcWo(k5)ODR%*IvKA|AWV7=MlLf4Kf6p)wEcQ(0hX4sqKTQ= zstA(CYsgrwt>r!1X%ipKYq1y;tckr=Z}ZiqsIsis*P`U_i{;381;0msQ~SQQmgzbM zy4c-SbLU4-k6A~m#MqKb3=Xcl-?_eSHWqRk?Yv~MToBywTci+^C7&|y}YKfdS z+t#^AF~YV1CiiA_-G&ny35Bjl(07F^D2PLGt29H4TVD1$20S) zu#Xn0@gZsD_uL!SIU11%69WnAc!pu;CQm$EO~u}S+jZ|cB#tb}$$C@&^1!ZQ?kL(_ z2Vv1Xz2bnY-@l1O(z>q}PMXvN?pRxQsaw%R9)VGdz}y$&wnje=s15IiH`k54%2&ow zmQA3;hY{;yuqBDbE&Q9VNVFQy2qOx`ta5Be1dAjuaPKZ-Luu&dX=9gWVb#}HtFhBT z6!IX~?jfiuW@vg=p5D~T%iF|Z@9Bk1_Y$k`_UBr?zNprztUr`Drx##KRR;HT=^JGS z*4+{;he()R2I^n`c~dT!lkx_M-eGfOWO_UF&XG0#kH#;;X9#025-rkG^aZ$ zc%N7)E!Tk$vbYeHY(9LsCMylJhdEoIY-fIj|ED9>k&*Ys^v6%YZuuW=SGrTestycF zsrl}Ad6dkrRfj{Th}xT5V2nbjKBp<3SsrQ8qG7lSb0sTRwbm=I!M^qwg!>}S=^l!s zsXLWKbRa&2;R#OE;G_c`yKaJh04Yc;1`lk|{#Yl2OuW-)i>|k5Y~hM+7EY>);2D$c>=cLch`W^|S;OaJ zSj4F1)uxZK8i&P^G4s+;LMb7O0-X#OQUU)@y+o=%101lYP`F@23Y(IFCIAj}D1xU-8+5Sz`W!U~xn zX4pUaCMcGE8(O5U+tl$vPu8vTR?{I(-0;`L1SWvpJsLPd;Vy%w2?pbr+p(SE*N zEcm;SoWzxM9mDZxAc4lwv4LnpsUfG!vH+M9RTewACTXFKEun!|PQ z)R>ys7*H0y4#_Z07QWYikp(>HUaWE>J7=5rxa)k2$V4keoBv)F3J2N`wJJ$6rJ!xC zG0vZXvtMA0187%ofof@Q0Bt9Ms2n7?^wS&wDQosB;6bNdVm_2V32|*)IO+Axqq}7U zWXKR(p(+j9ihsk4NPT9mA~U52GUiOyha?qA>H&^Ka~q8&mazCqZf1t7g!$s|M{b!8 zh$LzU=K4eF$b`KXBRQxnJhRPG&9si-*!c{4zDpslzh~=Uv-&AWQ`LMZNz~!!8_+V0 zj+DgjOjd%-Mh`%(d2>B7E`rV;_`E=YL1d8?%MdEh0enAAP(PT(m_~8VAtx1Unih`ui>p zuTMVBcMXnX&Ch+HcOXCv$x%9(-7+3}qe)U31rsk03o9{X^4b_pvYun5>4Qdi5Apg- z!0RXB=LVec?uBwgHWZq_&{u{tT{^1CG*sP!QJU(u3Y=qYK-4xfQHw-tRJ9#<0oVVV zR|$x%DWr;uEo4CEMe3MXF$f;p=6fCZ4~)Rud-Ih#`YCi>F4@P z*=ecFc}sbTS&oMMe%rqNvb|`vvucn)ErVFQjgSt?qjr6?EYdqG;0R8)wXo{$l+`k< zMOW+ABq_!TuDh88<%AdKg|K%`fcqtk+Xe5)rG45676hfcX$5|=?%v8O1dxbKE(yUf ziQKnZdSUi(c3j5rWf4M1!b67Nd+;LC)Xvd5Hi=bh#@sRkF2@P!Q0O^tL(8kUi|Uvm z$AwI8K*$xWI81M0oLq`jE6b**5Gs9aqI8inNP+r~%%rwL&%WJUEXv_${^k$Fe%j8! zF&OankBq*H(F8&U;s$@r2KkF3$|-MUxO3E1TmqSKw7TlPF}eeKO@F^wpNr;)29%vl zn{~;Wm=XE3g#fS1az3sRX&sI0p(+tlagfs}MJZ@rDI1Me! zD~kLzhOjVfN@l?%F;|;+xfWjjLL9f5Rj2a4?Cni0UPwUF0MTW<{0S(?DHF_W24X)v z_RG<}`s4LUeLb3u3iz)z<5kiiLZJP}cjNsT%-h{bx%_f>A@b$jm1y#0yg&P|`tbig zJ^D7;fBFxQ6gAmj-$ACQ->jSVyMN%Hf3^NH(T;%YwZ`}N`-ZTOQhX!*1Dc9#;K(>)||Y{N_RyRu%9w9`NINwWH3tNsHJRsTz1fo`rNgZQ)< zuRD4SM^CR6=DoQx_oe3psl_y~;`Srbjm0>qOx1C1GKOWP_ew76k8zTBg5_~`Gh1-u?%CYlnsW8;rFJY0jQT;#2(b$Cr2&|aDE__?Hwunzyq5KE#j-?6Fg>T!#cfyR zEi$zjFBe zyfZa-ksIGGnXct|QC8yPg=|E9ou5J^du3HeM0PZC+<-{=B+tH#Ws1fv`X?C5n_1Rx z8+|=9&?}b|OchU1*sDBN4<`Vg+q5Ma4(Jw2ET73@DU0)(1#0!UZ-ci4EBP6XD0`s0 zD*F!Z(%Jz~I*Dj!uPjheH%{KTOl!oFwb5wd5RI9qgttjdIL^K;2z5+!5rXEzouIY{ zMYvkGu8NrJh^KHil$R-5l=Yqo*D^O5(6`R>vCXkZvldSY?R8~6aOiDM8<#|*J#$+)b6adPx5cKpt;Kz&R!mP| zR{}o@?ptXr;2gR-%^UTUGvAp>e`JCUu3zkh=0D@SfvyKq%Er7dy%@nVi7zWy!0=^l z=`(uzkXp;5KAc*q=Y~Vg)I~_HMEZwQ9nbCJ))h+Y7BCi8;f5x*=!%GV6NYDcce5g| zJT*FxN89jd(bUBZPT2{Y-vB`p@M-F?VrQiHr4yF#&+lO&`nZR&(-Bp*oAcDUYx=xU zSy;e@gE@S}B$Ma{W`Jj18NY^SGAMuEofE*`JLrc=#JP?~8s}bs_WB}=B5O@fzY$~^ zB%=1aD3&CjMr3nkY;#CTvb1pFJxY?FSp4F$P;LfgP_#r4BQdSZsu_>RhfOMu95-DO z&4SBAUJ0~((w*E1P0gPey_^cn{xSkU2a0<*7dDK2k~fGYBX7&=C#lj%yheR z{7Su<=}PBIah8Jy-_#op1$uO^I*t5hRi5T6aX___ArrfF)TTla7QT7kFT!UoT_P7^ zbqzXV*A_$bAX&L$0E*hbM{yNDP|-1&1dVi=QEGLJN z>24T!x$rk9v$8{!>3E33&(aaokN#pJvy(J&)$?Kib41wbswHNED_ zYHasJGL2-k#BHr2kER%uq-e{tN6!{kHG*}i1&`F^l}>|@nz5jr5SWEU(%#hlXx6VC zfMtl*s_VL%`wYPe2EJ(!Jo7z=5v|P|2y}6)4K2LwY@v#VZe!fK#MIXQL%P^Ujmss( zQ9=pVt)(}*e&Wx0@VRfF8JkQVy{Zn`2`|~0s!+r@6G}@P7q;B(Sc+R~E)6c-G|`Jy zUGDQA5U$NQWRk7nx4$e@d_iTaX};=se=2|&uZIut7h^_9wu>s_8f^p7Dm8~U+H!@g zceI4D8+;wtE1cxD_$Mux7Ouj&6N~ib8a#e5$;-QwG2eM97wLL$zXn#g}Yn$7?xF!wWWsska!Va8p4jSQ9~Vz{+}0C7a?n~bM?-4spo2P)5ujlp(oq~ zRrq+3o~?3EWG1v{C?Atz=IC!^ZLRh}scx;|lID?N>}f-MG5kGoQgFl~^}dCULjPVc zD}Z66+&IP}!h~+f$VPdiaGk)H_$U$@l>w{eYBPyd@(I*2%6Q7=z+ccuT~UmAWxpgqv37&ntA>HpCv zG7?AqxS+wyaPaeHGGRD3Hag-W;=-(A0ZpEGung+E_Gp$60E*dbLf9kc=f7OckTO%f zrEWf^PNzlC+j$d^4FRLY1WqgAE5B|Zy;!(j33~rCnSr8P-0J{_rw*`stiHit%rt{Y zbrJNdOrN;o>z5~Ef#aIiHz##dVOXP7gkv<3N@IoMMGANHWr{(P`1t=7TTWidJRT9T z8!`Rx$c$4_iP|LaL_q;lLa#wF@Ex^O6-lg$~i9~K*%OJmjfOf2ddeCIL!H;9q;E!vTSr+i8J|mv}r|~3uE;??;u)`>99F^ znrXC>c=}dz22VUiSn+z9>d*5gxM3ob$8vjDM{Jf% z?tu?hILVtHtp>OJWNH)q>0qx@H=jpdghNyC5nQB=AssUHpTu-`|JHwZ>ziBa?yo!U z?CYM3m2%*bMz-kV$rxYV`nta;Z&u59;#5fXJgHSo33e%~nbp@Kq^Qw(w*fX~NzJA^ z^N~9OZCR^tG~;$nT{mbc*vb(DHaVse2+N)rR**nfep58w*ujUS9Q>}k=Av(+9Eg^# ztLxffJ*?7B^BqoSe?0+XdcaPP+)~%hIrXMG72DlV*WSg0?|pFFHZ^|d<||{D2ki(( zo^*B{UBi$kMx2~};4mWlltQ8Qtnu4mR)$cgYlqTYM<^2Yf=%(Z^oMwnp%mya0Mbxh zP<{dwltnp6{K?3WNKBL{Ond32wcJwwx5d~cVb_*;fiItX8f5or*mM-6rfwfMy-dPX@y|yv0%AQV!Y}S9_|nzw_^#0g zv>_$4anbwRH6^#d_@isua~=miX~LuNB+F)VKp9zT&dL3Dk@#wP7v!PL*m zp5)2=->995AE!ajF8A^bd%^OCw_?Y2VaoK<$?z`i*j2i^b|5E(j-VkUg|=H>S6wMJ zyCU~ekh+UQi!yuk__2Rk(!D6a`2TGsKFRW?9wl4799`B>sCytEn&)B|OJlxwt z@hbiA&$8nM`tlw;+WqCnW@aB;hHTlt2wP`fl_4XBVM2%zTPiUnW5Xg0RYWwEc1nlX z{@ciK1%j*la$KH3X8_C9Bd-hu+i&2U-A_)P-j|Vz3bjez?rxu;DMZ;U2msMeS) zI9z6>f49uJ&voC{6Uo5VJ(5jaZAa?ei2Eg%cBN=wyf0PX9})M z#x7ODaTxH{x6g0gL-Xo(z8X9R11qDuY}Lg<4MtY1vLgP!JUbJWC{Be}$e8Nb#!WfX zc<+P$Z*?IN+5)dUb*f992~7PN-gp!BHt9Cvc3^muNaihx3g_IZ5AB}1I|8BS{T4aC zn5{;;JL#H|b|ZC)Exy_8?iMmnkH~QB32;~5lrd(My0?P~5@z4Rf)dtL&7ux(-czf^qvCm1B&H3oh-cY1;`p;8 za)x7x!_;9FCp$4(^OHLGl|9{HsqKs{b-KL`S?R0Yt)y0Uvi|3Qy_mEch_D&j7IgS0WT6=?trQ_m8|ne;GdmSg{_PKkDuxVGQI^*m zt;-1XE_6XuuR)^aub_mx;}_q z>gsA2%hcc3jt4pKp?a5N4_#lRF22dW!l{t&reucJ4&mmJ$e7BuCa3%eZ=$Ls`Su%r``h{UH-7uU`St^T`@{M62Y!3)e0z=G zes#Y6ir;>8zWs>bes{k8j^92y-#+5Em(I7BT9hUZ)_v3192`16;YU*^o1U%Wz@ViV zX`VdL_T?0qwm4v@^bobwVmlWH7Ggjev~DXHEDt=4XkJwT&Wswt+MvNex-hi0I$+Ts z4{QV~fb+JY3sr|1exA&rY3>7`3jQmZH`SMQ!{mzEJXMXoJ*61G`qF5axHC5s1QlpQ zOYmLRe{;*)(*y9n)aSRD-qhlqSm8;i(*kfPPQ^!&U%tc36>V!p^QMyLvdCBF&|n;c zt|X>plG8Fsr)Uu>*kZPKcPH!*1I}+QzzlDE{${A}i!>Uf#Mo-Pi`8;J6wibQfeqa3=@7K0q* z*`C7W&A-!Sc|5h;qFYo7{d-Pv4}{5`KYlzn(J=Mk#bK$7o@VvIxBwhPboEui#^D3m zu&Zn<$OggHoow&{FHwjlJf+|mdS5{u-Mi(KVr0e>S5VTEeV*!7Y|`@aN)NAXv|n_d zK7qirr|2a?pGx|)QW0OS^CiGVfo#aZ`BKYRPrKHQInVawr4^hn;ati|k-%RNn_DLB z3cl4-e-kD16=Vq#7A8Q#JdWP*`)R&5PM7X&lcT6nq0d~Y+ik-RE;!tn0tkrR|1*ZFoW zfgVL1SmI;fwsCD;@6lVVz;t%QMEb4u%;N)hj9Dxf*#?t35m>cYC+Ns9F7o<)ekI5q zc2S321cokh&YW5pz-i&(xWp{C&ZOpxeMzAnkBd_dxu9&Ffdi&*H4nfkI_^ zo7af_K*Sb}2{lamtc29>i)AdWO0lwcFys1LO(ckM^y*Ei_|N=R{k{RI^{hzqk2zw1 z7fO|Xe5-$h>E=mysz}oOL=S5gvXT2HV4lN}kulIozFkQOB19!UrgRo%Rom7Xh8xJH zgZH%fUSetrDHiyY?#Y*IzSqoysihEs@pghjo(ON9Tw=wQsh8fH5-^T!oI7eQ*u{khC%&l%<)-O?w{g6ilEx4H^d2-eAG`!)3J~4+ zCx)1^a+TFVS9tZp0a+A}AG19Umvr3opeNuz4Y4AEHko=fhGtWVVVTt|&Ue<>+q3jNs-VQm+ogCZ{(= zjT}f}O^an~%;N4jdJ;t(?j6nT+CfYLeVlF%0>Ysn7#wVLfOs44C4QJWB?BvBM6l8h zk<7Be{^|NO8MAj62>hqTxJpG@rr`IZPV!5(-56%VfSnh4qq9~%xk6TMk2T&gO1>Ae_#f2x_v9?e*f}*Y> z;va4;23gmS@$GSS0v20-Luss*#295`pi{4iwa{m6bUFCy*-DF}%{Q9s5^8Org{eIH#PU_o`PU7%SbK= zbgo0j%^J~M4f_N)0!l0Aem)c+W=@Ong`F?WM#XwXV#;CNqF6+J`yb&=t_yKt^`@?Lfh5I9LCd+3K~y>1%>Jo)8M%c$ zO;eAI2}Y-$439JOdT2MJ7!2W?HUk{ohx>YIZ%sxfhU)Wx#qHEt26{zQnoX@jAtnHH z6wHzLkqbXq82G_pjum)GtO~Sn$LORQ1Za=bI>m(T|9S%p& zVjOH;sLCKhTWM5XC8z+^uRN>o?sh8YK>$=cXO=zNV$*O1$UVxk-Sfl3L$fe@DZ)7p zJJq3D{DIDPIFNfB?YKBDhGJrOV<>F6yW8QHx0~8rGK=ExH{=-{tSY4szg|1-omD|^UdEaOE`gLsHypg%N?_Tv9 zk8Ra}bryrM2ZwZl2~uP7_<4MT_MK$5zHE8h4R&`Orc=V=P3^J!Bm&^MWiPF91i$&R zEN-{7zQ^wD6X3Ml84h_b8{JFa0&30KhCl&4P?m1dJ zSni7)W{r!aR(77o>>)!FLU}emLfRf=lSLf(L70{wYGhC$52p$t69 zE|B5DC26{rWRM9120qQ2_$q8=1VI}SyAtld*rtv}1gim{hDl0#jk2P#H^xX#)yx{wzm-eklXNdVClg1vYpyWBH8(Q$j%Nqs8#tbZ z{c+!)WIPnypqg*rz^;Wd^}D;6=}Gt~^Bug_@;+>GJCOD2|%Hb1MXNT3%yi15<-WGwDFD5UIE_qzgVfNh9Cm37V zxm1&NJMGD(coXsBqt(leR!_g#lrk?Gf;G+iW)xjiq6=a|xb`8g-yWhH(`I?Ytpedw#f49m=Vkk_ z6F`LVS64FkaMp{zMy$@RhdJ!qKJ@R0UU<^2Eiwnq)qlbu^VdcC>vqPc9hQRxK4u^{ zhuR1J>KcSvOXq8DTEHMdf-r>qT{fq<&%j&h7uxRbP7i~j0@*FbT}~-a;xL?hb|zCX zc$GKHs()OhKZeUe(XKOre}H<2xviNiSg!}D9vE~cvqbKuga+-<<_?$Y_eJ`9U{`Mp z7gX=y2lSBe=in>;)$LVg>;D+D^4S1J;5d@S^b+5RNU+)tlL0T%s9W7IW1vV7wMYcD z`;fGc5tE>payAg?Y>nuU+{e;~qhD<>@Xu=4eg?Q@DYtL6TJ;JKROxK z;$ZWf|Ir1)p**DJz-B|6kN+7%o2L6}D>EO2qKUqpqt-L=x3foCO75AoX$5^o#0pOD zVI0EzQXP6!di1E$^hgrvD1)aEw@<6swO+%e{!peYU4S;-U>P9r+T9(;wUS!m6Nm;K zRG|3T+nzWMl+Ay|adhQ;uK39_Vb%@O#xo#4LWBIs*0JuN^C{RkbcgYiUcc@Ej3kEx zBNcXqCgTp=BN4YKVHUHKteD@2O!qKP-Xm`-7Aoklz3?7tx9o^55R~q>iXBsvbuCBS zr0;)lS^RbJd5f|TqkHg7p}}EqE6BlgU%dBZoC8v;9yIsgU$L7z;JMUfr^1O?B&#zI%!Gk{$ZT&e4G{HQ0=AWTNgT=}=ZypE6Qy@9 zxfs86#Q3RTYLzN6O^HlCeli!fF@Zo@hvF!Me>$`{l|RnP*Jo8`;NYbW;>EA8$x<8w zU%oof@iWGMj(MGKhBMcbA7+JbhPhevOpqGH zM(!eMJAF8ll^Cn2SGfDs$++}j$uU*}Q28&{0N;tTUpJL3&PNC>1iu^TI|UgZ?XL+| z5kjrZ$O3S-Zs$LbM<);{VZth(EX8#tPV+`ACsgGGS{W(X2d_w=iDD}2pUcyHH7oQ_ z$S{*+X_(6T!fy&qK;M=B0mr?n?HU>@r%qahjd`c^{F5wgoo)~9(bl$>ug zGf};cW&NrkPR2OxGws)u4y<|3wRYfCD9oD%dNIH(0?fbZRsQ*nk}RE6BEM|0Pfi@< z8GiEP9Me}n!12sK9%67z-RQ6zJ6aQH!;Y5)Doa|{ePzT%U1Wb&f=~8vX%a*l2rbpE z_|UR^eG)0PTyCJP_*#37sX3TCh_)R?J;qfR#mk5XZYP_ruC~$+ftTm{0RY^Q?HBDs zm$h|Rv9ppG8uTF!hZ*qZ!|^1U-|J8rE2n0&rstaZn);D8qLd70j|h=95--jbXdz=Q z2%R=>a?Ml_NushuT*pF%m`~kN;tX%ZWCXsy>Sjcv4sJ=yxy`I%- zN0zHAcN$AF3)pr#8iyMxrZ3k!JxH=Gu=z$;Qg^;%r*YGS$L2xLyY7?nfp}xO(XaQ% zW`kKR`iI6WccLUddf()YFh|VEYEGD#tf^1b| zv8l$QqsD^Qs60Mme4rmKZ(WF6N&~VxE7EecWWPl_kF%3HvK|??PMun^g0Q-ss#O1! zJ5a%Yx@^8_gF-q2f7IIh<3p*agS|AAC<=cbinKT~_mEqmG6;lJl(S|AmG2f-0Usm=QK;;ZT2SE z>>bN9#lXz$Pe4u@kfL2mO4lM6(G53qR zJ3z~Ddt_ZdP+Vd5N6o}8AyHK0mc{AnW~oSQ{i-l;T>ov_`4~2_T9_6lR>VY&;}HZ!Z^s9NwKKTI5DSbg~p-v>cH&B)Pd#heTcGHEQz%QV5emm)Jw4FcCq(3@2UmFjCGW>|KiSF*| zySp6l7N~EJA1l)Z$?)RY-@ac(3tKL;VA3F$MHS(hT!BIIxXGS2NdPAxlC_CR&JM|( zdo0=|VVU*3*^uTc_HR2-EbU64MO1QadVhSN>~sGo?sm(aBJ;MHHzgj=aAU-xHb!|S zvNe$1R)x5Mm+VfK-4si41|EoJk_Ed~G}QuuZi^Qf7ty<#&i6uvtM>%?pzDPfQJ21A zdb$#MrDa;-J?|!ayk|6#Cc;hXRW3x{xE+sv9rbo6(jY`cx3U_S@x~XSek9=B&%{1# zacp@sQ^F0g9JN~W)5f?oRUeDR-m{V_P2nb)Ma`VNk=ohYk`6W1lXdmD?H4sb0BmOT z&^4O7J2gKo^NF;*zPnrF)~yc3k$pqLFGRk}vW!Jy(lY?b4CR=Jp;W_y#B8n0%!*X! zm`OBvdUNtGaSBK!O(jJ=t`Y})LbbrVIM)aVjo5mQc|BP*@7zOW(zbdt!&V+Q!!<2k zqVo<}qGtTw%YTcA;Czcx?%|u}%cbSqIYRpz)UQY1GFwT_twLU?=so>XbBd~vLad{9 z2t@$7lA8D(SA;l7a%dS$LVb$NZMx@(K?6;K6Ta&w^{m?{_G1!D^0R9EFkneLNN1rW zeQ+aS&581EZ0@D4zfk?FnLXn;V z=P(O+iN}vywn&Dw$)xpkArIF{#iKt&C(S8DP48;;TGWl%+^W}Ypm_bdaR@yQ%f{)U zxb#8~i_?wmMrgD%Y7qRY*10c*W+=vizSW9(UX+zpcBz&w@?yC%GJg;sD9by+A8GJF zE1U-!T)KzNk=BBJhv*gx(TFsWlL>6{j@A*|2Cwc8u1RwnqF;(bw~H`#HWBe5-Ydr2 z?U88x`C<%Dz@52FPmoNNM`SZ_jX6_G%SF};AIcvvDKnO)zKlk23vl(mvYBm^VwGfk zj+_^Uq61349QkNuQ<*h>HFes~F{Cz?zl40oi^Ch$+#ls$+wvZ$lkfJRzXMKr{&4!r zLD-4Z^Jo4t^FA?8ZDBCII?ui|=e?X17AK_hxWhdVfwAdcG8r4@Br;6-T~>BYu_j^C zj!pkzhHYnJk_AgT$%JN|O{M|6z=ENKOBS>cTa&$>RTNn{8Ql5q9XWV{BlGGt^tfXT zeY^Qg>S@7M0rF{SS-{Rgl&1G`Qf|KNgL`7G1?x%cpCYp*80d{%6en-6x=%AZE`P;g zTz*?}QqGM|q%`kL|5Ohr?(THz9n(3Dg})c<#@=#LOE#%xGXI)M9dZ@%iKep@OxxV` zP*al}p>MpZry0L^aqipBo>~#2JAgpPgG@a!N8STMOCx8V9z-N5iZTj%-`JP^Oc~KS z@|YwgzH#;>Wh)h1yHqn+vtp|LA`a3~EQS5mZ;Agk{q=M{Ufk-#qj`~;mf7R?uuQ8X z&i%pG1P-)J_E91*E-A7h$~bqjtTK_*!$V{yL%m1T1Js0PwWH*c_*t0-GWS`P2GaGJ z*fcq9(iU0_RI+#Xp-4*@WbyEQ7m>cB93bp|IiUL{w0VcQAd|r`J29&u=6J-t%4iY9 zHhyE!^ozi9zi^Qct^Vn$xt4+Kgztt9V}Ksh#iZ?jRj;|fU#Kq?f&NuIE<$aI++bym z?{mQ&o}zCtBXaC|3Hlj2hvo{WfXW(YnuX&`<5(u(!>v)=1$0@dr)dHCI~uHLoX51_ z20p4>oJ={yWeh>b66ykWk~WK29BjS`Bo9=z>K|J_@D*93i=l(D(9PKRdkj-Bml-P&aFsBwZ!Z}t%{ zvJp~YQ>yyf^78rQdim(X9PyYszA2XF+gt`-J2!~z^Tw8Nm0iqB=|gF9 zp>2m((I?7f6shO=wP_2zZ$264DTh?5&uz`Ja5V*UcA`VRyW2czFeBdCbBp! zt4f?U6II6u-9Xc|$uetFRZ=xN<4v}D>=CCicNQOSUUHgSKESkda!>_q_Z5&mZ!WB$ zFeq+NDvrDxpDhddb~c{!EGrz(I)z6(dD3M)3R{NO?I|GVeOF)|Xmtx8Bz(XMkbKDR zoa*oH)K+x1k^?Po2SW6H^Bh}sZRw7!%=TIeeKV{QiIr4tB~{kBVr|C(P*w(IT0Qnw zHE@L;I51D+sdNEd=T95~aWIuF6dD+yUQn zGzK4wK`*>ocdS^iq`I|mM}0b=Z?(`ayYTh%CBZ4!m8YG0wi>VH@@)mX9h~&_N`XBL zW?f=<8q9kO>ZB`WiLd>^--&$rrdWL;S97(~uFJZ4AwO%+W_v;a6Git+Sy_QU--iqF zb6zWj+_P1AddaJ!cN%Ec$D?ncgQN8Gf$D$-H`oHjpaaB!jd$w19T!RKq8VJs^9wUc z58ey4pi_q{3i?2Z3iAlcgIWC4KpTw52z|ZfGN|{i--g}>>FDNqnKxpjF}_lnmUgfe z+P*Q91SK$$?L3_9n2AD}R%C9KX|EhHEsHT5RO2Fo2IdbNn}8llZ3WR%;EC1@xf16v z=<2QB(PY|3ZywsC{!7~&FpVzF=_YzhDerj@zgF55NNsZH#w%FrWKLKQZ5yi}Pro^f zsvXZP#50i5ZP6Tnd`~yv85?#yFZ7n|cxA-$sMmp^b6$`0A+DUVEUZ? z_Qns4ezaZtSb5vw z`!81~dG44ky;SXxAIYL_^5PU=qh1~ClhNy}nMZ4Z!UBnR@UFdb zyru8%$U0V;k)?$Of6~<67=CxPk5<#l!=fIK(h#!^8$31Er%ZxINqDo;m1-j{g`K6a zixsmTXH1&*WU3hZqC5m?mjZ9&Vt!TAW3q?;S$TW?i;_ zrBzy|AZO8=xN7yBc%w2tRj@v<4#s6#qm942b5U+nLI|m@26Hk(Ce}9(m~-4$h9Koy z)i!8PyCO!u36%RUN2Fl>^djC{(f*YdDd%jd>xJ#K9=+ndEO*OEf}{ASvzrucqf^&k0k0TaB&rU6ES?M~}_VuYI zbAjlffvOxQYWSp!7Z`I*glRl_KqhK##8Mvv@2-p0k4>}AJY0LM($*X;ZOo&LJT&8} z2oWnnY3xH9??2`17#p;!FuWdWRHm@Pu~k+o(9-wC@;}iIxT>;NG`IcW?KGu6E5WAb zFFdC;q89#HBlC;%ys_^vQYRZAy=P=r1q;od6U1a@CW2iA+AqRZdI{`F= ziPcw^g_UNZjzS%Y_E>xtr#INn&x=jbb|c+L`E(`*`xxd9*9`Oi8MO~PU1-Xz zsx!06(F1^L+XQD-%vgxe&3k#W!t37IhLCz)iBGb;sk?JjB>rHnP(d{8i{uZrc!cK_ z(cKxeokejfKyYh4%MXuQ10m9M%?OAy%B4{9N<01W?2#2T#R%bKQ$sqJDfZrq1~wLU z^R^iK5~5x@1BQ&xzL4-n%SsR|IJBk{q-szoD;`!$kubL|H>tCqezuTIIaYmw;|)<2 z29Qe_>SQlaj&P1?gUkhioit{Ef1XTD=|aQRsI-?}TFVd$o*kgYW`2Dwily08;Ys(7 z5S)8Aotyjpa-cl{BPOVHI?N-Z(KeNM-z#ttJWAdgsODfB)Tmj~k6*L7!S?1!h~%Wp zQ*K>8+CkF+JeM{i^Rt2Xu0G%|s{B0EGzX~+68@J1%^VpFa|>b4f{(mB88;NmX6Lzr zAI%`ZLj(tdp4>ObiZ0VPXE(0CS+8B{h8g zSOLxatrp7z62Gm!Ci`Z0qySd$-GL5nKmq>}Gn1dh z*aHhljl`Nc&-HOPq@BCPkxXc?le4lqk;|nhCgdhT?2T1>7`YRR_$}R5_PyU)^GMzZ zJjTaw5a<+x7={xElDqn%yjd;ZiBlmNEO$);JiCcpjeNz8F{ZBOe_Vx4Jv(4B24g*E z^|+eSJBy`4)9ksSY068&AgLNJpnWQnw7`d0@ZBP_sW)wz-Z-yNG;eobwlI97%yQJu zN>;6Q2}!Axs6(U`U&ws9N zAA8%Au8io41BwLIGj?YG1D&(38k_saDUs?TU8IcGG2$^2#d4IWEOvee4Pd}zs_KVM zsLHOo<4o$;^~jmQ0iE(@QTMCnC>*L=gD7vo`&nLcr&JIt%0gb{D*z;Wr}Vu(gC&#o zTWf9rn}GWNv-h!fu0ULJOF)WL0s*;QSttN!L?A2{$cs6#2DrKBhH;AcI16Ha`^PC1 z!(+!uYKL&B<~w3X@$nAnrjg-iPuIioTKqXd4GdDc9hYX8mw@(QART;0+4=}!HdwQk zqmm4o=2(-?^{FmSsCXg^6f{h@XsFeYIItEyWw8wEAkJ2K<7*(IJc4AQ+DOIhf$i`c z@kLoJl=wws`;OG*P6LfH86BM^BLWbA=FoMrI+(0vw8=!D~=)%|Vh+mBx@e7RE z=J&k(TdOwPVh_99V85C9C{3FV;ItAjYB7$!J+@o0e;y2)B|AZ>oe+qC1!(+Rjvt+Z z37^yI-tZ$vTAvRb0mcE)dv5ICDjj?V3tws z0R^8cfHy;OSQ;|Jo#rOY1DTr%_U89$TexqY&RSGHzch@~7jZ<3tBhWG1@(*s|GB2D9)oZ#I{C!^#-59mL=5F6iZJgYB^1?wEKFH#93vJsMA(kTG_} zB86_6H|YTk+xArzrW=ur*r#-ldlS2K+L&rNPaFt6&rPVRtb@Kgap_-DTzb>472KxE zp16yk*L?&Xbx|M=+k$)YuJulOK^2o}fT9?>n0w8|1%#@F>zQui&O|2%Yd7;!loJ(Tk5N+)QD(XpMPKR1)RAtlm9^7*u{u+p z+|~d}Bz^5`rfVgyY;SZQ&^3;{j=`wTVkEe0RSe=z?0&VdA9{axMrCzvgFY_C4Vo1x z#=3K5^S+hMRYVSmzzm*y#k@4@Hf3s!R#{O-DZB}oW!GF;34%wb30=Lm$O_sDDdM>= z6|HfJScwSd?QNA`Z*w;Lxn-!Wms>6}kE__HKL2^5O`Vu1`{`a!D|Tx)69GykwzZ2u zl)b4IgA}VO;Sb_MV}`l`k;_ZX=J_zwitY2hChU5V?pjb->zjfWW2hL@;C=TDlIrZH z106SBqhh_r*$?;LYm(MVs&EY zpK0A?l~08up&Yop=GqN38~cC>26v|$FC%QZFoBJt+ZsFN&Sz*Ms4lsmDLBI^80z1TNl&&f3YXsqF9jb3;Ser#k4+*=>I(9d+hP51;&g$$zKVO|y z`%adb^f%>BX~WR$?(S3rrth{Yi}Oi&jrLUT@qsu5%({|3p6a8sul}E5%OyCu_~$s2 zoi@a14d~`i)_R8)v_nr*t=X^%$_%%TuLkV*B0Wvb=}nC_6a}*C>JD$fHaob9*6|YC z?(yDpNQ?zomkJ@q6+=fX!BECUK0_Qob=o?&bDH8OfFcok2f#DU)e|g$8j&?Jw*qff z1Ul6BDNnYoNR927eIIGhG2$#BRGH`87pJ!9{)Yd=O^zdNIWMr^7bqp5Ak(QdfD@ez zW!cA2Mu~J}jIE70`1KpGx20L5FYp~PU`DB5DsKIRd=zOyV3c-;bj4MI@WoJhrgb zPw5yEVDF+B4O<9FCHqJc}t4o!%1=^m~ zTKCa-Q>n%V0NDThx)w_y_jz%8QC9l(Z5+t;G5vgr+Wz;@7fvLYiz?F#N|5)sRRSpD zv9As_=1=kc5jshBj7GSl5&fenHjl=qco0X|8;&qIdVJgU?dG-n6gob=sh}##tKg^N z_k#6{yQ!I(?glM|tIXZx+~38=m@w{9UWJg7j3b>g6hl}!6EFhBI)NLIRFZEUR+j1JR;D>8vCJTH*WKOe-5o~BEo1gC3g>XG(Jox9#UoFb(XhzMgl**%Jb6<$DX_PF1x$=PF7F#u$Zqjm?BWtoJul|62SO^0lowYT}-rPZN17Y-!Qj&R&&*C2}ZJ!Sv`%+>M5Vqe;+Umn6*8~ zd|tuP*PB-w-rtKc6|D@m%+5}k){MREkYHD#;M(@-pKPT`Kp!(z)Raj2eXF!0s<1jL zQc0D@jvy5fI@9!1#g!u9Bf=;pG3Z_b%LR z8%f&mUxE4N^^y~!gZqVA#>Y{dQ8Mx*lQ_zZHF~uW35ghkfC564Xo>&*J5O~t(72G2 z6Yb8NZ|5YU0rb7Py1J^ms#>_5i2KH()hfBlhQ&B<+8x8WQ^vzCwf>UlCD{=ZdA&N;&YVJuyH+{>tZhHQEWMmoGmfXY$eL{%^cBGSghuo?=n; z2+QjVg}!OUc4!`NHN$3<%Kn7|;5eIe)^HK6#AM^DzT_&)3$cx^s%=YF@(&4F+W8gO z#$EFSI*L#Y*4l^cB|`5n^LcW)sXu1p`*~9Em&xEFntiwhGH+X9JP@y>;(6-x>1ODT zd@RtQG00-qAd_ic1;0LB9+HK9)kZcRl=%1(|C!=CpVbrekHg+@;5AHo zW~>|DqmX9V&4s&%svVZ33O;>|Q;_lK2f+l&0+0h;Ant@a1IYHccKLis>||27;;X;|g+q4BKl-Q%L%tM%pOl$zee%CC05n;?aRP z!rdXk)raxB+rz0es}!!=C(NM&nHpTb{7Zr>hjK*(!`Uh2R^5zuHIgYX%0}CLo%!P- z`71qTE&S34$3M2BsmEQJED;~MOjfyvy_hD#O$>b{3z=*zK5fM6P=crBgN%U-kv=O_hYV>avk`jMf z^N>w@{zmVcNKZ)C;gj-lLLrUol^Tx@h(*e}qLj2Pse1L74y+q3f-%5I>w78=_C|Q5 zL6-fj%UDJ7@A{Cd-4y3Eq(-K}Mh~-5@9iHu`TC}wMOCKsFNg+GWeudNNAcIgU9KN@ zA1F48dJd3P{-s=%pQ)Q^>*>c@iCI05D>1SLBCBoxyN9+}$4`@mcJs7ka*L9VP(?YnqpN+;lGV_Mi zte=}Bc~Cf;MymOD)G+^UdwfLuZ%v8oD@cAQ^1BU19b<~W5|0Eoj@vsx?I^{h0~Blc zSBhJG>0ATKsTb2kxqFT@%I}IOTV3YG5|&JFu`Hv?zP*1H&PIsV+a^Cd;m%iX)5xl5 z6{9FA{S8WM-1vN0fK0{b!(53BmNlfW_`Gugit3uHOhdm!Q~U159n0m>NR16zH8G59 zb*r%Nle*xzr6sPMMP9z-BL;&n%ua=lIBw{O`Bx>(D*BKYZyHt+G1Gw0eXWUE2nKJ;L6#WcTk&YOhb0ww!E*XQBr{}pJuOcYgGUF$cwy5 zZse6fiX76F+Qp*Us*0-QoNT0WaTrol9dS8MbWp9pj-$9-o>dq*TqNEbdqDb~#VyCx zdzzR@JdU&ZB;QUGMJ|@JOt;+e8-Xg5&sf}oHdcTzDYoM}N8XFpaG^q@#UU_3~wX6NyBo*{eom!`VpH z^2bo=)i+bsmuei8U*ggRU6<%4a6*nRZ;WrcIxWwt`FRnaW)yUNHoC{-^z=*|-qd>e z9_DW#T!2OgC{*3{l1N&Rx6ZT(I`W)PWhuCaeZ(8*^%T`5N3@3dAznLEc^aKbMyUEY zdnIV#M8tVjj73h%@o6^B&#*p)TontMDi-|s%a=J2P@GTX+zszOVXE!x{ZstHo0i&i zaKN`-=$sJhHLs!>*80OOp9BEE%>gD&4sa$_>4F2CNypKxTvL7Erc+5(30Kj=LW$2U zNOf8Vl1R?G(eH7vE{evXZY9ilIYnJBw%lcxGDrOa?RV^eF z-ehz2Gvx4hIfs?=S39wlyniLrqwyES#{Ms94xC>h1nZ6=f2o zN>}R;a_uRtF3O<;-(!IV@TzNM+gW_8xbuCV{g_-WD$ocqa*vvS7bcCB86WM#x9#Ko zZW(s)O8X7y8w;UjP`0n!NZPpY_bP})y{O7+23pwoVp={tylAF~y|iVV!KYRP!>b&4 z66rjnSC`JI9t7=WLN+mC4Stp1Wb=q}j&xI>yoO7zxh*sUgdKGwTJr;wP=)+c2fQCG7P z@=?GjS@F%Uv-+#g@*J@a@`X4~@$AFvY~EN9?{c9dVz~U z$Sz60dM*>^6;%?|wDzR#CRJ|Ri)p)y&egNkrm?kr)HrZ0r|pxc2G-T5P@k}T4t95< zim+yk#Jxe=xg+q}B0eQ(D&A>D49^s04rNk!^*Ih-qp+wu|{&iPYyW$TPwi_w?1oA?2= zd&%rWlEtglRCcZ6_nx{X^s@%dBh)=y!oiLyRpJ?R;u3TxxV>A-eWhY!JNs$lEVQ+? zs%ecST^*GR-H1?fcJSoo%cpjz50wsjQRy*&2*heJyv>awYqzm;b@njnK$v=;X^J{6 z{FS5pWc20L?Zw|p+UQ5$s!m0aP%-h@WQk_XjXkk59$iQ^Dj)PwojptG*|6rHwS*d* zmu`-Btf`;GEl8ibs(u%#FM}wxafmT%g*ZOw zQ#);+E@ifb+Fh)d?4fEoCk%yOd`fv0GE&FVEvn>FTjb^d`;}^+I5|BW@(zLSNmAx6 z6>VEVx>xLqAz`UNeq2~;-Ru20rq$|#ww;o^q_IsD?)So7TB7YL+|jgEr&q1bx>fSY zaI5)9A>fhVjBv&EnOIYdR?b@GQP)nD-xKGq)>yUy&^*KWO;vm{9*PD;=%k(u^^m&y zdVZm1qaT%F-l%C%)j~JvRj`99kfD8LeA|%;`>l5y;q05u)wEMF-pS7!rd>Q1Ph0NX z!GYzJ+6b8wWjg;l7?5i+U2^? zF-;kP<&ejZ2Fgv=UdCdK(~moCu&v)sp!( zOB0H2-`6YAg{C{t3Z9yI&%_qB9V_|O^yiBEI2m=p_F_T4ciszbFq*gKyV&7)7jr+J zqBCT~Ka^qYSLf6J(8lc5i^;)2ACCT`zM>&ISDdnHi`|Ax29Ub4=t6`kY0{J!vCpR_o!;M)#qeY{<|CaX<7D*>FM=TT z7)CMf@9<=`B}zUQHeU1TjBrwzAJ5r5&*GMnAe+w4hv|6E@AQ*5Q}$b>s-~sQIpx70 zGV+P4ZB?tU@-(Mj!!y-l@4g;kHWuSg_)v2RhCO4RikZ4c0ES64hH3R=HdftqC+T)d zdKE-q;;V;i*wF|)!EbZLPfwel50i1#Z!N_uyu!A;hGF(fs^x!@)<*pG4H+$>YU~)w zwOg~AQ)s9_X5;LYAOMrf#D!VQG2;)j_);6r++XF$- z=d1ye!FZ3|RryN1~- z^@L|)NJFQ~^XgX7t8&-P*gZG5y*m{5$_qxCKE63rFFzC(LS%{hT8KnYh$PvSxcI)d zcxpt~;3iC`g9d{+7!O+BnS=2_VUO!N%ek>%KM><56eJ{i-Uga-~xQHiJJ8C^+DZV{YYeI}+ zf3-wA#`H|aO6QxE36y$lmeS<n1vpA_% zM(`9==vdPJx3p537pv*foU1Sov1<;iHBsGq4A!A4+0Zz`0RQJ(l_XSRw`}x>d{usv z+{MN4^{uiJ8{9Qth!o6fL|hkdV+vDy9(j+Lu6AjOP_pniX%^4x;vmmz1+yr7Gf&Fb zC|&yy#nTtfK_sgm<7obUmTnHJTI0&Lhwft?a`yniH9|F4Z0Zx@CN&hM&A2O4s_i40a;ERbn>>&|2`a! z>I&e+=wq6>zKzxle*gE0zb{^j+W5x^0S%T#RRoDIDbToI9nf^GUbA zw-?4~InG7tGg+}T)ex~)7-LHKmB(t9i{=y&!xK^b3=l*l5e*6I+SlS#g4SAa#7qIg?s)li=>QK*U>CqO%fgxYut3) z7m>1r)P$(#y>T7uFr%VieYt&h#g%=TFbio!25pkcc7VsMag$I-_gaHcF_UV#(TOm_ zYAe+$B+i(v;;5J{hF|>sr!Ph?rc>Q)^{GKBcrTmalw?vp)>xj`wu>r$DKzyoJ{vvl z+7c0N=P7rSG%uQX{4x?H{}XQ?>A5gr=XE2BPxQ{~MOw(a^GcD{oj?1p5kbR?4~cqdSeaee_lJ zEK`u?oT~#wHZUf|=AO%!dq{cvjIEjJ)HvgzqxwaU_*VO~4C&jlVehF(ZZN$Ysq}5j z+T4#g1m^XKI48a3`^LDUi@ZlW1*h%yGRdMe-Q4fn?Tp=mmkNJU%T(a6Z(Oa#&Ek+~u2foR#l3*YR{POOx4$!8Xsn7N4s) zq6FiTfhQtG0B`c*cQ<)DSmrmYc%I*8BsJfx;+t#vgm9j*w zT^HdtY0uqq*eEwHd+yn7Z30J^?K0|?Aa0~o3;eR^X@suV1y@1)SMSZc4Vw*xpm)qU zwynFU)ef`HMb+Ex#nH_I-E{TJxK7NbhL%YQf?8Ej`*O+~#K$JDQ`~P}@N>VmmaDEm zYh7d6sO+Gx&17s=7YC^TNX8AGvlE1lU*=I?;<;-Y~np7j*VVu!V4rwOQq-;}FG>o0YSRmoLc9^S0Ve5pjyQ$W#8tH#kyQ5I)^ zo=14b?=C-$XH@b(k!P$+JdJ1k>t%;$Z194Az3k%!yS!zc@7t&GjPX+NjN(k}_I&!q z|NB3~Q$r6U{qpSI9y{BI>djN0gYD?EFQjw-YZNQ4F8)3|)y`f~@w0n#Y;RAs|9kdo zjE|#x3-8U8zbkbdiaMgbmDt;%Nu4}Q{hnskoD~`WZ31S@dT+K9ptEZa3S98K&m8n)g z)K#y_I8N0fO81s=U3W(R)|k4C=gG~ov4;64Q5S!yu$8}7REEDQofjVzOch_QaZ5xq zmx`bK3&&7C!OLWxDU-5HvJ%_dlAc%PrpS50d^U?#NyZ6T^p9L(TAt3i#T%!1^CG&a z2pVsp8q{@^#wteAyXY#O)sEs_?dElK9c`l9MFP?5I*w+G>zm6tNaScS8=pj#A!;KM4V-q)f#=&sZg;< zMW9tih|-)R6`@K(f3UnIO?#OyqY{fxg-k_WZWnP>$}MWO%snP-(InnkMD+ayyTE@9kPy@^f~@kKnFMb+{aYNJ`6=F~4lQWG~Yo{ee) zwm0XMA1_&WkPYf^@P8B?&FwiW;}!V|ck&fi7fR08RnCWp!#$-It5hji}%D3Pp!Wj ze_O+dxBL}a-qG;?RjYZcR`XT6nm?aUPX|SO9Y>{pM;Jwqo9dD13`b+RE^w_DPg7v^ zgWAlW`(Sm9re<+Qx2zA!90d3xFUx#M+xsOUG_4P%+K+0r$9>hFpxVpij?Xr&O4OIn zqExNuN427pzKXsFL~n}p??VN8->AjDuc22*?>--v)4`y+2VhX0w%?ce^`ySGkA|ka z^Pwvr0D}5;Te(X9@w~n|SQxuhhDfK@*~3Ft-zs`)D(}TKKDEyt9`XaFLz!$i5k1Oz z!-X2fTOD*2T2K_{r4m_9Ra~(nKcy&MFHY&Eh;e?#;&ohX$k6A-3mEs@b48Xo7d|aN zALxV+*%=Xzq?yE#Vw~{AyqPF5C_j@ny=p2)tKv*XrK-}#Kc5fd(OE@tR%&$b^C6A3 z6l0C$STjD>M2U6Fhnmne$@jT%36#bQQW=h`Da&SZofx+htB6|CuU;NFv47-AHXLYb zxYl1KmC#162~fkqHTehG}JN$`PXhFpeX!YFYbP6G+2ODJG_jmn~J? z`qK^o^I_7u>zVtK*LYT;U#xWJZ#$4o@OFRMfnb!(Ny>NUL)vThn*uEY= zhQCyG;H{9ix8l?RI}TF^v7A=r1ZqwQo@UCHWxtjj={BDn_qQ8Dnp`r;V|<=#$3STk`QS z)(en|(d$#j*jw&tW9%*Zq%roERL5BJS&a?oDlWgu?|w?=@#+LSe1Eplj!HzUk5$s# ziQ1`RdLFB!x%IVEi9oDc1frcukcU-=JhU@P;;`xxhjvy@8dh!6(8@L#7werYt;liO znwl1nTi|L8yfwh~Fq(bcO{;ndQ9q68qaHo0rgus7V|yPS_t2VNLefto)YX5s5B72# zr_TYK!4sspaBC^t#A(|ldq4NF;2&?hbdilS|5 zjSxYiwr)~35)E{dlIAVE-}P&vc$=AMAQ83Y)ZMtg(t}50fc8Z(nGsCQ^!~Iwn`9K~ zJZa~kdU=k7a^&qC)FRK3wK%0U&&yKdlzMlm#=D0*3~yMN~~*0)=e8OJ{={89b!Y!1I*6v zGXc>0n>;|+q%nn&z=O!jXQ%$gv(l_0D?Ny;LOD`>t1oG(Bb}^OjhLbgqF82mQNk*? zf^ffbC|Mno{VpA6d{Hiv?13MUA}ZzV!xvI*47H3HXr-@#4_HL7erebjAFe`X!=^Ql+`Us^jYwWm0FiB4IUR~b*K}*@Nhek zR7Hq2NuLCtH|EQ=^cl|UE8j(Rjct@Kf+jIk6BH_@73@OeELiPxlp zr}&W9pcG#U3B|K*eW*~jF2<@=tmuY1Eco=5Q}|kwvEoQw;j49%m_&kX)Nv}-ox6vy zQmU0VlDGB9x!cNQnz%Yy%wv^IlUOIqIVI{K-L`DiPL&22R|Bl{*b>C>uLlaeI<2Tv zayDtrUUEh&UFMZTKdl!vZzr36*(j-hcAstkYh0dYXAK4RY~8C{Tt>we%oDESDn>&^ z272=K={9&0XK;p!7L|V|nX%TN?x{d1MJ4bk z@a&i8T7YaZL9+O11F9_uwa41%w95UY{d0aD&Ebsk_@v8>eSi{a-DwvIPndUEMbE^` zN}e+FvYNiBm-Rep?qx;Y$(PkUHv1}M`=`GR($@S}6`VE!+=f+W(9O=DN!OA2y5+nf z9B%UEGRo#Wio)CIdP~vU#&J6xJse8UN!3-dnTscGrFUtG-9R`9 zSH3l8gGSrapEk>jJjGq1MO5a+*>DFWdNL{wYJHxYbsu;%Gm&>I-Cb_hl_SnY+V*^D z1jdNxNlBcOm@^TvsrGlqR3xr2Br`CX-&3ZCWY0Cx^-sVP=fUAf~d)_X#C zl+**+%Z5Lkl1;gfJ&m%fo9GHYS8N_%MmH(kj4zX`moHl%s;tt5j2ku)^Gi<;55TVT z#qeI{oMhWkGdFoEyrBVeXS)|w@tTuV&xhH?O_G*L_CtDem1HZNX^JXm)GJy~e~bX5 zW_KI87?-SuFuOxF16<19liupzvLj;c3n6+m?&OUYOG9fw~(z-d#| zYIwIdg~oEByDPsmK%CVgWos+s)K^bdD4b{MMqflLJC_-Rfpv-`PZ5R&V~Aqodwl+OPMdBO!=gDtvSF-a-}hx9 zHbV)5(FM`84uK(D_Pc9Q#c_%lI_9pF+wDAA{VPD{#cu=;m(L%Eknu?n;$bBy1l@KE zGAwql_Pqyu^QpIKV%e%aN^wKy3EbK32boOvJ#}<7$`a$Wt}jO}bF6MIR%KG&l&y-? zg(P~w(DfnRCO(T0Zfs1~JJ#$Kznt@jB3~vem?*9CbR8@A=J9P|+S-XkG#62<4$sxt zn_$IP2Wl%9aW+&o1U?ONBkB)0(A*{!MsGAy>T8U*%G1cw*n^re4mcHUeya##^Rq(f z_I0IZKKN`ayb>VNX7~{pL7lm3xUGzz632!jeoDcmL5D@k7W10SH11s}oC@nj%&Qx` zTO=zjS!q$GMHeeNMAnvZxya{ipsJa!*763Q_i#SvHxvGp-xM?H7~YNo&F$679Cvu@ z%VdSfqcR$Fbe-r4On|v*d}Vw~`dqbAAnE0rE*e0P(_$$iA}ZIy<7>5iXomWF$MOAr zjL^O}7t5ri=!Np-Kt50f_c>ktK#_vzD1t6rB`182xe!=+{sHkG#2hslu6ud$?CxSB zlBsMtqhM4u#4i=a-isHcaVw)MNO(gqu1* z01q}pg6dVBrlKol5wdKpey)h*ay{fq+0nsr%|!iluSH(w*h=I#BwzI;i*I$`uXpsl zZ(bXhgEjE6cgK>5$g|43%fzB;OJa~Yh#dDc{C)OyMc5hweWMd<;EbbpZ;ufS;dK#5 z3VOeYU%rIs|9Up;mLCt=ahH>+8m3EZ*{{k;bEZZI{naJv3|_DMR?76cnonhpdNS6U z?2C03W+Y~_4;<9rijk}HaQG)qDFyKnbHck=MT(D7+Ff)+$spR$trHQ+dgYvZp~~+T zsjmEuz)yOmY*|Wi&iH7ogJN zeKMDB?~}oKGOxrenUOf0E0F0yG@p~#1!#vNsc=oyE|#r@>msU*s9cZc6pSehntLsK&iX8OM7Fw3#&*NRNd)KIIbo6Ip? zjeb*|66x30>+E(byTc2mbw2CZVXmdQEVP~1Rc8LKAt_aA)09?3&G@Z5;-qTh9|vE2 z`JWism;WK-20Ryl-ddXJEy8+usOHF0-*t=HuS%G{W=57~iF8Y|)?xjwTbgxbtM9sX zVypReYhgMcmxg9C_sEWz%Unt_bmoK>bIfClxthHWl_ZThCQ^@W&9s=iFr8*%Xz3_u z`pnf#wAZNBq?(USU$dC|aiCo$X{zVf(JU!9(*g53;5~dc@Omut0b=HvZp6aS$De=< z^BqTLR%l_e-O%H|EqvgZ=AFsovphR;SrCRA|E)Ug2Fx>@W7A>2>1Z}{2vnNOtiVe#a?jUH=G*oR zbuh=ZnBxU3bS&l>v{bxfGtdI&dEVN>Z>m#s%nZ9N>S&BNn<{ndCJO>jqhDQqaXi1L z0(?iy$234kGlL_v?Wa03Lw(0Ub!w3sKc8Kp*zeECE?@4b+l@&>ddqP&17L{5jMKwSInU8TWI+G zQny)X2D;A-GcuV46t-MRXR&m3<~f0;CJ{uC#5~7;|JG%`WorR5gLVZPGEgl}y8_he zQ!UQ>w;}UA&10tP?ykYzU4#36=`e#v>$~A^tfGSnn`fgv0rPB3wrgWreK!ErZ0;AP zWic=GQkz+p1Nsy=3zONVlUgXO19!dSx}uLuW(6QKj%yyf4DfZC9eT<($DELw3%t~0 zo^R_Yr*3=94_xF*ZRR_cW--rFl2M%JNp+uDUI>=OaBbaUrsM0(5UZ!cchH`N%UsJ| z>*kU3aj9FHu`uz{L)q`1Z=IQ%8HHLX&^};>vza zeoXts?N0ogXPbBc(*^AZ?uNvg8h%g@hche&?_+8)H$+A^d~KS{2pvuQBc{{PTxNK| z%wfJAXao#*;SF>3V_}ImW+WBT@#zGXe1Lg$u zC%>Dh*lFesEF^fx9y5K-XSU(YbY{5$GfkbjCbMi?XTIw*+jCQoS#}6OU~UbM8HUUJ zfce2pXLb-^lsZ0`9$;bm4znOwn5Yat3uc%mqy<9X(2snEg<@4i(sP*$34ocV#f&h} z92SH=|JA8EgRsEz#cu>;@ElG2Q!yRBk2=7dIDRO83?sy!?y$hK#V<1~iy5{VSB8po==5Lu%-a8!)za@Z#kA`1MJMOTxLL;W1eNtbemb8tJ7xcGB?z1>}UMZ zVV)O&v@kOycFzg0zuUks&jbF1_Q$2q3?F+$0sf?9Mc=){I%M2X4$~uFmYxV!q|;%rk9f+L#L4VfbMAK2mk&*e0L?Ts4^q zF~tmAW*N2)E)6sXNmvvp9Wv7iNM4ATkGd-;+Gy44KwKw~lS~y_%Jk?2>M#uPSA9n% zMhG6r^jz^P(|mNz!Pk(4DEwCV;pz-?g!RsUMT!N?vTav$nd3O(SERYNj;%}cS?Idr zmnVT5V*Pl520q0TzcMiZ4hNx$wMH;C!B_(G<e``Z`V0&-WUNp#kEp`; zOVePE3)1F+?+yZ2FU_i#u@s4cf87AI+Xaw9NEHUp`7KfA)IzE_U78vH*VfMme{@P>? zWI6Z5v`HE?kqsB*p3U zr7P;Zdp>5|Vl-CfJG@^|G8!SYhDJ~+l8lBT35rF}r{5s*G*9y3%yvnk;ydr(VtvaNd@GSkycBLz3;YxLX7uB+K0 zRACKxrkacM;Na8j02*3@w7G`UBSQW3Y$FVqYx_|B1XzGQUDkP*O@l#jfm+21Y|R6a z>V=5RZ!zBiV-mK8s1vAYh%`Fl-TTJ))idfnY3nvkP_EF%UnOa|9y4q!wV4Ml-XZ$x z5T&$i%I@N?%8rdxXm)Mpok0Doo9@~)8PMH?+SCcG_is&~1)4cyo=X}UW-$lr6FZ2x zHXUYr){N8>U_bEHut``Y;n1*yBMZ-mCQqgI@Q(?akKM%atP_iwhol^%4IQ(HJwP)T z(9XPH>MrwKSMwr^)It1LVwnrIi0wJALD8@knL=}BLZ=P(%I~hLx6ik(m}QundB|Kl zkVL_!JxoBy=FlNt9st1*P11`Rw!Z*FZ9 zu+e;uD^|gC97ri9eRafd&DTPh@q_nGJpdFumIl^8Vt&Z{ioFLL?1yXJWwvjpw9ydH z>DKx999txH8jwJ3X1f-opU`d8rsIpwOnic598_$&6^6{ROkNafw6I$}u}BcaL)!y_ z8{QhU+XXf`w#RJO=4F^4{x29^WA*;|xmWKD>H&)|2INgw$eZN^)dB{WYPys}oUZ9w z3lDPh8p=f*iVn~8L7!bLF$aIGC1xL+%rh)3G8e1Hb?p?V6=8r?d=fIB^WINcO%`8G zSf5Yp08j^8p8W2!0c^+4jP?6}$dkddAB;%1f$nV*Ne)w0}gwT5&bwL-%f8}msx)`1vq|Em)K+6U{ z5&ACa;kwXy`1n&4Rt(2w9{wt|i2>FaWYEW-{2X{8lxr#19T|=p z;Zz882fr1*5StlV@0Yp<1rClkp%Z~((DSHBpz&W>FLa8IfSW6Rc^cG!IOqt2l(aTb z0yED-*Q(wcq#*P=>KqHoF2}HdLxe}wCdVu)-z$7QD9+4*gg_Lk5BL35yrf(k?j zsiU)WoFYJ%2d%3GDru1}nz+gkdl)q8mPcoeH7&5wB9}rvEvw?e*$9PK3;J( zV~wo@_6q?4DeP7Qas@Mpz{heC4dIBbI;(UcJOzHwXHs8(eCyE3t>0`O)WTgrkJN0E zTk@btSEBs*Y+FZ2BO^|^H6D#LyJmpX+aRDrKF@2N26--EVLP$jWO#SiOKI1arL)<{EP)Y)u!y4O_4kFlAU(Hh4}lzypKj@jfsgHh8Rotel;2kE~W#!H(kvCV#=R)#UWn6td6? zKd~x3c&4g4)A0TO->1PMYqH%_5%g8(;;ix0=i(FV>P*Hr&nLtLG#ecP!2C9>6bkOJ zUb;=Q@oY6Yy){9EG5e}&p?IS%J$SCVIy3Q)e^aO5O`SfuQ=M5jdX`zJt*G6BoRWp< zt*I|$ zp?~7{ZIM6!vxo2Q9KQRzhwnW){9pdr!w+^2Klt6l4<8-=AOGpY?;X1R$goYPcg!xw zc*DV{ao`b}{lotCe`45Vyciyt0Y1=C`$u@0xc{1T;Qc=dBuhiL_kZ{o2HI!;^UG&x z=;6Yx)9n72e(%klM(Obea7v_$rO(II-06_r1X|Mt!wD;k8xNG}QMF7Kg589YIg&9=wRGgn=ovE(W)yFDW`_j!_4rIEJu9}rwInPXmIJtJ8@=YC2P1k3hEZALS5Yw z-g)G7MMq6O?7kiP*X7N@?ihB3Hf&w#JMUk_oFK$sty}hV=2BBAgCaU}#b@5b?$Y_& z^N9#pI@D`9>F=93{Xh3gi>Jc1_bt?jP>Pgs0q}R8m=2M#AO!Ijf_36ZI zrqQchEGIV4N!_EDB~85fDR8Y;i+r~}?Y&*RS~C1YbIrhj%sr|-Yz+9Nu7mm=CZ!A0 zR6pp}S`X9`x<#gNe(gI1Z5?yhf${~&jFuW-bTUzWt(3Dge_@*4Q-;6%8`J-d>AwTh zVa3r!bf<;rZX3^?HlF*MX?F13c@myGO*}WvMUQ{qcmKxof8+V@q3AG!?IOC@LiC`G z=w64Q8(P>wbni)s?lloTTm)S_|Le0IVfoAkw`P;~rwIeb2o~<-=U`Try&-vDQQ!*G z56HiX1qQ4YOxKPOG=Z$TYkOKV@aYg8UeIt?G6HzIlJ$sZhcgzs0U3i!Z#%dsc`#WB zk(oTkLs$HBe=|KnSa{1!asnih=oEN;~m!qyYMvh)M{0LP}&(J({^0a%2Y$P5#qV8(0{Ib8B< z(8+n8Yzu(uAxy!*@G{Tlr@=Uv#1Xv(j|3Zi2)N&Bh=W(n^pDJtB+a19vzD7@3>p!J zVEEl;Tn_jk7>2Vpm7pP5Qzs6|vtcJ;t^2QQ!+l%xBIOMwbf-Ix_}Rum21Jf!M;?Rc zs6;`J5YHpK5g1-G&p(85J6!G@3!IznI+_n$M!W(`GmWEg##}lvh3H^g%w=KVtsR`5 zk{b$4M;r(KUA9gJ0ro<7XF4xL>(_BYod}#^*f`L4eTSs5$2&LEEwUx@ZMYfw4p|uE zG4QFgrh8=i|1JIN%uV)t=Vq1^vozLbchf-#waaWX9XNO>rUR3?Xs|B}j+r0L<2Ca% zI-WcmQo)qULgWIM+rtpPb4Ow2i*9R1OJnxi%8|?ZZ)of{lp?mq|4l>tq=Jo!$v4j! zfy0Dd8635I--f9&Eb_=41=N?kEo``7P?!q~c83-`iX8*y-e$m`OvJ1?A-`}kq=dqP z%)UHCj-YfKzV{(YGgRV`H?&Pl%rk=yNB-JjM&K`OxR}mN7W&-IHiXx-7m6o%1`+}C;bIK;Ws_MJx!>yK-~y8$ zY=s1PK3jZ)1UKOL!N<2gT(#`A%{((ikQl?8G2ar50T%B%eX(Ud!b z%OOk~VeX73J&!-Y?Y-(8_oj!(svl510MJVl)!I;8*$A^jPIorUi)<%2^1B4IcusV8 zNy*@^-G$9y+zw0L`Z(782wJs(qyp#l$kl3txsZi$K*TJy5C2+9X{V`_?v7~nj3d(O zz+VP>v-XZ`#f=awh`08XFT`Vb3-yzsTMOMgvDKRN9>qtrc|Oa)fG;k1k{dSSCHR30 zmeu1vtca81y6=~8jisPt%yZ0?thB({8dh)wd(;$h975ehESSJ|`KxA_Iy|a zcT-n`Df*GUhDR#Q(0nX5c zQH5o_ZuG%J z5y?h?wT5bIzoqCxh|vZg9RbxNx8KeA=GllJn4cX6Xko8`)3WbCtX2SPs~f-?0TChh!D$jeJhC~VH;fQqH-mueX&j%VdY)#6K1I+q%{72V zv322Le&i$F{Ha`TL_c;G1u z%`S)+xeA-1hpzbq?qH!K3>R}34isoJW`+=X5fq8AkW1oZnx|+dg+7Z88+Fru-AJKh zJXp6kzd`}X90%t^mZdpIrq{_pZ)>wvof&Gun)}y#6s(m0O4*Fu)o{>bA|@{Sa}+Q) z#jGD$YebLu+N4 zN6y-5=UeFP5%rd80ZolLeTJ16&v-)h+Xo$X$87(mF5x)!2s zLUZZ`_|uthTl7E*dcY@y-BarTUv299VE=#Y*NynyU&p%%bu!{*~q7+#B_u<_U; z6hj-4L5XSb5E_MKUe7_~W#(Eg&cm5cPVk7vz`fy#PoX0Q3LP9k4P;ROYXqQ0+*ljk zLWozNm<|g1M+#`u;ehbB_fsdFK*sw1S8tGSE*IkCD0t zb#kBF`r&^8-iIs3?Vz*qnM3MQ1A+}mmW-thC#=(2r;0O)dQl1(V-Kz8Pnwfb*f+s0d$6T zh%+vV_yB)t+U|4~z}nWfQyI0`MKqCsB7-vGbto(WncUjs?`w1AD6L(b@B}&!Oo?=x z;=d9O>HNqGSY`$kWfo_~5c@0)(sw8awknQZRV)k;29p9L088mG2TP6y;6UrdHN_Oh zYldZo=HS>#W+Kq9ns~CE09+)6T}3b;AiK#=lY9yhVu9mTl(#mJ-wMJRCWW)_e#qlv zA#^Z8G$4SIr1%-2EEEKk1P&bggvl2L#dE5LyjwCAKC z$7x>R)4vq`*Q~0uLT)_+8<~)3BUoBD^qA{&B)eX_^b&?JnXYYyT4Nw#N4^#EjBR z*tLOY#NkB%H3&8*1X;9w-KAKe2(Y_$S!m$M#dOKn!}AxUpY~|iJ2HJ{aOW6?I7-k* zrW6z(gfjq7-D4*4`hN+aLyDB{GmqB1Pw~D32h@^IS}X%36tRRue%FH~guVLg14<9W zMC590ZHCR4t?!2PU~)o=6K4v)66hcR0iAMz2vNLi3k$$Sd~u$Re{gC{N&p}2(bDpL zgjJ?XU3f%d7E;irz_Ah6iX44B{|Kim9tC;DN(~|ymvIxbI;fvTn=XYL^u$jcY8is9 z4Qm{%X%^51ZX^7QMJgkT@5952c~x)_y86R_Jq~toM1wcQ7Q^F6Q7AQw7#pseba_-7 zkTR4H=|l?wdpz(s6!_f;=q>T(kSP;g)%1rKw$c0l9Iq66L*ydU^S z!Si`8e}w*w)`K0`;~?1JYkRlj+I~Cf{AeuS&P}=hTVXLzKD$NTQ)Qf6e`xHaO+T$ zP+Wh`x-wEHJ1~p!h>vl7=J+;24gcC)-$>eNT6&yswk&?F0w&s{e*hqwOo%4fKS_7R zF$3!sfvilrO2({Wq#?!)0>&Z+yu-x{o1$rA>4k{7wW12Ju5}UCxX;PxeDi#92ts%& zT76fqte;PA_dA-fmV4q_U9*Vp!@|&}5N+^f^o~u~DeS+ijSeO0q}L#YI9-9{y;ki| zO&k;}4U-|Md2DJuTCyc`LMX|Q2Vr}UxhrEw|JJ(D4NFz+$w!>`!}7>O0D43@gBH`l z={uY>Q<7gvM`O{QS04XCWKa}1fwse3yHK&%43R9cOOeSk9ivb*ew!|F3Xe^?tHiO) z6O#(K3u5Xhwwgmf_yKWwAuVi2I6ov z?|Ba5=SaBvQFxWlSb5CdT&Jsv%l?zl7j*L6BwS%mOn zCq7gIN=c0yz}QyLgxvjmLUv5Z5`i%T)a)L!Flf&Q0u+k*=$j6xVEd2I)Ci)0;tW3*Eu1qgO8r2ktzLSLmpNw*DKQztF4psozg< zv7$wME$!^w?2|6EaTmC+B(!-jbsxSZw$Jb5SVO?0NSLlJds_EKymc=L*-Y;*@^n7Q zH{%)Z|4k>i>+vkQ#%-{Z*X!|Y5zjtM4%g#Zelv-~RJ-#mDb&}t#UKd4vJNb4!&gjNyy!?bJuk)gO zbBEu_Y%{)&is-6{t{0PHGrmr5R+H6+s-Hxgag-)k*;jd4=F7?Pn!mnH=JPb3d=#(m z^6SZocs`CV%gK-8yOFRqMUpq-oCq8mC5C1@{jd6r;DPg=zIAl%Kj|h zdEw9G>o+%P`b#n|7n48APv2%~lEsr><@;A@KKnqG9yLDkntqYreo8*ZsBQ8m^~-To zT*Z^Wsh@sYMrk_vi~8wpJWpo}Vw>Ey5L@pY2U0O)cv{`Dp=<4L?3my05f zPvW9XW>NZeUaltDW;`#Vt8cS;GQ&;6lVme4;(0zvH{+XZo=@hR@x@JwYpCbA_kD7+ z8D}@ki?|T)i_N&q=Q%xJZN{^F9@FS1mz(iLk>9T3Z;~`#O_rPSB93s8vpKo0o~_A6 z^=wZ*RL{=jwt99aud8Qoa<~~U@*??|XJwQg1JLK2@uFO&ll5ktWb-&HC!5VUzbWbQ zZZj^Ui!`3R*=!HiQK7xtOtYcmd%=iazuipllMHZtx4Did16-$`#$}%URBqDvU34`V zM`c+g7dK_Rn%oa?C%HcR5DzA}CVIO)_;$mRY!w&fbbvk%@S&=N-zAN9e%efr)8T0N zZo}S>zum}N*1y_J@r9-NEJ{}o5BFQ1aNnJ&x0~(s>y3<#zM0eWYX-qeC4@H*Ce0H;XS46W9aY6T|U#C3bL%hLF?;m1*t@=f(G)KS~VEM(DNfyu5 zt|Y6&e0d$s%H|#I)RmJYzNOlZH`Tr5vqh55i#XfgO___XLvL274g?En_ke{{%(P@T z$#Ilj-9%UM*Ga+Cr_<@6DAR$sex0g2+{{t|mf2!>UpFynH91znIOza(Tmkba%I2xe zQiFIbu1%ltHhvJh(&RLMHHfeq6(Gff34clB%Mvq<=bP)n8E^g1SO`@C$}>?5ivsif zHXEF6w-Ox1^mH)$Fc=SJA9RUZVwJq-Gx2eBc92{SReWZvMShdc z|5)TV*S{>{4134RmyI0B>YFr=$|SoQ-52coX0;fqbzh3a!DuTHOfID1eHmR%2J>Xy zq<_@sNii<+G@cBq0nu90Q(8`qUVeg?kK$!p#MwM9hJw~G z`PyB~^-77;co}Eq=-@IhhQggy%P+Nh8IA6D6tBu|>&z_AhJ$E6AB=}Y^`>9$C>__O zM=BMd3W|7{uj9RS@GO1R)C-5D$*PRAcX?~5O@K=4XyelhD-QtS-Z;E_*m}i&C6#zKSL>Ug? zXg+@%WgKPL`Nd6=&c8)Mr_gA-FZEt-R?9`bspZq`;UN)|L**($!ke3=agj^4$pPhl7*rKtxhxjVWWAYuwb+WcSnLx+!Y+21Ku(~Zy?9ZMswpkDJBQT*RawAMr7^J4w7*ayiTxQI+p6hvn$SbgG+G4%$4o>HwZVUPt%GLrL@?*Xm&O^@}2o zKIq9+mKX6{zg@(ceuYv=cBRvt490miRNii@n=fdNUcP)0vqiL`>1s8Edi0wtT1QEW zEpafu$EQiT-BWW7UD0$!NPjLn&t=o|e-u%NGQ;moMqz zVNmmAERD0Pa&e$eSvLO`^DvA@*u|2mIu)m9+Y0sdlC9EY77s_Ph}Utk!c(KT9FWKd z6i`tj8z%xK;s(|O991h{8ZTcaroeH)WY;U>1o- zt$6;tY6D69i5Sy>e7<2bs8N$_HEd_Dcqigd-^}_lJdHk*3RKi35PRB14S{IDzWCsFk)*K@ zucCslw(r+*ahc|~q|D$+Q~`uGWEhSPcw5xrSZG3e5mTwYC;jEi7mv0qP?Ka!-uPCE z51-KCZB?kJ8!x6)6%W~EQpCf7nvuhNFxqaf;!^8tS4D&!i?ks;G^R(H>w}7^XznY0 zioQw^fFyV`8A<8BJzYWzBsv()4|q@PGAg zZJc;j*`Xx-&xHQ@yeIQ^ClR?PB7D%xu*A38ZFe<}hcOp>UX%|H5XoX%+HqF?7|%*} z3)=JW@T3L%)OD@!JstXUQ1*3TTWOfO#QSlId0#4<>!eo66YGD!b5Gc|S6#g%cJEp$ z^F|vF*LsW&`crpO@KHazw!ctIE7;it_if^RD?M73qp^WqqC>TIZnV2OiB7^Lsv9XQ z`H5iNRbdb8ddoBtXplRA{a8aaytjM#)%y;4JXWP|aM@)={fax#r>sws7JX1e=!{)Q zS)BfmuM#>d*?EG(N!;poFd3}k!NKZon2kH*LbLrMc|08aw8(F@WnRP@moZ0`lujB8 z@gjRN*?X4r3Z0msJ6sR)c2jGkvh7a3d8lAREd((rL@HH#3nf*3CP|h3RS@Qmh|KKS zS@)FPiHln)R{r=TH9=#)Y|7!vNgiw{NS6oD|4!XPn(S9CK#|Y&3WISaW6SoDVUf(| zaW)u}a<&|e&cqqdbrG-PtR&^sV2?sVs^KNzD}jpBhx?w7Oq8jB`~A~(FuxT7E2-V& z9KUGzn|%k*wCDc$=9A8!QRI&swYPE&4hG{2^4x|%ZVG)~S&2MO;kpMF{mgK>45m&Wt2Hj|hobLjDQ9pWVYCpgNfxj3$P z>SXrd;<$f;MTfH|;rJ)uvpC6X>;Z|`0JAwi(-@XolC4S@XyupM_nVO*MBrU&T;IYT z^@cr!UBJfFDGY zHqUoC=i83y{4g%KmBTM_^x+mMsPgJoW%X;|@#I6z30Y5b|Y8nT`9peBcIgRHRn@%1+j!}E9 z5;|;mAKC9Yj>no*SL!z#DWMnf6)?7_7z1Jh2&JVGO>39_ad+usu_lI<+G>xMaIfZX zM}Oz>6MDQmZ=-*$_Is3*^`YEvhT&M~KpQ>V)2}-J_UZNsigK-GE%4h+4?fApK)gJk zJ;HwQJZ@alCaOGn9FMk-pu}#Ykv)~y>g4mQxcok&dFSVxgz$$^nqEY+52&BZ3PYU8 zb@4x|@&8HqTNjU8=$rMR?_-D;kCo+m6_@+~x*UC;)%f@rrjPEGPE_Y(mwE9fnl1Qo zb$vRJOv}wR7E+7@^@=hNUd5khlj`;0@dcBRCcMF-J~|Um+QMn)K%aXLJF4GW9FMkDtCyGUBbrA#eif4q%+p3Wk74Xg6cH@buiRcZG&!gC{`Ycf@7tW( z`(94%Gr_6-3Qp~P#i{*iGyS!fQ~TTRHl2N%{VDC!G}c`Psx$EBJ8W0qkdklSka$JX z_gT}TReXMzUtOg!H+ktv?h~OYsUqV$`T`q*Kh=3URi}G6ENQGb80%)^J6E3c)Yej~ z490`ippm}0hKRzoHiLFQVe8PW^l8!_=QjBXvT_>xy81kn^%1Yx%_zTi_r?Yny_4(y z4JHt)>oh3^9Cp~r?iK0A&G9r)T$Bf-?#cHc&meWIO=8b>V9y; z?BCRl4pi>j-D`E@zn6vVw!7^vPSu#_;Q{OF>p9o5kM3ik6XMiXrK}Rco1{~vhmy7_ zbgU*_J)}wyr-~9)DyY#me!_Wsd#RoC!IM-Q({6i(l7sjzp55R)v#MU|lH+ZcAXSPO z0hgU-Pu!qv{&drTW?#|b;A~v&{uuExn5v{KC>zix7>x+-^-F1}B zTP28a{Ztk>t|~_(Zq6Z#SMfdN-SjUlz6ZJEJ802@z~-II?tW({v%6L&v%9`d zCU?A(@f~|V&h9GP?Yk+ysGYpL$q3suoCl5LX|$-1wk5wmoepHS0l6lC`J6O$$z{_- zJigUd3t{ehkoBWWPP)fTmC^sU8Qo{C%~4`56(Q-s%|J2>`@Q@D&ay+$n8=(f1hv@JQlF!rn zGlvmP5pwXOOz}Zj*Gs1*q*pIfB|+ws_MAMUe5(w0Rw|ml<+&;wyLb7pZTu%JEm{s4 zD+q~nl-jf@1b0-74rKOS#Bfy4+e}5_1`eiA$HDY598@t2Tv;Dl-S?>*D=YZcff_Jy z+c4=Ne5{6*K8}ucPvjw1Qv0&)!N0s8{|<5nHSjc}e-1vN1G#WjDL}n;PFOxV$e%u8 z1j@K&B+{4-Zue2mW5XgXo5FMt88X%GO$;~VOxjc(H3+F>-3Sqmhl87>wyLKzod%@m znT{=1yh(d|$}t$<;~aWICfzEUe8tlIRyU2UGR7MypzarBS#U+am-M@&-)s84xNCrA z0jG)kSonlNWT^~hhWGI@DdF25)49Z&Tyv2Y3m}bWLPJDf@8xIV%P=PUp1V@8+AGR* zTDg;r8DnviO+FV%tFtXx=2X3;!HB7oGhA6T#cY+|6tlQNA?DRImCatM)n48yM{lwd z4fObiOACNWtoV+|I$yqoA4RK$MiWcXM6bL;yBM#!RWXXxXfH*NOiDog)!}^TiIx3- z+`S2R+eWe|{8wm=hnz1}yB+|j& zhaImB1`Hp!cR&}VK1fw(>SxV~}bU^o)E>BOc0MqQM^_=2&R zOvejN7o6QBguKJh7Pt?Zlw2n>y0CHH;>TgU1v0sLlEm8GM)#z$ZI0cycL6^aHE}!) z>%Xg}I3T56L^K0}nMUE5X45pf0PW=Q3@G?vB-!N;G@QMQ7x#Qf#tmJFs$}(fm`&0Y zFpO8G@QX?Pl&@rj`yz^$t6b7>B5MYGM*8LPdYRv&BtVimYqx~6F~wf>(0*XvE-f_}o3hL3~Q|1)qouY(Jd z<0y~H&w`366{+@o!+H)}Ck{MduD^+o;!*yB9?_AwYu#&g-iG;{ER)-&=Q`B3gKzLb znylhkGyXcap9`b*ySre0m4>rXyXQXdxUK{J!VgD0Y~ri$kH7Y9F`CI8_{;u&*BsxW z5{gH3!l!tQpSs|OYW>5q!ObLFU1UrgOt- z1MQtY|06pyTRm!iWkb;)_R;g`Q2C0%sU}<`Vw;0~K60IGI;&vg&wOz?$o z+#~;M`n(xGqxRR(7tAewMzImm=UZH$|K2q}=zHi#z26(HU%|6Beb;SK`|H^3_Z}K? zGWeT-FL?68cikh(sy%NeF9OeXkCG9*o$x^c_@MrCA0T&s*NhzBmg9S`A<%k0qE0r7 zotsfq1W)f2h59tlZkkWmv~U_v*KzR`{E3RM>`$VZA2u}OgrlU|R9Mp%{7DMc;$L+w zE?{6knyoFi4(#U*&9H%$o7!h!A2zLB9^}v4J@@P0Aq^<5TO6?U6RV0O_HvP+6{3>{ z@z+hSMQtZz-GxlT}BwzIoB>}s?Yo5jq$RScEbmFtq>DkwQw+plj zib5xLc(E$Fz#{$z6sw{tTD;T22KVf%QS4j*^grkzORp|8h%taENWIz62!nmOp|H|Y z8S?+B5WAcI+lbxM-Nf$Z?;&>I31asjLF|4ife&C_3%;*v!L{Y_|0u|QziX~jHDiy> z*vA>e**Wq6?R5}7N6_iz7aJfZ$^ppzjX>_RR|Zue|000=lK}F!CXhia&UIv7PpJh3 zXXGDQuJw$LsA%xNKwQ#M?p%$ib5V0JL@&IfZ||D0Uvcl+Bg^8=TK}+~eT$Y}--7H6 zK4be?BAWhvSJOzHuBF^xicXUjD~V#WBn#4`1oYHLO$sMuI)Y#H$bZ(1TRHshJZt7H z3g65#tml5+%wD)h*|Xj#v&DgSls-?yk#)n5tZo;c*v66i6hRF8h%vf3nL`ueM+R?; zA2;x-_z?nyllDj@Z~!Pu4|vVrN=yQ)X*}RH|Gn2?YLtjc{fqH@T2vrvYaw7Xn_$q3 zHF74~KaJ18WAZdUvp2@l;T`-cJIF~&@fy^8{zvxw%CRgPx~o1F8qA3?G?FJjB)2qu z9fCa~zG*x$hRwhKi{BxfF<_?LK6Da@u#t^;g0Mq3>VQs8bM(`H0y5x0O6J%lj7#Rg zuY^fwEYQbCaZJd~yTL!Oi#eD$A2=_M1BE zi`50QrUza4jOJm4%WW4Zb4n)Mm6Y!koPm`mtLdC(7OaxkDHCyJN+t&fPtpmng8G8t zRFjFFOad%CtXaTNErWE`n>49?1n|c$Pu(+3`3jbs;MaFWe{D6n6EOE=#)t1NFEg6k_Vb82$J)-l_ReqcPM$3F zSANr8nNzUIK`FY(N?)BA1^L`HJKRAeAwEGVa@r!nw!|#w12-QpD zd`vIH)neD=zy+{9JR+{gzV?q=@_XlqxLx+O4UhTv?h!BV9kslX>)hk7j;k6Outwa1 z8S~k~v~e*h+cPrht<;83nx9_GqMHUPnyhRQfmos;tXl%hwHnJ1bo#&=S;!iFgDrZ;GH^eQx0v-|O?mmdv zw>X*6EI3V>-Vi6}q-RA&^9Dp_y<+Al>Ht1cV*OH|BU!@CwT;3<+Ds-#Z0v|eBQ{x% zQaDDf3XNx?1}Hn2jnN!^X&5m9uOpOW0|C8XQhPlOGpYe_gugXdjq)1IhKOrGARZo` z04Wigi6?<8_5%l;RLz7FW-BA?_~0g7tmt(V<95}agm;0}?zz@KxdCj!+=`KP zDEL_CBIpvE=jj@#?da3fHM>fBu3LQdiN!=8{dFg}4$lQP89sqgwu>{lUtqQ`g;Ilg zBC*lL$*tvldb&mlLh;Ei1WiQUvtmq+Ztj?E;`~`o?!E>Iq3g7Jt_?!MuXA!IU0zpv z0WJ%39v`j*zt=D)>z|Bb3ebopgqvL%GI_EDz<@X=CpQ2V2`iErP|EGXSzDm~y+YQn zg(a2%Aenz22+@nx`SelFsKLNVG8?1>uh7^urdcMQ-`K@h8z7zOkj`#Gk|DTZJgx&A z?@0W-Dc8Jd<>X$ksmXj9aIh48lW}v*C&8!DJjwDk@H>m}essB@cZcxNnhDSN(KK1C zuH(a{@SjiV0;A#|;u#MTrRCirJG}XiRYucRhNs0SPGWl4x}_I?MtQ4JFkPitl8$DK zdK5UA<|#9PKC|VppzaeE=R1t^;uKFsb|{{$s{=#w(qcB5te^cyl&o?Lb?=(Jj362V zvvyctBJ>k)oKWoE1Ee&xW2eON~Q z(LXLPFArJ&BY%0<$dW}gYiLi!G`sFsY{>I)mfViq2Gs5>?;0qe0hDtc;@f2qj7H&Q zPSdp*t!42kdanDGm?C~RyNlvEO{2Uz;OQz&X`CaGC@m2lY>o07Y==lA16@tiBc5G+ z;tbE#B;Xv*d_~XJ0CQYrzq7p41~dXZ3DXwHk|I3GlLqc|NH)-Loqt?jx(%=YmGckx z(rvWc_~o(zUH`*%FB?55x^yoagZ5YW3V?wF5PEK@DI`mTzd#;e4)szFRgqIRVu;sz zi)e;mWxzuSEJFa`p+q`NKjCSM@49YjH8_4lvJibmSh9^8FyzS+=IAw8vP~a0_YfG?QPlAv4*B8m6X=ULxl^5Ejdd^M; zQE;IOfYi$8f2!vz9=b{-_f#b?uuK-b)cVNO%5!JQOXT$r+qBr!OaGs$@QKt|rdqgcZHki&hh7#-2Cu^`;SQ`E)s9 zd^Ib}Rs5mT>&Y30GBMoYu^On#A)4uTAm!&g=jor5GvTlUjRrYCnmE58*aazYU>74i z_`i9I905#;{3nUxre)d1i|4HDQz>3anCIbi{t+>$xxPlNJ(`H4!M=VS$~Rw!Xze{m zas4=)TbKoWc|AFkF<#Kz8RQ#ioe|S%PG{0pQN?4JhuOQ^Sn{L-2TKte@aZ9Q>0`?w zmiSPW2e~w%d7_?*kR_}}X=(T&%qVLi4Pclrp&D-4*s|0LIEDfmHe(e&39%xwjozc8 zd<)VS?DS%CCdI;QFuMcWJFxi&NlT%SCuT-I5%%>jh#f?29_^0xT020*L9lCHOU#Q< zIDozbSh>ZlwPs+=2s|E$M2mvsw-I?9tMk}=T0iu^t8mfG0BJy$za0(w1rC|BvM@!? z$pX@-OAG~TMalN!eT10+OoFw(Mk5PItmUvRHJaQxVrnBp4Fyukw|8aDlvmge4sn!E z9I+kdC(-%r-XlnKnZc_d-d^QJYYckD1~Eh8{q zw4A#M^K_U@z$?}7_Sw(z}i#*>oc!+28X_;4~|jt`Rw`P~^$r2c#oz>`WAo5sgU z;B{RNqgRt{L3Y5 z%%d553H>94FP+x>V>4tZhel)l&Nd{vh-DIsDTb*QA%M6f9mOK4h{e+@74Zk=qOmah;D7XT4zgm5hi)U?`N)e8gLB>OxNm6Y=fNDeANP{x1=#W| ziHA6hkBqzGKEUGWl|Gd6ELIz(N~(H6#$(-l)x z5;$!#8;`13u|10NYe3-94^Y49<=VkyVw~hLOHJoAcj%ey zLVwA$DPI|H-3lkkbv}YL7+UU%ycD7GyUDMX?Fiptjf%B^tTDq?bdtS{=whb%F(L-* zey#dZL6y%0H)GYjs8mbXh7rb>5>zB)zeM@G2}YVn)UeSUQSP&$8mSoA>c}K238KdK z9hluK08)~t(Y4OKR0d%hib}KAC^&699jE6E&PWtb7pob~nz0Ccd2sN&**tYy!?1Pv zvi0U{?HBgC?R1I<{V987KPNfOa(*?5RE(Alqyg+EVjiVQc@j&v3phA!u9uEi!fXZg z(u_67n9G_iDl4&`ol>yz;UB*IXtNLPIxE-9(4%vH`^U-7Kz34e%>%xh9{Xasq~i+D zSUCBDh?S4x9na6_VK#4px0sO_#QKM&;#mGL*)IyrK0!q2-!*RZpx+~vi5z?LDsNsc z#1XLto|<{O7XQTzu4WrdvZ{|1NMM_bWK+b&QjsOl2@~&_jK2#Y3kGBRjC*ZiIkrsVanN8sOS8F z=jRdZ5{@xrPm|Kq*U2i*M=2i(t|+Tm3WgXuTG+&CQHeOT_>5S%MqHV2?;wyk)G=J4 zBcAwEJ_ld~T)S(|6A!JwCUr#!0--`b*Md_{Wi+l5Y=xHnybQG<6C73*^g;3&`;Bk4 zt2CNrt;;mLf<`T8@mbMNc|=7KcOE8%<9j9j_6&yML%D_#;ZA%uJQNPJ|c3!Q%Pxp1`Uu;JG_2!inv8uKpiFOsP=O9!nMYN{HybB*DjtaHK=tss8 z<^0@`0~YqS&du-(igVUP$?Tm`HcxIXUDQy+3zQ>t@q2#F_j=VALPjmzPcCg>?E33T zX@K>W3~VT0PuR=Z_S?yMmM2RvHwv%NWbR#z(MU50BCXPXG8+9Zo`CA`eM+-R*-y(P z#$I`1yKR>k<0e#I2&wC;?Q~rmMi=c~xh_y9wh@@f&2qMc(-j)^@(w8}eK(v}RfGVB zrUX_@3taY-Kt=lY1yJ%1P}9{kx+}VIzB}^p)+*?*vaJI5%dv}n@ort0!K91@ngVd& zOc0e@PD!y^?qZv67MYyV>VHQ6+ir{odEV>3XuPrgroIW0w_Vap@03C}Z#q}<>bXLT zQk<}bDd(&+SK<)kUnmbN_IU~#d4*!su?3Mq^@Are()rb%%%+%eu{j?ij~|wsIbhin z9vKbqg5!IF!Nas0EpyIl0X!`yNBcGrAYNW3k-KrE4*BJDN|!m@P-S2t(Ks$bwRQG< z-}Ya#+R%QyH`^{4b!~rrlsIBJo2g_W!#3@AJD*Y08P=-F+&0`L!bjv~JO4kBm@S(}mwDqEI1?Mm+2D6! zaL#by&fah?UrPJlP5zhku~iss0bk7(pfZy;6M5hL!ZpY$(BFuk8Z|hNm@d5p=MCv! zMD6lqKJzkMzrr#gooH9LJ=!+h?cm<0+4^}^tz|3sDrLgEWnOh4iFXXT{vCN~+tAbg zL*1wSnqmEI9egpDWj*>%|G$*%j#-)hbSx9oakJCP3Ti@tdU9UVfVo6)wF6y3ZPD8F z$EjJ|Ql~t@{nkCA0tfG`%8vZ40}$Z>jK=D=JdYhM=URfJyo_&aqkibMy_H5@-FLME zuZIE~`C~F5?v>SWv-!uiac_KUlNrSB#>%f0Tkze?1}yW5>+4b{ovL)bohWY2iL>8} zRb`z@+Oust)=n@80)O`;tJ_17hYjQ1riFjZD;w`d8)*w%BDQr?Z$7Y{80@)hTi>j^ z#;KL#8j1f_0!0WKe7#I!5G65IJ6v*;)>)LJm*dxQc#ZC^b&@6Rb*3^zGpBnnSZ?Gb zNu#SM4i`U$*R)WUl9e~%6#X4+eVw(;9zY%aZ3x>@uyB}=kEa? zyyeRf=6c@(%o8aTm=&k9jzz1wr=dQmD={dWOr>k4f{ZZbDcBI!o0@@Q){JJ@j1R;s zGLcis2pKavPB2$dpC?rM{!6c`-6OVWQ@L(C)4Y|V-W!n9R2hb`$D#hVvaAn}2c76^Z15vnqC^0 zF^`7yI!V%56o)y@g7qDS7jp}B8!DwfVN5Byxy!t-O@q~k>z8O-To;S#E9ZM-wY8AQKVbL6T$E^K^Rv(q0W%b&|2BJ zW7MJ)%M=p0ESNyxB55?T^T4doD+n@&0C9&9Cchp=^80Th_lF*J(WqB>{9Cbe*T>HN zDB`-ClAvrnnP$z z_Dx?cA+As0tc3lf$?)YJV_-Te<9;X$0f#(j_Vk|c+42Td`y0K z=vXS=#sNI3GJeT;Z&$Ycc(bh`BwMIkTL^uMsm?{<+uU##cb67;2JH z;`m8m$+xY81NNI$x0qW=4xwsT$jKT`T6iNcan2ioEPxB#TZc=pc*KGr2wI+QtWYDJ zQs#miMP0>~4%aW!G`z>~IZb24c8w2r)gGc|qm(Quw9uRB-@R|Y0D<|nX9ohqg4*lb zd9U(aN5!CQY32Im-s9`NZopOSj0YMEVL0yc4Y+M)o zW;PDiA76i%Ony9nJ^Aru@?m6U)09FYNN$HU86Tg#`yfl1G@@L3^6vfl$K&xtmgmW` zl|?gZ)F`z9bxQ5LdUta2?rpgu3u#xb`|{PhpC{$2;RTx6ms*|t@a~sNqZE=?@|pr1 zt8wsp+O(E;GFIDMVs7)-N%Kv`IiPdLg zVxUJ!f4Ny%c^&~(5U~R5D&)!1a$MsPGhq|Y&MT0WA%`mPl@7CXnxrVDgzb2e$fz<9 znc%Znfk$%!|99C1d^RC%B{wu(g!h&cabsbQP1P#r=edpw!hV>)c)rWbSjD4);6J9Q zsCK|ceW!l-Fl;GR!);`rIS?xa+G7R>&|KhP@hNpf?t_ zm=`kK)=O_-*3kkofJ#Uhd&W|ZBBi4W(HW#-d$U@&!6w;&VYa}TwlYnETG>iVCTJ$U-5|C!V zPmC`3Y0Q|N_ndl(OtqWEHQ6*x7K^{J8$AY?hSr)IADBsT&oq{sK?$~FbWM|0-qhrP z%;iYOjo~w;+H|KrDW9u8YM?Ih=ifx$&Oux0N=b|kmJ`Hok$!NY>z6Z?Z zrjEIjNBM$|D7Y-W1{7p$|A;X(j)*ZFaT3Qb1?Z8&g3**ZM{@hGl4k+yib=->=%=c) zitB|okfw~`C#P2xkeAxxoWAx73xm#=MkOGp+R3EH^AqnmE;^A$IM+zO@xNKv>nJ#l z&V+gp!6X5Yj?F7kxsovl%t;^FwPVrV!J#A^di=nV9VT@hYL$p~p-bw!(rWL0RobcO zXDmP|UPGCG;Av6}_6y3#cnXLlDwoat8Bc=pO-#@n-(Ked|Jve3==A#{#zZQt7`|cD zpckOfSVF)c{KDs`jj+&v@R`Be!p8+pmw*Jma0-A+aVmQD%QfZx^Y+(FA%S(eY zGb-eiT31ML`AgVguJl&(u?UIFct*uo*RDBF;=%KGG-hK`zU**fUSnP^w$2Y>e6wbK!60Iu(g&-Ful6HGX5KV6jj5S)nDDXKrNKZNFv@|)a}2>S4r`&H z-8(-Y5}&;W=6&`{2EgyYV#ck{7>sdY{z71U(Ljv*_?H7^uZ1a!jRZnOe51FG)wH>p z0uj|fQ#$_Y91acwTuLAY56BfV6{f7Fx{|<`Y0p{Af?!Wid1$JkAY{%Y|erVk>x6buSFrlW9SFJs8HnyBCrk zlMNhfg{l>JCJh8MXk=^eKcz8)nbDqu7J`LM17Gs;zjN?~7QVya%eU$P3`c%`Am^1B zp4gsc8zBx@tdHB9x-b@yPjT~&SwlXnu#NbVWxgZux*{>jIGB$Qr3nk{R$v=TuKpll za2=l4!(~DR*Fp9H6VaKWD^^o=k;cGJ$?_Q{CtV&=L9^v=eyRjH|7KK?kB|fhIsQGQ zoN)`#ssO?N|4GDslH#VuA{)d(opbrwa6nN@j$Y#(y*jvXj;+Ca?t3j*woEhg(3$# z){=;&@Hx!U_XrL^^C^af9H(=W0{=j~fjHBR@%B)*E@}g!nOct66=nwOX`090@E}p&V zao2l3Hen?3Zb@TqTo3U_371F8dx@CFjWjJ6)Lx6Wn`7rue5F-0G;PM?nAzxV!J@i} z5y)1uI8=cHb*T~PeKf#7k)4+AS5yl;NM_OHB~5{_^4uOga9}w&Adeb~!K%bM-Y6q; zU7!W?LbR26+7L@Ln~qOVJc5*L(X9A{KI8bpI+~4gMn@@^@5E*KPGrh=l9GHUb)-~w zlsSAMN1-FLZ%rMBYNLhpPM(>#Bc{gA2gG;uc%DhIP*rUMK%bci0DKwe|7L966x5l| zOq9eVjHmM?B`HMbh7TCHU84hH9jqd3TRoRag;#+b_u-0R1v_OlQ6S%~wtXmDA{WW* z9(k4(e_CN?R*IRK)rtXE2DkHMYOkk3c%%R)aHDjEtEphzK8qDQbhVXJa#42T)-H8n zAL5&)yl^uSrSjFv+FC^dJi1nPM>Q#!teP+(m9864zvd9It{)qD+fHU{Gnp4p6H_b*HXc8Y@=` zPTE6#O_*GJ)1t7O6sW$JpmFbXdM?wrUwo;?{i3XKzo^x?|H(D(OVGGqNR9jLI9S$d z++XS{W|k>zY$Vr!Mc^gp;{dro6weJA=f}UJKY z!7#9BgSmWFack;rODbeG$n*HtviFSoB&SgIndQd#l|WF-DE?(m<73gP$Zn;flQ4Jx zyX{IY!o?zi^mJj&ya+(ur=|~As!!!==TFyp@yWIwS{G=^ta>9HXL)4}I@QWh*g}9~ zecf+BS6H$VT*#MWuBT+r*iyb6S9OjYeg$U?go{C@`|}C%SSn(e$P9Ji4r(jUr>4TW z8+lI>he;;gH!9K3)||GC3{!Lg_H1-YNtUcQq<&1&eC|}9yp3kF1^tC)`KGc-SXWm6 z2Co~#cYOL0%BxR|UTe$hTdIG9*A*Pa$2^+;d5_~ca~9Ecl+$$ddhA?A`Ee}R5k}!0 zEzZf!7)3@Frej7sX-i3x`{RiRsbgw~o;+_*~RQY-82B!PQylf96Q`r?uivS%%13 zOWuftKyLoKv9e9pQi^aCKEh)D!ydgJ@2Ay|oJ6HINrQxUAn}tP9Hh!NT1t+>AT|nE zdXenmA$)jvLLVNU#MO!5U3Zny*Wof>rPRn#w%fv?(wdAVCYEuhmk6KrCXb9#zYv~g zOz@!i7|kdbO!?hI@$@?s0||kZ3(qs8EkDyVkEY>5yn;nF#3L9_4{IoTFd0jde?Jax zH1XHnm|MU85~8qGO3#L6BRrf+&~oM)h(>Wx2RWw>W+SAxbtQs{ONv0q&(^Ux zamqywT{`;=| z&I2Lde_p#+X0PL5D=s_+4|W~~+b}}XnjKhCcMNPp2D9CL5MtLMuoVx??l$AXwj&^Z z+-$Zl%&r4q>*|}`J))!i7XDTc8qu9sR<;r@G%CB{#v=tlu)ptk5Y{dFMsym$D zGqaz1M5qyLjhHpPld8LY7Nidk+=8@XeU;g!-4)#Bg_(mGE{|M{1n5jR;p#EqN1_P%4IQdfb$4OcJaZ;=P zIOgh)F{nRIr26CII2hNeKVFS7KMps#vAA;LtuhYzci7yNRa55uW_nw01PA$MPgrxB z1WHumB~mJ()nKBKcNZB=Zz#(aa`<*k&Y40@nukG#^)Z-=F#CJC0Q$p1|A86?A;rYr zAw07RQn~<9mToFvs>QV|^e)$2`)cZx6cyPrjJInlcpK;E*mh0Oo!XvsEf7;1z}s3( z9#Ytm!52Yj!s{!*5%Wav76^@y&Z9V=BV}{b-YCUDHOFZm8svt1S4lHELF=OU>J2|R zjQmD#rBwD6?^deYL?rgT)MuNOV`okbEtF&+XAXs@2Ip|*+`==1c{y{k+nNFJB3e^~ zEfuHvSy9>r;GxK5{zf8$_hVs_9qaaC;GMDKgek=ys$0uCg4B$iAI8nt#)wDSmeR-P zq!dW(?1cS}3vR6id6?4+i5e`Y#}F8WrJTq0((1`ar$cPL}%nOTI4iEcK`^q`JW_;n^wcB zSW0T(ts4EWBFADDlj1~Uze=p8alBQmV0Uq{`3^R=C_!Mok@oO(A{&nyp(@`Ag6d%@ z;jnu?dvfNIVwmV4re{9Y;(-_SYrrk&CeuCkX)Q(9H}7_Y-`@Uy+hH4g?7}XJ%||!r zRo8|_vg>FHOs`$oIwOSp>m$vpoCGKJKaPX9nr`;J(9J$Em9yGq8MLxslbPjB>r`AP z#hs%Cl;dm^Cwa44HjB_TWOim-wz};8Fjlu+emx=ZYDRN1{Zp(okS0Yi>uLxPJv>-& zDHjB_uIg(R;nlL(mHMx7U`_6p7yLg&u*@)28urdtJ}634E+MjbFBuPL$8v%z;YXIquXwHuJz4}Wth(!m(gMo zSpV=|`|Y-8HD-bJw(XI=-)VTHGxS5ROT6~5!T-4UKXE(VhDW?!!zZ0~hks&Oi}VKl z7HM}HZPFXC4_4q2&uzDe*Mqm(ZJ&S2!VdAf&}z3cPa?~>sF z|290*_n-|jY!8Xo88kf7>kdh$1B3E<9`T2L(skRUKlDkzi<27k;T!36ed2muGHeld z2nGJI(;{uJNBm*0MZA88bi4f)>5zWkYmr`WxPUqMvrucz0f25egi*X5?+gRh8^PeJTmNc;GcNh^}QDHd>GLH{)y)}gif#5Xp`Zf z!#{bMJ8ZYeaOgKW#CHe$6U!RJ9S&L^al0_tHvAI>Z5O73gK`J#gO_x>Fam!{{C2xV zT(<-L64&pM-jKM1;evDqZQ^x0H$Lfh+prEEar?a%@jZCnZb9S3hdH+!_#x)(^@%qa z{{FVzMKoBnNZ<9Li)o9refZ|LNM`^mHGnUqGwd&L2;G4t4O0JS?L!w#UC3vdO@91hwry*BCeq5n1+bULKt0pfdZkNEvA0r+axy1JWM! ziHG}z_(L2JtP2c^c+j>_+JhExJ3RtO>kf$5gHnG$+J2`++};324vRNjw1_uo1D*`K za!Eqc>viCtT)i&r0>2H54*$e+4}j?V3m8JL<&&Q8!G4uMa(mEnuhW8u9rnzFA8z~i zx1ApGeIx*b!L)_j*&B3PWC)%4eR!$Y#;+~X>$hQGEsyv>eXx<9-zWaCMLMoey#BC7 z`abEp-4+=P24sk>0UTSz?+wVXk6&PK_Xdboy}^LMX#EcH2VEodZZ6P>bf2o^am|6bfFW# zIB!6FSe9YmBYqdQYOl-MYjLz5_F=v~AOTq1?}r}g4FQkflas{30Gj>%x&_DyMAq$x zq~F)*O}h0>EI4y8iEPyFT$e*j#Qu^hvMZzz=!6_ygki0q5YL08Ht3;n)Ij zyM3SZ+psHO>kK-8z&;}1fVk~mqf5GdBm};|alg}o=}t)-iD!rOI)Jo38NlJ^4|>Fh z3HH0B3v>sL4fr!ykPeL5MS2Q*0$&>drSN`#3lwqCZuCjV?*T39_F;c@+kWU1uMHD| zPmTg!A5adCax(0)4_?v+Z1RW1YY*U`T&51-7a%U4OyVeS`-2u~_d5%Z^t&ye^nvi= zp6wFX?=lkNBB}#%<=dIKKJIlOHEs6o2j3-#YFgkgoLL^8LLQ8d9|8bUfNy^eTvlg_3lIJGeKufNUAOPuw0zoyV@!Sp`8SaoBr%0wi)C@_{`UkgwnF!NPQSn+PutHf7JBl5Q6l0l|S-;o^?LHS!n4?G5?pT~EN$10vRT zJHNm6VXOO%9_e2nYa+pHb06B2*W zhJRw={0^HW>3eRU%n)eeb2)aW;i9jKfp7oGeBmu-|i3(`F2Ejyu1L_bm4B};|}il$ko6k z0DJ(G4ncTz+l-jNlHiF3hYeC$+}?0r;7a>Acgb+D`8i6`^4=5PY5?WABn>Nm>C2gf`oK>A?f=A_$Ti{h_{_KGE3}3 z@Fhbe0fQ;&`AC(Jh3s}Yy&C`}#jY8VXV<76-(Y@EZZJUF7U_1UY%RThpVetYQ-DKV zq&K)G9YF?h8^f<|FYJ=;u-jmtVvqQM*}#Ikq(5kjKYTaz5pe+GeuooE*u%j6ctFv- zu#J~O_9-@{-vt!%$k6lor`TL>9~eZq0uH(aZ&joN)9v`kTZbLe_PhrBvFB zd)P(prHe?7tN>#c6tH{SIIz+AW84$LlVv6~p~HegI)dsJ4e-}hd7pnC_knreI9v^74@8V{|(*Q_< zhj(K*YT^Ds5Cfp$4l<~~st)i7c83V3zF>}kUf|6Ke|GWs?l2h)g9+>-sNVP53o^hh zJs7}&2YnJ8O1DpXJ%n)=PaEKWJjO;tE6CvV*|7%;(?ve7(tKP6j+TMV8{Q>E<;aQ&yyKwjEgOCD+DIN$wygmv?yg`R}!ww$Yez!x~ATI&Q z2Odj!69+E3+e5r3gKnEK;64)rFgB13+5^~Zf^YTlg3A9cNT1#I+EWfhpVb61J?QXn z1Gqhd6t9CPktgm*J-of~nUO$A*)xZzF*}I4n?cvLg>yobD;C~qI zcFC|q`h)&!kWu(3r|E*w1^RAuK^{puejC1ZyQJg7r4_i9_Fw?tNW0%|bWq6X`EcQB zvlWD!0}yqjG48O>jvEiY;6)Z>sxNy(kcjje;;*2H1H5~7;7$#q4n)g75Mv+_{XX9F z*j0t#NeB`LPoAHEEU;F6yf`3b?z#gmAM<-27UCxD6QE2(*mg*%ye^~u1JXgc7>J;J z!ni>^3Sd}3NIh?XT&(8~aYuuM{F^`Ge{!+^Y8x|gI68<{@pm}itj&-gSPzf z%Q&#!LyA5+Yh2t5W4Ui1V=O1~DstT$*I_X;Ev1r!G&wv74g`z`ZH!1iqtya`ZLW7Z znWssfFX$}zAVSP(rMl{~>nat5u-H0l*SqTp59xw4Mre8zx?5NZ0TkTPo%YzGBv2g?a(3&$!JH_?9yC^`ol(K zXc|G3btoD^k}!CQDnQ-*wjo{e&R8dZ_qb&D(4)}X>q++Nkby^bVqqd)DJ0sl<~2x% zwvf`J`QPKF=5`N-|5b*PPRwFOL%bB-`Z0nB7)OU$bb>7>N2S)qy@&vTQNgM)fokKp zV1X9Ir7~<XHMf1{Y7=Q^)h_1tB zvq^(*HdF+QGhC*KL@`=qW~i~=JuaO-Y^fKWx@UzFivxHz4X>ABbQK4E*Bi$!{x|>m>iYQQE_B#r(8^Ftmqz}9SLzOQdGm(6W|{WodO!Wt+C&=B#6kpiS_L@$0CKRl$| zS>?rdW79MULMvx15}6F$5(HKhV{#~aodsz*v^66XH3iT8B5MVd+!!$vRLqWM>Lg;B zrVwmqk;JrVi>T6}li3yDpro#r%$gNUt1+J!4-X4?`ZA?q(|(bt@0&e{nD0=?T!cOe zK%75aE2tEhE(;&Qm*UgrfLoAYSkV$;sa71hww|_Q-E6KU8!>TVlD=YF0sQ0BQp1$=?->PXVo*2d?Bm z#-s8Ha9WPSsl5Tf@?)_sEr;zc{)>l?(}rV<1X_UiBM}x)_HS3+&&uv)0$Q1bR`V*~ zCGdzcyqxRlkkIH==XT$QOO~=NT$XdWfhFign2sU5Ah)bNJ=55EJ$7ZCgk_psFO!(Y z`I``ichBy4liE1*Mmjle4Er{W!z*6&<5<2XDLEE=s|qlmP;^6I3Jk;w(TQ?#f^|0o z&I+LmNMOtmwQtho`Zb;*O%)D$N~N$yyEY3rGnr1={flbeUyJZQS&7iZyl-}`+LB?O z3a_z~lep%I2 z0wqT-bCqSOhDhZF*IFo9=x@Yrt<~C*f8?e<56!6;3~7$e(C;!)L-R`q?YEW zZVG_5P=#H7E3?2@w&j^=lPcy*9;T z#*T_H6E`rQ6#!|B-9|8BGKErhkoC#+vF(~t zu~|s5y9t<3(=NiS}REv!;o;7Zx#iDUR8w|Z>kb66y z(?(3gv~jrt$6#VPYsz~--l|YpHa4L`vEz{2A-pTyr%J~t^A(o(NDC#=(_iF^Am2Vo zmU;v6UO*Qww-S7{#cziK@}IO$j6Oa!Sj`nnNzh<8(1ppEBC`RDlWvulR)73TZeamJ){~%TZkD*J8IQ>W=0eOJXo!EO8usMm6~& zUM})yZ#*B92Kp{S+6I zR(3d-Mr02UPas32dhd-O3a`U>773p?lR7k6f_s2l9=M13i->16Kg^#!QwtCgOd$+i z@ia?JLjNQPvV#MS25syUPfqY_IylG(CqE>-%qe<5+v}Q#Dq~l|v(9cxV@sV#t!eUD z$R&p7x4n*KBzhiHo>TMMgdmU%vu-{~?R+AxP1<{P^z2)8iMF;;ei6M?C;hP`{ZSF1 zXWC@ijOB^)@DPy;dYPmw6_}BzD<@f!LNZzw;U|QPMJqgEdH@-rbuX~5Yx&o$Q^Dg} zn~4}Q#CWKATyo3avcdK6vPLl2-3VO+Un=3d*5C-_jwPLl84Ji=QI+CN21!#l=aTNO8tRiqjMFyR$fvIbTi!cw&eYQRp$>U&aNZJiL!xL%^c#DZ!c8 zk4KswC)dr&ofd1%DAWK>3F`=iWG!lL*KDj;YOM2a81}=Y%d z*S@`4hngt%t658vDa?(GcR#Km%^gIh$eY%OXgY6zQ#ikjSa40xE2(S7$aQQbBU-kYiDX@dJ>-7a-eIK_j}4m?mhh)4aK1YGvXKSNv+5W%)_9 zMzL|!CG$IN84nG?N)%rm$M4hRDy3Nlybnuc$nxXzAM)e}Q4+{05zftKELr+U&vAD} za}>o<+*e?p5zg4anpD};9KoL8oSuc78lst{uxb&!!)~_quZfx?y$vTq)?E%ZZbHN( zF5;1>Q8R0P>107Ff$>Z2HEoJa#n24PZz{55D%x^+Ql%|UgwiWcV369V?B#@St8G+{ zkzXK^7s;LFD56&;E9X(Xh+=9VhtUh?%H8Jm4-!nidxea9n7FDGf)B zuUsyu$Hm&rl5EB&g%DICL|lgusvBk`_fpKdsU5FEZD7oW8>q&(!h9W;C#5W<%tGw* zHFPDKA6=%Xs@uta@IyHZT_>*ZGE%VGO(BNf}gfo%I zDG6tE28lj2@N0Rc->1oSlu<1;GEh7I7UTvpSU%B$2C55%vN!WxSzLci^5{}9Nd;W+ z%2`uKApC-mCMqc^%UMFg1rR+-u4$HqSCB`w6iJMvb6X#DwTiI5{6PojZ&;78!fBM2bHryVH6&TYkzLl04rNSA(6dV zvK&X0r4AR`I;L4*mL<1v4eWP^KD!3K{L*XS%knkwW$iWaHNOVl!Zq-vyat}11h=JY zAk@BrLH63+9vkHSmk#p2JjnanLEiB}-oPO5Wo zp21oxJdan`7c_l$iQvjg=^M`(R=}%olbKA?sIjdjZc}mVnhg?u*EmuY-A#dChIUhr z>fSI{M!aM`)ddrPYd6ebUzwBNRP4xQFt?_JqN-ZVLu^-zx?NEUXsF25j+$^kM;)YT z(!PBRV!pCxW|^f24SV0TrgFoG?2qA$sfb$iF3NJtK{0`opV?Zz=nMvVJbQRxs#s+; zrgja6i=@(?TRjJ)pbp#H;44d!D)gj` zXNA5Ww97^1Kvh^k<2;QR=#}yDsdvVWj)iy@9EQr2Lb7ICnwJZUN+mcT(Lv>19k$rd zJa!D7(ldKa1Ggxh4wWsBHTlKreM)csrv}zC2bOb1e#_f?gf$o~8KP3Z;;atoH4w!)n9$7QZmhzh`YHvh)6g>SKx%vF2Q z#J6RFRTHOK4tScZFg1iWNQ1rJFmB<^15`PF;ma$JRqLF$2@!T+rq~Hh>nj%&>tA`6 za~e7E8MmLfSmk*V|0sfZ1AyoqovxH4EHXg#ZiIoWL#5@$HezKxyQWW;~|A zbJXWCysjekj(3^I&6bz9o?1Gf<@ve3VfKdnghp{Yx^>XNvK-~l#3T-m38GQNxk$~A zg$Hq`8eLI|zvCKKPh+gB?4eGc{uV|D{b4t7#7yu~+xnW>U)5YGHKwh^en@srca@fj zvDbO(a$;09)E~3pbb4elbsG0w zw(YZuDTBEt&TdEG>WIYIT$9m?4NxB5#aZFhEZ^APpM33guv(lL_3-{W-=auAW z^fUH#3l5;x650@Zt~{y@+s)yD3eftRxz_=3#wR@0Bzwld0}ok11NM{y10M6p2JE?j z-1x*UHX*-s9+SLyWxztSEx6-vN_-=gAf>I2U7mW9)o|1*~?+B z3%JX3meMp6(8{KAIm+3Z(;}$HO}4psP>WbBdQ?ci|Jt{d48mk1kO4OObt)|jW!x*! zbG7>}x5<3_rFyQnWj)v1T0Pf~T+j6i^jvSHp6mTd@TykN^+QF^_1E9#$QxxZr|2SX z*j(`Zxv99p`?7DTnp~@|#qzbwY)2k@{0ck`*4TTZj^YZ{#K&Zc^ zYR8gf-OxuKO}k0hi_1|x-mg23+6 zxLs^0QrbC__C7p3;ZDD-8HLQ{RL!Q8;I|xohMMflY6{R}W>UZ&py!6+ zJ!F$%J3w zT~qj)v_u`pwKq1zG`ReQ_#2*qd@C&#;u=_-lcYqSATgoFcFHxZ(^4FSQo>@P3tvC zbS#_6W5)M9+^tg`BX@s_GJf>1xMO7jPHm4h`W;ozkX*?h7+-~TY0Ee=<#vVAu%aqt ztAz_O1R@|D+rJ++-bIyp ztRai2zlpBP3%^XG>oC0sr>c=R!FJu)|ZUwve$s|Bs!U|dEuzk0T(r77bW33_ zl0Ihk+M6iN@+MzP{$sDY5Ds{ARaVLbTW?N+=cj-C@&7#~Uq3r)+NXbUmyvi#&4{xGG$`n}UfJ$g3M$MX* zrNSd=V3Df;6yj|d-*Z5UaX1w`I@1?s2c4@d-VTE2NG$peBRlXa3b&ka%A-l(YeE@4 zvM?M=<5?pQFD%x{k9Y>d??TtPFmNy>%UWM-RKytz3~@CzHci$PyQ@?^h$WNu*@q5D z6{jrKHr!v%HU@_-ojtpxO|@&hb+brz2#jAK_SyS1S%yrLz2W?+to9xUQE7ck<~XJe zXF1qS2o?h@Jg&2~4pZW7t+HC~s4z=zA;e;dy^$c4435Fus$zr9*R~}8s{523;nrs- z;7>p<9V@!Bm<-lb^6J}?|4@PH@b)0EYKKEax z{9&d)l&m^CYEp;?@nh2918!VGCCfg{0?Sf@Jl+dK5`ZF(LUdPpTm9JX9Amb_W-p0(G~xf+arD9M^NPKd57z2yx{^hze!heZQnY z`5;oaXv;c6Umzy}ev`4e-vgJ~as46VGJpG0F7vlCm-$;Qm-%nbWquD_=5LbA{MSkF zeJz*ytKu@Bo^0eY9a`Zt1woS9-#w)SXuJ`w@&v*HgUg0>2IsV~X>>lNdL!3MIaep| z$GUd4Qtw%916mz90|bw1MA zR*5zC%yGnxO!SBxAH+Pf=ptG~`MqhyX@G%KZ4r)m8MwId8pstRseTu;@Nf0UVNuw% ztl2(esx7CtzW^*=#xuj@rT$!}ELa}5I+n^SeTH)VOoy1tv46PvO)l7`+CcVJ@I7jJ z#wyGE&0fGPltfVDC`uwruzZE%8G@u5aa)_ZXj1&pKqOCjd_CA$Y%l=<-3e1&CMxR~ zP%u3k9tG24pL&l%8odhJvWB8_3q-gYUh?F>o}f|oyJa3-hYLBJHLpI}v{6OsnNokE z^fJniV-XORDI`>amS0cEj4@FhBBI-@s9A+`$v07m?-$wE4 zd6;H!-a=%j%P6KZ>&P8#u4=MzJ5f$X`rM3nRoW^ED(C3r);l<$-voJ4YzAC#ng`!B znH`wWPu^0frMvghxJ$zjHd#Rjsq6RMmDQd3&8g4hT46 z<>6X>DLYp0K@1TmS5!`Gx+J)dL`i@zX>lo`J>U(E25lgLYy$SF3hF$BnTpiLCeE-1Jj?AY;}?45LT)gIVrIJZ^L{# zm;Aj^J2`dFWDTyOi%@%-<;U2KHY89vMo$9iEx4`cYQHiY6iXI|@q<|WJpmTBYU+L} z^2(u@g*SKf>BV)J{`t*Q{&Ml+IsX1M;;-A}KS>mW{6I96;$0(z9o*}P9X$Qg9Xu`X z;A!m+Uho|p!VaFw9XvY@!rC3Y`n(-nW$$;Z>>jN z`h+bt0?PUnkM>sol$x;1woI|AXIv;%c8t)-Qq%=1?;avnFTZct*HcYOul%YZFmJNdVSZG7W>l#g3GaZ zW|l3&oNbS1f1S+eLWQ-HUDcQ}np%YI34Kku90yZ5B1dV7(33nqIEXaYAs%(3q2<@b zCDU%Tdd?m`rW8I)-p^!)(MA~vA08;iX^%9Z4_%64P5nEjaK-=@iG`OBQfZ}7A)4bm}prjaL>MRef1QEaXabO@#A`lBYx z^SG{T((CXJ?{vZZxG5vRqOl_0x4tGr_;ZHS*l}d2-Km z&X}xX5|tLoHu5RxoBQD4Nv;=O9ydWEr#~wDKMghCml%`7T-YGyJoyG3rt$DIzx zwYl!Lp3>aJv{_|y_j6`e#K%1SWXM3{sqP$E3o=dpOye6c-VQIrG&(q7zoK^^6?Ptp zNWtp$HIqc~6t~h(;Z@lk5*6v+X>}c}i;>!!zWe-Ykz9leVOxF^Wvg%@+qK4#`>5~bts!9n_H@` zPhB~@ucsfsRFbWnAj8fKd@!<|k(Y+wogsk?hTVp`S<^n#&ScFy;0mLK;ORA!S4zpO zp!HbBC`D`JM*2)e^j>bM2G97&!pCQp%%E%BK zV#4b2X12we0f0u+Ki{o#NWRWZ3!7_t9px(ck7(B6mkW{0j{ATv%TE1HsdMrC3~dx| z(2qw-OVryEd!1>xSX_kDKUJ-BU}tfDz*z4mB+=p~gCk2c{j-rLm~)`PJgk*X1#Md6 zG`xaxU}Pd97x&xVuM53b8OR<2u)W7;u8UKvPM6X&P5Py; zv}la+av<6PIl+2~>xeOkl?iXQ}bpMuE0cHTk@&cbduT|5Dmu$Cn zY}k;rlvCqcq!s2!G_!(Oac@po%r%B`QzOA15DACgbyyckh09 z_432{@#}X#emsrN9v-5Hhq^K{OT(+AYncyYY5Dvv z*8Dvc2cx@#%G&(s-1S1qMO2xpIW^%)pKM}o^f2XuU}_HfrPWn5+r+MT6LzTtt=d*G z&y#(0OUjzwl*F;nk>!rdnh%_X=o-gw)Oo_d%v6?`*w5AQ^N1cE9wkC9ONw`m4g`^#({L!jUZa;W$ksR$ABsny;38 z8#3jN6tl66oosL?iD)@dN6nt-Ss0UCZypxghWfi|E7ZLprR@er){Lrr)H2mtDHOc6 z))npa;bsk&e3=9BEiaJ%BC1;m{JPdH1*<%|BjTo_Ee%Y*h66&>!keILEC1iE6R17V zH*KA=EE_Yv;0IiX5A`7IiodE+>VtkvBS?HEHS5FW4O$j~ZSj|j4VbCPTDhPT#X{H1 zRZeFpz|n&_GHvEGZ|+`wb#yJmG^58cWCmM?Gl=PQk}Mt1RTn<323(?;OcrW9JZMFi zNt}O-{-RLuwMTq;FEmG0#Se8SR5e-X9;G%j*|nOquwdx9$WzN+hdgO=D`lzzc9euN zS2F8t8ekgMXVJ4}(n>`%ndkl?pwJCHNt&TE6(d^&K#N{pWXWQcQx+AZLW&?G?*b$F zRPHwrVPt`Sidy1S$_Kf1*J^t6eR)((9ji`*81d zn)qB-CO(c(F?bg(@KC~AT0 zr3TDkbwRE$q^6&0bWtONh8{m2u3XIYA6#$phX>bYLG5s6^|GeCDrTw*m+-MJC=+dR z*cmwUWyTEJ_EJfVS$GeT-4D&fHQ}>P#`F-QHkTkL!doN-ipCg!o19OQT5I(aXv_>H?Yqx;SRA0c z(T~-uSFgu!!QPH|{vy9(#gn9DegG|j`X93OdhiL98I9DrR!1swcgP~+X`ENXbKwHR zLK%~jg=t9#$n(4uclq!GW7C%zX(2`6>gwE7=2o}Pu1nIHszMmLr_k6M7>TJ4F(P@X z&uXa)1acyYT(Y)4!(9@v>#P7{X6=Yc4b8GdE9F5SytdN|me06v#*ABPV0YCDTuwpo zUdX}pWli+mHgRAzFK}Pl8nf$SXQsQYYOl{!I$ztt5w-~Km<$V$qzXlt!vDrAISupX zCX23;a*$tw8lrv?7tv%+C_5yC!_A}bauI5D_w1>3oS>Bs=I}mleP2~h)v?1qL6Ohb zV6@(TxOJb5)*nCDX#KHnwEpNcT0av;>uWGte^f^6r+e|WGaBJQ3tnfA{NiSIapmr# z2mt5&PmO6KxFkIn}R> zdg3)C!8Fn?h@L1>b#Je3x)+c$ewuI=Ww|)< z>y?l3!9D`EBSNGK42&9Y;#gq*dppgyy=@5%nP%z5>|#I9o)tx20FQaaiZmbVmfMS1 zpJ*-Cd%)z^z|U)puZ6ie=7vwR$KZ{Zf{PN5@JA0&tCEt^*RYO+2Fg!6*osobVQcuv zXTb9WS3M@S%8D|cSAFZE#*>1ZsRF68cW}-+Zz0@hoS$`QVXu<1Q%)x-@1z;eJN%q= z5{Pz6M!fT0mVGY@C)pTFyeC^m?RC`g?s~5#EGb#onU#)W>1pRWpLNcYO9ll*WA(4d z1T&NC$g|8;5)Cw;>RC3u@67qAz{O97s?}Z}@*~-p`7Ay>s+vzJ6pRH`etJqRI%+zq z32YX0(OrY|ia~|$fj$DVmXBYu#J0)fr#L~vj;eLH5{?1|LE;b}Ty7@OPN+1U3T1ZSfn%56IY)m)Y@ zs3QvK8l!x&umZi;<-uaoQ#=`LZ1$yEO##xBK53A%(-e$7!{62S@Ey5Pc!Bjstms^@ zyKt1uN>+-d0c)#o_!3CQW!a7F@4jNiMFO{($@PLRfX2wVjyj8YS^|o9TKe9TABjt0 z883jx!W+nTr#ByyYnIVJP!8eESnA@^65D%{U!>U?+|v%u(-J~OQ1x7!VMTqCz{vgi zyV!j!>S2J8Wam?%1`ZvqfzvfCy)C~ktk89T-)bj|ecolkJ$F%Ms(ZBLKsG!vhv6M$wI(RPm7%AAlF1ZAL6|@0(UbjO_Y#&#ImemLT)ML z+}z-=lRTfWB$GeI4O{-gDUrVv1k%k7j^{APo^(LWJE}hMurvsDYQND> z*k_R0{P;?U2+uxZE_rxu@jGC32WY->y$STp4fceHugDAb9;82BUw?%TnvTtt#z>Qy zwxtaB0Q0HgsFPxIxgsmGsmgL9Rvp^kv+nfsa(1$xk6GDELy&{u??E!{HXbIIEPnk|3OUIoGZgco=sAnv1*W{XOeW?9 z$bJKN9$Palu*IrbaOyhf4U8T4Re=0UTyMk2XCeM1L?Xx4egpoYaA4 zk2t)2${IIUt3Q<%J>&;o75PP4BBE73xdc-)KWCY(o@%}8y2K)@<9hHx5Yd65;s$^m z8Qs?&XC3^ja}J&q85?)TGhoMfZ=%6>L{q@-Ng-zSR33xMU!TEdw&gvcas|6bsg$0k zkADi)6{|SR!{R7E?TBMX<|P*cOL#&p1%j8P<%>KSqX*4leiVCNKZSp@!~6(7AyNB~ zY2?Z?K9A=RU}5wxWFL8vkaDlI0f5XmaCZtP$)DGtcP;_l&mLAU4b^F~M@t9$sHeMM z^~Vgr={kT&q6+kL>oe5fKlcppMr&W%gerCe5A!gWVq~C#Xhngtz= zwpWxa!md=+sK%sXu`>utST+{B`oS!Ef+KB}y+mp)=LNR!_=?I;Qe%UP_iBkn5Gc4F z`aF=b;l}#9C@kKKoWdO3r*w52^HBVllZPP=5zh98`-i<@xu?aDqXdDwnfk|7!Xl1C;S zQlP99F438e}G~_dMvEP-kq}|xn$Q#0cb4ZVjzrDy{wAO@N%?$J;^UH z;^{TRFzdXy1{Fv~hAh`h!>E1o4%iXtD5@=(vrQ9Kvsk$Qd8Q5L=O z1fml}r}M?-qW5@dVxZgI~1nv zc#d&R(6=5_!KlEIa(Lzk;S9Fk%PFISs>dK*R+gNx@f+(!85&>g*&V1Vf`WxWKXakt z+LWZisnI9`4h+~i%6s)8o$lvc(yp+6OM7||8LM1x8!wVW{eHEE6;N7@!I)BUeL>ot zP=zl8kP|Gjt-oLBZOW9I^N=0InYv8!YN4J`9yo(N-((e`(nN+1Rs+BO854r~U zhSgN97R&yav6(pN0S5d{HqH}`18$%K9Se4k$Sfy0&5=02tO7KZ_{IQeH2Y`!Mw!;} zO}5?L)ZqJ|kWdB(5B4w^1g&&(R8Wx)xs$O-vm%jzL}&idB%F5e7O!7r(J>x|W05u6 zh?NyxNrOPqV`kqTL{|`DlHow@epHonhMaDD%PxzWf%}J9sF-zXvf#Wr(pTDoSOj`5 z`>FQOGoI%1Y0^ack&a2G4)2hK8C+~JvaU28fB@e;fiw^nuPEv^yxJP~xo}?avoHxg z25|d$2((XzJO}LQNcFhqas;3eWM)W|+Fag4 zPN55-bk38~I$ptZ5C7O32Zl3r;}|x}^_he;0>sp0Jhn^DRabiqrkvxH*X66F9#E$A z_l(@cJi)fklTx4KK9ACIV5ZQuj(K_wag>S)#N7BHbw|l~tSd=AO~({A{PSK+wjAFZ zBx&{&oDj4alqvAGI$3#mQK-WpnVM$5rd%R90kxR8_v; zGs;Ni0~q$0h7oQbH*BG>Wu3LE#NjLSB+0Uzcarg#(zF1CgsRYyBpQ)F?3y*JuGZ)c zx*I{WG{xi2HRDm|Z~3f4Ch-nfEXgZK)R6P^Z{(u9?_4l`o{u}H5C;a|$MoP@536=3 znc;}T)I0PZR;L4Dw)nNP^pa(rblgeHPBK9vhmo^!uk#mxWKPG`U!wPvoHhdWAxs}} zJ};P)vHHaxLbimiJq#?=+!Z>xFN@kV2@U>1y5>l4lz_6`n7he*Th-?S;*OCXnDk8* z{uw@;wB)0a)_gSbs;&?QYIr96I^gd;xaC5lR9{2~<~HEqGU7z%Nuq7v&kV#?q+CXd zE~$zRQ`^e~dhuGmGy4RA(?044L}Dpfy$XWB3NBY_a@##!Xtw3$CA7(0x~bGiYd`0m zayA8jYDSv}O@o4z;7=kZ>;&9W31aYz?f5#Fs*B~+NrOxt7Be!{pn*#zyE3=^J85Pc zHoMz)=<`f>pJKPu#yVs>f{;4kT!N9aO$(lVA~{~wtTcpOt18?|Y3;DUxNR5BBh+cY zkn#|B2}8p@yB#ON*TdKiiWO!X15AI;Z^KJ#w_IO4$mzdo+g(oXmof?1ieT}XTgsB3 zJ86cb=%OymSRjUPvyvL0(cglb069{vvDFV?DIgT=417BaID#P&7BEbW1hP@g)kjW;SO zxbwF5gy&dL>C?c}F2!;D^Pa2iyLSzn4Ru8=^f)hA6hWU8rrJN2h6)OeWXXCbg!d+to6q)sHxi zRm`=$KnQ2svM}Zi8nao_4OO`keQ&xF(H2fi{1@|E_YV1yAg$juM&QMzKfUzNFM}X( zUR+^K-$KKbrda7(P1ja)Z@%({RNE!4*cElUWL(6IEtR?rE4Nic^O2eg-MID{UAC;3 z4d0;m9Z1-3_cYmA(pbz%n5^mYgbK-wGt2}6lp`p*CA!|g%tH*Qy=D$nD>{1K9?sKK ziQ#9|*d;XvV(Zx@xm+32l)9FgLlwg(e4C;9M%qVbX;Vt72~RTlhjKq*=4H86`Ck0{o=yq+#@v52oC2}~^|;=nZ>=(@W}+?mLsM_G zwV?s1`RLp@$dP=NPy|>B@rI0(gxDsj?*YT%=mQ&@n5V~N?3ZjMw(tzGLNXyxS!wuK zUuSD^Z1lwNwg+}bU`z^g$HK1Gp9xH>38r!EySAcsOp%@lc7FqBEe-EtIJOjKD=q!H zMRQ7PxU5OkJ>f)|aijLs(TW=17RY2+Yo3+|*HeuHS6MPNR>f}!&=Bh_JgYE!vOePB z+1;4y!w4QciZ#JF7ZkoA38?-R`Md(?5ha=^a>H)VGWSaoglaKa?OrLLNCt*m%NL;o zqrKG$K~AVlC83BxPR7j*Z`YpKD}(dY7IMLrc8nXRZtdV^JgazCOSs?Ta>WNT7zrA;%k zcuw0zSsaZ^SZ3o_S*{|8Z2_v6CuH#iCwOwVV8VDPUs&eYG)#i9z@bTNr5<>xlN7BL z7~>=tL&LZPjao`yD8?fhfK3v_oASW0uKc3ktnHDYimY$3GTDp;Yt6P&3DNXgl_$kTB!|8X#y5n?kK@m_}G`~qW8dT4=#27iT^c2rT6ep$=Q zVhuPtoxorMWw!->@D%b&8MBSXIgph`A%gl$eI6#E$buLu!t3$I{wM;Gz-ff;6c{W7 z1I&bXMMaiBJVW(Ff)$(e#W?m<50Es)%_+ONvDU}{O-$7udC0&3)|HkkMTSAPPYe%xC6t8ZTa)B&c{K zfncL`_vVj}QoNVKbnhv`D`5JcamxT>Zb5P$UC z_v`X&UYB1lWmO?UQ_$TDh z`DYjT@9E=mhBT9OX%SvD4)&*y;rex*E~ z9Ty5%(tJOMO!SOflM2#l%VJkfu|ENXLhI6y*UBjl5h#>{l~!LIl#lAUmOkmG>B^kP zL6e(i50_n5hOJ>OSRLYn1{da#h`p6b|$qyzwE`{RbGtcZ$5-z zgE4!Rrx}+I*)aAL&B=$^&{!BroWs~V%?tBUK8)uUC+yAf1Y<*k>t(|#v(dF-H+@kDX&3>d-kL`lLxC_b-+l8$j zq>cVAE-X>^is34XABTztj@T^T5XuNcng{tcyL(qFDn795*;KuWH}spDg2%YJE>!T; zG&@S!Q5s4f>#mv)4-?A5FseyukzM1qwR<9Zq1rN;O)j@dAnk2U)}$X_GV zj2&8?!;K@9z!LKCbkMekhplyY8Y}rR-o(m7Cout`^U|tS|8FjIWM_rzvym9KaCf@~0OG%AS&_ZN- z%j$&3!@0OF0*VL_Qq20IG~JafYD{$Tk*1+ZrQP(#j?)#wBNSb(uaDw5U0*N!QLw(g zHm;?V&ikUHH!kpY2 z#5~mY9uMbw^RUXqMa_qY>`3X*3qOU3QV1&5*T=Yo1CsO%IoYb5Af>B(J4B65W^^Hs z(>VThBxLCIb%yTnN++?tp2e~EpLrtXG1nC8>VYCZ3wsRPN1u>s0{1m;e9)lS_9{Es z5ZS6Kn+$83rnMNP8Bp>plTldAg|bUtKlGC8Q#QQCoumpBzgCV|^9=N4Die4GQEI}T zCgd5dP6M$6c)9^T3_Dg7g9S58N;#s`!fHI7AbRf2&4K)5NPn2PT6gbaI(Fll;Q;rc z!)i3Vgc9$uSbISnWYylhVt$O+L4#pt|Sk^vrL`wPoO(e0#Z};OT;Hm zai?-v)D;7Dm5^*ie@{!#j>J;3cukAEn(|oFXrWKc(!rh*ak%OedJ-dWxSWff+Sq%t zV=A<5u0McB@+dZCQhlfx`s3u2mDI*DtJc4M$TFdE6o>Q3P@iG|9c$H@I_J8GvwzH3$=}!o4BxI*r?>G9;!lDnP1<-8d_OHP zv|VJU{&6oH4UeiNe2e^4JmV-C59zW@EL_+S`i`VzmddJe5Xh-9EhiY50r4SXv!nJ~ zG5wpHv|&<#lRz2vc9ow~|r7j@>fuDTdd+ zM#;CKQ%(GQr(VCmu%M9vxA`5QDLKHpj$J;l8rAHx(NsBEH$Hnmvc(B~=Vl&XA;m{~GN&$0`6MtMIRi&|MhP7FMpg^$KA3Z9z(nukU+u`mm57$3jp z*aytw=4MU#_|>AT7JisooTFs|WE~+6NMJAlxcXLx zbUEnqAjG?HBM8M430{Nyw-oy~sp9d_FEkS8C~oXNku+y*BwVzYEo)U<*0r?}9`kzm zB3wTy%k(VsSy=BAouY&(HqzLS!Q8Hxg(LAX?8AG}gC0aTya${_$%oEwBYGZOp=Inz zQZNoFB2ZbpBmsO{?z4~lha$O5`SojzrpG|_;fHiOwf#+v$ZI=#Ilp8@k&fA$bSx5u zeKDs9nU~d2GCRB^+6}HrQRG)YvTJ)6t+~xNxW5p8^hb6Lkif}A{x#yoPp2U)Ws1D@_3Y-RlxfM<*9*v* zXC@2~BCR9}B{$loq*BN%CbUO*G}(7tEj;0=9olzZ^17+5Oui@w`%3hveNa~+TQe!E zs3xksB$6Go`oUnHAM5KMhJNnQ+lRINQ1jf9s1)K`zUJ}A3{UJQ6NJAwL-_?ULhSc@ zrnjHs#oAf$`}Cuc#ETa1sj1#G8m?sYl!h>oo~n8P0_nPHA(y(9NLTE)TT+_GgTrQ& zx~w7wF|;n1wnOBIfi?u;VtxH==%*obSSw&9@x^o~BGE)qTI7(C^cBo6hJF?@D_ybV zZ+bmVje+&0ww?5^Y6fWv+@#u9bLE_nQ~UuQDdrSNKOpc_o3LeJ z7PXO{`X_RMRX?6(pbf3HwxprexQhX_+@OuVGfGfUN9*>#)mh2f=^?Ehq=p!6KR4A! zC&z)M;%?l4FLKDxVi;P4vNdqrmTNBbcD5_tpne-4AlHZ6TGn<(!;)qpuY10van`aG z);<6Y7!`!Ol_1rd8+vaLJf_xBj?)XaQX7LHx%xKD{0mY*ZHgPW3(J|jzCdl0h?Abu zK0>H4ny0j`@D?e+mYhm|FM7A=m_iAhG;N58T6HC45fn1bT(3$;igpBp|wUeO)3pTOWzF4n}?Wg5Z?u6631<^Fe@xe6=VYRTgWuutAN$WH5 zSzFfSJPxExkn_!^)WvIUt#J>knje@qFH23#!jYI=jK-Hm71K~{8PI37_S;&UbD2c7 z(ORQlLEF8~3Q|53>cLvx2$4Vu?%G=7%vMW)aXPFgwalU{A2U))fSExIC=))jTB=e= z_Bm)O$(bcB>DG;=L*waQ28okEZ>aJ9G6J$s8&NsJf7)=5F_M9bt4|iJuls8`q$kmS zJgS%hK9L2{D4$*fvH*2$Efx`FfyBMXo&;5uSsqRX{-BV=GT|)cE&@xXru9Os6mJkj zdjn>D6qx3`X@OBCPKGtVD%+R5yQ##Y4?>z$RX>O|myvbCNT^o5mxk~I&kg`OpbRz&>p)ewM(r`M<- z=*>ZM-t+uX;DtQzdH?bM^r}z;T^tn2m;nN$Dp<&Z|Cd*Vyz!b}i1+{UU;M9L73LXx zo=i@~>wErhH;2F7OS*qxFmm19d~OH*6Rn)+|ePJN#j{JgzW_ZN-s|JHpvFBto2mK12mcDJ^@ zq_zK7wKid8d2pU&FN`mUHXvntJ;m zyedRJ(hGK~=;*tyc>Q1fJNf#xNoU)vmo_pT(D7O%~Mr zUlxzntlQ}G|7iDFW^Z{sjOUcMtLzUsFE)cx@8>!nnf^@`EDD%G12KKn2ADZNH4Ap)*W|(|F;WTP>8mxrj*ZJsDP2ut1mJYO*tK zY0LrRVA#=>2{T?}QId_$!7#3!fV9Iq_yC|Yx7Sdn+B1OI9;|@W5li0R(mY|O^`@25 zE_6?azB5{>Hn}Ph1Bj{dqdGiQYQo>b-ZoT#VAm3wOBE|S&!FW=`X}yM<3l}g6sWZ6 z4KjldRa_P5yeQkaFgs~GqY8CSDS9cA02Vc0SY$jou$-cb)2OWZnvL1VMyQo9Cy@LTHv8FkGF@dqyL(sPA?b#m%PuGq+lM!UA%2#T<D>%Z14s%Xoo1CFeyKbM8~KwgoFGcx=)d>x%-W39v)^#rgi}@d*UgR1}g*h+s}0N0>e4U zyld`>yJo03XeYJy?@$&XpVlB$5AY_384`4ITGd*Zlb2LsP~gptpYCu&ePPle>Dxv;)u z!L!h;c8!_QROc|s7iuMQBQKE<9$)1pCv~=;EA3#}%wweGgStiARvR&e2S1AUh7|B$ zH^s8BtWR4gK4|7LXt-PcoU$ug^id;s>%@%smug8v907gL8mhRSfRN{dHatfJefkOh z^M%YFoJhw#u|Nq5FtC$F0xgIFC9FM2jg?agTsV3SrCptiZ3R9 z`&O|0gvo2E%>b5YC$Oa91SUz|^3SY&bev*@F2)n8PfCeqa=39sAvQ(;!5Fcs*Hi?A z2aht5XAG5~@IY0l^=1~2BZ+$;(oX%+I#;ns_RQ3Ez7CTJJSzGklb`uf_TNLS0o z;Be@L-pOnNv?YJ?e4OK-NBY1`t*;_KMtW85FV>jOgB&r={9xa<07=!aVS*lC=R0DT^bd?Wx3;%|ghmqH%|*_>JN&4>Eo z-9r2kI-cDvRn?3vC8I$8H3?)+a-%g@BS-S0GN;AvWg*>Fdude#{Z*KMrb1M5&4zQy zh8LayWlgP+#HC9nf=!$_dA}0`X%((ML6{!`_%gWqq{-DMb*?^XTXNudUoBM?0AXF)tPUFH?Y~~_I6??z(Pt#Lw-GBWlM?YEE$6n zT1$P9!+ru?c1wXLQdnziUg_ci6~HP~Is5KZF-w`9KtOSGSdv^2%m+g=t_poZ!h63R ze$_pCSKhf-ll(;59&E^x5L+ACJdADv(Ue`oXiABbtjClKhVivMg6M7;0syT<45^nSYmHQT$d-hBmX zwy%!viXV6Gox#O=akb-PsB{dKj*mqZW0F&zOw!S!&dCx>yN8`SrrxdCH{G>n&m_BQ z>leLm`NDf>`8~A!zS%OU)IKl(_Me@dFZx8SV9U4u`Jdrq{|q1d=YN)8tJ*lqLYkre zol`XhlPH8F5kgqYca8T6|K4w+(&1+J;nAIYfC{g$w5CI-?iIP!%L2v*L<#ShOFjl?%Zf{gy9^k$-pbM-`u>m9x-aq+KH;v&MO`X z4rmmmFS?ocDi*O8fwiVxv9Iz2>Bkq|`|bVv_ljv@yiHT3=e7XqTmLFEuD>77XC-?j zG^aA8=E-@Uj+n%#lk2eH$XdJ>=T^n`_2_oHupaf|CbZ+vLTVCb4*@=`RkGHHnaHo! zym45bM}=BE?Va{>GD*im--Oz?njl*s_^+M#7M0>0l7%jGJrkKUhqpk4RQkvt*>wyd z0jC86xZ_)yovA6>m@3iP&+rrc?U2YG1414fn;|#a1l{80x0f05_D1w+qvKx$8r=n~ zh6!g!>}SDpl)%2TrbpZ}3-y_$hHavYD##M2i(zAAq$3d_G3|@*m=P1YBeM|VECMu@ zpN@&GXJ*f=5iII>9@hK4s5DS-CG%P>pq!P+l7?z1x7?i58RpQ*Y(t1+W^4P^)*siM za(UgL!RoH8E_%L2Z)zTog7Lfrcs3CBgfq%AO? zU`gwNpp}C-Fq?v@=kcV>dxzeM7g`CG@qP_LI3TWMynDsacvZ}wJ1(}5tT87O!!rT|XQzfa)2xyHW# zJ`AnIMzxdl_o0of{uIo~{Tv51pCl)2(qlgM#tXu9lxMxC*Aa{=R5Q?1gNN)=Je>+) zr1Bs?JDV^#V_=BB!IU9&Qap%`~bf{bm5UmxWW{1{Go9-fC|^wDb-Z4j7~tH zRm@`H09--xM_-V?yj`8Yyj{v)1a``*4Cbw5FgV>Ndzp(ZKS!X=?p2XYy`F~}{w_jq zR#kJqzoq@Iy8eV-`aFC~yWdn=y5=>An!(3!he1EZ0F3A9+4%%m4>l-nxZw}LIWCi; z^Xo9q{0G|)w}U?XyfcjFX$Jl%h}Y&33>nWe3!o@5;-w4)kR={}_84osG^G{GZqPcrnS!*gNNZ z+Pin}>gp=G+K%$#?B3SK#>Tz!^2~em-8A9nopJ14d>cLZ=3!^^e)MpAJKEUVj5apz zkGj#u_QPm<`$4qv?Stsyg9p*}x7*RT54WO?Z{Yv8qs_0kqs<4=*4Ou=t&Pp|&FKEu z_mk*h^suwh+3ak>f1|DE52Ec2^%!1kbT^}|^UY}U!3b(}qm8elZ#KT|Mw{Pkb>Q0% zy3zLb{b=*S*WGAyYb)CNcC#C8Z$X2i@rY)^>D%``d2xaBDmI`rAo&E82eeu=8!S zegEq}y?c+ogQYVZOVRx$a3uAgt-TaZO__NFmw%v=ew}HuiVmyXES9xBS95V~VF62KQ;&jX3AD`(otjLY3Naj{&$nupK#zCXD8i`Ote$aNmIt@Gqd ztn(LP0;9!DV6=N1k!xsA1MviF0#FF6vj{bh|7b=rx-Fv^?|zDO=Gv`cZE2UX6nm}} zU^!6S?4%qO>6A-qJO5N_lMVeHILd5wjxzhg9A&0B%Iw7EDVm8~!na4sq?=6AGvFam z*2y|%t*m3VtFudH;?p*GZR3Q- ziY?#RY6>OsOp$n|tgy-FxxMu`)dp9O{#9)854YXok3VsX*EdmUt=tORTu-GWr6;>F z;D56MBvwgC$Dc?@Z)8J%hfV%u^-ccd3vco#a+A+mw8TyMUr(t^Rs5uNmp@q``@iu* zqg}-eE?p~l{kbdnMHs>5Vn%RzD@O1}51rV68njcwfAf!*?JsZ37e0OxU#Rc8&{)K! zJmHN&sM4+Gt7p3lz^XDphiXG?0%zyQ*lEH1I%Sh_CsP>BPj^jE7dcf+@wo6Uw1|F6 zI?p+RQlq=?Gr0`&t0KisPR>eJty{U7IPmkB?Wh2`=*&!^8ok>cf>XwYh>$m3{~@#= zBa?Kn7kHpxYCFFa9^CXRA%}#ue0{x);{?3s?WC1i(0~Zd^{8QCEfyMP4G6FP0j$30 zXFYeI>ATc#fSSr#TJz;F4Y1il1a2YJsNVQ6j7I9sESyhRa>?Fg7pypAV@Q4=upDSW z*vCu)o;NyDOL&+-!o#}Lg$}*mm4IL6bdsW8cA__m3}(%oTa2>0X}s>wNbg3GqCrjTaC>`U9+?T} z%zSAhGhdpVc!(H+KSYAGQG5Qh#d*?b<#unQPDj4@g)$!5iH(N4&E!I2dQh9b3n6UH zghHaoE%OP9kS>@+BZN}9lv1O&%c&!$bI@``+|Iqxf$lF+ZPCdK!6AU_~r((nCgtAS?HDdDW`oFwB%W3 zEe91QrDz^hkm}bysQf>7{XFEs&CQ>?egUw->+AVi+(@!&vS=NHwcA9nY#yh1>v0Nf z$k9s#(8=91~9$c#m)ZvE+N>fc**H>axL2u@F&JBw;$8(6T=8@#5o}n zwi+V-U+x0TPE}ho74L$RVuRa$QfHclYka4@w^sfxn}z22{k7Nu!L&Krr$ujYxsPJXIahJky9d>+^`F5wZmc$c8ka zoWS~1D)3t~MP^=45e$n*C>;1L1J_C@MIxDvT8wBA553`4eKAE8 z)h=>GZzx`*FgDWfB$9@l;38&+>5-D>*kO8?a0r36TdAcWwqM@dSYTgkafw$Lm`UD< zNOw(50n8>7>ACLSt(2}#jqLZ`I)=9)dP{wQ9ZYD*2S(XL?+!>mo>lfJ)asRNeLWRN z&hy&{I66*pHCON5T}*s=ds(P{t{dYZe?vOgO_|3mGEcK}R-_O!^gW^~-w~KItnlhO z`c_fJY*0u$@C4yyJr`Dq1BA`iR4)gCss{n4LZAhd5DgL%7;P$4Ck?SEc!G(Lp4MVH zO&VHXPbFGUpg`>nSVN@(>nv?(jhSSqJBQgyGRe$WYTAgB&T0@tX4-&G>Wr?sO*b?5 z#!rKVy{;+^nkkn@K);#DlMc`=wy5_!A(nL#3NcWXf+Z+BfmB0ua>kjR_e=-2SA zGWz|o8^aSTNCc0$Uq9`b`ywVw>m*rZymTGy3!~wnc!$9RQ zZ~6Id`0H}NWxbxtN8!iac%IC7{+jOCG$}IDXgA(|$Q}sF`Du4?B5J%+%UslG+t11ob4s^6P};=5;#<=dH%MmGz^1;pGT*YJTH8oeYMH9 zyH69&qAb7igW%qlzSC8-iMZK_qWwg-PSs3ATidv?|8=(p$ga1#5P(d4 zpI-(qo^w8ZO|W_WG|Hze^SvLQ9nfZhBN2_Vl!zX#Zj(G2*Rvp^t%xgVLr`@WteoZ< z;Z*bQwl+3yZuq0EZ@<-j^DQbIB^eMRsHNcx-Hcrk`=!(@f!cS>N9c5C-&j%Ph3Fi$ z{|uh^-ag}3dGUdMdVsv=te>3Z1$Whdj4wpJ68zMVSePUC+MFf zC3|>3yeAGNK2V3!uZ}YbtSyUc6HR;ZH+9*UW%1T`+NWX@+LbScYgCDXK< zjK>8lOIcS~PA4qR20jmV82q=#&FvdArL0XKQ|&mb^6XWSpTQ56RvCN{rsAO%)4`EN z3mnL6^NbclR~#{8$y@8;qDsB|$MYf*4=P$m!SkmD0|8#_1P#r{0oeAJ=dUG^l)lw^ zbPTPiT2-SReKBrsH!il@tCzzAV!GyZ2`>~;7|_CiL?6#M0wR&4VQ9>_IJ)~>?LCm{ zWAFDe&%C}IeatK8plojb@!XJ?<42fJLR-tloTIk1brZ7Yu5%U_dyeT%MhIC%hp1M@ zzZ_K!vJnOcF3vqL4b3F(43H56WEKN#PG}Zgu(C|f*v(BA;WJ^|uxQMpC~$Ipn()N79KiDN2(bI%(m=dI z?OA<#Sf_))&SERFd{$@qYyrzhUlB1jolC-ZaUJ>t_zvDSPm>fbGXx1X7ftk3W0gJ^ zQa_h-rcM|-DcF*eB3*J)uq7u&+Hz7bIw^Qy>(qf+hAe)txn)Qrgy)Si!7sbP;iiV+ zBcUTI*mMF=w!iEG*lJ+v&}CL19&hydcPcp#AWUoNAr+Z}09KmSaLBqR;t!^>Wb5qH&0hqQA;)Xj}K&8V5-_YXXI5rS8__{a;e(o$t0hRhu{e}V&xOa zlv0V5Oel*RsC*qma1~|VU`KzTAvemV17X$`kafYhVQXJegOPKD$ z7<-BIK1in3ZAQ1mZjujpKDJz;u>f9%hhbmvY~N z_j3V0)-0ei4R>OtF77zMH^oF8c*X=+y35S&mIb8UTvKZ{ldB}<9jSpA>uh~mTt}=a z#|yYsEY!aOF>~^wc_50&y==B~o`BG3AD{B7_dUvmm30WNJVZG$G(KjJZ^4+f4Z4$6 zc28`#4Ot6%z}4;1Vgg7ArRY~zU(9u)NqH+*7F(@&z+Dij-*vl`)dw@DjH;oW^Gm(g zKDN6c3)f?E*F_=o(3>VDCSwHOfA|NyiM?@=Pw}7R46&f&bI41=ub5mvkW8D21co{xJO8uLTbcN!8E z;?G_xe5yma*3gLfle`TJm)|tRgCu8(@Sv)yD$kyZTISZ!^9=&5mu4Nl!z1fqk6WEK zq-$Zs!?go|Vey+NLCH?`3?T16@mV+@C8KlpeG0)_Ac^!%yI{RZwZbqwHT`ii5FS4% zy9&9w5*JLg6apZ>A)h1z+h2f*xsCFxj1^DoCO-xf!7~1fAz#yzzZr>6q7mSSVTZtU z{why1zP|2!jLzNQg5UmD*+_-+@hftPp*n`s1mvCq7f;y6cG*z;dPx~}`hfgP#x$QW zQGsL(f0A*2@dSN5@|8DvSvMoZv_l{(clY!;iqvx%hCYis}>)??P zdyl8n3G0r;I*q%SQp39m9{KOeyTNzw?m>B&SJRlllmc2guX`O&A6|jEP;1@p;k)wP z@aU_ZZWmX`lV|yO5FdJ{>DefmlETBAr0QUp!OI*VS!NUONORb8br-M`Ven=m41*RS zlSMOmotIvmVd^X!)YVHS+^TM8)4;c`*1$PdO~|{k_j~}p4q2S)sa4Z(Hqdt!C1HD>t6P)Qqa=OGaLvthU07Oq}T5 z1yV^3jEtOkv;^zx=0ipgn>E*X%SX@yWXbojg>m!SH#g&j-fa>gMV%StCKPF&lc zzv)?Oc#%p!er5&77Eg>YlZcrOoaDb^NMnHBXXDUXSTcFL$+E@5^Hpa0sjwvPgr zR}-8Vg?5Uv?&4`<77ekV=L4Wa-AL%&QMB|tpNuJR0W_;4VAB{X7RMV#tOE_yaLd<* zQ`*_0H*Q!`qFpCd9G!Cv&D_ftvIa*NP3*3YRL-L_JDwF=3a++BW78B)ln zvcUlCYdGAa>fAY8%3868Y8!3R3mPS+9fG8&tB{|uIuC&iR4Sobq@f+Gx*#CxVu77| zfvWbno#9sUz-lZ4cKIV zl&g}1{%4*~#=50m3ZCo6?>y9jZ{X5Pi3)GgSE}+4=&Ng%YU)X|)1a9+O|$VHBr(N6 z78a#rNa`DL$<;@Jh*`w|z3P@A5GiBjsP|1J~it>Pnj`j7E0saB;TyqGm zP&LwU1KoEVGxbURrOvv#WvFGQ1IzpXQB837kt80+O#QvS{$T*&BS7n{4C4610Aw`r zQ#W}sFoIiUQ6;qBm_2lqQ0mz&QwFSnm>{2V=a96g902pnYiWPnRN4MGJ+-cqOAuHJ?!yjXY+jX{^jQV=bKpgOzJ>J zAG+YNd#o}rbkl5{juM_1=7_)UY@BahZa)7S`n}Ql`h4?p>-omdU;lZr`Jl4_zhGcr z|9R2i_>6I>|9oOTG;&8M8abAFk~Llr=Wx*7 z+8XHuW+l%r1m@4R?}=|3q<1->ODB4-ExOv*Y#`K9m*=9(-7CoZ(iOexf>xDGq2XLS zLx>+{XEl-{BpjgN0OExnj>03|IHYrfHT544=t0>!B$>gh&k25DGGPU2HsiryQOy_N z^X-L)N5bJWi_i-^m_HpLY7PBDrU_alb@zClWMlAH*%t=TX9LUI&(Pgn59Ga`E{bCN z&oe!~d}6#1DGr$iIV(+cr?itofW7&$md*@BPyL$sx5-C8wswfv`4{R_Jt&7!l zde?(6jXw^8x#^gHG3e)Jl4?9mLB!NKs;!eXn5P)5Y&{I~h>lkQfnuG#!92qn)(?LC;@oX`D zt9;_jXyssF9oNg-Q0NXuCS$2Y7Ootu<`yrv!w$deMIG-h^Mf9f_m0NP9;+xpvF_xa z$)F6Da0u*@1n=WxgMS!LGgbokS1*s$bQ>I~$gvto-zWJ;ug(SP#gigUx)b6Vq7bai zQoaUk^)*YzFSE(@j$m><515wl%`-?{mlRhNqWPuY$eRsUL8I;OAw-0Yt)>a5%b48- z(|CL;8{lFYnZ-9&tqNUhXPQG7g-g|^3@D|g()!Yu17WgHjYQ$5HH+1-GLO?PWzy8xU0*)qm2~MV7WK6R0 zwd3Ox#OO4+>Cg2hlClIx$w&x%w0##eb}R@dXpoTp$m_=5b#&D{PA-z^)BHl%k~5>b zFYWGHcDq*tIoaR4Z$TTKZ*F-B`Zn5l@F3cHxP7@Def#y+dG}%T_1A;V&i!a>^WkKx zyA^G0e{<2@>fryv4YmBGC_)Vezh(%7AcL>lENNE%*7qch_|XHYBVbfj0gR|L}oV46A27r zi8=5sb`4hMG40MT2f1LWo>k<8I)Y``r+vDccszA5R|5+n&v~hn#F{7XuLIEH3QSGK zx9Djlz!TSUtva+YTifx{V50?eUenAo?7p73H+y?Xt4p$S&_7k_=&WPEG|aQqV1)gnz~)9*aC;bRd>g64fE5XA+_il3?ojcw5*YVTLbgG zP5HUHO>nYyyv$ycHwj(Z;ow%W&2=2oa4vBkdh#=lvzi4aAI%ZaOhiJrqlFzy)4<-T z#D>BXIZTBvR~tP-7W%-0xV-Dsz*aMQ33rz?XiV(m(I_v#GyWh~%b}qNZe?U&2zUH) z0HN#xqr~AvFQ6HlLbR!%*W{3gHDHd#`~K4a`S56Bk@lsV)3Mace2?}>XDWNtp;sM@ zfA@kA&n;&`d?U+MMvS}!(tDbgQwS$u1u|xV{(|PqJS?;g3m~9Lju%!eIca&6a&|$p zU7DKp7X!Zx>1_z^D?bkWLTD7iG%V%O%;R$Tb(_U?#-_JsMhmUk)tOGL{~xQn{8k3x5=Z$w~t%7ccNkoZ$yWGWr0k>e67*c`YsYpCj6; zJ7=MO{fdXpDPb~a1S*i(tHB#);_TspepCN$yuYjj1Cn5Cwg1n4d| z6D(p9j>94d=Cin!55LUh*XXL|kF+mbZh}88Y~}4a%hb~Evyc2Bf81$qY`+P^J z1A0C5!fj;Zs0p>O8&Uh!Aas4kY@i0iR^4)4Z#{oC`GVPTXm6#$N&}e#ZVBDq z1bI^jG&OK-A7YCS%|afUWmpJcJadt9^dVLazr0j7S*W>qjvGqeV8Jxsj@mzeitR}; zvaz%ha~boU!U5(60F8t#*eewHeC<5}IGQ^2=J{tFfA$(Qkk~!+fxR7pFP{8W^(D7f zJS~w3FLF3aMeY&Pe$mO}Kfw!aoL?NEhp18?)!_Ah9{9N?_SXYH51AD#6sT$EOOA-L z?Jk;xuuGbJHIsZb2&!A?kZ$Es+91Ph)p^d0c~&TnT3*Q_9L=lqq-1NcmvEYAuQtOu z<$Y*7c#CC1xv@C4Yd9RoiI#$IrM3v>No@HU*|^Bl zv7B^gFPqtg(3L}oh;h8N^=-?dE$%YnoftTG&X11>_#g4xD3;jpY`^9AToX}M?V8z7 zN!Y{NPOeqBsR>}3tBGD|n-{3RbNOxe1vtM|9Fs6fvAwUacej(;N04VFmfKMa|KP)s z7YMYfL!PS-_GARAnbQkT%&L|@07F*xSyHf4pQ8fo+iAfL!cwXv zNM^S#0hyIWD66FfL##~E>&cGj_xECyJvok`vXdO-adR{ZBOdQ=>FKq8m4|b+D!sB2 zXC_@_L4EhfESaeKf1e)n_^$(sKCr;}vwBXN#;`aoQaB&y`#FC+!^1SpkE8?4`Z{JRfpja>xSAR-aBkN6&Qw7> z+V{jzLo89k>)S$u@IfVQ$WZllEA?(>jT}EoBR^iE`ZsC>`$(R;%u4kSSU2iLJtXfC z%%}0ZI*Jj=DqUY+OFwH3bJO!j`O_4AcDQ{M=L=`6-CFmbbh@lcliVv z7Nyh(#cMf*mHzCgEYCL}%IPjet1BL>dDfhxure z&;}@B8QlI)AdgmM1nOt{`@htjW@*bh8~{<5t7Pn7M-iH!W>Z6%+jt9Nx;hC`rI9rB zx(<#YQp`3)#8HeUj&glH-}jSnRNvo|nD6^Mgg4m6#I$2hY|#oXX7&?NR9^qIsi9H( z<|c*jOt1&8Gck)tI}=Fk)0>dc(x(RNY3+!^UjqMq%iAW%S6nBkjm&9CWVrdh+KpborDFYA%yYC}&_Ef}cRI3=wBBsq)iK z4%7KInS5Y{KgZ3WO0!U3EwW0dW09$+h3q37M@s|n1obL$Tu?$9O0R9ar^#`8{AP`b zf^nkmpASnMcTSu^=b>9k5*gO zwsP8j4NM!?K%p$<>f(pF&QSJ}N!92oC`tfhtnX%e6N}6&LRY1uur2#|k3YIuqxCT;LEB2{A&qjJ^qH_suL|{-7crzL^o}`mU@wNexOIrk` zFsY|2oFl0;R~heP8H3Fn59mo;pvFptjvWu`Dy^z+Dq`*g%%J=fu2rzVWGbnqtC8Dy zTNsdMPIrY8k$oCtzojQZi{n6EcQJtbbxU+zYcfA)7?>8V&fyZ$72K)1cwLuo~y8 zg$vqVX=$tOGp~EP6^s1hS`T)4l>ajFGYhF_MK`!noB*gSu>G4G__M%ZY-J~dN3*GT zhsC7AB}z+DSmQlQt2rF*D^8ykL!56nk%glj#R_}1J2r#})x02W9~O~qp`Cjgyr!@v zZOd0qj&0#6idKyW*evV*IpBS$eR^Oti8ZB3aC0-Uo=k!z!yWCEz3h{RT$2sQI*Zmq zA28CZjjf)J1Ce1vUDU_H`np!VEoPzP#r?0A9Pe$X-7;sb)y>LeM@#j1^I$cHNO8`) z4}&(0H&)YvHmhi0w9Gy}vjyv$uDHG`*4*)3gA@rhHWMmKnR-;fENQSYHK;xm7Nw-` zGUzN9lSbO$&{b<$zNpI%hc{Ncm+*i*u9i>Gd=)E~MQ!P#SdiSI3r=BAEVRROC!4GU zAfr^pq=8E-S;Txt+V2fNL-Uc&4ZT(XptquZEwOb9OEIQ zU3Ve;u9bpryboU^5>-SgfMF13NI*9iq#M`qz-M)6A^?IUy0)DkRcB`V z4iID;Pm9p8PK*4)=eDUQ2n_UK!(ep2@3i05YR^U8A)B1ib-TrKWM{Z;>L4?bcT`As znVc{|6PYqExmA^C`!<&bjn0oJbyYAR`fEKZDv>$pPcyZ0^mQKG+_d6F;fL!Z;>{6p zyQ>0t`IA&ukURGzDV~BpkzB%DNnV<|sDp!}6{ET71FsqSoaM#!LWpOAaucrJkg~+v zO(v5(&qOmiS2|`KH+{nE1)JF>AWFmwrKA1HzTe_sxGH8b++ArFPw3kgPqh=L(4}{l zOhh+j|JtI^wSHhWrDUf#tn%lyOi$8D%CCK`anf&_pmEgq@eFVtVQys3IBN*Xj6H`*?Jr%D2o#2^nThv%aJ#Mi8}>{fX)JVp8h+vt)Oe^cBc}DCH2DRO>W`eD*NZ1voKLquP!_L*1A*K_wC_ZQzkV8xNk1W5Da9c=7b&(fI|tH5GKCS5m7N8O>dM|>8fAIG&r$m_%xC;O zY&?0(O5S|>EWxKG{Ebid;eGRos9k$1YQwO=$8X5f(T8h%b7ai-$$kU&v8l*0b8OOG zP6+-Vl;H25@kWMhogJH)6)a!^I1!BSQsvZ&G?_-JX^~I!67RtL{1q!kaBo;rto`+K zMzEQ!@3A+}^O7%XNELK6d7Mw_62ld6_$ez`Heye5jAKbSD=BavB&WPc&(bWJ;3xgs zKCxa}#p%Os<>_s+eK~~-zatA_^`xA#5q}NtZuLsWtLlWErCGx(h+TDNBbAHBwdC>f zzRE}Fo~XzBJ_|1et8z7=@B*wsfKvec+jmV&oJQyPN53%=S?``IVwjS^Aw)DwI?Y@p zpuP9oyYXHBUG#4JRj~60ETDmDwEhReJWEn=8D~Ppm6rR-J_>wgT-N%Kp89w17LQb_4N4WAA9NH=8-Z@?PL-D(StkVDG#rE z>EQ;vCeJE(Pk%w;mwa0F^XTK7T4P z7AAl$;b>^YbL*Ts^msn)!k_@HH=lNCz@Zpf{U;VY>eq4fq#I!q_wva;=;jPHoJFuF0 z0hun*Nt#v=!K98tWTCzJI4!4>83v+bZ5ML&^ z<)AtO?+qMXKIF(9LninmJhfU6pem%BwdDoli9FAx=LsYshogFZor%BXaU&WR-KaI( zkR+V%H14#yy2gV(o!J5c zZlbQ8mrLck-uAf@+et%@i$JKbjU>== z30jxW`lRxA z@-c;Q5vveUIpP@*=9|5GL|!H%@-mm>l8VUdXZEa{P~5VoAzQ!;Qd99Lwyz*(q6f`D zEjx)iut>?H@jvZ0h?1#(!Nx^$<(mS({)D_iDXk!E1Qhr_h`WzmX5~?r{)w8G$Ugnd zqM_cn8bk$EZ%|Q4@@+(hDgYE$JrqtorE3H}ATNB%DMFtDexRSyY}3=A(wwN75=t*=np+Dk?ws=| zida~?^!19ceysz1gNn|UR$f|P3KsiZEXA^urq@;=xXb%X3B{2{(>$}R>Hu(sqhQFX z>Cp8XC!JwQ#5b~BB_^{$=a3}bVnN7&4)zVth)R3G*q6}NNUM$4DM~xcn|nJnpAl8m z9^&o9egrp};D~O~lprN7hsg!QIO5dQRo~obDlOwfL8x~@kPRhe(k~TQr2jf1j#yo!SZnXs0wp}mz0-GTEm8lyg?`WR>}kE_W(&@kijy-OHluu6|6E+HGs*x)Puj%&G2#$Uj6- z_dTKB2mnO(W1K+;TKm@MRz+TldGztCc&j3X7#*+6G#ULD`iRja zryE(bsfL|k0cUJCgSB6QYS)6lgJ#bLk5~nrVu3QUb7%exG=c!^8<=1i_Em=0IVg%~ z*ZXzBU1cV+J6S6w(-fIW@;*&>`qZd4|JVaH`x*NsycU1`&G^E>zIm8H9Id6}Z9K3J zCx~|4gCN`c-+cXmf^3JM8)Q4I2iXptLAJXh$aW8cY=hpRyaMp^$2oM8n(U zkcaF@`I|_J)#+Rxqw0x`ePyeZWdtUik9iRduf~QWB`f)&1ysZvdero)19k+7zk zO>I)`z0xQx&HSTQ$MzI!ad%aeU^=;KN?2tT^+j0Bi#!zdMD<-`(wg}CR46P*2$o*L}=-i<;fO%n|IjI->`HO{oh?_8F2n z83v^Pb99;)Blc9}PxIww3)=Q8wIQqssu7F=`F@p_fN|SRNmIgSG*#6o51m=f>tDzM zXN2f7#$Y+9I%Cro?*BZ98t*h4bp z(-jX&yaKiw1lVbMN9nzdS2PTIDbz^DYYRtE$=)gyRA+~P%==}YYkd8q|(i;I-==GEbte1PB_Soy;Av`EgLsxPW5lL~g7 zP0jhQ>)?&fw97klVyp5FM4@tx4lk5|TGv_$KMTpKR;qQ;bveP_Ya(9NBqmB(h-vHQ zt93zIntryO!p)YNdF_hzb*+{r`~eeT&b?cfO&*{SAZkFCOyIRdAvA`xN@rWXuI8|6 zzH?s5DK7ao>$oaeIQCRjb9td)#D&}1>G|N^�+t>>g(jB*x#NNOh8ruL&-xrO$9= z6XBMio`wzP2?q02;7)mg7{fvSJUu&~pzHD+XSQec5!0fJgNM=4({k!i@;reLyZYy) zeAfPPpM`TmvI2xb>3C%&Gc_V(nP?e_lwkafSlN}A*^(8>-$AoK6~7?!_@eY@e%C@R zs1u?7v|Y<`JYL>M#L22$2iGb{J(7m|%mFN*uShlGrZ`8u5?OB)RG1%V&_oQBrS7@N zKb#}UU<{#5MU{-l3yX#`P%*xoGQ#W@;#G2b3LuG36P}3RLAvv|FPvqUt2^G5(oc80<bfrPde>BIUwcYe`M^nUc#)ZaXm`&7 zfx+&cR@$B{>N$yuZQ+gAQ zJFBZZf0;_wP<6UZ5c__gK=v=gNj!qQG5{0M=D-OD%dfdgexS&kR5O;A_s@bUzCar( zl%tX1&71&jT-&Xs$#HT=ROC=0+PQx!w4Y=xt!}+{J7$UjUI*R|{13?CJR(@D?^GU! zZ5og&5?)2`!A8w|)6#3cRG_aJ5tkR^@eEFmcmJjj89lWE`Z=g8PV~enO zSYszuJJBB^BoYR86pcl^3y*sSQb1&KuS+*0BFj+XV-}@{>qmm$S?PZQTmsBt)o>k-1SbzS(dlk>HXY) zu%R&_FR?L)#S!*`#DB}8q1TN->**BJ-jI+znI8IUI#nUqLZf@XDaqueoDoJ2h#-|`j ztVG_k_s>65#e$n>Ki&yD zBbq^vpNn%M4j;rqNUD5jP;+!+((0Xp@c=Yi3SX2 zGe#iJsVLdzRdqd_v%=PR3$uKKW!pXSr9Z2)1zFnkty8Ei(o)nWPh>FzSb~iNc~+gA z2190>xp(~RaQ(;+n3L%_JIsWfw$?d9np$G)wa9F9J;m&O1krJdySs;;aE1LU-uhvd zJ{R2N=$m%UU}v8LkD%*~^|1(tV+aWT`~CJU7?-2S8<)Aa-C1Ant^wed@?B$npVhFb z5fwWP&iMeb!;72A zY~BfkfX+{tHRb73j^}*!qj=6&HlFj96VLglz;k{AJm)Kg=ltzm^vQ|mymu$L0uR>b zaywI7T;cTpHkLLW!KlN*sr=KVlm)3-PTmINcfs|$;N!cyBxsSgr1zdB;Bzucs&+!fXbtZ+7ytC^rwdks$F1$f6HXACWa)$9IUkm-HTmwfX)=;_ zVA3ASm{Ut}U7yWmCfti|$-$(elRMBLnJ@%H`MnGlX3pME%gMClpOEDj*k&#tm>(Ay zV=g^7hQyEu3a-~J0+~vt8&{DKU1w5u7*xL|E(Ryvm>Z4xG=GN} zm57^MOa)U-rc6zyyuzbbOeUQ?xehFo$6k<{vkF{o%g(A|fi%{W4DLORovYU+fpSb{^5w=UGV(0=EZGVRG{}jTZrh9Ih((7D$r&Xu@yN|Z zw1mRp1P0OxeexDyXgn6etY_|~d2_?m#CFbXTuk&M;mb6P*fM08DcA&V()V2vWX*OY z;Jd5bfqMU(5B&9=wa4ixC3lY%Ncvt($Gj76Zp_~l{?==lLCNZB+7u8|EmjeKMyAuo z%#q;O(n)#_gkGW6Z6Qhg>go!~nQGz*b!^h& zG*2t#&CLp?w&|RL}ncvGrrs^QqB1+x-P%cbHSXF*g9?$87N?LWjc~SSb zB?z$5Iy5)pw>0TR7)^RZNbnAHmCF)Zo zu*U>wd|#?zWOSByFoihpt51B*8jgxpy&YISnbdoayPjsKs*oGq~}) zGM+A@lXU)WmpPlgbB?YnDf`w^xYexJsf}qW|M`pRq;WmzX`EQ;CzIwWrPJwI`EQ6T zFPZ1cQ<_6wNZdKkE6$yBh@V>2*M*gRCyxFGwBET<(_cG_D~ju5gsV#`le$$M-T8$; zRzq%v>F^9T*R3}!c$|IskKH;p@viF1m?f!BCKe^c{T54j>;;F&`>T7MJ-cf$Qx1y z_QD0{9yz;1QVo^XR}_HeL0I4dv4G6ORlE^jX4 zQ`Q~@>pCK{)}wTUM-)K(>pS7TCq^t4kD@I`Vso8mj4Cbr(>7PsgvnmN@w0qmqldyu zHwgIwiW-gU7qvpyBuyP@xt-x$WSA^zl0vPc8Kq%g!lE}fO)bR9XC|y4u7=ddG2R22XsIm%;`Dm--mzSs*h5&}GU2nMPXV z^jr`TZd#5j%)5AMfVpmUHBr5W-E){7`3lo(CK3lkyFdm0VtDTtxWxx?QL@1}PSSl4 z1s6HTm-LC>)vM>k6mdnI`~TCLTfAmyKWA6cCLk;-fFY7uwNZ7otxj`HGRjvB+Wp_b zZYRnGGP$naPMJdiNT_(k)0;RT(_ub4D#&z71tyR<4uW5 zo8{9T_wPDqEd=N$X$4 zJHU%vR#7BRiPKSm@#TWgZU=-9kO0|0>!Z|KM|Mf=Ao>*|s-h@L2CzouG$K`kp`y+w zBY1dWrx-;4`Iq9`Y3uvNI4vUYtSl$p2M;bUFT=}+VV0jh*jQg*e^7io^;+;j&$924 zx87QBZNUF|fBnlOF3(z{$a@<;-fDHW!mT)byaj(lp-zkcIOseXhwJN4!u6*+;a13R zuD3Q?ohRYeStoo&9!iS{c+q0x8O3bc&!sY+=BmXKJBk# zHQ&}Y!j1ad*TTnJ*B4NrweD)#H+X7{Z-7_T-?I6%1@G!(6&vek)@!i2YuMZ;G5NM| z^XbM~xY^;)b)I}%Ge6U4-dblp+}vtC9EKhE_;4d!e;RIt8{ax%Cx$;nbKuX{kHZb~ z+FG~)wReW=YhkAou0O?cYvIOOCwz2$vDsQ*rrxu)PWb3n6^EN!YsP@9p*vf961w{6 z>`AzF{k9W6Y;`)0Ha)6+Ys05LasUX7g?#;%cjFk!*S8sbrp33J4Q$l6 z+VU4~-oQ=d$(pstb)N7Z=rqg`-iRmRljT;abM+s%2l7YPeq*)XgTMX-j)cGdr#M!N zI~}VZ-^>p>a;3Yi9hvAdBKUZDw4Q3JSbh%D?2OMxI^qm;n6j7fKy*xN)y>+Xku5L@ z_(3wv(r!Ko&e;`!CeK+{$`t`5v@Mf~ibGK;ktBi@QzE4_ACf}@5(l@Y5_F#ARzxBJ zKgqa1ez4<^#7#p|mu0g-Pz;W$Wrxj^uNW>b@C9*3QyN=s&kog*&a zhR4tx0QQ4xNd1UrN%1iqWwBzKtE#G*(sw~C=Djx5FY*b1dJpr$Eq&iWn}!lW|}8}A#1Z>1G5n8MvhFY1q+Mpf`eBeTP7qmw19r40QyOT?^K_h!@*1* z_8dk+R{J*H0l|>}CLOWwg7O0Q!YC?zzgyq?*E&`jF@95hQOBpodIwGpS0Xm}UBJD|DW&3kA3o@FA08f0`2sjXfRsw3$JNI^?9#jy-LbHjFusq0cqb)BxJ zUz$&&a(HItWFsvJtur1_G}HrVf8yNoMdTPqStL1W7Z#G#EC(IN%dI4ajx3rhAJJz>iB4OH{iz}fEz)Q&|WCF}1}ElK$z3Y97=a;EI=f9T);%?tQc zYb^2E3-}ysEV1|c&C7kPiI4#jZX&b)*2qtCEsyRRk^W~bhy$_5O{_KHNM9S4k zi%3Ugjb@TEXylf`BZ95z||Wck|5LGbKZ5D$WbXTf+cxLEwA7e&ERNCH@> z_Z>G|R6yRe+=#^S88KoRxQ!2ySA}ff;B%))cMX`Xy-u`%SRV{Ds(SK`Hq^99?Loc5 zN(;fWYL4w;Ua(c_0+RA?BYtsuKoyb50-l)uc(L^x`tF?Wklc2PhkBWZBpt8*Anm+8 zh{wrD7)cUpFmd#p?axn*=Fe?)z^r!9D~%3+%+ZMP3#J&F^L*-<2F>>+&oDI}$Xn9! zcs_`{lPoPUKf9zr71v(I7s>caUfmH_5k)31?uv`gOpuw^Q%c&GfoX>j)Yr3fcGWEd z&Trp6JgNlub`?w~K$^WXF0$^ds%%pM+61`-%%9~(6Cp`~@(cAGir+_3srXgOP}dBV z=wGz7zN+v-sn$5Z4G5Vsi~jmzzzt~}Y*|v0yDL)ECiRxUXEn|?8#9MmeuV^j-Fq`u zeXWRC^0*?e`95gR07C~pX#j_I%U}p2Pyj$R8&5CN0{K8;TJdA7kB3Uaiw%*Flv`$L9z zqcOmn;*?=BSdN;>8N#N3)mV%!5Z@pueK}-Ay zS{GTG6_a=fVO6hKmY*i@oOq-^9VVl=wHK#F>tmV>A?~#$F22g+6n+}-*pJV$i#TY# zVk!G(H()=xUFj zGn1t3bA4(C-6S7Z0rv8OSq%7A4fE=falpxIJY2W|Z^qbB=o>eC0%G=k`T|1yP1_}l zQYZ?+Q}6kRx7D;jXP!P8LNO&g-!cI6y;!3-kEh9a^c?0CkBp#gV}gIP;T3l8>ab!F z`?8Z>;T;8&FKC<+lmJA0TqeiKI4Q4Gv9>yMN%{tL(&|(VDdMT9c28RmTbf>AVp-!s zFt2?LbHdIeG13Vn91Rl(DQykUAW^ErhE<4+TOZ&ueCA#2;rRPi5 zv;9mi0q{P>qY+Rp?Puy@&Xv}^K^ysngIS)zG`?Wz z)C=M~iG|2efoF|yfl`10*R1t+^JbXURO?)9&pKUMJxLh^4Un0+CM7Z;m+9qh-8`}N z@to@8%)lRjYh#)Zne2WT_F%>*lzndy=kZ0g1WX~vNLlBAFFk4IpA~d|$isrL2TR{9 z$0?UdIc8B5c>*Bmf$GFBvbMgcQ2Zu>b z!qYHWFru+NBfV~{Xxii5L>P1V)Jk~M13f8|l3nESD9OCwGAYj>YCuBC)sZeI%KMbh z5f*qj$UM*7j1wS7;!P$GxD0={ZyKO&?o2D&Uf_Y}Neiw2$z|5C%=+0S%XedN)9P25 z*9Ey7&(O5G3LTi8wD?aTS}4jK#LU%Ik;92^-Y}d(aDg)(y9u{{FZfE&p4PpY@!X-Y z=O0yH{fbNFrA}%f_RVKY?3;CyQB6P&=svp8exwU4`_Wr%KRO;X$@u33I)C4p+Jsyh zeMBLf;?+u|1FjX$dN7D)(84lFuTOY3R7uAl1>UEz@Pg$+<*Hg&a zENVZ)AB(EzrHuM3ZS=rl!{y4?2CP~yon9QX9JaM+4_64xV5>}qK^NZY>iYqWBs+j# zDw^!WKt@5+0*qG%wT#pbD!!9{nwm9%_-?tWA|1v{LGtYqm!v?6drK{rQpBt6X9+Z7u}RrQSi&?!n(W6Uk7tZzvxg6Tqz9PCQQ zh3K(9VRT*xV|CWQczZB7ERVYIUtvljsT9nWjs3E^D$2nh@OqLQVW4>Pd+y00lc0*$iKZWZMD@y80=g6+ZWl{CCYEXLY@|EEjw9*y>hfR z$yve5LM-W-_}RtOTz9i0oDbaQ1HRcPZ@j`<-NL81f z)2AIy;r?mxgB0$c1{Q_;r-6&Y{nda|xPKgkzXhKLvQPdTL~zBRaOd3aG7`@bX17Fi z9*M+z8b0YfYIPti<#D+F@JVYkeEejqwHafmLFyV=^hz6c*}V4Tgv@X=;x3^5>& z9 ze%7Bn4A<8;*22!l!!gtuKITv0fBK!r;l}#o)<(EBrms-%4Ie+*!2b-PmT-L&YI_*2 zKY5D(b{=kh!?3%}dOXX$yT}3mJ*KboLEYlD#}{3*z3Y5nnz{1t2(11tZCStmxGn3q z!CmZEhsuD3M~*UI9sR#4C5W)EomNG!r0``RH0?Vz^RiE0%Z;Dyx>W^HCe0-)k~u<~0x^@Pt{4clN)6u7YYvpcdpil;f{Ex18R*c*0L2La#;QxJ3%u?^! zI3AvRRp2Q0kd}L%T(nMecI7Vmh!%a-SnMe+)`v8LbL#A@)6$=iw<$P_3!bKxFAw{< z$6Iz|KCqEh{X=KD_dKb+S@e;!=w~)Y25+P2Q)f~2jV!gwcQ%|4ymA%Yau(hBa~fa7 zIV3%>%0F?I-=F4xPP3%2i*I!1H2oOXrB!~@S^k-$fZ(-5+qVU(;fjk z-}?zmDd~~D;G~+Da{Fi?V#ieg&0fhS7!y;Wu$>BRa0T<2s3AZwfKwkN&qU@kd$F8@ z;0O~V=P(~6zABI ztGV^;(Z#1wfc4TapjhTro{Wl@d3?$<2;ig`DPxT56Nk0Oc#WvV@b|*q5R};hLxojH z{QDFw{?v9M%&TSpXIUIO8{uZFvktsY>#a?o?Sczi;ghq?@X7TBGU@yU3pjQ%31%Gy0R69acix4_kXqK|J9oR?X+fa4T0>8*1bWV4OvlS`G@J4741L2 z{6xLl(_GqIw(^>k>|Ls4*Pi+j^>&x2w~mTyn(i*wbd&yFG~M0hHQn9iHC?XB{IpYV zvxP^}MoX}!wKjm5j$ByVXl=aSq`%iT4mRlnYa7=WPr`>!T2I4`M{q(u+UR%ITU+7Q z`lIm%+yKHj;9A^z2)??FCtLl_X83Tk)p>N*2{$($ffw${`etkM_0zEP^ih8^+`zl9 zx57t{#!%$R+QV>j>*3i}_+-Q3>neW6k-2LhnY-f1%$tr(ePZ11^t4VIa*oE!pQBkn zD3&`%?f62)eb)am#AhIl-hn!;1IPQ8YNKk@xW7Ch+X6%gDvJ&D@EzbdnJg zdc3ldLP{IT-fpn^+VRF%e$;QLfs8!RS{=gfO`jtj^Y(RtWiashEm>;*`=c{!5Hb zsgI&U;6=(%rT|%fJOsHB5PrL5k2v0UFU1?}^BBp+n>|O_9Bz!3!AHxNV}AAF8zSLs{t}5}ou2vqtbw8Q@&8 zo;5p*Cx#%2zBy^Qv>dvck|{QCOx++;72VwAfJ{w_o$^IG()ByjK4hrxuVgxFmU?&( z>A{*F7c63#uTf<@JfRE{UrjQ_^whsqb_Ur;x5>L;)A*1)T_8h^r3_`3O3X>Y%T9S& zH79eVyJ5Le=`2alSf0RaeVJz$UGE;IG4gEbP)VtlEJ*7@q0pOnOL}swnw+S=vwo;v z&`-|g+T-j$WeD4!E0v0s?uy^BaD%R8EZ}+%!ut<`p#zfxu*b^wp@+Tr z=QIPw&l`8@SjJ3R8C;$hlG#tSb63hNgMxZKRWA+ zzfbzn^DEs9A;MkUNf=QR=V)2j(i}!!G9lV2$)y2(^Gq3^bt;#v#?@==F5E2u0H=X* z8J$BX{az9Z%QUwNCYX=q6!Lu^kD0vYv^Hmyq*uZqGHokQY^$?H$V=yqn|XKAzXgfQ z1xa03I9XgS#_eSoSeFp7WCldzoixc2E-ctW;g7n=<$hjqA0DH~5!4$iWf%W;5`a@a z<7_T2nJbHo%pmhShJvNB-BiY^QL6Cd=PS&V(-JC;F-{R_$Y7#FQhE+Kq%i1mq*o)d z7pF++M`XH*wSIY<)95veA!*mG&2b29g(pa$f@A9!(LCe?(k>uT!xvq=3S<@HUPm4t zuqn!jD1NKean+@st5vn3s(M(fYGY1S8}+Ils;V|?RXv5$Jd=* zRe_7@P|Z9zIVOEf=;T*12z+mr>p6O;Ffag-9$VD2BtS&LOIhII>t9e$Wa5*Jr<}Vh zH{^RI(lPF!W%O4weOaIaS$xUOYZW-}`;hZYCt8Zo>6L_BqLO=41_k-v)I1QgI|y&} zg$&EKCP6(5$JyomPDS^|oxW*aBFI>^opjCPKOma};$GD+a%;o5wLxz^G;Telw>FJi zoAlO}achg-dSu*s1Q=YM>22OLyDj)uMxz@rTZl2(?MG>Qb7S)<4{i9;|H06PFMTVt z;Y;5Y+VHK`>ZBx z5y|UUidR0T^lR8*l}w(h;v+^u5zI&&1nERL4M#O#4K1tw29wwoiGqet6m;%J|0}pn zhIKC)J|RBX3Z57_)t|RA!m3k7n}R1sYoUcOXSta&bdm zd`K=nlovP2#Z7r}i(K527ax&}kL0et-(+>Lwry9S4B5&t@p&zJcg5U%^pQz3MM!#F z%%5#taz@UwX7r;FeU~&|u*QvEnl8kaB5f8W{&RElysvhhf0_|PZkKwubQ(37Hfm^f z@0+<>_Slj+hp=DX^ocEu=!ry5Bnlf*xa6Ok`p+%>=OeU*;hfuRnsZB2zGtJW0Z`AJ zW#bXcvAu8O$)ZKL4`aC?B`A?qZbJe_kODh7O;NcxqV+r7^{OKEI{HXF(oT?FuzC>2B^W=*YhpFGB|HKag%Bq! zm(%b9(0&{k3lv%gZXBr z9F?S*W)Bl)TO4N|4w;->p)(a41s&AvjHhPaxQq#9znN!ixzEVub9xMbH9N~noz%UE zm@7B0puZQ3@Do~2+J&k|t8R&vQajfgTP$u#M6t&9_M}RYI9-@I?OR!RYQCyH3Th9R z81$TuJoV6-Jj!g<5kh_QbC#1dVpB}{4W_X|l;rj`)f2VQ>#mp7Y zk`xYSn4szgh$PZ6(9Q#-#g^L}*#d-#s67nMf*4%yvEUzX$MnPBr|q%PKWg^zITKDK zhzRh45W;#^7sC9f+@G3I$; zOJJH~Ms_1fQ|;?g;flYxfpPx+{^X=!U!VGve#b&#xWr|06wMreCtZ05n$KO$U9%AxTOsyWoh8 z85lc&ao{BD=jvOEWh>rh509vW!GNV%gY`E(B_`puqya{~k#R}!LzyzN}<;{8wZ3$$&1ok`)q+p&0=ZsC>r!PU@m$qS&=2FTU z=^~l8Vfu6UBY7CMYhPw!5ilO>088mU+|iSqn_v6UtdKGQPIN40E-d zC)^)GhY}LISZP!og>u*nc@8Yy3bH>!a~K;HvLO!w7!GYJ%X?? zv-PRJ4NrHOBu%V;pe~}M#!bbI`WEU!LpLj7cP;=M1H95Gs z%%^$%R-6`;Ea1U6e7mcSLn_?rs?YN#8BO-PyMUgjySRNT;(pN3ycy{|x%mf=22Sh`vUmnDK4N@8&D2XY0C4?5a_VuN$ zw2+gPNpY@}Ds{!U(9bNPKk=0i}|cd4r!VafgU0trx;mOqEfVMF9c_L?o{U3!?|Fti!%Z6hfw9I-X^PvJe;975m-*YgTk)zV`j|Hez1YC1!kk!hY=`D# z&!`ECoG=_}aTXVpJ~bc0Zp%pUOLT}=kF*@8hwBe(xG?IfNs3xY;j0zQG*x{`zmwBi zsDKJCi>^c-c-!IF^_&mUOQMT(BVYF=Njgje?faR0C$1jF1xxtmpi5OP9}U15)JX>T zG8vU;9!dOU-9KXx8|*0q;>rqOtWr5!KJ}vq|7c_DZ|Ji1?>!KH$5;KkRzc9v;EU_vn@E6?@I3}B{i*^Y+BEPIBFf#l*md{Lnf5{_d=pKu^L}f37 z1rLdx2v_)7T5l6q` zIeBwaz)@L7voH(=YbEFxFVZrHc;UiO-C=PA0D!3s!)KC;gLox(XEtre0a(tsg``y; zvLkgW=XK$KRxsWR5b;@bGk%OmiPonrQ3b8yQXUiwwt({;S+}Wx-SxnA340k}D=uOs z)^%6d>T0|a8LM*Ji>GDgY5z$j?3rAgQ>jB?C}f-8#pN`Q$Ix`rZG~E=g|T2^hR=P_ zfPGrz(XjjR*gh()+r`9chuzG)p_aLk_S>+Q)%7wC^GJu`Ws;7v%MhDhTfiD_lmy;5 zi${bvXQiQmnDn8kh4rSH8C69lb&hCamJNcxAV|WLckw6q4O7N0DBh<_zQzjy&&68% zND#sM_@Q7FkYCF4?u11?jL?Vx;?y`RSfS1t?6XhFi073y$JbU$jp3z{gQ+;PMV)df zaC43bJrO&icvVWofr`u2Oe!XqXUUieG9Xi{@tt+)2vUHcDFw%v+YKM?@-(@>#M;Gi zUu6C^0B#(13PV7l=PeEaX*_`R9UFGbl5u7-lgy`n<;%lGM0wsa&YSGM;$46CDX0sB zT7K(8%8oKKW(QYNaGvf?i!!?qR1R12)Cf2dQp=ZZpYqMaJK(F}Q{P;i>b@r)WOL2M z<5EkP$@bTKvjkXj)9PzCRfz3xZ?S0tK%40P(X(2ef~Ze8+wQNfetFB!UgIpDf9#TR zwU73N4~l)=ubh3NSiRi`dZS$VhaeKH3DDtBK z(;6`lC0aG8*@`SXTg%=;iM8TahqZ$CT!Xg!h*38;Aes+zQ@Xr0r!I~e~ z>5K0ZnH}cAKia^3(=Pn&?(YwNf8cK){(iZ3bpQA8@b}B`{{z;cqyM{dZ}mUh{(s#M zdeMKZ9o>H*JazXU{2sRdn4I4HF=3}Sll1iFG RhS|*}JD%M9GI(|K%izVUo58zR zH?Q8jym_nH*ovAqe=7e72_E#nsESr{ZMyMFc^g|Z?L&R+!OCw9`tSpu}M}6NQ znJ_+YENne&d+B6a?&on@oFK;%LM7YeP%b0p2zV1u`+oYu$z$<(|19z73roLe}8s5&W_`;)J70$wa@R? z$~Mds-Pl`CF84Rh>z^hjk{;ErVBGkGAm>ZQy>p-9@i};)lhZWIr7Zm-9hoV_^2nje zr*q>j4IN);+Em18wrzqk5l5b9gTXS9?GL0N+@}$;Jjk=}SFlmX_aku+=2%t5Q5=?e zav{_nfFJ`)>*qd*N_v>6wpt&UIg`FV!Uf>N_-rxPXlhMLVwzE>sERUhwJx(shuHt-zZt#Z3%1moaRS{B)6BvN6nCVgi<3FDnf_&m)e}s)7P8W4c z;_QY*&2*Oq20jL`_UsZv$^a;$W5E8td<@vD#Q|X0R)`VY0hD4Im&rGsb5ckHW~xMk zB*^hJ53c{k(Aa&EEv>wUY-t;hL`X5a{=tx9c5Q_evujsKaeB=|ip%Tpw}4%%(Y%h} z3JocS(it@J(WCW;ypj2jHZr#xnL8U16$XqotzK*hMSKRaPTFrx(<3{o{W4aMsfv+16(up{}H4FtWAB)RqyAy7S!*eO{=k4F#>Me+iCOvirQ_V`OcIPH4yyOR9=aD1zH-!eXh6eszGmEuH&{(9Iim=-$Lt9y+<0=IHj zOtQ347mtE6K1O6g*INS`73l@;9@geh;26}vIgCe`04yCb znLr@I)ynVvP-`Hn>IIzWL`2c!E0S8(*Ov$bl}&=}TpOt@mK=JZL+drR0Ga& zuN+_)hawVj@O=Pr`6OQh=Tv2OT83KmKX%o) zdzi9{+O(921crqv{gUAFJ4i?(Hn#1-iPR#KR$FMPe|vmw8r4nh6~H*(%V|7*1^^Q< zmGqXuEue>cfe*usdUc2gTIU%-8zHh7VOdHTO$|0q>pL8X=QO%{9*X48O1pAkEb8AQ zQ_4do>#_?V!wZ!<7EoC*V*A;175LEn+06N+fs}}g?qM3HSzey)jIg&Eh^m=KTYk&VvG8bVaahzN8 zb_=ESz$Wa^^xxE+ZB_RpWPEO!&+vKLHVWq>T2mKWQ)+EU$gu)Katohtm9}CYR*Qq^d8iXmYr zaaGV`ZAT;0aGC@j-`=U$KVPt$X2x;hY_Reh3I61Rq)3i|@@agH2MDyKJ!9N4MtT{A z%x`g-{GkGet&XVwpo@mhp2<49Zb3jK^c(^e45cmI5z3Su8VGa|yD#zR}Uu zRNaQWZSI~V1D9))j!uD5f6V$_@-|V$PF@!u{i3I5t$IOI`!ep zR(KW{+&iv6LD4`jFJSz=A55?BBx86)XgoE9Ml&H+LgN=oR+Q~jMMjV)hCm`dBtqDC z@S8i31G+N4Rx*sPuwU5_FOj%nE0%0tPe-(g=m&TNIMiu4h_>cmjN8JLiS7lAYljqA z67mW$Wwbdt!@%=pTSLFd2*n^36ksZBjLAp|DIgLFQ~C=D<7QM>I5CDD!M_Cq|M~?R zB{4)kfa5#xAXRkX9jWaQJXJwvMgJc?*R=K%K zEd+ETgQ)GcmH}02fput>9wtXNh7ehJlasda7J&@VPJNZTj*9{q>MTi%V)qirh08|u z3ivOEGCek*hct3#I1h87g!#;v)^U)S(>ft@S$c8tN6#oIZ^_^&5h7MLtb{6atw?k5 z_23+q0Xxc0S_K#i9M72pLHijbunN(nFgM|G!9!}A&iULZynw|132y+RafhP8#)8Y? za`Q@>B*PMylA(5AT$}F6IeVzyr;tU5nI!Wh?#YM&YmB^2MdYpWIyO(SRAc?$33)n- z(CGv{Sc_4W+d%=^Q2j1$3PB|AzL0oVpE!ZVGg&xIFY|cP&a8N^!pFenaGG*Hkks#`QCVe* z8o`}PqwoQ-neiAhN1a(c>aSD;HWn*_*f|`HD}9_jQfn&Q@t(4m$#)m}yO(XD_^{H~ z>kI^b#~wuHIp5j3Wba46^SojLp=HVd$JaJK?q6?dSepV_A-}RK*G>Xz59}55b_#&y zihUwclJ~imymu$F?6_b#4u-|kU20&y#X`zLZX8vHIP_!fon_PU=naRRd_&fz>|!4a z60|B0h!UI-QRKaO`^r8F#+Nj zsX#n`))&>S;e|C`!J1I2AoyT;n5L{+fiP9w{EDmc1&PiUSnV`Sq6}?7y$jQjjoXsg z#BZiLY7TNrmTa6{^iI%J4I9O@%gkIld6YJWWC#{tAg%B?`5UZ@Xa;zj5(kZ8LZ(DT zI^_O5DlR8I8s>blAU!3-Yh{4w5kgK=3Bh^Kr~A(J(uvGQY?$Tf9Ru`TI-LlVRQ2QQ(u zIz$MM?xhPN*U(U08PB1XP&NzO%t;p`#NdXTQp<7Q77<+Tn=)$4eHWoeOik?F>z@ub zve88gbCn3Ihs~57k4F6HV|n}hTI@3; z>p2VNj>~HrNd#ARu3cG5D0&j3O|APmLxvz8^C{%`#8C}D#-J{)y7D3Y^7Dt(Tmznw zP=yOKlD}yWBQTWNSzcBy<-!a_TU1O1DAit|gdA(1XcirsQcEd*Vk&sg>g>j1(aH67 z#LX4++fWlSmTQC*>z8XqozJNQj_38BhhV8jk`h!C|k z!vr+Lvii#NF9n5Eh6|T6oXk^(1>^Wwg4w zl3Nu{WrfaQcSS?&EF>2Kyl=X?dM3I=ER(pHuwl8DLvWE7e7!fDRuAsY&Z@8Q-6+G0 zgYnz-EmA9fp?L~XduP?Z9N1ntVrz}HgH~OFKZzAiDYV`!MnaL%e6}c0_8bmgjj>;> zdnSu|D0TM8oOqwCuDS|}j(i9cHk?kt0`z9&q~%EsK);KZqY%6trLy}PDJ3P3wwbO( z6KBKb0~X(c`z*E97TiWuN6iDt_hICI21HNbo(+NBQV!-^8M=rR#*xk9HLS5($CTqq ze*!@^S@AeD9EYouzhpol(jN1}qB~X?$hX)};3-Y%)+`8UhPQd#U~5QHFq4EZt# zko^^4`yX~Vvj6*!BKyDF$o}t6Wd93+?7sqJ|96G#e|{ZZIg$PQKVL#8{GBfGykO;Y zV#(%sjb!mNu7k;sn-~H0RhbnulRd}?Y~j@XAmmbJO4peBbV;e3a-~X<+f}m;iZ7Rz zrR}<_dY>$>y)FYDW(!3v+uCnX#S-pbH;lu~;$a}Gn2tJhyO~#4=ajK22i!0X^Yy*k z`VN@oJ4l<|p3Lo+j7KBNA@#-RJ?V-RVgn%7PV;PaP5+>T#R9 zLky-2g6@v8cUk#?O$+uu9ZEtH=~9)>pareug&G@LC=OKDVqJ=ix5l4M_HF}>Iu{FH zv(cD76^&#KOh*Dti%+=drGZ1IfbjWYIdcluv0kh!x)A?63{v(m11R5c$`cmOP8 zX>o=!UQJ{>!94fv+MpdW&nTk>lIsBSo}8kpfyBD1 zE`JJ58d>pgIK2i$TQzSA-fgqDlO-%x$8OF2ku`FEWaidSlqAgUQwoZ4nqLM975Mfq zn2M4*Nt7Y)$U_4)lfs|HQ7s9a*!Q{aVwOK#Ka%DYC-1t=Q=$$PR@2P*aq>sMEpyui zLqBp;N|op`IR8RaTkS$GINpbW(rC@PCO%(=IgezYD(>uBnkgn?1?=$?4{{HK0DC}$ zzZg8h)sL`-3s#ZIyN>ppTH>HN{yP99mu<1SZMb(+ z%(IN@9Qqe{b1Du}dQXj7X{sFr9EO9wJ25F3}$EF2qs#0w5RZcGN5v?y5lHcsPH zQ1ZNKKK73MyYR5p;9T=#j(yeqf;3M;yDtXTj^>ve%3JTqb@t*W9_6VW;$JtXZ@ z5?T4T_p@w#9Ot_-2$>@#n!}PQXd>|!MlefY1TqqEMU_gfKXJ{S)eo4??Mx^ zyqgBFCDAKMAZHYW%yqMh1~rmNfVwGc-vma8dmJgW#=a*-S$Hy-qLMLjMnyd6WcH&i zU0DH8TXW~ncjhR~RpyeM3|1?NM?*j+$v;?nj zH*I@-I?5})Um28gqdc3y?u@aB`FEaUOd7ZnF8a6W3@AbW1bBJj41GswB&Ol-K^u|` zls=wK*#(!)d2m2s5*#MQ`w6SDG^$3}vy8XI7)alQMGdaoOcHsN@VZHyvN1-28d6wF zW9f^^J;N3osfji~H*X*ih{XRiH;6I1&lqt(*ipDWLcr-3P4 zu{r?7YGd=^I#;Yd{HS8}!B(t3I2Eh+La{mk#p;7ntX^J62TsN6kL3-kZ?1#!yWs3P zxW2xHRn?Ow+}HnH6Rv6V{24Y}d4GJ{e4#1W^+jB92Emx;mWUdT8LS5MyMaL8#lev zX*mAyLxyAdss_uky6rX{>yf^_?N~m0E90?j&yQJ;|JP*PU^2Fnbp88TjMZ*Pb;#q*E>o!!$@--g$-srQ~9xIRtscyYaPp2{%MTEfLwZIFpZR8PCdBOKE6hHf3@yl5T=N zft=#B^C=?d*582(f{Sn9mXdAd{cER&vs*?OB}~LSpH6>X{~Y3LW0EaR`e?Vu~|=GU!7r-E16I7Cd{3KiGz!~q^*OWlsjG*)K6s!$@l5rS$5e)RBdy-UrCZ7eB)R!O+!Y<9JX8CROBTyZwLIq zsob|_i=oZwym6hshQyn6N>i1Lbm^o6Mbp&LSg9{?KmNu>^20blDz^aPg%zu0k@+bY zjo)i}r;>1D%(-jIx_T2UWfJRQz*~Z`lx7lekP9K&+BKdFqMQ~+M6=~bBAZv34nt$$ zGma5`0me1iNjdba)u%ZJjO%m@g%Uu1yA3)y zc(tTdVD;$&2TVa`Xz@0lpqTrK#piG1$sOz*0sw2EhRF#}%^>o!zze@gO{f!I+~vaI z`x6On^Ma)4Cl^U6c^h!lm;xftuN18QmMx;pPEW_iROjZ1Kd(*J{biusZ{&*I6|XR~ zK|2DIzwHAXlG<)>!*Eg*-!2{Wf&)7fG`5W)hz$yQ2?mA*LXQlWlfzc|ju$O!WKm=9 zG_a^-)imQ@U1TGHC~RI{Z#AhaXPf6(YL;$xa?55DPCkAHjFJ+>2xqfh9wGI$a zorC&F;ImQI_FkkV%LSLPu5s^7j64e@-xr`w*yMeRRF!6?AYiN!yg;rzkSYRjJA+IE z6VADpiMMuJ|FP}`hsBZKwQiSZ${8fJ<2P^Hd63AQkuma3RLiW`AE%F4c8xU=J!>1O zZ{*r@mXvaWl4exeTiy{SFq_8sBs9h+t0MVC&q&tssB4z%X z$`HqDVid0>ch`~w^%JMhw-EA#UOK1Av&Pw_$D>^``{F@w$ulQzQkF;iYST{#B1iAwvC4bgAve$(q!*V%umoKhQa$F{d@dyb*SfnaqcIHXiS1 z`)9)_t)R=lzUmj^0+>M3Bt3@o!${WN?M znRIym%9qKQePHp3}vx}r)?RHzxGy;DG zv@EhRrRK;CO~1bEp;ZgBlwuqCBT3uCU!J%XA7^=~Zs9Kka2Wj>!aqC3^SF#Ze(1M( z8Y3)Acz&>;xF|=M9ng8?8s0DrJBV-~_Ceknk*y0sF7c`g(WW_hGVPz-6wnwk^Ath2(d0 z!*w;Dut`0nY`^@*M||hbD4vuoN2t(AGG@8zh9}>Zp7_9Ad^*egMK^U{qSv zL&6Jyb+3%pZIO^R+@F>ABNoahx#3;@ib~FzQ+tIP<)z<(GAMc2crRY5=)3p%zC?~P zCNbiAGN^5h_G@~uU2Kk#xl+3keZH zi$oeA&xd0r62mbo&+_b&OF*@=1Rhz4rj>sNe6 z-LdP%8NRUddAWJruO%k2ZbR8HV+6=XCl`T~@t5vtQrPPAWqX%OyT;MMi}&24H*aY| zI;83NBpHuMLZs%^XGt54n`M|Y&?UiLr6qZl4a}Oq4ym0M)nh2L8Of2t(y|8QqDtLF zl9TF?vc@gmQq<(8ZC{oN_vcroCJ1|32WX* z{X6CQ5}lTgQi;&2sH7zh)I=*$&qwn)rjN}e$Yi3ZEUWmD*#QY{rFX@777vGPQnJxL zlCaCeZ0-}_zkE9do7Nb+yjb*{&K5h$()wF44~r|qqFGBe0lb!46pJ&~LTD*eu{KKL zads;5KSMJ+1C7?DMe3a^WAzNF6NW;5dsF6TMA9}z z-maY`qY+CX(iZJe@P(e4-8tax?SdKKo+!bEXrsLAm=slzrQMlOW3ZUYeMqBb#ik=O z-9bYN*EJ=VixVc7^C_s86}yv}JMHw^@So*~QVoUi46$kbNB|1-3YH7h~ld|$* z;G;y~uG{Kx@nAX%#Y&};Yv2NJ&qS``ZYoS#6|Qa9gZzxsW|Z~ zZM8pj8oO+Jm)qPGA1rM)Wd{oMrVJGqi@Avk_E+#%-51C+D22GudJ+S{q-X8^=WY(uxDSzavP4FS_ zLFJ48x(i8c(*G=5{FSI~c3bymDS~*b@GIwdYgm%7)G#rJ?<_`FBx^U7q8o$UViNVi z9OQg+lXB%oqp^9)D!i!v2!;J)+xp$jedTdY!)ZR=Ci~AcA6NXJ0@CGTYyuPkx}4!A zCHy*cla>W8lk#jgXCs!D2|9qdKx>6In92CaEH9Xx+OHWm@CEF!JQBw&l(1e9rA872 z2;_!s7KWc=JyqbVTzmXA=?F70Dwc@xftmPTW;}!SfY_h5ci#)V-+#aFk+2hZ9svpj<+v0AE&<7D zs39O@sgO$8KwjYT-99}~O=hxu3bE>79)a1X`e%B;cWi#3)QGp*%)hx=VXm&RqBdm~ zU1wR2%4In5b1*Xs z0(co8@U&V8cA;8fH&@#;pK%W`-Gc9nT{rOjpspu!TnvXm5~m45I01mx8sgarj>JGh zYZBdG2D}DH&7EWzh=xK#1J@X9^Oy3p8~p5r$R5o14JiyLRa7HlXuk$Cl%f(u;JWjb z>%%Ik=7E)rYSYD>H$o8z(m6D#f+ESMaGE-}N|$TIf|_$F4VzhZ)NxM;OcDo$P1`(b zUEj)g1^eYm9S@Z@^0P3DpT(YNizXr+yc*}u4}1a$QIODG7z*$BNzETq|BS?CeM=28 znvk=>h%hhu>3}pvtkdKGuue}m9&xPG@xc#bosJJItkdy<3+r@#z_Ct~gYdWD_(0Cn z%Yz86P^=S_-hoDTwl*L0M(+M-BX{ja?m8R!MKp2;8o8?)`RyRuaWwJ@8u{o^=ZQ#P z@S~0VZa4C~vym@EBd?&5-&G@@A4FFN&h!O$JlzITLz*A_!`HnyO_bgmeW322tJOjGVDO7@yNFw)bi*~RT+Ztvq)G&PiNzq z3wcy*QPU`uZ2QScduaHA-W;??!PM_PJ7^cdIKaQPsc2|8gR}q=D`*6KPww|*HNx0L zYU2{_TXFv#{u`7*Vw{40?zk2_Ce75tqoo74nzunhc&vst?y0i0Qr;iul`iq^Noj1Gt zJ1=(LUq;bfF>Pu78TlcSz2tdPOhBy=w46E%1YHtFe&~h;Bhq9n#ghI5jZkDIO|2lR z%^O39Jc|nfyB(gd!Gw-;9*C#$xcUa#5miNdq9SIdQZS3F($5a~-Vr3eh*>gT&8e=0 zHPoW_Pt3+N76n9&mbV?G7+f05TzcyYqMMw#N?DL`ZmtgpaPrq0CsL{>&eXS=9~>MY zdARP1w^R{cx)>Wt)QWpYGft%X; zq)05JcVXoT4AT4Fe|XTzmbGIb`bm9?IJTa}#;5cTY?G^O`Nua(YaJ!uG%vT^cXGE| z1I>mfs)3PmPHu9|+*Jb5#O3Fv_n%7Tx>W zEWsD4kOrmzk@dkM)x0#fu>{dodI^#HP-tol*5}>kU_@_)xPQ0V4a*U*yEQ+1_E`-vz;ThCpnk}*R^JU22 zh)Hp=0aEK%@WFo^xYBAH*0Q)EU$!)n#dS)*+av^6%B0GztFP3VwGAsEA=uXZdJ%Z<7nkHL~$PO52Ea|{* z9ha8MkhVl4(GqKCm*`4K;#0U}56`RB=WfNDkr%Kq8QH}v&IjoJNN(fLM(8dNJFh{KSOz<&_-*3`aGNq|-KZNj-ywHhIIj#5}EA3#NR7B{& zf&*qpPE{|dZy{YO_^dpiv}Ym?cM>En=P$Wwq+N}Sw5xU-K5;qJ;uCAOmzA~fb--y* zBTcC&=~O{ZiGajqiuyX$uo;mP(MZAKIOL45u2iACHI!YViFeWw-`_DXsH!x1Bn&mL zc~{z)aDL2;WyS(D5g`q&_NpN^WSjrfO&9Qxl?@^{pLv0bd%`%NopiLv$~~k@R?oao zrGFCLyx9T<@F2BRXddFOavOFnD~b8_RN=%q{Kon*NCxi;8685t$*!$Hg!ahQw@ ze0s@aW_%LSK^FXX)B$};rZ)$ zcpjBuc5+g%@->Gl*yR&g%jwbyMduEzHs*69mv-Ix6jrj#+bGC@4sbfZ11$T>Pm5LLA@U4hfkL2q{1oSDlAg9% zFe{T1gi7r;jS~bC1aLGLlX$58+0}Am#YA)o+Ij3%#=ozpEIq@vKU=m^xlHJguzHqR zy%DB!?#oe2{a!4?Yq3gbUKZNnz*V)x5hhFr5VD*^>$cqlk%pzIrpR4bhsg$=b)k?H z@8Wl8XiK8Ead{SA#NXkN)H@Y=J*7y^FcP;sWJeHo%c@I)MQL%FCR>R-;^~_4yanB? z5`=*!1v@tz^E}z+9gaKVr;`9DRp!zt1huHP=zXNR zI8p?`cGw2S>nstP!wmx;`aH--@a-(0LQ9lTnRWzd+nJN`CAr|t&iJd92hp9Y5g{ik zCnI?mNyzw8|Nhs^%*fq_`B=xS(ID`T9E$&z}cF>`N|`|DMSl>8%w7~#GF7R8=|9CcdYiy7e0b(5GY%J#gd;{9nA@? z`|rxZ_|r2RIwzy4O>tGg4bEhjtv&#_*yv@##v{&q9tgt;zk&4v?hC}J+hrO4}FgKqRGZu-;$W$@%0-lfFzH{Ov4k|NE0`4R+f{Z```il9)rjRX4MDWNDHQG z<2hbEXCk8?;MigD8*XkqkzGYq0jhc;4Wc^pV6BFTK4b*@g=L;x7|dL0<=iB0HIRC) zw@V@V3cfe^4@8c#;d!84l^ox=2K0!Yh_fuF#}`TI1rq8fajSP8csksR2G~6c@;$CR zaXfE|P864tU|xwDB-M+rt9QD&(f)X+E4(nTSYm_4FyOWNIPmMuec!Mo=6F&{6?kZM4HO=7Gs3B9+# zVOm2G+mVb0V=PJVsiO60EprjZ`PhILmuBuuv}D%-$5uvC@uFN#)zYuwdz+pRGgK$o zwC^miFB!`KY>w2jWcHJY_TU>sHqD0=%FpI@D)kl60TQiDiP>ozrdSsWf}9yoisX3A zqkU3jI3~oE<`$)vhc$Y0Q&k@3L3Xrsx=P1cknx=#juYq9F)+;pL1ZSo)QMc1ALdVh ze`7&2l9P7q&*CsCL=OrM2(U`mt+hRFqn0OxYEMSp?}JdoYVvgJ`fNE?2dA|V{c{7 z-pUsDR#F+`YUT%V#JTjATuUOjKvEF@tW$3JGftk0fpzYQ7XA9;En226BBZI-u7*~9 z{wJZfc;X%y=R!e~sN-QSPj4;bP$~nsIr5em&2k1TsH0EZs%GRALY_H0rO*s5Yu(iH zQkvBS+!WUpOmz-~*mCZj#n`W8Q8%T{9b|lvFc}&x?{VJu)PPvnejMY=16fVxH1UeE z-0J}TfZn3SbQ~8eC)?i+ZjlpaIWW}+Y|`DqRQ!`Zrb*ca954U*o=3cQ4~1CBuj2c< zS)QCGDbVqKQ-K#;aq!fwDsViwu_Yhz;7|TYaS@Lj%5SZ!^6)1wf5Aq{^uqnXWBr21 z>IGv!%Xny2SpwUI`O690lN6Qr(7Rht^CI0{h2g$kSWKmTu(4I-b3Al%yRcV$$l-of zYvAnm4(J9~_OgCybNyILIU z=L1?WTDOm3nF?#NAF^P=Uhl7CdIV zd7k8Co(M-?;3yx&lEA^73i6S-d8n5MnCj2s+txNDN1Eo$6VOu}-J&ZbhX>*P2bIL1 z&gkqA`v;!|0{!{1-)_h#g)T*7W+Tk*zvWBB3~l}tDYD$*TclgI!dPXI3gIA{;n59D z0vYr_m{giC3Vl}g#(lI`Ta-Q_&Imo@S>q$apVXenkcbTR`M}G*Ai}9 z?NYd-VTbj7Xqjhs-M*_*BiE9Sa4il7vUVd4p!j72$UBwRT7o3N15& zMU;PUXF+^MQp^#SR~15@0?`9JuCmDqqnaFsVIW?{gUb`%GC5!&-{I;*B`8>$r%~dY zjuYZv;ol>?%7SJ!i1Q@I$Gb!Q_n3{IU3E2cuhZ~nCNe^`08lSDpoF>!e>=#{-Horf zwQ|m69DZ*X)Pf0-3dZCB0w744^&A?HXlnrV{2)T1gJY+ z-t-pxCGVwS0fdlc=M?EHnHxtzs|fTKTd>{K63Q!)MV#TwldF@5BuYBdL1540QIc6MSH2ga%;s0UOz6q>NxiIVY>Wok7RlQ<0}t_Kt%R|Dr4GV1i?nfD>GbXpmS>8UswhshGA_TGT`zp(jp>6YUI!;6g zaUdV+>UG(SbJv0gT;4}*yDcjv(U$N5*!)j8QB=A~EMM@H=EFu9z`J*TsCK>l*%j64 zV-!k<{%jcL3~2e2*^ zkI=Xxf5id+zHS+uvXaly*BPf}Rj0zAQR3VIRp3!e+5r8>h;wO^X$esipfV2jsuxx%>0nIS${^-VpmY;_*9#L>=BSKfv&g zo0~+`RUCXFQCD%`5Ooy?KBBJjfQY*CgZ}SPaiCY}K@3ltL|x;9duSe_^dS26Uit?e z;Bk7uO_42ep!D7=UE#2A%6M*+MC98Lv7wdT4rik^a|t+rPCv1M1K-c(|>YmnvJhi#7S z*k>AMT3^=^oA`*?W8-=K_nBmEGpS)IzzRv_jWTw^UQ`YW0^-CK9$)3>8gs!)D}z;( z7r>-0PgfnkJ;Ww_G_u0C*ss7G!y056#l^Ru4woQ=;`an4XFEBcnL_gBfnYK%dTkk5gSGhU?Gvi4ktq`>eHIM3AP}Pzp zYjP0LBf0s^)bCf~tQuUXUk9kMK36~KBpsZo-#AqG#g+AlKD$1s;}^GbTAv=obJ%A| z8rOTQBAZa`YUq&G+s{_$H{PFS2bQb?wnKg-jv_sV@{9o?WCf3YsGD1sexZwlACz85 z9#mQKMN7$YiaOQ61LBP&&w!f;j@SlfyfK9WdDV2^dF!X&F0SNNXC+&!gfn6x*5*LUG*lV<Nzi%W9vPQZ?*aQq_MQ&nJ(&GIuZ96m)7QDrgg1iKzule=VyT7og73{ zxg8a94~oWm)1qBQ?Qrxw5WvY;w*~p3OJULKq7_As0uq$++dE_;q z-|ycXjJRg^c*M&2sLQ#%hKR^$`7W!1SadUYB0-*F|3CFa=<$4sS9=IoTg4(eQ=FZeC*InQzM zoF`D`4rb;UoE$_qNs;YSakPKFJcwSr+hNUv_Hcjr=H1}bJlcN_4?dU&FAj!p zUkrbFbMoTl?*5y7`rziEHhbOkH>Hfky8zD#u8J%AS^|()s~nPOwOMYz=OoP588qjbmWn&~uQF{4Y?9Un zz?cavOlT-M%Se~=`T0pGY8cjXNdZrl8M%zUMp}Z#5M`+7-sd#%SJQxhg8FPY>4VVa znUs4BAvV#Q)7)r_$kC6;Z(NwlaY0+Rq-pg`vRu;Hf+xNis2Vw)Y0x|F(o!W=AiI^J z#6IwH*9ys2D|M!o#ZXI{yJrXYrDnj2Xw>#XBse$WGv&^gph3wzBUPUSQ0G$8HFSA(pPfb zm^+_KB+Iq5KfVer2RKmLd&gM|U`FLmNLq!}G8IF0KPYYU*bQP>;GX9pZY0+3!eLvy zyVFnfZ0N1673Tc@N!%)VP;UEJvWVTRb_x$YKUV|C!;p2yo$c*;pOU-C+Tr=7muNm#FG^4!+ zGuj(%MtgM-zxJBZ{#xFQ_UvFe0~)pn-0&e476_}sItmX#fl;==A1Wyt&6%oYPzCH) z7;)VPykkGZNUM|Kjru!`dY}zoVE{vT?LG@5uCsy^>}MGHw6c)M^EixLMH?h^9)*!t zH3%tv&%?S4HzN0^Z6B9<^QZ^W7o zO7c!NNN07p{(KOCf1yR5>f-|xRT=yzVff+`$+Ms;$#ItDiz0mQQTv<3C&ffP!7 zm)!q@RPFN8e8*LHh1ArQQpcAV4E7iqBlWdINQ|x|i4Z{RdTCU>c31xj@72({Yu46wn_?^EJ#=uY*IiLSIifYI}GPBvCG*mJ+^;3Kz$_ zeAb_37ASXnW`VykUx|?bfVk#x7)ONPGt>=C+X(})pH0N4V0>o6Z~U;ilcT%2OF5E*Vtf{|kFX1u`)UVp(&hCut!R)>&ZbFK ziL7V9(3r6&93Py-W2yK8?t~%EBjUoC=aNuUQ`3-sZK@pWSJht#ZJD<7Z;U&+H>lk< zN^RP};xD2DV93oWBJrI)jSVI&*X;#62JRQQnr#<~4uTmj0&#|J^0>(PG_U%&xsXAI zbgI@u@p?Pte(X@nJC~>5lK!^f|EAT6di&Zs9x;LeVJ#pYS<(NiBVo!uYIxPm^1EU=C&RjG(} zs`cJrr8nsH!gV3F8@u-r+@inkBfDwr)8+DIoGlN8J(PmSA`WjaZcfeSXb?YX1+Ea(l<1Vqi0>U(P)l`m zBLZ`W_KZQLNk@+k7L#_g5OGLxE;8M-aM0cocv|bl77g3dAp$?gv7H=448i(xwCbPb zug;6|>!&Q`R5OYWr}FaXoR)A!wByz+f?hjrtdmJVKjZ)gS*TMvj_~Ryku5RcT&9&} z3!2w96IOjAWXBqEjS($CL;D*SR~~sHAP6S{LPik~QWgOLxK89aV{LO?mug}BgEEl3 zQsp4WC`}Y=Pp;8l?xlSOJ6@$%Scj)-gL?wMB$emW3osZqlH{|>O`|IL8m6=pC#wwMOqMQFOGZDs_5-N6m%>Jy^g8wj4!VHOPPM4GcmZ_G*jZ3 z=`>IefTRZId3qLVI(O$A(~Cjxg>XLt7cnb+M_{qERpP6nfIC;Fwv1QV9Ct6kV~8Tm zXx2#Sf8<_!T0BMyTXySk-6Lt;`0jy!>q1vNGtK_I|1?`*e);7f`td;1Mg8uchf**M z7vi;P0H2AARk77e;44S%I?N@bKkh(m*KAtuj6$NL zGIrcTw^8S!0>W)d90(P1(hVEIbBt2hqzQ}CRP0(QGm6Dj`&ze5&$NeO%y>jD;h!DK zlF8LQ3ug-4nd|NZUQjwk1F!@n$2?p`&MdJ5tx*QnArG#fQY^9E5jBS29nKV}OmC86 zVyACm`C<7pBy_1fPO&F3j01iD)q!+=JZ6@N2-WCmcD`l)d|>{3X#RX;{(Nly{H8aO zD)gV)r19lxzo;{$&`Uv729Gu)^y}(fe*!bsQoAN)@fl1P>}yFrB<=WUuc1G+CeSMk zAAvFAIi)n8hb;n&Y%6lLng{wm&t6#h&L`^3AN0;>!t^4AIM9V+Jh>Jr=x-?aG#P*B zC|T_=XtGQuq$!nw=knrU28Iu0-!IP741czmzp(;CoD9L=)Q>VZZ#T+mCu9&GntY-U z|M?p`)Kde~p9`u`-$P^IvDP;!Thhi+<0Mc*ACC{p*Nxl@6ugyj73XVfIg1&B)d?9R z#@*dl2iv8Io+~}Qz;b#ZRTZ?UBV__!SSyd6oNvrEIr-V{DiTo#;d|{PZjM{-RZ@Wv zXZXT30~^_B~s6qN$%wJO34^?1GvR~twXZ)HQsrz6&t|`hRj3tS8 zX^H>E1zcIHyqN)g8(NX8o9}C=j={dL8lhss2L4Rb?89Cm&U&5Pg%}xE5*PYD4lVSc zOo=m9OSPZ_&6M1z&|Qkfa0wd3)F&x>1FEnd3Hc2f?JRnr73Q>;0G`kwDi|*4aZT1w zEuzdBN1}cTFhuTY3(#eWZnNkYA%<+JoNVDEeD{1-R{51eGY38BQW^*LQmn0I zPvUf^8oWA}Un_RSgZN(uh_U+hAnv_?Kbw5Fxw!%VJv%$=Mb!`=Za$=kn-9M^>qUYd zo{0ze@Ju{7>qQwoe6TsehYvR4^K=+j!*wxS&xTR1zSo`tf#~Ee7N2l^;q1+WXP;b*vGuvte}I(haA>7@9l7Rz@G_*A@M`QFVGa zKBhXIs=AGO(bHkv3w8#*^$)}K-d%6~X1Lx9d(m^q;y-ncCzOh3GZEilHj}fnQ8<54 z_o9#R4R8JF+1Usmj7@ipdeN;rW}k-f)8Tq=rx(4XnqNbyJH6Q1yTGqQhZKzg`TZeU-!U^C32I2fBx{h)&&Hur}}X47$Nm zW7#Qpz4iU!`r$C@o%4zGZ0MLNA#mxtAsRyE{CGW#pRw8WhJP`JA3Lw%-@#;PX5ial z{Dyt=ihrY?0(@A+x96bigPLdYco>Lq=PmqepeEb2)U%!JcylyBew5;A6-Y9ZJkECh z3Bd3z6)qEkO!doYIu^l}AyYiAMnSlqD+SVD!}t}=`JadJU&EkRTKa zKM&>K!(sgO@%!24Cd`G|=H`P<`1k4N``Okv-@(7%ZN9`w0k0oyKKLH~eSG$Q_Hc7^ zbM*DO%w~5OfBm1q&LG$sV3@LQ z-XCm??!F4cuTz=TC1iCB*OLDTf}PdljgwIbsW;x=K-H41jrX%Nn6mTD=$nW2@qccd zjNbRd5VK4+{&EsMi0bewo%tTtGkAZqJ_z1_jW2h?yWssVtO7^Fxc9s&rt3fT%t-%Y z&nGyJ6GxQ8prosK2l7f)q1o?$9Ks!03J#*?5#~F@#Q6nCAXV*%h+=^pm-#$X{~Yq0 z(K~cy1dX3e`8&>7G3fm-7SHtep^Xoc!Eb`$5aV>pa|v{`xY~Ayti@jq9iO`%0HWZe zOppT=qEP~twD~lQfEXJrrUdc{di-}UtjSVrDJLXm4bI`UHK35e-{Ad8f5qmR!M+%M zHuDwy$!hcQNV+B%Q6q~|5H+NmpvbBsC3i@z7m%-#vP{pjU|vUQG*2gkKVXQynjZ|| zuKWj%Bi<w3#KGtDr8#JIf`2*#h97_$0v7b3 zH!xAMR#&sNwbfsTZ2DAdYw1q54xHyY!(Vxcd!7=jT}W_~W|RD;pI-|wP4-SsrwPpD zUY5fnQS=nFMC`WF9VrENzu!-a^BJ)Xk>>I$$!5v)g&5}r(8`sX+7VtRvnsy=-L>=n zw}ZM6WtA7=wf#8+Yerk2PZD>Fg2~6pc@P=QGXhdKWK)v?pSvx5_c7#H)*H2>gm-sW z(>B9SdKUaP1h*u4WA3IRG84?DL#kRVHJLRlUG^gJrTOn??^GuQ&I0(ijFdJvM}l!G zWv$}{`i0i<%43akFW^sJCqQhdFG*lbMb1<4|QsTxY!BD|ZwmA*3p zStuP^Dz0kLtc1Hks;CF|-+>+8XmirmA&fFvKwE-1j+1aM*$hvJybdnv&q+rbWRZx* z;27=F9huUrXbi|r>sS!(t&|9q2?^jPZC(Z`A!fqnmOQRi-=S+!Fz$cq&!h*A>M~VNAmzY|ZB#be zl7#g!E3)73=kQN4^7oDYkaZHGiWs**8EcK(xqu*c>EwW%!LZTt?~pH0?R)J^e7Mbf zw<>b3ZM6sUd7IGk5Kc&SLK#WVg+z+j4ed%9vbcmLetVcx1h=4yV1pc+)n~pf;oC8} ztR*o*x0Ito9LHOs))UcUTC_00#k_N2lrUFXW+@+Q*t9y9PqO6lNtRtci40^Vp$e`0 zsn_)HU|2-^-kHXk_pFl#S{ey+ps6dA-QQKH$r~CkJOkhE?+qrMB+cjx9w@^@P2m|# z)aXR1nIP60PNTU|NgCFR%31e0;zP8AmF;RW7SCZI$fe3X4779!K5K9C33^ScztMKg zm%QK#&B|5$x^DkME`=vsb{G*o(#M-9ac6kp`ii{fK##9~zAf@kx6A}Z4!AYXOv;Pt z?$VL^zFf9y6`(#}H2MOeryDG_{e>&ewVu*tciZNZHU9r>=ItEszayNNGwHY_(JpL8 zA_T>W|Afg}PZ)=mH1~SXn({Sb%US2CS8jAO%KGU9BCSc4FHOZlrC8f%7=qiz(>SGA92UX!zOu?x=1-#>UvYO-?o3!RnA zUB_9u-1RvtC%fdVT zyK#@^lX`No3#uy8rVYZK_g}yN`fG{fI^VqqN)-;3<(NV)-bFv{M`y1`%ZGs^H4~vd zkg7e+&Rb0T%@6aJpI}}jQ}(($vSN!z1RVt)n2BDuwXE%u;oj8F zt$+w-{UadY$DubrPvo|xvqa$`e)8imKwTVc622lds6$%++CqJSf{;&j(iIW`BF85nuSb)5Bd|miT1RU%5l^fhfC&hSIO>&nGD4mR>DC7!*rt{PyUji$SHRba-0ax<_W zH?L8p;*H_So=?;3(>y6Aj;Bt07cC5;F6zx%lNw}puc5Ta>5CAYO;7G%?`=v@j z(N6}G-AGxXVJ5DwR%>e)yGl1`O=yaVFwh#o0@jq$3a(^%AhWH3^wj3)d6iBHBx@T z8S@rcLdW@3&M`B^?T&K1Ms?-hrq@DI07*pfK3+~>!^ECUDcoZ7W{rLlMyOw8zFvOebHQY=eefO=T(K`Loo9U^0Gd=a* zOh3q*={4L;Pxa08W;edx_0ecOHFw9|=_0Q~be23UlJN&op!9GpO{E{iZCMrh2N?+F zR6ahz4`9K`05Ma`s}|GDis^oKJ*xl|8FL<^Bl$v!zGd=J`lvRNO4rpa=)Frm!g6_W zOUkeaZr#N0vQgqIUtUBU*DGhIS1G{fQS*>wV=-M=-g8VQOT@o}7QG2?SJ9%c5gx_F?7d;8l-- zmK-W4*MKBl@mZ!W+Y&kD3)d+>m-kGw6q@rNxUHm~Jnv7$RGdRXLy4uLw}B|236d7< ze69+EQiJtCS~(g*LFLiOTimBk^JPG7iYX3PTIz_5`q_?{T6;oeBWu@j7F8p|9VM5d z;JEFzwaS8VudZg6)_t(LTA_QIhk7itboU@Km%~hg5m09l*6s|jPK70Ukuqwmb?GLc z_EI%vp(A&vB=0%9<80bq1W=xLr7lD% zD)S+JqM8hsdEIt<)3Un7-MiSTL*ef^2!G!`e)tUue+<7y@5v9>Np-O@iF;RDTm8*%zg^jSywd;v`>lAet{jEpet!(wbd6e|Oee@mtZw1QT+UP&n`nLaI^P82&{RfY? zob|Mt-q{EyzO^tT>t^dEftXbSm$yRp^(=Hd6vqQC2Z_sy$E z{qG+>T-n;}e>?4OZhq6>+c%(ytw)bG9`zq?ZcQO2b(hIzQ)cr$ zW`jMr;pxE@=)nzt7p`Czu3#7bb+z%R|M;7S8xQ)AA3m^(S?O+$22NBzf}kDE=Rx?mE>ZSxyDAIxF{a{KG*QUCj`@1f%#fAat*2bAz=>yex3<~R7y z6klS($L!xnjRL;eV(C}dzx0(SJ^ee~Xne8K`~vgF52m~pfAzk8@&hb@C;wYsqF%ON zqW*1HC}FNppr(Qa?7ytMx~F{M`XVVqffh$GUhNE!iC?1p>aiK@#40B zEwXV69F-G@>&qoFyLwZJEZ5KC0{cmE{=n zbxATL>UEMCwy4%pqm~yZV+HNRigldK3QMo1g*ASbG;XXlCJz#o;Okb@6~#X=Tigaa%8PIDt1qAz!Y$~mjEZp(4gu&jl4 zArCFGdBb^?DJ2!Ww1qkU0f+bySHf#ySNHJTqSVi6=}(f$#Pnnx`nYi=fJ}a67}D*_ z$jL=I5l8!h)PpfG4zCw4%Q3?!*k5dmmamS6?k84t)ptH++rsf(Y8V&Vl>O9R1j6zo zFd5HRCT;=|JlzdLJ;_j{ooUMgxgIoMjWEX?4pk-!g ztF^Ttzq?x%&BzEvr0jcgE|G&2fgVL2x3*heEA+tqbBN(Rx7l2j7{{pScNlZ@5dtuk zu32AbbD_0XJl_>dO?2l&XWkZd`=Pdwhp}}6OZ#psU$E>l23RmxB)Ic1=LXPirpis5 z3>`g80x@=9>~5!~6XK)ccG{QM67?ky389{O=bEr5XhXRV30Ob~DcxH`m%7x$k{!uS%u4GO6lB&{ui4NQrEc zj-vi)VFuL6nEVx4PqZGPR-g=b-XDTuM$dcgn3ojh#4Xd)saRWEZHNk%J^;7{$Fow` zvyo6PATOcRc2^bcrOA8;kM?EdLf^@R{T|H4RSHnQfhCflz6$5dz)UvCa6fySWMUdg zl$s6_4XKVTNtfo2+~YPk$LZaqI^S9FBg6m?(EOPF?9DT9AGcM!J& z^q?=@dZ*Nu^G&(fGj2}v>`H;!G3K;8v zha^)d9p_p>T!F1eLO5^z$X}IuxvHqhD}WC~_uw=;$N8gY(wvcsn@ziOn~@H1`8BBw zk))?TOCg2`I1Fo>ik*VjRAX}4qQ-^OF;m?6-Z2aLIk0e^H9P0CgdV_)XN!ay0+k!v zMjqcsBvMr3A{=S**wDhsJwXQuar_BfMtIh9xTicS@j6ZDi6p5btp0nlAgq*JJ5gr(0x zS*%r^ln+UAhBo%Qfqw2$^0t0hB2e8ML1YcwjJMvb1`U|G38m8)^%%j?lIn1^< zt8s3#QqXPJcCxTbfNSrcvt-I^o=R>e&PY+W%R?P}6qUv4)LcgGV@+akV`&L_9KFUD z!QpN+M-Jry;FOgZC3^~p!mF1$QW1J9(u;FZy-LdJHTX=X*|{DZ2$Tv=fEe(1wKCk> znw2OFqxoq*%O(ks=0T~1xnuR2A=Uo1AeSBGP=0nM##IShk$ghcwwQg;Zx04kwdISl zh8`icMXPwzF>?Oyubhx=Bvr9HuXhPu zEZKO2|Gazuz6^Woy+HjBSv)Nw&k*n$#&~3th{}Jx|N4V3IM6mGh z@z%!oqxbJ8J9k^}-%sAZpWHn--rO4D9}kWU@hC(JTb9_HH~;3*D1_YaRAYjj)tj4}_wW1RT_FFU(iySnNwV?R=EnE$6?3Sf z4&4HNQTSqAHVoKB-9!%{5oD?UNBuIHKZqXJs$-77-uYi6>MWT`R}gIYcL8+he^AZt zSG9Z8?WD6f$ug zS}Jm*G+q_`BpY8qWcj3kJZ!r3F;KBlFpt_{2spgGPP22whr!h;v;w#AgfBrkY0}wF z`~Vm0O7J!*iQS3HI1!(&lMGK-DTPRC&lZxUMb3~b`|m8qpNM_i>awRv1Np%u$x2>k zRa#($%hveu+-sf5buEz+bhH^C#gt-;%hg%J-Vt#cw&R~U=xzcPg4yoEG%CWoJ0j~z zfF&(i;*%0TfrC9+TMH6>(n%>0a!ioSFD*&-E5lHRZnKEfX*UqK@rXs?`&EVcp%W=KNP?^M)CR{fvSyJkMuYWyrj0ZF_78B!+(y zu zw~$@0q}@R}Qn$pAXxTRw+V*Gf0y*T7VkusIwaa+nG;zdVfC4CIr)5=|I#nk`jzAc88b@phsO7^!X{g9Hdg5$s_o>sN-x~`eB#UBBwU6CSm@A*bbYV zm^`};Hnt2+W9hsql)H#xNYeW|7tNALyCx>r*V9{dU<8Hc*=$AJ=^=17-1|9mJF5hJ z>l}`5L0x>-8PvjgchcA=~_aJ-=(M1W^Wt*Z*{+D{ZJW~kpV87JmtMO%&3<$ ziw3}RMtxD2l{&+JPrrG)q{+Bi={|}!;l}RH)cf>QXPU*-lyhW=$m9}B>v-}GPfxu! z|Fs(s`EB0hH<3q@XSL;ONku7LP<;z0hx5F49=09b4j1t~nGIBHkRd#k6Wl#Ee%{6H z=k5-O!SnF$?qC=0d$#HC8X#+B#Tp^Py7BZgT49}*F9e3!1{x=k{W%jeAp@jh2;;ni z1yy*ykpYH5G!|ubluhzs_AD8HD6fGEKWwlZys~d?lJD}_?%G;)Z1#3Iwt6c)>*0gZ zDn2xM{bdmuyxzr=i_xx&9dZ0-cQim*PJi{Y6IMfOxKmqkJ z%1b6D0LZg#Vyt9E94>ziIp2-;ccZtvOW{O&igs~#wE* zij~#p#)w2^LNio7UT|2XdL50i$75DCD54nWGdPHJ5YT~r`qI$8brNaq$#e^N+!nC4 zbrPI?5n4&K@tb8PcI=`yX8q1^Vja|BpH+32|HR|!yyVPi;Z*FLCde^Grch4_#NxGN z5tO*SjD;P41jlG6S0beP1-8A+R-s)w+ttFBw2%VwO~89}!H^Ds!{2l!il4*VUv)BP|4*`BWqDm zMpkxkxy7F-LaE&ne{5R`)hqh7?bgZ=_QN!vtgUs|Ete4@TjhsoG-bMz7>(1TV>+c^j)W8 zBxehERDuB>n586TZ^k*Cy90P3S*IIGqf&?2K>S1D#1R;WQPI4e z)Gjn31JcEdq8ahYQx~9omka?xOQA?Zc%PcW1#0nxJ>v4LKsK^G3;r;Z@vAwqPO`c9 z2k9bcF5Yu)eZf?+`SDD|CJ|*2u?g5auI;dx6tT3qsG;&jSi7-UWzu_xWHm*!g|oD7 z5Wnm?SD>Yjt@MkItvo8sfPo^&Iku8G^(|70F6udQlIF3MwjWynxfwT(9Q25n zimBQ?iKkLGC@W*>Dpw2NR#-+8`o`S`XK~(gOx)e&zGJQM&mo|fK{wi2*s{jxmh$6g z-BQ?1BqHay$RqqMe@R*3T=)67bQ9uP;a@o5KuOQ-MxhWQsy28!MW@oX&6$rnNIE~% z3*Im2hlSn`m{~6hGRFnNAVfhqWYqZ9!j=AxW?yVo^P}Ik*2IwGwhSg9S)*`c?uF!k zjx`(Snc+$pyxM>B)5%XSe|vX$F#PGI<)0pL=ZYpPlBKIH7P(gx_jj-OqG^+Rpq+RW z=S}Yf+h?PtFo#pJiEHsGtrqUbAj(q#BJ9+fAo0+j$U6D(p$r@P`C>a(9gAls0omX(C;%uo4#3jE0|0sE~nyXO~H68=E-^cfOgSh5IGKU}0G*K?NKB%EQh*@kpZ+_O@XoOAD$F?gXN*W=5X8&M4g|l{Bzg9W#7Sofqgp&Bd6@qBRw_ET%_y-(gGCbL4O-FsV~X^`Z*lBj8+f<^Vev%u;fIw!8{;6M~CV$5Yu%e5$0;ZQyzB*yW7a z{*Qm6*lyN7n}K{s(3GbmggWFznQ(KF!o}bc?Zfa~&~t7(%DQ(X3vtmk-=7rWJUuQ( zac*Yo4+X@qPLH$EwhEshC-Ypyc})XBYqN?}9}IH+Ck)Ge1}+H$QE%t4r^eZi)0@rC zqka0_Czv?tJ=4H$T8L1gi0QnAy6e$m+Ihw3Yl-w-A7-%u=@=Td~MAE z&%*=vbS_avwLjrTlI&6k29*a}zu!;c;k@7Pi%6doY{RO4Qgq%>tDNlbp+4vH7Ixo zHWonaJ}VfZE-+~=&^IXmrb>*>RIWhuskq$+D5>6vvJ#Wkn7q}t`EBZ*sN4W=RUrr0}norI^@%wKGAiMVj#DMheSCYQF1MVo+sMrl3I zWuJC3H*9GZ&YN*Q^{7N?#Nu6=D$FijKC^jkaz3s|gC-i0Ye}N8De}P}0|!hsinH3N zmOC2dG$9X(1DBP=tDT!_Ur@E@1oRtZQHq26>~@gGTeW9G<#DzHvn?D{o>G@NX4g}a z88^fE8I79)o0o0hL|McJpH=@{4!k?*v4)LVu3GRqsV@3gX%=9h7)7hwRcE7TFQh{4 z+B0obgkio3Fu~Vs!i_IgL>Nu()5Mvh4>j-NM?~VF5ALh$vs>vM2> ze*Ta`yrN2jVXKXFyK7Pv;C7kO1uysQ&ZjLBR2ABxN{T$Ee?Tz;Sfa1ai{zuYrS|m8 zyr^{K0Eiqs5uY{${g-#`hf7=4<%jQiy}H;K8xJb&2Q)kdMHQ;K*i%$kGpyK(u%h|u zYTaBquqMPap?%0e0@;cJT^dgkslYF5YpcT4reZCB+BgPNlpOrW7H)gjpoOMBRDG(e zs83bdpyQFejy%8Qp@|p7WH~WHJ@kwUW9-HVHlRoO2(+DDVSt^W$0wJ8Z>YoV$`gGE z*IRlPTwUU5u9lbNLCG%WzN-kT@?o0y`~3^(SqQ~$9!)40d}=%OFPE7X1k_Q5nV3}P zs>s@r80idK6`tE2%KQ9SQyrj>Nzo9_Wi&eJIN;0B6XaMGg~5X*6Kz@$tnQ^8M+sYP zJXbencoFmx_No`1UItQvK-Ej_%n?*JR5<$X)bP#*(oIw{PIqHZ_l}s+%2}5Inm?7C zKNZa%o}iMFkSuTMo;S#3Q>*q4kG&c~HSVpq7qe@eSo@_L4qfe&xXqP8$nQ2_ABEa~ z!nL(Z>K~dstMSGb9MxJEqc=y|LO$MS3&HS5jm?9IVYG@BaRxe&^l}?Z#qNA*H!qz<-Y zK?=S-rk}Z&&)S-}402kHnik^{zQBjxxNL3PoSuDf2)0y9I6mFn8bI;u@=zk0+P7!r z)Z!Pe*Vb+>gOtqxbiPGlJLT!>%DH#Wjhr^vjEp!s(D(01)ncIAS_4R4o;tG6=gxsM zhU(0XYC}cFmQI0f+tF&Q3t6t$g{}yNq;Ef0{)U6a>>=&qM!VD7GCL<7(%y@Rb0re; z{$acRs!r z4*izaO^^OaI&=9i4Lc3H;h?g|i-&?Xd*jt*a9l;{$Su-_;|h-pdXrtocJEZ$hB%Hh z`De3uY_59SdB(Ku8cX`YeE=&1*^;Azs%H&S$}9_acU8wADdcB)Dcu&kuX3~zl%P%t z=efC-Wld{UQ;#f>SaH@g3adBU;785|TEFRPL(#F`75|a7mFL!0UexN0`}E&IN3*S+ zsXYOpCzlRBhBRpi1aFtM|LgXaE?Li8ag9*s6Bw@}TFDgF?ng_M&xNxN4`e-sI99}( z{D=bX?EvwRH7{k5u*(*IMn77utOy8LE1HUunp7U<&-1HmIQ8HeQ~jbjvQ8-=5vCoU zy^^O8OIFHc>J@bq1M%bg_EITQxQ$?tHd>CBcyVbty4rUya2$rs#(p}Ra+t(nR|eCR zC*8kP;)jSg6(6J;FT&1{4)0K!T-Vp_ZN9P1;P$q*c1ULuq^~o*n;T_|A!E8!0aoKT zmqBL9$x?dJvVl^GzlO?0pv7hwZDiYt!dbz)Clx-f zlepT*k*4NJy1oVMHtG6Sr)3fuHVVmqA1C?{g|=jIwY~+kg<9|^n2-6TFO(S=oT)dw zT~O58q)C?Ff~&}B?26XQH|AXWFGB3@LZb;@I;Fuo$oQ?~=TUT+Q}K0|Ik9wM1~yWn zM6MX@P=knc)Hvy7P_(G_l$}|~rgSJGtoChJ9qQ=1C98WhO6W%U5D7nD>Jv)N3Vr`2 zAD2NIk$z*4D=rzq{4X0sKpgkP(m@;On3}-v5c7BF)=E}aqZ$63T2&d$0fo{w6&TO+zxSpFopA3P#kZKI%n6UZ+^o>`yj+M zMrhG4%%CBzxd--vZ$_bwhC5|d0?awO(<6#bC8vZvth7IUIAO`Ppx1zVSkq4@x7`Y< z2M?ts>IDe|sV2R)n=`yLan@z4LgwGYZqbwUOcGoXlSs)(u#QK1Mk+jxQbjbuWlV!t zktHYYk;?|qhoC3#YOHMA^S5~Glrn9UC^{nJ1VT=P_5`s$ve{@f?juT+o?Zs-)amtk zF3;{2UQ_Butm!@KpbE3H(%<(uIswUd8ayPVp(2!K$(=rb61S=__NDBos_A&EPiyxR zyPLK`nMHv}hSDhAS)U2kL3pX5Rp)+DyXxD7RJ@4lDYYgk4=QldZ{V@yU9FTzAMQvG zli4tf=Ui}0&7{m7$XViX&=?yK_|%AG3_JtU3=Z?SX*{pu@dA-)y0%vRFztf0%@buB zt=6~d1ki>A=)l$fGOK`LHel<2+yF1?qb4}6Mj>)4=n2Cxa}%)OjhDnOPQdL<;@)s< zt7sBx)nH|2HC(U~yhWII`b16{(it3cL(L^2{9e?R)zedIjR+{rbe~p;k?|~ zz&QaRO&unOAro%y4a5(#1u*cNxs0DMZRUx(qI&aWoCLf5gAk$ehQ& zK$?q4MB_%&!tFodx z!A!xI%WC5^KcAHwX3^FmWB+K&>RNdkKcAIVe)YD>X)#1(8c2)X_wZ=S>Su5w2@Jx1(eXe@MDq%NwsV4pbZ6>{~F3C^3% zR=e6S1x`x>)y}e;BDoIQ7#)GDQ2wPQS>X>xP+{YKNv6OHKKFYI>3*@!X5?S5Y9=r` z4oq3U%3rf>AGbXNU2Xb1b+n#{%ZVCCA7M>Yz2Ks>A-T|kw6iMmnv^Alo{wrW2+5CR znUM-sVrj5^WxpKf*B}_DtfoyAUn$E_-H}FBvpxz_#-Q!x!fv67pJ60J#oI!%CIsQM z8yBShiI4#Wq&Fmmy!xu@%ZVskad!tVk_?{8M~$W@vH#n)9_VVZS_af)l7rm}(3l~0 zP;wm<`Zl2-xucz-MD2Ez>ciG<@u|3ewDf(h-nexKI0l6%-t|!(Ju=5irudW0z9sYY zZv(iK!MJB}%GSW2>@wMUi`N3L!`0O33rY*9VggCNT|J36x2uf}bMijB#L@0jlbJi~ zyY|EqgthJU3_$>Rju$wTNWdzf9;6bTRoD&Z*D&g58|yU8RGe#I0e9Ssoo^$j_?>c) z!!=AzJ3O1%ud)H@FN|fg@Oi{2$y>TKo8kSP>Dw)CX1Z*79Yh=ma%S!a7UNP@|3Mm@ z)wB=3gtw9uj`S!II$~2~H&?1n0oV948DGdR6devC2aN^J7UaH?6E)7HcBI9c?>4E; zFD0}5QnXEOU;(X3w`kT}n-N{f-#`0erw2{L}WbO7>?#0IpS7;d=_%<<;tRMN_JuRS`8nu%am zBF=PAyDSKo!t<-Kx(+ly9G(qWz8KBN{rc3;FS_iPq|;gay>`NMo6TCCW*4GJtEbcH zZjoONblnzZ?W$t;STFHoNeV`wcdB5Vu5X9gfw-O~W2MTj8H*G0L@5gb3|}vT;r|F* zt+6af+Ef0GGBvp0XcL6z8$$M(FP>l8>bk}U`KMczM9DsuzmHEQn|8EVMNb_XS zmsY@w0RcT19NF;$yc~Ool5NY#IAJ@2>!@y>GWVi{_RsRLHCBUnVmD%Y`nmj~9zkw_ zg3Vzv?g-tKo&|ssr38%k-@&g1oMEzP!B-YG{wwddAQ0&W3~}lZ5Y`B;Q99_;ENs}P zUC^SR?!)h8R)9LC%P$@75U8o9qAMME#<%6c;h^7J%ft{piMu;=U6tTF-5Swf8Y!Rb z>991cE9ZBj@o3mNM!{xs-g{=$Q#G6* zcPHmco?1i}>)j2wEOEbm0MfL`4~&$#`;Mqbe1}<64VzN0EAoL<*6ZNM0b2L4b!6Ea zz-2^QmM}7_a8%xTG}i#59&|~2rq^wG&Y4#PGo3Ucy_~+GyB6H!6^&KAO%)}bK;ZGx3KOz?Gs$ku6m0QLqt!r~-P&;+`li35LCySpHdx-H6G-$l1 zu2nkOJ=sMDkX@@>*{3rNsp;e2gYf18^?mN zFyORSDA%>M)U|M@N*3lcn&mVdi(oT?z?W#QARCLglrtU8*(q6Ivi_B*F7inn_dw;> z17Zd9WLEXU&uRrS>ui%s<&20OC?2^LDgx)Yv>+P8;1U?r!U3KFM$8)#(3MpvJg?&v zz-b!N21Ye?F{(zwZDL3zg2zwmkvsVBc{|)U_t~Bl2OER=dD+nNa63^T`L~yWsb^Fu zkNkyT*0cpstDX6+pdp0Z5E@mfBz*+C+fnMEZ=DK3;zm+) ztb$rYcTwtr&ZZW0wvbF%ozU5|6FOT+V`d4H#Z#YjucJb0r%T(R!0nY=TWiq#wy^S5 z7SvJA57UjhgyD3upoEa&woO@9QRcCki3=d&1w#pIv>!i-*eL{A{0f16B1M`!sMNtE z^uaW)As)7p#1n>|+_Nm(#~HX;Gvx(gD%3W#TO{Yy?j4u!g6(_*K1O{5c~J6(Fy!DhH#aIT$} zDY}HNfbxm!s zCKh3nW1uj?iwE)y1PFOljF=1Pn8^$6;cG->cu$(4XN187!8Y<@0-C3i;?PjwnT$fs zq>DqzlsrgGesa5u2DRcHBlR${1Lg>NZgZV+Z+dSA>!cci3# zwGEwY9z>3jw+ec1mbCQCt!8x~zMx=F*Nv*h` zdt}5mw`a1@Zxi$MjK;Kkl2hAk9iRf}@5LIPbk6=hV}D=m#m95X=XNRvy-8Y*dlAT$ zx*YY;=o~eCqK^2tx-oEeX?}<{_meI zUH&ww((DV$_kZ6~K8N+2oGRyQVZOzi;?-U_zt}_W{q1x7FOo2baDKLTEJi>9U?{Zr zOdyo2JqBXX#c@{XQzrATU=eqBHbL_Tp5n}x;)bUe6 zM50rL5}93J=S3wZ@U%n<)&B@2NiNmxb462}YbSe)V_vr1sSI{ll7d0u)2ZGP^-?l7wv~<~b@yuI zS#%{++307G=#UE_&Ad9(LWb6}1(jQvR$U7|?!`TMy7Z(o!tLJYg&@^H`p7ddOI?u7 zHyV=P>b2nYOt{t=^rAUM3YP)5%sm*DK#^Kwia`4FTo}0dk99yNf`!%5D7QZC*#d&L z3t`Z72?efvX#Xzn1RGUb1IDKn?>k3tFX{arSs%I?MJ+yMQov06o$qTeVngF{G-$!0 zj6&d=3p1J86Akltt^g6}?AZjdEc^!10omUH4QR3Rom<^QH3&qw8fV8&PmkIG0!=iA zE52B;^9ClbBD1kg%ij#|(Nuw>B`~?Zo~A+yI7pGw^frWK*0jl#9E*opM3gOrE6MJM zFK|dz(wdmdn^Q)42L7B((}}5B>iEkEPlM91K?x?D1_`@CsScdtT1MRuQ&<9QTLU2EGjKJD?SBNRXamK7Wp%*t_lEzp2WFXFhDlSdVXV8UnpS!srNTaZ_T(|UfR z<8x*3aSwrA&owJYIZy`{xv}AojS6FKM%E!9={!5680C_Nky5neySloJU=TK)tymkt zaG}4@Rf<0DASVCJcDma!0E!HAB%MIv`CXzh;T@2*8o964}3zL z%QQ(Q6NG;xQ&Wb7mZYas;iNW;Yd00siSt&i#&nYG0&o1Je(ojNWU3NjKDb6P(a*SUr#7@IkB@ucJgmo8*~?f-*qk7oRygE4!txM5lBrxM&CZWPlzMZ{#wPvpncWTu_q8PET2h1pj3R& zX5Ii)-<;A^nPf6~!|Vi#y$L5bNJk5b+fbV#A7JUEU5e^ZTwPBSfM`_7IT+PH+AE&e z=khvI4IfzDfZGdD#RYOb_0>-ueuVYU+?fO3PHZj(Uoz#W!pmu_K54aTTX`Mz(ZdX} zMf#`aldjseeWdH^GEul~QW-SnrKdoXX)>AoByJJ#k835(&Uf&aSd@02r_HX?~ha`!{Je$!`!nnqOVd)Sa<)gdwG# z^=N+RK?OD{IdwP2R7NlCqc>;JTj_<;E*j0!S4nn0OU}g$O~Xg(DmZe)+8X=O_av5r zQ_BSFoYBqH-BY`f-pp~W4F;2N(`C}x8WGCZONt`DDbn)`02y_qnToSTNoLmz5`gy> zB+;Gq8EdZfldf)S`^YR0x6(#WiK=z8G!bJsch5BX8^NG~Oa-32ttshcJrPjet=<;( zZ%<>KcdV}ZP2D_`EHJD(<^wjJL6N7A@XU99XV!7{I>~@;V>?^sT<9f5nrt9kv^NkD z9TSd3L2DWR?v2<9lCk51*8ylN&Y?_=4Mh|wx_@nF)Mv5MpQ!=RU!!qRLq%2kR%t3* zC`x7KEX%wTC^HLG$9(TTt}DmFEcYE_AvJ11b5CoPEp1`NdLQVxp{<*ds}txJQh8Yi zoE*eD)J+5HROXtlFeFco>h-h45 z8An4$0Z_qLA#UvX71=+Cz5H_uC1VkKz*=S4ksFrpcn+nPYV5F85?&%db@_EOppFUa zx@|h!22p3-2%H~yvlA0N!>tKI*~%pQ+4ZcVRf?ueGa;&=hefX>V5~CK%UXzbMeGw? zS{q>F`b0EnXZrZYe6P}Muo;z=xCRZ1)TE?P0r03rz@RA7vHL9yB&M=?D=6r=BOfpZ z6D;6qNo|9zg#PNM<(uRUnmIVD3%Tc^o+Pbq1N4>>MUfYW;!_ptzQD$i#Ci=TN_F|Ym}R7|JS1%oy;j>JXK1xZIL50qA)7{>?Wuf1SSWe=)|9D1Y< zlC+?9YT996sWZd%-k{g}=raS=wtP8!>L;EDv}lFuzXJX?rwL3)eDDG=B`K*nj?Ixp zZa6E|g;)U)Jj(l zT?8fSD1?CYt%bZJoV_YU!S3xsC=nJilEIGElmKWX*RNz;;%T2Ow#(0=$zrE=CX4GV z)R-*%>z2u)^Z2sKLhc0Z^F_KU=qaOI7o1r`k2}Ux6$E?ligaFB0q2E9MK`~2E93Y= zcxwi%#IGpX@1n>%DvE9a|M&m-ztFLvwQ{d`DqSJVrNXWUesBP9I?6_uf`w%tF~QJp^!QpT?`ti?jboB~UKIH?=uLtodIx$duJKSo=*CRA-yVDK z6c9>r+{d#zcCX$OSwwGp`UO6h)6eq_opRq$s;Tw|B^*cvd>Q>b8w+-88D5Lb6?zZ& z7^+4=pFkWd&yX%XZrkJjb&`pxrM$!=Aj77QTe_{=J9W&a-_N}2QwOpFgb|JEXLZQp z(UCl4sMhTHmFd7cdU$ZX6f{bu9;KuX*#rdXnaRy5G_*O!*4NvDUoO=!(kOwGGu%u* zO4@{?wd;@#PU8L1_JMz|#&Kcs0Wze|oZ3@svuS%G!TnR}P~$;745o|93azUOAJ6uw z=pD=Etn=?Gb;#VctuZebO296Kp}zJ?yk|aF_%pnb0VXy=?)~dFzhG8Ozrcqv4LwoRCDYzn)J_Lza+meSW%z_ zQsZLOf!$+6D1foooZvk@L|f`J=Q~>R<{Mbu?53{>pc*SnVj5IajQHKv5O!%Ex9j-Z z8?^8fbtH+FBgsW6xk?!PXxnM5Nj}%O{?&}OlX07-K(K9wZrsDqc6?|!F1Rib`}g#J z&{P4t%ei*Cs0!cdN%~>wywzkzlPuyL?p?}bhyoDXZeF$vSk>?b1-~XT4LY7*O+P~J zK4p2j`RZT}?6bTW3q>F_%g8Teva{+`Ed$~klhz-5$K$3|Q55!?R7c;Umm0{tHJ+-d%)2WjARe433#39TYv3IGqG zm+{hbazf_FIt;ls8s0yb`4EeqTmn)e*xQSL8wb7TRWV(EDY?I?qmMpQ^LZ%8eYxN` zEam9)yuajagzZ5K{K4`i8I6lL?_xCOz)m&S4X)Fm^6{lFd^1Wjf(>nB7Sg|ug1+~Z`)kjnXo`R+3pJ? zd(nxZ<>mBkI>j0qQ)bQm79oiT%^}{ z2^cjCqbRASEc)GA-IEiZU+wkG`%`B&^R~QKw~{F@CQ>elNZCig{X39*rEP?{P3rAM zA!8S{y>8{@CK+ry{X92K9(ZF3$h4Z+75bP$)dSYo4ZyTFMZH{YSu9bv&J8iirZ=w| zY}BBp!GnM4B}+^x#v_*s0QxsQfO2KdrAb8{e-OMzEE30d=41L(ehB**(F67S{cLAG zNfB{1L0b@AnCij2N>0(fJLqj}DSWK)G)Xl>$HF;Bbhs)`_MnFwRIf%)nMNp4mH&b% zUq{{$r~bh(xaP+8Ld2B6?*TD$$NExG+NJiQ(CwP1P6*N<+mSopz+RYn|1wWAgejs) zd^=MS%GCr0@#&D_{Jz4=iU9*uimZRJ$W+}+WRk7fG+`Na*mNi0@Xpp?6B+c4Z?cX_ zkFKItTzX-}rO#^4GrC|z4A(KZWw;C9yQ@(Qjnz2saDzu(xIF64N^MewL(p^&$GYZ0 zcVojZ5=H(U?bQm3v`Gb#xzUC`h+Be+>v#d_S%97Z6Htl8alE%@S%T~eQM7_a z@jhLEbDM+Milnw6g0;K5)zrW7H6nUvzMY!_o2UFNv-es}F`S2t_1XjjE1N8xWw^Fh zEO2Sz?f#JYwNaz$!?hO?Sae z^BW97;-4IqmkEt=pm7zHLxJYk+7brzYA!<=u3tqwBC4;`IOM6%VU_WUM zsj+~ku>0}@G>2bNJxs;q1DE8f@`ZqzOK@jWR3!lYf}Y-I20e#P3F0;?YfI)*rqrAT zMOWn~yN{gFf{Q8~fazai@>Cv;Ai8LG!5{@sA$SxC6(OkMQ^?Q{wjr!+4{A{Qf*R;^ zq-+mZFpd)*SrlT*pidwiE;`h!nzXoiy%9+vO0&b#>aDzT%{XMyT)pg|FvTr<9n_*J z(&Qn;30^{^;XGlLeG&*{#chix>qePWa-@z(3Kt7-g;YI*09HV$zuR-OrsHsJZM;NH zKci3OEgw47g!XlM_3!ThGx>jG^v&u=kRguZe|jA|?1rbWY#u^LWs5*~xh1?3lZ6EPw*;b24uy~e{Fn-;&l%}9Zs`d_Z3QIlu zQah+pSC9Mv%txJlR@dOnAIFF@ zPB3TMDC;{<)F<5i^z!9nxLHSn6o#rW7D1|6*5b*hv{kw^|CrMy##9LyJQ?ESMD7aD zry|LKx`3{T{|*lM##!l~EL{S#ZbpMjUU4Z%ymT{Cl?P+h9!t%$ExIr)*&D5_+^d-* zL(3nwT-uLB1y}JhXY1A(v5a(1U%nHv$xM9_LGR z2N&w-pyJ>Gm}Pji)giy_KEQDIGHO|+WV!Nl&-@eO|9y5F3l?~7XKS#r35Jv*V0ST{2}@=a-yesfw6t?{{5u^NHx3P?A{z0w%<%bz-V5LU-~H zn{WXN#x+$h+%g={%pag}Zb{yL3xDjlUt<$0{h>x?+X8;rZ-7 zc(U0}zvqegm~~L5%GpyjA_uY=)V@b`&ZJm)*uC8y#%u>^$H@fIWKy?^weJ9+3y%ra zcw|!*wn0ZgdA}`4cQKs;T@>o=Z;p(oyor2xWHa6fXmH`IcRfnf(CA38)Ay1e5EzzzW>$_ywWOAz3XO{B;wWg$#b{n8S3*j96ujUnfl=a*m@wG2Bx>W) zSoxx5j{PbXGhwUF{ZZ`^s_ANk#t?kB>?49f4_{DvHCX_)#!W0e3#MypQ;$@=MBhHG zf~hoN7}l-=aX7DG)XM@bjf(=+AMZNc$(s-XCW& zBDiitZb=&y!7*^7`_86>B(|UCQ}EZA)47ALg05WPgmcz~dO$(4=&m5ZPr6rZ8q3hj zgf6Pd*Ja72nue{Ns12`C#{hxO6UQiztR9sk*NEo}b}hX}PmUORbyeKmt!BX5Deuy= zDaUz0r(57p)G5%*4F3zCI+kUSwo(0(`QO+%Y7F9)D9+6pRkrBst%!iLBbQhi$m`H( zm1gI9+mH^4YJtsCtp?_qT{!3S>Z<6Q14OTJe9X_0ZFA6>DI%|Pm6V5ywY8#i59(G< zWov7B99MUD>DpTU#5B2}@z5|jCopteSfVyX3I}M0BM@1kq;!AahVDiJsoX`TCq#^M zN6n0Nu^`MHlZ&PFthN5Q3wS}^886N}YSlp}} z7DC7^Jr75AY{SN$9fl!`Vk!4wXTvX55W99UULzK}_Mjh%B@;ez;+0e#daKTWC7q>7 zuj-a8bkK*+JdD$9OExCK!rGu8acgbxEr*7}(lI8hdDfS@i=fi6Xowup__JkZ9$z{4 z1?TF1jOh2y`<*+p+UACwUzSU!ZBX-^8k?ck^g&h5K-1bAOd6GANz$aLloZ{OTGpp5rQ+skA;z)kX>7_Eo5sbWRvB%ZXs}1p z`S1G3_F0rxArk^6Jqu3#X$&F1cmKLMVi){Xr2+znh_yAke5>s;*bJ?0vh5}8nwk+> z=5=>hHPP+PowGkqrc+`XRk3W3K9lxLoG0U3w5;hsfPYgYKQ-xA>uci&8P=Dw)A^hIX+F z+-|<|mAEjObELt=82hN``OVnC;&T6=3=-HVHC~+;y|IZsqWO11)Zv~ zq1MeU(;#5xn%OC^t+ro@ILy=l4i%InRoaBa6~+_)g{cg~#c4_UESbuov;`EPI&u{Q z^kxz#j*vfAxy<53VwHmlyR0&aevV?X8jvzbqG@EOP+{qL-&@z6GTi?8D7fg-m2O35 zfT9V(UF6Wa;)~Um{VbS;#;+XYK~;%a1_~p7vxbvYV>V>a%%j+0c5MI^1#?hDROt9^EOA7aB*65n=_)NH7UxN2don}3cK%9-sMU$T>|J$W^l_p z$cv%0`)B)}{gO77bF!nHc~>;=n#~lxd#5>%KY4eK4#4A5`)JF~qg~jn1{Y>`DBQs< z{1YJu(P>dyng}`DnR2^hLE+`!9ma9t><%RqD0hW%sDad7yFw8qk)5Lc`G|*&RDL74 z(wU=4B&l<{Oq+)zy>J02>>9JMAmW)Sxz>5 zu{fG{jXP1dP+N9$9^y^6ic@!%$k-k{HCDE#E*|>ApjD0@b*wRQl5$SMLd%zb&XOsj zLX`lTs#%j-ic9EX9c2aL2{cO~1+r2-k%5;ig=C=4jz1bG)>nzM8(-yMD zCUvn@lpl*xxDBcfkxfud%&k$*bWWoz%IwWX5pYly;~3-Vk^95OMqSs99C(Ey=1>I_ zP*(5-pMfnKC!0F11Ot1Hx6wu>acZUJS(LLa{?J(mExWu%MBBK1HTKRFX71U>R;3n+ zuK)0eWeis1cI#&zF%KXHxTo=ek#Qce#j#_~JHt!d+inNOkSK~g}(8?er(!7Hs4yyO+aF}taaTXVf<%m2sWgSV+g~+Zp>yqtI z#*CZl(Ka1b3Jm8K@iLp}0%CBBZe$4CxRY7U;XSWCBjxw0>ylcfNf}Qrepct!Ax*-j z$7{g3GNs(y<@%>p-L}mInNn&q9Z>hri4yE&OBaqxMbKD^$+O!aXLl{_A7CsHh~_cH ztgTt4S{>+nfws80xr93n%@w2P7XEi^pOYk5jn~!=j)HL*&Xe_KAHW5atL@2xaR?4{V8vfI%#|Bh@$xlfZdaT;MwS`?w=(uDX zN%Gq3l$m*a^~|NpL%(NXpu+8(Hrtk*l&PR4A3EL_=Ax|yE!n6T+Kckx=7N^2SQy{M zwUSnY)>=uXP?e8!nz4hva+D~U4b5-auZj(zr{m0T=w z`n$vpP0B$2Rf?3=g#N~(gD$TmZomX&mWbM1!kPf2&T_UrUm&{QTTHDgWhs48QBQ)} z<~D<1$V+k;cAV2fcU!rOCm9t|V$I?h%K)fFv5{?;ai-x-DVQ|VxTwpx*hp*9ac?Qn zBf$`g%w^59&g!ghfqR2xJ!jxR(;3I3e_L;)3t*B3!DP#6Iu^lZRIG1>lAC6eq~_yd zWWek2YkPt1*TdCn_Ux4Pqcn&f7o!e{VqK?kwcY4NxkJ4@GI8*#=vYJm({YK1RXHZ)j$ zv}-f@>RK!~tGVUj0E%5y?E}nI-n>~&7f-eShrKu5ZX3zg1z&|it5iS|ghS+omJR$5C}AzhGB%QjWkPCp{)AvLb%|h;p%kU^1Hm#dR%|)2myu5|yr)*y`x56t& z;aG3+Bb9#OqpBtXbUn19;z6Q)_YuVm=p?gjRIDC_=Z`#84p)?>L%;BgnU<%aU-$hk zjH})|(^0VQSz5=7054S4z?+Za&?j61N|c8hqu#`VX(hBQq}?{xAh9`-TO|iky@b=A zZ(ZqC$D!@N+tXt)pl1Y^_MZ{Z-})6dk(tQPg%PbMA=osXv_GZE70D<-h=cb?-&sCK zBxk=0b$p_uz-YVZtn~EQsi=r70MkV^=Ei~sN5Xx^4)Nx%Uhuj;ViYU_co|d2|KlTS zofj@E+XVnY{N4v+H#)xMA;(McD%Gv9RhEZhWS-X5Z~J^5Pnb{qGX*P*h|b`?MtF)) z)NinMp;gQz^(J9De;Y!YUazkRNH)M~R>uW(>RvRq`fT0dZS&U`Yv~oRDdd>;HW`GK zwMl-;Gh& z4m(;FXBL!2s=!Xd-6>NN@X;~GrKaX7!{*@=!|35{lotfKmHlHTc)gkQ5mE0YPuH;T zrR~mwe{UukZEQl?{47nd;KXVJY&=>M(lfQ*LOLlHYC<`@>Xv^4FR%guNI@(r1c0lF znBN%3si*nSJ$}K{P2CtZFd@C1hLO}1gv*^m&4e!!YfhgG*h@7iokGW-lo*IHtpgxZ zaLt8v(}r)x8!VYl(}q1QSuC`lS$UhGp?FYL^}ekPIjD8Dcmru*ON2a?WEFV~ zuEUi_d^NOYP-~@tjlOR^<}F7BURlEgjm|YVQjPjR>-!72KQKDc*LR$X5!3o^B(q|M z_*6x<>)@tTpfFXDnQEgX%~V%LaN4|RMoAL=85pt4f^$^EmF1K>A{voM!RslrQ*(}> zx5CzkCEjIl#mzO0B{i-Ye`vRa-oOS1R|%a-3>8IUs3>gdd-Uq09pd-YrCi(xo_`a* zQtdY2FNm(BDoT8%kKc;5pyfaO7s4#DB1LxpA$_V8JNX9$iE;~XFdv7>>aI?N*9teX z2+lx^R9tmqp-t_|ZCuRW&f^8N*#StHCQO(`F$OA3Rb!cRbl7^to!xY2giACbBG{7y znYr}LM36>Kb-kD&h^RdEiY!<_DgRNTyt8(eGG-f_ixa`&zl#W_D%EDc2z%v!6Pn=0`C>op9u)oF ze|KWwz6cdczyaKR3>|(@I2>^C_|Fjt9w7n-(_H9Y%W~V3?JbU@0n^=;w&B)D0wTNINWfSNvEUAXy6Q0||+9I{TdKNtyr@*}VTfbxtRm>>n`yqgU(6`O;Xh_9H(Vy?D2Ib!H1 zi*;#1RD5)4sAfYD$^fZ%a?x;qW@Z&`L~-VRuci`&X+MNZzl@owq6P z!Inud0NiHI#4HCE4VpnJ_eu%U$USN*TAh=`XNhKws9#IIhy;Lnv}pF~T|CvV*Qs(f zPlISYjw#{S0iNwjZQj)6;7y1U1)dPb6F*~F{xCfhlc;RzEHp@Y!>oS7y>~=9iqv&b=-w2{)Tf)VTr^wc2t=_3qqB#gvkw|}R^})5 z=zD)C!(6Qkr5qE92|GOd-X1oif!ix8Xvmpvn)b?E%i2(vzqMCYYNUqRszB4XkySK) zn<*v~!T^pUOQ$a(E@2u1aN*0>e3gr@Rm#Q?Z zjHphU1f$Yx#P|;rFCNZVJ#DLKK0R`43KmP;--0UYC7Cx#m~2c6ZqbtYu%{GJhPjksD{`;x0!qo{U_iWjO z2}JB0iPLiPWM znL~Rd4F0T4Ei*!x7Ms9&I?!%0Eg~bA+`vItpvKXt~vPc(jlcRV`gj z&h6|XNC(y#-=LC)+0ujw0G~?_fx0n)fK!)Ob;PQFLb?ZO9Ml}Qs#OEnYxfND zajC*zq9f0%`FAZXH8jMSLTTy6Lg{uYsicZoR)2;Wq`MIt8A3G}F+6?H|4F-2`7p3) zDw5)qHdjA|sAy@SfEF-P&;YGXYkM)ZdA=FG4R%)w#tp3Vti|bS=>S7BQJ`G)zFug+ zQ1UCbk?4q}juWcQI>U{Q*rn6pW${t<&RNxhRq$OihG|6W_^y>V4fw7zOVw}*S!OVf zchn$zh)k;$!y~IV$Rzq#u7SfEPp!DHGfGG?rJ+of6X`LIhE8!!(j6k`FUF##p5iU|qoiP)YLYC>7u! zlG#G)M#Lc)5l6GiV0h)o^Cvan#M~eHsfnR5I{Gh+M$94?zkymMs&J}hb+Cw^B28l*6ctbWolko(coeE6Q zi(LLZ{o?o|n&WBLcf?<+t1(P`RcFOD`nyxOX89Uw$e~b z&XYH6w|G_=+-@=M$r?^|#Br)Q3puhNI~rl`%~)azsm?k*Vl&9K5*TATG}FU_H9Dn+ za;nJMgx9Ma2ol^eZ^Y+do0F$J(!lo2%ha%WQLF3D&Sb<9(?Ao=lt@&E_q}R3j~O$w z44NOLi51y7Ycdp31JF0G9!ya<1|1L6V^AyjawWa_(vtO@ZelJ8oLIc;xsM5NmBQyw z+Lj74*o2A76i))sz}F<_&UWfe+!(4KnW(p;aCne68P)m`M&gU}*j)7(Hedtu%p~*V z`Hd#FJVq&Gq?pMJGGGSDTxO7XNTCuvs)l!5UG5@0=j4%dDRcH1IND@n&)4(&Vu0{hLH~6 zBT4uANOYWOX$P5Demmgy5DyFuEL)r7i=$bvk_L|8z!o*Q)C`9M9RC}{Br7{h6(>W= zWSG%;4M$T}hm9|uzDN*^hQS~k6n1@NOT@_L@Z*bxB-d+D*nJwHDrTro zpQYDY3b+ic3nUpaDonL>mI`7fRWmw1s;2L(GJ-)}0cmFTQ;ElXKJ$7k6~fqPOL+eM z9~@Q=B1p&sCy^&1VXvaR$^fm0lBJ{U!=I1Be-2&eX_3Wk#0LQ;faZgpqby7Bej)dc|KteM5X9*)ipjj_{#rYq$vw=n7THfPTo9Vl z5t#nMF#LR^$KqG^StaDYPCHUAVR_x^*biWPzkf3ZwF%BkjcpNd-9n*Ng2w`%Lgtjl zqt}h;E|Ugm;;QM-CbA;OC^%qhOaD3(0G?>Tu}SdR#Ea!U6AEj=Cu{0=W{#>T;pg^l zmV=;j57CCef&pfNQ5D>Ih17ti6At@su>jVt@(F^#f^H!T0Fwp)q9b{)90t$@ml*Xa~ zlv+vaXd%=JDk2fwnSA;5J1n~u>CzX!7q;d~LKMCE^o`Q)lhGg1kY8l-_mlBB%?jr+ z0j$K1s`s9Zqbw@YOh~LpS0p0}R*&YGc~m4Ne>{2?z+v4Uxn32-Y9gLP22uX-Ln`iF zQzm3ry9j4r-x+@Hu&5mQqFfA9?opp%npS5-Zvmhy%5#+A>)-a_*%cj)NaCE8*(F-<_R93?s96z@nfA{pGNgxPh# z4cjW4Xb6{REdsBVltvH(EU;j$7CpOEplgYeDvpk+X(;6gO-z$+sJDm_I`ZZm^!`DV z=kyZQIs%zjBI9T&Ybxo2%36*)mBGT2E9t#9&$V1c`RrUo5ksv)th={SR^$-hU?|cv zTlOI>(8afFyrPpxd5?NCvJ~a${KI(D{kL&Sniq4q;WK`qF<#i@mlCI!M^Tp0tg_;3GNMt3 zi;?Kvmum?gh4ve(zJj7gV3g0z6?3esu~!OatqyB-A)jP%AG^T<1m&E6kdC#)c8KsQ zcu*Ab(s26R*iT9gDEY-vEzIz}=|JR)WPb0DT(x8^V$ZPsUQ^?9|1f(Wy_FT3 zAJGw@C=^TJLUTecsqIPQfL79geU(+d&1e5(3X|b~vqUL<~hCkJ1^}Yi-03h=>;{wvPOH6lq z;6#%mb^6l(3z1?u*Lo|tR_pUs6Bbc}N1o-jBv`|%Ba8=8&V|WARUd(ebkp7Is<=eZLmyB|V7k!t?KSqsPjJH-2A!7` z-uNE3peNFgnEr>%_e>aDy?18Z&wu4vJX&6h#KJkB1A2AEK;_( zmh$bys{VQu{&g?Ey=;NJ_G9`bbh@o>YipymvF5bCT*pZsI#)$8?ys)i-Q5Lu>p_}b zuC8^v-PQc|(%Ih|N5xfZ6gsaqwu6netyXXQ*Y#k#xBhZ#J?M4UTHV{;Zm_#*xcRhtOecmwbpvDvEJDTHrIDr8$ow>r?VDpcDI79tsVBX6LfcY zfle>j+TLk(J5Yb4h4nj7zr|i-{b0AZ(FxWz#QR`#YqPZ$?Ck7xg01fQuN%Q;Z|mj8 zZqVJ{YHbG_8{4tF!S+t?`FgM(tpz*X^%natwAt&d1u({)?#8b>!Iq^! zOBC3=+6cNkYcF?#&7Ia-u)VeOq!;Y&LLcG3tZ=UzY^-m>j9%>oyE~i1V4HO)*w}{A z?X-H(RI3;CHg@A)u(7k#S`T{L+t1gwg6&~1*xcA^b>W+>Ua+>gg@57Kf9-95z3%jS z!PfeAtNXmS9c)HD7%2R&(`)r^gYM>&4V-HBU+hn-w;k+kt+$}|+HSD5v(Z``2D{s> zZY$W`T<-+kjUD(S*xA{=UF!zh8|y>%D(LpMg5B8#H=p-*gN@DgVF#<;18`gRBEcc9r|cN_n`TH6V_+c1iaV7uFE0XeSk{JORl^mf*tuWbaq z&5hgMR?yqryz1=)Tf1vtU#)e6t=3vESl`~f?FC!Ctt3u5=^q#h9ReC(!w!(%;HyQsLPqyz{Hcrj)GLe zT<#4V*Lp)!kqYG+9&!L&HHS&bm!{tG)x8{E#+QXCdUG z>fPPlX)wQ%1s?O~+E(ErGmLqX#ReuO9evDVDPMjviS84AHB9&~4Dp2Y3ZPUYSxCzo zm1w(iT5@nTbkfYQ($8te)zDDw;Xyn{s(Q*| z^DGpv%f^p`*AdQF2--&6y`MhaWq2!gN&_n#riyp&d2x-iMYWXLa`;TonkefbyJoVh z@S6+B46npra|~)-u+u7|x$Z$tgw_?o2@(KQ$md#pmok~ z>VNt~hu{yZwNjjwK5Hp@OgrqN6=j#C=sTaz<0$#;_!(&ClQbQJ|5z(YGjc()43a%u zW#pnS*34%+Y4{nGTWMU-aR)Q)_KEAf8Iz=iA8b*^Mgfc8tB;%c|30e2pFZJdjM4Kh zot5xEkCT$CB}7Xn1<9U&c=fV0SXupO;t&*qZws!xs`+^dio-Yk)m5iml;v%dwf;B? z6Sud!w&o4s=kud*%G~kM&&0`Tav75%O&BzGbZHJ;PN&0cPvzkG5m!Kj&J~G94m^;J zpxGL~^YJKr8M~hQ$5C+XKR*&;$78+E`0L(?-nJ0nE_8&yMZcAiI4bBZ8MMaHXhf6C&UsoC>2<%= z>vsP#Xk8I{c~$gV-9gLQ|7-jAJ$jKv*QAwa!%&g}+{d-vLT6WTsI14UfNSowesBM^ z_W1}D#gl>zT6c6*Tvflyeii8$I{;>N_`_-awf$G@#(A2JNESL>ht&_Ajh(K;tB20o zcGqd4wew;U$N4ZLBw@cp)KQJ&=pIJp?5(n4?K|-Ih~DlyWyxbOoP3-X^x|Hw3vh_j zfIsCc<3?FQ^Wt<>ERDTTd_K9JQ>MtG;b&gvU%jHW0&81;88k05^jCCOTjPJn>f)j) zqvh~Ebbt{!Vl_!J%oe;z65+q`bRy@UX;D3juG6p9)9DdpN0YpWF0<&Gk>2WW z@&R9zu@DbrmEw*Tn8b`#;6JgrDs-8qmoa%2jdMxU>=AGFIvVFd2bXDj8eGQe0sMO! zXl2#IXgtO@P+|2{q2X7txTMr|D-|i2vrr&V>6c^Lfhd@z(MN0BwZ+ z!hrMFBsA|a*#YX95GuQy?hT~UXf=E`;Mc_bMe-~vA`Pgnv4$o{YJtthsB4b&x+DrS z@>T%lE8j3-{IjQ9WhOvd(p6L;U|hpY&!_h&F;6lgeV_OTh0l{n?@dZG0>Wau6W5v_ z!6=sdi78xXeqBw{Us_65R#I>(XzD4<(=&h^nBQ2++;ivooPE=fX~U2OA@MO&dpAw( zf$-tu)Aa!m#)zNrwFXvpNm!<`8N-=9FV+vr)}*Uo-2o2gpa}O*?o?u{D~uy zuAPGKDQCXMP<73}POXo0q!cFJT6C#&Z|hTEbDZm^W%vjmKGTPe4ve>9D!J-)>{8u- zUqBNYBSL7>V$lJWWyR4|_=*tbdCrsX9EEsC01?E^J*MXN4wwvo8ox_4Lc)*rt2uiwt~?s_sQQl;aVq1<4Z@jzml z6fZ^$HkWHUxtR1JWj>G`$8_<-w2~kd6R2ZXdFqp=F&&?$Q8p4@tBxg+1;%K7fQ#Wp znqAA#6t#f>#(N%MQxaZ3#Xtou1vU?k2Tuw*{7e%9TJR!$%OM;cdGOb(l4Qhu*7b_7 zL3@YEjE6)-r}kkl8_-*ya9`uf{78yBLK4w#jxh@m2}g=(c!gf^;!kTtPpPG~t!9;( zBoKNspf(6Fspyug?oE?na7U9-ddI>=KCm~nat)NBy8LKzvX5-mEE)C{Tb8}Vpt8dw zPsvZZ?eocJW*IZEsE?xfGs)a3y#)O*XRALYBXQ(1AYsR;M&f4GNZe&m=Dy9+FZYPO z(GK}LAc(RAv|w%(WZ@u8D|^FG!sKikLI0Bf=hi~X580#yT@=QTMS5!2dOHn^RoeuX zwU#uLlR{7sBe}$aZD=PI;U<{^2$1X>i-;1C-VH>Ur78Q*Yo7gg`7(=c$vw+eEG#3{ zYUOLdAi(Y+ya(E&7bSE%O{1H(PJ_euK!Z0Ek{2J7QTitNF&ci($6(`xt=;Q(J*H`2 z22J~RZ+(Yp+JE_8P5UoZP5UoaP5VE&rhOSS?Y~G(``?ekWvizBZ|cDMId01EN<7Vd zj@wc%(%~fk018mT0ujfYJA5Yhd6A``Nsf=t`Quzt@W*#AU%*L#F1-#~goSm4J*VVO zWP)X&2mFOtt30|TKTe7wO=?BiV>fY~_t7nJJpb7}bBV)#P^3u4zIAjQ8&Nnx45MU7;<=rFip6;M@o&BV>+8 zZ029Z`tzsv!NhgpqTIfvOh z$7zz&Tf!cmRUj-ZraDQCzJ(5a>vEo2V$UUPB24l`H z0!ajC7GROr#4ASxUf#=w^LBgnNn~F7svZ{;TNv%m1yQX7+zQDl+ zCGiOV;?v3;p}8DU=DdYM`MAujD}9qnnxpMlbQBH!Kd0IC`ywi!|5bUXy6ZIeU|f0` z3|i|7$+9&2K)w_qFe8YdaJ*CkzAxa{Iskc80O_hx>CsW z1>~;vZen;(-F?vyJ2~5fnI8@d*LfS|1!)ymgnJcyeD@MO3*Z4>d;-a*tBri1V`$(5 z9rs(R6;{7U@dx+(XccJ-<>}T1l*>=bM>@&(g3X<6@Y5c4g00>f z_%m;Hd!3-Wwu^rSo14Ac-bS#q0q)S7yWq|oY;Nubo4fcgcqs2|Yz>1gaIJ6Q^uW8j)w}Ag2i@+@ZEx-QMzFE99b?yfYsc4}wP3Bg(|UZv?B&{j zuX-`AS*v#iZs{A3sEx%JtOgFql5}>0_3e$;RPB6TG2+#ZMmV&d_+@C=M4^kR2Y)RgEdN z*vA(OM&8f3QWwDl0Qs)RX+o0X=LoJr_jT)xk#{HiqJy^=AIHzKbPOVhn}C=i{aOL3 z!+Z}e$fmQe(N_q(E;Liqxs>`eq})dBNMY)(Xb$dfrm_t=r%T+w9eJKh4qX})e(w2H zGEoRgN*LZxAf#iQ4ZvH&LnGB1O#_a0`!vr{$H#R%z-Pf3G+_+>;lXj(6PrlGlz&)< zB(}zEdEdBhmtWeHW(+_8xhUjKsX`;s*D_^Z*fii)6^7))B|VP21&!P0F|Es1syx4< z@y^(r_n2Zt94cY}@>++7i`P6`>?(@W$_gjG_*JcBy|sc$Ry|>ZwHJg1*G|;bb(oT* z#RJUP3Hy(u$`Px@z>z~8)8&M4GX;9VS5tz3EW`z%>j~_#v}m1^76ISk0P@rMiL9MsvNcv9EZ7I@RV?bl{WHpF^b+Zt2vNG={qcOz_~!jai@z)gaXFB|^&NP} z$e_x;7H26#S6B~?T{7gmgk{h|ru#IVXj#>DPw&s4Toq@l><6PmJX-9z_(1!bvP%|A zY1U(gV5UNF;RKKeL=@f~y7VOP^v-+@Q9U|<>V5V?2Eac(bcY-OHS(tX6Is|Rc@Cs_ zDGa;nyqg@#SQda2NyF4LvkXF$ z1cFQ?Rxm=Nsk{k?b8%3msfXOPZmwKr#$Ekw{BU(TYA>()ENgmy>Rjg>a%DhMsI?B|GVzsi|fHnTrnvi~<(OL-<$N z)S@s4`_K6#jtMLs{-W2>C2PcO{*aMs|KiZib)F7gP#wC2Un0!XNO>i<$S05|aMQt% z6d0^Cq}ebgj)G5w_y6<%Q3XacA68%g-|BUKGl??d*uf~UV^fg{Q0#qW0M+0uSj9>R zq=~BHaq-M#84SP}Cxc~sG_rT={AQ`pN=bHA?TCawF#2pC--Q|iz`qWN9T0d ziAjVWs$WT#st*XdHeZ+d9YyZpO@~oVoG2b&MV$!-+Vy!w{MErX&Oj>_r*~Q@{AHBN z((5R(wuNtuQnt4AQk-1+_yb9U{mIFoFXnE*GehcZ;HxKx7e|tF1r#;5lW9Gt5^@L`;oMhhdMOrD9+DgHJAj>f}NLN-;IOXYx zMJ4b9FQnieE{;3JBvZyD>&XN^Th2at+Vc=Q%SrFNK<5odo%VDAEOk2j^iQg%KarUp z*b`lXxzioyHzU)hV){Z0Zp+J?nBV1r@lOsx+ESpY zhgz=Cs&tpeEIp_BbQ0^(Fi(vedaF374Mxg0ot~=psj{-n1u_|u9E?fsl(7mlj_IB^ zR9!;Su-k}+U+Zsu6e&XSr|mW@2&P&EfSh8$QyI%RVFiHrCtR|=@JrTDcx{2dKFGhG z@podUy-*i2m09{nxJkS}gw((Wrq{i`jORrfsW{KmyXjiFdg%ew8Jc_F7XSr`&OA@A zq72ccmAvBjwg7iK_#>r>>p1$&;mfy*<+pt|fbfJxW$&fR=Bpk3gga9WbnFXr2S}l_ zdIj+g7<61;$e0RM0Dy~3Pu#SBdGQ5Z_#j0#2$8q_{3;p~mJ~{+U$mu4p%{8#IUjzi z9gRt4CW(o@uUHBx;xUrRsO`Z0HyzYpKRFl_cCX zlJGtIcTw#E7e<3zyxJI2{ZKI=`yN9v%|v1ErG;30v9L~!N-RXq6$8S>Kk-Z)r+gDNrK^(FdpgXhNj4~#GCoCMK@u> zrVHG?NR?-hhK(p>R?AyMmGj~occ01WW^Fwir>ku|RnpR7<7Rh3V*=0zmfdP$&LP%g({+sO_?!lQG4g-hn$kJw5$_Kc%D7 z{NUtt6m>41bbdZ-LqtJdp8asJI`a|bO?$q79}j#>`RqnvDQ_{-D#Ll+-kkuP5P`=EA%%!Ur+h&`ca z#%FU1SAd!vPbENPn?hZx6#&bm!@(p)<*nK8rlfJF<2MB3~)D;=Meq=72}TmLQC3KT3?-PENX7_`BQietF2`>gCh+rKI4>2vx;1>QZ zFphymK%-Ac54YLqyb)_(Mb^`LA{>gzZeKS`f~G!zY^R<04Ip&K*W< z!?_tc323ro$1@`@H6loqQilC)5=8ZsH52XqYEeo|u3a4=7U%J8mJUgdF>Lw~cQJMo zf0_wMen>pjM_aId+|dAob44akO(jMXh?8PbyOr0uc}jkVS?4^{1;2MNU~rzsEFXXZ zZFH`m`nFE>Gfn%#nvj`7zM+jMd~@g~D&_bPep8KLhgjA_Zv)=Y||8qjy) zgRm&({=h*Cx6^mdG5-ogOtY*lFQdFbls=kV$`BpbWrsuo(WXUJNP^>`7M2S}$jU>{ zpN>TSo4yuxY;-JBd7b*~ZWcZl zzw&<-V@x#SdH(H;5%YC2=4jrE@R-r*y7rDCKgv#g{Ps>TScp!3MM#l%03f83X7rLK zilh9={P^fknK5;oAP@*UNV?-Mj+!;&ePzZD?VZpPWL5iP?GT8LaYXZN!2Ri@Lyv=Z2PX6kgfz}@b z>9R@Ezb837+duj3^!;genwPJa8VbJjkuL4$qWjuRvF@GbKX`jkY=2MJ{QrWBRRlK^lHD^mr8IjI$1L~x z2~NNdp_sWd$1{VDq{OZ%acPne4CvrDuZM^3Kzqva&ACatC-l?*^MAD9{ysU+i_Go9 zp41iA|1^yo<{G;P{T4?)WwHQ=Bp@TU+RlTw@1EvuPg`mMX-d@Pv3KCKoIdNAc-+`O zdDGN;`FD#v`RvWBx3HPAL7^k*?k#mXrziBHby<+s?RDJho$>XnluP^XucNH^5M5%f z&x8JH-ah&5G~W-;+U`L=bWVPA&VF#b1Mdg8oWQ;0l43i8MZ;FSK`a?%`osMV;4$oq z0I32{-Ulw^c!OUKRc>pDrUuTy77y?#rI7kJ?hPg6x_=z1RLqQ<G>E9rY3m96F$L8lOy5va@G*4?7Et-X1rz4UN?yhJ|+>EdIeiw8a zx?@&$(mj*bV@L^k&C-v$sXxs>(=p`NMfs3B#ma&Gqe)vJ|1=Ua;<+P)%^&YSM3?AB zDUX^aGbo-gXcdP)f?=M&o5UoqKatuKBJ^bde?Wl0_#Q)`x&BPhfHa3p`I=VmoP67~ z99{d3bSMYx?5)C7?>lnb&K^?WzN0C&l#v1TS$kd0`$H|OD3$oME%&C(sl)dzPdnOk9g;a&uP%!DBD*#P|%{DK$d4l-1MSoc!8l4Ica`@qB znj%tP!%GN6x4ydSHN9ACda>U0Vx#HBX48wUrWYg{HIC*AaVeW#s#-|H;yE}&Su0#e zv}wYVsA=)jrp0gSR?hfJ!&`QLYA|P?_mFTv?}?|X|lX>ni$uP^X%le{j(oXNaZiN zp8)(V{dlAlq~#bXq^vBv3Vf8_pjao5^9+8c?KV2}rM8!yj`GrDr7=-08!mK1F-G3F zGH>STHP7V5jiWG`70)d6SJ3BYdCKx%m2!eSak-x1)TLhu(#C$63n9Oxe?qrT-!M&N z=(Jj`mUQX;eHo1}V-gkatEjjNuA?t-JMp}7d0LdeV{}t~6DID)##)y}H$^w!8Qm1! zRHB=r8(VbK@Pg~js zfec=CH!zXauRB4vyY{lT)!Gd<*4X=v&PK4dhW~-AVq3dwFYz;9jaXbr?}eebQLw!k zY;TH)+ucq0bZ--y+Sv@c+b`FGwcXZku)P_t1zQ_ikcVq`7_4{Kf;9;I4Yt;Twe_`N zce4j|AZ&Yg(`Xd(T=k#~yoZR~?&eNsJ%Ge%o4@V`y^VN1*x22IpI@&xg5EB~2(PWx z+JL-iko*fe)(N`XE$GjB2l~^&uHm1RYHN@>ZFh4m#;?};1_Q=IanRk}f-gjc$Myp%T@ie&!o%d+5 z=UAI?{}j2Nt{!uZFj|>&iTHebHX98PQBi1K@0p2>#RchijN3DipnH)sho1qXcWGL1 zV4-Nt-vMs`nbml=*uAEh6>gmyli<6F2ENMi9ukD@Q!%N;7- z$$+A2RY8}JWsL}H3$dCrkq8K$D>@>-(wv^h<%QypK*>UhoiC0^Y!dGo68d;z*XscwVeC!dR23Ig5Ei)^i zcrXq5Pq;(zZtOK&JQt11J#pTVC=cChgw%Y>Y_uA}TT$?_IcagJK& z_p`d|@W2^;0-bjNc11B8tfCUJ9DnxQX7Xdz*Z*bbaz>Xy(OKU}Gq=gKR4Ut(!cWd5 z8kceAR#O5Rhi<@fW^1~Ac%2iDr-VAwr7#4C?Da`>06Zjs#Ab4eIW59Fd0bO~i=`>mL=EQ^>4fO2Rh*023xKa6B znZ}a_{h}=K3yjr61PrwxiBHea?`FiONqG)l-ne`^VD_g1s1*DawV*c$@=os(k_l@A zGqOY(0a))Wz03Pf&+#3=9q6DC`yL_*+Lr>%L0P6$thS@|eZTkh(}eTFgHRXYzz$7(1EX#O*FhK#st zbfS7$lNzmEthwb&tf`@_2*$OGG#ipH^(nw`9raj2`SHq$#7rGqG*(ejr){k%wAiddERv0eOPhXg48D|Zp?Y}W6+_i*8tg~-8EHI^-V2(HVaRxIFQTG$ZD+4 z6^rhFn#PlBaIbrKaJoWyJ{{sy$aTT|zDOLuOot5aR(5A;2?C|}v`&4#F#^3<5)Jvy zJ}n^&F$bVD=3`pR-$NmH56jcSRJ5t;JMj@zSilUe{^k~=hvLdxUiE_@NJ?)o;(20Z z9mskE?r+3rof38RPO!RK6trPyWYOvz&PXhp1o5zY<|!4pf!R0CsMfC5&bK6G5uMS&7MOn% zRDnHVW?9kFsH9rLl|Lz?itLR(qNe;WNx+ii)SaO--ysP^)eaIa-aM5Fx!#d{5qo0@Imm8NVKY}U7H0Itk z3e2Kmj^TgW3urOSO5qD%nKP4PI)3EwG33z&VHkYwutEZ}$;}+>AT@mXOxh}Dtl&_r zAg*DR2Dk(jQ zqo_DVjqB+znfReX1Zog4+DuZPVfoaD3#_O4$WJSYP%_;Kj#iwnnKuxRN-wIx5x%p` zG&zn`4Kfm|27bt|tDrKZD(j%UsvwTMlsS3pQ95rDgm;)lW2FtyRELAO`KEYZ+p(*) z`UP8MnOM3577i-KLET|Y3nst1(5$r0FmgG|| zijW{n@ANCx0Y2$-cKI&71OInnNgB#jI% zllQC(@6x-cahj97&`XzwPJmH{203bsnnT(>JP6C^n_H6ogzM}|7CjxM2^Y6foz<7C zglhSv!p7lI9ugfFpKG@Vdg>82^ing-^3Su`b3HRt$){*^3jov~Fby6XtCqCONZ0lW zE`n^9Tme_6zGD*0%F2>7&Q9Xd`_FU?&rxF)3LPqV7Qf-SA>c42aqK6sG2j@*?s^7x zqXAV~AtkR0p4BwExe9_RXQ{EGY6ak}dIhk;?DrlXQh=iqnzLb=jbQR1TOfenl~ND) zh$#~4=h~jow^^H(#?Q90((`>7+FKEwm2;{wQ%=pCx;PJzL28mI@DxO)W#Sdtw%dam z2`|VeEX=@0{gq8;(gb6si!qID_UcN*{_r=tBVQ;lKi}HE~UvW z@NDAj0(j(y8|HArRd!{KkW5XcS|reS%1>$_%Hq+UdE!;L0PEUb?Z_IKhRbi58@ZGZ z59Hw?d3d0u!E>tP(GCq}8C7F4eP|HmQrAQo`@ws7zyiiDtpGPoffoA($WeW@TKqWG z8)H^pV4;PY&_S`MsGkf9045Q|h%v1LvS)1GWI&)W?BFHU-opb~st^kM1^1u#YFcm< z6gAS;SBYj0FsBnqM4mOqD`r3DhqU6SO=}`Nw~$6{C$S1GH>ggKiuk?Xm1jy-YAY8! z#VhoK2C%!AD3AgYZFNN?{WpAeKsp_^G+}6KlIUl3NUFk-cukZ#NweHcEL$CkV=*KcZovs3-|<6A z61lALBpF_%84SAikTZB%I|~Z!M|DmM^|vX+^FJ_O8_n4lD%>1;&DYWB8Ye_?c81n| zV#Dz82*S)&%j*6jYR#T++0JtWMtMX-6)6N85_3^Kx5RTOBs3Ka_@TB*7@1*;R%ttB zZW@xG)-@iDLNf4Xzbd)uxMPL~J;Zo&?G-JJTsC%_4jgVU{;meR!aDbqx%!Z-s$#`# z^(SYVyG3ISVQ>(B7hF3I9tRM^0HLB(8n2qQ;Qow0v1k$OlPHBJxmAH6Zv=?Q0W-Om zf=U4+D)zX2|BeCseQ(EDP|P=XY(Hc@Qz%#>0q>iOi<}hw!e_dKeo~?rPBa?f>xkVZ z<_)0m%x-~8!<->AL>8|;92*v`e*3aG+%DBR%$*k9DIXRA@+BVd?yfnRFHGRNza<^|1kL)(uxZh=Y>{;jIgxDg7R znh!E9RR`lcRBbHu-8^h6sF`w^{wijdSEcQv3QUNylPV;7asrTf zqlX8|nf%^Rj*uLHatcGg260%Z^?LD2s(-6qNhzRX_LHW`PrV9Sv5vp~YR*zH{XI8% zTZj}bx)tz#sPp>9CH2Q@JnB^=%`n_<&Fc(5*f~!xCwWKd)JxAyx6s_+81?TtDV|R9 zBE5#xvLq|+U36R%G0*)1B4^ov--&pC$4AYHLSZj-h4<@<{o0^WRE80t6@s^)P#MViEfK)ni`-&M|uA*G})-j)#8X&;Sx|zM=qsXtb1IcCJ8pwsQuPV&s z^VKvX7a7T~>~1vtyjEYTJ4k9im<-Quz+Hs6k9+v*4HMuc%8cgnK`cHyi7+H-h<=6- z%?D`rV*vrgO2tBqj7v;_;Q0!kv%QWYgsPG)RAnd_1jnA$Y_XZ_`q*AgsDZ zolL7E3S^~nVI`W_BF-8dyNhHa>`%-O*G<_Oi~pH|d&HY@0XZqe+0}QVNs)p{o|ta2 zq<+XDw**j&AMf8r#g%)~^}Bxe3?%xBLG#xe3#xlVJiZLf2}8(ll%~Z&(oe)&d9Gm^ zb^!z>T{{@*zB5SIrkpq9nphG7o{Zq(!8s>rIa`3{n<XHfLezMCa)(aR!FuJZltMB9DZNka(1n zT%p9|Aw9@~3q<+Pf;h?xb(WuW&+L9ZlGITsjr?g;^yxv~&)YqJn2rHAW-M zmD`XC1}*^Kc&@#6iN7WS_Ed>q2_TxN_u4V`N5u zHZEOiK(ctvDujxf_^7}h`a=2DANhust3UCpI<5W{T*hNTPH|Xt1PbzHs9YV~n5o-Y zQk=;ieR#OqOT8(0VA=d(E|ouwc2PiN|2R$Lqz_d}M3?%P-r(j2bFL6S^K-O!9N)N+ zUw{WR=5}PFN2FnL3h!hs6{Y6pVww3w%slDz${NI$NN0dEoA^pghyKEf1-8>p4@r9u zJY-p(NQH4*cWM53Q?)h}b1&MIDOMzBZS<3nYC(11CY?-DvIJy^!@Pre=wh&14g+2< zj8($QMO`uIg*#%6@HgRzH!=yum#@M}JCektZG==?j)_=~t44B%{db|V3td;8wJ!BF zqhdFtY&T@E>A?dCw7M%R*SciyO|O~we{I^YpisK9Lc=fwz z`;ZHwD@!tlcgZ!`4l1 z=%P*z3iQB(*k2EA4qA>dHKrs?PsGy>=H275e4?j#b4nDTx0WWZnm^{3X1+qCeW1`S zpWOl3qs-=9M|~EsjJjtp%K*fJiIdu3XqcQNmcg(Ovpe8IBl%}#Bz!T2(+?l0w%UKM zRM7kwD+m8m;S+~96ZT6JwFur+_+#d@2M@sP?CEJ3xvQr;)#L((;ErhlJ)WRNYDh#Q zQXGLRkgBU3TV&C;mK5c03l9&)88)_e>75jCM59tb)P^}@VC;OEH!j{xZD?4#Ix<$c zo$~A3KW1Iu7P`BMOOm=w)Gi`i9l*Vs^cQ&bZMyA&N&XedE{V7kiO^RT2whaKXG=@P zoLgCwYSz3$EqI0FIpEZdjqBWLa;a+yZFjXaRO3+SxW?oF_;)Rwn}nG*oA5V;pec}7 zazOj3lm^H_+Nbht%!N>!90QD|o_4;rf(P>8>&t^oO0Mz{q2?hnG!IuzgiRX?7G^Ny z(2v_A7PM$+TZ>A1jzn&l$)gtRDvTPm9{;>?ulxz>X)Q$eUzC(EM6ME1l3LcXIEI^? zL0n)lBi6^*YFY=Aty74gi@v0l`t_(nAz7ommNpaw2{sJFTynfrS3wlVkH5+hxq%J} zwD|B`nEj$5J7ylb3s^$E{jLc8Go~&wKG;`RLG5wYFU)}0xa68WJs>u!M9q$Dg@$Tp z$hnOc5}vQZbGTc{Fo;X`d&q>qm6fZd@Uk+ti!g3a!Y~}kJJvy_c~;A1BHyq~7SlFF z;s}nnvXY@iL`YSs*Xcbx!0XAFzwFv_z~_&>B0R!gu6M2tcB@FTOrv9X?~hhiAR$le z*?Kv8Y%eG3;|E!L)K~X@^RCaukqO-8#WG)UTxJ4@{mfb)Dn$E>@RA$!_=9U%!4*0$ zC4nVEzM;Z=4gfh97IZbyT`jaP3@1!Q#h(Ca744+dP|&VdR<5y+2kf7|nTI|(*8ME$ zvB>d8kI@`2^Oe=}f1^;KaFG9y|bqe_CL5K@n8wq_>LcQxE}!z^Bp?bgEP*h{MG&DN(m{H{8#KuQirRLkDW=y8KIEsO5Stt`FPXfQ3HN!c-e(Og?>WPhQlQff% z;#77ho8ETMyiI28HpyPHc(+6gq|c7s%olHSUtNDQuTi|yjp=o(d3Ib^lW9APA@ovk z;h~T)nZ;CU#|Z2_c$U{QqNkRa&wO76w`64&7K6OKus%uxDf8``|F5`Rg@#1z*eN$P z`am{d;VJ6INm4VZ<(+IV?exBVZ_b&o6XGXl;qZ8&N%0GPz+_FVQn?-Tg^7p?R92 zxa9Rc86D41T_^MH78tT6HR2)(ZY@py!$YD=>YDSM_VnSQR*%E#fC>!e_=O7z1#DN^wv9^h^Q7 z)0|sHQttpV4ayF4eiZ+?{HWoiOy+YcGV|H2LS{NG^qU7_zDT%7np?=6 zS9PsJ$1}tZ!!R)scYq(L+05nYxoxl9ajOj^3+U&()XUJ7qLIYJ%qdmyL zzhj;gu)6)2@R2N&icW~aBZ8#R zU}Nww;!s~+ZA(4Mh$2Fv5^$XtUcTtsp9uGs(eXDse*Qbf#BbXw=QrpU`M>dQFvXKu z8)6onA0b`Ws9L)Xv;5nKpi!Z90+)6)oyOI%F*&ZLnFJt!S|(39J0p6*voUedXOL-G z#&$H_=XVqn+GApNZ#s-};xIQFr%%HZ;cKn=(rDi9XDa(_!jhsKz-h!CX0d(rw;y1$ zO#INA{l4a8@(ibs2C&SAo8wI%HwbGZvM<_Orfp!+1YG$l;Z&3&OE$5xqW!Q#$Q)=T z`m}+3YYT0{;G~|8KgLnn8USl_^p~YC#~7?6pJ7-Hrc#xd9+CvFj*VO^Pv5-!`0Dki zS1(?FI(qT!!}CusUVnP~;vYY~eE&nQ+g-h6r8Qi}ir{krzeSuA@g5%d0~V1*bSb=o zCwl#qC!owA;SHn${E$8aGn~>99lKPAc&sTO6WQi9I6P%Rfhh%rCzJ;Gj0i5(;7%ip znQfN!(9m?z+Qdjnb8YPS%Q!uc;^2-Zqx6n(t?TimAR`7gSa2k$^YqJm`jsY^;Q4os z-ld)M^owH#HU1o@5uA>gpx5gd&&Ci}m0Z3g7lr-JJJ9k~Ua>Dhog+(=>@C(~uMJt+ z(jy)3(k3n&I*h_Im6J4_aWfZ&&?y)le;Qqqe&VABp8egXou2mbb7Kimy)aJi++Nq` z#Lo!-?Yp0zzIgxQ&1>z5yB`zSr?3pkg9S zi@i{7zH`uKVyMJ^nCMRvsd&K7YY>y>?q%*41$Vd5_vw>k0}oYZznVWH6Q5}5HI@o! z{yKWi-qvEG2?jeW1j35WR8MDxAI4COI-;xI3kfXk{KbJht%zpLAeKHI>q$+Y9J|ca z1?uTuw+jeQiTotY9`Z5jiM(1CZaaT* zbUyH@GATL)l$sOi)Xo&^n&qP~#sn-zdN3U8mrI%7%7xw~-YW5HEdI&+Pj7#E_w=XN zAD$fkr0KC`=VgZuXur@Bl8H|%IK6)zcVm+O-9ntE-N^ge&AhK|;ciD&#&xghMTD~t zWN=IOiV2q%8# zPm-5#ICIS5yvi;`F~`sS%<%aBa?H_{?Xi$p^$@ccdbORPn?dj>9O%r5xzZ4C&f#i) zLZhgk42r^j;(SS-cXC!*zE{!vs`j4gd=MMgG67yT&Y01s50%pkn~~vTz1#=anTFj>Dc9t@?Gg+=AHTY@Ss^&&pl;}*yZ^ti=ACY}ayAO&q zR?PhXa9|*dfn$W8IKt_u@|xY?%ep8qD+aY1PFJxm6R+y0p0L1aTGn+HK6gmh?sh4| ziA2k(01>K`l2WxYkn7=zm59KZ5fPLj+~p4sYep<5P8&RY52Tm)UGy(y>{C;Jc+;A0 zMOjbufouQsb*dsEJ^qMf3zwq0H{7oQs|jq-u+B z(_PCo!wn-@32urr}>|qbW(KE ziw<5j9rVfZrzs}O%>jSF8sD1KMBSQd4z9@HoLpP(q@7}D2V2;sY-Pm-5Bu)J1N;+t z-t_%3Xok=qdsu;tjl=9f9%GQfL(bAj3-aKe263re6qKj$kc*x@uPK1Wi1&yzU;818 zC5U0yjRd)j!UDaqh0{Z^M^{$pUO19Y4#i%WudL+oh+eo?JjmSQSK&wP)Q`QvOUX(BJT2KnAWZ$5(u}T51WZQ4eBsTYriqMB)IEYHC&ih*&#Q)+ zggYZJ!s}uv5CPP?{ocWp-+%hFRGv9rS+tqR7oCIB3+_E2kD8Hx-?JknFVgj93()RU zJ#?G`@@jRRs{95?*)#pr>f4bKH#px=9q~75Lj1LBP&g!sRG9q840P5dp$E7q{jQYr z%L+6{;j35@d%R86PMy~yqWW1qjx4H#nhmw>6YKkG1aT{%$=sv$iI$NMaT{VXBslJ{ zJ?iu{7k0o<3kxPpNB|FvzUgo z(`#nXtV774v-GZm76B`dE?8zRe?G6SYM%#6pvXU@uOR%IMHJ;9(hnKEhM1z4c#88F zfSi8SrUn$!U)do~QPC#(Q9ela!)%ZMRvMAMNy-Z%F>rx6*W*rH3=Sw|2Zm&b@Dbvb zZ`tQ~5C8@Qz$AD)8UX*+mQ&**i?R?q|Ik+wL#xaQehuB?vrF0RW~I^~3b9+=!m>fS zAJRbz6V#}$*LF-+rWbnTsCUL(%Jv{GE!*#{tk8D0&nHcVI(2$%+Qj(*EGX5MB;hd} zC+V3oCZ)iq4w94JSwA^RA%eqzPi41Gs50{oGB5&)glc4F4b?5^&w$Lj71DMFY6`Sr z04e;Uk;1Y`3brs}I9ApcA&L1uqK|Zvd_+8%qOpW&pmL0`L{dq}9onPbJwk;8i#UmfC3le*0Vo_w%Ww&eu?$m0iBj5zsrZ1(O}&IspRf;x zDp+!F2>U15ABy{B`tXn$xdH_gsQLimanecCiACB}$pj-l-8i))ZEAl6|MwZwI8u`9 zB1l*ejJ-d!Uy3Ge7ByX(yTS;+{}cDc3|O#7dq4jfTLuEb?IFjRjJ=0A%*L=|%f=fT z8!t9Do;qaPdL?Jd=(+J6D_26PN*3YTD1_dKwlZ+D@YZLnZ7-74!cF(7N53XZkFQ*IKc}LKh z+MRb~>_Ov-Fw;|e5rEhE-Y3=FBD87kq(n1_5?!ZtJ!LHuMCJ3O@v?GIw0r#mzo03b zj-vQ8QTQxE9V4zK1iK@0kQv@+a;8qsYG!F*Sb3Ti@0iO0^Vk;d2YP-OoO^~&XJ$An z5W%t;WslUt=n-LdcGT4DP8*%n`pCQiEcSTT7wm0ghh}^9nJ{imGtIPiB0+F1zZo=el}!f8_qzv@GW>`eUeEQ%$ICQcs*Y(_c{>ZHgp$ zQ!f(eo#+@C9If=2Rup5kj%15NLttObv>y%K0liV#_?Az4!6u!QMttC2qO<{fGE)Iw zqIJaHV;wgH4>NJmhcJ(Pj}CGZTcKGqt7k$5dPT(*cn(|AlyL;-Ot<;|DEngcgPDB` zX52-^Y=S8Q6a+0d6QY-gv{#zKZqE>Qd!@AEqZ0QbP9a=>Rr7BsI>`^DE#}Q^EHN6R zI+Cj;PIIA)4}}OdT+Tf$5M$qL zhyn-^QZ~snOGg}L`yp9b$@W5UVct&=k4BSYI+=9kCSlYmcyfr`pK^RMp#TKUrI4{R z04^%_8CcVZdyWpIzYz^_zPSHDSl|zyM6KFv)Im&1PKL9zooa%=T7pW{l-RC_3@4=2 z!XYr}ni)JOAyr^FQ5|81t3Zi@Y)ea)eh@uPMTU;5AvouHpG2hJ5PgUa?6^pg*QfU2 zngL}YsI;EvFss~aQ%p26h(aP2jHx$;pE}O$an-7fQmv+QWxu6Mf(#p>-a)6=@2RHV z9XH~i6f!})XUk$oYOhn}Z3Ob4nlZ^Q^vAhTT656WOG_^YHwB9KesJ?n)b0r{g*V?A z?(*W;8g%#lIFfM7u?nHY`%@xOq2q<2kFhw}FC1L}8m9b;UKAqWXnGC!7+gK>;}6cp z@-lo5=O(SGKr;p#Xi#y^p4HVSKLfepWnBf~Hv)HHJV|1Pucf|26Q|-v|FaPt{)dbX z|Kr~r9sb9^E;?L+G0L%u3x^O!Dzi=WiwDsz9*M=-c0j|A&~WBcU)>l6DSHYwXLao; zZAV^1vtpI0rmX_}I(}|w(nUJ@bZJI}Mf`yvJWHK{#MG2JZ;z89JAmb{Y%9#vi z)Y6QbuSB(HjQcQBI{e?5l>RdVNN2^&(m99;MU7MG;bF}>nV}L*L@oqB5{fD*xJ#DP zSY~AEE0J4sIXE-1^oAOKUJQ4I5yuIv5N*K~XeF6NxTDIkd4tE5wr4YPN%MkaZ_~W^ znSSAly5nOJOQ>KjYw;ViLe#iwjHLwD1%ETx4RL1qxt6eaHdK{Dj6xWSI5s#GS-NAf zu2Xaa<%hJ2x&j?mtv1Ax^Cvuj&0AS<%@#px0Oj;&LQ!pe%1UMM*}rkQ1Ke4(5VXef zkTNC3iwNeJ3YWo3Qg{y!bU?#j)Q_|p$EATEFY_f~v!~BB4gV?Jrm56BCzu`2BB7Zc zBEmlAGYazw!kyNkZhx8a^}in*kyje&BZLEdHXuonQKG`!z+Ry9?q;8@)IiQmn+M2G z1Q{{k=tTop>2XYl#7%ItI$PnkaTYORRBP^{Vmz7RT2Ywkk?n|t#vE`WrE_MrXZ zfH1Ra8qpZradNPYJyurDB}`{%MH5jkaZ5 zthV*)`TcgWfd*A>Dr!>Q!A{<9DloKQZe6Q|ffix9r||7zF;Fv;w)6c+9gf<_mS;(Vkz#rRZJiOlEtIzk{!{Q6)rEg7b{rMUwd1H*{^sMTe*7$U=FpHVyS8J8 zvFdVxR*+sn>Gr)1vBPOfLprY|w|e?%=OJ(0TUkk$@%XB?$Bc=*F$)co<@y;=NgZeN z$fYxwdjgX~F^)K~ah>EFKAFI9W$=8+Y|C92k|H6za0B=TOTeyO_lB|pzl8I%(Ef**uxVCgd7;Y&qzO&3Ujr>ALb6*Yn^1VOSP zJUkQ?Let>BmaEFk%4V$%-hy|K7@JtKtqRvtjLM1xzyir09+t==QS~ObTQYeZ%z*v1 zw5X`Y5>UWbxMziDO66~15lsu*?#J{*GbK~}X0^4F1Ao`x4i-)gn=D{SsyN6ejSlcg z50FJNg<`KHDIU{3*J$L{!u>|%)>Q|cl=_C18g!8~x zpowvr(_0vkr;%c}OGUFP)GC3%L0?07;Ph-`TbR#s34*)L?{Kx|ZIrc!%VFZ~tZ((a z0sM@Y!zoR`CE>&UnDm{TCYLcO(gY)zKSY;~FV`vWPch+UXZV>oOyDX9@iIR$*!Fhd zfoz1`P~bbG8rRL!jm9Qhf$nAJU|i<)H+=)KQ=n^CkBk+lv?48 z+)QW&>n>txUmTy6Gj&*>D*1WClQR+Vxj=F?O_9j6V`}z$B#~U@TT3hX*1+_UNSRRP z4V}{Die$8S62}nX*LRlB<8=6$Ig&Vj6vye^6SYPsrWv@(tiJM80aD z<}c|rEks05trl)OUJZP>NK(AH=sU|pk-wF9PBzJMTh;n24J}e+J~O`U3yTvASz*1Q z0P^HIlkqUh3&+Eq|K!H?>~EgxZ#aa?v-B?EMfgtnkjhv}cZ%!Tp8^w=GZHmT^I7Qw z$V>kP`lpIixvcjUg6dnztn}2FV2}L^JNMY`$cdC45zL5pLt9+@4&;n(SfNk)I*cr1 zoYOSqxqfud7@hL2jhyeRf7LX!+Zz{J_h!7kauy=Od7b$2#x+T75#m{(QLU9n^iI1W zU_-C!z4M0x_~>m$(~K7Pedmf^>QlLBw=G{=sCm`2+$JAVCDV!KB`ad9Eq>aTd`2_V z&*WZj3uKS}<+A3fST=rO(Vj{TCTmD48@{Edsx8@5Wecr;pb&|aSxoNC^vj^8TClvx zy)3F+Uq{I($KAuPVILTy1A+4^DzRpjdzao}Fgz>&4wXg-dD7>ZZp*p#f5h~`_4+)m z@a+2Rzy(Ye*1{XT1(rKzkp>XD#nJ-LQfp~~-A6x2#tBu^W9xKjMFrXll+Nv?G5ALs zuvA+m?6Xf8cRT1w^z;lA+>jSce{YQ+s4)oySiO}@73+P zdUdUIHFw`+NIJ6{ejtXH?s>gx7$+~_c17|_pYGWtNS$8l5;Zmb7PNS;cI z=>rcl3Wj1~>g9y+ncU|^mVPEo^>QAw#~0~vl7Gme;b)TJi!pxzE~Jh+ndBqm@DW{d zoj5utvEv0rik=3(D#w1ZmW0vf_vI-mTmSF>)mokwC`y30{lnNRHFkG5RDA2^;pu^b3ojt5p>{ zXHLB`Bgu$lF6SJ9_&LbjsoeX|qhu75tY6^>zCMTj+N}CO^N2mGQMS)8BHvs*6`A9^ z{{PqBx30%+TkZbeS25zJs$>m~HE!%ABh!8y*^V9g6kB$xs`^xF2GTI*5Mz=fS(bPm z`-1k3?Pp=(Opr4=Bu!gCJy=76AP6h~3+wQ{^YjG-xhBW-vD#5_7lNe^0?zf1zNc^# z4Mo3C>@wD9^DHHK1d3|stMuN7b|_g)2++ABfg4)1_`i^f)LF_q5Vq|L#?D^Ag&>&X zkJytC(`aPU8%ZDO?ZJi-(e$T*Hlnlp6(j~w42=zgw0sRAw+NrEcY`11RRuwq-iUji z0>)6l`Qic7fUi!$;zh8AM{yI=OLucKE!b%=q(tnjsJ0A&^hsrm)h(Ns>Q5`?53ub9 z8yhC6s+A{0jV?=Ls=JKE|6D!KZwT48ywkti8%zdw9}VD-{@or_H0TY!@7?L&JsI3htn2II z*JQof@9{Z*@I2nAGKtn`RdxK}+n!ncv9|rn2T$$W6fA1-ozXa_|M5bXM6_E_yzOnj#GT8X={j=|^5#i^O zgG;-V-aikP^8FYwzy^n^)CflC8fmBn+JOquLRnP=n^k|F!ohgPa++696F4=Uc`RU7 zUW{>+=5fkqNrTnwGdQK0IM=9HXgu4b{0`q3z}bkqW;$Z|@bOunZ;}M}P#Ol$dG$Tv zawipIS(VPDTZU7YZ8B5SOUu_Yn#&V8hUy6&70+fLSFvfcB&QjFzdQrT4DO;orWrlv zNUBO_hlaCAyh~mcZ>jn+u-oo9)O8E4!6-Gikm?J!ZCarHS}Ql092uHYT8GL)FSdB; z_RcFjs&f_#?C^jHQ>+-pSKO!Lx6G(PzzaR0b3_D2^?CU^7e{*{-$TJ(Ua=xjmpWdW zK5VgH4qMHVu2f)ydfea@)mMEfRz7UArnbBk4Ry=C)o1xs)jp;ft*GkUKJ)v~Yf$&S=~6S@XJhwOij=-r`v9>@dYuZsce(51C1+2&BSs4p z6v3Anewby&w8J&ydxPbfX_a68{ro9Bf|~NI`=$&cvZds@ZU}#qNVTDn6`<@Gz;W0L z2rZYj{E}9a7in3&M)1?H;3zK*4G6!rB3u)quBuabb*Yz0eioL*xJp9E^R9S0Maia^ zxdh?et}mk?h8hENlqoF+o}3pW+Be1tBf-?IUYeIxl8=Dxjd)cVLy;-!g=4dH zcaz;S-Q$fl$6zG4l-1HfBfsHMB5D+t7__~F^!xqM{?*3LXclp`Q9X_&H!S%z%eonI|FpWK|&hLMrlSNQGCgH{n`%F(Fw-Y;!D^B^_QJ+sccH z@4}ZZJVES);->~o)ax13N(-P;S&@1OqHjnfgFrWKI4dIoIbv7FBP_h9s4^0XNc#Tk zT-+i7kF9`gIIQzDttLC*-w**jserBGj=nQ+^bPKQa}PazpReob`|Nu9K6^cVPlTuM z3_N|Gm8b9VYJBGP^zB^wM6FUa7lvsPh}677;H7DRM#mMIq3sEpj-;y@J@f6mI-GN z4%?s*F9{y9M1r+1=h;qm<}*WPY{aczZYyKDd|D*Oh_HD17Pox5&8%a+y`82ywNoi70Ep2T;8`(suX&Fu7!L!v7t|#ik%RY5{4{eTlCZ zx!2fW@uML87T`BwK#B{37cnS^M~j7;xwt@ti} zg?i?&v*!}UY{GG?^tJ)G!;fDk9+dRbDjtxd{-R7(S z48$KIQ;>q;8m*pY4ruCc*4&QOuydb~St@26ep{?7?8KO}2Bt;zwYZprYNHke0IWVO zQb@G|*bMu~(X|GZ$_Cn=C&XGwKDm#03-;g;yqWl^2M6#kyy&15ujTAliW^ny;NE)6 zy;7q~!aJ;~k#K5XbCb&0DJ^+iTePY36(PvSNlB-W^D3wnmTNPhJY+N};JDJZyLm_3 zjWVz_c^M;Nqk$|1YU^wqb+yD6VWKMSZS3oWZ6=i#ks|`{d_|Ljmb$ashN2bOq>NYC#RcoD=t9ui#WJYRd3j4mrUC-Mfd{Su z;EgYHg|$8_{J*{OVWOmSxUuh)bCR4B0KXaAJtIa%cO^xjEj$s+J}VZEN#z60+K2@D z1T1HAoz%*16g74llf)3zM{7`h3S#HcY@z6;4)-}TsD!zqtdkvWhG8}8se&$M&aT*8 zprQzgIK+4O|i&yQZ`*%|(s%T{qp7-Us z`qseEl=R74mcU=C&?q)3Ps~+b5uoUuhyZ&ja@`M%JwO#mh$N9-AJm%#9KZ|05A||4 zDi=W&j>U;vEC6!O@__)W@|&cr=r}A0B^meRaGONuer^bzPc>&IJ;%87e9ot>scK2S zXcsFEb#hd@7JP|9YL|$krvgBBqOfB%X41=54l`=FHVm?e++eRsl{m;zOr@w;gPfW| zVGL<%NKQBZP%i`HJvR`!Hv5qmL^T)miV&J)y*@f0$6gK}MfXM5^>=Ch)OD*Cr7k3U zqd%4Vd-FdP`-<;$@{sjM8Os&a{UjQ4tUN4mWDB3Q`-BxaCSySyymDlKeth~A9^oLW zF1EUlMVlEaI7eXJVqW~~Bdz=Bxc;T_za|SGG7v?K=Z<6Dq4(!&YjcSRsyq0|9;Ew| zwY7;XwWZXsW7qcQNER|k7!TD-!FjV9=41}*8qtkWT?RBmT&+85djs^hQT&4pR8^hYtuD}Fl0IgH>Kc zaQDPwA@biS07A+RP04wBoU?-dGD$01&XN(;pl)WzxopDtM%qS&m-lHtZoZB!`#Loi zmKDXhk;*hQvwMCY)>N1q*Q-AJ1@#_NAEMQYinnZnqSedy{k9+z49^H?b2h;AA-K=vZ zIH?jDMl6{#rOi@&Y${u(Wvsy<`~p=Z7;gN#1i67OIz-S}2V#?5Kuj zn^^n{veX%Tm%2rQKTAV)wza3Q+oP4XD1PwcC*(SIn)an3ebp^0$ygdr%UnA$9spNx zbw4gNCg^>(ww6AKnd+X4i$oY>K3v)uvrW%##1`YTW>N#StZ7wAih`YP(=#*3N0>w& ziCcI*B3zGjeFKbW!Lsexwr%T-ZQHhO+qP}nw&#p(`;4tO_vPp3=jXk>vy;kBI_cEv zN~f!<)(X~#ZHQgPBbG_QVYL*r`X}r7%Gm~kJ>wa-aOmL>5{doi8gLp0kR1$}uj%YOs#dH85T5^Cv-+z11v!Dg-g|XUXE34mlahNs|rK1L@dthK@X0!Cj z4}2F3HLOvuh&^EByOZo8h+64TRj#eU{bl7BLiUazrP|1b_G^m7{=NMW;zPAzly&S3 z8oH|yXy$0q&_J0cyOH=Yy8LI9viwJoI139H?XO+P@z4MQ)9NL)^i)N<@2F&#{kOt+ zz>c92Z2eCgV!b}SWK*PdTxt6KeUHg_c&;9k|4rgUK`nNR?gpaQdPz{rhM_>knY!#V zNFl6%e1?yVqGdMIhV|WeX+=+4xH5DnTo|sa8YUgPhc>VDbMuRny_&Hj#aO**~b|T6(lICE%k0=ZI~d+?e=E zwso|`kn)SmAw{O>nst^Q0aa9VCQocaSdZV&@paVxoCI+v1}sOb?97$D;g-PkFynEJ zr;+8@Ep}Yb4R6;Q@E`7G6aFe;g&u-u3w9wiW@PDMa)AMHilHk@Il0? zx8-34aQ@}6q&&2F-kIbY6nnUZolfQMdBj@}iadSc(&L8GH>PE$OK0~e2}=$QY8c#2 zquCFPvq6mHMd}iwEDB%d$iQs|zA=f3L{KaC-MzgY>T^ejWPR*;phMHW!BdO&-q5Y) z9<0pJw=P!c6CdvCgFutKS=+nq?c;dKk|h|syXsm~|HiN;4Rt7}Z)4Q25G>5ikK zjM(S&45Lg}&|tNGzF_O)PvO}@Crn#=Yg>02>&g3LjN2PBwmVg%e14?}-uu@raLn`% zhkTG#P-=2rX?8D^Il6{T1M&JZW>1+exe5Z%(U(uEcOgcKk0=_`_-C!Ti5A1K zg?LWIVM=Mkxs^yK;3A?)M()^JmtFFQIFDFo)B@@?u6#b~{d=0?iu7Px&h{=_=h-%GthsK8r8N@6L@ zVAa&{=)fW~MWU?BZDjk}`!$&h>MhS7b9(V6F(w)!&?^LB0StSgLrT@R-uAN!ufrZp78EC;uRCy((wu4$332|^xM$Pb|ouGLulA4gf z({W99zznXVI#xS>Qaq|pS)nP2;b@SalAMsbML|GErW=41C917Cre>tr4z!wplQX6` z3$e?aD4JOayK@!cNNXfM4kaSRW@_3Ferzf!?&~6^?flINn%{CU?HYnu;;?&FnRz217`aqodHi%E5d(o%{+%zEG14Z+Af7 zs@*=UyC5Irc0fAJc0)SchzM@g#Us2(lMa71V*Ommgnu;1$eG)IC#g8rOS-B~T&mm~ zq;Ttzu2+3|VlETKYfg|qvHnBX)EdHgGfxP-CzD#pRwEspL@TG1cMQlpI8mm7HJ~53 zrDZcMD4`^9gNGun)^eFyZFpDg8p zGAw6|&te?n?{RrSL7FTtaFXeMaGr9(>R>jCaj_vPL$~-2=9{ZmF1d;HmW@@po0v&xcCcyWm% zb;v67REM^tPp6C~&W`Nn<-l^EC!yX+PfSKi4QaWRR%%;Xg3{(V+VQ__-nL)NCwg4N z8m<^9133fS3s0wvfzl!DPu>pCRE(1V0f~XwCY2TGsC(J=v1g1MO!p_PaZ2$5;wDJX z5)6J${hK}oiP~=If0vTQ;GJd|C14yXXtffh_)wmjgOOqGWLi~Jw+Dk4#UjEteDSd9s>;5Hba!{p_HDpY>KeS}9B3OqJ-wsXc1q+H@hD{zq%jJ`I+-szvH` z_RPYkI?mt6Hk+InriaB_H}_gT%QN3&B9gNZ@de16499SK52d-JxvV6QFW;J2xJTKG7tV<$B%meCVK!3C3_gCSID)_aI^3>B97@!;(n0fizM9bJ6`Z`j-hQUi{9C>?6p`E zALj|WF=F_nmjG-l%G3@B!t=g5H>+?cmgrFJ5#&4O@OeL~Ds+_S6x-yDD z^3Wd->*^fpl#_t7GXK($_2H-00r!qX(X?#{Yv0?F|Gohi+N9MHL=WN0>nE{KpTx_U z$ubxZjGyoaC=5AiJKu_Y&dOB2OS(xhNKBH83_xw$q2+})v{m(Frxo8qok`G1EC^Ea z#Z8XLc5i5+4S(;RF1%pOF)DWZ$BKw2MGjPsl1kTBuE0%=Ncd??2XMH%prfncPL$s5 z5d3O6Zn9om)5=~FS1S;|ACP0?mcr4{UT%0?B2j(_+DF}idl1vn1@ecn@`6Cf*tQk( zD6oWweiGpvdA8q)qHSd?L!gj{cY<)>xyA-X;32%E5dO+oevU!8bU$pel zq>IRV1tABP;i`k!jWNP42z~zyIYHoFd;3c-Fv@Zi=nXlC3Ayt6{%}9?(?i#y~`Mjc-JsCDm$b` zl*p_y;{f&=n$7@PYwTOi1-jjjI4!Ba+3T#(e+kh4;N@F24X6{-v6OVoWk$8Hxx}O_ z=T;{QZ0GEHE}(8|2B_OYR=Vdy_#s3IrvoHQ;UQJ1PdfaT+tZVL%=1lZwZ%!)b3zdLT>AYe>~y}0c~E;}+=v|EAAgTnf|N`%9Ub74YF~m< zX_|A@+DpI!#dsxQ)bY(~$cCw4bQ^N;QzX+!jop6WegdXLRaa8<-KYP6rX@NO(cSgA zS8$wmg(y0K7_rk~aP6o09{GVHQu>=C*LH{S?QP|x@pnhKkEtLavepf!tbW$@vk1jh z+d}_zGb2{%(bIZa_$C^kx9@IJ{`DOA;r8ilXlOuuRG){AJRG|HyWM3RWG#FEg$w@0 zhaFlut@H=K$8USJ&*I&lErofOs@iM~kCump6s2Y%XVr4;~ z!*fTzni$CweTI4F5Zsmo;8W^-+Vw2aa^>NaO5A|MuHt z1|7_C@4qJR+MypE{AnpH?9hje&LN5q8qHUfm-y49{YztSz8RTsN!%cqDwZ)M<(}{6 zT9h!STOC3i^41*F5%nr}!6ibO0S%U9G|@O0O$7S*I|gfJq==b7-yrS0)HX~rUQ9gQ zYzM%VYX9P)j#)NvGV)uj>o&x;HgLWZ=UVJLSnu!f2hUyAZDO%<1SJA=qCo_?_fgYI zTUtms%Nz}@Z#Kn4Tg8!j@Fur({1@=O6Iv1b$mTunRQE?6FE1K?uo!fjuexpkW zpY4UwVETZ3UYIuYWgg>|E$%o7%zld8WQh1#(?0iTT!DfNyDV|6F-ScG&-zOzBJ~gi zy8iX}x7lTDw6oBl^rhExtc%VK(NE_&tL2<#nk~LU_1@D~{w|uybqwy-4gYyY?YXM; zIA7+$BooQvrp5F6SIgH-*E_SR**R(#)0yQ9VF|A6lWpgo&t1~@lJ?D1ce)?Hx9(*> zqv1R_J<@D0j*{oQV~Koe8s&yLIc;C8q%NPcI^vG1q?Zj2YpBxWl>m0eQ~ghiO|6cV z2snrO=uozQ#up>4n24wN7+*FIKK$YacV*RKnK}~9r=^eV*ugVkN}~TDeSivdNQ_dC z3tEYfiX!Ov8F4*>6gIf_#B3poOb;2pZB`h2Y~(GA5u_mY!HK>@k)l1$n8Rl+6@h&g z7WTQA)^!qsNkKebL=XwXph6vqpbl;>b`-zfmyVMhZabvx0GGqf2dqH*`&s8sgjlWH zLBc9m18FyM*Iy(0o#*I{$ z!qsU6au}lq6q03f$%Nn+(AugA=g5SmW(1{qDe1gBv9magAq!kvi!U=d zHw_81b(`a-w#0c}*l)5dj^J2t+JElDuHDBL$J6G<`+WUwu&s}(E?MtWHpkU=M0*iq zydh(}OR(MyxqQ!M-F*+IT)pAeQTqR;7@sqqiV)cg7ld@Sj`$(v(&p1S$|Bugc2_SH zF}pmGf67p?Dy_P%MN2QaG*%iaxjcb?E7gkN*IrTbur+@eAjAvdo)-EQ z{t!Tn!Q-aNs&MmSz$Vuw8`!oY z%a~NGt9B0$m$Y4>z?68g3$38G6n0=S|_GNbq_T#yZ!;^XkQHKGH z5jRq@vL8-9xU$PccGrM0uZU@7fCOI#GLtu2lEJLry?Wb=Mb(w+PQ|%XL6u93pJ{)4 zg9)a8&arl77`bJ+kVCMfOraA32%_|2D*9P=AK_KyIVD@;`3iv=>eNEOvFCP;%{?ye zA8i>0fdX=U3`I{BgPuZS;S&-2r+X>N`8cO09lIty32|b)y@u2?1DTdEr_M%t(X=PN z?6>qls#}bkShvwHq?U(?_u}^)f7e*2Ds`#yvB4Y=;r8C@!X%6F@g&oOHA$yheMhg; z^|tx)HNabuD1>Lr4YL9+5Qepl_M-R~zRZGDH3;E4?ADrA$Z*Rf_Z7{9ji}TQr0NY^ zWP#*BZf}^DDe?`~fZK+~!>6S`9RURArLo5_BfndC#!;imDh&OqnT$Nj2j83q^jI^~ z!PA?Pi8%>nc_#(cmpbXdJPO;9u*)aBNE?+u2k>pf=;Xn|%{jqdAiHadN31ce5fEM! zp_|ucF6r?-#l~(RndpxGV#2mP7^&CtkY%_m8C;5;vRN1R5;yBbIBJFNkWQ#B^5(+& zGJ>su%%~B;>ZSqJ#b0yyhOs3EPNN(ER;Sc?h}X&zCprRAxm8xT{=$7V19|^?%lEuN z0Az_mTY-KMl>8UguyD8VaB}-DA?2HSGS}!8XFOeWiSQ7-~O-p zleKe5M5_61WDHE@p+%|Z;Br?d?}}Uu`gP>)=QWxd&wg0o)??*)mPnetw%@rBnoL&) zs@U+7^9#j{_d1QyDI(=1m@GAyM`yXFRo80O5Nrpuo;c=kSvi5W zJ9*ob8st;6mW$Q4i><3x{qwP$m|3lPy!gO+n9Yj3#ZWNXnS1s)~83tgwDc6hJV`OHLx#c1oy@H7)Lx~1S6+9dT%=87H2>dDBDldu zAnMII=wb>b$Rj4;eV0WICZx>n6qs_3!yM5wkO9sO5OJ${n4xx}gQi|k@bkG`2q@!e-)_jd}g44aip+gyjcpJawgJXHIs>twKR|l}r5MU@orp$=poS9#8 z4Ry)hG{&#gi9pr2!42D*zBkS63BgwIMCxLCmg)B zJQmwhR{8-Jtn_T?$njWUULQs$wHtK*6!2&}vEYeW2{_+kTTot$j8K&zvJUdIzqzdQ z^H(|>$5e#7Mic2XjS`S@e-fxAfP?@DppJ~_sA%%qqKy5u(U91xP01HJMJSMO@pTz7 z6(A`>+lVp%yFHp zeP@gjf;Hj7C-;P}cw;nX`mhByVqw7CSilCWiSTRqVf)}SHRF?S086OkfMkG7;K)rI z$5qT$xK_p9t-;+K^LM;3egCHrsO7*kNx0djtKzy~?#Bw4If85xeYf*eq~#foLQiN+ zZx)rURXJepwn5xFi!?D)QsN))P8;uWuT!CJNFb8G!)l;$Px_uP@XFIV0jTR(q!PZ+Ywl(SWC$I zhmcBL*tGUqx`nedD-YSg5(CK6WFkHru{XBj(iMGnW3CKo7YNX9V_?T|WQ#JlxZKTz=dswCqcaQFj;E~tvozox zL8pn&LLk*^b?S^VjgQc{&{yI&BI~@lI=y@*^x`Q8~16+ix)c7 z?g9Sdf&u0MZG#tXbYUVCvyuZRz`-d{WXJRnvJ|q@2!%&eGM*Fe?@5z+znlWp{mE&- zvBrc9pTvCe0oS#FaB7kNBP-f*YQ8thzmGYf)Z$1Q2^;{slYvBjEJ4yPE4(IUyhaFG zj@h=AyuaHLHDnE(1-J%YA-59FF=hJH+_OA@(JwW+xy5VhC`6N^r>j2kcOzF^rB0vJCM#4%{N zZbRC6Es^#eQlZQPxeL(oLxDR}zAb{2L8@F^LY#4S>`F((jE`j5d_fGFk!??0G+q+< zh=1MRJr@}gO%@r6*)ycfgPT$etkVBunr!4$6hI5EV&*)(Ql6GmhB_8-+=x}KKbmK0 zk@q<0of{n*7x73#kc~=YFH4);ArmshJ})|vCP;zpf|*a4;{-eLO;}Tm1$tqPDkNf1 zwV`-9s7gNl7%kvzNUPALK<_fLTLr2{ROJoOu?euTro`5k`pEUtV1Y$B;tx`dzwd}F zW@IQP$3R+x;rIxS4&c4!wOzgZN$sNk(9X)T{vFx&Uc>wz%?u@deg6DHhW!YbmVw>( zC>3dINr84FTJ!xQXO3rQIae2#W5zQi`5G#=IT-T07KI$#s(ImMb#G-br|J$Gpo^aC zlg6=23QgbOD;)PfYVLpj$9i+z1Qson74ZFWfS2?jOis4AS9S2^18;9cC1hqT?CV2VzF_k@G`nmj7}$a2faBM*@Ts^Ys{Os7EW8$x^=#CmMZu;N~b z<{DU^{~T!X_nB1g>=l1WXHyTP@3T_GVn}sJk(>g4&$NP3Cu;%=s+*$=lT&-aT{7sEZw>( zW(6aSRHmzCEF!0t*d&G%1fION8%90mpjf^W5dggIClOIBT}A%BDW94pSh8SxlAtq% zq^$>|C`NYd%NMqlZmp>)8uc0YhZ4mZ8+neOyoHAb%8mlS>AMK?+Dw&TpXDTk6(fA} zN+h3tdDe4<{nACAgHd%ATwR3DY>6=Px1r+XlGY5iS~((DNfSq*Qrus0tHR2`kpM2S zO8M|xS9Ru#fzpyknW~eAtbS0NBO(-V4^6cFiZOpI9k9R^YMdg99M zqY*H&A`QjSdZRZ!-<|KbvA@w>} z&6ud$R;pY%$#P$~&4#7zb~mJQ9T{=%lz?m3>}+Sm$K<0#rQNT_4unHYoP9yKYysv7 zcGJncwmkTEqqI45uGqsqf;&fXWI{bNY4_BkWk`3XtXW*_U`T@DgXZ%}>N)2%IIpd4 z^t#cg@TOaDYuhCp2LV`{pzFTBM^r3npiQ;ySr%Jul9c%E+lO?{%M z*YDa-P+Xb-b(#1y7n&zgEo5#fakggxqhoC4Ut9F9II20wlRj~@#m_oY^4D4l%^af@ zdGAPiox(F&b4C+7O~ItWxvL^sPV1SWQI$oscqMC=5{JF(u_sZ}_D9xgn&`*hj=meH zKpYoP1vFfO3|0i`r(In#yU?Lmi(;I!3vl6*13XN5fLTQf8j$LZ%j^W)ZN10O!drOI ztm02_`k|or!c<4viX#~_j%56i7?7#WT=l4I55L;I3Dv9S6#m#Au=s|vR>qpOfPr;K zMjiW`m$?ET**jnvoUo~~UyPcFXwDs{9oON%j6^m9pH?wToj6%(X`>26=G46K{Z&nW z9~uJ6NH?uZSsx+9cR8|f~RY` zt#R3Ad*^9QWtaN`%5(Cow}rD{CAc(5EZzIFx3&PCGLlMO#3j4uZ$1_T9lAfl>>+fS zX)Df;A39$;alB%+79Mv4pc`vUV*NJmQQO!&0@~<~wQW<|Vl#F+O+KAMiUYMr@zu=j zvS*SX#h!;DA$jjN*66JCE*aS6>`p-On2!T{zjdUOo3KAQH@7~;UOR_=t+=|!zEQcS zJJI($y#pKGo`h1j&K2LLR=&=J)~l{)9*>%(3f28geg`=6SnxK{)1=XHQcEq(J!T#V|E|L3Lex3E8&e$#|~lu{F$Vn z>UY8~U+ob(@VkoBgj|u#C^pwYiF&$rcae|ux>iYlHe4q9Tzh`)z)vgm@jh47w^dsh zwaji!dbdAyXot{ULe(MYI;OPUlSbqu)?-!MyJ28f9RI40s5_SbOw=Tjm81j_x_|0T zXtkiAsw|M?-y=!m{tPs|`T=lkI@|Gr>(L}%J zy8augD<}oGpoSJq~O|$gJShI9DQul1$(OFQ+9;D#u9BP<_-fc5IAW>E@ z^QcjnW%MG4Wx`Aw33Gt~sqE*Zn+ccvxsHXIO`17r3!(!?Z+#=eWX>t1#G9LGN__4N2>6Pi{VxZ6!g2w|HlsC@n^#!EKPV_51_yg_Vu$gY^;Cw=epsc@9I0v z@bt&+;A9uU)R$cMTdn%DPW`P9QT4kIkNjsBiuecY?#_>G?GZaz`saG?{%1}6jm82EeSA3iql_w|giEnQOMdZ6gONTK_7q;LaHs4&;YV9D)%1s;KmhAoKq z!vHh7A@x}mbv?f|>1Q@%6uaMp6tN3I@RAlsItCDRWZ&Oi8H}SV{TZCZLO_vuv8O;S z>?O)8kfg9D!yt8hb=q$EwnRJcXB$PxrLa-jEW!>@RO0Kwwljcoz2H!KEJEZU8Fla2 zp4{xY25a-mxVw=N5z?0!Hz+E!mCDg<8Vt~{o(*$W%UfXy3q5Z zw!Uo=zrhRV{Kk~wpfpX-^7hJ6$tq02S@tEkHJ2vB zwD_QH0(Q4sD5QrE8?-zWEr4OK*(+XF@z}CAT}<_-vZa@^5_`S$>Xp68Sn(*6wYExH zX`6>gN|S7WOT%ZdwPC1uFTa!{WM-s#jX(=+-Qfb-au=Fl;=JLngLUs{1xOQy!6hH9 zBE#;SCKa3oCAy3Bd1Nwkh@Bf#gY0q4kxJr8v%J-yf@k$;^E0dJ_}I;&?r~|N)hhcj z@Quw48AZnON_X{|GN3sW1@$`8zbI3L8HTAu#GHC-=_q#CAo2~K6=q9e7Fiu-7!TQD zF?h^3@$)N}zYoI2h&u0e7?ypF%Y=sz$n&M+{>+-sp()FYkId8d+3DqfG^ad*q=s~W zUp3V+m5&Rv*mYjzZgl&gELe`dENNZ6`K&4s;iLJ7{^qSpZP&5YF9jT0RFq6MksY4_ zU)<)ouLLltkh`IA=|b)TyOKoi+exU@M;yza$Z6oACZ@LE^0!EGC*K^p;32SG#Umox z7;Y=TW6rmBlDI{3PY(g;k&(8K#l{AjpLM`VwOak9(>9BhgA^X$_nA}H30W`Fz8sA$k9 z9I1fXk(bISV8YzxFSvKQC*u{%JPNK9VU#cnMO$ZzkZALEs#%}oMBHDE&vJ^yCST2a zKOr<8W1$s#GY!oUK*++4)PY9|8mw`bRGD^wH>-i_CaBVc!1YO)>vXmcTG~Z=<%)58 ze7jHe`ZsA`<4ER+nwlE9KMHT13yva{bb;OwwVYU8X%m`;S2s{=}3&4o%e#IJ3nLm9e{i;5FM z`O<0dQ3dm1B0?+%yQf^;KX>Dj;+84VB%E?FIkKQbXxBj@GG1ISm06^FbCCFO*fG`l2y6ph1c60! zfWxJ7b5(GXMz88$-Wk5K2HYYYl0L-GamX~rPWYXW#J!^)Xeo~d`YlTo*0rUmu`GDwsKoJgu`KAZp@-q~M3mD1h8Hv-pb_v_>lF519zZ4Wq%z z9#s9gf)<`*u&4$9d|6n}f|9(dY@_GrZ$AyVwL%uq85N`N{*Nopi6>5 zlkT<}VB#KDizT^2-o>`=m%5~-W(Lz7Cy`$G8-0L=6(XfIpBe zMIO2fQCmwk)G$yKMdEj7%E5PBSLbilqJ#NCi6aP?+9ro~(573KkDbpW(n7>UBi85( zBg4{-uSgY%P_~M@BwD+@>kEyEwtCafFhQ6gllAaMK9b=9ltfqRdSo2L^HA;10TG=h z8O1V@T`xz`oxBoCzkbNB?11IpQ~Vp#vVF*k9xjC>Eyq%gs72tI3u=OA>TalX~J zp}n5ssm^O+^l?_6AM{%WVm|anq&&Iy-5XnXlq_&(hJuGxe( z031Q8B>@-^BnR>754g)4umYQ4p_+D(bMfO9Q#6?t45OO$zv#8atc|#6{_X z!CNGPhd6e}If$d3$10h0mm`=*wWslLLUk^Q5B%1%<=RVG>D`v`EJV^6Fm-ll08)lO zyiaS+>@UO%keF;|3To%~KsyQr2F~v3y$3H4_P14_hR>B}tsOHX4(*($gpQYxaj5Q! zW!&i(oAMc~*{*|^(#)PC@}4*$^>GBs>g*of4>?|eF#AiH91xenm_>6M7XU3UoLE#l zs{*-5N3gGejn#S2fn#>XF!5ey!E5?%Eqtgn(1QO^2ypLP}Osq5=T+u1B4VtBNueldgB=q6x{78vTzHgoGBf-NL03P= zG{mh+XM?9?#ZVq_8ew8LI~a+gKOSkEDl$Yc{6&eU6&I=HYo!evKx(?^3C^#cR;(dl zd@)XpK8*E5Yk4t}l9Ui9c2DvV{!AlgX7XO2;Px?9`5kVWq0nYkoxm^|P+U4h!)Qg%JM#?Z$w=A z^EfL5lgQ-8sK{R}K-%p};Rk;-cBGXARW z&EUjl^VY_N-iy%rQjLi=jdu%9s)1~5<54?KF7*2m`Jqwx5Go^Wx`WJ^5ZFmXWqk9b z2yKv+#!Rjv4r@9&WeCcN;nVPK2VE!#jf(K0Ns) zbd>C2y*oQbEqq~L@c9Oom%ABzJhBa1T%$1*X3>{I>O%MXrYGK)N#yB*MP}F-1Ng1l zJqI@tcDv1t^dyn2w zuDjPE0~NH)oY+ma&(T#@-7sStTMRv2Y>^YOKw*PFBW~p)%T^QxxMeNe-+QiosXEln z_zC{$L0AQ% zLU;64R-DsYT+B!`^U5JICq|tyR7)`z53Wi77xPRill3(3Z0BrMPmkz{V?+03;dB_v%GTD> z5m7ZWah;s8X<=wvCid*g>GIU8A#}r~UHsxh61&33{b%)E3|7Xzssa*k$z}WB4{sZ@ z1^P&E(6s`HT4%$b@$;*Qx`sgubuD%oOOWG9|7^kB?8uXehzaD>?w9Wl&eNDhP7!-|Wfh zvx#jk>D&8w97irVrd0OizUUR49=jfSe0)~>PuuOI;sMZ&AL;B-z9ci<-Gewax*7$hCgAh_rc zr|~)lP-_*5lo%jnBg+qkEp9`%C-`oJAJik@w;OPhKVSdJGRCTFfBUIl|FLr>&f-f` zH0do_F5AOHwhFgwHuMzSJ5L}bZrMcAIpG;MkPZpOSvug6Az5pk!7V5dXZ~ct`wovc zxUm>7kPD}rd>G=u?(BXk)c0s3L{G{Iz>B^faslGvd$JpwT174{xKPVw2#R__-d56)=Xgmvo4*v)Ql zxETIO;4}4$<+q=_6gb3=AhQ>Y11Nw589IQx6fg)10L1UBX(_4>@c%rhzqX-^g|#ug zk(G(Dg|nR_ouw0k5n74{p{4bCa$OlYbMU%@b8$;iZOKM4Rd^^O=>f#(V{!Rv1Mc9 zcnuKm&*Rh7@iJ-1^9ej;S4-)`mV-5Q)c&5(Y}mfq4k&y)BSvW*0>VFaP~f-|Kr=GWnc+RKmY&%Ab|h& zE!2N|^#AuQ^8fX%v!j8nleK}fg`KSv{r?UI#{WFP!1Narp9BG`Lw=Z$pUK|?$PmKD zB?x|Ia|xl8(m}JAdMZ`E1)wOvz6^Yze#~MM^nz3OsybuhPkQN!;{(fRdlt)XqT-vk2e{=kV z!a@aWbGj}l%Y^r31<(eoh1ThcO^o(o5k(9KXwC^cMiaKwV5tRyv9w*D z^=;$m3?*_eCgSesw@BZ8#j|AGw(_|?hL`x^U7wd97^DvJuf%=lAJ)xo1%+Skt?hkT zb!k;?PZ!S>uO3~w^m&ns=UUnLA2eCszc_+J=))rXG5Ez5=l|gPKgZ1f2Gf5+r$uwq z7JCBmD@7DscXPa&VEqzQ6?^3NkL$r&D2W*|hycR@%S1%jqO)9_@f%QZA_e7E8i>dA zqM&-x$weazE#+gHbKi+nVCBCIi^M__u66RMMU~~YN~N+&kBaP3Qq22Tq^{4#;X`30 zjeQ zwihz5ac)J*hAtdZPnj2IHa!A7p2SepjFb%&M2S3U!j42$(KHT}9x;LCwn)qKGA(5r z7h=n*b`d+uVZtp>p&P5%ouGQGkD-=Ty|&q=&BKNh!yPe|H&3D8*uIN0%Zry6+s2!S z)KhYeTZ%r*sy!2_Rt5;dSBt7OY$|HF7o*0PMAgcC4*Q)ITAogg7893whU(YlfS=@S zG+!m*IfvN_9%{J$W;ve2LSS-S{u5|TJw*dpQO7hbzKK>!H=|8Ub#Fw`>oh7{mU_4q zcnUYlVo&{4PqyzRWvBy->Getf2Ebw@20qK&!^{<6 zmDQe?(y2B#Xi&(Bi=j4B=#3ma(^oy_T&m)~fsBqXvZ&g=rd3yXgU~Vu3ft-;oH)5?9}Y4h_@BJK;v;PY?hVm6fD*-*kQ0f z&5iUSfQsqdb09GrL8Py$gw~G4S@LQ4Q|^}HTx8iUVsOz=s#-4z_ozID?5cV>!3HYv z)vivYQ9crkiJnc`qdoEa;hp#xn%tHGY|mpFVpKWgFe;e%APyrPN_^}|3&A{*|Dg(= zs!~WIx}O8$0aorrrqi2N*jDy#081&TdqO2l2FfRr-nu*8+yC$cqSuG{8mG0w?qu(V zZj4M}rVI6;-hrHa==%6u13EZFf!`kY*czKHEXuT49eWJhMEjcrbAF0m7@Sj*A>D3Y zF|n$k3+;178Mb3JDdCm0U>wM?$rNutCs9G$7v(!wgDrKgas(@&bev{_1BV2Kc$uhl%bELYUKHXt<@`tNvpvSPH9K&541h zkJ~X}GjIv07cm0bQ^D>ZKc;nU`orYnI&*0 zhJ$DdZ{j873dP|MAC9TVuzLc;J!8}ZMvVuESY>;+o5?=r!m&u?iOoQp@o9i_0Kl*l zFhB#sbk?oZ-&@t5M43x}x>n84?fIcj&H`oNYWoEyz>~~u$j`e)`_u1RN##>s?n{Sig@XrCU zcdy~GC>lmR*Gm*9nlU+$=IRVAnEvTs32J*SaZBBQCcr2OB9s?C%3g8-^u#c5&aQ;W zB>Ho8%R;qOL`I`Fm_Jy|!{U-IP-w&kwk8aIU3Iv>Wm$3iM}|;1RVa@;!;gQv zC!VMryuVU=9C&?8I0m$UuT$8#gdZvndZ3g3GxGLQ$HMIzJw&*xKK;Ogg^!8uP4Y!^1_53TTk2Sq40 zhUkQ?Jw^AZ3F9=*w9`eZLJ<%&w|h31Nb(-PBCX8Fl$Y*DJw zGNmVnIESajSM?v$?P5X7jAFr_u&a(~D=%Tui}^5|dnK%i;N$>NOwA>d&XP_IL9BB8 z{)h04SbbQyuuiK-sy$!_eP7aa5Ft({)S7U)Dc=B+ArW3811zm6W{5a z5)=5=6*>#=cVh%8_5H{f^T?NN)wx6daw@$Z<8sEp*=0s-qKGS65(7DJ*akEKMh)os z5HG+AdXcl)PrK5Xp(eCHTnjPGg{Ss>mC9U;F_&*b=HO~|9-wX)DONG7zDOJhi?|7; z%T40|yUc@RPzuAi$1c-?lXXKeT#Y0pVkP~>d!En0D3I6%q zm_KovC9p{&JjW27sTqj`A2bdm9R^|w}%l_88Ve*I2Av8e1)qi z673zAqg?@ZD(TZlWSmSUJ zN%sY5diE!rtoHRZmhfXW-W#ddWYC&K{{OkEYWr?PkW$cO>Sk1qbyCi`162kdn{Qs%$%*A(eVHd(l!%= zZq=a<7#uhLmB~z#DH#$Pf=zr@b7$>4h~{{$)m2S35IBWJ#uBu&Y9j<|k|m0PHDGBV z7tTcL?yq_!UeHjD68pj>HVfd>+0nUrD%9CqRE0)G+rBYocNzBO-f|H%jS(pWwrLLj zFw2xFqqR0-o3pzCY4&VR$|Sctg;P29yS7BSOTnbN1S}l4w9VaYLJuZO0}+>l4*i^S zJ~kNnGoV{T&L-o0yTT)}z(zJL?HvV-f)B8rL103&3svsS%1I2&4SNiV~W2tfsKJ(VwEBz+S*$WmD-@FaLa zu8*9RCD8;Du+cT~vD#O<4Dk6?>SicUi*aVcmBz$S;iFjrD1Z&5VWG8gnYr|Hf1dlk zA*42`7cz|(v{HzCMm1EfTBSvwbuL){NrPh(fXD!!fGx(chD2IY62yThd(n`bYGcA` z1_pMUEd)onsEKgiwx&a;&ZyEoK*ko!0LS}XIzLyg$;mQ!rs9FK3ocFyvYx7(mt4W_ z$VlZ32Z@XX2K|R3hD@SpgVg!l-`$+t+}zTHw2E>X-A<>QO!gaD{Z@Sqfik*Ty=Cos zQ*!adYtXa#{8N+=P5B?;A6-|Rs`PO2>r8vk)a=f4MGb;_7?*|gqO3+O-C8-*;Z@6| zp)JkYHDL!*(h0z)q zyDeVa-S)0DL0Q{+tEOR}!{UJ7{O#yXL7Vb7XM2$I5tP52_mv3`SA z(li973CJGd3GD{f_U02JQIN&dw;RW_{?GJ}3~OT%7#JKbM733MGA}^89pn7)|0GGH zJ@3|moZ^g9q!y6KyLH%fZ18u^x|*<$$k!vnl~*`d?zitQ7Af;(!e;V>3pBXMh`So< z@4%Y=7}NX;p5a^Cf=AJD<3`0C)oMaP>?Tyl8~#P^*e_z@2eT}?gxTVSWV~WYm8iQf zCVx22!t*Lz|3Q%kR(wY!5pXISxHX%~uF^3$#+Pf8pZU+KdY9uUeoQX!<%RL*ww8rps3h zp51*kHMNfx_!{DOP7VCG{hX;B?7b{&a+sI<^jzCH`?@8k{!n|3+cTQZ6}urpRqJVg zGk92tKE2;vsAe4?Xu{*~4lbIgh6z^0?ZR4GU#c=H8NPVMT~U|L^69pIA{3c2A~G90 zyRWZT>defHPF|pYtxg})6y3Cp{EyS$OY^(~{l4_9j9x$14=(0E{@<5XSNhX>-e2zz zB`FMW|0b7f_O?5G{qGk(^U%-id2~D+jPJjT!lCQ*a=3V2AD&O9^ncL*Bisq>gNbZ7 z0DwcP|695Ee-kd||ECb)?DC7av1+<@*z5?sP|^hDupD9!mHqIMC&gl*-1G2@g%nYU zoSUX2q-#S3CSz;~+)p^Z|P=E3`4~Pe-P*;4rwvyKE@I6jb0@xLPJJIVrd{_fH=un zPq)`kWPGYgQUmF2!~pTOPZQvrW#kBTBazPzD(M4B0)N2RbOCC3Advw^jT??uH(l$E zvZlF|3yn)ufUn2WSNiuCiG!ugg7>jOEcehXS`F$Eu+^ZcQNJ>>_N6G* zJG;e5vFtZ1lS9)UYN?0VY?ty8dm#POU@0Q%k)m#ltn&R{(}c%DBMs#wqfioyy;nj$ zcC3BVX6In}V3Mw(seR-nEk8n_8nSSI1dto`H;H(id}TA>c?Cd9JxLBM#6dq*jx#24 zazVF;%9J|lbwLYp`t0K}hs_~UF2KNIe`}2**!P-}L2rQCCLuxm=(I{?KO6Qf-Yg%PdKER1A7L%z1VCrv4G z!2;CuswTQd^Rf1?svQ@2pQx8*VC)s(kMCQ!4=^a#(3BIXIiId`GtTg&c-aXq7J|e| zg=eUtP3OFMgQgiC9C+{)gT;B4k3H4+BU%na1u2dl=ujj0mX8Pfe6})?SE7um4&jOT zVC+4k38#{_2Ak-P@27;EBPi5TjvQly9EH7a+AxYXG}K6x&mV0jCO(B{D~5pF7fhBf zV3LLJI63%xmJ1*E+Ue{ZOmCqAN6>`_+;%~z@=)@gt&MW6>7{?vA}K|}2-`?9D%l6(@ZftAh-`iVN5g6D8xJa>gjyr7!uhEUY(sjVzh3 zk`Us|9VgZKN9m($b>^zFF`YX9L3!b7LmaKs8`!V^c!Bx8`VZtKXV1-e*4rm>SjNd5 zW|&UN8I94__j;~-nEYSPco)PT%DKxyOOmax1R9;fGYsLexzHw0s5r)bI|Mo{Se?v@ z2wZcw6P@M@UsP%av}Xh_nR&TKT_E~J$#>xz^LID@pP8Tk0?;0(VG0)r0D$su&Gdg>3HACf{%FeEZ;hk=P%Tjg$tsLGG-mNS zBnIP-#dgKzv?R}fi7N6qiXEy9VR~^Si;@Gr!+KFD1PCbNI@i!~UWj!7^oj9H-kV7z zHX6IiA5MStyuE&ZnLRmVSB*o};5~@r6V)(DUps$`L#;i@-`tMH+h#<<{Ojr!SlVDUNIaETL zI!o1%wV9rf(5^!6ghp~S?bv`!^s#XVLK;Xv<|Y)AIot`>$ay(I6HD4_3!*h-Z$>85 z>0st;pC$w(MuEQ=a5?R>bbwfJF>i;$Fnuc8-i$z0r55MqJ7kT(bbds4Wx zkfL+8b#wGHOY_Y~$so<3C7Fv@(TeNG{tH?jF_lpJ zlcP}(;2;hB4y5!%#Iza~0Yb(jQs&6~D(Vp=w;eH0Q?WqFu69>_BZ7ZlwtIVEQ}o_R zH`7d4ca>Cc>%Fi5}z#%fu5_X1|wp=dAyg9^_^o3vb_8iX-xV0G2FAy(}=Dmfhp z$yz|j84N>XfhX)XFWi6I?2 zQn?~FQ$8pM3znfkbJ3LJ&}SpoVt75txW*}k`jCcF>yviA^$r7xFj@}EV%mlnFT#2k zvWkB8Poq`ngN{^EJiE znfnYn=M{AO5p?TVps^V8(@Vtgfcda*28i(m%JTPPg|uiiLi+6f_K`C+ zYzN8~*IzNsMlG#P4oGm8iX5#tA|b7vpu~TinR--oZ2PlQ{;l1y4-Xf^VnSf25U9+8 zk|~MP{_&Gk5+~3~1bG@br`qCCkerUIqRKe^QusZuPqMvw>RZNY)10;T2KF*4*a`M} z?i#n%xw5X^lV$*Fh@NDyCmCa<$I4C*xg6J}W^II<|+6693!T@iDww?_f+*Un$kk zT-m>CzbU6~b+_^HDFn_63QtWLN9gu2b4-i%FtRp@4`d~T%x;5%F`z&0Z341tLvL(y za>49jb0M?LFw2-^*%kQ%S=+@DDDYQGs`_RUU{Hd=(8VeIHECp;^mX?bbR0{BxT`12 z0r!^ILBzpN!_6lpLF1h|^k%d~DF}{CY+Qtia*ICBW459_*YzvUt~s=L&Q;*3j(Q-wZjQtTq&i%WOG zDA$axTrS>2choQqUE}R2wrlpA(rJedn8Js^C?>9iDhN% ziOpP<8-Q9G2Dh^QvO|w>K~zF7np8lInw?BySh4gs-%T65Pu3LO!9)ZzlUVk~V?0}i zOByhCl3)vyg}NZ!^9&K7Qq5iIY5AhDV5whvXSXg**gNBrE#OOR?KRx9$)c`OBwjrB zT+d2fYv)emPL*7p&YocX>Bxz?z+axpYZWBTX6auG<8zF|IzX=7cIfnu?I!5NvWvQ` zCQv`uSwlNIXWBc^YmM~J%`_dZ;li)FZL?GIh&_yXmV%E%N!T+hqF`7o1&X@>jEGHd6y%s+T-j-kt67-O_*aBBKN( z=3m&lqcbsCog|_DewT)~YR_U$_AB-$P)!FQn(#NfEjSy#(cwFNl>g#(c@NG?pRPNL z`=UYrz8Li61Nxp>D9e90_2Ih2i`{}WIZEhLvFvaITe_or&y~2a;$C5YJ)MJhu^+s| zPQ#8H+a{fT^^wE0bts1XoWA{$&%@*GMvA(q>Otr4<>A82)&KPLaCBhf;Kj(z&V%Li z+otsUK3FOe=l_KNFBxqe40I9yO+-I`Te|<_WYoy~HyQ2G)^Mn_7e?M$19;Ka^JeK6~nO z|GVA$VW{GygVG$_!mOV9O*N@F0VmvciO=j0qY$YYRTMG_^!yYt>juQw)L23Kc{cXwyNT%=7aq?qlD&18nB-Ev#o5q zBG2YH%_qa^i6yU6xV9yOpG?kO$tvr+rvqi70zWv4>u`p@bsFVokU=49)w$;7!U$bx0 zLfNNQ;E#nWhiLs~?F6`tQ85|X?9@kSyv@PL-mrA7@!>0=r9SeTtGKN4a|>|w`kD6G z(?P;fR|2Q6J9lL06Ow3eV95GDTopiWvSd3jAGt-Q_ zS+U8oeMW|WKdcxG2N=4|K2&>jp=`IJMfSH6yM!dEG}VDuiU^h2IQB0%HcQ|s&RV;Sa{oJI|Mg?`+nFo4pD6kHxMd4I`HSpv9EE5Lg%rroOc6YIMj|Si!6Ge+vW^^nhEzmnIbu zg!e0l9D~kM;_4uB(0-mw0LU z%)(g%1${6=?13-Mqn(Lt)NCQ3>Q}lo24Y_Z0hqykQER&vVLgubUZ+Bk;IjviV#Dwz z6JdWcZvYMbDHT{RFsQwSz<2I9ma{o>LnW9*5GJl!;nzg3Q| z1WJ8W+hRCwxzwB~8fh5kqCucu7E{m!V%auZ8K?ogQKrDnh{0gr($0Fe8j9b!2;W4q zPP`YqH^`J(nPt;|@yMweR{+x=Ws30dnefczJ|LS!3xx_b%ZVxac7Ta#D>o{AKCWN5 zaX)=}TzMZ9d3Euv1O*1p&k3 z=&8FRuCC2qy}gpP3O%kX<2@+WD2uArlMkgau4XnZ%)|c3dSGQI)^L*n9khOpEh%?< z22sUh!#CE#t66e)ZR7w8KnUo?)sM1G*q*%2t%FX&3*o_y;HHNL-n==xZo-bkQ);A3 z)bh|U#$1gWk3DK2TXd;ZiWE&jv=J6m=f)UZ4jjYe%OhT1fA%QFsYpG@v6!7gR^;Ur zt)JjG>|`>^pd3H!`hbbHDDNT)OfSbr2qKOJhnqU%I#AoSi**19GY^9Z6INzfW{kG2 z9fZEL^bgW#&bYvPN`P)Jrip+!e3Puql#8`U&+dy0VNhIug5bCgxS=%A4Ej6CN%TCV zl&i8TH!q)QhW5Lm9v2Y9^Du@-N!; zkbaH7C}o#o|FJ}TqZ~ka0{N7isnbk{u9;?tI$9lbM1}kG#sGti9B5FO8l*SU0SEe; zUBVqihUzrYzEMGJy@pZ=gh@jwmfy_yHlnCu!cnpZ$i_s_-aLX1&kx>omGl@tMYCb02V%0JKVe()Sq01t zIX2Srm>&%)Z7S|pFy3>8Cb9(^V)9#=wobWE+0 z5hFtOCVpX>3z?~g?p#FRbM`f3)~^<7Jk6X2nW|Ctj`wVghs_HUOE+3tz&pk8uLNSY z#VL$4vdZSOVnQr^e!6gZT%Tcj=U7n(+DB4E)4~aHDjHp~> z*U&1bV~zCgwBp8k|A~Nw7WoJLuX>7=i6As{n$~Xxj#v<#)-oy3m#FND{jj|F7OQ=LJSDxpfqg<$Ulo={qMa64$#OihG4DEsX$){PX}aM2oTJmWNg* z%96>L{F3LQ!_3n_t3VoOCmVMoo^AKnlC_+$U}~9`CKGsyKMg1-96oqsa*J39LJyGD z9NQZytEgLVMGwDHwn&w6Iq(_;>U%^H1mF^9kjc3P2v!Sc$vg67)7c7!mjGiH`_1&KBM4C7hN78ukrg4uH05aK zx=ygPL)fx47!kg3uuV{?w}WCBthO`5%hzPQ$Tvnix5Qfj`1TOcuq6!jYD;No+R(01 zef485-D~AeVsFvmRC}3<6u`Ort;JQfDgOWf+)`gk)q0wkJR^v+#`A6+tp&a4OsdPUx`JCw zaFU&g`~sx9B3{w4aRP?d6`6Zo|qM|*)@6Lh+9eWsT&*OR&4TSlAAXWgO0B$ zau?`80fg~<#CeO*Owk!}@U9?9+6j(K?7!lK`>Q_hd7HB|05!rD{`<7SF-SY+?hc+qo-)3{C6A< zI%Ko$K%Y~=D`m~$C#c*$ln7{S7oLY!=S{Bn+}owGB%0en==_Dc<(z}04YP{za}o;8 z{CjW|kl`z($K-POY-co>$DYv-?iRb6Zh`vXu;p6^5G=CTu%Hm=aSZx~m*Llc1}F86 zQs+{v+f}mrC;5+P(867TOhnRNNjrPW*$Z11+tqSbfyh}$7xD&Hl%bk4C77P1H&Lit z(W4cWv$HL?i*@smTtCInSFv}oj>^WtSS>hMYW$)owI2rygQB43Agwg znq3lDFw+NND{jj-2p>&1>-a~e%4-*_o?QLeYQ4p2!BF5ADh;Yf5+)WC5NpREvI|yu17_wZRSUC&M zO`KCTSe!DxkxU2zc#)`QPCaZmDlrM;bpeI!;pH49o zQl#K(v=W39!i8q}P$m9o+IpdS4owoV6Jf>3FukbLDh^gz_Yecc<&`1L;{uo0 zd`!#(fR>K|d>+qBhmK96ICt8M+E*Q}B`nZ1-S@W-pEQ|4u>>%XG$P^c|JAYXo1#>$ z*OKFOj@X`phK)lC2~MEpT5!L~w5eRo8+M**?`X>q$2_e=hR7Sj)``9qzxx8*sS?1D z-_rVmgV1jvYUlXO&|SePEW7%E3#k)OaA z6o(VeE&k*gYYM(PQSDz{^MiCDS6O9eXW1AY{VAwdXVomH>!nT~6}~;0qA(Z_*R0&O z^&Lg3NUo`W>2t*Q$fy6$cMrJ!1R{SxU~W3EchNWdY67ty4tULZ`-fy~%}!BXEYdDX zUQVI$C8P9NlZ*COb&fTQhI-rrjqbG9T$2m8^q% zXXYL3R9uIvdWh~$udv*N-hvkAHsrdaNCG3PfALyrR*T$4=Pt++^njq-A?(d=yVf!- zAo4``&n0?&p^?yX3~vb~^09wv=QrQ-OT_6HHs9v0WeUiv9Jw`bF>4kc3GHPPw;w`%yi-f2tn3CK>YIcuZg}8hN#+95Psc;&LUxr<@K}3muK#u$?4qRO+*LA^ z4G=|CG9^ImSj#b~QpDe@;?Q%x+Y_ULWjJ_Sn?!x%{# zabh>7OUw>+l2b`k`m0k>6d3b>*Wx#_ydtDm)p%vC(s?KbhjtXyX+_gv`~|J6dVsKW z5)6u4GcrDIQbagwVVt!EN)6=xOiec}B(t$F*?B)fSLhS3`!^Q&!ay~5R;4dL)@4iaVMzD_(7UHW3p=2N=w^%%1hE> z4QHWAkrT;-FQ9l;Fpf$$ELd(~futICV^4c3U6)UJ%!+4t_#?EqVt{NN5?rzOS7)}) zMzQoN%5_*mp#v>KWUvqSP>~HptkCp8u*ezr( zsDyjS#Te^i)h|{|d%^`sE=0KEZt}G(Zwk@dGU5UG*bm(MUx=(haN)PL=*>tXe9#OH8e2OL*J~CZyvYr2 zQP7j^6};-F7a%W0v_WO$c}jm3T|WUw2=yAvyXDAPhlZ=kbZ zV!g_+phoXVHVc=PP_zHT#U*9MV>MUrTf{dfLip+<53e<$Od?Nei|6{3fF^PD?E&h+Qj?5*e&V^=><$>P*fCJVc;$ z)SI>^K5EODLYE-L&u&yXp+kVbxSy!9br97J4fcQ|@(nQBC-80sYP?6PjbBeim#~DJ z;c5fLsXku^K;XQ z950J$t1C=yF>|(GqFw|0Ky}&*M)v-ltd=+v*$|!fc6vtHDNw27122BV6i+e{tqO#g zYt(RsF`@ukT?6CN3b3gPLJh9>!X?PDHMc2ypq0hoN7Ozgv(BD%szNSrgQbL=#6aTc zuvSx<-J=Ysr2aQFBQ?E7sTVCq)T_1jr8C34)kmZVW=K{1P<_m&REeq)RPa{ z&dMX+aIpr~W|U<}mW?8QrU|%4cVL<$zkH!Nxh@+^<6pLuSPmY?Wi#{TV_*@VyO=Md z!!r78IWw?$j-!|_r^9lZ6nJI03UDsa-2)C(o2tTBiu7LW0(Dxia&tSx-vL!Qv_o{*XJLi`FD^PbsKAe$5G6900=r*9Nt#CTa=r__-VQX16I#(|7d{CY~UEt7=oc1+DWRrVaW~j zinsWm7(HWIU)E~{fH~b_L2R9@_p_cz6yuS}obl22g1NFxn}WBhq}JkGl-~H<*_>#w z=jcNd^&disawSBRW{aX)dyI2f+ zh2_E!Ew$ZbFj;&RUuf@TQkl+WJokmugWP(oJTiRPX%>BniN*?vRm9<;R)Cga;i}3C z%L*DeDJ!ssJJG#|L8=B(bF0VZHf8n>WzZ^v@XaljG?L+RorEyn0T^fmk=Z5$&!L2o zX1GY>eSzFJ41NwKGud#!57TPYui5LaZQy1I>&iVB7!Y{nRAG@pn#yEWF6DDBH_NeD z6q>vtZWszb5AIC1$-TD4IUaD4Gd_wG!R{y!Xp*~KnDv<3(~f#uURMN`xU$6#=aXL40yNV8BZ~!56CF zGD|(#Lx9RypW8v-sPw>U35GD7pqWJBYIP+_{&zz+ZdaP8von+ z75(wZfP_CCy=n)=hI>b{s{Ojo2|+Q^mKAxviTo>rZfTT`C60q~v<3Hh3Xy9J4G->p zBy*4kQQ0~F-V1ThaTTT)oLIV#ySSfYmxTXwHolBUL9KtBS#f%*lWn&$;JF54rNVb! zk5jdo6i@if_-kASDV08N*md~@L1j*X2aeRP;{;-oqVI_753pJ&heAcHaV(Kan!^9# zu`Ecv4QON~ctEvmV6?|9L-77o^!LanGcx@R1g=QdyTw>)#~f{XTkOe-$D(?)`QbE;`QMq%(pG(0j7j1Mg*8anl*DG?UTOy%nw&5mkJry)TDo1Hd69UB&1PqqY4TG2ORsUzu36+BpbnWGd9FcdG){C%IHnZA1*9a8 zWOOK0wlmf->=?!R4crAu1Bq)XmnnRs&sOyKd4#4=u7E9Jpz3(kRfI-_eWtHZ71i0o zAGF-T>Nhyrn;u&5W&wpb83{xg#tk$c%NE_;H%*XS-nxt|u=wTTjf51?oFQ&TWJzAT zi2N%Z&_+g^0ZSLQY0JMNi>8A)g(~JYE`5#2 zbzOL;I#G+$QVgP=m>)aL8Ov$EyG{jGk*e-OVeMc-)?;K_osC3-GC>xb(7^s7GEtgB z{@!m7=jZ1Xs-(22HShOJ=CjLU)Qjyc+Pd1Ut@Sc)#g1XHnuATpsl^7 z(kn-}PLux@q*PqNK$JtBhT*t1EWn$=cPFX~=b&=wh^0JK`$_dqq% zpcoT!>CVfA1fAu?7&n1*K^a@~Z0X4m+s+qxT5m__mR*p*vij8~hyW#KEC-Af{IgxU zbR#HiBGlm(8?XyF-4lNocb}o$9D^qlt6YEliEVoVKTM*U&H_mbGRNQ zm1B{KHw_7xViC{8R*8@K^3L#_gKJ%S$}cAa-r01xIVa@bdBnx25TaBgFg+q9$vvx5 z@*I(OZ8AY={<;tH-uWrx4_Hum)lEN7i36VpP96ZI1Fy~ZP8o#vn>YnlcD%h~sYL4D z$1N>1U3IytqUApTtvV>F=q+JMwG-GSpHS#%atVosU_pQb^h~=z(0n0B0HuEl7NYFG z5u*@=6*lc%J_0=jZ`t6XZWV9gcEi36=%m{DKiD!9s@Mr@CKqjoO^9sEc_3VQU%a74 zkcuRbqr#Laa7iFG@gTC%HfIyH*zx^|GMUo3`5MvN zDrw3um6j67x@G=9cR zjQ;I#akw&pedM2m!|(2UxY;pL#a=7F-Pd<}*7S;(&2hi-1Na|tJBN(g(fks(Bgg-S zxSfBA+gDXr?nnZmSISnJfJl?VFx`{k52hdn%YsONL?iW$RZHbMYFV~hTiXtsG=%s* zf=&pzQ=MwtqcNCUp3ax5tLvAKDqngkRb%xEV9Q_P8Yt-P68_<01b@5UsgtiENc_=j z*oAG^Ix8W&aHjD>lQ(I!#ZLi`cXNUSq{ihh~bRo1)OiX7E;70Jnd#8 zjwL3zk(M}1B4w4$4a`AKjrTDq_quQ@q6-_8x?GxQfhPv{+d&oVeHdgY!@8ST{fg@t zt7k3I$)p00XwLq6!B7Q>+@hw80;$zDABcd(Bt?r3C-vIcSq{<>2QCait)V}QgN1Gi zUf^2jAk2g5szgGLs7E0%!Gl7VQXssN7Cw4hr3#<(4G^=IQ6$8rRAG3}L_-c`${;%Q+V@-C zWKY1l`eROVAigYt;XDtl?x-dGJb!&kRwm!6OOh4t3N`=Ux`GNhcF5^eBRX7{3!by= z7vcIW2k>9-!^8gb0LN$FkLUhp4E)_3%pbY$osmFqv6r@(0I%zG0KvXLNTjlb!%kXb zTeIpERQgwZCsI2Oxw3-l9jdshn)^vra5T&)JMo#fCeSw0%11i86pcy@V-Lo!F=%^U zhZ{61-(Jz_n1Y#IXCnFY8ph(1Vk*+=&ZnPJ70b!CUdf`(rjIGRUI;TPmL$lUB^_hh zyg(yb88HHT(nXXNQ&+*c0(D5FtVI13i8!cY0aJu)N?Q5~%2p+o(g(E1{|xny8*Z`CM}s%Qlqp%m0S zrj*=ize~-tp7DQpWe+#fxQrQC?5;m7a2*VX+_2WfN=Dx_**UdePoRwj+PrG+ z+L`_CMc(Xl;m)bMnV-<_6leX{;oaTmzrT{leRHxX{rhsWx+drGbT`k{Zi;%fHMARV zfA+PoGNWIVwKR3G@3P$2i9?t6Q}uV3zgdg?2k5`Zfpl2f_5=(7KmhT-h#ba-zmcOx zOWOWdg5h^02M(>VK}YbV_O(A0-m5leypd?~1xyeD#XM@L)vHtdE1!lx;0yi@xR=xW zj+7Gw!U^g}(oa%hg?EThbaHnlmt*PqT)n3kYd1qg8N_r3xBH{CeiR%K{$9Qj;O*?? z^=6Cxwm0}jiIKSdDqMbyz5!xuzo&9KhcD6t-2NDydr)o|{q;BjPr7()z)sNsIgIHm z2xnZkhKd+!SqsDmRivIsMlr?~qBT{x5F3P?VM!VVE8>U$XPF>C56eN2f?2SvdaJro z0D0b5tHew$Jd4#bJ7i9C6YYH}Vs@u-PAjEkRNq)pPIc+d6I_j}`{p{>)^Bv+W1R-y zC!k>zR=h+IBqB@BT++#v-*>?dnnt|{l2*Uq^d}*BX9|Lq!_x z);6_}^hQ&?5PR}0)xGr$f$ks3i9&7=bS1Y^p;!&00cBhYd6;pH4*=k^#&mMWXh83r zsLH`mix_=Six-T^ocBIXgcEd%pnM-6#m(E`YQ+|~az5VVlXRP;dmB9LTV1*axe6>Q z+z2{%vq?;`rBU!nqN!Xb#i`yY30-65=mwas!g=Ihn<55*yQ$XU>Eq0c?~Ce*WpDLe zM}v)-m-a9P(lR#%rYRJel(auGXf6Wg1m&34pv=m}uGWll>YXNgQ7esX*1S=aLKQNk z;SclZiq?t(%s&8F7f!D!)GUi$7wT{?tU<)H4YFoEb*henV6i1oHeBdV6!G)XLRCU6 z=jln^G@7fut$5)NI5L9F>q$>rN()V`ae6G=*gsKXsOUJ$V&x4Gs|$QkM4qV;Ery92 zf8Ou|@{Bl>!6_=s*T3QG6<95>j=(uB@`h8Olna&sBi7EVuiMv)3l9{bAucF2(u6h8x=sIlX>zcY)GHOQi{Fodm}^hjp%vJ(#^KNrZJkNCDc+7}5}2kT z3ioQUXEq(Y!Y#m@IJ=Pc>5#V-n_HWY>mApS5&MQH6l!z$$7#7xlZop};H@{7LO2vZ zag~ZwIw)@Ii`Zm{kMM4gM|krtewi+Q;ayyrF0Sz|vL9tzcopi9=36RC@|A%JeA$l8RF@|B8&*YUn$wF5<- z2Cm2mDx$7+=pf-w64_}EZ-I24k7 zx&ACr9zLua*P~HrK+IlLH~nF{Vn@LWNB%G~Cya`L7V<}Td09vTR9r!uw%v?2lqWH_lUV-t) z4Dl64$aG1-o-u!}W7(@#jss3$r?|+pk&JO8(-cA}lvHyeP(c+l3eRDs)GtT|8<^0W zYuLJ$yxU@UVC)P%W#m^|^U11+WEyn_>2>-pqCAb7)z5nu5t0qbVBmV@c>?tE5nGrZ z{S^UYaew^%KdYKp6NV+L7Xn{`z*ix72#0ntBvNB}?n`lbxw*-rA2%!|P(Q|{$~9H@ zF*Gcw-fNY}D#s>C1Qvnzfv^CX=e;zE#FJc+sNHvwt%N7QDnw~6CWcR2Lst?XkAwDJ zJCLb!t|5D&LU1eJ`jpLh8&GbF;8Zxpm6;kD@E$EXZ;`2af~ZS%R>}idEBG6XDu+=( ztcnS;qeNXojOAzq?|m&KxK@qBoTk#(>Jb@W&N=)DcW)}ZHuDiDArQdoD6qy0e7H)- z1I0vyLEGRBY6UU4uRvJ1V><|o+MG6gs$7^Fun!x^;b>%qa-cXpE+P7nUYu9Ej{#LF zh4-s{lY+|_9rm#_(NT0aD3dE@C*WC*{;Cj$I7F&pP*wdAv3027AO0AHF)2L-Q?dOTO;(1&( zj8V)ns+l2)J_ak!9TKByEJ$)EXH7P z=l&08=MISP2Bvyf?H%2sS~yi+Oh zV!i^CVVv@`2*>eVNLW*|EIZV{ES4pn#Hb#sWM!XpEfz~#j&<;IHmrE;9{xsPkDR;}Qq+G1P-!z}ka z({dH*^omeXrs<3D`!3YXU~P{C99=OxjwIhO1unKQ#XM8iLzc*p3!GDkAOgK`t~Y{V zi9e`zSs4L{+$dPFEywujqL``_vq>jXD0sRnzt9CL0~PJgfd&@WG-N~XAX@{_81iYv zw({~$VGh!OP`#lrhwPPP3t-!a+ybkMMjhpvdVU=W(g6|zL~DAKN#CpPmt4#|+b68U z3oo9Iub8fBvr}SjO-Ec@%j7dXkF`%0aKeJ`4rlXJ+i0h^n&NtRxz^X#*5Z>~3oC|Q zulU^UC+&=IR9C05)BI!H9D$!*GStnhp6iamYtF^=q1}6Q-6LEr)pLrp z_edt>vJcJ2#!Jpkf1n7d=Z9MpVSJ6ef>`kPxvdE@5`IG-&VeWY-d0(bL1|jhspj2j zs6dU~%aV!+O6!KLIXTpixmqx>U~oha+blwi6blN^3qS2v9!Wr#jcJC0UN+e}>TgRQ z6%OY~)#+yGbxLUzAnAOHtRtLlzPc4jm*`HOD(0(`@~x6p$~@-?TF_PltyF0<-1_Cn zn1*fwV4Ru~Tg3c`p0CK$++hO5`vd9T z2sP~$#>&#*ZJ-9cp4$dNU%8{m+&Why{k68~n}pkw5>;pD;6>yv)b{H15W$O?jA1XR z>nGFOtTDc40Xohd#=En#Fxh)cJcv%6o<)}o{S$$=hAeSc%&L8O^OHuIFsQcKBDmFDFm0i)ldo)PL_<>6fH)F`W$BKF8hYO%^49|r=OI&v8Akn!PnWehaDX|eJ;U!D&pX8qwQ~o-`8Al z!cJnlws_l~&sSI3)PJNro4UT=2LeY<``8>P4*YYBwe(#J(JqZvF#xsZD>okcfIjN{7yPRc}bRyQt?1gt$4aZ z@8mXnp_`k|`I6+k!|r+nqse&^w>Q__>Q#T;*Z1vg#C4~&OTZcKWd0VZky{kt_@`s zB6}c9{3Dt{!+a0ORfX<5M^-by;`QF<2%{0WL0S{qbn6Z$VG9f;YKzuVnAGLsm`M`l z13MC%Q_@zmi($X{2p6qmMQ$#MT9sT3$|Xl5N-8;dqhxEgt$Qw6sX?+PDbS@#fp_IG z;2G~rAwmbEjBp>mA;M<`I$D+Yq)VJ=nhZ=jTjT@eFA-s|xC7GdN?!dN@HMXz(KM0I zBRoR}%L{R^{jd+k+*}ubirk=p5vj-rw@eg!BvtrJZKp>~7c2{8S{VLcv8)70V50k$ zAz~jMhsV&#>!rlgX}n}9|G=QGq~(dYwWB|5|L&3+V>H=S4bp{Ghz0fBh*&604U0wf zm?ml!QQHo?MubN4h`xrCCfW+a+-RVnNZG^&Oz6lE>bT!cz@W_ujWGw}%T5|9AEIPI zJkwaIV_%?2nRVMe;u{ipTJ$&wOvS)v zf!uAIcxupNp7D%@mM^}gYs>kYl}cwtKH?ep)IM@63xPsj$O+)DU@G>(Pb@A|2jHsV&(ohX&}fL38(?vha&WKyA|+h5XK zJ@jX?dzys9U?HGo&OsXC*Kt@laRvq>FkfnUg6b%eBVR7wjI;Km%svoCTQo0QrZzfE znzwwY4Q{NabaPhjL74W(vt(gp+y_J3N~`Hs9pJ+G0h5B-;p<|Zu?-*R{W9Se2VuDs zcR7X6C=(24L_YVm_0fMuAfKaDPU!O3A*dcfTO1=m>iMdLFq<=yG zSA!f4{lMNU01??C8mEgphi0ZPWuk}M0JPbtEp>pXk9jNnhHqL-$dGj3qYn!Isy#>h z@6F;$8M&^lrzjoT*R)nnLii%kzC-}U%kwmy5j1RyT|YWBO8P5{I~+E9SSJ(43}{wiQE%t5wdsjx=uKE>Es z?be*KFpi^;SKkkbzt5u0G?R?;4?R6PfQ4p>G$NudFt)$^OEs zLk{G&=hI;7rk+*vZ{WIS zkpe$&MWl{+wZB!(40JzihmYb2o-I&Hx`pSY>qL$MQ~X2J-1M=3AcH??dF<9{%kk2J z#S}(dgXtn_wsS%v({`x#NUR^Y0q5=# z_j#fdUne_X8wPY*{_qceky%QR9UePCJ=de^wi7Vh?%vCA`4_ytwWdFBW8xAV%d-9$Q{Aa>3P6K0&nh=}R-XKzuph-M2ySb4A<{t&_ZNX7&j?DA zQ}D6pfGBUo^KCOwxa@__5Ad}ym znL*TJw5fAMK8SQyoH&C`!t9{icv!NA<*aA==6mm2uKw8%bD3V+szA9t^brzI|9D64}4W&boL1i+>M~ZsEj$UlO<5Mt3 z@nFECTZTAa$?Q&f1}G4Lv9YB!VBF`!2)7c)V+qPmN1;l{NpJmfLRkmtM7msjflc2k zR&V-x!@^c*&t`0FwUiFf8+)eNa5x<3)?7;|b{!mc=C#-X=+O99GZ5l$>8!^ylK`%t zR27L?{ZvbSUkif{3-y1DmeXc41}!%5z#}tlr`nH)s00fOi|UGRtOkQcJii@sBVMoE zdo4jfc(;8N-fb2h^W{`=0c~SLoHOWEG3@<988lI-631V1fU{gK|7X^Ep(sR*;1Ltj zfkz6X#AD2nD)Fp8`wO}IvT7byLHs{n<_nMY#{54 zN>(N?caUHT96UIIPNl$UN$_R4I=12PT&Rj_Izk?El6*YIMl_6YyXdSUazg$wT(=ow%FlVgmva=qJxnF>CHQq3?qaDqT%&)~i+goU8lw zZ~@AViW&Y0Ha!ZXV^Nz`NcflLB;7vg?`cLUmEw2?)i!n#F*dd&^QZ7bSHcc3BNPMe z1!e|ZB)m6jSJ^cbs7=9^R@1SdCGVBq*?shy!$KY_dV5tjbc6N87Elvc{)%`Sd`&c+ z`}Muyx``|qZDKo;6q%=$S#i|&@!7)X=cl)vXkg~p=~ZA&_xZo)r)yReiI?q@xf8?2 zxE06ZKD6Q-b(9!m7I$7(&r4Y~r9ax57uFl|4E@Vmu?s$4-o)Z_r`e!){j$$&3b@b*pl<%e8S_BRNSi1cR=akW^c85J=Hvk%YQA!6xa$d`K?qX)!?+Y53h#Wt(E(}rQ= z%Ki2N)#g3e{Pwx5(A8aqKIysi+MC|>V$zkh1aQ2d^1!q+F<8WMSc5*{h-G_!9Zj(w zo)t>^Q0D6nC-VaT()moTFkbK!TV6(id>eRI&^`P}{bUqahj4V_Cd?5|%jME{GdXY!u{Ec=H+ zj?;$ti5k*pWNkt-y8X!a&<|hVSdU{#E6iN~10nA{t3Cr{$TmwpjUGV9rFsc=_klgZ zKk)e`&`Xv}Jc%+Jle;S=I`37{l~_30&Yf>c7hLy!!ne&$Gk=48^+Wf4XMFj5yzDK^ zeC5RrQe3``4Sira_!49#7Im|e5MCbwe_zF=gT7x8&fF-^o*Yul0B$kief#bp`IYJy zX~2upLS1v*2R@KiH{EP4a&GyXr)_;2CWVi9>VMxW)wx$d&%Pfy&X)R?@XXU_+`JE= z(tLakspn<4)arMphyo0H0<_S+EIV52b$tGO9vwfuSx$H^T%wB^B|I3#G<3|+9Ot>< zxso(BEy>aRO9--<vy*h4dQUxL0*F%kU9l_z)qAEN65h#%EhjsyX(tD_AG^n#RoT-q%AHfNzTVXeoLWI(_euGd& z(ScF9Eicwkqc6~b;GAsZt5La79r?z4ajZ-=6q~aTP%RC|9SvwDmSW#qJA|#JHYYBhKE*n7( z10-P*tgEuRrp4e2yYXsj*=0{4=sBv`OvHACW&+K|zbOmdw~BU&s_WiF+K!24F84*{ zVI-DnS{et(TDty5MWQR*@vLU#(Jq+R-M2P!g%kGUsub3DXu=@XRy10B;bmr~h*z(J zZv5@7!{bobQ;m*Z_sGoT+B}TxT9}Fu8Qz2})cY_TIwKKC(Rpkpj?9}r9^b)Qp7P># z#e!x2HQ_X}=vHC)Q6eW4{=Qw7gVDo9%*AHIbN$CSQrF7e+T5qzX z3!qv&p@+e6uf3=j1*V|0Dzj__x3+kOh&SjLG?cXzpP`^BlLYml55Vm==jM`UDS|-} z4;BnoikmZMbj>1&K8N=QV-^%@A?=Cae@FlQXrt@2qs)WZ;)4pRY@`(sq!Nu+F5taT zh9SN#+6`=9 zI-n8$wSv4l@cV2o?ZHgo%~0meP~gp8=FMKfgNKY4FU|)m(Wl><_-^!N?f41n;BJlH zw?DBY#OTz94Fb-t7#is=l%O(}{EK6>JqYc|(lN8N(9C1ZYEK)jxc_&X zivh2D*oGJ6xE-06JWxPg%)UMt zya+ZX^R!^R`nKU9(BIzlUiJNmRp_!Dy*2CZQz+SkHgu_DOy4;za&<4EQf<0r@9f$J zj$LFQxX4o)V47zx9&W%kVjlO1>tDwuqLtV6x?j5oUg7@KNaF}y9^>ugUdM@!WztfHGgge;88h68p0le(&2KW?vr2inl+aqQZE7)__Hj}0!RcGF6 zdcGGjvoba%5Vc9qM?2<2E)^91Z;;FaDq|Gi&f7VFqt_ z$f-)utkAVfMdwT-mtLiPy+_ElIKu)m00FQ~caS}10?cLU23R(;xZldpR$q)GlEo`l zgcR3EsYIE}+EIpIbgm5H9hZi9A(ubfo${#A9*&fvMGcWcdcHO@ZwLgn2hx6O#h@tP zb~R8qT}ub4{224WlyL5N*sw8};D>AJf*5YT^lJUZdQ z$t+a`3Kpb#Cl$+V8X{TJMIgC4Mz8j5ZM3HgCLfq)^a!x}Kq<%oC&AQKunNt9@YGp~ zcwlV}<%Z2gS?o6@^`H5)tDz|WRznFy+Ugqt$Np*s+tDQLBk?Te8)JvUcpTzRaPKFc z%N-KXt838>sBEKXK*x^4{QdS?q_`)AP~SN7SH0>SH2rTuLX@a=uG7ayD5rR+g`s1$ zw^22K^IlD@5^Z3 z)Q1IIR?KOWpv0ny3rzfBIm8tVEwnNZa3w^W*{qXb_OfZYWn>?xAxjaS!V&x$@ue#n z@K3ZqSacDeAFQcqOg>cBrOc2<5Qady?O${h6QFm(%y;VAho}$`#1z18r2%Vuf(Zh} zjaS!+(>yTu^bDL9F%5Sn|zwX8$FT?5&RAs?ua{LVzH?Lx4;f?YK1l&=6K_ zrg0yw+cczn`L&1RMhcCUYJw7merK++9`x|@^78QT9Accb(Vjfx@%r#^X5nndGArB! zUN>BqsTX4!Z8=myY2wwYyEt}WQ9vMm#>B8lT9Dze2b_h&2xBwBm16gZWkP6{A!Uq} z2bdvlFM{8KPy@79`T7P1j&)ZriA&E0#@ZDvhw;o{s~qHc7%mua(Ty0hns5 z@1&xw?q@)78c-vR;Rv@N3rZO+GDtvBVeuqjl52D6x*IIR9u#mASQj;Pw4q8sTfLrk zPKe-MOo<-22faEW!z(gum>0~xqpxS+$<=~Gc{##;Xrq7aIgz9d2>Se1tAKKmY8Hb7 zETOH|wB)1J1|gX5^B5rOf(0)l?$aqJx(fy-jRa-IL3RgRno+sk9_g0j7>TH}!?A{e zDbfnLvcR#@%U>cxC`Tp$F+?s#J=G-k-qI6lHP1bZ9ZTTbJqb>)ElE=9|B}_~c=EN* zu_G3@xh&sl7i%xyLi9R%NH)|iDaO2n4~R?%ZainU*rvW+Z35`@*YuS>dhoqck2NiK zn#K0%(HoZ4kTSQK2NxmQ#u`?No3h#I$6$pc9Z(OFqH?0DE>4F=UE^5df#|yeGrHy>GUTHl(R}0D<|D?x{8EIaKgubCz~3v%lpvywIRxWT}-lsT!dvT4C=OK6^m1FPG1SG`nQ4`kSk7=X2MNB5+NxI zNXkrg+YG+Qa&K==-pN*VwpuIZyqw)OU3*u z*P89>smnj}(XBdh(IxqH`&R+V{=T7UKlkeU5?<=2M&)M%l3S4j^G)3sU|VH+(?Jf; z@7?ZuEq30&iG$Pga&-85xqoNdFj0`Ya9^-?ADOxki{B&VbGNtf`Og21{hz^|bV~Lj z)lau{Pw@ZB8`%GMBDBdLT4S^S)JvLE4%lsoKByp+E9=SeQa_tJ25r94{6FSZqcIXg zKYU3P(^=*~1mLJ!VXa2pWYSKrUy9vbed zT!1BEw}-mLajyNGz8#9tzE3SiCax#wIv|l?t%+KTVYQoX2)}xi5O+~l#}|TX-@B!0m)fTAIq9{ zDo0vvI`H~LDb?|A+cMM>vLM-R5)c!s*LcXu3mWRUZpSb;`zteaYEYE#St$TmjxK1Z z%vir_Ss&|6)w-w_E`*Ciu(BiGAbdd!4W@w6aF{F3Oo#(xUln%U4irws4w{AAupA_P z;UJ$ufi2HWOkN`tQ<%y+%uExO)7=h5ofT!T4b&dVkb$d!n?cU+A2}oQz9#%%KU*2~ zyevcm9F032i5MG?e--6?O`tXY%|U0OjiWYeq(4rf55=9tnKAS-W-hxW(Kkm8E$VB_tn zO+dvKaCPUQ#L?Dw4TA-Yb?6z%6R?3Nfe<4C`%ydy7sppjew)$>mfD#hm!_rCl_-y( z{0#w@o}^L=DO&LPCsN(BopcVkrn=!@-M;c(~M!1-T;wOznXN6R>F5<0Zab$Pf@?nnr z2S4lYog5>&%((|kFl8v?U$E8YhXlJzVionuM5Yw7{Fpc%9KqZd0u@+Mou_6za5R>J z5-rYpQ4S=g^y3GaJW=b;eN-EMf-x4Zt0|8y7TgDqHA>6iPE06m!XYspRO(eI%Z4ut zYXlFZLfE2>PYI`m-@ zJgI4;spvUkOamRfYoLh(|C_Pun=yfxgX)_R|CL;`|CD|0uf zzw}>7@WR-2^W%(b#un#J1zBA8tcMR$eyFTdr|zS)z=SAF%|uZm5lLJU-XxSZyuo%| zpv?OIHKZg}Y30&=mZ!Y9Kk82gg5N6vIVftnR7;Lc_(Stp2*cCKpa%i9TD}#+3kNKr^|Hr!F38W3XDHFO?b!D<|x(mkMb7*l8X{?I$yMRSY;76a`ewNMic z;DCdErWT@zWZ3Y*eZ2!9DrapaUtT|aOA{DhOST~gR1}r@<+R}hm!7`*0Qx%B0=aa ziOXJxnCDVva5^XrFP?XF(F^Al6yqbiwvHfr4lZ|OQ(%x%=3Be+M2Nl*N8(uI7cS-v z`yyFB1Hu>%1Zk~)!b!JPr7>c5;GXaIqiunECtg?5nm`>ZEQ#98iVG-b65b3V&J%zu!%3hZWwe`=@E&$A-i$X;z^ z{GJDE==hc=9gm9pjhEK-_SGBvw|3xQ>lj2(X&TZDVj`-W*#u1L(Kk!gvf86OD&hTd z|ED2S(^$!<=g|<;8sO+C{d_d2bn|b~hL!E2e(wP{tC*McxRMd9j5+p6t}yg=zO9?o zeqBN5ZQPgyc+o7)JE77HRE0hSd-yrrWlYIJQDoNz!G4LtH9-#R+JjF+aY{qNuPd@T z^QYlnAv65aQ*7JzQT!SrKqpYOb9os^3Uz-)NkC#Hh!W;j zf>KNNj!vlO+-^QgM*GGw+O1@jjolI^)m}BQY^N}4>`UJqE|?n&7bph>IwnIEIu0_CX3S{*BvQO262I(4>kDBXDrRhRT?Y;HnwdS7hbLx07J? z=$1NcO>xO>QE*y)P^j6ci9g{1TSc?4y$>z4@i2=lco#B#){SGnxPk`;x*bUY6WmG7+uJm9(DLgyXRfdo)LWJ-1uf{{B{kZ z9id~NVcFTpmT6>V*shD+k@D%e;8xhbe%<~v;@P$Cmul<^$^E?kQoYeKaRc-5eOdqP zJwj*u-tC&oY`g7AyH8A-O^7a3j&gn{=Gjm-1O|f>0*=Svx`MC{hD@&0ISUEyaFgK_ z4I><~a(fX5>z&)GHd<7@yfg0J^_6cS5@t!t&R$LE-G0U47`Jf1$(I00U7KSjcHl)s zvr*wf;q4-gj{i$?CUiutzu_#-+# zUU)TQLT1N~t!z}Zq3`{>&!V~5cUD@T_cf<2_MQ>lAoP|%8kq}yge|D6Y$HSE#`e%R zloHW>elGs!KAfeUZ6Ui%j>Q5W_E*=q-@O>(%T~ikEjlf|!3Pf2galKZnZyZ|bVapZ~6zv>g{m ze{d|>a@L?!#;Jy>-m_@%Y{O~0tR|)~*gxD=X|4pWg>y9T^gdvfTl~BBruTl^-7(vH z`4`f%g{^rB$Dd!Ahln5B9{%ZcJ05ZeC#D}sZTojzGm%DTp;j zxbjB=QWH!FKTjYg^q1CDjFAp<06YVGZ6dLv4ohI9S$|-DN>R~PdQLWC#U{;&9dY~ccB^1 zZHuz($+Od-R7mgqrE^ycoH4p}I^N|$iA9K; z8mITWzZjpi{0P-3+lE#IRZ z>aAbf(Jgq(2mYOz*UlHd1`yNHJgA9(bQBr1$!N^RXmSfi?VpdsE99BLf6}ECCIM<~ z)6X54s51BZSKi%Zn6tJRfq` zPNV#(vN{Dao5c;v$!S~$)LkgoukMtZfCe{PXxNer$pcE-OQXJ49t+Z>&stQ31EU_K z>J*HAn1D$gD|UMW|LPJ+mbHAY7Y2dOG0to)woRu!VN!4g#O{oK7X|7#NcMD)DV;gn zQE^h1C~n+R$)a`mk&6>p(ZXq7Suc=9M>6oL`>pd0H#Q^_ z2EJHhYxk|gv#5m15yQX^Q>p+ow>%x6@&?TAY<%6WJUWpX+O2rJ$c(t8+`ON#A{Zs& zXc9g*@X3crBPNDBza%5sjH>BQEkf*WUK<}gs#+S(UR;Z{O>4A!W&{9yy>p0qx`w1f zNe~h>;(fs_2iqW>-~zVFWFSxs*|qD?EUU^zL6F|>W$xJ^Ue9hwM@@Fw$AZMIN&mRa zMb-@ZH~zTGTbk)arnLTmj|27^7nc`0I>Fq)dNd+(q%=JMEJt;FEFdTxk!IYM_V4?H zmj=`x3ACZDcph=@A4qeKT4#a_$w5Cdb@ns4GG31nW7mO^V-{Jf4r2m`4D8gi{9j-()F^RHvbumoK@n-bqH(e$Tk@{LN4 zH`}@a$1dRwIlu!Vi)}Z|ODJSw1t}Pv=#{&S^_Y5xCb7% z+c3?YL@xsYC!~!TaAasWW(a=Vg0e_~5%R~al5}Gib{!98o4E-40Sv@E$zY9-gGSEE z9_*0Db6HvnYsH|kl!o-Kkz~Z4Ac@>B;B>XIa>rTm6}O@jp`>F=FGlFTu$+Hc0Q|z! zx?Pb4h8f8jtf+!Kh3o@OCYq>1mn*@_6iFenXYSa!u8@{Z1T@i_KjT*TlV`hP0*`by z6nSn9c14|7P)@5T!~o2L5gKG3=~Lzs*xUug&rIeN^p%TsV~wBaY(%!Xofp>XNA#u) zPp0=UUdgJ|Dd0#@W;f~pClqu}5R-~=Oay?bvypAPf}rp}A0WvQpAG?I0gq0>ObJ~y zV0jsJfF1TD$KVbc+a_!=xC_?u<3pHqz?TW0A>cbT!23;<21>^XMBuPrKdzBd4cg=N zQKQDXL0hh#dqMEh4(exCTZs;HgL~-00pVq+?|<@3Uu;qPi%U*qz2YXu0c(M3n~5mx zDW$-0O0a}a2!`|hkJG~|Z&si~%i}X|XEn9Ovt6ZhD&GKUXA@+Xj(2~-a6zjI#-Hrk z5R|mh+fu~+gpu|j6$fL#B!$+}ZzV)vnZL=Q(3?WmT;ZE%l}vOMO2vW+BZT!pxVlu8 z7V+UuO-Dr)%KF$t`?vE;tU>Fgv>(enJ8C>OsWA`kz(~ZL#7JnT$3LDu`aVI~Vj9wl z8BxN|0G^7QZ355DIsVSDO;RKoQv&3vnCq<5wi+%ZET7x#R2?JE1-`jC$G_f-?m*Fc z-c+=>T?Xy~81h9RV@iRd;BX@f>tOO+`SciM20Py7Q#h&n7kXLyjayNayhCX1m7)#h(6qte>mqVH8!=TB*<`hc!TD&)$SrX zxJu%1tdMfzDKQ$`yMol62R7xhoHAG)gK%f3!6BUL(iw?# z!y1Uus%}b<-a~}oCeLig*PbvMS3&JmYSjX@)j+hw!o(V2g|p>k>E+nyT6XlRvUo%4 zKAU@=6?G@oQ15x7JKcmIJ^r|CFFZSHv!&;6z z9kn8h<3o`$sx8gxSDnutH`V35JR`^+%ISXaHDVErH&7-35Iss<<9~;J+NCjO^}H-t z1^zD)F4azu$xyGRmySoKWO&aV(YjQ46{0~XPArBRLNZvD8~s;g1O&pW{Vlc(rjH$r zwB8MpwUH$|WEk_*O$4kthS&kVVh@vt^W+AHyRUCgTN0M#B!rxNIquE2f3a0 zGVkV^)pd&Drv6X3AA~Kc7%(cmC)s^iBVZ7uzSjRcd%;yse;nK3joNV_cI1$aUK|x>>m3A@I<}rDj{_S1R*@+H34c%K|7e|41@-t+6~e{t;=rbq1Fd zw>;9GozgE*iOKcD?m0|@%)pPS=p(XCw z=qy}r6n&3A|HPW5F5}dV_MY~MvIX0${g=MK?d@~S-&2MWe)t!^ueVpm&!&s0XYEe0 z2l8Ayh{in-C#=l|?4a{kth$AEDLzW(DiBQ9JH1E|%VXA-O-{NWq*$#taoI`8anXyM>@nxfpjW6tWFALff{qPQ$vR%&ucwBDED-do(}F z_uV3E{NBavE1x|w271ZF+=m>sNna#0-!Zyjwk=Oa2cQgD*PycjM1pd(!`A+w;fjC;3$UfGDy5L~L7f2wjUbA!Q`cMAr^B>8%QEmh&r=*x*S@>K$#I z%!E7y&w7RbBpu>pZs;IMO)`I{WO6;uVrD+M%eE!^n_}F9(bmsDFyo_#;)79l3iRDI z#CrjM+@tSx``QJck2zB0?^5ftw>+Qg#+XqzFiZRTw?5a-YR~Z^Tazqhjr*jM^8*>n zLHO!`9~wPUR4@9N#*KzO4}K<(9={i$T1)3)Gxk^X%AIE4l^6{YEtyjrNs)wVISX`W z%=&a7-s=}_8z?!<`fL!I69A6)XE63C46Zes3jPwCv6e0cNv77L&R$o0O@5T~oZz6*HpmORHNtQ6+f+v8nV5i*^T-af76l zn1T>~ZkgqvY$E{ck?t6CNgA8m{OJH3lLroKCVa5Cg%`)+LhK-Fx-45ywHYgRq7@vO zJM1z9r;}@JB7m(91$&wxOR`L*Qy)oPBrw>`{I{=%F>e>#tQY#oFLiT13sheiIR*fR z`!?1PN&R3fjAzE)br`-6_0EEZ=swZXxR?SZqyuzb(FbjouY1P_6+Ty7a|Gs;XO2n- z3IE71vJ%?eECT`uk7O@yN5ek$M(5K+2fC>TXb?-52N1R}vH_sU+r*=kjb;uIT~}e* z3pMro;@1}FSkkuvY>hwU4NO{Da`*o_D4yL$i3mGMGy6Yk!c{|~V0c5o=%8W_@g7bm z58<3JJkUQ65FbJoNyq6neBwRNYwaA5a=0We>UD=?MpHz4HzRcS9WS#rn*zvq$n}d< zafG2iO|az@Agg<5pY6HLKk{%MxD!~TagzKQ)nG-E!Q&@{vp(V7z-ZfI55{J$;RlhY z`YKDkzLqwU~o?bfMd=i z#^@e}wQUOIl%X>0f;?oQ#;lOtr;q9p2><@E;jY#viaY{q%ma3I3x5}3I;0C1$2Zdm zp0H7PU|`7^2R1VvjMsPDgiA^tfKF7*qkc}to1v{XAlr+p~ zXOwYB6K|X;M*$UQ5k9enn&E4l142yDTyJWjXna%KtG7#Pi=73(`4~0WgJgN}Y@@_K z^DElXSfZ^ieKTV#fFDs9F_+&u`prcH&*aK%}u^` z9iv~40J60r+n9HS!I`bqRP^|y^51^G1OHmF(2JMLe#oPBJle|QAdpQsPDk(1_axzN zH9)lk92v*B$9Tpc?k5Ij-^d(sY#TH$iGGH@3OHP>WV=!y><$gWVose6H4NW3z&1jbLh<;CBG^$LuJPHEUb2kIZq0VSM+VdCQW! zhPnvjutT6)q+h`I`y>FM-N%@&l-NP_PY+R18WZckx90zUowTRAY!B{Qh8krcd))MQ|bqPeTZ2&}q| z+SUBc(HLS{l9j9aUwA@4K9=1mE)0*D;g-O4fN^%Yqr;9N6%;aMF*x^bb6I0xo@sxG zVx=+&MP>f9%O#9%debrc8g&C0Ra1F8s%qEDl9G+$@TzifRU+-H$*#iZ8$;EaGUPa# zV}*e(s?VTO+E^(Z3<(^W>u9=99`lBZc#@!JV;~j1p46o zDgj=tZ#T%Wji?~dXXa`LU)&e~B>f^}Za()D4_bTftrtjO0Ve9E@VL%%nXlB4c5p1v zw70ITg^IstnlL}q3s-yO*d;!wP^HoF2Q&aQC=ItQv}}P&W2N=q4S}*_LO&Of*r*w= z-b&W*)JaSq*<{szNa5b$`JGix%LiueR7^WQ+uqknKi7M(&P>c3y=}i|CgANE>>D4` zUiy2m4GZCw3=5W)W8gvE?*;cY?;8BhZjTU*oA{vOE1!r2 z&l-5W(hEFrzuGQ*Mgz@Q9^-L73J)j=!9tWx&_<6KfdZ9~m<;OEXx;&!Cdd;8F?d@= zPC(ku)-Hd)hR={$i-@09B(2ARE9+*Nt-BDl_hKwhstp4DPGbNe5FMwIs@%2G{<^fx zo|w?`P&s13ETiR_P$i-{mj)>_~6OCFd~#-#etO0G?5Q*YCJr2R>u(2 z`9LWRiBR#mSJQC|E*EbRgL%;{yHC_5YXl-&3mmW9;&tUG}go1$JJQI{Sv?s z7?OWAuGHv@?5H$el7(KIjsnh!#A_OOSjt>Y9lA=d8Fn$TqX4j z2kxw-$|__Y4)AeROc3zl*%r#;xc&ggJk5SEj>H&uaB9q@=myX-glaJv-yn|_Pu?nb z$Zg|mNS|4$CCUrYAhg?j<>W!~iDfJv%FnDgB>BWjoxrUmL$mh%vmM`dQUpC%IuM(NSi_FQ_^brC}$gFS^n z<^?k@ZAJu_q(AM@G07jA+>Lm0$GzKS=i`iWxP@}bj*GDfUqgfRjyai9BUGCbJTK`M zYj=yuxrO4i?>o=eM5j}L6%9od%ZA_HUhA$PHr`BW4n{nnQO@#R%9Cfs#r}u0e`>F+ zi@Ju&0jeAK0c_?o(rP)dJYv*XS3ett(axa+N&eIDB$%>b3ogqh zbUp3+5Q59%D9TVap&G@pO`_WrYnb^9QDKDYqGn|v`8<=LNL;c10gI0W8zWYlbcIuc zEBdHyY9}z`5)~Va8F1tbq~PYBL>-_MQp);3Hi)(f4w+;oG_MuRN1$Nn*%Sb87`T4m z=lcyHcZSwAg<3%n8L7W8QbWNZ_WK% zK{V-pR1~qrz@%w9DjFf2HWYHJD%jCa={UzeHNWr=4KSS2&1qD8*pT#_a_IX*?XRXw z$46|Oq@#(rvy1|3skl$$!ZG*di!%|YZ^b3b+dZaobJ&cCKE-zBvS^6Q*=Rk$G5We+hi#eHv#+H z3_qXrA7*A1eZuH1w7fJ>KN*q|$^|ThW}hZL#2v6gS(Zv^yn)vRYJkv`KEv%fyi&@- z4!IKSX|}3c;+JRgh8>87NeRoi?WZ%l1TNP7naRKLSzW7A4IM)XxxAymhoRPl;!^{t z;-e0-XNUV65Q=9%;1Bg3vj`L2*EBrlW&K9JnXm0QD{wnR;K4v3hRNe%( zB^|xWcd!{@VCwqv_21q2LKc#MPvFK^;B5DuW3$1mH&=022 z;2o_r$W5v@P3FHHCpt-TgUb5B7TBgcl+KvMcu0GH_=BCC4>01#%}<(L+RdMJfUl%l zMr6yw$ccmiBJx$GucXredW2J;!)qZmjDkAVn~ae`8I|}qyJ8Iv}R+xjtkV>IK%?i9q<&HmY37SzhB`2tPuO5=bAN{X~pM*EKoWr%`Q?7H#-IOo^3j>-Z0 z6~NllH@3?pdr=#N7=v#0r@x{-2~p@2nAkBgV7<>aSCR75P-AR7?SFe}h$*(le)#%= z5f1uIKPxa~w!2=Pr?D-&4y;Wa==-`IyzW-M2rx|PceL8=?e0Ekb6|Bn8-AO^YY}Lf+b!M+O1WWc}aR*#E=)pNS2zSq zs`@|8O`nDixyRuzW2#;{Z}e=NpuVL%o5$PXAGMM6^k?)$|lItHcUw9?dsZb(&yV2)C-XsGN&CNTw`Cw&N}I96_LEz|IPq8w3m|+u zQ{;OC}|{koNCPk{VcKoV5T$JyB{G8 zbnUPb?YNQBJxJc6X(palYaOKX1Nid}s~(M!DdG|1$?zW6U{G}VKSyo~IsDz@j42b% zvlgExPb0p?UoK4?!0Z7@ond~gMb4`i zHy=gTNZ4KVLAWO7j}e9SBkry{0i_-;7Ige%ZWMdfq0t3$lHHCK@;_yIH&h|!h&wtX z!(3ctEShE0WxGZVN0|>CykKh>tR$xVg`D;S+sF|C577(|tn-VN)wqidzIX|8Nw)|Z zk*&$RyscY%#0UHr_Ni^?Tj@o>E*BYJd%ynuH5T9dFyW^W(pPE7*FwMk<8=z(`w`(M z3m=K~2>4*s%LSwF!Or87`^V~Pu53N=a=Vi)D_>Qd?f3T}*iF1cfJ7Cu0Y`C}rBX5L zd;#wbWB;4~*eXDEuqWwyYHp*5!IrLXNahGT?#e2RA6bZeI9AEkApvsouaQZ@`$S%4 z6Hd|(*O73~%7M4R1Ifj{O73CVa(Rq@$@GaDc-7&Rik9i6lc%n+*CDgK8dN2&%NKyxtUw2FuvUwgV$T1^k+?`cEIwiJjT!7(w5tEg`9E-X&l%89_Jpf3K4 zX?z}0$aIg>s5rmkG$%Ck+_LbzLK;XfuHQ1T8qd^Zb{G;PNd+cl%z5aR{65#*?gye_ zV?gaq5a*r_0<{-dEt$S;L(xEUt)QNU-;o8K&}IqUWptyEWM?L_dIs^1coOIy zOe>D@0%wk)l~RzAq)&i&U(|3Ny7SPk=n4ja(KB&}rFG-f8QB**>~t`S#uDn`tCrb) z??$h^Y+q{?%w6ThUwI4QucO%1k*n(Nmu8e84*^$5#%a11d#@{>jS0X`$_IF+L@XSL zVb}_IsMc>r=Dnl}DYMyy&~-8Zfh^mqQbhfWKZ5ET(t1jR&tUGE>R&q&WRd4K3K*Ht zZj5sxL1DgY^FjKeUra(2li2Zar?fxoo~t^7V_YM-R2eozz~I)#lEZJMUm;**SX1Ly z1m|3}iYGZje8z{p>W?G=Hva-fPChb<%p)ZMrxj?#{X8$ZLW;e) zxk@UvTYJ1q*j2GQggCTHP9?WRr4)=05m{#T|9(4bVRx2wFouq5vm)5Hk6 z1FheqxQ!Lvv}l+4>r*POOP0URvS+iZX?UJ*04XOIUgHd!PnExA?6b zFD^h*1^DWPzM?&-w`is7W#!gT6=tERF&go)DP4R|+(r|=b*=8HR_{#UQ{GAAuKf~| zH1E{Ek-h+S@Hg@2E#2B|{_;d7y~n=hV`^blP+G2tS24=Zt#$a$9RU@s1f}7>r0drw zEXl-MSZT0iN2tcu3)BFeJPPE}V+-|)B=*$W!YkKz)~t%O&J)vq?X_n1L>1S?Cn06b zP8FLi%a+5)^(V6TqA8BYEeF2hSfZwMeq1c#ogYW{ov`A6-*fA0OgLwD4g)mA99d>p zZ*9%t529)VZ6&JvZXo-kN;{abrjDxLe5X9%lbXSNpI%>@Z6y?l8YVaTZ&q`BxO`nb zJD-m(b|)8aZznI>&&m&$tD#Po^}7fNI$!_CAq;-kNu=X@?g8zwm=`w96-M$2W+>xx;h*aggx47 zGV0$3yMMW&&9c@lNR)=Pywi4Y8<>vjb^2K$zqn@`T`+?n9!V#sAC#awKA)$uOjO3w zM>-b!izMPVig?E6+npey(rBW?A}LqUX@o%87t3GB)1mv=LXhtLYT!^W`N+=nwGkt) zSV-+9{?U#6V)RF@9L`X8ggF3C6RcbDr|(1$N6(IM+IyV0O;iDr44Y4$7Fh}TYRS(Z zujH$k<{!+Abm0sKiT%5|zT`xdGU3v)N+lEQcv$fA`L z_rM>g7@HV!!~^K>hL4X@#2b?+em3@0i`ENYA!wwIOH*ypk6F?G3oorV}|LTD4&&sb)-JHkxOQGOlQL zOzgC&g|pp`+Z{Edd{Rb~uv|wiv+J$KT1_N8{doSHFUZq!0=T;9l|u{ig?=LY`}xxq z)$@nuPo(ER{y7xS(=eZo{$KIi-DJ<};Jz8#-4x%>cEZwF_en&XUu<3#wYL$o@+Az) zgLKReu}IcoI5UiPEjNe;v$hqmB%L7=HW)f)^bx3GP6=iBHmv{r+_G%$T|`&KpQCJM z+D0gt2&GbppZ=~-Flb+jc-kECkvdzMC@9y&%xg<(s2Gq8&M=mAE~c}gMIiILY z5!5GSn&HPQ1fpxOjYYXme=@pvKjH??Qf|%5n1uaF4J?m`nNz5rt99cwn4tgCQV4wQxhet*mf`khv5QX5mvnZc7U?!eHrc{K>ajVUZjZhRt zm^Dm2QGKBt-UEe`H+0B=>YQgex73Te^lV9v_ze`%x8|8lZrylBs)tBRTg4hhYg>gz zs2Jcj>NX1!Lam&HGKMvxya*hkUXtD)NnTQ=<52tesE|69xKWJK&^=9MVnd>O=M>b> zE}vt$%kW0GKA%}T5)OD0yN0n2fVis;3?20vJWO;FmJ;4-L%5;V?Un?B)DcuY=6P8x z;mA@OPJxpt|6DZJMYFVjRi;Sen; zEQYhP>FTcdmu!=TqcB6Au65Ghmvcv2tCiF=v?V4KS8nq}mK@DR_GtRp{HklQb!l@K z=9_`E`dgHLW9dygCcl(N+hEjgDs)*}lkVp(#e^*zer(eA7+i{seKP;V4OzBTkeOUp z@*&)6KjCbTsUisdV$~ni9x(1N^g)%zL}PEpgY@m_;^*Sx0yU-kq0JC2ztwd>`M%Hj z6VS5{{Iv-C@$u+c8nvZRVbPpt&HEdEUI1os_wwFW{`BbAJhi%>xv^R~LcqL%-fAF7 z3o61q#bJ4;oiSx^$xZp6wKn!81Ev!X!u;#jg^cfzB%bIz6fB4(tn<_?^(AWnps)EY zv#TjE{xu)fztO=Un_|_Wm)!s6pLXCNP$f~5Gtixt(9zIOwY&ZZMa46{6_90|KvY)_ z$b9xVkO=Jx=MuH@LgpMWKYJZMJP-9e%4~jgv?TkOo{3oSR#Acc-6(Jw^~c(GfVP1% zECG2OFU!fkC#FrX{JmSH^H^yQRHW`!%+TD=w*qcQxC72`Lc|;8v$pt%TN}1Cwk)%j zf5nyMcY_y)h>MF{Txr7!YyUO1_!p|kbKdY0FsYF70pVJq&W?8LDFNd_ zvGWTdDW4Tf%Z z%uybrJ*3(2?4)U_G(lWoFoCgjHp%Fc{1ZX3e{22mY?*P(#|4;nFKmFsXv_XJu#gpA z7T@ZFt5SHNzdee>qW!p!L)JN}UqqeE;P)M~G^7vHi~dX4+usTMBG&plVgLOGEtvSl zE@l{pIo=IB`YN@fAI}Y~Na|&G9KMNyA?>uQXeYwsL36XQ1HjL9NlJEDvn|)Li6QtL z$Kc&;YQ=VOQHpDg91A6AS~iNA^`2=lj}&c{GdjObNFRnf@F^3-cb%|%2GA{#5J!_a zp2t%5XrGIfy`wU5e~Y@P{77*n1|yb+eI*$#x^SK^Jf-l>9XmbRAVd}ya#{t%_fU;G zhYAO%APmQ$lBk+mujoT8VPFaBe@PvgoSvwOEqPRUKedL^ES7FtgzsZF8}Gz3vmZh( zXf7SKG64|h5EvVbDTXb@7`l->SaD?mZP&5_lf|JM{D(48q&z6$iGQ0);bus6#D$8v z)RE{H$a7FbX&<;S+`DjI4a{@!Zj$VkIjkWC!TO9>E*T3|w_wE8C)@IfQ%>2 zjH#!hF;+Hf2#<&9W3;EWI0(H7j>+d5nY;EH9l3I|eB_ft43W{S+1T~FUfNHo6V#O| zpp9W?-%*p6Oj0hCveY_Wh^S?qAA;^?oqE|CZQftT!(E<2;*uo-NKR!iy#-OK_W2iLk{j*#&M;1T8OU|Os7F*7rW zB8PJ;APR+?z*CZRHZL8rY-xOtq~Ehfw6!P#kPAF{9$@eI)`W6{Zn<4;XZ=_m+8}kO zn5b{2Vs7{t!+j+nQdi%?hqhV(Bx38zBsUm!c zRXHtzfbz39oLBt5iH&hO327!fu8#SJ_&*EU5j8j2+~UtXx_Qo`if2Y6=0mOY8Kyn8 zb@a)HGxF>56Mj6#tDWfQ{iha%r`z(nzbVA3VQq$!`@%QE9fk*zlP%h@2#d_}Ia=5- zQ~II2uxux@!{k=FDQ5&5g$^`kz)w}J8=37sTG;x<3yuTh|A6H|Ao^C&QZ|Ql2?iTO z?%4&cn}SI=Ps5Mwgp0>pmu$-#0!eu^d{M$kZ0QgyRCG3IxpYhdB&8*;eD<`Lc8xyBZ-hGd|!{kMY9UV#=W z9;afKTHxyb8@0f5#$NwME$;ASQvAV%Wx6Jcit}3=|86ZzF&@o;`7+ko1+znvOh$_U zjKD&k@*S`l{$21EPJIkYrZn;d?Q58Gb~FRjDoQQj9Yatvvf^xhWb0h*FV$|vh)#Y= zjJCOd`N|G$X?LU)S9z)1g8J&O$Dba~faxohcII7Myo@c%8B6K@54#X3{6mpe{lg3lh?_G! zD`-5)N1H}m*eaoIFw_?kYz%J)7d<)Ff*P_{a4x2Px8g zM@M};@_KMD5j|@a50@?FWMwHVmlItL(^sAzRF=?I;2vX^xG1N-Z&^?gzqibdJYX0c z!O^UVDk%)9qJ(ysT~ea?`plVRV)AEW(pLs`O_+`d_E}WLeGtxPXj&c@oQ3m);U$N~E*IWO>p5<5 zD24&Eh-YSoh@^jh3r=mX;mXYHK;-z43v;u?SgGtsz|lXWuVO_HJ&-^j)2E)J!xTQN$Xz%hK~?bq6g zYz!_Ec3o2UdNAg52s2vreiy_hwj2beO9_l9%`4eNlQ7Lh2ic>ikE;1pUzSG~C!g?R zTsmTFX804;PcSJ>agNIs%hty(0#E$UIdsZ#{S88u>lhv>fm++Y{Sv%SY3PnDxc-vxmj@w_* z$Vf#yVAmnc#HC;#wUsAY5dd7NNB!rure+5YhD(^^e=yy~!(n>vVrOi#&^3To)#ifo zdc@10mgz`I{VS8?VorRjK~V$|#~9R)l}099Q-aG@# zt*e=2$cZ5hm2t8?OUQ5;8vKXsp4#+0sC#dRt&{K}5LEU2ND`sBmJ8`DYoErDOYIhD zMN$mBvg-Jeo4bwBTr5GMqtKY#)`W7bXUquhUm(3Vg}UXKDhID#cb}BJykA8`rwvDf z4Y8S>mmx2UsL0I*-GzFo$UqH*!Yf$Z-dv$~WP?2A2JMRJa8lSK=H=q$)#RptbY(mi z0Omd`URiC<#7qRygQx?O?I03*;Sl@0S8LAwe0a7)PX`nSA1KN1?YL?PU?a*Bm1VE% zrDYF>?1W8nG|fv(LPky^LrkkKVR~`ybhEXmAYY%4A+u~0=Au~CM5F|$mqqn8GkOPx zQCh+YNqN102^KGwNcE>luNw9_ZrN~Lw81v8y~02S-9=ylp#J$7oSCk_aRM~>CR%)o!;ohA{*;44|Rv@B4Co)D+q$fn6 zbDTI3cxN5UNM1%$qnuwf3Kc`abU%=1|F?2k$}njj;(PB+s>(4m{KS#8>b0>z>o&Z` zzI1`Nl6cRwwJB%k9@5_Cq?tSt2psK*sLt9IM4to4< zknv6L*}?-~M2GiiSKt1o(bM+Nrd1J-)h5^T=W3=%-s{-BsHex+Alvk69!KlvRTki; z*LC{*k)SMNhT_vqt}}SbTE--vPJEtsZDY9faMeGvVh85BkLgL(5p9pM6dZYhBqj$VqG_DYQ zP_=UH0CXXuKV2Qw0`8=fPhfmcpsBhNdK$yLYH{1fUKv=_-~N3N%>!s1Itx@efXTtp z)2f1AOSgPic(Qj6{sDDPb(ac82)2Kv_ZO;j z{VJgc>7eBzUchBxp1i5uS&N5aOc<$OaG&`3%-D_5&k>td90ZoKLGi!}LH)S-Yhb>h zI;Zd~h-PmvD>_hrXbFCmHNQS7_@`8jb|5_F!gaFhU^E1)mpps^yEPB)PdI83OIZeg zex6itG3(h{Ma9b4JjppgOz;n5avQ1sw?M--?c9xPc{bh1s0Hwu>oAe?pXu{4xg$y< z{Mj4@D^THhJF2#Unm0wMFNrVE5!Q z#3lT@gQn*+sflfu^MT@84LFtCvto57$r0=A5;UI@*S-OY$NWj^BsJ&!ahl=2Qtg7IqhU zu&q9T(Kz(CkyAMv`vf$ve%R4cJ85L-)#>D^0fSHmrdd-yxuO3lG!1~khr zmjOWDPy|M)Xy&RHf04fG`0WtLC0r>h0##9~B#)mCE8PLR;Op?>zSkh1?3Wb=O7)i4_D;e=nh?$V=t$p`XV5uyRt)i(a z_C1&Un3`Lyb0?8aEK02=T7kXxT$@0;bxGh#90tr%RVN7EQ+~ntMjWWG? zn~G0d!l#^0*)J?^g3uOmvxA<&O?48eX;5{<-U7v9agk52T(5FjRe85xQQBVH&ZfxD zRQoXN+@uAXshOE{F_k+i8kNl3w^)EWPEW4lX>`v~KMS$FYiVUGTE>d%pPJ6OTC94S zd!w1}(b>>lhH$ico9c0M(%jq*>il{xs`RI_ zSFDe1NW(tOM0qafCxG%yCbSUsU~I&CT3iG*Mr+-8AT6R3>l0qArkeH3${4?|#iR4% zT16VpRxtFdUL)y}T)G9s8vD6b#M2tP3n|uz+$J0%39x-|OQ)^pQ&!xc>%wFQ%F4^D zDsxhqp-g$Ru+YT6-nk+X%|IlZU|(4bf1C}GuR`)6?Iw*)h>kW>GL592f$1c$)5Y2d@Qq?#^jOexbB^L*VF`_0rCoQyrMBsE2`!H8mZ*x+ z=jo94lfGKg`%UtcC^5!8jbh<6E*o2qm2*o4_2flOz^mdBwdXzt2;%La7S9&sbd*9? z5HAFl7XnG=%*qR=#S5o3q;g^;^(*4Lu;aRP$i1aZ(GY)nq2>SJa`$--5#|?o{{f>3 ztg3{`eWOX4of#36sF9pVd1rep*>kswU23Q*(%$DmLwx!903EWxPX05*IftW{{vX>Y zA2BOr7&>Z7nN2L_OR&B=ryjPntCFrIQ~1N-G95Cj=$=4D0X*=d=m3GN~!Hl2{!YfWP2v1Gds~0i__Uh zl+uciRp~1nl1sS!HMlG%va}A*dv|)09Em?BoAp|cMYa$+pmWv4oTuHLh2TCZUUN+~ z#!V$KUoy(rAKWE4$9EbLdHqPORPy?p$0$&3UmZi=s&pceO>C zgwEH7;@g6l_hGnrztBUHGl1DJ7Q!`QKXlm4kn_Qs_(vyqq;tiGda~C5O5(zG4h~kO z2mI>AVZoU%oK57embCPhVf2T3*1z3;^YEa0FXo|yUkCNdjDet=6sdsgh_MoL--BWb z#3JkcJr-kyie4oao2}JsNs;qu6iTIJY98%!Sct{E#l}yyeF?Bg%zG^JO-RsSvb*IL ztGos~*atra2k0?uwnMhcahpirEGnV%0Sb+9YP08U#iwj;;>-n&tnMy&?>3zHsMh23mdVutnFLWAI~(a4leP0)_=_vW86z(qPS#SmeKhCO z8_gA{P}Zr|zY7Ykh?elIC@frOnY$3&F>F_2Ix z(G&oiU(DXe`a^W%2I7a(|Hf0vr&)>}J*l<0C-@P%8?uiKFLpciDU1x&9<<R4Nq`YVY(z^7;u;2HGUsCR^5wDNb9KJkQ`dsJC0Y+^W}?=P zvp8XT$TKDEaE}di?0hlXzZ9sI6W9^9{XuSX`E(|# zbq>~(7+?xCriv4el}OKOhxHYp(d%du4x-)}<7RpU7+hLe9WETHJF*){2bD5PI50<% zD{z;N4LRKOE`-}HCeqx;&*b4r-bO|od(*F#WGR4++rJZgh!`VOQ1rIX{5wTO0x=Hg zdHwZpeh986&(D={)IgI6?188}rMEw<3Vc7PH(URH;>W_AB|YupqzTg3+bG6RPr1Ik9z^Yx}hOikG?dg{bhBM9K!sS?WJ7l9d;U?Ogo-ur0 z&9vAnlEv3ZwMY!1yxtAEx&de~x6Qg3T{GPtkA|c4=5`#!1oeA^8$CA}|H!7P#8#U9 zal&a8)$GzLWSQeQL5Z*V)n8=jE6IQeoExsXzk_WUtbOFZ7>Q&cGsytMDSMlnu03?} z>2qMCu2|xE0W0Qjhk3dX)4nOw6Cg~9e;Xirirr4xXR|XZqIodk6GffiE4`=Hk8V_; z85()5qZ1V->iLf^YX1l$Rc@) zLHcJezpQt>VU2pL_lKOLqNnp{TCev&{-FwkSEDe;{%m}VZ4R~l^2-SoK8a&xwfed{ z8{A53o38E79ODCdu==zVB0qRp*!M7?1K2iKMC&zDTOZomt)UKff~R zZmkY|(DUDh9B!k^`ZL?QET(Yroj%a7$RENX-*EI;b(lXxwa@~$ihRLm*2Y|8y8SC5 z`@^CU?^({)vTnL-IpJq<{CId2d^&Zv8C{wLKCuNn{Pi!-t-fBRZtnlJ563Vhm0lby zecB=+>1B3ue~ho5T;AN9Kb;Sj@0~ntZAopuT>je|*8lh)Cy32!Qr41hwKx~)|4p~! z^xf?weY^gBcRT-Cp~K6JgyxxyhcG$i>Lt^K|7@XM6G8@Wr?kYRTs?P;xM|K6c3dlye=*@_{my0rf zEq#4F-}D2C%&YTDpdW8{&PKW9KL|M`8oOA~Yi(|Xd>R=i(w)f2^M-jBz^IutO%6#kT?LQ*uy@tjzZ01ev3+(u7 zZhk4X)b=vTDuy{4IYIENeh}I>D|I)>m3MF_im_TKy(xbV>~0&|U$YCsC9@{q=B5o# z7n}{YvDCcA#qGqukSpUtNbF~r&_1hbxCXsZm zPzf_8vP{|?%m(qKymBVl;bwX;iF{a(P8cmluFlMogaD(Kjw*XwmZ}LXRD`BP&A7dS`eKnYn13{^vT$m4 z05Jj|oReTz9gA=k9U8;N%u5qg1k%6g`ty4@$J~sxL6lT6>H$EmAr>Tz8V4~jd#=v}kO8 zToYVWYv?ZWkSMe$EgjcrTVb5xS+x8YBNYQ`eO#3rGZQOn1uPAhDHOWBzsKflqEumE zsE&$Gh)R47ZHd6prsP31JC+LRmpN4D=xIqz1v_c_66G$PjRst{9A82-tbH@#BKn9Y z^C-FlCB<+HWI1)$2)rYdbz@T$eAqb*i=1Q@5naD)5L~`#7f2y@etwG*a*5e!5e?Zr z!xvN>3%*cyEoa8&Lqp;QRnYMgjK)D3#Dtk$x}TS57D_zKYe~0@yB_uz+R^2d`^ES_ z37_|~Q~&(t-FA;U5cD#{B`lSk*kh^-yUA9d>*T8AMWyhXHJT@pSVD8mOY(!=J@!-1 z1);h9b;L!t;B{3QCgdWi3WfC2mXvn07hzFcJ`qI7yAr_VmTD`Y{NjWy%w>`E2lvz@ z{9bxM-y^JcR9-gfvEydZiV~m{Wq!izPP#J^q;1No2qbZ6oj?tI zY~fGqC;ptPN;UfPpxwQn*vPY^KL+b20JSNnmK+L}8Qo;OF~}r<;4D-!;kQBhFIi?A z9;dG108kG;UC?<%=V`&D`*P^B>BvXJBso#9O8f!iX-&SGMX#6C0*~su2|7}HaxX~w z((z3Z(OW&%{3jGTqcvm(@Qew6<-XZB46+z3js0)G;Gtn6`h13iu(Z5zoHL1tlp-&} zocWlgR4$R&Ane6y6q<(eCyxn4`xl*hPQGP2nd%33|9EA>YI)Wem}1?JnrBnu76J4P zBIqsx*e(L-Ee;#B3bt}MiT()xvh^zSG};uprUoZ7aWy-xb3^ATN@xUDbNug|Tw3#A zGu}5H&YfitDd5~g&0dP&N7nuz`dc@-j3^OP(A2Cssva}PO~t40&_tZ0)~ol8)5$n( z$2#?oYH%n?aExQ%$5;JfE46XxD762a==aLA3}m}8zfPtgQAOu4XPDVk*_IlfFOifm z214>B~S~A)!G?jO9b4?XWCyzfh!r{;lq&S#VQ*U;_M)wJ7GFZGi9I*>?!xzS&utHmtqT_K8b3tFjv<}}^lWJO6(~Tz>gwrn{b?JLNLu@3b7c}qK zmPlX8g9c492eHE75>!=TYIz7Y#g965Ox+2Vf=!moz-0lutnsvNO{5|J`k3y1;aMzf z4dhg0%lSClCJpS+**H#bePmLlzRKx?Cv999D8NCNaUZ#+gmZ_VGCBp^-%Q9vKonj2 zZ|yB|>FheH+U@V+6#uqEd|F8mI}$Cn6n`E^WN~n8MGq>#$#TB|A{4>T@E+VkWc9gU zdr>GgA|D3<^x2y=*Cp`z)hM!_}4fF;U3gi!1D5cZPNesuB< zizsgplmHwGjFINJbTG;hHnB2Yvi3hhYH2d!_Q2oayA$c^vU2M|3l`jVOs)Z0Pztp* z7i^xA6Sz2N%Z1JE5t`1E2e@1K$xC5FRx~#|5*FR64}3fJh-l?o3rBFwT(>{FbvdBa zs(HyAr=PTnz*t={{?-!~rY2ExN}Sc8)^a4&B_I)O0W4y(jEv|=hhXH)3?~*C)o^9H z%p9{wBG95US4b6S|IW{uKJrXun$o^yrNUj3{xTp0y}LvyaW7UURppfP9^CLZznveA zC#R0-%Z@iQ$lq6rA3vI%&6}B z8X%Fun0nE!nO8+pK^wnN0*+AT=FsCf(V6)8bCYnbQ900o9T>XvHDowKW?$BX`#EHGtGQml#lDD`$$kE&DzX%FBOcoHV`FP!& zN%wp(2DP6>>ey}S85-}YX}Fx2sukZK^7%7VE&&v>EoX}Hju6jZE#9ZptXww`+1sq@ zo;`TSLn%gJ<~9b)9tT$RU|)vKrXQc4p2+)~8y@zjKA@1oKMcQY2z#Y3y>)%E@QgBd zveIUGeDZ-mqDcvn~KFg5#f8r4K{4pjwejFq)RcGjoJ+Rmb zXLLOZ6)D!{e$VlZ7%(eEVg|^b?Yih5a~tugd(Ps9v?ia#UPJQjEoRdV6*9`aEZHdfp&S*^@ED9uMTb?(J+Hm0eU1#LwjwG6+_-E}Y9d+dT=rWrm-| zk4QN>P2i6Cyh`zs&VT^pi$`G7Y1P&lFQ!?0*0k$_rT*#WV4{3Ig|5Y_ou+`^AKFKx<=B*>BVG~-&xpRs8OuG2;k{7h<^v3_DnCTUbX_QWZu?1>HH zo%Fi+dX(Z3Pn?cT%`w|Y%Ze5Ne&C-U?hK!IVk@B#vD-21+fa{l+X+Q%`&v>IPl?XHCg@m2>CSVE+lS^S64RN56evJ zAKyT9|Mf&+W-h$MInVzG32B#6T>Ow=6q*r>sQ4u8wi$-i=uCAVc9Cl%kB z0@$JIKs=p`a2eW4o`*}tgvO{>wD(F;^(&1B4OhI+u<|WD7-ofKL7nP$)UO^^c9lNT z2YM#b`0t|iy&hIiS3erAL1~YPHAI0?j!Vr_UI{X+$ym+6vZVbi>g0rqU>5b5bL3W< zc&?L3<*il?27n5)9{GO1tBFC#+ArGZ!An@z?~n%C*{516Q8}?_TTOPG)K1kzWLk+{zXi{KQd{ zXytk??>nd{HGf>A>YC=VBL^j&5NjapF2Ii0?{kC&ii?eZK zVFDai5i-!ZNrRXO`v2kV9D76w)~-Fa?b&17wr$(y9^1BU+qP}&v2FXEbDm%Do=&Hd zPCDril~mVV_gdGQ4`Sj)*bcojf^sFLV_Q$oRt$pEx){F5Ihsy6l9|1CnY?c?d*k3} zMe*FD9o^Rxkt*5#wTLbF>h2R1(p~3LUa2WZwe0 zfD31ft_MbFg&J~Zmd>O%Pd2*`NYw{&411U}sbKED?owazC+LHS7H-+LTFR%aln?Ep zS|Ls);Ngl;ei1S`m)2z;;iO^vn~PVFRg*@a&tFn#Fu;jMvyK*y+F|Rj^QU{MZ{iW< z=j(xP9W3D->PE4y#(FGh^>S#_Luo8|g+N|67!4(&{;Z|vewtcQMJz*aekxCutEpYo zJC^n6Z=@(W5kH1DM2Lo5b>WZcq@#@g$AWb71hLB-3~NFQ>*)a#~O-A%ntc$SoQ~8i9Zt3gN1- zR#Aom^;CC&YqQ$%2Pj{N*3@CBeI3r2g9&;87gEC|pMRFvCa6n`U96(TibZw-;)-1aQxcg`s9$R@-iZhPrQOtyg_`w%kI=!T18slnVQb;*rZ#c zK5>*;K%J>|Cy1REK9^&t*J&oQ9NR9HvqS>27aMbk`2Zu7mzBkL%-XnHaa;NMv4~FZ zk`n%fyAQVpYZYK&gl5*nlT##A>F5|~9F%zT^~wGw8o$Lmi+{~09fTz|ua#jOyaC!3T-^x2 zyd=w$Ys)V_>LqAq8F!{01r~q1E1BD2!g$#G;c9(I-i#cMV7g{cgE6FT6p-fKoZacP zAZdt#bt;)A;*Mc)9ZQ;xe(uz`;f(Tj+5nbE?NHWO!v5n9@@?z>KQ22s8*mI}&)qyt zH{qBWcnrWyK_%W!QLx7_yf_D=N{pNh*$%5PHTc?-MV##=fBS2+K7$zak~tUxcY1Mf z>ZT35Q4UoXTXC5%Tm%1gr()VD4I8zfq$zdUg_!b-ij~;G=ihi^*|H{2?T@98>TJ}5 z3taKq(SnxP$xhpY*an1TO8IkOyUM^{_Incy%G@(1V!>sl@!}kwhONbHHQt181$y(3 z!jOK?KN>K+6#Kb@nVQc`GkB>XDoOdjjXzGkwOxp+M%nJScRY0DLiRI9jv?plFL&d+ z-jQ36W@X}4y{zJQnCg3&s{cjjUM61V3MdwqqBvjbzW|IDBGt!v7{>!^-UXBaI4L4P z-Lv^;EOi(u!sfaRf*x#Y7qB6hB%QX9Rc!BxKSlRE_X%VM!gf?2+yh|ida`WQ5_&x4 zMUA7bEUh17Q00J*06UW9`w zmdI#QG;BU}Kc+kFFpGh-d>062_YkJ1*n#<@8%Pra1_ITYmZDnMOY(&i?AoF zKDN|85k>=ANW}jSn1cAX`|kpv0O&&o3D4%e#urCuH44D!WDRdHW0KLL-h={BG9~88 zFN(V+D6eHoV5j6Cd7C@Vx=KU1DLQ6VVjP!=T1Y{}9itBOiirytG|k~}F*SFcaex>y z!DuxneOlb78`F85wWhY^pg=qX3I?&7dqqoup5aN}&SUT$7TPtnQB=Mb6DV%y z41zmtze#e8aSbTnJGDVA+a9IV2E53IUIJd)GPO8&B@}`=#9k#x8HAlfJa?OZR^%6*!eEKS&s zs|GY70Ac}tT3{B!Pj>>qfOBYoiVf%HC&s?R^DwWiKUJ8xd#92+>3}|iVS(ON{GaYwR7Co5m=ZxIvW%ZT0Gvux%HB=16PuRKwYeYqH$vf7u=yzl$aQ5H zsbaLPz6alFUWO4~N|FL5aT#c=ah1gQ1_*HZP+&K+Sy7Rrq3hje%tOxNwbHRz)3gYj zO7B*Gl)=iIRmuaX{LNXC94Uyzo0SVqq0Hk@+9tU5w+6$pc%Gf?-NlUa8h>Sy*3`i! z10M_nGjP<%Xq2e5%KkDqWzgZ=qmJZcx7U4XwX*b%Y(~%Tsa6_48fJ!3rBga31$e#;+ag7mu7O2nj+3VKw|4cPlk6@~|nMKE_SU+2X!rT;>JE=1G6nh6K#u z_N@_Ky1w~%N$V`!l4kmt%x)t2k#jq5M5ty|CM+u+9viWb_4o29*(X>&bCDs{(&U62 zD;#*+?I`_WeSxnmu_a+NuyTUf&G?|ki;l^;iEE3S1e`VL_6%GV&8 zw-d9Sh$rK5$N^9l(K0%Vfl5!!;bk~!7csHdixwe4enQhgvo)-P5=vo zaHW$Yk-$_jfEEE?t-7LpDi1oJ$BXJLgtMOkI0pEs(iyEV>0k_WzfX6}y_l%iXE9*d zW5_2q-9Tspq-{2nmGXGVqQ?>N68Pg8ALI=R#M`sbT{KGhcmj8%&%~fAucadIXrTXy zU_(~ds4|?%?IJQ}S;AAuT^NrJD{!x5g7KI48?!Di57Augvt46fcB_7MN_7 zW$a-<2mnQ{mIF=ygF8?nPO{OryhoZ#ky0`wB_;7FJK*KwrwJ2%L9;z~7^@_k^JqXK zA`jYZ7GdL%UYz#t-6u3%vTpNqBW8=`M8F2ts*Q)K>EqAYiaK#5l_09y{$0~Z-hw@< zY;nv4)d))p1Qz3he1nYOx@^P#Fgcsb`9pZgx;N?LnKJYxHyv=v#vV#huMbLlaAt^5 zgf_0mE&_}4PNP|Kjkb}NbTKvIE6hIlo>-RjRY!g{=6lZ8# zj9$7uCUePedBDS<#k=82)ma~p=Py0>LC}Nbq%UkJL5!U}+0Xs<)l&n6Bwz%u7GM)0 zYH-I}pg1lqbBsE{Gte=b%v`VVs`9)>%AGd@ve0KvT?}5lKa+7+^-Pu9u{BqfEd;w8 z?05JldkC+nmy2fp94JL~p+%4H198?^4YQ@&QlztJxvxI}8sgd_UUFUAnDSJX=I@8Q zJnk=`b&dB6Wc%|NP`->IOIX0M#=V)LgKn$$c%a#;JZz%Z3;MgCydmZ7dp~7c9UrL5 ze>fH%K?dC>-MU3W;nBpwHVXytaeFkiwY6aYtb$f(^g4XZWdAd?xht_VP^h~t-jIwW zc-hY$Lb?fVM(%E;SM%pb?<3fE=dTO!iTx9ztq%t6Lc#X zg~&zRrb8Q5O1sl+E@_w^S&-9t!ZQHlyXDHf-NVQHn{8gfnAYQD|Bp>t5F#$ca zz|mv*^mU1_b3n^Im(z)U0*iMey_8~728PY8L1=>Hd`9=Q0#H8X;GmO7JW~>~M#ZZ}4cs>2y<;8}?*9c=eY2f^QUY z_?vqag~B06EQL6i&FnX=XeL^^dx|*p#JuyDSc-t31u#etV~!oi8`h4SUJhhNQ?eF7 zgawb^2OM{u_x=zS8I1hu6QxHBx%= zWo!E8Q84k$j8I9LJE6k6^#?|;OuduQCsp}(4Di2ud!VQTTana|d=a>Qms>VZPj zDqm|(Qgy-OBR#@zFd2Ke~6t^|bP zC=wrS?qwF{D*=2wxWMB{1Lb)#egyV<{a7+T0p;oU9m5>=efIr%J$Q-bn{$weN3?!9 zygx=O{l>^DZ1106wjf|uwoD? z4jP5mbtCc$-XC$Z!_pXIh;ObewigAZ;a-_Z1OOcYJRQ9MPZOBn4NE6la?ij$n8{b% z0}w6~jF)OhUW4*;^W#j;Mc+afm$_d)I+v|4^EuAGRCV$y)w4~(P5%Nf0P3&Jv(4{< zwYuB9JF-T;ocA1z6Pm{}Hh=a30IR;BKDOwAm@AQp!xL=5(@J{U5QhvAlb*Z4EvZ>T zm9`T6$)RwlWKz=Xh97mJ#0S2Bfa3&eoXBjkWaTs5+WWJ6HPV2&0i zMs|7cqJNH= zQ-W*2y*Z1UX5ElhUPaJY^)OJ`Js6eUYYnT}cNOEv?~#z?!UK8n7#GS2S40Un5toYk zn5)dj`m$n74h4wTn1tF^!AcilE=9)5WrcbII@={pLigwri=TW+1#Flm;*T*I_=+J8 zmz;bnx!A09c(9j^^f;SoQhl&jr{+I%!XFeGnTs^1eMY;mD`MPrp+aa5Fld&EdCWGb zNx>d4y-ZL<{1r^uazK?aCg&vpa@8#KVca*#GH0NDwkA=u`vG!LAZ2^FA%%7tlmE1R zNi1`zEA}NI#Ne8*vrd#a1~Ea7pxw*o#BTV6o{boy!6pTDFBicWkLUkIRY5 z#Z_^us?s8(UBeF)nPo>-TK73)DiF68|;s(B^HZ4r@g2Z`4k-9=p)6LM1FJYrK zU>ci1%ib?i%~qO<+ZO}*d!UN%`tPP!j(z@2o`hysmQpTg2`~JWnHNd7wnjo%D&)x> zKHdtK<~&>UN~|natds-4q-Ujg+XXK3_OL8jnE`jn#Bc;(N&=af3N5fO=^IcO?tw%j zIH_Q9LT<&vv8R=Vq>{Q~IPZaFKrBXKlyQ%ttJ3n`_i9Ss$gy)=!COh{ke&#gU)RI9 z8ZMa$!x(7@yReq5;*7*Oh<6V)ihKsbQq&>!u$)(2TO4`BwjHuWMm~+qOR|65Ak~vo zot!~TJn$}}elHYR3igsp7I{v@r*R4PN;kR?vzh{eej``JphJ{w%EaiAc6Y=b zOwTc7M^=LAmBuvfKJTO@P3oe>vjG_@?0-M_@68tYWCwP!1GmzPTjk59{$pGB{iXlq z$(ooCMrNc%v~xIl(u;O~^q{9Pr2al_4qrjXj_C-Kbw$GuON#;RojyMhocEOT?~`$g z0cd3ix%NZFSv2zQT3HaNeFu3EJ|_z>CB7x|VK%)Z^G?qqbcHG2E9D^glA7mPD^fIdUDRg-i05=89%FZLYNyj} zHVttgjuH)IfBLEYaynAF%Td{BeYqfH_lv)(KS6&m$ET*8Mm{D=McHWEed#Xubcal8Upp91pQ_Oxv3ndd4r8#k>#O(o zU~us5(C_D&x98z#s5XlCn$dshoF|XX1a$ArEd)0LFegP;+f}j({qVr>`^(Ls9l9S; zH4@MVFn1Ed);-bAM4CH*9Vf?dSMfk{h}Q^~kA&YKpoeqN0J1sQ$3Nd6d@IcK`mH0( zJgsoBnuAk(jcjm)yx-f%_u+I`1iZhNV{uWt?V^BJrXNFs$)~uRM1lzF!_Ergm^-)P zO@dCF7My<@)>`pA`qzUVnVtyCz}s`%Mwd(Hi_aHZaihTD8<$?Kf5gyV{ka5T(2zJg z>9cfx+rLw7jE$XOCYEA<;(|22&%H{ya@BDIvQ_KP6Gubzp0b2N$Mj?Q%`MAn7)ZLH z2eXfzkYImwY1S3!1f7t%(l?iNhPa6FSJpkJ>w9~pfWSMr+}8`xia;TvU2(>vtkD4i zyyFTj>oqAA)sx*x5kZw7-Mgt0Zw*mQHhU5O(u%4i$<#RMu~*|KbT@5QqbB@tiv8wM z#RLlGRB$$#t4*T(OYJW$Dzq%D2ju7oU?cz!p~vx2^S(D$$9pKk8K<(xTl6Y&^=M&i zsp^3Jb|Xu5B8C`!ohITG_MVcY<|JcWVH$9yIR=^KQ74X}%5cAH#VyGiezUnK>)03Y z56ixc*QMD=X~jt7TGtxvhFXHd70IDa&ieB_gT!>f;<%IWUL=FRQaEpAjVi4$Rb?@> z#B3v8ShqUTfb1q{_qr`FvU9z@YU5=%3F#8)A#PH&`0`|Hu+g(u&Ll56>^L@rj>;9P zqYC%A#CF;6pp$V~j3{{nhx*C`w6ZcC4YBw#xZ1{lQHSCn zJ%n@l2im@T*mz0bZvKsyaj^*rSv0#mJDk57EcJq_1WzocW}S;Ls28-FLDG?Clcp<` zW9K?)%gQMgArB|ozy2pEz3KP?r*MG6N-v3swCzi^I z42!pxcT(5Bsx~DH1(}>-Den20Ra5Zj_`Y3Uk=1wViIi@9evSP1*Af4Wh#nKIVyTlsx34`2U-|@B&DUb`OMF&07x! zzXGja%C5rF=MjGQ1U?UPG7QV;<)3CmIk$hv?&x%6KQ*!lF<-(-wBHoM1!1kp3l;HM zSl_B#SX%}8P!V^7GMo>_wUagpBUf*T%nHY5YZ*RzQVP}Jp=&$;9ON3&&7^cloHFDM zJ6B{E4F8u$!-Yvj*GfZb)iew@u>#{o!Wr7FdZ!h*ht%E2YqsX&`4S)RIvw4Ir`*vL zkx^!ybsbQBrTIm-X~bWA=aI$Tp`ji(C}veSjSw;h$m&#;Ya$EFN86p`$bO^0Ja7GMKv$6cZ zYwKSVgp3fPi}aL&g+~y3|3qyHB0q^AJHx}9={fO~bxZl=3%Fe8=DV(0Ybe(>t!xK4 zxpGbE_Iv_+okZayV+;&fgGmmF9b|3jv>vsO9ZGlgZJ+Y{>~dnJt<`?{ZEi&QX8drB zjn=nQcNY7*;dK4#My0#l#tW#2P8Bm(C|c!AZbV26Pt&^E%;%5R)zkI5<Zz`@h=~ntmfek4SD3DJx9ZlBHHs zv!e8jXEqvNI|Qab!6u&w<4VTF#_0a)h3Du5_jCXtV8f z36LuJH`-Nz)^U>`R^Uo;gELL0S7d)eKZRlrH(F6mJ3in~CQLk=8? zeZyr|`1Lf|JIEx9YYln(Ar^h>=bn}7>NVzefp55!Bj%s1cn4oIV&Q%B4mjSaP^rt% zM_A=Te&`J5!7D+(kH!mQ@$q@vh;%YK56o(FbGtLNb$_fJy*(Is`Leq@x-fq3M$N|M ze12YU_u&7JU(6=Y>%I5e?}#S&UwR&nzhzRjrj!%TFAI$dLh)WQ8C7UJ1^&RW{WU=( zv_QSH=!iI3(x0ijlb)duB9^3FEV-8BBq?)}tQP(aaou-cFTol3;op&Mg>kM6gfp9N zbZxKg?H=*zrc@#RK%r~<{0vhsxbG42X37JjpAQ2G8w?<+`{nb)V=a-&N`KOjU3Ra^B#Uk%CbxfP#o{AFxjQ$0(LTPXC|1{ z<5Mf~fA#SF>)am-?wD~`Ta{-=a(@w(iy1EKlqc;o zy$y2U&03n(RliCT^SBrWUTzdl@Z>x1 z>c9eQ2Xabn*i4K`V~Ucvdhky6$Rk6j4gf~Ryqup;es6DF?my?(L?vz%Pb-Dou zn0&1z4UX-%lOkEh2cE<+Y?L|lwrpE@+xcvQ^2|cHyLMf+lc4G8kUTOUWJ@skE1{8`>u#+W3*a;AjkQ*W_>>AbOD2GTArKAr%rRK9(* zBV+xcZ+Y~VIG+*aHIOIt%B^ZtILG0kr(G(v6^>JW#ge0cs=Rmyh*+E!0$kb>sP1$W z{f|sn&;;Txu0971fSp1aCDmk*_LHL}gO#nS$@zr~ zu@q~w{pekXiFtedV_1ISg;e9UojPyN=>+Wt1k0;_u;%X}PKHV3Ysk%+#?`OzTJ z0nhbCd;CAC;uPp6lL6Fs@z3F2yC%j0gr#@wVZ z#HUL(*35m5g*>*)#}+}v$hXMJYmN%y_+K3BgyCBFLI14FQUHsQUaK}JisZrUZu~XA zHxkvYp|DkMOA2bCp$Yr<^`b@`B+v-zO4k957j^>XsSXeiMXDx<+7$D`$cfUnOPBgFqFagCb#;Y(Otd8!oU7|e!KxS~4b{VeW<@Aaw<{lX zAJlt9O1lvlvt=t$lMH2hf>AME6j0)|^M8Cz0G&sA^T)oDgFD^+-fg6D7<&;H!MU{W z3Vj0!1GWr@2RT<^_{qxaObW-bi)f#^^oBvC-W`B#x?38J(bE;R_T@Nh=CW4HaaI40 zxh|S~R+@YlO}ti`xqmhJ>@@jCEeK#IUZD{SR=e20Sr6!9dPP8ujm+ALyRa4Z3nkrQ;`=Ai8z_Dp4M=tvkm-`An`QYJ zeg1H=(~-H_hz>O_r2rWq VUQAjUzYa3M)zB}v;%FdUrB}0*mg-g|d6cg2(MWl@p zk=MAgT#`OzNqR@4Cj~Hn&pWz6cJ!3~)q8B4oTtdisYuScX?%U|P{ZYoEjR|dG$QF5 zg3Jkc5l4tWZ|5dA7xsDk&Rt0obhRL66~CfSyrk$7cHM@)nA))6!KE z+wwu8K0%aZD4ri@4Qd=fMd3I*&dCYMcfEX;V=Gn+7AwOE>*nk%*esFnsiz6LiVm(e z$;HbZs1>WMF+&8*%>;2F;66$!4i6#ykjH>y)Ob6kg?tRsWfsDLz?zE)8jmNrI))rA zqpguh8o$mISk4}v=P$3TK)5R9^Orn6={;?Ng%Lmd=lQC;f}g28T_4L90i1p$s9ofb z%#eB}J@{}`4&`lgM1g1FYBSQ$Rt+w$U7*KfuMC*3#*_*Zp6{I1AplW>K!Wna&3 zr#)CJO;&a!AyOt{5-KS?1n&^Au<$S^y6Ak+MN-JH+-8T9|AxeH>3hsxLK#F}<*qB? zfub-4k{`3{#b$sLwS(&5rw%B^t^T%T_Cb1<+jA&tK8luo(((Sano3(>tMa8%7>rw^ zJiLaHb}~BZ8mDtQe*xXF>-=X1MlhL5Y~5h!3EJ@jNa$0<5h1uC+Tepe)znH)e8`Mx zkjC~H2zM$X3YhDvJ0f8x24IObgT|qFF3QwJQuEA)7=Jo;rn*wYW|B%6st6~E^qD%K zN?c62e|_-Mz{`^*vE9+eKPfrWNeBs}196@N-hcwxxTgv8Y8*T~6KSf2NqobICd$ZA ztxkp`kh>@)_aIxR#N-1LvU%n*u^V#3Ek9Q{fHR5GAo_uBS9$u1*}Y$>oyh30X+UHA zl-VT^rt{S9_sR66?+`U?e-W*t=G4-geNc|#4)emu>Bo{*-M;H<9e5)3h@3qwTn|g~q{4%vH-ZdEb9UVdjvI#RtZ|L_{(Qb& zUtiOX{u#P@Jl|V1n+@q4+!8AXh3a7%11p6!X0q>T0pz+|zpp>s1~g$xT0yx4?DE2db()7`Oe4UHXY4`EK7(wS;>hcL6#z z-10^SoX?6-;P2LC3_=z=59mH8&0ZoyxE>k~aOR&UfgYF^ncx;m!LCW45)%C+kD!%D z_&2tgiKmaEAfLEHd-t5KsAuwZl9Pu2<2S{6Qi2e>T<^kZ(Wl)W@25A5S^J!6yen^=tE5V&6tPjZ90*%IpI5f7YQ=D0R5^S@-O0} zqS5_4_oc3-2utn^w)&T(lLqR5(1*`pC^st!D;`6)_ZB9xvu*gdN${+yHDOUefVd-X z;R&AyQa1K_yv8^OEoZG(CSzuihws7y+nlOUYv#fjZ%LX_OS>+R`Y^ipv9I>+bY-Te4)<@^qv=!edI_s8w&Jo*ple>zO8hlEj2zonBZ@&8adnf*78_SayDJ^o*VAzD46=)6ZG z$J7A0M#8Erj>Mm{OE3Y1r74t9+$ZPQ4*?z*SmIuS-o8=&y}-T97t`;=&xE{+6Oo97 zEMqww7oLvN4m>^7H+@7I#3UB@+dbD{7G4OqDBqOi6yG!6-k{M|!gJaZLHg}fEQT@!@< zh&ti;4Fqc%rh?iXf8>;L)g=C@KPz^^aCmmB@_CS_*K+_V?pfVBp(7$~A26qSBF-e6 zHHE4s<#*RkOX?L|F?-6*I5YJZ7$ls^dofBN8=GH*ux)+=qhQ$$gTo+WEZc@~2nJuI zt({kO1Z{6XnF(L>8a1NGoV*?_j*hpKg0QlfQ-=aoukK%Phlh|TC&`WTN$FmeG8RXN z;T4Q;&A>_pS={sTS!VYjR6Pe||IkkMRhs;559C4r)J`>fqo#8td|#CPzPxObP^eQy zHE)u@s}U{4ZuT)QEo-x-ZzoqETFszOp-V0Y^9Wc_Ct9`ijth2cL|W~Iz^iTXNT^=v z^e5CCXy$Gm?G#4~klR}XKdI%j%(aXML@95^`2BE~GbkiLk-7@GA_R)*Zk;z9N(R#T zqatLoscl?3bp(hlEj&J}(xF8F9mOMkoXHG3m?Y_xE7y=WqVEvW*a50#{^$iq{n?YJ zltxiq5Yo^hyQ78FkCf_mTZ&%Av*mC%5112JpxO<&%!%dx*58s%*TAA$tX`Nrx!jmE z*4v=@culhxRzZt{L%C)yZG7-aOHJ5jdT^c@OvqlFQosv3OwwAVLUW22qUJmv2QdJ(`U=M*C%0!a+ z@?CvIaQ?3ceX>?>vC=M30i1OJ5^#qmruotMfk^)eiKmqa^J-0$dR8~aB6@`PnfP*n zqZ z=7Mh8N8uJ5oaff4(F><6@3Olxp{0o^GlHgyeYcODX2)NNtQxjBg6mnzAdBKOqGq>{E$!3-M^m1LFKf_B=mei)dFA zOOi_Bw}C*2%0^VJK8^Asv&>4Xhp|p&24A*HzW+t2Xq}-8o2Nr-v0+iL{vuRJ6Mcon zlAo+X)hH0o*8ia@9&7YQR=r>fhTDcc360hBCtn+cy`<0#e}KtFyqQr5nK*8n7_ZYp z0wrHnym~c#oB#J7Hvfv8f4398=*6t|<~P3Kr@S=Mlvv&ZbR3b)Crsx#kle z%{4p_Oh!$(ZXd*HZo#I6CHZroXXIh%Oq!c{mEh2qj>c*=;&d<%8i5xp%YjyuyrRT8 zx1PZDvrZ|ONr=0-Nx%efq*~`$!T`E_Ns5)zc;2*D&(=d(^>Y&@t)gHRfIG*^a(o~ zY3-%}-qL}kiHR|B=RSkdwuQlwP;a*&x&=Fraag7Oii2)UO}K^#{pzAjB;WrdSh$@0 zZk+XDtLVwEsJKi1IBUPw&`W#=3}-9l(1E}pvmShoxk*P4OXI#D>S*yXPPZ%CYw zwY9F3l^smCclzuXSV9ME@J3m&G?Aq~@lOGq4lM}$RJ95b4-{m>ud$?9X#CIf5LE1L z1j!&AYTa}77?N_Xe%GI}V+Cf_WPM>g$l{6d@Z#?`;dIL{|Evq*6^>S2?C6ScmX4q` z&yb%+3EXmSn>h#*5QsqZBrNhnM@eYX3=#+}u59Z6^3m#E0@ zVZ8d7G0yjcW5!@xEezKR!H_D$1{kZYON9pHv5s5ZVwcz-e}yXlfote%ahEw6?^~Cn z34A(6measD>ETD08<@QQYpL$BrzB%4bwrjhf!&ACTfy&oJ+j@dsS09kJ35@&lUzS# za_0}-?O)JvhHaKJyMV7T=wmM~xrjYICuSaANWevxx1VJeInPnN81Xifw}_Ho6SieW zAxE28fl)WY`iK_S0o&I7N7LvZR;up8Lwd7La?OCfp7N2HJ;l6pux+drRMXc|GfbcL z**LFbVnxtqqhqVhQgRBcW0?NWW_ukx%s2(r+}0-30et4oD1yovPpTi7Mq*nUVP=kU zcuE;nih-;xqob@PTiPj9+59a8r*%ZhF-IDY6Us5AB*M-2>`LikN!R$Eg6IoV9{7%> zEuqph!xdt#1KS5>yrBOcq^9`gYdFosoKCZ5NjFO4U-*Ev1)Z>r>80YCfDI43LhTMY z-=UJB%8@w^*ijpL)^Z+8@MUFK)6JBnim79ZPc3S;i)kSheKA}|r$(WQIH(E0)8-Iv zc`~Jnmd2d5{&)Ra#4f)>q`X*C;(8@Sj4g!Zsz)ESA2iUvhS1erkPM$}{rBRsLU=;4 z0oFcuBS_IpB~?z;i`EilP{#X{E;7lf@-=paz=jy9+3%dJsQ{%DjFg!X%k=T`dr+?F zs0s+!jWW@(aq8nF?o)7ojVZ0Grp-KT2-uDs;uG!9?-L)(rD!sl!Mv_j3by0ftU1l3 zGbNgx{NoynQ?!dOGFc#JgNIDu-~O<=lB^GdUdx#Rxf~#@X0oT@^)FZDZL##@_ez)u za8~)=oln)1eJ1;W-$124+NS&6PmL>MSPi}F8H&7i2Jtu?TgU7lz*i^4@+p$Mz7DF( zw6<6-zKr6RbI$uCfjkOeOu_~KMXpJ}M+|>9yvd(B5{AP{ZuGp`sNxsvdSlJKVM{&R zjjcNduRRylgM16qJ76yEokp)8jEwVg-4|0Y6;ti+m!*#F_&wqGk0o(4u#U8fg`9^O z8^l7KYs$utjEd+uVSA~!sDf6%Cb^rT2L_TbE2abyIKp~4G_ILKm19m0&(b-m7#{+_ zMKVA2IXxHiSn@HTKpQ%FW}k>I)fykdP{i1Pe`yP#QffN|M!-4QJXx{BYQVO!_Eq^O z6E!B3b=n^}!a1*U)?QsVXpg{)@sDiE9A%c*3UEb*}fbn?99=W}N6I;E0Y$(= ze{<&;Hnv_4>z1-+=lXAjx{$m-{I*mB|Buo?DW!tNPv~pvV@TK%lSzpJ8A7_~(DNoo--~9%sB*X3&ook*1?zruH#8N6&yVv(#iuGz?Q8;Ukm4mY=5O zW7~2#X#q1|urFb`K$`zbW+%tlDqy6pbE#DK@_yMBqoyWLmY;`{pU&^AZ;!ji&-?n{ zpO41RUoWl+_`e}hdxN##|4qOIR~A?4|1E>Q2>+Kd=s%7_Z-stIU9)k!f))=pDL!FR(x+C-EX{z}+kgFJ{R=o}$VEGi_4%8hLuc;HBQbM}w zMr#Jae|7h|hS*3#PA(Y*fV&1T*Wnv>jC03*;Y$(I@cS%F)UYjB6AU5zJHdLENh{`6K9a@6Yk3QjmV_1xBS@uBv!j z?At-Sx`5CM1-j~Xg4XiDk$K3(3+#2M+8mJE=X-unPMR2}qtFZH4sa!<3}??caakkz zXy~R2+J4_O@G2mhP@wIzY!kNkg~moLO)SNiBktX*>b`sIQ${V!ZlbCcg0Y}T}KLjF%7tCScJIH5`6H0nK%Jgb*sn3fNpB;6M#O`?V;oB9G#hdmd@b%%A>~$tcu<<+vHZ5t}5LM zvZ1V5$y)2c#7N|1dpzYl4ayX1Y8o?5zy$1M&@mM??T?v>$%DTunp=~iiSCcK_qRxP zY7-~@t5W2xAitLAbW>XT#VMnu_~dP$v!KJ&aAs4+a7E`ivX13uA z5^8!ww==Ux-MWfEoIB`)El}i_GLhm;`B0Ma$4U!?Q*I*Lv(~8fDufZ?)yFo(w8c2) z_7J@8#Jja;8Ab)ijm7rZ6zsX1E|bOfS$YR1e#rGgi^X(|8aIGw{0%9c+ixLGE~{OLpfs|8-qAj!@W!-2JJZn%agSHMM=7N=qkdIuJ9R z**jai%*S|j?Z4lb^E(D=24xXDCUV7V6VQ1z2Uf&ga@%$JLr@n2m2TZBqhQ2Vfm6-E zj9xSkNy!85kGyH)CoE!W4}fBi`tZjHT-E+Swv3Z-Nm00OiKTS6-!$yn9dP4sJQ5P1 zJJzTbra>S4w9mONMfz=nP|=2eGa32o*kxfi{_pSGVpgjE@Le;=zw)Rh?*k`aMXX)^ zJfoh2*@;Oc@LAtRd#SuwnOI$_Ee9s!&;~s3y&f}zCq*Ne3*K1$rTLXvrFez1ecKW6)(dhfqb7OW{1peV@m-5MkY^J1V@`q zt`{yf*MMLrRz*yyOTg?&Svg0rm@m|En0(FK(>FnHSq8JLPC zq|;>ovNggP0*Wp9CNZY#w9me>af(3tj;S$~(fmC4_?|zE5@m5OCy7Hxnm4-%t>?+& z#vnC(YC63J&;f+Z)+E`n808!_)fSAC%=v;nE%i~kAOdu0m~335w63PlVM}qZRJ^;b zET9@Gvr;AXLiJ?p>8dBj>Va3f56TB`nO%?RtQ=+3a z!9GhsryuL0CM+I36VWwyOs2AVX_`q+-eM>a-6kC%)6}`ek(@UPKIl;Isj@pIR5k7y zOE4`via5ldNeyPns}#(`it$8!0r$Wt4%(zvG67=2=twbB%b0j%T@8Gx_%0o~C69L$XrTF>_9CgL6hyB61i`#8DpUk{Mm!Zf6Q zOVRQ3d0YMl%$96qJFK{7`$8h#-4aeFCPmQIDdDxuynOyE(uc%$SpGkQ>yqjM4%DkJ z+M*p4-e9hIc&Me~!D4pyWnP(Pen2>Zayy`zAK}iPDx-DqA-;XMA0r%#^|fiN@r&jW zB_MpWlH6VNZ)IldB3;N%!0}uqut~O9x&Gm`68sI@J-=JIS(rbCB_J|m4cto>;xT1){)9SX7UGy^bj|b@QecmkVnI?pl_va6 zaX2(v7@iRp_u~2~ngGVX*}3oemYu1X2DRgaEqp>r+C-kF^+GtRPtrT7R&sRlh7iXK zS_uJUAWrv;LVg&#mVW4o-!{2e1>ZG!cYUyho^6A_%8YUhY9MY4I4ks0fS=vZ= zI;12&zNFjo?^guoz9o4TLp?F-z9!F*OoAuz}&1Qt_Ug1fVr#aU3+iIEqCX^7XR zZC^oXQ5hikMPAUX&t0~X5NaXq(QAALihYkF9e)gCa?0Z4$tFT6PM{*74`-u6oemI# z-s8CH1{rEqus7K7Y4?j=cZChcOi=_G+b7CsMXiRlAb49$f^szL6dO0Uz_Q_27uX;U%0v;-#F^q3MN4oX|r3 zNOdCAgwTIzvaeh+(2TKN;C&kZ>&O+8S~p1D7)V5pjkG4Bqon!mP3y(q0|x$J?lE{p z@5%@H0-Bh`Qcp7=?gmrZl+^yt+#Ns++5MDJ)w%}ejJ8Ce1RRp>1b3aKPnqdt2Fu+! zatH4Syz+`EPKNupwmiEj65HNvD>w(Ca&4^O>+fD9C&Y^ru+Zgl<8YP5WxmnOBon2S zS>_0i!iq{&>k^z*pvj^ju(|DxVtzh|EQFno2Xu#FR0OZ<%0|r%ku)cW&T29p#lF6$ zy4wHa>>Qg!hn6)wwr$&-FBn83`o( zUP|)1_HLSMe9IjRAJgA>Dp51Q-lIF{^>{4TtWo7i7Q|y?x7+IQTB+b%+IWt+bwA2l zXCJfAMx5mOhj>}uUw?poJg6T-4O!@B;Zo^+VE+d(+2*l_zu+grRqRF;4d9-!Kr6j| zb;c^Fn$&-uwOpOFO@|LHEk(Q5bvvHdO&I$JdCYZW$K+GCa0{|zWN00cuOa{mVlTIl z3nvj}RzeiyP}6o0D5V+wfID=fOp~#2?VyAg+T<`^K6p4{Usfzc)1CAJrCu)5`x%ln zhC)k@F$Fgx3d)Vm7$B(22L@+T*42_GNFU^HV%+@MU`E7q>8(2OX+M<5#%T8PYK#Bc zpRAAKqBERxj=^_(K^5QWQ^P47`;Ab|`$bawxT9NyvPpFDMQc+b%~CAbMg@A>@gQr} zF8}Rm7r6rLcO2kMkY3{>&2X5e&n$zJg$d12xoY=AWC%+wD@P`tkAzb*Xxw@!{A{%F zp2w@RpPke5IF+|A6XhQ&p(h(B1{$lwjWqx`)W3>RahK~w;hJpy}-r@i3O?yvl_|3p$@JoAi zP{S-Lts>-=9r42$CX`~cN;(MB20Q;?i3U)JN#&R;eYOwgqy>-*=K0<*7Tt-zH|3`Z ztk7isNPFaDPDSr9Ou$x)-NusB{C@bV3D3J+0)9ss-UPRzA6*uu#KZr-h$y((6+ zrxHC0(YyOpdF5quF#Gd$a|hq%H=9yAOaJ-D`Adw-y6(^~6CDaS3=o-`dV<|95_^K0 zdTB?^%FyIU_Pt#jnLV}Y_r&4URMx)R#L~`Ah0n*{z?Bvk)9s?{QC}WjE$^E9-{-iP z7O$D*yzLG5`_HxakC!|hU5}T&=PUgG_k8>Su0kw=1puI?_#Z-b^Z)e3)o5N=;f|pG zsFf-SS~DRwBA*O^`PGwjxmK==s#PdSQaZVvY;!GLPJ6nl-ai3r3!En-NK;zoLn4Nz zSZ&5b2q=O_e$~-@NsV(be{{o>+V+|se@+|Wc^yx3IJuZ6lNY3Lau82%L%Squ7}7`X z%tsXWR;_=$-0-;X)Cwbkc4X*wGkyj^TtUq+amY?LYY4afqa>zcR= zyC~m+U-BfX=|k_iz4Cey2|Cp=n<1SI(L|(ZR$kwNKExwQq(NNIf;LqPL!JMsS!nU8 z7~OiBvO74pJf;m84+n`FbRjyEbvkn%(y=qb{n>oRm)+Z$**N72|GR(qC*R6ZdM$H* zPnN%-Ai9$LFBH)m{3Sea1h3EtFMo&g zhKIyNAz3UhbttLv)$OXyszb3qGTeF`M!Cy5s?OL{!n91%c+j#YbhCNrq+yLyPOt#z zTyy-CQ*LiJA%RVJ*qa9Eewa%375b0f5H+`|Se&>%R`gA|-=r6iirCg!llXV{c$kP2(X{1)dPRf2Z%k1WEsM`Q?<|;gH&W6OTs~KJ6N6%xnL&C~-|DkhFoC z4=lIiV(xb*4V?H!_vq{U@eX)RirfyKoVJ!cl}7=)ZkH0~y-V~Dle^}bWyDDxF$Sla zWAY3Hlhd%-=ameFr?rew({5n!=p%5mMD*QfSjg?~0#W@H^t#O;E zq6_+v@K4dZ83arbyN}?^5E}@@xzx}&m-%Sfa7dkRpgf(&*gY!@0s6mQO2*cMD7Tdp zY{oQ+(&r>Xi!XpPg8YpLEH3Fn{(%b3fPUA+)!I!BoD;~+3dG)l_-?z6!WJ!v-;maHxZPUXg47w^Kx?l#DSMu)ZUyBo zoqXv1+3NR^#E`9~+Ve)9}D0qkX2tg!*q+k=5 zNk|veyU+ndX-=N23KZ*SK`fD4@kUqB1nD~8&j7xgF84gdfz|v1XBTub5cYV}QpE#3EGf;bI zfS~v+iPjbBWd`C4c3hjGQ5|DFaJCT5`MDl5r}-xwX8foLlrRc9F1A~4*OmS{pFlC! ztMLxem1^9tuFoIEIeVwqBk6hK?=wcVloPhxn3Cl>N|$yiDa*ULekrkJPm3ERelI$n zz{-9U8V4&!9vrtjtCrwH=@t7dAKi=?wZ!$QxpT_XA9jtF6~L(|RB+2Z#owZwg6S&$ zY5U#Or`D`J#_*fDiuR2+Q;jW^@em5)z$nTxJlyI?F`5R%+zO_b2$iP;u_@e-X6y&S ztsKf~)leE|Gid~d*e;%BDPj*k`D0h!fnis2vg+`%HE@3ljlRTJqZC?d zeFpL%(?dSF5vdgcZK06+k{9O3%6ZJ%R*LzB+OBs&;dT~zqdNbHDbi*W>mCL|3yhB8 z%^br;#N+$b%yUF7Hv~ zqdv_QZys^Pgx3{wi`?XnwQmqJd;JMdm1DEb~{oQ-9ByvMzkmNF}F)QrYd+Hk zQo=CZV!jrTC7s&PT)q?#y9zgov9YtXAZ}TQ7e}=u2D(@8kY~T#l}Jy4oK~%>mZh#T zp33z5k;Q%;<0s`XSA|p9rDI=4eSQY;v}9nFg`Xn>dS1~V>L6E|cFRL6Z*_v)jiS0+ zRjd9ZhYz%Y0c}*WQU#@LE_ zYJPo@?+6=#2cXfTHU!(xUz>(_T~%ri`kvZXY;H( zDO9w9bA7@$2^g&%o$BupMZlP>wsSsH@&Bmo5X*|1pe1DgRL%9T?Yd6GTI00l+jTSqbCJLQ<$foYHSZmB-`sQGBU*5% z0W|5uMLNkK6#}fl8d2xmgVfL|n1V;63&dT)JJV&zZN|qLwRD2xql@xetaIbr{pNPE zeRgAc42p82PKK>c;Odu+o*qf^cNO22B}_LES|h+WEl9W(lH3AiK`rgG3S{bx!5r#_ z`W@7~g)dpTiDivPw`5&X@ic#mvL9Z}oEg5e8Nu`M^Wcaj5i?PePOWjXVCz)!Y@S|6 zV`pclJ)X6mYup#h7ahCTR4m3r4QYakUcl7CM#&dCOYbYJ0gBR^p|Gl)awj*-@IV zqMWj`IQ1pLijLOQI?Do-jp?Z?ZK>C>itBy|c}srMKys%_C#AgM2nHazYYU=nD97q% zTUnl9pLF4Vicf>~YobcT*;%#M)_u)!UTI=m0UWJy?~#*2y7MW10#Lrmc*HbGVT$=u z>~Fd0F}~sCgTXJ|&FqKa!ynQ$J%-3AvL${xIYFDseHC~?o5(r6 zk3;Lbta}Tj%Vptyvw=`1Pw1$X)BwDHwqv8R2(9w&J51a>S7Kf-L2D1&&!3_cppYF_ zXF*Lj8z~L->?*eHorN;q4PSXoqN|%E!k?G>9pLcOxob%h#V@MMejXkN>(4PYJ9c(D zoxH2v%|2JdPkmn>QfufpJb%2NzkY!JQ%AWBr18T1MNWkMFOCD||LLVF(b%vh8A&i zty5C~^=;$iPN}AU@Yu(qy^pC6u8z&zH~APG?>7Nw42=Zhlg~WhSmlj5Nlk!pk41Rb zniq(~NMAUhf2EiCH*feBff)>x^F0XDUGXzVMi-6yJUbx0x4b{Y z#SKjfPh?&5k*mnQ7p8foTqGN^{(>`23xHFvBUB!9>qeZ)x`<hWHoM1jFmsDIsPVnKNU|!bo+RefCWn#DSrtDOKasY7FjV zL#Y0AXCZ)P(Cx0ZTRl*>nOPziYP@J^x1z6os&vAmh4LDcFHf;`(?Iv@+a6p52UiBu$NS3aIjz6oDfC0~t1ut?u2im_RD zA15&KPE}nUe0!Jdz1utDvY03iIqeHBB2f(i%%63IxMCPFEiX=rHP<0%o-sAAGO=~g^YLlYQ5tSI${U%wQD zN%fr1r=?ZC+CN$ky^To}^FjH2F6N-aWTXk$R~{u?L^}coH@*R=;rb2_ZkGB^(08z< z0ez~?_sihmlF`e*LSLH-SE2@QSX0{N3fHbPv3+cULbXazFFm&69Y{~`$tv&V_5 zMqV4O+bB-LP}kg~_}jQKw&7E}k$SL@M+)_IW54g0O*6U>CITaXi5{#rWT21|101I} zxF>}NENVqoay?IFN_t$0l4etpy~WyQVyFOCGE(fa5K@k#D6-2eMJ8J8ulAsAi$nl3>E+dimM%bTdtHsBUPQ;eI=%&{HIjsN*1R zjK+^X^Vc0l$HlXm`BRsaTYW7wlvquZE+M@ zPPF=|iawcIB*a#*Lq4-GDlk=uqf4eB=jyURk1$~+xm$0mL518&Y9$>X;SOa#IN4=y zQ~Z4#)&^U_-A44lX`Fo?*nq^1&PX$D4^DjT=a6~z=@ke~vO?64{?&(G~!81#DDVSR`JsCJ{ShrbcFcf@61e+<7f~VCNCJ7rE+f(%AU7*yLqp?`lq@ zTLeuby2Hvs7YyXLBRJ4!lt1NS>>=3nhUca5sL?^oLbK|Ws0yM_oUtl34j*iyoQ$U| zouG@z%EUgMWTvZG7uz`Qt3_$Wp%Jj^ICk6lKZezj1k4xGQz-g8BgdEmRUXy95N2qs z(-a+}N179jeh1LBS!W;8l+Oj{XKEpkDdGJ>LT=XAHnxWoshl$-v*!)7@IY5%(&&>t z5y1_9!l;AdoIB|hm6KT;w3GDvw7*(gAq53NU;i`c8A1DnLTD111ou`n$aHNM3GX>e zIMMqyfm$|E_g2CuIZ5Sao8G7VvqC5!n?}=iVNDi=Rva8_1Kw`))gwGQHO_tcXDCG0 zzAE`qLfQVn0pDtR?b`^|^jD-)oJR>+X%!TW?75fBGz8k1E)NSF?n4n%X45x>q8jy( z;&@q^h#eK3KFj+rvI~c;*QrB}SFoMA3>PQjI}1nXJsCMwkCZ_0U`1QY>mTV0g#>FR z)RtX*tl3#$7mVVu(vu=u#f23uefE{+4%#=M@U6xix1ePM!u=yL%RA@W28vRsDV4jx z`;vC!_0&!PI-3olBxqjqzr1~z=jDSXW?kbg)gAPXHgMexD+x#AV<_pwa;z%en@Y;* zO{lESZ~d%)!b6u^l0?B+0M?gVQZ#A&yV}m?wWA{0D<}L;QYG7e)u}>m_zHugF;8xi zLu?mr*%LGjdwHt)%9RF=OstWS(z%8<4aI?9ZkB;lj7cLG?f`|++(w$z_moHQH0-UU z==F4&gf-yTZwIy+AC|Cb+umu3lrkdQqhpU{0I7CNSQIonfnycm7oa4TogF5e5MK;U z%WZ{F(@~gAcK+$Csrf_Sx>bk~7{F2^To8t$b3*L+>3NK{Oi!tjk5X3shM2&-ZM@rm zq&q~79nU4k##kn`Z6oS}Lk^$r&v6R=#3iQS#1W|mBJ@sy`J`bo7qW5 zR^n}}=2o_CzD6i#*v=8BnF6`HA3VQzOQmH0wrjU)$i^cVW6LXFMo4)PANKb8_Vo7l z(sPVSb*1xoJTIvweT{uDxPm};yofvxQ6^R$jQ`>5&;7%0(*6NK9Y>6vJ=+#tTwrcO zRVndrUanqPb6wHr|L-V}C74O4$HX)_kFHs43K|pS3B5ig6T;lWLHz zb~&VzZP{p!o?WM4#0p#Yg!F86&yM$Y^Us}*VopRsYgy&CPvU7^5Qr)>&0w~J>o1#@ zH`)6kI|5%|@^XuwqQ76TTi0MmyG{8Yc~(I$w;`Fmg|Ak6Ywe8JTt2MC;Rb!XEgUnr}i!h)PQ;p#fwT-&)wwqp=IXySN8dWIuOim_z zt)yQ{&B(R<$ne-v*JV64enzaNSH|k;rF_l%@d+}RA#?Kp|7A@5Rm|zUP3imisl zhsv>J)v9cpH_H}?-V*35Vur+zR%aTL0!oC#fRD;UOlvwYB@NM@_$8Msd97{%6Y-+Z z{JNxT;<{{YM>=i02!<|Fa2e`wRRJ~c(q8Lzbi3 zi@*4(gIylN)XLmZ_=aY8`Rh#V2m1mX%GDwvdZzc+ext+C5^q5vo}UWvm0osla>|io zr&~W@@b_N}bryC3-`b$i=PeCOd#_#{BKXy4uWNnZdwYE+c@G2My|{QdpB8)vCwzFk zQbB%yKJOo9@`Ug3;huMTqU8Lzy<2}C<-pgPUT*SuJIHj>FM7~-dOSV6JzVeFCZbNt z7LrcVM$F0<+-`U&c|YI27RvN~{_7yH%rqG2|EuR4!~b831pm?V)o4!H;&dSTqK5Vv z+89@x_gwJ&wlzt#s_IUp7GQd@V}k&8b(Mx$vaOM=5zB3WC4!F%jMBDoObdVu`NM_U z1?!T?A)&1CZ1G^d!EgkRT?a_d+~A9lBW%!`!pI%fT%#C**PXF%2+NGJ@5~W?znOhn)gzC{uM+xDkWraH z;?CmsDM=V21gg86M5qkP1_+O9rYsQRs$4sQQSMPzZFaao4?sM)w}q#ZNGA(6WuXoc z(4Nl7CwEMY(?Y|tUm!6w-XjsjKUgB^AnGQue)EQD5#6xC; zAoM;+s|3t}JIkY*ua_7xAACX+LilEy^&W(ZjG)bYA@(lrjU5L!K^)1D*kQsL0@YwH z5TXidKG8Q@fNwCE8kj>OiPa{qavX5#w>QV$>$EZnjFq^w9+x#H3Q`B#7O+d1WYIIF zKP9a`o2bDnv<8geRF4+T)uv`PxVW6t6(yYE=~5?332Y2Sv&S?v0<9+HD6WCT@1;G` zuQfob+Xzs4N0X)*OumiGJw01WxR)wyF5m89N}IM!A%OvBiphv-&Z2UWI!ybea}8;t zFYZ?02z@2vB}d9o{2_TTGpR%Jha~wK&y&u9=Tia-&rHUeE6w;AEwJFc-h^~q8}2Nj zBADuQ7m!&=9ARQUd5>ql4>;UoI#{iq->3q7l(J2Us6Qqis<}|;y?O8tgHfQdJgJ(Q zMEioMEHE>FyEK1c!cG5TPu*sJ{A&9I4RC}Qn6^{Dq(PXoSbaZj3uuB6XglsZz$~oz zWt(hP53-gXOEW@^Y*5w{xreMGtdqAlnW-(|N&65y=Rk-D+`K($j2k>G8WRrdT|BR< z<`@cVdHbMxke58x)qBABr+7wDrPEnRa*KN!wcKz4lOVK*JX+x1j1nb^R60I4$OTs(RZ_w#h!n~iks;v(rnfrm(S7R5;JZxQyr$;! z10d)S9Y&8#{pSUsBT|~(VXx+kzbE)yOvcbBdtdh$Uzd67{Kf4+^!EClfg-x);zgW!K^P_qURy8JBia^V0-@#{IgLS{p>MQib2Tvt^DA>^p; zd6vNI;Yyt3a?QldA9hW@ZvA(C$+^4XI^c62_B)N->X5}2b^lidFPTywqFMS7 zChsYsO%C?^OE{mmmbaJR%_<>Jbzh({+T1av5-(?Zm%_CN85W}N19U9TUXlq5jgo96Tu?!bC z!joGaPtv;yCV?YD@4M&H`nPW-EU9wGHhcG&OOXnk2cs3$ej7sRi?K@uX-fffa% z5u*QAdCzzsTlmwQnPd4~px$HkQ$LIcWeyMc?ue=9j}?BtMtWPuHSo)}M5bS%UO}c> zkzp(!uEK%MoYDqSUh~uYu+(zR4uXVAl#PVYS zu|YE_W&_v>^@)8^K{$a-9FRSM_TPO~P2|BP!R7W+o>B&2tie*u{N+%=4iwde$kHbg zbe%A<4d>iIngEUb&)m-|fZF1-z`&505(B^vC`kbUIqv7npsEbu1wc*k-V7^ixp>BI z&~vFrkNcf;_Dd_1@K6aLN0`L=DLuJ)S&AK}=jbE6`~*R$ldbdnv;JP@_Y9p-BOaTm zlc=LLq^L8LgwBI}>^$l6RJ*%e{~O874wN*rWL zl;?IjLTjB?xv&pIu}MhevfG~%Sij_iTuh0#;ZV*hpL6!WlA3&@!cu-P1i<1%?WX^z za+6lNd>;!RhQpYDHS=5g2rY} zqJGWI<#_5_qXJqF&VeQ&)(3Q`h3VUlwfLHkd>c3pkh(}du%=QAVVTxcvN_~~5hZYl zpG@~5;8t|r&~IX z(Jo)RKD6IV=gCYQ9YZq7g@(7Ql6HOJA*QgJ2qC%$Z{?{IO@vnoU_L-KK8ZlyHDO)Ns8s5-xVGKJ?LS zR(n_%xODz0`70`JVa4gWf%8c^7)}&MDw@3DfFIl$1jtaCgn^3ip_$}>oM5xWylllP z9!#NEA;uCq;pwe{layoI6uDx=@)%8FP;D+F)_s1xKS4a5;kt19o5D;GWaG%0K{1g0 z??CcL?1Fd-r>&P@c@@HDC=IKQ3jE)E=$Lj$2$h$>(P~;;{$~?2angNkQu1q|Ox+wv z@u1UFlQ9-Br8eo4zfzK7t55`!YAAo{l_}O@4{UmgJS^fL326;^oni_CVZb3C1GXnHk`#8LQE09mC<(X| zl0)HtC^QcEEa^4x6wG9j?Y_x3tx;+QD{h1@ei*svhO(zy_MuR1c3Vu)BkJ4k(fO2@ zD;M{E!=WCP;R#pgxTE>#a{V&-JW8hF%B)J;kVfvIvx*ZLd`q~_g!BsqD8qUIlu?2f z(2(1G1C_tb8S_IBpV2MBGPfwWVeRQK=d#&rAl3&%am{rk2&so5>!o+%c(M3+$bFVt zwqp@S68sXT;FcbN&~DS}Ym&->e53fp84NZCY$#4ui}lw2@JwmWJRGLn1|qiag%Ps) zOMT+i@F%hRs}Hy_SUoi7uo*Dl4@6vvEvy?#%m*kW2J-mnUeT2nHZQ%88`}!t7fY_| zXKJ-WGF`4-I}g7IIE9s{g2+qi0~rSmwRpXP<+Os8C08qj6rTvggCrF_qonq~!g3lY z>^azc6uwV=*ge>A*H6A{V$3J4QUQ~* z;1UDOJ0EShk61H1H{qN74_0GSF8vrGFACw|U9sH3ZJ1shL$>~kmYy3F5 zMX)uTJmzfJT0DTuES{Y8EwVFFnQ+^iq1!hM{c_I*emRcbeLm^$a>tJ=@|>;f=K+5a z zhslD0f>FL?&R92kqj^Eew z^Htve>%8-~v@B6b2TV=~k@f6Yuc`Gnv(dxkCr3|xIh25g zU(y(Wa8PF6REdYl@B;M1ymn@;t@^`ckF(tfgB(-_rDDqnVG5W)@wwxb>nyIz!{5jo(p?%1#4nlqa zNUX#}e1Accn+Fin0R^*J!SeSh-7yc~w+#hoV>~LG500Y@NE&&w0Qt=%_CuD<{9}Ks ze|ql}b=vP?*RRrw98ju;X3LCEB^((48nPZ?Q85;jW#TTvZeerCM7TP2s_xj)b8p<$ zO?X)Fojq+TE^4tlzZ)3!2d~65M0rhGUzj)&kNVhD&otjz z!B(Pr!rcM{Dy*N-fCuLvZZmkH`67%C#S{=-kIxhcJl5jpAuE>>>le)o%S{{_^YJvU zy~lk1v7u{5vm~vsdw(Gjuo-?EeD@P*IfQpSLfAcAJ4G`{Y9&p9hbQ*ElXLhyb!kc< zi8hib35-pHGaz(YiS~W7qmJ`lcnC8oF5?i<(EMtSjZh#kJB9kD5;ju|lsJS>Ds-Mn zR#<{mL5$GHX}#b8E&{?SDJ=S|^guK6K|Bc?(MtSlBqv2X{-P{Z`}5I=6K(`z&lS#U z57ML#Zp|y?sk#B)5G<#Mjc$5F2h-21%irV$;(y9Dy`~0(e!|=wsYQXv^|G@U>NJX3b7#H z=0?@Zg^Q#-VrAj>`tY%7i*Ah?6o{av*B^K$eWI`~f#r)crI{W7!5(97iJ|b>n0=P3 zVeW_b2n|sZy1}g>3QZb@z_0HwcZa7f1*m6e$_bWu#ADYk2^%l;pg_%tqwLHJL+v;d z2ub^@hq0CprkN?`hyIF5-Y@0;sk24XL-_%BR?2W zPPN2;;2RewCn+t2X@qcAQ#1HC*KS%@c3oFF1Jix7ZoMw699&vw+q^t=%B}xDcXXFE zVm<={0Q5op59uEZN8>DZv;8;y6Zo6{5yp$odHOyL@tfSU;^Af3LbgKy5s;`< zbrMcsinC~gC%B1cpG*Q#DPBCk#;kMunG{#iQ{X;-jr6g@ltE2qefgz!jbq`1@CNuv zs!aI7{`7jkeLkUcSE2&<+2nT9)-^zh?e*Y%SL~p4)E7F0~Bv{n(UcF17K(flY2L_dUC92mE%3M}Xd} z`s^65)e9k;-s574Hogi4!(}u5Nh%u`DIf&X$QE2;n-*1?IRpiMaG&6mwMP?7E08`4D{IXFbsf*zA{JxCWy>ztj06s`jmf4hD z^}kVN$c9-u-YkTzYmqdgVV-7Q&H@ExE+^=mqG0kYB|&M;euw|MY2{@B)Z_5Irj4M% z0b9R)TY(l1AxZN?5C?u)Nj)RsL_sDm{#LQN~0H6s948d8Qb98-of zy5*grE_KbY`lb%4FKEXo%%__xHScw*RS-x$U~FPkZMKu)WSCFQm2G&Y4~aroC-x_o z#SfOmXVyD2yy2&3Gajl=RhAsrJ;bc8B};}l0jGb>P6&-`xHPhZ^bB}jb@7EB;a}@$ zrW+J-Pcyj1hEzpA_&(MRuFgWbOeRQ{%vBXyNLU;$v72qt*tbn*GjdRzP}n0W5s?TU!b~2A<#VBYv&1%- zXZtWYc*y#?nkdpGV<2?wVJh=09wYn%Cw3#TbRgpFz@hI3$W>`JODQw`L5+3f=Hm1e zk$qfQ0@g&I(k?9x3`A4~GTrJ;k3iqPZrWlS{6jY-dCSQd$sV;^1S#eaa2;Q<| zjme!ODGfnivcQCp-aaGf0M0XIYcCLoKbf;|(wOsTTwzHbDUkzut1w&nO2DH)T8b;% z3cV**iQp{uqn@o}a_MNObstgXZ;%ezu@pv^=nKD)Jj=kD*7Da4-;YackOJ3V^m|s1 zb>Bz0>$Kzzjh<=8WqgpQ<#C0n!k|4*Ic#0gb+NU|0Ty* zLGdz0(1vTyVGr5h=x6GzUJ@rYZJWm99L*AqxxsADd)kxvl^B9Q)?%52kL9`77~iph z$wHj<(rgRlK)L!7NXR;pNR3IO-Q&LcpP3rmnr0%rxR%E4g=;m|iphw{t)q#+VsR=| zX3CZm1A!iggE^h{jB-yz)}Jw!8C&Y9bLdr=Aoy(oA2mzq;SQJvJPrkCHOmRlhS9(U zB*E^vj_~{|%g!00+vez2VDqG_DmDQ3Mc0vA{2pgfKucSM?-mscaF1vy*$7NUqhdkW zh))yO=4(MQYD&ar@`&gOg&LY)lT~iLFzRHK)S=K*ZwYda+BVe}j2W{N^BIZn@WqSm z79yw%C%sjW32H-^#gM7Mpu}G|V9jock!YUbr zMB1F-z<$cT99XApZa)HuI-8PTp_G(XsTl#v*t5tsx;D#4Q@+{*#JMBI`IT|#XD!rn zmNi6AIw{pPZLN;xM8L_ThP(4U%3)b;j=-~x;eJVEtwOv|`m$WrurT#L*aCj^@9vno z3k}z1Ivu;<0(B&RSg}SJ(iE7s3bO7zh^~*?Fz^AcxpZBNk~XSi$+8q>nmap_YCWCR@_@RZ^NP#b~& z`j#^heKGs3Df`d0*qjKyaD*_8|H3F#^q*4Yr};(aU1tSC)!jn;)~Il=$k+p7jmaP- z+R&7y292r143}iIV`Xe}w^6O*hQ|~o?;IQ{TQZ5&qK(KiQp&?X>NWgRX2+i^#n}COh zw*^;$&*gr_Kk16!5OIC^P4Uq!hWXa@B8YnF2Ja?yWA(Qtt>-hMKd#p0%K5^+`SbY= zz;(MJwl913A%=xjH71@*{qF`o!M>}t;pS)5({;Bk?lI?LEnvbBaVyMRrE}V?=6>-n zZTLFU!_n==>gjO2R>45gV^@SFIG)rT8^}sTMF;ThczKZl4IWW>z5`27tjl6_>QG9> zoW*ya)$3Zs$0)VXBkRwhlL-s^c0?Uq%%h5)5I+@1>^m$~yF{{u?zllv>OHa@ zPdGPdW6`6!XT7N(IL_-zg!*RqFp_=To;3L9V6AZQxTADl=;E2VfMxlShT>jEDvm^O zFez#l3}T}0C?Zb8G=gI~QMIuKZU!(~iU48wxd@pb$LKHdh*V9JSzpVXQ>EF+uc;7 z2ut4$iRuWO+P`U5=#zq|tE-H2@Z@6Pc1e}VV$eowKGYnX%I}4bbZdq*Wzc5OFHyv?(JTk4adoG~AzxC$66t(?)qxd3CxIXIn5^;rq|i%D@f z_5AUr-X}V_%b|HyIa0}u?YC7}kDEw5nZSrp_ECTvxS91^kX;%TYM3!#6oTDN2*OXZ zGpHN4gpPP}q%GuwPmyy#psuP%iOuT^fGl(ki?EJP#Wi3}Y2d46hG%VXDl&0YXtL4O zE0Biw`*Lw6jA)c+$Mg3$cKRw6NpqMIR)$W&G#=p?kqC{ddaC-wf(b_MH@nt}2jzao zTZg2bb=Np;nZg6iOjRj5JLEDun4LBAY9Ei;!f#hPaEb?JS=v7SIjx?Ecb zoCh2Zr7Nvd>kk=6sAvi>CNk6*1vQAU4;am>lQAcnlugtuL?Pcf+L0druDTc_CP-Dg>lSmdr*xYT*s8#Q?~ z?iq-o%CZ=oFAa+axa3^zUFoLAP-1m-h=2Yz4_64@ohnnuX->_}`rvx0BuXg9UO67C z%r-+ah4G7(dz(7B?9pA(hXQNrg0d;V4CNEfYH(w(Z%ho2a(;{(2f4;n<}k{)?)`FE zXCzN^iF2lS43Rs;6~P*f1eOJ(w6nI}CO=}``P6Lcs`yQCI4+!;v&A9Y4+Y$sK)%Sl zRPmINA>p~}wJ(x|`pB@@`d`|U_M&ml9F6BWvd0^QvHul;D{SIP;As`WPSd_SsT2_MWf@$F&!LT=)Hx-ZciRX_ zFo}Y6hhBxta-ADfY$K7q_5rUpd_sByeqL0%IJ_TiQgLOdhzxU7jCtePQTcHb@UD^YVj}czllbxw_%=y=n(}*hN_cY; z_;yKrrm_jtMhXm*q zA!%`-0jZe+ke|WetwBv;@jNc2`HwQd@Dh%$TbcuupL?WeB=aM-Z$~mUrS{@!8T}~n zHYbh1tM#5DqIDQs=`dOBVn(nwtO6WIW;J&>m37lB6z*jNaqI1bIpNRUS6Y`I!cnR2 zJRLoW>%w(aFaj_+JD{MHtv)@9jmlHhO4Obd%Rxmd*$y6oU`P5R`j={F0JWfw>+{u} z(n8mbh5$X4qTJF1r<{1NKq1k>chC1M5KnMmK0eUMjXqPGKudYl&^0W=Z?vlr{`}+# zo5(BudjwP~K8m9h*4BOsK^K{*L8=lq70Q_iP*P`sb4Oma(WbRcpQgl&O3xZ(cz@^g z0JHOGFCL}Lnx%Y1THvxK-?F7%&3 zKXy#p?Pa1Os(DADFrrW>kP+aTww%1{_4{1tl3c?Jzn5EaNUTjWu6lt$mHA5cQymjF zreEn__qc*8XOg4+%cV=P?2L*)WbcP^Q$SyPxY3XsRvK}y#1(DaK z$86RQrg{XLVpNJ=+0_#FJ}xhvp{XWPajJb;o-mbS-;$np{8V*uD#~j8s05qnfj8Jo z%+B4cd=@tvqcTX+qC|W|f?8_Cc7^YvWON23+abuLwa{wC*F*L^s+c6LuB;~ee2DB` zQQTVg4Z!J7Q5FDf#~p9>I9?> z?*eF*bx0c^wo!y^T6q5gf`!?F2tKmTCKXk_4s=ZF!Rkr8u#m;uE% zI5(TZpm>AfI(Y|3<)KT7wzDjq0rO(V-enA+wB4N&r4o#@|HkIpLQ&gM%ql>EOurru zEvYW2vubeL7J{hy!w;elL7>FQ^*mwXxRo7%lrN9^pm)F7|Q zxsJAv7K6hW>uk{$5zQsK#IX}XD=lYDqwc0LJ?gH;mV4j-0?ZDsEAwJ+VWF$AGeIX! zl*vH0YptX*qC>P$GXybq7oQQZYb3E=jO&ny+F<}u6U zl&2qxjJ2=+qQGlnHC>R=z)2Y+MQ?{4hfqj^*;MLT* zO`uPP*Net?`txry#j0V1T8z8F7}*yT?B2$>b`_P`m-O%^hks{dVK8MGf zYaRQF*WyoZYzOy27V-j!l|dG2&Nr=k=mzRZkT(wus`Z)qQX~m&P#g(ng0q#p{L&rO z24bAJZx-KI$**ABVeX18L!B}~-xE3J<=oZ1OD=am#!tn%I>>9j+NbDR+q)o7g#bvo zNpOk|UIVrYPxueF6l#z&EXz0JU0lr`Zn|liNWF~ASUxZTqT37MQqu$Czb#!@V#rM( zq*c1EI0Y{X=0-K0T=NcS=E{-$PN@S2 zSnYq9j3gbxG?_n+Il;n*P>~A)45r83RGVM{OOLhk6m_Gt+iBDj-F4)fhJtWt#ML3* zUDz13p)I*KrbkitAAnu!pJU-)!4fI9a|?kQQZnT97p*xgWk ztYKX}!Qia}v!^cF<>M@5Lg-=eALM~o9WQOmILDutdN0y-dk2N``~&dy&k$)&LO}Q6 zU51k_3+TosGn~Z-yc{VP!Zvk>8t0RvD++}ija1BnT`-?|$OhJ~g<08axT3Y%{l zBlCj=oa=3?ZmwnXldHSfj2KqHA)tZFY|roYmdKOqy5CaKrX;*qdg9JGnC2u>0kO&o z`o$lQZO*=5&iME@u91;dj0YUNcg7)@$+T-Zvpw;?6o}M)&evUg-xx0@aIWNS z9cWh3cCP-O30Jhnr3Ok31w~J}jeT2NcIzkC>S9J*S1sJBP`dQ?t}nc3Nh``KB|jyi zX_{;+_9_b-H!V~ds9bdB`A6X!k~y*&@S{CrU*6X<{zcCx^9+s6QN?vr6(f1>7OUop zxLrDYs|5FFGq|KRsp*0Xg-q=ITXE+JY4;Z$B76mZ!RpBzVOV9TzLj6?5=KoMt}8ZGGRusETOO^%^ma=m0rK3KC5%yHbznyN&TNJ5J56)6%UYL9 zrm#RaPGGn6lSl0J)4AF@`l`T4ou8!}OC|GGDoNF2E_|RgY%#oUcusUFdW{j^<=@!( z=8T%65(_)q1v+2%?0z@jf)gb)NCNI_pPLpJ9wpJpNR22mOnr6r=0rc8w7sN%OlR)7N|`h3~de(d-;ze?DeNbzsu3a$6u3&$Tu~k z<&i26whK^~V62&S5y_)$6&L5NuIn2DUk~qXN7(IIKV&5j4+P_~45W${;ixE2jmEQ- z(a3cOw;AqsRy9Ryz1rk(#Sf#GF48x_mb1p;JDrqH z7=L|Xp!^i0GE4J^5Ls#cL1Mi*fU)d1PrW{jVu2h!4)>C+b5NE^xNpFH{B&d~I6~!> zku5GCx*1rby|xKz&=RZ@`HKWuL^w4q(au4125rGKFO<`P-S=vJU0u}5J+y`7S`rMI zK!ujXB3u+A(2vAX?F;>bH(-Fg6iTWt)w6%f<~BxqJ>zgg+Ww7^?ynxt)QTG5>8}+D zHf)#x+XqW0%R1WFnaFy^Adzr8$KxtCevO8=!$~U#D`gatMAmm~)5;6IQwd`z>os$T zGr<91#=y=zxAA2k8DZPnL-9<|D}`a)9CdQhg?KWN$!C|Pw0B@z052RejiS;wvq|q@ z3t3eeK@C^TPW=riZAGPFSIUE3I9F-c#`n@3L=BqIu$hID_MSNgMTO0T1P};3yFfr; zxxhjQ_14&@r{!*1S!fwDt0B6}ncpjIAU4i05P~dKIi%&!{iF-f{`R5hfCt&-i5&;H zOx~nR%pAOR(OhtvCB0JF2SvEKfvwCcYPv@J=ihGrwxfDpi^@vKXb6D3bh*fBIu3d; zlb6QP_5+4~LEjac*I#3Z6rd$0po|24G@BY_TSC7mA7p8oMX<2HI{33;4O0Z!IKJ7K z&B`-_NQO}1$o0LLi{YSqn^pSWe1se|hpgThS-gtX*nu z+x&jf1sCx}-U>6qxsY06PKK{PlZA`o$c2bGX-*t6`=#HLf2|N|J*@9?gueT1and5Hgrd@@iz(UPGmX=TbS;aj<-4xw|tIc4a)-c2$3rLUk( zR{!ChOoz3Q;;?S6LvCAzI@$(syJldN?7E0`z62x`nIri;KtbZPh3Q%;cFOY_N+H&S zT{BCh26+S!4wdPO48#_jn9mO)4bRfOBqJWq1_4rtB5NEMy#gBFOp7G7fcFhD6X~(g zSge~P$#%j1>FMjcCA?2b6(@GoMJ_9iGMUVXqi9jEF4U$in$Im3UumabYOHqFvoN5P zQ<3S*)rcfK=JflMpee|hR9S}N5I+yUJBReO6}3A;8HP*XNKbes@SJANXt|}0e`QK$ zZ3(~D*Kw6*C9e1`vW)B;HF{e0_+A>#NJTZh?7{d_NmES%2OK2-xQzq5nWgV^bi0dp zpG;QRYDV3jjMxq2h8xF8l(55@T=fLMLfsU7v}WjT-B4!ODe_U!D`mH}`=p3G*9AgH z@^l6lHUR!}xLsJ9XHie%XP_8XtBwxGK1!6?S%?W7{x|x4SOCbCSkMr6Sl}>_mGBdt zBza32VG$}_m9>wQO=L>%{9hGe(ndNOC8*N1W+n&TasbxSk4~p)edjy}!M?N}FrW@N z&NncK05EttxR4CaO&%T6M(=6afV40|6Ho@fJaRmXHott$Dm1$xxjJP}JMyOaytI&* z=@i)MY2`V}zWiBf3dK@qnz~P#E_m*TOI(M5D?KxSl~@aH8U8B(!E^=p-bzechlWPF zh%WzF7vv=(t$r>IF|Icin3gglGv{C8beRVRV|5ShZFf31T359@4k>Z@Y=c2}2}hCc z$y_CXf2o@E+;4o9UD?P{uI z8BucDX!cbE7xc&gBiA?<#5bwf*;}ncv)+xH2%{bg#ff+#lL->fR)GR#&?7o1PY2B& z+OK>GN=X3*720S8;Q9VRALRgi$YafVWN4%#j#u|N>(rAiRfeGpsS3K8t_FOjAV z8R+)-JjI@|d&Q6=XxT;mryGYG0;*_&fRPDs?7c@JLvhCo)8eM#k5n6jJpU#3x?VES z*6EOA6=}4tG$TrmomTe+9*FBK(d%eq5h?7x(ij0uUvn0-K;W``WdEoT^1XwS)opd? zk!O*nEgA4Ka|M-tHX?}xi#wAi%*DPfO)~N)paL{!y-XVK>yD_*+&l|X2liG=qa_Ct z7zuWhN8&^SkB&Gdrv}2y0E9L%f5p?=s|5Woz&Hu`C37&C(^|S0Lf0KTSITRLq5Wbq zsRoX)Rt?VOPQRfYF_x)fmCR7pBM@ZUEF~wx%-1d;O@|1+7SHypx z4pDVRMC1m@eHI(-*p)W154J_*HA8|x3F^nUIyN)*uh9yDUTk=Q(Rqnp zR*TsLt}@3mt>C;2qdk%LdWKuM>7!whh%z;K4-nf%&Kj7C!D9GBI}(UEp)5e_fmko* z!~am84WaCmTS+(LtuKbpoxWp>O-;uwi$e3^^3#Z@riYmt+EHJxVRuXC9VT8-<|XJ{ClQqgFyPeV4ZS309yhh$qp z36KsBsdw6!NVj|)-?YXACISyC7yoPt%Dim46eQ)Jo}8t(YWVR-Db-V8cKF1tsff}+ z$(I^Gg=BNZwqS-D;M0B4I@enl%5?@6QD%r zabq<&z?Usx7+q&o(j{bs#UtCie*H7WeUCcN{rbE~G#orVK3k88F;+==SD;rcFK_uq z-K;IkX4~;kj>!O>V8B+5p}Z@Fq~xC+G1Qsm^HPfj?_Gr_ zuHzH9g}@Fda?{#lZ@)Pe7KQP+yBBWsuLPFqR#xM17&m zk>$%%HO|5Gk$hvZ8vGTQq;#%t3n083HlFX^W=rb>OE45eb*9DFA68*ot8A5IJ^d%= zs$43zOD_ZR%)k`lJ3=aX%}3h{k6RLoC+c)r6(ri>m^ElV=;Ur_(-Y+K8=C&;_0pK{ z8tAs@VVGTg4T=dZx-UCd+$89+Vm+~%>arD0AM4Hd(Zd)-Z`+?}M6au)z1*FjUmzjp z6xz&}2$^sHAE5!@?YQxuFhH3m|KJ`>P~c)kvxf@Oy+L5nhW1-~^g9u>Bmo>XAkN3j+yRwl>z?c5CUiGo3s_u^Vm?XB(YT5h0VVNDiFjY45#`uPrX*gN*!Q^g(2aR1#8+*-!%7z1}rdQR<%Cm*qugX{BVC6Xv z1}hZ3Me1OhEE9B5&s8LyC-bo+nLvKl*8s@Xn>4i>Su@GtvB8mHDC{;pP_zSG5nGKs zqi{2lsFv`p)=F?(Ze-u2sMb}mL9dp#%wXKUh2XUi!S$satyJzzN~NMbc?O`Hh`$@D zzdNbF>#4unslStl*cFt@$jqFvtH5y7E2kaLf*cY}gqH-nres)A+{c=VSw{m5xNDC# zJ>uodH6&}th6`6o_)hCcp}AIe0YR!U_s$*a{iAE2UP+bg@n-E*%3WzP3vy*iJKg)FcNMv;s`_EFr#+RTahdZpTVpl?-?Q@lCuZ##7J*^a1aqcMa`k01# z!m}W3nq=@SmPG9j^Dz0d*X{=8;*B&Z-^^Oz%UoY*X4tKeWLwxNp6E}v#<+0mCuBK4 z{N0&PmwezIvZPufbxqxr#cm0r1MT(a;+HQv**i0txD1|$V2PUO3f9}w?|3bvNX$&29Y%@lw(Sm(|YgboD{{2|WFP7(H;ka&MqXKX8anP;9A~fCM8q(cH05p9QQ4l*8u|p5 zjyQh;$J(+zC#0;Z$*oOsX#S2*fux$=Qs&OUdO;z6e2-+ef%%-IRq#y#J)Q#hjf?t^ zuf=Xl!a^1u!*|J&L;|M3xS(n^!Z>CY{K>$yZnB%O^j(wLjm3BH%>vChIRmevs-CB2 zyINtv?8mE=#m8Q)*e|bPl!vqBh)&?XoT+4mvs5R*E_YSgsScmJ-(q!0I&bKr03TXT z|D;&8<@3IN*4y_lzU>ncd{~!oZTw0jL&;a?=KRDPy7J>=WT5TN_mbE1ONaK>VHT(me&7CJ8BoQIP54ss1u4L zv20-^*1iaL#Qxgyh$5HO^X27KHa#A;@A9R& zGP;H109m1yjrXH8<;*T~pIm&C!oLaq|spj5cys&E}pR)4JzZRES*E z+-x5kCZ5yXV9R7+$uLhRMM8f5v6J_MhvX);|<2B>cTm~Rutg&1$jJdpI(oJ;1Zk78}3b5&^^@|>1_ca=2#6JAOxYMd1_ zhX2yF(^#dt0u|3K1T?3^mS2BJmL4BWx{PJc%SRd;8s3UD*FSliPBX@)n{k%~)`LHK z-|T0|)?Glk(aC$>Ucao>>msM{{oAl3|H@l6J5q)~vPVBdeOa$=Q`KV7z}~t&LialG zth+Fd3`>yJA;&_~aif&OnR85!f;bgChRYSi)21}r%AGj86)@bD$8wFz(tYoKYTH9+ z+tYWoAhtv347N}RXhg}A2s2vL_#Wiqj^RI&0UsvA4Z#doSUs^6>4bVd;qiwoH;Nx9 zCHPZE17B^OTa6?lGw!{=lHDeC*Ppp5hd5}W3wTDujLU2EV z_ro=LqPd~xp&+$2}VU!{<^a*a8`^U5*;Kl zQu|=-AAcGKy!yek6}Y3Xe`4AmyI#XA5iAi}ob}xUAh!B1_^X$+RXhu|qbljSPUS{1 zNze$#_(v@8^6!CDe0#iJ3f+0A?ErAn61hR+U%GzkwE*Hu6>yNs?g06l@60lE9F8V~PgvgQByLK_X{%c1-Y^g~!=aF+H3@hXaH5 z{7~RuG&LLB759yIdObaKKoahBoc-6_eU!UNQ_;6pD~KtcW#edsVg@lPypt#0Q+)GK zRn5vNPMb$ipqfW}=yxBp&&_sq{(~}_W!>Uw&ow4X4Au}6#7C~$ztPWSZYU0{eZusD zm4=q^*K5+#g2gt_+&t-zx>wEJE-y?TeK&4QL!+V$wnT0l_7{U{U`1B0l4oh#Qb|s$ z1|_$P1>|M?_wAmHBkb&_+X-*Stz@RiA<|E=S-bI7qL#}X~)2g@5?sPr17$g<#N zN*&}lO`H`uCh1xl%@>t5RauIuyP1t^{)kC=tFFuzUuI_U7~Q9wmM67hny++faz;f> z&GxTcb!Ala_Rs%KlC>1cJr08c00jSDL*=D_K~Ml7em_l%Kk5MgpM~-JZ|H1p^_Sks z!NA7R%D~Co*2ao{2@PRFtc0v5NH)TWRN+5rXEP-u^v;9bSX1Be_6CY&K{_#RuS!??c4^ta8*h(>&ON{fb z(O>{zLXEw&yaG|*gY95koV9&5ZVs|(2%k37yY6n~+sW9;OQ_M`6TvC<&q2iRiEv!T zEn)vpN^b7bl4tD3GFVT$Je;c%Nri&Hzz`|k^Fc`#G1Sffh9@d{2{#WfwW+)D{=It z!`n{B{$R1wJK$I@TOWCHTT4$Ore?BtsdjLs|(awo54dcY@WUav6uF z;(VPiqz);J;8+ZQ`wJ#xw?@-uRC7WRQ>79_t?uCGdtmIxG~%mYy@u!}U>fhRcTI8e z&vELfFxNKK?`HLI7N^0Rd;O*);sC1CjB@$c`&-DO{#v*-uB0o`43}cc4BpeX`U(ZJp` zPng7pjAl$<(_~L`;7vu@&&g057tNL+|a#c)#=6@f7*dY!b+Zol2#alP!e|&ad2&FW_B&pe!@HHAT`W;Ow2|DQ`0hV_pk>MiA5KIDx1hL#g%tnJ^r_+o} zb&JE$mri7}tI~=PiE$cWeT4&W=lx)=L2`7Xyjd&dmDM;xBgGGz)i{z=EdthxF*%Bw zG_2wlt?vGkJ~M3EozL4${X%F_eOfy-{uvV;fmQvmK~bVMBzFd#gP z42zVQFIP7Zp|WrGeBjxJ2^&xYox{|icTqy{yB;$v*-Cuxi6c1pf|56#@KTP>=l=G* zgQxYu#`AF2((-uL^ZmMorLS+ko578~$NTfo|4{*z889P%Gy2P~kof<9Mz{UV=vkUt zj>uwY-_$x?Nl?mUx}n;5iQ~e42&<$5YbFU*zpJj8cFKc=_Bg;Esr)a`?~?$VinO8+`V%e*B_91Vl!Kik#(A1v_p)-`zf zb?i!Qu{kIEYg>LK;WC18qK}0tvzi`1o#0-csXH|gnY@&( z5~Z4S_h*ELc_Tk&-w-`pg|b_!bC+zm8y+$In1}9E8NlW&Ox&8yp*Y8C%tMoeZeyTo z-PGc@dvyST_x^MZp`Q!Q+XALgREB8zu?bXN&NA8aB(y>qe_ngzeNqhGijY!)`7?Y{ zibETcJdjynX64(UFOHK;J5LZtS9u=GFc>sJ?c5MFZ=jkw%AZ~JAekh#gP?}nq`Ckm zuUpib$|1sQ&UqnQo=B710s^HI?(fiwJvmoqHH2Ls)~>p&UWDupGd(N-*c+zerGtp{ zEgy4Tj_Ee)o?v%`Ij`)d=leRnJwtKi(Ty22Khp2*;jjYC)-11D0Q+d5m>|5O@XN1F z%1!jL`Nqu5lz~!dP0+91;&7>R*K~*)LX6($1~)yB*d{x*ei!j}*rMC;@fsXwaE?HGXSGZ^-NVYs zImnnOBjUmA&ACR<5zSvLwC$k6qU&b9H%h@pGFsnL!iTU(?pF z8nI&*OyQS=H6E9QO&}=B&tw|J>K3quFER%YU!fXc+0p*P1WB1VbPmk*)er44)@V}H z=(;NCgPizPKOMK582X@sYDOAFn0oMLWv-PIoI)|yf3b&deUn6DJ&cvJ$HHnsOk z>3uHmq2$-K41EH!dMBEXJt(nb**ItNvJxA{Tqob9Mj4K`Ij}B@DYq|QuDlnrBXMxS zowmn(cAGYN+i`Z=k+%0TzxTp4a8ojHV;aIQ9?I`m1o$y(AkkUta+g5w@VZZ~=LhIK zNndt#rkcr%@-$kkD?zxBN!Ku=-`{nLPQYQ+@>YNVx$I95Nx&td9Y^}m4OGyX%km|) zGmmr1J?lbprub#K8tUtVZo^xE_O#(W+sH%ah38Vaz2Q*wpC+ zbw?Yam?2j_R^D*zg)KP_W?%RhT%A7KVf2X1m&e8|9ch!!)&7fiIJteQn+U)kygUdK z496&j^Zd-4SYCb&EMQJ{7Nh6zXbXF!bi1{8Q_)EG-Uw-uL~{$cBT37L!)#Qge8jK} zohI;BBm-}4jxr`$*ivYcFbqE-y~sIWiD4)c0Y=%S>d?A02RF`sCY5WM>=d8+R7kM} z>k@Wb@V(WU$xN4t2+l+84@@Fd{$WZ}j3FCXAdzH}1b|>Me-olu^9<3Vb_WzvDUXHJ zC<6i!M`I%#89}_PHTbu#FnV%|0NTd?|;yG`eDEz3_%58G=A0i9fs zj}`R9f#oBHBN1qo&BcODM9?dJgo8ummLDT6Sbgc2Q{=htlv8}3K)NPB9ZV9UX&16_ zkN+#EJfubeBENI5%>r7626XQO(e3t%A2(UyJji}cwoW&f<)!e~VS$(wT}qR~SI(Z* zzx#<-@Fi&tmFj#vH_84mg-rAgF~#y@squV#JT%49`+Nl5{M90Db+j=q+KLHSPE-Di z>fiCp>u|k(Id;67l!{dE2A?W-h;vRH$fSfSWl-Xt3ix?B&hZZZANZVqp)N~|(8aVC z|89~&8+y(?z5S2-Byr5D&q9cRu{&r!5y6x%QD8D@uk>N{7Ib1pbtNKQ)C)^luIg{1 zU<~=CwzzH`Ks~Vm)!^)P3dM0mx2@7jA>dgP5u(wjDB-(Ua|?+$C)19Xqnaon2#@P5 zqP`r}HUr!=?E}PLjc!I_x5|jS7sHl;a=~o#kSkRJIQsc&I1h^@yw#R*ssJokyh>;! zqXOY9@%|m)2VwOkmhS5iB3JhT5fAaTy5++rp!C~E6e@CPT@tv=z_M&w+fsQe91gnxG=b4L z-EW=03f>`dxy|%#p-Hqs8X*Nk$|3?R=hY3acbS|-p98Uz(U|q4F}p1y+s{y;=upZ| zL*Y=z2DUr4I}YDtj6;bz+-9Mwc;x!pG+8# z2D+}95mXbM<$OGR8$4xA)G&|-6z*H$5FbWC}Wds*h&i`z(uC7ZE^!4=)5>6P^;hg329A_;$sFs(K+2 zsCb~E(Fy2=;J8U$+lve|sPQ?y|71XQ#mg?IqDRZc9uIZFJ_SQUJ{P zj}i(#yiFUuq-?HWD8u=+8YFUGY1tSe`x*mEpWoN@D#*8HkB z6Idk4qW}R%b7Lm+y5aS&{*EI@0`$#;PbaQDWXC3RSa&8tj}E`ZNVVeAmpj@UZq5Gu zfz^d)kDJ}gqMto!@SXKMvrwUh57bHPxU z1D%g|At8lCGiqQ0xl*SEc3*veffQQJjT=E&xfV+>dl9|;qB-fzm;_&_It6wMIfoa0 z^(&U0dyXg;hO<)K8c7kgC1llE1ixE9mvXBy%)f~H4H7t6VPmZH6Dv4|Rw-d;{42Dr z)*l%qSM@?~%Y^{0tc%ELA`Nd6;gOWf9^3>Xy*A{huyp56M(-)^dnLU)2VF+ahdiX3yu{U{QtI z@NbzUawn#@#pnG#@ZXNkmCO=M^>4k$K=i-VeE;$O&C<}b#b!tPq2j^&N5-*aH(v}- zcaJb4bC5j)X?5ZdIo5Y_3Dn1=CIZo`@frj$W(ul^)gTksv1@CrolHIsHkG!x$+y?nv`hNNQU?NQ?&xj-pRQ3~CODUfv z$YL_fC62Wd#P!4Jgv6&bG(^3;=S~chKtu7%LX5QrL$i^gT8#N+DrlDu%_0Q|DOFL| z;Nt|tMBMcTLlLctc+d`N7JO765n%(v|crGoO`i{pwU1SN_}<;()NUy_iSe)@r81_KFNq;IA=mQuEvYadhDc zaO|tci)i=Z2S+A@T|s0vgl{}dFpP~ESM%1wIYRaXv)FrR22i9EoCqdWXk57J%?GF@Fj+XLUyL; zSH&9Wc&zlU++VBBQ9~{GE!>hi+`s3d8`uGKKJfIHZxx-UZZcMTYY%Fp)kvQ?JYh>{ zL5sqwV;zD0l;|rOm85`BF>56jcBCLPJuMW;PGmy^B$l$UfM|e=Q;#d3efi(8Q(Q;r z;9*A{ONP{UwK?qk3mv$)DWmTd2Kd9XRvCM1Im(mU8T9CX<6llRWKkg_SBmwHfn+Th zcf(Pcb$lCOQQ}#N(Js~w>bNTXcl7IB2uO7TGO~Lp&iiIpb=*3_6k|#EH+mz%Fs96; zib%rURKaI1iSYL(rs>Lsmf+JLM$@RcK~CNT9|Fx={27a$5f&c#ObJ(Hd}+5DJhCo< z0t{&{I+r+4Nb^4EdbOiteRu(mhBE;)VaB3DMyKA0*s+Q9X3*c-3Gb)8;%u>qT8<+& zEyBFG^$xXKX%HZ4558`Gjwj0+-HM3@{-$~G)TBBTf0&~?e0~_}&xj|m&N>Hm9>1Q? z7u{LBwg5?F)nuMrM$}HkLExZ?xft%C34<63+wlef>=Q40uw+09)ZlJNB*B<0^m-)P zS$|r*p2aEO)7i;LZv>Xj-lUqr*|^x7n~#m7)jZ+k>gv3WZr0AC5P1f~iD_Xsx?l6b zg9aYi_Nv-lwLuvcYp6A}im8JG$z%=COEtQSne&N>RCxEV(DoC3&095YkI;!T-I*U4cy?0=S2m3vND*F*g)B$t~Wxro!$#*xS-K zyGDR*T#T{T?wv4@uG;nn)=h6T{x?FE=ECOyZ#{zHoGFjKk5vV{0n{eNVxVa!EYcyM zRXk4&!$wKv!yU%43`ys008P?eR^DRA-U-nFbPX^lB`o2UUiF_>&cSC8hzKme9WS*oD z*lUo`P$@2m8TT=^2V&p@PBw$e;mw2js-=!1UG3ng2f)%k6Ttlsskcg!82%s+5fM?O zh!?&P2pRzMB7UHx3t;3(w=)=Jh#hw-wqHz2I?202qxc$%mEcI}GQ5pvuu14CG#8=Iz{app&!aikuFcL3A$DZ8df;iY8`F9=6g_Bu+QCGaEV!O%Q2 zV|MrU@S@MN)|nMgxIAHAf{KW&lnJjhS)(?unJE=E2)KiAI;sjGwzBI`hC#PRms2eG(8660I9421)%D!$)`@@q9^6NlBp;;VJL9vixO)ThO*7*L)!2%@@&cQF`J8 zGIakbycKohX9Jg71m!8@z{jbv1~GZDhcXAWMnCla zj0^LjfrseQ$Ppu<+jvqJB2sav*UNKcNH`e9fr9+ua16-*6EAV=B7rp`iH%36lh>GL zD}ek=cOSC`+Px6V(QG;MY3(WkqT?sQ=Qj(u@y{)IQDge3rM^zDDHP(S#a*0>pk$At z$5JEWy0k`!HK%?N(Mrs@!+9a3RCWZ|$%H2zYdEWJX`O&Gg+yov zJth0m2=|sUKpmF`Nt(fgHeUSTb>W!?^yIoN;hek-X>4&vfB_45Q@M8hsn&GjV z^~$F4i2|xE`4t=&--c1~AgKS|EHOtQ!De^$8nJGKZlvEQhA5o%0Ol>N8VG-gkeM!} zH77ex**ipxu`xm-6mm?M1xEfU9gjQu^q}iQL^z9WS@&4N=UDQWlPQMq(jh=qv%dao zxOU`c*T+3s~G=P1t+NSidTFYO5kjW6g_} zceWQD!y0ihJh;=AD3EdKnc{agaj}zDM8^(qT%Oih;`HP4U|W@*p)3~kv-cd8LSLh| zfv!;coO1pB_R;i|1+Miw(bwM4)@5&M`qg**9Dxp9V$1LA{`Kzq1OA`R3Bu`C8^Eut z${6ndaErG3kE=@7e+U|5aXv{-Sj@zIydY(F7uo>VT+2oe!>*eahCd<#M>Ltuy2G4)<{Ac*6cZ@hmVX5` zY9~G-)zhbL^u$9dq~>4fhcfPwFKR0$X6tqhDsQJ7b`MmRW?Fu23tc?VqI6xy6zT-7 z5(sEY0m#8U`9Uap^S9{9~U!;q(F*hjmUIkBZQX3ROQyEGKo%tAEbh1-HaA7R#nt~{$x?lZ$qRs zM%rbgRQVt-C4pu=ENC!9v)96V1XxhKe4Zl-;R##dOGb+_vZ~4hGUNQCZ$6Um2J}e5 z1Y94fQbxD$q@Q^~b!Pj`b)L%RGU30F!0x5tP#l`%gY$k-%IJ9t_89MX|z3K9bY3IwCUr^vN1m>BBvh!bw zlSBKio}457oJ*0qk|es8!vyGSY7p+k(25DrQe!Sd(S*z|Z038z$?l;RZLpDzjxd*B z7>y_xC}afY7Snpy;Jvi#h^ykPegB42}%FvR-sH7hYP@98Z79hKPr{dp`t3H8imwQinI90;B;QpQV_(0|+`#h8fp*1zX443avb1qUDYu+;NTK_K~TvdD>I2L{U4+IKG3{_XBC0l&~mG_^3J#B!!zIkv80 zl+c}uarNf63~k`q#-2>jYBmq?|2R9R?o6X)jdpC?wr$(CZQJSCwr%5!osMnWR;S~f z?0x>hzIkunyEWDrwQAHeYZA~}G2poOLI;e%RQZPj4zB4%v_f{X0wv`I=}+gS(J3km%Lr~28k zEG6|AHiON|plfhmIj>){SP(%t0Chx=R<;vSIp2CIOyZ|fBJhq1tvosNbb(xHSuXJe z&y&2)99?nGN=b&>qjMT-qRc&0UpHRz`5^bPPHa8nPyl%_YZkTeGL!)Ze_WXL8^tt~ z1d@Gcmn8)D8XN0*!}SQ;wjfS-Fsx2dI2?w{GmWs8N9VH9aOC+EC7kd-hh+n~pt_D5K;lw+;KKIxslE;`C(E!V?i+57Tw4z|)>>9IME2^(uKD4MW!Wez2Uh2V6KG^h%3_ zbDTX<`qnOss?p$kVC{F%5TSz}{2hl`uTx98e5|eu2}{Uind6skod7cjt$mG9w5s^g z<_%5>b73%=Wmq?jzp>5e6g0h2N+&P$lOHq5$NuqYr9;Vbv#*lVbfGuQQ8x2|beq8F z7aGW9dqNwjAV%C$*3>hZPqvq|rs+7TpxqCDQ1oda>pClh5KAuf#jnw!FIxN}<5XBY z?p%tRVFfJzx$qVVC4+bXlfNX~67=WMe+>E*jZu@V=pu9lC5%kdb`xG} z?Qh~RAfNIR;*L-CRM&f2>j20k+Z#GKfo@ zy$(e74Wt}f8;*ej$2B?puEUWPw#l^XvWV=RC;&dp$+-FqjWik-70$~{R$f*+7S zN$gJ;4U!{J!$|9}s!@(XsYqy^xxnD!WY(RLV5z~6a;gEnG=8N-wIu062PETbH%|X7 ziutQ$*6gcRgkAy$8G9N7l;i#x#Fv)%FqKm{78~15gRi5i$i(QX5UvciI-;N&Ps>Yj zDY8RNVbLj)O)<+(-Ph#HA~GJpwa#qiWo9LwCDVQqd3&vPhg2U&=a>Y>#TiD+l($-a znWPGc`8(im|%c+p6L-N-$&XsAeicK!&lIwYyhAZT@xP#uv;04zZmel2zMi|CI z*4X47#F#zR%3`;j77WB2rLI)F>alPBof2bBvb>yzi>srX0A)`}5H9wYCEv7xY}M0Y zjPmK+UcOzBci(i9&@U*{D9t9iG!4WnNcXW6o8`vL4T?IoL-r5JTb^O1VUV%491(dL zrO1U5;2Pe(?4*n`l48tNRU3TgGUlmfAYaN?o9fzbfoE$ zAJ4r&(|vo%6oav~e$@Jq1(xk0hSPSgnZc~`6)~6rfoV$xgBTNIULkJ}xOPZ(c*I~3 ztSQllW%?PWA&37MO77$!1IcBs%!g|6uw<=N1`Lq?|;B;~+q_{LdeKL3*Yt?Sk4;Zsu)v8M-v-%DAb{ zS>~*47o|HdcFO=`J2lEz+Vc_M7@2y>Wa`G-TIoQS*d8FkHTZdCzs#Ax8dXdHtZ6?_N7$Tj zV}CT@4MZg+GFiNVMbEGkMa;=CGA0U3+&L{2eNDGc%+~hc8rA`VfkSEB{YH^bW_H%T zTb8Kl&-jq${N!RY7&Cx#ok5e@o`!TPV*jlqeNfEkjw18XX!iFu>mg1!5`eXR$$Yw) z(ZQh>R-Ru6W^?^_G;9UFEqwDtEFZdFZX{Wj{4Mray?IfKzgB>jby5e$PJ8t_?_PhC z1U~LUIvwL~`Mf*KOvo1pMlr=MQl$&^VO1gD{>RE8Go!vRGlGEc_kL~Y)9~4VKOk%G z$M!+(W)mtNeEFZFml!-!3m26S#tlMBa85KjO5m{NSnUOhAgtT0jHLIgpTIH?M zinMRmc=<;`!5KU&tdvayWpIxb=z$SRC8{* z>6@&If8K!{W-6O^_~Y%DFNwt>#b(1v+LN@LCOgFQekfX>m3#0wTJNm|oo})-ZT#FH z1a`Y0q)wxoV{$jFvh?3EVAY+3v89)KfD7u@&VyS;J0TsNBXph5xQtW|%=qOS3oL`x z{(QiVF?83YZ65Nb1+Ea~qymA^)zr)PED`I;Enf)EiGUky`M?(&-S(@tZ@Vv`CJyY)zxptEUWv!}w=f(cIm>0D}ClhUUjRg-sFvufv;ShQ6b4 zfvc}C_yIihkL8=^e0;dR*Sr1wV3&nVuHB7*ucN)Yr{(co1%>B0afWC4ACFkg8f9QOa7PjHMajD`%<+xlQu_?K2z^YY-P~Ao0G12`%9f` zThdBBTQ{_oo#|7h*?yCAMGwI8V$`Jpss=H>e+3Zg_#Z(W5moX27D!@{`U@-g3$>#u zzeUu5G5uz-9H*1xp4v^g+UMpgzEXXK$@l1MFw4#)$ zeVox8bNevcn%qS&g%_>X8FZmcJ9`crur#iz+Q%Byv4Rj^7ntXUV$@U-mvRzirsanQ zgh&*Rf69T!;Gt;YeyGHgq&w$k^i9)m4G<({%?R`&gD-JnoO=E*lAkReMerlY2>Btw zjp^_51r}`<*R@8vE)CR*9U=Lb9fIZczDBQmM-T{Ln1zh{6t6j7bt@AO116G>KM!Lw zsDLUox&m$Oz2H&ftUH$9NhzcyUV{b&q$ppS7pxWnp4Vs8d5{`(dUFpMcYRTYg=T4Y zi37adqS>%;Vs=2tLxm3^2C6cLurFK76q3;TKhf?+79*)s+*F3{O7)p0BFwSc zW<55l8k3c6$(AWAx=}-K^?utHVDsFBAcVX?X(jTH;ZjPf@H{~&s4?;lMx}mKl;?XU z3NVdY(uNL3_FhiNH*ihur41yKb*VZs=($#-;+tTk$%UZ?Q zMaDw19zp~Rrm9nG)LVkxeew|UAd{t`Yn7oVArwf13L#yWH&ibjJC#egz?jVk8=1rq z^%7=E$2i)S`$Cb=z-5CB!C90(m1}b>(3vZC=3zzfSgypk1=Io79x zM&7Ai2?5ti)&gakTz^d%-h*t&*h~?JEj*89em7~GFJC}M-PwbvL=_5$Q~Jj;Z;Q)m z(aHVlM(ivXPtWXC$75^{R34ksK{uA9ZkbZO{E*g>l6aHjpr19Y8LHpnAf{5K!3uIL zO0z_n)~re`4z@Dz(vo;ML8n|CCjd%(1mE##W1kL6TE2wN=xPpdBNY54P08x z^Y_S&)b*`b)qb=b^K$`-}cD>YGx~6$DQz%4yC_~>kIaj20v=MY; zTvGa4k{PejY;g=ADgh=J1_(wE>|%?i-t`Ipjhp$>3Fd(6vqZkuDgKLVl?*_&?6T_5 zCo;9%INJHB)?TfIlf`5Q$lo6WZ( zL3fpEqH<*exd62;R-q$n;0`wxDH1Mt9AFXn6Viw1tW;Zm^x_p^7`)$PRzf6a72kG^ zqdZ^Lb{kXGn~u#yRVT(S_OMbCRJ+1e3C0nX5O#2(TtRzxernyOsvC$(>0$lH#caMk zfddFUn2fKAq_QwKw!0FYZ)LsB67rNkIg4Z!T#nh6?QrKK4m=yiu%3SQ*%JOtQHaa0 z6t9`BcLe}u4&2H9v{!YQQ($CWki(RLn8wQ4%N7B>?0kR~Atrj@cVd!b8SJr9F^i}!7Qx0|u^B7li^p9E3;e0wAm;RQ?n0`>xNDw>>sBj-GEnk5REJuNS#53I2R z&6bF}h)T#vLS4j|rpGE&huWE3RlY_-e5psi63J666x{+A)C4J)W8%=McxZYneHmIB>Uv9P)WVi@i{pptBQ~R)x`G z4_5SvZ*__|!xddJ#8ETh+a;qJ*aZuc)Xew{;&o3~h2R4d16Ei9oA<>S_pPezaBJ1U zJ{A5c8=_0@t4Z`vh;cuvz6x_VGEx?nJD9$jOd51$m0B^4$Z$2^1=Gbp>_6@6HfTgH zt5>Ck;!OKbwNa;?t-Qn*;I(FKW=m7sDVo9j zY(7GqIgybjeY;9kg}FPOay2e;Pu1p`peZS*12y(y=g8Hq(P|Jc!#)bYEaPQZn*8qy9 zIz=y{j5W~R0k2pv7?t)Z>B!2aD8(>o7e!A_MG|ywqAI0Y;G(BI8=IM7nwl8r;wq~? z)bCr*uMq;iw?6F&ym4MSy>N56qw;A1 zM?}qK;(I~x_M15p(_GlmSTHIK)CJ&pLWs>73pwGgqTD7V2i1+$Mf$j9%L}0w(1T6h zS@Tbtu9v8-OX-XKRhx{uVcebNwkX243>)ch+|06j!9wqpuyo1O|!G#Us zfd?I@R#?JarW}-6NrVhABmCGf0Z&HOi7XNG1Hx1UJWS~6_VFBI+xL{LK#rQbl}09H zub^MfEQ(j0zbYpf+Y}qBt+{q;tQ>_zQgES(8?Q1D!e%0Hx2G%xa=~D8G;AyecfwT{ zkojGI_rZOxm5C1{z(2(nP=$yX6s<>9v^&TgQL66w>8(}V9D4B7ZtZL*%@N!!^K62yIoaaJe0^M&mYOuB4qkGL>^9KhAOmuc(jxi zIJGQ1fqNwLk42#JRK-l#dqG+27})5AZAHouZX3XFLdyc>T0B&VzxXGFe7$|)5TnQ0 z?OWlRAp$j&(q2O^Lk%yhqLgQr2=xM;kTh`oXABdE-P+hiuOCLbJq?LxQxWs$^iCK9 z9SdyOti1dgu9hKiU4UNNR;LWSP$9`$WfjO!dBd6hSfMa!+xQnl(j~dU>TgR5O(e&l zc+t#;v})0`1>awrGtZdlCR1x6Pg6?2YGg6kjrhPpu;AbiYU;Jci3uGq%q*M5-3B>`W_}@`SjL zN~y;WB6y9z9Xftj=k#!Be8b(mFFtn}P}q8}H8;G5w=rD$Gq%J+_@On-ed;fKQ`Z+x zc5m9$|LxwahFd-<=<22yCfI3Vm^5g#s^aUjT8-W8^1$2nH{2v~@W0cZvnWnv^lH@y zO(|Co8&I;4GZ9ArDp;%vF`$MY#= zW@YyE=?Ro?^ec@R$>)^G3Gts`e6+0a`Apnb%luvJU=Zj16VeFq)ppr}%)Vb7eoo%e z4d-WtU(io|G7FUxlq|vLUb;GYhh`2nPTb$pLGs=g_eo#$h&?MdOTr&)IIChA*4n!EA30mSO`W@E;72EsEyU>P?kuR@ zf=L3f2ZKNqSn{* zmxd>+mOrPQ*uHfrTv z!y;FpU%20pUy>LaRqItQW_K`FHN!~m^p{WeHAOp<86L__jM5LvN1dhP(Kwfdz*rf*^wZWt zD|HK0=*A*_>(uN-BekOg^MfGOL(rlI!whw}Qu~J3+QDNW*F5)?qQPO>LzlM!WLbeX z@SA~Uy|bE!%v(kql;t<~MgtAw=Mp0eZp0`#Ldw5i}tJ z?US_i9on|*1>W^KF_b3!c)ysrAQkZP2e0J(V^eT56&@Tpw$xL^{zzapRzqv9%t~)+ zi?f08aaoad*<%~Df>ac)MS$(_s3nNqKiN%jS4>qAgRJui6)qL}iSen6DB{{*KT0)W zj#L+0DoiU83;4qQo)i@?qhK~R2ZG3=70d?Y(}`r)IB;A_CJ_zMSfiSvRD{9sR&j=) z*3Ms1Jy@Jd!Vu6g6-ID_78rl_4nSoivs6K*74rlo{z=l-qEv-qmmidyaHTpFJle1l zXCdMgYImCt0Dy84aPU|O&7gB;*5UOO&#aWJp?<^1m%3UkI3saD0Yf$zC$BK@M3*;C|?L?R{It`kr(7dqBLe)6WLXnmPN=jwuC^)cIuH|Lo z3A!-_1qDFZS$n=1U{5U&$P%LQLCvkk4$FkG_V8h!{4#v8hTXK(n3}9|M^jVwfW~<& zh9UAK@Yv_<993#9lnk*dhNr>%mzUaJO%p2jSlG1fo6r!8ODx$YLqyj{b3ogozGC^$IrToWmU2D03>|NR17FN4;?Z9QG=7jp7*CKEfv`A+&lMSC@*KnYGMzO8CFlc048~bS(aQx ziM`9>5L{%zyg}-h5;gzTXI6!BfdnVI&Qg*D)d- zS*uON2jIp5sYlBvSj7t;kL1E81bX`@aZag{h$U!HmFP5~=R>~hsD$iajFOIa&Udq4p6?t)wwM15r20Ck%;VWa}=R?SI zxnyAje8%5nI^ksSp+~`-lq46eo!KvX=vL!IZBSVKTTwdCNtOEuWNGs}e{-lP2(Ji4q5edZ^2^GR=uA#fUVBqwX{dgb8XLZ3ulK5pc=toDif$GPq4+dGwxAPFKx(*XS;+eqAq0==txaqI%TjLwf zxH*gC(ZUjCOA}&B#)EmJl~A>&Vby-?5x}PF9n5g|p_t0D3-64fyju|PlgbTGNvQb4 zy&jx40Vt7ONnt%=|C+-JEZt9^G@f*(n!Z0z`(^-w3o>s!lDoOn@W-!~OM1B$ zSb-S@g6bMzQeVlHHeKgj3vQbkt@o2g2h5?kJ(Fei%qZsKx#(&+U2n zg4|DedfXjK96m638BTwOqRR^Tc4oJfWSJ`Z9rE_h;faMv#&i3Qrj&F^GLb5Umv%@! zmqH4L#zn;cKN;=VUttkD5^S z8;)SdKN$B(R1Oe>S_d*rQ9$LhByLmvB}NM9?k~JIvQW{BCQm?d&fnaU48x~|9dl+n z3Kv3Qehs_Pf0l9BGS0=}=%EB4W@!%A*6Qar7qruCY|-AG90uz;^9x_FfmqXShC(@_5coqC; zF>4QNM`2CQUTgh^aIra40^*L6D3DLo|FNz0<0c!I$Qb5_Mb7yn+dT=PO4a~l@>c9S z$+o+iQ=isrB+SbPmT}_&Sz=%-0eK-5Z)d<*#BlqR<~|P z`F3xH$H#;JP!HuP>QlOaXsbyW@2?1d9Uo8rr~8o7WYE*&^?i6cKk{_`po}*pi^rEG zD8c5gfX3c8awC;D1|qQ$|BLs|y24CIz?UJJ1x7&>1!=-X-Eckl<9Kg8>K&6Kphpwp z5HY!;tUvk@uYIQS^55{6N(l_45p-Mg^q@aLG3@6q6g;OVOfBfHGYUv62iZunlq-^? zH2^cj;3ewZ4E?p&vF);4nM)V3<&d7rOTRW*)xv1FSlxDs+>tBowp$3on5Zd#V6(hn znh3opGfsX`X}S#{!`hGs-UOy;B<1rM=ENqJ{SyJfn!(v$hL+k?UqFUxS#a%>bk6N= z2<%A=1M}`;<{`C(hLcYXCntM6Fu3x!tcT>vnaYI)aC?iZ$jleHp|TI=obNdd=W}g` zjp=6nD_*X8E9^6lu8pkHd5hH%fph)x7~iq$vT}F2b{5a_Uz|X>?`scKy5FOlX}L@4 zFx%2U+_PHX%Rr2}*51=Uc4)>V40(%x{!Mk|$cl$GUi!NtWy0e+K7iOr%A?Qw#i-BU zLNKJtaKyjR&l~mn+Td(E?yH|M&f6}Vxo6XFoH+lk41`z3a$DjtArJz~L)ZjwkAu6M z7*DO7v-p$fP|&Xny%6!5jKt`}t)q zLKQTPu~7*}A_1Z?oQ9R;B=9pdpnp9B6g@uA;E zvU&Uo584v`58*+3b~?M+SLkrdVS+g7^9-_e>g1y#6CQMtUG^>aCY_S8J@Q$n~;gR$aO3ze%6M zj)#rk%io%M>C5_0_psGB!dD5b)c$w=?-hw@J4Lrf$NIVOFrM!|!*gbCGX{k3*y|qW zWPvdDy-BU}5c6CX(H4=&WWz7^<_N&iCM6aoXj^KLQJfA`X_E4gdX$P+qaRX>8ioYZ z;$1PyQ@{K9uQbCTxj2F4B2;;-g7wHT^p57%M5D3?qWl6kU&kUb0HjR5Wj5Vf`3AAy zL?j?ORD&{s(@l5Sn(OFPkoc0cz2a1mcCdVyByUL@B*>KHSjtr;8!T-PJy4b=e(pFS z&`a0m4z_lg1Pqjl9LMGoDalW%$+YH8;O)}J0oIeVDVMU@UmGS77 z_S(t1RnD5#ICTP@s$HSBPDVu3E*6NN6Qws05zZo^Qu(YPeZ;o3!H^q2)eqdl%XCJp zHqlrDlPU)m`$#G+^zUne0xMyYShHL(PuE7EJgAsj)7AiYU5zxOzSiO4l*K(Kdo@*o zmDgp__YAEucYCeHyuO9ISqs|F*havGn4&t>J=53s#Fp%O;%P9Z?_7s%rj?l$FIbg} zvuuEt(CBE^QGwYe0sh&P?UL9%ymfANP#MbZF)t!VCJh~46lV?UsvgOhBg_aLB>$?@ z(Rw_EiD^R^(|(Ler^S?i?{tOG#swH=f8jU&?5tSj6Sp0!gs#S%Aj)4X_Q28b+nL|b zKy|I=`hNBfM^JciRO|?n;qNOzm>V~>!EPU|?pS(1xOR{Y$d$K?$p)cJ4yGv`5$J|k z%t0NmRl*+xZ|JK65WMHYA^0a9g11_b&l!&Lvh(V%r+OoApp@pJv*}$D``kBMIOuKC z^ppvooxTbeNH3A9oY#cDS2IX3h=DoovaQ&53~nY%b?KA9SQh=V^FRaasCQ2-`dA1I z8XH{lOAlxzgB>adC`(=bLYO|NDG5#;>H+)F;=HnE8gldd9s8Et1R}L(E0#H?T34&q zL_PiF6AoNdmN{;J)0Yt$RBbbnuR3>qy4S$(+UJUsOMv+3W2|8w?qVhC?SQB2UE{N4 z7n=bWad1Osoyv3MW6t15BH>A2B6BnmL8+`rvpp8fqhFzW2<2s3`Czx$ZHp;jt^eW%7DhD$%F<92cp2e#S9?x~5TFiTB$8=tK7A6Dw9#4| z7mQk;JCPcR_SQLq3g8eP=@u8EaHgmV!X|e>B_`P7)TGu4_x4ulqDCKas>v})a39VqpzR@A~1gQy{f`s#4-!*Cq$Yaa;k_A z;?dZ|+k&TzidwQk8?Alm6Uxt3f*J1H=3=1Q8phC3iO^PjKfEx2XW~$s%aa7Vc zUZ*Gw@%i=Qk~jEC+ga+pI63E(jjDL$mVbUcjplyTFA{H~mhq~XQ?(@d*j}u}d^`L1 z_VxA6X1c|6`2t*CE|v`g8v3$H314^WTP!q9sa)X{Fu2z0Z-~DUCm8RlYM!$0hf1c) zLm!w@Q3qK}RNOd07E6$ap!YMFxiWsimrc}gOb5r!50^iew#Ze%Jn}kZi{70KF={MvCgG2PTYxANfb*ZIm@ z-&J+c2)une>nKs0q&-0afY!}!VQ9yOQ62SPN=DkJY1+hiU(k?4&&WI2)S#o}C3QN* zA~?=pNI6#AF`LrRF%S_$DVZF0n|5Lh4D1-vAZY8CRSSdRr&G8o@Y7~PUfLMQ4?~^v zdtooevf7<>??bxkh*C#li3I+qtRC3w6)(yFFZ8Ir{P6e0T%~a^ja|~Gv{MA!i6S9Gzf{RZwx^neg!AnaL#@}Ayaw4-vEcL zcK=5|78Gbg)6M|%%1;mc46L-WA{>Hh1+9%0x3?KuCA^0jDDMq_^w(zMZvf^N&BN)R zy*NCFTsYvojKvhdnHE(i6I6T3@LhEnrkHGeGJsiJ%oSUz-(={oD)KmwIkgb!4_jMF z`oq>PW@4r;{fDjPw}OZrk7AP*=LOHr=}BsgutIuVY#9@vdPpzmp?gmx2;%=2{o$5) zJGa7xUgOp}aWGfMOVQ~*UTo~xHD-Vs+|}YH-()xqZ$F@oTXI?gy)u?6i{!{Sk{)|Q{&gg(A( z7nKcCq&n0OcDsb2{WuI$AAi@NYaP$temEP$v&DdreOR~m=79Fvdpu|2v>GXnV!Ggn z$3n7_xPM2ieAMN59}k%^Yokc9vqCRlG@PzaZEhWQOsx0rF6H0s&v~{b5Tk`@m zeFjwXX_4rlV8KD*O30;~aRe)8As=Np-3f&dN@QnK>shK?Dp@6bgX)QKWiKyvyt2WN z6k#}BIFys5g{pG_5-@0Scb@_{(b_oN<9XyoL`v=-^h<^_@)kW{8fU9R`@5LcoPvTB z&MU4$Uw`j(Eqy)SNBv;e{(E-7=+rCRY+;S8%W(SrrZdOo+Gm!B)((hNTZIBBCnSys zdaou`7Ye6`b5y(4J? zwivET#t2X%I6Z*OZJ!#G*erUq`wdn1)AASEiI6MSG>>C#HLY^GteMG2|I6Xp!D>M?uS~OApsjU`lOy!A z4CnnCa6~?`?QnF6Z-d$0JtXqr8zDmdRP-KSTGSBKMv>Kd>W+e|Bqju!^+@A;3AgyJ z7|RbT=X1G(Fn`nAmXMJVNkhxGQa#loH4R9qfv*gY*c9v|uDe&dQ0O@a(IY35`opFV zgXEU-Qr2i_8}p**0nU#93&ANITh1=96OguEQ_ zTb=k*mz1c_^Ar1eb7$|}K)&L!bhHgMyX>3djdOq4rrua*pu-vCt_iY)&J*!V;fWy~ zGD?+m`+nP5BM$MEGt0P9;=72b|0Fr!?wIhw_yc8dTR-u;4gH3Gglcu9u`z#U*w+{q z2A)sdHmUJIuWj;xd>xS9uOeXTRovn+5=U&Xc5ag6SJERRwx&S{28yq9b8d$##DTKhOuex%!3Owf=rAcH&duFAmU6nccUrch#d>Rz?q0ARC;#oSw{SUsUwn4*Z-WML zxeew+co#kL+ZhdpSzNo-u;9jFk^91;+jz42(O58~`dCu-eq#OVRk1r9J1oR|BRzLuyAoVT$z36#H%V=x4V>?TLS*~^K}Q%y!C z9}za$2=dVIw0WyJ2o=G1LV> zR1O2Ic#{v3y6CTJhu)O$I|DVf4AeMWELO@3jhQ4_Q$@s77Tjk-WmK^7bD$V%F;WZ0 z=≷3^{cNq~GjL460Fvd%*I#pfkb;nCS6>6@NP47*I zSWl+AG$^o@zg zqn=fo>&&HQw~6f!ZT9~C$~l0to0p+w!+rPKxx7v*kU^oy%&b&K&z5%p_U{rQ0K#gp z?>OA|e2*>sn{;w1Y*xAXq=BDy>*d&+at=DV!WX!_+3y7LZdmG`=5>~(0U!(uo#a)u zhjr&$E1~P0vg3;W!|K+Y1`_1k^D3C`MXc2?B~cv#N-f>g6nar^{j!aT-B+em0~@<0 zyor%Abogwa(&bm-Da~BWN211P_7kakQx91*T7JZ)1GHJ% ztP6J^niTI?M)*IRAo3mE7w>y(*~y+Y&8gRi#9zTSGt?tKKp+IJFM6c=j?5dF5ctUbPARUl@Zv-9uc ztybFwGn;ZVjeEaS-a#SwI-IKdjC#23{Fvoe4sfB*cHukXR!-4YWOcc{ zoHxWstW131MlQxFqVASIXOJ%-z{A5M6S)v_VgJ51u2QbuT)Tc~9}@0*qKCS9`0LwI ztTD*uK*{(G6J$j2J^f4X2z{?KS|j^7Ue57h){xa>Q`ds|uy~V~DO>jsUhWZ+Zwaxq zY5rXD@|S4TeaDaPu$o!KFK%TsV!#kMJL1U1{p(lTamR|W0knidGpW+XonsmOz9rCY zL7FL?^r)Aj%5YW0`_P%7hM04f>OLk&V?aI4ds>Ku9ez?==^{%@)AskT`tQ|tD-;m<>vb-!ElwuyxA#UL&{wcF5%a^JhI&06k6Q8(_x(Zdl&%U}B3 z)>?azVrTgHae~Yb>`ZQnlEGGw3(KmC=6IoqQT0|KRKLzyqiCh#$QM!KQaiHFX)=+i zMzePJ@%UlZbpSPQk#g*k!0ziBne=vzqip$3z;tM`*haXIlTKr;t_Y3qhU}0Sb4?9( z9$X_Kwr6ywWW1ZYai!HM0#3Kc)1W@mxScs6Q--*M3hCUbxrLLFexHPR zQ9dJ2H5e1_k48v21Wn%>EoC`GJTrB-2h71}CyawY_Y1t-)s805SEp`|UfF@)9mF-grfE^dQ=V9pun&m!8*FB}H zy3FCzD!c|gm6(GeqcL5jr>iwQEsCWswZ3PG;b@^kmsKe@L-R5T227)>r!B7>pg&9m zEMM%jsQj6#xz$~WmK~T;!XO55yX9(QeS-r}{oGEJ2H7b8uq%+(dpLUWqrf&Q4NLiV zn0hiEId-{_C68f=oC=|%T?~_#Gsb+(P|K7@K_PwQHu2qywDK5|Pno=W5QG1i>XTTm5p$F4cK#|vswd@Is4Jyo zrOce(Vjx{0Rfn@bbxFzN)GH2HoR^6z`PkK9L~U&2lvjsx!8nBMrR<`l9(NWL1}_>n zMCyY{Ef1R9qiV~UoUIjYax5j0nE>v-)$zn}YN`xD8TurwAewSIX+v$qt=NQtswi1Y z=}H!QP5NFC)^A#&u5M&I9Dpc2T8$B7U?mS25M>yffw1A?A3Fw3D7}$sFcS2M;N`(d zHf#N0w4)2*SBZhV`-kUprV*fOK}4eCdNNM+>@LbKSL? zB(GR;xX>qBkz`>%G8=R35Ak@s`5rvhB z?lMTxBke&tP2_9r+=o^1%rFXzK{dsKNHjwh8_P z%^?XUZ_P&9LR3$Umx*6l=k)T1LY#)m7zOh+0jaJ-%3UkctWLUKRNTiZ{Qrb8gx7*t z=jXKKc@P|$6KPayhlsqPY}j>dX*9-C;ArT!68KP?s5F00@cu}ay&#u$qx8dbJ@A%; zNH6cfOMiSB`LEoL5$^yTW;B3H@xpQ6V#KF=xFg*TMq0^`i$yQ&HekgJtM@x|-O@~y z2$;>^On5IkS4*jgjy0^tq3)M9D+q!u96(L@#gNTnr6qLzEV7*B9BF<|mATM5@9tEk zxCoLg#9pk0@4&c4j9g3e1sc~Rn0zw!*>lRN)}yzJcHDh{EdP8>&|umU z`e~?TiEwl8uiJsQY;^Ax-JQXHN~TD!12<_V3Ww1OU*4S9%(U8AWyLY%wSvb5U`y!` zOD+bwtv!fW1oBa~P|~wGCH>!m^*A4{M0^zk5+ocimWGJ|z0i%IB+4<5iGzskJ?wNo zyoG#`Efgpl@rloeAMnns#tBPx;%Jdl4vABWPXO!EL(76yIjAkQ9L#$;b+;^}VlV#PLNOgJuM z9Icvk?N{?Z2S_s(#UuNknn)-Q4R;*nSYOk{p)|+n5vQBbB(Dhto=eh#+3!{teR_ux zV?%8q*M)kd(gSIXh8TaA0SgSiJq92;I}AO&0=foSHzD?VU-Uq?qZG_+Z*?re;rR9#n$a{UarH3@0YN|3iC?6uH4=Tba%Ud&`Y zhJU*O-=kULvZNMeK#@rux^%%u^`;@kF5$P41`xt)cbxK`4Lbw7ZTw1;X^467_adI1 zk%gS|{gyN+=Z%77=ZYp<6ugy`Qrgk)W?k;Yn6&Tw>zbq$dWjr&1H}TB$gIXDUn7RP z*C`&hkzVPJgqH3$1@N#!f!JVpkl7k3^QGYKGqK-hIo;*OP5(O6LFe#Ki%mH zc%lRCiu)zM_H7ecxJ8iFTEVSxWCSblCNej%xio4|1F_9&*8|8aeJ=mqHFfNhU9C(s zn%czuE%cpEnz9KRl6WBDOVcB&61@(Yj4xrHZY1&1_au5S*z2wu0lA9*@~CLu9nC&( zh`5BqVLMV4v)ksYNZtbtnKkVqfV2TjSZTUW2rZm573@?~)G>_6J!&79hQfG;M$|rF z9VyBQXBBtrV#=Luu$<5eJLX+%RsuFY3p-m$EM+TilhyWf^futb{&wzQJTjwBkd>{=8i@;LDXFh_;%IcZ?#Lm0V(jP^vO23(^0-D5PnL75HuGUJ^J_`V& zS8dZ^7lPSqZYubCLPr*UpVX!S9$MUw z7~k7I=#vyv8x^w>W%V!S`6w>(Bf$E(P;bgbr49T+Pt`;~cgWY3r2)J3-lHRlZ- zQRLu3#42R0Jlwdbj1HnwAQ2(3(%TcM=3)u5Cp#0^zGiY7>T5BK0OXLxlZ>p2woiL;5 zjXu1jI=~$$cP(oU-+2G@1oCict1tyKOQc09wQ!q4dyGD28T4`S@bH{uvA5FJgDDj9 z$tA|;ha`WL^Y|qY7KjISQ(0$7E5bJ@TYh2ee3@1q9E(l)RQv51Q&y%R8wq%Vi*MN? z)f4N8pl$Jw_KdoTRr6%t8eU^{ z2RjIg-@n?t?m)4zQyQ4Wn}aDJGHftXU4d*=2bt`M<@rFU-4bCnaZ?}-fNjZQrNBL0 z)mK|<8}Xxt^nFm*F?C)XZ67R83l}raF_d?QwY%W!W-*%N)+5M(#m@o&SlarqS+LLm zQ7#`zzG!wcyATW{&Ar@^vUnvp&Rw%&!|>< z6AsseG!5F8j^nHcAm$%I0)FN@kyg*%6!3ZVQH_||Q z?m9Wu0K<33y8?3m90`i~N_5e`ytIqq&&TYn-v(O0(9dZ&dr)AojS#_zdgF?!Ub^~i zC+lSc&978niV#)*7N@)AZND;J)}<*&{QB>wfCc=nSn#(Nk@E(VH9GMpF&2|$_z`wr zp4N{k{Bt|;nrsG>8`cWJ5}T>+wgmxq-v(*ebCb><9@6$4vagzicZnMk-K|a~(1-=F z0VvJ2@g5au`7f}pb1tg&D*U9fY(K4~$KBM&LJ3`cj?c%(%^uzV zNnk9V*z6C2`Sok_e?>C?g(VdIXZh3iLoy+Ke^}?yjITZ6yKV&T#8V8bj3=X(u|WlT zPpeP!GGv-1o<rdhm;!1d%w9`52A{Zsr!-9XpvexkGFNhh!#`p9uL)i1(TnQKn8m9~m)w=A#74^5ZV?Hco5NipBFg_L20!WiW-?JI zJ~@~rdRobse7rv-kT*$W+-zGt8;3GJnIfku_>p@rbljNaeHJ4Y|3f~#-gzE6win#q z*lQqBsNgOM9|R6NGf?JLE3YfzEyC5+Tp;NIbuMhnU33SA1lFhbUzS8@zgskISHkpw zd>F{&Yc%jkCxa#7?7J_p*4yPJsdNK#%2HPIy`ulom{lH=JO!UR-32(AH;rYdC}?Uj zIf2Q}#X))D_<=;exql5YR>f{!+`2fJfIEE?3yV5k-))lUFR0mS6c%++0^Hd64>$1j zjW2bsUx!;beB+x3y58!Df~tb(4v2jW!FT#iH;&O*Vw^1q-F9>kEg8#Fq)`sNssxVC zXdemX`lhhU$*QzGa=KEP6ymSa>qsbax>N|PM@(SZFy!gUfPy%w88iS9_mN#PwbYyB z2DT|-DwsOIg+@Nu54@PccBSDcel72Y=wh2#kH-enn0vj9Tc#(Y7?``$DEC3EDPuh* z&0)DSBHDs+cve@UUReXDR|ZMGdMK&5e{jdtTAiv%2g5eV>BHIyR0iOn(>T9Ow<}PR zYa+m}Iy9Rco^(r!tAAAU&^dA?7;7u@UQpV~vu|}JprX+&3#F^vYBO_Y0OjY1Ws&$>z zZhszjS(VTg+l_dpkVw)`ulo_urVV9slOh8!Fpv~`>r#vzdJn>*qz=PKEAFyUTDz2i zb8GCN=o|Tq8qL%E@>^AUk0L0ATA1fyWPY5b-6x8GVITLg&iWT`U_OC0geA?(s`<>@ z#Q-4VK1uHlwbB9gu#9jJPDOJw3V4AL91;mPQnFlz>^>7Kg`JpdP}(;@_UhwlSyMh{ zFj{ePOwKKUBhgwS0q7|jY?i{$sHH`7;XGv9_GT@OWj9mfhwJ~2#v?bnedj}$etyQL z*?)We8v2`vkR5WM0HU-1D(=sNAEp~6LI<92H=^^`;GpOfLWm#6` zmhS_$nCm~))=J`(E_)5Z`-BPRdfYK0bQkZ2RkuwO2wgf$77~WDB>mZ*IIF(hc3oS9 zIJBhtXiLnV?Xz+R)Z(NV27~=&b)l)CsLoK4rQn+*zi@ehQ(!vrjRU>Tpw%<@>F{Pt z{`soyWLS}+5yrYusvZvd4%dQ}#ubIuik=8*&m8_C74EXH&DJKw;C&Pvqdv03J|_l; zK0I@5J3WVndfbMWg37*OQXjTrA_(RS4upR$Gz&3vzp~E58vJL2Lml>S9(7MGa%uliI6TueLB* z;J=Wx^`{UH1r-EJK>&`yUz_VQo{N`yIOg`ucBP_@a**iaZOGW|4UjF`w4*T&?*|MF zkZ(>l3{$nEe8#%*Gc51JY-Obzfk(Eg!xE6G3&Ct2+D{@|TDwH)+S=JPMtt2(_iJVh7k#X% zQ^j9(Sy@N3jHN3}-WW#&Pda;LE)+<-W>PU5P-fpy=tm=+5me&U^ja?04^u2k8uz9w zD^oM6Yz5IS$Ghmd&!nio(49PPUs7QNrO(M&)jyKW5m!30G{Ca}w*N`Xe$fS@X z589SUQgX_=qhP#B=YR7hg@S5el8?)SU1}Bv-m(V!ab(w!D);mtcqE2l`Ls5v)(FP0 zg3aKQ7)gN|zD<}h-tGYEj^gBPkR%V@mU}ibO`25l4bVwXx3CV`A$U8eRAoef_%rG6 zp%l&xG$gGvV$GnxU{u9IdSP7x7cM!U=3^cdoP;l>1tmk;S(^<{$iMM~%0(No`LLm1=uQ$X$R%oPH6P)mhm$?CZ(8I^O zy|c4(l7`+&gC?ij>79N-_AYk-ap-*wPtilosvHo!j(eg5bcDreZ3F1dEB^$ad3E%B zf?=i#Hm#>7%x+*?($${SECs)!JAU>3WSD#hru4M0FJB6|MK4gP>^o+x6l{-MQ~M7+ zzBB*YGIf|H&w?G3&DMDn776gWH2SVAHr3(Xbxrdx&5LisxJud60jjnGcMit1&t%m8 zmD^jqYA;iq-@A^kUe-|PyhjK$^_mjzU*L(Xt`|uUY0GL>+88RBKwqPh;eFp4zp>&gdP`D4cM`nk=HiS5J=sgF$8Ov1GAT z!)+Y+lPuh`y>XxAqvij9KoYDSOg-vvIGdiuA*kfR3>{#36VZ_HQx<3PR zKb$hZ2P3W*zcs(Lkv8o5Yy*b&)c$0eTXCr}VN!Z>T3kggkx0V0Tck#R7U_A)LwYDh z4Tbs%5RKLGY+n>thG#~MmZ~c4hPz;1o=MZQ9@2jvF`e!QXjmPS7z4lF@FCHuv1>0vgK;hd2r3GWN1KD*AgbFWVL6# zE0f}W?1rvgkN_^W0^a0tk)9UT{F*^C60^sU+pZzb9vaj9L+36xG}fz&)0*kJGqG87 z^DHwO9@Ev5Z>zR_1xvid`&e$$jMM&hbLv{n}dJ$HTt&)6qo1zFJPtf7bkd{}Z+xqwJT2 z^FtV6{~KMfozV|r_{1ql4e%obeUI14ixYspXCUPbQ;JxSl*#>Z?6RI;n6O#vXcSNQ zrj~D45FMiJK_zms-(9t3qlk3xaa6 zIt%8FBFF{C72FS!OI8|NeW0M-1wmF)8&zeUIABMBWQi~(tQ#HB{xkaw{_0&^4y7=E zmaXG`i{$w8y{4x12is<3BE(+6A^K~mk$MWmAyJnvcCN)5Y-c)@5N3Kk#W|*-Wa-nh zWs1-B)lrF?&h7lN81U|Q-iY0Ae+%-T*1B<=gC7p)*RS-S_y2dqo&A6PryqHi?WVY^ zZ?Ys9lMzu@#9}MG12sn5@hVS1lq^Kz= z0A={~;^&`x;=Zy!YZta-F>a0r#qQls>Xn>)I~)&Pb!uhEnp=VId_|fXVymf=Q-Qn1I?`v{HEnw2XiorEkl*4$SyT>f)~4FZ$qqeMt4JSGB@?Z6@9uHf_q4B z33V_vA5n0CY!qY>#kd4^_oJ|dK^gz3Mkme^NS>O>DVMUK|9@OM5GIHbj9=+1r-kMFNM)# zQ%z-@$T88xn_Yy~ppL#xZSYi zCm=cqa}AETfI0V4zzfp|K~wqC_+N|xH@&UPBP=-i0gybS?JJg&+Oz8Qq04A;-6~oJt|($N$Mh5;SS%a2%}q5CVs1YIT{xl6 z@`|Bz8M{Jp=gq*Z!fe3-b`ccgnbKzmH2aR^63a{na24bdaaLXhEWHV4+ZA=#dn0ze@8sMe;1Yx4hL2+2sa}`jrp@wh+`^ z>w62`9Xqr1VF^j!eo)%ai@>)BFvtOELE^vW!%=l?L|;WksgxfL-}SU>`}y zhccl7QUGKdoUFT{rTEatWua40|6-aE)(i)8`)<2(7mj`Tx#HyPR%9G(yEgyt2Zx;= zy!-K2jRQFa;@~q0W;M@S-Eh@PnMIN^Rk#*IqFefDdSjR%@fZqZ(>V`Vtqe$TU5**! znPH~Rbd8b;*VE`OSQpx~MGX6q^!ZG~s6Wmkrhi#p&)tK5N6$KwYDSa#vuK{vEnI4S z0}Z$UQuk1J1Jnd*uKFxd(HVhf=b)&vL+XtMwsE znoi}kGt3S?-nW%tC>=h0>{E!@Ow7!809qqrlWNRZGdYX&2@%|SGJBt4*PXk5I~wN* z^IKpJzur$6z$&_vUz(N#n;A$5l z=3M%*Aj=qZ!5}Z}rd*W!3hN>?ZWXjBs{k7Ey`5+}7i}hCLoI0Wt=mZzXEBDAJzOH& z8yf`S+^cN^3S#ttc=VDPHGx9XDC}C^FwSV4R()K?uO&!m)78ORL&;SPWU&5b%^2hUR=*&a6DzOLn)I2seaMAMPcvCq{7*VTa`@+W0*0Pf9l= zBm@P}mw5}!yn%f$3i&t?JisoH$8HH6{^#3?My$YMXsOhwk$Tpoqcwcr$%obs;Xi_C zXU?9l548fP5KTY0{YI?Jh_v=`8#K-ozJf?!;?22WyXpzJwpX;iu~Z8JT?89UF{}Yq zYK+Qq_q$PZbHPxG#7mEv8gU7BM}Ues@(Z>+WRb2&vp^5fP_Ev<+deD7Q@g(bZM-Wi z8DJMemqYq1&j6y^sgPmD^OPFX$fP9Chq%cQ$ucjQ)TBrltz}Of8G5pCp%*(S5GSY3 zPF<8A7%d?490|9y()zMN96OeowG%=RnioHq*SsiRnfLcXb3E?hwG9!M6=8J@w7f8R ze^>y*Jw|ACXB+D%j`HqbmI<`fsFK-z69@#C$Z=oMaQW3OoJ>mXy*ykmbfjeu6Q9f)S&Z1p1Nq;qi_Gt2HsHhYAf{TJy|~T@ zVw^VmyOu(Jl~C8s=K7-akuHBmGvy(S;Aqy+G8pt}EW!#&t0{BK;8y3s_UtK#V?GwJ zO3T1rI%%I`=m|U34AJUjxCp6PlY@W$UXVgyaN)PP@+}qXQWC_g+Khh~tqAK{o9hJ1 z0dTUN6oNYkGJ7(sr%D&maF+BYqh%$%Eajzumy*9ca@I9(Hag~pa(QvoV2rGsWM$LP z_-3wj43pbvg~PvK*fij`ig(bK&~8v)vsgDIyDdF}aoCswLXe*wJ@G?Bkuu^~m{;n) z)kpU8PKPN#&|`h{RWdTqU%B$R=yZIlV~cUJxniU5%m3JAm_zhJ)1$FN22w`h#gr;j zg?Pa+Ey*i;QqEIw2$5pF7Z&pj#t<{ga4nOX83=+Q%ls|@*kP~-&-}UMgKfJ1RxH)} zaw(rkd0*&@(+QFgBNT+@1BIl>NZhNm9GcHaYObyvxRs>3&WJ*r&qQF3TQzhhUB~RR zFPBOfR=F*dmU&`9q{MFbE%pCqaID)Ng7~3*$s;Lfwjr z3)6&xfwHNTWO??6D)K) z*N5##V*i+93N$KAa2TMEg~erxsqG!p&@{U1MO1Rae|@7$@H!ubh{LIi3oMq7zl_^U zbLfi|&s*^PTHccfy$y&ef90C5^%jj2&L7tYM2+^!L_Z~3;P@G{%fvA(!PSA1p!fmw z0b;Byz&$_Z35QXt6|T(-08MZ8r*bO~BPY21ZB0jIqfqSesI-$wSdDbf#=fypf2()I zeGBX13JjcJpEWeq%uSZ2hclB^A_YP!s9j(2hQ`s9Qt7C+7 zzEqV?i22?R#J#bfN@<2x^72z7TU4AnF@yc8dAe~DcPyNYI={5C>p7x!ysK+ZPx$id z*Fs3voYV8zKCKfk7P2m~1f)CKp;8rgK}(*ykD4C1ze|7nJN>~{`a zdy{$t)P0TCEUUnXWLs+i$Ww?o;5W`Uf)4bI-oU(bopSiPJo*7q)QM?)z@vex&9OcA7-%8elg(q3=9nj5KYcGm0i8tusqN^v z-*N@kyRi1_c;B6%yWNlNfbaRZ!_&3-b~x!fU)ej`$O?V#*^t=9cXh+sYw6ga@jdYs z_UU*p?RpGVwR0x&G{NxJKdhUdEH)HI4IaV zU%^Mc{(3n6`n3B({|^+QjnA(Re%yS3|37V5v48A-3|%a&jp>{n4Q!pP4V*3PY@O)r zooNgm|EI&Z5%V+3^NAYbZv=@+qk4Cg7cEkYUR7jFVq+@m8bAPHnZd&IP(P-t`$P&U z-c87dKm;#}_hEcERC7=Enot8eG- zuf@%0PrurV%(39trUNpTO#e*6Y`f6Y56D`d(=UUzbn6qWU1uCwHr5TyH6#{%-h;BZ z+tkHP^r%4M-EIIM0)CA*jCUBT5W;7Xb!3uBxq0PQ2>PD(Q6?3DfE;NM%JC%ddgyC= zkWME?I+E>#ai~)^={94zZ$wwD_{Q6-=D~I~@@PdXyM4jX-GiQ6p;f!o67v z-QC|sR2eSA9?iCjvUK@#N0=jRkXTV`7gF60W{NhD);})voB_4`Dx+ngNIiQEoc)R` z`cP}UqYBT&v@Y5Zi9NcTxo-7hbtZFh>R(2HGck3~pud7z!70=q;w$T#(ANKL4q84>lE`xhJ}G#F07Ufqhu%ZQPp4M zEFpSyRSvm-f6HYFBF;KRjE^0S3W>PNcUT8*3x#FD&gPoMStWHews^eX&Ta@Ct};mE z319<=v*BQ)bn8hPRg+7io42T6K3LCcsVODRh_XiB2d1chOOn-pNFr9WMnF!!H^RiV z02HvIDptc%cCgfL4O@Zo-5BL>AZ#8qzov-jf+d}P>5VlxR3__O+Fn|Ra_yxhfk>nW z;)~#7&nCj!hK%X{G3)RmdCPUZutuqvBv~yp$?1)80-mUC;y_>y+1g}ST#v)AjFx?X zP2WJVtc8ZNzqjSYBns&6t1>@38zv~)rQ^w`IaC8s*!Z5_wm&j@I$QxmbAWeV1NnXnI zijk98T+DIMkfd5$3_rUF3i`FEnm~_0FZE{B%{(MZaIW?YSieGPZ(Ongkfr6Zy;pyv zXQ^VK9av@6fFd~>peu-;LfFo~wTFE( zVMhh;M3$@Zg`n!KuQdR3GJViRX+0@nEfngO3T(;&^2iYGgD~p2;?Kl5@Y;(M=m+cVkdKt3K47+C*!(?_-kPsg+GDO z+xapB-KgO8(<^#bpXsLlKrN$b^IgZjK-c^(h2DHHQhI!_x4*xvtqC`X`1vue@#j8x z>vY@i-efg+`!Y=0)r?0=UKmrYOen_(q?)j#w;sV&QL4xC?6pGe7ox*lp z@O_jNh^U#5t0H8ezEo)0PfkPJw1kxh>p*irg|oV^mwyJDvvSY;LuD0?Ua{x!(3GZw zxl%OVGSIh~2D|)gxd2roDgm`_!g+$%L$5n3PrY2#RBvW7FP)QIt~Iu}WAWM9+to^#}tSge0QP zEnTR1({Ee2XhEdxA5R;~sS#ZA9zM>)S zMoq8SRPtakicYE3W%AggR}wp-mg$uz6+A zRI3xt3voU3qEG#_fV+@MFp_Uap?qxX+r)cNys|8a@+sCt2wtdBW3^N)a>M5X;kFv# zEI|||Vqg#)FEsrjT9Fnt!`CjAjLwMQXnFT|Y%~`0lOYd5!5GrHbEYWhYsIEq%6jda zH)KiPMZ|)|KVpZ$MJtONcKAfGtblh1w)@qoQ3|rL9CZ}f$m2@=rMWAWu_jvwJswCd z<2a2s-Ls~;`7G>zPpy}{2hI&WqXEnheN4K|ES69`An}j|r zUN?sgGol>@TcMW_lx_D8w+u^P>$(X3sH4ED-#?`Ikwn6-C#AOb=g_{yp z4#%?FO?4*x5T{=upj;2l%P(CB^%u1S+wrsBzS4U=LnJ35PwY-m7Moo; z^wz>A@RO~y`X8x>Xgxj58x13c@^O@&#oJtBMoj?@vcjseIx1D3a{W^$n=P>P3#4wJ zj__w_qVGn3fLE@oxDuaoR>Jpl7u*~e5n3r8rK zJe?$8_j}B9Wuc+PaNccm<}J~Q)lfiTd?7j|n5HWn8H`-5D_*TE+gIcjthc$`v@0N- zqDxq2Eyx)=65p#&2s_1Hl!$1JJR3i|2=%ChahL}xuj7Gy)`Fq@qYab#%P04*#`6&T zniurCF2F`|XW!23ylW9xx(m5EDU+()iClIeh5C~KWE@PCWn(Mu%2Ee@^&%JsQLhQ~ z+>FJH%azr9%C~FQ8UOb`@*{EIDV3G2vpes&f|{lX=xWc3O_A?)p@pVC%`g5U+MF5u zIgI?ZcNTYM*>0~FunT1jIhi~Cu(@m4?~(x{>20XZjSZi7wC5+hZ_}1uy^G7QGqsmF zqYrO8yJxo8NV4l~9&h`yD#ui=&>k<(2k$q_kJMB5@1sLwzqgO2iLs5AXW8p6kLQ~` z^lz~L=%(g_(Kz|1wJ80+N&U9}FR!pjQ_2oUEa8i)jpIhWzZpUj?_D08A@`-0St#Z|Hf{&J~>-T3q-xsXrBva8FHLj5b{Mr~Tgn;Y~ zG9jef7~iBE8)&wlxb{?39?HUzIa?hgY^pY`f|%VS@hdEzmV8ko;X$|mgEosp04xo} zE!tkDIY_X4U0>$0zqPWH2`X2%xGd{oU%a@xX=6JDgS*t*C5Eqh|1Z~&ME`INND6c5 zb=|=E>pr1S(vx$Q8&!C<&#q*Fm71t<8dm4|AN>e796yiC=#$fE{{9CyN>*ZI~r z>3?MCr$n=vM6s1FK}RzaehG~d>SJ5y#)p6+rt$njE?mb|A>a_e~1QU)IcxbnICO>)~g#1 z;vs_2^5A8zRySBstWhB5sdw3&GX2}p{8B)Qkiv8tdaDUNDaJ;XQ7nG0GA!=L;=z&@wj(@?#QD)T*U;y-xfGyJgP}l!7F}wq-VrQLQ_n_X6}Nt1PWF$@Wj{6b zNnX+Ly>en|GC-^Wt$Wvru9zL}mO7&-Inr{b&YeJtK;xzT(q$*D2S=|>2vw&OAIMhf z?4y&M2|tUvPu_H@{HH5ian3ZYgUqb1WT-OTFvFR`R#r!B@WVChp+8(RrUcLO)r(jk z+hp6TT+jV~xrRk>|I!Clja9;Tbltgb|-d3EM*EInn+_cOt`Hhw!?_eU`hc z6l2=_Cia~`NyVHIzO*jnau*Iz$lxPg>s6f4LoJcqW~fAAy48`^$D8Ne#j&oPFJ#7G zGpo`3GT!|6ELvQZ2FU6}ocMl#$YeEZOPGnc7-;EQk49FRW^|bjNs6hQXVJN& z@wm}XUSB58ccc9I67qQWa5=Gu%7Y-`UN16?anYHP2zW1ER?=9_Lubu}6dWO@?h@y` z#g8FyCxrD9jj{znTXyrQsu^PB9%`vs#ek6n^k4+7T(rR;1FrGmp{ZM4# zLz1!maG{-&PL+rLF5P){lX}YThcnh8qr!9bXO0#MW%fsV8V`GmbI^x3ZHtyMjWP`% zA|wrY3yRr))VRz+@q^LX&L?S4%vLLzYHaxNDaL_4FEx@>BT`+&o8qL(*7(bRdL80j z6!ig%BKfiL{haIz5wx_-VJ!y**xtbTp^-;o-3*3+BP?Ys@Q3028C)c$Jzp8)u7I^4NTYBX53RS7x1C+imCD1j@KPO9YZtM5 z=)AX-nCMdIkYqZW0Mmh?gljO_@#NyozptW#y!F+djs|h~;hmWu-Z{n>Sd2Dr)cL|< z1Wdtv-{XJZR0A1eF6gyP-_v+p5+w*-Pig4ufBhXMtd+!hH4s`?GAX{E0+c4$(F9wq z2)j+Q>{5;CN85cu!>4s{*N%0K1A`ndZm;%$_Cwy25yw4Sy}M8`Lo$fN%g2tKqujv%q^y4fZ|3zIs}-jGJtTwDo5lz9h2 z00rhuxYM#O>9-|eI=coy1LeEDPnq)98`T-acsZADKe-W(Bxwg*~ zIhGh19$lkUUP6Zt7N10S5xC_Ax%|kYvrlNZK!}r(a&>~yzdjZ=X`{kriWb|Xzb{KC zXzDR_Eb;|u9xL>`G9IgJ5(@|}g-{iQxvreOuG5@Z`D8~)NcW-IPj8$}ftZg$P! z)gvH{P0d>ok-W&y>@By)S|{LUN+G-@RB+>AU%IHc&2C*%iT&cfd5&Z=`-Fn|bCTx@ zd(s=-e%K3Y@TKeyvspM^!O^o%0haK;Kh;;D9VB;IpACy-rfg)>m$d)td`()|Nc#$D z$!47}vmH~ug?VnBoYZw3egPet122YoC-zd|t=|v?H>U3?2MY>1lqdpxN*MJ|Ls5gt zS|~t57^~B$H;c>xz#T~+RnXk$mi(c%iezM(TYx5**=glpX;mkQOuHOqxHD z-XBBe?MdNM-Ng!ur`x1ea}4N(Dnz|qyWQQhf&EMbN|x(!M|P?^glmYAn}^)~Vpu)_ zlwcM}ePTfIiK;@MvHCUB=b$?~;iSRj#Xku_?C3PT5jNvaBZjZxp4Jz|vH_B5KNnY# zahlV(z+oQD;kr2n+U}{xk&-bkrE5Wus1z9h1;_-Vh?#Y(x2imDQC*w4=X2Y$x`I(9 z+M@3rJnPjhGntAtuNtN5sTMWDTysgq**=<#D-kE`PIwI-lvWNAo~?h`<8vn^kqLjn zJZigs6)dH&KdK3SUESDwd3k9m*2Vks`rPeL(1~pnT$Y%CC2ziUzImr2HLLp)Tl8N+ zH4jpF%*zY4=Mh4B%&CM_&4?wyQl*S2t}?hPM7n zyg4S!wrjbr@1m>S3(d`3)`olysNy5-b9vXX^Fx%)vLElq$dL9^pk5&~N&y2c-@*LC zL-;i+A96vOI)h7i4=*pUdl0hNJT0cIm30A5OF%LaJ9xsqlug6Ix%53#mDeUi5nu>}WN`mfz= zylOxu*f15EXQotk%exyZ50WkOR-Q8syIRz)gu+c$z&pjX0kt5 zaNI)kNlIjz3rm^pw*W}i|C(h@ZWug8rkaYg4o{v^{@}$_bnS)B*_a#^>o<00F@PUBV1LlZ*ZqyfdWs=C?XVArbLRr)+imE7 z*k^6c_Z!d6HT&D4qu+0B?d$XUw&CPuX?pqzKSzy@*W3N=P*LlMw&m%|yY@$a>HcwD za zaTk`aHz6>h2N#J*K#KU&nsiAF5wM-UzQ*X)F2=LH*g3r*@7$PcBKNK=s^>mk`mlMpKMbZ3 z4R5;ZM)idvtnP6;g|Wy1Ln~0$#0ppV=ZjJ@U1TW5Kj5XEtJQ+dQL3lnA9B`MhVP zifh6+2>DAE?=mYFVol&< zMR6={De^W``ZyvAv)K`WB+@IpIV_%IT`UVBz>F7J0|7M{9flCgiq6t6FAr^7lSlQi zbmUgD((;Nt(O>qc88SnS(oI=pj+As6l3E3*thIqcDP_T1WGH*es43_^!#+w2je0h_5$wggeUS$Lyjw+Hhfe`whI32^~H6pK@{bfV*ON5#&F%= z=@+>Z%!Q7>wMi3kVaJQ^-gfY`fgD;`Ovw(H;tJ4>?x@nod6N4cf1{)iS8j0(A&^x2 zGHna=t>%uER{85tXBx^{GOpEe@GKrXmsLp}$<8)=^bjMUnv%)Dfn-FCYWBt~0A++H`lB?GE zGGQwBMV6lOFA>Zh>W|Lp>AQYzw`1%^Gp_}QL#;1BS2LSp=zY`1eMd%-(RJ{U3N%EZ z?O&|vZ|ZznI${kfqQKD_Q|54@G^rY;Ul>9bi&~v2v##_JjGadjvlK1qWP(Ad`z8_b z6?eHF_Bt~jP1Q=fRy{XHhoX4SS-II@Bzj$h)WtlTiE1TRkOy;S&S)18m!1m9q8?Hd znZWy$*Qp*7XZa=hD?L;;)ELUD!pj1iLqM{bHAU>qWd70y1Sa9(@3?R1({_F1)WaA*!+*52?*VsaY3Tf{2SfTFZF!vncn*)ydWK2W#viYfeUDx{;Rz?j z;9_gpz8pMte;~1A%_WRu0p3ROVzib`D0kpZ*>|j#SyIn0dvBgm>>?z(xR-Q>Hj!5$ zTvbSp%8>x_GlXQva{KZOD3&~&x#A0dQFwv8s0;L7^KU6Bi7oVrYKnO<%C%O z*s!#wvmsexMrQf5W)$NC%Y}{>|9Hb>6ga_h|CY4j=``^GAvfy;KucBMY*IyIk}#+p zlt~}v2wplk&ZUy0&`1sG1dR$`4HSmgXoVjHpkF5Lgw?^--9!lIB)*}X+jiz&kY+wK z+cuhDZO!s#ARnuf!7!0+1+`}ath}*5D>|gvqwMk)ruO9cy}+-!RqkVI;R{zdEJGGNG}A7Q{c`QZLB zu#UI~YL@slu^PO>`nM&%2Yg5D^A~DrA+bO9L21CU!SG5}w7gO18f1~g}Zha=;#Kcps=OS-bK(4MwYecYhVA#AP2 zhd>j2d}9vWph~FuWl7V_N30Cq1dlQp3MV@k!s+R4qCgtjr=mRj@mCd@iYuQHFsj=F z?`@;x0a~ITS2m0&?~hzjW9Y!v<8D$xqRfmSy zp?cY-gZ#T}CIbC9WzN10mgN1V(qWS1(?y)P@){XAw3O^5losq1K zzK#Y1KdZF-W2w3p3?VlSu=Hg*xdq5ZW9JkPg#smt$*gh`>sb11(o#xlY4UIMo#9et zO{bH<>&jv7Vb5s1mvf z%5dG=v6!LgK_2i5RL(!OW&1q=9Z}dEb)TUSA4aNEmB z+Q3u}^?{W1C)y^KRAI)~JNNZNO@9`!hWRwRFe5j@!|UfKRyH;^5?sc4)PoLqd>%>G z#3`?6(Eo?Ca|jYFShsbTZQDkdZQHhO+qP}nwrv|-wyjs^zUhrSI1xGAqn(kNzt*=L z+V70tjaRMwGA>wH=yR>XpMj6c%$GI`kc`LGkn5X;7Q9ZQj8y4Uwm~K)bmLN)z=|NK zX5`hn=c|sD&i+(Zy4R^^kB0LGCH%FZrt&5@6x11kJ4Z@Eh`tS4ht#f5ho7GNtdD6j zuCUOz8uV{H^NMmnD%&K6HbIvXj8wPegSXJ}z^RzvfO``$^=}QaCml*(`K@NS4bW#q z_8i7i2;mwgN8|(xeb4)hpTD~RPS7732(XF9Vg&C#K}Dr~Kikq-liBk~UDY^CCwZH! zd{IJph@6@gxRU3{2lAk8R4YYdW>|=2(5BQuE~H@asH#x;&73=z44`+D($jq zj0g6@p;lzeH`;HkqP@^a``UztGWrz^Qxo|_!M69u6jT-h`a>kL00u`z)`thGnwv#1 z9wggiGu~v0Dlu^J)7Tk#B)+A73AX2N4?_kP4oz)rE|QLN`~9bI%Er6fI?H=OSALf@ zDGuLC%d(F0BaE;Vvc(vd$iS|AS+?&N4^vZPa5cjhY`4%IRx}n>kjza8V*WC#QxBR_ z3(c9m4NQ%RRdb1S_Kl0W}3NMFpvo)JW`Goe5@yFjh=DXKYiP-)z*O#8bXu!{WSeY~Ki;3#}A5rYr zy(quxYOr0~61$WB<6}I$&;2XSo{f!-&wo&_+bhQ}aEo9!JKLR}A*8LQSe(8-4IiJc zNAtWfu`O^SADg4Iy0}q0J>AZ37t@`dFFhaslL%q*8X^q-CPH2RO%uq$`L_u)tm$ow zJc{u{xmb>$hnsT6SETb#NDqIG!_TXvsG`Eco71)RX=jGM)6!6Rs1}o$^DfxaqAzG7*Ts zaY%+tP`nc%Tfw>vClBr_5DiK`l@$#HnihgIm1InUvz;>YMDE8O#CooPh<1oc=;=rN zeUnU*N4v`z6%#F6F`x*|)E5oqDN79USm*Usld26ASVFjCEb%n!alGRxRg>P$0!E6; z#?sYrITW*9e&Ix>0!QcZRg)ux!{0 zTE@R&%Kpf1mn~KMz0MizzMM@HDRx{b#rKZuL#`hUB|u=Ls+RXCzf(2$j>7$dvoi{B zg;tZO(^_^B>Xf|zoRdK73;{LCxswWSf1ArI<^?_akKWiFI1d3lmUxYUS^$0Zgns9` z`XI2%0z2uZQyb>x?fs!L!>N;X_e3=8fax-H;HNSK9|DhWjHItCDl`J4oz}5~1Xqm# z8po3k3O{-6Dy6f^tzkh;i7mu&$3ip`tkjiz_Vs%n<10p&0HjAx(;Z9|u03qEDeM27}oZ9L2q+YHGu zx4K;bqW#lbVyBedhA+6hWZLFYjD~#f@97|GC|02(y0P>QQ0F0vF=d2n9Dw6MUq))K zfDtg#q$!+NIRv1t*9*4E6AUjyX@}cXjFmRf5Uq}*6~m3?y8u48#PBw|7>XCV5BU3t zCKAXp-}{%tSOM7z0k~H+(*cj`JW6BWKG@W0o`P}Kwe3Wd0)YkCc0W6JG;n|#_}q;r zhylRzXrL5FP!uWCDYDQVKJTn2)jG_R&B%}icc!3_cNwDK!K>e~-B|OT#%)Iu37na_ z$x<%#R9GLSe|yqv=a3wn--(zmBRnE9K-H>ekA(5>>yCd_e|Wj`6UCIoEx^(pcO4F2 zA4xWDl>Yu@t9giy1jwqZpims{KaL#)qNM~41xtt7HE0q0{8B>qYY@A=aA_~jA&*6Z z9ne81rotIcezSJ*=3Tzx>qDC60;H^#X}eOV)2bH3_O3FZT7TR~V_5DynZ2PtRybvV zHyFY-#Hon$Ek~}KjF|)=2CVl(5xnJ+cZ{drDGWpDMG%tO%JaMP(_)!lMmxST`l?xo z&an<3$5^D^iuCXanVzl|;lwj!6=0lV?x|N*Fs-KXsPmnu&!<0!>gdN^>0E`B*K&T$SldQu0`ELoHf!W zQqX7`esSPU-S$WO6rJ`*`m()&_Q~!(2cj)wjX1+l0;!nqMoR{@q*kV=kd`7eI023@ zM;uxjYKFj?x-6u?{(m;XI>TwG(Aula(*2RJ_pYYn+&SXG*2XAfvPl+t1@6 zTL2KJz8}yF7teX1=4M%2PB^EIGh-4yM# zTtL<_Hg1;On21+b@{|QLEcwLq@I|68+~pptd<-{ghsTdgw~$VO0D=b6#wMI9x-cJV z9GK%zD%AQY!O9c}m48U^M=-eq;p!}f?1(MTk+RhA45N77sd9`#XxHwTR-Mx?%xs8| zSvo*;@mHz<48Eq2{pE2&E5{u}>Kmt)(;sf@Gq@z9q?w|%4-{w$T~r@cs+KlSEvv!p zbYQ4g$B7v03o0xi?t!M~c7uKPkWo3U=HsZhC>`AoLq zmA(9Nh9I5f(f8i15hn6v#F>SJCUGQ6h#JtJj{c;+ba?nvjAjlF810dBAaGq$^WMQ$ zDPUnsvCRO>IV8ct<15D)Kq-8JW&eYc%CfKSyMx9eddVZeH)%|h@>id041Dyh)CJdR z={TGh`hZxE#g~Z9ElMP)Qa;_@$;y%F9iomK+qmmw+-sHx6r}-_BXYxWq6OWl=*4(b z!NwFPEv|+jXM5JZ#6#35K;~*nks*~a3tzmQvq)HH%O|hGmW(7&?_@cGTZ%VGt*Pe( z;8@NvKUuBM57lcM$&U!N*-HfUJ1XPc43@#8z&V{<>Fd2XJ-koe;-9QNo9Ag1>Inkh zhEQ8ywSo#bon=yudrZX9bEWIy-0_MgihQ3!|JG2;5k{o?hnZ_`${ArEHHtIM)Z)SX ze1viK1o;qlfDq|s1#tfh(l(R=L|9Xv%TiP?&xCNyWcj*>1U(#Pv zB{_~Zu2aF*6fNtb^?PNk2Fn61qD`c!g(^LDOW|yz&riS5*E@%lgR~H~49##DY=G(W z%?XlbEg-CVkZhP(fbQ0R16XvWkSF!eCPcYV9?&CJK4-cTTL=eb_3|q#gWcR738`lR z+yHs-Ho%mW2^fZCLkksR9tQ4=BaE_M@U#CP~jSdcqp0Fs0z7LNow zO(o1dm_?~#=_M4{|0Q7sOmlKQPQ&081vIB^dkQnM3dr*}oQbZ_nWk1{E{^GX2byR^ zNbycv*Cqj_a{C7Fkw%iYhaA z(2l5!Z%iknHJVE}=ULvm0ro)vI>zoYFvu#cX_Phv;GasRSrf_E6eEVdC>zrmV{I11 zy{=LzZ<=tBKh{Xy&G0a<1UC;(Rn{hxC$CIlqQInFTHcDYI8+*sux5d;ouI-AH^#+V zr4YUR$C@b-(y>)glFlf#KhUL#K<^i73s7GWP!P_>B=?C(9?n^W{SJ_BJlCnFmLZWM zDk6$_fapaqvKvzagZ}Cuo9WlrttvFzif~jt!Eri%2)I90pGWMbMtuex){0_BQ@QxZ zTI+}N?8 z(lF3v(^KGDMDL)Hc;^Dv2-u|!B4P+uZX{2;8e2=naF%H zQFAf{{Y;%uzNX?oBYK)ZOy0$-fH4z&X18Hw&=vvM8EDP8>u{;Ermq;8qhDqT$0MFF zZT#L*2Ezs?1rfIb1e6`|Ghu=(nEz(OJwnbmcpllf$UhAT=f6m60y|Nf;}jwqTq`bw znXtSg0@+Z1uWx~EIeZwo(P+z}Mhi6|$AI}0%#J`A>NyrX{7*zGrPy1ruewEoVX$sARZ;305!#2W;22h} zD6GvzEAhYsH>N6!xf}aTW!!dvj{He09h=^o(u}O!nGmYJs}+-$c%QzDf-9vDPsL~Y zwjMP-%x?tSCZs*5?dtW_eoqT%OoC5Tg5v02i_#8y%y>hITUC8vibZEK6Q^uJk`k62ESbpCd;FsEz!eI3^D!I1VvU(QG_YmF zwc#uWHnsGp6=JbretL51BURT5q}kX^{MrL(PzzD6~XTyv=wir4Aj9(M2BdPQRaST^L; zFAQi$;fFtu@YLYJqHE#x^Wow3iDdhs^SaVe(cW|!!MVG+=&NwMnQWf-hZJ64J8Q3B zAFqoahNiNQNk6wndqD!{cg`!U~n?I8g^Wnf1{+nzZZrp z8COex7#O|3HEhm5r91TL2De&PM6CmK44wLA>>=T8&Ee}P4DH2*CH zL@V!FVu`|ktCoO)LSgTBZJZLcAki_q%)`CQNvLnf$ZTF->AV~l5x4X)(EywfkkEUB zUpbx$YCs>=us!;!zo#Z`bC;8iBlvV=+xBFpZ>HPYcq)~p1*vSVal|%HK$HdQ3b%*# z2$=kz6!wYUl}y}8{q=mbm$pR!@G7b ztJ%}K+)Tr}an7+34h!8-%J&+@#mGTkBqRV!M(7$xBPshcn$o*|UQP4sgkF(r<$iH_ zUR+(Hb$Gs^k~;lI;SiXeJ2ef+oF;VY6**LDnB2QTFr~dhzX&EQiKGoovvWQpas+*= z844wzzb7a&-n*)$CjGf-$GSYi(Z z^C}QKoa?!1v?ho{8(RVaF5B=3)b-?U_>+f2T?)AY6~`G$+Vvs3=VPQnlwt z($O)1$aR!Zelpt55GZ{f0~0ZAH7}>Y9UlW?`OkN^m#Nc)#c7jRXisHi|HpjF?nl*2 zTF3BaZbk6aN-Dwod9xG!GE$J5r1ncmWV#Xkz}P9WLAD9Venh1` zg5=!xO;wCI62Jl!P1QdcxQ=gJUP~xU^T0m)AxLpYy8u#A*o|9ZllZ6`3!PZ$F5H40 zHCY1ZdSHDG)_O9x#*H0U5Ju+gGy*;65j}|EJB%V>89E^`Xa+KLOh%B-D|o*sw+JSd z4zUqj@(_0`A(8&Exldb>uTCbMrzfDA6QqMH;`r0Q1VT3gzRKTIo2sUgOZyGK>cvRA-oQ0nOak-55L_&NqEp@Y1tpX^($ zY~(-=KQ(#3z8w@Ee5=1?`n=4W-yF*Syk0iB+Sku-v*$KzeEj?m7YZC^W!eF0WQ+VsT4Ko!!Fra?L-1c%$#w%2Kx+V|vRdn%+ zX1M(aH$+VBh6Zro*(VS`vB$f3KCj<{Xa=H`aL6w8u1ws)V^?8Zs*Vq3yuxe!FQ0|l zA&k%SNIXTklJCrJsKRmW1iT`u8s#gz_W-^n%UgBeO(w8AoX2tP=xfN?gGq32oci@l z249A0IjE%SbVS7GAHhU)u$Ny0)UK$9U-y_M*F5Iotg8jcFHoft5->kM!_^t1a8)_$ zV5+WZ+r3UvEy+#>75m>nk>>V}*~prs+wh%+mDyU|@_$nT>}jUR_X16KQ3z2~FwpN! z#l?Fop#qJY{{?y@kT^yL#~V>f5{T>RPKSQdY-y1#%X-z-3MWCoP3I!333hI-qLW;9 z0^(?YIUZFc6R80Re#1yyJQbt}@=(~!M6dd*1mN5gX;v#x5B9wFfW*IAK7cKz1<3D# zL1xf4fr2G;%eRZ}ErcZJ8Aomo%m#<^ z{r(BfD%F1RoXDuI$muzTACQ;0EpL#)zDG-q_&uRZhqeil#zVr;0}b zimIQ}Je+D;iAL}~kJSN7{we=q{2~U&jYk8>6#$SBsUxpjt#z@%IA80?G`Ji~_!K_Y z6H3>oWD67$qcQwsLq&#MU+n7lN>06>A2YKX=6|XJnS$o(6edvwIHeZsi!}L z$&k{6%fdC{w%kKANs;NWrKXZ~W17g5=@d+;PG^$#jx|9KvyOk_LE?cFMFQ;iE23HH zLKx5xyT0)Hq>wWVnn2VGKyN5N|BPj+AG*$jeu^E>s89(mxI0FH8sA-_4p9=&69h@D zZw&;%y%D3398Y+D`b+d5LQ3--5^0s_p)sY23i?z@I}aoN#C-lK3^0JO2BuM`+GYzL z9*RZtvh$mn*S;>iv_XudP#@$EFGa>MJDf5@R(QP=Y>*`}P-OcB6<4Jtnir{own8Lc z;HB%O2Y1me7qb=sMWzoiHXd!1XdKP_qez)501Y*MQjDSo5wyK4uyr6avVWrDTbQyi zwvi?^P?s%$8K4$8IAyV^&1tGvzOOoa zRuUj$-}guCc>nOi;s-J+9|$NTTAf#l^!g&Iq&*9Y7Q^Yas0X8MZViHyCdd&YxPHSA zxv&JIen6;2W7lztuLAQWD`K{rbtz1T&)NC|tCeD0Fhdm4FI1{i;sWe8Ljs0w=(f&=r6_&f zqk_^4`NWBXs{P#kHNOS({g@z3IfN&;V)7Z#^^eozWUVDaj%+4ho^J0=z(mUOI>hPZ z{h<^haj1ZgaOWNfgACz+E@J&`!t&X``fmDNte@(?%l7rb=JjFc*0y7RcWx!D7W!@T z+@hP%((UQri{SV9@QpZNwMK!x0IPa=2@N-u72UD~mfmE_bWmxjC_ZB`C;2ga4xRG8 zv=_YhRrFGTuV8mSo`ROH;!HK|8Usk@ zmGuv5P_jf_;(TUj9`ztH5%s4RRZ4(T0i0}Qu2~U?(Lh8yiu%-0RDdW_8|N2;Ye7&L z4Um1Cq!T1#)2*MC$db9@#y8Q!BvIyl&AQP?I$v7U&uf=g(;P=|P1d zJxP^}^9A`h@2en{`8Z$gHDl-fO8;GycEv_vRlhA&XKD-?`UrJ=Ag{jNzABem&UOP! za@#ScH6=8r-dcVGjfYnc3mJr(bWIlfnoKPwN9J+2LMeeJVq%5&O6~9TrnpF+zt4;P zF)|{yX}5oPb2>fW9HdVnLQM61tAiDr25p0Cd?5Y1)`_QoZhXIn4JbK+s%aOv09+h* zerecaY@Ri~YMk70-N2Gh?|?O%ww8lC9i47-W47U%61k5lLZ+wuPR{O*GNb~tVozBi z(t3)FJAf@WtAQ=f|E#SJ4!N!3w*jK&ZEA9C{ZYN_z;CwWc0bimpC%sK1dGfx%~BgN zifudoq!p+jbIFp}Yqs>L2w>_NJ11Ml@eJb-PV%pjKQr;Oi7JEI%)Zax2jukF8LtYM&`BqyAfluf2r6 zAqN^v(htC3BYGjtkV~bmG6I!kGoG|KdVz}ed!Es|PPiLl6f>Bhqpy~utL`keSS%nU zrcMXH@Pmt?PWDxDglg=8J^GGUb~G-VgXpbDJ`OA#*p3k;!E~55BmnAnliY`((IzHU z$y!jtvGIP|AAhVL!wKqujA`_YE2nN8RN2o84EnhDr@BdFHgj!i7T&l82Ls$YPZH`Vjg|z^y za=Sc$+Ds5)!CRdi~w9rbHCSc6bB* zUd9VZ87}ZN+zBhJxOR_Vq#@L2f~ttBpYaQtaV0mPD%&4Tp%!G&A+wngmMsV$!f8m| zW95S*w?+DTro`$>r_{ZHqZz+ODB?-kSxTkaL=*|qIAY1l!Lf{dw))~Zt9s8xEH0-F zL=RisMsK_MyNprpbB85W|i z>^e_hV?)tcHBW;ZDNBZ~4n_G=UJKLUUHC^)KGEbrpgwH9ya&~RKudC}<0BaEWL`(1 zjOZG69j~53xjF`Ra097Nk^IRzykv(Xqc#ehK3Y#xshsE{#3}mt#Vr}RRZjsAhR8!V zJW#itO+yc;f<|4e36sElR!f^E7AFL1XsQfI+oCpQh$pa8ImB@uF)u7%a_?DH!-N+V zX^yKdO!E!&=#5pILdsA#y;KR`ctOE)C;t4aUc63VaZWi!JLa#j^liQG+BLPIV(ic~ z8@@iU)qKY*Ykyz6VmWTCekQ^5VhF#O8&{f1q6k)T2$jAJxbyXXb8vNaO;xnncj57V ze0-P%>kQl;eF7Kjc^JPEHKN*$vuCStB*7RPKb@BG4pBG-Y?-|^V)evp`9N0qAyPFjL5t#j%JdCh z$V0kB?%0mpspv1URTWrUd;2fzVY;KTl`| z&QVBGojU+*=XKLD!q5P7Fb(8mY#<=qBxk%gf{f$zqLVk7UwJVP!|*C-Ah#m^2fVjNJ{n2L1fv_hq|lp(CQ*+U>n->W5Ikz)9qR~UnsInkDl+_yS5G&$Bx zo}y3<+PG(-ZR))ae4GBz@rccM=L2j8Z%)s&#a}8eF43Qu8}$TdFR7JU!MXfscDI1? z2*lgX*Q*5imQ>nVCBCUGygxn3YIjwz7;xv1d9jnsu7TpwMf}F@Hd0Y7x2PDoRX>9b z?g{uLffS5yH;W9TnQouu;uS2e6_se3=XHM|ob*{=7o5DzUu329eLmw%cFplsSi6B# zdJHygs2eAQvr3Z)s7{z7VY5R8Xa& zAOxXrm`Xto=}}%79;&E-y4XF_q-rP`cVTjl3)>+(ma;}haH2P6T8=)#ogP9?R!5Itn{Vl=l1mu?f+XN+TEL$ z$Nv(C%>J8k49EYVX}wi8Z8q89zfb}q^C0knWfq?Kh2@6C7fm)v{ja270)_)pMi31n z3S-DgW{%)k@alORWY2tQLXv3Mua3tb*$3zCXhXNMmRamEuSl)7NzJIp?C`$hlH+}8 zeQ&O9Zg%%vD!TIvhQHSz5fNLfD_)1Jeo|)y7Vw5bI!1)scW0U#j@?7nk}PNsAgk-N|4ld2W`L`hJA#L|kgP z)%~8>*#%aCj;G)Rv0iVjB*fGSd0tvXAIl{L}ukh1Pc?~squbDD~*UlK@;0w zH3|<3VPIyM%O&H@O0lt4;U{O)5)$U&r7bc0$u)bdNjEUji z_DJ+04w;np)k1q9_qAveh<;5rk;R}YDFdUUU}4B1Q$)xdWk8EI!YM?r zw6QU(`u@@dtN9Em-EHV~MynPqjd#)f5M*@Jb#W*t!}9Qo(kV9EdjW25`3Yi-6VdJQ z5$|vTZwdsdUioT=Md=Y3vilDdlsOd|ITb}@+cQ7r&{h?@YpuW z=2Qu0(ei_;z`ofDm`nyEd*~j!_X{W*?&74w!K3BWh=uKQ$UdyRe0{qO zz|<|OE2LR#r1)kmvjv31Wja`)dLY#ed@$8RFEt5wZBh)bda_gweoV0q7HyjX zGN6K`29XgLsa=RlF6q#xswuEwJ7lHx9E0LwQe?vCBX!nMrIW?|gc62(LQ(;voFVo| zeWE?2J!%F5GrBpo>LEh{H6O}5yz1oAeCVA?V*k$H@%N=I&NE|ZBQS1GqqLZNNEQT) z2i1q!k9A6jgm}@CgN}`H%6QuobsOe295!T~S04hO~0a>yE6|#Hn%6=8F;dXK4d4QG)i1CxbF}j5I zrXX@(U>$lw{2*C_Gvoj+GJYBf77wUThtqx*3YMi<2!iBjPJ90#c6S9+5cY2#p>oZSnQ}h6IigA z*?LPMiPw*@7KfoYoZ*}?)?yB(sL-HF%Zez<)D2U@F-gE_oKy5p(A!2b3~ol&2?k_+ zpAKi%#JlhDJ`69E&H|NWuaAlq$mnSdQ0To?` zs!`fK7>wdCPmwa!{m0#a= zt8{GJ&C|+vsJ;zooFC6VL17gjI2xspo!m03Z3x;%*Lf($&sU5my9A`nL9ue8bpJ&* zVz0Ep+OQ>a(Cp7xiV~!uYS6S~GP@F=#}iA^YO_6*r>GB%YuIT_VzBlPQPn6UL2%0JSg;t>x=Et|I$HB7 zag74|u*F2es2|Sv*{C6JZk%F9BbliW?AQ-VhKi_>NnF3TftpkLq35XNlBYSd=vtNn z=!a7-u4MA-^iZ}tgNFO4lj#WgB+&uqE2FnCsB#$NwTuYwc#ttPF z9)*&ssR81mXC7gFVaNr|&5izNx-Zq6_6jG+#A-16kq>jvRGuH1BEc5Lf=WdUGctw5N`Vb#Nx@nkQ$AQ{b7jz7Hx3Bq zcXyi|=3F_!!#SZXs2R~JDs4FST?{psLk~5-Ep;Ho+fjH1)Q>e_fJqIc`@Lry4La)s z;9%S+`XiXHU7{fcfk@BVsLBO3eGTDJisgIw*rBYSqx+Q`TdzPN^?~P`bVA;ZZR1VN z-Uq^mA=Zo({~}15Vn>1sjrw9qGU=;&%bGWlj|FjnV!N^Iaqk{*+2R$;Q15zKjU5vriu9-MZeS5|qiDmfe(S}|^2`}Sp zjs!QD5ne{-N)Kr!AwZU%rE(9gp;*rk$5;g+3!bsa2cjEa;6kMY3|_q^z_=>vle$$t z;xhVk*B*zQgsg(xvM1Z|hQN}Tu&sjj5*j>m->P30=*O>pdjhk>W#&VV^CVR^TgT}T zt;sy&FX308p6ne%L3(A>WrAQLq4>V6guhjQh1&%#?QN&Nlm?DqjY)o{XGt*9f-i#L@jmriUS@)dm(4@{Tz6WAd>u2lES2D^QmPz5M+Mugipb# zscY>T`J--*lP2jjO){ugNg$Y0u3bzDbAXeuyPqQybsvL>rHwT(_=Q~AY~OLHzo3N` z4~5cy(CjMxwtY)2L-KBwAqX7ZzVC=B7i3SrgT9$nXbg0!+UzQNcghM{9Sq88W><-s z$s)AJLPr*y#`!v#Bexhnrjy!eYH-Z2AvxmGwwuX)%a zTS|06N(s>EWDvuZAPl~Xm}*9C0)OobBV7a{W&SB5wbri~iwZ0SX7+n=1^gH~*cD1{ z-)L?()vnj~-0;C*Nweh_)Sn#QKuAc9r)+g|&Ud^Cv<18f;CP*jBmAAe5!e+JCcCjr zk``(KJ8RppsVWgjQ__+MfRxO(Wle}C)rg?3SXO9T)A#T~s5?>~LDMc>AH@~yCSksD z%4^iF}#z?LLliFFv~@Q z_z-+l-GXpV50cKx!_0Y2myXVJEl*5W>9`fDoNrosVMIXS#;P|zb=?h~a`9Ksnr~s8 z=Us6c0UWU25q$RZeKC4qR@`+%WsCE5n-!cNjP#xQy6%}3;gyLjA@QrjUrLaS$LU|H z^80#wx;QvEFcis-NcVa^e2YXYJea>*3<<#Ce5ZfA%bo!a;!zB%nxw4fj{RQW2eIQ|$?wLPOW?0A~c!=VtWk-fk;A=8~l4 z#?3idxBsHI`C?buAB?C-q0*Z@!%s?I6j)<(fwbX20~PPm1bz(E|6=$TDdINwX}#9) z#2k$_6~h6JNFX9tW74m98t1}^Vu1q1yln#={ajv#bSf%|O?j1R<{AlFWs=sPbtuJX zR`Omd)hfvGIrH#c0_nl?!=Zf@H^{NiZb~-|N8E56eZ(mQo1>4bjL700^%u(weeT~2 zI4Ja6S{@AdIX#5#>TatE)$1~I>CTor&A&pl%mu&FH$1@Zg&n7Unz=psHq@k%2jQ|< zh1JMcYWeBc0U9~}_H8!br3^^aEW7F80H$QWXMb2Nbg@=SL88F}YVD|0gR6FkLq9|b zRs636fLqqnJpRvC=Mn8Kk58)*XIH4s>N6O~V=b|%0Yy;O;xb?(g6(GXF>Hb0kO%xE zv$u$MBbl^tlFO-7@Q4+NQN7l~?|p7UM9|hS-i+}lU)^cf(Jip|AK?5N4A!8w^)PR6 zzbk~nB|xjw1w5hSh@fuuJo6pIHL$^pZ=V;|qy)YZb{ecpU-$P+&WZVLG21q;YUwA3 z*I2y387z?3($v}CX{q-^oieFiylxLy9~b)WUz-FDp7so_9I3xGwWPVcyc0feXOoMi zyOWWaeO zyjjqlVtmLL0>F@9Vlj&4O1m}(Ha4cFDi5aoS!0wEf4v}Zv${Hz^pBwEP&y}!*Txpt)g6&+y%W_B0{yH%MbEZHF$3a% zn(prp$5~~0gQKi~8t!`s)%5N`Ic+zl1ikn9a5VLM0rv#AFup^y9( z7cm18fZRnZ!x1nnXaIR&3Dpov$VXU!H7D}9>R>H^8vO|M_5;Vh?`bTU1?AbP`43eN zHkXae06SbO!Us5~lEZCR3+{-!6hlWgdbGQg+-vTBIw49)7hP`%MQwNLqxC9(0)Oe; z&d<y?MXy=1STGR8fx867eAY?GGCv*!% z6#d{@7UTl4w}PwE*s!E!1RTeb^Ocz~CjQD-4oviG!>H3IamJ9}*R-e;^u(~t4PTc1 z@mC{+J>oB1uuw@kP@DCG_FV12-j?&Z?kkIGW(x|4mJ)R=vrey?7%F21of^)$7xD!* z1Y@KlZ@LHgz;43#Vp}{Fu2YHi_j(@V2N($a1C#HEID{S4USkX<72-ku@^A`-9#M`{ zMvgul?ktc@*Pq{3Kh6oBd|xzdsXVkFJ#9JVq)2^B%4nY;syw4|8X)jD)In)89gaC{ z^5jx*N(dp9HkUe*)KAiNJDy(G$D~LZK=S8gTee>+!;Vzx5j8s7 zNo6-(<3e64-b;^goVG~)HLnT#l04NMdm@xp=1@Spz|o-=b1q=;JSh7?^bIcz? zcTK#@Yi9lLjB>g|^p-On0WUdC=a&BjZ!Gf+eAPs*$jXG=Ao%*bF|aa!d><*WvX! zpvl|^zLSOe{sBDyixW@L@W5h)x+8YH5hqDIpf$x~2T25(gPa|>G{Xj-<*k3q>UGew zXuPpfd|JxCZJn6ZP90lS86FB}BZ_)w3jAfxBdSbCnZaT{O6BandVbkf>pn|O*Y%4W zW`3t;5j!n1)uOq79f1Kxc}F_>>iJuN3g(a?9+qgL7BaA+!WZ{i81Q5%*_u0%8c?;z zuOi1)1@(;btcVh@Jg#9S6bXH`rh@GM#6GsvH4PJt%%?NXU%C0rqxbkv>FO)1N;jq^N zza5K&J@FOZND|lpc9{tK2I(vS3=FO3?%3uuF|>I_u>Hv4E1Tm}aSxF&uy8Do1ZCbp zQqGXXHl`gz0Vb-`k@Es)6`eY(PinAY{0%lz2qoyw6(UuS-pv}b5YVrkIaoFRNdu{4 zY~{ZTX&R}7wX#x(Bn!p*E+kI{KN{-Uur6y*K&+*v@dM7`kLU;@X?#LtXk zClJ4Tyf^Gi{oVBXRe6KztMj?P>>9ZnIXwK&H4+aMEs~c;hxVHs^{2bd?dj?tSivV* z?T`JPL-q!Jj#}tV{>yS>>#5VTQXd;io)hYbv?I_PbjhoomP5 zQlxwfE*E&7GD{L%VP>TU?BT8`-qN`Gs+b&Uu|`tu8SWw9^}aZg0JmFfsPnx@MnX@qG~jM>uWcGG`S;ue19)nvxXX zDgakRW#vlww=fMPw4M=L;8cSw#9@!|d#g!ElL&$crubEftcQqa0_aL@nJcT6p; z`N&q97O&m$*P}c6ehPjh6k;H8wUPVb85E37X(&%nshY>RM@R!|8Cm$Z46TS>VUnfc zU(^hnLu${+Iaz$8#bI&x5BSVs9lN|_P(6((ltpm5*zzSLRTDjwEcfnN&4T0^r~1J| zAIjQ2i3no%8Yom9QR)tS zO;lNJ?->aol8tKGo$FB~WST@M@fY3T?XMg^Vmjy}putFcJO0$ze8@;A<);*RCj@?> zD+uhP0ztB~`Em6J07;_pSu<@v^Jh{+kbImT`F$%$q#HDfLMj+5@LE)$vmDAri00KR zn3wj*O(6>#KS5)NU|z6_r3&5%16@{uo1(Cc=XlVO#*~~BhxK-kEEUP@DTpz$MIAlA z=fZf8uPGy^VlnHEf=HZKM5;r8Y@1?yKbONWk`jmjuY%Wqg0VaczggHE=({0v3Mqkn8 z=->H#-?jNv23#F_4>hL(E22{AMgI4v*o9}#(g|bXu;iG>UdbFqVK|L;pSe|_vuwG+ zWr@Yq$XZp{qGDy8!+)%r;V!l(X0L3voWNBJTLeH0K5mbegq-A`Lwek;p}Yv*5IThE zpOat;^!oPtB)SL;DA|?*c0Rd+k;}ikl=_Ya*iiwBAR*% zKC4PEF2X@iFq89{4_%zw_`gz{qrJgG^Tf5Fdx3P!rU}-ecuu5yvX^UX8yg!5iIWBC z5msB@`*A(TI`>NTek~g>w$C^$8v%T^!DSF_B&#qW&7n%PC|z#wH>COV0w$RWAz7?i zV~UsG596B1D%dZ{MjC4M)PozNK~)r>R1F-WCi=0bL>!YaorYLr8=BR*WjcGJNqF6q zRoHl0Ax65XMH9;eZDR~Hq}~e8;b(|1yI!Hex+0#&MUnE zqn7Li*TWneRTwkqw=kawZ`S%6(?k^YwuOHyKtlL2BH{L;c%c5B&3sGRFMs8*$-!donw*y(9Uc95 z<_Jeq6Y-fX*W+2ZZV-qHg+^v>x1^ZD3bfa}@!pY8f(*>3^^<2%|bW-t~2K!bRtWv{Qp4T?^4Rzo#@>hOzOV6F^H22Fp>55jKiY5>pL1OC9 zoq#(c5uae&nG|Y{d?DjFC{&-02FA&?m<#qm(Jb@@@Pq7VWjsE+#Yo4`UT4it{bcX+6^IjO!ZD#k`!;~$1qw>+PmXuqBBLWgfqe}o;G?#??^ zXU!b`A7|$fo>`!5?bx<$bZpy6$N6I0ww-ir+qP}nwr%z8bMN^72WLrjLD--`lK2m>a>L zmm563H9uC*hokJHYrCACj_33L+eOH$mc$MJTMrKq|NrzL*8fWn{*!{u|D+)9X#77Z z*q%VIs!ve1=HWkBWULhFtVo6~G~BMOqXSDPyO>hnUoMcIClv%cLAQbfk{YN*V!&9}(+eY(oW*_$OQM{n$$qxV)v zU8sS|H~KeZB=X1VeB{ihjG)$gTuvoQyX?&L zg66&1u~OrBXNR~Q^}Mc$<{V5nTBMq21}|L1i5uH|!Wlaye0lTL91a_gX_9SP&pO*^ zNv>_FmZ{*LzzNZ|Y^&tQ5ZqKgcFCrx;FMH{0mRAJQ^Yz8sgpTGsonfh{KdxNhHJi>I}RmS|e5)TQK@Xud&YjVx&Re{$W?4rz*x2i;|^>1R# z54`tC*ySqZ2lXbGU0%>~i`YIlGZU*s`l45QW{NkH6)G85*R;4l1w6b9s0I9x*}r_^ z>JXGk4%jSz0x_`CjGXj8h(@BPBDh3j_^Z1{Gid3_6RGMNrh3jdt%g$wsLf@3MdX;{>m65Wrdb{Mu#~d3ufa&~*)bZ%JaJw3z`xZZ2!=+Qb*o?s;8@7PUG6O%M&5=wAyLQuPaVHG}P=I~-S4&>)#?M~l^O{a!4x}y=;#fZ~DfxvuL0UYRNOq3)r?nT$vga-UL2~B3M zOwRtGs7oMvrczMrm$aFu_v~R*P{IkUiUzC_9R{K2qo$HX-x|l;DU#(!8=UFgRzyhn z3rgPGIL}CY`d}Y$HZ+<@_yohk;!G8M&ND5srbEwd7U~OfPCy_gECEHZrHM2p?`#Nk zf}E0GYN0N};N@((v&xKz7#FunkaQIA&b^~p{%PBbIn#Bpj`T3(uxZ6_AX~iGLdG2^ zDKC3TGd)ONu#wGuiaaPHrzr=OQchD6osn+tRbo_e+ODAO81Lh@kc<3FBx}$J-mWi& z=$`9{u&noEcyUc(5?@0ZTs~>Yp(Mf`*UqTT{(+1`+R(-0ic%)v2_@02X&=pt_bgs; zn4-BNI@@5&3-FHvCub3;Clit;uicfX7#~`GF}kUg8BJlCguQ|3;qNSD1Z5rP;`MSw z8dStQ^x-^rnC+uPf4pBMs~XM_7@&xs1>Kp40cwOj!sPWSon!(vNHp6{T(@f_`s$on zDhkbZqc-=_uQ6=>6gMT+qNpA%{`y$_lyTn=hQa(^?PYX5Np|_c!f_-N1J=C}>K#04 z_E6Pxw9E@deGFhM7Rbr$avtucg3O9#5Df}%ux)gTlvqiXU?Y z6bU~&?XZ!O193wK1OmmsG7_60u^G21Ox?HNs+;_HvjpfvSX zu{8!*G%>$0xc5GXfaiSIOCb)K%+vYsc~`R>EmbPUK-od7BJzeER!N~8fnZWdcP)%# z^lPD{fgt)?Yb1^Edokn$!|_Y0K|A-bgSPpx0qD_Nx?S?$i(W^7L{EM3A#bZ5c7+{bEgo!q z0w^`^o%o<-0zfMDic-}kg*A4AwOWy#TbuY5P0(-GHJI}W&Lb%8b=DgQy_Cq@{u+w3 zWNp$a1BYYxrGa+T6kaV$XuRIImsBOLBw z@fwZG=t62o`0|GG+zrWs6bq5xHe~t;-XaG_molqJxBX+_q7>N>@>DenNm7^ij3fQN z2!hd%v03Mk@DUFYbJ#rFR}bOg;fyHvY-0{-;f%gW8b~}CcB=ue2rDK-HD1c8{0)WtloK;?%_Pbk$pFe zk37 zLD(g|3aw+YdK5?xKzZW^9Y(eOYWh<|#wcdW>&~>_pcuwiI=18$QIAo63SOL$Wdwf|&0#>P(1GJk1k9aWL5~iNkavcPteeKr9V|RYW643~M9g>! zvcA&vDUIAD{8NA~C{`C}l+eYfjqrf`_+LIfmn&m84leq(GYr{{AHk$b^1P>IF zaMh;a;r+H4?C_>A83k^;BR`+mF@2P#`7s-8*M~*#yiGePRz;wg398CrvH2?9Kod5M z7~@Lipc*d7?gZaZPWFIH&#(~U0#f@hppMbj)|g4kp8d@yBxaf~LARGqde;kD{bHR%h% z#|*A5Z-T@#nE4jnGTc&CQbC|dW@*!#bR^5^4*aqJBwVkR)4aMo60k*5h>&Z~FtAaR zWo%(um+B#yRU7g|HJ;ffLIVRa4P{74C0Tv*;vCk45|leu+m`QZ$0dM5hqhcPHPS8$ zNNssyj9t%P!9hQ!1|Bqq&Uam9UC9UmpJ#A*Cm{xpwTzb5TIHTE>Bie)YD6`^j1Tc+ zL=lVQ>Ef13GtnVY(MmeBemH>AW$@2nGVQWuvotX2?`6xZ-nSW^WXodDexH5dY>&nl zQ>F@M!EMtSOjmtok-AXf`=2&*9ib@Uo_QNz#a%86KT( z{=?=l+ZJaqiHYs?P;BGEL+sK|8dy~R@=xn#uhj~Vc(=P)4d;%1?tIMZh1{dZt9YA! zJ!Owhp%PNtgP(oR;6o76fn8Ul-?~E>s;vN7l6040z-AV84j&U-)DAL$FAlr#{-9_x zS^80b#Psj>0vcsl>YgAa*yKaYpz}HlM23@;s4YVDI5_iu!r6)>uswa#v~PYwZyC~# z#hpJLXm&<@|3YhF5Dt?cbzW@aE++y7`^GZQn-%t6T_>^964O4UZH z2YrnCIu*O03NG7rH#F6{InoW7BsI0Mv@qzYu_=s*)a$~2J~Vd6b>a7kDn!2||sZCA0J z8{S%dqNMd^)T>?kk9moBcft#ug|3+JO~UMjtyoo$T&cTH9;6F8SUYETJjHR{$YM@^prC zryoNj$&5SSplN4spn;yxtFldJQW+u&^o<%N1lnyiv`q) zYpN!reI=P}1rIwn&=RhK49qq5bx4;py{m*vS{*Jr#bedMTU$G~eRX)_^oTe}=Z`Ij z%kq#j(>UL&3(XOL<*=RQ8(>h>>$a@4^_FY4>4)zy8c4Q9U)E`Zi5?2S9W!ThFJsvJ zQ~6Z46t0!tg@5CvTxRfkx6Sn=T76Uj$o>EV((e{?^mP-2Z!bP%xJh_-G(M@-=S8R< z9b&|oc#*bh(EQj3+5AlX2U2H%uYBPZ{ZjsuIu|sWU+Kq;AaqUkFC_c7&&S?Cr)SCV zb2XzPT^EU}+05VO`U7r7+FBj$Z+0?KskTeCdYT=skK*4y z-z=%8{NDEa1D*eOQcm}5igxqQ)(=Vl-^>hL|IG}t0hhM8?dZPfDZ?bt-0WFbrhZc- z0^TwQBlYl7@-0-6fj9(z&i3O_6G$c6fxhQ`0zrI0&e6X>9w~eh4&t(+j6E`+QcY(< zoFsE5-C_u4Et9$OmyO&XxE3e44|MzV%5~;?n|t+oynjBTHctm&nH#+wxVi(Tu34|N57OLCh-&Y31a7myd%ARl&>2{0pj83e@w;9O;v)-Sh(*5nhx1VXq?|8j0 z9qp67r&{vrti`B0s)!ey?8$cm?8j?pMO)Pkn@wtiv`Kl|(toc2!pE#!U%wj@u=9zE z!-h$C7mvbC#B80b-KAqS;xjcJGX7cli;YU*ndXI7kf8J=N0Kr*3#tCbHk@fmJq8n(xcVUi3@RKl5*HOD_s%hv)cwGervoH^E7U>~ z2e{ddNdh!llk_7NHRZ88=6M)Hv`$=Cs)|S(PiEpOR7ZXASds%|&-V>2Q{L*0)C{QN z(%D6m=)#h|?ES@|#|M32sK-?#Z?H3A++lSsN!QF_fee;fuLvj(b#GbbU z1GpsM?Bfq-x_~-{>z6R*Ml;YoPwP+O7C15v3zsO088VZ{??K~(0ChV(MB7EBZGu7eQ58v@3-sldfAPdoy~!iv#@WH=j@~~WM$8T{y) zA4N`i`n{)>JxxT_pjdTQmAlRoJ-LUY_~%=tEl1Kzb%9c&oyb*enf6dT4K-pg^(=4A zDNXHnS=ycX%@v|++Im!j1o4-ZPNwYhuMDvoS@TOp2ytxQWG9n_Z5T}&mFSf-iDa0o z@os+duj-I^r5nJJrTe=8pYBnW?%%OBrjB((#rw)>EW_k1Skhu>Ak^6F&8Rj|n6ek% zGF&J;#L;+9f~Nk%cun{8o1us~-M{1-Pmq+Av<>Xrx{vr0y=$N&NMOt14lSt3k@*FN zyzMtmivqTYP1EC2H>L#jERQAi1j7+koejodLL^xKfDg|YGJ5^V$0~zgkx_$*nBfPg zsX;$o_F+XS%$4g4r|!|06_crXZ^({_#-*DzIo87YOP|v&Zc+bjd1A2gUhxd@C^KIn zIO&2I>3{0ye#pEQW@`{BgUCT#S|yHZYNCp0{b)iZQ-C}&<9lEC|1wheaS;3|r~J!G zByc-E3wf05^)PFWQvi;LVLP|5sHgn#@uZ%#D(<~7!L+Ux1BK_?TQ$>+jFBw>lAB3j z+*RWwd0xIyQUuNS*kjtK7Y9dJ4q|u~GZ~mgTS8e<0ba$lH@6;E< zp^NHS!l;@jq0M%gCOf<2`eOUTH@0my5$Hh8r_7Sg!VnvL21_pwyOq`@GOj0j=BiLU zY{BDvLeTMyQ~g(b{sj+0wgD+xJ9dU6gxiu*8w3+hp#yNtg-nCO?K=!N314{5YroY@3cQsNc7l&mEG^e&_#d=a=;*j*rY5>ry0D45K(hn((_^KeZ&G0jN+&vAc4^ zu-vx1)>iPBef+faflv+?g;>f0M{~WQ5GrEyu=RSOTkZjk={1D5Ko|fn3K(Kj_yQk| zXLOT78Q_&^YsvGh!MWfxB@`bYCc5O5!e=Cx=#&rBORKkjSN+*S+3*up5&ml*JIyJG zK|jqVP@%}$f7Zzd)>MI+vJ3DQB}oy6qQY>O>-RNzmhi4pCc~IXVmIFm;ShOShhHW{ zm39vP68L9_;S*>?{p{eC9;-^(oiCiwTza&M4sZua7DNmq+qi=gqv)yE2Iw@%Lr~eE z+OA#%zYr{}agAL42g8lsCYMZveLGX~oUanLa>{3tSy=!u4@zI~5q|HWrjt7D;~nY; zRe_r}v@^^N2w7-3Y;K_|n_|r`;!@$s{bF_XGNZve7t@jVVL|S!jOu`^7Tq*(0omO$ zC~p&$yj?S$pM*ghAt8maWg_v(sHPbXC&~-gOh|u1UyzZ$-M;9lgLDopm%BBD0!Ng5f&mODdl zL>TbTe|E?Xt>aQry?zm)HO@A$A$gg}JwP_tHi)@CC2qso;sH{nHcY-_~^lRUP@oO@iTPy^ZN9 z)P;e#+nRBsHjU{UyV=@&2jb$a5NpFtmMwFcrbto{uv9D@3;e{wJ0hwEbV-EWrr$vX9gF@LR z1n+z^DF!L>PdemwIHkGpC=u}>n=yxve*SJu7Q!D$)36azp1ga`mODv1-qqHkAyNy} zBOU|n^!(Y@@%R|gzwT{2W705~FoRtp zOFdCsz~i3cLsPcOCIRT&ouzx@;3DVuVHwzcYSU=@Q=>815^03_Y;Gr^`4X|}3E1=kBPU#7e_@#n}6DN&cuDDv_r zwRLNp9VX;9G_oQOY-4j?TR=QTPH#X0g~QFp2AXIK@yyZB-gTW0dt1Y+}&So>UP~>1XVMgzp=8BrC0m^RFV*cm8xB zSCwxR;zqmb1r#RITLEdRjlkszuZV>m<-Dpb6nrwZGC(7{XxWND*00yYUl_70_I{WO zh!wH@duG2sAZaJ0e?j}4O#7`?!9jAc?z+4{9-Ei0BF;L+#Q??hXlp?J!DI&t<7yN= z52sfUbZP5v5N1N{uS+FVF~4-PzN}an0p2A%P}<@Y2Wj=a{A5jsYL-3My0W(aItpBj zq#^ftM-1uxHY?2JN2V(68;3iF^ED-*$xHwy!}1T{3<*3tSF1lyGJsHCG)1Sd3rDB$ zjJ?Ddz~^pFSsEN}#^>hZk%0a(R2uBQH0<4>?LH%@QZ)cPR@8qwe4L zkFFjJzm6ww8}$AOgQIbV|BJ1~tZq+<{6{S3C;Bh+jI;SaJu|JPWw$kg{zDr?4YEl^ zI%b;%3GQ1*&f|Ky5lXg79a*sV%gn9xz;Q)Hslgk#s{wetomZ@(L+Qem97@^*>W&`% z*)IGi;UFuWI83{yDdD=r-@j^{WtS@}-RaZRu>%?MIXr5QmFF?zeA_uW~P`P3oR*~Bm`hn1hnv-uRf$PS$RX070ghoAs9Wq}Ysmki~eSw>aScqZ%l z0P3k>_YC(um|S8t>$*asZ-#a0_$BLl9zyroqp9G<)T`9cjTjjUnI)4Fsv_A28bo#8 zm1Ra%@%ZLbUM2;@Vo@r=zdt!<&=o_@B0XDVToo+v^9EB+p7$TJzEjA#?%nQfvc7Z6 z?GP`~#CU>o-bn*GdAG8-VM!bM}OKp(bQ-&=*w3i|f{Z9tKIn%dt-rlwcyK{vJ@ zyKz(^3fDe6SQ)zq>&+WFut&N zpO9=JUFeigQS9XBp7x;mzkl&*DSYA>5%wgRX(1 zt@n{@i)(fGBRAp|gk|g=I5HeYKb1L2y_v7$WHeOvqR?Y57@n2QP z4^~5^^nuynHEik&UVYLT612~VG>2OTv{V6hMOb=Rlo#a^{fft5&+>Gpd8kauLdHgd?5>q=dVcO=HxfLFf9mhIfqVxe%=rGzYm?a(PQdXFWl#8)to)&?nr2(9GHqZ~Nl+~_XDlyeY$ znR0ksJcbh=0qdUx{6^qT&SE}M9sDiPrSzkQo5I*zO~R$pnW9;3dtD8Gvv&bK>k-@ygJ;PfZ4@Cy#r@Zy=GyS@H?l)OMo?-N)H5acxA zzZCeoxymln`?eZ6$l%P>Uv2p2hp&G=pB+$rWU{F_teI-@y4e-SX)k2!x$Qd794;*$ zNPE1)Xkp@|d&yyWEs^!A;oE16@>D_ZA~ukH;F<&u9$w~#dxr__reD;gfYBsRLZk2c zi~?XndD@03YW&x=D73B)FXZY&aX;ffj8)kKm)Nlil55Km#o&>ErSQ$h_w3-(=}75^ zg@0899sTM$u~|s6jyD|#L#xGwU9!DWHj8WpAUPrj6Q$j1yQ8k`uhYzI5Zq9!&|NSU z=`yN})s+!x*`^_1$VO1%Xec$)?>{D+^#HfGm3SXe(}9sKQr9EB4LoaqlW5iPDZ`fA zKjP7Q2kk5kV)YoKJkwMJf`Ck=*rINg(W@BGDH`{A=|diYPbZ<_E6{;aN{Rs>CbEPk z^$`PleA@RGB;KkMUOawNR~hy@wn!7v6@gH?AdA)+QhtW#v+u9vG#~2GsLyvOUUpNt zek10!b@0z;@ZNlYh&T|BzuK>s!P_io=WzFqp872^sn}@*LG@#hgwv*H9@}=Jv2Hrd z$ybl6n27;r?>48rW@88rkX57T>!`w)$a{qlW~OBr?0R2~=ug{oDLjKG$+28^?;W1$wT*kZNKdAkEX-W`0I_c)@r)bg(_e@VoRRMT3W|wFS4>8F>FFH4F!g!NrE8nZfMR@w=RN7HW-RnCXgM)SYZ*74eDGW+MTeo)Ks5gd6fN@d})nY zi31?fXwuu)jwj)FcC15|q5m@|O$4lhjQLg6`596npvSB%%NEQD=9egYt2yB-)$70t zQ;>ECUqbzP42x}sG<}L7S3dXe*b988nj;fyiYDfQ(4JwksG?&=7ksE0#vpy%B5y6N zMGU`8mro>w8(kM^w|39;*uuwZNu~GsweC>7nPgikwgqvNBAlG~XA0+{Yv~t7h$B3! zzpfEH@w&rary4#xm~JHa!HRRf#>Y}WkmhhZK#=XE^301j4`jM(zd^SPNL9Lz$ZG8o z%p=z-{_?Ry4*Oh5r3IY!#ok{fBwN&atw^d8CnC%P15P^vSJfT+*4 zHu+V-pVRwSrKW9~-)G}34tJOHLVk$-CuD$Tq*%1bjE&93RjG3}@g`CyMQBCgdiWfW zYT}rW{-@$@U`yXJWi3u@LIDzagH0_?u62Hr-#HR=No`JeQ26%`_xt;WzfLFkh#8n<`@ zG`!6jNgNo7_9A=G!pOMR;hStltcd#)ZgpXr%jhW-5GhyvgtP)` z)*q~wZ?@U-p=dTrnAh@EwXkOcGbCwK*6A^McBTgEcC^PYSP<~m?bvnu4;h6-d8bH~`Vu}c*SwP57_72E;3`*zdTSHBwQk{0&Ihj15PW^FhB}}Qk~<^?rk@i2 zPk^$Sgu~xO>zwg84=@G$>Ck#du^uQb49ZnDUGUP*#jYKa#y%-3&-e?LY&q2D&JHNr zgm5xkiEN8Io9;uL{)W zXI`92&Y0{Tg2Y9`V}s?aG=dVY`UR{@D3cO$3`txJHU_Gz$Nl~(%_8h3+B10O!EWiF zI*mWakbW#StFJ7d&T_n@-u(8$B@_;zJ0lG-s9$m?0TvCA6FmH}Dh{g?Ze4Jp+`E~YmlHB*Ijb!V}1p<^)?4l^X`;zQG%Sunffc%-P18>a*o zqXwdua2Xt!sDMfMu{P#Dx-AVKOXsN+oo#ScaEN+(gBPTjbDP#_<3|Tb} zft5d6GlKMHwQc3SWh|(x106>fHJL7%gInxC5eSLs%vuu`ruAFj;c&+3o9Zx+uyW~^ z+z(<|M!MD&Eqh>p?Ahkdcu)G?A~zv!UF!FitYubVgTsO$A8Tg2nV4xYp}&`tY5zGU z578!AX)>D^PiJ!7MzZf&KA<1Z*2*K4NAj7`XOX+CZcPk-@zZP7xst1?{q`K?^_eU!*o=M8}@ zY0V+~*+?N?8*x!oIpDsWGN!HJWk!^=bH=y$!adlW{ju>k2@braPCE9nWOFnUoO2ba z(Vp;LHE|RHWAsrBHIhX8yIO~XG40(Gc*g6}ZwIzg;qgBD?7<}j-5o`?#EGCnESINi zf=zLPm0dTC2{%(ZcRl6evEH8A97MrwwX{&Wn=rO(QLs7_&2aL=&kbkMc8l{Uo@_nO zjCdZD#P^SG>k;+DeWd|2MKJM zCM#9Mpm$Q4Ab?m}$gA!OMILk+*Fk(vYr;rvwdeJ{pq$2vaQ0@vXi;r#N+v;`{poc? zg~)Fe^OM?!KfU;GA9Us3wQXaho1?O=JUO`aUu!0daj1Ro<*6CqOyJT0dCD{1=dGK* zW1a>3_Svq3xP|YIp8eTfO=^$fKq^$3WXXSSGuAt#oeG>EvZdsCRKebPFxRCfE<1X5 zr)6)CS$F60PM8!T>r>FIUi5*WK=0kfR*)k?=b*onTaM*N@Hb8FLswe*W6w%qJ3`VO z15H1QC92HBZf%&&6K(+=C&HaKe{UpP6LXVl(-l<2bdLEN1ekXvgy|3y8R%~;()qa` z#aLI2=jjDfYW&2;Ucf*9_9W6pnh1^%@^L$P20-R$U}b)7AD3G-a{NPe^Z4A4Og%?6 zuG;RTdA!}ttzr`Jayy+w{RR1tF?2xgcX}@Z5YQUOe%Rj4Oe%ODfk8(C54RbsZ zY*`M0O8_M+O4L=A?X&cvvexoOPMXhk;mphZ@8H_m0F!&5-|??wKdZlfUvK-1v2~P1 z>R?)Y9(C3?$oUpuLT=Q^DIFV@AHG`=ISz#%?c!k_7nCqiLOKkKu$= z>E`U>#c6}DF_NSsF+*Cig+kkXgx7u?5qs>wWirwz| z5UKv177|F(5L`&s;P?davx}D?0E-RB!a7DABP7PdwVl@|TyxaBBIN|*@qB+L3Ui&3 z(G=psNxDQBqdcmWG`*p(zVhCDzO12d4GjT44OS_WA25dd5MnZR>6MNJp3b}=w|$@Z zMA1UU2aC`5?_{h;%;(f3i7;_!X4T|WEZVsdZ-3Xw7>Y)yasi8*@9#Pl7Wj4@4GI=XMpL(!!O;&A zZbJrJ(IcRCHZD!d`mRD-K*|#VY=n#f%u?>Bt3; z?CC}7vm$`1z4&j0Y6wb(uldBC3G~#|YJ~U`q6oc_ zipZsM4UtCLvKBa^U|L&sd;(Xe(8xM1{Ldd(XSi=FTehyNZd##hG+5{fGAogz!Xq?& zfq)PotOhyG7LhXnqM*@;d0Ok)LEW!P$IL`_(?c;u* zQO{RwGO7eI4->a`ll5||%gXUAabkrgbsb!aIy4nkg_;r3>Du@u!_Iq`PdOUxQI|*u zX(5eTg_3Hyf0JeYX^7Yofk>))^20592-%yN(XX+|FF%5NBd~xLLS9-8i-9s_%LB7w zCh$|@C(d9;g{8GQReo(2kF`Wz%|zY{sUEFF@6|-_UW)e~N{=oIkFCV7I*Rvz6`6I; zlduxqyR*0T+;0~`T-tvn|EAaG0JNRDGt~F_uRp2Jpqr-IdhI);>rY+kp;%Ds%Xe{T zKBbllTWZ6*B|=heyPoe&u~7dD%eb*i*WE23y^kpIw?Wz$-SyA6_$Id#dJ@Gn*C|wp zoqlcwGXu{H*d;5`1;f)>wdI6^vTelQAJW)juIb&fww{jer|P?_M+^*=Ry(&nMy4U; z`NLfQg`a_oR-{bS9@U+3I3EE@KFaj^ms;U(JzZ9o3jXc3lxw}eZ~#W~vvExBL6O4) zL2kL4P5tRhFIbFibyn>OIab8xh0IixrE zEwD?=R;XnH`Nc(|siIPyokgPT1WXC8e{5gqR-zh<{!DApv0IiFMa*i^O?ZF9_7~gL zpRrgSaA#K3-gUca5&J-Rn?Qld9K*2ZN8`+VCmVnV;w$(-q#!ifThzj#bB#9iP!u!c zdK_%4V1Uk5z=VkDc`EDl>z$URFTtgaV1wg?0KPp4=IB9z;Vv$buyoZuIF>jn-E32B z(?Y%U8jt6#WR3-={3-;@96iV_L@AUYEx$UP`3DC52)cohnJpg$N#S*ezx)LwB);I$ z5Jbkexru$2SB1G5wsm*;2+hx>W*?-hkbGh(>NU`+_60-RX+|OBB0jwK^`&Kx5OJm9 ztru3+2xbd8Fc^xc`D_rnPUS3|X02#5RUacI%!WerRGb1sS+(yn=%D2+Qz*xl6wpTSuPIqPDCoM!j`ysdhr zB!?K07HvWDyO-px|KzCSandR~D_cz%<2-)shLEb*!JY!=YfM4P(-6QDSJ<)S_~ zWJcfcd46$j#J=2ekW#(vY`@upN_70t$u^j(GwcQU%Wb-{-p7rK>!Tm-9FNDp+=yqb zi0)l?i{aifr5)F7SW(9SbQMX7KvkI({nUgvx=mRy^Q5NRHYCp8eF<( zD9$LVl2ia;!+>^C``o<5?;xGh&r8epw0JVdi&R2RIvcElO*4M<5Luw_vEIxZMj_QP z0>Y9gB^WX7(9M3uv6tz=C*4>~oZ-8{QD)t|Wy_W@{KnpHIo5c(xLa@rc(I8Lfn3~V zo#6f3V%HMM)5}G7-MJuX>5U+hnIg#7M?8;h$g>kqqr8#)C_8U>hxOoZ=>eFgZRw)v z?#v6*w0vR9UwB2#SX4MJdL-0yA#z^cxIfc|ZK830{ALj72D7h;!2LEsz-QrJwJbE0 zuIP($cg}&eCngLT4K1#!xOmLUh_(h%B38Wp-~hS)a3Y8kQ{l_DiCL1gJ^Ed(joL*y zgsYx=$A@BI8pnk8T<~Mv?c1Xp9}=L;_fkrMxx4j;E8(1j)yOwT`qYnpANlV(%kmD| zbYDw6nyqv(>~U%?{n2(Uo}W-LZ+Zdi^Z8F~U22|Jp?T=(h^fLyFT195@iLs>>(PFx z!t3pH5r%2Y>(g;#VdDN}V=v+?f-bx~Vkl*;9z4Hqm+IHiVCmp9;NO>PZW8 z_a6z33SlYFaKH4AQaCE35tLz@NT7GmL?%KjpKZ~1pt z3%=Z1ggPa8bjAw(8(}D|Bu~FL{y+WpYB+^KRZs;>l7PPS{urNe8RLb6pQAKN$R|hh z{oI{GH@&#Ff1ba{f2));6lK4ZLuF5k>Vz&{v1I9SN zDq{+tN0n?=1flfd+gGd#%W6$}qeevh7edW?l_K;g1;az4+?@D>){_2upxD?K@PwrA zDWZjjpIVm^O$Y+2gE%um2sN3>u~*GeE3#OeUWS zk2)j;Ory+B%ts4h(o}6?hjxysLXurT0q^cquRr)vJ~|pbNhC7f-I0paBLe(*-*6b| z#Bk!Oi3cZ0UaMAkEYQ)MjkCkFd6B5ylLrM|Hq&E%%7q0Jnw_O1ldEAT zg$X>8Nm!UWIiA<{l^jn_5=~?GUx5wv1ClHMT8(hE7hP&F+;QL&R#oq?TC`#8FlLIQ zp}4{b8|uX=>G-86YReEV)9d|q)13PhJ!)m5(Iv2~t8Qj!fwbViDkBd8R(^e7WE5y- zJ=*tLx7fo+Vw2j9In0_b@_AUKqtqBl5g#cf9hGTLoUwsDS0nl(JKE6_^u6eyDle~q1yBs}k``e-qr>COC$ zBqUQPyPL^qJL>2sWJ@u6#8QnsKyjI1k9P9bJf(2z67W?<7}Qw|cQdqYVvh6oTmPy; zZ78yroCuqZ2uZ5t<5(pwx;35V4ZF#S@-(;GkzVa=Nh7aZM zKw09~ss_&u_KGG0n<(Omgu&mQrosfAPZ-MOphgX%(g|zzyBGghuRh4wx0|2XU|X@d z`55=(w|d*au#qD?+X3$VZ>bMUlv$nPLko458`wPb7H^XMjG9m@XUM$eCna?qOi)07 zvFp@c1hSlMk+#+UKsYKbr;saY(2;+z4j+HimrIZ0`YO|q!(`MS9I!hf`SU^$&^k6ok)Zxe zLd&Q;bgTQ9DFO3T!Ys(m?6${*bYx-49J0d7oPGxowL@$Fo9Tz7TeOJB;j2Z~=bkxT z!w~;{Mxt5FZ<8i34rv|TQu=okv0f)gHmg&nNFNrzf8fPL1Uqp{BjwRFJUMlP!=}`* zck@H`iRN*<>M(vx4aHnUz$*IF->lzglzFm z@&=IOHG#*tLt&NO`*=V>8sR%4!tictNTFhL0j?J(#3R~-q)MKU%5Qgn_s~LiwiQ7` zzj3;@m0v;!*t>056)2tJnGybno5e{oo0iqI4we7B7-zIQ*yq;Wo1TDdoBYFl$8L>? z;5xh~_z_z?D+A&_g+uh-h%ujvdtb}|Mz zgaKiQb`U)~E@tQzkI>kq>?s7pe;0^HgU9R2x1F)~stc#t0d388?a2>(ELZ!3U712G zRwwA;L#!-Xk;H%yd<}rI#_WZJCbYkqlpDSSp{XX6keyH zQrGBzsb^&<@M(YCbx-ttn%v+VsT~A@tkH#C>`rLz$|c;3y3+D6iol`%aAaM2JC7ZL zPC3fPDauopcoUp4#KAE&5?>TX=36xvIvJ#&i#h(@P#Pug%}Z)3WlH&(@*Cd~JNKUE z+PAr%RwMGdC5E;Sq>abQ=uD?!@!eLNm2B~gF;?h-|J2SB zCPbiGPA!A>WIPFfyw0J|TyDM3BuupU%EF%(%y`%8&u*o|E+qBpzi-1iPT;Xyb4bmw%`rElhR) z)6ysUMvd`m-xNZX(S8k)or)Ga>|bx5r^x(2oP9%(Ai)A<+qP}nwrxz?wrxz?=Cp0w zwr$(m{(mF(wwGTOkyWRv0(EPdR$M+nD0IfzHt=_AX!hLY2Bv z*ORM{g)P@Sy_Zkxvv54s9q}$7RrFfIenNC&{|v*I{y*)FEDCGdYI&3tX(K0MN4}bB znA~2BL5P1)B42Ik9_H%ym5;``390}(0e|KSec`04+AA-g{uYoVkc%aMDy(x{iU6zM ze~ZLJXPb9|eCBk7$SE^!8^rC%!L1zDVB!yM%tM;2O1}6}^u5<;cJFlqUx3&XY<@K? z7XOKHN{NbY=8Np4$-*Ea#=B)Thta~pbEbiHUZ1?sj-O4M`MRYvlfVw_FU`7%H+mCz zexFtfwY8Q_j{)wkME3@=VtVbR*-6Tc$`t!ASId*FwG?eG}Rz-27kwqT*h$5J+BOIG& zAMTVYyyoe>|E8LP9N7q$tg{Q524?{`+bBeZF#5zk4K&kv?gCG7ro0ZdX}hJ^iIv_`otWtr z1#gcjfn*ktW}Pk!b`X02ToE;Csl()>cAoffet(|VrQ(iF@j+iqRIiz-H{38i1KGL&dXI4>(6L@8%GN#UaTE=PHwZp(+l3&J? zZJD3)rt-pf4pe)?=ZQs8Z+frUy5YuW5x!QIKSJRzuW}HTutc>#36lhZ!vv#$JrRn9 z9Oyuc41I4C8nZcDAeo0n{k9Q__D5m5>bier63oo(i5{=VhZL1!S#D1(l+o{Lz_Oab>{IGHcQ;q^73(RC)Z`&SYCIY4o#sVe-%_p^kU0ms;=c_rM94(`NYRCO!AlLyU@Pw(eR7idh(>O-8#8&Rp_&@|H53@qUu%%AP9juyWq zn!!!PbUa!cm+qiZnp&Qdh^&f?xQ*39^b8S~v5*Pp`1xT+6hTvakyKE5k_Z6^L;V$m z!tgV|GYTUWDKkZ)IIu^VNdM||NeK@e=rqYWp0g=eLlw0q>}AB;ZrsIa<(28QKxanH zZr$1>3p#`N^|0q;AIsP)Y%d+W)zoLbbqxbW{<-ov#(H&-sQ0MF?_-D&2$a^_mBd1~ z*sF%b!h3%k|pj=oKeqXyVZ-eMI?a zZVwn$QyTT7smvkniVIVsL}{iiuudVt2$T!Wo@S_NR)*H6xOrCL5%8nysQr`j0*Xjt zA(+wxm-5=ErcC2l!Equ}Q3_&U#UT3^AZta1alxmv_8J)OJ*5iUO>Px>5rRN+;#SW3 z76BF)wa7<_zk2fA1T6OZT5mTIbdPW%1?&B23lJr^f`pdm&~FRC)`PA4F^`;d?3TnL z6J5b(F7(B4agBksc|BMp%&TMc4h-*+)tg4b$okE3!31st6g^P85ox@17l{BSTzpmz zfoU)1+RSc=RuvlTLN=r#$W1UTiZg2wM7;alYMZtjPwb<080sdjjQecGo`-FymKp@R z$#xbFbn0VGg^i-tOvP3hR!|RV(q0qroBLI>A_?@=X;xzb1JHVmd6y*&wKky_O3S!}uqRe_ z^=YZDtacsBz;S*^IxJ=mCoRUa+M_jqg+_V4rPnmxHH$^wE*|o+TRYg+ga9%%7!gvq zG6;%Bhr(p4zF6@>F?>S!qo40#PCScT$J1epN`|5!lSa(IMHm*i8mc6g9Xh-1Vs|Ey z_~ZDn^z-{LoUNG_vk+Q~0Lp*B6sntm)<%fin`3sJampx} z0lghC*9rfxL^b}Ahv6RGtm5=H&gk1^gNkW(fzqbK)FZam>)_FaGhcP8WT*glJ5iPY zgx7%l=Y zXiGf6Yh4xO7={>5z6w4s%j55q&ftT2iY^GMTmLtq2>DAxcw5E3W;D?R-zERZpwmx- z?&(Iz{_Aa%-|ERxfRE+QI(lOrvC(XxSKm%NMeHl}rm6%sx8@`ao#*}a-Jw%&kYFJh zXl>%&L83DzI>JhRLm&pt4eBH=kIWO$lfcpYC(&qMW!Q2R9{V0}G@I?+YAat!3(Lg6 znwS~^2o-J>&KJ1V+#X9bBnEcT{Pfmp=XRB^oMn9|T1h8AKVREXlgd!&id@}ag}9xK z-^TWzZEG8vmX#JZZMU0g7W%8JnHjzR+m=n7c^AwN1^`h0Ypqp~1_nU^fcU+&EX6c_ z)3^TL_5X?Daxwe;303_v@HlOVzNn#nhBo?Y@m&|Zqqltt%NOIejJ)K~yiV&z5uD8oD)jD-Gjm)O?;$ zeXM9BfQVI`qjr2zODWg}d3OCuBs0GYUq9ZTD%fA9WGEEk&#J)X)qaM6nFsbY8Vj{m z5l`9v%+Z@hXc6me<~!ZKfxlYvzyNJCJ1us(_;{sUwc)Pk!55p0lk6%X4d`JQqA=ph zsUJ=lWw33T6H{5C5$JM%u zw~p*3f$jXKTtAyfJ}JPdodvtS#TKADHx)9saGSWOn6c&{gE7Cca0@f%bm(A=eu?d_>sAc5|58~qN*!U{S^^K57-ie|?)4?b z#Rjrt(_g?k@UYQt9&nMY-k#&)~v!cFRxQw zwydH?L39oH{lrR2S&`JHH=H-aW&9GVKxsh-y1>k9i=~5g2t4#41lMn(3Su6bl6Byf z7Gm!4=S#^pGp_{LD~xGSWiA@a6RS53!+CpLMq;*Ep|VR{$xDh2aAsF)@xhqgNrF23 zhAzo-rJM4_oIvO+$oE^A6-BD!q5(~c0=CVcYTn81jRotPMniZ(7r|2jM~<1mLz#go ze`rD_hG?`Rh-E^14+?lzRwa*TaQ@u7?~U@b)X~ohwse43G~int0Qgb%$lQ4a`5KJyI-?g0euH z8g)=`7ES3tXu9*u-cbb+yxgIn@3!F8XiP4O&K@Yxs6*~Jh~T~%P)GnkwN)&GS=?bm z2FQam**F7uXvvIi)GGDoHMWX2VoG&!dpD99fYZ-cke}H_&$EJbG?vSuQI}LOtS@xZ zR}f4?Ieo>5+|x>}?9ud{jP0eW^eUN(tPUgY4S7vg@HI0M@4Bpisv+ZqWFsM(;PNu$_Te$!qo>>O=lQQpF?JXnOPKi-5nP{y*2m#dIII)R#O$Nps07H^VZjtFN z^_1KP+l6dpS#_WwE&QH4Xd5&3NpsI%BcY1H&q+^7loB*L4^gwk@h@8iWjlH!unzrd zIAa+$p0CntdUmY3L!Md!p?0i_*%(sK;Il$>Rv5_esThvI;ayZ!W|9d4uNU{eu9*-nwfijLh$=bhpmTe)K2SGQ0MGBdSK<>s@BX+-^h1weX{zKUJ7;0m1i z!wbVoC{9;pv?=ENQeXDIA*gg3_%#fZItpMKZOTebSyu)QHB^bPeWMM@M;Vw^Y>?Vd z40`ywNA;!3Z{~ewm-1_~cxE>NvGMN?0?0KsV+@o)5T?E62n%3eMo8Fo&8)>E+n-E& z6E_V~al>$i-^76(7r;?~3_@1;dplg(T43Pus_7_)mI*>R@qz8fP&N{E&{)aNnU*%X zOv+=uCWuvfG=dzQS~X<8RRVwOM&Sb3-9`P7L$C;#K_(ah3}ZM1a_AijrHXP zL8XTs1d;N1do!L>*zhVwjSdcqIwF&}Zv=IqY@%X`Iv1$9;vJ{|W=jms@3uSr`1g?B;8C1ThrnwYX4M?!r_8p*RfVsg@DzuN-# zyWp2?Xe%JtAbQ|^kuZ7$@|)z-)7+M6YB&4=ch!f#0{60nze;1vvFs*PLHcmuV7rF0 zI$98U@ec?rto_X>Gh2&eQ}eHV?|RMB*~`CA8ng*Q=7l0?ud*j7%>g@6;Na{xBDU;# zdPMezTCfdyA%W)5Tqu_YTDl@VIuIZ%cXn;cuQ*wx`U*kJn-TqScfj$KNcKWK6Dl)J zIwpDa0e$-WatM)69!q-Z$C$pIOlllrXOH_3r!Sndfg~8#n5W?BdQ#Z3j{isW&fEx; zO5YYR?-q#$m<;brN#l=Vrhdhkf6Xc*h|e}PTiYRES}GnF#t;l2R{V*Og_l~TDynXc1Fbh`jiqT+c!DN(F#oluQ3VqLy=E>> z0R%*3L>mUme$4rK?cne4xx%%zHBG4`GL;r}yR9y_8pe&ZuI$*`xM^?5io$qUGGyPi z(d@Nt=o-INw>x6At(;AwM_azkW-g*<^DP6$2o=S5{$A(_($QhQvArmCBp|PZtAV9t z)N0ZK+8qs<7ztJi3uzzJ^7|>+$Ro`vzI>?;-mA)RE$xXfF9V)(*aK~)BLqQUXh4O6{hafP;5TkrpLF0$^@n=iXUKQWl(t746}{EsTOxs4 zvA#r+$fu2*CBU198@a(gQFvpoYuw=R6X)j1GUEEN_ds=OqLI$s0ww@Rq)^>pIdA^$ zs=2}+vmi#I{ibUBjn{Cm=tliV>=h}`F1_Pup*twESF|5y&VuCAlL(}5!ldSAPXR26 z*rCuw+T_!FgNgyx-285^WO!*jU0?jx@= zSvtvAR}FYPjtQ(}B=BETNx`!@Z|tqHX$>cF+nfXCGM$qzj$=*UwQ=GKGwT^6b>t5| zExN6!11>7v>3l&F<pg8gJCluV9#qIvhs4Dl@Z~>CC2f+Ek23BWd2gesH?2-7Lo=zXnUqAnaWg_j!pTz9;fAG&*HXvk0YYiYdEa*9f>lQl6QiO5d% zvfQ`dtnOdFK3?#=sl<5jA$7Z19DJT{8fnBfDekHFBtKARQ?5Bj#2_`!n$u42gbjk<|zU}o3W_VI? z*H@@5-3uZCbCHK8lDplqUbYJ!HfyEOJ{i~UX54rHei87NqOK`U)DyEGrd*aE?~1nS zmBDp<`K;a{!VzeE4OFg%ZdKH%1{L*(aAVKrt86D+IEverg`JNvSk6H5X<&aPM6n8G zA&pnhDLjsP5^dCzb`UI4W_RFru%>UiZcbxJY2M9=$n;f784yG7a~8l^kZlYk1^r#-t0Fy-V8mY3{#U^hi5ulCX9{e9FEX)qIS;0!5#vQLkK}=16;!-w!mJyaU*)pKTYj?BnRIQDn@;y=1Dp5KmY?2$W0{VMQoh zr%Jhvp8GuC^D>F9RWaG~)Dw0sdBc6&jGpiku)c15w0YhD2$HO>FkojVg;Ke}M$rcBq zir!{SSI1D6TAe!}9*!~~>FzcnuosRyqOj_*oOo}~x-QN@lQ*PwP@#QyMIvN@l;9H& z4n*>mxG8WhG~zZ;uh8JIfk7%ECt`@!9X+`(2gAuu5Qln10Z6|mT3pW3x{=5n2we@f zkYF+iJq^LU`{pP|OSqwB&Y31h)Xo?7I*7~LE_xhoz`rf0VyCA!a1qD@K}0O9)?D3H zUwyO6zhosXW^u()zN)picCKs6=`QP$g4d3d}mCGpQJ2 zT*+jL3b8a8f~EedS~F3#i};|eK0WxK*(OIrHw_!y)|8VDz=6$I9oD&_7Y5R16Y-Hv zw$_ILB7zUW+m5VuNlfn$@gX4)?u#++e`1f&tRZs{eC5?q>=7YyD_Qk)t?Li#0$D17 zJ{|jL>WNXBLpVwb)y_ifJ`o{-#y*&RlUJ)}IPR{-QKjM_T-lZ*%o5dBnd73HO-(OIt<(k}0$X3Zlo%Yr|2 zTOjouI!oHIj-}{14x>@9CAKrw2pjei`}5K(uM}>MAJcnAwILq8d?8=+7z)pAv3t;cZtbcY{0=n!m@tt?DEJ`!m(Ic^ZP=$JZ-dOf8i z2I;3s=+pzKsbTCUGHyraY_n>8uw9gF4u*$8E9DCP<&9~Nx(N6wRrjo8z!A!60xn3} z_dg+#jb~s`Y35Oy)xioa&QZ3x%@H?H?f+bs2FW}WcAQD0Da5@l!iAnofq>C7qiP$@>nu$0D`;b4Yu@TQI-Q@_UV?mrW*aoL;xhDG zEk0}s<#)8ht%8?!Y*yK~{2{%@QHgCd@QC?Jv*62&4*(CYJ{u z_63+Z6)LBo9*q6k?qFML(uf*-akDS+>LiU>%0goN0#Sl1!VJLEE_EWq#_c@GN`Y7e z&;(YwdvDAZ9)AQIjGyA12Eo)i7^j*?_B=l}C(hO0g!ekNU&|}4|Dj$#{qQ1}~VSy0{$a znboV3anLjIvtN09?2Z>iB>>yO`OYs;gx7_#W>6`bMssg-4}_nDGYO)`C66gPzm$$! zY;VrjM{WQh6@7~nW`Nwl>u(7)U?bSWVn7Jo5B7vx2)+iZW*pSf+cysm&XkDmKUk+JFoaZjQ~F2- z<7=GsZDl&b0;|4!mZtHi$-Z#GLgFX+^-dBMtraav2$BL7ny&yb-8^Z!%EYe7kbtDI z^#38mPD%TYW=Jx|We*FV4m{J3U*Xh`G{u?or^~~b{YYnf;(DR>4S!vtod`MM2nU z#12VRp9>0!Ao0#_NP;AySW8#M`0L0OhNm$mA=ass{Hp?Zh1Zi)|Kb$%T@W_T09_SG zsrqx?t4s|USeVX)V+O2z;0i}N){aauhhf>Ju1Z^}t_l0`9SD;C zsW^v6N&g7?VJF*S-dF_X{?*3fR99V5e=A!f2Ag)|xT3SzciI|0RACaASO`qi%Ejr5 z(U3FlgmNE8Q^byKxG|%JHh`%oW5$MzonTo1l~Z3MDhuFUVEWO5SLVR5aOcQQauDt| z1MOuuRkFO0E9ku|v9d)t#g^QvH2ZtP0__dYSOvC7ao~2WIyr%I(&PsD=zlff%zGPR zTUAb3UZBYHcU(|*w3wt~3M)MR5R_gZ_7C2lO1yQoyMk3DP9JX9w(bN=BV4hAex?4S zz*Y;Vw$O}WM*STfEDNMw>gzZy97rZgCJDTHxpEY}&HIBPQ1a%>w?)88K#sOfMG&W)yWR;N@ILlv~Wa z+h|H$%&WHF__cL>?wU18J__;GXE5KtioX0Omp!pV2K7l`S0`hb9(kEQ-n*AJo>eS+ zMi|MPL7AmR*M0Fpc=XNQ7qL+oJ)-FvdR;7BTwIqtA4hkS=fkrGGwH(OIpt%>r>uD7 z19F;H+!lDk2Rtl1`+P*82RgMxm!-Iyy37fZOtvy{&-WzH>4*ei?O-qjU?O7-ltwjl zY2vZNzra)7kf4{sv@1I+M?)Ov*WsLxf!KqMKeI-KPu%a`B^I!LBED64G>9jSd{@va zyIN{c_h#29xf)TjaG?c>Xowa~b^3@rwfJXm1?OTU#$*0piJYeNJOLvsh&DEh1` zh~>1A7cRq~Phu=YDU&*C@-`O826L*w*er`q6hxMyytoch%)YHfH^v72LXD*9yk?*8 z9AjACTkGWb5yk4k!ONy);>Z3m@a8Xs>+>Cgr|NlCYO%9}*cf3P6J*(TOph%3NNEQ6 z9yHl3Hoc?+it&|7V{{b|nVHg1Cv-X&#c)Zwny3s0F5iIMj{|KAu&1sxFe@Jysdx{AaCMny%{{TH!Iu>*R*&8C9x)!%$vfav z);GL|qX`a6X$#!bYu(Tv5b{+eI6&6uG~n6@A_H+jiUd@lQ&DPv7t&&D>@d6v{|mq_ z0dR_cwt8GV+&srh{~mvnKmzXeld||TI4{s!QRp#xowaB23NqcKTFSc__9E~<`>$;Y zfnEVK#|XG!S$6Ju0SlM>5;~Y!7HO}S7c$u&+DtO6>bE$H`4nS{hpmvG{kV5k26;#xS62rIPwx(XpQnR^Y2S?R6%loH^kO4dsk!o5%lv$q z98RCFk|ZD2mycf`uNMz>%q86z(wK6V4u$VmC&*^V%R6L`$VOvYxv~H^XLqsqJRB~L zbMU;)987N?QRvl^I=Sx~lZ$Ou3+gjdI&Ho-@84g*dh(lI_UDTwKfwPnpRS;*`4#@s zUfPWR3-$FM8GN#)o*i}@;tv%~)Gm^W8Asa$?`d2Zi5y*byQ}`1Y*Yb7sjifvEG@fE zHSP(#0%kJ-&ZDC(e_uYwS}1b%ek13JU~bT+&jmSU=;l(jwdRSJWG6TC=AQjAdr!VC z+kUUI3<&#Km3j^YQOF|iJ35Z^=gQ~LN{wFEn-=ZsBo$JdmtEDj+j$u%l4vF7CQXz; z%RSVNhDbqx?dGs*r#oR>xX(;sez~De-wUS|*l1xEv8WzJ5r`6P zV*Z)nXUuQ$%Nb%d55cyYawNxX-!7n)S{d-sQ z)rH`CAL^$+v>h~WY)D}Cxtphcy9M}Jz}f=&y9E3rX4+8V%$fVIx*}syVJt$uZp;4hl z1f)7Pi+QT{y3+zZG{Ms<4&*+MP^DlMDzU;(Qj%2e>U->S`SfOq*-11fO2O6wCW1&C zd6nRB3QNWPhCE1a{srPMI5wE-+*7yrQk2p#8PBYBTt}%Q?LcNbXvffZnS8FSe^G$w z@ye)tRr`mlj|q4@4uIgSOk2hf$G6c!$2KNQ_X@YIxEk_uGBeH&CJ`dE=jwH93;0i* zhrRG`yC2?^muXs;}_W;~LpNid0ZoGZXzg&W66 zHgRbcRLl4a!bSY2`BNpNP$e-u7X)-XBJWk-W6tA{$z@V?LCihio-ER_O^V9%y0cj1 z2aUNn7l47n4B)%4)iiZ%uta2m5YKgkL^D_7?u;rV?!+WTpd{sdbHEGIAMd*9XMQ+4d%Ynb@5EI4=^-4rREw6lUHR=sHI@Fi99>y?Ig>&32|w~Z7mWuk zKnV1kNc&HmF7EAUR!1j;kR?h+Yz? z-tU+Ks+R)dHWAoC+NW;Pr@l+kXgNx{sygo?5lStO_caD8DDkWW5_#JRYy9O+wURq1 zD-fvcW7^#i)?oc0r{u-A=`uWaVYTSu`)8H(7VaTaVq zv8|hl)IvEIG4lxy^bsJv`g=xYVai3ANK!eWHberroPR`u8LYkld<@~c=?gT_uW058 zp{+TJjKlNq(nTX7NtdU`M52w$bxGLDk3R}`_@ZtQ1=l`eu;X@hU!~kzh}b)xcYTRt zv4LF7BjqD-!;R-QcZ1$MsA?wPM5O((D&wxpdZc73mMH6>B>iVdZd4_G3 zz<3^4>>g%;kzmDcWx5dZY(-`Kfd=7D7eNld1{8Gjy{#E+V3h@YU=_^}87^XmGrra{ zJVFZ~hY>5WON455I4%|ciAY`E;u2#&%kaqqz<(Nbjx$j%@l=qDNpOfkoNk3dU17>45HaQdOn!FI zU;_KqVGc5`kWtZ?QdG~QH-nQ5(Cnyz`nyf424e|;Z9-Nh=d1A_n!F^Kw^ zBof)a$1`K`nuEI@$e;%Oz`WT{Dy2_>a}lsLbeNSZg(XU1%5`*#!e0r=%9XAC@GA zMl&h5wM{PIsG|+|Bxo~w&NMqT%N>Qa$edWdalqXXKOstLmi5W9c?w0g^A^l79)1CR zM_5P1bv?yOZV@GT%54BIC*v6aZd=HzK5|1vY*G9Kaw<(o0|G`%eULc7sv?ikoKyz0gE;0LN^$d#aUEOpC3 zW-mk)4|fB2mkCH87r_PKW`5vN zFWqS)c;vC(sRexieL9xA(dH*ygZr=pVu!NRF#bY_7Aap~GEW8IpgC68k?Dn2uVj&o zsAGr%PM8q&$*)Y6z$tHLOQJ*`;WRCVuMUO#XAlh9^{PrvPLo|jLsT@@af`AiK1auo zV7*!ypH)C!i@n`GH_=t$DKZ9>y~;EE(XYWvd7()bFyo$21lOc5Jx^l0$jr4J_O6ZI z(bFI|b84RmI6}1avzP*PPmw>knyeCK{fHm-FxNNO1;)JA9Q)vymV%OJZTHRSdv-G6aYpv zp5S!K`kiU7H1eX!d_Cs7NL%;r_oT+4vGoqjo*@b=#KB^&uS@D4D(6Z$@_Zmpw z8l%r$_cJ~T~^+Wn+5^&u4s6_?Cbpf@cR1>+wx7#vf8yBO-U55p0-bR_Xm zvvHJjef86_niE)-1w0tWzL14+2h~pPNBvI%|LB6RaJO*<;A99<6$gDYm=D%Ucb4t8 zo<}n0;yEABYn+7%?g05M{I%UHf5#8M@8|8A7tbgoKwqOgUCNEhDm|LBf1||odONA5)*kfu2V*vQf;xT+=}Y;Ji3{A+X)U&0u6Q#?wXFbhLeZ?5H z6=YTK^n!({oZ@VA{hIEeVw4uSPvk@FxUKj{5^Ch7+OucBa6+BCZ z(!pr{s`(vnPY_L2j4M^XgBccBea3^CKF-|*Vn|KagPJBlz9VrZGgNJ_tJCF~Ww_LJ zq|qo$ziM*STs({PnOCbg152CV#E;Kb6wpD;Xn!glBL-RD!(tScQ(fv16FI9kkcL85Lek@^M`=i~w?_;WGLk+jn^i2*&<@_v(9Y1R zMgt9DLetA_gUw|P5jVU+NfFmsj4g-*h1GaS9j^=8=H31BPmWd*@6J1~tEOoPG>@Le ziLO#4mH1}lzlcT1VgUoP3inoBBAAu&(TGw(|5ldPq12#86;Zv1cV=NhlOp4cSkh6L zeGB68E;OJRn0*V#8Htj?@Nv7P?hok6ZD9Wwh~ufUPqpGAz;f=OyCAyM-kSp@6mQ>RCh z8?pDBGeOx%m$7R`$XJY}7!%0+d~f7gf@t(990|o=nG}~QZay>_A1f<#y zpTMcW4THKcNu-3(J~W=}Mi1DKM$f5x51;H#+HfvcG87y!ch4rWR&=uLWysZ{jTfk; zOj9)=Swe;m+prywn-2gwACHY#z^|{?ibPQBvw&}w@`ox^O%)z`_= z>bOyFrch|@MR=u97)=e{i(@yKr``X-72cUNxj%*QOLC3D*zgJZvIv!8`aw5~VDfEX z`fX!g#EM(n`A+ahO`}Fe(@HqrU_(QJu;d0A?~ugJ3=W*2H>6VLCoOAfW!_5 ziWB#-8}+dh_q7=HwGj6m)a~9$+-_;y;$9^<-bLdFfFw&7wQzjx-Rw!qH}zpx;f&HL zlw|QRRSa@QGO~bv=u&e(g{0l(dc##lj-}^6*Ed2P)* zDV9S(()D36C}5aNfl=ST(E)tl>`0eY;Gk59M3oOzt!l}ySA~RPrWh9gU5(6V2}pS} z2Wqlw5YuDS7+(Eau4(E6TE)s@%MGCqf#G|jV)~g0ax(bV&}R>(r<^D0V=B0S_z=^!d6ohnoraHb{*Cu3$3tpi9IWKn_G zT4H=7=LzCOk)B`b78XSuY^IC zWhy~ds!0B~D|8YOt4+ZR8J~~IAXpPQojhUYK zTMJYBL2qgxhx_4snSH?|xx*OFYP~os5>ua=*b2>p%Yl)yDG63`y|(a&OSAi)$qc0M zd>3W!BOXiWyblOfSF!y~9BS_)e$V%doM<~w_9V&dJRf64;F$)@oU^{kkL1Ji2IR0e zWo2Q>sL|Ont{HJODkt=>9xzmM3{7N~=&VQd`Ry0-Ncc0HrVxBT5l3cwk{gvxHd)*q zsfwRF9RP8UvwW6*EEE}i9M{)(jztp#eFs;otb0w+Y&k&yJCd9F9=YTUD15o+G#S?7 zT~Ssg0un2K!YZ+LgvOU`6_Foyfb&L@%Z{WQU1l<)BAg!&bi@|IS}Ul1+`HQqFo-Fp zY)$cH!i^lfXW8@aebuKBW&zv=Dd=$B%K>(#dw?E4Yo+FOv8tqi6}Fo}O5y5`;O}Hs zi&V|Bj!rs+ao;Q;b&R6+VQ6%n%Em0gs|>}ATCcYA3JZy4z@;cdn;lLsRJt>A?-l9{ z-X?!8oLHAznwux@!*<+IJ;H3rCjpA#(DkO_H6gpSdOOZw=~~TEee( zxJCO76|i}|#5Aa>V~EMt8Go^~h!DX8L#2y?N~>99D4~KUQkLk3S_`lhIM*U8vR9Kn z5cDa@TTA|oW6>l#RU(0v2RZk{O3=H?zuwli#e{i~oZp5Gwa3#Q#Ja{b4>yCM!;5=v zboh~+8}z2+Na&NdUuc*c?bG!!6(cWj-$x`dBk<&G7KU=jbSQ|<=I<}k8DB;jFAhFhvFcfiQ>7d)bMGyIRwrER+UkYg&pwq}wFdZ7-F9nw z#i|7Eu_t@97n&5IfVcxiwqR-J$xIo72wo;d!sk*L*ix&O)(x8%c`Dj+@xWk{HkA*3 z;Rc(XgM)PacRVD1uOtB!bi;ZS)ea@T;c5qIn}U-H(Jf*vlMI|ZoYdMOmm{lnW;UqR zWaYgX>B)KxN+B}K?#ad~FUBi&mDE}CUbBB?43#uKFwM5bzx;_S48UR-mD;6X7}N^o z<;W6Y#PaDR>6L#6?xXDhphbDZR_?uc&^~ui-WO8Ei$|V9_l3gXT8e7Bv;v{LMGxld zdie|MNlgM%5*w8`7tcEuJjA}Hh@BwULYW`)N5d-kL9A{-J{NDZM=1HCBIw|RKP!ut zj_#+a)!UQL@6Or5)q(Hl^-k_C5k41>=k@#NKfrhuGt#-i?=~GA?|%TsT`m6O3DL5# zLlH;%rmo@>1>71mlNb&A`wGCO5BK1>9b(UwE!V}|#q5)FhUe*Noq~RbfM1{-j6@wN zM-dtGHv|G?LQ){Iz7QFIc;9dGD?wWI<#M`uC2H(QdOy3m+_%E>yv#D@(eVsB{}9pR zvAM?BG@O(2M~EHd%j)Zg+s$_8Ym^2A2sHgVw{!E0`(+Aff(db)c#1IY$#%gFE#f@h zEoKhwv#muHR!{QvEc@OkCj(74vV89#X|xpUTH<_8xekK#&I1Q|zz*xzAA(4(YZ5JG z9z}Pxl{y$(zMsoPgne764ckJ>s5KUsL_apwN!4sD5xBCWKBOM_dNjktvsyb-y!Xx! z%04b0`Ks7POpFv+zG?!l{nuj#XWUeElX&YM)0+x>Uq2`UA}|f#Gu=)r7tP=?1zM)i zvX$2?M65WB5u;;@FHxD@NQ3?OVHzGb#8uQn<+@fAoZZ0Wm=2yn*$#e+L zJi9%)V;e+r^<+HO!`^cq+HANTB5_uGH}pPa&iVj=wGIrsQraT&wMzRll6D zyw&vb9hZ63AE=7GYKtsBh(m`-SoqQMQ2|rTXtSf<*wJk@&NxI(`X6B;Mbz9w**gv6 zP~(62578LK`*cAXXCismsq`iipXKf{%LeJ3ki%+U_n_7%4l#m1B;Iv1wQ((@+)?&siku{5{YH1hq6PPD(GZtpLJ^X(tu~7}HIQ1n zEoEwyD`K}W?1}0_!nqjH);&}?3`*T1ivD01ze|3OMyA%22cxPK%NIChEm&dD_!Q0N zAbcp)YAkvcAiHa(VqZGo;i^AQd(|8}UI~*N(JUa2@VcD}Pr^{-4JH<+(^b-(|M*mw zU+SE8DC-QZ>rZzt=wQEIn8aQHLlN{fM7Pl%2Fxb8rs^d_J)Y`N3V=(pgNDW%5WNy; zr|4eKty^W|lXoplj|A1H3&`?<>K($%oj?KzX^Kh~dA(?A`F?)>Hq!*rca$5w`al58 z*ftu$%gU>|Di5njio9Ut2ay5eruy%65W4mN&baQ3{bN9kxble8)}iL2gi>#|vb4KY z8^AY);NB#PT8=!XIS?83mky6}D!{TOr~6Lzh&`&an2TDvCC5j9rraK23gaN;yAE$Y zby0=eE!Wq3%2UgHl2G9j8r4RFgk-%LcyWx2E28TDw_PvMIvJdx8TCithZWJ35r3Eo zAI|TFQfIsV-U)y*O~c~WP$b)Ql%CoMtK@uOi0qd0CQ!b0#=hAffF2aaW?ZArKfhP$ zEiesYvloDgNWXtFBV?B~LWsRfflqZ>8|Zeq)9x;k&MFzqQh8b!HaMz?3h!gF&@98Y z^{{`^b9Xx>aA{enE{<)1HC?Cpt9hGBU}n8YnI-v1S< zom1JD4sy;ol`$x0j?h_nICkn%QLUC?4Wii1%_IN_SabwClKGiVkaGCIQqmbZ-Yh40K#JXM@|MOzZaOev* zvXsW&!b)tpoT$hrf44oRy~(%RjkxPU?Gc){8bt^^;BAg(QHB9EK8N%l9Q%;C1zwRG z#N<${gBbK~E`Ci`0MBA$$#*KHclIzpaxpl1Dyq7{F(8nP@EphFq-S={p}*dko)4;Y zBh>G}TZ8u{GNwIuXK**g)c_Vg=9%u*U&49-S+&<{2`vZ zyvlTl365EUq}vUIWh-4ziC!f-e1~MWTBl~%UHk{QVnjVgn~YA0RChDW`2uS9nWGT| zI&)mN7XDJOHH=Dc$Kj$QwWh;2X=dDTJ7g#+l21uvsNXYKsnK~VA7N~<)3>8sjXzZI zmJgcOhaxAB7597*QE?p$Shg%ycORg_>aO7Q6bouGv7V=5o@8>KBD4RbMXm z$wOu-toC$!F@Mr<(RSE%2u(PjVHRun!)~(k6FH{7=!B`sIJ@B3S-hLDNOsm3y{{qu z@ZZOa=~s*plo;tkAiRQQMc=``4{#+Yu+JacS!VK85O^!qMnzqTYYy9B&A6Yy@s^KE z?H0Nguz{|dp~vd943R^X)fw9`H4U;c#hwr+{Irv;mVJ8n4bF=S(-_0%d^K@FmVMIb zXUD!SXHvJoM=$XKBU;tIcVDVZlcdMd4MtDxv_%7Cbsx94_WJFIF1;e;pe#EfugXmU zXMQpPPaE0KlGDdiPq)M#qNTyVbu5@|v{HDJwXtT7Yg_(JV@sBOu{mMU*#Gd=ICEy- zx4pbVB>|6wyr$!C&cw6*vK~eug7S#>=q)(nPTi(3GO?AgU9JvH)5fE$aaZw9%58KOC5G8QSE(KEn)ihIgxq1@|_l&zfzUa7#HA}x$m()TP+Gm zwU1)XDZ?eT}q^h8#xn9j6JrFt~nDyXV%NGVQ*Dd5w)eD<5zUxue@qXPty-R=7^#RfxEeI@ z$SQfmXOQN0jKeXT&9T@o2ZGS3_e&Vrxh#RqbY56kDLE1S{^0YCGoA(pZsz5#TIn&{ z&$}1$D@p~cEg1vZ^vGDq_Mdu*RSEG{$S*&djL`y;{D7EZ&b+1}bQ{GA=4+kqo&alE|UeODt6Jt#uuznE>6p7z4E3Vz>>fWIA?=yZ5a9=La z78&pg%cRZfrY5$Ep?_0N`o)U_?@9$$rkRV7J9-Lk;2@B<1U+RiDq4@}R$Gd9h$xm9 zszLzoO8c|%nN9~bPYfw7!P|Fefmau0%gb%^sV%4 z`X9Rp&5sKweS6OkOqW6O9^aAEK%Hc49!sSTLPue-+_ZTsaXm z>~z*#8%P)^&>1~U{*(h{j{h~eedr2Cg}D5#`}V5S*Aygq(&zOyfozA@RK-a48xr{P z6*F)nBd4v$V)(|$bLKUwMyACz{T;W zEtNTKDv5nF{bkeit@W|#2@EOE$lWOjLN-21}>zhAaqv&Vk(WFqRDz`#fX+Z;7d ziKBh>-TNvg)}}>D}(h0LI}x&ZN2LSv5|lqBgf;hv$p@>kLkZAeq&6 z_se~ezqdQB+|j*61FoCde*1ro>Tm#O{`H;AEDhf~+Ur?6Sn4^N*;qTgcQd6ium%k5 zBGfb#a756bskGX5LbXz4=hL?Jgwv4O|i{pbItNi`Y?5h{jKci zF?`?aetXMDxc=4WNSEa6amW03tOE*fy+g;ba44dURx!`^sX2$c(Uhr`@&sFW^9(W* zYw|BfoC9~Uk2q`Mp0Sl@-uk?!%T1m)aD_sw5Sj*UI@$;K1Y&G7sa7~*hmM*Msyi$^ zGohxe98TyZ^WJwT8RkN(_d^8kBwRPIGC1J8D=(CY`57WZ+p6AVW_7=M9%70`7e|`< zfY@|E7(`4iB#YsMo7zW7drELIQONaiO=JEC8FcGHl7~ZKGw&!gT{%$Fy@ z5>6(Eixnk|wZ7BQiDpUr$N7X_W*fcJTeGN610002x+hqdRMp7P+-w3ZnlkzxV#@1P zOBMVvr9f?i9Sa&e?!hk>2bAT@1m^{;RTp(Jiu5|#y+d;aiH+r(-%tEOwko7j8za3O zi@;UB?G@avD!dG0gJ|V!n#!Ahr`&yw@i?b&7IolX)M#J1MRVOl9d0_;+ot!%Jr3N% zb0|%-f;!UY8?)3V5?&n^OK?dT=kvF~mkW%{wcSq&3B7e}15B3C3(^&0mfN!C&Ss_A zkqwn2Hy0l60ekgrO+uyVbEOdUO5c9OtuFDGuK!SnYJKIT5Ex#YNJ_~u^U5Th{VWKI zGEHN(ri%AEGt0cJr&|K%(TE=3(AXS2V z&K!+=Tp<$`mL-2`jxmS7TB^Y^NF!^_4);Qg`0BT8)@D)~`7iS3sPV+9)~aHiwD5{a znRgY=caL<+qd3%hC~qF#i$9+6WF6m}9_#M3iZK=FS0tB6zwaR}h-pM56Lak0*U}~E zqJVZDZlQW!HQdql86Fu9cn*>deoDjBXzvJuE5WCN9s`o3BhzFhAmZ{6Qh1~FFZ zH|(Y&x(w9}^;M69zzM-t$#lM^RV+**LW7r{`5J!x)o2ou7Sk-=Fb_j}`!0S>1xdxe zOB8jO<%>~CGKRQE4UB=aK(B`Z&o$pIm{jBXeI<)gy(7KN`JTPqiuW^N>jvDk-TLUG zJLhvx!^DVO1Keu*o`~NIccK`x7Mw8aaPP*@Gf!!EEh(3KsyHJ~=4If`MwiORyB=oH z&sZ7Ps`MSy7(s0t*`0707ph%rUn7JUL*bDHbg|LHlU}p7l5@`VL$A(@6Xr;oXG7HC zvRPQgbZ!>R5prDZ-S$a8`NfOXrA3ycL@*8a235`s`a-2PXQwc^8fJ`S4DD)KEycs? zfb>jaPWZ8*bbTTqdHXyiqsIq3jg3d#4vtKoS4eIM`mb|A7291G;%Wu^DB`6dG zb)8mzn7kDwM?JO?8<1BAq*l9^10sGVuhVj`j{D+mO&4 zQ;gMeXz%E9YOT2|N~y;%OqJr%DSoI>yHTD>Z#JXH@VhopboR=vvJ;Vz9nPEs|Cw~@ zOa(Vh!Z>_#$nKT)IDSH0xac!C6B0rW92_1M93BjuXA7&_imDA6i=M1LKwFF8jgIr& z%JRr=i6Gw^TGGM2m9JBIvBLV|Kfc)SaG218#dC|!M8Rk+H$3r;?jAaY*H|jn2~Urh zx#oUU3XCNA6cv_02W7W6*acT%cb#x2xIfIk5@Hq|mXF>&A#u@QUrau&cg<6FH6TK# zx)bo4GtR~nJG~?I5bX$f7);L5+hHHZNuLFg=ui#u! z$6i)3F;Wc)Q`y&VemKcH_Kc6$U9*TvE$k)q_*xuWdDM6ARma5AZOT$eISQ6Y-5rt~ z5cx9Y($fsqO1?5%S#OX-&(PZ1GMH(4TeNG{S`>cDDt}145+6h2CYURAg?Y@co)o_1 zfu5rUL4#4l0Nwjp>ubE)tIs`B*+kwk@`L)@aqQhPg5+)6rUjsCRPO6iqxz69BXxMW zEe*m2cB1NsqD;!RI0uN5k8C6;WBACsEG|aVM$P&%Hugl!2oPeywDKsz$*Fm)NDy5G zBbDVPjTbB!`GlAuiAlK=VQ^}?*aDlUGG|St(eu)HSZJeY^j$2Ag7f4ByO@6TXcw*C z*ukPzuQ4xnO<`PndgSz$E8JnCfU(fj_fBey z$QkBa@j%sq%IHAqNpNWj?zuE-7dY_edw!>Lsiwvg1nyn;1tjZN4)xFe!rPz%GU~%( zq4HGWA5}1?DJieDCE@y;yTkMJK;`xfc+Y1xqVYBDG6>DldcN2xO&KNbJ~a(>NgKH% z_W9iwZod1fHDehxAk1gFS;;S#uZA^e7ULc-34?ilXp&G?)(EF*^tE1&@AEr*H%3yJ zVcBRHJ&~b(=kb20&x9~N@-g79B!WAeXDvsiKJCM!N?DeCCdSSY7#9q0F3#zj(s-|p zi5pcnwou~(h4WFA%Ngu@K9?h0Kho9imCz0cFIpY4+D#q%eNRg4=2h&S@s(SJW;W*p zMSNcZ`8l(sW#(Wfc&RQfyyz{=cVngq6s8QjPphLR$uHYdJ6-Y*@7~+Cg5Zzwe88)e+7`EUez7__TKufPpxt1ddaK&}8)tdFP z-E4o`&V`-ebG!|u$1)MK?+x=pb1t8`CqnfQ{cSPg!z(8+v$#i{?Kb3;!yGUWs$*SA z%H1EYKg+@uS+|HPOUY;JvglD-7IOO;=;aH7k81LyZyk0za0ZK^&;?Q4ePrfT#ED>Y zly!vjLmMCsN(37O<&dw1&fj3k`Eq;IsYC0^sNsPXUfMH$_&~bzNr^3@Q!k&SETv$; zMD^fvL3UWPGFmp?v=J-}PX2kNmJcUG!N$Oc=uphccf752I(N7JtjlB24_g#O1$N*l zw#1ze`K%FVc)ZQnBzktoQYXRqP$#xbyMzeZEf>aV6^O&8xMDs{s~^nfoMkaUX|qF+ zVkW7l7v&4TzIK@D)oO25r;VscOg~ur3)6uTj^;a;=qHKV8Y0PzGxZRL1D7j7tjI@Mn}_Y;&U&P$UggdNG``tL6d0ykc|E9!}m3Z?yy9i7AoM-8yBb1G8b?it8 z`>M&QXP)jnv?2ES3HlownMtfdjLb)Mca0{tS8Z`C3HDXn9q&RK(9=4yQ)t=S?`q0Y z((JSLMAaWFBOLpVgl=(IcYEH!W^<)~5~1?jp4bUAhXlk*BSS zW;L|q<||hj7V2FM=_~k;OOxd0s1GF$ay*72IXNSVeMH7{0*|Z(x8EAFDl0oTHn zCACiN^`-v-0_TJ+*+Rl&C+NuMOk^RM9$*YRi-w5{C6I*$iapr0 z@GxU6r*P8Y)1_S0*@9%9;6=PTq6a#$%GEgZ3U2oyls4B%Vn)i-#If`vMWE5eepHGiA*#?7EB+1~l4BYUO%tn4u^+?p1T~vsl_g zQPP|O#Dwug-BqBys{@Ddvy|1sXjGN;(9x<_0w$0j_)o)~=XL2qg)hVD>--Gp(c_F~ zOhagm3e#pnpVWEFGg+zXy-s)ntVROAjPWtY>Ib+E`i;8j$16lMtM_J2+wP;#d4|gR z$*WlM6^@H#WCO&)#ChJ2&b0u~ChoYI0Go;Z5rP?JH+%cq3tCJfb6+1D6%u}HC*-Bf zqrAq4FrorY26Ie3k<84ii77fZF(5sDJO)Z3+2B-5FD?>ByhRX8Rf7%9S$NJ}eZR}} zBc)J*fK-?`xJZkjk}wR?1`-jj#70Q;X>P;v>5V#i{o5Uj%rQQ@Iaucc*-YAO)q49O z4B}7c<2GA9RSnk{nMu7jD)-65^IjQp8z~A9N$}GObXoVumXu`r_ixIGt;EkAKZGsw zad~b^6ns5wrkB}27Le?{p+)x~PDy3@s84HL^E!sdf!0`M2IhT3)%lD*zS7fv?P(Al zS@}F29&1-FiyiDbXY)eiWU0eFiYkOR8%f7O z7w%A-ny9jGV?w*Iwr+LySG_BS*9qbQ0|AME{=41*E>Z!c-|HRVk01_uR<@Q#@Be%0 z;O{>|{_l^>tPPD^XiXihEX!28tZ`XUxFvMt4u;8m3N&JOgitQOb;l&A;<%&EzY6Du zWj1uGVX&;`uQp-exg)ramziIimpMHgVfjx?EVQbc2>7E+PG?+)G+NCKhZBE%BdQya_yS;%% zvJPSv=u8rEsJcDAa$~K0Qa@@+g=^G&Nx0vusw(i!Uo*XL>`5$Mt%ZCiGSVtbbou;H zjFPW<_ra0EQbo^6*=$K&C*;jrxXeVmIq(@COJ-Lgv;uIjCuGWvr#xPX_;ZQ8670L; zBxP%U{Z2Jy-uEZxO54nOb$$6xnDeQw6Q8e{XxY_kOe~B;Ju9s_%gFrC(d_M96eYAj z1vl>n5TXvmND9auS;}n*5(~SdB1{=x*HRLGw#copPQo539)QQRaA(-=R24yB7b#br zUaniuxFvRbYNi2kO2%;KM+*pT`%+A$Ii0|PgFx3fnw#r3zV+^Y&pY{T**xc6n54UP z?|2OCAPH8)?ilZ#M5LR9#F#HWuDnWIz7unbj!Nv*yMC4H$M!AG3;ZQq+^oppA5T=4 z5ypadC$ZpS8379$VP&HP#3@h&+*aPb3kYm2SnqrMjb(Jhdy=7}5u}Kr4MQ_nr|&kQ zXDt^&nIFYRH9n>Gpl8-JNXIU9MNT3#e99G55l4&mGC4pTI+t1-lTBdjUb{PllJy@s%j;*9)Wkj&UGK4HFaOQz`GD@jNEO zBXxtADO(xJj4L+JL_~zY;9^buAnl3^LpH$KSM%?Rk%1;dzNCtc(cXXo?}}6FH-@1f zwOp<<@Yw7T-JgI&Up8>WcWM(DI~DbF#EdDlOIS#*7F-O;9&0o zo13wv?Dl6TXFB_ONB@%fffZL6mQW#5{(XMoy`y*coY$rUsFs!@P#lhtH49@L_SEBi zkE2klx_L+uy6-J>O#5FVDR64!^4{(0kqji+=EA6lxrJVO%3^L|&6f^BM^?e&2o0j) zP$_{hJDPqb3bn1V@v9cJ6#W>~k~b9-CAA;9oXiR@d2<)}W2Nk5UR0)wx4A^*ea?+R zu)t`!JJufl^XY50x9jp#TCoTUHyk4?E2QPL-zmR9X9=GYsHS*0c^8#m*Y@Q{7<2~WZ!upvJI>ki zH9vAka6S?-{Q_QqYb*QNPHLfRDiG(sdTOm$lb5Uz&H{UcxHIsR9~9^868N6hr`pPp z{9SAo%(!)fn6soWbZ_{U_;7x}zzgfG)exQX`qq@6u$PygK+dkNc)uBr$yJ?Lm;0`x z-g04NVO3Ie>=+>2Y{0x#kq!xIpFRlsoy_Qut! z!YE~KhMho_mjpB}gL|O&1_^zgdf|V0Jbs@gciN5f+ihWzMlAg<0MO-FV+qqZ|_UA@&ZStdgSf zG!iN0--20{9-@5z`t~jpqTkK_ixcvv$R+3SzWuc21HFi%@mswE@YLwq@S-bJ?J;If zK2m*a`sGovJ150{tsE_lOw9^!(^ z3B_^8rGRI%>>^6H0zT=!wT`->E`I1;;iY)FV@=P>m#HXnN!q_7EWoG)VW>YTsv58cC|S1a+z5Ji~#izRhF?pHu?bjvUHUbUgu_ioGt(j zB>+5?kL6Pv8u6GO(i8Y2uQjSKNma6|cb<>Q5Psk-jWE^dc#-)AoGa;?e2CM=85 zD39TSZko;TR{i-vt0UrDM$-&Bz1bmgiwpvZ2(T=}@pvGhHAE?QS;~L3)@nLc49Ui& zxk)~IQvc{ej*CbaX2Q&+MXo=47a(d~6u}rgO{g-PG@fg+4}Nz+nj%J|eS-Tvm=R`P zUU&VKp2(=2cV0i_V9&y{O#}F4Vu`QEaVb?Nx-B-(?&)yvp2uBNBiF}#H9JpVDvd0^ z>)y`D8e$6taA+&rC*s~3H&mPCUG(TOA| z2naf$7xw?vxpHuHwKQ^|HE?hk0c_h_Vgu}=ehFdPLK7|i(wZ-a zW0FCg?1#05mJHS)05MFOgL3KTSHPf5XuLbT6b7rwL3{ls-`3TRr5QVF(Qf+d0wPX? zFPcD)P6RnWlGiJ=5C!Q^6mm?m6tHRx1bk6_g*$uM>jF?EkW-EzW5zXV$3L3#n6Nr) zR)A@y+g$lXR`&ggmWvwcGK?~cD-)0hd8ij(5NJeJ} zRzsnF7wQPopHXI*1)lf;aMAtBsM(f8uAK`A|225-kFdcjgmCf>oya~}uG>CdVMeRr z@u1hYVg>2-(MgQb@%luPN#P<^q~Wj|~ zWee=s{G9#1(e@1kN;E+$L_T?Grj~pH4Z6@>GNfP)%D0U45Kr3FbusnHpuQ>8D*5?&cIPT;A+3V?&0Zja)!KT!Ys+XTB@>GrdtT4cMxO|B6jw0=AwNQkZ z{8FO%#2N?Wldf$8S8)mAY~t;>5%4VEea=nm$xp z7i2nshKzT{LMBLlnzWEkNPvq7_hbhg^qLK0W}2|VRCq;ZbaQW|bA)fc6xtyg3uE<( zY4=ZLT)s|2Hfr=q#BkW$ zj}g5^(W#9}nMS+oU%+T~e^BZZDZIUvPePJtm|u+9dArp35b6gDWAfuGoWd+&dV)pF z?sR)@;)iX4B!ZoX3~p4Ph_AR|ZC>Qcd?7iyt6w6#m5^-~9(8?ZLy5nrJr2;|)8==Z z6zQ^)EwW_shnAH^i3Q_F98)mRxcoW`p%Vo<*vX>;4*uR!{TyfPuj#83K@ot zhz5=Qqp=I4-{4itTn`RgOM5E(`*LB{C?+|L+?h@r4BeMgK2;jb>bEZ^ZrxS`a3y{3 z%->1uY$Gnqn&B{WYpxDDYt$7~W7RoVe;4`TEaS@;HgR|yZV@xP-cg3&=fR79!HJ2j z+FfuJ82W5yD!61i$doMKmIGrD-DlY312`+xjeXW-+<77VHe_BNVV$jw(K|y+-9F7q z#!3ImFkO=4(lC@bi3^NAjiMM@wa7JBy2QD%o!0N3Cx@#0)PQQ({$_G#VPbOV{_%?;8Sq1Y&BXx5zV%ZLUh*{6|`4@pNNsu~+B$TxL%9}?`lB83&Wq+WCC{7ky0VDt=#OPi zv$~~0t(H9%5{=&QPzoHVvGw>b#3@Z4YC&c6Ov?uZsw6EUce(a)qO@!zKb(u(} zZsguY?uGd_U9e?I1&Owh8ouC?G1tCh#l}hFSi57!N*Uy7Zn)de2!kkO)_#rLLb)i^9Obt;Z#N< z0~IdaiMxuY&ua@7UKx!HaFrT%VD8V$4r5*?nfdmRI=0qp3-h0GD46#-Z%$nHcFiYM zx>A%x(2c)Q>Ksdv;d#_aEHpTDTs-wZj+yoP)~C86iHhgc!6LiX5NGA0B!85VBh1WD zDsg5LfC~@0FtY=eoch8jD!H*Gf_*zpKyTX4|PtwF_Lz)K2fSY?cDT?p7@fL zY0;F|3+s>p?c$;@@lIsQEK%J{=2cN*fBsxuDGTiIp3TWPLiw5uEx-xaW*jbR8cM?# zz9`o;dQ3KHO((67rdLzXj*Q<%Hf4;Lpv|D4&dw_J4vo}BEq}Ere&6A6rC&j&84+Z& zrWLuKG%>TkyGh+bUKQ213V0mS*v)}IB6)X-!}&?ODgA^ z6FZ_#7ax9x{wQqp0cFy!5LK*j*p{EU6_3}dYf3NGzO}6-gVFt}o;y6S_Yr@{k@`cH+Hg zt6kZaKYv|XCbB@cJmtZtVAwXwT=vQ0xhfg_?B3i%-HbOiH17p@fL~w{RdCVMhj32g zreU+rR<(%TcRk?&J;ceH8RlJrf6!*m)OfNHVMhA#xGSQkNPh;kw9V@1GPkHrrAiS7 zkD@TUJe^<3P0TB)Yrn77^8A)Y7q(znnR(C(#bu=S3Id!|fZ@ z>lXTIZjfvSKfW46t&25`FFx8zpvQ5gT0E!%CTD%Ak!?N>l~d}eH+}w-`oc?fAc`<;G|tqCwQ6c z)QvZy_sGQ!8yeF}EUBmG&LOTy$TR1w%PoZydyDb)FgoyBVyollz-Aj0mn0RiV)32& z|C(Bc_&LP1H~2s1l>t|N{q+k23nN1_M;m)uM~46KD;tG&{WA)|^zt=;>vM zRFaD|a`97y+f%HEWpfE^%Lg+)RX4`ioXdkvnDJk5L)tFZUyP%HkP$}0v#dWEJQW*e zU#=XdOv^jlRaxY|Xj00telGFr0HaHUu zIfJ-DE-<{N%!(9rR_y9yXDap2l#ar)6m2K#ITdpLMx!KLkT*E`$)R$&xc?w`Ar7l< z8$6UQQz2b20&9G8zW|ASG|h%mT-i|l2P4PT{L}J1ZG9h2%qr|ss*bpnK%c^3LO%jk zJ3Y$CS%w#I>^@T%luO^HMn6yUj=fB2@uwdDg#*Zpw zqb$i#vFrC!f^rO+rBt&?NVuCmI;Qc6$o=BYv}=cUMT}4VLiSaT3B}}eziv`v?`wr! zRJc_cmt3xe*Mj&=k#a`xjB1(mj`mTdOZbYf{yFYmb=h__JdTWr`y{8n;;8 z$Ti&!yc*f9`?2Oc!Gl-$jAyn`uEf?k`%1v$)f#IC-eUH#VE>@YBa%NQ;+R0%EPNSa z{yopfUT5$n2RwB|1XC@cxuaQB{{l6Qc%~o2Hg;&-?uF=N6(1t0lDYB0s12=08#&J_ zJ{5a>s$j}x_M6d4N}(8IMhtSVO`@BiGOA^8*%g^z#_CW&>3;)VX8nD5fDXHzn}U%~ zeo|>-21zsPz};J#rQg<`!ut0=gwC>sB?kxbaSK=6esE^Nj$9&!2K5wUb&H<@#zuVA4(`q*);(3Tl&o=+-u2m}2C=cK1NDw5{#6YnO9BEwV2_tz*Jkp-^u zdL;@KueF?w5Ghu)PI6hQN$^HW*60JM6KAE;8L;=d_ayFLKMGScYQCakBH*~!!((f= ze`q9kZ?weraS)4Xb8@})qDC%BBdx!zWH$K$`7@x#ne#Qw0rZUo%ohD`i~L-M`)H*9 zbD5a-KX!>w0?ZV#AU#t*h2qfpNPkXZv4EE3_q7%dgdCX#861DDg)u& z^7#~8Y@zCtWpc*=$I6d0?M%+Z{(cHvz=WeYlRsTUPn&{OKV3=G`u5Br>)l{U94pp0 zUd@Gx8JG^Wm3LEM2#{PpG?t*e76_mp)}zPEDk-=QD`xpgl?z6EkTy0wysrCa)FxPU z@f^Q_D;cS+>F3Tj=hS-^RVBEY4AIE(2qksfr4;CsLg*KoqZgW~hl**kj;`6A8(RJ`~=|FJC zxLRuMQsSwebnIk&u|;p!;WQJKP@Wyn$Ja1=CVzVhdXro+f!r)Ze-UDv71?v+Ax=Z! zC(>EiW+fZ}xr#7L-^J-783(0eSys*`YwET-%x`GM@L5BBPC~%|GHRTnN3l!ZTwvbN zEcLVAN1cFb48+0jZ${U53*<%z@EMV|&0~D$nbSSd@y$f=h07lg#MHW-g4T)XQlaol zIh8(k;t721Qa3|@^T({8(}*>#vz;V(zpIW?#4)Sxa{o2xQpcA@I6n`A;GWQnmn-y((z$zbhhX-t6aO)ylF{WSF?>2xn*soNFOJ-WkD!a2I*8xQF?Qu;=( zqOh9vbkeHV9mCmR&LqZNm@W5qFy>###y*MP>!@|_FeP$6b!p5?dssc-BPh@}*{o5$ zdwDJo?~`(|+$?hGm!9QXy9;=JkilUSkJ}!OcR<7Hee`g9p?#(puJ-30Q!GU2E};`ceps&k+7#iVB__;QTWIVQD;vd!V~$mg#7405 zamXUlYO{C|(Ke}QN+fxUm_Te}g|-4S8n2kX&zxVTiIaI7{+mbqB|ymn3{chyO+8j&0EYx{Mdf+;3|Q1Wu7$>#Gq5Pd-%|m zwQEBbVL6fjtv&1v_BM8*sCVENLh=KN+U^xisFqSzAPGF*H5cIavnkguy~?ld((i+~ z*pJD$R|VP+lM-E|nO=*h9~18&x^tcOSUbwVet0la4Vcn>#?N!G%k%{OGen#u8p>@0f~FW>#LiwObU zt&f1e{k_Z&h!h}%AbGw&|CbaK6p~gDqO~&oJzt^r^$i~+2nac#F9-Ycr+=lN`BVWk zc_ID}Qvc2NH(2YpeJg+m3;&gnK#uvx0F=MaEd29RKl9i+itbba=D}M5BBK5~%U>e? z_)nhybOQ|m9l?JBem;V@D!}LtZwCn?Muq|MGZ6lre#*K7kpAzF{s&v>9zX_M zfDAw1ar`^|RG|$xK+hP^@cm91#Mu~3M+5=cr2L&?=nGT~y`LB4{!UqA*Gu346tV(9 zKdgU?@|Qh?qk&T#el8LHj;ZhVbrb<09s&CNs#1SEaLmuU!+xhA4GYg_0|o=T^uJRS zvw%|cfA$D|r#SfcSyKZjc5J^>I4gitex9TGor1Di&~ORxGeST`{Z*r~cHk5TAe4YM zos%&@y@V(IowC;rlwzOs$cn2SpP9PI(*yP5~y1L}JD?B|w%RguhevSAbFs zfyqL`k7YsuC}{-1xul;*lm1SB#ftC1DMmB~ra+Y9iAVsg1&9;>hf+hA{{sYsvWK*` zEe%-2RAc&Gsjr|=z|Kt>SpuQJZ#oM8j7ax*e<+0loMKI*=L7^a-ZBbn0a$cB1H_hJ zt)qqWzd$DXKtLfgj3UJVi6Q_ue*9YfkV*ar2nc2Gdc<%N;N4+>9`>&kP-@^58z7YG zJTdefK)iAS#H(MG!lDOGaiB2(23kEMVfq3na(0s6#erb_A0Qy&Y>C?KRRSpUguhcR z0Pp4kIVxuaEMie*o4vXQmhPDTw$}j?|%&*o}4**U9X59zy669P!+@pH;I|VlgD8=;WrrF=^a^y$tjs+;A zpg(FIWCCysFze1TeD(7I*kur~efL+53_k;>0JE-cDjb$4KqKBiWT7krP61|@*1~G6 zYe3u7^+(%u+zg!J3dAlD+OwC10J|Lgp%Fy~P>Pu$5Q>8Agg`pLE(3qmI`m=S6ky&+ zeT&4G1?bF}ll^Yp+c}^Vb6|cn_eybs9^liUfcELvGFsUMPH_gJQA57WWgnn78~~8# zSBl~xP>O{W5K5UM9acDiasw#sUn#ohz$w6bA;(fP@Z|sk-5=h_a08qIEbb!huQY)G zN_r5`y!|Q*86-5Yh-m?=))Bt`dIbrvN!}kNZHWYwVhOCIbL8Yg9RM1E{NVu&_`oT^ z%7}Ii+2RL4Bg;S909$IH6f0moqEuhKy&ynqEf46%|7w>aHlP%1U`;i=HKWD?pvD>e z5xt%HfKz})se<9c z;NP!y=`sXLu`vMR0dR(gCtHA$2K%GFyfFq!u?414#Uq1Z0ze~4fCv2A`QUK`PI08s z2Nrr;r+Y{00U)M7Dju%y{{R6|3Y*sexd%XL{lg(KBY{%vff+cc2WO@iFhr?k_}#!n zX}~GK91;d$cEkkG3{d^i3{aNE{ro z;~Q{_Jq_Sm1z_=)`pOvX1W-`WG`|Zpw)j6#Km@`lYf20SR2rT?yb}BnI0abD>z0yD z=>WvvdDh=$nYsZ=aRfH(YR}YhpaT@rFyO}TUkhp;3Ib4il4bALdW9i$jw;a_E$AplMR)}s9LdEj3u>SRDEPQYdj{`vOMuM|sq;1pnX z`R9G=zfzR=fm49l<)7C*{z~bW1Wo}qoAS@=MSi7Ns{*C`by4K+j{VPLYrn?d55_<# z|Gt>ypP-+Ulm9%21n`A_cqM})%r9r&{>}*q1Az4V5u~5zl>SaXC)|piVg7q+>DRf? ze{O&Nb)InSznT7fis^T0|G8)P=N{?5)6W=^ { diff --git a/admin/src/pages/News/activity/components/Form.vue b/admin/src/pages/News/activity/components/Form.vue index 897cdfa..c745dab 100644 --- a/admin/src/pages/News/activity/components/Form.vue +++ b/admin/src/pages/News/activity/components/Form.vue @@ -35,7 +35,7 @@ onMounted(async () => { fileList.value = res.data.imageList.map(item => { return { uid: item.uid, - url: 'https://prodio.zltest.com.tw' + item.url, + url: item.url, } }) } diff --git a/admin/src/pages/News/list/components/Form.vue b/admin/src/pages/News/list/components/Form.vue index 4e6e9d0..15a5f12 100644 --- a/admin/src/pages/News/list/components/Form.vue +++ b/admin/src/pages/News/list/components/Form.vue @@ -6,7 +6,7 @@ const editor = ClassicEditor; const editorConfig = ref({ simpleUpload: { // The URL that the images are uploaded to. - uploadUrl: 'https://prodio.zltest.com.tw/adminapi/article/uploadImage', + uploadUrl: '/adminapi/article/uploadImage', // // Headers sent along with the XMLHttpRequest to the upload server. headers: { 'X-CSRF-TOKEN': 'CSFR-Token', diff --git a/admin/src/pages/News/list/form.vue b/admin/src/pages/News/list/form.vue index 11d7b0f..042b49c 100644 --- a/admin/src/pages/News/list/form.vue +++ b/admin/src/pages/News/list/form.vue @@ -9,7 +9,7 @@ const editor = ClassicEditor; const editorConfig = ref({ simpleUpload: { // The URL that the images are uploaded to. - uploadUrl: 'https://prodio.zltest.com.tw/adminapi/article/uploadImage', + uploadUrl: '/adminapi/article/uploadImage', // // Headers sent along with the XMLHttpRequest to the upload server. headers: { 'X-CSRF-TOKEN': 'CSFR-Token', diff --git a/admin/src/pages/Product/list/form.vue b/admin/src/pages/Product/list/form.vue index 850610a..69b7c00 100644 --- a/admin/src/pages/Product/list/form.vue +++ b/admin/src/pages/Product/list/form.vue @@ -11,7 +11,7 @@ const editor = ClassicEditor; const editorConfig = ref({ simpleUpload: { // The URL that the images are uploaded to. - uploadUrl: 'https://prodio.zltest.com.tw/adminapi/article/uploadImage', + uploadUrl: '/adminapi/article/uploadImage', // // Headers sent along with the XMLHttpRequest to the upload server. headers: { 'X-CSRF-TOKEN': 'CSFR-Token', diff --git a/admin/src/pages/Site/config.vue b/admin/src/pages/Site/config.vue index 03d2f3a..01d7d61 100644 --- a/admin/src/pages/Site/config.vue +++ b/admin/src/pages/Site/config.vue @@ -20,7 +20,7 @@ const editor = ClassicEditor; const editorConfig = ref({ simpleUpload: { // The URL that the images are uploaded to. - uploadUrl: 'https://prodio.zltest.com.tw/adminapi/article/uploadImage', + uploadUrl: '/adminapi/article/uploadImage', // // Headers sent along with the XMLHttpRequest to the upload server. headers: { 'X-CSRF-TOKEN': 'CSFR-Token', diff --git a/admin/yarn.lock b/admin/yarn.lock index 365340c..3f99cc5 100644 --- a/admin/yarn.lock +++ b/admin/yarn.lock @@ -93,6 +93,13 @@ dependencies: ckeditor5 "41.0.0" +"@ckeditor/ckeditor5-font@41.0.0": + version "41.0.0" + resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-font/-/ckeditor5-font-41.0.0.tgz#a04352cbf88d931a4366dc72f8226ba5eb5e4c27" + integrity sha512-1AbJvWOs0c56O2ARyMGWybsy5fW/9EB7pOcTKeiXaDYZsligb+iOYsUL0XqOdi0v8tibl4l1y49QIJ25TO2N7w== + dependencies: + ckeditor5 "41.0.0" + "@ckeditor/ckeditor5-heading@41.0.0": version "41.0.0" resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-heading/-/ckeditor5-heading-41.0.0.tgz#7b6451a032eb137ac5d9dfceae3abaa9ac30f7e0" @@ -653,6 +660,7 @@ chokidar@^3.5.3: "@ckeditor/ckeditor5-cloud-services" "41.0.0" "@ckeditor/ckeditor5-editor-classic" "41.0.0" "@ckeditor/ckeditor5-essentials" "41.0.0" + "@ckeditor/ckeditor5-font" "41.0.0" "@ckeditor/ckeditor5-heading" "41.0.0" "@ckeditor/ckeditor5-image" "41.0.0" "@ckeditor/ckeditor5-indent" "41.0.0" diff --git a/app/app/adminapi/controller/ActivityController.php b/app/app/adminapi/controller/ActivityController.php index 6a22171..883a76d 100644 --- a/app/app/adminapi/controller/ActivityController.php +++ b/app/app/adminapi/controller/ActivityController.php @@ -20,7 +20,7 @@ class ActivityController extends BaseController $list = Db::name('activity') ->where($where) - ->order('id', 'asc') + ->order('id', 'desc') ->page($page, $pageSize) ->select() ->toArray(); diff --git a/app/app/adminapi/controller/CateController.php b/app/app/adminapi/controller/CateController.php index da8ca46..9623503 100644 --- a/app/app/adminapi/controller/CateController.php +++ b/app/app/adminapi/controller/CateController.php @@ -152,7 +152,7 @@ class CateController extends BaseController $filename = uniqid() . '.' . $file->getUploadExtension(); $file->move(public_path().'/storage/category/'. $filename); - $savePath = getUrl().'/storage/category/'. $filename; + $savePath = '/storage/category/'. $filename; return $this->Success($savePath); } return $this->Error('操作失敗'); diff --git a/app/app/adminapi/controller/IndexController.php b/app/app/adminapi/controller/IndexController.php index e307eca..d3c6519 100644 --- a/app/app/adminapi/controller/IndexController.php +++ b/app/app/adminapi/controller/IndexController.php @@ -120,7 +120,7 @@ class IndexController extends BaseController $filename = uniqid() . '.' . $file->getUploadExtension(); $file->move(public_path().'/storage/banner/'. $filename); - $savePath = getUrl().'/storage/banner/'. $filename; + $savePath = '/storage/banner/'. $filename; return $this->Success($savePath); } return $this->Error('操作失敗'); diff --git a/app/app/adminapi/controller/ProductController.php b/app/app/adminapi/controller/ProductController.php index 6f0390d..ef6a245 100644 --- a/app/app/adminapi/controller/ProductController.php +++ b/app/app/adminapi/controller/ProductController.php @@ -149,7 +149,7 @@ class ProductController extends BaseController $filename = uniqid() . '.' . $file->getUploadExtension(); $file->move(public_path().'/storage/product/'. $filename); - $savePath = getUrl().'/storage/product/'. $filename; + $savePath = '/storage/product/'. $filename; return $this->Success($savePath); } return $this->Error('操作失敗'); diff --git a/app/app/adminapi/controller/SupplierController.php b/app/app/adminapi/controller/SupplierController.php index d1f3c76..60c6123 100644 --- a/app/app/adminapi/controller/SupplierController.php +++ b/app/app/adminapi/controller/SupplierController.php @@ -130,7 +130,7 @@ class SupplierController extends BaseController $filename = uniqid() . '.' . $file->getUploadExtension(); $file->move(public_path() . '/storage/supplier/' . $filename); - $savePath = getUrl() . '/storage/supplier/' . $filename; + $savePath = '/storage/supplier/' . $filename; return $this->Success($savePath); } return $this->Error('操作失敗'); diff --git a/app/app/common/GetData.php b/app/app/common/GetData.php index 29cd996..9e8b384 100644 --- a/app/app/common/GetData.php +++ b/app/app/common/GetData.php @@ -32,12 +32,12 @@ class GetData{ $list = Db::name($db) ->where($where) - ->order('id', 'asc') + ->order('id', 'desc') ->page($page, $pageSize) ->select() ->toArray(); - $total = Db::name('activity') + $total = Db::name($db) ->where($where) ->count(); diff --git a/app/supervisord.pid b/app/supervisord.pid new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/app/supervisord.pid @@ -0,0 +1 @@ +1 diff --git a/docker-compose-dev.yaml b/docker-compose-dev.yaml new file mode 100644 index 0000000..f5e3fad --- /dev/null +++ b/docker-compose-dev.yaml @@ -0,0 +1,66 @@ +version: '3.8' + +services: + nginx: + image: nginx:latest + container_name: "prodio-nginx" + ports: + - "6060:80" + volumes: + - ./nginx/html:/usr/share/nginx/html + - ./nginx/nginx.conf:/etc/nginx/nginx.conf + - ./nginx/default.conf:/etc/nginx/conf.d/default.conf + - ./data/nginx/logs:/var/log/nginx + networks: + - internal + # web: + # build: + # context: . + # dockerfile: ./nuxt/Dockerfile + # container_name: "prodio-web" + # ports: + # - "6061:3000" + # volumes: + # - ./nuxt/app:/app + # networks: + # - internal + api: + image: krisss/docker-webman:8.2-cli-alpine + container_name: "prodio-api" + ports: + - "6065:8787" + volumes: + - ./app:/app + networks: + - internal + mysql: + build: + context: . + dockerfile: ./mysql/Dockerfile + container_name: "prodio-mysql" + networks: + - internal + volumes: + - ./data/mysql/data:/var/lib/mysql + - ./data/mysql/init:/docker-entrypoint-initdb.d + environment: + MYSQL_ROOT_PASSWORD: 1qazvfr4 + # redis: + # image: redis + # container_name: "prodio-redis" + # networks: + # - internal + phpmyadmin: + image: phpmyadmin/phpmyadmin + container_name: "prodio-myadmin" + ports: + - "6069:80" + networks: + - internal + environment: + PMA_HOST: mysql + PMA_PORT: 3306 + UPLOAD_LIMIT: 100M +networks: + internal: + driver: bridge diff --git a/nginx/Dockerfile b/nginx/Dockerfile new file mode 100644 index 0000000..1e9161e --- /dev/null +++ b/nginx/Dockerfile @@ -0,0 +1,10 @@ +FROM nginx:latest + +EXPOSE 80 + +ENV TZ=Asia/Taipei + +COPY nginx/default.conf /etc/nginx/conf.d/default.conf +COPY nginx/nginx.conf /etc/nginx/nginx.conf + + diff --git a/nginx/default.conf b/nginx/default.conf new file mode 100644 index 0000000..a722c72 --- /dev/null +++ b/nginx/default.conf @@ -0,0 +1,96 @@ +server { + listen 80; + listen [::]:80; + server_name localhost; + + location / { + root /usr/share/nginx/html; + index index.html index.htm; + } + + #error_page 404 /404.html; + + # redirect server error pages to the static page /50x.html + # + error_page 500 502 503 504 /50x.html; + + location = /50x.html { + root /usr/share/nginx/html; + } + + + location /adminapi + { + proxy_pass http://api:8787; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header REMOTE-HOST $remote_addr; + + add_header X-Cache $upstream_cache_status; + + #Set Nginx Cache + + add_header Cache-Control no-cache; + } + + location /appapi + { + proxy_pass http://api:8787; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header REMOTE-HOST $remote_addr; + + add_header X-Cache $upstream_cache_status; + + #Set Nginx Cache + + add_header Cache-Control no-cache; + } + + # location /adminapi { + # proxy_pass http://api:6065; + # proxy_set_header Host $host; + # proxy_set_header X-Real-IP $remote_addr; + # proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + # } + + location /storage { + proxy_pass http://api:8787; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + } + + location /home { + proxy_pass http://web:3000; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + } + + # proxy the PHP scripts to Apache listening on 127.0.0.1:80 + # + #location ~ \.php$ { + # proxy_pass http://127.0.0.1; + #} + + # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 + # + #location ~ \.php$ { + # root html; + # fastcgi_pass 127.0.0.1:9000; + # fastcgi_index index.php; + # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; + # include fastcgi_params; + #} + + # deny access to .htaccess files, if Apache's document root + # concurs with nginx's one + # + #location ~ /\.ht { + # deny all; + #} +} + diff --git a/nginx/html/admin/assets/AdminLayout-393d7c5f.js b/nginx/html/admin/assets/AdminLayout-393d7c5f.js new file mode 100644 index 0000000..d65d48d --- /dev/null +++ b/nginx/html/admin/assets/AdminLayout-393d7c5f.js @@ -0,0 +1 @@ +import{_ as te,a as ye,r as Ae,h as Ct,T as Mt,i as be,u as Xe,b as wt,c as Qe,E as oe,d as ze,m as Ne,e as Tt,f as Oe,g as xt,j as Et,k as At,l as St,p as kt,n as Fe,o as Bt,t as It,q as Pt,s as Nt,v as Ot,w as Ve,x as $t,y as Dt,z as Ht,A as zt,B as Ft,C as Vt,D as Rt,F as Yt}from"./el-button-e2db9d24.js";import"./el-tooltip-4ed993c7.js";import{E as je,C as Wt}from"./el-scrollbar-5933f25d.js";import{t as Me}from"./el-icon-08628b36.js";import{E as Lt}from"./el-image-viewer-e3399f62.js";import{s as Xt,i as Qt,d as D,u as V,o as E,c as q,w as _,r as L,m as qe,t as jt,a as x,T as Ue,b as Ke,e as T,f as R,n as ee,g as Te,h as $e,j as re,k as pe,l as ve,p as se,q as k,v as xe,x as U,y as _e,z as he,A as Ze,B as W,C as ue,D as De,E as Je,F as ce,G as me,H as qt,I as Ut,J as ge,K as Kt,L as Ge,M as F,N as j,O as fe,P as Zt,Q as u,R as Re,S as Jt,U as Gt,V as et,W as Ie,X as Ye,Y as en,Z as tt,_ as nt,$ as Pe,a0 as tn,a1 as at,a2 as nn}from"./index-7ed2d026.js";import{_ as ot}from"./_plugin-vue_export-helper-c27b6911.js";import{E as Q}from"./aria-60e0cdc6.js";import{t as de,i as We,U as st}from"./index-dc664f45.js";import{f as lt,E as it,a as rt,b as ut}from"./el-dropdown-item-bbb7be2f.js";import{c as ie}from"./strings-d2b52496.js";import"./castArray-283666ff.js";const an=(e,a,n)=>lt(e.subTree).filter(s=>{var i;return Qt(s)&&((i=s.type)==null?void 0:i.name)===a&&!!s.component}).map(s=>s.component.uid).map(s=>n[s]).filter(s=>!!s),on=(e,a)=>{const n={},o=Xt([]);return{children:o,addChild:i=>{n[i.uid]=i,o.value=an(e,a,n)},removeChild:i=>{delete n[i],o.value=o.value.filter(g=>g.uid!==i)}}},sn=D({name:"ElCollapseTransition"}),ln=D({...sn,setup(e){const a=V("collapse-transition"),n=t=>{t.style.maxHeight="",t.style.overflow=t.dataset.oldOverflow,t.style.paddingTop=t.dataset.oldPaddingTop,t.style.paddingBottom=t.dataset.oldPaddingBottom},o={beforeEnter(t){t.dataset||(t.dataset={}),t.dataset.oldPaddingTop=t.style.paddingTop,t.dataset.oldPaddingBottom=t.style.paddingBottom,t.style.height&&(t.dataset.elExistsHeight=t.style.height),t.style.maxHeight=0,t.style.paddingTop=0,t.style.paddingBottom=0},enter(t){requestAnimationFrame(()=>{t.dataset.oldOverflow=t.style.overflow,t.dataset.elExistsHeight?t.style.maxHeight=t.dataset.elExistsHeight:t.scrollHeight!==0?t.style.maxHeight=`${t.scrollHeight}px`:t.style.maxHeight=0,t.style.paddingTop=t.dataset.oldPaddingTop,t.style.paddingBottom=t.dataset.oldPaddingBottom,t.style.overflow="hidden"})},afterEnter(t){t.style.maxHeight="",t.style.overflow=t.dataset.oldOverflow},enterCancelled(t){n(t)},beforeLeave(t){t.dataset||(t.dataset={}),t.dataset.oldPaddingTop=t.style.paddingTop,t.dataset.oldPaddingBottom=t.style.paddingBottom,t.dataset.oldOverflow=t.style.overflow,t.style.maxHeight=`${t.scrollHeight}px`,t.style.overflow="hidden"},leave(t){t.scrollHeight!==0&&(t.style.maxHeight=0,t.style.paddingTop=0,t.style.paddingBottom=0)},afterLeave(t){n(t)},leaveCancelled(t){n(t)}};return(t,s)=>(E(),q(Ue,qe({name:x(a).b()},jt(o)),{default:_(()=>[L(t.$slots,"default")]),_:3},16,["name"]))}});var we=te(ln,[["__file","collapse-transition.vue"]]);we.install=e=>{e.component(we.name,we)};const rn=we,un=D({name:"ElContainer"}),cn=D({...un,props:{direction:{type:String}},setup(e){const a=e,n=Ke(),o=V("container"),t=T(()=>a.direction==="vertical"?!0:a.direction==="horizontal"?!1:n&&n.default?n.default().some(i=>{const g=i.type.name;return g==="ElHeader"||g==="ElFooter"}):!1);return(s,i)=>(E(),R("section",{class:ee([x(o).b(),x(o).is("vertical",x(t))])},[L(s.$slots,"default")],2))}});var dn=te(cn,[["__file","container.vue"]]);const pn=D({name:"ElAside"}),vn=D({...pn,props:{width:{type:String,default:null}},setup(e){const a=e,n=V("aside"),o=T(()=>a.width?n.cssVarBlock({width:a.width}):{});return(t,s)=>(E(),R("aside",{class:ee(x(n).b()),style:Te(x(o))},[L(t.$slots,"default")],6))}});var ct=te(vn,[["__file","aside.vue"]]);const fn=D({name:"ElFooter"}),mn=D({...fn,props:{height:{type:String,default:null}},setup(e){const a=e,n=V("footer"),o=T(()=>a.height?n.cssVarBlock({height:a.height}):{});return(t,s)=>(E(),R("footer",{class:ee(x(n).b()),style:Te(x(o))},[L(t.$slots,"default")],6))}});var dt=te(mn,[["__file","footer.vue"]]);const hn=D({name:"ElHeader"}),bn=D({...hn,props:{height:{type:String,default:null}},setup(e){const a=e,n=V("header"),o=T(()=>a.height?n.cssVarBlock({height:a.height}):{});return(t,s)=>(E(),R("header",{class:ee(x(n).b()),style:Te(x(o))},[L(t.$slots,"default")],6))}});var pt=te(bn,[["__file","header.vue"]]);const _n=D({name:"ElMain"}),gn=D({..._n,setup(e){const a=V("main");return(n,o)=>(E(),R("main",{class:ee(x(a).b())},[L(n.$slots,"default")],2))}});var vt=te(gn,[["__file","main.vue"]]);const yn=$e(dn,{Aside:ct,Footer:dt,Header:pt,Main:vt}),Cn=re(ct),Mn=re(dt);re(pt);const wn=re(vt);let Tn=class{constructor(a,n){this.parent=a,this.domNode=n,this.subIndex=0,this.subIndex=0,this.init()}init(){this.subMenuItems=this.domNode.querySelectorAll("li"),this.addListeners()}gotoSubIndex(a){a===this.subMenuItems.length?a=0:a<0&&(a=this.subMenuItems.length-1),this.subMenuItems[a].focus(),this.subIndex=a}addListeners(){const a=this.parent.domNode;Array.prototype.forEach.call(this.subMenuItems,n=>{n.addEventListener("keydown",o=>{let t=!1;switch(o.code){case Q.down:{this.gotoSubIndex(this.subIndex+1),t=!0;break}case Q.up:{this.gotoSubIndex(this.subIndex-1),t=!0;break}case Q.tab:{Me(a,"mouseleave");break}case Q.enter:case Q.space:{t=!0,o.currentTarget.click();break}}return t&&(o.preventDefault(),o.stopPropagation()),!1})})}},xn=class{constructor(a,n){this.domNode=a,this.submenu=null,this.submenu=null,this.init(n)}init(a){this.domNode.setAttribute("tabindex","0");const n=this.domNode.querySelector(`.${a}-menu`);n&&(this.submenu=new Tn(this,n)),this.addListeners()}addListeners(){this.domNode.addEventListener("keydown",a=>{let n=!1;switch(a.code){case Q.down:{Me(a.currentTarget,"mouseenter"),this.submenu&&this.submenu.gotoSubIndex(0),n=!0;break}case Q.up:{Me(a.currentTarget,"mouseenter"),this.submenu&&this.submenu.gotoSubIndex(this.submenu.subMenuItems.length-1),n=!0;break}case Q.tab:{Me(a.currentTarget,"mouseleave");break}case Q.enter:case Q.space:{n=!0,a.currentTarget.click();break}}n&&a.preventDefault()})}},En=class{constructor(a,n){this.domNode=a,this.init(n)}init(a){const n=this.domNode.childNodes;Array.from(n).forEach(o=>{o.nodeType===1&&new xn(o,a)})}};const An=D({name:"ElMenuCollapseTransition",setup(){const e=V("menu");return{listeners:{onBeforeEnter:n=>n.style.opacity="0.2",onEnter(n,o){ye(n,`${e.namespace.value}-opacity-transition`),n.style.opacity="1",o()},onAfterEnter(n){Ae(n,`${e.namespace.value}-opacity-transition`),n.style.opacity=""},onBeforeLeave(n){n.dataset||(n.dataset={}),Ct(n,e.m("collapse"))?(Ae(n,e.m("collapse")),n.dataset.oldOverflow=n.style.overflow,n.dataset.scrollWidth=n.clientWidth.toString(),ye(n,e.m("collapse"))):(ye(n,e.m("collapse")),n.dataset.oldOverflow=n.style.overflow,n.dataset.scrollWidth=n.clientWidth.toString(),Ae(n,e.m("collapse"))),n.style.width=`${n.scrollWidth}px`,n.style.overflow="hidden"},onLeave(n){ye(n,"horizontal-collapse-transition"),n.style.width=`${n.dataset.scrollWidth}px`}}}}});function Sn(e,a,n,o,t,s){return E(),q(Ue,qe({mode:"out-in"},e.listeners),{default:_(()=>[L(e.$slots,"default")]),_:3},16)}var kn=te(An,[["render",Sn],["__file","menu-collapse-transition.vue"]]);function ft(e,a){const n=T(()=>{let t=e.parent;const s=[a.value];for(;t.type.name!=="ElMenu";)t.props.index&&s.unshift(t.props.index),t=t.parent;return s});return{parentMenu:T(()=>{let t=e.parent;for(;t&&!["ElMenu","ElSubMenu"].includes(t.type.name);)t=t.parent;return t}),indexPath:n}}function Bn(e){return T(()=>{const n=e.backgroundColor;return n?new Mt(n).shade(20).toString():""})}const mt=(e,a)=>{const n=V("menu");return T(()=>n.cssVarBlock({"text-color":e.textColor||"","hover-text-color":e.textColor||"","bg-color":e.backgroundColor||"","hover-bg-color":Bn(e).value||"","active-color":e.activeTextColor||"",level:`${a}`}))},In=pe({index:{type:String,required:!0},showTimeout:Number,hideTimeout:Number,popperClass:String,disabled:Boolean,popperAppendToBody:{type:Boolean,default:void 0},teleported:{type:Boolean,default:void 0},popperOffset:Number,expandCloseIcon:{type:be},expandOpenIcon:{type:be},collapseCloseIcon:{type:be},collapseOpenIcon:{type:be}}),Ce="ElSubMenu";var He=D({name:Ce,props:In,setup(e,{slots:a,expose:n}){Xe({from:"popper-append-to-body",replacement:"teleported",scope:Ce,version:"2.3.0",ref:"https://element-plus.org/en-US/component/menu.html#submenu-attributes"},T(()=>e.popperAppendToBody!==void 0));const o=ve(),{indexPath:t,parentMenu:s}=ft(o,T(()=>e.index)),i=V("menu"),g=V("sub-menu"),l=se("rootMenu");l||de(Ce,"can not inject root menu");const m=se(`subMenu:${s.value.uid}`);m||de(Ce,"can not inject sub menu");const d=k({}),b=k({});let c;const v=k(!1),I=k(),N=k(null),h=T(()=>J.value==="horizontal"&&O.value?"bottom-start":"right-start"),P=T(()=>J.value==="horizontal"&&O.value||J.value==="vertical"&&!l.props.collapse?e.expandCloseIcon&&e.expandOpenIcon?K.value?e.expandOpenIcon:e.expandCloseIcon:wt:e.collapseCloseIcon&&e.collapseOpenIcon?K.value?e.collapseOpenIcon:e.collapseCloseIcon:Qe),O=T(()=>m.level===0),H=T(()=>{var f;const B=(f=e.teleported)!=null?f:e.popperAppendToBody;return B===void 0?O.value:B}),Y=T(()=>l.props.collapse?`${i.namespace.value}-zoom-in-left`:`${i.namespace.value}-zoom-in-top`),ne=T(()=>J.value==="horizontal"&&O.value?["bottom-start","bottom-end","top-start","top-end","right-start","left-start"]:["right-start","right","right-end","left-start","bottom-start","bottom-end","top-start","top-end"]),K=T(()=>l.openedMenus.includes(e.index)),le=T(()=>{let f=!1;return Object.values(d.value).forEach(B=>{B.active&&(f=!0)}),Object.values(b.value).forEach(B=>{B.active&&(f=!0)}),f}),J=T(()=>l.props.mode),w=xe({index:e.index,indexPath:t,active:le}),S=mt(l.props,m.level+1),C=T(()=>{var f;return(f=e.popperOffset)!=null?f:l.props.popperOffset}),z=T(()=>{var f;return(f=e.popperClass)!=null?f:l.props.popperClass}),r=T(()=>{var f;return(f=e.showTimeout)!=null?f:l.props.showTimeout}),p=T(()=>{var f;return(f=e.hideTimeout)!=null?f:l.props.hideTimeout}),y=()=>{var f,B,$;return($=(B=(f=N.value)==null?void 0:f.popperRef)==null?void 0:B.popperInstanceRef)==null?void 0:$.destroy()},A=f=>{f||y()},M=()=>{l.props.menuTrigger==="hover"&&l.props.mode==="horizontal"||l.props.collapse&&l.props.mode==="vertical"||e.disabled||l.handleSubMenuClick({index:e.index,indexPath:t.value,active:le.value})},X=(f,B=r.value)=>{var $;if(f.type!=="focus"){if(l.props.menuTrigger==="click"&&l.props.mode==="horizontal"||!l.props.collapse&&l.props.mode==="vertical"||e.disabled){m.mouseInChild.value=!0;return}m.mouseInChild.value=!0,c==null||c(),{stop:c}=ze(()=>{l.openMenu(e.index,t.value)},B),H.value&&(($=s.value.vnode.el)==null||$.dispatchEvent(new MouseEvent("mouseenter")))}},Z=(f=!1)=>{var B;if(l.props.menuTrigger==="click"&&l.props.mode==="horizontal"||!l.props.collapse&&l.props.mode==="vertical"){m.mouseInChild.value=!1;return}c==null||c(),m.mouseInChild.value=!1,{stop:c}=ze(()=>!v.value&&l.closeMenu(e.index,t.value),p.value),H.value&&f&&((B=m.handleMouseleave)==null||B.call(m,!0))};U(()=>l.props.collapse,f=>A(!!f));{const f=$=>{b.value[$.index]=$},B=$=>{delete b.value[$.index]};_e(`subMenu:${o.uid}`,{addSubMenu:f,removeSubMenu:B,handleMouseleave:Z,mouseInChild:v,level:m.level+1})}return n({opened:K}),he(()=>{l.addSubMenu(w),m.addSubMenu(w)}),Ze(()=>{m.removeSubMenu(w),l.removeSubMenu(w)}),()=>{var f;const B=[(f=a.title)==null?void 0:f.call(a),W(oe,{class:g.e("icon-arrow"),style:{transform:K.value?e.expandCloseIcon&&e.expandOpenIcon||e.collapseCloseIcon&&e.collapseOpenIcon&&l.props.collapse?"none":"rotateZ(180deg)":"none"}},{default:()=>ue(P.value)?W(o.appContext.components[P.value]):W(P.value)})],$=l.isMenuPopup?W(je,{ref:N,visible:K.value,effect:"light",pure:!0,offset:C.value,showArrow:!1,persistent:!0,popperClass:z.value,placement:h.value,teleported:H.value,fallbackPlacements:ne.value,transition:Y.value,gpuAcceleration:!1},{content:()=>{var ae;return W("div",{class:[i.m(J.value),i.m("popup-container"),z.value],onMouseenter:G=>X(G,100),onMouseleave:()=>Z(!0),onFocus:G=>X(G,100)},[W("ul",{class:[i.b(),i.m("popup"),i.m(`popup-${h.value}`)],style:S.value},[(ae=a.default)==null?void 0:ae.call(a)])])},default:()=>W("div",{class:g.e("title"),onClick:M},B)}):W(ce,{},[W("div",{class:g.e("title"),ref:I,onClick:M},B),W(rn,{},{default:()=>{var ae;return De(W("ul",{role:"menu",class:[i.b(),i.m("inline")],style:S.value},[(ae=a.default)==null?void 0:ae.call(a)]),[[Je,K.value]])}})]);return W("li",{class:[g.b(),g.is("active",le.value),g.is("opened",K.value),g.is("disabled",e.disabled)],role:"menuitem",ariaHaspopup:!0,ariaExpanded:K.value,onMouseenter:X,onMouseleave:()=>Z(),onFocus:X},[$])}}});const Pn=pe({mode:{type:String,values:["horizontal","vertical"],default:"vertical"},defaultActive:{type:String,default:""},defaultOpeneds:{type:me(Array),default:()=>Ne([])},uniqueOpened:Boolean,router:Boolean,menuTrigger:{type:String,values:["hover","click"],default:"hover"},collapse:Boolean,backgroundColor:String,textColor:String,activeTextColor:String,closeOnClickOutside:Boolean,collapseTransition:{type:Boolean,default:!0},ellipsis:{type:Boolean,default:!0},popperOffset:{type:Number,default:6},ellipsisIcon:{type:be,default:()=>Tt},popperEffect:{type:String,values:["dark","light"],default:"dark"},popperClass:String,showTimeout:{type:Number,default:300},hideTimeout:{type:Number,default:300}}),Se=e=>Array.isArray(e)&&e.every(a=>ue(a)),Nn={close:(e,a)=>ue(e)&&Se(a),open:(e,a)=>ue(e)&&Se(a),select:(e,a,n,o)=>ue(e)&&Se(a)&&Ut(n)&&(o===void 0||o instanceof Promise)};var On=D({name:"ElMenu",props:Pn,emits:Nn,setup(e,{emit:a,slots:n,expose:o}){const t=ve(),s=t.appContext.config.globalProperties.$router,i=k(),g=V("menu"),l=V("sub-menu"),m=k(-1),d=k(e.defaultOpeneds&&!e.collapse?e.defaultOpeneds.slice(0):[]),b=k(e.defaultActive),c=k({}),v=k({}),I=T(()=>e.mode==="horizontal"||e.mode==="vertical"&&e.collapse),N=()=>{const r=b.value&&c.value[b.value];if(!r||e.mode==="horizontal"||e.collapse)return;r.indexPath.forEach(y=>{const A=v.value[y];A&&h(y,A.indexPath)})},h=(r,p)=>{d.value.includes(r)||(e.uniqueOpened&&(d.value=d.value.filter(y=>p.includes(y))),d.value.push(r),a("open",r,p))},P=r=>{const p=d.value.indexOf(r);p!==-1&&d.value.splice(p,1)},O=(r,p)=>{P(r),a("close",r,p)},H=({index:r,indexPath:p})=>{d.value.includes(r)?O(r,p):h(r,p)},Y=r=>{(e.mode==="horizontal"||e.collapse)&&(d.value=[]);const{index:p,indexPath:y}=r;if(!(We(p)||We(y)))if(e.router&&s){const A=r.route||p,M=s.push(A).then(X=>(X||(b.value=p),X));a("select",p,y,{index:p,indexPath:y,route:A},M)}else b.value=p,a("select",p,y,{index:p,indexPath:y})},ne=r=>{const p=c.value,y=p[r]||b.value&&p[b.value]||p[e.defaultActive];y?b.value=y.index:b.value=r},K=()=>{var r,p;if(!i.value)return-1;const y=Array.from((p=(r=i.value)==null?void 0:r.childNodes)!=null?p:[]).filter($=>$.nodeName!=="#comment"&&($.nodeName!=="#text"||$.nodeValue)),A=64,M=Number.parseInt(getComputedStyle(i.value).paddingLeft,10),X=Number.parseInt(getComputedStyle(i.value).paddingRight,10),Z=i.value.clientWidth-M-X;let f=0,B=0;return y.forEach(($,ae)=>{f+=$.offsetWidth||0,f<=Z-A&&(B=ae+1)}),B===y.length?-1:B},le=r=>v.value[r].indexPath,J=(r,p=33.34)=>{let y;return()=>{y&&clearTimeout(y),y=setTimeout(()=>{r()},p)}};let w=!0;const S=()=>{const r=()=>{m.value=-1,ge(()=>{m.value=K()})};w?r():J(r)(),w=!1};U(()=>e.defaultActive,r=>{c.value[r]||(b.value=""),ne(r)}),U(()=>e.collapse,r=>{r&&(d.value=[])}),U(c.value,N);let C;qt(()=>{e.mode==="horizontal"&&e.ellipsis?C=Oe(i,S).stop:C==null||C()});const z=k(!1);{const r=M=>{v.value[M.index]=M},p=M=>{delete v.value[M.index]};_e("rootMenu",xe({props:e,openedMenus:d,items:c,subMenus:v,activeIndex:b,isMenuPopup:I,addMenuItem:M=>{c.value[M.index]=M},removeMenuItem:M=>{delete c.value[M.index]},addSubMenu:r,removeSubMenu:p,openMenu:h,closeMenu:O,handleMenuItemClick:Y,handleSubMenuClick:H})),_e(`subMenu:${t.uid}`,{addSubMenu:r,removeSubMenu:p,mouseInChild:z,level:0})}return he(()=>{e.mode==="horizontal"&&new En(t.vnode.el,g.namespace.value)}),o({open:p=>{const{indexPath:y}=v.value[p];y.forEach(A=>h(A,y))},close:P,handleResize:S}),()=>{var r,p;let y=(p=(r=n.default)==null?void 0:r.call(n))!=null?p:[];const A=[];if(e.mode==="horizontal"&&i.value){const f=lt(y),B=m.value===-1?f:f.slice(0,m.value),$=m.value===-1?[]:f.slice(m.value);$!=null&&$.length&&e.ellipsis&&(y=B,A.push(W(He,{index:"sub-menu-more",class:l.e("hide-arrow"),popperOffset:e.popperOffset},{title:()=>W(oe,{class:l.e("icon-more")},{default:()=>W(e.ellipsisIcon)}),default:()=>$})))}const M=mt(e,0),X=e.closeOnClickOutside?[[Wt,()=>{d.value.length&&(z.value||(d.value.forEach(f=>a("close",f,le(f))),d.value=[]))}]]:[],Z=De(W("ul",{key:String(e.collapse),role:"menubar",ref:i,style:M.value,class:{[g.b()]:!0,[g.m(e.mode)]:!0,[g.m("collapse")]:e.collapse}},[...y,...A]),X);return e.collapseTransition&&e.mode==="vertical"?W(kn,()=>Z):Z}}});const $n=pe({index:{type:me([String,null]),default:null},route:{type:me([String,Object])},disabled:Boolean}),Dn={click:e=>ue(e.index)&&Array.isArray(e.indexPath)},ke="ElMenuItem",Hn=D({name:ke,components:{ElTooltip:je},props:$n,emits:Dn,setup(e,{emit:a}){const n=ve(),o=se("rootMenu"),t=V("menu"),s=V("menu-item");o||de(ke,"can not inject root menu");const{parentMenu:i,indexPath:g}=ft(n,Kt(e,"index")),l=se(`subMenu:${i.value.uid}`);l||de(ke,"can not inject sub menu");const m=T(()=>e.index===o.activeIndex),d=xe({index:e.index,indexPath:g,active:m}),b=()=>{e.disabled||(o.handleMenuItemClick({index:e.index,indexPath:g.value,route:e.route}),a("click",d))};return he(()=>{l.addSubMenu(d),o.addMenuItem(d)}),Ze(()=>{l.removeSubMenu(d),o.removeMenuItem(d)}),{parentMenu:i,rootMenu:o,active:m,nsMenu:t,nsMenuItem:s,handleClick:b}}});function zn(e,a,n,o,t,s){const i=Ge("el-tooltip");return E(),R("li",{class:ee([e.nsMenuItem.b(),e.nsMenuItem.is("active",e.active),e.nsMenuItem.is("disabled",e.disabled)]),role:"menuitem",tabindex:"-1",onClick:a[0]||(a[0]=(...g)=>e.handleClick&&e.handleClick(...g))},[e.parentMenu.type.name==="ElMenu"&&e.rootMenu.props.collapse&&e.$slots.title?(E(),q(i,{key:0,effect:e.rootMenu.props.popperEffect,placement:"right","fallback-placements":["left"],persistent:""},{content:_(()=>[L(e.$slots,"title")]),default:_(()=>[F("div",{class:ee(e.nsMenu.be("tooltip","trigger"))},[L(e.$slots,"default")],2)]),_:3},8,["effect"])):(E(),R(ce,{key:1},[L(e.$slots,"default"),L(e.$slots,"title")],64))],2)}var ht=te(Hn,[["render",zn],["__file","menu-item.vue"]]);const Fn={title:String},Vn="ElMenuItemGroup",Rn=D({name:Vn,props:Fn,setup(){return{ns:V("menu-item-group")}}});function Yn(e,a,n,o,t,s){return E(),R("li",{class:ee(e.ns.b())},[F("div",{class:ee(e.ns.e("title"))},[e.$slots.title?L(e.$slots,"title",{key:1}):(E(),R(ce,{key:0},[j(fe(e.title),1)],64))],2),F("ul",null,[L(e.$slots,"default")])],2)}var bt=te(Rn,[["render",Yn],["__file","menu-item-group.vue"]]);const Wn=$e(On,{MenuItem:ht,MenuItemGroup:bt,SubMenu:He}),Ln=re(ht);re(bt);const Xn=re(He),Ee=Symbol("tabsRootContextKey"),Qn=pe({tabs:{type:me(Array),default:()=>Ne([])}}),_t="ElTabBar",jn=D({name:_t}),qn=D({...jn,props:Qn,setup(e,{expose:a}){const n=e,o=ve(),t=se(Ee);t||de(_t,"");const s=V("tabs"),i=k(),g=k(),l=()=>{let d=0,b=0;const c=["top","bottom"].includes(t.props.tabPosition)?"width":"height",v=c==="width"?"x":"y",I=v==="x"?"left":"top";return n.tabs.every(N=>{var h,P;const O=(P=(h=o.parent)==null?void 0:h.refs)==null?void 0:P[`tab-${N.uid}`];if(!O)return!1;if(!N.active)return!0;d=O[`offset${ie(I)}`],b=O[`client${ie(c)}`];const H=window.getComputedStyle(O);return c==="width"&&(n.tabs.length>1&&(b-=Number.parseFloat(H.paddingLeft)+Number.parseFloat(H.paddingRight)),d+=Number.parseFloat(H.paddingLeft)),!1}),{[c]:`${b}px`,transform:`translate${ie(v)}(${d}px)`}},m=()=>g.value=l();return U(()=>n.tabs,async()=>{await ge(),m()},{immediate:!0}),Oe(i,()=>m()),a({ref:i,update:m}),(d,b)=>(E(),R("div",{ref_key:"barRef",ref:i,class:ee([x(s).e("active-bar"),x(s).is(x(t).props.tabPosition)]),style:Te(g.value)},null,6))}});var Un=te(qn,[["__file","tab-bar.vue"]]);const Kn=pe({panes:{type:me(Array),default:()=>Ne([])},currentName:{type:[String,Number],default:""},editable:Boolean,type:{type:String,values:["card","border-card",""],default:""},stretch:Boolean}),Zn={tabClick:(e,a,n)=>n instanceof Event,tabRemove:(e,a)=>a instanceof Event},Le="ElTabNav",Jn=D({name:Le,props:Kn,emits:Zn,setup(e,{expose:a,emit:n}){const o=ve(),t=se(Ee);t||de(Le,"");const s=V("tabs"),i=xt(),g=Et(),l=k(),m=k(),d=k(),b=k(),c=k(!1),v=k(0),I=k(!1),N=k(!0),h=T(()=>["top","bottom"].includes(t.props.tabPosition)?"width":"height"),P=T(()=>({transform:`translate${h.value==="width"?"X":"Y"}(-${v.value}px)`})),O=()=>{if(!l.value)return;const w=l.value[`offset${ie(h.value)}`],S=v.value;if(!S)return;const C=S>w?S-w:0;v.value=C},H=()=>{if(!l.value||!m.value)return;const w=m.value[`offset${ie(h.value)}`],S=l.value[`offset${ie(h.value)}`],C=v.value;if(w-C<=S)return;const z=w-C>S*2?C+S:w-S;v.value=z},Y=async()=>{const w=m.value;if(!c.value||!d.value||!l.value||!w)return;await ge();const S=d.value.querySelector(".is-active");if(!S)return;const C=l.value,z=["top","bottom"].includes(t.props.tabPosition),r=S.getBoundingClientRect(),p=C.getBoundingClientRect(),y=z?w.offsetWidth-p.width:w.offsetHeight-p.height,A=v.value;let M=A;z?(r.leftp.right&&(M=A+r.right-p.right)):(r.topp.bottom&&(M=A+(r.bottom-p.bottom))),M=Math.max(M,0),v.value=Math.min(M,y)},ne=()=>{var w;if(!m.value||!l.value)return;e.stretch&&((w=b.value)==null||w.update());const S=m.value[`offset${ie(h.value)}`],C=l.value[`offset${ie(h.value)}`],z=v.value;C0&&(v.value=0))},K=w=>{const S=w.code,{up:C,down:z,left:r,right:p}=Q;if(![C,z,r,p].includes(S))return;const y=Array.from(w.currentTarget.querySelectorAll("[role=tab]:not(.is-disabled)")),A=y.indexOf(w.target);let M;S===r||S===C?A===0?M=y.length-1:M=A-1:A{N.value&&(I.value=!0)},J=()=>I.value=!1;return U(i,w=>{w==="hidden"?N.value=!1:w==="visible"&&setTimeout(()=>N.value=!0,50)}),U(g,w=>{w?setTimeout(()=>N.value=!0,50):N.value=!1}),Oe(d,ne),he(()=>setTimeout(()=>Y(),0)),Zt(()=>ne()),a({scrollToActiveTab:Y,removeFocus:J}),U(()=>e.panes,()=>o.update(),{flush:"post",deep:!0}),()=>{const w=c.value?[u("span",{class:[s.e("nav-prev"),s.is("disabled",!c.value.prev)],onClick:O},[u(oe,null,{default:()=>[u(At,null,null)]})]),u("span",{class:[s.e("nav-next"),s.is("disabled",!c.value.next)],onClick:H},[u(oe,null,{default:()=>[u(Qe,null,null)]})])]:null,S=e.panes.map((C,z)=>{var r,p,y,A;const M=C.uid,X=C.props.disabled,Z=(p=(r=C.props.name)!=null?r:C.index)!=null?p:`${z}`,f=!X&&(C.isClosable||e.editable);C.index=`${z}`;const B=f?u(oe,{class:"is-icon-close",onClick:G=>n("tabRemove",C,G)},{default:()=>[u(St,null,null)]}):null,$=((A=(y=C.slots).label)==null?void 0:A.call(y))||C.props.label,ae=!X&&C.active?0:-1;return u("div",{ref:`tab-${M}`,class:[s.e("item"),s.is(t.props.tabPosition),s.is("active",C.active),s.is("disabled",X),s.is("closable",f),s.is("focus",I.value)],id:`tab-${Z}`,key:`tab-${M}`,"aria-controls":`pane-${Z}`,role:"tab","aria-selected":C.active,tabindex:ae,onFocus:()=>le(),onBlur:()=>J(),onClick:G=>{J(),n("tabClick",C,Z,G)},onKeydown:G=>{f&&(G.code===Q.delete||G.code===Q.backspace)&&n("tabRemove",C,G)}},[$,B])});return u("div",{ref:d,class:[s.e("nav-wrap"),s.is("scrollable",!!c.value),s.is(t.props.tabPosition)]},[w,u("div",{class:s.e("nav-scroll"),ref:l},[u("div",{class:[s.e("nav"),s.is(t.props.tabPosition),s.is("stretch",e.stretch&&["top","bottom"].includes(t.props.tabPosition))],ref:m,style:P.value,role:"tablist",onKeydown:K},[e.type?null:u(Un,{ref:b,tabs:[...e.panes]},null),S])])])}}}),Gn=pe({type:{type:String,values:["card","border-card",""],default:""},activeName:{type:[String,Number]},closable:Boolean,addable:Boolean,modelValue:{type:[String,Number]},editable:Boolean,tabPosition:{type:String,values:["top","right","bottom","left"],default:"top"},beforeLeave:{type:me(Function),default:()=>!0},stretch:Boolean}),Be=e=>ue(e)||Jt(e),ea={[st]:e=>Be(e),tabClick:(e,a)=>a instanceof Event,tabChange:e=>Be(e),edit:(e,a)=>["remove","add"].includes(a),tabRemove:e=>Be(e),tabAdd:()=>!0},ta=D({name:"ElTabs",props:Gn,emits:ea,setup(e,{emit:a,slots:n,expose:o}){var t,s;const i=V("tabs"),{children:g,addChild:l,removeChild:m}=on(ve(),"ElTabPane"),d=k(),b=k((s=(t=e.modelValue)!=null?t:e.activeName)!=null?s:"0"),c=async(h,P=!1)=>{var O,H,Y;if(!(b.value===h||Re(h)))try{await((O=e.beforeLeave)==null?void 0:O.call(e,h,b.value))!==!1&&(b.value=h,P&&(a(st,h),a("tabChange",h)),(Y=(H=d.value)==null?void 0:H.removeFocus)==null||Y.call(H))}catch{}},v=(h,P,O)=>{h.props.disabled||(c(P,!0),a("tabClick",h,O))},I=(h,P)=>{h.props.disabled||Re(h.props.name)||(P.stopPropagation(),a("edit",h.props.name,"remove"),a("tabRemove",h.props.name))},N=()=>{a("edit",void 0,"add"),a("tabAdd")};return Xe({from:'"activeName"',replacement:'"model-value" or "v-model"',scope:"ElTabs",version:"2.3.0",ref:"https://element-plus.org/en-US/component/tabs.html#attributes",type:"Attribute"},T(()=>!!e.activeName)),U(()=>e.activeName,h=>c(h)),U(()=>e.modelValue,h=>c(h)),U(b,async()=>{var h;await ge(),(h=d.value)==null||h.scrollToActiveTab()}),_e(Ee,{props:e,currentName:b,registerPane:l,unregisterPane:m}),o({currentName:b}),()=>{const h=n.addIcon,P=e.editable||e.addable?u("span",{class:i.e("new-tab"),tabindex:"0",onClick:N,onKeydown:Y=>{Y.code===Q.enter&&N()}},[h?L(n,"addIcon"):u(oe,{class:i.is("icon-plus")},{default:()=>[u(kt,null,null)]})]):null,O=u("div",{class:[i.e("header"),i.is(e.tabPosition)]},[P,u(Jn,{ref:d,currentName:b.value,editable:e.editable,type:e.type,panes:g.value,stretch:e.stretch,onTabClick:v,onTabRemove:I},null)]),H=u("div",{class:i.e("content")},[L(n,"default")]);return u("div",{class:[i.b(),i.m(e.tabPosition),{[i.m("card")]:e.type==="card",[i.m("border-card")]:e.type==="border-card"}]},[...e.tabPosition!=="bottom"?[O,H]:[H,O]])}}}),na=pe({label:{type:String,default:""},name:{type:[String,Number]},closable:Boolean,disabled:Boolean,lazy:Boolean}),aa=["id","aria-hidden","aria-labelledby"],gt="ElTabPane",oa=D({name:gt}),sa=D({...oa,props:na,setup(e){const a=e,n=ve(),o=Ke(),t=se(Ee);t||de(gt,"usage: ");const s=V("tab-pane"),i=k(),g=T(()=>a.closable||t.props.closable),l=Fe(()=>{var v;return t.currentName.value===((v=a.name)!=null?v:i.value)}),m=k(l.value),d=T(()=>{var v;return(v=a.name)!=null?v:i.value}),b=Fe(()=>!a.lazy||m.value||l.value);U(l,v=>{v&&(m.value=!0)});const c=xe({uid:n.uid,slots:o,props:a,paneName:d,active:l,index:i,isClosable:g});return he(()=>{t.registerPane(c)}),Gt(()=>{t.unregisterPane(c.uid)}),(v,I)=>x(b)?De((E(),R("div",{key:0,id:`pane-${x(d)}`,class:ee(x(s).b()),role:"tabpanel","aria-hidden":!x(l),"aria-labelledby":`tab-${x(d)}`},[L(v.$slots,"default")],10,aa)),[[Je,x(l)]]):et("v-if",!0)}});var yt=te(sa,[["__file","tab-pane.vue"]]);const la=$e(ta,{TabPane:yt}),ia=re(yt);const ra="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAATwAAABCCAMAAAD9hJoxAAAAjVBMVEUAAABmYmBmYmBmYmBmYmBmYmBmYmBmYmBmYmBmYmBmYmBmYmDMCCPMCCNmYmBmYmDMCCPMCCPMCCPnQhDMCCPMCCPXIhtmYmBmYmDnQhDnQhDMCCPMCCPnQhDMCCPnQhDMCCPnQhDMCCPMCCPnQhDnQhDnQhDnQhDMCCPnQhDnQhDnQhBmYmDMCCPnQhBOmYs0AAAALHRSTlMAgMBA8BCg4GAg0FDwwDBwgEBgQDAQILCQgPDg0NigYHAwsJAQwKCwUHBQkHnnoZMAAAfHSURBVHja7ZzretowDIad8/kEhFCgFNqtpV3C/V/e1rXBceRIdjpv3Z59f8lBeSPJsuXAPoPq4/2+e1WWlYs1+y9NVVV5v+t+avewYv+lrdVx/86vrNmflpNY70pyhikqGntSm0J+crKxEfmWM4vfoXvTAcE3+9bCYyE4Qj9uBdnWFEDPbwm5mwjYH7SUXMtj+lrfv9FLS8alfWtfyk/gMelIcStTYEUMKndbBfkiiLDlwvDNyn998qsYEHlrDiefA8/xMQYAnxe3SgqGxiStouI5zlf3sVvKHq9V1UYbXuRrOoPVKsod0Atao/TY4p1eVsO81c68Nw2vcOlLiv7stqoKPD3Hg0bq09uvx87RtrPo0fC8RsmFQiQKMPn9SZtWQyFDtby7edXzUk4vXWEZj6anDM+L9Z+naDUUwdChFSDkXp62l6ue7r7I6NVolrF7EX4P4RHs3KZwXlX4LqAnNcZNxAuGAXA9CK+JRkXS+Dkma8y724uo7c0AX9lHbi3Aw7w6T8CTWgg8hF0wvHI4+jHhxqDjky++DU8Cz0FO4vZDnTg6rttB9Gbv9O4n4fmMzvoRDQ8+ZzG+qPhzxI1BH7MBzGl4rFEYMp4vct3wcjl9p3dkXIS90IlsCh6EE+dEMWwrGuO50DUhPHxIZBI9Xqb0CAK3WyHwSHoODg8+ZOCR5WVBGwMdOlaDx0TzPYQdSm/Xl3ta8JgXCDmZhueDehbKAvmLMAbWBorwbPDuQcwiuhuPuN0CgUe6SUTBi1qViwbgINoYB3D4OLzTBdX2Whn3WW+HwaPub1HwfKXKKgSupwsv+SXwvl5wfQVZb4HAo4wOCHiRYk3vgsM04Vm/At7dhdKyH3B7eDsEHhljEQ6vAC4FBOdV8Z+CBwu8p+flmi1fHrdj19v39CoMHlEsFTi8ACkdkUz6Z+Cd4LwCTDr6rPfQwzsow4OHNSi8HOQlpbgtfhO8iAn6NkpwwsLJl29CqVz18FIEHpn0UHgFUlYh7hwbhAfrm1oetY9MlhFv+3XRrtdZC14uEsHg2SISRJZ4Ue06r1CDF0he/HWShbDj9MbFSvegBY+JeQOD1yIpDy88aGOsGXWeI5tdZv0CHifHPQzE9XK0OtBlH4AXTsKD8y5EnhiEutOzNlKCF0tCvZLCOzGJvmwl8DoEHlkmI/AK4ByKb8QGxhAR6DIUHm9lwgOOJY9KELRw9nYH4K3MwPORtUf0oi5uDHwxjQK8JJauJD/0nncDHA+6Hh9uH7pe1Xx4NgIPjG0EPC5gDNEkDall+NjmxZAIN5OE7S2b0FdJ2B7NwAsQeET+x41J/JZYSaYVsml4T2xCNxJ4pRl44gPqwiMFjbX12bEs7eerYNUY6uXSTzr2M+H5s+DZOvASLXiBh8CjthlkXV8lb2l4y2tAdzPhWebhWVrwckbBQ1pQ2XVu/0TDO/WD7epfgRcyEh7Sx8w6WKvcMEqLfwOe6+juF4k9Ed6eFyJ8wCB0L8AzUeeJJpuB53vAMj16h65bj7s/W0aoTjm8yiw8/VIlVIMXFxFimcOV+JAeX1E/gvH2hYzaTwwPK1UC+1WWlTi4ZeLPjjuRQ86DtfQb3qzAlXWdsbktsfQ4v0iGouERqxTrYRvnVs31qo5r/wF4IQoPeRh0J4T3i+HB2XM07GDvryS3fdY7qTreQR8evZ4H85jO3NYAPGdidfEwdL0ToEc4XrfQgxerwkuQrbhoE8M2AY8F8qbAWdhsd7rt6d1NDrW7IbxaD57yMnykXuh5olsYgbeZyHqpsF3sy9N11FgyUWA1ip9I2itFwhB42LIKGlOhEXjiPRohbrvFcAJ7XZr6tsTKFH7evO5ZjMLzlUeMQhyYjcBjrjxuV+PtYuzl66ADOQK4SofsUvaBvq2PwgtbVQSNuMZrBp4/MYBlcIf2+vlpC1rfkF1XIvDoSgWF5ylP0MBWRRPwkokcXHWc3hDg8odOjCHs0loPntdq7FVpwMEqveDcEDzWTpiTvZGoGKUq7YDj6cArdHZJJUjcIht9TMFrJsxZ8XYEqrITtasJeGi1VBDwWCBpNVAbjEMj8GAODmD1ka2Rq6+zbqQz04Nn6e0MDVvtiwbMGDyvndh5VO876oPQuuzGOjA9eDmY4yDwoOvlChdNDMGD460tGwh2x1rmdWUK2O1rBB79DWxEw0vobw0jsFpkDF4CW7ew9E0P55HTLe47qHTFtOA5LpitUvBYQ9HLQV40BA/Wyf7UYJDel1X10yOr48O+k2qF9SaAch92/Gh4XiCe5OCfFSXMKLwNrFb4LE1LC2wsaBxB4SaGHT8aHgz11h+el9igfW0UXjSyhc2kl56xMY9WyBB46Afk8SZxGIuc0A/Al7Om4MFD4EELdXYrkNE02eHwYKqk5TOz8OBD2mACoaJ9jWdTuluKw4NjAq2CmYfHRqY4oA6mVWK1Ki070vuDBq9RfB/m4YX4995H0vmyFXJzWoGj/9cgTkB3r43Dg64Hr10/oOh2CzYhT4Xe3D+lCTF8Nr+oUXgwA7sROZvg2i8YogJ3EHuTMC4cHpTju/KA9XN4rDWQw9QU8lMapI9gWdTFwZSC+hszaLVv277Vq3AcD2taDxRiV7dd+D4+o85llg5c7nD8HH8AFznh9YXk7FOretNf9seD3wEp1Aq+q1JvwgAAAABJRU5ErkJggg==";const ua={class:"logo"},ca={__name:"index",props:{collapse:{type:Boolean,default:!1}},setup(e){const a=[{title:"首頁",icon:Bt,path:"/index",children:[{title:"首頁輪播",path:"/index/banner"},{title:"供應商",path:"/index/supplier"}]},{title:"關於普達",icon:It,path:"/about",children:[{title:"公司簡介",path:"/about/company"},{title:"經營理念",path:"/about/concept"}]},{title:"產品管理",icon:Pt,path:"/product",children:[{title:"產品列表",path:"/product/list"},{title:"產品類別",path:"/product/group"}]},{title:"最新消息",icon:Nt,path:"/news",children:[{title:"產業動態",path:"/news/list"},{title:"公司活動",path:"/news/activity"}]},{title:"聯絡我們",icon:Ot,path:"/contact",children:[{title:"表單信件",path:"/contact/email"},{title:"公司據點",path:"/contact/map"}]},{title:"權限管理",icon:Ve,path:"/priv",children:[{title:"管理員列表",path:"/priv/admin"},{title:"管理員紀錄",path:"/priv/adminlog"}]},{title:"站台設定",icon:Ve,path:"/site/config"}],n=(o,t)=>{en.push(o)};return(o,t)=>{const s=Lt,i=oe,g=Ln,l=Xn,m=Wn;return E(),q(m,{"active-text-color":"#fefefe","background-color":"#032121","text-color":"#ccc","unique-opened":"",class:"el-menu-vertical",collapse:e.collapse,"default-active":o.$route.path,onSelect:n},{default:_(()=>[F("div",ua,[u(s,{style:{width:"100px"},src:x(ra)},null,8,["src"])]),(E(),R(ce,null,Ie(a,(d,b)=>(E(),R(ce,{key:b},[d.children&&d.children.length>0?(E(),q(l,{key:0,index:d.path},{title:_(()=>[u(i,null,{default:_(()=>[(E(),q(Ye(d.icon)))]),_:2},1024),F("span",null,fe(d.title),1)]),default:_(()=>[(E(!0),R(ce,null,Ie(d.children,(c,v)=>(E(),q(g,{index:c.path},{default:_(()=>[j(fe(c.title),1)]),_:2},1032,["index"]))),256))]),_:2},1032,["index"])):(E(),q(g,{key:1,index:d.path},{default:_(()=>[u(i,null,{default:_(()=>[(E(),q(Ye(d.icon)))]),_:2},1024),F("span",null,fe(d.title),1)]),_:2},1032,["index"]))],64))),64))]),_:1},8,["collapse","default-active"])}}},da=ot(ca,[["__scopeId","data-v-52d96f34"]]);const pa={class:"admin-header"},va={class:"header-nav header-layout-left"},fa={class:"header-nav-item header-flexible"},ma={class:"header-nav"},ha={class:"header-nav-item header-flexible",style:{cursor:"pointer"}},ba={class:"header-avatar",style:{marginRight:"5px"}},_a={class:"header-avatar"},ga={__name:"index",props:{collapse:{type:Boolean,default:!1}},emits:["toggleClospe"],setup(e,{emit:a}){const n=a,o=tt(),t=nt(),s={tw:"繁體",cn:"簡體",en:"EN"},i=se("reload"),g=()=>{n("toggleClospe")},l=b=>{t.setLang(b),i()},m=()=>{sessionStorage.removeItem("token"),o.push("/login")},d=()=>{alert("button click")};return(b,c)=>{const v=oe,I=it,N=rt,h=ut;return E(),R("div",pa,[F("ul",va,[F("li",fa,[e.collapse?(E(),q(v,{key:0,size:20,color:"#666",onClick:g},{default:_(()=>[u(x($t))]),_:1})):(E(),q(v,{key:1,size:20,color:"#666",onClick:g},{default:_(()=>[u(x(Dt))]),_:1}))])]),F("ul",ma,[F("li",ha,[u(h,{onClick:d},{dropdown:_(()=>[u(N,null,{default:_(()=>[u(I,{onClick:c[0]||(c[0]=P=>l("tw"))},{default:_(()=>[j("繁體")]),_:1}),u(I,{onClick:c[1]||(c[1]=P=>l("cn"))},{default:_(()=>[j("簡體")]),_:1}),u(I,{onClick:c[2]||(c[2]=P=>l("en"))},{default:_(()=>[j("EN")]),_:1})]),_:1})]),default:_(()=>[F("div",ba,[u(v,{size:13,style:{marginRight:"5px"}},{default:_(()=>[u(x(Ht))]),_:1}),j(" "+fe(s[x(t).lang])+" - 語言切換 ",1)])]),_:1}),u(h,{"hide-on-click":!1},{dropdown:_(()=>[u(N,null,{default:_(()=>[u(I,null,{default:_(()=>[j("資料修改")]),_:1}),u(I,{onClick:Pe(m,["stop"])},{default:_(()=>[j("登出")]),_:1})]),_:1})]),default:_(()=>[F("div",_a,[u(v,{size:13,style:{marginRight:"5px"}},{default:_(()=>[u(x(zt))]),_:1}),j(" Admin ")])]),_:1})])])])}}};const ya=tn("tabs",{state:()=>({activeTab:"/",visitedViews:[]}),actions:{setActiveTab(e){this.activeTab=e},addTab(e){this.setActiveTab(e.path),e.path!=="/home"&&(this.visitedViews.some(a=>a.path===e.path)||this.visitedViews.push(e))},removeTab(e){const a=this.visitedViews.indexOf(e);this.visitedViews.splice(a,1)},closeOtherTabs(){this.visitedViews=this.visitedViews.filter(e=>e.path===this.activeTab)},closeAllTabs(){this.visitedViews=[]}}});const Ca={class:"main-tabs-view"},Ma={class:"tab-content"},wa={class:"tab-content"},Ta={class:"el-dropdown-link"},xa={__name:"index",setup(e){const a=tt(),n=at(),o=ya(),{visitedViews:t}=nn(o),s=se("reload"),i=T({get:()=>o.activeTab,set:c=>{o.setActiveTab(c)}});he(()=>{b()}),U(n,()=>{b()});const g=c=>{a.push(c.props.name)},l=c=>{if(t.value.length===1)a.push("/");else if(c.path===i.value){const v=t.value.findIndex(N=>N.path===c.path),I=t.value[v-1];i.value=I.path,a.push(I.path)}o.removeTab(c)},m=()=>{o.closeOtherTabs()},d=()=>{o.closeAllTabs()},b=()=>{n.path==="/login"||n.path==="/news/list/form"||n.path==="/product/list/form"||n.path&&o.addTab({path:n.path,title:n.meta.title})};return(c,v)=>{const I=oe,N=ia,h=la,P=it,O=rt,H=ut;return E(),R("div",Ca,[F("div",null,[u(h,{modelValue:i.value,"onUpdate:modelValue":v[0]||(v[0]=Y=>i.value=Y),type:"card",onTabClick:g},{default:_(()=>[u(N,{name:"/home"},{label:_(()=>[F("div",Ma,[u(I,null,{default:_(()=>[u(x(Ft))]),_:1})])]),_:1}),(E(!0),R(ce,null,Ie(x(t),Y=>(E(),q(N,{name:Y.path},{label:_(()=>[F("div",wa,[u(I,{onClick:Pe(x(s),["stop"])},{default:_(()=>[u(x(Vt))]),_:1},8,["onClick"]),j(" "+fe(Y.title)+" ",1),u(I,{onClick:Pe(ne=>l(Y),["stop"])},{default:_(()=>[u(x(Rt))]),_:2},1032,["onClick"])])]),_:2},1032,["name"]))),256))]),_:1},8,["modelValue"])]),F("div",null,[u(H,null,{dropdown:_(()=>[u(O,null,{default:_(()=>[u(P,{onClick:m},{default:_(()=>[j("關閉其他")]),_:1}),u(P,{onClick:d},{default:_(()=>[j("關閉全部")]),_:1})]),_:1})]),default:_(()=>[F("span",Ta,[u(I,null,{default:_(()=>[u(x(Yt))]),_:1})])]),_:1})])])}}},Ea=ot(xa,[["__scopeId","data-v-b7d2f3d3"]]),Aa={class:"admin-layout"},Sa={class:"tabs-block"},ka={class:"main-content"},Xa={__name:"AdminLayout",setup(e){const a=at(),n=nt(),o=k(!1),t=()=>{o.value=!o.value};T(()=>a.matched.filter(g=>g.meta.title)),T(()=>n.isMobile);const s=k(!0);return _e("reload",()=>{s.value=!1,ge(()=>{s.value=!0})}),(g,l)=>{const m=Cn,d=Ge("router-view"),b=wn,c=Mn,v=yn;return E(),R("div",Aa,[u(v,null,{default:_(()=>[u(m,{width:"auto",class:"side-scroll"},{default:_(()=>[u(da,{collapse:o.value},null,8,["collapse"])]),_:1}),u(v,null,{default:_(()=>[F("div",null,[u(ga,{collapse:o.value,onToggleClospe:t},null,8,["collapse"])]),u(b,null,{default:_(()=>[F("div",Sa,[u(Ea)]),F("div",ka,[s.value?(E(),q(d,{key:0})):et("",!0)])]),_:1}),u(c,null,{default:_(()=>[j("2023 © copyright ZL ")]),_:1})]),_:1})]),_:1})])}}};export{Xa as default}; diff --git a/nginx/html/admin/assets/AdminLayout-4e478ea8.js b/nginx/html/admin/assets/AdminLayout-4e478ea8.js new file mode 100644 index 0000000..39914ed --- /dev/null +++ b/nginx/html/admin/assets/AdminLayout-4e478ea8.js @@ -0,0 +1 @@ +import{_ as te,a as ye,r as Ae,h as Ct,T as Mt,i as be,u as Xe,b as wt,c as Qe,E as oe,d as ze,m as Ne,e as Tt,f as Oe,g as xt,j as Et,k as At,l as St,p as kt,n as Fe,o as Bt,t as It,q as Pt,s as Nt,v as Ot,w as Ve,x as $t,y as Dt,z as Ht,A as zt,B as Ft,C as Vt,D as Rt,F as Yt}from"./el-button-6b66070a.js";import"./el-tooltip-4ed993c7.js";import{E as je,C as Wt}from"./el-scrollbar-68edc4d7.js";import{t as Me}from"./el-icon-08628b36.js";import{E as Lt}from"./el-image-viewer-f695cd1a.js";import{s as Xt,i as Qt,d as D,u as V,o as E,c as q,w as _,r as L,m as qe,t as jt,a as x,T as Ue,b as Ke,e as T,f as R,n as ee,g as Te,h as $e,j as re,k as pe,l as ve,p as se,q as k,v as xe,x as U,y as _e,z as he,A as Ze,B as W,C as ue,D as De,E as Je,F as ce,G as me,H as qt,I as Ut,J as ge,K as Kt,L as Ge,M as F,N as j,O as fe,P as Zt,Q as u,R as Re,S as Jt,U as Gt,V as et,W as Ie,X as Ye,Y as en,Z as tt,_ as nt,$ as Pe,a0 as tn,a1 as at,a2 as nn}from"./index-3ef4d3eb.js";import{_ as ot}from"./_plugin-vue_export-helper-c27b6911.js";import{E as Q}from"./aria-60e0cdc6.js";import{t as de,i as We,U as st}from"./index-a4d0b5b6.js";import{f as lt,E as it,a as rt,b as ut}from"./el-dropdown-item-9e1be9b9.js";import{c as ie}from"./strings-ce4815fd.js";import"./castArray-3bec7949.js";const an=(e,a,n)=>lt(e.subTree).filter(s=>{var i;return Qt(s)&&((i=s.type)==null?void 0:i.name)===a&&!!s.component}).map(s=>s.component.uid).map(s=>n[s]).filter(s=>!!s),on=(e,a)=>{const n={},o=Xt([]);return{children:o,addChild:i=>{n[i.uid]=i,o.value=an(e,a,n)},removeChild:i=>{delete n[i],o.value=o.value.filter(g=>g.uid!==i)}}},sn=D({name:"ElCollapseTransition"}),ln=D({...sn,setup(e){const a=V("collapse-transition"),n=t=>{t.style.maxHeight="",t.style.overflow=t.dataset.oldOverflow,t.style.paddingTop=t.dataset.oldPaddingTop,t.style.paddingBottom=t.dataset.oldPaddingBottom},o={beforeEnter(t){t.dataset||(t.dataset={}),t.dataset.oldPaddingTop=t.style.paddingTop,t.dataset.oldPaddingBottom=t.style.paddingBottom,t.style.height&&(t.dataset.elExistsHeight=t.style.height),t.style.maxHeight=0,t.style.paddingTop=0,t.style.paddingBottom=0},enter(t){requestAnimationFrame(()=>{t.dataset.oldOverflow=t.style.overflow,t.dataset.elExistsHeight?t.style.maxHeight=t.dataset.elExistsHeight:t.scrollHeight!==0?t.style.maxHeight=`${t.scrollHeight}px`:t.style.maxHeight=0,t.style.paddingTop=t.dataset.oldPaddingTop,t.style.paddingBottom=t.dataset.oldPaddingBottom,t.style.overflow="hidden"})},afterEnter(t){t.style.maxHeight="",t.style.overflow=t.dataset.oldOverflow},enterCancelled(t){n(t)},beforeLeave(t){t.dataset||(t.dataset={}),t.dataset.oldPaddingTop=t.style.paddingTop,t.dataset.oldPaddingBottom=t.style.paddingBottom,t.dataset.oldOverflow=t.style.overflow,t.style.maxHeight=`${t.scrollHeight}px`,t.style.overflow="hidden"},leave(t){t.scrollHeight!==0&&(t.style.maxHeight=0,t.style.paddingTop=0,t.style.paddingBottom=0)},afterLeave(t){n(t)},leaveCancelled(t){n(t)}};return(t,s)=>(E(),q(Ue,qe({name:x(a).b()},jt(o)),{default:_(()=>[L(t.$slots,"default")]),_:3},16,["name"]))}});var we=te(ln,[["__file","collapse-transition.vue"]]);we.install=e=>{e.component(we.name,we)};const rn=we,un=D({name:"ElContainer"}),cn=D({...un,props:{direction:{type:String}},setup(e){const a=e,n=Ke(),o=V("container"),t=T(()=>a.direction==="vertical"?!0:a.direction==="horizontal"?!1:n&&n.default?n.default().some(i=>{const g=i.type.name;return g==="ElHeader"||g==="ElFooter"}):!1);return(s,i)=>(E(),R("section",{class:ee([x(o).b(),x(o).is("vertical",x(t))])},[L(s.$slots,"default")],2))}});var dn=te(cn,[["__file","container.vue"]]);const pn=D({name:"ElAside"}),vn=D({...pn,props:{width:{type:String,default:null}},setup(e){const a=e,n=V("aside"),o=T(()=>a.width?n.cssVarBlock({width:a.width}):{});return(t,s)=>(E(),R("aside",{class:ee(x(n).b()),style:Te(x(o))},[L(t.$slots,"default")],6))}});var ct=te(vn,[["__file","aside.vue"]]);const fn=D({name:"ElFooter"}),mn=D({...fn,props:{height:{type:String,default:null}},setup(e){const a=e,n=V("footer"),o=T(()=>a.height?n.cssVarBlock({height:a.height}):{});return(t,s)=>(E(),R("footer",{class:ee(x(n).b()),style:Te(x(o))},[L(t.$slots,"default")],6))}});var dt=te(mn,[["__file","footer.vue"]]);const hn=D({name:"ElHeader"}),bn=D({...hn,props:{height:{type:String,default:null}},setup(e){const a=e,n=V("header"),o=T(()=>a.height?n.cssVarBlock({height:a.height}):{});return(t,s)=>(E(),R("header",{class:ee(x(n).b()),style:Te(x(o))},[L(t.$slots,"default")],6))}});var pt=te(bn,[["__file","header.vue"]]);const _n=D({name:"ElMain"}),gn=D({..._n,setup(e){const a=V("main");return(n,o)=>(E(),R("main",{class:ee(x(a).b())},[L(n.$slots,"default")],2))}});var vt=te(gn,[["__file","main.vue"]]);const yn=$e(dn,{Aside:ct,Footer:dt,Header:pt,Main:vt}),Cn=re(ct),Mn=re(dt);re(pt);const wn=re(vt);let Tn=class{constructor(a,n){this.parent=a,this.domNode=n,this.subIndex=0,this.subIndex=0,this.init()}init(){this.subMenuItems=this.domNode.querySelectorAll("li"),this.addListeners()}gotoSubIndex(a){a===this.subMenuItems.length?a=0:a<0&&(a=this.subMenuItems.length-1),this.subMenuItems[a].focus(),this.subIndex=a}addListeners(){const a=this.parent.domNode;Array.prototype.forEach.call(this.subMenuItems,n=>{n.addEventListener("keydown",o=>{let t=!1;switch(o.code){case Q.down:{this.gotoSubIndex(this.subIndex+1),t=!0;break}case Q.up:{this.gotoSubIndex(this.subIndex-1),t=!0;break}case Q.tab:{Me(a,"mouseleave");break}case Q.enter:case Q.space:{t=!0,o.currentTarget.click();break}}return t&&(o.preventDefault(),o.stopPropagation()),!1})})}},xn=class{constructor(a,n){this.domNode=a,this.submenu=null,this.submenu=null,this.init(n)}init(a){this.domNode.setAttribute("tabindex","0");const n=this.domNode.querySelector(`.${a}-menu`);n&&(this.submenu=new Tn(this,n)),this.addListeners()}addListeners(){this.domNode.addEventListener("keydown",a=>{let n=!1;switch(a.code){case Q.down:{Me(a.currentTarget,"mouseenter"),this.submenu&&this.submenu.gotoSubIndex(0),n=!0;break}case Q.up:{Me(a.currentTarget,"mouseenter"),this.submenu&&this.submenu.gotoSubIndex(this.submenu.subMenuItems.length-1),n=!0;break}case Q.tab:{Me(a.currentTarget,"mouseleave");break}case Q.enter:case Q.space:{n=!0,a.currentTarget.click();break}}n&&a.preventDefault()})}},En=class{constructor(a,n){this.domNode=a,this.init(n)}init(a){const n=this.domNode.childNodes;Array.from(n).forEach(o=>{o.nodeType===1&&new xn(o,a)})}};const An=D({name:"ElMenuCollapseTransition",setup(){const e=V("menu");return{listeners:{onBeforeEnter:n=>n.style.opacity="0.2",onEnter(n,o){ye(n,`${e.namespace.value}-opacity-transition`),n.style.opacity="1",o()},onAfterEnter(n){Ae(n,`${e.namespace.value}-opacity-transition`),n.style.opacity=""},onBeforeLeave(n){n.dataset||(n.dataset={}),Ct(n,e.m("collapse"))?(Ae(n,e.m("collapse")),n.dataset.oldOverflow=n.style.overflow,n.dataset.scrollWidth=n.clientWidth.toString(),ye(n,e.m("collapse"))):(ye(n,e.m("collapse")),n.dataset.oldOverflow=n.style.overflow,n.dataset.scrollWidth=n.clientWidth.toString(),Ae(n,e.m("collapse"))),n.style.width=`${n.scrollWidth}px`,n.style.overflow="hidden"},onLeave(n){ye(n,"horizontal-collapse-transition"),n.style.width=`${n.dataset.scrollWidth}px`}}}}});function Sn(e,a,n,o,t,s){return E(),q(Ue,qe({mode:"out-in"},e.listeners),{default:_(()=>[L(e.$slots,"default")]),_:3},16)}var kn=te(An,[["render",Sn],["__file","menu-collapse-transition.vue"]]);function ft(e,a){const n=T(()=>{let t=e.parent;const s=[a.value];for(;t.type.name!=="ElMenu";)t.props.index&&s.unshift(t.props.index),t=t.parent;return s});return{parentMenu:T(()=>{let t=e.parent;for(;t&&!["ElMenu","ElSubMenu"].includes(t.type.name);)t=t.parent;return t}),indexPath:n}}function Bn(e){return T(()=>{const n=e.backgroundColor;return n?new Mt(n).shade(20).toString():""})}const mt=(e,a)=>{const n=V("menu");return T(()=>n.cssVarBlock({"text-color":e.textColor||"","hover-text-color":e.textColor||"","bg-color":e.backgroundColor||"","hover-bg-color":Bn(e).value||"","active-color":e.activeTextColor||"",level:`${a}`}))},In=pe({index:{type:String,required:!0},showTimeout:Number,hideTimeout:Number,popperClass:String,disabled:Boolean,popperAppendToBody:{type:Boolean,default:void 0},teleported:{type:Boolean,default:void 0},popperOffset:Number,expandCloseIcon:{type:be},expandOpenIcon:{type:be},collapseCloseIcon:{type:be},collapseOpenIcon:{type:be}}),Ce="ElSubMenu";var He=D({name:Ce,props:In,setup(e,{slots:a,expose:n}){Xe({from:"popper-append-to-body",replacement:"teleported",scope:Ce,version:"2.3.0",ref:"https://element-plus.org/en-US/component/menu.html#submenu-attributes"},T(()=>e.popperAppendToBody!==void 0));const o=ve(),{indexPath:t,parentMenu:s}=ft(o,T(()=>e.index)),i=V("menu"),g=V("sub-menu"),l=se("rootMenu");l||de(Ce,"can not inject root menu");const m=se(`subMenu:${s.value.uid}`);m||de(Ce,"can not inject sub menu");const d=k({}),b=k({});let c;const v=k(!1),I=k(),N=k(null),h=T(()=>J.value==="horizontal"&&O.value?"bottom-start":"right-start"),P=T(()=>J.value==="horizontal"&&O.value||J.value==="vertical"&&!l.props.collapse?e.expandCloseIcon&&e.expandOpenIcon?K.value?e.expandOpenIcon:e.expandCloseIcon:wt:e.collapseCloseIcon&&e.collapseOpenIcon?K.value?e.collapseOpenIcon:e.collapseCloseIcon:Qe),O=T(()=>m.level===0),H=T(()=>{var f;const B=(f=e.teleported)!=null?f:e.popperAppendToBody;return B===void 0?O.value:B}),Y=T(()=>l.props.collapse?`${i.namespace.value}-zoom-in-left`:`${i.namespace.value}-zoom-in-top`),ne=T(()=>J.value==="horizontal"&&O.value?["bottom-start","bottom-end","top-start","top-end","right-start","left-start"]:["right-start","right","right-end","left-start","bottom-start","bottom-end","top-start","top-end"]),K=T(()=>l.openedMenus.includes(e.index)),le=T(()=>{let f=!1;return Object.values(d.value).forEach(B=>{B.active&&(f=!0)}),Object.values(b.value).forEach(B=>{B.active&&(f=!0)}),f}),J=T(()=>l.props.mode),w=xe({index:e.index,indexPath:t,active:le}),S=mt(l.props,m.level+1),C=T(()=>{var f;return(f=e.popperOffset)!=null?f:l.props.popperOffset}),z=T(()=>{var f;return(f=e.popperClass)!=null?f:l.props.popperClass}),r=T(()=>{var f;return(f=e.showTimeout)!=null?f:l.props.showTimeout}),p=T(()=>{var f;return(f=e.hideTimeout)!=null?f:l.props.hideTimeout}),y=()=>{var f,B,$;return($=(B=(f=N.value)==null?void 0:f.popperRef)==null?void 0:B.popperInstanceRef)==null?void 0:$.destroy()},A=f=>{f||y()},M=()=>{l.props.menuTrigger==="hover"&&l.props.mode==="horizontal"||l.props.collapse&&l.props.mode==="vertical"||e.disabled||l.handleSubMenuClick({index:e.index,indexPath:t.value,active:le.value})},X=(f,B=r.value)=>{var $;if(f.type!=="focus"){if(l.props.menuTrigger==="click"&&l.props.mode==="horizontal"||!l.props.collapse&&l.props.mode==="vertical"||e.disabled){m.mouseInChild.value=!0;return}m.mouseInChild.value=!0,c==null||c(),{stop:c}=ze(()=>{l.openMenu(e.index,t.value)},B),H.value&&(($=s.value.vnode.el)==null||$.dispatchEvent(new MouseEvent("mouseenter")))}},Z=(f=!1)=>{var B;if(l.props.menuTrigger==="click"&&l.props.mode==="horizontal"||!l.props.collapse&&l.props.mode==="vertical"){m.mouseInChild.value=!1;return}c==null||c(),m.mouseInChild.value=!1,{stop:c}=ze(()=>!v.value&&l.closeMenu(e.index,t.value),p.value),H.value&&f&&((B=m.handleMouseleave)==null||B.call(m,!0))};U(()=>l.props.collapse,f=>A(!!f));{const f=$=>{b.value[$.index]=$},B=$=>{delete b.value[$.index]};_e(`subMenu:${o.uid}`,{addSubMenu:f,removeSubMenu:B,handleMouseleave:Z,mouseInChild:v,level:m.level+1})}return n({opened:K}),he(()=>{l.addSubMenu(w),m.addSubMenu(w)}),Ze(()=>{m.removeSubMenu(w),l.removeSubMenu(w)}),()=>{var f;const B=[(f=a.title)==null?void 0:f.call(a),W(oe,{class:g.e("icon-arrow"),style:{transform:K.value?e.expandCloseIcon&&e.expandOpenIcon||e.collapseCloseIcon&&e.collapseOpenIcon&&l.props.collapse?"none":"rotateZ(180deg)":"none"}},{default:()=>ue(P.value)?W(o.appContext.components[P.value]):W(P.value)})],$=l.isMenuPopup?W(je,{ref:N,visible:K.value,effect:"light",pure:!0,offset:C.value,showArrow:!1,persistent:!0,popperClass:z.value,placement:h.value,teleported:H.value,fallbackPlacements:ne.value,transition:Y.value,gpuAcceleration:!1},{content:()=>{var ae;return W("div",{class:[i.m(J.value),i.m("popup-container"),z.value],onMouseenter:G=>X(G,100),onMouseleave:()=>Z(!0),onFocus:G=>X(G,100)},[W("ul",{class:[i.b(),i.m("popup"),i.m(`popup-${h.value}`)],style:S.value},[(ae=a.default)==null?void 0:ae.call(a)])])},default:()=>W("div",{class:g.e("title"),onClick:M},B)}):W(ce,{},[W("div",{class:g.e("title"),ref:I,onClick:M},B),W(rn,{},{default:()=>{var ae;return De(W("ul",{role:"menu",class:[i.b(),i.m("inline")],style:S.value},[(ae=a.default)==null?void 0:ae.call(a)]),[[Je,K.value]])}})]);return W("li",{class:[g.b(),g.is("active",le.value),g.is("opened",K.value),g.is("disabled",e.disabled)],role:"menuitem",ariaHaspopup:!0,ariaExpanded:K.value,onMouseenter:X,onMouseleave:()=>Z(),onFocus:X},[$])}}});const Pn=pe({mode:{type:String,values:["horizontal","vertical"],default:"vertical"},defaultActive:{type:String,default:""},defaultOpeneds:{type:me(Array),default:()=>Ne([])},uniqueOpened:Boolean,router:Boolean,menuTrigger:{type:String,values:["hover","click"],default:"hover"},collapse:Boolean,backgroundColor:String,textColor:String,activeTextColor:String,closeOnClickOutside:Boolean,collapseTransition:{type:Boolean,default:!0},ellipsis:{type:Boolean,default:!0},popperOffset:{type:Number,default:6},ellipsisIcon:{type:be,default:()=>Tt},popperEffect:{type:String,values:["dark","light"],default:"dark"},popperClass:String,showTimeout:{type:Number,default:300},hideTimeout:{type:Number,default:300}}),Se=e=>Array.isArray(e)&&e.every(a=>ue(a)),Nn={close:(e,a)=>ue(e)&&Se(a),open:(e,a)=>ue(e)&&Se(a),select:(e,a,n,o)=>ue(e)&&Se(a)&&Ut(n)&&(o===void 0||o instanceof Promise)};var On=D({name:"ElMenu",props:Pn,emits:Nn,setup(e,{emit:a,slots:n,expose:o}){const t=ve(),s=t.appContext.config.globalProperties.$router,i=k(),g=V("menu"),l=V("sub-menu"),m=k(-1),d=k(e.defaultOpeneds&&!e.collapse?e.defaultOpeneds.slice(0):[]),b=k(e.defaultActive),c=k({}),v=k({}),I=T(()=>e.mode==="horizontal"||e.mode==="vertical"&&e.collapse),N=()=>{const r=b.value&&c.value[b.value];if(!r||e.mode==="horizontal"||e.collapse)return;r.indexPath.forEach(y=>{const A=v.value[y];A&&h(y,A.indexPath)})},h=(r,p)=>{d.value.includes(r)||(e.uniqueOpened&&(d.value=d.value.filter(y=>p.includes(y))),d.value.push(r),a("open",r,p))},P=r=>{const p=d.value.indexOf(r);p!==-1&&d.value.splice(p,1)},O=(r,p)=>{P(r),a("close",r,p)},H=({index:r,indexPath:p})=>{d.value.includes(r)?O(r,p):h(r,p)},Y=r=>{(e.mode==="horizontal"||e.collapse)&&(d.value=[]);const{index:p,indexPath:y}=r;if(!(We(p)||We(y)))if(e.router&&s){const A=r.route||p,M=s.push(A).then(X=>(X||(b.value=p),X));a("select",p,y,{index:p,indexPath:y,route:A},M)}else b.value=p,a("select",p,y,{index:p,indexPath:y})},ne=r=>{const p=c.value,y=p[r]||b.value&&p[b.value]||p[e.defaultActive];y?b.value=y.index:b.value=r},K=()=>{var r,p;if(!i.value)return-1;const y=Array.from((p=(r=i.value)==null?void 0:r.childNodes)!=null?p:[]).filter($=>$.nodeName!=="#comment"&&($.nodeName!=="#text"||$.nodeValue)),A=64,M=Number.parseInt(getComputedStyle(i.value).paddingLeft,10),X=Number.parseInt(getComputedStyle(i.value).paddingRight,10),Z=i.value.clientWidth-M-X;let f=0,B=0;return y.forEach(($,ae)=>{f+=$.offsetWidth||0,f<=Z-A&&(B=ae+1)}),B===y.length?-1:B},le=r=>v.value[r].indexPath,J=(r,p=33.34)=>{let y;return()=>{y&&clearTimeout(y),y=setTimeout(()=>{r()},p)}};let w=!0;const S=()=>{const r=()=>{m.value=-1,ge(()=>{m.value=K()})};w?r():J(r)(),w=!1};U(()=>e.defaultActive,r=>{c.value[r]||(b.value=""),ne(r)}),U(()=>e.collapse,r=>{r&&(d.value=[])}),U(c.value,N);let C;qt(()=>{e.mode==="horizontal"&&e.ellipsis?C=Oe(i,S).stop:C==null||C()});const z=k(!1);{const r=M=>{v.value[M.index]=M},p=M=>{delete v.value[M.index]};_e("rootMenu",xe({props:e,openedMenus:d,items:c,subMenus:v,activeIndex:b,isMenuPopup:I,addMenuItem:M=>{c.value[M.index]=M},removeMenuItem:M=>{delete c.value[M.index]},addSubMenu:r,removeSubMenu:p,openMenu:h,closeMenu:O,handleMenuItemClick:Y,handleSubMenuClick:H})),_e(`subMenu:${t.uid}`,{addSubMenu:r,removeSubMenu:p,mouseInChild:z,level:0})}return he(()=>{e.mode==="horizontal"&&new En(t.vnode.el,g.namespace.value)}),o({open:p=>{const{indexPath:y}=v.value[p];y.forEach(A=>h(A,y))},close:P,handleResize:S}),()=>{var r,p;let y=(p=(r=n.default)==null?void 0:r.call(n))!=null?p:[];const A=[];if(e.mode==="horizontal"&&i.value){const f=lt(y),B=m.value===-1?f:f.slice(0,m.value),$=m.value===-1?[]:f.slice(m.value);$!=null&&$.length&&e.ellipsis&&(y=B,A.push(W(He,{index:"sub-menu-more",class:l.e("hide-arrow"),popperOffset:e.popperOffset},{title:()=>W(oe,{class:l.e("icon-more")},{default:()=>W(e.ellipsisIcon)}),default:()=>$})))}const M=mt(e,0),X=e.closeOnClickOutside?[[Wt,()=>{d.value.length&&(z.value||(d.value.forEach(f=>a("close",f,le(f))),d.value=[]))}]]:[],Z=De(W("ul",{key:String(e.collapse),role:"menubar",ref:i,style:M.value,class:{[g.b()]:!0,[g.m(e.mode)]:!0,[g.m("collapse")]:e.collapse}},[...y,...A]),X);return e.collapseTransition&&e.mode==="vertical"?W(kn,()=>Z):Z}}});const $n=pe({index:{type:me([String,null]),default:null},route:{type:me([String,Object])},disabled:Boolean}),Dn={click:e=>ue(e.index)&&Array.isArray(e.indexPath)},ke="ElMenuItem",Hn=D({name:ke,components:{ElTooltip:je},props:$n,emits:Dn,setup(e,{emit:a}){const n=ve(),o=se("rootMenu"),t=V("menu"),s=V("menu-item");o||de(ke,"can not inject root menu");const{parentMenu:i,indexPath:g}=ft(n,Kt(e,"index")),l=se(`subMenu:${i.value.uid}`);l||de(ke,"can not inject sub menu");const m=T(()=>e.index===o.activeIndex),d=xe({index:e.index,indexPath:g,active:m}),b=()=>{e.disabled||(o.handleMenuItemClick({index:e.index,indexPath:g.value,route:e.route}),a("click",d))};return he(()=>{l.addSubMenu(d),o.addMenuItem(d)}),Ze(()=>{l.removeSubMenu(d),o.removeMenuItem(d)}),{parentMenu:i,rootMenu:o,active:m,nsMenu:t,nsMenuItem:s,handleClick:b}}});function zn(e,a,n,o,t,s){const i=Ge("el-tooltip");return E(),R("li",{class:ee([e.nsMenuItem.b(),e.nsMenuItem.is("active",e.active),e.nsMenuItem.is("disabled",e.disabled)]),role:"menuitem",tabindex:"-1",onClick:a[0]||(a[0]=(...g)=>e.handleClick&&e.handleClick(...g))},[e.parentMenu.type.name==="ElMenu"&&e.rootMenu.props.collapse&&e.$slots.title?(E(),q(i,{key:0,effect:e.rootMenu.props.popperEffect,placement:"right","fallback-placements":["left"],persistent:""},{content:_(()=>[L(e.$slots,"title")]),default:_(()=>[F("div",{class:ee(e.nsMenu.be("tooltip","trigger"))},[L(e.$slots,"default")],2)]),_:3},8,["effect"])):(E(),R(ce,{key:1},[L(e.$slots,"default"),L(e.$slots,"title")],64))],2)}var ht=te(Hn,[["render",zn],["__file","menu-item.vue"]]);const Fn={title:String},Vn="ElMenuItemGroup",Rn=D({name:Vn,props:Fn,setup(){return{ns:V("menu-item-group")}}});function Yn(e,a,n,o,t,s){return E(),R("li",{class:ee(e.ns.b())},[F("div",{class:ee(e.ns.e("title"))},[e.$slots.title?L(e.$slots,"title",{key:1}):(E(),R(ce,{key:0},[j(fe(e.title),1)],64))],2),F("ul",null,[L(e.$slots,"default")])],2)}var bt=te(Rn,[["render",Yn],["__file","menu-item-group.vue"]]);const Wn=$e(On,{MenuItem:ht,MenuItemGroup:bt,SubMenu:He}),Ln=re(ht);re(bt);const Xn=re(He),Ee=Symbol("tabsRootContextKey"),Qn=pe({tabs:{type:me(Array),default:()=>Ne([])}}),_t="ElTabBar",jn=D({name:_t}),qn=D({...jn,props:Qn,setup(e,{expose:a}){const n=e,o=ve(),t=se(Ee);t||de(_t,"");const s=V("tabs"),i=k(),g=k(),l=()=>{let d=0,b=0;const c=["top","bottom"].includes(t.props.tabPosition)?"width":"height",v=c==="width"?"x":"y",I=v==="x"?"left":"top";return n.tabs.every(N=>{var h,P;const O=(P=(h=o.parent)==null?void 0:h.refs)==null?void 0:P[`tab-${N.uid}`];if(!O)return!1;if(!N.active)return!0;d=O[`offset${ie(I)}`],b=O[`client${ie(c)}`];const H=window.getComputedStyle(O);return c==="width"&&(n.tabs.length>1&&(b-=Number.parseFloat(H.paddingLeft)+Number.parseFloat(H.paddingRight)),d+=Number.parseFloat(H.paddingLeft)),!1}),{[c]:`${b}px`,transform:`translate${ie(v)}(${d}px)`}},m=()=>g.value=l();return U(()=>n.tabs,async()=>{await ge(),m()},{immediate:!0}),Oe(i,()=>m()),a({ref:i,update:m}),(d,b)=>(E(),R("div",{ref_key:"barRef",ref:i,class:ee([x(s).e("active-bar"),x(s).is(x(t).props.tabPosition)]),style:Te(g.value)},null,6))}});var Un=te(qn,[["__file","tab-bar.vue"]]);const Kn=pe({panes:{type:me(Array),default:()=>Ne([])},currentName:{type:[String,Number],default:""},editable:Boolean,type:{type:String,values:["card","border-card",""],default:""},stretch:Boolean}),Zn={tabClick:(e,a,n)=>n instanceof Event,tabRemove:(e,a)=>a instanceof Event},Le="ElTabNav",Jn=D({name:Le,props:Kn,emits:Zn,setup(e,{expose:a,emit:n}){const o=ve(),t=se(Ee);t||de(Le,"");const s=V("tabs"),i=xt(),g=Et(),l=k(),m=k(),d=k(),b=k(),c=k(!1),v=k(0),I=k(!1),N=k(!0),h=T(()=>["top","bottom"].includes(t.props.tabPosition)?"width":"height"),P=T(()=>({transform:`translate${h.value==="width"?"X":"Y"}(-${v.value}px)`})),O=()=>{if(!l.value)return;const w=l.value[`offset${ie(h.value)}`],S=v.value;if(!S)return;const C=S>w?S-w:0;v.value=C},H=()=>{if(!l.value||!m.value)return;const w=m.value[`offset${ie(h.value)}`],S=l.value[`offset${ie(h.value)}`],C=v.value;if(w-C<=S)return;const z=w-C>S*2?C+S:w-S;v.value=z},Y=async()=>{const w=m.value;if(!c.value||!d.value||!l.value||!w)return;await ge();const S=d.value.querySelector(".is-active");if(!S)return;const C=l.value,z=["top","bottom"].includes(t.props.tabPosition),r=S.getBoundingClientRect(),p=C.getBoundingClientRect(),y=z?w.offsetWidth-p.width:w.offsetHeight-p.height,A=v.value;let M=A;z?(r.leftp.right&&(M=A+r.right-p.right)):(r.topp.bottom&&(M=A+(r.bottom-p.bottom))),M=Math.max(M,0),v.value=Math.min(M,y)},ne=()=>{var w;if(!m.value||!l.value)return;e.stretch&&((w=b.value)==null||w.update());const S=m.value[`offset${ie(h.value)}`],C=l.value[`offset${ie(h.value)}`],z=v.value;C0&&(v.value=0))},K=w=>{const S=w.code,{up:C,down:z,left:r,right:p}=Q;if(![C,z,r,p].includes(S))return;const y=Array.from(w.currentTarget.querySelectorAll("[role=tab]:not(.is-disabled)")),A=y.indexOf(w.target);let M;S===r||S===C?A===0?M=y.length-1:M=A-1:A{N.value&&(I.value=!0)},J=()=>I.value=!1;return U(i,w=>{w==="hidden"?N.value=!1:w==="visible"&&setTimeout(()=>N.value=!0,50)}),U(g,w=>{w?setTimeout(()=>N.value=!0,50):N.value=!1}),Oe(d,ne),he(()=>setTimeout(()=>Y(),0)),Zt(()=>ne()),a({scrollToActiveTab:Y,removeFocus:J}),U(()=>e.panes,()=>o.update(),{flush:"post",deep:!0}),()=>{const w=c.value?[u("span",{class:[s.e("nav-prev"),s.is("disabled",!c.value.prev)],onClick:O},[u(oe,null,{default:()=>[u(At,null,null)]})]),u("span",{class:[s.e("nav-next"),s.is("disabled",!c.value.next)],onClick:H},[u(oe,null,{default:()=>[u(Qe,null,null)]})])]:null,S=e.panes.map((C,z)=>{var r,p,y,A;const M=C.uid,X=C.props.disabled,Z=(p=(r=C.props.name)!=null?r:C.index)!=null?p:`${z}`,f=!X&&(C.isClosable||e.editable);C.index=`${z}`;const B=f?u(oe,{class:"is-icon-close",onClick:G=>n("tabRemove",C,G)},{default:()=>[u(St,null,null)]}):null,$=((A=(y=C.slots).label)==null?void 0:A.call(y))||C.props.label,ae=!X&&C.active?0:-1;return u("div",{ref:`tab-${M}`,class:[s.e("item"),s.is(t.props.tabPosition),s.is("active",C.active),s.is("disabled",X),s.is("closable",f),s.is("focus",I.value)],id:`tab-${Z}`,key:`tab-${M}`,"aria-controls":`pane-${Z}`,role:"tab","aria-selected":C.active,tabindex:ae,onFocus:()=>le(),onBlur:()=>J(),onClick:G=>{J(),n("tabClick",C,Z,G)},onKeydown:G=>{f&&(G.code===Q.delete||G.code===Q.backspace)&&n("tabRemove",C,G)}},[$,B])});return u("div",{ref:d,class:[s.e("nav-wrap"),s.is("scrollable",!!c.value),s.is(t.props.tabPosition)]},[w,u("div",{class:s.e("nav-scroll"),ref:l},[u("div",{class:[s.e("nav"),s.is(t.props.tabPosition),s.is("stretch",e.stretch&&["top","bottom"].includes(t.props.tabPosition))],ref:m,style:P.value,role:"tablist",onKeydown:K},[e.type?null:u(Un,{ref:b,tabs:[...e.panes]},null),S])])])}}}),Gn=pe({type:{type:String,values:["card","border-card",""],default:""},activeName:{type:[String,Number]},closable:Boolean,addable:Boolean,modelValue:{type:[String,Number]},editable:Boolean,tabPosition:{type:String,values:["top","right","bottom","left"],default:"top"},beforeLeave:{type:me(Function),default:()=>!0},stretch:Boolean}),Be=e=>ue(e)||Jt(e),ea={[st]:e=>Be(e),tabClick:(e,a)=>a instanceof Event,tabChange:e=>Be(e),edit:(e,a)=>["remove","add"].includes(a),tabRemove:e=>Be(e),tabAdd:()=>!0},ta=D({name:"ElTabs",props:Gn,emits:ea,setup(e,{emit:a,slots:n,expose:o}){var t,s;const i=V("tabs"),{children:g,addChild:l,removeChild:m}=on(ve(),"ElTabPane"),d=k(),b=k((s=(t=e.modelValue)!=null?t:e.activeName)!=null?s:"0"),c=async(h,P=!1)=>{var O,H,Y;if(!(b.value===h||Re(h)))try{await((O=e.beforeLeave)==null?void 0:O.call(e,h,b.value))!==!1&&(b.value=h,P&&(a(st,h),a("tabChange",h)),(Y=(H=d.value)==null?void 0:H.removeFocus)==null||Y.call(H))}catch{}},v=(h,P,O)=>{h.props.disabled||(c(P,!0),a("tabClick",h,O))},I=(h,P)=>{h.props.disabled||Re(h.props.name)||(P.stopPropagation(),a("edit",h.props.name,"remove"),a("tabRemove",h.props.name))},N=()=>{a("edit",void 0,"add"),a("tabAdd")};return Xe({from:'"activeName"',replacement:'"model-value" or "v-model"',scope:"ElTabs",version:"2.3.0",ref:"https://element-plus.org/en-US/component/tabs.html#attributes",type:"Attribute"},T(()=>!!e.activeName)),U(()=>e.activeName,h=>c(h)),U(()=>e.modelValue,h=>c(h)),U(b,async()=>{var h;await ge(),(h=d.value)==null||h.scrollToActiveTab()}),_e(Ee,{props:e,currentName:b,registerPane:l,unregisterPane:m}),o({currentName:b}),()=>{const h=n.addIcon,P=e.editable||e.addable?u("span",{class:i.e("new-tab"),tabindex:"0",onClick:N,onKeydown:Y=>{Y.code===Q.enter&&N()}},[h?L(n,"addIcon"):u(oe,{class:i.is("icon-plus")},{default:()=>[u(kt,null,null)]})]):null,O=u("div",{class:[i.e("header"),i.is(e.tabPosition)]},[P,u(Jn,{ref:d,currentName:b.value,editable:e.editable,type:e.type,panes:g.value,stretch:e.stretch,onTabClick:v,onTabRemove:I},null)]),H=u("div",{class:i.e("content")},[L(n,"default")]);return u("div",{class:[i.b(),i.m(e.tabPosition),{[i.m("card")]:e.type==="card",[i.m("border-card")]:e.type==="border-card"}]},[...e.tabPosition!=="bottom"?[O,H]:[H,O]])}}}),na=pe({label:{type:String,default:""},name:{type:[String,Number]},closable:Boolean,disabled:Boolean,lazy:Boolean}),aa=["id","aria-hidden","aria-labelledby"],gt="ElTabPane",oa=D({name:gt}),sa=D({...oa,props:na,setup(e){const a=e,n=ve(),o=Ke(),t=se(Ee);t||de(gt,"usage: ");const s=V("tab-pane"),i=k(),g=T(()=>a.closable||t.props.closable),l=Fe(()=>{var v;return t.currentName.value===((v=a.name)!=null?v:i.value)}),m=k(l.value),d=T(()=>{var v;return(v=a.name)!=null?v:i.value}),b=Fe(()=>!a.lazy||m.value||l.value);U(l,v=>{v&&(m.value=!0)});const c=xe({uid:n.uid,slots:o,props:a,paneName:d,active:l,index:i,isClosable:g});return he(()=>{t.registerPane(c)}),Gt(()=>{t.unregisterPane(c.uid)}),(v,I)=>x(b)?De((E(),R("div",{key:0,id:`pane-${x(d)}`,class:ee(x(s).b()),role:"tabpanel","aria-hidden":!x(l),"aria-labelledby":`tab-${x(d)}`},[L(v.$slots,"default")],10,aa)),[[Je,x(l)]]):et("v-if",!0)}});var yt=te(sa,[["__file","tab-pane.vue"]]);const la=$e(ta,{TabPane:yt}),ia=re(yt);const ra="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAATwAAABCCAMAAAD9hJoxAAAAjVBMVEUAAABmYmBmYmBmYmBmYmBmYmBmYmBmYmBmYmBmYmBmYmBmYmDMCCPMCCNmYmBmYmDMCCPMCCPMCCPnQhDMCCPMCCPXIhtmYmBmYmDnQhDnQhDMCCPMCCPnQhDMCCPnQhDMCCPnQhDMCCPMCCPnQhDnQhDnQhDnQhDMCCPnQhDnQhDnQhBmYmDMCCPnQhBOmYs0AAAALHRSTlMAgMBA8BCg4GAg0FDwwDBwgEBgQDAQILCQgPDg0NigYHAwsJAQwKCwUHBQkHnnoZMAAAfHSURBVHja7ZzretowDIad8/kEhFCgFNqtpV3C/V/e1rXBceRIdjpv3Z59f8lBeSPJsuXAPoPq4/2+e1WWlYs1+y9NVVV5v+t+avewYv+lrdVx/86vrNmflpNY70pyhikqGntSm0J+crKxEfmWM4vfoXvTAcE3+9bCYyE4Qj9uBdnWFEDPbwm5mwjYH7SUXMtj+lrfv9FLS8alfWtfyk/gMelIcStTYEUMKndbBfkiiLDlwvDNyn998qsYEHlrDiefA8/xMQYAnxe3SgqGxiStouI5zlf3sVvKHq9V1UYbXuRrOoPVKsod0Atao/TY4p1eVsO81c68Nw2vcOlLiv7stqoKPD3Hg0bq09uvx87RtrPo0fC8RsmFQiQKMPn9SZtWQyFDtby7edXzUk4vXWEZj6anDM+L9Z+naDUUwdChFSDkXp62l6ue7r7I6NVolrF7EX4P4RHs3KZwXlX4LqAnNcZNxAuGAXA9CK+JRkXS+Dkma8y724uo7c0AX9lHbi3Aw7w6T8CTWgg8hF0wvHI4+jHhxqDjky++DU8Cz0FO4vZDnTg6rttB9Gbv9O4n4fmMzvoRDQ8+ZzG+qPhzxI1BH7MBzGl4rFEYMp4vct3wcjl9p3dkXIS90IlsCh6EE+dEMWwrGuO50DUhPHxIZBI9Xqb0CAK3WyHwSHoODg8+ZOCR5WVBGwMdOlaDx0TzPYQdSm/Xl3ta8JgXCDmZhueDehbKAvmLMAbWBorwbPDuQcwiuhuPuN0CgUe6SUTBi1qViwbgINoYB3D4OLzTBdX2Whn3WW+HwaPub1HwfKXKKgSupwsv+SXwvl5wfQVZb4HAo4wOCHiRYk3vgsM04Vm/At7dhdKyH3B7eDsEHhljEQ6vAC4FBOdV8Z+CBwu8p+flmi1fHrdj19v39CoMHlEsFTi8ACkdkUz6Z+Cd4LwCTDr6rPfQwzsow4OHNSi8HOQlpbgtfhO8iAn6NkpwwsLJl29CqVz18FIEHpn0UHgFUlYh7hwbhAfrm1oetY9MlhFv+3XRrtdZC14uEsHg2SISRJZ4Ue06r1CDF0he/HWShbDj9MbFSvegBY+JeQOD1yIpDy88aGOsGXWeI5tdZv0CHifHPQzE9XK0OtBlH4AXTsKD8y5EnhiEutOzNlKCF0tCvZLCOzGJvmwl8DoEHlkmI/AK4ByKb8QGxhAR6DIUHm9lwgOOJY9KELRw9nYH4K3MwPORtUf0oi5uDHwxjQK8JJauJD/0nncDHA+6Hh9uH7pe1Xx4NgIPjG0EPC5gDNEkDall+NjmxZAIN5OE7S2b0FdJ2B7NwAsQeET+x41J/JZYSaYVsml4T2xCNxJ4pRl44gPqwiMFjbX12bEs7eerYNUY6uXSTzr2M+H5s+DZOvASLXiBh8CjthlkXV8lb2l4y2tAdzPhWebhWVrwckbBQ1pQ2XVu/0TDO/WD7epfgRcyEh7Sx8w6WKvcMEqLfwOe6+juF4k9Ed6eFyJ8wCB0L8AzUeeJJpuB53vAMj16h65bj7s/W0aoTjm8yiw8/VIlVIMXFxFimcOV+JAeX1E/gvH2hYzaTwwPK1UC+1WWlTi4ZeLPjjuRQ86DtfQb3qzAlXWdsbktsfQ4v0iGouERqxTrYRvnVs31qo5r/wF4IQoPeRh0J4T3i+HB2XM07GDvryS3fdY7qTreQR8evZ4H85jO3NYAPGdidfEwdL0ToEc4XrfQgxerwkuQrbhoE8M2AY8F8qbAWdhsd7rt6d1NDrW7IbxaD57yMnykXuh5olsYgbeZyHqpsF3sy9N11FgyUWA1ip9I2itFwhB42LIKGlOhEXjiPRohbrvFcAJ7XZr6tsTKFH7evO5ZjMLzlUeMQhyYjcBjrjxuV+PtYuzl66ADOQK4SofsUvaBvq2PwgtbVQSNuMZrBp4/MYBlcIf2+vlpC1rfkF1XIvDoSgWF5ylP0MBWRRPwkokcXHWc3hDg8odOjCHs0loPntdq7FVpwMEqveDcEDzWTpiTvZGoGKUq7YDj6cArdHZJJUjcIht9TMFrJsxZ8XYEqrITtasJeGi1VBDwWCBpNVAbjEMj8GAODmD1ka2Rq6+zbqQz04Nn6e0MDVvtiwbMGDyvndh5VO876oPQuuzGOjA9eDmY4yDwoOvlChdNDMGD460tGwh2x1rmdWUK2O1rBB79DWxEw0vobw0jsFpkDF4CW7ew9E0P55HTLe47qHTFtOA5LpitUvBYQ9HLQV40BA/Wyf7UYJDel1X10yOr48O+k2qF9SaAch92/Gh4XiCe5OCfFSXMKLwNrFb4LE1LC2wsaBxB4SaGHT8aHgz11h+el9igfW0UXjSyhc2kl56xMY9WyBB46Afk8SZxGIuc0A/Al7Om4MFD4EELdXYrkNE02eHwYKqk5TOz8OBD2mACoaJ9jWdTuluKw4NjAq2CmYfHRqY4oA6mVWK1Ki070vuDBq9RfB/m4YX4995H0vmyFXJzWoGj/9cgTkB3r43Dg64Hr10/oOh2CzYhT4Xe3D+lCTF8Nr+oUXgwA7sROZvg2i8YogJ3EHuTMC4cHpTju/KA9XN4rDWQw9QU8lMapI9gWdTFwZSC+hszaLVv277Vq3AcD2taDxRiV7dd+D4+o85llg5c7nD8HH8AFznh9YXk7FOretNf9seD3wEp1Aq+q1JvwgAAAABJRU5ErkJggg==";const ua={class:"logo"},ca={__name:"index",props:{collapse:{type:Boolean,default:!1}},setup(e){const a=[{title:"首頁",icon:Bt,path:"/index",children:[{title:"首頁輪播",path:"/index/banner"},{title:"供應商",path:"/index/supplier"}]},{title:"關於普達",icon:It,path:"/about",children:[{title:"公司簡介",path:"/about/company"},{title:"經營理念",path:"/about/concept"}]},{title:"產品管理",icon:Pt,path:"/product",children:[{title:"產品列表",path:"/product/list"},{title:"產品類別",path:"/product/group"}]},{title:"最新消息",icon:Nt,path:"/news",children:[{title:"產業動態",path:"/news/list"},{title:"公司活動",path:"/news/activity"}]},{title:"聯絡我們",icon:Ot,path:"/contact",children:[{title:"表單信件",path:"/contact/email"},{title:"公司據點",path:"/contact/map"}]},{title:"權限管理",icon:Ve,path:"/priv",children:[{title:"管理員列表",path:"/priv/admin"},{title:"管理員紀錄",path:"/priv/adminlog"}]},{title:"站台設定",icon:Ve,path:"/site/config"}],n=(o,t)=>{en.push(o)};return(o,t)=>{const s=Lt,i=oe,g=Ln,l=Xn,m=Wn;return E(),q(m,{"active-text-color":"#fefefe","background-color":"#032121","text-color":"#ccc","unique-opened":"",class:"el-menu-vertical",collapse:e.collapse,"default-active":o.$route.path,onSelect:n},{default:_(()=>[F("div",ua,[u(s,{style:{width:"100px"},src:x(ra)},null,8,["src"])]),(E(),R(ce,null,Ie(a,(d,b)=>(E(),R(ce,{key:b},[d.children&&d.children.length>0?(E(),q(l,{key:0,index:d.path},{title:_(()=>[u(i,null,{default:_(()=>[(E(),q(Ye(d.icon)))]),_:2},1024),F("span",null,fe(d.title),1)]),default:_(()=>[(E(!0),R(ce,null,Ie(d.children,(c,v)=>(E(),q(g,{index:c.path},{default:_(()=>[j(fe(c.title),1)]),_:2},1032,["index"]))),256))]),_:2},1032,["index"])):(E(),q(g,{key:1,index:d.path},{default:_(()=>[u(i,null,{default:_(()=>[(E(),q(Ye(d.icon)))]),_:2},1024),F("span",null,fe(d.title),1)]),_:2},1032,["index"]))],64))),64))]),_:1},8,["collapse","default-active"])}}},da=ot(ca,[["__scopeId","data-v-52d96f34"]]);const pa={class:"admin-header"},va={class:"header-nav header-layout-left"},fa={class:"header-nav-item header-flexible"},ma={class:"header-nav"},ha={class:"header-nav-item header-flexible",style:{cursor:"pointer"}},ba={class:"header-avatar",style:{marginRight:"5px"}},_a={class:"header-avatar"},ga={__name:"index",props:{collapse:{type:Boolean,default:!1}},emits:["toggleClospe"],setup(e,{emit:a}){const n=a,o=tt(),t=nt(),s={tw:"繁體",cn:"簡體",en:"EN"},i=se("reload"),g=()=>{n("toggleClospe")},l=b=>{t.setLang(b),i()},m=()=>{sessionStorage.removeItem("token"),o.push("/login")},d=()=>{alert("button click")};return(b,c)=>{const v=oe,I=it,N=rt,h=ut;return E(),R("div",pa,[F("ul",va,[F("li",fa,[e.collapse?(E(),q(v,{key:0,size:20,color:"#666",onClick:g},{default:_(()=>[u(x($t))]),_:1})):(E(),q(v,{key:1,size:20,color:"#666",onClick:g},{default:_(()=>[u(x(Dt))]),_:1}))])]),F("ul",ma,[F("li",ha,[u(h,{onClick:d},{dropdown:_(()=>[u(N,null,{default:_(()=>[u(I,{onClick:c[0]||(c[0]=P=>l("tw"))},{default:_(()=>[j("繁體")]),_:1}),u(I,{onClick:c[1]||(c[1]=P=>l("cn"))},{default:_(()=>[j("簡體")]),_:1}),u(I,{onClick:c[2]||(c[2]=P=>l("en"))},{default:_(()=>[j("EN")]),_:1})]),_:1})]),default:_(()=>[F("div",ba,[u(v,{size:13,style:{marginRight:"5px"}},{default:_(()=>[u(x(Ht))]),_:1}),j(" "+fe(s[x(t).lang])+" - 語言切換 ",1)])]),_:1}),u(h,{"hide-on-click":!1},{dropdown:_(()=>[u(N,null,{default:_(()=>[u(I,null,{default:_(()=>[j("資料修改")]),_:1}),u(I,{onClick:Pe(m,["stop"])},{default:_(()=>[j("登出")]),_:1})]),_:1})]),default:_(()=>[F("div",_a,[u(v,{size:13,style:{marginRight:"5px"}},{default:_(()=>[u(x(zt))]),_:1}),j(" Admin ")])]),_:1})])])])}}};const ya=tn("tabs",{state:()=>({activeTab:"/",visitedViews:[]}),actions:{setActiveTab(e){this.activeTab=e},addTab(e){this.setActiveTab(e.path),e.path!=="/home"&&(this.visitedViews.some(a=>a.path===e.path)||this.visitedViews.push(e))},removeTab(e){const a=this.visitedViews.indexOf(e);this.visitedViews.splice(a,1)},closeOtherTabs(){this.visitedViews=this.visitedViews.filter(e=>e.path===this.activeTab)},closeAllTabs(){this.visitedViews=[]}}});const Ca={class:"main-tabs-view"},Ma={class:"tab-content"},wa={class:"tab-content"},Ta={class:"el-dropdown-link"},xa={__name:"index",setup(e){const a=tt(),n=at(),o=ya(),{visitedViews:t}=nn(o),s=se("reload"),i=T({get:()=>o.activeTab,set:c=>{o.setActiveTab(c)}});he(()=>{b()}),U(n,()=>{b()});const g=c=>{a.push(c.props.name)},l=c=>{if(t.value.length===1)a.push("/");else if(c.path===i.value){const v=t.value.findIndex(N=>N.path===c.path),I=t.value[v-1];i.value=I.path,a.push(I.path)}o.removeTab(c)},m=()=>{o.closeOtherTabs()},d=()=>{o.closeAllTabs()},b=()=>{n.path==="/login"||n.path==="/news/list/form"||n.path==="/product/list/form"||n.path&&o.addTab({path:n.path,title:n.meta.title})};return(c,v)=>{const I=oe,N=ia,h=la,P=it,O=rt,H=ut;return E(),R("div",Ca,[F("div",null,[u(h,{modelValue:i.value,"onUpdate:modelValue":v[0]||(v[0]=Y=>i.value=Y),type:"card",onTabClick:g},{default:_(()=>[u(N,{name:"/home"},{label:_(()=>[F("div",Ma,[u(I,null,{default:_(()=>[u(x(Ft))]),_:1})])]),_:1}),(E(!0),R(ce,null,Ie(x(t),Y=>(E(),q(N,{name:Y.path},{label:_(()=>[F("div",wa,[u(I,{onClick:Pe(x(s),["stop"])},{default:_(()=>[u(x(Vt))]),_:1},8,["onClick"]),j(" "+fe(Y.title)+" ",1),u(I,{onClick:Pe(ne=>l(Y),["stop"])},{default:_(()=>[u(x(Rt))]),_:2},1032,["onClick"])])]),_:2},1032,["name"]))),256))]),_:1},8,["modelValue"])]),F("div",null,[u(H,null,{dropdown:_(()=>[u(O,null,{default:_(()=>[u(P,{onClick:m},{default:_(()=>[j("關閉其他")]),_:1}),u(P,{onClick:d},{default:_(()=>[j("關閉全部")]),_:1})]),_:1})]),default:_(()=>[F("span",Ta,[u(I,null,{default:_(()=>[u(x(Yt))]),_:1})])]),_:1})])])}}},Ea=ot(xa,[["__scopeId","data-v-b7d2f3d3"]]),Aa={class:"admin-layout"},Sa={class:"tabs-block"},ka={class:"main-content"},Xa={__name:"AdminLayout",setup(e){const a=at(),n=nt(),o=k(!1),t=()=>{o.value=!o.value};T(()=>a.matched.filter(g=>g.meta.title)),T(()=>n.isMobile);const s=k(!0);return _e("reload",()=>{s.value=!1,ge(()=>{s.value=!0})}),(g,l)=>{const m=Cn,d=Ge("router-view"),b=wn,c=Mn,v=yn;return E(),R("div",Aa,[u(v,null,{default:_(()=>[u(m,{width:"auto",class:"side-scroll"},{default:_(()=>[u(da,{collapse:o.value},null,8,["collapse"])]),_:1}),u(v,null,{default:_(()=>[F("div",null,[u(ga,{collapse:o.value,onToggleClospe:t},null,8,["collapse"])]),u(b,null,{default:_(()=>[F("div",Sa,[u(Ea)]),F("div",ka,[s.value?(E(),q(d,{key:0})):et("",!0)])]),_:1}),u(c,null,{default:_(()=>[j("2023 © copyright ZL ")]),_:1})]),_:1})]),_:1})])}}};export{Xa as default}; diff --git a/nginx/html/admin/assets/AdminLayout-653d25c1.css b/nginx/html/admin/assets/AdminLayout-653d25c1.css new file mode 100644 index 0000000..64229ab --- /dev/null +++ b/nginx/html/admin/assets/AdminLayout-653d25c1.css @@ -0,0 +1 @@ +.el-container{display:flex;flex-direction:row;flex:1;flex-basis:auto;box-sizing:border-box;min-width:0}.el-container.is-vertical{flex-direction:column}.el-aside{overflow:auto;box-sizing:border-box;flex-shrink:0;width:var(--el-aside-width,300px)}.el-footer{--el-footer-padding:0 20px;--el-footer-height:60px;padding:var(--el-footer-padding);box-sizing:border-box;flex-shrink:0;height:var(--el-footer-height)}.el-header{--el-header-padding:0 20px;--el-header-height:60px;padding:var(--el-header-padding);box-sizing:border-box;flex-shrink:0;height:var(--el-header-height)}.el-main{--el-main-padding:20px;display:block;flex:1;flex-basis:auto;overflow:auto;box-sizing:border-box;padding:var(--el-main-padding)}.fade-in-linear-enter-active,.fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.fade-in-linear-enter-from,.fade-in-linear-leave-to{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.el-fade-in-linear-enter-from,.el-fade-in-linear-leave-to{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-fade-in-enter-from,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter-from,.el-zoom-in-center-leave-active{opacity:0;transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;transform:scaleY(1);transition:var(--el-transition-md-fade);transform-origin:center top}.el-zoom-in-top-enter-active[data-popper-placement^=top],.el-zoom-in-top-leave-active[data-popper-placement^=top]{transform-origin:center bottom}.el-zoom-in-top-enter-from,.el-zoom-in-top-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;transform:scaleY(1);transition:var(--el-transition-md-fade);transform-origin:center bottom}.el-zoom-in-bottom-enter-from,.el-zoom-in-bottom-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;transform:scale(1);transition:var(--el-transition-md-fade);transform-origin:top left}.el-zoom-in-left-enter-from,.el-zoom-in-left-leave-active{opacity:0;transform:scale(.45)}.collapse-transition{transition:var(--el-transition-duration) height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.el-collapse-transition-enter-active,.el-collapse-transition-leave-active{transition:var(--el-transition-duration) max-height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.horizontal-collapse-transition{transition:var(--el-transition-duration) width ease-in-out,var(--el-transition-duration) padding-left ease-in-out,var(--el-transition-duration) padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{transition:all 1s}.el-list-enter-from,.el-list-leave-to{opacity:0;transform:translateY(-30px)}.el-list-leave-active{position:absolute!important}.el-opacity-transition{transition:opacity var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}:root{--el-menu-active-color:var(--el-color-primary);--el-menu-text-color:var(--el-text-color-primary);--el-menu-hover-text-color:var(--el-color-primary);--el-menu-bg-color:var(--el-fill-color-blank);--el-menu-hover-bg-color:var(--el-color-primary-light-9);--el-menu-item-height:56px;--el-menu-sub-item-height:calc(var(--el-menu-item-height) - 6px);--el-menu-horizontal-height:60px;--el-menu-horizontal-sub-item-height:36px;--el-menu-item-font-size:var(--el-font-size-base);--el-menu-item-hover-fill:var(--el-color-primary-light-9);--el-menu-border-color:var(--el-border-color);--el-menu-base-level-padding:20px;--el-menu-level-padding:20px;--el-menu-icon-width:24px}.el-menu{border-right:solid 1px var(--el-menu-border-color);list-style:none;position:relative;margin:0;padding-left:0;background-color:var(--el-menu-bg-color);box-sizing:border-box}.el-menu--vertical:not(.el-menu--collapse):not(.el-menu--popup-container) .el-menu-item,.el-menu--vertical:not(.el-menu--collapse):not(.el-menu--popup-container) .el-menu-item-group__title,.el-menu--vertical:not(.el-menu--collapse):not(.el-menu--popup-container) .el-sub-menu__title{white-space:nowrap;padding-left:calc(var(--el-menu-base-level-padding) + var(--el-menu-level) * var(--el-menu-level-padding))}.el-menu:not(.el-menu--collapse) .el-sub-menu__title{padding-right:calc(var(--el-menu-base-level-padding) + var(--el-menu-icon-width))}.el-menu--horizontal{display:flex;flex-wrap:nowrap;border-right:none;height:var(--el-menu-horizontal-height)}.el-menu--horizontal.el-menu--popup-container{height:unset}.el-menu--horizontal.el-menu{border-bottom:solid 1px var(--el-menu-border-color)}.el-menu--horizontal>.el-menu-item{display:inline-flex;justify-content:center;align-items:center;height:100%;margin:0;border-bottom:2px solid transparent;color:var(--el-menu-text-color)}.el-menu--horizontal>.el-menu-item a,.el-menu--horizontal>.el-menu-item a:hover{color:inherit}.el-menu--horizontal>.el-sub-menu:focus,.el-menu--horizontal>.el-sub-menu:hover{outline:0}.el-menu--horizontal>.el-sub-menu:hover .el-sub-menu__title{color:var(--el-menu-hover-text-color)}.el-menu--horizontal>.el-sub-menu.is-active .el-sub-menu__title{border-bottom:2px solid var(--el-menu-active-color);color:var(--el-menu-active-color)}.el-menu--horizontal>.el-sub-menu .el-sub-menu__title{height:100%;border-bottom:2px solid transparent;color:var(--el-menu-text-color)}.el-menu--horizontal>.el-sub-menu .el-sub-menu__title:hover{background-color:var(--el-menu-bg-color)}.el-menu--horizontal .el-menu .el-menu-item,.el-menu--horizontal .el-menu .el-sub-menu__title{background-color:var(--el-menu-bg-color);display:flex;align-items:center;height:var(--el-menu-horizontal-sub-item-height);line-height:var(--el-menu-horizontal-sub-item-height);padding:0 10px;color:var(--el-menu-text-color)}.el-menu--horizontal .el-menu .el-sub-menu__title{padding-right:40px}.el-menu--horizontal .el-menu .el-menu-item.is-active,.el-menu--horizontal .el-menu .el-sub-menu.is-active>.el-sub-menu__title{color:var(--el-menu-active-color)}.el-menu--horizontal .el-menu-item:not(.is-disabled):focus,.el-menu--horizontal .el-menu-item:not(.is-disabled):hover{outline:0;color:var(--el-menu-hover-text-color);background-color:var(--el-menu-hover-bg-color)}.el-menu--horizontal>.el-menu-item.is-active{border-bottom:2px solid var(--el-menu-active-color);color:var(--el-menu-active-color)!important}.el-menu--collapse{width:calc(var(--el-menu-icon-width) + var(--el-menu-base-level-padding) * 2)}.el-menu--collapse>.el-menu-item [class^=el-icon],.el-menu--collapse>.el-menu-item-group>ul>.el-sub-menu>.el-sub-menu__title [class^=el-icon],.el-menu--collapse>.el-sub-menu>.el-sub-menu__title [class^=el-icon]{margin:0;vertical-align:middle;width:var(--el-menu-icon-width);text-align:center}.el-menu--collapse>.el-menu-item .el-sub-menu__icon-arrow,.el-menu--collapse>.el-menu-item-group>ul>.el-sub-menu>.el-sub-menu__title .el-sub-menu__icon-arrow,.el-menu--collapse>.el-sub-menu>.el-sub-menu__title .el-sub-menu__icon-arrow{display:none}.el-menu--collapse>.el-menu-item-group>ul>.el-sub-menu>.el-sub-menu__title>span,.el-menu--collapse>.el-menu-item>span,.el-menu--collapse>.el-sub-menu>.el-sub-menu__title>span{height:0;width:0;overflow:hidden;visibility:hidden;display:inline-block}.el-menu--collapse>.el-menu-item.is-active i{color:inherit}.el-menu--collapse .el-menu .el-sub-menu{min-width:200px}.el-menu--collapse .el-sub-menu.is-active .el-sub-menu__title{color:var(--el-menu-active-color)}.el-menu--popup{z-index:100;min-width:200px;border:none;padding:5px 0;border-radius:var(--el-border-radius-small);box-shadow:var(--el-box-shadow-light)}.el-menu .el-icon{flex-shrink:0}.el-menu-item{display:flex;align-items:center;height:var(--el-menu-item-height);line-height:var(--el-menu-item-height);font-size:var(--el-menu-item-font-size);color:var(--el-menu-text-color);padding:0 var(--el-menu-base-level-padding);list-style:none;cursor:pointer;position:relative;transition:border-color var(--el-transition-duration),background-color var(--el-transition-duration),color var(--el-transition-duration);box-sizing:border-box;white-space:nowrap}.el-menu-item *{vertical-align:bottom}.el-menu-item i{color:inherit}.el-menu-item:focus,.el-menu-item:hover{outline:0}.el-menu-item:hover{background-color:var(--el-menu-hover-bg-color)}.el-menu-item.is-disabled{opacity:.25;cursor:not-allowed;background:0 0!important}.el-menu-item [class^=el-icon]{margin-right:5px;width:var(--el-menu-icon-width);text-align:center;font-size:18px;vertical-align:middle}.el-menu-item.is-active{color:var(--el-menu-active-color)}.el-menu-item.is-active i{color:inherit}.el-menu-item .el-menu-tooltip__trigger{position:absolute;left:0;top:0;height:100%;width:100%;display:inline-flex;align-items:center;box-sizing:border-box;padding:0 var(--el-menu-base-level-padding)}.el-sub-menu{list-style:none;margin:0;padding-left:0}.el-sub-menu__title{display:flex;align-items:center;height:var(--el-menu-item-height);line-height:var(--el-menu-item-height);font-size:var(--el-menu-item-font-size);color:var(--el-menu-text-color);padding:0 var(--el-menu-base-level-padding);list-style:none;cursor:pointer;position:relative;transition:border-color var(--el-transition-duration),background-color var(--el-transition-duration),color var(--el-transition-duration);box-sizing:border-box;white-space:nowrap}.el-sub-menu__title *{vertical-align:bottom}.el-sub-menu__title i{color:inherit}.el-sub-menu__title:focus,.el-sub-menu__title:hover{outline:0}.el-sub-menu__title.is-disabled{opacity:.25;cursor:not-allowed;background:0 0!important}.el-sub-menu__title:hover{background-color:var(--el-menu-hover-bg-color)}.el-sub-menu .el-menu{border:none}.el-sub-menu .el-menu-item{height:var(--el-menu-sub-item-height);line-height:var(--el-menu-sub-item-height)}.el-sub-menu__hide-arrow .el-sub-menu__icon-arrow{display:none!important}.el-sub-menu.is-active .el-sub-menu__title{border-bottom-color:var(--el-menu-active-color)}.el-sub-menu.is-disabled .el-menu-item,.el-sub-menu.is-disabled .el-sub-menu__title{opacity:.25;cursor:not-allowed;background:0 0!important}.el-sub-menu .el-icon{vertical-align:middle;margin-right:5px;width:var(--el-menu-icon-width);text-align:center;font-size:18px}.el-sub-menu .el-icon.el-sub-menu__icon-more{margin-right:0!important}.el-sub-menu .el-sub-menu__icon-arrow{position:absolute;top:50%;right:var(--el-menu-base-level-padding);margin-top:-6px;transition:transform var(--el-transition-duration);font-size:12px;margin-right:0;width:inherit}.el-menu-item-group>ul{padding:0}.el-menu-item-group__title{padding:7px 0 7px var(--el-menu-base-level-padding);line-height:normal;font-size:12px;color:var(--el-text-color-secondary)}.horizontal-collapse-transition .el-sub-menu__title .el-sub-menu__icon-arrow{transition:var(--el-transition-duration-fast);opacity:0}.logo[data-v-52d96f34]{display:flex;justify-content:center;align-items:center;height:50px}.el-menu-vertical[data-v-52d96f34]:not(.el-menu--collapse){width:220px}.el-menu[data-v-52d96f34]{min-height:100vh;border:none}.el-menu .el-menu-item.is-active[data-v-52d96f34]{background-color:#13c2c2}.admin-header{display:flex;justify-content:space-between;align-items:center;height:50px;padding:0 5px;background-color:#fff;box-shadow:0 2px 4px #0000001f,0 0 2px #00000014}.admin-header .el-icon{cursor:pointer}.admin-header .header-nav{background:0 0}.admin-header .header-nav .header-nav-item{margin:0 10px}.el-dropdown-link{cursor:pointer;color:var(--el-color-primary);display:flex;align-items:center}.header-avatar{display:inline-flex;padding:5px 10px;color:#ddd;border:1px #ff7e4f solid;border-radius:20px}.header-avatar .avatar,.header-avatar .name{align-self:center}.header-avatar .avatar{margin-right:8px}.header-avatar .name{font-weight:500}.el-tabs{--el-tabs-header-height:40px}.el-tabs__header{padding:0;position:relative;margin:0 0 15px}.el-tabs__active-bar{position:absolute;bottom:0;left:0;height:2px;background-color:var(--el-color-primary);z-index:1;transition:width var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier),transform var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);list-style:none}.el-tabs__new-tab{display:flex;align-items:center;justify-content:center;float:right;border:1px solid var(--el-border-color);height:20px;width:20px;line-height:20px;margin:10px 0 10px 10px;border-radius:3px;text-align:center;font-size:12px;color:var(--el-text-color-primary);cursor:pointer;transition:all .15s}.el-tabs__new-tab .is-icon-plus{height:inherit;width:inherit;transform:scale(.8)}.el-tabs__new-tab .is-icon-plus svg{vertical-align:middle}.el-tabs__new-tab:hover{color:var(--el-color-primary)}.el-tabs__nav-wrap{overflow:hidden;margin-bottom:-1px;position:relative}.el-tabs__nav-wrap:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:2px;background-color:var(--el-border-color-light);z-index:var(--el-index-normal)}.el-tabs__nav-wrap.is-scrollable{padding:0 20px;box-sizing:border-box}.el-tabs__nav-scroll{overflow:hidden}.el-tabs__nav-next,.el-tabs__nav-prev{position:absolute;cursor:pointer;line-height:44px;font-size:12px;color:var(--el-text-color-secondary);width:20px;text-align:center}.el-tabs__nav-next{right:0}.el-tabs__nav-prev{left:0}.el-tabs__nav{display:flex;white-space:nowrap;position:relative;transition:transform var(--el-transition-duration);float:left;z-index:calc(var(--el-index-normal) + 1)}.el-tabs__nav.is-stretch{min-width:100%;display:flex}.el-tabs__nav.is-stretch>*{flex:1;text-align:center}.el-tabs__item{padding:0 20px;height:var(--el-tabs-header-height);box-sizing:border-box;display:flex;align-items:center;justify-content:center;list-style:none;font-size:var(--el-font-size-base);font-weight:500;color:var(--el-text-color-primary);position:relative}.el-tabs__item:focus,.el-tabs__item:focus:active{outline:0}.el-tabs__item:focus-visible{box-shadow:0 0 2px 2px var(--el-color-primary) inset;border-radius:3px}.el-tabs__item .is-icon-close{border-radius:50%;text-align:center;transition:all var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);margin-left:5px}.el-tabs__item .is-icon-close:before{transform:scale(.9);display:inline-block}.el-tabs__item .is-icon-close:hover{background-color:var(--el-text-color-placeholder);color:#fff}.el-tabs__item.is-active{color:var(--el-color-primary)}.el-tabs__item:hover{color:var(--el-color-primary);cursor:pointer}.el-tabs__item.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-tabs__content{overflow:hidden;position:relative}.el-tabs--card>.el-tabs__header{border-bottom:1px solid var(--el-border-color-light);height:var(--el-tabs-header-height)}.el-tabs--card>.el-tabs__header .el-tabs__nav-wrap:after{content:none}.el-tabs--card>.el-tabs__header .el-tabs__nav{border:1px solid var(--el-border-color-light);border-bottom:none;border-radius:4px 4px 0 0;box-sizing:border-box}.el-tabs--card>.el-tabs__header .el-tabs__active-bar{display:none}.el-tabs--card>.el-tabs__header .el-tabs__item .is-icon-close{position:relative;font-size:12px;width:0;height:14px;overflow:hidden;right:-2px;transform-origin:100% 50%}.el-tabs--card>.el-tabs__header .el-tabs__item{border-bottom:1px solid transparent;border-left:1px solid var(--el-border-color-light);transition:color var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier),padding var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier)}.el-tabs--card>.el-tabs__header .el-tabs__item:first-child{border-left:none}.el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover{padding-left:13px;padding-right:13px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover .is-icon-close{width:14px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active{border-bottom-color:var(--el-bg-color)}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable{padding-left:20px;padding-right:20px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable .is-icon-close{width:14px}.el-tabs--border-card{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color)}.el-tabs--border-card>.el-tabs__content{padding:15px}.el-tabs--border-card>.el-tabs__header{background-color:var(--el-fill-color-light);border-bottom:1px solid var(--el-border-color-light);margin:0}.el-tabs--border-card>.el-tabs__header .el-tabs__nav-wrap:after{content:none}.el-tabs--border-card>.el-tabs__header .el-tabs__item{transition:all var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);border:1px solid transparent;margin-top:-1px;color:var(--el-text-color-secondary)}.el-tabs--border-card>.el-tabs__header .el-tabs__item:first-child{margin-left:-1px}.el-tabs--border-card>.el-tabs__header .el-tabs__item+.el-tabs__item{margin-left:-1px}.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-active{color:var(--el-color-primary);background-color:var(--el-bg-color-overlay);border-right-color:var(--el-border-color);border-left-color:var(--el-border-color)}.el-tabs--border-card>.el-tabs__header .el-tabs__item:not(.is-disabled):hover{color:var(--el-color-primary)}.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-disabled{color:var(--el-disabled-text-color)}.el-tabs--border-card>.el-tabs__header .is-scrollable .el-tabs__item:first-child{margin-left:0}.el-tabs--bottom .el-tabs__item.is-bottom:nth-child(2),.el-tabs--bottom .el-tabs__item.is-top:nth-child(2),.el-tabs--top .el-tabs__item.is-bottom:nth-child(2),.el-tabs--top .el-tabs__item.is-top:nth-child(2){padding-left:0}.el-tabs--bottom .el-tabs__item.is-bottom:last-child,.el-tabs--bottom .el-tabs__item.is-top:last-child,.el-tabs--top .el-tabs__item.is-bottom:last-child,.el-tabs--top .el-tabs__item.is-top:last-child{padding-right:0}.el-tabs--bottom .el-tabs--left>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom .el-tabs--right>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top .el-tabs--left>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top .el-tabs--right>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2){padding-left:20px}.el-tabs--bottom .el-tabs--left>.el-tabs__header .el-tabs__item:nth-child(2):not(.is-active).is-closable:hover,.el-tabs--bottom .el-tabs--right>.el-tabs__header .el-tabs__item:nth-child(2):not(.is-active).is-closable:hover,.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2):not(.is-active).is-closable:hover,.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2):not(.is-active).is-closable:hover,.el-tabs--top .el-tabs--left>.el-tabs__header .el-tabs__item:nth-child(2):not(.is-active).is-closable:hover,.el-tabs--top .el-tabs--right>.el-tabs__header .el-tabs__item:nth-child(2):not(.is-active).is-closable:hover,.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2):not(.is-active).is-closable:hover,.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2):not(.is-active).is-closable:hover{padding-left:13px}.el-tabs--bottom .el-tabs--left>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom .el-tabs--right>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top .el-tabs--left>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top .el-tabs--right>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:last-child{padding-right:20px}.el-tabs--bottom .el-tabs--left>.el-tabs__header .el-tabs__item:last-child:not(.is-active).is-closable:hover,.el-tabs--bottom .el-tabs--right>.el-tabs__header .el-tabs__item:last-child:not(.is-active).is-closable:hover,.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child:not(.is-active).is-closable:hover,.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:last-child:not(.is-active).is-closable:hover,.el-tabs--top .el-tabs--left>.el-tabs__header .el-tabs__item:last-child:not(.is-active).is-closable:hover,.el-tabs--top .el-tabs--right>.el-tabs__header .el-tabs__item:last-child:not(.is-active).is-closable:hover,.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child:not(.is-active).is-closable:hover,.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:last-child:not(.is-active).is-closable:hover{padding-right:13px}.el-tabs--bottom .el-tabs__header.is-bottom{margin-bottom:0;margin-top:10px}.el-tabs--bottom.el-tabs--border-card .el-tabs__header.is-bottom{border-bottom:0;border-top:1px solid var(--el-border-color)}.el-tabs--bottom.el-tabs--border-card .el-tabs__nav-wrap.is-bottom{margin-top:-1px;margin-bottom:0}.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom:not(.is-active){border:1px solid transparent}.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom{margin:0 -1px -1px}.el-tabs--left,.el-tabs--right{overflow:hidden}.el-tabs--left .el-tabs__header.is-left,.el-tabs--left .el-tabs__header.is-right,.el-tabs--left .el-tabs__nav-scroll,.el-tabs--left .el-tabs__nav-wrap.is-left,.el-tabs--left .el-tabs__nav-wrap.is-right,.el-tabs--right .el-tabs__header.is-left,.el-tabs--right .el-tabs__header.is-right,.el-tabs--right .el-tabs__nav-scroll,.el-tabs--right .el-tabs__nav-wrap.is-left,.el-tabs--right .el-tabs__nav-wrap.is-right{height:100%}.el-tabs--left .el-tabs__active-bar.is-left,.el-tabs--left .el-tabs__active-bar.is-right,.el-tabs--right .el-tabs__active-bar.is-left,.el-tabs--right .el-tabs__active-bar.is-right{top:0;bottom:auto;width:2px;height:auto}.el-tabs--left .el-tabs__nav-wrap.is-left,.el-tabs--left .el-tabs__nav-wrap.is-right,.el-tabs--right .el-tabs__nav-wrap.is-left,.el-tabs--right .el-tabs__nav-wrap.is-right{margin-bottom:0}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev{height:30px;line-height:30px;width:100%;text-align:center;cursor:pointer}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next i,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev i,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next i,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev i,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next i,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev i,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next i,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev i{transform:rotate(90deg)}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev{left:auto;top:0}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next{right:auto;bottom:0}.el-tabs--left .el-tabs__nav-wrap.is-left.is-scrollable,.el-tabs--left .el-tabs__nav-wrap.is-right.is-scrollable,.el-tabs--right .el-tabs__nav-wrap.is-left.is-scrollable,.el-tabs--right .el-tabs__nav-wrap.is-right.is-scrollable{padding:30px 0}.el-tabs--left .el-tabs__nav-wrap.is-left:after,.el-tabs--left .el-tabs__nav-wrap.is-right:after,.el-tabs--right .el-tabs__nav-wrap.is-left:after,.el-tabs--right .el-tabs__nav-wrap.is-right:after{height:100%;width:2px;bottom:auto;top:0}.el-tabs--left .el-tabs__nav.is-left,.el-tabs--left .el-tabs__nav.is-right,.el-tabs--right .el-tabs__nav.is-left,.el-tabs--right .el-tabs__nav.is-right{flex-direction:column}.el-tabs--left .el-tabs__item.is-left,.el-tabs--right .el-tabs__item.is-left{justify-content:flex-end}.el-tabs--left .el-tabs__item.is-right,.el-tabs--right .el-tabs__item.is-right{justify-content:flex-start}.el-tabs--left .el-tabs__header.is-left{float:left;margin-bottom:0;margin-right:10px}.el-tabs--left .el-tabs__nav-wrap.is-left{margin-right:-1px}.el-tabs--left .el-tabs__nav-wrap.is-left:after{left:auto;right:0}.el-tabs--left .el-tabs__active-bar.is-left{right:0;left:auto}.el-tabs--left .el-tabs__item.is-left{text-align:right}.el-tabs--left.el-tabs--card .el-tabs__active-bar.is-left{display:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left{border-left:none;border-right:1px solid var(--el-border-color-light);border-bottom:none;border-top:1px solid var(--el-border-color-light);text-align:left}.el-tabs--left.el-tabs--card .el-tabs__item.is-left:first-child{border-right:1px solid var(--el-border-color-light);border-top:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active{border:1px solid var(--el-border-color-light);border-right-color:#fff;border-left:none;border-bottom:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:first-child{border-top:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:last-child{border-bottom:none}.el-tabs--left.el-tabs--card .el-tabs__nav{border-radius:4px 0 0 4px;border-bottom:1px solid var(--el-border-color-light);border-right:none}.el-tabs--left.el-tabs--card .el-tabs__new-tab{float:none}.el-tabs--left.el-tabs--border-card .el-tabs__header.is-left{border-right:1px solid var(--el-border-color)}.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left{border:1px solid transparent;margin:-1px 0 -1px -1px}.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left.is-active{border-color:transparent;border-top-color:#d1dbe5;border-bottom-color:#d1dbe5}.el-tabs--right .el-tabs__header.is-right{float:right;margin-bottom:0;margin-left:10px}.el-tabs--right .el-tabs__nav-wrap.is-right{margin-left:-1px}.el-tabs--right .el-tabs__nav-wrap.is-right:after{left:0;right:auto}.el-tabs--right .el-tabs__active-bar.is-right{left:0}.el-tabs--right.el-tabs--card .el-tabs__active-bar.is-right{display:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right{border-bottom:none;border-top:1px solid var(--el-border-color-light)}.el-tabs--right.el-tabs--card .el-tabs__item.is-right:first-child{border-left:1px solid var(--el-border-color-light);border-top:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active{border:1px solid var(--el-border-color-light);border-left-color:#fff;border-right:none;border-bottom:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:first-child{border-top:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:last-child{border-bottom:none}.el-tabs--right.el-tabs--card .el-tabs__nav{border-radius:0 4px 4px 0;border-bottom:1px solid var(--el-border-color-light);border-left:none}.el-tabs--right.el-tabs--border-card .el-tabs__header.is-right{border-left:1px solid var(--el-border-color)}.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right{border:1px solid transparent;margin:-1px -1px -1px 0}.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right.is-active{border-color:transparent;border-top-color:#d1dbe5;border-bottom-color:#d1dbe5}.slideInLeft-transition,.slideInRight-transition{display:inline-block}.slideInRight-enter{-webkit-animation:slideInRight-enter var(--el-transition-duration);animation:slideInRight-enter var(--el-transition-duration)}.slideInRight-leave{position:absolute;left:0;right:0;-webkit-animation:slideInRight-leave var(--el-transition-duration);animation:slideInRight-leave var(--el-transition-duration)}.slideInLeft-enter{-webkit-animation:slideInLeft-enter var(--el-transition-duration);animation:slideInLeft-enter var(--el-transition-duration)}.slideInLeft-leave{position:absolute;left:0;right:0;-webkit-animation:slideInLeft-leave var(--el-transition-duration);animation:slideInLeft-leave var(--el-transition-duration)}@-webkit-keyframes slideInRight-enter{0%{opacity:0;transform-origin:0 0;transform:translate(100%)}to{opacity:1;transform-origin:0 0;transform:translate(0)}}@keyframes slideInRight-enter{0%{opacity:0;transform-origin:0 0;transform:translate(100%)}to{opacity:1;transform-origin:0 0;transform:translate(0)}}@-webkit-keyframes slideInRight-leave{0%{transform-origin:0 0;transform:translate(0);opacity:1}to{transform-origin:0 0;transform:translate(100%);opacity:0}}@keyframes slideInRight-leave{0%{transform-origin:0 0;transform:translate(0);opacity:1}to{transform-origin:0 0;transform:translate(100%);opacity:0}}@-webkit-keyframes slideInLeft-enter{0%{opacity:0;transform-origin:0 0;transform:translate(-100%)}to{opacity:1;transform-origin:0 0;transform:translate(0)}}@keyframes slideInLeft-enter{0%{opacity:0;transform-origin:0 0;transform:translate(-100%)}to{opacity:1;transform-origin:0 0;transform:translate(0)}}@-webkit-keyframes slideInLeft-leave{0%{transform-origin:0 0;transform:translate(0);opacity:1}to{transform-origin:0 0;transform:translate(-100%);opacity:0}}@keyframes slideInLeft-leave{0%{transform-origin:0 0;transform:translate(0);opacity:1}to{transform-origin:0 0;transform:translate(-100%);opacity:0}}.main-tabs-view[data-v-b7d2f3d3]{display:flex;justify-content:space-between;align-items:center;height:100%}.main-tabs-view div[data-v-b7d2f3d3]:nth-child(1){flex:1 0 0%;overflow:hidden;overflow-x:auto}.main-tabs-view div[data-v-b7d2f3d3]:nth-child(2){flex:0 0 auto}[data-v-b7d2f3d3] .el-tabs{background-color:#f0f2f5}[data-v-b7d2f3d3] .el-tabs .el-tabs__nav{background-color:#fff}[data-v-b7d2f3d3] .el-tabs .el-tabs__header{margin:0!important}[data-v-b7d2f3d3] .el-tabs .el-tabs__header .el-tabs__item.is-active{border-bottom:2px solid #409eff;color:#409eff} diff --git a/nginx/html/admin/assets/AdminLayout-71e67a96.js b/nginx/html/admin/assets/AdminLayout-71e67a96.js new file mode 100644 index 0000000..50b867a --- /dev/null +++ b/nginx/html/admin/assets/AdminLayout-71e67a96.js @@ -0,0 +1 @@ +import{_ as te,a as ye,r as Ae,h as Ct,T as Mt,i as be,u as Xe,b as wt,c as Qe,E as oe,d as ze,m as Ne,e as Tt,f as Oe,g as xt,j as Et,k as At,l as St,p as kt,n as Fe,o as Bt,t as It,q as Pt,s as Nt,v as Ot,w as Ve,x as $t,y as Dt,z as Ht,A as zt,B as Ft,C as Vt,D as Rt,F as Yt}from"./el-button-dd91f3f6.js";import"./el-tooltip-4ed993c7.js";import{E as je,C as Wt}from"./el-scrollbar-4b72b7cb.js";import{t as Me}from"./el-icon-08628b36.js";import{E as Lt}from"./el-image-viewer-8dfbab81.js";import{s as Xt,i as Qt,d as D,u as V,o as E,c as q,w as _,r as L,m as qe,t as jt,a as x,T as Ue,b as Ke,e as T,f as R,n as ee,g as Te,h as $e,j as re,k as pe,l as ve,p as se,q as k,v as xe,x as U,y as _e,z as he,A as Ze,B as W,C as ue,D as De,E as Je,F as ce,G as me,H as qt,I as Ut,J as ge,K as Kt,L as Ge,M as F,N as j,O as fe,P as Zt,Q as u,R as Re,S as Jt,U as Gt,V as et,W as Ie,X as Ye,Y as en,Z as tt,_ as nt,$ as Pe,a0 as tn,a1 as at,a2 as nn}from"./index-a18521e5.js";import{_ as ot}from"./_plugin-vue_export-helper-c27b6911.js";import{E as Q}from"./aria-60e0cdc6.js";import{t as de,i as We,U as st}from"./index-d4f2f151.js";import{f as lt,E as it,a as rt,b as ut}from"./el-dropdown-item-1df26bce.js";import{c as ie}from"./strings-95c61f65.js";import"./castArray-3c50f72c.js";const an=(e,a,n)=>lt(e.subTree).filter(s=>{var i;return Qt(s)&&((i=s.type)==null?void 0:i.name)===a&&!!s.component}).map(s=>s.component.uid).map(s=>n[s]).filter(s=>!!s),on=(e,a)=>{const n={},o=Xt([]);return{children:o,addChild:i=>{n[i.uid]=i,o.value=an(e,a,n)},removeChild:i=>{delete n[i],o.value=o.value.filter(g=>g.uid!==i)}}},sn=D({name:"ElCollapseTransition"}),ln=D({...sn,setup(e){const a=V("collapse-transition"),n=t=>{t.style.maxHeight="",t.style.overflow=t.dataset.oldOverflow,t.style.paddingTop=t.dataset.oldPaddingTop,t.style.paddingBottom=t.dataset.oldPaddingBottom},o={beforeEnter(t){t.dataset||(t.dataset={}),t.dataset.oldPaddingTop=t.style.paddingTop,t.dataset.oldPaddingBottom=t.style.paddingBottom,t.style.height&&(t.dataset.elExistsHeight=t.style.height),t.style.maxHeight=0,t.style.paddingTop=0,t.style.paddingBottom=0},enter(t){requestAnimationFrame(()=>{t.dataset.oldOverflow=t.style.overflow,t.dataset.elExistsHeight?t.style.maxHeight=t.dataset.elExistsHeight:t.scrollHeight!==0?t.style.maxHeight=`${t.scrollHeight}px`:t.style.maxHeight=0,t.style.paddingTop=t.dataset.oldPaddingTop,t.style.paddingBottom=t.dataset.oldPaddingBottom,t.style.overflow="hidden"})},afterEnter(t){t.style.maxHeight="",t.style.overflow=t.dataset.oldOverflow},enterCancelled(t){n(t)},beforeLeave(t){t.dataset||(t.dataset={}),t.dataset.oldPaddingTop=t.style.paddingTop,t.dataset.oldPaddingBottom=t.style.paddingBottom,t.dataset.oldOverflow=t.style.overflow,t.style.maxHeight=`${t.scrollHeight}px`,t.style.overflow="hidden"},leave(t){t.scrollHeight!==0&&(t.style.maxHeight=0,t.style.paddingTop=0,t.style.paddingBottom=0)},afterLeave(t){n(t)},leaveCancelled(t){n(t)}};return(t,s)=>(E(),q(Ue,qe({name:x(a).b()},jt(o)),{default:_(()=>[L(t.$slots,"default")]),_:3},16,["name"]))}});var we=te(ln,[["__file","collapse-transition.vue"]]);we.install=e=>{e.component(we.name,we)};const rn=we,un=D({name:"ElContainer"}),cn=D({...un,props:{direction:{type:String}},setup(e){const a=e,n=Ke(),o=V("container"),t=T(()=>a.direction==="vertical"?!0:a.direction==="horizontal"?!1:n&&n.default?n.default().some(i=>{const g=i.type.name;return g==="ElHeader"||g==="ElFooter"}):!1);return(s,i)=>(E(),R("section",{class:ee([x(o).b(),x(o).is("vertical",x(t))])},[L(s.$slots,"default")],2))}});var dn=te(cn,[["__file","container.vue"]]);const pn=D({name:"ElAside"}),vn=D({...pn,props:{width:{type:String,default:null}},setup(e){const a=e,n=V("aside"),o=T(()=>a.width?n.cssVarBlock({width:a.width}):{});return(t,s)=>(E(),R("aside",{class:ee(x(n).b()),style:Te(x(o))},[L(t.$slots,"default")],6))}});var ct=te(vn,[["__file","aside.vue"]]);const fn=D({name:"ElFooter"}),mn=D({...fn,props:{height:{type:String,default:null}},setup(e){const a=e,n=V("footer"),o=T(()=>a.height?n.cssVarBlock({height:a.height}):{});return(t,s)=>(E(),R("footer",{class:ee(x(n).b()),style:Te(x(o))},[L(t.$slots,"default")],6))}});var dt=te(mn,[["__file","footer.vue"]]);const hn=D({name:"ElHeader"}),bn=D({...hn,props:{height:{type:String,default:null}},setup(e){const a=e,n=V("header"),o=T(()=>a.height?n.cssVarBlock({height:a.height}):{});return(t,s)=>(E(),R("header",{class:ee(x(n).b()),style:Te(x(o))},[L(t.$slots,"default")],6))}});var pt=te(bn,[["__file","header.vue"]]);const _n=D({name:"ElMain"}),gn=D({..._n,setup(e){const a=V("main");return(n,o)=>(E(),R("main",{class:ee(x(a).b())},[L(n.$slots,"default")],2))}});var vt=te(gn,[["__file","main.vue"]]);const yn=$e(dn,{Aside:ct,Footer:dt,Header:pt,Main:vt}),Cn=re(ct),Mn=re(dt);re(pt);const wn=re(vt);let Tn=class{constructor(a,n){this.parent=a,this.domNode=n,this.subIndex=0,this.subIndex=0,this.init()}init(){this.subMenuItems=this.domNode.querySelectorAll("li"),this.addListeners()}gotoSubIndex(a){a===this.subMenuItems.length?a=0:a<0&&(a=this.subMenuItems.length-1),this.subMenuItems[a].focus(),this.subIndex=a}addListeners(){const a=this.parent.domNode;Array.prototype.forEach.call(this.subMenuItems,n=>{n.addEventListener("keydown",o=>{let t=!1;switch(o.code){case Q.down:{this.gotoSubIndex(this.subIndex+1),t=!0;break}case Q.up:{this.gotoSubIndex(this.subIndex-1),t=!0;break}case Q.tab:{Me(a,"mouseleave");break}case Q.enter:case Q.space:{t=!0,o.currentTarget.click();break}}return t&&(o.preventDefault(),o.stopPropagation()),!1})})}},xn=class{constructor(a,n){this.domNode=a,this.submenu=null,this.submenu=null,this.init(n)}init(a){this.domNode.setAttribute("tabindex","0");const n=this.domNode.querySelector(`.${a}-menu`);n&&(this.submenu=new Tn(this,n)),this.addListeners()}addListeners(){this.domNode.addEventListener("keydown",a=>{let n=!1;switch(a.code){case Q.down:{Me(a.currentTarget,"mouseenter"),this.submenu&&this.submenu.gotoSubIndex(0),n=!0;break}case Q.up:{Me(a.currentTarget,"mouseenter"),this.submenu&&this.submenu.gotoSubIndex(this.submenu.subMenuItems.length-1),n=!0;break}case Q.tab:{Me(a.currentTarget,"mouseleave");break}case Q.enter:case Q.space:{n=!0,a.currentTarget.click();break}}n&&a.preventDefault()})}},En=class{constructor(a,n){this.domNode=a,this.init(n)}init(a){const n=this.domNode.childNodes;Array.from(n).forEach(o=>{o.nodeType===1&&new xn(o,a)})}};const An=D({name:"ElMenuCollapseTransition",setup(){const e=V("menu");return{listeners:{onBeforeEnter:n=>n.style.opacity="0.2",onEnter(n,o){ye(n,`${e.namespace.value}-opacity-transition`),n.style.opacity="1",o()},onAfterEnter(n){Ae(n,`${e.namespace.value}-opacity-transition`),n.style.opacity=""},onBeforeLeave(n){n.dataset||(n.dataset={}),Ct(n,e.m("collapse"))?(Ae(n,e.m("collapse")),n.dataset.oldOverflow=n.style.overflow,n.dataset.scrollWidth=n.clientWidth.toString(),ye(n,e.m("collapse"))):(ye(n,e.m("collapse")),n.dataset.oldOverflow=n.style.overflow,n.dataset.scrollWidth=n.clientWidth.toString(),Ae(n,e.m("collapse"))),n.style.width=`${n.scrollWidth}px`,n.style.overflow="hidden"},onLeave(n){ye(n,"horizontal-collapse-transition"),n.style.width=`${n.dataset.scrollWidth}px`}}}}});function Sn(e,a,n,o,t,s){return E(),q(Ue,qe({mode:"out-in"},e.listeners),{default:_(()=>[L(e.$slots,"default")]),_:3},16)}var kn=te(An,[["render",Sn],["__file","menu-collapse-transition.vue"]]);function ft(e,a){const n=T(()=>{let t=e.parent;const s=[a.value];for(;t.type.name!=="ElMenu";)t.props.index&&s.unshift(t.props.index),t=t.parent;return s});return{parentMenu:T(()=>{let t=e.parent;for(;t&&!["ElMenu","ElSubMenu"].includes(t.type.name);)t=t.parent;return t}),indexPath:n}}function Bn(e){return T(()=>{const n=e.backgroundColor;return n?new Mt(n).shade(20).toString():""})}const mt=(e,a)=>{const n=V("menu");return T(()=>n.cssVarBlock({"text-color":e.textColor||"","hover-text-color":e.textColor||"","bg-color":e.backgroundColor||"","hover-bg-color":Bn(e).value||"","active-color":e.activeTextColor||"",level:`${a}`}))},In=pe({index:{type:String,required:!0},showTimeout:Number,hideTimeout:Number,popperClass:String,disabled:Boolean,popperAppendToBody:{type:Boolean,default:void 0},teleported:{type:Boolean,default:void 0},popperOffset:Number,expandCloseIcon:{type:be},expandOpenIcon:{type:be},collapseCloseIcon:{type:be},collapseOpenIcon:{type:be}}),Ce="ElSubMenu";var He=D({name:Ce,props:In,setup(e,{slots:a,expose:n}){Xe({from:"popper-append-to-body",replacement:"teleported",scope:Ce,version:"2.3.0",ref:"https://element-plus.org/en-US/component/menu.html#submenu-attributes"},T(()=>e.popperAppendToBody!==void 0));const o=ve(),{indexPath:t,parentMenu:s}=ft(o,T(()=>e.index)),i=V("menu"),g=V("sub-menu"),l=se("rootMenu");l||de(Ce,"can not inject root menu");const m=se(`subMenu:${s.value.uid}`);m||de(Ce,"can not inject sub menu");const d=k({}),b=k({});let c;const v=k(!1),I=k(),N=k(null),h=T(()=>J.value==="horizontal"&&O.value?"bottom-start":"right-start"),P=T(()=>J.value==="horizontal"&&O.value||J.value==="vertical"&&!l.props.collapse?e.expandCloseIcon&&e.expandOpenIcon?K.value?e.expandOpenIcon:e.expandCloseIcon:wt:e.collapseCloseIcon&&e.collapseOpenIcon?K.value?e.collapseOpenIcon:e.collapseCloseIcon:Qe),O=T(()=>m.level===0),H=T(()=>{var f;const B=(f=e.teleported)!=null?f:e.popperAppendToBody;return B===void 0?O.value:B}),Y=T(()=>l.props.collapse?`${i.namespace.value}-zoom-in-left`:`${i.namespace.value}-zoom-in-top`),ne=T(()=>J.value==="horizontal"&&O.value?["bottom-start","bottom-end","top-start","top-end","right-start","left-start"]:["right-start","right","right-end","left-start","bottom-start","bottom-end","top-start","top-end"]),K=T(()=>l.openedMenus.includes(e.index)),le=T(()=>{let f=!1;return Object.values(d.value).forEach(B=>{B.active&&(f=!0)}),Object.values(b.value).forEach(B=>{B.active&&(f=!0)}),f}),J=T(()=>l.props.mode),w=xe({index:e.index,indexPath:t,active:le}),S=mt(l.props,m.level+1),C=T(()=>{var f;return(f=e.popperOffset)!=null?f:l.props.popperOffset}),z=T(()=>{var f;return(f=e.popperClass)!=null?f:l.props.popperClass}),r=T(()=>{var f;return(f=e.showTimeout)!=null?f:l.props.showTimeout}),p=T(()=>{var f;return(f=e.hideTimeout)!=null?f:l.props.hideTimeout}),y=()=>{var f,B,$;return($=(B=(f=N.value)==null?void 0:f.popperRef)==null?void 0:B.popperInstanceRef)==null?void 0:$.destroy()},A=f=>{f||y()},M=()=>{l.props.menuTrigger==="hover"&&l.props.mode==="horizontal"||l.props.collapse&&l.props.mode==="vertical"||e.disabled||l.handleSubMenuClick({index:e.index,indexPath:t.value,active:le.value})},X=(f,B=r.value)=>{var $;if(f.type!=="focus"){if(l.props.menuTrigger==="click"&&l.props.mode==="horizontal"||!l.props.collapse&&l.props.mode==="vertical"||e.disabled){m.mouseInChild.value=!0;return}m.mouseInChild.value=!0,c==null||c(),{stop:c}=ze(()=>{l.openMenu(e.index,t.value)},B),H.value&&(($=s.value.vnode.el)==null||$.dispatchEvent(new MouseEvent("mouseenter")))}},Z=(f=!1)=>{var B;if(l.props.menuTrigger==="click"&&l.props.mode==="horizontal"||!l.props.collapse&&l.props.mode==="vertical"){m.mouseInChild.value=!1;return}c==null||c(),m.mouseInChild.value=!1,{stop:c}=ze(()=>!v.value&&l.closeMenu(e.index,t.value),p.value),H.value&&f&&((B=m.handleMouseleave)==null||B.call(m,!0))};U(()=>l.props.collapse,f=>A(!!f));{const f=$=>{b.value[$.index]=$},B=$=>{delete b.value[$.index]};_e(`subMenu:${o.uid}`,{addSubMenu:f,removeSubMenu:B,handleMouseleave:Z,mouseInChild:v,level:m.level+1})}return n({opened:K}),he(()=>{l.addSubMenu(w),m.addSubMenu(w)}),Ze(()=>{m.removeSubMenu(w),l.removeSubMenu(w)}),()=>{var f;const B=[(f=a.title)==null?void 0:f.call(a),W(oe,{class:g.e("icon-arrow"),style:{transform:K.value?e.expandCloseIcon&&e.expandOpenIcon||e.collapseCloseIcon&&e.collapseOpenIcon&&l.props.collapse?"none":"rotateZ(180deg)":"none"}},{default:()=>ue(P.value)?W(o.appContext.components[P.value]):W(P.value)})],$=l.isMenuPopup?W(je,{ref:N,visible:K.value,effect:"light",pure:!0,offset:C.value,showArrow:!1,persistent:!0,popperClass:z.value,placement:h.value,teleported:H.value,fallbackPlacements:ne.value,transition:Y.value,gpuAcceleration:!1},{content:()=>{var ae;return W("div",{class:[i.m(J.value),i.m("popup-container"),z.value],onMouseenter:G=>X(G,100),onMouseleave:()=>Z(!0),onFocus:G=>X(G,100)},[W("ul",{class:[i.b(),i.m("popup"),i.m(`popup-${h.value}`)],style:S.value},[(ae=a.default)==null?void 0:ae.call(a)])])},default:()=>W("div",{class:g.e("title"),onClick:M},B)}):W(ce,{},[W("div",{class:g.e("title"),ref:I,onClick:M},B),W(rn,{},{default:()=>{var ae;return De(W("ul",{role:"menu",class:[i.b(),i.m("inline")],style:S.value},[(ae=a.default)==null?void 0:ae.call(a)]),[[Je,K.value]])}})]);return W("li",{class:[g.b(),g.is("active",le.value),g.is("opened",K.value),g.is("disabled",e.disabled)],role:"menuitem",ariaHaspopup:!0,ariaExpanded:K.value,onMouseenter:X,onMouseleave:()=>Z(),onFocus:X},[$])}}});const Pn=pe({mode:{type:String,values:["horizontal","vertical"],default:"vertical"},defaultActive:{type:String,default:""},defaultOpeneds:{type:me(Array),default:()=>Ne([])},uniqueOpened:Boolean,router:Boolean,menuTrigger:{type:String,values:["hover","click"],default:"hover"},collapse:Boolean,backgroundColor:String,textColor:String,activeTextColor:String,closeOnClickOutside:Boolean,collapseTransition:{type:Boolean,default:!0},ellipsis:{type:Boolean,default:!0},popperOffset:{type:Number,default:6},ellipsisIcon:{type:be,default:()=>Tt},popperEffect:{type:String,values:["dark","light"],default:"dark"},popperClass:String,showTimeout:{type:Number,default:300},hideTimeout:{type:Number,default:300}}),Se=e=>Array.isArray(e)&&e.every(a=>ue(a)),Nn={close:(e,a)=>ue(e)&&Se(a),open:(e,a)=>ue(e)&&Se(a),select:(e,a,n,o)=>ue(e)&&Se(a)&&Ut(n)&&(o===void 0||o instanceof Promise)};var On=D({name:"ElMenu",props:Pn,emits:Nn,setup(e,{emit:a,slots:n,expose:o}){const t=ve(),s=t.appContext.config.globalProperties.$router,i=k(),g=V("menu"),l=V("sub-menu"),m=k(-1),d=k(e.defaultOpeneds&&!e.collapse?e.defaultOpeneds.slice(0):[]),b=k(e.defaultActive),c=k({}),v=k({}),I=T(()=>e.mode==="horizontal"||e.mode==="vertical"&&e.collapse),N=()=>{const r=b.value&&c.value[b.value];if(!r||e.mode==="horizontal"||e.collapse)return;r.indexPath.forEach(y=>{const A=v.value[y];A&&h(y,A.indexPath)})},h=(r,p)=>{d.value.includes(r)||(e.uniqueOpened&&(d.value=d.value.filter(y=>p.includes(y))),d.value.push(r),a("open",r,p))},P=r=>{const p=d.value.indexOf(r);p!==-1&&d.value.splice(p,1)},O=(r,p)=>{P(r),a("close",r,p)},H=({index:r,indexPath:p})=>{d.value.includes(r)?O(r,p):h(r,p)},Y=r=>{(e.mode==="horizontal"||e.collapse)&&(d.value=[]);const{index:p,indexPath:y}=r;if(!(We(p)||We(y)))if(e.router&&s){const A=r.route||p,M=s.push(A).then(X=>(X||(b.value=p),X));a("select",p,y,{index:p,indexPath:y,route:A},M)}else b.value=p,a("select",p,y,{index:p,indexPath:y})},ne=r=>{const p=c.value,y=p[r]||b.value&&p[b.value]||p[e.defaultActive];y?b.value=y.index:b.value=r},K=()=>{var r,p;if(!i.value)return-1;const y=Array.from((p=(r=i.value)==null?void 0:r.childNodes)!=null?p:[]).filter($=>$.nodeName!=="#comment"&&($.nodeName!=="#text"||$.nodeValue)),A=64,M=Number.parseInt(getComputedStyle(i.value).paddingLeft,10),X=Number.parseInt(getComputedStyle(i.value).paddingRight,10),Z=i.value.clientWidth-M-X;let f=0,B=0;return y.forEach(($,ae)=>{f+=$.offsetWidth||0,f<=Z-A&&(B=ae+1)}),B===y.length?-1:B},le=r=>v.value[r].indexPath,J=(r,p=33.34)=>{let y;return()=>{y&&clearTimeout(y),y=setTimeout(()=>{r()},p)}};let w=!0;const S=()=>{const r=()=>{m.value=-1,ge(()=>{m.value=K()})};w?r():J(r)(),w=!1};U(()=>e.defaultActive,r=>{c.value[r]||(b.value=""),ne(r)}),U(()=>e.collapse,r=>{r&&(d.value=[])}),U(c.value,N);let C;qt(()=>{e.mode==="horizontal"&&e.ellipsis?C=Oe(i,S).stop:C==null||C()});const z=k(!1);{const r=M=>{v.value[M.index]=M},p=M=>{delete v.value[M.index]};_e("rootMenu",xe({props:e,openedMenus:d,items:c,subMenus:v,activeIndex:b,isMenuPopup:I,addMenuItem:M=>{c.value[M.index]=M},removeMenuItem:M=>{delete c.value[M.index]},addSubMenu:r,removeSubMenu:p,openMenu:h,closeMenu:O,handleMenuItemClick:Y,handleSubMenuClick:H})),_e(`subMenu:${t.uid}`,{addSubMenu:r,removeSubMenu:p,mouseInChild:z,level:0})}return he(()=>{e.mode==="horizontal"&&new En(t.vnode.el,g.namespace.value)}),o({open:p=>{const{indexPath:y}=v.value[p];y.forEach(A=>h(A,y))},close:P,handleResize:S}),()=>{var r,p;let y=(p=(r=n.default)==null?void 0:r.call(n))!=null?p:[];const A=[];if(e.mode==="horizontal"&&i.value){const f=lt(y),B=m.value===-1?f:f.slice(0,m.value),$=m.value===-1?[]:f.slice(m.value);$!=null&&$.length&&e.ellipsis&&(y=B,A.push(W(He,{index:"sub-menu-more",class:l.e("hide-arrow"),popperOffset:e.popperOffset},{title:()=>W(oe,{class:l.e("icon-more")},{default:()=>W(e.ellipsisIcon)}),default:()=>$})))}const M=mt(e,0),X=e.closeOnClickOutside?[[Wt,()=>{d.value.length&&(z.value||(d.value.forEach(f=>a("close",f,le(f))),d.value=[]))}]]:[],Z=De(W("ul",{key:String(e.collapse),role:"menubar",ref:i,style:M.value,class:{[g.b()]:!0,[g.m(e.mode)]:!0,[g.m("collapse")]:e.collapse}},[...y,...A]),X);return e.collapseTransition&&e.mode==="vertical"?W(kn,()=>Z):Z}}});const $n=pe({index:{type:me([String,null]),default:null},route:{type:me([String,Object])},disabled:Boolean}),Dn={click:e=>ue(e.index)&&Array.isArray(e.indexPath)},ke="ElMenuItem",Hn=D({name:ke,components:{ElTooltip:je},props:$n,emits:Dn,setup(e,{emit:a}){const n=ve(),o=se("rootMenu"),t=V("menu"),s=V("menu-item");o||de(ke,"can not inject root menu");const{parentMenu:i,indexPath:g}=ft(n,Kt(e,"index")),l=se(`subMenu:${i.value.uid}`);l||de(ke,"can not inject sub menu");const m=T(()=>e.index===o.activeIndex),d=xe({index:e.index,indexPath:g,active:m}),b=()=>{e.disabled||(o.handleMenuItemClick({index:e.index,indexPath:g.value,route:e.route}),a("click",d))};return he(()=>{l.addSubMenu(d),o.addMenuItem(d)}),Ze(()=>{l.removeSubMenu(d),o.removeMenuItem(d)}),{parentMenu:i,rootMenu:o,active:m,nsMenu:t,nsMenuItem:s,handleClick:b}}});function zn(e,a,n,o,t,s){const i=Ge("el-tooltip");return E(),R("li",{class:ee([e.nsMenuItem.b(),e.nsMenuItem.is("active",e.active),e.nsMenuItem.is("disabled",e.disabled)]),role:"menuitem",tabindex:"-1",onClick:a[0]||(a[0]=(...g)=>e.handleClick&&e.handleClick(...g))},[e.parentMenu.type.name==="ElMenu"&&e.rootMenu.props.collapse&&e.$slots.title?(E(),q(i,{key:0,effect:e.rootMenu.props.popperEffect,placement:"right","fallback-placements":["left"],persistent:""},{content:_(()=>[L(e.$slots,"title")]),default:_(()=>[F("div",{class:ee(e.nsMenu.be("tooltip","trigger"))},[L(e.$slots,"default")],2)]),_:3},8,["effect"])):(E(),R(ce,{key:1},[L(e.$slots,"default"),L(e.$slots,"title")],64))],2)}var ht=te(Hn,[["render",zn],["__file","menu-item.vue"]]);const Fn={title:String},Vn="ElMenuItemGroup",Rn=D({name:Vn,props:Fn,setup(){return{ns:V("menu-item-group")}}});function Yn(e,a,n,o,t,s){return E(),R("li",{class:ee(e.ns.b())},[F("div",{class:ee(e.ns.e("title"))},[e.$slots.title?L(e.$slots,"title",{key:1}):(E(),R(ce,{key:0},[j(fe(e.title),1)],64))],2),F("ul",null,[L(e.$slots,"default")])],2)}var bt=te(Rn,[["render",Yn],["__file","menu-item-group.vue"]]);const Wn=$e(On,{MenuItem:ht,MenuItemGroup:bt,SubMenu:He}),Ln=re(ht);re(bt);const Xn=re(He),Ee=Symbol("tabsRootContextKey"),Qn=pe({tabs:{type:me(Array),default:()=>Ne([])}}),_t="ElTabBar",jn=D({name:_t}),qn=D({...jn,props:Qn,setup(e,{expose:a}){const n=e,o=ve(),t=se(Ee);t||de(_t,"");const s=V("tabs"),i=k(),g=k(),l=()=>{let d=0,b=0;const c=["top","bottom"].includes(t.props.tabPosition)?"width":"height",v=c==="width"?"x":"y",I=v==="x"?"left":"top";return n.tabs.every(N=>{var h,P;const O=(P=(h=o.parent)==null?void 0:h.refs)==null?void 0:P[`tab-${N.uid}`];if(!O)return!1;if(!N.active)return!0;d=O[`offset${ie(I)}`],b=O[`client${ie(c)}`];const H=window.getComputedStyle(O);return c==="width"&&(n.tabs.length>1&&(b-=Number.parseFloat(H.paddingLeft)+Number.parseFloat(H.paddingRight)),d+=Number.parseFloat(H.paddingLeft)),!1}),{[c]:`${b}px`,transform:`translate${ie(v)}(${d}px)`}},m=()=>g.value=l();return U(()=>n.tabs,async()=>{await ge(),m()},{immediate:!0}),Oe(i,()=>m()),a({ref:i,update:m}),(d,b)=>(E(),R("div",{ref_key:"barRef",ref:i,class:ee([x(s).e("active-bar"),x(s).is(x(t).props.tabPosition)]),style:Te(g.value)},null,6))}});var Un=te(qn,[["__file","tab-bar.vue"]]);const Kn=pe({panes:{type:me(Array),default:()=>Ne([])},currentName:{type:[String,Number],default:""},editable:Boolean,type:{type:String,values:["card","border-card",""],default:""},stretch:Boolean}),Zn={tabClick:(e,a,n)=>n instanceof Event,tabRemove:(e,a)=>a instanceof Event},Le="ElTabNav",Jn=D({name:Le,props:Kn,emits:Zn,setup(e,{expose:a,emit:n}){const o=ve(),t=se(Ee);t||de(Le,"");const s=V("tabs"),i=xt(),g=Et(),l=k(),m=k(),d=k(),b=k(),c=k(!1),v=k(0),I=k(!1),N=k(!0),h=T(()=>["top","bottom"].includes(t.props.tabPosition)?"width":"height"),P=T(()=>({transform:`translate${h.value==="width"?"X":"Y"}(-${v.value}px)`})),O=()=>{if(!l.value)return;const w=l.value[`offset${ie(h.value)}`],S=v.value;if(!S)return;const C=S>w?S-w:0;v.value=C},H=()=>{if(!l.value||!m.value)return;const w=m.value[`offset${ie(h.value)}`],S=l.value[`offset${ie(h.value)}`],C=v.value;if(w-C<=S)return;const z=w-C>S*2?C+S:w-S;v.value=z},Y=async()=>{const w=m.value;if(!c.value||!d.value||!l.value||!w)return;await ge();const S=d.value.querySelector(".is-active");if(!S)return;const C=l.value,z=["top","bottom"].includes(t.props.tabPosition),r=S.getBoundingClientRect(),p=C.getBoundingClientRect(),y=z?w.offsetWidth-p.width:w.offsetHeight-p.height,A=v.value;let M=A;z?(r.leftp.right&&(M=A+r.right-p.right)):(r.topp.bottom&&(M=A+(r.bottom-p.bottom))),M=Math.max(M,0),v.value=Math.min(M,y)},ne=()=>{var w;if(!m.value||!l.value)return;e.stretch&&((w=b.value)==null||w.update());const S=m.value[`offset${ie(h.value)}`],C=l.value[`offset${ie(h.value)}`],z=v.value;C0&&(v.value=0))},K=w=>{const S=w.code,{up:C,down:z,left:r,right:p}=Q;if(![C,z,r,p].includes(S))return;const y=Array.from(w.currentTarget.querySelectorAll("[role=tab]:not(.is-disabled)")),A=y.indexOf(w.target);let M;S===r||S===C?A===0?M=y.length-1:M=A-1:A{N.value&&(I.value=!0)},J=()=>I.value=!1;return U(i,w=>{w==="hidden"?N.value=!1:w==="visible"&&setTimeout(()=>N.value=!0,50)}),U(g,w=>{w?setTimeout(()=>N.value=!0,50):N.value=!1}),Oe(d,ne),he(()=>setTimeout(()=>Y(),0)),Zt(()=>ne()),a({scrollToActiveTab:Y,removeFocus:J}),U(()=>e.panes,()=>o.update(),{flush:"post",deep:!0}),()=>{const w=c.value?[u("span",{class:[s.e("nav-prev"),s.is("disabled",!c.value.prev)],onClick:O},[u(oe,null,{default:()=>[u(At,null,null)]})]),u("span",{class:[s.e("nav-next"),s.is("disabled",!c.value.next)],onClick:H},[u(oe,null,{default:()=>[u(Qe,null,null)]})])]:null,S=e.panes.map((C,z)=>{var r,p,y,A;const M=C.uid,X=C.props.disabled,Z=(p=(r=C.props.name)!=null?r:C.index)!=null?p:`${z}`,f=!X&&(C.isClosable||e.editable);C.index=`${z}`;const B=f?u(oe,{class:"is-icon-close",onClick:G=>n("tabRemove",C,G)},{default:()=>[u(St,null,null)]}):null,$=((A=(y=C.slots).label)==null?void 0:A.call(y))||C.props.label,ae=!X&&C.active?0:-1;return u("div",{ref:`tab-${M}`,class:[s.e("item"),s.is(t.props.tabPosition),s.is("active",C.active),s.is("disabled",X),s.is("closable",f),s.is("focus",I.value)],id:`tab-${Z}`,key:`tab-${M}`,"aria-controls":`pane-${Z}`,role:"tab","aria-selected":C.active,tabindex:ae,onFocus:()=>le(),onBlur:()=>J(),onClick:G=>{J(),n("tabClick",C,Z,G)},onKeydown:G=>{f&&(G.code===Q.delete||G.code===Q.backspace)&&n("tabRemove",C,G)}},[$,B])});return u("div",{ref:d,class:[s.e("nav-wrap"),s.is("scrollable",!!c.value),s.is(t.props.tabPosition)]},[w,u("div",{class:s.e("nav-scroll"),ref:l},[u("div",{class:[s.e("nav"),s.is(t.props.tabPosition),s.is("stretch",e.stretch&&["top","bottom"].includes(t.props.tabPosition))],ref:m,style:P.value,role:"tablist",onKeydown:K},[e.type?null:u(Un,{ref:b,tabs:[...e.panes]},null),S])])])}}}),Gn=pe({type:{type:String,values:["card","border-card",""],default:""},activeName:{type:[String,Number]},closable:Boolean,addable:Boolean,modelValue:{type:[String,Number]},editable:Boolean,tabPosition:{type:String,values:["top","right","bottom","left"],default:"top"},beforeLeave:{type:me(Function),default:()=>!0},stretch:Boolean}),Be=e=>ue(e)||Jt(e),ea={[st]:e=>Be(e),tabClick:(e,a)=>a instanceof Event,tabChange:e=>Be(e),edit:(e,a)=>["remove","add"].includes(a),tabRemove:e=>Be(e),tabAdd:()=>!0},ta=D({name:"ElTabs",props:Gn,emits:ea,setup(e,{emit:a,slots:n,expose:o}){var t,s;const i=V("tabs"),{children:g,addChild:l,removeChild:m}=on(ve(),"ElTabPane"),d=k(),b=k((s=(t=e.modelValue)!=null?t:e.activeName)!=null?s:"0"),c=async(h,P=!1)=>{var O,H,Y;if(!(b.value===h||Re(h)))try{await((O=e.beforeLeave)==null?void 0:O.call(e,h,b.value))!==!1&&(b.value=h,P&&(a(st,h),a("tabChange",h)),(Y=(H=d.value)==null?void 0:H.removeFocus)==null||Y.call(H))}catch{}},v=(h,P,O)=>{h.props.disabled||(c(P,!0),a("tabClick",h,O))},I=(h,P)=>{h.props.disabled||Re(h.props.name)||(P.stopPropagation(),a("edit",h.props.name,"remove"),a("tabRemove",h.props.name))},N=()=>{a("edit",void 0,"add"),a("tabAdd")};return Xe({from:'"activeName"',replacement:'"model-value" or "v-model"',scope:"ElTabs",version:"2.3.0",ref:"https://element-plus.org/en-US/component/tabs.html#attributes",type:"Attribute"},T(()=>!!e.activeName)),U(()=>e.activeName,h=>c(h)),U(()=>e.modelValue,h=>c(h)),U(b,async()=>{var h;await ge(),(h=d.value)==null||h.scrollToActiveTab()}),_e(Ee,{props:e,currentName:b,registerPane:l,unregisterPane:m}),o({currentName:b}),()=>{const h=n.addIcon,P=e.editable||e.addable?u("span",{class:i.e("new-tab"),tabindex:"0",onClick:N,onKeydown:Y=>{Y.code===Q.enter&&N()}},[h?L(n,"addIcon"):u(oe,{class:i.is("icon-plus")},{default:()=>[u(kt,null,null)]})]):null,O=u("div",{class:[i.e("header"),i.is(e.tabPosition)]},[P,u(Jn,{ref:d,currentName:b.value,editable:e.editable,type:e.type,panes:g.value,stretch:e.stretch,onTabClick:v,onTabRemove:I},null)]),H=u("div",{class:i.e("content")},[L(n,"default")]);return u("div",{class:[i.b(),i.m(e.tabPosition),{[i.m("card")]:e.type==="card",[i.m("border-card")]:e.type==="border-card"}]},[...e.tabPosition!=="bottom"?[O,H]:[H,O]])}}}),na=pe({label:{type:String,default:""},name:{type:[String,Number]},closable:Boolean,disabled:Boolean,lazy:Boolean}),aa=["id","aria-hidden","aria-labelledby"],gt="ElTabPane",oa=D({name:gt}),sa=D({...oa,props:na,setup(e){const a=e,n=ve(),o=Ke(),t=se(Ee);t||de(gt,"usage: ");const s=V("tab-pane"),i=k(),g=T(()=>a.closable||t.props.closable),l=Fe(()=>{var v;return t.currentName.value===((v=a.name)!=null?v:i.value)}),m=k(l.value),d=T(()=>{var v;return(v=a.name)!=null?v:i.value}),b=Fe(()=>!a.lazy||m.value||l.value);U(l,v=>{v&&(m.value=!0)});const c=xe({uid:n.uid,slots:o,props:a,paneName:d,active:l,index:i,isClosable:g});return he(()=>{t.registerPane(c)}),Gt(()=>{t.unregisterPane(c.uid)}),(v,I)=>x(b)?De((E(),R("div",{key:0,id:`pane-${x(d)}`,class:ee(x(s).b()),role:"tabpanel","aria-hidden":!x(l),"aria-labelledby":`tab-${x(d)}`},[L(v.$slots,"default")],10,aa)),[[Je,x(l)]]):et("v-if",!0)}});var yt=te(sa,[["__file","tab-pane.vue"]]);const la=$e(ta,{TabPane:yt}),ia=re(yt);const ra="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAATwAAABCCAMAAAD9hJoxAAAAjVBMVEUAAABmYmBmYmBmYmBmYmBmYmBmYmBmYmBmYmBmYmBmYmBmYmDMCCPMCCNmYmBmYmDMCCPMCCPMCCPnQhDMCCPMCCPXIhtmYmBmYmDnQhDnQhDMCCPMCCPnQhDMCCPnQhDMCCPnQhDMCCPMCCPnQhDnQhDnQhDnQhDMCCPnQhDnQhDnQhBmYmDMCCPnQhBOmYs0AAAALHRSTlMAgMBA8BCg4GAg0FDwwDBwgEBgQDAQILCQgPDg0NigYHAwsJAQwKCwUHBQkHnnoZMAAAfHSURBVHja7ZzretowDIad8/kEhFCgFNqtpV3C/V/e1rXBceRIdjpv3Z59f8lBeSPJsuXAPoPq4/2+e1WWlYs1+y9NVVV5v+t+avewYv+lrdVx/86vrNmflpNY70pyhikqGntSm0J+crKxEfmWM4vfoXvTAcE3+9bCYyE4Qj9uBdnWFEDPbwm5mwjYH7SUXMtj+lrfv9FLS8alfWtfyk/gMelIcStTYEUMKndbBfkiiLDlwvDNyn998qsYEHlrDiefA8/xMQYAnxe3SgqGxiStouI5zlf3sVvKHq9V1UYbXuRrOoPVKsod0Atao/TY4p1eVsO81c68Nw2vcOlLiv7stqoKPD3Hg0bq09uvx87RtrPo0fC8RsmFQiQKMPn9SZtWQyFDtby7edXzUk4vXWEZj6anDM+L9Z+naDUUwdChFSDkXp62l6ue7r7I6NVolrF7EX4P4RHs3KZwXlX4LqAnNcZNxAuGAXA9CK+JRkXS+Dkma8y724uo7c0AX9lHbi3Aw7w6T8CTWgg8hF0wvHI4+jHhxqDjky++DU8Cz0FO4vZDnTg6rttB9Gbv9O4n4fmMzvoRDQ8+ZzG+qPhzxI1BH7MBzGl4rFEYMp4vct3wcjl9p3dkXIS90IlsCh6EE+dEMWwrGuO50DUhPHxIZBI9Xqb0CAK3WyHwSHoODg8+ZOCR5WVBGwMdOlaDx0TzPYQdSm/Xl3ta8JgXCDmZhueDehbKAvmLMAbWBorwbPDuQcwiuhuPuN0CgUe6SUTBi1qViwbgINoYB3D4OLzTBdX2Whn3WW+HwaPub1HwfKXKKgSupwsv+SXwvl5wfQVZb4HAo4wOCHiRYk3vgsM04Vm/At7dhdKyH3B7eDsEHhljEQ6vAC4FBOdV8Z+CBwu8p+flmi1fHrdj19v39CoMHlEsFTi8ACkdkUz6Z+Cd4LwCTDr6rPfQwzsow4OHNSi8HOQlpbgtfhO8iAn6NkpwwsLJl29CqVz18FIEHpn0UHgFUlYh7hwbhAfrm1oetY9MlhFv+3XRrtdZC14uEsHg2SISRJZ4Ue06r1CDF0he/HWShbDj9MbFSvegBY+JeQOD1yIpDy88aGOsGXWeI5tdZv0CHifHPQzE9XK0OtBlH4AXTsKD8y5EnhiEutOzNlKCF0tCvZLCOzGJvmwl8DoEHlkmI/AK4ByKb8QGxhAR6DIUHm9lwgOOJY9KELRw9nYH4K3MwPORtUf0oi5uDHwxjQK8JJauJD/0nncDHA+6Hh9uH7pe1Xx4NgIPjG0EPC5gDNEkDall+NjmxZAIN5OE7S2b0FdJ2B7NwAsQeET+x41J/JZYSaYVsml4T2xCNxJ4pRl44gPqwiMFjbX12bEs7eerYNUY6uXSTzr2M+H5s+DZOvASLXiBh8CjthlkXV8lb2l4y2tAdzPhWebhWVrwckbBQ1pQ2XVu/0TDO/WD7epfgRcyEh7Sx8w6WKvcMEqLfwOe6+juF4k9Ed6eFyJ8wCB0L8AzUeeJJpuB53vAMj16h65bj7s/W0aoTjm8yiw8/VIlVIMXFxFimcOV+JAeX1E/gvH2hYzaTwwPK1UC+1WWlTi4ZeLPjjuRQ86DtfQb3qzAlXWdsbktsfQ4v0iGouERqxTrYRvnVs31qo5r/wF4IQoPeRh0J4T3i+HB2XM07GDvryS3fdY7qTreQR8evZ4H85jO3NYAPGdidfEwdL0ToEc4XrfQgxerwkuQrbhoE8M2AY8F8qbAWdhsd7rt6d1NDrW7IbxaD57yMnykXuh5olsYgbeZyHqpsF3sy9N11FgyUWA1ip9I2itFwhB42LIKGlOhEXjiPRohbrvFcAJ7XZr6tsTKFH7evO5ZjMLzlUeMQhyYjcBjrjxuV+PtYuzl66ADOQK4SofsUvaBvq2PwgtbVQSNuMZrBp4/MYBlcIf2+vlpC1rfkF1XIvDoSgWF5ylP0MBWRRPwkokcXHWc3hDg8odOjCHs0loPntdq7FVpwMEqveDcEDzWTpiTvZGoGKUq7YDj6cArdHZJJUjcIht9TMFrJsxZ8XYEqrITtasJeGi1VBDwWCBpNVAbjEMj8GAODmD1ka2Rq6+zbqQz04Nn6e0MDVvtiwbMGDyvndh5VO876oPQuuzGOjA9eDmY4yDwoOvlChdNDMGD460tGwh2x1rmdWUK2O1rBB79DWxEw0vobw0jsFpkDF4CW7ew9E0P55HTLe47qHTFtOA5LpitUvBYQ9HLQV40BA/Wyf7UYJDel1X10yOr48O+k2qF9SaAch92/Gh4XiCe5OCfFSXMKLwNrFb4LE1LC2wsaBxB4SaGHT8aHgz11h+el9igfW0UXjSyhc2kl56xMY9WyBB46Afk8SZxGIuc0A/Al7Om4MFD4EELdXYrkNE02eHwYKqk5TOz8OBD2mACoaJ9jWdTuluKw4NjAq2CmYfHRqY4oA6mVWK1Ki070vuDBq9RfB/m4YX4995H0vmyFXJzWoGj/9cgTkB3r43Dg64Hr10/oOh2CzYhT4Xe3D+lCTF8Nr+oUXgwA7sROZvg2i8YogJ3EHuTMC4cHpTju/KA9XN4rDWQw9QU8lMapI9gWdTFwZSC+hszaLVv277Vq3AcD2taDxRiV7dd+D4+o85llg5c7nD8HH8AFznh9YXk7FOretNf9seD3wEp1Aq+q1JvwgAAAABJRU5ErkJggg==";const ua={class:"logo"},ca={__name:"index",props:{collapse:{type:Boolean,default:!1}},setup(e){const a=[{title:"首頁",icon:Bt,path:"/index",children:[{title:"首頁輪播",path:"/index/banner"},{title:"供應商",path:"/index/supplier"}]},{title:"關於普達",icon:It,path:"/about",children:[{title:"公司簡介",path:"/about/company"},{title:"經營理念",path:"/about/concept"}]},{title:"產品管理",icon:Pt,path:"/product",children:[{title:"產品列表",path:"/product/list"},{title:"產品類別",path:"/product/group"}]},{title:"最新消息",icon:Nt,path:"/news",children:[{title:"產業動態",path:"/news/list"},{title:"公司活動",path:"/news/activity"}]},{title:"聯絡我們",icon:Ot,path:"/contact",children:[{title:"表單信件",path:"/contact/email"},{title:"公司據點",path:"/contact/map"}]},{title:"權限管理",icon:Ve,path:"/priv",children:[{title:"管理員列表",path:"/priv/admin"},{title:"管理員紀錄",path:"/priv/adminlog"}]},{title:"站台設定",icon:Ve,path:"/site/config"}],n=(o,t)=>{en.push(o)};return(o,t)=>{const s=Lt,i=oe,g=Ln,l=Xn,m=Wn;return E(),q(m,{"active-text-color":"#fefefe","background-color":"#032121","text-color":"#ccc","unique-opened":"",class:"el-menu-vertical",collapse:e.collapse,"default-active":o.$route.path,onSelect:n},{default:_(()=>[F("div",ua,[u(s,{style:{width:"100px"},src:x(ra)},null,8,["src"])]),(E(),R(ce,null,Ie(a,(d,b)=>(E(),R(ce,{key:b},[d.children&&d.children.length>0?(E(),q(l,{key:0,index:d.path},{title:_(()=>[u(i,null,{default:_(()=>[(E(),q(Ye(d.icon)))]),_:2},1024),F("span",null,fe(d.title),1)]),default:_(()=>[(E(!0),R(ce,null,Ie(d.children,(c,v)=>(E(),q(g,{index:c.path},{default:_(()=>[j(fe(c.title),1)]),_:2},1032,["index"]))),256))]),_:2},1032,["index"])):(E(),q(g,{key:1,index:d.path},{default:_(()=>[u(i,null,{default:_(()=>[(E(),q(Ye(d.icon)))]),_:2},1024),F("span",null,fe(d.title),1)]),_:2},1032,["index"]))],64))),64))]),_:1},8,["collapse","default-active"])}}},da=ot(ca,[["__scopeId","data-v-52d96f34"]]);const pa={class:"admin-header"},va={class:"header-nav header-layout-left"},fa={class:"header-nav-item header-flexible"},ma={class:"header-nav"},ha={class:"header-nav-item header-flexible",style:{cursor:"pointer"}},ba={class:"header-avatar",style:{marginRight:"5px"}},_a={class:"header-avatar"},ga={__name:"index",props:{collapse:{type:Boolean,default:!1}},emits:["toggleClospe"],setup(e,{emit:a}){const n=a,o=tt(),t=nt(),s={tw:"繁體",cn:"簡體",en:"EN"},i=se("reload"),g=()=>{n("toggleClospe")},l=b=>{t.setLang(b),i()},m=()=>{sessionStorage.removeItem("token"),o.push("/login")},d=()=>{alert("button click")};return(b,c)=>{const v=oe,I=it,N=rt,h=ut;return E(),R("div",pa,[F("ul",va,[F("li",fa,[e.collapse?(E(),q(v,{key:0,size:20,color:"#666",onClick:g},{default:_(()=>[u(x($t))]),_:1})):(E(),q(v,{key:1,size:20,color:"#666",onClick:g},{default:_(()=>[u(x(Dt))]),_:1}))])]),F("ul",ma,[F("li",ha,[u(h,{onClick:d},{dropdown:_(()=>[u(N,null,{default:_(()=>[u(I,{onClick:c[0]||(c[0]=P=>l("tw"))},{default:_(()=>[j("繁體")]),_:1}),u(I,{onClick:c[1]||(c[1]=P=>l("cn"))},{default:_(()=>[j("簡體")]),_:1}),u(I,{onClick:c[2]||(c[2]=P=>l("en"))},{default:_(()=>[j("EN")]),_:1})]),_:1})]),default:_(()=>[F("div",ba,[u(v,{size:13,style:{marginRight:"5px"}},{default:_(()=>[u(x(Ht))]),_:1}),j(" "+fe(s[x(t).lang])+" - 語言切換 ",1)])]),_:1}),u(h,{"hide-on-click":!1},{dropdown:_(()=>[u(N,null,{default:_(()=>[u(I,null,{default:_(()=>[j("資料修改")]),_:1}),u(I,{onClick:Pe(m,["stop"])},{default:_(()=>[j("登出")]),_:1})]),_:1})]),default:_(()=>[F("div",_a,[u(v,{size:13,style:{marginRight:"5px"}},{default:_(()=>[u(x(zt))]),_:1}),j(" Admin ")])]),_:1})])])])}}};const ya=tn("tabs",{state:()=>({activeTab:"/",visitedViews:[]}),actions:{setActiveTab(e){this.activeTab=e},addTab(e){this.setActiveTab(e.path),e.path!=="/home"&&(this.visitedViews.some(a=>a.path===e.path)||this.visitedViews.push(e))},removeTab(e){const a=this.visitedViews.indexOf(e);this.visitedViews.splice(a,1)},closeOtherTabs(){this.visitedViews=this.visitedViews.filter(e=>e.path===this.activeTab)},closeAllTabs(){this.visitedViews=[]}}});const Ca={class:"main-tabs-view"},Ma={class:"tab-content"},wa={class:"tab-content"},Ta={class:"el-dropdown-link"},xa={__name:"index",setup(e){const a=tt(),n=at(),o=ya(),{visitedViews:t}=nn(o),s=se("reload"),i=T({get:()=>o.activeTab,set:c=>{o.setActiveTab(c)}});he(()=>{b()}),U(n,()=>{b()});const g=c=>{a.push(c.props.name)},l=c=>{if(t.value.length===1)a.push("/");else if(c.path===i.value){const v=t.value.findIndex(N=>N.path===c.path),I=t.value[v-1];i.value=I.path,a.push(I.path)}o.removeTab(c)},m=()=>{o.closeOtherTabs()},d=()=>{o.closeAllTabs()},b=()=>{n.path==="/login"||n.path==="/news/list/form"||n.path==="/product/list/form"||n.path&&o.addTab({path:n.path,title:n.meta.title})};return(c,v)=>{const I=oe,N=ia,h=la,P=it,O=rt,H=ut;return E(),R("div",Ca,[F("div",null,[u(h,{modelValue:i.value,"onUpdate:modelValue":v[0]||(v[0]=Y=>i.value=Y),type:"card",onTabClick:g},{default:_(()=>[u(N,{name:"/home"},{label:_(()=>[F("div",Ma,[u(I,null,{default:_(()=>[u(x(Ft))]),_:1})])]),_:1}),(E(!0),R(ce,null,Ie(x(t),Y=>(E(),q(N,{name:Y.path},{label:_(()=>[F("div",wa,[u(I,{onClick:Pe(x(s),["stop"])},{default:_(()=>[u(x(Vt))]),_:1},8,["onClick"]),j(" "+fe(Y.title)+" ",1),u(I,{onClick:Pe(ne=>l(Y),["stop"])},{default:_(()=>[u(x(Rt))]),_:2},1032,["onClick"])])]),_:2},1032,["name"]))),256))]),_:1},8,["modelValue"])]),F("div",null,[u(H,null,{dropdown:_(()=>[u(O,null,{default:_(()=>[u(P,{onClick:m},{default:_(()=>[j("關閉其他")]),_:1}),u(P,{onClick:d},{default:_(()=>[j("關閉全部")]),_:1})]),_:1})]),default:_(()=>[F("span",Ta,[u(I,null,{default:_(()=>[u(x(Yt))]),_:1})])]),_:1})])])}}},Ea=ot(xa,[["__scopeId","data-v-b7d2f3d3"]]),Aa={class:"admin-layout"},Sa={class:"tabs-block"},ka={class:"main-content"},Xa={__name:"AdminLayout",setup(e){const a=at(),n=nt(),o=k(!1),t=()=>{o.value=!o.value};T(()=>a.matched.filter(g=>g.meta.title)),T(()=>n.isMobile);const s=k(!0);return _e("reload",()=>{s.value=!1,ge(()=>{s.value=!0})}),(g,l)=>{const m=Cn,d=Ge("router-view"),b=wn,c=Mn,v=yn;return E(),R("div",Aa,[u(v,null,{default:_(()=>[u(m,{width:"auto",class:"side-scroll"},{default:_(()=>[u(da,{collapse:o.value},null,8,["collapse"])]),_:1}),u(v,null,{default:_(()=>[F("div",null,[u(ga,{collapse:o.value,onToggleClospe:t},null,8,["collapse"])]),u(b,null,{default:_(()=>[F("div",Sa,[u(Ea)]),F("div",ka,[s.value?(E(),q(d,{key:0})):et("",!0)])]),_:1}),u(c,null,{default:_(()=>[j("2023 © copyright ZL ")]),_:1})]),_:1})]),_:1})])}}};export{Xa as default}; diff --git a/nginx/html/admin/assets/AdminLayout-9fe2a888.js b/nginx/html/admin/assets/AdminLayout-9fe2a888.js new file mode 100644 index 0000000..531b687 --- /dev/null +++ b/nginx/html/admin/assets/AdminLayout-9fe2a888.js @@ -0,0 +1 @@ +import{_ as te,a as ye,r as Ae,h as Ct,T as Mt,i as be,u as Xe,b as wt,c as Qe,E as oe,d as ze,m as Ne,e as Tt,f as Oe,g as xt,j as Et,k as At,l as St,p as kt,n as Fe,o as Bt,t as It,q as Pt,s as Nt,v as Ot,w as Ve,x as $t,y as Dt,z as Ht,A as zt,B as Ft,C as Vt,D as Rt,F as Yt}from"./el-button-ca4abaee.js";import"./el-tooltip-4ed993c7.js";import{E as je,C as Wt}from"./el-scrollbar-56d71f90.js";import{t as Me}from"./el-icon-08628b36.js";import{E as Lt}from"./el-image-viewer-3854b5c5.js";import{s as Xt,i as Qt,d as D,u as V,o as E,c as q,w as _,r as L,m as qe,t as jt,a as x,T as Ue,b as Ke,e as T,f as R,n as ee,g as Te,h as $e,j as re,k as pe,l as ve,p as se,q as k,v as xe,x as U,y as _e,z as he,A as Ze,B as W,C as ue,D as De,E as Je,F as ce,G as me,H as qt,I as Ut,J as ge,K as Kt,L as Ge,M as F,N as j,O as fe,P as Zt,Q as u,R as Re,S as Jt,U as Gt,V as et,W as Ie,X as Ye,Y as en,Z as tt,_ as nt,$ as Pe,a0 as tn,a1 as at,a2 as nn}from"./index-fb87886b.js";import{_ as ot}from"./_plugin-vue_export-helper-c27b6911.js";import{E as Q}from"./aria-60e0cdc6.js";import{t as de,i as We,U as st}from"./index-de3a95d3.js";import{f as lt,E as it,a as rt,b as ut}from"./el-dropdown-item-56611d31.js";import{c as ie}from"./strings-991b21d4.js";import"./castArray-59d69fd8.js";const an=(e,a,n)=>lt(e.subTree).filter(s=>{var i;return Qt(s)&&((i=s.type)==null?void 0:i.name)===a&&!!s.component}).map(s=>s.component.uid).map(s=>n[s]).filter(s=>!!s),on=(e,a)=>{const n={},o=Xt([]);return{children:o,addChild:i=>{n[i.uid]=i,o.value=an(e,a,n)},removeChild:i=>{delete n[i],o.value=o.value.filter(g=>g.uid!==i)}}},sn=D({name:"ElCollapseTransition"}),ln=D({...sn,setup(e){const a=V("collapse-transition"),n=t=>{t.style.maxHeight="",t.style.overflow=t.dataset.oldOverflow,t.style.paddingTop=t.dataset.oldPaddingTop,t.style.paddingBottom=t.dataset.oldPaddingBottom},o={beforeEnter(t){t.dataset||(t.dataset={}),t.dataset.oldPaddingTop=t.style.paddingTop,t.dataset.oldPaddingBottom=t.style.paddingBottom,t.style.height&&(t.dataset.elExistsHeight=t.style.height),t.style.maxHeight=0,t.style.paddingTop=0,t.style.paddingBottom=0},enter(t){requestAnimationFrame(()=>{t.dataset.oldOverflow=t.style.overflow,t.dataset.elExistsHeight?t.style.maxHeight=t.dataset.elExistsHeight:t.scrollHeight!==0?t.style.maxHeight=`${t.scrollHeight}px`:t.style.maxHeight=0,t.style.paddingTop=t.dataset.oldPaddingTop,t.style.paddingBottom=t.dataset.oldPaddingBottom,t.style.overflow="hidden"})},afterEnter(t){t.style.maxHeight="",t.style.overflow=t.dataset.oldOverflow},enterCancelled(t){n(t)},beforeLeave(t){t.dataset||(t.dataset={}),t.dataset.oldPaddingTop=t.style.paddingTop,t.dataset.oldPaddingBottom=t.style.paddingBottom,t.dataset.oldOverflow=t.style.overflow,t.style.maxHeight=`${t.scrollHeight}px`,t.style.overflow="hidden"},leave(t){t.scrollHeight!==0&&(t.style.maxHeight=0,t.style.paddingTop=0,t.style.paddingBottom=0)},afterLeave(t){n(t)},leaveCancelled(t){n(t)}};return(t,s)=>(E(),q(Ue,qe({name:x(a).b()},jt(o)),{default:_(()=>[L(t.$slots,"default")]),_:3},16,["name"]))}});var we=te(ln,[["__file","collapse-transition.vue"]]);we.install=e=>{e.component(we.name,we)};const rn=we,un=D({name:"ElContainer"}),cn=D({...un,props:{direction:{type:String}},setup(e){const a=e,n=Ke(),o=V("container"),t=T(()=>a.direction==="vertical"?!0:a.direction==="horizontal"?!1:n&&n.default?n.default().some(i=>{const g=i.type.name;return g==="ElHeader"||g==="ElFooter"}):!1);return(s,i)=>(E(),R("section",{class:ee([x(o).b(),x(o).is("vertical",x(t))])},[L(s.$slots,"default")],2))}});var dn=te(cn,[["__file","container.vue"]]);const pn=D({name:"ElAside"}),vn=D({...pn,props:{width:{type:String,default:null}},setup(e){const a=e,n=V("aside"),o=T(()=>a.width?n.cssVarBlock({width:a.width}):{});return(t,s)=>(E(),R("aside",{class:ee(x(n).b()),style:Te(x(o))},[L(t.$slots,"default")],6))}});var ct=te(vn,[["__file","aside.vue"]]);const fn=D({name:"ElFooter"}),mn=D({...fn,props:{height:{type:String,default:null}},setup(e){const a=e,n=V("footer"),o=T(()=>a.height?n.cssVarBlock({height:a.height}):{});return(t,s)=>(E(),R("footer",{class:ee(x(n).b()),style:Te(x(o))},[L(t.$slots,"default")],6))}});var dt=te(mn,[["__file","footer.vue"]]);const hn=D({name:"ElHeader"}),bn=D({...hn,props:{height:{type:String,default:null}},setup(e){const a=e,n=V("header"),o=T(()=>a.height?n.cssVarBlock({height:a.height}):{});return(t,s)=>(E(),R("header",{class:ee(x(n).b()),style:Te(x(o))},[L(t.$slots,"default")],6))}});var pt=te(bn,[["__file","header.vue"]]);const _n=D({name:"ElMain"}),gn=D({..._n,setup(e){const a=V("main");return(n,o)=>(E(),R("main",{class:ee(x(a).b())},[L(n.$slots,"default")],2))}});var vt=te(gn,[["__file","main.vue"]]);const yn=$e(dn,{Aside:ct,Footer:dt,Header:pt,Main:vt}),Cn=re(ct),Mn=re(dt);re(pt);const wn=re(vt);let Tn=class{constructor(a,n){this.parent=a,this.domNode=n,this.subIndex=0,this.subIndex=0,this.init()}init(){this.subMenuItems=this.domNode.querySelectorAll("li"),this.addListeners()}gotoSubIndex(a){a===this.subMenuItems.length?a=0:a<0&&(a=this.subMenuItems.length-1),this.subMenuItems[a].focus(),this.subIndex=a}addListeners(){const a=this.parent.domNode;Array.prototype.forEach.call(this.subMenuItems,n=>{n.addEventListener("keydown",o=>{let t=!1;switch(o.code){case Q.down:{this.gotoSubIndex(this.subIndex+1),t=!0;break}case Q.up:{this.gotoSubIndex(this.subIndex-1),t=!0;break}case Q.tab:{Me(a,"mouseleave");break}case Q.enter:case Q.space:{t=!0,o.currentTarget.click();break}}return t&&(o.preventDefault(),o.stopPropagation()),!1})})}},xn=class{constructor(a,n){this.domNode=a,this.submenu=null,this.submenu=null,this.init(n)}init(a){this.domNode.setAttribute("tabindex","0");const n=this.domNode.querySelector(`.${a}-menu`);n&&(this.submenu=new Tn(this,n)),this.addListeners()}addListeners(){this.domNode.addEventListener("keydown",a=>{let n=!1;switch(a.code){case Q.down:{Me(a.currentTarget,"mouseenter"),this.submenu&&this.submenu.gotoSubIndex(0),n=!0;break}case Q.up:{Me(a.currentTarget,"mouseenter"),this.submenu&&this.submenu.gotoSubIndex(this.submenu.subMenuItems.length-1),n=!0;break}case Q.tab:{Me(a.currentTarget,"mouseleave");break}case Q.enter:case Q.space:{n=!0,a.currentTarget.click();break}}n&&a.preventDefault()})}},En=class{constructor(a,n){this.domNode=a,this.init(n)}init(a){const n=this.domNode.childNodes;Array.from(n).forEach(o=>{o.nodeType===1&&new xn(o,a)})}};const An=D({name:"ElMenuCollapseTransition",setup(){const e=V("menu");return{listeners:{onBeforeEnter:n=>n.style.opacity="0.2",onEnter(n,o){ye(n,`${e.namespace.value}-opacity-transition`),n.style.opacity="1",o()},onAfterEnter(n){Ae(n,`${e.namespace.value}-opacity-transition`),n.style.opacity=""},onBeforeLeave(n){n.dataset||(n.dataset={}),Ct(n,e.m("collapse"))?(Ae(n,e.m("collapse")),n.dataset.oldOverflow=n.style.overflow,n.dataset.scrollWidth=n.clientWidth.toString(),ye(n,e.m("collapse"))):(ye(n,e.m("collapse")),n.dataset.oldOverflow=n.style.overflow,n.dataset.scrollWidth=n.clientWidth.toString(),Ae(n,e.m("collapse"))),n.style.width=`${n.scrollWidth}px`,n.style.overflow="hidden"},onLeave(n){ye(n,"horizontal-collapse-transition"),n.style.width=`${n.dataset.scrollWidth}px`}}}}});function Sn(e,a,n,o,t,s){return E(),q(Ue,qe({mode:"out-in"},e.listeners),{default:_(()=>[L(e.$slots,"default")]),_:3},16)}var kn=te(An,[["render",Sn],["__file","menu-collapse-transition.vue"]]);function ft(e,a){const n=T(()=>{let t=e.parent;const s=[a.value];for(;t.type.name!=="ElMenu";)t.props.index&&s.unshift(t.props.index),t=t.parent;return s});return{parentMenu:T(()=>{let t=e.parent;for(;t&&!["ElMenu","ElSubMenu"].includes(t.type.name);)t=t.parent;return t}),indexPath:n}}function Bn(e){return T(()=>{const n=e.backgroundColor;return n?new Mt(n).shade(20).toString():""})}const mt=(e,a)=>{const n=V("menu");return T(()=>n.cssVarBlock({"text-color":e.textColor||"","hover-text-color":e.textColor||"","bg-color":e.backgroundColor||"","hover-bg-color":Bn(e).value||"","active-color":e.activeTextColor||"",level:`${a}`}))},In=pe({index:{type:String,required:!0},showTimeout:Number,hideTimeout:Number,popperClass:String,disabled:Boolean,popperAppendToBody:{type:Boolean,default:void 0},teleported:{type:Boolean,default:void 0},popperOffset:Number,expandCloseIcon:{type:be},expandOpenIcon:{type:be},collapseCloseIcon:{type:be},collapseOpenIcon:{type:be}}),Ce="ElSubMenu";var He=D({name:Ce,props:In,setup(e,{slots:a,expose:n}){Xe({from:"popper-append-to-body",replacement:"teleported",scope:Ce,version:"2.3.0",ref:"https://element-plus.org/en-US/component/menu.html#submenu-attributes"},T(()=>e.popperAppendToBody!==void 0));const o=ve(),{indexPath:t,parentMenu:s}=ft(o,T(()=>e.index)),i=V("menu"),g=V("sub-menu"),l=se("rootMenu");l||de(Ce,"can not inject root menu");const m=se(`subMenu:${s.value.uid}`);m||de(Ce,"can not inject sub menu");const d=k({}),b=k({});let c;const v=k(!1),I=k(),N=k(null),h=T(()=>J.value==="horizontal"&&O.value?"bottom-start":"right-start"),P=T(()=>J.value==="horizontal"&&O.value||J.value==="vertical"&&!l.props.collapse?e.expandCloseIcon&&e.expandOpenIcon?K.value?e.expandOpenIcon:e.expandCloseIcon:wt:e.collapseCloseIcon&&e.collapseOpenIcon?K.value?e.collapseOpenIcon:e.collapseCloseIcon:Qe),O=T(()=>m.level===0),H=T(()=>{var f;const B=(f=e.teleported)!=null?f:e.popperAppendToBody;return B===void 0?O.value:B}),Y=T(()=>l.props.collapse?`${i.namespace.value}-zoom-in-left`:`${i.namespace.value}-zoom-in-top`),ne=T(()=>J.value==="horizontal"&&O.value?["bottom-start","bottom-end","top-start","top-end","right-start","left-start"]:["right-start","right","right-end","left-start","bottom-start","bottom-end","top-start","top-end"]),K=T(()=>l.openedMenus.includes(e.index)),le=T(()=>{let f=!1;return Object.values(d.value).forEach(B=>{B.active&&(f=!0)}),Object.values(b.value).forEach(B=>{B.active&&(f=!0)}),f}),J=T(()=>l.props.mode),w=xe({index:e.index,indexPath:t,active:le}),S=mt(l.props,m.level+1),C=T(()=>{var f;return(f=e.popperOffset)!=null?f:l.props.popperOffset}),z=T(()=>{var f;return(f=e.popperClass)!=null?f:l.props.popperClass}),r=T(()=>{var f;return(f=e.showTimeout)!=null?f:l.props.showTimeout}),p=T(()=>{var f;return(f=e.hideTimeout)!=null?f:l.props.hideTimeout}),y=()=>{var f,B,$;return($=(B=(f=N.value)==null?void 0:f.popperRef)==null?void 0:B.popperInstanceRef)==null?void 0:$.destroy()},A=f=>{f||y()},M=()=>{l.props.menuTrigger==="hover"&&l.props.mode==="horizontal"||l.props.collapse&&l.props.mode==="vertical"||e.disabled||l.handleSubMenuClick({index:e.index,indexPath:t.value,active:le.value})},X=(f,B=r.value)=>{var $;if(f.type!=="focus"){if(l.props.menuTrigger==="click"&&l.props.mode==="horizontal"||!l.props.collapse&&l.props.mode==="vertical"||e.disabled){m.mouseInChild.value=!0;return}m.mouseInChild.value=!0,c==null||c(),{stop:c}=ze(()=>{l.openMenu(e.index,t.value)},B),H.value&&(($=s.value.vnode.el)==null||$.dispatchEvent(new MouseEvent("mouseenter")))}},Z=(f=!1)=>{var B;if(l.props.menuTrigger==="click"&&l.props.mode==="horizontal"||!l.props.collapse&&l.props.mode==="vertical"){m.mouseInChild.value=!1;return}c==null||c(),m.mouseInChild.value=!1,{stop:c}=ze(()=>!v.value&&l.closeMenu(e.index,t.value),p.value),H.value&&f&&((B=m.handleMouseleave)==null||B.call(m,!0))};U(()=>l.props.collapse,f=>A(!!f));{const f=$=>{b.value[$.index]=$},B=$=>{delete b.value[$.index]};_e(`subMenu:${o.uid}`,{addSubMenu:f,removeSubMenu:B,handleMouseleave:Z,mouseInChild:v,level:m.level+1})}return n({opened:K}),he(()=>{l.addSubMenu(w),m.addSubMenu(w)}),Ze(()=>{m.removeSubMenu(w),l.removeSubMenu(w)}),()=>{var f;const B=[(f=a.title)==null?void 0:f.call(a),W(oe,{class:g.e("icon-arrow"),style:{transform:K.value?e.expandCloseIcon&&e.expandOpenIcon||e.collapseCloseIcon&&e.collapseOpenIcon&&l.props.collapse?"none":"rotateZ(180deg)":"none"}},{default:()=>ue(P.value)?W(o.appContext.components[P.value]):W(P.value)})],$=l.isMenuPopup?W(je,{ref:N,visible:K.value,effect:"light",pure:!0,offset:C.value,showArrow:!1,persistent:!0,popperClass:z.value,placement:h.value,teleported:H.value,fallbackPlacements:ne.value,transition:Y.value,gpuAcceleration:!1},{content:()=>{var ae;return W("div",{class:[i.m(J.value),i.m("popup-container"),z.value],onMouseenter:G=>X(G,100),onMouseleave:()=>Z(!0),onFocus:G=>X(G,100)},[W("ul",{class:[i.b(),i.m("popup"),i.m(`popup-${h.value}`)],style:S.value},[(ae=a.default)==null?void 0:ae.call(a)])])},default:()=>W("div",{class:g.e("title"),onClick:M},B)}):W(ce,{},[W("div",{class:g.e("title"),ref:I,onClick:M},B),W(rn,{},{default:()=>{var ae;return De(W("ul",{role:"menu",class:[i.b(),i.m("inline")],style:S.value},[(ae=a.default)==null?void 0:ae.call(a)]),[[Je,K.value]])}})]);return W("li",{class:[g.b(),g.is("active",le.value),g.is("opened",K.value),g.is("disabled",e.disabled)],role:"menuitem",ariaHaspopup:!0,ariaExpanded:K.value,onMouseenter:X,onMouseleave:()=>Z(),onFocus:X},[$])}}});const Pn=pe({mode:{type:String,values:["horizontal","vertical"],default:"vertical"},defaultActive:{type:String,default:""},defaultOpeneds:{type:me(Array),default:()=>Ne([])},uniqueOpened:Boolean,router:Boolean,menuTrigger:{type:String,values:["hover","click"],default:"hover"},collapse:Boolean,backgroundColor:String,textColor:String,activeTextColor:String,closeOnClickOutside:Boolean,collapseTransition:{type:Boolean,default:!0},ellipsis:{type:Boolean,default:!0},popperOffset:{type:Number,default:6},ellipsisIcon:{type:be,default:()=>Tt},popperEffect:{type:String,values:["dark","light"],default:"dark"},popperClass:String,showTimeout:{type:Number,default:300},hideTimeout:{type:Number,default:300}}),Se=e=>Array.isArray(e)&&e.every(a=>ue(a)),Nn={close:(e,a)=>ue(e)&&Se(a),open:(e,a)=>ue(e)&&Se(a),select:(e,a,n,o)=>ue(e)&&Se(a)&&Ut(n)&&(o===void 0||o instanceof Promise)};var On=D({name:"ElMenu",props:Pn,emits:Nn,setup(e,{emit:a,slots:n,expose:o}){const t=ve(),s=t.appContext.config.globalProperties.$router,i=k(),g=V("menu"),l=V("sub-menu"),m=k(-1),d=k(e.defaultOpeneds&&!e.collapse?e.defaultOpeneds.slice(0):[]),b=k(e.defaultActive),c=k({}),v=k({}),I=T(()=>e.mode==="horizontal"||e.mode==="vertical"&&e.collapse),N=()=>{const r=b.value&&c.value[b.value];if(!r||e.mode==="horizontal"||e.collapse)return;r.indexPath.forEach(y=>{const A=v.value[y];A&&h(y,A.indexPath)})},h=(r,p)=>{d.value.includes(r)||(e.uniqueOpened&&(d.value=d.value.filter(y=>p.includes(y))),d.value.push(r),a("open",r,p))},P=r=>{const p=d.value.indexOf(r);p!==-1&&d.value.splice(p,1)},O=(r,p)=>{P(r),a("close",r,p)},H=({index:r,indexPath:p})=>{d.value.includes(r)?O(r,p):h(r,p)},Y=r=>{(e.mode==="horizontal"||e.collapse)&&(d.value=[]);const{index:p,indexPath:y}=r;if(!(We(p)||We(y)))if(e.router&&s){const A=r.route||p,M=s.push(A).then(X=>(X||(b.value=p),X));a("select",p,y,{index:p,indexPath:y,route:A},M)}else b.value=p,a("select",p,y,{index:p,indexPath:y})},ne=r=>{const p=c.value,y=p[r]||b.value&&p[b.value]||p[e.defaultActive];y?b.value=y.index:b.value=r},K=()=>{var r,p;if(!i.value)return-1;const y=Array.from((p=(r=i.value)==null?void 0:r.childNodes)!=null?p:[]).filter($=>$.nodeName!=="#comment"&&($.nodeName!=="#text"||$.nodeValue)),A=64,M=Number.parseInt(getComputedStyle(i.value).paddingLeft,10),X=Number.parseInt(getComputedStyle(i.value).paddingRight,10),Z=i.value.clientWidth-M-X;let f=0,B=0;return y.forEach(($,ae)=>{f+=$.offsetWidth||0,f<=Z-A&&(B=ae+1)}),B===y.length?-1:B},le=r=>v.value[r].indexPath,J=(r,p=33.34)=>{let y;return()=>{y&&clearTimeout(y),y=setTimeout(()=>{r()},p)}};let w=!0;const S=()=>{const r=()=>{m.value=-1,ge(()=>{m.value=K()})};w?r():J(r)(),w=!1};U(()=>e.defaultActive,r=>{c.value[r]||(b.value=""),ne(r)}),U(()=>e.collapse,r=>{r&&(d.value=[])}),U(c.value,N);let C;qt(()=>{e.mode==="horizontal"&&e.ellipsis?C=Oe(i,S).stop:C==null||C()});const z=k(!1);{const r=M=>{v.value[M.index]=M},p=M=>{delete v.value[M.index]};_e("rootMenu",xe({props:e,openedMenus:d,items:c,subMenus:v,activeIndex:b,isMenuPopup:I,addMenuItem:M=>{c.value[M.index]=M},removeMenuItem:M=>{delete c.value[M.index]},addSubMenu:r,removeSubMenu:p,openMenu:h,closeMenu:O,handleMenuItemClick:Y,handleSubMenuClick:H})),_e(`subMenu:${t.uid}`,{addSubMenu:r,removeSubMenu:p,mouseInChild:z,level:0})}return he(()=>{e.mode==="horizontal"&&new En(t.vnode.el,g.namespace.value)}),o({open:p=>{const{indexPath:y}=v.value[p];y.forEach(A=>h(A,y))},close:P,handleResize:S}),()=>{var r,p;let y=(p=(r=n.default)==null?void 0:r.call(n))!=null?p:[];const A=[];if(e.mode==="horizontal"&&i.value){const f=lt(y),B=m.value===-1?f:f.slice(0,m.value),$=m.value===-1?[]:f.slice(m.value);$!=null&&$.length&&e.ellipsis&&(y=B,A.push(W(He,{index:"sub-menu-more",class:l.e("hide-arrow"),popperOffset:e.popperOffset},{title:()=>W(oe,{class:l.e("icon-more")},{default:()=>W(e.ellipsisIcon)}),default:()=>$})))}const M=mt(e,0),X=e.closeOnClickOutside?[[Wt,()=>{d.value.length&&(z.value||(d.value.forEach(f=>a("close",f,le(f))),d.value=[]))}]]:[],Z=De(W("ul",{key:String(e.collapse),role:"menubar",ref:i,style:M.value,class:{[g.b()]:!0,[g.m(e.mode)]:!0,[g.m("collapse")]:e.collapse}},[...y,...A]),X);return e.collapseTransition&&e.mode==="vertical"?W(kn,()=>Z):Z}}});const $n=pe({index:{type:me([String,null]),default:null},route:{type:me([String,Object])},disabled:Boolean}),Dn={click:e=>ue(e.index)&&Array.isArray(e.indexPath)},ke="ElMenuItem",Hn=D({name:ke,components:{ElTooltip:je},props:$n,emits:Dn,setup(e,{emit:a}){const n=ve(),o=se("rootMenu"),t=V("menu"),s=V("menu-item");o||de(ke,"can not inject root menu");const{parentMenu:i,indexPath:g}=ft(n,Kt(e,"index")),l=se(`subMenu:${i.value.uid}`);l||de(ke,"can not inject sub menu");const m=T(()=>e.index===o.activeIndex),d=xe({index:e.index,indexPath:g,active:m}),b=()=>{e.disabled||(o.handleMenuItemClick({index:e.index,indexPath:g.value,route:e.route}),a("click",d))};return he(()=>{l.addSubMenu(d),o.addMenuItem(d)}),Ze(()=>{l.removeSubMenu(d),o.removeMenuItem(d)}),{parentMenu:i,rootMenu:o,active:m,nsMenu:t,nsMenuItem:s,handleClick:b}}});function zn(e,a,n,o,t,s){const i=Ge("el-tooltip");return E(),R("li",{class:ee([e.nsMenuItem.b(),e.nsMenuItem.is("active",e.active),e.nsMenuItem.is("disabled",e.disabled)]),role:"menuitem",tabindex:"-1",onClick:a[0]||(a[0]=(...g)=>e.handleClick&&e.handleClick(...g))},[e.parentMenu.type.name==="ElMenu"&&e.rootMenu.props.collapse&&e.$slots.title?(E(),q(i,{key:0,effect:e.rootMenu.props.popperEffect,placement:"right","fallback-placements":["left"],persistent:""},{content:_(()=>[L(e.$slots,"title")]),default:_(()=>[F("div",{class:ee(e.nsMenu.be("tooltip","trigger"))},[L(e.$slots,"default")],2)]),_:3},8,["effect"])):(E(),R(ce,{key:1},[L(e.$slots,"default"),L(e.$slots,"title")],64))],2)}var ht=te(Hn,[["render",zn],["__file","menu-item.vue"]]);const Fn={title:String},Vn="ElMenuItemGroup",Rn=D({name:Vn,props:Fn,setup(){return{ns:V("menu-item-group")}}});function Yn(e,a,n,o,t,s){return E(),R("li",{class:ee(e.ns.b())},[F("div",{class:ee(e.ns.e("title"))},[e.$slots.title?L(e.$slots,"title",{key:1}):(E(),R(ce,{key:0},[j(fe(e.title),1)],64))],2),F("ul",null,[L(e.$slots,"default")])],2)}var bt=te(Rn,[["render",Yn],["__file","menu-item-group.vue"]]);const Wn=$e(On,{MenuItem:ht,MenuItemGroup:bt,SubMenu:He}),Ln=re(ht);re(bt);const Xn=re(He),Ee=Symbol("tabsRootContextKey"),Qn=pe({tabs:{type:me(Array),default:()=>Ne([])}}),_t="ElTabBar",jn=D({name:_t}),qn=D({...jn,props:Qn,setup(e,{expose:a}){const n=e,o=ve(),t=se(Ee);t||de(_t,"");const s=V("tabs"),i=k(),g=k(),l=()=>{let d=0,b=0;const c=["top","bottom"].includes(t.props.tabPosition)?"width":"height",v=c==="width"?"x":"y",I=v==="x"?"left":"top";return n.tabs.every(N=>{var h,P;const O=(P=(h=o.parent)==null?void 0:h.refs)==null?void 0:P[`tab-${N.uid}`];if(!O)return!1;if(!N.active)return!0;d=O[`offset${ie(I)}`],b=O[`client${ie(c)}`];const H=window.getComputedStyle(O);return c==="width"&&(n.tabs.length>1&&(b-=Number.parseFloat(H.paddingLeft)+Number.parseFloat(H.paddingRight)),d+=Number.parseFloat(H.paddingLeft)),!1}),{[c]:`${b}px`,transform:`translate${ie(v)}(${d}px)`}},m=()=>g.value=l();return U(()=>n.tabs,async()=>{await ge(),m()},{immediate:!0}),Oe(i,()=>m()),a({ref:i,update:m}),(d,b)=>(E(),R("div",{ref_key:"barRef",ref:i,class:ee([x(s).e("active-bar"),x(s).is(x(t).props.tabPosition)]),style:Te(g.value)},null,6))}});var Un=te(qn,[["__file","tab-bar.vue"]]);const Kn=pe({panes:{type:me(Array),default:()=>Ne([])},currentName:{type:[String,Number],default:""},editable:Boolean,type:{type:String,values:["card","border-card",""],default:""},stretch:Boolean}),Zn={tabClick:(e,a,n)=>n instanceof Event,tabRemove:(e,a)=>a instanceof Event},Le="ElTabNav",Jn=D({name:Le,props:Kn,emits:Zn,setup(e,{expose:a,emit:n}){const o=ve(),t=se(Ee);t||de(Le,"");const s=V("tabs"),i=xt(),g=Et(),l=k(),m=k(),d=k(),b=k(),c=k(!1),v=k(0),I=k(!1),N=k(!0),h=T(()=>["top","bottom"].includes(t.props.tabPosition)?"width":"height"),P=T(()=>({transform:`translate${h.value==="width"?"X":"Y"}(-${v.value}px)`})),O=()=>{if(!l.value)return;const w=l.value[`offset${ie(h.value)}`],S=v.value;if(!S)return;const C=S>w?S-w:0;v.value=C},H=()=>{if(!l.value||!m.value)return;const w=m.value[`offset${ie(h.value)}`],S=l.value[`offset${ie(h.value)}`],C=v.value;if(w-C<=S)return;const z=w-C>S*2?C+S:w-S;v.value=z},Y=async()=>{const w=m.value;if(!c.value||!d.value||!l.value||!w)return;await ge();const S=d.value.querySelector(".is-active");if(!S)return;const C=l.value,z=["top","bottom"].includes(t.props.tabPosition),r=S.getBoundingClientRect(),p=C.getBoundingClientRect(),y=z?w.offsetWidth-p.width:w.offsetHeight-p.height,A=v.value;let M=A;z?(r.leftp.right&&(M=A+r.right-p.right)):(r.topp.bottom&&(M=A+(r.bottom-p.bottom))),M=Math.max(M,0),v.value=Math.min(M,y)},ne=()=>{var w;if(!m.value||!l.value)return;e.stretch&&((w=b.value)==null||w.update());const S=m.value[`offset${ie(h.value)}`],C=l.value[`offset${ie(h.value)}`],z=v.value;C0&&(v.value=0))},K=w=>{const S=w.code,{up:C,down:z,left:r,right:p}=Q;if(![C,z,r,p].includes(S))return;const y=Array.from(w.currentTarget.querySelectorAll("[role=tab]:not(.is-disabled)")),A=y.indexOf(w.target);let M;S===r||S===C?A===0?M=y.length-1:M=A-1:A{N.value&&(I.value=!0)},J=()=>I.value=!1;return U(i,w=>{w==="hidden"?N.value=!1:w==="visible"&&setTimeout(()=>N.value=!0,50)}),U(g,w=>{w?setTimeout(()=>N.value=!0,50):N.value=!1}),Oe(d,ne),he(()=>setTimeout(()=>Y(),0)),Zt(()=>ne()),a({scrollToActiveTab:Y,removeFocus:J}),U(()=>e.panes,()=>o.update(),{flush:"post",deep:!0}),()=>{const w=c.value?[u("span",{class:[s.e("nav-prev"),s.is("disabled",!c.value.prev)],onClick:O},[u(oe,null,{default:()=>[u(At,null,null)]})]),u("span",{class:[s.e("nav-next"),s.is("disabled",!c.value.next)],onClick:H},[u(oe,null,{default:()=>[u(Qe,null,null)]})])]:null,S=e.panes.map((C,z)=>{var r,p,y,A;const M=C.uid,X=C.props.disabled,Z=(p=(r=C.props.name)!=null?r:C.index)!=null?p:`${z}`,f=!X&&(C.isClosable||e.editable);C.index=`${z}`;const B=f?u(oe,{class:"is-icon-close",onClick:G=>n("tabRemove",C,G)},{default:()=>[u(St,null,null)]}):null,$=((A=(y=C.slots).label)==null?void 0:A.call(y))||C.props.label,ae=!X&&C.active?0:-1;return u("div",{ref:`tab-${M}`,class:[s.e("item"),s.is(t.props.tabPosition),s.is("active",C.active),s.is("disabled",X),s.is("closable",f),s.is("focus",I.value)],id:`tab-${Z}`,key:`tab-${M}`,"aria-controls":`pane-${Z}`,role:"tab","aria-selected":C.active,tabindex:ae,onFocus:()=>le(),onBlur:()=>J(),onClick:G=>{J(),n("tabClick",C,Z,G)},onKeydown:G=>{f&&(G.code===Q.delete||G.code===Q.backspace)&&n("tabRemove",C,G)}},[$,B])});return u("div",{ref:d,class:[s.e("nav-wrap"),s.is("scrollable",!!c.value),s.is(t.props.tabPosition)]},[w,u("div",{class:s.e("nav-scroll"),ref:l},[u("div",{class:[s.e("nav"),s.is(t.props.tabPosition),s.is("stretch",e.stretch&&["top","bottom"].includes(t.props.tabPosition))],ref:m,style:P.value,role:"tablist",onKeydown:K},[e.type?null:u(Un,{ref:b,tabs:[...e.panes]},null),S])])])}}}),Gn=pe({type:{type:String,values:["card","border-card",""],default:""},activeName:{type:[String,Number]},closable:Boolean,addable:Boolean,modelValue:{type:[String,Number]},editable:Boolean,tabPosition:{type:String,values:["top","right","bottom","left"],default:"top"},beforeLeave:{type:me(Function),default:()=>!0},stretch:Boolean}),Be=e=>ue(e)||Jt(e),ea={[st]:e=>Be(e),tabClick:(e,a)=>a instanceof Event,tabChange:e=>Be(e),edit:(e,a)=>["remove","add"].includes(a),tabRemove:e=>Be(e),tabAdd:()=>!0},ta=D({name:"ElTabs",props:Gn,emits:ea,setup(e,{emit:a,slots:n,expose:o}){var t,s;const i=V("tabs"),{children:g,addChild:l,removeChild:m}=on(ve(),"ElTabPane"),d=k(),b=k((s=(t=e.modelValue)!=null?t:e.activeName)!=null?s:"0"),c=async(h,P=!1)=>{var O,H,Y;if(!(b.value===h||Re(h)))try{await((O=e.beforeLeave)==null?void 0:O.call(e,h,b.value))!==!1&&(b.value=h,P&&(a(st,h),a("tabChange",h)),(Y=(H=d.value)==null?void 0:H.removeFocus)==null||Y.call(H))}catch{}},v=(h,P,O)=>{h.props.disabled||(c(P,!0),a("tabClick",h,O))},I=(h,P)=>{h.props.disabled||Re(h.props.name)||(P.stopPropagation(),a("edit",h.props.name,"remove"),a("tabRemove",h.props.name))},N=()=>{a("edit",void 0,"add"),a("tabAdd")};return Xe({from:'"activeName"',replacement:'"model-value" or "v-model"',scope:"ElTabs",version:"2.3.0",ref:"https://element-plus.org/en-US/component/tabs.html#attributes",type:"Attribute"},T(()=>!!e.activeName)),U(()=>e.activeName,h=>c(h)),U(()=>e.modelValue,h=>c(h)),U(b,async()=>{var h;await ge(),(h=d.value)==null||h.scrollToActiveTab()}),_e(Ee,{props:e,currentName:b,registerPane:l,unregisterPane:m}),o({currentName:b}),()=>{const h=n.addIcon,P=e.editable||e.addable?u("span",{class:i.e("new-tab"),tabindex:"0",onClick:N,onKeydown:Y=>{Y.code===Q.enter&&N()}},[h?L(n,"addIcon"):u(oe,{class:i.is("icon-plus")},{default:()=>[u(kt,null,null)]})]):null,O=u("div",{class:[i.e("header"),i.is(e.tabPosition)]},[P,u(Jn,{ref:d,currentName:b.value,editable:e.editable,type:e.type,panes:g.value,stretch:e.stretch,onTabClick:v,onTabRemove:I},null)]),H=u("div",{class:i.e("content")},[L(n,"default")]);return u("div",{class:[i.b(),i.m(e.tabPosition),{[i.m("card")]:e.type==="card",[i.m("border-card")]:e.type==="border-card"}]},[...e.tabPosition!=="bottom"?[O,H]:[H,O]])}}}),na=pe({label:{type:String,default:""},name:{type:[String,Number]},closable:Boolean,disabled:Boolean,lazy:Boolean}),aa=["id","aria-hidden","aria-labelledby"],gt="ElTabPane",oa=D({name:gt}),sa=D({...oa,props:na,setup(e){const a=e,n=ve(),o=Ke(),t=se(Ee);t||de(gt,"usage: ");const s=V("tab-pane"),i=k(),g=T(()=>a.closable||t.props.closable),l=Fe(()=>{var v;return t.currentName.value===((v=a.name)!=null?v:i.value)}),m=k(l.value),d=T(()=>{var v;return(v=a.name)!=null?v:i.value}),b=Fe(()=>!a.lazy||m.value||l.value);U(l,v=>{v&&(m.value=!0)});const c=xe({uid:n.uid,slots:o,props:a,paneName:d,active:l,index:i,isClosable:g});return he(()=>{t.registerPane(c)}),Gt(()=>{t.unregisterPane(c.uid)}),(v,I)=>x(b)?De((E(),R("div",{key:0,id:`pane-${x(d)}`,class:ee(x(s).b()),role:"tabpanel","aria-hidden":!x(l),"aria-labelledby":`tab-${x(d)}`},[L(v.$slots,"default")],10,aa)),[[Je,x(l)]]):et("v-if",!0)}});var yt=te(sa,[["__file","tab-pane.vue"]]);const la=$e(ta,{TabPane:yt}),ia=re(yt);const ra="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAATwAAABCCAMAAAD9hJoxAAAAjVBMVEUAAABmYmBmYmBmYmBmYmBmYmBmYmBmYmBmYmBmYmBmYmBmYmDMCCPMCCNmYmBmYmDMCCPMCCPMCCPnQhDMCCPMCCPXIhtmYmBmYmDnQhDnQhDMCCPMCCPnQhDMCCPnQhDMCCPnQhDMCCPMCCPnQhDnQhDnQhDnQhDMCCPnQhDnQhDnQhBmYmDMCCPnQhBOmYs0AAAALHRSTlMAgMBA8BCg4GAg0FDwwDBwgEBgQDAQILCQgPDg0NigYHAwsJAQwKCwUHBQkHnnoZMAAAfHSURBVHja7ZzretowDIad8/kEhFCgFNqtpV3C/V/e1rXBceRIdjpv3Z59f8lBeSPJsuXAPoPq4/2+e1WWlYs1+y9NVVV5v+t+avewYv+lrdVx/86vrNmflpNY70pyhikqGntSm0J+crKxEfmWM4vfoXvTAcE3+9bCYyE4Qj9uBdnWFEDPbwm5mwjYH7SUXMtj+lrfv9FLS8alfWtfyk/gMelIcStTYEUMKndbBfkiiLDlwvDNyn998qsYEHlrDiefA8/xMQYAnxe3SgqGxiStouI5zlf3sVvKHq9V1UYbXuRrOoPVKsod0Atao/TY4p1eVsO81c68Nw2vcOlLiv7stqoKPD3Hg0bq09uvx87RtrPo0fC8RsmFQiQKMPn9SZtWQyFDtby7edXzUk4vXWEZj6anDM+L9Z+naDUUwdChFSDkXp62l6ue7r7I6NVolrF7EX4P4RHs3KZwXlX4LqAnNcZNxAuGAXA9CK+JRkXS+Dkma8y724uo7c0AX9lHbi3Aw7w6T8CTWgg8hF0wvHI4+jHhxqDjky++DU8Cz0FO4vZDnTg6rttB9Gbv9O4n4fmMzvoRDQ8+ZzG+qPhzxI1BH7MBzGl4rFEYMp4vct3wcjl9p3dkXIS90IlsCh6EE+dEMWwrGuO50DUhPHxIZBI9Xqb0CAK3WyHwSHoODg8+ZOCR5WVBGwMdOlaDx0TzPYQdSm/Xl3ta8JgXCDmZhueDehbKAvmLMAbWBorwbPDuQcwiuhuPuN0CgUe6SUTBi1qViwbgINoYB3D4OLzTBdX2Whn3WW+HwaPub1HwfKXKKgSupwsv+SXwvl5wfQVZb4HAo4wOCHiRYk3vgsM04Vm/At7dhdKyH3B7eDsEHhljEQ6vAC4FBOdV8Z+CBwu8p+flmi1fHrdj19v39CoMHlEsFTi8ACkdkUz6Z+Cd4LwCTDr6rPfQwzsow4OHNSi8HOQlpbgtfhO8iAn6NkpwwsLJl29CqVz18FIEHpn0UHgFUlYh7hwbhAfrm1oetY9MlhFv+3XRrtdZC14uEsHg2SISRJZ4Ue06r1CDF0he/HWShbDj9MbFSvegBY+JeQOD1yIpDy88aGOsGXWeI5tdZv0CHifHPQzE9XK0OtBlH4AXTsKD8y5EnhiEutOzNlKCF0tCvZLCOzGJvmwl8DoEHlkmI/AK4ByKb8QGxhAR6DIUHm9lwgOOJY9KELRw9nYH4K3MwPORtUf0oi5uDHwxjQK8JJauJD/0nncDHA+6Hh9uH7pe1Xx4NgIPjG0EPC5gDNEkDall+NjmxZAIN5OE7S2b0FdJ2B7NwAsQeET+x41J/JZYSaYVsml4T2xCNxJ4pRl44gPqwiMFjbX12bEs7eerYNUY6uXSTzr2M+H5s+DZOvASLXiBh8CjthlkXV8lb2l4y2tAdzPhWebhWVrwckbBQ1pQ2XVu/0TDO/WD7epfgRcyEh7Sx8w6WKvcMEqLfwOe6+juF4k9Ed6eFyJ8wCB0L8AzUeeJJpuB53vAMj16h65bj7s/W0aoTjm8yiw8/VIlVIMXFxFimcOV+JAeX1E/gvH2hYzaTwwPK1UC+1WWlTi4ZeLPjjuRQ86DtfQb3qzAlXWdsbktsfQ4v0iGouERqxTrYRvnVs31qo5r/wF4IQoPeRh0J4T3i+HB2XM07GDvryS3fdY7qTreQR8evZ4H85jO3NYAPGdidfEwdL0ToEc4XrfQgxerwkuQrbhoE8M2AY8F8qbAWdhsd7rt6d1NDrW7IbxaD57yMnykXuh5olsYgbeZyHqpsF3sy9N11FgyUWA1ip9I2itFwhB42LIKGlOhEXjiPRohbrvFcAJ7XZr6tsTKFH7evO5ZjMLzlUeMQhyYjcBjrjxuV+PtYuzl66ADOQK4SofsUvaBvq2PwgtbVQSNuMZrBp4/MYBlcIf2+vlpC1rfkF1XIvDoSgWF5ylP0MBWRRPwkokcXHWc3hDg8odOjCHs0loPntdq7FVpwMEqveDcEDzWTpiTvZGoGKUq7YDj6cArdHZJJUjcIht9TMFrJsxZ8XYEqrITtasJeGi1VBDwWCBpNVAbjEMj8GAODmD1ka2Rq6+zbqQz04Nn6e0MDVvtiwbMGDyvndh5VO876oPQuuzGOjA9eDmY4yDwoOvlChdNDMGD460tGwh2x1rmdWUK2O1rBB79DWxEw0vobw0jsFpkDF4CW7ew9E0P55HTLe47qHTFtOA5LpitUvBYQ9HLQV40BA/Wyf7UYJDel1X10yOr48O+k2qF9SaAch92/Gh4XiCe5OCfFSXMKLwNrFb4LE1LC2wsaBxB4SaGHT8aHgz11h+el9igfW0UXjSyhc2kl56xMY9WyBB46Afk8SZxGIuc0A/Al7Om4MFD4EELdXYrkNE02eHwYKqk5TOz8OBD2mACoaJ9jWdTuluKw4NjAq2CmYfHRqY4oA6mVWK1Ki070vuDBq9RfB/m4YX4995H0vmyFXJzWoGj/9cgTkB3r43Dg64Hr10/oOh2CzYhT4Xe3D+lCTF8Nr+oUXgwA7sROZvg2i8YogJ3EHuTMC4cHpTju/KA9XN4rDWQw9QU8lMapI9gWdTFwZSC+hszaLVv277Vq3AcD2taDxRiV7dd+D4+o85llg5c7nD8HH8AFznh9YXk7FOretNf9seD3wEp1Aq+q1JvwgAAAABJRU5ErkJggg==";const ua={class:"logo"},ca={__name:"index",props:{collapse:{type:Boolean,default:!1}},setup(e){const a=[{title:"首頁",icon:Bt,path:"/index",children:[{title:"首頁輪播",path:"/index/banner"},{title:"供應商",path:"/index/supplier"}]},{title:"關於普達",icon:It,path:"/about",children:[{title:"公司簡介",path:"/about/company"},{title:"經營理念",path:"/about/concept"}]},{title:"產品管理",icon:Pt,path:"/product",children:[{title:"產品列表",path:"/product/list"},{title:"產品類別",path:"/product/group"}]},{title:"最新消息",icon:Nt,path:"/news",children:[{title:"產業動態",path:"/news/list"},{title:"公司活動",path:"/news/activity"}]},{title:"聯絡我們",icon:Ot,path:"/contact",children:[{title:"表單信件",path:"/contact/email"},{title:"公司據點",path:"/contact/map"}]},{title:"權限管理",icon:Ve,path:"/priv",children:[{title:"管理員列表",path:"/priv/admin"},{title:"管理員紀錄",path:"/priv/adminlog"}]},{title:"站台設定",icon:Ve,path:"/site/config"}],n=(o,t)=>{en.push(o)};return(o,t)=>{const s=Lt,i=oe,g=Ln,l=Xn,m=Wn;return E(),q(m,{"active-text-color":"#fefefe","background-color":"#032121","text-color":"#ccc","unique-opened":"",class:"el-menu-vertical",collapse:e.collapse,"default-active":o.$route.path,onSelect:n},{default:_(()=>[F("div",ua,[u(s,{style:{width:"100px"},src:x(ra)},null,8,["src"])]),(E(),R(ce,null,Ie(a,(d,b)=>(E(),R(ce,{key:b},[d.children&&d.children.length>0?(E(),q(l,{key:0,index:d.path},{title:_(()=>[u(i,null,{default:_(()=>[(E(),q(Ye(d.icon)))]),_:2},1024),F("span",null,fe(d.title),1)]),default:_(()=>[(E(!0),R(ce,null,Ie(d.children,(c,v)=>(E(),q(g,{index:c.path},{default:_(()=>[j(fe(c.title),1)]),_:2},1032,["index"]))),256))]),_:2},1032,["index"])):(E(),q(g,{key:1,index:d.path},{default:_(()=>[u(i,null,{default:_(()=>[(E(),q(Ye(d.icon)))]),_:2},1024),F("span",null,fe(d.title),1)]),_:2},1032,["index"]))],64))),64))]),_:1},8,["collapse","default-active"])}}},da=ot(ca,[["__scopeId","data-v-52d96f34"]]);const pa={class:"admin-header"},va={class:"header-nav header-layout-left"},fa={class:"header-nav-item header-flexible"},ma={class:"header-nav"},ha={class:"header-nav-item header-flexible",style:{cursor:"pointer"}},ba={class:"header-avatar",style:{marginRight:"5px"}},_a={class:"header-avatar"},ga={__name:"index",props:{collapse:{type:Boolean,default:!1}},emits:["toggleClospe"],setup(e,{emit:a}){const n=a,o=tt(),t=nt(),s={tw:"繁體",cn:"簡體",en:"EN"},i=se("reload"),g=()=>{n("toggleClospe")},l=b=>{t.setLang(b),i()},m=()=>{sessionStorage.removeItem("token"),o.push("/login")},d=()=>{alert("button click")};return(b,c)=>{const v=oe,I=it,N=rt,h=ut;return E(),R("div",pa,[F("ul",va,[F("li",fa,[e.collapse?(E(),q(v,{key:0,size:20,color:"#666",onClick:g},{default:_(()=>[u(x($t))]),_:1})):(E(),q(v,{key:1,size:20,color:"#666",onClick:g},{default:_(()=>[u(x(Dt))]),_:1}))])]),F("ul",ma,[F("li",ha,[u(h,{onClick:d},{dropdown:_(()=>[u(N,null,{default:_(()=>[u(I,{onClick:c[0]||(c[0]=P=>l("tw"))},{default:_(()=>[j("繁體")]),_:1}),u(I,{onClick:c[1]||(c[1]=P=>l("cn"))},{default:_(()=>[j("簡體")]),_:1}),u(I,{onClick:c[2]||(c[2]=P=>l("en"))},{default:_(()=>[j("EN")]),_:1})]),_:1})]),default:_(()=>[F("div",ba,[u(v,{size:13,style:{marginRight:"5px"}},{default:_(()=>[u(x(Ht))]),_:1}),j(" "+fe(s[x(t).lang])+" - 語言切換 ",1)])]),_:1}),u(h,{"hide-on-click":!1},{dropdown:_(()=>[u(N,null,{default:_(()=>[u(I,null,{default:_(()=>[j("資料修改")]),_:1}),u(I,{onClick:Pe(m,["stop"])},{default:_(()=>[j("登出")]),_:1})]),_:1})]),default:_(()=>[F("div",_a,[u(v,{size:13,style:{marginRight:"5px"}},{default:_(()=>[u(x(zt))]),_:1}),j(" Admin ")])]),_:1})])])])}}};const ya=tn("tabs",{state:()=>({activeTab:"/",visitedViews:[]}),actions:{setActiveTab(e){this.activeTab=e},addTab(e){this.setActiveTab(e.path),e.path!=="/home"&&(this.visitedViews.some(a=>a.path===e.path)||this.visitedViews.push(e))},removeTab(e){const a=this.visitedViews.indexOf(e);this.visitedViews.splice(a,1)},closeOtherTabs(){this.visitedViews=this.visitedViews.filter(e=>e.path===this.activeTab)},closeAllTabs(){this.visitedViews=[]}}});const Ca={class:"main-tabs-view"},Ma={class:"tab-content"},wa={class:"tab-content"},Ta={class:"el-dropdown-link"},xa={__name:"index",setup(e){const a=tt(),n=at(),o=ya(),{visitedViews:t}=nn(o),s=se("reload"),i=T({get:()=>o.activeTab,set:c=>{o.setActiveTab(c)}});he(()=>{b()}),U(n,()=>{b()});const g=c=>{a.push(c.props.name)},l=c=>{if(t.value.length===1)a.push("/");else if(c.path===i.value){const v=t.value.findIndex(N=>N.path===c.path),I=t.value[v-1];i.value=I.path,a.push(I.path)}o.removeTab(c)},m=()=>{o.closeOtherTabs()},d=()=>{o.closeAllTabs()},b=()=>{n.path==="/login"||n.path==="/news/list/form"||n.path==="/product/list/form"||n.path&&o.addTab({path:n.path,title:n.meta.title})};return(c,v)=>{const I=oe,N=ia,h=la,P=it,O=rt,H=ut;return E(),R("div",Ca,[F("div",null,[u(h,{modelValue:i.value,"onUpdate:modelValue":v[0]||(v[0]=Y=>i.value=Y),type:"card",onTabClick:g},{default:_(()=>[u(N,{name:"/home"},{label:_(()=>[F("div",Ma,[u(I,null,{default:_(()=>[u(x(Ft))]),_:1})])]),_:1}),(E(!0),R(ce,null,Ie(x(t),Y=>(E(),q(N,{name:Y.path},{label:_(()=>[F("div",wa,[u(I,{onClick:Pe(x(s),["stop"])},{default:_(()=>[u(x(Vt))]),_:1},8,["onClick"]),j(" "+fe(Y.title)+" ",1),u(I,{onClick:Pe(ne=>l(Y),["stop"])},{default:_(()=>[u(x(Rt))]),_:2},1032,["onClick"])])]),_:2},1032,["name"]))),256))]),_:1},8,["modelValue"])]),F("div",null,[u(H,null,{dropdown:_(()=>[u(O,null,{default:_(()=>[u(P,{onClick:m},{default:_(()=>[j("關閉其他")]),_:1}),u(P,{onClick:d},{default:_(()=>[j("關閉全部")]),_:1})]),_:1})]),default:_(()=>[F("span",Ta,[u(I,null,{default:_(()=>[u(x(Yt))]),_:1})])]),_:1})])])}}},Ea=ot(xa,[["__scopeId","data-v-b7d2f3d3"]]),Aa={class:"admin-layout"},Sa={class:"tabs-block"},ka={class:"main-content"},Xa={__name:"AdminLayout",setup(e){const a=at(),n=nt(),o=k(!1),t=()=>{o.value=!o.value};T(()=>a.matched.filter(g=>g.meta.title)),T(()=>n.isMobile);const s=k(!0);return _e("reload",()=>{s.value=!1,ge(()=>{s.value=!0})}),(g,l)=>{const m=Cn,d=Ge("router-view"),b=wn,c=Mn,v=yn;return E(),R("div",Aa,[u(v,null,{default:_(()=>[u(m,{width:"auto",class:"side-scroll"},{default:_(()=>[u(da,{collapse:o.value},null,8,["collapse"])]),_:1}),u(v,null,{default:_(()=>[F("div",null,[u(ga,{collapse:o.value,onToggleClospe:t},null,8,["collapse"])]),u(b,null,{default:_(()=>[F("div",Sa,[u(Ea)]),F("div",ka,[s.value?(E(),q(d,{key:0})):et("",!0)])]),_:1}),u(c,null,{default:_(()=>[j("2023 © copyright ZL ")]),_:1})]),_:1})]),_:1})])}}};export{Xa as default}; diff --git a/nginx/html/admin/assets/AdminLayout-a6bc21e3.js b/nginx/html/admin/assets/AdminLayout-a6bc21e3.js new file mode 100644 index 0000000..925188e --- /dev/null +++ b/nginx/html/admin/assets/AdminLayout-a6bc21e3.js @@ -0,0 +1 @@ +import{_ as te,a as ye,r as Ae,h as Ct,T as Mt,i as be,u as Xe,b as wt,c as Qe,E as oe,d as ze,m as Ne,e as Tt,f as Oe,g as xt,j as Et,k as At,l as St,p as kt,n as Fe,o as Bt,t as It,q as Pt,s as Nt,v as Ot,w as Ve,x as $t,y as Dt,z as Ht,A as zt,B as Ft,C as Vt,D as Rt,F as Yt}from"./el-button-7b435908.js";import"./el-tooltip-4ed993c7.js";import{E as je,C as Wt}from"./el-scrollbar-654ee4cf.js";import{t as Me}from"./el-icon-08628b36.js";import{E as Lt}from"./el-image-viewer-51a0e4c5.js";import{s as Xt,i as Qt,d as D,u as V,o as E,c as q,w as _,r as L,m as qe,t as jt,a as x,T as Ue,b as Ke,e as T,f as R,n as ee,g as Te,h as $e,j as re,k as pe,l as ve,p as se,q as k,v as xe,x as U,y as _e,z as he,A as Ze,B as W,C as ue,D as De,E as Je,F as ce,G as me,H as qt,I as Ut,J as ge,K as Kt,L as Ge,M as F,N as j,O as fe,P as Zt,Q as u,R as Re,S as Jt,U as Gt,V as et,W as Ie,X as Ye,Y as en,Z as tt,_ as nt,$ as Pe,a0 as tn,a1 as at,a2 as nn}from"./index-11843334.js";import{_ as ot}from"./_plugin-vue_export-helper-c27b6911.js";import{E as Q}from"./aria-60e0cdc6.js";import{t as de,i as We,U as st}from"./index-58150f7d.js";import{f as lt,E as it,a as rt,b as ut}from"./el-dropdown-item-9b77b9ae.js";import{c as ie}from"./strings-c810e853.js";import"./castArray-80791487.js";const an=(e,a,n)=>lt(e.subTree).filter(s=>{var i;return Qt(s)&&((i=s.type)==null?void 0:i.name)===a&&!!s.component}).map(s=>s.component.uid).map(s=>n[s]).filter(s=>!!s),on=(e,a)=>{const n={},o=Xt([]);return{children:o,addChild:i=>{n[i.uid]=i,o.value=an(e,a,n)},removeChild:i=>{delete n[i],o.value=o.value.filter(g=>g.uid!==i)}}},sn=D({name:"ElCollapseTransition"}),ln=D({...sn,setup(e){const a=V("collapse-transition"),n=t=>{t.style.maxHeight="",t.style.overflow=t.dataset.oldOverflow,t.style.paddingTop=t.dataset.oldPaddingTop,t.style.paddingBottom=t.dataset.oldPaddingBottom},o={beforeEnter(t){t.dataset||(t.dataset={}),t.dataset.oldPaddingTop=t.style.paddingTop,t.dataset.oldPaddingBottom=t.style.paddingBottom,t.style.height&&(t.dataset.elExistsHeight=t.style.height),t.style.maxHeight=0,t.style.paddingTop=0,t.style.paddingBottom=0},enter(t){requestAnimationFrame(()=>{t.dataset.oldOverflow=t.style.overflow,t.dataset.elExistsHeight?t.style.maxHeight=t.dataset.elExistsHeight:t.scrollHeight!==0?t.style.maxHeight=`${t.scrollHeight}px`:t.style.maxHeight=0,t.style.paddingTop=t.dataset.oldPaddingTop,t.style.paddingBottom=t.dataset.oldPaddingBottom,t.style.overflow="hidden"})},afterEnter(t){t.style.maxHeight="",t.style.overflow=t.dataset.oldOverflow},enterCancelled(t){n(t)},beforeLeave(t){t.dataset||(t.dataset={}),t.dataset.oldPaddingTop=t.style.paddingTop,t.dataset.oldPaddingBottom=t.style.paddingBottom,t.dataset.oldOverflow=t.style.overflow,t.style.maxHeight=`${t.scrollHeight}px`,t.style.overflow="hidden"},leave(t){t.scrollHeight!==0&&(t.style.maxHeight=0,t.style.paddingTop=0,t.style.paddingBottom=0)},afterLeave(t){n(t)},leaveCancelled(t){n(t)}};return(t,s)=>(E(),q(Ue,qe({name:x(a).b()},jt(o)),{default:_(()=>[L(t.$slots,"default")]),_:3},16,["name"]))}});var we=te(ln,[["__file","collapse-transition.vue"]]);we.install=e=>{e.component(we.name,we)};const rn=we,un=D({name:"ElContainer"}),cn=D({...un,props:{direction:{type:String}},setup(e){const a=e,n=Ke(),o=V("container"),t=T(()=>a.direction==="vertical"?!0:a.direction==="horizontal"?!1:n&&n.default?n.default().some(i=>{const g=i.type.name;return g==="ElHeader"||g==="ElFooter"}):!1);return(s,i)=>(E(),R("section",{class:ee([x(o).b(),x(o).is("vertical",x(t))])},[L(s.$slots,"default")],2))}});var dn=te(cn,[["__file","container.vue"]]);const pn=D({name:"ElAside"}),vn=D({...pn,props:{width:{type:String,default:null}},setup(e){const a=e,n=V("aside"),o=T(()=>a.width?n.cssVarBlock({width:a.width}):{});return(t,s)=>(E(),R("aside",{class:ee(x(n).b()),style:Te(x(o))},[L(t.$slots,"default")],6))}});var ct=te(vn,[["__file","aside.vue"]]);const fn=D({name:"ElFooter"}),mn=D({...fn,props:{height:{type:String,default:null}},setup(e){const a=e,n=V("footer"),o=T(()=>a.height?n.cssVarBlock({height:a.height}):{});return(t,s)=>(E(),R("footer",{class:ee(x(n).b()),style:Te(x(o))},[L(t.$slots,"default")],6))}});var dt=te(mn,[["__file","footer.vue"]]);const hn=D({name:"ElHeader"}),bn=D({...hn,props:{height:{type:String,default:null}},setup(e){const a=e,n=V("header"),o=T(()=>a.height?n.cssVarBlock({height:a.height}):{});return(t,s)=>(E(),R("header",{class:ee(x(n).b()),style:Te(x(o))},[L(t.$slots,"default")],6))}});var pt=te(bn,[["__file","header.vue"]]);const _n=D({name:"ElMain"}),gn=D({..._n,setup(e){const a=V("main");return(n,o)=>(E(),R("main",{class:ee(x(a).b())},[L(n.$slots,"default")],2))}});var vt=te(gn,[["__file","main.vue"]]);const yn=$e(dn,{Aside:ct,Footer:dt,Header:pt,Main:vt}),Cn=re(ct),Mn=re(dt);re(pt);const wn=re(vt);let Tn=class{constructor(a,n){this.parent=a,this.domNode=n,this.subIndex=0,this.subIndex=0,this.init()}init(){this.subMenuItems=this.domNode.querySelectorAll("li"),this.addListeners()}gotoSubIndex(a){a===this.subMenuItems.length?a=0:a<0&&(a=this.subMenuItems.length-1),this.subMenuItems[a].focus(),this.subIndex=a}addListeners(){const a=this.parent.domNode;Array.prototype.forEach.call(this.subMenuItems,n=>{n.addEventListener("keydown",o=>{let t=!1;switch(o.code){case Q.down:{this.gotoSubIndex(this.subIndex+1),t=!0;break}case Q.up:{this.gotoSubIndex(this.subIndex-1),t=!0;break}case Q.tab:{Me(a,"mouseleave");break}case Q.enter:case Q.space:{t=!0,o.currentTarget.click();break}}return t&&(o.preventDefault(),o.stopPropagation()),!1})})}},xn=class{constructor(a,n){this.domNode=a,this.submenu=null,this.submenu=null,this.init(n)}init(a){this.domNode.setAttribute("tabindex","0");const n=this.domNode.querySelector(`.${a}-menu`);n&&(this.submenu=new Tn(this,n)),this.addListeners()}addListeners(){this.domNode.addEventListener("keydown",a=>{let n=!1;switch(a.code){case Q.down:{Me(a.currentTarget,"mouseenter"),this.submenu&&this.submenu.gotoSubIndex(0),n=!0;break}case Q.up:{Me(a.currentTarget,"mouseenter"),this.submenu&&this.submenu.gotoSubIndex(this.submenu.subMenuItems.length-1),n=!0;break}case Q.tab:{Me(a.currentTarget,"mouseleave");break}case Q.enter:case Q.space:{n=!0,a.currentTarget.click();break}}n&&a.preventDefault()})}},En=class{constructor(a,n){this.domNode=a,this.init(n)}init(a){const n=this.domNode.childNodes;Array.from(n).forEach(o=>{o.nodeType===1&&new xn(o,a)})}};const An=D({name:"ElMenuCollapseTransition",setup(){const e=V("menu");return{listeners:{onBeforeEnter:n=>n.style.opacity="0.2",onEnter(n,o){ye(n,`${e.namespace.value}-opacity-transition`),n.style.opacity="1",o()},onAfterEnter(n){Ae(n,`${e.namespace.value}-opacity-transition`),n.style.opacity=""},onBeforeLeave(n){n.dataset||(n.dataset={}),Ct(n,e.m("collapse"))?(Ae(n,e.m("collapse")),n.dataset.oldOverflow=n.style.overflow,n.dataset.scrollWidth=n.clientWidth.toString(),ye(n,e.m("collapse"))):(ye(n,e.m("collapse")),n.dataset.oldOverflow=n.style.overflow,n.dataset.scrollWidth=n.clientWidth.toString(),Ae(n,e.m("collapse"))),n.style.width=`${n.scrollWidth}px`,n.style.overflow="hidden"},onLeave(n){ye(n,"horizontal-collapse-transition"),n.style.width=`${n.dataset.scrollWidth}px`}}}}});function Sn(e,a,n,o,t,s){return E(),q(Ue,qe({mode:"out-in"},e.listeners),{default:_(()=>[L(e.$slots,"default")]),_:3},16)}var kn=te(An,[["render",Sn],["__file","menu-collapse-transition.vue"]]);function ft(e,a){const n=T(()=>{let t=e.parent;const s=[a.value];for(;t.type.name!=="ElMenu";)t.props.index&&s.unshift(t.props.index),t=t.parent;return s});return{parentMenu:T(()=>{let t=e.parent;for(;t&&!["ElMenu","ElSubMenu"].includes(t.type.name);)t=t.parent;return t}),indexPath:n}}function Bn(e){return T(()=>{const n=e.backgroundColor;return n?new Mt(n).shade(20).toString():""})}const mt=(e,a)=>{const n=V("menu");return T(()=>n.cssVarBlock({"text-color":e.textColor||"","hover-text-color":e.textColor||"","bg-color":e.backgroundColor||"","hover-bg-color":Bn(e).value||"","active-color":e.activeTextColor||"",level:`${a}`}))},In=pe({index:{type:String,required:!0},showTimeout:Number,hideTimeout:Number,popperClass:String,disabled:Boolean,popperAppendToBody:{type:Boolean,default:void 0},teleported:{type:Boolean,default:void 0},popperOffset:Number,expandCloseIcon:{type:be},expandOpenIcon:{type:be},collapseCloseIcon:{type:be},collapseOpenIcon:{type:be}}),Ce="ElSubMenu";var He=D({name:Ce,props:In,setup(e,{slots:a,expose:n}){Xe({from:"popper-append-to-body",replacement:"teleported",scope:Ce,version:"2.3.0",ref:"https://element-plus.org/en-US/component/menu.html#submenu-attributes"},T(()=>e.popperAppendToBody!==void 0));const o=ve(),{indexPath:t,parentMenu:s}=ft(o,T(()=>e.index)),i=V("menu"),g=V("sub-menu"),l=se("rootMenu");l||de(Ce,"can not inject root menu");const m=se(`subMenu:${s.value.uid}`);m||de(Ce,"can not inject sub menu");const d=k({}),b=k({});let c;const v=k(!1),I=k(),N=k(null),h=T(()=>J.value==="horizontal"&&O.value?"bottom-start":"right-start"),P=T(()=>J.value==="horizontal"&&O.value||J.value==="vertical"&&!l.props.collapse?e.expandCloseIcon&&e.expandOpenIcon?K.value?e.expandOpenIcon:e.expandCloseIcon:wt:e.collapseCloseIcon&&e.collapseOpenIcon?K.value?e.collapseOpenIcon:e.collapseCloseIcon:Qe),O=T(()=>m.level===0),H=T(()=>{var f;const B=(f=e.teleported)!=null?f:e.popperAppendToBody;return B===void 0?O.value:B}),Y=T(()=>l.props.collapse?`${i.namespace.value}-zoom-in-left`:`${i.namespace.value}-zoom-in-top`),ne=T(()=>J.value==="horizontal"&&O.value?["bottom-start","bottom-end","top-start","top-end","right-start","left-start"]:["right-start","right","right-end","left-start","bottom-start","bottom-end","top-start","top-end"]),K=T(()=>l.openedMenus.includes(e.index)),le=T(()=>{let f=!1;return Object.values(d.value).forEach(B=>{B.active&&(f=!0)}),Object.values(b.value).forEach(B=>{B.active&&(f=!0)}),f}),J=T(()=>l.props.mode),w=xe({index:e.index,indexPath:t,active:le}),S=mt(l.props,m.level+1),C=T(()=>{var f;return(f=e.popperOffset)!=null?f:l.props.popperOffset}),z=T(()=>{var f;return(f=e.popperClass)!=null?f:l.props.popperClass}),r=T(()=>{var f;return(f=e.showTimeout)!=null?f:l.props.showTimeout}),p=T(()=>{var f;return(f=e.hideTimeout)!=null?f:l.props.hideTimeout}),y=()=>{var f,B,$;return($=(B=(f=N.value)==null?void 0:f.popperRef)==null?void 0:B.popperInstanceRef)==null?void 0:$.destroy()},A=f=>{f||y()},M=()=>{l.props.menuTrigger==="hover"&&l.props.mode==="horizontal"||l.props.collapse&&l.props.mode==="vertical"||e.disabled||l.handleSubMenuClick({index:e.index,indexPath:t.value,active:le.value})},X=(f,B=r.value)=>{var $;if(f.type!=="focus"){if(l.props.menuTrigger==="click"&&l.props.mode==="horizontal"||!l.props.collapse&&l.props.mode==="vertical"||e.disabled){m.mouseInChild.value=!0;return}m.mouseInChild.value=!0,c==null||c(),{stop:c}=ze(()=>{l.openMenu(e.index,t.value)},B),H.value&&(($=s.value.vnode.el)==null||$.dispatchEvent(new MouseEvent("mouseenter")))}},Z=(f=!1)=>{var B;if(l.props.menuTrigger==="click"&&l.props.mode==="horizontal"||!l.props.collapse&&l.props.mode==="vertical"){m.mouseInChild.value=!1;return}c==null||c(),m.mouseInChild.value=!1,{stop:c}=ze(()=>!v.value&&l.closeMenu(e.index,t.value),p.value),H.value&&f&&((B=m.handleMouseleave)==null||B.call(m,!0))};U(()=>l.props.collapse,f=>A(!!f));{const f=$=>{b.value[$.index]=$},B=$=>{delete b.value[$.index]};_e(`subMenu:${o.uid}`,{addSubMenu:f,removeSubMenu:B,handleMouseleave:Z,mouseInChild:v,level:m.level+1})}return n({opened:K}),he(()=>{l.addSubMenu(w),m.addSubMenu(w)}),Ze(()=>{m.removeSubMenu(w),l.removeSubMenu(w)}),()=>{var f;const B=[(f=a.title)==null?void 0:f.call(a),W(oe,{class:g.e("icon-arrow"),style:{transform:K.value?e.expandCloseIcon&&e.expandOpenIcon||e.collapseCloseIcon&&e.collapseOpenIcon&&l.props.collapse?"none":"rotateZ(180deg)":"none"}},{default:()=>ue(P.value)?W(o.appContext.components[P.value]):W(P.value)})],$=l.isMenuPopup?W(je,{ref:N,visible:K.value,effect:"light",pure:!0,offset:C.value,showArrow:!1,persistent:!0,popperClass:z.value,placement:h.value,teleported:H.value,fallbackPlacements:ne.value,transition:Y.value,gpuAcceleration:!1},{content:()=>{var ae;return W("div",{class:[i.m(J.value),i.m("popup-container"),z.value],onMouseenter:G=>X(G,100),onMouseleave:()=>Z(!0),onFocus:G=>X(G,100)},[W("ul",{class:[i.b(),i.m("popup"),i.m(`popup-${h.value}`)],style:S.value},[(ae=a.default)==null?void 0:ae.call(a)])])},default:()=>W("div",{class:g.e("title"),onClick:M},B)}):W(ce,{},[W("div",{class:g.e("title"),ref:I,onClick:M},B),W(rn,{},{default:()=>{var ae;return De(W("ul",{role:"menu",class:[i.b(),i.m("inline")],style:S.value},[(ae=a.default)==null?void 0:ae.call(a)]),[[Je,K.value]])}})]);return W("li",{class:[g.b(),g.is("active",le.value),g.is("opened",K.value),g.is("disabled",e.disabled)],role:"menuitem",ariaHaspopup:!0,ariaExpanded:K.value,onMouseenter:X,onMouseleave:()=>Z(),onFocus:X},[$])}}});const Pn=pe({mode:{type:String,values:["horizontal","vertical"],default:"vertical"},defaultActive:{type:String,default:""},defaultOpeneds:{type:me(Array),default:()=>Ne([])},uniqueOpened:Boolean,router:Boolean,menuTrigger:{type:String,values:["hover","click"],default:"hover"},collapse:Boolean,backgroundColor:String,textColor:String,activeTextColor:String,closeOnClickOutside:Boolean,collapseTransition:{type:Boolean,default:!0},ellipsis:{type:Boolean,default:!0},popperOffset:{type:Number,default:6},ellipsisIcon:{type:be,default:()=>Tt},popperEffect:{type:String,values:["dark","light"],default:"dark"},popperClass:String,showTimeout:{type:Number,default:300},hideTimeout:{type:Number,default:300}}),Se=e=>Array.isArray(e)&&e.every(a=>ue(a)),Nn={close:(e,a)=>ue(e)&&Se(a),open:(e,a)=>ue(e)&&Se(a),select:(e,a,n,o)=>ue(e)&&Se(a)&&Ut(n)&&(o===void 0||o instanceof Promise)};var On=D({name:"ElMenu",props:Pn,emits:Nn,setup(e,{emit:a,slots:n,expose:o}){const t=ve(),s=t.appContext.config.globalProperties.$router,i=k(),g=V("menu"),l=V("sub-menu"),m=k(-1),d=k(e.defaultOpeneds&&!e.collapse?e.defaultOpeneds.slice(0):[]),b=k(e.defaultActive),c=k({}),v=k({}),I=T(()=>e.mode==="horizontal"||e.mode==="vertical"&&e.collapse),N=()=>{const r=b.value&&c.value[b.value];if(!r||e.mode==="horizontal"||e.collapse)return;r.indexPath.forEach(y=>{const A=v.value[y];A&&h(y,A.indexPath)})},h=(r,p)=>{d.value.includes(r)||(e.uniqueOpened&&(d.value=d.value.filter(y=>p.includes(y))),d.value.push(r),a("open",r,p))},P=r=>{const p=d.value.indexOf(r);p!==-1&&d.value.splice(p,1)},O=(r,p)=>{P(r),a("close",r,p)},H=({index:r,indexPath:p})=>{d.value.includes(r)?O(r,p):h(r,p)},Y=r=>{(e.mode==="horizontal"||e.collapse)&&(d.value=[]);const{index:p,indexPath:y}=r;if(!(We(p)||We(y)))if(e.router&&s){const A=r.route||p,M=s.push(A).then(X=>(X||(b.value=p),X));a("select",p,y,{index:p,indexPath:y,route:A},M)}else b.value=p,a("select",p,y,{index:p,indexPath:y})},ne=r=>{const p=c.value,y=p[r]||b.value&&p[b.value]||p[e.defaultActive];y?b.value=y.index:b.value=r},K=()=>{var r,p;if(!i.value)return-1;const y=Array.from((p=(r=i.value)==null?void 0:r.childNodes)!=null?p:[]).filter($=>$.nodeName!=="#comment"&&($.nodeName!=="#text"||$.nodeValue)),A=64,M=Number.parseInt(getComputedStyle(i.value).paddingLeft,10),X=Number.parseInt(getComputedStyle(i.value).paddingRight,10),Z=i.value.clientWidth-M-X;let f=0,B=0;return y.forEach(($,ae)=>{f+=$.offsetWidth||0,f<=Z-A&&(B=ae+1)}),B===y.length?-1:B},le=r=>v.value[r].indexPath,J=(r,p=33.34)=>{let y;return()=>{y&&clearTimeout(y),y=setTimeout(()=>{r()},p)}};let w=!0;const S=()=>{const r=()=>{m.value=-1,ge(()=>{m.value=K()})};w?r():J(r)(),w=!1};U(()=>e.defaultActive,r=>{c.value[r]||(b.value=""),ne(r)}),U(()=>e.collapse,r=>{r&&(d.value=[])}),U(c.value,N);let C;qt(()=>{e.mode==="horizontal"&&e.ellipsis?C=Oe(i,S).stop:C==null||C()});const z=k(!1);{const r=M=>{v.value[M.index]=M},p=M=>{delete v.value[M.index]};_e("rootMenu",xe({props:e,openedMenus:d,items:c,subMenus:v,activeIndex:b,isMenuPopup:I,addMenuItem:M=>{c.value[M.index]=M},removeMenuItem:M=>{delete c.value[M.index]},addSubMenu:r,removeSubMenu:p,openMenu:h,closeMenu:O,handleMenuItemClick:Y,handleSubMenuClick:H})),_e(`subMenu:${t.uid}`,{addSubMenu:r,removeSubMenu:p,mouseInChild:z,level:0})}return he(()=>{e.mode==="horizontal"&&new En(t.vnode.el,g.namespace.value)}),o({open:p=>{const{indexPath:y}=v.value[p];y.forEach(A=>h(A,y))},close:P,handleResize:S}),()=>{var r,p;let y=(p=(r=n.default)==null?void 0:r.call(n))!=null?p:[];const A=[];if(e.mode==="horizontal"&&i.value){const f=lt(y),B=m.value===-1?f:f.slice(0,m.value),$=m.value===-1?[]:f.slice(m.value);$!=null&&$.length&&e.ellipsis&&(y=B,A.push(W(He,{index:"sub-menu-more",class:l.e("hide-arrow"),popperOffset:e.popperOffset},{title:()=>W(oe,{class:l.e("icon-more")},{default:()=>W(e.ellipsisIcon)}),default:()=>$})))}const M=mt(e,0),X=e.closeOnClickOutside?[[Wt,()=>{d.value.length&&(z.value||(d.value.forEach(f=>a("close",f,le(f))),d.value=[]))}]]:[],Z=De(W("ul",{key:String(e.collapse),role:"menubar",ref:i,style:M.value,class:{[g.b()]:!0,[g.m(e.mode)]:!0,[g.m("collapse")]:e.collapse}},[...y,...A]),X);return e.collapseTransition&&e.mode==="vertical"?W(kn,()=>Z):Z}}});const $n=pe({index:{type:me([String,null]),default:null},route:{type:me([String,Object])},disabled:Boolean}),Dn={click:e=>ue(e.index)&&Array.isArray(e.indexPath)},ke="ElMenuItem",Hn=D({name:ke,components:{ElTooltip:je},props:$n,emits:Dn,setup(e,{emit:a}){const n=ve(),o=se("rootMenu"),t=V("menu"),s=V("menu-item");o||de(ke,"can not inject root menu");const{parentMenu:i,indexPath:g}=ft(n,Kt(e,"index")),l=se(`subMenu:${i.value.uid}`);l||de(ke,"can not inject sub menu");const m=T(()=>e.index===o.activeIndex),d=xe({index:e.index,indexPath:g,active:m}),b=()=>{e.disabled||(o.handleMenuItemClick({index:e.index,indexPath:g.value,route:e.route}),a("click",d))};return he(()=>{l.addSubMenu(d),o.addMenuItem(d)}),Ze(()=>{l.removeSubMenu(d),o.removeMenuItem(d)}),{parentMenu:i,rootMenu:o,active:m,nsMenu:t,nsMenuItem:s,handleClick:b}}});function zn(e,a,n,o,t,s){const i=Ge("el-tooltip");return E(),R("li",{class:ee([e.nsMenuItem.b(),e.nsMenuItem.is("active",e.active),e.nsMenuItem.is("disabled",e.disabled)]),role:"menuitem",tabindex:"-1",onClick:a[0]||(a[0]=(...g)=>e.handleClick&&e.handleClick(...g))},[e.parentMenu.type.name==="ElMenu"&&e.rootMenu.props.collapse&&e.$slots.title?(E(),q(i,{key:0,effect:e.rootMenu.props.popperEffect,placement:"right","fallback-placements":["left"],persistent:""},{content:_(()=>[L(e.$slots,"title")]),default:_(()=>[F("div",{class:ee(e.nsMenu.be("tooltip","trigger"))},[L(e.$slots,"default")],2)]),_:3},8,["effect"])):(E(),R(ce,{key:1},[L(e.$slots,"default"),L(e.$slots,"title")],64))],2)}var ht=te(Hn,[["render",zn],["__file","menu-item.vue"]]);const Fn={title:String},Vn="ElMenuItemGroup",Rn=D({name:Vn,props:Fn,setup(){return{ns:V("menu-item-group")}}});function Yn(e,a,n,o,t,s){return E(),R("li",{class:ee(e.ns.b())},[F("div",{class:ee(e.ns.e("title"))},[e.$slots.title?L(e.$slots,"title",{key:1}):(E(),R(ce,{key:0},[j(fe(e.title),1)],64))],2),F("ul",null,[L(e.$slots,"default")])],2)}var bt=te(Rn,[["render",Yn],["__file","menu-item-group.vue"]]);const Wn=$e(On,{MenuItem:ht,MenuItemGroup:bt,SubMenu:He}),Ln=re(ht);re(bt);const Xn=re(He),Ee=Symbol("tabsRootContextKey"),Qn=pe({tabs:{type:me(Array),default:()=>Ne([])}}),_t="ElTabBar",jn=D({name:_t}),qn=D({...jn,props:Qn,setup(e,{expose:a}){const n=e,o=ve(),t=se(Ee);t||de(_t,"");const s=V("tabs"),i=k(),g=k(),l=()=>{let d=0,b=0;const c=["top","bottom"].includes(t.props.tabPosition)?"width":"height",v=c==="width"?"x":"y",I=v==="x"?"left":"top";return n.tabs.every(N=>{var h,P;const O=(P=(h=o.parent)==null?void 0:h.refs)==null?void 0:P[`tab-${N.uid}`];if(!O)return!1;if(!N.active)return!0;d=O[`offset${ie(I)}`],b=O[`client${ie(c)}`];const H=window.getComputedStyle(O);return c==="width"&&(n.tabs.length>1&&(b-=Number.parseFloat(H.paddingLeft)+Number.parseFloat(H.paddingRight)),d+=Number.parseFloat(H.paddingLeft)),!1}),{[c]:`${b}px`,transform:`translate${ie(v)}(${d}px)`}},m=()=>g.value=l();return U(()=>n.tabs,async()=>{await ge(),m()},{immediate:!0}),Oe(i,()=>m()),a({ref:i,update:m}),(d,b)=>(E(),R("div",{ref_key:"barRef",ref:i,class:ee([x(s).e("active-bar"),x(s).is(x(t).props.tabPosition)]),style:Te(g.value)},null,6))}});var Un=te(qn,[["__file","tab-bar.vue"]]);const Kn=pe({panes:{type:me(Array),default:()=>Ne([])},currentName:{type:[String,Number],default:""},editable:Boolean,type:{type:String,values:["card","border-card",""],default:""},stretch:Boolean}),Zn={tabClick:(e,a,n)=>n instanceof Event,tabRemove:(e,a)=>a instanceof Event},Le="ElTabNav",Jn=D({name:Le,props:Kn,emits:Zn,setup(e,{expose:a,emit:n}){const o=ve(),t=se(Ee);t||de(Le,"");const s=V("tabs"),i=xt(),g=Et(),l=k(),m=k(),d=k(),b=k(),c=k(!1),v=k(0),I=k(!1),N=k(!0),h=T(()=>["top","bottom"].includes(t.props.tabPosition)?"width":"height"),P=T(()=>({transform:`translate${h.value==="width"?"X":"Y"}(-${v.value}px)`})),O=()=>{if(!l.value)return;const w=l.value[`offset${ie(h.value)}`],S=v.value;if(!S)return;const C=S>w?S-w:0;v.value=C},H=()=>{if(!l.value||!m.value)return;const w=m.value[`offset${ie(h.value)}`],S=l.value[`offset${ie(h.value)}`],C=v.value;if(w-C<=S)return;const z=w-C>S*2?C+S:w-S;v.value=z},Y=async()=>{const w=m.value;if(!c.value||!d.value||!l.value||!w)return;await ge();const S=d.value.querySelector(".is-active");if(!S)return;const C=l.value,z=["top","bottom"].includes(t.props.tabPosition),r=S.getBoundingClientRect(),p=C.getBoundingClientRect(),y=z?w.offsetWidth-p.width:w.offsetHeight-p.height,A=v.value;let M=A;z?(r.leftp.right&&(M=A+r.right-p.right)):(r.topp.bottom&&(M=A+(r.bottom-p.bottom))),M=Math.max(M,0),v.value=Math.min(M,y)},ne=()=>{var w;if(!m.value||!l.value)return;e.stretch&&((w=b.value)==null||w.update());const S=m.value[`offset${ie(h.value)}`],C=l.value[`offset${ie(h.value)}`],z=v.value;C0&&(v.value=0))},K=w=>{const S=w.code,{up:C,down:z,left:r,right:p}=Q;if(![C,z,r,p].includes(S))return;const y=Array.from(w.currentTarget.querySelectorAll("[role=tab]:not(.is-disabled)")),A=y.indexOf(w.target);let M;S===r||S===C?A===0?M=y.length-1:M=A-1:A{N.value&&(I.value=!0)},J=()=>I.value=!1;return U(i,w=>{w==="hidden"?N.value=!1:w==="visible"&&setTimeout(()=>N.value=!0,50)}),U(g,w=>{w?setTimeout(()=>N.value=!0,50):N.value=!1}),Oe(d,ne),he(()=>setTimeout(()=>Y(),0)),Zt(()=>ne()),a({scrollToActiveTab:Y,removeFocus:J}),U(()=>e.panes,()=>o.update(),{flush:"post",deep:!0}),()=>{const w=c.value?[u("span",{class:[s.e("nav-prev"),s.is("disabled",!c.value.prev)],onClick:O},[u(oe,null,{default:()=>[u(At,null,null)]})]),u("span",{class:[s.e("nav-next"),s.is("disabled",!c.value.next)],onClick:H},[u(oe,null,{default:()=>[u(Qe,null,null)]})])]:null,S=e.panes.map((C,z)=>{var r,p,y,A;const M=C.uid,X=C.props.disabled,Z=(p=(r=C.props.name)!=null?r:C.index)!=null?p:`${z}`,f=!X&&(C.isClosable||e.editable);C.index=`${z}`;const B=f?u(oe,{class:"is-icon-close",onClick:G=>n("tabRemove",C,G)},{default:()=>[u(St,null,null)]}):null,$=((A=(y=C.slots).label)==null?void 0:A.call(y))||C.props.label,ae=!X&&C.active?0:-1;return u("div",{ref:`tab-${M}`,class:[s.e("item"),s.is(t.props.tabPosition),s.is("active",C.active),s.is("disabled",X),s.is("closable",f),s.is("focus",I.value)],id:`tab-${Z}`,key:`tab-${M}`,"aria-controls":`pane-${Z}`,role:"tab","aria-selected":C.active,tabindex:ae,onFocus:()=>le(),onBlur:()=>J(),onClick:G=>{J(),n("tabClick",C,Z,G)},onKeydown:G=>{f&&(G.code===Q.delete||G.code===Q.backspace)&&n("tabRemove",C,G)}},[$,B])});return u("div",{ref:d,class:[s.e("nav-wrap"),s.is("scrollable",!!c.value),s.is(t.props.tabPosition)]},[w,u("div",{class:s.e("nav-scroll"),ref:l},[u("div",{class:[s.e("nav"),s.is(t.props.tabPosition),s.is("stretch",e.stretch&&["top","bottom"].includes(t.props.tabPosition))],ref:m,style:P.value,role:"tablist",onKeydown:K},[e.type?null:u(Un,{ref:b,tabs:[...e.panes]},null),S])])])}}}),Gn=pe({type:{type:String,values:["card","border-card",""],default:""},activeName:{type:[String,Number]},closable:Boolean,addable:Boolean,modelValue:{type:[String,Number]},editable:Boolean,tabPosition:{type:String,values:["top","right","bottom","left"],default:"top"},beforeLeave:{type:me(Function),default:()=>!0},stretch:Boolean}),Be=e=>ue(e)||Jt(e),ea={[st]:e=>Be(e),tabClick:(e,a)=>a instanceof Event,tabChange:e=>Be(e),edit:(e,a)=>["remove","add"].includes(a),tabRemove:e=>Be(e),tabAdd:()=>!0},ta=D({name:"ElTabs",props:Gn,emits:ea,setup(e,{emit:a,slots:n,expose:o}){var t,s;const i=V("tabs"),{children:g,addChild:l,removeChild:m}=on(ve(),"ElTabPane"),d=k(),b=k((s=(t=e.modelValue)!=null?t:e.activeName)!=null?s:"0"),c=async(h,P=!1)=>{var O,H,Y;if(!(b.value===h||Re(h)))try{await((O=e.beforeLeave)==null?void 0:O.call(e,h,b.value))!==!1&&(b.value=h,P&&(a(st,h),a("tabChange",h)),(Y=(H=d.value)==null?void 0:H.removeFocus)==null||Y.call(H))}catch{}},v=(h,P,O)=>{h.props.disabled||(c(P,!0),a("tabClick",h,O))},I=(h,P)=>{h.props.disabled||Re(h.props.name)||(P.stopPropagation(),a("edit",h.props.name,"remove"),a("tabRemove",h.props.name))},N=()=>{a("edit",void 0,"add"),a("tabAdd")};return Xe({from:'"activeName"',replacement:'"model-value" or "v-model"',scope:"ElTabs",version:"2.3.0",ref:"https://element-plus.org/en-US/component/tabs.html#attributes",type:"Attribute"},T(()=>!!e.activeName)),U(()=>e.activeName,h=>c(h)),U(()=>e.modelValue,h=>c(h)),U(b,async()=>{var h;await ge(),(h=d.value)==null||h.scrollToActiveTab()}),_e(Ee,{props:e,currentName:b,registerPane:l,unregisterPane:m}),o({currentName:b}),()=>{const h=n.addIcon,P=e.editable||e.addable?u("span",{class:i.e("new-tab"),tabindex:"0",onClick:N,onKeydown:Y=>{Y.code===Q.enter&&N()}},[h?L(n,"addIcon"):u(oe,{class:i.is("icon-plus")},{default:()=>[u(kt,null,null)]})]):null,O=u("div",{class:[i.e("header"),i.is(e.tabPosition)]},[P,u(Jn,{ref:d,currentName:b.value,editable:e.editable,type:e.type,panes:g.value,stretch:e.stretch,onTabClick:v,onTabRemove:I},null)]),H=u("div",{class:i.e("content")},[L(n,"default")]);return u("div",{class:[i.b(),i.m(e.tabPosition),{[i.m("card")]:e.type==="card",[i.m("border-card")]:e.type==="border-card"}]},[...e.tabPosition!=="bottom"?[O,H]:[H,O]])}}}),na=pe({label:{type:String,default:""},name:{type:[String,Number]},closable:Boolean,disabled:Boolean,lazy:Boolean}),aa=["id","aria-hidden","aria-labelledby"],gt="ElTabPane",oa=D({name:gt}),sa=D({...oa,props:na,setup(e){const a=e,n=ve(),o=Ke(),t=se(Ee);t||de(gt,"usage: ");const s=V("tab-pane"),i=k(),g=T(()=>a.closable||t.props.closable),l=Fe(()=>{var v;return t.currentName.value===((v=a.name)!=null?v:i.value)}),m=k(l.value),d=T(()=>{var v;return(v=a.name)!=null?v:i.value}),b=Fe(()=>!a.lazy||m.value||l.value);U(l,v=>{v&&(m.value=!0)});const c=xe({uid:n.uid,slots:o,props:a,paneName:d,active:l,index:i,isClosable:g});return he(()=>{t.registerPane(c)}),Gt(()=>{t.unregisterPane(c.uid)}),(v,I)=>x(b)?De((E(),R("div",{key:0,id:`pane-${x(d)}`,class:ee(x(s).b()),role:"tabpanel","aria-hidden":!x(l),"aria-labelledby":`tab-${x(d)}`},[L(v.$slots,"default")],10,aa)),[[Je,x(l)]]):et("v-if",!0)}});var yt=te(sa,[["__file","tab-pane.vue"]]);const la=$e(ta,{TabPane:yt}),ia=re(yt);const ra="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAATwAAABCCAMAAAD9hJoxAAAAjVBMVEUAAABmYmBmYmBmYmBmYmBmYmBmYmBmYmBmYmBmYmBmYmBmYmDMCCPMCCNmYmBmYmDMCCPMCCPMCCPnQhDMCCPMCCPXIhtmYmBmYmDnQhDnQhDMCCPMCCPnQhDMCCPnQhDMCCPnQhDMCCPMCCPnQhDnQhDnQhDnQhDMCCPnQhDnQhDnQhBmYmDMCCPnQhBOmYs0AAAALHRSTlMAgMBA8BCg4GAg0FDwwDBwgEBgQDAQILCQgPDg0NigYHAwsJAQwKCwUHBQkHnnoZMAAAfHSURBVHja7ZzretowDIad8/kEhFCgFNqtpV3C/V/e1rXBceRIdjpv3Z59f8lBeSPJsuXAPoPq4/2+e1WWlYs1+y9NVVV5v+t+avewYv+lrdVx/86vrNmflpNY70pyhikqGntSm0J+crKxEfmWM4vfoXvTAcE3+9bCYyE4Qj9uBdnWFEDPbwm5mwjYH7SUXMtj+lrfv9FLS8alfWtfyk/gMelIcStTYEUMKndbBfkiiLDlwvDNyn998qsYEHlrDiefA8/xMQYAnxe3SgqGxiStouI5zlf3sVvKHq9V1UYbXuRrOoPVKsod0Atao/TY4p1eVsO81c68Nw2vcOlLiv7stqoKPD3Hg0bq09uvx87RtrPo0fC8RsmFQiQKMPn9SZtWQyFDtby7edXzUk4vXWEZj6anDM+L9Z+naDUUwdChFSDkXp62l6ue7r7I6NVolrF7EX4P4RHs3KZwXlX4LqAnNcZNxAuGAXA9CK+JRkXS+Dkma8y724uo7c0AX9lHbi3Aw7w6T8CTWgg8hF0wvHI4+jHhxqDjky++DU8Cz0FO4vZDnTg6rttB9Gbv9O4n4fmMzvoRDQ8+ZzG+qPhzxI1BH7MBzGl4rFEYMp4vct3wcjl9p3dkXIS90IlsCh6EE+dEMWwrGuO50DUhPHxIZBI9Xqb0CAK3WyHwSHoODg8+ZOCR5WVBGwMdOlaDx0TzPYQdSm/Xl3ta8JgXCDmZhueDehbKAvmLMAbWBorwbPDuQcwiuhuPuN0CgUe6SUTBi1qViwbgINoYB3D4OLzTBdX2Whn3WW+HwaPub1HwfKXKKgSupwsv+SXwvl5wfQVZb4HAo4wOCHiRYk3vgsM04Vm/At7dhdKyH3B7eDsEHhljEQ6vAC4FBOdV8Z+CBwu8p+flmi1fHrdj19v39CoMHlEsFTi8ACkdkUz6Z+Cd4LwCTDr6rPfQwzsow4OHNSi8HOQlpbgtfhO8iAn6NkpwwsLJl29CqVz18FIEHpn0UHgFUlYh7hwbhAfrm1oetY9MlhFv+3XRrtdZC14uEsHg2SISRJZ4Ue06r1CDF0he/HWShbDj9MbFSvegBY+JeQOD1yIpDy88aGOsGXWeI5tdZv0CHifHPQzE9XK0OtBlH4AXTsKD8y5EnhiEutOzNlKCF0tCvZLCOzGJvmwl8DoEHlkmI/AK4ByKb8QGxhAR6DIUHm9lwgOOJY9KELRw9nYH4K3MwPORtUf0oi5uDHwxjQK8JJauJD/0nncDHA+6Hh9uH7pe1Xx4NgIPjG0EPC5gDNEkDall+NjmxZAIN5OE7S2b0FdJ2B7NwAsQeET+x41J/JZYSaYVsml4T2xCNxJ4pRl44gPqwiMFjbX12bEs7eerYNUY6uXSTzr2M+H5s+DZOvASLXiBh8CjthlkXV8lb2l4y2tAdzPhWebhWVrwckbBQ1pQ2XVu/0TDO/WD7epfgRcyEh7Sx8w6WKvcMEqLfwOe6+juF4k9Ed6eFyJ8wCB0L8AzUeeJJpuB53vAMj16h65bj7s/W0aoTjm8yiw8/VIlVIMXFxFimcOV+JAeX1E/gvH2hYzaTwwPK1UC+1WWlTi4ZeLPjjuRQ86DtfQb3qzAlXWdsbktsfQ4v0iGouERqxTrYRvnVs31qo5r/wF4IQoPeRh0J4T3i+HB2XM07GDvryS3fdY7qTreQR8evZ4H85jO3NYAPGdidfEwdL0ToEc4XrfQgxerwkuQrbhoE8M2AY8F8qbAWdhsd7rt6d1NDrW7IbxaD57yMnykXuh5olsYgbeZyHqpsF3sy9N11FgyUWA1ip9I2itFwhB42LIKGlOhEXjiPRohbrvFcAJ7XZr6tsTKFH7evO5ZjMLzlUeMQhyYjcBjrjxuV+PtYuzl66ADOQK4SofsUvaBvq2PwgtbVQSNuMZrBp4/MYBlcIf2+vlpC1rfkF1XIvDoSgWF5ylP0MBWRRPwkokcXHWc3hDg8odOjCHs0loPntdq7FVpwMEqveDcEDzWTpiTvZGoGKUq7YDj6cArdHZJJUjcIht9TMFrJsxZ8XYEqrITtasJeGi1VBDwWCBpNVAbjEMj8GAODmD1ka2Rq6+zbqQz04Nn6e0MDVvtiwbMGDyvndh5VO876oPQuuzGOjA9eDmY4yDwoOvlChdNDMGD460tGwh2x1rmdWUK2O1rBB79DWxEw0vobw0jsFpkDF4CW7ew9E0P55HTLe47qHTFtOA5LpitUvBYQ9HLQV40BA/Wyf7UYJDel1X10yOr48O+k2qF9SaAch92/Gh4XiCe5OCfFSXMKLwNrFb4LE1LC2wsaBxB4SaGHT8aHgz11h+el9igfW0UXjSyhc2kl56xMY9WyBB46Afk8SZxGIuc0A/Al7Om4MFD4EELdXYrkNE02eHwYKqk5TOz8OBD2mACoaJ9jWdTuluKw4NjAq2CmYfHRqY4oA6mVWK1Ki070vuDBq9RfB/m4YX4995H0vmyFXJzWoGj/9cgTkB3r43Dg64Hr10/oOh2CzYhT4Xe3D+lCTF8Nr+oUXgwA7sROZvg2i8YogJ3EHuTMC4cHpTju/KA9XN4rDWQw9QU8lMapI9gWdTFwZSC+hszaLVv277Vq3AcD2taDxRiV7dd+D4+o85llg5c7nD8HH8AFznh9YXk7FOretNf9seD3wEp1Aq+q1JvwgAAAABJRU5ErkJggg==";const ua={class:"logo"},ca={__name:"index",props:{collapse:{type:Boolean,default:!1}},setup(e){const a=[{title:"首頁",icon:Bt,path:"/index",children:[{title:"首頁輪播",path:"/index/banner"},{title:"供應商",path:"/index/supplier"}]},{title:"關於普達",icon:It,path:"/about",children:[{title:"公司簡介",path:"/about/company"},{title:"經營理念",path:"/about/concept"}]},{title:"產品管理",icon:Pt,path:"/product",children:[{title:"產品列表",path:"/product/list"},{title:"產品類別",path:"/product/group"}]},{title:"最新消息",icon:Nt,path:"/news",children:[{title:"產業動態",path:"/news/list"},{title:"公司活動",path:"/news/activity"}]},{title:"聯絡我們",icon:Ot,path:"/contact",children:[{title:"表單信件",path:"/contact/email"},{title:"公司據點",path:"/contact/map"}]},{title:"權限管理",icon:Ve,path:"/priv",children:[{title:"管理員列表",path:"/priv/admin"},{title:"管理員紀錄",path:"/priv/adminlog"}]},{title:"站台設定",icon:Ve,path:"/site/config"}],n=(o,t)=>{en.push(o)};return(o,t)=>{const s=Lt,i=oe,g=Ln,l=Xn,m=Wn;return E(),q(m,{"active-text-color":"#fefefe","background-color":"#032121","text-color":"#ccc","unique-opened":"",class:"el-menu-vertical",collapse:e.collapse,"default-active":o.$route.path,onSelect:n},{default:_(()=>[F("div",ua,[u(s,{style:{width:"100px"},src:x(ra)},null,8,["src"])]),(E(),R(ce,null,Ie(a,(d,b)=>(E(),R(ce,{key:b},[d.children&&d.children.length>0?(E(),q(l,{key:0,index:d.path},{title:_(()=>[u(i,null,{default:_(()=>[(E(),q(Ye(d.icon)))]),_:2},1024),F("span",null,fe(d.title),1)]),default:_(()=>[(E(!0),R(ce,null,Ie(d.children,(c,v)=>(E(),q(g,{index:c.path},{default:_(()=>[j(fe(c.title),1)]),_:2},1032,["index"]))),256))]),_:2},1032,["index"])):(E(),q(g,{key:1,index:d.path},{default:_(()=>[u(i,null,{default:_(()=>[(E(),q(Ye(d.icon)))]),_:2},1024),F("span",null,fe(d.title),1)]),_:2},1032,["index"]))],64))),64))]),_:1},8,["collapse","default-active"])}}},da=ot(ca,[["__scopeId","data-v-52d96f34"]]);const pa={class:"admin-header"},va={class:"header-nav header-layout-left"},fa={class:"header-nav-item header-flexible"},ma={class:"header-nav"},ha={class:"header-nav-item header-flexible",style:{cursor:"pointer"}},ba={class:"header-avatar",style:{marginRight:"5px"}},_a={class:"header-avatar"},ga={__name:"index",props:{collapse:{type:Boolean,default:!1}},emits:["toggleClospe"],setup(e,{emit:a}){const n=a,o=tt(),t=nt(),s={tw:"繁體",cn:"簡體",en:"EN"},i=se("reload"),g=()=>{n("toggleClospe")},l=b=>{t.setLang(b),i()},m=()=>{sessionStorage.removeItem("token"),o.push("/login")},d=()=>{alert("button click")};return(b,c)=>{const v=oe,I=it,N=rt,h=ut;return E(),R("div",pa,[F("ul",va,[F("li",fa,[e.collapse?(E(),q(v,{key:0,size:20,color:"#666",onClick:g},{default:_(()=>[u(x($t))]),_:1})):(E(),q(v,{key:1,size:20,color:"#666",onClick:g},{default:_(()=>[u(x(Dt))]),_:1}))])]),F("ul",ma,[F("li",ha,[u(h,{onClick:d},{dropdown:_(()=>[u(N,null,{default:_(()=>[u(I,{onClick:c[0]||(c[0]=P=>l("tw"))},{default:_(()=>[j("繁體")]),_:1}),u(I,{onClick:c[1]||(c[1]=P=>l("cn"))},{default:_(()=>[j("簡體")]),_:1}),u(I,{onClick:c[2]||(c[2]=P=>l("en"))},{default:_(()=>[j("EN")]),_:1})]),_:1})]),default:_(()=>[F("div",ba,[u(v,{size:13,style:{marginRight:"5px"}},{default:_(()=>[u(x(Ht))]),_:1}),j(" "+fe(s[x(t).lang])+" - 語言切換 ",1)])]),_:1}),u(h,{"hide-on-click":!1},{dropdown:_(()=>[u(N,null,{default:_(()=>[u(I,null,{default:_(()=>[j("資料修改")]),_:1}),u(I,{onClick:Pe(m,["stop"])},{default:_(()=>[j("登出")]),_:1})]),_:1})]),default:_(()=>[F("div",_a,[u(v,{size:13,style:{marginRight:"5px"}},{default:_(()=>[u(x(zt))]),_:1}),j(" Admin ")])]),_:1})])])])}}};const ya=tn("tabs",{state:()=>({activeTab:"/",visitedViews:[]}),actions:{setActiveTab(e){this.activeTab=e},addTab(e){this.setActiveTab(e.path),e.path!=="/home"&&(this.visitedViews.some(a=>a.path===e.path)||this.visitedViews.push(e))},removeTab(e){const a=this.visitedViews.indexOf(e);this.visitedViews.splice(a,1)},closeOtherTabs(){this.visitedViews=this.visitedViews.filter(e=>e.path===this.activeTab)},closeAllTabs(){this.visitedViews=[]}}});const Ca={class:"main-tabs-view"},Ma={class:"tab-content"},wa={class:"tab-content"},Ta={class:"el-dropdown-link"},xa={__name:"index",setup(e){const a=tt(),n=at(),o=ya(),{visitedViews:t}=nn(o),s=se("reload"),i=T({get:()=>o.activeTab,set:c=>{o.setActiveTab(c)}});he(()=>{b()}),U(n,()=>{b()});const g=c=>{a.push(c.props.name)},l=c=>{if(t.value.length===1)a.push("/");else if(c.path===i.value){const v=t.value.findIndex(N=>N.path===c.path),I=t.value[v-1];i.value=I.path,a.push(I.path)}o.removeTab(c)},m=()=>{o.closeOtherTabs()},d=()=>{o.closeAllTabs()},b=()=>{n.path==="/login"||n.path==="/news/list/form"||n.path==="/product/list/form"||n.path&&o.addTab({path:n.path,title:n.meta.title})};return(c,v)=>{const I=oe,N=ia,h=la,P=it,O=rt,H=ut;return E(),R("div",Ca,[F("div",null,[u(h,{modelValue:i.value,"onUpdate:modelValue":v[0]||(v[0]=Y=>i.value=Y),type:"card",onTabClick:g},{default:_(()=>[u(N,{name:"/home"},{label:_(()=>[F("div",Ma,[u(I,null,{default:_(()=>[u(x(Ft))]),_:1})])]),_:1}),(E(!0),R(ce,null,Ie(x(t),Y=>(E(),q(N,{name:Y.path},{label:_(()=>[F("div",wa,[u(I,{onClick:Pe(x(s),["stop"])},{default:_(()=>[u(x(Vt))]),_:1},8,["onClick"]),j(" "+fe(Y.title)+" ",1),u(I,{onClick:Pe(ne=>l(Y),["stop"])},{default:_(()=>[u(x(Rt))]),_:2},1032,["onClick"])])]),_:2},1032,["name"]))),256))]),_:1},8,["modelValue"])]),F("div",null,[u(H,null,{dropdown:_(()=>[u(O,null,{default:_(()=>[u(P,{onClick:m},{default:_(()=>[j("關閉其他")]),_:1}),u(P,{onClick:d},{default:_(()=>[j("關閉全部")]),_:1})]),_:1})]),default:_(()=>[F("span",Ta,[u(I,null,{default:_(()=>[u(x(Yt))]),_:1})])]),_:1})])])}}},Ea=ot(xa,[["__scopeId","data-v-b7d2f3d3"]]),Aa={class:"admin-layout"},Sa={class:"tabs-block"},ka={class:"main-content"},Xa={__name:"AdminLayout",setup(e){const a=at(),n=nt(),o=k(!1),t=()=>{o.value=!o.value};T(()=>a.matched.filter(g=>g.meta.title)),T(()=>n.isMobile);const s=k(!0);return _e("reload",()=>{s.value=!1,ge(()=>{s.value=!0})}),(g,l)=>{const m=Cn,d=Ge("router-view"),b=wn,c=Mn,v=yn;return E(),R("div",Aa,[u(v,null,{default:_(()=>[u(m,{width:"auto",class:"side-scroll"},{default:_(()=>[u(da,{collapse:o.value},null,8,["collapse"])]),_:1}),u(v,null,{default:_(()=>[F("div",null,[u(ga,{collapse:o.value,onToggleClospe:t},null,8,["collapse"])]),u(b,null,{default:_(()=>[F("div",Sa,[u(Ea)]),F("div",ka,[s.value?(E(),q(d,{key:0})):et("",!0)])]),_:1}),u(c,null,{default:_(()=>[j("2023 © copyright ZL ")]),_:1})]),_:1})]),_:1})])}}};export{Xa as default}; diff --git a/nginx/html/admin/assets/AdminLayout-b821d4a5.js b/nginx/html/admin/assets/AdminLayout-b821d4a5.js new file mode 100644 index 0000000..31c93d5 --- /dev/null +++ b/nginx/html/admin/assets/AdminLayout-b821d4a5.js @@ -0,0 +1 @@ +import{_ as te,a as ye,r as Ae,h as Ct,T as Mt,i as be,u as Xe,b as wt,c as Qe,E as oe,d as ze,m as Ne,e as Tt,f as Oe,g as xt,j as Et,k as At,l as St,p as kt,n as Fe,o as Bt,t as It,q as Pt,s as Nt,v as Ot,w as Ve,x as $t,y as Dt,z as Ht,A as zt,B as Ft,C as Vt,D as Rt,F as Yt}from"./el-button-b67915d8.js";import"./el-tooltip-4ed993c7.js";import{E as je,C as Wt}from"./el-scrollbar-5edfcb3f.js";import{t as Me}from"./el-icon-08628b36.js";import{E as Lt}from"./el-image-viewer-0d923d79.js";import{s as Xt,i as Qt,d as D,u as V,o as E,c as q,w as _,r as L,m as qe,t as jt,a as x,T as Ue,b as Ke,e as T,f as R,n as ee,g as Te,h as $e,j as re,k as pe,l as ve,p as se,q as k,v as xe,x as U,y as _e,z as he,A as Ze,B as W,C as ue,D as De,E as Je,F as ce,G as me,H as qt,I as Ut,J as ge,K as Kt,L as Ge,M as F,N as j,O as fe,P as Zt,Q as u,R as Re,S as Jt,U as Gt,V as et,W as Ie,X as Ye,Y as en,Z as tt,_ as nt,$ as Pe,a0 as tn,a1 as at,a2 as nn}from"./index-b2bcea28.js";import{_ as ot}from"./_plugin-vue_export-helper-c27b6911.js";import{E as Q}from"./aria-60e0cdc6.js";import{t as de,i as We,U as st}from"./index-07bb2cc4.js";import{f as lt,E as it,a as rt,b as ut}from"./el-dropdown-item-b9c7b677.js";import{c as ie}from"./strings-31e22773.js";import"./castArray-8eb82dce.js";const an=(e,a,n)=>lt(e.subTree).filter(s=>{var i;return Qt(s)&&((i=s.type)==null?void 0:i.name)===a&&!!s.component}).map(s=>s.component.uid).map(s=>n[s]).filter(s=>!!s),on=(e,a)=>{const n={},o=Xt([]);return{children:o,addChild:i=>{n[i.uid]=i,o.value=an(e,a,n)},removeChild:i=>{delete n[i],o.value=o.value.filter(g=>g.uid!==i)}}},sn=D({name:"ElCollapseTransition"}),ln=D({...sn,setup(e){const a=V("collapse-transition"),n=t=>{t.style.maxHeight="",t.style.overflow=t.dataset.oldOverflow,t.style.paddingTop=t.dataset.oldPaddingTop,t.style.paddingBottom=t.dataset.oldPaddingBottom},o={beforeEnter(t){t.dataset||(t.dataset={}),t.dataset.oldPaddingTop=t.style.paddingTop,t.dataset.oldPaddingBottom=t.style.paddingBottom,t.style.height&&(t.dataset.elExistsHeight=t.style.height),t.style.maxHeight=0,t.style.paddingTop=0,t.style.paddingBottom=0},enter(t){requestAnimationFrame(()=>{t.dataset.oldOverflow=t.style.overflow,t.dataset.elExistsHeight?t.style.maxHeight=t.dataset.elExistsHeight:t.scrollHeight!==0?t.style.maxHeight=`${t.scrollHeight}px`:t.style.maxHeight=0,t.style.paddingTop=t.dataset.oldPaddingTop,t.style.paddingBottom=t.dataset.oldPaddingBottom,t.style.overflow="hidden"})},afterEnter(t){t.style.maxHeight="",t.style.overflow=t.dataset.oldOverflow},enterCancelled(t){n(t)},beforeLeave(t){t.dataset||(t.dataset={}),t.dataset.oldPaddingTop=t.style.paddingTop,t.dataset.oldPaddingBottom=t.style.paddingBottom,t.dataset.oldOverflow=t.style.overflow,t.style.maxHeight=`${t.scrollHeight}px`,t.style.overflow="hidden"},leave(t){t.scrollHeight!==0&&(t.style.maxHeight=0,t.style.paddingTop=0,t.style.paddingBottom=0)},afterLeave(t){n(t)},leaveCancelled(t){n(t)}};return(t,s)=>(E(),q(Ue,qe({name:x(a).b()},jt(o)),{default:_(()=>[L(t.$slots,"default")]),_:3},16,["name"]))}});var we=te(ln,[["__file","collapse-transition.vue"]]);we.install=e=>{e.component(we.name,we)};const rn=we,un=D({name:"ElContainer"}),cn=D({...un,props:{direction:{type:String}},setup(e){const a=e,n=Ke(),o=V("container"),t=T(()=>a.direction==="vertical"?!0:a.direction==="horizontal"?!1:n&&n.default?n.default().some(i=>{const g=i.type.name;return g==="ElHeader"||g==="ElFooter"}):!1);return(s,i)=>(E(),R("section",{class:ee([x(o).b(),x(o).is("vertical",x(t))])},[L(s.$slots,"default")],2))}});var dn=te(cn,[["__file","container.vue"]]);const pn=D({name:"ElAside"}),vn=D({...pn,props:{width:{type:String,default:null}},setup(e){const a=e,n=V("aside"),o=T(()=>a.width?n.cssVarBlock({width:a.width}):{});return(t,s)=>(E(),R("aside",{class:ee(x(n).b()),style:Te(x(o))},[L(t.$slots,"default")],6))}});var ct=te(vn,[["__file","aside.vue"]]);const fn=D({name:"ElFooter"}),mn=D({...fn,props:{height:{type:String,default:null}},setup(e){const a=e,n=V("footer"),o=T(()=>a.height?n.cssVarBlock({height:a.height}):{});return(t,s)=>(E(),R("footer",{class:ee(x(n).b()),style:Te(x(o))},[L(t.$slots,"default")],6))}});var dt=te(mn,[["__file","footer.vue"]]);const hn=D({name:"ElHeader"}),bn=D({...hn,props:{height:{type:String,default:null}},setup(e){const a=e,n=V("header"),o=T(()=>a.height?n.cssVarBlock({height:a.height}):{});return(t,s)=>(E(),R("header",{class:ee(x(n).b()),style:Te(x(o))},[L(t.$slots,"default")],6))}});var pt=te(bn,[["__file","header.vue"]]);const _n=D({name:"ElMain"}),gn=D({..._n,setup(e){const a=V("main");return(n,o)=>(E(),R("main",{class:ee(x(a).b())},[L(n.$slots,"default")],2))}});var vt=te(gn,[["__file","main.vue"]]);const yn=$e(dn,{Aside:ct,Footer:dt,Header:pt,Main:vt}),Cn=re(ct),Mn=re(dt);re(pt);const wn=re(vt);let Tn=class{constructor(a,n){this.parent=a,this.domNode=n,this.subIndex=0,this.subIndex=0,this.init()}init(){this.subMenuItems=this.domNode.querySelectorAll("li"),this.addListeners()}gotoSubIndex(a){a===this.subMenuItems.length?a=0:a<0&&(a=this.subMenuItems.length-1),this.subMenuItems[a].focus(),this.subIndex=a}addListeners(){const a=this.parent.domNode;Array.prototype.forEach.call(this.subMenuItems,n=>{n.addEventListener("keydown",o=>{let t=!1;switch(o.code){case Q.down:{this.gotoSubIndex(this.subIndex+1),t=!0;break}case Q.up:{this.gotoSubIndex(this.subIndex-1),t=!0;break}case Q.tab:{Me(a,"mouseleave");break}case Q.enter:case Q.space:{t=!0,o.currentTarget.click();break}}return t&&(o.preventDefault(),o.stopPropagation()),!1})})}},xn=class{constructor(a,n){this.domNode=a,this.submenu=null,this.submenu=null,this.init(n)}init(a){this.domNode.setAttribute("tabindex","0");const n=this.domNode.querySelector(`.${a}-menu`);n&&(this.submenu=new Tn(this,n)),this.addListeners()}addListeners(){this.domNode.addEventListener("keydown",a=>{let n=!1;switch(a.code){case Q.down:{Me(a.currentTarget,"mouseenter"),this.submenu&&this.submenu.gotoSubIndex(0),n=!0;break}case Q.up:{Me(a.currentTarget,"mouseenter"),this.submenu&&this.submenu.gotoSubIndex(this.submenu.subMenuItems.length-1),n=!0;break}case Q.tab:{Me(a.currentTarget,"mouseleave");break}case Q.enter:case Q.space:{n=!0,a.currentTarget.click();break}}n&&a.preventDefault()})}},En=class{constructor(a,n){this.domNode=a,this.init(n)}init(a){const n=this.domNode.childNodes;Array.from(n).forEach(o=>{o.nodeType===1&&new xn(o,a)})}};const An=D({name:"ElMenuCollapseTransition",setup(){const e=V("menu");return{listeners:{onBeforeEnter:n=>n.style.opacity="0.2",onEnter(n,o){ye(n,`${e.namespace.value}-opacity-transition`),n.style.opacity="1",o()},onAfterEnter(n){Ae(n,`${e.namespace.value}-opacity-transition`),n.style.opacity=""},onBeforeLeave(n){n.dataset||(n.dataset={}),Ct(n,e.m("collapse"))?(Ae(n,e.m("collapse")),n.dataset.oldOverflow=n.style.overflow,n.dataset.scrollWidth=n.clientWidth.toString(),ye(n,e.m("collapse"))):(ye(n,e.m("collapse")),n.dataset.oldOverflow=n.style.overflow,n.dataset.scrollWidth=n.clientWidth.toString(),Ae(n,e.m("collapse"))),n.style.width=`${n.scrollWidth}px`,n.style.overflow="hidden"},onLeave(n){ye(n,"horizontal-collapse-transition"),n.style.width=`${n.dataset.scrollWidth}px`}}}}});function Sn(e,a,n,o,t,s){return E(),q(Ue,qe({mode:"out-in"},e.listeners),{default:_(()=>[L(e.$slots,"default")]),_:3},16)}var kn=te(An,[["render",Sn],["__file","menu-collapse-transition.vue"]]);function ft(e,a){const n=T(()=>{let t=e.parent;const s=[a.value];for(;t.type.name!=="ElMenu";)t.props.index&&s.unshift(t.props.index),t=t.parent;return s});return{parentMenu:T(()=>{let t=e.parent;for(;t&&!["ElMenu","ElSubMenu"].includes(t.type.name);)t=t.parent;return t}),indexPath:n}}function Bn(e){return T(()=>{const n=e.backgroundColor;return n?new Mt(n).shade(20).toString():""})}const mt=(e,a)=>{const n=V("menu");return T(()=>n.cssVarBlock({"text-color":e.textColor||"","hover-text-color":e.textColor||"","bg-color":e.backgroundColor||"","hover-bg-color":Bn(e).value||"","active-color":e.activeTextColor||"",level:`${a}`}))},In=pe({index:{type:String,required:!0},showTimeout:Number,hideTimeout:Number,popperClass:String,disabled:Boolean,popperAppendToBody:{type:Boolean,default:void 0},teleported:{type:Boolean,default:void 0},popperOffset:Number,expandCloseIcon:{type:be},expandOpenIcon:{type:be},collapseCloseIcon:{type:be},collapseOpenIcon:{type:be}}),Ce="ElSubMenu";var He=D({name:Ce,props:In,setup(e,{slots:a,expose:n}){Xe({from:"popper-append-to-body",replacement:"teleported",scope:Ce,version:"2.3.0",ref:"https://element-plus.org/en-US/component/menu.html#submenu-attributes"},T(()=>e.popperAppendToBody!==void 0));const o=ve(),{indexPath:t,parentMenu:s}=ft(o,T(()=>e.index)),i=V("menu"),g=V("sub-menu"),l=se("rootMenu");l||de(Ce,"can not inject root menu");const m=se(`subMenu:${s.value.uid}`);m||de(Ce,"can not inject sub menu");const d=k({}),b=k({});let c;const v=k(!1),I=k(),N=k(null),h=T(()=>J.value==="horizontal"&&O.value?"bottom-start":"right-start"),P=T(()=>J.value==="horizontal"&&O.value||J.value==="vertical"&&!l.props.collapse?e.expandCloseIcon&&e.expandOpenIcon?K.value?e.expandOpenIcon:e.expandCloseIcon:wt:e.collapseCloseIcon&&e.collapseOpenIcon?K.value?e.collapseOpenIcon:e.collapseCloseIcon:Qe),O=T(()=>m.level===0),H=T(()=>{var f;const B=(f=e.teleported)!=null?f:e.popperAppendToBody;return B===void 0?O.value:B}),Y=T(()=>l.props.collapse?`${i.namespace.value}-zoom-in-left`:`${i.namespace.value}-zoom-in-top`),ne=T(()=>J.value==="horizontal"&&O.value?["bottom-start","bottom-end","top-start","top-end","right-start","left-start"]:["right-start","right","right-end","left-start","bottom-start","bottom-end","top-start","top-end"]),K=T(()=>l.openedMenus.includes(e.index)),le=T(()=>{let f=!1;return Object.values(d.value).forEach(B=>{B.active&&(f=!0)}),Object.values(b.value).forEach(B=>{B.active&&(f=!0)}),f}),J=T(()=>l.props.mode),w=xe({index:e.index,indexPath:t,active:le}),S=mt(l.props,m.level+1),C=T(()=>{var f;return(f=e.popperOffset)!=null?f:l.props.popperOffset}),z=T(()=>{var f;return(f=e.popperClass)!=null?f:l.props.popperClass}),r=T(()=>{var f;return(f=e.showTimeout)!=null?f:l.props.showTimeout}),p=T(()=>{var f;return(f=e.hideTimeout)!=null?f:l.props.hideTimeout}),y=()=>{var f,B,$;return($=(B=(f=N.value)==null?void 0:f.popperRef)==null?void 0:B.popperInstanceRef)==null?void 0:$.destroy()},A=f=>{f||y()},M=()=>{l.props.menuTrigger==="hover"&&l.props.mode==="horizontal"||l.props.collapse&&l.props.mode==="vertical"||e.disabled||l.handleSubMenuClick({index:e.index,indexPath:t.value,active:le.value})},X=(f,B=r.value)=>{var $;if(f.type!=="focus"){if(l.props.menuTrigger==="click"&&l.props.mode==="horizontal"||!l.props.collapse&&l.props.mode==="vertical"||e.disabled){m.mouseInChild.value=!0;return}m.mouseInChild.value=!0,c==null||c(),{stop:c}=ze(()=>{l.openMenu(e.index,t.value)},B),H.value&&(($=s.value.vnode.el)==null||$.dispatchEvent(new MouseEvent("mouseenter")))}},Z=(f=!1)=>{var B;if(l.props.menuTrigger==="click"&&l.props.mode==="horizontal"||!l.props.collapse&&l.props.mode==="vertical"){m.mouseInChild.value=!1;return}c==null||c(),m.mouseInChild.value=!1,{stop:c}=ze(()=>!v.value&&l.closeMenu(e.index,t.value),p.value),H.value&&f&&((B=m.handleMouseleave)==null||B.call(m,!0))};U(()=>l.props.collapse,f=>A(!!f));{const f=$=>{b.value[$.index]=$},B=$=>{delete b.value[$.index]};_e(`subMenu:${o.uid}`,{addSubMenu:f,removeSubMenu:B,handleMouseleave:Z,mouseInChild:v,level:m.level+1})}return n({opened:K}),he(()=>{l.addSubMenu(w),m.addSubMenu(w)}),Ze(()=>{m.removeSubMenu(w),l.removeSubMenu(w)}),()=>{var f;const B=[(f=a.title)==null?void 0:f.call(a),W(oe,{class:g.e("icon-arrow"),style:{transform:K.value?e.expandCloseIcon&&e.expandOpenIcon||e.collapseCloseIcon&&e.collapseOpenIcon&&l.props.collapse?"none":"rotateZ(180deg)":"none"}},{default:()=>ue(P.value)?W(o.appContext.components[P.value]):W(P.value)})],$=l.isMenuPopup?W(je,{ref:N,visible:K.value,effect:"light",pure:!0,offset:C.value,showArrow:!1,persistent:!0,popperClass:z.value,placement:h.value,teleported:H.value,fallbackPlacements:ne.value,transition:Y.value,gpuAcceleration:!1},{content:()=>{var ae;return W("div",{class:[i.m(J.value),i.m("popup-container"),z.value],onMouseenter:G=>X(G,100),onMouseleave:()=>Z(!0),onFocus:G=>X(G,100)},[W("ul",{class:[i.b(),i.m("popup"),i.m(`popup-${h.value}`)],style:S.value},[(ae=a.default)==null?void 0:ae.call(a)])])},default:()=>W("div",{class:g.e("title"),onClick:M},B)}):W(ce,{},[W("div",{class:g.e("title"),ref:I,onClick:M},B),W(rn,{},{default:()=>{var ae;return De(W("ul",{role:"menu",class:[i.b(),i.m("inline")],style:S.value},[(ae=a.default)==null?void 0:ae.call(a)]),[[Je,K.value]])}})]);return W("li",{class:[g.b(),g.is("active",le.value),g.is("opened",K.value),g.is("disabled",e.disabled)],role:"menuitem",ariaHaspopup:!0,ariaExpanded:K.value,onMouseenter:X,onMouseleave:()=>Z(),onFocus:X},[$])}}});const Pn=pe({mode:{type:String,values:["horizontal","vertical"],default:"vertical"},defaultActive:{type:String,default:""},defaultOpeneds:{type:me(Array),default:()=>Ne([])},uniqueOpened:Boolean,router:Boolean,menuTrigger:{type:String,values:["hover","click"],default:"hover"},collapse:Boolean,backgroundColor:String,textColor:String,activeTextColor:String,closeOnClickOutside:Boolean,collapseTransition:{type:Boolean,default:!0},ellipsis:{type:Boolean,default:!0},popperOffset:{type:Number,default:6},ellipsisIcon:{type:be,default:()=>Tt},popperEffect:{type:String,values:["dark","light"],default:"dark"},popperClass:String,showTimeout:{type:Number,default:300},hideTimeout:{type:Number,default:300}}),Se=e=>Array.isArray(e)&&e.every(a=>ue(a)),Nn={close:(e,a)=>ue(e)&&Se(a),open:(e,a)=>ue(e)&&Se(a),select:(e,a,n,o)=>ue(e)&&Se(a)&&Ut(n)&&(o===void 0||o instanceof Promise)};var On=D({name:"ElMenu",props:Pn,emits:Nn,setup(e,{emit:a,slots:n,expose:o}){const t=ve(),s=t.appContext.config.globalProperties.$router,i=k(),g=V("menu"),l=V("sub-menu"),m=k(-1),d=k(e.defaultOpeneds&&!e.collapse?e.defaultOpeneds.slice(0):[]),b=k(e.defaultActive),c=k({}),v=k({}),I=T(()=>e.mode==="horizontal"||e.mode==="vertical"&&e.collapse),N=()=>{const r=b.value&&c.value[b.value];if(!r||e.mode==="horizontal"||e.collapse)return;r.indexPath.forEach(y=>{const A=v.value[y];A&&h(y,A.indexPath)})},h=(r,p)=>{d.value.includes(r)||(e.uniqueOpened&&(d.value=d.value.filter(y=>p.includes(y))),d.value.push(r),a("open",r,p))},P=r=>{const p=d.value.indexOf(r);p!==-1&&d.value.splice(p,1)},O=(r,p)=>{P(r),a("close",r,p)},H=({index:r,indexPath:p})=>{d.value.includes(r)?O(r,p):h(r,p)},Y=r=>{(e.mode==="horizontal"||e.collapse)&&(d.value=[]);const{index:p,indexPath:y}=r;if(!(We(p)||We(y)))if(e.router&&s){const A=r.route||p,M=s.push(A).then(X=>(X||(b.value=p),X));a("select",p,y,{index:p,indexPath:y,route:A},M)}else b.value=p,a("select",p,y,{index:p,indexPath:y})},ne=r=>{const p=c.value,y=p[r]||b.value&&p[b.value]||p[e.defaultActive];y?b.value=y.index:b.value=r},K=()=>{var r,p;if(!i.value)return-1;const y=Array.from((p=(r=i.value)==null?void 0:r.childNodes)!=null?p:[]).filter($=>$.nodeName!=="#comment"&&($.nodeName!=="#text"||$.nodeValue)),A=64,M=Number.parseInt(getComputedStyle(i.value).paddingLeft,10),X=Number.parseInt(getComputedStyle(i.value).paddingRight,10),Z=i.value.clientWidth-M-X;let f=0,B=0;return y.forEach(($,ae)=>{f+=$.offsetWidth||0,f<=Z-A&&(B=ae+1)}),B===y.length?-1:B},le=r=>v.value[r].indexPath,J=(r,p=33.34)=>{let y;return()=>{y&&clearTimeout(y),y=setTimeout(()=>{r()},p)}};let w=!0;const S=()=>{const r=()=>{m.value=-1,ge(()=>{m.value=K()})};w?r():J(r)(),w=!1};U(()=>e.defaultActive,r=>{c.value[r]||(b.value=""),ne(r)}),U(()=>e.collapse,r=>{r&&(d.value=[])}),U(c.value,N);let C;qt(()=>{e.mode==="horizontal"&&e.ellipsis?C=Oe(i,S).stop:C==null||C()});const z=k(!1);{const r=M=>{v.value[M.index]=M},p=M=>{delete v.value[M.index]};_e("rootMenu",xe({props:e,openedMenus:d,items:c,subMenus:v,activeIndex:b,isMenuPopup:I,addMenuItem:M=>{c.value[M.index]=M},removeMenuItem:M=>{delete c.value[M.index]},addSubMenu:r,removeSubMenu:p,openMenu:h,closeMenu:O,handleMenuItemClick:Y,handleSubMenuClick:H})),_e(`subMenu:${t.uid}`,{addSubMenu:r,removeSubMenu:p,mouseInChild:z,level:0})}return he(()=>{e.mode==="horizontal"&&new En(t.vnode.el,g.namespace.value)}),o({open:p=>{const{indexPath:y}=v.value[p];y.forEach(A=>h(A,y))},close:P,handleResize:S}),()=>{var r,p;let y=(p=(r=n.default)==null?void 0:r.call(n))!=null?p:[];const A=[];if(e.mode==="horizontal"&&i.value){const f=lt(y),B=m.value===-1?f:f.slice(0,m.value),$=m.value===-1?[]:f.slice(m.value);$!=null&&$.length&&e.ellipsis&&(y=B,A.push(W(He,{index:"sub-menu-more",class:l.e("hide-arrow"),popperOffset:e.popperOffset},{title:()=>W(oe,{class:l.e("icon-more")},{default:()=>W(e.ellipsisIcon)}),default:()=>$})))}const M=mt(e,0),X=e.closeOnClickOutside?[[Wt,()=>{d.value.length&&(z.value||(d.value.forEach(f=>a("close",f,le(f))),d.value=[]))}]]:[],Z=De(W("ul",{key:String(e.collapse),role:"menubar",ref:i,style:M.value,class:{[g.b()]:!0,[g.m(e.mode)]:!0,[g.m("collapse")]:e.collapse}},[...y,...A]),X);return e.collapseTransition&&e.mode==="vertical"?W(kn,()=>Z):Z}}});const $n=pe({index:{type:me([String,null]),default:null},route:{type:me([String,Object])},disabled:Boolean}),Dn={click:e=>ue(e.index)&&Array.isArray(e.indexPath)},ke="ElMenuItem",Hn=D({name:ke,components:{ElTooltip:je},props:$n,emits:Dn,setup(e,{emit:a}){const n=ve(),o=se("rootMenu"),t=V("menu"),s=V("menu-item");o||de(ke,"can not inject root menu");const{parentMenu:i,indexPath:g}=ft(n,Kt(e,"index")),l=se(`subMenu:${i.value.uid}`);l||de(ke,"can not inject sub menu");const m=T(()=>e.index===o.activeIndex),d=xe({index:e.index,indexPath:g,active:m}),b=()=>{e.disabled||(o.handleMenuItemClick({index:e.index,indexPath:g.value,route:e.route}),a("click",d))};return he(()=>{l.addSubMenu(d),o.addMenuItem(d)}),Ze(()=>{l.removeSubMenu(d),o.removeMenuItem(d)}),{parentMenu:i,rootMenu:o,active:m,nsMenu:t,nsMenuItem:s,handleClick:b}}});function zn(e,a,n,o,t,s){const i=Ge("el-tooltip");return E(),R("li",{class:ee([e.nsMenuItem.b(),e.nsMenuItem.is("active",e.active),e.nsMenuItem.is("disabled",e.disabled)]),role:"menuitem",tabindex:"-1",onClick:a[0]||(a[0]=(...g)=>e.handleClick&&e.handleClick(...g))},[e.parentMenu.type.name==="ElMenu"&&e.rootMenu.props.collapse&&e.$slots.title?(E(),q(i,{key:0,effect:e.rootMenu.props.popperEffect,placement:"right","fallback-placements":["left"],persistent:""},{content:_(()=>[L(e.$slots,"title")]),default:_(()=>[F("div",{class:ee(e.nsMenu.be("tooltip","trigger"))},[L(e.$slots,"default")],2)]),_:3},8,["effect"])):(E(),R(ce,{key:1},[L(e.$slots,"default"),L(e.$slots,"title")],64))],2)}var ht=te(Hn,[["render",zn],["__file","menu-item.vue"]]);const Fn={title:String},Vn="ElMenuItemGroup",Rn=D({name:Vn,props:Fn,setup(){return{ns:V("menu-item-group")}}});function Yn(e,a,n,o,t,s){return E(),R("li",{class:ee(e.ns.b())},[F("div",{class:ee(e.ns.e("title"))},[e.$slots.title?L(e.$slots,"title",{key:1}):(E(),R(ce,{key:0},[j(fe(e.title),1)],64))],2),F("ul",null,[L(e.$slots,"default")])],2)}var bt=te(Rn,[["render",Yn],["__file","menu-item-group.vue"]]);const Wn=$e(On,{MenuItem:ht,MenuItemGroup:bt,SubMenu:He}),Ln=re(ht);re(bt);const Xn=re(He),Ee=Symbol("tabsRootContextKey"),Qn=pe({tabs:{type:me(Array),default:()=>Ne([])}}),_t="ElTabBar",jn=D({name:_t}),qn=D({...jn,props:Qn,setup(e,{expose:a}){const n=e,o=ve(),t=se(Ee);t||de(_t,"");const s=V("tabs"),i=k(),g=k(),l=()=>{let d=0,b=0;const c=["top","bottom"].includes(t.props.tabPosition)?"width":"height",v=c==="width"?"x":"y",I=v==="x"?"left":"top";return n.tabs.every(N=>{var h,P;const O=(P=(h=o.parent)==null?void 0:h.refs)==null?void 0:P[`tab-${N.uid}`];if(!O)return!1;if(!N.active)return!0;d=O[`offset${ie(I)}`],b=O[`client${ie(c)}`];const H=window.getComputedStyle(O);return c==="width"&&(n.tabs.length>1&&(b-=Number.parseFloat(H.paddingLeft)+Number.parseFloat(H.paddingRight)),d+=Number.parseFloat(H.paddingLeft)),!1}),{[c]:`${b}px`,transform:`translate${ie(v)}(${d}px)`}},m=()=>g.value=l();return U(()=>n.tabs,async()=>{await ge(),m()},{immediate:!0}),Oe(i,()=>m()),a({ref:i,update:m}),(d,b)=>(E(),R("div",{ref_key:"barRef",ref:i,class:ee([x(s).e("active-bar"),x(s).is(x(t).props.tabPosition)]),style:Te(g.value)},null,6))}});var Un=te(qn,[["__file","tab-bar.vue"]]);const Kn=pe({panes:{type:me(Array),default:()=>Ne([])},currentName:{type:[String,Number],default:""},editable:Boolean,type:{type:String,values:["card","border-card",""],default:""},stretch:Boolean}),Zn={tabClick:(e,a,n)=>n instanceof Event,tabRemove:(e,a)=>a instanceof Event},Le="ElTabNav",Jn=D({name:Le,props:Kn,emits:Zn,setup(e,{expose:a,emit:n}){const o=ve(),t=se(Ee);t||de(Le,"");const s=V("tabs"),i=xt(),g=Et(),l=k(),m=k(),d=k(),b=k(),c=k(!1),v=k(0),I=k(!1),N=k(!0),h=T(()=>["top","bottom"].includes(t.props.tabPosition)?"width":"height"),P=T(()=>({transform:`translate${h.value==="width"?"X":"Y"}(-${v.value}px)`})),O=()=>{if(!l.value)return;const w=l.value[`offset${ie(h.value)}`],S=v.value;if(!S)return;const C=S>w?S-w:0;v.value=C},H=()=>{if(!l.value||!m.value)return;const w=m.value[`offset${ie(h.value)}`],S=l.value[`offset${ie(h.value)}`],C=v.value;if(w-C<=S)return;const z=w-C>S*2?C+S:w-S;v.value=z},Y=async()=>{const w=m.value;if(!c.value||!d.value||!l.value||!w)return;await ge();const S=d.value.querySelector(".is-active");if(!S)return;const C=l.value,z=["top","bottom"].includes(t.props.tabPosition),r=S.getBoundingClientRect(),p=C.getBoundingClientRect(),y=z?w.offsetWidth-p.width:w.offsetHeight-p.height,A=v.value;let M=A;z?(r.leftp.right&&(M=A+r.right-p.right)):(r.topp.bottom&&(M=A+(r.bottom-p.bottom))),M=Math.max(M,0),v.value=Math.min(M,y)},ne=()=>{var w;if(!m.value||!l.value)return;e.stretch&&((w=b.value)==null||w.update());const S=m.value[`offset${ie(h.value)}`],C=l.value[`offset${ie(h.value)}`],z=v.value;C0&&(v.value=0))},K=w=>{const S=w.code,{up:C,down:z,left:r,right:p}=Q;if(![C,z,r,p].includes(S))return;const y=Array.from(w.currentTarget.querySelectorAll("[role=tab]:not(.is-disabled)")),A=y.indexOf(w.target);let M;S===r||S===C?A===0?M=y.length-1:M=A-1:A{N.value&&(I.value=!0)},J=()=>I.value=!1;return U(i,w=>{w==="hidden"?N.value=!1:w==="visible"&&setTimeout(()=>N.value=!0,50)}),U(g,w=>{w?setTimeout(()=>N.value=!0,50):N.value=!1}),Oe(d,ne),he(()=>setTimeout(()=>Y(),0)),Zt(()=>ne()),a({scrollToActiveTab:Y,removeFocus:J}),U(()=>e.panes,()=>o.update(),{flush:"post",deep:!0}),()=>{const w=c.value?[u("span",{class:[s.e("nav-prev"),s.is("disabled",!c.value.prev)],onClick:O},[u(oe,null,{default:()=>[u(At,null,null)]})]),u("span",{class:[s.e("nav-next"),s.is("disabled",!c.value.next)],onClick:H},[u(oe,null,{default:()=>[u(Qe,null,null)]})])]:null,S=e.panes.map((C,z)=>{var r,p,y,A;const M=C.uid,X=C.props.disabled,Z=(p=(r=C.props.name)!=null?r:C.index)!=null?p:`${z}`,f=!X&&(C.isClosable||e.editable);C.index=`${z}`;const B=f?u(oe,{class:"is-icon-close",onClick:G=>n("tabRemove",C,G)},{default:()=>[u(St,null,null)]}):null,$=((A=(y=C.slots).label)==null?void 0:A.call(y))||C.props.label,ae=!X&&C.active?0:-1;return u("div",{ref:`tab-${M}`,class:[s.e("item"),s.is(t.props.tabPosition),s.is("active",C.active),s.is("disabled",X),s.is("closable",f),s.is("focus",I.value)],id:`tab-${Z}`,key:`tab-${M}`,"aria-controls":`pane-${Z}`,role:"tab","aria-selected":C.active,tabindex:ae,onFocus:()=>le(),onBlur:()=>J(),onClick:G=>{J(),n("tabClick",C,Z,G)},onKeydown:G=>{f&&(G.code===Q.delete||G.code===Q.backspace)&&n("tabRemove",C,G)}},[$,B])});return u("div",{ref:d,class:[s.e("nav-wrap"),s.is("scrollable",!!c.value),s.is(t.props.tabPosition)]},[w,u("div",{class:s.e("nav-scroll"),ref:l},[u("div",{class:[s.e("nav"),s.is(t.props.tabPosition),s.is("stretch",e.stretch&&["top","bottom"].includes(t.props.tabPosition))],ref:m,style:P.value,role:"tablist",onKeydown:K},[e.type?null:u(Un,{ref:b,tabs:[...e.panes]},null),S])])])}}}),Gn=pe({type:{type:String,values:["card","border-card",""],default:""},activeName:{type:[String,Number]},closable:Boolean,addable:Boolean,modelValue:{type:[String,Number]},editable:Boolean,tabPosition:{type:String,values:["top","right","bottom","left"],default:"top"},beforeLeave:{type:me(Function),default:()=>!0},stretch:Boolean}),Be=e=>ue(e)||Jt(e),ea={[st]:e=>Be(e),tabClick:(e,a)=>a instanceof Event,tabChange:e=>Be(e),edit:(e,a)=>["remove","add"].includes(a),tabRemove:e=>Be(e),tabAdd:()=>!0},ta=D({name:"ElTabs",props:Gn,emits:ea,setup(e,{emit:a,slots:n,expose:o}){var t,s;const i=V("tabs"),{children:g,addChild:l,removeChild:m}=on(ve(),"ElTabPane"),d=k(),b=k((s=(t=e.modelValue)!=null?t:e.activeName)!=null?s:"0"),c=async(h,P=!1)=>{var O,H,Y;if(!(b.value===h||Re(h)))try{await((O=e.beforeLeave)==null?void 0:O.call(e,h,b.value))!==!1&&(b.value=h,P&&(a(st,h),a("tabChange",h)),(Y=(H=d.value)==null?void 0:H.removeFocus)==null||Y.call(H))}catch{}},v=(h,P,O)=>{h.props.disabled||(c(P,!0),a("tabClick",h,O))},I=(h,P)=>{h.props.disabled||Re(h.props.name)||(P.stopPropagation(),a("edit",h.props.name,"remove"),a("tabRemove",h.props.name))},N=()=>{a("edit",void 0,"add"),a("tabAdd")};return Xe({from:'"activeName"',replacement:'"model-value" or "v-model"',scope:"ElTabs",version:"2.3.0",ref:"https://element-plus.org/en-US/component/tabs.html#attributes",type:"Attribute"},T(()=>!!e.activeName)),U(()=>e.activeName,h=>c(h)),U(()=>e.modelValue,h=>c(h)),U(b,async()=>{var h;await ge(),(h=d.value)==null||h.scrollToActiveTab()}),_e(Ee,{props:e,currentName:b,registerPane:l,unregisterPane:m}),o({currentName:b}),()=>{const h=n.addIcon,P=e.editable||e.addable?u("span",{class:i.e("new-tab"),tabindex:"0",onClick:N,onKeydown:Y=>{Y.code===Q.enter&&N()}},[h?L(n,"addIcon"):u(oe,{class:i.is("icon-plus")},{default:()=>[u(kt,null,null)]})]):null,O=u("div",{class:[i.e("header"),i.is(e.tabPosition)]},[P,u(Jn,{ref:d,currentName:b.value,editable:e.editable,type:e.type,panes:g.value,stretch:e.stretch,onTabClick:v,onTabRemove:I},null)]),H=u("div",{class:i.e("content")},[L(n,"default")]);return u("div",{class:[i.b(),i.m(e.tabPosition),{[i.m("card")]:e.type==="card",[i.m("border-card")]:e.type==="border-card"}]},[...e.tabPosition!=="bottom"?[O,H]:[H,O]])}}}),na=pe({label:{type:String,default:""},name:{type:[String,Number]},closable:Boolean,disabled:Boolean,lazy:Boolean}),aa=["id","aria-hidden","aria-labelledby"],gt="ElTabPane",oa=D({name:gt}),sa=D({...oa,props:na,setup(e){const a=e,n=ve(),o=Ke(),t=se(Ee);t||de(gt,"usage: ");const s=V("tab-pane"),i=k(),g=T(()=>a.closable||t.props.closable),l=Fe(()=>{var v;return t.currentName.value===((v=a.name)!=null?v:i.value)}),m=k(l.value),d=T(()=>{var v;return(v=a.name)!=null?v:i.value}),b=Fe(()=>!a.lazy||m.value||l.value);U(l,v=>{v&&(m.value=!0)});const c=xe({uid:n.uid,slots:o,props:a,paneName:d,active:l,index:i,isClosable:g});return he(()=>{t.registerPane(c)}),Gt(()=>{t.unregisterPane(c.uid)}),(v,I)=>x(b)?De((E(),R("div",{key:0,id:`pane-${x(d)}`,class:ee(x(s).b()),role:"tabpanel","aria-hidden":!x(l),"aria-labelledby":`tab-${x(d)}`},[L(v.$slots,"default")],10,aa)),[[Je,x(l)]]):et("v-if",!0)}});var yt=te(sa,[["__file","tab-pane.vue"]]);const la=$e(ta,{TabPane:yt}),ia=re(yt);const ra="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAATwAAABCCAMAAAD9hJoxAAAAjVBMVEUAAABmYmBmYmBmYmBmYmBmYmBmYmBmYmBmYmBmYmBmYmBmYmDMCCPMCCNmYmBmYmDMCCPMCCPMCCPnQhDMCCPMCCPXIhtmYmBmYmDnQhDnQhDMCCPMCCPnQhDMCCPnQhDMCCPnQhDMCCPMCCPnQhDnQhDnQhDnQhDMCCPnQhDnQhDnQhBmYmDMCCPnQhBOmYs0AAAALHRSTlMAgMBA8BCg4GAg0FDwwDBwgEBgQDAQILCQgPDg0NigYHAwsJAQwKCwUHBQkHnnoZMAAAfHSURBVHja7ZzretowDIad8/kEhFCgFNqtpV3C/V/e1rXBceRIdjpv3Z59f8lBeSPJsuXAPoPq4/2+e1WWlYs1+y9NVVV5v+t+avewYv+lrdVx/86vrNmflpNY70pyhikqGntSm0J+crKxEfmWM4vfoXvTAcE3+9bCYyE4Qj9uBdnWFEDPbwm5mwjYH7SUXMtj+lrfv9FLS8alfWtfyk/gMelIcStTYEUMKndbBfkiiLDlwvDNyn998qsYEHlrDiefA8/xMQYAnxe3SgqGxiStouI5zlf3sVvKHq9V1UYbXuRrOoPVKsod0Atao/TY4p1eVsO81c68Nw2vcOlLiv7stqoKPD3Hg0bq09uvx87RtrPo0fC8RsmFQiQKMPn9SZtWQyFDtby7edXzUk4vXWEZj6anDM+L9Z+naDUUwdChFSDkXp62l6ue7r7I6NVolrF7EX4P4RHs3KZwXlX4LqAnNcZNxAuGAXA9CK+JRkXS+Dkma8y724uo7c0AX9lHbi3Aw7w6T8CTWgg8hF0wvHI4+jHhxqDjky++DU8Cz0FO4vZDnTg6rttB9Gbv9O4n4fmMzvoRDQ8+ZzG+qPhzxI1BH7MBzGl4rFEYMp4vct3wcjl9p3dkXIS90IlsCh6EE+dEMWwrGuO50DUhPHxIZBI9Xqb0CAK3WyHwSHoODg8+ZOCR5WVBGwMdOlaDx0TzPYQdSm/Xl3ta8JgXCDmZhueDehbKAvmLMAbWBorwbPDuQcwiuhuPuN0CgUe6SUTBi1qViwbgINoYB3D4OLzTBdX2Whn3WW+HwaPub1HwfKXKKgSupwsv+SXwvl5wfQVZb4HAo4wOCHiRYk3vgsM04Vm/At7dhdKyH3B7eDsEHhljEQ6vAC4FBOdV8Z+CBwu8p+flmi1fHrdj19v39CoMHlEsFTi8ACkdkUz6Z+Cd4LwCTDr6rPfQwzsow4OHNSi8HOQlpbgtfhO8iAn6NkpwwsLJl29CqVz18FIEHpn0UHgFUlYh7hwbhAfrm1oetY9MlhFv+3XRrtdZC14uEsHg2SISRJZ4Ue06r1CDF0he/HWShbDj9MbFSvegBY+JeQOD1yIpDy88aGOsGXWeI5tdZv0CHifHPQzE9XK0OtBlH4AXTsKD8y5EnhiEutOzNlKCF0tCvZLCOzGJvmwl8DoEHlkmI/AK4ByKb8QGxhAR6DIUHm9lwgOOJY9KELRw9nYH4K3MwPORtUf0oi5uDHwxjQK8JJauJD/0nncDHA+6Hh9uH7pe1Xx4NgIPjG0EPC5gDNEkDall+NjmxZAIN5OE7S2b0FdJ2B7NwAsQeET+x41J/JZYSaYVsml4T2xCNxJ4pRl44gPqwiMFjbX12bEs7eerYNUY6uXSTzr2M+H5s+DZOvASLXiBh8CjthlkXV8lb2l4y2tAdzPhWebhWVrwckbBQ1pQ2XVu/0TDO/WD7epfgRcyEh7Sx8w6WKvcMEqLfwOe6+juF4k9Ed6eFyJ8wCB0L8AzUeeJJpuB53vAMj16h65bj7s/W0aoTjm8yiw8/VIlVIMXFxFimcOV+JAeX1E/gvH2hYzaTwwPK1UC+1WWlTi4ZeLPjjuRQ86DtfQb3qzAlXWdsbktsfQ4v0iGouERqxTrYRvnVs31qo5r/wF4IQoPeRh0J4T3i+HB2XM07GDvryS3fdY7qTreQR8evZ4H85jO3NYAPGdidfEwdL0ToEc4XrfQgxerwkuQrbhoE8M2AY8F8qbAWdhsd7rt6d1NDrW7IbxaD57yMnykXuh5olsYgbeZyHqpsF3sy9N11FgyUWA1ip9I2itFwhB42LIKGlOhEXjiPRohbrvFcAJ7XZr6tsTKFH7evO5ZjMLzlUeMQhyYjcBjrjxuV+PtYuzl66ADOQK4SofsUvaBvq2PwgtbVQSNuMZrBp4/MYBlcIf2+vlpC1rfkF1XIvDoSgWF5ylP0MBWRRPwkokcXHWc3hDg8odOjCHs0loPntdq7FVpwMEqveDcEDzWTpiTvZGoGKUq7YDj6cArdHZJJUjcIht9TMFrJsxZ8XYEqrITtasJeGi1VBDwWCBpNVAbjEMj8GAODmD1ka2Rq6+zbqQz04Nn6e0MDVvtiwbMGDyvndh5VO876oPQuuzGOjA9eDmY4yDwoOvlChdNDMGD460tGwh2x1rmdWUK2O1rBB79DWxEw0vobw0jsFpkDF4CW7ew9E0P55HTLe47qHTFtOA5LpitUvBYQ9HLQV40BA/Wyf7UYJDel1X10yOr48O+k2qF9SaAch92/Gh4XiCe5OCfFSXMKLwNrFb4LE1LC2wsaBxB4SaGHT8aHgz11h+el9igfW0UXjSyhc2kl56xMY9WyBB46Afk8SZxGIuc0A/Al7Om4MFD4EELdXYrkNE02eHwYKqk5TOz8OBD2mACoaJ9jWdTuluKw4NjAq2CmYfHRqY4oA6mVWK1Ki070vuDBq9RfB/m4YX4995H0vmyFXJzWoGj/9cgTkB3r43Dg64Hr10/oOh2CzYhT4Xe3D+lCTF8Nr+oUXgwA7sROZvg2i8YogJ3EHuTMC4cHpTju/KA9XN4rDWQw9QU8lMapI9gWdTFwZSC+hszaLVv277Vq3AcD2taDxRiV7dd+D4+o85llg5c7nD8HH8AFznh9YXk7FOretNf9seD3wEp1Aq+q1JvwgAAAABJRU5ErkJggg==";const ua={class:"logo"},ca={__name:"index",props:{collapse:{type:Boolean,default:!1}},setup(e){const a=[{title:"首頁",icon:Bt,path:"/index",children:[{title:"首頁輪播",path:"/index/banner"},{title:"供應商",path:"/index/supplier"}]},{title:"關於普達",icon:It,path:"/about",children:[{title:"公司簡介",path:"/about/company"},{title:"經營理念",path:"/about/concept"}]},{title:"產品管理",icon:Pt,path:"/product",children:[{title:"產品列表",path:"/product/list"},{title:"產品類別",path:"/product/group"}]},{title:"最新消息",icon:Nt,path:"/news",children:[{title:"產業動態",path:"/news/list"},{title:"公司活動",path:"/news/activity"}]},{title:"聯絡我們",icon:Ot,path:"/contact",children:[{title:"表單信件",path:"/contact/email"},{title:"公司據點",path:"/contact/map"}]},{title:"權限管理",icon:Ve,path:"/priv",children:[{title:"管理員列表",path:"/priv/admin"},{title:"管理員紀錄",path:"/priv/adminlog"}]},{title:"站台設定",icon:Ve,path:"/site/config"}],n=(o,t)=>{en.push(o)};return(o,t)=>{const s=Lt,i=oe,g=Ln,l=Xn,m=Wn;return E(),q(m,{"active-text-color":"#fefefe","background-color":"#032121","text-color":"#ccc","unique-opened":"",class:"el-menu-vertical",collapse:e.collapse,"default-active":o.$route.path,onSelect:n},{default:_(()=>[F("div",ua,[u(s,{style:{width:"100px"},src:x(ra)},null,8,["src"])]),(E(),R(ce,null,Ie(a,(d,b)=>(E(),R(ce,{key:b},[d.children&&d.children.length>0?(E(),q(l,{key:0,index:d.path},{title:_(()=>[u(i,null,{default:_(()=>[(E(),q(Ye(d.icon)))]),_:2},1024),F("span",null,fe(d.title),1)]),default:_(()=>[(E(!0),R(ce,null,Ie(d.children,(c,v)=>(E(),q(g,{index:c.path},{default:_(()=>[j(fe(c.title),1)]),_:2},1032,["index"]))),256))]),_:2},1032,["index"])):(E(),q(g,{key:1,index:d.path},{default:_(()=>[u(i,null,{default:_(()=>[(E(),q(Ye(d.icon)))]),_:2},1024),F("span",null,fe(d.title),1)]),_:2},1032,["index"]))],64))),64))]),_:1},8,["collapse","default-active"])}}},da=ot(ca,[["__scopeId","data-v-52d96f34"]]);const pa={class:"admin-header"},va={class:"header-nav header-layout-left"},fa={class:"header-nav-item header-flexible"},ma={class:"header-nav"},ha={class:"header-nav-item header-flexible",style:{cursor:"pointer"}},ba={class:"header-avatar",style:{marginRight:"5px"}},_a={class:"header-avatar"},ga={__name:"index",props:{collapse:{type:Boolean,default:!1}},emits:["toggleClospe"],setup(e,{emit:a}){const n=a,o=tt(),t=nt(),s={tw:"繁體",cn:"簡體",en:"EN"},i=se("reload"),g=()=>{n("toggleClospe")},l=b=>{t.setLang(b),i()},m=()=>{sessionStorage.removeItem("token"),o.push("/login")},d=()=>{alert("button click")};return(b,c)=>{const v=oe,I=it,N=rt,h=ut;return E(),R("div",pa,[F("ul",va,[F("li",fa,[e.collapse?(E(),q(v,{key:0,size:20,color:"#666",onClick:g},{default:_(()=>[u(x($t))]),_:1})):(E(),q(v,{key:1,size:20,color:"#666",onClick:g},{default:_(()=>[u(x(Dt))]),_:1}))])]),F("ul",ma,[F("li",ha,[u(h,{onClick:d},{dropdown:_(()=>[u(N,null,{default:_(()=>[u(I,{onClick:c[0]||(c[0]=P=>l("tw"))},{default:_(()=>[j("繁體")]),_:1}),u(I,{onClick:c[1]||(c[1]=P=>l("cn"))},{default:_(()=>[j("簡體")]),_:1}),u(I,{onClick:c[2]||(c[2]=P=>l("en"))},{default:_(()=>[j("EN")]),_:1})]),_:1})]),default:_(()=>[F("div",ba,[u(v,{size:13,style:{marginRight:"5px"}},{default:_(()=>[u(x(Ht))]),_:1}),j(" "+fe(s[x(t).lang])+" - 語言切換 ",1)])]),_:1}),u(h,{"hide-on-click":!1},{dropdown:_(()=>[u(N,null,{default:_(()=>[u(I,null,{default:_(()=>[j("資料修改")]),_:1}),u(I,{onClick:Pe(m,["stop"])},{default:_(()=>[j("登出")]),_:1})]),_:1})]),default:_(()=>[F("div",_a,[u(v,{size:13,style:{marginRight:"5px"}},{default:_(()=>[u(x(zt))]),_:1}),j(" Admin ")])]),_:1})])])])}}};const ya=tn("tabs",{state:()=>({activeTab:"/",visitedViews:[]}),actions:{setActiveTab(e){this.activeTab=e},addTab(e){this.setActiveTab(e.path),e.path!=="/home"&&(this.visitedViews.some(a=>a.path===e.path)||this.visitedViews.push(e))},removeTab(e){const a=this.visitedViews.indexOf(e);this.visitedViews.splice(a,1)},closeOtherTabs(){this.visitedViews=this.visitedViews.filter(e=>e.path===this.activeTab)},closeAllTabs(){this.visitedViews=[]}}});const Ca={class:"main-tabs-view"},Ma={class:"tab-content"},wa={class:"tab-content"},Ta={class:"el-dropdown-link"},xa={__name:"index",setup(e){const a=tt(),n=at(),o=ya(),{visitedViews:t}=nn(o),s=se("reload"),i=T({get:()=>o.activeTab,set:c=>{o.setActiveTab(c)}});he(()=>{b()}),U(n,()=>{b()});const g=c=>{a.push(c.props.name)},l=c=>{if(t.value.length===1)a.push("/");else if(c.path===i.value){const v=t.value.findIndex(N=>N.path===c.path),I=t.value[v-1];i.value=I.path,a.push(I.path)}o.removeTab(c)},m=()=>{o.closeOtherTabs()},d=()=>{o.closeAllTabs()},b=()=>{n.path==="/login"||n.path==="/news/list/form"||n.path==="/product/list/form"||n.path&&o.addTab({path:n.path,title:n.meta.title})};return(c,v)=>{const I=oe,N=ia,h=la,P=it,O=rt,H=ut;return E(),R("div",Ca,[F("div",null,[u(h,{modelValue:i.value,"onUpdate:modelValue":v[0]||(v[0]=Y=>i.value=Y),type:"card",onTabClick:g},{default:_(()=>[u(N,{name:"/home"},{label:_(()=>[F("div",Ma,[u(I,null,{default:_(()=>[u(x(Ft))]),_:1})])]),_:1}),(E(!0),R(ce,null,Ie(x(t),Y=>(E(),q(N,{name:Y.path},{label:_(()=>[F("div",wa,[u(I,{onClick:Pe(x(s),["stop"])},{default:_(()=>[u(x(Vt))]),_:1},8,["onClick"]),j(" "+fe(Y.title)+" ",1),u(I,{onClick:Pe(ne=>l(Y),["stop"])},{default:_(()=>[u(x(Rt))]),_:2},1032,["onClick"])])]),_:2},1032,["name"]))),256))]),_:1},8,["modelValue"])]),F("div",null,[u(H,null,{dropdown:_(()=>[u(O,null,{default:_(()=>[u(P,{onClick:m},{default:_(()=>[j("關閉其他")]),_:1}),u(P,{onClick:d},{default:_(()=>[j("關閉全部")]),_:1})]),_:1})]),default:_(()=>[F("span",Ta,[u(I,null,{default:_(()=>[u(x(Yt))]),_:1})])]),_:1})])])}}},Ea=ot(xa,[["__scopeId","data-v-b7d2f3d3"]]),Aa={class:"admin-layout"},Sa={class:"tabs-block"},ka={class:"main-content"},Xa={__name:"AdminLayout",setup(e){const a=at(),n=nt(),o=k(!1),t=()=>{o.value=!o.value};T(()=>a.matched.filter(g=>g.meta.title)),T(()=>n.isMobile);const s=k(!0);return _e("reload",()=>{s.value=!1,ge(()=>{s.value=!0})}),(g,l)=>{const m=Cn,d=Ge("router-view"),b=wn,c=Mn,v=yn;return E(),R("div",Aa,[u(v,null,{default:_(()=>[u(m,{width:"auto",class:"side-scroll"},{default:_(()=>[u(da,{collapse:o.value},null,8,["collapse"])]),_:1}),u(v,null,{default:_(()=>[F("div",null,[u(ga,{collapse:o.value,onToggleClospe:t},null,8,["collapse"])]),u(b,null,{default:_(()=>[F("div",Sa,[u(Ea)]),F("div",ka,[s.value?(E(),q(d,{key:0})):et("",!0)])]),_:1}),u(c,null,{default:_(()=>[j("2023 © copyright ZL ")]),_:1})]),_:1})]),_:1})])}}};export{Xa as default}; diff --git a/nginx/html/admin/assets/Index-0369f673.js b/nginx/html/admin/assets/Index-0369f673.js new file mode 100644 index 0000000..df8b7f2 --- /dev/null +++ b/nginx/html/admin/assets/Index-0369f673.js @@ -0,0 +1 @@ +import{p as N,E as G,G as O,H as Z,F as ee,b as ae}from"./el-button-e2db9d24.js";import{E as le}from"./el-drawer-ff04497f.js";import{E as te}from"./el-message-box-b36f6f03.js";import{E as L,a as oe,b as se}from"./el-breadcrumb-item-4a5b4005.js";import{E as re,a as ne}from"./el-table-column-448a0581.js";import"./el-tag-290e5c91.js";import"./el-tooltip-4ed993c7.js";import"./el-scrollbar-5933f25d.js";import{E as ie,a as ue,b as de}from"./el-dropdown-item-bbb7be2f.js";import"./el-icon-08628b36.js";import{E as q}from"./el-input-5fc6aaec.js";import{E as ce}from"./el-image-viewer-e3399f62.js";import{q as d,z as K,o as v,f as B,M as m,Q as e,w as a,c as S,a as h,N as g,O as P,V as me,F as H,v as pe,a3 as _e,a4 as fe,D as ve,a5 as ge}from"./index-7ed2d026.js";import{E as ye}from"./el-dialog-e4a7f8ff.js";import{E as we,a as be}from"./el-form-item-8920ca0c.js";import{E as he}from"./el-progress-c3e10056.js";import{a as D,u as Ee}from"./request-26ab9dc6.js";import{f as xe}from"./style-d6e2b45a.js";import{E as y}from"./el-message-3c79da29.js";import{_ as ke}from"./_plugin-vue_export-helper-c27b6911.js";import"./use-dialog-7562524e.js";import"./index-dc664f45.js";import"./aria-60e0cdc6.js";import"./castArray-283666ff.js";import"./_baseClone-a5946d7f.js";import"./cloneDeep-e81a5417.js";const Be=async()=>D("/index/getBannerList","GET"),Ve=async p=>D("/index/getBanner","GET",{id:p}),Ce=async p=>D("/index/deleteBanner","GET",{id:p}),Q=async p=>D("/index/updateBanner","POST",p),De=async p=>D("/index/addBanner","POST",p);const Fe=["src"],Ie=["src"],Te={class:"demo-drawer__footer",style:{"text-align":"right"}},Ue={key:0,class:"cropper-section"},$e={class:"crop-area"},je={class:"crop-btn"},Re={__name:"Form",props:{editid:{type:Number,default:0}},emits:["close"],setup(p,{emit:U}){const E=p,w=U,V=d("insert"),f=d(!1),F=d(null),s=d({id:0});K(async()=>{if(E.editid){let l=await Ve(E.editid);l.code===200&&(s.value=l.data,V.value="update")}});const $=d({imageurl1:[{required:!0,message:"電腦版背景圖必填",trigger:"blur"}],imageurl2:[{required:!0,message:"手機版背景圖必填",trigger:"blur"}]}),t=d({show:!1,img:null,ratio:2}),I=d(null),T=(l,o)=>l.type!=="image/jpeg"&&l.type!=="image/png"&&l.type!=="image/jpg"?(y.error("圖片格式只能是jpeg/png/jpg!"),!1):(t.value.show=!0,t.value.img=URL.createObjectURL(l),o===1?(t.value.type=1,t.value.ratio=2):(t.value.type=2,t.value.ratio=.5),!1),j=()=>{const{canvas:l}=I.value.getResult();if(l){const o=new FormData;l.toBlob(async _=>{let u=new File([_],"image.jpg");o.append("fileType","IMAGE"),o.append("file",u),t.value.show=!1,f.value=!0;let i=await Ee("/index/uploadBannerImage",o);i.code===200?(t.value.type===1?s.value.imageurl1=i.data:s.value.imageurl2=i.data,y.success("上傳成功")):y.error("上傳失敗"),f.value=!1},"image/jpeg")}},x=()=>{t.value.show=!1},R=()=>{w("close",!1)},n=l=>{l&&l.validate(async o=>{if(o){let _,u;V.value==="update"?(s.value.id=E.editid,_=await Q(s.value),u="修改成功."):(_=await De(s.value),u="新增成功."),_.code===200&&(y({message:u,type:"success"}),w("close",!0))}else return y({message:"操作失敗.",type:"error"}),!1})};return(l,o)=>{const _=q,u=we,i=G,C=he,z=be,A=L,b=O,M=ye;return v(),B(H,null,[m("div",null,[e(A,null,{default:a(()=>[e(z,{ref_key:"formRef",ref:F,model:s.value,"status-icon":"",rules:$.value,"label-width":"120px"},{default:a(()=>[e(u,{label:"標語"},{default:a(()=>[e(_,{modelValue:s.value.slogon,"onUpdate:modelValue":o[0]||(o[0]=c=>s.value.slogon=c)},null,8,["modelValue"])]),_:1}),e(u,{label:"描述"},{default:a(()=>[e(_,{modelValue:s.value.describe,"onUpdate:modelValue":o[1]||(o[1]=c=>s.value.describe=c)},null,8,["modelValue"])]),_:1}),e(u,{label:"電腦版背景圖",prop:"imageurl1"},{default:a(()=>[e(C,{class:"avatar-uploader",action:"#",accept:"image/*","show-file-list":!1,"auto-upload":!0,"on-success":l.handleAvatarSuccess,"before-upload":c=>T(c,1)},{default:a(()=>[s.value.imageurl1?(v(),B("img",{key:0,src:s.value.imageurl1,class:"avatar1",id:"imageurl1"},null,8,Fe)):(v(),S(i,{key:1,class:"avatar-uploader-icon1"},{default:a(()=>[e(h(N))]),_:1}))]),_:1},8,["on-success","before-upload"])]),_:1}),e(u,{label:"手機版背景圖",prop:"imageurl2"},{default:a(()=>[e(C,{class:"avatar-uploader",action:"#",accept:"image/*","show-file-list":!1,"auto-upload":!0,"on-success":l.handleAvatarSuccess,"before-upload":c=>T(c,2)},{default:a(()=>[s.value.imageurl2?(v(),B("img",{key:0,src:s.value.imageurl2,class:"avatar2",id:"imageurl1"},null,8,Ie)):(v(),S(i,{key:1,class:"avatar-uploader-icon2"},{default:a(()=>[e(h(N))]),_:1}))]),_:1},8,["on-success","before-upload"])]),_:1})]),_:1},8,["model","rules"])]),_:1}),m("div",Te,[e(b,{onClick:R},{default:a(()=>[g("取消")]),_:1}),e(b,{type:"primary",loading:f.value,onClick:o[2]||(o[2]=c=>n(F.value))},{default:a(()=>[g(P(f.value?"處理中...":"確認"),1)]),_:1},8,["loading"])])]),m("div",null,[e(M,{modelValue:t.value.show,"onUpdate:modelValue":o[3]||(o[3]=c=>t.value.show=c),title:"Tips","before-close":x},{default:a(()=>[t.value.show?(v(),B("div",Ue,[m("div",$e,[e(h(xe),{class:"cropper",ref_key:"myCrop",ref:I,src:t.value.img,"stencil-props":{aspectRatio:t.value.ratio},"auto-zoom":!0},null,8,["src","stencil-props"])]),m("div",je,[e(b,{type:"primary",size:"small",text:"",onClick:x},{default:a(()=>[g("取消")]),_:1}),e(b,{type:"primary",size:"small",onClick:j},{default:a(()=>[g("剪裁")]),_:1})])])):me("",!0)]),_:1},8,["modelValue"])])],64)}}},ze=ke(Re,[["__scopeId","data-v-847aa68b"]]),Ae={class:"main"},Me={class:"breadcrumb-section"},Ne=m("a",{href:"/"},"首頁輪播列表",-1),Se=["onDblclick"],pa={__name:"Index",setup(p){const U=pe({page:1,pageSize:10});_e(U),d(0);const E=d(!1),w=d(!1),V=d([]);K(()=>{f()});const f=async()=>{E.value=!0;let n=await Be();n.code===200&&(V.value=n.data),E.value=!1},F=()=>{x.value=0,w.value=!0},s=n=>{x.value=n,w.value=!0},$=n=>{te.confirm("確認刪除此紀錄?").then(async()=>{(await Ce(n)).code===200?(y({message:"刪除成功.",type:"success"}),f()):y({message:"刪除失敗.",type:"error"})}).catch(()=>{})},t=d(0),I=n=>{t.value=n},T=async n=>{(await Q(n)).code===200?(y({message:"修改成功.",type:"success"}),f()):y({message:"修改失敗.",type:"error"}),t.value=0},j=()=>{t.value=0},x=d(0),R=n=>{w.value=!1,n&&f()};return(n,l)=>{const o=oe,_=se,u=O,i=re,C=ce,z=q,A=G,b=ie,M=ue,c=de,J=ne,W=L,X=le,Y=fe("focus");return v(),B(H,null,[m("div",Ae,[m("div",Me,[m("div",null,[e(_,{separator:"/"},{default:a(()=>[e(o,null,{default:a(()=>[g(" 首頁 ")]),_:1}),e(o,null,{default:a(()=>[Ne]),_:1})]),_:1})]),m("div",null,[e(u,{type:"primary",icon:h(N),onClick:F},{default:a(()=>[g(" 新增輪播 ")]),_:1},8,["icon"])])]),e(W,{"body-style":{padding:"0px"}},{default:a(()=>[e(J,{data:V.value,style:{width:"100%"}},{default:a(()=>[e(i,{prop:"id",label:"#",width:"50"}),e(i,{label:"電腦版背景"},{default:a(r=>[e(C,{style:{width:"100px",height:"50px"},src:r.row.imageurl1,fit:"cover",crossorigin:null},null,8,["src"])]),_:1}),e(i,{label:"手機版背景"},{default:a(r=>[e(C,{style:{width:"50px",height:"100px"},src:r.row.imageurl2,fit:"cover",crossorigin:null},null,8,["src"])]),_:1}),e(i,{prop:"slogon",label:"標題"}),e(i,{prop:"describe",label:"描述"}),e(i,{prop:"sort_order",label:"排序",width:"80"},{default:a(r=>[r.row.id!==t.value?(v(),B("div",{key:0,onDblclick:k=>I(r.row.id)},P(r.row.sort_order),41,Se)):ve((v(),S(z,{key:1,modelValue:r.row.sort_order,"onUpdate:modelValue":k=>r.row.sort_order=k,style:{width:"50px"},onKeyup:ge(k=>T(r.row),["enter"]),onBlur:l[0]||(l[0]=k=>j()),autoFocus:!0},null,8,["modelValue","onUpdate:modelValue","onKeyup"])),[[Y,r.row.id===t.value]])]),_:1}),e(i,{label:"其他項目",width:"105",fixed:"right"},{default:a(r=>[e(c,null,{dropdown:a(()=>[e(M,null,{default:a(()=>[e(b,{icon:h(Z),onClick:k=>s(r.row.id)},{default:a(()=>[g("修改")]),_:2},1032,["icon","onClick"]),e(b,{icon:h(ee),onClick:k=>$(r.row.id)},{default:a(()=>[g("刪除")]),_:2},1032,["icon","onClick"])]),_:2},1024)]),default:a(()=>[e(u,{type:"danger"},{default:a(()=>[g(" 操作"),e(A,{class:"el-icon--right"},{default:a(()=>[e(h(ae))]),_:1})]),_:1})]),_:2},1024)]),_:1})]),_:1},8,["data"])]),_:1})]),m("div",null,[e(X,{ref:"drawerRef",modelValue:w.value,"onUpdate:modelValue":l[1]||(l[1]=r=>w.value=r),"destroy-on-close":!0,title:"首頁輪撥",direction:"rtl",size:"50%"},{default:a(()=>[e(ze,{editid:x.value,onClose:R},null,8,["editid"])]),_:1},8,["modelValue"])])],64)}}};export{pa as default}; diff --git a/nginx/html/admin/assets/Index-0973fa6e.js b/nginx/html/admin/assets/Index-0973fa6e.js new file mode 100644 index 0000000..cdef951 --- /dev/null +++ b/nginx/html/admin/assets/Index-0973fa6e.js @@ -0,0 +1 @@ +import{p as G,E as O,G as j,H as oe,F as ae,b as ie}from"./el-button-ca4abaee.js";import{E as ne}from"./el-drawer-d9790fe0.js";import{E as se}from"./el-message-box-e43658fb.js";import{E as q,a as H}from"./el-form-item-85aab49a.js";import{E as Q}from"./el-progress-2aaabad5.js";import{a as de,b as re,E as ue}from"./el-breadcrumb-item-422ecc35.js";import{E as me,a as ce}from"./el-table-column-7db11110.js";import"./el-tag-6a2dc6cc.js";import"./el-tooltip-4ed993c7.js";import"./el-scrollbar-56d71f90.js";import{E as pe,a as _e,b as fe}from"./el-dropdown-item-56611d31.js";import"./el-icon-08628b36.js";import{E as W}from"./el-input-df8c5b16.js";import{E as ve}from"./el-image-viewer-3854b5c5.js";import{E as ye}from"./el-dialog-1ee3a857.js";import{a as k,u as ge}from"./request-60ae96d2.js";import{E as h}from"./el-message-5778b677.js";import{_ as J}from"./_plugin-vue_export-helper-c27b6911.js";import{q as m,z as K,v as X,o as A,f as R,M as u,Q as e,w as t,a as V,N as f,O as Y,F as z,a3 as we,W as be,c as Ee,a7 as Ve,a8 as he}from"./index-fb87886b.js";import"./use-dialog-3e44040d.js";import"./index-de3a95d3.js";import"./aria-60e0cdc6.js";import"./castArray-59d69fd8.js";import"./_baseClone-732ede82.js";import"./cloneDeep-3d78d7c6.js";const ke=async s=>k("/activity/getActivityList","POST",s),xe=async s=>k("/activity/getActivity","GET",{id:s}),Ie=async s=>k("/activity/deleteActivity","GET",{id:s}),Ce=async s=>k("/activity/updateActivity","POST",s),Fe=async s=>k("/activity/addActivity","POST",s);const De={class:"demo-drawer__footer",style:{"text-align":"right"}},Ae=["src"],Ue={__name:"Form",props:{editid:{type:Number,default:0}},emits:["close"],setup(s,{emit:b}){const w=s,x=b,v=m("insert"),_=m(!1),y=m(null),n=m({id:0,title1:"",title2:"",title3:"",imageList:[]});K(async()=>{if(w.editid){let i=await xe(w.editid);i.code===200&&(n.value=i.data,v.value="update",g.value=i.data.imageList.map(l=>({uid:l.uid,url:"https://prodio.zltest.com.tw"+l.url})))}});const U=X({}),L=()=>{x("close",!1)},T=i=>{i&&i.validate(async l=>{if(l){let a,p;v.value==="update"?(n.value.id=w.editid,a=await Ce(n.value),p="修改成功."):(a=await Fe(n.value),p="新增成功."),a.code===200&&(h({message:p,type:"success"}),x("close",!0))}else return h({message:"操作失敗.",type:"error"}),!1})},g=m([]),I=m(""),o=m(!1),c=async i=>{const l=new FormData;l.append("file",i.file),_.value=!0;let a=await ge("/activity/uploadImage",l);a.code===200?n.value.imageList.push({uid:i.file.uid,url:a.data}):h.error("上傳失敗"),_.value=!1},C=(i,l)=>{n.value.imageList=n.value.imageList.filter(a=>a.uid!==i.uid)},S=i=>{I.value=i.url,o.value=!0};return(i,l)=>{const a=W,p=q,$=O,F=Q,B=H,D=j,P=ye;return A(),R(z,null,[u("div",null,[e(B,{ref_key:"formRef",ref:y,model:n.value,"status-icon":"",rules:U,"label-width":"120px"},{default:t(()=>[e(p,{label:"標題(繁)",prop:"title"},{default:t(()=>[e(a,{modelValue:n.value.title1,"onUpdate:modelValue":l[0]||(l[0]=r=>n.value.title1=r)},null,8,["modelValue"])]),_:1}),e(p,{label:"標題(簡)",prop:"title"},{default:t(()=>[e(a,{modelValue:n.value.title2,"onUpdate:modelValue":l[1]||(l[1]=r=>n.value.title2=r)},null,8,["modelValue"])]),_:1}),e(p,{label:"標題(英)",prop:"title"},{default:t(()=>[e(a,{modelValue:n.value.title3,"onUpdate:modelValue":l[2]||(l[2]=r=>n.value.title3=r)},null,8,["modelValue"])]),_:1}),e(p,{label:"活動照片",prop:"content"},{default:t(()=>[e(F,{"file-list":g.value,"onUpdate:fileList":l[3]||(l[3]=r=>g.value=r),action:"#","http-request":c,"list-type":"picture-card","on-preview":S,"on-remove":C},{default:t(()=>[e($,null,{default:t(()=>[e(V(G))]),_:1})]),_:1},8,["file-list"])]),_:1})]),_:1},8,["model","rules"]),u("div",De,[e(D,{onClick:L},{default:t(()=>[f("取消")]),_:1}),e(D,{type:"primary",loading:_.value,onClick:l[4]||(l[4]=r=>T(y.value))},{default:t(()=>[f(Y(_.value?"提交中 ...":"確認"),1)]),_:1},8,["loading"])])]),e(P,{modelValue:o.value,"onUpdate:modelValue":l[5]||(l[5]=r=>o.value=r)},{default:t(()=>[u("img",{"w-full":"",src:I.value,alt:"Preview Image"},null,8,Ae)]),_:1},8,["modelValue"])],64)}}},Le=J(Ue,[["__scopeId","data-v-140448bb"]]);const Z=s=>(Ve("data-v-ae4747d8"),s=s(),he(),s),Te={class:"main"},Se={class:"breadcrumb-section"},$e=Z(()=>u("a",{href:"/"},"公司活動",-1)),Be={class:"imgGroup"},Pe=Z(()=>u("small",{class:"el-upload__tip"}," ※ 請上傳500kb以內jpg檔案。",-1)),Re={class:"demo-drawer__footer",style:{"text-align":"right"}},ze={__name:"Index",setup(s){const b=m(!1),w=X({page:1,pageSize:10});we(w);const x=m(0),v=m(!1),_=m(!1),y=m([]);K(()=>{n()});const n=async()=>{v.value=!0;let o=await ke(w);o.code===200&&(y.value=o.data.list,x.value=o.data.total),v.value=!1},U=()=>{g.value=0,_.value=!0},L=o=>{g.value=o,_.value=!0},T=o=>{se.confirm("確認刪除此紀錄?").then(async()=>{(await Ie(o)).code===200?(h({message:"刪除成功.",type:"success"}),n()):h({message:"刪除失敗.",type:"error"})}).catch(()=>{})},g=m(0),I=o=>{_.value=!1,o&&n()};return(o,c)=>{const C=de,S=re,i=j,l=ve,a=me,p=W,$=O,F=pe,B=_e,D=fe,P=ce,r=ue,N=q,ee=Q,te=H,M=ne;return A(),R(z,null,[u("div",Te,[u("div",Se,[u("div",null,[e(S,{separator:"/"},{default:t(()=>[e(C,null,{default:t(()=>[f(" 最新消息 ")]),_:1}),e(C,null,{default:t(()=>[$e]),_:1})]),_:1})]),u("div",null,[e(i,{type:"primary",icon:V(G),onClick:U},{default:t(()=>[f(" 新增活動 ")]),_:1},8,["icon"])])]),e(r,{"body-style":{padding:"0px"}},{default:t(()=>[e(P,{data:y.value,style:{width:"100%"}},{default:t(()=>[e(a,{type:"expand",label:"相簿",width:"80"},{default:t(d=>[u("div",Be,[(A(!0),R(z,null,be(d.row.imageList,(E,le)=>(A(),Ee(l,{key:le,style:{width:"100px",height:"60px"},src:"https://prodio.zltest.com.tw"+E.url,fit:o.cover},null,8,["src","fit"]))),128))])]),_:1}),e(a,{prop:"id",label:"#",width:"50"}),e(a,{prop:"title1",label:"標題(繁)"}),e(a,{prop:"title2",label:"標題(簡)"}),e(a,{prop:"title3",label:"標題(英)"}),e(a,{prop:"create_time",label:"建立時間"}),e(a,{prop:"sort",label:"排序",width:"80"},{default:t(d=>[e(p,{modelValue:y.value[d.$index].sort,"onUpdate:modelValue":E=>y.value[d.$index].sort=E,style:{width:"40px"}},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),e(a,{label:"其他項目",width:"105",fixed:"right"},{default:t(d=>[e(D,null,{dropdown:t(()=>[e(B,null,{default:t(()=>[e(F,{icon:V(oe),onClick:E=>L(d.row.id)},{default:t(()=>[f("修改")]),_:2},1032,["icon","onClick"]),e(F,{icon:V(ae),onClick:E=>T(d.row.id)},{default:t(()=>[f("刪除")]),_:2},1032,["icon","onClick"])]),_:2},1024)]),default:t(()=>[e(i,{type:"danger"},{default:t(()=>[f(" 操作"),e($,{class:"el-icon--right"},{default:t(()=>[e(V(ie))]),_:1})]),_:1})]),_:2},1024)]),_:1})]),_:1},8,["data"])]),_:1})]),u("div",null,[e(M,{ref:"drawerRef",modelValue:b.value,"onUpdate:modelValue":c[2]||(c[2]=d=>b.value=d),title:"新增動態",direction:"rtl",size:"550"},{default:t(()=>[e(r,null,{default:t(()=>[e(te,{model:o.initform,"label-width":"120px"},{default:t(()=>[e(N,{label:"標題"},{default:t(()=>[e(p,{modelValue:o.initform.title,"onUpdate:modelValue":c[0]||(c[0]=d=>o.initform.title=d)},null,8,["modelValue"])]),_:1}),e(N,{label:"相簿上傳"},{default:t(()=>[e(ee,{class:"upload-demo",action:"https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15","on-preview":o.handlePreview,"on-remove":o.handleRemove,"list-type":"picture"},{tip:t(()=>[Pe]),default:t(()=>[e(i,{type:"primary"},{default:t(()=>[f("上傳圖片")]),_:1})]),_:1},8,["on-preview","on-remove"])]),_:1})]),_:1},8,["model"])]),_:1}),u("div",Re,[e(i,{onClick:c[1]||(c[1]=d=>b.value=!1)},{default:t(()=>[f("取消")]),_:1}),e(i,{type:"primary",loading:v.value,onClick:o.onClick},{default:t(()=>[f(Y(v.value?"Submitting ...":"確認"),1)]),_:1},8,["loading","onClick"])])]),_:1},8,["modelValue"])]),u("div",null,[e(M,{ref:"drawerRef",modelValue:_.value,"onUpdate:modelValue":c[3]||(c[3]=d=>_.value=d),"destroy-on-close":!0,title:"新增管理員",direction:"rtl",size:"70%"},{default:t(()=>[e(Le,{editid:g.value,onClose:I},null,8,["editid"])]),_:1},8,["modelValue"])])],64)}}},mt=J(ze,[["__scopeId","data-v-ae4747d8"]]);export{mt as default}; diff --git a/nginx/html/admin/assets/Index-09e96453.css b/nginx/html/admin/assets/Index-09e96453.css new file mode 100644 index 0000000..a67676b --- /dev/null +++ b/nginx/html/admin/assets/Index-09e96453.css @@ -0,0 +1 @@ +.card-footer[data-v-edcc74e1]{background-color:#f5f7fa;border-top:1px solid #ebeef5;padding:10px;text-align:right}[data-v-edcc74e1] .ck-editor__editable_inline{height:calc(100vh - 315px)} diff --git a/nginx/html/admin/assets/Index-0e7820d2.js b/nginx/html/admin/assets/Index-0e7820d2.js new file mode 100644 index 0000000..6973e33 --- /dev/null +++ b/nginx/html/admin/assets/Index-0e7820d2.js @@ -0,0 +1 @@ +import{G as h}from"./el-button-6b66070a.js";import{a as x,b as C,E}from"./el-breadcrumb-item-0eb7853a.js";import{C as S}from"./ckeditor-c707ce29.js";import{g as k,u as I}from"./article-2a36286c.js";import{E as c}from"./el-message-76e8eab1.js";import{_ as B}from"./_plugin-vue_export-helper-c27b6911.js";import{q as d,z as w,L as V,o as N,f as R,M as t,Q as e,w as o,N as m,a as L,a7 as T,a8 as z}from"./index-3ef4d3eb.js";import"./request-63584e50.js";import"./aria-60e0cdc6.js";const _=a=>(T("data-v-cc062065"),a=a(),z(),a),A={class:"main"},F={class:"breadcrumb-section"},M=_(()=>t("a",{href:"/"},"經營理念",-1)),U=_(()=>t("div",null,null,-1)),q={style:{padding:"10px"}},G={class:"card-footer"},K={__name:"Index",setup(a){const p=S,s=d(""),u=d({simpleUpload:{uploadUrl:"https://prodio.zltest.com.tw/adminapi/article/uploadImage",headers:{"X-CSRF-TOKEN":"CSFR-Token"}},image:{resize:!0,toolbar:["imageTextAlternative","|","imageStyle:alignLeft","imageStyle:alignRight","|","imageStyle:alignBlockLeft","imageStyle:block","imageStyle:alignBlockRight"],styles:["full","alignLeft","alignRight"]}});w(async()=>{let l=await k(2);l.code===200&&(s.value=l.data.content)});const f=async()=>(await I({id:2,content:s.value})).code===200?c({message:"更新成功",type:"success"}):c({message:"更新失敗",type:"error"});return(l,n)=>{const r=x,g=C,v=V("ckeditor"),y=h,b=E;return N(),R("div",A,[t("div",F,[t("div",null,[e(g,{separator:"/"},{default:o(()=>[e(r,null,{default:o(()=>[m(" 經銷系統 ")]),_:1}),e(r,null,{default:o(()=>[M]),_:1})]),_:1})]),U]),e(b,{"body-style":{padding:"0px"}},{default:o(()=>[t("div",q,[e(v,{editor:L(p),modelValue:s.value,"onUpdate:modelValue":n[0]||(n[0]=i=>s.value=i),config:u.value},null,8,["editor","modelValue","config"])]),t("div",G,[e(y,{type:"primary",onClick:n[1]||(n[1]=i=>f())},{default:o(()=>[m("確認")]),_:1})])]),_:1})])}}},W=B(K,[["__scopeId","data-v-cc062065"]]);export{W as default}; diff --git a/nginx/html/admin/assets/Index-0ef8a3b3.css b/nginx/html/admin/assets/Index-0ef8a3b3.css new file mode 100644 index 0000000..fc692c7 --- /dev/null +++ b/nginx/html/admin/assets/Index-0ef8a3b3.css @@ -0,0 +1 @@ +.card-footer[data-v-a87ce681]{background-color:#f5f7fa;border-top:1px solid #ebeef5;padding:10px;text-align:right}[data-v-a87ce681] .ck-editor__editable_inline{height:calc(100vh - 315px)} diff --git a/nginx/html/admin/assets/Index-12b36bb0.js b/nginx/html/admin/assets/Index-12b36bb0.js new file mode 100644 index 0000000..24f9523 --- /dev/null +++ b/nginx/html/admin/assets/Index-12b36bb0.js @@ -0,0 +1 @@ +import{p as K,E as S,G as q,H as W,F as J,b as X}from"./el-button-6b66070a.js";import{E as Y}from"./el-drawer-70a11b9f.js";import{E as Z}from"./el-message-box-e23ec1aa.js";import{a as ee,b as ae,E as te}from"./el-breadcrumb-item-0eb7853a.js";import{E as le,a as oe}from"./el-table-column-d43fc778.js";import"./el-tag-c9faf503.js";import"./el-tooltip-4ed993c7.js";import"./el-scrollbar-68edc4d7.js";import{E as se,a as re,b as ne}from"./el-dropdown-item-9e1be9b9.js";import"./el-icon-08628b36.js";import{E as G}from"./el-input-e550db6e.js";import{q as n,z as H,v as de,o as d,f as V,M as c,Q as e,w as a,c as k,F as L,W as ie,a as x,V as O,N as f,O as P,a4 as ue,D as ce,a5 as me}from"./index-3ef4d3eb.js";import{E as pe}from"./el-dialog-3f9d9ba4.js";import{E as _e,a as fe}from"./el-form-item-0317a247.js";import{E as ve}from"./el-progress-dc506117.js";import{E as ge,a as ye}from"./el-select-05f87a48.js";import{a as we,b as be,u as Q,c as Ee,g as he,d as Ce}from"./category-05efb681.js";import{u as ke}from"./request-63584e50.js";import{f as Ve}from"./style-6c2773cc.js";import{E as v}from"./el-message-76e8eab1.js";import{_ as xe}from"./_plugin-vue_export-helper-c27b6911.js";import"./use-dialog-bab1b29c.js";import"./index-a4d0b5b6.js";import"./aria-60e0cdc6.js";import"./castArray-3bec7949.js";import"./_baseClone-bf299fb6.js";import"./cloneDeep-8bc5fe7b.js";import"./index-fb3b55d2.js";import"./strings-ce4815fd.js";const De=["src"],Fe={class:"demo-drawer__footer",style:{"text-align":"right"}},Ie={key:0,class:"cropper-section"},Ue={class:"crop-area"},$e={class:"crop-btn"},Be={__name:"Form",props:{editid:{type:Number,default:0}},emits:["close"],setup(A,{emit:D}){const p=A,w=D,g=n("insert"),b=n(!1),F=n(null),o=n({id:0,parent_id:0}),E=n([]);H(async()=>{if(p.editid){let l=await we(p.editid);l.code===200&&(o.value=l.data,g.value="update")}let s=await be();s.code===200&&(E.value=s.data.map(l=>({label:l.name,value:l.id})))});const $=de({username:[{required:!0,message:"管理員帳號必填",trigger:"blur"}]}),i=n({show:!1,img:null,ratio:2.6}),I=n(null),B=s=>s.type!=="image/jpeg"&&s.type!=="image/png"&&s.type!=="image/jpg"?(v.error("圖片格式只能是jpeg/png/jpg!"),!1):(i.value.show=!0,i.value.img=URL.createObjectURL(s),!1),r=()=>{const{canvas:s}=I.value.getResult();if(s){const l=new FormData;s.toBlob(async m=>{let u=new File([m],"image.jpg");l.append("fileType","IMAGE"),l.append("file",u),i.value.show=!1,b.value=!0;let y=await ke("/cate/uploadImage",l);y.code===200?(o.value.imageurl=y.data,v.success("上傳成功")):v.error("上傳失敗"),b.value=!1},"image/jpeg")}},_=()=>{i.value.show=!1},U=()=>{w("close",!1)},R=s=>{s&&s.validate(async l=>{if(l){let m,u;g.value==="update"?(o.value.id=p.editid,m=await Q(o.value),u="修改成功."):(m=await Ee(o.value),u="新增成功."),m.code===200&&(v({message:u,type:"success"}),w("close",!0))}else return v({message:"操作失敗.",type:"error"}),!1})};return(s,l)=>{const m=G,u=_e,y=ge,j=ye,T=S,M=ve,N=fe,h=q,z=pe;return d(),V(L,null,[c("div",null,[e(N,{ref_key:"formRef",ref:F,model:o.value,"status-icon":"",rules:$,"label-width":"120px"},{default:a(()=>[e(u,{label:"分類名稱",prop:"name"},{default:a(()=>[o.value.parent_id===0?(d(),k(m,{key:0,modelValue:o.value.name,"onUpdate:modelValue":l[0]||(l[0]=t=>o.value.name=t),type:"text"},null,8,["modelValue"])):(d(),k(m,{key:1,modelValue:o.value.name,"onUpdate:modelValue":l[1]||(l[1]=t=>o.value.name=t),rows:4,type:"textarea"},null,8,["modelValue"]))]),_:1}),e(u,{label:"上級分類"},{default:a(()=>[e(j,{modelValue:o.value.parent_id,"onUpdate:modelValue":l[2]||(l[2]=t=>o.value.parent_id=t),class:"m-2",placeholder:"Select"},{default:a(()=>[e(y,{label:"最上層",value:0}),(d(!0),V(L,null,ie(E.value,t=>(d(),k(y,{key:t.value,label:t.label,value:t.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),o.value.parent_id===0?(d(),k(u,{key:0,label:"類別圖片",prop:"imageurl"},{default:a(()=>[e(M,{class:"avatar-uploader",action:"#",accept:"image/*","show-file-list":!1,"auto-upload":!0,"before-upload":t=>B(t)},{default:a(()=>[o.value.imageurl?(d(),V("img",{key:0,src:o.value.imageurl,class:"avatar",id:"imageurl"},null,8,De)):(d(),k(T,{key:1,class:"avatar-uploader-icon"},{default:a(()=>[e(x(K))]),_:1}))]),_:1},8,["before-upload"])]),_:1})):O("",!0)]),_:1},8,["model","rules"]),c("div",Fe,[e(h,{onClick:U},{default:a(()=>[f("取消")]),_:1}),e(h,{type:"primary",loading:b.value,onClick:l[3]||(l[3]=t=>R(F.value))},{default:a(()=>[f(P(b.value?"提交中 ...":"確認"),1)]),_:1},8,["loading"])])]),c("div",null,[e(z,{modelValue:i.value.show,"onUpdate:modelValue":l[4]||(l[4]=t=>i.value.show=t),title:"Tips","before-close":_},{default:a(()=>[i.value.show?(d(),V("div",Ie,[c("div",Ue,[e(x(Ve),{class:"cropper",ref_key:"myCrop",ref:I,src:i.value.img,"stencil-props":{aspectRatio:i.value.ratio},"auto-zoom":!0},null,8,["src","stencil-props"])]),c("div",$e,[e(h,{type:"primary",size:"small",text:"",onClick:_},{default:a(()=>[f("取消")]),_:1}),e(h,{type:"primary",size:"small",onClick:r},{default:a(()=>[f("剪裁")]),_:1})])])):O("",!0)]),_:1},8,["modelValue"])])],64)}}},Re=xe(Be,[["__scopeId","data-v-09906d5f"]]),je={class:"main"},Te={class:"breadcrumb-section"},Me=c("a",{href:"/"},"產品類別",-1),Ne=["onDblclick"],pa={__name:"Index",setup(A){const D=n([]);n("");const p=n(!1);n(!1),H(()=>{w()});const w=async()=>{let r=await he();r.code===200&&(D.value=r.data)},g=n(0),b=r=>{g.value=r},F=async r=>{(await Q(r)).code===200?(v({message:"修改成功.",type:"success"}),w()):v({message:"修改失敗.",type:"error"}),g.value=0},o=()=>{g.value=0},E=n(0),$=()=>{E.value=0,p.value=!0},i=r=>{E.value=r,p.value=!0},I=r=>{Z.confirm("確認刪除此紀錄?").then(async()=>{(await Ce(r)).code===200?(v({message:"刪除成功.",type:"success"}),w()):v({message:"刪除失敗.",type:"error"})}).catch(()=>{})},B=r=>{p.value=!1,r&&w()};return(r,_)=>{const U=ee,R=ae,s=q,l=le,m=G,u=S,y=se,j=re,T=ne,M=oe,N=te,h=Y,z=ue("focus");return d(),V(L,null,[c("div",je,[c("div",Te,[c("div",null,[e(R,{separator:"/"},{default:a(()=>[e(U,null,{default:a(()=>[f(" 經銷系統 ")]),_:1}),e(U,null,{default:a(()=>[Me]),_:1})]),_:1})]),c("div",null,[e(s,{type:"primary",icon:x(K),onClick:$},{default:a(()=>[f("新增產品類別")]),_:1},8,["icon"])])]),e(N,{"body-style":{padding:"0px"}},{default:a(()=>[e(M,{data:D.value,style:{width:"100%"},"row-key":"id","default-expand-all":""},{default:a(()=>[e(l,{prop:"name",label:"類別名稱"}),e(l,{label:"排序",width:"80"},{default:a(t=>[t.row.id!==g.value?(d(),V("div",{key:0,onDblclick:C=>b(t.row.id)},P(t.row.sort_order),41,Ne)):ce((d(),k(m,{key:1,modelValue:t.row.sort_order,"onUpdate:modelValue":C=>t.row.sort_order=C,style:{width:"50px"},onKeyup:me(C=>F(t.row),["enter"]),onBlur:_[0]||(_[0]=C=>o()),autoFocus:!0},null,8,["modelValue","onUpdate:modelValue","onKeyup"])),[[z,t.row.id===g.value]])]),_:1}),e(l,{label:"其他項目",width:"105",fixed:"right"},{default:a(t=>[e(T,null,{dropdown:a(()=>[e(j,null,{default:a(()=>[e(y,{icon:x(W),onClick:C=>i(t.row.id)},{default:a(()=>[f("修改分類")]),_:2},1032,["icon","onClick"]),e(y,{icon:x(J),onClick:C=>I(t.row.id)},{default:a(()=>[f("刪除分類")]),_:2},1032,["icon","onClick"])]),_:2},1024)]),default:a(()=>[e(s,{type:"danger"},{default:a(()=>[f(" 操作"),e(u,{class:"el-icon--right"},{default:a(()=>[e(x(X))]),_:1})]),_:1})]),_:2},1024)]),_:1})]),_:1},8,["data"])]),_:1})]),c("div",null,[e(h,{ref:"drawerRef",modelValue:p.value,"onUpdate:modelValue":_[1]||(_[1]=t=>p.value=t),"destroy-on-close":!0,title:"新增產品類別",direction:"rtl",size:"50%"},{default:a(()=>[e(Re,{editid:E.value,onClose:B},null,8,["editid"])]),_:1},8,["modelValue"])])],64)}}};export{pa as default}; diff --git a/nginx/html/admin/assets/Index-141c7c1e.js b/nginx/html/admin/assets/Index-141c7c1e.js new file mode 100644 index 0000000..9023661 --- /dev/null +++ b/nginx/html/admin/assets/Index-141c7c1e.js @@ -0,0 +1 @@ +import{a1 as O,_ as J,S as ie,a2 as re,F as ce,b as de,E as pe,G as ue}from"./el-button-dd91f3f6.js";import{E as me}from"./el-dialog-5eb47c40.js";import{E as _e}from"./el-message-box-9069766c.js";import{E as X,a as fe,b as ge}from"./el-breadcrumb-item-fc2f12a8.js";import{E as be}from"./el-pagination-755b55b7.js";import"./el-input-6cdd1bad.js";import"./el-tag-cf212e80.js";import"./el-select-60ee1037.js";import"./el-scrollbar-4b72b7cb.js";import{E as he,a as ve}from"./el-table-column-2087a7ad.js";import"./el-tooltip-4ed993c7.js";import{g as ye,f as we,E as Ee,a as Se,b as Ce}from"./el-dropdown-item-1df26bce.js";import"./el-icon-08628b36.js";import{a as Y}from"./request-a37452c7.js";import{d as x,p as Z,u as ee,D as W,B,k as L,G as De,a as n,o as _,f as E,M as o,F as N,W as A,c as R,Q as t,an as ke,b as Ne,y as $e,e as ze,n as z,r as q,N as h,O as $,V as xe,h as Ie,j as Pe,w as l,v as Be,a3 as Ve,q as V,z as Te,a6 as Q}from"./index-a18521e5.js";import{i as Re}from"./index-d4f2f151.js";import{E as H}from"./el-message-a9712316.js";import"./use-dialog-40ef8000.js";import"./aria-60e0cdc6.js";import"./index-43b7d441.js";import"./strings-95c61f65.js";import"./castArray-3c50f72c.js";const K=Symbol("elDescriptions");var T=x({name:"ElDescriptionsCell",props:{cell:{type:Object},tag:{type:String,default:"td"},type:{type:String}},setup(){return{descriptions:Z(K,{})}},render(){var p,i,s,u,r,m,S;const f=ye(this.cell),e=(((p=this.cell)==null?void 0:p.dirs)||[]).map(M=>{const{dir:F,arg:j,modifiers:G,value:U}=M;return[F,U,j,G]}),{border:v,direction:g}=this.descriptions,c=g==="vertical",C=((u=(s=(i=this.cell)==null?void 0:i.children)==null?void 0:s.label)==null?void 0:u.call(s))||f.label,y=(S=(m=(r=this.cell)==null?void 0:r.children)==null?void 0:m.default)==null?void 0:S.call(m),b=f.span,D=f.align?`is-${f.align}`:"",a=f.labelAlign?`is-${f.labelAlign}`:D,w=f.className,I=f.labelClassName,P={width:O(f.width),minWidth:O(f.minWidth)},d=ee("descriptions");switch(this.type){case"label":return W(B(this.tag,{style:P,class:[d.e("cell"),d.e("label"),d.is("bordered-label",v),d.is("vertical-label",c),a,I],colSpan:c?b:1},C),e);case"content":return W(B(this.tag,{style:P,class:[d.e("cell"),d.e("content"),d.is("bordered-content",v),d.is("vertical-content",c),D,w],colSpan:c?b:b*2-1},y),e);default:return W(B("td",{style:P,class:[d.e("cell"),D],colSpan:b},[Re(C)?void 0:B("span",{class:[d.e("label"),I]},C),B("span",{class:[d.e("content"),w]},y)]),e)}}});const je=L({row:{type:De(Array),default:()=>[]}}),Ae={key:1},Me=x({name:"ElDescriptionsRow"}),Fe=x({...Me,props:je,setup(p){const i=Z(K,{});return(s,u)=>n(i).direction==="vertical"?(_(),E(N,{key:0},[o("tr",null,[(_(!0),E(N,null,A(s.row,(r,m)=>(_(),R(n(T),{key:`tr1-${m}`,cell:r,tag:"th",type:"label"},null,8,["cell"]))),128))]),o("tr",null,[(_(!0),E(N,null,A(s.row,(r,m)=>(_(),R(n(T),{key:`tr2-${m}`,cell:r,tag:"td",type:"content"},null,8,["cell"]))),128))])],64)):(_(),E("tr",Ae,[(_(!0),E(N,null,A(s.row,(r,m)=>(_(),E(N,{key:`tr3-${m}`},[n(i).border?(_(),E(N,{key:0},[t(n(T),{cell:r,tag:"td",type:"label"},null,8,["cell"]),t(n(T),{cell:r,tag:"td",type:"content"},null,8,["cell"])],64)):(_(),R(n(T),{key:1,cell:r,tag:"td",type:"both"},null,8,["cell"]))],64))),128))]))}});var Ge=J(Fe,[["__file","descriptions-row.vue"]]);const Ue=L({border:{type:Boolean,default:!1},column:{type:Number,default:3},direction:{type:String,values:["horizontal","vertical"],default:"horizontal"},size:ke,title:{type:String,default:""},extra:{type:String,default:""}}),We=x({name:"ElDescriptions"}),Le=x({...We,props:Ue,setup(p){const i=p,s=ee("descriptions"),u=ie(),r=Ne();$e(K,i);const m=ze(()=>[s.b(),s.m(u.value)]),S=(e,v,g,c=!1)=>(e.props||(e.props={}),v>g&&(e.props.span=g),c&&(e.props.span=v),e),f=()=>{if(!r.default)return[];const e=we(r.default()).filter(y=>{var b;return((b=y==null?void 0:y.type)==null?void 0:b.name)==="ElDescriptionsItem"}),v=[];let g=[],c=i.column,C=0;return e.forEach((y,b)=>{var D;const a=((D=y.props)==null?void 0:D.span)||1;if(bc?c:a),b===e.length-1){const w=i.column-C%i.column;g.push(S(y,w,c,!0)),v.push(g);return}a(_(),E("div",{class:z(n(m))},[e.title||e.extra||e.$slots.title||e.$slots.extra?(_(),E("div",{key:0,class:z(n(s).e("header"))},[o("div",{class:z(n(s).e("title"))},[q(e.$slots,"title",{},()=>[h($(e.title),1)])],2),o("div",{class:z(n(s).e("extra"))},[q(e.$slots,"extra",{},()=>[h($(e.extra),1)])],2)],2)):xe("v-if",!0),o("div",{class:z(n(s).e("body"))},[o("table",{class:z([n(s).e("table"),n(s).is("bordered",e.border)])},[o("tbody",null,[(_(!0),E(N,null,A(f(),(g,c)=>(_(),R(Ge,{key:c,row:g},null,8,["row"]))),128))])],2)],2)],2))}});var Ke=J(Le,[["__file","description.vue"]]);const Oe=L({label:{type:String,default:""},span:{type:Number,default:1},width:{type:[String,Number],default:""},minWidth:{type:[String,Number],default:""},align:{type:String,default:"left"},labelAlign:{type:String,default:""},className:{type:String,default:""},labelClassName:{type:String,default:""}}),te=x({name:"ElDescriptionsItem",props:Oe}),qe=Ie(Ke,{DescriptionsItem:te}),Qe=Pe(te),He=async()=>Y("/contact/getContactList","GET"),Je=async p=>Y("/contact/deleteContact","GET",{id:p});const Xe=o("div",{class:"cell-item"},"客戶姓名",-1),Ye=o("div",{class:"cell-item"},"聯絡電話",-1),Ze=o("div",{class:"cell-item"},"聯絡地址",-1),et=o("div",{class:"cell-item"},"電子信箱",-1),tt=o("div",{class:"cell-item"},"留言內容",-1),lt=o("div",{class:"cell-item"},"留言時間",-1),at={__name:"content",props:["data"],setup(p){return(i,s)=>{const u=Qe,r=qe,m=X;return _(),R(m,{"body-style":{padding:"0px"}},{default:l(()=>[t(r,{column:1,border:""},{default:l(()=>[t(u,{"min-width":"90px","label-align":"right"},{label:l(()=>[Xe]),default:l(()=>[h(" "+$(p.data.name),1)]),_:1}),t(u,{"min-width":"90px","label-align":"right"},{label:l(()=>[Ye]),default:l(()=>[h(" "+$(p.data.tel),1)]),_:1}),t(u,{"min-width":"90px","label-align":"right"},{label:l(()=>[Ze]),default:l(()=>[h(" "+$(p.data.address),1)]),_:1}),t(u,{"min-width":"90px","label-align":"right"},{label:l(()=>[et]),default:l(()=>[h(" "+$(p.data.email),1)]),_:1}),t(u,{"min-width":"90px","label-align":"right"},{label:l(()=>[tt]),default:l(()=>[h(" "+$(p.data.content),1)]),_:1}),t(u,{"min-width":"90px","label-align":"right"},{label:l(()=>[lt]),default:l(()=>[h(" "+$(p.data.create_time),1)]),_:1})]),_:1})]),_:1})}}},st={class:"main"},nt={class:"breadcrumb-section"},ot=o("div",null,null,-1),it={class:"pagination-block"},xt={__name:"Index",setup(p){const i=Be({page:1,pageSize:10}),{page:s,pageSize:u}=Ve(i),r=V(0),m=V(!1),S=V(!1),f=V([]);Te(()=>{e()});const e=async()=>{m.value=!0;let a=await He();a.code===200&&(f.value=a.data.list,r.value=a.data.total),m.value=!1},v=a=>{_e.confirm("確認刪除此紀錄?").then(async()=>{(await Je(a)).code===200?(H({message:"刪除成功.",type:"success"}),e()):H({message:"刪除失敗.",type:"error"})}).catch(()=>{})},g=a=>{i.pageSize=a,e()},c=a=>{i.page=a,e()},C=a=>{i.page=a,e()},y=a=>{i.page=a,e()},b=V({}),D=a=>{b.value=a,S.value=!0};return(a,w)=>{const I=fe,P=ge,d=he,M=pe,F=ue,j=Ee,G=Se,U=Ce,le=ve,ae=be,se=X,ne=me;return _(),E(N,null,[o("div",st,[o("div",nt,[o("div",null,[t(P,{separator:"/"},{default:l(()=>[t(I,null,{default:l(()=>[h(" 聯絡我們 ")]),_:1}),t(I,null,{default:l(()=>[h(" 表單信件 ")]),_:1})]),_:1})]),ot]),t(se,{"body-style":{padding:"0px"}},{default:l(()=>[t(le,{data:f.value},{default:l(()=>[t(d,{fixed:"",prop:"id",label:"#",width:"50"}),t(d,{prop:"name",label:"聯絡人",width:"180"}),t(d,{prop:"email",label:"E-mail"}),t(d,{prop:"tel",label:"聯絡電話"}),t(d,{prop:"create_time",label:"留言時間"}),t(d,{label:"操作",width:"105",fixed:"right"},{default:l(k=>[t(U,null,{dropdown:l(()=>[t(G,null,{default:l(()=>[t(j,{icon:n(re),onClick:oe=>D(k.row)},{default:l(()=>[h("內容")]),_:2},1032,["icon","onClick"]),t(j,{icon:n(ce),onClick:oe=>v(k.row.id)},{default:l(()=>[h("刪除")]),_:2},1032,["icon","onClick"])]),_:2},1024)]),default:l(()=>[t(F,{type:"danger"},{default:l(()=>[h(" 操作"),t(M,{class:"el-icon--right"},{default:l(()=>[t(n(de))]),_:1})]),_:1})]),_:2},1024)]),_:1})]),_:1},8,["data"]),o("div",it,[t(ae,{"current-page":n(s),"onUpdate:currentPage":w[0]||(w[0]=k=>Q(s)?s.value=k:null),"page-size":n(u),"onUpdate:pageSize":w[1]||(w[1]=k=>Q(u)?u.value=k:null),"page-sizes":[10,20,50,100],layout:"->,total, sizes, prev, pager, next, jumper",total:r.value,onSizeChange:g,onCurrentChange:c,onPrevClick:C,onNextClick:y},null,8,["current-page","page-size","total"])])]),_:1})]),o("div",null,[t(ne,{modelValue:S.value,"onUpdate:modelValue":w[2]||(w[2]=k=>S.value=k),title:"留言內容","destroy-on-close":!0},{default:l(()=>[t(at,{data:b.value},null,8,["data"])]),_:1},8,["modelValue"])])],64)}}};export{xt as default}; diff --git a/nginx/html/admin/assets/Index-19f760b0.css b/nginx/html/admin/assets/Index-19f760b0.css new file mode 100644 index 0000000..3f3f21d --- /dev/null +++ b/nginx/html/admin/assets/Index-19f760b0.css @@ -0,0 +1 @@ +.card-footer[data-v-61a86e6f]{background-color:#f5f7fa;border-top:1px solid #ebeef5;padding:10px;text-align:right}[data-v-61a86e6f] .ck-editor__editable_inline{height:calc(100vh - 315px)} diff --git a/nginx/html/admin/assets/Index-1b25358b.js b/nginx/html/admin/assets/Index-1b25358b.js new file mode 100644 index 0000000..0a72c90 --- /dev/null +++ b/nginx/html/admin/assets/Index-1b25358b.js @@ -0,0 +1 @@ +import{a1 as O,_ as J,S as ie,a2 as re,F as ce,b as de,E as pe,G as ue}from"./el-button-b67915d8.js";import{E as me}from"./el-dialog-775a0d0d.js";import{E as _e}from"./el-message-box-31f94f7f.js";import{E as X,a as fe,b as ge}from"./el-breadcrumb-item-762e8056.js";import{E as be}from"./el-pagination-4e424f1b.js";import"./el-input-5189b047.js";import"./el-tag-d3d38fd0.js";import"./el-select-1d620125.js";import"./el-scrollbar-5edfcb3f.js";import{E as he,a as ve}from"./el-table-column-381af1e5.js";import"./el-tooltip-4ed993c7.js";import{g as ye,f as we,E as Ee,a as Se,b as Ce}from"./el-dropdown-item-b9c7b677.js";import"./el-icon-08628b36.js";import{a as Y}from"./request-88e5850c.js";import{d as x,p as Z,u as ee,D as W,B,k as L,G as De,a as n,o as _,f as E,M as o,F as N,W as A,c as R,Q as t,an as ke,b as Ne,y as $e,e as ze,n as z,r as q,N as h,O as $,V as xe,h as Ie,j as Pe,w as l,v as Be,a3 as Ve,q as V,z as Te,a6 as Q}from"./index-b2bcea28.js";import{i as Re}from"./index-07bb2cc4.js";import{E as H}from"./el-message-447d52b9.js";import"./use-dialog-15edcc44.js";import"./aria-60e0cdc6.js";import"./index-8ca69aa2.js";import"./strings-31e22773.js";import"./castArray-8eb82dce.js";const K=Symbol("elDescriptions");var T=x({name:"ElDescriptionsCell",props:{cell:{type:Object},tag:{type:String,default:"td"},type:{type:String}},setup(){return{descriptions:Z(K,{})}},render(){var p,i,s,u,r,m,S;const f=ye(this.cell),e=(((p=this.cell)==null?void 0:p.dirs)||[]).map(M=>{const{dir:F,arg:j,modifiers:G,value:U}=M;return[F,U,j,G]}),{border:v,direction:g}=this.descriptions,c=g==="vertical",C=((u=(s=(i=this.cell)==null?void 0:i.children)==null?void 0:s.label)==null?void 0:u.call(s))||f.label,y=(S=(m=(r=this.cell)==null?void 0:r.children)==null?void 0:m.default)==null?void 0:S.call(m),b=f.span,D=f.align?`is-${f.align}`:"",a=f.labelAlign?`is-${f.labelAlign}`:D,w=f.className,I=f.labelClassName,P={width:O(f.width),minWidth:O(f.minWidth)},d=ee("descriptions");switch(this.type){case"label":return W(B(this.tag,{style:P,class:[d.e("cell"),d.e("label"),d.is("bordered-label",v),d.is("vertical-label",c),a,I],colSpan:c?b:1},C),e);case"content":return W(B(this.tag,{style:P,class:[d.e("cell"),d.e("content"),d.is("bordered-content",v),d.is("vertical-content",c),D,w],colSpan:c?b:b*2-1},y),e);default:return W(B("td",{style:P,class:[d.e("cell"),D],colSpan:b},[Re(C)?void 0:B("span",{class:[d.e("label"),I]},C),B("span",{class:[d.e("content"),w]},y)]),e)}}});const je=L({row:{type:De(Array),default:()=>[]}}),Ae={key:1},Me=x({name:"ElDescriptionsRow"}),Fe=x({...Me,props:je,setup(p){const i=Z(K,{});return(s,u)=>n(i).direction==="vertical"?(_(),E(N,{key:0},[o("tr",null,[(_(!0),E(N,null,A(s.row,(r,m)=>(_(),R(n(T),{key:`tr1-${m}`,cell:r,tag:"th",type:"label"},null,8,["cell"]))),128))]),o("tr",null,[(_(!0),E(N,null,A(s.row,(r,m)=>(_(),R(n(T),{key:`tr2-${m}`,cell:r,tag:"td",type:"content"},null,8,["cell"]))),128))])],64)):(_(),E("tr",Ae,[(_(!0),E(N,null,A(s.row,(r,m)=>(_(),E(N,{key:`tr3-${m}`},[n(i).border?(_(),E(N,{key:0},[t(n(T),{cell:r,tag:"td",type:"label"},null,8,["cell"]),t(n(T),{cell:r,tag:"td",type:"content"},null,8,["cell"])],64)):(_(),R(n(T),{key:1,cell:r,tag:"td",type:"both"},null,8,["cell"]))],64))),128))]))}});var Ge=J(Fe,[["__file","descriptions-row.vue"]]);const Ue=L({border:{type:Boolean,default:!1},column:{type:Number,default:3},direction:{type:String,values:["horizontal","vertical"],default:"horizontal"},size:ke,title:{type:String,default:""},extra:{type:String,default:""}}),We=x({name:"ElDescriptions"}),Le=x({...We,props:Ue,setup(p){const i=p,s=ee("descriptions"),u=ie(),r=Ne();$e(K,i);const m=ze(()=>[s.b(),s.m(u.value)]),S=(e,v,g,c=!1)=>(e.props||(e.props={}),v>g&&(e.props.span=g),c&&(e.props.span=v),e),f=()=>{if(!r.default)return[];const e=we(r.default()).filter(y=>{var b;return((b=y==null?void 0:y.type)==null?void 0:b.name)==="ElDescriptionsItem"}),v=[];let g=[],c=i.column,C=0;return e.forEach((y,b)=>{var D;const a=((D=y.props)==null?void 0:D.span)||1;if(bc?c:a),b===e.length-1){const w=i.column-C%i.column;g.push(S(y,w,c,!0)),v.push(g);return}a(_(),E("div",{class:z(n(m))},[e.title||e.extra||e.$slots.title||e.$slots.extra?(_(),E("div",{key:0,class:z(n(s).e("header"))},[o("div",{class:z(n(s).e("title"))},[q(e.$slots,"title",{},()=>[h($(e.title),1)])],2),o("div",{class:z(n(s).e("extra"))},[q(e.$slots,"extra",{},()=>[h($(e.extra),1)])],2)],2)):xe("v-if",!0),o("div",{class:z(n(s).e("body"))},[o("table",{class:z([n(s).e("table"),n(s).is("bordered",e.border)])},[o("tbody",null,[(_(!0),E(N,null,A(f(),(g,c)=>(_(),R(Ge,{key:c,row:g},null,8,["row"]))),128))])],2)],2)],2))}});var Ke=J(Le,[["__file","description.vue"]]);const Oe=L({label:{type:String,default:""},span:{type:Number,default:1},width:{type:[String,Number],default:""},minWidth:{type:[String,Number],default:""},align:{type:String,default:"left"},labelAlign:{type:String,default:""},className:{type:String,default:""},labelClassName:{type:String,default:""}}),te=x({name:"ElDescriptionsItem",props:Oe}),qe=Ie(Ke,{DescriptionsItem:te}),Qe=Pe(te),He=async()=>Y("/contact/getContactList","GET"),Je=async p=>Y("/contact/deleteContact","GET",{id:p});const Xe=o("div",{class:"cell-item"},"客戶姓名",-1),Ye=o("div",{class:"cell-item"},"聯絡電話",-1),Ze=o("div",{class:"cell-item"},"聯絡地址",-1),et=o("div",{class:"cell-item"},"電子信箱",-1),tt=o("div",{class:"cell-item"},"留言內容",-1),lt=o("div",{class:"cell-item"},"留言時間",-1),at={__name:"content",props:["data"],setup(p){return(i,s)=>{const u=Qe,r=qe,m=X;return _(),R(m,{"body-style":{padding:"0px"}},{default:l(()=>[t(r,{column:1,border:""},{default:l(()=>[t(u,{"min-width":"90px","label-align":"right"},{label:l(()=>[Xe]),default:l(()=>[h(" "+$(p.data.name),1)]),_:1}),t(u,{"min-width":"90px","label-align":"right"},{label:l(()=>[Ye]),default:l(()=>[h(" "+$(p.data.tel),1)]),_:1}),t(u,{"min-width":"90px","label-align":"right"},{label:l(()=>[Ze]),default:l(()=>[h(" "+$(p.data.address),1)]),_:1}),t(u,{"min-width":"90px","label-align":"right"},{label:l(()=>[et]),default:l(()=>[h(" "+$(p.data.email),1)]),_:1}),t(u,{"min-width":"90px","label-align":"right"},{label:l(()=>[tt]),default:l(()=>[h(" "+$(p.data.content),1)]),_:1}),t(u,{"min-width":"90px","label-align":"right"},{label:l(()=>[lt]),default:l(()=>[h(" "+$(p.data.create_time),1)]),_:1})]),_:1})]),_:1})}}},st={class:"main"},nt={class:"breadcrumb-section"},ot=o("div",null,null,-1),it={class:"pagination-block"},xt={__name:"Index",setup(p){const i=Be({page:1,pageSize:10}),{page:s,pageSize:u}=Ve(i),r=V(0),m=V(!1),S=V(!1),f=V([]);Te(()=>{e()});const e=async()=>{m.value=!0;let a=await He();a.code===200&&(f.value=a.data.list,r.value=a.data.total),m.value=!1},v=a=>{_e.confirm("確認刪除此紀錄?").then(async()=>{(await Je(a)).code===200?(H({message:"刪除成功.",type:"success"}),e()):H({message:"刪除失敗.",type:"error"})}).catch(()=>{})},g=a=>{i.pageSize=a,e()},c=a=>{i.page=a,e()},C=a=>{i.page=a,e()},y=a=>{i.page=a,e()},b=V({}),D=a=>{b.value=a,S.value=!0};return(a,w)=>{const I=fe,P=ge,d=he,M=pe,F=ue,j=Ee,G=Se,U=Ce,le=ve,ae=be,se=X,ne=me;return _(),E(N,null,[o("div",st,[o("div",nt,[o("div",null,[t(P,{separator:"/"},{default:l(()=>[t(I,null,{default:l(()=>[h(" 聯絡我們 ")]),_:1}),t(I,null,{default:l(()=>[h(" 表單信件 ")]),_:1})]),_:1})]),ot]),t(se,{"body-style":{padding:"0px"}},{default:l(()=>[t(le,{data:f.value},{default:l(()=>[t(d,{fixed:"",prop:"id",label:"#",width:"50"}),t(d,{prop:"name",label:"聯絡人",width:"180"}),t(d,{prop:"email",label:"E-mail"}),t(d,{prop:"tel",label:"聯絡電話"}),t(d,{prop:"create_time",label:"留言時間"}),t(d,{label:"操作",width:"105",fixed:"right"},{default:l(k=>[t(U,null,{dropdown:l(()=>[t(G,null,{default:l(()=>[t(j,{icon:n(re),onClick:oe=>D(k.row)},{default:l(()=>[h("內容")]),_:2},1032,["icon","onClick"]),t(j,{icon:n(ce),onClick:oe=>v(k.row.id)},{default:l(()=>[h("刪除")]),_:2},1032,["icon","onClick"])]),_:2},1024)]),default:l(()=>[t(F,{type:"danger"},{default:l(()=>[h(" 操作"),t(M,{class:"el-icon--right"},{default:l(()=>[t(n(de))]),_:1})]),_:1})]),_:2},1024)]),_:1})]),_:1},8,["data"]),o("div",it,[t(ae,{"current-page":n(s),"onUpdate:currentPage":w[0]||(w[0]=k=>Q(s)?s.value=k:null),"page-size":n(u),"onUpdate:pageSize":w[1]||(w[1]=k=>Q(u)?u.value=k:null),"page-sizes":[10,20,50,100],layout:"->,total, sizes, prev, pager, next, jumper",total:r.value,onSizeChange:g,onCurrentChange:c,onPrevClick:C,onNextClick:y},null,8,["current-page","page-size","total"])])]),_:1})]),o("div",null,[t(ne,{modelValue:S.value,"onUpdate:modelValue":w[2]||(w[2]=k=>S.value=k),title:"留言內容","destroy-on-close":!0},{default:l(()=>[t(at,{data:b.value},null,8,["data"])]),_:1},8,["modelValue"])])],64)}}};export{xt as default}; diff --git a/nginx/html/admin/assets/Index-1db7077c.js b/nginx/html/admin/assets/Index-1db7077c.js new file mode 100644 index 0000000..2fc0989 --- /dev/null +++ b/nginx/html/admin/assets/Index-1db7077c.js @@ -0,0 +1 @@ +import{a1 as O,_ as J,S as ie,a2 as re,F as ce,b as de,E as pe,G as ue}from"./el-button-e2db9d24.js";import{E as me}from"./el-dialog-e4a7f8ff.js";import{E as _e}from"./el-message-box-b36f6f03.js";import{E as X,a as fe,b as ge}from"./el-breadcrumb-item-4a5b4005.js";import{E as be}from"./el-pagination-36ba5b37.js";import"./el-input-5fc6aaec.js";import"./el-tag-290e5c91.js";import"./el-select-ffb55c7a.js";import"./el-scrollbar-5933f25d.js";import{E as he,a as ve}from"./el-table-column-448a0581.js";import"./el-tooltip-4ed993c7.js";import{g as ye,f as we,E as Ee,a as Se,b as Ce}from"./el-dropdown-item-bbb7be2f.js";import"./el-icon-08628b36.js";import{a as Y}from"./request-26ab9dc6.js";import{d as x,p as Z,u as ee,D as W,B,k as L,G as De,a as n,o as _,f as E,M as o,F as N,W as A,c as R,Q as t,al as ke,b as Ne,y as $e,e as ze,n as z,r as q,N as h,O as $,V as xe,h as Ie,j as Pe,w as l,v as Be,a3 as Ve,q as V,z as Te,a6 as Q}from"./index-7ed2d026.js";import{i as Re}from"./index-dc664f45.js";import{E as H}from"./el-message-3c79da29.js";import"./use-dialog-7562524e.js";import"./aria-60e0cdc6.js";import"./index-8f4d4c63.js";import"./strings-d2b52496.js";import"./castArray-283666ff.js";const K=Symbol("elDescriptions");var T=x({name:"ElDescriptionsCell",props:{cell:{type:Object},tag:{type:String,default:"td"},type:{type:String}},setup(){return{descriptions:Z(K,{})}},render(){var p,i,s,u,r,m,S;const f=ye(this.cell),e=(((p=this.cell)==null?void 0:p.dirs)||[]).map(M=>{const{dir:F,arg:j,modifiers:G,value:U}=M;return[F,U,j,G]}),{border:v,direction:g}=this.descriptions,c=g==="vertical",C=((u=(s=(i=this.cell)==null?void 0:i.children)==null?void 0:s.label)==null?void 0:u.call(s))||f.label,y=(S=(m=(r=this.cell)==null?void 0:r.children)==null?void 0:m.default)==null?void 0:S.call(m),b=f.span,D=f.align?`is-${f.align}`:"",a=f.labelAlign?`is-${f.labelAlign}`:D,w=f.className,I=f.labelClassName,P={width:O(f.width),minWidth:O(f.minWidth)},d=ee("descriptions");switch(this.type){case"label":return W(B(this.tag,{style:P,class:[d.e("cell"),d.e("label"),d.is("bordered-label",v),d.is("vertical-label",c),a,I],colSpan:c?b:1},C),e);case"content":return W(B(this.tag,{style:P,class:[d.e("cell"),d.e("content"),d.is("bordered-content",v),d.is("vertical-content",c),D,w],colSpan:c?b:b*2-1},y),e);default:return W(B("td",{style:P,class:[d.e("cell"),D],colSpan:b},[Re(C)?void 0:B("span",{class:[d.e("label"),I]},C),B("span",{class:[d.e("content"),w]},y)]),e)}}});const je=L({row:{type:De(Array),default:()=>[]}}),Ae={key:1},Me=x({name:"ElDescriptionsRow"}),Fe=x({...Me,props:je,setup(p){const i=Z(K,{});return(s,u)=>n(i).direction==="vertical"?(_(),E(N,{key:0},[o("tr",null,[(_(!0),E(N,null,A(s.row,(r,m)=>(_(),R(n(T),{key:`tr1-${m}`,cell:r,tag:"th",type:"label"},null,8,["cell"]))),128))]),o("tr",null,[(_(!0),E(N,null,A(s.row,(r,m)=>(_(),R(n(T),{key:`tr2-${m}`,cell:r,tag:"td",type:"content"},null,8,["cell"]))),128))])],64)):(_(),E("tr",Ae,[(_(!0),E(N,null,A(s.row,(r,m)=>(_(),E(N,{key:`tr3-${m}`},[n(i).border?(_(),E(N,{key:0},[t(n(T),{cell:r,tag:"td",type:"label"},null,8,["cell"]),t(n(T),{cell:r,tag:"td",type:"content"},null,8,["cell"])],64)):(_(),R(n(T),{key:1,cell:r,tag:"td",type:"both"},null,8,["cell"]))],64))),128))]))}});var Ge=J(Fe,[["__file","descriptions-row.vue"]]);const Ue=L({border:{type:Boolean,default:!1},column:{type:Number,default:3},direction:{type:String,values:["horizontal","vertical"],default:"horizontal"},size:ke,title:{type:String,default:""},extra:{type:String,default:""}}),We=x({name:"ElDescriptions"}),Le=x({...We,props:Ue,setup(p){const i=p,s=ee("descriptions"),u=ie(),r=Ne();$e(K,i);const m=ze(()=>[s.b(),s.m(u.value)]),S=(e,v,g,c=!1)=>(e.props||(e.props={}),v>g&&(e.props.span=g),c&&(e.props.span=v),e),f=()=>{if(!r.default)return[];const e=we(r.default()).filter(y=>{var b;return((b=y==null?void 0:y.type)==null?void 0:b.name)==="ElDescriptionsItem"}),v=[];let g=[],c=i.column,C=0;return e.forEach((y,b)=>{var D;const a=((D=y.props)==null?void 0:D.span)||1;if(bc?c:a),b===e.length-1){const w=i.column-C%i.column;g.push(S(y,w,c,!0)),v.push(g);return}a(_(),E("div",{class:z(n(m))},[e.title||e.extra||e.$slots.title||e.$slots.extra?(_(),E("div",{key:0,class:z(n(s).e("header"))},[o("div",{class:z(n(s).e("title"))},[q(e.$slots,"title",{},()=>[h($(e.title),1)])],2),o("div",{class:z(n(s).e("extra"))},[q(e.$slots,"extra",{},()=>[h($(e.extra),1)])],2)],2)):xe("v-if",!0),o("div",{class:z(n(s).e("body"))},[o("table",{class:z([n(s).e("table"),n(s).is("bordered",e.border)])},[o("tbody",null,[(_(!0),E(N,null,A(f(),(g,c)=>(_(),R(Ge,{key:c,row:g},null,8,["row"]))),128))])],2)],2)],2))}});var Ke=J(Le,[["__file","description.vue"]]);const Oe=L({label:{type:String,default:""},span:{type:Number,default:1},width:{type:[String,Number],default:""},minWidth:{type:[String,Number],default:""},align:{type:String,default:"left"},labelAlign:{type:String,default:""},className:{type:String,default:""},labelClassName:{type:String,default:""}}),te=x({name:"ElDescriptionsItem",props:Oe}),qe=Ie(Ke,{DescriptionsItem:te}),Qe=Pe(te),He=async()=>Y("/contact/getContactList","GET"),Je=async p=>Y("/contact/deleteContact","GET",{id:p});const Xe=o("div",{class:"cell-item"},"客戶姓名",-1),Ye=o("div",{class:"cell-item"},"聯絡電話",-1),Ze=o("div",{class:"cell-item"},"聯絡地址",-1),et=o("div",{class:"cell-item"},"電子信箱",-1),tt=o("div",{class:"cell-item"},"留言內容",-1),lt=o("div",{class:"cell-item"},"留言時間",-1),at={__name:"content",props:["data"],setup(p){return(i,s)=>{const u=Qe,r=qe,m=X;return _(),R(m,{"body-style":{padding:"0px"}},{default:l(()=>[t(r,{column:1,border:""},{default:l(()=>[t(u,{"min-width":"90px","label-align":"right"},{label:l(()=>[Xe]),default:l(()=>[h(" "+$(p.data.name),1)]),_:1}),t(u,{"min-width":"90px","label-align":"right"},{label:l(()=>[Ye]),default:l(()=>[h(" "+$(p.data.tel),1)]),_:1}),t(u,{"min-width":"90px","label-align":"right"},{label:l(()=>[Ze]),default:l(()=>[h(" "+$(p.data.address),1)]),_:1}),t(u,{"min-width":"90px","label-align":"right"},{label:l(()=>[et]),default:l(()=>[h(" "+$(p.data.email),1)]),_:1}),t(u,{"min-width":"90px","label-align":"right"},{label:l(()=>[tt]),default:l(()=>[h(" "+$(p.data.content),1)]),_:1}),t(u,{"min-width":"90px","label-align":"right"},{label:l(()=>[lt]),default:l(()=>[h(" "+$(p.data.create_time),1)]),_:1})]),_:1})]),_:1})}}},st={class:"main"},nt={class:"breadcrumb-section"},ot=o("div",null,null,-1),it={class:"pagination-block"},xt={__name:"Index",setup(p){const i=Be({page:1,pageSize:10}),{page:s,pageSize:u}=Ve(i),r=V(0),m=V(!1),S=V(!1),f=V([]);Te(()=>{e()});const e=async()=>{m.value=!0;let a=await He();a.code===200&&(f.value=a.data.list,r.value=a.data.total),m.value=!1},v=a=>{_e.confirm("確認刪除此紀錄?").then(async()=>{(await Je(a)).code===200?(H({message:"刪除成功.",type:"success"}),e()):H({message:"刪除失敗.",type:"error"})}).catch(()=>{})},g=a=>{i.pageSize=a,e()},c=a=>{i.page=a,e()},C=a=>{i.page=a,e()},y=a=>{i.page=a,e()},b=V({}),D=a=>{b.value=a,S.value=!0};return(a,w)=>{const I=fe,P=ge,d=he,M=pe,F=ue,j=Ee,G=Se,U=Ce,le=ve,ae=be,se=X,ne=me;return _(),E(N,null,[o("div",st,[o("div",nt,[o("div",null,[t(P,{separator:"/"},{default:l(()=>[t(I,null,{default:l(()=>[h(" 聯絡我們 ")]),_:1}),t(I,null,{default:l(()=>[h(" 表單信件 ")]),_:1})]),_:1})]),ot]),t(se,{"body-style":{padding:"0px"}},{default:l(()=>[t(le,{data:f.value},{default:l(()=>[t(d,{fixed:"",prop:"id",label:"#",width:"50"}),t(d,{prop:"name",label:"聯絡人",width:"180"}),t(d,{prop:"email",label:"E-mail"}),t(d,{prop:"tel",label:"聯絡電話"}),t(d,{prop:"create_time",label:"留言時間"}),t(d,{label:"操作",width:"105",fixed:"right"},{default:l(k=>[t(U,null,{dropdown:l(()=>[t(G,null,{default:l(()=>[t(j,{icon:n(re),onClick:oe=>D(k.row)},{default:l(()=>[h("內容")]),_:2},1032,["icon","onClick"]),t(j,{icon:n(ce),onClick:oe=>v(k.row.id)},{default:l(()=>[h("刪除")]),_:2},1032,["icon","onClick"])]),_:2},1024)]),default:l(()=>[t(F,{type:"danger"},{default:l(()=>[h(" 操作"),t(M,{class:"el-icon--right"},{default:l(()=>[t(n(de))]),_:1})]),_:1})]),_:2},1024)]),_:1})]),_:1},8,["data"]),o("div",it,[t(ae,{"current-page":n(s),"onUpdate:currentPage":w[0]||(w[0]=k=>Q(s)?s.value=k:null),"page-size":n(u),"onUpdate:pageSize":w[1]||(w[1]=k=>Q(u)?u.value=k:null),"page-sizes":[10,20,50,100],layout:"->,total, sizes, prev, pager, next, jumper",total:r.value,onSizeChange:g,onCurrentChange:c,onPrevClick:C,onNextClick:y},null,8,["current-page","page-size","total"])])]),_:1})]),o("div",null,[t(ne,{modelValue:S.value,"onUpdate:modelValue":w[2]||(w[2]=k=>S.value=k),title:"留言內容","destroy-on-close":!0},{default:l(()=>[t(at,{data:b.value},null,8,["data"])]),_:1},8,["modelValue"])])],64)}}};export{xt as default}; diff --git a/nginx/html/admin/assets/Index-22b6f29c.js b/nginx/html/admin/assets/Index-22b6f29c.js new file mode 100644 index 0000000..70e0297 --- /dev/null +++ b/nginx/html/admin/assets/Index-22b6f29c.js @@ -0,0 +1 @@ +import{a1 as O,_ as J,S as ie,a2 as re,F as ce,b as de,E as pe,G as ue}from"./el-button-7b435908.js";import{E as me}from"./el-dialog-50d8753f.js";import{E as _e}from"./el-message-box-9fd7f437.js";import{E as X,a as fe,b as ge}from"./el-breadcrumb-item-0c010d2b.js";import{E as be}from"./el-pagination-15a74695.js";import"./el-input-5a355fec.js";import"./el-tag-6bb7020c.js";import"./el-select-e0ea5220.js";import"./el-scrollbar-654ee4cf.js";import{E as he,a as ve}from"./el-table-column-32453fe2.js";import"./el-tooltip-4ed993c7.js";import{g as ye,f as we,E as Ee,a as Se,b as Ce}from"./el-dropdown-item-9b77b9ae.js";import"./el-icon-08628b36.js";import{a as Y}from"./request-79887494.js";import{d as x,p as Z,u as ee,D as W,B,k as L,G as De,a as n,o as _,f as E,M as o,F as N,W as A,c as R,Q as t,al as ke,b as Ne,y as $e,e as ze,n as z,r as q,N as h,O as $,V as xe,h as Ie,j as Pe,w as l,v as Be,a3 as Ve,q as V,z as Te,a6 as Q}from"./index-11843334.js";import{i as Re}from"./index-58150f7d.js";import{E as H}from"./el-message-c3316f84.js";import"./use-dialog-90edb7a0.js";import"./aria-60e0cdc6.js";import"./index-804a1997.js";import"./strings-c810e853.js";import"./castArray-80791487.js";const K=Symbol("elDescriptions");var T=x({name:"ElDescriptionsCell",props:{cell:{type:Object},tag:{type:String,default:"td"},type:{type:String}},setup(){return{descriptions:Z(K,{})}},render(){var p,i,s,u,r,m,S;const f=ye(this.cell),e=(((p=this.cell)==null?void 0:p.dirs)||[]).map(M=>{const{dir:F,arg:j,modifiers:G,value:U}=M;return[F,U,j,G]}),{border:v,direction:g}=this.descriptions,c=g==="vertical",C=((u=(s=(i=this.cell)==null?void 0:i.children)==null?void 0:s.label)==null?void 0:u.call(s))||f.label,y=(S=(m=(r=this.cell)==null?void 0:r.children)==null?void 0:m.default)==null?void 0:S.call(m),b=f.span,D=f.align?`is-${f.align}`:"",a=f.labelAlign?`is-${f.labelAlign}`:D,w=f.className,I=f.labelClassName,P={width:O(f.width),minWidth:O(f.minWidth)},d=ee("descriptions");switch(this.type){case"label":return W(B(this.tag,{style:P,class:[d.e("cell"),d.e("label"),d.is("bordered-label",v),d.is("vertical-label",c),a,I],colSpan:c?b:1},C),e);case"content":return W(B(this.tag,{style:P,class:[d.e("cell"),d.e("content"),d.is("bordered-content",v),d.is("vertical-content",c),D,w],colSpan:c?b:b*2-1},y),e);default:return W(B("td",{style:P,class:[d.e("cell"),D],colSpan:b},[Re(C)?void 0:B("span",{class:[d.e("label"),I]},C),B("span",{class:[d.e("content"),w]},y)]),e)}}});const je=L({row:{type:De(Array),default:()=>[]}}),Ae={key:1},Me=x({name:"ElDescriptionsRow"}),Fe=x({...Me,props:je,setup(p){const i=Z(K,{});return(s,u)=>n(i).direction==="vertical"?(_(),E(N,{key:0},[o("tr",null,[(_(!0),E(N,null,A(s.row,(r,m)=>(_(),R(n(T),{key:`tr1-${m}`,cell:r,tag:"th",type:"label"},null,8,["cell"]))),128))]),o("tr",null,[(_(!0),E(N,null,A(s.row,(r,m)=>(_(),R(n(T),{key:`tr2-${m}`,cell:r,tag:"td",type:"content"},null,8,["cell"]))),128))])],64)):(_(),E("tr",Ae,[(_(!0),E(N,null,A(s.row,(r,m)=>(_(),E(N,{key:`tr3-${m}`},[n(i).border?(_(),E(N,{key:0},[t(n(T),{cell:r,tag:"td",type:"label"},null,8,["cell"]),t(n(T),{cell:r,tag:"td",type:"content"},null,8,["cell"])],64)):(_(),R(n(T),{key:1,cell:r,tag:"td",type:"both"},null,8,["cell"]))],64))),128))]))}});var Ge=J(Fe,[["__file","descriptions-row.vue"]]);const Ue=L({border:{type:Boolean,default:!1},column:{type:Number,default:3},direction:{type:String,values:["horizontal","vertical"],default:"horizontal"},size:ke,title:{type:String,default:""},extra:{type:String,default:""}}),We=x({name:"ElDescriptions"}),Le=x({...We,props:Ue,setup(p){const i=p,s=ee("descriptions"),u=ie(),r=Ne();$e(K,i);const m=ze(()=>[s.b(),s.m(u.value)]),S=(e,v,g,c=!1)=>(e.props||(e.props={}),v>g&&(e.props.span=g),c&&(e.props.span=v),e),f=()=>{if(!r.default)return[];const e=we(r.default()).filter(y=>{var b;return((b=y==null?void 0:y.type)==null?void 0:b.name)==="ElDescriptionsItem"}),v=[];let g=[],c=i.column,C=0;return e.forEach((y,b)=>{var D;const a=((D=y.props)==null?void 0:D.span)||1;if(bc?c:a),b===e.length-1){const w=i.column-C%i.column;g.push(S(y,w,c,!0)),v.push(g);return}a(_(),E("div",{class:z(n(m))},[e.title||e.extra||e.$slots.title||e.$slots.extra?(_(),E("div",{key:0,class:z(n(s).e("header"))},[o("div",{class:z(n(s).e("title"))},[q(e.$slots,"title",{},()=>[h($(e.title),1)])],2),o("div",{class:z(n(s).e("extra"))},[q(e.$slots,"extra",{},()=>[h($(e.extra),1)])],2)],2)):xe("v-if",!0),o("div",{class:z(n(s).e("body"))},[o("table",{class:z([n(s).e("table"),n(s).is("bordered",e.border)])},[o("tbody",null,[(_(!0),E(N,null,A(f(),(g,c)=>(_(),R(Ge,{key:c,row:g},null,8,["row"]))),128))])],2)],2)],2))}});var Ke=J(Le,[["__file","description.vue"]]);const Oe=L({label:{type:String,default:""},span:{type:Number,default:1},width:{type:[String,Number],default:""},minWidth:{type:[String,Number],default:""},align:{type:String,default:"left"},labelAlign:{type:String,default:""},className:{type:String,default:""},labelClassName:{type:String,default:""}}),te=x({name:"ElDescriptionsItem",props:Oe}),qe=Ie(Ke,{DescriptionsItem:te}),Qe=Pe(te),He=async()=>Y("/contact/getContactList","GET"),Je=async p=>Y("/contact/deleteContact","GET",{id:p});const Xe=o("div",{class:"cell-item"},"客戶姓名",-1),Ye=o("div",{class:"cell-item"},"聯絡電話",-1),Ze=o("div",{class:"cell-item"},"聯絡地址",-1),et=o("div",{class:"cell-item"},"電子信箱",-1),tt=o("div",{class:"cell-item"},"留言內容",-1),lt=o("div",{class:"cell-item"},"留言時間",-1),at={__name:"content",props:["data"],setup(p){return(i,s)=>{const u=Qe,r=qe,m=X;return _(),R(m,{"body-style":{padding:"0px"}},{default:l(()=>[t(r,{column:1,border:""},{default:l(()=>[t(u,{"min-width":"90px","label-align":"right"},{label:l(()=>[Xe]),default:l(()=>[h(" "+$(p.data.name),1)]),_:1}),t(u,{"min-width":"90px","label-align":"right"},{label:l(()=>[Ye]),default:l(()=>[h(" "+$(p.data.tel),1)]),_:1}),t(u,{"min-width":"90px","label-align":"right"},{label:l(()=>[Ze]),default:l(()=>[h(" "+$(p.data.address),1)]),_:1}),t(u,{"min-width":"90px","label-align":"right"},{label:l(()=>[et]),default:l(()=>[h(" "+$(p.data.email),1)]),_:1}),t(u,{"min-width":"90px","label-align":"right"},{label:l(()=>[tt]),default:l(()=>[h(" "+$(p.data.content),1)]),_:1}),t(u,{"min-width":"90px","label-align":"right"},{label:l(()=>[lt]),default:l(()=>[h(" "+$(p.data.create_time),1)]),_:1})]),_:1})]),_:1})}}},st={class:"main"},nt={class:"breadcrumb-section"},ot=o("div",null,null,-1),it={class:"pagination-block"},xt={__name:"Index",setup(p){const i=Be({page:1,pageSize:10}),{page:s,pageSize:u}=Ve(i),r=V(0),m=V(!1),S=V(!1),f=V([]);Te(()=>{e()});const e=async()=>{m.value=!0;let a=await He();a.code===200&&(f.value=a.data.list,r.value=a.data.total),m.value=!1},v=a=>{_e.confirm("確認刪除此紀錄?").then(async()=>{(await Je(a)).code===200?(H({message:"刪除成功.",type:"success"}),e()):H({message:"刪除失敗.",type:"error"})}).catch(()=>{})},g=a=>{i.pageSize=a,e()},c=a=>{i.page=a,e()},C=a=>{i.page=a,e()},y=a=>{i.page=a,e()},b=V({}),D=a=>{b.value=a,S.value=!0};return(a,w)=>{const I=fe,P=ge,d=he,M=pe,F=ue,j=Ee,G=Se,U=Ce,le=ve,ae=be,se=X,ne=me;return _(),E(N,null,[o("div",st,[o("div",nt,[o("div",null,[t(P,{separator:"/"},{default:l(()=>[t(I,null,{default:l(()=>[h(" 聯絡我們 ")]),_:1}),t(I,null,{default:l(()=>[h(" 表單信件 ")]),_:1})]),_:1})]),ot]),t(se,{"body-style":{padding:"0px"}},{default:l(()=>[t(le,{data:f.value},{default:l(()=>[t(d,{fixed:"",prop:"id",label:"#",width:"50"}),t(d,{prop:"name",label:"聯絡人",width:"180"}),t(d,{prop:"email",label:"E-mail"}),t(d,{prop:"tel",label:"聯絡電話"}),t(d,{prop:"create_time",label:"留言時間"}),t(d,{label:"操作",width:"105",fixed:"right"},{default:l(k=>[t(U,null,{dropdown:l(()=>[t(G,null,{default:l(()=>[t(j,{icon:n(re),onClick:oe=>D(k.row)},{default:l(()=>[h("內容")]),_:2},1032,["icon","onClick"]),t(j,{icon:n(ce),onClick:oe=>v(k.row.id)},{default:l(()=>[h("刪除")]),_:2},1032,["icon","onClick"])]),_:2},1024)]),default:l(()=>[t(F,{type:"danger"},{default:l(()=>[h(" 操作"),t(M,{class:"el-icon--right"},{default:l(()=>[t(n(de))]),_:1})]),_:1})]),_:2},1024)]),_:1})]),_:1},8,["data"]),o("div",it,[t(ae,{"current-page":n(s),"onUpdate:currentPage":w[0]||(w[0]=k=>Q(s)?s.value=k:null),"page-size":n(u),"onUpdate:pageSize":w[1]||(w[1]=k=>Q(u)?u.value=k:null),"page-sizes":[10,20,50,100],layout:"->,total, sizes, prev, pager, next, jumper",total:r.value,onSizeChange:g,onCurrentChange:c,onPrevClick:C,onNextClick:y},null,8,["current-page","page-size","total"])])]),_:1})]),o("div",null,[t(ne,{modelValue:S.value,"onUpdate:modelValue":w[2]||(w[2]=k=>S.value=k),title:"留言內容","destroy-on-close":!0},{default:l(()=>[t(at,{data:b.value},null,8,["data"])]),_:1},8,["modelValue"])])],64)}}};export{xt as default}; diff --git a/nginx/html/admin/assets/Index-23360e5d.js b/nginx/html/admin/assets/Index-23360e5d.js new file mode 100644 index 0000000..1522cb8 --- /dev/null +++ b/nginx/html/admin/assets/Index-23360e5d.js @@ -0,0 +1 @@ +import{p as q,E as H,G as Q,H as pe,F as ce,b as me}from"./el-button-7b435908.js";import{E as _e}from"./el-drawer-1ab47bb4.js";import{E as fe}from"./el-message-box-9fd7f437.js";import{E as W,a as J}from"./el-form-item-563dc716.js";import{E as K}from"./el-progress-6b890862.js";import{E as X}from"./el-input-5a355fec.js";import{a as ve,b as ge,E as ye}from"./el-breadcrumb-item-0c010d2b.js";import{E as we}from"./el-pagination-15a74695.js";import"./el-tag-6bb7020c.js";import"./el-select-e0ea5220.js";import"./el-scrollbar-654ee4cf.js";import{E as be,a as Ee}from"./el-table-column-32453fe2.js";import"./el-tooltip-4ed993c7.js";import{E as he,a as Ce,b as Ve}from"./el-dropdown-item-9b77b9ae.js";import"./el-icon-08628b36.js";import{E as ke}from"./el-image-viewer-51a0e4c5.js";import{E as xe}from"./el-dialog-50d8753f.js";import{a as x,u as Ie}from"./request-79887494.js";import{E as k}from"./el-message-c3316f84.js";import{_ as Y}from"./_plugin-vue_export-helper-c27b6911.js";import{q as u,z as Z,v as ee,o as S,f as N,M as r,Q as e,w as l,a as w,N as m,O as te,F as R,a3 as ze,W as Fe,c as De,a6 as j,a7 as Se,a8 as Ae}from"./index-11843334.js";import"./use-dialog-90edb7a0.js";import"./index-58150f7d.js";import"./aria-60e0cdc6.js";import"./castArray-80791487.js";import"./_baseClone-07904f92.js";import"./cloneDeep-37a2db27.js";import"./index-804a1997.js";import"./strings-c810e853.js";const Ue=async s=>x("/activity/getActivityList","POST",s),Le=async s=>x("/activity/getActivity","GET",{id:s}),Pe=async s=>x("/activity/deleteActivity","GET",{id:s}),Te=async s=>x("/activity/updateActivity","POST",s),Be=async s=>x("/activity/addActivity","POST",s);const Ne={class:"demo-drawer__footer",style:{"text-align":"right"}},Re=["src"],$e={__name:"Form",props:{editid:{type:Number,default:0}},emits:["close"],setup(s,{emit:h}){const c=s,b=h,E=u("insert"),v=u(!1),g=u(null),n=u({id:0,title1:"",title2:"",title3:"",imageList:[]});Z(async()=>{if(c.editid){let i=await Le(c.editid);i.code===200&&(n.value=i.data,E.value="update",C.value=i.data.imageList.map(a=>({uid:a.uid,url:"https://prodio.zltest.com.tw"+a.url})))}});const I=ee({}),_=()=>{b("close",!1)},A=i=>{i&&i.validate(async a=>{if(a){let t,o;E.value==="update"?(n.value.id=c.editid,t=await Te(n.value),o="修改成功."):(t=await Be(n.value),o="新增成功."),t.code===200&&(k({message:o,type:"success"}),b("close",!0))}else return k({message:"操作失敗.",type:"error"}),!1})},C=u([]),z=u(""),V=u(!1),U=async i=>{const a=new FormData;a.append("file",i.file),v.value=!0;let t=await Ie("/activity/uploadImage",a);t.code===200?n.value.imageList.push({uid:i.file.uid,url:t.data}):k.error("上傳失敗"),v.value=!1},L=(i,a)=>{n.value.imageList=n.value.imageList.filter(t=>t.uid!==i.uid)},P=i=>{z.value=i.url,V.value=!0};return(i,a)=>{const t=X,o=W,F=H,T=K,y=J,D=Q,f=xe;return S(),N(R,null,[r("div",null,[e(y,{ref_key:"formRef",ref:g,model:n.value,"status-icon":"",rules:I,"label-width":"120px"},{default:l(()=>[e(o,{label:"標題(繁)",prop:"title"},{default:l(()=>[e(t,{modelValue:n.value.title1,"onUpdate:modelValue":a[0]||(a[0]=p=>n.value.title1=p)},null,8,["modelValue"])]),_:1}),e(o,{label:"標題(簡)",prop:"title"},{default:l(()=>[e(t,{modelValue:n.value.title2,"onUpdate:modelValue":a[1]||(a[1]=p=>n.value.title2=p)},null,8,["modelValue"])]),_:1}),e(o,{label:"標題(英)",prop:"title"},{default:l(()=>[e(t,{modelValue:n.value.title3,"onUpdate:modelValue":a[2]||(a[2]=p=>n.value.title3=p)},null,8,["modelValue"])]),_:1}),e(o,{label:"活動照片",prop:"content"},{default:l(()=>[e(T,{"file-list":C.value,"onUpdate:fileList":a[3]||(a[3]=p=>C.value=p),action:"#","http-request":U,"list-type":"picture-card","on-preview":P,"on-remove":L},{default:l(()=>[e(F,null,{default:l(()=>[e(w(q))]),_:1})]),_:1},8,["file-list"])]),_:1})]),_:1},8,["model","rules"]),r("div",Ne,[e(D,{onClick:_},{default:l(()=>[m("取消")]),_:1}),e(D,{type:"primary",loading:v.value,onClick:a[4]||(a[4]=p=>A(g.value))},{default:l(()=>[m(te(v.value?"提交中 ...":"確認"),1)]),_:1},8,["loading"])])]),e(f,{modelValue:V.value,"onUpdate:modelValue":a[5]||(a[5]=p=>V.value=p)},{default:l(()=>[r("img",{"w-full":"",src:z.value,alt:"Preview Image"},null,8,Re)]),_:1},8,["modelValue"])],64)}}},Me=Y($e,[["__scopeId","data-v-a24c4f0d"]]);const le=s=>(Se("data-v-8c38f428"),s=s(),Ae(),s),Ge={class:"main"},Oe={class:"breadcrumb-section"},je=le(()=>r("a",{href:"/"},"公司活動",-1)),qe={class:"imgGroup"},He={class:"pagination-block"},Qe=le(()=>r("small",{class:"el-upload__tip"}," ※ 請上傳500kb以內jpg檔案。",-1)),We={class:"demo-drawer__footer",style:{"text-align":"right"}},Je={__name:"Index",setup(s){const h=u(!1),c=ee({page:1,pageSize:10}),{page:b,pageSize:E}=ze(c),v=u(0),g=u(!1),n=u(!1),I=u([]);Z(()=>{_()});const _=async()=>{g.value=!0;let t=await Ue(c);t.code===200&&(I.value=t.data.list,v.value=t.data.total),g.value=!1},A=()=>{i.value=0,n.value=!0},C=t=>{i.value=t,n.value=!0},z=t=>{fe.confirm("確認刪除此紀錄?").then(async()=>{(await Pe(t)).code===200?(k({message:"刪除成功.",type:"success"}),_()):k({message:"刪除失敗.",type:"error"})}).catch(()=>{})},V=t=>{c.pageSize=t,_()},U=t=>{c.page=t,_()},L=t=>{c.page=t,_()},P=t=>{c.page=t,_()},i=u(0),a=t=>{n.value=!1,t&&_()};return(t,o)=>{const F=ve,T=ge,y=Q,D=ke,f=be,p=H,$=he,ae=Ce,oe=Ve,ne=Ee,ie=we,M=ye,se=X,G=W,de=K,re=J,O=_e;return S(),N(R,null,[r("div",Ge,[r("div",Oe,[r("div",null,[e(T,{separator:"/"},{default:l(()=>[e(F,null,{default:l(()=>[m(" 最新消息 ")]),_:1}),e(F,null,{default:l(()=>[je]),_:1})]),_:1})]),r("div",null,[e(y,{type:"primary",icon:w(q),onClick:A},{default:l(()=>[m(" 新增活動 ")]),_:1},8,["icon"])])]),e(M,{"body-style":{padding:"0px"}},{default:l(()=>[e(ne,{data:I.value,style:{width:"100%"}},{default:l(()=>[e(f,{type:"expand",label:"相簿",width:"80"},{default:l(d=>[r("div",qe,[(S(!0),N(R,null,Fe(d.row.imageList,(B,ue)=>(S(),De(D,{key:ue,style:{width:"100px",height:"60px"},src:"https://prodio.zltest.com.tw"+B.url,fit:t.cover},null,8,["src","fit"]))),128))])]),_:1}),e(f,{prop:"id",label:"#",width:"50"}),e(f,{prop:"title1",label:"標題(繁)"}),e(f,{prop:"title2",label:"標題(簡)"}),e(f,{prop:"title3",label:"標題(英)"}),e(f,{prop:"create_time",label:"建立時間"}),e(f,{label:"其他項目",width:"105",fixed:"right"},{default:l(d=>[e(oe,null,{dropdown:l(()=>[e(ae,null,{default:l(()=>[e($,{icon:w(pe),onClick:B=>C(d.row.id)},{default:l(()=>[m("修改")]),_:2},1032,["icon","onClick"]),e($,{icon:w(ce),onClick:B=>z(d.row.id)},{default:l(()=>[m("刪除")]),_:2},1032,["icon","onClick"])]),_:2},1024)]),default:l(()=>[e(y,{type:"danger"},{default:l(()=>[m(" 操作"),e(p,{class:"el-icon--right"},{default:l(()=>[e(w(me))]),_:1})]),_:1})]),_:2},1024)]),_:1})]),_:1},8,["data"]),r("div",He,[e(ie,{"current-page":w(b),"onUpdate:currentPage":o[0]||(o[0]=d=>j(b)?b.value=d:null),"page-size":w(E),"onUpdate:pageSize":o[1]||(o[1]=d=>j(E)?E.value=d:null),"page-sizes":[10,20,50,100],layout:"->,total, sizes, prev, pager, next, jumper",total:v.value,onSizeChange:V,onCurrentChange:U,onPrevClick:L,onNextClick:P},null,8,["current-page","page-size","total"])])]),_:1})]),r("div",null,[e(O,{ref:"drawerRef",modelValue:h.value,"onUpdate:modelValue":o[4]||(o[4]=d=>h.value=d),title:"新增動態",direction:"rtl",size:"550"},{default:l(()=>[e(M,null,{default:l(()=>[e(re,{model:t.initform,"label-width":"120px"},{default:l(()=>[e(G,{label:"標題"},{default:l(()=>[e(se,{modelValue:t.initform.title,"onUpdate:modelValue":o[2]||(o[2]=d=>t.initform.title=d)},null,8,["modelValue"])]),_:1}),e(G,{label:"相簿上傳"},{default:l(()=>[e(de,{class:"upload-demo",action:"https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15","on-preview":t.handlePreview,"on-remove":t.handleRemove,"list-type":"picture"},{tip:l(()=>[Qe]),default:l(()=>[e(y,{type:"primary"},{default:l(()=>[m("上傳圖片")]),_:1})]),_:1},8,["on-preview","on-remove"])]),_:1})]),_:1},8,["model"])]),_:1}),r("div",We,[e(y,{onClick:o[3]||(o[3]=d=>h.value=!1)},{default:l(()=>[m("取消")]),_:1}),e(y,{type:"primary",loading:g.value,onClick:t.onClick},{default:l(()=>[m(te(g.value?"Submitting ...":"確認"),1)]),_:1},8,["loading","onClick"])])]),_:1},8,["modelValue"])]),r("div",null,[e(O,{ref:"drawerRef",modelValue:n.value,"onUpdate:modelValue":o[5]||(o[5]=d=>n.value=d),"destroy-on-close":!0,title:"公司活動",direction:"rtl",size:"70%"},{default:l(()=>[e(Me,{editid:i.value,onClose:a},null,8,["editid"])]),_:1},8,["modelValue"])])],64)}}},kt=Y(Je,[["__scopeId","data-v-8c38f428"]]);export{kt as default}; diff --git a/nginx/html/admin/assets/Index-25b19677.js b/nginx/html/admin/assets/Index-25b19677.js new file mode 100644 index 0000000..00bb9f1 --- /dev/null +++ b/nginx/html/admin/assets/Index-25b19677.js @@ -0,0 +1 @@ +import{p as G,E as O,G as j,H as oe,F as ae,b as ie}from"./el-button-b67915d8.js";import{E as ne}from"./el-drawer-1235fb1f.js";import{E as se}from"./el-message-box-31f94f7f.js";import{E as q,a as H}from"./el-form-item-07a15cb5.js";import{E as Q}from"./el-progress-4ca8ef53.js";import{E as W}from"./el-input-5189b047.js";import{a as de,b as re,E as ue}from"./el-breadcrumb-item-762e8056.js";import{E as ce,a as me}from"./el-table-column-381af1e5.js";import"./el-tag-d3d38fd0.js";import"./el-tooltip-4ed993c7.js";import"./el-scrollbar-5edfcb3f.js";import{E as pe,a as _e,b as fe}from"./el-dropdown-item-b9c7b677.js";import"./el-icon-08628b36.js";import{E as ve}from"./el-image-viewer-0d923d79.js";import{E as ye}from"./el-dialog-775a0d0d.js";import{a as V,u as ge}from"./request-88e5850c.js";import{E as h}from"./el-message-447d52b9.js";import{_ as J}from"./_plugin-vue_export-helper-c27b6911.js";import{q as r,z as K,v as X,o as A,f as $,M as d,Q as e,w as t,a as E,N as f,O as Y,F as z,a3 as we,W as be,c as Ee,a7 as he,a8 as Ve}from"./index-b2bcea28.js";import"./use-dialog-15edcc44.js";import"./index-07bb2cc4.js";import"./aria-60e0cdc6.js";import"./castArray-8eb82dce.js";import"./_baseClone-49d9099a.js";import"./cloneDeep-996df659.js";const ke=async s=>V("/activity/getActivityList","POST",s),Ie=async s=>V("/activity/getActivity","GET",{id:s}),Ce=async s=>V("/activity/deleteActivity","GET",{id:s}),xe=async s=>V("/activity/updateActivity","POST",s),Fe=async s=>V("/activity/addActivity","POST",s);const De={class:"demo-drawer__footer",style:{"text-align":"right"}},Ae=["src"],Le={__name:"Form",props:{editid:{type:Number,default:0}},emits:["close"],setup(s,{emit:w}){const g=s,k=w,v=r("insert"),p=r(!1),b=r(null),n=r({id:0,title1:"",title2:"",title3:"",imageList:[]});K(async()=>{if(g.editid){let a=await Ie(g.editid);a.code===200&&(n.value=a.data,v.value="update",y.value=a.data.imageList.map(l=>({uid:l.uid,url:"https://prodio.zltest.com.tw"+l.url})))}});const L=X({}),U=()=>{k("close",!1)},T=a=>{a&&a.validate(async l=>{if(l){let i,_;v.value==="update"?(n.value.id=g.editid,i=await xe(n.value),_="修改成功."):(i=await Fe(n.value),_="新增成功."),i.code===200&&(h({message:_,type:"success"}),k("close",!0))}else return h({message:"操作失敗.",type:"error"}),!1})},y=r([]),I=r(""),o=r(!1),c=async a=>{const l=new FormData;l.append("file",a.file),p.value=!0;let i=await ge("/activity/uploadImage",l);i.code===200?n.value.imageList.push({uid:a.file.uid,url:i.data}):h.error("上傳失敗"),p.value=!1},C=(a,l)=>{n.value.imageList=n.value.imageList.filter(i=>i.uid!==a.uid)},S=a=>{I.value=a.url,o.value=!0};return(a,l)=>{const i=W,_=q,x=O,B=Q,P=H,F=j,D=ye;return A(),$(z,null,[d("div",null,[e(P,{ref_key:"formRef",ref:b,model:n.value,"status-icon":"",rules:L,"label-width":"120px"},{default:t(()=>[e(_,{label:"標題(繁)",prop:"title"},{default:t(()=>[e(i,{modelValue:n.value.title1,"onUpdate:modelValue":l[0]||(l[0]=u=>n.value.title1=u)},null,8,["modelValue"])]),_:1}),e(_,{label:"標題(簡)",prop:"title"},{default:t(()=>[e(i,{modelValue:n.value.title2,"onUpdate:modelValue":l[1]||(l[1]=u=>n.value.title2=u)},null,8,["modelValue"])]),_:1}),e(_,{label:"標題(英)",prop:"title"},{default:t(()=>[e(i,{modelValue:n.value.title3,"onUpdate:modelValue":l[2]||(l[2]=u=>n.value.title3=u)},null,8,["modelValue"])]),_:1}),e(_,{label:"活動照片",prop:"content"},{default:t(()=>[e(B,{"file-list":y.value,"onUpdate:fileList":l[3]||(l[3]=u=>y.value=u),action:"#","http-request":c,"list-type":"picture-card","on-preview":S,"on-remove":C},{default:t(()=>[e(x,null,{default:t(()=>[e(E(G))]),_:1})]),_:1},8,["file-list"])]),_:1})]),_:1},8,["model","rules"]),d("div",De,[e(F,{onClick:U},{default:t(()=>[f("取消")]),_:1}),e(F,{type:"primary",loading:p.value,onClick:l[4]||(l[4]=u=>T(b.value))},{default:t(()=>[f(Y(p.value?"提交中 ...":"確認"),1)]),_:1},8,["loading"])])]),e(D,{modelValue:o.value,"onUpdate:modelValue":l[5]||(l[5]=u=>o.value=u)},{default:t(()=>[d("img",{"w-full":"",src:I.value,alt:"Preview Image"},null,8,Ae)]),_:1},8,["modelValue"])],64)}}},Ue=J(Le,[["__scopeId","data-v-a24c4f0d"]]);const Z=s=>(he("data-v-4ed6ff2e"),s=s(),Ve(),s),Te={class:"main"},Se={class:"breadcrumb-section"},Be=Z(()=>d("a",{href:"/"},"公司活動",-1)),Pe={class:"imgGroup"},Re=Z(()=>d("small",{class:"el-upload__tip"}," ※ 請上傳500kb以內jpg檔案。",-1)),$e={class:"demo-drawer__footer",style:{"text-align":"right"}},ze={__name:"Index",setup(s){const w=r(!1),g=X({page:1,pageSize:10});we(g);const k=r(0),v=r(!1),p=r(!1),b=r([]);K(()=>{n()});const n=async()=>{v.value=!0;let o=await ke(g);o.code===200&&(b.value=o.data.list,k.value=o.data.total),v.value=!1},L=()=>{y.value=0,p.value=!0},U=o=>{y.value=o,p.value=!0},T=o=>{se.confirm("確認刪除此紀錄?").then(async()=>{(await Ce(o)).code===200?(h({message:"刪除成功.",type:"success"}),n()):h({message:"刪除失敗.",type:"error"})}).catch(()=>{})},y=r(0),I=o=>{p.value=!1,o&&n()};return(o,c)=>{const C=de,S=re,a=j,l=ve,i=ce,_=O,x=pe,B=_e,P=fe,F=me,D=ue,u=W,N=q,ee=Q,te=H,M=ne;return A(),$(z,null,[d("div",Te,[d("div",Se,[d("div",null,[e(S,{separator:"/"},{default:t(()=>[e(C,null,{default:t(()=>[f(" 最新消息 ")]),_:1}),e(C,null,{default:t(()=>[Be]),_:1})]),_:1})]),d("div",null,[e(a,{type:"primary",icon:E(G),onClick:L},{default:t(()=>[f(" 新增活動 ")]),_:1},8,["icon"])])]),e(D,{"body-style":{padding:"0px"}},{default:t(()=>[e(F,{data:b.value,style:{width:"100%"}},{default:t(()=>[e(i,{type:"expand",label:"相簿",width:"80"},{default:t(m=>[d("div",Pe,[(A(!0),$(z,null,be(m.row.imageList,(R,le)=>(A(),Ee(l,{key:le,style:{width:"100px",height:"60px"},src:"https://prodio.zltest.com.tw"+R.url,fit:o.cover},null,8,["src","fit"]))),128))])]),_:1}),e(i,{prop:"id",label:"#",width:"50"}),e(i,{prop:"title1",label:"標題(繁)"}),e(i,{prop:"title2",label:"標題(簡)"}),e(i,{prop:"title3",label:"標題(英)"}),e(i,{prop:"create_time",label:"建立時間"}),e(i,{label:"其他項目",width:"105",fixed:"right"},{default:t(m=>[e(P,null,{dropdown:t(()=>[e(B,null,{default:t(()=>[e(x,{icon:E(oe),onClick:R=>U(m.row.id)},{default:t(()=>[f("修改")]),_:2},1032,["icon","onClick"]),e(x,{icon:E(ae),onClick:R=>T(m.row.id)},{default:t(()=>[f("刪除")]),_:2},1032,["icon","onClick"])]),_:2},1024)]),default:t(()=>[e(a,{type:"danger"},{default:t(()=>[f(" 操作"),e(_,{class:"el-icon--right"},{default:t(()=>[e(E(ie))]),_:1})]),_:1})]),_:2},1024)]),_:1})]),_:1},8,["data"])]),_:1})]),d("div",null,[e(M,{ref:"drawerRef",modelValue:w.value,"onUpdate:modelValue":c[2]||(c[2]=m=>w.value=m),title:"新增動態",direction:"rtl",size:"550"},{default:t(()=>[e(D,null,{default:t(()=>[e(te,{model:o.initform,"label-width":"120px"},{default:t(()=>[e(N,{label:"標題"},{default:t(()=>[e(u,{modelValue:o.initform.title,"onUpdate:modelValue":c[0]||(c[0]=m=>o.initform.title=m)},null,8,["modelValue"])]),_:1}),e(N,{label:"相簿上傳"},{default:t(()=>[e(ee,{class:"upload-demo",action:"https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15","on-preview":o.handlePreview,"on-remove":o.handleRemove,"list-type":"picture"},{tip:t(()=>[Re]),default:t(()=>[e(a,{type:"primary"},{default:t(()=>[f("上傳圖片")]),_:1})]),_:1},8,["on-preview","on-remove"])]),_:1})]),_:1},8,["model"])]),_:1}),d("div",$e,[e(a,{onClick:c[1]||(c[1]=m=>w.value=!1)},{default:t(()=>[f("取消")]),_:1}),e(a,{type:"primary",loading:v.value,onClick:o.onClick},{default:t(()=>[f(Y(v.value?"Submitting ...":"確認"),1)]),_:1},8,["loading","onClick"])])]),_:1},8,["modelValue"])]),d("div",null,[e(M,{ref:"drawerRef",modelValue:p.value,"onUpdate:modelValue":c[3]||(c[3]=m=>p.value=m),"destroy-on-close":!0,title:"公司活動",direction:"rtl",size:"70%"},{default:t(()=>[e(Ue,{editid:y.value,onClose:I},null,8,["editid"])]),_:1},8,["modelValue"])])],64)}}},ct=J(ze,[["__scopeId","data-v-4ed6ff2e"]]);export{ct as default}; diff --git a/nginx/html/admin/assets/Index-2a24222c.css b/nginx/html/admin/assets/Index-2a24222c.css new file mode 100644 index 0000000..6ed5788 --- /dev/null +++ b/nginx/html/admin/assets/Index-2a24222c.css @@ -0,0 +1 @@ +.avatar-uploader .avatar1[data-v-847aa68b]{width:178px;height:89px;display:block}.avatar-uploader .avatar2[data-v-847aa68b]{width:89px;height:178px;display:block}[data-v-847aa68b] .avatar-uploader .el-upload{border:1px dashed var(--el-border-color);border-radius:6px;cursor:pointer;position:relative;overflow:hidden;transition:var(--el-transition-duration-fast)}.avatar-uploader .el-upload[data-v-847aa68b]:hover{border-color:var(--el-color-primary)}.el-icon.avatar-uploader-icon1[data-v-847aa68b]{font-size:28px;color:#8c939d;width:178px;height:89px;text-align:center}.el-icon.avatar-uploader-icon2[data-v-847aa68b]{font-size:28px;color:#8c939d;width:89px;height:178px;text-align:center}[data-v-847aa68b] .el-dialog{width:40%!important}.crop-btn[data-v-847aa68b]{text-align:right;margin-top:10px} diff --git a/nginx/html/admin/assets/Index-2bf32272.js b/nginx/html/admin/assets/Index-2bf32272.js new file mode 100644 index 0000000..73ad5b3 --- /dev/null +++ b/nginx/html/admin/assets/Index-2bf32272.js @@ -0,0 +1 @@ +import{p as L,E as z,G as M,H as Z,F as ee,b as le}from"./el-button-dd91f3f6.js";import{E as ae}from"./el-drawer-41ea71b6.js";import{E as te}from"./el-message-box-9069766c.js";import{E as N,a as oe,b as se}from"./el-breadcrumb-item-fc2f12a8.js";import{E as re,a as ne}from"./el-table-column-2087a7ad.js";import"./el-tag-cf212e80.js";import"./el-tooltip-4ed993c7.js";import"./el-scrollbar-4b72b7cb.js";import{E as ie,a as ue,b as de}from"./el-dropdown-item-1df26bce.js";import"./el-icon-08628b36.js";import{E as A}from"./el-input-6cdd1bad.js";import{E as pe}from"./el-image-viewer-8dfbab81.js";import{q as u,z as q,o as b,f as D,M as p,Q as e,w as l,c as K,a as k,N as v,O as P,V as ce,F as H,v as me,a3 as _e,a4 as fe,D as ve,a5 as ge}from"./index-a18521e5.js";import{E as ye}from"./el-dialog-5eb47c40.js";import{E as we,a as be}from"./el-form-item-7f30e4ff.js";import{E as Ee}from"./el-progress-f539c088.js";import{a as S,u as he}from"./request-a37452c7.js";import{f as Ve}from"./style-88a0cfcf.js";import{E as g}from"./el-message-a9712316.js";import{_ as ke}from"./_plugin-vue_export-helper-c27b6911.js";import"./use-dialog-40ef8000.js";import"./index-d4f2f151.js";import"./aria-60e0cdc6.js";import"./castArray-3c50f72c.js";import"./_baseClone-0431f2ee.js";import"./cloneDeep-d66026bf.js";const Ce=async()=>S("/supplier/getSupplierList","GET"),xe=async c=>S("/supplier/getSupplier","GET",{id:c}),De=async c=>S("/supplier/deleteSupplier","GET",{id:c}),Q=async c=>S("/supplier/updateSupplier","POST",c),Se=async c=>S("/supplier/addSupplier","POST",c);const Fe=["src"],Ie={class:"demo-drawer__footer",style:{"text-align":"right"}},Te={key:0,class:"cropper-section"},Ue={class:"crop-area"},Oe={class:"crop-btn"},$e={__name:"Form",props:{editid:{type:Number,default:0}},emits:["close"],setup(c,{emit:T}){const E=c,y=T,C=u("insert"),_=u(!1),F=u(null),o=u({id:0});q(async()=>{if(E.editid){let a=await xe(E.editid);a.code===200&&(o.value=a.data,C.value="update")}});const U=u({imageurl:[{required:!0,message:"供應商LOGO必需要有",trigger:"blur"}],name:[{required:!0,message:"供應商名稱必填",trigger:"blur"}]}),s=u({show:!1,img:null,ratio:3.012}),I=u(null),O=a=>a.type!=="image/jpeg"&&a.type!=="image/png"&&a.type!=="image/jpg"?(g.error("圖片格式只能是jpeg/png/jpg!"),!1):(s.value.show=!0,s.value.img=URL.createObjectURL(a),!1),$=()=>{const{canvas:a}=I.value.getResult();if(a){const t=new FormData;a.toBlob(async f=>{let m=new File([f],"image.jpg");t.append("fileType","IMAGE"),t.append("file",m),s.value.show=!1,_.value=!0;let n=await he("/supplier/uploadSupplierImage",t);n.code===200?(o.value.imageurl=n.data,g.success("上傳成功")):g.error("上傳失敗"),_.value=!1},"image/jpeg")}},h=()=>{s.value.show=!1},B=()=>{y("close",!1)},r=a=>{a&&a.validate(async t=>{if(t){let f,m;C.value==="update"?(o.value.id=E.editid,f=await Q(o.value),m="修改成功."):(f=await Se(o.value),m="新增成功."),f.code===200&&(g({message:m,type:"success"}),y("close",!0))}else return g({message:"操作失敗.",type:"error"}),!1})};return(a,t)=>{const f=z,m=Ee,n=we,x=A,j=be,G=N,w=M,R=ye;return b(),D(H,null,[p("div",null,[e(G,null,{default:l(()=>[e(j,{ref_key:"formRef",ref:F,model:o.value,"status-icon":"",rules:U.value,"label-width":"120px"},{default:l(()=>[e(n,{label:"供應商LOGO",prop:"imageurl"},{default:l(()=>[e(m,{class:"avatar-uploader",action:"#",accept:"image/*","show-file-list":!1,"auto-upload":!0,"on-success":a.handleAvatarSuccess,"before-upload":d=>O(d)},{default:l(()=>[o.value.imageurl?(b(),D("img",{key:0,src:o.value.imageurl,class:"avatar",id:"imageurl"},null,8,Fe)):(b(),K(f,{key:1,class:"avatar-uploader-icon"},{default:l(()=>[e(k(L))]),_:1}))]),_:1},8,["on-success","before-upload"])]),_:1}),e(n,{label:"供應商名稱(繁)",prop:"name1"},{default:l(()=>[e(x,{modelValue:o.value.name1,"onUpdate:modelValue":t[0]||(t[0]=d=>o.value.name1=d)},null,8,["modelValue"])]),_:1}),e(n,{label:"供應商名稱(簡)",prop:"name2"},{default:l(()=>[e(x,{modelValue:o.value.name2,"onUpdate:modelValue":t[1]||(t[1]=d=>o.value.name2=d)},null,8,["modelValue"])]),_:1}),e(n,{label:"供應商名稱(英)",prop:"name3"},{default:l(()=>[e(x,{modelValue:o.value.name3,"onUpdate:modelValue":t[2]||(t[2]=d=>o.value.name3=d)},null,8,["modelValue"])]),_:1})]),_:1},8,["model","rules"])]),_:1}),p("div",Ie,[e(w,{onClick:B},{default:l(()=>[v("取消")]),_:1}),e(w,{type:"primary",loading:_.value,onClick:t[3]||(t[3]=d=>r(F.value))},{default:l(()=>[v(P(_.value?"處理中...":"確認"),1)]),_:1},8,["loading"])])]),p("div",null,[e(R,{modelValue:s.value.show,"onUpdate:modelValue":t[4]||(t[4]=d=>s.value.show=d),title:"Tips","before-close":h},{default:l(()=>[s.value.show?(b(),D("div",Te,[p("div",Ue,[e(k(Ve),{class:"cropper",ref_key:"myCrop",ref:I,src:s.value.img,"stencil-props":{aspectRatio:s.value.ratio},"auto-zoom":!0},null,8,["src","stencil-props"])]),p("div",Oe,[e(w,{type:"primary",size:"small",text:"",onClick:h},{default:l(()=>[v("取消")]),_:1}),e(w,{type:"primary",size:"small",onClick:$},{default:l(()=>[v("剪裁")]),_:1})])])):ce("",!0)]),_:1},8,["modelValue"])])],64)}}},Be=ke($e,[["__scopeId","data-v-a1dc5295"]]),je={class:"main"},Ge={class:"breadcrumb-section"},Re=p("a",{href:"/"},"供應商列表",-1),Le=["onDblclick"],cl={__name:"Index",setup(c){const T=me({page:1,pageSize:10});_e(T),u(0);const E=u(!1),y=u(!1),C=u([]);q(()=>{_()});const _=async()=>{E.value=!0;let r=await Ce();r.code===200&&(C.value=r.data),E.value=!1},F=()=>{h.value=0,y.value=!0},o=r=>{h.value=r,y.value=!0},U=r=>{te.confirm("確認刪除此紀錄?").then(async()=>{(await De(r)).code===200?(g({message:"刪除成功.",type:"success"}),_()):g({message:"刪除失敗.",type:"error"})}).catch(()=>{})},s=u(0),I=r=>{s.value=r},O=async r=>{(await Q(r)).code===200?(g({message:"修改成功.",type:"success"}),_()):g({message:"修改失敗.",type:"error"}),s.value=0},$=()=>{s.value=0},h=u(0),B=r=>{y.value=!1,r&&_()};return(r,a)=>{const t=oe,f=se,m=M,n=re,x=pe,j=A,G=z,w=ie,R=ue,d=de,J=ne,W=N,X=ae,Y=fe("focus");return b(),D(H,null,[p("div",je,[p("div",Ge,[p("div",null,[e(f,{separator:"/"},{default:l(()=>[e(t,null,{default:l(()=>[v(" 首頁 ")]),_:1}),e(t,null,{default:l(()=>[Re]),_:1})]),_:1})]),p("div",null,[e(m,{type:"primary",icon:k(L),onClick:F},{default:l(()=>[v(" 新增供應商 ")]),_:1},8,["icon"])])]),e(W,{"body-style":{padding:"0px"}},{default:l(()=>[e(J,{data:C.value,style:{width:"100%"}},{default:l(()=>[e(n,{prop:"id",label:"#",width:"50"}),e(n,{label:"供應商LOGO"},{default:l(i=>[e(x,{style:{width:"150px",height:"80px"},src:i.row.imageurl,fit:"cover",crossorigin:null},null,8,["src"])]),_:1}),e(n,{prop:"name1",label:"供應商名稱(繁)"}),e(n,{prop:"name2",label:"供應商名稱(簡)"}),e(n,{prop:"name3",label:"供應商名稱(英)"}),e(n,{prop:"sort",label:"排序",width:"80"},{default:l(i=>[i.row.id!==s.value?(b(),D("div",{key:0,onDblclick:V=>I(i.row.id)},P(i.row.sort_order),41,Le)):ve((b(),K(j,{key:1,modelValue:i.row.sort_order,"onUpdate:modelValue":V=>i.row.sort_order=V,style:{width:"50px"},onKeyup:ge(V=>O(i.row),["enter"]),onBlur:a[0]||(a[0]=V=>$()),autoFocus:!0},null,8,["modelValue","onUpdate:modelValue","onKeyup"])),[[Y,i.row.id===s.value]])]),_:1}),e(n,{label:"操作",width:"105",fixed:"right"},{default:l(i=>[e(d,null,{dropdown:l(()=>[e(R,null,{default:l(()=>[e(w,{icon:k(Z),onClick:V=>o(i.row.id)},{default:l(()=>[v("修改")]),_:2},1032,["icon","onClick"]),e(w,{icon:k(ee),onClick:V=>U(i.row.id)},{default:l(()=>[v("刪除")]),_:2},1032,["icon","onClick"])]),_:2},1024)]),default:l(()=>[e(m,{type:"danger"},{default:l(()=>[v(" 操作"),e(G,{class:"el-icon--right"},{default:l(()=>[e(k(le))]),_:1})]),_:1})]),_:2},1024)]),_:1})]),_:1},8,["data"])]),_:1})]),p("div",null,[e(X,{ref:"drawerRef",modelValue:y.value,"onUpdate:modelValue":a[1]||(a[1]=i=>y.value=i),"destroy-on-close":!0,title:"首頁輪撥",direction:"rtl",size:"50%"},{default:l(()=>[e(Be,{editid:h.value,onClose:B},null,8,["editid"])]),_:1},8,["modelValue"])])],64)}}};export{cl as default}; diff --git a/nginx/html/admin/assets/Index-2db39b0a.css b/nginx/html/admin/assets/Index-2db39b0a.css new file mode 100644 index 0000000..d8df2d8 --- /dev/null +++ b/nginx/html/admin/assets/Index-2db39b0a.css @@ -0,0 +1 @@ +[data-v-a24c4f0d] .ck-editor__editable_inline{height:400px}.imgGroup[data-v-8c38f428]{margin:10px}.imgGroup .el-image[data-v-8c38f428]{margin:4px} diff --git a/nginx/html/admin/assets/Index-2f5aa4f9.js b/nginx/html/admin/assets/Index-2f5aa4f9.js new file mode 100644 index 0000000..1f71904 --- /dev/null +++ b/nginx/html/admin/assets/Index-2f5aa4f9.js @@ -0,0 +1 @@ +import{a1 as O,_ as J,S as ie,a2 as re,F as ce,b as de,E as pe,G as ue}from"./el-button-ca4abaee.js";import{E as me}from"./el-dialog-1ee3a857.js";import{E as _e}from"./el-message-box-e43658fb.js";import{E as X,a as fe,b as ge}from"./el-breadcrumb-item-422ecc35.js";import{E as be}from"./el-pagination-74ccf145.js";import"./el-input-df8c5b16.js";import"./el-tag-6a2dc6cc.js";import"./el-select-a68074b1.js";import"./el-scrollbar-56d71f90.js";import{E as he,a as ve}from"./el-table-column-7db11110.js";import"./el-tooltip-4ed993c7.js";import{g as ye,f as we,E as Ee,a as Se,b as Ce}from"./el-dropdown-item-56611d31.js";import"./el-icon-08628b36.js";import{a as Y}from"./request-60ae96d2.js";import{d as x,p as Z,u as ee,D as W,B,k as L,G as De,a as n,o as _,f as E,M as o,F as N,W as A,c as R,Q as t,an as ke,b as Ne,y as $e,e as ze,n as z,r as q,N as h,O as $,V as xe,h as Ie,j as Pe,w as l,v as Be,a3 as Ve,q as V,z as Te,a6 as Q}from"./index-fb87886b.js";import{i as Re}from"./index-de3a95d3.js";import{E as H}from"./el-message-5778b677.js";import"./use-dialog-3e44040d.js";import"./aria-60e0cdc6.js";import"./index-037638b5.js";import"./strings-991b21d4.js";import"./castArray-59d69fd8.js";const K=Symbol("elDescriptions");var T=x({name:"ElDescriptionsCell",props:{cell:{type:Object},tag:{type:String,default:"td"},type:{type:String}},setup(){return{descriptions:Z(K,{})}},render(){var p,i,s,u,r,m,S;const f=ye(this.cell),e=(((p=this.cell)==null?void 0:p.dirs)||[]).map(M=>{const{dir:F,arg:j,modifiers:G,value:U}=M;return[F,U,j,G]}),{border:v,direction:g}=this.descriptions,c=g==="vertical",C=((u=(s=(i=this.cell)==null?void 0:i.children)==null?void 0:s.label)==null?void 0:u.call(s))||f.label,y=(S=(m=(r=this.cell)==null?void 0:r.children)==null?void 0:m.default)==null?void 0:S.call(m),b=f.span,D=f.align?`is-${f.align}`:"",a=f.labelAlign?`is-${f.labelAlign}`:D,w=f.className,I=f.labelClassName,P={width:O(f.width),minWidth:O(f.minWidth)},d=ee("descriptions");switch(this.type){case"label":return W(B(this.tag,{style:P,class:[d.e("cell"),d.e("label"),d.is("bordered-label",v),d.is("vertical-label",c),a,I],colSpan:c?b:1},C),e);case"content":return W(B(this.tag,{style:P,class:[d.e("cell"),d.e("content"),d.is("bordered-content",v),d.is("vertical-content",c),D,w],colSpan:c?b:b*2-1},y),e);default:return W(B("td",{style:P,class:[d.e("cell"),D],colSpan:b},[Re(C)?void 0:B("span",{class:[d.e("label"),I]},C),B("span",{class:[d.e("content"),w]},y)]),e)}}});const je=L({row:{type:De(Array),default:()=>[]}}),Ae={key:1},Me=x({name:"ElDescriptionsRow"}),Fe=x({...Me,props:je,setup(p){const i=Z(K,{});return(s,u)=>n(i).direction==="vertical"?(_(),E(N,{key:0},[o("tr",null,[(_(!0),E(N,null,A(s.row,(r,m)=>(_(),R(n(T),{key:`tr1-${m}`,cell:r,tag:"th",type:"label"},null,8,["cell"]))),128))]),o("tr",null,[(_(!0),E(N,null,A(s.row,(r,m)=>(_(),R(n(T),{key:`tr2-${m}`,cell:r,tag:"td",type:"content"},null,8,["cell"]))),128))])],64)):(_(),E("tr",Ae,[(_(!0),E(N,null,A(s.row,(r,m)=>(_(),E(N,{key:`tr3-${m}`},[n(i).border?(_(),E(N,{key:0},[t(n(T),{cell:r,tag:"td",type:"label"},null,8,["cell"]),t(n(T),{cell:r,tag:"td",type:"content"},null,8,["cell"])],64)):(_(),R(n(T),{key:1,cell:r,tag:"td",type:"both"},null,8,["cell"]))],64))),128))]))}});var Ge=J(Fe,[["__file","descriptions-row.vue"]]);const Ue=L({border:{type:Boolean,default:!1},column:{type:Number,default:3},direction:{type:String,values:["horizontal","vertical"],default:"horizontal"},size:ke,title:{type:String,default:""},extra:{type:String,default:""}}),We=x({name:"ElDescriptions"}),Le=x({...We,props:Ue,setup(p){const i=p,s=ee("descriptions"),u=ie(),r=Ne();$e(K,i);const m=ze(()=>[s.b(),s.m(u.value)]),S=(e,v,g,c=!1)=>(e.props||(e.props={}),v>g&&(e.props.span=g),c&&(e.props.span=v),e),f=()=>{if(!r.default)return[];const e=we(r.default()).filter(y=>{var b;return((b=y==null?void 0:y.type)==null?void 0:b.name)==="ElDescriptionsItem"}),v=[];let g=[],c=i.column,C=0;return e.forEach((y,b)=>{var D;const a=((D=y.props)==null?void 0:D.span)||1;if(bc?c:a),b===e.length-1){const w=i.column-C%i.column;g.push(S(y,w,c,!0)),v.push(g);return}a(_(),E("div",{class:z(n(m))},[e.title||e.extra||e.$slots.title||e.$slots.extra?(_(),E("div",{key:0,class:z(n(s).e("header"))},[o("div",{class:z(n(s).e("title"))},[q(e.$slots,"title",{},()=>[h($(e.title),1)])],2),o("div",{class:z(n(s).e("extra"))},[q(e.$slots,"extra",{},()=>[h($(e.extra),1)])],2)],2)):xe("v-if",!0),o("div",{class:z(n(s).e("body"))},[o("table",{class:z([n(s).e("table"),n(s).is("bordered",e.border)])},[o("tbody",null,[(_(!0),E(N,null,A(f(),(g,c)=>(_(),R(Ge,{key:c,row:g},null,8,["row"]))),128))])],2)],2)],2))}});var Ke=J(Le,[["__file","description.vue"]]);const Oe=L({label:{type:String,default:""},span:{type:Number,default:1},width:{type:[String,Number],default:""},minWidth:{type:[String,Number],default:""},align:{type:String,default:"left"},labelAlign:{type:String,default:""},className:{type:String,default:""},labelClassName:{type:String,default:""}}),te=x({name:"ElDescriptionsItem",props:Oe}),qe=Ie(Ke,{DescriptionsItem:te}),Qe=Pe(te),He=async()=>Y("/contact/getContactList","GET"),Je=async p=>Y("/contact/deleteContact","GET",{id:p});const Xe=o("div",{class:"cell-item"},"客戶姓名",-1),Ye=o("div",{class:"cell-item"},"聯絡電話",-1),Ze=o("div",{class:"cell-item"},"聯絡地址",-1),et=o("div",{class:"cell-item"},"電子信箱",-1),tt=o("div",{class:"cell-item"},"留言內容",-1),lt=o("div",{class:"cell-item"},"留言時間",-1),at={__name:"content",props:["data"],setup(p){return(i,s)=>{const u=Qe,r=qe,m=X;return _(),R(m,{"body-style":{padding:"0px"}},{default:l(()=>[t(r,{column:1,border:""},{default:l(()=>[t(u,{"min-width":"90px","label-align":"right"},{label:l(()=>[Xe]),default:l(()=>[h(" "+$(p.data.name),1)]),_:1}),t(u,{"min-width":"90px","label-align":"right"},{label:l(()=>[Ye]),default:l(()=>[h(" "+$(p.data.tel),1)]),_:1}),t(u,{"min-width":"90px","label-align":"right"},{label:l(()=>[Ze]),default:l(()=>[h(" "+$(p.data.address),1)]),_:1}),t(u,{"min-width":"90px","label-align":"right"},{label:l(()=>[et]),default:l(()=>[h(" "+$(p.data.email),1)]),_:1}),t(u,{"min-width":"90px","label-align":"right"},{label:l(()=>[tt]),default:l(()=>[h(" "+$(p.data.content),1)]),_:1}),t(u,{"min-width":"90px","label-align":"right"},{label:l(()=>[lt]),default:l(()=>[h(" "+$(p.data.create_time),1)]),_:1})]),_:1})]),_:1})}}},st={class:"main"},nt={class:"breadcrumb-section"},ot=o("div",null,null,-1),it={class:"pagination-block"},xt={__name:"Index",setup(p){const i=Be({page:1,pageSize:10}),{page:s,pageSize:u}=Ve(i),r=V(0),m=V(!1),S=V(!1),f=V([]);Te(()=>{e()});const e=async()=>{m.value=!0;let a=await He();a.code===200&&(f.value=a.data.list,r.value=a.data.total),m.value=!1},v=a=>{_e.confirm("確認刪除此紀錄?").then(async()=>{(await Je(a)).code===200?(H({message:"刪除成功.",type:"success"}),e()):H({message:"刪除失敗.",type:"error"})}).catch(()=>{})},g=a=>{i.pageSize=a,e()},c=a=>{i.page=a,e()},C=a=>{i.page=a,e()},y=a=>{i.page=a,e()},b=V({}),D=a=>{b.value=a,S.value=!0};return(a,w)=>{const I=fe,P=ge,d=he,M=pe,F=ue,j=Ee,G=Se,U=Ce,le=ve,ae=be,se=X,ne=me;return _(),E(N,null,[o("div",st,[o("div",nt,[o("div",null,[t(P,{separator:"/"},{default:l(()=>[t(I,null,{default:l(()=>[h(" 聯絡我們 ")]),_:1}),t(I,null,{default:l(()=>[h(" 表單信件 ")]),_:1})]),_:1})]),ot]),t(se,{"body-style":{padding:"0px"}},{default:l(()=>[t(le,{data:f.value},{default:l(()=>[t(d,{fixed:"",prop:"id",label:"#",width:"50"}),t(d,{prop:"name",label:"聯絡人",width:"180"}),t(d,{prop:"email",label:"E-mail"}),t(d,{prop:"tel",label:"聯絡電話"}),t(d,{prop:"create_time",label:"留言時間"}),t(d,{label:"操作",width:"105",fixed:"right"},{default:l(k=>[t(U,null,{dropdown:l(()=>[t(G,null,{default:l(()=>[t(j,{icon:n(re),onClick:oe=>D(k.row)},{default:l(()=>[h("內容")]),_:2},1032,["icon","onClick"]),t(j,{icon:n(ce),onClick:oe=>v(k.row.id)},{default:l(()=>[h("刪除")]),_:2},1032,["icon","onClick"])]),_:2},1024)]),default:l(()=>[t(F,{type:"danger"},{default:l(()=>[h(" 操作"),t(M,{class:"el-icon--right"},{default:l(()=>[t(n(de))]),_:1})]),_:1})]),_:2},1024)]),_:1})]),_:1},8,["data"]),o("div",it,[t(ae,{"current-page":n(s),"onUpdate:currentPage":w[0]||(w[0]=k=>Q(s)?s.value=k:null),"page-size":n(u),"onUpdate:pageSize":w[1]||(w[1]=k=>Q(u)?u.value=k:null),"page-sizes":[10,20,50,100],layout:"->,total, sizes, prev, pager, next, jumper",total:r.value,onSizeChange:g,onCurrentChange:c,onPrevClick:C,onNextClick:y},null,8,["current-page","page-size","total"])])]),_:1})]),o("div",null,[t(ne,{modelValue:S.value,"onUpdate:modelValue":w[2]||(w[2]=k=>S.value=k),title:"留言內容","destroy-on-close":!0},{default:l(()=>[t(at,{data:b.value},null,8,["data"])]),_:1},8,["modelValue"])])],64)}}};export{xt as default}; diff --git a/nginx/html/admin/assets/Index-3582e09f.js b/nginx/html/admin/assets/Index-3582e09f.js new file mode 100644 index 0000000..b95c4c2 --- /dev/null +++ b/nginx/html/admin/assets/Index-3582e09f.js @@ -0,0 +1 @@ +import{p as G,E as O,G as j,H as oe,F as ae,b as ie}from"./el-button-6b66070a.js";import{E as ne}from"./el-drawer-70a11b9f.js";import{E as se}from"./el-message-box-e23ec1aa.js";import{E as q,a as H}from"./el-form-item-0317a247.js";import{E as Q}from"./el-progress-dc506117.js";import{a as de,b as re,E as ue}from"./el-breadcrumb-item-0eb7853a.js";import{E as me,a as ce}from"./el-table-column-d43fc778.js";import"./el-tag-c9faf503.js";import"./el-tooltip-4ed993c7.js";import"./el-scrollbar-68edc4d7.js";import{E as pe,a as _e,b as fe}from"./el-dropdown-item-9e1be9b9.js";import"./el-icon-08628b36.js";import{E as W}from"./el-input-e550db6e.js";import{E as ve}from"./el-image-viewer-f695cd1a.js";import{E as ye}from"./el-dialog-3f9d9ba4.js";import{a as k,u as ge}from"./request-63584e50.js";import{E as h}from"./el-message-76e8eab1.js";import{_ as J}from"./_plugin-vue_export-helper-c27b6911.js";import{q as m,z as K,v as X,o as A,f as R,M as u,Q as e,w as t,a as V,N as f,O as Y,F as z,a3 as we,W as be,c as Ee,a7 as Ve,a8 as he}from"./index-3ef4d3eb.js";import"./use-dialog-bab1b29c.js";import"./index-a4d0b5b6.js";import"./aria-60e0cdc6.js";import"./castArray-3bec7949.js";import"./_baseClone-bf299fb6.js";import"./cloneDeep-8bc5fe7b.js";const ke=async s=>k("/activity/getActivityList","POST",s),xe=async s=>k("/activity/getActivity","GET",{id:s}),Ie=async s=>k("/activity/deleteActivity","GET",{id:s}),Ce=async s=>k("/activity/updateActivity","POST",s),Fe=async s=>k("/activity/addActivity","POST",s);const De={class:"demo-drawer__footer",style:{"text-align":"right"}},Ae=["src"],Ue={__name:"Form",props:{editid:{type:Number,default:0}},emits:["close"],setup(s,{emit:b}){const w=s,x=b,v=m("insert"),_=m(!1),y=m(null),n=m({id:0,title1:"",title2:"",title3:"",imageList:[]});K(async()=>{if(w.editid){let i=await xe(w.editid);i.code===200&&(n.value=i.data,v.value="update",g.value=i.data.imageList.map(l=>({uid:l.uid,url:"https://prodio.zltest.com.tw"+l.url})))}});const U=X({}),L=()=>{x("close",!1)},T=i=>{i&&i.validate(async l=>{if(l){let a,p;v.value==="update"?(n.value.id=w.editid,a=await Ce(n.value),p="修改成功."):(a=await Fe(n.value),p="新增成功."),a.code===200&&(h({message:p,type:"success"}),x("close",!0))}else return h({message:"操作失敗.",type:"error"}),!1})},g=m([]),I=m(""),o=m(!1),c=async i=>{const l=new FormData;l.append("file",i.file),_.value=!0;let a=await ge("/activity/uploadImage",l);a.code===200?n.value.imageList.push({uid:i.file.uid,url:a.data}):h.error("上傳失敗"),_.value=!1},C=(i,l)=>{n.value.imageList=n.value.imageList.filter(a=>a.uid!==i.uid)},S=i=>{I.value=i.url,o.value=!0};return(i,l)=>{const a=W,p=q,$=O,F=Q,B=H,D=j,P=ye;return A(),R(z,null,[u("div",null,[e(B,{ref_key:"formRef",ref:y,model:n.value,"status-icon":"",rules:U,"label-width":"120px"},{default:t(()=>[e(p,{label:"標題(繁)",prop:"title"},{default:t(()=>[e(a,{modelValue:n.value.title1,"onUpdate:modelValue":l[0]||(l[0]=r=>n.value.title1=r)},null,8,["modelValue"])]),_:1}),e(p,{label:"標題(簡)",prop:"title"},{default:t(()=>[e(a,{modelValue:n.value.title2,"onUpdate:modelValue":l[1]||(l[1]=r=>n.value.title2=r)},null,8,["modelValue"])]),_:1}),e(p,{label:"標題(英)",prop:"title"},{default:t(()=>[e(a,{modelValue:n.value.title3,"onUpdate:modelValue":l[2]||(l[2]=r=>n.value.title3=r)},null,8,["modelValue"])]),_:1}),e(p,{label:"活動照片",prop:"content"},{default:t(()=>[e(F,{"file-list":g.value,"onUpdate:fileList":l[3]||(l[3]=r=>g.value=r),action:"#","http-request":c,"list-type":"picture-card","on-preview":S,"on-remove":C},{default:t(()=>[e($,null,{default:t(()=>[e(V(G))]),_:1})]),_:1},8,["file-list"])]),_:1})]),_:1},8,["model","rules"]),u("div",De,[e(D,{onClick:L},{default:t(()=>[f("取消")]),_:1}),e(D,{type:"primary",loading:_.value,onClick:l[4]||(l[4]=r=>T(y.value))},{default:t(()=>[f(Y(_.value?"提交中 ...":"確認"),1)]),_:1},8,["loading"])])]),e(P,{modelValue:o.value,"onUpdate:modelValue":l[5]||(l[5]=r=>o.value=r)},{default:t(()=>[u("img",{"w-full":"",src:I.value,alt:"Preview Image"},null,8,Ae)]),_:1},8,["modelValue"])],64)}}},Le=J(Ue,[["__scopeId","data-v-140448bb"]]);const Z=s=>(Ve("data-v-ae4747d8"),s=s(),he(),s),Te={class:"main"},Se={class:"breadcrumb-section"},$e=Z(()=>u("a",{href:"/"},"公司活動",-1)),Be={class:"imgGroup"},Pe=Z(()=>u("small",{class:"el-upload__tip"}," ※ 請上傳500kb以內jpg檔案。",-1)),Re={class:"demo-drawer__footer",style:{"text-align":"right"}},ze={__name:"Index",setup(s){const b=m(!1),w=X({page:1,pageSize:10});we(w);const x=m(0),v=m(!1),_=m(!1),y=m([]);K(()=>{n()});const n=async()=>{v.value=!0;let o=await ke(w);o.code===200&&(y.value=o.data.list,x.value=o.data.total),v.value=!1},U=()=>{g.value=0,_.value=!0},L=o=>{g.value=o,_.value=!0},T=o=>{se.confirm("確認刪除此紀錄?").then(async()=>{(await Ie(o)).code===200?(h({message:"刪除成功.",type:"success"}),n()):h({message:"刪除失敗.",type:"error"})}).catch(()=>{})},g=m(0),I=o=>{_.value=!1,o&&n()};return(o,c)=>{const C=de,S=re,i=j,l=ve,a=me,p=W,$=O,F=pe,B=_e,D=fe,P=ce,r=ue,N=q,ee=Q,te=H,M=ne;return A(),R(z,null,[u("div",Te,[u("div",Se,[u("div",null,[e(S,{separator:"/"},{default:t(()=>[e(C,null,{default:t(()=>[f(" 最新消息 ")]),_:1}),e(C,null,{default:t(()=>[$e]),_:1})]),_:1})]),u("div",null,[e(i,{type:"primary",icon:V(G),onClick:U},{default:t(()=>[f(" 新增活動 ")]),_:1},8,["icon"])])]),e(r,{"body-style":{padding:"0px"}},{default:t(()=>[e(P,{data:y.value,style:{width:"100%"}},{default:t(()=>[e(a,{type:"expand",label:"相簿",width:"80"},{default:t(d=>[u("div",Be,[(A(!0),R(z,null,be(d.row.imageList,(E,le)=>(A(),Ee(l,{key:le,style:{width:"100px",height:"60px"},src:"https://prodio.zltest.com.tw"+E.url,fit:o.cover},null,8,["src","fit"]))),128))])]),_:1}),e(a,{prop:"id",label:"#",width:"50"}),e(a,{prop:"title1",label:"標題(繁)"}),e(a,{prop:"title2",label:"標題(簡)"}),e(a,{prop:"title3",label:"標題(英)"}),e(a,{prop:"create_time",label:"建立時間"}),e(a,{prop:"sort",label:"排序",width:"80"},{default:t(d=>[e(p,{modelValue:y.value[d.$index].sort,"onUpdate:modelValue":E=>y.value[d.$index].sort=E,style:{width:"40px"}},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),e(a,{label:"其他項目",width:"105",fixed:"right"},{default:t(d=>[e(D,null,{dropdown:t(()=>[e(B,null,{default:t(()=>[e(F,{icon:V(oe),onClick:E=>L(d.row.id)},{default:t(()=>[f("修改")]),_:2},1032,["icon","onClick"]),e(F,{icon:V(ae),onClick:E=>T(d.row.id)},{default:t(()=>[f("刪除")]),_:2},1032,["icon","onClick"])]),_:2},1024)]),default:t(()=>[e(i,{type:"danger"},{default:t(()=>[f(" 操作"),e($,{class:"el-icon--right"},{default:t(()=>[e(V(ie))]),_:1})]),_:1})]),_:2},1024)]),_:1})]),_:1},8,["data"])]),_:1})]),u("div",null,[e(M,{ref:"drawerRef",modelValue:b.value,"onUpdate:modelValue":c[2]||(c[2]=d=>b.value=d),title:"新增動態",direction:"rtl",size:"550"},{default:t(()=>[e(r,null,{default:t(()=>[e(te,{model:o.initform,"label-width":"120px"},{default:t(()=>[e(N,{label:"標題"},{default:t(()=>[e(p,{modelValue:o.initform.title,"onUpdate:modelValue":c[0]||(c[0]=d=>o.initform.title=d)},null,8,["modelValue"])]),_:1}),e(N,{label:"相簿上傳"},{default:t(()=>[e(ee,{class:"upload-demo",action:"https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15","on-preview":o.handlePreview,"on-remove":o.handleRemove,"list-type":"picture"},{tip:t(()=>[Pe]),default:t(()=>[e(i,{type:"primary"},{default:t(()=>[f("上傳圖片")]),_:1})]),_:1},8,["on-preview","on-remove"])]),_:1})]),_:1},8,["model"])]),_:1}),u("div",Re,[e(i,{onClick:c[1]||(c[1]=d=>b.value=!1)},{default:t(()=>[f("取消")]),_:1}),e(i,{type:"primary",loading:v.value,onClick:o.onClick},{default:t(()=>[f(Y(v.value?"Submitting ...":"確認"),1)]),_:1},8,["loading","onClick"])])]),_:1},8,["modelValue"])]),u("div",null,[e(M,{ref:"drawerRef",modelValue:_.value,"onUpdate:modelValue":c[3]||(c[3]=d=>_.value=d),"destroy-on-close":!0,title:"新增管理員",direction:"rtl",size:"70%"},{default:t(()=>[e(Le,{editid:g.value,onClose:I},null,8,["editid"])]),_:1},8,["modelValue"])])],64)}}},mt=J(ze,[["__scopeId","data-v-ae4747d8"]]);export{mt as default}; diff --git a/nginx/html/admin/assets/Index-3757811f.js b/nginx/html/admin/assets/Index-3757811f.js new file mode 100644 index 0000000..6235ba1 --- /dev/null +++ b/nginx/html/admin/assets/Index-3757811f.js @@ -0,0 +1 @@ +import{G as b}from"./el-button-dd91f3f6.js";import{a as h,b as x,E as S}from"./el-breadcrumb-item-fc2f12a8.js";import{C as k}from"./ckeditor-a16a5aab.js";import{g as C,u as E}from"./article-28c8ad47.js";import{E as d}from"./el-message-a9712316.js";import{_ as I}from"./_plugin-vue_export-helper-c27b6911.js";import{q as c,z as B,L as w,o as V,f as N,M as o,Q as e,w as t,N as m,a as R,a7 as z,a8 as A}from"./index-a18521e5.js";import"./request-a37452c7.js";import"./aria-60e0cdc6.js";const L=a=>(z("data-v-61a86e6f"),a=a(),A(),a),T={class:"main"},F={class:"breadcrumb-section"},M=L(()=>o("a",{href:"/"},"公司簡介",-1)),U={style:{padding:"10px"}},$={class:"card-footer"},q={__name:"Index",setup(a){const _=k,s=c(""),p=c({simpleUpload:{uploadUrl:"https://prodio.zltest.com.tw/adminapi/article/uploadImage",headers:{"X-CSRF-TOKEN":"CSFR-Token",Authorization:`${sessionStorage.getItem("token")}`}},image:{resize:!0,toolbar:["imageTextAlternative","|","imageStyle:alignLeft","imageStyle:alignRight","|","imageStyle:alignBlockLeft","imageStyle:block","imageStyle:alignBlockRight"],styles:["full","alignLeft","alignRight"]}});B(async()=>{let n=await C(1);n.code===200&&(s.value=n.data.content)});const u=async()=>(await E({id:1,content:s.value})).code===200?d({message:"更新成功",type:"success"}):d({message:"更新失敗",type:"error"});return(n,r)=>{const l=h,f=x,g=w("ckeditor"),v=b,y=S;return V(),N("div",T,[o("div",F,[o("div",null,[e(f,{separator:"/"},{default:t(()=>[e(l,null,{default:t(()=>[m(" 經銷系統 ")]),_:1}),e(l,null,{default:t(()=>[M]),_:1})]),_:1})])]),e(y,{"body-style":{padding:"0px"}},{default:t(()=>[o("div",U,[e(g,{editor:R(_),modelValue:s.value,"onUpdate:modelValue":r[0]||(r[0]=i=>s.value=i),config:p.value},null,8,["editor","modelValue","config"])]),o("div",$,[e(v,{type:"primary",onClick:r[1]||(r[1]=i=>u())},{default:t(()=>[m("確認")]),_:1})])]),_:1})])}}},P=I(q,[["__scopeId","data-v-61a86e6f"]]);export{P as default}; diff --git a/nginx/html/admin/assets/Index-37891871.js b/nginx/html/admin/assets/Index-37891871.js new file mode 100644 index 0000000..4b5165e --- /dev/null +++ b/nginx/html/admin/assets/Index-37891871.js @@ -0,0 +1 @@ +import{G as h}from"./el-button-b67915d8.js";import{a as x,b as S,E as k}from"./el-breadcrumb-item-762e8056.js";import{C}from"./ckeditor-140c1ad2.js";import{g as E,u as I}from"./article-8e1d926f.js";import{E as d}from"./el-message-447d52b9.js";import{_ as B}from"./_plugin-vue_export-helper-c27b6911.js";import{q as c,z as w,L as V,o as N,f as R,M as t,Q as e,w as o,N as m,a as z,a7 as A,a8 as L}from"./index-b2bcea28.js";import"./request-88e5850c.js";import"./aria-60e0cdc6.js";const _=a=>(A("data-v-edcc74e1"),a=a(),L(),a),T={class:"main"},F={class:"breadcrumb-section"},M=_(()=>t("a",{href:"/"},"經營理念",-1)),U=_(()=>t("div",null,null,-1)),$={style:{padding:"10px"}},q={class:"card-footer"},G={__name:"Index",setup(a){const p=C,s=c(""),u=c({simpleUpload:{uploadUrl:"https://prodio.zltest.com.tw/adminapi/article/uploadImage",headers:{"X-CSRF-TOKEN":"CSFR-Token",Authorization:`${sessionStorage.getItem("token")}`}},image:{resize:!0,toolbar:["imageTextAlternative","|","imageStyle:alignLeft","imageStyle:alignRight","|","imageStyle:alignBlockLeft","imageStyle:block","imageStyle:alignBlockRight"],styles:["full","alignLeft","alignRight"]}});w(async()=>{let n=await E(2);n.code===200&&(s.value=n.data.content)});const g=async()=>(await I({id:2,content:s.value})).code===200?d({message:"更新成功",type:"success"}):d({message:"更新失敗",type:"error"});return(n,l)=>{const r=x,f=S,v=V("ckeditor"),y=h,b=k;return N(),R("div",T,[t("div",F,[t("div",null,[e(f,{separator:"/"},{default:o(()=>[e(r,null,{default:o(()=>[m(" 經銷系統 ")]),_:1}),e(r,null,{default:o(()=>[M]),_:1})]),_:1})]),U]),e(b,{"body-style":{padding:"0px"}},{default:o(()=>[t("div",$,[e(v,{editor:z(p),modelValue:s.value,"onUpdate:modelValue":l[0]||(l[0]=i=>s.value=i),config:u.value},null,8,["editor","modelValue","config"])]),t("div",q,[e(y,{type:"primary",onClick:l[1]||(l[1]=i=>g())},{default:o(()=>[m("確認")]),_:1})])]),_:1})])}}},W=B(G,[["__scopeId","data-v-edcc74e1"]]);export{W as default}; diff --git a/nginx/html/admin/assets/Index-379db2d7.css b/nginx/html/admin/assets/Index-379db2d7.css new file mode 100644 index 0000000..e4e0503 --- /dev/null +++ b/nginx/html/admin/assets/Index-379db2d7.css @@ -0,0 +1 @@ +[data-v-a24c4f0d] .ck-editor__editable_inline{height:400px}.imgGroup[data-v-4ed6ff2e]{margin:10px}.imgGroup .el-image[data-v-4ed6ff2e]{margin:4px} diff --git a/nginx/html/admin/assets/Index-3bb84651.js b/nginx/html/admin/assets/Index-3bb84651.js new file mode 100644 index 0000000..7690f58 --- /dev/null +++ b/nginx/html/admin/assets/Index-3bb84651.js @@ -0,0 +1 @@ +import{p as K,E as S,G as q,H as W,F as J,b as X}from"./el-button-e2db9d24.js";import{E as Y}from"./el-drawer-ff04497f.js";import{E as Z}from"./el-message-box-b36f6f03.js";import{a as ee,b as ae,E as te}from"./el-breadcrumb-item-4a5b4005.js";import{E as le,a as oe}from"./el-table-column-448a0581.js";import"./el-tag-290e5c91.js";import"./el-tooltip-4ed993c7.js";import"./el-scrollbar-5933f25d.js";import{E as se,a as re,b as ne}from"./el-dropdown-item-bbb7be2f.js";import"./el-icon-08628b36.js";import{E as G}from"./el-input-5fc6aaec.js";import{q as n,z as H,v as de,o as d,f as V,M as c,Q as e,w as a,c as C,F as L,W as ue,a as x,V as O,N as f,O as P,a4 as ie,D as ce,a5 as me}from"./index-7ed2d026.js";import{E as pe}from"./el-dialog-e4a7f8ff.js";import{E as _e,a as fe}from"./el-form-item-8920ca0c.js";import{E as ve}from"./el-progress-c3e10056.js";import{E as ge,a as ye}from"./el-select-ffb55c7a.js";import{a as we,b as be,u as Q,c as Ee,g as he,d as ke}from"./category-62de9d5c.js";import{u as Ce}from"./request-26ab9dc6.js";import{f as Ve}from"./style-d6e2b45a.js";import{E as v}from"./el-message-3c79da29.js";import{_ as xe}from"./_plugin-vue_export-helper-c27b6911.js";import"./use-dialog-7562524e.js";import"./index-dc664f45.js";import"./aria-60e0cdc6.js";import"./castArray-283666ff.js";import"./_baseClone-a5946d7f.js";import"./cloneDeep-e81a5417.js";import"./index-8f4d4c63.js";import"./strings-d2b52496.js";const De=["src"],Fe={class:"demo-drawer__footer",style:{"text-align":"right"}},Ie={key:0,class:"cropper-section"},Ue={class:"crop-area"},$e={class:"crop-btn"},Be={__name:"Form",props:{editid:{type:Number,default:0}},emits:["close"],setup(A,{emit:D}){const p=A,w=D,g=n("insert"),b=n(!1),F=n(null),o=n({id:0,parent_id:0}),E=n([]);H(async()=>{if(p.editid){let l=await we(p.editid);l.code===200&&(o.value=l.data,g.value="update")}let s=await be();s.code===200&&(E.value=s.data.map(l=>({label:l.name,value:l.id})))});const $=de({username:[{required:!0,message:"管理員帳號必填",trigger:"blur"}]}),u=n({show:!1,img:null,ratio:2.6}),I=n(null),B=s=>s.type!=="image/jpeg"&&s.type!=="image/png"&&s.type!=="image/jpg"?(v.error("圖片格式只能是jpeg/png/jpg!"),!1):(u.value.show=!0,u.value.img=URL.createObjectURL(s),!1),r=()=>{const{canvas:s}=I.value.getResult();if(s){const l=new FormData;s.toBlob(async m=>{let i=new File([m],"image.jpg");l.append("fileType","IMAGE"),l.append("file",i),u.value.show=!1,b.value=!0;let y=await Ce("/cate/uploadImage",l);y.code===200?(o.value.imageurl=y.data,v.success("上傳成功")):v.error("上傳失敗"),b.value=!1},"image/jpeg")}},_=()=>{u.value.show=!1},U=()=>{w("close",!1)},R=s=>{s&&s.validate(async l=>{if(l){let m,i;g.value==="update"?(o.value.id=p.editid,m=await Q(o.value),i="修改成功."):(m=await Ee(o.value),i="新增成功."),m.code===200&&(v({message:i,type:"success"}),w("close",!0))}else return v({message:"操作失敗.",type:"error"}),!1})};return(s,l)=>{const m=G,i=_e,y=ge,j=ye,T=S,M=ve,N=fe,h=q,z=pe;return d(),V(L,null,[c("div",null,[e(N,{ref_key:"formRef",ref:F,model:o.value,"status-icon":"",rules:$,"label-width":"120px"},{default:a(()=>[e(i,{label:"分類名稱",prop:"name"},{default:a(()=>[o.value.parent_id===0?(d(),C(m,{key:0,modelValue:o.value.name,"onUpdate:modelValue":l[0]||(l[0]=t=>o.value.name=t),type:"text"},null,8,["modelValue"])):(d(),C(m,{key:1,modelValue:o.value.name,"onUpdate:modelValue":l[1]||(l[1]=t=>o.value.name=t),rows:4,type:"textarea"},null,8,["modelValue"]))]),_:1}),e(i,{label:"上級分類"},{default:a(()=>[e(j,{modelValue:o.value.parent_id,"onUpdate:modelValue":l[2]||(l[2]=t=>o.value.parent_id=t),class:"m-2",placeholder:"Select"},{default:a(()=>[e(y,{label:"最上層",value:0}),(d(!0),V(L,null,ue(E.value,t=>(d(),C(y,{key:t.value,label:t.label,value:t.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),o.value.parent_id===0?(d(),C(i,{key:0,label:"類別圖片",prop:"imageurl"},{default:a(()=>[e(M,{class:"avatar-uploader",action:"#",accept:"image/*","show-file-list":!1,"auto-upload":!0,"before-upload":t=>B(t)},{default:a(()=>[o.value.imageurl?(d(),V("img",{key:0,src:o.value.imageurl,class:"avatar",id:"imageurl"},null,8,De)):(d(),C(T,{key:1,class:"avatar-uploader-icon"},{default:a(()=>[e(x(K))]),_:1}))]),_:1},8,["before-upload"])]),_:1})):O("",!0)]),_:1},8,["model","rules"]),c("div",Fe,[e(h,{onClick:U},{default:a(()=>[f("取消")]),_:1}),e(h,{type:"primary",loading:b.value,onClick:l[3]||(l[3]=t=>R(F.value))},{default:a(()=>[f(P(b.value?"提交中 ...":"確認"),1)]),_:1},8,["loading"])])]),c("div",null,[e(z,{modelValue:u.value.show,"onUpdate:modelValue":l[4]||(l[4]=t=>u.value.show=t),title:"Tips","before-close":_},{default:a(()=>[u.value.show?(d(),V("div",Ie,[c("div",Ue,[e(x(Ve),{class:"cropper",ref_key:"myCrop",ref:I,src:u.value.img,"stencil-props":{aspectRatio:u.value.ratio},"auto-zoom":!0},null,8,["src","stencil-props"])]),c("div",$e,[e(h,{type:"primary",size:"small",text:"",onClick:_},{default:a(()=>[f("取消")]),_:1}),e(h,{type:"primary",size:"small",onClick:r},{default:a(()=>[f("剪裁")]),_:1})])])):O("",!0)]),_:1},8,["modelValue"])])],64)}}},Re=xe(Be,[["__scopeId","data-v-9d62c9e0"]]),je={class:"main"},Te={class:"breadcrumb-section"},Me=c("a",{href:"/"},"產品類別",-1),Ne=["onDblclick"],pa={__name:"Index",setup(A){const D=n([]);n("");const p=n(!1);n(!1),H(()=>{w()});const w=async()=>{let r=await he();r.code===200&&(D.value=r.data)},g=n(0),b=r=>{g.value=r},F=async r=>{(await Q(r)).code===200?(v({message:"修改成功.",type:"success"}),w()):v({message:"修改失敗.",type:"error"}),g.value=0},o=()=>{g.value=0},E=n(0),$=()=>{E.value=0,p.value=!0},u=r=>{E.value=r,p.value=!0},I=r=>{Z.confirm("確認刪除此紀錄?").then(async()=>{(await ke(r)).code===200?(v({message:"刪除成功.",type:"success"}),w()):v({message:"刪除失敗.",type:"error"})}).catch(()=>{})},B=r=>{p.value=!1,r&&w()};return(r,_)=>{const U=ee,R=ae,s=q,l=le,m=G,i=S,y=se,j=re,T=ne,M=oe,N=te,h=Y,z=ie("focus");return d(),V(L,null,[c("div",je,[c("div",Te,[c("div",null,[e(R,{separator:"/"},{default:a(()=>[e(U,null,{default:a(()=>[f(" 經銷系統 ")]),_:1}),e(U,null,{default:a(()=>[Me]),_:1})]),_:1})]),c("div",null,[e(s,{type:"primary",icon:x(K),onClick:$},{default:a(()=>[f("新增產品類別")]),_:1},8,["icon"])])]),e(N,{"body-style":{padding:"0px"}},{default:a(()=>[e(M,{data:D.value,style:{width:"100%"},"row-key":"id","default-expand-all":""},{default:a(()=>[e(l,{prop:"name",label:"類別名稱"}),e(l,{label:"排序",width:"80"},{default:a(t=>[t.row.id!==g.value?(d(),V("div",{key:0,onDblclick:k=>b(t.row.id)},P(t.row.sort_order),41,Ne)):ce((d(),C(m,{key:1,modelValue:t.row.sort_order,"onUpdate:modelValue":k=>t.row.sort_order=k,style:{width:"50px"},onKeyup:me(k=>F(t.row),["enter"]),onBlur:_[0]||(_[0]=k=>o()),autoFocus:!0},null,8,["modelValue","onUpdate:modelValue","onKeyup"])),[[z,t.row.id===g.value]])]),_:1}),e(l,{label:"其他項目",width:"105",fixed:"right"},{default:a(t=>[e(T,null,{dropdown:a(()=>[e(j,null,{default:a(()=>[e(y,{icon:x(W),onClick:k=>u(t.row.id)},{default:a(()=>[f("修改分類")]),_:2},1032,["icon","onClick"]),e(y,{icon:x(J),onClick:k=>I(t.row.id)},{default:a(()=>[f("刪除分類")]),_:2},1032,["icon","onClick"])]),_:2},1024)]),default:a(()=>[e(s,{type:"danger"},{default:a(()=>[f(" 操作"),e(i,{class:"el-icon--right"},{default:a(()=>[e(x(X))]),_:1})]),_:1})]),_:2},1024)]),_:1})]),_:1},8,["data"])]),_:1})]),c("div",null,[e(h,{ref:"drawerRef",modelValue:p.value,"onUpdate:modelValue":_[1]||(_[1]=t=>p.value=t),"destroy-on-close":!0,title:"新增產品類別",direction:"rtl",size:"50%"},{default:a(()=>[e(Re,{editid:E.value,onClose:B},null,8,["editid"])]),_:1},8,["modelValue"])])],64)}}};export{pa as default}; diff --git a/nginx/html/admin/assets/Index-493fa7b2.css b/nginx/html/admin/assets/Index-493fa7b2.css new file mode 100644 index 0000000..e3f0c14 --- /dev/null +++ b/nginx/html/admin/assets/Index-493fa7b2.css @@ -0,0 +1 @@ +.avatar-uploader .avatar[data-v-9d62c9e0]{width:312px;height:120px;display:block}[data-v-9d62c9e0] .avatar-uploader .el-upload{border:1px dashed var(--el-border-color);border-radius:6px;cursor:pointer;position:relative;overflow:hidden;transition:var(--el-transition-duration-fast)}.avatar-uploader .el-upload[data-v-9d62c9e0]:hover{border-color:var(--el-color-primary)}.el-icon.avatar-uploader-icon[data-v-9d62c9e0]{font-size:28px;color:#8c939d;width:312px;height:120px;text-align:center}[data-v-9d62c9e0] .el-dialog{width:40%!important}.crop-btn[data-v-9d62c9e0]{text-align:right;margin-top:10px} diff --git a/nginx/html/admin/assets/Index-4ee9ac37.js b/nginx/html/admin/assets/Index-4ee9ac37.js new file mode 100644 index 0000000..1f94ba0 --- /dev/null +++ b/nginx/html/admin/assets/Index-4ee9ac37.js @@ -0,0 +1 @@ +import{p as L,E as z,G as M,H as Z,F as ee,b as le}from"./el-button-b67915d8.js";import{E as ae}from"./el-drawer-1235fb1f.js";import{E as te}from"./el-message-box-31f94f7f.js";import{E as N,a as oe,b as se}from"./el-breadcrumb-item-762e8056.js";import{E as re,a as ne}from"./el-table-column-381af1e5.js";import"./el-tag-d3d38fd0.js";import"./el-tooltip-4ed993c7.js";import"./el-scrollbar-5edfcb3f.js";import{E as ie,a as ue,b as de}from"./el-dropdown-item-b9c7b677.js";import"./el-icon-08628b36.js";import{E as A}from"./el-input-5189b047.js";import{E as pe}from"./el-image-viewer-0d923d79.js";import{q as u,z as q,o as b,f as D,M as p,Q as e,w as l,c as K,a as k,N as v,O as P,V as ce,F as H,v as me,a3 as _e,a4 as fe,D as ve,a5 as ge}from"./index-b2bcea28.js";import{E as ye}from"./el-dialog-775a0d0d.js";import{E as we,a as be}from"./el-form-item-07a15cb5.js";import{E as Ee}from"./el-progress-4ca8ef53.js";import{a as S,u as he}from"./request-88e5850c.js";import{f as Ve}from"./style-c38cf729.js";import{E as g}from"./el-message-447d52b9.js";import{_ as ke}from"./_plugin-vue_export-helper-c27b6911.js";import"./use-dialog-15edcc44.js";import"./index-07bb2cc4.js";import"./aria-60e0cdc6.js";import"./castArray-8eb82dce.js";import"./_baseClone-49d9099a.js";import"./cloneDeep-996df659.js";const Ce=async()=>S("/supplier/getSupplierList","GET"),xe=async c=>S("/supplier/getSupplier","GET",{id:c}),De=async c=>S("/supplier/deleteSupplier","GET",{id:c}),Q=async c=>S("/supplier/updateSupplier","POST",c),Se=async c=>S("/supplier/addSupplier","POST",c);const Fe=["src"],Ie={class:"demo-drawer__footer",style:{"text-align":"right"}},Te={key:0,class:"cropper-section"},Ue={class:"crop-area"},Oe={class:"crop-btn"},$e={__name:"Form",props:{editid:{type:Number,default:0}},emits:["close"],setup(c,{emit:T}){const E=c,y=T,C=u("insert"),_=u(!1),F=u(null),o=u({id:0});q(async()=>{if(E.editid){let a=await xe(E.editid);a.code===200&&(o.value=a.data,C.value="update")}});const U=u({imageurl:[{required:!0,message:"供應商LOGO必需要有",trigger:"blur"}],name:[{required:!0,message:"供應商名稱必填",trigger:"blur"}]}),s=u({show:!1,img:null,ratio:3.012}),I=u(null),O=a=>a.type!=="image/jpeg"&&a.type!=="image/png"&&a.type!=="image/jpg"?(g.error("圖片格式只能是jpeg/png/jpg!"),!1):(s.value.show=!0,s.value.img=URL.createObjectURL(a),!1),$=()=>{const{canvas:a}=I.value.getResult();if(a){const t=new FormData;a.toBlob(async f=>{let m=new File([f],"image.jpg");t.append("fileType","IMAGE"),t.append("file",m),s.value.show=!1,_.value=!0;let n=await he("/supplier/uploadSupplierImage",t);n.code===200?(o.value.imageurl=n.data,g.success("上傳成功")):g.error("上傳失敗"),_.value=!1},"image/jpeg")}},h=()=>{s.value.show=!1},B=()=>{y("close",!1)},r=a=>{a&&a.validate(async t=>{if(t){let f,m;C.value==="update"?(o.value.id=E.editid,f=await Q(o.value),m="修改成功."):(f=await Se(o.value),m="新增成功."),f.code===200&&(g({message:m,type:"success"}),y("close",!0))}else return g({message:"操作失敗.",type:"error"}),!1})};return(a,t)=>{const f=z,m=Ee,n=we,x=A,j=be,G=N,w=M,R=ye;return b(),D(H,null,[p("div",null,[e(G,null,{default:l(()=>[e(j,{ref_key:"formRef",ref:F,model:o.value,"status-icon":"",rules:U.value,"label-width":"120px"},{default:l(()=>[e(n,{label:"供應商LOGO",prop:"imageurl"},{default:l(()=>[e(m,{class:"avatar-uploader",action:"#",accept:"image/*","show-file-list":!1,"auto-upload":!0,"on-success":a.handleAvatarSuccess,"before-upload":d=>O(d)},{default:l(()=>[o.value.imageurl?(b(),D("img",{key:0,src:o.value.imageurl,class:"avatar",id:"imageurl"},null,8,Fe)):(b(),K(f,{key:1,class:"avatar-uploader-icon"},{default:l(()=>[e(k(L))]),_:1}))]),_:1},8,["on-success","before-upload"])]),_:1}),e(n,{label:"供應商名稱(繁)",prop:"name1"},{default:l(()=>[e(x,{modelValue:o.value.name1,"onUpdate:modelValue":t[0]||(t[0]=d=>o.value.name1=d)},null,8,["modelValue"])]),_:1}),e(n,{label:"供應商名稱(簡)",prop:"name2"},{default:l(()=>[e(x,{modelValue:o.value.name2,"onUpdate:modelValue":t[1]||(t[1]=d=>o.value.name2=d)},null,8,["modelValue"])]),_:1}),e(n,{label:"供應商名稱(英)",prop:"name3"},{default:l(()=>[e(x,{modelValue:o.value.name3,"onUpdate:modelValue":t[2]||(t[2]=d=>o.value.name3=d)},null,8,["modelValue"])]),_:1})]),_:1},8,["model","rules"])]),_:1}),p("div",Ie,[e(w,{onClick:B},{default:l(()=>[v("取消")]),_:1}),e(w,{type:"primary",loading:_.value,onClick:t[3]||(t[3]=d=>r(F.value))},{default:l(()=>[v(P(_.value?"處理中...":"確認"),1)]),_:1},8,["loading"])])]),p("div",null,[e(R,{modelValue:s.value.show,"onUpdate:modelValue":t[4]||(t[4]=d=>s.value.show=d),title:"Tips","before-close":h},{default:l(()=>[s.value.show?(b(),D("div",Te,[p("div",Ue,[e(k(Ve),{class:"cropper",ref_key:"myCrop",ref:I,src:s.value.img,"stencil-props":{aspectRatio:s.value.ratio},"auto-zoom":!0},null,8,["src","stencil-props"])]),p("div",Oe,[e(w,{type:"primary",size:"small",text:"",onClick:h},{default:l(()=>[v("取消")]),_:1}),e(w,{type:"primary",size:"small",onClick:$},{default:l(()=>[v("剪裁")]),_:1})])])):ce("",!0)]),_:1},8,["modelValue"])])],64)}}},Be=ke($e,[["__scopeId","data-v-a1dc5295"]]),je={class:"main"},Ge={class:"breadcrumb-section"},Re=p("a",{href:"/"},"供應商列表",-1),Le=["onDblclick"],cl={__name:"Index",setup(c){const T=me({page:1,pageSize:10});_e(T),u(0);const E=u(!1),y=u(!1),C=u([]);q(()=>{_()});const _=async()=>{E.value=!0;let r=await Ce();r.code===200&&(C.value=r.data),E.value=!1},F=()=>{h.value=0,y.value=!0},o=r=>{h.value=r,y.value=!0},U=r=>{te.confirm("確認刪除此紀錄?").then(async()=>{(await De(r)).code===200?(g({message:"刪除成功.",type:"success"}),_()):g({message:"刪除失敗.",type:"error"})}).catch(()=>{})},s=u(0),I=r=>{s.value=r},O=async r=>{(await Q(r)).code===200?(g({message:"修改成功.",type:"success"}),_()):g({message:"修改失敗.",type:"error"}),s.value=0},$=()=>{s.value=0},h=u(0),B=r=>{y.value=!1,r&&_()};return(r,a)=>{const t=oe,f=se,m=M,n=re,x=pe,j=A,G=z,w=ie,R=ue,d=de,J=ne,W=N,X=ae,Y=fe("focus");return b(),D(H,null,[p("div",je,[p("div",Ge,[p("div",null,[e(f,{separator:"/"},{default:l(()=>[e(t,null,{default:l(()=>[v(" 首頁 ")]),_:1}),e(t,null,{default:l(()=>[Re]),_:1})]),_:1})]),p("div",null,[e(m,{type:"primary",icon:k(L),onClick:F},{default:l(()=>[v(" 新增供應商 ")]),_:1},8,["icon"])])]),e(W,{"body-style":{padding:"0px"}},{default:l(()=>[e(J,{data:C.value,style:{width:"100%"}},{default:l(()=>[e(n,{prop:"id",label:"#",width:"50"}),e(n,{label:"供應商LOGO"},{default:l(i=>[e(x,{style:{width:"150px",height:"80px"},src:i.row.imageurl,fit:"cover",crossorigin:null},null,8,["src"])]),_:1}),e(n,{prop:"name1",label:"供應商名稱(繁)"}),e(n,{prop:"name2",label:"供應商名稱(簡)"}),e(n,{prop:"name3",label:"供應商名稱(英)"}),e(n,{prop:"sort",label:"排序",width:"80"},{default:l(i=>[i.row.id!==s.value?(b(),D("div",{key:0,onDblclick:V=>I(i.row.id)},P(i.row.sort_order),41,Le)):ve((b(),K(j,{key:1,modelValue:i.row.sort_order,"onUpdate:modelValue":V=>i.row.sort_order=V,style:{width:"50px"},onKeyup:ge(V=>O(i.row),["enter"]),onBlur:a[0]||(a[0]=V=>$()),autoFocus:!0},null,8,["modelValue","onUpdate:modelValue","onKeyup"])),[[Y,i.row.id===s.value]])]),_:1}),e(n,{label:"操作",width:"105",fixed:"right"},{default:l(i=>[e(d,null,{dropdown:l(()=>[e(R,null,{default:l(()=>[e(w,{icon:k(Z),onClick:V=>o(i.row.id)},{default:l(()=>[v("修改")]),_:2},1032,["icon","onClick"]),e(w,{icon:k(ee),onClick:V=>U(i.row.id)},{default:l(()=>[v("刪除")]),_:2},1032,["icon","onClick"])]),_:2},1024)]),default:l(()=>[e(m,{type:"danger"},{default:l(()=>[v(" 操作"),e(G,{class:"el-icon--right"},{default:l(()=>[e(k(le))]),_:1})]),_:1})]),_:2},1024)]),_:1})]),_:1},8,["data"])]),_:1})]),p("div",null,[e(X,{ref:"drawerRef",modelValue:y.value,"onUpdate:modelValue":a[1]||(a[1]=i=>y.value=i),"destroy-on-close":!0,title:"首頁輪撥",direction:"rtl",size:"50%"},{default:l(()=>[e(Be,{editid:h.value,onClose:B},null,8,["editid"])]),_:1},8,["modelValue"])])],64)}}};export{cl as default}; diff --git a/nginx/html/admin/assets/Index-52738233.js b/nginx/html/admin/assets/Index-52738233.js new file mode 100644 index 0000000..57db9e0 --- /dev/null +++ b/nginx/html/admin/assets/Index-52738233.js @@ -0,0 +1 @@ +import{p as K,E as S,G as q,H as W,F as J,b as X}from"./el-button-ca4abaee.js";import{E as Y}from"./el-drawer-d9790fe0.js";import{E as Z}from"./el-message-box-e43658fb.js";import{a as ee,b as ae,E as te}from"./el-breadcrumb-item-422ecc35.js";import{E as le,a as oe}from"./el-table-column-7db11110.js";import"./el-tag-6a2dc6cc.js";import"./el-tooltip-4ed993c7.js";import"./el-scrollbar-56d71f90.js";import{E as se,a as re,b as ne}from"./el-dropdown-item-56611d31.js";import"./el-icon-08628b36.js";import{E as G}from"./el-input-df8c5b16.js";import{q as n,z as H,v as de,o as d,f as V,M as c,Q as e,w as a,c as k,F as L,W as ie,a as x,V as O,N as f,O as P,a4 as ue,D as ce,a5 as me}from"./index-fb87886b.js";import{E as pe}from"./el-dialog-1ee3a857.js";import{E as _e,a as fe}from"./el-form-item-85aab49a.js";import{E as ve}from"./el-progress-2aaabad5.js";import{E as ge,a as ye}from"./el-select-a68074b1.js";import{a as we,b as be,u as Q,c as Ee,g as he,d as Ce}from"./category-58bb6f3c.js";import{u as ke}from"./request-60ae96d2.js";import{f as Ve}from"./style-401f4ec6.js";import{E as v}from"./el-message-5778b677.js";import{_ as xe}from"./_plugin-vue_export-helper-c27b6911.js";import"./use-dialog-3e44040d.js";import"./index-de3a95d3.js";import"./aria-60e0cdc6.js";import"./castArray-59d69fd8.js";import"./_baseClone-732ede82.js";import"./cloneDeep-3d78d7c6.js";import"./index-037638b5.js";import"./strings-991b21d4.js";const De=["src"],Fe={class:"demo-drawer__footer",style:{"text-align":"right"}},Ie={key:0,class:"cropper-section"},Ue={class:"crop-area"},$e={class:"crop-btn"},Be={__name:"Form",props:{editid:{type:Number,default:0}},emits:["close"],setup(A,{emit:D}){const p=A,w=D,g=n("insert"),b=n(!1),F=n(null),o=n({id:0,parent_id:0}),E=n([]);H(async()=>{if(p.editid){let l=await we(p.editid);l.code===200&&(o.value=l.data,g.value="update")}let s=await be();s.code===200&&(E.value=s.data.map(l=>({label:l.name,value:l.id})))});const $=de({username:[{required:!0,message:"管理員帳號必填",trigger:"blur"}]}),i=n({show:!1,img:null,ratio:2.6}),I=n(null),B=s=>s.type!=="image/jpeg"&&s.type!=="image/png"&&s.type!=="image/jpg"?(v.error("圖片格式只能是jpeg/png/jpg!"),!1):(i.value.show=!0,i.value.img=URL.createObjectURL(s),!1),r=()=>{const{canvas:s}=I.value.getResult();if(s){const l=new FormData;s.toBlob(async m=>{let u=new File([m],"image.jpg");l.append("fileType","IMAGE"),l.append("file",u),i.value.show=!1,b.value=!0;let y=await ke("/cate/uploadImage",l);y.code===200?(o.value.imageurl=y.data,v.success("上傳成功")):v.error("上傳失敗"),b.value=!1},"image/jpeg")}},_=()=>{i.value.show=!1},U=()=>{w("close",!1)},R=s=>{s&&s.validate(async l=>{if(l){let m,u;g.value==="update"?(o.value.id=p.editid,m=await Q(o.value),u="修改成功."):(m=await Ee(o.value),u="新增成功."),m.code===200&&(v({message:u,type:"success"}),w("close",!0))}else return v({message:"操作失敗.",type:"error"}),!1})};return(s,l)=>{const m=G,u=_e,y=ge,j=ye,T=S,M=ve,N=fe,h=q,z=pe;return d(),V(L,null,[c("div",null,[e(N,{ref_key:"formRef",ref:F,model:o.value,"status-icon":"",rules:$,"label-width":"120px"},{default:a(()=>[e(u,{label:"分類名稱",prop:"name"},{default:a(()=>[o.value.parent_id===0?(d(),k(m,{key:0,modelValue:o.value.name,"onUpdate:modelValue":l[0]||(l[0]=t=>o.value.name=t),type:"text"},null,8,["modelValue"])):(d(),k(m,{key:1,modelValue:o.value.name,"onUpdate:modelValue":l[1]||(l[1]=t=>o.value.name=t),rows:4,type:"textarea"},null,8,["modelValue"]))]),_:1}),e(u,{label:"上級分類"},{default:a(()=>[e(j,{modelValue:o.value.parent_id,"onUpdate:modelValue":l[2]||(l[2]=t=>o.value.parent_id=t),class:"m-2",placeholder:"Select"},{default:a(()=>[e(y,{label:"最上層",value:0}),(d(!0),V(L,null,ie(E.value,t=>(d(),k(y,{key:t.value,label:t.label,value:t.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),o.value.parent_id===0?(d(),k(u,{key:0,label:"類別圖片",prop:"imageurl"},{default:a(()=>[e(M,{class:"avatar-uploader",action:"#",accept:"image/*","show-file-list":!1,"auto-upload":!0,"before-upload":t=>B(t)},{default:a(()=>[o.value.imageurl?(d(),V("img",{key:0,src:o.value.imageurl,class:"avatar",id:"imageurl"},null,8,De)):(d(),k(T,{key:1,class:"avatar-uploader-icon"},{default:a(()=>[e(x(K))]),_:1}))]),_:1},8,["before-upload"])]),_:1})):O("",!0)]),_:1},8,["model","rules"]),c("div",Fe,[e(h,{onClick:U},{default:a(()=>[f("取消")]),_:1}),e(h,{type:"primary",loading:b.value,onClick:l[3]||(l[3]=t=>R(F.value))},{default:a(()=>[f(P(b.value?"提交中 ...":"確認"),1)]),_:1},8,["loading"])])]),c("div",null,[e(z,{modelValue:i.value.show,"onUpdate:modelValue":l[4]||(l[4]=t=>i.value.show=t),title:"Tips","before-close":_},{default:a(()=>[i.value.show?(d(),V("div",Ie,[c("div",Ue,[e(x(Ve),{class:"cropper",ref_key:"myCrop",ref:I,src:i.value.img,"stencil-props":{aspectRatio:i.value.ratio},"auto-zoom":!0},null,8,["src","stencil-props"])]),c("div",$e,[e(h,{type:"primary",size:"small",text:"",onClick:_},{default:a(()=>[f("取消")]),_:1}),e(h,{type:"primary",size:"small",onClick:r},{default:a(()=>[f("剪裁")]),_:1})])])):O("",!0)]),_:1},8,["modelValue"])])],64)}}},Re=xe(Be,[["__scopeId","data-v-09906d5f"]]),je={class:"main"},Te={class:"breadcrumb-section"},Me=c("a",{href:"/"},"產品類別",-1),Ne=["onDblclick"],pa={__name:"Index",setup(A){const D=n([]);n("");const p=n(!1);n(!1),H(()=>{w()});const w=async()=>{let r=await he();r.code===200&&(D.value=r.data)},g=n(0),b=r=>{g.value=r},F=async r=>{(await Q(r)).code===200?(v({message:"修改成功.",type:"success"}),w()):v({message:"修改失敗.",type:"error"}),g.value=0},o=()=>{g.value=0},E=n(0),$=()=>{E.value=0,p.value=!0},i=r=>{E.value=r,p.value=!0},I=r=>{Z.confirm("確認刪除此紀錄?").then(async()=>{(await Ce(r)).code===200?(v({message:"刪除成功.",type:"success"}),w()):v({message:"刪除失敗.",type:"error"})}).catch(()=>{})},B=r=>{p.value=!1,r&&w()};return(r,_)=>{const U=ee,R=ae,s=q,l=le,m=G,u=S,y=se,j=re,T=ne,M=oe,N=te,h=Y,z=ue("focus");return d(),V(L,null,[c("div",je,[c("div",Te,[c("div",null,[e(R,{separator:"/"},{default:a(()=>[e(U,null,{default:a(()=>[f(" 經銷系統 ")]),_:1}),e(U,null,{default:a(()=>[Me]),_:1})]),_:1})]),c("div",null,[e(s,{type:"primary",icon:x(K),onClick:$},{default:a(()=>[f("新增產品類別")]),_:1},8,["icon"])])]),e(N,{"body-style":{padding:"0px"}},{default:a(()=>[e(M,{data:D.value,style:{width:"100%"},"row-key":"id","default-expand-all":""},{default:a(()=>[e(l,{prop:"name",label:"類別名稱"}),e(l,{label:"排序",width:"80"},{default:a(t=>[t.row.id!==g.value?(d(),V("div",{key:0,onDblclick:C=>b(t.row.id)},P(t.row.sort_order),41,Ne)):ce((d(),k(m,{key:1,modelValue:t.row.sort_order,"onUpdate:modelValue":C=>t.row.sort_order=C,style:{width:"50px"},onKeyup:me(C=>F(t.row),["enter"]),onBlur:_[0]||(_[0]=C=>o()),autoFocus:!0},null,8,["modelValue","onUpdate:modelValue","onKeyup"])),[[z,t.row.id===g.value]])]),_:1}),e(l,{label:"其他項目",width:"105",fixed:"right"},{default:a(t=>[e(T,null,{dropdown:a(()=>[e(j,null,{default:a(()=>[e(y,{icon:x(W),onClick:C=>i(t.row.id)},{default:a(()=>[f("修改分類")]),_:2},1032,["icon","onClick"]),e(y,{icon:x(J),onClick:C=>I(t.row.id)},{default:a(()=>[f("刪除分類")]),_:2},1032,["icon","onClick"])]),_:2},1024)]),default:a(()=>[e(s,{type:"danger"},{default:a(()=>[f(" 操作"),e(u,{class:"el-icon--right"},{default:a(()=>[e(x(X))]),_:1})]),_:1})]),_:2},1024)]),_:1})]),_:1},8,["data"])]),_:1})]),c("div",null,[e(h,{ref:"drawerRef",modelValue:p.value,"onUpdate:modelValue":_[1]||(_[1]=t=>p.value=t),"destroy-on-close":!0,title:"新增產品類別",direction:"rtl",size:"50%"},{default:a(()=>[e(Re,{editid:E.value,onClose:B},null,8,["editid"])]),_:1},8,["modelValue"])])],64)}}};export{pa as default}; diff --git a/nginx/html/admin/assets/Index-5af3024b.js b/nginx/html/admin/assets/Index-5af3024b.js new file mode 100644 index 0000000..7c0f295 --- /dev/null +++ b/nginx/html/admin/assets/Index-5af3024b.js @@ -0,0 +1 @@ +import{p as G,E as O,G as j,H as oe,F as ae,b as ie}from"./el-button-dd91f3f6.js";import{E as ne}from"./el-drawer-41ea71b6.js";import{E as se}from"./el-message-box-9069766c.js";import{E as q,a as H}from"./el-form-item-7f30e4ff.js";import{E as Q}from"./el-progress-f539c088.js";import{E as W}from"./el-input-6cdd1bad.js";import{a as de,b as re,E as ue}from"./el-breadcrumb-item-fc2f12a8.js";import{E as ce,a as me}from"./el-table-column-2087a7ad.js";import"./el-tag-cf212e80.js";import"./el-tooltip-4ed993c7.js";import"./el-scrollbar-4b72b7cb.js";import{E as pe,a as _e,b as fe}from"./el-dropdown-item-1df26bce.js";import"./el-icon-08628b36.js";import{E as ve}from"./el-image-viewer-8dfbab81.js";import{E as ye}from"./el-dialog-5eb47c40.js";import{a as V,u as ge}from"./request-a37452c7.js";import{E as h}from"./el-message-a9712316.js";import{_ as J}from"./_plugin-vue_export-helper-c27b6911.js";import{q as r,z as K,v as X,o as A,f as $,M as d,Q as e,w as t,a as E,N as f,O as Y,F as z,a3 as we,W as be,c as Ee,a7 as he,a8 as Ve}from"./index-a18521e5.js";import"./use-dialog-40ef8000.js";import"./index-d4f2f151.js";import"./aria-60e0cdc6.js";import"./castArray-3c50f72c.js";import"./_baseClone-0431f2ee.js";import"./cloneDeep-d66026bf.js";const ke=async s=>V("/activity/getActivityList","POST",s),Ie=async s=>V("/activity/getActivity","GET",{id:s}),Ce=async s=>V("/activity/deleteActivity","GET",{id:s}),xe=async s=>V("/activity/updateActivity","POST",s),Fe=async s=>V("/activity/addActivity","POST",s);const De={class:"demo-drawer__footer",style:{"text-align":"right"}},Ae=["src"],Le={__name:"Form",props:{editid:{type:Number,default:0}},emits:["close"],setup(s,{emit:w}){const g=s,k=w,v=r("insert"),p=r(!1),b=r(null),n=r({id:0,title1:"",title2:"",title3:"",imageList:[]});K(async()=>{if(g.editid){let a=await Ie(g.editid);a.code===200&&(n.value=a.data,v.value="update",y.value=a.data.imageList.map(l=>({uid:l.uid,url:"https://prodio.zltest.com.tw"+l.url})))}});const L=X({}),U=()=>{k("close",!1)},T=a=>{a&&a.validate(async l=>{if(l){let i,_;v.value==="update"?(n.value.id=g.editid,i=await xe(n.value),_="修改成功."):(i=await Fe(n.value),_="新增成功."),i.code===200&&(h({message:_,type:"success"}),k("close",!0))}else return h({message:"操作失敗.",type:"error"}),!1})},y=r([]),I=r(""),o=r(!1),c=async a=>{const l=new FormData;l.append("file",a.file),p.value=!0;let i=await ge("/activity/uploadImage",l);i.code===200?n.value.imageList.push({uid:a.file.uid,url:i.data}):h.error("上傳失敗"),p.value=!1},C=(a,l)=>{n.value.imageList=n.value.imageList.filter(i=>i.uid!==a.uid)},S=a=>{I.value=a.url,o.value=!0};return(a,l)=>{const i=W,_=q,x=O,B=Q,P=H,F=j,D=ye;return A(),$(z,null,[d("div",null,[e(P,{ref_key:"formRef",ref:b,model:n.value,"status-icon":"",rules:L,"label-width":"120px"},{default:t(()=>[e(_,{label:"標題(繁)",prop:"title"},{default:t(()=>[e(i,{modelValue:n.value.title1,"onUpdate:modelValue":l[0]||(l[0]=u=>n.value.title1=u)},null,8,["modelValue"])]),_:1}),e(_,{label:"標題(簡)",prop:"title"},{default:t(()=>[e(i,{modelValue:n.value.title2,"onUpdate:modelValue":l[1]||(l[1]=u=>n.value.title2=u)},null,8,["modelValue"])]),_:1}),e(_,{label:"標題(英)",prop:"title"},{default:t(()=>[e(i,{modelValue:n.value.title3,"onUpdate:modelValue":l[2]||(l[2]=u=>n.value.title3=u)},null,8,["modelValue"])]),_:1}),e(_,{label:"活動照片",prop:"content"},{default:t(()=>[e(B,{"file-list":y.value,"onUpdate:fileList":l[3]||(l[3]=u=>y.value=u),action:"#","http-request":c,"list-type":"picture-card","on-preview":S,"on-remove":C},{default:t(()=>[e(x,null,{default:t(()=>[e(E(G))]),_:1})]),_:1},8,["file-list"])]),_:1})]),_:1},8,["model","rules"]),d("div",De,[e(F,{onClick:U},{default:t(()=>[f("取消")]),_:1}),e(F,{type:"primary",loading:p.value,onClick:l[4]||(l[4]=u=>T(b.value))},{default:t(()=>[f(Y(p.value?"提交中 ...":"確認"),1)]),_:1},8,["loading"])])]),e(D,{modelValue:o.value,"onUpdate:modelValue":l[5]||(l[5]=u=>o.value=u)},{default:t(()=>[d("img",{"w-full":"",src:I.value,alt:"Preview Image"},null,8,Ae)]),_:1},8,["modelValue"])],64)}}},Ue=J(Le,[["__scopeId","data-v-a24c4f0d"]]);const Z=s=>(he("data-v-4ed6ff2e"),s=s(),Ve(),s),Te={class:"main"},Se={class:"breadcrumb-section"},Be=Z(()=>d("a",{href:"/"},"公司活動",-1)),Pe={class:"imgGroup"},Re=Z(()=>d("small",{class:"el-upload__tip"}," ※ 請上傳500kb以內jpg檔案。",-1)),$e={class:"demo-drawer__footer",style:{"text-align":"right"}},ze={__name:"Index",setup(s){const w=r(!1),g=X({page:1,pageSize:10});we(g);const k=r(0),v=r(!1),p=r(!1),b=r([]);K(()=>{n()});const n=async()=>{v.value=!0;let o=await ke(g);o.code===200&&(b.value=o.data.list,k.value=o.data.total),v.value=!1},L=()=>{y.value=0,p.value=!0},U=o=>{y.value=o,p.value=!0},T=o=>{se.confirm("確認刪除此紀錄?").then(async()=>{(await Ce(o)).code===200?(h({message:"刪除成功.",type:"success"}),n()):h({message:"刪除失敗.",type:"error"})}).catch(()=>{})},y=r(0),I=o=>{p.value=!1,o&&n()};return(o,c)=>{const C=de,S=re,a=j,l=ve,i=ce,_=O,x=pe,B=_e,P=fe,F=me,D=ue,u=W,N=q,ee=Q,te=H,M=ne;return A(),$(z,null,[d("div",Te,[d("div",Se,[d("div",null,[e(S,{separator:"/"},{default:t(()=>[e(C,null,{default:t(()=>[f(" 最新消息 ")]),_:1}),e(C,null,{default:t(()=>[Be]),_:1})]),_:1})]),d("div",null,[e(a,{type:"primary",icon:E(G),onClick:L},{default:t(()=>[f(" 新增活動 ")]),_:1},8,["icon"])])]),e(D,{"body-style":{padding:"0px"}},{default:t(()=>[e(F,{data:b.value,style:{width:"100%"}},{default:t(()=>[e(i,{type:"expand",label:"相簿",width:"80"},{default:t(m=>[d("div",Pe,[(A(!0),$(z,null,be(m.row.imageList,(R,le)=>(A(),Ee(l,{key:le,style:{width:"100px",height:"60px"},src:"https://prodio.zltest.com.tw"+R.url,fit:o.cover},null,8,["src","fit"]))),128))])]),_:1}),e(i,{prop:"id",label:"#",width:"50"}),e(i,{prop:"title1",label:"標題(繁)"}),e(i,{prop:"title2",label:"標題(簡)"}),e(i,{prop:"title3",label:"標題(英)"}),e(i,{prop:"create_time",label:"建立時間"}),e(i,{label:"其他項目",width:"105",fixed:"right"},{default:t(m=>[e(P,null,{dropdown:t(()=>[e(B,null,{default:t(()=>[e(x,{icon:E(oe),onClick:R=>U(m.row.id)},{default:t(()=>[f("修改")]),_:2},1032,["icon","onClick"]),e(x,{icon:E(ae),onClick:R=>T(m.row.id)},{default:t(()=>[f("刪除")]),_:2},1032,["icon","onClick"])]),_:2},1024)]),default:t(()=>[e(a,{type:"danger"},{default:t(()=>[f(" 操作"),e(_,{class:"el-icon--right"},{default:t(()=>[e(E(ie))]),_:1})]),_:1})]),_:2},1024)]),_:1})]),_:1},8,["data"])]),_:1})]),d("div",null,[e(M,{ref:"drawerRef",modelValue:w.value,"onUpdate:modelValue":c[2]||(c[2]=m=>w.value=m),title:"新增動態",direction:"rtl",size:"550"},{default:t(()=>[e(D,null,{default:t(()=>[e(te,{model:o.initform,"label-width":"120px"},{default:t(()=>[e(N,{label:"標題"},{default:t(()=>[e(u,{modelValue:o.initform.title,"onUpdate:modelValue":c[0]||(c[0]=m=>o.initform.title=m)},null,8,["modelValue"])]),_:1}),e(N,{label:"相簿上傳"},{default:t(()=>[e(ee,{class:"upload-demo",action:"https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15","on-preview":o.handlePreview,"on-remove":o.handleRemove,"list-type":"picture"},{tip:t(()=>[Re]),default:t(()=>[e(a,{type:"primary"},{default:t(()=>[f("上傳圖片")]),_:1})]),_:1},8,["on-preview","on-remove"])]),_:1})]),_:1},8,["model"])]),_:1}),d("div",$e,[e(a,{onClick:c[1]||(c[1]=m=>w.value=!1)},{default:t(()=>[f("取消")]),_:1}),e(a,{type:"primary",loading:v.value,onClick:o.onClick},{default:t(()=>[f(Y(v.value?"Submitting ...":"確認"),1)]),_:1},8,["loading","onClick"])])]),_:1},8,["modelValue"])]),d("div",null,[e(M,{ref:"drawerRef",modelValue:p.value,"onUpdate:modelValue":c[3]||(c[3]=m=>p.value=m),"destroy-on-close":!0,title:"公司活動",direction:"rtl",size:"70%"},{default:t(()=>[e(Ue,{editid:y.value,onClose:I},null,8,["editid"])]),_:1},8,["modelValue"])])],64)}}},ct=J(ze,[["__scopeId","data-v-4ed6ff2e"]]);export{ct as default}; diff --git a/nginx/html/admin/assets/Index-662285c0.css b/nginx/html/admin/assets/Index-662285c0.css new file mode 100644 index 0000000..aeae2d2 --- /dev/null +++ b/nginx/html/admin/assets/Index-662285c0.css @@ -0,0 +1 @@ +.el-descriptions{--el-descriptions-table-border:1px solid var(--el-border-color-lighter);--el-descriptions-item-bordered-label-background:var(--el-fill-color-light);box-sizing:border-box;font-size:var(--el-font-size-base);color:var(--el-text-color-primary)}.el-descriptions__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.el-descriptions__title{color:var(--el-text-color-primary);font-size:16px;font-weight:700}.el-descriptions__body{background-color:var(--el-fill-color-blank)}.el-descriptions__body .el-descriptions__table{border-collapse:collapse;width:100%}.el-descriptions__body .el-descriptions__table .el-descriptions__cell{box-sizing:border-box;text-align:left;font-weight:400;line-height:23px;font-size:14px}.el-descriptions__body .el-descriptions__table .el-descriptions__cell.is-left{text-align:left}.el-descriptions__body .el-descriptions__table .el-descriptions__cell.is-center{text-align:center}.el-descriptions__body .el-descriptions__table .el-descriptions__cell.is-right{text-align:right}.el-descriptions__body .el-descriptions__table.is-bordered .el-descriptions__cell{border:var(--el-descriptions-table-border);padding:8px 11px}.el-descriptions__body .el-descriptions__table:not(.is-bordered) .el-descriptions__cell{padding-bottom:12px}.el-descriptions--large{font-size:14px}.el-descriptions--large .el-descriptions__header{margin-bottom:20px}.el-descriptions--large .el-descriptions__header .el-descriptions__title{font-size:16px}.el-descriptions--large .el-descriptions__body .el-descriptions__table .el-descriptions__cell{font-size:14px}.el-descriptions--large .el-descriptions__body .el-descriptions__table.is-bordered .el-descriptions__cell{padding:12px 15px}.el-descriptions--large .el-descriptions__body .el-descriptions__table:not(.is-bordered) .el-descriptions__cell{padding-bottom:16px}.el-descriptions--small{font-size:12px}.el-descriptions--small .el-descriptions__header{margin-bottom:12px}.el-descriptions--small .el-descriptions__header .el-descriptions__title{font-size:14px}.el-descriptions--small .el-descriptions__body .el-descriptions__table .el-descriptions__cell{font-size:12px}.el-descriptions--small .el-descriptions__body .el-descriptions__table.is-bordered .el-descriptions__cell{padding:4px 7px}.el-descriptions--small .el-descriptions__body .el-descriptions__table:not(.is-bordered) .el-descriptions__cell{padding-bottom:8px}.el-descriptions__label.el-descriptions__cell.is-bordered-label{font-weight:700;color:var(--el-text-color-regular);background:var(--el-descriptions-item-bordered-label-background)}.el-descriptions__label:not(.is-bordered-label){color:var(--el-text-color-primary);margin-right:16px}.el-descriptions__label.el-descriptions__cell:not(.is-bordered-label).is-vertical-label{padding-bottom:6px}.el-descriptions__content.el-descriptions__cell.is-bordered-content{color:var(--el-text-color-primary)}.el-descriptions__content:not(.is-bordered-label){color:var(--el-text-color-regular)}.el-descriptions--large .el-descriptions__label:not(.is-bordered-label){margin-right:16px}.el-descriptions--large .el-descriptions__label.el-descriptions__cell:not(.is-bordered-label).is-vertical-label{padding-bottom:8px}.el-descriptions--small .el-descriptions__label:not(.is-bordered-label){margin-right:12px}.el-descriptions--small .el-descriptions__label.el-descriptions__cell:not(.is-bordered-label).is-vertical-label{padding-bottom:4px} diff --git a/nginx/html/admin/assets/Index-669970b4.js b/nginx/html/admin/assets/Index-669970b4.js new file mode 100644 index 0000000..6a2e374 --- /dev/null +++ b/nginx/html/admin/assets/Index-669970b4.js @@ -0,0 +1 @@ +import{p as G,E as O,G as A,H as Y,F as Z,b as ee}from"./el-button-6b66070a.js";import{E as le}from"./el-drawer-70a11b9f.js";import{E as ae}from"./el-message-box-e23ec1aa.js";import{E as L,a as oe,b as te}from"./el-breadcrumb-item-0eb7853a.js";import{E as se,a as ne}from"./el-table-column-d43fc778.js";import"./el-tag-c9faf503.js";import"./el-tooltip-4ed993c7.js";import"./el-scrollbar-68edc4d7.js";import{E as re,a as de,b as ue}from"./el-dropdown-item-9e1be9b9.js";import"./el-icon-08628b36.js";import{E as S}from"./el-input-e550db6e.js";import{q as c,z as K,o as y,f as x,M as p,Q as e,w as l,c as q,a as k,N as v,O as P,V as ie,F as H,v as ce,a3 as me,a4 as pe,D as _e,a5 as fe}from"./index-3ef4d3eb.js";import{E as ve}from"./el-dialog-3f9d9ba4.js";import{E as ge,a as be}from"./el-form-item-0317a247.js";import{E as ye}from"./el-progress-dc506117.js";import{a as B,u as we}from"./request-63584e50.js";import{f as he}from"./style-6c2773cc.js";import{E as g}from"./el-message-76e8eab1.js";import{_ as Ee}from"./_plugin-vue_export-helper-c27b6911.js";import"./use-dialog-bab1b29c.js";import"./index-a4d0b5b6.js";import"./aria-60e0cdc6.js";import"./castArray-3bec7949.js";import"./_baseClone-bf299fb6.js";import"./cloneDeep-8bc5fe7b.js";const Ve=async()=>B("/branch/getBranchList","GET"),ke=async _=>B("/branch/getBranch","GET",{id:_}),Ce=async _=>B("/branch/deleteBranch","GET",{id:_}),Q=async _=>B("/branch/updateBranch","POST",_),xe=async _=>B("/branch/addBranch","POST",_);const Be=["src"],De={class:"demo-drawer__footer",style:{"text-align":"right"}},Ue={key:0,class:"cropper-section"},Fe={class:"crop-area"},Ie={class:"crop-btn"},Te={__name:"Form",props:{editid:{type:Number,default:0}},emits:["close"],setup(_,{emit:I}){const w=_,b=I,C=c("insert"),f=c(!1),D=c(null),o=c({id:0});K(async()=>{if(w.editid){let t=await ke(w.editid);t.code===200&&(o.value=t.data,C.value="update")}});const T=c({name:[{required:!0,message:"供應商名稱必填",trigger:"blur"}]}),r=c({show:!1,img:null,ratio:1.875}),U=c(null),$=t=>t.type!=="image/jpeg"&&t.type!=="image/png"&&t.type!=="image/jpg"?(g.error("圖片格式只能是jpeg/png/jpg!"),!1):(r.value.show=!0,r.value.img=URL.createObjectURL(t),!1),j=()=>{const{canvas:t}=U.value.getResult();if(t){const a=new FormData;t.toBlob(async u=>{let n=new File([u],"image.jpg");a.append("fileType","IMAGE"),a.append("file",n),r.value.show=!1,f.value=!0;let i=await we("/branch/uploadImage",a);i.code===200?(o.value.imageurl=i.data,g.success("上傳成功")):g.error("上傳失敗"),f.value=!1},"image/jpeg")}},h=()=>{r.value.show=!1},R=()=>{b("close",!1)},d=t=>{t&&t.validate(async a=>{if(a){let u,n;C.value==="update"?(o.value.id=w.editid,u=await Q(o.value),n="修改成功."):(u=await xe(o.value),n="新增成功."),u.code===200&&(g({message:n,type:"success"}),b("close",!0))}else return g({message:"操作失敗.",type:"error"}),!1})};return(t,a)=>{const u=S,n=ge,i=O,z=ye,M=be,F=L,E=A,N=ve;return y(),x(H,null,[p("div",null,[e(F,null,{default:l(()=>[e(M,{ref_key:"formRef",ref:D,model:o.value,"status-icon":"",rules:T.value,"label-width":"120px"},{default:l(()=>[e(n,{label:"據點名稱",prop:"name"},{default:l(()=>[e(u,{modelValue:o.value.name,"onUpdate:modelValue":a[0]||(a[0]=s=>o.value.name=s)},null,8,["modelValue"])]),_:1}),e(n,{label:"地址",prop:"address"},{default:l(()=>[e(u,{modelValue:o.value.address,"onUpdate:modelValue":a[1]||(a[1]=s=>o.value.address=s)},null,8,["modelValue"])]),_:1}),e(n,{label:"電話",prop:"tel"},{default:l(()=>[e(u,{modelValue:o.value.tel,"onUpdate:modelValue":a[2]||(a[2]=s=>o.value.tel=s)},null,8,["modelValue"])]),_:1}),e(n,{label:"傳真",prop:"fax"},{default:l(()=>[e(u,{modelValue:o.value.fax,"onUpdate:modelValue":a[3]||(a[3]=s=>o.value.fax=s)},null,8,["modelValue"])]),_:1}),e(n,{label:"網址",prop:"url"},{default:l(()=>[e(u,{modelValue:o.value.url,"onUpdate:modelValue":a[4]||(a[4]=s=>o.value.url=s)},null,8,["modelValue"])]),_:1}),e(n,{label:"Email",prop:"email"},{default:l(()=>[e(u,{modelValue:o.value.email,"onUpdate:modelValue":a[5]||(a[5]=s=>o.value.email=s)},null,8,["modelValue"])]),_:1}),e(n,{label:"據點圖片",prop:"imageurl"},{default:l(()=>[e(z,{class:"avatar-uploader",action:"#",accept:"image/*","show-file-list":!1,"auto-upload":!0,"before-upload":s=>$(s)},{default:l(()=>[o.value.imageurl?(y(),x("img",{key:0,src:"http://localhost:6060"+o.value.imageurl,class:"avatar",id:"imageurl"},null,8,Be)):(y(),q(i,{key:1,class:"avatar-uploader-icon"},{default:l(()=>[e(k(G))]),_:1}))]),_:1},8,["before-upload"])]),_:1})]),_:1},8,["model","rules"])]),_:1}),p("div",De,[e(E,{onClick:R},{default:l(()=>[v("取消")]),_:1}),e(E,{type:"primary",loading:f.value,onClick:a[6]||(a[6]=s=>d(D.value))},{default:l(()=>[v(P(f.value?"處理中...":"確認"),1)]),_:1},8,["loading"])])]),p("div",null,[e(N,{modelValue:r.value.show,"onUpdate:modelValue":a[7]||(a[7]=s=>r.value.show=s),title:"Tips","before-close":h},{default:l(()=>[r.value.show?(y(),x("div",Ue,[p("div",Fe,[e(k(he),{class:"cropper",ref_key:"myCrop",ref:U,src:r.value.img,"stencil-props":{aspectRatio:r.value.ratio},"auto-zoom":!0},null,8,["src","stencil-props"])]),p("div",Ie,[e(E,{type:"primary",size:"small",text:"",onClick:h},{default:l(()=>[v("取消")]),_:1}),e(E,{type:"primary",size:"small",onClick:j},{default:l(()=>[v("剪裁")]),_:1})])])):ie("",!0)]),_:1},8,["modelValue"])])],64)}}},$e=Ee(Te,[["__scopeId","data-v-0c2531e5"]]),je={class:"main"},Re={class:"breadcrumb-section"},ze=p("a",{href:"/"},"公司據點",-1),Me=["onDblclick"],ul={__name:"Index",setup(_){const I=ce({page:1,pageSize:10});me(I),c(0);const w=c(!1),b=c(!1),C=c([]);K(()=>{f()});const f=async()=>{w.value=!0;let d=await Ve();d.code===200&&(C.value=d.data),w.value=!1},D=()=>{h.value=0,b.value=!0},o=d=>{h.value=d,b.value=!0},T=d=>{ae.confirm("確認刪除此紀錄?").then(async()=>{(await Ce(d)).code===200?(g({message:"刪除成功.",type:"success"}),f()):g({message:"刪除失敗.",type:"error"})}).catch(()=>{})},r=c(0),U=d=>{r.value=d},$=async d=>{(await Q(d)).code===200?(g({message:"修改成功.",type:"success"}),f()):g({message:"修改失敗.",type:"error"}),r.value=0},j=()=>{r.value=0},h=c(0),R=d=>{b.value=!1,d&&f()};return(d,t)=>{const a=oe,u=te,n=A,i=se,z=S,M=O,F=re,E=de,N=ue,s=ne,J=L,W=le,X=pe("focus");return y(),x(H,null,[p("div",je,[p("div",Re,[p("div",null,[e(u,{separator:"/"},{default:l(()=>[e(a,null,{default:l(()=>[v(" 聯絡我們 ")]),_:1}),e(a,null,{default:l(()=>[ze]),_:1})]),_:1})]),p("div",null,[e(n,{type:"primary",icon:k(G),onClick:D},{default:l(()=>[v(" 新增據點 ")]),_:1},8,["icon"])])]),e(J,{"body-style":{padding:"0px"}},{default:l(()=>[e(s,{data:C.value,style:{width:"100%"}},{default:l(()=>[e(i,{prop:"id",label:"#",width:"50"}),e(i,{prop:"name",label:"據點名稱"}),e(i,{prop:"address",label:"據點地址"}),e(i,{prop:"tel",label:"電話"}),e(i,{prop:"fax",label:"傳真"}),e(i,{prop:"status",label:"是否有效"}),e(i,{prop:"sort",label:"排序",width:"80"},{default:l(m=>[m.row.id!==r.value?(y(),x("div",{key:0,onDblclick:V=>U(m.row.id)},P(m.row.sort_order),41,Me)):_e((y(),q(z,{key:1,modelValue:m.row.sort_order,"onUpdate:modelValue":V=>m.row.sort_order=V,style:{width:"50px"},onKeyup:fe(V=>$(m.row),["enter"]),onBlur:t[0]||(t[0]=V=>j()),autoFocus:!0},null,8,["modelValue","onUpdate:modelValue","onKeyup"])),[[X,m.row.id===r.value]])]),_:1}),e(i,{label:"操作",width:"105",fixed:"right"},{default:l(m=>[e(N,null,{dropdown:l(()=>[e(E,null,{default:l(()=>[e(F,{icon:k(Y),onClick:V=>o(m.row.id)},{default:l(()=>[v("修改")]),_:2},1032,["icon","onClick"]),e(F,{icon:k(Z),onClick:V=>T(m.row.id)},{default:l(()=>[v("刪除")]),_:2},1032,["icon","onClick"])]),_:2},1024)]),default:l(()=>[e(n,{type:"danger"},{default:l(()=>[v(" 操作"),e(M,{class:"el-icon--right"},{default:l(()=>[e(k(ee))]),_:1})]),_:1})]),_:2},1024)]),_:1})]),_:1},8,["data"])]),_:1})]),p("div",null,[e(W,{ref:"drawerRef",modelValue:b.value,"onUpdate:modelValue":t[1]||(t[1]=m=>b.value=m),"destroy-on-close":!0,title:"首頁輪撥",direction:"rtl",size:"50%"},{default:l(()=>[e($e,{editid:h.value,onClose:R},null,8,["editid"])]),_:1},8,["modelValue"])])],64)}}};export{ul as default}; diff --git a/nginx/html/admin/assets/Index-6ce35338.js b/nginx/html/admin/assets/Index-6ce35338.js new file mode 100644 index 0000000..0fa7942 --- /dev/null +++ b/nginx/html/admin/assets/Index-6ce35338.js @@ -0,0 +1 @@ +import{p as L,E as z,G as M,H as Z,F as ee,b as le}from"./el-button-6b66070a.js";import{E as ae}from"./el-drawer-70a11b9f.js";import{E as oe}from"./el-message-box-e23ec1aa.js";import{E as N,a as te,b as se}from"./el-breadcrumb-item-0eb7853a.js";import{E as re,a as ne}from"./el-table-column-d43fc778.js";import"./el-tag-c9faf503.js";import"./el-tooltip-4ed993c7.js";import"./el-scrollbar-68edc4d7.js";import{E as ie,a as ue,b as de}from"./el-dropdown-item-9e1be9b9.js";import"./el-icon-08628b36.js";import{E as A}from"./el-input-e550db6e.js";import{E as pe}from"./el-image-viewer-f695cd1a.js";import{q as u,z as q,o as b,f as D,M as p,Q as e,w as l,c as K,a as k,N as v,O as P,V as ce,F as H,v as me,a3 as _e,a4 as fe,D as ve,a5 as ge}from"./index-3ef4d3eb.js";import{E as ye}from"./el-dialog-3f9d9ba4.js";import{E as we,a as be}from"./el-form-item-0317a247.js";import{E as Ee}from"./el-progress-dc506117.js";import{a as S,u as he}from"./request-63584e50.js";import{f as Ve}from"./style-6c2773cc.js";import{E as g}from"./el-message-76e8eab1.js";import{_ as ke}from"./_plugin-vue_export-helper-c27b6911.js";import"./use-dialog-bab1b29c.js";import"./index-a4d0b5b6.js";import"./aria-60e0cdc6.js";import"./castArray-3bec7949.js";import"./_baseClone-bf299fb6.js";import"./cloneDeep-8bc5fe7b.js";const Ce=async()=>S("/supplier/getSupplierList","GET"),xe=async c=>S("/supplier/getSupplier","GET",{id:c}),De=async c=>S("/supplier/deleteSupplier","GET",{id:c}),Q=async c=>S("/supplier/updateSupplier","POST",c),Se=async c=>S("/supplier/addSupplier","POST",c);const Ie=["src"],Fe={class:"demo-drawer__footer",style:{"text-align":"right"}},Te={key:0,class:"cropper-section"},Ue={class:"crop-area"},Oe={class:"crop-btn"},$e={__name:"Form",props:{editid:{type:Number,default:0}},emits:["close"],setup(c,{emit:T}){const E=c,y=T,C=u("insert"),_=u(!1),I=u(null),t=u({id:0});q(async()=>{if(E.editid){let a=await xe(E.editid);a.code===200&&(t.value=a.data,C.value="update")}});const U=u({imageurl:[{required:!0,message:"供應商LOGO必需要有",trigger:"blur"}],name:[{required:!0,message:"供應商名稱必填",trigger:"blur"}]}),s=u({show:!1,img:null,ratio:3.012}),F=u(null),O=a=>a.type!=="image/jpeg"&&a.type!=="image/png"&&a.type!=="image/jpg"?(g.error("圖片格式只能是jpeg/png/jpg!"),!1):(s.value.show=!0,s.value.img=URL.createObjectURL(a),!1),$=()=>{const{canvas:a}=F.value.getResult();if(a){const o=new FormData;a.toBlob(async f=>{let m=new File([f],"image.jpg");o.append("fileType","IMAGE"),o.append("file",m),s.value.show=!1,_.value=!0;let n=await he("/supplier/uploadSupplierImage",o);n.code===200?(t.value.imageurl=n.data,g.success("上傳成功")):g.error("上傳失敗"),_.value=!1},"image/jpeg")}},h=()=>{s.value.show=!1},B=()=>{y("close",!1)},r=a=>{a&&a.validate(async o=>{if(o){let f,m;C.value==="update"?(t.value.id=E.editid,f=await Q(t.value),m="修改成功."):(f=await Se(t.value),m="新增成功."),f.code===200&&(g({message:m,type:"success"}),y("close",!0))}else return g({message:"操作失敗.",type:"error"}),!1})};return(a,o)=>{const f=z,m=Ee,n=we,x=A,j=be,G=N,w=M,R=ye;return b(),D(H,null,[p("div",null,[e(G,null,{default:l(()=>[e(j,{ref_key:"formRef",ref:I,model:t.value,"status-icon":"",rules:U.value,"label-width":"120px"},{default:l(()=>[e(n,{label:"供應商LOGO",prop:"imageurl"},{default:l(()=>[e(m,{class:"avatar-uploader",action:"#",accept:"image/*","show-file-list":!1,"auto-upload":!0,"on-success":a.handleAvatarSuccess,"before-upload":d=>O(d)},{default:l(()=>[t.value.imageurl?(b(),D("img",{key:0,src:t.value.imageurl,class:"avatar",id:"imageurl"},null,8,Ie)):(b(),K(f,{key:1,class:"avatar-uploader-icon"},{default:l(()=>[e(k(L))]),_:1}))]),_:1},8,["on-success","before-upload"])]),_:1}),e(n,{label:"供應商名稱(繁)",prop:"name1"},{default:l(()=>[e(x,{modelValue:t.value.name1,"onUpdate:modelValue":o[0]||(o[0]=d=>t.value.name1=d)},null,8,["modelValue"])]),_:1}),e(n,{label:"供應商名稱(簡)",prop:"name2"},{default:l(()=>[e(x,{modelValue:t.value.name2,"onUpdate:modelValue":o[1]||(o[1]=d=>t.value.name2=d)},null,8,["modelValue"])]),_:1}),e(n,{label:"供應商名稱(英)",prop:"name3"},{default:l(()=>[e(x,{modelValue:t.value.name3,"onUpdate:modelValue":o[2]||(o[2]=d=>t.value.name3=d)},null,8,["modelValue"])]),_:1})]),_:1},8,["model","rules"])]),_:1}),p("div",Fe,[e(w,{onClick:B},{default:l(()=>[v("取消")]),_:1}),e(w,{type:"primary",loading:_.value,onClick:o[3]||(o[3]=d=>r(I.value))},{default:l(()=>[v(P(_.value?"處理中...":"確認"),1)]),_:1},8,["loading"])])]),p("div",null,[e(R,{modelValue:s.value.show,"onUpdate:modelValue":o[4]||(o[4]=d=>s.value.show=d),title:"Tips","before-close":h},{default:l(()=>[s.value.show?(b(),D("div",Te,[p("div",Ue,[e(k(Ve),{class:"cropper",ref_key:"myCrop",ref:F,src:s.value.img,"stencil-props":{aspectRatio:s.value.ratio},"auto-zoom":!0},null,8,["src","stencil-props"])]),p("div",Oe,[e(w,{type:"primary",size:"small",text:"",onClick:h},{default:l(()=>[v("取消")]),_:1}),e(w,{type:"primary",size:"small",onClick:$},{default:l(()=>[v("剪裁")]),_:1})])])):ce("",!0)]),_:1},8,["modelValue"])])],64)}}},Be=ke($e,[["__scopeId","data-v-a1dc5295"]]),je={class:"main"},Ge={class:"breadcrumb-section"},Re=p("a",{href:"/"},"供應商列表",-1),Le=["onDblclick"],cl={__name:"Index",setup(c){const T=me({page:1,pageSize:10});_e(T),u(0);const E=u(!1),y=u(!1),C=u([]);q(()=>{_()});const _=async()=>{E.value=!0;let r=await Ce();r.code===200&&(C.value=r.data),E.value=!1},I=()=>{h.value=0,y.value=!0},t=r=>{h.value=r,y.value=!0},U=r=>{oe.confirm("確認刪除此紀錄?").then(async()=>{(await De(r)).code===200?(g({message:"刪除成功.",type:"success"}),_()):g({message:"刪除失敗.",type:"error"})}).catch(()=>{})},s=u(0),F=r=>{s.value=r},O=async r=>{(await Q(r)).code===200?(g({message:"修改成功.",type:"success"}),_()):g({message:"修改失敗.",type:"error"}),s.value=0},$=()=>{s.value=0},h=u(0),B=r=>{y.value=!1,r&&_()};return(r,a)=>{const o=te,f=se,m=M,n=re,x=pe,j=A,G=z,w=ie,R=ue,d=de,J=ne,W=N,X=ae,Y=fe("focus");return b(),D(H,null,[p("div",je,[p("div",Ge,[p("div",null,[e(f,{separator:"/"},{default:l(()=>[e(o,null,{default:l(()=>[v(" 首頁 ")]),_:1}),e(o,null,{default:l(()=>[Re]),_:1})]),_:1})]),p("div",null,[e(m,{type:"primary",icon:k(L),onClick:I},{default:l(()=>[v(" 新增供應商 ")]),_:1},8,["icon"])])]),e(W,{"body-style":{padding:"0px"}},{default:l(()=>[e(J,{data:C.value,style:{width:"100%"}},{default:l(()=>[e(n,{prop:"id",label:"#",width:"50"}),e(n,{label:"供應商LOGO"},{default:l(i=>[e(x,{style:{width:"150px",height:"80px"},src:i.row.imageurl,fit:"cover",crossorigin:null},null,8,["src"])]),_:1}),e(n,{prop:"name1",label:"供應商名稱(繁)"}),e(n,{prop:"name2",label:"供應商名稱(簡)"}),e(n,{prop:"name3",label:"供應商名稱(英)"}),e(n,{prop:"sort",label:"排序",width:"80"},{default:l(i=>[i.row.id!==s.value?(b(),D("div",{key:0,onDblclick:V=>F(i.row.id)},P(i.row.sort_order),41,Le)):ve((b(),K(j,{key:1,modelValue:i.row.sort_order,"onUpdate:modelValue":V=>i.row.sort_order=V,style:{width:"50px"},onKeyup:ge(V=>O(i.row),["enter"]),onBlur:a[0]||(a[0]=V=>$()),autoFocus:!0},null,8,["modelValue","onUpdate:modelValue","onKeyup"])),[[Y,i.row.id===s.value]])]),_:1}),e(n,{label:"操作",width:"105",fixed:"right"},{default:l(i=>[e(d,null,{dropdown:l(()=>[e(R,null,{default:l(()=>[e(w,{icon:k(Z),onClick:V=>t(i.row.id)},{default:l(()=>[v("修改")]),_:2},1032,["icon","onClick"]),e(w,{icon:k(ee),onClick:V=>U(i.row.id)},{default:l(()=>[v("刪除")]),_:2},1032,["icon","onClick"])]),_:2},1024)]),default:l(()=>[e(m,{type:"danger"},{default:l(()=>[v(" 操作"),e(G,{class:"el-icon--right"},{default:l(()=>[e(k(le))]),_:1})]),_:1})]),_:2},1024)]),_:1})]),_:1},8,["data"])]),_:1})]),p("div",null,[e(X,{ref:"drawerRef",modelValue:y.value,"onUpdate:modelValue":a[1]||(a[1]=i=>y.value=i),"destroy-on-close":!0,title:"首頁輪撥",direction:"rtl",size:"50%"},{default:l(()=>[e(Be,{editid:h.value,onClose:B},null,8,["editid"])]),_:1},8,["modelValue"])])],64)}}};export{cl as default}; diff --git a/nginx/html/admin/assets/Index-6e424820.js b/nginx/html/admin/assets/Index-6e424820.js new file mode 100644 index 0000000..f3aa31d --- /dev/null +++ b/nginx/html/admin/assets/Index-6e424820.js @@ -0,0 +1 @@ +import{p as N,E as G,G as O,H as Z,F as ee,b as ae}from"./el-button-b67915d8.js";import{E as le}from"./el-drawer-1235fb1f.js";import{E as te}from"./el-message-box-31f94f7f.js";import{E as L,a as oe,b as se}from"./el-breadcrumb-item-762e8056.js";import{E as re,a as ne}from"./el-table-column-381af1e5.js";import"./el-tag-d3d38fd0.js";import"./el-tooltip-4ed993c7.js";import"./el-scrollbar-5edfcb3f.js";import{E as ie,a as ue,b as de}from"./el-dropdown-item-b9c7b677.js";import"./el-icon-08628b36.js";import{E as q}from"./el-input-5189b047.js";import{E as ce}from"./el-image-viewer-0d923d79.js";import{q as d,z as K,o as v,f as B,M as m,Q as e,w as a,c as S,a as h,N as g,O as P,V as me,F as H,v as pe,a3 as _e,a4 as fe,D as ve,a5 as ge}from"./index-b2bcea28.js";import{E as ye}from"./el-dialog-775a0d0d.js";import{E as we,a as be}from"./el-form-item-07a15cb5.js";import{E as he}from"./el-progress-4ca8ef53.js";import{a as D,u as Ee}from"./request-88e5850c.js";import{f as xe}from"./style-c38cf729.js";import{E as y}from"./el-message-447d52b9.js";import{_ as ke}from"./_plugin-vue_export-helper-c27b6911.js";import"./use-dialog-15edcc44.js";import"./index-07bb2cc4.js";import"./aria-60e0cdc6.js";import"./castArray-8eb82dce.js";import"./_baseClone-49d9099a.js";import"./cloneDeep-996df659.js";const Be=async()=>D("/index/getBannerList","GET"),Ve=async p=>D("/index/getBanner","GET",{id:p}),Ce=async p=>D("/index/deleteBanner","GET",{id:p}),Q=async p=>D("/index/updateBanner","POST",p),De=async p=>D("/index/addBanner","POST",p);const Fe=["src"],Ie=["src"],Te={class:"demo-drawer__footer",style:{"text-align":"right"}},Ue={key:0,class:"cropper-section"},$e={class:"crop-area"},je={class:"crop-btn"},Re={__name:"Form",props:{editid:{type:Number,default:0}},emits:["close"],setup(p,{emit:U}){const E=p,w=U,V=d("insert"),f=d(!1),F=d(null),s=d({id:0});K(async()=>{if(E.editid){let l=await Ve(E.editid);l.code===200&&(s.value=l.data,V.value="update")}});const $=d({imageurl1:[{required:!0,message:"電腦版背景圖必填",trigger:"blur"}],imageurl2:[{required:!0,message:"手機版背景圖必填",trigger:"blur"}]}),t=d({show:!1,img:null,ratio:2}),I=d(null),T=(l,o)=>l.type!=="image/jpeg"&&l.type!=="image/png"&&l.type!=="image/jpg"?(y.error("圖片格式只能是jpeg/png/jpg!"),!1):(t.value.show=!0,t.value.img=URL.createObjectURL(l),o===1?(t.value.type=1,t.value.ratio=2):(t.value.type=2,t.value.ratio=.5),!1),j=()=>{const{canvas:l}=I.value.getResult();if(l){const o=new FormData;l.toBlob(async _=>{let u=new File([_],"image.jpg");o.append("fileType","IMAGE"),o.append("file",u),t.value.show=!1,f.value=!0;let i=await Ee("/index/uploadBannerImage",o);i.code===200?(t.value.type===1?s.value.imageurl1=i.data:s.value.imageurl2=i.data,y.success("上傳成功")):y.error("上傳失敗"),f.value=!1},"image/jpeg")}},x=()=>{t.value.show=!1},R=()=>{w("close",!1)},n=l=>{l&&l.validate(async o=>{if(o){let _,u;V.value==="update"?(s.value.id=E.editid,_=await Q(s.value),u="修改成功."):(_=await De(s.value),u="新增成功."),_.code===200&&(y({message:u,type:"success"}),w("close",!0))}else return y({message:"操作失敗.",type:"error"}),!1})};return(l,o)=>{const _=q,u=we,i=G,C=he,z=be,A=L,b=O,M=ye;return v(),B(H,null,[m("div",null,[e(A,null,{default:a(()=>[e(z,{ref_key:"formRef",ref:F,model:s.value,"status-icon":"",rules:$.value,"label-width":"120px"},{default:a(()=>[e(u,{label:"標語"},{default:a(()=>[e(_,{modelValue:s.value.slogon,"onUpdate:modelValue":o[0]||(o[0]=c=>s.value.slogon=c)},null,8,["modelValue"])]),_:1}),e(u,{label:"描述"},{default:a(()=>[e(_,{modelValue:s.value.describe,"onUpdate:modelValue":o[1]||(o[1]=c=>s.value.describe=c)},null,8,["modelValue"])]),_:1}),e(u,{label:"電腦版背景圖",prop:"imageurl1"},{default:a(()=>[e(C,{class:"avatar-uploader",action:"#",accept:"image/*","show-file-list":!1,"auto-upload":!0,"on-success":l.handleAvatarSuccess,"before-upload":c=>T(c,1)},{default:a(()=>[s.value.imageurl1?(v(),B("img",{key:0,src:s.value.imageurl1,class:"avatar1",id:"imageurl1"},null,8,Fe)):(v(),S(i,{key:1,class:"avatar-uploader-icon1"},{default:a(()=>[e(h(N))]),_:1}))]),_:1},8,["on-success","before-upload"])]),_:1}),e(u,{label:"手機版背景圖",prop:"imageurl2"},{default:a(()=>[e(C,{class:"avatar-uploader",action:"#",accept:"image/*","show-file-list":!1,"auto-upload":!0,"on-success":l.handleAvatarSuccess,"before-upload":c=>T(c,2)},{default:a(()=>[s.value.imageurl2?(v(),B("img",{key:0,src:s.value.imageurl2,class:"avatar2",id:"imageurl1"},null,8,Ie)):(v(),S(i,{key:1,class:"avatar-uploader-icon2"},{default:a(()=>[e(h(N))]),_:1}))]),_:1},8,["on-success","before-upload"])]),_:1})]),_:1},8,["model","rules"])]),_:1}),m("div",Te,[e(b,{onClick:R},{default:a(()=>[g("取消")]),_:1}),e(b,{type:"primary",loading:f.value,onClick:o[2]||(o[2]=c=>n(F.value))},{default:a(()=>[g(P(f.value?"處理中...":"確認"),1)]),_:1},8,["loading"])])]),m("div",null,[e(M,{modelValue:t.value.show,"onUpdate:modelValue":o[3]||(o[3]=c=>t.value.show=c),title:"Tips","before-close":x},{default:a(()=>[t.value.show?(v(),B("div",Ue,[m("div",$e,[e(h(xe),{class:"cropper",ref_key:"myCrop",ref:I,src:t.value.img,"stencil-props":{aspectRatio:t.value.ratio},"auto-zoom":!0},null,8,["src","stencil-props"])]),m("div",je,[e(b,{type:"primary",size:"small",text:"",onClick:x},{default:a(()=>[g("取消")]),_:1}),e(b,{type:"primary",size:"small",onClick:j},{default:a(()=>[g("剪裁")]),_:1})])])):me("",!0)]),_:1},8,["modelValue"])])],64)}}},ze=ke(Re,[["__scopeId","data-v-847aa68b"]]),Ae={class:"main"},Me={class:"breadcrumb-section"},Ne=m("a",{href:"/"},"首頁輪播列表",-1),Se=["onDblclick"],pa={__name:"Index",setup(p){const U=pe({page:1,pageSize:10});_e(U),d(0);const E=d(!1),w=d(!1),V=d([]);K(()=>{f()});const f=async()=>{E.value=!0;let n=await Be();n.code===200&&(V.value=n.data),E.value=!1},F=()=>{x.value=0,w.value=!0},s=n=>{x.value=n,w.value=!0},$=n=>{te.confirm("確認刪除此紀錄?").then(async()=>{(await Ce(n)).code===200?(y({message:"刪除成功.",type:"success"}),f()):y({message:"刪除失敗.",type:"error"})}).catch(()=>{})},t=d(0),I=n=>{t.value=n},T=async n=>{(await Q(n)).code===200?(y({message:"修改成功.",type:"success"}),f()):y({message:"修改失敗.",type:"error"}),t.value=0},j=()=>{t.value=0},x=d(0),R=n=>{w.value=!1,n&&f()};return(n,l)=>{const o=oe,_=se,u=O,i=re,C=ce,z=q,A=G,b=ie,M=ue,c=de,J=ne,W=L,X=le,Y=fe("focus");return v(),B(H,null,[m("div",Ae,[m("div",Me,[m("div",null,[e(_,{separator:"/"},{default:a(()=>[e(o,null,{default:a(()=>[g(" 首頁 ")]),_:1}),e(o,null,{default:a(()=>[Ne]),_:1})]),_:1})]),m("div",null,[e(u,{type:"primary",icon:h(N),onClick:F},{default:a(()=>[g(" 新增輪播 ")]),_:1},8,["icon"])])]),e(W,{"body-style":{padding:"0px"}},{default:a(()=>[e(J,{data:V.value,style:{width:"100%"}},{default:a(()=>[e(i,{prop:"id",label:"#",width:"50"}),e(i,{label:"電腦版背景"},{default:a(r=>[e(C,{style:{width:"100px",height:"50px"},src:r.row.imageurl1,fit:"cover",crossorigin:null},null,8,["src"])]),_:1}),e(i,{label:"手機版背景"},{default:a(r=>[e(C,{style:{width:"50px",height:"100px"},src:r.row.imageurl2,fit:"cover",crossorigin:null},null,8,["src"])]),_:1}),e(i,{prop:"slogon",label:"標題"}),e(i,{prop:"describe",label:"描述"}),e(i,{prop:"sort_order",label:"排序",width:"80"},{default:a(r=>[r.row.id!==t.value?(v(),B("div",{key:0,onDblclick:k=>I(r.row.id)},P(r.row.sort_order),41,Se)):ve((v(),S(z,{key:1,modelValue:r.row.sort_order,"onUpdate:modelValue":k=>r.row.sort_order=k,style:{width:"50px"},onKeyup:ge(k=>T(r.row),["enter"]),onBlur:l[0]||(l[0]=k=>j()),autoFocus:!0},null,8,["modelValue","onUpdate:modelValue","onKeyup"])),[[Y,r.row.id===t.value]])]),_:1}),e(i,{label:"其他項目",width:"105",fixed:"right"},{default:a(r=>[e(c,null,{dropdown:a(()=>[e(M,null,{default:a(()=>[e(b,{icon:h(Z),onClick:k=>s(r.row.id)},{default:a(()=>[g("修改")]),_:2},1032,["icon","onClick"]),e(b,{icon:h(ee),onClick:k=>$(r.row.id)},{default:a(()=>[g("刪除")]),_:2},1032,["icon","onClick"])]),_:2},1024)]),default:a(()=>[e(u,{type:"danger"},{default:a(()=>[g(" 操作"),e(A,{class:"el-icon--right"},{default:a(()=>[e(h(ae))]),_:1})]),_:1})]),_:2},1024)]),_:1})]),_:1},8,["data"])]),_:1})]),m("div",null,[e(X,{ref:"drawerRef",modelValue:w.value,"onUpdate:modelValue":l[1]||(l[1]=r=>w.value=r),"destroy-on-close":!0,title:"首頁輪撥",direction:"rtl",size:"50%"},{default:a(()=>[e(ze,{editid:x.value,onClose:R},null,8,["editid"])]),_:1},8,["modelValue"])])],64)}}};export{pa as default}; diff --git a/nginx/html/admin/assets/Index-70096f9a.js b/nginx/html/admin/assets/Index-70096f9a.js new file mode 100644 index 0000000..cabccb3 --- /dev/null +++ b/nginx/html/admin/assets/Index-70096f9a.js @@ -0,0 +1 @@ +import{a1 as O,_ as J,S as ie,a2 as re,F as ce,b as de,E as pe,G as ue}from"./el-button-6b66070a.js";import{E as me}from"./el-dialog-3f9d9ba4.js";import{E as _e}from"./el-message-box-e23ec1aa.js";import{E as X,a as fe,b as ge}from"./el-breadcrumb-item-0eb7853a.js";import{E as be}from"./el-pagination-43d3c954.js";import"./el-input-e550db6e.js";import"./el-tag-c9faf503.js";import"./el-select-05f87a48.js";import"./el-scrollbar-68edc4d7.js";import{E as he,a as ve}from"./el-table-column-d43fc778.js";import"./el-tooltip-4ed993c7.js";import{g as ye,f as we,E as Ee,a as Se,b as Ce}from"./el-dropdown-item-9e1be9b9.js";import"./el-icon-08628b36.js";import{a as Y}from"./request-63584e50.js";import{d as x,p as Z,u as ee,D as W,B,k as L,G as De,a as n,o as _,f as E,M as o,F as N,W as A,c as R,Q as t,an as ke,b as Ne,y as $e,e as ze,n as z,r as q,N as h,O as $,V as xe,h as Ie,j as Pe,w as l,v as Be,a3 as Ve,q as V,z as Te,a6 as Q}from"./index-3ef4d3eb.js";import{i as Re}from"./index-a4d0b5b6.js";import{E as H}from"./el-message-76e8eab1.js";import"./use-dialog-bab1b29c.js";import"./aria-60e0cdc6.js";import"./index-fb3b55d2.js";import"./strings-ce4815fd.js";import"./castArray-3bec7949.js";const K=Symbol("elDescriptions");var T=x({name:"ElDescriptionsCell",props:{cell:{type:Object},tag:{type:String,default:"td"},type:{type:String}},setup(){return{descriptions:Z(K,{})}},render(){var p,i,s,u,r,m,S;const f=ye(this.cell),e=(((p=this.cell)==null?void 0:p.dirs)||[]).map(M=>{const{dir:F,arg:j,modifiers:G,value:U}=M;return[F,U,j,G]}),{border:v,direction:g}=this.descriptions,c=g==="vertical",C=((u=(s=(i=this.cell)==null?void 0:i.children)==null?void 0:s.label)==null?void 0:u.call(s))||f.label,y=(S=(m=(r=this.cell)==null?void 0:r.children)==null?void 0:m.default)==null?void 0:S.call(m),b=f.span,D=f.align?`is-${f.align}`:"",a=f.labelAlign?`is-${f.labelAlign}`:D,w=f.className,I=f.labelClassName,P={width:O(f.width),minWidth:O(f.minWidth)},d=ee("descriptions");switch(this.type){case"label":return W(B(this.tag,{style:P,class:[d.e("cell"),d.e("label"),d.is("bordered-label",v),d.is("vertical-label",c),a,I],colSpan:c?b:1},C),e);case"content":return W(B(this.tag,{style:P,class:[d.e("cell"),d.e("content"),d.is("bordered-content",v),d.is("vertical-content",c),D,w],colSpan:c?b:b*2-1},y),e);default:return W(B("td",{style:P,class:[d.e("cell"),D],colSpan:b},[Re(C)?void 0:B("span",{class:[d.e("label"),I]},C),B("span",{class:[d.e("content"),w]},y)]),e)}}});const je=L({row:{type:De(Array),default:()=>[]}}),Ae={key:1},Me=x({name:"ElDescriptionsRow"}),Fe=x({...Me,props:je,setup(p){const i=Z(K,{});return(s,u)=>n(i).direction==="vertical"?(_(),E(N,{key:0},[o("tr",null,[(_(!0),E(N,null,A(s.row,(r,m)=>(_(),R(n(T),{key:`tr1-${m}`,cell:r,tag:"th",type:"label"},null,8,["cell"]))),128))]),o("tr",null,[(_(!0),E(N,null,A(s.row,(r,m)=>(_(),R(n(T),{key:`tr2-${m}`,cell:r,tag:"td",type:"content"},null,8,["cell"]))),128))])],64)):(_(),E("tr",Ae,[(_(!0),E(N,null,A(s.row,(r,m)=>(_(),E(N,{key:`tr3-${m}`},[n(i).border?(_(),E(N,{key:0},[t(n(T),{cell:r,tag:"td",type:"label"},null,8,["cell"]),t(n(T),{cell:r,tag:"td",type:"content"},null,8,["cell"])],64)):(_(),R(n(T),{key:1,cell:r,tag:"td",type:"both"},null,8,["cell"]))],64))),128))]))}});var Ge=J(Fe,[["__file","descriptions-row.vue"]]);const Ue=L({border:{type:Boolean,default:!1},column:{type:Number,default:3},direction:{type:String,values:["horizontal","vertical"],default:"horizontal"},size:ke,title:{type:String,default:""},extra:{type:String,default:""}}),We=x({name:"ElDescriptions"}),Le=x({...We,props:Ue,setup(p){const i=p,s=ee("descriptions"),u=ie(),r=Ne();$e(K,i);const m=ze(()=>[s.b(),s.m(u.value)]),S=(e,v,g,c=!1)=>(e.props||(e.props={}),v>g&&(e.props.span=g),c&&(e.props.span=v),e),f=()=>{if(!r.default)return[];const e=we(r.default()).filter(y=>{var b;return((b=y==null?void 0:y.type)==null?void 0:b.name)==="ElDescriptionsItem"}),v=[];let g=[],c=i.column,C=0;return e.forEach((y,b)=>{var D;const a=((D=y.props)==null?void 0:D.span)||1;if(bc?c:a),b===e.length-1){const w=i.column-C%i.column;g.push(S(y,w,c,!0)),v.push(g);return}a(_(),E("div",{class:z(n(m))},[e.title||e.extra||e.$slots.title||e.$slots.extra?(_(),E("div",{key:0,class:z(n(s).e("header"))},[o("div",{class:z(n(s).e("title"))},[q(e.$slots,"title",{},()=>[h($(e.title),1)])],2),o("div",{class:z(n(s).e("extra"))},[q(e.$slots,"extra",{},()=>[h($(e.extra),1)])],2)],2)):xe("v-if",!0),o("div",{class:z(n(s).e("body"))},[o("table",{class:z([n(s).e("table"),n(s).is("bordered",e.border)])},[o("tbody",null,[(_(!0),E(N,null,A(f(),(g,c)=>(_(),R(Ge,{key:c,row:g},null,8,["row"]))),128))])],2)],2)],2))}});var Ke=J(Le,[["__file","description.vue"]]);const Oe=L({label:{type:String,default:""},span:{type:Number,default:1},width:{type:[String,Number],default:""},minWidth:{type:[String,Number],default:""},align:{type:String,default:"left"},labelAlign:{type:String,default:""},className:{type:String,default:""},labelClassName:{type:String,default:""}}),te=x({name:"ElDescriptionsItem",props:Oe}),qe=Ie(Ke,{DescriptionsItem:te}),Qe=Pe(te),He=async()=>Y("/contact/getContactList","GET"),Je=async p=>Y("/contact/deleteContact","GET",{id:p});const Xe=o("div",{class:"cell-item"},"客戶姓名",-1),Ye=o("div",{class:"cell-item"},"聯絡電話",-1),Ze=o("div",{class:"cell-item"},"聯絡地址",-1),et=o("div",{class:"cell-item"},"電子信箱",-1),tt=o("div",{class:"cell-item"},"留言內容",-1),lt=o("div",{class:"cell-item"},"留言時間",-1),at={__name:"content",props:["data"],setup(p){return(i,s)=>{const u=Qe,r=qe,m=X;return _(),R(m,{"body-style":{padding:"0px"}},{default:l(()=>[t(r,{column:1,border:""},{default:l(()=>[t(u,{"min-width":"90px","label-align":"right"},{label:l(()=>[Xe]),default:l(()=>[h(" "+$(p.data.name),1)]),_:1}),t(u,{"min-width":"90px","label-align":"right"},{label:l(()=>[Ye]),default:l(()=>[h(" "+$(p.data.tel),1)]),_:1}),t(u,{"min-width":"90px","label-align":"right"},{label:l(()=>[Ze]),default:l(()=>[h(" "+$(p.data.address),1)]),_:1}),t(u,{"min-width":"90px","label-align":"right"},{label:l(()=>[et]),default:l(()=>[h(" "+$(p.data.email),1)]),_:1}),t(u,{"min-width":"90px","label-align":"right"},{label:l(()=>[tt]),default:l(()=>[h(" "+$(p.data.content),1)]),_:1}),t(u,{"min-width":"90px","label-align":"right"},{label:l(()=>[lt]),default:l(()=>[h(" "+$(p.data.create_time),1)]),_:1})]),_:1})]),_:1})}}},st={class:"main"},nt={class:"breadcrumb-section"},ot=o("div",null,null,-1),it={class:"pagination-block"},xt={__name:"Index",setup(p){const i=Be({page:1,pageSize:10}),{page:s,pageSize:u}=Ve(i),r=V(0),m=V(!1),S=V(!1),f=V([]);Te(()=>{e()});const e=async()=>{m.value=!0;let a=await He();a.code===200&&(f.value=a.data.list,r.value=a.data.total),m.value=!1},v=a=>{_e.confirm("確認刪除此紀錄?").then(async()=>{(await Je(a)).code===200?(H({message:"刪除成功.",type:"success"}),e()):H({message:"刪除失敗.",type:"error"})}).catch(()=>{})},g=a=>{i.pageSize=a,e()},c=a=>{i.page=a,e()},C=a=>{i.page=a,e()},y=a=>{i.page=a,e()},b=V({}),D=a=>{b.value=a,S.value=!0};return(a,w)=>{const I=fe,P=ge,d=he,M=pe,F=ue,j=Ee,G=Se,U=Ce,le=ve,ae=be,se=X,ne=me;return _(),E(N,null,[o("div",st,[o("div",nt,[o("div",null,[t(P,{separator:"/"},{default:l(()=>[t(I,null,{default:l(()=>[h(" 聯絡我們 ")]),_:1}),t(I,null,{default:l(()=>[h(" 表單信件 ")]),_:1})]),_:1})]),ot]),t(se,{"body-style":{padding:"0px"}},{default:l(()=>[t(le,{data:f.value},{default:l(()=>[t(d,{fixed:"",prop:"id",label:"#",width:"50"}),t(d,{prop:"name",label:"聯絡人",width:"180"}),t(d,{prop:"email",label:"E-mail"}),t(d,{prop:"tel",label:"聯絡電話"}),t(d,{prop:"create_time",label:"留言時間"}),t(d,{label:"操作",width:"105",fixed:"right"},{default:l(k=>[t(U,null,{dropdown:l(()=>[t(G,null,{default:l(()=>[t(j,{icon:n(re),onClick:oe=>D(k.row)},{default:l(()=>[h("內容")]),_:2},1032,["icon","onClick"]),t(j,{icon:n(ce),onClick:oe=>v(k.row.id)},{default:l(()=>[h("刪除")]),_:2},1032,["icon","onClick"])]),_:2},1024)]),default:l(()=>[t(F,{type:"danger"},{default:l(()=>[h(" 操作"),t(M,{class:"el-icon--right"},{default:l(()=>[t(n(de))]),_:1})]),_:1})]),_:2},1024)]),_:1})]),_:1},8,["data"]),o("div",it,[t(ae,{"current-page":n(s),"onUpdate:currentPage":w[0]||(w[0]=k=>Q(s)?s.value=k:null),"page-size":n(u),"onUpdate:pageSize":w[1]||(w[1]=k=>Q(u)?u.value=k:null),"page-sizes":[10,20,50,100],layout:"->,total, sizes, prev, pager, next, jumper",total:r.value,onSizeChange:g,onCurrentChange:c,onPrevClick:C,onNextClick:y},null,8,["current-page","page-size","total"])])]),_:1})]),o("div",null,[t(ne,{modelValue:S.value,"onUpdate:modelValue":w[2]||(w[2]=k=>S.value=k),title:"留言內容","destroy-on-close":!0},{default:l(()=>[t(at,{data:b.value},null,8,["data"])]),_:1},8,["modelValue"])])],64)}}};export{xt as default}; diff --git a/nginx/html/admin/assets/Index-72eb72d2.js b/nginx/html/admin/assets/Index-72eb72d2.js new file mode 100644 index 0000000..9796f91 --- /dev/null +++ b/nginx/html/admin/assets/Index-72eb72d2.js @@ -0,0 +1 @@ +import{p as L,E as z,G as M,H as Z,F as ee,b as le}from"./el-button-7b435908.js";import{E as ae}from"./el-drawer-1ab47bb4.js";import{E as te}from"./el-message-box-9fd7f437.js";import{E as N,a as oe,b as se}from"./el-breadcrumb-item-0c010d2b.js";import{E as re,a as ne}from"./el-table-column-32453fe2.js";import"./el-tag-6bb7020c.js";import"./el-tooltip-4ed993c7.js";import"./el-scrollbar-654ee4cf.js";import{E as ie,a as ue,b as de}from"./el-dropdown-item-9b77b9ae.js";import"./el-icon-08628b36.js";import{E as A}from"./el-input-5a355fec.js";import{E as pe}from"./el-image-viewer-51a0e4c5.js";import{q as u,z as q,o as b,f as D,M as p,Q as e,w as l,c as K,a as k,N as v,O as P,V as ce,F as H,v as me,a3 as _e,a4 as fe,D as ve,a5 as ge}from"./index-11843334.js";import{E as ye}from"./el-dialog-50d8753f.js";import{E as we,a as be}from"./el-form-item-563dc716.js";import{E as Ee}from"./el-progress-6b890862.js";import{a as S,u as he}from"./request-79887494.js";import{f as Ve}from"./style-f6ce458e.js";import{E as g}from"./el-message-c3316f84.js";import{_ as ke}from"./_plugin-vue_export-helper-c27b6911.js";import"./use-dialog-90edb7a0.js";import"./index-58150f7d.js";import"./aria-60e0cdc6.js";import"./castArray-80791487.js";import"./_baseClone-07904f92.js";import"./cloneDeep-37a2db27.js";const Ce=async()=>S("/supplier/getSupplierList","GET"),xe=async c=>S("/supplier/getSupplier","GET",{id:c}),De=async c=>S("/supplier/deleteSupplier","GET",{id:c}),Q=async c=>S("/supplier/updateSupplier","POST",c),Se=async c=>S("/supplier/addSupplier","POST",c);const Fe=["src"],Ie={class:"demo-drawer__footer",style:{"text-align":"right"}},Te={key:0,class:"cropper-section"},Ue={class:"crop-area"},Oe={class:"crop-btn"},$e={__name:"Form",props:{editid:{type:Number,default:0}},emits:["close"],setup(c,{emit:T}){const E=c,y=T,C=u("insert"),_=u(!1),F=u(null),o=u({id:0});q(async()=>{if(E.editid){let a=await xe(E.editid);a.code===200&&(o.value=a.data,C.value="update")}});const U=u({imageurl:[{required:!0,message:"供應商LOGO必需要有",trigger:"blur"}],name:[{required:!0,message:"供應商名稱必填",trigger:"blur"}]}),s=u({show:!1,img:null,ratio:3.012}),I=u(null),O=a=>a.type!=="image/jpeg"&&a.type!=="image/png"&&a.type!=="image/jpg"?(g.error("圖片格式只能是jpeg/png/jpg!"),!1):(s.value.show=!0,s.value.img=URL.createObjectURL(a),!1),$=()=>{const{canvas:a}=I.value.getResult();if(a){const t=new FormData;a.toBlob(async f=>{let m=new File([f],"image.jpg");t.append("fileType","IMAGE"),t.append("file",m),s.value.show=!1,_.value=!0;let n=await he("/supplier/uploadSupplierImage",t);n.code===200?(o.value.imageurl=n.data,g.success("上傳成功")):g.error("上傳失敗"),_.value=!1},"image/jpeg")}},h=()=>{s.value.show=!1},B=()=>{y("close",!1)},r=a=>{a&&a.validate(async t=>{if(t){let f,m;C.value==="update"?(o.value.id=E.editid,f=await Q(o.value),m="修改成功."):(f=await Se(o.value),m="新增成功."),f.code===200&&(g({message:m,type:"success"}),y("close",!0))}else return g({message:"操作失敗.",type:"error"}),!1})};return(a,t)=>{const f=z,m=Ee,n=we,x=A,j=be,G=N,w=M,R=ye;return b(),D(H,null,[p("div",null,[e(G,null,{default:l(()=>[e(j,{ref_key:"formRef",ref:F,model:o.value,"status-icon":"",rules:U.value,"label-width":"120px"},{default:l(()=>[e(n,{label:"供應商LOGO",prop:"imageurl"},{default:l(()=>[e(m,{class:"avatar-uploader",action:"#",accept:"image/*","show-file-list":!1,"auto-upload":!0,"on-success":a.handleAvatarSuccess,"before-upload":d=>O(d)},{default:l(()=>[o.value.imageurl?(b(),D("img",{key:0,src:o.value.imageurl,class:"avatar",id:"imageurl"},null,8,Fe)):(b(),K(f,{key:1,class:"avatar-uploader-icon"},{default:l(()=>[e(k(L))]),_:1}))]),_:1},8,["on-success","before-upload"])]),_:1}),e(n,{label:"供應商名稱(繁)",prop:"name1"},{default:l(()=>[e(x,{modelValue:o.value.name1,"onUpdate:modelValue":t[0]||(t[0]=d=>o.value.name1=d)},null,8,["modelValue"])]),_:1}),e(n,{label:"供應商名稱(簡)",prop:"name2"},{default:l(()=>[e(x,{modelValue:o.value.name2,"onUpdate:modelValue":t[1]||(t[1]=d=>o.value.name2=d)},null,8,["modelValue"])]),_:1}),e(n,{label:"供應商名稱(英)",prop:"name3"},{default:l(()=>[e(x,{modelValue:o.value.name3,"onUpdate:modelValue":t[2]||(t[2]=d=>o.value.name3=d)},null,8,["modelValue"])]),_:1})]),_:1},8,["model","rules"])]),_:1}),p("div",Ie,[e(w,{onClick:B},{default:l(()=>[v("取消")]),_:1}),e(w,{type:"primary",loading:_.value,onClick:t[3]||(t[3]=d=>r(F.value))},{default:l(()=>[v(P(_.value?"處理中...":"確認"),1)]),_:1},8,["loading"])])]),p("div",null,[e(R,{modelValue:s.value.show,"onUpdate:modelValue":t[4]||(t[4]=d=>s.value.show=d),title:"Tips","before-close":h},{default:l(()=>[s.value.show?(b(),D("div",Te,[p("div",Ue,[e(k(Ve),{class:"cropper",ref_key:"myCrop",ref:I,src:s.value.img,"stencil-props":{aspectRatio:s.value.ratio},"auto-zoom":!0},null,8,["src","stencil-props"])]),p("div",Oe,[e(w,{type:"primary",size:"small",text:"",onClick:h},{default:l(()=>[v("取消")]),_:1}),e(w,{type:"primary",size:"small",onClick:$},{default:l(()=>[v("剪裁")]),_:1})])])):ce("",!0)]),_:1},8,["modelValue"])])],64)}}},Be=ke($e,[["__scopeId","data-v-a1dc5295"]]),je={class:"main"},Ge={class:"breadcrumb-section"},Re=p("a",{href:"/"},"供應商列表",-1),Le=["onDblclick"],cl={__name:"Index",setup(c){const T=me({page:1,pageSize:10});_e(T),u(0);const E=u(!1),y=u(!1),C=u([]);q(()=>{_()});const _=async()=>{E.value=!0;let r=await Ce();r.code===200&&(C.value=r.data),E.value=!1},F=()=>{h.value=0,y.value=!0},o=r=>{h.value=r,y.value=!0},U=r=>{te.confirm("確認刪除此紀錄?").then(async()=>{(await De(r)).code===200?(g({message:"刪除成功.",type:"success"}),_()):g({message:"刪除失敗.",type:"error"})}).catch(()=>{})},s=u(0),I=r=>{s.value=r},O=async r=>{(await Q(r)).code===200?(g({message:"修改成功.",type:"success"}),_()):g({message:"修改失敗.",type:"error"}),s.value=0},$=()=>{s.value=0},h=u(0),B=r=>{y.value=!1,r&&_()};return(r,a)=>{const t=oe,f=se,m=M,n=re,x=pe,j=A,G=z,w=ie,R=ue,d=de,J=ne,W=N,X=ae,Y=fe("focus");return b(),D(H,null,[p("div",je,[p("div",Ge,[p("div",null,[e(f,{separator:"/"},{default:l(()=>[e(t,null,{default:l(()=>[v(" 首頁 ")]),_:1}),e(t,null,{default:l(()=>[Re]),_:1})]),_:1})]),p("div",null,[e(m,{type:"primary",icon:k(L),onClick:F},{default:l(()=>[v(" 新增供應商 ")]),_:1},8,["icon"])])]),e(W,{"body-style":{padding:"0px"}},{default:l(()=>[e(J,{data:C.value,style:{width:"100%"}},{default:l(()=>[e(n,{prop:"id",label:"#",width:"50"}),e(n,{label:"供應商LOGO"},{default:l(i=>[e(x,{style:{width:"150px",height:"80px"},src:i.row.imageurl,fit:"cover",crossorigin:null},null,8,["src"])]),_:1}),e(n,{prop:"name1",label:"供應商名稱(繁)"}),e(n,{prop:"name2",label:"供應商名稱(簡)"}),e(n,{prop:"name3",label:"供應商名稱(英)"}),e(n,{prop:"sort",label:"排序",width:"80"},{default:l(i=>[i.row.id!==s.value?(b(),D("div",{key:0,onDblclick:V=>I(i.row.id)},P(i.row.sort_order),41,Le)):ve((b(),K(j,{key:1,modelValue:i.row.sort_order,"onUpdate:modelValue":V=>i.row.sort_order=V,style:{width:"50px"},onKeyup:ge(V=>O(i.row),["enter"]),onBlur:a[0]||(a[0]=V=>$()),autoFocus:!0},null,8,["modelValue","onUpdate:modelValue","onKeyup"])),[[Y,i.row.id===s.value]])]),_:1}),e(n,{label:"操作",width:"105",fixed:"right"},{default:l(i=>[e(d,null,{dropdown:l(()=>[e(R,null,{default:l(()=>[e(w,{icon:k(Z),onClick:V=>o(i.row.id)},{default:l(()=>[v("修改")]),_:2},1032,["icon","onClick"]),e(w,{icon:k(ee),onClick:V=>U(i.row.id)},{default:l(()=>[v("刪除")]),_:2},1032,["icon","onClick"])]),_:2},1024)]),default:l(()=>[e(m,{type:"danger"},{default:l(()=>[v(" 操作"),e(G,{class:"el-icon--right"},{default:l(()=>[e(k(le))]),_:1})]),_:1})]),_:2},1024)]),_:1})]),_:1},8,["data"])]),_:1})]),p("div",null,[e(X,{ref:"drawerRef",modelValue:y.value,"onUpdate:modelValue":a[1]||(a[1]=i=>y.value=i),"destroy-on-close":!0,title:"首頁輪撥",direction:"rtl",size:"50%"},{default:l(()=>[e(Be,{editid:h.value,onClose:B},null,8,["editid"])]),_:1},8,["modelValue"])])],64)}}};export{cl as default}; diff --git a/nginx/html/admin/assets/Index-735992df.js b/nginx/html/admin/assets/Index-735992df.js new file mode 100644 index 0000000..d485d31 --- /dev/null +++ b/nginx/html/admin/assets/Index-735992df.js @@ -0,0 +1 @@ +import{G as h}from"./el-button-7b435908.js";import{a as x,b as S,E as k}from"./el-breadcrumb-item-0c010d2b.js";import{C}from"./ckeditor-8ca0487d.js";import{g as E,u as I}from"./article-42f61703.js";import{E as d}from"./el-message-c3316f84.js";import{_ as B}from"./_plugin-vue_export-helper-c27b6911.js";import{q as c,z as w,L as V,o as N,f as R,M as t,Q as e,w as o,N as m,a as z,a7 as A,a8 as L}from"./index-11843334.js";import"./request-79887494.js";import"./aria-60e0cdc6.js";const _=a=>(A("data-v-edcc74e1"),a=a(),L(),a),T={class:"main"},F={class:"breadcrumb-section"},M=_(()=>t("a",{href:"/"},"經營理念",-1)),U=_(()=>t("div",null,null,-1)),$={style:{padding:"10px"}},q={class:"card-footer"},G={__name:"Index",setup(a){const p=C,s=c(""),u=c({simpleUpload:{uploadUrl:"https://prodio.zltest.com.tw/adminapi/article/uploadImage",headers:{"X-CSRF-TOKEN":"CSFR-Token",Authorization:`${sessionStorage.getItem("token")}`}},image:{resize:!0,toolbar:["imageTextAlternative","|","imageStyle:alignLeft","imageStyle:alignRight","|","imageStyle:alignBlockLeft","imageStyle:block","imageStyle:alignBlockRight"],styles:["full","alignLeft","alignRight"]}});w(async()=>{let n=await E(2);n.code===200&&(s.value=n.data.content)});const g=async()=>(await I({id:2,content:s.value})).code===200?d({message:"更新成功",type:"success"}):d({message:"更新失敗",type:"error"});return(n,l)=>{const r=x,f=S,v=V("ckeditor"),y=h,b=k;return N(),R("div",T,[t("div",F,[t("div",null,[e(f,{separator:"/"},{default:o(()=>[e(r,null,{default:o(()=>[m(" 經銷系統 ")]),_:1}),e(r,null,{default:o(()=>[M]),_:1})]),_:1})]),U]),e(b,{"body-style":{padding:"0px"}},{default:o(()=>[t("div",$,[e(v,{editor:z(p),modelValue:s.value,"onUpdate:modelValue":l[0]||(l[0]=i=>s.value=i),config:u.value},null,8,["editor","modelValue","config"])]),t("div",q,[e(y,{type:"primary",onClick:l[1]||(l[1]=i=>g())},{default:o(()=>[m("確認")]),_:1})])]),_:1})])}}},W=B(G,[["__scopeId","data-v-edcc74e1"]]);export{W as default}; diff --git a/nginx/html/admin/assets/Index-75cb62d8.js b/nginx/html/admin/assets/Index-75cb62d8.js new file mode 100644 index 0000000..cb86c5b --- /dev/null +++ b/nginx/html/admin/assets/Index-75cb62d8.js @@ -0,0 +1 @@ +import{p as G,E as O,G as A,H as Y,F as Z,b as ee}from"./el-button-7b435908.js";import{E as ae}from"./el-drawer-1ab47bb4.js";import{E as le}from"./el-message-box-9fd7f437.js";import{E as L,a as oe,b as te}from"./el-breadcrumb-item-0c010d2b.js";import{E as se,a as ne}from"./el-table-column-32453fe2.js";import"./el-tag-6bb7020c.js";import"./el-tooltip-4ed993c7.js";import"./el-scrollbar-654ee4cf.js";import{E as re,a as de,b as ue}from"./el-dropdown-item-9b77b9ae.js";import"./el-icon-08628b36.js";import{E as S}from"./el-input-5a355fec.js";import{q as c,z as K,o as y,f as B,M as p,Q as e,w as a,c as q,a as k,N as v,O as P,V as ie,F as H,v as ce,a3 as me,a4 as pe,D as _e,a5 as fe}from"./index-11843334.js";import{E as ve}from"./el-dialog-50d8753f.js";import{E as ge,a as be}from"./el-form-item-563dc716.js";import{E as ye}from"./el-progress-6b890862.js";import{a as C,u as we}from"./request-79887494.js";import{f as he}from"./style-f6ce458e.js";import{E as g}from"./el-message-c3316f84.js";import{_ as Ee}from"./_plugin-vue_export-helper-c27b6911.js";import"./use-dialog-90edb7a0.js";import"./index-58150f7d.js";import"./aria-60e0cdc6.js";import"./castArray-80791487.js";import"./_baseClone-07904f92.js";import"./cloneDeep-37a2db27.js";const Ve=async()=>C("/branch/getBranchList","GET"),ke=async _=>C("/branch/getBranch","GET",{id:_}),xe=async _=>C("/branch/deleteBranch","GET",{id:_}),Q=async _=>C("/branch/updateBranch","POST",_),Be=async _=>C("/branch/addBranch","POST",_);const Ce=["src"],De={class:"demo-drawer__footer",style:{"text-align":"right"}},Ue={key:0,class:"cropper-section"},Fe={class:"crop-area"},Ie={class:"crop-btn"},Te={__name:"Form",props:{editid:{type:Number,default:0}},emits:["close"],setup(_,{emit:I}){const w=_,b=I,x=c("insert"),f=c(!1),D=c(null),o=c({id:0});K(async()=>{if(w.editid){let t=await ke(w.editid);t.code===200&&(o.value=t.data,x.value="update")}});const T=c({name:[{required:!0,message:"供應商名稱必填",trigger:"blur"}]}),r=c({show:!1,img:null,ratio:1.875}),U=c(null),$=t=>t.type!=="image/jpeg"&&t.type!=="image/png"&&t.type!=="image/jpg"?(g.error("圖片格式只能是jpeg/png/jpg!"),!1):(r.value.show=!0,r.value.img=URL.createObjectURL(t),!1),j=()=>{const{canvas:t}=U.value.getResult();if(t){const l=new FormData;t.toBlob(async u=>{let n=new File([u],"image.jpg");l.append("fileType","IMAGE"),l.append("file",n),r.value.show=!1,f.value=!0;let i=await we("/branch/uploadImage",l);i.code===200?(o.value.imageurl=i.data,g.success("上傳成功")):g.error("上傳失敗"),f.value=!1},"image/jpeg")}},h=()=>{r.value.show=!1},R=()=>{b("close",!1)},d=t=>{t&&t.validate(async l=>{if(l){let u,n;x.value==="update"?(o.value.id=w.editid,u=await Q(o.value),n="修改成功."):(u=await Be(o.value),n="新增成功."),u.code===200&&(g({message:n,type:"success"}),b("close",!0))}else return g({message:"操作失敗.",type:"error"}),!1})};return(t,l)=>{const u=S,n=ge,i=O,z=ye,M=be,F=L,E=A,N=ve;return y(),B(H,null,[p("div",null,[e(F,null,{default:a(()=>[e(M,{ref_key:"formRef",ref:D,model:o.value,"status-icon":"",rules:T.value,"label-width":"120px"},{default:a(()=>[e(n,{label:"據點名稱",prop:"name"},{default:a(()=>[e(u,{modelValue:o.value.name,"onUpdate:modelValue":l[0]||(l[0]=s=>o.value.name=s)},null,8,["modelValue"])]),_:1}),e(n,{label:"地址",prop:"address"},{default:a(()=>[e(u,{modelValue:o.value.address,"onUpdate:modelValue":l[1]||(l[1]=s=>o.value.address=s)},null,8,["modelValue"])]),_:1}),e(n,{label:"電話",prop:"tel"},{default:a(()=>[e(u,{modelValue:o.value.tel,"onUpdate:modelValue":l[2]||(l[2]=s=>o.value.tel=s)},null,8,["modelValue"])]),_:1}),e(n,{label:"傳真",prop:"fax"},{default:a(()=>[e(u,{modelValue:o.value.fax,"onUpdate:modelValue":l[3]||(l[3]=s=>o.value.fax=s)},null,8,["modelValue"])]),_:1}),e(n,{label:"網址",prop:"url"},{default:a(()=>[e(u,{modelValue:o.value.url,"onUpdate:modelValue":l[4]||(l[4]=s=>o.value.url=s)},null,8,["modelValue"])]),_:1}),e(n,{label:"Email",prop:"email"},{default:a(()=>[e(u,{modelValue:o.value.email,"onUpdate:modelValue":l[5]||(l[5]=s=>o.value.email=s)},null,8,["modelValue"])]),_:1}),e(n,{label:"據點圖片",prop:"imageurl"},{default:a(()=>[e(z,{class:"avatar-uploader",action:"#",accept:"image/*","show-file-list":!1,"auto-upload":!0,"before-upload":s=>$(s)},{default:a(()=>[o.value.imageurl?(y(),B("img",{key:0,src:"http://localhost:6060"+o.value.imageurl,class:"avatar",id:"imageurl"},null,8,Ce)):(y(),q(i,{key:1,class:"avatar-uploader-icon"},{default:a(()=>[e(k(G))]),_:1}))]),_:1},8,["before-upload"])]),_:1})]),_:1},8,["model","rules"])]),_:1}),p("div",De,[e(E,{onClick:R},{default:a(()=>[v("取消")]),_:1}),e(E,{type:"primary",loading:f.value,onClick:l[6]||(l[6]=s=>d(D.value))},{default:a(()=>[v(P(f.value?"處理中...":"確認"),1)]),_:1},8,["loading"])])]),p("div",null,[e(N,{modelValue:r.value.show,"onUpdate:modelValue":l[7]||(l[7]=s=>r.value.show=s),title:"Tips","before-close":h},{default:a(()=>[r.value.show?(y(),B("div",Ue,[p("div",Fe,[e(k(he),{class:"cropper",ref_key:"myCrop",ref:U,src:r.value.img,"stencil-props":{aspectRatio:r.value.ratio},"auto-zoom":!0},null,8,["src","stencil-props"])]),p("div",Ie,[e(E,{type:"primary",size:"small",text:"",onClick:h},{default:a(()=>[v("取消")]),_:1}),e(E,{type:"primary",size:"small",onClick:j},{default:a(()=>[v("剪裁")]),_:1})])])):ie("",!0)]),_:1},8,["modelValue"])])],64)}}},$e=Ee(Te,[["__scopeId","data-v-0c2531e5"]]),je={class:"main"},Re={class:"breadcrumb-section"},ze=p("a",{href:"/"},"公司據點",-1),Me=["onDblclick"],ua={__name:"Index",setup(_){const I=ce({page:1,pageSize:10});me(I),c(0);const w=c(!1),b=c(!1),x=c([]);K(()=>{f()});const f=async()=>{w.value=!0;let d=await Ve();d.code===200&&(x.value=d.data),w.value=!1},D=()=>{h.value=0,b.value=!0},o=d=>{h.value=d,b.value=!0},T=d=>{le.confirm("確認刪除此紀錄?").then(async()=>{(await xe(d)).code===200?(g({message:"刪除成功.",type:"success"}),f()):g({message:"刪除失敗.",type:"error"})}).catch(()=>{})},r=c(0),U=d=>{r.value=d},$=async d=>{(await Q(d)).code===200?(g({message:"修改成功.",type:"success"}),f()):g({message:"修改失敗.",type:"error"}),r.value=0},j=()=>{r.value=0},h=c(0),R=d=>{b.value=!1,d&&f()};return(d,t)=>{const l=oe,u=te,n=A,i=se,z=S,M=O,F=re,E=de,N=ue,s=ne,J=L,W=ae,X=pe("focus");return y(),B(H,null,[p("div",je,[p("div",Re,[p("div",null,[e(u,{separator:"/"},{default:a(()=>[e(l,null,{default:a(()=>[v(" 聯絡我們 ")]),_:1}),e(l,null,{default:a(()=>[ze]),_:1})]),_:1})]),p("div",null,[e(n,{type:"primary",icon:k(G),onClick:D},{default:a(()=>[v(" 新增據點 ")]),_:1},8,["icon"])])]),e(J,{"body-style":{padding:"0px"}},{default:a(()=>[e(s,{data:x.value,style:{width:"100%"}},{default:a(()=>[e(i,{prop:"id",label:"#",width:"50"}),e(i,{prop:"name",label:"據點名稱"}),e(i,{prop:"address",label:"據點地址"}),e(i,{prop:"tel",label:"電話"}),e(i,{prop:"fax",label:"傳真"}),e(i,{prop:"status",label:"是否有效"}),e(i,{prop:"sort",label:"排序",width:"80"},{default:a(m=>[m.row.id!==r.value?(y(),B("div",{key:0,onDblclick:V=>U(m.row.id)},P(m.row.sort_order),41,Me)):_e((y(),q(z,{key:1,modelValue:m.row.sort_order,"onUpdate:modelValue":V=>m.row.sort_order=V,style:{width:"50px"},onKeyup:fe(V=>$(m.row),["enter"]),onBlur:t[0]||(t[0]=V=>j()),autoFocus:!0},null,8,["modelValue","onUpdate:modelValue","onKeyup"])),[[X,m.row.id===r.value]])]),_:1}),e(i,{label:"操作",width:"105",fixed:"right"},{default:a(m=>[e(N,null,{dropdown:a(()=>[e(E,null,{default:a(()=>[e(F,{icon:k(Y),onClick:V=>o(m.row.id)},{default:a(()=>[v("修改")]),_:2},1032,["icon","onClick"]),e(F,{icon:k(Z),onClick:V=>T(m.row.id)},{default:a(()=>[v("刪除")]),_:2},1032,["icon","onClick"])]),_:2},1024)]),default:a(()=>[e(n,{type:"danger"},{default:a(()=>[v(" 操作"),e(M,{class:"el-icon--right"},{default:a(()=>[e(k(ee))]),_:1})]),_:1})]),_:2},1024)]),_:1})]),_:1},8,["data"])]),_:1})]),p("div",null,[e(W,{ref:"drawerRef",modelValue:b.value,"onUpdate:modelValue":t[1]||(t[1]=m=>b.value=m),"destroy-on-close":!0,title:"公司據點",direction:"rtl",size:"50%"},{default:a(()=>[e($e,{editid:h.value,onClose:R},null,8,["editid"])]),_:1},8,["modelValue"])])],64)}}};export{ua as default}; diff --git a/nginx/html/admin/assets/Index-7a2ecf24.css b/nginx/html/admin/assets/Index-7a2ecf24.css new file mode 100644 index 0000000..285a67e --- /dev/null +++ b/nginx/html/admin/assets/Index-7a2ecf24.css @@ -0,0 +1 @@ +.avatar-uploader .avatar[data-v-a1dc5295]{width:250px;height:83px;display:block}[data-v-a1dc5295] .avatar-uploader .el-upload{border:1px dashed var(--el-border-color);border-radius:6px;cursor:pointer;position:relative;overflow:hidden;transition:var(--el-transition-duration-fast)}.avatar-uploader .el-upload[data-v-a1dc5295]:hover{border-color:var(--el-color-primary)}.el-icon.avatar-uploader-icon[data-v-a1dc5295]{font-size:28px;color:#8c939d;width:250px;height:83px;text-align:center}[data-v-a1dc5295] .el-dialog{width:40%!important}.crop-btn[data-v-a1dc5295]{text-align:right;margin-top:10px} diff --git a/nginx/html/admin/assets/Index-7f645961.js b/nginx/html/admin/assets/Index-7f645961.js new file mode 100644 index 0000000..d80046d --- /dev/null +++ b/nginx/html/admin/assets/Index-7f645961.js @@ -0,0 +1 @@ +import{p as N,E as G,G as O,H as Z,F as ee,b as ae}from"./el-button-7b435908.js";import{E as le}from"./el-drawer-1ab47bb4.js";import{E as te}from"./el-message-box-9fd7f437.js";import{E as L,a as oe,b as se}from"./el-breadcrumb-item-0c010d2b.js";import{E as re,a as ne}from"./el-table-column-32453fe2.js";import"./el-tag-6bb7020c.js";import"./el-tooltip-4ed993c7.js";import"./el-scrollbar-654ee4cf.js";import{E as ie,a as ue,b as de}from"./el-dropdown-item-9b77b9ae.js";import"./el-icon-08628b36.js";import{E as q}from"./el-input-5a355fec.js";import{E as ce}from"./el-image-viewer-51a0e4c5.js";import{q as d,z as K,o as v,f as B,M as m,Q as e,w as a,c as S,a as h,N as g,O as P,V as me,F as H,v as pe,a3 as _e,a4 as fe,D as ve,a5 as ge}from"./index-11843334.js";import{E as ye}from"./el-dialog-50d8753f.js";import{E as we,a as be}from"./el-form-item-563dc716.js";import{E as he}from"./el-progress-6b890862.js";import{a as D,u as Ee}from"./request-79887494.js";import{f as xe}from"./style-f6ce458e.js";import{E as y}from"./el-message-c3316f84.js";import{_ as ke}from"./_plugin-vue_export-helper-c27b6911.js";import"./use-dialog-90edb7a0.js";import"./index-58150f7d.js";import"./aria-60e0cdc6.js";import"./castArray-80791487.js";import"./_baseClone-07904f92.js";import"./cloneDeep-37a2db27.js";const Be=async()=>D("/index/getBannerList","GET"),Ve=async p=>D("/index/getBanner","GET",{id:p}),Ce=async p=>D("/index/deleteBanner","GET",{id:p}),Q=async p=>D("/index/updateBanner","POST",p),De=async p=>D("/index/addBanner","POST",p);const Fe=["src"],Ie=["src"],Te={class:"demo-drawer__footer",style:{"text-align":"right"}},Ue={key:0,class:"cropper-section"},$e={class:"crop-area"},je={class:"crop-btn"},Re={__name:"Form",props:{editid:{type:Number,default:0}},emits:["close"],setup(p,{emit:U}){const E=p,w=U,V=d("insert"),f=d(!1),F=d(null),s=d({id:0});K(async()=>{if(E.editid){let l=await Ve(E.editid);l.code===200&&(s.value=l.data,V.value="update")}});const $=d({imageurl1:[{required:!0,message:"電腦版背景圖必填",trigger:"blur"}],imageurl2:[{required:!0,message:"手機版背景圖必填",trigger:"blur"}]}),t=d({show:!1,img:null,ratio:2}),I=d(null),T=(l,o)=>l.type!=="image/jpeg"&&l.type!=="image/png"&&l.type!=="image/jpg"?(y.error("圖片格式只能是jpeg/png/jpg!"),!1):(t.value.show=!0,t.value.img=URL.createObjectURL(l),o===1?(t.value.type=1,t.value.ratio=2):(t.value.type=2,t.value.ratio=.5),!1),j=()=>{const{canvas:l}=I.value.getResult();if(l){const o=new FormData;l.toBlob(async _=>{let u=new File([_],"image.jpg");o.append("fileType","IMAGE"),o.append("file",u),t.value.show=!1,f.value=!0;let i=await Ee("/index/uploadBannerImage",o);i.code===200?(t.value.type===1?s.value.imageurl1=i.data:s.value.imageurl2=i.data,y.success("上傳成功")):y.error("上傳失敗"),f.value=!1},"image/jpeg")}},x=()=>{t.value.show=!1},R=()=>{w("close",!1)},n=l=>{l&&l.validate(async o=>{if(o){let _,u;V.value==="update"?(s.value.id=E.editid,_=await Q(s.value),u="修改成功."):(_=await De(s.value),u="新增成功."),_.code===200&&(y({message:u,type:"success"}),w("close",!0))}else return y({message:"操作失敗.",type:"error"}),!1})};return(l,o)=>{const _=q,u=we,i=G,C=he,z=be,A=L,b=O,M=ye;return v(),B(H,null,[m("div",null,[e(A,null,{default:a(()=>[e(z,{ref_key:"formRef",ref:F,model:s.value,"status-icon":"",rules:$.value,"label-width":"120px"},{default:a(()=>[e(u,{label:"標語"},{default:a(()=>[e(_,{modelValue:s.value.slogon,"onUpdate:modelValue":o[0]||(o[0]=c=>s.value.slogon=c)},null,8,["modelValue"])]),_:1}),e(u,{label:"描述"},{default:a(()=>[e(_,{modelValue:s.value.describe,"onUpdate:modelValue":o[1]||(o[1]=c=>s.value.describe=c)},null,8,["modelValue"])]),_:1}),e(u,{label:"電腦版背景圖",prop:"imageurl1"},{default:a(()=>[e(C,{class:"avatar-uploader",action:"#",accept:"image/*","show-file-list":!1,"auto-upload":!0,"on-success":l.handleAvatarSuccess,"before-upload":c=>T(c,1)},{default:a(()=>[s.value.imageurl1?(v(),B("img",{key:0,src:s.value.imageurl1,class:"avatar1",id:"imageurl1"},null,8,Fe)):(v(),S(i,{key:1,class:"avatar-uploader-icon1"},{default:a(()=>[e(h(N))]),_:1}))]),_:1},8,["on-success","before-upload"])]),_:1}),e(u,{label:"手機版背景圖",prop:"imageurl2"},{default:a(()=>[e(C,{class:"avatar-uploader",action:"#",accept:"image/*","show-file-list":!1,"auto-upload":!0,"on-success":l.handleAvatarSuccess,"before-upload":c=>T(c,2)},{default:a(()=>[s.value.imageurl2?(v(),B("img",{key:0,src:s.value.imageurl2,class:"avatar2",id:"imageurl1"},null,8,Ie)):(v(),S(i,{key:1,class:"avatar-uploader-icon2"},{default:a(()=>[e(h(N))]),_:1}))]),_:1},8,["on-success","before-upload"])]),_:1})]),_:1},8,["model","rules"])]),_:1}),m("div",Te,[e(b,{onClick:R},{default:a(()=>[g("取消")]),_:1}),e(b,{type:"primary",loading:f.value,onClick:o[2]||(o[2]=c=>n(F.value))},{default:a(()=>[g(P(f.value?"處理中...":"確認"),1)]),_:1},8,["loading"])])]),m("div",null,[e(M,{modelValue:t.value.show,"onUpdate:modelValue":o[3]||(o[3]=c=>t.value.show=c),title:"Tips","before-close":x},{default:a(()=>[t.value.show?(v(),B("div",Ue,[m("div",$e,[e(h(xe),{class:"cropper",ref_key:"myCrop",ref:I,src:t.value.img,"stencil-props":{aspectRatio:t.value.ratio},"auto-zoom":!0},null,8,["src","stencil-props"])]),m("div",je,[e(b,{type:"primary",size:"small",text:"",onClick:x},{default:a(()=>[g("取消")]),_:1}),e(b,{type:"primary",size:"small",onClick:j},{default:a(()=>[g("剪裁")]),_:1})])])):me("",!0)]),_:1},8,["modelValue"])])],64)}}},ze=ke(Re,[["__scopeId","data-v-847aa68b"]]),Ae={class:"main"},Me={class:"breadcrumb-section"},Ne=m("a",{href:"/"},"首頁輪播列表",-1),Se=["onDblclick"],pa={__name:"Index",setup(p){const U=pe({page:1,pageSize:10});_e(U),d(0);const E=d(!1),w=d(!1),V=d([]);K(()=>{f()});const f=async()=>{E.value=!0;let n=await Be();n.code===200&&(V.value=n.data),E.value=!1},F=()=>{x.value=0,w.value=!0},s=n=>{x.value=n,w.value=!0},$=n=>{te.confirm("確認刪除此紀錄?").then(async()=>{(await Ce(n)).code===200?(y({message:"刪除成功.",type:"success"}),f()):y({message:"刪除失敗.",type:"error"})}).catch(()=>{})},t=d(0),I=n=>{t.value=n},T=async n=>{(await Q(n)).code===200?(y({message:"修改成功.",type:"success"}),f()):y({message:"修改失敗.",type:"error"}),t.value=0},j=()=>{t.value=0},x=d(0),R=n=>{w.value=!1,n&&f()};return(n,l)=>{const o=oe,_=se,u=O,i=re,C=ce,z=q,A=G,b=ie,M=ue,c=de,J=ne,W=L,X=le,Y=fe("focus");return v(),B(H,null,[m("div",Ae,[m("div",Me,[m("div",null,[e(_,{separator:"/"},{default:a(()=>[e(o,null,{default:a(()=>[g(" 首頁 ")]),_:1}),e(o,null,{default:a(()=>[Ne]),_:1})]),_:1})]),m("div",null,[e(u,{type:"primary",icon:h(N),onClick:F},{default:a(()=>[g(" 新增輪播 ")]),_:1},8,["icon"])])]),e(W,{"body-style":{padding:"0px"}},{default:a(()=>[e(J,{data:V.value,style:{width:"100%"}},{default:a(()=>[e(i,{prop:"id",label:"#",width:"50"}),e(i,{label:"電腦版背景"},{default:a(r=>[e(C,{style:{width:"100px",height:"50px"},src:r.row.imageurl1,fit:"cover",crossorigin:null},null,8,["src"])]),_:1}),e(i,{label:"手機版背景"},{default:a(r=>[e(C,{style:{width:"50px",height:"100px"},src:r.row.imageurl2,fit:"cover",crossorigin:null},null,8,["src"])]),_:1}),e(i,{prop:"slogon",label:"標題"}),e(i,{prop:"describe",label:"描述"}),e(i,{prop:"sort_order",label:"排序",width:"80"},{default:a(r=>[r.row.id!==t.value?(v(),B("div",{key:0,onDblclick:k=>I(r.row.id)},P(r.row.sort_order),41,Se)):ve((v(),S(z,{key:1,modelValue:r.row.sort_order,"onUpdate:modelValue":k=>r.row.sort_order=k,style:{width:"50px"},onKeyup:ge(k=>T(r.row),["enter"]),onBlur:l[0]||(l[0]=k=>j()),autoFocus:!0},null,8,["modelValue","onUpdate:modelValue","onKeyup"])),[[Y,r.row.id===t.value]])]),_:1}),e(i,{label:"其他項目",width:"105",fixed:"right"},{default:a(r=>[e(c,null,{dropdown:a(()=>[e(M,null,{default:a(()=>[e(b,{icon:h(Z),onClick:k=>s(r.row.id)},{default:a(()=>[g("修改")]),_:2},1032,["icon","onClick"]),e(b,{icon:h(ee),onClick:k=>$(r.row.id)},{default:a(()=>[g("刪除")]),_:2},1032,["icon","onClick"])]),_:2},1024)]),default:a(()=>[e(u,{type:"danger"},{default:a(()=>[g(" 操作"),e(A,{class:"el-icon--right"},{default:a(()=>[e(h(ae))]),_:1})]),_:1})]),_:2},1024)]),_:1})]),_:1},8,["data"])]),_:1})]),m("div",null,[e(X,{ref:"drawerRef",modelValue:w.value,"onUpdate:modelValue":l[1]||(l[1]=r=>w.value=r),"destroy-on-close":!0,title:"首頁輪撥",direction:"rtl",size:"50%"},{default:a(()=>[e(ze,{editid:x.value,onClose:R},null,8,["editid"])]),_:1},8,["modelValue"])])],64)}}};export{pa as default}; diff --git a/nginx/html/admin/assets/Index-841bd7f9.js b/nginx/html/admin/assets/Index-841bd7f9.js new file mode 100644 index 0000000..bc1d0d4 --- /dev/null +++ b/nginx/html/admin/assets/Index-841bd7f9.js @@ -0,0 +1 @@ +import{p as N,E as G,G as O,H as Z,F as ee,b as ae}from"./el-button-dd91f3f6.js";import{E as le}from"./el-drawer-41ea71b6.js";import{E as te}from"./el-message-box-9069766c.js";import{E as L,a as oe,b as se}from"./el-breadcrumb-item-fc2f12a8.js";import{E as re,a as ne}from"./el-table-column-2087a7ad.js";import"./el-tag-cf212e80.js";import"./el-tooltip-4ed993c7.js";import"./el-scrollbar-4b72b7cb.js";import{E as ie,a as ue,b as de}from"./el-dropdown-item-1df26bce.js";import"./el-icon-08628b36.js";import{E as q}from"./el-input-6cdd1bad.js";import{E as ce}from"./el-image-viewer-8dfbab81.js";import{q as d,z as K,o as v,f as B,M as m,Q as e,w as a,c as S,a as h,N as g,O as P,V as me,F as H,v as pe,a3 as _e,a4 as fe,D as ve,a5 as ge}from"./index-a18521e5.js";import{E as ye}from"./el-dialog-5eb47c40.js";import{E as we,a as be}from"./el-form-item-7f30e4ff.js";import{E as he}from"./el-progress-f539c088.js";import{a as D,u as Ee}from"./request-a37452c7.js";import{f as xe}from"./style-88a0cfcf.js";import{E as y}from"./el-message-a9712316.js";import{_ as ke}from"./_plugin-vue_export-helper-c27b6911.js";import"./use-dialog-40ef8000.js";import"./index-d4f2f151.js";import"./aria-60e0cdc6.js";import"./castArray-3c50f72c.js";import"./_baseClone-0431f2ee.js";import"./cloneDeep-d66026bf.js";const Be=async()=>D("/index/getBannerList","GET"),Ve=async p=>D("/index/getBanner","GET",{id:p}),Ce=async p=>D("/index/deleteBanner","GET",{id:p}),Q=async p=>D("/index/updateBanner","POST",p),De=async p=>D("/index/addBanner","POST",p);const Fe=["src"],Ie=["src"],Te={class:"demo-drawer__footer",style:{"text-align":"right"}},Ue={key:0,class:"cropper-section"},$e={class:"crop-area"},je={class:"crop-btn"},Re={__name:"Form",props:{editid:{type:Number,default:0}},emits:["close"],setup(p,{emit:U}){const E=p,w=U,V=d("insert"),f=d(!1),F=d(null),s=d({id:0});K(async()=>{if(E.editid){let l=await Ve(E.editid);l.code===200&&(s.value=l.data,V.value="update")}});const $=d({imageurl1:[{required:!0,message:"電腦版背景圖必填",trigger:"blur"}],imageurl2:[{required:!0,message:"手機版背景圖必填",trigger:"blur"}]}),t=d({show:!1,img:null,ratio:2}),I=d(null),T=(l,o)=>l.type!=="image/jpeg"&&l.type!=="image/png"&&l.type!=="image/jpg"?(y.error("圖片格式只能是jpeg/png/jpg!"),!1):(t.value.show=!0,t.value.img=URL.createObjectURL(l),o===1?(t.value.type=1,t.value.ratio=2):(t.value.type=2,t.value.ratio=.5),!1),j=()=>{const{canvas:l}=I.value.getResult();if(l){const o=new FormData;l.toBlob(async _=>{let u=new File([_],"image.jpg");o.append("fileType","IMAGE"),o.append("file",u),t.value.show=!1,f.value=!0;let i=await Ee("/index/uploadBannerImage",o);i.code===200?(t.value.type===1?s.value.imageurl1=i.data:s.value.imageurl2=i.data,y.success("上傳成功")):y.error("上傳失敗"),f.value=!1},"image/jpeg")}},x=()=>{t.value.show=!1},R=()=>{w("close",!1)},n=l=>{l&&l.validate(async o=>{if(o){let _,u;V.value==="update"?(s.value.id=E.editid,_=await Q(s.value),u="修改成功."):(_=await De(s.value),u="新增成功."),_.code===200&&(y({message:u,type:"success"}),w("close",!0))}else return y({message:"操作失敗.",type:"error"}),!1})};return(l,o)=>{const _=q,u=we,i=G,C=he,z=be,A=L,b=O,M=ye;return v(),B(H,null,[m("div",null,[e(A,null,{default:a(()=>[e(z,{ref_key:"formRef",ref:F,model:s.value,"status-icon":"",rules:$.value,"label-width":"120px"},{default:a(()=>[e(u,{label:"標語"},{default:a(()=>[e(_,{modelValue:s.value.slogon,"onUpdate:modelValue":o[0]||(o[0]=c=>s.value.slogon=c)},null,8,["modelValue"])]),_:1}),e(u,{label:"描述"},{default:a(()=>[e(_,{modelValue:s.value.describe,"onUpdate:modelValue":o[1]||(o[1]=c=>s.value.describe=c)},null,8,["modelValue"])]),_:1}),e(u,{label:"電腦版背景圖",prop:"imageurl1"},{default:a(()=>[e(C,{class:"avatar-uploader",action:"#",accept:"image/*","show-file-list":!1,"auto-upload":!0,"on-success":l.handleAvatarSuccess,"before-upload":c=>T(c,1)},{default:a(()=>[s.value.imageurl1?(v(),B("img",{key:0,src:s.value.imageurl1,class:"avatar1",id:"imageurl1"},null,8,Fe)):(v(),S(i,{key:1,class:"avatar-uploader-icon1"},{default:a(()=>[e(h(N))]),_:1}))]),_:1},8,["on-success","before-upload"])]),_:1}),e(u,{label:"手機版背景圖",prop:"imageurl2"},{default:a(()=>[e(C,{class:"avatar-uploader",action:"#",accept:"image/*","show-file-list":!1,"auto-upload":!0,"on-success":l.handleAvatarSuccess,"before-upload":c=>T(c,2)},{default:a(()=>[s.value.imageurl2?(v(),B("img",{key:0,src:s.value.imageurl2,class:"avatar2",id:"imageurl1"},null,8,Ie)):(v(),S(i,{key:1,class:"avatar-uploader-icon2"},{default:a(()=>[e(h(N))]),_:1}))]),_:1},8,["on-success","before-upload"])]),_:1})]),_:1},8,["model","rules"])]),_:1}),m("div",Te,[e(b,{onClick:R},{default:a(()=>[g("取消")]),_:1}),e(b,{type:"primary",loading:f.value,onClick:o[2]||(o[2]=c=>n(F.value))},{default:a(()=>[g(P(f.value?"處理中...":"確認"),1)]),_:1},8,["loading"])])]),m("div",null,[e(M,{modelValue:t.value.show,"onUpdate:modelValue":o[3]||(o[3]=c=>t.value.show=c),title:"Tips","before-close":x},{default:a(()=>[t.value.show?(v(),B("div",Ue,[m("div",$e,[e(h(xe),{class:"cropper",ref_key:"myCrop",ref:I,src:t.value.img,"stencil-props":{aspectRatio:t.value.ratio},"auto-zoom":!0},null,8,["src","stencil-props"])]),m("div",je,[e(b,{type:"primary",size:"small",text:"",onClick:x},{default:a(()=>[g("取消")]),_:1}),e(b,{type:"primary",size:"small",onClick:j},{default:a(()=>[g("剪裁")]),_:1})])])):me("",!0)]),_:1},8,["modelValue"])])],64)}}},ze=ke(Re,[["__scopeId","data-v-847aa68b"]]),Ae={class:"main"},Me={class:"breadcrumb-section"},Ne=m("a",{href:"/"},"首頁輪播列表",-1),Se=["onDblclick"],pa={__name:"Index",setup(p){const U=pe({page:1,pageSize:10});_e(U),d(0);const E=d(!1),w=d(!1),V=d([]);K(()=>{f()});const f=async()=>{E.value=!0;let n=await Be();n.code===200&&(V.value=n.data),E.value=!1},F=()=>{x.value=0,w.value=!0},s=n=>{x.value=n,w.value=!0},$=n=>{te.confirm("確認刪除此紀錄?").then(async()=>{(await Ce(n)).code===200?(y({message:"刪除成功.",type:"success"}),f()):y({message:"刪除失敗.",type:"error"})}).catch(()=>{})},t=d(0),I=n=>{t.value=n},T=async n=>{(await Q(n)).code===200?(y({message:"修改成功.",type:"success"}),f()):y({message:"修改失敗.",type:"error"}),t.value=0},j=()=>{t.value=0},x=d(0),R=n=>{w.value=!1,n&&f()};return(n,l)=>{const o=oe,_=se,u=O,i=re,C=ce,z=q,A=G,b=ie,M=ue,c=de,J=ne,W=L,X=le,Y=fe("focus");return v(),B(H,null,[m("div",Ae,[m("div",Me,[m("div",null,[e(_,{separator:"/"},{default:a(()=>[e(o,null,{default:a(()=>[g(" 首頁 ")]),_:1}),e(o,null,{default:a(()=>[Ne]),_:1})]),_:1})]),m("div",null,[e(u,{type:"primary",icon:h(N),onClick:F},{default:a(()=>[g(" 新增輪播 ")]),_:1},8,["icon"])])]),e(W,{"body-style":{padding:"0px"}},{default:a(()=>[e(J,{data:V.value,style:{width:"100%"}},{default:a(()=>[e(i,{prop:"id",label:"#",width:"50"}),e(i,{label:"電腦版背景"},{default:a(r=>[e(C,{style:{width:"100px",height:"50px"},src:r.row.imageurl1,fit:"cover",crossorigin:null},null,8,["src"])]),_:1}),e(i,{label:"手機版背景"},{default:a(r=>[e(C,{style:{width:"50px",height:"100px"},src:r.row.imageurl2,fit:"cover",crossorigin:null},null,8,["src"])]),_:1}),e(i,{prop:"slogon",label:"標題"}),e(i,{prop:"describe",label:"描述"}),e(i,{prop:"sort_order",label:"排序",width:"80"},{default:a(r=>[r.row.id!==t.value?(v(),B("div",{key:0,onDblclick:k=>I(r.row.id)},P(r.row.sort_order),41,Se)):ve((v(),S(z,{key:1,modelValue:r.row.sort_order,"onUpdate:modelValue":k=>r.row.sort_order=k,style:{width:"50px"},onKeyup:ge(k=>T(r.row),["enter"]),onBlur:l[0]||(l[0]=k=>j()),autoFocus:!0},null,8,["modelValue","onUpdate:modelValue","onKeyup"])),[[Y,r.row.id===t.value]])]),_:1}),e(i,{label:"其他項目",width:"105",fixed:"right"},{default:a(r=>[e(c,null,{dropdown:a(()=>[e(M,null,{default:a(()=>[e(b,{icon:h(Z),onClick:k=>s(r.row.id)},{default:a(()=>[g("修改")]),_:2},1032,["icon","onClick"]),e(b,{icon:h(ee),onClick:k=>$(r.row.id)},{default:a(()=>[g("刪除")]),_:2},1032,["icon","onClick"])]),_:2},1024)]),default:a(()=>[e(u,{type:"danger"},{default:a(()=>[g(" 操作"),e(A,{class:"el-icon--right"},{default:a(()=>[e(h(ae))]),_:1})]),_:1})]),_:2},1024)]),_:1})]),_:1},8,["data"])]),_:1})]),m("div",null,[e(X,{ref:"drawerRef",modelValue:w.value,"onUpdate:modelValue":l[1]||(l[1]=r=>w.value=r),"destroy-on-close":!0,title:"首頁輪撥",direction:"rtl",size:"50%"},{default:a(()=>[e(ze,{editid:x.value,onClose:R},null,8,["editid"])]),_:1},8,["modelValue"])])],64)}}};export{pa as default}; diff --git a/nginx/html/admin/assets/Index-8a444a45.js b/nginx/html/admin/assets/Index-8a444a45.js new file mode 100644 index 0000000..c373063 --- /dev/null +++ b/nginx/html/admin/assets/Index-8a444a45.js @@ -0,0 +1 @@ +import{p as G,E as O,G as A,H as Y,F as Z,b as ee}from"./el-button-e2db9d24.js";import{E as ae}from"./el-drawer-ff04497f.js";import{E as le}from"./el-message-box-b36f6f03.js";import{E as L,a as oe,b as te}from"./el-breadcrumb-item-4a5b4005.js";import{E as se,a as ne}from"./el-table-column-448a0581.js";import"./el-tag-290e5c91.js";import"./el-tooltip-4ed993c7.js";import"./el-scrollbar-5933f25d.js";import{E as re,a as de,b as ue}from"./el-dropdown-item-bbb7be2f.js";import"./el-icon-08628b36.js";import{E as S}from"./el-input-5fc6aaec.js";import{q as c,z as K,o as y,f as B,M as p,Q as e,w as a,c as q,a as k,N as v,O as P,V as ie,F as H,v as ce,a3 as me,a4 as pe,D as _e,a5 as fe}from"./index-7ed2d026.js";import{E as ve}from"./el-dialog-e4a7f8ff.js";import{E as ge,a as be}from"./el-form-item-8920ca0c.js";import{E as ye}from"./el-progress-c3e10056.js";import{a as C,u as we}from"./request-26ab9dc6.js";import{f as he}from"./style-d6e2b45a.js";import{E as g}from"./el-message-3c79da29.js";import{_ as Ee}from"./_plugin-vue_export-helper-c27b6911.js";import"./use-dialog-7562524e.js";import"./index-dc664f45.js";import"./aria-60e0cdc6.js";import"./castArray-283666ff.js";import"./_baseClone-a5946d7f.js";import"./cloneDeep-e81a5417.js";const Ve=async()=>C("/branch/getBranchList","GET"),ke=async _=>C("/branch/getBranch","GET",{id:_}),xe=async _=>C("/branch/deleteBranch","GET",{id:_}),Q=async _=>C("/branch/updateBranch","POST",_),Be=async _=>C("/branch/addBranch","POST",_);const Ce=["src"],De={class:"demo-drawer__footer",style:{"text-align":"right"}},Ue={key:0,class:"cropper-section"},Fe={class:"crop-area"},Ie={class:"crop-btn"},Te={__name:"Form",props:{editid:{type:Number,default:0}},emits:["close"],setup(_,{emit:I}){const w=_,b=I,x=c("insert"),f=c(!1),D=c(null),o=c({id:0});K(async()=>{if(w.editid){let t=await ke(w.editid);t.code===200&&(o.value=t.data,x.value="update")}});const T=c({name:[{required:!0,message:"供應商名稱必填",trigger:"blur"}]}),r=c({show:!1,img:null,ratio:1.875}),U=c(null),$=t=>t.type!=="image/jpeg"&&t.type!=="image/png"&&t.type!=="image/jpg"?(g.error("圖片格式只能是jpeg/png/jpg!"),!1):(r.value.show=!0,r.value.img=URL.createObjectURL(t),!1),j=()=>{const{canvas:t}=U.value.getResult();if(t){const l=new FormData;t.toBlob(async u=>{let n=new File([u],"image.jpg");l.append("fileType","IMAGE"),l.append("file",n),r.value.show=!1,f.value=!0;let i=await we("/branch/uploadImage",l);i.code===200?(o.value.imageurl=i.data,g.success("上傳成功")):g.error("上傳失敗"),f.value=!1},"image/jpeg")}},h=()=>{r.value.show=!1},R=()=>{b("close",!1)},d=t=>{t&&t.validate(async l=>{if(l){let u,n;x.value==="update"?(o.value.id=w.editid,u=await Q(o.value),n="修改成功."):(u=await Be(o.value),n="新增成功."),u.code===200&&(g({message:n,type:"success"}),b("close",!0))}else return g({message:"操作失敗.",type:"error"}),!1})};return(t,l)=>{const u=S,n=ge,i=O,z=ye,M=be,F=L,E=A,N=ve;return y(),B(H,null,[p("div",null,[e(F,null,{default:a(()=>[e(M,{ref_key:"formRef",ref:D,model:o.value,"status-icon":"",rules:T.value,"label-width":"120px"},{default:a(()=>[e(n,{label:"據點名稱",prop:"name"},{default:a(()=>[e(u,{modelValue:o.value.name,"onUpdate:modelValue":l[0]||(l[0]=s=>o.value.name=s)},null,8,["modelValue"])]),_:1}),e(n,{label:"地址",prop:"address"},{default:a(()=>[e(u,{modelValue:o.value.address,"onUpdate:modelValue":l[1]||(l[1]=s=>o.value.address=s)},null,8,["modelValue"])]),_:1}),e(n,{label:"電話",prop:"tel"},{default:a(()=>[e(u,{modelValue:o.value.tel,"onUpdate:modelValue":l[2]||(l[2]=s=>o.value.tel=s)},null,8,["modelValue"])]),_:1}),e(n,{label:"傳真",prop:"fax"},{default:a(()=>[e(u,{modelValue:o.value.fax,"onUpdate:modelValue":l[3]||(l[3]=s=>o.value.fax=s)},null,8,["modelValue"])]),_:1}),e(n,{label:"網址",prop:"url"},{default:a(()=>[e(u,{modelValue:o.value.url,"onUpdate:modelValue":l[4]||(l[4]=s=>o.value.url=s)},null,8,["modelValue"])]),_:1}),e(n,{label:"Email",prop:"email"},{default:a(()=>[e(u,{modelValue:o.value.email,"onUpdate:modelValue":l[5]||(l[5]=s=>o.value.email=s)},null,8,["modelValue"])]),_:1}),e(n,{label:"據點圖片",prop:"imageurl"},{default:a(()=>[e(z,{class:"avatar-uploader",action:"#",accept:"image/*","show-file-list":!1,"auto-upload":!0,"before-upload":s=>$(s)},{default:a(()=>[o.value.imageurl?(y(),B("img",{key:0,src:"http://localhost:6060"+o.value.imageurl,class:"avatar",id:"imageurl"},null,8,Ce)):(y(),q(i,{key:1,class:"avatar-uploader-icon"},{default:a(()=>[e(k(G))]),_:1}))]),_:1},8,["before-upload"])]),_:1})]),_:1},8,["model","rules"])]),_:1}),p("div",De,[e(E,{onClick:R},{default:a(()=>[v("取消")]),_:1}),e(E,{type:"primary",loading:f.value,onClick:l[6]||(l[6]=s=>d(D.value))},{default:a(()=>[v(P(f.value?"處理中...":"確認"),1)]),_:1},8,["loading"])])]),p("div",null,[e(N,{modelValue:r.value.show,"onUpdate:modelValue":l[7]||(l[7]=s=>r.value.show=s),title:"Tips","before-close":h},{default:a(()=>[r.value.show?(y(),B("div",Ue,[p("div",Fe,[e(k(he),{class:"cropper",ref_key:"myCrop",ref:U,src:r.value.img,"stencil-props":{aspectRatio:r.value.ratio},"auto-zoom":!0},null,8,["src","stencil-props"])]),p("div",Ie,[e(E,{type:"primary",size:"small",text:"",onClick:h},{default:a(()=>[v("取消")]),_:1}),e(E,{type:"primary",size:"small",onClick:j},{default:a(()=>[v("剪裁")]),_:1})])])):ie("",!0)]),_:1},8,["modelValue"])])],64)}}},$e=Ee(Te,[["__scopeId","data-v-0c2531e5"]]),je={class:"main"},Re={class:"breadcrumb-section"},ze=p("a",{href:"/"},"公司據點",-1),Me=["onDblclick"],ua={__name:"Index",setup(_){const I=ce({page:1,pageSize:10});me(I),c(0);const w=c(!1),b=c(!1),x=c([]);K(()=>{f()});const f=async()=>{w.value=!0;let d=await Ve();d.code===200&&(x.value=d.data),w.value=!1},D=()=>{h.value=0,b.value=!0},o=d=>{h.value=d,b.value=!0},T=d=>{le.confirm("確認刪除此紀錄?").then(async()=>{(await xe(d)).code===200?(g({message:"刪除成功.",type:"success"}),f()):g({message:"刪除失敗.",type:"error"})}).catch(()=>{})},r=c(0),U=d=>{r.value=d},$=async d=>{(await Q(d)).code===200?(g({message:"修改成功.",type:"success"}),f()):g({message:"修改失敗.",type:"error"}),r.value=0},j=()=>{r.value=0},h=c(0),R=d=>{b.value=!1,d&&f()};return(d,t)=>{const l=oe,u=te,n=A,i=se,z=S,M=O,F=re,E=de,N=ue,s=ne,J=L,W=ae,X=pe("focus");return y(),B(H,null,[p("div",je,[p("div",Re,[p("div",null,[e(u,{separator:"/"},{default:a(()=>[e(l,null,{default:a(()=>[v(" 聯絡我們 ")]),_:1}),e(l,null,{default:a(()=>[ze]),_:1})]),_:1})]),p("div",null,[e(n,{type:"primary",icon:k(G),onClick:D},{default:a(()=>[v(" 新增據點 ")]),_:1},8,["icon"])])]),e(J,{"body-style":{padding:"0px"}},{default:a(()=>[e(s,{data:x.value,style:{width:"100%"}},{default:a(()=>[e(i,{prop:"id",label:"#",width:"50"}),e(i,{prop:"name",label:"據點名稱"}),e(i,{prop:"address",label:"據點地址"}),e(i,{prop:"tel",label:"電話"}),e(i,{prop:"fax",label:"傳真"}),e(i,{prop:"status",label:"是否有效"}),e(i,{prop:"sort",label:"排序",width:"80"},{default:a(m=>[m.row.id!==r.value?(y(),B("div",{key:0,onDblclick:V=>U(m.row.id)},P(m.row.sort_order),41,Me)):_e((y(),q(z,{key:1,modelValue:m.row.sort_order,"onUpdate:modelValue":V=>m.row.sort_order=V,style:{width:"50px"},onKeyup:fe(V=>$(m.row),["enter"]),onBlur:t[0]||(t[0]=V=>j()),autoFocus:!0},null,8,["modelValue","onUpdate:modelValue","onKeyup"])),[[X,m.row.id===r.value]])]),_:1}),e(i,{label:"操作",width:"105",fixed:"right"},{default:a(m=>[e(N,null,{dropdown:a(()=>[e(E,null,{default:a(()=>[e(F,{icon:k(Y),onClick:V=>o(m.row.id)},{default:a(()=>[v("修改")]),_:2},1032,["icon","onClick"]),e(F,{icon:k(Z),onClick:V=>T(m.row.id)},{default:a(()=>[v("刪除")]),_:2},1032,["icon","onClick"])]),_:2},1024)]),default:a(()=>[e(n,{type:"danger"},{default:a(()=>[v(" 操作"),e(M,{class:"el-icon--right"},{default:a(()=>[e(k(ee))]),_:1})]),_:1})]),_:2},1024)]),_:1})]),_:1},8,["data"])]),_:1})]),p("div",null,[e(W,{ref:"drawerRef",modelValue:b.value,"onUpdate:modelValue":t[1]||(t[1]=m=>b.value=m),"destroy-on-close":!0,title:"公司據點",direction:"rtl",size:"50%"},{default:a(()=>[e($e,{editid:h.value,onClose:R},null,8,["editid"])]),_:1},8,["modelValue"])])],64)}}};export{ua as default}; diff --git a/nginx/html/admin/assets/Index-8cb947f0.js b/nginx/html/admin/assets/Index-8cb947f0.js new file mode 100644 index 0000000..7286528 --- /dev/null +++ b/nginx/html/admin/assets/Index-8cb947f0.js @@ -0,0 +1 @@ +import{G as b}from"./el-button-7b435908.js";import{a as h,b as x,E as S}from"./el-breadcrumb-item-0c010d2b.js";import{C as k}from"./ckeditor-8ca0487d.js";import{g as C,u as E}from"./article-42f61703.js";import{E as d}from"./el-message-c3316f84.js";import{_ as I}from"./_plugin-vue_export-helper-c27b6911.js";import{q as c,z as B,L as w,o as V,f as N,M as o,Q as e,w as t,N as m,a as R,a7 as z,a8 as A}from"./index-11843334.js";import"./request-79887494.js";import"./aria-60e0cdc6.js";const L=a=>(z("data-v-61a86e6f"),a=a(),A(),a),T={class:"main"},F={class:"breadcrumb-section"},M=L(()=>o("a",{href:"/"},"公司簡介",-1)),U={style:{padding:"10px"}},$={class:"card-footer"},q={__name:"Index",setup(a){const _=k,s=c(""),p=c({simpleUpload:{uploadUrl:"https://prodio.zltest.com.tw/adminapi/article/uploadImage",headers:{"X-CSRF-TOKEN":"CSFR-Token",Authorization:`${sessionStorage.getItem("token")}`}},image:{resize:!0,toolbar:["imageTextAlternative","|","imageStyle:alignLeft","imageStyle:alignRight","|","imageStyle:alignBlockLeft","imageStyle:block","imageStyle:alignBlockRight"],styles:["full","alignLeft","alignRight"]}});B(async()=>{let n=await C(1);n.code===200&&(s.value=n.data.content)});const u=async()=>(await E({id:1,content:s.value})).code===200?d({message:"更新成功",type:"success"}):d({message:"更新失敗",type:"error"});return(n,r)=>{const l=h,f=x,g=w("ckeditor"),v=b,y=S;return V(),N("div",T,[o("div",F,[o("div",null,[e(f,{separator:"/"},{default:t(()=>[e(l,null,{default:t(()=>[m(" 經銷系統 ")]),_:1}),e(l,null,{default:t(()=>[M]),_:1})]),_:1})])]),e(y,{"body-style":{padding:"0px"}},{default:t(()=>[o("div",U,[e(g,{editor:R(_),modelValue:s.value,"onUpdate:modelValue":r[0]||(r[0]=i=>s.value=i),config:p.value},null,8,["editor","modelValue","config"])]),o("div",$,[e(v,{type:"primary",onClick:r[1]||(r[1]=i=>u())},{default:t(()=>[m("確認")]),_:1})])]),_:1})])}}},P=I(q,[["__scopeId","data-v-61a86e6f"]]);export{P as default}; diff --git a/nginx/html/admin/assets/Index-8dc9eda2.js b/nginx/html/admin/assets/Index-8dc9eda2.js new file mode 100644 index 0000000..9f6473b --- /dev/null +++ b/nginx/html/admin/assets/Index-8dc9eda2.js @@ -0,0 +1 @@ +import{G as h}from"./el-button-ca4abaee.js";import{a as x,b as C,E}from"./el-breadcrumb-item-422ecc35.js";import{C as S}from"./ckeditor-b26c301c.js";import{g as k,u as I}from"./article-e7327317.js";import{E as c}from"./el-message-5778b677.js";import{_ as B}from"./_plugin-vue_export-helper-c27b6911.js";import{q as d,z as w,L as V,o as N,f as R,M as t,Q as e,w as o,N as m,a as L,a7 as T,a8 as z}from"./index-fb87886b.js";import"./request-60ae96d2.js";import"./aria-60e0cdc6.js";const _=a=>(T("data-v-cc062065"),a=a(),z(),a),A={class:"main"},F={class:"breadcrumb-section"},M=_(()=>t("a",{href:"/"},"經營理念",-1)),U=_(()=>t("div",null,null,-1)),q={style:{padding:"10px"}},G={class:"card-footer"},K={__name:"Index",setup(a){const p=S,s=d(""),u=d({simpleUpload:{uploadUrl:"https://prodio.zltest.com.tw/adminapi/article/uploadImage",headers:{"X-CSRF-TOKEN":"CSFR-Token"}},image:{resize:!0,toolbar:["imageTextAlternative","|","imageStyle:alignLeft","imageStyle:alignRight","|","imageStyle:alignBlockLeft","imageStyle:block","imageStyle:alignBlockRight"],styles:["full","alignLeft","alignRight"]}});w(async()=>{let l=await k(2);l.code===200&&(s.value=l.data.content)});const f=async()=>(await I({id:2,content:s.value})).code===200?c({message:"更新成功",type:"success"}):c({message:"更新失敗",type:"error"});return(l,n)=>{const r=x,g=C,v=V("ckeditor"),y=h,b=E;return N(),R("div",A,[t("div",F,[t("div",null,[e(g,{separator:"/"},{default:o(()=>[e(r,null,{default:o(()=>[m(" 經銷系統 ")]),_:1}),e(r,null,{default:o(()=>[M]),_:1})]),_:1})]),U]),e(b,{"body-style":{padding:"0px"}},{default:o(()=>[t("div",q,[e(v,{editor:L(p),modelValue:s.value,"onUpdate:modelValue":n[0]||(n[0]=i=>s.value=i),config:u.value},null,8,["editor","modelValue","config"])]),t("div",G,[e(y,{type:"primary",onClick:n[1]||(n[1]=i=>f())},{default:o(()=>[m("確認")]),_:1})])]),_:1})])}}},W=B(K,[["__scopeId","data-v-cc062065"]]);export{W as default}; diff --git a/nginx/html/admin/assets/Index-92f5d47e.css b/nginx/html/admin/assets/Index-92f5d47e.css new file mode 100644 index 0000000..9946585 --- /dev/null +++ b/nginx/html/admin/assets/Index-92f5d47e.css @@ -0,0 +1 @@ +.card-footer[data-v-cc062065]{background-color:#f5f7fa;border-top:1px solid #ebeef5;padding:10px;text-align:right}[data-v-cc062065] .ck-editor__editable_inline{height:400px} diff --git a/nginx/html/admin/assets/Index-9465c87d.js b/nginx/html/admin/assets/Index-9465c87d.js new file mode 100644 index 0000000..cbf4d28 --- /dev/null +++ b/nginx/html/admin/assets/Index-9465c87d.js @@ -0,0 +1 @@ +import{p as N,E as G,G as O,H as Z,F as ee,b as ae}from"./el-button-ca4abaee.js";import{E as le}from"./el-drawer-d9790fe0.js";import{E as oe}from"./el-message-box-e43658fb.js";import{E as L,a as te,b as se}from"./el-breadcrumb-item-422ecc35.js";import{E as re,a as ne}from"./el-table-column-7db11110.js";import"./el-tag-6a2dc6cc.js";import"./el-tooltip-4ed993c7.js";import"./el-scrollbar-56d71f90.js";import{E as ie,a as ue,b as de}from"./el-dropdown-item-56611d31.js";import"./el-icon-08628b36.js";import{E as q}from"./el-input-df8c5b16.js";import{E as ce}from"./el-image-viewer-3854b5c5.js";import{q as d,z as K,o as v,f as B,M as m,Q as e,w as a,c as S,a as h,N as g,O as P,V as me,F as H,v as pe,a3 as _e,a4 as fe,D as ve,a5 as ge}from"./index-fb87886b.js";import{E as ye}from"./el-dialog-1ee3a857.js";import{E as we,a as be}from"./el-form-item-85aab49a.js";import{E as he}from"./el-progress-2aaabad5.js";import{a as D,u as Ee}from"./request-60ae96d2.js";import{f as xe}from"./style-401f4ec6.js";import{E as y}from"./el-message-5778b677.js";import{_ as ke}from"./_plugin-vue_export-helper-c27b6911.js";import"./use-dialog-3e44040d.js";import"./index-de3a95d3.js";import"./aria-60e0cdc6.js";import"./castArray-59d69fd8.js";import"./_baseClone-732ede82.js";import"./cloneDeep-3d78d7c6.js";const Be=async()=>D("/index/getBannerList","GET"),Ce=async p=>D("/index/getBanner","GET",{id:p}),Ve=async p=>D("/index/deleteBanner","GET",{id:p}),Q=async p=>D("/index/updateBanner","POST",p),De=async p=>D("/index/addBanner","POST",p);const Ie=["src"],Fe=["src"],Te={class:"demo-drawer__footer",style:{"text-align":"right"}},Ue={key:0,class:"cropper-section"},$e={class:"crop-area"},je={class:"crop-btn"},Re={__name:"Form",props:{editid:{type:Number,default:0}},emits:["close"],setup(p,{emit:U}){const E=p,w=U,C=d("insert"),f=d(!1),I=d(null),s=d({id:0});K(async()=>{if(E.editid){let l=await Ce(E.editid);l.code===200&&(s.value=l.data,C.value="update")}});const $=d({imageurl1:[{required:!0,message:"電腦版背景圖必填",trigger:"blur"}],imageurl2:[{required:!0,message:"手機版背景圖必填",trigger:"blur"}]}),o=d({show:!1,img:null,ratio:2}),F=d(null),T=(l,t)=>l.type!=="image/jpeg"&&l.type!=="image/png"&&l.type!=="image/jpg"?(y.error("圖片格式只能是jpeg/png/jpg!"),!1):(o.value.show=!0,o.value.img=URL.createObjectURL(l),t===1?(o.value.type=1,o.value.ratio=2):(o.value.type=2,o.value.ratio=.5),!1),j=()=>{const{canvas:l}=F.value.getResult();if(l){const t=new FormData;l.toBlob(async _=>{let u=new File([_],"image.jpg");t.append("fileType","IMAGE"),t.append("file",u),o.value.show=!1,f.value=!0;let i=await Ee("/index/uploadBannerImage",t);i.code===200?(o.value.type===1?s.value.imageurl1=i.data:s.value.imageurl2=i.data,y.success("上傳成功")):y.error("上傳失敗"),f.value=!1},"image/jpeg")}},x=()=>{o.value.show=!1},R=()=>{w("close",!1)},n=l=>{l&&l.validate(async t=>{if(t){let _,u;C.value==="update"?(s.value.id=E.editid,_=await Q(s.value),u="修改成功."):(_=await De(s.value),u="新增成功."),_.code===200&&(y({message:u,type:"success"}),w("close",!0))}else return y({message:"操作失敗.",type:"error"}),!1})};return(l,t)=>{const _=q,u=we,i=G,V=he,z=be,A=L,b=O,M=ye;return v(),B(H,null,[m("div",null,[e(A,null,{default:a(()=>[e(z,{ref_key:"formRef",ref:I,model:s.value,"status-icon":"",rules:$.value,"label-width":"120px"},{default:a(()=>[e(u,{label:"標語"},{default:a(()=>[e(_,{modelValue:s.value.slogon,"onUpdate:modelValue":t[0]||(t[0]=c=>s.value.slogon=c)},null,8,["modelValue"])]),_:1}),e(u,{label:"描述"},{default:a(()=>[e(_,{modelValue:s.value.describe,"onUpdate:modelValue":t[1]||(t[1]=c=>s.value.describe=c)},null,8,["modelValue"])]),_:1}),e(u,{label:"電腦版背景圖",prop:"imageurl1"},{default:a(()=>[e(V,{class:"avatar-uploader",action:"#",accept:"image/*","show-file-list":!1,"auto-upload":!0,"on-success":l.handleAvatarSuccess,"before-upload":c=>T(c,1)},{default:a(()=>[s.value.imageurl1?(v(),B("img",{key:0,src:s.value.imageurl1,class:"avatar1",id:"imageurl1"},null,8,Ie)):(v(),S(i,{key:1,class:"avatar-uploader-icon1"},{default:a(()=>[e(h(N))]),_:1}))]),_:1},8,["on-success","before-upload"])]),_:1}),e(u,{label:"手機版背景圖",prop:"imageurl2"},{default:a(()=>[e(V,{class:"avatar-uploader",action:"#",accept:"image/*","show-file-list":!1,"auto-upload":!0,"on-success":l.handleAvatarSuccess,"before-upload":c=>T(c,2)},{default:a(()=>[s.value.imageurl2?(v(),B("img",{key:0,src:s.value.imageurl2,class:"avatar2",id:"imageurl1"},null,8,Fe)):(v(),S(i,{key:1,class:"avatar-uploader-icon2"},{default:a(()=>[e(h(N))]),_:1}))]),_:1},8,["on-success","before-upload"])]),_:1})]),_:1},8,["model","rules"])]),_:1}),m("div",Te,[e(b,{onClick:R},{default:a(()=>[g("取消")]),_:1}),e(b,{type:"primary",loading:f.value,onClick:t[2]||(t[2]=c=>n(I.value))},{default:a(()=>[g(P(f.value?"處理中...":"確認"),1)]),_:1},8,["loading"])])]),m("div",null,[e(M,{modelValue:o.value.show,"onUpdate:modelValue":t[3]||(t[3]=c=>o.value.show=c),title:"Tips","before-close":x},{default:a(()=>[o.value.show?(v(),B("div",Ue,[m("div",$e,[e(h(xe),{class:"cropper",ref_key:"myCrop",ref:F,src:o.value.img,"stencil-props":{aspectRatio:o.value.ratio},"auto-zoom":!0},null,8,["src","stencil-props"])]),m("div",je,[e(b,{type:"primary",size:"small",text:"",onClick:x},{default:a(()=>[g("取消")]),_:1}),e(b,{type:"primary",size:"small",onClick:j},{default:a(()=>[g("剪裁")]),_:1})])])):me("",!0)]),_:1},8,["modelValue"])])],64)}}},ze=ke(Re,[["__scopeId","data-v-847aa68b"]]),Ae={class:"main"},Me={class:"breadcrumb-section"},Ne=m("a",{href:"/"},"首頁輪播列表",-1),Se=["onDblclick"],pa={__name:"Index",setup(p){const U=pe({page:1,pageSize:10});_e(U),d(0);const E=d(!1),w=d(!1),C=d([]);K(()=>{f()});const f=async()=>{E.value=!0;let n=await Be();n.code===200&&(C.value=n.data),E.value=!1},I=()=>{x.value=0,w.value=!0},s=n=>{x.value=n,w.value=!0},$=n=>{oe.confirm("確認刪除此紀錄?").then(async()=>{(await Ve(n)).code===200?(y({message:"刪除成功.",type:"success"}),f()):y({message:"刪除失敗.",type:"error"})}).catch(()=>{})},o=d(0),F=n=>{o.value=n},T=async n=>{(await Q(n)).code===200?(y({message:"修改成功.",type:"success"}),f()):y({message:"修改失敗.",type:"error"}),o.value=0},j=()=>{o.value=0},x=d(0),R=n=>{w.value=!1,n&&f()};return(n,l)=>{const t=te,_=se,u=O,i=re,V=ce,z=q,A=G,b=ie,M=ue,c=de,J=ne,W=L,X=le,Y=fe("focus");return v(),B(H,null,[m("div",Ae,[m("div",Me,[m("div",null,[e(_,{separator:"/"},{default:a(()=>[e(t,null,{default:a(()=>[g(" 首頁 ")]),_:1}),e(t,null,{default:a(()=>[Ne]),_:1})]),_:1})]),m("div",null,[e(u,{type:"primary",icon:h(N),onClick:I},{default:a(()=>[g(" 新增輪播 ")]),_:1},8,["icon"])])]),e(W,{"body-style":{padding:"0px"}},{default:a(()=>[e(J,{data:C.value,style:{width:"100%"}},{default:a(()=>[e(i,{prop:"id",label:"#",width:"50"}),e(i,{label:"電腦版背景"},{default:a(r=>[e(V,{style:{width:"100px",height:"50px"},src:r.row.imageurl1,fit:"cover",crossorigin:null},null,8,["src"])]),_:1}),e(i,{label:"手機版背景"},{default:a(r=>[e(V,{style:{width:"50px",height:"100px"},src:r.row.imageurl2,fit:"cover",crossorigin:null},null,8,["src"])]),_:1}),e(i,{prop:"slogon",label:"標題"}),e(i,{prop:"describe",label:"描述"}),e(i,{prop:"sort_order",label:"排序",width:"80"},{default:a(r=>[r.row.id!==o.value?(v(),B("div",{key:0,onDblclick:k=>F(r.row.id)},P(r.row.sort_order),41,Se)):ve((v(),S(z,{key:1,modelValue:r.row.sort_order,"onUpdate:modelValue":k=>r.row.sort_order=k,style:{width:"50px"},onKeyup:ge(k=>T(r.row),["enter"]),onBlur:l[0]||(l[0]=k=>j()),autoFocus:!0},null,8,["modelValue","onUpdate:modelValue","onKeyup"])),[[Y,r.row.id===o.value]])]),_:1}),e(i,{label:"其他項目",width:"105",fixed:"right"},{default:a(r=>[e(c,null,{dropdown:a(()=>[e(M,null,{default:a(()=>[e(b,{icon:h(Z),onClick:k=>s(r.row.id)},{default:a(()=>[g("修改")]),_:2},1032,["icon","onClick"]),e(b,{icon:h(ee),onClick:k=>$(r.row.id)},{default:a(()=>[g("刪除")]),_:2},1032,["icon","onClick"])]),_:2},1024)]),default:a(()=>[e(u,{type:"danger"},{default:a(()=>[g(" 操作"),e(A,{class:"el-icon--right"},{default:a(()=>[e(h(ae))]),_:1})]),_:1})]),_:2},1024)]),_:1})]),_:1},8,["data"])]),_:1})]),m("div",null,[e(X,{ref:"drawerRef",modelValue:w.value,"onUpdate:modelValue":l[1]||(l[1]=r=>w.value=r),"destroy-on-close":!0,title:"首頁輪撥",direction:"rtl",size:"50%"},{default:a(()=>[e(ze,{editid:x.value,onClose:R},null,8,["editid"])]),_:1},8,["modelValue"])])],64)}}};export{pa as default}; diff --git a/nginx/html/admin/assets/Index-98131abe.js b/nginx/html/admin/assets/Index-98131abe.js new file mode 100644 index 0000000..e88afe6 --- /dev/null +++ b/nginx/html/admin/assets/Index-98131abe.js @@ -0,0 +1 @@ +import{p as G,E as O,G as A,H as Y,F as Z,b as ee}from"./el-button-dd91f3f6.js";import{E as ae}from"./el-drawer-41ea71b6.js";import{E as le}from"./el-message-box-9069766c.js";import{E as L,a as oe,b as te}from"./el-breadcrumb-item-fc2f12a8.js";import{E as se,a as ne}from"./el-table-column-2087a7ad.js";import"./el-tag-cf212e80.js";import"./el-tooltip-4ed993c7.js";import"./el-scrollbar-4b72b7cb.js";import{E as re,a as de,b as ue}from"./el-dropdown-item-1df26bce.js";import"./el-icon-08628b36.js";import{E as S}from"./el-input-6cdd1bad.js";import{q as c,z as K,o as y,f as B,M as p,Q as e,w as a,c as q,a as k,N as v,O as P,V as ie,F as H,v as ce,a3 as me,a4 as pe,D as _e,a5 as fe}from"./index-a18521e5.js";import{E as ve}from"./el-dialog-5eb47c40.js";import{E as ge,a as be}from"./el-form-item-7f30e4ff.js";import{E as ye}from"./el-progress-f539c088.js";import{a as C,u as we}from"./request-a37452c7.js";import{f as he}from"./style-88a0cfcf.js";import{E as g}from"./el-message-a9712316.js";import{_ as Ee}from"./_plugin-vue_export-helper-c27b6911.js";import"./use-dialog-40ef8000.js";import"./index-d4f2f151.js";import"./aria-60e0cdc6.js";import"./castArray-3c50f72c.js";import"./_baseClone-0431f2ee.js";import"./cloneDeep-d66026bf.js";const Ve=async()=>C("/branch/getBranchList","GET"),ke=async _=>C("/branch/getBranch","GET",{id:_}),xe=async _=>C("/branch/deleteBranch","GET",{id:_}),Q=async _=>C("/branch/updateBranch","POST",_),Be=async _=>C("/branch/addBranch","POST",_);const Ce=["src"],De={class:"demo-drawer__footer",style:{"text-align":"right"}},Ue={key:0,class:"cropper-section"},Fe={class:"crop-area"},Ie={class:"crop-btn"},Te={__name:"Form",props:{editid:{type:Number,default:0}},emits:["close"],setup(_,{emit:I}){const w=_,b=I,x=c("insert"),f=c(!1),D=c(null),o=c({id:0});K(async()=>{if(w.editid){let t=await ke(w.editid);t.code===200&&(o.value=t.data,x.value="update")}});const T=c({name:[{required:!0,message:"供應商名稱必填",trigger:"blur"}]}),r=c({show:!1,img:null,ratio:1.875}),U=c(null),$=t=>t.type!=="image/jpeg"&&t.type!=="image/png"&&t.type!=="image/jpg"?(g.error("圖片格式只能是jpeg/png/jpg!"),!1):(r.value.show=!0,r.value.img=URL.createObjectURL(t),!1),j=()=>{const{canvas:t}=U.value.getResult();if(t){const l=new FormData;t.toBlob(async u=>{let n=new File([u],"image.jpg");l.append("fileType","IMAGE"),l.append("file",n),r.value.show=!1,f.value=!0;let i=await we("/branch/uploadImage",l);i.code===200?(o.value.imageurl=i.data,g.success("上傳成功")):g.error("上傳失敗"),f.value=!1},"image/jpeg")}},h=()=>{r.value.show=!1},R=()=>{b("close",!1)},d=t=>{t&&t.validate(async l=>{if(l){let u,n;x.value==="update"?(o.value.id=w.editid,u=await Q(o.value),n="修改成功."):(u=await Be(o.value),n="新增成功."),u.code===200&&(g({message:n,type:"success"}),b("close",!0))}else return g({message:"操作失敗.",type:"error"}),!1})};return(t,l)=>{const u=S,n=ge,i=O,z=ye,M=be,F=L,E=A,N=ve;return y(),B(H,null,[p("div",null,[e(F,null,{default:a(()=>[e(M,{ref_key:"formRef",ref:D,model:o.value,"status-icon":"",rules:T.value,"label-width":"120px"},{default:a(()=>[e(n,{label:"據點名稱",prop:"name"},{default:a(()=>[e(u,{modelValue:o.value.name,"onUpdate:modelValue":l[0]||(l[0]=s=>o.value.name=s)},null,8,["modelValue"])]),_:1}),e(n,{label:"地址",prop:"address"},{default:a(()=>[e(u,{modelValue:o.value.address,"onUpdate:modelValue":l[1]||(l[1]=s=>o.value.address=s)},null,8,["modelValue"])]),_:1}),e(n,{label:"電話",prop:"tel"},{default:a(()=>[e(u,{modelValue:o.value.tel,"onUpdate:modelValue":l[2]||(l[2]=s=>o.value.tel=s)},null,8,["modelValue"])]),_:1}),e(n,{label:"傳真",prop:"fax"},{default:a(()=>[e(u,{modelValue:o.value.fax,"onUpdate:modelValue":l[3]||(l[3]=s=>o.value.fax=s)},null,8,["modelValue"])]),_:1}),e(n,{label:"網址",prop:"url"},{default:a(()=>[e(u,{modelValue:o.value.url,"onUpdate:modelValue":l[4]||(l[4]=s=>o.value.url=s)},null,8,["modelValue"])]),_:1}),e(n,{label:"Email",prop:"email"},{default:a(()=>[e(u,{modelValue:o.value.email,"onUpdate:modelValue":l[5]||(l[5]=s=>o.value.email=s)},null,8,["modelValue"])]),_:1}),e(n,{label:"據點圖片",prop:"imageurl"},{default:a(()=>[e(z,{class:"avatar-uploader",action:"#",accept:"image/*","show-file-list":!1,"auto-upload":!0,"before-upload":s=>$(s)},{default:a(()=>[o.value.imageurl?(y(),B("img",{key:0,src:"http://localhost:6060"+o.value.imageurl,class:"avatar",id:"imageurl"},null,8,Ce)):(y(),q(i,{key:1,class:"avatar-uploader-icon"},{default:a(()=>[e(k(G))]),_:1}))]),_:1},8,["before-upload"])]),_:1})]),_:1},8,["model","rules"])]),_:1}),p("div",De,[e(E,{onClick:R},{default:a(()=>[v("取消")]),_:1}),e(E,{type:"primary",loading:f.value,onClick:l[6]||(l[6]=s=>d(D.value))},{default:a(()=>[v(P(f.value?"處理中...":"確認"),1)]),_:1},8,["loading"])])]),p("div",null,[e(N,{modelValue:r.value.show,"onUpdate:modelValue":l[7]||(l[7]=s=>r.value.show=s),title:"Tips","before-close":h},{default:a(()=>[r.value.show?(y(),B("div",Ue,[p("div",Fe,[e(k(he),{class:"cropper",ref_key:"myCrop",ref:U,src:r.value.img,"stencil-props":{aspectRatio:r.value.ratio},"auto-zoom":!0},null,8,["src","stencil-props"])]),p("div",Ie,[e(E,{type:"primary",size:"small",text:"",onClick:h},{default:a(()=>[v("取消")]),_:1}),e(E,{type:"primary",size:"small",onClick:j},{default:a(()=>[v("剪裁")]),_:1})])])):ie("",!0)]),_:1},8,["modelValue"])])],64)}}},$e=Ee(Te,[["__scopeId","data-v-0c2531e5"]]),je={class:"main"},Re={class:"breadcrumb-section"},ze=p("a",{href:"/"},"公司據點",-1),Me=["onDblclick"],ua={__name:"Index",setup(_){const I=ce({page:1,pageSize:10});me(I),c(0);const w=c(!1),b=c(!1),x=c([]);K(()=>{f()});const f=async()=>{w.value=!0;let d=await Ve();d.code===200&&(x.value=d.data),w.value=!1},D=()=>{h.value=0,b.value=!0},o=d=>{h.value=d,b.value=!0},T=d=>{le.confirm("確認刪除此紀錄?").then(async()=>{(await xe(d)).code===200?(g({message:"刪除成功.",type:"success"}),f()):g({message:"刪除失敗.",type:"error"})}).catch(()=>{})},r=c(0),U=d=>{r.value=d},$=async d=>{(await Q(d)).code===200?(g({message:"修改成功.",type:"success"}),f()):g({message:"修改失敗.",type:"error"}),r.value=0},j=()=>{r.value=0},h=c(0),R=d=>{b.value=!1,d&&f()};return(d,t)=>{const l=oe,u=te,n=A,i=se,z=S,M=O,F=re,E=de,N=ue,s=ne,J=L,W=ae,X=pe("focus");return y(),B(H,null,[p("div",je,[p("div",Re,[p("div",null,[e(u,{separator:"/"},{default:a(()=>[e(l,null,{default:a(()=>[v(" 聯絡我們 ")]),_:1}),e(l,null,{default:a(()=>[ze]),_:1})]),_:1})]),p("div",null,[e(n,{type:"primary",icon:k(G),onClick:D},{default:a(()=>[v(" 新增據點 ")]),_:1},8,["icon"])])]),e(J,{"body-style":{padding:"0px"}},{default:a(()=>[e(s,{data:x.value,style:{width:"100%"}},{default:a(()=>[e(i,{prop:"id",label:"#",width:"50"}),e(i,{prop:"name",label:"據點名稱"}),e(i,{prop:"address",label:"據點地址"}),e(i,{prop:"tel",label:"電話"}),e(i,{prop:"fax",label:"傳真"}),e(i,{prop:"status",label:"是否有效"}),e(i,{prop:"sort",label:"排序",width:"80"},{default:a(m=>[m.row.id!==r.value?(y(),B("div",{key:0,onDblclick:V=>U(m.row.id)},P(m.row.sort_order),41,Me)):_e((y(),q(z,{key:1,modelValue:m.row.sort_order,"onUpdate:modelValue":V=>m.row.sort_order=V,style:{width:"50px"},onKeyup:fe(V=>$(m.row),["enter"]),onBlur:t[0]||(t[0]=V=>j()),autoFocus:!0},null,8,["modelValue","onUpdate:modelValue","onKeyup"])),[[X,m.row.id===r.value]])]),_:1}),e(i,{label:"操作",width:"105",fixed:"right"},{default:a(m=>[e(N,null,{dropdown:a(()=>[e(E,null,{default:a(()=>[e(F,{icon:k(Y),onClick:V=>o(m.row.id)},{default:a(()=>[v("修改")]),_:2},1032,["icon","onClick"]),e(F,{icon:k(Z),onClick:V=>T(m.row.id)},{default:a(()=>[v("刪除")]),_:2},1032,["icon","onClick"])]),_:2},1024)]),default:a(()=>[e(n,{type:"danger"},{default:a(()=>[v(" 操作"),e(M,{class:"el-icon--right"},{default:a(()=>[e(k(ee))]),_:1})]),_:1})]),_:2},1024)]),_:1})]),_:1},8,["data"])]),_:1})]),p("div",null,[e(W,{ref:"drawerRef",modelValue:b.value,"onUpdate:modelValue":t[1]||(t[1]=m=>b.value=m),"destroy-on-close":!0,title:"公司據點",direction:"rtl",size:"50%"},{default:a(()=>[e($e,{editid:h.value,onClose:R},null,8,["editid"])]),_:1},8,["modelValue"])])],64)}}};export{ua as default}; diff --git a/nginx/html/admin/assets/Index-aefcace2.css b/nginx/html/admin/assets/Index-aefcace2.css new file mode 100644 index 0000000..d089a16 --- /dev/null +++ b/nginx/html/admin/assets/Index-aefcace2.css @@ -0,0 +1 @@ +.avatar-uploader .avatar[data-v-09906d5f]{width:312px;height:120px;display:block}[data-v-09906d5f] .avatar-uploader .el-upload{border:1px dashed var(--el-border-color);border-radius:6px;cursor:pointer;position:relative;overflow:hidden;transition:var(--el-transition-duration-fast)}.avatar-uploader .el-upload[data-v-09906d5f]:hover{border-color:var(--el-color-primary)}.el-icon.avatar-uploader-icon[data-v-09906d5f]{font-size:28px;color:#8c939d;width:312px;height:120px;text-align:center}[data-v-09906d5f] .el-dialog{width:40%!important}.crop-btn[data-v-09906d5f]{text-align:right;margin-top:10px} diff --git a/nginx/html/admin/assets/Index-b06adbe8.css b/nginx/html/admin/assets/Index-b06adbe8.css new file mode 100644 index 0000000..0c78504 --- /dev/null +++ b/nginx/html/admin/assets/Index-b06adbe8.css @@ -0,0 +1 @@ +.card-footer[data-v-8915fd74]{background-color:#f5f7fa;border-top:1px solid #ebeef5;padding:10px;text-align:right}[data-v-8915fd74] .ck-editor__editable_inline{height:400px} diff --git a/nginx/html/admin/assets/Index-b07e5d40.js b/nginx/html/admin/assets/Index-b07e5d40.js new file mode 100644 index 0000000..f547a46 --- /dev/null +++ b/nginx/html/admin/assets/Index-b07e5d40.js @@ -0,0 +1 @@ +import{G as b}from"./el-button-b67915d8.js";import{a as h,b as x,E as S}from"./el-breadcrumb-item-762e8056.js";import{C as k}from"./ckeditor-140c1ad2.js";import{g as C,u as E}from"./article-8e1d926f.js";import{E as d}from"./el-message-447d52b9.js";import{_ as I}from"./_plugin-vue_export-helper-c27b6911.js";import{q as c,z as B,L as w,o as V,f as N,M as o,Q as e,w as t,N as m,a as R,a7 as z,a8 as A}from"./index-b2bcea28.js";import"./request-88e5850c.js";import"./aria-60e0cdc6.js";const L=a=>(z("data-v-61a86e6f"),a=a(),A(),a),T={class:"main"},F={class:"breadcrumb-section"},M=L(()=>o("a",{href:"/"},"公司簡介",-1)),U={style:{padding:"10px"}},$={class:"card-footer"},q={__name:"Index",setup(a){const _=k,s=c(""),p=c({simpleUpload:{uploadUrl:"https://prodio.zltest.com.tw/adminapi/article/uploadImage",headers:{"X-CSRF-TOKEN":"CSFR-Token",Authorization:`${sessionStorage.getItem("token")}`}},image:{resize:!0,toolbar:["imageTextAlternative","|","imageStyle:alignLeft","imageStyle:alignRight","|","imageStyle:alignBlockLeft","imageStyle:block","imageStyle:alignBlockRight"],styles:["full","alignLeft","alignRight"]}});B(async()=>{let n=await C(1);n.code===200&&(s.value=n.data.content)});const u=async()=>(await E({id:1,content:s.value})).code===200?d({message:"更新成功",type:"success"}):d({message:"更新失敗",type:"error"});return(n,r)=>{const l=h,f=x,g=w("ckeditor"),v=b,y=S;return V(),N("div",T,[o("div",F,[o("div",null,[e(f,{separator:"/"},{default:t(()=>[e(l,null,{default:t(()=>[m(" 經銷系統 ")]),_:1}),e(l,null,{default:t(()=>[M]),_:1})]),_:1})])]),e(y,{"body-style":{padding:"0px"}},{default:t(()=>[o("div",U,[e(g,{editor:R(_),modelValue:s.value,"onUpdate:modelValue":r[0]||(r[0]=i=>s.value=i),config:p.value},null,8,["editor","modelValue","config"])]),o("div",$,[e(v,{type:"primary",onClick:r[1]||(r[1]=i=>u())},{default:t(()=>[m("確認")]),_:1})])]),_:1})])}}},P=I(q,[["__scopeId","data-v-61a86e6f"]]);export{P as default}; diff --git a/nginx/html/admin/assets/Index-b89aa744.js b/nginx/html/admin/assets/Index-b89aa744.js new file mode 100644 index 0000000..f7e3c21 --- /dev/null +++ b/nginx/html/admin/assets/Index-b89aa744.js @@ -0,0 +1 @@ +import{p as q,E as H,G as Q,H as pe,F as ce,b as me}from"./el-button-e2db9d24.js";import{E as _e}from"./el-drawer-ff04497f.js";import{E as fe}from"./el-message-box-b36f6f03.js";import{E as W,a as J}from"./el-form-item-8920ca0c.js";import{E as K}from"./el-progress-c3e10056.js";import{E as X}from"./el-input-5fc6aaec.js";import{a as ve,b as ge,E as ye}from"./el-breadcrumb-item-4a5b4005.js";import{E as we}from"./el-pagination-36ba5b37.js";import"./el-tag-290e5c91.js";import"./el-select-ffb55c7a.js";import"./el-scrollbar-5933f25d.js";import{E as be,a as Ee}from"./el-table-column-448a0581.js";import"./el-tooltip-4ed993c7.js";import{E as he,a as Ce,b as Ve}from"./el-dropdown-item-bbb7be2f.js";import"./el-icon-08628b36.js";import{E as ke}from"./el-image-viewer-e3399f62.js";import{E as xe}from"./el-dialog-e4a7f8ff.js";import{a as x,u as Ie}from"./request-26ab9dc6.js";import{E as k}from"./el-message-3c79da29.js";import{_ as Y}from"./_plugin-vue_export-helper-c27b6911.js";import{q as u,z as Z,v as ee,o as S,f as N,M as r,Q as e,w as l,a as w,N as m,O as te,F as R,a3 as ze,W as Fe,c as De,a6 as j,a7 as Se,a8 as Ae}from"./index-7ed2d026.js";import"./use-dialog-7562524e.js";import"./index-dc664f45.js";import"./aria-60e0cdc6.js";import"./castArray-283666ff.js";import"./_baseClone-a5946d7f.js";import"./cloneDeep-e81a5417.js";import"./index-8f4d4c63.js";import"./strings-d2b52496.js";const Ue=async s=>x("/activity/getActivityList","POST",s),Le=async s=>x("/activity/getActivity","GET",{id:s}),Pe=async s=>x("/activity/deleteActivity","GET",{id:s}),Te=async s=>x("/activity/updateActivity","POST",s),Be=async s=>x("/activity/addActivity","POST",s);const Ne={class:"demo-drawer__footer",style:{"text-align":"right"}},Re=["src"],$e={__name:"Form",props:{editid:{type:Number,default:0}},emits:["close"],setup(s,{emit:h}){const c=s,b=h,E=u("insert"),v=u(!1),g=u(null),n=u({id:0,title1:"",title2:"",title3:"",imageList:[]});Z(async()=>{if(c.editid){let i=await Le(c.editid);i.code===200&&(n.value=i.data,E.value="update",C.value=i.data.imageList.map(a=>({uid:a.uid,url:"https://prodio.zltest.com.tw"+a.url})))}});const I=ee({}),_=()=>{b("close",!1)},A=i=>{i&&i.validate(async a=>{if(a){let t,o;E.value==="update"?(n.value.id=c.editid,t=await Te(n.value),o="修改成功."):(t=await Be(n.value),o="新增成功."),t.code===200&&(k({message:o,type:"success"}),b("close",!0))}else return k({message:"操作失敗.",type:"error"}),!1})},C=u([]),z=u(""),V=u(!1),U=async i=>{const a=new FormData;a.append("file",i.file),v.value=!0;let t=await Ie("/activity/uploadImage",a);t.code===200?n.value.imageList.push({uid:i.file.uid,url:t.data}):k.error("上傳失敗"),v.value=!1},L=(i,a)=>{n.value.imageList=n.value.imageList.filter(t=>t.uid!==i.uid)},P=i=>{z.value=i.url,V.value=!0};return(i,a)=>{const t=X,o=W,F=H,T=K,y=J,D=Q,f=xe;return S(),N(R,null,[r("div",null,[e(y,{ref_key:"formRef",ref:g,model:n.value,"status-icon":"",rules:I,"label-width":"120px"},{default:l(()=>[e(o,{label:"標題(繁)",prop:"title"},{default:l(()=>[e(t,{modelValue:n.value.title1,"onUpdate:modelValue":a[0]||(a[0]=p=>n.value.title1=p)},null,8,["modelValue"])]),_:1}),e(o,{label:"標題(簡)",prop:"title"},{default:l(()=>[e(t,{modelValue:n.value.title2,"onUpdate:modelValue":a[1]||(a[1]=p=>n.value.title2=p)},null,8,["modelValue"])]),_:1}),e(o,{label:"標題(英)",prop:"title"},{default:l(()=>[e(t,{modelValue:n.value.title3,"onUpdate:modelValue":a[2]||(a[2]=p=>n.value.title3=p)},null,8,["modelValue"])]),_:1}),e(o,{label:"活動照片",prop:"content"},{default:l(()=>[e(T,{"file-list":C.value,"onUpdate:fileList":a[3]||(a[3]=p=>C.value=p),action:"#","http-request":U,"list-type":"picture-card","on-preview":P,"on-remove":L},{default:l(()=>[e(F,null,{default:l(()=>[e(w(q))]),_:1})]),_:1},8,["file-list"])]),_:1})]),_:1},8,["model","rules"]),r("div",Ne,[e(D,{onClick:_},{default:l(()=>[m("取消")]),_:1}),e(D,{type:"primary",loading:v.value,onClick:a[4]||(a[4]=p=>A(g.value))},{default:l(()=>[m(te(v.value?"提交中 ...":"確認"),1)]),_:1},8,["loading"])])]),e(f,{modelValue:V.value,"onUpdate:modelValue":a[5]||(a[5]=p=>V.value=p)},{default:l(()=>[r("img",{"w-full":"",src:z.value,alt:"Preview Image"},null,8,Re)]),_:1},8,["modelValue"])],64)}}},Me=Y($e,[["__scopeId","data-v-a24c4f0d"]]);const le=s=>(Se("data-v-8c38f428"),s=s(),Ae(),s),Ge={class:"main"},Oe={class:"breadcrumb-section"},je=le(()=>r("a",{href:"/"},"公司活動",-1)),qe={class:"imgGroup"},He={class:"pagination-block"},Qe=le(()=>r("small",{class:"el-upload__tip"}," ※ 請上傳500kb以內jpg檔案。",-1)),We={class:"demo-drawer__footer",style:{"text-align":"right"}},Je={__name:"Index",setup(s){const h=u(!1),c=ee({page:1,pageSize:10}),{page:b,pageSize:E}=ze(c),v=u(0),g=u(!1),n=u(!1),I=u([]);Z(()=>{_()});const _=async()=>{g.value=!0;let t=await Ue(c);t.code===200&&(I.value=t.data.list,v.value=t.data.total),g.value=!1},A=()=>{i.value=0,n.value=!0},C=t=>{i.value=t,n.value=!0},z=t=>{fe.confirm("確認刪除此紀錄?").then(async()=>{(await Pe(t)).code===200?(k({message:"刪除成功.",type:"success"}),_()):k({message:"刪除失敗.",type:"error"})}).catch(()=>{})},V=t=>{c.pageSize=t,_()},U=t=>{c.page=t,_()},L=t=>{c.page=t,_()},P=t=>{c.page=t,_()},i=u(0),a=t=>{n.value=!1,t&&_()};return(t,o)=>{const F=ve,T=ge,y=Q,D=ke,f=be,p=H,$=he,ae=Ce,oe=Ve,ne=Ee,ie=we,M=ye,se=X,G=W,de=K,re=J,O=_e;return S(),N(R,null,[r("div",Ge,[r("div",Oe,[r("div",null,[e(T,{separator:"/"},{default:l(()=>[e(F,null,{default:l(()=>[m(" 最新消息 ")]),_:1}),e(F,null,{default:l(()=>[je]),_:1})]),_:1})]),r("div",null,[e(y,{type:"primary",icon:w(q),onClick:A},{default:l(()=>[m(" 新增活動 ")]),_:1},8,["icon"])])]),e(M,{"body-style":{padding:"0px"}},{default:l(()=>[e(ne,{data:I.value,style:{width:"100%"}},{default:l(()=>[e(f,{type:"expand",label:"相簿",width:"80"},{default:l(d=>[r("div",qe,[(S(!0),N(R,null,Fe(d.row.imageList,(B,ue)=>(S(),De(D,{key:ue,style:{width:"100px",height:"60px"},src:"https://prodio.zltest.com.tw"+B.url,fit:t.cover},null,8,["src","fit"]))),128))])]),_:1}),e(f,{prop:"id",label:"#",width:"50"}),e(f,{prop:"title1",label:"標題(繁)"}),e(f,{prop:"title2",label:"標題(簡)"}),e(f,{prop:"title3",label:"標題(英)"}),e(f,{prop:"create_time",label:"建立時間"}),e(f,{label:"其他項目",width:"105",fixed:"right"},{default:l(d=>[e(oe,null,{dropdown:l(()=>[e(ae,null,{default:l(()=>[e($,{icon:w(pe),onClick:B=>C(d.row.id)},{default:l(()=>[m("修改")]),_:2},1032,["icon","onClick"]),e($,{icon:w(ce),onClick:B=>z(d.row.id)},{default:l(()=>[m("刪除")]),_:2},1032,["icon","onClick"])]),_:2},1024)]),default:l(()=>[e(y,{type:"danger"},{default:l(()=>[m(" 操作"),e(p,{class:"el-icon--right"},{default:l(()=>[e(w(me))]),_:1})]),_:1})]),_:2},1024)]),_:1})]),_:1},8,["data"]),r("div",He,[e(ie,{"current-page":w(b),"onUpdate:currentPage":o[0]||(o[0]=d=>j(b)?b.value=d:null),"page-size":w(E),"onUpdate:pageSize":o[1]||(o[1]=d=>j(E)?E.value=d:null),"page-sizes":[10,20,50,100],layout:"->,total, sizes, prev, pager, next, jumper",total:v.value,onSizeChange:V,onCurrentChange:U,onPrevClick:L,onNextClick:P},null,8,["current-page","page-size","total"])])]),_:1})]),r("div",null,[e(O,{ref:"drawerRef",modelValue:h.value,"onUpdate:modelValue":o[4]||(o[4]=d=>h.value=d),title:"新增動態",direction:"rtl",size:"550"},{default:l(()=>[e(M,null,{default:l(()=>[e(re,{model:t.initform,"label-width":"120px"},{default:l(()=>[e(G,{label:"標題"},{default:l(()=>[e(se,{modelValue:t.initform.title,"onUpdate:modelValue":o[2]||(o[2]=d=>t.initform.title=d)},null,8,["modelValue"])]),_:1}),e(G,{label:"相簿上傳"},{default:l(()=>[e(de,{class:"upload-demo",action:"https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15","on-preview":t.handlePreview,"on-remove":t.handleRemove,"list-type":"picture"},{tip:l(()=>[Qe]),default:l(()=>[e(y,{type:"primary"},{default:l(()=>[m("上傳圖片")]),_:1})]),_:1},8,["on-preview","on-remove"])]),_:1})]),_:1},8,["model"])]),_:1}),r("div",We,[e(y,{onClick:o[3]||(o[3]=d=>h.value=!1)},{default:l(()=>[m("取消")]),_:1}),e(y,{type:"primary",loading:g.value,onClick:t.onClick},{default:l(()=>[m(te(g.value?"Submitting ...":"確認"),1)]),_:1},8,["loading","onClick"])])]),_:1},8,["modelValue"])]),r("div",null,[e(O,{ref:"drawerRef",modelValue:n.value,"onUpdate:modelValue":o[5]||(o[5]=d=>n.value=d),"destroy-on-close":!0,title:"公司活動",direction:"rtl",size:"70%"},{default:l(()=>[e(Me,{editid:i.value,onClose:a},null,8,["editid"])]),_:1},8,["modelValue"])])],64)}}},kt=Y(Je,[["__scopeId","data-v-8c38f428"]]);export{kt as default}; diff --git a/nginx/html/admin/assets/Index-bb4a3f6b.js b/nginx/html/admin/assets/Index-bb4a3f6b.js new file mode 100644 index 0000000..1858acb --- /dev/null +++ b/nginx/html/admin/assets/Index-bb4a3f6b.js @@ -0,0 +1 @@ +import{G as b}from"./el-button-e2db9d24.js";import{a as S,b as h,E as x}from"./el-breadcrumb-item-4a5b4005.js";import{C}from"./ckeditor-5a4d90f5.js";import{g as k,u as E}from"./article-811f6990.js";import{E as d}from"./el-message-3c79da29.js";import{_ as I}from"./_plugin-vue_export-helper-c27b6911.js";import{q as c,z as B,L as w,o as z,f as V,M as o,Q as e,w as t,N as m,a as N,a7 as R,a8 as A}from"./index-7ed2d026.js";import"./request-26ab9dc6.js";import"./aria-60e0cdc6.js";const L=a=>(R("data-v-a87ce681"),a=a(),A(),a),T={class:"main"},F={class:"breadcrumb-section"},M=L(()=>o("a",{href:"/"},"公司簡介",-1)),U={style:{padding:"10px"}},$={class:"card-footer"},q={__name:"Index",setup(a){const p=C,s=c(""),_=c({simpleUpload:{uploadUrl:"https://prodio.zltest.com.tw/adminapi/article/uploadImage",headers:{"X-CSRF-TOKEN":"CSFR-Token",Authorization:`${sessionStorage.getItem("token")}`}},fontSize:{options:["tiny","default","big"]},image:{resize:!0,toolbar:["imageTextAlternative","|","imageStyle:alignLeft","imageStyle:alignRight","|","imageStyle:alignBlockLeft","imageStyle:block","imageStyle:alignBlockRight","|","fontSize","fontColor","fontBackgroundColor"],styles:["full","alignLeft","alignRight"]}});B(async()=>{let n=await k(1);n.code===200&&(s.value=n.data.content)});const u=async()=>(await E({id:1,content:s.value})).code===200?d({message:"更新成功",type:"success"}):d({message:"更新失敗",type:"error"});return(n,r)=>{const i=S,f=h,g=w("ckeditor"),y=b,v=x;return z(),V("div",T,[o("div",F,[o("div",null,[e(f,{separator:"/"},{default:t(()=>[e(i,null,{default:t(()=>[m(" 經銷系統 ")]),_:1}),e(i,null,{default:t(()=>[M]),_:1})]),_:1})])]),e(v,{"body-style":{padding:"0px"}},{default:t(()=>[o("div",U,[e(g,{editor:N(p),modelValue:s.value,"onUpdate:modelValue":r[0]||(r[0]=l=>s.value=l),config:_.value},null,8,["editor","modelValue","config"])]),o("div",$,[e(y,{type:"primary",onClick:r[1]||(r[1]=l=>u())},{default:t(()=>[m("確認")]),_:1})])]),_:1})])}}},P=I(q,[["__scopeId","data-v-a87ce681"]]);export{P as default}; diff --git a/nginx/html/admin/assets/Index-bead79bb.css b/nginx/html/admin/assets/Index-bead79bb.css new file mode 100644 index 0000000..13035a7 --- /dev/null +++ b/nginx/html/admin/assets/Index-bead79bb.css @@ -0,0 +1 @@ +.avatar-uploader .avatar[data-v-0c2531e5]{width:150px;height:80px;display:block}[data-v-0c2531e5] .avatar-uploader .el-upload{border:1px dashed var(--el-border-color);border-radius:6px;cursor:pointer;position:relative;overflow:hidden;transition:var(--el-transition-duration-fast)}.avatar-uploader .el-upload[data-v-0c2531e5]:hover{border-color:var(--el-color-primary)}.el-icon.avatar-uploader-icon[data-v-0c2531e5]{font-size:28px;color:#8c939d;width:178px;height:89px;text-align:center}[data-v-0c2531e5] .el-dialog{width:40%!important}.crop-btn[data-v-0c2531e5]{text-align:right;margin-top:10px} diff --git a/nginx/html/admin/assets/Index-c0e4039d.js b/nginx/html/admin/assets/Index-c0e4039d.js new file mode 100644 index 0000000..87fb510 --- /dev/null +++ b/nginx/html/admin/assets/Index-c0e4039d.js @@ -0,0 +1 @@ +import{p as L,E as z,G as M,H as Z,F as ee,b as le}from"./el-button-e2db9d24.js";import{E as ae}from"./el-drawer-ff04497f.js";import{E as te}from"./el-message-box-b36f6f03.js";import{E as N,a as oe,b as se}from"./el-breadcrumb-item-4a5b4005.js";import{E as re,a as ne}from"./el-table-column-448a0581.js";import"./el-tag-290e5c91.js";import"./el-tooltip-4ed993c7.js";import"./el-scrollbar-5933f25d.js";import{E as ie,a as ue,b as de}from"./el-dropdown-item-bbb7be2f.js";import"./el-icon-08628b36.js";import{E as A}from"./el-input-5fc6aaec.js";import{E as pe}from"./el-image-viewer-e3399f62.js";import{q as u,z as q,o as b,f as D,M as p,Q as e,w as l,c as K,a as k,N as v,O as P,V as ce,F as H,v as me,a3 as _e,a4 as fe,D as ve,a5 as ge}from"./index-7ed2d026.js";import{E as ye}from"./el-dialog-e4a7f8ff.js";import{E as we,a as be}from"./el-form-item-8920ca0c.js";import{E as Ee}from"./el-progress-c3e10056.js";import{a as S,u as he}from"./request-26ab9dc6.js";import{f as Ve}from"./style-d6e2b45a.js";import{E as g}from"./el-message-3c79da29.js";import{_ as ke}from"./_plugin-vue_export-helper-c27b6911.js";import"./use-dialog-7562524e.js";import"./index-dc664f45.js";import"./aria-60e0cdc6.js";import"./castArray-283666ff.js";import"./_baseClone-a5946d7f.js";import"./cloneDeep-e81a5417.js";const Ce=async()=>S("/supplier/getSupplierList","GET"),xe=async c=>S("/supplier/getSupplier","GET",{id:c}),De=async c=>S("/supplier/deleteSupplier","GET",{id:c}),Q=async c=>S("/supplier/updateSupplier","POST",c),Se=async c=>S("/supplier/addSupplier","POST",c);const Fe=["src"],Ie={class:"demo-drawer__footer",style:{"text-align":"right"}},Te={key:0,class:"cropper-section"},Ue={class:"crop-area"},Oe={class:"crop-btn"},$e={__name:"Form",props:{editid:{type:Number,default:0}},emits:["close"],setup(c,{emit:T}){const E=c,y=T,C=u("insert"),_=u(!1),F=u(null),o=u({id:0});q(async()=>{if(E.editid){let a=await xe(E.editid);a.code===200&&(o.value=a.data,C.value="update")}});const U=u({imageurl:[{required:!0,message:"供應商LOGO必需要有",trigger:"blur"}],name:[{required:!0,message:"供應商名稱必填",trigger:"blur"}]}),s=u({show:!1,img:null,ratio:3.012}),I=u(null),O=a=>a.type!=="image/jpeg"&&a.type!=="image/png"&&a.type!=="image/jpg"?(g.error("圖片格式只能是jpeg/png/jpg!"),!1):(s.value.show=!0,s.value.img=URL.createObjectURL(a),!1),$=()=>{const{canvas:a}=I.value.getResult();if(a){const t=new FormData;a.toBlob(async f=>{let m=new File([f],"image.jpg");t.append("fileType","IMAGE"),t.append("file",m),s.value.show=!1,_.value=!0;let n=await he("/supplier/uploadSupplierImage",t);n.code===200?(o.value.imageurl=n.data,g.success("上傳成功")):g.error("上傳失敗"),_.value=!1},"image/jpeg")}},h=()=>{s.value.show=!1},B=()=>{y("close",!1)},r=a=>{a&&a.validate(async t=>{if(t){let f,m;C.value==="update"?(o.value.id=E.editid,f=await Q(o.value),m="修改成功."):(f=await Se(o.value),m="新增成功."),f.code===200&&(g({message:m,type:"success"}),y("close",!0))}else return g({message:"操作失敗.",type:"error"}),!1})};return(a,t)=>{const f=z,m=Ee,n=we,x=A,j=be,G=N,w=M,R=ye;return b(),D(H,null,[p("div",null,[e(G,null,{default:l(()=>[e(j,{ref_key:"formRef",ref:F,model:o.value,"status-icon":"",rules:U.value,"label-width":"120px"},{default:l(()=>[e(n,{label:"供應商LOGO",prop:"imageurl"},{default:l(()=>[e(m,{class:"avatar-uploader",action:"#",accept:"image/*","show-file-list":!1,"auto-upload":!0,"on-success":a.handleAvatarSuccess,"before-upload":d=>O(d)},{default:l(()=>[o.value.imageurl?(b(),D("img",{key:0,src:o.value.imageurl,class:"avatar",id:"imageurl"},null,8,Fe)):(b(),K(f,{key:1,class:"avatar-uploader-icon"},{default:l(()=>[e(k(L))]),_:1}))]),_:1},8,["on-success","before-upload"])]),_:1}),e(n,{label:"供應商名稱(繁)",prop:"name1"},{default:l(()=>[e(x,{modelValue:o.value.name1,"onUpdate:modelValue":t[0]||(t[0]=d=>o.value.name1=d)},null,8,["modelValue"])]),_:1}),e(n,{label:"供應商名稱(簡)",prop:"name2"},{default:l(()=>[e(x,{modelValue:o.value.name2,"onUpdate:modelValue":t[1]||(t[1]=d=>o.value.name2=d)},null,8,["modelValue"])]),_:1}),e(n,{label:"供應商名稱(英)",prop:"name3"},{default:l(()=>[e(x,{modelValue:o.value.name3,"onUpdate:modelValue":t[2]||(t[2]=d=>o.value.name3=d)},null,8,["modelValue"])]),_:1})]),_:1},8,["model","rules"])]),_:1}),p("div",Ie,[e(w,{onClick:B},{default:l(()=>[v("取消")]),_:1}),e(w,{type:"primary",loading:_.value,onClick:t[3]||(t[3]=d=>r(F.value))},{default:l(()=>[v(P(_.value?"處理中...":"確認"),1)]),_:1},8,["loading"])])]),p("div",null,[e(R,{modelValue:s.value.show,"onUpdate:modelValue":t[4]||(t[4]=d=>s.value.show=d),title:"Tips","before-close":h},{default:l(()=>[s.value.show?(b(),D("div",Te,[p("div",Ue,[e(k(Ve),{class:"cropper",ref_key:"myCrop",ref:I,src:s.value.img,"stencil-props":{aspectRatio:s.value.ratio},"auto-zoom":!0},null,8,["src","stencil-props"])]),p("div",Oe,[e(w,{type:"primary",size:"small",text:"",onClick:h},{default:l(()=>[v("取消")]),_:1}),e(w,{type:"primary",size:"small",onClick:$},{default:l(()=>[v("剪裁")]),_:1})])])):ce("",!0)]),_:1},8,["modelValue"])])],64)}}},Be=ke($e,[["__scopeId","data-v-a1dc5295"]]),je={class:"main"},Ge={class:"breadcrumb-section"},Re=p("a",{href:"/"},"供應商列表",-1),Le=["onDblclick"],cl={__name:"Index",setup(c){const T=me({page:1,pageSize:10});_e(T),u(0);const E=u(!1),y=u(!1),C=u([]);q(()=>{_()});const _=async()=>{E.value=!0;let r=await Ce();r.code===200&&(C.value=r.data),E.value=!1},F=()=>{h.value=0,y.value=!0},o=r=>{h.value=r,y.value=!0},U=r=>{te.confirm("確認刪除此紀錄?").then(async()=>{(await De(r)).code===200?(g({message:"刪除成功.",type:"success"}),_()):g({message:"刪除失敗.",type:"error"})}).catch(()=>{})},s=u(0),I=r=>{s.value=r},O=async r=>{(await Q(r)).code===200?(g({message:"修改成功.",type:"success"}),_()):g({message:"修改失敗.",type:"error"}),s.value=0},$=()=>{s.value=0},h=u(0),B=r=>{y.value=!1,r&&_()};return(r,a)=>{const t=oe,f=se,m=M,n=re,x=pe,j=A,G=z,w=ie,R=ue,d=de,J=ne,W=N,X=ae,Y=fe("focus");return b(),D(H,null,[p("div",je,[p("div",Ge,[p("div",null,[e(f,{separator:"/"},{default:l(()=>[e(t,null,{default:l(()=>[v(" 首頁 ")]),_:1}),e(t,null,{default:l(()=>[Re]),_:1})]),_:1})]),p("div",null,[e(m,{type:"primary",icon:k(L),onClick:F},{default:l(()=>[v(" 新增供應商 ")]),_:1},8,["icon"])])]),e(W,{"body-style":{padding:"0px"}},{default:l(()=>[e(J,{data:C.value,style:{width:"100%"}},{default:l(()=>[e(n,{prop:"id",label:"#",width:"50"}),e(n,{label:"供應商LOGO"},{default:l(i=>[e(x,{style:{width:"150px",height:"80px"},src:i.row.imageurl,fit:"cover",crossorigin:null},null,8,["src"])]),_:1}),e(n,{prop:"name1",label:"供應商名稱(繁)"}),e(n,{prop:"name2",label:"供應商名稱(簡)"}),e(n,{prop:"name3",label:"供應商名稱(英)"}),e(n,{prop:"sort",label:"排序",width:"80"},{default:l(i=>[i.row.id!==s.value?(b(),D("div",{key:0,onDblclick:V=>I(i.row.id)},P(i.row.sort_order),41,Le)):ve((b(),K(j,{key:1,modelValue:i.row.sort_order,"onUpdate:modelValue":V=>i.row.sort_order=V,style:{width:"50px"},onKeyup:ge(V=>O(i.row),["enter"]),onBlur:a[0]||(a[0]=V=>$()),autoFocus:!0},null,8,["modelValue","onUpdate:modelValue","onKeyup"])),[[Y,i.row.id===s.value]])]),_:1}),e(n,{label:"操作",width:"105",fixed:"right"},{default:l(i=>[e(d,null,{dropdown:l(()=>[e(R,null,{default:l(()=>[e(w,{icon:k(Z),onClick:V=>o(i.row.id)},{default:l(()=>[v("修改")]),_:2},1032,["icon","onClick"]),e(w,{icon:k(ee),onClick:V=>U(i.row.id)},{default:l(()=>[v("刪除")]),_:2},1032,["icon","onClick"])]),_:2},1024)]),default:l(()=>[e(m,{type:"danger"},{default:l(()=>[v(" 操作"),e(G,{class:"el-icon--right"},{default:l(()=>[e(k(le))]),_:1})]),_:1})]),_:2},1024)]),_:1})]),_:1},8,["data"])]),_:1})]),p("div",null,[e(X,{ref:"drawerRef",modelValue:y.value,"onUpdate:modelValue":a[1]||(a[1]=i=>y.value=i),"destroy-on-close":!0,title:"首頁輪撥",direction:"rtl",size:"50%"},{default:l(()=>[e(Be,{editid:h.value,onClose:B},null,8,["editid"])]),_:1},8,["modelValue"])])],64)}}};export{cl as default}; diff --git a/nginx/html/admin/assets/Index-c14b1ca9.js b/nginx/html/admin/assets/Index-c14b1ca9.js new file mode 100644 index 0000000..ade343b --- /dev/null +++ b/nginx/html/admin/assets/Index-c14b1ca9.js @@ -0,0 +1 @@ +import{G as h}from"./el-button-e2db9d24.js";import{a as x,b as S,E as k}from"./el-breadcrumb-item-4a5b4005.js";import{C}from"./ckeditor-5a4d90f5.js";import{g as E,u as I}from"./article-811f6990.js";import{E as d}from"./el-message-3c79da29.js";import{_ as B}from"./_plugin-vue_export-helper-c27b6911.js";import{q as c,z as w,L as V,o as N,f as R,M as t,Q as e,w as o,N as m,a as z,a7 as A,a8 as L}from"./index-7ed2d026.js";import"./request-26ab9dc6.js";import"./aria-60e0cdc6.js";const _=a=>(A("data-v-edcc74e1"),a=a(),L(),a),T={class:"main"},F={class:"breadcrumb-section"},M=_(()=>t("a",{href:"/"},"經營理念",-1)),U=_(()=>t("div",null,null,-1)),$={style:{padding:"10px"}},q={class:"card-footer"},G={__name:"Index",setup(a){const p=C,s=c(""),u=c({simpleUpload:{uploadUrl:"https://prodio.zltest.com.tw/adminapi/article/uploadImage",headers:{"X-CSRF-TOKEN":"CSFR-Token",Authorization:`${sessionStorage.getItem("token")}`}},image:{resize:!0,toolbar:["imageTextAlternative","|","imageStyle:alignLeft","imageStyle:alignRight","|","imageStyle:alignBlockLeft","imageStyle:block","imageStyle:alignBlockRight"],styles:["full","alignLeft","alignRight"]}});w(async()=>{let n=await E(2);n.code===200&&(s.value=n.data.content)});const g=async()=>(await I({id:2,content:s.value})).code===200?d({message:"更新成功",type:"success"}):d({message:"更新失敗",type:"error"});return(n,l)=>{const r=x,f=S,v=V("ckeditor"),y=h,b=k;return N(),R("div",T,[t("div",F,[t("div",null,[e(f,{separator:"/"},{default:o(()=>[e(r,null,{default:o(()=>[m(" 經銷系統 ")]),_:1}),e(r,null,{default:o(()=>[M]),_:1})]),_:1})]),U]),e(b,{"body-style":{padding:"0px"}},{default:o(()=>[t("div",$,[e(v,{editor:z(p),modelValue:s.value,"onUpdate:modelValue":l[0]||(l[0]=i=>s.value=i),config:u.value},null,8,["editor","modelValue","config"])]),t("div",q,[e(y,{type:"primary",onClick:l[1]||(l[1]=i=>g())},{default:o(()=>[m("確認")]),_:1})])]),_:1})])}}},W=B(G,[["__scopeId","data-v-edcc74e1"]]);export{W as default}; diff --git a/nginx/html/admin/assets/Index-d4510b7a.js b/nginx/html/admin/assets/Index-d4510b7a.js new file mode 100644 index 0000000..2574162 --- /dev/null +++ b/nginx/html/admin/assets/Index-d4510b7a.js @@ -0,0 +1 @@ +import{p as G,E as O,G as A,H as Y,F as Z,b as ee}from"./el-button-b67915d8.js";import{E as ae}from"./el-drawer-1235fb1f.js";import{E as le}from"./el-message-box-31f94f7f.js";import{E as L,a as oe,b as te}from"./el-breadcrumb-item-762e8056.js";import{E as se,a as ne}from"./el-table-column-381af1e5.js";import"./el-tag-d3d38fd0.js";import"./el-tooltip-4ed993c7.js";import"./el-scrollbar-5edfcb3f.js";import{E as re,a as de,b as ue}from"./el-dropdown-item-b9c7b677.js";import"./el-icon-08628b36.js";import{E as S}from"./el-input-5189b047.js";import{q as c,z as K,o as y,f as B,M as p,Q as e,w as a,c as q,a as k,N as v,O as P,V as ie,F as H,v as ce,a3 as me,a4 as pe,D as _e,a5 as fe}from"./index-b2bcea28.js";import{E as ve}from"./el-dialog-775a0d0d.js";import{E as ge,a as be}from"./el-form-item-07a15cb5.js";import{E as ye}from"./el-progress-4ca8ef53.js";import{a as C,u as we}from"./request-88e5850c.js";import{f as he}from"./style-c38cf729.js";import{E as g}from"./el-message-447d52b9.js";import{_ as Ee}from"./_plugin-vue_export-helper-c27b6911.js";import"./use-dialog-15edcc44.js";import"./index-07bb2cc4.js";import"./aria-60e0cdc6.js";import"./castArray-8eb82dce.js";import"./_baseClone-49d9099a.js";import"./cloneDeep-996df659.js";const Ve=async()=>C("/branch/getBranchList","GET"),ke=async _=>C("/branch/getBranch","GET",{id:_}),xe=async _=>C("/branch/deleteBranch","GET",{id:_}),Q=async _=>C("/branch/updateBranch","POST",_),Be=async _=>C("/branch/addBranch","POST",_);const Ce=["src"],De={class:"demo-drawer__footer",style:{"text-align":"right"}},Ue={key:0,class:"cropper-section"},Fe={class:"crop-area"},Ie={class:"crop-btn"},Te={__name:"Form",props:{editid:{type:Number,default:0}},emits:["close"],setup(_,{emit:I}){const w=_,b=I,x=c("insert"),f=c(!1),D=c(null),o=c({id:0});K(async()=>{if(w.editid){let t=await ke(w.editid);t.code===200&&(o.value=t.data,x.value="update")}});const T=c({name:[{required:!0,message:"供應商名稱必填",trigger:"blur"}]}),r=c({show:!1,img:null,ratio:1.875}),U=c(null),$=t=>t.type!=="image/jpeg"&&t.type!=="image/png"&&t.type!=="image/jpg"?(g.error("圖片格式只能是jpeg/png/jpg!"),!1):(r.value.show=!0,r.value.img=URL.createObjectURL(t),!1),j=()=>{const{canvas:t}=U.value.getResult();if(t){const l=new FormData;t.toBlob(async u=>{let n=new File([u],"image.jpg");l.append("fileType","IMAGE"),l.append("file",n),r.value.show=!1,f.value=!0;let i=await we("/branch/uploadImage",l);i.code===200?(o.value.imageurl=i.data,g.success("上傳成功")):g.error("上傳失敗"),f.value=!1},"image/jpeg")}},h=()=>{r.value.show=!1},R=()=>{b("close",!1)},d=t=>{t&&t.validate(async l=>{if(l){let u,n;x.value==="update"?(o.value.id=w.editid,u=await Q(o.value),n="修改成功."):(u=await Be(o.value),n="新增成功."),u.code===200&&(g({message:n,type:"success"}),b("close",!0))}else return g({message:"操作失敗.",type:"error"}),!1})};return(t,l)=>{const u=S,n=ge,i=O,z=ye,M=be,F=L,E=A,N=ve;return y(),B(H,null,[p("div",null,[e(F,null,{default:a(()=>[e(M,{ref_key:"formRef",ref:D,model:o.value,"status-icon":"",rules:T.value,"label-width":"120px"},{default:a(()=>[e(n,{label:"據點名稱",prop:"name"},{default:a(()=>[e(u,{modelValue:o.value.name,"onUpdate:modelValue":l[0]||(l[0]=s=>o.value.name=s)},null,8,["modelValue"])]),_:1}),e(n,{label:"地址",prop:"address"},{default:a(()=>[e(u,{modelValue:o.value.address,"onUpdate:modelValue":l[1]||(l[1]=s=>o.value.address=s)},null,8,["modelValue"])]),_:1}),e(n,{label:"電話",prop:"tel"},{default:a(()=>[e(u,{modelValue:o.value.tel,"onUpdate:modelValue":l[2]||(l[2]=s=>o.value.tel=s)},null,8,["modelValue"])]),_:1}),e(n,{label:"傳真",prop:"fax"},{default:a(()=>[e(u,{modelValue:o.value.fax,"onUpdate:modelValue":l[3]||(l[3]=s=>o.value.fax=s)},null,8,["modelValue"])]),_:1}),e(n,{label:"網址",prop:"url"},{default:a(()=>[e(u,{modelValue:o.value.url,"onUpdate:modelValue":l[4]||(l[4]=s=>o.value.url=s)},null,8,["modelValue"])]),_:1}),e(n,{label:"Email",prop:"email"},{default:a(()=>[e(u,{modelValue:o.value.email,"onUpdate:modelValue":l[5]||(l[5]=s=>o.value.email=s)},null,8,["modelValue"])]),_:1}),e(n,{label:"據點圖片",prop:"imageurl"},{default:a(()=>[e(z,{class:"avatar-uploader",action:"#",accept:"image/*","show-file-list":!1,"auto-upload":!0,"before-upload":s=>$(s)},{default:a(()=>[o.value.imageurl?(y(),B("img",{key:0,src:"http://localhost:6060"+o.value.imageurl,class:"avatar",id:"imageurl"},null,8,Ce)):(y(),q(i,{key:1,class:"avatar-uploader-icon"},{default:a(()=>[e(k(G))]),_:1}))]),_:1},8,["before-upload"])]),_:1})]),_:1},8,["model","rules"])]),_:1}),p("div",De,[e(E,{onClick:R},{default:a(()=>[v("取消")]),_:1}),e(E,{type:"primary",loading:f.value,onClick:l[6]||(l[6]=s=>d(D.value))},{default:a(()=>[v(P(f.value?"處理中...":"確認"),1)]),_:1},8,["loading"])])]),p("div",null,[e(N,{modelValue:r.value.show,"onUpdate:modelValue":l[7]||(l[7]=s=>r.value.show=s),title:"Tips","before-close":h},{default:a(()=>[r.value.show?(y(),B("div",Ue,[p("div",Fe,[e(k(he),{class:"cropper",ref_key:"myCrop",ref:U,src:r.value.img,"stencil-props":{aspectRatio:r.value.ratio},"auto-zoom":!0},null,8,["src","stencil-props"])]),p("div",Ie,[e(E,{type:"primary",size:"small",text:"",onClick:h},{default:a(()=>[v("取消")]),_:1}),e(E,{type:"primary",size:"small",onClick:j},{default:a(()=>[v("剪裁")]),_:1})])])):ie("",!0)]),_:1},8,["modelValue"])])],64)}}},$e=Ee(Te,[["__scopeId","data-v-0c2531e5"]]),je={class:"main"},Re={class:"breadcrumb-section"},ze=p("a",{href:"/"},"公司據點",-1),Me=["onDblclick"],ua={__name:"Index",setup(_){const I=ce({page:1,pageSize:10});me(I),c(0);const w=c(!1),b=c(!1),x=c([]);K(()=>{f()});const f=async()=>{w.value=!0;let d=await Ve();d.code===200&&(x.value=d.data),w.value=!1},D=()=>{h.value=0,b.value=!0},o=d=>{h.value=d,b.value=!0},T=d=>{le.confirm("確認刪除此紀錄?").then(async()=>{(await xe(d)).code===200?(g({message:"刪除成功.",type:"success"}),f()):g({message:"刪除失敗.",type:"error"})}).catch(()=>{})},r=c(0),U=d=>{r.value=d},$=async d=>{(await Q(d)).code===200?(g({message:"修改成功.",type:"success"}),f()):g({message:"修改失敗.",type:"error"}),r.value=0},j=()=>{r.value=0},h=c(0),R=d=>{b.value=!1,d&&f()};return(d,t)=>{const l=oe,u=te,n=A,i=se,z=S,M=O,F=re,E=de,N=ue,s=ne,J=L,W=ae,X=pe("focus");return y(),B(H,null,[p("div",je,[p("div",Re,[p("div",null,[e(u,{separator:"/"},{default:a(()=>[e(l,null,{default:a(()=>[v(" 聯絡我們 ")]),_:1}),e(l,null,{default:a(()=>[ze]),_:1})]),_:1})]),p("div",null,[e(n,{type:"primary",icon:k(G),onClick:D},{default:a(()=>[v(" 新增據點 ")]),_:1},8,["icon"])])]),e(J,{"body-style":{padding:"0px"}},{default:a(()=>[e(s,{data:x.value,style:{width:"100%"}},{default:a(()=>[e(i,{prop:"id",label:"#",width:"50"}),e(i,{prop:"name",label:"據點名稱"}),e(i,{prop:"address",label:"據點地址"}),e(i,{prop:"tel",label:"電話"}),e(i,{prop:"fax",label:"傳真"}),e(i,{prop:"status",label:"是否有效"}),e(i,{prop:"sort",label:"排序",width:"80"},{default:a(m=>[m.row.id!==r.value?(y(),B("div",{key:0,onDblclick:V=>U(m.row.id)},P(m.row.sort_order),41,Me)):_e((y(),q(z,{key:1,modelValue:m.row.sort_order,"onUpdate:modelValue":V=>m.row.sort_order=V,style:{width:"50px"},onKeyup:fe(V=>$(m.row),["enter"]),onBlur:t[0]||(t[0]=V=>j()),autoFocus:!0},null,8,["modelValue","onUpdate:modelValue","onKeyup"])),[[X,m.row.id===r.value]])]),_:1}),e(i,{label:"操作",width:"105",fixed:"right"},{default:a(m=>[e(N,null,{dropdown:a(()=>[e(E,null,{default:a(()=>[e(F,{icon:k(Y),onClick:V=>o(m.row.id)},{default:a(()=>[v("修改")]),_:2},1032,["icon","onClick"]),e(F,{icon:k(Z),onClick:V=>T(m.row.id)},{default:a(()=>[v("刪除")]),_:2},1032,["icon","onClick"])]),_:2},1024)]),default:a(()=>[e(n,{type:"danger"},{default:a(()=>[v(" 操作"),e(M,{class:"el-icon--right"},{default:a(()=>[e(k(ee))]),_:1})]),_:1})]),_:2},1024)]),_:1})]),_:1},8,["data"])]),_:1})]),p("div",null,[e(W,{ref:"drawerRef",modelValue:b.value,"onUpdate:modelValue":t[1]||(t[1]=m=>b.value=m),"destroy-on-close":!0,title:"公司據點",direction:"rtl",size:"50%"},{default:a(()=>[e($e,{editid:h.value,onClose:R},null,8,["editid"])]),_:1},8,["modelValue"])])],64)}}};export{ua as default}; diff --git a/nginx/html/admin/assets/Index-d64e2b27.js b/nginx/html/admin/assets/Index-d64e2b27.js new file mode 100644 index 0000000..5280de7 --- /dev/null +++ b/nginx/html/admin/assets/Index-d64e2b27.js @@ -0,0 +1 @@ +import{G as b}from"./el-button-6b66070a.js";import{a as x,b as h,E as C}from"./el-breadcrumb-item-0eb7853a.js";import{C as E}from"./ckeditor-c707ce29.js";import{g as S,u as k}from"./article-2a36286c.js";import{E as d}from"./el-message-76e8eab1.js";import{_ as I}from"./_plugin-vue_export-helper-c27b6911.js";import{q as c,z as B,L as w,o as V,f as N,M as o,Q as e,w as t,N as m,a as R,a7 as L,a8 as T}from"./index-3ef4d3eb.js";import"./request-63584e50.js";import"./aria-60e0cdc6.js";const z=a=>(L("data-v-8915fd74"),a=a(),T(),a),A={class:"main"},F={class:"breadcrumb-section"},M=z(()=>o("a",{href:"/"},"公司簡介",-1)),U={style:{padding:"10px"}},q={class:"card-footer"},G={__name:"Index",setup(a){const _=E,s=c(""),p=c({simpleUpload:{uploadUrl:"https://prodio.zltest.com.tw/adminapi/article/uploadImage",headers:{"X-CSRF-TOKEN":"CSFR-Token"}},image:{resize:!0,toolbar:["imageTextAlternative","|","imageStyle:alignLeft","imageStyle:alignRight","|","imageStyle:alignBlockLeft","imageStyle:block","imageStyle:alignBlockRight"],styles:["full","alignLeft","alignRight"]}});B(async()=>{let r=await S(1);r.code===200&&(s.value=r.data.content)});const u=async()=>(await k({id:1,content:s.value})).code===200?d({message:"更新成功",type:"success"}):d({message:"更新失敗",type:"error"});return(r,l)=>{const n=x,f=h,g=w("ckeditor"),v=b,y=C;return V(),N("div",A,[o("div",F,[o("div",null,[e(f,{separator:"/"},{default:t(()=>[e(n,null,{default:t(()=>[m(" 經銷系統 ")]),_:1}),e(n,null,{default:t(()=>[M]),_:1})]),_:1})])]),e(y,{"body-style":{padding:"0px"}},{default:t(()=>[o("div",U,[e(g,{editor:R(_),modelValue:s.value,"onUpdate:modelValue":l[0]||(l[0]=i=>s.value=i),config:p.value},null,8,["editor","modelValue","config"])]),o("div",q,[e(v,{type:"primary",onClick:l[1]||(l[1]=i=>u())},{default:t(()=>[m("確認")]),_:1})])]),_:1})])}}},P=I(G,[["__scopeId","data-v-8915fd74"]]);export{P as default}; diff --git a/nginx/html/admin/assets/Index-d951b4be.js b/nginx/html/admin/assets/Index-d951b4be.js new file mode 100644 index 0000000..b6710e3 --- /dev/null +++ b/nginx/html/admin/assets/Index-d951b4be.js @@ -0,0 +1 @@ +import{p as K,E as S,G as q,H as W,F as J,b as X}from"./el-button-dd91f3f6.js";import{E as Y}from"./el-drawer-41ea71b6.js";import{E as Z}from"./el-message-box-9069766c.js";import{a as ee,b as ae,E as te}from"./el-breadcrumb-item-fc2f12a8.js";import{E as le,a as oe}from"./el-table-column-2087a7ad.js";import"./el-tag-cf212e80.js";import"./el-tooltip-4ed993c7.js";import"./el-scrollbar-4b72b7cb.js";import{E as se,a as re,b as ne}from"./el-dropdown-item-1df26bce.js";import"./el-icon-08628b36.js";import{E as G}from"./el-input-6cdd1bad.js";import{q as n,z as H,v as de,o as d,f as V,M as c,Q as e,w as a,c as C,F as L,W as ue,a as x,V as O,N as f,O as P,a4 as ie,D as ce,a5 as me}from"./index-a18521e5.js";import{E as pe}from"./el-dialog-5eb47c40.js";import{E as _e,a as fe}from"./el-form-item-7f30e4ff.js";import{E as ve}from"./el-progress-f539c088.js";import{E as ge,a as ye}from"./el-select-60ee1037.js";import{a as we,b as be,u as Q,c as Ee,g as he,d as ke}from"./category-22eeb612.js";import{u as Ce}from"./request-a37452c7.js";import{f as Ve}from"./style-88a0cfcf.js";import{E as v}from"./el-message-a9712316.js";import{_ as xe}from"./_plugin-vue_export-helper-c27b6911.js";import"./use-dialog-40ef8000.js";import"./index-d4f2f151.js";import"./aria-60e0cdc6.js";import"./castArray-3c50f72c.js";import"./_baseClone-0431f2ee.js";import"./cloneDeep-d66026bf.js";import"./index-43b7d441.js";import"./strings-95c61f65.js";const De=["src"],Fe={class:"demo-drawer__footer",style:{"text-align":"right"}},Ie={key:0,class:"cropper-section"},Ue={class:"crop-area"},$e={class:"crop-btn"},Be={__name:"Form",props:{editid:{type:Number,default:0}},emits:["close"],setup(A,{emit:D}){const p=A,w=D,g=n("insert"),b=n(!1),F=n(null),o=n({id:0,parent_id:0}),E=n([]);H(async()=>{if(p.editid){let l=await we(p.editid);l.code===200&&(o.value=l.data,g.value="update")}let s=await be();s.code===200&&(E.value=s.data.map(l=>({label:l.name,value:l.id})))});const $=de({username:[{required:!0,message:"管理員帳號必填",trigger:"blur"}]}),u=n({show:!1,img:null,ratio:2.6}),I=n(null),B=s=>s.type!=="image/jpeg"&&s.type!=="image/png"&&s.type!=="image/jpg"?(v.error("圖片格式只能是jpeg/png/jpg!"),!1):(u.value.show=!0,u.value.img=URL.createObjectURL(s),!1),r=()=>{const{canvas:s}=I.value.getResult();if(s){const l=new FormData;s.toBlob(async m=>{let i=new File([m],"image.jpg");l.append("fileType","IMAGE"),l.append("file",i),u.value.show=!1,b.value=!0;let y=await Ce("/cate/uploadImage",l);y.code===200?(o.value.imageurl=y.data,v.success("上傳成功")):v.error("上傳失敗"),b.value=!1},"image/jpeg")}},_=()=>{u.value.show=!1},U=()=>{w("close",!1)},R=s=>{s&&s.validate(async l=>{if(l){let m,i;g.value==="update"?(o.value.id=p.editid,m=await Q(o.value),i="修改成功."):(m=await Ee(o.value),i="新增成功."),m.code===200&&(v({message:i,type:"success"}),w("close",!0))}else return v({message:"操作失敗.",type:"error"}),!1})};return(s,l)=>{const m=G,i=_e,y=ge,j=ye,T=S,M=ve,N=fe,h=q,z=pe;return d(),V(L,null,[c("div",null,[e(N,{ref_key:"formRef",ref:F,model:o.value,"status-icon":"",rules:$,"label-width":"120px"},{default:a(()=>[e(i,{label:"分類名稱",prop:"name"},{default:a(()=>[o.value.parent_id===0?(d(),C(m,{key:0,modelValue:o.value.name,"onUpdate:modelValue":l[0]||(l[0]=t=>o.value.name=t),type:"text"},null,8,["modelValue"])):(d(),C(m,{key:1,modelValue:o.value.name,"onUpdate:modelValue":l[1]||(l[1]=t=>o.value.name=t),rows:4,type:"textarea"},null,8,["modelValue"]))]),_:1}),e(i,{label:"上級分類"},{default:a(()=>[e(j,{modelValue:o.value.parent_id,"onUpdate:modelValue":l[2]||(l[2]=t=>o.value.parent_id=t),class:"m-2",placeholder:"Select"},{default:a(()=>[e(y,{label:"最上層",value:0}),(d(!0),V(L,null,ue(E.value,t=>(d(),C(y,{key:t.value,label:t.label,value:t.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),o.value.parent_id===0?(d(),C(i,{key:0,label:"類別圖片",prop:"imageurl"},{default:a(()=>[e(M,{class:"avatar-uploader",action:"#",accept:"image/*","show-file-list":!1,"auto-upload":!0,"before-upload":t=>B(t)},{default:a(()=>[o.value.imageurl?(d(),V("img",{key:0,src:o.value.imageurl,class:"avatar",id:"imageurl"},null,8,De)):(d(),C(T,{key:1,class:"avatar-uploader-icon"},{default:a(()=>[e(x(K))]),_:1}))]),_:1},8,["before-upload"])]),_:1})):O("",!0)]),_:1},8,["model","rules"]),c("div",Fe,[e(h,{onClick:U},{default:a(()=>[f("取消")]),_:1}),e(h,{type:"primary",loading:b.value,onClick:l[3]||(l[3]=t=>R(F.value))},{default:a(()=>[f(P(b.value?"提交中 ...":"確認"),1)]),_:1},8,["loading"])])]),c("div",null,[e(z,{modelValue:u.value.show,"onUpdate:modelValue":l[4]||(l[4]=t=>u.value.show=t),title:"Tips","before-close":_},{default:a(()=>[u.value.show?(d(),V("div",Ie,[c("div",Ue,[e(x(Ve),{class:"cropper",ref_key:"myCrop",ref:I,src:u.value.img,"stencil-props":{aspectRatio:u.value.ratio},"auto-zoom":!0},null,8,["src","stencil-props"])]),c("div",$e,[e(h,{type:"primary",size:"small",text:"",onClick:_},{default:a(()=>[f("取消")]),_:1}),e(h,{type:"primary",size:"small",onClick:r},{default:a(()=>[f("剪裁")]),_:1})])])):O("",!0)]),_:1},8,["modelValue"])])],64)}}},Re=xe(Be,[["__scopeId","data-v-9d62c9e0"]]),je={class:"main"},Te={class:"breadcrumb-section"},Me=c("a",{href:"/"},"產品類別",-1),Ne=["onDblclick"],pa={__name:"Index",setup(A){const D=n([]);n("");const p=n(!1);n(!1),H(()=>{w()});const w=async()=>{let r=await he();r.code===200&&(D.value=r.data)},g=n(0),b=r=>{g.value=r},F=async r=>{(await Q(r)).code===200?(v({message:"修改成功.",type:"success"}),w()):v({message:"修改失敗.",type:"error"}),g.value=0},o=()=>{g.value=0},E=n(0),$=()=>{E.value=0,p.value=!0},u=r=>{E.value=r,p.value=!0},I=r=>{Z.confirm("確認刪除此紀錄?").then(async()=>{(await ke(r)).code===200?(v({message:"刪除成功.",type:"success"}),w()):v({message:"刪除失敗.",type:"error"})}).catch(()=>{})},B=r=>{p.value=!1,r&&w()};return(r,_)=>{const U=ee,R=ae,s=q,l=le,m=G,i=S,y=se,j=re,T=ne,M=oe,N=te,h=Y,z=ie("focus");return d(),V(L,null,[c("div",je,[c("div",Te,[c("div",null,[e(R,{separator:"/"},{default:a(()=>[e(U,null,{default:a(()=>[f(" 經銷系統 ")]),_:1}),e(U,null,{default:a(()=>[Me]),_:1})]),_:1})]),c("div",null,[e(s,{type:"primary",icon:x(K),onClick:$},{default:a(()=>[f("新增產品類別")]),_:1},8,["icon"])])]),e(N,{"body-style":{padding:"0px"}},{default:a(()=>[e(M,{data:D.value,style:{width:"100%"},"row-key":"id","default-expand-all":""},{default:a(()=>[e(l,{prop:"name",label:"類別名稱"}),e(l,{label:"排序",width:"80"},{default:a(t=>[t.row.id!==g.value?(d(),V("div",{key:0,onDblclick:k=>b(t.row.id)},P(t.row.sort_order),41,Ne)):ce((d(),C(m,{key:1,modelValue:t.row.sort_order,"onUpdate:modelValue":k=>t.row.sort_order=k,style:{width:"50px"},onKeyup:me(k=>F(t.row),["enter"]),onBlur:_[0]||(_[0]=k=>o()),autoFocus:!0},null,8,["modelValue","onUpdate:modelValue","onKeyup"])),[[z,t.row.id===g.value]])]),_:1}),e(l,{label:"其他項目",width:"105",fixed:"right"},{default:a(t=>[e(T,null,{dropdown:a(()=>[e(j,null,{default:a(()=>[e(y,{icon:x(W),onClick:k=>u(t.row.id)},{default:a(()=>[f("修改分類")]),_:2},1032,["icon","onClick"]),e(y,{icon:x(J),onClick:k=>I(t.row.id)},{default:a(()=>[f("刪除分類")]),_:2},1032,["icon","onClick"])]),_:2},1024)]),default:a(()=>[e(s,{type:"danger"},{default:a(()=>[f(" 操作"),e(i,{class:"el-icon--right"},{default:a(()=>[e(x(X))]),_:1})]),_:1})]),_:2},1024)]),_:1})]),_:1},8,["data"])]),_:1})]),c("div",null,[e(h,{ref:"drawerRef",modelValue:p.value,"onUpdate:modelValue":_[1]||(_[1]=t=>p.value=t),"destroy-on-close":!0,title:"新增產品類別",direction:"rtl",size:"50%"},{default:a(()=>[e(Re,{editid:E.value,onClose:B},null,8,["editid"])]),_:1},8,["modelValue"])])],64)}}};export{pa as default}; diff --git a/nginx/html/admin/assets/Index-de02c144.js b/nginx/html/admin/assets/Index-de02c144.js new file mode 100644 index 0000000..c992478 --- /dev/null +++ b/nginx/html/admin/assets/Index-de02c144.js @@ -0,0 +1 @@ +import{G as b}from"./el-button-ca4abaee.js";import{a as x,b as h,E as C}from"./el-breadcrumb-item-422ecc35.js";import{C as E}from"./ckeditor-b26c301c.js";import{g as S,u as k}from"./article-e7327317.js";import{E as d}from"./el-message-5778b677.js";import{_ as I}from"./_plugin-vue_export-helper-c27b6911.js";import{q as c,z as B,L as w,o as V,f as N,M as o,Q as e,w as t,N as m,a as R,a7 as L,a8 as T}from"./index-fb87886b.js";import"./request-60ae96d2.js";import"./aria-60e0cdc6.js";const z=a=>(L("data-v-8915fd74"),a=a(),T(),a),A={class:"main"},F={class:"breadcrumb-section"},M=z(()=>o("a",{href:"/"},"公司簡介",-1)),U={style:{padding:"10px"}},q={class:"card-footer"},G={__name:"Index",setup(a){const _=E,s=c(""),p=c({simpleUpload:{uploadUrl:"https://prodio.zltest.com.tw/adminapi/article/uploadImage",headers:{"X-CSRF-TOKEN":"CSFR-Token"}},image:{resize:!0,toolbar:["imageTextAlternative","|","imageStyle:alignLeft","imageStyle:alignRight","|","imageStyle:alignBlockLeft","imageStyle:block","imageStyle:alignBlockRight"],styles:["full","alignLeft","alignRight"]}});B(async()=>{let r=await S(1);r.code===200&&(s.value=r.data.content)});const u=async()=>(await k({id:1,content:s.value})).code===200?d({message:"更新成功",type:"success"}):d({message:"更新失敗",type:"error"});return(r,l)=>{const n=x,f=h,g=w("ckeditor"),v=b,y=C;return V(),N("div",A,[o("div",F,[o("div",null,[e(f,{separator:"/"},{default:t(()=>[e(n,null,{default:t(()=>[m(" 經銷系統 ")]),_:1}),e(n,null,{default:t(()=>[M]),_:1})]),_:1})])]),e(y,{"body-style":{padding:"0px"}},{default:t(()=>[o("div",U,[e(g,{editor:R(_),modelValue:s.value,"onUpdate:modelValue":l[0]||(l[0]=i=>s.value=i),config:p.value},null,8,["editor","modelValue","config"])]),o("div",q,[e(v,{type:"primary",onClick:l[1]||(l[1]=i=>u())},{default:t(()=>[m("確認")]),_:1})])]),_:1})])}}},P=I(G,[["__scopeId","data-v-8915fd74"]]);export{P as default}; diff --git a/nginx/html/admin/assets/Index-debd6a46.js b/nginx/html/admin/assets/Index-debd6a46.js new file mode 100644 index 0000000..48c38a9 --- /dev/null +++ b/nginx/html/admin/assets/Index-debd6a46.js @@ -0,0 +1 @@ +import{p as L,E as z,G as M,H as Z,F as ee,b as le}from"./el-button-ca4abaee.js";import{E as ae}from"./el-drawer-d9790fe0.js";import{E as oe}from"./el-message-box-e43658fb.js";import{E as N,a as te,b as se}from"./el-breadcrumb-item-422ecc35.js";import{E as re,a as ne}from"./el-table-column-7db11110.js";import"./el-tag-6a2dc6cc.js";import"./el-tooltip-4ed993c7.js";import"./el-scrollbar-56d71f90.js";import{E as ie,a as ue,b as de}from"./el-dropdown-item-56611d31.js";import"./el-icon-08628b36.js";import{E as A}from"./el-input-df8c5b16.js";import{E as pe}from"./el-image-viewer-3854b5c5.js";import{q as u,z as q,o as b,f as D,M as p,Q as e,w as l,c as K,a as k,N as v,O as P,V as ce,F as H,v as me,a3 as _e,a4 as fe,D as ve,a5 as ge}from"./index-fb87886b.js";import{E as ye}from"./el-dialog-1ee3a857.js";import{E as we,a as be}from"./el-form-item-85aab49a.js";import{E as Ee}from"./el-progress-2aaabad5.js";import{a as S,u as he}from"./request-60ae96d2.js";import{f as Ve}from"./style-401f4ec6.js";import{E as g}from"./el-message-5778b677.js";import{_ as ke}from"./_plugin-vue_export-helper-c27b6911.js";import"./use-dialog-3e44040d.js";import"./index-de3a95d3.js";import"./aria-60e0cdc6.js";import"./castArray-59d69fd8.js";import"./_baseClone-732ede82.js";import"./cloneDeep-3d78d7c6.js";const Ce=async()=>S("/supplier/getSupplierList","GET"),xe=async c=>S("/supplier/getSupplier","GET",{id:c}),De=async c=>S("/supplier/deleteSupplier","GET",{id:c}),Q=async c=>S("/supplier/updateSupplier","POST",c),Se=async c=>S("/supplier/addSupplier","POST",c);const Ie=["src"],Fe={class:"demo-drawer__footer",style:{"text-align":"right"}},Te={key:0,class:"cropper-section"},Ue={class:"crop-area"},Oe={class:"crop-btn"},$e={__name:"Form",props:{editid:{type:Number,default:0}},emits:["close"],setup(c,{emit:T}){const E=c,y=T,C=u("insert"),_=u(!1),I=u(null),t=u({id:0});q(async()=>{if(E.editid){let a=await xe(E.editid);a.code===200&&(t.value=a.data,C.value="update")}});const U=u({imageurl:[{required:!0,message:"供應商LOGO必需要有",trigger:"blur"}],name:[{required:!0,message:"供應商名稱必填",trigger:"blur"}]}),s=u({show:!1,img:null,ratio:3.012}),F=u(null),O=a=>a.type!=="image/jpeg"&&a.type!=="image/png"&&a.type!=="image/jpg"?(g.error("圖片格式只能是jpeg/png/jpg!"),!1):(s.value.show=!0,s.value.img=URL.createObjectURL(a),!1),$=()=>{const{canvas:a}=F.value.getResult();if(a){const o=new FormData;a.toBlob(async f=>{let m=new File([f],"image.jpg");o.append("fileType","IMAGE"),o.append("file",m),s.value.show=!1,_.value=!0;let n=await he("/supplier/uploadSupplierImage",o);n.code===200?(t.value.imageurl=n.data,g.success("上傳成功")):g.error("上傳失敗"),_.value=!1},"image/jpeg")}},h=()=>{s.value.show=!1},B=()=>{y("close",!1)},r=a=>{a&&a.validate(async o=>{if(o){let f,m;C.value==="update"?(t.value.id=E.editid,f=await Q(t.value),m="修改成功."):(f=await Se(t.value),m="新增成功."),f.code===200&&(g({message:m,type:"success"}),y("close",!0))}else return g({message:"操作失敗.",type:"error"}),!1})};return(a,o)=>{const f=z,m=Ee,n=we,x=A,j=be,G=N,w=M,R=ye;return b(),D(H,null,[p("div",null,[e(G,null,{default:l(()=>[e(j,{ref_key:"formRef",ref:I,model:t.value,"status-icon":"",rules:U.value,"label-width":"120px"},{default:l(()=>[e(n,{label:"供應商LOGO",prop:"imageurl"},{default:l(()=>[e(m,{class:"avatar-uploader",action:"#",accept:"image/*","show-file-list":!1,"auto-upload":!0,"on-success":a.handleAvatarSuccess,"before-upload":d=>O(d)},{default:l(()=>[t.value.imageurl?(b(),D("img",{key:0,src:t.value.imageurl,class:"avatar",id:"imageurl"},null,8,Ie)):(b(),K(f,{key:1,class:"avatar-uploader-icon"},{default:l(()=>[e(k(L))]),_:1}))]),_:1},8,["on-success","before-upload"])]),_:1}),e(n,{label:"供應商名稱(繁)",prop:"name1"},{default:l(()=>[e(x,{modelValue:t.value.name1,"onUpdate:modelValue":o[0]||(o[0]=d=>t.value.name1=d)},null,8,["modelValue"])]),_:1}),e(n,{label:"供應商名稱(簡)",prop:"name2"},{default:l(()=>[e(x,{modelValue:t.value.name2,"onUpdate:modelValue":o[1]||(o[1]=d=>t.value.name2=d)},null,8,["modelValue"])]),_:1}),e(n,{label:"供應商名稱(英)",prop:"name3"},{default:l(()=>[e(x,{modelValue:t.value.name3,"onUpdate:modelValue":o[2]||(o[2]=d=>t.value.name3=d)},null,8,["modelValue"])]),_:1})]),_:1},8,["model","rules"])]),_:1}),p("div",Fe,[e(w,{onClick:B},{default:l(()=>[v("取消")]),_:1}),e(w,{type:"primary",loading:_.value,onClick:o[3]||(o[3]=d=>r(I.value))},{default:l(()=>[v(P(_.value?"處理中...":"確認"),1)]),_:1},8,["loading"])])]),p("div",null,[e(R,{modelValue:s.value.show,"onUpdate:modelValue":o[4]||(o[4]=d=>s.value.show=d),title:"Tips","before-close":h},{default:l(()=>[s.value.show?(b(),D("div",Te,[p("div",Ue,[e(k(Ve),{class:"cropper",ref_key:"myCrop",ref:F,src:s.value.img,"stencil-props":{aspectRatio:s.value.ratio},"auto-zoom":!0},null,8,["src","stencil-props"])]),p("div",Oe,[e(w,{type:"primary",size:"small",text:"",onClick:h},{default:l(()=>[v("取消")]),_:1}),e(w,{type:"primary",size:"small",onClick:$},{default:l(()=>[v("剪裁")]),_:1})])])):ce("",!0)]),_:1},8,["modelValue"])])],64)}}},Be=ke($e,[["__scopeId","data-v-a1dc5295"]]),je={class:"main"},Ge={class:"breadcrumb-section"},Re=p("a",{href:"/"},"供應商列表",-1),Le=["onDblclick"],cl={__name:"Index",setup(c){const T=me({page:1,pageSize:10});_e(T),u(0);const E=u(!1),y=u(!1),C=u([]);q(()=>{_()});const _=async()=>{E.value=!0;let r=await Ce();r.code===200&&(C.value=r.data),E.value=!1},I=()=>{h.value=0,y.value=!0},t=r=>{h.value=r,y.value=!0},U=r=>{oe.confirm("確認刪除此紀錄?").then(async()=>{(await De(r)).code===200?(g({message:"刪除成功.",type:"success"}),_()):g({message:"刪除失敗.",type:"error"})}).catch(()=>{})},s=u(0),F=r=>{s.value=r},O=async r=>{(await Q(r)).code===200?(g({message:"修改成功.",type:"success"}),_()):g({message:"修改失敗.",type:"error"}),s.value=0},$=()=>{s.value=0},h=u(0),B=r=>{y.value=!1,r&&_()};return(r,a)=>{const o=te,f=se,m=M,n=re,x=pe,j=A,G=z,w=ie,R=ue,d=de,J=ne,W=N,X=ae,Y=fe("focus");return b(),D(H,null,[p("div",je,[p("div",Ge,[p("div",null,[e(f,{separator:"/"},{default:l(()=>[e(o,null,{default:l(()=>[v(" 首頁 ")]),_:1}),e(o,null,{default:l(()=>[Re]),_:1})]),_:1})]),p("div",null,[e(m,{type:"primary",icon:k(L),onClick:I},{default:l(()=>[v(" 新增供應商 ")]),_:1},8,["icon"])])]),e(W,{"body-style":{padding:"0px"}},{default:l(()=>[e(J,{data:C.value,style:{width:"100%"}},{default:l(()=>[e(n,{prop:"id",label:"#",width:"50"}),e(n,{label:"供應商LOGO"},{default:l(i=>[e(x,{style:{width:"150px",height:"80px"},src:i.row.imageurl,fit:"cover",crossorigin:null},null,8,["src"])]),_:1}),e(n,{prop:"name1",label:"供應商名稱(繁)"}),e(n,{prop:"name2",label:"供應商名稱(簡)"}),e(n,{prop:"name3",label:"供應商名稱(英)"}),e(n,{prop:"sort",label:"排序",width:"80"},{default:l(i=>[i.row.id!==s.value?(b(),D("div",{key:0,onDblclick:V=>F(i.row.id)},P(i.row.sort_order),41,Le)):ve((b(),K(j,{key:1,modelValue:i.row.sort_order,"onUpdate:modelValue":V=>i.row.sort_order=V,style:{width:"50px"},onKeyup:ge(V=>O(i.row),["enter"]),onBlur:a[0]||(a[0]=V=>$()),autoFocus:!0},null,8,["modelValue","onUpdate:modelValue","onKeyup"])),[[Y,i.row.id===s.value]])]),_:1}),e(n,{label:"操作",width:"105",fixed:"right"},{default:l(i=>[e(d,null,{dropdown:l(()=>[e(R,null,{default:l(()=>[e(w,{icon:k(Z),onClick:V=>t(i.row.id)},{default:l(()=>[v("修改")]),_:2},1032,["icon","onClick"]),e(w,{icon:k(ee),onClick:V=>U(i.row.id)},{default:l(()=>[v("刪除")]),_:2},1032,["icon","onClick"])]),_:2},1024)]),default:l(()=>[e(m,{type:"danger"},{default:l(()=>[v(" 操作"),e(G,{class:"el-icon--right"},{default:l(()=>[e(k(le))]),_:1})]),_:1})]),_:2},1024)]),_:1})]),_:1},8,["data"])]),_:1})]),p("div",null,[e(X,{ref:"drawerRef",modelValue:y.value,"onUpdate:modelValue":a[1]||(a[1]=i=>y.value=i),"destroy-on-close":!0,title:"首頁輪撥",direction:"rtl",size:"50%"},{default:l(()=>[e(Be,{editid:h.value,onClose:B},null,8,["editid"])]),_:1},8,["modelValue"])])],64)}}};export{cl as default}; diff --git a/nginx/html/admin/assets/Index-e91b796f.js b/nginx/html/admin/assets/Index-e91b796f.js new file mode 100644 index 0000000..d7c0c0a --- /dev/null +++ b/nginx/html/admin/assets/Index-e91b796f.js @@ -0,0 +1 @@ +import{p as N,E as G,G as O,H as Z,F as ee,b as ae}from"./el-button-6b66070a.js";import{E as le}from"./el-drawer-70a11b9f.js";import{E as oe}from"./el-message-box-e23ec1aa.js";import{E as L,a as te,b as se}from"./el-breadcrumb-item-0eb7853a.js";import{E as re,a as ne}from"./el-table-column-d43fc778.js";import"./el-tag-c9faf503.js";import"./el-tooltip-4ed993c7.js";import"./el-scrollbar-68edc4d7.js";import{E as ie,a as ue,b as de}from"./el-dropdown-item-9e1be9b9.js";import"./el-icon-08628b36.js";import{E as q}from"./el-input-e550db6e.js";import{E as ce}from"./el-image-viewer-f695cd1a.js";import{q as d,z as K,o as v,f as B,M as m,Q as e,w as a,c as S,a as h,N as g,O as P,V as me,F as H,v as pe,a3 as _e,a4 as fe,D as ve,a5 as ge}from"./index-3ef4d3eb.js";import{E as ye}from"./el-dialog-3f9d9ba4.js";import{E as we,a as be}from"./el-form-item-0317a247.js";import{E as he}from"./el-progress-dc506117.js";import{a as D,u as Ee}from"./request-63584e50.js";import{f as xe}from"./style-6c2773cc.js";import{E as y}from"./el-message-76e8eab1.js";import{_ as ke}from"./_plugin-vue_export-helper-c27b6911.js";import"./use-dialog-bab1b29c.js";import"./index-a4d0b5b6.js";import"./aria-60e0cdc6.js";import"./castArray-3bec7949.js";import"./_baseClone-bf299fb6.js";import"./cloneDeep-8bc5fe7b.js";const Be=async()=>D("/index/getBannerList","GET"),Ce=async p=>D("/index/getBanner","GET",{id:p}),Ve=async p=>D("/index/deleteBanner","GET",{id:p}),Q=async p=>D("/index/updateBanner","POST",p),De=async p=>D("/index/addBanner","POST",p);const Ie=["src"],Fe=["src"],Te={class:"demo-drawer__footer",style:{"text-align":"right"}},Ue={key:0,class:"cropper-section"},$e={class:"crop-area"},je={class:"crop-btn"},Re={__name:"Form",props:{editid:{type:Number,default:0}},emits:["close"],setup(p,{emit:U}){const E=p,w=U,C=d("insert"),f=d(!1),I=d(null),s=d({id:0});K(async()=>{if(E.editid){let l=await Ce(E.editid);l.code===200&&(s.value=l.data,C.value="update")}});const $=d({imageurl1:[{required:!0,message:"電腦版背景圖必填",trigger:"blur"}],imageurl2:[{required:!0,message:"手機版背景圖必填",trigger:"blur"}]}),o=d({show:!1,img:null,ratio:2}),F=d(null),T=(l,t)=>l.type!=="image/jpeg"&&l.type!=="image/png"&&l.type!=="image/jpg"?(y.error("圖片格式只能是jpeg/png/jpg!"),!1):(o.value.show=!0,o.value.img=URL.createObjectURL(l),t===1?(o.value.type=1,o.value.ratio=2):(o.value.type=2,o.value.ratio=.5),!1),j=()=>{const{canvas:l}=F.value.getResult();if(l){const t=new FormData;l.toBlob(async _=>{let u=new File([_],"image.jpg");t.append("fileType","IMAGE"),t.append("file",u),o.value.show=!1,f.value=!0;let i=await Ee("/index/uploadBannerImage",t);i.code===200?(o.value.type===1?s.value.imageurl1=i.data:s.value.imageurl2=i.data,y.success("上傳成功")):y.error("上傳失敗"),f.value=!1},"image/jpeg")}},x=()=>{o.value.show=!1},R=()=>{w("close",!1)},n=l=>{l&&l.validate(async t=>{if(t){let _,u;C.value==="update"?(s.value.id=E.editid,_=await Q(s.value),u="修改成功."):(_=await De(s.value),u="新增成功."),_.code===200&&(y({message:u,type:"success"}),w("close",!0))}else return y({message:"操作失敗.",type:"error"}),!1})};return(l,t)=>{const _=q,u=we,i=G,V=he,z=be,A=L,b=O,M=ye;return v(),B(H,null,[m("div",null,[e(A,null,{default:a(()=>[e(z,{ref_key:"formRef",ref:I,model:s.value,"status-icon":"",rules:$.value,"label-width":"120px"},{default:a(()=>[e(u,{label:"標語"},{default:a(()=>[e(_,{modelValue:s.value.slogon,"onUpdate:modelValue":t[0]||(t[0]=c=>s.value.slogon=c)},null,8,["modelValue"])]),_:1}),e(u,{label:"描述"},{default:a(()=>[e(_,{modelValue:s.value.describe,"onUpdate:modelValue":t[1]||(t[1]=c=>s.value.describe=c)},null,8,["modelValue"])]),_:1}),e(u,{label:"電腦版背景圖",prop:"imageurl1"},{default:a(()=>[e(V,{class:"avatar-uploader",action:"#",accept:"image/*","show-file-list":!1,"auto-upload":!0,"on-success":l.handleAvatarSuccess,"before-upload":c=>T(c,1)},{default:a(()=>[s.value.imageurl1?(v(),B("img",{key:0,src:s.value.imageurl1,class:"avatar1",id:"imageurl1"},null,8,Ie)):(v(),S(i,{key:1,class:"avatar-uploader-icon1"},{default:a(()=>[e(h(N))]),_:1}))]),_:1},8,["on-success","before-upload"])]),_:1}),e(u,{label:"手機版背景圖",prop:"imageurl2"},{default:a(()=>[e(V,{class:"avatar-uploader",action:"#",accept:"image/*","show-file-list":!1,"auto-upload":!0,"on-success":l.handleAvatarSuccess,"before-upload":c=>T(c,2)},{default:a(()=>[s.value.imageurl2?(v(),B("img",{key:0,src:s.value.imageurl2,class:"avatar2",id:"imageurl1"},null,8,Fe)):(v(),S(i,{key:1,class:"avatar-uploader-icon2"},{default:a(()=>[e(h(N))]),_:1}))]),_:1},8,["on-success","before-upload"])]),_:1})]),_:1},8,["model","rules"])]),_:1}),m("div",Te,[e(b,{onClick:R},{default:a(()=>[g("取消")]),_:1}),e(b,{type:"primary",loading:f.value,onClick:t[2]||(t[2]=c=>n(I.value))},{default:a(()=>[g(P(f.value?"處理中...":"確認"),1)]),_:1},8,["loading"])])]),m("div",null,[e(M,{modelValue:o.value.show,"onUpdate:modelValue":t[3]||(t[3]=c=>o.value.show=c),title:"Tips","before-close":x},{default:a(()=>[o.value.show?(v(),B("div",Ue,[m("div",$e,[e(h(xe),{class:"cropper",ref_key:"myCrop",ref:F,src:o.value.img,"stencil-props":{aspectRatio:o.value.ratio},"auto-zoom":!0},null,8,["src","stencil-props"])]),m("div",je,[e(b,{type:"primary",size:"small",text:"",onClick:x},{default:a(()=>[g("取消")]),_:1}),e(b,{type:"primary",size:"small",onClick:j},{default:a(()=>[g("剪裁")]),_:1})])])):me("",!0)]),_:1},8,["modelValue"])])],64)}}},ze=ke(Re,[["__scopeId","data-v-847aa68b"]]),Ae={class:"main"},Me={class:"breadcrumb-section"},Ne=m("a",{href:"/"},"首頁輪播列表",-1),Se=["onDblclick"],pa={__name:"Index",setup(p){const U=pe({page:1,pageSize:10});_e(U),d(0);const E=d(!1),w=d(!1),C=d([]);K(()=>{f()});const f=async()=>{E.value=!0;let n=await Be();n.code===200&&(C.value=n.data),E.value=!1},I=()=>{x.value=0,w.value=!0},s=n=>{x.value=n,w.value=!0},$=n=>{oe.confirm("確認刪除此紀錄?").then(async()=>{(await Ve(n)).code===200?(y({message:"刪除成功.",type:"success"}),f()):y({message:"刪除失敗.",type:"error"})}).catch(()=>{})},o=d(0),F=n=>{o.value=n},T=async n=>{(await Q(n)).code===200?(y({message:"修改成功.",type:"success"}),f()):y({message:"修改失敗.",type:"error"}),o.value=0},j=()=>{o.value=0},x=d(0),R=n=>{w.value=!1,n&&f()};return(n,l)=>{const t=te,_=se,u=O,i=re,V=ce,z=q,A=G,b=ie,M=ue,c=de,J=ne,W=L,X=le,Y=fe("focus");return v(),B(H,null,[m("div",Ae,[m("div",Me,[m("div",null,[e(_,{separator:"/"},{default:a(()=>[e(t,null,{default:a(()=>[g(" 首頁 ")]),_:1}),e(t,null,{default:a(()=>[Ne]),_:1})]),_:1})]),m("div",null,[e(u,{type:"primary",icon:h(N),onClick:I},{default:a(()=>[g(" 新增輪播 ")]),_:1},8,["icon"])])]),e(W,{"body-style":{padding:"0px"}},{default:a(()=>[e(J,{data:C.value,style:{width:"100%"}},{default:a(()=>[e(i,{prop:"id",label:"#",width:"50"}),e(i,{label:"電腦版背景"},{default:a(r=>[e(V,{style:{width:"100px",height:"50px"},src:r.row.imageurl1,fit:"cover",crossorigin:null},null,8,["src"])]),_:1}),e(i,{label:"手機版背景"},{default:a(r=>[e(V,{style:{width:"50px",height:"100px"},src:r.row.imageurl2,fit:"cover",crossorigin:null},null,8,["src"])]),_:1}),e(i,{prop:"slogon",label:"標題"}),e(i,{prop:"describe",label:"描述"}),e(i,{prop:"sort_order",label:"排序",width:"80"},{default:a(r=>[r.row.id!==o.value?(v(),B("div",{key:0,onDblclick:k=>F(r.row.id)},P(r.row.sort_order),41,Se)):ve((v(),S(z,{key:1,modelValue:r.row.sort_order,"onUpdate:modelValue":k=>r.row.sort_order=k,style:{width:"50px"},onKeyup:ge(k=>T(r.row),["enter"]),onBlur:l[0]||(l[0]=k=>j()),autoFocus:!0},null,8,["modelValue","onUpdate:modelValue","onKeyup"])),[[Y,r.row.id===o.value]])]),_:1}),e(i,{label:"其他項目",width:"105",fixed:"right"},{default:a(r=>[e(c,null,{dropdown:a(()=>[e(M,null,{default:a(()=>[e(b,{icon:h(Z),onClick:k=>s(r.row.id)},{default:a(()=>[g("修改")]),_:2},1032,["icon","onClick"]),e(b,{icon:h(ee),onClick:k=>$(r.row.id)},{default:a(()=>[g("刪除")]),_:2},1032,["icon","onClick"])]),_:2},1024)]),default:a(()=>[e(u,{type:"danger"},{default:a(()=>[g(" 操作"),e(A,{class:"el-icon--right"},{default:a(()=>[e(h(ae))]),_:1})]),_:1})]),_:2},1024)]),_:1})]),_:1},8,["data"])]),_:1})]),m("div",null,[e(X,{ref:"drawerRef",modelValue:w.value,"onUpdate:modelValue":l[1]||(l[1]=r=>w.value=r),"destroy-on-close":!0,title:"首頁輪撥",direction:"rtl",size:"50%"},{default:a(()=>[e(ze,{editid:x.value,onClose:R},null,8,["editid"])]),_:1},8,["modelValue"])])],64)}}};export{pa as default}; diff --git a/nginx/html/admin/assets/Index-ef5bde8a.css b/nginx/html/admin/assets/Index-ef5bde8a.css new file mode 100644 index 0000000..ecec225 --- /dev/null +++ b/nginx/html/admin/assets/Index-ef5bde8a.css @@ -0,0 +1 @@ +[data-v-140448bb] .ck-editor__editable_inline{height:400px}.imgGroup[data-v-ae4747d8]{margin:10px}.imgGroup .el-image[data-v-ae4747d8]{margin:4px} diff --git a/nginx/html/admin/assets/Index-fbf9fa1b.js b/nginx/html/admin/assets/Index-fbf9fa1b.js new file mode 100644 index 0000000..20c9bcc --- /dev/null +++ b/nginx/html/admin/assets/Index-fbf9fa1b.js @@ -0,0 +1 @@ +import{p as K,E as S,G as q,H as W,F as J,b as X}from"./el-button-7b435908.js";import{E as Y}from"./el-drawer-1ab47bb4.js";import{E as Z}from"./el-message-box-9fd7f437.js";import{a as ee,b as ae,E as te}from"./el-breadcrumb-item-0c010d2b.js";import{E as le,a as oe}from"./el-table-column-32453fe2.js";import"./el-tag-6bb7020c.js";import"./el-tooltip-4ed993c7.js";import"./el-scrollbar-654ee4cf.js";import{E as se,a as re,b as ne}from"./el-dropdown-item-9b77b9ae.js";import"./el-icon-08628b36.js";import{E as G}from"./el-input-5a355fec.js";import{q as n,z as H,v as de,o as d,f as V,M as c,Q as e,w as a,c as C,F as L,W as ue,a as x,V as O,N as f,O as P,a4 as ie,D as ce,a5 as me}from"./index-11843334.js";import{E as pe}from"./el-dialog-50d8753f.js";import{E as _e,a as fe}from"./el-form-item-563dc716.js";import{E as ve}from"./el-progress-6b890862.js";import{E as ge,a as ye}from"./el-select-e0ea5220.js";import{a as we,b as be,u as Q,c as Ee,g as he,d as ke}from"./category-7a45a2c5.js";import{u as Ce}from"./request-79887494.js";import{f as Ve}from"./style-f6ce458e.js";import{E as v}from"./el-message-c3316f84.js";import{_ as xe}from"./_plugin-vue_export-helper-c27b6911.js";import"./use-dialog-90edb7a0.js";import"./index-58150f7d.js";import"./aria-60e0cdc6.js";import"./castArray-80791487.js";import"./_baseClone-07904f92.js";import"./cloneDeep-37a2db27.js";import"./index-804a1997.js";import"./strings-c810e853.js";const De=["src"],Fe={class:"demo-drawer__footer",style:{"text-align":"right"}},Ie={key:0,class:"cropper-section"},Ue={class:"crop-area"},$e={class:"crop-btn"},Be={__name:"Form",props:{editid:{type:Number,default:0}},emits:["close"],setup(A,{emit:D}){const p=A,w=D,g=n("insert"),b=n(!1),F=n(null),o=n({id:0,parent_id:0}),E=n([]);H(async()=>{if(p.editid){let l=await we(p.editid);l.code===200&&(o.value=l.data,g.value="update")}let s=await be();s.code===200&&(E.value=s.data.map(l=>({label:l.name,value:l.id})))});const $=de({username:[{required:!0,message:"管理員帳號必填",trigger:"blur"}]}),u=n({show:!1,img:null,ratio:2.6}),I=n(null),B=s=>s.type!=="image/jpeg"&&s.type!=="image/png"&&s.type!=="image/jpg"?(v.error("圖片格式只能是jpeg/png/jpg!"),!1):(u.value.show=!0,u.value.img=URL.createObjectURL(s),!1),r=()=>{const{canvas:s}=I.value.getResult();if(s){const l=new FormData;s.toBlob(async m=>{let i=new File([m],"image.jpg");l.append("fileType","IMAGE"),l.append("file",i),u.value.show=!1,b.value=!0;let y=await Ce("/cate/uploadImage",l);y.code===200?(o.value.imageurl=y.data,v.success("上傳成功")):v.error("上傳失敗"),b.value=!1},"image/jpeg")}},_=()=>{u.value.show=!1},U=()=>{w("close",!1)},R=s=>{s&&s.validate(async l=>{if(l){let m,i;g.value==="update"?(o.value.id=p.editid,m=await Q(o.value),i="修改成功."):(m=await Ee(o.value),i="新增成功."),m.code===200&&(v({message:i,type:"success"}),w("close",!0))}else return v({message:"操作失敗.",type:"error"}),!1})};return(s,l)=>{const m=G,i=_e,y=ge,j=ye,T=S,M=ve,N=fe,h=q,z=pe;return d(),V(L,null,[c("div",null,[e(N,{ref_key:"formRef",ref:F,model:o.value,"status-icon":"",rules:$,"label-width":"120px"},{default:a(()=>[e(i,{label:"分類名稱",prop:"name"},{default:a(()=>[o.value.parent_id===0?(d(),C(m,{key:0,modelValue:o.value.name,"onUpdate:modelValue":l[0]||(l[0]=t=>o.value.name=t),type:"text"},null,8,["modelValue"])):(d(),C(m,{key:1,modelValue:o.value.name,"onUpdate:modelValue":l[1]||(l[1]=t=>o.value.name=t),rows:4,type:"textarea"},null,8,["modelValue"]))]),_:1}),e(i,{label:"上級分類"},{default:a(()=>[e(j,{modelValue:o.value.parent_id,"onUpdate:modelValue":l[2]||(l[2]=t=>o.value.parent_id=t),class:"m-2",placeholder:"Select"},{default:a(()=>[e(y,{label:"最上層",value:0}),(d(!0),V(L,null,ue(E.value,t=>(d(),C(y,{key:t.value,label:t.label,value:t.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),o.value.parent_id===0?(d(),C(i,{key:0,label:"類別圖片",prop:"imageurl"},{default:a(()=>[e(M,{class:"avatar-uploader",action:"#",accept:"image/*","show-file-list":!1,"auto-upload":!0,"before-upload":t=>B(t)},{default:a(()=>[o.value.imageurl?(d(),V("img",{key:0,src:o.value.imageurl,class:"avatar",id:"imageurl"},null,8,De)):(d(),C(T,{key:1,class:"avatar-uploader-icon"},{default:a(()=>[e(x(K))]),_:1}))]),_:1},8,["before-upload"])]),_:1})):O("",!0)]),_:1},8,["model","rules"]),c("div",Fe,[e(h,{onClick:U},{default:a(()=>[f("取消")]),_:1}),e(h,{type:"primary",loading:b.value,onClick:l[3]||(l[3]=t=>R(F.value))},{default:a(()=>[f(P(b.value?"提交中 ...":"確認"),1)]),_:1},8,["loading"])])]),c("div",null,[e(z,{modelValue:u.value.show,"onUpdate:modelValue":l[4]||(l[4]=t=>u.value.show=t),title:"Tips","before-close":_},{default:a(()=>[u.value.show?(d(),V("div",Ie,[c("div",Ue,[e(x(Ve),{class:"cropper",ref_key:"myCrop",ref:I,src:u.value.img,"stencil-props":{aspectRatio:u.value.ratio},"auto-zoom":!0},null,8,["src","stencil-props"])]),c("div",$e,[e(h,{type:"primary",size:"small",text:"",onClick:_},{default:a(()=>[f("取消")]),_:1}),e(h,{type:"primary",size:"small",onClick:r},{default:a(()=>[f("剪裁")]),_:1})])])):O("",!0)]),_:1},8,["modelValue"])])],64)}}},Re=xe(Be,[["__scopeId","data-v-9d62c9e0"]]),je={class:"main"},Te={class:"breadcrumb-section"},Me=c("a",{href:"/"},"產品類別",-1),Ne=["onDblclick"],pa={__name:"Index",setup(A){const D=n([]);n("");const p=n(!1);n(!1),H(()=>{w()});const w=async()=>{let r=await he();r.code===200&&(D.value=r.data)},g=n(0),b=r=>{g.value=r},F=async r=>{(await Q(r)).code===200?(v({message:"修改成功.",type:"success"}),w()):v({message:"修改失敗.",type:"error"}),g.value=0},o=()=>{g.value=0},E=n(0),$=()=>{E.value=0,p.value=!0},u=r=>{E.value=r,p.value=!0},I=r=>{Z.confirm("確認刪除此紀錄?").then(async()=>{(await ke(r)).code===200?(v({message:"刪除成功.",type:"success"}),w()):v({message:"刪除失敗.",type:"error"})}).catch(()=>{})},B=r=>{p.value=!1,r&&w()};return(r,_)=>{const U=ee,R=ae,s=q,l=le,m=G,i=S,y=se,j=re,T=ne,M=oe,N=te,h=Y,z=ie("focus");return d(),V(L,null,[c("div",je,[c("div",Te,[c("div",null,[e(R,{separator:"/"},{default:a(()=>[e(U,null,{default:a(()=>[f(" 經銷系統 ")]),_:1}),e(U,null,{default:a(()=>[Me]),_:1})]),_:1})]),c("div",null,[e(s,{type:"primary",icon:x(K),onClick:$},{default:a(()=>[f("新增產品類別")]),_:1},8,["icon"])])]),e(N,{"body-style":{padding:"0px"}},{default:a(()=>[e(M,{data:D.value,style:{width:"100%"},"row-key":"id","default-expand-all":""},{default:a(()=>[e(l,{prop:"name",label:"類別名稱"}),e(l,{label:"排序",width:"80"},{default:a(t=>[t.row.id!==g.value?(d(),V("div",{key:0,onDblclick:k=>b(t.row.id)},P(t.row.sort_order),41,Ne)):ce((d(),C(m,{key:1,modelValue:t.row.sort_order,"onUpdate:modelValue":k=>t.row.sort_order=k,style:{width:"50px"},onKeyup:me(k=>F(t.row),["enter"]),onBlur:_[0]||(_[0]=k=>o()),autoFocus:!0},null,8,["modelValue","onUpdate:modelValue","onKeyup"])),[[z,t.row.id===g.value]])]),_:1}),e(l,{label:"其他項目",width:"105",fixed:"right"},{default:a(t=>[e(T,null,{dropdown:a(()=>[e(j,null,{default:a(()=>[e(y,{icon:x(W),onClick:k=>u(t.row.id)},{default:a(()=>[f("修改分類")]),_:2},1032,["icon","onClick"]),e(y,{icon:x(J),onClick:k=>I(t.row.id)},{default:a(()=>[f("刪除分類")]),_:2},1032,["icon","onClick"])]),_:2},1024)]),default:a(()=>[e(s,{type:"danger"},{default:a(()=>[f(" 操作"),e(i,{class:"el-icon--right"},{default:a(()=>[e(x(X))]),_:1})]),_:1})]),_:2},1024)]),_:1})]),_:1},8,["data"])]),_:1})]),c("div",null,[e(h,{ref:"drawerRef",modelValue:p.value,"onUpdate:modelValue":_[1]||(_[1]=t=>p.value=t),"destroy-on-close":!0,title:"新增產品類別",direction:"rtl",size:"50%"},{default:a(()=>[e(Re,{editid:E.value,onClose:B},null,8,["editid"])]),_:1},8,["modelValue"])])],64)}}};export{pa as default}; diff --git a/nginx/html/admin/assets/Index-fedd8402.js b/nginx/html/admin/assets/Index-fedd8402.js new file mode 100644 index 0000000..a884b07 --- /dev/null +++ b/nginx/html/admin/assets/Index-fedd8402.js @@ -0,0 +1 @@ +import{p as K,E as S,G as q,H as W,F as J,b as X}from"./el-button-b67915d8.js";import{E as Y}from"./el-drawer-1235fb1f.js";import{E as Z}from"./el-message-box-31f94f7f.js";import{a as ee,b as ae,E as te}from"./el-breadcrumb-item-762e8056.js";import{E as le,a as oe}from"./el-table-column-381af1e5.js";import"./el-tag-d3d38fd0.js";import"./el-tooltip-4ed993c7.js";import"./el-scrollbar-5edfcb3f.js";import{E as se,a as re,b as ne}from"./el-dropdown-item-b9c7b677.js";import"./el-icon-08628b36.js";import{E as G}from"./el-input-5189b047.js";import{q as n,z as H,v as de,o as d,f as V,M as c,Q as e,w as a,c as C,F as L,W as ue,a as x,V as O,N as f,O as P,a4 as ie,D as ce,a5 as me}from"./index-b2bcea28.js";import{E as pe}from"./el-dialog-775a0d0d.js";import{E as _e,a as fe}from"./el-form-item-07a15cb5.js";import{E as ve}from"./el-progress-4ca8ef53.js";import{E as ge,a as ye}from"./el-select-1d620125.js";import{a as we,b as be,u as Q,c as Ee,g as he,d as ke}from"./category-c7be7113.js";import{u as Ce}from"./request-88e5850c.js";import{f as Ve}from"./style-c38cf729.js";import{E as v}from"./el-message-447d52b9.js";import{_ as xe}from"./_plugin-vue_export-helper-c27b6911.js";import"./use-dialog-15edcc44.js";import"./index-07bb2cc4.js";import"./aria-60e0cdc6.js";import"./castArray-8eb82dce.js";import"./_baseClone-49d9099a.js";import"./cloneDeep-996df659.js";import"./index-8ca69aa2.js";import"./strings-31e22773.js";const De=["src"],Fe={class:"demo-drawer__footer",style:{"text-align":"right"}},Ie={key:0,class:"cropper-section"},Ue={class:"crop-area"},$e={class:"crop-btn"},Be={__name:"Form",props:{editid:{type:Number,default:0}},emits:["close"],setup(A,{emit:D}){const p=A,w=D,g=n("insert"),b=n(!1),F=n(null),o=n({id:0,parent_id:0}),E=n([]);H(async()=>{if(p.editid){let l=await we(p.editid);l.code===200&&(o.value=l.data,g.value="update")}let s=await be();s.code===200&&(E.value=s.data.map(l=>({label:l.name,value:l.id})))});const $=de({username:[{required:!0,message:"管理員帳號必填",trigger:"blur"}]}),u=n({show:!1,img:null,ratio:2.6}),I=n(null),B=s=>s.type!=="image/jpeg"&&s.type!=="image/png"&&s.type!=="image/jpg"?(v.error("圖片格式只能是jpeg/png/jpg!"),!1):(u.value.show=!0,u.value.img=URL.createObjectURL(s),!1),r=()=>{const{canvas:s}=I.value.getResult();if(s){const l=new FormData;s.toBlob(async m=>{let i=new File([m],"image.jpg");l.append("fileType","IMAGE"),l.append("file",i),u.value.show=!1,b.value=!0;let y=await Ce("/cate/uploadImage",l);y.code===200?(o.value.imageurl=y.data,v.success("上傳成功")):v.error("上傳失敗"),b.value=!1},"image/jpeg")}},_=()=>{u.value.show=!1},U=()=>{w("close",!1)},R=s=>{s&&s.validate(async l=>{if(l){let m,i;g.value==="update"?(o.value.id=p.editid,m=await Q(o.value),i="修改成功."):(m=await Ee(o.value),i="新增成功."),m.code===200&&(v({message:i,type:"success"}),w("close",!0))}else return v({message:"操作失敗.",type:"error"}),!1})};return(s,l)=>{const m=G,i=_e,y=ge,j=ye,T=S,M=ve,N=fe,h=q,z=pe;return d(),V(L,null,[c("div",null,[e(N,{ref_key:"formRef",ref:F,model:o.value,"status-icon":"",rules:$,"label-width":"120px"},{default:a(()=>[e(i,{label:"分類名稱",prop:"name"},{default:a(()=>[o.value.parent_id===0?(d(),C(m,{key:0,modelValue:o.value.name,"onUpdate:modelValue":l[0]||(l[0]=t=>o.value.name=t),type:"text"},null,8,["modelValue"])):(d(),C(m,{key:1,modelValue:o.value.name,"onUpdate:modelValue":l[1]||(l[1]=t=>o.value.name=t),rows:4,type:"textarea"},null,8,["modelValue"]))]),_:1}),e(i,{label:"上級分類"},{default:a(()=>[e(j,{modelValue:o.value.parent_id,"onUpdate:modelValue":l[2]||(l[2]=t=>o.value.parent_id=t),class:"m-2",placeholder:"Select"},{default:a(()=>[e(y,{label:"最上層",value:0}),(d(!0),V(L,null,ue(E.value,t=>(d(),C(y,{key:t.value,label:t.label,value:t.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),o.value.parent_id===0?(d(),C(i,{key:0,label:"類別圖片",prop:"imageurl"},{default:a(()=>[e(M,{class:"avatar-uploader",action:"#",accept:"image/*","show-file-list":!1,"auto-upload":!0,"before-upload":t=>B(t)},{default:a(()=>[o.value.imageurl?(d(),V("img",{key:0,src:o.value.imageurl,class:"avatar",id:"imageurl"},null,8,De)):(d(),C(T,{key:1,class:"avatar-uploader-icon"},{default:a(()=>[e(x(K))]),_:1}))]),_:1},8,["before-upload"])]),_:1})):O("",!0)]),_:1},8,["model","rules"]),c("div",Fe,[e(h,{onClick:U},{default:a(()=>[f("取消")]),_:1}),e(h,{type:"primary",loading:b.value,onClick:l[3]||(l[3]=t=>R(F.value))},{default:a(()=>[f(P(b.value?"提交中 ...":"確認"),1)]),_:1},8,["loading"])])]),c("div",null,[e(z,{modelValue:u.value.show,"onUpdate:modelValue":l[4]||(l[4]=t=>u.value.show=t),title:"Tips","before-close":_},{default:a(()=>[u.value.show?(d(),V("div",Ie,[c("div",Ue,[e(x(Ve),{class:"cropper",ref_key:"myCrop",ref:I,src:u.value.img,"stencil-props":{aspectRatio:u.value.ratio},"auto-zoom":!0},null,8,["src","stencil-props"])]),c("div",$e,[e(h,{type:"primary",size:"small",text:"",onClick:_},{default:a(()=>[f("取消")]),_:1}),e(h,{type:"primary",size:"small",onClick:r},{default:a(()=>[f("剪裁")]),_:1})])])):O("",!0)]),_:1},8,["modelValue"])])],64)}}},Re=xe(Be,[["__scopeId","data-v-9d62c9e0"]]),je={class:"main"},Te={class:"breadcrumb-section"},Me=c("a",{href:"/"},"產品類別",-1),Ne=["onDblclick"],pa={__name:"Index",setup(A){const D=n([]);n("");const p=n(!1);n(!1),H(()=>{w()});const w=async()=>{let r=await he();r.code===200&&(D.value=r.data)},g=n(0),b=r=>{g.value=r},F=async r=>{(await Q(r)).code===200?(v({message:"修改成功.",type:"success"}),w()):v({message:"修改失敗.",type:"error"}),g.value=0},o=()=>{g.value=0},E=n(0),$=()=>{E.value=0,p.value=!0},u=r=>{E.value=r,p.value=!0},I=r=>{Z.confirm("確認刪除此紀錄?").then(async()=>{(await ke(r)).code===200?(v({message:"刪除成功.",type:"success"}),w()):v({message:"刪除失敗.",type:"error"})}).catch(()=>{})},B=r=>{p.value=!1,r&&w()};return(r,_)=>{const U=ee,R=ae,s=q,l=le,m=G,i=S,y=se,j=re,T=ne,M=oe,N=te,h=Y,z=ie("focus");return d(),V(L,null,[c("div",je,[c("div",Te,[c("div",null,[e(R,{separator:"/"},{default:a(()=>[e(U,null,{default:a(()=>[f(" 經銷系統 ")]),_:1}),e(U,null,{default:a(()=>[Me]),_:1})]),_:1})]),c("div",null,[e(s,{type:"primary",icon:x(K),onClick:$},{default:a(()=>[f("新增產品類別")]),_:1},8,["icon"])])]),e(N,{"body-style":{padding:"0px"}},{default:a(()=>[e(M,{data:D.value,style:{width:"100%"},"row-key":"id","default-expand-all":""},{default:a(()=>[e(l,{prop:"name",label:"類別名稱"}),e(l,{label:"排序",width:"80"},{default:a(t=>[t.row.id!==g.value?(d(),V("div",{key:0,onDblclick:k=>b(t.row.id)},P(t.row.sort_order),41,Ne)):ce((d(),C(m,{key:1,modelValue:t.row.sort_order,"onUpdate:modelValue":k=>t.row.sort_order=k,style:{width:"50px"},onKeyup:me(k=>F(t.row),["enter"]),onBlur:_[0]||(_[0]=k=>o()),autoFocus:!0},null,8,["modelValue","onUpdate:modelValue","onKeyup"])),[[z,t.row.id===g.value]])]),_:1}),e(l,{label:"其他項目",width:"105",fixed:"right"},{default:a(t=>[e(T,null,{dropdown:a(()=>[e(j,null,{default:a(()=>[e(y,{icon:x(W),onClick:k=>u(t.row.id)},{default:a(()=>[f("修改分類")]),_:2},1032,["icon","onClick"]),e(y,{icon:x(J),onClick:k=>I(t.row.id)},{default:a(()=>[f("刪除分類")]),_:2},1032,["icon","onClick"])]),_:2},1024)]),default:a(()=>[e(s,{type:"danger"},{default:a(()=>[f(" 操作"),e(i,{class:"el-icon--right"},{default:a(()=>[e(x(X))]),_:1})]),_:1})]),_:2},1024)]),_:1})]),_:1},8,["data"])]),_:1})]),c("div",null,[e(h,{ref:"drawerRef",modelValue:p.value,"onUpdate:modelValue":_[1]||(_[1]=t=>p.value=t),"destroy-on-close":!0,title:"新增產品類別",direction:"rtl",size:"50%"},{default:a(()=>[e(Re,{editid:E.value,onClose:B},null,8,["editid"])]),_:1},8,["modelValue"])])],64)}}};export{pa as default}; diff --git a/nginx/html/admin/assets/Index-ff11f4c5.js b/nginx/html/admin/assets/Index-ff11f4c5.js new file mode 100644 index 0000000..fb1af4a --- /dev/null +++ b/nginx/html/admin/assets/Index-ff11f4c5.js @@ -0,0 +1 @@ +import{G as h}from"./el-button-dd91f3f6.js";import{a as x,b as S,E as k}from"./el-breadcrumb-item-fc2f12a8.js";import{C}from"./ckeditor-a16a5aab.js";import{g as E,u as I}from"./article-28c8ad47.js";import{E as d}from"./el-message-a9712316.js";import{_ as B}from"./_plugin-vue_export-helper-c27b6911.js";import{q as c,z as w,L as V,o as N,f as R,M as t,Q as e,w as o,N as m,a as z,a7 as A,a8 as L}from"./index-a18521e5.js";import"./request-a37452c7.js";import"./aria-60e0cdc6.js";const _=a=>(A("data-v-edcc74e1"),a=a(),L(),a),T={class:"main"},F={class:"breadcrumb-section"},M=_(()=>t("a",{href:"/"},"經營理念",-1)),U=_(()=>t("div",null,null,-1)),$={style:{padding:"10px"}},q={class:"card-footer"},G={__name:"Index",setup(a){const p=C,s=c(""),u=c({simpleUpload:{uploadUrl:"https://prodio.zltest.com.tw/adminapi/article/uploadImage",headers:{"X-CSRF-TOKEN":"CSFR-Token",Authorization:`${sessionStorage.getItem("token")}`}},image:{resize:!0,toolbar:["imageTextAlternative","|","imageStyle:alignLeft","imageStyle:alignRight","|","imageStyle:alignBlockLeft","imageStyle:block","imageStyle:alignBlockRight"],styles:["full","alignLeft","alignRight"]}});w(async()=>{let n=await E(2);n.code===200&&(s.value=n.data.content)});const g=async()=>(await I({id:2,content:s.value})).code===200?d({message:"更新成功",type:"success"}):d({message:"更新失敗",type:"error"});return(n,l)=>{const r=x,f=S,v=V("ckeditor"),y=h,b=k;return N(),R("div",T,[t("div",F,[t("div",null,[e(f,{separator:"/"},{default:o(()=>[e(r,null,{default:o(()=>[m(" 經銷系統 ")]),_:1}),e(r,null,{default:o(()=>[M]),_:1})]),_:1})]),U]),e(b,{"body-style":{padding:"0px"}},{default:o(()=>[t("div",$,[e(v,{editor:z(p),modelValue:s.value,"onUpdate:modelValue":l[0]||(l[0]=i=>s.value=i),config:u.value},null,8,["editor","modelValue","config"])]),t("div",q,[e(y,{type:"primary",onClick:l[1]||(l[1]=i=>g())},{default:o(()=>[m("確認")]),_:1})])]),_:1})])}}},W=B(G,[["__scopeId","data-v-edcc74e1"]]);export{W as default}; diff --git a/nginx/html/admin/assets/Index-ffbfbf8e.js b/nginx/html/admin/assets/Index-ffbfbf8e.js new file mode 100644 index 0000000..e5c32c2 --- /dev/null +++ b/nginx/html/admin/assets/Index-ffbfbf8e.js @@ -0,0 +1 @@ +import{p as G,E as O,G as A,H as Y,F as Z,b as ee}from"./el-button-ca4abaee.js";import{E as le}from"./el-drawer-d9790fe0.js";import{E as ae}from"./el-message-box-e43658fb.js";import{E as L,a as oe,b as te}from"./el-breadcrumb-item-422ecc35.js";import{E as se,a as ne}from"./el-table-column-7db11110.js";import"./el-tag-6a2dc6cc.js";import"./el-tooltip-4ed993c7.js";import"./el-scrollbar-56d71f90.js";import{E as re,a as de,b as ue}from"./el-dropdown-item-56611d31.js";import"./el-icon-08628b36.js";import{E as S}from"./el-input-df8c5b16.js";import{q as c,z as K,o as y,f as x,M as p,Q as e,w as l,c as q,a as k,N as v,O as P,V as ie,F as H,v as ce,a3 as me,a4 as pe,D as _e,a5 as fe}from"./index-fb87886b.js";import{E as ve}from"./el-dialog-1ee3a857.js";import{E as ge,a as be}from"./el-form-item-85aab49a.js";import{E as ye}from"./el-progress-2aaabad5.js";import{a as B,u as we}from"./request-60ae96d2.js";import{f as he}from"./style-401f4ec6.js";import{E as g}from"./el-message-5778b677.js";import{_ as Ee}from"./_plugin-vue_export-helper-c27b6911.js";import"./use-dialog-3e44040d.js";import"./index-de3a95d3.js";import"./aria-60e0cdc6.js";import"./castArray-59d69fd8.js";import"./_baseClone-732ede82.js";import"./cloneDeep-3d78d7c6.js";const Ve=async()=>B("/branch/getBranchList","GET"),ke=async _=>B("/branch/getBranch","GET",{id:_}),Ce=async _=>B("/branch/deleteBranch","GET",{id:_}),Q=async _=>B("/branch/updateBranch","POST",_),xe=async _=>B("/branch/addBranch","POST",_);const Be=["src"],De={class:"demo-drawer__footer",style:{"text-align":"right"}},Ue={key:0,class:"cropper-section"},Fe={class:"crop-area"},Ie={class:"crop-btn"},Te={__name:"Form",props:{editid:{type:Number,default:0}},emits:["close"],setup(_,{emit:I}){const w=_,b=I,C=c("insert"),f=c(!1),D=c(null),o=c({id:0});K(async()=>{if(w.editid){let t=await ke(w.editid);t.code===200&&(o.value=t.data,C.value="update")}});const T=c({name:[{required:!0,message:"供應商名稱必填",trigger:"blur"}]}),r=c({show:!1,img:null,ratio:1.875}),U=c(null),$=t=>t.type!=="image/jpeg"&&t.type!=="image/png"&&t.type!=="image/jpg"?(g.error("圖片格式只能是jpeg/png/jpg!"),!1):(r.value.show=!0,r.value.img=URL.createObjectURL(t),!1),j=()=>{const{canvas:t}=U.value.getResult();if(t){const a=new FormData;t.toBlob(async u=>{let n=new File([u],"image.jpg");a.append("fileType","IMAGE"),a.append("file",n),r.value.show=!1,f.value=!0;let i=await we("/branch/uploadImage",a);i.code===200?(o.value.imageurl=i.data,g.success("上傳成功")):g.error("上傳失敗"),f.value=!1},"image/jpeg")}},h=()=>{r.value.show=!1},R=()=>{b("close",!1)},d=t=>{t&&t.validate(async a=>{if(a){let u,n;C.value==="update"?(o.value.id=w.editid,u=await Q(o.value),n="修改成功."):(u=await xe(o.value),n="新增成功."),u.code===200&&(g({message:n,type:"success"}),b("close",!0))}else return g({message:"操作失敗.",type:"error"}),!1})};return(t,a)=>{const u=S,n=ge,i=O,z=ye,M=be,F=L,E=A,N=ve;return y(),x(H,null,[p("div",null,[e(F,null,{default:l(()=>[e(M,{ref_key:"formRef",ref:D,model:o.value,"status-icon":"",rules:T.value,"label-width":"120px"},{default:l(()=>[e(n,{label:"據點名稱",prop:"name"},{default:l(()=>[e(u,{modelValue:o.value.name,"onUpdate:modelValue":a[0]||(a[0]=s=>o.value.name=s)},null,8,["modelValue"])]),_:1}),e(n,{label:"地址",prop:"address"},{default:l(()=>[e(u,{modelValue:o.value.address,"onUpdate:modelValue":a[1]||(a[1]=s=>o.value.address=s)},null,8,["modelValue"])]),_:1}),e(n,{label:"電話",prop:"tel"},{default:l(()=>[e(u,{modelValue:o.value.tel,"onUpdate:modelValue":a[2]||(a[2]=s=>o.value.tel=s)},null,8,["modelValue"])]),_:1}),e(n,{label:"傳真",prop:"fax"},{default:l(()=>[e(u,{modelValue:o.value.fax,"onUpdate:modelValue":a[3]||(a[3]=s=>o.value.fax=s)},null,8,["modelValue"])]),_:1}),e(n,{label:"網址",prop:"url"},{default:l(()=>[e(u,{modelValue:o.value.url,"onUpdate:modelValue":a[4]||(a[4]=s=>o.value.url=s)},null,8,["modelValue"])]),_:1}),e(n,{label:"Email",prop:"email"},{default:l(()=>[e(u,{modelValue:o.value.email,"onUpdate:modelValue":a[5]||(a[5]=s=>o.value.email=s)},null,8,["modelValue"])]),_:1}),e(n,{label:"據點圖片",prop:"imageurl"},{default:l(()=>[e(z,{class:"avatar-uploader",action:"#",accept:"image/*","show-file-list":!1,"auto-upload":!0,"before-upload":s=>$(s)},{default:l(()=>[o.value.imageurl?(y(),x("img",{key:0,src:"http://localhost:6060"+o.value.imageurl,class:"avatar",id:"imageurl"},null,8,Be)):(y(),q(i,{key:1,class:"avatar-uploader-icon"},{default:l(()=>[e(k(G))]),_:1}))]),_:1},8,["before-upload"])]),_:1})]),_:1},8,["model","rules"])]),_:1}),p("div",De,[e(E,{onClick:R},{default:l(()=>[v("取消")]),_:1}),e(E,{type:"primary",loading:f.value,onClick:a[6]||(a[6]=s=>d(D.value))},{default:l(()=>[v(P(f.value?"處理中...":"確認"),1)]),_:1},8,["loading"])])]),p("div",null,[e(N,{modelValue:r.value.show,"onUpdate:modelValue":a[7]||(a[7]=s=>r.value.show=s),title:"Tips","before-close":h},{default:l(()=>[r.value.show?(y(),x("div",Ue,[p("div",Fe,[e(k(he),{class:"cropper",ref_key:"myCrop",ref:U,src:r.value.img,"stencil-props":{aspectRatio:r.value.ratio},"auto-zoom":!0},null,8,["src","stencil-props"])]),p("div",Ie,[e(E,{type:"primary",size:"small",text:"",onClick:h},{default:l(()=>[v("取消")]),_:1}),e(E,{type:"primary",size:"small",onClick:j},{default:l(()=>[v("剪裁")]),_:1})])])):ie("",!0)]),_:1},8,["modelValue"])])],64)}}},$e=Ee(Te,[["__scopeId","data-v-0c2531e5"]]),je={class:"main"},Re={class:"breadcrumb-section"},ze=p("a",{href:"/"},"公司據點",-1),Me=["onDblclick"],ul={__name:"Index",setup(_){const I=ce({page:1,pageSize:10});me(I),c(0);const w=c(!1),b=c(!1),C=c([]);K(()=>{f()});const f=async()=>{w.value=!0;let d=await Ve();d.code===200&&(C.value=d.data),w.value=!1},D=()=>{h.value=0,b.value=!0},o=d=>{h.value=d,b.value=!0},T=d=>{ae.confirm("確認刪除此紀錄?").then(async()=>{(await Ce(d)).code===200?(g({message:"刪除成功.",type:"success"}),f()):g({message:"刪除失敗.",type:"error"})}).catch(()=>{})},r=c(0),U=d=>{r.value=d},$=async d=>{(await Q(d)).code===200?(g({message:"修改成功.",type:"success"}),f()):g({message:"修改失敗.",type:"error"}),r.value=0},j=()=>{r.value=0},h=c(0),R=d=>{b.value=!1,d&&f()};return(d,t)=>{const a=oe,u=te,n=A,i=se,z=S,M=O,F=re,E=de,N=ue,s=ne,J=L,W=le,X=pe("focus");return y(),x(H,null,[p("div",je,[p("div",Re,[p("div",null,[e(u,{separator:"/"},{default:l(()=>[e(a,null,{default:l(()=>[v(" 聯絡我們 ")]),_:1}),e(a,null,{default:l(()=>[ze]),_:1})]),_:1})]),p("div",null,[e(n,{type:"primary",icon:k(G),onClick:D},{default:l(()=>[v(" 新增據點 ")]),_:1},8,["icon"])])]),e(J,{"body-style":{padding:"0px"}},{default:l(()=>[e(s,{data:C.value,style:{width:"100%"}},{default:l(()=>[e(i,{prop:"id",label:"#",width:"50"}),e(i,{prop:"name",label:"據點名稱"}),e(i,{prop:"address",label:"據點地址"}),e(i,{prop:"tel",label:"電話"}),e(i,{prop:"fax",label:"傳真"}),e(i,{prop:"status",label:"是否有效"}),e(i,{prop:"sort",label:"排序",width:"80"},{default:l(m=>[m.row.id!==r.value?(y(),x("div",{key:0,onDblclick:V=>U(m.row.id)},P(m.row.sort_order),41,Me)):_e((y(),q(z,{key:1,modelValue:m.row.sort_order,"onUpdate:modelValue":V=>m.row.sort_order=V,style:{width:"50px"},onKeyup:fe(V=>$(m.row),["enter"]),onBlur:t[0]||(t[0]=V=>j()),autoFocus:!0},null,8,["modelValue","onUpdate:modelValue","onKeyup"])),[[X,m.row.id===r.value]])]),_:1}),e(i,{label:"操作",width:"105",fixed:"right"},{default:l(m=>[e(N,null,{dropdown:l(()=>[e(E,null,{default:l(()=>[e(F,{icon:k(Y),onClick:V=>o(m.row.id)},{default:l(()=>[v("修改")]),_:2},1032,["icon","onClick"]),e(F,{icon:k(Z),onClick:V=>T(m.row.id)},{default:l(()=>[v("刪除")]),_:2},1032,["icon","onClick"])]),_:2},1024)]),default:l(()=>[e(n,{type:"danger"},{default:l(()=>[v(" 操作"),e(M,{class:"el-icon--right"},{default:l(()=>[e(k(ee))]),_:1})]),_:1})]),_:2},1024)]),_:1})]),_:1},8,["data"])]),_:1})]),p("div",null,[e(W,{ref:"drawerRef",modelValue:b.value,"onUpdate:modelValue":t[1]||(t[1]=m=>b.value=m),"destroy-on-close":!0,title:"首頁輪撥",direction:"rtl",size:"50%"},{default:l(()=>[e($e,{editid:h.value,onClose:R},null,8,["editid"])]),_:1},8,["modelValue"])])],64)}}};export{ul as default}; diff --git a/nginx/html/admin/assets/_baseClone-0431f2ee.js b/nginx/html/admin/assets/_baseClone-0431f2ee.js new file mode 100644 index 0000000..65326dc --- /dev/null +++ b/nginx/html/admin/assets/_baseClone-0431f2ee.js @@ -0,0 +1 @@ +import{c as T,k as F,b as j,r as C,s as _,n as N,g as v,t as K,v as E,j as R,p,w as u,x,f as W,d as X,h as Y,m as q,S as H,o as J}from"./el-input-6cdd1bad.js";import{b3 as m,aS as B,ac as Q,aX as V,bj as Z}from"./index-a18521e5.js";function z(t,e){for(var n=-1,o=t==null?0:t.length;++n{const o=t.__vccOpts||t;for(const[c,e]of r)o[c]=e;return o};export{s as _}; diff --git a/nginx/html/admin/assets/adminuser-3b555dd5.js b/nginx/html/admin/assets/adminuser-3b555dd5.js new file mode 100644 index 0000000..63bd09b --- /dev/null +++ b/nginx/html/admin/assets/adminuser-3b555dd5.js @@ -0,0 +1 @@ +import{a as e}from"./request-60ae96d2.js";const a=async s=>e("/adminUser/getAdminUserList","POST",s),d=async s=>e("/adminUser/addAdminUser","POST",s),i=async s=>e("/adminUser/deleteAdminUser","GET",{id:s}),m=async s=>e("/adminUser/getAdminUser","GET",{id:s}),t=async s=>e("/adminUser/updateAdminUser","POST",s),r=async s=>e("/adminUser/getAdminLog","POST",s);export{d as a,a as b,r as c,i as d,m as g,t as u}; diff --git a/nginx/html/admin/assets/adminuser-652b8d41.js b/nginx/html/admin/assets/adminuser-652b8d41.js new file mode 100644 index 0000000..a3c5c60 --- /dev/null +++ b/nginx/html/admin/assets/adminuser-652b8d41.js @@ -0,0 +1 @@ +import{a as e}from"./request-79887494.js";const a=async s=>e("/adminUser/getAdminUserList","POST",s),d=async s=>e("/adminUser/addAdminUser","POST",s),i=async s=>e("/adminUser/deleteAdminUser","GET",{id:s}),m=async s=>e("/adminUser/getAdminUser","GET",{id:s}),t=async s=>e("/adminUser/updateAdminUser","POST",s),r=async s=>e("/adminUser/getAdminLog","POST",s);export{d as a,a as b,r as c,i as d,m as g,t as u}; diff --git a/nginx/html/admin/assets/adminuser-95ba1884.js b/nginx/html/admin/assets/adminuser-95ba1884.js new file mode 100644 index 0000000..097ce35 --- /dev/null +++ b/nginx/html/admin/assets/adminuser-95ba1884.js @@ -0,0 +1 @@ +import{a as e}from"./request-63584e50.js";const a=async s=>e("/adminUser/getAdminUserList","POST",s),d=async s=>e("/adminUser/addAdminUser","POST",s),i=async s=>e("/adminUser/deleteAdminUser","GET",{id:s}),m=async s=>e("/adminUser/getAdminUser","GET",{id:s}),t=async s=>e("/adminUser/updateAdminUser","POST",s),r=async s=>e("/adminUser/getAdminLog","POST",s);export{d as a,a as b,r as c,i as d,m as g,t as u}; diff --git a/nginx/html/admin/assets/adminuser-ccf4a37c.js b/nginx/html/admin/assets/adminuser-ccf4a37c.js new file mode 100644 index 0000000..40ce21d --- /dev/null +++ b/nginx/html/admin/assets/adminuser-ccf4a37c.js @@ -0,0 +1 @@ +import{a as e}from"./request-a37452c7.js";const a=async s=>e("/adminUser/getAdminUserList","POST",s),d=async s=>e("/adminUser/addAdminUser","POST",s),i=async s=>e("/adminUser/deleteAdminUser","GET",{id:s}),m=async s=>e("/adminUser/getAdminUser","GET",{id:s}),t=async s=>e("/adminUser/updateAdminUser","POST",s),r=async s=>e("/adminUser/getAdminLog","POST",s);export{d as a,a as b,r as c,i as d,m as g,t as u}; diff --git a/nginx/html/admin/assets/adminuser-d1cc0206.js b/nginx/html/admin/assets/adminuser-d1cc0206.js new file mode 100644 index 0000000..ee8f91b --- /dev/null +++ b/nginx/html/admin/assets/adminuser-d1cc0206.js @@ -0,0 +1 @@ +import{a as e}from"./request-26ab9dc6.js";const a=async s=>e("/adminUser/getAdminUserList","POST",s),d=async s=>e("/adminUser/addAdminUser","POST",s),i=async s=>e("/adminUser/deleteAdminUser","GET",{id:s}),m=async s=>e("/adminUser/getAdminUser","GET",{id:s}),t=async s=>e("/adminUser/updateAdminUser","POST",s),r=async s=>e("/adminUser/getAdminLog","POST",s);export{d as a,a as b,r as c,i as d,m as g,t as u}; diff --git a/nginx/html/admin/assets/adminuser-dc778ae5.js b/nginx/html/admin/assets/adminuser-dc778ae5.js new file mode 100644 index 0000000..9d07961 --- /dev/null +++ b/nginx/html/admin/assets/adminuser-dc778ae5.js @@ -0,0 +1 @@ +import{a as e}from"./request-88e5850c.js";const a=async s=>e("/adminUser/getAdminUserList","POST",s),d=async s=>e("/adminUser/addAdminUser","POST",s),i=async s=>e("/adminUser/deleteAdminUser","GET",{id:s}),m=async s=>e("/adminUser/getAdminUser","GET",{id:s}),t=async s=>e("/adminUser/updateAdminUser","POST",s),r=async s=>e("/adminUser/getAdminLog","POST",s);export{d as a,a as b,r as c,i as d,m as g,t as u}; diff --git a/nginx/html/admin/assets/aria-60e0cdc6.js b/nginx/html/admin/assets/aria-60e0cdc6.js new file mode 100644 index 0000000..c288a3f --- /dev/null +++ b/nginx/html/admin/assets/aria-60e0cdc6.js @@ -0,0 +1 @@ +const e={tab:"Tab",enter:"Enter",space:"Space",left:"ArrowLeft",up:"ArrowUp",right:"ArrowRight",down:"ArrowDown",esc:"Escape",delete:"Delete",backspace:"Backspace",numpadEnter:"NumpadEnter",pageUp:"PageUp",pageDown:"PageDown",home:"Home",end:"End"};export{e as E}; diff --git a/nginx/html/admin/assets/article-28c8ad47.js b/nginx/html/admin/assets/article-28c8ad47.js new file mode 100644 index 0000000..83ef553 --- /dev/null +++ b/nginx/html/admin/assets/article-28c8ad47.js @@ -0,0 +1 @@ +import{a}from"./request-a37452c7.js";const c=async t=>a("/article/getArticle","GET",{id:t}),r=async t=>a("/article/updateArticle","POST",t);export{c as g,r as u}; diff --git a/nginx/html/admin/assets/article-2a36286c.js b/nginx/html/admin/assets/article-2a36286c.js new file mode 100644 index 0000000..a882f32 --- /dev/null +++ b/nginx/html/admin/assets/article-2a36286c.js @@ -0,0 +1 @@ +import{a}from"./request-63584e50.js";const c=async t=>a("/article/getArticle","GET",{id:t}),r=async t=>a("/article/updateArticle","POST",t);export{c as g,r as u}; diff --git a/nginx/html/admin/assets/article-42f61703.js b/nginx/html/admin/assets/article-42f61703.js new file mode 100644 index 0000000..ae9d9db --- /dev/null +++ b/nginx/html/admin/assets/article-42f61703.js @@ -0,0 +1 @@ +import{a}from"./request-79887494.js";const c=async t=>a("/article/getArticle","GET",{id:t}),r=async t=>a("/article/updateArticle","POST",t);export{c as g,r as u}; diff --git a/nginx/html/admin/assets/article-811f6990.js b/nginx/html/admin/assets/article-811f6990.js new file mode 100644 index 0000000..3431a5a --- /dev/null +++ b/nginx/html/admin/assets/article-811f6990.js @@ -0,0 +1 @@ +import{a}from"./request-26ab9dc6.js";const c=async t=>a("/article/getArticle","GET",{id:t}),r=async t=>a("/article/updateArticle","POST",t);export{c as g,r as u}; diff --git a/nginx/html/admin/assets/article-8e1d926f.js b/nginx/html/admin/assets/article-8e1d926f.js new file mode 100644 index 0000000..23453c9 --- /dev/null +++ b/nginx/html/admin/assets/article-8e1d926f.js @@ -0,0 +1 @@ +import{a}from"./request-88e5850c.js";const c=async t=>a("/article/getArticle","GET",{id:t}),r=async t=>a("/article/updateArticle","POST",t);export{c as g,r as u}; diff --git a/nginx/html/admin/assets/article-e7327317.js b/nginx/html/admin/assets/article-e7327317.js new file mode 100644 index 0000000..1bb0739 --- /dev/null +++ b/nginx/html/admin/assets/article-e7327317.js @@ -0,0 +1 @@ +import{a}from"./request-60ae96d2.js";const c=async t=>a("/article/getArticle","GET",{id:t}),r=async t=>a("/article/updateArticle","POST",t);export{c as g,r as u}; diff --git a/nginx/html/admin/assets/castArray-283666ff.js b/nginx/html/admin/assets/castArray-283666ff.js new file mode 100644 index 0000000..da4fc81 --- /dev/null +++ b/nginx/html/admin/assets/castArray-283666ff.js @@ -0,0 +1 @@ +import{aV as a}from"./index-7ed2d026.js";function e(){if(!arguments.length)return[];var r=arguments[0];return a(r)?r:[r]}export{e as c}; diff --git a/nginx/html/admin/assets/castArray-3bec7949.js b/nginx/html/admin/assets/castArray-3bec7949.js new file mode 100644 index 0000000..8762f38 --- /dev/null +++ b/nginx/html/admin/assets/castArray-3bec7949.js @@ -0,0 +1 @@ +import{aX as a}from"./index-3ef4d3eb.js";function e(){if(!arguments.length)return[];var r=arguments[0];return a(r)?r:[r]}export{e as c}; diff --git a/nginx/html/admin/assets/castArray-3c50f72c.js b/nginx/html/admin/assets/castArray-3c50f72c.js new file mode 100644 index 0000000..bcad8a7 --- /dev/null +++ b/nginx/html/admin/assets/castArray-3c50f72c.js @@ -0,0 +1 @@ +import{aX as a}from"./index-a18521e5.js";function e(){if(!arguments.length)return[];var r=arguments[0];return a(r)?r:[r]}export{e as c}; diff --git a/nginx/html/admin/assets/castArray-59d69fd8.js b/nginx/html/admin/assets/castArray-59d69fd8.js new file mode 100644 index 0000000..9aa3b8c --- /dev/null +++ b/nginx/html/admin/assets/castArray-59d69fd8.js @@ -0,0 +1 @@ +import{aX as a}from"./index-fb87886b.js";function e(){if(!arguments.length)return[];var r=arguments[0];return a(r)?r:[r]}export{e as c}; diff --git a/nginx/html/admin/assets/castArray-80791487.js b/nginx/html/admin/assets/castArray-80791487.js new file mode 100644 index 0000000..6bd4247 --- /dev/null +++ b/nginx/html/admin/assets/castArray-80791487.js @@ -0,0 +1 @@ +import{aV as a}from"./index-11843334.js";function e(){if(!arguments.length)return[];var r=arguments[0];return a(r)?r:[r]}export{e as c}; diff --git a/nginx/html/admin/assets/castArray-8eb82dce.js b/nginx/html/admin/assets/castArray-8eb82dce.js new file mode 100644 index 0000000..8e6ff7e --- /dev/null +++ b/nginx/html/admin/assets/castArray-8eb82dce.js @@ -0,0 +1 @@ +import{aX as a}from"./index-b2bcea28.js";function e(){if(!arguments.length)return[];var r=arguments[0];return a(r)?r:[r]}export{e as c}; diff --git a/nginx/html/admin/assets/category-05efb681.js b/nginx/html/admin/assets/category-05efb681.js new file mode 100644 index 0000000..7b56389 --- /dev/null +++ b/nginx/html/admin/assets/category-05efb681.js @@ -0,0 +1 @@ +import{a}from"./request-63584e50.js";const s=async()=>a("/cate/getParentCateList","GET"),c=async()=>a("/cate/getCateList","GET"),o=async t=>a("/cate/getCategory","GET",{id:t}),g=async t=>a("/cate/addCategory","POST",t),n=async t=>a("/cate/updateCategory","POST",t),y=async t=>a("/cate/deleteCategory","GET",{id:t});export{o as a,s as b,g as c,y as d,c as g,n as u}; diff --git a/nginx/html/admin/assets/category-22eeb612.js b/nginx/html/admin/assets/category-22eeb612.js new file mode 100644 index 0000000..c1fd9e5 --- /dev/null +++ b/nginx/html/admin/assets/category-22eeb612.js @@ -0,0 +1 @@ +import{a}from"./request-a37452c7.js";const s=async()=>a("/cate/getParentCateList","GET"),c=async()=>a("/cate/getCateList","GET"),o=async t=>a("/cate/getCategory","GET",{id:t}),g=async t=>a("/cate/addCategory","POST",t),n=async t=>a("/cate/updateCategory","POST",t),y=async t=>a("/cate/deleteCategory","GET",{id:t});export{o as a,s as b,g as c,y as d,c as g,n as u}; diff --git a/nginx/html/admin/assets/category-58bb6f3c.js b/nginx/html/admin/assets/category-58bb6f3c.js new file mode 100644 index 0000000..06bcd12 --- /dev/null +++ b/nginx/html/admin/assets/category-58bb6f3c.js @@ -0,0 +1 @@ +import{a}from"./request-60ae96d2.js";const s=async()=>a("/cate/getParentCateList","GET"),c=async()=>a("/cate/getCateList","GET"),o=async t=>a("/cate/getCategory","GET",{id:t}),g=async t=>a("/cate/addCategory","POST",t),n=async t=>a("/cate/updateCategory","POST",t),y=async t=>a("/cate/deleteCategory","GET",{id:t});export{o as a,s as b,g as c,y as d,c as g,n as u}; diff --git a/nginx/html/admin/assets/category-62de9d5c.js b/nginx/html/admin/assets/category-62de9d5c.js new file mode 100644 index 0000000..e1cd7ab --- /dev/null +++ b/nginx/html/admin/assets/category-62de9d5c.js @@ -0,0 +1 @@ +import{a}from"./request-26ab9dc6.js";const s=async()=>a("/cate/getParentCateList","GET"),c=async()=>a("/cate/getCateList","GET"),o=async t=>a("/cate/getCategory","GET",{id:t}),g=async t=>a("/cate/addCategory","POST",t),n=async t=>a("/cate/updateCategory","POST",t),y=async t=>a("/cate/deleteCategory","GET",{id:t});export{o as a,s as b,g as c,y as d,c as g,n as u}; diff --git a/nginx/html/admin/assets/category-7a45a2c5.js b/nginx/html/admin/assets/category-7a45a2c5.js new file mode 100644 index 0000000..e060d53 --- /dev/null +++ b/nginx/html/admin/assets/category-7a45a2c5.js @@ -0,0 +1 @@ +import{a}from"./request-79887494.js";const s=async()=>a("/cate/getParentCateList","GET"),c=async()=>a("/cate/getCateList","GET"),o=async t=>a("/cate/getCategory","GET",{id:t}),g=async t=>a("/cate/addCategory","POST",t),n=async t=>a("/cate/updateCategory","POST",t),y=async t=>a("/cate/deleteCategory","GET",{id:t});export{o as a,s as b,g as c,y as d,c as g,n as u}; diff --git a/nginx/html/admin/assets/category-c7be7113.js b/nginx/html/admin/assets/category-c7be7113.js new file mode 100644 index 0000000..8551fd7 --- /dev/null +++ b/nginx/html/admin/assets/category-c7be7113.js @@ -0,0 +1 @@ +import{a}from"./request-88e5850c.js";const s=async()=>a("/cate/getParentCateList","GET"),c=async()=>a("/cate/getCateList","GET"),o=async t=>a("/cate/getCategory","GET",{id:t}),g=async t=>a("/cate/addCategory","POST",t),n=async t=>a("/cate/updateCategory","POST",t),y=async t=>a("/cate/deleteCategory","GET",{id:t});export{o as a,s as b,g as c,y as d,c as g,n as u}; diff --git a/nginx/html/admin/assets/ckeditor-140c1ad2.js b/nginx/html/admin/assets/ckeditor-140c1ad2.js new file mode 100644 index 0000000..4232187 --- /dev/null +++ b/nginx/html/admin/assets/ckeditor-140c1ad2.js @@ -0,0 +1,7438 @@ +import{al as er,am as AN}from"./index-b2bcea28.js";var nr={exports:{}};nr.exports;(function(we,Ee){(function(Kn){const $e=Kn.zh=Kn.zh||{};$e.dictionary=Object.assign($e.dictionary||{},{"%0 of %1":"%0/%1",Accept:"接受","Align cell text to the bottom":"向下對齊","Align cell text to the center":"置中對齊","Align cell text to the left":"靠左對齊","Align cell text to the middle":"置中對齊","Align cell text to the right":"靠右對齊","Align cell text to the top":"向上對齊","Align table to the left":"靠左對齊","Align table to the right":"靠右對齊",Alignment:"對齊",Aquamarine:"淺綠色",Background:"背景顏色",Black:"黑色","Block quote":"段落引用",Blue:"藍色",Bold:"粗體",Border:"邊框","Break text":"上及下","Bulleted List":"符號清單","Bulleted list styles toolbar":"無序清單工具列",Cancel:"取消","Caption for image: %0":"影像標題:%0","Caption for the image":"影像的標題","Cell properties":"儲存格屬性","Center table":"置中對齊","Centered image":"置中圖片","Change image text alternative":"修改圖片的替代文字","Choose heading":"選取標題",Circle:"空心圓點",Clear:"清除","Click to edit block":"點擊來編輯區塊",Close:"關閉",Code:"代碼",Color:"文字顏色","Color picker":"顏色選擇",Column:"欄",Dashed:"虛線",Decimal:"數字","Decimal with leading zero":"0開頭的數字","Decrease indent":"減少縮排","Delete column":"刪除欄","Delete row":"刪除列","Dim grey":"淡灰色",Dimensions:"尺寸",Disc:"實心圓點",Dotted:"點線",Double:"雙線",Downloadable:"可下載","Drag to move":"拖曳來移動","Dropdown toolbar":"下拉選單","Edit block":"編輯區塊","Edit link":"編輯連結","Editor block content toolbar":"編輯器區塊內容工具列","Editor contextual toolbar":"編輯器關聯式工具列","Editor dialog":"編輯工具對話框","Editor editing area: %0":"編輯器編輯區:%0","Editor toolbar":"編輯器工具","Enter image caption":"輸入圖片說明","Enter table caption":"輸入表標題","Full size image":"完整尺寸圖片",Green:"綠色",Grey:"灰色",Groove:"內凹線","Header column":"標題欄","Header row":"標題列",Heading:"標題","Heading 1":"標題 1","Heading 2":"標題 2","Heading 3":"標題 3","Heading 4":"標題 4","Heading 5":"標題 5","Heading 6":"標題 6",Height:"高度",HEX:"十六進位","Horizontal text alignment toolbar":"水平對齊","Image resize list":"圖片縮放清單","Image toolbar":"圖片工具","image widget":"圖片小工具","In line":"行中","Increase indent":"增加縮排",Insert:"插入","Insert column left":"插入左方欄","Insert column right":"插入右方欄","Insert image":"插入圖片","Insert image via URL":"使用連結插入圖片","Insert media":"插入影音","Insert paragraph after block":"在這個區塊後面插入一個段落","Insert paragraph before block":"在這個區塊前面插入一個段落","Insert row above":"插入上方列","Insert row below":"插入下方列","Insert table":"插入表格",Inset:"內邊線",Italic:"斜體","Justify cell text":"分散對齊","Left aligned image":"向左對齊圖片","Light blue":"亮藍色","Light green":"亮綠色","Light grey":"亮灰色",Link:"連結","Link image":"圖片連結","Link URL":"連結˙ URL","List properties":"清單屬性","Lower-latin":"小寫拉丁字母","Lower–roman":"小寫羅馬數字","Media toolbar":"影音工具","Media URL":"影音網址","media widget":"影音小工具","Merge cell down":"合併下方儲存格","Merge cell left":"合併左方儲存格","Merge cell right":"合併右方儲存格","Merge cell up":"合併上方儲存格","Merge cells":"合併儲存格",Next:"下一","No results found":"找不到結果","No searchable items":"沒有可搜尋的項目",None:"無","Numbered List":"有序清單","Numbered list styles toolbar":"有序清單工具列","Open in a new tab":"在新視窗開啟","Open link in new tab":"在新視窗開啟連結","Open media in new tab":"在新分頁打開媒體",Orange:"橘色",Original:"原始圖片",Outset:"外框線",Padding:"儲存格留白",Paragraph:"段落","Paste the media URL in the input.":"在輸入框貼上影音網址。","Press Enter to type after or press Shift + Enter to type before the widget":"按下 Enter 在小工具後輸入,或按下 Shift + Enter 在小工具前輸入",Previous:"上一",Purple:"紫色",Red:"紅色",Redo:"重做","Remove color":"移除顏色","Replace from computer":"從電腦替換","Replace image":"替換圖片","Replace image from computer":"從電腦替換圖片","Resize image":"縮放圖片","Resize image to %0":"縮放圖片到 %0","Resize image to the original size":"縮放圖片到原始尺寸","Restore default":"重設至預設值","Reversed order":"反轉順序","Rich Text Editor":"富文本編輯器",Ridge:"凸起線","Right aligned image":"向右對齊圖片",Row:"列",Save:"儲存","Select all":"選取全部","Select column":"選擇欄","Select row":"選擇列","Show more items":"顯示更多","Side image":"側邊圖片",Solid:"實線",Source:"原始碼","Split cell horizontally":"水平分割儲存格","Split cell vertically":"垂直分割儲存格",Square:"方形","Start at":"起始於","Start index must be greater than 0.":"起始索引須大於 0。",Strikethrough:"刪除線",Style:"樣式",Subscript:"下標",Superscript:"上標","Table alignment toolbar":"表格對齊","Table cell text alignment":"儲存格文字對齊","Table properties":"表格屬性","Table toolbar":"表格工具","Text alternative":"替代文字",'The color is invalid. Try "#FF0000" or "rgb(255,0,0)" or "red".':'顏色代碼錯誤。試試看 "#FF0000" 或 "rgb(255, 0, 0)" 或 "red"。',"The URL must not be empty.":"網址不能空白。",'The value is invalid. Try "10px" or "2em" or simply "2".':'尺寸代碼錯誤。試試看 "10px" 或 "2em" 或簡單寫 "2"。',"This link has no URL":"此連結沒有URL","This media URL is not supported.":"不支援此影音網址。","Tip: Paste the URL into the content to embed faster.":"提示:在內容貼上網址更快崁入。","To-do List":"代辦清單","Toggle caption off":"關閉表標題","Toggle caption on":"開啟表標題","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":"切換為大寫羅馬數字標示",Turquoise:"藍綠色","Type or paste your content here.":"在此輸入或貼上你的內容。","Type your title":"輸入你的標題",Underline:"底線",Undo:"取消",Unlink:"移除連結",Update:"更新","Update image URL":"更新圖片連結","Upload failed":"上傳失敗","Upload from computer":"從電腦上傳","Upload image from computer":"從電腦上傳圖片","Upload in progress":"正在上傳","Upper-latin":"大寫拉丁字母","Upper-roman":"大寫羅馬數字","Vertical text alignment toolbar":"垂直對齊",White:"白色","Widget toolbar":"小工具",Width:"寬度","Wrap text":"文繞圖",Yellow:"黃色"}),$e.getPluralForm=function(P){return 0}})(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));/*! + * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md. + */(function($e,P){we.exports=P()})(self,()=>(()=>{var Kn={8168:(C,x,h)=>{const v=h(8874),E={};for(const g of Object.keys(v))E[v[g]]=g;const k={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};C.exports=k;for(const g of Object.keys(k)){if(!("channels"in k[g]))throw new Error("missing channels property: "+g);if(!("labels"in k[g]))throw new Error("missing channel labels property: "+g);if(k[g].labels.length!==k[g].channels)throw new Error("channel and label counts mismatch: "+g);const{channels:m,labels:A}=k[g];delete k[g].channels,delete k[g].labels,Object.defineProperty(k[g],"channels",{value:m}),Object.defineProperty(k[g],"labels",{value:A})}k.rgb.hsl=function(g){const m=g[0]/255,A=g[1]/255,_=g[2]/255,y=Math.min(m,A,_),I=Math.max(m,A,_),B=I-y;let F,W;I===y?F=0:m===I?F=(A-_)/B:A===I?F=2+(_-m)/B:_===I&&(F=4+(m-A)/B),F=Math.min(F*60,360),F<0&&(F+=360);const j=(y+I)/2;return I===y?W=0:j<=.5?W=B/(I+y):W=B/(2-I-y),[F,W*100,j*100]},k.rgb.hsv=function(g){let m,A,_,y,I;const B=g[0]/255,F=g[1]/255,W=g[2]/255,j=Math.max(B,F,W),q=j-Math.min(B,F,W),$=function(ot){return(j-ot)/6/q+1/2};return q===0?(y=0,I=0):(I=q/j,m=$(B),A=$(F),_=$(W),B===j?y=_-A:F===j?y=.3333333333333333+m-_:W===j&&(y=.6666666666666666+A-m),y<0?y+=1:y>1&&(y-=1)),[y*360,I*100,j*100]},k.rgb.hwb=function(g){const m=g[0],A=g[1];let _=g[2];const y=k.rgb.hsl(g)[0],I=1/255*Math.min(m,Math.min(A,_));return _=1-.00392156862745098*Math.max(m,Math.max(A,_)),[y,I*100,_*100]},k.rgb.cmyk=function(g){const m=g[0]/255,A=g[1]/255,_=g[2]/255,y=Math.min(1-m,1-A,1-_),I=(1-m-y)/(1-y)||0,B=(1-A-y)/(1-y)||0,F=(1-_-y)/(1-y)||0;return[I*100,B*100,F*100,y*100]};function D(g,m){return(g[0]-m[0])**2+(g[1]-m[1])**2+(g[2]-m[2])**2}k.rgb.keyword=function(g){const m=E[g];if(m)return m;let A=1/0,_;for(const y of Object.keys(v)){const I=v[y],B=D(g,I);B.04045?((m+.055)/1.055)**2.4:m/12.92,A=A>.04045?((A+.055)/1.055)**2.4:A/12.92,_=_>.04045?((_+.055)/1.055)**2.4:_/12.92;const y=m*.4124+A*.3576+_*.1805,I=m*.2126+A*.7152+_*.0722,B=m*.0193+A*.1192+_*.9505;return[y*100,I*100,B*100]},k.rgb.lab=function(g){const m=k.rgb.xyz(g);let A=m[0],_=m[1],y=m[2];A/=95.047,_/=100,y/=108.883,A=A>.008856?A**.3333333333333333:7.787*A+.13793103448275862,_=_>.008856?_**.3333333333333333:7.787*_+.13793103448275862,y=y>.008856?y**.3333333333333333:7.787*y+.13793103448275862;const I=116*_-16,B=500*(A-_),F=200*(_-y);return[I,B,F]},k.hsl.rgb=function(g){const m=g[0]/360,A=g[1]/100,_=g[2]/100;let y,I,B;if(A===0)return B=_*255,[B,B,B];_<.5?y=_*(1+A):y=_+A-_*A;const F=2*_-y,W=[0,0,0];for(let j=0;j<3;j++)I=m+.3333333333333333*-(j-1),I<0&&I++,I>1&&I--,6*I<1?B=F+(y-F)*6*I:2*I<1?B=y:3*I<2?B=F+(y-F)*(.6666666666666666-I)*6:B=F,W[j]=B*255;return W},k.hsl.hsv=function(g){const m=g[0];let A=g[1]/100,_=g[2]/100,y=A;const I=Math.max(_,.01);_*=2,A*=_<=1?_:2-_,y*=I<=1?I:2-I;const B=(_+A)/2,F=_===0?2*y/(I+y):2*A/(_+A);return[m,F*100,B*100]},k.hsv.rgb=function(g){const m=g[0]/60,A=g[1]/100;let _=g[2]/100;const y=Math.floor(m)%6,I=m-Math.floor(m),B=255*_*(1-A),F=255*_*(1-A*I),W=255*_*(1-A*(1-I));switch(_*=255,y){case 0:return[_,W,B];case 1:return[F,_,B];case 2:return[B,_,W];case 3:return[B,F,_];case 4:return[W,B,_];case 5:return[_,B,F]}},k.hsv.hsl=function(g){const m=g[0],A=g[1]/100,_=g[2]/100,y=Math.max(_,.01);let I,B;B=(2-A)*_;const F=(2-A)*y;return I=A*y,I/=F<=1?F:2-F,I=I||0,B/=2,[m,I*100,B*100]},k.hwb.rgb=function(g){const m=g[0]/360;let A=g[1]/100,_=g[2]/100;const y=A+_;let I;y>1&&(A/=y,_/=y);const B=Math.floor(6*m),F=1-_;I=6*m-B,B&1&&(I=1-I);const W=A+I*(F-A);let j,q,$;switch(B){default:case 6:case 0:j=F,q=W,$=A;break;case 1:j=W,q=F,$=A;break;case 2:j=A,q=F,$=W;break;case 3:j=A,q=W,$=F;break;case 4:j=W,q=A,$=F;break;case 5:j=F,q=A,$=W;break}return[j*255,q*255,$*255]},k.cmyk.rgb=function(g){const m=g[0]/100,A=g[1]/100,_=g[2]/100,y=g[3]/100,I=1-Math.min(1,m*(1-y)+y),B=1-Math.min(1,A*(1-y)+y),F=1-Math.min(1,_*(1-y)+y);return[I*255,B*255,F*255]},k.xyz.rgb=function(g){const m=g[0]/100,A=g[1]/100,_=g[2]/100;let y,I,B;return y=m*3.2406+A*-1.5372+_*-.4986,I=m*-.9689+A*1.8758+_*.0415,B=m*.0557+A*-.204+_*1.057,y=y>.0031308?1.055*y**.4166666666666667-.055:y*12.92,I=I>.0031308?1.055*I**.4166666666666667-.055:I*12.92,B=B>.0031308?1.055*B**.4166666666666667-.055:B*12.92,y=Math.min(Math.max(0,y),1),I=Math.min(Math.max(0,I),1),B=Math.min(Math.max(0,B),1),[y*255,I*255,B*255]},k.xyz.lab=function(g){let m=g[0],A=g[1],_=g[2];m/=95.047,A/=100,_/=108.883,m=m>.008856?m**.3333333333333333:7.787*m+.13793103448275862,A=A>.008856?A**.3333333333333333:7.787*A+.13793103448275862,_=_>.008856?_**.3333333333333333:7.787*_+.13793103448275862;const y=116*A-16,I=500*(m-A),B=200*(A-_);return[y,I,B]},k.lab.xyz=function(g){const m=g[0],A=g[1],_=g[2];let y,I,B;I=(m+16)/116,y=A/500+I,B=I-_/200;const F=I**3,W=y**3,j=B**3;return I=F>.008856?F:(I-.13793103448275862)/7.787,y=W>.008856?W:(y-.13793103448275862)/7.787,B=j>.008856?j:(B-.13793103448275862)/7.787,y*=95.047,I*=100,B*=108.883,[y,I,B]},k.lab.lch=function(g){const m=g[0],A=g[1],_=g[2];let y;y=Math.atan2(_,A)*360/2/Math.PI,y<0&&(y+=360);const B=Math.sqrt(A*A+_*_);return[m,B,y]},k.lch.lab=function(g){const m=g[0],A=g[1],y=g[2]/360*2*Math.PI,I=A*Math.cos(y),B=A*Math.sin(y);return[m,I,B]},k.rgb.ansi16=function(g,m=null){const[A,_,y]=g;let I=m===null?k.rgb.hsv(g)[2]:m;if(I=Math.round(I/50),I===0)return 30;let B=30+(Math.round(y/255)<<2|Math.round(_/255)<<1|Math.round(A/255));return I===2&&(B+=60),B},k.hsv.ansi16=function(g){return k.rgb.ansi16(k.hsv.rgb(g),g[2])},k.rgb.ansi256=function(g){const m=g[0],A=g[1],_=g[2];return m===A&&A===_?m<8?16:m>248?231:Math.round((m-8)/247*24)+232:16+36*Math.round(m/255*5)+6*Math.round(A/255*5)+Math.round(_/255*5)},k.ansi16.rgb=function(g){let m=g%10;if(m===0||m===7)return g>50&&(m+=3.5),m=m/10.5*255,[m,m,m];const A=(~~(g>50)+1)*.5,_=(m&1)*A*255,y=(m>>1&1)*A*255,I=(m>>2&1)*A*255;return[_,y,I]},k.ansi256.rgb=function(g){if(g>=232){const I=(g-232)*10+8;return[I,I,I]}g-=16;let m;const A=Math.floor(g/36)/5*255,_=Math.floor((m=g%36)/6)/5*255,y=m%6/5*255;return[A,_,y]},k.rgb.hex=function(g){const A=(((Math.round(g[0])&255)<<16)+((Math.round(g[1])&255)<<8)+(Math.round(g[2])&255)).toString(16).toUpperCase();return"000000".substring(A.length)+A},k.hex.rgb=function(g){const m=g.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!m)return[0,0,0];let A=m[0];m[0].length===3&&(A=A.split("").map(F=>F+F).join(""));const _=parseInt(A,16),y=_>>16&255,I=_>>8&255,B=_&255;return[y,I,B]},k.rgb.hcg=function(g){const m=g[0]/255,A=g[1]/255,_=g[2]/255,y=Math.max(Math.max(m,A),_),I=Math.min(Math.min(m,A),_),B=y-I;let F,W;return B<1?F=I/(1-B):F=0,B<=0?W=0:y===m?W=(A-_)/B%6:y===A?W=2+(_-m)/B:W=4+(m-A)/B,W/=6,W%=1,[W*360,B*100,F*100]},k.hsl.hcg=function(g){const m=g[1]/100,A=g[2]/100,_=A<.5?2*m*A:2*m*(1-A);let y=0;return _<1&&(y=(A-.5*_)/(1-_)),[g[0],_*100,y*100]},k.hsv.hcg=function(g){const m=g[1]/100,A=g[2]/100,_=m*A;let y=0;return _<1&&(y=(A-_)/(1-_)),[g[0],_*100,y*100]},k.hcg.rgb=function(g){const m=g[0]/360,A=g[1]/100,_=g[2]/100;if(A===0)return[_*255,_*255,_*255];const y=[0,0,0],I=m%1*6,B=I%1,F=1-B;let W=0;switch(Math.floor(I)){case 0:y[0]=1,y[1]=B,y[2]=0;break;case 1:y[0]=F,y[1]=1,y[2]=0;break;case 2:y[0]=0,y[1]=1,y[2]=B;break;case 3:y[0]=0,y[1]=F,y[2]=1;break;case 4:y[0]=B,y[1]=0,y[2]=1;break;default:y[0]=1,y[1]=0,y[2]=F}return W=(1-A)*_,[(A*y[0]+W)*255,(A*y[1]+W)*255,(A*y[2]+W)*255]},k.hcg.hsv=function(g){const m=g[1]/100,A=g[2]/100,_=m+A*(1-m);let y=0;return _>0&&(y=m/_),[g[0],y*100,_*100]},k.hcg.hsl=function(g){const m=g[1]/100,_=g[2]/100*(1-m)+.5*m;let y=0;return _>0&&_<.5?y=m/(2*_):_>=.5&&_<1&&(y=m/(2*(1-_))),[g[0],y*100,_*100]},k.hcg.hwb=function(g){const m=g[1]/100,A=g[2]/100,_=m+A*(1-m);return[g[0],(_-m)*100,(1-_)*100]},k.hwb.hcg=function(g){const m=g[1]/100,_=1-g[2]/100,y=_-m;let I=0;return y<1&&(I=(_-y)/(1-y)),[g[0],y*100,I*100]},k.apple.rgb=function(g){return[g[0]/65535*255,g[1]/65535*255,g[2]/65535*255]},k.rgb.apple=function(g){return[g[0]/255*65535,g[1]/255*65535,g[2]/255*65535]},k.gray.rgb=function(g){return[g[0]/100*255,g[0]/100*255,g[0]/100*255]},k.gray.hsl=function(g){return[0,0,g[0]]},k.gray.hsv=k.gray.hsl,k.gray.hwb=function(g){return[0,100,g[0]]},k.gray.cmyk=function(g){return[0,0,0,g[0]]},k.gray.lab=function(g){return[g[0],0,0]},k.gray.hex=function(g){const m=Math.round(g[0]/100*255)&255,_=((m<<16)+(m<<8)+m).toString(16).toUpperCase();return"000000".substring(_.length)+_},k.rgb.gray=function(g){return[(g[0]+g[1]+g[2])/3/255*100]}},2085:(C,x,h)=>{const v=h(8168),E=h(4111),k={},D=Object.keys(v);function g(A){const _=function(...y){const I=y[0];return I==null?I:(I.length>1&&(y=I),A(y))};return"conversion"in A&&(_.conversion=A.conversion),_}function m(A){const _=function(...y){const I=y[0];if(I==null)return I;I.length>1&&(y=I);const B=A(y);if(typeof B=="object")for(let F=B.length,W=0;W{k[A]={},Object.defineProperty(k[A],"channels",{value:v[A].channels}),Object.defineProperty(k[A],"labels",{value:v[A].labels});const _=E(A);Object.keys(_).forEach(I=>{const B=_[I];k[A][I]=m(B),k[A][I].raw=g(B)})}),C.exports=k},4111:(C,x,h)=>{const v=h(8168);function E(){const m={},A=Object.keys(v);for(let _=A.length,y=0;y<_;y++)m[A[y]]={distance:-1,parent:null};return m}function k(m){const A=E(),_=[m];for(A[m].distance=0;_.length;){const y=_.pop(),I=Object.keys(v[y]);for(let B=I.length,F=0;F{C.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},5363:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.id,".ck-content code{background-color:hsla(0,0%,78%,.3);border-radius:2px;padding:.15em}.ck.ck-editor__editable .ck-code_selected{background-color:hsla(0,0%,78%,.5)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-basic-styles/theme/code.css"],names:[],mappings:"AAKA,iBACC,kCAAuC,CAEvC,iBAAkB,CADlB,aAED,CAEA,0CACC,kCACD",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck-content code { + background-color: hsla(0, 0%, 78%, 0.3); + padding: .15em; + border-radius: 2px; +} + +.ck.ck-editor__editable .ck-code_selected { + background-color: hsla(0, 0%, 78%, 0.5); +} +`],sourceRoot:""}]);const m=g},3789:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.id,".ck-content blockquote{border-left:5px solid #ccc;font-style:italic;margin-left:0;margin-right:0;overflow:hidden;padding-left:1.5em;padding-right:1.5em}.ck-content[dir=rtl] blockquote{border-left:0;border-right:5px solid #ccc}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-block-quote/theme/blockquote.css"],names:[],mappings:"AAKA,uBAWC,0BAAsC,CADtC,iBAAkB,CAFlB,aAAc,CACd,cAAe,CAPf,eAAgB,CAIhB,kBAAmB,CADnB,mBAOD,CAEA,gCACC,aAAc,CACd,2BACD",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck-content blockquote { + /* See #12 */ + overflow: hidden; + + /* https://github.com/ckeditor/ckeditor5-block-quote/issues/15 */ + padding-right: 1.5em; + padding-left: 1.5em; + + margin-left: 0; + margin-right: 0; + font-style: italic; + border-left: solid 5px hsl(0, 0%, 80%); +} + +.ck-content[dir="rtl"] blockquote { + border-left: 0; + border-right: solid 5px hsl(0, 0%, 80%); +} +`],sourceRoot:""}]);const m=g},799:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.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}.ck.ck-clipboard-drop-target-line{pointer-events:none;position:absolute}: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}.ck.ck-clipboard-drop-target-line{background:var(--ck-clipboard-drop-target-color);border:1px solid var(--ck-clipboard-drop-target-color);height:0;margin-top:-1px}.ck.ck-clipboard-drop-target-line:before{border-style:solid;content:"";height:0;position:absolute;top:calc(var(--ck-clipboard-drop-target-dot-width)*-.5);width:0}[dir=ltr] .ck.ck-clipboard-drop-target-line:before{border-color:transparent transparent transparent var(--ck-clipboard-drop-target-color);border-width:calc(var(--ck-clipboard-drop-target-dot-width)*.5) 0 calc(var(--ck-clipboard-drop-target-dot-width)*.5) var(--ck-clipboard-drop-target-dot-height);left:-1px}[dir=rtl] .ck.ck-clipboard-drop-target-line:before{border-color:transparent var(--ck-clipboard-drop-target-color) transparent transparent;border-width:calc(var(--ck-clipboard-drop-target-dot-width)*.5) var(--ck-clipboard-drop-target-dot-height) calc(var(--ck-clipboard-drop-target-dot-width)*.5) 0;right:-1px}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-clipboard/theme/clipboard.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-clipboard/clipboard.css"],names:[],mappings:"AASC,8DACC,cAAe,CAEf,mBAAoB,CADpB,iBAOD,CAJC,mEACC,iBAAkB,CAClB,OACD,CAWA,qJACC,YACD,CAIF,kCAEC,mBAAoB,CADpB,iBAED,CC9BA,MACC,yCAA0C,CAC1C,yCAA0C,CAC1C,6DACD,CAOE,mEAIC,gDAAiD,CADjD,sDAAuD,CAFvD,2DAA8D,CAI9D,gBAAiB,CAHjB,wDAqBD,CAfC,yEAWC,sFAAuF,CAEvF,kBAAmB,CADnB,qKAA0K,CAX1K,UAAW,CAIX,aAAc,CAFd,QAAS,CAIT,QAAS,CADT,iBAAkB,CAElB,wDAA2D,CAE3D,0BAA2B,CAR3B,OAYD,CAOF,kEACC,gGACD,CAKA,gDACC,OAAS,CACT,sBACD,CAGD,kCAGC,gDAAiD,CADjD,sDAAuD,CADvD,QAAS,CAGT,eAwBD,CAtBC,yCAMC,kBAAmB,CALnB,UAAW,CAIX,QAAS,CAHT,iBAAkB,CAClB,uDAA0D,CAC1D,OAiBD,CArBA,mDAYE,sFAAuF,CADvF,+JAAoK,CAFpK,SAYF,CArBA,mDAmBE,sFAAuF,CADvF,+JAAmK,CAFnK,UAKF",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-editor__editable { + /* + * Vertical drop target (in text). + */ + & .ck.ck-clipboard-drop-target-position { + display: inline; + position: relative; + pointer-events: none; + + & span { + position: absolute; + width: 0; + } + } + + /* + * Styles of the widget being dragged (its preview). + */ + & .ck-widget:-webkit-drag { + & > .ck-widget__selection-handle { + display: none; + } + + & > .ck-widget__type-around { + display: none; + } + } +} + +.ck.ck-clipboard-drop-target-line { + position: absolute; + pointer-events: none; +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css"; + +: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 { + /* + * Vertical drop target (in text). + */ + & .ck.ck-clipboard-drop-target-position { + & span { + bottom: calc(-.5 * var(--ck-clipboard-drop-target-dot-height)); + top: calc(-.5 * var(--ck-clipboard-drop-target-dot-height)); + border: 1px solid var(--ck-clipboard-drop-target-color); + background: var(--ck-clipboard-drop-target-color); + margin-left: -1px; + + /* The triangle above the marker */ + &::after { + content: ''; + width: 0; + height: 0; + + display: block; + position: absolute; + left: 50%; + top: calc(-.5 * var(--ck-clipboard-drop-target-dot-height)); + + transform: translateX(-50%); + border-color: var(--ck-clipboard-drop-target-color) transparent transparent transparent; + border-width: calc(var(--ck-clipboard-drop-target-dot-height)) calc(.5 * var(--ck-clipboard-drop-target-dot-width)) 0 calc(.5 * var(--ck-clipboard-drop-target-dot-width)); + border-style: solid; + } + } + } + + /* + * Styles of the widget that it a drop target. + */ + & .ck-widget.ck-clipboard-drop-target-range { + outline: var(--ck-widget-outline-thickness) solid var(--ck-clipboard-drop-target-color) !important; + } + + /* + * Styles of the widget being dragged (its preview). + */ + & .ck-widget:-webkit-drag { + zoom: 0.6; + outline: none !important; + } +} + +.ck.ck-clipboard-drop-target-line { + height: 0; + border: 1px solid var(--ck-clipboard-drop-target-color); + background: var(--ck-clipboard-drop-target-color); + margin-top: -1px; + + &::before { + content: ''; + position: absolute; + top: calc(-.5 * var(--ck-clipboard-drop-target-dot-width)); + width: 0; + height: 0; + border-style: solid; + + @mixin ck-dir ltr { + left: -1px; + + border-width: calc(.5 * var(--ck-clipboard-drop-target-dot-width)) 0 calc(.5 * var(--ck-clipboard-drop-target-dot-width)) var(--ck-clipboard-drop-target-dot-height); + border-color: transparent transparent transparent var(--ck-clipboard-drop-target-color); + } + + @mixin ck-dir rtl { + right: -1px; + + border-width:calc(.5 * var(--ck-clipboard-drop-target-dot-width)) var(--ck-clipboard-drop-target-dot-height) calc(.5 * var(--ck-clipboard-drop-target-dot-width)) 0; + border-color: transparent var(--ck-clipboard-drop-target-color) transparent transparent; + } + } +} +`],sourceRoot:""}]);const m=g},3624:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.id,".ck.ck-editor{position:relative}.ck.ck-editor .ck-editor__top .ck-sticky-panel .ck-toolbar{z-index:var(--ck-z-panel)}.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)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-editor-classic/theme/classiceditor.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-editor-classic/classiceditor.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAKA,cAIC,iBAMD,CAJC,2DAEC,yBACD,CCLC,gDCED,eDKC,CAPA,uICMA,qCAAsC,CDJpC,2BAA4B,CAC5B,4BAIF,CAPA,gDAMC,qBACD,CAEA,iFACC,uBAAwB,CCR1B,eDaC,CANA,yMCHA,qCAAsC,CDOpC,eAEF,CAKF,yCAEC,0CAA2C,CCpB3C,eD8BD,CAZA,yHCdE,qCAAsC,CDmBtC,wBAAyB,CACzB,yBAMF,CAHC,0DACC,wCACD",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-editor { + /* All the elements within \`.ck-editor\` are positioned relatively to it. + If any element needs to be positioned with respect to the , etc., + it must land outside of the \`.ck-editor\` in DOM. */ + position: relative; + + & .ck-editor__top .ck-sticky-panel .ck-toolbar { + /* https://github.com/ckeditor/ckeditor5-editor-classic/issues/62 */ + z-index: var(--ck-z-panel); + } +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "../mixins/_rounded.css"; + +.ck.ck-editor__top { + & .ck-sticky-panel { + & .ck-toolbar { + @mixin ck-rounded-corners { + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + } + + border-bottom-width: 0; + } + + & .ck-sticky-panel__content_sticky .ck-toolbar { + border-bottom-width: 1px; + + @mixin ck-rounded-corners { + border-radius: 0; + } + } + } +} + +/* Note: Use ck-editor__main to make sure these styles don't apply to other editor types */ +.ck.ck-editor__main > .ck-editor__editable { + /* https://github.com/ckeditor/ckeditor5-theme-lark/issues/113 */ + background: var(--ck-color-base-background); + + @mixin ck-rounded-corners { + border-top-left-radius: 0; + border-top-right-radius: 0; + } + + &:not(.ck-focused) { + border-color: var(--ck-color-base-border); + } +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * Implements rounded corner interface for .ck-rounded-corners class. + * + * @see $ck-border-radius + */ +@define-mixin ck-rounded-corners { + border-radius: 0; + + @nest .ck-rounded-corners &, + &.ck-rounded-corners { + border-radius: var(--ck-border-radius); + @mixin-content; + } +} +`],sourceRoot:""}]);const m=g},7372:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.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}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-engine/theme/placeholder.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-engine/placeholder.css"],names:[],mappings:"AAMA,uCAEC,iBAWD,CATC,qDAIC,8BAA+B,CAF/B,MAAO,CAKP,mBAAoB,CANpB,iBAAkB,CAElB,OAKD,CAKA,wCACC,YACD,CAQD,iCACC,iBACD,CC5BC,qDAEC,6CAA8C,CAD9C,WAED",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/* See ckeditor/ckeditor5#936. */ +.ck.ck-placeholder, +.ck .ck-placeholder { + position: relative; + + &::before { + position: absolute; + left: 0; + right: 0; + content: attr(data-placeholder); + + /* See ckeditor/ckeditor5#469. */ + pointer-events: none; + } +} + +/* See ckeditor/ckeditor5#1987. */ +.ck.ck-read-only .ck-placeholder { + &::before { + display: none; + } +} + +/* + * Rules for the \`ck-placeholder\` are loaded before the rules for \`ck-reset_all\` in the base CKEditor 5 DLL build. + * This fix overwrites the incorrectly set \`position: static\` from \`ck-reset_all\`. + * See https://github.com/ckeditor/ckeditor5/issues/11418. + */ +.ck.ck-reset_all .ck-placeholder { + position: relative; +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/* See ckeditor/ckeditor5#936. */ +.ck.ck-placeholder, .ck .ck-placeholder { + &::before { + cursor: text; + color: var(--ck-color-engine-placeholder-text); + } +} +`],sourceRoot:""}]);const m=g},5037:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.id,".ck.ck-editor__editable span[data-ck-unsafe-element]{display:none}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-engine/theme/renderer.css"],names:[],mappings:"AAMA,qDACC,YACD",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/* Elements marked by the Renderer as hidden should be invisible in the editor. */ +.ck.ck-editor__editable span[data-ck-unsafe-element] { + display: none; +} +`],sourceRoot:""}]);const m=g},4249:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.id,".ck.ck-heading_heading1{font-size:20px}.ck.ck-heading_heading2{font-size:17px}.ck.ck-heading_heading3{font-size:14px}.ck[class*=ck-heading_heading]{font-weight:700}.ck.ck-dropdown.ck-heading-dropdown .ck-dropdown__button .ck-button__label{width:8em}.ck.ck-dropdown.ck-heading-dropdown .ck-dropdown__panel .ck-list__item{min-width:18em}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-heading/theme/heading.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-heading/heading.css"],names:[],mappings:"AAKA,wBACC,cACD,CAEA,wBACC,cACD,CAEA,wBACC,cACD,CAEA,+BACC,eACD,CCZC,2EACC,SACD,CAEA,uEACC,cACD",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-heading_heading1 { + font-size: 20px; +} + +.ck.ck-heading_heading2 { + font-size: 17px; +} + +.ck.ck-heading_heading3 { + font-size: 14px; +} + +.ck[class*="ck-heading_heading"] { + font-weight: bold; +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/* Resize dropdown's button label. */ +.ck.ck-dropdown.ck-heading-dropdown { + & .ck-dropdown__button .ck-button__label { + width: 8em; + } + + & .ck-dropdown__panel .ck-list__item { + min-width: 18em; + } +} +`],sourceRoot:""}]);const m=g},2430:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.id,".ck-content .image{clear:both;display:table;margin:.9em auto;min-width:50px;text-align:center}.ck-content .image img{display:block;height:auto;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{z-index:1}.ck.ck-editor__editable .image.ck-widget_selected{z-index:2}.ck.ck-editor__editable .image-inline{z-index:1}.ck.ck-editor__editable .image-inline.ck-widget_selected{z-index:2}.ck.ck-editor__editable .image-inline.ck-widget_selected ::selection{display:none}.ck.ck-editor__editable .image-inline img{height:auto}.ck.ck-editor__editable td .image-inline img,.ck.ck-editor__editable th .image-inline img{max-width:none}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-image/theme/image.css"],names:[],mappings:"AAMC,mBAEC,UAAW,CADX,aAAc,CAOd,gBAAkB,CAGlB,cAAe,CARf,iBA2BD,CAjBC,uBAEC,aAAc,CAad,WAAY,CAVZ,aAAc,CAGd,cAAe,CAGf,cAKD,CAGD,0BAYC,sBAAuB,CANvB,mBAAoB,CAGpB,cAoBD,CAdC,kCACC,YACD,CAGA,gEAGC,WAAY,CACZ,aAAc,CAGd,cACD,CAUD,gEASC,eAAgB,CARhB,oBAAqB,CACrB,qBAAsB,CAQtB,sBAAuB,CAFvB,kBAGD,CAKA,+BACC,SASD,CAHC,kDACC,SACD,CAMD,sCACC,SAkBD,CAZC,yDACC,SAUD,CAHC,qEACC,YACD,CAMF,0CACC,WACD,CAMC,0FACC,cACD",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck-content { + & .image { + display: table; + clear: both; + text-align: center; + + /* Make sure there is some space between the content and the image. Center image by default. */ + /* The first value should be equal to --ck-spacing-large variable if used in the editor context + to avoid the content jumping (See https://github.com/ckeditor/ckeditor5/issues/9825). */ + margin: 0.9em auto; + + /* Make sure the caption will be displayed properly (See: https://github.com/ckeditor/ckeditor5/issues/1870). */ + min-width: 50px; + + & img { + /* Prevent unnecessary margins caused by line-height (see #44). */ + display: block; + + /* Center the image if its width is smaller than the content's width. */ + margin: 0 auto; + + /* Make sure the image never exceeds the size of the parent container (ckeditor/ckeditor5-ui#67). */ + max-width: 100%; + + /* Make sure the image is never smaller than the parent container (See: https://github.com/ckeditor/ckeditor5/issues/9300). */ + min-width: 100%; + + /* Keep proportions of the block image if the height is set and the image is wider than the editor width. + See https://github.com/ckeditor/ckeditor5/issues/14542. */ + height: auto; + } + } + + & .image-inline { + /* + * Normally, the .image-inline would have "display: inline-block" and "img { width: 100% }" (to follow the wrapper while resizing). + * Unfortunately, together with "srcset", it gets automatically stretched up to the width of the editing root. + * This strange behavior does not happen with inline-flex. + */ + display: inline-flex; + + /* While being resized, don't allow the image to exceed the width of the editing root. */ + max-width: 100%; + + /* This is required by Safari to resize images in a sensible way. Without this, the browser breaks the ratio. */ + align-items: flex-start; + + /* When the picture is present it must act as a flex container to let the img resize properly */ + & picture { + display: flex; + } + + /* When the picture is present, it must act like a resizable img. */ + & picture, + & img { + /* This is necessary for the img to span the entire .image-inline wrapper and to resize properly. */ + flex-grow: 1; + flex-shrink: 1; + + /* Prevents overflowing the editing root boundaries when an inline image is very wide. */ + max-width: 100%; + } + } +} + +.ck.ck-editor__editable { + /* + * Inhertit the content styles padding of the
in case the integration overrides \`text-align: center\` + * of \`.image\` (e.g. to the left/right). This ensures the placeholder stays at the padding just like the native + * caret does, and not at the edge of
. + */ + & .image > figcaption.ck-placeholder::before { + padding-left: inherit; + padding-right: inherit; + + /* + * Make sure the image caption placeholder doesn't overflow the placeholder area. + * See https://github.com/ckeditor/ckeditor5/issues/9162. + */ + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + } + + /* + * See https://github.com/ckeditor/ckeditor5/issues/15115. + */ + & .image { + z-index: 1; + + /* + * Make sure the selected image always stays on top of its siblings. + * See https://github.com/ckeditor/ckeditor5/issues/9108. + */ + &.ck-widget_selected { + z-index: 2; + } + } + + /* + * See https://github.com/ckeditor/ckeditor5/issues/15115. + */ + & .image-inline { + z-index: 1; + + /* + * Make sure the selected inline image always stays on top of its siblings. + * See https://github.com/ckeditor/ckeditor5/issues/9108. + */ + &.ck-widget_selected { + z-index: 2; + + /* + * Make sure the native browser selection style is not displayed. + * Inline image widgets have their own styles for the selected state and + * leaving this up to the browser is asking for a visual collision. + */ + & ::selection { + display: none; + } + } + } + + /* Keep proportions of the inline image if the height is set and the image is wider than the editor width. + See https://github.com/ckeditor/ckeditor5/issues/14542. */ + & .image-inline img { + height: auto; + } + + /* The inline image nested in the table should have its original size if not resized. + See https://github.com/ckeditor/ckeditor5/issues/9117. */ + & td, + & th { + & .image-inline img { + max-width: none; + } + } +} +`],sourceRoot:""}]);const m=g},2423:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.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)}}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imagecaption.css"],names:[],mappings:"AAKA,MACC,2CAAoD,CACpD,kCAA8C,CAC9C,mDACD,CAGA,8BAKC,yDAA0D,CAH1D,mBAAoB,CAEpB,wCAAyC,CAHzC,qBAAsB,CAMtB,eAAgB,CAChB,mBAAoB,CAFpB,YAAa,CAHb,qBAMD,CAGA,qEACC,iDACD,CAEA,sCACC,GACC,oEACD,CAEA,GACC,yDACD,CACD",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +:root { + --ck-color-image-caption-background: hsl(0, 0%, 97%); + --ck-color-image-caption-text: hsl(0, 0%, 20%); + --ck-color-image-caption-highligted-background: hsl(52deg 100% 50%); +} + +/* Content styles */ +.ck-content .image > figcaption { + display: table-caption; + caption-side: bottom; + word-break: break-word; + color: var(--ck-color-image-caption-text); + background-color: var(--ck-color-image-caption-background); + padding: .6em; + font-size: .75em; + outline-offset: -1px; +} + +/* Editing styles */ +.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); + } + + 100% { + background-color: var(--ck-color-image-caption-background); + } +} +`],sourceRoot:""}]);const m=g},8879:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.id,".ck.ck-image-insert-url .ck-image-insert-url__action-row{display:grid;grid-template-columns:repeat(2,1fr)}:root{--ck-image-insert-insert-by-url-width:250px}.ck.ck-image-insert-url{--ck-input-width:100%}.ck.ck-image-insert-url .ck-image-insert-url__action-row{grid-column-gap:var(--ck-spacing-large);margin-top:var(--ck-spacing-large)}.ck.ck-image-insert-url .ck-image-insert-url__action-row .ck-button-cancel,.ck.ck-image-insert-url .ck-image-insert-url__action-row .ck-button-save{justify-content:center;min-width:auto}.ck.ck-image-insert-url .ck-image-insert-url__action-row .ck-button .ck-button__label{color:var(--ck-color-text)}.ck.ck-image-insert-form>.ck.ck-button{display:block;padding:var(--ck-list-button-padding);width:100%}[dir=ltr] .ck.ck-image-insert-form>.ck.ck-button{text-align:left}[dir=rtl] .ck.ck-image-insert-form>.ck.ck-button{text-align:right}.ck.ck-image-insert-form>.ck.ck-collapsible:not(:first-child){border-top:1px solid var(--ck-color-base-border)}.ck.ck-image-insert-form>.ck.ck-collapsible:not(:last-child){border-bottom:1px solid var(--ck-color-base-border)}.ck.ck-image-insert-form>.ck.ck-collapsible,.ck.ck-image-insert-form>.ck.ck-image-insert-url{min-width:var(--ck-image-insert-insert-by-url-width)}.ck.ck-image-insert-form>.ck.ck-image-insert-url{padding:var(--ck-spacing-large)}.ck.ck-image-insert-form:focus{outline:none}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imageinsert.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-image/imageinsert.css"],names:[],mappings:"AAMC,yDACC,YAAa,CACb,mCACD,CCFD,MACC,2CACD,CAEA,wBACC,qBAgBD,CAdC,yDACC,uCAAwC,CACxC,kCAWD,CATC,oJAEC,sBAAuB,CACvB,cACD,CAEA,sFACC,0BACD,CAKD,uCACC,aAAc,CAEd,qCAAsC,CADtC,UAUD,CAZA,iDAME,eAMF,CAZA,iDAUE,gBAEF,CAGC,8DACC,gDACD,CAEA,6DACC,mDACD,CAMD,6FAJC,oDAOD,CAHA,iDAEC,+BACD,CAEA,+BACC,YACD",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-image-insert-url { + & .ck-image-insert-url__action-row { + display: grid; + grid-template-columns: repeat(2, 1fr); + } +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css"; + +:root { + --ck-image-insert-insert-by-url-width: 250px; +} + +.ck.ck-image-insert-url { + --ck-input-width: 100%; + + & .ck-image-insert-url__action-row { + grid-column-gap: var(--ck-spacing-large); + margin-top: var(--ck-spacing-large); + + & .ck-button-save, + & .ck-button-cancel { + justify-content: center; + min-width: auto; + } + + & .ck-button .ck-button__label { + color: var(--ck-color-text); + } + } +} + +.ck.ck-image-insert-form { + & > .ck.ck-button { + display: block; + width: 100%; + padding: var(--ck-list-button-padding); + + @mixin ck-dir ltr { + text-align: left; + } + + @mixin ck-dir rtl { + text-align: right; + } + } + + & > .ck.ck-collapsible { + &:not(:first-child) { + border-top: 1px solid var(--ck-color-base-border); + } + + &:not(:last-child) { + border-bottom: 1px solid var(--ck-color-base-border); + } + + min-width: var(--ck-image-insert-insert-by-url-width); + } + + /* This is the case when there are no other integrations configured than insert by URL */ + & > .ck.ck-image-insert-url { + min-width: var(--ck-image-insert-insert-by-url-width); + padding: var(--ck-spacing-large); + } + + &:focus { + outline: none; + } +} +`],sourceRoot:""}]);const m=g},31:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.id,".ck.ck-editor__editable img.image_placeholder{background-size:100% 100%}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imageplaceholder.css"],names:[],mappings:"AAMC,8CACC,yBACD",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-editor__editable { + & img.image_placeholder { + background-size: 100% 100%; + } +} +`],sourceRoot:""}]);const m=g},2400:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.id,".ck-content img.image_resized{height:auto}.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}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imageresize.css"],names:[],mappings:"AAMA,8BACC,WACD,CAEA,iCAQC,qBAAsB,CADtB,aAAc,CANd,cAkBD,CATC,qCAEC,UACD,CAEA,4CAEC,aACD,CAQC,sHACC,cACD,CAIF,oFACC,uCACD,CAEA,oFACC,sCACD,CAEA,oEACC,SACD",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/* Preserve aspect ratio of the resized image after introducing image height attribute. */ +.ck-content img.image_resized { + height: auto; +} + +.ck-content .image.image_resized { + max-width: 100%; + /* + The \`
\` element for resized images must not use \`display:table\` as browsers do not support \`max-width\` for it well. + See https://stackoverflow.com/questions/4019604/chrome-safari-ignoring-max-width-in-table/14420691#14420691 for more. + Fortunately, since we control the width, there is no risk that the image will look bad. + */ + display: block; + box-sizing: border-box; + + & img { + /* For resized images it is the \`
\` element that determines the image width. */ + width: 100%; + } + + & > figcaption { + /* The \`
\` element uses \`display:block\`, so \`
\` also has to. */ + display: block; + } +} + +.ck.ck-editor__editable { + /* The resized inline image nested in the table should respect its parent size. + See https://github.com/ckeditor/ckeditor5/issues/9117. */ + & td, + & 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; +} +`],sourceRoot:""}]);const m=g},3534:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.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)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imagestyle.css"],names:[],mappings:"AAKA,MACC,8BAA+B,CAC/B,qEACD,CAMC,qFAEC,oDACD,CAIA,yEAEC,UACD,CAEA,8BACC,WAAY,CACZ,yCAA0C,CAC1C,aACD,CAEA,oCACC,UAAW,CACX,0CACD,CAEA,sCACC,gBAAiB,CACjB,iBACD,CAEA,qCACC,WAAY,CACZ,yCACD,CAEA,2CAEC,gBAAiB,CADjB,cAED,CAEA,0CACC,aAAc,CACd,iBACD,CAGA,6GAGC,YACD,CAGC,mGAGC,kDAAmD,CADnD,+CAED,CAEA,iDACC,iDACD,CAEA,kDACC,gDACD,CAUC,0lBAGC,qDAKD,CAHC,8nBACC,YACD,CAKD,oVAGC,2DACD",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +:root { + --ck-image-style-spacing: 1.5em; + --ck-inline-image-style-spacing: calc(var(--ck-image-style-spacing) / 2); +} + +.ck-content { + /* Provides a minimal side margin for the left and right aligned images, so that the user has a visual feedback + confirming successful application of the style if image width exceeds the editor's size. + See https://github.com/ckeditor/ckeditor5/issues/9342 */ + & .image-style-block-align-left, + & .image-style-block-align-right { + max-width: calc(100% - var(--ck-image-style-spacing)); + } + + /* Allows displaying multiple floating images in the same line. + See https://github.com/ckeditor/ckeditor5/issues/9183#issuecomment-804988132 */ + & .image-style-align-left, + & .image-style-align-right { + clear: none; + } + + & .image-style-side { + float: right; + margin-left: var(--ck-image-style-spacing); + max-width: 50%; + } + + & .image-style-align-left { + float: left; + margin-right: var(--ck-image-style-spacing); + } + + & .image-style-align-center { + margin-left: auto; + margin-right: auto; + } + + & .image-style-align-right { + float: right; + margin-left: var(--ck-image-style-spacing); + } + + & .image-style-block-align-right { + margin-right: 0; + margin-left: auto; + } + + & .image-style-block-align-left { + margin-left: 0; + margin-right: auto; + } + + /* Simulates margin collapsing with the preceding paragraph, which does not work for the floating elements. */ + & p + .image-style-align-left, + & p + .image-style-align-right, + & p + .image-style-side { + margin-top: 0; + } + + & .image-inline { + &.image-style-align-left, + &.image-style-align-right { + margin-top: var(--ck-inline-image-style-spacing); + margin-bottom: var(--ck-inline-image-style-spacing); + } + + &.image-style-align-left { + margin-right: var(--ck-inline-image-style-spacing); + } + + &.image-style-align-right { + margin-left: var(--ck-inline-image-style-spacing); + } + } +} + +.ck.ck-splitbutton { + /* The button should display as a regular drop-down if the action button + is forced to fire the same action as the arrow button. */ + &.ck-splitbutton_flatten { + &:hover, + &.ck-splitbutton_open { + & > .ck-splitbutton__action:not(.ck-disabled), + & > .ck-splitbutton__arrow:not(.ck-disabled), + & > .ck-splitbutton__arrow:not(.ck-disabled):not(:hover) { + background-color: var(--ck-color-button-on-background); + + &::after { + display: none; + } + } + } + + &.ck-splitbutton_open:hover { + & > .ck-splitbutton__action:not(.ck-disabled), + & > .ck-splitbutton__arrow:not(.ck-disabled), + & > .ck-splitbutton__arrow:not(.ck-disabled):not(:hover) { + background-color: var(--ck-color-button-on-hover-background); + } + } + } +} +`],sourceRoot:""}]);const m=g},1547:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.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}}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imageuploadicon.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-image/imageuploadicon.css"],names:[],mappings:"AAKA,+BAUC,iBAAkB,CATlB,aAAc,CACd,iBAAkB,CAOlB,sCAAwC,CADxC,oCAAsC,CAGtC,SAMD,CAJC,qCACC,UAAW,CACX,iBACD,CChBD,MACC,iCAA8C,CAC9C,+CAA4D,CAG5D,8BAA+B,CAC/B,gCAAiC,CACjC,4DACD,CAEA,+BAWC,sBAA4B,CAN5B,0BAAgC,CADhC,qCAAuC,CADvC,wEAA0E,CAD1E,uDAAwD,CAMxD,oDAAuD,CAWvD,oFAAuF,CAlBvF,SAAU,CAgBV,eAAgB,CAChB,mFA0BD,CAtBC,qCAgBC,mBAAsB,CADtB,sBAAyB,CAEzB,4BAA6B,CAH7B,4CAA6C,CAF7C,sFAAuF,CADvF,oFAAqF,CASrF,qBAAsB,CAdtB,QAAS,CAJT,QAAS,CAGT,SAAU,CADV,OAAQ,CAKR,mCAAoC,CACpC,yBAA0B,CAH1B,OAcD,CAGD,wCACC,GACC,SACD,CAEA,GACC,SACD,CACD,CAEA,wCACC,GACC,SACD,CAEA,GACC,SACD,CACD,CAEA,yCACC,GAGC,QAAS,CAFT,SAAU,CACV,OAED,CACA,IAEC,QAAS,CADT,UAED,CACA,GAGC,YAAc,CAFd,SAAU,CACV,UAED,CACD",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck-image-upload-complete-icon { + display: block; + position: absolute; + + /* + * Smaller images should have the icon closer to the border. + * Match the icon position with the linked image indicator brought by the link image feature. + */ + top: min(var(--ck-spacing-medium), 6%); + right: min(var(--ck-spacing-medium), 6%); + border-radius: 50%; + z-index: 1; + + &::after { + content: ""; + position: absolute; + } +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +:root { + --ck-color-image-upload-icon: hsl(0, 0%, 100%); + --ck-color-image-upload-icon-background: hsl(120, 100%, 27%); + + /* Match the icon size with the linked image indicator brought by the link image feature. */ + --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 { + opacity: 0; + background: var(--ck-color-image-upload-icon-background); + animation-name: ck-upload-complete-icon-show, ck-upload-complete-icon-hide; + animation-fill-mode: forwards, forwards; + animation-duration: 500ms, 500ms; + + /* To make animation scalable. */ + font-size: calc(1px * var(--ck-image-upload-icon-size)); + + /* Hide completed upload icon after 3 seconds. */ + animation-delay: 0ms, 3000ms; + + /* + * Use CSS math to simulate container queries. + * https://css-tricks.com/the-raven-technique-one-step-closer-to-container-queries/#what-about-showing-and-hiding-things + */ + overflow: hidden; + width: calc(var(--ck-image-upload-icon-is-visible) * var(--ck-image-upload-icon-size)); + height: calc(var(--ck-image-upload-icon-is-visible) * var(--ck-image-upload-icon-size)); + + /* This is check icon element made from border-width mixed with animations. */ + &::after { + /* Because of border transformation we need to "hard code" left position. */ + left: 25%; + + top: 50%; + opacity: 0; + height: 0; + width: 0; + + transform: scaleX(-1) rotate(135deg); + transform-origin: left top; + border-top: var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon); + border-right: var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon); + + animation-name: ck-upload-complete-icon-check; + animation-duration: 500ms; + animation-delay: 500ms; + animation-fill-mode: forwards; + + /* #1095. While reset is not providing proper box-sizing for pseudoelements, we need to handle it. */ + box-sizing: border-box; + } +} + +@keyframes ck-upload-complete-icon-show { + from { + opacity: 0; + } + + to { + opacity: 1; + } +} + +@keyframes ck-upload-complete-icon-hide { + from { + opacity: 1; + } + + to { + opacity: 0; + } +} + +@keyframes ck-upload-complete-icon-check { + 0% { + opacity: 1; + width: 0; + height: 0; + } + 33% { + width: 0.3em; + height: 0; + } + 100% { + opacity: 1; + width: 0.3em; + height: 0.45em; + } +} +`],sourceRoot:""}]);const m=g},6618:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.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)}}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imageuploadloader.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-image/imageuploadloader.css"],names:[],mappings:"AAKA,kCAGC,kBAAmB,CADnB,YAAa,CAEb,sBAAuB,CAEvB,MAAO,CALP,iBAAkB,CAIlB,KAOD,CAJC,yCACC,UAAW,CACX,iBACD,CCXD,MACC,4CAAqD,CACrD,wCAAyC,CACzC,8CACD,CAEA,iCAGC,QAAS,CADT,UAgBD,CAbC,8CACC,sGACD,CAEA,qCAOC,4DACD,CAGD,kCAEC,WAAY,CADZ,UAWD,CARC,yCAMC,yDAA0D,CAH1D,iBAAkB,CAElB,kCAAmC,CADnC,8DAA+D,CAF/D,+CAAgD,CADhD,8CAMD,CAGD,wCACC,GACC,uBACD,CACD",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck .ck-upload-placeholder-loader { + position: absolute; + display: flex; + align-items: center; + justify-content: center; + top: 0; + left: 0; + + &::before { + content: ''; + position: relative; + } +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +:root { + --ck-color-upload-placeholder-loader: hsl(0, 0%, 70%); + --ck-upload-placeholder-loader-size: 32px; + --ck-upload-placeholder-image-aspect-ratio: 2.8; +} + +.ck .ck-image-upload-placeholder { + /* We need to control the full width of the SVG gray background. */ + width: 100%; + margin: 0; + + &.image-inline { + width: calc( 2 * var(--ck-upload-placeholder-loader-size) * var(--ck-upload-placeholder-image-aspect-ratio) ); + } + + & img { + /* + * This is an arbitrary aspect for a 1x1 px GIF to display to the user. Not too tall, not too short. + * There's nothing special about this number except that it should make the image placeholder look like + * a real image during this short period after the upload started and before the image was read from the + * file system (and a rich preview was loaded). + */ + aspect-ratio: var(--ck-upload-placeholder-image-aspect-ratio); + } +} + +.ck .ck-upload-placeholder-loader { + width: 100%; + height: 100%; + + &::before { + width: var(--ck-upload-placeholder-loader-size); + height: var(--ck-upload-placeholder-loader-size); + border-radius: 50%; + border-top: 3px solid var(--ck-color-upload-placeholder-loader); + border-right: 2px solid transparent; + animation: ck-upload-placeholder-loader 1s linear infinite; + } +} + +@keyframes ck-upload-placeholder-loader { + to { + transform: rotate( 360deg ); + } +} +`],sourceRoot:""}]);const m=g},2926:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.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}}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imageuploadprogress.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-image/imageuploadprogress.css"],names:[],mappings:"AAMC,qEAEC,iBACD,CAGA,uGAIC,MAAO,CAFP,iBAAkB,CAClB,KAED,CCRC,yFACC,oBACD,CAID,uGAIC,gDAAiD,CAFjD,UAAW,CAGX,oBAAuB,CAFvB,OAGD,CAGD,kBACC,GAAO,SAAY,CACnB,GAAO,SAAY,CACpB",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-editor__editable { + & .image, + & .image-inline { + position: relative; + } + + /* Upload progress bar. */ + & .image .ck-progress-bar, + & .image-inline .ck-progress-bar { + position: absolute; + top: 0; + left: 0; + } +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-editor__editable { + & .image, + & .image-inline { + /* Showing animation. */ + &.ck-appear { + animation: fadeIn 700ms; + } + } + + /* Upload progress bar. */ + & .image .ck-progress-bar, + & .image-inline .ck-progress-bar { + height: 2px; + width: 0; + background: var(--ck-color-upload-bar-background); + transition: width 100ms; + } +} + +@keyframes fadeIn { + from { opacity: 0; } + to { opacity: 1; } +} +`],sourceRoot:""}]);const m=g},5269:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.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%}}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-image/theme/textalternativeform.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css"],names:[],mappings:"AAOA,6BACC,YAAa,CACb,kBAAmB,CACnB,gBAqBD,CAnBC,oDACC,oBACD,CAEA,uCACC,YACD,CCZA,oCDCD,6BAcE,cAUF,CARE,oDACC,eACD,CAEA,wCACC,cACD,CCrBD",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css"; + +.ck.ck-text-alternative-form { + display: flex; + flex-direction: row; + flex-wrap: nowrap; + + & .ck-labeled-field-view { + display: inline-block; + } + + & .ck-label { + display: none; + } + + @mixin ck-media-phone { + flex-wrap: wrap; + + & .ck-labeled-field-view { + flex-basis: 100%; + } + + & .ck-button { + flex-basis: 50%; + } + } +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@define-mixin ck-media-phone { + @media screen and (max-width: 600px) { + @mixin-content; + } +} +`],sourceRoot:""}]);const m=g},3925:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.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)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-link/link.css"],names:[],mappings:"AAMA,sBACC,mDAMD,CAHC,wCACC,yFACD,CAOD,4BACC,8CACD,CAGA,sCAEC,gDAAiD,CADjD,WAAY,CAEZ,iBAAkB,CAClB,oCACD",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/* Class added to span element surrounding currently selected link. */ +.ck .ck-link_selected { + background: var(--ck-color-link-selected-background); + + /* Give linked inline images some outline to let the user know they are also part of the link. */ + & span.image-inline { + outline: var(--ck-widget-outline-thickness) solid var(--ck-color-link-selected-background); + } +} + +/* + * Classes used by the "fake visual selection" displayed in the content when an input + * in the link UI has focus (the browser does not render the native selection in this state). + */ +.ck .ck-fake-link-selection { + background: var(--ck-color-link-fake-selection); +} + +/* A collapsed fake visual selection. */ +.ck .ck-fake-link-selection_collapsed { + height: 100%; + border-right: 1px solid var(--ck-color-base-text); + margin-right: -1px; + outline: solid 1px hsla(0, 0%, 100%, .5); +} +`],sourceRoot:""}]);const m=g},7536:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.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}}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-link/theme/linkactions.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-link/linkactions.css"],names:[],mappings:"AAOA,oBACC,YAAa,CACb,kBAAmB,CACnB,gBAqBD,CAnBC,8CACC,oBAKD,CAHC,gEACC,eACD,CCXD,oCDCD,oBAcE,cAUF,CARE,8CACC,eACD,CAEA,8DACC,cACD,CCrBD,CCIA,wDACC,cAAe,CACf,eAmCD,CAjCC,0EAEC,kCAAmC,CAEnC,cAAe,CAIf,+BAAgC,CAChC,aAAc,CARd,kCAAmC,CASnC,iBAAkB,CAPlB,sBAYD,CAHC,gFACC,yBACD,CAGD,mPAIC,eACD,CAEA,+DACC,eACD,CAGC,gFACC,yBACD,CAWD,qHACC,sCACD,CDtDD,oCC0DC,wDACC,8DAMD,CAJC,0EAEC,cAAe,CADf,WAED,CAGD,gJAME,aAEF,CDzED",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css"; + +.ck.ck-link-actions { + display: flex; + flex-direction: row; + flex-wrap: nowrap; + + & .ck-link-actions__preview { + display: inline-block; + + & .ck-button__label { + overflow: hidden; + } + } + + @mixin ck-media-phone { + flex-wrap: wrap; + + & .ck-link-actions__preview { + flex-basis: 100%; + } + + & .ck-button:not(.ck-link-actions__preview) { + flex-basis: 50%; + } + } +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@define-mixin ck-media-phone { + @media screen and (max-width: 600px) { + @mixin-content; + } +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "@ckeditor/ckeditor5-ui/theme/mixins/_unselectable.css"; +@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css"; +@import "../mixins/_focus.css"; +@import "../mixins/_shadow.css"; +@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css"; + +.ck.ck-link-actions { + & .ck-button.ck-link-actions__preview { + padding-left: 0; + padding-right: 0; + + & .ck-button__label { + padding: 0 var(--ck-spacing-medium); + color: var(--ck-color-link-default); + text-overflow: ellipsis; + cursor: pointer; + + /* Match the box model of the link editor form's input so the balloon + does not change width when moving between actions and the form. */ + max-width: var(--ck-input-width); + min-width: 3em; + text-align: center; + + &:hover { + text-decoration: underline; + } + } + + &, + &:hover, + &:focus, + &:active { + background: none; + } + + &:active { + box-shadow: none; + } + + &:focus { + & .ck-button__label { + text-decoration: underline; + } + } + } + + @mixin ck-dir ltr { + & .ck-button:not(:first-child) { + margin-left: var(--ck-spacing-standard); + } + } + + @mixin ck-dir rtl { + & .ck-button:not(:last-child) { + margin-left: var(--ck-spacing-standard); + } + } + + @mixin ck-media-phone { + & .ck-button.ck-link-actions__preview { + margin: var(--ck-spacing-standard) var(--ck-spacing-standard) 0; + + & .ck-button__label { + min-width: 0; + max-width: 100%; + } + } + + & .ck-button:not(.ck-link-actions__preview) { + @mixin ck-dir ltr { + margin-left: 0; + } + + @mixin ck-dir rtl { + margin-left: 0; + } + } + } +} +`],sourceRoot:""}]);const m=g},4874:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.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}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-link/theme/linkform.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-link/linkform.css"],names:[],mappings:"AAOA,iBACC,YAiBD,CAfC,2BACC,YACD,CCNA,oCDCD,iBAQE,cAUF,CARE,wCACC,eACD,CAEA,4BACC,cACD,CCfD,CDuBD,iCACC,aAYD,CALE,wHAEC,mCACD,CE/BF,iCAEC,+BAAgC,CADhC,SAgDD,CA7CC,wDACC,8EAMD,CAJC,uEACC,WAAY,CACZ,UACD,CAGD,4CAIC,eAAgB,CAFhB,QAAS,CADT,kCAAmC,CAEnC,SAkBD,CAfC,wDACC,gDACD,CARD,4GAeE,aAMF,CAJE,mEACC,kDACD,CAKF,6CACC,yDAUD,CARC,wEACC,SAAU,CACV,UAKD,CAHC,8EACC,eACD",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css"; + +.ck.ck-link-form { + display: flex; + + & .ck-label { + display: none; + } + + @mixin ck-media-phone { + flex-wrap: wrap; + + & .ck-labeled-field-view { + flex-basis: 100%; + } + + & .ck-button { + flex-basis: 50%; + } + } +} + +/* + * Style link form differently when manual decorators are available. + * See: https://github.com/ckeditor/ckeditor5-link/issues/186. + */ +.ck.ck-link-form_layout-vertical { + display: block; + + /* + * Whether the form is in the responsive mode or not, if there are decorator buttons + * keep the top margin of action buttons medium. + */ + & .ck-button { + &.ck-button-save, + &.ck-button-cancel { + margin-top: var(--ck-spacing-medium); + } + } +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@define-mixin ck-media-phone { + @media screen and (max-width: 600px) { + @mixin-content; + } +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css"; + +/* + * Style link form differently when manual decorators are available. + * See: https://github.com/ckeditor/ckeditor5-link/issues/186. + */ +.ck.ck-link-form_layout-vertical { + padding: 0; + min-width: var(--ck-input-width); + + & .ck-labeled-field-view { + margin: var(--ck-spacing-large) var(--ck-spacing-large) var(--ck-spacing-small); + + & .ck-input-text { + min-width: 0; + width: 100%; + } + } + + & > .ck-button { + padding: var(--ck-spacing-standard); + margin: 0; + width: 50%; + border-radius: 0; + + &:not(:focus) { + border-top: 1px solid var(--ck-color-base-border); + } + + @mixin ck-dir ltr { + margin-left: 0; + } + + @mixin ck-dir rtl { + margin-left: 0; + + &:last-of-type { + border-right: 1px solid var(--ck-color-base-border); + } + } + } + + /* Using additional \`.ck\` class for stronger CSS specificity than \`.ck.ck-link-form > :not(:first-child)\`. */ + & .ck.ck-list { + margin: var(--ck-spacing-standard) var(--ck-spacing-large); + + & .ck-button.ck-switchbutton { + padding: 0; + width: 100%; + + &:hover { + background: none; + } + } + } +} +`],sourceRoot:""}]);const m=g},4330:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.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))}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-link/theme/linkimage.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-link/linkimage.css"],names:[],mappings:"AASE,+FACC,aAAc,CACd,iBACD,CCPF,MAEC,sCAAuC,CACvC,oEACD,CAME,+FAUC,+BAAqC,CACrC,83BAA+3B,CAG/3B,uBAA2B,CAD3B,2BAA4B,CAD5B,oBAAqB,CAGrB,kBAAmB,CAdnB,UAAW,CAsBX,oGAAuG,CAFvG,eAAgB,CAbhB,sCAAwC,CADxC,oCAAsC,CAetC,mGAED",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-editor__editable { + /* Linked image indicator */ + & figure.image > a, + & a span.image-inline { + &::after { + display: block; + position: absolute; + } + } +} + +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +:root { + /* Match the icon size with the upload indicator brought by the image upload feature. */ + --ck-link-image-indicator-icon-size: 20; + --ck-link-image-indicator-icon-is-visible: clamp(0px, 100% - 50px, 1px); +} + +.ck.ck-editor__editable { + /* Linked image indicator */ + & figure.image > a, + & a span.image-inline { + &::after { + content: ""; + + /* + * Smaller images should have the icon closer to the border. + * Match the icon position with the upload indicator brought by the image upload feature. + */ + top: min(var(--ck-spacing-medium), 6%); + right: min(var(--ck-spacing-medium), 6%); + + background-color: hsla(0, 0%, 0%, .4); + background-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI2ZmZiIgZD0ibTExLjA3NyAxNSAuOTkxLTEuNDE2YS43NS43NSAwIDEgMSAxLjIyOS44NmwtMS4xNDggMS42NGEuNzQ4Ljc0OCAwIDAgMS0uMjE3LjIwNiA1LjI1MSA1LjI1MSAwIDAgMS04LjUwMy01Ljk1NS43NDEuNzQxIDAgMCAxIC4xMi0uMjc0bDEuMTQ3LTEuNjM5YS43NS43NSAwIDEgMSAxLjIyOC44Nkw0LjkzMyAxMC43bC4wMDYuMDAzYTMuNzUgMy43NSAwIDAgMCA2LjEzMiA0LjI5NGwuMDA2LjAwNHptNS40OTQtNS4zMzVhLjc0OC43NDggMCAwIDEtLjEyLjI3NGwtMS4xNDcgMS42MzlhLjc1Ljc1IDAgMSAxLTEuMjI4LS44NmwuODYtMS4yM2EzLjc1IDMuNzUgMCAwIDAtNi4xNDQtNC4zMDFsLS44NiAxLjIyOWEuNzUuNzUgMCAwIDEtMS4yMjktLjg2bDEuMTQ4LTEuNjRhLjc0OC43NDggMCAwIDEgLjIxNy0uMjA2IDUuMjUxIDUuMjUxIDAgMCAxIDguNTAzIDUuOTU1em0tNC41NjMtMi41MzJhLjc1Ljc1IDAgMCAxIC4xODQgMS4wNDVsLTMuMTU1IDQuNTA1YS43NS43NSAwIDEgMS0xLjIyOS0uODZsMy4xNTUtNC41MDZhLjc1Ljc1IDAgMCAxIDEuMDQ1LS4xODR6Ii8+PC9zdmc+"); + background-size: 14px; + background-repeat: no-repeat; + background-position: center; + border-radius: 100%; + + /* + * Use CSS math to simulate container queries. + * https://css-tricks.com/the-raven-technique-one-step-closer-to-container-queries/#what-about-showing-and-hiding-things + */ + overflow: hidden; + width: calc(var(--ck-link-image-indicator-icon-is-visible) * var(--ck-link-image-indicator-icon-size)); + height: calc(var(--ck-link-image-indicator-icon-is-visible) * var(--ck-link-image-indicator-icon-size)); + } + } +} + +`],sourceRoot:""}]);const m=g},3190:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.id,".ck-editor__editable .ck-list-bogus-paragraph{display:block}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-list/theme/documentlist.css"],names:[],mappings:"AAKA,8CACC,aACD",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck-editor__editable .ck-list-bogus-paragraph { + display: block; +} +`],sourceRoot:""}]);const m=g},4784:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.id,".ck-content ol{list-style-type:decimal}.ck-content ol ol{list-style-type:lower-latin}.ck-content ol ol ol{list-style-type:lower-roman}.ck-content ol ol ol ol{list-style-type:upper-latin}.ck-content ol ol ol ol ol{list-style-type:upper-roman}.ck-content ul{list-style-type:disc}.ck-content ul ul{list-style-type:circle}.ck-content ul ul ul,.ck-content ul ul ul ul{list-style-type:square}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-list/theme/list.css"],names:[],mappings:"AAKA,eACC,uBAiBD,CAfC,kBACC,2BAaD,CAXC,qBACC,2BASD,CAPC,wBACC,2BAKD,CAHC,2BACC,2BACD,CAMJ,eACC,oBAaD,CAXC,kBACC,sBASD,CAJE,6CACC,sBACD",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck-content ol { + list-style-type: decimal; + + & ol { + list-style-type: lower-latin; + + & ol { + list-style-type: lower-roman; + + & ol { + list-style-type: upper-latin; + + & ol { + list-style-type: upper-roman; + } + } + } + } +} + +.ck-content ul { + list-style-type: disc; + + & ul { + list-style-type: circle; + + & ul { + list-style-type: square; + + & ul { + list-style-type: square; + } + } + } +} +`],sourceRoot:""}]);const m=g},9938:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.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}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-list/listproperties.css"],names:[],mappings:"AAOC,yDACC,+BASD,CAPC,2DACC,cAKD,CAHC,6DACC,qCACD,CASD,wFACC,oCACD,CAGA,mFACC,gDAWD,CARE,+GACC,UAKD,CAHC,iHACC,qCACD,CAMJ,8EACC,cAAe,CACf,UACD,CAEA,uEACC,sBAAuB,CAGvB,6CAAgD,CAFhD,cAAe,CACf,eAQD,CALC,2JAGC,eAAgB,CADhB,wBAAyB,CADzB,eAGD",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-list-properties { + /* When there are no list styles and there is no collapsible. */ + &.ck-list-properties_without-styles { + padding: var(--ck-spacing-large); + + & > * { + min-width: 14em; + + & + * { + margin-top: var(--ck-spacing-standard); + } + } + } + + /* + * When the numbered list property fields (start at, reversed) should be displayed, + * more horizontal space is needed. Reconfigure the style grid to create that space. + */ + &.ck-list-properties_with-numbered-properties { + & > .ck-list-styles-list { + grid-template-columns: repeat( 4, auto ); + } + + /* When list styles are rendered and property fields are in a collapsible. */ + & > .ck-collapsible { + border-top: 1px solid var(--ck-color-base-border); + + & > .ck-collapsible__children { + & > * { + width: 100%; + + & + * { + margin-top: var(--ck-spacing-standard); + } + } + } + } + } + + & .ck.ck-numbered-list-properties__start-index .ck-input { + min-width: auto; + width: 100%; + } + + & .ck.ck-numbered-list-properties__reversed-order { + background: transparent; + padding-left: 0; + padding-right: 0; + margin-bottom: calc(-1 * var(--ck-spacing-tiny)); + + &:active, &:hover { + box-shadow: none; + border-color: transparent; + background: none; + } + } +} +`],sourceRoot:""}]);const m=g},2591:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.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)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-list/theme/liststyles.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-list/liststyles.css"],names:[],mappings:"AAKA,wBACC,YACD,CCFA,MACC,gCACD,CAEA,wBAGC,mCAAoC,CAFpC,oCAAwC,CAGxC,+BAAgC,CAFhC,gCA4BD,CAxBC,mCAiBC,sBAAuB,CAPvB,QAAS,CANT,SAmBD,CAJC,+EAhBA,uCAAwC,CADxC,sCAoBA",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-list-styles-list { + display: grid; +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +:root { + --ck-list-style-button-size: 44px; +} + +.ck.ck-list-styles-list { + grid-template-columns: repeat( 3, auto ); + row-gap: var(--ck-spacing-medium); + column-gap: var(--ck-spacing-medium); + padding: var(--ck-spacing-large); + + & .ck-button { + /* Make the button look like a thumbnail (the icon "takes it all"). */ + width: var(--ck-list-style-button-size); + height: var(--ck-list-style-button-size); + padding: 0; + + /* + * Buttons are aligned by the grid so disable default button margins to not collide with the + * gaps in the grid. + */ + margin: 0; + + /* + * Make sure the button border (which is displayed on focus, BTW) does not steal pixels + * from the button dimensions and, as a result, decrease the size of the icon + * (which becomes blurry as it scales down). + */ + box-sizing: content-box; + + & .ck-icon { + width: var(--ck-list-style-button-size); + height: var(--ck-list-style-button-size); + } + } +} +`],sourceRoot:""}]);const m=g},9292:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.id,':root{--ck-todo-list-checkmark-size:16px}.ck-content .todo-list{list-style:none}.ck-content .todo-list li{margin-bottom:5px;position:relative}.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[dir=rtl] .todo-list .todo-list__label>input{left:0;margin-left:-15px;margin-right:0;right:-25px}.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;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}.ck-content .todo-list .todo-list__label.todo-list__label_without-description input[type=checkbox]{position:absolute}.ck-editor__editable.ck-content .todo-list .todo-list__label>input,.ck-editor__editable.ck-content .todo-list .todo-list__label>span[contenteditable=false]>input{cursor:pointer}.ck-editor__editable.ck-content .todo-list .todo-list__label>input:hover:before,.ck-editor__editable.ck-content .todo-list .todo-list__label>span[contenteditable=false]>input:hover:before{box-shadow:0 0 0 5px rgba(0,0,0,.1)}.ck-editor__editable.ck-content .todo-list .todo-list__label>span[contenteditable=false]>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-editor__editable.ck-content[dir=rtl] .todo-list .todo-list__label>span[contenteditable=false]>input{left:0;margin-left:-15px;margin-right:0;right:-25px}.ck-editor__editable.ck-content .todo-list .todo-list__label>span[contenteditable=false]>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;width:100%}.ck-editor__editable.ck-content .todo-list .todo-list__label>span[contenteditable=false]>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-editor__editable.ck-content .todo-list .todo-list__label>span[contenteditable=false]>input[checked]:before{background:#26ab33;border-color:#26ab33}.ck-editor__editable.ck-content .todo-list .todo-list__label>span[contenteditable=false]>input[checked]:after{border-color:#fff}.ck-editor__editable.ck-content .todo-list .todo-list__label.todo-list__label_without-description input[type=checkbox]{position:absolute}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-list/theme/todolist.css"],names:[],mappings:"AAKA,MACC,kCACD,CAwEA,uBACC,eAwBD,CAtBC,0BAEC,iBAAkB,CADlB,iBAMD,CAHC,qCACC,cACD,CAIA,+CAlFD,uBAAwB,CAQxB,QAAS,CAPT,oBAAqB,CAGrB,yCAA0C,CAO1C,UAAW,CAGX,aAAc,CAFd,kBAAmB,CAVnB,iBAAkB,CAWlB,OAAQ,CARR,qBAAsB,CAFtB,wCAiFC,CAFA,wDAhEA,MAAO,CAGP,iBAAkB,CAFlB,cAAe,CACf,WAgEA,CA5DD,sDAOC,qBAAiC,CACjC,iBAAkB,CALlB,qBAAsB,CACtB,UAAW,CAHX,aAAc,CAKd,WAAY,CAJZ,iBAAkB,CAOlB,sCAAwC,CAJxC,UAKD,CAEA,qDAaC,wBAAyB,CADzB,kBAAmB,CAEnB,sGAA+G,CAX/G,sBAAuB,CAEvB,UAAW,CAJX,aAAc,CAUd,mDAAwD,CAHxD,+CAAoD,CAJpD,mBAAoB,CAFpB,iBAAkB,CAOlB,gDAAqD,CAMrD,uBAAwB,CALxB,kDAMD,CAGC,+DACC,kBAA8B,CAC9B,oBACD,CAEA,8DACC,iBACD,CAwBA,wEACC,qBACD,CAEA,mGACC,iBACD,CAYD,kKAEC,cAKD,CAHC,4LACC,mCACD,CAMD,+FApHA,uBAAwB,CAQxB,QAAS,CAPT,oBAAqB,CAGrB,yCAA0C,CAO1C,UAAW,CAGX,aAAc,CAFd,kBAAmB,CAVnB,iBAAkB,CAWlB,OAAQ,CARR,qBAAsB,CAFtB,wCAmHA,CAFA,wGAlGC,MAAO,CAGP,iBAAkB,CAFlB,cAAe,CACf,WAkGD,CA9FA,sGAOC,qBAAiC,CACjC,iBAAkB,CALlB,qBAAsB,CACtB,UAAW,CAHX,aAAc,CAKd,WAAY,CAJZ,iBAAkB,CAOlB,sCAAwC,CAJxC,UAKD,CAEA,qGAaC,wBAAyB,CADzB,kBAAmB,CAEnB,sGAA+G,CAX/G,sBAAuB,CAEvB,UAAW,CAJX,aAAc,CAUd,mDAAwD,CAHxD,+CAAoD,CAJpD,mBAAoB,CAFpB,iBAAkB,CAOlB,gDAAqD,CAMrD,uBAAwB,CALxB,kDAMD,CAGC,+GACC,kBAA8B,CAC9B,oBACD,CAEA,8GACC,iBACD,CA2DA,uHACC,iBACD",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +:root { + --ck-todo-list-checkmark-size: 16px; +} + +@define-mixin todo-list-checkbox { + -webkit-appearance: none; + display: inline-block; + position: relative; + width: var(--ck-todo-list-checkmark-size); + height: var(--ck-todo-list-checkmark-size); + vertical-align: middle; + + /* Needed on iOS */ + border: 0; + + /* LTR styles */ + left: -25px; + margin-right: -15px; + right: 0; + margin-left: 0; + + /* RTL styles */ + @nest [dir=rtl]& { + left: 0; + margin-right: 0; + right: -25px; + margin-left: -15px; + } + + &::before { + display: block; + position: absolute; + box-sizing: border-box; + content: ''; + width: 100%; + height: 100%; + border: 1px solid hsl(0, 0%, 20%); + border-radius: 2px; + transition: 250ms ease-in-out box-shadow; + } + + &::after { + display: block; + position: absolute; + box-sizing: content-box; + pointer-events: none; + content: ''; + + /* Calculate tick position, size and border-width proportional to the checkmark size. */ + left: calc( var(--ck-todo-list-checkmark-size) / 3 ); + top: calc( var(--ck-todo-list-checkmark-size) / 5.3 ); + width: calc( var(--ck-todo-list-checkmark-size) / 5.3 ); + height: calc( var(--ck-todo-list-checkmark-size) / 2.6 ); + border-style: solid; + border-color: transparent; + border-width: 0 calc( var(--ck-todo-list-checkmark-size) / 8 ) calc( var(--ck-todo-list-checkmark-size) / 8 ) 0; + transform: rotate(45deg); + } + + &[checked] { + &::before { + background: hsl(126, 64%, 41%); + border-color: hsl(126, 64%, 41%); + } + + &::after { + border-color: hsl(0, 0%, 100%); + } + } +} + +/* + * To-do list content styles. + */ +.ck-content .todo-list { + list-style: none; + + & li { + position: relative; + margin-bottom: 5px; + + & .todo-list { + margin-top: 5px; + } + } + + & .todo-list__label { + & > input { + @mixin todo-list-checkbox; + } + + & .todo-list__label__description { + vertical-align: middle; + } + + &.todo-list__label_without-description input[type=checkbox] { + position: absolute; + } + } +} + +/* + * To-do list editing view styles. + */ +.ck-editor__editable.ck-content .todo-list .todo-list__label { + /* + * To-do list should be interactive only during the editing + * (https://github.com/ckeditor/ckeditor5/issues/2090). + */ + & > input, + & > span[contenteditable=false] > input { + cursor: pointer; + + &:hover::before { + box-shadow: 0 0 0 5px hsla(0, 0%, 0%, 0.1); + } + } + + /* + * Document Lists - editing view has an additional span around checkbox. + */ + & > span[contenteditable=false] > input { + @mixin todo-list-checkbox; + } + + &.todo-list__label_without-description { + & input[type=checkbox] { + position: absolute; + } + } +} +`],sourceRoot:""}]);const m=g},8705:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.id,".ck-content .media{clear:both;display:block;margin:.9em 0;min-width:15em}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-media-embed/theme/mediaembed.css"],names:[],mappings:"AAKA,mBAGC,UAAW,CASX,aAAc,CAJd,aAAe,CAQf,cACD",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck-content .media { + /* Don't allow floated content overlap the media. + https://github.com/ckeditor/ckeditor5-media-embed/issues/53 */ + clear: both; + + /* Make sure there is some space between the content and the media. */ + /* The first value should be equal to --ck-spacing-large variable if used in the editor context + to avoid the content jumping (See https://github.com/ckeditor/ckeditor5/issues/9825). */ + margin: 0.9em 0; + + /* Make sure media is not overriden with Bootstrap default \`flex\` value. + See: https://github.com/ckeditor/ckeditor5/issues/1373. */ + display: block; + + /* Give the media some minimal width in the content to prevent them + from being "squashed" in tight spaces, e.g. in table cells (#44) */ + min-width: 15em; +} +`],sourceRoot:""}]);const m=g},1922:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.id,'.ck-media__wrapper .ck-media__placeholder{align-items:center;display:flex;flex-direction:column}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url{max-width:100%;position:relative}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url .ck-media__placeholder__url__text{display:block;overflow:hidden}.ck-media__wrapper[data-oembed-url*="facebook.com"] .ck-media__placeholder__icon *,.ck-media__wrapper[data-oembed-url*="goo.gl/maps"] .ck-media__placeholder__icon *,.ck-media__wrapper[data-oembed-url*="google.com/maps"] .ck-media__placeholder__icon *,.ck-media__wrapper[data-oembed-url*="instagram.com"] .ck-media__placeholder__icon *,.ck-media__wrapper[data-oembed-url*="maps.app.goo.gl"] .ck-media__placeholder__icon *,.ck-media__wrapper[data-oembed-url*="maps.google.com"] .ck-media__placeholder__icon *,.ck-media__wrapper[data-oembed-url*="twitter.com"] .ck-media__placeholder__icon *{display:none}.ck-editor__editable:not(.ck-read-only) .ck-media__wrapper>:not(.ck-media__placeholder),.ck-editor__editable:not(.ck-read-only) .ck-widget:not(.ck-widget_selected) .ck-media__placeholder{pointer-events:none}:root{--ck-media-embed-placeholder-icon-size:3em;--ck-color-media-embed-placeholder-url-text:#757575;--ck-color-media-embed-placeholder-url-text-hover:var(--ck-color-base-text)}.ck-media__wrapper{margin:0 auto}.ck-media__wrapper .ck-media__placeholder{background:var(--ck-color-base-foreground);padding:calc(var(--ck-spacing-standard)*3)}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__icon{background-position:50%;background-size:cover;height:var(--ck-media-embed-placeholder-icon-size);margin-bottom:var(--ck-spacing-large);min-width:var(--ck-media-embed-placeholder-icon-size)}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__icon .ck-icon{height:100%;width:100%}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url__text{color:var(--ck-color-media-embed-placeholder-url-text);font-style:italic;text-align:center;text-overflow:ellipsis;white-space:nowrap}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url__text:hover{color:var(--ck-color-media-embed-placeholder-url-text-hover);cursor:pointer;text-decoration:underline}.ck-media__wrapper[data-oembed-url*="open.spotify.com"]{max-height:380px;max-width:300px}.ck-media__wrapper[data-oembed-url*="goo.gl/maps"] .ck-media__placeholder__icon,.ck-media__wrapper[data-oembed-url*="google.com/maps"] .ck-media__placeholder__icon,.ck-media__wrapper[data-oembed-url*="maps.app.goo.gl"] .ck-media__placeholder__icon,.ck-media__wrapper[data-oembed-url*="maps.google.com"] .ck-media__placeholder__icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNTAuMzc4IiBoZWlnaHQ9IjI1NC4xNjciIHZpZXdCb3g9IjAgMCA2Ni4yNDYgNjcuMjQ4Ij48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTcyLjUzMSAtMjE4LjQ1NSkgc2NhbGUoLjk4MDEyKSI+PHJlY3Qgcnk9IjUuMjM4IiByeD0iNS4yMzgiIHk9IjIzMS4zOTkiIHg9IjE3Ni4wMzEiIGhlaWdodD0iNjAuMDk5IiB3aWR0aD0iNjAuMDk5IiBmaWxsPSIjMzRhNjY4IiBwYWludC1vcmRlcj0ibWFya2VycyBzdHJva2UgZmlsbCIvPjxwYXRoIGQ9Im0yMDYuNDc3IDI2MC45LTI4Ljk4NyAyOC45ODdhNS4yMTggNS4yMTggMCAwIDAgMy43OCAxLjYxaDQ5LjYyMWMxLjY5NCAwIDMuMTktLjc5OCA0LjE0Ni0yLjAzN3oiIGZpbGw9IiM1Yzg4YzUiLz48cGF0aCBkPSJNMjI2Ljc0MiAyMjIuOTg4Yy05LjI2NiAwLTE2Ljc3NyA3LjE3LTE2Ljc3NyAxNi4wMTQuMDA3IDIuNzYyLjY2MyA1LjQ3NCAyLjA5MyA3Ljg3NS40My43MDMuODMgMS40MDggMS4xOSAyLjEwNy4zMzMuNTAyLjY1IDEuMDA1Ljk1IDEuNTA4LjM0My40NzcuNjczLjk1Ny45ODggMS40NCAxLjMxIDEuNzY5IDIuNSAzLjUwMiAzLjYzNyA1LjE2OC43OTMgMS4yNzUgMS42ODMgMi42NCAyLjQ2NiAzLjk5IDIuMzYzIDQuMDk0IDQuMDA3IDguMDkyIDQuNiAxMy45MTR2LjAxMmMuMTgyLjQxMi41MTYuNjY2Ljg3OS42NjcuNDAzLS4wMDEuNzY4LS4zMTQuOTMtLjc5OS42MDMtNS43NTYgMi4yMzgtOS43MjkgNC41ODUtMTMuNzk0Ljc4Mi0xLjM1IDEuNjczLTIuNzE1IDIuNDY1LTMuOTkgMS4xMzctMS42NjYgMi4zMjgtMy40IDMuNjM4LTUuMTY5LjMxNS0uNDgyLjY0NS0uOTYyLjk4OC0xLjQzOS4zLS41MDMuNjE3LTEuMDA2Ljk1LTEuNTA4LjM1OS0uNy43Ni0xLjQwNCAxLjE5LTIuMTA3IDEuNDI2LTIuNDAyIDItNS4xMTQgMi4wMDQtNy44NzUgMC04Ljg0NC03LjUxMS0xNi4wMTQtMTYuNzc2LTE2LjAxNHoiIGZpbGw9IiNkZDRiM2UiIHBhaW50LW9yZGVyPSJtYXJrZXJzIHN0cm9rZSBmaWxsIi8+PGVsbGlwc2Ugcnk9IjUuNTY0IiByeD0iNS44MjgiIGN5PSIyMzkuMDAyIiBjeD0iMjI2Ljc0MiIgZmlsbD0iIzgwMmQyNyIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48cGF0aCBkPSJNMTkwLjMwMSAyMzcuMjgzYy00LjY3IDAtOC40NTcgMy44NTMtOC40NTcgOC42MDZzMy43ODYgOC42MDcgOC40NTcgOC42MDdjMy4wNDMgMCA0LjgwNi0uOTU4IDYuMzM3LTIuNTE2IDEuNTMtMS41NTcgMi4wODctMy45MTMgMi4wODctNi4yOSAwLS4zNjItLjAyMy0uNzIyLS4wNjQtMS4wNzloLTguMjU3djMuMDQzaDQuODVjLS4xOTcuNzU5LS41MzEgMS40NS0xLjA1OCAxLjk4Ni0uOTQyLjk1OC0yLjAyOCAxLjU0OC0zLjkwMSAxLjU0OC0yLjg3NiAwLTUuMjA4LTIuMzcyLTUuMjA4LTUuMjk5IDAtMi45MjYgMi4zMzItNS4yOTkgNS4yMDgtNS4yOTkgMS4zOTkgMCAyLjYxOC40MDcgMy41ODQgMS4yOTNsMi4zODEtMi4zOGMwLS4wMDItLjAwMy0uMDA0LS4wMDQtLjAwNS0xLjU4OC0xLjUyNC0zLjYyLTIuMjE1LTUuOTU1LTIuMjE1em00LjQzIDUuNjYuMDAzLjAwNnYtLjAwM3oiIGZpbGw9IiNmZmYiIHBhaW50LW9yZGVyPSJtYXJrZXJzIHN0cm9rZSBmaWxsIi8+PHBhdGggZD0ibTIxNS4xODQgMjUxLjkyOS03Ljk4IDcuOTc5IDI4LjQ3NyAyOC40NzVhNS4yMzMgNS4yMzMgMCAwIDAgLjQ0OS0yLjEyM3YtMzEuMTY1Yy0uNDY5LjY3NS0uOTM0IDEuMzQ5LTEuMzgyIDIuMDA1LS43OTIgMS4yNzUtMS42ODIgMi42NC0yLjQ2NSAzLjk5LTIuMzQ3IDQuMDY1LTMuOTgyIDguMDM4LTQuNTg1IDEzLjc5NC0uMTYyLjQ4NS0uNTI3Ljc5OC0uOTMuNzk5LS4zNjMtLjAwMS0uNjk3LS4yNTUtLjg3OS0uNjY3di0uMDEyYy0uNTkzLTUuODIyLTIuMjM3LTkuODItNC42LTEzLjkxNC0uNzgzLTEuMzUtMS42NzMtMi43MTUtMi40NjYtMy45OS0xLjEzNy0xLjY2Ni0yLjMyNy0zLjQtMy42MzctNS4xNjlsLS4wMDItLjAwM3oiIGZpbGw9IiNjM2MzYzMiLz48cGF0aCBkPSJtMjEyLjk4MyAyNDguNDk1LTM2Ljk1MiAzNi45NTN2LjgxMmE1LjIyNyA1LjIyNyAwIDAgMCA1LjIzOCA1LjIzOGgxLjAxNWwzNS42NjYtMzUuNjY2YTEzNi4yNzUgMTM2LjI3NSAwIDAgMC0yLjc2NC0zLjkgMzcuNTc1IDM3LjU3NSAwIDAgMC0uOTg5LTEuNDQgMzUuMTI3IDM1LjEyNyAwIDAgMC0uOTUtMS41MDhjLS4wODMtLjE2Mi0uMTc2LS4zMjYtLjI2NC0uNDg5eiIgZmlsbD0iI2ZkZGM0ZiIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48cGF0aCBkPSJtMjExLjk5OCAyNjEuMDgzLTYuMTUyIDYuMTUxIDI0LjI2NCAyNC4yNjRoLjc4MWE1LjIyNyA1LjIyNyAwIDAgMCA1LjIzOS01LjIzOHYtMS4wNDV6IiBmaWxsPSIjZmZmIiBwYWludC1vcmRlcj0ibWFya2VycyBzdHJva2UgZmlsbCIvPjwvZz48L3N2Zz4=)}.ck-media__wrapper[data-oembed-url*="facebook.com"] .ck-media__placeholder{background:#4268b3}.ck-media__wrapper[data-oembed-url*="facebook.com"] .ck-media__placeholder .ck-media__placeholder__icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAyNCIgaGVpZ2h0PSIxMDI0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik05NjcuNDg0IDBINTYuNTE3QzI1LjMwNCAwIDAgMjUuMzA0IDAgNTYuNTE3djkxMC45NjZDMCA5OTguNjk0IDI1LjI5NyAxMDI0IDU2LjUyMiAxMDI0SDU0N1Y2MjhINDE0VjQ3M2gxMzNWMzU5LjAyOWMwLTEzMi4yNjIgODAuNzczLTIwNC4yODIgMTk4Ljc1Ni0yMDQuMjgyIDU2LjUxMyAwIDEwNS4wODYgNC4yMDggMTE5LjI0NCA2LjA4OVYyOTlsLTgxLjYxNi4wMzdjLTYzLjk5MyAwLTc2LjM4NCAzMC40OTItNzYuMzg0IDc1LjIzNlY0NzNoMTUzLjQ4N2wtMTkuOTg2IDE1NUg3MDd2Mzk2aDI2MC40ODRjMzEuMjEzIDAgNTYuNTE2LTI1LjMwMyA1Ni41MTYtNTYuNTE2VjU2LjUxNUMxMDI0IDI1LjMwMyA5OTguNjk3IDAgOTY3LjQ4NCAwIiBmaWxsPSIjRkZGRkZFIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4=)}.ck-media__wrapper[data-oembed-url*="facebook.com"] .ck-media__placeholder .ck-media__placeholder__url__text{color:#cdf}.ck-media__wrapper[data-oembed-url*="facebook.com"] .ck-media__placeholder .ck-media__placeholder__url__text:hover{color:#fff}.ck-media__wrapper[data-oembed-url*="instagram.com"] .ck-media__placeholder{background:linear-gradient(-135deg,#1400c7,#b800b1,#f50000)}.ck-media__wrapper[data-oembed-url*="instagram.com"] .ck-media__placeholder .ck-media__placeholder__icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTA0IiBoZWlnaHQ9IjUwNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PHBhdGggaWQ9ImEiIGQ9Ik0wIC4xNTloNTAzLjg0MVY1MDMuOTRIMHoiLz48L2RlZnM+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48bWFzayBpZD0iYiIgZmlsbD0iI2ZmZiI+PHVzZSB4bGluazpocmVmPSIjYSIvPjwvbWFzaz48cGF0aCBkPSJNMjUxLjkyMS4xNTljLTY4LjQxOCAwLTc2Ljk5Ny4yOS0xMDMuODY3IDEuNTE2LTI2LjgxNCAxLjIyMy00NS4xMjcgNS40ODItNjEuMTUxIDExLjcxLTE2LjU2NiA2LjQzNy0zMC42MTUgMTUuMDUxLTQ0LjYyMSAyOS4wNTYtMTQuMDA1IDE0LjAwNi0yMi42MTkgMjguMDU1LTI5LjA1NiA0NC42MjEtNi4yMjggMTYuMDI0LTEwLjQ4NyAzNC4zMzctMTEuNzEgNjEuMTUxQy4yOSAxNzUuMDgzIDAgMTgzLjY2MiAwIDI1Mi4wOGMwIDY4LjQxNy4yOSA3Ni45OTYgMS41MTYgMTAzLjg2NiAxLjIyMyAyNi44MTQgNS40ODIgNDUuMTI3IDExLjcxIDYxLjE1MSA2LjQzNyAxNi41NjYgMTUuMDUxIDMwLjYxNSAyOS4wNTYgNDQuNjIxIDE0LjAwNiAxNC4wMDUgMjguMDU1IDIyLjYxOSA0NC42MjEgMjkuMDU3IDE2LjAyNCA2LjIyNyAzNC4zMzcgMTAuNDg2IDYxLjE1MSAxMS43MDkgMjYuODcgMS4yMjYgMzUuNDQ5IDEuNTE2IDEwMy44NjcgMS41MTYgNjguNDE3IDAgNzYuOTk2LS4yOSAxMDMuODY2LTEuNTE2IDI2LjgxNC0xLjIyMyA0NS4xMjctNS40ODIgNjEuMTUxLTExLjcwOSAxNi41NjYtNi40MzggMzAuNjE1LTE1LjA1MiA0NC42MjEtMjkuMDU3IDE0LjAwNS0xNC4wMDYgMjIuNjE5LTI4LjA1NSAyOS4wNTctNDQuNjIxIDYuMjI3LTE2LjAyNCAxMC40ODYtMzQuMzM3IDExLjcwOS02MS4xNTEgMS4yMjYtMjYuODcgMS41MTYtMzUuNDQ5IDEuNTE2LTEwMy44NjYgMC02OC40MTgtLjI5LTc2Ljk5Ny0xLjUxNi0xMDMuODY3LTEuMjIzLTI2LjgxNC01LjQ4Mi00NS4xMjctMTEuNzA5LTYxLjE1MS02LjQzOC0xNi41NjYtMTUuMDUyLTMwLjYxNS0yOS4wNTctNDQuNjIxLTE0LjAwNi0xNC4wMDUtMjguMDU1LTIyLjYxOS00NC42MjEtMjkuMDU2LTE2LjAyNC02LjIyOC0zNC4zMzctMTAuNDg3LTYxLjE1MS0xMS43MUMzMjguOTE3LjQ0OSAzMjAuMzM4LjE1OSAyNTEuOTIxLjE1OVptMCA0NS4zOTFjNjcuMjY1IDAgNzUuMjMzLjI1NyAxMDEuNzk3IDEuNDY5IDI0LjU2MiAxLjEyIDM3LjkwMSA1LjIyNCA0Ni43NzggOC42NzQgMTEuNzU5IDQuNTcgMjAuMTUxIDEwLjAyOSAyOC45NjYgMTguODQ1IDguODE2IDguODE1IDE0LjI3NSAxNy4yMDcgMTguODQ1IDI4Ljk2NiAzLjQ1IDguODc3IDcuNTU0IDIyLjIxNiA4LjY3NCA0Ni43NzggMS4yMTIgMjYuNTY0IDEuNDY5IDM0LjUzMiAxLjQ2OSAxMDEuNzk4IDAgNjcuMjY1LS4yNTcgNzUuMjMzLTEuNDY5IDEwMS43OTctMS4xMiAyNC41NjItNS4yMjQgMzcuOTAxLTguNjc0IDQ2Ljc3OC00LjU3IDExLjc1OS0xMC4wMjkgMjAuMTUxLTE4Ljg0NSAyOC45NjYtOC44MTUgOC44MTYtMTcuMjA3IDE0LjI3NS0yOC45NjYgMTguODQ1LTguODc3IDMuNDUtMjIuMjE2IDcuNTU0LTQ2Ljc3OCA4LjY3NC0yNi41NiAxLjIxMi0zNC41MjcgMS40NjktMTAxLjc5NyAxLjQ2OS02Ny4yNzEgMC03NS4yMzctLjI1Ny0xMDEuNzk4LTEuNDY5LTI0LjU2Mi0xLjEyLTM3LjkwMS01LjIyNC00Ni43NzgtOC42NzQtMTEuNzU5LTQuNTctMjAuMTUxLTEwLjAyOS0yOC45NjYtMTguODQ1LTguODE1LTguODE1LTE0LjI3NS0xNy4yMDctMTguODQ1LTI4Ljk2Ni0zLjQ1LTguODc3LTcuNTU0LTIyLjIxNi04LjY3NC00Ni43NzgtMS4yMTItMjYuNTY0LTEuNDY5LTM0LjUzMi0xLjQ2OS0xMDEuNzk3IDAtNjcuMjY2LjI1Ny03NS4yMzQgMS40NjktMTAxLjc5OCAxLjEyLTI0LjU2MiA1LjIyNC0zNy45MDEgOC42NzQtNDYuNzc4IDQuNTctMTEuNzU5IDEwLjAyOS0yMC4xNTEgMTguODQ1LTI4Ljk2NiA4LjgxNS04LjgxNiAxNy4yMDctMTQuMjc1IDI4Ljk2Ni0xOC44NDUgOC44NzctMy40NSAyMi4yMTYtNy41NTQgNDYuNzc4LTguNjc0IDI2LjU2NC0xLjIxMiAzNC41MzItMS40NjkgMTAxLjc5OC0xLjQ2OVoiIGZpbGw9IiNGRkYiIG1hc2s9InVybCgjYikiLz48cGF0aCBkPSJNMjUxLjkyMSAzMzYuMDUzYy00Ni4zNzggMC04My45NzQtMzcuNTk2LTgzLjk3NC04My45NzMgMC00Ni4zNzggMzcuNTk2LTgzLjk3NCA4My45NzQtODMuOTc0IDQ2LjM3NyAwIDgzLjk3MyAzNy41OTYgODMuOTczIDgzLjk3NCAwIDQ2LjM3Ny0zNy41OTYgODMuOTczLTgzLjk3MyA4My45NzNabTAtMjEzLjMzOGMtNzEuNDQ3IDAtMTI5LjM2NSA1Ny45MTgtMTI5LjM2NSAxMjkuMzY1IDAgNzEuNDQ2IDU3LjkxOCAxMjkuMzY0IDEyOS4zNjUgMTI5LjM2NCA3MS40NDYgMCAxMjkuMzY0LTU3LjkxOCAxMjkuMzY0LTEyOS4zNjQgMC03MS40NDctNTcuOTE4LTEyOS4zNjUtMTI5LjM2NC0xMjkuMzY1Wk00MTYuNjI3IDExNy42MDRjMCAxNi42OTYtMTMuNTM1IDMwLjIzLTMwLjIzMSAzMC4yMy0xNi42OTUgMC0zMC4yMy0xMy41MzQtMzAuMjMtMzAuMjMgMC0xNi42OTYgMTMuNTM1LTMwLjIzMSAzMC4yMy0zMC4yMzEgMTYuNjk2IDAgMzAuMjMxIDEzLjUzNSAzMC4yMzEgMzAuMjMxIiBmaWxsPSIjRkZGIi8+PC9nPjwvc3ZnPg==)}.ck-media__wrapper[data-oembed-url*="instagram.com"] .ck-media__placeholder .ck-media__placeholder__url__text{color:#ffe0fe}.ck-media__wrapper[data-oembed-url*="instagram.com"] .ck-media__placeholder .ck-media__placeholder__url__text:hover{color:#fff}.ck-media__wrapper[data-oembed-url*="twitter.com"] .ck.ck-media__placeholder{background:linear-gradient(90deg,#71c6f4,#0d70a5)}.ck-media__wrapper[data-oembed-url*="twitter.com"] .ck.ck-media__placeholder .ck-media__placeholder__icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0MDAgNDAwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA0MDAgNDAwIiB4bWw6c3BhY2U9InByZXNlcnZlIj48cGF0aCBkPSJNNDAwIDIwMGMwIDExMC41LTg5LjUgMjAwLTIwMCAyMDBTMCAzMTAuNSAwIDIwMCA4OS41IDAgMjAwIDBzMjAwIDg5LjUgMjAwIDIwMHpNMTYzLjQgMzA1LjVjODguNyAwIDEzNy4yLTczLjUgMTM3LjItMTM3LjIgMC0yLjEgMC00LjItLjEtNi4yIDkuNC02LjggMTcuNi0xNS4zIDI0LjEtMjUtOC42IDMuOC0xNy45IDYuNC0yNy43IDcuNiAxMC02IDE3LjYtMTUuNCAyMS4yLTI2LjctOS4zIDUuNS0xOS42IDkuNS0zMC42IDExLjctOC44LTkuNC0yMS4zLTE1LjItMzUuMi0xNS4yLTI2LjYgMC00OC4yIDIxLjYtNDguMiA0OC4yIDAgMy44LjQgNy41IDEuMyAxMS00MC4xLTItNzUuNi0yMS4yLTk5LjQtNTAuNC00LjEgNy4xLTYuNSAxNS40LTYuNSAyNC4yIDAgMTYuNyA4LjUgMzEuNSAyMS41IDQwLjEtNy45LS4yLTE1LjMtMi40LTIxLjgtNnYuNmMwIDIzLjQgMTYuNiA0Mi44IDM4LjcgNDcuMy00IDEuMS04LjMgMS43LTEyLjcgMS43LTMuMSAwLTYuMS0uMy05LjEtLjkgNi4xIDE5LjIgMjMuOSAzMy4xIDQ1IDMzLjUtMTYuNSAxMi45LTM3LjMgMjAuNi01OS45IDIwLjYtMy45IDAtNy43LS4yLTExLjUtLjcgMjEuMSAxMy44IDQ2LjUgMjEuOCA3My43IDIxLjgiIHN0eWxlPSJmaWxsOiNmZmYiLz48L3N2Zz4=)}.ck-media__wrapper[data-oembed-url*="twitter.com"] .ck.ck-media__placeholder .ck-media__placeholder__url__text{color:#b8e6ff}.ck-media__wrapper[data-oembed-url*="twitter.com"] .ck.ck-media__placeholder .ck-media__placeholder__url__text:hover{color:#fff}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-media-embed/theme/mediaembedediting.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-media-embed/mediaembedediting.css"],names:[],mappings:"AAMC,0CAGC,kBAAmB,CAFnB,YAAa,CACb,qBAcD,CAXC,sEAEC,cAAe,CAEf,iBAMD,CAJC,wGAEC,aAAc,CADd,eAED,CAWD,6kBACC,YACD,CAYF,2LACC,mBACD,CC1CA,MACC,0CAA2C,CAE3C,mDAA4D,CAC5D,2EACD,CAEA,mBACC,aA+FD,CA7FC,0CAEC,0CAA2C,CAD3C,0CA6BD,CA1BC,uEAIC,uBAA2B,CAC3B,qBAAsB,CAHtB,kDAAmD,CACnD,qCAAsC,CAFtC,qDAUD,CAJC,gFAEC,WAAY,CADZ,UAED,CAGD,4EACC,sDAAuD,CAGvD,iBAAkB,CADlB,iBAAkB,CAElB,sBAAuB,CAHvB,kBAUD,CALC,kFACC,4DAA6D,CAC7D,cAAe,CACf,yBACD,CAIF,wDAEC,gBAAiB,CADjB,eAED,CAEA,4UAIC,wvGACD,CAEA,2EACC,kBAaD,CAXC,wGACC,orBACD,CAEA,6GACC,UAKD,CAHC,mHACC,UACD,CAIF,4EACC,2DAcD,CAZC,yGACC,4jHACD,CAGA,8GACC,aAKD,CAHC,oHACC,UACD,CAIF,6EAEC,iDAaD,CAXC,0GACC,wiCACD,CAEA,+GACC,aAKD,CAHC,qHACC,UACD",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck-media__wrapper { + & .ck-media__placeholder { + display: flex; + flex-direction: column; + align-items: center; + + & .ck-media__placeholder__url { + /* Otherwise the URL will overflow when the content is very narrow. */ + max-width: 100%; + + position: relative; + + & .ck-media__placeholder__url__text { + overflow: hidden; + display: block; + } + } + } + + &[data-oembed-url*="twitter.com"], + &[data-oembed-url*="google.com/maps"], + &[data-oembed-url*="goo.gl/maps"], + &[data-oembed-url*="maps.google.com"], + &[data-oembed-url*="maps.app.goo.gl"], + &[data-oembed-url*="facebook.com"], + &[data-oembed-url*="instagram.com"] { + & .ck-media__placeholder__icon * { + display: none; + } + } +} + +/* Disable all mouse interaction as long as the editor is not read–only. + https://github.com/ckeditor/ckeditor5-media-embed/issues/58 */ +.ck-editor__editable:not(.ck-read-only) .ck-media__wrapper > *:not(.ck-media__placeholder) { + pointer-events: none; +} + +/* Disable all mouse interaction when the widget is not selected (e.g. to avoid opening links by accident). + https://github.com/ckeditor/ckeditor5-media-embed/issues/18 */ +.ck-editor__editable:not(.ck-read-only) .ck-widget:not(.ck-widget_selected) .ck-media__placeholder { + pointer-events: none; +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +:root { + --ck-media-embed-placeholder-icon-size: 3em; + + --ck-color-media-embed-placeholder-url-text: hsl(0, 0%, 46%); + --ck-color-media-embed-placeholder-url-text-hover: var(--ck-color-base-text); +} + +.ck-media__wrapper { + margin: 0 auto; + + & .ck-media__placeholder { + padding: calc( 3 * var(--ck-spacing-standard) ); + background: var(--ck-color-base-foreground); + + & .ck-media__placeholder__icon { + min-width: var(--ck-media-embed-placeholder-icon-size); + height: var(--ck-media-embed-placeholder-icon-size); + margin-bottom: var(--ck-spacing-large); + background-position: center; + background-size: cover; + + & .ck-icon { + width: 100%; + height: 100%; + } + } + + & .ck-media__placeholder__url__text { + color: var(--ck-color-media-embed-placeholder-url-text); + white-space: nowrap; + text-align: center; + font-style: italic; + text-overflow: ellipsis; + + &:hover { + color: var(--ck-color-media-embed-placeholder-url-text-hover); + cursor: pointer; + text-decoration: underline; + } + } + } + + &[data-oembed-url*="open.spotify.com"] { + max-width: 300px; + max-height: 380px; + } + + &[data-oembed-url*="google.com/maps"] .ck-media__placeholder__icon, + &[data-oembed-url*="goo.gl/maps"] .ck-media__placeholder__icon, + &[data-oembed-url*="maps.google.com"] .ck-media__placeholder__icon, + &[data-oembed-url*="maps.app.goo.gl"] .ck-media__placeholder__icon { + background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNTAuMzc4IiBoZWlnaHQ9IjI1NC4xNjciIHZpZXdCb3g9IjAgMCA2Ni4yNDYgNjcuMjQ4Ij48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTcyLjUzMSAtMjE4LjQ1NSkgc2NhbGUoLjk4MDEyKSI+PHJlY3Qgcnk9IjUuMjM4IiByeD0iNS4yMzgiIHk9IjIzMS4zOTkiIHg9IjE3Ni4wMzEiIGhlaWdodD0iNjAuMDk5IiB3aWR0aD0iNjAuMDk5IiBmaWxsPSIjMzRhNjY4IiBwYWludC1vcmRlcj0ibWFya2VycyBzdHJva2UgZmlsbCIvPjxwYXRoIGQ9Ik0yMDYuNDc3IDI2MC45bC0yOC45ODcgMjguOTg3YTUuMjE4IDUuMjE4IDAgMCAwIDMuNzggMS42MWg0OS42MjFjMS42OTQgMCAzLjE5LS43OTggNC4xNDYtMi4wMzd6IiBmaWxsPSIjNWM4OGM1Ii8+PHBhdGggZD0iTTIyNi43NDIgMjIyLjk4OGMtOS4yNjYgMC0xNi43NzcgNy4xNy0xNi43NzcgMTYuMDE0LjAwNyAyLjc2Mi42NjMgNS40NzQgMi4wOTMgNy44NzUuNDMuNzAzLjgzIDEuNDA4IDEuMTkgMi4xMDcuMzMzLjUwMi42NSAxLjAwNS45NSAxLjUwOC4zNDMuNDc3LjY3My45NTcuOTg4IDEuNDQgMS4zMSAxLjc2OSAyLjUgMy41MDIgMy42MzcgNS4xNjguNzkzIDEuMjc1IDEuNjgzIDIuNjQgMi40NjYgMy45OSAyLjM2MyA0LjA5NCA0LjAwNyA4LjA5MiA0LjYgMTMuOTE0di4wMTJjLjE4Mi40MTIuNTE2LjY2Ni44NzkuNjY3LjQwMy0uMDAxLjc2OC0uMzE0LjkzLS43OTkuNjAzLTUuNzU2IDIuMjM4LTkuNzI5IDQuNTg1LTEzLjc5NC43ODItMS4zNSAxLjY3My0yLjcxNSAyLjQ2NS0zLjk5IDEuMTM3LTEuNjY2IDIuMzI4LTMuNCAzLjYzOC01LjE2OS4zMTUtLjQ4Mi42NDUtLjk2Mi45ODgtMS40MzkuMy0uNTAzLjYxNy0xLjAwNi45NS0xLjUwOC4zNTktLjcuNzYtMS40MDQgMS4xOS0yLjEwNyAxLjQyNi0yLjQwMiAyLTUuMTE0IDIuMDA0LTcuODc1IDAtOC44NDQtNy41MTEtMTYuMDE0LTE2Ljc3Ni0xNi4wMTR6IiBmaWxsPSIjZGQ0YjNlIiBwYWludC1vcmRlcj0ibWFya2VycyBzdHJva2UgZmlsbCIvPjxlbGxpcHNlIHJ5PSI1LjU2NCIgcng9IjUuODI4IiBjeT0iMjM5LjAwMiIgY3g9IjIyNi43NDIiIGZpbGw9IiM4MDJkMjciIHBhaW50LW9yZGVyPSJtYXJrZXJzIHN0cm9rZSBmaWxsIi8+PHBhdGggZD0iTTE5MC4zMDEgMjM3LjI4M2MtNC42NyAwLTguNDU3IDMuODUzLTguNDU3IDguNjA2czMuNzg2IDguNjA3IDguNDU3IDguNjA3YzMuMDQzIDAgNC44MDYtLjk1OCA2LjMzNy0yLjUxNiAxLjUzLTEuNTU3IDIuMDg3LTMuOTEzIDIuMDg3LTYuMjkgMC0uMzYyLS4wMjMtLjcyMi0uMDY0LTEuMDc5aC04LjI1N3YzLjA0M2g0Ljg1Yy0uMTk3Ljc1OS0uNTMxIDEuNDUtMS4wNTggMS45ODYtLjk0Mi45NTgtMi4wMjggMS41NDgtMy45MDEgMS41NDgtMi44NzYgMC01LjIwOC0yLjM3Mi01LjIwOC01LjI5OSAwLTIuOTI2IDIuMzMyLTUuMjk5IDUuMjA4LTUuMjk5IDEuMzk5IDAgMi42MTguNDA3IDMuNTg0IDEuMjkzbDIuMzgxLTIuMzhjMC0uMDAyLS4wMDMtLjAwNC0uMDA0LS4wMDUtMS41ODgtMS41MjQtMy42Mi0yLjIxNS01Ljk1NS0yLjIxNXptNC40MyA1LjY2bC4wMDMuMDA2di0uMDAzeiIgZmlsbD0iI2ZmZiIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48cGF0aCBkPSJNMjE1LjE4NCAyNTEuOTI5bC03Ljk4IDcuOTc5IDI4LjQ3NyAyOC40NzVjLjI4Ny0uNjQ5LjQ0OS0xLjM2Ni40NDktMi4xMjN2LTMxLjE2NWMtLjQ2OS42NzUtLjkzNCAxLjM0OS0xLjM4MiAyLjAwNS0uNzkyIDEuMjc1LTEuNjgyIDIuNjQtMi40NjUgMy45OS0yLjM0NyA0LjA2NS0zLjk4MiA4LjAzOC00LjU4NSAxMy43OTQtLjE2Mi40ODUtLjUyNy43OTgtLjkzLjc5OS0uMzYzLS4wMDEtLjY5Ny0uMjU1LS44NzktLjY2N3YtLjAxMmMtLjU5My01LjgyMi0yLjIzNy05LjgyLTQuNi0xMy45MTQtLjc4My0xLjM1LTEuNjczLTIuNzE1LTIuNDY2LTMuOTktMS4xMzctMS42NjYtMi4zMjctMy40LTMuNjM3LTUuMTY5bC0uMDAyLS4wMDN6IiBmaWxsPSIjYzNjM2MzIi8+PHBhdGggZD0iTTIxMi45ODMgMjQ4LjQ5NWwtMzYuOTUyIDM2Ljk1M3YuODEyYTUuMjI3IDUuMjI3IDAgMCAwIDUuMjM4IDUuMjM4aDEuMDE1bDM1LjY2Ni0zNS42NjZhMTM2LjI3NSAxMzYuMjc1IDAgMCAwLTIuNzY0LTMuOSAzNy41NzUgMzcuNTc1IDAgMCAwLS45ODktMS40NGMtLjI5OS0uNTAzLS42MTYtMS4wMDYtLjk1LTEuNTA4LS4wODMtLjE2Mi0uMTc2LS4zMjYtLjI2NC0uNDg5eiIgZmlsbD0iI2ZkZGM0ZiIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48cGF0aCBkPSJNMjExLjk5OCAyNjEuMDgzbC02LjE1MiA2LjE1MSAyNC4yNjQgMjQuMjY0aC43ODFhNS4yMjcgNS4yMjcgMCAwIDAgNS4yMzktNS4yMzh2LTEuMDQ1eiIgZmlsbD0iI2ZmZiIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48L2c+PC9zdmc+); + } + + &[data-oembed-url*="facebook.com"] .ck-media__placeholder { + background: hsl(220, 46%, 48%); + + & .ck-media__placeholder__icon { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSIxMDI0cHgiIGhlaWdodD0iMTAyNHB4IiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPiAgICAgICAgPHRpdGxlPkZpbGwgMTwvdGl0bGU+ICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPiAgICA8ZGVmcz48L2RlZnM+ICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPiAgICAgICAgPGcgaWQ9ImZMb2dvX1doaXRlIiBmaWxsPSIjRkZGRkZFIj4gICAgICAgICAgICA8cGF0aCBkPSJNOTY3LjQ4NCwwIEw1Ni41MTcsMCBDMjUuMzA0LDAgMCwyNS4zMDQgMCw1Ni41MTcgTDAsOTY3LjQ4MyBDMCw5OTguNjk0IDI1LjI5NywxMDI0IDU2LjUyMiwxMDI0IEw1NDcsMTAyNCBMNTQ3LDYyOCBMNDE0LDYyOCBMNDE0LDQ3MyBMNTQ3LDQ3MyBMNTQ3LDM1OS4wMjkgQzU0NywyMjYuNzY3IDYyNy43NzMsMTU0Ljc0NyA3NDUuNzU2LDE1NC43NDcgQzgwMi4yNjksMTU0Ljc0NyA4NTAuODQyLDE1OC45NTUgODY1LDE2MC44MzYgTDg2NSwyOTkgTDc4My4zODQsMjk5LjAzNyBDNzE5LjM5MSwyOTkuMDM3IDcwNywzMjkuNTI5IDcwNywzNzQuMjczIEw3MDcsNDczIEw4NjAuNDg3LDQ3MyBMODQwLjUwMSw2MjggTDcwNyw2MjggTDcwNywxMDI0IEw5NjcuNDg0LDEwMjQgQzk5OC42OTcsMTAyNCAxMDI0LDk5OC42OTcgMTAyNCw5NjcuNDg0IEwxMDI0LDU2LjUxNSBDMTAyNCwyNS4zMDMgOTk4LjY5NywwIDk2Ny40ODQsMCIgaWQ9IkZpbGwtMSI+PC9wYXRoPiAgICAgICAgPC9nPiAgICA8L2c+PC9zdmc+); + } + + & .ck-media__placeholder__url__text { + color: hsl(220, 100%, 90%); + + &:hover { + color: hsl(0, 0%, 100%); + } + } + } + + &[data-oembed-url*="instagram.com"] .ck-media__placeholder { + background: linear-gradient(-135deg,hsl(246, 100%, 39%),hsl(302, 100%, 36%),hsl(0, 100%, 48%)); + + & .ck-media__placeholder__icon { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSI1MDRweCIgaGVpZ2h0PSI1MDRweCIgdmlld0JveD0iMCAwIDUwNCA1MDQiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+ICAgICAgICA8dGl0bGU+Z2x5cGgtbG9nb19NYXkyMDE2PC90aXRsZT4gICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+ICAgIDxkZWZzPiAgICAgICAgPHBvbHlnb24gaWQ9InBhdGgtMSIgcG9pbnRzPSIwIDAuMTU5IDUwMy44NDEgMC4xNTkgNTAzLjg0MSA1MDMuOTQgMCA1MDMuOTQiPjwvcG9seWdvbj4gICAgPC9kZWZzPiAgICA8ZyBpZD0iZ2x5cGgtbG9nb19NYXkyMDE2IiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4gICAgICAgIDxnIGlkPSJHcm91cC0zIj4gICAgICAgICAgICA8bWFzayBpZD0ibWFzay0yIiBmaWxsPSJ3aGl0ZSI+ICAgICAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI3BhdGgtMSI+PC91c2U+ICAgICAgICAgICAgPC9tYXNrPiAgICAgICAgICAgIDxnIGlkPSJDbGlwLTIiPjwvZz4gICAgICAgICAgICA8cGF0aCBkPSJNMjUxLjkyMSwwLjE1OSBDMTgzLjUwMywwLjE1OSAxNzQuOTI0LDAuNDQ5IDE0OC4wNTQsMS42NzUgQzEyMS4yNCwyLjg5OCAxMDIuOTI3LDcuMTU3IDg2LjkwMywxMy4zODUgQzcwLjMzNywxOS44MjIgNTYuMjg4LDI4LjQzNiA0Mi4yODIsNDIuNDQxIEMyOC4yNzcsNTYuNDQ3IDE5LjY2Myw3MC40OTYgMTMuMjI2LDg3LjA2MiBDNi45OTgsMTAzLjA4NiAyLjczOSwxMjEuMzk5IDEuNTE2LDE0OC4yMTMgQzAuMjksMTc1LjA4MyAwLDE4My42NjIgMCwyNTIuMDggQzAsMzIwLjQ5NyAwLjI5LDMyOS4wNzYgMS41MTYsMzU1Ljk0NiBDMi43MzksMzgyLjc2IDYuOTk4LDQwMS4wNzMgMTMuMjI2LDQxNy4wOTcgQzE5LjY2Myw0MzMuNjYzIDI4LjI3Nyw0NDcuNzEyIDQyLjI4Miw0NjEuNzE4IEM1Ni4yODgsNDc1LjcyMyA3MC4zMzcsNDg0LjMzNyA4Ni45MDMsNDkwLjc3NSBDMTAyLjkyNyw0OTcuMDAyIDEyMS4yNCw1MDEuMjYxIDE0OC4wNTQsNTAyLjQ4NCBDMTc0LjkyNCw1MDMuNzEgMTgzLjUwMyw1MDQgMjUxLjkyMSw1MDQgQzMyMC4zMzgsNTA0IDMyOC45MTcsNTAzLjcxIDM1NS43ODcsNTAyLjQ4NCBDMzgyLjYwMSw1MDEuMjYxIDQwMC45MTQsNDk3LjAwMiA0MTYuOTM4LDQ5MC43NzUgQzQzMy41MDQsNDg0LjMzNyA0NDcuNTUzLDQ3NS43MjMgNDYxLjU1OSw0NjEuNzE4IEM0NzUuNTY0LDQ0Ny43MTIgNDg0LjE3OCw0MzMuNjYzIDQ5MC42MTYsNDE3LjA5NyBDNDk2Ljg0Myw0MDEuMDczIDUwMS4xMDIsMzgyLjc2IDUwMi4zMjUsMzU1Ljk0NiBDNTAzLjU1MSwzMjkuMDc2IDUwMy44NDEsMzIwLjQ5NyA1MDMuODQxLDI1Mi4wOCBDNTAzLjg0MSwxODMuNjYyIDUwMy41NTEsMTc1LjA4MyA1MDIuMzI1LDE0OC4yMTMgQzUwMS4xMDIsMTIxLjM5OSA0OTYuODQzLDEwMy4wODYgNDkwLjYxNiw4Ny4wNjIgQzQ4NC4xNzgsNzAuNDk2IDQ3NS41NjQsNTYuNDQ3IDQ2MS41NTksNDIuNDQxIEM0NDcuNTUzLDI4LjQzNiA0MzMuNTA0LDE5LjgyMiA0MTYuOTM4LDEzLjM4NSBDNDAwLjkxNCw3LjE1NyAzODIuNjAxLDIuODk4IDM1NS43ODcsMS42NzUgQzMyOC45MTcsMC40NDkgMzIwLjMzOCwwLjE1OSAyNTEuOTIxLDAuMTU5IFogTTI1MS45MjEsNDUuNTUgQzMxOS4xODYsNDUuNTUgMzI3LjE1NCw0NS44MDcgMzUzLjcxOCw0Ny4wMTkgQzM3OC4yOCw0OC4xMzkgMzkxLjYxOSw1Mi4yNDMgNDAwLjQ5Niw1NS42OTMgQzQxMi4yNTUsNjAuMjYzIDQyMC42NDcsNjUuNzIyIDQyOS40NjIsNzQuNTM4IEM0MzguMjc4LDgzLjM1MyA0NDMuNzM3LDkxLjc0NSA0NDguMzA3LDEwMy41MDQgQzQ1MS43NTcsMTEyLjM4MSA0NTUuODYxLDEyNS43MiA0NTYuOTgxLDE1MC4yODIgQzQ1OC4xOTMsMTc2Ljg0NiA0NTguNDUsMTg0LjgxNCA0NTguNDUsMjUyLjA4IEM0NTguNDUsMzE5LjM0NSA0NTguMTkzLDMyNy4zMTMgNDU2Ljk4MSwzNTMuODc3IEM0NTUuODYxLDM3OC40MzkgNDUxLjc1NywzOTEuNzc4IDQ0OC4zMDcsNDAwLjY1NSBDNDQzLjczNyw0MTIuNDE0IDQzOC4yNzgsNDIwLjgwNiA0MjkuNDYyLDQyOS42MjEgQzQyMC42NDcsNDM4LjQzNyA0MTIuMjU1LDQ0My44OTYgNDAwLjQ5Niw0NDguNDY2IEMzOTEuNjE5LDQ1MS45MTYgMzc4LjI4LDQ1Ni4wMiAzNTMuNzE4LDQ1Ny4xNCBDMzI3LjE1OCw0NTguMzUyIDMxOS4xOTEsNDU4LjYwOSAyNTEuOTIxLDQ1OC42MDkgQzE4NC42NSw0NTguNjA5IDE3Ni42ODQsNDU4LjM1MiAxNTAuMTIzLDQ1Ny4xNCBDMTI1LjU2MSw0NTYuMDIgMTEyLjIyMiw0NTEuOTE2IDEwMy4zNDUsNDQ4LjQ2NiBDOTEuNTg2LDQ0My44OTYgODMuMTk0LDQzOC40MzcgNzQuMzc5LDQyOS42MjEgQzY1LjU2NCw0MjAuODA2IDYwLjEwNCw0MTIuNDE0IDU1LjUzNCw0MDAuNjU1IEM1Mi4wODQsMzkxLjc3OCA0Ny45OCwzNzguNDM5IDQ2Ljg2LDM1My44NzcgQzQ1LjY0OCwzMjcuMzEzIDQ1LjM5MSwzMTkuMzQ1IDQ1LjM5MSwyNTIuMDggQzQ1LjM5MSwxODQuODE0IDQ1LjY0OCwxNzYuODQ2IDQ2Ljg2LDE1MC4yODIgQzQ3Ljk4LDEyNS43MiA1Mi4wODQsMTEyLjM4MSA1NS41MzQsMTAzLjUwNCBDNjAuMTA0LDkxLjc0NSA2NS41NjMsODMuMzUzIDc0LjM3OSw3NC41MzggQzgzLjE5NCw2NS43MjIgOTEuNTg2LDYwLjI2MyAxMDMuMzQ1LDU1LjY5MyBDMTEyLjIyMiw1Mi4yNDMgMTI1LjU2MSw0OC4xMzkgMTUwLjEyMyw0Ny4wMTkgQzE3Ni42ODcsNDUuODA3IDE4NC42NTUsNDUuNTUgMjUxLjkyMSw0NS41NSBaIiBpZD0iRmlsbC0xIiBmaWxsPSIjRkZGRkZGIiBtYXNrPSJ1cmwoI21hc2stMikiPjwvcGF0aD4gICAgICAgIDwvZz4gICAgICAgIDxwYXRoIGQ9Ik0yNTEuOTIxLDMzNi4wNTMgQzIwNS41NDMsMzM2LjA1MyAxNjcuOTQ3LDI5OC40NTcgMTY3Ljk0NywyNTIuMDggQzE2Ny45NDcsMjA1LjcwMiAyMDUuNTQzLDE2OC4xMDYgMjUxLjkyMSwxNjguMTA2IEMyOTguMjk4LDE2OC4xMDYgMzM1Ljg5NCwyMDUuNzAyIDMzNS44OTQsMjUyLjA4IEMzMzUuODk0LDI5OC40NTcgMjk4LjI5OCwzMzYuMDUzIDI1MS45MjEsMzM2LjA1MyBaIE0yNTEuOTIxLDEyMi43MTUgQzE4MC40NzQsMTIyLjcxNSAxMjIuNTU2LDE4MC42MzMgMTIyLjU1NiwyNTIuMDggQzEyMi41NTYsMzIzLjUyNiAxODAuNDc0LDM4MS40NDQgMjUxLjkyMSwzODEuNDQ0IEMzMjMuMzY3LDM4MS40NDQgMzgxLjI4NSwzMjMuNTI2IDM4MS4yODUsMjUyLjA4IEMzODEuMjg1LDE4MC42MzMgMzIzLjM2NywxMjIuNzE1IDI1MS45MjEsMTIyLjcxNSBaIiBpZD0iRmlsbC00IiBmaWxsPSIjRkZGRkZGIj48L3BhdGg+ICAgICAgICA8cGF0aCBkPSJNNDE2LjYyNywxMTcuNjA0IEM0MTYuNjI3LDEzNC4zIDQwMy4wOTIsMTQ3LjgzNCAzODYuMzk2LDE0Ny44MzQgQzM2OS43MDEsMTQ3LjgzNCAzNTYuMTY2LDEzNC4zIDM1Ni4xNjYsMTE3LjYwNCBDMzU2LjE2NiwxMDAuOTA4IDM2OS43MDEsODcuMzczIDM4Ni4zOTYsODcuMzczIEM0MDMuMDkyLDg3LjM3MyA0MTYuNjI3LDEwMC45MDggNDE2LjYyNywxMTcuNjA0IiBpZD0iRmlsbC01IiBmaWxsPSIjRkZGRkZGIj48L3BhdGg+ICAgIDwvZz48L3N2Zz4=); + } + + /* stylelint-disable-next-line no-descending-specificity */ + & .ck-media__placeholder__url__text { + color: hsl(302, 100%, 94%); + + &:hover { + color: hsl(0, 0%, 100%); + } + } + } + + &[data-oembed-url*="twitter.com"] .ck.ck-media__placeholder { + /* Use gradient to contrast with focused widget (ckeditor/ckeditor5-media-embed#22). */ + background: linear-gradient( to right, hsl(201, 85%, 70%), hsl(201, 85%, 35%) ); + + & .ck-media__placeholder__icon { + background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgaWQ9IldoaXRlIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDQwMCA0MDAiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDQwMCA0MDA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj48c3R5bGUgdHlwZT0idGV4dC9jc3MiPi5zdDB7ZmlsbDojRkZGRkZGO308L3N0eWxlPjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik00MDAsMjAwYzAsMTEwLjUtODkuNSwyMDAtMjAwLDIwMFMwLDMxMC41LDAsMjAwUzg5LjUsMCwyMDAsMFM0MDAsODkuNSw0MDAsMjAweiBNMTYzLjQsMzA1LjVjODguNywwLDEzNy4yLTczLjUsMTM3LjItMTM3LjJjMC0yLjEsMC00LjItMC4xLTYuMmM5LjQtNi44LDE3LjYtMTUuMywyNC4xLTI1Yy04LjYsMy44LTE3LjksNi40LTI3LjcsNy42YzEwLTYsMTcuNi0xNS40LDIxLjItMjYuN2MtOS4zLDUuNS0xOS42LDkuNS0zMC42LDExLjdjLTguOC05LjQtMjEuMy0xNS4yLTM1LjItMTUuMmMtMjYuNiwwLTQ4LjIsMjEuNi00OC4yLDQ4LjJjMCwzLjgsMC40LDcuNSwxLjMsMTFjLTQwLjEtMi03NS42LTIxLjItOTkuNC01MC40Yy00LjEsNy4xLTYuNSwxNS40LTYuNSwyNC4yYzAsMTYuNyw4LjUsMzEuNSwyMS41LDQwLjFjLTcuOS0wLjItMTUuMy0yLjQtMjEuOC02YzAsMC4yLDAsMC40LDAsMC42YzAsMjMuNCwxNi42LDQyLjgsMzguNyw0Ny4zYy00LDEuMS04LjMsMS43LTEyLjcsMS43Yy0zLjEsMC02LjEtMC4zLTkuMS0wLjljNi4xLDE5LjIsMjMuOSwzMy4xLDQ1LDMzLjVjLTE2LjUsMTIuOS0zNy4zLDIwLjYtNTkuOSwyMC42Yy0zLjksMC03LjctMC4yLTExLjUtMC43QzExMC44LDI5Ny41LDEzNi4yLDMwNS41LDE2My40LDMwNS41Ii8+PC9zdmc+); + } + + & .ck-media__placeholder__url__text { + color: hsl(201, 100%, 86%); + + &:hover { + color: hsl(0, 0%, 100%); + } + } + } +} +`],sourceRoot:""}]);const m=g},7138:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.id,".ck.ck-media-form{align-items:flex-start;display:flex;flex-direction:row;flex-wrap:nowrap}.ck.ck-media-form .ck-labeled-field-view{display:inline-block}.ck.ck-media-form .ck-label{display:none}@media screen and (max-width:600px){.ck.ck-media-form{flex-wrap:wrap}.ck.ck-media-form .ck-labeled-field-view{flex-basis:100%}.ck.ck-media-form .ck-button{flex-basis:50%}}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-media-embed/theme/mediaform.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css"],names:[],mappings:"AAOA,kBAEC,sBAAuB,CADvB,YAAa,CAEb,kBAAmB,CACnB,gBAqBD,CAnBC,yCACC,oBACD,CAEA,4BACC,YACD,CCbA,oCDCD,kBAeE,cAUF,CARE,yCACC,eACD,CAEA,6BACC,cACD,CCtBD",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css"; + +.ck.ck-media-form { + display: flex; + align-items: flex-start; + flex-direction: row; + flex-wrap: nowrap; + + & .ck-labeled-field-view { + display: inline-block; + } + + & .ck-label { + display: none; + } + + @mixin ck-media-phone { + flex-wrap: wrap; + + & .ck-labeled-field-view { + flex-basis: 100%; + } + + & .ck-button { + flex-basis: 50%; + } + } +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@define-mixin ck-media-phone { + @media screen and (max-width: 600px) { + @mixin-content; + } +} +`],sourceRoot:""}]);const m=g},4420:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.id,'.ck-source-editing-area{overflow:hidden;position:relative}.ck-source-editing-area textarea,.ck-source-editing-area:after{border:1px solid transparent;font-family:monospace;font-size:var(--ck-font-size-normal);line-height:var(--ck-line-height-base);margin:0;padding:var(--ck-spacing-large);white-space:pre-wrap}.ck-source-editing-area:after{content:attr(data-value) " ";display:block;visibility:hidden}.ck-source-editing-area textarea{border-color:var(--ck-color-base-border);border-radius:0;box-sizing:border-box;height:100%;outline:none;overflow:hidden;position:absolute;resize:none;width:100%}.ck-rounded-corners .ck-source-editing-area textarea,.ck-source-editing-area textarea.ck-rounded-corners{border-radius:var(--ck-border-radius);border-top-left-radius:0;border-top-right-radius:0}.ck-source-editing-area textarea:not([readonly]):focus{border:var(--ck-focus-ring);box-shadow:var(--ck-inner-shadow),0 0;outline:none}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-source-editing/theme/sourceediting.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_focus.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AASA,wBAEC,eAAgB,CADhB,iBAED,CAEA,+DAIC,4BAA6B,CAG7B,qBAAsB,CADtB,oCAAqC,CADrC,sCAAuC,CAFvC,QAAS,CADT,+BAAgC,CAMhC,oBACD,CAEA,8BACC,4BAA6B,CAE7B,aAAc,CADd,iBAED,CAEA,iCASC,wCAAyC,CC7BzC,eAAgB,CD2BhB,qBAAsB,CAJtB,WAAY,CAEZ,YAAa,CACb,eAAgB,CALhB,iBAAkB,CAGlB,WAAY,CAFZ,UAkBD,CApBA,yGChBE,qCAAsC,CD4BtC,wBAAyB,CACzB,yBAOF,CAJC,uDEpCA,2BAA2B,CCF3B,qCAA8B,CDC9B,YFwCA",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css"; +@import "@ckeditor/ckeditor5-theme-lark/theme/mixins/_focus.css"; +@import "@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css"; + +.ck-source-editing-area { + position: relative; + overflow: hidden; +} + +.ck-source-editing-area::after, +.ck-source-editing-area textarea { + padding: var(--ck-spacing-large); + margin: 0; + border: 1px solid transparent; + line-height: var(--ck-line-height-base); + font-size: var(--ck-font-size-normal); + font-family: monospace; + white-space: pre-wrap; +} + +.ck-source-editing-area::after { + content: attr(data-value) " "; + visibility: hidden; + display: block; +} + +.ck-source-editing-area textarea { + position: absolute; + width: 100%; + height: 100%; + resize: none; + outline: none; + overflow: hidden; + box-sizing: border-box; + + border-color: var(--ck-color-base-border); + + @mixin ck-rounded-corners { + border-top-left-radius: 0; + border-top-right-radius: 0; + } + + &:not([readonly]):focus { + @mixin ck-focus-ring; + @mixin ck-box-shadow var(--ck-inner-shadow); + } +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * Implements rounded corner interface for .ck-rounded-corners class. + * + * @see $ck-border-radius + */ +@define-mixin ck-rounded-corners { + border-radius: 0; + + @nest .ck-rounded-corners &, + &.ck-rounded-corners { + border-radius: var(--ck-border-radius); + @mixin-content; + } +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * A visual style of focused element's border. + */ +@define-mixin ck-focus-ring { + /* Disable native outline. */ + outline: none; + border: var(--ck-focus-ring) +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * A helper to combine multiple shadows. + */ +@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 { + box-shadow: $shadowA, $shadowB; +} + +/** + * Gives an element a drop shadow so it looks like a floating panel. + */ +@define-mixin ck-drop-shadow { + @mixin ck-box-shadow var(--ck-drop-shadow); +} +`],sourceRoot:""}]);const m=g},9953:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.id,".ck.ck-input-color{display:flex;flex-direction:row-reverse;width:100%}.ck.ck-input-color>input.ck.ck-input-text{flex-grow:1;min-width:auto}.ck.ck-input-color>div.ck.ck-dropdown{min-width:auto}.ck.ck-input-color>div.ck.ck-dropdown>.ck-input-color__button .ck-dropdown__arrow{display:none}.ck.ck-input-color .ck.ck-input-color__button{display:flex}.ck.ck-input-color .ck.ck-input-color__button .ck.ck-input-color__button__preview{overflow:hidden;position:relative}.ck.ck-input-color .ck.ck-input-color__button .ck.ck-input-color__button__preview>.ck.ck-input-color__button__preview__no-color-indicator{display:block;position:absolute}[dir=ltr] .ck.ck-input-color>.ck.ck-input-text{border-bottom-right-radius:0;border-top-right-radius:0}[dir=rtl] .ck.ck-input-color>.ck.ck-input-text{border-bottom-left-radius:0;border-top-left-radius:0}.ck.ck-input-color>.ck.ck-input-text:focus{z-index:0}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button{padding:0}[dir=ltr] .ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button{border-bottom-left-radius:0;border-top-left-radius:0}[dir=ltr] .ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button:not(:focus){border-left:1px solid transparent}[dir=rtl] .ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button{border-bottom-right-radius:0;border-top-right-radius:0}[dir=rtl] .ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button:not(:focus){border-right:1px solid transparent}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button.ck-disabled{background:var(--ck-color-input-disabled-background)}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button>.ck.ck-input-color__button__preview{border-radius:0}.ck-rounded-corners .ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button>.ck.ck-input-color__button__preview,.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button>.ck.ck-input-color__button__preview.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button>.ck.ck-input-color__button__preview{border:1px solid var(--ck-color-input-border);height:20px;width:20px}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button>.ck.ck-input-color__button__preview>.ck.ck-input-color__button__preview__no-color-indicator{background:red;border-radius:2px;height:150%;left:50%;top:-30%;transform:rotate(45deg);transform-origin:50%;width:8%}.ck.ck-input-color .ck.ck-input-color__remove-color{border-bottom-left-radius:0;border-bottom-right-radius:0;padding:calc(var(--ck-spacing-standard)/2) var(--ck-spacing-standard);width:100%}.ck.ck-input-color .ck.ck-input-color__remove-color:not(:focus){border-bottom:1px solid var(--ck-color-input-border)}[dir=ltr] .ck.ck-input-color .ck.ck-input-color__remove-color{border-top-right-radius:0}[dir=rtl] .ck.ck-input-color .ck.ck-input-color__remove-color{border-top-left-radius:0}.ck.ck-input-color .ck.ck-input-color__remove-color .ck.ck-icon{margin-right:var(--ck-spacing-standard)}[dir=rtl] .ck.ck-input-color .ck.ck-input-color__remove-color .ck.ck-icon{margin-left:var(--ck-spacing-standard);margin-right:0}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-table/theme/colorinput.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/colorinput.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAKA,mBAEC,YAAa,CACb,0BAA2B,CAF3B,UAgCD,CA5BC,0CAEC,WAAY,CADZ,cAED,CAEA,sCACC,cAMD,CAHC,kFACC,YACD,CAGD,8CAEC,YAWD,CATC,kFAEC,eAAgB,CADhB,iBAOD,CAJC,0IAEC,aAAc,CADd,iBAED,CC1BF,+CAGE,4BAA6B,CAD7B,yBAcF,CAhBA,+CAQE,2BAA4B,CAD5B,wBASF,CAHC,2CACC,SACD,CAIA,wEACC,SA0CD,CA3CA,kFAKE,2BAA4B,CAD5B,wBAuCF,CApCE,8FACC,iCACD,CATF,kFAcE,4BAA6B,CAD7B,yBA8BF,CA3BE,8FACC,kCACD,CAGD,oFACC,oDACD,CAEA,4GC1CF,eD2DE,CAjBA,+PCtCD,qCDuDC,CAjBA,4GAKC,6CAA8C,CAD9C,WAAY,CADZ,UAcD,CAVC,oKAKC,cAA6B,CAC7B,iBAAkB,CAHlB,WAAY,CADZ,QAAS,CADT,QAAS,CAMT,uBAAwB,CACxB,oBAAqB,CAJrB,QAKD,CAKH,oDAIC,2BAA4B,CAC5B,4BAA6B,CAH7B,qEAAwE,CADxE,UA0BD,CApBC,gEACC,oDACD,CATD,8DAYE,yBAeF,CA3BA,8DAgBE,wBAWF,CARC,gEACC,uCAMD,CAPA,0EAKE,sCAAuC,CADvC,cAGF",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-input-color { + width: 100%; + display: flex; + flex-direction: row-reverse; + + & > input.ck.ck-input-text { + min-width: auto; + flex-grow: 1; + } + + & > div.ck.ck-dropdown { + min-width: auto; + + /* This dropdown has no arrow but a color preview instead. */ + & > .ck-input-color__button .ck-dropdown__arrow { + display: none; + } + } + + & .ck.ck-input-color__button { + /* Resolving issue with misaligned buttons on Safari (see #10589) */ + display: flex; + + & .ck.ck-input-color__button__preview { + position: relative; + overflow: hidden; + + & > .ck.ck-input-color__button__preview__no-color-indicator { + position: absolute; + display: block; + } + } + } +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css"; +@import "../mixins/_rounded.css"; + +.ck.ck-input-color { + & > .ck.ck-input-text { + @mixin ck-dir ltr { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + + @mixin ck-dir rtl { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + + /* Make sure the focused input is always on top of the dropdown button so its + outline and border are never cropped (also when the input is read-only). */ + &:focus { + z-index: 0; + } + } + + & > .ck.ck-dropdown { + & > .ck.ck-button.ck-input-color__button { + padding: 0; + + @mixin ck-dir ltr { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + + &:not(:focus) { + border-left: 1px solid transparent; + } + } + + @mixin ck-dir rtl { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + + &:not(:focus) { + border-right: 1px solid transparent; + } + } + + &.ck-disabled { + background: var(--ck-color-input-disabled-background); + } + + & > .ck.ck-input-color__button__preview { + @mixin ck-rounded-corners; + + width: 20px; + height: 20px; + border: 1px solid var(--ck-color-input-border); + + & > .ck.ck-input-color__button__preview__no-color-indicator { + top: -30%; + left: 50%; + height: 150%; + width: 8%; + background: hsl(0, 100%, 50%); + border-radius: 2px; + transform: rotate(45deg); + transform-origin: 50%; + } + } + } + } + + & .ck.ck-input-color__remove-color { + width: 100%; + padding: calc(var(--ck-spacing-standard) / 2) var(--ck-spacing-standard); + + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + + &:not(:focus) { + border-bottom: 1px solid var(--ck-color-input-border); + } + + @mixin ck-dir ltr { + border-top-right-radius: 0; + } + + @mixin ck-dir rtl { + border-top-left-radius: 0; + } + + & .ck.ck-icon { + margin-right: var(--ck-spacing-standard); + + @mixin ck-dir rtl { + margin-right: 0; + margin-left: var(--ck-spacing-standard); + } + } + } +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * Implements rounded corner interface for .ck-rounded-corners class. + * + * @see $ck-border-radius + */ +@define-mixin ck-rounded-corners { + border-radius: 0; + + @nest .ck-rounded-corners &, + &.ck-rounded-corners { + border-radius: var(--ck-border-radius); + @mixin-content; + } +} +`],sourceRoot:""}]);const m=g},7502:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.id,".ck.ck-form{padding:0 0 var(--ck-spacing-large)}.ck.ck-form:focus{outline:none}.ck.ck-form .ck.ck-input-text{min-width:100%;width:0}.ck.ck-form .ck.ck-dropdown{min-width:100%}.ck.ck-form .ck.ck-dropdown .ck-dropdown__button:not(:focus){border:1px solid var(--ck-color-base-border)}.ck.ck-form .ck.ck-dropdown .ck-dropdown__button .ck-button__label{width:100%}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/form.css"],names:[],mappings:"AAKA,YACC,mCAyBD,CAvBC,kBAEC,YACD,CAEA,8BACC,cAAe,CACf,OACD,CAEA,4BACC,cAWD,CARE,6DACC,4CACD,CAEA,mEACC,UACD",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-form { + padding: 0 0 var(--ck-spacing-large); + + &:focus { + /* See: https://github.com/ckeditor/ckeditor5/issues/4773 */ + outline: none; + } + + & .ck.ck-input-text { + min-width: 100%; + width: 0; + } + + & .ck.ck-dropdown { + min-width: 100%; + + & .ck-dropdown__button { + &:not(:focus) { + border: 1px solid var(--ck-color-base-border); + } + + & .ck-button__label { + width: 100%; + } + } + } +} +`],sourceRoot:""}]);const m=g},6908:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.id,".ck.ck-form__row{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between}.ck.ck-form__row>:not(.ck-label){flex-grow:1}.ck.ck-form__row.ck-table-form__action-row .ck-button-cancel,.ck.ck-form__row.ck-table-form__action-row .ck-button-save{justify-content:center}.ck.ck-form__row{padding:var(--ck-spacing-standard) var(--ck-spacing-large) 0}[dir=ltr] .ck.ck-form__row>:not(.ck-label)+*{margin-left:var(--ck-spacing-large)}[dir=rtl] .ck.ck-form__row>:not(.ck-label)+*{margin-right:var(--ck-spacing-large)}.ck.ck-form__row>.ck-label{min-width:100%;width:100%}.ck.ck-form__row.ck-table-form__action-row{margin-top:var(--ck-spacing-large)}.ck.ck-form__row.ck-table-form__action-row .ck-button .ck-button__label{color:var(--ck-color-text)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-table/theme/formrow.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/formrow.css"],names:[],mappings:"AAKA,iBACC,YAAa,CACb,kBAAmB,CACnB,gBAAiB,CACjB,6BAaD,CAVC,iCACC,WACD,CAGC,wHAEC,sBACD,CCbF,iBACC,4DA2BD,CAvBE,6CAEE,mCAMF,CARA,6CAME,oCAEF,CAGD,2BAEC,cAAe,CADf,UAED,CAEA,2CACC,kCAKD,CAHC,wEACC,0BACD",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-form__row { + display: flex; + flex-direction: row; + flex-wrap: nowrap; + justify-content: space-between; + + /* Ignore labels that work as fieldset legends */ + & > *:not(.ck-label) { + flex-grow: 1; + } + + &.ck-table-form__action-row { + & .ck-button-save, + & .ck-button-cancel { + justify-content: center; + } + } +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css"; + +.ck.ck-form__row { + padding: var(--ck-spacing-standard) var(--ck-spacing-large) 0; + + /* Ignore labels that work as fieldset legends */ + & > *:not(.ck-label) { + & + * { + @mixin ck-dir ltr { + margin-left: var(--ck-spacing-large); + } + + @mixin ck-dir rtl { + margin-right: var(--ck-spacing-large); + } + } + } + + & > .ck-label { + width: 100%; + min-width: 100%; + } + + &.ck-table-form__action-row { + margin-top: var(--ck-spacing-large); + + & .ck-button .ck-button__label { + color: var(--ck-color-text); + } + } +} +`],sourceRoot:""}]);const m=g},468:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.id,".ck .ck-insert-table-dropdown__grid{display:flex;flex-direction:row;flex-wrap:wrap}:root{--ck-insert-table-dropdown-padding:10px;--ck-insert-table-dropdown-box-height:11px;--ck-insert-table-dropdown-box-width:12px;--ck-insert-table-dropdown-box-margin:1px}.ck .ck-insert-table-dropdown__grid{padding:var(--ck-insert-table-dropdown-padding) var(--ck-insert-table-dropdown-padding) 0;width:calc(var(--ck-insert-table-dropdown-box-width)*10 + var(--ck-insert-table-dropdown-box-margin)*20 + var(--ck-insert-table-dropdown-padding)*2)}.ck .ck-insert-table-dropdown__label,.ck[dir=rtl] .ck-insert-table-dropdown__label{text-align:center}.ck .ck-insert-table-dropdown-grid-box{border:1px solid var(--ck-color-base-border);border-radius:1px;margin:var(--ck-insert-table-dropdown-box-margin);min-height:var(--ck-insert-table-dropdown-box-height);min-width:var(--ck-insert-table-dropdown-box-width);outline:none;transition:none}.ck .ck-insert-table-dropdown-grid-box:focus{box-shadow:none}.ck .ck-insert-table-dropdown-grid-box.ck-on{background:var(--ck-color-focus-outer-shadow);border-color:var(--ck-color-focus-border)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-table/theme/inserttable.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/inserttable.css"],names:[],mappings:"AAKA,oCACC,YAAa,CACb,kBAAmB,CACnB,cACD,CCJA,MACC,uCAAwC,CACxC,0CAA2C,CAC3C,yCAA0C,CAC1C,yCACD,CAEA,oCAGC,yFAA0F,CAD1F,oJAED,CAEA,mFAEC,iBACD,CAEA,uCAIC,4CAA6C,CAC7C,iBAAkB,CAFlB,iDAAkD,CADlD,qDAAsD,CADtD,mDAAoD,CAKpD,YAAa,CACb,eAUD,CARC,6CACC,eACD,CAEA,6CAEC,6CAA8C,CAD9C,yCAED",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck .ck-insert-table-dropdown__grid { + display: flex; + flex-direction: row; + flex-wrap: wrap; +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +:root { + --ck-insert-table-dropdown-padding: 10px; + --ck-insert-table-dropdown-box-height: 11px; + --ck-insert-table-dropdown-box-width: 12px; + --ck-insert-table-dropdown-box-margin: 1px; +} + +.ck .ck-insert-table-dropdown__grid { + /* The width of a container should match 10 items in a row so there will be a 10x10 grid. */ + width: calc(var(--ck-insert-table-dropdown-box-width) * 10 + var(--ck-insert-table-dropdown-box-margin) * 20 + var(--ck-insert-table-dropdown-padding) * 2); + padding: var(--ck-insert-table-dropdown-padding) var(--ck-insert-table-dropdown-padding) 0; +} + +.ck .ck-insert-table-dropdown__label, +.ck[dir=rtl] .ck-insert-table-dropdown__label { + text-align: center; +} + +.ck .ck-insert-table-dropdown-grid-box { + min-width: var(--ck-insert-table-dropdown-box-width); + min-height: var(--ck-insert-table-dropdown-box-height); + margin: var(--ck-insert-table-dropdown-box-margin); + border: 1px solid var(--ck-color-base-border); + border-radius: 1px; + outline: none; + transition: none; + + &:focus { + box-shadow: none; + } + + &.ck-on { + border-color: var(--ck-color-focus-border); + background: var(--ck-color-focus-outer-shadow); + } +} + +`],sourceRoot:""}]);const m=g},2510:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.id,".ck-content .table{display:table;margin:.9em auto}.ck-content .table table{border:1px double #b3b3b3;border-collapse:collapse;border-spacing:0;height:100%;width:100%}.ck-content .table table td,.ck-content .table table th{border:1px solid #bfbfbf;min-width:2em;padding:.4em}.ck-content .table table th{background:rgba(0,0,0,.05);font-weight:700}.ck-content[dir=rtl] .table th{text-align:right}.ck-content[dir=ltr] .table th{text-align:left}.ck-editor__editable .ck-table-bogus-paragraph{display:inline-block;width:100%}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-table/theme/table.css"],names:[],mappings:"AAKA,mBAKC,aAAc,CADd,gBAiCD,CA9BC,yBAYC,yBAAkC,CAVlC,wBAAyB,CACzB,gBAAiB,CAKjB,WAAY,CADZ,UAsBD,CAfC,wDAQC,wBAAiC,CANjC,aAAc,CACd,YAMD,CAEA,4BAEC,0BAA+B,CAD/B,eAED,CAMF,+BACC,gBACD,CAEA,+BACC,eACD,CAEA,+CAKC,oBAAqB,CAMrB,UACD",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck-content .table { + /* Give the table widget some air and center it horizontally */ + /* The first value should be equal to --ck-spacing-large variable if used in the editor context + to avoid the content jumping (See https://github.com/ckeditor/ckeditor5/issues/9825). */ + margin: 0.9em auto; + display: table; + + & table { + /* The table cells should have slight borders */ + border-collapse: collapse; + border-spacing: 0; + + /* Table width and height are set on the parent
. Make sure the table inside stretches + to the full dimensions of the container (https://github.com/ckeditor/ckeditor5/issues/6186). */ + width: 100%; + height: 100%; + + /* The outer border of the table should be slightly darker than the inner lines. + Also see https://github.com/ckeditor/ckeditor5-table/issues/50. */ + border: 1px double hsl(0, 0%, 70%); + + & td, + & th { + min-width: 2em; + padding: .4em; + + /* The border is inherited from .ck-editor__nested-editable styles, so theoretically it's not necessary here. + However, the border is a content style, so it should use .ck-content (so it works outside the editor). + Hence, the duplication. See https://github.com/ckeditor/ckeditor5/issues/6314 */ + border: 1px solid hsl(0, 0%, 75%); + } + + & th { + font-weight: bold; + background: hsla(0, 0%, 0%, 5%); + } + } +} + +/* Text alignment of the table header should match the editor settings and override the native browser styling, +when content is available outside the editor. See https://github.com/ckeditor/ckeditor5/issues/6638 */ +.ck-content[dir="rtl"] .table th { + text-align: right; +} + +.ck-content[dir="ltr"] .table th { + text-align: left; +} + +.ck-editor__editable .ck-table-bogus-paragraph { + /* + * Use display:inline-block to force Chrome/Safari to limit text mutations to this element. + * See https://github.com/ckeditor/ckeditor5/issues/6062. + */ + display: inline-block; + + /* + * Inline HTML elements nested in the span should always be dimensioned in relation to the whole cell width. + * See https://github.com/ckeditor/ckeditor5/issues/9117. + */ + width: 100%; +} +`],sourceRoot:""}]);const m=g},1111:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.id,":root{--ck-color-selector-caption-background:#f7f7f7;--ck-color-selector-caption-text:#333;--ck-color-selector-caption-highlighted-background:#fd0}.ck-content .table>figcaption{background-color:var(--ck-color-selector-caption-background);caption-side:top;color:var(--ck-color-selector-caption-text);display:table-caption;font-size:.75em;outline-offset:-1px;padding:.6em;text-align:center;word-break:break-word}.ck.ck-editor__editable .table>figcaption.table__caption_highlighted{animation:ck-table-caption-highlight .6s ease-out}.ck.ck-editor__editable .table>figcaption.ck-placeholder:before{overflow:hidden;padding-left:inherit;padding-right:inherit;text-overflow:ellipsis;white-space:nowrap}@keyframes ck-table-caption-highlight{0%{background-color:var(--ck-color-selector-caption-highlighted-background)}to{background-color:var(--ck-color-selector-caption-background)}}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-table/theme/tablecaption.css"],names:[],mappings:"AAKA,MACC,8CAAuD,CACvD,qCAAiD,CACjD,uDACD,CAGA,8BAMC,4DAA6D,CAJ7D,gBAAiB,CAGjB,2CAA4C,CAJ5C,qBAAsB,CAOtB,eAAgB,CAChB,mBAAoB,CAFpB,YAAa,CAHb,iBAAkB,CADlB,qBAOD,CAIC,qEACC,iDACD,CAEA,gEASC,eAAgB,CARhB,oBAAqB,CACrB,qBAAsB,CAQtB,sBAAuB,CAFvB,kBAGD,CAGD,sCACC,GACC,wEACD,CAEA,GACC,4DACD,CACD",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +:root { + --ck-color-selector-caption-background: hsl(0, 0%, 97%); + --ck-color-selector-caption-text: hsl(0, 0%, 20%); + --ck-color-selector-caption-highlighted-background: hsl(52deg 100% 50%); +} + +/* Content styles */ +.ck-content .table > figcaption { + display: table-caption; + caption-side: top; + word-break: break-word; + text-align: center; + color: var(--ck-color-selector-caption-text); + background-color: var(--ck-color-selector-caption-background); + padding: .6em; + font-size: .75em; + outline-offset: -1px; +} + +/* Editing styles */ +.ck.ck-editor__editable .table > figcaption { + &.table__caption_highlighted { + animation: ck-table-caption-highlight .6s ease-out; + } + + &.ck-placeholder::before { + padding-left: inherit; + padding-right: inherit; + + /* + * Make sure the table caption placeholder doesn't overflow the placeholder area. + * See https://github.com/ckeditor/ckeditor5/issues/9162. + */ + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + } +} + +@keyframes ck-table-caption-highlight { + 0% { + background-color: var(--ck-color-selector-caption-highlighted-background); + } + + 100% { + background-color: var(--ck-color-selector-caption-background); + } +} +`],sourceRoot:""}]);const m=g},3964:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.id,".ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row{flex-wrap:wrap}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar:first-of-type{flex-grow:0.57}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar:last-of-type{flex-grow:0.43}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar .ck-button{flex-grow:1}.ck.ck-table-cell-properties-form{width:320px}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__padding-row{align-self:flex-end;padding:0;width:25%}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar{background:none;margin-top:var(--ck-spacing-standard)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-table/theme/tablecellproperties.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/tablecellproperties.css"],names:[],mappings:"AAOE,6FACC,cAiBD,CAdE,0HAEC,cACD,CAEA,yHAEC,cACD,CAEA,uHACC,WACD,CClBJ,kCACC,WAkBD,CAfE,2FACC,mBAAoB,CACpB,SAAU,CACV,SACD,CAGC,4GACC,eAAgB,CAGhB,qCACD",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-table-cell-properties-form { + & .ck-form__row { + &.ck-table-cell-properties-form__alignment-row { + flex-wrap: wrap; + + & .ck.ck-toolbar { + &:first-of-type { + /* 4 buttons out of 7 (h-alignment + v-alignment) = 0.57 */ + flex-grow: 0.57; + } + + &:last-of-type { + /* 3 buttons out of 7 (h-alignment + v-alignment) = 0.43 */ + flex-grow: 0.43; + } + + & .ck-button { + flex-grow: 1; + } + } + } + } +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-table-cell-properties-form { + width: 320px; + + & .ck-form__row { + &.ck-table-cell-properties-form__padding-row { + align-self: flex-end; + padding: 0; + width: 25%; + } + + &.ck-table-cell-properties-form__alignment-row { + & .ck.ck-toolbar { + background: none; + + /* Compensate for missing input label that would push the margin (toolbar has no inputs). */ + margin-top: var(--ck-spacing-standard); + } + } + } +} +`],sourceRoot:""}]);const m=g},7176:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.id,":root{--ck-color-selector-column-resizer-hover:var(--ck-color-base-active);--ck-table-column-resizer-width:7px;--ck-table-column-resizer-position-offset:calc(var(--ck-table-column-resizer-width)*-0.5 - 0.5px)}.ck-content .table .ck-table-resized{table-layout:fixed}.ck-content .table table{overflow:hidden}.ck-content .table td,.ck-content .table th{overflow-wrap:break-word;position:relative}.ck.ck-editor__editable .table .ck-table-column-resizer{bottom:0;cursor:col-resize;position:absolute;right:var(--ck-table-column-resizer-position-offset);top:0;user-select:none;width:var(--ck-table-column-resizer-width);z-index:var(--ck-z-default)}.ck.ck-editor__editable .table[draggable] .ck-table-column-resizer,.ck.ck-editor__editable.ck-column-resize_disabled .table .ck-table-column-resizer{display:none}.ck.ck-editor__editable .table .ck-table-column-resizer:hover,.ck.ck-editor__editable .table .ck-table-column-resizer__active{background-color:var(--ck-color-selector-column-resizer-hover);bottom:-999999px;opacity:.25;top:-999999px}.ck.ck-editor__editable[dir=rtl] .table .ck-table-column-resizer{left:var(--ck-table-column-resizer-position-offset);right:unset}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-table/theme/tablecolumnresize.css"],names:[],mappings:"AAKA,MACC,oEAAqE,CACrE,mCAAoC,CAIpC,iGACD,CAEA,qCACC,kBACD,CAEA,yBACC,eACD,CAEA,4CAIC,wBAAyB,CACzB,iBACD,CAEA,wDAGC,QAAS,CAGT,iBAAkB,CALlB,iBAAkB,CAGlB,oDAAqD,CAFrD,KAAM,CAKN,gBAAiB,CAFjB,0CAA2C,CAG3C,2BACD,CAQA,qJACC,YACD,CAEA,8HAEC,8DAA+D,CAO/D,gBAAiB,CANjB,WAAa,CAKb,aAED,CAEA,iEACC,mDAAoD,CACpD,WACD",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +:root { + --ck-color-selector-column-resizer-hover: var(--ck-color-base-active); + --ck-table-column-resizer-width: 7px; + + /* The offset used for absolute positioning of the resizer element, so that it is placed exactly above the cell border. + The value is: minus half the width of the resizer decreased additionaly by the half the width of the border (0.5px). */ + --ck-table-column-resizer-position-offset: calc(var(--ck-table-column-resizer-width) * -0.5 - 0.5px); +} + +.ck-content .table .ck-table-resized { + table-layout: fixed; +} + +.ck-content .table table { + overflow: hidden; +} + +.ck-content .table td, +.ck-content .table th { + /* To prevent text overflowing beyond its cell when columns are resized by resize handler + (https://github.com/ckeditor/ckeditor5/pull/14379#issuecomment-1589460978). */ + overflow-wrap: break-word; + position: relative; +} + +.ck.ck-editor__editable .table .ck-table-column-resizer { + position: absolute; + top: 0; + bottom: 0; + right: var(--ck-table-column-resizer-position-offset); + width: var(--ck-table-column-resizer-width); + cursor: col-resize; + user-select: none; + z-index: var(--ck-z-default); +} + +.ck.ck-editor__editable.ck-column-resize_disabled .table .ck-table-column-resizer { + display: none; +} + +/* The resizer elements, which are extended to an extremely high height, break the drag & drop feature in Chrome. To make it work again, + all resizers must be hidden while the table is dragged. */ +.ck.ck-editor__editable .table[draggable] .ck-table-column-resizer { + display: none; +} + +.ck.ck-editor__editable .table .ck-table-column-resizer:hover, +.ck.ck-editor__editable .table .ck-table-column-resizer__active { + background-color: var(--ck-color-selector-column-resizer-hover); + opacity: 0.25; + /* The resizer element resides in each cell so to occupy the entire height of the table, which is unknown from a CSS point of view, + it is extended to an extremely high height. Even for screens with a very high pixel density, the resizer will fulfill its role as + it should, i.e. for a screen of 476 ppi the total height of the resizer will take over 350 sheets of A4 format, which is totally + unrealistic height for a single table. */ + top: -999999px; + bottom: -999999px; +} + +.ck.ck-editor__editable[dir=rtl] .table .ck-table-column-resizer { + left: var(--ck-table-column-resizer-position-offset); + right: unset; +} +`],sourceRoot:""}]);const m=g},8361:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.id,":root{--ck-color-selector-focused-cell-background:rgba(158,201,250,.3)}.ck-widget.table td.ck-editor__nested-editable.ck-editor__nested-editable_focused,.ck-widget.table td.ck-editor__nested-editable:focus,.ck-widget.table th.ck-editor__nested-editable.ck-editor__nested-editable_focused,.ck-widget.table th.ck-editor__nested-editable:focus{background:var(--ck-color-selector-focused-cell-background);border-style:none;outline:1px solid var(--ck-color-focus-border);outline-offset:-1px}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/tableediting.css"],names:[],mappings:"AAKA,MACC,gEACD,CAKE,8QAGC,2DAA4D,CAK5D,iBAAkB,CAClB,8CAA+C,CAC/C,mBACD",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +:root { + --ck-color-selector-focused-cell-background: hsla(212, 90%, 80%, .3); +} + +.ck-widget.table { + & td, + & th { + &.ck-editor__nested-editable.ck-editor__nested-editable_focused, + &.ck-editor__nested-editable:focus { + /* A very slight background to highlight the focused cell */ + background: var(--ck-color-selector-focused-cell-background); + + /* Fixes the problem where surrounding cells cover the focused cell's border. + It does not fix the problem in all places but the UX is improved. + See https://github.com/ckeditor/ckeditor5-table/issues/29. */ + border-style: none; + outline: 1px solid var(--ck-color-focus-border); + outline-offset: -1px; /* progressive enhancement - no IE support */ + } + } +} +`],sourceRoot:""}]);const m=g},9429:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.id,'.ck.ck-table-form .ck-form__row.ck-table-form__background-row,.ck.ck-table-form .ck-form__row.ck-table-form__border-row{flex-wrap:wrap}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row{align-items:center;flex-wrap:wrap}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-labeled-field-view{align-items:center;display:flex;flex-direction:column-reverse}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-labeled-field-view .ck.ck-dropdown,.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimension-operator{flex-grow:0}.ck.ck-table-form .ck.ck-labeled-field-view{position:relative}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status{bottom:calc(var(--ck-table-properties-error-arrow-size)*-1);left:50%;position:absolute;transform:translate(-50%,100%);z-index:1}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status:after{content:"";left:50%;position:absolute;top:calc(var(--ck-table-properties-error-arrow-size)*-1);transform:translateX(-50%)}:root{--ck-table-properties-error-arrow-size:6px;--ck-table-properties-min-error-width:150px}.ck.ck-table-form .ck-form__row.ck-table-form__border-row .ck-labeled-field-view>.ck-label{font-size:var(--ck-font-size-tiny);text-align:center}.ck.ck-table-form .ck-form__row.ck-table-form__border-row .ck-table-form__border-style,.ck.ck-table-form .ck-form__row.ck-table-form__border-row .ck-table-form__border-width{max-width:80px;min-width:80px;width:80px}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row{padding:0}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimensions-row__height,.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimensions-row__width{margin:0}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimension-operator{align-self:flex-end;display:inline-block;height:var(--ck-ui-component-min-height);line-height:var(--ck-ui-component-min-height);margin:0 var(--ck-spacing-small)}.ck.ck-table-form .ck.ck-labeled-field-view{padding-top:var(--ck-spacing-standard)}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status{border-radius:0}.ck-rounded-corners .ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status,.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status{background:var(--ck-color-base-error);color:var(--ck-color-base-background);min-width:var(--ck-table-properties-min-error-width);padding:var(--ck-spacing-small) var(--ck-spacing-medium);text-align:center}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status:after{border-color:transparent transparent var(--ck-color-base-error) transparent;border-style:solid;border-width:0 var(--ck-table-properties-error-arrow-size) var(--ck-table-properties-error-arrow-size) var(--ck-table-properties-error-arrow-size)}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status{animation:ck-table-form-labeled-view-status-appear .15s ease both}.ck.ck-table-form .ck.ck-labeled-field-view .ck-input.ck-error:not(:focus)+.ck.ck-labeled-field-view__status{display:none}@keyframes ck-table-form-labeled-view-status-appear{0%{opacity:0}to{opacity:1}}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-table/theme/tableform.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/tableform.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAWE,wHACC,cACD,CAEA,8DAEC,kBAAmB,CADnB,cAgBD,CAbC,qFAGC,kBAAmB,CAFnB,YAAa,CACb,6BAMD,CAEA,sMACC,WACD,CAIF,4CAEC,iBAoBD,CAlBC,8EAGC,2DAAgE,CADhE,QAAS,CADT,iBAAkB,CAGlB,8BAA+B,CAG/B,SAUD,CAPC,oFACC,UAAW,CAGX,QAAS,CAFT,iBAAkB,CAClB,wDAA6D,CAE7D,0BACD,CChDH,MACC,0CAA2C,CAC3C,2CACD,CAMI,2FACC,kCAAmC,CACnC,iBACD,CAGD,8KAIC,cAAe,CADf,cAAe,CADf,UAGD,CAGD,8DACC,SAcD,CAZC,yMAEC,QACD,CAEA,iGACC,mBAAoB,CACpB,oBAAqB,CACrB,wCAAyC,CACzC,6CAA8C,CAC9C,gCACD,CAIF,4CACC,sCAyBD,CAvBC,8ECxCD,eDyDC,CAjBA,mMCpCA,qCDqDA,CAjBA,8EAGC,qCAAsC,CACtC,qCAAsC,CAEtC,oDAAqD,CADrD,wDAAyD,CAEzD,iBAUD,CAPC,oFACC,2EAA4E,CAE5E,kBAAmB,CADnB,kJAED,CAdD,8EAgBC,iEACD,CAGA,6GACC,YACD,CAIF,oDACC,GACC,SACD,CAEA,GACC,SACD,CACD",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-table-form { + & .ck-form__row { + &.ck-table-form__border-row { + flex-wrap: wrap; + } + + &.ck-table-form__background-row { + flex-wrap: wrap; + } + + &.ck-table-form__dimensions-row { + flex-wrap: wrap; + align-items: center; + + & .ck-labeled-field-view { + display: flex; + flex-direction: column-reverse; + align-items: center; + + & .ck.ck-dropdown { + flex-grow: 0; + } + } + + & .ck-table-form__dimension-operator { + flex-grow: 0; + } + } + } + + & .ck.ck-labeled-field-view { + /* Allow absolute positioning of the status (error) balloons. */ + position: relative; + + & .ck.ck-labeled-field-view__status { + position: absolute; + left: 50%; + bottom: calc( -1 * var(--ck-table-properties-error-arrow-size) ); + transform: translate(-50%,100%); + + /* Make sure the balloon status stays on top of other form elements. */ + z-index: 1; + + /* The arrow pointing towards the field. */ + &::after { + content: ""; + position: absolute; + top: calc( -1 * var(--ck-table-properties-error-arrow-size) ); + left: 50%; + transform: translateX( -50% ); + } + } + } +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "../mixins/_rounded.css"; + +:root { + --ck-table-properties-error-arrow-size: 6px; + --ck-table-properties-min-error-width: 150px; +} + +.ck.ck-table-form { + & .ck-form__row { + &.ck-table-form__border-row { + & .ck-labeled-field-view { + & > .ck-label { + font-size: var(--ck-font-size-tiny); + text-align: center; + } + } + + & .ck-table-form__border-style, + & .ck-table-form__border-width { + width: 80px; + min-width: 80px; + max-width: 80px; + } + } + + &.ck-table-form__dimensions-row { + padding: 0; + + & .ck-table-form__dimensions-row__width, + & .ck-table-form__dimensions-row__height { + margin: 0 + } + + & .ck-table-form__dimension-operator { + align-self: flex-end; + display: inline-block; + height: var(--ck-ui-component-min-height); + line-height: var(--ck-ui-component-min-height); + margin: 0 var(--ck-spacing-small); + } + } + } + + & .ck.ck-labeled-field-view { + padding-top: var(--ck-spacing-standard); + + & .ck.ck-labeled-field-view__status { + @mixin ck-rounded-corners; + + background: var(--ck-color-base-error); + color: var(--ck-color-base-background); + padding: var(--ck-spacing-small) var(--ck-spacing-medium); + min-width: var(--ck-table-properties-min-error-width); + text-align: center; + + /* The arrow pointing towards the field. */ + &::after { + border-color: transparent transparent var(--ck-color-base-error) transparent; + border-width: 0 var(--ck-table-properties-error-arrow-size) var(--ck-table-properties-error-arrow-size) var(--ck-table-properties-error-arrow-size); + border-style: solid; + } + + animation: ck-table-form-labeled-view-status-appear .15s ease both; + } + + /* Hide the error balloon when the field is blurred. Makes the experience much more clear. */ + & .ck-input.ck-error:not(:focus) + .ck.ck-labeled-field-view__status { + display: none; + } + } +} + +@keyframes ck-table-form-labeled-view-status-appear { + 0% { + opacity: 0; + } + + 100% { + opacity: 1; + } +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * Implements rounded corner interface for .ck-rounded-corners class. + * + * @see $ck-border-radius + */ +@define-mixin ck-rounded-corners { + border-radius: 0; + + @nest .ck-rounded-corners &, + &.ck-rounded-corners { + border-radius: var(--ck-border-radius); + @mixin-content; + } +} +`],sourceRoot:""}]);const m=g},6596:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.id,".ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row{align-content:baseline;flex-basis:0;flex-wrap:wrap}.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row .ck.ck-toolbar .ck-toolbar__items{flex-wrap:nowrap}.ck.ck-table-properties-form{width:320px}.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row{align-self:flex-end;padding:0}.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row .ck.ck-toolbar{background:none;margin-top:var(--ck-spacing-standard)}.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row .ck.ck-toolbar .ck-toolbar__items>*{width:40px}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-table/theme/tableproperties.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/tableproperties.css"],names:[],mappings:"AAOE,mFAGC,sBAAuB,CADvB,YAAa,CADb,cAOD,CAHC,qHACC,gBACD,CCTH,6BACC,WAmBD,CAhBE,mFACC,mBAAoB,CACpB,SAYD,CAVC,kGACC,eAAgB,CAGhB,qCAKD,CAHC,uHACC,UACD",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-table-properties-form { + & .ck-form__row { + &.ck-table-properties-form__alignment-row { + flex-wrap: wrap; + flex-basis: 0; + align-content: baseline; + + & .ck.ck-toolbar .ck-toolbar__items { + flex-wrap: nowrap; + } + } + } +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-table-properties-form { + width: 320px; + + & .ck-form__row { + &.ck-table-properties-form__alignment-row { + align-self: flex-end; + padding: 0; + + & .ck.ck-toolbar { + background: none; + + /* Compensate for missing input label that would push the margin (toolbar has no inputs). */ + margin-top: var(--ck-spacing-standard); + + & .ck-toolbar__items > * { + width: 40px; + } + } + } + } +} +`],sourceRoot:""}]);const m=g},1546:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.id,':root{--ck-table-selected-cell-background:rgba(158,207,250,.3)}.ck.ck-editor__editable .table table td.ck-editor__editable_selected,.ck.ck-editor__editable .table table th.ck-editor__editable_selected{box-shadow:unset;caret-color:transparent;outline:unset;position:relative}.ck.ck-editor__editable .table table td.ck-editor__editable_selected:after,.ck.ck-editor__editable .table table th.ck-editor__editable_selected:after{background-color:var(--ck-table-selected-cell-background);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.ck.ck-editor__editable .table table td.ck-editor__editable_selected ::selection,.ck.ck-editor__editable .table table td.ck-editor__editable_selected:focus,.ck.ck-editor__editable .table table th.ck-editor__editable_selected ::selection,.ck.ck-editor__editable .table table th.ck-editor__editable_selected:focus{background-color:transparent}.ck.ck-editor__editable .table table td.ck-editor__editable_selected .ck-widget,.ck.ck-editor__editable .table table th.ck-editor__editable_selected .ck-widget{outline:unset}.ck.ck-editor__editable .table table td.ck-editor__editable_selected .ck-widget>.ck-widget__selection-handle,.ck.ck-editor__editable .table table th.ck-editor__editable_selected .ck-widget>.ck-widget__selection-handle{display:none}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/tableselection.css"],names:[],mappings:"AAKA,MACC,wDACD,CAGC,0IAKC,gBAAiB,CAFjB,uBAAwB,CACxB,aAAc,CAFd,iBAiCD,CA3BC,sJAGC,yDAA0D,CAK1D,QAAS,CAPT,UAAW,CAKX,MAAO,CAJP,mBAAoB,CAEpB,iBAAkB,CAGlB,OAAQ,CAFR,KAID,CAEA,wTAEC,4BACD,CAMA,gKACC,aAKD,CAHC,0NACC,YACD",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +:root { + --ck-table-selected-cell-background: hsla(208, 90%, 80%, .3); +} + +.ck.ck-editor__editable .table table { + & td.ck-editor__editable_selected, + & th.ck-editor__editable_selected { + position: relative; + caret-color: transparent; + outline: unset; + box-shadow: unset; + + /* https://github.com/ckeditor/ckeditor5/issues/6446 */ + &:after { + content: ''; + pointer-events: none; + background-color: var(--ck-table-selected-cell-background); + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + } + + & ::selection, + &:focus { + background-color: transparent; + } + + /* + * To reduce the amount of noise, all widgets in the table selection have no outline and no selection handle. + * See https://github.com/ckeditor/ckeditor5/issues/9491. + */ + & .ck-widget { + outline: unset; + + & > .ck-widget__selection-handle { + display: none; + } + } + } +} +`],sourceRoot:""}]);const m=g},3290:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.id,".ck.ck-aria-live-announcer{left:-10000px;position:absolute;top:-10000px}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/arialiveannouncer/arialiveannouncer.css"],names:[],mappings:"AAKA,2BAEC,aAAc,CADd,iBAAkB,CAElB,YACD",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-aria-live-announcer { + position: absolute; + left: -10000px; + top: -10000px; +} +`],sourceRoot:""}]);const m=g},4029:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.id,".ck.ck-autocomplete{position:relative}.ck.ck-autocomplete>.ck-search__results{position:absolute;z-index:var(--ck-z-panel)}.ck.ck-autocomplete>.ck-search__results.ck-search__results_n{bottom:100%}.ck.ck-autocomplete>.ck-search__results.ck-search__results_s{bottom:auto;top:100%}.ck.ck-autocomplete>.ck-search__results{border-radius:0}.ck-rounded-corners .ck.ck-autocomplete>.ck-search__results,.ck.ck-autocomplete>.ck-search__results.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-autocomplete>.ck-search__results{background:var(--ck-color-base-background);border:1px solid var(--ck-color-dropdown-panel-border);box-shadow:var(--ck-drop-shadow),0 0;max-height:200px;min-width:auto;overflow-y:auto}.ck.ck-autocomplete>.ck-search__results.ck-search__results_n{border-bottom-left-radius:0;border-bottom-right-radius:0;margin-bottom:-1px}.ck.ck-autocomplete>.ck-search__results.ck-search__results_s{border-top-left-radius:0;border-top-right-radius:0;margin-top:-1px}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/autocomplete/autocomplete.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/autocomplete/autocomplete.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AAKA,oBACC,iBAeD,CAbC,wCACC,iBAAkB,CAClB,yBAUD,CARC,6DACC,WACD,CAEA,6DAEC,WAAY,CADZ,QAED,CCVD,wCCEA,eDuBA,CAzBA,uHCMC,qCDmBD,CAzBA,wCAMC,0CAA2C,CAC3C,sDAAuD,CEPxD,oCAA8B,CFI7B,gBAAiB,CAIjB,cAAe,CAHf,eAoBD,CAfC,6DACC,2BAA4B,CAC5B,4BAA6B,CAG7B,kBACD,CAEA,6DACC,wBAAyB,CACzB,yBAA0B,CAG1B,eACD",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-autocomplete { + position: relative; + + & > .ck-search__results { + position: absolute; + z-index: var(--ck-z-panel); + + &.ck-search__results_n { + bottom: 100%; + } + + &.ck-search__results_s { + top: 100%; + bottom: auto; + } + } +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css"; +@import "@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css"; + +.ck.ck-autocomplete { + & > .ck-search__results { + @mixin ck-rounded-corners; + @mixin ck-drop-shadow; + + max-height: 200px; + overflow-y: auto; + background: var(--ck-color-base-background); + border: 1px solid var(--ck-color-dropdown-panel-border); + min-width: auto; + + &.ck-search__results_n { + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + + /* Prevent duplicated borders between the input and the results pane. */ + margin-bottom: -1px; + } + + &.ck-search__results_s { + border-top-left-radius: 0; + border-top-right-radius: 0; + + /* Prevent duplicated borders between the input and the results pane. */ + margin-top: -1px; + } + } +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * Implements rounded corner interface for .ck-rounded-corners class. + * + * @see $ck-border-radius + */ +@define-mixin ck-rounded-corners { + border-radius: 0; + + @nest .ck-rounded-corners &, + &.ck-rounded-corners { + border-radius: var(--ck-border-radius); + @mixin-content; + } +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * A helper to combine multiple shadows. + */ +@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 { + box-shadow: $shadowA, $shadowB; +} + +/** + * Gives an element a drop shadow so it looks like a floating panel. + */ +@define-mixin ck-drop-shadow { + @mixin ck-box-shadow var(--ck-drop-shadow); +} +`],sourceRoot:""}]);const m=g},4971:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.id,".ck.ck-button,a.ck.ck-button{align-items:center;display:inline-flex;position:relative;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}[dir=ltr] .ck.ck-button,[dir=ltr] a.ck.ck-button{justify-content:left}[dir=rtl] .ck.ck-button,[dir=rtl] a.ck.ck-button{justify-content:right}.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}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/button/button.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_unselectable.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/button/button.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/mixins/_button.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_focus.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_disabled.css"],names:[],mappings:"AAQA,6BAMC,kBAAmB,CADnB,mBAAoB,CADpB,iBAAkB,CCHlB,qBAAsB,CACtB,wBAAyB,CACzB,oBAAqB,CACrB,gBD0BD,CA9BA,iDASE,oBAqBF,CA9BA,iDAaE,qBAiBF,CAdC,iEACC,YACD,CAGC,yGACC,oBACD,CAID,iFACC,sBACD,CEzBD,6BCAC,oDD4ID,CCzIE,6EACC,0DACD,CAEA,+EACC,2DACD,CAID,qDACC,6DACD,CDfD,6BEDC,eF6ID,CA5IA,wIEGE,qCFyIF,CA5IA,6BA6BC,uBAAwB,CANxB,4BAA6B,CAjB7B,cAAe,CAcf,iBAAkB,CAHlB,aAAc,CAJd,4CAA6C,CAD7C,2CAA4C,CAJ5C,8BAA+B,CAC/B,iBAAkB,CAiBlB,4DAA8D,CAnB9D,qBAAsB,CAFtB,kBAuID,CA7GC,oFGhCA,2BAA2B,CCF3B,2CAA8B,CDC9B,YHqCA,CAIC,kJAEC,aACD,CAGD,iEAIC,aAAc,CACd,cAAe,CAHf,iBAAkB,CAClB,mBAAoB,CAMpB,qBASD,CAlBA,qFAYE,eAMF,CAlBA,qFAgBE,gBAEF,CAEA,yEACC,aAYD,CAbA,6FAIE,mCASF,CAbA,6FAQE,oCAKF,CAbA,yEAWC,eAAiB,CACjB,UACD,CAIC,oIIrFD,oDJyFC,CAOA,gLKhGD,kCLkGC,CAEA,iGACC,UACD,CAGD,qEACC,yDAcD,CAXC,2HAEE,4CAA+C,CAC/C,oCAOF,CAVA,2HAQE,mCAAoC,CADpC,6CAGF,CAKA,mHACC,WACD,CAID,yCC/HA,+CDmIA,CChIC,yFACC,qDACD,CAEA,2FACC,sDACD,CAID,iEACC,wDACD,CDgHA,yCAGC,qCACD,CAEA,2DACC,iCACD,CAEA,+DACC,mCACD,CAID,2CC/IC,mDDoJD,CCjJE,2FACC,yDACD,CAEA,6FACC,0DACD,CAID,mEACC,4DACD,CDgID,2CAIC,wCACD,CAEA,uCAEC,eACD",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "../../mixins/_unselectable.css"; +@import "../../mixins/_dir.css"; + +.ck.ck-button, +a.ck.ck-button { + @mixin ck-unselectable; + + position: relative; + display: inline-flex; + align-items: center; + + @mixin ck-dir ltr { + justify-content: left; + } + + @mixin ck-dir rtl { + justify-content: right; + } + + & .ck-button__label { + display: none; + } + + &.ck-button_with-text { + & .ck-button__label { + display: inline-block; + } + } + + /* Center the icon horizontally in a button without text. */ + &:not(.ck-button_with-text) { + justify-content: center; + } +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * Makes element unselectable. + */ +@define-mixin ck-unselectable { + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + user-select: none +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "../../../mixins/_focus.css"; +@import "../../../mixins/_shadow.css"; +@import "../../../mixins/_disabled.css"; +@import "../../../mixins/_rounded.css"; +@import "../../mixins/_button.css"; +@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css"; + +.ck.ck-button, +a.ck.ck-button { + @mixin ck-button-colors --ck-color-button-default; + @mixin ck-rounded-corners; + + white-space: nowrap; + cursor: default; + vertical-align: middle; + padding: var(--ck-spacing-tiny); + text-align: center; + + /* A very important piece of styling. Go to variable declaration to learn more. */ + min-width: var(--ck-ui-component-min-height); + min-height: var(--ck-ui-component-min-height); + + /* Normalize the height of the line. Removing this will break consistent height + among text and text-less buttons (with icons). */ + line-height: 1; + + /* Enable font size inheritance, which allows fluid UI scaling. */ + font-size: inherit; + + /* Avoid flickering when the foucs border shows up. */ + border: 1px solid transparent; + + /* Apply some smooth transition to the box-shadow and border. */ + transition: box-shadow .2s ease-in-out, border .2s ease-in-out; + + /* https://github.com/ckeditor/ckeditor5-theme-lark/issues/189 */ + -webkit-appearance: none; + + &:active, + &:focus { + @mixin ck-focus-ring; + @mixin ck-box-shadow var(--ck-focus-outer-shadow); + } + + /* Allow icon coloring using the text "color" property. */ + & .ck-button__icon { + & use, + & use * { + color: inherit; + } + } + + & .ck-button__label { + /* Enable font size inheritance, which allows fluid UI scaling. */ + font-size: inherit; + font-weight: inherit; + color: inherit; + cursor: inherit; + + /* Must be consistent with .ck-icon's vertical align. Otherwise, buttons with and + without labels (but with icons) have different sizes in Chrome */ + vertical-align: middle; + + @mixin ck-dir ltr { + text-align: left; + } + + @mixin ck-dir rtl { + text-align: right; + } + } + + & .ck-button__keystroke { + color: inherit; + + @mixin ck-dir ltr { + margin-left: var(--ck-spacing-large); + } + + @mixin ck-dir rtl { + margin-right: var(--ck-spacing-large); + } + + font-weight: bold; + opacity: .7; + } + + /* https://github.com/ckeditor/ckeditor5-theme-lark/issues/70 */ + &.ck-disabled { + &:active, + &:focus { + /* The disabled button should have a slightly less visible shadow when focused. */ + @mixin ck-box-shadow var(--ck-focus-disabled-outer-shadow); + } + + & .ck-button__icon { + @mixin ck-disabled; + } + + /* https://github.com/ckeditor/ckeditor5-theme-lark/issues/98 */ + & .ck-button__label { + @mixin ck-disabled; + } + + & .ck-button__keystroke { + opacity: .3; + } + } + + &.ck-button_with-text { + padding: var(--ck-spacing-tiny) var(--ck-spacing-standard); + + /* stylelint-disable-next-line no-descending-specificity */ + & .ck-button__icon { + @mixin ck-dir ltr { + margin-left: calc(-1 * var(--ck-spacing-small)); + margin-right: var(--ck-spacing-small); + } + + @mixin ck-dir rtl { + margin-right: calc(-1 * var(--ck-spacing-small)); + margin-left: var(--ck-spacing-small); + } + } + } + + &.ck-button_with-keystroke { + /* stylelint-disable-next-line no-descending-specificity */ + & .ck-button__label { + flex-grow: 1; + } + } + + /* A style of the button which is currently on, e.g. its feature is active. */ + &.ck-on { + @mixin ck-button-colors --ck-color-button-on; + + color: var(--ck-color-button-on-color); + } + + &.ck-button-save { + color: var(--ck-color-button-save); + } + + &.ck-button-cancel { + color: var(--ck-color-button-cancel); + } +} + +/* A style of the button which handles the primary action. */ +.ck.ck-button-action, +a.ck.ck-button-action { + @mixin ck-button-colors --ck-color-button-action; + + color: var(--ck-color-button-action-text); +} + +.ck.ck-button-bold, +a.ck.ck-button-bold { + font-weight: bold; +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * Implements a button of given background color. + * + * @param {String} $background - Background color of the button. + * @param {String} $border - Border color of the button. + */ +@define-mixin ck-button-colors $prefix { + background: var($(prefix)-background); + + &:not(.ck-disabled) { + &:hover { + background: var($(prefix)-hover-background); + } + + &:active { + background: var($(prefix)-active-background); + } + } + + /* https://github.com/ckeditor/ckeditor5-theme-lark/issues/98 */ + &.ck-disabled { + background: var($(prefix)-disabled-background); + } +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * Implements rounded corner interface for .ck-rounded-corners class. + * + * @see $ck-border-radius + */ +@define-mixin ck-rounded-corners { + border-radius: 0; + + @nest .ck-rounded-corners &, + &.ck-rounded-corners { + border-radius: var(--ck-border-radius); + @mixin-content; + } +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * A visual style of focused element's border. + */ +@define-mixin ck-focus-ring { + /* Disable native outline. */ + outline: none; + border: var(--ck-focus-ring) +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * A helper to combine multiple shadows. + */ +@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 { + box-shadow: $shadowA, $shadowB; +} + +/** + * Gives an element a drop shadow so it looks like a floating panel. + */ +@define-mixin ck-drop-shadow { + @mixin ck-box-shadow var(--ck-drop-shadow); +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * A class which indicates that an element holding it is disabled. + */ +@define-mixin ck-disabled { + opacity: var(--ck-disabled-opacity); +} +`],sourceRoot:""}]);const m=g},7258:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.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)}.ck.ck-button.ck-switchbutton,.ck.ck-button.ck-switchbutton.ck-on:active,.ck.ck-button.ck-switchbutton.ck-on:focus,.ck.ck-button.ck-switchbutton.ck-on:hover,.ck.ck-button.ck-switchbutton:active,.ck.ck-button.ck-switchbutton:focus,.ck.ck-button.ck-switchbutton:hover{background:transparent;color:inherit}[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))}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/button/switchbutton.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/button/switchbutton.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_disabled.css"],names:[],mappings:"AASE,4HACC,aACD,CCCF,MAEC,8CAA+C,CAE/C,0DAAgE,CAChE,2HAIC,CACD,0FACD,CAOC,0QAEC,sBAAuB,CADvB,aAED,CAEA,0DAGE,4CAOF,CAVA,0DAQE,2CAEF,CAEA,iDCpCA,eD4EA,CAxCA,yIChCC,qCDwED,CAxCA,2DAKE,gBAmCF,CAxCA,2DAUE,iBA8BF,CAxCA,iDAkBC,uDAAwD,CAFxD,4BAA6B,CAD7B,iFAAsF,CAEtF,0CAuBD,CApBC,2ECxDD,eDmEC,CAXA,6LCpDA,qCAAsC,CDsDpC,8CASF,CAXA,2EAOC,yDAA0D,CAD1D,gDAAiD,CAIjD,uBAA0B,CAL1B,+CAMD,CAEA,uDACC,6DAKD,CAHC,iFACC,qDACD,CAIF,6DEhFA,kCFkFA,CAGA,oCACC,wBAAyB,CAEzB,eAAgB,CADhB,YAQD,CALC,uDACC,iGAAmG,CAEnG,4BAA6B,CAD7B,kBAED,CAKA,uDACC,sDAkBD,CAhBC,6DACC,4DACD,CAEA,2FAKE,2DAMF,CAXA,2FASE,oEAEF",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-button.ck-switchbutton { + & .ck-button__toggle { + display: block; + + & .ck-button__toggle__inner { + display: block; + } + } +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "../../../mixins/_rounded.css"; +@import "../../../mixins/_disabled.css"; +@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css"; + +/* Note: To avoid rendering issues (aliasing) but to preserve the responsive nature +of the component, floating–point numbers have been used which, for the default font size +(see: --ck-font-size-base), will generate simple integers. */ +:root { + /* 34px at 13px font-size */ + --ck-switch-button-toggle-width: 2.6153846154em; + /* 14px at 13px font-size */ + --ck-switch-button-toggle-inner-size: calc(1.0769230769em + 1px); + --ck-switch-button-translation: calc( + var(--ck-switch-button-toggle-width) - + var(--ck-switch-button-toggle-inner-size) - + 2px /* Border */ + ); + --ck-switch-button-inner-hover-shadow: 0 0 0 5px var(--ck-color-switch-button-inner-shadow); +} + +.ck.ck-button.ck-switchbutton { + /* Unlike a regular button, the switch button text color and background should never change. + * Changing toggle switch (background, outline) is enough to carry the information about the + * state of the entire component (https://github.com/ckeditor/ckeditor5/issues/12519) + */ + &, &:hover, &:focus, &:active, &.ck-on:hover, &.ck-on:focus, &.ck-on:active { + color: inherit; + background: transparent; + } + + & .ck-button__label { + @mixin ck-dir ltr { + /* Separate the label from the switch */ + margin-right: calc(2 * var(--ck-spacing-large)); + } + + @mixin ck-dir rtl { + /* Separate the label from the switch */ + margin-left: calc(2 * var(--ck-spacing-large)); + } + } + + & .ck-button__toggle { + @mixin ck-rounded-corners; + + @mixin ck-dir ltr { + /* Make sure the toggle is always to the right as far as possible. */ + margin-left: auto; + } + + @mixin ck-dir rtl { + /* Make sure the toggle is always to the left as far as possible. */ + margin-right: auto; + } + + /* Apply some smooth transition to the box-shadow and border. */ + /* Gently animate the background color of the toggle switch */ + transition: background 400ms ease, box-shadow .2s ease-in-out, outline .2s ease-in-out; + border: 1px solid transparent; + width: var(--ck-switch-button-toggle-width); + background: var(--ck-color-switch-button-off-background); + + & .ck-button__toggle__inner { + @mixin ck-rounded-corners { + border-radius: calc(.5 * var(--ck-border-radius)); + } + + width: var(--ck-switch-button-toggle-inner-size); + height: var(--ck-switch-button-toggle-inner-size); + background: var(--ck-color-switch-button-inner-background); + + /* Gently animate the inner part of the toggle switch */ + transition: all 300ms ease; + } + + &:hover { + background: var(--ck-color-switch-button-off-hover-background); + + & .ck-button__toggle__inner { + box-shadow: var(--ck-switch-button-inner-hover-shadow); + } + } + } + + &.ck-disabled .ck-button__toggle { + @mixin ck-disabled; + } + + /* Overriding default .ck-button:focus styles + an outline around the toogle */ + &:focus { + border-color: transparent; + outline: none; + box-shadow: none; + + & .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-offset: 1px; + outline: var(--ck-focus-ring); + } + } + + /* stylelint-disable-next-line no-descending-specificity */ + &.ck-on { + & .ck-button__toggle { + background: var(--ck-color-switch-button-on-background); + + &:hover { + background: var(--ck-color-switch-button-on-hover-background); + } + + & .ck-button__toggle__inner { + /* + * Move the toggle switch to the right. It will be animated. + */ + @mixin ck-dir ltr { + transform: translateX( var( --ck-switch-button-translation ) ); + } + + @mixin ck-dir rtl { + transform: translateX( calc( -1 * var( --ck-switch-button-translation ) ) ); + } + } + } + } +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * Implements rounded corner interface for .ck-rounded-corners class. + * + * @see $ck-border-radius + */ +@define-mixin ck-rounded-corners { + border-radius: 0; + + @nest .ck-rounded-corners &, + &.ck-rounded-corners { + border-radius: var(--ck-border-radius); + @mixin-content; + } +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * A class which indicates that an element holding it is disabled. + */ +@define-mixin ck-disabled { + opacity: var(--ck-disabled-opacity); +} +`],sourceRoot:""}]);const m=g},4095:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.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;color:inherit;font-weight:700;padding:var(--ck-list-button-padding);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:var(--ck-spacing-medium) var(--ck-spacing-large) var(--ck-spacing-large)}.ck.ck-collapsible.ck-collapsible_collapsed>.ck.ck-button .ck-icon{transform:rotate(-90deg)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/collapsible/collapsible.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/collapsible/collapsible.css"],names:[],mappings:"AAMC,sEACC,YACD,CCHD,MACC,yDACD,CAGC,iCAIC,eAAgB,CAChB,aAAc,CAHd,eAAiB,CACjB,qCAAsC,CAFtC,UAoBD,CAdC,uCACC,sBACD,CAEA,wIACC,sBAAuB,CACvB,wBAAyB,CACzB,eACD,CAEA,0CACC,qCAAsC,CACtC,sCACD,CAGD,6CACC,gFACD,CAGC,mEACC,wBACD",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-collapsible.ck-collapsible_collapsed { + & > .ck-collapsible__children { + display: none; + } +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +:root { + --ck-collapsible-arrow-size: calc(0.5 * var(--ck-icon-size)); +} + +.ck.ck-collapsible { + & > .ck.ck-button { + width: 100%; + font-weight: bold; + padding: var(--ck-list-button-padding); + border-radius: 0; + color: inherit; + + &:focus { + background: transparent; + } + + &:active, &:not(:focus), &:hover:not(:focus) { + background: transparent; + border-color: transparent; + box-shadow: none; + } + + & > .ck-icon { + margin-right: var(--ck-spacing-medium); + width: var(--ck-collapsible-arrow-size); + } + } + + & > .ck-collapsible__children { + padding: var(--ck-spacing-medium) var(--ck-spacing-large) var(--ck-spacing-large); + } + + &.ck-collapsible_collapsed { + & > .ck.ck-button .ck-icon { + transform: rotate(-90deg); + } + } +} +`],sourceRoot:""}]);const m=g},4923:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.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-selector__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)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/colorgrid/colorgrid.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/colorgrid/colorgrid.css"],names:[],mappings:"AAKA,kBACC,YACD,CCAA,MACC,8BAA+B,CAK/B,wCACD,CAEA,kBACC,YAAa,CACb,WACD,CAEA,wBAOC,QAAS,CALT,qCAAsC,CAEtC,yCAA0C,CAD1C,wCAAyC,CAEzC,SAAU,CACV,8BAA+B,CAL/B,oCAyCD,CAjCC,oCACC,YAAa,CACb,gBACD,CAEA,+DACC,gDACD,CAEA,oCAEC,2CAA4C,CAD5C,YAED,CAEA,8BACC,8FAKD,CAHC,0CACC,aACD,CAGD,8HAIC,QACD,CAEA,gGAEC,iGACD,CAGD,yBACC,oCACD",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-color-grid { + display: grid; +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "../../../mixins/_rounded.css"; + +:root { + --ck-color-grid-tile-size: 24px; + + /* Not using global colors here because these may change but some colors in a pallette + * require special treatment. For instance, this ensures no matter what the UI text color is, + * the check icon will look good on the black color tile. */ + --ck-color-color-grid-check-icon: hsl(212, 81%, 46%); +} + +.ck.ck-color-grid { + grid-gap: 5px; + padding: 8px; +} + +.ck.ck-color-grid__tile { + width: var(--ck-color-grid-tile-size); + height: var(--ck-color-grid-tile-size); + min-width: var(--ck-color-grid-tile-size); + min-height: var(--ck-color-grid-tile-size); + padding: 0; + transition: .2s ease box-shadow; + border: 0; + + &.ck-disabled { + cursor: unset; + transition: unset; + } + + &.ck-color-selector__color-tile_bordered { + box-shadow: 0 0 0 1px var(--ck-color-base-border); + } + + & .ck.ck-icon { + display: none; + color: var(--ck-color-color-grid-check-icon); + } + + &.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-icon { + display: block; + } + } + + &.ck-on, + &:focus:not( .ck-disabled ), + &:hover:not( .ck-disabled ) { + /* Disable the default .ck-button's border ring. */ + border: 0; + } + + &:focus:not( .ck-disabled ), + &: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); +} +`],sourceRoot:""}]);const m=g},4257:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.id,".color-picker-hex-input{width:max-content}.color-picker-hex-input .ck.ck-input{min-width:unset}.ck.ck-color-picker__row{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;margin:var(--ck-spacing-large) 0 0;width:unset}.ck.ck-color-picker__row .ck.ck-labeled-field-view{padding-top:unset}.ck.ck-color-picker__row .ck.ck-input-text{width:unset}.ck.ck-color-picker__row .ck-color-picker__hash-view{padding-right:var(--ck-spacing-medium);padding-top:var(--ck-spacing-tiny)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/colorpicker/colorpicker.css"],names:[],mappings:"AAKA,wBACC,iBAKD,CAHC,qCACC,eACD,CAGD,yBACC,YAAa,CACb,kBAAmB,CACnB,gBAAiB,CACjB,6BAA8B,CAC9B,kCAAmC,CACnC,WAcD,CAZC,mDACC,iBACD,CAEA,2CACC,WACD,CAEA,qDAEC,sCAAuC,CADvC,kCAED",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.color-picker-hex-input { + width: max-content; + + & .ck.ck-input { + min-width: unset; + } +} + +.ck.ck-color-picker__row { + display: flex; + flex-direction: row; + flex-wrap: nowrap; + justify-content: space-between; + margin: var(--ck-spacing-large) 0 0; + width: unset; + + & .ck.ck-labeled-field-view { + padding-top: unset; + } + + & .ck.ck-input-text { + width: unset; + } + + & .ck-color-picker__hash-view { + padding-top: var(--ck-spacing-tiny); + padding-right: var(--ck-spacing-medium); + } +} +`],sourceRoot:""}]);const m=g},6306:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.id,".ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker,.ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__remove-color{align-items:center;display:flex}[dir=rtl] .ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker,[dir=rtl] .ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__remove-color{justify-content:flex-start}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-selector_action-bar{display:flex;flex-direction:row;justify-content:space-around}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-selector_action-bar .ck-button-cancel,.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-selector_action-bar .ck-button-save{flex:1}.ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker,.ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__remove-color{width:100%}.ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker{border-bottom-left-radius:0;border-bottom-right-radius:0;padding:calc(var(--ck-spacing-standard)/2) var(--ck-spacing-standard)}.ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker:not(:focus){border-top:1px solid var(--ck-color-base-border)}[dir=ltr] .ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker .ck.ck-icon{margin-right:var(--ck-spacing-standard)}[dir=rtl] .ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker .ck.ck-icon{margin-left:var(--ck-spacing-standard)}.ck.ck-color-selector .ck-color-grids-fragment label.ck.ck-color-grid__label{font-weight:unset}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker{padding:8px}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker .hex-color-picker{height:100px;min-width:180px}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker .hex-color-picker::part(saturation){border-radius:var(--ck-border-radius) var(--ck-border-radius) 0 0}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker .hex-color-picker::part(hue){border-radius:0 0 var(--ck-border-radius) var(--ck-border-radius)}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker .hex-color-picker::part(hue-pointer),.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker .hex-color-picker::part(saturation-pointer){height:15px;width:15px}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-selector_action-bar{padding:0 8px 8px}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/colorselector/colorselector.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/colorselector/colorselector.css"],names:[],mappings:"AAUE,oLAGC,kBAAmB,CADnB,YAMD,CARA,wMAME,0BAEF,CAKA,iFACC,YAAa,CACb,kBAAmB,CACnB,4BAMD,CAJC,oMAEC,MACD,CCrBD,oLAEC,UACD,CAEA,0FAEC,2BAA4B,CAC5B,4BAA6B,CAF7B,qEAiBD,CAbC,sGACC,gDACD,CAEA,gHAEE,uCAMF,CARA,gHAME,sCAEF,CAGD,6EACC,iBACD,CAKA,oEACC,WAoBD,CAlBC,sFACC,YAAa,CACb,eAeD,CAbC,wGACC,iEACD,CAEA,iGACC,iEACD,CAEA,yNAGC,WAAY,CADZ,UAED,CAIF,iFACC,iBACD",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css"; + +.ck.ck-color-selector { + /* View fragment with color grids. */ + & .ck-color-grids-fragment { + & .ck-button.ck-color-selector__remove-color, + & .ck-button.ck-color-selector__color-picker { + display: flex; + align-items: center; + + @mixin ck-dir rtl { + justify-content: flex-start; + } + } + } + + /* View fragment with a color picker. */ + & .ck-color-picker-fragment { + & .ck.ck-color-selector_action-bar { + display: flex; + flex-direction: row; + justify-content: space-around; + + & .ck-button-save, + & .ck-button-cancel { + flex: 1 + } + } + } +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css"; + +.ck.ck-color-selector { + /* View fragment with color grids. */ + & .ck-color-grids-fragment { + & .ck-button.ck-color-selector__remove-color, + & .ck-button.ck-color-selector__color-picker { + width: 100%; + } + + & .ck-button.ck-color-selector__color-picker { + padding: calc(var(--ck-spacing-standard) / 2) var(--ck-spacing-standard); + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + + &:not(:focus) { + border-top: 1px solid var(--ck-color-base-border); + } + + & .ck.ck-icon { + @mixin ck-dir ltr { + margin-right: var(--ck-spacing-standard); + } + + @mixin ck-dir rtl { + margin-left: var(--ck-spacing-standard); + } + } + } + + & label.ck.ck-color-grid__label { + font-weight: unset; + } + } + + /* View fragment with a color picker. */ + & .ck-color-picker-fragment { + & .ck.ck-color-picker { + padding: 8px; + + & .hex-color-picker { + height: 100px; + min-width: 180px; + + &::part(saturation) { + border-radius: var(--ck-border-radius) var(--ck-border-radius) 0 0; + } + + &::part(hue) { + border-radius: 0 0 var(--ck-border-radius) var(--ck-border-radius); + } + + &::part(saturation-pointer), + &::part(hue-pointer) { + width: 15px; + height: 15px; + } + } + } + + & .ck.ck-color-selector_action-bar { + padding: 0 8px 8px; + } + } +} +`],sourceRoot:""}]);const m=g},2105:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.id,".ck.ck-dialog-overlay{bottom:0;left:0;overscroll-behavior:none;position:fixed;right:0;top:0;user-select:none}.ck.ck-dialog-overlay.ck-dialog-overlay__transparent{animation:none;background:none;pointer-events:none}.ck.ck-dialog{overscroll-behavior:none;position:absolute;width:fit-content}.ck.ck-dialog .ck.ck-form__header{flex-shrink:0}.ck.ck-dialog .ck.ck-form__header .ck-form__header__label{cursor:grab}.ck.ck-dialog-overlay.ck-dialog-overlay__transparent .ck.ck-dialog{pointer-events:all}:root{--ck-dialog-overlay-background-color:rgba(0,0,0,.5);--ck-dialog-drop-shadow:0px 0px 6px 2px rgba(0,0,0,.15);--ck-dialog-max-width:100vw;--ck-dialog-max-height:90vh}.ck.ck-dialog-overlay{animation:ck-dialog-fade-in .3s;background:var(--ck-dialog-overlay-background-color);z-index:var(--ck-z-dialog)}.ck.ck-dialog{border-radius:0}.ck-rounded-corners .ck.ck-dialog,.ck.ck-dialog.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-dialog{--ck-drop-shadow:var(--ck-dialog-drop-shadow);background:var(--ck-color-base-background);border:1px solid var(--ck-color-base-border);box-shadow:var(--ck-drop-shadow),0 0;max-height:var(--ck-dialog-max-height);max-width:var(--ck-dialog-max-width)}@keyframes ck-dialog-fade-in{0%{background:transparent}to{background:var(--ck-dialog-overlay-background-color)}}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/dialog/dialog.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/dialog/dialog.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AAKA,sBAKC,QAAS,CACT,MAAO,CAJP,wBAAyB,CAEzB,cAAe,CAGf,OAAQ,CACR,KAAM,CAPN,gBAcD,CALC,qDAEC,cAAe,CACf,eAAgB,CAFhB,mBAGD,CAGD,cACC,wBAAyB,CAEzB,iBAAkB,CADlB,iBAcD,CAXC,kCACC,aAKD,CAHC,0DACC,WACD,CAVF,mEAcE,kBAEF,CC7BA,MACC,mDAA2D,CAC3D,uDAA8D,CAC9D,2BAA4B,CAC5B,2BACD,CAEA,sBACC,+BAAgC,CAChC,oDAAqD,CACrD,0BACD,CAEA,cCXC,eDqBD,CAVA,mECPE,qCDiBF,CAVA,cAIC,6CAA8C,CAE9C,0CAA2C,CAG3C,4CAA6C,CEtB7C,oCAA8B,CFoB9B,sCAAuC,CACvC,oCAED,CAEA,6BACC,GACC,sBACD,CAEA,GACC,oDACD,CACD",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-dialog-overlay { + user-select: none; + overscroll-behavior: none; + + position: fixed; + bottom: 0; + left: 0; + right: 0; + top: 0; + + &.ck-dialog-overlay__transparent { + pointer-events: none; + animation: none; + background: none; + } +} + +.ck.ck-dialog { + overscroll-behavior: none; + width: fit-content; + position: absolute; + + & .ck.ck-form__header { + flex-shrink: 0; + + & .ck-form__header__label { + cursor: grab; + } + } + + @nest .ck.ck-dialog-overlay.ck-dialog-overlay__transparent & { + pointer-events: all; + } +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "../../../mixins/_rounded.css"; +@import "../../../mixins/_shadow.css"; +@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css"; + +:root { + --ck-dialog-overlay-background-color: hsla( 0, 0%, 0%, .5 ); + --ck-dialog-drop-shadow: 0px 0px 6px 2px hsl(0deg 0% 0% / 15%); + --ck-dialog-max-width: 100vw; + --ck-dialog-max-height: 90vh; +} + +.ck.ck-dialog-overlay { + animation: ck-dialog-fade-in .3s; + background: var(--ck-dialog-overlay-background-color); + z-index: var(--ck-z-dialog); +} + +.ck.ck-dialog { + @mixin ck-rounded-corners; + @mixin ck-drop-shadow; + + --ck-drop-shadow: var(--ck-dialog-drop-shadow); + + background: var(--ck-color-base-background); + max-height: var(--ck-dialog-max-height); + max-width: var(--ck-dialog-max-width); + border: 1px solid var(--ck-color-base-border); +} + +@keyframes ck-dialog-fade-in { + 0% { + background: hsla( 0, 0%, 0%, 0 ); + } + + 100% { + background: var(--ck-dialog-overlay-background-color); + } +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * Implements rounded corner interface for .ck-rounded-corners class. + * + * @see $ck-border-radius + */ +@define-mixin ck-rounded-corners { + border-radius: 0; + + @nest .ck-rounded-corners &, + &.ck-rounded-corners { + border-radius: var(--ck-border-radius); + @mixin-content; + } +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * A helper to combine multiple shadows. + */ +@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 { + box-shadow: $shadowA, $shadowB; +} + +/** + * Gives an element a drop shadow so it looks like a floating panel. + */ +@define-mixin ck-drop-shadow { + @mixin ck-box-shadow var(--ck-drop-shadow); +} +`],sourceRoot:""}]);const m=g},1043:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.id,".ck.ck-dialog .ck.ck-dialog__actions{display:flex;justify-content:flex-end;padding:var(--ck-spacing-large)}.ck.ck-dialog .ck.ck-dialog__actions>*+*{margin-left:var(--ck-spacing-large)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/dialog/dialogactions.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/dialog/dialogactions.css"],names:[],mappings:"AAMC,qCACC,YAAa,CACb,wBAAyB,CCDzB,+BDED,CCAC,yCACC,mCACD",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-dialog { + & .ck.ck-dialog__actions { + display: flex; + justify-content: flex-end; + } +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-dialog { + & .ck.ck-dialog__actions { + padding: var(--ck-spacing-large); + + & > * + * { + margin-left: var(--ck-spacing-large); + } + } +} +`],sourceRoot:""}]);const m=g},5062:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.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-panel)}.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-panel) + 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}.ck.ck-dropdown__panel:focus{outline:none}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/dropdown/dropdown.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/dropdown.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_disabled.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAKA,MACC,4BACD,CAEA,gBACC,oBAAqB,CACrB,iBA2ED,CAzEC,oCACC,mBAAoB,CACpB,2BACD,CAGA,+CACC,UACD,CAEA,oCACC,YAAa,CAEb,sCAAuC,CAEvC,iBAAkB,CAHlB,yBA4DD,CAvDC,+DACC,oBACD,CAEA,mSAKC,WACD,CAEA,mSAUC,WAAY,CADZ,QAED,CAEA,oHAEC,MACD,CAEA,oHAEC,OACD,CAEA,kHAGC,QAAS,CACT,0BACD,CAEA,sHAGC,QAAS,CACT,0BACD,CAEA,sHAGC,QAAS,CACT,0BACD,CAQF,mCACC,mCACD,CCpFA,MACC,sDACD,CAEA,gBAEC,iBA2ED,CAzEC,oCACC,mCACD,CAGC,8CAIC,sCAAuC,CAHvC,gCAID,CAIA,8CACC,+BAAgC,CAGhC,oCACD,CAGD,gDC/BA,kCDiCA,CAIE,mFAEC,oCACD,CAIA,mFAEC,qCACD,CAID,iEAEC,eAAgB,CAChB,sBAAuB,CAFvB,SAGD,CAGA,6EC1DD,kCD4DC,CAGA,qDACC,2BAA4B,CAC5B,4BACD,CAEA,sGACC,UACD,CAGA,yHAEC,eAKD,CAHC,qIE7EF,2CF+EE,CAKH,uBGlFC,eHkHD,CAhCA,qFG9EE,qCH8GF,CAhCA,uBAIC,oDAAqD,CACrD,sDAAuD,CACvD,QAAS,CE1FT,oCAA8B,CF6F9B,cAuBD,CAnBC,6CACC,wBACD,CAEA,6CACC,yBACD,CAEA,6CACC,2BACD,CAEA,6CACC,4BACD,CAEA,6BACC,YACD",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +:root { + --ck-dropdown-max-width: 75vw; +} + +.ck.ck-dropdown { + display: inline-block; + position: relative; + + & .ck-dropdown__arrow { + pointer-events: none; + z-index: var(--ck-z-default); + } + + /* Dropdown button should span horizontally, e.g. in vertical toolbars */ + & .ck-button.ck-dropdown__button { + width: 100%; + } + + & .ck-dropdown__panel { + display: none; + z-index: var(--ck-z-panel); + max-width: var(--ck-dropdown-max-width); + + position: absolute; + + &.ck-dropdown__panel-visible { + display: inline-block; + } + + &.ck-dropdown__panel_ne, + &.ck-dropdown__panel_nw, + &.ck-dropdown__panel_n, + &.ck-dropdown__panel_nmw, + &.ck-dropdown__panel_nme { + bottom: 100%; + } + + &.ck-dropdown__panel_se, + &.ck-dropdown__panel_sw, + &.ck-dropdown__panel_smw, + &.ck-dropdown__panel_sme, + &.ck-dropdown__panel_s { + /* + * Using transform: translate3d( 0, 100%, 0 ) causes blurry dropdown on Chrome 67-78+ on non-retina displays. + * See https://github.com/ckeditor/ckeditor5/issues/1053. + */ + top: 100%; + bottom: auto; + } + + &.ck-dropdown__panel_ne, + &.ck-dropdown__panel_se { + left: 0px; + } + + &.ck-dropdown__panel_nw, + &.ck-dropdown__panel_sw { + right: 0px; + } + + &.ck-dropdown__panel_s, + &.ck-dropdown__panel_n { + /* Positioning panels relative to the center of the button */ + left: 50%; + transform: translateX(-50%); + } + + &.ck-dropdown__panel_nmw, + &.ck-dropdown__panel_smw { + /* Positioning panels relative to the middle-west of the button */ + left: 75%; + transform: translateX(-75%); + } + + &.ck-dropdown__panel_nme, + &.ck-dropdown__panel_sme { + /* Positioning panels relative to the middle-east of the button */ + left: 25%; + transform: translateX(-25%); + } + } +} + +/* + * Toolbar dropdown panels should be always above the UI (eg. other dropdown panels) from the editor's content. + * See https://github.com/ckeditor/ckeditor5/issues/7874 + */ +.ck.ck-toolbar .ck-dropdown__panel { + z-index: calc( var(--ck-z-panel) + 1 ); +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "../../../mixins/_rounded.css"; +@import "../../../mixins/_disabled.css"; +@import "../../../mixins/_shadow.css"; +@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css"; + +:root { + --ck-dropdown-arrow-size: calc(0.5 * var(--ck-icon-size)); +} + +.ck.ck-dropdown { + /* Enable font size inheritance, which allows fluid UI scaling. */ + font-size: inherit; + + & .ck-dropdown__arrow { + width: var(--ck-dropdown-arrow-size); + } + + @mixin ck-dir ltr { + & .ck-dropdown__arrow { + right: var(--ck-spacing-standard); + + /* A space to accommodate the triangle. */ + margin-left: var(--ck-spacing-standard); + } + } + + @mixin ck-dir rtl { + & .ck-dropdown__arrow { + left: var(--ck-spacing-standard); + + /* A space to accommodate the triangle. */ + margin-right: var(--ck-spacing-small); + } + } + + &.ck-disabled .ck-dropdown__arrow { + @mixin ck-disabled; + } + + & .ck-button.ck-dropdown__button { + @mixin ck-dir ltr { + &:not(.ck-button_with-text) { + /* Make sure dropdowns with just an icon have the right inner spacing */ + padding-left: var(--ck-spacing-small); + } + } + + @mixin ck-dir rtl { + &:not(.ck-button_with-text) { + /* Make sure dropdowns with just an icon have the right inner spacing */ + padding-right: var(--ck-spacing-small); + } + } + + /* #23 */ + & .ck-button__label { + width: 7em; + overflow: hidden; + text-overflow: ellipsis; + } + + /* https://github.com/ckeditor/ckeditor5-theme-lark/issues/70 */ + &.ck-disabled .ck-button__label { + @mixin ck-disabled; + } + + /* https://github.com/ckeditor/ckeditor5/issues/816 */ + &.ck-on { + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + } + + &.ck-dropdown__button_label-width_auto .ck-button__label { + width: auto; + } + + /* https://github.com/ckeditor/ckeditor5/issues/8699 */ + &.ck-off:active, + &.ck-on:active { + box-shadow: none; + + &:focus { + @mixin ck-box-shadow var(--ck-focus-outer-shadow); + } + } + } +} + +.ck.ck-dropdown__panel { + @mixin ck-rounded-corners; + @mixin ck-drop-shadow; + + background: var(--ck-color-dropdown-panel-background); + border: 1px solid var(--ck-color-dropdown-panel-border); + bottom: 0; + + /* Make sure the panel is at least as wide as the drop-down's button. */ + min-width: 100%; + + /* Disabled corner border radius to be consistent with the .dropdown__button + https://github.com/ckeditor/ckeditor5/issues/816 */ + &.ck-dropdown__panel_se { + border-top-left-radius: 0; + } + + &.ck-dropdown__panel_sw { + border-top-right-radius: 0; + } + + &.ck-dropdown__panel_ne { + border-bottom-left-radius: 0; + } + + &.ck-dropdown__panel_nw { + border-bottom-right-radius: 0; + } + + &:focus { + outline: none; + } +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * A class which indicates that an element holding it is disabled. + */ +@define-mixin ck-disabled { + opacity: var(--ck-disabled-opacity); +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * A helper to combine multiple shadows. + */ +@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 { + box-shadow: $shadowA, $shadowB; +} + +/** + * Gives an element a drop shadow so it looks like a floating panel. + */ +@define-mixin ck-drop-shadow { + @mixin ck-box-shadow var(--ck-drop-shadow); +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * Implements rounded corner interface for .ck-rounded-corners class. + * + * @see $ck-border-radius + */ +@define-mixin ck-rounded-corners { + border-radius: 0; + + @nest .ck-rounded-corners &, + &.ck-rounded-corners { + border-radius: var(--ck-border-radius); + @mixin-content; + } +} +`],sourceRoot:""}]);const m=g},1883:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.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}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/listdropdown.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAOA,6CCIC,eDqBD,CAzBA,iICQE,qCAAsC,CDJtC,wBAqBF,CAfE,mFCND,eDYC,CANA,6MCFA,qCAAsC,CDKpC,2BAA4B,CAC5B,4BAA6B,CAF7B,wBAIF,CAEA,kFCdD,eDmBC,CALA,2MCVA,qCAAsC,CDYpC,wBAAyB,CACzB,yBAEF",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "../../../mixins/_rounded.css"; + +.ck.ck-dropdown .ck-dropdown__panel .ck-list { + /* Disabled radius of top-left border to be consistent with .dropdown__button + https://github.com/ckeditor/ckeditor5/issues/816 */ + @mixin ck-rounded-corners { + border-top-left-radius: 0; + } + + /* Make sure the button belonging to the first/last child of the list goes well with the + border radius of the entire panel. */ + & .ck-list__item { + &:first-child .ck-button { + @mixin ck-rounded-corners { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + } + } + + &:last-child .ck-button { + @mixin ck-rounded-corners { + border-top-left-radius: 0; + border-top-right-radius: 0; + } + } + } +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * Implements rounded corner interface for .ck-rounded-corners class. + * + * @see $ck-border-radius + */ +@define-mixin ck-rounded-corners { + border-radius: 0; + + @nest .ck-rounded-corners &, + &.ck-rounded-corners { + border-radius: var(--ck-border-radius); + @mixin-content; + } +} +`],sourceRoot:""}]);const m=g},4791:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.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__arrow:not(:focus){border-bottom-width:0;border-top-width:0}.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}.ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow:focus:after,.ck.ck-splitbutton:hover>.ck-splitbutton__arrow:focus:after{--ck-color-split-button-hover-border:var(--ck-color-focus-border)}[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}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/dropdown/splitbutton.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/splitbutton.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAKA,mBAEC,iBAKD,CAHC,iDACC,qCACD,CCJD,MACC,gDAAyD,CACzD,4CACD,CAMC,oIAKE,gCAAiC,CADjC,6BASF,CAbA,oIAWE,+BAAgC,CADhC,4BAGF,CAEA,0CAGC,eAiBD,CApBA,oDAQE,+BAAgC,CADhC,4BAaF,CApBA,oDAcE,gCAAiC,CADjC,6BAOF,CAHC,8CACC,mCACD,CAKD,sDAEC,qBAAwB,CADxB,kBAED,CAQC,0KACC,wDACD,CAIA,8JAKC,0DAA2D,CAJ3D,UAAW,CAGX,WAAY,CAFZ,iBAAkB,CAClB,SAGD,CAGA,sIACC,iEACD,CAGC,kLACC,SACD,CAIA,kLACC,UACD,CAMF,uCCzFA,eDmGA,CAVA,qHCrFC,qCD+FD,CARE,qKACC,2BACD,CAEA,mKACC,4BACD",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-splitbutton { + /* Enable font size inheritance, which allows fluid UI scaling. */ + font-size: inherit; + + & .ck-splitbutton__action:focus { + z-index: calc(var(--ck-z-default) + 1); + } +} + +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "../../../mixins/_rounded.css"; + +:root { + --ck-color-split-button-hover-background: hsl(0, 0%, 92%); + --ck-color-split-button-hover-border: hsl(0, 0%, 70%); +} + +.ck.ck-splitbutton { + /* + * Note: ck-rounded and ck-dir mixins don't go together (because they both use @nest). + */ + &:hover > .ck-splitbutton__action, + &.ck-splitbutton_open > .ck-splitbutton__action { + @nest [dir="ltr"] & { + /* Don't round the action button on the right side */ + border-top-right-radius: unset; + border-bottom-right-radius: unset; + } + + @nest [dir="rtl"] & { + /* Don't round the action button on the left side */ + border-top-left-radius: unset; + border-bottom-left-radius: unset; + } + } + + & > .ck-splitbutton__arrow { + /* It's a text-less button and since the icon is positioned absolutely in such situation, + it must get some arbitrary min-width. */ + min-width: unset; + + @nest [dir="ltr"] & { + /* Don't round the arrow button on the left side */ + border-top-left-radius: unset; + border-bottom-left-radius: unset; + } + + @nest [dir="rtl"] & { + /* Don't round the arrow button on the right side */ + border-top-right-radius: unset; + border-bottom-right-radius: unset; + } + + & svg { + width: var(--ck-dropdown-arrow-size); + } + } + + /* Make sure the divider stretches 100% height of the button + https://github.com/ckeditor/ckeditor5/issues/10936 */ + & > .ck-splitbutton__arrow:not(:focus) { + border-top-width: 0px; + border-bottom-width: 0px; + } + + /* When the split button is "open" (the arrow is on) or being hovered, it should get some styling + as a whole. The background of both buttons should stand out and there should be a visual + separation between both buttons. */ + &.ck-splitbutton_open, + &:hover { + /* When the split button hovered as a whole, not as individual buttons. */ + & > .ck-button:not(.ck-on):not(.ck-disabled):not(:hover) { + background: var(--ck-color-split-button-hover-background); + } + + /* Splitbutton separator needs to be set with the ::after pseudoselector + to display properly the borders on focus */ + & > .ck-splitbutton__arrow:not(.ck-disabled)::after { + content: ''; + position: absolute; + width: 1px; + height: 100%; + background-color: var(--ck-color-split-button-hover-border); + } + + /* Make sure the divider between the buttons looks fine when the button is focused */ + & > .ck-splitbutton__arrow:focus::after { + --ck-color-split-button-hover-border: var(--ck-color-focus-border); + } + + @nest [dir="ltr"] & { + & > .ck-splitbutton__arrow:not(.ck-disabled)::after { + left: -1px; + } + } + + @nest [dir="rtl"] & { + & > .ck-splitbutton__arrow:not(.ck-disabled)::after { + right: -1px; + } + } + } + + /* Don't round the bottom left and right corners of the buttons when "open" + https://github.com/ckeditor/ckeditor5/issues/816 */ + &.ck-splitbutton_open { + @mixin ck-rounded-corners { + & > .ck-splitbutton__action { + border-bottom-left-radius: 0; + } + + & > .ck-splitbutton__arrow { + border-bottom-right-radius: 0; + } + } + } +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * Implements rounded corner interface for .ck-rounded-corners class. + * + * @see $ck-border-radius + */ +@define-mixin ck-rounded-corners { + border-radius: 0; + + @nest .ck-rounded-corners &, + &.ck-rounded-corners { + border-radius: var(--ck-border-radius); + @mixin-content; + } +} +`],sourceRoot:""}]);const m=g},2704:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.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}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/dropdown/toolbardropdown.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/toolbardropdown.css"],names:[],mappings:"AAKA,MACC,oCACD,CAEA,4CAGC,8CAA+C,CAD/C,iBAQD,CAJE,6DACC,qCACD,CCZF,oCACC,QACD",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +:root { + --ck-toolbar-dropdown-max-width: 60vw; +} + +.ck.ck-toolbar-dropdown > .ck-dropdown__panel { + /* https://github.com/ckeditor/ckeditor5/issues/5586 */ + width: max-content; + max-width: var(--ck-toolbar-dropdown-max-width); + + & .ck-button { + &:focus { + z-index: calc(var(--ck-z-default) + 1); + } + } +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-toolbar-dropdown .ck-toolbar { + border: 0; +} +`],sourceRoot:""}]);const m=g},9847:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.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-panel-background)}.ck.ck-balloon-panel.ck-toolbar-container[class*=arrow_s]:after{border-top-color:var(--ck-color-panel-background)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/editorui/editorui.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_focus.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AAWA,MACC,0CACD,CAEA,yDCJC,eDWD,CAPA,yJCAE,qCDOF,CAJC,oEEPA,2BAA2B,CCF3B,qCAA8B,CDC9B,YFWA,CAGD,+BAGC,4BAA6B,CAF7B,aAAc,CACd,oCA6BD,CA1BC,wCACC,eACD,CAEA,wCACC,gBACD,CAGA,4CACC,kCACD,CAGA,2CAKC,qCACD,CAGA,sDACC,kDACD,CAKA,gEACC,oDACD,CAIA,gEACC,iDACD",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "../../../mixins/_rounded.css"; +@import "../../../mixins/_disabled.css"; +@import "../../../mixins/_shadow.css"; +@import "../../../mixins/_focus.css"; +@import "../../mixins/_button.css"; + +:root { + --ck-color-editable-blur-selection: hsl(0, 0%, 85%); +} + +.ck.ck-editor__editable:not(.ck-editor__nested-editable) { + @mixin ck-rounded-corners; + + &.ck-focused { + @mixin ck-focus-ring; + @mixin ck-box-shadow var(--ck-inner-shadow); + } +} + +.ck.ck-editor__editable_inline { + overflow: auto; + padding: 0 var(--ck-spacing-standard); + border: 1px solid transparent; + + &[dir="ltr"] { + text-align: left; + } + + &[dir="rtl"] { + text-align: right; + } + + /* https://github.com/ckeditor/ckeditor5-theme-lark/issues/116 */ + & > *:first-child { + margin-top: var(--ck-spacing-large); + } + + /* https://github.com/ckeditor/ckeditor5/issues/847 */ + & > *:last-child { + /* + * This value should match with the default margins of the block elements (like .media or .image) + * to avoid a content jumping when the fake selection container shows up (See https://github.com/ckeditor/ckeditor5/issues/9825). + */ + margin-bottom: var(--ck-spacing-large); + } + + /* https://github.com/ckeditor/ckeditor5/issues/6517 */ + &.ck-blurred ::selection { + background: var(--ck-color-editable-blur-selection); + } +} + +/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/111 */ +.ck.ck-balloon-panel.ck-toolbar-container[class*="arrow_n"] { + &::after { + border-bottom-color: var(--ck-color-panel-background); + } +} + +.ck.ck-balloon-panel.ck-toolbar-container[class*="arrow_s"] { + &::after { + border-top-color: var(--ck-color-panel-background); + } +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * Implements rounded corner interface for .ck-rounded-corners class. + * + * @see $ck-border-radius + */ +@define-mixin ck-rounded-corners { + border-radius: 0; + + @nest .ck-rounded-corners &, + &.ck-rounded-corners { + border-radius: var(--ck-border-radius); + @mixin-content; + } +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * A visual style of focused element's border. + */ +@define-mixin ck-focus-ring { + /* Disable native outline. */ + outline: none; + border: var(--ck-focus-ring) +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * A helper to combine multiple shadows. + */ +@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 { + box-shadow: $shadowA, $shadowB; +} + +/** + * Gives an element a drop shadow so it looks like a floating panel. + */ +@define-mixin ck-drop-shadow { + @mixin ck-box-shadow var(--ck-drop-shadow); +} +`],sourceRoot:""}]);const m=g},1874:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.id,".ck.ck-form__header{align-items:center;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between}.ck.ck-form__header h2.ck-form__header__label{flex-grow:1}:root{--ck-form-header-height:44px}.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)}[dir=ltr] .ck.ck-form__header>.ck-icon{margin-right:var(--ck-spacing-medium)}[dir=rtl] .ck.ck-form__header>.ck-icon{margin-left:var(--ck-spacing-medium)}.ck.ck-form__header .ck-form__header__label{--ck-font-size-base:15px;font-weight:700}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/formheader/formheader.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/formheader/formheader.css"],names:[],mappings:"AAKA,oBAIC,kBAAmB,CAHnB,YAAa,CACb,kBAAmB,CACnB,gBAAiB,CAEjB,6BAKD,CAHC,8CACC,WACD,CCPD,MACC,4BACD,CAEA,oBAIC,mDAAoD,CAFpD,mCAAoC,CACpC,wCAAyC,CAFzC,uDAmBD,CAdC,uCAEE,qCAMF,CARA,uCAME,oCAEF,CAEA,4CACC,wBAAyB,CACzB,eACD",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-form__header { + display: flex; + flex-direction: row; + flex-wrap: nowrap; + align-items: center; + justify-content: space-between; + + & h2.ck-form__header__label { + flex-grow: 1; + } +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css"; + +:root { + --ck-form-header-height: 44px; +} + +.ck.ck-form__header { + padding: var(--ck-spacing-small) var(--ck-spacing-large); + height: var(--ck-form-header-height); + line-height: var(--ck-form-header-height); + border-bottom: 1px solid var(--ck-color-base-border); + + & > .ck-icon { + @mixin ck-dir ltr { + margin-right: var(--ck-spacing-medium); + } + + @mixin ck-dir rtl { + margin-left: var(--ck-spacing-medium); + } + } + + & .ck-form__header__label { + --ck-font-size-base: 15px; + font-weight: bold; + } +} +`],sourceRoot:""}]);const m=g},4746:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.id,".ck.ck-highlighted-text mark{background:var(--ck-color-highlight-background);font-size:inherit;font-weight:inherit;line-height:inherit;vertical-align:initial}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/highlightedtext/highlightedtext.css"],names:[],mappings:"AAKA,6BACC,+CAAgD,CAIhD,iBAAkB,CAFlB,mBAAoB,CACpB,mBAAoB,CAFpB,sBAID",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-highlighted-text mark { + background: var(--ck-color-highlight-background); + vertical-align: initial; + font-weight: inherit; + line-height: inherit; + font-size: inherit; +} +`],sourceRoot:""}]);const m=g},1977:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.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 *{cursor:inherit}.ck.ck-icon.ck-icon_inherit-color,.ck.ck-icon.ck-icon_inherit-color *{color:inherit}.ck.ck-icon.ck-icon_inherit-color :not([fill]){fill:currentColor}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/icon/icon.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/icon/icon.css"],names:[],mappings:"AAKA,YACC,qBACD,CCFA,MACC,0EACD,CAEA,YAKC,uBAAwB,CAHxB,0BAA2B,CAD3B,yBAA0B,CAU1B,qBAoBD,CAlBC,0BALA,cAQA,CAMC,sEACC,aAMD,CAJC,+CAEC,iBACD",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-icon { + vertical-align: middle; +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +:root { + --ck-icon-size: calc(var(--ck-line-height-base) * var(--ck-font-size-normal)); +} + +.ck.ck-icon { + width: var(--ck-icon-size); + height: var(--ck-icon-size); + + /* Multiplied by the height of the line in "px" should give SVG "viewport" dimensions */ + font-size: .8333350694em; + + /* Inherit cursor style (#5). */ + cursor: inherit; + + /* This will prevent blurry icons on Firefox. See #340. */ + will-change: transform; + + & * { + /* Inherit cursor style (#5). */ + cursor: inherit; + } + + /* Allows dynamic coloring of an icon by inheriting its color from the parent. */ + &.ck-icon_inherit-color { + color: inherit; + + & * { + color: inherit; + + &:not([fill]) { + /* Needed by FF. */ + fill: currentColor; + } + } + } +} +`],sourceRoot:""}]);const m=g},2470:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.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)}}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/input/input.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_focus.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AASA,MACC,qBAAsB,CAGtB,2CACD,CAEA,aCLC,eD2CD,CAtCA,iECDE,qCDuCF,CAtCA,aAGC,2CAA4C,CAC5C,6CAA8C,CAK9C,4CAA6C,CAH7C,+BAAgC,CADhC,6DAA8D,CAO9D,4DA0BD,CAxBC,mBEnBA,2BAA2B,CCF3B,2CAA8B,CDC9B,YFuBA,CAEA,uBAEC,oDAAqD,CADrD,sDAAuD,CAEvD,yCAMD,CAJC,6BG/BD,oDHkCC,CAGD,sBAEC,sCAAuC,CADvC,+CAMD,CAHC,4BGzCD,iDH2CC,CAIF,0BACC,IACC,0BACD,CAEA,IACC,yBACD,CAEA,IACC,0BACD,CAEA,IACC,yBACD,CACD",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "../../../mixins/_rounded.css"; +@import "../../../mixins/_focus.css"; +@import "../../../mixins/_shadow.css"; + +:root { + --ck-input-width: 18em; + + /* Backward compatibility. */ + --ck-input-text-width: var(--ck-input-width); +} + +.ck.ck-input { + @mixin ck-rounded-corners; + + background: var(--ck-color-input-background); + border: 1px solid var(--ck-color-input-border); + padding: var(--ck-spacing-extra-tiny) var(--ck-spacing-medium); + min-width: var(--ck-input-width); + + /* This is important to stay of the same height as surrounding buttons */ + min-height: var(--ck-ui-component-min-height); + + /* Apply some smooth transition to the box-shadow and border. */ + transition: box-shadow .1s ease-in-out, border .1s ease-in-out; + + &:focus { + @mixin ck-focus-ring; + @mixin ck-box-shadow var(--ck-focus-outer-shadow); + } + + &[readonly] { + border: 1px solid var(--ck-color-input-disabled-border); + background: var(--ck-color-input-disabled-background); + color: var(--ck-color-input-disabled-text); + + &:focus { + /* The read-only input should have a slightly less visible shadow when focused. */ + @mixin ck-box-shadow var(--ck-focus-disabled-outer-shadow); + } + } + + &.ck-error { + border-color: var(--ck-color-input-error-border); + animation: ck-input-shake .3s ease both; + + &:focus { + @mixin ck-box-shadow var(--ck-focus-error-outer-shadow); + } + } +} + +@keyframes ck-input-shake { + 20% { + transform: translateX(-2px); + } + + 40% { + transform: translateX(2px); + } + + 60% { + transform: translateX(-1px); + } + + 80% { + transform: translateX(1px); + } +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * Implements rounded corner interface for .ck-rounded-corners class. + * + * @see $ck-border-radius + */ +@define-mixin ck-rounded-corners { + border-radius: 0; + + @nest .ck-rounded-corners &, + &.ck-rounded-corners { + border-radius: var(--ck-border-radius); + @mixin-content; + } +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * A visual style of focused element's border. + */ +@define-mixin ck-focus-ring { + /* Disable native outline. */ + outline: none; + border: var(--ck-focus-ring) +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * A helper to combine multiple shadows. + */ +@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 { + box-shadow: $shadowA, $shadowB; +} + +/** + * Gives an element a drop shadow so it looks like a floating panel. + */ +@define-mixin ck-drop-shadow { + @mixin ck-box-shadow var(--ck-drop-shadow); +} +`],sourceRoot:""}]);const m=g},3525:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.id,".ck.ck-label{display:block}.ck.ck-voice-label{display:none}.ck.ck-label{font-weight:700}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/label/label.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/label/label.css"],names:[],mappings:"AAKA,aACC,aACD,CAEA,mBACC,YACD,CCNA,aACC,eACD",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-label { + display: block; +} + +.ck.ck-voice-label { + display: none; +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-label { + font-weight: bold; +} +`],sourceRoot:""}]);const m=g},2933:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.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-labeled-field-label-default-position-x:var(--ck-spacing-medium);--ck-labeled-field-label-default-position-y:calc(var(--ck-font-size-base)*0.6);--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;transform:translate(var(--ck-spacing-medium),-6px) scale(.75);transform-origin:0 0}[dir=rtl] .ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{right:0;transform:translate(calc(var(--ck-spacing-medium)*-1),-6px) scale(.75);transform-origin:100% 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;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:not(.ck-labeled-field-view_placeholder)>.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-labeled-field-label-default-position-x),var(--ck-labeled-field-label-default-position-y)) scale(1)}[dir=rtl] .ck.ck-labeled-field-view.ck-disabled.ck-labeled-field-view_empty:not(.ck-labeled-field-view_placeholder)>.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-labeled-field-label-default-position-x)*-1),var(--ck-labeled-field-label-default-position-y)) scale(1)}.ck.ck-labeled-field-view.ck-disabled.ck-labeled-field-view_empty:not(.ck-labeled-field-view_placeholder)>.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))}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/labeledfield/labeledfieldview.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/labeledfield/labeledfieldview.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAMC,mEACC,YAAa,CACb,iBACD,CAEA,uCACC,aAAc,CACd,iBACD,CCND,MACC,kEAAsE,CACtE,gFAAiF,CACjF,oEAAqE,CACrE,8EAAiF,CACjF,yEACD,CAEA,0BCLC,eD+GD,CA1GA,2FCDE,qCD2GF,CAvGC,mEACC,UAoCD,CAlCC,gFACC,KAgCD,CAjCA,0FAIE,MAAS,CAGT,6DAA+D,CAF/D,oBA4BF,CAjCA,0FAWE,OAAU,CAEV,sEAA0E,CAD1E,uBAqBF,CAjCA,gFAkBC,yDAA0D,CAG1D,eAAmB,CADnB,kBAAoB,CAOpB,cAAe,CAFf,eAAgB,CANhB,2CAA8C,CAH9C,mBAAoB,CAQpB,sBAAuB,CAKvB,+JAID,CAQA,mKACC,gCACD,CAGD,yDACC,mCAAoC,CACpC,kCAAmC,CAInC,kBAKD,CAHC,6FACC,gCACD,CAID,4OAEC,yCACD,CAIA,4WAGE,+HAYF,CAfA,4WAOE,wIAQF,CAfA,wVAaC,sBAAuB,CAFvB,iEAAkE,CAGlE,SACD,CAKA,8FACC,sBACD,CAGA,yIACC,SACD,CAGA,kMACC,8HACD",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-labeled-field-view { + & > .ck.ck-labeled-field-view__input-wrapper { + display: flex; + position: relative; + } + + & .ck.ck-label { + display: block; + position: absolute; + } +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css"; +@import "../../../mixins/_rounded.css"; + +: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-labeled-field-label-default-position-x: var(--ck-spacing-medium); + --ck-labeled-field-label-default-position-y: calc(0.6 * var(--ck-font-size-base)); + --ck-color-labeled-field-label-background: var(--ck-color-base-background); +} + +.ck.ck-labeled-field-view { + @mixin ck-rounded-corners; + + & > .ck.ck-labeled-field-view__input-wrapper { + width: 100%; + + & > .ck.ck-label { + top: 0px; + + @mixin ck-dir ltr { + left: 0px; + transform-origin: 0 0; + /* By default, display the label scaled down above the field. */ + transform: translate(var(--ck-spacing-medium), -6px) scale(.75); + } + + @mixin ck-dir rtl { + right: 0px; + transform-origin: 100% 0; + transform: translate(calc(-1 * var(--ck-spacing-medium)), -6px) scale(.75); + } + + pointer-events: none; + + background: var(--ck-color-labeled-field-label-background); + padding: 0 calc(.5 * var(--ck-font-size-tiny)); + line-height: initial; + font-weight: normal; + + /* Prevent overflow when the label is longer than the input */ + text-overflow: ellipsis; + overflow: hidden; + + max-width: 100%; + + transition: + transform var(--ck-labeled-field-view-transition), + padding var(--ck-labeled-field-view-transition), + background var(--ck-labeled-field-view-transition); + } + } + + &.ck-error { + & > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label { + color: var(--ck-color-base-error); + } + + & .ck-input:not([readonly]) + .ck.ck-label { + color: var(--ck-color-base-error); + } + } + + & .ck-labeled-field-view__status { + font-size: var(--ck-font-size-small); + margin-top: var(--ck-spacing-small); + + /* Let the info wrap to the next line to avoid stretching the layout horizontally. + The status could be very long. */ + white-space: normal; + + &.ck-labeled-field-view__status_error { + color: var(--ck-color-base-error); + } + } + + /* Disabled fields and fields that have no focus should fade out. */ + &.ck-disabled > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label, + &.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); + } + + /* Fields that are disabled or not focused and without a placeholder should have full-sized labels. */ + /* stylelint-disable-next-line no-descending-specificity */ + &.ck-disabled.ck-labeled-field-view_empty:not(.ck-labeled-field-view_placeholder) > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label, + &.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 { + @mixin ck-dir ltr { + transform: translate(var(--ck-labeled-field-label-default-position-x), var(--ck-labeled-field-label-default-position-y)) scale(1); + } + + @mixin ck-dir rtl { + transform: translate(calc(-1 * var(--ck-labeled-field-label-default-position-x)), var(--ck-labeled-field-label-default-position-y)) scale(1); + } + + /* Compensate for the default translate position. */ + max-width: calc(var(--ck-labeled-field-empty-unfocused-max-width)); + + background: transparent; + padding: 0; + } + + /*------ DropdownView integration ----------------------------------------------------------------------------------- */ + + /* Make sure dropdown' background color in any of dropdown's state does not collide with labeled field. */ + & > .ck.ck-labeled-field-view__input-wrapper > .ck-dropdown > .ck.ck-button { + background: transparent; + } + + /* When the dropdown is "empty", the labeled field label replaces its label. */ + &.ck-labeled-field-view_empty > .ck.ck-labeled-field-view__input-wrapper > .ck-dropdown > .ck-button > .ck-button__label { + opacity: 0; + } + + /* Make sure the label of the empty, unfocused input does not cover the dropdown arrow. */ + &.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)); + } +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * Implements rounded corner interface for .ck-rounded-corners class. + * + * @see $ck-border-radius + */ +@define-mixin ck-rounded-corners { + border-radius: 0; + + @nest .ck-rounded-corners &, + &.ck-rounded-corners { + border-radius: var(--ck-border-radius); + @mixin-content; + } +} +`],sourceRoot:""}]);const m=g},179:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.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)}:root{--ck-list-button-padding:calc(var(--ck-line-height-base)*0.2*var(--ck-font-size-base)) calc(var(--ck-line-height-base)*0.4*var(--ck-font-size-base))}.ck.ck-list{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;width:100%}[dir=ltr] .ck.ck-list__item .ck-button{text-align:left}[dir=rtl] .ck.ck-list__item .ck-button{text-align:right}.ck.ck-list__item .ck-button{padding:var(--ck-list-button-padding)}.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-list .ck-list__group{padding-top:var(--ck-spacing-medium);:not(.ck-hidden)~&{border-top:1px solid var(--ck-color-base-border)}}.ck-list .ck-list__group>.ck-label{font-size:11px;font-weight:700;padding:var(--ck-spacing-medium) var(--ck-spacing-medium) 0 var(--ck-spacing-medium)}.ck.ck-list__separator{background:var(--ck-color-base-border);height:1px;width:100%}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/list/list.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_unselectable.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/list/list.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAOA,YAGC,YAAa,CACb,qBAAsB,CCFtB,qBAAsB,CACtB,wBAAyB,CACzB,oBAAqB,CACrB,gBDaD,CAZC,2DAEC,aACD,CAKA,kCACC,iBAAkB,CAClB,2BACD,CEdD,MACC,oJAGD,CAEA,YCLC,eDUD,CALA,+DCDE,qCDMF,CALA,YAIC,0CAA2C,CAD3C,oBAED,CAEA,kBACC,cAAe,CACf,cAgED,CA9DC,6BAGC,eAAgB,CAFhB,gBAAiB,CACjB,UA6CD,CA/CA,uCAME,eAyCF,CA/CA,uCAUE,gBAqCF,CA/CA,6BAgBC,qCA+BD,CA7BC,+CAEC,yEACD,CAEA,oCACC,eACD,CAEA,mCACC,oDAAqD,CACrD,yCAaD,CAXC,0CACC,eACD,CAEA,2DACC,0DACD,CAEA,iFACC,4CACD,CAGD,qDACC,uDACD,CAMA,yCACC,0CAA2C,CAC3C,aAMD,CAJC,iEACC,uDAAwD,CACxD,aACD,CAKH,yBACC,oCAAqC,CAGrC,mBACC,gDACD,CAOD,CALC,mCACC,cAAe,CACf,eAAiB,CACjB,oFACD,CAGD,uBAGC,sCAAuC,CAFvC,UAAW,CACX,UAED",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "../../mixins/_unselectable.css"; + +.ck.ck-list { + @mixin ck-unselectable; + + display: flex; + flex-direction: column; + + & .ck-list__item, + & .ck-list__separator { + display: block; + } + + /* Make sure that whatever child of the list item gets focus, it remains on the + top. Thanks to that, styles like box-shadow, outline, etc. are not masked by + adjacent list items. */ + & .ck-list__item > *:focus { + position: relative; + z-index: var(--ck-z-default); + } +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * Makes element unselectable. + */ +@define-mixin ck-unselectable { + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + user-select: none +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "../../../mixins/_disabled.css"; +@import "../../../mixins/_rounded.css"; +@import "../../../mixins/_shadow.css"; +@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css"; + +:root { + --ck-list-button-padding: + calc(.2 * var(--ck-line-height-base) * var(--ck-font-size-base)) + calc(.4 * var(--ck-line-height-base) * var(--ck-font-size-base)); +} + +.ck.ck-list { + @mixin ck-rounded-corners; + + list-style-type: none; + background: var(--ck-color-list-background); +} + +.ck.ck-list__item { + cursor: default; + min-width: 12em; + + & .ck-button { + min-height: unset; + width: 100%; + border-radius: 0; + + @mixin ck-dir ltr { + text-align: left; + } + + @mixin ck-dir rtl { + text-align: right; + } + + /* List items should have the same height. Use absolute units to make sure it is so + because e.g. different heading styles may have different height + https://github.com/ckeditor/ckeditor5-heading/issues/63 */ + padding: var(--ck-list-button-padding); + + & .ck-button__label { + /* https://github.com/ckeditor/ckeditor5-heading/issues/63 */ + line-height: calc(1.2 * var(--ck-line-height-base) * var(--ck-font-size-base)); + } + + &:active { + box-shadow: none; + } + + &.ck-on { + background: var(--ck-color-list-button-on-background); + color: var(--ck-color-list-button-on-text); + + &:active { + box-shadow: none; + } + + &:hover:not(.ck-disabled) { + background: var(--ck-color-list-button-on-background-focus); + } + + &:focus:not(.ck-switchbutton):not(.ck-disabled) { + border-color: var(--ck-color-base-background); + } + } + + &:hover:not(.ck-disabled) { + background: var(--ck-color-list-button-hover-background); + } + } + + /* It's unnecessary to change the background/text of a switch toggle; it has different ways + of conveying its state (like the switcher) */ + & .ck-switchbutton { + &.ck-on { + background: var(--ck-color-list-background); + color: inherit; + + &:hover:not(.ck-disabled) { + background: var(--ck-color-list-button-hover-background); + color: inherit; + } + } + } +} + +.ck-list .ck-list__group { + padding-top: var(--ck-spacing-medium); + + /* The group should have a border when it's not the first item. */ + *:not(.ck-hidden) ~ & { + border-top: 1px solid var(--ck-color-base-border); + } + + & > .ck-label { + font-size: 11px; + font-weight: bold; + padding: var(--ck-spacing-medium) var(--ck-spacing-medium) 0 var(--ck-spacing-medium); + } +} + +.ck.ck-list__separator { + height: 1px; + width: 100%; + background: var(--ck-color-base-border); +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * Implements rounded corner interface for .ck-rounded-corners class. + * + * @see $ck-border-radius + */ +@define-mixin ck-rounded-corners { + border-radius: 0; + + @nest .ck-rounded-corners &, + &.ck-rounded-corners { + border-radius: var(--ck-border-radius); + @mixin-content; + } +} +`],sourceRoot:""}]);const m=g},4460:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.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-panel)}.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%}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/panel/balloonpanel.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/panel/balloonpanel.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AAKA,MAEC,8DACD,CAEA,qBACC,YAAa,CACb,iBAAkB,CAElB,yBAyCD,CAtCE,+GAEC,UAAW,CACX,iBACD,CAEA,wDACC,6CACD,CAEA,uDACC,uDACD,CAIA,4CACC,6CACD,CAEA,2CACC,uDACD,CAIA,4CACC,6CACD,CAEA,2CACC,uDACD,CAGD,8CACC,aACD,CC9CD,MACC,6BAA8B,CAC9B,6BAA8B,CAC9B,8BAA+B,CAC/B,iCAAkC,CAClC,oEACD,CAEA,qBCLC,eDmMD,CA9LA,iFCDE,qCD+LF,CA9LA,qBAMC,2CAA4C,CAC5C,wEAAyE,CEdzE,oCAA8B,CFW9B,eA0LD,CApLE,+GAIC,kBAAmB,CADnB,QAAS,CADT,OAGD,CAIA,uFAEC,mHACD,CAEA,4CACC,6EAA8E,CAC9E,kDACD,CAEA,2CACC,iFAAkF,CAClF,gFACD,CAIA,uFAEC,mHACD,CAEA,4CACC,iEAAkE,CAClE,uDAAwD,CACxD,qDACD,CAEA,2CACC,iFAAkF,CAClF,mFACD,CAIA,uFAEC,mHACD,CAEA,4CACC,6EAA8E,CAC9E,oDACD,CAEA,2CACC,iFAAkF,CAClF,kFACD,CAIA,uFAEC,mHACD,CAEA,4CACC,6EAA8E,CAC9E,mDACD,CAEA,2CACC,iFAAkF,CAClF,iFACD,CAIA,yGAEC,QAAS,CACT,uDAA0D,CAC1D,2CACD,CAIA,2GAEC,+CAAkD,CAClD,2CACD,CAIA,2GAEC,gDAAmD,CACnD,2CACD,CAIA,yGAIC,8CAAiD,CAFjD,QAAS,CACT,uDAED,CAIA,2GAGC,8CAAiD,CADjD,+CAED,CAIA,2GAGC,8CAAiD,CADjD,gDAED,CAIA,6GAIC,8CAAiD,CADjD,uDAA0D,CAD1D,SAGD,CAIA,6GAIC,8CAAiD,CAFjD,QAAS,CACT,sDAED,CAIA,6GAGC,uDAA0D,CAD1D,SAAU,CAEV,2CACD,CAIA,6GAEC,QAAS,CACT,sDAAyD,CACzD,2CACD,CAIA,yGAGC,sDAAyD,CADzD,6CAAgD,CAEhD,OACD,CAIA,yGAEC,4CAA+C,CAC/C,sDAAyD,CACzD,OACD",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +:root { + /* Make sure the balloon arrow does not float over its children. */ + --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-panel); + + &.ck-balloon-panel_with-arrow { + &::before, + &::after { + content: ""; + position: absolute; + } + + &::before { + z-index: var(--ck-balloon-panel-arrow-z-index); + } + + &::after { + z-index: calc(var(--ck-balloon-panel-arrow-z-index) + 1); + } + } + + &[class*="arrow_n"] { + &::before { + z-index: var(--ck-balloon-panel-arrow-z-index); + } + + &::after { + z-index: calc(var(--ck-balloon-panel-arrow-z-index) + 1); + } + } + + &[class*="arrow_s"] { + &::before { + z-index: var(--ck-balloon-panel-arrow-z-index); + } + + &::after { + z-index: calc(var(--ck-balloon-panel-arrow-z-index) + 1); + } + } + + &.ck-balloon-panel_visible { + display: block; + } +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "../../../mixins/_rounded.css"; +@import "../../../mixins/_shadow.css"; + +: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 { + @mixin ck-rounded-corners; + @mixin ck-drop-shadow; + + min-height: 15px; + + background: var(--ck-color-panel-background); + border: var(--ck-balloon-border-width) solid var(--ck-color-panel-border); + + &.ck-balloon-panel_with-arrow { + &::before, + &::after { + width: 0; + height: 0; + border-style: solid; + } + } + + &[class*="arrow_n"] { + &::before, + &::after { + border-width: 0 var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width); + } + + &::before { + border-color: transparent transparent var(--ck-color-panel-border) transparent; + margin-top: calc( -1 * var(--ck-balloon-border-width) ); + } + + &::after { + border-color: transparent transparent var(--ck-color-panel-background) transparent; + margin-top: calc( var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width) ); + } + } + + &[class*="arrow_s"] { + &::before, + &::after { + border-width: var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width) 0 var(--ck-balloon-arrow-half-width); + } + + &::before { + border-color: var(--ck-color-panel-border) transparent transparent; + filter: drop-shadow(var(--ck-balloon-arrow-drop-shadow)); + margin-bottom: calc( -1 * var(--ck-balloon-border-width) ); + } + + &::after { + border-color: var(--ck-color-panel-background) transparent transparent transparent; + margin-bottom: calc( var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width) ); + } + } + + &[class*="arrow_e"] { + &::before, + &::after { + border-width: var(--ck-balloon-arrow-half-width) 0 var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height); + } + + &::before { + border-color: transparent transparent transparent var(--ck-color-panel-border); + margin-right: calc( -1 * var(--ck-balloon-border-width) ); + } + + &::after { + border-color: transparent transparent transparent var(--ck-color-panel-background); + margin-right: calc( var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width) ); + } + } + + &[class*="arrow_w"] { + &::before, + &::after { + border-width: var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width) 0; + } + + &::before { + border-color: transparent var(--ck-color-panel-border) transparent transparent; + margin-left: calc( -1 * var(--ck-balloon-border-width) ); + } + + &::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-balloon-panel_arrow_n { + &::before, + &::after { + left: 50%; + margin-left: calc(-1 * var(--ck-balloon-arrow-half-width)); + top: calc(-1 * var(--ck-balloon-arrow-height)); + } + } + + &.ck-balloon-panel_arrow_nw { + &::before, + &::after { + left: calc(2 * var(--ck-balloon-arrow-half-width)); + top: calc(-1 * var(--ck-balloon-arrow-height)); + } + } + + &.ck-balloon-panel_arrow_ne { + &::before, + &::after { + right: calc(2 * var(--ck-balloon-arrow-half-width)); + top: calc(-1 * var(--ck-balloon-arrow-height)); + } + } + + &.ck-balloon-panel_arrow_s { + &::before, + &::after { + left: 50%; + margin-left: calc(-1 * var(--ck-balloon-arrow-half-width)); + bottom: calc(-1 * var(--ck-balloon-arrow-height)); + } + } + + &.ck-balloon-panel_arrow_sw { + &::before, + &::after { + left: calc(2 * var(--ck-balloon-arrow-half-width)); + bottom: calc(-1 * var(--ck-balloon-arrow-height)); + } + } + + &.ck-balloon-panel_arrow_se { + &::before, + &::after { + right: calc(2 * var(--ck-balloon-arrow-half-width)); + bottom: calc(-1 * var(--ck-balloon-arrow-height)); + } + } + + &.ck-balloon-panel_arrow_sme { + &::before, + &::after { + right: 25%; + margin-right: calc(2 * var(--ck-balloon-arrow-half-width)); + bottom: calc(-1 * var(--ck-balloon-arrow-height)); + } + } + + &.ck-balloon-panel_arrow_smw { + &::before, + &::after { + left: 25%; + margin-left: calc(2 * var(--ck-balloon-arrow-half-width)); + bottom: calc(-1 * var(--ck-balloon-arrow-height)); + } + } + + &.ck-balloon-panel_arrow_nme { + &::before, + &::after { + right: 25%; + margin-right: calc(2 * var(--ck-balloon-arrow-half-width)); + top: calc(-1 * var(--ck-balloon-arrow-height)); + } + } + + &.ck-balloon-panel_arrow_nmw { + &::before, + &::after { + left: 25%; + margin-left: calc(2 * var(--ck-balloon-arrow-half-width)); + top: calc(-1 * var(--ck-balloon-arrow-height)); + } + } + + &.ck-balloon-panel_arrow_e { + &::before, + &::after { + right: calc(-1 * var(--ck-balloon-arrow-height)); + margin-top: calc(-1 * var(--ck-balloon-arrow-half-width)); + top: 50%; + } + } + + &.ck-balloon-panel_arrow_w { + &::before, + &::after { + left: calc(-1 * var(--ck-balloon-arrow-height)); + margin-top: calc(-1 * var(--ck-balloon-arrow-half-width)); + top: 50%; + } + } +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * Implements rounded corner interface for .ck-rounded-corners class. + * + * @see $ck-border-radius + */ +@define-mixin ck-rounded-corners { + border-radius: 0; + + @nest .ck-rounded-corners &, + &.ck-rounded-corners { + border-radius: var(--ck-border-radius); + @mixin-content; + } +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * A helper to combine multiple shadows. + */ +@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 { + box-shadow: $shadowA, $shadowB; +} + +/** + * Gives an element a drop shadow so it looks like a floating panel. + */ +@define-mixin ck-drop-shadow { + @mixin ck-box-shadow var(--ck-drop-shadow); +} +`],sourceRoot:""}]);const m=g},7592:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.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}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/panel/balloonrotator.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/panel/balloonrotator.css"],names:[],mappings:"AAKA,oCAEC,kBAAmB,CADnB,YAAa,CAEb,sBACD,CAKA,6CACC,sBACD,CCXA,oCACC,6CAA8C,CAC9C,sDAAuD,CACvD,iCAgBD,CAbC,sCAGC,qCAAsC,CAFtC,oCAAqC,CACrC,kCAED,CAGA,iEAIC,mCAAoC,CAHpC,uCAID,CAMA,2DACC,eACD",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck .ck-balloon-rotator__navigation { + display: flex; + align-items: center; + justify-content: center; +} + +/* Buttons inside a toolbar should be centered when rotator bar is wider. + * See: https://github.com/ckeditor/ckeditor5-ui/issues/495 + */ +.ck .ck-balloon-rotator__content .ck-toolbar { + justify-content: center; +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.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); + + /* Let's keep similar appearance to \`ck-toolbar\`. */ + & > * { + margin-right: var(--ck-spacing-small); + margin-top: var(--ck-spacing-small); + margin-bottom: var(--ck-spacing-small); + } + + /* Gives counter more breath than buttons. */ + & .ck-balloon-rotator__counter { + margin-right: var(--ck-spacing-standard); + + /* We need to use smaller margin because of previous button's right margin. */ + margin-left: var(--ck-spacing-small); + } +} + +.ck .ck-balloon-rotator__content { + + /* Disable default annotation shadow inside rotator with fake panels. */ + & .ck.ck-annotation-wrapper { + box-shadow: none; + } +} +`],sourceRoot:""}]);const m=g},6356:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.id,".ck .ck-fake-panel{position:absolute;z-index:calc(var(--ck-z-panel) - 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}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/panel/fakepanel.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/panel/fakepanel.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AAKA,mBACC,iBAAkB,CAGlB,mCACD,CAEA,uBACC,iBACD,CAEA,mCACC,SACD,CAEA,oCACC,SACD,CCfA,MACC,6CAA8C,CAC9C,2CACD,CAGA,uBAKC,2CAA4C,CAC5C,6CAA8C,CAC9C,qCAAsC,CCXtC,oCAA8B,CDc9B,WAAY,CAPZ,eAAgB,CAMhB,UAED,CAEA,mCACC,0DAA2D,CAC3D,uDACD,CAEA,oCACC,kEAAqE,CACrE,+DACD,CACA,oCACC,kEAAqE,CACrE,+DACD,CAGA,yIAGC,4CACD",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck .ck-fake-panel { + position: absolute; + + /* Fake panels should be placed under main balloon content. */ + z-index: calc(var(--ck-z-panel) - 1); +} + +.ck .ck-fake-panel div { + position: absolute; +} + +.ck .ck-fake-panel div:nth-child( 1 ) { + z-index: 2; +} + +.ck .ck-fake-panel div:nth-child( 2 ) { + z-index: 1; +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "../../../mixins/_shadow.css"; + +:root { + --ck-balloon-fake-panel-offset-horizontal: 6px; + --ck-balloon-fake-panel-offset-vertical: 6px; +} + +/* Let's use \`.ck-balloon-panel\` appearance. See: balloonpanel.css. */ +.ck .ck-fake-panel div { + @mixin ck-drop-shadow; + + min-height: 15px; + + background: var(--ck-color-panel-background); + border: 1px solid var(--ck-color-panel-border); + border-radius: var(--ck-border-radius); + + width: 100%; + height: 100%; +} + +.ck .ck-fake-panel div:nth-child( 1 ) { + 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); +} + +/* If balloon is positioned above element, we need to move fake panel to the top. */ +.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; +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * A helper to combine multiple shadows. + */ +@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 { + box-shadow: $shadowA, $shadowB; +} + +/** + * Gives an element a drop shadow so it looks like a floating panel. + */ +@define-mixin ck-drop-shadow { + @mixin ck-box-shadow var(--ck-drop-shadow); +} +`],sourceRoot:""}]);const m=g},3707:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.id,".ck.ck-sticky-panel .ck-sticky-panel__content_sticky{position:fixed;top:0;z-index:var(--ck-z-panel)}.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}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/panel/stickypanel.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/panel/stickypanel.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AAMC,qDAEC,cAAe,CACf,KAAM,CAFN,yBAGD,CAEA,kEAEC,iBAAkB,CADlB,QAED,CCPA,qDAIC,wBAAyB,CACzB,yBAA0B,CAF1B,sBAAuB,CCFxB,oCDKA",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-sticky-panel { + & .ck-sticky-panel__content_sticky { + z-index: var(--ck-z-panel); /* #315 */ + position: fixed; + top: 0; + } + + & .ck-sticky-panel__content_sticky_bottom-limit { + top: auto; + position: absolute; + } +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "../../../mixins/_shadow.css"; + +.ck.ck-sticky-panel { + & .ck-sticky-panel__content_sticky { + @mixin ck-drop-shadow; + + border-width: 0 1px 1px; + border-top-left-radius: 0; + border-top-right-radius: 0; + } +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * A helper to combine multiple shadows. + */ +@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 { + box-shadow: $shadowA, $shadowB; +} + +/** + * Gives an element a drop shadow so it looks like a floating panel. + */ +@define-mixin ck-drop-shadow { + @mixin ck-box-shadow var(--ck-drop-shadow); +} +`],sourceRoot:""}]);const m=g},6603:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.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)}}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/responsive-form/responsiveform.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/responsive-form/responsiveform.css"],names:[],mappings:"AAQC,mCAMC,WAAY,CALZ,UAAW,CAEX,iBAAkB,CAClB,UAAW,CACX,QAAS,CAHT,OAAQ,CAKR,SACD,CAEA,yCACC,YACD,CCdA,oCDoBE,wCAMC,WAAY,CALZ,UAAW,CAEX,iBAAkB,CAClB,UAAW,CACX,QAAS,CAHT,OAAQ,CAKR,SACD,CAEA,8CACC,YACD,CC9BF,CCAD,qDACC,kDACD,CAEA,uBACC,+BAmED,CAjEC,6BAEC,YACD,CASC,uGACC,sCACD,CDvBD,oCCMD,uBAqBE,SAAU,CACV,oCA8CF,CA5CE,8CACC,wDAWD,CATC,6DACC,WAAY,CACZ,UACD,CAGA,4EACC,kBACD,CAKA,0DACC,kDACD,CAGD,iGAIC,eAAgB,CADhB,kCAAmC,CADnC,kCAmBD,CAfC,yHACC,gDACD,CARD,0OAeE,aAMF,CAJE,+IACC,kDACD,CDpEH",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css"; + +.ck-vertical-form .ck-button { + &::after { + content: ""; + width: 0; + position: absolute; + right: -1px; + top: -1px; + bottom: -1px; + z-index: 1; + } + + &:focus::after { + display: none; + } +} + +.ck.ck-responsive-form { + @mixin ck-media-phone { + & .ck-button { + &::after { + content: ""; + width: 0; + position: absolute; + right: -1px; + top: -1px; + bottom: -1px; + z-index: 1; + } + + &:focus::after { + display: none; + } + } + } +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@define-mixin ck-media-phone { + @media screen and (max-width: 600px) { + @mixin-content; + } +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css"; +@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css"; + +.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); + + &:focus { + /* See: https://github.com/ckeditor/ckeditor5/issues/4773 */ + outline: none; + } + + @mixin ck-dir ltr { + & > :not(:first-child) { + margin-left: var(--ck-spacing-standard); + } + } + + @mixin ck-dir rtl { + & > :not(:last-child) { + margin-left: var(--ck-spacing-standard); + } + } + + @mixin ck-media-phone { + padding: 0; + width: calc(.8 * var(--ck-input-width)); + + & .ck-labeled-field-view { + margin: var(--ck-spacing-large) var(--ck-spacing-large) 0; + + & .ck-input-text { + min-width: 0; + width: 100%; + } + + /* Let the long error messages wrap in the narrow form. */ + & .ck-labeled-field-view__error { + white-space: normal; + } + } + + /* Styles for two last buttons in the form (save&cancel, edit&unlink, etc.). */ + & > .ck-button:nth-last-child(2) { + &::after { + border-right: 1px solid var(--ck-color-base-border); + } + } + + & > .ck-button:nth-last-child(1), + & > .ck-button:nth-last-child(2) { + padding: var(--ck-spacing-standard); + margin-top: var(--ck-spacing-large); + border-radius: 0; + + &:not(:focus) { + border-top: 1px solid var(--ck-color-base-border); + } + + @mixin ck-dir ltr { + margin-left: 0; + } + + @mixin ck-dir rtl { + margin-left: 0; + + &:last-of-type { + border-right: 1px solid var(--ck-color-base-border); + } + } + } + } +} +`],sourceRoot:""}]);const m=g},9332:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.id,".ck.ck-search>.ck-labeled-field-view>.ck-labeled-field-view__input-wrapper>.ck-icon{position:absolute;top:50%;transform:translateY(-50%)}[dir=ltr] .ck.ck-search>.ck-labeled-field-view>.ck-labeled-field-view__input-wrapper>.ck-icon{left:var(--ck-spacing-medium)}[dir=rtl] .ck.ck-search>.ck-labeled-field-view>.ck-labeled-field-view__input-wrapper>.ck-icon{right:var(--ck-spacing-medium)}.ck.ck-search>.ck-labeled-field-view .ck-search__reset{position:absolute;top:50%;transform:translateY(-50%)}.ck.ck-search>.ck-search__results>.ck-search__info>span:first-child{display:block}.ck.ck-search>.ck-search__results>.ck-search__info:not(.ck-hidden)~*{display:none}:root{--ck-search-field-view-horizontal-spacing:calc(var(--ck-icon-size) + var(--ck-spacing-medium))}.ck.ck-search>.ck-labeled-field-view .ck-input{width:100%}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-icon{--ck-labeled-field-label-default-position-x:var(--ck-search-field-view-horizontal-spacing)}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-icon>.ck-labeled-field-view__input-wrapper>.ck-icon{opacity:.5;pointer-events:none}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-icon .ck-input{width:100%}[dir=ltr] .ck.ck-search>.ck-labeled-field-view.ck-search__query_with-icon .ck-input,[dir=rtl] .ck.ck-search>.ck-labeled-field-view.ck-search__query_with-icon .ck-input:not(.ck-input-text_empty){padding-left:var(--ck-search-field-view-horizontal-spacing)}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset{--ck-labeled-field-empty-unfocused-max-width:100% - 2 * var(--ck-search-field-view-horizontal-spacing)}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset.ck-labeled-field-view_empty{--ck-labeled-field-empty-unfocused-max-width:100% - var(--ck-search-field-view-horizontal-spacing) - var(--ck-spacing-medium)}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset .ck-search__reset{background:none;min-height:auto;min-width:auto;opacity:.5;padding:0}[dir=ltr] .ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset .ck-search__reset{right:var(--ck-spacing-medium)}[dir=rtl] .ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset .ck-search__reset{left:var(--ck-spacing-medium)}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset .ck-search__reset:hover{opacity:1}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset .ck-input{width:100%}[dir=ltr] .ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset .ck-input:not(.ck-input-text_empty),[dir=rtl] .ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset .ck-input{padding-right:var(--ck-search-field-view-horizontal-spacing)}.ck.ck-search>.ck-search__results{min-width:100%}.ck.ck-search>.ck-search__results>.ck-search__info{padding:var(--ck-spacing-medium) var(--ck-spacing-large);width:100%}.ck.ck-search>.ck-search__results>.ck-search__info *{white-space:normal}.ck.ck-search>.ck-search__results>.ck-search__info>span:first-child{font-weight:700}.ck.ck-search>.ck-search__results>.ck-search__info>span:last-child{margin-top:var(--ck-spacing-medium)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/search/search.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/search/search.css"],names:[],mappings:"AASE,oFACC,iBAAkB,CAClB,OAAQ,CACR,0BASD,CAZA,8FAME,6BAMF,CAZA,8FAUE,8BAEF,CAEA,uDACC,iBAAkB,CAClB,OAAQ,CACR,0BACD,CAKC,oEACC,aACD,CAGA,qEACC,YACD,CChCH,MACC,8FACD,CAIE,+CACC,UACD,CAEA,gEACC,0FAoBD,CAlBC,+GACC,UAAW,CACX,mBACD,CAEA,0EACC,UAWD,CAJE,kMACC,2DACD,CAKH,iEACC,sGAwCD,CAtCC,6FACC,6HACD,CAEA,mFAIC,eAAgB,CAFhB,eAAgB,CADhB,cAAe,CAIf,UAAW,CACX,SAaD,CAnBA,6FASE,8BAUF,CAnBA,6FAaE,6BAMF,CAHC,yFACC,SACD,CAGD,2EACC,UAWD,CAZA,oMAUE,4DAEF,CAIF,kCACC,cAkBD,CAhBC,mDAEC,wDAAyD,CADzD,UAcD,CAXC,qDACC,kBACD,CAEA,oEACC,eACD,CAEA,mEACC,mCACD",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css"; + +.ck.ck-search { + & > .ck-labeled-field-view { + & > .ck-labeled-field-view__input-wrapper > .ck-icon { + position: absolute; + top: 50%; + transform: translateY(-50%); + + @mixin ck-dir ltr { + left: var(--ck-spacing-medium); + } + + @mixin ck-dir rtl { + right: var(--ck-spacing-medium); + } + } + + & .ck-search__reset { + position: absolute; + top: 50%; + transform: translateY(-50%); + } + } + + & > .ck-search__results { + & > .ck-search__info { + & > span:first-child { + display: block; + } + + /* Hide the filtered view when nothing was found */ + &:not(.ck-hidden) ~ * { + display: none; + } + } + } +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css"; + +:root { + --ck-search-field-view-horizontal-spacing: calc(var(--ck-icon-size) + var(--ck-spacing-medium)); +} + +.ck.ck-search { + & > .ck-labeled-field-view { + & .ck-input { + width: 100%; + } + + &.ck-search__query_with-icon { + --ck-labeled-field-label-default-position-x: var(--ck-search-field-view-horizontal-spacing); + + & > .ck-labeled-field-view__input-wrapper > .ck-icon { + opacity: .5; + pointer-events: none; + } + + & .ck-input { + width: 100%; + + @mixin ck-dir ltr { + padding-left: var(--ck-search-field-view-horizontal-spacing); + } + + @mixin ck-dir rtl { + &:not(.ck-input-text_empty) { + padding-left: var(--ck-search-field-view-horizontal-spacing); + } + } + } + } + + &.ck-search__query_with-reset { + --ck-labeled-field-empty-unfocused-max-width: 100% - 2 * var(--ck-search-field-view-horizontal-spacing); + + &.ck-labeled-field-view_empty { + --ck-labeled-field-empty-unfocused-max-width: 100% - var(--ck-search-field-view-horizontal-spacing) - var(--ck-spacing-medium); + } + + & .ck-search__reset { + min-width: auto; + min-height: auto; + + background: none; + opacity: .5; + padding: 0; + + @mixin ck-dir ltr { + right: var(--ck-spacing-medium); + } + + @mixin ck-dir rtl { + left: var(--ck-spacing-medium); + } + + &:hover { + opacity: 1; + } + } + + & .ck-input { + width: 100%; + + @mixin ck-dir ltr { + &:not(.ck-input-text_empty) { + padding-right: var(--ck-search-field-view-horizontal-spacing); + } + } + + @mixin ck-dir rtl { + padding-right: var(--ck-search-field-view-horizontal-spacing); + } + } + } + } + + & > .ck-search__results { + min-width: 100%; + + & > .ck-search__info { + width: 100%; + padding: var(--ck-spacing-medium) var(--ck-spacing-large); + + & * { + white-space: normal; + } + + & > span:first-child { + font-weight: bold; + } + + & > span:last-child { + margin-top: var(--ck-spacing-medium); + } + } + } +} + +`],sourceRoot:""}]);const m=g},6446:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.id,".ck.ck-spinner-container{display:block;position:relative}.ck.ck-spinner{left:0;margin:0 auto;position:absolute;right:0;top:50%;transform:translateY(-50%);z-index:1}:root{--ck-toolbar-spinner-size:18px}.ck.ck-spinner-container{animation:rotate 1.5s linear infinite}.ck.ck-spinner,.ck.ck-spinner-container{height:var(--ck-toolbar-spinner-size);width:var(--ck-toolbar-spinner-size)}.ck.ck-spinner{border:2px solid var(--ck-color-text);border-radius:50%;border-top:2px solid transparent}@keyframes rotate{to{transform:rotate(1turn)}}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/spinner/spinner.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/spinner/spinner.css"],names:[],mappings:"AASA,yBACC,aAAc,CACd,iBACD,CAEA,eAGC,MAAO,CAEP,aAAc,CAJd,iBAAkB,CAGlB,OAAQ,CAFR,OAAQ,CAIR,0BAA2B,CAC3B,SACD,CCjBA,MACC,8BACD,CAEA,yBAGC,qCACD,CAEA,wCAJC,qCAAsC,CADtC,oCAWD,CANA,eAKC,qCAA6B,CAF7B,iBAAkB,CAElB,gCACD,CAEA,kBACC,GACC,uBACD,CACD",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +:root { + --ck-toolbar-spinner-size: 18px; +} + +.ck.ck-spinner-container { + display: block; + position: relative; +} + +.ck.ck-spinner { + position: absolute; + top: 50%; + left: 0; + right: 0; + margin: 0 auto; + transform: translateY(-50%); + z-index: 1; +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +:root { + --ck-toolbar-spinner-size: 18px; +} + +.ck.ck-spinner-container { + width: var(--ck-toolbar-spinner-size); + height: var(--ck-toolbar-spinner-size); + animation: 1.5s infinite rotate linear; +} + +.ck.ck-spinner { + width: var(--ck-toolbar-spinner-size); + height: var(--ck-toolbar-spinner-size); + border-radius: 50%; + border: 2px solid var(--ck-color-text); + border-top-color: transparent; +} + +@keyframes rotate { + to { + transform: rotate(360deg) + } +} + +`],sourceRoot:""}]);const m=g},5224:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.id,".ck-textarea{overflow-x:hidden}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/textarea/textarea.css"],names:[],mappings:"AASA,aACC,iBACD",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/* + * This fixes a problem in Firefox when the initial height of the complement does not match the number of rows. + * This bug is especially visible when rows=1. + */ +.ck-textarea { + overflow-x: hidden +} +`],sourceRoot:""}]);const m=g},4176:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.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)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/toolbar/blocktoolbar.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/toolbar/blocktoolbar.css"],names:[],mappings:"AAKA,4BACC,iBAAkB,CAClB,2BACD,CCHA,MACC,oDAAqD,CACrD,yDACD,CAEA,4BACC,0CAA2C,CAC3C,sCACD",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-block-toolbar-button { + position: absolute; + z-index: var(--ck-z-default); +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +: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); +} +`],sourceRoot:""}]);const m=g},4768:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.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.ck-toolbar .ck-toolbar__nested-toolbar-dropdown>.ck-dropdown__panel{min-width:auto}.ck.ck-toolbar .ck-toolbar__nested-toolbar-dropdown>.ck-button>.ck-button__label{max-width:7em;width:auto}.ck.ck-toolbar:focus{outline:none}.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)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/toolbar/toolbar.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_unselectable.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/toolbar/toolbar.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css"],names:[],mappings:"AAOA,eAKC,kBAAmB,CAFnB,YAAa,CACb,oBAAqB,CCFrB,qBAAsB,CACtB,wBAAyB,CACzB,oBAAqB,CACrB,gBD6CD,CA3CC,kCAGC,kBAAmB,CAFnB,YAAa,CACb,kBAAmB,CAEnB,WAED,CAEA,yCACC,oBAWD,CAJC,yGAEC,YACD,CAGD,uCACC,eACD,CAEA,sDACC,gBACD,CAEA,sDACC,qBACD,CAEA,sDACC,gBACD,CAGC,yFACC,YACD,CE/CF,eCGC,eDwGD,CA3GA,qECOE,qCDoGF,CA3GA,eAGC,6CAA8C,CAE9C,+CAAgD,CADhD,iCAuGD,CApGC,yCACC,kBAAmB,CAGnB,yCAA0C,CAO1C,qCAAsC,CADtC,kCAAmC,CAPnC,aAAc,CADd,SAUD,CAEA,uCACC,QACD,CAGC,gEAEC,oCACD,CAIA,kEACC,YACD,CAGD,gHAIC,qCAAsC,CADtC,kCAED,CAEA,mCAEC,SAaD,CAVC,0DAQC,eAAgB,CAHhB,QAAS,CAHT,UAOD,CAGD,kCAEC,SAWD,CATC,uDAEC,QAMD,CAHC,yFACC,eACD,CASD,kFACC,mCACD,CAMA,wEACC,cACD,CAEA,iFACC,aAAc,CACd,UACD,CAGD,qBACC,YACD,CAtGD,qCAyGE,QAEF,CAYC,+FACC,cACD,CAEA,iJAEC,mCACD,CAEA,qHACC,aACD,CAIC,6JAEC,2BAA4B,CAD5B,wBAED,CAGA,2JAEC,4BAA6B,CAD7B,yBAED,CASD,8RACC,mCACD,CAWA,qHACC,cACD,CAIC,6JAEC,4BAA6B,CAD7B,yBAED,CAGA,2JAEC,2BAA4B,CAD5B,wBAED,CASD,8RACC,oCACD",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "../../mixins/_unselectable.css"; + +.ck.ck-toolbar { + @mixin ck-unselectable; + + display: flex; + flex-flow: row nowrap; + align-items: center; + + & > .ck-toolbar__items { + display: flex; + flex-flow: row wrap; + align-items: center; + flex-grow: 1; + + } + + & .ck.ck-toolbar__separator { + display: inline-block; + + /* + * A leading or trailing separator makes no sense (separates from nothing on one side). + * For instance, it can happen when toolbar items (also separators) are getting grouped one by one and + * moved to another toolbar in the dropdown. + */ + &:first-child, + &:last-child { + display: none; + } + } + + & .ck-toolbar__line-break { + flex-basis: 100%; + } + + &.ck-toolbar_grouping > .ck-toolbar__items { + flex-wrap: nowrap; + } + + &.ck-toolbar_vertical > .ck-toolbar__items { + flex-direction: column; + } + + &.ck-toolbar_floating > .ck-toolbar__items { + flex-wrap: nowrap; + } + + & > .ck.ck-toolbar__grouped-dropdown { + & > .ck-dropdown__button .ck-dropdown__arrow { + display: none; + } + } +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * Makes element unselectable. + */ +@define-mixin ck-unselectable { + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + user-select: none +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "../../../mixins/_rounded.css"; +@import "@ckeditor/ckeditor5-ui/theme/mixins/_dir.css"; + +.ck.ck-toolbar { + @mixin ck-rounded-corners; + + background: var(--ck-color-toolbar-background); + padding: 0 var(--ck-spacing-small); + border: 1px solid var(--ck-color-toolbar-border); + + & .ck.ck-toolbar__separator { + align-self: stretch; + width: 1px; + min-width: 1px; + background: var(--ck-color-toolbar-border); + + /* + * These margins make the separators look better in balloon toolbars (when aligned with the "tip"). + * See https://github.com/ckeditor/ckeditor5/issues/7493. + */ + margin-top: var(--ck-spacing-small); + margin-bottom: var(--ck-spacing-small); + } + + & .ck-toolbar__line-break { + height: 0; + } + + & > .ck-toolbar__items { + & > *:not(.ck-toolbar__line-break) { + /* (#11) Separate toolbar items. */ + margin-right: var(--ck-spacing-small); + } + + /* Don't display a separator after an empty items container, for instance, + when all items were grouped */ + &:empty + .ck.ck-toolbar__separator { + display: none; + } + } + + & > .ck-toolbar__items > *:not(.ck-toolbar__line-break), + & > .ck.ck-toolbar__grouped-dropdown { + /* Make sure items wrapped to the next line have v-spacing */ + margin-top: var(--ck-spacing-small); + margin-bottom: var(--ck-spacing-small); + } + + &.ck-toolbar_vertical { + /* Items in a vertical toolbar span the entire width. */ + padding: 0; + + /* Specificity matters here. See https://github.com/ckeditor/ckeditor5-theme-lark/issues/168. */ + & > .ck-toolbar__items > .ck { + /* Items in a vertical toolbar should span the horizontal space. */ + width: 100%; + + /* Items in a vertical toolbar should have no margin. */ + margin: 0; + + /* Items in a vertical toolbar span the entire width so rounded corners are pointless. */ + border-radius: 0; + } + } + + &.ck-toolbar_compact { + /* No spacing around items. */ + padding: 0; + + & > .ck-toolbar__items > * { + /* Compact toolbar items have no spacing between them. */ + margin: 0; + + /* "Middle" children should have no rounded corners. */ + &:not(:first-child):not(:last-child) { + border-radius: 0; + } + } + } + + & > .ck.ck-toolbar__grouped-dropdown { + /* + * Dropdown button has asymmetric padding to fit the arrow. + * This button has no arrow so let's revert that padding back to normal. + */ + & > .ck.ck-button.ck-dropdown__button { + padding-left: var(--ck-spacing-tiny); + } + } + + /* A drop-down containing the nested toolbar with configured items. */ + & .ck-toolbar__nested-toolbar-dropdown { + /* Prevent empty space in the panel when the dropdown label is visible and long but the toolbar has few items. */ + & > .ck-dropdown__panel { + min-width: auto; + } + + & > .ck-button > .ck-button__label { + max-width: 7em; + width: auto; + } + } + + &:focus { + outline: none; + } + + @nest .ck-toolbar-container & { + border: 0; + } +} + +/* stylelint-disable */ + +/* + * Styles for RTL toolbars. + * + * Note: In some cases (e.g. a decoupled editor), the toolbar has its own "dir" + * because its parent is not controlled by the editor framework. + */ +[dir="rtl"] .ck.ck-toolbar, +.ck.ck-toolbar[dir="rtl"] { + & > .ck-toolbar__items > .ck { + margin-right: 0; + } + + &:not(.ck-toolbar_compact) > .ck-toolbar__items > .ck { + /* (#11) Separate toolbar items. */ + margin-left: var(--ck-spacing-small); + } + + & > .ck-toolbar__items > .ck:last-child { + margin-left: 0; + } + + &.ck-toolbar_compact > .ck-toolbar__items > .ck { + /* No rounded corners on the right side of the first child. */ + &:first-child { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + + /* No rounded corners on the left side of the last child. */ + &:last-child { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + } + + /* Separate the the separator form the grouping dropdown when some items are grouped. */ + & > .ck.ck-toolbar__separator { + margin-left: var(--ck-spacing-small); + } + + /* Some spacing between the items and the separator before the grouped items dropdown. */ + &.ck-toolbar_grouping > .ck-toolbar__items:not(:empty):not(:only-child) { + margin-left: var(--ck-spacing-small); + } +} + +/* + * Styles for LTR toolbars. + * + * Note: In some cases (e.g. a decoupled editor), the toolbar has its own "dir" + * because its parent is not controlled by the editor framework. + */ +[dir="ltr"] .ck.ck-toolbar, +.ck.ck-toolbar[dir="ltr"] { + & > .ck-toolbar__items > .ck:last-child { + margin-right: 0; + } + + &.ck-toolbar_compact > .ck-toolbar__items > .ck { + /* No rounded corners on the right side of the first child. */ + &:first-child { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + + /* No rounded corners on the left side of the last child. */ + &:last-child { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + } + + /* Separate the the separator form the grouping dropdown when some items are grouped. */ + & > .ck.ck-toolbar__separator { + margin-right: var(--ck-spacing-small); + } + + /* Some spacing between the items and the separator before the grouped items dropdown. */ + &.ck-toolbar_grouping > .ck-toolbar__items:not(:empty):not(:only-child) { + margin-right: var(--ck-spacing-small); + } +} + +/* stylelint-enable */ +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * Implements rounded corner interface for .ck-rounded-corners class. + * + * @see $ck-border-radius + */ +@define-mixin ck-rounded-corners { + border-radius: 0; + + @nest .ck-rounded-corners &, + &.ck-rounded-corners { + border-radius: var(--ck-border-radius); + @mixin-content; + } +} +`],sourceRoot:""}]);const m=g},3888:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.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-tooltip-text-padding: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-dialog) + 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.ck-tooltip_multi-line .ck-tooltip__text{display:inline-block;padding:var(--ck-tooltip-text-padding) 0;white-space:break-spaces}.ck.ck-balloon-panel.ck-tooltip{box-shadow:none}.ck.ck-balloon-panel.ck-tooltip:before{display:none}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/tooltip/tooltip.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/tooltip/tooltip.css"],names:[],mappings:"AAKA,gCCGC,6BAA8B,CAC9B,6BAA8B,CAC9B,iCAAkC,CAClC,6BAA8B,CAC9B,6BAA8B,CAC9B,8DAA+D,CAE/D,kCAAmC,CDRnC,mBAAoB,CAEpB,sCACD,CCOC,kDAGC,kCAAmC,CAFnC,cAAe,CACf,eAED,CAEA,wEAEC,oBAAqB,CACrB,wCAAyC,CAFzC,wBAGD,CApBD,gCAuBC,eAMD,CAHC,uCACC,YACD",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-balloon-panel.ck-tooltip { + /* Keep tooltips transparent for any interactions. */ + pointer-events: none; + + z-index: calc( var(--ck-z-dialog) + 100 ); +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "../../../mixins/_rounded.css"; + +.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-tooltip-text-padding: 4px; + --ck-color-panel-background: var(--ck-color-tooltip-background); + + padding: 0 var(--ck-spacing-medium); + + & .ck-tooltip__text { + font-size: .9em; + line-height: 1.5; + color: var(--ck-color-tooltip-text); + } + + &.ck-tooltip_multi-line .ck-tooltip__text { + white-space: break-spaces; + display: inline-block; + padding: var(--ck-tooltip-text-padding) 0; + } + + /* Reset balloon panel styles */ + box-shadow: none; + + /* Hide the default shadow of the .ck-balloon-panel tip */ + &::before { + display: none; + } +} +`],sourceRoot:""}]);const m=g},5167:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.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-panel:calc(var(--ck-z-default) + 999);--ck-z-dialog:9999}.ck-transitions-disabled,.ck-transitions-disabled *{transition:none!important}:root{--ck-powered-by-line-height:10px;--ck-powered-by-padding-vertical:2px;--ck-powered-by-padding-horizontal:4px;--ck-powered-by-text-color:#4f4f4f;--ck-powered-by-border-radius:var(--ck-border-radius);--ck-powered-by-background:#fff;--ck-powered-by-border-color:var(--ck-color-focus-border)}.ck.ck-balloon-panel.ck-powered-by-balloon{--ck-border-radius:var(--ck-powered-by-border-radius);background:var(--ck-powered-by-background);box-shadow:none;min-height:unset;z-index:calc(var(--ck-z-panel) - 1)}.ck.ck-balloon-panel.ck-powered-by-balloon .ck.ck-powered-by{line-height:var(--ck-powered-by-line-height)}.ck.ck-balloon-panel.ck-powered-by-balloon .ck.ck-powered-by a{align-items:center;cursor:pointer;display:flex;filter:grayscale(80%);line-height:var(--ck-powered-by-line-height);opacity:.66;padding:var(--ck-powered-by-padding-vertical) var(--ck-powered-by-padding-horizontal)}.ck.ck-balloon-panel.ck-powered-by-balloon .ck.ck-powered-by .ck-powered-by__label{color:var(--ck-powered-by-text-color);cursor:pointer;font-size:7.5px;font-weight:700;letter-spacing:-.2px;line-height:normal;margin-right:4px;padding-left:2px;text-transform:uppercase}.ck.ck-balloon-panel.ck-powered-by-balloon .ck.ck-powered-by .ck-icon{cursor:pointer;display:block}.ck.ck-balloon-panel.ck-powered-by-balloon .ck.ck-powered-by:hover a{filter:grayscale(0);opacity:1}.ck.ck-balloon-panel.ck-powered-by-balloon[class*=position_inside]{border-color:transparent}.ck.ck-balloon-panel.ck-powered-by-balloon[class*=position_border]{border:var(--ck-focus-ring);border-color:var(--ck-powered-by-border-color)}: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-color-highlight-background:#ff0;--ck-color-light-red:#fcc;--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)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/globals/_hidden.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/globals/_reset.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/globals/_zindex.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/globals/_transition.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/globals/_poweredby.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_colors.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_disabled.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_focus.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_fonts.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_reset.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_rounded.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_shadow.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_spacing.css"],names:[],mappings:"AAQA,WAGC,sBACD,CCPA,2EAGC,qBAAsB,CAEtB,WAAY,CACZ,eAAgB,CAFhB,UAGD,CCPA,MACC,gBAAiB,CACjB,4CAA+C,CAC/C,kBACD,CCDA,oDAEC,yBACD,CCNA,MACC,gCAAiC,CACjC,oCAAqC,CACrC,sCAAuC,CACvC,kCAA2C,CAC3C,qDAAsD,CACtD,+BAA4C,CAC5C,yDACD,CAEA,2CACC,qDAAsD,CAGtD,0CAA2C,CAD3C,eAAgB,CAEhB,gBAAiB,CACjB,mCAiDD,CA/CC,6DACC,4CAoCD,CAlCC,+DAGC,kBAAmB,CAFnB,cAAe,CACf,YAAa,CAGb,qBAAsB,CACtB,4CAA6C,CAF7C,WAAY,CAGZ,qFACD,CAEA,mFASC,qCAAsC,CAFtC,cAAe,CANf,eAAgB,CAIhB,eAAiB,CAHjB,oBAAqB,CAMrB,kBAAmB,CAFnB,gBAAiB,CAHjB,gBAAiB,CACjB,wBAOD,CAEA,sEAEC,cAAe,CADf,aAED,CAGC,qEACC,mBAAqB,CACrB,SACD,CAIF,mEACC,wBACD,CAEA,mEACC,2BAA4B,CAC5B,8CACD,CChED,MACC,kCAAmD,CACnD,+BAAoD,CACpD,8BAAkD,CAClD,8BAAuD,CACvD,6BAAmD,CACnD,yBAA+C,CAC/C,8BAAsD,CACtD,oCAA4D,CAC5D,6BAAkD,CAIlD,mDAA4D,CAC5D,qEAA+E,CAC/E,qCAA4D,CAC5D,qDAA8D,CAC9D,gDAAyD,CACzD,yCAAqD,CACrD,sCAAsD,CACtD,4CAA0D,CAC1D,sCAAsD,CAItD,gDAAuD,CACvD,kDAAiE,CACjE,mDAAkE,CAClE,yDAA8D,CAE9D,uCAA6D,CAC7D,6CAAoE,CACpE,8CAAoE,CACpE,gDAAiE,CACjE,kCAAyD,CAGzD,+DAAsE,CACtE,iDAAsE,CACtE,kDAAsE,CACtE,oDAAoE,CACpE,6DAAsE,CAEtE,8BAAoD,CACpD,gCAAqD,CAErD,+CAA8D,CAC9D,qDAAiE,CACjE,+EAAqF,CACrF,oDAAuE,CACvE,yEAA8E,CAC9E,oDAAgE,CAIhE,oEAA2E,CAC3E,4DAAoE,CAIpE,2DAAoE,CACpE,mDAA6D,CAC7D,wDAAgE,CAChE,+CAA0D,CAC1D,4CAA2D,CAC3D,4DAAoE,CACpE,sCAAsD,CAItD,0DAAmE,CACnE,uFAA6F,CAC7F,oEAA2E,CAC3E,0EAA+E,CAC/E,8DAAsE,CAItE,2DAAoE,CACpE,mDAA6D,CAI7D,6DAAsE,CACtE,qDAA+D,CAI/D,uDAAgE,CAChE,uDAAiE,CAIjE,0CAAyD,CAIzD,wCAA2D,CAI3D,+BAAoD,CACpD,uDAAmE,CACnE,kDAAgE,CAIhE,oCAAyD,CAIzD,yBAAgD,CC3GhD,wBAAyB,CCAzB,0CAA2C,CAK3C,gGAAiG,CAKjG,4GAA6G,CAK7G,sGAAuG,CAKvG,sDAAuD,CCvBvD,wBAAyB,CACzB,6BAA8B,CAC9B,wDAA6D,CAE7D,yBAA0B,CAC1B,2BAA4B,CAC5B,yBAA0B,CAC1B,wBAAyB,CACzB,0BAA2B,CCJ3B,kCJ2GD,CIrGA,2EAaC,oBAAqB,CANrB,sBAAuB,CADvB,QAAS,CAFT,QAAS,CACT,SAAU,CAGV,oBAAqB,CAErB,eAAgB,CADhB,qBAKD,CAKA,8DAGC,wBAAyB,CAEzB,0BAA2B,CAG3B,WAAY,CACZ,UAAW,CALX,iGAAkG,CAElG,eAAgB,CAChB,kBAGD,CAGC,qDACC,gBACD,CAEA,mDAEC,sBACD,CAEA,qDACC,oBACD,CAEA,mLAGC,WACD,CAEA,iNAGC,cACD,CAEA,qDAEC,yBAAoC,CADpC,YAED,CAEA,qEAGC,QAAQ,CADR,SAED,CAMD,8BAEC,gBACD,CCnFA,MACC,sBAAuB,CCAvB,gEAAiE,CAKjE,0DAA2D,CAK3D,wEAAyE,CCbzE,uBAA8B,CAC9B,mDAA2D,CAC3D,4CAAkD,CAClD,oDAA4D,CAC5D,mDAA2D,CAC3D,kDAA2D,CAC3D,yDFFD",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * A class which hides an element in DOM. + */ +.ck-hidden { + /* Override selector specificity. Otherwise, all elements with some display + style defined will override this one, which is not a desired result. */ + display: none !important; +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck.ck-reset, +.ck.ck-reset_all, +.ck-reset_all *:not(.ck-reset_all-excluded *) { + box-sizing: border-box; + width: auto; + height: auto; + position: static; +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +:root { + --ck-z-default: 1; + --ck-z-panel: calc( var(--ck-z-default) + 999 ); + --ck-z-dialog: 9999; +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * A class that disables all transitions of the element and its children. + */ +.ck-transitions-disabled, +.ck-transitions-disabled * { + transition: none !important; +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +:root { + --ck-powered-by-line-height: 10px; + --ck-powered-by-padding-vertical: 2px; + --ck-powered-by-padding-horizontal: 4px; + --ck-powered-by-text-color: hsl(0, 0%, 31%); + --ck-powered-by-border-radius: var(--ck-border-radius); + --ck-powered-by-background: hsl(0, 0%, 100%); + --ck-powered-by-border-color: var(--ck-color-focus-border); +} + +.ck.ck-balloon-panel.ck-powered-by-balloon { + --ck-border-radius: var(--ck-powered-by-border-radius); + + box-shadow: none; + background: var(--ck-powered-by-background); + min-height: unset; + z-index: calc( var(--ck-z-panel) - 1 ); + + & .ck.ck-powered-by { + line-height: var(--ck-powered-by-line-height); + + & a { + cursor: pointer; + display: flex; + align-items: center; + opacity: .66; + filter: grayscale(80%); + line-height: var(--ck-powered-by-line-height); + padding: var(--ck-powered-by-padding-vertical) var(--ck-powered-by-padding-horizontal); + } + + & .ck-powered-by__label { + font-size: 7.5px; + letter-spacing: -.2px; + padding-left: 2px; + text-transform: uppercase; + font-weight: bold; + margin-right: 4px; + cursor: pointer; + line-height: normal; + color: var(--ck-powered-by-text-color); + + } + + & .ck-icon { + display: block; + cursor: pointer; + } + + &:hover { + & a { + filter: grayscale(0%); + opacity: 1; + } + } + } + + &[class*="position_inside"] { + border-color: transparent; + } + + &[class*="position_border"] { + border: var(--ck-focus-ring); + border-color: var(--ck-powered-by-border-color); + } +} + +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +:root { + --ck-color-base-foreground: hsl(0, 0%, 98%); + --ck-color-base-background: hsl(0, 0%, 100%); + --ck-color-base-border: hsl(220, 6%, 81%); + --ck-color-base-action: hsl(104, 50.2%, 42.5%); + --ck-color-base-focus: hsl(209, 92%, 70%); + --ck-color-base-text: hsl(0, 0%, 20%); + --ck-color-base-active: hsl(218.1, 100%, 58%); + --ck-color-base-active-focus: hsl(218.2, 100%, 52.5%); + --ck-color-base-error: hsl(15, 100%, 43%); + + /* -- Generic colors ------------------------------------------------------------------------ */ + + --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: hsl(212.4, 89.3%, 89%); + --ck-color-focus-disabled-shadow: hsla(209, 90%, 72%,.3); + --ck-color-focus-error-shadow: hsla(9,100%,56%,.3); + --ck-color-text: var(--ck-color-base-text); + --ck-color-shadow-drop: hsla(0, 0%, 0%, 0.15); + --ck-color-shadow-drop-active: hsla(0, 0%, 0%, 0.2); + --ck-color-shadow-inner: hsla(0, 0%, 0%, 0.1); + + /* -- Buttons ------------------------------------------------------------------------------- */ + + --ck-color-button-default-background: transparent; + --ck-color-button-default-hover-background: hsl(0, 0%, 94.1%); + --ck-color-button-default-active-background: hsl(0, 0%, 94.1%); + --ck-color-button-default-disabled-background: transparent; + + --ck-color-button-on-background: hsl(212, 100%, 97.1%); + --ck-color-button-on-hover-background: hsl(211.7, 100%, 92.9%); + --ck-color-button-on-active-background: hsl(211.7, 100%, 92.9%); + --ck-color-button-on-disabled-background: hsl(211, 15%, 95%); + --ck-color-button-on-color: hsl(218.1, 100%, 58%); + + + --ck-color-button-action-background: var(--ck-color-base-action); + --ck-color-button-action-hover-background: hsl(104, 53.2%, 40.2%); + --ck-color-button-action-active-background: hsl(104, 53.2%, 40.2%); + --ck-color-button-action-disabled-background: hsl(104, 44%, 58%); + --ck-color-button-action-text: var(--ck-color-base-background); + + --ck-color-button-save: hsl(120, 100%, 27%); + --ck-color-button-cancel: hsl(15, 100%, 43%); + + --ck-color-switch-button-off-background: hsl(0, 0%, 57.6%); + --ck-color-switch-button-off-hover-background: hsl(0, 0%, 49%); + --ck-color-switch-button-on-background: var(--ck-color-button-action-background); + --ck-color-switch-button-on-hover-background: hsl(104, 53.2%, 40.2%); + --ck-color-switch-button-inner-background: var(--ck-color-base-background); + --ck-color-switch-button-inner-shadow: hsla(0, 0%, 0%, 0.1); + + /* -- Dropdown ------------------------------------------------------------------------------ */ + + --ck-color-dropdown-panel-background: var(--ck-color-base-background); + --ck-color-dropdown-panel-border: var(--ck-color-base-border); + + /* -- Input --------------------------------------------------------------------------------- */ + + --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: hsl(0, 0%, 95%); + --ck-color-input-disabled-border: var(--ck-color-base-border); + --ck-color-input-disabled-text: hsl(0, 0%, 46%); + + /* -- List ---------------------------------------------------------------------------------- */ + + --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); + + /* -- Panel --------------------------------------------------------------------------------- */ + + --ck-color-panel-background: var(--ck-color-base-background); + --ck-color-panel-border: var(--ck-color-base-border); + + /* -- Toolbar ------------------------------------------------------------------------------- */ + + --ck-color-toolbar-background: var(--ck-color-base-background); + --ck-color-toolbar-border: var(--ck-color-base-border); + + /* -- Tooltip ------------------------------------------------------------------------------- */ + + --ck-color-tooltip-background: var(--ck-color-base-text); + --ck-color-tooltip-text: var(--ck-color-base-background); + + /* -- Engine -------------------------------------------------------------------------------- */ + + --ck-color-engine-placeholder-text: hsl(0, 0%, 44%); + + /* -- Upload -------------------------------------------------------------------------------- */ + + --ck-color-upload-bar-background: hsl(209, 92%, 70%); + + /* -- Link -------------------------------------------------------------------------------- */ + + --ck-color-link-default: hsl(240, 100%, 47%); + --ck-color-link-selected-background: hsla(201, 100%, 56%, 0.1); + --ck-color-link-fake-selection: hsla(201, 100%, 56%, 0.3); + + /* -- Search result highlight ---------------------------------------------------------------- */ + + --ck-color-highlight-background: hsl(60, 100%, 50%); + + /* -- Generic colors ------------------------------------------------------------------------- */ + + --ck-color-light-red: hsl(0, 100%, 90%); +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +:root { + /** + * An opacity value of disabled UI item. + */ + --ck-disabled-opacity: .5; +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +:root { + /** + * The geometry of the of focused element's outer shadow. + */ + --ck-focus-outer-shadow-geometry: 0 0 0 3px; + + /** + * A visual style of focused element's outer shadow. + */ + --ck-focus-outer-shadow: var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-outer-shadow); + + /** + * A visual style of focused element's outer shadow (when disabled). + */ + --ck-focus-disabled-outer-shadow: var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-disabled-shadow); + + /** + * A visual style of focused element's outer shadow (when has errors). + */ + --ck-focus-error-outer-shadow: var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-error-shadow); + + /** + * A visual style of focused element's border or outline. + */ + --ck-focus-ring: 1px solid var(--ck-color-focus-border); +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +:root { + --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; +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +:root { + /* This is super-important. This is **manually** adjusted so a button without an icon + is never smaller than a button with icon, additionally making sure that text-less buttons + are perfect squares. The value is also shared by other components which should stay "in-line" + with buttons. */ + --ck-ui-component-min-height: 2.3em; +} + +/** + * Resets an element, ignoring its children. + */ +.ck.ck-reset, +.ck.ck-reset_all, +.ck-reset_all *:not(.ck-reset_all-excluded *) { + /* Do not include inheritable rules here. */ + margin: 0; + padding: 0; + border: 0; + background: transparent; + text-decoration: none; + vertical-align: middle; + transition: none; + + /* https://github.com/ckeditor/ckeditor5-theme-lark/issues/105 */ + word-wrap: break-word; +} + +/** + * Resets an element AND its children. + */ +.ck.ck-reset_all, +.ck-reset_all *:not(.ck-reset_all-excluded *) { + /* These are rule inherited by all children elements. */ + border-collapse: collapse; + font: normal normal normal var(--ck-font-size-base)/var(--ck-line-height-base) var(--ck-font-face); + color: var(--ck-color-text); + text-align: left; + white-space: nowrap; + cursor: auto; + float: none; +} + +.ck-reset_all { + & .ck-rtl *:not(.ck-reset_all-excluded *) { + text-align: right; + } + + & iframe:not(.ck-reset_all-excluded *) { + /* For IE */ + vertical-align: inherit; + } + + & textarea:not(.ck-reset_all-excluded *) { + white-space: pre-wrap; + } + + & textarea:not(.ck-reset_all-excluded *), + & input[type="text"]:not(.ck-reset_all-excluded *), + & input[type="password"]:not(.ck-reset_all-excluded *) { + cursor: text; + } + + & textarea[disabled]:not(.ck-reset_all-excluded *), + & input[type="text"][disabled]:not(.ck-reset_all-excluded *), + & input[type="password"][disabled]:not(.ck-reset_all-excluded *) { + cursor: default; + } + + & fieldset:not(.ck-reset_all-excluded *) { + padding: 10px; + border: 2px groove hsl(255, 7%, 88%); + } + + & button:not(.ck-reset_all-excluded *)::-moz-focus-inner { + /* See http://stackoverflow.com/questions/5517744/remove-extra-button-spacing-padding-in-firefox */ + padding: 0; + border: 0 + } +} + +/** + * Default UI rules for RTL languages. + */ +.ck[dir="rtl"], +.ck[dir="rtl"] .ck { + text-align: right; +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * Default border-radius value. + */ +:root{ + --ck-border-radius: 2px; +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +:root { + /** + * A visual style of element's inner shadow (i.e. input). + */ + --ck-inner-shadow: 2px 2px 3px var(--ck-color-shadow-inner) inset; + + /** + * A visual style of element's drop shadow (i.e. panel). + */ + --ck-drop-shadow: 0 1px 2px 1px var(--ck-color-shadow-drop); + + /** + * A visual style of element's active shadow (i.e. comment or suggestion). + */ + --ck-drop-shadow-active: 0 3px 6px 1px var(--ck-color-shadow-drop-active); +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +:root { + --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); +} +`],sourceRoot:""}]);const m=g},7153:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.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))}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-widget/theme/widget.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-widget/widget.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_focus.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css"],names:[],mappings:"AAKA,MACC,+CAAgD,CAChD,6CAAsD,CACtD,uCAAgD,CAEhD,kDAAmD,CACnD,gCAAiC,CACjC,kEACD,CAOA,8DAEC,iBAqBD,CAnBC,4EACC,iBAOD,CALC,qFAGC,aACD,CASD,iLACC,kBACD,CAGD,kBACC,qDAAsD,CAEtD,qDAAsD,CACtD,6CAA8C,CAF9C,0CAA2C,CAI3C,aAAc,CADd,kCAAmC,CAGnC,uCAAwC,CACxC,4CAA6C,CAF7C,iCAsCD,CAlCC,8NAKC,iBACD,CAEA,0CAEC,qCAAsC,CADtC,oCAED,CAEA,2CAEC,sCAAuC,CADvC,oCAED,CAEA,8CACC,uCAAwC,CACxC,sCACD,CAEA,6CACC,uCAAwC,CACxC,qCACD,CAGA,8CAEC,QAAS,CADT,6CAAgD,CAEhD,yBACD,CCjFD,MACC,iCAAkC,CAClC,kCAAmC,CACnC,4CAA6C,CAC7C,wCAAyC,CAEzC,wCAAiD,CACjD,sCAAkD,CAClD,2EAA4E,CAC5E,yEACD,CAEA,eAGC,yBAA0B,CAD1B,mBAAoB,CADpB,gDAAiD,CAGjD,6GAUD,CARC,0EAEC,6EACD,CAEA,qBACC,iDACD,CAGD,gCACC,4BAWD,CAPC,yGAKC,iEAAkE,CCnCnE,2BAA2B,CCF3B,qCAA8B,CDC9B,YDqCA,CAIA,4EAKC,4BAA6B,CAa7B,iEAAkE,CAhBlE,qBAAsB,CAoBtB,mDAAoD,CAhBpD,SAAU,CALV,WAAY,CAsBZ,KAAM,CAFN,2BAA4B,CAT5B,6SAgCD,CAnBC,qFAIC,oDAAqD,CADrD,yCAA0C,CAD1C,wCAWD,CANC,kHACC,SAAU,CAGV,+DACD,CAID,wHACC,SACD,CAID,kFAEC,oDAAqD,CADrD,SAED,CAKC,oMAEC,6CAA8C,CAD9C,SAOD,CAHC,gRACC,SACD,CAOH,qFACC,SAAU,CACV,oDACD,CAGA,gDAEC,eAkBD,CAhBC,yEAOC,iCACD,CAGC,gOAEC,gDACD,CAOD,wIAEC,mDAQD,CALE,ghBAEC,gDACD,CAKH,yKAOC,yDACD",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +:root { + --ck-color-resizer: var(--ck-color-focus-border); + --ck-color-resizer-tooltip-background: hsl(0, 0%, 15%); + --ck-color-resizer-tooltip-text: hsl(0, 0%, 95%); + + --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 { + /* This is neccessary for type around UI to be positioned properly. */ + position: relative; +} + +.ck .ck-widget.ck-widget_with-selection-handle { + /* Make the widget wrapper a relative positioning container for the drag handle. */ + position: relative; + + & .ck-widget__selection-handle { + position: absolute; + + & .ck-icon { + /* Make sure the icon in not a subject to font-size or line-height to avoid + unnecessary spacing around it. */ + display: block; + } + } + + /* Show the selection handle on mouse hover over the widget, but not for nested widgets. */ + &:hover > .ck-widget__selection-handle { + visibility: visible; + } + + /* Show the selection handle when the widget is selected, but not for nested widgets. */ + &.ck-widget_selected > .ck-widget__selection-handle { + visibility: visible; + } +} + +.ck .ck-size-view { + background: var(--ck-color-resizer-tooltip-background); + color: var(--ck-color-resizer-tooltip-text); + border: 1px solid var(--ck-color-resizer-tooltip-text); + border-radius: var(--ck-resizer-border-radius); + font-size: var(--ck-font-size-tiny); + display: block; + padding: 0 var(--ck-spacing-small); + height: var(--ck-resizer-tooltip-height); + line-height: var(--ck-resizer-tooltip-height); + + &.ck-orientation-top-left, + &.ck-orientation-top-right, + &.ck-orientation-bottom-right, + &.ck-orientation-bottom-left, + &.ck-orientation-above-center { + position: absolute; + } + + &.ck-orientation-top-left { + top: var(--ck-resizer-tooltip-offset); + left: var(--ck-resizer-tooltip-offset); + } + + &.ck-orientation-top-right { + top: var(--ck-resizer-tooltip-offset); + right: var(--ck-resizer-tooltip-offset); + } + + &.ck-orientation-bottom-right { + bottom: var(--ck-resizer-tooltip-offset); + right: var(--ck-resizer-tooltip-offset); + } + + &.ck-orientation-bottom-left { + bottom: var(--ck-resizer-tooltip-offset); + left: var(--ck-resizer-tooltip-offset); + } + + /* Class applied if the widget is too small to contain the size label */ + &.ck-orientation-above-center { + top: calc(var(--ck-resizer-tooltip-height) * -1); + left: 50%; + transform: translate(-50%); + } +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +@import "../mixins/_focus.css"; +@import "../mixins/_shadow.css"; + +: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: hsl(0, 0%, 87%); + --ck-color-widget-hover-border: hsl(43, 100%, 62%); + --ck-color-widget-editable-focus-background: var(--ck-color-base-background); + --ck-color-widget-drag-handler-icon-color: var(--ck-color-base-background); +} + +.ck .ck-widget { + outline-width: var(--ck-widget-outline-thickness); + outline-style: solid; + outline-color: transparent; + transition: outline-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve); + + &.ck-widget_selected, + &.ck-widget_selected:hover { + outline: var(--ck-widget-outline-thickness) solid var(--ck-color-focus-border); + } + + &:hover { + outline-color: var(--ck-color-widget-hover-border); + } +} + +.ck .ck-editor__nested-editable { + border: 1px solid transparent; + + /* The :focus style is applied before .ck-editor__nested-editable_focused class is rendered in the view. + These styles show a different border for a blink of an eye, so \`:focus\` need to have same styles applied. */ + &.ck-editor__nested-editable_focused, + &:focus { + @mixin ck-focus-ring; + @mixin ck-box-shadow var(--ck-inner-shadow); + + background-color: var(--ck-color-widget-editable-focus-background); + } +} + +.ck .ck-widget.ck-widget_with-selection-handle { + & .ck-widget__selection-handle { + padding: 4px; + box-sizing: border-box; + + /* Background and opacity will be animated as the handler shows up or the widget gets selected. */ + background-color: transparent; + opacity: 0; + + /* Transition: + * background-color for the .ck-widget_selected state change, + * visibility for hiding the handler, + * opacity for the proper look of the icon when the handler disappears. */ + 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); + + /* Make only top corners round. */ + border-radius: var(--ck-border-radius) var(--ck-border-radius) 0 0; + + /* Place the drag handler outside the widget wrapper. */ + transform: translateY(-100%); + left: calc(0px - var(--ck-widget-outline-thickness)); + top: 0; + + & .ck-icon { + /* Make sure the dimensions of the icon are independent of the fon-size of the content. */ + width: var(--ck-widget-handler-icon-size); + height: var(--ck-widget-handler-icon-size); + color: var(--ck-color-widget-drag-handler-icon-color); + + /* The "selected" part of the icon is invisible by default */ + & .ck-icon__selected-indicator { + opacity: 0; + + /* Note: The animation is longer on purpose. Simply feels better. */ + transition: opacity 300ms var(--ck-widget-handler-animation-curve); + } + } + + /* Advertise using the look of the icon that once clicked the handler, the widget will be selected. */ + &:hover .ck-icon .ck-icon__selected-indicator { + opacity: 1; + } + } + + /* Show the selection handler on mouse hover over the widget, but not for nested widgets. */ + &:hover > .ck-widget__selection-handle { + opacity: 1; + background-color: var(--ck-color-widget-hover-border); + } + + /* Show the selection handler when the widget is selected, but not for nested widgets. */ + &.ck-widget_selected, + &.ck-widget_selected:hover { + & > .ck-widget__selection-handle { + opacity: 1; + background-color: var(--ck-color-focus-border); + + /* When the widget is selected, notify the user using the proper look of the icon. */ + & .ck-icon .ck-icon__selected-indicator { + opacity: 1; + } + } + } +} + +/* In a RTL environment, align the selection handler to the right side of the widget */ +/* stylelint-disable-next-line no-descending-specificity */ +.ck[dir="rtl"] .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle { + left: auto; + right: calc(0px - var(--ck-widget-outline-thickness)); +} + +/* https://github.com/ckeditor/ckeditor5/issues/6415 */ +.ck.ck-editor__editable.ck-read-only .ck-widget { + /* Prevent the :hover outline from showing up because of the used outline-color transition. */ + transition: none; + + &:not(.ck-widget_selected) { + /* Disable visual effects of hover/active widget when CKEditor is in readOnly mode. + * See: https://github.com/ckeditor/ckeditor5/issues/1261 + * + * Leave the unit because this custom property is used in calc() by other features. + * See: https://github.com/ckeditor/ckeditor5/issues/6775 + */ + --ck-widget-outline-thickness: 0px; + } + + &.ck-widget_with-selection-handle { + & .ck-widget__selection-handle, + & .ck-widget__selection-handle:hover { + background: var(--ck-color-widget-blurred-border); + } + } +} + +/* Style the widget when it's selected but the editable it belongs to lost focus. */ +/* stylelint-disable-next-line no-descending-specificity */ +.ck.ck-editor__editable.ck-blurred .ck-widget { + &.ck-widget_selected, + &.ck-widget_selected:hover { + outline-color: var(--ck-color-widget-blurred-border); + + &.ck-widget_with-selection-handle { + & > .ck-widget__selection-handle, + & > .ck-widget__selection-handle:hover { + background: var(--ck-color-widget-blurred-border); + } + } + } +} + +.ck.ck-editor__editable > .ck-widget.ck-widget_with-selection-handle:first-child, +.ck.ck-editor__editable blockquote > .ck-widget.ck-widget_with-selection-handle:first-child { + /* Do not crop selection handler if a widget is a first-child in the blockquote or in the root editable. + In fact, anything with overflow: hidden. + https://github.com/ckeditor/ckeditor5-block-quote/issues/28 + https://github.com/ckeditor/ckeditor5-widget/issues/44 + https://github.com/ckeditor/ckeditor5-widget/issues/66 */ + margin-top: calc(1em + var(--ck-widget-handler-icon-size)); +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * A visual style of focused element's border. + */ +@define-mixin ck-focus-ring { + /* Disable native outline. */ + outline: none; + border: var(--ck-focus-ring) +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/** + * A helper to combine multiple shadows. + */ +@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 { + box-shadow: $shadowA, $shadowB; +} + +/** + * Gives an element a drop shadow so it looks like a floating panel. + */ +@define-mixin ck-drop-shadow { + @mixin ck-box-shadow var(--ck-drop-shadow); +} +`],sourceRoot:""}]);const m=g},4875:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.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)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-widget/theme/widgetresize.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-widget/widgetresize.css"],names:[],mappings:"AAKA,4BAEC,iBACD,CAEA,wBACC,YAAa,CAMb,MAAO,CAFP,mBAAoB,CAHpB,iBAAkB,CAMlB,KACD,CAGC,2EACC,aACD,CAGD,gCAIC,kBAAmB,CAHnB,iBAcD,CATC,4IAEC,kBACD,CAEA,4IAEC,kBACD,CCpCD,MACC,sBAAuB,CAGvB,yDAAiE,CACjE,6BACD,CAEA,wBACC,yCACD,CAEA,gCAGC,uCAAwC,CACxC,gDAA6D,CAC7D,6CAA8C,CAH9C,6BAA8B,CAD9B,4BAyBD,CAnBC,oEAEC,6BAA8B,CAD9B,4BAED,CAEA,qEAEC,8BAA+B,CAD/B,4BAED,CAEA,wEACC,+BAAgC,CAChC,8BACD,CAEA,uEACC,+BAAgC,CAChC,6BACD",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck .ck-widget_with-resizer { + /* Make the widget wrapper a relative positioning container for the drag handle. */ + position: relative; +} + +.ck .ck-widget__resizer { + display: none; + position: absolute; + + /* The wrapper itself should not interfere with the pointer device, only the handles should. */ + pointer-events: none; + + left: 0; + top: 0; +} + +.ck-focused .ck-widget_with-resizer.ck-widget_selected { + & > .ck-widget__resizer { + display: block; + } +} + +.ck .ck-widget__resizer__handle { + position: absolute; + + /* Resizers are the only UI elements that should interfere with a pointer device. */ + pointer-events: all; + + &.ck-widget__resizer__handle-top-left, + &.ck-widget__resizer__handle-bottom-right { + cursor: nwse-resize; + } + + &.ck-widget__resizer__handle-top-right, + &.ck-widget__resizer__handle-bottom-left { + cursor: nesw-resize; + } +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +:root { + --ck-resizer-size: 10px; + + /* Set the resizer with a 50% offset. */ + --ck-resizer-offset: calc( ( var(--ck-resizer-size) / -2 ) - 2px); + --ck-resizer-border-width: 1px; +} + +.ck .ck-widget__resizer { + outline: 1px solid var(--ck-color-resizer); +} + +.ck .ck-widget__resizer__handle { + width: var(--ck-resizer-size); + height: var(--ck-resizer-size); + background: var(--ck-color-focus-border); + border: var(--ck-resizer-border-width) solid hsl(0, 0%, 100%); + border-radius: var(--ck-resizer-border-radius); + + &.ck-widget__resizer__handle-top-left { + top: var(--ck-resizer-offset); + left: var(--ck-resizer-offset); + } + + &.ck-widget__resizer__handle-top-right { + top: var(--ck-resizer-offset); + right: var(--ck-resizer-offset); + } + + &.ck-widget__resizer__handle-bottom-right { + bottom: var(--ck-resizer-offset); + right: var(--ck-resizer-offset); + } + + &.ck-widget__resizer__handle-bottom-left { + bottom: var(--ck-resizer-offset); + left: var(--ck-resizer-offset); + } +} +`],sourceRoot:""}]);const m=g},2347:(C,x,h)=>{h.d(x,{Z:()=>m});var v=h(4015),E=h.n(v),k=h(3645),D=h.n(k),g=D()(E());g.push([C.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}}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-widget/theme/widgettypearound.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-widget/widgettypearound.css"],names:[],mappings:"AASC,+CACC,aAAc,CAEd,eAAgB,CADhB,iBAAkB,CAElB,2BAwBD,CAtBC,mDAGC,QAAS,CAFT,iBAAkB,CAClB,OAAQ,CAER,qCACD,CAEA,qFAGC,kBAAoB,CADpB,gDAAoD,CAGpD,0BACD,CAEA,oFAEC,mDAAuD,CACvD,mBAAqB,CAErB,yBACD,CAUA,mLACC,UAAW,CACX,aAAc,CAGd,QAAS,CAFT,iBAAkB,CAClB,OAAQ,CAER,qCACD,CAMD,2EACC,YAAa,CAEb,MAAO,CADP,iBAAkB,CAElB,OACD,CAOA,iFACC,gDAAqD,CACrD,iDACD,CAKA,wHAEC,aAAc,CADd,qDAED,CAKA,uHACC,wDAA6D,CAC7D,aACD,CAoBD,mOACC,YACD,CC3GA,MACC,wCAAyC,CACzC,wEAAyE,CACzE,8EAA+E,CAC/E,2FAA4F,CAC5F,wDAAyD,CACzD,uDAAwD,CACxD,yEACD,CAgBC,+CAGC,oDAAqD,CACrD,mBAAoB,CAFpB,+CAAgD,CAVjD,SAAU,CACV,mBAAoB,CAYnB,uMAAyM,CAJzM,8CAkDD,CA1CC,mDAEC,UAAW,CAGX,cAAe,CAFf,8BAA+B,CAC/B,6BAA8B,CAH9B,UAoBD,CAdC,qDACC,mBAAoB,CACpB,mBAAoB,CAEpB,SAAU,CACV,qDAAsD,CACtD,kBAAmB,CACnB,oBAAqB,CACrB,qBACD,CAEA,wDACC,kBACD,CAGD,qDAIC,6DAcD,CARE,kEACC,oDACD,CAEA,8DACC,wDACD,CAUF,uKAvED,SAAU,CACV,mBAwEC,CAOD,gGACC,0DACD,CAOA,uKAEC,2DAQD,CANC,mLAIC,uEAAkF,CADlF,mBAAoB,CADpB,2DAA4D,CAD5D,0DAID,CAOD,8GACC,gBACD,CAKA,mDAGC,mFAAoF,CAOpF,oCAAqC,CARrC,UAAW,CAOX,oCAAwC,CARxC,mBAUD,CAOC,6JAEC,yBACD,CAUA,yKACC,iDACD,CAMA,uOAlJD,SAAU,CACV,mBAmJC,CAoBA,6yBACC,SACD,CASF,uHACC,aAAc,CACd,iBACD,CAYG,iRAlMF,SAAU,CACV,mBAmME,CAQH,kIACC,qEAKD,CAHC,wIACC,WACD,CAGD,4CACC,GACC,oBACD,CACA,OACC,mBACD,CACD,CAEA,gDACC,OACC,mBACD,CACA,OACC,mBACD,CACD,CAEA,8CACC,GACC,6HACD,CACA,IACC,6HACD,CACA,GACC,+HACD,CACD,CAEA,kDACC,GACC,SACD,CACA,IACC,SACD,CACA,IACC,SACD,CACA,IACC,SACD,CACA,GACC,SACD,CACD",sourcesContent:[`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.ck .ck-widget { + /* + * Styles of the type around buttons + */ + & .ck-widget__type-around__button { + display: block; + position: absolute; + overflow: hidden; + z-index: var(--ck-z-default); + + & svg { + position: absolute; + top: 50%; + left: 50%; + z-index: calc(var(--ck-z-default) + 2); + } + + &.ck-widget__type-around__button_before { + /* Place it in the middle of the outline */ + top: calc(-0.5 * var(--ck-widget-outline-thickness)); + left: min(10%, 30px); + + transform: translateY(-50%); + } + + &.ck-widget__type-around__button_after { + /* Place it in the middle of the outline */ + bottom: calc(-0.5 * var(--ck-widget-outline-thickness)); + right: min(10%, 30px); + + transform: translateY(50%); + } + } + + /* + * Styles for the buttons when: + * - the widget is selected, + * - or the button is being hovered (regardless of the widget state). + */ + &.ck-widget_selected > .ck-widget__type-around > .ck-widget__type-around__button, + & > .ck-widget__type-around > .ck-widget__type-around__button:hover { + &::after { + content: ""; + display: block; + position: absolute; + top: 1px; + left: 1px; + z-index: calc(var(--ck-z-default) + 1); + } + } + + /* + * Styles for the horizontal "fake caret" which is displayed when the user navigates using the keyboard. + */ + & > .ck-widget__type-around > .ck-widget__type-around__fake-caret { + display: none; + position: absolute; + left: 0; + right: 0; + } + + /* + * When the widget is hovered the "fake caret" would normally be narrower than the + * extra outline displayed around the widget. Let's extend the "fake caret" to match + * the full width of the widget. + */ + &:hover > .ck-widget__type-around > .ck-widget__type-around__fake-caret { + left: calc( -1 * var(--ck-widget-outline-thickness) ); + right: calc( -1 * var(--ck-widget-outline-thickness) ); + } + + /* + * Styles for the horizontal "fake caret" when it should be displayed before the widget (backward keyboard navigation). + */ + &.ck-widget_type-around_show-fake-caret_before > .ck-widget__type-around > .ck-widget__type-around__fake-caret { + top: calc( -1 * var(--ck-widget-outline-thickness) - 1px ); + display: block; + } + + /* + * Styles for the horizontal "fake caret" when it should be displayed after the widget (forward keyboard navigation). + */ + &.ck-widget_type-around_show-fake-caret_after > .ck-widget__type-around > .ck-widget__type-around__fake-caret { + bottom: calc( -1 * var(--ck-widget-outline-thickness) - 1px ); + display: block; + } +} + +/* + * Integration with the read-only mode of the editor. + */ +.ck.ck-editor__editable.ck-read-only .ck-widget__type-around { + display: none; +} + +/* + * Integration with the restricted editing mode (feature) of the editor. + */ +.ck.ck-editor__editable.ck-restricted-editing_mode_restricted .ck-widget__type-around { + display: none; +} + +/* + * Integration with the #isEnabled property of the WidgetTypeAround plugin. + */ +.ck.ck-editor__editable.ck-widget__type-around_disabled .ck-widget__type-around { + display: none; +} +`,`/* + * Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +: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); +} + +@define-mixin ck-widget-type-around-button-visible { + opacity: 1; + pointer-events: auto; +} + +@define-mixin ck-widget-type-around-button-hidden { + opacity: 0; + pointer-events: none; +} + +.ck .ck-widget { + /* + * Styles of the type around buttons + */ + & .ck-widget__type-around__button { + width: var(--ck-widget-type-around-button-size); + height: var(--ck-widget-type-around-button-size); + background: var(--ck-color-widget-type-around-button); + border-radius: 100px; + transition: opacity var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve), background var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve); + + @mixin ck-widget-type-around-button-hidden; + + & svg { + width: 10px; + height: 8px; + transform: translate(-50%,-50%); + transition: transform .5s ease; + margin-top: 1px; + + & * { + 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; + } + + & line { + stroke-dasharray: 7; + } + } + + &:hover { + /* + * Display the "sonar" around the button when hovered. + */ + animation: ck-widget-type-around-button-sonar 1s ease infinite; + + /* + * Animate active button's icon. + */ + & svg { + & polyline { + animation: ck-widget-type-around-arrow-dash 2s linear; + } + + & line { + animation: ck-widget-type-around-arrow-tip-dash 2s linear; + } + } + } + } + + /* + * Show type around buttons when the widget gets selected or being hovered. + */ + &.ck-widget_selected, + &:hover { + & > .ck-widget__type-around > .ck-widget__type-around__button { + @mixin ck-widget-type-around-button-visible; + } + } + + /* + * Styles for the buttons when the widget is NOT selected (but the buttons are visible + * and still can be hovered). + */ + &:not(.ck-widget_selected) > .ck-widget__type-around > .ck-widget__type-around__button { + background: var(--ck-color-widget-type-around-button-hover); + } + + /* + * Styles for the buttons when: + * - the widget is selected, + * - or the button is being hovered (regardless of the widget state). + */ + &.ck-widget_selected > .ck-widget__type-around > .ck-widget__type-around__button, + & > .ck-widget__type-around > .ck-widget__type-around__button:hover { + background: var(--ck-color-widget-type-around-button-active); + + &::after { + width: calc(var(--ck-widget-type-around-button-size) - 2px); + height: calc(var(--ck-widget-type-around-button-size) - 2px); + border-radius: 100px; + background: linear-gradient(135deg, hsla(0,0%,100%,0) 0%, hsla(0,0%,100%,.3) 100%); + } + } + + /* + * Styles for the "before" button when the widget has a selection handle. Because some space + * is consumed by the handle, the button must be moved slightly to the right to let it breathe. + */ + &.ck-widget_with-selection-handle > .ck-widget__type-around > .ck-widget__type-around__button_before { + margin-left: 20px; + } + + /* + * Styles for the horizontal "fake caret" which is displayed when the user navigates using the keyboard. + */ + & .ck-widget__type-around__fake-caret { + pointer-events: none; + height: 1px; + animation: ck-widget-type-around-fake-caret-pulse linear 1s infinite normal forwards; + + /* + * The semi-transparent-outline+background combo improves the contrast + * when the background underneath the fake caret is dark. + */ + outline: solid 1px hsla(0, 0%, 100%, .5); + background: var(--ck-color-base-text); + } + + /* + * Styles of the widget when the "fake caret" is blinking (e.g. upon keyboard navigation). + * Despite the widget being physically selected in the model, its outline should disappear. + */ + &.ck-widget_selected { + &.ck-widget_type-around_show-fake-caret_before, + &.ck-widget_type-around_show-fake-caret_after { + outline-color: transparent; + } + } + + &.ck-widget_type-around_show-fake-caret_before, + &.ck-widget_type-around_show-fake-caret_after { + /* + * When the "fake caret" is visible we simulate that the widget is not selected + * (despite being physically selected), so the outline color should be for the + * unselected widget. + */ + &.ck-widget_selected:hover { + outline-color: var(--ck-color-widget-hover-border); + } + + /* + * Styles of the type around buttons when the "fake caret" is blinking (e.g. upon keyboard navigation). + * In this state, the type around buttons would collide with the fake carets so they should disappear. + */ + & > .ck-widget__type-around > .ck-widget__type-around__button { + @mixin ck-widget-type-around-button-hidden; + } + + /* + * Fake horizontal caret integration with the selection handle. When the caret is visible, simply + * hide the handle because it intersects with the caret (and does not make much sense anyway). + */ + &.ck-widget_with-selection-handle { + &.ck-widget_selected, + &.ck-widget_selected:hover { + & > .ck-widget__selection-handle { + opacity: 0 + } + } + } + + /* + * Fake horizontal caret integration with the resize UI. When the caret is visible, simply + * hide the resize UI because it creates too much noise. It can be visible when the user + * hovers the widget, though. + */ + &.ck-widget_selected.ck-widget_with-resizer > .ck-widget__resizer { + opacity: 0 + } + } +} + +/* + * Styles for the "before" button when the widget has a selection handle in an RTL environment. + * The selection handler is aligned to the right side of the widget so there is no need to create + * additional space for it next to the "before" button. + */ +.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; +} + +/* + * Hide type around buttons when the widget is selected as a child of a selected + * nested editable (e.g. mulit-cell table selection). + * + * See https://github.com/ckeditor/ckeditor5/issues/7263. + */ +.ck-editor__nested-editable.ck-editor__editable_selected { + & .ck-widget { + &.ck-widget_selected, + &:hover { + & > .ck-widget__type-around > .ck-widget__type-around__button { + @mixin ck-widget-type-around-button-hidden; + } + } + } +} + +/* + * Styles for the buttons when the widget is selected but the user clicked outside of the editor (blurred the editor). + */ +.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); + + & svg * { + stroke: hsl(0,0%,60%); + } +} + +@keyframes ck-widget-type-around-arrow-dash { + 0% { + stroke-dashoffset: 10; + } + 20%, 100% { + stroke-dashoffset: 0; + } +} + +@keyframes ck-widget-type-around-arrow-tip-dash { + 0%, 20% { + stroke-dashoffset: 7; + } + 40%, 100% { + 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)); + } + 100% { + 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; + } + 100% { + opacity: 1; + } +} +`],sourceRoot:""}]);const m=g},3645:C=>{C.exports=function(x){var h=[];return h.toString=function(){return this.map(function(E){var k=x(E);return E[2]?"@media ".concat(E[2]," {").concat(k,"}"):k}).join("")},h.i=function(v,E,k){typeof v=="string"&&(v=[[null,v,""]]);var D={};if(k)for(var g=0;g{function x(g,m){return D(g)||k(g,m)||v(g,m)||h()}function h(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function v(g,m){if(g){if(typeof g=="string")return E(g,m);var A=Object.prototype.toString.call(g).slice(8,-1);if(A==="Object"&&g.constructor&&(A=g.constructor.name),A==="Map"||A==="Set")return Array.from(g);if(A==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(A))return E(g,m)}}function E(g,m){(m==null||m>g.length)&&(m=g.length);for(var A=0,_=new Array(m);A{var v=function(){var q;return function(){return typeof q>"u"&&(q=!!(window&&document&&document.all&&!window.atob)),q}}(),E=function(){var q={};return function(ot){if(typeof q[ot]>"u"){var rt=document.querySelector(ot);if(window.HTMLIFrameElement&&rt instanceof window.HTMLIFrameElement)try{rt=rt.contentDocument.head}catch{rt=null}q[ot]=rt}return q[ot]}}(),k=[];function D(j){for(var q=-1,$=0;$"u"){var ot=h.nc;ot&&($.nonce=ot)}if(Object.keys($).forEach(function(At){q.setAttribute(At,$[At])}),typeof j.insert=="function")j.insert(q);else{var rt=E(j.insert||"head");if(!rt)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");rt.appendChild(q)}return q}function A(j){if(j.parentNode===null)return!1;j.parentNode.removeChild(j)}var _=function(){var q=[];return function(ot,rt){return q[ot]=rt,q.filter(Boolean).join(` +`)}}();function y(j,q,$,ot){var rt=$?"":ot.media?"@media ".concat(ot.media," {").concat(ot.css,"}"):ot.css;if(j.styleSheet)j.styleSheet.cssText=_(q,rt);else{var At=document.createTextNode(rt),It=j.childNodes;It[q]&&j.removeChild(It[q]),It.length?j.insertBefore(At,It[q]):j.appendChild(At)}}function I(j,q,$){var ot=$.css,rt=$.media,At=$.sourceMap;if(rt?j.setAttribute("media",rt):j.removeAttribute("media"),At&&typeof btoa<"u"&&(ot+=` +/*# sourceMappingURL=data:application/json;base64,`.concat(btoa(unescape(encodeURIComponent(JSON.stringify(At))))," */")),j.styleSheet)j.styleSheet.cssText=ot;else{for(;j.firstChild;)j.removeChild(j.firstChild);j.appendChild(document.createTextNode(ot))}}var B=null,F=0;function W(j,q){var $,ot,rt;if(q.singleton){var At=F++;$=B||(B=m(q)),ot=y.bind(null,$,At,!1),rt=y.bind(null,$,At,!0)}else $=m(q),ot=I.bind(null,$,q),rt=function(){A($)};return ot(j),function(ee){if(ee){if(ee.css===j.css&&ee.media===j.media&&ee.sourceMap===j.sourceMap)return;ot(j=ee)}else rt()}}C.exports=function(j,q){q=q||{},!q.singleton&&typeof q.singleton!="boolean"&&(q.singleton=v()),j=j||[];var $=g(j,q);return function(rt){if(rt=rt||[],Object.prototype.toString.call(rt)==="[object Array]"){for(var At=0;At<$.length;At++){var It=$[At],ee=D(It);k[ee].references--}for(var Oe=g(rt,q),zt=0;zt<$.length;zt++){var xt=$[zt],Vt=D(xt);k[Vt].references===0&&(k[Vt].updater(),k.splice(Vt,1))}$=Oe}}}}},$e={};function P(C){var x=$e[C];if(x!==void 0)return x.exports;var h=$e[C]={id:C,exports:{}};return Kn[C](h,h.exports,P),h.exports}P.n=C=>{var x=C&&C.__esModule?()=>C.default:()=>C;return P.d(x,{a:x}),x},P.d=(C,x)=>{for(var h in x)P.o(x,h)&&!P.o(C,h)&&Object.defineProperty(C,h,{enumerable:!0,get:x[h]})},P.o=(C,x)=>Object.prototype.hasOwnProperty.call(C,x),P.nc=void 0;var Fo={};return(()=>{P.d(Fo,{default:()=>wN});function C({emitter:o,activator:t,callback:e,contextElements:n}){o.listenTo(document,"mousedown",(i,r)=>{if(!t())return;const s=typeof r.composedPath=="function"?r.composedPath():[],a=typeof n=="function"?n():n;for(const c of a)if(c.contains(r.target)||s.includes(c))return;e()})}function x(o){class t extends o{disableCssTransitions(){this._isCssTransitionsDisabled=!0}enableCssTransitions(){this._isCssTransitionsDisabled=!1}constructor(...n){super(...n),this.set("_isCssTransitionsDisabled",!1),this.initializeCssTransitionDisablerMixin()}initializeCssTransitionDisablerMixin(){this.extendTemplate({attributes:{class:[this.bindTemplate.if("_isCssTransitionsDisabled","ck-transitions-disabled")]}})}}return t}function h({view:o}){o.listenTo(o.element,"submit",(t,e)=>{e.preventDefault(),o.fire("submit")},{useCapture:!0})}function v({keystrokeHandler:o,focusTracker:t,gridItems:e,numberOfColumns:n,uiLanguageDirection:i}){const r=typeof n=="number"?()=>n:n;o.set("arrowright",s((l,d)=>i==="rtl"?c(l,d.length):a(l,d.length))),o.set("arrowleft",s((l,d)=>i==="rtl"?a(l,d.length):c(l,d.length))),o.set("arrowup",s((l,d)=>{let u=l-r();return u<0&&(u=l+r()*Math.floor(d.length/r()),u>d.length-1&&(u-=r())),u})),o.set("arrowdown",s((l,d)=>{let u=l+r();return u>d.length-1&&(u=l%r()),u}));function s(l){return d=>{const u=e.find(w=>w.element===t.focusedElement),f=e.getIndex(u),p=l(f,e);e.get(p).focus(),d.stopPropagation(),d.preventDefault()}}function a(l,d){return l===d-1?0:l+1}function c(l,d){return l===0?d-1:l-1}}function E(){try{return navigator.userAgent.toLowerCase()}catch{return""}}const k=E(),g={isMac:m(k),isWindows:A(k),isGecko:_(k),isSafari:y(k),isiOS:I(k),isAndroid:B(k),isBlink:F(k),features:{isRegExpUnicodePropertySupported:W()}};function m(o){return o.indexOf("macintosh")>-1}function A(o){return o.indexOf("windows")>-1}function _(o){return!!o.match(/gecko\/\d+/)}function y(o){return o.indexOf(" applewebkit/")>-1&&o.indexOf("chrome")===-1}function I(o){return!!o.match(/iphone|ipad/i)||m(o)&&navigator.maxTouchPoints>0}function B(o){return o.indexOf("android")>-1}function F(o){return o.indexOf("chrome/")>-1&&o.indexOf("edge/")<0}function W(){let o=!1;try{o="ć".search(new RegExp("[\\p{L}]","u"))===0}catch{}return o}function j(o,t,e,n){e=e||function(c,l){return c===l};const i=Array.isArray(o)?o:Array.prototype.slice.call(o),r=Array.isArray(t)?t:Array.prototype.slice.call(t),s=q(i,r,e);return n?At(s,r.length):rt(r,s)}function q(o,t,e){const n=$(o,t,e);if(n===-1)return{firstIndex:-1,lastIndexOld:-1,lastIndexNew:-1};const i=ot(o,n),r=ot(t,n),s=$(i,r,e),a=o.length-s,c=t.length-s;return{firstIndex:n,lastIndexOld:a,lastIndexNew:c}}function $(o,t,e){for(let n=0;n0&&e.push({index:n,type:"insert",values:o.slice(n,r)}),i-n>0&&e.push({index:n+(r-n),type:"delete",howMany:i-n}),e}function At(o,t){const{firstIndex:e,lastIndexOld:n,lastIndexNew:i}=o;if(e===-1)return Array(t).fill("equal");let r=[];return e>0&&(r=r.concat(Array(e).fill("equal"))),i-e>0&&(r=r.concat(Array(i-e).fill("insert"))),n-e>0&&(r=r.concat(Array(n-e).fill("delete"))),i200||i>200||n+i>300)return It.fastDiff(o,t,e,!0);let r,s;if(iz?-1:1;d[S+V]&&(d[S]=d[S+V].slice(0)),d[S]||(d[S]=[]),d[S].push(M>z?r:s);let tt=Math.max(M,z),ct=tt-S;for(;ctl;w--)u[w]=f(w);u[l]=f(l),p++}while(u[l]!==c);return d[l].slice(1)}It.fastDiff=j;function ee(){return function o(){o.called=!0}}const Oe=ee;class zt{constructor(t,e){this.source=t,this.name=e,this.path=[],this.stop=Oe(),this.off=Oe()}}const xt=new Array(256).fill("").map((o,t)=>("0"+t.toString(16)).slice(-2));function Vt(){const o=Math.random()*4294967296>>>0,t=Math.random()*4294967296>>>0,e=Math.random()*4294967296>>>0,n=Math.random()*4294967296>>>0;return"e"+xt[o>>0&255]+xt[o>>8&255]+xt[o>>16&255]+xt[o>>24&255]+xt[t>>0&255]+xt[t>>8&255]+xt[t>>16&255]+xt[t>>24&255]+xt[e>>0&255]+xt[e>>8&255]+xt[e>>16&255]+xt[e>>24&255]+xt[n>>0&255]+xt[n>>8&255]+xt[n>>16&255]+xt[n>>24&255]}const Re={get(o="normal"){return typeof o!="number"?this[o]||this.normal:o},highest:1e5,high:1e3,normal:0,low:-1e3,lowest:-1e5};function Zc(o,t){const e=Re.get(t.priority);for(let n=0;n{if(typeof a=="object"&&a!==null){if(e.has(a))return`[object ${a.constructor.name}]`;e.add(a)}return a})}`:"",r=$c(o);return o+i+r}function yN(o,t){const e=$c(o);return t?[o,t,e]:[o,e]}const Ek="41.0.0",Dk=new Date(2024,0,17);if(globalThis.CKEDITOR_VERSION)throw new b("ckeditor-duplicated-modules",null);globalThis.CKEDITOR_VERSION=Ek;const An=Symbol("listeningTo"),or=Symbol("emitterId"),De=Symbol("delegations"),Kc=lt(Object);function lt(o){if(!o)return Kc;class t extends o{on(n,i,r){this.listenTo(this,n,i,r)}once(n,i,r){let s=!1;const a=(c,...l)=>{s||(s=!0,c.off(),i.call(this,c,...l))};this.listenTo(this,n,a,r)}off(n,i){this.stopListening(this,n,i)}listenTo(n,i,r,s={}){let a,c;this[An]||(this[An]={});const l=this[An];ir(n)||Yc(n);const d=ir(n);(a=l[d])||(a=l[d]={emitter:n,callbacks:{}}),(c=a.callbacks[i])||(c=a.callbacks[i]=[]),c.push(r),Mk(this,n,i,r,s)}stopListening(n,i,r){const s=this[An];let a=n&&ir(n);const c=s&&a?s[a]:void 0,l=c&&i?c.callbacks[i]:void 0;if(!(!s||n&&!c||i&&!l))if(r)sr(this,n,i,r),l.indexOf(r)!==-1&&(l.length===1?delete c.callbacks[i]:sr(this,n,i,r));else if(l){for(;r=l.pop();)sr(this,n,i,r);delete c.callbacks[i]}else if(c){for(i in c.callbacks)this.stopListening(n,i);delete s[a]}else{for(a in s)this.stopListening(s[a].emitter);delete this[An]}}fire(n,...i){try{const r=n instanceof zt?n:new zt(this,n),s=r.name;let a=Jc(this,s);if(r.path.push(this),a){const l=[r,...i];a=Array.from(a);for(let d=0;d{this[De]||(this[De]=new Map),n.forEach(s=>{const a=this[De].get(s);a?a.set(i,r):this[De].set(s,new Map([[i,r]]))})}}}stopDelegating(n,i){if(this[De])if(!n)this[De].clear();else if(!i)this[De].delete(n);else{const r=this[De].get(n);r&&r.delete(i)}}_addEventListener(n,i,r){Ik(this,n);const s=rr(this,n),a=Re.get(r.priority),c={callback:i,priority:a};for(const l of s)Zc(l,c)}_removeEventListener(n,i){const r=rr(this,n);for(const s of r)for(let a=0;a{lt[o]=Kc.prototype[o]});function Sk(o,t){const e=o[An];return e&&e[t]?e[t].emitter:null}function Yc(o,t){o[or]||(o[or]=t||Vt())}function ir(o){return o[or]}function Qc(o){return o._events||Object.defineProperty(o,"_events",{value:{}}),o._events}function Tk(){return{callbacks:[],childEvents:[]}}function Ik(o,t){const e=Qc(o);if(e[t])return;let n=t,i=null;const r=[];for(;n!==""&&!e[n];)e[n]=Tk(),r.push(e[n]),i&&e[n].childEvents.push(i),i=n,n=n.substr(0,n.lastIndexOf(":"));if(n!==""){for(const s of r)s.callbacks=e[n].callbacks.slice();e[n].childEvents.push(i)}}function rr(o,t){const e=Qc(o)[t];if(!e)return[];let n=[e.callbacks];for(let i=0;i-1?Jc(o,t.substr(0,t.lastIndexOf(":"))):null:e.callbacks}function Xc(o,t,e){for(let[n,i]of o){i?typeof i=="function"&&(i=i(t.name)):i=t.name;const r=new zt(t.source,i);r.path=[...t.path],n.fire(r,...e)}}function Mk(o,t,e,n,i){t._addEventListener?t._addEventListener(e,n,i):o._addEventListener.call(t,e,n,i)}function sr(o,t,e,n){t._removeEventListener?t._removeEventListener(e,n):o._removeEventListener.call(t,e,n)}function Bk(o){var t=typeof o;return o!=null&&(t=="object"||t=="function")}const Ct=Bk,Vo=Symbol("observableProperties"),Ho=Symbol("boundObservables"),Uo=Symbol("boundProperties"),Cn=Symbol("decoratedMethods"),tl=Symbol("decoratedOriginal"),el=st(lt());function st(o){if(!o)return el;class t extends o{set(n,i){if(Ct(n)){Object.keys(n).forEach(s=>{this.set(s,n[s])},this);return}ar(this);const r=this[Vo];if(n in this&&!r.has(n))throw new b("observable-set-cannot-override",this);Object.defineProperty(this,n,{enumerable:!0,configurable:!0,get(){return r.get(n)},set(s){const a=r.get(n);let c=this.fire(`set:${n}`,n,s,a);c===void 0&&(c=s),(a!==c||!r.has(n))&&(r.set(n,c),this.fire(`change:${n}`,n,c,a))}}),this[n]=i}bind(...n){if(!n.length||!nl(n))throw new b("observable-bind-wrong-properties",this);if(new Set(n).size!==n.length)throw new b("observable-bind-duplicate-properties",this);ar(this);const i=this[Uo];n.forEach(s=>{if(i.has(s))throw new b("observable-bind-rebind",this)});const r=new Map;return n.forEach(s=>{const a={property:s,to:[]};i.set(s,a),r.set(s,a)}),{to:Nk,toMany:zk,_observable:this,_bindProperties:n,_to:[],_bindings:r}}unbind(...n){if(!this[Vo])return;const i=this[Uo],r=this[Ho];if(n.length){if(!nl(n))throw new b("observable-unbind-wrong-properties",this);n.forEach(s=>{const a=i.get(s);a&&(a.to.forEach(([c,l])=>{const d=r.get(c),u=d[l];u.delete(a),u.size||delete d[l],Object.keys(d).length||(r.delete(c),this.stopListening(c,"change"))}),i.delete(s))})}else r.forEach((s,a)=>{this.stopListening(a,"change")}),r.clear(),i.clear()}decorate(n){ar(this);const i=this[n];if(!i)throw new b("observablemixin-cannot-decorate-undefined",this,{object:this,methodName:n});this.on(n,(r,s)=>{r.return=i.apply(this,s)}),this[n]=function(...r){return this.fire(n,r)},this[n][tl]=i,this[Cn]||(this[Cn]=[]),this[Cn].push(n)}stopListening(n,i,r){if(!n&&this[Cn]){for(const s of this[Cn])this[s]=this[s][tl];delete this[Cn]}super.stopListening(n,i,r)}}return t}["set","bind","unbind","decorate","on","once","off","listenTo","stopListening","fire","delegate","stopDelegating","_addEventListener","_removeEventListener"].forEach(o=>{st[o]=el.prototype[o]});function ar(o){o[Vo]||(Object.defineProperty(o,Vo,{value:new Map}),Object.defineProperty(o,Ho,{value:new Map}),Object.defineProperty(o,Uo,{value:new Map}))}function Nk(...o){const t=Pk(...o),e=Array.from(this._bindings.keys()),n=e.length;if(!t.callback&&t.to.length>1)throw new b("observable-bind-to-no-callback",this);if(n>1&&t.callback)throw new b("observable-bind-to-extra-callback",this);t.to.forEach(i=>{if(i.properties.length&&i.properties.length!==n)throw new b("observable-bind-to-properties-length",this);i.properties.length||(i.properties=this._bindProperties)}),this._to=t.to,t.callback&&(this._bindings.get(e[0]).callback=t.callback),jk(this._observable,this._to),Rk(this),this._bindProperties.forEach(i=>{ol(this._observable,i)})}function zk(o,t,e){if(this._bindings.size>1)throw new b("observable-bind-to-many-not-one-binding",this);this.to(...Lk(o,t),e)}function Lk(o,t){const e=o.map(n=>[n,t]);return Array.prototype.concat.apply([],e)}function nl(o){return o.every(t=>typeof t=="string")}function Pk(...o){if(!o.length)throw new b("observable-bind-to-parse-error",null);const t={to:[]};let e;return typeof o[o.length-1]=="function"&&(t.callback=o.pop()),o.forEach(n=>{if(typeof n=="string")e.properties.push(n);else if(typeof n=="object")e={observable:n,properties:[]},t.to.push(e);else throw new b("observable-bind-to-parse-error",null)}),t}function Ok(o,t,e,n){const i=o[Ho],r=i.get(e),s=r||{};s[n]||(s[n]=new Set),s[n].add(t),r||i.set(e,s)}function Rk(o){let t;o._bindings.forEach((e,n)=>{o._to.forEach(i=>{t=i.properties[e.callback?0:o._bindProperties.indexOf(n)],e.to.push([i.observable,t]),Ok(o._observable,e,i.observable,t)})})}function ol(o,t){const n=o[Uo].get(t);let i;n.callback?i=n.callback.apply(o,n.to.map(r=>r[0][r[1]])):(i=n.to[0],i=i[0][i[1]]),Object.prototype.hasOwnProperty.call(o,t)?o[t]=i:o.set(t,i)}function jk(o,t){t.forEach(e=>{const n=o[Ho];let i;n.get(e.observable)||o.listenTo(e.observable,"change",(r,s)=>{i=n.get(e.observable)[s],i&&i.forEach(a=>{ol(o,a.property)})})})}class il{constructor(){this._replacedElements=[]}replace(t,e){this._replacedElements.push({element:t,newElement:e}),t.style.display="none",e&&t.parentNode.insertBefore(e,t.nextSibling)}restore(){this._replacedElements.forEach(({element:t,newElement:e})=>{t.style.display="",e&&e.remove()}),this._replacedElements=[]}}function cr(o){let t=0;for(const e of o)t++;return t}function jt(o,t){const e=Math.min(o.length,t.length);for(let n=0;n-1}const yb=vb;function xb(o,t){var e=this.__data__,n=Go(e,o);return n<0?(++this.size,e.push([o,t])):e[n][1]=t,this}const Eb=xb;function _n(o){var t=-1,e=o==null?0:o.length;for(this.clear();++t-1&&o%1==0&&o-1&&o%1==0&&o<=aA}const bl=cA;var lA="[object Arguments]",dA="[object Array]",uA="[object Boolean]",hA="[object Date]",gA="[object Error]",fA="[object Function]",mA="[object Map]",pA="[object Number]",kA="[object Object]",bA="[object RegExp]",wA="[object Set]",AA="[object String]",CA="[object WeakMap]",_A="[object ArrayBuffer]",vA="[object DataView]",yA="[object Float32Array]",xA="[object Float64Array]",EA="[object Int8Array]",DA="[object Int16Array]",SA="[object Int32Array]",TA="[object Uint8Array]",IA="[object Uint8ClampedArray]",MA="[object Uint16Array]",BA="[object Uint32Array]",kt={};kt[yA]=kt[xA]=kt[EA]=kt[DA]=kt[SA]=kt[TA]=kt[IA]=kt[MA]=kt[BA]=!0,kt[lA]=kt[dA]=kt[_A]=kt[uA]=kt[vA]=kt[hA]=kt[gA]=kt[fA]=kt[mA]=kt[pA]=kt[kA]=kt[bA]=kt[wA]=kt[AA]=kt[CA]=!1;function NA(o){return ne(o)&&bl(o.length)&&!!kt[je(o)]}const zA=NA;function LA(o){return function(t){return o(t)}}const mr=LA;var wl=Ee&&!Ee.nodeType&&Ee,oo=wl&&!0&&we&&!we.nodeType&&we,PA=oo&&oo.exports===wl,pr=PA&&rl.process,OA=function(){try{var o=oo&&oo.require&&oo.require("util").types;return o||pr&&pr.binding&&pr.binding("util")}catch{}}();const Dn=OA;var Al=Dn&&Dn.isTypedArray,RA=Al?mr(Al):zA;const kr=RA;var jA=Object.prototype,FA=jA.hasOwnProperty;function VA(o,t){var e=Ht(o),n=!e&&gr(o),i=!e&&!n&&no(o),r=!e&&!n&&!i&&kr(o),s=e||n||i||r,a=s?Zw(o.length,String):[],c=a.length;for(var l in o)(t||FA.call(o,l))&&!(s&&(l=="length"||i&&(l=="offset"||l=="parent")||r&&(l=="buffer"||l=="byteLength"||l=="byteOffset")||fr(l,c)))&&a.push(l);return a}const Cl=VA;var HA=Object.prototype;function UA(o){var t=o&&o.constructor,e=typeof t=="function"&&t.prototype||HA;return o===e}const br=UA;var GA=ll(Object.keys,Object);const WA=GA;var qA=Object.prototype,ZA=qA.hasOwnProperty;function $A(o){if(!br(o))return WA(o);var t=[];for(var e in Object(o))ZA.call(o,e)&&e!="constructor"&&t.push(e);return t}const KA=$A;function YA(o){return o!=null&&bl(o.length)&&!Ke(o)}const Ko=YA;function QA(o){return Ko(o)?Cl(o):KA(o)}const wr=QA;function JA(o,t){return o&&En(t,wr(t),o)}const XA=JA;function tC(o){var t=[];if(o!=null)for(var e in Object(o))t.push(e);return t}const eC=tC;var nC=Object.prototype,oC=nC.hasOwnProperty;function iC(o){if(!Ct(o))return eC(o);var t=br(o),e=[];for(var n in o)n=="constructor"&&(t||!oC.call(o,n))||e.push(n);return e}const rC=iC;function sC(o){return Ko(o)?Cl(o,!0):rC(o)}const Sn=sC;function aC(o,t){return o&&En(t,Sn(t),o)}const cC=aC;var _l=Ee&&!Ee.nodeType&&Ee,vl=_l&&!0&&we&&!we.nodeType&&we,lC=vl&&vl.exports===_l,yl=lC?ue.Buffer:void 0,xl=yl?yl.allocUnsafe:void 0;function dC(o,t){if(t)return o.slice();var e=o.length,n=xl?xl(e):new o.constructor(e);return o.copy(n),n}const El=dC;function uC(o,t){var e=-1,n=o.length;for(t||(t=Array(n));++e{this._setToTarget(t,i,e[i],n)})}}function Kl(o){return Sr(o,l0)}function l0(o){return Xe(o)||typeof o=="function"?o:void 0}function Fe(o){if(o){if(o.defaultView)return o instanceof o.defaultView.Document;if(o.ownerDocument&&o.ownerDocument.defaultView)return o instanceof o.ownerDocument.defaultView.Node}return!1}function Jo(o){const t=Object.prototype.toString.apply(o);return t=="[object Window]"||t=="[object global]"}const Yl=Kt(lt());function Kt(o){if(!o)return Yl;class t extends o{listenTo(n,i,r,s={}){if(Fe(n)||Jo(n)){const a={capture:!!s.useCapture,passive:!!s.usePassive},c=this._getProxyEmitter(n,a)||new d0(n,a);this.listenTo(c,i,r,s)}else super.listenTo(n,i,r,s)}stopListening(n,i,r){if(Fe(n)||Jo(n)){const s=this._getAllProxyEmitters(n);for(const a of s)this.stopListening(a,i,r)}else super.stopListening(n,i,r)}_getProxyEmitter(n,i){return Sk(this,Ql(n,i))}_getAllProxyEmitters(n){return[{capture:!1,passive:!1},{capture:!1,passive:!0},{capture:!0,passive:!1},{capture:!0,passive:!0}].map(i=>this._getProxyEmitter(n,i)).filter(i=>!!i)}}return t}["_getProxyEmitter","_getAllProxyEmitters","on","once","off","listenTo","stopListening","fire","delegate","stopDelegating","_addEventListener","_removeEventListener"].forEach(o=>{Kt[o]=Yl.prototype[o]});class d0 extends lt(){constructor(t,e){super(),Yc(this,Ql(t,e)),this._domNode=t,this._options=e}attach(t){if(this._domListeners&&this._domListeners[t])return;const e=this._createDomListener(t);this._domNode.addEventListener(t,e,this._options),this._domListeners||(this._domListeners={}),this._domListeners[t]=e}detach(t){let e;this._domListeners[t]&&(!(e=this._events[t])||!e.callbacks.length)&&this._domListeners[t].removeListener()}_addEventListener(t,e,n){this.attach(t),lt().prototype._addEventListener.call(this,t,e,n)}_removeEventListener(t,e){lt().prototype._removeEventListener.call(this,t,e),this.detach(t)}_createDomListener(t){const e=n=>{this.fire(t,n)};return e.removeListener=()=>{this._domNode.removeEventListener(t,e,this._options),delete this._domListeners[t]},e}}function u0(o){return o["data-ck-expando"]||(o["data-ck-expando"]=Vt())}function Ql(o,t){let e=u0(o);for(const n of Object.keys(t).sort())t[n]&&(e+="-"+n);return e}let Tr;try{Tr={window,document}}catch{Tr={window:{},document:{}}}const H=Tr;function h0(o){const t=[];let e=o;for(;e&&e.nodeType!=Node.DOCUMENT_NODE;)t.unshift(e),e=e.parentNode;return t}function g0(o){return o instanceof HTMLTextAreaElement?o.value:o.innerHTML}function Dt(o){return Object.prototype.toString.call(o)=="[object Text]"}function Xo(o){return Object.prototype.toString.apply(o)=="[object Range]"}function Jl(o){const t=o.ownerDocument.defaultView.getComputedStyle(o);return{top:parseInt(t.borderTopWidth,10),right:parseInt(t.borderRightWidth,10),bottom:parseInt(t.borderBottomWidth,10),left:parseInt(t.borderLeftWidth,10)}}function Xl(o){return!o||!o.parentNode||o.offsetParent===H.document.body?null:o.offsetParent}const td=["top","right","bottom","left","width","height"];class Q{constructor(t){const e=Xo(t);if(Object.defineProperty(this,"_source",{value:t._source||t,writable:!0,enumerable:!1}),Ir(t)||e)if(e){const n=Q.getDomRangeRects(t);ti(this,Q.getBoundingRect(n))}else ti(this,t.getBoundingClientRect());else if(Jo(t)){const{innerWidth:n,innerHeight:i}=t;ti(this,{top:0,right:n,bottom:i,left:0,width:n,height:i})}else ti(this,t)}clone(){return new Q(this)}moveTo(t,e){return this.top=e,this.right=t+this.width,this.bottom=e+this.height,this.left=t,this}moveBy(t,e){return this.top+=e,this.right+=t,this.left+=t,this.bottom+=e,this}getIntersection(t){const e={top:Math.max(this.top,t.top),right:Math.min(this.right,t.right),bottom:Math.min(this.bottom,t.bottom),left:Math.max(this.left,t.left),width:0,height:0};if(e.width=e.right-e.left,e.height=e.bottom-e.top,e.width<0||e.height<0)return null;{const n=new Q(e);return n._source=this._source,n}}getIntersectionArea(t){const e=this.getIntersection(t);return e?e.getArea():0}getArea(){return this.width*this.height}getVisible(){const t=this._source;let e=this.clone();if(ed(t))return e;let n=t,i=t.parentNode||t.commonAncestorContainer,r;for(;i&&!ed(i);){const s=f0(i)==="visible";n instanceof HTMLElement&&nd(n)==="absolute"&&(r=n);const a=nd(i);if(s||r&&(a==="relative"&&s||a!=="relative")){n=i,i=i.parentNode;continue}const c=new Q(i),l=e.getIntersection(c);if(l)l.getArea(){for(const e of t){const n=_t._getElementCallbacks(e.target);if(n)for(const i of n)i(e)}})}}_t._observerInstance=null,_t._elementCallbacks=null;const Mr=_t;function od(o,t){o instanceof HTMLTextAreaElement&&(o.value=t),o.innerHTML=t}function Tn(o){return t=>t+o}function ei(o){let t=0;for(;o.previousSibling;)o=o.previousSibling,t++;return t}function id(o,t,e){o.insertBefore(e,o.childNodes[t]||null)}function ro(o){return o&&o.nodeType===Node.COMMENT_NODE}function p0(o){try{H.document.createAttribute(o)}catch{return!1}return!0}function tn(o){return!!(o&&o.getClientRects&&o.getClientRects().length)}function Br({element:o,target:t,positions:e,limiter:n,fitInViewport:i,viewportOffsetConfig:r}){Ke(t)&&(t=t()),Ke(n)&&(n=n());const s=Xl(o),a=k0(r),c=new Q(o),l=rd(t,a);let d;if(!l||!a.getIntersection(l))return null;const u={targetRect:l,elementRect:c,positionedElementAncestor:s,viewportRect:a};if(!n&&!i)d=new sd(e[0],u);else{if(n){const f=rd(n,a);f&&(u.limiterRect=f)}d=b0(e,u)}return d}function rd(o,t){const e=new Q(o).getVisible();return e?e.getIntersection(t):null}function k0(o){o=Object.assign({top:0,bottom:0,left:0,right:0},o);const t=new Q(H.window);return t.top+=o.top,t.height-=o.top,t.bottom-=o.bottom,t.height-=o.bottom,t}function b0(o,t){const{elementRect:e}=t,n=e.getArea(),i=o.map(a=>new sd(a,t)).filter(a=>!!a.name);let r=0,s=null;for(const a of i){const{limiterIntersectionArea:c,viewportIntersectionArea:l}=a;if(c===n)return a;const d=l**2+c**2;d>r&&(r=d,s=a)}return s}class sd{constructor(t,e){const n=t(e.targetRect,e.elementRect,e.viewportRect,e.limiterRect);if(!n)return;const{left:i,top:r,name:s,config:a}=n;this.name=s,this.config=a,this._positioningFunctionCoordinates={left:i,top:r},this._options=e}get left(){return this._absoluteRect.left}get top(){return this._absoluteRect.top}get limiterIntersectionArea(){const t=this._options.limiterRect;return t?t.getIntersectionArea(this._rect):0}get viewportIntersectionArea(){return this._options.viewportRect.getIntersectionArea(this._rect)}get _rect(){return this._cachedRect?this._cachedRect:(this._cachedRect=this._options.elementRect.clone().moveTo(this._positioningFunctionCoordinates.left,this._positioningFunctionCoordinates.top),this._cachedRect)}get _absoluteRect(){return this._cachedAbsoluteRect?this._cachedAbsoluteRect:(this._cachedAbsoluteRect=this._rect.toAbsoluteRect(),this._cachedAbsoluteRect)}}function ad(o){const t=o.parentNode;t&&t.removeChild(o)}function w0({target:o,viewportOffset:t=0,ancestorOffset:e=0,alignToTop:n,forceScroll:i}){const r=Nr(o);let s=r,a=null;for(t=_0(t);s;){let c;s==r?c=hd(o):c=hd(a),C0({parent:c,getRect:()=>gd(o,s),alignToTop:n,ancestorOffset:e,forceScroll:i});const l=gd(o,s);if(A0({window:s,rect:l,viewportOffset:t,alignToTop:n,forceScroll:i}),s.parent!=s){if(a=s.frameElement,s=s.parent,!a)return}else s=null}}function A0({window:o,rect:t,alignToTop:e,forceScroll:n,viewportOffset:i}){const r=t.clone().moveBy(0,i.bottom),s=t.clone().moveBy(0,-i.top),a=new Q(o).excludeScrollbarsAndBorders(),c=[s,r],l=e&&n,d=c.every(S=>a.contains(S));let{scrollX:u,scrollY:f}=o;const p=u,w=f;l?f-=a.top-t.top+i.top:d||(ld(s,a)?f-=a.top-t.top+i.top:cd(r,a)&&(e?f+=t.top-a.top-i.top:f+=t.bottom-a.bottom+i.bottom)),d||(dd(t,a)?u-=a.left-t.left+i.left:ud(t,a)&&(u+=t.right-a.right+i.right)),(u!=p||f!==w)&&o.scrollTo(u,f)}function C0({parent:o,getRect:t,alignToTop:e,forceScroll:n,ancestorOffset:i=0,limiterElement:r}){const s=Nr(o),a=e&&n;let c,l,d;const u=r||s.document.body;for(;o!=u;)l=t(),c=new Q(o).excludeScrollbarsAndBorders(),d=c.contains(l),a?o.scrollTop-=c.top-l.top+i:d||(ld(l,c)?o.scrollTop-=c.top-l.top+i:cd(l,c)&&(e?o.scrollTop+=l.top-c.top-i:o.scrollTop+=l.bottom-c.bottom+i)),d||(dd(l,c)?o.scrollLeft-=c.left-l.left+i:ud(l,c)&&(o.scrollLeft+=l.right-c.right+i)),o=o.parentNode}function cd(o,t){return o.bottom>t.bottom}function ld(o,t){return o.topt.right}function Nr(o){return Xo(o)?o.startContainer.ownerDocument.defaultView:o.ownerDocument.defaultView}function hd(o){if(Xo(o)){let t=o.commonAncestorContainer;return Dt(t)&&(t=t.parentNode),t}else return o.parentNode}function gd(o,t){const e=Nr(o),n=new Q(o);if(e===t)return n;{let i=e;for(;i!=t;){const r=i.frameElement,s=new Q(r).excludeScrollbarsAndBorders();n.moveBy(s.left,s.top),i=i.parent}}return n}function _0(o){return typeof o=="number"?{top:o,bottom:o,left:o,right:o}:o}const v0={ctrl:"⌃",cmd:"⌘",alt:"⌥",shift:"⇧"},y0={ctrl:"Ctrl+",alt:"Alt+",shift:"Shift+"},et=T0(),x0=Object.fromEntries(Object.entries(et).map(([o,t])=>[t,o.charAt(0).toUpperCase()+o.slice(1)]));function In(o){let t;if(typeof o=="string"){if(t=et[o.toLowerCase()],!t)throw new b("keyboard-unknown-key",null,{key:o})}else t=o.keyCode+(o.altKey?et.alt:0)+(o.ctrlKey?et.ctrl:0)+(o.shiftKey?et.shift:0)+(o.metaKey?et.cmd:0);return t}function so(o){return typeof o=="string"&&(o=I0(o)),o.map(t=>typeof t=="string"?D0(t):t).reduce((t,e)=>e+t,0)}function fd(o){let t=so(o);return Object.entries(g.isMac||g.isiOS?v0:y0).reduce((i,[r,s])=>(t&et[r]&&(t&=~et[r],i+=s),i),"")+(t?x0[t]:"")}function E0(o){return o==et.arrowright||o==et.arrowleft||o==et.arrowup||o==et.arrowdown}function zr(o,t){const e=t==="ltr";switch(o){case et.arrowleft:return e?"left":"right";case et.arrowright:return e?"right":"left";case et.arrowup:return"up";case et.arrowdown:return"down"}}function D0(o){if(o.endsWith("!"))return In(o.slice(0,-1));const t=In(o);return(g.isMac||g.isiOS)&&t==et.ctrl?et.cmd:t}function S0(o,t){const e=zr(o,t);return e==="down"||e==="right"}function T0(){const o={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 e=String.fromCharCode(t);o[e.toLowerCase()]=t}for(let t=48;t<=57;t++)o[t-48]=t;for(let t=112;t<=123;t++)o["f"+(t-111)]=t;for(const t of"`-=[];',./\\")o[t]=t.charCodeAt(0);return o}function I0(o){return o.split("+").map(t=>t.trim())}function bt(o){return Array.isArray(o)?o:[o]}H.window.CKEDITOR_TRANSLATIONS||(H.window.CKEDITOR_TRANSLATIONS={});function M0(o,t,e=1){if(typeof e!="number")throw new b("translation-service-quantity-not-a-number",null,{quantity:e});const n=N0();n===1&&(o=Object.keys(H.window.CKEDITOR_TRANSLATIONS)[0]);const i=t.id||t.string;if(n===0||!B0(o,i))return e!==1?t.plural:t.string;const r=H.window.CKEDITOR_TRANSLATIONS[o].dictionary,s=H.window.CKEDITOR_TRANSLATIONS[o].getPluralForm||(l=>l===1?0:1),a=r[i];if(typeof a=="string")return a;const c=Number(s(e));return a[c]}function B0(o,t){return!!H.window.CKEDITOR_TRANSLATIONS[o]&&!!H.window.CKEDITOR_TRANSLATIONS[o].dictionary[t]}function N0(){return Object.keys(H.window.CKEDITOR_TRANSLATIONS).length}const z0=["ar","ara","fa","per","fas","he","heb","ku","kur","ug","uig"];function md(o){return z0.includes(o)?"rtl":"ltr"}class L0{constructor({uiLanguage:t="en",contentLanguage:e}={}){this.uiLanguage=t,this.contentLanguage=e||this.uiLanguage,this.uiLanguageDirection=md(this.uiLanguage),this.contentLanguageDirection=md(this.contentLanguage),this.t=(n,i)=>this._t(n,i)}get language(){return this.uiLanguage}_t(t,e=[]){e=bt(e),typeof t=="string"&&(t={string:t});const i=!!t.plural?e[0]:1,r=M0(this.uiLanguage,t,i);return P0(r,e)}}function P0(o,t){return o.replace(/%(\d+)/g,(e,n)=>nthis._items.length||e<0)throw new b("collection-add-item-invalid-index",this);let n=0;for(const i of t){const r=this._getItemIdBeforeAdding(i),s=e+n;this._items.splice(s,0,i),this._itemMap.set(r,i),this.fire("add",i,s),n++}return this.fire("change",{added:t,removed:[],index:e}),this}get(t){let e;if(typeof t=="string")e=this._itemMap.get(t);else if(typeof t=="number")e=this._items[t];else throw new b("collection-get-invalid-arg",this);return e||null}has(t){if(typeof t=="string")return this._itemMap.has(t);{const e=this._idProperty,n=t[e];return n&&this._itemMap.has(n)}}getIndex(t){let e;return typeof t=="string"?e=this._itemMap.get(t):e=t,e?this._items.indexOf(e):-1}remove(t){const[e,n]=this._remove(t);return this.fire("change",{added:[],removed:[e],index:n}),e}map(t,e){return this._items.map(t,e)}forEach(t,e){this._items.forEach(t,e)}find(t,e){return this._items.find(t,e)}filter(t,e){return this._items.filter(t,e)}clear(){this._bindToCollection&&(this.stopListening(this._bindToCollection),this._bindToCollection=null);const t=Array.from(this._items);for(;this.length;)this._remove(0);this.fire("change",{added:[],removed:t,index:0})}bindTo(t){if(this._bindToCollection)throw new b("collection-bind-to-rebind",this);return this._bindToCollection=t,{as:e=>{this._setUpBindToBinding(n=>new e(n))},using:e=>{typeof e=="function"?this._setUpBindToBinding(e):this._setUpBindToBinding(n=>n[e])}}}_setUpBindToBinding(t){const e=this._bindToCollection,n=(i,r,s)=>{const a=e._bindToCollection==this,c=e._bindToInternalToExternalMap.get(r);if(a&&c)this._bindToExternalToInternalMap.set(r,c),this._bindToInternalToExternalMap.set(c,r);else{const l=t(r);if(!l){this._skippedIndexesFromExternal.push(s);return}let d=s;for(const u of this._skippedIndexesFromExternal)s>u&&d--;for(const u of e._skippedIndexesFromExternal)d>=u&&d++;this._bindToExternalToInternalMap.set(r,l),this._bindToInternalToExternalMap.set(l,r),this.add(l,d);for(let u=0;u{const a=this._bindToExternalToInternalMap.get(r);a&&this.remove(a),this._skippedIndexesFromExternal=this._skippedIndexesFromExternal.reduce((c,l)=>(sl&&c.push(l),c),[])})}_getItemIdBeforeAdding(t){const e=this._idProperty;let n;if(e in t){if(n=t[e],typeof n!="string")throw new b("collection-add-invalid-id",this);if(this.get(n))throw new b("collection-add-item-already-exists",this)}else t[e]=n=Vt();return n}_remove(t){let e,n,i,r=!1;const s=this._idProperty;if(typeof t=="string"?(n=t,i=this._itemMap.get(n),r=!i,i&&(e=this._items.indexOf(i))):typeof t=="number"?(e=t,i=this._items[e],r=!i,i&&(n=i[s])):(i=t,n=i[s],e=this._items.indexOf(i),r=e==-1||!this._itemMap.get(n)),r)throw new b("collection-remove-404",this);this._items.splice(e,1),this._itemMap.delete(n);const a=this._bindToInternalToExternalMap.get(i);return this._bindToInternalToExternalMap.delete(i),this._bindToExternalToInternalMap.delete(a),this.fire("remove",i,e),[i,e]}[Symbol.iterator](){return this._items[Symbol.iterator]()}}function Lt(o){const t=o.next();return t.done?null:t.value}class Pt extends Kt(st()){constructor(){super(),this._elements=new Set,this._nextEventLoopTimeout=null,this.set("isFocused",!1),this.set("focusedElement",null)}add(t){if(this._elements.has(t))throw new b("focustracker-add-element-already-exist",this);this.listenTo(t,"focus",()=>this._focus(t),{useCapture:!0}),this.listenTo(t,"blur",()=>this._blur(),{useCapture:!0}),this._elements.add(t)}remove(t){t===this.focusedElement&&this._blur(),this._elements.has(t)&&(this.stopListening(t),this._elements.delete(t))}destroy(){this.stopListening()}_focus(t){clearTimeout(this._nextEventLoopTimeout),this.focusedElement=t,this.isFocused=!0}_blur(){clearTimeout(this._nextEventLoopTimeout),this._nextEventLoopTimeout=setTimeout(()=>{this.focusedElement=null,this.isFocused=!1},0)}}class Gt{constructor(){this._listener=new(Kt())}listenTo(t){this._listener.listenTo(t,"keydown",(e,n)=>{this._listener.fire("_keydown:"+In(n),n)})}set(t,e,n={}){const i=so(t),r=n.priority;this._listener.listenTo(this._listener,"_keydown:"+i,(s,a)=>{e(a,()=>{a.preventDefault(),a.stopPropagation(),s.stop()}),s.return=!0},{priority:r})}press(t){return!!this._listener.fire("_keydown:"+In(t),t)}stopListening(t){this._listener.stopListening(t)}destroy(){this.stopListening()}}function O0(o){const t=new Map;for(const e in o)t.set(e,o[e]);return t}function Se(o){return Zt(o)?new Map(o):O0(o)}const R0=1e4;function j0(o,t,e,n){if(Math.max(t.length,o.length)>R0)return o.slice(0,e).concat(t).concat(o.slice(e+n,o.length));{const i=Array.from(o);return i.splice(e,n,...t),i}}function Lr(o,t){let e;function n(...i){n.cancel(),e=setTimeout(()=>o(...i),t)}return n.cancel=()=>{clearTimeout(e)},n}function F0(o){function t(u){return u.length>=40&&u.length<=255?"VALID":"INVALID"}if(!o)return"INVALID";let e="";try{e=atob(o)}catch{return"INVALID"}const n=e.split("-"),i=n[0],r=n[1];if(!r)return t(o);try{atob(r)}catch{try{if(atob(i),!atob(i).length)return t(o)}catch{return t(o)}}if(i.length<40||i.length>255)return"INVALID";let s="";try{atob(i),s=atob(r)}catch{return"INVALID"}if(s.length!==8)return"INVALID";const a=Number(s.substring(0,4)),c=Number(s.substring(4,6))-1,l=Number(s.substring(6,8)),d=new Date(a,c,l);return dn.indexi.source).join("|")+")",n=`${t}|${e}(?:‍${e})*`;return new RegExp(n,"ug")}class ie extends oe{constructor(t=[]){super(t,{idProperty:"viewUid"}),this.on("add",(e,n,i)=>{this._renderViewIntoCollectionParent(n,i)}),this.on("remove",(e,n)=>{n.element&&this._parentElement&&n.element.remove()}),this._parentElement=null}destroy(){this.map(t=>t.destroy())}setParent(t){this._parentElement=t;for(const e of this)this._renderViewIntoCollectionParent(e)}delegate(...t){if(!t.length||!q0(t))throw new b("ui-viewcollection-delegate-wrong-events",this);return{to:e=>{for(const n of this)for(const i of t)n.delegate(i).to(e);this.on("add",(n,i)=>{for(const r of t)i.delegate(r).to(e)}),this.on("remove",(n,i)=>{for(const r of t)i.stopDelegating(r,e)})}}}_renderViewIntoCollectionParent(t,e){t.isRendered||t.render(),t.element&&this._parentElement&&this._parentElement.insertBefore(t.element,this._parentElement.children[e])}remove(t){return super.remove(t)}}function q0(o){return o.every(t=>typeof t=="string")}var Z0=P(3379),R=P.n(Z0),kd=P(5167),Rr={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Rr.insert="head",Rr.singleton=!0,R()(kd.Z,Rr),kd.Z.locals;class Z extends Kt(st()){constructor(t){super(),this.element=null,this.isRendered=!1,this.locale=t,this.t=t&&t.t,this._viewCollections=new oe,this._unboundChildren=this.createCollection(),this._viewCollections.on("add",(e,n)=>{n.locale=t,n.t=t&&t.t}),this.decorate("render")}get bindTemplate(){return this._bindTemplate?this._bindTemplate:this._bindTemplate=re.bind(this,this)}createCollection(t){const e=new ie(t);return this._viewCollections.add(e),e}registerChild(t){Zt(t)||(t=[t]);for(const e of t)this._unboundChildren.add(e)}deregisterChild(t){Zt(t)||(t=[t]);for(const e of t)this._unboundChildren.remove(e)}setTemplate(t){this.template=new re(t)}extendTemplate(t){re.extend(this.template,t)}render(){if(this.isRendered)throw new b("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(t=>t.destroy()),this.template&&this.template._revertData&&this.template.revert(this.element)}}const $0="http://www.w3.org/1999/xhtml";class re extends lt(){constructor(t){super(),Object.assign(this,Cd(Ad(t))),this._isRendered=!1,this._revertData=null}render(){const t=this._renderNode({intoFragment:!0});return this._isRendered=!0,t}apply(t){return this._revertData=Dd(),this._renderNode({node:t,intoFragment:!1,isApplying:!0,revertData:this._revertData}),t}revert(t){if(!this._revertData)throw new b("ui-template-revert-not-applied",[this,t]);this._revertTemplateFromNode(t,this._revertData)}*getViews(){function*t(e){if(e.children)for(const n of e.children)oi(n)?yield n:jr(n)&&(yield*t(n))}yield*t(this)}static bind(t,e){return{to(n,i){return new K0({eventNameOrFunction:n,attribute:n,observable:t,emitter:e,callback:i})},if(n,i,r){return new bd({observable:t,emitter:e,attribute:n,valueIfTrue:i,callback:r})}}}static extend(t,e){if(t._isRendered)throw new b("template-extend-render",[this,t]);xd(t,Cd(Ad(e)))}_renderNode(t){let e;if(t.node?e=this.tag&&this.text:e=this.tag?this.text:!this.text,e)throw new b("ui-template-wrong-syntax",this);return this.text?this._renderText(t):this._renderElement(t)}_renderElement(t){let e=t.node;return e||(e=t.node=document.createElementNS(this.ns||$0,this.tag)),this._renderAttributes(t),this._renderElementChildren(t),this._setUpListeners(t),e}_renderText(t){let e=t.node;return e?t.revertData.text=e.textContent:e=t.node=document.createTextNode(""),ni(this.text)?this._bindToObservable({schema:this.text,updater:Q0(e),data:t}):e.textContent=this.text.join(""),e}_renderAttributes(t){if(!this.attributes)return;const e=t.node,n=t.revertData;for(const i in this.attributes){const r=e.getAttribute(i),s=this.attributes[i];n&&(n.attributes[i]=r);const a=Ed(s)?s[0].ns:null;if(ni(s)){const c=Ed(s)?s[0].value:s;n&&Sd(i)&&c.unshift(r),this._bindToObservable({schema:c,updater:J0(e,i,a),data:t})}else if(i=="style"&&typeof s[0]!="string")this._renderStyleAttribute(s[0],t);else{n&&r&&Sd(i)&&s.unshift(r);const c=s.map(l=>l&&(l.value||l)).reduce((l,d)=>l.concat(d),[]).reduce(vd,"");Mn(c)||e.setAttributeNS(a,i,c)}}}_renderStyleAttribute(t,e){const n=e.node;for(const i in t){const r=t[i];ni(r)?this._bindToObservable({schema:[r],updater:X0(n,i),data:e}):n.style[i]=r}}_renderElementChildren(t){const e=t.node,n=t.intoFragment?document.createDocumentFragment():e,i=t.isApplying;let r=0;for(const s of this.children)if(Fr(s)){if(!i){s.setParent(e);for(const a of s)n.appendChild(a.element)}}else if(oi(s))i||(s.isRendered||s.render(),n.appendChild(s.element));else if(Fe(s))n.appendChild(s);else if(i){const a=t.revertData,c=Dd();a.children.push(c),s._renderNode({intoFragment:!1,node:n.childNodes[r++],isApplying:!0,revertData:c})}else n.appendChild(s.render());t.intoFragment&&e.appendChild(n)}_setUpListeners(t){if(this.eventListeners)for(const e in this.eventListeners){const n=this.eventListeners[e].map(i=>{const[r,s]=e.split("@");return i.activateDomEventListener(r,s,t)});t.revertData&&t.revertData.bindings.push(n)}}_bindToObservable({schema:t,updater:e,data:n}){const i=n.revertData;wd(t,e,n);const r=t.filter(s=>!Mn(s)).filter(s=>s.observable).map(s=>s.activateAttributeListener(t,e,n));i&&i.bindings.push(r)}_revertTemplateFromNode(t,e){for(const i of e.bindings)for(const r of i)r();if(e.text){t.textContent=e.text;return}const n=t;for(const i in e.attributes){const r=e.attributes[i];r===null?n.removeAttribute(i):n.setAttribute(i,r)}for(let i=0;iwd(t,e,n);return this.emitter.listenTo(this.observable,`change:${this.attribute}`,i),()=>{this.emitter.stopListening(this.observable,`change:${this.attribute}`,i)}}}class K0 extends ao{constructor(t){super(t),this.eventNameOrFunction=t.eventNameOrFunction}activateDomEventListener(t,e,n){const i=(r,s)=>{(!e||s.target.matches(e))&&(typeof this.eventNameOrFunction=="function"?this.eventNameOrFunction(s):this.observable.fire(this.eventNameOrFunction,s))};return this.emitter.listenTo(n.node,t,i),()=>{this.emitter.stopListening(n.node,t,i)}}}class bd extends ao{constructor(t){super(t),this.valueIfTrue=t.valueIfTrue}getValue(t){const e=super.getValue(t);return Mn(e)?!1:this.valueIfTrue||!0}}function ni(o){return o?(o.value&&(o=o.value),Array.isArray(o)?o.some(ni):o instanceof ao):!1}function Y0(o,t){return o.map(e=>e instanceof ao?e.getValue(t):e)}function wd(o,t,{node:e}){const n=Y0(o,e);let i;o.length==1&&o[0]instanceof bd?i=n[0]:i=n.reduce(vd,""),Mn(i)?t.remove():t.set(i)}function Q0(o){return{set(t){o.textContent=t},remove(){o.textContent=""}}}function J0(o,t,e){return{set(n){o.setAttributeNS(e,t,n)},remove(){o.removeAttributeNS(e,t)}}}function X0(o,t){return{set(e){o.style[t]=e},remove(){o.style[t]=null}}}function Ad(o){return Sr(o,e=>{if(e&&(e instanceof ao||jr(e)||oi(e)||Fr(e)))return e})}function Cd(o){if(typeof o=="string"?o=nv(o):o.text&&ov(o),o.on&&(o.eventListeners=ev(o.on),delete o.on),!o.text){o.attributes&&tv(o.attributes);const t=[];if(o.children)if(Fr(o.children))t.push(o.children);else for(const e of o.children)jr(e)||oi(e)||Fe(e)?t.push(e):t.push(new re(e));o.children=t}return o}function tv(o){for(const t in o)o[t].value&&(o[t].value=bt(o[t].value)),_d(o,t)}function ev(o){for(const t in o)_d(o,t);return o}function nv(o){return{text:[o]}}function ov(o){o.text=bt(o.text)}function _d(o,t){o[t]=bt(o[t])}function vd(o,t){return Mn(t)?o:Mn(o)?t:`${o} ${t}`}function yd(o,t){for(const e in t)o[e]?o[e].push(...t[e]):o[e]=t[e]}function xd(o,t){if(t.attributes&&(o.attributes||(o.attributes={}),yd(o.attributes,t.attributes)),t.eventListeners&&(o.eventListeners||(o.eventListeners={}),yd(o.eventListeners,t.eventListeners)),t.text&&o.text.push(...t.text),t.children&&t.children.length){if(o.children.length!=t.children.length)throw new b("ui-template-extend-children-mismatch",o);let e=0;for(const n of t.children)xd(o.children[e++],n)}}function Mn(o){return!o&&o!==0}function oi(o){return o instanceof Z}function jr(o){return o instanceof re}function Fr(o){return o instanceof ie}function Ed(o){return Ct(o[0])&&o[0].ns}function Dd(){return{children:[],bindings:[],attributes:{}}}function Sd(o){return o=="class"||o=="style"}class iv extends ie{constructor(t,e=[]){super(e),this.locale=t}get bodyCollectionContainer(){return this._bodyCollectionContainer}attachToDom(){this._bodyCollectionContainer=new re({tag:"div",attributes:{class:["ck","ck-reset_all","ck-body","ck-rounded-corners"],dir:this.locale.uiLanguageDirection},children:this}).render();let t=document.querySelector(".ck-body-wrapper");t||(t=Qn(document,"div",{class:"ck-body-wrapper"}),document.body.appendChild(t)),t.appendChild(this._bodyCollectionContainer)}detachFromDom(){super.destroy(),this._bodyCollectionContainer&&this._bodyCollectionContainer.remove();const t=document.querySelector(".ck-body-wrapper");t&&t.childElementCount==0&&t.remove()}}var Td=P(1977),Vr={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Vr.insert="head",Vr.singleton=!0,R()(Td.Z,Vr),Td.Z.locals;class ii extends Z{constructor(){super();const t=this.bindTemplate;this.set("content",""),this.set("viewBox","0 0 20 20"),this.set("fillColor",""),this.set("isColorInherited",!0),this.set("isVisible",!0),this.setTemplate({tag:"svg",ns:"http://www.w3.org/2000/svg",attributes:{class:["ck","ck-icon",t.if("isVisible","ck-hidden",e=>!e),"ck-reset_all-excluded",t.if("isColorInherited","ck-icon_inherit-color")],viewBox:t.to("viewBox")}})}render(){super.render(),this._updateXMLContent(),this._colorFillPaths(),this.on("change:content",()=>{this._updateXMLContent(),this._colorFillPaths()}),this.on("change:fillColor",()=>{this._colorFillPaths()})}_updateXMLContent(){if(this.content){const e=new DOMParser().parseFromString(this.content.trim(),"image/svg+xml").querySelector("svg"),n=e.getAttribute("viewBox");n&&(this.viewBox=n);for(const{name:i,value:r}of Array.from(e.attributes))ii.presentationalAttributeNames.includes(i)&&this.element.setAttribute(i,r);for(;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(t=>{t.style.fill=this.fillColor})}}ii.presentationalAttributeNames=["alignment-baseline","baseline-shift","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-rendering","cursor","direction","display","dominant-baseline","fill","fill-opacity","fill-rule","filter","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","image-rendering","letter-spacing","lighting-color","marker-end","marker-mid","marker-start","mask","opacity","overflow","paint-order","pointer-events","shape-rendering","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","text-anchor","text-decoration","text-overflow","text-rendering","transform","unicode-bidi","vector-effect","visibility","white-space","word-spacing","writing-mode"];const en=ii;class rv extends Z{constructor(){super(),this.set({style:void 0,text:void 0,id:void 0});const t=this.bindTemplate;this.setTemplate({tag:"span",attributes:{class:["ck","ck-button__label"],style:t.to("style"),id:t.to("id")},children:[{text:t.to("text")}]})}}var Id=P(4971),Hr={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Hr.insert="head",Hr.singleton=!0,R()(Id.Z,Hr),Id.Z.locals;class at extends Z{constructor(t,e=new rv){super(t),this._focusDelayed=null;const n=this.bindTemplate,i=Vt();this.set("ariaLabel",void 0),this.set("ariaLabelledBy",`ck-editor__aria-label_${i}`),this.set("class",void 0),this.set("labelStyle",void 0),this.set("icon",void 0),this.set("isEnabled",!0),this.set("isOn",!1),this.set("isVisible",!0),this.set("isToggleable",!1),this.set("keystroke",void 0),this.set("label",void 0),this.set("role",void 0),this.set("tabindex",-1),this.set("tooltip",!1),this.set("tooltipPosition","s"),this.set("type","button"),this.set("withText",!1),this.set("withKeystroke",!1),this.children=this.createCollection(),this.labelView=this._setupLabelView(e),this.iconView=new en,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 r={tag:"button",attributes:{class:["ck","ck-button",n.to("class"),n.if("isEnabled","ck-disabled",s=>!s),n.if("isVisible","ck-hidden",s=>!s),n.to("isOn",s=>s?"ck-on":"ck-off"),n.if("withText","ck-button_with-text"),n.if("withKeystroke","ck-button_with-keystroke")],role:n.to("role"),type:n.to("type",s=>s||"button"),tabindex:n.to("tabindex"),"aria-label":n.to("ariaLabel"),"aria-labelledby":n.to("ariaLabelledBy"),"aria-disabled":n.if("isEnabled",!0,s=>!s),"aria-pressed":n.to("isOn",s=>this.isToggleable?String(!!s):!1),"data-cke-tooltip-text":n.to("_tooltipString"),"data-cke-tooltip-position":n.to("tooltipPosition")},children:this.children,on:{click:n.to(s=>{this.isEnabled?this.fire("execute"):s.preventDefault()})}};g.isSafari&&(this._focusDelayed||(this._focusDelayed=Lr(()=>this.focus(),0)),r.on.mousedown=n.to(()=>{this._focusDelayed()}),r.on.mouseup=n.to(()=>{this._focusDelayed.cancel()})),this.setTemplate(r)}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()}destroy(){this._focusDelayed&&this._focusDelayed.cancel(),super.destroy()}_setupLabelView(t){return t.bind("text","style","id").to(this,"label","labelStyle","ariaLabelledBy"),t}_createKeystrokeView(){const t=new Z;return t.setTemplate({tag:"span",attributes:{class:["ck","ck-button__keystroke"]},children:[{text:this.bindTemplate.to("keystroke",e=>fd(e))}]}),t}_getTooltipString(t,e,n){return t?typeof t=="string"?t:(n&&(n=fd(n)),t instanceof Function?t(e,n):`${e}${n?` (${n})`:""}`):""}}var Md=P(7258),Ur={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ur.insert="head",Ur.singleton=!0,R()(Md.Z,Ur),Md.Z.locals;class ri extends at{constructor(t){super(t),this.isToggleable=!0,this.toggleSwitchView=this._createToggleView(),this.extendTemplate({attributes:{class:"ck-switchbutton"}})}render(){super.render(),this.children.add(this.toggleSwitchView)}_createToggleView(){const t=new Z;return t.setTemplate({tag:"span",attributes:{class:["ck","ck-button__toggle"]},children:[{tag:"span",attributes:{class:["ck","ck-button__toggle__inner"]}}]}),t}}const Gr='';var Bd=P(4095),Wr={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Wr.insert="head",Wr.singleton=!0,R()(Bd.Z,Wr),Bd.Z.locals;class sv extends Z{constructor(t,e){super(t);const n=this.bindTemplate;this.set("isCollapsed",!1),this.set("label",""),this.buttonView=this._createButtonView(),this.children=this.createCollection(),this.set("_collapsibleAriaLabelUid",void 0),e&&this.children.addMany(e),this.setTemplate({tag:"div",attributes:{class:["ck","ck-collapsible",n.if("isCollapsed","ck-collapsible_collapsed")]},children:[this.buttonView,{tag:"div",attributes:{class:["ck","ck-collapsible__children"],role:"region",hidden:n.if("isCollapsed","hidden"),"aria-labelledby":n.to("_collapsibleAriaLabelUid")},children:this.children}]})}render(){super.render(),this._collapsibleAriaLabelUid=this.buttonView.labelView.element.id}focus(){this.buttonView.focus()}_createButtonView(){const t=new at(this.locale),e=t.bindTemplate;return t.set({withText:!0,icon:Gr}),t.extendTemplate({attributes:{"aria-expanded":e.to("isOn",n=>String(n))}}),t.bind("label").to(this),t.bind("isOn").to(this,"isCollapsed",n=>!n),t.on("execute",()=>{this.isCollapsed=!this.isCollapsed}),t}}var Nd=P(4923),qr={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};qr.insert="head",qr.singleton=!0,R()(Nd.Z,qr),Nd.Z.locals,P(8874),P(2085);var zd=P(3525),Zr={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Zr.insert="head",Zr.singleton=!0,R()(zd.Z,Zr),zd.Z.locals;class $r extends Z{constructor(t){super(t),this.set("text",void 0),this.set("for",void 0),this.id=`ck-editor__label_${Vt()}`;const e=this.bindTemplate;this.setTemplate({tag:"label",attributes:{class:["ck","ck-label"],id:this.id,for:e.to("for")},children:[{text:e.to("text")}]})}}var Ld=P(2933),Kr={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Kr.insert="head",Kr.singleton=!0,R()(Ld.Z,Kr),Ld.Z.locals;class si extends Z{constructor(t,e){super(t);const n=`ck-labeled-field-view-${Vt()}`,i=`ck-labeled-field-view-status-${Vt()}`;this.fieldView=e(this,n,i),this.set("label",void 0),this.set("isEnabled",!0),this.set("isEmpty",!0),this.set("isFocused",!1),this.set("errorText",null),this.set("infoText",null),this.set("class",void 0),this.set("placeholder",void 0),this.labelView=this._createLabelView(n),this.statusView=this._createStatusView(i),this.fieldWrapperChildren=this.createCollection([this.fieldView,this.labelView]),this.bind("_statusText").to(this,"errorText",this,"infoText",(s,a)=>s||a);const r=this.bindTemplate;this.setTemplate({tag:"div",attributes:{class:["ck","ck-labeled-field-view",r.to("class"),r.if("isEnabled","ck-disabled",s=>!s),r.if("isEmpty","ck-labeled-field-view_empty"),r.if("isFocused","ck-labeled-field-view_focused"),r.if("placeholder","ck-labeled-field-view_placeholder"),r.if("errorText","ck-error")]},children:[{tag:"div",attributes:{class:["ck","ck-labeled-field-view__input-wrapper"]},children:this.fieldWrapperChildren},this.statusView]})}_createLabelView(t){const e=new $r(this.locale);return e.for=t,e.bind("text").to(this,"label"),e}_createStatusView(t){const e=new Z(this.locale),n=this.bindTemplate;return e.setTemplate({tag:"div",attributes:{class:["ck","ck-labeled-field-view__status",n.if("errorText","ck-labeled-field-view__status_error"),n.if("_statusText","ck-hidden",i=>!i)],id:t,role:n.if("errorText","alert")},children:[{text:n.to("_statusText")}]}),e}focus(t){this.fieldView.focus(t)}}class av extends Z{constructor(t){super(t),this.set("value",void 0),this.set("id",void 0),this.set("placeholder",void 0),this.set("isReadOnly",!1),this.set("hasError",!1),this.set("ariaDescribedById",void 0),this.focusTracker=new Pt,this.bind("isFocused").to(this.focusTracker),this.set("isEmpty",!0);const e=this.bindTemplate;this.setTemplate({tag:"input",attributes:{class:["ck","ck-input",e.if("isFocused","ck-input_focused"),e.if("isEmpty","ck-input-text_empty"),e.if("hasError","ck-error")],id:e.to("id"),placeholder:e.to("placeholder"),readonly:e.to("isReadOnly"),"aria-invalid":e.if("hasError",!0),"aria-describedby":e.to("ariaDescribedById")},on:{input:e.to((...n)=>{this.fire("input",...n),this._updateIsEmpty()}),change:e.to(this._updateIsEmpty.bind(this))}})}render(){super.render(),this.focusTracker.add(this.element),this._setDomElementValue(this.value),this._updateIsEmpty(),this.on("change:value",(t,e,n)=>{this._setDomElementValue(n),this._updateIsEmpty()})}destroy(){super.destroy(),this.focusTracker.destroy()}select(){this.element.select()}focus(){this.element.focus()}reset(){this.value=this.element.value="",this._updateIsEmpty()}_updateIsEmpty(){this.isEmpty=cv(this.element)}_setDomElementValue(t){this.element.value=!t&&t!==0?"":t}}function cv(o){return!o.value}var Pd=P(2470),Yr={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Yr.insert="head",Yr.singleton=!0,R()(Pd.Z,Yr),Pd.Z.locals;class lv extends av{constructor(t){super(t),this.set("inputMode","text");const e=this.bindTemplate;this.extendTemplate({attributes:{inputmode:e.to("inputMode")}})}}class dv extends lv{constructor(t){super(t),this.extendTemplate({attributes:{type:"text",class:["ck-input-text"]}})}}var Od=P(5224),Qr={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Qr.insert="head",Qr.singleton=!0,R()(Od.Z,Qr),Od.Z.locals;class uv extends Z{constructor(t){super(t);const e=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",e.to("position",n=>`ck-dropdown__panel_${n}`),e.if("isVisible","ck-dropdown__panel-visible")],tabindex:"-1"},children:this.children,on:{selectstart:e.to(n=>{n.target.tagName.toLocaleLowerCase()!=="input"&&n.preventDefault()})}})}focus(){if(this.children.length){const t=this.children.first;typeof t.focus=="function"?t.focus():(this.children.first,void 0)}}focusLast(){if(this.children.length){const t=this.children.last;typeof t.focusLast=="function"?t.focusLast():t.focus()}}}var Rd=P(5062),Jr={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Jr.insert="head",Jr.singleton=!0,R()(Rd.Z,Jr),Rd.Z.locals;class Bn extends Z{constructor(t,e,n){super(t);const i=this.bindTemplate;this.buttonView=e,this.panelView=n,this.set("isOpen",!1),this.set("isEnabled",!0),this.set("class",void 0),this.set("id",void 0),this.set("panelPosition","auto"),this.panelView.bind("isVisible").to(this,"isOpen"),this.keystrokes=new Gt,this.focusTracker=new Pt,this.setTemplate({tag:"div",attributes:{class:["ck","ck-dropdown",i.to("class"),i.if("isEnabled","ck-disabled",r=>!r)],id:i.to("id"),"aria-describedby":i.to("ariaDescribedById")},children:[e,n]}),e.extendTemplate({attributes:{class:["ck-dropdown__button"],"data-cke-tooltip-disabled":i.to("isOpen")}})}render(){super.render(),this.focusTracker.add(this.buttonView.element),this.focusTracker.add(this.panelView.element),this.listenTo(this.buttonView,"open",()=>{this.isOpen=!this.isOpen}),this.on("change:isOpen",(e,n,i)=>{if(i)if(this.panelPosition==="auto"){const r=Bn._getOptimalPosition({element:this.panelView.element,target:this.buttonView.element,fitInViewport:!0,positions:this._panelPositions});this.panelView.position=r?r.name:this._panelPositions[0].name}else this.panelView.position=this.panelPosition}),this.keystrokes.listenTo(this.element);const t=(e,n)=>{this.isOpen&&(this.isOpen=!1,n())};this.keystrokes.set("arrowdown",(e,n)=>{this.buttonView.isEnabled&&!this.isOpen&&(this.isOpen=!0,n())}),this.keystrokes.set("arrowright",(e,n)=>{this.isOpen&&n()}),this.keystrokes.set("arrowleft",t),this.keystrokes.set("esc",t)}focus(){this.buttonView.focus()}get _panelPositions(){const{south:t,north:e,southEast:n,southWest:i,northEast:r,northWest:s,southMiddleEast:a,southMiddleWest:c,northMiddleEast:l,northMiddleWest:d}=Bn.defaultPanelPositions;return this.locale.uiLanguageDirection!=="rtl"?[n,i,a,c,t,r,s,l,d,e]:[i,n,c,a,t,s,r,d,l,e]}}Bn.defaultPanelPositions={south:(o,t)=>({top:o.bottom,left:o.left-(t.width-o.width)/2,name:"s"}),southEast:o=>({top:o.bottom,left:o.left,name:"se"}),southWest:(o,t)=>({top:o.bottom,left:o.left-t.width+o.width,name:"sw"}),southMiddleEast:(o,t)=>({top:o.bottom,left:o.left-(t.width-o.width)/4,name:"sme"}),southMiddleWest:(o,t)=>({top:o.bottom,left:o.left-(t.width-o.width)*3/4,name:"smw"}),north:(o,t)=>({top:o.top-t.height,left:o.left-(t.width-o.width)/2,name:"n"}),northEast:(o,t)=>({top:o.top-t.height,left:o.left,name:"ne"}),northWest:(o,t)=>({top:o.top-t.height,left:o.left-t.width+o.width,name:"nw"}),northMiddleEast:(o,t)=>({top:o.top-t.height,left:o.left-(t.width-o.width)/4,name:"nme"}),northMiddleWest:(o,t)=>({top:o.top-t.height,left:o.left-(t.width-o.width)*3/4,name:"nmw"})},Bn._getOptimalPosition=Br;const hv=Bn;class jd extends at{constructor(t){super(t),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 t=new en;return t.content=Gr,t.extendTemplate({attributes:{class:"ck-dropdown__arrow"}}),t}}class se extends lt(){constructor(t){if(super(),this.focusables=t.focusables,this.focusTracker=t.focusTracker,this.keystrokeHandler=t.keystrokeHandler,this.actions=t.actions,t.actions&&t.keystrokeHandler)for(const e in t.actions){let n=t.actions[e];typeof n=="string"&&(n=[n]);for(const i of n)t.keystrokeHandler.set(i,(r,s)=>{this[e](),s()})}this.on("forwardCycle",()=>this.focusFirst(),{priority:"low"}),this.on("backwardCycle",()=>this.focusLast(),{priority:"low"})}get first(){return this.focusables.find(Xr)||null}get last(){return this.focusables.filter(Xr).slice(-1)[0]||null}get next(){return this._getDomFocusableItem(1)}get previous(){return this._getDomFocusableItem(-1)}get current(){let t=null;return this.focusTracker.focusedElement===null?null:(this.focusables.find((e,n)=>{const i=e.element===this.focusTracker.focusedElement;return i&&(t=n),i}),t)}focusFirst(){this._focus(this.first,1)}focusLast(){this._focus(this.last,-1)}focusNext(){const t=this.next;if(t&&this.focusables.getIndex(t)===this.current){this.fire("forwardCycle");return}t===this.first?this.fire("forwardCycle"):this._focus(t,1)}focusPrevious(){const t=this.previous;if(t&&this.focusables.getIndex(t)===this.current){this.fire("backwardCycle");return}t===this.last?this.fire("backwardCycle"):this._focus(t,-1)}_focus(t,e){t&&this.focusTracker.focusedElement!==t.element&&t.focus(e)}_getDomFocusableItem(t){const e=this.focusables.length;if(!e)return null;const n=this.current;if(n===null)return this[t===1?"first":"last"];let i=this.focusables.get(n),r=(n+e+t)%e;do{const s=this.focusables.get(r);if(Xr(s)){i=s;break}r=(r+e+t)%e}while(r!==n);return i}}function Xr(o){return co(o)&&tn(o.element)}function co(o){return"focus"in o&&typeof o.focus=="function"}function gv(o){return co(o)&&"focusCycler"in o&&o.focusCycler instanceof se}class Fd extends Z{constructor(t){super(t),this.setTemplate({tag:"span",attributes:{class:["ck","ck-toolbar__separator"]}})}}class fv extends Z{constructor(t){super(t),this.setTemplate({tag:"span",attributes:{class:["ck","ck-toolbar__line-break"]}})}}function mv(o){return o.bindTemplate.to(t=>{t.target===o.element&&t.preventDefault()})}function Vd(o){if(Array.isArray(o))return{items:o,removeItems:[]};const t={items:[],removeItems:[]};return o?{...t,...o}:t}class L extends st(){constructor(t){super(),this._disableStack=new Set,this.editor=t,this.set("isEnabled",!0)}forceDisabled(t){this._disableStack.add(t),this._disableStack.size==1&&(this.on("set:isEnabled",Hd,{priority:"highest"}),this.isEnabled=!1)}clearForceDisabled(t){this._disableStack.delete(t),this._disableStack.size==0&&(this.off("set:isEnabled",Hd),this.isEnabled=!0)}destroy(){this.stopListening()}static get isContextPlugin(){return!1}}function Hd(o){o.return=!1,o.stop()}class X extends st(){constructor(t){super(),this.editor=t,this.set("value",void 0),this.set("isEnabled",!1),this._affectsData=!0,this._isEnabledBasedOnSelection=!0,this._disableStack=new Set,this.decorate("execute"),this.listenTo(this.editor.model.document,"change",()=>{this.refresh()}),this.listenTo(t,"change:isReadOnly",()=>{this.refresh()}),this.on("set:isEnabled",e=>{if(!this.affectsData)return;const n=t.model.document.selection,r=!(n.getFirstPosition().root.rootName=="$graveyard")&&t.model.canEditAt(n);(t.isReadOnly||this._isEnabledBasedOnSelection&&!r)&&(e.return=!1,e.stop())},{priority:"highest"}),this.on("execute",e=>{this.isEnabled||e.stop()},{priority:"high"})}get affectsData(){return this._affectsData}set affectsData(t){this._affectsData=t}refresh(){this.isEnabled=!0}forceDisabled(t){this._disableStack.add(t),this._disableStack.size==1&&(this.on("set:isEnabled",Ud,{priority:"highest"}),this.isEnabled=!1)}clearForceDisabled(t){this._disableStack.delete(t),this._disableStack.size==0&&(this.off("set:isEnabled",Ud),this.refresh())}execute(...t){}destroy(){this.stopListening()}}function Ud(o){o.return=!1,o.stop()}class Gd extends X{constructor(){super(...arguments),this._childCommandsDefinitions=[]}refresh(){}execute(...t){const e=this._getFirstEnabledCommand();return!!e&&e.execute(t)}registerChildCommand(t,e={}){Zc(this._childCommandsDefinitions,{command:t,priority:e.priority||"normal"}),t.on("change:isEnabled",()=>this._checkEnabled()),this._checkEnabled()}_checkEnabled(){this.isEnabled=!!this._getFirstEnabledCommand()}_getFirstEnabledCommand(){const t=this._childCommandsDefinitions.find(({command:e})=>e.isEnabled);return t&&t.command}}class Wd extends lt(){constructor(t,e=[],n=[]){super(),this._plugins=new Map,this._context=t,this._availablePlugins=new Map;for(const i of e)i.pluginName&&this._availablePlugins.set(i.pluginName,i);this._contextPlugins=new Map;for(const[i,r]of n)this._contextPlugins.set(i,r),this._contextPlugins.set(r,i),i.pluginName&&this._availablePlugins.set(i.pluginName,i)}*[Symbol.iterator](){for(const t of this._plugins)typeof t[0]=="function"&&(yield t)}get(t){const e=this._plugins.get(t);if(!e){let n=t;throw typeof t=="function"&&(n=t.pluginName||t.name),new b("plugincollection-plugin-not-loaded",this._context,{plugin:n})}return e}has(t){return this._plugins.has(t)}init(t,e=[],n=[]){const i=this,r=this._context;p(t),S(t);const s=t.filter(U=>!u(U,e)),a=[...w(s)];mt(a,n);const c=tt(a);return ct(c,"init").then(()=>ct(c,"afterInit")).then(()=>c);function l(U){return typeof U=="function"}function d(U){return l(U)&&!!U.isContextPlugin}function u(U,Y){return Y.some(G=>G===U||f(U)===G||f(G)===U)}function f(U){return l(U)?U.pluginName||U.name:U}function p(U,Y=new Set){U.forEach(G=>{l(G)&&(Y.has(G)||(Y.add(G),G.pluginName&&!i._availablePlugins.has(G.pluginName)&&i._availablePlugins.set(G.pluginName,G),G.requires&&p(G.requires,Y)))})}function w(U,Y=new Set){return U.map(G=>l(G)?G:i._availablePlugins.get(G)).reduce((G,wt)=>Y.has(wt)?G:(Y.add(wt),wt.requires&&(S(wt.requires,wt),w(wt.requires,Y).forEach(wn=>G.add(wn))),G.add(wt)),new Set)}function S(U,Y=null){U.map(G=>l(G)?G:i._availablePlugins.get(G)||G).forEach(G=>{M(G,Y),z(G,Y),V(G,Y)})}function M(U,Y){if(!l(U))throw Y?new b("plugincollection-soft-required",r,{missingPlugin:U,requiredBy:f(Y)}):new b("plugincollection-plugin-not-found",r,{plugin:U})}function z(U,Y){if(d(Y)&&!d(U))throw new b("plugincollection-context-required",r,{plugin:f(U),requiredBy:f(Y)})}function V(U,Y){if(Y&&u(U,e))throw new b("plugincollection-required",r,{plugin:f(U),requiredBy:f(Y)})}function tt(U){return U.map(Y=>{let G=i._contextPlugins.get(Y);return G=G||new Y(r),i._add(Y,G),G})}function ct(U,Y){return U.reduce((G,wt)=>!wt[Y]||i._contextPlugins.has(wt)?G:G.then(wt[Y].bind(wt)),Promise.resolve())}function mt(U,Y){for(const G of Y){if(typeof G!="function")throw new b("plugincollection-replace-plugin-invalid-type",null,{pluginItem:G});const wt=G.pluginName;if(!wt)throw new b("plugincollection-replace-plugin-missing-name",null,{pluginItem:G});if(G.requires&&G.requires.length)throw new b("plugincollection-plugin-for-replacing-cannot-have-dependencies",null,{pluginName:wt});const wn=i._availablePlugins.get(wt);if(!wn)throw new b("plugincollection-plugin-for-replacing-not-exist",null,{pluginName:wt});const vk=U.indexOf(wn);if(vk===-1){if(i._contextPlugins.has(wn))return;throw new b("plugincollection-plugin-for-replacing-not-loaded",null,{pluginName:wt})}if(wn.requires&&wn.requires.length)throw new b("plugincollection-replaced-plugin-cannot-have-dependencies",null,{pluginName:wt});U.splice(vk,1,G),i._availablePlugins.set(wt,G)}}}destroy(){const t=[];for(const[,e]of this)typeof e.destroy=="function"&&!this._contextPlugins.has(e)&&t.push(e.destroy());return Promise.all(t)}_add(t,e){this._plugins.set(t,e);const n=t.pluginName;if(n){if(this._plugins.has(n))throw new b("plugincollection-plugin-name-conflict",null,{pluginName:n,plugin1:this._plugins.get(n).constructor,plugin2:t});this._plugins.set(n,e)}}}class qd{constructor(t){this._contextOwner=null,this.config=new $l(t,this.constructor.defaultConfig);const e=this.constructor.builtinPlugins;this.config.define("plugins",e),this.plugins=new Wd(this,e);const n=this.config.get("language")||{};this.locale=new L0({uiLanguage:typeof n=="string"?n:n.ui,contentLanguage:this.config.get("language.content")}),this.t=this.locale.t,this.editors=new oe}initPlugins(){const t=this.config.get("plugins")||[],e=this.config.get("substitutePlugins")||[];for(const n of t.concat(e)){if(typeof n!="function")throw new b("context-initplugins-constructor-only",null,{Plugin:n});if(n.isContextPlugin!==!0)throw new b("context-initplugins-invalid-plugin",null,{Plugin:n})}return this.plugins.init(t,[],e)}destroy(){return Promise.all(Array.from(this.editors,t=>t.destroy())).then(()=>this.plugins.destroy())}_addEditor(t,e){if(this._contextOwner)throw new b("context-addeditor-private-context");this.editors.add(t),e&&(this._contextOwner=t)}_removeEditor(t){return this.editors.has(t)&&this.editors.remove(t),this._contextOwner===t?this.destroy():Promise.resolve()}_getEditorConfig(){const t={};for(const e of this.config.names())["plugins","removePlugins","extraPlugins"].includes(e)||(t[e]=this.config.get(e));return t}static create(t){return new Promise(e=>{const n=new this(t);e(n.initPlugins().then(()=>n))})}}class ai extends st(){constructor(t){super(),this.context=t}destroy(){this.stopListening()}static get isContextPlugin(){return!0}}var Zd=P(7372),ts={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};ts.insert="head",ts.singleton=!0,R()(Zd.Z,ts),Zd.Z.locals;const ci=new WeakMap;let $d=!1;function Kd({view:o,element:t,text:e,isDirectHost:n=!0,keepOnFocus:i=!1}){const r=o.document;ci.has(r)||(ci.set(r,new Map),r.registerPostFixer(a=>es(r,a)),r.on("change:isComposing",()=>{o.change(a=>es(r,a))},{priority:"high"})),t.is("editableElement")&&t.on("change:placeholder",(a,c,l)=>{s(l)}),t.placeholder?s(t.placeholder):e&&s(e),e&&Av();function s(a){ci.get(r).set(t,{text:a,isDirectHost:n,keepOnFocus:i,hostElement:n?t:null}),o.change(c=>es(r,c))}}function pv(o,t){return t.hasClass("ck-placeholder")?!1:(o.addClass("ck-placeholder",t),!0)}function kv(o,t){return t.hasClass("ck-placeholder")?(o.removeClass("ck-placeholder",t),!0):!1}function bv(o,t){if(!o.isAttached()||Array.from(o.getChildren()).some(s=>!s.is("uiElement")))return!1;const n=o.document,r=n.selection.anchor;return n.isComposing&&r&&r.parent===o?!1:t||!n.isFocused?!0:!!r&&r.parent!==o}function es(o,t){const e=ci.get(o),n=[];let i=!1;for(const[r,s]of e)s.isDirectHost&&(n.push(r),Yd(t,r,s)&&(i=!0));for(const[r,s]of e){if(s.isDirectHost)continue;const a=wv(r);a&&(n.includes(a)||(s.hostElement=a,Yd(t,r,s)&&(i=!0)))}return i}function Yd(o,t,e){const{text:n,isDirectHost:i,hostElement:r}=e;let s=!1;return r.getAttribute("data-placeholder")!==n&&(o.setAttribute("data-placeholder",n,r),s=!0),(i||t.childCount==1)&&bv(r,e.keepOnFocus)?pv(o,r)&&(s=!0):kv(o,r)&&(s=!0),s}function wv(o){if(o.childCount){const t=o.getChild(0);if(t.is("element")&&!t.is("uiElement")&&!t.is("attributeElement"))return t}return null}function Av(){$d||void 0,$d=!0}class nn{is(){throw new Error("is() method is abstract")}}var Cv=4;function _v(o){return Dr(o,Cv)}const Qd=_v;class on extends lt(nn){constructor(t){super(),this.document=t,this.parent=null}get index(){let t;if(!this.parent)return null;if((t=this.parent.getChildIndex(this))==-1)throw new b("view-node-not-found-in-parent",this);return t}get nextSibling(){const t=this.index;return t!==null&&this.parent.getChild(t+1)||null}get previousSibling(){const t=this.index;return t!==null&&this.parent.getChild(t-1)||null}get root(){let t=this;for(;t.parent;)t=t.parent;return t}isAttached(){return this.root.is("rootElement")}getPath(){const t=[];let e=this;for(;e.parent;)t.unshift(e.index),e=e.parent;return t}getAncestors(t={}){const e=[];let n=t.includeSelf?this:this.parent;for(;n;)e[t.parentFirst?"push":"unshift"](n),n=n.parent;return e}getCommonAncestor(t,e={}){const n=this.getAncestors(e),i=t.getAncestors(e);let r=0;for(;n[r]==i[r]&&n[r];)r++;return r===0?null:n[r-1]}isBefore(t){if(this==t||this.root!==t.root)return!1;const e=this.getPath(),n=t.getPath(),i=jt(e,n);switch(i){case"prefix":return!0;case"extension":return!1;default:return e[i]t.data.length)throw new b("view-textproxy-wrong-offsetintext",this);if(n<0||e+n>t.data.length)throw new b("view-textproxy-wrong-length",this);this.data=t.data.substring(e,e+n),this.offsetInText=e}get offsetSize(){return this.data.length}get isPartial(){return this.data.length!==this.textNode.data.length}get parent(){return this.textNode.parent}get root(){return this.textNode.root}get document(){return this.textNode.document}getAncestors(t={}){const e=[];let n=t.includeSelf?this.textNode:this.parent;for(;n!==null;)e[t.parentFirst?"push":"unshift"](n),n=n.parent;return e}}Ce.prototype.is=function(o){return o==="$textProxy"||o==="view:$textProxy"||o==="textProxy"||o==="view:textProxy"};class he{constructor(...t){this._patterns=[],this.add(...t)}add(...t){for(let e of t)(typeof e=="string"||e instanceof RegExp)&&(e={name:e}),this._patterns.push(e)}match(...t){for(const e of t)for(const n of this._patterns){const i=Jd(e,n);if(i)return{element:e,pattern:n,match:i}}return null}matchAll(...t){const e=[];for(const n of t)for(const i of this._patterns){const r=Jd(n,i);r&&e.push({element:n,pattern:i,match:r})}return e.length>0?e:null}getElementName(){if(this._patterns.length!==1)return null;const t=this._patterns[0],e=t.name;return typeof t!="function"&&e&&!(e instanceof RegExp)?e:null}}function Jd(o,t){if(typeof t=="function")return t(o);const e={};return t.name&&(e.name=vv(t.name,o.name),!e.name)||t.attributes&&(e.attributes=Dv(t.attributes,o),!e.attributes)||t.classes&&(e.classes=Sv(t.classes,o),!e.classes)||t.styles&&(e.styles=Tv(t.styles,o),!e.styles)?null:e}function vv(o,t){return o instanceof RegExp?!!t.match(o):o===t}function ns(o,t,e){const n=yv(o),i=Array.from(t),r=[];if(n.forEach(([s,a])=>{i.forEach(c=>{xv(s,c)&&Ev(a,c,e)&&r.push(c)})}),!(!n.length||r.length$t(t)?((t.key===void 0||t.value===void 0)&&void 0,[t.key,t.value]):[t,!0]):$t(o)?Object.entries(o):[[o,!0]]}function xv(o,t){return o===!0||o===t||o instanceof RegExp&&t.match(o)}function Ev(o,t,e){if(o===!0)return!0;const n=e(t);return o===n||o instanceof RegExp&&!!String(n).match(o)}function Dv(o,t){const e=new Set(t.getAttributeKeys());return $t(o)?(o.style!==void 0&&void 0,o.class!==void 0&&void 0):(e.delete("style"),e.delete("class")),ns(o,e,n=>t.getAttribute(n))}function Sv(o,t){return ns(o,t.getClassNames(),()=>{})}function Tv(o,t){return ns(o,t.getStyleNames(!0),e=>t.getStyle(e))}var Iv="[object Symbol]";function Mv(o){return typeof o=="symbol"||ne(o)&&je(o)==Iv}const li=Mv;var Bv=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Nv=/^\w*$/;function zv(o,t){if(Ht(o))return!1;var e=typeof o;return e=="number"||e=="symbol"||e=="boolean"||o==null||li(o)?!0:Nv.test(o)||!Bv.test(o)||t!=null&&o in Object(t)}const Lv=zv;var Pv="Expected a function";function os(o,t){if(typeof o!="function"||t!=null&&typeof t!="function")throw new TypeError(Pv);var e=function(){var n=arguments,i=t?t.apply(this,n):n[0],r=e.cache;if(r.has(i))return r.get(i);var s=o.apply(this,n);return e.cache=r.set(i,s)||r,s};return e.cache=new(os.Cache||Zo),e}os.Cache=Zo;const Ov=os;var Rv=500;function jv(o){var t=Ov(o,function(n){return e.size===Rv&&e.clear(),n}),e=t.cache;return t}const Fv=jv;var Vv=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Hv=/\\(\\)?/g,Uv=Fv(function(o){var t=[];return o.charCodeAt(0)===46&&t.push(""),o.replace(Vv,function(e,n,i,r){t.push(i?r.replace(Hv,"$1"):n||e)}),t});const Gv=Uv;function Wv(o,t){for(var e=-1,n=o==null?0:o.length,i=Array(n);++ei?0:i+t),e=e>i?i:e,e<0&&(e+=i),i=t>e?0:e-t>>>0,t>>>=0;for(var r=Array(i);++n0){if(++t>=M1)return arguments[0]}else t=0;return o.apply(void 0,arguments)}}var L1=z1(I1);const P1=L1;function O1(o,t){return P1(E1(o,t,rn),o+"")}const R1=O1;function j1(o,t,e){if(!Ct(e))return!1;var n=typeof t;return(n=="number"?Ko(e)&&fr(t,e.length):n=="string"&&t in e)?Jn(e[t],o):!1}const F1=j1;function V1(o){return R1(function(t,e){var n=-1,i=e.length,r=i>1?e[i-1]:void 0,s=i>2?e[2]:void 0;for(r=o.length>3&&typeof r=="function"?(i--,r):void 0,s&&F1(e[0],e[1],s)&&(r=i<3?void 0:r,i=1),t=Object(t);++ni===t);return Array.isArray(n)}set(t,e){if(Ct(t))for(const[n,i]of Object.entries(t))this._styleProcessor.toNormalizedForm(n,i,this._styles);else this._styleProcessor.toNormalizedForm(t,e,this._styles)}remove(t){const e=ls(t);c1(this._styles,e),delete this._styles[t],this._cleanEmptyObjectsOnPath(e)}getNormalized(t){return this._styleProcessor.getNormalized(t,this._styles)}toString(){return this.isEmpty?"":this._getStylesEntries().map(t=>t.join(":")).sort().join(";")+";"}getAsString(t){if(this.isEmpty)return;if(this._styles[t]&&!Ct(this._styles[t]))return this._styles[t];const n=this._styleProcessor.getReducedForm(t,this._styles).find(([i])=>i===t);if(Array.isArray(n))return n[1]}getStyleNames(t=!1){return this.isEmpty?[]:t?this._styleProcessor.getStyleNames(this._styles):this._getStylesEntries().map(([n])=>n)}clear(){this._styles={}}_getStylesEntries(){const t=[],e=Object.keys(this._styles);for(const n of e)t.push(...this._styleProcessor.getReducedForm(n,this._styles));return t}_cleanEmptyObjectsOnPath(t){const e=t.split(".");if(!(e.length>1))return;const i=e.splice(0,e.length-1).join("."),r=di(this._styles,i);if(!r)return;!Object.keys(r).length&&this.remove(i)}}class $1{constructor(){this._normalizers=new Map,this._extractors=new Map,this._reducers=new Map,this._consumables=new Map}toNormalizedForm(t,e,n){if(Ct(e)){ds(n,ls(t),e);return}if(this._normalizers.has(t)){const i=this._normalizers.get(t),{path:r,value:s}=i(e);ds(n,r,s)}else ds(n,t,e)}getNormalized(t,e){if(!t)return au({},e);if(e[t]!==void 0)return e[t];if(this._extractors.has(t)){const n=this._extractors.get(t);if(typeof n=="string")return di(e,n);const i=n(t,e);if(i)return i}return di(e,ls(t))}getReducedForm(t,e){const n=this.getNormalized(t,e);return n===void 0?[]:this._reducers.has(t)?this._reducers.get(t)(n):[[t,n]]}getStyleNames(t){const e=Array.from(this._consumables.keys()).filter(i=>{const r=this.getNormalized(i,t);return r&&typeof r=="object"?Object.keys(r).length:r}),n=new Set([...e,...Object.keys(t)]);return Array.from(n)}getRelatedStyles(t){return this._consumables.get(t)||[]}setNormalizer(t,e){this._normalizers.set(t,e)}setExtractor(t,e){this._extractors.set(t,e)}setReducer(t,e){this._reducers.set(t,e)}setStyleRelation(t,e){this._mapStyleNames(t,e);for(const n of e)this._mapStyleNames(n,[t])}_mapStyleNames(t,e){this._consumables.has(t)||this._consumables.set(t,[]),this._consumables.get(t).push(...e)}}function K1(o){let t=null,e=0,n=0,i=null;const r=new Map;if(o==="")return r;o.charAt(o.length-1)!=";"&&(o=o+";");for(let s=0;s0&&(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(t){if(t=="class")return this._classes.size>0?[...this._classes].join(" "):void 0;if(t=="style"){const e=this._styles.toString();return e==""?void 0:e}return this._attrs.get(t)}hasAttribute(t){return t=="class"?this._classes.size>0:t=="style"?!this._styles.isEmpty:this._attrs.has(t)}isSimilar(t){if(!(t instanceof Yt))return!1;if(this===t)return!0;if(this.name!=t.name||this._attrs.size!==t._attrs.size||this._classes.size!==t._classes.size||this._styles.size!==t._styles.size)return!1;for(const[e,n]of this._attrs)if(!t._attrs.has(e)||t._attrs.get(e)!==n)return!1;for(const e of this._classes)if(!t._classes.has(e))return!1;for(const e of this._styles.getStyleNames())if(!t._styles.has(e)||t._styles.getAsString(e)!==this._styles.getAsString(e))return!1;return!0}hasClass(...t){for(const e of t)if(!this._classes.has(e))return!1;return!0}getClassNames(){return this._classes.keys()}getStyle(t){return this._styles.getAsString(t)}getNormalizedStyle(t){return this._styles.getNormalized(t)}getStyleNames(t){return this._styles.getStyleNames(t)}hasStyle(...t){for(const e of t)if(!this._styles.has(e))return!1;return!0}findAncestor(...t){const e=new he(...t);let n=this.parent;for(;n&&!n.is("documentFragment");){if(e.match(n))return n;n=n.parent}return null}getCustomProperty(t){return this._customProperties.get(t)}*getCustomProperties(){yield*this._customProperties.entries()}getIdentity(){const t=Array.from(this._classes).sort().join(","),e=this._styles.toString(),n=Array.from(this._attrs).map(i=>`${i[0]}="${i[1]}"`).sort().join(" ");return this.name+(t==""?"":` class="${t}"`)+(e?` style="${e}"`:"")+(n==""?"":` ${n}`)}shouldRenderUnsafeAttribute(t){return this._unsafeAttributesToRender.includes(t)}_clone(t=!1){const e=[];if(t)for(const i of this.getChildren())e.push(i._clone(t));const n=new this.constructor(this.document,this.name,this._attrs,e);return n._classes=new Set(this._classes),n._styles.set(this._styles.getNormalized()),n._customProperties=new Map(this._customProperties),n.getFillerOffset=this.getFillerOffset,n._unsafeAttributesToRender=this._unsafeAttributesToRender,n}_appendChild(t){return this._insertChild(this.childCount,t)}_insertChild(t,e){this._fireChange("children",this);let n=0;const i=Q1(this.document,e);for(const r of i)r.parent!==null&&r._remove(),r.parent=this,r.document=this.document,this._children.splice(t,0,r),t++,n++;return n}_removeChildren(t,e=1){this._fireChange("children",this);for(let n=t;n0?(this._classes.clear(),!0):!1:t=="style"?this._styles.isEmpty?!1:(this._styles.clear(),!0):this._attrs.delete(t)}_addClass(t){this._fireChange("attributes",this);for(const e of bt(t))this._classes.add(e)}_removeClass(t){this._fireChange("attributes",this);for(const e of bt(t))this._classes.delete(e)}_setStyle(t,e){this._fireChange("attributes",this),typeof t!="string"?this._styles.set(t):this._styles.set(t,e)}_removeStyle(t){this._fireChange("attributes",this);for(const e of bt(t))this._styles.remove(e)}_setCustomProperty(t,e){this._customProperties.set(t,e)}_removeCustomProperty(t){return this._customProperties.delete(t)}}Yt.prototype.is=function(o,t){return t?t===this.name&&(o==="element"||o==="view:element"):o==="element"||o==="view:element"||o==="node"||o==="view:node"};function Y1(o){const t=Se(o);for(const[e,n]of t)n===null?t.delete(e):typeof n!="string"&&t.set(e,String(n));return t}function cu(o,t){const e=t.split(/\s+/);o.clear(),e.forEach(n=>o.add(n))}function Q1(o,t){return typeof t=="string"?[new ht(o,t)]:(Zt(t)||(t=[t]),Array.from(t).map(e=>typeof e=="string"?new ht(o,e):e instanceof Ce?new ht(o,e.data):e))}class lo extends Yt{constructor(t,e,n,i){super(t,e,n,i),this.getFillerOffset=J1}}lo.prototype.is=function(o,t){return t?t===this.name&&(o==="containerElement"||o==="view:containerElement"||o==="element"||o==="view:element"):o==="containerElement"||o==="view:containerElement"||o==="element"||o==="view:element"||o==="node"||o==="view:node"};function J1(){const o=[...this.getChildren()],t=o[this.childCount-1];if(t&&t.is("element","br"))return this.childCount;for(const e of o)if(!e.is("uiElement"))return null;return this.childCount}class ui extends st(lo){constructor(t,e,n,i){super(t,e,n,i),this.set("isReadOnly",!1),this.set("isFocused",!1),this.set("placeholder",void 0),this.bind("isReadOnly").to(t),this.bind("isFocused").to(t,"isFocused",r=>r&&t.selection.editableElement==this),this.listenTo(t.selection,"change",()=>{this.isFocused=t.isFocused&&t.selection.editableElement==this})}destroy(){this.stopListening()}}ui.prototype.is=function(o,t){return t?t===this.name&&(o==="editableElement"||o==="view:editableElement"||o==="containerElement"||o==="view:containerElement"||o==="element"||o==="view:element"):o==="editableElement"||o==="view:editableElement"||o==="containerElement"||o==="view:containerElement"||o==="element"||o==="view:element"||o==="node"||o==="view:node"};const lu=Symbol("rootName");class du extends ui{constructor(t,e){super(t,e),this.rootName="main"}get rootName(){return this.getCustomProperty(lu)}set rootName(t){this._setCustomProperty(lu,t)}set _name(t){this.name=t}}du.prototype.is=function(o,t){return t?t===this.name&&(o==="rootElement"||o==="view:rootElement"||o==="editableElement"||o==="view:editableElement"||o==="containerElement"||o==="view:containerElement"||o==="element"||o==="view:element"):o==="rootElement"||o==="view:rootElement"||o==="editableElement"||o==="view:editableElement"||o==="containerElement"||o==="view:containerElement"||o==="element"||o==="view:element"||o==="node"||o==="view:node"};class sn{constructor(t={}){if(!t.boundaries&&!t.startPosition)throw new b("view-tree-walker-no-start-position",null);if(t.direction&&t.direction!="forward"&&t.direction!="backward")throw new b("view-tree-walker-unknown-direction",t.startPosition,{direction:t.direction});this.boundaries=t.boundaries||null,t.startPosition?this._position=O._createAt(t.startPosition):this._position=O._createAt(t.boundaries[t.direction=="backward"?"end":"start"]),this.direction=t.direction||"forward",this.singleCharacters=!!t.singleCharacters,this.shallow=!!t.shallow,this.ignoreElementEnd=!!t.ignoreElementEnd,this._boundaryStartParent=this.boundaries?this.boundaries.start.parent:null,this._boundaryEndParent=this.boundaries?this.boundaries.end.parent:null}[Symbol.iterator](){return this}get position(){return this._position}skip(t){let e,n;do n=this.position,e=this.next();while(!e.done&&t(e.value));e.done||(this._position=n)}next(){return this.direction=="forward"?this._next():this._previous()}_next(){let t=this.position.clone();const e=this.position,n=t.parent;if(n.parent===null&&t.offset===n.childCount)return{done:!0,value:void 0};if(n===this._boundaryEndParent&&t.offset==this.boundaries.end.offset)return{done:!0,value:void 0};let i;if(n instanceof ht){if(t.isAtEnd)return this._position=O._createAfter(n),this._next();i=n.data[t.offset]}else i=n.getChild(t.offset);if(i instanceof Yt){if(!this.shallow)t=new O(i,0);else{if(this.boundaries&&this.boundaries.end.isBefore(t))return{done:!0,value:void 0};t.offset++}return this._position=t,this._formatReturnValue("elementStart",i,e,t,1)}if(i instanceof ht){if(this.singleCharacters)return t=new O(i,0),this._position=t,this._next();let r=i.data.length,s;return i==this._boundaryEndParent?(r=this.boundaries.end.offset,s=new Ce(i,0,r),t=O._createAfter(s)):(s=new Ce(i,0,i.data.length),t.offset++),this._position=t,this._formatReturnValue("text",s,e,t,r)}if(typeof i=="string"){let r;this.singleCharacters?r=1:r=(n===this._boundaryEndParent?this.boundaries.end.offset:n.data.length)-t.offset;const s=new Ce(n,t.offset,r);return t.offset+=r,this._position=t,this._formatReturnValue("text",s,e,t,r)}return t=O._createAfter(n),this._position=t,this.ignoreElementEnd?this._next():this._formatReturnValue("elementEnd",n,e,t)}_previous(){let t=this.position.clone();const e=this.position,n=t.parent;if(n.parent===null&&t.offset===0)return{done:!0,value:void 0};if(n==this._boundaryStartParent&&t.offset==this.boundaries.start.offset)return{done:!0,value:void 0};let i;if(n instanceof ht){if(t.isAtStart)return this._position=O._createBefore(n),this._previous();i=n.data[t.offset-1]}else i=n.getChild(t.offset-1);if(i instanceof Yt)return this.shallow?(t.offset--,this._position=t,this._formatReturnValue("elementStart",i,e,t,1)):(t=new O(i,i.childCount),this._position=t,this.ignoreElementEnd?this._previous():this._formatReturnValue("elementEnd",i,e,t));if(i instanceof ht){if(this.singleCharacters)return t=new O(i,i.data.length),this._position=t,this._previous();let r=i.data.length,s;if(i==this._boundaryStartParent){const a=this.boundaries.start.offset;s=new Ce(i,a,i.data.length-a),r=s.data.length,t=O._createBefore(s)}else s=new Ce(i,0,i.data.length),t.offset--;return this._position=t,this._formatReturnValue("text",s,e,t,r)}if(typeof i=="string"){let r;if(this.singleCharacters)r=1;else{const a=n===this._boundaryStartParent?this.boundaries.start.offset:0;r=t.offset-a}t.offset-=r;const s=new Ce(n,t.offset,r);return this._position=t,this._formatReturnValue("text",s,e,t,r)}return t=O._createBefore(n),this._position=t,this._formatReturnValue("elementStart",n,e,t,1)}_formatReturnValue(t,e,n,i,r){return e instanceof Ce&&(e.offsetInText+e.data.length==e.textNode.data.length&&(this.direction=="forward"&&!(this.boundaries&&this.boundaries.end.isEqual(this.position))?(i=O._createAfter(e.textNode),this._position=i):n=O._createAfter(e.textNode)),e.offsetInText===0&&(this.direction=="backward"&&!(this.boundaries&&this.boundaries.start.isEqual(this.position))?(i=O._createBefore(e.textNode),this._position=i):n=O._createBefore(e.textNode))),{done:!1,value:{type:t,item:e,previousPosition:n,nextPosition:i,length:r}}}}class O extends nn{constructor(t,e){super(),this.parent=t,this.offset=e}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 this.offset===0}get isAtEnd(){const t=this.parent.is("$text")?this.parent.data.length:this.parent.childCount;return this.offset===t}get root(){return this.parent.root}get editableElement(){let t=this.parent;for(;!(t instanceof ui);)if(t.parent)t=t.parent;else return null;return t}getShiftedBy(t){const e=O._createAt(this),n=e.offset+t;return e.offset=n<0?0:n,e}getLastMatchingPosition(t,e={}){e.startPosition=this;const n=new sn(e);return n.skip(t),n.position}getAncestors(){return this.parent.is("documentFragment")?[this.parent]:this.parent.getAncestors({includeSelf:!0})}getCommonAncestor(t){const e=this.getAncestors(),n=t.getAncestors();let i=0;for(;e[i]==n[i]&&e[i];)i++;return i===0?null:e[i-1]}isEqual(t){return this.parent==t.parent&&this.offset==t.offset}isBefore(t){return this.compareWith(t)=="before"}isAfter(t){return this.compareWith(t)=="after"}compareWith(t){if(this.root!==t.root)return"different";if(this.isEqual(t))return"same";const e=this.parent.is("node")?this.parent.getPath():[],n=t.parent.is("node")?t.parent.getPath():[];e.push(this.offset),n.push(t.offset);const i=jt(e,n);switch(i){case"prefix":return"before";case"extension":return"after";default:return e[i]0?new this(n,i):new this(i,n)}static _createIn(t){return this._createFromParentsAndOffsets(t,0,t,t.childCount)}static _createOn(t){const e=t.is("$textProxy")?t.offsetSize:1;return this._createFromPositionAndShift(O._createBefore(t),e)}}K.prototype.is=function(o){return o==="range"||o==="view:range"};function hi(o){return!!(o.item.is("attributeElement")||o.item.is("uiElement"))}class ge extends lt(nn){constructor(...t){super(),this._ranges=[],this._lastRangeBackward=!1,this._isFake=!1,this._fakeSelectionLabel="",t.length&&this.setTo(...t)}get isFake(){return this._isFake}get fakeSelectionLabel(){return this._fakeSelectionLabel}get anchor(){if(!this._ranges.length)return null;const t=this._ranges[this._ranges.length-1];return(this._lastRangeBackward?t.end:t.start).clone()}get focus(){if(!this._ranges.length)return null;const t=this._ranges[this._ranges.length-1];return(this._lastRangeBackward?t.start:t.end).clone()}get isCollapsed(){return this.rangeCount===1&&this._ranges[0].isCollapsed}get rangeCount(){return this._ranges.length}get isBackward(){return!this.isCollapsed&&this._lastRangeBackward}get editableElement(){return this.anchor?this.anchor.editableElement:null}*getRanges(){for(const t of this._ranges)yield t.clone()}getFirstRange(){let t=null;for(const e of this._ranges)(!t||e.start.isBefore(t.start))&&(t=e);return t?t.clone():null}getLastRange(){let t=null;for(const e of this._ranges)(!t||e.end.isAfter(t.end))&&(t=e);return t?t.clone():null}getFirstPosition(){const t=this.getFirstRange();return t?t.start.clone():null}getLastPosition(){const t=this.getLastRange();return t?t.end.clone():null}isEqual(t){if(this.isFake!=t.isFake||this.isFake&&this.fakeSelectionLabel!=t.fakeSelectionLabel||this.rangeCount!=t.rangeCount)return!1;if(this.rangeCount===0)return!0;if(!this.anchor.isEqual(t.anchor)||!this.focus.isEqual(t.focus))return!1;for(const e of this._ranges){let n=!1;for(const i of t._ranges)if(e.isEqual(i)){n=!0;break}if(!n)return!1}return!0}isSimilar(t){if(this.isBackward!=t.isBackward)return!1;const e=cr(this.getRanges()),n=cr(t.getRanges());if(e!=n)return!1;if(e==0)return!0;for(let i of this.getRanges()){i=i.getTrimmed();let r=!1;for(let s of t.getRanges())if(s=s.getTrimmed(),i.start.isEqual(s.start)&&i.end.isEqual(s.end)){r=!0;break}if(!r)return!1}return!0}getSelectedElement(){return this.rangeCount!==1?null:this.getFirstRange().getContainedElement()}setTo(...t){let[e,n,i]=t;if(typeof n=="object"&&(i=n,n=void 0),e===null)this._setRanges([]),this._setFakeOptions(i);else if(e instanceof ge||e instanceof us)this._setRanges(e.getRanges(),e.isBackward),this._setFakeOptions({fake:e.isFake,label:e.fakeSelectionLabel});else if(e instanceof K)this._setRanges([e],i&&i.backward),this._setFakeOptions(i);else if(e instanceof O)this._setRanges([new K(e)]),this._setFakeOptions(i);else if(e instanceof on){const r=!!i&&!!i.backward;let s;if(n===void 0)throw new b("view-selection-setto-required-second-parameter",this);n=="in"?s=K._createIn(e):n=="on"?s=K._createOn(e):s=new K(O._createAt(e,n)),this._setRanges([s],r),this._setFakeOptions(i)}else if(Zt(e))this._setRanges(e,i&&i.backward),this._setFakeOptions(i);else throw new b("view-selection-setto-not-selectable",this);this.fire("change")}setFocus(t,e){if(this.anchor===null)throw new b("view-selection-setfocus-no-ranges",this);const n=O._createAt(t,e);if(n.compareWith(this.focus)=="same")return;const i=this.anchor;this._ranges.pop(),n.compareWith(i)=="before"?this._addRange(new K(n,i),!0):this._addRange(new K(i,n)),this.fire("change")}_setRanges(t,e=!1){t=Array.from(t),this._ranges=[];for(const n of t)this._addRange(n);this._lastRangeBackward=!!e}_setFakeOptions(t={}){this._isFake=!!t.fake,this._fakeSelectionLabel=t.fake&&t.label||""}_addRange(t,e=!1){if(!(t instanceof K))throw new b("view-selection-add-range-not-range",this);this._pushRange(t),this._lastRangeBackward=!!e}_pushRange(t){for(const e of this._ranges)if(t.isIntersecting(e))throw new b("view-selection-range-intersects",this,{addedRange:t,intersectingRange:e});this._ranges.push(new K(t.start,t.end))}}ge.prototype.is=function(o){return o==="selection"||o==="view:selection"};class us extends lt(nn){constructor(...t){super(),this._selection=new ge,this._selection.delegate("change").to(this),t.length&&this._selection.setTo(...t)}get isFake(){return this._selection.isFake}get fakeSelectionLabel(){return this._selection.fakeSelectionLabel}get anchor(){return this._selection.anchor}get focus(){return this._selection.focus}get isCollapsed(){return this._selection.isCollapsed}get rangeCount(){return this._selection.rangeCount}get isBackward(){return this._selection.isBackward}get editableElement(){return this._selection.editableElement}get _ranges(){return this._selection._ranges}*getRanges(){yield*this._selection.getRanges()}getFirstRange(){return this._selection.getFirstRange()}getLastRange(){return this._selection.getLastRange()}getFirstPosition(){return this._selection.getFirstPosition()}getLastPosition(){return this._selection.getLastPosition()}getSelectedElement(){return this._selection.getSelectedElement()}isEqual(t){return this._selection.isEqual(t)}isSimilar(t){return this._selection.isSimilar(t)}_setTo(...t){this._selection.setTo(...t)}_setFocus(t,e){this._selection.setFocus(t,e)}}us.prototype.is=function(o){return o==="selection"||o=="documentSelection"||o=="view:selection"||o=="view:documentSelection"};class Nn extends zt{constructor(t,e,n){super(t,e),this.startRange=n,this._eventPhase="none",this._currentTarget=null}get eventPhase(){return this._eventPhase}get currentTarget(){return this._currentTarget}}const hs=Symbol("bubbling contexts");function gs(o){class t extends o{fire(n,...i){try{const r=n instanceof zt?n:new zt(this,n),s=fs(this);if(!s.size)return;if(uo(r,"capturing",this),zn(s,"$capture",r,...i))return r.return;const a=r.startRange||this.selection.getFirstRange(),c=a?a.getContainedElement():null,l=c?!!uu(s,c):!1;let d=c||X1(a);if(uo(r,"atTarget",d),!l){if(zn(s,"$text",r,...i))return r.return;uo(r,"bubbling",d)}for(;d;){if(d.is("rootElement")){if(zn(s,"$root",r,...i))return r.return}else if(d.is("element")&&zn(s,d.name,r,...i))return r.return;if(zn(s,d,r,...i))return r.return;d=d.parent,uo(r,"bubbling",d)}return uo(r,"bubbling",this),zn(s,"$document",r,...i),r.return}catch(r){b.rethrowUnexpectedError(r,this)}}_addEventListener(n,i,r){const s=bt(r.context||"$document"),a=fs(this);for(const c of s){let l=a.get(c);l||(l=new(lt()),a.set(c,l)),this.listenTo(l,n,i,r)}}_removeEventListener(n,i){const r=fs(this);for(const s of r.values())this.stopListening(s,n,i)}}return t}{const o=gs(Object);["fire","_addEventListener","_removeEventListener"].forEach(t=>{gs[t]=o.prototype[t]})}function uo(o,t,e){o instanceof Nn&&(o._eventPhase=t,o._currentTarget=e)}function zn(o,t,e,...n){const i=typeof t=="string"?o.get(t):uu(o,t);return i?(i.fire(e,...n),e.stop.called):!1}function uu(o,t){for(const[e,n]of o)if(typeof e=="function"&&e(t))return n;return null}function fs(o){return o[hs]||(o[hs]=new Map),o[hs]}function X1(o){if(!o)return null;const t=o.start.parent,e=o.end.parent,n=t.getPath(),i=e.getPath();return n.length>i.length?t:e}class gi extends gs(st()){constructor(t){super(),this._postFixers=new Set,this.selection=new us,this.roots=new oe({idProperty:"rootName"}),this.stylesProcessor=t,this.set("isReadOnly",!1),this.set("isFocused",!1),this.set("isSelecting",!1),this.set("isComposing",!1)}getRoot(t="main"){return this.roots.get(t)}registerPostFixer(t){this._postFixers.add(t)}destroy(){this.roots.forEach(t=>t.destroy()),this.stopListening()}_callPostFixers(t){let e=!1;do for(const n of this._postFixers)if(e=n(t),e)break;while(e)}}const hu=10;class ms extends Yt{constructor(t,e,n,i){super(t,e,n,i),this._priority=hu,this._id=null,this._clonesGroup=null,this.getFillerOffset=ty}get priority(){return this._priority}get id(){return this._id}getElementsWithSameId(){if(this.id===null)throw new b("attribute-element-get-elements-with-same-id-no-id",this);return new Set(this._clonesGroup)}isSimilar(t){return this.id!==null||t.id!==null?this.id===t.id:super.isSimilar(t)&&this.priority==t.priority}_clone(t=!1){const e=super._clone(t);return e._priority=this._priority,e._id=this._id,e}}ms.DEFAULT_PRIORITY=hu;const ho=ms;ms.prototype.is=function(o,t){return t?t===this.name&&(o==="attributeElement"||o==="view:attributeElement"||o==="element"||o==="view:element"):o==="attributeElement"||o==="view:attributeElement"||o==="element"||o==="view:element"||o==="node"||o==="view:node"};function ty(){if(ps(this))return null;let o=this.parent;for(;o&&o.is("attributeElement");){if(ps(o)>1)return null;o=o.parent}return!o||ps(o)>1?null:this.childCount}function ps(o){return Array.from(o.getChildren()).filter(t=>!t.is("uiElement")).length}class ks extends Yt{constructor(t,e,n,i){super(t,e,n,i),this.getFillerOffset=ey}_insertChild(t,e){if(e&&(e instanceof on||Array.from(e).length>0))throw new b("view-emptyelement-cannot-add",[this,e]);return 0}}ks.prototype.is=function(o,t){return t?t===this.name&&(o==="emptyElement"||o==="view:emptyElement"||o==="element"||o==="view:element"):o==="emptyElement"||o==="view:emptyElement"||o==="element"||o==="view:element"||o==="node"||o==="view:node"};function ey(){return null}class fi extends Yt{constructor(t,e,n,i){super(t,e,n,i),this.getFillerOffset=oy}_insertChild(t,e){if(e&&(e instanceof on||Array.from(e).length>0))throw new b("view-uielement-cannot-add",[this,e]);return 0}render(t,e){return this.toDomElement(t)}toDomElement(t){const e=t.createElement(this.name);for(const n of this.getAttributeKeys())e.setAttribute(n,this.getAttribute(n));return e}}fi.prototype.is=function(o,t){return t?t===this.name&&(o==="uiElement"||o==="view:uiElement"||o==="element"||o==="view:element"):o==="uiElement"||o==="view:uiElement"||o==="element"||o==="view:element"||o==="node"||o==="view:node"};function ny(o){o.document.on("arrowKey",(t,e)=>iy(t,e,o.domConverter),{priority:"low"})}function oy(){return null}function iy(o,t,e){if(t.keyCode==et.arrowright){const n=t.domTarget.ownerDocument.defaultView.getSelection(),i=n.rangeCount==1&&n.getRangeAt(0).collapsed;if(i||t.shiftKey){const r=n.focusNode,s=n.focusOffset,a=e.domPositionToView(r,s);if(a===null)return;let c=!1;const l=a.getLastMatchingPosition(d=>(d.item.is("uiElement")&&(c=!0),!!(d.item.is("uiElement")||d.item.is("attributeElement"))));if(c){const d=e.viewPositionToDom(l);i?n.collapse(d.parent,d.offset):n.extend(d.parent,d.offset)}}}}class bs extends Yt{constructor(t,e,n,i){super(t,e,n,i),this.getFillerOffset=ry}_insertChild(t,e){if(e&&(e instanceof on||Array.from(e).length>0))throw new b("view-rawelement-cannot-add",[this,e]);return 0}render(t,e){}}bs.prototype.is=function(o,t){return t?t===this.name&&(o==="rawElement"||o==="view:rawElement"||o==="element"||o==="view:element"):o==="rawElement"||o==="view:rawElement"||o===this.name||o==="view:"+this.name||o==="element"||o==="view:element"||o==="node"||o==="view:node"};function ry(){return null}class an extends lt(nn){constructor(t,e){super(),this._children=[],this._customProperties=new Map,this.document=t,e&&this._insertChild(0,e)}[Symbol.iterator](){return this._children[Symbol.iterator]()}get childCount(){return this._children.length}get isEmpty(){return this.childCount===0}get root(){return this}get parent(){return null}get name(){}get getFillerOffset(){}getCustomProperty(t){return this._customProperties.get(t)}*getCustomProperties(){yield*this._customProperties.entries()}_appendChild(t){return this._insertChild(this.childCount,t)}getChild(t){return this._children[t]}getChildIndex(t){return this._children.indexOf(t)}getChildren(){return this._children[Symbol.iterator]()}_insertChild(t,e){this._fireChange("children",this);let n=0;const i=sy(this.document,e);for(const r of i)r.parent!==null&&r._remove(),r.parent=this,this._children.splice(t,0,r),t++,n++;return n}_removeChildren(t,e=1){this._fireChange("children",this);for(let n=t;ntypeof e=="string"?new ht(o,e):e instanceof Ce?new ht(o,e.data):e))}class gu{constructor(t){this._cloneGroups=new Map,this._slotFactory=null,this.document=t}setSelection(...t){this.document.selection._setTo(...t)}setSelectionFocus(t,e){this.document.selection._setFocus(t,e)}createDocumentFragment(t){return new an(this.document,t)}createText(t){return new ht(this.document,t)}createAttributeElement(t,e,n={}){const i=new ho(this.document,t,e);return typeof n.priority=="number"&&(i._priority=n.priority),n.id&&(i._id=n.id),n.renderUnsafeAttributes&&i._unsafeAttributesToRender.push(...n.renderUnsafeAttributes),i}createContainerElement(t,e,n={},i={}){let r=null;$t(n)?i=n:r=n;const s=new lo(this.document,t,e,r);return i.renderUnsafeAttributes&&s._unsafeAttributesToRender.push(...i.renderUnsafeAttributes),s}createEditableElement(t,e,n={}){const i=new ui(this.document,t,e);return n.renderUnsafeAttributes&&i._unsafeAttributesToRender.push(...n.renderUnsafeAttributes),i}createEmptyElement(t,e,n={}){const i=new ks(this.document,t,e);return n.renderUnsafeAttributes&&i._unsafeAttributesToRender.push(...n.renderUnsafeAttributes),i}createUIElement(t,e,n){const i=new fi(this.document,t,e);return n&&(i.render=n),i}createRawElement(t,e,n,i={}){const r=new bs(this.document,t,e);return n&&(r.render=n),i.renderUnsafeAttributes&&r._unsafeAttributesToRender.push(...i.renderUnsafeAttributes),r}setAttribute(t,e,n){n._setAttribute(t,e)}removeAttribute(t,e){e._removeAttribute(t)}addClass(t,e){e._addClass(t)}removeClass(t,e){e._removeClass(t)}setStyle(t,e,n){$t(t)&&n===void 0?e._setStyle(t):n._setStyle(t,e)}removeStyle(t,e){e._removeStyle(t)}setCustomProperty(t,e,n){n._setCustomProperty(t,e)}removeCustomProperty(t,e){return e._removeCustomProperty(t)}breakAttributes(t){return t instanceof O?this._breakAttributes(t):this._breakAttributesRange(t)}breakContainer(t){const e=t.parent;if(!e.is("containerElement"))throw new b("view-writer-break-non-container-element",this.document);if(!e.parent)throw new b("view-writer-break-root",this.document);if(t.isAtStart)return O._createBefore(e);if(!t.isAtEnd){const n=e._clone(!1);this.insert(O._createAfter(e),n);const i=new K(t,O._createAt(e,"end")),r=new O(n,0);this.move(i,r)}return O._createAfter(e)}mergeAttributes(t){const e=t.offset,n=t.parent;if(n.is("$text"))return t;if(n.is("attributeElement")&&n.childCount===0){const s=n.parent,a=n.index;return n._remove(),this._removeFromClonedElementsGroup(n),this.mergeAttributes(new O(s,a))}const i=n.getChild(e-1),r=n.getChild(e);if(!i||!r)return t;if(i.is("$text")&&r.is("$text"))return mu(i,r);if(i.is("attributeElement")&&r.is("attributeElement")&&i.isSimilar(r)){const s=i.childCount;return i._appendChild(r.getChildren()),r._remove(),this._removeFromClonedElementsGroup(r),this.mergeAttributes(new O(i,s))}return t}mergeContainers(t){const e=t.nodeBefore,n=t.nodeAfter;if(!e||!n||!e.is("containerElement")||!n.is("containerElement"))throw new b("view-writer-merge-containers-invalid-position",this.document);const i=e.getChild(e.childCount-1),r=i instanceof ht?O._createAt(i,"end"):O._createAt(e,"end");return this.move(K._createIn(n),O._createAt(e,"end")),this.remove(K._createOn(n)),r}insert(t,e){e=Zt(e)?[...e]:[e],pu(e,this.document);const n=e.reduce((s,a)=>{const c=s[s.length-1],l=!a.is("uiElement");return!c||c.breakAttributes!=l?s.push({breakAttributes:l,nodes:[a]}):c.nodes.push(a),s},[]);let i=null,r=t;for(const{nodes:s,breakAttributes:a}of n){const c=this._insertNodes(r,s,a);i||(i=c.start),r=c.end}return i?new K(i,r):new K(t)}remove(t){const e=t instanceof K?t:K._createOn(t);if(go(e,this.document),e.isCollapsed)return new an(this.document);const{start:n,end:i}=this._breakAttributesRange(e,!0),r=n.parent,s=i.offset-n.offset,a=r._removeChildren(n.offset,s);for(const l of a)this._removeFromClonedElementsGroup(l);const c=this.mergeAttributes(n);return e.start=c,e.end=c.clone(),new an(this.document,a)}clear(t,e){go(t,this.document);const n=t.getWalker({direction:"backward",ignoreElementEnd:!0});for(const i of n){const r=i.item;let s;if(r.is("element")&&e.isSimilar(r))s=K._createOn(r);else if(!i.nextPosition.isAfter(t.start)&&r.is("$textProxy")){const a=r.getAncestors().find(c=>c.is("element")&&e.isSimilar(c));a&&(s=K._createIn(a))}s&&(s.end.isAfter(t.end)&&(s.end=t.end),s.start.isBefore(t.start)&&(s.start=t.start),this.remove(s))}}move(t,e){let n;if(e.isAfter(t.end)){e=this._breakAttributes(e,!0);const i=e.parent,r=i.childCount;t=this._breakAttributesRange(t,!0),n=this.remove(t),e.offset+=i.childCount-r}else n=this.remove(t);return this.insert(e,n)}wrap(t,e){if(!(e instanceof ho))throw new b("view-writer-wrap-invalid-attribute",this.document);if(go(t,this.document),t.isCollapsed){let n=t.start;n.parent.is("element")&&!ay(n.parent)&&(n=n.getLastMatchingPosition(r=>r.item.is("uiElement"))),n=this._wrapPosition(n,e);const i=this.document.selection;return i.isCollapsed&&i.getFirstPosition().isEqual(t.start)&&this.setSelection(n),new K(n)}else return this._wrapRange(t,e)}unwrap(t,e){if(!(e instanceof ho))throw new b("view-writer-unwrap-invalid-attribute",this.document);if(go(t,this.document),t.isCollapsed)return t;const{start:n,end:i}=this._breakAttributesRange(t,!0),r=n.parent,s=this._unwrapChildren(r,n.offset,i.offset,e),a=this.mergeAttributes(s.start);a.isEqual(s.start)||s.end.offset--;const c=this.mergeAttributes(s.end);return new K(a,c)}rename(t,e){const n=new lo(this.document,t,e.getAttributes());return this.insert(O._createAfter(e),n),this.move(K._createIn(e),O._createAt(n,0)),this.remove(K._createOn(e)),n}clearClonedElementsGroup(t){this._cloneGroups.delete(t)}createPositionAt(t,e){return O._createAt(t,e)}createPositionAfter(t){return O._createAfter(t)}createPositionBefore(t){return O._createBefore(t)}createRange(t,e){return new K(t,e)}createRangeOn(t){return K._createOn(t)}createRangeIn(t){return K._createIn(t)}createSelection(...t){return new ge(...t)}createSlot(t="children"){if(!this._slotFactory)throw new b("view-writer-invalid-create-slot-context",this.document);return this._slotFactory(this,t)}_registerSlotFactory(t){this._slotFactory=t}_clearSlotFactory(){this._slotFactory=null}_insertNodes(t,e,n){let i;if(n?i=ws(t):i=t.parent.is("$text")?t.parent.parent:t.parent,!i)throw new b("view-writer-invalid-position-container",this.document);let r;n?r=this._breakAttributes(t,!0):r=t.parent.is("$text")?As(t):t;const s=i._insertChild(r.offset,e);for(const d of e)this._addToClonedElementsGroup(d);const a=r.getShiftedBy(s),c=this.mergeAttributes(r);c.isEqual(r)||a.offset--;const l=this.mergeAttributes(a);return new K(c,l)}_wrapChildren(t,e,n,i){let r=e;const s=[];for(;r!1,t.parent._insertChild(t.offset,n);const i=new K(t,t.getShiftedBy(1));this.wrap(i,e);const r=new O(n.parent,n.index);n._remove();const s=r.nodeBefore,a=r.nodeAfter;return s instanceof ht&&a instanceof ht?mu(s,a):fu(r)}_wrapAttributeElement(t,e){if(!ku(t,e)||t.name!==e.name||t.priority!==e.priority)return!1;for(const n of t.getAttributeKeys())if(!(n==="class"||n==="style")&&e.hasAttribute(n)&&e.getAttribute(n)!==t.getAttribute(n))return!1;for(const n of t.getStyleNames())if(e.hasStyle(n)&&e.getStyle(n)!==t.getStyle(n))return!1;for(const n of t.getAttributeKeys())n==="class"||n==="style"||e.hasAttribute(n)||this.setAttribute(n,t.getAttribute(n),e);for(const n of t.getStyleNames())e.hasStyle(n)||this.setStyle(n,t.getStyle(n),e);for(const n of t.getClassNames())e.hasClass(n)||this.addClass(n,e);return!0}_unwrapAttributeElement(t,e){if(!ku(t,e)||t.name!==e.name||t.priority!==e.priority)return!1;for(const n of t.getAttributeKeys())if(!(n==="class"||n==="style")&&(!e.hasAttribute(n)||e.getAttribute(n)!==t.getAttribute(n)))return!1;if(!e.hasClass(...t.getClassNames()))return!1;for(const n of t.getStyleNames())if(!e.hasStyle(n)||e.getStyle(n)!==t.getStyle(n))return!1;for(const n of t.getAttributeKeys())n==="class"||n==="style"||this.removeAttribute(n,e);return this.removeClass(Array.from(t.getClassNames()),e),this.removeStyle(Array.from(t.getStyleNames()),e),!0}_breakAttributesRange(t,e=!1){const n=t.start,i=t.end;if(go(t,this.document),t.isCollapsed){const c=this._breakAttributes(t.start,e);return new K(c,c)}const r=this._breakAttributes(i,e),s=r.parent.childCount,a=this._breakAttributes(n,e);return r.offset+=r.parent.childCount-s,new K(a,r)}_breakAttributes(t,e=!1){const n=t.offset,i=t.parent;if(t.parent.is("emptyElement"))throw new b("view-writer-cannot-break-empty-element",this.document);if(t.parent.is("uiElement"))throw new b("view-writer-cannot-break-ui-element",this.document);if(t.parent.is("rawElement"))throw new b("view-writer-cannot-break-raw-element",this.document);if(!e&&i.is("$text")&&Cs(i.parent)||Cs(i))return t.clone();if(i.is("$text"))return this._breakAttributes(As(t),e);const r=i.childCount;if(n==r){const s=new O(i.parent,i.index+1);return this._breakAttributes(s,e)}else if(n===0){const s=new O(i.parent,i.index);return this._breakAttributes(s,e)}else{const s=i.index+1,a=i._clone();i.parent._insertChild(s,a),this._addToClonedElementsGroup(a);const c=i.childCount-n,l=i._removeChildren(n,c);a._appendChild(l);const d=new O(i.parent,s);return this._breakAttributes(d,e)}}_addToClonedElementsGroup(t){if(!t.root.is("rootElement"))return;if(t.is("element"))for(const i of t.getChildren())this._addToClonedElementsGroup(i);const e=t.id;if(!e)return;let n=this._cloneGroups.get(e);n||(n=new Set,this._cloneGroups.set(e,n)),n.add(t),t._clonesGroup=n}_removeFromClonedElementsGroup(t){if(t.is("element"))for(const i of t.getChildren())this._removeFromClonedElementsGroup(i);const e=t.id;if(!e)return;const n=this._cloneGroups.get(e);n&&n.delete(t)}}function ay(o){return Array.from(o.getChildren()).some(t=>!t.is("uiElement"))}function ws(o){let t=o.parent;for(;!Cs(t);){if(!t)return;t=t.parent}return t}function cy(o,t){return o.priorityt.priority?!1:o.getIdentity()e instanceof n))throw new b("view-writer-insert-invalid-node-type",t);e.is("$text")||pu(e.getChildren(),t)}}function Cs(o){return o&&(o.is("containerElement")||o.is("documentFragment"))}function go(o,t){const e=ws(o.start),n=ws(o.end);if(!e||!n||e!==n)throw new b("view-writer-invalid-range-container",t)}function ku(o,t){return o.id===null&&t.id===null}const bu=o=>o.createTextNode(" "),wu=o=>{const t=o.createElement("span");return t.dataset.ckeFiller="true",t.innerText=" ",t},Au=o=>{const t=o.createElement("br");return t.dataset.ckeFiller="true",t},fe=7,fo="⁠".repeat(fe);function Qt(o){return typeof o=="string"?o.substr(0,fe)===fo:Dt(o)&&o.data.substr(0,fe)===fo}function mo(o){return o.data.length==fe&&Qt(o)}function Cu(o){const t=typeof o=="string"?o:o.data;return Qt(o)?t.slice(fe):t}function dy(o){o.document.on("arrowKey",uy,{priority:"low"})}function uy(o,t){if(t.keyCode==et.arrowleft){const e=t.domTarget.ownerDocument.defaultView.getSelection();if(e.rangeCount==1&&e.getRangeAt(0).collapsed){const n=e.getRangeAt(0).startContainer,i=e.getRangeAt(0).startOffset;Qt(n)&&i<=fe&&e.collapse(n,0)}}}var _u=P(5037),_s={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};_s.insert="head",_s.singleton=!0,R()(_u.Z,_s),_u.Z.locals;class hy extends st(){constructor(t,e){super(),this.domDocuments=new Set,this.markedAttributes=new Set,this.markedChildren=new Set,this.markedTexts=new Set,this._inlineFiller=null,this._fakeSelectionContainer=null,this.domConverter=t,this.selection=e,this.set("isFocused",!1),this.set("isSelecting",!1),g.isBlink&&!g.isAndroid&&this.on("change:isSelecting",()=>{this.isSelecting||this.render()}),this.set("isComposing",!1),this.on("change:isComposing",()=>{this.isComposing||this.render()})}markToSync(t,e){if(t==="text")this.domConverter.mapViewToDom(e.parent)&&this.markedTexts.add(e);else{if(!this.domConverter.mapViewToDom(e))return;if(t==="attributes")this.markedAttributes.add(e);else if(t==="children")this.markedChildren.add(e);else throw new b("view-renderer-unknown-type",this)}}render(){if(this.isComposing&&!g.isAndroid)return;let t=null;const e=g.isBlink&&!g.isAndroid?!this.isSelecting:!0;for(const n of this.markedChildren)this._updateChildrenMappings(n);e?(this._inlineFiller&&!this._isSelectionInInlineFiller()&&this._removeInlineFiller(),this._inlineFiller?t=this._getInlineFillerPosition():this._needsInlineFillerAtSelection()&&(t=this.selection.getFirstPosition(),this.markedChildren.add(t.parent))):this._inlineFiller&&this._inlineFiller.parentNode&&(t=this.domConverter.domPositionToView(this._inlineFiller),t&&t.parent.is("$text")&&(t=O._createBefore(t.parent)));for(const n of this.markedAttributes)this._updateAttrs(n);for(const n of this.markedChildren)this._updateChildren(n,{inlineFillerPosition:t});for(const n of this.markedTexts)!this.markedChildren.has(n.parent)&&this.domConverter.mapViewToDom(n.parent)&&this._updateText(n,{inlineFillerPosition:t});if(e)if(t){const n=this.domConverter.viewPositionToDom(t),i=n.parent.ownerDocument;Qt(n.parent)?this._inlineFiller=n.parent:this._inlineFiller=vu(i,n.parent,n.offset)}else this._inlineFiller=null;this._updateFocus(),this._updateSelection(),this.domConverter._clearTemporaryCustomProperties(),this.markedTexts.clear(),this.markedAttributes.clear(),this.markedChildren.clear()}_updateChildrenMappings(t){const e=this.domConverter.mapViewToDom(t);if(!e)return;const n=Array.from(e.childNodes),i=Array.from(this.domConverter.viewChildrenToDom(t,{withChildren:!1})),r=this._diffNodeLists(n,i),s=this._findUpdateActions(r,n,i,fy);if(s.indexOf("update")!==-1){const a={equal:0,insert:0,delete:0};for(const c of s)if(c==="update"){const l=a.equal+a.insert,d=a.equal+a.delete,u=t.getChild(l);u&&!u.is("uiElement")&&!u.is("rawElement")&&this._updateElementMappings(u,n[d]),ad(i[l]),a.equal++}else a[c]++}}_updateElementMappings(t,e){this.domConverter.unbindDomElement(e),this.domConverter.bindElements(e,t),this.markedChildren.add(t),this.markedAttributes.add(t)}_getInlineFillerPosition(){const t=this.selection.getFirstPosition();return t.parent.is("$text")?O._createBefore(t.parent):t}_isSelectionInInlineFiller(){if(this.selection.rangeCount!=1||!this.selection.isCollapsed)return!1;const t=this.selection.getFirstPosition(),e=this.domConverter.viewPositionToDom(t);return!!(e&&Dt(e.parent)&&Qt(e.parent))}_removeInlineFiller(){const t=this._inlineFiller;if(!Qt(t))throw new b("view-renderer-filler-was-lost",this);mo(t)?t.remove():t.data=t.data.substr(fe),this._inlineFiller=null}_needsInlineFillerAtSelection(){if(this.selection.rangeCount!=1||!this.selection.isCollapsed)return!1;const t=this.selection.getFirstPosition(),e=t.parent,n=t.offset;if(!this.domConverter.mapViewToDom(e.root)||!e.is("element")||!gy(e)||n===e.getFillerOffset())return!1;const i=t.nodeBefore,r=t.nodeAfter;return!(i instanceof ht||r instanceof ht||g.isAndroid&&(i||r))}_updateText(t,e){const n=this.domConverter.findCorrespondingDomText(t);let r=this.domConverter.viewToDom(t).data;const s=e.inlineFillerPosition;s&&s.parent==t.parent&&s.offset==t.index&&(r=fo+r),yu(n,r)}_updateAttrs(t){const e=this.domConverter.mapViewToDom(t);if(!e)return;const n=Array.from(e.attributes).map(r=>r.name),i=t.getAttributeKeys();for(const r of i)this.domConverter.setDomElementAttribute(e,r,t.getAttribute(r),t);for(const r of n)t.hasAttribute(r)||this.domConverter.removeDomElementAttribute(e,r)}_updateChildren(t,e){const n=this.domConverter.mapViewToDom(t);if(!n)return;if(g.isAndroid){let u=null;for(const f of Array.from(n.childNodes)){if(u&&Dt(u)&&Dt(f)){n.normalize();break}u=f}}const i=e.inlineFillerPosition,r=n.childNodes,s=Array.from(this.domConverter.viewChildrenToDom(t,{bind:!0}));i&&i.parent===t&&vu(n.ownerDocument,s,i.offset);const a=this._diffNodeLists(r,s),c=this._findUpdateActions(a,r,s,my);let l=0;const d=new Set;for(const u of c)u==="delete"?(d.add(r[l]),ad(r[l])):(u==="equal"||u==="update")&&l++;l=0;for(const u of c)u==="insert"?(id(n,l,s[l]),l++):u==="update"?(yu(r[l],s[l].data),l++):u==="equal"&&(this._markDescendantTextToSync(this.domConverter.domToView(s[l])),l++);for(const u of d)u.parentNode||this.domConverter.unbindDomElement(u)}_diffNodeLists(t,e){return t=by(t,this._fakeSelectionContainer),It(t,e,py.bind(null,this.domConverter))}_findUpdateActions(t,e,n,i){if(t.indexOf("insert")===-1||t.indexOf("delete")===-1)return t;let r=[],s=[],a=[];const c={equal:0,insert:0,delete:0};for(const l of t)l==="insert"?a.push(n[c.equal+c.insert]):l==="delete"?s.push(e[c.equal+c.delete]):(r=r.concat(It(s,a,i).map(d=>d==="equal"?"update":d)),r.push("equal"),s=[],a=[]),c[l]++;return r.concat(It(s,a,i).map(l=>l==="equal"?"update":l))}_markDescendantTextToSync(t){if(t){if(t.is("$text"))this.markedTexts.add(t);else if(t.is("element"))for(const e of t.getChildren())this._markDescendantTextToSync(e)}}_updateSelection(){if(g.isBlink&&!g.isAndroid&&this.isSelecting&&!this.markedChildren.size)return;if(this.selection.rangeCount===0){this._removeDomSelection(),this._removeFakeSelection();return}const t=this.domConverter.mapViewToDom(this.selection.editableElement);!this.isFocused||!t||(this.selection.isFake?this._updateFakeSelection(t):this._fakeSelectionContainer&&this._fakeSelectionContainer.isConnected?(this._removeFakeSelection(),this._updateDomSelection(t)):this.isComposing&&g.isAndroid||this._updateDomSelection(t))}_updateFakeSelection(t){const e=t.ownerDocument;this._fakeSelectionContainer||(this._fakeSelectionContainer=wy(e));const n=this._fakeSelectionContainer;if(this.domConverter.bindFakeSelection(n,this.selection),!this._fakeSelectionNeedsUpdate(t))return;(!n.parentElement||n.parentElement!=t)&&t.appendChild(n),n.textContent=this.selection.fakeSelectionLabel||" ";const i=e.getSelection(),r=e.createRange();i.removeAllRanges(),r.selectNodeContents(n),i.addRange(r)}_updateDomSelection(t){const e=t.ownerDocument.defaultView.getSelection();if(!this._domSelectionNeedsUpdate(e))return;const n=this.domConverter.viewPositionToDom(this.selection.anchor),i=this.domConverter.viewPositionToDom(this.selection.focus);e.setBaseAndExtent(n.parent,n.offset,i.parent,i.offset),g.isGecko&&ky(i,e)}_domSelectionNeedsUpdate(t){if(!this.domConverter.isDomSelectionCorrect(t))return!0;const e=t&&this.domConverter.domSelectionToView(t);return!(e&&this.selection.isEqual(e)||!this.selection.isCollapsed&&this.selection.isSimilar(e))}_fakeSelectionNeedsUpdate(t){const e=this._fakeSelectionContainer,n=t.ownerDocument.getSelection();return!e||e.parentElement!==t||n.anchorNode!==e&&!e.contains(n.anchorNode)?!0:e.textContent!==this.selection.fakeSelectionLabel}_removeDomSelection(){for(const t of this.domDocuments){const e=t.getSelection();if(e.rangeCount){const n=t.activeElement,i=this.domConverter.mapDomToView(n);n&&i&&e.removeAllRanges()}}}_removeFakeSelection(){const t=this._fakeSelectionContainer;t&&t.remove()}_updateFocus(){if(this.isFocused){const t=this.selection.editableElement;t&&this.domConverter.focus(t)}}}function gy(o){if(o.getAttribute("contenteditable")=="false")return!1;const t=o.findAncestor(e=>e.hasAttribute("contenteditable"));return!t||t.getAttribute("contenteditable")=="true"}function vu(o,t,e){const n=t instanceof Array?t:t.childNodes,i=n[e];if(Dt(i))return i.data=fo+i.data,i;{const r=o.createTextNode(fo);return Array.isArray(t)?n.splice(e,0,r):id(t,e,r),r}}function fy(o,t){return Fe(o)&&Fe(t)&&!Dt(o)&&!Dt(t)&&!ro(o)&&!ro(t)&&o.tagName.toLowerCase()===t.tagName.toLowerCase()}function my(o,t){return Fe(o)&&Fe(t)&&Dt(o)&&Dt(t)}function py(o,t,e){return t===e?!0:Dt(t)&&Dt(e)?t.data===e.data:!!(o.isBlockFiller(t)&&o.isBlockFiller(e))}function ky(o,t){const e=o.parent;if(e.nodeType!=Node.ELEMENT_NODE||o.offset!=e.childNodes.length-1)return;const n=e.childNodes[o.offset];n&&n.tagName=="BR"&&t.addRange(t.getRangeAt(0))}function by(o,t){const e=Array.from(o);return e.length==0||!t||e[e.length-1]==t&&e.pop(),e}function wy(o){const t=o.createElement("div");return t.className="ck-fake-selection-container",Object.assign(t.style,{position:"fixed",top:0,left:"-9999px",width:"42px"}),t.textContent=" ",t}function yu(o,t){const e=o.data;if(e==t)return;const n=j(e,t);for(const i of n)i.type==="insert"?o.insertData(i.index,i.values.join("")):o.deleteData(i.index,i.howMany)}const Ay=Au(H.document),Cy=bu(H.document),_y=wu(H.document),mi="data-ck-unsafe-attribute-",xu="data-ck-unsafe-element";class pi{constructor(t,{blockFillerMode:e,renderingMode:n="editing"}={}){this._domToViewMapping=new WeakMap,this._viewToDomMapping=new WeakMap,this._fakeSelectionMapping=new WeakMap,this._rawContentElementMatcher=new he,this._inlineObjectElementMatcher=new he,this._elementsWithTemporaryCustomProperties=new Set,this.document=t,this.renderingMode=n,this.blockFillerMode=e||(n==="editing"?"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=this.renderingMode==="editing"?H.document:H.document.implementation.createHTMLDocument("")}bindFakeSelection(t,e){this._fakeSelectionMapping.set(t,new ge(e))}fakeSelectionToView(t){return this._fakeSelectionMapping.get(t)}bindElements(t,e){this._domToViewMapping.set(t,e),this._viewToDomMapping.set(e,t)}unbindDomElement(t){const e=this._domToViewMapping.get(t);if(e){this._domToViewMapping.delete(t),this._viewToDomMapping.delete(e);for(const n of Array.from(t.children))this.unbindDomElement(n)}}bindDocumentFragments(t,e){this._domToViewMapping.set(t,e),this._viewToDomMapping.set(e,t)}shouldRenderAttribute(t,e,n){return this.renderingMode==="data"?!0:(t=t.toLowerCase(),t.startsWith("on")||t==="srcdoc"&&e.match(/\bon\S+\s*=|javascript:|<\s*\/*script/i)?!1:n==="img"&&(t==="src"||t==="srcset")||n==="source"&&t==="srcset"?!0:!e.match(/^\s*(javascript:|data:(image\/svg|text\/x?html))/i))}setContentOf(t,e){if(this.renderingMode==="data"){t.innerHTML=e;return}const n=new DOMParser().parseFromString(e,"text/html"),i=n.createDocumentFragment(),r=n.body.childNodes;for(;r.length>0;)i.appendChild(r[0]);const s=n.createTreeWalker(i,NodeFilter.SHOW_ELEMENT),a=[];let c;for(;c=s.nextNode();)a.push(c);for(const l of a){for(const u of l.getAttributeNames())this.setDomElementAttribute(l,u,l.getAttribute(u));const d=l.tagName.toLowerCase();this._shouldRenameElement(d)&&(Su(d),l.replaceWith(this._createReplacementDomElement(d,l)))}for(;t.firstChild;)t.firstChild.remove();t.append(i)}viewToDom(t,e={}){if(t.is("$text")){const n=this._processDataFromViewText(t);return this._domDocument.createTextNode(n)}else{const n=t;if(this.mapViewToDom(n))if(n.getCustomProperty("editingPipeline:doNotReuseOnce"))this._elementsWithTemporaryCustomProperties.add(n);else return this.mapViewToDom(n);let i;if(n.is("documentFragment"))i=this._domDocument.createDocumentFragment(),e.bind&&this.bindDocumentFragments(i,n);else{if(n.is("uiElement"))return n.name==="$comment"?i=this._domDocument.createComment(n.getCustomProperty("$rawContent")):i=n.render(this._domDocument,this),e.bind&&this.bindElements(i,n),i;this._shouldRenameElement(n.name)?(Su(n.name),i=this._createReplacementDomElement(n.name)):n.hasAttribute("xmlns")?i=this._domDocument.createElementNS(n.getAttribute("xmlns"),n.name):i=this._domDocument.createElement(n.name),n.is("rawElement")&&n.render(i,this),e.bind&&this.bindElements(i,n);for(const r of n.getAttributeKeys())this.setDomElementAttribute(i,r,n.getAttribute(r),n)}if(e.withChildren!==!1)for(const r of this.viewChildrenToDom(n,e))i.appendChild(r);return i}}setDomElementAttribute(t,e,n,i){const r=this.shouldRenderAttribute(e,n,t.tagName.toLowerCase())||i&&i.shouldRenderUnsafeAttribute(e);if(r||void 0,!p0(e)){return}t.hasAttribute(e)&&!r?t.removeAttribute(e):t.hasAttribute(mi+e)&&r&&t.removeAttribute(mi+e),t.setAttribute(r?e:mi+e,n)}removeDomElementAttribute(t,e){e!=xu&&(t.removeAttribute(e),t.removeAttribute(mi+e))}*viewChildrenToDom(t,e={}){const n=t.getFillerOffset&&t.getFillerOffset();let i=0;for(const r of t.getChildren()){n===i&&(yield this._getBlockFiller());const s=r.is("element")&&!!r.getCustomProperty("dataPipeline:transparentRendering")&&!Lt(r.getAttributes());s&&this.renderingMode=="data"?yield*this.viewChildrenToDom(r,e):(s&&void 0,yield this.viewToDom(r,e)),i++}n===i&&(yield this._getBlockFiller())}viewRangeToDom(t){const e=this.viewPositionToDom(t.start),n=this.viewPositionToDom(t.end),i=this._domDocument.createRange();return i.setStart(e.parent,e.offset),i.setEnd(n.parent,n.offset),i}viewPositionToDom(t){const e=t.parent;if(e.is("$text")){const n=this.findCorrespondingDomText(e);if(!n)return null;let i=t.offset;return Qt(n)&&(i+=fe),{parent:n,offset:i}}else{let n,i,r;if(t.offset===0){if(n=this.mapViewToDom(e),!n)return null;r=n.childNodes[0]}else{const a=t.nodeBefore;if(i=a.is("$text")?this.findCorrespondingDomText(a):this.mapViewToDom(a),!i)return null;n=i.parentNode,r=i.nextSibling}if(Dt(r)&&Qt(r))return{parent:r,offset:fe};const s=i?ei(i)+1:0;return{parent:n,offset:s}}}domToView(t,e={}){const n=[],i=this._domToView(t,e,n),r=i.next().value;return!r||(i.next(),this._processDomInlineNodes(null,n,e),r.is("$text")&&r.data.length==0)?null:r}*domChildrenToView(t,e={},n=[]){for(let i=0;i{const{scrollLeft:a,scrollTop:c}=s;r.push([a,c])}),e.focus(),Eu(e,s=>{const[a,c]=r.shift();s.scrollLeft=a,s.scrollTop=c}),H.window.scrollTo(n,i)}}_clearDomSelection(){const t=this.mapViewToDom(this.document.selection.editableElement);if(!t)return;const e=t.ownerDocument.defaultView.getSelection(),n=this.domSelectionToView(e);n&&n.rangeCount>0&&e.removeAllRanges()}isElement(t){return t&&t.nodeType==Node.ELEMENT_NODE}isDocumentFragment(t){return t&&t.nodeType==Node.DOCUMENT_FRAGMENT_NODE}isBlockFiller(t){return this.blockFillerMode=="br"?t.isEqualNode(Ay):t.tagName==="BR"&&Du(t,this.blockElements)&&t.parentNode.childNodes.length===1?!0:t.isEqualNode(_y)||yy(t,this.blockElements)}isDomSelectionBackward(t){if(t.isCollapsed)return!1;const e=this._domDocument.createRange();try{e.setStart(t.anchorNode,t.anchorOffset),e.setEnd(t.focusNode,t.focusOffset)}catch{return!1}const n=e.collapsed;return e.detach(),n}getHostViewElement(t){const e=h0(t);for(e.pop();e.length;){const n=e.pop(),i=this._domToViewMapping.get(n);if(i&&(i.is("uiElement")||i.is("rawElement")))return i}return null}isDomSelectionCorrect(t){return this._isDomSelectionPositionCorrect(t.anchorNode,t.anchorOffset)&&this._isDomSelectionPositionCorrect(t.focusNode,t.focusOffset)}registerRawContentMatcher(t){this._rawContentElementMatcher.add(t)}registerInlineObjectMatcher(t){this._inlineObjectElementMatcher.add(t)}_clearTemporaryCustomProperties(){for(const t of this._elementsWithTemporaryCustomProperties)t._removeCustomProperty("editingPipeline:doNotReuseOnce");this._elementsWithTemporaryCustomProperties.clear()}_getBlockFiller(){switch(this.blockFillerMode){case"nbsp":return bu(this._domDocument);case"markedNbsp":return wu(this._domDocument);case"br":return Au(this._domDocument)}}_isDomSelectionPositionCorrect(t,e){if(Dt(t)&&Qt(t)&&e0?e[r-1]:null,d=r+1this.preElements.includes(n.name)))return e;if(e.charAt(0)==" "){const n=this._getTouchingInlineViewNode(t,!1);(n&&n.is("$textProxy")&&this._nodeEndsWithSpace(n)||!n)&&(e=" "+e.substr(1))}if(e.charAt(e.length-1)==" "){const n=this._getTouchingInlineViewNode(t,!0),i=n&&n.is("$textProxy")&&n.data.charAt(0)==" ";(e.charAt(e.length-2)==" "||!n||i)&&(e=e.substr(0,e.length-1)+" ")}return e.replace(/ {2}/g,"  ")}_nodeEndsWithSpace(t){if(t.getAncestors().some(n=>this.preElements.includes(n.name)))return!1;const e=this._processDataFromViewText(t);return e.charAt(e.length-1)==" "}_getTouchingInlineViewNode(t,e){const n=new sn({startPosition:e?O._createAfter(t):O._createBefore(t),direction:e?"forward":"backward"});for(const i of n){if(i.item.is("element","br"))return null;if(this._isInlineObjectElement(i.item))return i.item;if(i.item.is("containerElement"))return null;if(i.item.is("$textProxy"))return i.item}return null}_isBlockDomElement(t){return this.isElement(t)&&this.blockElements.includes(t.tagName.toLowerCase())}_isBlockViewElement(t){return t.is("element")&&this.blockElements.includes(t.name)}_isInlineObjectElement(t){return t.is("element")?t.name=="br"||this.inlineObjectElements.includes(t.name)||!!this._inlineObjectElementMatcher.match(t):!1}_createViewElement(t,e){if(ro(t))return new fi(this.document,"$comment");const n=e.keepOriginalCase?t.tagName:t.tagName.toLowerCase();return new Yt(this.document,n)}_isViewElementWithRawContent(t,e){return e.withChildren!==!1&&t.is("element")&&!!this._rawContentElementMatcher.match(t)}_shouldRenameElement(t){const e=t.toLowerCase();return this.renderingMode==="editing"&&this.unsafeElements.includes(e)}_createReplacementDomElement(t,e){const n=this._domDocument.createElement("span");if(n.setAttribute(xu,t),e){for(;e.firstChild;)n.appendChild(e.firstChild);for(const i of e.getAttributeNames())n.setAttribute(i,e.getAttribute(i))}return n}}function vy(o,t){return o.getAncestors().some(e=>e.is("element")&&t.includes(e.name))}function Eu(o,t){let e=o;for(;e;)t(e),e=e.parentElement}function yy(o,t){return o.isEqualNode(Cy)&&Du(o,t)&&o.parentNode.childNodes.length===1}function Du(o,t){const e=o.parentNode;return!!e&&!!e.tagName&&t.includes(e.tagName.toLowerCase())}function Su(o){o==="script"&&void 0,o==="style"&&void 0}function xy(o){if(!g.isGecko||!o.rangeCount)return!1;const t=o.getRangeAt(0).startContainer;try{Object.prototype.toString.call(t)}catch{return!0}return!1}class _e extends Kt(){constructor(t){super(),this._isEnabled=!1,this.view=t,this.document=t.document}get isEnabled(){return this._isEnabled}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}destroy(){this.disable(),this.stopListening()}checkShouldIgnoreEventFromTarget(t){return t&&t.nodeType===3&&(t=t.parentNode),!t||t.nodeType!==1?!1:t.matches("[data-cke-ignore-events], [data-cke-ignore-events] *")}}var Ey=su(function(o,t){En(t,Sn(t),o)});const Tu=Ey;class Ln{constructor(t,e,n){this.view=t,this.document=t.document,this.domEvent=e,this.domTarget=e.target,Tu(this,n)}get target(){return this.view.domConverter.mapDomToView(this.domTarget)}preventDefault(){this.domEvent.preventDefault()}stopPropagation(){this.domEvent.stopPropagation()}}class Ve extends _e{constructor(){super(...arguments),this.useCapture=!1}observe(t){(typeof this.domEventType=="string"?[this.domEventType]:this.domEventType).forEach(n=>{this.listenTo(t,n,(i,r)=>{this.isEnabled&&!this.checkShouldIgnoreEventFromTarget(r.target)&&this.onDomEvent(r)},{useCapture:this.useCapture})})}stopObserving(t){this.stopListening(t)}fire(t,e,n){this.isEnabled&&this.document.fire(t,new Ln(this.view,e,n))}}class Dy extends Ve{constructor(){super(...arguments),this.domEventType=["keydown","keyup"]}onDomEvent(t){const e={keyCode:t.keyCode,altKey:t.altKey,ctrlKey:t.ctrlKey,shiftKey:t.shiftKey,metaKey:t.metaKey,get keystroke(){return In(this)}};this.fire(t.type,t,e)}}var Sy=function(){return ue.Date.now()};const vs=Sy;var Ty=/\s/;function Iy(o){for(var t=o.length;t--&&Ty.test(o.charAt(t)););return t}const My=Iy;var By=/^\s+/;function Ny(o){return o&&o.slice(0,My(o)+1).replace(By,"")}const zy=Ny;var Iu=0/0,Ly=/^[-+]0x[0-9a-f]+$/i,Py=/^0b[01]+$/i,Oy=/^0o[0-7]+$/i,Ry=parseInt;function jy(o){if(typeof o=="number")return o;if(li(o))return Iu;if(Ct(o)){var t=typeof o.valueOf=="function"?o.valueOf():o;o=Ct(t)?t+"":t}if(typeof o!="string")return o===0?o:+o;o=zy(o);var e=Py.test(o);return e||Oy.test(o)?Ry(o.slice(2),e?2:8):Ly.test(o)?Iu:+o}const Mu=jy;var Fy="Expected a function",Vy=Math.max,Hy=Math.min;function Uy(o,t,e){var n,i,r,s,a,c,l=0,d=!1,u=!1,f=!0;if(typeof o!="function")throw new TypeError(Fy);t=Mu(t)||0,Ct(e)&&(d=!!e.leading,u="maxWait"in e,r=u?Vy(Mu(e.maxWait)||0,t):r,f="trailing"in e?!!e.trailing:f);function p(U){var Y=n,G=i;return n=i=void 0,l=U,s=o.apply(G,Y),s}function w(U){return l=U,a=setTimeout(z,t),d?p(U):s}function S(U){var Y=U-c,G=U-l,wt=t-Y;return u?Hy(wt,r-G):wt}function M(U){var Y=U-c,G=U-l;return c===void 0||Y>=t||Y<0||u&&G>=r}function z(){var U=vs();if(M(U))return V(U);a=setTimeout(z,S(U))}function V(U){return a=void 0,f&&n?p(U):(n=i=void 0,s)}function tt(){a!==void 0&&clearTimeout(a),l=0,n=c=i=a=void 0}function ct(){return a===void 0?s:V(vs())}function mt(){var U=vs(),Y=M(U);if(n=arguments,i=this,c=U,Y){if(a===void 0)return w(c);if(u)return clearTimeout(a),a=setTimeout(z,t),p(c)}return a===void 0&&(a=setTimeout(z,t)),s}return mt.cancel=tt,mt.flush=ct,mt}const po=Uy;class Gy extends _e{constructor(t){super(t),this._fireSelectionChangeDoneDebounced=po(e=>{this.document.fire("selectionChangeDone",e)},200)}observe(){const t=this.document;t.on("arrowKey",(e,n)=>{t.selection.isFake&&this.isEnabled&&n.preventDefault()},{context:"$capture"}),t.on("arrowKey",(e,n)=>{t.selection.isFake&&this.isEnabled&&this._handleSelectionMove(n.keyCode)},{priority:"lowest"})}stopObserving(){}destroy(){super.destroy(),this._fireSelectionChangeDoneDebounced.cancel()}_handleSelectionMove(t){const e=this.document.selection,n=new ge(e.getRanges(),{backward:e.isBackward,fake:!1});(t==et.arrowleft||t==et.arrowup)&&n.setTo(n.getFirstPosition()),(t==et.arrowright||t==et.arrowdown)&&n.setTo(n.getLastPosition());const i={oldSelection:e,newSelection:n,domSelection:null};this.document.fire("selectionChange",i),this._fireSelectionChangeDoneDebounced(i)}}var Wy="__lodash_hash_undefined__";function qy(o){return this.__data__.set(o,Wy),this}const Zy=qy;function $y(o){return this.__data__.has(o)}const Ky=$y;function ki(o){var t=-1,e=o==null?0:o.length;for(this.__data__=new Zo;++ta))return!1;var l=r.get(o),d=r.get(t);if(l&&d)return l==t&&d==o;var u=-1,f=!0,p=e&n2?new Yy:void 0;for(r.set(o,t),r.set(t,o);++u{this._isFocusChanging=!0,this._renderTimeoutId=setTimeout(()=>{this.flush(),t.change(()=>{})},50)}),e.on("blur",(n,i)=>{const r=e.selection.editableElement;(r===null||r===i.target)&&(e.isFocused=!1,this._isFocusChanging=!1,t.change(()=>{}))})}flush(){this._isFocusChanging&&(this._isFocusChanging=!1,this.document.isFocused=!0)}onDomEvent(t){this.fire(t.type,t)}destroy(){this._renderTimeoutId&&clearTimeout(this._renderTimeoutId),super.destroy()}}class L2 extends _e{constructor(t){super(t),this.mutationObserver=t.getObserver(ju),this.focusObserver=t.getObserver(wi),this.selection=this.document.selection,this.domConverter=t.domConverter,this._documents=new WeakSet,this._fireSelectionChangeDoneDebounced=po(e=>{this.document.fire("selectionChangeDone",e)},200),this._clearInfiniteLoopInterval=setInterval(()=>this._clearInfiniteLoop(),1e3),this._documentIsSelectingInactivityTimeoutDebounced=po(()=>this.document.isSelecting=!1,5e3),this._loopbackCounter=0}observe(t){const e=t.ownerDocument,n=()=>{this.document.isSelecting=!0,this._documentIsSelectingInactivityTimeoutDebounced()},i=()=>{this.document.isSelecting&&(this._handleSelectionChange(null,e),this.document.isSelecting=!1,this._documentIsSelectingInactivityTimeoutDebounced.cancel())};this.listenTo(t,"selectstart",n,{priority:"highest"}),this.listenTo(t,"keydown",i,{priority:"highest",useCapture:!0}),this.listenTo(t,"keyup",i,{priority:"highest",useCapture:!0}),!this._documents.has(e)&&(this.listenTo(e,"mouseup",i,{priority:"highest",useCapture:!0}),this.listenTo(e,"selectionchange",(r,s)=>{this.document.isComposing&&!g.isAndroid||(this._handleSelectionChange(s,e),this._documentIsSelectingInactivityTimeoutDebounced())}),this._documents.add(e))}stopObserving(t){this.stopListening(t)}destroy(){super.destroy(),clearInterval(this._clearInfiniteLoopInterval),this._fireSelectionChangeDoneDebounced.cancel(),this._documentIsSelectingInactivityTimeoutDebounced.cancel()}_reportInfiniteLoop(){}_handleSelectionChange(t,e){if(!this.isEnabled)return;const n=e.defaultView.getSelection();if(this.checkShouldIgnoreEventFromTarget(n.anchorNode))return;this.mutationObserver.flush();const i=this.domConverter.domSelectionToView(n);if(i.rangeCount==0){this.view.hasDomSelection=!1;return}if(this.view.hasDomSelection=!0,this.focusObserver.flush(),!(this.selection.isEqual(i)&&this.domConverter.isDomSelectionCorrect(n))){if(++this._loopbackCounter>60){this._reportInfiniteLoop();return}if(this.selection.isSimilar(i))this.view.forceRender();else{const r={oldSelection:this.selection,newSelection:i,domSelection:n};this.document.fire("selectionChange",r),this._fireSelectionChangeDoneDebounced(r)}}}_clearInfiniteLoop(){this._loopbackCounter=0}}class P2 extends Ve{constructor(t){super(t),this.domEventType=["compositionstart","compositionupdate","compositionend"];const e=this.document;e.on("compositionstart",()=>{e.isComposing=!0},{priority:"low"}),e.on("compositionend",()=>{e.isComposing=!1},{priority:"low"})}onDomEvent(t){this.fire(t.type,t,{data:t.data})}}class Fu{constructor(t,e={}){this._files=e.cacheFiles?Vu(t):null,this._native=t}get files(){return this._files||(this._files=Vu(this._native)),this._files}get types(){return this._native.types}getData(t){return this._native.getData(t)}setData(t,e){this._native.setData(t,e)}set effectAllowed(t){this._native.effectAllowed=t}get effectAllowed(){return this._native.effectAllowed}set dropEffect(t){this._native.dropEffect=t}get dropEffect(){return this._native.dropEffect}setDragImage(t,e,n){this._native.setDragImage(t,e,n)}get isCanceled(){return this._native.dropEffect=="none"||!!this._native.mozUserCancelled}}function Vu(o){const t=Array.from(o.files||[]),e=Array.from(o.items||[]);return t.length?t:e.filter(n=>n.kind==="file").map(n=>n.getAsFile())}class O2 extends Ve{constructor(){super(...arguments),this.domEventType="beforeinput"}onDomEvent(t){const e=t.getTargetRanges(),n=this.view,i=n.document;let r=null,s=null,a=[];if(t.dataTransfer&&(r=new Fu(t.dataTransfer)),t.data!==null?s=t.data:r&&(s=r.getData("text/plain")),i.selection.isFake)a=Array.from(i.selection.getRanges());else if(e.length)a=e.map(c=>{const l=n.domConverter.domPositionToView(c.startContainer,c.startOffset),d=n.domConverter.domPositionToView(c.endContainer,c.endOffset);if(l)return n.createRange(l,d);if(d)return n.createRange(d)}).filter(c=>!!c);else if(g.isAndroid){const c=t.target.ownerDocument.defaultView.getSelection();a=Array.from(n.domConverter.domSelectionToView(c).getRanges())}if(g.isAndroid&&t.inputType=="insertCompositionText"&&s&&s.endsWith(` +`)){this.fire(t.type,t,{inputType:"insertParagraph",targetRanges:[n.createRange(a[0].end)]});return}if(t.inputType=="insertText"&&s&&s.includes(` +`)){const c=s.split(/\n{1,2}/g);let l=a;for(let d=0;d{if(this.isEnabled&&E0(n.keyCode)){const i=new Nn(this.document,"arrowKey",this.document.selection.getFirstRange());this.document.fire(i,n),i.stop.called&&e.stop()}})}observe(){}stopObserving(){}}class j2 extends _e{constructor(t){super(t);const e=this.document;e.on("keydown",(n,i)=>{if(!this.isEnabled||i.keyCode!=et.tab||i.ctrlKey)return;const r=new Nn(e,"tab",e.selection.getFirstRange());e.fire(r,i),r.stop.called&&n.stop()})}observe(){}stopObserving(){}}var F2=1,V2=4;function H2(o){return Dr(o,F2|V2)}const He=H2;class U2 extends st(){constructor(t){super(),this.domRoots=new Map,this._initialDomRootAttributes=new WeakMap,this._observers=new Map,this._ongoingChange=!1,this._postFixersInProgress=!1,this._renderingDisabled=!1,this._hasChangedSinceTheLastRendering=!1,this.document=new gi(t),this.domConverter=new pi(this.document),this.set("isRenderingInProgress",!1),this.set("hasDomSelection",!1),this._renderer=new hy(this.domConverter,this.document.selection),this._renderer.bind("isFocused","isSelecting","isComposing").to(this.document,"isFocused","isSelecting","isComposing"),this._writer=new gu(this.document),this.addObserver(ju),this.addObserver(wi),this.addObserver(L2),this.addObserver(Dy),this.addObserver(Gy),this.addObserver(P2),this.addObserver(R2),this.addObserver(O2),this.addObserver(j2),dy(this),ny(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}),g.isiOS&&this.listenTo(this.document,"blur",(e,n)=>{this.domConverter.mapDomToView(n.domEvent.relatedTarget)||this.domConverter._clearDomSelection()})}attachDomRoot(t,e="main"){const n=this.document.getRoot(e);n._name=t.tagName.toLowerCase();const i={};for(const{name:s,value:a}of Array.from(t.attributes))i[s]=a,s==="class"?this._writer.addClass(a.split(" "),n):this._writer.setAttribute(s,a,n);this._initialDomRootAttributes.set(t,i);const r=()=>{this._writer.setAttribute("contenteditable",(!n.isReadOnly).toString(),n),n.isReadOnly?this._writer.addClass("ck-read-only",n):this._writer.removeClass("ck-read-only",n)};r(),this.domRoots.set(e,t),this.domConverter.bindElements(t,n),this._renderer.markToSync("children",n),this._renderer.markToSync("attributes",n),this._renderer.domDocuments.add(t.ownerDocument),n.on("change:children",(s,a)=>this._renderer.markToSync("children",a)),n.on("change:attributes",(s,a)=>this._renderer.markToSync("attributes",a)),n.on("change:text",(s,a)=>this._renderer.markToSync("text",a)),n.on("change:isReadOnly",()=>this.change(r)),n.on("change",()=>{this._hasChangedSinceTheLastRendering=!0});for(const s of this._observers.values())s.observe(t,e)}detachDomRoot(t){const e=this.domRoots.get(t);Array.from(e.attributes).forEach(({name:i})=>e.removeAttribute(i));const n=this._initialDomRootAttributes.get(e);for(const i in n)e.setAttribute(i,n[i]);this.domRoots.delete(t),this.domConverter.unbindDomElement(e);for(const i of this._observers.values())i.stopObserving(e)}getDomRoot(t="main"){return this.domRoots.get(t)}addObserver(t){let e=this._observers.get(t);if(e)return e;e=new t(this),this._observers.set(t,e);for(const[n,i]of this.domRoots)e.observe(i,n);return e.enable(),e}getObserver(t){return this._observers.get(t)}disableObservers(){for(const t of this._observers.values())t.disable()}enableObservers(){for(const t of this._observers.values())t.enable()}scrollToTheSelection({alignToTop:t,forceScroll:e,viewportOffset:n=20,ancestorOffset:i=20}={}){const r=this.document.selection.getFirstRange();if(!r)return;const s=He({alignToTop:t,forceScroll:e,viewportOffset:n,ancestorOffset:i});typeof n=="number"&&(n={top:n,bottom:n,left:n,right:n});const a={target:this.domConverter.viewRangeToDom(r),viewportOffset:n,ancestorOffset:i,alignToTop:t,forceScroll:e};this.fire("scrollToTheSelection",a,s),w0(a)}focus(){if(!this.document.isFocused){const t=this.document.selection.editableElement;t&&(this.domConverter.focus(t),this.forceRender())}}change(t){if(this.isRenderingInProgress||this._postFixersInProgress)throw new b("cannot-change-view-tree",this);try{if(this._ongoingChange)return t(this._writer);this._ongoingChange=!0;const e=t(this._writer);return this._ongoingChange=!1,!this._renderingDisabled&&this._hasChangedSinceTheLastRendering&&(this._postFixersInProgress=!0,this.document._callPostFixers(this._writer),this._postFixersInProgress=!1,this.fire("render")),e}catch(e){b.rethrowUnexpectedError(e,this)}}forceRender(){this._hasChangedSinceTheLastRendering=!0,this.getObserver(wi).flush(),this.change(()=>{})}destroy(){for(const t of this._observers.values())t.destroy();this.document.destroy(),this.stopListening()}createPositionAt(t,e){return O._createAt(t,e)}createPositionAfter(t){return O._createAfter(t)}createPositionBefore(t){return O._createBefore(t)}createRange(t,e){return new K(t,e)}createRangeOn(t){return K._createOn(t)}createRangeIn(t){return K._createIn(t)}createSelection(...t){return new ge(...t)}_disableRendering(t){this._renderingDisabled=t,t==!1&&this.change(()=>{})}_render(){this.isRenderingInProgress=!0,this.disableObservers(),this._renderer.render(),this.enableObservers(),this.isRenderingInProgress=!1}}class Ue{is(){throw new Error("is() method is abstract")}}class cn extends Ue{constructor(t){super(),this.parent=null,this._attrs=Se(t)}get document(){return null}get index(){let t;if(!this.parent)return null;if((t=this.parent.getChildIndex(this))===null)throw new b("model-node-not-found-in-parent",this);return t}get startOffset(){let t;if(!this.parent)return null;if((t=this.parent.getChildStartOffset(this))===null)throw new b("model-node-not-found-in-parent",this);return t}get offsetSize(){return 1}get endOffset(){return this.parent?this.startOffset+this.offsetSize:null}get nextSibling(){const t=this.index;return t!==null&&this.parent.getChild(t+1)||null}get previousSibling(){const t=this.index;return t!==null&&this.parent.getChild(t-1)||null}get root(){let t=this;for(;t.parent;)t=t.parent;return t}isAttached(){return this.parent===null?!1:this.root.isAttached()}getPath(){const t=[];let e=this;for(;e.parent;)t.unshift(e.startOffset),e=e.parent;return t}getAncestors(t={}){const e=[];let n=t.includeSelf?this:this.parent;for(;n;)e[t.parentFirst?"push":"unshift"](n),n=n.parent;return e}getCommonAncestor(t,e={}){const n=this.getAncestors(e),i=t.getAncestors(e);let r=0;for(;n[r]==i[r]&&n[r];)r++;return r===0?null:n[r-1]}isBefore(t){if(this==t||this.root!==t.root)return!1;const e=this.getPath(),n=t.getPath(),i=jt(e,n);switch(i){case"prefix":return!0;case"extension":return!1;default:return e[i](e[n[0]]=n[1],e),{})),t}_clone(t){return new this.constructor(this._attrs)}_remove(){this.parent._removeChildren(this.index)}_setAttribute(t,e){this._attrs.set(t,e)}_setAttributesTo(t){this._attrs=Se(t)}_removeAttribute(t){return this._attrs.delete(t)}_clearAttributes(){this._attrs.clear()}}cn.prototype.is=function(o){return o==="node"||o==="model:node"};class ko{constructor(t){this._nodes=[],t&&this._insertNodes(0,t)}[Symbol.iterator](){return this._nodes[Symbol.iterator]()}get length(){return this._nodes.length}get maxOffset(){return this._nodes.reduce((t,e)=>t+e.offsetSize,0)}getNode(t){return this._nodes[t]||null}getNodeIndex(t){const e=this._nodes.indexOf(t);return e==-1?null:e}getNodeStartOffset(t){const e=this.getNodeIndex(t);return e===null?null:this._nodes.slice(0,e).reduce((n,i)=>n+i.offsetSize,0)}indexToOffset(t){if(t==this._nodes.length)return this.maxOffset;const e=this._nodes[t];if(!e)throw new b("model-nodelist-index-out-of-bounds",this);return this.getNodeStartOffset(e)}offsetToIndex(t){let e=0;for(const n of this._nodes){if(t>=e&&tt.toJSON())}}class gt extends cn{constructor(t,e){super(e),this._data=t||""}get offsetSize(){return this.data.length}get data(){return this._data}toJSON(){const t=super.toJSON();return t.data=this.data,t}_clone(){return new gt(this.data,this.getAttributes())}static fromJSON(t){return new gt(t.data,t.attributes)}}gt.prototype.is=function(o){return o==="$text"||o==="model:$text"||o==="text"||o==="model:text"||o==="node"||o==="model:node"};class me extends Ue{constructor(t,e,n){if(super(),this.textNode=t,e<0||e>t.offsetSize)throw new b("model-textproxy-wrong-offsetintext",this);if(n<0||e+n>t.offsetSize)throw new b("model-textproxy-wrong-length",this);this.data=t.data.substring(e,e+n),this.offsetInText=e}get startOffset(){return this.textNode.startOffset!==null?this.textNode.startOffset+this.offsetInText:null}get offsetSize(){return this.data.length}get endOffset(){return this.startOffset!==null?this.startOffset+this.offsetSize:null}get isPartial(){return this.offsetSize!==this.textNode.offsetSize}get parent(){return this.textNode.parent}get root(){return this.textNode.root}getPath(){const t=this.textNode.getPath();return t.length>0&&(t[t.length-1]+=this.offsetInText),t}getAncestors(t={}){const e=[];let n=t.includeSelf?this:this.parent;for(;n;)e[t.parentFirst?"push":"unshift"](n),n=n.parent;return e}hasAttribute(t){return this.textNode.hasAttribute(t)}getAttribute(t){return this.textNode.getAttribute(t)}getAttributes(){return this.textNode.getAttributes()}getAttributeKeys(){return this.textNode.getAttributeKeys()}}me.prototype.is=function(o){return o==="$textProxy"||o==="model:$textProxy"||o==="textProxy"||o==="model:textProxy"};class dt extends cn{constructor(t,e,n){super(e),this._children=new ko,this.name=t,n&&this._insertChild(0,n)}get childCount(){return this._children.length}get maxOffset(){return this._children.maxOffset}get isEmpty(){return this.childCount===0}getChild(t){return this._children.getNode(t)}getChildren(){return this._children[Symbol.iterator]()}getChildIndex(t){return this._children.getNodeIndex(t)}getChildStartOffset(t){return this._children.getNodeStartOffset(t)}offsetToIndex(t){return this._children.offsetToIndex(t)}getNodeByPath(t){let e=this;for(const n of t)e=e.getChild(e.offsetToIndex(n));return e}findAncestor(t,e={}){let n=e.includeSelf?this:this.parent;for(;n;){if(n.name===t)return n;n=n.parent}return null}toJSON(){const t=super.toJSON();if(t.name=this.name,this._children.length>0){t.children=[];for(const e of this._children)t.children.push(e.toJSON())}return t}_clone(t=!1){const e=t?Array.from(this._children).map(n=>n._clone(!0)):void 0;return new dt(this.name,this.getAttributes(),e)}_appendChild(t){this._insertChild(this.childCount,t)}_insertChild(t,e){const n=G2(e);for(const i of n)i.parent!==null&&i._remove(),i.parent=this;this._children._insertNodes(t,n)}_removeChildren(t,e=1){const n=this._children._removeNodes(t,e);for(const i of n)i.parent=null;return n}static fromJSON(t){let e;if(t.children){e=[];for(const n of t.children)n.name?e.push(dt.fromJSON(n)):e.push(gt.fromJSON(n))}return new dt(t.name,t.attributes,e)}}dt.prototype.is=function(o,t){return t?t===this.name&&(o==="element"||o==="model:element"):o==="element"||o==="model:element"||o==="node"||o==="model:node"};function G2(o){return typeof o=="string"?[new gt(o)]:(Zt(o)||(o=[o]),Array.from(o).map(t=>typeof t=="string"?new gt(t):t instanceof me?new gt(t.data,t.getAttributes()):t))}class Te{constructor(t){if(!t||!t.boundaries&&!t.startPosition)throw new b("model-tree-walker-no-start-position",null);const e=t.direction||"forward";if(e!="forward"&&e!="backward")throw new b("model-tree-walker-unknown-direction",t,{direction:e});this.direction=e,this.boundaries=t.boundaries||null,t.startPosition?this._position=t.startPosition.clone():this._position=N._createAt(this.boundaries[this.direction=="backward"?"end":"start"]),this.position.stickiness="toNone",this.singleCharacters=!!t.singleCharacters,this.shallow=!!t.shallow,this.ignoreElementEnd=!!t.ignoreElementEnd,this._boundaryStartParent=this.boundaries?this.boundaries.start.parent:null,this._boundaryEndParent=this.boundaries?this.boundaries.end.parent:null,this._visitedParent=this.position.parent}[Symbol.iterator](){return this}get position(){return this._position}skip(t){let e,n,i,r;do i=this.position,r=this._visitedParent,{done:e,value:n}=this.next();while(!e&&t(n));e||(this._position=i,this._visitedParent=r)}next(){return this.direction=="forward"?this._next():this._previous()}_next(){const t=this.position,e=this.position.clone(),n=this._visitedParent;if(n.parent===null&&e.offset===n.maxOffset)return{done:!0,value:void 0};if(n===this._boundaryEndParent&&e.offset==this.boundaries.end.offset)return{done:!0,value:void 0};const i=bo(e,n),r=i||Hu(e,n,i);if(r instanceof dt){if(!this.shallow)e.path.push(0),this._visitedParent=r;else{if(this.boundaries&&this.boundaries.end.isBefore(e))return{done:!0,value:void 0};e.offset++}return this._position=e,ln("elementStart",r,t,e,1)}if(r instanceof gt){let s;if(this.singleCharacters)s=1;else{let l=r.endOffset;this._boundaryEndParent==n&&this.boundaries.end.offsetd&&(d=this.boundaries.start.offset),a=e.offset-d}const c=e.offset-s.startOffset,l=new me(s,c-a,a);return e.offset-=a,this._position=e,ln("text",l,t,e,a)}return e.path.pop(),this._position=e,this._visitedParent=n.parent,ln("elementStart",n,t,e,1)}}function ln(o,t,e,n,i){return{done:!1,value:{type:o,item:t,previousPosition:e,nextPosition:n,length:i}}}class N extends Ue{constructor(t,e,n="toNone"){if(super(),!t.is("element")&&!t.is("documentFragment"))throw new b("model-position-root-invalid",t);if(!(e instanceof Array)||e.length===0)throw new b("model-position-path-incorrect-format",t,{path:e});t.is("rootElement")?e=e.slice():(e=[...t.getPath(),...e],t=t.root),this.root=t,this.path=e,this.stickiness=n}get offset(){return this.path[this.path.length-1]}set offset(t){this.path[this.path.length-1]=t}get parent(){let t=this.root;for(let e=0;e1)return!1;if(i===1)return Gu(t,this,n);if(i===-1)return Gu(this,t,n)}return this.path.length===t.path.length?!0:this.path.length>t.path.length?xs(this.path,e):xs(t.path,e)}hasSameParentAs(t){if(this.root!==t.root)return!1;const e=this.getParentPath(),n=t.getParentPath();return jt(e,n)=="same"}getTransformedByOperation(t){let e;switch(t.type){case"insert":e=this._getTransformedByInsertOperation(t);break;case"move":case"remove":case"reinsert":e=this._getTransformedByMoveOperation(t);break;case"split":e=this._getTransformedBySplitOperation(t);break;case"merge":e=this._getTransformedByMergeOperation(t);break;default:e=N._createAt(this);break}return e}_getTransformedByInsertOperation(t){return this._getTransformedByInsertion(t.position,t.howMany)}_getTransformedByMoveOperation(t){return this._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany)}_getTransformedBySplitOperation(t){const e=t.movedRange;return e.containsPosition(this)||e.start.isEqual(this)&&this.stickiness=="toNext"?this._getCombined(t.splitPosition,t.moveTargetPosition):t.graveyardPosition?this._getTransformedByMove(t.graveyardPosition,t.insertionPosition,1):this._getTransformedByInsertion(t.insertionPosition,1)}_getTransformedByMergeOperation(t){const e=t.movedRange,n=e.containsPosition(this)||e.start.isEqual(this);let i;return n?(i=this._getCombined(t.sourcePosition,t.targetPosition),t.sourcePosition.isBefore(t.targetPosition)&&(i=i._getTransformedByDeletion(t.deletionPosition,1))):this.isEqual(t.deletionPosition)?i=N._createAt(t.deletionPosition):i=this._getTransformedByMove(t.deletionPosition,t.graveyardPosition,1),i}_getTransformedByDeletion(t,e){const n=N._createAt(this);if(this.root!=t.root)return n;if(jt(t.getParentPath(),this.getParentPath())=="same"){if(t.offsetthis.offset)return null;n.offset-=e}}else if(jt(t.getParentPath(),this.getParentPath())=="prefix"){const i=t.path.length-1;if(t.offset<=this.path[i]){if(t.offset+e>this.path[i])return null;n.path[i]-=e}}return n}_getTransformedByInsertion(t,e){const n=N._createAt(this);if(this.root!=t.root)return n;if(jt(t.getParentPath(),this.getParentPath())=="same")(t.offset=t;){if(o.path[n]+i!==e.maxOffset)return!1;i=1,n--,e=e.parent}return!0}class T extends Ue{constructor(t,e){super(),this.start=N._createAt(t),this.end=e?N._createAt(e):N._createAt(t),this.start.stickiness=this.isCollapsed?"toNone":"toNext",this.end.stickiness=this.isCollapsed?"toNone":"toPrevious"}*[Symbol.iterator](){yield*new Te({boundaries:this,ignoreElementEnd:!0})}get isCollapsed(){return this.start.isEqual(this.end)}get isFlat(){const t=this.start.getParentPath(),e=this.end.getParentPath();return jt(t,e)=="same"}get root(){return this.start.root}containsPosition(t){return t.isAfter(this.start)&&t.isBefore(this.end)}containsRange(t,e=!1){t.isCollapsed&&(e=!1);const n=this.containsPosition(t.start)||e&&this.start.isEqual(t.start),i=this.containsPosition(t.end)||e&&this.end.isEqual(t.end);return n&&i}containsItem(t){const e=N._createBefore(t);return this.containsPosition(e)||this.start.isEqual(e)}isEqual(t){return this.start.isEqual(t.start)&&this.end.isEqual(t.end)}isIntersecting(t){return this.start.isBefore(t.end)&&this.end.isAfter(t.start)}getDifference(t){const e=[];return this.isIntersecting(t)?(this.containsPosition(t.start)&&e.push(new T(this.start,t.start)),this.containsPosition(t.end)&&e.push(new T(t.end,this.end))):e.push(new T(this.start,this.end)),e}getIntersection(t){if(this.isIntersecting(t)){let e=this.start,n=this.end;return this.containsPosition(t.start)&&(e=t.start),this.containsPosition(t.end)&&(n=t.end),new T(e,n)}return null}getJoined(t,e=!1){let n=this.isIntersecting(t);if(n||(this.start.isBefore(t.start)?n=e?this.end.isTouching(t.start):this.end.isEqual(t.start):n=e?t.end.isTouching(this.start):t.end.isEqual(this.start)),!n)return null;let i=this.start,r=this.end;return t.start.isBefore(i)&&(i=t.start),t.end.isAfter(r)&&(r=t.end),new T(i,r)}getMinimalFlatRanges(){const t=[],e=this.start.getCommonPath(this.end).length,n=N._createAt(this.start);let i=n.parent;for(;n.path.length>e+1;){const r=i.maxOffset-n.offset;r!==0&&t.push(new T(n,n.getShiftedBy(r))),n.path=n.path.slice(0,-1),n.offset++,i=i.parent}for(;n.path.length<=this.end.path.length;){const r=this.end.path[n.path.length-1],s=r-n.offset;s!==0&&t.push(new T(n,n.getShiftedBy(s))),n.offset=r,n.path.push(0)}return t}getWalker(t={}){return t.boundaries=this,new Te(t)}*getItems(t={}){t.boundaries=this,t.ignoreElementEnd=!0;const e=new Te(t);for(const n of e)yield n.item}*getPositions(t={}){t.boundaries=this;const e=new Te(t);yield e.position;for(const n of e)yield n.nextPosition}getTransformedByOperation(t){switch(t.type){case"insert":return this._getTransformedByInsertOperation(t);case"move":case"remove":case"reinsert":return this._getTransformedByMoveOperation(t);case"split":return[this._getTransformedBySplitOperation(t)];case"merge":return[this._getTransformedByMergeOperation(t)]}return[new T(this.start,this.end)]}getTransformedByOperations(t){const e=[new T(this.start,this.end)];for(const n of t)for(let i=0;i0?new this(n,i):new this(i,n)}static _createIn(t){return new this(N._createAt(t,0),N._createAt(t,t.maxOffset))}static _createOn(t){return this._createFromPositionAndShift(N._createBefore(t),t.offsetSize)}static _createFromRanges(t){if(t.length===0)throw new b("range-create-from-ranges-empty-array",null);if(t.length==1)return t[0].clone();const e=t[0];t.sort((r,s)=>r.start.isAfter(s.start)?1:-1);const n=t.indexOf(e),i=new this(e.start,e.end);if(n>0)for(let r=n-1;t[r].end.isEqual(i.start);r++)i.start=N._createAt(t[r].start);for(let r=n+1;r{if(e.viewPosition)return;const n=this._modelToViewMapping.get(e.modelPosition.parent);if(!n)throw new b("mapping-model-position-view-parent-not-found",this,{modelPosition:e.modelPosition});e.viewPosition=this.findPositionIn(n,e.modelPosition.offset)},{priority:"low"}),this.on("viewToModelPosition",(t,e)=>{if(e.modelPosition)return;const n=this.findMappedViewAncestor(e.viewPosition),i=this._viewToModelMapping.get(n),r=this._toModelOffset(e.viewPosition.parent,e.viewPosition.offset,n);e.modelPosition=N._createAt(i,r)},{priority:"low"})}bindElements(t,e){this._modelToViewMapping.set(t,e),this._viewToModelMapping.set(e,t)}unbindViewElement(t,e={}){const n=this.toModelElement(t);if(this._elementToMarkerNames.has(t))for(const i of this._elementToMarkerNames.get(t))this._unboundMarkerNames.add(i);e.defer?this._deferredBindingRemovals.set(t,t.root):(this._viewToModelMapping.delete(t),this._modelToViewMapping.get(n)==t&&this._modelToViewMapping.delete(n))}unbindModelElement(t){const e=this.toViewElement(t);this._modelToViewMapping.delete(t),this._viewToModelMapping.get(e)==t&&this._viewToModelMapping.delete(e)}bindElementToMarker(t,e){const n=this._markerNameToElements.get(e)||new Set;n.add(t);const i=this._elementToMarkerNames.get(t)||new Set;i.add(e),this._markerNameToElements.set(e,n),this._elementToMarkerNames.set(t,i)}unbindElementFromMarkerName(t,e){const n=this._markerNameToElements.get(e);n&&(n.delete(t),n.size==0&&this._markerNameToElements.delete(e));const i=this._elementToMarkerNames.get(t);i&&(i.delete(e),i.size==0&&this._elementToMarkerNames.delete(t))}flushUnboundMarkerNames(){const t=Array.from(this._unboundMarkerNames);return this._unboundMarkerNames.clear(),t}flushDeferredBindings(){for(const[t,e]of this._deferredBindingRemovals)t.root==e&&this.unbindViewElement(t);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(t){return this._viewToModelMapping.get(t)}toViewElement(t){return this._modelToViewMapping.get(t)}toModelRange(t){return new T(this.toModelPosition(t.start),this.toModelPosition(t.end))}toViewRange(t){return new K(this.toViewPosition(t.start),this.toViewPosition(t.end))}toModelPosition(t){const e={viewPosition:t,mapper:this};return this.fire("viewToModelPosition",e),e.modelPosition}toViewPosition(t,e={}){const n={modelPosition:t,mapper:this,isPhantom:e.isPhantom};return this.fire("modelToViewPosition",n),n.viewPosition}markerNameToElements(t){const e=this._markerNameToElements.get(t);if(!e)return null;const n=new Set;for(const i of e)if(i.is("attributeElement"))for(const r of i.getElementsWithSameId())n.add(r);else n.add(i);return n}registerViewToModelLength(t,e){this._viewToModelLengthCallbacks.set(t,e)}findMappedViewAncestor(t){let e=t.parent;for(;!this._viewToModelMapping.has(e);)e=e.parent;return e}_toModelOffset(t,e,n){if(n!=t){const r=this._toModelOffset(t.parent,t.index,n),s=this._toModelOffset(t,e,t);return r+s}if(t.is("$text"))return e;let i=0;for(let r=0;r1?t[0]+":"+t[1]:t[0]}class qu extends lt(){constructor(t){super(),this._conversionApi={dispatcher:this,...t},this._firedEventsMap=new WeakMap}convertChanges(t,e,n){const i=this._createConversionApi(n,t.getRefreshedItems());for(const s of t.getMarkersToRemove())this._convertMarkerRemove(s.name,s.range,i);const r=this._reduceChanges(t.getChanges());for(const s of r)s.type==="insert"?this._convertInsert(T._createFromPositionAndShift(s.position,s.length),i):s.type==="reinsert"?this._convertReinsert(T._createFromPositionAndShift(s.position,s.length),i):s.type==="remove"?this._convertRemove(s.position,s.length,s.name,i):this._convertAttribute(s.range,s.attributeKey,s.attributeOldValue,s.attributeNewValue,i);i.mapper.flushDeferredBindings();for(const s of i.mapper.flushUnboundMarkerNames()){const a=e.get(s).getRange();this._convertMarkerRemove(s,a,i),this._convertMarkerAdd(s,a,i)}for(const s of t.getMarkersToAdd())this._convertMarkerAdd(s.name,s.range,i);i.consumable.verifyAllConsumed("insert")}convert(t,e,n,i={}){const r=this._createConversionApi(n,void 0,i);this._convertInsert(t,r);for(const[s,a]of e)this._convertMarkerAdd(s,a,r);r.consumable.verifyAllConsumed("insert")}convertSelection(t,e,n){const i=this._createConversionApi(n);this.fire("cleanSelection",{selection:t},i);const r=t.getFirstPosition().root;if(!i.mapper.toViewElement(r))return;const s=Array.from(e.getMarkersAtPosition(t.getFirstPosition()));if(this._addConsumablesForSelection(i.consumable,t,s),this.fire("selection",{selection:t},i),!!t.isCollapsed){for(const a of s)if(i.consumable.test(t,"addMarker:"+a.name)){const c=a.getRange();if(!Z2(t.getFirstPosition(),a,i.mapper))continue;const l={item:t,markerName:a.name,markerRange:c};this.fire(`addMarker:${a.name}`,l,i)}for(const a of t.getAttributeKeys())if(i.consumable.test(t,"attribute:"+a)){const c={item:t,range:t.getFirstRange(),attributeKey:a,attributeOldValue:null,attributeNewValue:t.getAttribute(a)};this.fire(`attribute:${a}:$text`,c,i)}}}_convertInsert(t,e,n={}){n.doNotAddConsumables||this._addConsumablesForInsert(e.consumable,t);for(const i of Array.from(t.getWalker({shallow:!0})).map(Zu))this._testAndFire("insert",i,e)}_convertRemove(t,e,n,i){this.fire(`remove:${n}`,{position:t,length:e},i)}_convertAttribute(t,e,n,i,r){this._addConsumablesForRange(r.consumable,t,`attribute:${e}`);for(const s of t){const a={item:s.item,range:T._createFromPositionAndShift(s.previousPosition,s.length),attributeKey:e,attributeOldValue:n,attributeNewValue:i};this._testAndFire(`attribute:${e}`,a,r)}}_convertReinsert(t,e){const n=Array.from(t.getWalker({shallow:!0}));this._addConsumablesForInsert(e.consumable,n);for(const i of n.map(Zu))this._testAndFire("insert",{...i,reconversion:!0},e)}_convertMarkerAdd(t,e,n){if(e.root.rootName=="$graveyard")return;const i=`addMarker:${t}`;if(n.consumable.add(e,i),this.fire(i,{markerName:t,markerRange:e},n),!!n.consumable.consume(e,i)){this._addConsumablesForRange(n.consumable,e,i);for(const r of e.getItems()){if(!n.consumable.test(r,i))continue;const s={item:r,range:T._createOn(r),markerName:t,markerRange:e};this.fire(i,s,n)}}}_convertMarkerRemove(t,e,n){e.root.rootName!="$graveyard"&&this.fire(`removeMarker:${t}`,{markerName:t,markerRange:e},n)}_reduceChanges(t){const e={changes:t};return this.fire("reduceChanges",e),e.changes}_addConsumablesForInsert(t,e){for(const n of e){const i=n.item;if(t.test(i,"insert")===null){t.add(i,"insert");for(const r of i.getAttributeKeys())t.add(i,"attribute:"+r)}}return t}_addConsumablesForRange(t,e,n){for(const i of e.getItems())t.add(i,n);return t}_addConsumablesForSelection(t,e,n){t.add(e,"selection");for(const i of n)t.add(e,"addMarker:"+i.name);for(const i of e.getAttributeKeys())t.add(e,"attribute:"+i);return t}_testAndFire(t,e,n){const i=$2(t,e),r=e.item.is("$textProxy")?n.consumable._getSymbolForTextProxy(e.item):e.item,s=this._firedEventsMap.get(n),a=s.get(r);if(!a)s.set(r,new Set([i]));else if(!a.has(i))a.add(i);else return;this.fire(i,e,n)}_testAndFireAddAttributes(t,e){const n={item:t,range:T._createOn(t)};for(const i of n.item.getAttributeKeys())n.attributeKey=i,n.attributeOldValue=null,n.attributeNewValue=n.item.getAttribute(i),this._testAndFire(`attribute:${i}`,n,e)}_createConversionApi(t,e=new Set,n={}){const i={...this._conversionApi,consumable:new q2,writer:t,options:n,convertItem:r=>this._convertInsert(T._createOn(r),i),convertChildren:r=>this._convertInsert(T._createIn(r),i,{doNotAddConsumables:!0}),convertAttributes:r=>this._testAndFireAddAttributes(r,i),canReuseView:r=>!e.has(i.mapper.toModelElement(r))};return this._firedEventsMap.set(i,new Map),i}}function Z2(o,t,e){const n=t.getRange(),i=Array.from(o.getAncestors());return i.shift(),i.reverse(),!i.some(s=>{if(n.containsItem(s))return!!e.toViewElement(s).getCustomProperty("addHighlight")})}function $2(o,t){const e=t.item.is("element")?t.item.name:"$text";return`${o}:${e}`}function Zu(o){const t=o.item,e=T._createFromPositionAndShift(o.previousPosition,o.length);return{item:t,range:e}}class Jt extends lt(Ue){constructor(...t){super(),this._lastRangeBackward=!1,this._attrs=new Map,this._ranges=[],t.length&&this.setTo(...t)}get anchor(){if(this._ranges.length>0){const t=this._ranges[this._ranges.length-1];return this._lastRangeBackward?t.end:t.start}return null}get focus(){if(this._ranges.length>0){const t=this._ranges[this._ranges.length-1];return this._lastRangeBackward?t.start:t.end}return null}get isCollapsed(){return this._ranges.length===1?this._ranges[0].isCollapsed:!1}get rangeCount(){return this._ranges.length}get isBackward(){return!this.isCollapsed&&this._lastRangeBackward}isEqual(t){if(this.rangeCount!=t.rangeCount)return!1;if(this.rangeCount===0)return!0;if(!this.anchor.isEqual(t.anchor)||!this.focus.isEqual(t.focus))return!1;for(const e of this._ranges){let n=!1;for(const i of t._ranges)if(e.isEqual(i)){n=!0;break}if(!n)return!1}return!0}*getRanges(){for(const t of this._ranges)yield new T(t.start,t.end)}getFirstRange(){let t=null;for(const e of this._ranges)(!t||e.start.isBefore(t.start))&&(t=e);return t?new T(t.start,t.end):null}getLastRange(){let t=null;for(const e of this._ranges)(!t||e.end.isAfter(t.end))&&(t=e);return t?new T(t.start,t.end):null}getFirstPosition(){const t=this.getFirstRange();return t?t.start.clone():null}getLastPosition(){const t=this.getLastRange();return t?t.end.clone():null}setTo(...t){let[e,n,i]=t;if(typeof n=="object"&&(i=n,n=void 0),e===null)this._setRanges([]);else if(e instanceof Jt)this._setRanges(e.getRanges(),e.isBackward);else if(e&&typeof e.getRanges=="function")this._setRanges(e.getRanges(),e.isBackward);else if(e instanceof T)this._setRanges([e],!!i&&!!i.backward);else if(e instanceof N)this._setRanges([new T(e)]);else if(e instanceof cn){const r=!!i&&!!i.backward;let s;if(n=="in")s=T._createIn(e);else if(n=="on")s=T._createOn(e);else if(n!==void 0)s=new T(N._createAt(e,n));else throw new b("model-selection-setto-required-second-parameter",[this,e]);this._setRanges([s],r)}else if(Zt(e))this._setRanges(e,i&&!!i.backward);else throw new b("model-selection-setto-not-selectable",[this,e])}_setRanges(t,e=!1){const n=Array.from(t),i=n.some(r=>{if(!(r instanceof T))throw new b("model-selection-set-ranges-not-range",[this,t]);return this._ranges.every(s=>!s.isEqual(r))});n.length===this._ranges.length&&!i||(this._replaceAllRanges(n),this._lastRangeBackward=!!e,this.fire("change:range",{directChange:!0}))}setFocus(t,e){if(this.anchor===null)throw new b("model-selection-setfocus-no-ranges",[this,t]);const n=N._createAt(t,e);if(n.compareWith(this.focus)=="same")return;const i=this.anchor;this._ranges.length&&this._popRange(),n.compareWith(i)=="before"?(this._pushRange(new T(n,i)),this._lastRangeBackward=!0):(this._pushRange(new T(i,n)),this._lastRangeBackward=!1),this.fire("change:range",{directChange:!0})}getAttribute(t){return this._attrs.get(t)}getAttributes(){return this._attrs.entries()}getAttributeKeys(){return this._attrs.keys()}hasAttribute(t){return this._attrs.has(t)}removeAttribute(t){this.hasAttribute(t)&&(this._attrs.delete(t),this.fire("change:attribute",{attributeKeys:[t],directChange:!0}))}setAttribute(t,e){this.getAttribute(t)!==e&&(this._attrs.set(t,e),this.fire("change:attribute",{attributeKeys:[t],directChange:!0}))}getSelectedElement(){return this.rangeCount!==1?null:this.getFirstRange().getContainedElement()}*getSelectedBlocks(){const t=new WeakSet;for(const e of this.getRanges()){const n=Ku(e.start,t);Y2(n,e)&&(yield n);for(const r of e.getWalker()){const s=r.item;r.type=="elementEnd"&&K2(s,t,e)&&(yield s)}const i=Ku(e.end,t);Q2(i,e)&&(yield i)}}containsEntireContent(t=this.anchor.root){const e=N._createAt(t,0),n=N._createAt(t,"end");return e.isTouching(this.getFirstPosition())&&n.isTouching(this.getLastPosition())}_pushRange(t){this._checkRange(t),this._ranges.push(new T(t.start,t.end))}_checkRange(t){for(let e=0;e0;)this._popRange()}_popRange(){this._ranges.pop()}}Jt.prototype.is=function(o){return o==="selection"||o==="model:selection"};function $u(o,t){return t.has(o)?!1:(t.add(o),o.root.document.model.schema.isBlock(o)&&!!o.parent)}function K2(o,t,e){return $u(o,t)&&Es(o,e)}function Ku(o,t){const n=o.parent.root.document.model.schema,i=o.parent.getAncestors({parentFirst:!0,includeSelf:!0});let r=!1;const s=i.find(a=>r?!1:(r=n.isLimit(a),!r&&$u(a,t)));return i.forEach(a=>t.add(a)),s}function Es(o,t){const e=J2(o);return e?!t.containsRange(T._createOn(e),!0):!0}function Y2(o,t){return o?t.isCollapsed||o.isEmpty?!0:t.start.isTouching(N._createAt(o,o.maxOffset))?!1:Es(o,t):!1}function Q2(o,t){return o?t.isCollapsed||o.isEmpty?!0:t.end.isTouching(N._createAt(o,0))?!1:Es(o,t):!1}function J2(o){const t=o.root.document.model.schema;let e=o.parent;for(;e;){if(t.isBlock(e))return e;e=e.parent}}class Xt extends lt(T){constructor(t,e){super(t,e),X2.call(this)}detach(){this.stopListening()}toRange(){return new T(this.start,this.end)}static fromRange(t){return new Xt(t.start,t.end)}}Xt.prototype.is=function(o){return o==="liveRange"||o==="model:liveRange"||o=="range"||o==="model:range"};function X2(){this.listenTo(this.root.document.model,"applyOperation",(o,t)=>{const e=t[0];e.isDocumentOperation&&tx.call(this,e)},{priority:"low"})}function tx(o){const t=this.getTransformedByOperation(o),e=T._createFromRanges(t),n=!e.isEqual(this),i=ex(this,o);let r=null;if(n){e.root.rootName=="$graveyard"&&(o.type=="remove"?r=o.sourcePosition:r=o.deletionPosition);const s=this.toRange();this.start=e.start,this.end=e.end,this.fire("change:range",s,{deletionPosition:r})}else i&&this.fire("change:content",this.toRange(),{deletionPosition:r})}function ex(o,t){switch(t.type){case"insert":return o.containsPosition(t.position);case"move":case"remove":case"reinsert":case"merge":return o.containsPosition(t.sourcePosition)||o.start.isEqual(t.sourcePosition)||o.containsPosition(t.targetPosition);case"split":return o.containsPosition(t.splitPosition)||o.containsPosition(t.insertionPosition)}return!1}const wo="selection:";class pe extends lt(Ue){constructor(t){super(),this._selection=new nx(t),this._selection.delegate("change:range").to(this),this._selection.delegate("change:attribute").to(this),this._selection.delegate("change:marker").to(this)}get isCollapsed(){return this._selection.isCollapsed}get anchor(){return this._selection.anchor}get focus(){return this._selection.focus}get rangeCount(){return this._selection.rangeCount}get hasOwnRange(){return this._selection.hasOwnRange}get isBackward(){return this._selection.isBackward}get isGravityOverridden(){return this._selection.isGravityOverridden}get markers(){return this._selection.markers}get _ranges(){return this._selection._ranges}getRanges(){return this._selection.getRanges()}getFirstPosition(){return this._selection.getFirstPosition()}getLastPosition(){return this._selection.getLastPosition()}getFirstRange(){return this._selection.getFirstRange()}getLastRange(){return this._selection.getLastRange()}getSelectedBlocks(){return this._selection.getSelectedBlocks()}getSelectedElement(){return this._selection.getSelectedElement()}containsEntireContent(t){return this._selection.containsEntireContent(t)}destroy(){this._selection.destroy()}getAttributeKeys(){return this._selection.getAttributeKeys()}getAttributes(){return this._selection.getAttributes()}getAttribute(t){return this._selection.getAttribute(t)}hasAttribute(t){return this._selection.hasAttribute(t)}refresh(){this._selection.updateMarkers(),this._selection._updateAttributes(!1)}observeMarkers(t){this._selection.observeMarkers(t)}_setFocus(t,e){this._selection.setFocus(t,e)}_setTo(...t){this._selection.setTo(...t)}_setAttribute(t,e){this._selection.setAttribute(t,e)}_removeAttribute(t){this._selection.removeAttribute(t)}_getStoredAttributes(){return this._selection.getStoredAttributes()}_overrideGravity(){return this._selection.overrideGravity()}_restoreGravity(t){this._selection.restoreGravity(t)}static _getStoreAttributeKey(t){return wo+t}static _isStoreAttributeKey(t){return t.startsWith(wo)}}pe.prototype.is=function(o){return o==="selection"||o=="model:selection"||o=="documentSelection"||o=="model:documentSelection"};class nx extends Jt{constructor(t){super(),this.markers=new oe({idProperty:"name"}),this._attributePriority=new Map,this._selectionRestorePosition=null,this._hasChangedRange=!1,this._overriddenGravityRegister=new Set,this._observedMarkers=new Set,this._model=t.model,this._document=t,this.listenTo(this._model,"applyOperation",(e,n)=>{const i=n[0];!i.isDocumentOperation||i.type=="marker"||i.type=="rename"||i.type=="noop"||(this._ranges.length==0&&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,n,i,r)=>{this._updateMarker(n,r)}),this.listenTo(this._document,"change",(e,n)=>{ox(this._model,n)})}get isCollapsed(){return this._ranges.length===0?this._document._getDefaultRange().isCollapsed:super.isCollapsed}get anchor(){return super.anchor||this._document._getDefaultRange().start}get focus(){return super.focus||this._document._getDefaultRange().end}get rangeCount(){return this._ranges.length?this._ranges.length:1}get hasOwnRange(){return this._ranges.length>0}get isGravityOverridden(){return!!this._overriddenGravityRegister.size}destroy(){for(let t=0;t{if(this._hasChangedRange=!0,e.root==this._document.graveyard){this._selectionRestorePosition=r.deletionPosition;const s=this._ranges.indexOf(e);this._ranges.splice(s,1),e.detach()}}),e}updateMarkers(){if(!this._observedMarkers.size)return;const t=[];let e=!1;for(const i of this._model.markers){const r=i.name.split(":",1)[0];if(!this._observedMarkers.has(r))continue;const s=i.getRange();for(const a of this.getRanges())s.containsRange(a,!a.isCollapsed)&&t.push(i)}const n=Array.from(this.markers);for(const i of t)this.markers.has(i)||(this.markers.add(i),e=!0);for(const i of Array.from(this.markers))t.includes(i)||(this.markers.remove(i),e=!0);e&&this.fire("change:marker",{oldMarkers:n,directChange:!1})}_updateMarker(t,e){const n=t.name.split(":",1)[0];if(!this._observedMarkers.has(n))return;let i=!1;const r=Array.from(this.markers),s=this.markers.has(t);if(!e)s&&(this.markers.remove(t),i=!0);else{let a=!1;for(const c of this.getRanges())if(e.containsRange(c,!c.isCollapsed)){a=!0;break}a&&!s?(this.markers.add(t),i=!0):!a&&s&&(this.markers.remove(t),i=!0)}i&&this.fire("change:marker",{oldMarkers:r,directChange:!1})}_updateAttributes(t){const e=Se(this._getSurroundingAttributes()),n=Se(this.getAttributes());if(t)this._attributePriority=new Map,this._attrs=new Map;else for(const[r,s]of this._attributePriority)s=="low"&&(this._attrs.delete(r),this._attributePriority.delete(r));this._setAttributesTo(e);const i=[];for(const[r,s]of this.getAttributes())(!n.has(r)||n.get(r)!==s)&&i.push(r);for(const[r]of n)this.hasAttribute(r)||i.push(r);i.length>0&&this.fire("change:attribute",{attributeKeys:i,directChange:!1})}_setAttribute(t,e,n=!0){const i=n?"normal":"low";return i=="low"&&this._attributePriority.get(t)=="normal"||super.getAttribute(t)===e?!1:(this._attrs.set(t,e),this._attributePriority.set(t,i),!0)}_removeAttribute(t,e=!0){const n=e?"normal":"low";return n=="low"&&this._attributePriority.get(t)=="normal"||(this._attributePriority.set(t,n),!super.hasAttribute(t))?!1:(this._attrs.delete(t),!0)}_setAttributesTo(t){const e=new Set;for(const[n,i]of this.getAttributes())t.get(n)!==i&&this._removeAttribute(n,!1);for(const[n,i]of t)this._setAttribute(n,i,!1)&&e.add(n);return e}*getStoredAttributes(){const t=this.getFirstPosition().parent;if(this.isCollapsed&&t.isEmpty)for(const e of t.getAttributeKeys())e.startsWith(wo)&&(yield[e.substr(wo.length),t.getAttribute(e)])}_getSurroundingAttributes(){const t=this.getFirstPosition(),e=this._model.schema;if(t.root.rootName=="$graveyard")return null;let n=null;if(this.isCollapsed){const i=t.textNode?t.textNode:t.nodeBefore,r=t.textNode?t.textNode:t.nodeAfter;if(this.isGravityOverridden||(n=Ao(i,e)),n||(n=Ao(r,e)),!this.isGravityOverridden&&!n){let s=i;for(;s&&!n;)s=s.previousSibling,n=Ao(s,e)}if(!n){let s=r;for(;s&&!n;)s=s.nextSibling,n=Ao(s,e)}n||(n=this.getStoredAttributes())}else{const i=this.getFirstRange();for(const r of i){if(r.item.is("element")&&e.isObject(r.item)){n=Ao(r.item,e);break}if(r.type=="text"){n=r.item.getAttributes();break}}}return n}_fixGraveyardSelection(t){const e=this._model.schema.getNearestSelectionRange(t);e&&this._pushRange(e)}}function Ao(o,t){if(!o)return null;if(o instanceof me||o instanceof gt)return o.getAttributes();if(!t.isInline(o))return null;if(!t.isObject(o))return[];const e=[];for(const[n,i]of o.getAttributes())t.checkAttribute("$text",n)&&t.getAttributeProperties(n).copyFromObject!==!1&&e.push([n,i]);return e}function ox(o,t){const e=o.document.differ;for(const n of e.getChanges()){if(n.type!="insert")continue;const i=n.position.parent;n.length===i.maxOffset&&o.enqueueChange(t,s=>{const a=Array.from(i.getAttributeKeys()).filter(c=>c.startsWith(wo));for(const c of a)s.removeAttribute(c,i)})}}class Yu{constructor(t){this._dispatchers=t}add(t){for(const e of this._dispatchers)t(e);return this}}class ix extends Yu{elementToElement(t){return this.add(_x(t))}elementToStructure(t){return this.add(vx(t))}attributeToElement(t){return this.add(yx(t))}attributeToAttribute(t){return this.add(xx(t))}markerToElement(t){return this.add(Ex(t))}markerToHighlight(t){return this.add(Sx(t))}markerToData(t){return this.add(Dx(t))}}function Qu(){return(o,t,e)=>{if(!e.consumable.consume(t.item,o.name))return;const n=e.writer,i=e.mapper.toViewPosition(t.range.start),r=n.createText(t.item.data);n.insert(i,r)}}function Ju(){return(o,t,e)=>{e.convertAttributes(t.item),!t.reconversion&&t.item.is("element")&&!t.item.isEmpty&&e.convertChildren(t.item)}}function rx(){return(o,t,e)=>{const n=e.mapper.toViewPosition(t.position),i=t.position.getShiftedBy(t.length),r=e.mapper.toViewPosition(i,{isPhantom:!0}),s=e.writer.createRange(n,r),a=e.writer.remove(s.getTrimmed());for(const c of e.writer.createRangeIn(a).getItems())e.mapper.unbindViewElement(c,{defer:!0})}}function Xu(o,t){const e=o.createAttributeElement("span",t.attributes);return t.classes&&e._addClass(t.classes),typeof t.priority=="number"&&(e._priority=t.priority),e._id=t.id,e}function sx(){return(o,t,e)=>{const n=t.selection;if(n.isCollapsed||!e.consumable.consume(n,"selection"))return;const i=[];for(const r of n.getRanges())i.push(e.mapper.toViewRange(r));e.writer.setSelection(i,{backward:n.isBackward})}}function ax(){return(o,t,e)=>{const n=t.selection;if(!n.isCollapsed||!e.consumable.consume(n,"selection"))return;const i=e.writer,r=n.getFirstPosition(),s=e.mapper.toViewPosition(r),a=i.breakAttributes(s);i.setSelection(a)}}function cx(){return(o,t,e)=>{const n=e.writer,i=n.document.selection;for(const r of i.getRanges())r.isCollapsed&&r.end.parent.isAttached()&&e.writer.mergeAttributes(r.start);n.setSelection(null)}}function lx(o){return(t,e,n)=>{if(!n.consumable.test(e.item,t.name))return;const i=o(e.attributeOldValue,n,e),r=o(e.attributeNewValue,n,e);if(!i&&!r)return;n.consumable.consume(e.item,t.name);const s=n.writer,a=s.document.selection;if(e.item instanceof Jt||e.item instanceof pe)s.wrap(a.getFirstRange(),r);else{let c=n.mapper.toViewRange(e.range);e.attributeOldValue!==null&&i&&(c=s.unwrap(c,i)),e.attributeNewValue!==null&&r&&s.wrap(c,r)}}}function dx(o,t=Lx){return(e,n,i)=>{if(!t(n.item,i.consumable,{preflight:!0}))return;const r=o(n.item,i,n);if(!r)return;t(n.item,i.consumable);const s=i.mapper.toViewPosition(n.range.start);i.mapper.bindElements(n.item,r),i.writer.insert(s,r),i.convertAttributes(n.item),sh(r,n.item.getChildren(),i,{reconversion:n.reconversion})}}function ux(o,t){return(e,n,i)=>{if(!t(n.item,i.consumable,{preflight:!0}))return;const r=new Map;i.writer._registerSlotFactory(Mx(n.item,r,i));const s=o(n.item,i,n);if(i.writer._clearSlotFactory(),!s)return;Bx(n.item,r,i),t(n.item,i.consumable);const a=i.mapper.toViewPosition(n.range.start);i.mapper.bindElements(n.item,s),i.writer.insert(a,s),i.convertAttributes(n.item),Nx(s,r,i,{reconversion:n.reconversion})}}function hx(o){return(t,e,n)=>{e.isOpening=!0;const i=o(e,n);e.isOpening=!1;const r=o(e,n);if(!i||!r)return;const s=e.markerRange;if(s.isCollapsed&&!n.consumable.consume(s,t.name))return;for(const l of s)if(!n.consumable.consume(l.item,t.name))return;const a=n.mapper,c=n.writer;c.insert(a.toViewPosition(s.start),i),n.mapper.bindElementToMarker(i,e.markerName),s.isCollapsed||(c.insert(a.toViewPosition(s.end),r),n.mapper.bindElementToMarker(r,e.markerName)),t.stop()}}function gx(){return(o,t,e)=>{const n=e.mapper.markerNameToElements(t.markerName);if(n){for(const i of n)e.mapper.unbindElementFromMarkerName(i,t.markerName),e.writer.clear(e.writer.createRangeOn(i),i);e.writer.clearClonedElementsGroup(t.markerName),o.stop()}}}function fx(o){return(t,e,n)=>{const i=o(e.markerName,n);if(!i)return;const r=e.markerRange;n.consumable.consume(r,t.name)&&(th(r,!1,n,e,i),th(r,!0,n,e,i),t.stop())}}function th(o,t,e,n,i){const r=t?o.start:o.end,s=r.nodeAfter&&r.nodeAfter.is("element")?r.nodeAfter:null,a=r.nodeBefore&&r.nodeBefore.is("element")?r.nodeBefore:null;if(s||a){let l,d;t&&s||!t&&!a?(l=s,d=!0):(l=a,d=!1);const u=e.mapper.toViewElement(l);if(u){mx(u,t,d,e,n,i);return}}const c=e.mapper.toViewPosition(r);px(c,t,e,n,i)}function mx(o,t,e,n,i,r){const s=`data-${r.group}-${t?"start":"end"}-${e?"before":"after"}`,a=o.hasAttribute(s)?o.getAttribute(s).split(","):[];a.unshift(r.name),n.writer.setAttribute(s,a.join(","),o),n.mapper.bindElementToMarker(o,i.markerName)}function px(o,t,e,n,i){const r=`${i.group}-${t?"start":"end"}`,s=i.name?{name:i.name}:null,a=e.writer.createUIElement(r,s);e.writer.insert(o,a),e.mapper.bindElementToMarker(a,n.markerName)}function kx(o){return(t,e,n)=>{const i=o(e.markerName,n);if(!i)return;const r=n.mapper.markerNameToElements(e.markerName);if(!r)return;for(const a of r)n.mapper.unbindElementFromMarkerName(a,e.markerName),a.is("containerElement")?(s(`data-${i.group}-start-before`,a),s(`data-${i.group}-start-after`,a),s(`data-${i.group}-end-before`,a),s(`data-${i.group}-end-after`,a)):n.writer.clear(n.writer.createRangeOn(a),a);n.writer.clearClonedElementsGroup(e.markerName),t.stop();function s(a,c){if(c.hasAttribute(a)){const l=new Set(c.getAttribute(a).split(","));l.delete(i.name),l.size==0?n.writer.removeAttribute(a,c):n.writer.setAttribute(a,Array.from(l).join(","),c)}}}}function bx(o){return(t,e,n)=>{if(!n.consumable.test(e.item,t.name))return;const i=o(e.attributeOldValue,n,e),r=o(e.attributeNewValue,n,e);if(!i&&!r)return;n.consumable.consume(e.item,t.name);const s=n.mapper.toViewElement(e.item),a=n.writer;if(!s)throw new b("conversion-attribute-to-attribute-on-text",n.dispatcher,e);if(e.attributeOldValue!==null&&i)if(i.key=="class"){const c=bt(i.value);for(const l of c)a.removeClass(l,s)}else if(i.key=="style"){const c=Object.keys(i.value);for(const l of c)a.removeStyle(l,s)}else a.removeAttribute(i.key,s);if(e.attributeNewValue!==null&&r)if(r.key=="class"){const c=bt(r.value);for(const l of c)a.addClass(l,s)}else if(r.key=="style"){const c=Object.keys(r.value);for(const l of c)a.setStyle(l,r.value[l],s)}else a.setAttribute(r.key,r.value,s)}}function wx(o){return(t,e,n)=>{if(!e.item||!(e.item instanceof Jt||e.item instanceof pe)&&!e.item.is("$textProxy"))return;const i=Ds(o,e,n);if(!i||!n.consumable.consume(e.item,t.name))return;const r=n.writer,s=Xu(r,i),a=r.document.selection;if(e.item instanceof Jt||e.item instanceof pe)r.wrap(a.getFirstRange(),s);else{const c=n.mapper.toViewRange(e.range),l=r.wrap(c,s);for(const d of l.getItems())if(d.is("attributeElement")&&d.isSimilar(s)){n.mapper.bindElementToMarker(d,e.markerName);break}}}}function Ax(o){return(t,e,n)=>{if(!e.item||!(e.item instanceof dt))return;const i=Ds(o,e,n);if(!i||!n.consumable.test(e.item,t.name))return;const r=n.mapper.toViewElement(e.item);if(r&&r.getCustomProperty("addHighlight")){n.consumable.consume(e.item,t.name);for(const a of T._createIn(e.item))n.consumable.consume(a.item,t.name);r.getCustomProperty("addHighlight")(r,i,n.writer),n.mapper.bindElementToMarker(r,e.markerName)}}}function Cx(o){return(t,e,n)=>{if(e.markerRange.isCollapsed)return;const i=Ds(o,e,n);if(!i)return;const r=Xu(n.writer,i),s=n.mapper.markerNameToElements(e.markerName);if(s){for(const a of s)n.mapper.unbindElementFromMarkerName(a,e.markerName),a.is("attributeElement")?n.writer.unwrap(n.writer.createRangeOn(a),r):a.getCustomProperty("removeHighlight")(a,i.id,n.writer);n.writer.clearClonedElementsGroup(e.markerName),t.stop()}}}function _x(o){const t=eh(o.model),e=Co(o.view,"container");return t.attributes.length&&(t.children=!0),n=>{n.on(`insert:${t.name}`,dx(e,rh(t)),{priority:o.converterPriority||"normal"}),(t.children||t.attributes.length)&&n.on("reduceChanges",ih(t),{priority:"low"})}}function vx(o){const t=eh(o.model),e=Co(o.view,"container");return t.children=!0,n=>{if(n._conversionApi.schema.checkChild(t.name,"$text"))throw new b("conversion-element-to-structure-disallowed-text",n,{elementName:t.name});n.on(`insert:${t.name}`,ux(e,rh(t)),{priority:o.converterPriority||"normal"}),n.on("reduceChanges",ih(t),{priority:"low"})}}function yx(o){o=He(o);let t=o.model;typeof t=="string"&&(t={key:t});let e=`attribute:${t.key}`;if(t.name&&(e+=":"+t.name),t.values)for(const i of t.values)o.view[i]=Co(o.view[i],"attribute");else o.view=Co(o.view,"attribute");const n=nh(o);return i=>{i.on(e,lx(n),{priority:o.converterPriority||"normal"})}}function xx(o){o=He(o);let t=o.model;typeof t=="string"&&(t={key:t});let e=`attribute:${t.key}`;if(t.name&&(e+=":"+t.name),t.values)for(const i of t.values)o.view[i]=oh(o.view[i]);else o.view=oh(o.view);const n=nh(o);return i=>{i.on(e,bx(n),{priority:o.converterPriority||"normal"})}}function Ex(o){const t=Co(o.view,"ui");return e=>{e.on(`addMarker:${o.model}`,hx(t),{priority:o.converterPriority||"normal"}),e.on(`removeMarker:${o.model}`,gx(),{priority:o.converterPriority||"normal"})}}function Dx(o){o=He(o);const t=o.model;let e=o.view;return e||(e=n=>({group:t,name:n.substr(o.model.length+1)})),n=>{n.on(`addMarker:${t}`,fx(e),{priority:o.converterPriority||"normal"}),n.on(`removeMarker:${t}`,kx(e),{priority:o.converterPriority||"normal"})}}function Sx(o){return t=>{t.on(`addMarker:${o.model}`,wx(o.view),{priority:o.converterPriority||"normal"}),t.on(`addMarker:${o.model}`,Ax(o.view),{priority:o.converterPriority||"normal"}),t.on(`removeMarker:${o.model}`,Cx(o.view),{priority:o.converterPriority||"normal"})}}function eh(o){return typeof o=="string"&&(o={name:o}),{name:o.name,attributes:o.attributes?bt(o.attributes):[],children:!!o.children}}function Co(o,t){return typeof o=="function"?o:(e,n)=>Tx(o,n,t)}function Tx(o,t,e){typeof o=="string"&&(o={name:o});let n;const i=t.writer,r=Object.assign({},o.attributes);if(e=="container")n=i.createContainerElement(o.name,r);else if(e=="attribute"){const s={priority:o.priority||ho.DEFAULT_PRIORITY};n=i.createAttributeElement(o.name,r,s)}else n=i.createUIElement(o.name,r);if(o.styles){const s=Object.keys(o.styles);for(const a of s)i.setStyle(a,o.styles[a],n)}if(o.classes){const s=o.classes;if(typeof s=="string")i.addClass(s,n);else for(const a of s)i.addClass(a,n)}return n}function nh(o){return o.model.values?(t,e,n)=>{const i=o.view[t];return i?i(t,e,n):null}:o.view}function oh(o){return typeof o=="string"?t=>({key:o,value:t}):typeof o=="object"?o.value?()=>o:t=>({key:o.key,value:t}):o}function Ds(o,t,e){const n=typeof o=="function"?o(t,e):o;return n?(n.priority||(n.priority=10),n.id||(n.id=t.markerName),n):null}function Ix(o){return(t,e)=>{if(!t.is("element",o.name))return!1;if(e.type=="attribute"){if(o.attributes.includes(e.attributeKey))return!0}else if(o.children)return!0;return!1}}function ih(o){const t=Ix(o);return(e,n)=>{const i=[];n.reconvertedElements||(n.reconvertedElements=new Set);for(const r of n.changes){const s=r.type=="attribute"?r.range.start.nodeAfter:r.position.parent;if(!s||!t(s,r)){i.push(r);continue}if(!n.reconvertedElements.has(s)){n.reconvertedElements.add(s);const a=N._createBefore(s);let c=i.length;for(let l=i.length-1;l>=0;l--){const d=i[l],f=(d.type=="attribute"?d.range.start:d.position).compareWith(a);if(f=="before"||d.type=="remove"&&f=="same")break;c=l}i.splice(c,0,{type:"remove",name:s.name,position:a,length:1},{type:"reinsert",name:s.name,position:a,length:1})}}n.changes=i}}function rh(o){return(t,e,n={})=>{const i=["insert"];for(const r of o.attributes)t.hasAttribute(r)&&i.push(`attribute:${r}`);return i.every(r=>e.test(t,r))?(n.preflight||i.forEach(r=>e.consume(t,r)),!0):!1}}function Mx(o,t,e){return(n,i)=>{const r=n.createContainerElement("$slot");let s=null;if(i==="children")s=Array.from(o.getChildren());else if(typeof i=="function")s=Array.from(o.getChildren()).filter(a=>i(a));else throw new b("conversion-slot-mode-unknown",e.dispatcher,{modeOrFilter:i});return t.set(r,s),r}}function Bx(o,t,e){const n=Array.from(t.values()).flat(),i=new Set(n);if(i.size!=n.length)throw new b("conversion-slot-filter-overlap",e.dispatcher,{element:o});if(i.size!=o.childCount)throw new b("conversion-slot-filter-incomplete",e.dispatcher,{element:o})}function Nx(o,t,e,n){e.mapper.on("modelToViewPosition",s,{priority:"highest"});let i=null,r=null;for([i,r]of t)sh(o,r,e,n),e.writer.move(e.writer.createRangeIn(i),e.writer.createPositionBefore(i)),e.writer.remove(i);e.mapper.off("modelToViewPosition",s);function s(a,c){const l=c.modelPosition.nodeAfter,d=r.indexOf(l);d<0||(c.viewPosition=c.mapper.findPositionIn(i,d))}}function sh(o,t,e,n){for(const i of t)zx(o.root,i,e,n)||e.convertItem(i)}function zx(o,t,e,n){const{writer:i,mapper:r}=e;if(!n.reconversion)return!1;const s=r.toViewElement(t);return!s||s.root==o||!e.canReuseView(s)?!1:(i.move(i.createRangeOn(s),r.toViewPosition(N._createBefore(t))),!0)}function Lx(o,t,{preflight:e}={}){return e?t.test(o,"insert"):t.consume(o,"insert")}function ah(o){const{schema:t,document:e}=o.model;for(const n of e.getRoots())if(n.isEmpty&&!t.checkChild(n,"$text")&&t.checkChild(n,"paragraph"))return o.insertElement("paragraph",n),!0;return!1}function ch(o,t,e){const n=e.createContext(o);return!(!e.checkChild(n,"paragraph")||!e.checkChild(n.push("paragraph"),t))}function lh(o,t){const e=t.createElement("paragraph");return t.insert(e,o),t.createPositionAt(e,0)}class Px extends Yu{elementToElement(t){return this.add(uh(t))}elementToAttribute(t){return this.add(jx(t))}attributeToAttribute(t){return this.add(Fx(t))}elementToMarker(t){return this.add(Vx(t))}dataToMarker(t){return this.add(Hx(t))}}function dh(){return(o,t,e)=>{if(!t.modelRange&&e.consumable.consume(t.viewItem,{name:!0})){const{modelRange:n,modelCursor:i}=e.convertChildren(t.viewItem,t.modelCursor);t.modelRange=n,t.modelCursor=i}}}function Ox(){return(o,t,{schema:e,consumable:n,writer:i})=>{let r=t.modelCursor;if(!n.test(t.viewItem))return;if(!e.checkChild(r,"$text")){if(!ch(r,"$text",e)||t.viewItem.data.trim().length==0)return;const a=r.nodeBefore;r=lh(r,i),a&&a.is("element","$marker")&&(i.move(i.createRangeOn(a),r),r=i.createPositionAfter(a))}n.consume(t.viewItem);const s=i.createText(t.viewItem.data);i.insert(s,r),t.modelRange=i.createRange(r,r.getShiftedBy(s.offsetSize)),t.modelCursor=t.modelRange.end}}function Rx(o,t){return(e,n)=>{const i=n.newSelection,r=[];for(const a of i.getRanges())r.push(t.toModelRange(a));const s=o.createSelection(r,{backward:i.isBackward});s.isEqual(o.document.selection)||o.change(a=>{a.setSelection(s)})}}function uh(o){o=He(o);const t=Ts(o),e=Ss(o.view),n=e?`element:${e}`:"element";return i=>{i.on(n,t,{priority:o.converterPriority||"normal"})}}function jx(o){o=He(o),hh(o);const t=gh(o,!1),e=Ss(o.view),n=e?`element:${e}`:"element";return i=>{i.on(n,t,{priority:o.converterPriority||"low"})}}function Fx(o){o=He(o);let t=null;(typeof o.view=="string"||o.view.key)&&(t=Wx(o)),hh(o,t);const e=gh(o,!0);return n=>{n.on("element",e,{priority:o.converterPriority||"low"})}}function Vx(o){const t=$x(o.model);return uh({...o,model:t})}function Hx(o){o=He(o),o.model||(o.model=i=>i?o.view+":"+i:o.view);const t={view:o.view,model:o.model},e=Ts(fh(t,"start")),n=Ts(fh(t,"end"));return i=>{i.on(`element:${o.view}-start`,e,{priority:o.converterPriority||"normal"}),i.on(`element:${o.view}-end`,n,{priority:o.converterPriority||"normal"});const r=Re.low,s=Re.highest,a=Re.get(o.converterPriority)/s;i.on("element",Ux(t),{priority:r+a})}}function Ux(o){return(t,e,n)=>{const i=`data-${o.view}`;if(!n.consumable.test(e.viewItem,{attributes:i+"-end-after"})&&!n.consumable.test(e.viewItem,{attributes:i+"-start-after"})&&!n.consumable.test(e.viewItem,{attributes:i+"-end-before"})&&!n.consumable.test(e.viewItem,{attributes:i+"-start-before"}))return;e.modelRange||Object.assign(e,n.convertChildren(e.viewItem,e.modelCursor)),n.consumable.consume(e.viewItem,{attributes:i+"-end-after"})&&r(e.modelRange.end,e.viewItem.getAttribute(i+"-end-after").split(",")),n.consumable.consume(e.viewItem,{attributes:i+"-start-after"})&&r(e.modelRange.end,e.viewItem.getAttribute(i+"-start-after").split(",")),n.consumable.consume(e.viewItem,{attributes:i+"-end-before"})&&r(e.modelRange.start,e.viewItem.getAttribute(i+"-end-before").split(",")),n.consumable.consume(e.viewItem,{attributes:i+"-start-before"})&&r(e.modelRange.start,e.viewItem.getAttribute(i+"-start-before").split(","));function r(s,a){for(const c of a){const l=o.model(c,n),d=n.writer.createElement("$marker",{"data-name":l});n.writer.insert(d,s),e.modelCursor.isEqual(s)?e.modelCursor=e.modelCursor.getShiftedBy(1):e.modelCursor=e.modelCursor._getTransformedByInsertion(s,1),e.modelRange=e.modelRange._getTransformedByInsertion(s,1)[0]}}}}function Ss(o){return typeof o=="string"?o:typeof o=="object"&&typeof o.name=="string"?o.name:null}function Ts(o){const t=new he(o.view);return(e,n,i)=>{const r=t.match(n.viewItem);if(!r)return;const s=r.match;if(s.name=!0,!i.consumable.test(n.viewItem,s))return;const a=Gx(o.model,n.viewItem,i);a&&i.safeInsert(a,n.modelCursor)&&(i.consumable.consume(n.viewItem,s),i.convertChildren(n.viewItem,a),i.updateConversionResult(a,n))}}function Gx(o,t,e){return o instanceof Function?o(t,e):e.writer.createElement(o)}function Wx(o){typeof o.view=="string"&&(o.view={key:o.view});const t=o.view.key;let e;if(t=="class"||t=="style")e={[t=="class"?"classes":"styles"]:o.view.value};else{const n=typeof o.view.value>"u"?/[\s\S]*/:o.view.value;e={attributes:{[t]:n}}}return o.view.name&&(e.name=o.view.name),o.view=e,t}function hh(o,t=null){const e=t===null?!0:r=>r.getAttribute(t),n=typeof o.model!="object"?o.model:o.model.key,i=typeof o.model!="object"||typeof o.model.value>"u"?e:o.model.value;o.model={key:n,value:i}}function gh(o,t){const e=new he(o.view);return(n,i,r)=>{if(!i.modelRange&&t)return;const s=e.match(i.viewItem);if(!s||(qx(o.view,i.viewItem)?s.match.name=!0:delete s.match.name,!r.consumable.test(i.viewItem,s.match)))return;const a=o.model.key,c=typeof o.model.value=="function"?o.model.value(i.viewItem,r):o.model.value;if(c===null)return;i.modelRange||Object.assign(i,r.convertChildren(i.viewItem,i.modelCursor)),Zx(i.modelRange,{key:a,value:c},t,r)&&(r.consumable.test(i.viewItem,{name:!0})&&(s.match.name=!0),r.consumable.consume(i.viewItem,s.match))}}function qx(o,t){const e=typeof o=="function"?o(t):o;return typeof e=="object"&&!Ss(e)?!1:!e.classes&&!e.attributes&&!e.styles}function Zx(o,t,e,n){let i=!1;for(const r of Array.from(o.getItems({shallow:e})))n.schema.checkAttribute(r,t.key)&&(i=!0,!r.hasAttribute(t.key)&&n.writer.setAttribute(t.key,t.value,r));return i}function $x(o){return(t,e)=>{const n=typeof o=="string"?o:o(t,e);return e.writer.createElement("$marker",{"data-name":n})}}function fh(o,t){const e=(n,i)=>{const r=n.getAttribute("name"),s=o.model(r,i);return i.writer.createElement("$marker",{"data-name":s})};return{view:`${o.view}-${t}`,model:e}}function Kx(o){o.document.registerPostFixer(t=>Yx(t,o))}function Yx(o,t){const e=t.document.selection,n=t.schema,i=[];let r=!1;for(const s of e.getRanges()){const a=mh(s,n);a&&!a.isEqual(s)?(i.push(a),r=!0):i.push(s)}return r&&o.setSelection(t5(i),{backward:e.isBackward}),!1}function mh(o,t){return o.isCollapsed?Qx(o,t):Jx(o,t)}function Qx(o,t){const e=o.start,n=t.getNearestSelectionRange(e);if(!n){const r=e.getAncestors().reverse().find(s=>t.isObject(s));return r?T._createOn(r):null}if(!n.isCollapsed)return n;const i=n.start;return e.isEqual(i)?null:new T(i)}function Jx(o,t){const{start:e,end:n}=o,i=t.checkChild(e,"$text"),r=t.checkChild(n,"$text"),s=t.getLimitElement(e),a=t.getLimitElement(n);if(s===a){if(i&&r)return null;if(Xx(e,n,t)){const u=e.nodeAfter&&t.isSelectable(e.nodeAfter)?null:t.getNearestSelectionRange(e,"forward"),p=n.nodeBefore&&t.isSelectable(n.nodeBefore)?null:t.getNearestSelectionRange(n,"backward"),w=u?u.start:e,S=p?p.end:n;return new T(w,S)}}const c=s&&!s.is("rootElement"),l=a&&!a.is("rootElement");if(c||l){const d=e.nodeAfter&&n.nodeBefore&&e.nodeAfter.parent===n.nodeBefore.parent,u=c&&(!d||!kh(e.nodeAfter,t)),f=l&&(!d||!kh(n.nodeBefore,t));let p=e,w=n;return u&&(p=N._createBefore(ph(s,t))),f&&(w=N._createAfter(ph(a,t))),new T(p,w)}return null}function ph(o,t){let e=o,n=e;for(;t.isLimit(n)&&n.parent;)e=n,n=n.parent;return e}function Xx(o,t,e){const n=o.nodeAfter&&!e.isLimit(o.nodeAfter)||e.checkChild(o,"$text"),i=t.nodeBefore&&!e.isLimit(t.nodeBefore)||e.checkChild(t,"$text");return n||i}function t5(o){const t=[...o],e=new Set;let n=1;for(;n!e.has(s))}function kh(o,t){return o&&t.isSelectable(o)}class e5 extends st(){constructor(t,e){super(),this.model=t,this.view=new U2(e),this.mapper=new Wu,this.downcastDispatcher=new qu({mapper:this.mapper,schema:t.schema});const n=this.model.document,i=n.selection,r=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(n,"change",()=>{this.view.change(s=>{this.downcastDispatcher.convertChanges(n.differ,r,s),this.downcastDispatcher.convertSelection(i,r,s)})},{priority:"low"}),this.listenTo(this.view.document,"selectionChange",Rx(this.model,this.mapper)),this.listenTo(this.view.document,"beforeinput",n5(this.mapper,this.model.schema,this.view),{priority:"high"}),this.downcastDispatcher.on("insert:$text",Qu(),{priority:"lowest"}),this.downcastDispatcher.on("insert",Ju(),{priority:"lowest"}),this.downcastDispatcher.on("remove",rx(),{priority:"low"}),this.downcastDispatcher.on("cleanSelection",cx()),this.downcastDispatcher.on("selection",sx(),{priority:"low"}),this.downcastDispatcher.on("selection",ax(),{priority:"low"}),this.view.document.roots.bindTo(this.model.document.roots).using(s=>{if(s.rootName=="$graveyard")return null;const a=new du(this.view.document,s.name);return a.rootName=s.rootName,this.mapper.bindElements(s,a),a})}destroy(){this.view.destroy(),this.stopListening()}reconvertMarker(t){const e=typeof t=="string"?t:t.name,n=this.model.markers.get(e);if(!n)throw new b("editingcontroller-reconvertmarker-marker-not-exist",this,{markerName:e});this.model.change(()=>{this.model.markers._refresh(n)})}reconvertItem(t){this.model.change(()=>{this.model.document.differ._refreshItem(t)})}}function n5(o,t,e){return(n,i)=>{if(!(e.document.isComposing&&!g.isAndroid))for(let r=0;r{e[0]=new dn(e[0])},{priority:"highest"}),this.on("checkChild",(t,e)=>{e[0]=new dn(e[0]),e[1]=this.getDefinition(e[1])},{priority:"highest"})}register(t,e){if(this._sourceDefinitions[t])throw new b("schema-cannot-register-item-twice",this,{itemName:t});this._sourceDefinitions[t]=[Object.assign({},e)],this._clearCache()}extend(t,e){if(!this._sourceDefinitions[t])throw new b("schema-cannot-extend-missing-item",this,{itemName:t});this._sourceDefinitions[t].push(Object.assign({},e)),this._clearCache()}getDefinitions(){return this._compiledDefinitions||this._compile(),this._compiledDefinitions}getDefinition(t){let e;return typeof t=="string"?e=t:"is"in t&&(t.is("$text")||t.is("$textProxy"))?e="$text":e=t.name,this.getDefinitions()[e]}isRegistered(t){return!!this.getDefinition(t)}isBlock(t){const e=this.getDefinition(t);return!!(e&&e.isBlock)}isLimit(t){const e=this.getDefinition(t);return e?!!(e.isLimit||e.isObject):!1}isObject(t){const e=this.getDefinition(t);return e?!!(e.isObject||e.isLimit&&e.isSelectable&&e.isContent):!1}isInline(t){const e=this.getDefinition(t);return!!(e&&e.isInline)}isSelectable(t){const e=this.getDefinition(t);return e?!!(e.isSelectable||e.isObject):!1}isContent(t){const e=this.getDefinition(t);return e?!!(e.isContent||e.isObject):!1}checkChild(t,e){return e?this._checkContextMatch(e,t):!1}checkAttribute(t,e){const n=this.getDefinition(t.last);return n?n.allowAttributes.includes(e):!1}checkMerge(t,e){if(t instanceof N){const n=t.nodeBefore,i=t.nodeAfter;if(!(n instanceof dt))throw new b("schema-check-merge-no-element-before",this);if(!(i instanceof dt))throw new b("schema-check-merge-no-element-after",this);return this.checkMerge(n,i)}for(const n of e.getChildren())if(!this.checkChild(t,n))return!1;return!0}addChildCheck(t){this.on("checkChild",(e,[n,i])=>{if(!i)return;const r=t(n,i);typeof r=="boolean"&&(e.stop(),e.return=r)},{priority:"high"})}addAttributeCheck(t){this.on("checkAttribute",(e,[n,i])=>{const r=t(n,i);typeof r=="boolean"&&(e.stop(),e.return=r)},{priority:"high"})}setAttributeProperties(t,e){this._attributeProperties[t]=Object.assign(this.getAttributeProperties(t),e)}getAttributeProperties(t){return this._attributeProperties[t]||{}}getLimitElement(t){let e;for(t instanceof N?e=t.parent:e=(t instanceof T?[t]:Array.from(t.getRanges())).reduce((i,r)=>{const s=r.getCommonAncestor();return i?i.getCommonAncestor(s,{includeSelf:!0}):s},null);!this.isLimit(e)&&e.parent;)e=e.parent;return e}checkAttributeInSelection(t,e){if(t.isCollapsed){const i=[...t.getFirstPosition().getAncestors(),new gt("",t.getAttributes())];return this.checkAttribute(i,e)}else{const n=t.getRanges();for(const i of n)for(const r of i)if(this.checkAttribute(r.item,e))return!0}return!1}*getValidRanges(t,e){t=A5(t);for(const n of t)yield*this._getValidRangesForRange(n,e)}getNearestSelectionRange(t,e="both"){if(t.root.rootName=="$graveyard")return null;if(this.checkChild(t,"$text"))return new T(t);let n,i;const r=t.getAncestors().reverse().find(s=>this.isLimit(s))||t.root;(e=="both"||e=="backward")&&(n=new Te({boundaries:T._createIn(r),startPosition:t,direction:"backward"})),(e=="both"||e=="forward")&&(i=new Te({boundaries:T._createIn(r),startPosition:t}));for(const s of w5(n,i)){const a=s.walker==n?"elementEnd":"elementStart",c=s.value;if(c.type==a&&this.isObject(c.item))return T._createOn(c.item);if(this.checkChild(c.nextPosition,"$text"))return new T(c.nextPosition)}return null}findAllowedParent(t,e){let n=t.parent;for(;n;){if(this.checkChild(n,e))return n;if(this.isLimit(n))return null;n=n.parent}return null}setAllowedAttributes(t,e,n){const i=n.model;for(const[r,s]of Object.entries(e))i.schema.checkAttribute(t,r)&&n.setAttribute(r,s,t)}removeDisallowedAttributes(t,e){for(const n of t)if(n.is("$text"))bh(this,n,e);else{const r=T._createIn(n).getPositions();for(const s of r){const a=s.nodeBefore||s.parent;bh(this,a,e)}}}getAttributesWithProperty(t,e,n){const i={};for(const[r,s]of t.getAttributes()){const a=this.getAttributeProperties(r);a[e]!==void 0&&(n===void 0||n===a[e])&&(i[r]=s)}return i}createContext(t){return new dn(t)}_clearCache(){this._compiledDefinitions=null}_compile(){const t={},e=this._sourceDefinitions,n=Object.keys(e);for(const i of n)t[i]=r5(e[i],i);for(const i of n)s5(t,i);for(const i of n)a5(t,i);for(const i of n)c5(t,i);for(const i of n)l5(t,i),d5(t,i);for(const i of n)u5(t,i),h5(t,i),g5(t,i);this._compiledDefinitions=t}_checkContextMatch(t,e,n=e.length-1){const i=e.getItem(n);if(t.allowIn.includes(i.name)){if(n==0)return!0;{const r=this.getDefinition(i);return this._checkContextMatch(r,e,n-1)}}else return!1}*_getValidRangesForRange(t,e){let n=t.start,i=t.start;for(const r of t.getItems({shallow:!0}))r.is("element")&&(yield*this._getValidRangesForRange(T._createIn(r),e)),this.checkAttribute(r,e)||(n.isEqual(i)||(yield new T(n,i)),n=N._createAfter(r)),i=N._createAfter(r);n.isEqual(i)||(yield new T(n,i))}findOptimalInsertionRange(t,e){const n=t.getSelectedElement();if(n&&this.isObject(n)&&!this.isInline(n))return e=="before"||e=="after"?new T(N._createAt(n,e)):T._createOn(n);const i=Lt(t.getSelectedBlocks());if(!i)return new T(t.focus);if(i.isEmpty)return new T(N._createAt(i,0));const r=N._createAfter(i);return t.focus.isTouching(r)?new T(r):new T(N._createBefore(i))}}class dn{constructor(t){if(t instanceof dn)return t;let e;typeof t=="string"?e=[t]:Array.isArray(t)?e=t:e=t.getAncestors({includeSelf:!0}),this._items=e.map(b5)}get length(){return this._items.length}get last(){return this._items[this._items.length-1]}[Symbol.iterator](){return this._items[Symbol.iterator]()}push(t){const e=new dn([t]);return e._items=[...this._items,...e._items],e}getItem(t){return this._items[t]}*getNames(){yield*this._items.map(t=>t.name)}endsWith(t){return Array.from(this.getNames()).join(" ").endsWith(t)}startsWith(t){return Array.from(this.getNames()).join(" ").startsWith(t)}}function r5(o,t){const e={name:t,allowIn:[],allowContentOf:[],allowWhere:[],allowAttributes:[],allowAttributesOf:[],allowChildren:[],inheritTypesFrom:[]};return f5(o,e),un(o,e,"allowIn"),un(o,e,"allowContentOf"),un(o,e,"allowWhere"),un(o,e,"allowAttributes"),un(o,e,"allowAttributesOf"),un(o,e,"allowChildren"),un(o,e,"inheritTypesFrom"),m5(o,e),e}function s5(o,t){const e=o[t];for(const n of e.allowChildren){const i=o[n];i&&i.allowIn.push(t)}e.allowChildren.length=0}function a5(o,t){for(const e of o[t].allowContentOf)o[e]&&p5(o,e).forEach(i=>{i.allowIn.push(t)});delete o[t].allowContentOf}function c5(o,t){for(const e of o[t].allowWhere){const n=o[e];if(n){const i=n.allowIn;o[t].allowIn.push(...i)}}delete o[t].allowWhere}function l5(o,t){for(const e of o[t].allowAttributesOf){const n=o[e];if(n){const i=n.allowAttributes;o[t].allowAttributes.push(...i)}}delete o[t].allowAttributesOf}function d5(o,t){const e=o[t];for(const n of e.inheritTypesFrom){const i=o[n];if(i){const r=Object.keys(i).filter(s=>s.startsWith("is"));for(const s of r)s in e||(e[s]=i[s])}}delete e.inheritTypesFrom}function u5(o,t){const e=o[t],n=e.allowIn.filter(i=>o[i]);e.allowIn=Array.from(new Set(n))}function h5(o,t){const e=o[t];for(const n of e.allowIn)o[n].allowChildren.push(t)}function g5(o,t){const e=o[t];e.allowAttributes=Array.from(new Set(e.allowAttributes))}function f5(o,t){for(const e of o){const n=Object.keys(e).filter(i=>i.startsWith("is"));for(const i of n)t[i]=!!e[i]}}function un(o,t,e){for(const n of o){const i=n[e];typeof i=="string"?t[e].push(i):Array.isArray(i)&&t[e].push(...i)}}function m5(o,t){for(const e of o){const n=e.inheritAllFrom;n&&(t.allowContentOf.push(n),t.allowWhere.push(n),t.allowAttributesOf.push(n),t.inheritTypesFrom.push(n))}}function p5(o,t){const e=o[t];return k5(o).filter(n=>n.allowIn.includes(e.name))}function k5(o){return Object.keys(o).map(t=>o[t])}function b5(o){return typeof o=="string"||o.is("documentFragment")?{name:typeof o=="string"?o:"$documentFragment",*getAttributeKeys(){},getAttribute(){}}:{name:o.is("element")?o.name:"$text",*getAttributeKeys(){yield*o.getAttributeKeys()},getAttribute(t){return o.getAttribute(t)}}}function*w5(o,t){let e=!1;for(;!e;){if(e=!0,o){const n=o.next();n.done||(e=!1,yield{walker:o,value:n.value})}if(t){const n=t.next();n.done||(e=!1,yield{walker:t,value:n.value})}}}function*A5(o){for(const t of o)yield*t.getMinimalFlatRanges()}function bh(o,t,e){for(const n of t.getAttributeKeys())o.checkAttribute(t,n)||e.removeAttribute(n,t)}class C5 extends lt(){constructor(t){super(),this._splitParts=new Map,this._cursorParents=new Map,this._modelCursor=null,this._emptyElementsToKeep=new Set,this.conversionApi={...t,consumable:null,writer:null,store:null,convertItem:(e,n)=>this._convertItem(e,n),convertChildren:(e,n)=>this._convertChildren(e,n),safeInsert:(e,n)=>this._safeInsert(e,n),updateConversionResult:(e,n)=>this._updateConversionResult(e,n),splitToAllowedParent:(e,n)=>this._splitToAllowedParent(e,n),getSplitParts:e=>this._getSplitParts(e),keepEmptyElement:e=>this._keepEmptyElement(e)}}convert(t,e,n=["$root"]){this.fire("viewCleanup",t),this._modelCursor=v5(n,e),this.conversionApi.writer=e,this.conversionApi.consumable=_o.createFrom(t),this.conversionApi.store={};const{modelRange:i}=this._convertItem(t,this._modelCursor),r=e.createDocumentFragment();if(i){this._removeEmptyElements();for(const s of Array.from(this._modelCursor.parent.getChildren()))e.append(s,r);r.markers=_5(r,e)}return this._modelCursor=null,this._splitParts.clear(),this._cursorParents.clear(),this._emptyElementsToKeep.clear(),this.conversionApi.writer=null,this.conversionApi.store=null,r}_convertItem(t,e){const n={viewItem:t,modelCursor:e,modelRange:null};if(t.is("element")?this.fire(`element:${t.name}`,n,this.conversionApi):t.is("$text")?this.fire("text",n,this.conversionApi):this.fire("documentFragment",n,this.conversionApi),n.modelRange&&!(n.modelRange instanceof T))throw new b("view-conversion-dispatcher-incorrect-result",this);return{modelRange:n.modelRange,modelCursor:n.modelCursor}}_convertChildren(t,e){let n=e.is("position")?e:N._createAt(e,0);const i=new T(n);for(const r of Array.from(t.getChildren())){const s=this._convertItem(r,n);s.modelRange instanceof T&&(i.end=s.modelRange.end,n=s.modelCursor)}return{modelRange:i,modelCursor:n}}_safeInsert(t,e){const n=this._splitToAllowedParent(t,e);return n?(this.conversionApi.writer.insert(t,n.position),!0):!1}_updateConversionResult(t,e){const n=this._getSplitParts(t),i=this.conversionApi.writer;e.modelRange||(e.modelRange=i.createRange(i.createPositionBefore(t),i.createPositionAfter(n[n.length-1])));const r=this._cursorParents.get(t);r?e.modelCursor=i.createPositionAt(r,0):e.modelCursor=e.modelRange.end}_splitToAllowedParent(t,e){const{schema:n,writer:i}=this.conversionApi;let r=n.findAllowedParent(e,t);if(r){if(r===e.parent)return{position:e};this._modelCursor.parent.getAncestors().includes(r)&&(r=null)}if(!r)return ch(e,t,n)?{position:lh(e,i)}:null;const s=this.conversionApi.writer.split(e,r),a=[];for(const l of s.range.getWalker())if(l.type=="elementEnd")a.push(l.item);else{const d=a.pop(),u=l.item;this._registerSplitPair(d,u)}const c=s.range.end.parent;return this._cursorParents.set(t,c),{position:s.position,cursorParent:c}}_registerSplitPair(t,e){this._splitParts.has(t)||this._splitParts.set(t,[t]);const n=this._splitParts.get(t);this._splitParts.set(e,n),n.push(e)}_getSplitParts(t){let e;return this._splitParts.has(t)?e=this._splitParts.get(t):e=[t],e}_keepEmptyElement(t){this._emptyElementsToKeep.add(t)}_removeEmptyElements(){let t=!1;for(const e of this._splitParts.keys())e.isEmpty&&!this._emptyElementsToKeep.has(e)&&(this.conversionApi.writer.remove(e),this._splitParts.delete(e),t=!0);t&&this._removeEmptyElements()}}function _5(o,t){const e=new Set,n=new Map,i=T._createIn(o).getItems();for(const r of i)r.is("element","$marker")&&e.add(r);for(const r of e){const s=r.getAttribute("data-name"),a=t.createPositionBefore(r);n.has(s)?n.get(s).end=a.clone():n.set(s,new T(a.clone())),t.remove(r)}return n}function v5(o,t){let e;for(const n of new dn(o)){const i={};for(const s of n.getAttributeKeys())i[s]=n.getAttribute(s);const r=t.createElement(n.name,i);e&&t.insert(r,e),e=N._createAt(r,0)}return e}class y5{getHtml(t){const n=H.document.implementation.createHTMLDocument("").createElement("div");return n.appendChild(t),n.innerHTML}}class x5{constructor(t){this.skipComments=!0,this.domParser=new DOMParser,this.domConverter=new pi(t,{renderingMode:"data"}),this.htmlWriter=new y5}toData(t){const e=this.domConverter.viewToDom(t);return this.htmlWriter.getHtml(e)}toView(t){const e=this._toDom(t);return this.domConverter.domToView(e,{skipComments:this.skipComments})}registerRawContentMatcher(t){this.domConverter.registerRawContentMatcher(t)}useFillerType(t){this.domConverter.blockFillerMode=t=="marked"?"markedNbsp":"nbsp"}_toDom(t){t.match(/<(?:html|body|head|meta)(?:\s[^>]*)?>/i)||(t=`${t}`);const e=this.domParser.parseFromString(t,"text/html"),n=e.createDocumentFragment(),i=e.body.childNodes;for(;i.length>0;)n.appendChild(i[0]);return n}}class E5 extends lt(){constructor(t,e){super(),this.model=t,this.mapper=new Wu,this.downcastDispatcher=new qu({mapper:this.mapper,schema:t.schema}),this.downcastDispatcher.on("insert:$text",Qu(),{priority:"lowest"}),this.downcastDispatcher.on("insert",Ju(),{priority:"lowest"}),this.upcastDispatcher=new C5({schema:t.schema}),this.viewDocument=new gi(e),this.stylesProcessor=e,this.htmlProcessor=new x5(this.viewDocument),this.processor=this.htmlProcessor,this._viewWriter=new gu(this.viewDocument),this.upcastDispatcher.on("text",Ox(),{priority:"lowest"}),this.upcastDispatcher.on("element",dh(),{priority:"lowest"}),this.upcastDispatcher.on("documentFragment",dh(),{priority:"lowest"}),st().prototype.decorate.call(this,"init"),st().prototype.decorate.call(this,"set"),st().prototype.decorate.call(this,"get"),st().prototype.decorate.call(this,"toView"),st().prototype.decorate.call(this,"toModel"),this.on("init",()=>{this.fire("ready")},{priority:"lowest"}),this.on("ready",()=>{this.model.enqueueChange({isUndoable:!1},ah)},{priority:"lowest"})}get(t={}){const{rootName:e="main",trim:n="empty"}=t;if(!this._checkIfRootsExists([e]))throw new b("datacontroller-get-non-existent-root",this);const i=this.model.document.getRoot(e);return i.isAttached()||void 0,n==="empty"&&!this.model.hasContent(i,{ignoreWhitespaces:!0})?"":this.stringify(i,t)}stringify(t,e={}){const n=this.toView(t,e);return this.processor.toData(n)}toView(t,e={}){const n=this.viewDocument,i=this._viewWriter;this.mapper.clearBindings();const r=T._createIn(t),s=new an(n);this.mapper.bindElements(t,s);const a=t.is("documentFragment")?t.markers:D5(t);return this.downcastDispatcher.convert(r,a,i,e),s}init(t){if(this.model.document.version)throw new b("datacontroller-init-document-not-empty",this);let e={};if(typeof t=="string"?e.main=t:e=t,!this._checkIfRootsExists(Object.keys(e)))throw new b("datacontroller-init-non-existent-root",this);return this.model.enqueueChange({isUndoable:!1},n=>{for(const i of Object.keys(e)){const r=this.model.document.getRoot(i);n.insert(this.parse(e[i],r),r,0)}}),Promise.resolve()}set(t,e={}){let n={};if(typeof t=="string"?n.main=t:n=t,!this._checkIfRootsExists(Object.keys(n)))throw new b("datacontroller-set-non-existent-root",this);this.model.enqueueChange(e.batchType||{},i=>{i.setSelection(null),i.removeSelectionAttribute(this.model.document.selection.getAttributeKeys());for(const r of Object.keys(n)){const s=this.model.document.getRoot(r);i.remove(i.createRangeIn(s)),i.insert(this.parse(n[r],s),s,0)}})}parse(t,e="$root"){const n=this.processor.toView(t);return this.toModel(n,e)}toModel(t,e="$root"){return this.model.change(n=>this.upcastDispatcher.convert(t,n,e))}addStyleProcessorRules(t){t(this.stylesProcessor)}registerRawContentMatcher(t){this.processor&&this.processor!==this.htmlProcessor&&this.processor.registerRawContentMatcher(t),this.htmlProcessor.registerRawContentMatcher(t)}destroy(){this.stopListening()}_checkIfRootsExists(t){for(const e of t)if(!this.model.document.getRoot(e))return!1;return!0}}function D5(o){const t=[],e=o.root.document;if(!e)return new Map;const n=T._createIn(o);for(const i of e.model.markers){const r=i.getRange(),s=r.isCollapsed,a=r.start.isEqual(n.start)||r.end.isEqual(n.end);if(s&&a)t.push([i.name,r]);else{const c=n.getIntersection(r);c&&t.push([i.name,c])}}return t.sort(([i,r],[s,a])=>{if(r.end.compareWith(a.start)!=="after")return 1;if(r.start.compareWith(a.end)!=="before")return-1;switch(r.start.compareWith(a.start)){case"before":return 1;case"after":return-1;default:switch(r.end.compareWith(a.end)){case"before":return 1;case"after":return-1;default:return s.localeCompare(i)}}}),new Map(t)}class S5{constructor(t,e){this._helpers=new Map,this._downcast=bt(t),this._createConversionHelpers({name:"downcast",dispatchers:this._downcast,isDowncast:!0}),this._upcast=bt(e),this._createConversionHelpers({name:"upcast",dispatchers:this._upcast,isDowncast:!1})}addAlias(t,e){const n=this._downcast.includes(e);if(!this._upcast.includes(e)&&!n)throw new b("conversion-add-alias-dispatcher-not-registered",this);this._createConversionHelpers({name:t,dispatchers:[e],isDowncast:n})}for(t){if(!this._helpers.has(t))throw new b("conversion-for-unknown-group",this);return this._helpers.get(t)}elementToElement(t){this.for("downcast").elementToElement(t);for(const{model:e,view:n}of Is(t))this.for("upcast").elementToElement({model:e,view:n,converterPriority:t.converterPriority})}attributeToElement(t){this.for("downcast").attributeToElement(t);for(const{model:e,view:n}of Is(t))this.for("upcast").elementToAttribute({view:n,model:e,converterPriority:t.converterPriority})}attributeToAttribute(t){this.for("downcast").attributeToAttribute(t);for(const{model:e,view:n}of Is(t))this.for("upcast").attributeToAttribute({view:n,model:e})}_createConversionHelpers({name:t,dispatchers:e,isDowncast:n}){if(this._helpers.has(t))throw new b("conversion-group-exists",this);const i=n?new ix(e):new Px(e);this._helpers.set(t,i)}}function*Is(o){if(o.model.values)for(const t of o.model.values){const e={key:o.model.key,value:t},n=o.view[t],i=o.upcastAlso?o.upcastAlso[t]:void 0;yield*wh(e,n,i)}else yield*wh(o.model,o.view,o.upcastAlso)}function*wh(o,t,e){if(yield{model:o,view:t},e)for(const n of bt(e))yield{model:o,view:n}}class te{constructor(t){this.baseVersion=t,this.isDocumentOperation=this.baseVersion!==null,this.batch=null}_validate(){}toJSON(){const t=Object.assign({},this);return t.__className=this.constructor.className,delete t.batch,delete t.isDocumentOperation,t}static get className(){return"Operation"}static fromJSON(t,e){return new this(t.baseVersion)}}function Ms(o,t){const e=Ch(t),n=e.reduce((s,a)=>s+a.offsetSize,0),i=o.parent;xo(o);const r=o.index;return i._insertChild(r,e),yo(i,r+e.length),yo(i,r),new T(o,o.getShiftedBy(n))}function Ah(o){if(!o.isFlat)throw new b("operation-utils-remove-range-not-flat",this);const t=o.start.parent;xo(o.start),xo(o.end);const e=t._removeChildren(o.start.index,o.end.index-o.start.index);return yo(t,o.start.index),e}function vo(o,t){if(!o.isFlat)throw new b("operation-utils-move-range-not-flat",this);const e=Ah(o);return t=t._getTransformedByDeletion(o.start,o.end.offset-o.start.offset),Ms(t,e)}function T5(o,t,e){xo(o.start),xo(o.end);for(const n of o.getItems({shallow:!0})){const i=n.is("$textProxy")?n.textNode:n;e!==null?i._setAttribute(t,e):i._removeAttribute(t),yo(i.parent,i.index)}yo(o.end.parent,o.end.index)}function Ch(o){const t=[];function e(n){if(typeof n=="string")t.push(new gt(n));else if(n instanceof me)t.push(new gt(n.data,n.getAttributes()));else if(n instanceof cn)t.push(n);else if(Zt(n))for(const i of n)e(i)}e(o);for(let n=1;nt.maxOffset)throw new b("move-operation-nodes-do-not-exist",this);if(t===e&&n=n&&this.targetPosition.path[r]n._clone(!0))),e=new Mt(this.position,t,this.baseVersion);return e.shouldReceiveAttributes=this.shouldReceiveAttributes,e}getReversed(){const t=this.position.root.document.graveyard,e=new N(t,[0]);return new it(this.position,this.nodes.maxOffset,e,this.baseVersion+1)}_validate(){const t=this.position.parent;if(!t||t.maxOffsete._clone(!0))),Ms(this.position,t)}toJSON(){const t=super.toJSON();return t.position=this.position.toJSON(),t.nodes=this.nodes.toJSON(),t}static get className(){return"InsertOperation"}static fromJSON(t,e){const n=[];for(const r of t.nodes)r.name?n.push(dt.fromJSON(r)):n.push(gt.fromJSON(r));const i=new Mt(N.fromJSON(t.position,e),n,t.baseVersion);return i.shouldReceiveAttributes=t.shouldReceiveAttributes,i}}class ft extends te{constructor(t,e,n,i,r){super(r),this.splitPosition=t.clone(),this.splitPosition.stickiness="toNext",this.howMany=e,this.insertionPosition=n,this.graveyardPosition=i?i.clone():null,this.graveyardPosition&&(this.graveyardPosition.stickiness="toNext")}get type(){return"split"}get moveTargetPosition(){const t=this.insertionPosition.path.slice();return t.push(0),new N(this.insertionPosition.root,t)}get movedRange(){const t=this.splitPosition.getShiftedBy(Number.POSITIVE_INFINITY);return new T(this.splitPosition,t)}get affectedSelectable(){const t=[T._createFromPositionAndShift(this.splitPosition,0),T._createFromPositionAndShift(this.insertionPosition,0)];return this.graveyardPosition&&t.push(T._createFromPositionAndShift(this.graveyardPosition,0)),t}clone(){return new ft(this.splitPosition,this.howMany,this.insertionPosition,this.graveyardPosition,this.baseVersion)}getReversed(){const t=this.splitPosition.root.document.graveyard,e=new N(t,[0]);return new vt(this.moveTargetPosition,this.howMany,this.splitPosition,e,this.baseVersion+1)}_validate(){const t=this.splitPosition.parent,e=this.splitPosition.offset;if(!t||t.maxOffset{if(o.key===t.key&&o.range.start.hasSameParentAs(t.range.start)){const n=o.range.getDifference(t.range).map(r=>new Et(r,o.key,o.oldValue,o.newValue,0)),i=o.range.getIntersection(t.range);return i&&e.aIsStrong&&n.push(new Et(i,t.key,t.newValue,o.newValue,0)),n.length==0?[new St(0)]:n}else return[o]}),nt(Et,Mt,(o,t)=>{if(o.range.start.hasSameParentAs(t.position)&&o.range.containsPosition(t.position)){const n=o.range._getTransformedByInsertion(t.position,t.howMany,!t.shouldReceiveAttributes).map(i=>new Et(i,o.key,o.oldValue,o.newValue,o.baseVersion));if(t.shouldReceiveAttributes){const i=Dh(t,o.key,o.oldValue);i&&n.unshift(i)}return n}return o.range=o.range._getTransformedByInsertion(t.position,t.howMany,!1)[0],[o]});function Dh(o,t,e){const i=o.nodes.getNode(0).getAttribute(t);if(i==e)return null;const r=new T(o.position,o.position.getShiftedBy(o.howMany));return new Et(r,t,i,e,0)}nt(Et,vt,(o,t)=>{const e=[];o.range.start.hasSameParentAs(t.deletionPosition)&&(o.range.containsPosition(t.deletionPosition)||o.range.start.isEqual(t.deletionPosition))&&e.push(T._createFromPositionAndShift(t.graveyardPosition,1));const n=o.range._getTransformedByMergeOperation(t);return n.isCollapsed||e.push(n),e.map(i=>new Et(i,o.key,o.oldValue,o.newValue,o.baseVersion))}),nt(Et,it,(o,t)=>P5(o.range,t).map(n=>new Et(n,o.key,o.oldValue,o.newValue,o.baseVersion)));function P5(o,t){const e=T._createFromPositionAndShift(t.sourcePosition,t.howMany);let n=null,i=[];e.containsRange(o,!0)?n=o:o.start.hasSameParentAs(e.start)?(i=o.getDifference(e),n=o.getIntersection(e)):i=[o];const r=[];for(let s of i){s=s._getTransformedByDeletion(t.sourcePosition,t.howMany);const a=t.getMovedRangeStart(),c=s.start.hasSameParentAs(a),l=s._getTransformedByInsertion(a,t.howMany,c);r.push(...l)}return n&&r.push(n._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany,!1)[0]),r}nt(Et,ft,(o,t)=>{if(o.range.end.isEqual(t.insertionPosition))return t.graveyardPosition||o.range.end.offset++,[o];if(o.range.start.hasSameParentAs(t.splitPosition)&&o.range.containsPosition(t.splitPosition)){const e=o.clone();return e.range=new T(t.moveTargetPosition.clone(),o.range.end._getCombined(t.splitPosition,t.moveTargetPosition)),o.range.end=t.splitPosition.clone(),o.range.end.stickiness="toPrevious",[o,e]}return o.range=o.range._getTransformedBySplitOperation(t),[o]}),nt(Mt,Et,(o,t)=>{const e=[o];if(o.shouldReceiveAttributes&&o.position.hasSameParentAs(t.range.start)&&t.range.containsPosition(o.position)){const n=Dh(o,t.key,t.newValue);n&&e.push(n)}return e}),nt(Mt,Mt,(o,t,e)=>o.position.isEqual(t.position)&&e.aIsStrong?[o]:(o.position=o.position._getTransformedByInsertOperation(t),[o])),nt(Mt,it,(o,t)=>(o.position=o.position._getTransformedByMoveOperation(t),[o])),nt(Mt,ft,(o,t)=>(o.position=o.position._getTransformedBySplitOperation(t),[o])),nt(Mt,vt,(o,t)=>(o.position=o.position._getTransformedByMergeOperation(t),[o])),nt(Wt,Mt,(o,t)=>(o.oldRange&&(o.oldRange=o.oldRange._getTransformedByInsertOperation(t)[0]),o.newRange&&(o.newRange=o.newRange._getTransformedByInsertOperation(t)[0]),[o])),nt(Wt,Wt,(o,t,e)=>{if(o.name==t.name)if(e.aIsStrong)o.oldRange=t.newRange?t.newRange.clone():null;else return[new St(0)];return[o]}),nt(Wt,vt,(o,t)=>(o.oldRange&&(o.oldRange=o.oldRange._getTransformedByMergeOperation(t)),o.newRange&&(o.newRange=o.newRange._getTransformedByMergeOperation(t)),[o])),nt(Wt,it,(o,t,e)=>{if(o.oldRange&&(o.oldRange=T._createFromRanges(o.oldRange._getTransformedByMoveOperation(t))),o.newRange){if(e.abRelation){const n=T._createFromRanges(o.newRange._getTransformedByMoveOperation(t));if(e.abRelation.side=="left"&&t.targetPosition.isEqual(o.newRange.start))return o.newRange.end=n.end,o.newRange.start.path=e.abRelation.path,[o];if(e.abRelation.side=="right"&&t.targetPosition.isEqual(o.newRange.end))return o.newRange.start=n.start,o.newRange.end.path=e.abRelation.path,[o]}o.newRange=T._createFromRanges(o.newRange._getTransformedByMoveOperation(t))}return[o]}),nt(Wt,ft,(o,t,e)=>{if(o.oldRange&&(o.oldRange=o.oldRange._getTransformedBySplitOperation(t)),o.newRange){if(e.abRelation){const n=o.newRange._getTransformedBySplitOperation(t);return o.newRange.start.isEqual(t.splitPosition)&&e.abRelation.wasStartBeforeMergedElement?o.newRange.start=N._createAt(t.insertionPosition):o.newRange.start.isEqual(t.splitPosition)&&!e.abRelation.wasInLeftElement&&(o.newRange.start=N._createAt(t.moveTargetPosition)),o.newRange.end.isEqual(t.splitPosition)&&e.abRelation.wasInRightElement?o.newRange.end=N._createAt(t.moveTargetPosition):o.newRange.end.isEqual(t.splitPosition)&&e.abRelation.wasEndBeforeMergedElement?o.newRange.end=N._createAt(t.insertionPosition):o.newRange.end=n.end,[o]}o.newRange=o.newRange._getTransformedBySplitOperation(t)}return[o]}),nt(vt,Mt,(o,t)=>(o.sourcePosition.hasSameParentAs(t.position)&&(o.howMany+=t.howMany),o.sourcePosition=o.sourcePosition._getTransformedByInsertOperation(t),o.targetPosition=o.targetPosition._getTransformedByInsertOperation(t),[o])),nt(vt,vt,(o,t,e)=>{if(o.sourcePosition.isEqual(t.sourcePosition)&&o.targetPosition.isEqual(t.targetPosition))if(e.bWasUndone){const n=t.graveyardPosition.path.slice();return n.push(0),o.sourcePosition=new N(t.graveyardPosition.root,n),o.howMany=0,[o]}else return[new St(0)];if(o.sourcePosition.isEqual(t.sourcePosition)&&!o.targetPosition.isEqual(t.targetPosition)&&!e.bWasUndone&&e.abRelation!="splitAtSource"){const n=o.targetPosition.root.rootName=="$graveyard",i=t.targetPosition.root.rootName=="$graveyard";if(i&&!n||!(n&&!i)&&e.aIsStrong){const c=t.targetPosition._getTransformedByMergeOperation(t),l=o.targetPosition._getTransformedByMergeOperation(t);return[new it(c,o.howMany,l,0)]}else return[new St(0)]}return o.sourcePosition.hasSameParentAs(t.targetPosition)&&(o.howMany+=t.howMany),o.sourcePosition=o.sourcePosition._getTransformedByMergeOperation(t),o.targetPosition=o.targetPosition._getTransformedByMergeOperation(t),(!o.graveyardPosition.isEqual(t.graveyardPosition)||!e.aIsStrong)&&(o.graveyardPosition=o.graveyardPosition._getTransformedByMergeOperation(t)),[o]}),nt(vt,it,(o,t,e)=>{const n=T._createFromPositionAndShift(t.sourcePosition,t.howMany);return t.type=="remove"&&!e.bWasUndone&&!e.forceWeakRemove&&o.deletionPosition.hasSameParentAs(t.sourcePosition)&&n.containsPosition(o.sourcePosition)?[new St(0)]:(o.sourcePosition.hasSameParentAs(t.targetPosition)&&(o.howMany+=t.howMany),o.sourcePosition.hasSameParentAs(t.sourcePosition)&&(o.howMany-=t.howMany),o.sourcePosition=o.sourcePosition._getTransformedByMoveOperation(t),o.targetPosition=o.targetPosition._getTransformedByMoveOperation(t),o.graveyardPosition.isEqual(t.targetPosition)||(o.graveyardPosition=o.graveyardPosition._getTransformedByMoveOperation(t)),[o])}),nt(vt,ft,(o,t,e)=>{if(t.graveyardPosition&&(o.graveyardPosition=o.graveyardPosition._getTransformedByDeletion(t.graveyardPosition,1),o.deletionPosition.isEqual(t.graveyardPosition)&&(o.howMany=t.howMany)),o.targetPosition.isEqual(t.splitPosition)){const n=t.howMany!=0,i=t.graveyardPosition&&o.deletionPosition.isEqual(t.graveyardPosition);if(n||i||e.abRelation=="mergeTargetNotMoved")return o.sourcePosition=o.sourcePosition._getTransformedBySplitOperation(t),[o]}if(o.sourcePosition.isEqual(t.splitPosition)){if(e.abRelation=="mergeSourceNotMoved")return o.howMany=0,o.targetPosition=o.targetPosition._getTransformedBySplitOperation(t),[o];if(e.abRelation=="mergeSameElement"||o.sourcePosition.offset>0)return o.sourcePosition=t.moveTargetPosition.clone(),o.targetPosition=o.targetPosition._getTransformedBySplitOperation(t),[o]}return o.sourcePosition.hasSameParentAs(t.splitPosition)&&(o.howMany=t.splitPosition.offset),o.sourcePosition=o.sourcePosition._getTransformedBySplitOperation(t),o.targetPosition=o.targetPosition._getTransformedBySplitOperation(t),[o]}),nt(it,Mt,(o,t)=>{const n=T._createFromPositionAndShift(o.sourcePosition,o.howMany)._getTransformedByInsertOperation(t,!1)[0];return o.sourcePosition=n.start,o.howMany=n.end.offset-n.start.offset,o.targetPosition.isEqual(t.position)||(o.targetPosition=o.targetPosition._getTransformedByInsertOperation(t)),[o]}),nt(it,it,(o,t,e)=>{const n=T._createFromPositionAndShift(o.sourcePosition,o.howMany),i=T._createFromPositionAndShift(t.sourcePosition,t.howMany);let r=e.aIsStrong,s=!e.aIsStrong;e.abRelation=="insertBefore"||e.baRelation=="insertAfter"?s=!0:(e.abRelation=="insertAfter"||e.baRelation=="insertBefore")&&(s=!1);let a;if(o.targetPosition.isEqual(t.targetPosition)&&s?a=o.targetPosition._getTransformedByDeletion(t.sourcePosition,t.howMany):a=o.targetPosition._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany),Sh(o,t)&&Sh(t,o))return[t.getReversed()];if(n.containsPosition(t.targetPosition)&&n.containsRange(i,!0))return n.start=n.start._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany),n.end=n.end._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany),Pn([n],a);if(i.containsPosition(o.targetPosition)&&i.containsRange(n,!0))return n.start=n.start._getCombined(t.sourcePosition,t.getMovedRangeStart()),n.end=n.end._getCombined(t.sourcePosition,t.getMovedRangeStart()),Pn([n],a);const d=jt(o.sourcePosition.getParentPath(),t.sourcePosition.getParentPath());if(d=="prefix"||d=="extension")return n.start=n.start._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany),n.end=n.end._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany),Pn([n],a);o.type=="remove"&&t.type!="remove"&&!e.aWasUndone&&!e.forceWeakRemove?r=!0:o.type!="remove"&&t.type=="remove"&&!e.bWasUndone&&!e.forceWeakRemove&&(r=!1);const u=[],f=n.getDifference(i);for(const w of f){w.start=w.start._getTransformedByDeletion(t.sourcePosition,t.howMany),w.end=w.end._getTransformedByDeletion(t.sourcePosition,t.howMany);const S=jt(w.start.getParentPath(),t.getMovedRangeStart().getParentPath())=="same",M=w._getTransformedByInsertion(t.getMovedRangeStart(),t.howMany,S);u.push(...M)}const p=n.getIntersection(i);return p!==null&&r&&(p.start=p.start._getCombined(t.sourcePosition,t.getMovedRangeStart()),p.end=p.end._getCombined(t.sourcePosition,t.getMovedRangeStart()),u.length===0?u.push(p):u.length==1?i.start.isBefore(n.start)||i.start.isEqual(n.start)?u.unshift(p):u.push(p):u.splice(1,0,p)),u.length===0?[new St(o.baseVersion)]:Pn(u,a)}),nt(it,ft,(o,t,e)=>{let n=o.targetPosition.clone();(!o.targetPosition.isEqual(t.insertionPosition)||!t.graveyardPosition||e.abRelation=="moveTargetAfter")&&(n=o.targetPosition._getTransformedBySplitOperation(t));const i=T._createFromPositionAndShift(o.sourcePosition,o.howMany);if(i.end.isEqual(t.insertionPosition))return t.graveyardPosition||o.howMany++,o.targetPosition=n,[o];if(i.start.hasSameParentAs(t.splitPosition)&&i.containsPosition(t.splitPosition)){let a=new T(t.splitPosition,i.end);a=a._getTransformedBySplitOperation(t);const c=[new T(i.start,t.splitPosition),a];return Pn(c,n)}o.targetPosition.isEqual(t.splitPosition)&&e.abRelation=="insertAtSource"&&(n=t.moveTargetPosition),o.targetPosition.isEqual(t.insertionPosition)&&e.abRelation=="insertBetween"&&(n=o.targetPosition);const s=[i._getTransformedBySplitOperation(t)];if(t.graveyardPosition){const a=i.start.isEqual(t.graveyardPosition)||i.containsPosition(t.graveyardPosition);o.howMany>1&&a&&!e.aWasUndone&&s.push(T._createFromPositionAndShift(t.insertionPosition,1))}return Pn(s,n)}),nt(it,vt,(o,t,e)=>{const n=T._createFromPositionAndShift(o.sourcePosition,o.howMany);if(t.deletionPosition.hasSameParentAs(o.sourcePosition)&&n.containsPosition(t.sourcePosition)){if(o.type=="remove"&&!e.forceWeakRemove){if(!e.aWasUndone){const s=[];let a=t.graveyardPosition.clone(),c=t.targetPosition._getTransformedByMergeOperation(t);o.howMany>1&&(s.push(new it(o.sourcePosition,o.howMany-1,o.targetPosition,0)),a=a._getTransformedByMove(o.sourcePosition,o.targetPosition,o.howMany-1),c=c._getTransformedByMove(o.sourcePosition,o.targetPosition,o.howMany-1));const l=t.deletionPosition._getCombined(o.sourcePosition,o.targetPosition),d=new it(a,1,l,0),u=d.getMovedRangeStart().path.slice();u.push(0);const f=new N(d.targetPosition.root,u);c=c._getTransformedByMove(a,l,1);const p=new it(c,t.howMany,f,0);return s.push(d),s.push(p),s}}else if(o.howMany==1)return e.bWasUndone?(o.sourcePosition=t.graveyardPosition.clone(),o.targetPosition=o.targetPosition._getTransformedByMergeOperation(t),[o]):[new St(0)]}const r=T._createFromPositionAndShift(o.sourcePosition,o.howMany)._getTransformedByMergeOperation(t);return o.sourcePosition=r.start,o.howMany=r.end.offset-r.start.offset,o.targetPosition=o.targetPosition._getTransformedByMergeOperation(t),[o]}),nt(qt,Mt,(o,t)=>(o.position=o.position._getTransformedByInsertOperation(t),[o])),nt(qt,vt,(o,t)=>o.position.isEqual(t.deletionPosition)?(o.position=t.graveyardPosition.clone(),o.position.stickiness="toNext",[o]):(o.position=o.position._getTransformedByMergeOperation(t),[o])),nt(qt,it,(o,t)=>(o.position=o.position._getTransformedByMoveOperation(t),[o])),nt(qt,qt,(o,t,e)=>{if(o.position.isEqual(t.position))if(e.aIsStrong)o.oldName=t.newName;else return[new St(0)];return[o]}),nt(qt,ft,(o,t)=>{const e=o.position.path,n=t.splitPosition.getParentPath();if(jt(e,n)=="same"&&!t.graveyardPosition){const i=new qt(o.position.getShiftedBy(1),o.oldName,o.newName,0);return[o,i]}return o.position=o.position._getTransformedBySplitOperation(t),[o]}),nt(Ie,Ie,(o,t,e)=>{if(o.root===t.root&&o.key===t.key){if(!e.aIsStrong||o.newValue===t.newValue)return[new St(0)];o.oldValue=t.newValue}return[o]}),nt(ve,ve,(o,t)=>o.rootName===t.rootName&&o.isAdd===t.isAdd?[new St(0)]:[o]),nt(ft,Mt,(o,t)=>(o.splitPosition.hasSameParentAs(t.position)&&o.splitPosition.offset{if(!o.graveyardPosition&&!e.bWasUndone&&o.splitPosition.hasSameParentAs(t.sourcePosition)){const n=t.graveyardPosition.path.slice();n.push(0);const i=new N(t.graveyardPosition.root,n),r=ft.getInsertionPosition(new N(t.graveyardPosition.root,n)),s=new ft(i,0,r,null,0);return o.splitPosition=o.splitPosition._getTransformedByMergeOperation(t),o.insertionPosition=ft.getInsertionPosition(o.splitPosition),o.graveyardPosition=s.insertionPosition.clone(),o.graveyardPosition.stickiness="toNext",[s,o]}return o.splitPosition.hasSameParentAs(t.deletionPosition)&&!o.splitPosition.isAfter(t.deletionPosition)&&o.howMany--,o.splitPosition.hasSameParentAs(t.targetPosition)&&(o.howMany+=t.howMany),o.splitPosition=o.splitPosition._getTransformedByMergeOperation(t),o.insertionPosition=ft.getInsertionPosition(o.splitPosition),o.graveyardPosition&&(o.graveyardPosition=o.graveyardPosition._getTransformedByMergeOperation(t)),[o]}),nt(ft,it,(o,t,e)=>{const n=T._createFromPositionAndShift(t.sourcePosition,t.howMany);if(o.graveyardPosition){const r=n.start.isEqual(o.graveyardPosition)||n.containsPosition(o.graveyardPosition);if(!e.bWasUndone&&r){const s=o.splitPosition._getTransformedByMoveOperation(t),a=o.graveyardPosition._getTransformedByMoveOperation(t),c=a.path.slice();c.push(0);const l=new N(a.root,c);return[new it(s,o.howMany,l,0)]}o.graveyardPosition=o.graveyardPosition._getTransformedByMoveOperation(t)}const i=o.splitPosition.isEqual(t.targetPosition);if(i&&(e.baRelation=="insertAtSource"||e.abRelation=="splitBefore"))return o.howMany+=t.howMany,o.splitPosition=o.splitPosition._getTransformedByDeletion(t.sourcePosition,t.howMany),o.insertionPosition=ft.getInsertionPosition(o.splitPosition),[o];if(i&&e.abRelation&&e.abRelation.howMany){const{howMany:r,offset:s}=e.abRelation;return o.howMany+=r,o.splitPosition=o.splitPosition.getShiftedBy(s),[o]}if(o.splitPosition.hasSameParentAs(t.sourcePosition)&&n.containsPosition(o.splitPosition)){const r=t.howMany-(o.splitPosition.offset-t.sourcePosition.offset);return o.howMany-=r,o.splitPosition.hasSameParentAs(t.targetPosition)&&o.splitPosition.offset{if(o.splitPosition.isEqual(t.splitPosition)){if(!o.graveyardPosition&&!t.graveyardPosition)return[new St(0)];if(o.graveyardPosition&&t.graveyardPosition&&o.graveyardPosition.isEqual(t.graveyardPosition))return[new St(0)];if(e.abRelation=="splitBefore")return o.howMany=0,o.graveyardPosition=o.graveyardPosition._getTransformedBySplitOperation(t),[o]}if(o.graveyardPosition&&t.graveyardPosition&&o.graveyardPosition.isEqual(t.graveyardPosition)){const n=o.splitPosition.root.rootName=="$graveyard",i=t.splitPosition.root.rootName=="$graveyard";if(i&&!n||!(n&&!i)&&e.aIsStrong){const c=[];return t.howMany&&c.push(new it(t.moveTargetPosition,t.howMany,t.splitPosition,0)),o.howMany&&c.push(new it(o.splitPosition,o.howMany,o.moveTargetPosition,0)),c}else return[new St(0)]}if(o.graveyardPosition&&(o.graveyardPosition=o.graveyardPosition._getTransformedBySplitOperation(t)),o.splitPosition.isEqual(t.insertionPosition)&&e.abRelation=="splitBefore")return o.howMany++,[o];if(t.splitPosition.isEqual(o.insertionPosition)&&e.baRelation=="splitBefore"){const n=t.insertionPosition.path.slice();n.push(0);const i=new N(t.insertionPosition.root,n),r=new it(o.insertionPosition,1,i,0);return[o,r]}return o.splitPosition.hasSameParentAs(t.splitPosition)&&o.splitPosition.offset{const e=t[0];e.isDocumentOperation&&R5.call(this,e)},{priority:"low"})}function R5(o){const t=this.getTransformedByOperation(o);if(!this.isEqual(t)){const e=this.toPosition();this.path=t.path,this.root=t.root,this.fire("change",e)}}class On{constructor(t={}){typeof t=="string"&&(t=t==="transparent"?{isUndoable:!1}:{},void 0);const{isUndoable:e=!0,isLocal:n=!0,isUndo:i=!1,isTyping:r=!1}=t;this.operations=[],this.isUndoable=e,this.isLocal=n,this.isUndo=i,this.isTyping=r}get type(){return"default"}get baseVersion(){for(const t of this.operations)if(t.baseVersion!==null)return t.baseVersion;return null}addOperation(t){return t.batch=this,this.operations.push(t),t}}class j5{constructor(t){this._changesInElement=new Map,this._elementSnapshots=new Map,this._changedMarkers=new Map,this._changedRoots=new Map,this._changeCount=0,this._cachedChanges=null,this._cachedChangesWithGraveyard=null,this._refreshedItems=new Set,this._markerCollection=t}get isEmpty(){return this._changesInElement.size==0&&this._changedMarkers.size==0&&this._changedRoots.size==0}bufferOperation(t){const e=t;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 n of e.range.getItems({shallow:!0}))this._isInInsertedElement(n.parent)||this._markAttribute(n);break}case"remove":case"move":case"reinsert":{if(e.sourcePosition.isEqual(e.targetPosition)||e.sourcePosition.getShiftedBy(e.howMany).isEqual(e.targetPosition))return;const n=this._isInInsertedElement(e.sourcePosition.parent),i=this._isInInsertedElement(e.targetPosition.parent);n||this._markRemove(e.sourcePosition.parent,e.sourcePosition.offset,e.howMany),i||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 n=T._createFromPositionAndShift(e.position,1);for(const i of this._markerCollection.getMarkersIntersectingRange(n)){const r=i.getData();this.bufferMarkerChange(i.name,r,r)}break}case"split":{const n=e.splitPosition.parent;this._isInInsertedElement(n)||this._markRemove(n,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 n=e.sourcePosition.parent;this._isInInsertedElement(n.parent)||this._markRemove(n.parent,n.startOffset,1);const i=e.graveyardPosition.parent;this._markInsert(i,e.graveyardPosition.offset,1);const r=e.targetPosition.parent;this._isInInsertedElement(r)||this._markInsert(r,e.targetPosition.offset,n.maxOffset);break}case"detachRoot":case"addRoot":{const n=e.affectedSelectable;if(!n._isLoaded||n.isAttached()==e.isAdd)return;this._bufferRootStateChange(e.rootName,e.isAdd);break}case"addRootAttribute":case"removeRootAttribute":case"changeRootAttribute":{if(!e.root._isLoaded)return;const n=e.root.rootName;this._bufferRootAttributeChange(n,e.key,e.oldValue,e.newValue);break}}this._cachedChanges=null}bufferMarkerChange(t,e,n){e.range&&e.range.root.is("rootElement")&&!e.range.root._isLoaded&&(e.range=null),n.range&&n.range.root.is("rootElement")&&!n.range.root._isLoaded&&(n.range=null);let i=this._changedMarkers.get(t);i?i.newMarkerData=n:(i={newMarkerData:n,oldMarkerData:e},this._changedMarkers.set(t,i)),i.oldMarkerData.range==null&&n.range==null&&this._changedMarkers.delete(t)}getMarkersToRemove(){const t=[];for(const[e,n]of this._changedMarkers)n.oldMarkerData.range!=null&&t.push({name:e,range:n.oldMarkerData.range});return t}getMarkersToAdd(){const t=[];for(const[e,n]of this._changedMarkers)n.newMarkerData.range!=null&&t.push({name:e,range:n.newMarkerData.range});return t}getChangedMarkers(){return Array.from(this._changedMarkers).map(([t,e])=>({name:t,data:{oldRange:e.oldMarkerData.range,newRange:e.newMarkerData.range}}))}hasDataChanges(){if(this._changesInElement.size>0||this._changedRoots.size>0)return!0;for(const{newMarkerData:t,oldMarkerData:e}of this._changedMarkers.values()){if(t.affectsData!==e.affectsData)return!0;if(t.affectsData){const n=t.range&&!e.range,i=!t.range&&e.range,r=t.range&&e.range&&!t.range.isEqual(e.range);if(n||i||r)return!0}}return!1}getChanges(t={}){if(this._cachedChanges)return t.includeChangesInGraveyard?this._cachedChangesWithGraveyard.slice():this._cachedChanges.slice();let e=[];for(const n of this._changesInElement.keys()){const i=this._changesInElement.get(n).sort((d,u)=>d.offset===u.offset?d.type!=u.type?d.type=="remove"?-1:1:0:d.offsetn.position.root!=i.position.root?n.position.root.rootNamen);for(const n of e)delete n.changeCount,n.type=="attribute"&&(delete n.position,delete n.length);return this._changeCount=0,this._cachedChangesWithGraveyard=e,this._cachedChanges=e.filter(V5),t.includeChangesInGraveyard?this._cachedChangesWithGraveyard.slice():this._cachedChanges.slice()}getChangedRoots(){return Array.from(this._changedRoots.values()).map(t=>{const e={...t};return e.state!==void 0&&delete e.attributes,e})}getRefreshedItems(){return new Set(this._refreshedItems)}reset(){this._changesInElement.clear(),this._elementSnapshots.clear(),this._changedMarkers.clear(),this._changedRoots.clear(),this._refreshedItems=new Set,this._cachedChanges=null}_bufferRootStateChange(t,e){if(!this._changedRoots.has(t)){this._changedRoots.set(t,{name:t,state:e?"attached":"detached"});return}const n=this._changedRoots.get(t);n.state!==void 0?(delete n.state,n.attributes===void 0&&this._changedRoots.delete(t)):n.state=e?"attached":"detached"}_bufferRootAttributeChange(t,e,n,i){const r=this._changedRoots.get(t)||{name:t},s=r.attributes||{};if(s[e]){const a=s[e];i===a.oldValue?delete s[e]:a.newValue=i}else s[e]={oldValue:n,newValue:i};Object.entries(s).length===0?(delete r.attributes,r.state===void 0&&this._changedRoots.delete(t)):(r.attributes=s,this._changedRoots.set(t,r))}_refreshItem(t){if(this._isInInsertedElement(t.parent))return;this._markRemove(t.parent,t.startOffset,t.offsetSize),this._markInsert(t.parent,t.startOffset,t.offsetSize),this._refreshedItems.add(t);const e=T._createOn(t);for(const n of this._markerCollection.getMarkersIntersectingRange(e)){const i=n.getData();this.bufferMarkerChange(n.name,i,i)}this._cachedChanges=null}_bufferRootLoad(t){if(t.isAttached()){this._bufferRootStateChange(t.rootName,!0),this._markInsert(t,0,t.maxOffset);for(const e of t.getAttributeKeys())this._bufferRootAttributeChange(t.rootName,e,null,t.getAttribute(e));for(const e of this._markerCollection)if(e.getRange().root==t){const n=e.getData();this.bufferMarkerChange(e.name,{...n,range:null},n)}}}_markInsert(t,e,n){if(t.root.is("rootElement")&&!t.root._isLoaded)return;const i={type:"insert",offset:e,howMany:n,count:this._changeCount++};this._markChange(t,i)}_markRemove(t,e,n){if(t.root.is("rootElement")&&!t.root._isLoaded)return;const i={type:"remove",offset:e,howMany:n,count:this._changeCount++};this._markChange(t,i),this._removeAllNestedChanges(t,e,n)}_markAttribute(t){if(t.root.is("rootElement")&&!t.root._isLoaded)return;const e={type:"attribute",offset:t.startOffset,howMany:t.offsetSize,count:this._changeCount++};this._markChange(t.parent,e)}_markChange(t,e){this._makeSnapshot(t);const n=this._getChangesForElement(t);this._handleChange(e,n),n.push(e);for(let i=0;in.offset){if(i>r){const s={type:"attribute",offset:r,howMany:i-r,count:this._changeCount++};this._handleChange(s,e),e.push(s)}t.nodesToHandle=n.offset-t.offset,t.howMany=t.nodesToHandle}else t.offset>=n.offset&&t.offsetr?(t.nodesToHandle=i-r,t.offset=r):t.nodesToHandle=0);if(n.type=="remove"&&t.offsetn.offset){const s={type:"attribute",offset:n.offset,howMany:i-n.offset,count:this._changeCount++};this._handleChange(s,e),e.push(s),t.nodesToHandle=n.offset-t.offset,t.howMany=t.nodesToHandle}n.type=="attribute"&&(t.offset>=n.offset&&i<=r?(t.nodesToHandle=0,t.howMany=0,t.offset=0):t.offset<=n.offset&&i>=r&&(n.howMany=0))}}t.howMany=t.nodesToHandle,delete t.nodesToHandle}_getInsertDiff(t,e,n){return{type:"insert",position:N._createAt(t,e),name:n.name,attributes:new Map(n.attributes),length:1,changeCount:this._changeCount++,_element:n.element}}_getRemoveDiff(t,e,n){return{type:"remove",position:N._createAt(t,e),name:n.name,attributes:new Map(n.attributes),length:1,changeCount:this._changeCount++,_element:n.element}}_getAttributesDiff(t,e,n){const i=[];n=new Map(n);for(const[r,s]of e){const a=n.has(r)?n.get(r):null;a!==s&&i.push({type:"attribute",position:t.start,range:t.clone(),length:1,attributeKey:r,attributeOldValue:s,attributeNewValue:a,changeCount:this._changeCount++}),n.delete(r)}for(const[r,s]of n)i.push({type:"attribute",position:t.start,range:t.clone(),length:1,attributeKey:r,attributeOldValue:null,attributeNewValue:s,changeCount:this._changeCount++});return i}_isInInsertedElement(t){const e=t.parent;if(!e)return!1;const n=this._changesInElement.get(e),i=t.startOffset;if(n){for(const r of n)if(r.type=="insert"&&i>=r.offset&&in){for(let s=0;sthis._version+1&&this._gaps.set(this._version,t),this._version=t}get lastOperation(){return this._operations[this._operations.length-1]}addOperation(t){if(t.baseVersion!==this.version)throw new b("model-document-history-addoperation-incorrect-version",this,{operation:t,historyVersion:this.version});this._operations.push(t),this._version++,this._baseVersionToOperationIndex.set(t.baseVersion,this._operations.length-1)}getOperations(t,e=this.version){if(!this._operations.length)return[];const n=this._operations[0];t===void 0&&(t=n.baseVersion);let i=e-1;for(const[a,c]of this._gaps)t>a&&ta&&ithis.lastOperation.baseVersion)return[];let r=this._baseVersionToOperationIndex.get(t);r===void 0&&(r=0);let s=this._baseVersionToOperationIndex.get(i);return s===void 0&&(s=this._operations.length-1),this._operations.slice(r,s+1)}getOperation(t){const e=this._baseVersionToOperationIndex.get(t);if(e!==void 0)return this._operations[e]}setOperationAsUndone(t,e){this._undoPairs.set(e,t),this._undoneOperations.add(t)}isUndoingOperation(t){return this._undoPairs.has(t)}isUndoneOperation(t){return this._undoneOperations.has(t)}getUndoneOperation(t){return this._undoPairs.get(t)}reset(){this._version=0,this._undoPairs=new Map,this._operations=[],this._undoneOperations=new Set,this._gaps=new Map,this._baseVersionToOperationIndex=new Map}}class _i extends dt{constructor(t,e,n="main"){super(e),this._isAttached=!0,this._isLoaded=!0,this._document=t,this.rootName=n}get document(){return this._document}isAttached(){return this._isAttached}toJSON(){return this.rootName}}_i.prototype.is=function(o,t){return t?t===this.name&&(o==="rootElement"||o==="model:rootElement"||o==="element"||o==="model:element"):o==="rootElement"||o==="model:rootElement"||o==="element"||o==="model:element"||o==="node"||o==="model:node"};const Ih="$graveyard";class U5 extends lt(){constructor(t){super(),this.model=t,this.history=new H5,this.selection=new pe(this),this.roots=new oe({idProperty:"rootName"}),this.differ=new j5(t.markers),this.isReadOnly=!1,this._postFixers=new Set,this._hasSelectionChangedFromTheLastChangeBlock=!1,this.createRoot("$root",Ih),this.listenTo(t,"applyOperation",(e,n)=>{const i=n[0];i.isDocumentOperation&&this.differ.bufferOperation(i)},{priority:"high"}),this.listenTo(t,"applyOperation",(e,n)=>{const i=n[0];i.isDocumentOperation&&this.history.addOperation(i)},{priority:"low"}),this.listenTo(this.selection,"change",()=>{this._hasSelectionChangedFromTheLastChangeBlock=!0}),this.listenTo(t.markers,"update",(e,n,i,r,s)=>{const a={...n.getData(),range:r};this.differ.bufferMarkerChange(n.name,s,a),i===null&&n.on("change",(c,l)=>{const d=n.getData();this.differ.bufferMarkerChange(n.name,{...d,range:l},d)})}),this.registerPostFixer(e=>{let n=!1;for(const i of this.roots)!i.isAttached()&&!i.isEmpty&&(e.remove(e.createRangeIn(i)),n=!0);for(const i of this.model.markers)i.getRange().root.isAttached()||(e.removeMarker(i),n=!0);return n})}get version(){return this.history.version}set version(t){this.history.version=t}get graveyard(){return this.getRoot(Ih)}createRoot(t="$root",e="main"){if(this.roots.get(e))throw new b("model-document-createroot-name-exists",this,{name:e});const n=new _i(this,t,e);return this.roots.add(n),n}destroy(){this.selection.destroy(),this.stopListening()}getRoot(t="main"){return this.roots.get(t)}getRootNames(t=!1){return this.getRoots(t).map(e=>e.rootName)}getRoots(t=!1){return this.roots.filter(e=>e!=this.graveyard&&(t||e.isAttached())&&e._isLoaded)}registerPostFixer(t){this._postFixers.add(t)}toJSON(){const t=Qd(this);return t.selection="[engine.model.DocumentSelection]",t.model="[engine.model.Model]",t}_handleChangeBlock(t){this._hasDocumentChangedFromTheLastChangeBlock()&&(this._callPostFixers(t),this.selection.refresh(),this.differ.hasDataChanges()?this.fire("change:data",t.batch):this.fire("change",t.batch),this.selection.refresh(),this.differ.reset()),this._hasSelectionChangedFromTheLastChangeBlock=!1}_hasDocumentChangedFromTheLastChangeBlock(){return!this.differ.isEmpty||this._hasSelectionChangedFromTheLastChangeBlock}_getDefaultRoot(){const t=this.getRoots();return t.length?t[0]:this.graveyard}_getDefaultRange(){const t=this._getDefaultRoot(),e=this.model,n=e.schema,i=e.createPositionFromPath(t,[0]);return n.getNearestSelectionRange(i)||e.createRange(i)}_validateSelectionRange(t){return Mh(t.start)&&Mh(t.end)}_callPostFixers(t){let e=!1;do for(const n of this._postFixers)if(this.selection.refresh(),e=n(t),e)break;while(e)}}function Mh(o){const t=o.textNode;if(t){const e=t.data,n=o.offset-t.startOffset;return!Pr(e,n)&&!Or(e,n)}return!0}class G5 extends lt(){constructor(){super(...arguments),this._markers=new Map}[Symbol.iterator](){return this._markers.values()}has(t){const e=t instanceof Rn?t.name:t;return this._markers.has(e)}get(t){return this._markers.get(t)||null}_set(t,e,n=!1,i=!1){const r=t instanceof Rn?t.name:t;if(r.includes(","))throw new b("markercollection-incorrect-marker-name",this);const s=this._markers.get(r);if(s){const l=s.getData(),d=s.getRange();let u=!1;return d.isEqual(e)||(s._attachLiveRange(Xt.fromRange(e)),u=!0),n!=s.managedUsingOperations&&(s._managedUsingOperations=n,u=!0),typeof i=="boolean"&&i!=s.affectsData&&(s._affectsData=i,u=!0),u&&this.fire(`update:${r}`,s,d,e,l),s}const a=Xt.fromRange(e),c=new Rn(r,a,n,i);return this._markers.set(r,c),this.fire(`update:${r}`,c,null,e,{...c.getData(),range:null}),c}_remove(t){const e=t instanceof Rn?t.name:t,n=this._markers.get(e);return n?(this._markers.delete(e),this.fire(`update:${e}`,n,n.getRange(),null,n.getData()),this._destroyMarker(n),!0):!1}_refresh(t){const e=t instanceof Rn?t.name:t,n=this._markers.get(e);if(!n)throw new b("markercollection-refresh-marker-not-exists",this);const i=n.getRange();this.fire(`update:${e}`,n,i,i,n.getData())}*getMarkersAtPosition(t){for(const e of this)e.getRange().containsPosition(t)&&(yield e)}*getMarkersIntersectingRange(t){for(const e of this)e.getRange().getIntersection(t)!==null&&(yield e)}destroy(){for(const t of this._markers.values())this._destroyMarker(t);this._markers=null,this.stopListening()}*getMarkersGroup(t){for(const e of this._markers.values())e.name.startsWith(t+":")&&(yield e)}_destroyMarker(t){t.stopListening(),t._detachLiveRange()}}class Rn extends lt(Ue){constructor(t,e,n,i){super(),this.name=t,this._liveRange=this._attachLiveRange(e),this._managedUsingOperations=n,this._affectsData=i}get managedUsingOperations(){if(!this._liveRange)throw new b("marker-destroyed",this);return this._managedUsingOperations}get affectsData(){if(!this._liveRange)throw new b("marker-destroyed",this);return this._affectsData}getData(){return{range:this.getRange(),affectsData:this.affectsData,managedUsingOperations:this.managedUsingOperations}}getStart(){if(!this._liveRange)throw new b("marker-destroyed",this);return this._liveRange.start.clone()}getEnd(){if(!this._liveRange)throw new b("marker-destroyed",this);return this._liveRange.end.clone()}getRange(){if(!this._liveRange)throw new b("marker-destroyed",this);return this._liveRange.toRange()}_attachLiveRange(t){return this._liveRange&&this._detachLiveRange(),t.delegate("change:range").to(this),t.delegate("change:content").to(this),this._liveRange=t,t}_detachLiveRange(){this._liveRange.stopDelegating("change:range",this),this._liveRange.stopDelegating("change:content",this),this._liveRange.detach(),this._liveRange=null}}Rn.prototype.is=function(o){return o==="marker"||o==="model:marker"};class W5 extends te{constructor(t,e){super(null),this.sourcePosition=t.clone(),this.howMany=e}get type(){return"detach"}get affectedSelectable(){return null}toJSON(){const t=super.toJSON();return t.sourcePosition=this.sourcePosition.toJSON(),t}_validate(){if(this.sourcePosition.root.document)throw new b("detach-operation-on-document-node",this)}_execute(){Ah(T._createFromPositionAndShift(this.sourcePosition,this.howMany))}static get className(){return"DetachOperation"}}class Me extends Ue{constructor(t){super(),this.markers=new Map,this._children=new ko,t&&this._insertChild(0,t)}[Symbol.iterator](){return this.getChildren()}get childCount(){return this._children.length}get maxOffset(){return this._children.maxOffset}get isEmpty(){return this.childCount===0}get nextSibling(){return null}get previousSibling(){return null}get root(){return this}get parent(){return null}get document(){return null}isAttached(){return!1}getAncestors(){return[]}getChild(t){return this._children.getNode(t)}getChildren(){return this._children[Symbol.iterator]()}getChildIndex(t){return this._children.getNodeIndex(t)}getChildStartOffset(t){return this._children.getNodeStartOffset(t)}getPath(){return[]}getNodeByPath(t){let e=this;for(const n of t)e=e.getChild(e.offsetToIndex(n));return e}offsetToIndex(t){return this._children.offsetToIndex(t)}toJSON(){const t=[];for(const e of this._children)t.push(e.toJSON());return t}static fromJSON(t){const e=[];for(const n of t)n.name?e.push(dt.fromJSON(n)):e.push(gt.fromJSON(n));return new Me(e)}_appendChild(t){this._insertChild(this.childCount,t)}_insertChild(t,e){const n=q5(e);for(const i of n)i.parent!==null&&i._remove(),i.parent=this;this._children._insertNodes(t,n)}_removeChildren(t,e=1){const n=this._children._removeNodes(t,e);for(const i of n)i.parent=null;return n}}Me.prototype.is=function(o){return o==="documentFragment"||o==="model:documentFragment"};function q5(o){return typeof o=="string"?[new gt(o)]:(Zt(o)||(o=[o]),Array.from(o).map(t=>typeof t=="string"?new gt(t):t instanceof me?new gt(t.data,t.getAttributes()):t))}class Z5{constructor(t,e){this.model=t,this.batch=e}createText(t,e){return new gt(t,e)}createElement(t,e){return new dt(t,e)}createDocumentFragment(){return new Me}cloneElement(t,e=!0){return t._clone(e)}insert(t,e,n=0){if(this._assertWriterUsedCorrectly(),t instanceof gt&&t.data=="")return;const i=N._createAt(e,n);if(t.parent)if(zh(t.root,i.root)){this.move(T._createOn(t),i);return}else{if(t.root.document)throw new b("model-writer-insert-forbidden-move",this);this.remove(t)}const r=i.root.document?i.root.document.version:null,s=new Mt(i,t,r);if(t instanceof gt&&(s.shouldReceiveAttributes=!0),this.batch.addOperation(s),this.model.applyOperation(s),t instanceof Me)for(const[a,c]of t.markers){const l=N._createAt(c.root,0),u={range:new T(c.start._getCombined(l,i),c.end._getCombined(l,i)),usingOperation:!0,affectsData:!0};this.model.markers.has(a)?this.updateMarker(a,u):this.addMarker(a,u)}}insertText(t,e,n,i){e instanceof Me||e instanceof dt||e instanceof N?this.insert(this.createText(t),e,n):this.insert(this.createText(t,e),n,i)}insertElement(t,e,n,i){e instanceof Me||e instanceof dt||e instanceof N?this.insert(this.createElement(t),e,n):this.insert(this.createElement(t,e),n,i)}append(t,e){this.insert(t,e,"end")}appendText(t,e,n){e instanceof Me||e instanceof dt?this.insert(this.createText(t),e,"end"):this.insert(this.createText(t,e),n,"end")}appendElement(t,e,n){e instanceof Me||e instanceof dt?this.insert(this.createElement(t),e,"end"):this.insert(this.createElement(t,e),n,"end")}setAttribute(t,e,n){if(this._assertWriterUsedCorrectly(),n instanceof T){const i=n.getMinimalFlatRanges();for(const r of i)Bh(this,t,e,r)}else Nh(this,t,e,n)}setAttributes(t,e){for(const[n,i]of Se(t))this.setAttribute(n,i,e)}removeAttribute(t,e){if(this._assertWriterUsedCorrectly(),e instanceof T){const n=e.getMinimalFlatRanges();for(const i of n)Bh(this,t,null,i)}else Nh(this,t,null,e)}clearAttributes(t){this._assertWriterUsedCorrectly();const e=n=>{for(const i of n.getAttributeKeys())this.removeAttribute(i,n)};if(!(t instanceof T))e(t);else for(const n of t.getItems())e(n)}move(t,e,n){if(this._assertWriterUsedCorrectly(),!(t instanceof T))throw new b("writer-move-invalid-range",this);if(!t.isFlat)throw new b("writer-move-range-not-flat",this);const i=N._createAt(e,n);if(i.isEqual(t.start))return;if(this._addOperationForAffectedMarkers("move",t),!zh(t.root,i.root))throw new b("writer-move-different-document",this);const r=t.root.document?t.root.document.version:null,s=new it(t.start,t.end.offset-t.start.offset,i,r);this.batch.addOperation(s),this.model.applyOperation(s)}remove(t){this._assertWriterUsedCorrectly();const n=(t instanceof T?t:T._createOn(t)).getMinimalFlatRanges().reverse();for(const i of n)this._addOperationForAffectedMarkers("move",i),$5(i.start,i.end.offset-i.start.offset,this.batch,this.model)}merge(t){this._assertWriterUsedCorrectly();const e=t.nodeBefore,n=t.nodeAfter;if(this._addOperationForAffectedMarkers("merge",t),!(e instanceof dt))throw new b("writer-merge-no-element-before",this);if(!(n instanceof dt))throw new b("writer-merge-no-element-after",this);t.root.document?this._merge(t):this._mergeDetached(t)}createPositionFromPath(t,e,n){return this.model.createPositionFromPath(t,e,n)}createPositionAt(t,e){return this.model.createPositionAt(t,e)}createPositionAfter(t){return this.model.createPositionAfter(t)}createPositionBefore(t){return this.model.createPositionBefore(t)}createRange(t,e){return this.model.createRange(t,e)}createRangeIn(t){return this.model.createRangeIn(t)}createRangeOn(t){return this.model.createRangeOn(t)}createSelection(...t){return this.model.createSelection(...t)}_mergeDetached(t){const e=t.nodeBefore,n=t.nodeAfter;this.move(T._createIn(n),N._createAt(e,"end")),this.remove(n)}_merge(t){const e=N._createAt(t.nodeBefore,"end"),n=N._createAt(t.nodeAfter,0),i=t.root.document.graveyard,r=new N(i,[0]),s=t.root.document.version,a=new vt(n,t.nodeAfter.maxOffset,e,r,s);this.batch.addOperation(a),this.model.applyOperation(a)}rename(t,e){if(this._assertWriterUsedCorrectly(),!(t instanceof dt))throw new b("writer-rename-not-element-instance",this);const n=t.root.document?t.root.document.version:null,i=new qt(N._createBefore(t),t.name,e,n);this.batch.addOperation(i),this.model.applyOperation(i)}split(t,e){this._assertWriterUsedCorrectly();let n=t.parent;if(!n.parent)throw new b("writer-split-element-no-parent",this);if(e||(e=n.parent),!t.parent.getAncestors({includeSelf:!0}).includes(e))throw new b("writer-split-invalid-limit-element",this);let i,r;do{const s=n.root.document?n.root.document.version:null,a=n.maxOffset-t.offset,c=ft.getInsertionPosition(t),l=new ft(t,a,c,null,s);this.batch.addOperation(l),this.model.applyOperation(l),!i&&!r&&(i=n,r=t.parent.nextSibling),t=this.createPositionAfter(t.parent),n=t.parent}while(n!==e);return{position:t,range:new T(N._createAt(i,"end"),N._createAt(r,0))}}wrap(t,e){if(this._assertWriterUsedCorrectly(),!t.isFlat)throw new b("writer-wrap-range-not-flat",this);const n=e instanceof dt?e:new dt(e);if(n.childCount>0)throw new b("writer-wrap-element-not-empty",this);if(n.parent!==null)throw new b("writer-wrap-element-attached",this);this.insert(n,t.start);const i=new T(t.start.getShiftedBy(1),t.end.getShiftedBy(1));this.move(i,N._createAt(n,0))}unwrap(t){if(this._assertWriterUsedCorrectly(),t.parent===null)throw new b("writer-unwrap-element-no-parent",this);this.move(T._createIn(t),this.createPositionAfter(t)),this.remove(t)}addMarker(t,e){if(this._assertWriterUsedCorrectly(),!e||typeof e.usingOperation!="boolean")throw new b("writer-addmarker-no-usingoperation",this);const n=e.usingOperation,i=e.range,r=e.affectsData===void 0?!1:e.affectsData;if(this.model.markers.has(t))throw new b("writer-addmarker-marker-exists",this);if(!i)throw new b("writer-addmarker-no-range",this);return n?(Eo(this,t,null,i,r),this.model.markers.get(t)):this.model.markers._set(t,i,n,r)}updateMarker(t,e){this._assertWriterUsedCorrectly();const n=typeof t=="string"?t:t.name,i=this.model.markers.get(n);if(!i)throw new b("writer-updatemarker-marker-not-exists",this);if(!e){this.model.markers._refresh(i);return}const r=typeof e.usingOperation=="boolean",s=typeof e.affectsData=="boolean",a=s?e.affectsData:i.affectsData;if(!r&&!e.range&&!s)throw new b("writer-updatemarker-wrong-options",this);const c=i.getRange(),l=e.range?e.range:c;if(r&&e.usingOperation!==i.managedUsingOperations){e.usingOperation?Eo(this,n,null,l,a):(Eo(this,n,c,null,a),this.model.markers._set(n,l,void 0,a));return}i.managedUsingOperations?Eo(this,n,c,l,a):this.model.markers._set(n,l,void 0,a)}removeMarker(t){this._assertWriterUsedCorrectly();const e=typeof t=="string"?t:t.name;if(!this.model.markers.has(e))throw new b("writer-removemarker-no-marker",this);const n=this.model.markers.get(e);if(!n.managedUsingOperations){this.model.markers._remove(e);return}const i=n.getRange();Eo(this,e,i,null,n.affectsData)}addRoot(t,e="$root"){this._assertWriterUsedCorrectly();const n=this.model.document.getRoot(t);if(n&&n.isAttached())throw new b("writer-addroot-root-exists",this);const i=this.model.document,r=new ve(t,e,!0,i,i.version);return this.batch.addOperation(r),this.model.applyOperation(r),this.model.document.getRoot(t)}detachRoot(t){this._assertWriterUsedCorrectly();const e=typeof t=="string"?this.model.document.getRoot(t):t;if(!e||!e.isAttached())throw new b("writer-detachroot-no-root",this);for(const r of this.model.markers)r.getRange().root===e&&this.removeMarker(r);for(const r of e.getAttributeKeys())this.removeAttribute(r,e);this.remove(this.createRangeIn(e));const n=this.model.document,i=new ve(e.rootName,e.name,!1,n,n.version);this.batch.addOperation(i),this.model.applyOperation(i)}setSelection(...t){this._assertWriterUsedCorrectly(),this.model.document.selection._setTo(...t)}setSelectionFocus(t,e){this._assertWriterUsedCorrectly(),this.model.document.selection._setFocus(t,e)}setSelectionAttribute(t,e){if(this._assertWriterUsedCorrectly(),typeof t=="string")this._setSelectionAttribute(t,e);else for(const[n,i]of Se(t))this._setSelectionAttribute(n,i)}removeSelectionAttribute(t){if(this._assertWriterUsedCorrectly(),typeof t=="string")this._removeSelectionAttribute(t);else for(const e of t)this._removeSelectionAttribute(e)}overrideSelectionGravity(){return this.model.document.selection._overrideGravity()}restoreSelectionGravity(t){this.model.document.selection._restoreGravity(t)}_setSelectionAttribute(t,e){const n=this.model.document.selection;if(n.isCollapsed&&n.anchor.parent.isEmpty){const i=pe._getStoreAttributeKey(t);this.setAttribute(i,e,n.anchor.parent)}n._setAttribute(t,e)}_removeSelectionAttribute(t){const e=this.model.document.selection;if(e.isCollapsed&&e.anchor.parent.isEmpty){const n=pe._getStoreAttributeKey(t);this.removeAttribute(n,e.anchor.parent)}e._removeAttribute(t)}_assertWriterUsedCorrectly(){if(this.model._currentWriter!==this)throw new b("writer-incorrect-use",this)}_addOperationForAffectedMarkers(t,e){for(const n of this.model.markers){if(!n.managedUsingOperations)continue;const i=n.getRange();let r=!1;if(t==="move"){const s=e;r=s.containsPosition(i.start)||s.start.isEqual(i.start)||s.containsPosition(i.end)||s.end.isEqual(i.end)}else{const s=e,a=s.nodeBefore,c=s.nodeAfter,l=i.start.parent==a&&i.start.isAtEnd,d=i.end.parent==c&&i.end.offset==0,u=i.end.nodeAfter==c,f=i.start.nodeAfter==c;r=l||d||u||f}r&&this.updateMarker(n.name,{range:i})}}}function Bh(o,t,e,n){const i=o.model,r=i.document;let s=n.start,a,c,l;for(const u of n.getWalker({shallow:!0}))l=u.item.getAttribute(t),a&&c!=l&&(c!=e&&d(),s=a),a=u.nextPosition,c=l;a instanceof N&&a!=s&&c!=e&&d();function d(){const u=new T(s,a),f=u.root.document?r.version:null,p=new Et(u,t,c,e,f);o.batch.addOperation(p),i.applyOperation(p)}}function Nh(o,t,e,n){const i=o.model,r=i.document,s=n.getAttribute(t);let a,c;if(s!=e){if(n.root===n){const d=n.document?r.version:null;c=new Ie(n,t,s,e,d)}else{a=new T(N._createBefore(n),o.createPositionAfter(n));const d=a.root.document?r.version:null;c=new Et(a,t,s,e,d)}o.batch.addOperation(c),i.applyOperation(c)}}function Eo(o,t,e,n,i){const r=o.model,s=r.document,a=new Wt(t,e,n,r.markers,!!i,s.version);o.batch.addOperation(a),r.applyOperation(a)}function $5(o,t,e,n){let i;if(o.root.document){const r=n.document,s=new N(r.graveyard,[0]);i=new it(o,t,s,r.version)}else i=new W5(o,t);e.addOperation(i),n.applyOperation(i)}function zh(o,t){return o===t||o instanceof _i&&t instanceof _i}function K5(o,t,e={}){if(t.isCollapsed)return;const n=t.getFirstRange();if(n.root.rootName=="$graveyard")return;const i=o.schema;o.change(r=>{if(!e.doNotResetEntireContent&&iE(i,t)){oE(r,t);return}const s={};if(!e.doNotAutoparagraph){const l=t.getSelectedElement();l&&Object.assign(s,i.getAttributesWithProperty(l,"copyOnReplace",!0))}const[a,c]=Y5(n);a.isTouching(c)||r.remove(r.createRange(a,c)),e.leaveUnmerged||(J5(r,a,c),i.removeDisallowedAttributes(a.parent.getChildren(),r)),Rh(r,t,a),!e.doNotAutoparagraph&&eE(i,a)&&Oh(r,a,t,s),a.detach(),c.detach()})}function Y5(o){const t=o.root.document.model,e=o.start;let n=o.end;if(t.hasContent(o,{ignoreMarkers:!0})){const i=Q5(n);if(i&&n.isTouching(t.createPositionAt(i,0))){const r=t.createSelection(o);t.modifySelection(r,{direction:"backward"});const s=r.getLastPosition(),a=t.createRange(s,n);t.hasContent(a,{ignoreMarkers:!0})||(n=s)}}return[Ot.fromPosition(e,"toPrevious"),Ot.fromPosition(n,"toNext")]}function Q5(o){const t=o.parent,e=t.root.document.model.schema,n=t.getAncestors({parentFirst:!0,includeSelf:!0});for(const i of n){if(e.isLimit(i))return null;if(e.isBlock(i))return i}}function J5(o,t,e){const n=o.model;if(!Ns(o.model.schema,t,e))return;const[i,r]=tE(t,e);!i||!r||(!n.hasContent(i,{ignoreMarkers:!0})&&n.hasContent(r,{ignoreMarkers:!0})?Ph(o,t,e,i.parent):Lh(o,t,e,i.parent))}function Lh(o,t,e,n){const i=t.parent,r=e.parent;if(!(i==n||r==n)){for(t=o.createPositionAfter(i),e=o.createPositionBefore(r),e.isEqual(t)||o.insert(r,t),o.merge(t);e.parent.isEmpty;){const s=e.parent;e=o.createPositionBefore(s),o.remove(s)}Ns(o.model.schema,t,e)&&Lh(o,t,e,n)}}function Ph(o,t,e,n){const i=t.parent,r=e.parent;if(!(i==n||r==n)){for(t=o.createPositionAfter(i),e=o.createPositionBefore(r),e.isEqual(t)||o.insert(i,e);t.parent.isEmpty;){const s=t.parent;t=o.createPositionBefore(s),o.remove(s)}e=o.createPositionBefore(r),X5(o,e),Ns(o.model.schema,t,e)&&Ph(o,t,e,n)}}function X5(o,t){const e=t.nodeBefore,n=t.nodeAfter;e.name!=n.name&&o.rename(e,n.name),o.clearAttributes(e),o.setAttributes(Object.fromEntries(n.getAttributes()),e),o.merge(t)}function Ns(o,t,e){const n=t.parent,i=e.parent;return n==i||o.isLimit(n)||o.isLimit(i)?!1:nE(t,e,o)}function tE(o,t){const e=o.getAncestors(),n=t.getAncestors();let i=0;for(;e[i]&&e[i]==n[i];)i++;return[e[i],n[i]]}function eE(o,t){const e=o.checkChild(t,"$text"),n=o.checkChild(t,"paragraph");return!e&&n}function nE(o,t,e){const n=new T(o,t);for(const i of n.getWalker())if(e.isLimit(i.item))return!1;return!0}function Oh(o,t,e,n={}){const i=o.createElement("paragraph");o.model.schema.setAllowedAttributes(i,n,o),o.insert(i,t),Rh(o,e,o.createPositionAt(i,0))}function oE(o,t){const e=o.model.schema.getLimitElement(t);o.remove(o.createRangeIn(e)),Oh(o,o.createPositionAt(e,0),t)}function iE(o,t){const e=o.getLimitElement(t);if(!t.containsEntireContent(e))return!1;const n=t.getFirstRange();return n.start.parent==n.end.parent?!1:o.checkChild(e,"paragraph")}function Rh(o,t,e){t instanceof pe?o.setSelection(e):t.setTo(e)}function rE(o,t){return o.change(e=>{const n=e.createDocumentFragment(),i=t.getFirstRange();if(!i||i.isCollapsed)return n;const r=i.start.root,s=i.start.getCommonPath(i.end),a=r.getNodeByPath(s);let c;i.start.parent==i.end.parent?c=i:c=e.createRange(e.createPositionAt(a,i.start.path[s.length]),e.createPositionAt(a,i.end.path[s.length]+1));const l=c.end.offset-c.start.offset;for(const d of c.getItems({shallow:!0}))d.is("$textProxy")?e.appendText(d.data,d.getAttributes(),n):e.append(e.cloneElement(d,!0),n);if(c!=i){const d=i._getTransformedByMove(c.start,e.createPositionAt(n,0),l)[0],u=e.createRange(e.createPositionAt(n,0),d.start),f=e.createRange(d.end,e.createPositionAt(n,"end"));jh(f,e),jh(u,e)}return n})}function jh(o,t){const e=[];Array.from(o.getItems({direction:"backward"})).map(n=>t.createRangeOn(n)).filter(n=>(n.start.isAfter(o.start)||n.start.isEqual(o.start))&&(n.end.isBefore(o.end)||n.end.isEqual(o.end))).forEach(n=>{e.push(n.start.parent),t.remove(n)}),e.forEach(n=>{let i=n;for(;i.parent&&i.isEmpty;){const r=t.createRangeOn(i);i=i.parent,t.remove(r)}})}function sE(o,t,e){return o.change(n=>{const i=e||o.document.selection;i.isCollapsed||o.deleteContent(i,{doNotAutoparagraph:!0});const r=new aE(o,n,i.anchor),s=[];let a;if(t.is("documentFragment")){if(t.markers.size){const d=[];for(const[u,f]of t.markers){const{start:p,end:w}=f,S=p.isEqual(w);d.push({position:p,name:u,isCollapsed:S},{position:w,name:u,isCollapsed:S})}d.sort(({position:u},{position:f})=>u.isBefore(f)?1:-1);for(const{position:u,name:f,isCollapsed:p}of d){let w=null,S=null;const M=u.parent===t&&u.isAtStart,z=u.parent===t&&u.isAtEnd;!M&&!z?(w=n.createElement("$marker"),n.insert(w,u)):p&&(S=M?"start":"end"),s.push({name:f,element:w,collapsed:S})}}a=t.getChildren()}else a=[t];r.handleNodes(a);let c=r.getSelectionRange();if(t.is("documentFragment")&&s.length){const d=c?Xt.fromRange(c):null,u={};for(let f=s.length-1;f>=0;f--){const{name:p,element:w,collapsed:S}=s[f],M=!u[p];if(M&&(u[p]=[]),w){const z=n.createPositionAt(w,"before");u[p].push(z),n.remove(w)}else{const z=r.getAffectedRange();if(!z){S&&u[p].push(r.position);continue}S?u[p].push(z[S]):u[p].push(M?z.start:z.end)}}for(const[f,[p,w]]of Object.entries(u))p&&w&&p.root===w.root&&n.addMarker(f,{usingOperation:!0,affectsData:!0,range:new T(p,w)});d&&(c=d.toRange(),d.detach())}c&&(i instanceof pe?n.setSelection(c):i.setTo(c));const l=r.getAffectedRange()||o.createRange(i.anchor);return r.destroy(),l})}class aE{constructor(t,e,n){this._firstNode=null,this._lastNode=null,this._lastAutoParagraph=null,this._filterAttributesOf=[],this._affectedStart=null,this._affectedEnd=null,this._nodeToSelect=null,this.model=t,this.writer=e,this.position=n,this.canMergeWith=new Set([this.position.parent]),this.schema=t.schema,this._documentFragment=e.createDocumentFragment(),this._documentFragmentPosition=e.createPositionAt(this._documentFragment,0)}handleNodes(t){for(const e of Array.from(t))this._handleNode(e);this._insertPartialFragment(),this._lastAutoParagraph&&this._updateLastNodeFromAutoParagraph(this._lastAutoParagraph),this._mergeOnRight(),this.schema.removeDisallowedAttributes(this._filterAttributesOf,this.writer),this._filterAttributesOf=[]}_updateLastNodeFromAutoParagraph(t){const e=this.writer.createPositionAfter(this._lastNode),n=this.writer.createPositionAfter(t);if(n.isAfter(e)){if(this._lastNode=t,this.position.parent!=t||!this.position.isAtEnd)throw new b("insertcontent-invalid-insertion-position",this);this.position=n,this._setAffectedBoundaries(this.position)}}getSelectionRange(){return this._nodeToSelect?T._createOn(this._nodeToSelect):this.model.schema.getNearestSelectionRange(this.position)}getAffectedRange(){return this._affectedStart?new T(this._affectedStart,this._affectedEnd):null}destroy(){this._affectedStart&&this._affectedStart.detach(),this._affectedEnd&&this._affectedEnd.detach()}_handleNode(t){if(this.schema.isObject(t)){this._handleObject(t);return}let e=this._checkAndAutoParagraphToAllowedPosition(t);if(!e&&(e=this._checkAndSplitToAllowedPosition(t),!e)){this._handleDisallowedNode(t);return}this._appendToFragment(t),this._firstNode||(this._firstNode=t),this._lastNode=t}_insertPartialFragment(){if(this._documentFragment.isEmpty)return;const t=Ot.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=t.toPosition()),this._documentFragment.isEmpty||this.writer.insert(this._documentFragment,this.position),this._documentFragmentPosition=this.writer.createPositionAt(this._documentFragment,0),this.position=t.toPosition(),t.detach()}_handleObject(t){this._checkAndSplitToAllowedPosition(t)?this._appendToFragment(t):this._tryAutoparagraphing(t)}_handleDisallowedNode(t){t.is("element")?this.handleNodes(t.getChildren()):this._tryAutoparagraphing(t)}_appendToFragment(t){if(!this.schema.checkChild(this.position,t))throw new b("insertcontent-wrong-position",this,{node:t,position:this.position});this.writer.insert(t,this._documentFragmentPosition),this._documentFragmentPosition=this._documentFragmentPosition.getShiftedBy(t.offsetSize),this.schema.isObject(t)&&!this.schema.checkChild(this.position,"$text")?this._nodeToSelect=t:this._nodeToSelect=null,this._filterAttributesOf.push(t)}_setAffectedBoundaries(t){this._affectedStart||(this._affectedStart=Ot.fromPosition(t,"toPrevious")),(!this._affectedEnd||this._affectedEnd.isBefore(t))&&(this._affectedEnd&&this._affectedEnd.detach(),this._affectedEnd=Ot.fromPosition(t,"toNext"))}_mergeOnLeft(){const t=this._firstNode;if(!(t instanceof dt)||!this._canMergeLeft(t))return;const e=Ot._createBefore(t);e.stickiness="toNext";const n=Ot.fromPosition(this.position,"toNext");this._affectedStart.isEqual(e)&&(this._affectedStart.detach(),this._affectedStart=Ot._createAt(e.nodeBefore,"end","toPrevious")),this._firstNode===this._lastNode&&(this._firstNode=e.nodeBefore,this._lastNode=e.nodeBefore),this.writer.merge(e),e.isEqual(this._affectedEnd)&&this._firstNode===this._lastNode&&(this._affectedEnd.detach(),this._affectedEnd=Ot._createAt(e.nodeBefore,"end","toNext")),this.position=n.toPosition(),n.detach(),this._filterAttributesOf.push(this.position.parent),e.detach()}_mergeOnRight(){const t=this._lastNode;if(!(t instanceof dt)||!this._canMergeRight(t))return;const e=Ot._createAfter(t);if(e.stickiness="toNext",!this.position.isEqual(e))throw new b("insertcontent-invalid-insertion-position",this);this.position=N._createAt(e.nodeBefore,"end");const n=Ot.fromPosition(this.position,"toPrevious");this._affectedEnd.isEqual(e)&&(this._affectedEnd.detach(),this._affectedEnd=Ot._createAt(e.nodeBefore,"end","toNext")),this._firstNode===this._lastNode&&(this._firstNode=e.nodeBefore,this._lastNode=e.nodeBefore),this.writer.merge(e),e.getShiftedBy(-1).isEqual(this._affectedStart)&&this._firstNode===this._lastNode&&(this._affectedStart.detach(),this._affectedStart=Ot._createAt(e.nodeBefore,0,"toPrevious")),this.position=n.toPosition(),n.detach(),this._filterAttributesOf.push(this.position.parent),e.detach()}_canMergeLeft(t){const e=t.previousSibling;return e instanceof dt&&this.canMergeWith.has(e)&&this.model.schema.checkMerge(e,t)}_canMergeRight(t){const e=t.nextSibling;return e instanceof dt&&this.canMergeWith.has(e)&&this.model.schema.checkMerge(t,e)}_tryAutoparagraphing(t){const e=this.writer.createElement("paragraph");this._getAllowedIn(this.position.parent,e)&&this.schema.checkChild(e,t)&&(e._appendChild(t),this._handleNode(e))}_checkAndAutoParagraphToAllowedPosition(t){if(this.schema.checkChild(this.position.parent,t))return!0;if(!this.schema.checkChild(this.position.parent,"paragraph")||!this.schema.checkChild("paragraph",t))return!1;this._insertPartialFragment();const e=this.writer.createElement("paragraph");return this.writer.insert(e,this.position),this._setAffectedBoundaries(this.position),this._lastAutoParagraph=e,this.position=this.writer.createPositionAt(e,0),!0}_checkAndSplitToAllowedPosition(t){const e=this._getAllowedIn(this.position.parent,t);if(!e)return!1;for(e!=this.position.parent&&this._insertPartialFragment();e!=this.position.parent;)if(this.position.isAtStart){const n=this.position.parent;this.position=this.writer.createPositionBefore(n),n.isEmpty&&n.parent===e&&this.writer.remove(n)}else if(this.position.isAtEnd)this.position=this.writer.createPositionAfter(this.position.parent);else{const n=this.writer.createPositionAfter(this.position.parent);this._setAffectedBoundaries(this.position),this.writer.split(this.position),this.position=n,this.canMergeWith.add(this.position.nodeAfter)}return!0}_getAllowedIn(t,e){return this.schema.checkChild(t,e)?t:this.schema.isLimit(t)?null:this._getAllowedIn(t.parent,e)}}function cE(o,t,e,n={}){if(!o.schema.isObject(t))throw new b("insertobject-element-not-an-object",o,{object:t});const i=e||o.document.selection;let r=i;n.findOptimalPosition&&o.schema.isBlock(t)&&(r=o.createSelection(o.schema.findOptimalInsertionRange(i,n.findOptimalPosition)));const s=Lt(i.getSelectedBlocks()),a={};return s&&Object.assign(a,o.schema.getAttributesWithProperty(s,"copyOnReplace",!0)),o.change(c=>{r.isCollapsed||o.deleteContent(r,{doNotAutoparagraph:!0});let l=t;const d=r.anchor.parent;!o.schema.checkChild(d,t)&&o.schema.checkChild(d,"paragraph")&&o.schema.checkChild("paragraph",t)&&(l=c.createElement("paragraph"),c.insert(t,l)),o.schema.setAllowedAttributes(l,a,c);const u=o.insertContent(l,r);return u.isCollapsed||n.setSelection&&lE(c,t,n.setSelection,a),u})}function lE(o,t,e,n){const i=o.model;if(e=="on"){o.setSelection(t,"on");return}if(e!="after")throw new b("insertobject-invalid-place-parameter-value",i);let r=t.nextSibling;if(i.schema.isInline(t)){o.setSelection(t,"after");return}!(r&&i.schema.checkChild(r,"$text"))&&i.schema.checkChild(t.parent,"paragraph")&&(r=o.createElement("paragraph"),i.schema.setAllowedAttributes(r,n,o),i.insertContent(r,o.createPositionAfter(t))),r&&o.setSelection(r,0)}const dE=' ,.?!:;"-()';function uE(o,t,e={}){const n=o.schema,i=e.direction!="backward",r=e.unit?e.unit:"character",s=!!e.treatEmojiAsSingleUnit,a=t.focus,c=new Te({boundaries:mE(a,i),singleCharacters:!0,direction:i?"forward":"backward"}),l={walker:c,schema:n,isForward:i,unit:r,treatEmojiAsSingleUnit:s};let d;for(;d=c.next();){if(d.done)return;const u=hE(l,d.value);if(u){t instanceof pe?o.change(f=>{f.setSelectionFocus(u)}):t.setFocus(u);return}}}function hE(o,t){const{isForward:e,walker:n,unit:i,schema:r,treatEmojiAsSingleUnit:s}=o,{type:a,item:c,nextPosition:l}=t;if(a=="text")return o.unit==="word"?fE(n,e):gE(n,i,s);if(a==(e?"elementStart":"elementEnd")){if(r.isSelectable(c))return N._createAt(c,e?"after":"before");if(r.checkChild(l,"$text"))return l}else{if(r.isLimit(c)){n.skip(()=>!0);return}if(r.checkChild(l,"$text"))return l}}function gE(o,t,e){const n=o.position.textNode;if(n){const i=n.data;let r=o.position.offset-n.startOffset;for(;Pr(i,r)||t=="character"&&Or(i,r)||e&&pd(i,r);)o.next(),r=o.position.offset-n.startOffset}return o.position}function fE(o,t){let e=o.position.textNode;for(e||(e=t?o.position.nodeAfter:o.position.nodeBefore);e&&e.is("$text");){const n=o.position.offset-e.startOffset;if(kE(e,n,t))e=t?o.position.nodeAfter:o.position.nodeBefore;else{if(pE(e.data,n,t))break;o.next()}}return o.position}function mE(o,t){const e=o.root,n=N._createAt(e,t?"end":0);return t?new T(o,n):new T(n,o)}function pE(o,t,e){const n=t+(e?0:-1);return dE.includes(o.charAt(n))}function kE(o,t,e){return t===(e?o.offsetSize:0)}class bE extends st(){constructor(){super(),this.markers=new G5,this.document=new U5(this),this.schema=new i5,this._pendingChanges=[],this._currentWriter=null,["deleteContent","modifySelection","getSelectedContent","applyOperation"].forEach(t=>this.decorate(t)),this.on("applyOperation",(t,e)=>{e[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((t,e)=>{if(e.name==="$marker")return!0}),Kx(this),this.document.registerPostFixer(ah),this.on("insertContent",(t,[e,n])=>{t.return=sE(this,e,n)}),this.on("insertObject",(t,[e,n,i])=>{t.return=cE(this,e,n,i)}),this.on("canEditAt",t=>{const e=!this.document.isReadOnly;t.return=e,e||t.stop()})}change(t){try{return this._pendingChanges.length===0?(this._pendingChanges.push({batch:new On,callback:t}),this._runPendingChanges()[0]):t(this._currentWriter)}catch(e){b.rethrowUnexpectedError(e,this)}}enqueueChange(t,e){try{t?typeof t=="function"?(e=t,t=new On):t instanceof On||(t=new On(t)):t=new On,this._pendingChanges.push({batch:t,callback:e}),this._pendingChanges.length==1&&this._runPendingChanges()}catch(n){b.rethrowUnexpectedError(n,this)}}applyOperation(t){t._execute()}insertContent(t,e,n,...i){const r=zs(e,n);return this.fire("insertContent",[t,r,n,...i])}insertObject(t,e,n,i,...r){const s=zs(e,n);return this.fire("insertObject",[t,s,i,i,...r])}deleteContent(t,e){K5(this,t,e)}modifySelection(t,e){uE(this,t,e)}getSelectedContent(t){return rE(this,t)}hasContent(t,e={}){const n=t instanceof T?t:T._createIn(t);if(n.isCollapsed)return!1;const{ignoreWhitespaces:i=!1,ignoreMarkers:r=!1}=e;if(!r){for(const s of this.markers.getMarkersIntersectingRange(n))if(s.affectsData)return!0}for(const s of n.getItems())if(this.schema.isContent(s))if(s.is("$textProxy"))if(i){if(s.data.search(/\S/)!==-1)return!0}else return!0;else return!0;return!1}canEditAt(t){const e=zs(t);return this.fire("canEditAt",[e])}createPositionFromPath(t,e,n){return new N(t,e,n)}createPositionAt(t,e){return N._createAt(t,e)}createPositionAfter(t){return N._createAfter(t)}createPositionBefore(t){return N._createBefore(t)}createRange(t,e){return new T(t,e)}createRangeIn(t){return T._createIn(t)}createRangeOn(t){return T._createOn(t)}createSelection(...t){return new Jt(...t)}createBatch(t){return new On(t)}createOperationFromJSON(t){return M5.fromJSON(t,this.document)}destroy(){this.document.destroy(),this.stopListening()}_runPendingChanges(){const t=[];this.fire("_beforeChanges");try{for(;this._pendingChanges.length;){const e=this._pendingChanges[0].batch;this._currentWriter=new Z5(this,e);const n=this._pendingChanges[0].callback(this._currentWriter);t.push(n),this.document._handleChangeBlock(this._currentWriter),this._pendingChanges.shift(),this._currentWriter=null}}finally{this._pendingChanges.length=0,this._currentWriter=null,this.fire("_afterChanges")}return t}}function zs(o,t){if(o)return o instanceof Jt||o instanceof pe?o:o instanceof cn?t||t===0?new Jt(o,t):o.is("rootElement")?new Jt(o,"in"):new Jt(o,"on"):new Jt(o)}class wE extends Ve{constructor(){super(...arguments),this.domEventType="click"}onDomEvent(t){this.fire(t.type,t)}}class vi extends Ve{constructor(){super(...arguments),this.domEventType=["mousedown","mouseup","mouseover","mouseout"]}onDomEvent(t){this.fire(t.type,t)}}class Be{constructor(t){this.document=t}createDocumentFragment(t){return new an(this.document,t)}createElement(t,e,n){return new Yt(this.document,t,e,n)}createText(t){return new ht(this.document,t)}clone(t,e=!1){return t._clone(e)}appendChild(t,e){return e._appendChild(t)}insertChild(t,e,n){return n._insertChild(t,e)}removeChildren(t,e,n){return n._removeChildren(t,e)}remove(t){const e=t.parent;return e?this.removeChildren(e.getChildIndex(t),1,e):[]}replace(t,e){const n=t.parent;if(n){const i=n.getChildIndex(t);return this.removeChildren(i,1,n),this.insertChild(i,e,n),!0}return!1}unwrapElement(t){const e=t.parent;if(e){const n=e.getChildIndex(t);this.remove(t),this.insertChild(n,t.getChildren(),e)}}rename(t,e){const n=new Yt(this.document,t,e.getAttributes(),e.getChildren());return this.replace(e,n)?n:null}setAttribute(t,e,n){n._setAttribute(t,e)}removeAttribute(t,e){e._removeAttribute(t)}addClass(t,e){e._addClass(t)}removeClass(t,e){e._removeClass(t)}setStyle(t,e,n){$t(t)&&n===void 0?e._setStyle(t):n._setStyle(t,e)}removeStyle(t,e){e._removeStyle(t)}setCustomProperty(t,e,n){n._setCustomProperty(t,e)}removeCustomProperty(t,e){return e._removeCustomProperty(t)}createPositionAt(t,e){return O._createAt(t,e)}createPositionAfter(t){return O._createAfter(t)}createPositionBefore(t){return O._createBefore(t)}createRange(t,e){return new K(t,e)}createRangeOn(t){return K._createOn(t)}createRangeIn(t){return K._createIn(t)}createSelection(...t){return new ge(...t)}}class AE{constructor(){this._commands=new Map}add(t,e){this._commands.set(t,e)}get(t){return this._commands.get(t)}execute(t,...e){const n=this.get(t);if(!n)throw new b("commandcollection-command-not-found",this,{commandName:t});return n.execute(...e)}*names(){yield*this._commands.keys()}*commands(){yield*this._commands.values()}[Symbol.iterator](){return this._commands[Symbol.iterator]()}destroy(){for(const t of this.commands())t.destroy()}}class CE extends Gt{constructor(t){super(),this.editor=t}set(t,e,n={}){if(typeof e=="string"){const i=e;e=(r,s)=>{this.editor.execute(i),s()}}super.set(t,e,n)}}class _E extends st(){constructor(t={}){super();const e=this.constructor,n=t.language||e.defaultConfig&&e.defaultConfig.language;this._context=t.context||new qd({language:n}),this._context._addEditor(this,!t.context);const i=Array.from(e.builtinPlugins||[]);this.config=new $l(t,e.defaultConfig),this.config.define("plugins",i),this.config.define(this._context._getEditorConfig()),this.plugins=new Wd(this,i,this._context.plugins),this.locale=this._context.locale,this.t=this.locale.t,this._readOnlyLocks=new Set,this.commands=new AE,this.set("state","initializing"),this.once("ready",()=>this.state="ready",{priority:"high"}),this.once("destroy",()=>this.state="destroyed",{priority:"high"}),this.model=new bE,this.on("change:isReadOnly",()=>{this.model.document.isReadOnly=this.isReadOnly});const r=new $1;this.data=new E5(this.model,r),this.editing=new e5(this.model,r),this.editing.view.document.bind("isReadOnly").to(this),this.conversion=new S5([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 CE(this),this.keystrokes.listenTo(this.editing.view.document)}get isReadOnly(){return this._readOnlyLocks.size>0}set isReadOnly(t){throw new b("editor-isreadonly-has-no-setter")}enableReadOnlyMode(t){if(typeof t!="string"&&typeof t!="symbol")throw new b("editor-read-only-lock-id-invalid",null,{lockId:t});this._readOnlyLocks.has(t)||(this._readOnlyLocks.add(t),this._readOnlyLocks.size===1&&this.fire("change:isReadOnly","isReadOnly",!0,!1))}disableReadOnlyMode(t){if(typeof t!="string"&&typeof t!="symbol")throw new b("editor-read-only-lock-id-invalid",null,{lockId:t});this._readOnlyLocks.has(t)&&(this._readOnlyLocks.delete(t),this._readOnlyLocks.size===0&&this.fire("change:isReadOnly","isReadOnly",!1,!0))}initPlugins(){const t=this.config,e=t.get("plugins"),n=t.get("removePlugins")||[],i=t.get("extraPlugins")||[],r=t.get("substitutePlugins")||[];return this.plugins.init(e.concat(i),n,r)}destroy(){let t=Promise.resolve();return this.state=="initializing"&&(t=new Promise(e=>this.once("ready",e))),t.then(()=>{this.fire("destroy"),this.stopListening(),this.commands.destroy()}).then(()=>this.plugins.destroy()).then(()=>{this.model.destroy(),this.data.destroy(),this.editing.destroy(),this.keystrokes.destroy()}).then(()=>this._context._removeEditor(this))}execute(t,...e){try{return this.commands.execute(t,...e)}catch(n){b.rethrowUnexpectedError(n,this)}}focus(){this.editing.view.focus()}static create(...t){throw new Error("This is an abstract method.")}}function vE(o){if(!Ke(o.updateSourceElement))throw new b("attachtoform-missing-elementapi-interface",o);const t=o.sourceElement;if(yE(t)&&t.form){let e;const n=t.form,i=()=>o.updateSourceElement();Ke(n.submit)&&(e=n.submit,n.submit=()=>{i(),e.apply(n)}),n.addEventListener("submit",i),o.on("destroy",()=>{n.removeEventListener("submit",i),e&&(n.submit=e)})}}function yE(o){return!!o&&o.tagName.toLowerCase()==="textarea"}function yi(o){class t extends o{setData(n){this.data.set(n)}getData(n){return this.data.get(n)}}return t}{const o=yi(Object);yi.setData=o.prototype.setData,yi.getData=o.prototype.getData}function Ls(o){class t extends o{updateSourceElement(n){if(!this.sourceElement)throw new b("editor-missing-sourceelement",this);const i=this.config.get("updateSourceElementOnDestroy"),r=this.sourceElement instanceof HTMLTextAreaElement;if(!i&&!r){od(this.sourceElement,"");return}const s=typeof n=="string"?n:this.data.get();od(this.sourceElement,s)}}return t}Ls.updateSourceElement=Ls(Object).prototype.updateSourceElement;class xi extends ai{static get pluginName(){return"PendingActions"}init(){this.set("hasAny",!1),this._actions=new oe({idProperty:"_id"}),this._actions.delegate("add","remove").to(this)}add(t){if(typeof t!="string")throw new b("pendingactions-add-invalid-message",this);const e=new(st());return e.set("message",t),this._actions.add(e),this.hasAny=!0,e}remove(t){this._actions.remove(t),this.hasAny=!!this._actions.length}get first(){return this._actions.get(0)}[Symbol.iterator](){return this._actions[Symbol.iterator]()}}const Fh='',J={bold:'',cancel:Fh,caption:'',check:'',cog:'',colorPalette:'',eraser:'',history:'',image:'',imageUpload:'',imageAssetManager:'',imageUrl:'',lowVision:'',textAlternative:'',loupe:'',previousArrow:'',nextArrow:'',importExport:'',paragraph:'',plus:'',text:'',alignBottom:'',alignMiddle:'',alignTop:'',alignLeft:'',alignCenter:'',alignRight:'',alignJustify:'',objectLeft:'',objectCenter:'',objectRight:'',objectFullWidth:'',objectInline:'',objectBlockLeft:'',objectBlockRight:'',objectSizeFull:'',objectSizeLarge:'',objectSizeSmall:'',objectSizeMedium:'',pencil:'',pilcrow:'',quote:'',threeVerticalDots:'',dragIndicator:'',redo:'',undo:'',bulletedList:'',numberedList:'',todoList:'',codeBlock:'',browseFiles:'',heading1:'',heading2:'',heading3:'',heading4:'',heading5:'',heading6:'',horizontalLine:'',html:'',indent:'',outdent:'',table:''};var Vh=P(4768),Ps={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ps.insert="head",Ps.singleton=!0,R()(Vh.Z,Ps),Vh.Z.locals;const{threeVerticalDots:Hh}=J,xE={alignLeft:J.alignLeft,bold:J.bold,importExport:J.importExport,paragraph:J.paragraph,plus:J.plus,text:J.text,threeVerticalDots:J.threeVerticalDots,pilcrow:J.pilcrow,dragIndicator:J.dragIndicator};class Os extends Z{constructor(t,e){super(t);const n=this.bindTemplate,i=this.t;this.options=e||{},this.set("ariaLabel",i("Editor toolbar")),this.set("maxWidth","auto"),this.items=this.createCollection(),this.focusTracker=new Pt,this.keystrokes=new Gt,this.set("class",void 0),this.set("isCompact",!1),this.itemsView=new EE(t),this.children=this.createCollection(),this.children.add(this.itemsView),this.focusables=this.createCollection();const r=t.uiLanguageDirection==="rtl";this._focusCycler=new se({focusables:this.focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:[r?"arrowright":"arrowleft","arrowup"],focusNext:[r?"arrowleft":"arrowright","arrowdown"]}});const s=["ck","ck-toolbar",n.to("class"),n.if("isCompact","ck-toolbar_compact")];this.options.shouldGroupWhenFull&&this.options.isFloating&&s.push("ck-toolbar_floating"),this.setTemplate({tag:"div",attributes:{class:s,role:"toolbar","aria-label":n.to("ariaLabel"),style:{maxWidth:n.to("maxWidth")},tabindex:-1},children:this.children,on:{mousedown:mv(this)}}),this._behavior=this.options.shouldGroupWhenFull?new SE(this):new DE(this)}render(){super.render(),this.focusTracker.add(this.element);for(const t of this.items)this.focusTracker.add(t.element);this.items.on("add",(t,e)=>{this.focusTracker.add(e.element)}),this.items.on("remove",(t,e)=>{this.focusTracker.remove(e.element)}),this.keystrokes.listenTo(this.element),this._behavior.render(this)}destroy(){return this._behavior.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy(),super.destroy()}focus(){this._focusCycler.focusFirst()}focusLast(){this._focusCycler.focusLast()}fillFromConfig(t,e,n){this.items.addMany(this._buildItemsFromConfig(t,e,n))}_buildItemsFromConfig(t,e,n){const i=Vd(t),r=n||i.removeItems;return this._cleanItemsConfiguration(i.items,e,r).map(a=>Ct(a)?this._createNestedToolbarDropdown(a,e,r):a==="|"?new Fd:a==="-"?new fv:e.create(a)).filter(a=>!!a)}_cleanItemsConfiguration(t,e,n){const i=t.filter((r,s,a)=>r==="|"?!0:n.indexOf(r)!==-1?!1:r==="-"?this.options.shouldGroupWhenFull?!1:!0:!Ct(r)&&!e.has(r)?!1:!0);return this._cleanSeparatorsAndLineBreaks(i)}_cleanSeparatorsAndLineBreaks(t){const e=s=>s!=="-"&&s!=="|",n=t.length,i=t.findIndex(e);if(i===-1)return[];const r=n-t.slice().reverse().findIndex(e);return t.slice(i,r).filter((s,a,c)=>e(s)?!0:!(a>0&&c[a-1]===s))}_createNestedToolbarDropdown(t,e,n){let{label:i,icon:r,items:s,tooltip:a=!0,withText:c=!1}=t;if(s=this._cleanItemsConfiguration(s,e,n),!s.length)return null;const l=this.locale,d=ye(l);return i||void 0,d.class="ck-toolbar__nested-toolbar-dropdown",d.buttonView.set({label:i,tooltip:a,withText:!!c}),r!==!1?d.buttonView.icon=xE[r]||r||Hh:d.buttonView.withText=!0,Us(d,()=>d.toolbarView._buildItemsFromConfig(s,e,n)),d}}class EE extends Z{constructor(t){super(t),this.children=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-toolbar__items"]},children:this.children})}}class DE{constructor(t){const e=t.bindTemplate;t.set("isVertical",!1),t.itemsView.children.bindTo(t.items).using(n=>n),t.focusables.bindTo(t.items).using(n=>co(n)?n:null),t.extendTemplate({attributes:{class:[e.if("isVertical","ck-toolbar_vertical")]}})}render(){}destroy(){}}class SE{constructor(t){this.resizeObserver=null,this.cachedPadding=null,this.shouldUpdateGroupingOnNextResize=!1,this.view=t,this.viewChildren=t.children,this.viewFocusables=t.focusables,this.viewItemsView=t.itemsView,this.viewFocusTracker=t.focusTracker,this.viewLocale=t.locale,this.ungroupedItems=t.createCollection(),this.groupedItems=t.createCollection(),this.groupedItemsDropdown=this._createGroupedItemsDropdown(),t.itemsView.children.bindTo(this.ungroupedItems).using(e=>e),this.ungroupedItems.on("change",this._updateFocusCyclableItems.bind(this)),t.children.on("change",this._updateFocusCyclableItems.bind(this)),t.items.on("change",(e,n)=>{const i=n.index,r=Array.from(n.added);for(const s of n.removed)i>=this.ungroupedItems.length?this.groupedItems.remove(s):this.ungroupedItems.remove(s);for(let s=i;sthis.ungroupedItems.length?this.groupedItems.add(a,s-this.ungroupedItems.length):this.ungroupedItems.add(a,s)}this._updateGrouping()}),t.extendTemplate({attributes:{class:["ck-toolbar_grouping"]}})}render(t){this.viewElement=t.element,this._enableGroupingOnResize(),this._enableGroupingOnMaxWidthChange(t)}destroy(){this.groupedItemsDropdown.destroy(),this.resizeObserver.destroy()}_updateGrouping(){if(!this.viewElement.ownerDocument.body.contains(this.viewElement))return;if(!tn(this.viewElement)){this.shouldUpdateGroupingOnNextResize=!0;return}const t=this.groupedItems.length;let e;for(;this._areItemsOverflowing;)this._groupLastItem(),e=!0;if(!e&&this.groupedItems.length){for(;this.groupedItems.length&&!this._areItemsOverflowing;)this._ungroupFirstItem();this._areItemsOverflowing&&this._groupLastItem()}this.groupedItems.length!==t&&this.view.fire("groupedItemsUpdate")}get _areItemsOverflowing(){if(!this.ungroupedItems.length)return!1;const t=this.viewElement,e=this.viewLocale.uiLanguageDirection,n=new Q(t.lastChild),i=new Q(t);if(!this.cachedPadding){const r=H.window.getComputedStyle(t),s=e==="ltr"?"paddingRight":"paddingLeft";this.cachedPadding=Number.parseInt(r[s])}return e==="ltr"?n.right>i.right-this.cachedPadding:n.left{(!t||t!==e.contentRect.width||this.shouldUpdateGroupingOnNextResize)&&(this.shouldUpdateGroupingOnNextResize=!1,this._updateGrouping(),t=e.contentRect.width)}),this._updateGrouping()}_enableGroupingOnMaxWidthChange(t){t.on("change:maxWidth",()=>{this._updateGrouping()})}_groupLastItem(){this.groupedItems.length||(this.viewChildren.add(new Fd),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 t=this.viewLocale,e=t.t,n=ye(t);return n.class="ck-toolbar__grouped-dropdown",n.panelPosition=t.uiLanguageDirection==="ltr"?"sw":"se",Us(n,this.groupedItems),n.buttonView.set({label:e("Show more items"),tooltip:!0,tooltipPosition:t.uiLanguageDirection==="rtl"?"se":"sw",icon:Hh}),n}_updateFocusCyclableItems(){this.viewFocusables.clear(),this.ungroupedItems.map(t=>{co(t)&&this.viewFocusables.add(t)}),this.groupedItems.length&&this.viewFocusables.add(this.groupedItemsDropdown)}}class Rs extends Z{constructor(t){super(t);const e=this.bindTemplate;this.set("isVisible",!0),this.children=this.createCollection(),this.setTemplate({tag:"li",attributes:{class:["ck","ck-list__item",e.if("isVisible","ck-hidden",n=>!n)],role:"presentation"},children:this.children})}focus(){this.children.first&&this.children.first.focus()}}class Uh extends Z{constructor(t){super(t),this.setTemplate({tag:"li",attributes:{class:["ck","ck-list__separator"]}})}}class Ei extends Z{constructor(t,e=new $r){super(t);const n=this.bindTemplate,i=new Wh(t);this.set({label:"",isVisible:!0}),this.labelView=e,this.labelView.bind("text").to(this,"label"),this.children=this.createCollection(),this.children.addMany([this.labelView,i]),i.set({role:"group",ariaLabelledBy:e.id}),i.focusTracker.destroy(),i.keystrokes.destroy(),this.items=i.items,this.setTemplate({tag:"li",attributes:{role:"presentation",class:["ck","ck-list__group",n.if("isVisible","ck-hidden",r=>!r)]},children:this.children})}focus(){if(this.items){const t=this.items.find(e=>!(e instanceof Uh));t&&t.focus()}}}var Gh=P(179),js={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};js.insert="head",js.singleton=!0,R()(Gh.Z,js),Gh.Z.locals;class Wh extends Z{constructor(t){super(t),this._listItemGroupToChangeListeners=new WeakMap;const e=this.bindTemplate;this.focusables=new ie,this.items=this.createCollection(),this.focusTracker=new Pt,this.keystrokes=new Gt,this._focusCycler=new se({focusables:this.focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"arrowup",focusNext:"arrowdown"}}),this.set("ariaLabel",void 0),this.set("ariaLabelledBy",void 0),this.set("role",void 0),this.setTemplate({tag:"ul",attributes:{class:["ck","ck-reset","ck-list"],role:e.to("role"),"aria-label":e.to("ariaLabel"),"aria-labelledby":e.to("ariaLabelledBy")},children:this.items})}render(){super.render();for(const t of this.items)t instanceof Ei?this._registerFocusableItemsGroup(t):t instanceof Rs&&this._registerFocusableListItem(t);this.items.on("change",(t,e)=>{for(const n of e.removed)n instanceof Ei?this._deregisterFocusableItemsGroup(n):this._deregisterFocusableListItem(n);for(const n of Array.from(e.added).reverse())n instanceof Ei?this._registerFocusableItemsGroup(n,e.index):this._registerFocusableListItem(n,e.index)}),this.keystrokes.listenTo(this.element)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}focusFirst(){this._focusCycler.focusFirst()}focusLast(){this._focusCycler.focusLast()}_registerFocusableListItem(t,e){this.focusTracker.add(t.element),this.focusables.add(t,e)}_deregisterFocusableListItem(t){this.focusTracker.remove(t.element),this.focusables.remove(t)}_getOnGroupItemsChangeCallback(t){return(e,n)=>{for(const i of n.removed)this._deregisterFocusableListItem(i);for(const i of Array.from(n.added).reverse())this._registerFocusableListItem(i,this.items.getIndex(t)+n.index)}}_registerFocusableItemsGroup(t,e){Array.from(t.items).forEach((i,r)=>{const s=typeof e<"u"?e+r:void 0;this._registerFocusableListItem(i,s)});const n=this._getOnGroupItemsChangeCallback(t);this._listItemGroupToChangeListeners.set(t,n),t.items.on("change",n)}_deregisterFocusableItemsGroup(t){for(const e of t.items)this._deregisterFocusableListItem(e);t.items.off("change",this._listItemGroupToChangeListeners.get(t)),this._listItemGroupToChangeListeners.delete(t)}}var qh=P(4791),Fs={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Fs.insert="head",Fs.singleton=!0,R()(qh.Z,Fs),qh.Z.locals;class Di extends Z{constructor(t,e){super(t);const n=this.bindTemplate;this.set("class",void 0),this.set("labelStyle",void 0),this.set("icon",void 0),this.set("isEnabled",!0),this.set("isOn",!1),this.set("isToggleable",!1),this.set("isVisible",!0),this.set("keystroke",void 0),this.set("withKeystroke",!1),this.set("label",void 0),this.set("tabindex",-1),this.set("tooltip",!1),this.set("tooltipPosition","s"),this.set("type","button"),this.set("withText",!1),this.children=this.createCollection(),this.actionView=this._createActionView(e),this.arrowView=this._createArrowView(),this.keystrokes=new Gt,this.focusTracker=new Pt,this.setTemplate({tag:"div",attributes:{class:["ck","ck-splitbutton",n.to("class"),n.if("isVisible","ck-hidden",i=>!i),this.arrowView.bindTemplate.if("isOn","ck-splitbutton_open")]},children:this.children})}render(){super.render(),this.children.add(this.actionView),this.children.add(this.arrowView),this.focusTracker.add(this.actionView.element),this.focusTracker.add(this.arrowView.element),this.keystrokes.listenTo(this.element),this.keystrokes.set("arrowright",(t,e)=>{this.focusTracker.focusedElement===this.actionView.element&&(this.arrowView.focus(),e())}),this.keystrokes.set("arrowleft",(t,e)=>{this.focusTracker.focusedElement===this.arrowView.element&&(this.actionView.focus(),e())})}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this.actionView.focus()}_createActionView(t){const e=t||new at;return t||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 t=new at,e=t.bindTemplate;return t.icon=Gr,t.extendTemplate({attributes:{class:["ck-splitbutton__arrow"],"data-cke-tooltip-disabled":e.to("isOn"),"aria-haspopup":!0,"aria-expanded":e.to("isOn",n=>String(n))}}),t.bind("isEnabled").to(this),t.bind("label").to(this),t.bind("tooltip").to(this),t.delegate("execute").to(this,"open"),t}}var Zh=P(2704),Vs={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Vs.insert="head",Vs.singleton=!0,R()(Zh.Z,Vs),Zh.Z.locals;var $h=P(1883),Hs={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Hs.insert="head",Hs.singleton=!0,R()($h.Z,Hs),$h.Z.locals;function ye(o,t=jd){const e=typeof t=="function"?new t(o):t,n=new uv(o),i=new hv(o,e,n);return e.bind("isEnabled").to(i),e instanceof Di?e.arrowView.bind("isOn").to(i,"isOpen"):e.bind("isOn").to(i,"isOpen"),TE(i),i}function Us(o,t,e={}){o.extendTemplate({attributes:{class:["ck-toolbar-dropdown"]}}),o.isOpen?Kh(o,t,e):o.once("change:isOpen",()=>Kh(o,t,e),{priority:"highest"}),e.enableActiveItemFocusOnDropdownOpen&&Qh(o,()=>o.toolbarView.items.find(n=>n.isOn))}function Kh(o,t,e){const n=o.locale,i=n.t,r=o.toolbarView=new Os(n),s=typeof t=="function"?t():t;r.ariaLabel=e.ariaLabel||i("Dropdown toolbar"),e.maxWidth&&(r.maxWidth=e.maxWidth),e.class&&(r.class=e.class),e.isCompact&&(r.isCompact=e.isCompact),e.isVertical&&(r.isVertical=!0),s instanceof ie?r.items.bindTo(s).using(a=>a):r.items.addMany(s),o.panelView.children.add(r),r.items.delegate("execute").to(o)}function Gs(o,t,e={}){o.isOpen?Yh(o,t,e):o.once("change:isOpen",()=>Yh(o,t,e),{priority:"highest"}),Qh(o,()=>o.listView.items.find(n=>n instanceof Rs?n.children.first.isOn:!1))}function Yh(o,t,e){const n=o.locale,i=o.listView=new Wh(n),r=typeof t=="function"?t():t;i.ariaLabel=e.ariaLabel,i.role=e.role,Jh(o,i.items,r,n),o.panelView.children.add(i),i.items.delegate("execute").to(o)}function Qh(o,t){o.on("change:isOpen",()=>{if(!o.isOpen)return;const e=t();e&&(typeof e.focus=="function"?e.focus():void 0)},{priority:Re.low-10})}function TE(o){IE(o),ME(o),BE(o),NE(o),zE(o),LE(o)}function IE(o){o.on("render",()=>{C({emitter:o,activator:()=>o.isOpen,callback:()=>{o.isOpen=!1},contextElements:()=>[o.element,...o.focusTracker._elements]})})}function ME(o){o.on("execute",t=>{t.source instanceof ri||(o.isOpen=!1)})}function BE(o){o.focusTracker.on("change:isFocused",(t,e,n)=>{o.isOpen&&!n&&(o.isOpen=!1)})}function NE(o){o.keystrokes.set("arrowdown",(t,e)=>{o.isOpen&&(o.panelView.focus(),e())}),o.keystrokes.set("arrowup",(t,e)=>{o.isOpen&&(o.panelView.focusLast(),e())})}function zE(o){o.on("change:isOpen",(t,e,n)=>{if(n)return;const i=o.panelView.element;i&&i.contains(H.document.activeElement)&&o.buttonView.focus()})}function LE(o){o.on("change:isOpen",(t,e,n)=>{n&&o.panelView.focus()},{priority:"low"})}function Jh(o,t,e,n){t.bindTo(e).using(i=>{if(i.type==="separator")return new Uh(n);if(i.type==="group"){const r=new Ei(n);return r.set({label:i.label}),Jh(o,r.items,i.items,n),r.items.delegate("execute").to(o),r}else if(i.type==="button"||i.type==="switchbutton"){const r=new Rs(n);let s;return i.type==="button"?(s=new at(n),s.extendTemplate({attributes:{"aria-checked":s.bindTemplate.to("isOn")}})):s=new ri(n),s.bind(...Object.keys(i.model)).to(i.model),s.delegate("execute").to(r),r.children.add(s),r}return null})}const Si=(o,t,e)=>{const n=new dv(o.locale);return n.set({id:t,ariaDescribedById:e}),n.bind("isReadOnly").to(o,"isEnabled",i=>!i),n.bind("hasError").to(o,"errorText",i=>!!i),n.on("input",()=>{o.errorText=null}),o.bind("isEmpty","isFocused","placeholder").to(n),n},Do=(o,t=0,e=1)=>o>e?e:oMath.round(e*o)/e,PE=o=>VE(Ws(o)),Ws=o=>(o[0]==="#"&&(o=o.substring(1)),o.length<6?{r:parseInt(o[0]+o[0],16),g:parseInt(o[1]+o[1],16),b:parseInt(o[2]+o[2],16),a:o.length===4?Rt(parseInt(o[3]+o[3],16)/255,2):1}:{r:parseInt(o.substring(0,2),16),g:parseInt(o.substring(2,4),16),b:parseInt(o.substring(4,6),16),a:o.length===8?Rt(parseInt(o.substring(6,8),16)/255,2):1}),OE=o=>FE(jE(o)),RE=({h:o,s:t,v:e,a:n})=>{const i=(200-t)*e/100;return{h:Rt(o),s:Rt(i>0&&i<200?t*e/100/(i<=100?i:200-i)*100:0),l:Rt(i/2),a:Rt(n,2)}},qs=o=>{const{h:t,s:e,l:n}=RE(o);return`hsl(${t}, ${e}%, ${n}%)`},jE=({h:o,s:t,v:e,a:n})=>{o=o/360*6,t=t/100,e=e/100;const i=Math.floor(o),r=e*(1-t),s=e*(1-(o-i)*t),a=e*(1-(1-o+i)*t),c=i%6;return{r:Rt([e,s,r,r,a,e][c]*255),g:Rt([a,e,e,s,r,r][c]*255),b:Rt([r,r,a,e,e,s][c]*255),a:Rt(n,2)}},Ti=o=>{const t=o.toString(16);return t.length<2?"0"+t:t},FE=({r:o,g:t,b:e,a:n})=>{const i=n<1?Ti(Rt(n*255)):"";return"#"+Ti(o)+Ti(t)+Ti(e)+i},VE=({r:o,g:t,b:e,a:n})=>{const i=Math.max(o,t,e),r=i-Math.min(o,t,e),s=r?i===o?(t-e)/r:i===t?2+(e-o)/r:4+(o-t)/r:0;return{h:Rt(60*(s<0?s+6:s)),s:Rt(i?r/i*100:0),v:Rt(i/255*100),a:n}},Xh=(o,t)=>{if(o===t)return!0;for(const e in o)if(o[e]!==t[e])return!1;return!0},HE=(o,t)=>o.toLowerCase()===t.toLowerCase()?!0:Xh(Ws(o),Ws(t)),tg={},eg=o=>{let t=tg[o];return t||(t=document.createElement("template"),t.innerHTML=o,tg[o]=t),t},Zs=(o,t,e)=>{o.dispatchEvent(new CustomEvent(t,{bubbles:!0,detail:e}))};let jn=!1;const $s=o=>"touches"in o,UE=o=>jn&&!$s(o)?!1:(jn||(jn=$s(o)),!0),ng=(o,t)=>{const e=$s(t)?t.touches[0]:t,n=o.el.getBoundingClientRect();Zs(o.el,"move",o.getMove({x:Do((e.pageX-(n.left+window.pageXOffset))/n.width),y:Do((e.pageY-(n.top+window.pageYOffset))/n.height)}))},GE=(o,t)=>{const e=t.keyCode;e>40||o.xy&&e<37||e<33||(t.preventDefault(),Zs(o.el,"move",o.getMove({x:e===39?.01:e===37?-.01:e===34?.05:e===33?-.05:e===35?1:e===36?-1:0,y:e===40?.01:e===38?-.01:0},!0)))};class og{constructor(t,e,n,i){const r=eg(`
`);t.appendChild(r.content.cloneNode(!0));const s=t.querySelector(`[part=${e}]`);s.addEventListener("mousedown",this),s.addEventListener("touchstart",this),s.addEventListener("keydown",this),this.el=s,this.xy=i,this.nodes=[s.firstChild,s]}set dragging(t){const e=t?document.addEventListener:document.removeEventListener;e(jn?"touchmove":"mousemove",this),e(jn?"touchend":"mouseup",this)}handleEvent(t){switch(t.type){case"mousedown":case"touchstart":if(t.preventDefault(),!UE(t)||!jn&&t.button!=0)return;this.el.focus(),ng(this,t),this.dragging=!0;break;case"mousemove":case"touchmove":t.preventDefault(),ng(this,t);break;case"mouseup":case"touchend":this.dragging=!1;break;case"keydown":GE(this,t);break}}style(t){t.forEach((e,n)=>{for(const i in e)this.nodes[n].style.setProperty(i,e[i])})}}class WE extends og{constructor(t){super(t,"hue",'aria-label="Hue" aria-valuemin="0" aria-valuemax="360"',!1)}update({h:t}){this.h=t,this.style([{left:`${t/360*100}%`,color:qs({h:t,s:100,v:100,a:1})}]),this.el.setAttribute("aria-valuenow",`${Rt(t)}`)}getMove(t,e){return{h:e?Do(this.h+t.x*360,0,360):360*t.x}}}class qE extends og{constructor(t){super(t,"saturation",'aria-label="Color"',!0)}update(t){this.hsva=t,this.style([{top:`${100-t.v}%`,left:`${t.s}%`,color:qs(t)},{"background-color":qs({h:t.h,s:100,v:100,a:1})}]),this.el.setAttribute("aria-valuetext",`Saturation ${Rt(t.s)}%, Brightness ${Rt(t.v)}%`)}getMove(t,e){return{s:e?Do(this.hsva.s+t.x*100,0,100):t.x*100,v:e?Do(this.hsva.v-t.y*100,0,100):Math.round(100-t.y*100)}}}const ZE=':host{display:flex;flex-direction:column;position:relative;width:200px;height:200px;user-select:none;-webkit-user-select:none;cursor:default}:host([hidden]){display:none!important}[role=slider]{position:relative;touch-action:none;user-select:none;-webkit-user-select:none;outline:0}[role=slider]:last-child{border-radius:0 0 8px 8px}[part$=pointer]{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;display:flex;place-content:center center;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}[part$=pointer]::after{content:"";width:100%;height:100%;border-radius:inherit;background-color:currentColor}[role=slider]:focus [part$=pointer]{transform:translate(-50%,-50%) scale(1.1)}',$E="[part=hue]{flex:0 0 24px;background:linear-gradient(to right,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%)}[part=hue-pointer]{top:50%;z-index:2}",KE="[part=saturation]{flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(to top,#000,transparent),linear-gradient(to right,#fff,rgba(255,255,255,0));box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}[part=saturation-pointer]{z-index:3}",Ii=Symbol("same"),Ks=Symbol("color"),ig=Symbol("hsva"),Ys=Symbol("update"),rg=Symbol("parts"),sg=Symbol("css"),ag=Symbol("sliders");class YE extends HTMLElement{static get observedAttributes(){return["color"]}get[sg](){return[ZE,$E,KE]}get[ag](){return[qE,WE]}get color(){return this[Ks]}set color(t){if(!this[Ii](t)){const e=this.colorModel.toHsva(t);this[Ys](e),this[Ks]=t}}constructor(){super();const t=eg(``),e=this.attachShadow({mode:"open"});e.appendChild(t.content.cloneNode(!0)),e.addEventListener("move",this),this[rg]=this[ag].map(n=>new n(e))}connectedCallback(){if(this.hasOwnProperty("color")){const t=this.color;delete this.color,this.color=t}else this.color||(this.color=this.colorModel.defaultColor)}attributeChangedCallback(t,e,n){const i=this.colorModel.fromAttr(n);this[Ii](i)||(this.color=i)}handleEvent(t){const e=this[ig],n={...e,...t.detail};this[Ys](n);let i;!Xh(n,e)&&!this[Ii](i=this.colorModel.fromHsva(n))&&(this[Ks]=i,Zs(this,"color-changed",{value:i}))}[Ii](t){return this.color&&this.colorModel.equal(t,this.color)}[Ys](t){this[ig]=t,this[rg].forEach(e=>e.update(t))}}const QE={defaultColor:"#000",toHsva:PE,fromHsva:({h:o,s:t,v:e})=>OE({h:o,s:t,v:e,a:1}),equal:HE,fromAttr:o=>o};class JE extends YE{get colorModel(){return QE}}class XE extends JE{}customElements.define("hex-color-picker",XE);var cg=P(4257),Qs={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Qs.insert="head",Qs.singleton=!0,R()(cg.Z,Qs),cg.Z.locals;var lg=P(6306),Js={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Js.insert="head",Js.singleton=!0,R()(lg.Z,Js),lg.Z.locals;class tD{constructor(t){this._components=new Map,this.editor=t}*names(){for(const t of this._components.values())yield t.originalName}add(t,e){this._components.set(Xs(t),{callback:e,originalName:t})}create(t){if(!this.has(t))throw new b("componentfactory-item-missing",this,{name:t});return this._components.get(Xs(t)).callback(this.editor.locale)}has(t){return this._components.has(Xs(t))}}function Xs(o){return String(o).toLowerCase()}var dg=P(1874),ta={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};ta.insert="head",ta.singleton=!0,R()(dg.Z,ta),dg.Z.locals;class eD extends Z{constructor(t,e={}){super(t);const n=this.bindTemplate;this.set("label",e.label||""),this.set("class",e.class||null),this.children=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-form__header",n.to("class")]},children:this.children}),e.icon&&(this.iconView=new en,this.iconView.content=e.icon,this.children.add(this.iconView));const i=new Z(t);i.setTemplate({tag:"h2",attributes:{class:["ck","ck-form__header__label"]},children:[{text:n.to("label")}]}),this.children.add(i)}}function nD(o){class t extends o{constructor(...n){super(...n),this._onDragBound=this._onDrag.bind(this),this._onDragEndBound=this._onDragEnd.bind(this),this._lastDraggingCoordinates={x:0,y:0},this.on("render",()=>{this._attachListeners()}),this.set("isDragging",!1)}_attachListeners(){this.listenTo(this.element,"mousedown",this._onDragStart.bind(this)),this.listenTo(this.element,"touchstart",this._onDragStart.bind(this))}_attachDragListeners(){this.listenTo(H.document,"mouseup",this._onDragEndBound),this.listenTo(H.document,"touchend",this._onDragEndBound),this.listenTo(H.document,"mousemove",this._onDragBound),this.listenTo(H.document,"touchmove",this._onDragBound)}_detachDragListeners(){this.stopListening(H.document,"mouseup",this._onDragEndBound),this.stopListening(H.document,"touchend",this._onDragEndBound),this.stopListening(H.document,"mousemove",this._onDragBound),this.stopListening(H.document,"touchmove",this._onDragBound)}_onDragStart(n,i){if(!this._isHandleElementPressed(i))return;this._attachDragListeners();let r=0,s=0;i instanceof MouseEvent?(r=i.clientX,s=i.clientY):(r=i.touches[0].clientX,s=i.touches[0].clientY),this._lastDraggingCoordinates={x:r,y:s},this.isDragging=!0}_onDrag(n,i){if(!this.isDragging){this._detachDragListeners();return}let r=0,s=0;i instanceof MouseEvent?(r=i.clientX,s=i.clientY):(r=i.touches[0].clientX,s=i.touches[0].clientY),i.preventDefault(),this.fire("drag",{deltaX:Math.round(r-this._lastDraggingCoordinates.x),deltaY:Math.round(s-this._lastDraggingCoordinates.y)}),this._lastDraggingCoordinates={x:r,y:s}}_onDragEnd(){this._detachDragListeners(),this.isDragging=!1}_isHandleElementPressed(n){return this.dragHandleElement?this.dragHandleElement===n.target||n.target instanceof HTMLElement&&this.dragHandleElement.contains(n.target):!1}}return t}var ug=P(1043),ea={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};ea.insert="head",ea.singleton=!0,R()(ug.Z,ea),ug.Z.locals;class oD extends Z{constructor(t){super(t),this.children=this.createCollection(),this.keystrokes=new Gt,this._focusTracker=new Pt,this._focusables=new ie,this.focusCycler=new se({focusables:this._focusables,focusTracker:this._focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.setTemplate({tag:"div",attributes:{class:["ck","ck-dialog__actions"]},children:this.children})}render(){super.render(),this.keystrokes.listenTo(this.element)}setButtons(t){for(const e of t){const n=new at(this.locale);let i;n.on("execute",()=>e.onExecute()),e.onCreate&&e.onCreate(n);for(i in e)i!="onExecute"&&i!="onCreate"&&n.set(i,e[i]);this.children.add(n)}this._updateFocusCyclableItems()}focus(t){t===-1?this.focusCycler.focusLast():this.focusCycler.focusFirst()}_updateFocusCyclableItems(){Array.from(this.children).forEach(t=>{this._focusables.add(t),this._focusTracker.add(t.element)})}}class iD extends Z{constructor(t){super(t),this.children=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-dialog__content"]},children:this.children})}reset(){for(;this.children.length;)this.children.remove(0)}}var hg=P(2105),na={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};na.insert="head",na.singleton=!0,R()(hg.Z,na),hg.Z.locals;const Ne={SCREEN_CENTER:"screen-center",EDITOR_CENTER:"editor-center",EDITOR_TOP_SIDE:"editor-top-side",EDITOR_TOP_CENTER:"editor-top-center",EDITOR_BOTTOM_CENTER:"editor-bottom-center",EDITOR_ABOVE_CENTER:"editor-above-center",EDITOR_BELOW_CENTER:"editor-below-center"},gg=Tn("px");class Mi extends nD(Z){constructor(t,{getCurrentDomRoot:e,getViewportOffset:n}){super(t),this.wasMoved=!1;const i=this.bindTemplate,r=t.t;this.set("className",""),this.set("ariaLabel",r("Editor dialog")),this.set("isModal",!1),this.set("position",Ne.SCREEN_CENTER),this.set("_isVisible",!1),this.set("_isTransparent",!1),this.set("_top",0),this.set("_left",0),this._getCurrentDomRoot=e,this._getViewportOffset=n,this.decorate("moveTo"),this.parts=this.createCollection(),this.keystrokes=new Gt,this.focusTracker=new Pt,this._focusables=new ie,this._focusCycler=new se({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.setTemplate({tag:"div",attributes:{class:["ck","ck-dialog-overlay",i.if("isModal","ck-dialog-overlay__transparent",s=>!s),i.if("_isVisible","ck-hidden",s=>!s)],tabindex:"-1"},children:[{tag:"div",attributes:{tabindex:"-1",class:["ck","ck-dialog",i.to("className")],role:"dialog","aria-label":i.to("ariaLabel"),style:{top:i.to("_top",s=>gg(s)),left:i.to("_left",s=>gg(s)),visibility:i.if("_isTransparent","hidden")}},children:this.parts}]})}render(){super.render(),this.keystrokes.set("Esc",(t,e)=>{this.fire("close",{source:"escKeyPress"}),e()}),this.on("drag",(t,{deltaX:e,deltaY:n})=>{this.wasMoved=!0,this.moveBy(e,n)}),this.listenTo(H.window,"resize",()=>{this._isVisible&&!this.wasMoved&&this.updatePosition()}),this.listenTo(H.document,"scroll",()=>{this._isVisible&&!this.wasMoved&&this.updatePosition()}),this.on("change:_isVisible",(t,e,n)=>{n&&(this._isTransparent=!0,setTimeout(()=>{this.updatePosition(),this._isTransparent=!1,this.focus()},10))}),this.keystrokes.listenTo(this.element)}get dragHandleElement(){return this.headerView?this.headerView.element:null}setupParts({icon:t,title:e,hasCloseButton:n=!0,content:i,actionButtons:r}){e&&(this.headerView=new eD(this.locale,{icon:t}),n&&(this.closeButtonView=this._createCloseButton(),this.headerView.children.add(this.closeButtonView)),this.headerView.label=e,this.ariaLabel=e,this.parts.add(this.headerView,0)),i&&(i instanceof Z&&(i=[i]),this.contentView=new iD(this.locale),this.contentView.children.addMany(i),this.parts.add(this.contentView)),r&&(this.actionsView=new oD(this.locale),this.actionsView.setButtons(r),this.parts.add(this.actionsView)),this._updateFocusCyclableItems()}focus(){this._focusCycler.focusFirst()}moveTo(t,e){const n=this._getViewportRect(),i=this._getDialogRect();t+i.width>n.right&&(t=n.right-i.width),t{this._focusables.add(e),this.focusTracker.add(e.element),gv(e)&&(this.listenTo(e.focusCycler,"forwardCycle",n=>{this._focusCycler.focusNext(),this._focusCycler.next!==this._focusCycler.focusables.get(this._focusCycler.current)&&n.stop()}),this.listenTo(e.focusCycler,"backwardCycle",n=>{this._focusCycler.focusPrevious(),this._focusCycler.previous!==this._focusCycler.focusables.get(this._focusCycler.current)&&n.stop()}))})}_createCloseButton(){const t=new at(this.locale),e=this.locale.t;return t.set({label:e("Close"),tooltip:!0,icon:Fh}),t.on("execute",()=>this.fire("close",{source:"closeButton"})),t}}Mi.defaultOffset=15;const fg=Mi;function rD(o){o=Object.assign({top:0,bottom:0,left:0,right:0},o);const t=new Q(H.window);return t.top+=o.top,t.height-=o.top,t.bottom-=o.bottom,t.height-=o.bottom,t.left+=o.left,t.right-=o.right,t.width-=o.left+o.right,t}var mg=P(4460),oa={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};oa.insert="head",oa.singleton=!0,R()(mg.Z,oa),mg.Z.locals;const pg=Tn("px"),kg=H.document.body,sD={top:-99999,left:-99999,name:"arrowless",config:{withArrow:!1}};class ce extends Z{constructor(t){super(t);const e=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",void 0),this._pinWhenIsVisibleCallback=null,this.content=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-balloon-panel",e.to("position",n=>`ck-balloon-panel_${n}`),e.if("isVisible","ck-balloon-panel_visible"),e.if("withArrow","ck-balloon-panel_with-arrow"),e.to("class")],style:{top:e.to("top",pg),left:e.to("left",pg)}},children:this.content})}show(){this.isVisible=!0}hide(){this.isVisible=!1}attachTo(t){this.show();const e=ce.defaultPositions,n=Object.assign({},{element:this.element,positions:[e.southArrowNorth,e.southArrowNorthMiddleWest,e.southArrowNorthMiddleEast,e.southArrowNorthWest,e.southArrowNorthEast,e.northArrowSouth,e.northArrowSouthMiddleWest,e.northArrowSouthMiddleEast,e.northArrowSouthWest,e.northArrowSouthEast,e.viewportStickyNorth],limiter:kg,fitInViewport:!0},t),i=ce._getOptimalPosition(n)||sD,r=parseInt(i.left),s=parseInt(i.top),a=i.name,c=i.config||{},{withArrow:l=!0}=c;this.top=s,this.left=r,this.position=a,this.withArrow=l}pin(t){this.unpin(),this._pinWhenIsVisibleCallback=()=>{this.isVisible?this._startPinning(t):this._stopPinning()},this._startPinning(t),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(t){this.attachTo(t);const e=ia(t.target),n=t.limiter?ia(t.limiter):kg;this.listenTo(H.document,"scroll",(i,r)=>{const s=r.target,a=e&&s.contains(e),c=n&&s.contains(n);(a||c||!e||!n)&&this.attachTo(t)},{useCapture:!0}),this.listenTo(H.window,"resize",()=>{this.attachTo(t)})}_stopPinning(){this.stopListening(H.document,"scroll"),this.stopListening(H.window,"resize")}}ce.arrowSideOffset=25,ce.arrowHeightOffset=10,ce.stickyVerticalOffset=20,ce._getOptimalPosition=Br,ce.defaultPositions=bg();const Fn=ce;function ia(o){return Xe(o)?o:Xo(o)?o.commonAncestorContainer:typeof o=="function"?ia(o()):null}function bg(o={}){const{sideOffset:t=ce.arrowSideOffset,heightOffset:e=ce.arrowHeightOffset,stickyVerticalOffset:n=ce.stickyVerticalOffset,config:i}=o;return{northWestArrowSouthWest:(a,c)=>({top:r(a,c),left:a.left-t,name:"arrow_sw",...i&&{config:i}}),northWestArrowSouthMiddleWest:(a,c)=>({top:r(a,c),left:a.left-c.width*.25-t,name:"arrow_smw",...i&&{config:i}}),northWestArrowSouth:(a,c)=>({top:r(a,c),left:a.left-c.width/2,name:"arrow_s",...i&&{config:i}}),northWestArrowSouthMiddleEast:(a,c)=>({top:r(a,c),left:a.left-c.width*.75+t,name:"arrow_sme",...i&&{config:i}}),northWestArrowSouthEast:(a,c)=>({top:r(a,c),left:a.left-c.width+t,name:"arrow_se",...i&&{config:i}}),northArrowSouthWest:(a,c)=>({top:r(a,c),left:a.left+a.width/2-t,name:"arrow_sw",...i&&{config:i}}),northArrowSouthMiddleWest:(a,c)=>({top:r(a,c),left:a.left+a.width/2-c.width*.25-t,name:"arrow_smw",...i&&{config:i}}),northArrowSouth:(a,c)=>({top:r(a,c),left:a.left+a.width/2-c.width/2,name:"arrow_s",...i&&{config:i}}),northArrowSouthMiddleEast:(a,c)=>({top:r(a,c),left:a.left+a.width/2-c.width*.75+t,name:"arrow_sme",...i&&{config:i}}),northArrowSouthEast:(a,c)=>({top:r(a,c),left:a.left+a.width/2-c.width+t,name:"arrow_se",...i&&{config:i}}),northEastArrowSouthWest:(a,c)=>({top:r(a,c),left:a.right-t,name:"arrow_sw",...i&&{config:i}}),northEastArrowSouthMiddleWest:(a,c)=>({top:r(a,c),left:a.right-c.width*.25-t,name:"arrow_smw",...i&&{config:i}}),northEastArrowSouth:(a,c)=>({top:r(a,c),left:a.right-c.width/2,name:"arrow_s",...i&&{config:i}}),northEastArrowSouthMiddleEast:(a,c)=>({top:r(a,c),left:a.right-c.width*.75+t,name:"arrow_sme",...i&&{config:i}}),northEastArrowSouthEast:(a,c)=>({top:r(a,c),left:a.right-c.width+t,name:"arrow_se",...i&&{config:i}}),southWestArrowNorthWest:a=>({top:s(a),left:a.left-t,name:"arrow_nw",...i&&{config:i}}),southWestArrowNorthMiddleWest:(a,c)=>({top:s(a),left:a.left-c.width*.25-t,name:"arrow_nmw",...i&&{config:i}}),southWestArrowNorth:(a,c)=>({top:s(a),left:a.left-c.width/2,name:"arrow_n",...i&&{config:i}}),southWestArrowNorthMiddleEast:(a,c)=>({top:s(a),left:a.left-c.width*.75+t,name:"arrow_nme",...i&&{config:i}}),southWestArrowNorthEast:(a,c)=>({top:s(a),left:a.left-c.width+t,name:"arrow_ne",...i&&{config:i}}),southArrowNorthWest:a=>({top:s(a),left:a.left+a.width/2-t,name:"arrow_nw",...i&&{config:i}}),southArrowNorthMiddleWest:(a,c)=>({top:s(a),left:a.left+a.width/2-c.width*.25-t,name:"arrow_nmw",...i&&{config:i}}),southArrowNorth:(a,c)=>({top:s(a),left:a.left+a.width/2-c.width/2,name:"arrow_n",...i&&{config:i}}),southArrowNorthMiddleEast:(a,c)=>({top:s(a),left:a.left+a.width/2-c.width*.75+t,name:"arrow_nme",...i&&{config:i}}),southArrowNorthEast:(a,c)=>({top:s(a),left:a.left+a.width/2-c.width+t,name:"arrow_ne",...i&&{config:i}}),southEastArrowNorthWest:a=>({top:s(a),left:a.right-t,name:"arrow_nw",...i&&{config:i}}),southEastArrowNorthMiddleWest:(a,c)=>({top:s(a),left:a.right-c.width*.25-t,name:"arrow_nmw",...i&&{config:i}}),southEastArrowNorth:(a,c)=>({top:s(a),left:a.right-c.width/2,name:"arrow_n",...i&&{config:i}}),southEastArrowNorthMiddleEast:(a,c)=>({top:s(a),left:a.right-c.width*.75+t,name:"arrow_nme",...i&&{config:i}}),southEastArrowNorthEast:(a,c)=>({top:s(a),left:a.right-c.width+t,name:"arrow_ne",...i&&{config:i}}),westArrowEast:(a,c)=>({top:a.top+a.height/2-c.height/2,left:a.left-c.width-e,name:"arrow_e",...i&&{config:i}}),eastArrowWest:(a,c)=>({top:a.top+a.height/2-c.height/2,left:a.right+e,name:"arrow_w",...i&&{config:i}}),viewportStickyNorth:(a,c,l,d)=>{const u=d||l;return!a.getIntersection(u)||u.height-a.height>n?null:{top:u.top+n,left:a.left+a.width/2-c.width/2,name:"arrowless",config:{withArrow:!1,...i}}}};function r(a,c){return a.top-c.height-e}function s(a){return a.bottom+e}}var wg=P(3888),ra={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};ra.insert="head",ra.singleton=!0,R()(wg.Z,ra),wg.Z.locals;const Ag="ck-tooltip";class Bt extends Kt(){constructor(t){if(super(),this._currentElementWithTooltip=null,this._currentTooltipPosition=null,this._resizeObserver=null,Bt._editors.add(t),Bt._instance)return Bt._instance;Bt._instance=this,this.tooltipTextView=new Z(t.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 Fn(t.locale),this.balloonPanelView.class=Ag,this.balloonPanelView.content.add(this.tooltipTextView),this._pinTooltipDebounced=po(this._pinTooltip,600),this.listenTo(H.document,"mouseenter",this._onEnterOrFocus.bind(this),{useCapture:!0}),this.listenTo(H.document,"mouseleave",this._onLeaveOrBlur.bind(this),{useCapture:!0}),this.listenTo(H.document,"focus",this._onEnterOrFocus.bind(this),{useCapture:!0}),this.listenTo(H.document,"blur",this._onLeaveOrBlur.bind(this),{useCapture:!0}),this.listenTo(H.document,"scroll",this._onScroll.bind(this),{useCapture:!0}),this._watchdogExcluded=!0}destroy(t){const e=t.ui.view&&t.ui.view.body;Bt._editors.delete(t),this.stopListening(t.ui),e&&e.has(this.balloonPanelView)&&e.remove(this.balloonPanelView),Bt._editors.size||(this._unpinTooltip(),this.balloonPanelView.destroy(),this.stopListening(),Bt._instance=null)}static getPositioningFunctions(t){const e=Bt.defaultBalloonPositions;return{s:[e.southArrowNorth,e.southArrowNorthEast,e.southArrowNorthWest],n:[e.northArrowSouth],e:[e.eastArrowWest],w:[e.westArrowEast],sw:[e.southArrowNorthEast],se:[e.southArrowNorthWest]}[t]}_onEnterOrFocus(t,{target:e}){const n=sa(e);n&&n!==this._currentElementWithTooltip&&(this._unpinTooltip(),this._pinTooltipDebounced(n,cD(n)))}_onLeaveOrBlur(t,{target:e,relatedTarget:n}){if(t.name==="mouseleave"){if(!Xe(e)||this._currentElementWithTooltip&&e!==this._currentElementWithTooltip)return;const i=sa(e),r=sa(n);i&&i!==r&&this._unpinTooltip()}else{if(this._currentElementWithTooltip&&e!==this._currentElementWithTooltip)return;this._unpinTooltip()}}_onScroll(t,{target:e}){this._currentElementWithTooltip&&(e.contains(this.balloonPanelView.element)&&e.contains(this._currentElementWithTooltip)||this._unpinTooltip())}_pinTooltip(t,{text:e,position:n,cssClass:i}){const r=Lt(Bt._editors.values()).ui.view.body;r.has(this.balloonPanelView)||r.add(this.balloonPanelView),this.tooltipTextView.text=e,this.balloonPanelView.pin({target:t,positions:Bt.getPositioningFunctions(n)}),this._resizeObserver=new Mr(t,()=>{tn(t)||this._unpinTooltip()}),this.balloonPanelView.class=[Ag,i].filter(s=>s).join(" ");for(const s of Bt._editors)this.listenTo(s.ui,"update",this._updateTooltipPosition.bind(this),{priority:"low"});this._currentElementWithTooltip=t,this._currentTooltipPosition=n}_unpinTooltip(){this._pinTooltipDebounced.cancel(),this.balloonPanelView.unpin();for(const t of Bt._editors)this.stopListening(t.ui,"update");this._currentElementWithTooltip=null,this._currentTooltipPosition=null,this._resizeObserver&&this._resizeObserver.destroy()}_updateTooltipPosition(){if(!tn(this._currentElementWithTooltip)){this._unpinTooltip();return}this.balloonPanelView.pin({target:this._currentElementWithTooltip,positions:Bt.getPositioningFunctions(this._currentTooltipPosition)})}}Bt.defaultBalloonPositions=bg({heightOffset:5,sideOffset:13}),Bt._editors=new Set,Bt._instance=null;const aD=Bt;function sa(o){return Xe(o)?o.closest("[data-cke-tooltip-text]:not([data-cke-tooltip-disabled])"):null}function cD(o){return{text:o.dataset.ckeTooltipText,position:o.dataset.ckeTooltipPosition||"s",cssClass:o.dataset.ckeTooltipClass||""}}var lD="Expected a function";function dD(o,t,e){var n=!0,i=!0;if(typeof o!="function")throw new TypeError(lD);return Ct(e)&&(n="leading"in e?!!e.leading:n,i="trailing"in e?!!e.trailing:i),po(o,t,{leading:n,maxWait:t,trailing:i})}const So=dD,uD=` +`,hD=53,gD=10,fD=50,mD=350,pD="Powered by";class kD extends Kt(){constructor(t){super(),this.editor=t,this._balloonView=null,this._lastFocusedEditableElement=null,this._showBalloonThrottled=So(this._showBalloon.bind(this),50,{leading:!0}),t.on("ready",this._handleEditorReady.bind(this))}destroy(){const t=this._balloonView;t&&(t.unpin(),this._balloonView=null),this._showBalloonThrottled.cancel(),this.stopListening()}_handleEditorReady(){const t=this.editor;!t.config.get("ui.poweredBy.forceVisible")&&F0(t.config.get("licenseKey"))==="VALID"||t.ui.view&&(t.ui.focusTracker.on("change:isFocused",(n,i,r)=>{this._updateLastFocusedEditableElement(),r?this._showBalloon():this._hideBalloon()}),t.ui.focusTracker.on("change:focusedElement",(n,i,r)=>{this._updateLastFocusedEditableElement(),r&&this._showBalloon()}),t.ui.on("update",()=>{this._showBalloonThrottled()}))}_createBalloonView(){const t=this.editor,e=this._balloonView=new Fn,n=_g(t),i=new bD(t.locale,n.label);e.content.add(i),e.set({class:"ck-powered-by-balloon"}),t.ui.view.body.add(e),t.ui.focusTracker.add(e.element),this._balloonView=e}_showBalloon(){if(!this._lastFocusedEditableElement)return;const t=wD(this.editor,this._lastFocusedEditableElement);t&&(this._balloonView||this._createBalloonView(),this._balloonView.pin(t))}_hideBalloon(){this._balloonView&&this._balloonView.unpin()}_updateLastFocusedEditableElement(){const t=this.editor,e=t.ui.focusTracker.isFocused,n=t.ui.focusTracker.focusedElement;if(!e||!n){this._lastFocusedEditableElement=null;return}const i=Array.from(t.ui.getEditableElementsNames()).map(r=>t.ui.getEditableElement(r));i.includes(n)?this._lastFocusedEditableElement=n:this._lastFocusedEditableElement=i[0]}}class bD extends Z{constructor(t,e){super(t);const n=new en,i=this.bindTemplate;n.set({content:uD,isColorInherited:!1}),n.extendTemplate({attributes:{style:{width:hD+"px",height:gD+"px"}}}),this.setTemplate({tag:"div",attributes:{class:["ck","ck-powered-by"],"aria-hidden":!0},children:[{tag:"a",attributes:{href:"https://ckeditor.com/?utm_source=ckeditor&utm_medium=referral&utm_campaign=701Dn000000hVgmIAE_powered_by_ckeditor_logo",target:"_blank",tabindex:"-1"},children:[...e?[{tag:"span",attributes:{class:["ck","ck-powered-by__label"]},children:[e]}]:[],n],on:{dragstart:i.to(r=>r.preventDefault())}}]})}}function wD(o,t){const e=_g(o),n=e.side==="right"?AD(t,e):CD(t,e);return{target:t,positions:[n]}}function AD(o,t){return Cg(o,t,(e,n)=>e.left+e.width-n.width-t.horizontalOffset)}function CD(o,t){return Cg(o,t,e=>e.left+t.horizontalOffset)}function Cg(o,t,e){return(n,i)=>{const r=new Q(o);if(r.widths.regionName===t);r||(r=new yD(this.view.locale),this.view.regionViews.add(r)),r.set({regionName:t,text:e,politeness:n})}}class vD extends Z{constructor(t){super(t),this.regionViews=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-aria-live-announcer"]},children:this.regionViews})}}class yD extends Z{constructor(t){super(t);const e=this.bindTemplate;this.set("regionName",""),this.set("text",""),this.set("politeness",yg.POLITE),this.setTemplate({tag:"div",attributes:{role:"region","data-region":e.to("regionName"),"aria-live":e.to("politeness")},children:[{text:e.to("text")}]})}}class xD extends st(){constructor(t){super(),this.isReady=!1,this._editableElementsMap=new Map,this._focusableToolbarDefinitions=[];const e=t.editing.view;this.editor=t,this.componentFactory=new tD(t),this.focusTracker=new Pt,this.tooltipManager=new aD(t),this.poweredBy=new kD(t),this.ariaLiveAnnouncer=new _D(t),this.set("viewportOffset",this._readViewportOffsetFromConfig()),this.once("ready",()=>{this.isReady=!0}),this.listenTo(e.document,"layoutChanged",this.update.bind(this)),this.listenTo(e,"scrollToTheSelection",this._handleScrollToTheSelection.bind(this)),this._initFocusTracking()}get element(){return null}update(){this.fire("update")}destroy(){this.stopListening(),this.focusTracker.destroy(),this.tooltipManager.destroy(this.editor),this.poweredBy.destroy();for(const t of this._editableElementsMap.values())t.ckeditorInstance=null,this.editor.keystrokes.stopListening(t);this._editableElementsMap=new Map,this._focusableToolbarDefinitions=[]}setEditableElement(t,e){this._editableElementsMap.set(t,e),e.ckeditorInstance||(e.ckeditorInstance=this.editor),this.focusTracker.add(e);const n=()=>{this.editor.editing.view.getDomRoot(t)||this.editor.keystrokes.listenTo(e)};this.isReady?n():this.once("ready",n)}removeEditableElement(t){const e=this._editableElementsMap.get(t);e&&(this._editableElementsMap.delete(t),this.editor.keystrokes.stopListening(e),this.focusTracker.remove(e),e.ckeditorInstance=null)}getEditableElement(t="main"){return this._editableElementsMap.get(t)}getEditableElementsNames(){return this._editableElementsMap.keys()}addToolbar(t,e={}){t.isRendered?(this.focusTracker.add(t.element),this.editor.keystrokes.listenTo(t.element)):t.once("render",()=>{this.focusTracker.add(t.element),this.editor.keystrokes.listenTo(t.element)}),this._focusableToolbarDefinitions.push({toolbarView:t,options:e})}get _editableElements(){return this._editableElementsMap}_readViewportOffsetFromConfig(){const t=this.editor,e=t.config.get("ui.viewportOffset");if(e)return e;const n=t.config.get("toolbar.viewportTopOffset");return n?{top:n}:{top:0}}_initFocusTracking(){const t=this.editor,e=t.editing.view;let n,i;t.keystrokes.set("Alt+F10",(r,s)=>{const a=this.focusTracker.focusedElement;Array.from(this._editableElementsMap.values()).includes(a)&&!Array.from(e.domRoots.values()).includes(a)&&(n=a);const c=this._getCurrentFocusedToolbarDefinition();(!c||!i)&&(i=this._getFocusableCandidateToolbarDefinitions());for(let l=0;l{const a=this._getCurrentFocusedToolbarDefinition();a&&(n?(n.focus(),n=null):t.editing.view.focus(),a.options.afterBlur&&a.options.afterBlur(),s())})}_getFocusableCandidateToolbarDefinitions(){const t=[];for(const e of this._focusableToolbarDefinitions){const{toolbarView:n,options:i}=e;(tn(n.element)||i.beforeFocus)&&t.push(e)}return t.sort((e,n)=>xg(e)-xg(n)),t}_getCurrentFocusedToolbarDefinition(){for(const t of this._focusableToolbarDefinitions)if(t.toolbarView.element&&t.toolbarView.element.contains(this.focusTracker.focusedElement))return t;return null}_focusFocusableCandidateToolbar(t){const{toolbarView:e,options:{beforeFocus:n}}=t;return n&&n(),tn(e.element)?(e.focus(),!0):!1}_handleScrollToTheSelection(t,e){const n={top:0,bottom:0,left:0,right:0,...this.viewportOffset};e.viewportOffset.top+=n.top,e.viewportOffset.bottom+=n.bottom,e.viewportOffset.left+=n.left,e.viewportOffset.right+=n.right}}function xg(o){const{toolbarView:t,options:e}=o;let n=10;return tn(t.element)&&n--,e.isContextual&&n--,n}var Eg=P(9847),ca={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};ca.insert="head",ca.singleton=!0,R()(Eg.Z,ca),Eg.Z.locals;class ED extends Z{constructor(t){super(t),this.body=new iv(t)}render(){super.render(),this.body.attachToDom()}destroy(){return this.body.detachFromDom(),super.destroy()}}class DD extends ED{constructor(t){super(t),this.top=this.createCollection(),this.main=this.createCollection(),this._voiceLabelView=this._createVoiceLabel(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-reset","ck-editor","ck-rounded-corners"],role:"application",dir:t.uiLanguageDirection,lang:t.uiLanguage,"aria-labelledby":this._voiceLabelView.id},children:[this._voiceLabelView,{tag:"div",attributes:{class:["ck","ck-editor__top","ck-reset_all"],role:"presentation"},children:this.top},{tag:"div",attributes:{class:["ck","ck-editor__main"],role:"presentation"},children:this.main}]})}_createVoiceLabel(){const t=this.t,e=new $r;return e.text=t("Rich Text Editor"),e.extendTemplate({attributes:{class:"ck-voice-label"}}),e}}class SD extends Z{constructor(t,e,n){super(t),this.name=null,this.setTemplate({tag:"div",attributes:{class:["ck","ck-content","ck-editor__editable","ck-rounded-corners"],lang:t.contentLanguage,dir:t.contentLanguageDirection}}),this.set("isFocused",!1),this._editableElement=n,this._hasExternalElement=!!this._editableElement,this._editingView=e}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()}get hasExternalElement(){return this._hasExternalElement}_updateIsFocusedClasses(){const t=this._editingView;t.isRenderingInProgress?n(this):e(this);function e(i){t.change(r=>{const s=t.document.getRoot(i.name);r.addClass(i.isFocused?"ck-focused":"ck-blurred",s),r.removeClass(i.isFocused?"ck-blurred":"ck-focused",s)})}function n(i){t.once("change:isRenderingInProgress",(r,s,a)=>{a?n(i):e(i)})}}}class TD extends SD{constructor(t,e,n,i={}){super(t,e,n);const r=t.t;this.extendTemplate({attributes:{role:"textbox",class:"ck-editor__editable_inline"}}),this._generateLabel=i.label||(()=>r("Editor editing area: %0",this.name))}render(){super.render();const t=this._editingView;t.change(e=>{const n=t.document.getRoot(this.name);e.setAttribute("aria-label",this._generateLabel(this),n)})}}class Dg extends ai{static get pluginName(){return"Notification"}init(){this.on("show:warning",(t,e)=>{window.alert(e.message)},{priority:"lowest"})}showSuccess(t,e={}){this._showNotification({message:t,type:"success",namespace:e.namespace,title:e.title})}showInfo(t,e={}){this._showNotification({message:t,type:"info",namespace:e.namespace,title:e.title})}showWarning(t,e={}){this._showNotification({message:t,type:"warning",namespace:e.namespace,title:e.title})}_showNotification(t){const e=t.namespace?`show:${t.type}:${t.namespace}`:`show:${t.type}`;this.fire(e,{message:t.message,type:t.type,title:t.title||""})}}class la extends st(){constructor(t,e){super(),e&&Tu(this,e),t&&this.set(t)}}var Sg=P(7592),da={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};da.insert="head",da.singleton=!0,R()(Sg.Z,da),Sg.Z.locals;var Tg=P(6356),ua={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};ua.insert="head",ua.singleton=!0,R()(Tg.Z,ua),Tg.Z.locals;const Bi=Tn("px");class Ni extends L{static get pluginName(){return"ContextualBalloon"}constructor(t){super(t),this._viewToStack=new Map,this._idToStack=new Map,this._view=null,this._rotatorView=null,this._fakePanelsView=null,this.positionLimiter=()=>{const e=this.editor.editing.view,i=e.document.selection.editableElement;return i?e.domConverter.mapViewToDom(i.root):null},this.set("visibleView",null),this.set("_numberOfStacks",0),this.set("_singleViewMode",!1)}destroy(){super.destroy(),this._view&&this._view.destroy(),this._rotatorView&&this._rotatorView.destroy(),this._fakePanelsView&&this._fakePanelsView.destroy()}get view(){return this._view||this._createPanelView(),this._view}hasView(t){return Array.from(this._viewToStack.keys()).includes(t)}add(t){if(this._view||this._createPanelView(),this.hasView(t.view))throw new b("contextualballoon-add-view-exist",[this,t]);const e=t.stackId||"main";if(!this._idToStack.has(e)){this._idToStack.set(e,new Map([[t.view,t]])),this._viewToStack.set(t.view,this._idToStack.get(e)),this._numberOfStacks=this._idToStack.size,(!this._visibleStack||t.singleViewMode)&&this.showStack(e);return}const n=this._idToStack.get(e);t.singleViewMode&&this.showStack(e),n.set(t.view,t),this._viewToStack.set(t.view,n),n===this._visibleStack&&this._showView(t)}remove(t){if(!this.hasView(t))throw new b("contextualballoon-remove-view-not-exist",[this,t]);const e=this._viewToStack.get(t);this._singleViewMode&&this.visibleView===t&&(this._singleViewMode=!1),this.visibleView===t&&(e.size===1?this._idToStack.size>1?this._showNextStack():(this.view.hide(),this.visibleView=null,this._rotatorView.hideView()):this._showView(Array.from(e.values())[e.size-2])),e.size===1?(this._idToStack.delete(this._getStackId(e)),this._numberOfStacks=this._idToStack.size):e.delete(t),this._viewToStack.delete(t)}updatePosition(t){t&&(this._visibleStack.get(this.visibleView).position=t),this.view.pin(this._getBalloonPosition()),this._fakePanelsView.updatePosition()}showStack(t){this.visibleStack=t;const e=this._idToStack.get(t);if(!e)throw new b("contextualballoon-showstack-stack-not-exist",this);this._visibleStack!==e&&this._showView(Array.from(e.values()).pop())}_createPanelView(){this._view=new Fn(this.editor.locale),this.editor.ui.view.body.add(this._view),this.editor.ui.focusTracker.add(this._view.element),this._rotatorView=this._createRotatorView(),this._fakePanelsView=this._createFakePanelsView()}get _visibleStack(){return this._viewToStack.get(this.visibleView)}_getStackId(t){return Array.from(this._idToStack.entries()).find(n=>n[1]===t)[0]}_showNextStack(){const t=Array.from(this._idToStack.values());let e=t.indexOf(this._visibleStack)+1;t[e]||(e=0),this.showStack(this._getStackId(t[e]))}_showPrevStack(){const t=Array.from(this._idToStack.values());let e=t.indexOf(this._visibleStack)-1;t[e]||(e=t.length-1),this.showStack(this._getStackId(t[e]))}_createRotatorView(){const t=new ID(this.editor.locale),e=this.editor.locale.t;return this.view.content.add(t),t.bind("isNavigationVisible").to(this,"_numberOfStacks",this,"_singleViewMode",(n,i)=>!i&&n>1),t.on("change:isNavigationVisible",()=>this.updatePosition(),{priority:"low"}),t.bind("counter").to(this,"visibleView",this,"_numberOfStacks",(n,i)=>{if(i<2)return"";const r=Array.from(this._idToStack.values()).indexOf(this._visibleStack)+1;return e("%0 of %1",[r,i])}),t.buttonNextView.on("execute",()=>{t.focusTracker.isFocused&&this.editor.editing.view.focus(),this._showNextStack()}),t.buttonPrevView.on("execute",()=>{t.focusTracker.isFocused&&this.editor.editing.view.focus(),this._showPrevStack()}),t}_createFakePanelsView(){const t=new MD(this.editor.locale,this.view);return t.bind("numberOfPanels").to(this,"_numberOfStacks",this,"_singleViewMode",(e,n)=>!n&&e>=2?Math.min(e-1,2):0),t.listenTo(this.view,"change:top",()=>t.updatePosition()),t.listenTo(this.view,"change:left",()=>t.updatePosition()),this.editor.ui.view.body.add(t),t}_showView({view:t,balloonClassName:e="",withArrow:n=!0,singleViewMode:i=!1}){this.view.class=e,this.view.withArrow=n,this._rotatorView.showView(t),this.visibleView=t,this.view.pin(this._getBalloonPosition()),this._fakePanelsView.updatePosition(),i&&(this._singleViewMode=!0)}_getBalloonPosition(){let t=Array.from(this._visibleStack.values()).pop().position;return t&&(t.limiter||(t=Object.assign({},t,{limiter:this.positionLimiter})),t=Object.assign({},t,{viewportOffsetConfig:this.editor.ui.viewportOffset})),t}}class ID extends Z{constructor(t){super(t);const e=t.t,n=this.bindTemplate;this.set("isNavigationVisible",!0),this.focusTracker=new Pt,this.buttonPrevView=this._createButtonView(e("Previous"),J.previousArrow),this.buttonNextView=this._createButtonView(e("Next"),J.nextArrow),this.content=this.createCollection(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-balloon-rotator"],"z-index":"-1"},children:[{tag:"div",attributes:{class:["ck-balloon-rotator__navigation",n.to("isNavigationVisible",i=>i?"":"ck-hidden")]},children:[this.buttonPrevView,{tag:"span",attributes:{class:["ck-balloon-rotator__counter"]},children:[{text:n.to("counter")}]},this.buttonNextView]},{tag:"div",attributes:{class:"ck-balloon-rotator__content"},children:this.content}]})}render(){super.render(),this.focusTracker.add(this.element)}destroy(){super.destroy(),this.focusTracker.destroy()}showView(t){this.hideView(),this.content.add(t)}hideView(){this.content.clear()}_createButtonView(t,e){const n=new at(this.locale);return n.set({label:t,icon:e,tooltip:!0}),n}}class MD extends Z{constructor(t,e){super(t);const n=this.bindTemplate;this.set("top",0),this.set("left",0),this.set("height",0),this.set("width",0),this.set("numberOfPanels",0),this.content=this.createCollection(),this._balloonPanelView=e,this.setTemplate({tag:"div",attributes:{class:["ck-fake-panel",n.to("numberOfPanels",i=>i?"":"ck-hidden")],style:{top:n.to("top",Bi),left:n.to("left",Bi),width:n.to("width",Bi),height:n.to("height",Bi)}},children:this.content}),this.on("change:numberOfPanels",(i,r,s,a)=>{s>a?this._addPanels(s-a):this._removePanels(a-s),this.updatePosition()})}_addPanels(t){for(;t--;){const e=new Z;e.setTemplate({tag:"div"}),this.content.add(e),this.registerChild(e)}}_removePanels(t){for(;t--;){const e=this.content.last;this.content.remove(e),this.deregisterChild(e),e.destroy()}}updatePosition(){if(this.numberOfPanels){const{top:t,left:e}=this._balloonPanelView,{width:n,height:i}=new Q(this._balloonPanelView.element);Object.assign(this,{top:t,left:e,width:n,height:i})}}}var Ig=P(3707),ha={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};ha.insert="head",ha.singleton=!0,R()(Ig.Z,ha),Ig.Z.locals;const Vn=Tn("px");class BD extends Z{constructor(t){super(t);const e=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("_isStickyToTheBottomOfLimiter",!1),this.set("_stickyTopOffset",null),this.set("_stickyBottomOffset",null),this.content=this.createCollection(),this._contentPanelPlaceholder=new re({tag:"div",attributes:{class:["ck","ck-sticky-panel__placeholder"],style:{display:e.to("isSticky",n=>n?"block":"none"),height:e.to("isSticky",n=>n?Vn(this._contentPanelRect.height):null)}}}).render(),this.contentPanelElement=new re({tag:"div",attributes:{class:["ck","ck-sticky-panel__content",e.if("isSticky","ck-sticky-panel__content_sticky"),e.if("_isStickyToTheBottomOfLimiter","ck-sticky-panel__content_sticky_bottom-limit")],style:{width:e.to("isSticky",n=>n?Vn(this._contentPanelPlaceholder.getBoundingClientRect().width):null),top:e.to("_stickyTopOffset",n=>n&&Vn(n)),bottom:e.to("_stickyBottomOffset",n=>n&&Vn(n)),marginLeft:e.to("_marginLeft")}},children:this.content}).render(),this.setTemplate({tag:"div",attributes:{class:["ck","ck-sticky-panel"]},children:[this._contentPanelPlaceholder,this.contentPanelElement]})}render(){super.render(),this.checkIfShouldBeSticky(),this.listenTo(H.document,"scroll",()=>{this.checkIfShouldBeSticky()},{useCapture:!0}),this.listenTo(this,"change:isActive",()=>{this.checkIfShouldBeSticky()})}checkIfShouldBeSticky(){if(!this.limiterElement||!this.isActive){this._unstick();return}const t=new Q(this.limiterElement);let e=t.getVisible();if(e){const n=new Q(H.window);n.top+=this.viewportTopOffset,n.height-=this.viewportTopOffset,e=e.getIntersection(n)}if(e&&t.tope.bottom){const i=Math.max(t.bottom-e.bottom,0)+this.limiterBottomOffset;t.bottom-i>t.top+this._contentPanelRect.height?this._stickToBottomOfLimiter(i):this._unstick()}else this._contentPanelRect.height+this.limiterBottomOffset{this.reset(),this.focus(),this.fire("reset")}),this.resetButtonView.bind("isVisible").to(this.fieldView,"isEmpty",r=>!r),this.fieldWrapperChildren.add(this.resetButtonView),this.extendTemplate({attributes:{class:"ck-search__query_with-reset"}}))}reset(){this.fieldView.reset(),this._viewConfig.showResetButton&&(this.resetButtonView.isVisible=!1)}}class zD extends Z{constructor(){super();const t=this.bindTemplate;this.set({isVisible:!1,primaryText:"",secondaryText:""}),this.setTemplate({tag:"div",attributes:{class:["ck","ck-search__info",t.if("isVisible","ck-hidden",e=>!e)],tabindex:-1},children:[{tag:"span",children:[{text:[t.to("primaryText")]}]},{tag:"span",children:[{text:[t.to("secondaryText")]}]}]})}focus(){this.element.focus()}}class LD extends Z{constructor(t){super(t),this.children=this.createCollection(),this.focusTracker=new Pt,this.setTemplate({tag:"div",attributes:{class:["ck","ck-search__results"],tabindex:-1},children:this.children}),this._focusCycler=new se({focusables:this.children,focusTracker:this.focusTracker})}render(){super.render();for(const t of this.children)this.focusTracker.add(t.element)}focus(){this._focusCycler.focusFirst()}focusFirst(){this._focusCycler.focusFirst()}focusLast(){this._focusCycler.focusLast()}}var Mg=/[\\^$.*+?()[\]{}|]/g,PD=RegExp(Mg.source);function OD(o){return o=is(o),o&&PD.test(o)?o.replace(Mg,"\\$&"):o}const Bg=OD;var Ng=P(9332),ga={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};ga.insert="head",ga.singleton=!0,R()(Ng.Z,ga),Ng.Z.locals;class RD extends Z{constructor(t,e){super(t),this._config=e,this.filteredView=e.filteredView,this.queryView=this._createSearchTextQueryView(),this.focusTracker=new Pt,this.keystrokes=new Gt,this.resultsView=new LD(t),this.children=this.createCollection(),this.focusableChildren=this.createCollection([this.queryView,this.resultsView]),this.set("isEnabled",!0),this.set("resultsCount",0),this.set("totalItemsCount",0),e.infoView&&e.infoView.instance?this.infoView=e.infoView.instance:(this.infoView=new zD,this._enableDefaultInfoViewBehavior(),this.on("render",()=>{this.search("")})),this.resultsView.children.addMany([this.infoView,this.filteredView]),this.focusCycler=new se({focusables:this.focusableChildren,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.on("search",(n,{resultsCount:i,totalItemsCount:r})=>{this.resultsCount=i,this.totalItemsCount=r}),this.setTemplate({tag:"div",attributes:{class:["ck","ck-search",e.class||null],tabindex:"-1"},children:this.children})}render(){super.render(),this.children.addMany([this.queryView,this.resultsView]);const t=e=>e.stopPropagation();for(const e of this.focusableChildren)this.focusTracker.add(e.element);this.keystrokes.listenTo(this.element),this.keystrokes.set("arrowright",t),this.keystrokes.set("arrowleft",t),this.keystrokes.set("arrowup",t),this.keystrokes.set("arrowdown",t)}focus(){this.queryView.focus()}reset(){this.queryView.reset(),this.search("")}search(t){const e=t?new RegExp(Bg(t),"ig"):null,n=this.filteredView.filter(e);this.fire("search",{query:t,...n})}_createSearchTextQueryView(){const t=new ND(this.locale,this._config.queryView);return this.listenTo(t.fieldView,"input",()=>{this.search(t.fieldView.element.value)}),t.on("reset",()=>this.reset()),t.bind("isEnabled").to(this),t}_enableDefaultInfoViewBehavior(){const t=this.locale.t,e=this.infoView;this.on("search",(i,r)=>{if(r.resultsCount)e.set({isVisible:!1});else{const s=this._config.infoView&&this._config.infoView.text;let a,c;r.totalItemsCount?s&&s.notFound?(a=s.notFound.primary,c=s.notFound.secondary):(a=t("No results found"),c=""):s&&s.noSearchableItems?(a=s.noSearchableItems.primary,c=s.noSearchableItems.secondary):(a=t("No searchable items"),c=""),e.set({primaryText:n(a,r),secondaryText:n(c,r),isVisible:!0})}});function n(i,{query:r,resultsCount:s,totalItemsCount:a}){return typeof i=="function"?i(r,s,a):i}}}var zg=P(4029),fa={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};fa.insert="head",fa.singleton=!0,R()(zg.Z,fa),zg.Z.locals;class To extends RD{constructor(t,e){super(t,e),this._config=e;const n=Tn("px");this.extendTemplate({attributes:{class:["ck-autocomplete"]}});const i=this.resultsView.bindTemplate;this.resultsView.set("isVisible",!1),this.resultsView.set("_position","s"),this.resultsView.set("_width",0),this.resultsView.extendTemplate({attributes:{class:[i.if("isVisible","ck-hidden",r=>!r),i.to("_position",r=>`ck-search__results_${r}`)],style:{width:i.to("_width",n)}}}),this.focusTracker.on("change:isFocused",(r,s,a)=>{this._updateResultsVisibility(),a?this.resultsView.element.scrollTop=0:e.resetOnBlur&&this.queryView.reset()}),this.on("search",()=>{this._updateResultsVisibility(),this._updateResultsViewWidthAndPosition()}),this.keystrokes.set("esc",(r,s)=>{this.resultsView.isVisible&&(this.queryView.focus(),this.resultsView.isVisible=!1,s())}),this.listenTo(H.document,"scroll",()=>{this._updateResultsViewWidthAndPosition()}),this.on("change:isEnabled",()=>{this._updateResultsVisibility()}),this.filteredView.on("execute",(r,{value:s})=>{this.focus(),this.reset(),this.queryView.fieldView.value=this.queryView.fieldView.element.value=s,this.resultsView.isVisible=!1}),this.resultsView.on("change:isVisible",()=>{this._updateResultsViewWidthAndPosition()})}_updateResultsViewWidthAndPosition(){if(!this.resultsView.isVisible)return;this.resultsView._width=new Q(this.queryView.fieldView.element).width;const t=To._getOptimalPosition({element:this.resultsView.element,target:this.queryView.element,fitInViewport:!0,positions:To.defaultResultsPositions});this.resultsView._position=t?t.name:"s"}_updateResultsVisibility(){const t=typeof this._config.queryMinChars>"u"?0:this._config.queryMinChars,e=this.queryView.fieldView.element.value.length;this.resultsView.isVisible=this.focusTracker.isFocused&&this.isEnabled&&e>=t}}To.defaultResultsPositions=[o=>({top:o.bottom,left:o.left,name:"s"}),(o,t)=>({top:o.top-t.height,left:o.left,name:"n"})],To._getOptimalPosition=Br;var Lg=P(4746),ma={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};ma.insert="head",ma.singleton=!0,R()(Lg.Z,ma),Lg.Z.locals;var Pg=P(6446),pa={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};pa.insert="head",pa.singleton=!0,R()(Pg.Z,pa),Pg.Z.locals;var Og=P(4176),ka={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};ka.insert="head",ka.singleton=!0,R()(Og.Z,ka),Og.Z.locals;class jD extends xD{constructor(t,e){super(t),this.view=e,this._toolbarConfig=Vd(t.config.get("toolbar")),this._elementReplacer=new il,this.listenTo(t.editing.view,"scrollToTheSelection",this._handleScrollToTheSelectionWithStickyPanel.bind(this))}get element(){return this.view.element}init(t){const e=this.editor,n=this.view,i=e.editing.view,r=n.editable,s=i.document.getRoot();r.name=s.rootName,n.render();const a=r.element;this.setEditableElement(r.name,a),n.editable.bind("isFocused").to(this.focusTracker),i.attachDomRoot(a),t&&this._elementReplacer.replace(t,this.element),this._initPlaceholder(),this._initToolbar(),this._initDialogPluginIntegration(),this.fire("ready")}destroy(){super.destroy();const t=this.view,e=this.editor.editing.view;this._elementReplacer.restore(),e.detachDomRoot(t.editable.name),t.destroy()}_initToolbar(){const t=this.view;t.stickyPanel.bind("isActive").to(this.focusTracker,"isFocused"),t.stickyPanel.limiterElement=t.element,t.stickyPanel.bind("viewportTopOffset").to(this,"viewportOffset",({top:e})=>e||0),t.toolbar.fillFromConfig(this._toolbarConfig,this.componentFactory),this.addToolbar(t.toolbar)}_initPlaceholder(){const t=this.editor,e=t.editing.view,n=e.document.getRoot(),i=t.sourceElement;let r;const s=t.config.get("placeholder");s&&(r=typeof s=="string"?s:s[this.view.editable.name]),!r&&i&&i.tagName.toLowerCase()==="textarea"&&(r=i.getAttribute("placeholder")),r&&(n.placeholder=r),Kd({view:e,element:n,isDirectHost:!1,keepOnFocus:!0})}_handleScrollToTheSelectionWithStickyPanel(t,e,n){const i=this.view.stickyPanel;if(i.isSticky){const r=new Q(i.element).height;e.viewportOffset.top+=r}else{const r=()=>{this.editor.editing.view.scrollToTheSelection(n)};this.listenTo(i,"change:isSticky",r),setTimeout(()=>{this.stopListening(i,"change:isSticky",r)},20)}}_initDialogPluginIntegration(){if(!this.editor.plugins.has("Dialog"))return;const t=this.view.stickyPanel,e=this.editor.plugins.get("Dialog");e.on("show",()=>{const n=e.view;n.on("moveTo",(i,r)=>{if(!t.isSticky||n.wasMoved)return;const s=new Q(t.contentPanelElement);r[1]{const n="error"in e?e.error:e.reason;n instanceof Error&&this._handleError(n,e)},this._listeners={},!this._restart)throw new Error("The Watchdog class was split into the abstract `Watchdog` class and the `EditorWatchdog` class. Please, use `EditorWatchdog` if you have used the `Watchdog` class previously.")}destroy(){this._stopErrorHandling(),this._listeners={}}on(t,e){this._listeners[t]||(this._listeners[t]=[]),this._listeners[t].push(e)}off(t,e){this._listeners[t]=this._listeners[t].filter(n=>n!==e)}_fire(t,...e){const n=this._listeners[t]||[];for(const i of n)i.apply(this,[null,...e])}_startErrorHandling(){window.addEventListener("error",this._boundErrorHandler),window.addEventListener("unhandledrejection",this._boundErrorHandler)}_stopErrorHandling(){window.removeEventListener("error",this._boundErrorHandler),window.removeEventListener("unhandledrejection",this._boundErrorHandler)}_handleError(t,e){if(this._shouldReactToError(t)){this.crashes.push({message:t.message,stack:t.stack,filename:e instanceof ErrorEvent?e.filename:void 0,lineno:e instanceof ErrorEvent?e.lineno:void 0,colno:e instanceof ErrorEvent?e.colno:void 0,date:this._now()});const n=this._shouldRestart();this.state="crashed",this._fire("stateChange"),this._fire("error",{error:t,causesRestart:n}),n?this._restart():(this.state="crashedPermanently",this._fire("stateChange"))}}_shouldReactToError(t){return t.is&&t.is("CKEditorError")&&t.context!==void 0&&t.context!==null&&this.state==="ready"&&this._isErrorComingFromThisItem(t)}_shouldRestart(){if(this.crashes.length<=this._crashNumberLimit)return!0;const t=this.crashes[this.crashes.length-1].date,e=this.crashes[this.crashes.length-1-this._crashNumberLimit].date;return(t-e)/this._crashNumberLimit>this._minimumNonErrorTimePeriod}}function wa(o,t=new Set){const e=[o],n=new Set;let i=0;for(;e.length>i;){const r=e[i++];if(!(n.has(r)||!VD(r)||t.has(r)))if(n.add(r),Symbol.iterator in r)try{for(const s of r)e.push(s)}catch{}else for(const s in r)s!=="defaultValue"&&e.push(r[s])}return n}function VD(o){const t=Object.prototype.toString.call(o),e=typeof o;return!(e==="number"||e==="boolean"||e==="string"||e==="symbol"||e==="function"||t==="[object Date]"||t==="[object RegExp]"||t==="[object Module]"||o===void 0||o===null||o._watchdogExcluded||o instanceof EventTarget||o instanceof Event)}function Fg(o,t,e=new Set){if(o===t&&HD(o))return!0;const n=wa(o,e),i=wa(t,e);for(const r of n)if(i.has(r))return!0;return!1}function HD(o){return typeof o=="object"&&o!==null}class Vg extends jg{constructor(t,e={}){super(e),this._editor=null,this._initUsingData=!0,this._editables={},this._throttledSave=So(this._save.bind(this),typeof e.saveInterval=="number"?e.saveInterval:5e3),t&&(this._creator=(n,i)=>t.create(n,i)),this._destructor=n=>n.destroy()}get editor(){return this._editor}get _item(){return this._editor}setCreator(t){this._creator=t}setDestructor(t){this._destructor=t}_restart(){return Promise.resolve().then(()=>(this.state="initializing",this._fire("stateChange"),this._destroy())).catch(t=>{}).then(()=>{const t={},e=[],n=this._config.rootsAttributes||{},i={};for(const[s,a]of Object.entries(this._data.roots))a.isLoaded?(t[s]="",i[s]=n[s]||{}):e.push(s);const r={...this._config,extraPlugins:this._config.extraPlugins||[],lazyRoots:e,rootsAttributes:i,_watchdogInitialData:this._data};return delete r.initialData,r.extraPlugins.push(UD),this._initUsingData?this.create(t,r,r.context):Xe(this._elementOrData)?this.create(this._elementOrData,r,r.context):this.create(this._editables,r,r.context)}).then(()=>{this._fire("restart")})}create(t=this._elementOrData,e=this._config,n){return Promise.resolve().then(()=>(super._startErrorHandling(),this._elementOrData=t,this._initUsingData=typeof t=="string"||Object.keys(t).length>0&&typeof Object.values(t)[0]=="string",this._config=this._cloneEditorConfiguration(e)||{},this._config.context=n,this._creator(t,this._config))).then(i=>{this._editor=i,i.model.document.on("change:data",this._throttledSave),this._lastDocumentVersion=i.model.document.version,this._data=this._getData(),this._initUsingData||(this._editables=this._getEditables()),this.state="ready",this._fire("stateChange")})}destroy(){return Promise.resolve().then(()=>(this.state="destroyed",this._fire("stateChange"),super.destroy(),this._destroy()))}_destroy(){return Promise.resolve().then(()=>{this._stopErrorHandling(),this._throttledSave.cancel();const t=this._editor;return this._editor=null,t.model.document.off("change:data",this._throttledSave),this._destructor(t)})}_save(){const t=this._editor.model.document.version;try{this._data=this._getData(),this._initUsingData||(this._editables=this._getEditables()),this._lastDocumentVersion=t}catch{}}_setExcludedProperties(t){this._excludedProps=t}_getData(){const t=this._editor,e=t.model.document.roots.filter(a=>a.isAttached()&&a.rootName!="$graveyard"),{plugins:n}=t,i=n.has("CommentsRepository")&&n.get("CommentsRepository"),r=n.has("TrackChanges")&&n.get("TrackChanges"),s={roots:{},markers:{},commentThreads:JSON.stringify([]),suggestions:JSON.stringify([])};e.forEach(a=>{s.roots[a.rootName]={content:JSON.stringify(Array.from(a.getChildren())),attributes:JSON.stringify(Array.from(a.getAttributes())),isLoaded:a._isLoaded}});for(const a of t.model.markers)a._affectsData&&(s.markers[a.name]={rangeJSON:a.getRange().toJSON(),usingOperation:a._managedUsingOperations,affectsData:a._affectsData});return i&&(s.commentThreads=JSON.stringify(i.getCommentThreads({toJSON:!0,skipNotAttached:!0}))),r&&(s.suggestions=JSON.stringify(r.getSuggestions({toJSON:!0,skipNotAttached:!0}))),s}_getEditables(){const t={};for(const e of this.editor.model.document.getRootNames()){const n=this.editor.ui.getEditableElement(e);n&&(t[e]=n)}return t}_isErrorComingFromThisItem(t){return Fg(this._editor,t.context,this._excludedProps)}_cloneEditorConfiguration(t){return Sr(t,(e,n)=>{if(Xe(e)||n==="context")return e})}}class UD{constructor(t){this.editor=t,this._data=t.config.get("_watchdogInitialData")}init(){this.editor.data.on("init",t=>{t.stop(),this.editor.model.enqueueChange({isUndoable:!1},e=>{this._restoreCollaborationData(),this._restoreEditorData(e)}),this.editor.data.fire("ready")},{priority:1e3-1})}_createNode(t,e){if("name"in e){const n=t.createElement(e.name,e.attributes);if(e.children)for(const i of e.children)n._appendChild(this._createNode(t,i));return n}else return t.createText(e.data,e.attributes)}_restoreEditorData(t){const e=this.editor;Object.entries(this._data.roots).forEach(([n,{content:i,attributes:r}])=>{const s=JSON.parse(i),a=JSON.parse(r),c=e.model.document.getRoot(n);for(const[l,d]of a)t.setAttribute(l,d,c);for(const l of s){const d=this._createNode(t,l);t.insert(d,c,"end")}}),Object.entries(this._data.markers).forEach(([n,i])=>{const{document:r}=e.model,{rangeJSON:{start:s,end:a},...c}=i,l=r.getRoot(s.root),d=t.createPositionFromPath(l,s.path,s.stickiness),u=t.createPositionFromPath(l,a.path,a.stickiness),f=t.createRange(d,u);t.addMarker(n,{range:f,...c})})}_restoreCollaborationData(){const t=JSON.parse(this._data.commentThreads),e=JSON.parse(this._data.suggestions);t.forEach(n=>{const i=this.editor.config.get("collaboration.channelId"),r=this.editor.plugins.get("CommentsRepository");r.hasCommentThread(n.threadId)&&r.getCommentThread(n.threadId).remove(),r.addCommentThread({channelId:i,...n})}),e.forEach(n=>{const i=this.editor.plugins.get("TrackChangesEditing");if(i.hasSuggestion(n.id)){const r=i.getSuggestion(n.id);r.attributes=n.attributes}else i.addSuggestionData(n)})}}const Io=Symbol("MainQueueId");class GD extends jg{constructor(t,e={}){super(e),this._watchdogs=new Map,this._context=null,this._contextProps=new Set,this._actionQueues=new WD,this._watchdogConfig=e,this._creator=n=>t.create(n),this._destructor=n=>n.destroy(),this._actionQueues.onEmpty(()=>{this.state==="initializing"&&(this.state="ready",this._fire("stateChange"))})}setCreator(t){this._creator=t}setDestructor(t){this._destructor=t}get context(){return this._context}create(t={}){return this._actionQueues.enqueue(Io,()=>(this._contextConfig=t,this._create()))}getItem(t){return this._getWatchdog(t)._item}getItemState(t){return this._getWatchdog(t).state}add(t){const e=Hg(t);return Promise.all(e.map(n=>this._actionQueues.enqueue(n.id,()=>{if(this.state==="destroyed")throw new Error("Cannot add items to destroyed watchdog.");if(!this._context)throw new Error("Context was not created yet. You should call the `ContextWatchdog#create()` method first.");let i;if(this._watchdogs.has(n.id))throw new Error(`Item with the given id is already added: '${n.id}'.`);if(n.type==="editor")return i=new Vg(null,this._watchdogConfig),i.setCreator(n.creator),i._setExcludedProperties(this._contextProps),n.destructor&&i.setDestructor(n.destructor),this._watchdogs.set(n.id,i),i.on("error",(r,{error:s,causesRestart:a})=>{this._fire("itemError",{itemId:n.id,error:s}),a&&this._actionQueues.enqueue(n.id,()=>new Promise(c=>{const l=()=>{i.off("restart",l),this._fire("itemRestart",{itemId:n.id}),c()};i.on("restart",l)}))}),i.create(n.sourceElementOrData,n.config,this._context);throw new Error(`Not supported item type: '${n.type}'.`)})))}remove(t){const e=Hg(t);return Promise.all(e.map(n=>this._actionQueues.enqueue(n,()=>{const i=this._getWatchdog(n);return this._watchdogs.delete(n),i.destroy()})))}destroy(){return this._actionQueues.enqueue(Io,()=>(this.state="destroyed",this._fire("stateChange"),super.destroy(),this._destroy()))}_restart(){return this._actionQueues.enqueue(Io,()=>(this.state="initializing",this._fire("stateChange"),this._destroy().catch(t=>{}).then(()=>this._create()).then(()=>this._fire("restart"))))}_create(){return Promise.resolve().then(()=>(this._startErrorHandling(),this._creator(this._contextConfig))).then(t=>(this._context=t,this._contextProps=wa(this._context),Promise.all(Array.from(this._watchdogs.values()).map(e=>(e._setExcludedProperties(this._contextProps),e.create(void 0,void 0,this._context))))))}_destroy(){return Promise.resolve().then(()=>{this._stopErrorHandling();const t=this._context;return this._context=null,this._contextProps=new Set,Promise.all(Array.from(this._watchdogs.values()).map(e=>e.destroy())).then(()=>this._destructor(t))})}_getWatchdog(t){const e=this._watchdogs.get(t);if(!e)throw new Error(`Item with the given id was not registered: ${t}.`);return e}_isErrorComingFromThisItem(t){for(const e of this._watchdogs.values())if(e._isErrorComingFromThisItem(t))return!1;return Fg(this._context,t.context)}}class WD{constructor(){this._onEmptyCallbacks=[],this._queues=new Map,this._activeActions=0}onEmpty(t){this._onEmptyCallbacks.push(t)}enqueue(t,e){const n=t===Io;this._activeActions++,this._queues.get(t)||this._queues.set(t,Promise.resolve());const r=(n?Promise.all(this._queues.values()):Promise.all([this._queues.get(Io),this._queues.get(t)])).then(e),s=r.catch(()=>{});return this._queues.set(t,s),r.finally(()=>{this._activeActions--,this._queues.get(t)===s&&this._activeActions===0&&this._onEmptyCallbacks.forEach(a=>a())})}}function Hg(o){return Array.isArray(o)?o:[o]}class zi extends yi(Ls(_E)){constructor(t,e={}){if(!Li(t)&&e.initialData!==void 0)throw new b("editor-create-initial-data",null);super(e),this.config.get("initialData")===void 0&&this.config.set("initialData",ZD(t)),Li(t)&&(this.sourceElement=t),this.model.document.createRoot();const n=!this.config.get("toolbar.shouldNotGroupWhenFull"),i=new FD(this.locale,this.editing.view,{shouldToolbarGroupWhenFull:n});this.ui=new jD(this,i),vE(this)}destroy(){return this.sourceElement&&this.updateSourceElement(),this.ui.destroy(),super.destroy()}static create(t,e={}){return new Promise(n=>{const i=new this(t,e);n(i.initPlugins().then(()=>i.ui.init(Li(t)?t:null)).then(()=>i.data.init(i.config.get("initialData"))).then(()=>i.fire("ready")).then(()=>i))})}}zi.Context=qd,zi.EditorWatchdog=Vg,zi.ContextWatchdog=GD;const qD=zi;function ZD(o){return Li(o)?g0(o):o}function Li(o){return Xe(o)}class Ug{constructor(t,e=20){this._batch=null,this.model=t,this._size=0,this.limit=e,this._isLocked=!1,this._changeCallback=(n,i)=>{i.isLocal&&i.isUndoable&&i!==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}get size(){return this._size}input(t){this._size+=t,this._size>=this.limit&&this._reset(!0)}get isLocked(){return this._isLocked}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(t=!1){(!this.isLocked||t)&&(this._batch=null,this._size=0)}}class $D extends X{constructor(t,e){super(t),this._buffer=new Ug(t.model,e),this._isEnabledBasedOnSelection=!1}get buffer(){return this._buffer}destroy(){super.destroy(),this._buffer.destroy()}execute(t={}){const e=this.editor.model,n=e.document,i=t.text||"",r=i.length;let s=n.selection;if(t.selection?s=t.selection:t.range&&(s=e.createSelection(t.range)),!e.canEditAt(s))return;const a=t.resultRange;e.enqueueChange(this._buffer.batch,c=>{this._buffer.lock();const l=Array.from(n.selection.getAttributes());e.deleteContent(s),i&&e.insertContent(c.createText(i,l),s),a?c.setSelection(a):s.is("documentSelection")||c.setSelection(s),this._buffer.unlock(),this._buffer.input(r)})}}const Gg=["insertText","insertReplacementText"];class KD extends _e{constructor(t){super(t),this.focusObserver=t.getObserver(wi),g.isAndroid&&Gg.push("insertCompositionText");const e=t.document;e.on("beforeinput",(n,i)=>{if(!this.isEnabled)return;const{data:r,targetRanges:s,inputType:a,domEvent:c}=i;if(!Gg.includes(a))return;this.focusObserver.flush();const l=new zt(e,"insertText");e.fire(l,new Ln(t,c,{text:r,selection:t.createSelection(s)})),l.stop.called&&n.stop()}),e.on("compositionend",(n,{data:i,domEvent:r})=>{!this.isEnabled||g.isAndroid||i&&e.fire("insertText",new Ln(t,r,{text:i,selection:e.selection}))},{priority:"lowest"})}observe(){}stopObserving(){}}class Wg extends L{static get pluginName(){return"Input"}init(){const t=this.editor,e=t.model,n=t.editing.view,i=e.document.selection;n.addObserver(KD);const r=new $D(t,t.config.get("typing.undoStep")||20);t.commands.add("insertText",r),t.commands.add("input",r),this.listenTo(n.document,"insertText",(s,a)=>{n.document.isComposing||a.preventDefault();const{text:c,selection:l,resultRange:d}=a,u=Array.from(l.getRanges()).map(w=>t.editing.mapper.toModelRange(w));let f=c;if(g.isAndroid){const w=Array.from(u[0].getItems()).reduce((S,M)=>S+(M.is("$textProxy")?M.data:""),"");w&&(w.length<=f.length?f.startsWith(w)&&(f=f.substring(w.length),u[0].start=u[0].start.getShiftedBy(w.length)):w.startsWith(f)&&(u[0].start=u[0].start.getShiftedBy(f.length),f=""))}const p={text:f,selection:e.createSelection(u)};d&&(p.resultRange=t.editing.mapper.toModelRange(d)),t.execute("insertText",p),n.scrollToTheSelection()}),g.isAndroid?this.listenTo(n.document,"keydown",(s,a)=>{i.isCollapsed||a.keyCode!=229||!n.document.isComposing||qg(e,r)}):this.listenTo(n.document,"compositionstart",()=>{i.isCollapsed||qg(e,r)})}}function qg(o,t){if(!t.isEnabled)return;const e=t.buffer;e.lock(),o.enqueueChange(e.batch,()=>{o.deleteContent(o.document.selection)}),e.unlock()}class Zg extends X{constructor(t,e){super(t),this.direction=e,this._buffer=new Ug(t.model,t.config.get("typing.undoStep")),this._isEnabledBasedOnSelection=!1}get buffer(){return this._buffer}execute(t={}){const e=this.editor.model,n=e.document;e.enqueueChange(this._buffer.batch,i=>{this._buffer.lock();const r=i.createSelection(t.selection||n.selection);if(!e.canEditAt(r))return;const s=t.sequence||1,a=r.isCollapsed;if(r.isCollapsed&&e.modifySelection(r,{direction:this.direction,unit:t.unit,treatEmojiAsSingleUnit:!0}),this._shouldEntireContentBeReplacedWithParagraph(s)){this._replaceEntireContentWithParagraph(i);return}if(this._shouldReplaceFirstBlockWithParagraph(r,s)){this.editor.execute("paragraph",{selection:r});return}if(r.isCollapsed)return;let c=0;r.getFirstRange().getMinimalFlatRanges().forEach(l=>{c+=cr(l.getWalker({singleCharacters:!0,ignoreElementEnd:!0,shallow:!0}))}),e.deleteContent(r,{doNotResetEntireContent:a,direction:this.direction}),this._buffer.input(c),i.setSelection(r),this._buffer.unlock()})}_shouldEntireContentBeReplacedWithParagraph(t){if(t>1)return!1;const e=this.editor.model,i=e.document.selection,r=e.schema.getLimitElement(i);if(!(i.isCollapsed&&i.containsEntireContent(r))||!e.schema.checkChild(r,"paragraph"))return!1;const a=r.getChild(0);return!(a&&a.is("element","paragraph"))}_replaceEntireContentWithParagraph(t){const e=this.editor.model,i=e.document.selection,r=e.schema.getLimitElement(i),s=t.createElement("paragraph");t.remove(t.createRangeIn(r)),t.insert(s,r),t.setSelection(s,0)}_shouldReplaceFirstBlockWithParagraph(t,e){const n=this.editor.model;if(e>1||this.direction!="backward"||!t.isCollapsed)return!1;const i=t.getFirstPosition(),r=n.schema.getLimitElement(i),s=r.getChild(0);return!(i.parent!=s||!t.containsEntireContent(s)||!n.schema.checkChild(r,"paragraph")||s.name=="paragraph")}}const YD="character",$g="word",QD="codePoint",Ge="selection",Hn="backward",Mo="forward",Kg={deleteContent:{unit:Ge,direction:Hn},deleteContentBackward:{unit:QD,direction:Hn},deleteWordBackward:{unit:$g,direction:Hn},deleteHardLineBackward:{unit:Ge,direction:Hn},deleteSoftLineBackward:{unit:Ge,direction:Hn},deleteContentForward:{unit:YD,direction:Mo},deleteWordForward:{unit:$g,direction:Mo},deleteHardLineForward:{unit:Ge,direction:Mo},deleteSoftLineForward:{unit:Ge,direction:Mo}};class JD extends _e{constructor(t){super(t);const e=t.document;let n=0;e.on("keydown",()=>{n++}),e.on("keyup",()=>{n=0}),e.on("beforeinput",(i,r)=>{if(!this.isEnabled)return;const{targetRanges:s,domEvent:a,inputType:c}=r,l=Kg[c];if(!l)return;const d={direction:l.direction,unit:l.unit,sequence:n};d.unit==Ge&&(d.selectionToRemove=t.createSelection(s[0])),c==="deleteContentBackward"&&(g.isAndroid&&(d.sequence=1),t4(s)&&(d.unit=Ge,d.selectionToRemove=t.createSelection(s)));const u=new Nn(e,"delete",s[0]);e.fire(u,new Ln(t,a,d)),u.stop.called&&i.stop()}),g.isBlink&&XD(this)}observe(){}stopObserving(){}}function XD(o){const t=o.view,e=t.document;let n=null,i=!1;e.on("keydown",(a,{keyCode:c})=>{n=c,i=!1}),e.on("keyup",(a,{keyCode:c,domEvent:l})=>{const d=e.selection,u=o.isEnabled&&c==n&&r(c)&&!d.isCollapsed&&!i;if(n=null,u){const f=d.getFirstRange(),p=new Nn(e,"delete",f),w={unit:Ge,direction:s(c),selectionToRemove:d};e.fire(p,new Ln(t,l,w))}}),e.on("beforeinput",(a,{inputType:c})=>{const l=Kg[c];r(n)&&l&&l.direction==s(n)&&(i=!0)},{priority:"high"}),e.on("beforeinput",(a,{inputType:c,data:l})=>{n==et.delete&&c=="insertText"&&l==""&&a.stop()},{priority:"high"});function r(a){return a==et.backspace||a==et.delete}function s(a){return a==et.backspace?Hn:Mo}}function t4(o){if(o.length!=1||o[0].isCollapsed)return!1;const t=o[0].getWalker({direction:"backward",singleCharacters:!0,ignoreElementEnd:!0});let e=0;for(const{nextPosition:n}of t){if(!n.parent.is("$text"))e++;else{const i=n.parent.data,r=n.offset;if(Pr(i,r)||Or(i,r)||pd(i,r))continue;e++}if(e>1)return!0}return!1}class ze extends L{static get pluginName(){return"Delete"}init(){const t=this.editor,e=t.editing.view,n=e.document,i=t.model.document;e.addObserver(JD),this._undoOnBackspace=!1;const r=new Zg(t,"forward");t.commands.add("deleteForward",r),t.commands.add("forwardDelete",r),t.commands.add("delete",new Zg(t,"backward")),this.listenTo(n,"delete",(s,a)=>{n.isComposing||a.preventDefault();const{direction:c,sequence:l,selectionToRemove:d,unit:u}=a,f=c==="forward"?"deleteForward":"delete",p={sequence:l};if(u=="selection"){const w=Array.from(d.getRanges()).map(S=>t.editing.mapper.toModelRange(S));p.selection=t.model.createSelection(w)}else p.unit=u;t.execute(f,p),e.scrollToTheSelection()},{priority:"low"}),this.editor.plugins.has("UndoEditing")&&(this.listenTo(n,"delete",(s,a)=>{this._undoOnBackspace&&a.direction=="backward"&&a.sequence==1&&a.unit=="codePoint"&&(this._undoOnBackspace=!1,t.execute("undo"),a.preventDefault(),s.stop())},{context:"$capture"}),this.listenTo(i,"change",()=>{this._undoOnBackspace=!1}))}requestUndoOnBackspace(){this.editor.plugins.has("UndoEditing")&&(this._undoOnBackspace=!0)}}class e4 extends L{static get requires(){return[Wg,ze]}static get pluginName(){return"Typing"}}function Yg(o,t){let e=o.start;return{text:Array.from(o.getWalker({ignoreElementEnd:!1})).reduce((i,{item:r})=>r.is("$text")||r.is("$textProxy")?i+r.data:(e=t.createPositionAfter(r),""),""),range:t.createRange(e,o.end)}}class Qg extends st(){constructor(t,e){super(),this.model=t,this.testCallback=e,this._hasMatch=!1,this.set("isEnabled",!0),this.on("change:isEnabled",()=>{this.isEnabled?this._startListening():(this.stopListening(t.document.selection),this.stopListening(t.document))}),this._startListening()}get hasMatch(){return this._hasMatch}_startListening(){const e=this.model.document;this.listenTo(e.selection,"change:range",(n,{directChange:i})=>{if(i){if(!e.selection.isCollapsed){this.hasMatch&&(this.fire("unmatched"),this._hasMatch=!1);return}this._evaluateTextBeforeSelection("selection")}}),this.listenTo(e,"change:data",(n,i)=>{i.isUndo||!i.isLocal||this._evaluateTextBeforeSelection("data",{batch:i})})}_evaluateTextBeforeSelection(t,e={}){const n=this.model,r=n.document.selection,s=n.createRange(n.createPositionAt(r.focus.parent,0),r.focus),{text:a,range:c}=Yg(s,n),l=this.testCallback(a);if(!l&&this.hasMatch&&this.fire("unmatched"),this._hasMatch=!!l,l){const d=Object.assign(e,{text:a,range:c});typeof l=="object"&&Object.assign(d,l),this.fire(`matched:${t}`,d)}}}class Jg extends L{static get pluginName(){return"TwoStepCaretMovement"}constructor(t){super(t),this._isNextGravityRestorationSkipped=!1,this.attributes=new Set,this._overrideUid=null}init(){const t=this.editor,e=t.model,n=t.editing.view,i=t.locale,r=e.document.selection;this.listenTo(n.document,"arrowKey",(s,a)=>{if(!r.isCollapsed||a.shiftKey||a.altKey||a.ctrlKey)return;const c=a.keyCode==et.arrowright,l=a.keyCode==et.arrowleft;if(!c&&!l)return;const d=i.contentLanguageDirection;let u=!1;d==="ltr"&&c||d==="rtl"&&l?u=this._handleForwardMovement(a):u=this._handleBackwardMovement(a),u===!0&&s.stop()},{context:"$text",priority:"highest"}),this.listenTo(r,"change:range",(s,a)=>{if(this._isNextGravityRestorationSkipped){this._isNextGravityRestorationSkipped=!1;return}this._isGravityOverridden&&(!a.directChange&&le(r.getFirstPosition(),this.attributes)||this._restoreGravity())}),this._enableClickingAfterNode(),this._enableInsertContentSelectionAttributesFixer(),this._handleDeleteContentAfterNode()}registerAttribute(t){this.attributes.add(t)}_handleForwardMovement(t){const e=this.attributes,n=this.editor.model,i=n.document.selection,r=i.getFirstPosition();return this._isGravityOverridden||r.isAtStart&&Le(i,e)?!1:le(r,e)?(No(t),Le(i,e)&&le(r,e,!0)?Bo(n,e):this._overrideGravity(),!0):!1}_handleBackwardMovement(t){const e=this.attributes,n=this.editor.model,i=n.document.selection,r=i.getFirstPosition();return this._isGravityOverridden?(No(t),this._restoreGravity(),le(r,e,!0)?Bo(n,e):Pi(n,e,r),!0):r.isAtStart?Le(i,e)?(No(t),Pi(n,e,r),!0):!1:!Le(i,e)&&le(r,e,!0)?(No(t),Pi(n,e,r),!0):Xg(r,e)?r.isAtEnd&&!Le(i,e)&&le(r,e)?(No(t),Pi(n,e,r),!0):(this._isNextGravityRestorationSkipped=!0,this._overrideGravity(),!1):!1}_enableClickingAfterNode(){const t=this.editor,e=t.model,n=e.document.selection,i=t.editing.view.document;t.editing.view.addObserver(vi);let r=!1;this.listenTo(i,"mousedown",()=>{r=!0}),this.listenTo(i,"selectionChange",()=>{const s=this.attributes;if(!r||(r=!1,!n.isCollapsed)||!Le(n,s))return;const a=n.getFirstPosition();le(a,s)&&(a.isAtStart||le(a,s,!0)?Bo(e,s):this._isGravityOverridden||this._overrideGravity())})}_enableInsertContentSelectionAttributesFixer(){const e=this.editor.model,n=e.document.selection,i=this.attributes;this.listenTo(e,"insertContent",()=>{const r=n.getFirstPosition();Le(n,i)&&le(r,i)&&Bo(e,i)},{priority:"low"})}_handleDeleteContentAfterNode(){const t=this.editor,e=t.model,n=e.document.selection,i=t.editing.view;let r=!1,s=!1;this.listenTo(i.document,"delete",(a,c)=>{r=c.direction==="backward"},{priority:"high"}),this.listenTo(e,"deleteContent",()=>{if(!r)return;const a=n.getFirstPosition();s=Le(n,this.attributes)&&!Xg(a,this.attributes)},{priority:"high"}),this.listenTo(e,"deleteContent",()=>{r&&(r=!1,!s&&t.model.enqueueChange(()=>{const a=n.getFirstPosition();Le(n,this.attributes)&&le(a,this.attributes)&&(a.isAtStart||le(a,this.attributes,!0)?Bo(e,this.attributes):this._isGravityOverridden||this._overrideGravity())}))},{priority:"low"})}get _isGravityOverridden(){return!!this._overrideUid}_overrideGravity(){this._overrideUid=this.editor.model.change(t=>t.overrideSelectionGravity())}_restoreGravity(){this.editor.model.change(t=>{t.restoreSelectionGravity(this._overrideUid),this._overrideUid=null})}}function Le(o,t){for(const e of t)if(o.hasAttribute(e))return!0;return!1}function Pi(o,t,e){const n=e.nodeBefore;o.change(i=>{if(n){const r=[],s=o.schema.isObject(n)&&o.schema.isInline(n);for(const[a,c]of n.getAttributes())o.schema.checkAttribute("$text",a)&&(!s||o.schema.getAttributeProperties(a).copyFromObject!==!1)&&r.push([a,c]);i.setSelectionAttribute(r)}else i.removeSelectionAttribute(t)})}function Bo(o,t){o.change(e=>{e.removeSelectionAttribute(t)})}function No(o){o.preventDefault()}function Xg(o,t){const e=o.getShiftedBy(-1);return le(e,t)}function le(o,t,e=!1){const{nodeBefore:n,nodeAfter:i}=o;for(const r of t){const s=n?n.getAttribute(r):void 0,a=i?i.getAttribute(r):void 0;if(!(e&&(s===void 0||a===void 0))&&a!==s)return!0}return!1}const tf={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:Un('"'),to:[null,"“",null,"”"]},quotesSecondary:{from:Un("'"),to:[null,"‘",null,"’"]},quotesPrimaryEnGb:{from:Un("'"),to:[null,"‘",null,"’"]},quotesSecondaryEnGb:{from:Un('"'),to:[null,"“",null,"”"]},quotesPrimaryPl:{from:Un('"'),to:[null,"„",null,"”"]},quotesSecondaryPl:{from:Un("'"),to:[null,"‚",null,"’"]}},ef={symbols:["copyright","registeredTrademark","trademark"],mathematical:["oneHalf","oneThird","twoThirds","oneForth","threeQuarters","lessThanOrEqual","greaterThanOrEqual","notEqual","arrowLeft","arrowRight"],typography:["horizontalEllipsis","enDash","emDash"],quotes:["quotesPrimary","quotesSecondary"]},n4=["symbols","mathematical","typography","quotes"];class o4 extends L{static get requires(){return["Delete","Input"]}static get pluginName(){return"TextTransformation"}constructor(t){super(t),t.config.define("typing",{transformations:{include:n4}})}init(){const e=this.editor.model.document.selection;e.on("change:range",()=>{this.isEnabled=!e.anchor.parent.is("element","codeBlock")}),this._enableTransformationWatchers()}_enableTransformationWatchers(){const t=this.editor,e=t.model,n=t.plugins.get("Delete"),i=a4(t.config.get("typing.transformations")),r=a=>{for(const c of i)if(c.from.test(a))return{normalizedTransformation:c}},s=new Qg(t.model,r);s.on("matched:data",(a,c)=>{if(!c.batch.isTyping)return;const{from:l,to:d}=c.normalizedTransformation,u=l.exec(c.text),f=d(u.slice(1)),p=c.range;let w=u.index;e.enqueueChange(S=>{for(let M=1;M{n.requestUndoOnBackspace()})})}),s.bind("isEnabled").to(this)}}function i4(o){return typeof o=="string"?new RegExp(`(${Bg(o)})$`):o}function r4(o){return typeof o=="string"?()=>[o]:o instanceof Array?()=>o:o}function s4(o){return(o.textNode?o.textNode:o.nodeAfter).getAttributes()}function Un(o){return new RegExp(`(^|\\s)(${o})([^${o}]*)(${o})$`)}function a4(o){const t=o.extra||[],e=o.remove||[],n=r=>!e.includes(r),i=o.include.concat(t).filter(n);return c4(i).filter(n).map(r=>typeof r=="string"&&tf[r]?tf[r]:r).filter(r=>typeof r=="object").map(r=>({from:i4(r.from),to:r4(r.to)}))}function c4(o){const t=new Set;for(const e of o)if(typeof e=="string"&&ef[e])for(const n of ef[e])t.add(n);else t.add(e);return Array.from(t)}function Oi(o,t,e,n){return n.createRange(nf(o,t,e,!0,n),nf(o,t,e,!1,n))}function nf(o,t,e,n,i){let r=o.textNode||(n?o.nodeBefore:o.nodeAfter),s=null;for(;r&&r.getAttribute(t)==e;)s=r,r=n?r.previousSibling:r.nextSibling;return s?i.createPositionAt(s,n?"before":"after"):o}function l4(o,t,e,n){const i=o.editing.view,r=new Set;i.document.registerPostFixer(s=>{const a=o.model.document.selection;let c=!1;if(a.hasAttribute(t)){const l=Oi(a.getFirstPosition(),t,a.getAttribute(t),o.model),d=o.editing.mapper.toViewRange(l);for(const u of d.getItems())u.is("element",e)&&!u.hasClass(n)&&(s.addClass(n,u),r.add(u),c=!0)}return c}),o.conversion.for("editingDowncast").add(s=>{s.on("insert",a,{priority:"highest"}),s.on("remove",a,{priority:"highest"}),s.on("attribute",a,{priority:"highest"}),s.on("selection",a,{priority:"highest"});function a(){i.change(c=>{for(const l of r.values())c.removeClass(n,l),r.delete(l)})}})}function We(o,t,e,n){let i,r=null;typeof n=="function"?i=n:(r=o.commands.get(n),i=()=>{o.execute(n)}),o.model.document.on("change:data",(s,a)=>{if(r&&!r.isEnabled||!t.isEnabled)return;const c=Lt(o.model.document.selection.getRanges());if(!c.isCollapsed||a.isUndo||!a.isLocal)return;const l=Array.from(o.model.document.differ.getChanges()),d=l[0];if(l.length!=1||d.type!=="insert"||d.name!="$text"||d.length!=1)return;const u=d.position.parent;if(u.is("element","codeBlock")||u.is("element","listItem")&&typeof n!="function"&&!["numberedList","bulletedList","todoList"].includes(n)||r&&r.value===!0)return;const f=u.getChild(0),p=o.model.createRangeOn(f);if(!p.containsRange(c)&&!c.end.isEqual(p.end))return;const w=e.exec(f.data.substr(0,c.end.offset));w&&o.model.enqueueChange(S=>{const M=S.createPositionAt(u,0),z=S.createPositionAt(u,w[0].length),V=new Xt(M,z);if(i({match:w})!==!1){S.remove(V);const ct=o.model.document.selection.getFirstRange(),mt=S.createRangeIn(u);u.isEmpty&&!mt.isEqual(ct)&&!mt.containsRange(ct,!0)&&S.remove(u)}V.detach(),o.model.enqueueChange(()=>{o.plugins.get("Delete").requestUndoOnBackspace()})})})}function Gn(o,t,e,n){let i,r;e instanceof RegExp?i=e:r=e,r=r||(s=>{let a;const c=[],l=[];for(;(a=i.exec(s))!==null&&!(a&&a.length<4);){let{index:d,1:u,2:f,3:p}=a;const w=u+f+p;d+=a[0].length-w.length;const S=[d,d+u.length],M=[d+u.length+f.length,d+u.length+f.length+p.length];c.push(S),c.push(M),l.push([d+u.length,d+u.length+f.length])}return{remove:c,format:l}}),o.model.document.on("change:data",(s,a)=>{if(a.isUndo||!a.isLocal||!t.isEnabled)return;const c=o.model,l=c.document.selection;if(!l.isCollapsed)return;const d=Array.from(c.document.differ.getChanges()),u=d[0];if(d.length!=1||u.type!=="insert"||u.name!="$text"||u.length!=1)return;const f=l.focus,p=f.parent,{text:w,range:S}=d4(c.createRange(c.createPositionAt(p,0),f),c),M=r(w),z=of(S.start,M.format,c),V=of(S.start,M.remove,c);z.length&&V.length&&c.enqueueChange(tt=>{if(n(tt,z)!==!1){for(const mt of V.reverse())tt.remove(mt);c.enqueueChange(()=>{o.plugins.get("Delete").requestUndoOnBackspace()})}})})}function of(o,t,e){return t.filter(n=>n[0]!==void 0&&n[1]!==void 0).map(n=>e.createRange(o.getShiftedBy(n[0]),o.getShiftedBy(n[1])))}function d4(o,t){let e=o.start;return{text:Array.from(o.getItems()).reduce((i,r)=>!(r.is("$text")||r.is("$textProxy"))||r.getAttribute("code")?(e=t.createPositionAfter(r),""):i+r.data,""),range:t.createRange(e,o.end)}}class u4 extends L{static get requires(){return[ze]}static get pluginName(){return"Autoformat"}afterInit(){this._addListAutoformats(),this._addBasicStylesAutoformats(),this._addHeadingAutoformats(),this._addBlockQuoteAutoformats(),this._addCodeBlockAutoformats(),this._addHorizontalLineAutoformats()}_addListAutoformats(){const t=this.editor.commands;t.get("bulletedList")&&We(this.editor,this,/^[*-]\s$/,"bulletedList"),t.get("numberedList")&&We(this.editor,this,/^1[.|)]\s$/,"numberedList"),t.get("todoList")&&We(this.editor,this,/^\[\s?\]\s$/,"todoList"),t.get("checkTodoList")&&We(this.editor,this,/^\[\s?x\s?\]\s$/,()=>{this.editor.execute("todoList"),this.editor.execute("checkTodoList")})}_addBasicStylesAutoformats(){const t=this.editor.commands;if(t.get("bold")){const e=Ri(this.editor,"bold");Gn(this.editor,this,/(?:^|\s)(\*\*)([^*]+)(\*\*)$/g,e),Gn(this.editor,this,/(?:^|\s)(__)([^_]+)(__)$/g,e)}if(t.get("italic")){const e=Ri(this.editor,"italic");Gn(this.editor,this,/(?:^|\s)(\*)([^*_]+)(\*)$/g,e),Gn(this.editor,this,/(?:^|\s)(_)([^_]+)(_)$/g,e)}if(t.get("code")){const e=Ri(this.editor,"code");Gn(this.editor,this,/(`)([^`]+)(`)$/g,e)}if(t.get("strikethrough")){const e=Ri(this.editor,"strikethrough");Gn(this.editor,this,/(~~)([^~]+)(~~)$/g,e)}}_addHeadingAutoformats(){const t=this.editor.commands.get("heading");t&&t.modelElements.filter(e=>e.match(/^heading[1-6]$/)).forEach(e=>{const n=e[7],i=new RegExp(`^(#{${n}})\\s$`);We(this.editor,this,i,()=>{if(!t.isEnabled||t.value===e)return!1;this.editor.execute("heading",{value:e})})})}_addBlockQuoteAutoformats(){this.editor.commands.get("blockQuote")&&We(this.editor,this,/^>\s$/,"blockQuote")}_addCodeBlockAutoformats(){const t=this.editor,e=t.model.document.selection;t.commands.get("codeBlock")&&We(t,this,/^```$/,()=>{if(e.getFirstPosition().parent.is("element","listItem"))return!1;this.editor.execute("codeBlock",{usePreviousLanguageChoice:!0})})}_addHorizontalLineAutoformats(){this.editor.commands.get("horizontalLine")&&We(this.editor,this,/^---$/,"horizontalLine")}}function Ri(o,t){return(e,n)=>{if(!o.commands.get(t).isEnabled)return!1;const r=o.model.schema.getValidRanges(n,t);for(const s of r)e.setAttribute(t,!0,s);e.removeSelectionAttribute(t)}}class rf extends X{constructor(t,e){super(t),this.attributeKey=e}refresh(){const t=this.editor.model,e=t.document;this.value=this._getValueFromFirstAllowedNode(),this.isEnabled=t.schema.checkAttributeInSelection(e.selection,this.attributeKey)}execute(t={}){const e=this.editor.model,i=e.document.selection,r=t.forceValue===void 0?!this.value:t.forceValue;e.change(s=>{if(i.isCollapsed)r?s.setSelectionAttribute(this.attributeKey,!0):s.removeSelectionAttribute(this.attributeKey);else{const a=e.schema.getValidRanges(i.getRanges(),this.attributeKey);for(const c of a)r?s.setAttribute(this.attributeKey,r,c):s.removeAttribute(this.attributeKey,c)}})}_getValueFromFirstAllowedNode(){const t=this.editor.model,e=t.schema,n=t.document.selection;if(n.isCollapsed)return n.hasAttribute(this.attributeKey);for(const i of n.getRanges())for(const r of i.getItems())if(e.checkAttribute(r,this.attributeKey))return r.hasAttribute(this.attributeKey);return!1}}const Wn="bold";class h4 extends L{static get pluginName(){return"BoldEditing"}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:Wn}),t.model.schema.setAttributeProperties(Wn,{isFormatting:!0,copyOnEnter:!0}),t.conversion.attributeToElement({model:Wn,view:"strong",upcastAlso:["b",e=>{const n=e.getStyle("font-weight");return n&&(n=="bold"||Number(n)>=600)?{name:!0,styles:["font-weight"]}:null}]}),t.commands.add(Wn,new rf(t,Wn)),t.keystrokes.set("CTRL+B",Wn)}}const Aa="bold";class g4 extends L{static get pluginName(){return"BoldUI"}init(){const t=this.editor,e=t.t;t.ui.componentFactory.add(Aa,n=>{const i=t.commands.get(Aa),r=new at(n);return r.set({label:e("Bold"),icon:J.bold,keystroke:"CTRL+B",tooltip:!0,isToggleable:!0}),r.bind("isOn","isEnabled").to(i,"value","isEnabled"),this.listenTo(r,"execute",()=>{t.execute(Aa),t.editing.view.focus()}),r})}}class f4 extends L{static get requires(){return[h4,g4]}static get pluginName(){return"Bold"}}var sf=P(5363),Ca={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ca.insert="head",Ca.singleton=!0,R()(sf.Z,Ca),sf.Z.locals;const qn="italic";class m4 extends L{static get pluginName(){return"ItalicEditing"}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:qn}),t.model.schema.setAttributeProperties(qn,{isFormatting:!0,copyOnEnter:!0}),t.conversion.attributeToElement({model:qn,view:"i",upcastAlso:["em",{styles:{"font-style":"italic"}}]}),t.commands.add(qn,new rf(t,qn)),t.keystrokes.set("CTRL+I",qn)}}const p4='',_a="italic";class k4 extends L{static get pluginName(){return"ItalicUI"}init(){const t=this.editor,e=t.t;t.ui.componentFactory.add(_a,n=>{const i=t.commands.get(_a),r=new at(n);return r.set({label:e("Italic"),icon:p4,keystroke:"CTRL+I",tooltip:!0,isToggleable:!0}),r.bind("isOn","isEnabled").to(i,"value","isEnabled"),this.listenTo(r,"execute",()=>{t.execute(_a),t.editing.view.focus()}),r})}}class b4 extends L{static get requires(){return[m4,k4]}static get pluginName(){return"Italic"}}function*af(o,t){for(const e of t)e&&o.getAttributeProperties(e[0]).copyOnEnter&&(yield e)}class w4 extends X{execute(){this.editor.model.change(t=>{this.enterBlock(t),this.fire("afterExecute",{writer:t})})}enterBlock(t){const e=this.editor.model,n=e.document.selection,i=e.schema,r=n.isCollapsed,s=n.getFirstRange(),a=s.start.parent,c=s.end.parent;if(i.isLimit(a)||i.isLimit(c))return!r&&a==c&&e.deleteContent(n),!1;if(r){const l=af(t.model.schema,n.getAttributes());return cf(t,s.start),t.setSelectionAttribute(l),!0}else{const l=!(s.start.isAtStart&&s.end.isAtEnd),d=a==c;if(e.deleteContent(n,{leaveUnmerged:l}),l){if(d)return cf(t,n.focus),!0;t.setSelection(c,0)}}return!1}}function cf(o,t){o.split(t),o.setSelection(t.parent.nextSibling,0)}const A4={insertParagraph:{isSoft:!1},insertLineBreak:{isSoft:!0}};class lf extends _e{constructor(t){super(t);const e=this.document;let n=!1;e.on("keydown",(i,r)=>{n=r.shiftKey}),e.on("beforeinput",(i,r)=>{if(!this.isEnabled)return;let s=r.inputType;g.isSafari&&n&&s=="insertParagraph"&&(s="insertLineBreak");const a=r.domEvent,c=A4[s];if(!c)return;const l=new Nn(e,"enter",r.targetRanges[0]);e.fire(l,new Ln(t,a,{isSoft:c.isSoft})),l.stop.called&&i.stop()})}observe(){}stopObserving(){}}class ji extends L{static get pluginName(){return"Enter"}init(){const t=this.editor,e=t.editing.view,n=e.document;e.addObserver(lf),t.commands.add("enter",new w4(t)),this.listenTo(n,"enter",(i,r)=>{n.isComposing||r.preventDefault(),!r.isSoft&&(t.execute("enter"),e.scrollToTheSelection())},{priority:"low"})}}class C4 extends X{execute(){const t=this.editor.model,e=t.document;t.change(n=>{v4(t,n,e.selection),this.fire("afterExecute",{writer:n})})}refresh(){const t=this.editor.model,e=t.document;this.isEnabled=_4(t.schema,e.selection)}}function _4(o,t){if(t.rangeCount>1)return!1;const e=t.anchor;if(!e||!o.checkChild(e,"softBreak"))return!1;const n=t.getFirstRange(),i=n.start.parent,r=n.end.parent;return!((va(i,o)||va(r,o))&&i!==r)}function v4(o,t,e){const n=e.isCollapsed,i=e.getFirstRange(),r=i.start.parent,s=i.end.parent,a=r==s;if(n){const c=af(o.schema,e.getAttributes());df(o,t,i.end),t.removeSelectionAttribute(e.getAttributeKeys()),t.setSelectionAttribute(c)}else{const c=!(i.start.isAtStart&&i.end.isAtEnd);o.deleteContent(e,{leaveUnmerged:c}),a?df(o,t,e.focus):c&&t.setSelection(s,0)}}function df(o,t,e){const n=t.createElement("softBreak");o.insertContent(n,e),t.setSelection(n,"after")}function va(o,t){return o.is("rootElement")?!1:t.isLimit(o)||va(o.parent,t)}class y4 extends L{static get pluginName(){return"ShiftEnter"}init(){const t=this.editor,e=t.model.schema,n=t.conversion,i=t.editing.view,r=i.document;e.register("softBreak",{allowWhere:"$text",isInline:!0}),n.for("upcast").elementToElement({model:"softBreak",view:"br"}),n.for("downcast").elementToElement({model:"softBreak",view:(s,{writer:a})=>a.createEmptyElement("br")}),i.addObserver(lf),t.commands.add("shiftEnter",new C4(t)),this.listenTo(r,"enter",(s,a)=>{r.isComposing||a.preventDefault(),a.isSoft&&(t.execute("shiftEnter"),i.scrollToTheSelection())},{priority:"low"})}}class x4 extends X{refresh(){this.value=this._getValue(),this.isEnabled=this._checkEnabled()}execute(t={}){const e=this.editor.model,n=e.schema,i=e.document.selection,r=Array.from(i.getSelectedBlocks()),s=t.forceValue===void 0?!this.value:t.forceValue;e.change(a=>{if(!s)this._removeQuote(a,r.filter(Fi));else{const c=r.filter(l=>Fi(l)||hf(n,l));this._applyQuote(a,c)}})}_getValue(){const t=this.editor.model.document.selection,e=Lt(t.getSelectedBlocks());return!!(e&&Fi(e))}_checkEnabled(){if(this.value)return!0;const t=this.editor.model.document.selection,e=this.editor.model.schema,n=Lt(t.getSelectedBlocks());return n?hf(e,n):!1}_removeQuote(t,e){uf(t,e).reverse().forEach(n=>{if(n.start.isAtStart&&n.end.isAtEnd){t.unwrap(n.start.parent);return}if(n.start.isAtStart){const r=t.createPositionBefore(n.start.parent);t.move(n,r);return}n.end.isAtEnd||t.split(n.end);const i=t.createPositionAfter(n.end.parent);t.move(n,i)})}_applyQuote(t,e){const n=[];uf(t,e).reverse().forEach(i=>{let r=Fi(i.start);r||(r=t.createElement("blockQuote"),t.wrap(i,r)),n.push(r)}),n.reverse().reduce((i,r)=>i.nextSibling==r?(t.merge(t.createPositionAfter(i)),i):r)}}function Fi(o){return o.parent.name=="blockQuote"?o.parent:null}function uf(o,t){let e,n=0;const i=[];for(;n{const a=t.model.document.differ.getChanges();for(const c of a)if(c.type=="insert"){const l=c.position.nodeAfter;if(!l)continue;if(l.is("element","blockQuote")&&l.isEmpty)return s.remove(l),!0;if(l.is("element","blockQuote")&&!e.checkChild(c.position,l))return s.unwrap(l),!0;if(l.is("element")){const d=s.createRangeIn(l);for(const u of d.getItems())if(u.is("element","blockQuote")&&!e.checkChild(s.createPositionBefore(u),u))return s.unwrap(u),!0}}else if(c.type=="remove"){const l=c.position.parent;if(l.is("element","blockQuote")&&l.isEmpty)return s.remove(l),!0}return!1});const n=this.editor.editing.view.document,i=t.model.document.selection,r=t.commands.get("blockQuote");this.listenTo(n,"enter",(s,a)=>{if(!i.isCollapsed||!r.value)return;i.getLastPosition().parent.isEmpty&&(t.execute("blockQuote"),t.editing.view.scrollToTheSelection(),a.preventDefault(),s.stop())},{context:"blockquote"}),this.listenTo(n,"delete",(s,a)=>{if(a.direction!="backward"||!i.isCollapsed||!r.value)return;const c=i.getLastPosition().parent;c.isEmpty&&!c.previousSibling&&(t.execute("blockQuote"),t.editing.view.scrollToTheSelection(),a.preventDefault(),s.stop())},{context:"blockquote"})}}var gf=P(3789),ya={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};ya.insert="head",ya.singleton=!0,R()(gf.Z,ya),gf.Z.locals;class D4 extends L{static get pluginName(){return"BlockQuoteUI"}init(){const t=this.editor,e=t.t;t.ui.componentFactory.add("blockQuote",n=>{const i=t.commands.get("blockQuote"),r=new at(n);return r.set({label:e("Block quote"),icon:J.quote,tooltip:!0,isToggleable:!0}),r.bind("isOn","isEnabled").to(i,"value","isEnabled"),this.listenTo(r,"execute",()=>{t.execute("blockQuote"),t.editing.view.focus()}),r})}}class S4 extends L{static get requires(){return[E4,D4]}static get pluginName(){return"BlockQuote"}}const T4={autoRefresh:!0},ff=36e5;class xa extends st(){constructor(t,e={}){if(super(),!t)throw new b("token-missing-token-url",this);e.initValue&&this._validateTokenValue(e.initValue),this.set("value",e.initValue),typeof t=="function"?this._refresh=t:this._refresh=()=>I4(t),this._options={...T4,...e}}init(){return new Promise((t,e)=>{if(!this.value){this.refreshToken().then(t).catch(e);return}this._options.autoRefresh&&this._registerRefreshTokenTimeout(),t(this)})}refreshToken(){return this._refresh().then(t=>(this._validateTokenValue(t),this.set("value",t),this._options.autoRefresh&&this._registerRefreshTokenTimeout(),this))}destroy(){clearTimeout(this._tokenRefreshTimeout)}_validateTokenValue(t){const e=typeof t=="string",n=!/^".*"$/.test(t),i=e&&t.split(".").length===3;if(!(n&&i))throw new b("token-not-in-jwt-format",this)}_registerRefreshTokenTimeout(){const t=this._getTokenRefreshTimeoutTime();clearTimeout(this._tokenRefreshTimeout),this._tokenRefreshTimeout=setTimeout(()=>{this.refreshToken()},t)}_getTokenRefreshTimeoutTime(){try{const[,t]=this.value.split("."),{exp:e}=JSON.parse(atob(t));return e?Math.floor((e*1e3-Date.now())/2):ff}catch{return ff}}static create(t,e={}){return new xa(t,e).init()}}function I4(o){return new Promise((t,e)=>{const n=new XMLHttpRequest;n.open("GET",o),n.addEventListener("load",()=>{const i=n.status,r=n.response;return i<200||i>299?e(new b("token-cannot-download-new-token",null)):t(r)}),n.addEventListener("error",()=>e(new Error("Network Error"))),n.addEventListener("abort",()=>e(new Error("Abort"))),n.send()})}const Ea=/^data:(\S*?);base64,/;class M4 extends lt(){constructor(t,e,n){if(super(),!t)throw new b("fileuploader-missing-file",null);if(!e)throw new b("fileuploader-missing-token",null);if(!n)throw new b("fileuploader-missing-api-address",null);this.file=N4(t)?B4(t):t,this._token=e,this._apiAddress=n}onProgress(t){return this.on("progress",(e,n)=>t(n)),this}onError(t){return this.once("error",(e,n)=>t(n)),this}abort(){this.xhr.abort()}send(){return this._prepareRequest(),this._attachXHRListeners(),this._sendRequest()}_prepareRequest(){const t=new XMLHttpRequest;t.open("POST",this._apiAddress),t.setRequestHeader("Authorization",this._token.value),t.responseType="json",this.xhr=t}_attachXHRListeners(){const t=this.xhr,e=n=>()=>this.fire("error",n);t.addEventListener("error",e("Network Error")),t.addEventListener("abort",e("Abort")),t.upload&&t.upload.addEventListener("progress",n=>{n.lengthComputable&&this.fire("progress",{total:n.total,uploaded:n.loaded})}),t.addEventListener("load",()=>{const n=t.status,i=t.response;if(n<200||n>299)return this.fire("error",i.message||i.error)})}_sendRequest(){const t=new FormData,e=this.xhr;return t.append("file",this.file),new Promise((n,i)=>{e.addEventListener("load",()=>{const r=e.status,s=e.response;return r<200||r>299?s.message?i(new b("fileuploader-uploading-data-failed",this,{message:s.message})):i(s.error):n(s)}),e.addEventListener("error",()=>i(new Error("Network Error"))),e.addEventListener("abort",()=>i(new Error("Abort"))),e.send(t)})}}function B4(o,t=512){try{const e=o.match(Ea)[1],n=atob(o.replace(Ea,"")),i=[];for(let r=0;r{s.preventDefault();const a=s.dropRange?[s.dropRange]:null,c=new zt(e,i);e.fire(c,{dataTransfer:s.dataTransfer,method:r.name,targetRanges:a,target:s.target,domEvent:s.domEvent}),c.stop.called&&s.stopPropagation()}}}onDomEvent(t){const e="clipboardData"in t?t.clipboardData:t.dataTransfer,n=t.type=="drop"||t.type=="paste",i={dataTransfer:new Fu(e,{cacheFiles:n})};(t.type=="drop"||t.type=="dragover")&&(i.dropRange=O4(this.view,t)),this.fire(t.type,t,i)}}function O4(o,t){const e=t.target.ownerDocument,n=t.clientX,i=t.clientY;let r;return e.caretRangeFromPoint&&e.caretRangeFromPoint(n,i)?r=e.caretRangeFromPoint(n,i):t.rangeParent&&(r=e.createRange(),r.setStart(t.rangeParent,t.rangeOffset),r.collapse(!0)),r?o.domConverter.domRangeToView(r):null}function R4(o){return o=o.replace(/&/g,"&").replace(//g,">").replace(/\r?\n\r?\n/g,"

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

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

${o}

`),o}function j4(o){return o.replace(/(\s+)<\/span>/g,(t,e)=>e.length==1?" ":e).replace(//g,"")}const mf=["figcaption","li"],pf=["ol","ul"];function kf(o){if(o.is("$text")||o.is("$textProxy"))return o.data;if(o.is("element","img")&&o.hasAttribute("alt"))return o.getAttribute("alt");if(o.is("element","br"))return` +`;let t="",e=null;for(const n of o.getChildren())t+=F4(n,e)+kf(n),e=n;return t}function F4(o,t){return t?o.is("element","li")&&!o.isEmpty&&o.getChild(0).is("containerElement")||pf.includes(o.name)&&pf.includes(t.name)?` + +`:!o.is("containerElement")&&!t.is("containerElement")?"":mf.includes(o.name)||mf.includes(t.name)?` +`:` + +`:""}class ke extends L{static get pluginName(){return"ClipboardPipeline"}init(){this.editor.editing.view.addObserver(zo),this._setupPasteDrop(),this._setupCopyCut()}_fireOutputTransformationEvent(t,e,n){const i=this.editor.model.getSelectedContent(e);this.fire("outputTransformation",{dataTransfer:t,content:i,method:n})}_setupPasteDrop(){const t=this.editor,e=t.model,n=t.editing.view,i=n.document;this.listenTo(i,"clipboardInput",(r,s)=>{s.method=="paste"&&!t.model.canEditAt(t.model.document.selection)&&r.stop()},{priority:"highest"}),this.listenTo(i,"clipboardInput",(r,s)=>{const a=s.dataTransfer;let c;if(s.content)c=s.content;else{let d="";a.getData("text/html")?d=j4(a.getData("text/html")):a.getData("text/plain")&&(d=R4(a.getData("text/plain"))),c=this.editor.data.htmlProcessor.toView(d)}const l=new zt(this,"inputTransformation");this.fire(l,{content:c,dataTransfer:a,targetRanges:s.targetRanges,method:s.method}),l.stop.called&&r.stop(),n.scrollToTheSelection()},{priority:"low"}),this.listenTo(this,"inputTransformation",(r,s)=>{if(s.content.isEmpty)return;const c=this.editor.data.toModel(s.content,"$clipboardHolder");c.childCount!=0&&(r.stop(),e.change(()=>{this.fire("contentInsertion",{content:c,method:s.method,dataTransfer:s.dataTransfer,targetRanges:s.targetRanges})}))},{priority:"low"}),this.listenTo(this,"contentInsertion",(r,s)=>{s.resultRange=e.insertContent(s.content)},{priority:"low"})}_setupCopyCut(){const t=this.editor,e=t.model.document,i=t.editing.view.document,r=(s,a)=>{const c=a.dataTransfer;a.preventDefault(),this._fireOutputTransformationEvent(c,e.selection,s.name)};this.listenTo(i,"copy",r,{priority:"low"}),this.listenTo(i,"cut",(s,a)=>{t.model.canEditAt(t.model.document.selection)?r(s,a):a.preventDefault()},{priority:"low"}),this.listenTo(this,"outputTransformation",(s,a)=>{const c=t.data.toView(a.content);i.fire("clipboardOutput",{dataTransfer:a.dataTransfer,content:c,method:a.method})},{priority:"low"}),this.listenTo(i,"clipboardOutput",(s,a)=>{a.content.isEmpty||(a.dataTransfer.setData("text/html",this.editor.data.htmlProcessor.toData(a.content)),a.dataTransfer.setData("text/plain",kf(a.content))),a.method=="cut"&&t.model.deleteContent(e.selection)},{priority:"low"})}}class V4 extends lt(){constructor(){super(...arguments),this._stack=[]}add(t,e){const n=this._stack,i=n[0];this._insertDescriptor(t);const r=n[0];i!==r&&!Da(i,r)&&this.fire("change:top",{oldDescriptor:i,newDescriptor:r,writer:e})}remove(t,e){const n=this._stack,i=n[0];this._removeDescriptor(t);const r=n[0];i!==r&&!Da(i,r)&&this.fire("change:top",{oldDescriptor:i,newDescriptor:r,writer:e})}_insertDescriptor(t){const e=this._stack,n=e.findIndex(r=>r.id===t.id);if(Da(t,e[n]))return;n>-1&&e.splice(n,1);let i=0;for(;e[i]&&H4(e[i],t);)i++;e.splice(i,0,t)}_removeDescriptor(t){const e=this._stack,n=e.findIndex(i=>i.id===t);n>-1&&e.splice(n,1)}}function Da(o,t){return o&&t&&o.priority==t.priority&&Vi(o.classes)==Vi(t.classes)}function H4(o,t){return o.priority>t.priority?!0:o.priorityVi(t.classes)}function Vi(o){return Array.isArray(o)?o.sort().join(","):o}const U4='',G4="ck-widget",bf="ck-widget_selected";function Tt(o){return o.is("element")?!!o.getCustomProperty("widget"):!1}function Sa(o,t,e={}){if(!o.is("containerElement"))throw new b("widget-to-widget-wrong-element-type",null,{element:o});return t.setAttribute("contenteditable","false",o),t.addClass(G4,o),t.setCustomProperty("widget",!0,o),o.getFillerOffset=K4,t.setCustomProperty("widgetLabel",[],o),e.label&&Z4(o,e.label),e.hasSelectionHandle&&Y4(o,t),wf(o,t),o}function W4(o,t,e){if(t.classes&&e.addClass(bt(t.classes),o),t.attributes)for(const n in t.attributes)e.setAttribute(n,t.attributes[n],o)}function q4(o,t,e){if(t.classes&&e.removeClass(bt(t.classes),o),t.attributes)for(const n in t.attributes)e.removeAttribute(n,o)}function wf(o,t,e=W4,n=q4){const i=new V4;i.on("change:top",(a,c)=>{c.oldDescriptor&&n(o,c.oldDescriptor,c.writer),c.newDescriptor&&e(o,c.newDescriptor,c.writer)});const r=(a,c,l)=>i.add(c,l),s=(a,c,l)=>i.remove(c,l);t.setCustomProperty("addHighlight",r,o),t.setCustomProperty("removeHighlight",s,o)}function Z4(o,t){o.getCustomProperty("widgetLabel").push(t)}function $4(o){return o.getCustomProperty("widgetLabel").reduce((e,n)=>typeof n=="function"?e?e+". "+n():n():e?e+". "+n:n,"")}function Af(o,t,e={}){return t.addClass(["ck-editor__editable","ck-editor__nested-editable"],o),t.setAttribute("role","textbox",o),e.label&&t.setAttribute("aria-label",e.label,o),t.setAttribute("contenteditable",o.isReadOnly?"false":"true",o),o.on("change:isReadOnly",(n,i,r)=>{t.setAttribute("contenteditable",r?"false":"true",o)}),o.on("change:isFocused",(n,i,r)=>{r?t.addClass("ck-editor__nested-editable_focused",o):t.removeClass("ck-editor__nested-editable_focused",o)}),wf(o,t),o}function Cf(o,t){const e=o.getSelectedElement();if(e){const n=qe(o);if(n)return t.createRange(t.createPositionAt(e,n))}return t.schema.findOptimalInsertionRange(o)}function K4(){return null}function Y4(o,t){const e=t.createUIElement("div",{class:"ck ck-widget__selection-handle"},function(n){const i=this.toDomElement(n),r=new en;return r.set("content",U4),r.render(),i.appendChild(r.element),i});t.insert(t.createPositionAt(o,0),e),t.addClass(["ck-widget_with-selection-handle"],o)}const Pe="widget-type-around";function hn(o,t,e){return!!o&&Tt(o)&&!e.isInline(t)}function Q4(o){return o.closest(".ck-widget__type-around__button")}function J4(o){return o.classList.contains("ck-widget__type-around__button_before")?"before":"after"}function X4(o,t){const e=o.closest(".ck-widget");return t.mapDomToView(e)}function qe(o){return o.getAttribute(Pe)}const tS='';var _f=P(2347),Ta={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ta.insert="head",Ta.singleton=!0,R()(_f.Z,Ta),_f.Z.locals;const vf=["before","after"],eS=new DOMParser().parseFromString(tS,"image/svg+xml").firstChild,yf="ck-widget__type-around_disabled";class nS extends L{constructor(){super(...arguments),this._currentFakeCaretModelElement=null}static get pluginName(){return"WidgetTypeAround"}static get requires(){return[ji,ze]}init(){const t=this.editor,e=t.editing.view;this.on("change:isEnabled",(n,i,r)=>{e.change(s=>{for(const a of e.document.roots)r?s.removeClass(yf,a):s.addClass(yf,a)}),r||t.model.change(s=>{s.removeSelectionAttribute(Pe)})}),this._enableTypeAroundUIInjection(),this._enableInsertingParagraphsOnButtonClick(),this._enableInsertingParagraphsOnEnterKeypress(),this._enableInsertingParagraphsOnTypingKeystroke(),this._enableTypeAroundFakeCaretActivationUsingKeyboardArrows(),this._enableDeleteIntegration(),this._enableInsertContentIntegration(),this._enableInsertObjectIntegration(),this._enableDeleteContentIntegration()}destroy(){super.destroy(),this._currentFakeCaretModelElement=null}_insertParagraph(t,e){const n=this.editor,i=n.editing.view,r=n.model.schema.getAttributesWithProperty(t,"copyOnReplace",!0);n.execute("insertParagraph",{position:n.model.createPositionAt(t,e),attributes:r}),i.focus(),i.scrollToTheSelection()}_listenToIfEnabled(t,e,n,i){this.listenTo(t,e,(...r)=>{this.isEnabled&&n(...r)},i)}_insertParagraphAccordingToFakeCaretPosition(){const n=this.editor.model.document.selection,i=qe(n);if(!i)return!1;const r=n.getSelectedElement();return this._insertParagraph(r,i),!0}_enableTypeAroundUIInjection(){const t=this.editor,e=t.model.schema,n=t.locale.t,i={before:n("Insert paragraph before block"),after:n("Insert paragraph after block")};t.editing.downcastDispatcher.on("insert",(r,s,a)=>{const c=a.mapper.toViewElement(s.item);c&&hn(c,s.item,e)&&(oS(a.writer,i,c),c.getCustomProperty("widgetLabel").push(()=>this.isEnabled?n("Press Enter to type after or press Shift + Enter to type before the widget"):""))},{priority:"low"})}_enableTypeAroundFakeCaretActivationUsingKeyboardArrows(){const t=this.editor,e=t.model,n=e.document.selection,i=e.schema,r=t.editing.view;this._listenToIfEnabled(r.document,"arrowKey",(a,c)=>{this._handleArrowKeyPress(a,c)},{context:[Tt,"$text"],priority:"high"}),this._listenToIfEnabled(n,"change:range",(a,c)=>{c.directChange&&t.model.change(l=>{l.removeSelectionAttribute(Pe)})}),this._listenToIfEnabled(e.document,"change:data",()=>{const a=n.getSelectedElement();if(a){const c=t.editing.mapper.toViewElement(a);if(hn(c,a,i))return}t.model.change(c=>{c.removeSelectionAttribute(Pe)})}),this._listenToIfEnabled(t.editing.downcastDispatcher,"selection",(a,c,l)=>{const d=l.writer;if(this._currentFakeCaretModelElement){const w=l.mapper.toViewElement(this._currentFakeCaretModelElement);w&&(d.removeClass(vf.map(s),w),this._currentFakeCaretModelElement=null)}const u=c.selection.getSelectedElement();if(!u)return;const f=l.mapper.toViewElement(u);if(!hn(f,u,i))return;const p=qe(c.selection);p&&(d.addClass(s(p),f),this._currentFakeCaretModelElement=u)}),this._listenToIfEnabled(t.ui.focusTracker,"change:isFocused",(a,c,l)=>{l||t.model.change(d=>{d.removeSelectionAttribute(Pe)})});function s(a){return`ck-widget_type-around_show-fake-caret_${a}`}}_handleArrowKeyPress(t,e){const n=this.editor,i=n.model,r=i.document.selection,s=i.schema,a=n.editing.view,c=e.keyCode,l=S0(c,n.locale.contentLanguageDirection),d=a.document.selection.getSelectedElement(),u=n.editing.mapper.toModelElement(d);let f;hn(d,u,s)?f=this._handleArrowKeyPressOnSelectedWidget(l):r.isCollapsed?f=this._handleArrowKeyPressWhenSelectionNextToAWidget(l):e.shiftKey||(f=this._handleArrowKeyPressWhenNonCollapsedSelection(l)),f&&(e.preventDefault(),t.stop())}_handleArrowKeyPressOnSelectedWidget(t){const n=this.editor.model,i=n.document.selection,r=qe(i);return n.change(s=>{if(r){if(!(r===(t?"after":"before")))return s.removeSelectionAttribute(Pe),!0}else return s.setSelectionAttribute(Pe,t?"after":"before"),!0;return!1})}_handleArrowKeyPressWhenSelectionNextToAWidget(t){const e=this.editor,n=e.model,i=n.schema,r=e.plugins.get("Widget"),s=r._getObjectElementNextToSelection(t),a=e.editing.mapper.toViewElement(s);return hn(a,s,i)?(n.change(c=>{r._setSelectionOverElement(s),c.setSelectionAttribute(Pe,t?"before":"after")}),!0):!1}_handleArrowKeyPressWhenNonCollapsedSelection(t){const e=this.editor,n=e.model,i=n.schema,r=e.editing.mapper,s=n.document.selection,a=t?s.getLastPosition().nodeBefore:s.getFirstPosition().nodeAfter,c=r.toViewElement(a);return hn(c,a,i)?(n.change(l=>{l.setSelection(a,"on"),l.setSelectionAttribute(Pe,t?"after":"before")}),!0):!1}_enableInsertingParagraphsOnButtonClick(){const t=this.editor,e=t.editing.view;this._listenToIfEnabled(e.document,"mousedown",(n,i)=>{const r=Q4(i.domTarget);if(!r)return;const s=J4(r),a=X4(r,e.domConverter),c=t.editing.mapper.toModelElement(a);this._insertParagraph(c,s),i.preventDefault(),n.stop()})}_enableInsertingParagraphsOnEnterKeypress(){const t=this.editor,e=t.model.document.selection,n=t.editing.view;this._listenToIfEnabled(n.document,"enter",(i,r)=>{if(i.eventPhase!="atTarget")return;const s=e.getSelectedElement(),a=t.editing.mapper.toViewElement(s),c=t.model.schema;let l;this._insertParagraphAccordingToFakeCaretPosition()?l=!0:hn(a,s,c)&&(this._insertParagraph(s,r.isSoft?"before":"after"),l=!0),l&&(r.preventDefault(),i.stop())},{context:Tt})}_enableInsertingParagraphsOnTypingKeystroke(){const e=this.editor.editing.view.document;this._listenToIfEnabled(e,"insertText",(n,i)=>{this._insertParagraphAccordingToFakeCaretPosition()&&(i.selection=e.selection)},{priority:"high"}),g.isAndroid?this._listenToIfEnabled(e,"keydown",(n,i)=>{i.keyCode==229&&this._insertParagraphAccordingToFakeCaretPosition()}):this._listenToIfEnabled(e,"compositionstart",()=>{this._insertParagraphAccordingToFakeCaretPosition()},{priority:"high"})}_enableDeleteIntegration(){const t=this.editor,e=t.editing.view,n=t.model,i=n.schema;this._listenToIfEnabled(e.document,"delete",(r,s)=>{if(r.eventPhase!="atTarget")return;const a=qe(n.document.selection);if(!a)return;const c=s.direction,l=n.document.selection.getSelectedElement(),d=a==="before",u=c=="forward";if(d===u)t.execute("delete",{selection:n.createSelection(l,"on")});else{const p=i.getNearestSelectionRange(n.createPositionAt(l,a),c);if(p)if(!p.isCollapsed)n.change(w=>{w.setSelection(p),t.execute(u?"deleteForward":"delete")});else{const w=n.createSelection(p.start);if(n.modifySelection(w,{direction:c}),!w.focus.isEqual(p.start))n.change(S=>{S.setSelection(p),t.execute(u?"deleteForward":"delete")});else{const S=sS(i,p.start.parent);n.deleteContent(n.createSelection(S,"on"),{doNotAutoparagraph:!0})}}}s.preventDefault(),r.stop()},{context:Tt})}_enableInsertContentIntegration(){const t=this.editor,e=this.editor.model,n=e.document.selection;this._listenToIfEnabled(t.model,"insertContent",(i,[r,s])=>{if(s&&!s.is("documentSelection"))return;const a=qe(n);if(a)return i.stop(),e.change(c=>{const l=n.getSelectedElement(),d=e.createPositionAt(l,a),u=c.createSelection(d),f=e.insertContent(r,u);return c.setSelection(u),f})},{priority:"high"})}_enableInsertObjectIntegration(){const t=this.editor,n=this.editor.model.document.selection;this._listenToIfEnabled(t.model,"insertObject",(i,r)=>{const[,s,a={}]=r;if(s&&!s.is("documentSelection"))return;const c=qe(n);c&&(a.findOptimalPosition=c,r[3]=a)},{priority:"high"})}_enableDeleteContentIntegration(){const t=this.editor,n=this.editor.model.document.selection;this._listenToIfEnabled(t.model,"deleteContent",(i,[r])=>{if(r&&!r.is("documentSelection"))return;qe(n)&&i.stop()},{priority:"high"})}}function oS(o,t,e){const n=o.createUIElement("div",{class:"ck ck-reset_all ck-widget__type-around"},function(i){const r=this.toDomElement(i);return iS(r,t),rS(r),r});o.insert(o.createPositionAt(e,"end"),n)}function iS(o,t){for(const e of vf){const n=new re({tag:"div",attributes:{class:["ck","ck-widget__type-around__button",`ck-widget__type-around__button_${e}`],title:t[e],"aria-hidden":"true"},children:[o.ownerDocument.importNode(eS,!0)]});o.appendChild(n.render())}}function rS(o){const t=new re({tag:"div",attributes:{class:["ck","ck-widget__type-around__fake-caret"]}});o.appendChild(t.render())}function sS(o,t){let e=t;for(const n of t.getAncestors({parentFirst:!0})){if(n.childCount>1||o.isLimit(n))break;e=n}return e}function aS(o){const t=o.model;return(e,n)=>{const i=n.keyCode==et.arrowup,r=n.keyCode==et.arrowdown,s=n.shiftKey,a=t.document.selection;if(!i&&!r)return;const c=r;if(s&&dS(a,c))return;const l=cS(o,a,c);if(l){if(l.isCollapsed){if(a.isCollapsed)return;if(s)return}(l.isCollapsed||lS(o,l,c))&&(t.change(d=>{const u=c?l.end:l.start;if(s){const f=t.createSelection(a.anchor);f.setFocus(u),d.setSelection(f)}else d.setSelection(u)}),e.stop(),n.preventDefault(),n.stopPropagation())}}}function cS(o,t,e){const n=o.model;if(e){const i=t.isCollapsed?t.focus:t.getLastPosition(),r=xf(n,i,"forward");if(!r)return null;const s=n.createRange(i,r),a=Ef(n.schema,s,"backward");return a?n.createRange(i,a):null}else{const i=t.isCollapsed?t.focus:t.getFirstPosition(),r=xf(n,i,"backward");if(!r)return null;const s=n.createRange(r,i),a=Ef(n.schema,s,"forward");return a?n.createRange(a,i):null}}function xf(o,t,e){const n=o.schema,i=o.createRangeIn(t.root),r=e=="forward"?"elementStart":"elementEnd";for(const{previousPosition:s,item:a,type:c}of i.getWalker({startPosition:t,direction:e})){if(n.isLimit(a)&&!n.isInline(a))return s;if(c==r&&n.isBlock(a))return null}return null}function Ef(o,t,e){const n=e=="backward"?t.end:t.start;if(o.checkChild(n,"$text"))return n;for(const{nextPosition:i}of t.getWalker({direction:e}))if(o.checkChild(i,"$text"))return i;return null}function lS(o,t,e){const n=o.model,i=o.view.domConverter;if(e){const l=n.createSelection(t.start);n.modifySelection(l),!l.focus.isAtEnd&&!t.start.isEqual(l.focus)&&(t=n.createRange(l.focus,t.end))}const r=o.mapper.toViewRange(t),s=i.viewRangeToDom(r),a=Q.getDomRangeRects(s);let c;for(const l of a){if(c===void 0){c=Math.round(l.bottom);continue}if(Math.round(l.top)>=c)return!1;c=Math.max(c,Math.round(l.bottom))}return!0}function dS(o,t){return!o.isCollapsed&&o.isBackward==t}var Df=P(7153),Ia={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ia.insert="head",Ia.singleton=!0,R()(Df.Z,Ia),Df.Z.locals;class Lo extends L{constructor(){super(...arguments),this._previouslySelected=new Set}static get pluginName(){return"Widget"}static get requires(){return[nS,ze]}init(){const t=this.editor,e=t.editing.view,n=e.document;this.editor.editing.downcastDispatcher.on("selection",(i,r,s)=>{const a=s.writer,c=r.selection;if(c.isCollapsed)return;const l=c.getSelectedElement();if(!l)return;const d=t.editing.mapper.toViewElement(l);Tt(d)&&s.consumable.consume(c,"selection")&&a.setSelection(a.createRangeOn(d),{fake:!0,label:$4(d)})}),this.editor.editing.downcastDispatcher.on("selection",(i,r,s)=>{this._clearPreviouslySelectedWidgets(s.writer);const a=s.writer,c=a.document.selection;let l=null;for(const d of c.getRanges())for(const u of d){const f=u.item;Tt(f)&&!hS(f,l)&&(a.addClass(bf,f),this._previouslySelected.add(f),l=f)}},{priority:"low"}),e.addObserver(vi),this.listenTo(n,"mousedown",(...i)=>this._onMousedown(...i)),this.listenTo(n,"arrowKey",(...i)=>{this._handleSelectionChangeOnArrowKeyPress(...i)},{context:[Tt,"$text"]}),this.listenTo(n,"arrowKey",(...i)=>{this._preventDefaultOnArrowKeyPress(...i)},{context:"$root"}),this.listenTo(n,"arrowKey",aS(this.editor.editing),{context:"$text"}),this.listenTo(n,"delete",(i,r)=>{this._handleDelete(r.direction=="forward")&&(r.preventDefault(),i.stop())},{context:"$root"})}_onMousedown(t,e){const n=this.editor,i=n.editing.view,r=i.document;let s=e.target;if(e.domEvent.detail>=3){this._selectBlockContent(s)&&e.preventDefault();return}if(uS(s)||!Tt(s)&&(s=s.findAncestor(Tt),!s))return;g.isAndroid&&e.preventDefault(),r.isFocused||i.focus();const a=n.editing.mapper.toModelElement(s);this._setSelectionOverElement(a)}_selectBlockContent(t){const e=this.editor,n=e.model,i=e.editing.mapper,r=n.schema,s=i.findMappedViewAncestor(this.editor.editing.view.createPositionAt(t,0)),a=gS(i.toModelElement(s),n.schema);return a?(n.change(c=>{const l=r.isLimit(a)?null:fS(c.createPositionAfter(a),r),d=c.createPositionAt(a,0),u=l?c.createPositionAt(l,0):c.createPositionAt(a,"end");c.setSelection(c.createRange(d,u))}),!0):!1}_handleSelectionChangeOnArrowKeyPress(t,e){const n=e.keyCode,i=this.editor.model,r=i.schema,s=i.document.selection,a=s.getSelectedElement(),c=zr(n,this.editor.locale.contentLanguageDirection),l=c=="down"||c=="right",d=c=="up"||c=="down";if(a&&r.isObject(a)){const f=l?s.getLastPosition():s.getFirstPosition(),p=r.getNearestSelectionRange(f,l?"forward":"backward");p&&(i.change(w=>{w.setSelection(p)}),e.preventDefault(),t.stop());return}if(!s.isCollapsed&&!e.shiftKey){const f=s.getFirstPosition(),p=s.getLastPosition(),w=f.nodeAfter,S=p.nodeBefore;(w&&r.isObject(w)||S&&r.isObject(S))&&(i.change(M=>{M.setSelection(l?p:f)}),e.preventDefault(),t.stop());return}if(!s.isCollapsed)return;const u=this._getObjectElementNextToSelection(l);if(u&&r.isObject(u)){if(r.isInline(u)&&d)return;this._setSelectionOverElement(u),e.preventDefault(),t.stop()}}_preventDefaultOnArrowKeyPress(t,e){const n=this.editor.model,i=n.schema,r=n.document.selection.getSelectedElement();r&&i.isObject(r)&&(e.preventDefault(),t.stop())}_handleDelete(t){const n=this.editor.model.document.selection;if(!this.editor.model.canEditAt(n)||!n.isCollapsed)return;const i=this._getObjectElementNextToSelection(t);if(i)return this.editor.model.change(r=>{let s=n.anchor.parent;for(;s.isEmpty;){const a=s;s=a.parent,r.remove(a)}this._setSelectionOverElement(i)}),!0}_setSelectionOverElement(t){this.editor.model.change(e=>{e.setSelection(e.createRangeOn(t))})}_getObjectElementNextToSelection(t){const e=this.editor.model,n=e.schema,i=e.document.selection,r=e.createSelection(i);if(e.modifySelection(r,{direction:t?"forward":"backward"}),r.isEqual(i))return null;const s=t?r.focus.nodeBefore:r.focus.nodeAfter;return s&&n.isObject(s)?s:null}_clearPreviouslySelectedWidgets(t){for(const e of this._previouslySelected)t.removeClass(bf,e);this._previouslySelected.clear()}}function uS(o){let t=o;for(;t;){if(t.is("editableElement")&&!t.is("rootElement"))return!0;if(Tt(t))return!1;t=t.parent}return!1}function hS(o,t){return t?Array.from(o.getAncestors()).includes(t):!1}function gS(o,t){for(const e of o.getAncestors({includeSelf:!0,parentFirst:!0})){if(t.checkChild(e,"$text"))return e;if(t.isLimit(e)&&!t.isObject(e))break}return null}function fS(o,t){const e=new Te({startPosition:o});for(const{item:n}of e){if(t.isLimit(n)||!n.is("element"))return null;if(t.checkChild(n,"$text"))return n}return null}class Hi extends L{constructor(){super(...arguments),this._toolbarDefinitions=new Map}static get requires(){return[Ni]}static get pluginName(){return"WidgetToolbarRepository"}init(){const t=this.editor;if(t.plugins.has("BalloonToolbar")){const e=t.plugins.get("BalloonToolbar");this.listenTo(e,"show",n=>{mS(t.editing.view.document.selection)&&n.stop()},{priority:"high"})}this._balloon=this.editor.plugins.get("ContextualBalloon"),this.on("change:isEnabled",()=>{this._updateToolbarsVisibility()}),this.listenTo(t.ui,"update",()=>{this._updateToolbarsVisibility()}),this.listenTo(t.ui.focusTracker,"change:isFocused",()=>{this._updateToolbarsVisibility()},{priority:"low"})}destroy(){super.destroy();for(const t of this._toolbarDefinitions.values())t.view.destroy()}register(t,{ariaLabel:e,items:n,getRelatedElement:i,balloonClassName:r="ck-toolbar-container"}){if(!n.length){return}const s=this.editor,a=s.t,c=new Os(s.locale);if(c.ariaLabel=e||a("Widget toolbar"),this._toolbarDefinitions.has(t))throw new b("widget-toolbar-duplicated",this,{toolbarId:t});const l={view:c,getRelatedElement:i,balloonClassName:r,itemsConfig:n,initialized:!1};s.ui.addToolbar(c,{isContextual:!0,beforeFocus:()=>{const d=i(s.editing.view.document.selection);d&&this._showToolbar(l,d)},afterBlur:()=>{this._hideToolbar(l)}}),this._toolbarDefinitions.set(t,l)}_updateToolbarsVisibility(){let t=0,e=null,n=null;for(const i of this._toolbarDefinitions.values()){const r=i.getRelatedElement(this.editor.editing.view.document.selection);if(!this.isEnabled||!r)this._isToolbarInBalloon(i)&&this._hideToolbar(i);else if(!this.editor.ui.focusTracker.isFocused)this._isToolbarVisible(i)&&this._hideToolbar(i);else{const s=r.getAncestors().length;s>t&&(t=s,e=r,n=i)}}n&&this._showToolbar(n,e)}_hideToolbar(t){this._balloon.remove(t.view),this.stopListening(this._balloon,"change:visibleView")}_showToolbar(t,e){this._isToolbarVisible(t)?Sf(this.editor,e):this._isToolbarInBalloon(t)||(t.initialized||(t.initialized=!0,t.view.fillFromConfig(t.itemsConfig,this.editor.ui.componentFactory)),this._balloon.add({view:t.view,position:Tf(this.editor,e),balloonClassName:t.balloonClassName}),this.listenTo(this._balloon,"change:visibleView",()=>{for(const n of this._toolbarDefinitions.values())if(this._isToolbarVisible(n)){const i=n.getRelatedElement(this.editor.editing.view.document.selection);Sf(this.editor,i)}}))}_isToolbarVisible(t){return this._balloon.visibleView===t.view}_isToolbarInBalloon(t){return this._balloon.hasView(t.view)}}function Sf(o,t){const e=o.plugins.get("ContextualBalloon"),n=Tf(o,t);e.updatePosition(n)}function Tf(o,t){const e=o.editing.view,n=Fn.defaultPositions;return{target:e.domConverter.mapViewToDom(t),positions:[n.northArrowSouth,n.northArrowSouthWest,n.northArrowSouthEast,n.southArrowNorth,n.southArrowNorthWest,n.southArrowNorthEast,n.viewportStickyNorth]}}function mS(o){const t=o.getSelectedElement();return!!(t&&Tt(t))}class pS extends st(){constructor(t){super(),this.set("activeHandlePosition",null),this.set("proposedWidthPercents",null),this.set("proposedWidth",null),this.set("proposedHeight",null),this.set("proposedHandleHostWidth",null),this.set("proposedHandleHostHeight",null),this._options=t,this._referenceCoordinates=null}get originalWidth(){return this._originalWidth}get originalHeight(){return this._originalHeight}get originalWidthPercents(){return this._originalWidthPercents}get aspectRatio(){return this._aspectRatio}begin(t,e,n){const i=new Q(e);this.activeHandlePosition=AS(t),this._referenceCoordinates=bS(e,CS(this.activeHandlePosition)),this._originalWidth=i.width,this._originalHeight=i.height,this._aspectRatio=i.width/i.height;const r=n.style.width;r&&r.match(/^\d+(\.\d*)?%$/)?this._originalWidthPercents=parseFloat(r):this._originalWidthPercents=kS(n,i)}update(t){this.proposedWidth=t.width,this.proposedHeight=t.height,this.proposedWidthPercents=t.widthPercents,this.proposedHandleHostWidth=t.handleHostWidth,this.proposedHandleHostHeight=t.handleHostHeight}}function kS(o,t){const e=o.parentElement;let n=parseFloat(e.ownerDocument.defaultView.getComputedStyle(e).width);const i=5;let r=0,s=e;for(;isNaN(n);){if(s=s.parentElement,++r>i)return 0;n=parseFloat(e.ownerDocument.defaultView.getComputedStyle(s).width)}return t.width/n*100}function bS(o,t){const e=new Q(o),n=t.split("-"),i={x:n[1]=="right"?e.right:e.left,y:n[0]=="bottom"?e.bottom:e.top};return i.x+=o.ownerDocument.defaultView.scrollX,i.y+=o.ownerDocument.defaultView.scrollY,i}function wS(o){return`ck-widget__resizer__handle-${o}`}function AS(o){const t=["top-left","top-right","bottom-right","bottom-left"];for(const e of t)if(o.classList.contains(wS(e)))return e}function CS(o){const t=o.split("-"),e={top:"bottom",bottom:"top",left:"right",right:"left"};return`${e[t[0]]}-${e[t[1]]}`}class _S extends Z{constructor(){super();const t=this.bindTemplate;this.setTemplate({tag:"div",attributes:{class:["ck","ck-size-view",t.to("_viewPosition",e=>e?`ck-orientation-${e}`:"")],style:{display:t.if("_isVisible","none",e=>!e)}},children:[{text:t.to("_label")}]})}_bindToState(t,e){this.bind("_isVisible").to(e,"proposedWidth",e,"proposedHeight",(n,i)=>n!==null&&i!==null),this.bind("_label").to(e,"proposedHandleHostWidth",e,"proposedHandleHostHeight",e,"proposedWidthPercents",(n,i,r)=>t.unit==="px"?`${n}×${i}`:`${r}%`),this.bind("_viewPosition").to(e,"activeHandlePosition",e,"proposedHandleHostWidth",e,"proposedHandleHostHeight",(n,i,r)=>i<50||r<50?"above-center":n)}_dismiss(){this.unbind(),this._isVisible=!1}}class If extends st(){constructor(t){super(),this._viewResizerWrapper=null,this._options=t,this.set("isEnabled",!0),this.set("isSelected",!1),this.bind("isVisible").to(this,"isEnabled",this,"isSelected",(e,n)=>e&&n),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"})}get state(){return this._state}show(){this._options.editor.editing.view.change(e=>{e.removeClass("ck-hidden",this._viewResizerWrapper)})}hide(){this._options.editor.editing.view.change(e=>{e.addClass("ck-hidden",this._viewResizerWrapper)})}attach(){const t=this,e=this._options.viewElement;this._options.editor.editing.view.change(i=>{const r=i.createUIElement("div",{class:"ck ck-reset_all ck-widget__resizer"},function(s){const a=this.toDomElement(s);return t._appendHandles(a),t._appendSizeUI(a),a});i.insert(i.createPositionAt(e,"end"),r),i.addClass("ck-widget_with-resizer",e),this._viewResizerWrapper=r,this.isVisible||this.hide()}),this.on("change:isVisible",()=>{this.isVisible?(this.show(),this.redraw()):this.hide()})}begin(t){this._state=new pS(this._options),this._sizeView._bindToState(this._options,this.state),this._initialViewWidth=this._options.viewElement.getStyle("width"),this.state.begin(t,this._getHandleHost(),this._getResizeHost())}updateSize(t){const e=this._proposeNewSize(t);this._options.editor.editing.view.change(l=>{const d=this._options.unit||"%",u=(d==="%"?e.widthPercents:e.width)+d;l.setStyle("width",u,this._options.viewElement)});const i=this._getHandleHost(),r=new Q(i),s=Math.round(r.width),a=Math.round(r.height),c=new Q(i);e.width=Math.round(c.width),e.height=Math.round(c.height),this.redraw(r),this.state.update({...e,handleHostWidth:s,handleHostHeight:a})}commit(){const t=this._options.unit||"%",e=(t==="%"?this.state.proposedWidthPercents:this.state.proposedWidth)+t;this._options.editor.editing.view.change(()=>{this._cleanup(),this._options.onCommit(e)})}cancel(){this._cleanup()}destroy(){this.cancel()}redraw(t){const e=this._domResizerWrapper;if(!xS(e))return;const n=e.parentElement,i=this._getHandleHost(),r=this._viewResizerWrapper,s=[r.getStyle("width"),r.getStyle("height"),r.getStyle("left"),r.getStyle("top")];let a;if(n.isSameNode(i)){const c=t||new Q(i);a=[c.width+"px",c.height+"px",void 0,void 0]}else a=[i.offsetWidth+"px",i.offsetHeight+"px",i.offsetLeft+"px",i.offsetTop+"px"];jt(s,a)!=="same"&&this._options.editor.editing.view.change(c=>{c.setStyle({width:a[0],height:a[1],left:a[2],top:a[3]},r)})}containsHandle(t){return this._domResizerWrapper.contains(t)}static isResizeHandle(t){return t.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(t){const e=this.state,n=yS(t),i=this._options.isCentered?this._options.isCentered(this):!0,r={x:e._referenceCoordinates.x-(n.x+e.originalWidth),y:n.y-e.originalHeight-e._referenceCoordinates.y};i&&e.activeHandlePosition.endsWith("-right")&&(r.x=n.x-(e._referenceCoordinates.x+e.originalWidth)),i&&(r.x*=2);let s=Math.abs(e.originalWidth+r.x),a=Math.abs(e.originalHeight+r.y);return(s/e.aspectRatio>a?"width":"height")=="width"?a=s/e.aspectRatio:s=a*e.aspectRatio,{width:Math.round(s),height:Math.round(a),widthPercents:Math.min(Math.round(e.originalWidthPercents/e.originalWidth*s*100)/100,100)}}_getResizeHost(){const t=this._domResizerWrapper.parentElement;return this._options.getResizeHost(t)}_getHandleHost(){const t=this._domResizerWrapper.parentElement;return this._options.getHandleHost(t)}get _domResizerWrapper(){return this._options.editor.editing.view.domConverter.mapViewToDom(this._viewResizerWrapper)}_appendHandles(t){const e=["top-left","top-right","bottom-right","bottom-left"];for(const n of e)t.appendChild(new re({tag:"div",attributes:{class:`ck-widget__resizer__handle ${vS(n)}`}}).render())}_appendSizeUI(t){this._sizeView=new _S,this._sizeView.render(),t.appendChild(this._sizeView.element)}}function vS(o){return`ck-widget__resizer__handle-${o}`}function yS(o){return{x:o.pageX,y:o.pageY}}function xS(o){return o&&o.ownerDocument&&o.ownerDocument.contains(o)}var Mf=P(4875),Ma={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ma.insert="head",Ma.singleton=!0,R()(Mf.Z,Ma),Mf.Z.locals;class Ba extends L{constructor(){super(...arguments),this._resizers=new Map}static get pluginName(){return"WidgetResize"}init(){const t=this.editor.editing,e=H.window.document;this.set("selectedResizer",null),this.set("_activeResizer",null),t.view.addObserver(vi),this._observer=new(Kt()),this.listenTo(t.view.document,"mousedown",this._mouseDownListener.bind(this),{priority:"high"}),this._observer.listenTo(e,"mousemove",this._mouseMoveListener.bind(this)),this._observer.listenTo(e,"mouseup",this._mouseUpListener.bind(this)),this._redrawSelectedResizerThrottled=So(()=>this.redrawSelectedResizer(),200),this.editor.ui.on("update",this._redrawSelectedResizerThrottled),this.editor.model.document.on("change",()=>{for(const[i,r]of this._resizers)i.isAttached()||(this._resizers.delete(i),r.destroy())},{priority:"lowest"}),this._observer.listenTo(H.window,"resize",this._redrawSelectedResizerThrottled);const n=this.editor.editing.view.document.selection;n.on("change",()=>{const i=n.getSelectedElement(),r=this.getResizerByViewElement(i)||null;r?this.select(r):this.deselect()})}redrawSelectedResizer(){this.selectedResizer&&this.selectedResizer.isVisible&&this.selectedResizer.redraw()}destroy(){super.destroy(),this._observer.stopListening();for(const t of this._resizers.values())t.destroy();this._redrawSelectedResizerThrottled.cancel()}select(t){this.deselect(),this.selectedResizer=t,this.selectedResizer.isSelected=!0}deselect(){this.selectedResizer&&(this.selectedResizer.isSelected=!1),this.selectedResizer=null}attachTo(t){const e=new If(t),n=this.editor.plugins;if(e.attach(),n.has("WidgetToolbarRepository")){const s=n.get("WidgetToolbarRepository");e.on("begin",()=>{s.forceDisabled("resize")},{priority:"lowest"}),e.on("cancel",()=>{s.clearForceDisabled("resize")},{priority:"highest"}),e.on("commit",()=>{s.clearForceDisabled("resize")},{priority:"highest"})}this._resizers.set(t.viewElement,e);const r=this.editor.editing.view.document.selection.getSelectedElement();return this.getResizerByViewElement(r)==e&&this.select(e),e}getResizerByViewElement(t){return this._resizers.get(t)}_getResizerByHandle(t){for(const e of this._resizers.values())if(e.containsHandle(t))return e}_mouseDownListener(t,e){const n=e.domTarget;If.isResizeHandle(n)&&(this._activeResizer=this._getResizerByHandle(n)||null,this._activeResizer&&(this._activeResizer.begin(n),t.stop(),e.preventDefault()))}_mouseMoveListener(t,e){this._activeResizer&&this._activeResizer.updateSize(e)}_mouseUpListener(){this._activeResizer&&(this._activeResizer.commit(),this._activeResizer=null)}}const Na=Tn("px");class ES extends Z{constructor(){super();const t=this.bindTemplate;this.set({isVisible:!1,left:null,top:null,width:null}),this.setTemplate({tag:"div",attributes:{class:["ck","ck-clipboard-drop-target-line",t.if("isVisible","ck-hidden",e=>!e)],style:{left:t.to("left",e=>Na(e)),top:t.to("top",e=>Na(e)),width:t.to("width",e=>Na(e))}}})}}class Ui extends L{constructor(){super(...arguments),this.removeDropMarkerDelayed=Lr(()=>this.removeDropMarker(),40),this._updateDropMarkerThrottled=So(t=>this._updateDropMarker(t),40),this._reconvertMarkerThrottled=So(()=>{this.editor.model.markers.has("drop-target")&&this.editor.editing.reconvertMarker("drop-target")},0),this._dropTargetLineView=new ES,this._domEmitter=new(Kt()),this._scrollables=new Map}static get pluginName(){return"DragDropTarget"}init(){this._setupDropMarker()}destroy(){this._domEmitter.stopListening();for(const{resizeObserver:t}of this._scrollables.values())t.destroy();return this._updateDropMarkerThrottled.cancel(),this.removeDropMarkerDelayed.cancel(),this._reconvertMarkerThrottled.cancel(),super.destroy()}updateDropMarker(t,e,n,i,r,s){this.removeDropMarkerDelayed.cancel();const a=Bf(this.editor,t,e,n,i,r,s);if(a){if(s&&s.containsRange(a))return this.removeDropMarker();this._updateDropMarkerThrottled(a)}}getFinalDropRange(t,e,n,i,r,s){const a=Bf(this.editor,t,e,n,i,r,s);return this.removeDropMarker(),a}removeDropMarker(){const t=this.editor.model;this.removeDropMarkerDelayed.cancel(),this._updateDropMarkerThrottled.cancel(),this._dropTargetLineView.isVisible=!1,t.markers.has("drop-target")&&t.change(e=>{e.removeMarker("drop-target")})}_setupDropMarker(){const t=this.editor;t.ui.view.body.add(this._dropTargetLineView),t.conversion.for("editingDowncast").markerToHighlight({model:"drop-target",view:{classes:["ck-clipboard-drop-target-range"]}}),t.conversion.for("editingDowncast").markerToElement({model:"drop-target",view:(e,{writer:n})=>{if(t.model.schema.checkChild(e.markerRange.start,"$text"))return this._dropTargetLineView.isVisible=!1,this._createDropTargetPosition(n);e.markerRange.isCollapsed?this._updateDropTargetLine(e.markerRange):this._dropTargetLineView.isVisible=!1}})}_updateDropMarker(t){const e=this.editor,n=e.model.markers;e.model.change(i=>{n.has("drop-target")?n.get("drop-target").getRange().isEqual(t)||i.updateMarker("drop-target",{range:t}):i.addMarker("drop-target",{range:t,usingOperation:!1,affectsData:!1})})}_createDropTargetPosition(t){return t.createUIElement("span",{class:"ck ck-clipboard-drop-target-position"},function(e){const n=this.toDomElement(e);return n.append("⁠",e.createElement("span"),"⁠"),n})}_updateDropTargetLine(t){const e=this.editor.editing,n=t.start.nodeBefore,i=t.start.nodeAfter,r=t.start.parent,s=n?e.mapper.toViewElement(n):null,a=s?e.view.domConverter.mapViewToDom(s):null,c=i?e.mapper.toViewElement(i):null,l=c?e.view.domConverter.mapViewToDom(c):null,d=e.mapper.toViewElement(r);if(!d)return;const u=e.view.domConverter.mapViewToDom(d),f=this._getScrollableRect(d),{scrollX:p,scrollY:w}=H.window,S=a?new Q(a):null,M=l?new Q(l):null,z=new Q(u).excludeScrollbarsAndBorders(),V=S?S.bottom:z.top,tt=M?M.top:z.bottom,ct=H.window.getComputedStyle(u),mt=V<=tt?(V+tt)/2:tt;if(f.topa.schema.checkChild(f,w))){if(a.schema.checkChild(f,"$text"))return a.createRange(f);if(u)return Gi(o,zf(o,u.parent),n,i)}}}else if(a.schema.isInline(d))return Gi(o,d,n,i)}if(a.schema.isBlock(d))return Gi(o,d,n,i);if(a.schema.checkChild(d,"$block")){const u=Array.from(d.getChildren()).filter(w=>w.is("element")&&!DS(o,w));let f=0,p=u.length;if(p==0)return a.createRange(a.createPositionAt(d,"end"));for(;f{i?(this.forceDisabled("readOnlyMode"),this._isBlockDragging=!1):this.clearForceDisabled("readOnlyMode")}),g.isAndroid&&this.forceDisabled("noAndroidSupport"),t.plugins.has("BlockToolbar")){const n=t.plugins.get("BlockToolbar").buttonView.element;this._domEmitter.listenTo(n,"dragstart",(i,r)=>this._handleBlockDragStart(r)),this._domEmitter.listenTo(H.document,"dragover",(i,r)=>this._handleBlockDragging(r)),this._domEmitter.listenTo(H.document,"drop",(i,r)=>this._handleBlockDragging(r)),this._domEmitter.listenTo(H.document,"dragend",()=>this._handleBlockDragEnd(),{useCapture:!0}),this.isEnabled&&n.setAttribute("draggable","true"),this.on("change:isEnabled",(i,r,s)=>{n.setAttribute("draggable",s?"true":"false")})}}destroy(){return this._domEmitter.stopListening(),super.destroy()}_handleBlockDragStart(t){if(!this.isEnabled)return;const e=this.editor.model,n=e.document.selection,i=this.editor.editing.view,r=Array.from(n.getSelectedBlocks()),s=e.createRange(e.createPositionBefore(r[0]),e.createPositionAfter(r[r.length-1]));e.change(a=>a.setSelection(s)),this._isBlockDragging=!0,i.focus(),i.getObserver(zo).onDomEvent(t)}_handleBlockDragging(t){if(!this.isEnabled||!this._isBlockDragging)return;const e=t.clientX+(this.editor.locale.contentLanguageDirection=="ltr"?100:-100),n=t.clientY,i=document.elementFromPoint(e,n),r=this.editor.editing.view;!i||!i.closest(".ck-editor__editable")||r.getObserver(zo).onDomEvent({...t,type:t.type,dataTransfer:t.dataTransfer,target:i,clientX:e,clientY:n,preventDefault:()=>t.preventDefault(),stopPropagation:()=>t.stopPropagation()})}_handleBlockDragEnd(){this._isBlockDragging=!1}}var Lf=P(799),za={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};za.insert="head",za.singleton=!0,R()(Lf.Z,za),Lf.Z.locals;class IS extends L{constructor(){super(...arguments),this._clearDraggableAttributesDelayed=Lr(()=>this._clearDraggableAttributes(),40),this._blockMode=!1,this._domEmitter=new(Kt())}static get pluginName(){return"DragDrop"}static get requires(){return[ke,Lo,Ui,TS]}init(){const t=this.editor,e=t.editing.view;this._draggedRange=null,this._draggingUid="",this._draggableElement=null,e.addObserver(zo),e.addObserver(vi),this._setupDragging(),this._setupContentInsertionIntegration(),this._setupClipboardInputIntegration(),this._setupDraggableAttributeHandling(),this.listenTo(t,"change:isReadOnly",(n,i,r)=>{r?this.forceDisabled("readOnlyMode"):this.clearForceDisabled("readOnlyMode")}),this.on("change:isEnabled",(n,i,r)=>{r||this._finalizeDragging(!1)}),g.isAndroid&&this.forceDisabled("noAndroidSupport")}destroy(){return this._draggedRange&&(this._draggedRange.detach(),this._draggedRange=null),this._previewContainer&&this._previewContainer.remove(),this._domEmitter.stopListening(),this._clearDraggableAttributesDelayed.cancel(),super.destroy()}_setupDragging(){const t=this.editor,e=t.model,n=t.editing.view,i=n.document,r=t.plugins.get(Ui);this.listenTo(i,"dragstart",(s,a)=>{if(a.target&&a.target.is("editableElement")){a.preventDefault();return}if(this._prepareDraggedRange(a.target),!this._draggedRange){a.preventDefault();return}this._draggingUid=Vt(),a.dataTransfer.effectAllowed=this.isEnabled?"copyMove":"copy",a.dataTransfer.setData("application/ckeditor5-dragging-uid",this._draggingUid);const c=e.createSelection(this._draggedRange.toRange());this.editor.plugins.get("ClipboardPipeline")._fireOutputTransformationEvent(a.dataTransfer,c,"dragstart");const{dataTransfer:d,domTarget:u,domEvent:f}=a,{clientX:p}=f;this._updatePreview({dataTransfer:d,domTarget:u,clientX:p}),a.stopPropagation(),this.isEnabled||(this._draggedRange.detach(),this._draggedRange=null,this._draggingUid="")},{priority:"low"}),this.listenTo(i,"dragend",(s,a)=>{this._finalizeDragging(!a.dataTransfer.isCanceled&&a.dataTransfer.dropEffect=="move")},{priority:"low"}),this._domEmitter.listenTo(H.document,"dragend",()=>{this._blockMode=!1},{useCapture:!0}),this.listenTo(i,"dragenter",()=>{this.isEnabled&&n.focus()}),this.listenTo(i,"dragleave",()=>{r.removeDropMarkerDelayed()}),this.listenTo(i,"dragging",(s,a)=>{if(!this.isEnabled){a.dataTransfer.dropEffect="none";return}const{clientX:c,clientY:l}=a.domEvent;r.updateDropMarker(a.target,a.targetRanges,c,l,this._blockMode,this._draggedRange),this._draggedRange||(a.dataTransfer.dropEffect="copy"),g.isGecko||(a.dataTransfer.effectAllowed=="copy"?a.dataTransfer.dropEffect="copy":["all","copyMove"].includes(a.dataTransfer.effectAllowed)&&(a.dataTransfer.dropEffect="move")),s.stop()},{priority:"low"})}_setupClipboardInputIntegration(){const t=this.editor,n=t.editing.view.document,i=t.plugins.get(Ui);this.listenTo(n,"clipboardInput",(r,s)=>{if(s.method!="drop")return;const{clientX:a,clientY:c}=s.domEvent,l=i.getFinalDropRange(s.target,s.targetRanges,a,c,this._blockMode,this._draggedRange);if(!l){this._finalizeDragging(!1),r.stop();return}if(this._draggedRange&&this._draggingUid!=s.dataTransfer.getData("application/ckeditor5-dragging-uid")&&(this._draggedRange.detach(),this._draggedRange=null,this._draggingUid=""),Pf(s.dataTransfer)=="move"&&this._draggedRange&&this._draggedRange.containsRange(l,!0)){this._finalizeDragging(!1),r.stop();return}s.targetRanges=[t.editing.mapper.toViewRange(l)]},{priority:"high"})}_setupContentInsertionIntegration(){const t=this.editor.plugins.get(ke);t.on("contentInsertion",(e,n)=>{if(!this.isEnabled||n.method!=="drop")return;const i=n.targetRanges.map(r=>this.editor.editing.mapper.toModelRange(r));this.editor.model.change(r=>r.setSelection(i))},{priority:"high"}),t.on("contentInsertion",(e,n)=>{if(!this.isEnabled||n.method!=="drop")return;const i=Pf(n.dataTransfer)=="move",r=!n.resultRange||!n.resultRange.isCollapsed;this._finalizeDragging(r&&i)},{priority:"lowest"})}_setupDraggableAttributeHandling(){const t=this.editor,e=t.editing.view,n=e.document;this.listenTo(n,"mousedown",(i,r)=>{if(g.isAndroid||!r)return;this._clearDraggableAttributesDelayed.cancel();let s=Of(r.target);if(g.isBlink&&!t.isReadOnly&&!s&&!n.selection.isCollapsed){const a=n.selection.getSelectedElement();(!a||!Tt(a))&&(s=n.selection.editableElement)}s&&(e.change(a=>{a.setAttribute("draggable","true",s)}),this._draggableElement=t.editing.mapper.toModelElement(s))}),this.listenTo(n,"mouseup",()=>{g.isAndroid||this._clearDraggableAttributesDelayed()})}_clearDraggableAttributes(){const t=this.editor.editing;t.view.change(e=>{this._draggableElement&&this._draggableElement.root.rootName!="$graveyard"&&e.removeAttribute("draggable",t.mapper.toViewElement(this._draggableElement)),this._draggableElement=null})}_finalizeDragging(t){const e=this.editor,n=e.model;e.plugins.get(Ui).removeDropMarker(),this._clearDraggableAttributes(),e.plugins.has("WidgetToolbarRepository")&&e.plugins.get("WidgetToolbarRepository").clearForceDisabled("dragDrop"),this._draggingUid="",this._previewContainer&&(this._previewContainer.remove(),this._previewContainer=void 0),this._draggedRange&&(t&&this.isEnabled&&n.change(r=>{const s=n.createSelection(this._draggedRange);n.deleteContent(s,{doNotAutoparagraph:!0});const a=s.getFirstPosition().parent;a.isEmpty&&!n.schema.checkChild(a,"$text")&&n.schema.checkChild(a,"paragraph")&&r.insertElement("paragraph",a,0)}),this._draggedRange.detach(),this._draggedRange=null)}_prepareDraggedRange(t){const e=this.editor,n=e.model,i=n.document.selection,r=t?Of(t):null;if(r){const l=e.editing.mapper.toModelElement(r);this._draggedRange=Xt.fromRange(n.createRangeOn(l)),this._blockMode=n.schema.isBlock(l),e.plugins.has("WidgetToolbarRepository")&&e.plugins.get("WidgetToolbarRepository").forceDisabled("dragDrop");return}if(i.isCollapsed&&!i.getFirstPosition().parent.isEmpty)return;const s=Array.from(i.getSelectedBlocks()),a=i.getFirstRange();if(s.length==0){this._draggedRange=Xt.fromRange(a);return}const c=Rf(n,s);if(s.length>1)this._draggedRange=Xt.fromRange(c),this._blockMode=!0;else if(s.length==1){const l=a.start.isTouching(c.start)&&a.end.isTouching(c.end);this._draggedRange=Xt.fromRange(l?c:a),this._blockMode=l}n.change(l=>l.setSelection(this._draggedRange.toRange()))}_updatePreview({dataTransfer:t,domTarget:e,clientX:n}){const i=this.editor.editing.view,r=i.document.selection.editableElement,s=i.domConverter.mapViewToDom(r),a=H.window.getComputedStyle(s);this._previewContainer?this._previewContainer.firstElementChild&&this._previewContainer.removeChild(this._previewContainer.firstElementChild):(this._previewContainer=Qn(H.document,"div",{style:"position: fixed; left: -999999px;"}),H.document.body.appendChild(this._previewContainer));const c=new Q(s);if(s.contains(e))return;const l=parseFloat(a.paddingLeft),d=Qn(H.document,"div");d.className="ck ck-content",d.style.width=a.width,d.style.paddingLeft=`${c.left-n+l}px`,g.isiOS&&(d.style.backgroundColor="white"),d.innerHTML=t.getData("text/html"),t.setDragImage(d,0,0),this._previewContainer.appendChild(d)}}function Pf(o){return g.isGecko?o.dropEffect:["all","copyMove"].includes(o.effectAllowed)?"move":"copy"}function Of(o){if(o.is("editableElement"))return null;if(o.hasClass("ck-widget__selection-handle"))return o.findAncestor(Tt);if(Tt(o))return o;const t=o.findAncestor(e=>Tt(e)||e.is("editableElement"));return Tt(t)?t:null}function Rf(o,t){const e=t[0],n=t[t.length-1],i=e.getCommonAncestor(n),r=o.createPositionBefore(e),s=o.createPositionAfter(n);if(i&&i.is("element")&&!o.schema.isLimit(i)){const a=o.createRangeOn(i),c=r.isTouching(a.start),l=s.isTouching(a.end);if(c&&l)return Rf(o,[i])}return o.createRange(r,s)}class MS extends L{static get pluginName(){return"PastePlainText"}static get requires(){return[ke]}init(){const t=this.editor,e=t.model,n=t.editing.view,i=n.document,r=e.document.selection;let s=!1;n.addObserver(zo),this.listenTo(i,"keydown",(a,c)=>{s=c.shiftKey}),t.plugins.get(ke).on("contentInsertion",(a,c)=>{!s&&!BS(c.content,e.schema)||e.change(l=>{const d=Array.from(r.getAttributes()).filter(([f])=>e.schema.getAttributeProperties(f).isFormatting);r.isCollapsed||e.deleteContent(r,{doNotAutoparagraph:!0}),d.push(...r.getAttributes());const u=l.createRangeIn(c.content);for(const f of u.getItems())f.is("$textProxy")&&l.setAttributes(d,f)})})}}function BS(o,t){if(o.childCount>1)return!1;const e=o.getChild(0);return t.isObject(e)?!1:Array.from(e.getAttributeKeys()).length==0}class jf extends L{static get pluginName(){return"Clipboard"}static get requires(){return[ke,IS,MS]}}class NS extends X{constructor(t){super(t),this.affectsData=!1}execute(){const t=this.editor.model,e=t.document.selection;let n=t.schema.getLimitElement(e);if(e.containsEntireContent(n)||!Ff(t.schema,n))do if(n=n.parent,!n)return;while(!Ff(t.schema,n));t.change(i=>{i.setSelection(n,"in")})}}function Ff(o,t){return o.isLimit(t)&&(o.checkChild(t,"$text")||o.checkChild(t,"paragraph"))}const zS=so("Ctrl+A");class LS extends L{static get pluginName(){return"SelectAllEditing"}init(){const t=this.editor,n=t.editing.view.document;t.commands.add("selectAll",new NS(t)),this.listenTo(n,"keydown",(i,r)=>{In(r)===zS&&(t.execute("selectAll"),r.preventDefault())})}}const PS='';class OS extends L{static get pluginName(){return"SelectAllUI"}init(){const t=this.editor;t.ui.componentFactory.add("selectAll",e=>{const n=t.commands.get("selectAll"),i=new at(e),r=e.t;return i.set({label:r("Select all"),icon:PS,keystroke:"Ctrl+A",tooltip:!0}),i.bind("isEnabled").to(n,"isEnabled"),this.listenTo(i,"execute",()=>{t.execute("selectAll"),t.editing.view.focus()}),i})}}class RS extends L{static get requires(){return[LS,OS]}static get pluginName(){return"SelectAll"}}class Vf extends X{constructor(t){super(t),this._stack=[],this._createdBatches=new WeakSet,this.refresh(),this._isEnabledBasedOnSelection=!1,this.listenTo(t.data,"set",(e,n)=>{n[1]={...n[1]};const i=n[1];i.batchType||(i.batchType={isUndoable:!1})},{priority:"high"}),this.listenTo(t.data,"set",(e,n)=>{n[1].batchType.isUndoable||this.clearStack()})}refresh(){this.isEnabled=this._stack.length>0}get createdBatches(){return this._createdBatches}addBatch(t){const e=this.editor.model.document.selection,n={ranges:e.hasOwnRange?Array.from(e.getRanges()):[],isBackward:e.isBackward};this._stack.push({batch:t,selection:n}),this.refresh()}clearStack(){this._stack=[],this.refresh()}_restoreSelection(t,e,n){const i=this.editor.model,r=i.document,s=[],a=t.map(l=>l.getTransformedByOperations(n)),c=a.flat();for(const l of a){const d=l.filter(u=>u.root!=r.graveyard).filter(u=>!FS(u,c));d.length&&(jS(d),s.push(d[0]))}s.length&&i.change(l=>{l.setSelection(s,{backward:e})})}_undo(t,e){const n=this.editor.model,i=n.document;this._createdBatches.add(e);const r=t.operations.slice().filter(s=>s.isDocumentOperation);r.reverse();for(const s of r){const a=s.baseVersion+1,c=Array.from(i.history.getOperations(a)),d=z5([s.getReversed()],c,{useRelations:!0,document:this.editor.model.document,padWithNoOps:!1,forceWeakRemove:!0}).operationsA;for(let u of d){const f=u.affectedSelectable;f&&!n.canEditAt(f)&&(u=new St(u.baseVersion)),e.addOperation(u),n.applyOperation(u),i.history.setOperationAsUndone(s,u)}}}}function jS(o){o.sort((t,e)=>t.start.isBefore(e.start)?-1:1);for(let t=1;te!==o&&e.containsRange(o,!0))}class VS extends Vf{execute(t=null){const e=t?this._stack.findIndex(r=>r.batch==t):this._stack.length-1,n=this._stack.splice(e,1)[0],i=this.editor.model.createBatch({isUndo:!0});this.editor.model.enqueueChange(i,()=>{this._undo(n.batch,i);const r=this.editor.model.document.history.getOperations(n.batch.baseVersion);this._restoreSelection(n.selection.ranges,n.selection.isBackward,r)}),this.fire("revert",n.batch,i),this.refresh()}}class HS extends Vf{execute(){const t=this._stack.pop(),e=this.editor.model.createBatch({isUndo:!0});this.editor.model.enqueueChange(e,()=>{const i=t.batch.operations[t.batch.operations.length-1].baseVersion+1,r=this.editor.model.document.history.getOperations(i);this._restoreSelection(t.selection.ranges,t.selection.isBackward,r),this._undo(t.batch,e)}),this.refresh()}}class US extends L{constructor(){super(...arguments),this._batchRegistry=new WeakSet}static get pluginName(){return"UndoEditing"}init(){const t=this.editor;this._undoCommand=new VS(t),this._redoCommand=new HS(t),t.commands.add("undo",this._undoCommand),t.commands.add("redo",this._redoCommand),this.listenTo(t.model,"applyOperation",(e,n)=>{const i=n[0];if(!i.isDocumentOperation)return;const r=i.batch,s=this._redoCommand.createdBatches.has(r),a=this._undoCommand.createdBatches.has(r);this._batchRegistry.has(r)||(this._batchRegistry.add(r),r.isUndoable&&(s?this._undoCommand.addBatch(r):a||(this._undoCommand.addBatch(r),this._redoCommand.clearStack())))},{priority:"highest"}),this.listenTo(this._undoCommand,"revert",(e,n,i)=>{this._redoCommand.addBatch(i)}),t.keystrokes.set("CTRL+Z","undo"),t.keystrokes.set("CTRL+Y","redo"),t.keystrokes.set("CTRL+SHIFT+Z","redo")}}class GS extends L{static get pluginName(){return"UndoUI"}init(){const t=this.editor,e=t.locale,n=t.t,i=e.uiLanguageDirection=="ltr"?J.undo:J.redo,r=e.uiLanguageDirection=="ltr"?J.redo:J.undo;this._addButton("undo",n("Undo"),"CTRL+Z",i),this._addButton("redo",n("Redo"),"CTRL+Y",r)}_addButton(t,e,n,i){const r=this.editor;r.ui.componentFactory.add(t,s=>{const a=r.commands.get(t),c=new at(s);return c.set({label:e,icon:i,keystroke:n,tooltip:!0}),c.bind("isEnabled").to(a,"isEnabled"),this.listenTo(c,"execute",()=>{r.execute(t),r.editing.view.focus()}),c})}}class La extends L{static get requires(){return[US,GS]}static get pluginName(){return"Undo"}}class WS extends L{static get requires(){return[jf,ji,RS,y4,e4,La]}static get pluginName(){return"Essentials"}}class qS extends X{constructor(t){super(t),this._isEnabledBasedOnSelection=!1}refresh(){const t=this.editor.model,e=t.document,n=Lt(e.selection.getSelectedBlocks());this.value=!!n&&n.is("element","paragraph"),this.isEnabled=!!n&&Hf(n,t.schema)}execute(t={}){const e=this.editor.model,n=e.document,i=t.selection||n.selection;e.canEditAt(i)&&e.change(r=>{const s=i.getSelectedBlocks();for(const a of s)!a.is("element","paragraph")&&Hf(a,e.schema)&&r.rename(a,"paragraph")})}}function Hf(o,t){return t.checkChild(o.parent,"paragraph")&&!t.isObject(o)}class ZS extends X{constructor(t){super(t),this._isEnabledBasedOnSelection=!1}execute(t){const e=this.editor.model,n=t.attributes;let i=t.position;e.canEditAt(i)&&e.change(r=>{if(i=this._findPositionToInsertParagraph(i,r),!i)return;const s=r.createElement("paragraph");n&&e.schema.setAllowedAttributes(s,n,r),e.insertContent(s,i),r.setSelection(s,"in")})}_findPositionToInsertParagraph(t,e){const n=this.editor.model;if(n.schema.checkChild(t,"paragraph"))return t;const i=n.schema.findAllowedParent(t,"paragraph");if(!i)return null;const r=t.parent,s=n.schema.checkChild(r,"$text");return r.isEmpty||s&&t.isAtEnd?n.createPositionAfter(r):!r.isEmpty&&s&&t.isAtStart?n.createPositionBefore(r):e.split(t,i).position}}class Wi extends L{static get pluginName(){return"Paragraph"}init(){const t=this.editor,e=t.model;t.commands.add("paragraph",new qS(t)),t.commands.add("insertParagraph",new ZS(t)),e.schema.register("paragraph",{inheritAllFrom:"$block"}),t.conversion.elementToElement({model:"paragraph",view:"p"}),t.conversion.for("upcast").elementToElement({model:(n,{writer:i})=>!Wi.paragraphLikeElements.has(n.name)||n.isEmpty?null:i.createElement("paragraph"),view:/.+/,converterPriority:"low"})}}Wi.paragraphLikeElements=new Set(["blockquote","dd","div","dt","h1","h2","h3","h4","h5","h6","li","p","td","th"]);const Uf=Wi;class $S extends X{constructor(t,e){super(t),this.modelElements=e}refresh(){const t=Lt(this.editor.model.document.selection.getSelectedBlocks());this.value=!!t&&this.modelElements.includes(t.name)&&t.name,this.isEnabled=!!t&&this.modelElements.some(e=>Gf(t,e,this.editor.model.schema))}execute(t){const e=this.editor.model,n=e.document,i=t.value;e.change(r=>{const s=Array.from(n.selection.getSelectedBlocks()).filter(a=>Gf(a,i,e.schema));for(const a of s)a.is("element",i)||r.rename(a,i)})}}function Gf(o,t,e){return e.checkChild(o.parent,t)&&!e.isObject(o)}const Wf="paragraph";class KS extends L{static get pluginName(){return"HeadingEditing"}constructor(t){super(t),t.config.define("heading",{options:[{model:"paragraph",title:"Paragraph",class:"ck-heading_paragraph"},{model:"heading1",view:"h2",title:"Heading 1",class:"ck-heading_heading1"},{model:"heading2",view:"h3",title:"Heading 2",class:"ck-heading_heading2"},{model:"heading3",view:"h4",title:"Heading 3",class:"ck-heading_heading3"}]})}static get requires(){return[Uf]}init(){const t=this.editor,e=t.config.get("heading.options"),n=[];for(const i of e)i.model!=="paragraph"&&(t.model.schema.register(i.model,{inheritAllFrom:"$block"}),t.conversion.elementToElement(i),n.push(i.model));this._addDefaultH1Conversion(t),t.commands.add("heading",new $S(t,n))}afterInit(){const t=this.editor,e=t.commands.get("enter"),n=t.config.get("heading.options");e&&this.listenTo(e,"afterExecute",(i,r)=>{const s=t.model.document.selection.getFirstPosition().parent;n.some(c=>s.is("element",c.model))&&!s.is("element",Wf)&&s.childCount===0&&r.writer.rename(s,Wf)})}_addDefaultH1Conversion(t){t.conversion.for("upcast").elementToElement({model:"heading1",view:"h1",converterPriority:Re.low+1})}}function YS(o){const t=o.t,e={Paragraph:t("Paragraph"),"Heading 1":t("Heading 1"),"Heading 2":t("Heading 2"),"Heading 3":t("Heading 3"),"Heading 4":t("Heading 4"),"Heading 5":t("Heading 5"),"Heading 6":t("Heading 6")};return o.config.get("heading.options").map(n=>{const i=e[n.title];return i&&i!=n.title&&(n.title=i),n})}var qf=P(4249),Pa={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Pa.insert="head",Pa.singleton=!0,R()(qf.Z,Pa),qf.Z.locals;class QS extends L{static get pluginName(){return"HeadingUI"}init(){const t=this.editor,e=t.t,n=YS(t),i=e("Choose heading"),r=e("Heading");t.ui.componentFactory.add("heading",s=>{const a={},c=new oe,l=t.commands.get("heading"),d=t.commands.get("paragraph"),u=[l];for(const p of n){const w={type:"button",model:new la({label:p.title,class:p.class,role:"menuitemradio",withText:!0})};p.model==="paragraph"?(w.model.bind("isOn").to(d,"value"),w.model.set("commandName","paragraph"),u.push(d)):(w.model.bind("isOn").to(l,"value",S=>S===p.model),w.model.set({commandName:"heading",commandValue:p.model})),c.add(w),a[p.model]=p.title}const f=ye(s);return Gs(f,c,{ariaLabel:r,role:"menu"}),f.buttonView.set({ariaLabel:r,ariaLabelledBy:void 0,isOn:!1,withText:!0,tooltip:r}),f.extendTemplate({attributes:{class:["ck-heading-dropdown"]}}),f.bind("isEnabled").toMany(u,"isEnabled",(...p)=>p.some(w=>w)),f.buttonView.bind("label").to(l,"value",d,"value",(p,w)=>{const S=p||w&&"paragraph";return typeof S=="boolean"||!a[S]?i:a[S]}),this.listenTo(f,"execute",p=>{const{commandName:w,commandValue:S}=p.source;t.execute(w,S?{value:S}:void 0),t.editing.view.focus()}),f})}}class JS extends L{static get requires(){return[KS,QS]}static get pluginName(){return"Heading"}}function XS(o){return o.createContainerElement("span",{class:"image-inline"},o.createEmptyElement("img"))}function Zf(o){return o.createContainerElement("figure",{class:"image"},[o.createEmptyElement("img"),o.createSlot("children")])}function $f(o,t){const e=o.plugins.get("ImageUtils"),n=o.plugins.has("ImageInlineEditing")&&o.plugins.has("ImageBlockEditing");return r=>e.isInlineImageView(r)?n&&(r.getStyle("display")=="block"||r.findAncestor(e.isBlockImageView)?"imageBlock":"imageInline")!==t?null:i(r):null;function i(r){const s={name:!0};return r.hasAttribute("src")&&(s.attributes=["src"]),s}}function Oa(o,t){const e=Lt(t.getSelectedBlocks());return!e||o.isObject(e)||e.isEmpty&&e.name!="listItem"?"imageBlock":"imageInline"}function qi(o){return o&&o.endsWith("px")?parseInt(o):null}function Zi(o){const t=qi(o.getStyle("width")),e=qi(o.getStyle("height"));return!!(t&&e)}const tT=/^(image|image-inline)$/;class Ut extends L{constructor(){super(...arguments),this._domEmitter=new(Kt())}static get pluginName(){return"ImageUtils"}isImage(t){return this.isInlineImage(t)||this.isBlockImage(t)}isInlineImageView(t){return!!t&&t.is("element","img")}isBlockImageView(t){return!!t&&t.is("element","figure")&&t.hasClass("image")}insertImage(t={},e=null,n=null,i={}){const r=this.editor,s=r.model,a=s.document.selection,c=Kf(r,e||a,n);t={...Object.fromEntries(a.getAttributes()),...t};for(const l in t)s.schema.checkAttribute(c,l)||delete t[l];return s.change(l=>{const{setImageSizes:d=!0}=i,u=l.createElement(c,t);return s.insertObject(u,e,null,{setSelection:"on",findOptimalPosition:!e&&c!="imageInline"?"auto":void 0}),u.parent?(d&&this.setImageNaturalSizeAttributes(u),u):null})}setImageNaturalSizeAttributes(t){const e=t.getAttribute("src");e&&(t.getAttribute("width")||t.getAttribute("height")||this.editor.model.change(n=>{const i=new H.window.Image;this._domEmitter.listenTo(i,"load",()=>{!t.getAttribute("width")&&!t.getAttribute("height")&&this.editor.model.enqueueChange(n.batch,r=>{r.setAttribute("width",i.naturalWidth,t),r.setAttribute("height",i.naturalHeight,t)}),this._domEmitter.stopListening(i,"load")}),i.src=e}))}getClosestSelectedImageWidget(t){const e=t.getFirstPosition();if(!e)return null;const n=t.getSelectedElement();if(n&&this.isImageWidget(n))return n;let i=e.parent;for(;i;){if(i.is("element")&&this.isImageWidget(i))return i;i=i.parent}return null}getClosestSelectedImageElement(t){const e=t.getSelectedElement();return this.isImage(e)?e:t.getFirstPosition().findAncestor("imageBlock")}getImageWidgetFromImageView(t){return t.findAncestor({classes:tT})}isImageAllowed(){const e=this.editor.model.document.selection;return eT(this.editor,e)&&nT(e)}toImageWidget(t,e,n){return e.setCustomProperty("image",!0,t),Sa(t,e,{label:()=>{const s=this.findViewImgElement(t).getAttribute("alt");return s?`${s} ${n}`:n}})}isImageWidget(t){return!!t.getCustomProperty("image")&&Tt(t)}isBlockImage(t){return!!t&&t.is("element","imageBlock")}isInlineImage(t){return!!t&&t.is("element","imageInline")}findViewImgElement(t){if(this.isInlineImageView(t))return t;const e=this.editor.editing.view;for(const{item:n}of e.createRangeIn(t))if(this.isInlineImageView(n))return n}destroy(){return this._domEmitter.stopListening(),super.destroy()}}function eT(o,t){if(Kf(o,t,null)=="imageBlock"){const n=oT(t,o.model);if(o.model.schema.checkChild(n,"imageBlock"))return!0}else if(o.model.schema.checkChild(t.focus,"imageInline"))return!0;return!1}function nT(o){return[...o.focus.getAncestors()].every(t=>!t.is("element","imageBlock"))}function oT(o,t){const n=Cf(o,t).start.parent;return n.isEmpty&&!n.is("element","$root")?n.parent:n}function Kf(o,t,e){const n=o.model.schema,i=o.config.get("image.insert.type");return o.plugins.has("ImageBlockEditing")?o.plugins.has("ImageInlineEditing")?e||(i==="inline"?"imageInline":i!=="auto"?"imageBlock":t.is("selection")?Oa(n,t):n.checkChild(t,"imageInline")?"imageInline":"imageBlock"):"imageBlock":"imageInline"}class iT extends X{refresh(){const n=this.editor.plugins.get("ImageUtils").getClosestSelectedImageElement(this.editor.model.document.selection);this.isEnabled=!!n,this.isEnabled&&n.hasAttribute("alt")?this.value=n.getAttribute("alt"):this.value=!1}execute(t){const e=this.editor,n=e.plugins.get("ImageUtils"),i=e.model,r=n.getClosestSelectedImageElement(i.document.selection);i.change(s=>{s.setAttribute("alt",t.newValue,r)})}}class rT extends L{static get requires(){return[Ut]}static get pluginName(){return"ImageTextAlternativeEditing"}init(){this.editor.commands.add("imageTextAlternative",new iT(this.editor))}}var Yf=P(5269),Ra={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ra.insert="head",Ra.singleton=!0,R()(Yf.Z,Ra),Yf.Z.locals;var Qf=P(6603),ja={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};ja.insert="head",ja.singleton=!0,R()(Qf.Z,ja),Qf.Z.locals;class sT extends Z{constructor(t){super(t);const e=this.locale.t;this.focusTracker=new Pt,this.keystrokes=new Gt,this.labeledInput=this._createLabeledInputView(),this.saveButtonView=this._createButton(e("Save"),J.check,"ck-button-save"),this.saveButtonView.type="submit",this.cancelButtonView=this._createButton(e("Cancel"),J.cancel,"ck-button-cancel","cancel"),this._focusables=new ie,this._focusCycler=new se({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]})}render(){super.render(),this.keystrokes.listenTo(this.element),h({view:this}),[this.labeledInput,this.saveButtonView,this.cancelButtonView].forEach(t=>{this._focusables.add(t),this.focusTracker.add(t.element)})}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}_createButton(t,e,n,i){const r=new at(this.locale);return r.set({label:t,icon:e,tooltip:!0}),r.extendTemplate({attributes:{class:n}}),i&&r.delegate("execute").to(this,i),r}_createLabeledInputView(){const t=this.locale.t,e=new si(this.locale,Si);return e.label=t("Text alternative"),e}}function aT(o){const t=o.plugins.get("ContextualBalloon");if(o.plugins.get("ImageUtils").getClosestSelectedImageWidget(o.editing.view.document.selection)){const n=Jf(o);t.updatePosition(n)}}function Jf(o){const t=o.editing.view,e=Fn.defaultPositions,n=o.plugins.get("ImageUtils");return{target:t.domConverter.mapViewToDom(n.getClosestSelectedImageWidget(t.document.selection)),positions:[e.northArrowSouth,e.northArrowSouthWest,e.northArrowSouthEast,e.southArrowNorth,e.southArrowNorthWest,e.southArrowNorthEast,e.viewportStickyNorth]}}class cT extends L{static get requires(){return[Ni]}static get pluginName(){return"ImageTextAlternativeUI"}init(){this._createButton()}destroy(){super.destroy(),this._form&&this._form.destroy()}_createButton(){const t=this.editor,e=t.t;t.ui.componentFactory.add("imageTextAlternative",n=>{const i=t.commands.get("imageTextAlternative"),r=new at(n);return r.set({label:e("Change image text alternative"),icon:J.textAlternative,tooltip:!0}),r.bind("isEnabled").to(i,"isEnabled"),r.bind("isOn").to(i,"value",s=>!!s),this.listenTo(r,"execute",()=>{this._showForm()}),r})}_createForm(){const t=this.editor,n=t.editing.view.document,i=t.plugins.get("ImageUtils");this._balloon=this.editor.plugins.get("ContextualBalloon"),this._form=new(x(sT))(t.locale),this._form.render(),this.listenTo(this._form,"submit",()=>{t.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",(r,s)=>{this._hideForm(!0),s()}),this.listenTo(t.ui,"update",()=>{i.getClosestSelectedImageWidget(n.selection)?this._isVisible&&aT(t):this._hideForm(!0)}),C({emitter:this._form,activator:()=>this._isVisible,contextElements:()=>[this._balloon.view.element],callback:()=>this._hideForm()})}_showForm(){if(this._isVisible)return;this._form||this._createForm();const t=this.editor,e=t.commands.get("imageTextAlternative"),n=this._form.labeledInput;this._form.disableCssTransitions(),this._isInBalloon||this._balloon.add({view:this._form,position:Jf(t)}),n.fieldView.value=n.fieldView.element.value=e.value||"",this._form.labeledInput.fieldView.select(),this._form.enableCssTransitions()}_hideForm(t=!1){this._isInBalloon&&(this._form.focusTracker.isFocused&&this._form.saveButtonView.focus(),this._balloon.remove(this._form),t&&this.editor.editing.view.focus())}get _isVisible(){return!!this._balloon&&this._balloon.visibleView===this._form}get _isInBalloon(){return!!this._balloon&&this._balloon.hasView(this._form)}}class Xf extends L{static get requires(){return[rT,cT]}static get pluginName(){return"ImageTextAlternative"}}function lT(o){const t=(e,n,i)=>{if(!i.consumable.test(n.viewItem,{name:!0,classes:"image"}))return;const r=o.findViewImgElement(n.viewItem);if(!r||!i.consumable.test(r,{name:!0}))return;i.consumable.consume(n.viewItem,{name:!0,classes:"image"});const s=i.convertItem(r,n.modelCursor),a=Lt(s.modelRange.getItems());if(!a){i.consumable.revert(n.viewItem,{name:!0,classes:"image"});return}i.convertChildren(n.viewItem,a),i.updateConversionResult(a,n)};return e=>{e.on("element:figure",t)}}function tm(o,t){const e=(n,i,r)=>{if(!r.consumable.consume(i.item,n.name))return;const s=r.writer,a=r.mapper.toViewElement(i.item),c=o.findViewImgElement(a);i.attributeNewValue===null?(s.removeAttribute("srcset",c),s.removeAttribute("sizes",c)):i.attributeNewValue&&(s.setAttribute("srcset",i.attributeNewValue,c),s.setAttribute("sizes","100vw",c))};return n=>{n.on(`attribute:srcset:${t}`,e)}}function $i(o,t,e){const n=(i,r,s)=>{if(!s.consumable.consume(r.item,i.name))return;const a=s.writer,c=s.mapper.toViewElement(r.item),l=o.findViewImgElement(c);a.setAttribute(r.attributeKey,r.attributeNewValue||"",l)};return i=>{i.on(`attribute:${e}:${t}`,n)}}class Fa extends _e{observe(t){this.listenTo(t,"load",(e,n)=>{const i=n.target;this.checkShouldIgnoreEventFromTarget(i)||i.tagName=="IMG"&&this._fireEvents(n)},{useCapture:!0})}stopObserving(t){this.stopListening(t)}_fireEvents(t){this.isEnabled&&(this.document.fire("layoutChanged"),this.document.fire("imageLoaded",t))}}class dT extends X{constructor(t){super(t);const e=t.config.get("image.insert.type");t.plugins.has("ImageBlockEditing")||e==="block"&&void 0,t.plugins.has("ImageInlineEditing")||e==="inline"&&void 0}refresh(){const t=this.editor.plugins.get("ImageUtils");this.isEnabled=t.isImageAllowed()}execute(t){const e=bt(t.source),n=this.editor.model.document.selection,i=this.editor.plugins.get("ImageUtils"),r=Object.fromEntries(n.getAttributes());e.forEach((s,a)=>{const c=n.getSelectedElement();if(typeof s=="string"&&(s={src:s}),a&&c&&i.isImage(c)){const l=this.editor.model.createPositionAfter(c);i.insertImage({...s,...r},l)}else i.insertImage({...s,...r})})}}class uT extends X{constructor(t){super(t),this.decorate("cleanupImage")}refresh(){const e=this.editor.plugins.get("ImageUtils"),n=this.editor.model.document.selection.getSelectedElement();this.isEnabled=e.isImage(n),this.value=this.isEnabled?n.getAttribute("src"):null}execute(t){const e=this.editor.model.document.selection.getSelectedElement(),n=this.editor.plugins.get("ImageUtils");this.editor.model.change(i=>{i.setAttribute("src",t.source,e),this.cleanupImage(i,e),n.setImageNaturalSizeAttributes(e)})}cleanupImage(t,e){t.removeAttribute("srcset",e),t.removeAttribute("sizes",e),t.removeAttribute("sources",e),t.removeAttribute("width",e),t.removeAttribute("height",e),t.removeAttribute("alt",e)}}class em extends L{static get requires(){return[Ut]}static get pluginName(){return"ImageEditing"}init(){const t=this.editor,e=t.conversion;t.editing.view.addObserver(Fa),e.for("upcast").attributeToAttribute({view:{name:"img",key:"alt"},model:"alt"}).attributeToAttribute({view:{name:"img",key:"srcset"},model:"srcset"});const n=new dT(t),i=new uT(t);t.commands.add("insertImage",n),t.commands.add("replaceImageSource",i),t.commands.add("imageInsert",n)}}class nm extends L{static get requires(){return[Ut]}static get pluginName(){return"ImageSizeAttributes"}afterInit(){this._registerSchema(),this._registerConverters("imageBlock"),this._registerConverters("imageInline")}_registerSchema(){this.editor.plugins.has("ImageBlockEditing")&&this.editor.model.schema.extend("imageBlock",{allowAttributes:["width","height"]}),this.editor.plugins.has("ImageInlineEditing")&&this.editor.model.schema.extend("imageInline",{allowAttributes:["width","height"]})}_registerConverters(t){const e=this.editor,n=e.plugins.get("ImageUtils"),i=t==="imageBlock"?"figure":"img";e.conversion.for("upcast").attributeToAttribute({view:{name:i,styles:{width:/.+/}},model:{key:"width",value:s=>Zi(s)?qi(s.getStyle("width")):null}}).attributeToAttribute({view:{name:i,key:"width"},model:"width"}).attributeToAttribute({view:{name:i,styles:{height:/.+/}},model:{key:"height",value:s=>Zi(s)?qi(s.getStyle("height")):null}}).attributeToAttribute({view:{name:i,key:"height"},model:"height"}),e.conversion.for("editingDowncast").add(s=>{r(s,"width","width",!0),r(s,"height","height",!0)}),e.conversion.for("dataDowncast").add(s=>{r(s,"width","width",!1),r(s,"height","height",!1)});function r(s,a,c,l){s.on(`attribute:${a}:${t}`,(d,u,f)=>{if(!f.consumable.consume(u.item,d.name))return;const p=f.writer,w=f.mapper.toViewElement(u.item),S=n.findViewImgElement(w);if(u.attributeNewValue!==null?p.setAttribute(c,u.attributeNewValue,S):p.removeAttribute(c,S),u.item.hasAttribute("sources"))return;const M=u.item.hasAttribute("resizedWidth");if(t==="imageInline"&&!M&&!l)return;const z=u.item.getAttribute("width"),V=u.item.getAttribute("height");z&&V&&p.setStyle("aspect-ratio",`${z}/${V}`,S)})}}}class om extends X{constructor(t,e){super(t),this._modelElementName=e}refresh(){const e=this.editor.plugins.get("ImageUtils"),n=e.getClosestSelectedImageElement(this.editor.model.document.selection);this._modelElementName==="imageBlock"?this.isEnabled=e.isInlineImage(n):this.isEnabled=e.isBlockImage(n)}execute(t={}){const e=this.editor,n=this.editor.model,i=e.plugins.get("ImageUtils"),r=i.getClosestSelectedImageElement(n.document.selection),s=Object.fromEntries(r.getAttributes());return!s.src&&!s.uploadId?null:n.change(a=>{const{setImageSizes:c=!0}=t,l=Array.from(n.markers).filter(f=>f.getRange().containsItem(r)),d=i.insertImage(s,n.createSelection(r,"on"),this._modelElementName,{setImageSizes:c});if(!d)return null;const u=a.createRangeOn(d);for(const f of l){const p=f.getRange(),w=p.root.rootName!="$graveyard"?p.getJoined(u,!0):u;a.updateMarker(f,{range:w})}return{oldElement:r,newElement:d}})}}var im=P(31),Va={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Va.insert="head",Va.singleton=!0,R()(im.Z,Va),im.Z.locals;class rm extends L{static get requires(){return[Ut]}static get pluginName(){return"ImagePlaceholder"}afterInit(){this._setupSchema(),this._setupConversion(),this._setupLoadListener()}_setupSchema(){const t=this.editor.model.schema;t.isRegistered("imageBlock")&&t.extend("imageBlock",{allowAttributes:["placeholder"]}),t.isRegistered("imageInline")&&t.extend("imageInline",{allowAttributes:["placeholder"]})}_setupConversion(){const t=this.editor,e=t.conversion,n=t.plugins.get("ImageUtils");e.for("editingDowncast").add(i=>{i.on("attribute:placeholder",(r,s,a)=>{if(!a.consumable.test(s.item,r.name)||!s.item.is("element","imageBlock")&&!s.item.is("element","imageInline"))return;a.consumable.consume(s.item,r.name);const c=a.writer,l=a.mapper.toViewElement(s.item),d=n.findViewImgElement(l);s.attributeNewValue?(c.addClass("image_placeholder",d),c.setStyle("background-image",`url(${s.attributeNewValue})`,d),c.setCustomProperty("editingPipeline:doNotReuseOnce",!0,d)):(c.removeClass("image_placeholder",d),c.removeStyle("background-image",d))})})}_setupLoadListener(){const t=this.editor,e=t.model,n=t.editing,i=n.view,r=t.plugins.get("ImageUtils");i.addObserver(Fa),this.listenTo(i.document,"imageLoaded",(s,a)=>{const c=i.domConverter.mapDomToView(a.target);if(!c)return;const l=r.getImageWidgetFromImageView(c);if(!l)return;const d=n.mapper.toModelElement(l);!d||!d.hasAttribute("placeholder")||e.enqueueChange({isUndoable:!1},u=>{u.removeAttribute("placeholder",d)})})}}class sm extends L{static get requires(){return[em,nm,Ut,rm,ke]}static get pluginName(){return"ImageBlockEditing"}init(){const t=this.editor;t.model.schema.register("imageBlock",{inheritAllFrom:"$blockObject",allowAttributes:["alt","src","srcset"]}),this._setupConversion(),t.plugins.has("ImageInlineEditing")&&(t.commands.add("imageTypeBlock",new om(this.editor,"imageBlock")),this._setupClipboardIntegration())}_setupConversion(){const t=this.editor,e=t.t,n=t.conversion,i=t.plugins.get("ImageUtils");n.for("dataDowncast").elementToStructure({model:"imageBlock",view:(r,{writer:s})=>Zf(s)}),n.for("editingDowncast").elementToStructure({model:"imageBlock",view:(r,{writer:s})=>i.toImageWidget(Zf(s),s,e("image widget"))}),n.for("downcast").add($i(i,"imageBlock","src")).add($i(i,"imageBlock","alt")).add(tm(i,"imageBlock")),n.for("upcast").elementToElement({view:$f(t,"imageBlock"),model:(r,{writer:s})=>s.createElement("imageBlock",r.hasAttribute("src")?{src:r.getAttribute("src")}:void 0)}).add(lT(i))}_setupClipboardIntegration(){const t=this.editor,e=t.model,n=t.editing.view,i=t.plugins.get("ImageUtils"),r=t.plugins.get("ClipboardPipeline");this.listenTo(r,"inputTransformation",(s,a)=>{const c=Array.from(a.content.getChildren());let l;if(!c.every(i.isInlineImageView))return;a.targetRanges?l=t.editing.mapper.toModelRange(a.targetRanges[0]):l=e.document.selection.getFirstRange();const d=e.createSelection(l);if(Oa(e.schema,d)==="imageBlock"){const u=new Be(n.document),f=c.map(p=>u.createElement("figure",{class:"image"},p));a.content=u.createDocumentFragment(f)}}),this.listenTo(r,"contentInsertion",(s,a)=>{a.method==="paste"&&e.change(c=>{const l=c.createRangeIn(a.content);for(const d of l.getItems())d.is("element","imageBlock")&&i.setImageNaturalSizeAttributes(d)})})}}var am=P(8879),Ha={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ha.insert="head",Ha.singleton=!0,R()(am.Z,Ha),am.Z.locals;class hT extends Z{constructor(t,e=[]){super(t),this.focusTracker=new Pt,this.keystrokes=new Gt,this._focusables=new ie,this.children=this.createCollection(),this._focusCycler=new se({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}});for(const n of e)this.children.add(n),this._focusables.add(n),n instanceof sv&&this._focusables.addMany(n.children);if(this._focusables.length>1)for(const n of this._focusables)gT(n)&&(n.focusCycler.on("forwardCycle",i=>{this._focusCycler.focusNext(),i.stop()}),n.focusCycler.on("backwardCycle",i=>{this._focusCycler.focusPrevious(),i.stop()}));this.setTemplate({tag:"form",attributes:{class:["ck","ck-image-insert-form"],tabindex:-1},children:this.children})}render(){super.render(),h({view:this});for(const e of this._focusables)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)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}}function gT(o){return"focusCycler"in o}class cm extends L{static get pluginName(){return"ImageInsertUI"}static get requires(){return[Ut]}constructor(t){super(t),this._integrations=new Map,t.config.define("image.insert.integrations",["upload","assetManager","url"])}init(){const t=this.editor,e=t.model.document.selection,n=t.plugins.get("ImageUtils");this.set("isImageSelected",!1),this.listenTo(t.model.document,"change",()=>{this.isImageSelected=n.isImage(e.getSelectedElement())});const i=r=>this._createToolbarComponent(r);t.ui.componentFactory.add("insertImage",i),t.ui.componentFactory.add("imageInsert",i)}registerIntegration({name:t,observable:e,buttonViewCreator:n,formViewCreator:i,requiresForm:r}){this._integrations.has(t)&&void 0,this._integrations.set(t,{observable:e,buttonViewCreator:n,formViewCreator:i,requiresForm:!!r})}_createToolbarComponent(t){const e=this.editor,n=t.t,i=this._prepareIntegrations();if(!i.length)return null;let r;const s=i[0];if(i.length==1){if(!s.requiresForm)return s.buttonViewCreator(!0);r=s.buttonViewCreator(!0)}else{const l=s.buttonViewCreator(!1);r=new Di(t,l),r.tooltip=!0,r.bind("label").to(this,"isImageSelected",d=>n(d?"Replace image":"Insert image"))}const a=this.dropdownView=ye(t,r),c=i.map(({observable:l})=>l);return a.bind("isEnabled").toMany(c,"isEnabled",(...l)=>l.some(d=>d)),a.once("change:isOpen",()=>{const l=i.map(({formViewCreator:u})=>u(i.length==1)),d=new hT(e.locale,l);a.panelView.children.add(d)}),a}_prepareIntegrations(){const e=this.editor.config.get("image.insert.integrations"),n=[];if(!e.length)return n;for(const i of e){if(!this._integrations.has(i)){["upload","assetManager","url"].includes(i)||void 0;continue}n.push(this._integrations.get(i))}return n.length||void 0,n}}var lm=P(2430),Ua={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ua.insert="head",Ua.singleton=!0,R()(lm.Z,Ua),lm.Z.locals;class fT extends L{static get requires(){return[sm,Lo,Xf,cm]}static get pluginName(){return"ImageBlock"}}class mT extends L{static get requires(){return[em,nm,Ut,rm,ke]}static get pluginName(){return"ImageInlineEditing"}init(){const t=this.editor,e=t.model.schema;e.register("imageInline",{inheritAllFrom:"$inlineObject",allowAttributes:["alt","src","srcset"]}),e.addChildCheck((n,i)=>{if(n.endsWith("caption")&&i.name==="imageInline")return!1}),this._setupConversion(),t.plugins.has("ImageBlockEditing")&&(t.commands.add("imageTypeInline",new om(this.editor,"imageInline")),this._setupClipboardIntegration())}_setupConversion(){const t=this.editor,e=t.t,n=t.conversion,i=t.plugins.get("ImageUtils");n.for("dataDowncast").elementToElement({model:"imageInline",view:(r,{writer:s})=>s.createEmptyElement("img")}),n.for("editingDowncast").elementToStructure({model:"imageInline",view:(r,{writer:s})=>i.toImageWidget(XS(s),s,e("image widget"))}),n.for("downcast").add($i(i,"imageInline","src")).add($i(i,"imageInline","alt")).add(tm(i,"imageInline")),n.for("upcast").elementToElement({view:$f(t,"imageInline"),model:(r,{writer:s})=>s.createElement("imageInline",r.hasAttribute("src")?{src:r.getAttribute("src")}:void 0)})}_setupClipboardIntegration(){const t=this.editor,e=t.model,n=t.editing.view,i=t.plugins.get("ImageUtils"),r=t.plugins.get("ClipboardPipeline");this.listenTo(r,"inputTransformation",(s,a)=>{const c=Array.from(a.content.getChildren());let l;if(!c.every(i.isBlockImageView))return;a.targetRanges?l=t.editing.mapper.toModelRange(a.targetRanges[0]):l=e.document.selection.getFirstRange();const d=e.createSelection(l);if(Oa(e.schema,d)==="imageInline"){const u=new Be(n.document),f=c.map(p=>p.childCount===1?(Array.from(p.getAttributes()).forEach(w=>u.setAttribute(...w,i.findViewImgElement(p))),p.getChild(0)):p);a.content=u.createDocumentFragment(f)}}),this.listenTo(r,"contentInsertion",(s,a)=>{a.method==="paste"&&e.change(c=>{const l=c.createRangeIn(a.content);for(const d of l.getItems())d.is("element","imageInline")&&i.setImageNaturalSizeAttributes(d)})})}}class pT extends L{static get requires(){return[mT,Lo,Xf,cm]}static get pluginName(){return"ImageInline"}}class kT extends L{static get requires(){return[fT,pT]}static get pluginName(){return"Image"}}class dm extends L{static get pluginName(){return"ImageCaptionUtils"}static get requires(){return[Ut]}getCaptionFromImageModelElement(t){for(const e of t.getChildren())if(e&&e.is("element","caption"))return e;return null}getCaptionFromModelSelection(t){const e=this.editor.plugins.get("ImageUtils"),n=t.getFirstPosition().findAncestor("caption");return n&&e.isBlockImage(n.parent)?n:null}matchImageCaptionViewElement(t){const e=this.editor.plugins.get("ImageUtils");return t.name=="figcaption"&&e.isBlockImageView(t.parent)?{name:!0}:null}}class bT extends X{refresh(){const t=this.editor,e=t.plugins.get("ImageCaptionUtils"),n=t.plugins.get("ImageUtils");if(!t.plugins.has(sm)){this.isEnabled=!1,this.value=!1;return}const i=t.model.document.selection,r=i.getSelectedElement();if(!r){const s=e.getCaptionFromModelSelection(i);this.isEnabled=!!s,this.value=!!s;return}this.isEnabled=n.isImage(r),this.isEnabled?this.value=!!e.getCaptionFromImageModelElement(r):this.value=!1}execute(t={}){const{focusCaptionOnShow:e}=t;this.editor.model.change(n=>{this.value?this._hideImageCaption(n):this._showImageCaption(n,e)})}_showImageCaption(t,e){const i=this.editor.model.document.selection,r=this.editor.plugins.get("ImageCaptionEditing"),s=this.editor.plugins.get("ImageUtils");let a=i.getSelectedElement();const c=r._getSavedCaption(a);s.isInlineImage(a)&&(this.editor.execute("imageTypeBlock"),a=i.getSelectedElement());const l=c||t.createElement("caption");t.append(l,a),e&&t.setSelection(l,"in")}_hideImageCaption(t){const e=this.editor,n=e.model.document.selection,i=e.plugins.get("ImageCaptionEditing"),r=e.plugins.get("ImageCaptionUtils");let s=n.getSelectedElement(),a;s?a=r.getCaptionFromImageModelElement(s):(a=r.getCaptionFromModelSelection(n),s=a.parent),i._saveCaption(s,a),t.setSelection(s,"on"),t.remove(a)}}class wT extends L{static get requires(){return[Ut,dm]}static get pluginName(){return"ImageCaptionEditing"}constructor(t){super(t),this._savedCaptionsMap=new WeakMap}init(){const t=this.editor,e=t.model.schema;e.isRegistered("caption")?e.extend("caption",{allowIn:"imageBlock"}):e.register("caption",{allowIn:"imageBlock",allowContentOf:"$block",isLimit:!0}),t.commands.add("toggleImageCaption",new bT(this.editor)),this._setupConversion(),this._setupImageTypeCommandsIntegration(),this._registerCaptionReconversion()}_setupConversion(){const t=this.editor,e=t.editing.view,n=t.plugins.get("ImageUtils"),i=t.plugins.get("ImageCaptionUtils"),r=t.t;t.conversion.for("upcast").elementToElement({view:s=>i.matchImageCaptionViewElement(s),model:"caption"}),t.conversion.for("dataDowncast").elementToElement({model:"caption",view:(s,{writer:a})=>n.isBlockImage(s.parent)?a.createContainerElement("figcaption"):null}),t.conversion.for("editingDowncast").elementToElement({model:"caption",view:(s,{writer:a})=>{if(!n.isBlockImage(s.parent))return null;const c=a.createEditableElement("figcaption");a.setCustomProperty("imageCaption",!0,c),c.placeholder=r("Enter image caption"),Kd({view:e,element:c,keepOnFocus:!0});const l=s.parent.getAttribute("alt"),d=l?r("Caption for image: %0",[l]):r("Caption for the image");return Af(c,a,{label:d})}})}_setupImageTypeCommandsIntegration(){const t=this.editor,e=t.plugins.get("ImageUtils"),n=t.plugins.get("ImageCaptionUtils"),i=t.commands.get("imageTypeInline"),r=t.commands.get("imageTypeBlock"),s=a=>{if(!a.return)return;const{oldElement:c,newElement:l}=a.return;if(!c)return;if(e.isBlockImage(c)){const u=n.getCaptionFromImageModelElement(c);if(u){this._saveCaption(l,u);return}}const d=this._getSavedCaption(c);d&&this._saveCaption(l,d)};i&&this.listenTo(i,"execute",s,{priority:"low"}),r&&this.listenTo(r,"execute",s,{priority:"low"})}_getSavedCaption(t){const e=this._savedCaptionsMap.get(t);return e?dt.fromJSON(e):null}_saveCaption(t,e){this._savedCaptionsMap.set(t,e.toJSON())}_registerCaptionReconversion(){const t=this.editor,e=t.model,n=t.plugins.get("ImageUtils"),i=t.plugins.get("ImageCaptionUtils");e.document.on("change:data",()=>{const r=e.document.differ.getChanges();for(const s of r){if(s.attributeKey!=="alt")continue;const a=s.range.start.nodeAfter;if(n.isBlockImage(a)){const c=i.getCaptionFromImageModelElement(a);if(!c)return;t.editing.reconvertItem(c)}}})}}class AT extends L{static get requires(){return[dm]}static get pluginName(){return"ImageCaptionUI"}init(){const t=this.editor,e=t.editing.view,n=t.plugins.get("ImageCaptionUtils"),i=t.t;t.ui.componentFactory.add("toggleImageCaption",r=>{const s=t.commands.get("toggleImageCaption"),a=new at(r);return a.set({icon:J.caption,tooltip:!0,isToggleable:!0}),a.bind("isOn","isEnabled").to(s,"value","isEnabled"),a.bind("label").to(s,"value",c=>i(c?"Toggle caption off":"Toggle caption on")),this.listenTo(a,"execute",()=>{t.execute("toggleImageCaption",{focusCaptionOnShow:!0});const c=n.getCaptionFromModelSelection(t.model.document.selection);if(c){const l=t.editing.mapper.toViewElement(c);e.scrollToTheSelection(),e.change(d=>{d.addClass("image__caption_highlighted",l)})}t.editing.view.focus()}),a})}}var um=P(2423),Ga={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ga.insert="head",Ga.singleton=!0,R()(um.Z,Ga),um.Z.locals;class CT extends L{static get requires(){return[wT,AT]}static get pluginName(){return"ImageCaption"}}class _T extends st(){constructor(){super();const t=new window.FileReader;this._reader=t,this._data=void 0,this.set("loaded",0),t.onprogress=e=>{this.loaded=e.loaded}}get error(){return this._reader.error}get data(){return this._data}read(t){const e=this._reader;return this.total=t.size,new Promise((n,i)=>{e.onload=()=>{const r=e.result;this._data=r,n(r)},e.onerror=()=>{i("error")},e.onabort=()=>{i("aborted")},this._reader.readAsDataURL(t)})}abort(){this._reader.abort()}}class gn extends L{constructor(){super(...arguments),this.loaders=new oe,this._loadersMap=new Map,this._pendingAction=null}static get pluginName(){return"FileRepository"}static get requires(){return[xi]}init(){this.loaders.on("change",()=>this._updatePendingAction()),this.set("uploaded",0),this.set("uploadTotal",null),this.bind("uploadedPercent").to(this,"uploaded",this,"uploadTotal",(t,e)=>e?t/e*100:0)}getLoader(t){return this._loadersMap.get(t)||null}createLoader(t){if(!this.createUploadAdapter)return null;const e=new hm(Promise.resolve(t),this.createUploadAdapter);return this.loaders.add(e),this._loadersMap.set(t,e),t instanceof Promise&&e.file.then(n=>{this._loadersMap.set(n,e)}).catch(()=>{}),e.on("change:uploaded",()=>{let n=0;for(const i of this.loaders)n+=i.uploaded;this.uploaded=n}),e.on("change:uploadTotal",()=>{let n=0;for(const i of this.loaders)i.uploadTotal&&(n+=i.uploadTotal);this.uploadTotal=n}),e}destroyLoader(t){const e=t instanceof hm?t:this.getLoader(t);e._destroy(),this.loaders.remove(e),this._loadersMap.forEach((n,i)=>{n===e&&this._loadersMap.delete(i)})}_updatePendingAction(){const t=this.editor.plugins.get(xi);if(this.loaders.length){if(!this._pendingAction){const e=this.editor.t,n=i=>`${e("Upload in progress")} ${parseInt(i)}%.`;this._pendingAction=t.add(n(this.uploadedPercent)),this._pendingAction.bind("message").to(this,"uploadedPercent",n)}}else t.remove(this._pendingAction),this._pendingAction=null}}class hm extends st(){constructor(t,e){super(),this.id=Vt(),this._filePromiseWrapper=this._createFilePromiseWrapper(t),this._adapter=e(this),this._reader=new _T,this.set("status","idle"),this.set("uploaded",0),this.set("uploadTotal",null),this.bind("uploadedPercent").to(this,"uploaded",this,"uploadTotal",(n,i)=>i?n/i*100:0),this.set("uploadResponse",null)}get file(){return this._filePromiseWrapper?this._filePromiseWrapper.promise.then(t=>this._filePromiseWrapper?t:null):Promise.resolve(null)}get data(){return this._reader.data}read(){if(this.status!="idle")throw new b("filerepository-read-wrong-status",this);return this.status="reading",this.file.then(t=>this._reader.read(t)).then(t=>{if(this.status!=="reading")throw this.status;return this.status="idle",t}).catch(t=>{throw t==="aborted"?(this.status="aborted","aborted"):(this.status="error",this._reader.error?this._reader.error:t)})}upload(){if(this.status!="idle")throw new b("filerepository-upload-wrong-status",this);return this.status="uploading",this.file.then(()=>this._adapter.upload()).then(t=>(this.uploadResponse=t,this.status="idle",t)).catch(t=>{throw this.status==="aborted"?"aborted":(this.status="error",t)})}abort(){const t=this.status;this.status="aborted",this._filePromiseWrapper.isFulfilled?t=="reading"?this._reader.abort():t=="uploading"&&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(t){const e={};return e.promise=new Promise((n,i)=>{e.rejecter=i,e.isFulfilled=!1,t.then(r=>{e.isFulfilled=!0,n(r)}).catch(r=>{e.isFulfilled=!0,i(r)})}),e}}class vT extends at{constructor(t){super(t),this.buttonView=this,this._fileInputView=new yT(t),this._fileInputView.bind("acceptedType").to(this),this._fileInputView.bind("allowMultipleFiles").to(this),this._fileInputView.delegate("done").to(this),this.on("execute",()=>{this._fileInputView.open()}),this.extendTemplate({attributes:{class:"ck-file-dialog-button"}})}render(){super.render(),this.children.add(this._fileInputView)}}class yT extends Z{constructor(t){super(t),this.set("acceptedType",void 0),this.set("allowMultipleFiles",!1);const e=this.bindTemplate;this.setTemplate({tag:"input",attributes:{class:["ck-hidden"],type:"file",tabindex:"-1",accept:e.to("acceptedType"),multiple:e.to("allowMultipleFiles")},on:{change:e.to(()=>{this.element&&this.element.files&&this.element.files.length&&this.fire("done",this.element.files),this.element.value=""})}})}open(){this.element.click()}}class xT extends L{static get requires(){return[gn]}static get pluginName(){return"SimpleUploadAdapter"}init(){const t=this.editor.config.get("simpleUpload");if(t){if(!t.uploadUrl){return}this.editor.plugins.get(gn).createUploadAdapter=e=>new ET(e,t)}}}class ET{constructor(t,e){this.loader=t,this.options=e}upload(){return this.loader.file.then(t=>new Promise((e,n)=>{this._initRequest(),this._initListeners(e,n,t),this._sendRequest(t)}))}abort(){this.xhr&&this.xhr.abort()}_initRequest(){const t=this.xhr=new XMLHttpRequest;t.open("POST",this.options.uploadUrl,!0),t.responseType="json"}_initListeners(t,e,n){const i=this.xhr,r=this.loader,s=`Couldn't upload file: ${n.name}.`;i.addEventListener("error",()=>e(s)),i.addEventListener("abort",()=>e()),i.addEventListener("load",()=>{const a=i.response;if(!a||a.error)return e(a&&a.error&&a.error.message?a.error.message:s);const c=a.url?{default:a.url}:a.urls;t({...a,urls:c})}),i.upload&&i.upload.addEventListener("progress",a=>{a.lengthComputable&&(r.uploadTotal=a.total,r.uploaded=a.loaded)})}_sendRequest(t){const e=this.options.headers||{},n=this.options.withCredentials||!1;for(const r of Object.keys(e))this.xhr.setRequestHeader(r,e[r]);this.xhr.withCredentials=n;const i=new FormData;i.append("upload",t),this.xhr.send(i)}}function gm(o){const t=o.map(e=>e.replace("+","\\+"));return new RegExp(`^image\\/(${t.join("|")})$`)}function DT(o){return new Promise((t,e)=>{const n=o.getAttribute("src");fetch(n).then(i=>i.blob()).then(i=>{const r=fm(i,n),a=`image.${r.replace("image/","")}`,c=new File([i],a,{type:r});t(c)}).catch(i=>i&&i.name==="TypeError"?TT(n).then(t).catch(e):e(i))})}function ST(o,t){return!o.isInlineImageView(t)||!t.getAttribute("src")?!1:!!t.getAttribute("src").match(/^data:image\/\w+;base64,/g)||!!t.getAttribute("src").match(/^blob:/g)}function fm(o,t){return o.type?o.type:t.match(/data:(image\/\w+);base64/)?t.match(/data:(image\/\w+);base64/)[1].toLowerCase():"image/jpeg"}function TT(o){return IT(o).then(t=>{const e=fm(t,o),i=`image.${e.replace("image/","")}`;return new File([t],i,{type:e})})}function IT(o){return new Promise((t,e)=>{const n=H.document.createElement("img");n.addEventListener("load",()=>{const i=H.document.createElement("canvas");i.width=n.width,i.height=n.height,i.getContext("2d").drawImage(n,0,0),i.toBlob(s=>s?t(s):e())}),n.addEventListener("error",()=>e()),n.src=o})}class MT extends L{static get pluginName(){return"ImageUploadUI"}init(){const t=this.editor,e=t.t,n=i=>{const r=new vT(i),s=t.commands.get("uploadImage"),a=t.config.get("image.upload.types"),c=gm(a);return r.set({acceptedType:a.map(l=>`image/${l}`).join(","),allowMultipleFiles:!0,label:e("Upload image from computer"),icon:J.imageUpload,tooltip:!0}),r.bind("isEnabled").to(s),r.on("done",(l,d)=>{const u=Array.from(d).filter(f=>c.test(f.type));u.length&&(t.execute("uploadImage",{file:u}),t.editing.view.focus())}),r};if(t.ui.componentFactory.add("uploadImage",n),t.ui.componentFactory.add("imageUpload",n),t.plugins.has("ImageInsertUI")){const i=t.plugins.get("ImageInsertUI"),r=t.commands.get("uploadImage");i.registerIntegration({name:"upload",observable:r,buttonViewCreator:()=>{const s=t.ui.componentFactory.create("uploadImage");return s.bind("label").to(i,"isImageSelected",a=>e(a?"Replace image from computer":"Upload image from computer")),s},formViewCreator:()=>{const s=t.ui.componentFactory.create("uploadImage");return s.withText=!0,s.bind("label").to(i,"isImageSelected",a=>e(a?"Replace from computer":"Upload from computer")),s.on("execute",()=>{i.dropdownView.isOpen=!1}),s}})}}}var mm=P(2926),Wa={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Wa.insert="head",Wa.singleton=!0,R()(mm.Z,Wa),mm.Z.locals;var pm=P(1547),qa={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};qa.insert="head",qa.singleton=!0,R()(pm.Z,qa),pm.Z.locals;var km=P(6618),Za={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Za.insert="head",Za.singleton=!0,R()(km.Z,Za),km.Z.locals;class BT extends L{static get pluginName(){return"ImageUploadProgress"}constructor(t){super(t),this.uploadStatusChange=(e,n,i)=>{const r=this.editor,s=n.item,a=s.getAttribute("uploadId");if(!i.consumable.consume(n.item,e.name))return;const c=r.plugins.get("ImageUtils"),l=r.plugins.get(gn),d=a?n.attributeNewValue:null,u=this.placeholder,f=r.editing.mapper.toViewElement(s),p=i.writer;if(d=="reading"){bm(f,p),wm(c,u,f,p);return}if(d=="uploading"){const w=l.loaders.get(a);bm(f,p),w?(Am(f,p),zT(f,p,w,r.editing.view),jT(c,f,p,w)):wm(c,u,f,p);return}d=="complete"&&l.loaders.get(a)&&PT(f,p,r.editing.view),LT(f,p),Am(f,p),NT(f,p)},this.placeholder="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="}init(){const t=this.editor;t.plugins.has("ImageBlockEditing")&&t.editing.downcastDispatcher.on("attribute:uploadStatus:imageBlock",this.uploadStatusChange),t.plugins.has("ImageInlineEditing")&&t.editing.downcastDispatcher.on("attribute:uploadStatus:imageInline",this.uploadStatusChange)}}function bm(o,t){o.hasClass("ck-appear")||t.addClass("ck-appear",o)}function NT(o,t){t.removeClass("ck-appear",o)}function wm(o,t,e,n){e.hasClass("ck-image-upload-placeholder")||n.addClass("ck-image-upload-placeholder",e);const i=o.findViewImgElement(e);i.getAttribute("src")!==t&&n.setAttribute("src",t,i),Cm(e,"placeholder")||n.insert(n.createPositionAfter(i),RT(n))}function Am(o,t){o.hasClass("ck-image-upload-placeholder")&&t.removeClass("ck-image-upload-placeholder",o),_m(o,t,"placeholder")}function zT(o,t,e,n){const i=OT(t);t.insert(t.createPositionAt(o,"end"),i),e.on("change:uploadedPercent",(r,s,a)=>{n.change(c=>{c.setStyle("width",a+"%",i)})})}function LT(o,t){_m(o,t,"progressBar")}function PT(o,t,e){const n=t.createUIElement("div",{class:"ck-image-upload-complete-icon"});t.insert(t.createPositionAt(o,"end"),n),setTimeout(()=>{e.change(i=>i.remove(i.createRangeOn(n)))},3e3)}function OT(o){const t=o.createUIElement("div",{class:"ck-progress-bar"});return o.setCustomProperty("progressBar",!0,t),t}function RT(o){const t=o.createUIElement("div",{class:"ck-upload-placeholder-loader"});return o.setCustomProperty("placeholder",!0,t),t}function Cm(o,t){for(const e of o.getChildren())if(e.getCustomProperty(t))return e}function _m(o,t,e){const n=Cm(o,e);n&&t.remove(t.createRangeOn(n))}function jT(o,t,e,n){if(n.data){const i=o.findViewImgElement(t);e.setAttribute("src",n.data,i)}}class FT extends X{refresh(){const t=this.editor,e=t.plugins.get("ImageUtils"),n=t.model.document.selection.getSelectedElement();this.isEnabled=e.isImageAllowed()||e.isImage(n)}execute(t){const e=bt(t.file),n=this.editor.model.document.selection,i=this.editor.plugins.get("ImageUtils"),r=Object.fromEntries(n.getAttributes());e.forEach((s,a)=>{const c=n.getSelectedElement();if(a&&c&&i.isImage(c)){const l=this.editor.model.createPositionAfter(c);this._uploadImage(s,r,l)}else this._uploadImage(s,r)})}_uploadImage(t,e,n){const i=this.editor,s=i.plugins.get(gn).createLoader(t),a=i.plugins.get("ImageUtils");s&&a.insertImage({...e,uploadId:s.id},n)}}class VT extends L{static get requires(){return[gn,Dg,ke,Ut]}static get pluginName(){return"ImageUploadEditing"}constructor(t){super(t),t.config.define("image",{upload:{types:["jpeg","png","gif","bmp","webp","tiff"]}}),this._uploadImageElements=new Map}init(){const t=this.editor,e=t.model.document,n=t.conversion,i=t.plugins.get(gn),r=t.plugins.get("ImageUtils"),s=t.plugins.get("ClipboardPipeline"),a=gm(t.config.get("image.upload.types")),c=new FT(t);t.commands.add("uploadImage",c),t.commands.add("imageUpload",c),n.for("upcast").attributeToAttribute({view:{name:"img",key:"uploadId"},model:"uploadId"}),this.listenTo(t.editing.view.document,"clipboardInput",(l,d)=>{if(HT(d.dataTransfer))return;const u=Array.from(d.dataTransfer.files).filter(f=>f?a.test(f.type):!1);u.length&&(l.stop(),t.model.change(f=>{d.targetRanges&&f.setSelection(d.targetRanges.map(p=>t.editing.mapper.toModelRange(p))),t.execute("uploadImage",{file:u})}))}),this.listenTo(s,"inputTransformation",(l,d)=>{const u=Array.from(t.editing.view.createRangeIn(d.content)).map(p=>p.item).filter(p=>ST(r,p)&&!p.getAttribute("uploadProcessed")).map(p=>({promise:DT(p),imageElement:p}));if(!u.length)return;const f=new Be(t.editing.view.document);for(const p of u){f.setAttribute("uploadProcessed",!0,p.imageElement);const w=i.createLoader(p.promise);w&&(f.setAttribute("src","",p.imageElement),f.setAttribute("uploadId",w.id,p.imageElement))}}),t.editing.view.document.on("dragover",(l,d)=>{d.preventDefault()}),e.on("change",()=>{const l=e.differ.getChanges({includeChangesInGraveyard:!0}).reverse(),d=new Set;for(const u of l)if(u.type=="insert"&&u.name!="$text"){const f=u.position.nodeAfter,p=u.position.root.rootName=="$graveyard";for(const w of UT(t,f)){const S=w.getAttribute("uploadId");if(!S)continue;const M=i.loaders.get(S);M&&(p?d.has(S)||M.abort():(d.add(S),this._uploadImageElements.set(S,w),M.status=="idle"&&this._readAndUpload(M)))}}}),this.on("uploadComplete",(l,{imageElement:d,data:u})=>{const f=u.urls?u.urls:u;this.editor.model.change(p=>{p.setAttribute("src",f.default,d),this._parseAndSetSrcsetAttributeOnImage(f,d,p),r.setImageNaturalSizeAttributes(d)})},{priority:"low"})}afterInit(){const t=this.editor.model.schema;this.editor.plugins.has("ImageBlockEditing")&&t.extend("imageBlock",{allowAttributes:["uploadId","uploadStatus"]}),this.editor.plugins.has("ImageInlineEditing")&&t.extend("imageInline",{allowAttributes:["uploadId","uploadStatus"]})}_readAndUpload(t){const e=this.editor,n=e.model,i=e.locale.t,r=e.plugins.get(gn),s=e.plugins.get(Dg),a=e.plugins.get("ImageUtils"),c=this._uploadImageElements;return n.enqueueChange({isUndoable:!1},d=>{d.setAttribute("uploadStatus","reading",c.get(t.id))}),t.read().then(()=>{const d=t.upload(),u=c.get(t.id);if(g.isSafari){const f=e.editing.mapper.toViewElement(u),p=a.findViewImgElement(f);e.editing.view.once("render",()=>{if(!p.parent)return;const w=e.editing.view.domConverter.mapViewToDom(p.parent);if(!w)return;const S=w.style.display;w.style.display="none",w._ckHack=w.offsetHeight,w.style.display=S})}return n.enqueueChange({isUndoable:!1},f=>{f.setAttribute("uploadStatus","uploading",u)}),d}).then(d=>{n.enqueueChange({isUndoable:!1},u=>{const f=c.get(t.id);u.setAttribute("uploadStatus","complete",f),this.fire("uploadComplete",{data:d,imageElement:f})}),l()}).catch(d=>{if(t.status!=="error"&&t.status!=="aborted")throw d;t.status=="error"&&d&&s.showWarning(d,{title:i("Upload failed"),namespace:"upload"}),n.enqueueChange({isUndoable:!1},u=>{u.remove(c.get(t.id))}),l()});function l(){n.enqueueChange({isUndoable:!1},d=>{const u=c.get(t.id);d.removeAttribute("uploadId",u),d.removeAttribute("uploadStatus",u),c.delete(t.id)}),r.destroyLoader(t)}}_parseAndSetSrcsetAttributeOnImage(t,e,n){let i=0;const r=Object.keys(t).filter(s=>{const a=parseInt(s,10);if(!isNaN(a))return i=Math.max(i,a),!0}).map(s=>`${t[s]} ${s}w`).join(", ");if(r!=""){const s={srcset:r};!e.hasAttribute("width")&&!e.hasAttribute("height")&&(s.width=i),n.setAttributes(s,e)}}}function HT(o){return Array.from(o.types).includes("text/html")&&o.getData("text/html")!==""}function UT(o,t){const e=o.plugins.get("ImageUtils");return Array.from(o.model.createRangeOn(t)).filter(n=>e.isImage(n.item)).map(n=>n.item)}class GT extends L{static get pluginName(){return"ImageUpload"}static get requires(){return[VT,MT,BT]}}class WT extends X{refresh(){const t=this.editor,n=t.plugins.get("ImageUtils").getClosestSelectedImageElement(t.model.document.selection);this.isEnabled=!!n,!n||!n.hasAttribute("resizedWidth")?this.value=null:this.value={width:n.getAttribute("resizedWidth"),height:null}}execute(t){const e=this.editor,n=e.model,i=e.plugins.get("ImageUtils"),r=i.getClosestSelectedImageElement(n.document.selection);this.value={width:t.width,height:null},r&&n.change(s=>{s.setAttribute("resizedWidth",t.width,r),s.removeAttribute("resizedHeight",r),i.setImageNaturalSizeAttributes(r)})}}class vm extends L{static get requires(){return[Ut]}static get pluginName(){return"ImageResizeEditing"}constructor(t){super(t),t.config.define("image",{resizeUnit:"%",resizeOptions:[{name:"resizeImage:original",value:null,icon:"original"},{name:"resizeImage:25",value:"25",icon:"small"},{name:"resizeImage:50",value:"50",icon:"medium"},{name:"resizeImage:75",value:"75",icon:"large"}]})}init(){const t=this.editor,e=new WT(t);this._registerSchema(),this._registerConverters("imageBlock"),this._registerConverters("imageInline"),t.commands.add("resizeImage",e),t.commands.add("imageResize",e)}_registerSchema(){this.editor.plugins.has("ImageBlockEditing")&&this.editor.model.schema.extend("imageBlock",{allowAttributes:["resizedWidth","resizedHeight"]}),this.editor.plugins.has("ImageInlineEditing")&&this.editor.model.schema.extend("imageInline",{allowAttributes:["resizedWidth","resizedHeight"]})}_registerConverters(t){const e=this.editor,n=e.plugins.get("ImageUtils");e.conversion.for("downcast").add(i=>i.on(`attribute:resizedWidth:${t}`,(r,s,a)=>{if(!a.consumable.consume(s.item,r.name))return;const c=a.writer,l=a.mapper.toViewElement(s.item);s.attributeNewValue!==null?(c.setStyle("width",s.attributeNewValue,l),c.addClass("image_resized",l)):(c.removeStyle("width",l),c.removeClass("image_resized",l))})),e.conversion.for("dataDowncast").attributeToAttribute({model:{name:t,key:"resizedHeight"},view:i=>({key:"style",value:{height:i}})}),e.conversion.for("editingDowncast").add(i=>i.on(`attribute:resizedHeight:${t}`,(r,s,a)=>{if(!a.consumable.consume(s.item,r.name))return;const c=a.writer,l=a.mapper.toViewElement(s.item),d=t==="imageInline"?n.findViewImgElement(l):l;s.attributeNewValue!==null?c.setStyle("height",s.attributeNewValue,d):c.removeStyle("height",d)})),e.conversion.for("upcast").attributeToAttribute({view:{name:t==="imageBlock"?"figure":"img",styles:{width:/.+/}},model:{key:"resizedWidth",value:i=>Zi(i)?null:i.getStyle("width")}}),e.conversion.for("upcast").attributeToAttribute({view:{name:t==="imageBlock"?"figure":"img",styles:{height:/.+/}},model:{key:"resizedHeight",value:i=>Zi(i)?null:i.getStyle("height")}})}}const $a={small:J.objectSizeSmall,medium:J.objectSizeMedium,large:J.objectSizeLarge,original:J.objectSizeFull};class qT extends L{static get requires(){return[vm]}static get pluginName(){return"ImageResizeButtons"}constructor(t){super(t),this._resizeUnit=t.config.get("image.resizeUnit")}init(){const t=this.editor,e=t.config.get("image.resizeOptions"),n=t.commands.get("resizeImage");this.bind("isEnabled").to(n);for(const i of e)this._registerImageResizeButton(i);this._registerImageResizeDropdown(e)}_registerImageResizeButton(t){const e=this.editor,{name:n,value:i,icon:r}=t,s=i?i+this._resizeUnit:null;e.ui.componentFactory.add(n,a=>{const c=new at(a),l=e.commands.get("resizeImage"),d=this._getOptionLabelValue(t,!0);if(!$a[r])throw new b("imageresizebuttons-missing-icon",e,t);return c.set({label:d,icon:$a[r],tooltip:d,isToggleable:!0}),c.bind("isEnabled").to(this),c.bind("isOn").to(l,"value",ym(s)),this.listenTo(c,"execute",()=>{e.execute("resizeImage",{width:s})}),c})}_registerImageResizeDropdown(t){const e=this.editor,n=e.t,i=t.find(s=>!s.value),r=s=>{const a=e.commands.get("resizeImage"),c=ye(s,jd),l=c.buttonView,d=n("Resize image");return l.set({tooltip:d,commandValue:i.value,icon:$a.medium,isToggleable:!0,label:this._getOptionLabelValue(i),withText:!0,class:"ck-resize-image-button",ariaLabel:d,ariaLabelledBy:void 0}),l.bind("label").to(a,"value",u=>u&&u.width?u.width:this._getOptionLabelValue(i)),c.bind("isEnabled").to(this),Gs(c,()=>this._getResizeDropdownListItemDefinitions(t,a),{ariaLabel:n("Image resize list"),role:"menu"}),this.listenTo(c,"execute",u=>{e.execute(u.source.commandName,{width:u.source.commandValue}),e.editing.view.focus()}),c};e.ui.componentFactory.add("resizeImage",r),e.ui.componentFactory.add("imageResize",r)}_getOptionLabelValue(t,e=!1){const n=this.editor.t;return t.label?t.label:e?t.value?n("Resize image to %0",t.value+this._resizeUnit):n("Resize image to the original size"):t.value?t.value+this._resizeUnit:n("Original")}_getResizeDropdownListItemDefinitions(t,e){const n=new oe;return t.map(i=>{const r=i.value?i.value+this._resizeUnit:null,s={type:"button",model:new la({commandName:"resizeImage",commandValue:r,label:this._getOptionLabelValue(i),role:"menuitemradio",withText:!0,icon:null})};s.model.bind("isOn").to(e,"value",ym(r)),n.add(s)}),n}}function ym(o){return t=>{const e=t;return o===null&&e===o?!0:e!==null&&e.width===o}}const ZT="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",Ka="image_resized";class $T extends L{static get requires(){return[Ba,Ut]}static get pluginName(){return"ImageResizeHandles"}init(){const t=this.editor.commands.get("resizeImage");this.bind("isEnabled").to(t),this._setupResizerCreator()}_setupResizerCreator(){const t=this.editor,e=t.editing.view,n=t.plugins.get("ImageUtils");e.addObserver(Fa),this.listenTo(e.document,"imageLoaded",(i,r)=>{if(!r.target.matches(ZT))return;const s=t.editing.view.domConverter,a=s.domToView(r.target),c=n.getImageWidgetFromImageView(a);let l=this.editor.plugins.get(Ba).getResizerByViewElement(c);if(l){l.redraw();return}const d=t.editing.mapper,u=d.toModelElement(c);l=t.plugins.get(Ba).attachTo({unit:t.config.get("image.resizeUnit"),modelElement:u,viewElement:c,editor:t,getHandleHost(f){return f.querySelector("img")},getResizeHost(){return s.mapViewToDom(d.toViewElement(u.parent))},isCentered(){const f=u.getAttribute("imageStyle");return!f||f=="block"||f=="alignCenter"},onCommit(f){e.change(p=>{p.removeClass(Ka,c)}),t.execute("resizeImage",{width:f})}}),l.on("updateSize",()=>{c.hasClass(Ka)||e.change(p=>{p.addClass(Ka,c)});const f=u.name==="imageInline"?a:c;f.getStyle("height")&&e.change(p=>{p.removeStyle("height",f)})}),l.bind("isEnabled").to(this)})}}var xm=P(2400),Ya={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ya.insert="head",Ya.singleton=!0,R()(xm.Z,Ya),xm.Z.locals;class KT extends L{static get requires(){return[vm,$T,qT]}static get pluginName(){return"ImageResize"}}class YT extends X{constructor(t,e){super(t),this._defaultStyles={imageBlock:!1,imageInline:!1},this._styles=new Map(e.map(n=>{if(n.isDefault)for(const i of n.modelElements)this._defaultStyles[i]=n.name;return[n.name,n]}))}refresh(){const n=this.editor.plugins.get("ImageUtils").getClosestSelectedImageElement(this.editor.model.document.selection);this.isEnabled=!!n,this.isEnabled?n.hasAttribute("imageStyle")?this.value=n.getAttribute("imageStyle"):this.value=this._defaultStyles[n.name]:this.value=!1}execute(t={}){const e=this.editor,n=e.model,i=e.plugins.get("ImageUtils");n.change(r=>{const s=t.value,{setImageSizes:a=!0}=t;let c=i.getClosestSelectedImageElement(n.document.selection);s&&this.shouldConvertImageType(s,c)&&(this.editor.execute(i.isBlockImage(c)?"imageTypeInline":"imageTypeBlock",{setImageSizes:a}),c=i.getClosestSelectedImageElement(n.document.selection)),!s||this._styles.get(s).isDefault?r.removeAttribute("imageStyle",c):r.setAttribute("imageStyle",s,c),a&&i.setImageNaturalSizeAttributes(c)})}shouldConvertImageType(t,e){return!this._styles.get(t).modelElements.includes(e.name)}}const{objectFullWidth:QT,objectInline:Em,objectLeft:Dm,objectRight:Qa,objectCenter:Ja,objectBlockLeft:Sm,objectBlockRight:Tm}=J,Ki={get inline(){return{name:"inline",title:"In line",icon:Em,modelElements:["imageInline"],isDefault:!0}},get alignLeft(){return{name:"alignLeft",title:"Left aligned image",icon:Dm,modelElements:["imageBlock","imageInline"],className:"image-style-align-left"}},get alignBlockLeft(){return{name:"alignBlockLeft",title:"Left aligned image",icon:Sm,modelElements:["imageBlock"],className:"image-style-block-align-left"}},get alignCenter(){return{name:"alignCenter",title:"Centered image",icon:Ja,modelElements:["imageBlock"],className:"image-style-align-center"}},get alignRight(){return{name:"alignRight",title:"Right aligned image",icon:Qa,modelElements:["imageBlock","imageInline"],className:"image-style-align-right"}},get alignBlockRight(){return{name:"alignBlockRight",title:"Right aligned image",icon:Tm,modelElements:["imageBlock"],className:"image-style-block-align-right"}},get block(){return{name:"block",title:"Centered image",icon:Ja,modelElements:["imageBlock"],isDefault:!0}},get side(){return{name:"side",title:"Side image",icon:Qa,modelElements:["imageBlock"],className:"image-style-side"}}},Im={full:QT,left:Sm,right:Tm,center:Ja,inlineLeft:Dm,inlineRight:Qa,inline:Em},Mm=[{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 JT(o){return(o.configuredStyles.options||[]).map(n=>eI(n)).filter(n=>nI(n,o))}function XT(o,t){return o&&t?{options:["inline","alignLeft","alignRight","alignCenter","alignBlockLeft","alignBlockRight","block","side"]}:o?{options:["block","side"]}:t?{options:["inline","alignLeft","alignRight"]}:{}}function tI(o){return o.has("ImageBlockEditing")&&o.has("ImageInlineEditing")?[...Mm]:[]}function eI(o){return typeof o=="string"?Ki[o]?o={...Ki[o]}:o={name:o}:o=oI(Ki[o.name],o),typeof o.icon=="string"&&(o.icon=Im[o.icon]||o.icon),o}function nI(o,{isBlockPluginLoaded:t,isInlinePluginLoaded:e}){const{modelElements:n,name:i}=o;if(!n||!n.length||!i)return Bm({style:o}),!1;{const r=[t?"imageBlock":null,e?"imageInline":null];if(!n.some(s=>r.includes(s)))return n.map(s=>s==="imageBlock"?"ImageBlockEditing":"ImageInlineEditing"),!1}return!0}function oI(o,t){const e={...t};for(const n in o)Object.prototype.hasOwnProperty.call(t,n)||(e[n]=o[n]);return e}function Bm(o){}const Xa={normalizeStyles:JT,getDefaultStylesConfiguration:XT,getDefaultDropdownDefinitions:tI,warnInvalidStyle:Bm,DEFAULT_OPTIONS:Ki,DEFAULT_ICONS:Im,DEFAULT_DROPDOWN_DEFINITIONS:Mm};function iI(o){return(t,e,n)=>{if(!n.consumable.consume(e.item,t.name))return;const i=Nm(e.attributeNewValue,o),r=Nm(e.attributeOldValue,o),s=n.mapper.toViewElement(e.item),a=n.writer;r&&a.removeClass(r.className,s),i&&a.addClass(i.className,s)}}function rI(o){const t={imageInline:o.filter(e=>!e.isDefault&&e.modelElements.includes("imageInline")),imageBlock:o.filter(e=>!e.isDefault&&e.modelElements.includes("imageBlock"))};return(e,n,i)=>{if(!n.modelRange)return;const r=n.viewItem,s=Lt(n.modelRange.getItems());if(s&&i.schema.checkAttribute(s,"imageStyle"))for(const a of t[s.name])i.consumable.consume(r,{classes:a.className})&&i.writer.setAttribute("imageStyle",a.name,s)}}function Nm(o,t){for(const e of t)if(e.name===o)return e}class zm extends L{static get pluginName(){return"ImageStyleEditing"}static get requires(){return[Ut]}init(){const{normalizeStyles:t,getDefaultStylesConfiguration:e}=Xa,n=this.editor,i=n.plugins.has("ImageBlockEditing"),r=n.plugins.has("ImageInlineEditing");n.config.define("image.styles",e(i,r)),this.normalizedStyles=t({configuredStyles:n.config.get("image.styles"),isBlockPluginLoaded:i,isInlinePluginLoaded:r}),this._setupConversion(i,r),this._setupPostFixer(),n.commands.add("imageStyle",new YT(n,this.normalizedStyles))}_setupConversion(t,e){const n=this.editor,i=n.model.schema,r=iI(this.normalizedStyles),s=rI(this.normalizedStyles);n.editing.downcastDispatcher.on("attribute:imageStyle",r),n.data.downcastDispatcher.on("attribute:imageStyle",r),t&&(i.extend("imageBlock",{allowAttributes:"imageStyle"}),n.data.upcastDispatcher.on("element:figure",s,{priority:"low"})),e&&(i.extend("imageInline",{allowAttributes:"imageStyle"}),n.data.upcastDispatcher.on("element:img",s,{priority:"low"}))}_setupPostFixer(){const t=this.editor,e=t.model.document,n=t.plugins.get(Ut),i=new Map(this.normalizedStyles.map(r=>[r.name,r]));e.registerPostFixer(r=>{let s=!1;for(const a of e.differ.getChanges())if(a.type=="insert"||a.type=="attribute"&&a.attributeKey=="imageStyle"){let c=a.type=="insert"?a.position.nodeAfter:a.range.start.nodeAfter;if(c&&c.is("element","paragraph")&&c.childCount>0&&(c=c.getChild(0)),!n.isImage(c))continue;const l=c.getAttribute("imageStyle");if(!l)continue;const d=i.get(l);(!d||!d.modelElements.includes(c.name))&&(r.removeAttribute("imageStyle",c),s=!0)}return s})}}var Lm=P(3534),tc={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};tc.insert="head",tc.singleton=!0,R()(Lm.Z,tc),Lm.Z.locals;class sI extends L{static get requires(){return[zm]}static get pluginName(){return"ImageStyleUI"}get localizedDefaultStylesTitles(){const t=this.editor.t;return{"Wrap text":t("Wrap text"),"Break text":t("Break text"),"In line":t("In line"),"Full size image":t("Full size image"),"Side image":t("Side image"),"Left aligned image":t("Left aligned image"),"Centered image":t("Centered image"),"Right aligned image":t("Right aligned image")}}init(){const t=this.editor.plugins,e=this.editor.config.get("image.toolbar")||[],n=t.get("ImageStyleEditing"),i=Pm(n.normalizedStyles,this.localizedDefaultStylesTitles);for(const s of i)this._createButton(s);const r=Pm([...e.filter(Ct),...Xa.getDefaultDropdownDefinitions(t)],this.localizedDefaultStylesTitles);for(const s of r)this._createDropdown(s,i)}_createDropdown(t,e){const n=this.editor.ui.componentFactory;n.add(t.name,i=>{let r;const{defaultItem:s,items:a,title:c}=t,l=a.filter(p=>e.find(({name:w})=>Om(w)===p)).map(p=>{const w=n.create(p);return p===s&&(r=w),w});a.length!==l.length&&Xa.warnInvalidStyle({dropdown:t});const d=ye(i,Di),u=d.buttonView,f=u.arrowView;return Us(d,l,{enableActiveItemFocusOnDropdownOpen:!0}),u.set({label:Rm(c,r.label),class:null,tooltip:!0}),f.unbind("label"),f.set({label:c}),u.bind("icon").toMany(l,"isOn",(...p)=>{const w=p.findIndex(rn);return w<0?r.icon:l[w].icon}),u.bind("label").toMany(l,"isOn",(...p)=>{const w=p.findIndex(rn);return Rm(c,w<0?r.label:l[w].label)}),u.bind("isOn").toMany(l,"isOn",(...p)=>p.some(rn)),u.bind("class").toMany(l,"isOn",(...p)=>p.some(rn)?"ck-splitbutton_flatten":void 0),u.on("execute",()=>{l.some(({isOn:p})=>p)?d.isOpen=!d.isOpen:r.fire("execute")}),d.bind("isEnabled").toMany(l,"isEnabled",(...p)=>p.some(rn)),this.listenTo(d,"execute",()=>{this.editor.editing.view.focus()}),d})}_createButton(t){const e=t.name;this.editor.ui.componentFactory.add(Om(e),n=>{const i=this.editor.commands.get("imageStyle"),r=new at(n);return r.set({label:t.title,icon:t.icon,tooltip:!0,isToggleable:!0}),r.bind("isEnabled").to(i,"isEnabled"),r.bind("isOn").to(i,"value",s=>s===e),r.on("execute",this._executeCommand.bind(this,e)),r})}_executeCommand(t){this.editor.execute("imageStyle",{value:t}),this.editor.editing.view.focus()}}function Pm(o,t){for(const e of o)t[e.title]&&(e.title=t[e.title]);return o}function Om(o){return`imageStyle:${o}`}function Rm(o,t){return(o?o+": ":"")+t}class aI extends L{static get requires(){return[zm,sI]}static get pluginName(){return"ImageStyle"}}class cI extends L{static get requires(){return[Hi,Ut]}static get pluginName(){return"ImageToolbar"}afterInit(){const t=this.editor,e=t.t,n=t.plugins.get(Hi),i=t.plugins.get("ImageUtils");n.register("image",{ariaLabel:e("Image toolbar"),items:lI(t.config.get("image.toolbar")||[]),getRelatedElement:r=>i.getClosestSelectedImageWidget(r)})}}function lI(o){return o.map(t=>Ct(t)?t.name:t)}class dI extends L{static get pluginName(){return"IndentEditing"}init(){const t=this.editor;t.commands.add("indent",new Gd(t)),t.commands.add("outdent",new Gd(t))}}class uI extends L{static get pluginName(){return"IndentUI"}init(){const t=this.editor,e=t.locale,n=t.t,i=e.uiLanguageDirection=="ltr"?J.indent:J.outdent,r=e.uiLanguageDirection=="ltr"?J.outdent:J.indent;this._defineButton("indent",n("Increase indent"),i),this._defineButton("outdent",n("Decrease indent"),r)}_defineButton(t,e,n){const i=this.editor;i.ui.componentFactory.add(t,r=>{const s=i.commands.get(t),a=new at(r);return a.set({label:e,icon:n,tooltip:!0}),a.bind("isEnabled").to(s,"isEnabled"),this.listenTo(a,"execute",()=>{i.execute(t),i.editing.view.focus()}),a})}}class hI extends L{static get pluginName(){return"Indent"}static get requires(){return[dI,uI]}}class gI{constructor(){this._definitions=new Set}get length(){return this._definitions.size}add(t){Array.isArray(t)?t.forEach(e=>this._definitions.add(e)):this._definitions.add(t)}getDispatcher(){return t=>{t.on("attribute:linkHref",(e,n,i)=>{if(!i.consumable.test(n.item,"attribute:linkHref")||!(n.item.is("selection")||i.schema.isInline(n.item)))return;const r=i.writer,s=r.document.selection;for(const a of this._definitions){const c=r.createAttributeElement("a",a.attributes,{priority:5});a.classes&&r.addClass(a.classes,c);for(const l in a.styles)r.setStyle(l,a.styles[l],c);r.setCustomProperty("link",!0,c),a.callback(n.attributeNewValue)?n.item.is("selection")?r.wrap(s.getFirstRange(),c):r.wrap(i.mapper.toViewRange(n.range),c):r.unwrap(i.mapper.toViewRange(n.range),c)}},{priority:"high"})}}getDispatcherForLinkedImage(){return t=>{t.on("attribute:linkHref:imageBlock",(e,n,{writer:i,mapper:r})=>{const s=r.toViewElement(n.item),a=Array.from(s.getChildren()).find(c=>c.is("element","a"));for(const c of this._definitions){const l=Se(c.attributes);if(c.callback(n.attributeNewValue)){for(const[d,u]of l)d==="class"?i.addClass(u,a):i.setAttribute(d,u,a);c.classes&&i.addClass(c.classes,a);for(const d in c.styles)i.setStyle(d,c.styles[d],a)}else{for(const[d,u]of l)d==="class"?i.removeClass(u,a):i.removeAttribute(d,a);c.classes&&i.removeClass(c.classes,a);for(const d in c.styles)i.removeStyle(d,a)}}})}}}function fI(o,t,e){var n=o.length;return e=e===void 0?n:e,!t&&e>=n?o:ou(o,t,e)}const mI=fI;var pI="\\ud800-\\udfff",kI="\\u0300-\\u036f",bI="\\ufe20-\\ufe2f",wI="\\u20d0-\\u20ff",AI=kI+bI+wI,CI="\\ufe0e\\ufe0f",_I="\\u200d",vI=RegExp("["+_I+pI+AI+CI+"]");function yI(o){return vI.test(o)}const jm=yI;function xI(o){return o.split("")}const EI=xI;var Fm="\\ud800-\\udfff",DI="\\u0300-\\u036f",SI="\\ufe20-\\ufe2f",TI="\\u20d0-\\u20ff",II=DI+SI+TI,MI="\\ufe0e\\ufe0f",BI="["+Fm+"]",ec="["+II+"]",nc="\\ud83c[\\udffb-\\udfff]",NI="(?:"+ec+"|"+nc+")",Vm="[^"+Fm+"]",Hm="(?:\\ud83c[\\udde6-\\uddff]){2}",Um="[\\ud800-\\udbff][\\udc00-\\udfff]",zI="\\u200d",Gm=NI+"?",Wm="["+MI+"]?",LI="(?:"+zI+"(?:"+[Vm,Hm,Um].join("|")+")"+Wm+Gm+")*",PI=Wm+Gm+LI,OI="(?:"+[Vm+ec+"?",ec,Hm,Um,BI].join("|")+")",RI=RegExp(nc+"(?="+nc+")|"+OI+PI,"g");function jI(o){return o.match(RI)||[]}const FI=jI;function VI(o){return jm(o)?FI(o):EI(o)}const HI=VI;function UI(o){return function(t){t=is(t);var e=jm(t)?HI(t):void 0,n=e?e[0]:t.charAt(0),i=e?mI(e,1).join(""):t.slice(1);return n[o]()+i}}var GI=UI("toUpperCase");const WI=GI,qI=/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205f\u3000]/g,ZI=/^(?:(?:https?|ftps?|mailto):|[^a-z]|[a-z+.-]+(?:[^a-z+.:-]|$))/i,$I=/^[\S]+@((?![-_])(?:[-\w\u00a1-\uffff]{0,63}[^-_]\.))+(?:[a-z\u00a1-\uffff]{2,})$/i,KI=/^((\w+:(\/{2,})?)|(\W))/i,oc="Ctrl+K";function YI(o){return o.is("attributeElement")&&!!o.getCustomProperty("link")}function qm(o,{writer:t}){const e=t.createAttributeElement("a",{href:o},{priority:5});return t.setCustomProperty("link",!0,e),e}function Zm(o){const t=String(o);return QI(t)?t:"#"}function QI(o){return!!o.replace(qI,"").match(ZI)}function JI(o,t){const e={"Open in a new tab":o("Open in a new tab"),Downloadable:o("Downloadable")};return t.forEach(n=>("label"in n&&e[n.label]&&(n.label=e[n.label]),n)),t}function XI(o){const t=[];if(o)for(const[e,n]of Object.entries(o)){const i=Object.assign({},n,{id:`link${WI(e)}`});t.push(i)}return t}function ic(o,t){return o?t.checkAttribute(o.name,"linkHref"):!1}function tM(o){return $I.test(o)}function rc(o,t){const e=tM(o)?"mailto:":t,n=!!e&&!$m(o);return o&&n?e+o:o}function $m(o){return KI.test(o)}function Km(o){window.open(o,"_blank","noopener")}class eM extends X{constructor(){super(...arguments),this.manualDecorators=new oe,this.automaticDecorators=new gI}restoreManualDecoratorStates(){for(const t of this.manualDecorators)t.value=this._getDecoratorStateFromModel(t.id)}refresh(){const t=this.editor.model,e=t.document.selection,n=e.getSelectedElement()||Lt(e.getSelectedBlocks());ic(n,t.schema)?(this.value=n.getAttribute("linkHref"),this.isEnabled=t.schema.checkAttribute(n,"linkHref")):(this.value=e.getAttribute("linkHref"),this.isEnabled=t.schema.checkAttributeInSelection(e,"linkHref"));for(const i of this.manualDecorators)i.value=this._getDecoratorStateFromModel(i.id)}execute(t,e={}){const n=this.editor.model,i=n.document.selection,r=[],s=[];for(const a in e)e[a]?r.push(a):s.push(a);n.change(a=>{if(i.isCollapsed){const c=i.getFirstPosition();if(i.hasAttribute("linkHref")){const l=Ym(i);let d=Oi(c,"linkHref",i.getAttribute("linkHref"),n);i.getAttribute("linkHref")===l&&(d=this._updateLinkContent(n,a,d,t)),a.setAttribute("linkHref",t,d),r.forEach(u=>{a.setAttribute(u,!0,d)}),s.forEach(u=>{a.removeAttribute(u,d)}),a.setSelection(a.createPositionAfter(d.end.nodeBefore))}else if(t!==""){const l=Se(i.getAttributes());l.set("linkHref",t),r.forEach(u=>{l.set(u,!0)});const{end:d}=n.insertContent(a.createText(t,l),c);a.setSelection(d)}["linkHref",...r,...s].forEach(l=>{a.removeSelectionAttribute(l)})}else{const c=n.schema.getValidRanges(i.getRanges(),"linkHref"),l=[];for(const u of i.getSelectedBlocks())n.schema.checkAttribute(u,"linkHref")&&l.push(a.createRangeOn(u));const d=l.slice();for(const u of c)this._isRangeToUpdate(u,l)&&d.push(u);for(const u of d){let f=u;if(d.length===1){const p=Ym(i);i.getAttribute("linkHref")===p&&(f=this._updateLinkContent(n,a,u,t),a.setSelection(a.createSelection(f)))}a.setAttribute("linkHref",t,f),r.forEach(p=>{a.setAttribute(p,!0,f)}),s.forEach(p=>{a.removeAttribute(p,f)})}}})}_getDecoratorStateFromModel(t){const e=this.editor.model,n=e.document.selection,i=n.getSelectedElement();return ic(i,e.schema)?i.getAttribute(t):n.getAttribute(t)}_isRangeToUpdate(t,e){for(const n of e)if(n.containsRange(t))return!1;return!0}_updateLinkContent(t,e,n,i){const r=e.createText(i,{linkHref:i});return t.insertContent(r,n)}}function Ym(o){if(o.isCollapsed){const t=o.getFirstPosition();return t.textNode&&t.textNode.data}else{const t=Array.from(o.getFirstRange().getItems());if(t.length>1)return null;const e=t[0];return e.is("$text")||e.is("$textProxy")?e.data:null}}class nM extends X{refresh(){const t=this.editor.model,e=t.document.selection,n=e.getSelectedElement();ic(n,t.schema)?this.isEnabled=t.schema.checkAttribute(n,"linkHref"):this.isEnabled=t.schema.checkAttributeInSelection(e,"linkHref")}execute(){const t=this.editor,e=this.editor.model,n=e.document.selection,i=t.commands.get("link");e.change(r=>{const s=n.isCollapsed?[Oi(n.getFirstPosition(),"linkHref",n.getAttribute("linkHref"),e)]:e.schema.getValidRanges(n.getRanges(),"linkHref");for(const a of s)if(r.removeAttribute("linkHref",a),i)for(const c of i.manualDecorators)r.removeAttribute(c.id,a)})}}class oM extends st(){constructor({id:t,label:e,attributes:n,classes:i,styles:r,defaultValue:s}){super(),this.id=t,this.set("value",void 0),this.defaultValue=s,this.label=e,this.attributes=n,this.classes=i,this.styles=r}_createPattern(){return{attributes:this.attributes,classes:this.classes,styles:this.styles}}}var Qm=P(3925),sc={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};sc.insert="head",sc.singleton=!0,R()(Qm.Z,sc),Qm.Z.locals;const iM="ck-link_selected",Jm="automatic",rM="manual",sM=/^(https?:)?\/\//;class Xm extends L{static get pluginName(){return"LinkEditing"}static get requires(){return[Jg,Wg,ke]}constructor(t){super(t),t.config.define("link",{allowCreatingEmptyLinks:!1,addTargetToExternalLinks:!1})}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:"linkHref"}),t.conversion.for("dataDowncast").attributeToElement({model:"linkHref",view:qm}),t.conversion.for("editingDowncast").attributeToElement({model:"linkHref",view:(i,r)=>qm(Zm(i),r)}),t.conversion.for("upcast").elementToAttribute({view:{name:"a",attributes:{href:!0}},model:{key:"linkHref",value:i=>i.getAttribute("href")}}),t.commands.add("link",new eM(t)),t.commands.add("unlink",new nM(t));const e=JI(t.t,XI(t.config.get("link.decorators")));this._enableAutomaticDecorators(e.filter(i=>i.mode===Jm)),this._enableManualDecorators(e.filter(i=>i.mode===rM)),t.plugins.get(Jg).registerAttribute("linkHref"),l4(t,"linkHref","a",iM),this._enableLinkOpen(),this._enableSelectionAttributesFixer(),this._enableClipboardIntegration()}_enableAutomaticDecorators(t){const e=this.editor,i=e.commands.get("link").automaticDecorators;e.config.get("link.addTargetToExternalLinks")&&i.add({id:"linkIsExternal",mode:Jm,callback:r=>!!r&&sM.test(r),attributes:{target:"_blank",rel:"noopener noreferrer"}}),i.add(t),i.length&&e.conversion.for("downcast").add(i.getDispatcher())}_enableManualDecorators(t){if(!t.length)return;const e=this.editor,i=e.commands.get("link").manualDecorators;t.forEach(r=>{e.model.schema.extend("$text",{allowAttributes:r.id});const s=new oM(r);i.add(s),e.conversion.for("downcast").attributeToElement({model:s.id,view:(a,{writer:c,schema:l},{item:d})=>{if((d.is("selection")||l.isInline(d))&&a){const u=c.createAttributeElement("a",s.attributes,{priority:5});s.classes&&c.addClass(s.classes,u);for(const f in s.styles)c.setStyle(f,s.styles[f],u);return c.setCustomProperty("link",!0,u),u}}}),e.conversion.for("upcast").elementToAttribute({view:{name:"a",...s._createPattern()},model:{key:s.id}})})}_enableLinkOpen(){const t=this.editor,n=t.editing.view.document;this.listenTo(n,"click",(i,r)=>{if(!(g.isMac?r.domEvent.metaKey:r.domEvent.ctrlKey))return;let a=r.domTarget;if(a.tagName.toLowerCase()!="a"&&(a=a.closest("a")),!a)return;const c=a.getAttribute("href");c&&(i.stop(),r.preventDefault(),Km(c))},{context:"$capture"}),this.listenTo(n,"keydown",(i,r)=>{const a=t.commands.get("link").value;a&&r.keyCode===et.enter&&r.altKey&&(i.stop(),Km(a))})}_enableSelectionAttributesFixer(){const e=this.editor.model,n=e.document.selection;this.listenTo(n,"change:attribute",(i,{attributeKeys:r})=>{!r.includes("linkHref")||n.hasAttribute("linkHref")||e.change(s=>{aM(s,cM(e.schema))})})}_enableClipboardIntegration(){const t=this.editor,e=t.model,n=this.editor.config.get("link.defaultProtocol");n&&this.listenTo(t.plugins.get("ClipboardPipeline"),"contentInsertion",(i,r)=>{e.change(s=>{const a=s.createRangeIn(r.content);for(const c of a.getItems())if(c.hasAttribute("linkHref")){const l=rc(c.getAttribute("linkHref"),n);s.setAttribute("linkHref",l,c)}})})}}function aM(o,t){o.removeSelectionAttribute("linkHref");for(const e of t)o.removeSelectionAttribute(e)}function cM(o){return o.getDefinition("$text").allowAttributes.filter(e=>e.startsWith("link"))}var tp=P(4874),ac={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};ac.insert="head",ac.singleton=!0,R()(tp.Z,ac),tp.Z.locals;class lM extends Z{constructor(t,e){super(t),this.focusTracker=new Pt,this.keystrokes=new Gt,this._focusables=new ie;const n=t.t;this.urlInputView=this._createUrlInput(),this.saveButtonView=this._createButton(n("Save"),J.check,"ck-button-save"),this.saveButtonView.type="submit",this.cancelButtonView=this._createButton(n("Cancel"),J.cancel,"ck-button-cancel","cancel"),this._manualDecoratorSwitches=this._createManualDecoratorSwitches(e),this.children=this._createFormChildren(e.manualDecorators),this._focusCycler=new se({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}});const i=["ck","ck-link-form","ck-responsive-form"];e.manualDecorators.length&&i.push("ck-link-form_layout-vertical","ck-vertical-form"),this.setTemplate({tag:"form",attributes:{class:i,tabindex:"-1"},children:this.children})}getDecoratorSwitchesState(){return Array.from(this._manualDecoratorSwitches).reduce((t,e)=>(t[e.name]=e.isOn,t),{})}render(){super.render(),h({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 t=this.locale.t,e=new si(this.locale,Si);return e.label=t("Link URL"),e}_createButton(t,e,n,i){const r=new at(this.locale);return r.set({label:t,icon:e,tooltip:!0}),r.extendTemplate({attributes:{class:n}}),i&&r.delegate("execute").to(this,i),r}_createManualDecoratorSwitches(t){const e=this.createCollection();for(const n of t.manualDecorators){const i=new ri(this.locale);i.set({name:n.id,label:n.label,withText:!0}),i.bind("isOn").toMany([n,t],"value",(r,s)=>s===void 0&&r===void 0?!!n.defaultValue:!!r),i.on("execute",()=>{n.set("value",!i.isOn)}),e.add(i)}return e}_createFormChildren(t){const e=this.createCollection();if(e.add(this.urlInputView),t.length){const n=new Z;n.setTemplate({tag:"ul",children:this._manualDecoratorSwitches.map(i=>({tag:"li",children:[i],attributes:{class:["ck","ck-list__item"]}})),attributes:{class:["ck","ck-reset","ck-list"]}}),e.add(n)}return e.add(this.saveButtonView),e.add(this.cancelButtonView),e}}var ep=P(7536),cc={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};cc.insert="head",cc.singleton=!0,R()(ep.Z,cc),ep.Z.locals;const dM='';class uM extends Z{constructor(t){super(t),this.focusTracker=new Pt,this.keystrokes=new Gt,this._focusables=new ie;const e=t.t;this.previewButtonView=this._createPreviewButton(),this.unlinkButtonView=this._createButton(e("Unlink"),dM,"unlink"),this.editButtonView=this._createButton(e("Edit link"),J.pencil,"edit"),this.set("href",void 0),this._focusCycler=new se({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(t,e,n){const i=new at(this.locale);return i.set({label:t,icon:e,tooltip:!0}),i.delegate("execute").to(this,n),i}_createPreviewButton(){const t=new at(this.locale),e=this.bindTemplate,n=this.t;return t.set({withText:!0,tooltip:n("Open link in new tab")}),t.extendTemplate({attributes:{class:["ck","ck-link-actions__preview"],href:e.to("href",i=>i&&Zm(i)),target:"_blank",rel:"noopener noreferrer"}}),t.bind("label").to(this,"href",i=>i||n("This link has no URL")),t.bind("isEnabled").to(this,"href",i=>!!i),t.template.tag="a",t.template.eventListeners={},t}}const hM='',xe="link-ui";class gM extends L{constructor(){super(...arguments),this.actionsView=null,this.formView=null}static get requires(){return[Ni]}static get pluginName(){return"LinkUI"}init(){const t=this.editor;t.editing.view.addObserver(wE),this._balloon=t.plugins.get(Ni),this._createToolbarLinkButton(),this._enableBalloonActivators(),t.conversion.for("editingDowncast").markerToHighlight({model:xe,view:{classes:["ck-fake-link-selection"]}}),t.conversion.for("editingDowncast").markerToElement({model:xe,view:{name:"span",classes:["ck-fake-link-selection","ck-fake-link-selection_collapsed"]}})}destroy(){super.destroy(),this.formView&&this.formView.destroy(),this.actionsView&&this.actionsView.destroy()}_createViews(){this.actionsView=this._createActionsView(),this.formView=this._createFormView(),this._enableUserBalloonInteractions()}_createActionsView(){const t=this.editor,e=new uM(t.locale),n=t.commands.get("link"),i=t.commands.get("unlink");return e.bind("href").to(n,"value"),e.editButtonView.bind("isEnabled").to(n),e.unlinkButtonView.bind("isEnabled").to(i),this.listenTo(e,"edit",()=>{this._addFormView()}),this.listenTo(e,"unlink",()=>{t.execute("unlink"),this._hideUI()}),e.keystrokes.set("Esc",(r,s)=>{this._hideUI(),s()}),e.keystrokes.set(oc,(r,s)=>{this._addFormView(),s()}),e}_createFormView(){const t=this.editor,e=t.commands.get("link"),n=t.config.get("link.defaultProtocol"),i=t.config.get("link.allowCreatingEmptyLinks"),r=new(x(lM))(t.locale,e);return r.urlInputView.fieldView.bind("value").to(e,"value"),r.urlInputView.bind("isEnabled").to(e,"isEnabled"),r.saveButtonView.bind("isEnabled").to(e,"isEnabled",r.urlInputView,"isEmpty",(s,a)=>s&&(i||!a)),this.listenTo(r,"submit",()=>{const{value:s}=r.urlInputView.fieldView.element,a=rc(s,n);t.execute("link",a,r.getDecoratorSwitchesState()),this._closeFormView()}),this.listenTo(r,"cancel",()=>{this._closeFormView()}),r.keystrokes.set("Esc",(s,a)=>{this._closeFormView(),a()}),r}_createToolbarLinkButton(){const t=this.editor,e=t.commands.get("link"),n=t.t;t.ui.componentFactory.add("link",i=>{const r=new at(i);return r.isEnabled=!0,r.label=n("Link"),r.icon=hM,r.keystroke=oc,r.tooltip=!0,r.isToggleable=!0,r.bind("isEnabled").to(e,"isEnabled"),r.bind("isOn").to(e,"value",s=>!!s),this.listenTo(r,"execute",()=>this._showUI(!0)),r})}_enableBalloonActivators(){const t=this.editor,e=t.editing.view.document;this.listenTo(e,"click",()=>{this._getSelectedLinkElement()&&this._showUI()}),t.keystrokes.set(oc,(n,i)=>{i(),t.commands.get("link").isEnabled&&this._showUI(!0)})}_enableUserBalloonInteractions(){this.editor.keystrokes.set("Tab",(t,e)=>{this._areActionsVisible&&!this.actionsView.focusTracker.isFocused&&(this.actionsView.focus(),e())},{priority:"high"}),this.editor.keystrokes.set("Esc",(t,e)=>{this._isUIVisible&&(this._hideUI(),e())}),C({emitter:this.formView,activator:()=>this._isUIInPanel,contextElements:()=>[this._balloon.view.element],callback:()=>this._hideUI()})}_addActionsView(){this.actionsView||this._createViews(),!this._areActionsInPanel&&this._balloon.add({view:this.actionsView,position:this._getBalloonPositionData()})}_addFormView(){if(this.formView||this._createViews(),this._isFormInPanel)return;const e=this.editor.commands.get("link");this.formView.disableCssTransitions(),this._balloon.add({view:this.formView,position:this._getBalloonPositionData()}),this.formView.urlInputView.fieldView.value=e.value||"",this._balloon.visibleView===this.formView&&this.formView.urlInputView.fieldView.select(),this.formView.enableCssTransitions()}_closeFormView(){const t=this.editor.commands.get("link");t.restoreManualDecoratorStates(),t.value!==void 0?this._removeFormView():this._hideUI()}_removeFormView(){this._isFormInPanel&&(this.formView.saveButtonView.focus(),this.formView.urlInputView.fieldView.reset(),this._balloon.remove(this.formView),this.editor.editing.view.focus(),this._hideFakeVisualSelection())}_showUI(t=!1){this.formView||this._createViews(),this._getSelectedLinkElement()?(this._areActionsVisible?this._addFormView():this._addActionsView(),t&&this._balloon.showStack("main")):(this._showFakeVisualSelection(),this._addActionsView(),t&&this._balloon.showStack("main"),this._addFormView()),this._startUpdatingUI()}_hideUI(){if(!this._isUIInPanel)return;const t=this.editor;this.stopListening(t.ui,"update"),this.stopListening(this._balloon,"change:visibleView"),t.editing.view.focus(),this._removeFormView(),this._balloon.remove(this.actionsView),this._hideFakeVisualSelection()}_startUpdatingUI(){const t=this.editor,e=t.editing.view.document;let n=this._getSelectedLinkElement(),i=s();const r=()=>{const a=this._getSelectedLinkElement(),c=s();n&&!a||!n&&c!==i?this._hideUI():this._isUIVisible&&this._balloon.updatePosition(this._getBalloonPositionData()),n=a,i=c};function s(){return e.selection.focus.getAncestors().reverse().find(a=>a.is("element"))}this.listenTo(t.ui,"update",r),this.listenTo(this._balloon,"change:visibleView",r)}get _isFormInPanel(){return!!this.formView&&this._balloon.hasView(this.formView)}get _areActionsInPanel(){return!!this.actionsView&&this._balloon.hasView(this.actionsView)}get _areActionsVisible(){return!!this.actionsView&&this._balloon.visibleView===this.actionsView}get _isUIInPanel(){return this._isFormInPanel||this._areActionsInPanel}get _isUIVisible(){const t=this._balloon.visibleView;return!!this.formView&&t==this.formView||this._areActionsVisible}_getBalloonPositionData(){const t=this.editor.editing.view,e=this.editor.model,n=t.document;let i;if(e.markers.has(xe)){const r=Array.from(this.editor.editing.mapper.markerNameToElements(xe)),s=t.createRange(t.createPositionBefore(r[0]),t.createPositionAfter(r[r.length-1]));i=t.domConverter.viewRangeToDom(s)}else i=()=>{const r=this._getSelectedLinkElement();return r?t.domConverter.mapViewToDom(r):t.domConverter.viewRangeToDom(n.selection.getFirstRange())};return{target:i}}_getSelectedLinkElement(){const t=this.editor.editing.view,e=t.document.selection,n=e.getSelectedElement();if(e.isCollapsed||n&&Tt(n))return lc(e.getFirstPosition());{const i=e.getFirstRange().getTrimmed(),r=lc(i.start),s=lc(i.end);return!r||r!=s?null:t.createRangeIn(r).getTrimmed().isEqual(i)?r:null}}_showFakeVisualSelection(){const t=this.editor.model;t.change(e=>{const n=t.document.selection.getFirstRange();if(t.markers.has(xe))e.updateMarker(xe,{range:n});else if(n.start.isAtEnd){const i=n.start.getLastMatchingPosition(({item:r})=>!t.schema.isContent(r),{boundaries:n});e.addMarker(xe,{usingOperation:!1,affectsData:!1,range:e.createRange(i,n.end)})}else e.addMarker(xe,{usingOperation:!1,affectsData:!1,range:n})})}_hideFakeVisualSelection(){const t=this.editor.model;t.markers.has(xe)&&t.change(e=>{e.removeMarker(xe)})}}function lc(o){return o.getAncestors().find(t=>YI(t))||null}const fM=4,np=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"),mM=2;class pM extends L{static get requires(){return[ze,Xm]}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(),this._enablePasteLinking()}_expandLinkRange(t,e){return e.textNode&&e.textNode.hasAttribute("linkHref")?Oi(e,"linkHref",e.textNode.getAttribute("linkHref"),t):null}_selectEntireLinks(t,e){const i=this.editor.model,r=i.document.selection,s=r.getFirstPosition(),a=r.getLastPosition();let c=e.getJoined(this._expandLinkRange(i,s)||e);c&&(c=c.getJoined(this._expandLinkRange(i,a)||e)),c&&(c.start.isBefore(s)||c.end.isAfter(a))&&t.setSelection(c)}_enablePasteLinking(){const t=this.editor,e=t.model,n=e.document.selection,i=t.plugins.get("ClipboardPipeline"),r=t.commands.get("link");i.on("inputTransformation",(s,a)=>{if(!this.isEnabled||!r.isEnabled||n.isCollapsed||n.rangeCount>1)return;const c=n.getFirstRange(),l=a.dataTransfer.getData("text/plain");if(!l)return;const d=l.match(np);d&&d[2]===l&&(e.change(u=>{this._selectEntireLinks(u,c),r.execute(l)}),s.stop())},{priority:"high"})}_enableTypingHandling(){const t=this.editor,e=new Qg(t.model,n=>{if(!kM(n))return;const i=op(n.substr(0,n.length-1));if(i)return{url:i}});e.on("matched:data",(n,i)=>{const{batch:r,range:s,url:a}=i;if(!r.isTyping)return;const c=s.end.getShiftedBy(-1),l=c.getShiftedBy(-a.length),d=t.model.createRange(l,c);this._applyAutoLink(a,d)}),e.bind("isEnabled").to(this)}_enableEnterHandling(){const t=this.editor,e=t.model,n=t.commands.get("enter");n&&n.on("execute",()=>{const i=e.document.selection.getFirstPosition();if(!i.parent.previousSibling)return;const r=e.createRangeIn(i.parent.previousSibling);this._checkAndApplyAutoLinkOnRange(r)})}_enableShiftEnterHandling(){const t=this.editor,e=t.model,n=t.commands.get("shiftEnter");n&&n.on("execute",()=>{const i=e.document.selection.getFirstPosition(),r=e.createRange(e.createPositionAt(i.parent,0),i.getShiftedBy(-1));this._checkAndApplyAutoLinkOnRange(r)})}_checkAndApplyAutoLinkOnRange(t){const e=this.editor.model,{text:n,range:i}=Yg(t,e),r=op(n);if(r){const s=e.createRange(i.end.getShiftedBy(-r.length),i.end);this._applyAutoLink(r,s)}}_applyAutoLink(t,e){const n=this.editor.model,i=this.editor.config.get("link.defaultProtocol"),r=rc(t,i);!this.isEnabled||!bM(e,n)||!$m(r)||wM(e)||this._persistAutoLink(r,e)}_persistAutoLink(t,e){const n=this.editor.model,i=this.editor.plugins.get("Delete");n.enqueueChange(r=>{r.setAttribute("linkHref",t,e),n.enqueueChange(()=>{i.requestUndoOnBackspace()})})}}function kM(o){return o.length>fM&&o[o.length-1]===" "&&o[o.length-2]!==" "}function op(o){const t=np.exec(o);return t?t[mM]:null}function bM(o,t){return t.schema.checkAttributeInSelection(t.createSelection(o),"linkHref")}function wM(o){const t=o.start.nodeAfter;return!!t&&t.hasAttribute("linkHref")}class AM extends L{static get requires(){return[Xm,gM,pM]}static get pluginName(){return"Link"}}var ip=P(4330),dc={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};dc.insert="head",dc.singleton=!0,R()(ip.Z,dc),ip.Z.locals;class de{constructor(t,e){this._startElement=t,this._referenceIndent=t.getAttribute("listIndent"),this._isForward=e.direction=="forward",this._includeSelf=!!e.includeSelf,this._sameAttributes=bt(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 Lt(i)}*[Symbol.iterator](){const t=[];for(const{node:e}of Po(this._getStartNode(),this._isForward?"forward":"backward")){const n=e.getAttribute("listIndent");if(nthis._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(i=>e.getAttribute(i)!==this._startElement.getAttribute(i)))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*Po(o,t="forward"){const e=t=="forward",n=[];let i=null;for(;Nt(o);){let r=null;if(i){const s=o.getAttribute("listIndent"),a=i.getAttribute("listIndent");s>a?n[a]=i:ss.getAttribute("listIndent"))),r=new Map;for(const s of e)r.set(s,de.first(s,{lowerIndent:!0}));for(const s of e){if(n.has(s))continue;n.add(s);const a=s.getAttribute("listIndent")-1;if(a<0){Yi(s,t);continue}if(s.getAttribute("listIndent")==i){const c=EM(s,r.get(s),t);for(const l of c)n.add(l);if(c.length)continue}t.setAttribute("listIndent",a,s)}return mn(n)}function Yi(o,t){o=bt(o);for(const e of o)e.is("element","listItem")&&t.rename(e,"paragraph");for(const e of o)for(const n of e.getAttributeKeys())n.startsWith("list")&&t.removeAttribute(n,e);return o}function Ro(o){if(!o.length)return!1;const t=o[0].getAttribute("listItemId");return t?!o.some(e=>e.getAttribute("listItemId")!=t):!1}function xM(o,t){const e=[];let n=Number.POSITIVE_INFINITY;for(const{node:i}of Po(o.nextSibling,"forward")){const r=i.getAttribute("listIndent");if(r==0)break;rt.root.rootName!=="$graveyard").sort((t,e)=>t.index-e.index)}function jo(o){const t=o.document.selection.getSelectedElement();return t&&o.schema.isObject(t)&&o.schema.isBlock(t)?t:null}function mc(o,t){return t.checkChild(o.parent,"listItem")&&t.checkChild(o,"$text")&&!t.isObject(o)}function EM(o,t,e){return Ze(t,{direction:"forward"}).pop().index>o.index?gc(o,t,e):[]}class ap extends X{constructor(t,e){super(t),this._direction=e}refresh(){this.isEnabled=this._checkEnabled()}execute(){const t=this.editor.model,e=cp(t.document.selection);t.change(n=>{const i=[];Ro(e)&&!fn(e[0])?(this._direction=="forward"&&i.push(...fc(e,n)),i.push(...hc(e[0],n))):this._direction=="forward"?i.push(...fc(e,n,{expand:!0})):i.push(...yM(e,n));for(const r of i){if(!r.hasAttribute("listType"))continue;const s=de.first(r,{sameIndent:!0});s&&n.setAttribute("listType",s.getAttribute("listType"),r)}this._fireAfterExecute(i)})}_fireAfterExecute(t){this.fire("afterExecute",mn(new Set(t)))}_checkEnabled(){let t=cp(this.editor.model.document.selection),e=t[0];if(!e)return!1;if(this._direction=="backward"||Ro(t)&&!fn(t[0]))return!0;t=Oo(t),e=t[0];const n=de.first(e,{sameIndent:!0});return n?n.getAttribute("listType")==e.getAttribute("listType"):!1}}function cp(o){const t=Array.from(o.getSelectedBlocks()),e=t.findIndex(n=>!Nt(n));return e!=-1&&(t.length=e),t}class lp extends X{constructor(t,e){super(t),this.type=e}refresh(){this.value=this._getValue(),this.isEnabled=this._checkEnabled()}execute(t={}){const e=this.editor.model,n=e.document,i=jo(e),r=Array.from(n.selection.getSelectedBlocks()).filter(a=>e.schema.checkAttribute(a,"listType")||mc(a,e.schema)),s=t.forceValue!==void 0?!t.forceValue:this.value;e.change(a=>{if(s){const c=r[r.length-1],l=Ze(c,{direction:"forward"}),d=[];l.length>1&&d.push(...hc(l[1],a)),d.push(...Yi(r,a)),d.push(...xM(c,a)),this._fireAfterExecute(d)}else if((i||n.selection.isCollapsed)&&Nt(r[0])){const c=rp(i||r[0]);for(const l of c)a.setAttribute("listType",this.type,l);this._fireAfterExecute(c)}else{const c=[];for(const l of r)if(!l.hasAttribute("listType"))!l.is("element","listItem")&&mc(l,e.schema)&&a.rename(l,"listItem"),a.setAttributes({listIndent:0,listItemId:Zn.next(),listType:this.type},l),c.push(l);else for(const d of Oo(l,{withNested:!1}))d.getAttribute("listType")!=this.type&&(a.setAttribute("listType",this.type,d),c.push(d));this._fireAfterExecute(c)}})}_fireAfterExecute(t){this.fire("afterExecute",mn(new Set(t)))}_getValue(){const t=this.editor.model.document.selection,e=Array.from(t.getSelectedBlocks());if(!e.length)return!1;for(const n of e)if(n.getAttribute("listType")!=this.type)return!1;return!0}_checkEnabled(){const t=this.editor.model,e=t.schema,n=t.document.selection,i=Array.from(n.getSelectedBlocks());if(!i.length)return!1;if(this.value)return!0;for(const r of i)if(e.checkAttribute(r,"listType")||mc(r,e))return!0;return!1}}class dp extends X{constructor(t,e){super(t),this._direction=e}refresh(){this.isEnabled=this._checkEnabled()}execute({shouldMergeOnBlocksContentLevel:t=!1}={}){const e=this.editor.model,n=e.document.selection,i=[];e.change(r=>{const{firstElement:s,lastElement:a}=this._getMergeSubjectElements(n,t),c=s.getAttribute("listIndent")||0,l=a.getAttribute("listIndent"),d=a.getAttribute("listItemId");if(c!=l){const u=_M(a);i.push(...fc([a,...u],r,{indentBy:c-l,expand:c{const n=hc(this._getStartBlock(),e);this._fireAfterExecute(n)})}_fireAfterExecute(t){this.fire("afterExecute",mn(new Set(t)))}_checkEnabled(){const t=this.editor.model.document.selection,e=this._getStartBlock();return t.isCollapsed&&Nt(e)&&!fn(e)}_getStartBlock(){const e=this.editor.model.document.selection.getFirstPosition().parent;return this._direction=="before"?e:e.nextSibling}}class DM extends L{static get pluginName(){return"ListUtils"}expandListBlocksToCompleteList(t){return vM(t)}isFirstBlockOfListItem(t){return fn(t)}isListItemBlock(t){return Nt(t)}expandListBlocksToCompleteItems(t,e={}){return Oo(t,e)}}function hp(o){return o.is("element","ol")||o.is("element","ul")}function Qi(o){return o.is("element","li")}function SM(o){let t=0,e=o.parent;for(;e;){if(Qi(e))t++;else{const n=e.previousSibling;n&&Qi(n)&&t++}e=e.parent}return t}function TM(o,t,e,n=fp(e,t)){return o.createAttributeElement(gp(e),null,{priority:2*t/100-100,id:n})}function IM(o,t,e){return o.createAttributeElement("li",null,{priority:(2*t+1)/100-100,id:e})}function gp(o){return o=="numbered"?"ol":"ul"}function fp(o,t){return`list-${o}-${t}`}function be(o,t){const e=o.nodeBefore;if(Nt(e)){let n=e;for(const{node:i}of Po(n,"backward"))if(n=i,t.has(n))return;t.set(e,n)}else{const n=o.nodeAfter;Nt(n)&&t.set(n,n)}}function MM(o,t){let e=0,n=-1,i=null,r=!1;for(const{node:s}of o){const a=s.getAttribute("listIndent");if(a>e){let c;i===null?(i=a-e,c=e):(i>a&&(i=a),c=a-i),c>n+1&&(c=n+1),t.setAttribute("listIndent",c,s),r=!0,n=c}else i=null,e=a+1,n=a}return r}function BM(o,t,e){const n=new Set;let i=!1;for(const{node:r}of o){if(n.has(r))continue;let s=r.getAttribute("listType"),a=r.getAttribute("listItemId");if(t.has(a)&&(a=Zn.next()),t.add(a),r.is("element","listItem")){r.getAttribute("listItemId")!=a&&(e.setAttribute("listItemId",a,r),i=!0);continue}for(const c of Ze(r,{direction:"forward"}))n.add(c),c.getAttribute("listType")!=s&&(a=Zn.next(),s=c.getAttribute("listType")),c.getAttribute("listItemId")!=a&&(e.setAttribute("listItemId",a,c),i=!0)}return i}function NM(){return(o,t,e)=>{const{writer:n,schema:i}=e;if(!t.modelRange)return;const r=Array.from(t.modelRange.getItems({shallow:!0})).filter(u=>i.checkAttribute(u,"listItemId"));if(!r.length)return;const s=Zn.next(),a=SM(t.viewItem);let c=t.viewItem.parent&&t.viewItem.parent.is("element","ol")?"numbered":"bulleted";const l=r[0].getAttribute("listType");l&&(c=l);const d={listItemId:s,listIndent:a,listType:c};for(const u of r)u.hasAttribute("listItemId")||n.setAttributes(d,u);r.length>1&&r[1].getAttribute("listItemId")!=d.listItemId&&e.keepEmptyElement(r[0])}}function mp(){return(o,t,e)=>{if(!e.consumable.test(t.viewItem,{name:!0}))return;const n=new Be(t.viewItem.document);for(const i of Array.from(t.viewItem.getChildren()))!Qi(i)&&!hp(i)&&n.remove(i)}}function zM(o,t,e,n){return()=>{const a=o.document.differ.getChanges(),c=[],l=new Map,d=new Set;for(const u of a)if(u.type=="insert"&&u.name!="$text")be(u.position,l),u.attributes.has("listItemId")?d.add(u.position.nodeAfter):be(u.position.getShiftedBy(u.length),l);else if(u.type=="remove"&&u.attributes.has("listItemId"))be(u.position,l);else if(u.type=="attribute"){const f=u.range.start.nodeAfter;e.includes(u.attributeKey)?(be(u.range.start,l),u.attributeNewValue===null?(be(u.range.start.getShiftedBy(1),l),r(f)&&c.push(f)):d.add(f)):Nt(f)&&r(f)&&c.push(f)}for(const u of l.values())c.push(...i(u,d));for(const u of new Set(c))t.reconvertItem(u)};function i(a,c){const l=[],d=new Set,u=[];for(const{node:f,previous:p}of Po(a,"forward")){if(d.has(f))continue;const w=f.getAttribute("listIndent");p&&we.includes(M)));const S=Ze(f,{direction:"forward"});for(const M of S)d.add(M),(r(M,S)||s(M,u,c))&&l.push(M)}return l}function r(a,c){const l=t.mapper.toViewElement(a);if(!l)return!1;if(n.fire("checkElement",{modelElement:a,viewElement:l}))return!0;if(!a.is("element","paragraph")&&!a.is("element","listItem"))return!1;const u=bp(a,e,c);return u&&l.is("element","p")?!0:!!(!u&&l.is("element","span"))}function s(a,c,l){if(l.has(a))return!1;const d=t.mapper.toViewElement(a);let u=c.length-1;for(let f=d.parent;!f.is("editableElement");f=f.parent){const p=Qi(f),w=hp(f);if(!w&&!p)continue;const S=`checkAttributes:${p?"item":"list"}`;if(n.fire(S,{viewElement:f,modelAttributes:c[u]}))break;if(w&&(u--,u<0))return!1}return!0}}function pp(o,t,e,{dataPipeline:n}={}){const i=FM(o);return(r,s,a)=>{const{writer:c,mapper:l,consumable:d}=a,u=s.item;if(!o.includes(s.attributeKey)||!i(u,d))return;const f=LM(u,l,e);PM(f,c,l),RM(f,c);const p=OM(u,f,t,c,{dataPipeline:n});jM(u,p,t,c)}}function kp(o,{dataPipeline:t}={}){return(e,{writer:n})=>{if(!bp(e,o))return null;if(!t)return n.createContainerElement("span",{class:"ck-list-bogus-paragraph"});const i=n.createContainerElement("p");return n.setCustomProperty("dataPipeline:transparentRendering",!0,i),i}}function LM(o,t,e){const n=e.createRangeOn(o);return t.toViewRange(n).getTrimmed().end.nodeBefore}function PM(o,t,e){for(;o.parent.is("attributeElement")&&o.parent.getCustomProperty("listItemWrapper");)t.unwrap(t.createRangeIn(o.parent),o.parent);const n=t.createPositionBefore(o).getWalker({direction:"backward"}),i=[];for(const{item:r}of n){if(r.is("element")&&e.toModelElement(r))break;r.is("element")&&r.getCustomProperty("listItemMarker")&&i.push(r)}for(const r of i)t.remove(r)}function OM(o,t,e,n,{dataPipeline:i}){let r=n.createRangeOn(t);if(!fn(o))return r;for(const s of e){if(s.scope!="itemMarker")continue;const a=s.createElement(n,o,{dataPipeline:i});if(!a||(n.setCustomProperty("listItemMarker",!0,a),n.insert(r.start,a),r=n.createRange(n.createPositionBefore(a),n.createPositionAfter(t)),!s.createWrapperElement||!s.canWrapElement))continue;const c=s.createWrapperElement(n,o,{dataPipeline:i});n.setCustomProperty("listItemWrapper",!0,c),s.canWrapElement(o)?r=n.wrap(r,c):(r=n.wrap(n.createRangeOn(a),c),r=n.createRange(r.start,n.createPositionAfter(t)))}return r}function RM(o,t){let e=o.parent;for(;e.is("attributeElement")&&["ul","ol","li"].includes(e.name);){const n=e.parent;t.unwrap(t.createRangeOn(o),e),e=n}}function jM(o,t,e,n){if(!o.hasAttribute("listIndent"))return;const i=o.getAttribute("listIndent");let r=o;for(let s=i;s>=0;s--){const a=IM(n,s,r.getAttribute("listItemId")),c=TM(n,s,r.getAttribute("listType"));for(const l of e)(l.scope=="list"||l.scope=="item")&&r.hasAttribute(l.attributeName)&&l.setAttributeOnDowncast(n,r.getAttribute(l.attributeName),l.scope=="list"?c:a);if(t=n.wrap(t,a),t=n.wrap(t,c),s==0||(r=de.first(r,{lowerIndent:!0}),!r))break}}function FM(o){return(t,e)=>{const n=[];for(const i of o)t.hasAttribute(i)&&n.push(`attribute:${i}`);return n.every(i=>e.test(t,i)!==!1)?(n.forEach(i=>e.consume(t,i)),!0):!1}}function bp(o,t,e=uc(o)){if(!Nt(o))return!1;for(const n of o.getAttributeKeys())if(!n.startsWith("selection:")&&!t.includes(n))return!1;return e.length<2}var wp=P(3190),pc={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};pc.insert="head",pc.singleton=!0,R()(wp.Z,pc),wp.Z.locals;var Ap=P(4784),kc={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};kc.insert="head",kc.singleton=!0,R()(Ap.Z,kc),Ap.Z.locals;const Ji=["listType","listIndent","listItemId"];class VM extends L{static get pluginName(){return"ListEditing"}static get requires(){return[ji,ze,DM,ke]}constructor(t){super(t),this._downcastStrategies=[],t.config.define("list.multiBlock",!0)}init(){const t=this.editor,e=t.model,n=t.config.get("list.multiBlock");if(t.plugins.has("LegacyListEditing"))throw new b("list-feature-conflict",this,{conflictPlugin:"LegacyListEditing"});e.schema.register("$listItem",{allowAttributes:Ji}),n?(e.schema.extend("$container",{allowAttributesOf:"$listItem"}),e.schema.extend("$block",{allowAttributesOf:"$listItem"}),e.schema.extend("$blockObject",{allowAttributesOf:"$listItem"})):e.schema.register("listItem",{inheritAllFrom:"$block",allowAttributesOf:"$listItem"});for(const i of Ji)e.schema.setAttributeProperties(i,{copyOnReplace:!0});t.commands.add("numberedList",new lp(t,"numbered")),t.commands.add("bulletedList",new lp(t,"bulleted")),t.commands.add("indentList",new ap(t,"forward")),t.commands.add("outdentList",new ap(t,"backward")),t.commands.add("splitListItemBefore",new up(t,"before")),t.commands.add("splitListItemAfter",new up(t,"after")),n&&(t.commands.add("mergeListItemBackward",new dp(t,"backward")),t.commands.add("mergeListItemForward",new dp(t,"forward"))),this._setupDeleteIntegration(),this._setupEnterIntegration(),this._setupTabIntegration(),this._setupClipboardIntegration()}afterInit(){const e=this.editor.commands,n=e.get("indent"),i=e.get("outdent");n&&n.registerChildCommand(e.get("indentList"),{priority:"high"}),i&&i.registerChildCommand(e.get("outdentList"),{priority:"lowest"}),this._setupModelPostFixing(),this._setupConversion()}registerDowncastStrategy(t){this._downcastStrategies.push(t)}getListAttributeNames(){return[...Ji,...this._downcastStrategies.map(t=>t.attributeName)]}_setupDeleteIntegration(){const t=this.editor,e=t.commands.get("mergeListItemBackward"),n=t.commands.get("mergeListItemForward");this.listenTo(t.editing.view.document,"delete",(i,r)=>{const s=t.model.document.selection;jo(t.model)||t.model.change(()=>{const a=s.getFirstPosition();if(s.isCollapsed&&r.direction=="backward"){if(!a.isAtStart)return;const c=a.parent;if(!Nt(c))return;if(!de.first(c,{sameAttributes:"listType",sameIndent:!0})&&c.getAttribute("listIndent")===0)sp(c)||t.execute("splitListItemAfter"),t.execute("outdentList");else{if(!e||!e.isEnabled)return;e.execute({shouldMergeOnBlocksContentLevel:Cp(t.model,"backward")})}r.preventDefault(),i.stop()}else{if(s.isCollapsed&&!s.getLastPosition().isAtEnd||!n||!n.isEnabled)return;n.execute({shouldMergeOnBlocksContentLevel:Cp(t.model,"forward")}),r.preventDefault(),i.stop()}})},{context:"li"})}_setupEnterIntegration(){const t=this.editor,e=t.model,n=t.commands,i=n.get("enter");this.listenTo(t.editing.view.document,"enter",(r,s)=>{const a=e.document,c=a.selection.getFirstPosition().parent;if(a.selection.isCollapsed&&Nt(c)&&c.isEmpty&&!s.isSoft){const l=fn(c),d=sp(c);l&&d?(t.execute("outdentList"),s.preventDefault(),r.stop()):l&&!d?(t.execute("splitListItemAfter"),s.preventDefault(),r.stop()):d&&(t.execute("splitListItemBefore"),s.preventDefault(),r.stop())}},{context:"li"}),this.listenTo(i,"afterExecute",()=>{const r=n.get("splitListItemBefore");if(r.refresh(),!r.isEnabled)return;const a=t.model.document.selection.getLastPosition().parent;uc(a).length===2&&r.execute()})}_setupTabIntegration(){const t=this.editor;this.listenTo(t.editing.view.document,"tab",(e,n)=>{const i=n.shiftKey?"outdentList":"indentList";this.editor.commands.get(i).isEnabled&&(t.execute(i),n.stopPropagation(),n.preventDefault(),e.stop())},{context:"li"})}_setupConversion(){const t=this.editor,e=t.model,n=this.getListAttributeNames(),i=t.config.get("list.multiBlock"),r=i?"paragraph":"listItem";t.conversion.for("upcast").elementToElement({view:"li",model:(s,{writer:a})=>a.createElement(r,{listType:""})}).elementToElement({view:"p",model:(s,{writer:a})=>s.parent&&s.parent.is("element","li")?a.createElement(r,{listType:""}):null,converterPriority:"high"}).add(s=>{s.on("element:li",NM()),s.on("element:ul",mp(),{priority:"high"}),s.on("element:ol",mp(),{priority:"high"})}),i||t.conversion.for("downcast").elementToElement({model:"listItem",view:"p"}),t.conversion.for("editingDowncast").elementToElement({model:r,view:kp(n),converterPriority:"high"}).add(s=>{s.on("attribute",pp(n,this._downcastStrategies,e))}),t.conversion.for("dataDowncast").elementToElement({model:r,view:kp(n,{dataPipeline:!0}),converterPriority:"high"}).add(s=>{s.on("attribute",pp(n,this._downcastStrategies,e,{dataPipeline:!0}))}),this.listenTo(e.document,"change:data",zM(e,t.editing,n,this),{priority:"high"}),this.on("checkAttributes:item",(s,{viewElement:a,modelAttributes:c})=>{a.id!=c.listItemId&&(s.return=!0,s.stop())}),this.on("checkAttributes:list",(s,{viewElement:a,modelAttributes:c})=>{(a.name!=gp(c.listType)||a.id!=fp(c.listType,c.listIndent))&&(s.return=!0,s.stop())})}_setupModelPostFixing(){const t=this.editor.model,e=this.getListAttributeNames();t.document.registerPostFixer(n=>HM(t,n,e,this)),this.on("postFixer",(n,{listNodes:i,writer:r})=>{n.return=MM(i,r)||n.return},{priority:"high"}),this.on("postFixer",(n,{listNodes:i,writer:r,seenIds:s})=>{n.return=BM(i,s,r)||n.return},{priority:"high"})}_setupClipboardIntegration(){const t=this.editor.model,e=this.editor.plugins.get("ClipboardPipeline");this.listenTo(t,"insertContent",UM(t),{priority:"high"}),this.listenTo(e,"outputTransformation",(n,i)=>{t.change(r=>{const s=Array.from(i.content.getChildren()),a=s[s.length-1];if(s.length>1&&a.is("element")&&a.isEmpty&&s.slice(0,-1).every(Nt)&&r.remove(a),i.method=="copy"||i.method=="cut"){const c=Array.from(i.content.getChildren());Ro(c)&&Yi(c,r)}})})}}function HM(o,t,e,n){const i=o.document.differ.getChanges(),r=new Map,s=n.editor.config.get("list.multiBlock");let a=!1;for(const l of i){if(l.type=="insert"&&l.name!="$text"){const d=l.position.nodeAfter;if(!o.schema.checkAttribute(d,"listItemId"))for(const u of Array.from(d.getAttributeKeys()))e.includes(u)&&(t.removeAttribute(u,d),a=!0);be(l.position,r),l.attributes.has("listItemId")||be(l.position.getShiftedBy(l.length),r);for(const{item:u,previousPosition:f}of o.createRangeIn(d))Nt(u)&&be(f,r)}else l.type=="remove"?be(l.position,r):l.type=="attribute"&&e.includes(l.attributeKey)&&(be(l.range.start,r),l.attributeNewValue===null&&be(l.range.start.getShiftedBy(1),r));if(!s&&l.type=="attribute"&&Ji.includes(l.attributeKey)){const d=l.range.start.nodeAfter;l.attributeNewValue===null&&d&&d.is("element","listItem")?(t.rename(d,"paragraph"),a=!0):l.attributeOldValue===null&&d&&d.is("element")&&d.name!="listItem"&&(t.rename(d,"listItem"),a=!0)}}const c=new Set;for(const l of r.values())a=n.fire("postFixer",{listNodes:new CM(l),listHead:l,writer:t,seenIds:c})||a;return a}function UM(o){return(t,[e,n])=>{const i=e.is("documentFragment")?Array.from(e.getChildren()):[e];if(!i.length)return;const s=(n?o.createSelection(n):o.document.selection).getFirstPosition();let a;if(Nt(s.parent))a=s.parent;else if(Nt(s.nodeBefore))a=s.nodeBefore;else return;o.change(c=>{const l=a.getAttribute("listType"),d=a.getAttribute("listIndent"),u=i[0].getAttribute("listIndent")||0,f=Math.max(d-u,0);for(const p of i){const w=Nt(p);a.is("element","listItem")&&p.is("element","paragraph")&&c.rename(p,"listItem"),c.setAttributes({listIndent:(w?p.getAttribute("listIndent"):0)+f,listItemId:w?p.getAttribute("listItemId"):Zn.next(),listType:l},p)}})}}function Cp(o,t){const e=o.document.selection;if(!e.isCollapsed)return!jo(o);if(t==="forward")return!0;const i=e.getFirstPosition().parent,r=i.previousSibling;return o.schema.isObject(r)?!1:r.isEmpty?!0:Ro([i,r])}function _p(o,t,e,n){o.ui.componentFactory.add(t,i=>{const r=o.commands.get(t),s=new at(i);return s.set({label:e,icon:n,tooltip:!0,isToggleable:!0}),s.bind("isOn","isEnabled").to(r,"value","isEnabled"),s.on("execute",()=>{o.execute(t),o.editing.view.focus()}),s})}class GM extends L{static get pluginName(){return"ListUI"}init(){const t=this.editor.t;_p(this.editor,"numberedList",t("Numbered List"),J.numberedList),_p(this.editor,"bulletedList",t("Bulleted List"),J.bulletedList)}}class WM extends L{static get requires(){return[VM,GM]}static get pluginName(){return"List"}}const qM=[{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:o,typeAttribute:t,listType:e}of qM);var vp=P(9938),bc={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};bc.insert="head",bc.singleton=!0,R()(vp.Z,bc),vp.Z.locals;var yp=P(2591),wc={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};wc.insert="head",wc.singleton=!0,R()(yp.Z,wc),yp.Z.locals,so("Ctrl+Enter");var xp=P(9292),Ac={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ac.insert="head",Ac.singleton=!0,R()(xp.Z,Ac),xp.Z.locals,so("Ctrl+Enter");function Ep(o,t){const e=(n,i,r)=>{if(!r.consumable.consume(i.item,n.name))return;const s=i.attributeNewValue,a=r.writer,c=r.mapper.toViewElement(i.item),l=[...c.getChildren()].find(u=>u.getCustomProperty("media-content"));a.remove(l);const d=o.getMediaViewElement(a,s,t);a.insert(a.createPositionAt(c,0),d)};return n=>{n.on("attribute:url:media",e)}}function ZM(o,t,e){return t.setCustomProperty("media",!0,o),Sa(o,t,{label:e})}function Dp(o,t,e,n){return o.createContainerElement("figure",{class:"media"},[t.getMediaViewElement(o,e,n),o.createSlot()])}function Sp(o){const t=o.getSelectedElement();return t&&t.is("element","media")?t:null}function Tp(o,t,e,n){o.change(i=>{const r=i.createElement("media",{url:t});o.insertObject(r,e,null,{setSelection:"on",findOptimalPosition:n?"auto":void 0})})}class $M extends X{refresh(){const t=this.editor.model,e=t.document.selection,n=Sp(e);this.value=n?n.getAttribute("url"):void 0,this.isEnabled=YM(e)||KM(e,t)}execute(t){const e=this.editor.model,n=e.document.selection,i=Sp(n);i?e.change(r=>{r.setAttribute("url",t,i)}):Tp(e,t,n,!0)}}function KM(o,t){let n=Cf(o,t).start.parent;return n.isEmpty&&!t.schema.isLimit(n)&&(n=n.parent),t.schema.checkChild(n,"media")}function YM(o){const t=o.getSelectedElement();return!!t&&t.name==="media"}const QM='',JM="0 0 64 42";class XM{constructor(t,e){const n=e.providers,i=e.extraProviders||[],r=new Set(e.removeProviders),s=n.concat(i).filter(a=>{const c=a.name;return c?!r.has(c):!1});this.locale=t,this.providerDefinitions=s}hasMedia(t){return!!this._getMedia(t)}getMediaViewElement(t,e,n){return this._getMedia(e).getViewElement(t,n)}_getMedia(t){if(!t)return new Ip(this.locale);t=t.trim();for(const e of this.providerDefinitions){const n=e.html,i=bt(e.url);for(const r of i){const s=this._getUrlMatches(t,r);if(s)return new Ip(this.locale,t,s,n)}}return null}_getUrlMatches(t,e){let n=t.match(e);if(n)return n;let i=t.replace(/^https?:\/\//,"");return n=i.match(e),n||(i=i.replace(/^www\./,""),n=i.match(e),n)?n:null}}class Ip{constructor(t,e,n,i){this.url=this._getValidUrl(e),this._locale=t,this._match=n,this._previewRenderer=i}getViewElement(t,e){const n={};let i;if(e.renderForEditingView||e.renderMediaPreview&&this.url&&this._previewRenderer){this.url&&(n["data-oembed-url"]=this.url),e.renderForEditingView&&(n.class="ck-media__wrapper");const r=this._getPreviewHtml(e);i=t.createRawElement("div",n,(s,a)=>{a.setContentOf(s,r)})}else this.url&&(n.url=this.url),i=t.createEmptyElement(e.elementName,n);return t.setCustomProperty("media-content",!0,i),i}_getPreviewHtml(t){return this._previewRenderer?this._previewRenderer(this._match):this.url&&t.renderForEditingView?this._getPlaceholderHtml():""}_getPlaceholderHtml(){const t=new en,e=this._locale.t;return t.content=QM,t.viewBox=JM,new re({tag:"div",attributes:{class:"ck ck-reset_all ck-media__placeholder"},children:[{tag:"div",attributes:{class:"ck-media__placeholder__icon"},children:[t]},{tag:"a",attributes:{class:"ck-media__placeholder__url",target:"_blank",rel:"noopener noreferrer",href:this.url,"data-cke-tooltip-text":e("Open media in new tab")},children:[{tag:"span",attributes:{class:"ck-media__placeholder__url__text"},children:[this.url]}]}]}).render().outerHTML}_getValidUrl(t){return t?t.match(/^https?/)?t:"https://"+t:null}}var Mp=P(1922),Cc={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Cc.insert="head",Cc.singleton=!0,R()(Mp.Z,Cc),Mp.Z.locals;class Xi extends L{static get pluginName(){return"MediaEmbedEditing"}constructor(t){super(t),t.config.define("mediaEmbed",{elementName:"oembed",providers:[{name:"dailymotion",url:[/^dailymotion\.com\/video\/(\w+)/,/^dai.ly\/(\w+)/],html:e=>`
`},{name:"spotify",url:[/^open\.spotify\.com\/(artist\/\w+)/,/^open\.spotify\.com\/(album\/\w+)/,/^open\.spotify\.com\/(track\/\w+)/],html:e=>`
`},{name:"youtube",url:[/^(?:m\.)?youtube\.com\/watch\?v=([\w-]+)(?:&t=(\d+))?/,/^(?:m\.)?youtube\.com\/v\/([\w-]+)(?:\?t=(\d+))?/,/^youtube\.com\/embed\/([\w-]+)(?:\?start=(\d+))?/,/^youtu\.be\/([\w-]+)(?:\?t=(\d+))?/],html:e=>{const n=e[1],i=e[2];return`
`}},{name:"vimeo",url:[/^vimeo\.com\/(\d+)/,/^vimeo\.com\/[^/]+\/[^/]+\/video\/(\d+)/,/^vimeo\.com\/album\/[^/]+\/video\/(\d+)/,/^vimeo\.com\/channels\/[^/]+\/(\d+)/,/^vimeo\.com\/groups\/[^/]+\/videos\/(\d+)/,/^vimeo\.com\/ondemand\/[^/]+\/(\d+)/,/^player\.vimeo\.com\/video\/(\d+)/],html:e=>`
`},{name:"instagram",url:/^instagram\.com\/p\/(\w+)/},{name:"twitter",url:/^twitter\.com/},{name:"googleMaps",url:[/^google\.com\/maps/,/^goo\.gl\/maps/,/^maps\.google\.com/,/^maps\.app\.goo\.gl/]},{name:"flickr",url:/^flickr\.com/},{name:"facebook",url:/^facebook\.com/}]}),this.registry=new XM(t.locale,t.config.get("mediaEmbed"))}init(){const t=this.editor,e=t.model.schema,n=t.t,i=t.conversion,r=t.config.get("mediaEmbed.previewsInData"),s=t.config.get("mediaEmbed.elementName"),a=this.registry;t.commands.add("mediaEmbed",new $M(t)),e.register("media",{inheritAllFrom:"$blockObject",allowAttributes:["url"]}),i.for("dataDowncast").elementToStructure({model:"media",view:(c,{writer:l})=>{const d=c.getAttribute("url");return Dp(l,a,d,{elementName:s,renderMediaPreview:!!d&&r})}}),i.for("dataDowncast").add(Ep(a,{elementName:s,renderMediaPreview:r})),i.for("editingDowncast").elementToStructure({model:"media",view:(c,{writer:l})=>{const d=c.getAttribute("url"),u=Dp(l,a,d,{elementName:s,renderForEditingView:!0});return ZM(u,l,n("media widget"))}}),i.for("editingDowncast").add(Ep(a,{elementName:s,renderForEditingView:!0})),i.for("upcast").elementToElement({view:c=>["oembed",s].includes(c.name)&&c.getAttribute("url")?{name:!0}:null,model:(c,{writer:l})=>{const d=c.getAttribute("url");return a.hasMedia(d)?l.createElement("media",{url:d}):null}}).elementToElement({view:{name:"div",attributes:{"data-oembed-url":!0}},model:(c,{writer:l})=>{const d=c.getAttribute("data-oembed-url");return a.hasMedia(d)?l.createElement("media",{url:d}):null}}).add(c=>{const l=(d,u,f)=>{if(!f.consumable.consume(u.viewItem,{name:!0,classes:"media"}))return;const{modelRange:p,modelCursor:w}=f.convertChildren(u.viewItem,u.modelCursor);u.modelRange=p,u.modelCursor=w,Lt(p.getItems())||f.consumable.revert(u.viewItem,{name:!0,classes:"media"})};c.on("element:figure",l)})}}const tB=/^(?:http(s)?:\/\/)?[\w-]+\.[\w-.~:/?#[\]@!$&'()*+,;=%]+$/;class eB extends L{static get requires(){return[jf,ze,La]}static get pluginName(){return"AutoMediaEmbed"}constructor(t){super(t),this._timeoutId=null,this._positionToInsert=null}init(){const t=this.editor,e=t.model.document,n=t.plugins.get("ClipboardPipeline");this.listenTo(n,"inputTransformation",()=>{const r=e.selection.getFirstRange(),s=Ot.fromPosition(r.start);s.stickiness="toPrevious";const a=Ot.fromPosition(r.end);a.stickiness="toNext",e.once("change:data",()=>{this._embedMediaBetweenPositions(s,a),s.detach(),a.detach()},{priority:"high"})}),t.commands.get("undo").on("execute",()=>{this._timeoutId&&(H.window.clearTimeout(this._timeoutId),this._positionToInsert.detach(),this._timeoutId=null,this._positionToInsert=null)},{priority:"high"})}_embedMediaBetweenPositions(t,e){const n=this.editor,i=n.plugins.get(Xi).registry,r=new Xt(t,e),s=r.getWalker({ignoreElementEnd:!0});let a="";for(const l of s)l.item.is("$textProxy")&&(a+=l.item.data);if(a=a.trim(),!a.match(tB)){r.detach();return}if(!i.hasMedia(a)){r.detach();return}if(!n.commands.get("mediaEmbed").isEnabled){r.detach();return}this._positionToInsert=Ot.fromPosition(t),this._timeoutId=H.window.setTimeout(()=>{n.model.change(l=>{this._timeoutId=null,l.remove(r),r.detach();let d=null;this._positionToInsert.root.rootName!=="$graveyard"&&(d=this._positionToInsert),Tp(n.model,a,d,!1),this._positionToInsert.detach(),this._positionToInsert=null}),n.plugins.get(ze).requestUndoOnBackspace()},100)}}var Bp=P(7138),_c={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};_c.insert="head",_c.singleton=!0,R()(Bp.Z,_c),Bp.Z.locals;class nB extends Z{constructor(t,e){super(e);const n=e.t;this.focusTracker=new Pt,this.keystrokes=new Gt,this.set("mediaURLInputValue",""),this.urlInputView=this._createUrlInput(),this.saveButtonView=this._createButton(n("Save"),J.check,"ck-button-save"),this.saveButtonView.type="submit",this.saveButtonView.bind("isEnabled").to(this,"mediaURLInputValue",i=>!!i),this.cancelButtonView=this._createButton(n("Cancel"),J.cancel,"ck-button-cancel","cancel"),this._focusables=new ie,this._focusCycler=new se({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this._validators=t,this.setTemplate({tag:"form",attributes:{class:["ck","ck-media-form","ck-responsive-form"],tabindex:"-1"},children:[this.urlInputView,this.saveButtonView,this.cancelButtonView]})}render(){super.render(),h({view:this}),[this.urlInputView,this.saveButtonView,this.cancelButtonView].forEach(n=>{this._focusables.add(n),this.focusTracker.add(n.element)}),this.keystrokes.listenTo(this.element);const e=n=>n.stopPropagation();this.keystrokes.set("arrowright",e),this.keystrokes.set("arrowleft",e),this.keystrokes.set("arrowup",e),this.keystrokes.set("arrowdown",e)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}get url(){return this.urlInputView.fieldView.element.value.trim()}set url(t){this.urlInputView.fieldView.element.value=t.trim()}isValid(){this.resetFormStatus();for(const t of this._validators){const e=t(this);if(e)return this.urlInputView.errorText=e,!1}return!0}resetFormStatus(){this.urlInputView.errorText=null,this.urlInputView.infoText=this._urlInputViewInfoDefault}_createUrlInput(){const t=this.locale.t,e=new si(this.locale,Si),n=e.fieldView;return this._urlInputViewInfoDefault=t("Paste the media URL in the input."),this._urlInputViewInfoTip=t("Tip: Paste the URL into the content to embed faster."),e.label=t("Media URL"),e.infoText=this._urlInputViewInfoDefault,n.on("input",()=>{e.infoText=n.element.value?this._urlInputViewInfoTip:this._urlInputViewInfoDefault,this.mediaURLInputValue=n.element.value.trim()}),e}_createButton(t,e,n,i){const r=new at(this.locale);return r.set({label:t,icon:e,tooltip:!0}),r.extendTemplate({attributes:{class:n}}),i&&r.delegate("execute").to(this,i),r}}const oB='';class iB extends L{static get requires(){return[Xi]}static get pluginName(){return"MediaEmbedUI"}init(){const t=this.editor,e=t.commands.get("mediaEmbed");t.ui.componentFactory.add("mediaEmbed",n=>{const i=ye(n);return this._setUpDropdown(i,e),i})}_setUpDropdown(t,e){const n=this.editor,i=n.t,r=t.buttonView,s=n.plugins.get(Xi).registry;t.once("change:isOpen",()=>{const a=new(x(nB))(rB(n.t,s),n.locale);t.panelView.children.add(a),r.on("open",()=>{a.disableCssTransitions(),a.url=e.value||"",a.urlInputView.fieldView.select(),a.enableCssTransitions()},{priority:"low"}),t.on("submit",()=>{a.isValid()&&(n.execute("mediaEmbed",a.url),n.editing.view.focus())}),t.on("change:isOpen",()=>a.resetFormStatus()),t.on("cancel",()=>{n.editing.view.focus()}),a.delegate("submit","cancel").to(t),a.urlInputView.fieldView.bind("value").to(e,"value"),a.urlInputView.bind("isEnabled").to(e,"isEnabled")}),t.bind("isEnabled").to(e),r.set({label:i("Insert media"),icon:oB,tooltip:!0})}}function rB(o,t){return[e=>{if(!e.url.length)return o("The URL must not be empty.")},e=>{if(!t.hasMedia(e.url))return o("This media URL is not supported.")}]}var Np=P(8705),vc={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};vc.insert="head",vc.singleton=!0,R()(Np.Z,vc),Np.Z.locals;class sB extends L{static get requires(){return[Xi,iB,eB,Lo]}static get pluginName(){return"MediaEmbed"}}function aB(o,t){if(!o.childCount)return;const e=new Be(o.document),n=lB(o,e);if(!n.length)return;let i=null,r=1;n.forEach((s,a)=>{const c=kB(n[a-1],s),l=c?null:n[a-1],d=wB(l,s);if(c&&(i=null,r=1),!i||d!==0){const f=dB(s,t);if(!i)i=zp(f,s.element,e);else if(s.indent>r){const p=i.getChild(i.childCount-1),w=p.getChild(p.childCount-1);i=zp(f,w,e),r+=1}else if(s.indent1&&e.setAttribute("start",o.startIndex,i),i}function fB(o,t){return pB(o,t),t.removeStyle("text-indent",o),t.rename("li",o)}function mB(o){const t={},e=o.getStyle("mso-list");if(e){const n=e.match(/(^|\s{1,100})l(\d+)/i),i=e.match(/\s{0,100}lfo(\d+)/i),r=e.match(/\s{0,100}level(\d+)/i);n&&i&&r&&(t.id=n[2],t.order=i[1],t.indent=parseInt(r[1]))}return t}function pB(o,t){const e=new he({name:"span",styles:{"mso-list":"Ignore"}}),n=t.createRangeIn(o);for(const i of n)i.type==="elementStart"&&e.match(i.item)&&t.remove(i.item)}function kB(o,t){if(!o)return!0;if(o.id!==t.id)return t.indent-o.indent!==1;const e=t.element.previousSibling;return e?!bB(e):!0}function bB(o){return o.is("element","ol")||o.is("element","ul")}function wB(o,t){return o?t.indent-o.indent:t.indent-1}function AB(o,t){const e=o.getAncestors({parentFirst:!0});let n=null,i=0;for(const r of e)if((r.is("element","ul")||r.is("element","ol"))&&i++,i===t){n=r;break}return n}function CB(o,t){if(!o.childCount)return;const e=new Be(o.document),n=vB(o,e);yB(n,o,e),EB(n,o,e),xB(o,e);const i=DB(o,e);i.length&&TB(i,SB(t),e)}function _B(o){return btoa(o.match(/\w{2}/g).map(t=>String.fromCharCode(parseInt(t,16))).join(""))}function vB(o,t){const e=t.createRangeIn(o),n=new he({name:/v:(.+)/}),i=[];for(const r of e){if(r.type!="elementStart")continue;const s=r.item,a=s.previousSibling,c=a&&a.is("element")?a.name:null;n.match(s)&&s.getAttribute("o:gfxdata")&&c!=="v:shapetype"&&i.push(r.item.getAttribute("id"))}return i}function yB(o,t,e){const n=e.createRangeIn(t),i=new he({name:"img"}),r=[];for(const s of n)if(s.item.is("element")&&i.match(s.item)){const a=s.item,c=a.getAttribute("v:shapes")?a.getAttribute("v:shapes").split(" "):[];c.length&&c.every(l=>o.indexOf(l)>-1)?r.push(a):a.getAttribute("src")||r.push(a)}for(const s of r)e.remove(s)}function xB(o,t){const e=t.createRangeIn(o),n=new he({name:/v:(.+)/}),i=[];for(const r of e)r.type=="elementStart"&&n.match(r.item)&&i.push(r.item);for(const r of i)t.remove(r)}function EB(o,t,e){const n=e.createRangeIn(t),i=[];for(const a of n)if(a.type=="elementStart"&&a.item.is("element","v:shape")){const c=a.item.getAttribute("id");if(o.includes(c))continue;r(a.item.parent.getChildren(),c)||i.push(a.item)}for(const a of i){const c={src:s(a)};a.hasAttribute("alt")&&(c.alt=a.getAttribute("alt"));const l=e.createElement("img",c);e.insertChild(a.index+1,l,a.parent)}function r(a,c){for(const l of a)if(l.is("element")&&(l.name=="img"&&l.getAttribute("v:shapes")==c||r(l.getChildren(),c)))return!0;return!1}function s(a){for(const c of a.getChildren())if(c.is("element")&&c.getAttribute("src"))return c.getAttribute("src")}}function DB(o,t){const e=t.createRangeIn(o),n=new he({name:"img"}),i=[];for(const r of e)r.item.is("element")&&n.match(r.item)&&r.item.getAttribute("src").startsWith("file://")&&i.push(r.item);return i}function SB(o){if(!o)return[];const t=/{\\pict[\s\S]+?\\bliptag-?\d+(\\blipupi-?\d+)?({\\\*\\blipuid\s?[\da-fA-F]+)?[\s}]*?/,e=new RegExp("(?:("+t.source+"))([\\da-fA-F\\s]+)\\}","g"),n=o.match(e),i=[];if(n)for(const r of n){let s=!1;r.includes("\\pngblip")?s="image/png":r.includes("\\jpegblip")&&(s="image/jpeg"),s&&i.push({hex:r.replace(t,"").replace(/[^\da-fA-F]/g,""),type:s})}return i}function TB(o,t,e){if(o.length===t.length)for(let n=0;n/i,BB=/xmlns:o="urn:schemas-microsoft-com/i;class NB{constructor(t){this.document=t}isActive(t){return MB.test(t)||BB.test(t)}execute(t){const{body:e,stylesString:n}=t._parsedData;aB(e,n),CB(e,t.dataTransfer.getData("text/rtf")),IB(e),t.content=e}}function zB(o,t){for(const e of o.getChildren())if(e.is("element","b")&&e.getStyle("font-weight")==="normal"){const n=o.getChildIndex(e);t.remove(e),t.insertChild(n,e.getChildren(),o)}}function LB(o,t){const e=new gi(t.document.stylesProcessor),n=new pi(e,{renderingMode:"data"}),i=n.blockElements,r=n.inlineObjectElements,s=[];for(const a of t.createRangeIn(o)){const c=a.item;if(c.is("element","br")){const l=Lp(c,"forward",t,{blockElements:i,inlineObjectElements:r}),d=Lp(c,"backward",t,{blockElements:i,inlineObjectElements:r}),u=Pp(l,i);(Pp(d,i)||u)&&s.push(c)}}for(const a of s)a.hasClass("Apple-interchange-newline")?t.remove(a):t.replace(a,t.createElement("p"))}function Lp(o,t,e,{blockElements:n,inlineObjectElements:i}){let r=e.createPositionAt(o,t=="forward"?"after":"before");return r=r.getLastMatchingPosition(({item:s})=>s.is("element")&&!n.includes(s.name)&&!i.includes(s.name),{direction:t}),t=="forward"?r.nodeAfter:r.nodeBefore}function Pp(o,t){return!!o&&o.is("element")&&t.includes(o.name)}const PB=/id=("|')docs-internal-guid-[-0-9a-f]+("|')/i;class OB{constructor(t){this.document=t}isActive(t){return PB.test(t)}execute(t){const e=new Be(this.document),{body:n}=t._parsedData;zB(n,e),cB(n,e),LB(n,e),t.content=n}}function RB(o,t){for(const e of o.getChildren())e.is("element","table")&&e.hasAttribute("xmlns")&&t.removeAttribute("xmlns",e)}function jB(o,t){for(const e of o.getChildren())if(e.is("element","google-sheets-html-origin")){const n=o.getChildIndex(e);t.remove(e),t.insertChild(n,e.getChildren(),o)}}function FB(o,t){for(const e of o.getChildren())e.is("element","table")&&e.getStyle("width")==="0px"&&t.removeStyle("width",e)}function VB(o,t){for(const e of Array.from(o.getChildren()))e.is("element","style")&&t.remove(e)}const HB=/[^\S\r\n]*?)[\r\n]+([^\S\r\n]*<\/span>)/g,"$1$2").replace(/<\/span>/g,"").replace(/()[\r\n]+(<\/span>)/g,"$1 $2").replace(/ <\//g," <\/o:p>/g," ").replace(/( |\u00A0)<\/o:p>/g,"").replace(/>([^\S\r\n]*[\r\n]\s*)<")}function WB(o){o.querySelectorAll("span[style*=spacerun]").forEach(t=>{const e=t,n=e.innerText.length||0;e.innerText=Array(n+1).join("  ").substr(0,n)})}function Op(o){return o.replace(/(\s+)<\/span>/g,(t,e)=>e.length===1?" ":Array(e.length+1).join("  ").substr(0,e.length))}function qB(o,t){const e=new DOMParser;o=o.replace(//g,"")}const Mf=["figcaption","li"],Bf=["ol","ul"];function Nf(o){if(o.is("$text")||o.is("$textProxy"))return o.data;if(o.is("element","img")&&o.hasAttribute("alt"))return o.getAttribute("alt");if(o.is("element","br"))return` +`;let t="",e=null;for(const n of o.getChildren())t+=XT(n,e)+Nf(n),e=n;return t}function XT(o,t){return t?o.is("element","li")&&!o.isEmpty&&o.getChild(0).is("containerElement")||Bf.includes(o.name)&&Bf.includes(t.name)?` + +`:!o.is("containerElement")&&!t.is("containerElement")?"":Mf.includes(o.name)||Mf.includes(t.name)?` +`:` + +`:""}class we extends z{static get pluginName(){return"ClipboardPipeline"}init(){this.editor.editing.view.addObserver(jo),this._setupPasteDrop(),this._setupCopyCut()}_fireOutputTransformationEvent(t,e,n){const i=this.editor.model.getSelectedContent(e);this.fire("outputTransformation",{dataTransfer:t,content:i,method:n})}_setupPasteDrop(){const t=this.editor,e=t.model,n=t.editing.view,i=n.document;this.listenTo(i,"clipboardInput",(r,s)=>{s.method=="paste"&&!t.model.canEditAt(t.model.document.selection)&&r.stop()},{priority:"highest"}),this.listenTo(i,"clipboardInput",(r,s)=>{const a=s.dataTransfer;let c;if(s.content)c=s.content;else{let d="";a.getData("text/html")?d=JT(a.getData("text/html")):a.getData("text/plain")&&(d=QT(a.getData("text/plain"))),c=this.editor.data.htmlProcessor.toView(d)}const l=new Pt(this,"inputTransformation");this.fire(l,{content:c,dataTransfer:a,targetRanges:s.targetRanges,method:s.method}),l.stop.called&&r.stop(),n.scrollToTheSelection()},{priority:"low"}),this.listenTo(this,"inputTransformation",(r,s)=>{if(s.content.isEmpty)return;const c=this.editor.data.toModel(s.content,"$clipboardHolder");c.childCount!=0&&(r.stop(),e.change(()=>{this.fire("contentInsertion",{content:c,method:s.method,dataTransfer:s.dataTransfer,targetRanges:s.targetRanges})}))},{priority:"low"}),this.listenTo(this,"contentInsertion",(r,s)=>{s.resultRange=e.insertContent(s.content)},{priority:"low"})}_setupCopyCut(){const t=this.editor,e=t.model.document,i=t.editing.view.document,r=(s,a)=>{const c=a.dataTransfer;a.preventDefault(),this._fireOutputTransformationEvent(c,e.selection,s.name)};this.listenTo(i,"copy",r,{priority:"low"}),this.listenTo(i,"cut",(s,a)=>{t.model.canEditAt(t.model.document.selection)?r(s,a):a.preventDefault()},{priority:"low"}),this.listenTo(this,"outputTransformation",(s,a)=>{const c=t.data.toView(a.content);i.fire("clipboardOutput",{dataTransfer:a.dataTransfer,content:c,method:a.method})},{priority:"low"}),this.listenTo(i,"clipboardOutput",(s,a)=>{a.content.isEmpty||(a.dataTransfer.setData("text/html",this.editor.data.htmlProcessor.toData(a.content)),a.dataTransfer.setData("text/plain",Nf(a.content))),a.method=="cut"&&t.model.deleteContent(e.selection)},{priority:"low"})}}class tS extends lt(){constructor(){super(...arguments),this._stack=[]}add(t,e){const n=this._stack,i=n[0];this._insertDescriptor(t);const r=n[0];i!==r&&!Ba(i,r)&&this.fire("change:top",{oldDescriptor:i,newDescriptor:r,writer:e})}remove(t,e){const n=this._stack,i=n[0];this._removeDescriptor(t);const r=n[0];i!==r&&!Ba(i,r)&&this.fire("change:top",{oldDescriptor:i,newDescriptor:r,writer:e})}_insertDescriptor(t){const e=this._stack,n=e.findIndex(r=>r.id===t.id);if(Ba(t,e[n]))return;n>-1&&e.splice(n,1);let i=0;for(;e[i]&&eS(e[i],t);)i++;e.splice(i,0,t)}_removeDescriptor(t){const e=this._stack,n=e.findIndex(i=>i.id===t);n>-1&&e.splice(n,1)}}function Ba(o,t){return o&&t&&o.priority==t.priority&&Zi(o.classes)==Zi(t.classes)}function eS(o,t){return o.priority>t.priority?!0:o.priorityZi(t.classes)}function Zi(o){return Array.isArray(o)?o.sort().join(","):o}const nS='',oS="ck-widget",zf="ck-widget_selected";function It(o){return o.is("element")?!!o.getCustomProperty("widget"):!1}function Na(o,t,e={}){if(!o.is("containerElement"))throw new w("widget-to-widget-wrong-element-type",null,{element:o});return t.setAttribute("contenteditable","false",o),t.addClass(oS,o),t.setCustomProperty("widget",!0,o),o.getFillerOffset=cS,t.setCustomProperty("widgetLabel",[],o),e.label&&sS(o,e.label),e.hasSelectionHandle&&lS(o,t),Pf(o,t),o}function iS(o,t,e){if(t.classes&&e.addClass(bt(t.classes),o),t.attributes)for(const n in t.attributes)e.setAttribute(n,t.attributes[n],o)}function rS(o,t,e){if(t.classes&&e.removeClass(bt(t.classes),o),t.attributes)for(const n in t.attributes)e.removeAttribute(n,o)}function Pf(o,t,e=iS,n=rS){const i=new tS;i.on("change:top",(a,c)=>{c.oldDescriptor&&n(o,c.oldDescriptor,c.writer),c.newDescriptor&&e(o,c.newDescriptor,c.writer)});const r=(a,c,l)=>i.add(c,l),s=(a,c,l)=>i.remove(c,l);t.setCustomProperty("addHighlight",r,o),t.setCustomProperty("removeHighlight",s,o)}function sS(o,t){o.getCustomProperty("widgetLabel").push(t)}function aS(o){return o.getCustomProperty("widgetLabel").reduce((e,n)=>typeof n=="function"?e?e+". "+n():n():e?e+". "+n:n,"")}function Lf(o,t,e={}){return t.addClass(["ck-editor__editable","ck-editor__nested-editable"],o),t.setAttribute("role","textbox",o),e.label&&t.setAttribute("aria-label",e.label,o),t.setAttribute("contenteditable",o.isReadOnly?"false":"true",o),o.on("change:isReadOnly",(n,i,r)=>{t.setAttribute("contenteditable",r?"false":"true",o)}),o.on("change:isFocused",(n,i,r)=>{r?t.addClass("ck-editor__nested-editable_focused",o):t.removeClass("ck-editor__nested-editable_focused",o)}),Pf(o,t),o}function Of(o,t){const e=o.getSelectedElement();if(e){const n=Ke(o);if(n)return t.createRange(t.createPositionAt(e,n))}return t.schema.findOptimalInsertionRange(o)}function cS(){return null}function lS(o,t){const e=t.createUIElement("div",{class:"ck ck-widget__selection-handle"},function(n){const i=this.toDomElement(n),r=new rn;return r.set("content",nS),r.render(),i.appendChild(r.element),i});t.insert(t.createPositionAt(o,0),e),t.addClass(["ck-widget_with-selection-handle"],o)}const Re="widget-type-around";function mn(o,t,e){return!!o&&It(o)&&!e.isInline(t)}function dS(o){return o.closest(".ck-widget__type-around__button")}function uS(o){return o.classList.contains("ck-widget__type-around__button_before")?"before":"after"}function hS(o,t){const e=o.closest(".ck-widget");return t.mapDomToView(e)}function Ke(o){return o.getAttribute(Re)}const gS='';var Rf=L(2347),za={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};za.insert="head",za.singleton=!0,R()(Rf.Z,za),Rf.Z.locals;const jf=["before","after"],fS=new DOMParser().parseFromString(gS,"image/svg+xml").firstChild,Ff="ck-widget__type-around_disabled";class mS extends z{constructor(){super(...arguments),this._currentFakeCaretModelElement=null}static get pluginName(){return"WidgetTypeAround"}static get requires(){return[qi,Le]}init(){const t=this.editor,e=t.editing.view;this.on("change:isEnabled",(n,i,r)=>{e.change(s=>{for(const a of e.document.roots)r?s.removeClass(Ff,a):s.addClass(Ff,a)}),r||t.model.change(s=>{s.removeSelectionAttribute(Re)})}),this._enableTypeAroundUIInjection(),this._enableInsertingParagraphsOnButtonClick(),this._enableInsertingParagraphsOnEnterKeypress(),this._enableInsertingParagraphsOnTypingKeystroke(),this._enableTypeAroundFakeCaretActivationUsingKeyboardArrows(),this._enableDeleteIntegration(),this._enableInsertContentIntegration(),this._enableInsertObjectIntegration(),this._enableDeleteContentIntegration()}destroy(){super.destroy(),this._currentFakeCaretModelElement=null}_insertParagraph(t,e){const n=this.editor,i=n.editing.view,r=n.model.schema.getAttributesWithProperty(t,"copyOnReplace",!0);n.execute("insertParagraph",{position:n.model.createPositionAt(t,e),attributes:r}),i.focus(),i.scrollToTheSelection()}_listenToIfEnabled(t,e,n,i){this.listenTo(t,e,(...r)=>{this.isEnabled&&n(...r)},i)}_insertParagraphAccordingToFakeCaretPosition(){const n=this.editor.model.document.selection,i=Ke(n);if(!i)return!1;const r=n.getSelectedElement();return this._insertParagraph(r,i),!0}_enableTypeAroundUIInjection(){const t=this.editor,e=t.model.schema,n=t.locale.t,i={before:n("Insert paragraph before block"),after:n("Insert paragraph after block")};t.editing.downcastDispatcher.on("insert",(r,s,a)=>{const c=a.mapper.toViewElement(s.item);c&&mn(c,s.item,e)&&(pS(a.writer,i,c),c.getCustomProperty("widgetLabel").push(()=>this.isEnabled?n("Press Enter to type after or press Shift + Enter to type before the widget"):""))},{priority:"low"})}_enableTypeAroundFakeCaretActivationUsingKeyboardArrows(){const t=this.editor,e=t.model,n=e.document.selection,i=e.schema,r=t.editing.view;this._listenToIfEnabled(r.document,"arrowKey",(a,c)=>{this._handleArrowKeyPress(a,c)},{context:[It,"$text"],priority:"high"}),this._listenToIfEnabled(n,"change:range",(a,c)=>{c.directChange&&t.model.change(l=>{l.removeSelectionAttribute(Re)})}),this._listenToIfEnabled(e.document,"change:data",()=>{const a=n.getSelectedElement();if(a){const c=t.editing.mapper.toViewElement(a);if(mn(c,a,i))return}t.model.change(c=>{c.removeSelectionAttribute(Re)})}),this._listenToIfEnabled(t.editing.downcastDispatcher,"selection",(a,c,l)=>{const d=l.writer;if(this._currentFakeCaretModelElement){const b=l.mapper.toViewElement(this._currentFakeCaretModelElement);b&&(d.removeClass(jf.map(s),b),this._currentFakeCaretModelElement=null)}const u=c.selection.getSelectedElement();if(!u)return;const f=l.mapper.toViewElement(u);if(!mn(f,u,i))return;const p=Ke(c.selection);p&&(d.addClass(s(p),f),this._currentFakeCaretModelElement=u)}),this._listenToIfEnabled(t.ui.focusTracker,"change:isFocused",(a,c,l)=>{l||t.model.change(d=>{d.removeSelectionAttribute(Re)})});function s(a){return`ck-widget_type-around_show-fake-caret_${a}`}}_handleArrowKeyPress(t,e){const n=this.editor,i=n.model,r=i.document.selection,s=i.schema,a=n.editing.view,c=e.keyCode,l=Y0(c,n.locale.contentLanguageDirection),d=a.document.selection.getSelectedElement(),u=n.editing.mapper.toModelElement(d);let f;mn(d,u,s)?f=this._handleArrowKeyPressOnSelectedWidget(l):r.isCollapsed?f=this._handleArrowKeyPressWhenSelectionNextToAWidget(l):e.shiftKey||(f=this._handleArrowKeyPressWhenNonCollapsedSelection(l)),f&&(e.preventDefault(),t.stop())}_handleArrowKeyPressOnSelectedWidget(t){const n=this.editor.model,i=n.document.selection,r=Ke(i);return n.change(s=>{if(r){if(!(r===(t?"after":"before")))return s.removeSelectionAttribute(Re),!0}else return s.setSelectionAttribute(Re,t?"after":"before"),!0;return!1})}_handleArrowKeyPressWhenSelectionNextToAWidget(t){const e=this.editor,n=e.model,i=n.schema,r=e.plugins.get("Widget"),s=r._getObjectElementNextToSelection(t),a=e.editing.mapper.toViewElement(s);return mn(a,s,i)?(n.change(c=>{r._setSelectionOverElement(s),c.setSelectionAttribute(Re,t?"before":"after")}),!0):!1}_handleArrowKeyPressWhenNonCollapsedSelection(t){const e=this.editor,n=e.model,i=n.schema,r=e.editing.mapper,s=n.document.selection,a=t?s.getLastPosition().nodeBefore:s.getFirstPosition().nodeAfter,c=r.toViewElement(a);return mn(c,a,i)?(n.change(l=>{l.setSelection(a,"on"),l.setSelectionAttribute(Re,t?"after":"before")}),!0):!1}_enableInsertingParagraphsOnButtonClick(){const t=this.editor,e=t.editing.view;this._listenToIfEnabled(e.document,"mousedown",(n,i)=>{const r=dS(i.domTarget);if(!r)return;const s=uS(r),a=hS(r,e.domConverter),c=t.editing.mapper.toModelElement(a);this._insertParagraph(c,s),i.preventDefault(),n.stop()})}_enableInsertingParagraphsOnEnterKeypress(){const t=this.editor,e=t.model.document.selection,n=t.editing.view;this._listenToIfEnabled(n.document,"enter",(i,r)=>{if(i.eventPhase!="atTarget")return;const s=e.getSelectedElement(),a=t.editing.mapper.toViewElement(s),c=t.model.schema;let l;this._insertParagraphAccordingToFakeCaretPosition()?l=!0:mn(a,s,c)&&(this._insertParagraph(s,r.isSoft?"before":"after"),l=!0),l&&(r.preventDefault(),i.stop())},{context:It})}_enableInsertingParagraphsOnTypingKeystroke(){const e=this.editor.editing.view.document;this._listenToIfEnabled(e,"insertText",(n,i)=>{this._insertParagraphAccordingToFakeCaretPosition()&&(i.selection=e.selection)},{priority:"high"}),g.isAndroid?this._listenToIfEnabled(e,"keydown",(n,i)=>{i.keyCode==229&&this._insertParagraphAccordingToFakeCaretPosition()}):this._listenToIfEnabled(e,"compositionstart",()=>{this._insertParagraphAccordingToFakeCaretPosition()},{priority:"high"})}_enableDeleteIntegration(){const t=this.editor,e=t.editing.view,n=t.model,i=n.schema;this._listenToIfEnabled(e.document,"delete",(r,s)=>{if(r.eventPhase!="atTarget")return;const a=Ke(n.document.selection);if(!a)return;const c=s.direction,l=n.document.selection.getSelectedElement(),d=a==="before",u=c=="forward";if(d===u)t.execute("delete",{selection:n.createSelection(l,"on")});else{const p=i.getNearestSelectionRange(n.createPositionAt(l,a),c);if(p)if(!p.isCollapsed)n.change(b=>{b.setSelection(p),t.execute(u?"deleteForward":"delete")});else{const b=n.createSelection(p.start);if(n.modifySelection(b,{direction:c}),!b.focus.isEqual(p.start))n.change(T=>{T.setSelection(p),t.execute(u?"deleteForward":"delete")});else{const T=wS(i,p.start.parent);n.deleteContent(n.createSelection(T,"on"),{doNotAutoparagraph:!0})}}}s.preventDefault(),r.stop()},{context:It})}_enableInsertContentIntegration(){const t=this.editor,e=this.editor.model,n=e.document.selection;this._listenToIfEnabled(t.model,"insertContent",(i,[r,s])=>{if(s&&!s.is("documentSelection"))return;const a=Ke(n);if(a)return i.stop(),e.change(c=>{const l=n.getSelectedElement(),d=e.createPositionAt(l,a),u=c.createSelection(d),f=e.insertContent(r,u);return c.setSelection(u),f})},{priority:"high"})}_enableInsertObjectIntegration(){const t=this.editor,n=this.editor.model.document.selection;this._listenToIfEnabled(t.model,"insertObject",(i,r)=>{const[,s,a={}]=r;if(s&&!s.is("documentSelection"))return;const c=Ke(n);c&&(a.findOptimalPosition=c,r[3]=a)},{priority:"high"})}_enableDeleteContentIntegration(){const t=this.editor,n=this.editor.model.document.selection;this._listenToIfEnabled(t.model,"deleteContent",(i,[r])=>{if(r&&!r.is("documentSelection"))return;Ke(n)&&i.stop()},{priority:"high"})}}function pS(o,t,e){const n=o.createUIElement("div",{class:"ck ck-reset_all ck-widget__type-around"},function(i){const r=this.toDomElement(i);return kS(r,t),bS(r),r});o.insert(o.createPositionAt(e,"end"),n)}function kS(o,t){for(const e of jf){const n=new Wt({tag:"div",attributes:{class:["ck","ck-widget__type-around__button",`ck-widget__type-around__button_${e}`],title:t[e],"aria-hidden":"true"},children:[o.ownerDocument.importNode(fS,!0)]});o.appendChild(n.render())}}function bS(o){const t=new Wt({tag:"div",attributes:{class:["ck","ck-widget__type-around__fake-caret"]}});o.appendChild(t.render())}function wS(o,t){let e=t;for(const n of t.getAncestors({parentFirst:!0})){if(n.childCount>1||o.isLimit(n))break;e=n}return e}function AS(o){const t=o.model;return(e,n)=>{const i=n.keyCode==nt.arrowup,r=n.keyCode==nt.arrowdown,s=n.shiftKey,a=t.document.selection;if(!i&&!r)return;const c=r;if(s&&vS(a,c))return;const l=CS(o,a,c);if(l){if(l.isCollapsed){if(a.isCollapsed)return;if(s)return}(l.isCollapsed||_S(o,l,c))&&(t.change(d=>{const u=c?l.end:l.start;if(s){const f=t.createSelection(a.anchor);f.setFocus(u),d.setSelection(f)}else d.setSelection(u)}),e.stop(),n.preventDefault(),n.stopPropagation())}}}function CS(o,t,e){const n=o.model;if(e){const i=t.isCollapsed?t.focus:t.getLastPosition(),r=Vf(n,i,"forward");if(!r)return null;const s=n.createRange(i,r),a=Hf(n.schema,s,"backward");return a?n.createRange(i,a):null}else{const i=t.isCollapsed?t.focus:t.getFirstPosition(),r=Vf(n,i,"backward");if(!r)return null;const s=n.createRange(r,i),a=Hf(n.schema,s,"forward");return a?n.createRange(a,i):null}}function Vf(o,t,e){const n=o.schema,i=o.createRangeIn(t.root),r=e=="forward"?"elementStart":"elementEnd";for(const{previousPosition:s,item:a,type:c}of i.getWalker({startPosition:t,direction:e})){if(n.isLimit(a)&&!n.isInline(a))return s;if(c==r&&n.isBlock(a))return null}return null}function Hf(o,t,e){const n=e=="backward"?t.end:t.start;if(o.checkChild(n,"$text"))return n;for(const{nextPosition:i}of t.getWalker({direction:e}))if(o.checkChild(i,"$text"))return i;return null}function _S(o,t,e){const n=o.model,i=o.view.domConverter;if(e){const l=n.createSelection(t.start);n.modifySelection(l),!l.focus.isAtEnd&&!t.start.isEqual(l.focus)&&(t=n.createRange(l.focus,t.end))}const r=o.mapper.toViewRange(t),s=i.viewRangeToDom(r),a=J.getDomRangeRects(s);let c;for(const l of a){if(c===void 0){c=Math.round(l.bottom);continue}if(Math.round(l.top)>=c)return!1;c=Math.max(c,Math.round(l.bottom))}return!0}function vS(o,t){return!o.isCollapsed&&o.isBackward==t}var Uf=L(7153),Pa={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Pa.insert="head",Pa.singleton=!0,R()(Uf.Z,Pa),Uf.Z.locals;class Fo extends z{constructor(){super(...arguments),this._previouslySelected=new Set}static get pluginName(){return"Widget"}static get requires(){return[mS,Le]}init(){const t=this.editor,e=t.editing.view,n=e.document;this.editor.editing.downcastDispatcher.on("selection",(i,r,s)=>{const a=s.writer,c=r.selection;if(c.isCollapsed)return;const l=c.getSelectedElement();if(!l)return;const d=t.editing.mapper.toViewElement(l);It(d)&&s.consumable.consume(c,"selection")&&a.setSelection(a.createRangeOn(d),{fake:!0,label:aS(d)})}),this.editor.editing.downcastDispatcher.on("selection",(i,r,s)=>{this._clearPreviouslySelectedWidgets(s.writer);const a=s.writer,c=a.document.selection;let l=null;for(const d of c.getRanges())for(const u of d){const f=u.item;It(f)&&!xS(f,l)&&(a.addClass(zf,f),this._previouslySelected.add(f),l=f)}},{priority:"low"}),e.addObserver(Ti),this.listenTo(n,"mousedown",(...i)=>this._onMousedown(...i)),this.listenTo(n,"arrowKey",(...i)=>{this._handleSelectionChangeOnArrowKeyPress(...i)},{context:[It,"$text"]}),this.listenTo(n,"arrowKey",(...i)=>{this._preventDefaultOnArrowKeyPress(...i)},{context:"$root"}),this.listenTo(n,"arrowKey",AS(this.editor.editing),{context:"$text"}),this.listenTo(n,"delete",(i,r)=>{this._handleDelete(r.direction=="forward")&&(r.preventDefault(),i.stop())},{context:"$root"})}_onMousedown(t,e){const n=this.editor,i=n.editing.view,r=i.document;let s=e.target;if(e.domEvent.detail>=3){this._selectBlockContent(s)&&e.preventDefault();return}if(yS(s)||!It(s)&&(s=s.findAncestor(It),!s))return;g.isAndroid&&e.preventDefault(),r.isFocused||i.focus();const a=n.editing.mapper.toModelElement(s);this._setSelectionOverElement(a)}_selectBlockContent(t){const e=this.editor,n=e.model,i=e.editing.mapper,r=n.schema,s=i.findMappedViewAncestor(this.editor.editing.view.createPositionAt(t,0)),a=ES(i.toModelElement(s),n.schema);return a?(n.change(c=>{const l=r.isLimit(a)?null:DS(c.createPositionAfter(a),r),d=c.createPositionAt(a,0),u=l?c.createPositionAt(l,0):c.createPositionAt(a,"end");c.setSelection(c.createRange(d,u))}),!0):!1}_handleSelectionChangeOnArrowKeyPress(t,e){const n=e.keyCode,i=this.editor.model,r=i.schema,s=i.document.selection,a=s.getSelectedElement(),c=Fr(n,this.editor.locale.contentLanguageDirection),l=c=="down"||c=="right",d=c=="up"||c=="down";if(a&&r.isObject(a)){const f=l?s.getLastPosition():s.getFirstPosition(),p=r.getNearestSelectionRange(f,l?"forward":"backward");p&&(i.change(b=>{b.setSelection(p)}),e.preventDefault(),t.stop());return}if(!s.isCollapsed&&!e.shiftKey){const f=s.getFirstPosition(),p=s.getLastPosition(),b=f.nodeAfter,T=p.nodeBefore;(b&&r.isObject(b)||T&&r.isObject(T))&&(i.change(M=>{M.setSelection(l?p:f)}),e.preventDefault(),t.stop());return}if(!s.isCollapsed)return;const u=this._getObjectElementNextToSelection(l);if(u&&r.isObject(u)){if(r.isInline(u)&&d)return;this._setSelectionOverElement(u),e.preventDefault(),t.stop()}}_preventDefaultOnArrowKeyPress(t,e){const n=this.editor.model,i=n.schema,r=n.document.selection.getSelectedElement();r&&i.isObject(r)&&(e.preventDefault(),t.stop())}_handleDelete(t){const n=this.editor.model.document.selection;if(!this.editor.model.canEditAt(n)||!n.isCollapsed)return;const i=this._getObjectElementNextToSelection(t);if(i)return this.editor.model.change(r=>{let s=n.anchor.parent;for(;s.isEmpty;){const a=s;s=a.parent,r.remove(a)}this._setSelectionOverElement(i)}),!0}_setSelectionOverElement(t){this.editor.model.change(e=>{e.setSelection(e.createRangeOn(t))})}_getObjectElementNextToSelection(t){const e=this.editor.model,n=e.schema,i=e.document.selection,r=e.createSelection(i);if(e.modifySelection(r,{direction:t?"forward":"backward"}),r.isEqual(i))return null;const s=t?r.focus.nodeBefore:r.focus.nodeAfter;return s&&n.isObject(s)?s:null}_clearPreviouslySelectedWidgets(t){for(const e of this._previouslySelected)t.removeClass(zf,e);this._previouslySelected.clear()}}function yS(o){let t=o;for(;t;){if(t.is("editableElement")&&!t.is("rootElement"))return!0;if(It(t))return!1;t=t.parent}return!1}function xS(o,t){return t?Array.from(o.getAncestors()).includes(t):!1}function ES(o,t){for(const e of o.getAncestors({includeSelf:!0,parentFirst:!0})){if(t.checkChild(e,"$text"))return e;if(t.isLimit(e)&&!t.isObject(e))break}return null}function DS(o,t){const e=new Me({startPosition:o});for(const{item:n}of e){if(t.isLimit(n)||!n.is("element"))return null;if(t.checkChild(n,"$text"))return n}return null}class $i extends z{constructor(){super(...arguments),this._toolbarDefinitions=new Map}static get requires(){return[ji]}static get pluginName(){return"WidgetToolbarRepository"}init(){const t=this.editor;if(t.plugins.has("BalloonToolbar")){const e=t.plugins.get("BalloonToolbar");this.listenTo(e,"show",n=>{TS(t.editing.view.document.selection)&&n.stop()},{priority:"high"})}this._balloon=this.editor.plugins.get("ContextualBalloon"),this.on("change:isEnabled",()=>{this._updateToolbarsVisibility()}),this.listenTo(t.ui,"update",()=>{this._updateToolbarsVisibility()}),this.listenTo(t.ui.focusTracker,"change:isFocused",()=>{this._updateToolbarsVisibility()},{priority:"low"})}destroy(){super.destroy();for(const t of this._toolbarDefinitions.values())t.view.destroy()}register(t,{ariaLabel:e,items:n,getRelatedElement:i,balloonClassName:r="ck-toolbar-container"}){if(!n.length){return}const s=this.editor,a=s.t,c=new Hs(s.locale);if(c.ariaLabel=e||a("Widget toolbar"),this._toolbarDefinitions.has(t))throw new w("widget-toolbar-duplicated",this,{toolbarId:t});const l={view:c,getRelatedElement:i,balloonClassName:r,itemsConfig:n,initialized:!1};s.ui.addToolbar(c,{isContextual:!0,beforeFocus:()=>{const d=i(s.editing.view.document.selection);d&&this._showToolbar(l,d)},afterBlur:()=>{this._hideToolbar(l)}}),this._toolbarDefinitions.set(t,l)}_updateToolbarsVisibility(){let t=0,e=null,n=null;for(const i of this._toolbarDefinitions.values()){const r=i.getRelatedElement(this.editor.editing.view.document.selection);if(!this.isEnabled||!r)this._isToolbarInBalloon(i)&&this._hideToolbar(i);else if(!this.editor.ui.focusTracker.isFocused)this._isToolbarVisible(i)&&this._hideToolbar(i);else{const s=r.getAncestors().length;s>t&&(t=s,e=r,n=i)}}n&&this._showToolbar(n,e)}_hideToolbar(t){this._balloon.remove(t.view),this.stopListening(this._balloon,"change:visibleView")}_showToolbar(t,e){this._isToolbarVisible(t)?Gf(this.editor,e):this._isToolbarInBalloon(t)||(t.initialized||(t.initialized=!0,t.view.fillFromConfig(t.itemsConfig,this.editor.ui.componentFactory)),this._balloon.add({view:t.view,position:qf(this.editor,e),balloonClassName:t.balloonClassName}),this.listenTo(this._balloon,"change:visibleView",()=>{for(const n of this._toolbarDefinitions.values())if(this._isToolbarVisible(n)){const i=n.getRelatedElement(this.editor.editing.view.document.selection);Gf(this.editor,i)}}))}_isToolbarVisible(t){return this._balloon.visibleView===t.view}_isToolbarInBalloon(t){return this._balloon.hasView(t.view)}}function Gf(o,t){const e=o.plugins.get("ContextualBalloon"),n=qf(o,t);e.updatePosition(n)}function qf(o,t){const e=o.editing.view,n=Gn.defaultPositions;return{target:e.domConverter.mapViewToDom(t),positions:[n.northArrowSouth,n.northArrowSouthWest,n.northArrowSouthEast,n.southArrowNorth,n.southArrowNorthWest,n.southArrowNorthEast,n.viewportStickyNorth]}}function TS(o){const t=o.getSelectedElement();return!!(t&&It(t))}class SS extends at(){constructor(t){super(),this.set("activeHandlePosition",null),this.set("proposedWidthPercents",null),this.set("proposedWidth",null),this.set("proposedHeight",null),this.set("proposedHandleHostWidth",null),this.set("proposedHandleHostHeight",null),this._options=t,this._referenceCoordinates=null}get originalWidth(){return this._originalWidth}get originalHeight(){return this._originalHeight}get originalWidthPercents(){return this._originalWidthPercents}get aspectRatio(){return this._aspectRatio}begin(t,e,n){const i=new J(e);this.activeHandlePosition=NS(t),this._referenceCoordinates=MS(e,zS(this.activeHandlePosition)),this._originalWidth=i.width,this._originalHeight=i.height,this._aspectRatio=i.width/i.height;const r=n.style.width;r&&r.match(/^\d+(\.\d*)?%$/)?this._originalWidthPercents=parseFloat(r):this._originalWidthPercents=IS(n,i)}update(t){this.proposedWidth=t.width,this.proposedHeight=t.height,this.proposedWidthPercents=t.widthPercents,this.proposedHandleHostWidth=t.handleHostWidth,this.proposedHandleHostHeight=t.handleHostHeight}}function IS(o,t){const e=o.parentElement;let n=parseFloat(e.ownerDocument.defaultView.getComputedStyle(e).width);const i=5;let r=0,s=e;for(;isNaN(n);){if(s=s.parentElement,++r>i)return 0;n=parseFloat(e.ownerDocument.defaultView.getComputedStyle(s).width)}return t.width/n*100}function MS(o,t){const e=new J(o),n=t.split("-"),i={x:n[1]=="right"?e.right:e.left,y:n[0]=="bottom"?e.bottom:e.top};return i.x+=o.ownerDocument.defaultView.scrollX,i.y+=o.ownerDocument.defaultView.scrollY,i}function BS(o){return`ck-widget__resizer__handle-${o}`}function NS(o){const t=["top-left","top-right","bottom-right","bottom-left"];for(const e of t)if(o.classList.contains(BS(e)))return e}function zS(o){const t=o.split("-"),e={top:"bottom",bottom:"top",left:"right",right:"left"};return`${e[t[0]]}-${e[t[1]]}`}class PS extends G{constructor(){super();const t=this.bindTemplate;this.setTemplate({tag:"div",attributes:{class:["ck","ck-size-view",t.to("_viewPosition",e=>e?`ck-orientation-${e}`:"")],style:{display:t.if("_isVisible","none",e=>!e)}},children:[{text:t.to("_label")}]})}_bindToState(t,e){this.bind("_isVisible").to(e,"proposedWidth",e,"proposedHeight",(n,i)=>n!==null&&i!==null),this.bind("_label").to(e,"proposedHandleHostWidth",e,"proposedHandleHostHeight",e,"proposedWidthPercents",(n,i,r)=>t.unit==="px"?`${n}×${i}`:`${r}%`),this.bind("_viewPosition").to(e,"activeHandlePosition",e,"proposedHandleHostWidth",e,"proposedHandleHostHeight",(n,i,r)=>i<50||r<50?"above-center":n)}_dismiss(){this.unbind(),this._isVisible=!1}}class Wf extends at(){constructor(t){super(),this._viewResizerWrapper=null,this._options=t,this.set("isEnabled",!0),this.set("isSelected",!1),this.bind("isVisible").to(this,"isEnabled",this,"isSelected",(e,n)=>e&&n),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"})}get state(){return this._state}show(){this._options.editor.editing.view.change(e=>{e.removeClass("ck-hidden",this._viewResizerWrapper)})}hide(){this._options.editor.editing.view.change(e=>{e.addClass("ck-hidden",this._viewResizerWrapper)})}attach(){const t=this,e=this._options.viewElement;this._options.editor.editing.view.change(i=>{const r=i.createUIElement("div",{class:"ck ck-reset_all ck-widget__resizer"},function(s){const a=this.toDomElement(s);return t._appendHandles(a),t._appendSizeUI(a),a});i.insert(i.createPositionAt(e,"end"),r),i.addClass("ck-widget_with-resizer",e),this._viewResizerWrapper=r,this.isVisible||this.hide()}),this.on("change:isVisible",()=>{this.isVisible?(this.show(),this.redraw()):this.hide()})}begin(t){this._state=new SS(this._options),this._sizeView._bindToState(this._options,this.state),this._initialViewWidth=this._options.viewElement.getStyle("width"),this.state.begin(t,this._getHandleHost(),this._getResizeHost())}updateSize(t){const e=this._proposeNewSize(t);this._options.editor.editing.view.change(l=>{const d=this._options.unit||"%",u=(d==="%"?e.widthPercents:e.width)+d;l.setStyle("width",u,this._options.viewElement)});const i=this._getHandleHost(),r=new J(i),s=Math.round(r.width),a=Math.round(r.height),c=new J(i);e.width=Math.round(c.width),e.height=Math.round(c.height),this.redraw(r),this.state.update({...e,handleHostWidth:s,handleHostHeight:a})}commit(){const t=this._options.unit||"%",e=(t==="%"?this.state.proposedWidthPercents:this.state.proposedWidth)+t;this._options.editor.editing.view.change(()=>{this._cleanup(),this._options.onCommit(e)})}cancel(){this._cleanup()}destroy(){this.cancel()}redraw(t){const e=this._domResizerWrapper;if(!RS(e))return;const n=e.parentElement,i=this._getHandleHost(),r=this._viewResizerWrapper,s=[r.getStyle("width"),r.getStyle("height"),r.getStyle("left"),r.getStyle("top")];let a;if(n.isSameNode(i)){const c=t||new J(i);a=[c.width+"px",c.height+"px",void 0,void 0]}else a=[i.offsetWidth+"px",i.offsetHeight+"px",i.offsetLeft+"px",i.offsetTop+"px"];jt(s,a)!=="same"&&this._options.editor.editing.view.change(c=>{c.setStyle({width:a[0],height:a[1],left:a[2],top:a[3]},r)})}containsHandle(t){return this._domResizerWrapper.contains(t)}static isResizeHandle(t){return t.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(t){const e=this.state,n=OS(t),i=this._options.isCentered?this._options.isCentered(this):!0,r={x:e._referenceCoordinates.x-(n.x+e.originalWidth),y:n.y-e.originalHeight-e._referenceCoordinates.y};i&&e.activeHandlePosition.endsWith("-right")&&(r.x=n.x-(e._referenceCoordinates.x+e.originalWidth)),i&&(r.x*=2);let s=Math.abs(e.originalWidth+r.x),a=Math.abs(e.originalHeight+r.y);return(s/e.aspectRatio>a?"width":"height")=="width"?a=s/e.aspectRatio:s=a*e.aspectRatio,{width:Math.round(s),height:Math.round(a),widthPercents:Math.min(Math.round(e.originalWidthPercents/e.originalWidth*s*100)/100,100)}}_getResizeHost(){const t=this._domResizerWrapper.parentElement;return this._options.getResizeHost(t)}_getHandleHost(){const t=this._domResizerWrapper.parentElement;return this._options.getHandleHost(t)}get _domResizerWrapper(){return this._options.editor.editing.view.domConverter.mapViewToDom(this._viewResizerWrapper)}_appendHandles(t){const e=["top-left","top-right","bottom-right","bottom-left"];for(const n of e)t.appendChild(new Wt({tag:"div",attributes:{class:`ck-widget__resizer__handle ${LS(n)}`}}).render())}_appendSizeUI(t){this._sizeView=new PS,this._sizeView.render(),t.appendChild(this._sizeView.element)}}function LS(o){return`ck-widget__resizer__handle-${o}`}function OS(o){return{x:o.pageX,y:o.pageY}}function RS(o){return o&&o.ownerDocument&&o.ownerDocument.contains(o)}var Zf=L(4875),La={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};La.insert="head",La.singleton=!0,R()(Zf.Z,La),Zf.Z.locals;class Oa extends z{constructor(){super(...arguments),this._resizers=new Map}static get pluginName(){return"WidgetResize"}init(){const t=this.editor.editing,e=H.window.document;this.set("selectedResizer",null),this.set("_activeResizer",null),t.view.addObserver(Ti),this._observer=new(Qt()),this.listenTo(t.view.document,"mousedown",this._mouseDownListener.bind(this),{priority:"high"}),this._observer.listenTo(e,"mousemove",this._mouseMoveListener.bind(this)),this._observer.listenTo(e,"mouseup",this._mouseUpListener.bind(this)),this._redrawSelectedResizerThrottled=No(()=>this.redrawSelectedResizer(),200),this.editor.ui.on("update",this._redrawSelectedResizerThrottled),this.editor.model.document.on("change",()=>{for(const[i,r]of this._resizers)i.isAttached()||(this._resizers.delete(i),r.destroy())},{priority:"lowest"}),this._observer.listenTo(H.window,"resize",this._redrawSelectedResizerThrottled);const n=this.editor.editing.view.document.selection;n.on("change",()=>{const i=n.getSelectedElement(),r=this.getResizerByViewElement(i)||null;r?this.select(r):this.deselect()})}redrawSelectedResizer(){this.selectedResizer&&this.selectedResizer.isVisible&&this.selectedResizer.redraw()}destroy(){super.destroy(),this._observer.stopListening();for(const t of this._resizers.values())t.destroy();this._redrawSelectedResizerThrottled.cancel()}select(t){this.deselect(),this.selectedResizer=t,this.selectedResizer.isSelected=!0}deselect(){this.selectedResizer&&(this.selectedResizer.isSelected=!1),this.selectedResizer=null}attachTo(t){const e=new Wf(t),n=this.editor.plugins;if(e.attach(),n.has("WidgetToolbarRepository")){const s=n.get("WidgetToolbarRepository");e.on("begin",()=>{s.forceDisabled("resize")},{priority:"lowest"}),e.on("cancel",()=>{s.clearForceDisabled("resize")},{priority:"highest"}),e.on("commit",()=>{s.clearForceDisabled("resize")},{priority:"highest"})}this._resizers.set(t.viewElement,e);const r=this.editor.editing.view.document.selection.getSelectedElement();return this.getResizerByViewElement(r)==e&&this.select(e),e}getResizerByViewElement(t){return this._resizers.get(t)}_getResizerByHandle(t){for(const e of this._resizers.values())if(e.containsHandle(t))return e}_mouseDownListener(t,e){const n=e.domTarget;Wf.isResizeHandle(n)&&(this._activeResizer=this._getResizerByHandle(n)||null,this._activeResizer&&(this._activeResizer.begin(n),t.stop(),e.preventDefault()))}_mouseMoveListener(t,e){this._activeResizer&&this._activeResizer.updateSize(e)}_mouseUpListener(){this._activeResizer&&(this._activeResizer.commit(),this._activeResizer=null)}}const Ra=Bn("px");class jS extends G{constructor(){super();const t=this.bindTemplate;this.set({isVisible:!1,left:null,top:null,width:null}),this.setTemplate({tag:"div",attributes:{class:["ck","ck-clipboard-drop-target-line",t.if("isVisible","ck-hidden",e=>!e)],style:{left:t.to("left",e=>Ra(e)),top:t.to("top",e=>Ra(e)),width:t.to("width",e=>Ra(e))}}})}}class Ki extends z{constructor(){super(...arguments),this.removeDropMarkerDelayed=Vr(()=>this.removeDropMarker(),40),this._updateDropMarkerThrottled=No(t=>this._updateDropMarker(t),40),this._reconvertMarkerThrottled=No(()=>{this.editor.model.markers.has("drop-target")&&this.editor.editing.reconvertMarker("drop-target")},0),this._dropTargetLineView=new jS,this._domEmitter=new(Qt()),this._scrollables=new Map}static get pluginName(){return"DragDropTarget"}init(){this._setupDropMarker()}destroy(){this._domEmitter.stopListening();for(const{resizeObserver:t}of this._scrollables.values())t.destroy();return this._updateDropMarkerThrottled.cancel(),this.removeDropMarkerDelayed.cancel(),this._reconvertMarkerThrottled.cancel(),super.destroy()}updateDropMarker(t,e,n,i,r,s){this.removeDropMarkerDelayed.cancel();const a=$f(this.editor,t,e,n,i,r,s);if(a){if(s&&s.containsRange(a))return this.removeDropMarker();this._updateDropMarkerThrottled(a)}}getFinalDropRange(t,e,n,i,r,s){const a=$f(this.editor,t,e,n,i,r,s);return this.removeDropMarker(),a}removeDropMarker(){const t=this.editor.model;this.removeDropMarkerDelayed.cancel(),this._updateDropMarkerThrottled.cancel(),this._dropTargetLineView.isVisible=!1,t.markers.has("drop-target")&&t.change(e=>{e.removeMarker("drop-target")})}_setupDropMarker(){const t=this.editor;t.ui.view.body.add(this._dropTargetLineView),t.conversion.for("editingDowncast").markerToHighlight({model:"drop-target",view:{classes:["ck-clipboard-drop-target-range"]}}),t.conversion.for("editingDowncast").markerToElement({model:"drop-target",view:(e,{writer:n})=>{if(t.model.schema.checkChild(e.markerRange.start,"$text"))return this._dropTargetLineView.isVisible=!1,this._createDropTargetPosition(n);e.markerRange.isCollapsed?this._updateDropTargetLine(e.markerRange):this._dropTargetLineView.isVisible=!1}})}_updateDropMarker(t){const e=this.editor,n=e.model.markers;e.model.change(i=>{n.has("drop-target")?n.get("drop-target").getRange().isEqual(t)||i.updateMarker("drop-target",{range:t}):i.addMarker("drop-target",{range:t,usingOperation:!1,affectsData:!1})})}_createDropTargetPosition(t){return t.createUIElement("span",{class:"ck ck-clipboard-drop-target-position"},function(e){const n=this.toDomElement(e);return n.append("⁠",e.createElement("span"),"⁠"),n})}_updateDropTargetLine(t){const e=this.editor.editing,n=t.start.nodeBefore,i=t.start.nodeAfter,r=t.start.parent,s=n?e.mapper.toViewElement(n):null,a=s?e.view.domConverter.mapViewToDom(s):null,c=i?e.mapper.toViewElement(i):null,l=c?e.view.domConverter.mapViewToDom(c):null,d=e.mapper.toViewElement(r);if(!d)return;const u=e.view.domConverter.mapViewToDom(d),f=this._getScrollableRect(d),{scrollX:p,scrollY:b}=H.window,T=a?new J(a):null,M=l?new J(l):null,P=new J(u).excludeScrollbarsAndBorders(),V=T?T.bottom:P.top,tt=M?M.top:P.bottom,ct=H.window.getComputedStyle(u),mt=V<=tt?(V+tt)/2:tt;if(f.topa.schema.checkChild(f,b))){if(a.schema.checkChild(f,"$text"))return a.createRange(f);if(u)return Yi(o,Yf(o,u.parent),n,i)}}}else if(a.schema.isInline(d))return Yi(o,d,n,i)}if(a.schema.isBlock(d))return Yi(o,d,n,i);if(a.schema.checkChild(d,"$block")){const u=Array.from(d.getChildren()).filter(b=>b.is("element")&&!FS(o,b));let f=0,p=u.length;if(p==0)return a.createRange(a.createPositionAt(d,"end"));for(;f{i?(this.forceDisabled("readOnlyMode"),this._isBlockDragging=!1):this.clearForceDisabled("readOnlyMode")}),g.isAndroid&&this.forceDisabled("noAndroidSupport"),t.plugins.has("BlockToolbar")){const n=t.plugins.get("BlockToolbar").buttonView.element;this._domEmitter.listenTo(n,"dragstart",(i,r)=>this._handleBlockDragStart(r)),this._domEmitter.listenTo(H.document,"dragover",(i,r)=>this._handleBlockDragging(r)),this._domEmitter.listenTo(H.document,"drop",(i,r)=>this._handleBlockDragging(r)),this._domEmitter.listenTo(H.document,"dragend",()=>this._handleBlockDragEnd(),{useCapture:!0}),this.isEnabled&&n.setAttribute("draggable","true"),this.on("change:isEnabled",(i,r,s)=>{n.setAttribute("draggable",s?"true":"false")})}}destroy(){return this._domEmitter.stopListening(),super.destroy()}_handleBlockDragStart(t){if(!this.isEnabled)return;const e=this.editor.model,n=e.document.selection,i=this.editor.editing.view,r=Array.from(n.getSelectedBlocks()),s=e.createRange(e.createPositionBefore(r[0]),e.createPositionAfter(r[r.length-1]));e.change(a=>a.setSelection(s)),this._isBlockDragging=!0,i.focus(),i.getObserver(jo).onDomEvent(t)}_handleBlockDragging(t){if(!this.isEnabled||!this._isBlockDragging)return;const e=t.clientX+(this.editor.locale.contentLanguageDirection=="ltr"?100:-100),n=t.clientY,i=document.elementFromPoint(e,n),r=this.editor.editing.view;!i||!i.closest(".ck-editor__editable")||r.getObserver(jo).onDomEvent({...t,type:t.type,dataTransfer:t.dataTransfer,target:i,clientX:e,clientY:n,preventDefault:()=>t.preventDefault(),stopPropagation:()=>t.stopPropagation()})}_handleBlockDragEnd(){this._isBlockDragging=!1}}var Qf=L(799),ja={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};ja.insert="head",ja.singleton=!0,R()(Qf.Z,ja),Qf.Z.locals;class US extends z{constructor(){super(...arguments),this._clearDraggableAttributesDelayed=Vr(()=>this._clearDraggableAttributes(),40),this._blockMode=!1,this._domEmitter=new(Qt())}static get pluginName(){return"DragDrop"}static get requires(){return[we,Fo,Ki,HS]}init(){const t=this.editor,e=t.editing.view;this._draggedRange=null,this._draggingUid="",this._draggableElement=null,e.addObserver(jo),e.addObserver(Ti),this._setupDragging(),this._setupContentInsertionIntegration(),this._setupClipboardInputIntegration(),this._setupDraggableAttributeHandling(),this.listenTo(t,"change:isReadOnly",(n,i,r)=>{r?this.forceDisabled("readOnlyMode"):this.clearForceDisabled("readOnlyMode")}),this.on("change:isEnabled",(n,i,r)=>{r||this._finalizeDragging(!1)}),g.isAndroid&&this.forceDisabled("noAndroidSupport")}destroy(){return this._draggedRange&&(this._draggedRange.detach(),this._draggedRange=null),this._previewContainer&&this._previewContainer.remove(),this._domEmitter.stopListening(),this._clearDraggableAttributesDelayed.cancel(),super.destroy()}_setupDragging(){const t=this.editor,e=t.model,n=t.editing.view,i=n.document,r=t.plugins.get(Ki);this.listenTo(i,"dragstart",(s,a)=>{if(a.target&&a.target.is("editableElement")){a.preventDefault();return}if(this._prepareDraggedRange(a.target),!this._draggedRange){a.preventDefault();return}this._draggingUid=Ht(),a.dataTransfer.effectAllowed=this.isEnabled?"copyMove":"copy",a.dataTransfer.setData("application/ckeditor5-dragging-uid",this._draggingUid);const c=e.createSelection(this._draggedRange.toRange());this.editor.plugins.get("ClipboardPipeline")._fireOutputTransformationEvent(a.dataTransfer,c,"dragstart");const{dataTransfer:d,domTarget:u,domEvent:f}=a,{clientX:p}=f;this._updatePreview({dataTransfer:d,domTarget:u,clientX:p}),a.stopPropagation(),this.isEnabled||(this._draggedRange.detach(),this._draggedRange=null,this._draggingUid="")},{priority:"low"}),this.listenTo(i,"dragend",(s,a)=>{this._finalizeDragging(!a.dataTransfer.isCanceled&&a.dataTransfer.dropEffect=="move")},{priority:"low"}),this._domEmitter.listenTo(H.document,"dragend",()=>{this._blockMode=!1},{useCapture:!0}),this.listenTo(i,"dragenter",()=>{this.isEnabled&&n.focus()}),this.listenTo(i,"dragleave",()=>{r.removeDropMarkerDelayed()}),this.listenTo(i,"dragging",(s,a)=>{if(!this.isEnabled){a.dataTransfer.dropEffect="none";return}const{clientX:c,clientY:l}=a.domEvent;r.updateDropMarker(a.target,a.targetRanges,c,l,this._blockMode,this._draggedRange),this._draggedRange||(a.dataTransfer.dropEffect="copy"),g.isGecko||(a.dataTransfer.effectAllowed=="copy"?a.dataTransfer.dropEffect="copy":["all","copyMove"].includes(a.dataTransfer.effectAllowed)&&(a.dataTransfer.dropEffect="move")),s.stop()},{priority:"low"})}_setupClipboardInputIntegration(){const t=this.editor,n=t.editing.view.document,i=t.plugins.get(Ki);this.listenTo(n,"clipboardInput",(r,s)=>{if(s.method!="drop")return;const{clientX:a,clientY:c}=s.domEvent,l=i.getFinalDropRange(s.target,s.targetRanges,a,c,this._blockMode,this._draggedRange);if(!l){this._finalizeDragging(!1),r.stop();return}if(this._draggedRange&&this._draggingUid!=s.dataTransfer.getData("application/ckeditor5-dragging-uid")&&(this._draggedRange.detach(),this._draggedRange=null,this._draggingUid=""),Jf(s.dataTransfer)=="move"&&this._draggedRange&&this._draggedRange.containsRange(l,!0)){this._finalizeDragging(!1),r.stop();return}s.targetRanges=[t.editing.mapper.toViewRange(l)]},{priority:"high"})}_setupContentInsertionIntegration(){const t=this.editor.plugins.get(we);t.on("contentInsertion",(e,n)=>{if(!this.isEnabled||n.method!=="drop")return;const i=n.targetRanges.map(r=>this.editor.editing.mapper.toModelRange(r));this.editor.model.change(r=>r.setSelection(i))},{priority:"high"}),t.on("contentInsertion",(e,n)=>{if(!this.isEnabled||n.method!=="drop")return;const i=Jf(n.dataTransfer)=="move",r=!n.resultRange||!n.resultRange.isCollapsed;this._finalizeDragging(r&&i)},{priority:"lowest"})}_setupDraggableAttributeHandling(){const t=this.editor,e=t.editing.view,n=e.document;this.listenTo(n,"mousedown",(i,r)=>{if(g.isAndroid||!r)return;this._clearDraggableAttributesDelayed.cancel();let s=Xf(r.target);if(g.isBlink&&!t.isReadOnly&&!s&&!n.selection.isCollapsed){const a=n.selection.getSelectedElement();(!a||!It(a))&&(s=n.selection.editableElement)}s&&(e.change(a=>{a.setAttribute("draggable","true",s)}),this._draggableElement=t.editing.mapper.toModelElement(s))}),this.listenTo(n,"mouseup",()=>{g.isAndroid||this._clearDraggableAttributesDelayed()})}_clearDraggableAttributes(){const t=this.editor.editing;t.view.change(e=>{this._draggableElement&&this._draggableElement.root.rootName!="$graveyard"&&e.removeAttribute("draggable",t.mapper.toViewElement(this._draggableElement)),this._draggableElement=null})}_finalizeDragging(t){const e=this.editor,n=e.model;e.plugins.get(Ki).removeDropMarker(),this._clearDraggableAttributes(),e.plugins.has("WidgetToolbarRepository")&&e.plugins.get("WidgetToolbarRepository").clearForceDisabled("dragDrop"),this._draggingUid="",this._previewContainer&&(this._previewContainer.remove(),this._previewContainer=void 0),this._draggedRange&&(t&&this.isEnabled&&n.change(r=>{const s=n.createSelection(this._draggedRange);n.deleteContent(s,{doNotAutoparagraph:!0});const a=s.getFirstPosition().parent;a.isEmpty&&!n.schema.checkChild(a,"$text")&&n.schema.checkChild(a,"paragraph")&&r.insertElement("paragraph",a,0)}),this._draggedRange.detach(),this._draggedRange=null)}_prepareDraggedRange(t){const e=this.editor,n=e.model,i=n.document.selection,r=t?Xf(t):null;if(r){const l=e.editing.mapper.toModelElement(r);this._draggedRange=oe.fromRange(n.createRangeOn(l)),this._blockMode=n.schema.isBlock(l),e.plugins.has("WidgetToolbarRepository")&&e.plugins.get("WidgetToolbarRepository").forceDisabled("dragDrop");return}if(i.isCollapsed&&!i.getFirstPosition().parent.isEmpty)return;const s=Array.from(i.getSelectedBlocks()),a=i.getFirstRange();if(s.length==0){this._draggedRange=oe.fromRange(a);return}const c=tm(n,s);if(s.length>1)this._draggedRange=oe.fromRange(c),this._blockMode=!0;else if(s.length==1){const l=a.start.isTouching(c.start)&&a.end.isTouching(c.end);this._draggedRange=oe.fromRange(l?c:a),this._blockMode=l}n.change(l=>l.setSelection(this._draggedRange.toRange()))}_updatePreview({dataTransfer:t,domTarget:e,clientX:n}){const i=this.editor.editing.view,r=i.document.selection.editableElement,s=i.domConverter.mapViewToDom(r),a=H.window.getComputedStyle(s);this._previewContainer?this._previewContainer.firstElementChild&&this._previewContainer.removeChild(this._previewContainer.firstElementChild):(this._previewContainer=eo(H.document,"div",{style:"position: fixed; left: -999999px;"}),H.document.body.appendChild(this._previewContainer));const c=new J(s);if(s.contains(e))return;const l=parseFloat(a.paddingLeft),d=eo(H.document,"div");d.className="ck ck-content",d.style.width=a.width,d.style.paddingLeft=`${c.left-n+l}px`,g.isiOS&&(d.style.backgroundColor="white"),d.innerHTML=t.getData("text/html"),t.setDragImage(d,0,0),this._previewContainer.appendChild(d)}}function Jf(o){return g.isGecko?o.dropEffect:["all","copyMove"].includes(o.effectAllowed)?"move":"copy"}function Xf(o){if(o.is("editableElement"))return null;if(o.hasClass("ck-widget__selection-handle"))return o.findAncestor(It);if(It(o))return o;const t=o.findAncestor(e=>It(e)||e.is("editableElement"));return It(t)?t:null}function tm(o,t){const e=t[0],n=t[t.length-1],i=e.getCommonAncestor(n),r=o.createPositionBefore(e),s=o.createPositionAfter(n);if(i&&i.is("element")&&!o.schema.isLimit(i)){const a=o.createRangeOn(i),c=r.isTouching(a.start),l=s.isTouching(a.end);if(c&&l)return tm(o,[i])}return o.createRange(r,s)}class GS extends z{static get pluginName(){return"PastePlainText"}static get requires(){return[we]}init(){const t=this.editor,e=t.model,n=t.editing.view,i=n.document,r=e.document.selection;let s=!1;n.addObserver(jo),this.listenTo(i,"keydown",(a,c)=>{s=c.shiftKey}),t.plugins.get(we).on("contentInsertion",(a,c)=>{!s&&!qS(c.content,e.schema)||e.change(l=>{const d=Array.from(r.getAttributes()).filter(([f])=>e.schema.getAttributeProperties(f).isFormatting);r.isCollapsed||e.deleteContent(r,{doNotAutoparagraph:!0}),d.push(...r.getAttributes());const u=l.createRangeIn(c.content);for(const f of u.getItems())f.is("$textProxy")&&l.setAttributes(d,f)})})}}function qS(o,t){if(o.childCount>1)return!1;const e=o.getChild(0);return t.isObject(e)?!1:Array.from(e.getAttributeKeys()).length==0}class em extends z{static get pluginName(){return"Clipboard"}static get requires(){return[we,US,GS]}}class WS extends X{constructor(t){super(t),this.affectsData=!1}execute(){const t=this.editor.model,e=t.document.selection;let n=t.schema.getLimitElement(e);if(e.containsEntireContent(n)||!nm(t.schema,n))do if(n=n.parent,!n)return;while(!nm(t.schema,n));t.change(i=>{i.setSelection(n,"in")})}}function nm(o,t){return o.isLimit(t)&&(o.checkChild(t,"$text")||o.checkChild(t,"paragraph"))}const ZS=uo("Ctrl+A");class $S extends z{static get pluginName(){return"SelectAllEditing"}init(){const t=this.editor,n=t.editing.view.document;t.commands.add("selectAll",new WS(t)),this.listenTo(n,"keydown",(i,r)=>{Nn(r)===ZS&&(t.execute("selectAll"),r.preventDefault())})}}const KS='';class YS extends z{static get pluginName(){return"SelectAllUI"}init(){const t=this.editor;t.ui.componentFactory.add("selectAll",e=>{const n=t.commands.get("selectAll"),i=new et(e),r=e.t;return i.set({label:r("Select all"),icon:KS,keystroke:"Ctrl+A",tooltip:!0}),i.bind("isEnabled").to(n,"isEnabled"),this.listenTo(i,"execute",()=>{t.execute("selectAll"),t.editing.view.focus()}),i})}}class QS extends z{static get requires(){return[$S,YS]}static get pluginName(){return"SelectAll"}}class om extends X{constructor(t){super(t),this._stack=[],this._createdBatches=new WeakSet,this.refresh(),this._isEnabledBasedOnSelection=!1,this.listenTo(t.data,"set",(e,n)=>{n[1]={...n[1]};const i=n[1];i.batchType||(i.batchType={isUndoable:!1})},{priority:"high"}),this.listenTo(t.data,"set",(e,n)=>{n[1].batchType.isUndoable||this.clearStack()})}refresh(){this.isEnabled=this._stack.length>0}get createdBatches(){return this._createdBatches}addBatch(t){const e=this.editor.model.document.selection,n={ranges:e.hasOwnRange?Array.from(e.getRanges()):[],isBackward:e.isBackward};this._stack.push({batch:t,selection:n}),this.refresh()}clearStack(){this._stack=[],this.refresh()}_restoreSelection(t,e,n){const i=this.editor.model,r=i.document,s=[],a=t.map(l=>l.getTransformedByOperations(n)),c=a.flat();for(const l of a){const d=l.filter(u=>u.root!=r.graveyard).filter(u=>!XS(u,c));d.length&&(JS(d),s.push(d[0]))}s.length&&i.change(l=>{l.setSelection(s,{backward:e})})}_undo(t,e){const n=this.editor.model,i=n.document;this._createdBatches.add(e);const r=t.operations.slice().filter(s=>s.isDocumentOperation);r.reverse();for(const s of r){const a=s.baseVersion+1,c=Array.from(i.history.getOperations(a)),d=uE([s.getReversed()],c,{useRelations:!0,document:this.editor.model.document,padWithNoOps:!1,forceWeakRemove:!0}).operationsA;for(let u of d){const f=u.affectedSelectable;f&&!n.canEditAt(f)&&(u=new Tt(u.baseVersion)),e.addOperation(u),n.applyOperation(u),i.history.setOperationAsUndone(s,u)}}}}function JS(o){o.sort((t,e)=>t.start.isBefore(e.start)?-1:1);for(let t=1;te!==o&&e.containsRange(o,!0))}class tI extends om{execute(t=null){const e=t?this._stack.findIndex(r=>r.batch==t):this._stack.length-1,n=this._stack.splice(e,1)[0],i=this.editor.model.createBatch({isUndo:!0});this.editor.model.enqueueChange(i,()=>{this._undo(n.batch,i);const r=this.editor.model.document.history.getOperations(n.batch.baseVersion);this._restoreSelection(n.selection.ranges,n.selection.isBackward,r)}),this.fire("revert",n.batch,i),this.refresh()}}class eI extends om{execute(){const t=this._stack.pop(),e=this.editor.model.createBatch({isUndo:!0});this.editor.model.enqueueChange(e,()=>{const i=t.batch.operations[t.batch.operations.length-1].baseVersion+1,r=this.editor.model.document.history.getOperations(i);this._restoreSelection(t.selection.ranges,t.selection.isBackward,r),this._undo(t.batch,e)}),this.refresh()}}class nI extends z{constructor(){super(...arguments),this._batchRegistry=new WeakSet}static get pluginName(){return"UndoEditing"}init(){const t=this.editor;this._undoCommand=new tI(t),this._redoCommand=new eI(t),t.commands.add("undo",this._undoCommand),t.commands.add("redo",this._redoCommand),this.listenTo(t.model,"applyOperation",(e,n)=>{const i=n[0];if(!i.isDocumentOperation)return;const r=i.batch,s=this._redoCommand.createdBatches.has(r),a=this._undoCommand.createdBatches.has(r);this._batchRegistry.has(r)||(this._batchRegistry.add(r),r.isUndoable&&(s?this._undoCommand.addBatch(r):a||(this._undoCommand.addBatch(r),this._redoCommand.clearStack())))},{priority:"highest"}),this.listenTo(this._undoCommand,"revert",(e,n,i)=>{this._redoCommand.addBatch(i)}),t.keystrokes.set("CTRL+Z","undo"),t.keystrokes.set("CTRL+Y","redo"),t.keystrokes.set("CTRL+SHIFT+Z","redo")}}class oI extends z{static get pluginName(){return"UndoUI"}init(){const t=this.editor,e=t.locale,n=t.t,i=e.uiLanguageDirection=="ltr"?Q.undo:Q.redo,r=e.uiLanguageDirection=="ltr"?Q.redo:Q.undo;this._addButton("undo",n("Undo"),"CTRL+Z",i),this._addButton("redo",n("Redo"),"CTRL+Y",r)}_addButton(t,e,n,i){const r=this.editor;r.ui.componentFactory.add(t,s=>{const a=r.commands.get(t),c=new et(s);return c.set({label:e,icon:i,keystroke:n,tooltip:!0}),c.bind("isEnabled").to(a,"isEnabled"),this.listenTo(c,"execute",()=>{r.execute(t),r.editing.view.focus()}),c})}}class Fa extends z{static get requires(){return[nI,oI]}static get pluginName(){return"Undo"}}class iI extends z{static get requires(){return[em,qi,QS,OT,fT,Fa]}static get pluginName(){return"Essentials"}}class Va extends X{constructor(t,e){super(t),this.attributeKey=e}refresh(){const t=this.editor.model,e=t.document;this.value=e.selection.getAttribute(this.attributeKey),this.isEnabled=t.schema.checkAttributeInSelection(e.selection,this.attributeKey)}execute(t={}){const e=this.editor.model,i=e.document.selection,r=t.value,s=t.batch,a=c=>{if(i.isCollapsed)r?c.setSelectionAttribute(this.attributeKey,r):c.removeSelectionAttribute(this.attributeKey);else{const l=e.schema.getValidRanges(i.getRanges(),this.attributeKey);for(const d of l)r?c.setAttribute(this.attributeKey,r,d):c.removeAttribute(this.attributeKey,d)}};s?e.enqueueChange(s,c=>{a(c)}):e.change(c=>{a(c)})}}const re="fontSize",Ee="fontColor",je="fontBackgroundColor";function rI(o,t){const e={model:{key:o,values:[]},view:{},upcastAlso:{}};for(const n of t)e.model.values.push(n.model),e.view[n.model]=n.view,n.upcastAlso&&(e.upcastAlso[n.model]=n.upcastAlso);return e}function im(o){return t=>aI(t.getStyle(o))}function rm(o){return(t,{writer:e})=>e.createAttributeElement("span",{style:`${o}:${t}`},{priority:7})}function sI({dropdownView:o,colors:t,columns:e,removeButtonLabel:n,colorPickerLabel:i,documentColorsLabel:r,documentColorsCount:s,colorPickerViewConfig:a}){const c=o.locale,l=new h4(c,{colors:t,columns:e,removeButtonLabel:n,colorPickerLabel:i,documentColorsLabel:r,documentColorsCount:s,colorPickerViewConfig:a});return o.colorSelectorView=l,o.panelView.children.add(l),l}function aI(o){return o.replace(/\s/g,"")}class cI extends Va{constructor(t){super(t,re)}}function Ha(o){return o.map(t=>lI(t)).filter(t=>t!==void 0)}const sm={get tiny(){return{title:"Tiny",model:"tiny",view:{name:"span",classes:"text-tiny",priority:7}}},get small(){return{title:"Small",model:"small",view:{name:"span",classes:"text-small",priority:7}}},get big(){return{title:"Big",model:"big",view:{name:"span",classes:"text-big",priority:7}}},get huge(){return{title:"Huge",model:"huge",view:{name:"span",classes:"text-huge",priority:7}}}};function lI(o){if(typeof o=="number"&&(o=String(o)),typeof o=="object"&&hI(o))return Ua(o);const t=uI(o);if(t)return Ua(t);if(o==="default")return{model:void 0,title:"Default"};if(!gI(o))return dI(o)}function dI(o){return typeof o=="string"&&(o={title:o,model:`${parseFloat(o)}px`}),o.view={name:"span",styles:{"font-size":o.model}},Ua(o)}function Ua(o){return o.view&&typeof o.view!="string"&&!o.view.priority&&(o.view.priority=7),o}function uI(o){return typeof o=="string"?sm[o]:sm[o.model]}function hI(o){return o.title&&o.model&&o.view}function gI(o){let t;if(typeof o=="object")if(o.model)t=parseFloat(o.model);else throw new w("font-size-invalid-definition",null,o);else t=parseFloat(o);return isNaN(t)}const am=["x-small","x-small","small","medium","large","x-large","xx-large","xxx-large"];class fI extends z{static get pluginName(){return"FontSizeEditing"}constructor(t){super(t),t.config.define(re,{options:["tiny","small","default","big","huge"],supportAllValues:!1})}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:re}),t.model.schema.setAttributeProperties(re,{isFormatting:!0,copyOnEnter:!0});const e=t.config.get("fontSize.supportAllValues"),n=Ha(this.editor.config.get("fontSize.options")).filter(r=>r.model),i=rI(re,n);e?(this._prepareAnyValueConverters(i),this._prepareCompatibilityConverter()):t.conversion.attributeToElement(i),t.commands.add(re,new cI(t))}_prepareAnyValueConverters(t){const e=this.editor,n=t.model.values.filter(i=>!sD(String(i))&&!cD(String(i)));if(n.length)throw new w("font-size-invalid-use-of-named-presets",null,{presets:n});e.conversion.for("downcast").attributeToElement({model:re,view:(i,{writer:r})=>{if(i)return r.createAttributeElement("span",{style:"font-size:"+i},{priority:7})}}),e.conversion.for("upcast").elementToAttribute({model:{key:re,value:i=>i.getStyle("font-size")},view:{name:"span",styles:{"font-size":/.*/}}})}_prepareCompatibilityConverter(){this.editor.conversion.for("upcast").elementToAttribute({view:{name:"font",attributes:{size:/^[+-]?\d{1,3}$/}},model:{key:re,value:e=>{const n=e.getAttribute("size"),i=n[0]==="-"||n[0]==="+";let r=parseInt(n,10);i&&(r=3+r);const s=am.length-1,a=Math.min(Math.max(r,0),s);return am[a]}}})}}var cm=L(5991),Ga={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ga.insert="head",Ga.singleton=!0,R()(cm.Z,Ga),cm.Z.locals;const mI='';class pI extends z{static get pluginName(){return"FontSizeUI"}init(){const t=this.editor,e=t.t,n=this._getLocalizedOptions(),i=t.commands.get(re),r=e("Font Size");t.ui.componentFactory.add(re,s=>{const a=le(s);return Ni(a,()=>kI(n,i),{role:"menu",ariaLabel:r}),a.buttonView.set({label:r,icon:mI,tooltip:!0}),a.extendTemplate({attributes:{class:["ck-font-size-dropdown"]}}),a.bind("isEnabled").to(i),this.listenTo(a,"execute",c=>{t.execute(c.source.commandName,{value:c.source.commandParam}),t.editing.view.focus()}),a})}_getLocalizedOptions(){const t=this.editor,e=t.t,n={Default:e("Default"),Tiny:e("Tiny"),Small:e("Small"),Big:e("Big"),Huge:e("Huge")};return Ha(t.config.get(re).options).map(r=>{const s=n[r.title];return s&&s!=r.title&&(r=Object.assign({},r,{title:s})),r})}}function kI(o,t){const e=new qt;for(const n of o){const i={type:"button",model:new Oi({commandName:re,commandParam:n.model,label:n.title,class:"ck-fontsize-option",role:"menuitemradio",withText:!0})};n.view&&typeof n.view!="string"&&(n.view.styles&&i.model.set("labelStyle",`font-size:${n.view.styles["font-size"]}`),n.view.classes&&i.model.set("class",`${i.model.class} ${n.view.classes}`)),i.model.bind("isOn").to(t,"value",r=>r===n.model),e.add(i)}return e}class bI extends z{static get requires(){return[fI,pI]}static get pluginName(){return"FontSize"}normalizeSizeOptions(t){return Ha(t)}}class wI extends Va{constructor(t){super(t,Ee)}}class AI extends z{static get pluginName(){return"FontColorEditing"}constructor(t){super(t),t.config.define(Ee,{colors:[{color:"hsl(0, 0%, 0%)",label:"Black"},{color:"hsl(0, 0%, 30%)",label:"Dim grey"},{color:"hsl(0, 0%, 60%)",label:"Grey"},{color:"hsl(0, 0%, 90%)",label:"Light grey"},{color:"hsl(0, 0%, 100%)",label:"White",hasBorder:!0},{color:"hsl(0, 75%, 60%)",label:"Red"},{color:"hsl(30, 75%, 60%)",label:"Orange"},{color:"hsl(60, 75%, 60%)",label:"Yellow"},{color:"hsl(90, 75%, 60%)",label:"Light green"},{color:"hsl(120, 75%, 60%)",label:"Green"},{color:"hsl(150, 75%, 60%)",label:"Aquamarine"},{color:"hsl(180, 75%, 60%)",label:"Turquoise"},{color:"hsl(210, 75%, 60%)",label:"Light blue"},{color:"hsl(240, 75%, 60%)",label:"Blue"},{color:"hsl(270, 75%, 60%)",label:"Purple"}],columns:5}),t.conversion.for("upcast").elementToAttribute({view:{name:"span",styles:{color:/[\s\S]+/}},model:{key:Ee,value:im("color")}}),t.conversion.for("upcast").elementToAttribute({view:{name:"font",attributes:{color:/^#?\w+$/}},model:{key:Ee,value:e=>e.getAttribute("color")}}),t.conversion.for("downcast").attributeToElement({model:Ee,view:rm("color")}),t.commands.add(Ee,new wI(t)),t.model.schema.extend("$text",{allowAttributes:Ee}),t.model.schema.setAttributeProperties(Ee,{isFormatting:!0,copyOnEnter:!0})}}class lm extends z{constructor(t,{commandName:e,componentName:n,icon:i,dropdownLabel:r}){super(t),this.commandName=e,this.componentName=n,this.icon=i,this.dropdownLabel=r,this.columns=t.config.get(`${this.componentName}.columns`),this.colorSelectorView=void 0}init(){const t=this.editor,e=t.locale,n=e.t,i=t.commands.get(this.commandName),r=t.config.get(this.componentName),s=Iv(r.colors),a=Sv(e,s),c=r.documentColors,l=r.colorPicker!==!1;t.ui.componentFactory.add(this.componentName,d=>{const u=le(d);let f=!1;return this.colorSelectorView=sI({dropdownView:u,colors:a.map(p=>({label:p.label,color:p.model,options:{hasBorder:p.hasBorder}})),columns:this.columns,removeButtonLabel:n("Remove color"),colorPickerLabel:n("Color picker"),documentColorsLabel:c!==0?n("Document colors"):"",documentColorsCount:c===void 0?this.columns:c,colorPickerViewConfig:l?r.colorPicker||{}:!1}),this.colorSelectorView.bind("selectedColor").to(i,"value"),u.buttonView.set({label:this.dropdownLabel,icon:this.icon,tooltip:!0}),u.extendTemplate({attributes:{class:"ck-color-ui-dropdown"}}),u.bind("isEnabled").to(i),this.colorSelectorView.on("execute",(p,b)=>{u.isOpen&&t.execute(this.commandName,{value:b.value,batch:this._undoStepBatch}),b.source!=="colorPicker"&&t.editing.view.focus(),b.source==="colorPickerSaveButton"&&(u.isOpen=!1)}),this.colorSelectorView.on("colorPicker:show",()=>{this._undoStepBatch=t.model.createBatch()}),this.colorSelectorView.on("colorPicker:cancel",()=>{this._undoStepBatch.operations.length&&(u.isOpen=!1,t.execute("undo",this._undoStepBatch)),t.editing.view.focus()}),u.on("change:isOpen",(p,b,T)=>{f||(f=!0,u.colorSelectorView.appendUI()),T&&(c!==0&&this.colorSelectorView.updateDocumentColors(t.model,this.componentName),this.colorSelectorView.updateSelectedColors(),this.colorSelectorView.showColorGridsFragment())}),Ks(u,()=>u.colorSelectorView.colorGridsFragmentView.staticColorsGrid.items.find(p=>p.isOn)),u})}}const CI='';class _I extends lm{constructor(t){const e=t.locale.t;super(t,{commandName:Ee,componentName:Ee,icon:CI,dropdownLabel:e("Font Color")})}static get pluginName(){return"FontColorUI"}}class vI extends z{static get requires(){return[AI,_I]}static get pluginName(){return"FontColor"}}class yI extends Va{constructor(t){super(t,je)}}class xI extends z{static get pluginName(){return"FontBackgroundColorEditing"}constructor(t){super(t),t.config.define(je,{colors:[{color:"hsl(0, 0%, 0%)",label:"Black"},{color:"hsl(0, 0%, 30%)",label:"Dim grey"},{color:"hsl(0, 0%, 60%)",label:"Grey"},{color:"hsl(0, 0%, 90%)",label:"Light grey"},{color:"hsl(0, 0%, 100%)",label:"White",hasBorder:!0},{color:"hsl(0, 75%, 60%)",label:"Red"},{color:"hsl(30, 75%, 60%)",label:"Orange"},{color:"hsl(60, 75%, 60%)",label:"Yellow"},{color:"hsl(90, 75%, 60%)",label:"Light green"},{color:"hsl(120, 75%, 60%)",label:"Green"},{color:"hsl(150, 75%, 60%)",label:"Aquamarine"},{color:"hsl(180, 75%, 60%)",label:"Turquoise"},{color:"hsl(210, 75%, 60%)",label:"Light blue"},{color:"hsl(240, 75%, 60%)",label:"Blue"},{color:"hsl(270, 75%, 60%)",label:"Purple"}],columns:5}),t.data.addStyleProcessorRules(bD),t.conversion.for("upcast").elementToAttribute({view:{name:"span",styles:{"background-color":/[\s\S]+/}},model:{key:je,value:im("background-color")}}),t.conversion.for("downcast").attributeToElement({model:je,view:rm("background-color")}),t.commands.add(je,new yI(t)),t.model.schema.extend("$text",{allowAttributes:je}),t.model.schema.setAttributeProperties(je,{isFormatting:!0,copyOnEnter:!0})}}const EI='';class DI extends lm{constructor(t){const e=t.locale.t;super(t,{commandName:je,componentName:je,icon:EI,dropdownLabel:e("Font Background Color")})}static get pluginName(){return"FontBackgroundColorUI"}}class TI extends z{static get requires(){return[xI,DI]}static get pluginName(){return"FontBackgroundColor"}}class SI extends X{constructor(t){super(t),this._isEnabledBasedOnSelection=!1}refresh(){const t=this.editor.model,e=t.document,n=Lt(e.selection.getSelectedBlocks());this.value=!!n&&n.is("element","paragraph"),this.isEnabled=!!n&&dm(n,t.schema)}execute(t={}){const e=this.editor.model,n=e.document,i=t.selection||n.selection;e.canEditAt(i)&&e.change(r=>{const s=i.getSelectedBlocks();for(const a of s)!a.is("element","paragraph")&&dm(a,e.schema)&&r.rename(a,"paragraph")})}}function dm(o,t){return t.checkChild(o.parent,"paragraph")&&!t.isObject(o)}class II extends X{constructor(t){super(t),this._isEnabledBasedOnSelection=!1}execute(t){const e=this.editor.model,n=t.attributes;let i=t.position;e.canEditAt(i)&&e.change(r=>{if(i=this._findPositionToInsertParagraph(i,r),!i)return;const s=r.createElement("paragraph");n&&e.schema.setAllowedAttributes(s,n,r),e.insertContent(s,i),r.setSelection(s,"in")})}_findPositionToInsertParagraph(t,e){const n=this.editor.model;if(n.schema.checkChild(t,"paragraph"))return t;const i=n.schema.findAllowedParent(t,"paragraph");if(!i)return null;const r=t.parent,s=n.schema.checkChild(r,"$text");return r.isEmpty||s&&t.isAtEnd?n.createPositionAfter(r):!r.isEmpty&&s&&t.isAtStart?n.createPositionBefore(r):e.split(t,i).position}}class Qi extends z{static get pluginName(){return"Paragraph"}init(){const t=this.editor,e=t.model;t.commands.add("paragraph",new SI(t)),t.commands.add("insertParagraph",new II(t)),e.schema.register("paragraph",{inheritAllFrom:"$block"}),t.conversion.elementToElement({model:"paragraph",view:"p"}),t.conversion.for("upcast").elementToElement({model:(n,{writer:i})=>!Qi.paragraphLikeElements.has(n.name)||n.isEmpty?null:i.createElement("paragraph"),view:/.+/,converterPriority:"low"})}}Qi.paragraphLikeElements=new Set(["blockquote","dd","div","dt","h1","h2","h3","h4","h5","h6","li","p","td","th"]);const um=Qi;class MI extends X{constructor(t,e){super(t),this.modelElements=e}refresh(){const t=Lt(this.editor.model.document.selection.getSelectedBlocks());this.value=!!t&&this.modelElements.includes(t.name)&&t.name,this.isEnabled=!!t&&this.modelElements.some(e=>hm(t,e,this.editor.model.schema))}execute(t){const e=this.editor.model,n=e.document,i=t.value;e.change(r=>{const s=Array.from(n.selection.getSelectedBlocks()).filter(a=>hm(a,i,e.schema));for(const a of s)a.is("element",i)||r.rename(a,i)})}}function hm(o,t,e){return e.checkChild(o.parent,t)&&!e.isObject(o)}const gm="paragraph";class BI extends z{static get pluginName(){return"HeadingEditing"}constructor(t){super(t),t.config.define("heading",{options:[{model:"paragraph",title:"Paragraph",class:"ck-heading_paragraph"},{model:"heading1",view:"h2",title:"Heading 1",class:"ck-heading_heading1"},{model:"heading2",view:"h3",title:"Heading 2",class:"ck-heading_heading2"},{model:"heading3",view:"h4",title:"Heading 3",class:"ck-heading_heading3"}]})}static get requires(){return[um]}init(){const t=this.editor,e=t.config.get("heading.options"),n=[];for(const i of e)i.model!=="paragraph"&&(t.model.schema.register(i.model,{inheritAllFrom:"$block"}),t.conversion.elementToElement(i),n.push(i.model));this._addDefaultH1Conversion(t),t.commands.add("heading",new MI(t,n))}afterInit(){const t=this.editor,e=t.commands.get("enter"),n=t.config.get("heading.options");e&&this.listenTo(e,"afterExecute",(i,r)=>{const s=t.model.document.selection.getFirstPosition().parent;n.some(c=>s.is("element",c.model))&&!s.is("element",gm)&&s.childCount===0&&r.writer.rename(s,gm)})}_addDefaultH1Conversion(t){t.conversion.for("upcast").elementToElement({model:"heading1",view:"h1",converterPriority:Ve.low+1})}}function NI(o){const t=o.t,e={Paragraph:t("Paragraph"),"Heading 1":t("Heading 1"),"Heading 2":t("Heading 2"),"Heading 3":t("Heading 3"),"Heading 4":t("Heading 4"),"Heading 5":t("Heading 5"),"Heading 6":t("Heading 6")};return o.config.get("heading.options").map(n=>{const i=e[n.title];return i&&i!=n.title&&(n.title=i),n})}var fm=L(4249),qa={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};qa.insert="head",qa.singleton=!0,R()(fm.Z,qa),fm.Z.locals;class zI extends z{static get pluginName(){return"HeadingUI"}init(){const t=this.editor,e=t.t,n=NI(t),i=e("Choose heading"),r=e("Heading");t.ui.componentFactory.add("heading",s=>{const a={},c=new qt,l=t.commands.get("heading"),d=t.commands.get("paragraph"),u=[l];for(const p of n){const b={type:"button",model:new Oi({label:p.title,class:p.class,role:"menuitemradio",withText:!0})};p.model==="paragraph"?(b.model.bind("isOn").to(d,"value"),b.model.set("commandName","paragraph"),u.push(d)):(b.model.bind("isOn").to(l,"value",T=>T===p.model),b.model.set({commandName:"heading",commandValue:p.model})),c.add(b),a[p.model]=p.title}const f=le(s);return Ni(f,c,{ariaLabel:r,role:"menu"}),f.buttonView.set({ariaLabel:r,ariaLabelledBy:void 0,isOn:!1,withText:!0,tooltip:r}),f.extendTemplate({attributes:{class:["ck-heading-dropdown"]}}),f.bind("isEnabled").toMany(u,"isEnabled",(...p)=>p.some(b=>b)),f.buttonView.bind("label").to(l,"value",d,"value",(p,b)=>{const T=p||b&&"paragraph";return typeof T=="boolean"||!a[T]?i:a[T]}),this.listenTo(f,"execute",p=>{const{commandName:b,commandValue:T}=p.source;t.execute(b,T?{value:T}:void 0),t.editing.view.focus()}),f})}}class PI extends z{static get requires(){return[BI,zI]}static get pluginName(){return"Heading"}}function LI(o){return o.createContainerElement("span",{class:"image-inline"},o.createEmptyElement("img"))}function mm(o){return o.createContainerElement("figure",{class:"image"},[o.createEmptyElement("img"),o.createSlot("children")])}function pm(o,t){const e=o.plugins.get("ImageUtils"),n=o.plugins.has("ImageInlineEditing")&&o.plugins.has("ImageBlockEditing");return r=>e.isInlineImageView(r)?n&&(r.getStyle("display")=="block"||r.findAncestor(e.isBlockImageView)?"imageBlock":"imageInline")!==t?null:i(r):null;function i(r){const s={name:!0};return r.hasAttribute("src")&&(s.attributes=["src"]),s}}function Wa(o,t){const e=Lt(t.getSelectedBlocks());return!e||o.isObject(e)||e.isEmpty&&e.name!="listItem"?"imageBlock":"imageInline"}function Ji(o){return o&&o.endsWith("px")?parseInt(o):null}function Xi(o){const t=Ji(o.getStyle("width")),e=Ji(o.getStyle("height"));return!!(t&&e)}const OI=/^(image|image-inline)$/;class Gt extends z{constructor(){super(...arguments),this._domEmitter=new(Qt())}static get pluginName(){return"ImageUtils"}isImage(t){return this.isInlineImage(t)||this.isBlockImage(t)}isInlineImageView(t){return!!t&&t.is("element","img")}isBlockImageView(t){return!!t&&t.is("element","figure")&&t.hasClass("image")}insertImage(t={},e=null,n=null,i={}){const r=this.editor,s=r.model,a=s.document.selection,c=km(r,e||a,n);t={...Object.fromEntries(a.getAttributes()),...t};for(const l in t)s.schema.checkAttribute(c,l)||delete t[l];return s.change(l=>{const{setImageSizes:d=!0}=i,u=l.createElement(c,t);return s.insertObject(u,e,null,{setSelection:"on",findOptimalPosition:!e&&c!="imageInline"?"auto":void 0}),u.parent?(d&&this.setImageNaturalSizeAttributes(u),u):null})}setImageNaturalSizeAttributes(t){const e=t.getAttribute("src");e&&(t.getAttribute("width")||t.getAttribute("height")||this.editor.model.change(n=>{const i=new H.window.Image;this._domEmitter.listenTo(i,"load",()=>{!t.getAttribute("width")&&!t.getAttribute("height")&&this.editor.model.enqueueChange(n.batch,r=>{r.setAttribute("width",i.naturalWidth,t),r.setAttribute("height",i.naturalHeight,t)}),this._domEmitter.stopListening(i,"load")}),i.src=e}))}getClosestSelectedImageWidget(t){const e=t.getFirstPosition();if(!e)return null;const n=t.getSelectedElement();if(n&&this.isImageWidget(n))return n;let i=e.parent;for(;i;){if(i.is("element")&&this.isImageWidget(i))return i;i=i.parent}return null}getClosestSelectedImageElement(t){const e=t.getSelectedElement();return this.isImage(e)?e:t.getFirstPosition().findAncestor("imageBlock")}getImageWidgetFromImageView(t){return t.findAncestor({classes:OI})}isImageAllowed(){const e=this.editor.model.document.selection;return RI(this.editor,e)&&jI(e)}toImageWidget(t,e,n){return e.setCustomProperty("image",!0,t),Na(t,e,{label:()=>{const s=this.findViewImgElement(t).getAttribute("alt");return s?`${s} ${n}`:n}})}isImageWidget(t){return!!t.getCustomProperty("image")&&It(t)}isBlockImage(t){return!!t&&t.is("element","imageBlock")}isInlineImage(t){return!!t&&t.is("element","imageInline")}findViewImgElement(t){if(this.isInlineImageView(t))return t;const e=this.editor.editing.view;for(const{item:n}of e.createRangeIn(t))if(this.isInlineImageView(n))return n}destroy(){return this._domEmitter.stopListening(),super.destroy()}}function RI(o,t){if(km(o,t,null)=="imageBlock"){const n=FI(t,o.model);if(o.model.schema.checkChild(n,"imageBlock"))return!0}else if(o.model.schema.checkChild(t.focus,"imageInline"))return!0;return!1}function jI(o){return[...o.focus.getAncestors()].every(t=>!t.is("element","imageBlock"))}function FI(o,t){const n=Of(o,t).start.parent;return n.isEmpty&&!n.is("element","$root")?n.parent:n}function km(o,t,e){const n=o.model.schema,i=o.config.get("image.insert.type");return o.plugins.has("ImageBlockEditing")?o.plugins.has("ImageInlineEditing")?e||(i==="inline"?"imageInline":i!=="auto"?"imageBlock":t.is("selection")?Wa(n,t):n.checkChild(t,"imageInline")?"imageInline":"imageBlock"):"imageBlock":"imageInline"}class VI extends X{refresh(){const n=this.editor.plugins.get("ImageUtils").getClosestSelectedImageElement(this.editor.model.document.selection);this.isEnabled=!!n,this.isEnabled&&n.hasAttribute("alt")?this.value=n.getAttribute("alt"):this.value=!1}execute(t){const e=this.editor,n=e.plugins.get("ImageUtils"),i=e.model,r=n.getClosestSelectedImageElement(i.document.selection);i.change(s=>{s.setAttribute("alt",t.newValue,r)})}}class HI extends z{static get requires(){return[Gt]}static get pluginName(){return"ImageTextAlternativeEditing"}init(){this.editor.commands.add("imageTextAlternative",new VI(this.editor))}}var bm=L(5269),Za={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Za.insert="head",Za.singleton=!0,R()(bm.Z,Za),bm.Z.locals;var wm=L(6603),$a={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};$a.insert="head",$a.singleton=!0,R()(wm.Z,$a),wm.Z.locals;class UI extends G{constructor(t){super(t);const e=this.locale.t;this.focusTracker=new St,this.keystrokes=new Ft,this.labeledInput=this._createLabeledInputView(),this.saveButtonView=this._createButton(e("Save"),Q.check,"ck-button-save"),this.saveButtonView.type="submit",this.cancelButtonView=this._createButton(e("Cancel"),Q.cancel,"ck-button-cancel","cancel"),this._focusables=new Jt,this._focusCycler=new Xt({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]})}render(){super.render(),this.keystrokes.listenTo(this.element),h({view:this}),[this.labeledInput,this.saveButtonView,this.cancelButtonView].forEach(t=>{this._focusables.add(t),this.focusTracker.add(t.element)})}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}_createButton(t,e,n,i){const r=new et(this.locale);return r.set({label:t,icon:e,tooltip:!0}),r.extendTemplate({attributes:{class:n}}),i&&r.delegate("execute").to(this,i),r}_createLabeledInputView(){const t=this.locale.t,e=new go(this.locale,Mo);return e.label=t("Text alternative"),e}}function GI(o){const t=o.plugins.get("ContextualBalloon");if(o.plugins.get("ImageUtils").getClosestSelectedImageWidget(o.editing.view.document.selection)){const n=Am(o);t.updatePosition(n)}}function Am(o){const t=o.editing.view,e=Gn.defaultPositions,n=o.plugins.get("ImageUtils");return{target:t.domConverter.mapViewToDom(n.getClosestSelectedImageWidget(t.document.selection)),positions:[e.northArrowSouth,e.northArrowSouthWest,e.northArrowSouthEast,e.southArrowNorth,e.southArrowNorthWest,e.southArrowNorthEast,e.viewportStickyNorth]}}class qI extends z{static get requires(){return[ji]}static get pluginName(){return"ImageTextAlternativeUI"}init(){this._createButton()}destroy(){super.destroy(),this._form&&this._form.destroy()}_createButton(){const t=this.editor,e=t.t;t.ui.componentFactory.add("imageTextAlternative",n=>{const i=t.commands.get("imageTextAlternative"),r=new et(n);return r.set({label:e("Change image text alternative"),icon:Q.textAlternative,tooltip:!0}),r.bind("isEnabled").to(i,"isEnabled"),r.bind("isOn").to(i,"value",s=>!!s),this.listenTo(r,"execute",()=>{this._showForm()}),r})}_createForm(){const t=this.editor,n=t.editing.view.document,i=t.plugins.get("ImageUtils");this._balloon=this.editor.plugins.get("ContextualBalloon"),this._form=new(y(UI))(t.locale),this._form.render(),this.listenTo(this._form,"submit",()=>{t.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",(r,s)=>{this._hideForm(!0),s()}),this.listenTo(t.ui,"update",()=>{i.getClosestSelectedImageWidget(n.selection)?this._isVisible&&GI(t):this._hideForm(!0)}),C({emitter:this._form,activator:()=>this._isVisible,contextElements:()=>[this._balloon.view.element],callback:()=>this._hideForm()})}_showForm(){if(this._isVisible)return;this._form||this._createForm();const t=this.editor,e=t.commands.get("imageTextAlternative"),n=this._form.labeledInput;this._form.disableCssTransitions(),this._isInBalloon||this._balloon.add({view:this._form,position:Am(t)}),n.fieldView.value=n.fieldView.element.value=e.value||"",this._form.labeledInput.fieldView.select(),this._form.enableCssTransitions()}_hideForm(t=!1){this._isInBalloon&&(this._form.focusTracker.isFocused&&this._form.saveButtonView.focus(),this._balloon.remove(this._form),t&&this.editor.editing.view.focus())}get _isVisible(){return!!this._balloon&&this._balloon.visibleView===this._form}get _isInBalloon(){return!!this._balloon&&this._balloon.hasView(this._form)}}class Cm extends z{static get requires(){return[HI,qI]}static get pluginName(){return"ImageTextAlternative"}}function WI(o){const t=(e,n,i)=>{if(!i.consumable.test(n.viewItem,{name:!0,classes:"image"}))return;const r=o.findViewImgElement(n.viewItem);if(!r||!i.consumable.test(r,{name:!0}))return;i.consumable.consume(n.viewItem,{name:!0,classes:"image"});const s=i.convertItem(r,n.modelCursor),a=Lt(s.modelRange.getItems());if(!a){i.consumable.revert(n.viewItem,{name:!0,classes:"image"});return}i.convertChildren(n.viewItem,a),i.updateConversionResult(a,n)};return e=>{e.on("element:figure",t)}}function _m(o,t){const e=(n,i,r)=>{if(!r.consumable.consume(i.item,n.name))return;const s=r.writer,a=r.mapper.toViewElement(i.item),c=o.findViewImgElement(a);i.attributeNewValue===null?(s.removeAttribute("srcset",c),s.removeAttribute("sizes",c)):i.attributeNewValue&&(s.setAttribute("srcset",i.attributeNewValue,c),s.setAttribute("sizes","100vw",c))};return n=>{n.on(`attribute:srcset:${t}`,e)}}function tr(o,t,e){const n=(i,r,s)=>{if(!s.consumable.consume(r.item,i.name))return;const a=s.writer,c=s.mapper.toViewElement(r.item),l=o.findViewImgElement(c);a.setAttribute(r.attributeKey,r.attributeNewValue||"",l)};return i=>{i.on(`attribute:${e}:${t}`,n)}}class Ka extends ye{observe(t){this.listenTo(t,"load",(e,n)=>{const i=n.target;this.checkShouldIgnoreEventFromTarget(i)||i.tagName=="IMG"&&this._fireEvents(n)},{useCapture:!0})}stopObserving(t){this.stopListening(t)}_fireEvents(t){this.isEnabled&&(this.document.fire("layoutChanged"),this.document.fire("imageLoaded",t))}}class ZI extends X{constructor(t){super(t);const e=t.config.get("image.insert.type");t.plugins.has("ImageBlockEditing")||e==="block"&&void 0,t.plugins.has("ImageInlineEditing")||e==="inline"&&void 0}refresh(){const t=this.editor.plugins.get("ImageUtils");this.isEnabled=t.isImageAllowed()}execute(t){const e=bt(t.source),n=this.editor.model.document.selection,i=this.editor.plugins.get("ImageUtils"),r=Object.fromEntries(n.getAttributes());e.forEach((s,a)=>{const c=n.getSelectedElement();if(typeof s=="string"&&(s={src:s}),a&&c&&i.isImage(c)){const l=this.editor.model.createPositionAfter(c);i.insertImage({...s,...r},l)}else i.insertImage({...s,...r})})}}class $I extends X{constructor(t){super(t),this.decorate("cleanupImage")}refresh(){const e=this.editor.plugins.get("ImageUtils"),n=this.editor.model.document.selection.getSelectedElement();this.isEnabled=e.isImage(n),this.value=this.isEnabled?n.getAttribute("src"):null}execute(t){const e=this.editor.model.document.selection.getSelectedElement(),n=this.editor.plugins.get("ImageUtils");this.editor.model.change(i=>{i.setAttribute("src",t.source,e),this.cleanupImage(i,e),n.setImageNaturalSizeAttributes(e)})}cleanupImage(t,e){t.removeAttribute("srcset",e),t.removeAttribute("sizes",e),t.removeAttribute("sources",e),t.removeAttribute("width",e),t.removeAttribute("height",e),t.removeAttribute("alt",e)}}class vm extends z{static get requires(){return[Gt]}static get pluginName(){return"ImageEditing"}init(){const t=this.editor,e=t.conversion;t.editing.view.addObserver(Ka),e.for("upcast").attributeToAttribute({view:{name:"img",key:"alt"},model:"alt"}).attributeToAttribute({view:{name:"img",key:"srcset"},model:"srcset"});const n=new ZI(t),i=new $I(t);t.commands.add("insertImage",n),t.commands.add("replaceImageSource",i),t.commands.add("imageInsert",n)}}class ym extends z{static get requires(){return[Gt]}static get pluginName(){return"ImageSizeAttributes"}afterInit(){this._registerSchema(),this._registerConverters("imageBlock"),this._registerConverters("imageInline")}_registerSchema(){this.editor.plugins.has("ImageBlockEditing")&&this.editor.model.schema.extend("imageBlock",{allowAttributes:["width","height"]}),this.editor.plugins.has("ImageInlineEditing")&&this.editor.model.schema.extend("imageInline",{allowAttributes:["width","height"]})}_registerConverters(t){const e=this.editor,n=e.plugins.get("ImageUtils"),i=t==="imageBlock"?"figure":"img";e.conversion.for("upcast").attributeToAttribute({view:{name:i,styles:{width:/.+/}},model:{key:"width",value:s=>Xi(s)?Ji(s.getStyle("width")):null}}).attributeToAttribute({view:{name:i,key:"width"},model:"width"}).attributeToAttribute({view:{name:i,styles:{height:/.+/}},model:{key:"height",value:s=>Xi(s)?Ji(s.getStyle("height")):null}}).attributeToAttribute({view:{name:i,key:"height"},model:"height"}),e.conversion.for("editingDowncast").add(s=>{r(s,"width","width",!0),r(s,"height","height",!0)}),e.conversion.for("dataDowncast").add(s=>{r(s,"width","width",!1),r(s,"height","height",!1)});function r(s,a,c,l){s.on(`attribute:${a}:${t}`,(d,u,f)=>{if(!f.consumable.consume(u.item,d.name))return;const p=f.writer,b=f.mapper.toViewElement(u.item),T=n.findViewImgElement(b);if(u.attributeNewValue!==null?p.setAttribute(c,u.attributeNewValue,T):p.removeAttribute(c,T),u.item.hasAttribute("sources"))return;const M=u.item.hasAttribute("resizedWidth");if(t==="imageInline"&&!M&&!l)return;const P=u.item.getAttribute("width"),V=u.item.getAttribute("height");P&&V&&p.setStyle("aspect-ratio",`${P}/${V}`,T)})}}}class xm extends X{constructor(t,e){super(t),this._modelElementName=e}refresh(){const e=this.editor.plugins.get("ImageUtils"),n=e.getClosestSelectedImageElement(this.editor.model.document.selection);this._modelElementName==="imageBlock"?this.isEnabled=e.isInlineImage(n):this.isEnabled=e.isBlockImage(n)}execute(t={}){const e=this.editor,n=this.editor.model,i=e.plugins.get("ImageUtils"),r=i.getClosestSelectedImageElement(n.document.selection),s=Object.fromEntries(r.getAttributes());return!s.src&&!s.uploadId?null:n.change(a=>{const{setImageSizes:c=!0}=t,l=Array.from(n.markers).filter(f=>f.getRange().containsItem(r)),d=i.insertImage(s,n.createSelection(r,"on"),this._modelElementName,{setImageSizes:c});if(!d)return null;const u=a.createRangeOn(d);for(const f of l){const p=f.getRange(),b=p.root.rootName!="$graveyard"?p.getJoined(u,!0):u;a.updateMarker(f,{range:b})}return{oldElement:r,newElement:d}})}}var Em=L(31),Ya={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ya.insert="head",Ya.singleton=!0,R()(Em.Z,Ya),Em.Z.locals;class Dm extends z{static get requires(){return[Gt]}static get pluginName(){return"ImagePlaceholder"}afterInit(){this._setupSchema(),this._setupConversion(),this._setupLoadListener()}_setupSchema(){const t=this.editor.model.schema;t.isRegistered("imageBlock")&&t.extend("imageBlock",{allowAttributes:["placeholder"]}),t.isRegistered("imageInline")&&t.extend("imageInline",{allowAttributes:["placeholder"]})}_setupConversion(){const t=this.editor,e=t.conversion,n=t.plugins.get("ImageUtils");e.for("editingDowncast").add(i=>{i.on("attribute:placeholder",(r,s,a)=>{if(!a.consumable.test(s.item,r.name)||!s.item.is("element","imageBlock")&&!s.item.is("element","imageInline"))return;a.consumable.consume(s.item,r.name);const c=a.writer,l=a.mapper.toViewElement(s.item),d=n.findViewImgElement(l);s.attributeNewValue?(c.addClass("image_placeholder",d),c.setStyle("background-image",`url(${s.attributeNewValue})`,d),c.setCustomProperty("editingPipeline:doNotReuseOnce",!0,d)):(c.removeClass("image_placeholder",d),c.removeStyle("background-image",d))})})}_setupLoadListener(){const t=this.editor,e=t.model,n=t.editing,i=n.view,r=t.plugins.get("ImageUtils");i.addObserver(Ka),this.listenTo(i.document,"imageLoaded",(s,a)=>{const c=i.domConverter.mapDomToView(a.target);if(!c)return;const l=r.getImageWidgetFromImageView(c);if(!l)return;const d=n.mapper.toModelElement(l);!d||!d.hasAttribute("placeholder")||e.enqueueChange({isUndoable:!1},u=>{u.removeAttribute("placeholder",d)})})}}class Tm extends z{static get requires(){return[vm,ym,Gt,Dm,we]}static get pluginName(){return"ImageBlockEditing"}init(){const t=this.editor;t.model.schema.register("imageBlock",{inheritAllFrom:"$blockObject",allowAttributes:["alt","src","srcset"]}),this._setupConversion(),t.plugins.has("ImageInlineEditing")&&(t.commands.add("imageTypeBlock",new xm(this.editor,"imageBlock")),this._setupClipboardIntegration())}_setupConversion(){const t=this.editor,e=t.t,n=t.conversion,i=t.plugins.get("ImageUtils");n.for("dataDowncast").elementToStructure({model:"imageBlock",view:(r,{writer:s})=>mm(s)}),n.for("editingDowncast").elementToStructure({model:"imageBlock",view:(r,{writer:s})=>i.toImageWidget(mm(s),s,e("image widget"))}),n.for("downcast").add(tr(i,"imageBlock","src")).add(tr(i,"imageBlock","alt")).add(_m(i,"imageBlock")),n.for("upcast").elementToElement({view:pm(t,"imageBlock"),model:(r,{writer:s})=>s.createElement("imageBlock",r.hasAttribute("src")?{src:r.getAttribute("src")}:void 0)}).add(WI(i))}_setupClipboardIntegration(){const t=this.editor,e=t.model,n=t.editing.view,i=t.plugins.get("ImageUtils"),r=t.plugins.get("ClipboardPipeline");this.listenTo(r,"inputTransformation",(s,a)=>{const c=Array.from(a.content.getChildren());let l;if(!c.every(i.isInlineImageView))return;a.targetRanges?l=t.editing.mapper.toModelRange(a.targetRanges[0]):l=e.document.selection.getFirstRange();const d=e.createSelection(l);if(Wa(e.schema,d)==="imageBlock"){const u=new ze(n.document),f=c.map(p=>u.createElement("figure",{class:"image"},p));a.content=u.createDocumentFragment(f)}}),this.listenTo(r,"contentInsertion",(s,a)=>{a.method==="paste"&&e.change(c=>{const l=c.createRangeIn(a.content);for(const d of l.getItems())d.is("element","imageBlock")&&i.setImageNaturalSizeAttributes(d)})})}}var Sm=L(8879),Qa={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Qa.insert="head",Qa.singleton=!0,R()(Sm.Z,Qa),Sm.Z.locals;class KI extends G{constructor(t,e=[]){super(t),this.focusTracker=new St,this.keystrokes=new Ft,this._focusables=new Jt,this.children=this.createCollection(),this._focusCycler=new Xt({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}});for(const n of e)this.children.add(n),this._focusables.add(n),n instanceof Tv&&this._focusables.addMany(n.children);if(this._focusables.length>1)for(const n of this._focusables)YI(n)&&(n.focusCycler.on("forwardCycle",i=>{this._focusCycler.focusNext(),i.stop()}),n.focusCycler.on("backwardCycle",i=>{this._focusCycler.focusPrevious(),i.stop()}));this.setTemplate({tag:"form",attributes:{class:["ck","ck-image-insert-form"],tabindex:-1},children:this.children})}render(){super.render(),h({view:this});for(const e of this._focusables)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)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}}function YI(o){return"focusCycler"in o}class Im extends z{static get pluginName(){return"ImageInsertUI"}static get requires(){return[Gt]}constructor(t){super(t),this._integrations=new Map,t.config.define("image.insert.integrations",["upload","assetManager","url"])}init(){const t=this.editor,e=t.model.document.selection,n=t.plugins.get("ImageUtils");this.set("isImageSelected",!1),this.listenTo(t.model.document,"change",()=>{this.isImageSelected=n.isImage(e.getSelectedElement())});const i=r=>this._createToolbarComponent(r);t.ui.componentFactory.add("insertImage",i),t.ui.componentFactory.add("imageInsert",i)}registerIntegration({name:t,observable:e,buttonViewCreator:n,formViewCreator:i,requiresForm:r}){this._integrations.has(t)&&void 0,this._integrations.set(t,{observable:e,buttonViewCreator:n,formViewCreator:i,requiresForm:!!r})}_createToolbarComponent(t){const e=this.editor,n=t.t,i=this._prepareIntegrations();if(!i.length)return null;let r;const s=i[0];if(i.length==1){if(!s.requiresForm)return s.buttonViewCreator(!0);r=s.buttonViewCreator(!0)}else{const l=s.buttonViewCreator(!1);r=new Bi(t,l),r.tooltip=!0,r.bind("label").to(this,"isImageSelected",d=>n(d?"Replace image":"Insert image"))}const a=this.dropdownView=le(t,r),c=i.map(({observable:l})=>l);return a.bind("isEnabled").toMany(c,"isEnabled",(...l)=>l.some(d=>d)),a.once("change:isOpen",()=>{const l=i.map(({formViewCreator:u})=>u(i.length==1)),d=new KI(e.locale,l);a.panelView.children.add(d)}),a}_prepareIntegrations(){const e=this.editor.config.get("image.insert.integrations"),n=[];if(!e.length)return n;for(const i of e){if(!this._integrations.has(i)){["upload","assetManager","url"].includes(i)||void 0;continue}n.push(this._integrations.get(i))}return n.length||void 0,n}}var Mm=L(2430),Ja={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ja.insert="head",Ja.singleton=!0,R()(Mm.Z,Ja),Mm.Z.locals;class QI extends z{static get requires(){return[Tm,Fo,Cm,Im]}static get pluginName(){return"ImageBlock"}}class JI extends z{static get requires(){return[vm,ym,Gt,Dm,we]}static get pluginName(){return"ImageInlineEditing"}init(){const t=this.editor,e=t.model.schema;e.register("imageInline",{inheritAllFrom:"$inlineObject",allowAttributes:["alt","src","srcset"]}),e.addChildCheck((n,i)=>{if(n.endsWith("caption")&&i.name==="imageInline")return!1}),this._setupConversion(),t.plugins.has("ImageBlockEditing")&&(t.commands.add("imageTypeInline",new xm(this.editor,"imageInline")),this._setupClipboardIntegration())}_setupConversion(){const t=this.editor,e=t.t,n=t.conversion,i=t.plugins.get("ImageUtils");n.for("dataDowncast").elementToElement({model:"imageInline",view:(r,{writer:s})=>s.createEmptyElement("img")}),n.for("editingDowncast").elementToStructure({model:"imageInline",view:(r,{writer:s})=>i.toImageWidget(LI(s),s,e("image widget"))}),n.for("downcast").add(tr(i,"imageInline","src")).add(tr(i,"imageInline","alt")).add(_m(i,"imageInline")),n.for("upcast").elementToElement({view:pm(t,"imageInline"),model:(r,{writer:s})=>s.createElement("imageInline",r.hasAttribute("src")?{src:r.getAttribute("src")}:void 0)})}_setupClipboardIntegration(){const t=this.editor,e=t.model,n=t.editing.view,i=t.plugins.get("ImageUtils"),r=t.plugins.get("ClipboardPipeline");this.listenTo(r,"inputTransformation",(s,a)=>{const c=Array.from(a.content.getChildren());let l;if(!c.every(i.isBlockImageView))return;a.targetRanges?l=t.editing.mapper.toModelRange(a.targetRanges[0]):l=e.document.selection.getFirstRange();const d=e.createSelection(l);if(Wa(e.schema,d)==="imageInline"){const u=new ze(n.document),f=c.map(p=>p.childCount===1?(Array.from(p.getAttributes()).forEach(b=>u.setAttribute(...b,i.findViewImgElement(p))),p.getChild(0)):p);a.content=u.createDocumentFragment(f)}}),this.listenTo(r,"contentInsertion",(s,a)=>{a.method==="paste"&&e.change(c=>{const l=c.createRangeIn(a.content);for(const d of l.getItems())d.is("element","imageInline")&&i.setImageNaturalSizeAttributes(d)})})}}class XI extends z{static get requires(){return[JI,Fo,Cm,Im]}static get pluginName(){return"ImageInline"}}class tM extends z{static get requires(){return[QI,XI]}static get pluginName(){return"Image"}}class Bm extends z{static get pluginName(){return"ImageCaptionUtils"}static get requires(){return[Gt]}getCaptionFromImageModelElement(t){for(const e of t.getChildren())if(e&&e.is("element","caption"))return e;return null}getCaptionFromModelSelection(t){const e=this.editor.plugins.get("ImageUtils"),n=t.getFirstPosition().findAncestor("caption");return n&&e.isBlockImage(n.parent)?n:null}matchImageCaptionViewElement(t){const e=this.editor.plugins.get("ImageUtils");return t.name=="figcaption"&&e.isBlockImageView(t.parent)?{name:!0}:null}}class eM extends X{refresh(){const t=this.editor,e=t.plugins.get("ImageCaptionUtils"),n=t.plugins.get("ImageUtils");if(!t.plugins.has(Tm)){this.isEnabled=!1,this.value=!1;return}const i=t.model.document.selection,r=i.getSelectedElement();if(!r){const s=e.getCaptionFromModelSelection(i);this.isEnabled=!!s,this.value=!!s;return}this.isEnabled=n.isImage(r),this.isEnabled?this.value=!!e.getCaptionFromImageModelElement(r):this.value=!1}execute(t={}){const{focusCaptionOnShow:e}=t;this.editor.model.change(n=>{this.value?this._hideImageCaption(n):this._showImageCaption(n,e)})}_showImageCaption(t,e){const i=this.editor.model.document.selection,r=this.editor.plugins.get("ImageCaptionEditing"),s=this.editor.plugins.get("ImageUtils");let a=i.getSelectedElement();const c=r._getSavedCaption(a);s.isInlineImage(a)&&(this.editor.execute("imageTypeBlock"),a=i.getSelectedElement());const l=c||t.createElement("caption");t.append(l,a),e&&t.setSelection(l,"in")}_hideImageCaption(t){const e=this.editor,n=e.model.document.selection,i=e.plugins.get("ImageCaptionEditing"),r=e.plugins.get("ImageCaptionUtils");let s=n.getSelectedElement(),a;s?a=r.getCaptionFromImageModelElement(s):(a=r.getCaptionFromModelSelection(n),s=a.parent),i._saveCaption(s,a),t.setSelection(s,"on"),t.remove(a)}}class nM extends z{static get requires(){return[Gt,Bm]}static get pluginName(){return"ImageCaptionEditing"}constructor(t){super(t),this._savedCaptionsMap=new WeakMap}init(){const t=this.editor,e=t.model.schema;e.isRegistered("caption")?e.extend("caption",{allowIn:"imageBlock"}):e.register("caption",{allowIn:"imageBlock",allowContentOf:"$block",isLimit:!0}),t.commands.add("toggleImageCaption",new eM(this.editor)),this._setupConversion(),this._setupImageTypeCommandsIntegration(),this._registerCaptionReconversion()}_setupConversion(){const t=this.editor,e=t.editing.view,n=t.plugins.get("ImageUtils"),i=t.plugins.get("ImageCaptionUtils"),r=t.t;t.conversion.for("upcast").elementToElement({view:s=>i.matchImageCaptionViewElement(s),model:"caption"}),t.conversion.for("dataDowncast").elementToElement({model:"caption",view:(s,{writer:a})=>n.isBlockImage(s.parent)?a.createContainerElement("figcaption"):null}),t.conversion.for("editingDowncast").elementToElement({model:"caption",view:(s,{writer:a})=>{if(!n.isBlockImage(s.parent))return null;const c=a.createEditableElement("figcaption");a.setCustomProperty("imageCaption",!0,c),c.placeholder=r("Enter image caption"),fu({view:e,element:c,keepOnFocus:!0});const l=s.parent.getAttribute("alt"),d=l?r("Caption for image: %0",[l]):r("Caption for the image");return Lf(c,a,{label:d})}})}_setupImageTypeCommandsIntegration(){const t=this.editor,e=t.plugins.get("ImageUtils"),n=t.plugins.get("ImageCaptionUtils"),i=t.commands.get("imageTypeInline"),r=t.commands.get("imageTypeBlock"),s=a=>{if(!a.return)return;const{oldElement:c,newElement:l}=a.return;if(!c)return;if(e.isBlockImage(c)){const u=n.getCaptionFromImageModelElement(c);if(u){this._saveCaption(l,u);return}}const d=this._getSavedCaption(c);d&&this._saveCaption(l,d)};i&&this.listenTo(i,"execute",s,{priority:"low"}),r&&this.listenTo(r,"execute",s,{priority:"low"})}_getSavedCaption(t){const e=this._savedCaptionsMap.get(t);return e?dt.fromJSON(e):null}_saveCaption(t,e){this._savedCaptionsMap.set(t,e.toJSON())}_registerCaptionReconversion(){const t=this.editor,e=t.model,n=t.plugins.get("ImageUtils"),i=t.plugins.get("ImageCaptionUtils");e.document.on("change:data",()=>{const r=e.document.differ.getChanges();for(const s of r){if(s.attributeKey!=="alt")continue;const a=s.range.start.nodeAfter;if(n.isBlockImage(a)){const c=i.getCaptionFromImageModelElement(a);if(!c)return;t.editing.reconvertItem(c)}}})}}class oM extends z{static get requires(){return[Bm]}static get pluginName(){return"ImageCaptionUI"}init(){const t=this.editor,e=t.editing.view,n=t.plugins.get("ImageCaptionUtils"),i=t.t;t.ui.componentFactory.add("toggleImageCaption",r=>{const s=t.commands.get("toggleImageCaption"),a=new et(r);return a.set({icon:Q.caption,tooltip:!0,isToggleable:!0}),a.bind("isOn","isEnabled").to(s,"value","isEnabled"),a.bind("label").to(s,"value",c=>i(c?"Toggle caption off":"Toggle caption on")),this.listenTo(a,"execute",()=>{t.execute("toggleImageCaption",{focusCaptionOnShow:!0});const c=n.getCaptionFromModelSelection(t.model.document.selection);if(c){const l=t.editing.mapper.toViewElement(c);e.scrollToTheSelection(),e.change(d=>{d.addClass("image__caption_highlighted",l)})}t.editing.view.focus()}),a})}}var Nm=L(2423),Xa={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Xa.insert="head",Xa.singleton=!0,R()(Nm.Z,Xa),Nm.Z.locals;class iM extends z{static get requires(){return[nM,oM]}static get pluginName(){return"ImageCaption"}}class rM extends at(){constructor(){super();const t=new window.FileReader;this._reader=t,this._data=void 0,this.set("loaded",0),t.onprogress=e=>{this.loaded=e.loaded}}get error(){return this._reader.error}get data(){return this._data}read(t){const e=this._reader;return this.total=t.size,new Promise((n,i)=>{e.onload=()=>{const r=e.result;this._data=r,n(r)},e.onerror=()=>{i("error")},e.onabort=()=>{i("aborted")},this._reader.readAsDataURL(t)})}abort(){this._reader.abort()}}class pn extends z{constructor(){super(...arguments),this.loaders=new qt,this._loadersMap=new Map,this._pendingAction=null}static get pluginName(){return"FileRepository"}static get requires(){return[Ii]}init(){this.loaders.on("change",()=>this._updatePendingAction()),this.set("uploaded",0),this.set("uploadTotal",null),this.bind("uploadedPercent").to(this,"uploaded",this,"uploadTotal",(t,e)=>e?t/e*100:0)}getLoader(t){return this._loadersMap.get(t)||null}createLoader(t){if(!this.createUploadAdapter)return null;const e=new zm(Promise.resolve(t),this.createUploadAdapter);return this.loaders.add(e),this._loadersMap.set(t,e),t instanceof Promise&&e.file.then(n=>{this._loadersMap.set(n,e)}).catch(()=>{}),e.on("change:uploaded",()=>{let n=0;for(const i of this.loaders)n+=i.uploaded;this.uploaded=n}),e.on("change:uploadTotal",()=>{let n=0;for(const i of this.loaders)i.uploadTotal&&(n+=i.uploadTotal);this.uploadTotal=n}),e}destroyLoader(t){const e=t instanceof zm?t:this.getLoader(t);e._destroy(),this.loaders.remove(e),this._loadersMap.forEach((n,i)=>{n===e&&this._loadersMap.delete(i)})}_updatePendingAction(){const t=this.editor.plugins.get(Ii);if(this.loaders.length){if(!this._pendingAction){const e=this.editor.t,n=i=>`${e("Upload in progress")} ${parseInt(i)}%.`;this._pendingAction=t.add(n(this.uploadedPercent)),this._pendingAction.bind("message").to(this,"uploadedPercent",n)}}else t.remove(this._pendingAction),this._pendingAction=null}}class zm extends at(){constructor(t,e){super(),this.id=Ht(),this._filePromiseWrapper=this._createFilePromiseWrapper(t),this._adapter=e(this),this._reader=new rM,this.set("status","idle"),this.set("uploaded",0),this.set("uploadTotal",null),this.bind("uploadedPercent").to(this,"uploaded",this,"uploadTotal",(n,i)=>i?n/i*100:0),this.set("uploadResponse",null)}get file(){return this._filePromiseWrapper?this._filePromiseWrapper.promise.then(t=>this._filePromiseWrapper?t:null):Promise.resolve(null)}get data(){return this._reader.data}read(){if(this.status!="idle")throw new w("filerepository-read-wrong-status",this);return this.status="reading",this.file.then(t=>this._reader.read(t)).then(t=>{if(this.status!=="reading")throw this.status;return this.status="idle",t}).catch(t=>{throw t==="aborted"?(this.status="aborted","aborted"):(this.status="error",this._reader.error?this._reader.error:t)})}upload(){if(this.status!="idle")throw new w("filerepository-upload-wrong-status",this);return this.status="uploading",this.file.then(()=>this._adapter.upload()).then(t=>(this.uploadResponse=t,this.status="idle",t)).catch(t=>{throw this.status==="aborted"?"aborted":(this.status="error",t)})}abort(){const t=this.status;this.status="aborted",this._filePromiseWrapper.isFulfilled?t=="reading"?this._reader.abort():t=="uploading"&&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(t){const e={};return e.promise=new Promise((n,i)=>{e.rejecter=i,e.isFulfilled=!1,t.then(r=>{e.isFulfilled=!0,n(r)}).catch(r=>{e.isFulfilled=!0,i(r)})}),e}}class sM extends et{constructor(t){super(t),this.buttonView=this,this._fileInputView=new aM(t),this._fileInputView.bind("acceptedType").to(this),this._fileInputView.bind("allowMultipleFiles").to(this),this._fileInputView.delegate("done").to(this),this.on("execute",()=>{this._fileInputView.open()}),this.extendTemplate({attributes:{class:"ck-file-dialog-button"}})}render(){super.render(),this.children.add(this._fileInputView)}}class aM extends G{constructor(t){super(t),this.set("acceptedType",void 0),this.set("allowMultipleFiles",!1);const e=this.bindTemplate;this.setTemplate({tag:"input",attributes:{class:["ck-hidden"],type:"file",tabindex:"-1",accept:e.to("acceptedType"),multiple:e.to("allowMultipleFiles")},on:{change:e.to(()=>{this.element&&this.element.files&&this.element.files.length&&this.fire("done",this.element.files),this.element.value=""})}})}open(){this.element.click()}}class cM extends z{static get requires(){return[pn]}static get pluginName(){return"SimpleUploadAdapter"}init(){const t=this.editor.config.get("simpleUpload");if(t){if(!t.uploadUrl){return}this.editor.plugins.get(pn).createUploadAdapter=e=>new lM(e,t)}}}class lM{constructor(t,e){this.loader=t,this.options=e}upload(){return this.loader.file.then(t=>new Promise((e,n)=>{this._initRequest(),this._initListeners(e,n,t),this._sendRequest(t)}))}abort(){this.xhr&&this.xhr.abort()}_initRequest(){const t=this.xhr=new XMLHttpRequest;t.open("POST",this.options.uploadUrl,!0),t.responseType="json"}_initListeners(t,e,n){const i=this.xhr,r=this.loader,s=`Couldn't upload file: ${n.name}.`;i.addEventListener("error",()=>e(s)),i.addEventListener("abort",()=>e()),i.addEventListener("load",()=>{const a=i.response;if(!a||a.error)return e(a&&a.error&&a.error.message?a.error.message:s);const c=a.url?{default:a.url}:a.urls;t({...a,urls:c})}),i.upload&&i.upload.addEventListener("progress",a=>{a.lengthComputable&&(r.uploadTotal=a.total,r.uploaded=a.loaded)})}_sendRequest(t){const e=this.options.headers||{},n=this.options.withCredentials||!1;for(const r of Object.keys(e))this.xhr.setRequestHeader(r,e[r]);this.xhr.withCredentials=n;const i=new FormData;i.append("upload",t),this.xhr.send(i)}}function Pm(o){const t=o.map(e=>e.replace("+","\\+"));return new RegExp(`^image\\/(${t.join("|")})$`)}function dM(o){return new Promise((t,e)=>{const n=o.getAttribute("src");fetch(n).then(i=>i.blob()).then(i=>{const r=Lm(i,n),a=`image.${r.replace("image/","")}`,c=new File([i],a,{type:r});t(c)}).catch(i=>i&&i.name==="TypeError"?hM(n).then(t).catch(e):e(i))})}function uM(o,t){return!o.isInlineImageView(t)||!t.getAttribute("src")?!1:!!t.getAttribute("src").match(/^data:image\/\w+;base64,/g)||!!t.getAttribute("src").match(/^blob:/g)}function Lm(o,t){return o.type?o.type:t.match(/data:(image\/\w+);base64/)?t.match(/data:(image\/\w+);base64/)[1].toLowerCase():"image/jpeg"}function hM(o){return gM(o).then(t=>{const e=Lm(t,o),i=`image.${e.replace("image/","")}`;return new File([t],i,{type:e})})}function gM(o){return new Promise((t,e)=>{const n=H.document.createElement("img");n.addEventListener("load",()=>{const i=H.document.createElement("canvas");i.width=n.width,i.height=n.height,i.getContext("2d").drawImage(n,0,0),i.toBlob(s=>s?t(s):e())}),n.addEventListener("error",()=>e()),n.src=o})}class fM extends z{static get pluginName(){return"ImageUploadUI"}init(){const t=this.editor,e=t.t,n=i=>{const r=new sM(i),s=t.commands.get("uploadImage"),a=t.config.get("image.upload.types"),c=Pm(a);return r.set({acceptedType:a.map(l=>`image/${l}`).join(","),allowMultipleFiles:!0,label:e("Upload image from computer"),icon:Q.imageUpload,tooltip:!0}),r.bind("isEnabled").to(s),r.on("done",(l,d)=>{const u=Array.from(d).filter(f=>c.test(f.type));u.length&&(t.execute("uploadImage",{file:u}),t.editing.view.focus())}),r};if(t.ui.componentFactory.add("uploadImage",n),t.ui.componentFactory.add("imageUpload",n),t.plugins.has("ImageInsertUI")){const i=t.plugins.get("ImageInsertUI"),r=t.commands.get("uploadImage");i.registerIntegration({name:"upload",observable:r,buttonViewCreator:()=>{const s=t.ui.componentFactory.create("uploadImage");return s.bind("label").to(i,"isImageSelected",a=>e(a?"Replace image from computer":"Upload image from computer")),s},formViewCreator:()=>{const s=t.ui.componentFactory.create("uploadImage");return s.withText=!0,s.bind("label").to(i,"isImageSelected",a=>e(a?"Replace from computer":"Upload from computer")),s.on("execute",()=>{i.dropdownView.isOpen=!1}),s}})}}}var Om=L(2926),tc={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};tc.insert="head",tc.singleton=!0,R()(Om.Z,tc),Om.Z.locals;var Rm=L(1547),ec={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};ec.insert="head",ec.singleton=!0,R()(Rm.Z,ec),Rm.Z.locals;var jm=L(6618),nc={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};nc.insert="head",nc.singleton=!0,R()(jm.Z,nc),jm.Z.locals;class mM extends z{static get pluginName(){return"ImageUploadProgress"}constructor(t){super(t),this.uploadStatusChange=(e,n,i)=>{const r=this.editor,s=n.item,a=s.getAttribute("uploadId");if(!i.consumable.consume(n.item,e.name))return;const c=r.plugins.get("ImageUtils"),l=r.plugins.get(pn),d=a?n.attributeNewValue:null,u=this.placeholder,f=r.editing.mapper.toViewElement(s),p=i.writer;if(d=="reading"){Fm(f,p),Vm(c,u,f,p);return}if(d=="uploading"){const b=l.loaders.get(a);Fm(f,p),b?(Hm(f,p),kM(f,p,b,r.editing.view),_M(c,f,p,b)):Vm(c,u,f,p);return}d=="complete"&&l.loaders.get(a)&&wM(f,p,r.editing.view),bM(f,p),Hm(f,p),pM(f,p)},this.placeholder="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="}init(){const t=this.editor;t.plugins.has("ImageBlockEditing")&&t.editing.downcastDispatcher.on("attribute:uploadStatus:imageBlock",this.uploadStatusChange),t.plugins.has("ImageInlineEditing")&&t.editing.downcastDispatcher.on("attribute:uploadStatus:imageInline",this.uploadStatusChange)}}function Fm(o,t){o.hasClass("ck-appear")||t.addClass("ck-appear",o)}function pM(o,t){t.removeClass("ck-appear",o)}function Vm(o,t,e,n){e.hasClass("ck-image-upload-placeholder")||n.addClass("ck-image-upload-placeholder",e);const i=o.findViewImgElement(e);i.getAttribute("src")!==t&&n.setAttribute("src",t,i),Um(e,"placeholder")||n.insert(n.createPositionAfter(i),CM(n))}function Hm(o,t){o.hasClass("ck-image-upload-placeholder")&&t.removeClass("ck-image-upload-placeholder",o),Gm(o,t,"placeholder")}function kM(o,t,e,n){const i=AM(t);t.insert(t.createPositionAt(o,"end"),i),e.on("change:uploadedPercent",(r,s,a)=>{n.change(c=>{c.setStyle("width",a+"%",i)})})}function bM(o,t){Gm(o,t,"progressBar")}function wM(o,t,e){const n=t.createUIElement("div",{class:"ck-image-upload-complete-icon"});t.insert(t.createPositionAt(o,"end"),n),setTimeout(()=>{e.change(i=>i.remove(i.createRangeOn(n)))},3e3)}function AM(o){const t=o.createUIElement("div",{class:"ck-progress-bar"});return o.setCustomProperty("progressBar",!0,t),t}function CM(o){const t=o.createUIElement("div",{class:"ck-upload-placeholder-loader"});return o.setCustomProperty("placeholder",!0,t),t}function Um(o,t){for(const e of o.getChildren())if(e.getCustomProperty(t))return e}function Gm(o,t,e){const n=Um(o,e);n&&t.remove(t.createRangeOn(n))}function _M(o,t,e,n){if(n.data){const i=o.findViewImgElement(t);e.setAttribute("src",n.data,i)}}class vM extends X{refresh(){const t=this.editor,e=t.plugins.get("ImageUtils"),n=t.model.document.selection.getSelectedElement();this.isEnabled=e.isImageAllowed()||e.isImage(n)}execute(t){const e=bt(t.file),n=this.editor.model.document.selection,i=this.editor.plugins.get("ImageUtils"),r=Object.fromEntries(n.getAttributes());e.forEach((s,a)=>{const c=n.getSelectedElement();if(a&&c&&i.isImage(c)){const l=this.editor.model.createPositionAfter(c);this._uploadImage(s,r,l)}else this._uploadImage(s,r)})}_uploadImage(t,e,n){const i=this.editor,s=i.plugins.get(pn).createLoader(t),a=i.plugins.get("ImageUtils");s&&a.insertImage({...e,uploadId:s.id},n)}}class yM extends z{static get requires(){return[pn,Ug,we,Gt]}static get pluginName(){return"ImageUploadEditing"}constructor(t){super(t),t.config.define("image",{upload:{types:["jpeg","png","gif","bmp","webp","tiff"]}}),this._uploadImageElements=new Map}init(){const t=this.editor,e=t.model.document,n=t.conversion,i=t.plugins.get(pn),r=t.plugins.get("ImageUtils"),s=t.plugins.get("ClipboardPipeline"),a=Pm(t.config.get("image.upload.types")),c=new vM(t);t.commands.add("uploadImage",c),t.commands.add("imageUpload",c),n.for("upcast").attributeToAttribute({view:{name:"img",key:"uploadId"},model:"uploadId"}),this.listenTo(t.editing.view.document,"clipboardInput",(l,d)=>{if(xM(d.dataTransfer))return;const u=Array.from(d.dataTransfer.files).filter(f=>f?a.test(f.type):!1);u.length&&(l.stop(),t.model.change(f=>{d.targetRanges&&f.setSelection(d.targetRanges.map(p=>t.editing.mapper.toModelRange(p))),t.execute("uploadImage",{file:u})}))}),this.listenTo(s,"inputTransformation",(l,d)=>{const u=Array.from(t.editing.view.createRangeIn(d.content)).map(p=>p.item).filter(p=>uM(r,p)&&!p.getAttribute("uploadProcessed")).map(p=>({promise:dM(p),imageElement:p}));if(!u.length)return;const f=new ze(t.editing.view.document);for(const p of u){f.setAttribute("uploadProcessed",!0,p.imageElement);const b=i.createLoader(p.promise);b&&(f.setAttribute("src","",p.imageElement),f.setAttribute("uploadId",b.id,p.imageElement))}}),t.editing.view.document.on("dragover",(l,d)=>{d.preventDefault()}),e.on("change",()=>{const l=e.differ.getChanges({includeChangesInGraveyard:!0}).reverse(),d=new Set;for(const u of l)if(u.type=="insert"&&u.name!="$text"){const f=u.position.nodeAfter,p=u.position.root.rootName=="$graveyard";for(const b of EM(t,f)){const T=b.getAttribute("uploadId");if(!T)continue;const M=i.loaders.get(T);M&&(p?d.has(T)||M.abort():(d.add(T),this._uploadImageElements.set(T,b),M.status=="idle"&&this._readAndUpload(M)))}}}),this.on("uploadComplete",(l,{imageElement:d,data:u})=>{const f=u.urls?u.urls:u;this.editor.model.change(p=>{p.setAttribute("src",f.default,d),this._parseAndSetSrcsetAttributeOnImage(f,d,p),r.setImageNaturalSizeAttributes(d)})},{priority:"low"})}afterInit(){const t=this.editor.model.schema;this.editor.plugins.has("ImageBlockEditing")&&t.extend("imageBlock",{allowAttributes:["uploadId","uploadStatus"]}),this.editor.plugins.has("ImageInlineEditing")&&t.extend("imageInline",{allowAttributes:["uploadId","uploadStatus"]})}_readAndUpload(t){const e=this.editor,n=e.model,i=e.locale.t,r=e.plugins.get(pn),s=e.plugins.get(Ug),a=e.plugins.get("ImageUtils"),c=this._uploadImageElements;return n.enqueueChange({isUndoable:!1},d=>{d.setAttribute("uploadStatus","reading",c.get(t.id))}),t.read().then(()=>{const d=t.upload(),u=c.get(t.id);if(g.isSafari){const f=e.editing.mapper.toViewElement(u),p=a.findViewImgElement(f);e.editing.view.once("render",()=>{if(!p.parent)return;const b=e.editing.view.domConverter.mapViewToDom(p.parent);if(!b)return;const T=b.style.display;b.style.display="none",b._ckHack=b.offsetHeight,b.style.display=T})}return n.enqueueChange({isUndoable:!1},f=>{f.setAttribute("uploadStatus","uploading",u)}),d}).then(d=>{n.enqueueChange({isUndoable:!1},u=>{const f=c.get(t.id);u.setAttribute("uploadStatus","complete",f),this.fire("uploadComplete",{data:d,imageElement:f})}),l()}).catch(d=>{if(t.status!=="error"&&t.status!=="aborted")throw d;t.status=="error"&&d&&s.showWarning(d,{title:i("Upload failed"),namespace:"upload"}),n.enqueueChange({isUndoable:!1},u=>{u.remove(c.get(t.id))}),l()});function l(){n.enqueueChange({isUndoable:!1},d=>{const u=c.get(t.id);d.removeAttribute("uploadId",u),d.removeAttribute("uploadStatus",u),c.delete(t.id)}),r.destroyLoader(t)}}_parseAndSetSrcsetAttributeOnImage(t,e,n){let i=0;const r=Object.keys(t).filter(s=>{const a=parseInt(s,10);if(!isNaN(a))return i=Math.max(i,a),!0}).map(s=>`${t[s]} ${s}w`).join(", ");if(r!=""){const s={srcset:r};!e.hasAttribute("width")&&!e.hasAttribute("height")&&(s.width=i),n.setAttributes(s,e)}}}function xM(o){return Array.from(o.types).includes("text/html")&&o.getData("text/html")!==""}function EM(o,t){const e=o.plugins.get("ImageUtils");return Array.from(o.model.createRangeOn(t)).filter(n=>e.isImage(n.item)).map(n=>n.item)}class DM extends z{static get pluginName(){return"ImageUpload"}static get requires(){return[yM,fM,mM]}}class TM extends X{refresh(){const t=this.editor,n=t.plugins.get("ImageUtils").getClosestSelectedImageElement(t.model.document.selection);this.isEnabled=!!n,!n||!n.hasAttribute("resizedWidth")?this.value=null:this.value={width:n.getAttribute("resizedWidth"),height:null}}execute(t){const e=this.editor,n=e.model,i=e.plugins.get("ImageUtils"),r=i.getClosestSelectedImageElement(n.document.selection);this.value={width:t.width,height:null},r&&n.change(s=>{s.setAttribute("resizedWidth",t.width,r),s.removeAttribute("resizedHeight",r),i.setImageNaturalSizeAttributes(r)})}}class qm extends z{static get requires(){return[Gt]}static get pluginName(){return"ImageResizeEditing"}constructor(t){super(t),t.config.define("image",{resizeUnit:"%",resizeOptions:[{name:"resizeImage:original",value:null,icon:"original"},{name:"resizeImage:25",value:"25",icon:"small"},{name:"resizeImage:50",value:"50",icon:"medium"},{name:"resizeImage:75",value:"75",icon:"large"}]})}init(){const t=this.editor,e=new TM(t);this._registerSchema(),this._registerConverters("imageBlock"),this._registerConverters("imageInline"),t.commands.add("resizeImage",e),t.commands.add("imageResize",e)}_registerSchema(){this.editor.plugins.has("ImageBlockEditing")&&this.editor.model.schema.extend("imageBlock",{allowAttributes:["resizedWidth","resizedHeight"]}),this.editor.plugins.has("ImageInlineEditing")&&this.editor.model.schema.extend("imageInline",{allowAttributes:["resizedWidth","resizedHeight"]})}_registerConverters(t){const e=this.editor,n=e.plugins.get("ImageUtils");e.conversion.for("downcast").add(i=>i.on(`attribute:resizedWidth:${t}`,(r,s,a)=>{if(!a.consumable.consume(s.item,r.name))return;const c=a.writer,l=a.mapper.toViewElement(s.item);s.attributeNewValue!==null?(c.setStyle("width",s.attributeNewValue,l),c.addClass("image_resized",l)):(c.removeStyle("width",l),c.removeClass("image_resized",l))})),e.conversion.for("dataDowncast").attributeToAttribute({model:{name:t,key:"resizedHeight"},view:i=>({key:"style",value:{height:i}})}),e.conversion.for("editingDowncast").add(i=>i.on(`attribute:resizedHeight:${t}`,(r,s,a)=>{if(!a.consumable.consume(s.item,r.name))return;const c=a.writer,l=a.mapper.toViewElement(s.item),d=t==="imageInline"?n.findViewImgElement(l):l;s.attributeNewValue!==null?c.setStyle("height",s.attributeNewValue,d):c.removeStyle("height",d)})),e.conversion.for("upcast").attributeToAttribute({view:{name:t==="imageBlock"?"figure":"img",styles:{width:/.+/}},model:{key:"resizedWidth",value:i=>Xi(i)?null:i.getStyle("width")}}),e.conversion.for("upcast").attributeToAttribute({view:{name:t==="imageBlock"?"figure":"img",styles:{height:/.+/}},model:{key:"resizedHeight",value:i=>Xi(i)?null:i.getStyle("height")}})}}const oc={small:Q.objectSizeSmall,medium:Q.objectSizeMedium,large:Q.objectSizeLarge,original:Q.objectSizeFull};class SM extends z{static get requires(){return[qm]}static get pluginName(){return"ImageResizeButtons"}constructor(t){super(t),this._resizeUnit=t.config.get("image.resizeUnit")}init(){const t=this.editor,e=t.config.get("image.resizeOptions"),n=t.commands.get("resizeImage");this.bind("isEnabled").to(n);for(const i of e)this._registerImageResizeButton(i);this._registerImageResizeDropdown(e)}_registerImageResizeButton(t){const e=this.editor,{name:n,value:i,icon:r}=t,s=i?i+this._resizeUnit:null;e.ui.componentFactory.add(n,a=>{const c=new et(a),l=e.commands.get("resizeImage"),d=this._getOptionLabelValue(t,!0);if(!oc[r])throw new w("imageresizebuttons-missing-icon",e,t);return c.set({label:d,icon:oc[r],tooltip:d,isToggleable:!0}),c.bind("isEnabled").to(this),c.bind("isOn").to(l,"value",Wm(s)),this.listenTo(c,"execute",()=>{e.execute("resizeImage",{width:s})}),c})}_registerImageResizeDropdown(t){const e=this.editor,n=e.t,i=t.find(s=>!s.value),r=s=>{const a=e.commands.get("resizeImage"),c=le(s,iu),l=c.buttonView,d=n("Resize image");return l.set({tooltip:d,commandValue:i.value,icon:oc.medium,isToggleable:!0,label:this._getOptionLabelValue(i),withText:!0,class:"ck-resize-image-button",ariaLabel:d,ariaLabelledBy:void 0}),l.bind("label").to(a,"value",u=>u&&u.width?u.width:this._getOptionLabelValue(i)),c.bind("isEnabled").to(this),Ni(c,()=>this._getResizeDropdownListItemDefinitions(t,a),{ariaLabel:n("Image resize list"),role:"menu"}),this.listenTo(c,"execute",u=>{e.execute(u.source.commandName,{width:u.source.commandValue}),e.editing.view.focus()}),c};e.ui.componentFactory.add("resizeImage",r),e.ui.componentFactory.add("imageResize",r)}_getOptionLabelValue(t,e=!1){const n=this.editor.t;return t.label?t.label:e?t.value?n("Resize image to %0",t.value+this._resizeUnit):n("Resize image to the original size"):t.value?t.value+this._resizeUnit:n("Original")}_getResizeDropdownListItemDefinitions(t,e){const n=new qt;return t.map(i=>{const r=i.value?i.value+this._resizeUnit:null,s={type:"button",model:new Oi({commandName:"resizeImage",commandValue:r,label:this._getOptionLabelValue(i),role:"menuitemradio",withText:!0,icon:null})};s.model.bind("isOn").to(e,"value",Wm(r)),n.add(s)}),n}}function Wm(o){return t=>{const e=t;return o===null&&e===o?!0:e!==null&&e.width===o}}const IM="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",ic="image_resized";class MM extends z{static get requires(){return[Oa,Gt]}static get pluginName(){return"ImageResizeHandles"}init(){const t=this.editor.commands.get("resizeImage");this.bind("isEnabled").to(t),this._setupResizerCreator()}_setupResizerCreator(){const t=this.editor,e=t.editing.view,n=t.plugins.get("ImageUtils");e.addObserver(Ka),this.listenTo(e.document,"imageLoaded",(i,r)=>{if(!r.target.matches(IM))return;const s=t.editing.view.domConverter,a=s.domToView(r.target),c=n.getImageWidgetFromImageView(a);let l=this.editor.plugins.get(Oa).getResizerByViewElement(c);if(l){l.redraw();return}const d=t.editing.mapper,u=d.toModelElement(c);l=t.plugins.get(Oa).attachTo({unit:t.config.get("image.resizeUnit"),modelElement:u,viewElement:c,editor:t,getHandleHost(f){return f.querySelector("img")},getResizeHost(){return s.mapViewToDom(d.toViewElement(u.parent))},isCentered(){const f=u.getAttribute("imageStyle");return!f||f=="block"||f=="alignCenter"},onCommit(f){e.change(p=>{p.removeClass(ic,c)}),t.execute("resizeImage",{width:f})}}),l.on("updateSize",()=>{c.hasClass(ic)||e.change(p=>{p.addClass(ic,c)});const f=u.name==="imageInline"?a:c;f.getStyle("height")&&e.change(p=>{p.removeStyle("height",f)})}),l.bind("isEnabled").to(this)})}}var Zm=L(2400),rc={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};rc.insert="head",rc.singleton=!0,R()(Zm.Z,rc),Zm.Z.locals;class BM extends z{static get requires(){return[qm,MM,SM]}static get pluginName(){return"ImageResize"}}class NM extends X{constructor(t,e){super(t),this._defaultStyles={imageBlock:!1,imageInline:!1},this._styles=new Map(e.map(n=>{if(n.isDefault)for(const i of n.modelElements)this._defaultStyles[i]=n.name;return[n.name,n]}))}refresh(){const n=this.editor.plugins.get("ImageUtils").getClosestSelectedImageElement(this.editor.model.document.selection);this.isEnabled=!!n,this.isEnabled?n.hasAttribute("imageStyle")?this.value=n.getAttribute("imageStyle"):this.value=this._defaultStyles[n.name]:this.value=!1}execute(t={}){const e=this.editor,n=e.model,i=e.plugins.get("ImageUtils");n.change(r=>{const s=t.value,{setImageSizes:a=!0}=t;let c=i.getClosestSelectedImageElement(n.document.selection);s&&this.shouldConvertImageType(s,c)&&(this.editor.execute(i.isBlockImage(c)?"imageTypeInline":"imageTypeBlock",{setImageSizes:a}),c=i.getClosestSelectedImageElement(n.document.selection)),!s||this._styles.get(s).isDefault?r.removeAttribute("imageStyle",c):r.setAttribute("imageStyle",s,c),a&&i.setImageNaturalSizeAttributes(c)})}shouldConvertImageType(t,e){return!this._styles.get(t).modelElements.includes(e.name)}}const{objectFullWidth:zM,objectInline:$m,objectLeft:Km,objectRight:sc,objectCenter:ac,objectBlockLeft:Ym,objectBlockRight:Qm}=Q,er={get inline(){return{name:"inline",title:"In line",icon:$m,modelElements:["imageInline"],isDefault:!0}},get alignLeft(){return{name:"alignLeft",title:"Left aligned image",icon:Km,modelElements:["imageBlock","imageInline"],className:"image-style-align-left"}},get alignBlockLeft(){return{name:"alignBlockLeft",title:"Left aligned image",icon:Ym,modelElements:["imageBlock"],className:"image-style-block-align-left"}},get alignCenter(){return{name:"alignCenter",title:"Centered image",icon:ac,modelElements:["imageBlock"],className:"image-style-align-center"}},get alignRight(){return{name:"alignRight",title:"Right aligned image",icon:sc,modelElements:["imageBlock","imageInline"],className:"image-style-align-right"}},get alignBlockRight(){return{name:"alignBlockRight",title:"Right aligned image",icon:Qm,modelElements:["imageBlock"],className:"image-style-block-align-right"}},get block(){return{name:"block",title:"Centered image",icon:ac,modelElements:["imageBlock"],isDefault:!0}},get side(){return{name:"side",title:"Side image",icon:sc,modelElements:["imageBlock"],className:"image-style-side"}}},Jm={full:zM,left:Ym,right:Qm,center:ac,inlineLeft:Km,inlineRight:sc,inline:$m},Xm=[{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 PM(o){return(o.configuredStyles.options||[]).map(n=>RM(n)).filter(n=>jM(n,o))}function LM(o,t){return o&&t?{options:["inline","alignLeft","alignRight","alignCenter","alignBlockLeft","alignBlockRight","block","side"]}:o?{options:["block","side"]}:t?{options:["inline","alignLeft","alignRight"]}:{}}function OM(o){return o.has("ImageBlockEditing")&&o.has("ImageInlineEditing")?[...Xm]:[]}function RM(o){return typeof o=="string"?er[o]?o={...er[o]}:o={name:o}:o=FM(er[o.name],o),typeof o.icon=="string"&&(o.icon=Jm[o.icon]||o.icon),o}function jM(o,{isBlockPluginLoaded:t,isInlinePluginLoaded:e}){const{modelElements:n,name:i}=o;if(!n||!n.length||!i)return tp({style:o}),!1;{const r=[t?"imageBlock":null,e?"imageInline":null];if(!n.some(s=>r.includes(s)))return n.map(s=>s==="imageBlock"?"ImageBlockEditing":"ImageInlineEditing"),!1}return!0}function FM(o,t){const e={...t};for(const n in o)Object.prototype.hasOwnProperty.call(t,n)||(e[n]=o[n]);return e}function tp(o){}const cc={normalizeStyles:PM,getDefaultStylesConfiguration:LM,getDefaultDropdownDefinitions:OM,warnInvalidStyle:tp,DEFAULT_OPTIONS:er,DEFAULT_ICONS:Jm,DEFAULT_DROPDOWN_DEFINITIONS:Xm};function VM(o){return(t,e,n)=>{if(!n.consumable.consume(e.item,t.name))return;const i=ep(e.attributeNewValue,o),r=ep(e.attributeOldValue,o),s=n.mapper.toViewElement(e.item),a=n.writer;r&&a.removeClass(r.className,s),i&&a.addClass(i.className,s)}}function HM(o){const t={imageInline:o.filter(e=>!e.isDefault&&e.modelElements.includes("imageInline")),imageBlock:o.filter(e=>!e.isDefault&&e.modelElements.includes("imageBlock"))};return(e,n,i)=>{if(!n.modelRange)return;const r=n.viewItem,s=Lt(n.modelRange.getItems());if(s&&i.schema.checkAttribute(s,"imageStyle"))for(const a of t[s.name])i.consumable.consume(r,{classes:a.className})&&i.writer.setAttribute("imageStyle",a.name,s)}}function ep(o,t){for(const e of t)if(e.name===o)return e}class np extends z{static get pluginName(){return"ImageStyleEditing"}static get requires(){return[Gt]}init(){const{normalizeStyles:t,getDefaultStylesConfiguration:e}=cc,n=this.editor,i=n.plugins.has("ImageBlockEditing"),r=n.plugins.has("ImageInlineEditing");n.config.define("image.styles",e(i,r)),this.normalizedStyles=t({configuredStyles:n.config.get("image.styles"),isBlockPluginLoaded:i,isInlinePluginLoaded:r}),this._setupConversion(i,r),this._setupPostFixer(),n.commands.add("imageStyle",new NM(n,this.normalizedStyles))}_setupConversion(t,e){const n=this.editor,i=n.model.schema,r=VM(this.normalizedStyles),s=HM(this.normalizedStyles);n.editing.downcastDispatcher.on("attribute:imageStyle",r),n.data.downcastDispatcher.on("attribute:imageStyle",r),t&&(i.extend("imageBlock",{allowAttributes:"imageStyle"}),n.data.upcastDispatcher.on("element:figure",s,{priority:"low"})),e&&(i.extend("imageInline",{allowAttributes:"imageStyle"}),n.data.upcastDispatcher.on("element:img",s,{priority:"low"}))}_setupPostFixer(){const t=this.editor,e=t.model.document,n=t.plugins.get(Gt),i=new Map(this.normalizedStyles.map(r=>[r.name,r]));e.registerPostFixer(r=>{let s=!1;for(const a of e.differ.getChanges())if(a.type=="insert"||a.type=="attribute"&&a.attributeKey=="imageStyle"){let c=a.type=="insert"?a.position.nodeAfter:a.range.start.nodeAfter;if(c&&c.is("element","paragraph")&&c.childCount>0&&(c=c.getChild(0)),!n.isImage(c))continue;const l=c.getAttribute("imageStyle");if(!l)continue;const d=i.get(l);(!d||!d.modelElements.includes(c.name))&&(r.removeAttribute("imageStyle",c),s=!0)}return s})}}var op=L(3534),lc={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};lc.insert="head",lc.singleton=!0,R()(op.Z,lc),op.Z.locals;class UM extends z{static get requires(){return[np]}static get pluginName(){return"ImageStyleUI"}get localizedDefaultStylesTitles(){const t=this.editor.t;return{"Wrap text":t("Wrap text"),"Break text":t("Break text"),"In line":t("In line"),"Full size image":t("Full size image"),"Side image":t("Side image"),"Left aligned image":t("Left aligned image"),"Centered image":t("Centered image"),"Right aligned image":t("Right aligned image")}}init(){const t=this.editor.plugins,e=this.editor.config.get("image.toolbar")||[],n=t.get("ImageStyleEditing"),i=ip(n.normalizedStyles,this.localizedDefaultStylesTitles);for(const s of i)this._createButton(s);const r=ip([...e.filter(Ct),...cc.getDefaultDropdownDefinitions(t)],this.localizedDefaultStylesTitles);for(const s of r)this._createDropdown(s,i)}_createDropdown(t,e){const n=this.editor.ui.componentFactory;n.add(t.name,i=>{let r;const{defaultItem:s,items:a,title:c}=t,l=a.filter(p=>e.find(({name:b})=>rp(b)===p)).map(p=>{const b=n.create(p);return p===s&&(r=b),b});a.length!==l.length&&cc.warnInvalidStyle({dropdown:t});const d=le(i,Bi),u=d.buttonView,f=u.arrowView;return $s(d,l,{enableActiveItemFocusOnDropdownOpen:!0}),u.set({label:sp(c,r.label),class:null,tooltip:!0}),f.unbind("label"),f.set({label:c}),u.bind("icon").toMany(l,"isOn",(...p)=>{const b=p.findIndex(cn);return b<0?r.icon:l[b].icon}),u.bind("label").toMany(l,"isOn",(...p)=>{const b=p.findIndex(cn);return sp(c,b<0?r.label:l[b].label)}),u.bind("isOn").toMany(l,"isOn",(...p)=>p.some(cn)),u.bind("class").toMany(l,"isOn",(...p)=>p.some(cn)?"ck-splitbutton_flatten":void 0),u.on("execute",()=>{l.some(({isOn:p})=>p)?d.isOpen=!d.isOpen:r.fire("execute")}),d.bind("isEnabled").toMany(l,"isEnabled",(...p)=>p.some(cn)),this.listenTo(d,"execute",()=>{this.editor.editing.view.focus()}),d})}_createButton(t){const e=t.name;this.editor.ui.componentFactory.add(rp(e),n=>{const i=this.editor.commands.get("imageStyle"),r=new et(n);return r.set({label:t.title,icon:t.icon,tooltip:!0,isToggleable:!0}),r.bind("isEnabled").to(i,"isEnabled"),r.bind("isOn").to(i,"value",s=>s===e),r.on("execute",this._executeCommand.bind(this,e)),r})}_executeCommand(t){this.editor.execute("imageStyle",{value:t}),this.editor.editing.view.focus()}}function ip(o,t){for(const e of o)t[e.title]&&(e.title=t[e.title]);return o}function rp(o){return`imageStyle:${o}`}function sp(o,t){return(o?o+": ":"")+t}class GM extends z{static get requires(){return[np,UM]}static get pluginName(){return"ImageStyle"}}class qM extends z{static get requires(){return[$i,Gt]}static get pluginName(){return"ImageToolbar"}afterInit(){const t=this.editor,e=t.t,n=t.plugins.get($i),i=t.plugins.get("ImageUtils");n.register("image",{ariaLabel:e("Image toolbar"),items:WM(t.config.get("image.toolbar")||[]),getRelatedElement:r=>i.getClosestSelectedImageWidget(r)})}}function WM(o){return o.map(t=>Ct(t)?t.name:t)}class ZM extends z{static get pluginName(){return"IndentEditing"}init(){const t=this.editor;t.commands.add("indent",new lu(t)),t.commands.add("outdent",new lu(t))}}class $M extends z{static get pluginName(){return"IndentUI"}init(){const t=this.editor,e=t.locale,n=t.t,i=e.uiLanguageDirection=="ltr"?Q.indent:Q.outdent,r=e.uiLanguageDirection=="ltr"?Q.outdent:Q.indent;this._defineButton("indent",n("Increase indent"),i),this._defineButton("outdent",n("Decrease indent"),r)}_defineButton(t,e,n){const i=this.editor;i.ui.componentFactory.add(t,r=>{const s=i.commands.get(t),a=new et(r);return a.set({label:e,icon:n,tooltip:!0}),a.bind("isEnabled").to(s,"isEnabled"),this.listenTo(a,"execute",()=>{i.execute(t),i.editing.view.focus()}),a})}}class KM extends z{static get pluginName(){return"Indent"}static get requires(){return[ZM,$M]}}class YM{constructor(){this._definitions=new Set}get length(){return this._definitions.size}add(t){Array.isArray(t)?t.forEach(e=>this._definitions.add(e)):this._definitions.add(t)}getDispatcher(){return t=>{t.on("attribute:linkHref",(e,n,i)=>{if(!i.consumable.test(n.item,"attribute:linkHref")||!(n.item.is("selection")||i.schema.isInline(n.item)))return;const r=i.writer,s=r.document.selection;for(const a of this._definitions){const c=r.createAttributeElement("a",a.attributes,{priority:5});a.classes&&r.addClass(a.classes,c);for(const l in a.styles)r.setStyle(l,a.styles[l],c);r.setCustomProperty("link",!0,c),a.callback(n.attributeNewValue)?n.item.is("selection")?r.wrap(s.getFirstRange(),c):r.wrap(i.mapper.toViewRange(n.range),c):r.unwrap(i.mapper.toViewRange(n.range),c)}},{priority:"high"})}}getDispatcherForLinkedImage(){return t=>{t.on("attribute:linkHref:imageBlock",(e,n,{writer:i,mapper:r})=>{const s=r.toViewElement(n.item),a=Array.from(s.getChildren()).find(c=>c.is("element","a"));for(const c of this._definitions){const l=Ie(c.attributes);if(c.callback(n.attributeNewValue)){for(const[d,u]of l)d==="class"?i.addClass(u,a):i.setAttribute(d,u,a);c.classes&&i.addClass(c.classes,a);for(const d in c.styles)i.setStyle(d,c.styles[d],a)}else{for(const[d,u]of l)d==="class"?i.removeClass(u,a):i.removeAttribute(d,a);c.classes&&i.removeClass(c.classes,a);for(const d in c.styles)i.removeStyle(d,a)}}})}}}function QM(o,t,e){var n=o.length;return e=e===void 0?n:e,!t&&e>=n?o:_u(o,t,e)}const JM=QM;var XM="\\ud800-\\udfff",tB="\\u0300-\\u036f",eB="\\ufe20-\\ufe2f",nB="\\u20d0-\\u20ff",oB=tB+eB+nB,iB="\\ufe0e\\ufe0f",rB="\\u200d",sB=RegExp("["+rB+XM+oB+iB+"]");function aB(o){return sB.test(o)}const ap=aB;function cB(o){return o.split("")}const lB=cB;var cp="\\ud800-\\udfff",dB="\\u0300-\\u036f",uB="\\ufe20-\\ufe2f",hB="\\u20d0-\\u20ff",gB=dB+uB+hB,fB="\\ufe0e\\ufe0f",mB="["+cp+"]",dc="["+gB+"]",uc="\\ud83c[\\udffb-\\udfff]",pB="(?:"+dc+"|"+uc+")",lp="[^"+cp+"]",dp="(?:\\ud83c[\\udde6-\\uddff]){2}",up="[\\ud800-\\udbff][\\udc00-\\udfff]",kB="\\u200d",hp=pB+"?",gp="["+fB+"]?",bB="(?:"+kB+"(?:"+[lp,dp,up].join("|")+")"+gp+hp+")*",wB=gp+hp+bB,AB="(?:"+[lp+dc+"?",dc,dp,up,mB].join("|")+")",CB=RegExp(uc+"(?="+uc+")|"+AB+wB,"g");function _B(o){return o.match(CB)||[]}const vB=_B;function yB(o){return ap(o)?vB(o):lB(o)}const xB=yB;function EB(o){return function(t){t=ds(t);var e=ap(t)?xB(t):void 0,n=e?e[0]:t.charAt(0),i=e?JM(e,1).join(""):t.slice(1);return n[o]()+i}}var DB=EB("toUpperCase");const TB=DB,SB=/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205f\u3000]/g,IB=/^(?:(?:https?|ftps?|mailto):|[^a-z]|[a-z+.-]+(?:[^a-z+.:-]|$))/i,MB=/^[\S]+@((?![-_])(?:[-\w\u00a1-\uffff]{0,63}[^-_]\.))+(?:[a-z\u00a1-\uffff]{2,})$/i,BB=/^((\w+:(\/{2,})?)|(\W))/i,hc="Ctrl+K";function NB(o){return o.is("attributeElement")&&!!o.getCustomProperty("link")}function fp(o,{writer:t}){const e=t.createAttributeElement("a",{href:o},{priority:5});return t.setCustomProperty("link",!0,e),e}function mp(o){const t=String(o);return zB(t)?t:"#"}function zB(o){return!!o.replace(SB,"").match(IB)}function PB(o,t){const e={"Open in a new tab":o("Open in a new tab"),Downloadable:o("Downloadable")};return t.forEach(n=>("label"in n&&e[n.label]&&(n.label=e[n.label]),n)),t}function LB(o){const t=[];if(o)for(const[e,n]of Object.entries(o)){const i=Object.assign({},n,{id:`link${TB(e)}`});t.push(i)}return t}function gc(o,t){return o?t.checkAttribute(o.name,"linkHref"):!1}function OB(o){return MB.test(o)}function fc(o,t){const e=OB(o)?"mailto:":t,n=!!e&&!pp(o);return o&&n?e+o:o}function pp(o){return BB.test(o)}function kp(o){window.open(o,"_blank","noopener")}class RB extends X{constructor(){super(...arguments),this.manualDecorators=new qt,this.automaticDecorators=new YM}restoreManualDecoratorStates(){for(const t of this.manualDecorators)t.value=this._getDecoratorStateFromModel(t.id)}refresh(){const t=this.editor.model,e=t.document.selection,n=e.getSelectedElement()||Lt(e.getSelectedBlocks());gc(n,t.schema)?(this.value=n.getAttribute("linkHref"),this.isEnabled=t.schema.checkAttribute(n,"linkHref")):(this.value=e.getAttribute("linkHref"),this.isEnabled=t.schema.checkAttributeInSelection(e,"linkHref"));for(const i of this.manualDecorators)i.value=this._getDecoratorStateFromModel(i.id)}execute(t,e={}){const n=this.editor.model,i=n.document.selection,r=[],s=[];for(const a in e)e[a]?r.push(a):s.push(a);n.change(a=>{if(i.isCollapsed){const c=i.getFirstPosition();if(i.hasAttribute("linkHref")){const l=bp(i);let d=Ui(c,"linkHref",i.getAttribute("linkHref"),n);i.getAttribute("linkHref")===l&&(d=this._updateLinkContent(n,a,d,t)),a.setAttribute("linkHref",t,d),r.forEach(u=>{a.setAttribute(u,!0,d)}),s.forEach(u=>{a.removeAttribute(u,d)}),a.setSelection(a.createPositionAfter(d.end.nodeBefore))}else if(t!==""){const l=Ie(i.getAttributes());l.set("linkHref",t),r.forEach(u=>{l.set(u,!0)});const{end:d}=n.insertContent(a.createText(t,l),c);a.setSelection(d)}["linkHref",...r,...s].forEach(l=>{a.removeSelectionAttribute(l)})}else{const c=n.schema.getValidRanges(i.getRanges(),"linkHref"),l=[];for(const u of i.getSelectedBlocks())n.schema.checkAttribute(u,"linkHref")&&l.push(a.createRangeOn(u));const d=l.slice();for(const u of c)this._isRangeToUpdate(u,l)&&d.push(u);for(const u of d){let f=u;if(d.length===1){const p=bp(i);i.getAttribute("linkHref")===p&&(f=this._updateLinkContent(n,a,u,t),a.setSelection(a.createSelection(f)))}a.setAttribute("linkHref",t,f),r.forEach(p=>{a.setAttribute(p,!0,f)}),s.forEach(p=>{a.removeAttribute(p,f)})}}})}_getDecoratorStateFromModel(t){const e=this.editor.model,n=e.document.selection,i=n.getSelectedElement();return gc(i,e.schema)?i.getAttribute(t):n.getAttribute(t)}_isRangeToUpdate(t,e){for(const n of e)if(n.containsRange(t))return!1;return!0}_updateLinkContent(t,e,n,i){const r=e.createText(i,{linkHref:i});return t.insertContent(r,n)}}function bp(o){if(o.isCollapsed){const t=o.getFirstPosition();return t.textNode&&t.textNode.data}else{const t=Array.from(o.getFirstRange().getItems());if(t.length>1)return null;const e=t[0];return e.is("$text")||e.is("$textProxy")?e.data:null}}class jB extends X{refresh(){const t=this.editor.model,e=t.document.selection,n=e.getSelectedElement();gc(n,t.schema)?this.isEnabled=t.schema.checkAttribute(n,"linkHref"):this.isEnabled=t.schema.checkAttributeInSelection(e,"linkHref")}execute(){const t=this.editor,e=this.editor.model,n=e.document.selection,i=t.commands.get("link");e.change(r=>{const s=n.isCollapsed?[Ui(n.getFirstPosition(),"linkHref",n.getAttribute("linkHref"),e)]:e.schema.getValidRanges(n.getRanges(),"linkHref");for(const a of s)if(r.removeAttribute("linkHref",a),i)for(const c of i.manualDecorators)r.removeAttribute(c.id,a)})}}class FB extends at(){constructor({id:t,label:e,attributes:n,classes:i,styles:r,defaultValue:s}){super(),this.id=t,this.set("value",void 0),this.defaultValue=s,this.label=e,this.attributes=n,this.classes=i,this.styles=r}_createPattern(){return{attributes:this.attributes,classes:this.classes,styles:this.styles}}}var wp=L(3925),mc={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};mc.insert="head",mc.singleton=!0,R()(wp.Z,mc),wp.Z.locals;const VB="ck-link_selected",Ap="automatic",HB="manual",UB=/^(https?:)?\/\//;class Cp extends z{static get pluginName(){return"LinkEditing"}static get requires(){return[mf,cf,we]}constructor(t){super(t),t.config.define("link",{allowCreatingEmptyLinks:!1,addTargetToExternalLinks:!1})}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:"linkHref"}),t.conversion.for("dataDowncast").attributeToElement({model:"linkHref",view:fp}),t.conversion.for("editingDowncast").attributeToElement({model:"linkHref",view:(i,r)=>fp(mp(i),r)}),t.conversion.for("upcast").elementToAttribute({view:{name:"a",attributes:{href:!0}},model:{key:"linkHref",value:i=>i.getAttribute("href")}}),t.commands.add("link",new RB(t)),t.commands.add("unlink",new jB(t));const e=PB(t.t,LB(t.config.get("link.decorators")));this._enableAutomaticDecorators(e.filter(i=>i.mode===Ap)),this._enableManualDecorators(e.filter(i=>i.mode===HB)),t.plugins.get(mf).registerAttribute("linkHref"),_T(t,"linkHref","a",VB),this._enableLinkOpen(),this._enableSelectionAttributesFixer(),this._enableClipboardIntegration()}_enableAutomaticDecorators(t){const e=this.editor,i=e.commands.get("link").automaticDecorators;e.config.get("link.addTargetToExternalLinks")&&i.add({id:"linkIsExternal",mode:Ap,callback:r=>!!r&&UB.test(r),attributes:{target:"_blank",rel:"noopener noreferrer"}}),i.add(t),i.length&&e.conversion.for("downcast").add(i.getDispatcher())}_enableManualDecorators(t){if(!t.length)return;const e=this.editor,i=e.commands.get("link").manualDecorators;t.forEach(r=>{e.model.schema.extend("$text",{allowAttributes:r.id});const s=new FB(r);i.add(s),e.conversion.for("downcast").attributeToElement({model:s.id,view:(a,{writer:c,schema:l},{item:d})=>{if((d.is("selection")||l.isInline(d))&&a){const u=c.createAttributeElement("a",s.attributes,{priority:5});s.classes&&c.addClass(s.classes,u);for(const f in s.styles)c.setStyle(f,s.styles[f],u);return c.setCustomProperty("link",!0,u),u}}}),e.conversion.for("upcast").elementToAttribute({view:{name:"a",...s._createPattern()},model:{key:s.id}})})}_enableLinkOpen(){const t=this.editor,n=t.editing.view.document;this.listenTo(n,"click",(i,r)=>{if(!(g.isMac?r.domEvent.metaKey:r.domEvent.ctrlKey))return;let a=r.domTarget;if(a.tagName.toLowerCase()!="a"&&(a=a.closest("a")),!a)return;const c=a.getAttribute("href");c&&(i.stop(),r.preventDefault(),kp(c))},{context:"$capture"}),this.listenTo(n,"keydown",(i,r)=>{const a=t.commands.get("link").value;a&&r.keyCode===nt.enter&&r.altKey&&(i.stop(),kp(a))})}_enableSelectionAttributesFixer(){const e=this.editor.model,n=e.document.selection;this.listenTo(n,"change:attribute",(i,{attributeKeys:r})=>{!r.includes("linkHref")||n.hasAttribute("linkHref")||e.change(s=>{GB(s,qB(e.schema))})})}_enableClipboardIntegration(){const t=this.editor,e=t.model,n=this.editor.config.get("link.defaultProtocol");n&&this.listenTo(t.plugins.get("ClipboardPipeline"),"contentInsertion",(i,r)=>{e.change(s=>{const a=s.createRangeIn(r.content);for(const c of a.getItems())if(c.hasAttribute("linkHref")){const l=fc(c.getAttribute("linkHref"),n);s.setAttribute("linkHref",l,c)}})})}}function GB(o,t){o.removeSelectionAttribute("linkHref");for(const e of t)o.removeSelectionAttribute(e)}function qB(o){return o.getDefinition("$text").allowAttributes.filter(e=>e.startsWith("link"))}var _p=L(4874),pc={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};pc.insert="head",pc.singleton=!0,R()(_p.Z,pc),_p.Z.locals;class WB extends G{constructor(t,e){super(t),this.focusTracker=new St,this.keystrokes=new Ft,this._focusables=new Jt;const n=t.t;this.urlInputView=this._createUrlInput(),this.saveButtonView=this._createButton(n("Save"),Q.check,"ck-button-save"),this.saveButtonView.type="submit",this.cancelButtonView=this._createButton(n("Cancel"),Q.cancel,"ck-button-cancel","cancel"),this._manualDecoratorSwitches=this._createManualDecoratorSwitches(e),this.children=this._createFormChildren(e.manualDecorators),this._focusCycler=new Xt({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}});const i=["ck","ck-link-form","ck-responsive-form"];e.manualDecorators.length&&i.push("ck-link-form_layout-vertical","ck-vertical-form"),this.setTemplate({tag:"form",attributes:{class:i,tabindex:"-1"},children:this.children})}getDecoratorSwitchesState(){return Array.from(this._manualDecoratorSwitches).reduce((t,e)=>(t[e.name]=e.isOn,t),{})}render(){super.render(),h({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 t=this.locale.t,e=new go(this.locale,Mo);return e.label=t("Link URL"),e}_createButton(t,e,n,i){const r=new et(this.locale);return r.set({label:t,icon:e,tooltip:!0}),r.extendTemplate({attributes:{class:n}}),i&&r.delegate("execute").to(this,i),r}_createManualDecoratorSwitches(t){const e=this.createCollection();for(const n of t.manualDecorators){const i=new di(this.locale);i.set({name:n.id,label:n.label,withText:!0}),i.bind("isOn").toMany([n,t],"value",(r,s)=>s===void 0&&r===void 0?!!n.defaultValue:!!r),i.on("execute",()=>{n.set("value",!i.isOn)}),e.add(i)}return e}_createFormChildren(t){const e=this.createCollection();if(e.add(this.urlInputView),t.length){const n=new G;n.setTemplate({tag:"ul",children:this._manualDecoratorSwitches.map(i=>({tag:"li",children:[i],attributes:{class:["ck","ck-list__item"]}})),attributes:{class:["ck","ck-reset","ck-list"]}}),e.add(n)}return e.add(this.saveButtonView),e.add(this.cancelButtonView),e}}var vp=L(7536),kc={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};kc.insert="head",kc.singleton=!0,R()(vp.Z,kc),vp.Z.locals;const ZB='';class $B extends G{constructor(t){super(t),this.focusTracker=new St,this.keystrokes=new Ft,this._focusables=new Jt;const e=t.t;this.previewButtonView=this._createPreviewButton(),this.unlinkButtonView=this._createButton(e("Unlink"),ZB,"unlink"),this.editButtonView=this._createButton(e("Edit link"),Q.pencil,"edit"),this.set("href",void 0),this._focusCycler=new Xt({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(t,e,n){const i=new et(this.locale);return i.set({label:t,icon:e,tooltip:!0}),i.delegate("execute").to(this,n),i}_createPreviewButton(){const t=new et(this.locale),e=this.bindTemplate,n=this.t;return t.set({withText:!0,tooltip:n("Open link in new tab")}),t.extendTemplate({attributes:{class:["ck","ck-link-actions__preview"],href:e.to("href",i=>i&&mp(i)),target:"_blank",rel:"noopener noreferrer"}}),t.bind("label").to(this,"href",i=>i||n("This link has no URL")),t.bind("isEnabled").to(this,"href",i=>!!i),t.template.tag="a",t.template.eventListeners={},t}}const KB='',De="link-ui";class YB extends z{constructor(){super(...arguments),this.actionsView=null,this.formView=null}static get requires(){return[ji]}static get pluginName(){return"LinkUI"}init(){const t=this.editor;t.editing.view.addObserver(YE),this._balloon=t.plugins.get(ji),this._createToolbarLinkButton(),this._enableBalloonActivators(),t.conversion.for("editingDowncast").markerToHighlight({model:De,view:{classes:["ck-fake-link-selection"]}}),t.conversion.for("editingDowncast").markerToElement({model:De,view:{name:"span",classes:["ck-fake-link-selection","ck-fake-link-selection_collapsed"]}})}destroy(){super.destroy(),this.formView&&this.formView.destroy(),this.actionsView&&this.actionsView.destroy()}_createViews(){this.actionsView=this._createActionsView(),this.formView=this._createFormView(),this._enableUserBalloonInteractions()}_createActionsView(){const t=this.editor,e=new $B(t.locale),n=t.commands.get("link"),i=t.commands.get("unlink");return e.bind("href").to(n,"value"),e.editButtonView.bind("isEnabled").to(n),e.unlinkButtonView.bind("isEnabled").to(i),this.listenTo(e,"edit",()=>{this._addFormView()}),this.listenTo(e,"unlink",()=>{t.execute("unlink"),this._hideUI()}),e.keystrokes.set("Esc",(r,s)=>{this._hideUI(),s()}),e.keystrokes.set(hc,(r,s)=>{this._addFormView(),s()}),e}_createFormView(){const t=this.editor,e=t.commands.get("link"),n=t.config.get("link.defaultProtocol"),i=t.config.get("link.allowCreatingEmptyLinks"),r=new(y(WB))(t.locale,e);return r.urlInputView.fieldView.bind("value").to(e,"value"),r.urlInputView.bind("isEnabled").to(e,"isEnabled"),r.saveButtonView.bind("isEnabled").to(e,"isEnabled",r.urlInputView,"isEmpty",(s,a)=>s&&(i||!a)),this.listenTo(r,"submit",()=>{const{value:s}=r.urlInputView.fieldView.element,a=fc(s,n);t.execute("link",a,r.getDecoratorSwitchesState()),this._closeFormView()}),this.listenTo(r,"cancel",()=>{this._closeFormView()}),r.keystrokes.set("Esc",(s,a)=>{this._closeFormView(),a()}),r}_createToolbarLinkButton(){const t=this.editor,e=t.commands.get("link"),n=t.t;t.ui.componentFactory.add("link",i=>{const r=new et(i);return r.isEnabled=!0,r.label=n("Link"),r.icon=KB,r.keystroke=hc,r.tooltip=!0,r.isToggleable=!0,r.bind("isEnabled").to(e,"isEnabled"),r.bind("isOn").to(e,"value",s=>!!s),this.listenTo(r,"execute",()=>this._showUI(!0)),r})}_enableBalloonActivators(){const t=this.editor,e=t.editing.view.document;this.listenTo(e,"click",()=>{this._getSelectedLinkElement()&&this._showUI()}),t.keystrokes.set(hc,(n,i)=>{i(),t.commands.get("link").isEnabled&&this._showUI(!0)})}_enableUserBalloonInteractions(){this.editor.keystrokes.set("Tab",(t,e)=>{this._areActionsVisible&&!this.actionsView.focusTracker.isFocused&&(this.actionsView.focus(),e())},{priority:"high"}),this.editor.keystrokes.set("Esc",(t,e)=>{this._isUIVisible&&(this._hideUI(),e())}),C({emitter:this.formView,activator:()=>this._isUIInPanel,contextElements:()=>[this._balloon.view.element],callback:()=>this._hideUI()})}_addActionsView(){this.actionsView||this._createViews(),!this._areActionsInPanel&&this._balloon.add({view:this.actionsView,position:this._getBalloonPositionData()})}_addFormView(){if(this.formView||this._createViews(),this._isFormInPanel)return;const e=this.editor.commands.get("link");this.formView.disableCssTransitions(),this._balloon.add({view:this.formView,position:this._getBalloonPositionData()}),this.formView.urlInputView.fieldView.value=e.value||"",this._balloon.visibleView===this.formView&&this.formView.urlInputView.fieldView.select(),this.formView.enableCssTransitions()}_closeFormView(){const t=this.editor.commands.get("link");t.restoreManualDecoratorStates(),t.value!==void 0?this._removeFormView():this._hideUI()}_removeFormView(){this._isFormInPanel&&(this.formView.saveButtonView.focus(),this.formView.urlInputView.fieldView.reset(),this._balloon.remove(this.formView),this.editor.editing.view.focus(),this._hideFakeVisualSelection())}_showUI(t=!1){this.formView||this._createViews(),this._getSelectedLinkElement()?(this._areActionsVisible?this._addFormView():this._addActionsView(),t&&this._balloon.showStack("main")):(this._showFakeVisualSelection(),this._addActionsView(),t&&this._balloon.showStack("main"),this._addFormView()),this._startUpdatingUI()}_hideUI(){if(!this._isUIInPanel)return;const t=this.editor;this.stopListening(t.ui,"update"),this.stopListening(this._balloon,"change:visibleView"),t.editing.view.focus(),this._removeFormView(),this._balloon.remove(this.actionsView),this._hideFakeVisualSelection()}_startUpdatingUI(){const t=this.editor,e=t.editing.view.document;let n=this._getSelectedLinkElement(),i=s();const r=()=>{const a=this._getSelectedLinkElement(),c=s();n&&!a||!n&&c!==i?this._hideUI():this._isUIVisible&&this._balloon.updatePosition(this._getBalloonPositionData()),n=a,i=c};function s(){return e.selection.focus.getAncestors().reverse().find(a=>a.is("element"))}this.listenTo(t.ui,"update",r),this.listenTo(this._balloon,"change:visibleView",r)}get _isFormInPanel(){return!!this.formView&&this._balloon.hasView(this.formView)}get _areActionsInPanel(){return!!this.actionsView&&this._balloon.hasView(this.actionsView)}get _areActionsVisible(){return!!this.actionsView&&this._balloon.visibleView===this.actionsView}get _isUIInPanel(){return this._isFormInPanel||this._areActionsInPanel}get _isUIVisible(){const t=this._balloon.visibleView;return!!this.formView&&t==this.formView||this._areActionsVisible}_getBalloonPositionData(){const t=this.editor.editing.view,e=this.editor.model,n=t.document;let i;if(e.markers.has(De)){const r=Array.from(this.editor.editing.mapper.markerNameToElements(De)),s=t.createRange(t.createPositionBefore(r[0]),t.createPositionAfter(r[r.length-1]));i=t.domConverter.viewRangeToDom(s)}else i=()=>{const r=this._getSelectedLinkElement();return r?t.domConverter.mapViewToDom(r):t.domConverter.viewRangeToDom(n.selection.getFirstRange())};return{target:i}}_getSelectedLinkElement(){const t=this.editor.editing.view,e=t.document.selection,n=e.getSelectedElement();if(e.isCollapsed||n&&It(n))return bc(e.getFirstPosition());{const i=e.getFirstRange().getTrimmed(),r=bc(i.start),s=bc(i.end);return!r||r!=s?null:t.createRangeIn(r).getTrimmed().isEqual(i)?r:null}}_showFakeVisualSelection(){const t=this.editor.model;t.change(e=>{const n=t.document.selection.getFirstRange();if(t.markers.has(De))e.updateMarker(De,{range:n});else if(n.start.isAtEnd){const i=n.start.getLastMatchingPosition(({item:r})=>!t.schema.isContent(r),{boundaries:n});e.addMarker(De,{usingOperation:!1,affectsData:!1,range:e.createRange(i,n.end)})}else e.addMarker(De,{usingOperation:!1,affectsData:!1,range:n})})}_hideFakeVisualSelection(){const t=this.editor.model;t.markers.has(De)&&t.change(e=>{e.removeMarker(De)})}}function bc(o){return o.getAncestors().find(t=>NB(t))||null}const QB=4,yp=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"),JB=2;class XB extends z{static get requires(){return[Le,Cp]}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(),this._enablePasteLinking()}_expandLinkRange(t,e){return e.textNode&&e.textNode.hasAttribute("linkHref")?Ui(e,"linkHref",e.textNode.getAttribute("linkHref"),t):null}_selectEntireLinks(t,e){const i=this.editor.model,r=i.document.selection,s=r.getFirstPosition(),a=r.getLastPosition();let c=e.getJoined(this._expandLinkRange(i,s)||e);c&&(c=c.getJoined(this._expandLinkRange(i,a)||e)),c&&(c.start.isBefore(s)||c.end.isAfter(a))&&t.setSelection(c)}_enablePasteLinking(){const t=this.editor,e=t.model,n=e.document.selection,i=t.plugins.get("ClipboardPipeline"),r=t.commands.get("link");i.on("inputTransformation",(s,a)=>{if(!this.isEnabled||!r.isEnabled||n.isCollapsed||n.rangeCount>1)return;const c=n.getFirstRange(),l=a.dataTransfer.getData("text/plain");if(!l)return;const d=l.match(yp);d&&d[2]===l&&(e.change(u=>{this._selectEntireLinks(u,c),r.execute(l)}),s.stop())},{priority:"high"})}_enableTypingHandling(){const t=this.editor,e=new ff(t.model,n=>{if(!t3(n))return;const i=xp(n.substr(0,n.length-1));if(i)return{url:i}});e.on("matched:data",(n,i)=>{const{batch:r,range:s,url:a}=i;if(!r.isTyping)return;const c=s.end.getShiftedBy(-1),l=c.getShiftedBy(-a.length),d=t.model.createRange(l,c);this._applyAutoLink(a,d)}),e.bind("isEnabled").to(this)}_enableEnterHandling(){const t=this.editor,e=t.model,n=t.commands.get("enter");n&&n.on("execute",()=>{const i=e.document.selection.getFirstPosition();if(!i.parent.previousSibling)return;const r=e.createRangeIn(i.parent.previousSibling);this._checkAndApplyAutoLinkOnRange(r)})}_enableShiftEnterHandling(){const t=this.editor,e=t.model,n=t.commands.get("shiftEnter");n&&n.on("execute",()=>{const i=e.document.selection.getFirstPosition(),r=e.createRange(e.createPositionAt(i.parent,0),i.getShiftedBy(-1));this._checkAndApplyAutoLinkOnRange(r)})}_checkAndApplyAutoLinkOnRange(t){const e=this.editor.model,{text:n,range:i}=gf(t,e),r=xp(n);if(r){const s=e.createRange(i.end.getShiftedBy(-r.length),i.end);this._applyAutoLink(r,s)}}_applyAutoLink(t,e){const n=this.editor.model,i=this.editor.config.get("link.defaultProtocol"),r=fc(t,i);!this.isEnabled||!e3(e,n)||!pp(r)||n3(e)||this._persistAutoLink(r,e)}_persistAutoLink(t,e){const n=this.editor.model,i=this.editor.plugins.get("Delete");n.enqueueChange(r=>{r.setAttribute("linkHref",t,e),n.enqueueChange(()=>{i.requestUndoOnBackspace()})})}}function t3(o){return o.length>QB&&o[o.length-1]===" "&&o[o.length-2]!==" "}function xp(o){const t=yp.exec(o);return t?t[JB]:null}function e3(o,t){return t.schema.checkAttributeInSelection(t.createSelection(o),"linkHref")}function n3(o){const t=o.start.nodeAfter;return!!t&&t.hasAttribute("linkHref")}class o3 extends z{static get requires(){return[Cp,YB,XB]}static get pluginName(){return"Link"}}var Ep=L(4330),wc={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};wc.insert="head",wc.singleton=!0,R()(Ep.Z,wc),Ep.Z.locals;class he{constructor(t,e){this._startElement=t,this._referenceIndent=t.getAttribute("listIndent"),this._isForward=e.direction=="forward",this._includeSelf=!!e.includeSelf,this._sameAttributes=bt(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 Lt(i)}*[Symbol.iterator](){const t=[];for(const{node:e}of Vo(this._getStartNode(),this._isForward?"forward":"backward")){const n=e.getAttribute("listIndent");if(nthis._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(i=>e.getAttribute(i)!==this._startElement.getAttribute(i)))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*Vo(o,t="forward"){const e=t=="forward",n=[];let i=null;for(;zt(o);){let r=null;if(i){const s=o.getAttribute("listIndent"),a=i.getAttribute("listIndent");s>a?n[a]=i:ss.getAttribute("listIndent"))),r=new Map;for(const s of e)r.set(s,he.first(s,{lowerIndent:!0}));for(const s of e){if(n.has(s))continue;n.add(s);const a=s.getAttribute("listIndent")-1;if(a<0){nr(s,t);continue}if(s.getAttribute("listIndent")==i){const c=l3(s,r.get(s),t);for(const l of c)n.add(l);if(c.length)continue}t.setAttribute("listIndent",a,s)}return bn(n)}function nr(o,t){o=bt(o);for(const e of o)e.is("element","listItem")&&t.rename(e,"paragraph");for(const e of o)for(const n of e.getAttributeKeys())n.startsWith("list")&&t.removeAttribute(n,e);return o}function Uo(o){if(!o.length)return!1;const t=o[0].getAttribute("listItemId");return t?!o.some(e=>e.getAttribute("listItemId")!=t):!1}function c3(o,t){const e=[];let n=Number.POSITIVE_INFINITY;for(const{node:i}of Vo(o.nextSibling,"forward")){const r=i.getAttribute("listIndent");if(r==0)break;rt.root.rootName!=="$graveyard").sort((t,e)=>t.index-e.index)}function Go(o){const t=o.document.selection.getSelectedElement();return t&&o.schema.isObject(t)&&o.schema.isBlock(t)?t:null}function yc(o,t){return t.checkChild(o.parent,"listItem")&&t.checkChild(o,"$text")&&!t.isObject(o)}function l3(o,t,e){return Ye(t,{direction:"forward"}).pop().index>o.index?_c(o,t,e):[]}class Sp extends X{constructor(t,e){super(t),this._direction=e}refresh(){this.isEnabled=this._checkEnabled()}execute(){const t=this.editor.model,e=Ip(t.document.selection);t.change(n=>{const i=[];Uo(e)&&!kn(e[0])?(this._direction=="forward"&&i.push(...vc(e,n)),i.push(...Cc(e[0],n))):this._direction=="forward"?i.push(...vc(e,n,{expand:!0})):i.push(...a3(e,n));for(const r of i){if(!r.hasAttribute("listType"))continue;const s=he.first(r,{sameIndent:!0});s&&n.setAttribute("listType",s.getAttribute("listType"),r)}this._fireAfterExecute(i)})}_fireAfterExecute(t){this.fire("afterExecute",bn(new Set(t)))}_checkEnabled(){let t=Ip(this.editor.model.document.selection),e=t[0];if(!e)return!1;if(this._direction=="backward"||Uo(t)&&!kn(t[0]))return!0;t=Ho(t),e=t[0];const n=he.first(e,{sameIndent:!0});return n?n.getAttribute("listType")==e.getAttribute("listType"):!1}}function Ip(o){const t=Array.from(o.getSelectedBlocks()),e=t.findIndex(n=>!zt(n));return e!=-1&&(t.length=e),t}class Mp extends X{constructor(t,e){super(t),this.type=e}refresh(){this.value=this._getValue(),this.isEnabled=this._checkEnabled()}execute(t={}){const e=this.editor.model,n=e.document,i=Go(e),r=Array.from(n.selection.getSelectedBlocks()).filter(a=>e.schema.checkAttribute(a,"listType")||yc(a,e.schema)),s=t.forceValue!==void 0?!t.forceValue:this.value;e.change(a=>{if(s){const c=r[r.length-1],l=Ye(c,{direction:"forward"}),d=[];l.length>1&&d.push(...Cc(l[1],a)),d.push(...nr(r,a)),d.push(...c3(c,a)),this._fireAfterExecute(d)}else if((i||n.selection.isCollapsed)&&zt(r[0])){const c=Dp(i||r[0]);for(const l of c)a.setAttribute("listType",this.type,l);this._fireAfterExecute(c)}else{const c=[];for(const l of r)if(!l.hasAttribute("listType"))!l.is("element","listItem")&&yc(l,e.schema)&&a.rename(l,"listItem"),a.setAttributes({listIndent:0,listItemId:Qn.next(),listType:this.type},l),c.push(l);else for(const d of Ho(l,{withNested:!1}))d.getAttribute("listType")!=this.type&&(a.setAttribute("listType",this.type,d),c.push(d));this._fireAfterExecute(c)}})}_fireAfterExecute(t){this.fire("afterExecute",bn(new Set(t)))}_getValue(){const t=this.editor.model.document.selection,e=Array.from(t.getSelectedBlocks());if(!e.length)return!1;for(const n of e)if(n.getAttribute("listType")!=this.type)return!1;return!0}_checkEnabled(){const t=this.editor.model,e=t.schema,n=t.document.selection,i=Array.from(n.getSelectedBlocks());if(!i.length)return!1;if(this.value)return!0;for(const r of i)if(e.checkAttribute(r,"listType")||yc(r,e))return!0;return!1}}class Bp extends X{constructor(t,e){super(t),this._direction=e}refresh(){this.isEnabled=this._checkEnabled()}execute({shouldMergeOnBlocksContentLevel:t=!1}={}){const e=this.editor.model,n=e.document.selection,i=[];e.change(r=>{const{firstElement:s,lastElement:a}=this._getMergeSubjectElements(n,t),c=s.getAttribute("listIndent")||0,l=a.getAttribute("listIndent"),d=a.getAttribute("listItemId");if(c!=l){const u=r3(a);i.push(...vc([a,...u],r,{indentBy:c-l,expand:c{const n=Cc(this._getStartBlock(),e);this._fireAfterExecute(n)})}_fireAfterExecute(t){this.fire("afterExecute",bn(new Set(t)))}_checkEnabled(){const t=this.editor.model.document.selection,e=this._getStartBlock();return t.isCollapsed&&zt(e)&&!kn(e)}_getStartBlock(){const e=this.editor.model.document.selection.getFirstPosition().parent;return this._direction=="before"?e:e.nextSibling}}class d3 extends z{static get pluginName(){return"ListUtils"}expandListBlocksToCompleteList(t){return s3(t)}isFirstBlockOfListItem(t){return kn(t)}isListItemBlock(t){return zt(t)}expandListBlocksToCompleteItems(t,e={}){return Ho(t,e)}}function zp(o){return o.is("element","ol")||o.is("element","ul")}function or(o){return o.is("element","li")}function u3(o){let t=0,e=o.parent;for(;e;){if(or(e))t++;else{const n=e.previousSibling;n&&or(n)&&t++}e=e.parent}return t}function h3(o,t,e,n=Lp(e,t)){return o.createAttributeElement(Pp(e),null,{priority:2*t/100-100,id:n})}function g3(o,t,e){return o.createAttributeElement("li",null,{priority:(2*t+1)/100-100,id:e})}function Pp(o){return o=="numbered"?"ol":"ul"}function Lp(o,t){return`list-${o}-${t}`}function Ae(o,t){const e=o.nodeBefore;if(zt(e)){let n=e;for(const{node:i}of Vo(n,"backward"))if(n=i,t.has(n))return;t.set(e,n)}else{const n=o.nodeAfter;zt(n)&&t.set(n,n)}}function f3(o,t){let e=0,n=-1,i=null,r=!1;for(const{node:s}of o){const a=s.getAttribute("listIndent");if(a>e){let c;i===null?(i=a-e,c=e):(i>a&&(i=a),c=a-i),c>n+1&&(c=n+1),t.setAttribute("listIndent",c,s),r=!0,n=c}else i=null,e=a+1,n=a}return r}function m3(o,t,e){const n=new Set;let i=!1;for(const{node:r}of o){if(n.has(r))continue;let s=r.getAttribute("listType"),a=r.getAttribute("listItemId");if(t.has(a)&&(a=Qn.next()),t.add(a),r.is("element","listItem")){r.getAttribute("listItemId")!=a&&(e.setAttribute("listItemId",a,r),i=!0);continue}for(const c of Ye(r,{direction:"forward"}))n.add(c),c.getAttribute("listType")!=s&&(a=Qn.next(),s=c.getAttribute("listType")),c.getAttribute("listItemId")!=a&&(e.setAttribute("listItemId",a,c),i=!0)}return i}function p3(){return(o,t,e)=>{const{writer:n,schema:i}=e;if(!t.modelRange)return;const r=Array.from(t.modelRange.getItems({shallow:!0})).filter(u=>i.checkAttribute(u,"listItemId"));if(!r.length)return;const s=Qn.next(),a=u3(t.viewItem);let c=t.viewItem.parent&&t.viewItem.parent.is("element","ol")?"numbered":"bulleted";const l=r[0].getAttribute("listType");l&&(c=l);const d={listItemId:s,listIndent:a,listType:c};for(const u of r)u.hasAttribute("listItemId")||n.setAttributes(d,u);r.length>1&&r[1].getAttribute("listItemId")!=d.listItemId&&e.keepEmptyElement(r[0])}}function Op(){return(o,t,e)=>{if(!e.consumable.test(t.viewItem,{name:!0}))return;const n=new ze(t.viewItem.document);for(const i of Array.from(t.viewItem.getChildren()))!or(i)&&!zp(i)&&n.remove(i)}}function k3(o,t,e,n){return()=>{const a=o.document.differ.getChanges(),c=[],l=new Map,d=new Set;for(const u of a)if(u.type=="insert"&&u.name!="$text")Ae(u.position,l),u.attributes.has("listItemId")?d.add(u.position.nodeAfter):Ae(u.position.getShiftedBy(u.length),l);else if(u.type=="remove"&&u.attributes.has("listItemId"))Ae(u.position,l);else if(u.type=="attribute"){const f=u.range.start.nodeAfter;e.includes(u.attributeKey)?(Ae(u.range.start,l),u.attributeNewValue===null?(Ae(u.range.start.getShiftedBy(1),l),r(f)&&c.push(f)):d.add(f)):zt(f)&&r(f)&&c.push(f)}for(const u of l.values())c.push(...i(u,d));for(const u of new Set(c))t.reconvertItem(u)};function i(a,c){const l=[],d=new Set,u=[];for(const{node:f,previous:p}of Vo(a,"forward")){if(d.has(f))continue;const b=f.getAttribute("listIndent");p&&be.includes(M)));const T=Ye(f,{direction:"forward"});for(const M of T)d.add(M),(r(M,T)||s(M,u,c))&&l.push(M)}return l}function r(a,c){const l=t.mapper.toViewElement(a);if(!l)return!1;if(n.fire("checkElement",{modelElement:a,viewElement:l}))return!0;if(!a.is("element","paragraph")&&!a.is("element","listItem"))return!1;const u=Fp(a,e,c);return u&&l.is("element","p")?!0:!!(!u&&l.is("element","span"))}function s(a,c,l){if(l.has(a))return!1;const d=t.mapper.toViewElement(a);let u=c.length-1;for(let f=d.parent;!f.is("editableElement");f=f.parent){const p=or(f),b=zp(f);if(!b&&!p)continue;const T=`checkAttributes:${p?"item":"list"}`;if(n.fire(T,{viewElement:f,modelAttributes:c[u]}))break;if(b&&(u--,u<0))return!1}return!0}}function Rp(o,t,e,{dataPipeline:n}={}){const i=v3(o);return(r,s,a)=>{const{writer:c,mapper:l,consumable:d}=a,u=s.item;if(!o.includes(s.attributeKey)||!i(u,d))return;const f=b3(u,l,e);w3(f,c,l),C3(f,c);const p=A3(u,f,t,c,{dataPipeline:n});_3(u,p,t,c)}}function jp(o,{dataPipeline:t}={}){return(e,{writer:n})=>{if(!Fp(e,o))return null;if(!t)return n.createContainerElement("span",{class:"ck-list-bogus-paragraph"});const i=n.createContainerElement("p");return n.setCustomProperty("dataPipeline:transparentRendering",!0,i),i}}function b3(o,t,e){const n=e.createRangeOn(o);return t.toViewRange(n).getTrimmed().end.nodeBefore}function w3(o,t,e){for(;o.parent.is("attributeElement")&&o.parent.getCustomProperty("listItemWrapper");)t.unwrap(t.createRangeIn(o.parent),o.parent);const n=t.createPositionBefore(o).getWalker({direction:"backward"}),i=[];for(const{item:r}of n){if(r.is("element")&&e.toModelElement(r))break;r.is("element")&&r.getCustomProperty("listItemMarker")&&i.push(r)}for(const r of i)t.remove(r)}function A3(o,t,e,n,{dataPipeline:i}){let r=n.createRangeOn(t);if(!kn(o))return r;for(const s of e){if(s.scope!="itemMarker")continue;const a=s.createElement(n,o,{dataPipeline:i});if(!a||(n.setCustomProperty("listItemMarker",!0,a),n.insert(r.start,a),r=n.createRange(n.createPositionBefore(a),n.createPositionAfter(t)),!s.createWrapperElement||!s.canWrapElement))continue;const c=s.createWrapperElement(n,o,{dataPipeline:i});n.setCustomProperty("listItemWrapper",!0,c),s.canWrapElement(o)?r=n.wrap(r,c):(r=n.wrap(n.createRangeOn(a),c),r=n.createRange(r.start,n.createPositionAfter(t)))}return r}function C3(o,t){let e=o.parent;for(;e.is("attributeElement")&&["ul","ol","li"].includes(e.name);){const n=e.parent;t.unwrap(t.createRangeOn(o),e),e=n}}function _3(o,t,e,n){if(!o.hasAttribute("listIndent"))return;const i=o.getAttribute("listIndent");let r=o;for(let s=i;s>=0;s--){const a=g3(n,s,r.getAttribute("listItemId")),c=h3(n,s,r.getAttribute("listType"));for(const l of e)(l.scope=="list"||l.scope=="item")&&r.hasAttribute(l.attributeName)&&l.setAttributeOnDowncast(n,r.getAttribute(l.attributeName),l.scope=="list"?c:a);if(t=n.wrap(t,a),t=n.wrap(t,c),s==0||(r=he.first(r,{lowerIndent:!0}),!r))break}}function v3(o){return(t,e)=>{const n=[];for(const i of o)t.hasAttribute(i)&&n.push(`attribute:${i}`);return n.every(i=>e.test(t,i)!==!1)?(n.forEach(i=>e.consume(t,i)),!0):!1}}function Fp(o,t,e=Ac(o)){if(!zt(o))return!1;for(const n of o.getAttributeKeys())if(!n.startsWith("selection:")&&!t.includes(n))return!1;return e.length<2}var Vp=L(3190),xc={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};xc.insert="head",xc.singleton=!0,R()(Vp.Z,xc),Vp.Z.locals;var Hp=L(4784),Ec={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ec.insert="head",Ec.singleton=!0,R()(Hp.Z,Ec),Hp.Z.locals;const ir=["listType","listIndent","listItemId"];class y3 extends z{static get pluginName(){return"ListEditing"}static get requires(){return[qi,Le,d3,we]}constructor(t){super(t),this._downcastStrategies=[],t.config.define("list.multiBlock",!0)}init(){const t=this.editor,e=t.model,n=t.config.get("list.multiBlock");if(t.plugins.has("LegacyListEditing"))throw new w("list-feature-conflict",this,{conflictPlugin:"LegacyListEditing"});e.schema.register("$listItem",{allowAttributes:ir}),n?(e.schema.extend("$container",{allowAttributesOf:"$listItem"}),e.schema.extend("$block",{allowAttributesOf:"$listItem"}),e.schema.extend("$blockObject",{allowAttributesOf:"$listItem"})):e.schema.register("listItem",{inheritAllFrom:"$block",allowAttributesOf:"$listItem"});for(const i of ir)e.schema.setAttributeProperties(i,{copyOnReplace:!0});t.commands.add("numberedList",new Mp(t,"numbered")),t.commands.add("bulletedList",new Mp(t,"bulleted")),t.commands.add("indentList",new Sp(t,"forward")),t.commands.add("outdentList",new Sp(t,"backward")),t.commands.add("splitListItemBefore",new Np(t,"before")),t.commands.add("splitListItemAfter",new Np(t,"after")),n&&(t.commands.add("mergeListItemBackward",new Bp(t,"backward")),t.commands.add("mergeListItemForward",new Bp(t,"forward"))),this._setupDeleteIntegration(),this._setupEnterIntegration(),this._setupTabIntegration(),this._setupClipboardIntegration()}afterInit(){const e=this.editor.commands,n=e.get("indent"),i=e.get("outdent");n&&n.registerChildCommand(e.get("indentList"),{priority:"high"}),i&&i.registerChildCommand(e.get("outdentList"),{priority:"lowest"}),this._setupModelPostFixing(),this._setupConversion()}registerDowncastStrategy(t){this._downcastStrategies.push(t)}getListAttributeNames(){return[...ir,...this._downcastStrategies.map(t=>t.attributeName)]}_setupDeleteIntegration(){const t=this.editor,e=t.commands.get("mergeListItemBackward"),n=t.commands.get("mergeListItemForward");this.listenTo(t.editing.view.document,"delete",(i,r)=>{const s=t.model.document.selection;Go(t.model)||t.model.change(()=>{const a=s.getFirstPosition();if(s.isCollapsed&&r.direction=="backward"){if(!a.isAtStart)return;const c=a.parent;if(!zt(c))return;if(!he.first(c,{sameAttributes:"listType",sameIndent:!0})&&c.getAttribute("listIndent")===0)Tp(c)||t.execute("splitListItemAfter"),t.execute("outdentList");else{if(!e||!e.isEnabled)return;e.execute({shouldMergeOnBlocksContentLevel:Up(t.model,"backward")})}r.preventDefault(),i.stop()}else{if(s.isCollapsed&&!s.getLastPosition().isAtEnd||!n||!n.isEnabled)return;n.execute({shouldMergeOnBlocksContentLevel:Up(t.model,"forward")}),r.preventDefault(),i.stop()}})},{context:"li"})}_setupEnterIntegration(){const t=this.editor,e=t.model,n=t.commands,i=n.get("enter");this.listenTo(t.editing.view.document,"enter",(r,s)=>{const a=e.document,c=a.selection.getFirstPosition().parent;if(a.selection.isCollapsed&&zt(c)&&c.isEmpty&&!s.isSoft){const l=kn(c),d=Tp(c);l&&d?(t.execute("outdentList"),s.preventDefault(),r.stop()):l&&!d?(t.execute("splitListItemAfter"),s.preventDefault(),r.stop()):d&&(t.execute("splitListItemBefore"),s.preventDefault(),r.stop())}},{context:"li"}),this.listenTo(i,"afterExecute",()=>{const r=n.get("splitListItemBefore");if(r.refresh(),!r.isEnabled)return;const a=t.model.document.selection.getLastPosition().parent;Ac(a).length===2&&r.execute()})}_setupTabIntegration(){const t=this.editor;this.listenTo(t.editing.view.document,"tab",(e,n)=>{const i=n.shiftKey?"outdentList":"indentList";this.editor.commands.get(i).isEnabled&&(t.execute(i),n.stopPropagation(),n.preventDefault(),e.stop())},{context:"li"})}_setupConversion(){const t=this.editor,e=t.model,n=this.getListAttributeNames(),i=t.config.get("list.multiBlock"),r=i?"paragraph":"listItem";t.conversion.for("upcast").elementToElement({view:"li",model:(s,{writer:a})=>a.createElement(r,{listType:""})}).elementToElement({view:"p",model:(s,{writer:a})=>s.parent&&s.parent.is("element","li")?a.createElement(r,{listType:""}):null,converterPriority:"high"}).add(s=>{s.on("element:li",p3()),s.on("element:ul",Op(),{priority:"high"}),s.on("element:ol",Op(),{priority:"high"})}),i||t.conversion.for("downcast").elementToElement({model:"listItem",view:"p"}),t.conversion.for("editingDowncast").elementToElement({model:r,view:jp(n),converterPriority:"high"}).add(s=>{s.on("attribute",Rp(n,this._downcastStrategies,e))}),t.conversion.for("dataDowncast").elementToElement({model:r,view:jp(n,{dataPipeline:!0}),converterPriority:"high"}).add(s=>{s.on("attribute",Rp(n,this._downcastStrategies,e,{dataPipeline:!0}))}),this.listenTo(e.document,"change:data",k3(e,t.editing,n,this),{priority:"high"}),this.on("checkAttributes:item",(s,{viewElement:a,modelAttributes:c})=>{a.id!=c.listItemId&&(s.return=!0,s.stop())}),this.on("checkAttributes:list",(s,{viewElement:a,modelAttributes:c})=>{(a.name!=Pp(c.listType)||a.id!=Lp(c.listType,c.listIndent))&&(s.return=!0,s.stop())})}_setupModelPostFixing(){const t=this.editor.model,e=this.getListAttributeNames();t.document.registerPostFixer(n=>x3(t,n,e,this)),this.on("postFixer",(n,{listNodes:i,writer:r})=>{n.return=f3(i,r)||n.return},{priority:"high"}),this.on("postFixer",(n,{listNodes:i,writer:r,seenIds:s})=>{n.return=m3(i,s,r)||n.return},{priority:"high"})}_setupClipboardIntegration(){const t=this.editor.model,e=this.editor.plugins.get("ClipboardPipeline");this.listenTo(t,"insertContent",E3(t),{priority:"high"}),this.listenTo(e,"outputTransformation",(n,i)=>{t.change(r=>{const s=Array.from(i.content.getChildren()),a=s[s.length-1];if(s.length>1&&a.is("element")&&a.isEmpty&&s.slice(0,-1).every(zt)&&r.remove(a),i.method=="copy"||i.method=="cut"){const c=Array.from(i.content.getChildren());Uo(c)&&nr(c,r)}})})}}function x3(o,t,e,n){const i=o.document.differ.getChanges(),r=new Map,s=n.editor.config.get("list.multiBlock");let a=!1;for(const l of i){if(l.type=="insert"&&l.name!="$text"){const d=l.position.nodeAfter;if(!o.schema.checkAttribute(d,"listItemId"))for(const u of Array.from(d.getAttributeKeys()))e.includes(u)&&(t.removeAttribute(u,d),a=!0);Ae(l.position,r),l.attributes.has("listItemId")||Ae(l.position.getShiftedBy(l.length),r);for(const{item:u,previousPosition:f}of o.createRangeIn(d))zt(u)&&Ae(f,r)}else l.type=="remove"?Ae(l.position,r):l.type=="attribute"&&e.includes(l.attributeKey)&&(Ae(l.range.start,r),l.attributeNewValue===null&&Ae(l.range.start.getShiftedBy(1),r));if(!s&&l.type=="attribute"&&ir.includes(l.attributeKey)){const d=l.range.start.nodeAfter;l.attributeNewValue===null&&d&&d.is("element","listItem")?(t.rename(d,"paragraph"),a=!0):l.attributeOldValue===null&&d&&d.is("element")&&d.name!="listItem"&&(t.rename(d,"listItem"),a=!0)}}const c=new Set;for(const l of r.values())a=n.fire("postFixer",{listNodes:new i3(l),listHead:l,writer:t,seenIds:c})||a;return a}function E3(o){return(t,[e,n])=>{const i=e.is("documentFragment")?Array.from(e.getChildren()):[e];if(!i.length)return;const s=(n?o.createSelection(n):o.document.selection).getFirstPosition();let a;if(zt(s.parent))a=s.parent;else if(zt(s.nodeBefore))a=s.nodeBefore;else return;o.change(c=>{const l=a.getAttribute("listType"),d=a.getAttribute("listIndent"),u=i[0].getAttribute("listIndent")||0,f=Math.max(d-u,0);for(const p of i){const b=zt(p);a.is("element","listItem")&&p.is("element","paragraph")&&c.rename(p,"listItem"),c.setAttributes({listIndent:(b?p.getAttribute("listIndent"):0)+f,listItemId:b?p.getAttribute("listItemId"):Qn.next(),listType:l},p)}})}}function Up(o,t){const e=o.document.selection;if(!e.isCollapsed)return!Go(o);if(t==="forward")return!0;const i=e.getFirstPosition().parent,r=i.previousSibling;return o.schema.isObject(r)?!1:r.isEmpty?!0:Uo([i,r])}function Gp(o,t,e,n){o.ui.componentFactory.add(t,i=>{const r=o.commands.get(t),s=new et(i);return s.set({label:e,icon:n,tooltip:!0,isToggleable:!0}),s.bind("isOn","isEnabled").to(r,"value","isEnabled"),s.on("execute",()=>{o.execute(t),o.editing.view.focus()}),s})}class D3 extends z{static get pluginName(){return"ListUI"}init(){const t=this.editor.t;Gp(this.editor,"numberedList",t("Numbered List"),Q.numberedList),Gp(this.editor,"bulletedList",t("Bulleted List"),Q.bulletedList)}}class T3 extends z{static get requires(){return[y3,D3]}static get pluginName(){return"List"}}const S3=[{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:o,typeAttribute:t,listType:e}of S3);var qp=L(9938),Dc={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Dc.insert="head",Dc.singleton=!0,R()(qp.Z,Dc),qp.Z.locals;var Wp=L(2591),Tc={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Tc.insert="head",Tc.singleton=!0,R()(Wp.Z,Tc),Wp.Z.locals,uo("Ctrl+Enter");var Zp=L(9292),Sc={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Sc.insert="head",Sc.singleton=!0,R()(Zp.Z,Sc),Zp.Z.locals,uo("Ctrl+Enter");function $p(o,t){const e=(n,i,r)=>{if(!r.consumable.consume(i.item,n.name))return;const s=i.attributeNewValue,a=r.writer,c=r.mapper.toViewElement(i.item),l=[...c.getChildren()].find(u=>u.getCustomProperty("media-content"));a.remove(l);const d=o.getMediaViewElement(a,s,t);a.insert(a.createPositionAt(c,0),d)};return n=>{n.on("attribute:url:media",e)}}function I3(o,t,e){return t.setCustomProperty("media",!0,o),Na(o,t,{label:e})}function Kp(o,t,e,n){return o.createContainerElement("figure",{class:"media"},[t.getMediaViewElement(o,e,n),o.createSlot()])}function Yp(o){const t=o.getSelectedElement();return t&&t.is("element","media")?t:null}function Qp(o,t,e,n){o.change(i=>{const r=i.createElement("media",{url:t});o.insertObject(r,e,null,{setSelection:"on",findOptimalPosition:n?"auto":void 0})})}class M3 extends X{refresh(){const t=this.editor.model,e=t.document.selection,n=Yp(e);this.value=n?n.getAttribute("url"):void 0,this.isEnabled=N3(e)||B3(e,t)}execute(t){const e=this.editor.model,n=e.document.selection,i=Yp(n);i?e.change(r=>{r.setAttribute("url",t,i)}):Qp(e,t,n,!0)}}function B3(o,t){let n=Of(o,t).start.parent;return n.isEmpty&&!t.schema.isLimit(n)&&(n=n.parent),t.schema.checkChild(n,"media")}function N3(o){const t=o.getSelectedElement();return!!t&&t.name==="media"}const z3='',P3="0 0 64 42";class L3{constructor(t,e){const n=e.providers,i=e.extraProviders||[],r=new Set(e.removeProviders),s=n.concat(i).filter(a=>{const c=a.name;return c?!r.has(c):!1});this.locale=t,this.providerDefinitions=s}hasMedia(t){return!!this._getMedia(t)}getMediaViewElement(t,e,n){return this._getMedia(e).getViewElement(t,n)}_getMedia(t){if(!t)return new Jp(this.locale);t=t.trim();for(const e of this.providerDefinitions){const n=e.html,i=bt(e.url);for(const r of i){const s=this._getUrlMatches(t,r);if(s)return new Jp(this.locale,t,s,n)}}return null}_getUrlMatches(t,e){let n=t.match(e);if(n)return n;let i=t.replace(/^https?:\/\//,"");return n=i.match(e),n||(i=i.replace(/^www\./,""),n=i.match(e),n)?n:null}}class Jp{constructor(t,e,n,i){this.url=this._getValidUrl(e),this._locale=t,this._match=n,this._previewRenderer=i}getViewElement(t,e){const n={};let i;if(e.renderForEditingView||e.renderMediaPreview&&this.url&&this._previewRenderer){this.url&&(n["data-oembed-url"]=this.url),e.renderForEditingView&&(n.class="ck-media__wrapper");const r=this._getPreviewHtml(e);i=t.createRawElement("div",n,(s,a)=>{a.setContentOf(s,r)})}else this.url&&(n.url=this.url),i=t.createEmptyElement(e.elementName,n);return t.setCustomProperty("media-content",!0,i),i}_getPreviewHtml(t){return this._previewRenderer?this._previewRenderer(this._match):this.url&&t.renderForEditingView?this._getPlaceholderHtml():""}_getPlaceholderHtml(){const t=new rn,e=this._locale.t;return t.content=z3,t.viewBox=P3,new Wt({tag:"div",attributes:{class:"ck ck-reset_all ck-media__placeholder"},children:[{tag:"div",attributes:{class:"ck-media__placeholder__icon"},children:[t]},{tag:"a",attributes:{class:"ck-media__placeholder__url",target:"_blank",rel:"noopener noreferrer",href:this.url,"data-cke-tooltip-text":e("Open media in new tab")},children:[{tag:"span",attributes:{class:"ck-media__placeholder__url__text"},children:[this.url]}]}]}).render().outerHTML}_getValidUrl(t){return t?t.match(/^https?/)?t:"https://"+t:null}}var Xp=L(1922),Ic={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ic.insert="head",Ic.singleton=!0,R()(Xp.Z,Ic),Xp.Z.locals;class rr extends z{static get pluginName(){return"MediaEmbedEditing"}constructor(t){super(t),t.config.define("mediaEmbed",{elementName:"oembed",providers:[{name:"dailymotion",url:[/^dailymotion\.com\/video\/(\w+)/,/^dai.ly\/(\w+)/],html:e=>`
`},{name:"spotify",url:[/^open\.spotify\.com\/(artist\/\w+)/,/^open\.spotify\.com\/(album\/\w+)/,/^open\.spotify\.com\/(track\/\w+)/],html:e=>`
`},{name:"youtube",url:[/^(?:m\.)?youtube\.com\/watch\?v=([\w-]+)(?:&t=(\d+))?/,/^(?:m\.)?youtube\.com\/v\/([\w-]+)(?:\?t=(\d+))?/,/^youtube\.com\/embed\/([\w-]+)(?:\?start=(\d+))?/,/^youtu\.be\/([\w-]+)(?:\?t=(\d+))?/],html:e=>{const n=e[1],i=e[2];return`
`}},{name:"vimeo",url:[/^vimeo\.com\/(\d+)/,/^vimeo\.com\/[^/]+\/[^/]+\/video\/(\d+)/,/^vimeo\.com\/album\/[^/]+\/video\/(\d+)/,/^vimeo\.com\/channels\/[^/]+\/(\d+)/,/^vimeo\.com\/groups\/[^/]+\/videos\/(\d+)/,/^vimeo\.com\/ondemand\/[^/]+\/(\d+)/,/^player\.vimeo\.com\/video\/(\d+)/],html:e=>`
`},{name:"instagram",url:/^instagram\.com\/p\/(\w+)/},{name:"twitter",url:/^twitter\.com/},{name:"googleMaps",url:[/^google\.com\/maps/,/^goo\.gl\/maps/,/^maps\.google\.com/,/^maps\.app\.goo\.gl/]},{name:"flickr",url:/^flickr\.com/},{name:"facebook",url:/^facebook\.com/}]}),this.registry=new L3(t.locale,t.config.get("mediaEmbed"))}init(){const t=this.editor,e=t.model.schema,n=t.t,i=t.conversion,r=t.config.get("mediaEmbed.previewsInData"),s=t.config.get("mediaEmbed.elementName"),a=this.registry;t.commands.add("mediaEmbed",new M3(t)),e.register("media",{inheritAllFrom:"$blockObject",allowAttributes:["url"]}),i.for("dataDowncast").elementToStructure({model:"media",view:(c,{writer:l})=>{const d=c.getAttribute("url");return Kp(l,a,d,{elementName:s,renderMediaPreview:!!d&&r})}}),i.for("dataDowncast").add($p(a,{elementName:s,renderMediaPreview:r})),i.for("editingDowncast").elementToStructure({model:"media",view:(c,{writer:l})=>{const d=c.getAttribute("url"),u=Kp(l,a,d,{elementName:s,renderForEditingView:!0});return I3(u,l,n("media widget"))}}),i.for("editingDowncast").add($p(a,{elementName:s,renderForEditingView:!0})),i.for("upcast").elementToElement({view:c=>["oembed",s].includes(c.name)&&c.getAttribute("url")?{name:!0}:null,model:(c,{writer:l})=>{const d=c.getAttribute("url");return a.hasMedia(d)?l.createElement("media",{url:d}):null}}).elementToElement({view:{name:"div",attributes:{"data-oembed-url":!0}},model:(c,{writer:l})=>{const d=c.getAttribute("data-oembed-url");return a.hasMedia(d)?l.createElement("media",{url:d}):null}}).add(c=>{const l=(d,u,f)=>{if(!f.consumable.consume(u.viewItem,{name:!0,classes:"media"}))return;const{modelRange:p,modelCursor:b}=f.convertChildren(u.viewItem,u.modelCursor);u.modelRange=p,u.modelCursor=b,Lt(p.getItems())||f.consumable.revert(u.viewItem,{name:!0,classes:"media"})};c.on("element:figure",l)})}}const O3=/^(?:http(s)?:\/\/)?[\w-]+\.[\w-.~:/?#[\]@!$&'()*+,;=%]+$/;class R3 extends z{static get requires(){return[em,Le,Fa]}static get pluginName(){return"AutoMediaEmbed"}constructor(t){super(t),this._timeoutId=null,this._positionToInsert=null}init(){const t=this.editor,e=t.model.document,n=t.plugins.get("ClipboardPipeline");this.listenTo(n,"inputTransformation",()=>{const r=e.selection.getFirstRange(),s=Ot.fromPosition(r.start);s.stickiness="toPrevious";const a=Ot.fromPosition(r.end);a.stickiness="toNext",e.once("change:data",()=>{this._embedMediaBetweenPositions(s,a),s.detach(),a.detach()},{priority:"high"})}),t.commands.get("undo").on("execute",()=>{this._timeoutId&&(H.window.clearTimeout(this._timeoutId),this._positionToInsert.detach(),this._timeoutId=null,this._positionToInsert=null)},{priority:"high"})}_embedMediaBetweenPositions(t,e){const n=this.editor,i=n.plugins.get(rr).registry,r=new oe(t,e),s=r.getWalker({ignoreElementEnd:!0});let a="";for(const l of s)l.item.is("$textProxy")&&(a+=l.item.data);if(a=a.trim(),!a.match(O3)){r.detach();return}if(!i.hasMedia(a)){r.detach();return}if(!n.commands.get("mediaEmbed").isEnabled){r.detach();return}this._positionToInsert=Ot.fromPosition(t),this._timeoutId=H.window.setTimeout(()=>{n.model.change(l=>{this._timeoutId=null,l.remove(r),r.detach();let d=null;this._positionToInsert.root.rootName!=="$graveyard"&&(d=this._positionToInsert),Qp(n.model,a,d,!1),this._positionToInsert.detach(),this._positionToInsert=null}),n.plugins.get(Le).requestUndoOnBackspace()},100)}}var tk=L(7138),Mc={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Mc.insert="head",Mc.singleton=!0,R()(tk.Z,Mc),tk.Z.locals;class j3 extends G{constructor(t,e){super(e);const n=e.t;this.focusTracker=new St,this.keystrokes=new Ft,this.set("mediaURLInputValue",""),this.urlInputView=this._createUrlInput(),this.saveButtonView=this._createButton(n("Save"),Q.check,"ck-button-save"),this.saveButtonView.type="submit",this.saveButtonView.bind("isEnabled").to(this,"mediaURLInputValue",i=>!!i),this.cancelButtonView=this._createButton(n("Cancel"),Q.cancel,"ck-button-cancel","cancel"),this._focusables=new Jt,this._focusCycler=new Xt({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this._validators=t,this.setTemplate({tag:"form",attributes:{class:["ck","ck-media-form","ck-responsive-form"],tabindex:"-1"},children:[this.urlInputView,this.saveButtonView,this.cancelButtonView]})}render(){super.render(),h({view:this}),[this.urlInputView,this.saveButtonView,this.cancelButtonView].forEach(n=>{this._focusables.add(n),this.focusTracker.add(n.element)}),this.keystrokes.listenTo(this.element);const e=n=>n.stopPropagation();this.keystrokes.set("arrowright",e),this.keystrokes.set("arrowleft",e),this.keystrokes.set("arrowup",e),this.keystrokes.set("arrowdown",e)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}get url(){return this.urlInputView.fieldView.element.value.trim()}set url(t){this.urlInputView.fieldView.element.value=t.trim()}isValid(){this.resetFormStatus();for(const t of this._validators){const e=t(this);if(e)return this.urlInputView.errorText=e,!1}return!0}resetFormStatus(){this.urlInputView.errorText=null,this.urlInputView.infoText=this._urlInputViewInfoDefault}_createUrlInput(){const t=this.locale.t,e=new go(this.locale,Mo),n=e.fieldView;return this._urlInputViewInfoDefault=t("Paste the media URL in the input."),this._urlInputViewInfoTip=t("Tip: Paste the URL into the content to embed faster."),e.label=t("Media URL"),e.infoText=this._urlInputViewInfoDefault,n.on("input",()=>{e.infoText=n.element.value?this._urlInputViewInfoTip:this._urlInputViewInfoDefault,this.mediaURLInputValue=n.element.value.trim()}),e}_createButton(t,e,n,i){const r=new et(this.locale);return r.set({label:t,icon:e,tooltip:!0}),r.extendTemplate({attributes:{class:n}}),i&&r.delegate("execute").to(this,i),r}}const F3='';class V3 extends z{static get requires(){return[rr]}static get pluginName(){return"MediaEmbedUI"}init(){const t=this.editor,e=t.commands.get("mediaEmbed");t.ui.componentFactory.add("mediaEmbed",n=>{const i=le(n);return this._setUpDropdown(i,e),i})}_setUpDropdown(t,e){const n=this.editor,i=n.t,r=t.buttonView,s=n.plugins.get(rr).registry;t.once("change:isOpen",()=>{const a=new(y(j3))(H3(n.t,s),n.locale);t.panelView.children.add(a),r.on("open",()=>{a.disableCssTransitions(),a.url=e.value||"",a.urlInputView.fieldView.select(),a.enableCssTransitions()},{priority:"low"}),t.on("submit",()=>{a.isValid()&&(n.execute("mediaEmbed",a.url),n.editing.view.focus())}),t.on("change:isOpen",()=>a.resetFormStatus()),t.on("cancel",()=>{n.editing.view.focus()}),a.delegate("submit","cancel").to(t),a.urlInputView.fieldView.bind("value").to(e,"value"),a.urlInputView.bind("isEnabled").to(e,"isEnabled")}),t.bind("isEnabled").to(e),r.set({label:i("Insert media"),icon:F3,tooltip:!0})}}function H3(o,t){return[e=>{if(!e.url.length)return o("The URL must not be empty.")},e=>{if(!t.hasMedia(e.url))return o("This media URL is not supported.")}]}var ek=L(8705),Bc={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Bc.insert="head",Bc.singleton=!0,R()(ek.Z,Bc),ek.Z.locals;class U3 extends z{static get requires(){return[rr,V3,R3,Fo]}static get pluginName(){return"MediaEmbed"}}function G3(o,t){if(!o.childCount)return;const e=new ze(o.document),n=W3(o,e);if(!n.length)return;let i=null,r=1;n.forEach((s,a)=>{const c=tN(n[a-1],s),l=c?null:n[a-1],d=nN(l,s);if(c&&(i=null,r=1),!i||d!==0){const f=Z3(s,t);if(!i)i=nk(f,s.element,e);else if(s.indent>r){const p=i.getChild(i.childCount-1),b=p.getChild(p.childCount-1);i=nk(f,b,e),r+=1}else if(s.indent1&&e.setAttribute("start",o.startIndex,i),i}function Q3(o,t){return X3(o,t),t.removeStyle("text-indent",o),t.rename("li",o)}function J3(o){const t={},e=o.getStyle("mso-list");if(e){const n=e.match(/(^|\s{1,100})l(\d+)/i),i=e.match(/\s{0,100}lfo(\d+)/i),r=e.match(/\s{0,100}level(\d+)/i);n&&i&&r&&(t.id=n[2],t.order=i[1],t.indent=parseInt(r[1]))}return t}function X3(o,t){const e=new fe({name:"span",styles:{"mso-list":"Ignore"}}),n=t.createRangeIn(o);for(const i of n)i.type==="elementStart"&&e.match(i.item)&&t.remove(i.item)}function tN(o,t){if(!o)return!0;if(o.id!==t.id)return t.indent-o.indent!==1;const e=t.element.previousSibling;return e?!eN(e):!0}function eN(o){return o.is("element","ol")||o.is("element","ul")}function nN(o,t){return o?t.indent-o.indent:t.indent-1}function oN(o,t){const e=o.getAncestors({parentFirst:!0});let n=null,i=0;for(const r of e)if((r.is("element","ul")||r.is("element","ol"))&&i++,i===t){n=r;break}return n}function iN(o,t){if(!o.childCount)return;const e=new ze(o.document),n=sN(o,e);aN(n,o,e),lN(n,o,e),cN(o,e);const i=dN(o,e);i.length&&hN(i,uN(t),e)}function rN(o){return btoa(o.match(/\w{2}/g).map(t=>String.fromCharCode(parseInt(t,16))).join(""))}function sN(o,t){const e=t.createRangeIn(o),n=new fe({name:/v:(.+)/}),i=[];for(const r of e){if(r.type!="elementStart")continue;const s=r.item,a=s.previousSibling,c=a&&a.is("element")?a.name:null;n.match(s)&&s.getAttribute("o:gfxdata")&&c!=="v:shapetype"&&i.push(r.item.getAttribute("id"))}return i}function aN(o,t,e){const n=e.createRangeIn(t),i=new fe({name:"img"}),r=[];for(const s of n)if(s.item.is("element")&&i.match(s.item)){const a=s.item,c=a.getAttribute("v:shapes")?a.getAttribute("v:shapes").split(" "):[];c.length&&c.every(l=>o.indexOf(l)>-1)?r.push(a):a.getAttribute("src")||r.push(a)}for(const s of r)e.remove(s)}function cN(o,t){const e=t.createRangeIn(o),n=new fe({name:/v:(.+)/}),i=[];for(const r of e)r.type=="elementStart"&&n.match(r.item)&&i.push(r.item);for(const r of i)t.remove(r)}function lN(o,t,e){const n=e.createRangeIn(t),i=[];for(const a of n)if(a.type=="elementStart"&&a.item.is("element","v:shape")){const c=a.item.getAttribute("id");if(o.includes(c))continue;r(a.item.parent.getChildren(),c)||i.push(a.item)}for(const a of i){const c={src:s(a)};a.hasAttribute("alt")&&(c.alt=a.getAttribute("alt"));const l=e.createElement("img",c);e.insertChild(a.index+1,l,a.parent)}function r(a,c){for(const l of a)if(l.is("element")&&(l.name=="img"&&l.getAttribute("v:shapes")==c||r(l.getChildren(),c)))return!0;return!1}function s(a){for(const c of a.getChildren())if(c.is("element")&&c.getAttribute("src"))return c.getAttribute("src")}}function dN(o,t){const e=t.createRangeIn(o),n=new fe({name:"img"}),i=[];for(const r of e)r.item.is("element")&&n.match(r.item)&&r.item.getAttribute("src").startsWith("file://")&&i.push(r.item);return i}function uN(o){if(!o)return[];const t=/{\\pict[\s\S]+?\\bliptag-?\d+(\\blipupi-?\d+)?({\\\*\\blipuid\s?[\da-fA-F]+)?[\s}]*?/,e=new RegExp("(?:("+t.source+"))([\\da-fA-F\\s]+)\\}","g"),n=o.match(e),i=[];if(n)for(const r of n){let s=!1;r.includes("\\pngblip")?s="image/png":r.includes("\\jpegblip")&&(s="image/jpeg"),s&&i.push({hex:r.replace(t,"").replace(/[^\da-fA-F]/g,""),type:s})}return i}function hN(o,t,e){if(o.length===t.length)for(let n=0;n/i,mN=/xmlns:o="urn:schemas-microsoft-com/i;class pN{constructor(t){this.document=t}isActive(t){return fN.test(t)||mN.test(t)}execute(t){const{body:e,stylesString:n}=t._parsedData;G3(e,n),iN(e,t.dataTransfer.getData("text/rtf")),gN(e),t.content=e}}function kN(o,t){for(const e of o.getChildren())if(e.is("element","b")&&e.getStyle("font-weight")==="normal"){const n=o.getChildIndex(e);t.remove(e),t.insertChild(n,e.getChildren(),o)}}function bN(o,t){const e=new bi(t.document.stylesProcessor),n=new Ci(e,{renderingMode:"data"}),i=n.blockElements,r=n.inlineObjectElements,s=[];for(const a of t.createRangeIn(o)){const c=a.item;if(c.is("element","br")){const l=ok(c,"forward",t,{blockElements:i,inlineObjectElements:r}),d=ok(c,"backward",t,{blockElements:i,inlineObjectElements:r}),u=ik(l,i);(ik(d,i)||u)&&s.push(c)}}for(const a of s)a.hasClass("Apple-interchange-newline")?t.remove(a):t.replace(a,t.createElement("p"))}function ok(o,t,e,{blockElements:n,inlineObjectElements:i}){let r=e.createPositionAt(o,t=="forward"?"after":"before");return r=r.getLastMatchingPosition(({item:s})=>s.is("element")&&!n.includes(s.name)&&!i.includes(s.name),{direction:t}),t=="forward"?r.nodeAfter:r.nodeBefore}function ik(o,t){return!!o&&o.is("element")&&t.includes(o.name)}const wN=/id=("|')docs-internal-guid-[-0-9a-f]+("|')/i;class AN{constructor(t){this.document=t}isActive(t){return wN.test(t)}execute(t){const e=new ze(this.document),{body:n}=t._parsedData;kN(n,e),q3(n,e),bN(n,e),t.content=n}}function CN(o,t){for(const e of o.getChildren())e.is("element","table")&&e.hasAttribute("xmlns")&&t.removeAttribute("xmlns",e)}function _N(o,t){for(const e of o.getChildren())if(e.is("element","google-sheets-html-origin")){const n=o.getChildIndex(e);t.remove(e),t.insertChild(n,e.getChildren(),o)}}function vN(o,t){for(const e of o.getChildren())e.is("element","table")&&e.getStyle("width")==="0px"&&t.removeStyle("width",e)}function yN(o,t){for(const e of Array.from(o.getChildren()))e.is("element","style")&&t.remove(e)}const xN=/[^\S\r\n]*?)[\r\n]+([^\S\r\n]*<\/span>)/g,"$1$2").replace(/<\/span>/g,"").replace(/()[\r\n]+(<\/span>)/g,"$1 $2").replace(/ <\//g," <\/o:p>/g," ").replace(/( |\u00A0)<\/o:p>/g,"").replace(/>([^\S\r\n]*[\r\n]\s*)<")}function TN(o){o.querySelectorAll("span[style*=spacerun]").forEach(t=>{const e=t,n=e.innerText.length||0;e.innerText=Array(n+1).join("  ").substr(0,n)})}function rk(o){return o.replace(/(\s+)<\/span>/g,(t,e)=>e.length===1?" ":Array(e.length+1).join("  ").substr(0,e.length))}function SN(o,t){const e=new DOMParser;o=o.replace(//g,"")}const mf=["figcaption","li"],pf=["ol","ul"];function kf(o){if(o.is("$text")||o.is("$textProxy"))return o.data;if(o.is("element","img")&&o.hasAttribute("alt"))return o.getAttribute("alt");if(o.is("element","br"))return` +`;let t="",e=null;for(const n of o.getChildren())t+=F4(n,e)+kf(n),e=n;return t}function F4(o,t){return t?o.is("element","li")&&!o.isEmpty&&o.getChild(0).is("containerElement")||pf.includes(o.name)&&pf.includes(t.name)?` + +`:!o.is("containerElement")&&!t.is("containerElement")?"":mf.includes(o.name)||mf.includes(t.name)?` +`:` + +`:""}class ke extends L{static get pluginName(){return"ClipboardPipeline"}init(){this.editor.editing.view.addObserver(zo),this._setupPasteDrop(),this._setupCopyCut()}_fireOutputTransformationEvent(t,e,n){const i=this.editor.model.getSelectedContent(e);this.fire("outputTransformation",{dataTransfer:t,content:i,method:n})}_setupPasteDrop(){const t=this.editor,e=t.model,n=t.editing.view,i=n.document;this.listenTo(i,"clipboardInput",(r,s)=>{s.method=="paste"&&!t.model.canEditAt(t.model.document.selection)&&r.stop()},{priority:"highest"}),this.listenTo(i,"clipboardInput",(r,s)=>{const a=s.dataTransfer;let c;if(s.content)c=s.content;else{let d="";a.getData("text/html")?d=j4(a.getData("text/html")):a.getData("text/plain")&&(d=R4(a.getData("text/plain"))),c=this.editor.data.htmlProcessor.toView(d)}const l=new zt(this,"inputTransformation");this.fire(l,{content:c,dataTransfer:a,targetRanges:s.targetRanges,method:s.method}),l.stop.called&&r.stop(),n.scrollToTheSelection()},{priority:"low"}),this.listenTo(this,"inputTransformation",(r,s)=>{if(s.content.isEmpty)return;const c=this.editor.data.toModel(s.content,"$clipboardHolder");c.childCount!=0&&(r.stop(),e.change(()=>{this.fire("contentInsertion",{content:c,method:s.method,dataTransfer:s.dataTransfer,targetRanges:s.targetRanges})}))},{priority:"low"}),this.listenTo(this,"contentInsertion",(r,s)=>{s.resultRange=e.insertContent(s.content)},{priority:"low"})}_setupCopyCut(){const t=this.editor,e=t.model.document,i=t.editing.view.document,r=(s,a)=>{const c=a.dataTransfer;a.preventDefault(),this._fireOutputTransformationEvent(c,e.selection,s.name)};this.listenTo(i,"copy",r,{priority:"low"}),this.listenTo(i,"cut",(s,a)=>{t.model.canEditAt(t.model.document.selection)?r(s,a):a.preventDefault()},{priority:"low"}),this.listenTo(this,"outputTransformation",(s,a)=>{const c=t.data.toView(a.content);i.fire("clipboardOutput",{dataTransfer:a.dataTransfer,content:c,method:a.method})},{priority:"low"}),this.listenTo(i,"clipboardOutput",(s,a)=>{a.content.isEmpty||(a.dataTransfer.setData("text/html",this.editor.data.htmlProcessor.toData(a.content)),a.dataTransfer.setData("text/plain",kf(a.content))),a.method=="cut"&&t.model.deleteContent(e.selection)},{priority:"low"})}}class V4 extends lt(){constructor(){super(...arguments),this._stack=[]}add(t,e){const n=this._stack,i=n[0];this._insertDescriptor(t);const r=n[0];i!==r&&!Da(i,r)&&this.fire("change:top",{oldDescriptor:i,newDescriptor:r,writer:e})}remove(t,e){const n=this._stack,i=n[0];this._removeDescriptor(t);const r=n[0];i!==r&&!Da(i,r)&&this.fire("change:top",{oldDescriptor:i,newDescriptor:r,writer:e})}_insertDescriptor(t){const e=this._stack,n=e.findIndex(r=>r.id===t.id);if(Da(t,e[n]))return;n>-1&&e.splice(n,1);let i=0;for(;e[i]&&H4(e[i],t);)i++;e.splice(i,0,t)}_removeDescriptor(t){const e=this._stack,n=e.findIndex(i=>i.id===t);n>-1&&e.splice(n,1)}}function Da(o,t){return o&&t&&o.priority==t.priority&&Vi(o.classes)==Vi(t.classes)}function H4(o,t){return o.priority>t.priority?!0:o.priorityVi(t.classes)}function Vi(o){return Array.isArray(o)?o.sort().join(","):o}const U4='',G4="ck-widget",bf="ck-widget_selected";function Tt(o){return o.is("element")?!!o.getCustomProperty("widget"):!1}function Sa(o,t,e={}){if(!o.is("containerElement"))throw new b("widget-to-widget-wrong-element-type",null,{element:o});return t.setAttribute("contenteditable","false",o),t.addClass(G4,o),t.setCustomProperty("widget",!0,o),o.getFillerOffset=K4,t.setCustomProperty("widgetLabel",[],o),e.label&&Z4(o,e.label),e.hasSelectionHandle&&Y4(o,t),wf(o,t),o}function W4(o,t,e){if(t.classes&&e.addClass(bt(t.classes),o),t.attributes)for(const n in t.attributes)e.setAttribute(n,t.attributes[n],o)}function q4(o,t,e){if(t.classes&&e.removeClass(bt(t.classes),o),t.attributes)for(const n in t.attributes)e.removeAttribute(n,o)}function wf(o,t,e=W4,n=q4){const i=new V4;i.on("change:top",(a,c)=>{c.oldDescriptor&&n(o,c.oldDescriptor,c.writer),c.newDescriptor&&e(o,c.newDescriptor,c.writer)});const r=(a,c,l)=>i.add(c,l),s=(a,c,l)=>i.remove(c,l);t.setCustomProperty("addHighlight",r,o),t.setCustomProperty("removeHighlight",s,o)}function Z4(o,t){o.getCustomProperty("widgetLabel").push(t)}function $4(o){return o.getCustomProperty("widgetLabel").reduce((e,n)=>typeof n=="function"?e?e+". "+n():n():e?e+". "+n:n,"")}function Af(o,t,e={}){return t.addClass(["ck-editor__editable","ck-editor__nested-editable"],o),t.setAttribute("role","textbox",o),e.label&&t.setAttribute("aria-label",e.label,o),t.setAttribute("contenteditable",o.isReadOnly?"false":"true",o),o.on("change:isReadOnly",(n,i,r)=>{t.setAttribute("contenteditable",r?"false":"true",o)}),o.on("change:isFocused",(n,i,r)=>{r?t.addClass("ck-editor__nested-editable_focused",o):t.removeClass("ck-editor__nested-editable_focused",o)}),wf(o,t),o}function Cf(o,t){const e=o.getSelectedElement();if(e){const n=qe(o);if(n)return t.createRange(t.createPositionAt(e,n))}return t.schema.findOptimalInsertionRange(o)}function K4(){return null}function Y4(o,t){const e=t.createUIElement("div",{class:"ck ck-widget__selection-handle"},function(n){const i=this.toDomElement(n),r=new en;return r.set("content",U4),r.render(),i.appendChild(r.element),i});t.insert(t.createPositionAt(o,0),e),t.addClass(["ck-widget_with-selection-handle"],o)}const Pe="widget-type-around";function hn(o,t,e){return!!o&&Tt(o)&&!e.isInline(t)}function Q4(o){return o.closest(".ck-widget__type-around__button")}function J4(o){return o.classList.contains("ck-widget__type-around__button_before")?"before":"after"}function X4(o,t){const e=o.closest(".ck-widget");return t.mapDomToView(e)}function qe(o){return o.getAttribute(Pe)}const tS='';var _f=P(2347),Ta={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ta.insert="head",Ta.singleton=!0,R()(_f.Z,Ta),_f.Z.locals;const vf=["before","after"],eS=new DOMParser().parseFromString(tS,"image/svg+xml").firstChild,yf="ck-widget__type-around_disabled";class nS extends L{constructor(){super(...arguments),this._currentFakeCaretModelElement=null}static get pluginName(){return"WidgetTypeAround"}static get requires(){return[ji,ze]}init(){const t=this.editor,e=t.editing.view;this.on("change:isEnabled",(n,i,r)=>{e.change(s=>{for(const a of e.document.roots)r?s.removeClass(yf,a):s.addClass(yf,a)}),r||t.model.change(s=>{s.removeSelectionAttribute(Pe)})}),this._enableTypeAroundUIInjection(),this._enableInsertingParagraphsOnButtonClick(),this._enableInsertingParagraphsOnEnterKeypress(),this._enableInsertingParagraphsOnTypingKeystroke(),this._enableTypeAroundFakeCaretActivationUsingKeyboardArrows(),this._enableDeleteIntegration(),this._enableInsertContentIntegration(),this._enableInsertObjectIntegration(),this._enableDeleteContentIntegration()}destroy(){super.destroy(),this._currentFakeCaretModelElement=null}_insertParagraph(t,e){const n=this.editor,i=n.editing.view,r=n.model.schema.getAttributesWithProperty(t,"copyOnReplace",!0);n.execute("insertParagraph",{position:n.model.createPositionAt(t,e),attributes:r}),i.focus(),i.scrollToTheSelection()}_listenToIfEnabled(t,e,n,i){this.listenTo(t,e,(...r)=>{this.isEnabled&&n(...r)},i)}_insertParagraphAccordingToFakeCaretPosition(){const n=this.editor.model.document.selection,i=qe(n);if(!i)return!1;const r=n.getSelectedElement();return this._insertParagraph(r,i),!0}_enableTypeAroundUIInjection(){const t=this.editor,e=t.model.schema,n=t.locale.t,i={before:n("Insert paragraph before block"),after:n("Insert paragraph after block")};t.editing.downcastDispatcher.on("insert",(r,s,a)=>{const c=a.mapper.toViewElement(s.item);c&&hn(c,s.item,e)&&(oS(a.writer,i,c),c.getCustomProperty("widgetLabel").push(()=>this.isEnabled?n("Press Enter to type after or press Shift + Enter to type before the widget"):""))},{priority:"low"})}_enableTypeAroundFakeCaretActivationUsingKeyboardArrows(){const t=this.editor,e=t.model,n=e.document.selection,i=e.schema,r=t.editing.view;this._listenToIfEnabled(r.document,"arrowKey",(a,c)=>{this._handleArrowKeyPress(a,c)},{context:[Tt,"$text"],priority:"high"}),this._listenToIfEnabled(n,"change:range",(a,c)=>{c.directChange&&t.model.change(l=>{l.removeSelectionAttribute(Pe)})}),this._listenToIfEnabled(e.document,"change:data",()=>{const a=n.getSelectedElement();if(a){const c=t.editing.mapper.toViewElement(a);if(hn(c,a,i))return}t.model.change(c=>{c.removeSelectionAttribute(Pe)})}),this._listenToIfEnabled(t.editing.downcastDispatcher,"selection",(a,c,l)=>{const d=l.writer;if(this._currentFakeCaretModelElement){const w=l.mapper.toViewElement(this._currentFakeCaretModelElement);w&&(d.removeClass(vf.map(s),w),this._currentFakeCaretModelElement=null)}const u=c.selection.getSelectedElement();if(!u)return;const f=l.mapper.toViewElement(u);if(!hn(f,u,i))return;const p=qe(c.selection);p&&(d.addClass(s(p),f),this._currentFakeCaretModelElement=u)}),this._listenToIfEnabled(t.ui.focusTracker,"change:isFocused",(a,c,l)=>{l||t.model.change(d=>{d.removeSelectionAttribute(Pe)})});function s(a){return`ck-widget_type-around_show-fake-caret_${a}`}}_handleArrowKeyPress(t,e){const n=this.editor,i=n.model,r=i.document.selection,s=i.schema,a=n.editing.view,c=e.keyCode,l=S0(c,n.locale.contentLanguageDirection),d=a.document.selection.getSelectedElement(),u=n.editing.mapper.toModelElement(d);let f;hn(d,u,s)?f=this._handleArrowKeyPressOnSelectedWidget(l):r.isCollapsed?f=this._handleArrowKeyPressWhenSelectionNextToAWidget(l):e.shiftKey||(f=this._handleArrowKeyPressWhenNonCollapsedSelection(l)),f&&(e.preventDefault(),t.stop())}_handleArrowKeyPressOnSelectedWidget(t){const n=this.editor.model,i=n.document.selection,r=qe(i);return n.change(s=>{if(r){if(!(r===(t?"after":"before")))return s.removeSelectionAttribute(Pe),!0}else return s.setSelectionAttribute(Pe,t?"after":"before"),!0;return!1})}_handleArrowKeyPressWhenSelectionNextToAWidget(t){const e=this.editor,n=e.model,i=n.schema,r=e.plugins.get("Widget"),s=r._getObjectElementNextToSelection(t),a=e.editing.mapper.toViewElement(s);return hn(a,s,i)?(n.change(c=>{r._setSelectionOverElement(s),c.setSelectionAttribute(Pe,t?"before":"after")}),!0):!1}_handleArrowKeyPressWhenNonCollapsedSelection(t){const e=this.editor,n=e.model,i=n.schema,r=e.editing.mapper,s=n.document.selection,a=t?s.getLastPosition().nodeBefore:s.getFirstPosition().nodeAfter,c=r.toViewElement(a);return hn(c,a,i)?(n.change(l=>{l.setSelection(a,"on"),l.setSelectionAttribute(Pe,t?"after":"before")}),!0):!1}_enableInsertingParagraphsOnButtonClick(){const t=this.editor,e=t.editing.view;this._listenToIfEnabled(e.document,"mousedown",(n,i)=>{const r=Q4(i.domTarget);if(!r)return;const s=J4(r),a=X4(r,e.domConverter),c=t.editing.mapper.toModelElement(a);this._insertParagraph(c,s),i.preventDefault(),n.stop()})}_enableInsertingParagraphsOnEnterKeypress(){const t=this.editor,e=t.model.document.selection,n=t.editing.view;this._listenToIfEnabled(n.document,"enter",(i,r)=>{if(i.eventPhase!="atTarget")return;const s=e.getSelectedElement(),a=t.editing.mapper.toViewElement(s),c=t.model.schema;let l;this._insertParagraphAccordingToFakeCaretPosition()?l=!0:hn(a,s,c)&&(this._insertParagraph(s,r.isSoft?"before":"after"),l=!0),l&&(r.preventDefault(),i.stop())},{context:Tt})}_enableInsertingParagraphsOnTypingKeystroke(){const e=this.editor.editing.view.document;this._listenToIfEnabled(e,"insertText",(n,i)=>{this._insertParagraphAccordingToFakeCaretPosition()&&(i.selection=e.selection)},{priority:"high"}),g.isAndroid?this._listenToIfEnabled(e,"keydown",(n,i)=>{i.keyCode==229&&this._insertParagraphAccordingToFakeCaretPosition()}):this._listenToIfEnabled(e,"compositionstart",()=>{this._insertParagraphAccordingToFakeCaretPosition()},{priority:"high"})}_enableDeleteIntegration(){const t=this.editor,e=t.editing.view,n=t.model,i=n.schema;this._listenToIfEnabled(e.document,"delete",(r,s)=>{if(r.eventPhase!="atTarget")return;const a=qe(n.document.selection);if(!a)return;const c=s.direction,l=n.document.selection.getSelectedElement(),d=a==="before",u=c=="forward";if(d===u)t.execute("delete",{selection:n.createSelection(l,"on")});else{const p=i.getNearestSelectionRange(n.createPositionAt(l,a),c);if(p)if(!p.isCollapsed)n.change(w=>{w.setSelection(p),t.execute(u?"deleteForward":"delete")});else{const w=n.createSelection(p.start);if(n.modifySelection(w,{direction:c}),!w.focus.isEqual(p.start))n.change(S=>{S.setSelection(p),t.execute(u?"deleteForward":"delete")});else{const S=sS(i,p.start.parent);n.deleteContent(n.createSelection(S,"on"),{doNotAutoparagraph:!0})}}}s.preventDefault(),r.stop()},{context:Tt})}_enableInsertContentIntegration(){const t=this.editor,e=this.editor.model,n=e.document.selection;this._listenToIfEnabled(t.model,"insertContent",(i,[r,s])=>{if(s&&!s.is("documentSelection"))return;const a=qe(n);if(a)return i.stop(),e.change(c=>{const l=n.getSelectedElement(),d=e.createPositionAt(l,a),u=c.createSelection(d),f=e.insertContent(r,u);return c.setSelection(u),f})},{priority:"high"})}_enableInsertObjectIntegration(){const t=this.editor,n=this.editor.model.document.selection;this._listenToIfEnabled(t.model,"insertObject",(i,r)=>{const[,s,a={}]=r;if(s&&!s.is("documentSelection"))return;const c=qe(n);c&&(a.findOptimalPosition=c,r[3]=a)},{priority:"high"})}_enableDeleteContentIntegration(){const t=this.editor,n=this.editor.model.document.selection;this._listenToIfEnabled(t.model,"deleteContent",(i,[r])=>{if(r&&!r.is("documentSelection"))return;qe(n)&&i.stop()},{priority:"high"})}}function oS(o,t,e){const n=o.createUIElement("div",{class:"ck ck-reset_all ck-widget__type-around"},function(i){const r=this.toDomElement(i);return iS(r,t),rS(r),r});o.insert(o.createPositionAt(e,"end"),n)}function iS(o,t){for(const e of vf){const n=new re({tag:"div",attributes:{class:["ck","ck-widget__type-around__button",`ck-widget__type-around__button_${e}`],title:t[e],"aria-hidden":"true"},children:[o.ownerDocument.importNode(eS,!0)]});o.appendChild(n.render())}}function rS(o){const t=new re({tag:"div",attributes:{class:["ck","ck-widget__type-around__fake-caret"]}});o.appendChild(t.render())}function sS(o,t){let e=t;for(const n of t.getAncestors({parentFirst:!0})){if(n.childCount>1||o.isLimit(n))break;e=n}return e}function aS(o){const t=o.model;return(e,n)=>{const i=n.keyCode==et.arrowup,r=n.keyCode==et.arrowdown,s=n.shiftKey,a=t.document.selection;if(!i&&!r)return;const c=r;if(s&&dS(a,c))return;const l=cS(o,a,c);if(l){if(l.isCollapsed){if(a.isCollapsed)return;if(s)return}(l.isCollapsed||lS(o,l,c))&&(t.change(d=>{const u=c?l.end:l.start;if(s){const f=t.createSelection(a.anchor);f.setFocus(u),d.setSelection(f)}else d.setSelection(u)}),e.stop(),n.preventDefault(),n.stopPropagation())}}}function cS(o,t,e){const n=o.model;if(e){const i=t.isCollapsed?t.focus:t.getLastPosition(),r=xf(n,i,"forward");if(!r)return null;const s=n.createRange(i,r),a=Ef(n.schema,s,"backward");return a?n.createRange(i,a):null}else{const i=t.isCollapsed?t.focus:t.getFirstPosition(),r=xf(n,i,"backward");if(!r)return null;const s=n.createRange(r,i),a=Ef(n.schema,s,"forward");return a?n.createRange(a,i):null}}function xf(o,t,e){const n=o.schema,i=o.createRangeIn(t.root),r=e=="forward"?"elementStart":"elementEnd";for(const{previousPosition:s,item:a,type:c}of i.getWalker({startPosition:t,direction:e})){if(n.isLimit(a)&&!n.isInline(a))return s;if(c==r&&n.isBlock(a))return null}return null}function Ef(o,t,e){const n=e=="backward"?t.end:t.start;if(o.checkChild(n,"$text"))return n;for(const{nextPosition:i}of t.getWalker({direction:e}))if(o.checkChild(i,"$text"))return i;return null}function lS(o,t,e){const n=o.model,i=o.view.domConverter;if(e){const l=n.createSelection(t.start);n.modifySelection(l),!l.focus.isAtEnd&&!t.start.isEqual(l.focus)&&(t=n.createRange(l.focus,t.end))}const r=o.mapper.toViewRange(t),s=i.viewRangeToDom(r),a=Q.getDomRangeRects(s);let c;for(const l of a){if(c===void 0){c=Math.round(l.bottom);continue}if(Math.round(l.top)>=c)return!1;c=Math.max(c,Math.round(l.bottom))}return!0}function dS(o,t){return!o.isCollapsed&&o.isBackward==t}var Df=P(7153),Ia={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ia.insert="head",Ia.singleton=!0,R()(Df.Z,Ia),Df.Z.locals;class Lo extends L{constructor(){super(...arguments),this._previouslySelected=new Set}static get pluginName(){return"Widget"}static get requires(){return[nS,ze]}init(){const t=this.editor,e=t.editing.view,n=e.document;this.editor.editing.downcastDispatcher.on("selection",(i,r,s)=>{const a=s.writer,c=r.selection;if(c.isCollapsed)return;const l=c.getSelectedElement();if(!l)return;const d=t.editing.mapper.toViewElement(l);Tt(d)&&s.consumable.consume(c,"selection")&&a.setSelection(a.createRangeOn(d),{fake:!0,label:$4(d)})}),this.editor.editing.downcastDispatcher.on("selection",(i,r,s)=>{this._clearPreviouslySelectedWidgets(s.writer);const a=s.writer,c=a.document.selection;let l=null;for(const d of c.getRanges())for(const u of d){const f=u.item;Tt(f)&&!hS(f,l)&&(a.addClass(bf,f),this._previouslySelected.add(f),l=f)}},{priority:"low"}),e.addObserver(vi),this.listenTo(n,"mousedown",(...i)=>this._onMousedown(...i)),this.listenTo(n,"arrowKey",(...i)=>{this._handleSelectionChangeOnArrowKeyPress(...i)},{context:[Tt,"$text"]}),this.listenTo(n,"arrowKey",(...i)=>{this._preventDefaultOnArrowKeyPress(...i)},{context:"$root"}),this.listenTo(n,"arrowKey",aS(this.editor.editing),{context:"$text"}),this.listenTo(n,"delete",(i,r)=>{this._handleDelete(r.direction=="forward")&&(r.preventDefault(),i.stop())},{context:"$root"})}_onMousedown(t,e){const n=this.editor,i=n.editing.view,r=i.document;let s=e.target;if(e.domEvent.detail>=3){this._selectBlockContent(s)&&e.preventDefault();return}if(uS(s)||!Tt(s)&&(s=s.findAncestor(Tt),!s))return;g.isAndroid&&e.preventDefault(),r.isFocused||i.focus();const a=n.editing.mapper.toModelElement(s);this._setSelectionOverElement(a)}_selectBlockContent(t){const e=this.editor,n=e.model,i=e.editing.mapper,r=n.schema,s=i.findMappedViewAncestor(this.editor.editing.view.createPositionAt(t,0)),a=gS(i.toModelElement(s),n.schema);return a?(n.change(c=>{const l=r.isLimit(a)?null:fS(c.createPositionAfter(a),r),d=c.createPositionAt(a,0),u=l?c.createPositionAt(l,0):c.createPositionAt(a,"end");c.setSelection(c.createRange(d,u))}),!0):!1}_handleSelectionChangeOnArrowKeyPress(t,e){const n=e.keyCode,i=this.editor.model,r=i.schema,s=i.document.selection,a=s.getSelectedElement(),c=zr(n,this.editor.locale.contentLanguageDirection),l=c=="down"||c=="right",d=c=="up"||c=="down";if(a&&r.isObject(a)){const f=l?s.getLastPosition():s.getFirstPosition(),p=r.getNearestSelectionRange(f,l?"forward":"backward");p&&(i.change(w=>{w.setSelection(p)}),e.preventDefault(),t.stop());return}if(!s.isCollapsed&&!e.shiftKey){const f=s.getFirstPosition(),p=s.getLastPosition(),w=f.nodeAfter,S=p.nodeBefore;(w&&r.isObject(w)||S&&r.isObject(S))&&(i.change(M=>{M.setSelection(l?p:f)}),e.preventDefault(),t.stop());return}if(!s.isCollapsed)return;const u=this._getObjectElementNextToSelection(l);if(u&&r.isObject(u)){if(r.isInline(u)&&d)return;this._setSelectionOverElement(u),e.preventDefault(),t.stop()}}_preventDefaultOnArrowKeyPress(t,e){const n=this.editor.model,i=n.schema,r=n.document.selection.getSelectedElement();r&&i.isObject(r)&&(e.preventDefault(),t.stop())}_handleDelete(t){const n=this.editor.model.document.selection;if(!this.editor.model.canEditAt(n)||!n.isCollapsed)return;const i=this._getObjectElementNextToSelection(t);if(i)return this.editor.model.change(r=>{let s=n.anchor.parent;for(;s.isEmpty;){const a=s;s=a.parent,r.remove(a)}this._setSelectionOverElement(i)}),!0}_setSelectionOverElement(t){this.editor.model.change(e=>{e.setSelection(e.createRangeOn(t))})}_getObjectElementNextToSelection(t){const e=this.editor.model,n=e.schema,i=e.document.selection,r=e.createSelection(i);if(e.modifySelection(r,{direction:t?"forward":"backward"}),r.isEqual(i))return null;const s=t?r.focus.nodeBefore:r.focus.nodeAfter;return s&&n.isObject(s)?s:null}_clearPreviouslySelectedWidgets(t){for(const e of this._previouslySelected)t.removeClass(bf,e);this._previouslySelected.clear()}}function uS(o){let t=o;for(;t;){if(t.is("editableElement")&&!t.is("rootElement"))return!0;if(Tt(t))return!1;t=t.parent}return!1}function hS(o,t){return t?Array.from(o.getAncestors()).includes(t):!1}function gS(o,t){for(const e of o.getAncestors({includeSelf:!0,parentFirst:!0})){if(t.checkChild(e,"$text"))return e;if(t.isLimit(e)&&!t.isObject(e))break}return null}function fS(o,t){const e=new Te({startPosition:o});for(const{item:n}of e){if(t.isLimit(n)||!n.is("element"))return null;if(t.checkChild(n,"$text"))return n}return null}class Hi extends L{constructor(){super(...arguments),this._toolbarDefinitions=new Map}static get requires(){return[Ni]}static get pluginName(){return"WidgetToolbarRepository"}init(){const t=this.editor;if(t.plugins.has("BalloonToolbar")){const e=t.plugins.get("BalloonToolbar");this.listenTo(e,"show",n=>{mS(t.editing.view.document.selection)&&n.stop()},{priority:"high"})}this._balloon=this.editor.plugins.get("ContextualBalloon"),this.on("change:isEnabled",()=>{this._updateToolbarsVisibility()}),this.listenTo(t.ui,"update",()=>{this._updateToolbarsVisibility()}),this.listenTo(t.ui.focusTracker,"change:isFocused",()=>{this._updateToolbarsVisibility()},{priority:"low"})}destroy(){super.destroy();for(const t of this._toolbarDefinitions.values())t.view.destroy()}register(t,{ariaLabel:e,items:n,getRelatedElement:i,balloonClassName:r="ck-toolbar-container"}){if(!n.length){return}const s=this.editor,a=s.t,c=new Os(s.locale);if(c.ariaLabel=e||a("Widget toolbar"),this._toolbarDefinitions.has(t))throw new b("widget-toolbar-duplicated",this,{toolbarId:t});const l={view:c,getRelatedElement:i,balloonClassName:r,itemsConfig:n,initialized:!1};s.ui.addToolbar(c,{isContextual:!0,beforeFocus:()=>{const d=i(s.editing.view.document.selection);d&&this._showToolbar(l,d)},afterBlur:()=>{this._hideToolbar(l)}}),this._toolbarDefinitions.set(t,l)}_updateToolbarsVisibility(){let t=0,e=null,n=null;for(const i of this._toolbarDefinitions.values()){const r=i.getRelatedElement(this.editor.editing.view.document.selection);if(!this.isEnabled||!r)this._isToolbarInBalloon(i)&&this._hideToolbar(i);else if(!this.editor.ui.focusTracker.isFocused)this._isToolbarVisible(i)&&this._hideToolbar(i);else{const s=r.getAncestors().length;s>t&&(t=s,e=r,n=i)}}n&&this._showToolbar(n,e)}_hideToolbar(t){this._balloon.remove(t.view),this.stopListening(this._balloon,"change:visibleView")}_showToolbar(t,e){this._isToolbarVisible(t)?Sf(this.editor,e):this._isToolbarInBalloon(t)||(t.initialized||(t.initialized=!0,t.view.fillFromConfig(t.itemsConfig,this.editor.ui.componentFactory)),this._balloon.add({view:t.view,position:Tf(this.editor,e),balloonClassName:t.balloonClassName}),this.listenTo(this._balloon,"change:visibleView",()=>{for(const n of this._toolbarDefinitions.values())if(this._isToolbarVisible(n)){const i=n.getRelatedElement(this.editor.editing.view.document.selection);Sf(this.editor,i)}}))}_isToolbarVisible(t){return this._balloon.visibleView===t.view}_isToolbarInBalloon(t){return this._balloon.hasView(t.view)}}function Sf(o,t){const e=o.plugins.get("ContextualBalloon"),n=Tf(o,t);e.updatePosition(n)}function Tf(o,t){const e=o.editing.view,n=Fn.defaultPositions;return{target:e.domConverter.mapViewToDom(t),positions:[n.northArrowSouth,n.northArrowSouthWest,n.northArrowSouthEast,n.southArrowNorth,n.southArrowNorthWest,n.southArrowNorthEast,n.viewportStickyNorth]}}function mS(o){const t=o.getSelectedElement();return!!(t&&Tt(t))}class pS extends st(){constructor(t){super(),this.set("activeHandlePosition",null),this.set("proposedWidthPercents",null),this.set("proposedWidth",null),this.set("proposedHeight",null),this.set("proposedHandleHostWidth",null),this.set("proposedHandleHostHeight",null),this._options=t,this._referenceCoordinates=null}get originalWidth(){return this._originalWidth}get originalHeight(){return this._originalHeight}get originalWidthPercents(){return this._originalWidthPercents}get aspectRatio(){return this._aspectRatio}begin(t,e,n){const i=new Q(e);this.activeHandlePosition=AS(t),this._referenceCoordinates=bS(e,CS(this.activeHandlePosition)),this._originalWidth=i.width,this._originalHeight=i.height,this._aspectRatio=i.width/i.height;const r=n.style.width;r&&r.match(/^\d+(\.\d*)?%$/)?this._originalWidthPercents=parseFloat(r):this._originalWidthPercents=kS(n,i)}update(t){this.proposedWidth=t.width,this.proposedHeight=t.height,this.proposedWidthPercents=t.widthPercents,this.proposedHandleHostWidth=t.handleHostWidth,this.proposedHandleHostHeight=t.handleHostHeight}}function kS(o,t){const e=o.parentElement;let n=parseFloat(e.ownerDocument.defaultView.getComputedStyle(e).width);const i=5;let r=0,s=e;for(;isNaN(n);){if(s=s.parentElement,++r>i)return 0;n=parseFloat(e.ownerDocument.defaultView.getComputedStyle(s).width)}return t.width/n*100}function bS(o,t){const e=new Q(o),n=t.split("-"),i={x:n[1]=="right"?e.right:e.left,y:n[0]=="bottom"?e.bottom:e.top};return i.x+=o.ownerDocument.defaultView.scrollX,i.y+=o.ownerDocument.defaultView.scrollY,i}function wS(o){return`ck-widget__resizer__handle-${o}`}function AS(o){const t=["top-left","top-right","bottom-right","bottom-left"];for(const e of t)if(o.classList.contains(wS(e)))return e}function CS(o){const t=o.split("-"),e={top:"bottom",bottom:"top",left:"right",right:"left"};return`${e[t[0]]}-${e[t[1]]}`}class _S extends Z{constructor(){super();const t=this.bindTemplate;this.setTemplate({tag:"div",attributes:{class:["ck","ck-size-view",t.to("_viewPosition",e=>e?`ck-orientation-${e}`:"")],style:{display:t.if("_isVisible","none",e=>!e)}},children:[{text:t.to("_label")}]})}_bindToState(t,e){this.bind("_isVisible").to(e,"proposedWidth",e,"proposedHeight",(n,i)=>n!==null&&i!==null),this.bind("_label").to(e,"proposedHandleHostWidth",e,"proposedHandleHostHeight",e,"proposedWidthPercents",(n,i,r)=>t.unit==="px"?`${n}×${i}`:`${r}%`),this.bind("_viewPosition").to(e,"activeHandlePosition",e,"proposedHandleHostWidth",e,"proposedHandleHostHeight",(n,i,r)=>i<50||r<50?"above-center":n)}_dismiss(){this.unbind(),this._isVisible=!1}}class If extends st(){constructor(t){super(),this._viewResizerWrapper=null,this._options=t,this.set("isEnabled",!0),this.set("isSelected",!1),this.bind("isVisible").to(this,"isEnabled",this,"isSelected",(e,n)=>e&&n),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"})}get state(){return this._state}show(){this._options.editor.editing.view.change(e=>{e.removeClass("ck-hidden",this._viewResizerWrapper)})}hide(){this._options.editor.editing.view.change(e=>{e.addClass("ck-hidden",this._viewResizerWrapper)})}attach(){const t=this,e=this._options.viewElement;this._options.editor.editing.view.change(i=>{const r=i.createUIElement("div",{class:"ck ck-reset_all ck-widget__resizer"},function(s){const a=this.toDomElement(s);return t._appendHandles(a),t._appendSizeUI(a),a});i.insert(i.createPositionAt(e,"end"),r),i.addClass("ck-widget_with-resizer",e),this._viewResizerWrapper=r,this.isVisible||this.hide()}),this.on("change:isVisible",()=>{this.isVisible?(this.show(),this.redraw()):this.hide()})}begin(t){this._state=new pS(this._options),this._sizeView._bindToState(this._options,this.state),this._initialViewWidth=this._options.viewElement.getStyle("width"),this.state.begin(t,this._getHandleHost(),this._getResizeHost())}updateSize(t){const e=this._proposeNewSize(t);this._options.editor.editing.view.change(l=>{const d=this._options.unit||"%",u=(d==="%"?e.widthPercents:e.width)+d;l.setStyle("width",u,this._options.viewElement)});const i=this._getHandleHost(),r=new Q(i),s=Math.round(r.width),a=Math.round(r.height),c=new Q(i);e.width=Math.round(c.width),e.height=Math.round(c.height),this.redraw(r),this.state.update({...e,handleHostWidth:s,handleHostHeight:a})}commit(){const t=this._options.unit||"%",e=(t==="%"?this.state.proposedWidthPercents:this.state.proposedWidth)+t;this._options.editor.editing.view.change(()=>{this._cleanup(),this._options.onCommit(e)})}cancel(){this._cleanup()}destroy(){this.cancel()}redraw(t){const e=this._domResizerWrapper;if(!xS(e))return;const n=e.parentElement,i=this._getHandleHost(),r=this._viewResizerWrapper,s=[r.getStyle("width"),r.getStyle("height"),r.getStyle("left"),r.getStyle("top")];let a;if(n.isSameNode(i)){const c=t||new Q(i);a=[c.width+"px",c.height+"px",void 0,void 0]}else a=[i.offsetWidth+"px",i.offsetHeight+"px",i.offsetLeft+"px",i.offsetTop+"px"];jt(s,a)!=="same"&&this._options.editor.editing.view.change(c=>{c.setStyle({width:a[0],height:a[1],left:a[2],top:a[3]},r)})}containsHandle(t){return this._domResizerWrapper.contains(t)}static isResizeHandle(t){return t.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(t){const e=this.state,n=yS(t),i=this._options.isCentered?this._options.isCentered(this):!0,r={x:e._referenceCoordinates.x-(n.x+e.originalWidth),y:n.y-e.originalHeight-e._referenceCoordinates.y};i&&e.activeHandlePosition.endsWith("-right")&&(r.x=n.x-(e._referenceCoordinates.x+e.originalWidth)),i&&(r.x*=2);let s=Math.abs(e.originalWidth+r.x),a=Math.abs(e.originalHeight+r.y);return(s/e.aspectRatio>a?"width":"height")=="width"?a=s/e.aspectRatio:s=a*e.aspectRatio,{width:Math.round(s),height:Math.round(a),widthPercents:Math.min(Math.round(e.originalWidthPercents/e.originalWidth*s*100)/100,100)}}_getResizeHost(){const t=this._domResizerWrapper.parentElement;return this._options.getResizeHost(t)}_getHandleHost(){const t=this._domResizerWrapper.parentElement;return this._options.getHandleHost(t)}get _domResizerWrapper(){return this._options.editor.editing.view.domConverter.mapViewToDom(this._viewResizerWrapper)}_appendHandles(t){const e=["top-left","top-right","bottom-right","bottom-left"];for(const n of e)t.appendChild(new re({tag:"div",attributes:{class:`ck-widget__resizer__handle ${vS(n)}`}}).render())}_appendSizeUI(t){this._sizeView=new _S,this._sizeView.render(),t.appendChild(this._sizeView.element)}}function vS(o){return`ck-widget__resizer__handle-${o}`}function yS(o){return{x:o.pageX,y:o.pageY}}function xS(o){return o&&o.ownerDocument&&o.ownerDocument.contains(o)}var Mf=P(4875),Ma={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ma.insert="head",Ma.singleton=!0,R()(Mf.Z,Ma),Mf.Z.locals;class Ba extends L{constructor(){super(...arguments),this._resizers=new Map}static get pluginName(){return"WidgetResize"}init(){const t=this.editor.editing,e=H.window.document;this.set("selectedResizer",null),this.set("_activeResizer",null),t.view.addObserver(vi),this._observer=new(Kt()),this.listenTo(t.view.document,"mousedown",this._mouseDownListener.bind(this),{priority:"high"}),this._observer.listenTo(e,"mousemove",this._mouseMoveListener.bind(this)),this._observer.listenTo(e,"mouseup",this._mouseUpListener.bind(this)),this._redrawSelectedResizerThrottled=So(()=>this.redrawSelectedResizer(),200),this.editor.ui.on("update",this._redrawSelectedResizerThrottled),this.editor.model.document.on("change",()=>{for(const[i,r]of this._resizers)i.isAttached()||(this._resizers.delete(i),r.destroy())},{priority:"lowest"}),this._observer.listenTo(H.window,"resize",this._redrawSelectedResizerThrottled);const n=this.editor.editing.view.document.selection;n.on("change",()=>{const i=n.getSelectedElement(),r=this.getResizerByViewElement(i)||null;r?this.select(r):this.deselect()})}redrawSelectedResizer(){this.selectedResizer&&this.selectedResizer.isVisible&&this.selectedResizer.redraw()}destroy(){super.destroy(),this._observer.stopListening();for(const t of this._resizers.values())t.destroy();this._redrawSelectedResizerThrottled.cancel()}select(t){this.deselect(),this.selectedResizer=t,this.selectedResizer.isSelected=!0}deselect(){this.selectedResizer&&(this.selectedResizer.isSelected=!1),this.selectedResizer=null}attachTo(t){const e=new If(t),n=this.editor.plugins;if(e.attach(),n.has("WidgetToolbarRepository")){const s=n.get("WidgetToolbarRepository");e.on("begin",()=>{s.forceDisabled("resize")},{priority:"lowest"}),e.on("cancel",()=>{s.clearForceDisabled("resize")},{priority:"highest"}),e.on("commit",()=>{s.clearForceDisabled("resize")},{priority:"highest"})}this._resizers.set(t.viewElement,e);const r=this.editor.editing.view.document.selection.getSelectedElement();return this.getResizerByViewElement(r)==e&&this.select(e),e}getResizerByViewElement(t){return this._resizers.get(t)}_getResizerByHandle(t){for(const e of this._resizers.values())if(e.containsHandle(t))return e}_mouseDownListener(t,e){const n=e.domTarget;If.isResizeHandle(n)&&(this._activeResizer=this._getResizerByHandle(n)||null,this._activeResizer&&(this._activeResizer.begin(n),t.stop(),e.preventDefault()))}_mouseMoveListener(t,e){this._activeResizer&&this._activeResizer.updateSize(e)}_mouseUpListener(){this._activeResizer&&(this._activeResizer.commit(),this._activeResizer=null)}}const Na=Tn("px");class ES extends Z{constructor(){super();const t=this.bindTemplate;this.set({isVisible:!1,left:null,top:null,width:null}),this.setTemplate({tag:"div",attributes:{class:["ck","ck-clipboard-drop-target-line",t.if("isVisible","ck-hidden",e=>!e)],style:{left:t.to("left",e=>Na(e)),top:t.to("top",e=>Na(e)),width:t.to("width",e=>Na(e))}}})}}class Ui extends L{constructor(){super(...arguments),this.removeDropMarkerDelayed=Lr(()=>this.removeDropMarker(),40),this._updateDropMarkerThrottled=So(t=>this._updateDropMarker(t),40),this._reconvertMarkerThrottled=So(()=>{this.editor.model.markers.has("drop-target")&&this.editor.editing.reconvertMarker("drop-target")},0),this._dropTargetLineView=new ES,this._domEmitter=new(Kt()),this._scrollables=new Map}static get pluginName(){return"DragDropTarget"}init(){this._setupDropMarker()}destroy(){this._domEmitter.stopListening();for(const{resizeObserver:t}of this._scrollables.values())t.destroy();return this._updateDropMarkerThrottled.cancel(),this.removeDropMarkerDelayed.cancel(),this._reconvertMarkerThrottled.cancel(),super.destroy()}updateDropMarker(t,e,n,i,r,s){this.removeDropMarkerDelayed.cancel();const a=Bf(this.editor,t,e,n,i,r,s);if(a){if(s&&s.containsRange(a))return this.removeDropMarker();this._updateDropMarkerThrottled(a)}}getFinalDropRange(t,e,n,i,r,s){const a=Bf(this.editor,t,e,n,i,r,s);return this.removeDropMarker(),a}removeDropMarker(){const t=this.editor.model;this.removeDropMarkerDelayed.cancel(),this._updateDropMarkerThrottled.cancel(),this._dropTargetLineView.isVisible=!1,t.markers.has("drop-target")&&t.change(e=>{e.removeMarker("drop-target")})}_setupDropMarker(){const t=this.editor;t.ui.view.body.add(this._dropTargetLineView),t.conversion.for("editingDowncast").markerToHighlight({model:"drop-target",view:{classes:["ck-clipboard-drop-target-range"]}}),t.conversion.for("editingDowncast").markerToElement({model:"drop-target",view:(e,{writer:n})=>{if(t.model.schema.checkChild(e.markerRange.start,"$text"))return this._dropTargetLineView.isVisible=!1,this._createDropTargetPosition(n);e.markerRange.isCollapsed?this._updateDropTargetLine(e.markerRange):this._dropTargetLineView.isVisible=!1}})}_updateDropMarker(t){const e=this.editor,n=e.model.markers;e.model.change(i=>{n.has("drop-target")?n.get("drop-target").getRange().isEqual(t)||i.updateMarker("drop-target",{range:t}):i.addMarker("drop-target",{range:t,usingOperation:!1,affectsData:!1})})}_createDropTargetPosition(t){return t.createUIElement("span",{class:"ck ck-clipboard-drop-target-position"},function(e){const n=this.toDomElement(e);return n.append("⁠",e.createElement("span"),"⁠"),n})}_updateDropTargetLine(t){const e=this.editor.editing,n=t.start.nodeBefore,i=t.start.nodeAfter,r=t.start.parent,s=n?e.mapper.toViewElement(n):null,a=s?e.view.domConverter.mapViewToDom(s):null,c=i?e.mapper.toViewElement(i):null,l=c?e.view.domConverter.mapViewToDom(c):null,d=e.mapper.toViewElement(r);if(!d)return;const u=e.view.domConverter.mapViewToDom(d),f=this._getScrollableRect(d),{scrollX:p,scrollY:w}=H.window,S=a?new Q(a):null,M=l?new Q(l):null,z=new Q(u).excludeScrollbarsAndBorders(),V=S?S.bottom:z.top,tt=M?M.top:z.bottom,ct=H.window.getComputedStyle(u),mt=V<=tt?(V+tt)/2:tt;if(f.topa.schema.checkChild(f,w))){if(a.schema.checkChild(f,"$text"))return a.createRange(f);if(u)return Gi(o,zf(o,u.parent),n,i)}}}else if(a.schema.isInline(d))return Gi(o,d,n,i)}if(a.schema.isBlock(d))return Gi(o,d,n,i);if(a.schema.checkChild(d,"$block")){const u=Array.from(d.getChildren()).filter(w=>w.is("element")&&!DS(o,w));let f=0,p=u.length;if(p==0)return a.createRange(a.createPositionAt(d,"end"));for(;f{i?(this.forceDisabled("readOnlyMode"),this._isBlockDragging=!1):this.clearForceDisabled("readOnlyMode")}),g.isAndroid&&this.forceDisabled("noAndroidSupport"),t.plugins.has("BlockToolbar")){const n=t.plugins.get("BlockToolbar").buttonView.element;this._domEmitter.listenTo(n,"dragstart",(i,r)=>this._handleBlockDragStart(r)),this._domEmitter.listenTo(H.document,"dragover",(i,r)=>this._handleBlockDragging(r)),this._domEmitter.listenTo(H.document,"drop",(i,r)=>this._handleBlockDragging(r)),this._domEmitter.listenTo(H.document,"dragend",()=>this._handleBlockDragEnd(),{useCapture:!0}),this.isEnabled&&n.setAttribute("draggable","true"),this.on("change:isEnabled",(i,r,s)=>{n.setAttribute("draggable",s?"true":"false")})}}destroy(){return this._domEmitter.stopListening(),super.destroy()}_handleBlockDragStart(t){if(!this.isEnabled)return;const e=this.editor.model,n=e.document.selection,i=this.editor.editing.view,r=Array.from(n.getSelectedBlocks()),s=e.createRange(e.createPositionBefore(r[0]),e.createPositionAfter(r[r.length-1]));e.change(a=>a.setSelection(s)),this._isBlockDragging=!0,i.focus(),i.getObserver(zo).onDomEvent(t)}_handleBlockDragging(t){if(!this.isEnabled||!this._isBlockDragging)return;const e=t.clientX+(this.editor.locale.contentLanguageDirection=="ltr"?100:-100),n=t.clientY,i=document.elementFromPoint(e,n),r=this.editor.editing.view;!i||!i.closest(".ck-editor__editable")||r.getObserver(zo).onDomEvent({...t,type:t.type,dataTransfer:t.dataTransfer,target:i,clientX:e,clientY:n,preventDefault:()=>t.preventDefault(),stopPropagation:()=>t.stopPropagation()})}_handleBlockDragEnd(){this._isBlockDragging=!1}}var Lf=P(799),za={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};za.insert="head",za.singleton=!0,R()(Lf.Z,za),Lf.Z.locals;class IS extends L{constructor(){super(...arguments),this._clearDraggableAttributesDelayed=Lr(()=>this._clearDraggableAttributes(),40),this._blockMode=!1,this._domEmitter=new(Kt())}static get pluginName(){return"DragDrop"}static get requires(){return[ke,Lo,Ui,TS]}init(){const t=this.editor,e=t.editing.view;this._draggedRange=null,this._draggingUid="",this._draggableElement=null,e.addObserver(zo),e.addObserver(vi),this._setupDragging(),this._setupContentInsertionIntegration(),this._setupClipboardInputIntegration(),this._setupDraggableAttributeHandling(),this.listenTo(t,"change:isReadOnly",(n,i,r)=>{r?this.forceDisabled("readOnlyMode"):this.clearForceDisabled("readOnlyMode")}),this.on("change:isEnabled",(n,i,r)=>{r||this._finalizeDragging(!1)}),g.isAndroid&&this.forceDisabled("noAndroidSupport")}destroy(){return this._draggedRange&&(this._draggedRange.detach(),this._draggedRange=null),this._previewContainer&&this._previewContainer.remove(),this._domEmitter.stopListening(),this._clearDraggableAttributesDelayed.cancel(),super.destroy()}_setupDragging(){const t=this.editor,e=t.model,n=t.editing.view,i=n.document,r=t.plugins.get(Ui);this.listenTo(i,"dragstart",(s,a)=>{if(a.target&&a.target.is("editableElement")){a.preventDefault();return}if(this._prepareDraggedRange(a.target),!this._draggedRange){a.preventDefault();return}this._draggingUid=Vt(),a.dataTransfer.effectAllowed=this.isEnabled?"copyMove":"copy",a.dataTransfer.setData("application/ckeditor5-dragging-uid",this._draggingUid);const c=e.createSelection(this._draggedRange.toRange());this.editor.plugins.get("ClipboardPipeline")._fireOutputTransformationEvent(a.dataTransfer,c,"dragstart");const{dataTransfer:d,domTarget:u,domEvent:f}=a,{clientX:p}=f;this._updatePreview({dataTransfer:d,domTarget:u,clientX:p}),a.stopPropagation(),this.isEnabled||(this._draggedRange.detach(),this._draggedRange=null,this._draggingUid="")},{priority:"low"}),this.listenTo(i,"dragend",(s,a)=>{this._finalizeDragging(!a.dataTransfer.isCanceled&&a.dataTransfer.dropEffect=="move")},{priority:"low"}),this._domEmitter.listenTo(H.document,"dragend",()=>{this._blockMode=!1},{useCapture:!0}),this.listenTo(i,"dragenter",()=>{this.isEnabled&&n.focus()}),this.listenTo(i,"dragleave",()=>{r.removeDropMarkerDelayed()}),this.listenTo(i,"dragging",(s,a)=>{if(!this.isEnabled){a.dataTransfer.dropEffect="none";return}const{clientX:c,clientY:l}=a.domEvent;r.updateDropMarker(a.target,a.targetRanges,c,l,this._blockMode,this._draggedRange),this._draggedRange||(a.dataTransfer.dropEffect="copy"),g.isGecko||(a.dataTransfer.effectAllowed=="copy"?a.dataTransfer.dropEffect="copy":["all","copyMove"].includes(a.dataTransfer.effectAllowed)&&(a.dataTransfer.dropEffect="move")),s.stop()},{priority:"low"})}_setupClipboardInputIntegration(){const t=this.editor,n=t.editing.view.document,i=t.plugins.get(Ui);this.listenTo(n,"clipboardInput",(r,s)=>{if(s.method!="drop")return;const{clientX:a,clientY:c}=s.domEvent,l=i.getFinalDropRange(s.target,s.targetRanges,a,c,this._blockMode,this._draggedRange);if(!l){this._finalizeDragging(!1),r.stop();return}if(this._draggedRange&&this._draggingUid!=s.dataTransfer.getData("application/ckeditor5-dragging-uid")&&(this._draggedRange.detach(),this._draggedRange=null,this._draggingUid=""),Pf(s.dataTransfer)=="move"&&this._draggedRange&&this._draggedRange.containsRange(l,!0)){this._finalizeDragging(!1),r.stop();return}s.targetRanges=[t.editing.mapper.toViewRange(l)]},{priority:"high"})}_setupContentInsertionIntegration(){const t=this.editor.plugins.get(ke);t.on("contentInsertion",(e,n)=>{if(!this.isEnabled||n.method!=="drop")return;const i=n.targetRanges.map(r=>this.editor.editing.mapper.toModelRange(r));this.editor.model.change(r=>r.setSelection(i))},{priority:"high"}),t.on("contentInsertion",(e,n)=>{if(!this.isEnabled||n.method!=="drop")return;const i=Pf(n.dataTransfer)=="move",r=!n.resultRange||!n.resultRange.isCollapsed;this._finalizeDragging(r&&i)},{priority:"lowest"})}_setupDraggableAttributeHandling(){const t=this.editor,e=t.editing.view,n=e.document;this.listenTo(n,"mousedown",(i,r)=>{if(g.isAndroid||!r)return;this._clearDraggableAttributesDelayed.cancel();let s=Of(r.target);if(g.isBlink&&!t.isReadOnly&&!s&&!n.selection.isCollapsed){const a=n.selection.getSelectedElement();(!a||!Tt(a))&&(s=n.selection.editableElement)}s&&(e.change(a=>{a.setAttribute("draggable","true",s)}),this._draggableElement=t.editing.mapper.toModelElement(s))}),this.listenTo(n,"mouseup",()=>{g.isAndroid||this._clearDraggableAttributesDelayed()})}_clearDraggableAttributes(){const t=this.editor.editing;t.view.change(e=>{this._draggableElement&&this._draggableElement.root.rootName!="$graveyard"&&e.removeAttribute("draggable",t.mapper.toViewElement(this._draggableElement)),this._draggableElement=null})}_finalizeDragging(t){const e=this.editor,n=e.model;e.plugins.get(Ui).removeDropMarker(),this._clearDraggableAttributes(),e.plugins.has("WidgetToolbarRepository")&&e.plugins.get("WidgetToolbarRepository").clearForceDisabled("dragDrop"),this._draggingUid="",this._previewContainer&&(this._previewContainer.remove(),this._previewContainer=void 0),this._draggedRange&&(t&&this.isEnabled&&n.change(r=>{const s=n.createSelection(this._draggedRange);n.deleteContent(s,{doNotAutoparagraph:!0});const a=s.getFirstPosition().parent;a.isEmpty&&!n.schema.checkChild(a,"$text")&&n.schema.checkChild(a,"paragraph")&&r.insertElement("paragraph",a,0)}),this._draggedRange.detach(),this._draggedRange=null)}_prepareDraggedRange(t){const e=this.editor,n=e.model,i=n.document.selection,r=t?Of(t):null;if(r){const l=e.editing.mapper.toModelElement(r);this._draggedRange=Xt.fromRange(n.createRangeOn(l)),this._blockMode=n.schema.isBlock(l),e.plugins.has("WidgetToolbarRepository")&&e.plugins.get("WidgetToolbarRepository").forceDisabled("dragDrop");return}if(i.isCollapsed&&!i.getFirstPosition().parent.isEmpty)return;const s=Array.from(i.getSelectedBlocks()),a=i.getFirstRange();if(s.length==0){this._draggedRange=Xt.fromRange(a);return}const c=Rf(n,s);if(s.length>1)this._draggedRange=Xt.fromRange(c),this._blockMode=!0;else if(s.length==1){const l=a.start.isTouching(c.start)&&a.end.isTouching(c.end);this._draggedRange=Xt.fromRange(l?c:a),this._blockMode=l}n.change(l=>l.setSelection(this._draggedRange.toRange()))}_updatePreview({dataTransfer:t,domTarget:e,clientX:n}){const i=this.editor.editing.view,r=i.document.selection.editableElement,s=i.domConverter.mapViewToDom(r),a=H.window.getComputedStyle(s);this._previewContainer?this._previewContainer.firstElementChild&&this._previewContainer.removeChild(this._previewContainer.firstElementChild):(this._previewContainer=Qn(H.document,"div",{style:"position: fixed; left: -999999px;"}),H.document.body.appendChild(this._previewContainer));const c=new Q(s);if(s.contains(e))return;const l=parseFloat(a.paddingLeft),d=Qn(H.document,"div");d.className="ck ck-content",d.style.width=a.width,d.style.paddingLeft=`${c.left-n+l}px`,g.isiOS&&(d.style.backgroundColor="white"),d.innerHTML=t.getData("text/html"),t.setDragImage(d,0,0),this._previewContainer.appendChild(d)}}function Pf(o){return g.isGecko?o.dropEffect:["all","copyMove"].includes(o.effectAllowed)?"move":"copy"}function Of(o){if(o.is("editableElement"))return null;if(o.hasClass("ck-widget__selection-handle"))return o.findAncestor(Tt);if(Tt(o))return o;const t=o.findAncestor(e=>Tt(e)||e.is("editableElement"));return Tt(t)?t:null}function Rf(o,t){const e=t[0],n=t[t.length-1],i=e.getCommonAncestor(n),r=o.createPositionBefore(e),s=o.createPositionAfter(n);if(i&&i.is("element")&&!o.schema.isLimit(i)){const a=o.createRangeOn(i),c=r.isTouching(a.start),l=s.isTouching(a.end);if(c&&l)return Rf(o,[i])}return o.createRange(r,s)}class MS extends L{static get pluginName(){return"PastePlainText"}static get requires(){return[ke]}init(){const t=this.editor,e=t.model,n=t.editing.view,i=n.document,r=e.document.selection;let s=!1;n.addObserver(zo),this.listenTo(i,"keydown",(a,c)=>{s=c.shiftKey}),t.plugins.get(ke).on("contentInsertion",(a,c)=>{!s&&!BS(c.content,e.schema)||e.change(l=>{const d=Array.from(r.getAttributes()).filter(([f])=>e.schema.getAttributeProperties(f).isFormatting);r.isCollapsed||e.deleteContent(r,{doNotAutoparagraph:!0}),d.push(...r.getAttributes());const u=l.createRangeIn(c.content);for(const f of u.getItems())f.is("$textProxy")&&l.setAttributes(d,f)})})}}function BS(o,t){if(o.childCount>1)return!1;const e=o.getChild(0);return t.isObject(e)?!1:Array.from(e.getAttributeKeys()).length==0}class jf extends L{static get pluginName(){return"Clipboard"}static get requires(){return[ke,IS,MS]}}class NS extends X{constructor(t){super(t),this.affectsData=!1}execute(){const t=this.editor.model,e=t.document.selection;let n=t.schema.getLimitElement(e);if(e.containsEntireContent(n)||!Ff(t.schema,n))do if(n=n.parent,!n)return;while(!Ff(t.schema,n));t.change(i=>{i.setSelection(n,"in")})}}function Ff(o,t){return o.isLimit(t)&&(o.checkChild(t,"$text")||o.checkChild(t,"paragraph"))}const zS=so("Ctrl+A");class LS extends L{static get pluginName(){return"SelectAllEditing"}init(){const t=this.editor,n=t.editing.view.document;t.commands.add("selectAll",new NS(t)),this.listenTo(n,"keydown",(i,r)=>{In(r)===zS&&(t.execute("selectAll"),r.preventDefault())})}}const PS='';class OS extends L{static get pluginName(){return"SelectAllUI"}init(){const t=this.editor;t.ui.componentFactory.add("selectAll",e=>{const n=t.commands.get("selectAll"),i=new at(e),r=e.t;return i.set({label:r("Select all"),icon:PS,keystroke:"Ctrl+A",tooltip:!0}),i.bind("isEnabled").to(n,"isEnabled"),this.listenTo(i,"execute",()=>{t.execute("selectAll"),t.editing.view.focus()}),i})}}class RS extends L{static get requires(){return[LS,OS]}static get pluginName(){return"SelectAll"}}class Vf extends X{constructor(t){super(t),this._stack=[],this._createdBatches=new WeakSet,this.refresh(),this._isEnabledBasedOnSelection=!1,this.listenTo(t.data,"set",(e,n)=>{n[1]={...n[1]};const i=n[1];i.batchType||(i.batchType={isUndoable:!1})},{priority:"high"}),this.listenTo(t.data,"set",(e,n)=>{n[1].batchType.isUndoable||this.clearStack()})}refresh(){this.isEnabled=this._stack.length>0}get createdBatches(){return this._createdBatches}addBatch(t){const e=this.editor.model.document.selection,n={ranges:e.hasOwnRange?Array.from(e.getRanges()):[],isBackward:e.isBackward};this._stack.push({batch:t,selection:n}),this.refresh()}clearStack(){this._stack=[],this.refresh()}_restoreSelection(t,e,n){const i=this.editor.model,r=i.document,s=[],a=t.map(l=>l.getTransformedByOperations(n)),c=a.flat();for(const l of a){const d=l.filter(u=>u.root!=r.graveyard).filter(u=>!FS(u,c));d.length&&(jS(d),s.push(d[0]))}s.length&&i.change(l=>{l.setSelection(s,{backward:e})})}_undo(t,e){const n=this.editor.model,i=n.document;this._createdBatches.add(e);const r=t.operations.slice().filter(s=>s.isDocumentOperation);r.reverse();for(const s of r){const a=s.baseVersion+1,c=Array.from(i.history.getOperations(a)),d=z5([s.getReversed()],c,{useRelations:!0,document:this.editor.model.document,padWithNoOps:!1,forceWeakRemove:!0}).operationsA;for(let u of d){const f=u.affectedSelectable;f&&!n.canEditAt(f)&&(u=new St(u.baseVersion)),e.addOperation(u),n.applyOperation(u),i.history.setOperationAsUndone(s,u)}}}}function jS(o){o.sort((t,e)=>t.start.isBefore(e.start)?-1:1);for(let t=1;te!==o&&e.containsRange(o,!0))}class VS extends Vf{execute(t=null){const e=t?this._stack.findIndex(r=>r.batch==t):this._stack.length-1,n=this._stack.splice(e,1)[0],i=this.editor.model.createBatch({isUndo:!0});this.editor.model.enqueueChange(i,()=>{this._undo(n.batch,i);const r=this.editor.model.document.history.getOperations(n.batch.baseVersion);this._restoreSelection(n.selection.ranges,n.selection.isBackward,r)}),this.fire("revert",n.batch,i),this.refresh()}}class HS extends Vf{execute(){const t=this._stack.pop(),e=this.editor.model.createBatch({isUndo:!0});this.editor.model.enqueueChange(e,()=>{const i=t.batch.operations[t.batch.operations.length-1].baseVersion+1,r=this.editor.model.document.history.getOperations(i);this._restoreSelection(t.selection.ranges,t.selection.isBackward,r),this._undo(t.batch,e)}),this.refresh()}}class US extends L{constructor(){super(...arguments),this._batchRegistry=new WeakSet}static get pluginName(){return"UndoEditing"}init(){const t=this.editor;this._undoCommand=new VS(t),this._redoCommand=new HS(t),t.commands.add("undo",this._undoCommand),t.commands.add("redo",this._redoCommand),this.listenTo(t.model,"applyOperation",(e,n)=>{const i=n[0];if(!i.isDocumentOperation)return;const r=i.batch,s=this._redoCommand.createdBatches.has(r),a=this._undoCommand.createdBatches.has(r);this._batchRegistry.has(r)||(this._batchRegistry.add(r),r.isUndoable&&(s?this._undoCommand.addBatch(r):a||(this._undoCommand.addBatch(r),this._redoCommand.clearStack())))},{priority:"highest"}),this.listenTo(this._undoCommand,"revert",(e,n,i)=>{this._redoCommand.addBatch(i)}),t.keystrokes.set("CTRL+Z","undo"),t.keystrokes.set("CTRL+Y","redo"),t.keystrokes.set("CTRL+SHIFT+Z","redo")}}class GS extends L{static get pluginName(){return"UndoUI"}init(){const t=this.editor,e=t.locale,n=t.t,i=e.uiLanguageDirection=="ltr"?J.undo:J.redo,r=e.uiLanguageDirection=="ltr"?J.redo:J.undo;this._addButton("undo",n("Undo"),"CTRL+Z",i),this._addButton("redo",n("Redo"),"CTRL+Y",r)}_addButton(t,e,n,i){const r=this.editor;r.ui.componentFactory.add(t,s=>{const a=r.commands.get(t),c=new at(s);return c.set({label:e,icon:i,keystroke:n,tooltip:!0}),c.bind("isEnabled").to(a,"isEnabled"),this.listenTo(c,"execute",()=>{r.execute(t),r.editing.view.focus()}),c})}}class La extends L{static get requires(){return[US,GS]}static get pluginName(){return"Undo"}}class WS extends L{static get requires(){return[jf,ji,RS,y4,e4,La]}static get pluginName(){return"Essentials"}}class qS extends X{constructor(t){super(t),this._isEnabledBasedOnSelection=!1}refresh(){const t=this.editor.model,e=t.document,n=Lt(e.selection.getSelectedBlocks());this.value=!!n&&n.is("element","paragraph"),this.isEnabled=!!n&&Hf(n,t.schema)}execute(t={}){const e=this.editor.model,n=e.document,i=t.selection||n.selection;e.canEditAt(i)&&e.change(r=>{const s=i.getSelectedBlocks();for(const a of s)!a.is("element","paragraph")&&Hf(a,e.schema)&&r.rename(a,"paragraph")})}}function Hf(o,t){return t.checkChild(o.parent,"paragraph")&&!t.isObject(o)}class ZS extends X{constructor(t){super(t),this._isEnabledBasedOnSelection=!1}execute(t){const e=this.editor.model,n=t.attributes;let i=t.position;e.canEditAt(i)&&e.change(r=>{if(i=this._findPositionToInsertParagraph(i,r),!i)return;const s=r.createElement("paragraph");n&&e.schema.setAllowedAttributes(s,n,r),e.insertContent(s,i),r.setSelection(s,"in")})}_findPositionToInsertParagraph(t,e){const n=this.editor.model;if(n.schema.checkChild(t,"paragraph"))return t;const i=n.schema.findAllowedParent(t,"paragraph");if(!i)return null;const r=t.parent,s=n.schema.checkChild(r,"$text");return r.isEmpty||s&&t.isAtEnd?n.createPositionAfter(r):!r.isEmpty&&s&&t.isAtStart?n.createPositionBefore(r):e.split(t,i).position}}class Wi extends L{static get pluginName(){return"Paragraph"}init(){const t=this.editor,e=t.model;t.commands.add("paragraph",new qS(t)),t.commands.add("insertParagraph",new ZS(t)),e.schema.register("paragraph",{inheritAllFrom:"$block"}),t.conversion.elementToElement({model:"paragraph",view:"p"}),t.conversion.for("upcast").elementToElement({model:(n,{writer:i})=>!Wi.paragraphLikeElements.has(n.name)||n.isEmpty?null:i.createElement("paragraph"),view:/.+/,converterPriority:"low"})}}Wi.paragraphLikeElements=new Set(["blockquote","dd","div","dt","h1","h2","h3","h4","h5","h6","li","p","td","th"]);const Uf=Wi;class $S extends X{constructor(t,e){super(t),this.modelElements=e}refresh(){const t=Lt(this.editor.model.document.selection.getSelectedBlocks());this.value=!!t&&this.modelElements.includes(t.name)&&t.name,this.isEnabled=!!t&&this.modelElements.some(e=>Gf(t,e,this.editor.model.schema))}execute(t){const e=this.editor.model,n=e.document,i=t.value;e.change(r=>{const s=Array.from(n.selection.getSelectedBlocks()).filter(a=>Gf(a,i,e.schema));for(const a of s)a.is("element",i)||r.rename(a,i)})}}function Gf(o,t,e){return e.checkChild(o.parent,t)&&!e.isObject(o)}const Wf="paragraph";class KS extends L{static get pluginName(){return"HeadingEditing"}constructor(t){super(t),t.config.define("heading",{options:[{model:"paragraph",title:"Paragraph",class:"ck-heading_paragraph"},{model:"heading1",view:"h2",title:"Heading 1",class:"ck-heading_heading1"},{model:"heading2",view:"h3",title:"Heading 2",class:"ck-heading_heading2"},{model:"heading3",view:"h4",title:"Heading 3",class:"ck-heading_heading3"}]})}static get requires(){return[Uf]}init(){const t=this.editor,e=t.config.get("heading.options"),n=[];for(const i of e)i.model!=="paragraph"&&(t.model.schema.register(i.model,{inheritAllFrom:"$block"}),t.conversion.elementToElement(i),n.push(i.model));this._addDefaultH1Conversion(t),t.commands.add("heading",new $S(t,n))}afterInit(){const t=this.editor,e=t.commands.get("enter"),n=t.config.get("heading.options");e&&this.listenTo(e,"afterExecute",(i,r)=>{const s=t.model.document.selection.getFirstPosition().parent;n.some(c=>s.is("element",c.model))&&!s.is("element",Wf)&&s.childCount===0&&r.writer.rename(s,Wf)})}_addDefaultH1Conversion(t){t.conversion.for("upcast").elementToElement({model:"heading1",view:"h1",converterPriority:Re.low+1})}}function YS(o){const t=o.t,e={Paragraph:t("Paragraph"),"Heading 1":t("Heading 1"),"Heading 2":t("Heading 2"),"Heading 3":t("Heading 3"),"Heading 4":t("Heading 4"),"Heading 5":t("Heading 5"),"Heading 6":t("Heading 6")};return o.config.get("heading.options").map(n=>{const i=e[n.title];return i&&i!=n.title&&(n.title=i),n})}var qf=P(4249),Pa={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Pa.insert="head",Pa.singleton=!0,R()(qf.Z,Pa),qf.Z.locals;class QS extends L{static get pluginName(){return"HeadingUI"}init(){const t=this.editor,e=t.t,n=YS(t),i=e("Choose heading"),r=e("Heading");t.ui.componentFactory.add("heading",s=>{const a={},c=new oe,l=t.commands.get("heading"),d=t.commands.get("paragraph"),u=[l];for(const p of n){const w={type:"button",model:new la({label:p.title,class:p.class,role:"menuitemradio",withText:!0})};p.model==="paragraph"?(w.model.bind("isOn").to(d,"value"),w.model.set("commandName","paragraph"),u.push(d)):(w.model.bind("isOn").to(l,"value",S=>S===p.model),w.model.set({commandName:"heading",commandValue:p.model})),c.add(w),a[p.model]=p.title}const f=ye(s);return Gs(f,c,{ariaLabel:r,role:"menu"}),f.buttonView.set({ariaLabel:r,ariaLabelledBy:void 0,isOn:!1,withText:!0,tooltip:r}),f.extendTemplate({attributes:{class:["ck-heading-dropdown"]}}),f.bind("isEnabled").toMany(u,"isEnabled",(...p)=>p.some(w=>w)),f.buttonView.bind("label").to(l,"value",d,"value",(p,w)=>{const S=p||w&&"paragraph";return typeof S=="boolean"||!a[S]?i:a[S]}),this.listenTo(f,"execute",p=>{const{commandName:w,commandValue:S}=p.source;t.execute(w,S?{value:S}:void 0),t.editing.view.focus()}),f})}}class JS extends L{static get requires(){return[KS,QS]}static get pluginName(){return"Heading"}}function XS(o){return o.createContainerElement("span",{class:"image-inline"},o.createEmptyElement("img"))}function Zf(o){return o.createContainerElement("figure",{class:"image"},[o.createEmptyElement("img"),o.createSlot("children")])}function $f(o,t){const e=o.plugins.get("ImageUtils"),n=o.plugins.has("ImageInlineEditing")&&o.plugins.has("ImageBlockEditing");return r=>e.isInlineImageView(r)?n&&(r.getStyle("display")=="block"||r.findAncestor(e.isBlockImageView)?"imageBlock":"imageInline")!==t?null:i(r):null;function i(r){const s={name:!0};return r.hasAttribute("src")&&(s.attributes=["src"]),s}}function Oa(o,t){const e=Lt(t.getSelectedBlocks());return!e||o.isObject(e)||e.isEmpty&&e.name!="listItem"?"imageBlock":"imageInline"}function qi(o){return o&&o.endsWith("px")?parseInt(o):null}function Zi(o){const t=qi(o.getStyle("width")),e=qi(o.getStyle("height"));return!!(t&&e)}const tT=/^(image|image-inline)$/;class Ut extends L{constructor(){super(...arguments),this._domEmitter=new(Kt())}static get pluginName(){return"ImageUtils"}isImage(t){return this.isInlineImage(t)||this.isBlockImage(t)}isInlineImageView(t){return!!t&&t.is("element","img")}isBlockImageView(t){return!!t&&t.is("element","figure")&&t.hasClass("image")}insertImage(t={},e=null,n=null,i={}){const r=this.editor,s=r.model,a=s.document.selection,c=Kf(r,e||a,n);t={...Object.fromEntries(a.getAttributes()),...t};for(const l in t)s.schema.checkAttribute(c,l)||delete t[l];return s.change(l=>{const{setImageSizes:d=!0}=i,u=l.createElement(c,t);return s.insertObject(u,e,null,{setSelection:"on",findOptimalPosition:!e&&c!="imageInline"?"auto":void 0}),u.parent?(d&&this.setImageNaturalSizeAttributes(u),u):null})}setImageNaturalSizeAttributes(t){const e=t.getAttribute("src");e&&(t.getAttribute("width")||t.getAttribute("height")||this.editor.model.change(n=>{const i=new H.window.Image;this._domEmitter.listenTo(i,"load",()=>{!t.getAttribute("width")&&!t.getAttribute("height")&&this.editor.model.enqueueChange(n.batch,r=>{r.setAttribute("width",i.naturalWidth,t),r.setAttribute("height",i.naturalHeight,t)}),this._domEmitter.stopListening(i,"load")}),i.src=e}))}getClosestSelectedImageWidget(t){const e=t.getFirstPosition();if(!e)return null;const n=t.getSelectedElement();if(n&&this.isImageWidget(n))return n;let i=e.parent;for(;i;){if(i.is("element")&&this.isImageWidget(i))return i;i=i.parent}return null}getClosestSelectedImageElement(t){const e=t.getSelectedElement();return this.isImage(e)?e:t.getFirstPosition().findAncestor("imageBlock")}getImageWidgetFromImageView(t){return t.findAncestor({classes:tT})}isImageAllowed(){const e=this.editor.model.document.selection;return eT(this.editor,e)&&nT(e)}toImageWidget(t,e,n){return e.setCustomProperty("image",!0,t),Sa(t,e,{label:()=>{const s=this.findViewImgElement(t).getAttribute("alt");return s?`${s} ${n}`:n}})}isImageWidget(t){return!!t.getCustomProperty("image")&&Tt(t)}isBlockImage(t){return!!t&&t.is("element","imageBlock")}isInlineImage(t){return!!t&&t.is("element","imageInline")}findViewImgElement(t){if(this.isInlineImageView(t))return t;const e=this.editor.editing.view;for(const{item:n}of e.createRangeIn(t))if(this.isInlineImageView(n))return n}destroy(){return this._domEmitter.stopListening(),super.destroy()}}function eT(o,t){if(Kf(o,t,null)=="imageBlock"){const n=oT(t,o.model);if(o.model.schema.checkChild(n,"imageBlock"))return!0}else if(o.model.schema.checkChild(t.focus,"imageInline"))return!0;return!1}function nT(o){return[...o.focus.getAncestors()].every(t=>!t.is("element","imageBlock"))}function oT(o,t){const n=Cf(o,t).start.parent;return n.isEmpty&&!n.is("element","$root")?n.parent:n}function Kf(o,t,e){const n=o.model.schema,i=o.config.get("image.insert.type");return o.plugins.has("ImageBlockEditing")?o.plugins.has("ImageInlineEditing")?e||(i==="inline"?"imageInline":i!=="auto"?"imageBlock":t.is("selection")?Oa(n,t):n.checkChild(t,"imageInline")?"imageInline":"imageBlock"):"imageBlock":"imageInline"}class iT extends X{refresh(){const n=this.editor.plugins.get("ImageUtils").getClosestSelectedImageElement(this.editor.model.document.selection);this.isEnabled=!!n,this.isEnabled&&n.hasAttribute("alt")?this.value=n.getAttribute("alt"):this.value=!1}execute(t){const e=this.editor,n=e.plugins.get("ImageUtils"),i=e.model,r=n.getClosestSelectedImageElement(i.document.selection);i.change(s=>{s.setAttribute("alt",t.newValue,r)})}}class rT extends L{static get requires(){return[Ut]}static get pluginName(){return"ImageTextAlternativeEditing"}init(){this.editor.commands.add("imageTextAlternative",new iT(this.editor))}}var Yf=P(5269),Ra={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ra.insert="head",Ra.singleton=!0,R()(Yf.Z,Ra),Yf.Z.locals;var Qf=P(6603),ja={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};ja.insert="head",ja.singleton=!0,R()(Qf.Z,ja),Qf.Z.locals;class sT extends Z{constructor(t){super(t);const e=this.locale.t;this.focusTracker=new Pt,this.keystrokes=new Gt,this.labeledInput=this._createLabeledInputView(),this.saveButtonView=this._createButton(e("Save"),J.check,"ck-button-save"),this.saveButtonView.type="submit",this.cancelButtonView=this._createButton(e("Cancel"),J.cancel,"ck-button-cancel","cancel"),this._focusables=new ie,this._focusCycler=new se({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]})}render(){super.render(),this.keystrokes.listenTo(this.element),h({view:this}),[this.labeledInput,this.saveButtonView,this.cancelButtonView].forEach(t=>{this._focusables.add(t),this.focusTracker.add(t.element)})}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}_createButton(t,e,n,i){const r=new at(this.locale);return r.set({label:t,icon:e,tooltip:!0}),r.extendTemplate({attributes:{class:n}}),i&&r.delegate("execute").to(this,i),r}_createLabeledInputView(){const t=this.locale.t,e=new si(this.locale,Si);return e.label=t("Text alternative"),e}}function aT(o){const t=o.plugins.get("ContextualBalloon");if(o.plugins.get("ImageUtils").getClosestSelectedImageWidget(o.editing.view.document.selection)){const n=Jf(o);t.updatePosition(n)}}function Jf(o){const t=o.editing.view,e=Fn.defaultPositions,n=o.plugins.get("ImageUtils");return{target:t.domConverter.mapViewToDom(n.getClosestSelectedImageWidget(t.document.selection)),positions:[e.northArrowSouth,e.northArrowSouthWest,e.northArrowSouthEast,e.southArrowNorth,e.southArrowNorthWest,e.southArrowNorthEast,e.viewportStickyNorth]}}class cT extends L{static get requires(){return[Ni]}static get pluginName(){return"ImageTextAlternativeUI"}init(){this._createButton()}destroy(){super.destroy(),this._form&&this._form.destroy()}_createButton(){const t=this.editor,e=t.t;t.ui.componentFactory.add("imageTextAlternative",n=>{const i=t.commands.get("imageTextAlternative"),r=new at(n);return r.set({label:e("Change image text alternative"),icon:J.textAlternative,tooltip:!0}),r.bind("isEnabled").to(i,"isEnabled"),r.bind("isOn").to(i,"value",s=>!!s),this.listenTo(r,"execute",()=>{this._showForm()}),r})}_createForm(){const t=this.editor,n=t.editing.view.document,i=t.plugins.get("ImageUtils");this._balloon=this.editor.plugins.get("ContextualBalloon"),this._form=new(x(sT))(t.locale),this._form.render(),this.listenTo(this._form,"submit",()=>{t.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",(r,s)=>{this._hideForm(!0),s()}),this.listenTo(t.ui,"update",()=>{i.getClosestSelectedImageWidget(n.selection)?this._isVisible&&aT(t):this._hideForm(!0)}),C({emitter:this._form,activator:()=>this._isVisible,contextElements:()=>[this._balloon.view.element],callback:()=>this._hideForm()})}_showForm(){if(this._isVisible)return;this._form||this._createForm();const t=this.editor,e=t.commands.get("imageTextAlternative"),n=this._form.labeledInput;this._form.disableCssTransitions(),this._isInBalloon||this._balloon.add({view:this._form,position:Jf(t)}),n.fieldView.value=n.fieldView.element.value=e.value||"",this._form.labeledInput.fieldView.select(),this._form.enableCssTransitions()}_hideForm(t=!1){this._isInBalloon&&(this._form.focusTracker.isFocused&&this._form.saveButtonView.focus(),this._balloon.remove(this._form),t&&this.editor.editing.view.focus())}get _isVisible(){return!!this._balloon&&this._balloon.visibleView===this._form}get _isInBalloon(){return!!this._balloon&&this._balloon.hasView(this._form)}}class Xf extends L{static get requires(){return[rT,cT]}static get pluginName(){return"ImageTextAlternative"}}function lT(o){const t=(e,n,i)=>{if(!i.consumable.test(n.viewItem,{name:!0,classes:"image"}))return;const r=o.findViewImgElement(n.viewItem);if(!r||!i.consumable.test(r,{name:!0}))return;i.consumable.consume(n.viewItem,{name:!0,classes:"image"});const s=i.convertItem(r,n.modelCursor),a=Lt(s.modelRange.getItems());if(!a){i.consumable.revert(n.viewItem,{name:!0,classes:"image"});return}i.convertChildren(n.viewItem,a),i.updateConversionResult(a,n)};return e=>{e.on("element:figure",t)}}function tm(o,t){const e=(n,i,r)=>{if(!r.consumable.consume(i.item,n.name))return;const s=r.writer,a=r.mapper.toViewElement(i.item),c=o.findViewImgElement(a);i.attributeNewValue===null?(s.removeAttribute("srcset",c),s.removeAttribute("sizes",c)):i.attributeNewValue&&(s.setAttribute("srcset",i.attributeNewValue,c),s.setAttribute("sizes","100vw",c))};return n=>{n.on(`attribute:srcset:${t}`,e)}}function $i(o,t,e){const n=(i,r,s)=>{if(!s.consumable.consume(r.item,i.name))return;const a=s.writer,c=s.mapper.toViewElement(r.item),l=o.findViewImgElement(c);a.setAttribute(r.attributeKey,r.attributeNewValue||"",l)};return i=>{i.on(`attribute:${e}:${t}`,n)}}class Fa extends _e{observe(t){this.listenTo(t,"load",(e,n)=>{const i=n.target;this.checkShouldIgnoreEventFromTarget(i)||i.tagName=="IMG"&&this._fireEvents(n)},{useCapture:!0})}stopObserving(t){this.stopListening(t)}_fireEvents(t){this.isEnabled&&(this.document.fire("layoutChanged"),this.document.fire("imageLoaded",t))}}class dT extends X{constructor(t){super(t);const e=t.config.get("image.insert.type");t.plugins.has("ImageBlockEditing")||e==="block"&&void 0,t.plugins.has("ImageInlineEditing")||e==="inline"&&void 0}refresh(){const t=this.editor.plugins.get("ImageUtils");this.isEnabled=t.isImageAllowed()}execute(t){const e=bt(t.source),n=this.editor.model.document.selection,i=this.editor.plugins.get("ImageUtils"),r=Object.fromEntries(n.getAttributes());e.forEach((s,a)=>{const c=n.getSelectedElement();if(typeof s=="string"&&(s={src:s}),a&&c&&i.isImage(c)){const l=this.editor.model.createPositionAfter(c);i.insertImage({...s,...r},l)}else i.insertImage({...s,...r})})}}class uT extends X{constructor(t){super(t),this.decorate("cleanupImage")}refresh(){const e=this.editor.plugins.get("ImageUtils"),n=this.editor.model.document.selection.getSelectedElement();this.isEnabled=e.isImage(n),this.value=this.isEnabled?n.getAttribute("src"):null}execute(t){const e=this.editor.model.document.selection.getSelectedElement(),n=this.editor.plugins.get("ImageUtils");this.editor.model.change(i=>{i.setAttribute("src",t.source,e),this.cleanupImage(i,e),n.setImageNaturalSizeAttributes(e)})}cleanupImage(t,e){t.removeAttribute("srcset",e),t.removeAttribute("sizes",e),t.removeAttribute("sources",e),t.removeAttribute("width",e),t.removeAttribute("height",e),t.removeAttribute("alt",e)}}class em extends L{static get requires(){return[Ut]}static get pluginName(){return"ImageEditing"}init(){const t=this.editor,e=t.conversion;t.editing.view.addObserver(Fa),e.for("upcast").attributeToAttribute({view:{name:"img",key:"alt"},model:"alt"}).attributeToAttribute({view:{name:"img",key:"srcset"},model:"srcset"});const n=new dT(t),i=new uT(t);t.commands.add("insertImage",n),t.commands.add("replaceImageSource",i),t.commands.add("imageInsert",n)}}class nm extends L{static get requires(){return[Ut]}static get pluginName(){return"ImageSizeAttributes"}afterInit(){this._registerSchema(),this._registerConverters("imageBlock"),this._registerConverters("imageInline")}_registerSchema(){this.editor.plugins.has("ImageBlockEditing")&&this.editor.model.schema.extend("imageBlock",{allowAttributes:["width","height"]}),this.editor.plugins.has("ImageInlineEditing")&&this.editor.model.schema.extend("imageInline",{allowAttributes:["width","height"]})}_registerConverters(t){const e=this.editor,n=e.plugins.get("ImageUtils"),i=t==="imageBlock"?"figure":"img";e.conversion.for("upcast").attributeToAttribute({view:{name:i,styles:{width:/.+/}},model:{key:"width",value:s=>Zi(s)?qi(s.getStyle("width")):null}}).attributeToAttribute({view:{name:i,key:"width"},model:"width"}).attributeToAttribute({view:{name:i,styles:{height:/.+/}},model:{key:"height",value:s=>Zi(s)?qi(s.getStyle("height")):null}}).attributeToAttribute({view:{name:i,key:"height"},model:"height"}),e.conversion.for("editingDowncast").add(s=>{r(s,"width","width",!0),r(s,"height","height",!0)}),e.conversion.for("dataDowncast").add(s=>{r(s,"width","width",!1),r(s,"height","height",!1)});function r(s,a,c,l){s.on(`attribute:${a}:${t}`,(d,u,f)=>{if(!f.consumable.consume(u.item,d.name))return;const p=f.writer,w=f.mapper.toViewElement(u.item),S=n.findViewImgElement(w);if(u.attributeNewValue!==null?p.setAttribute(c,u.attributeNewValue,S):p.removeAttribute(c,S),u.item.hasAttribute("sources"))return;const M=u.item.hasAttribute("resizedWidth");if(t==="imageInline"&&!M&&!l)return;const z=u.item.getAttribute("width"),V=u.item.getAttribute("height");z&&V&&p.setStyle("aspect-ratio",`${z}/${V}`,S)})}}}class om extends X{constructor(t,e){super(t),this._modelElementName=e}refresh(){const e=this.editor.plugins.get("ImageUtils"),n=e.getClosestSelectedImageElement(this.editor.model.document.selection);this._modelElementName==="imageBlock"?this.isEnabled=e.isInlineImage(n):this.isEnabled=e.isBlockImage(n)}execute(t={}){const e=this.editor,n=this.editor.model,i=e.plugins.get("ImageUtils"),r=i.getClosestSelectedImageElement(n.document.selection),s=Object.fromEntries(r.getAttributes());return!s.src&&!s.uploadId?null:n.change(a=>{const{setImageSizes:c=!0}=t,l=Array.from(n.markers).filter(f=>f.getRange().containsItem(r)),d=i.insertImage(s,n.createSelection(r,"on"),this._modelElementName,{setImageSizes:c});if(!d)return null;const u=a.createRangeOn(d);for(const f of l){const p=f.getRange(),w=p.root.rootName!="$graveyard"?p.getJoined(u,!0):u;a.updateMarker(f,{range:w})}return{oldElement:r,newElement:d}})}}var im=P(31),Va={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Va.insert="head",Va.singleton=!0,R()(im.Z,Va),im.Z.locals;class rm extends L{static get requires(){return[Ut]}static get pluginName(){return"ImagePlaceholder"}afterInit(){this._setupSchema(),this._setupConversion(),this._setupLoadListener()}_setupSchema(){const t=this.editor.model.schema;t.isRegistered("imageBlock")&&t.extend("imageBlock",{allowAttributes:["placeholder"]}),t.isRegistered("imageInline")&&t.extend("imageInline",{allowAttributes:["placeholder"]})}_setupConversion(){const t=this.editor,e=t.conversion,n=t.plugins.get("ImageUtils");e.for("editingDowncast").add(i=>{i.on("attribute:placeholder",(r,s,a)=>{if(!a.consumable.test(s.item,r.name)||!s.item.is("element","imageBlock")&&!s.item.is("element","imageInline"))return;a.consumable.consume(s.item,r.name);const c=a.writer,l=a.mapper.toViewElement(s.item),d=n.findViewImgElement(l);s.attributeNewValue?(c.addClass("image_placeholder",d),c.setStyle("background-image",`url(${s.attributeNewValue})`,d),c.setCustomProperty("editingPipeline:doNotReuseOnce",!0,d)):(c.removeClass("image_placeholder",d),c.removeStyle("background-image",d))})})}_setupLoadListener(){const t=this.editor,e=t.model,n=t.editing,i=n.view,r=t.plugins.get("ImageUtils");i.addObserver(Fa),this.listenTo(i.document,"imageLoaded",(s,a)=>{const c=i.domConverter.mapDomToView(a.target);if(!c)return;const l=r.getImageWidgetFromImageView(c);if(!l)return;const d=n.mapper.toModelElement(l);!d||!d.hasAttribute("placeholder")||e.enqueueChange({isUndoable:!1},u=>{u.removeAttribute("placeholder",d)})})}}class sm extends L{static get requires(){return[em,nm,Ut,rm,ke]}static get pluginName(){return"ImageBlockEditing"}init(){const t=this.editor;t.model.schema.register("imageBlock",{inheritAllFrom:"$blockObject",allowAttributes:["alt","src","srcset"]}),this._setupConversion(),t.plugins.has("ImageInlineEditing")&&(t.commands.add("imageTypeBlock",new om(this.editor,"imageBlock")),this._setupClipboardIntegration())}_setupConversion(){const t=this.editor,e=t.t,n=t.conversion,i=t.plugins.get("ImageUtils");n.for("dataDowncast").elementToStructure({model:"imageBlock",view:(r,{writer:s})=>Zf(s)}),n.for("editingDowncast").elementToStructure({model:"imageBlock",view:(r,{writer:s})=>i.toImageWidget(Zf(s),s,e("image widget"))}),n.for("downcast").add($i(i,"imageBlock","src")).add($i(i,"imageBlock","alt")).add(tm(i,"imageBlock")),n.for("upcast").elementToElement({view:$f(t,"imageBlock"),model:(r,{writer:s})=>s.createElement("imageBlock",r.hasAttribute("src")?{src:r.getAttribute("src")}:void 0)}).add(lT(i))}_setupClipboardIntegration(){const t=this.editor,e=t.model,n=t.editing.view,i=t.plugins.get("ImageUtils"),r=t.plugins.get("ClipboardPipeline");this.listenTo(r,"inputTransformation",(s,a)=>{const c=Array.from(a.content.getChildren());let l;if(!c.every(i.isInlineImageView))return;a.targetRanges?l=t.editing.mapper.toModelRange(a.targetRanges[0]):l=e.document.selection.getFirstRange();const d=e.createSelection(l);if(Oa(e.schema,d)==="imageBlock"){const u=new Be(n.document),f=c.map(p=>u.createElement("figure",{class:"image"},p));a.content=u.createDocumentFragment(f)}}),this.listenTo(r,"contentInsertion",(s,a)=>{a.method==="paste"&&e.change(c=>{const l=c.createRangeIn(a.content);for(const d of l.getItems())d.is("element","imageBlock")&&i.setImageNaturalSizeAttributes(d)})})}}var am=P(8879),Ha={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ha.insert="head",Ha.singleton=!0,R()(am.Z,Ha),am.Z.locals;class hT extends Z{constructor(t,e=[]){super(t),this.focusTracker=new Pt,this.keystrokes=new Gt,this._focusables=new ie,this.children=this.createCollection(),this._focusCycler=new se({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}});for(const n of e)this.children.add(n),this._focusables.add(n),n instanceof sv&&this._focusables.addMany(n.children);if(this._focusables.length>1)for(const n of this._focusables)gT(n)&&(n.focusCycler.on("forwardCycle",i=>{this._focusCycler.focusNext(),i.stop()}),n.focusCycler.on("backwardCycle",i=>{this._focusCycler.focusPrevious(),i.stop()}));this.setTemplate({tag:"form",attributes:{class:["ck","ck-image-insert-form"],tabindex:-1},children:this.children})}render(){super.render(),h({view:this});for(const e of this._focusables)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)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}}function gT(o){return"focusCycler"in o}class cm extends L{static get pluginName(){return"ImageInsertUI"}static get requires(){return[Ut]}constructor(t){super(t),this._integrations=new Map,t.config.define("image.insert.integrations",["upload","assetManager","url"])}init(){const t=this.editor,e=t.model.document.selection,n=t.plugins.get("ImageUtils");this.set("isImageSelected",!1),this.listenTo(t.model.document,"change",()=>{this.isImageSelected=n.isImage(e.getSelectedElement())});const i=r=>this._createToolbarComponent(r);t.ui.componentFactory.add("insertImage",i),t.ui.componentFactory.add("imageInsert",i)}registerIntegration({name:t,observable:e,buttonViewCreator:n,formViewCreator:i,requiresForm:r}){this._integrations.has(t)&&void 0,this._integrations.set(t,{observable:e,buttonViewCreator:n,formViewCreator:i,requiresForm:!!r})}_createToolbarComponent(t){const e=this.editor,n=t.t,i=this._prepareIntegrations();if(!i.length)return null;let r;const s=i[0];if(i.length==1){if(!s.requiresForm)return s.buttonViewCreator(!0);r=s.buttonViewCreator(!0)}else{const l=s.buttonViewCreator(!1);r=new Di(t,l),r.tooltip=!0,r.bind("label").to(this,"isImageSelected",d=>n(d?"Replace image":"Insert image"))}const a=this.dropdownView=ye(t,r),c=i.map(({observable:l})=>l);return a.bind("isEnabled").toMany(c,"isEnabled",(...l)=>l.some(d=>d)),a.once("change:isOpen",()=>{const l=i.map(({formViewCreator:u})=>u(i.length==1)),d=new hT(e.locale,l);a.panelView.children.add(d)}),a}_prepareIntegrations(){const e=this.editor.config.get("image.insert.integrations"),n=[];if(!e.length)return n;for(const i of e){if(!this._integrations.has(i)){["upload","assetManager","url"].includes(i)||void 0;continue}n.push(this._integrations.get(i))}return n.length||void 0,n}}var lm=P(2430),Ua={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ua.insert="head",Ua.singleton=!0,R()(lm.Z,Ua),lm.Z.locals;class fT extends L{static get requires(){return[sm,Lo,Xf,cm]}static get pluginName(){return"ImageBlock"}}class mT extends L{static get requires(){return[em,nm,Ut,rm,ke]}static get pluginName(){return"ImageInlineEditing"}init(){const t=this.editor,e=t.model.schema;e.register("imageInline",{inheritAllFrom:"$inlineObject",allowAttributes:["alt","src","srcset"]}),e.addChildCheck((n,i)=>{if(n.endsWith("caption")&&i.name==="imageInline")return!1}),this._setupConversion(),t.plugins.has("ImageBlockEditing")&&(t.commands.add("imageTypeInline",new om(this.editor,"imageInline")),this._setupClipboardIntegration())}_setupConversion(){const t=this.editor,e=t.t,n=t.conversion,i=t.plugins.get("ImageUtils");n.for("dataDowncast").elementToElement({model:"imageInline",view:(r,{writer:s})=>s.createEmptyElement("img")}),n.for("editingDowncast").elementToStructure({model:"imageInline",view:(r,{writer:s})=>i.toImageWidget(XS(s),s,e("image widget"))}),n.for("downcast").add($i(i,"imageInline","src")).add($i(i,"imageInline","alt")).add(tm(i,"imageInline")),n.for("upcast").elementToElement({view:$f(t,"imageInline"),model:(r,{writer:s})=>s.createElement("imageInline",r.hasAttribute("src")?{src:r.getAttribute("src")}:void 0)})}_setupClipboardIntegration(){const t=this.editor,e=t.model,n=t.editing.view,i=t.plugins.get("ImageUtils"),r=t.plugins.get("ClipboardPipeline");this.listenTo(r,"inputTransformation",(s,a)=>{const c=Array.from(a.content.getChildren());let l;if(!c.every(i.isBlockImageView))return;a.targetRanges?l=t.editing.mapper.toModelRange(a.targetRanges[0]):l=e.document.selection.getFirstRange();const d=e.createSelection(l);if(Oa(e.schema,d)==="imageInline"){const u=new Be(n.document),f=c.map(p=>p.childCount===1?(Array.from(p.getAttributes()).forEach(w=>u.setAttribute(...w,i.findViewImgElement(p))),p.getChild(0)):p);a.content=u.createDocumentFragment(f)}}),this.listenTo(r,"contentInsertion",(s,a)=>{a.method==="paste"&&e.change(c=>{const l=c.createRangeIn(a.content);for(const d of l.getItems())d.is("element","imageInline")&&i.setImageNaturalSizeAttributes(d)})})}}class pT extends L{static get requires(){return[mT,Lo,Xf,cm]}static get pluginName(){return"ImageInline"}}class kT extends L{static get requires(){return[fT,pT]}static get pluginName(){return"Image"}}class dm extends L{static get pluginName(){return"ImageCaptionUtils"}static get requires(){return[Ut]}getCaptionFromImageModelElement(t){for(const e of t.getChildren())if(e&&e.is("element","caption"))return e;return null}getCaptionFromModelSelection(t){const e=this.editor.plugins.get("ImageUtils"),n=t.getFirstPosition().findAncestor("caption");return n&&e.isBlockImage(n.parent)?n:null}matchImageCaptionViewElement(t){const e=this.editor.plugins.get("ImageUtils");return t.name=="figcaption"&&e.isBlockImageView(t.parent)?{name:!0}:null}}class bT extends X{refresh(){const t=this.editor,e=t.plugins.get("ImageCaptionUtils"),n=t.plugins.get("ImageUtils");if(!t.plugins.has(sm)){this.isEnabled=!1,this.value=!1;return}const i=t.model.document.selection,r=i.getSelectedElement();if(!r){const s=e.getCaptionFromModelSelection(i);this.isEnabled=!!s,this.value=!!s;return}this.isEnabled=n.isImage(r),this.isEnabled?this.value=!!e.getCaptionFromImageModelElement(r):this.value=!1}execute(t={}){const{focusCaptionOnShow:e}=t;this.editor.model.change(n=>{this.value?this._hideImageCaption(n):this._showImageCaption(n,e)})}_showImageCaption(t,e){const i=this.editor.model.document.selection,r=this.editor.plugins.get("ImageCaptionEditing"),s=this.editor.plugins.get("ImageUtils");let a=i.getSelectedElement();const c=r._getSavedCaption(a);s.isInlineImage(a)&&(this.editor.execute("imageTypeBlock"),a=i.getSelectedElement());const l=c||t.createElement("caption");t.append(l,a),e&&t.setSelection(l,"in")}_hideImageCaption(t){const e=this.editor,n=e.model.document.selection,i=e.plugins.get("ImageCaptionEditing"),r=e.plugins.get("ImageCaptionUtils");let s=n.getSelectedElement(),a;s?a=r.getCaptionFromImageModelElement(s):(a=r.getCaptionFromModelSelection(n),s=a.parent),i._saveCaption(s,a),t.setSelection(s,"on"),t.remove(a)}}class wT extends L{static get requires(){return[Ut,dm]}static get pluginName(){return"ImageCaptionEditing"}constructor(t){super(t),this._savedCaptionsMap=new WeakMap}init(){const t=this.editor,e=t.model.schema;e.isRegistered("caption")?e.extend("caption",{allowIn:"imageBlock"}):e.register("caption",{allowIn:"imageBlock",allowContentOf:"$block",isLimit:!0}),t.commands.add("toggleImageCaption",new bT(this.editor)),this._setupConversion(),this._setupImageTypeCommandsIntegration(),this._registerCaptionReconversion()}_setupConversion(){const t=this.editor,e=t.editing.view,n=t.plugins.get("ImageUtils"),i=t.plugins.get("ImageCaptionUtils"),r=t.t;t.conversion.for("upcast").elementToElement({view:s=>i.matchImageCaptionViewElement(s),model:"caption"}),t.conversion.for("dataDowncast").elementToElement({model:"caption",view:(s,{writer:a})=>n.isBlockImage(s.parent)?a.createContainerElement("figcaption"):null}),t.conversion.for("editingDowncast").elementToElement({model:"caption",view:(s,{writer:a})=>{if(!n.isBlockImage(s.parent))return null;const c=a.createEditableElement("figcaption");a.setCustomProperty("imageCaption",!0,c),c.placeholder=r("Enter image caption"),Kd({view:e,element:c,keepOnFocus:!0});const l=s.parent.getAttribute("alt"),d=l?r("Caption for image: %0",[l]):r("Caption for the image");return Af(c,a,{label:d})}})}_setupImageTypeCommandsIntegration(){const t=this.editor,e=t.plugins.get("ImageUtils"),n=t.plugins.get("ImageCaptionUtils"),i=t.commands.get("imageTypeInline"),r=t.commands.get("imageTypeBlock"),s=a=>{if(!a.return)return;const{oldElement:c,newElement:l}=a.return;if(!c)return;if(e.isBlockImage(c)){const u=n.getCaptionFromImageModelElement(c);if(u){this._saveCaption(l,u);return}}const d=this._getSavedCaption(c);d&&this._saveCaption(l,d)};i&&this.listenTo(i,"execute",s,{priority:"low"}),r&&this.listenTo(r,"execute",s,{priority:"low"})}_getSavedCaption(t){const e=this._savedCaptionsMap.get(t);return e?dt.fromJSON(e):null}_saveCaption(t,e){this._savedCaptionsMap.set(t,e.toJSON())}_registerCaptionReconversion(){const t=this.editor,e=t.model,n=t.plugins.get("ImageUtils"),i=t.plugins.get("ImageCaptionUtils");e.document.on("change:data",()=>{const r=e.document.differ.getChanges();for(const s of r){if(s.attributeKey!=="alt")continue;const a=s.range.start.nodeAfter;if(n.isBlockImage(a)){const c=i.getCaptionFromImageModelElement(a);if(!c)return;t.editing.reconvertItem(c)}}})}}class AT extends L{static get requires(){return[dm]}static get pluginName(){return"ImageCaptionUI"}init(){const t=this.editor,e=t.editing.view,n=t.plugins.get("ImageCaptionUtils"),i=t.t;t.ui.componentFactory.add("toggleImageCaption",r=>{const s=t.commands.get("toggleImageCaption"),a=new at(r);return a.set({icon:J.caption,tooltip:!0,isToggleable:!0}),a.bind("isOn","isEnabled").to(s,"value","isEnabled"),a.bind("label").to(s,"value",c=>i(c?"Toggle caption off":"Toggle caption on")),this.listenTo(a,"execute",()=>{t.execute("toggleImageCaption",{focusCaptionOnShow:!0});const c=n.getCaptionFromModelSelection(t.model.document.selection);if(c){const l=t.editing.mapper.toViewElement(c);e.scrollToTheSelection(),e.change(d=>{d.addClass("image__caption_highlighted",l)})}t.editing.view.focus()}),a})}}var um=P(2423),Ga={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ga.insert="head",Ga.singleton=!0,R()(um.Z,Ga),um.Z.locals;class CT extends L{static get requires(){return[wT,AT]}static get pluginName(){return"ImageCaption"}}class _T extends st(){constructor(){super();const t=new window.FileReader;this._reader=t,this._data=void 0,this.set("loaded",0),t.onprogress=e=>{this.loaded=e.loaded}}get error(){return this._reader.error}get data(){return this._data}read(t){const e=this._reader;return this.total=t.size,new Promise((n,i)=>{e.onload=()=>{const r=e.result;this._data=r,n(r)},e.onerror=()=>{i("error")},e.onabort=()=>{i("aborted")},this._reader.readAsDataURL(t)})}abort(){this._reader.abort()}}class gn extends L{constructor(){super(...arguments),this.loaders=new oe,this._loadersMap=new Map,this._pendingAction=null}static get pluginName(){return"FileRepository"}static get requires(){return[xi]}init(){this.loaders.on("change",()=>this._updatePendingAction()),this.set("uploaded",0),this.set("uploadTotal",null),this.bind("uploadedPercent").to(this,"uploaded",this,"uploadTotal",(t,e)=>e?t/e*100:0)}getLoader(t){return this._loadersMap.get(t)||null}createLoader(t){if(!this.createUploadAdapter)return null;const e=new hm(Promise.resolve(t),this.createUploadAdapter);return this.loaders.add(e),this._loadersMap.set(t,e),t instanceof Promise&&e.file.then(n=>{this._loadersMap.set(n,e)}).catch(()=>{}),e.on("change:uploaded",()=>{let n=0;for(const i of this.loaders)n+=i.uploaded;this.uploaded=n}),e.on("change:uploadTotal",()=>{let n=0;for(const i of this.loaders)i.uploadTotal&&(n+=i.uploadTotal);this.uploadTotal=n}),e}destroyLoader(t){const e=t instanceof hm?t:this.getLoader(t);e._destroy(),this.loaders.remove(e),this._loadersMap.forEach((n,i)=>{n===e&&this._loadersMap.delete(i)})}_updatePendingAction(){const t=this.editor.plugins.get(xi);if(this.loaders.length){if(!this._pendingAction){const e=this.editor.t,n=i=>`${e("Upload in progress")} ${parseInt(i)}%.`;this._pendingAction=t.add(n(this.uploadedPercent)),this._pendingAction.bind("message").to(this,"uploadedPercent",n)}}else t.remove(this._pendingAction),this._pendingAction=null}}class hm extends st(){constructor(t,e){super(),this.id=Vt(),this._filePromiseWrapper=this._createFilePromiseWrapper(t),this._adapter=e(this),this._reader=new _T,this.set("status","idle"),this.set("uploaded",0),this.set("uploadTotal",null),this.bind("uploadedPercent").to(this,"uploaded",this,"uploadTotal",(n,i)=>i?n/i*100:0),this.set("uploadResponse",null)}get file(){return this._filePromiseWrapper?this._filePromiseWrapper.promise.then(t=>this._filePromiseWrapper?t:null):Promise.resolve(null)}get data(){return this._reader.data}read(){if(this.status!="idle")throw new b("filerepository-read-wrong-status",this);return this.status="reading",this.file.then(t=>this._reader.read(t)).then(t=>{if(this.status!=="reading")throw this.status;return this.status="idle",t}).catch(t=>{throw t==="aborted"?(this.status="aborted","aborted"):(this.status="error",this._reader.error?this._reader.error:t)})}upload(){if(this.status!="idle")throw new b("filerepository-upload-wrong-status",this);return this.status="uploading",this.file.then(()=>this._adapter.upload()).then(t=>(this.uploadResponse=t,this.status="idle",t)).catch(t=>{throw this.status==="aborted"?"aborted":(this.status="error",t)})}abort(){const t=this.status;this.status="aborted",this._filePromiseWrapper.isFulfilled?t=="reading"?this._reader.abort():t=="uploading"&&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(t){const e={};return e.promise=new Promise((n,i)=>{e.rejecter=i,e.isFulfilled=!1,t.then(r=>{e.isFulfilled=!0,n(r)}).catch(r=>{e.isFulfilled=!0,i(r)})}),e}}class vT extends at{constructor(t){super(t),this.buttonView=this,this._fileInputView=new yT(t),this._fileInputView.bind("acceptedType").to(this),this._fileInputView.bind("allowMultipleFiles").to(this),this._fileInputView.delegate("done").to(this),this.on("execute",()=>{this._fileInputView.open()}),this.extendTemplate({attributes:{class:"ck-file-dialog-button"}})}render(){super.render(),this.children.add(this._fileInputView)}}class yT extends Z{constructor(t){super(t),this.set("acceptedType",void 0),this.set("allowMultipleFiles",!1);const e=this.bindTemplate;this.setTemplate({tag:"input",attributes:{class:["ck-hidden"],type:"file",tabindex:"-1",accept:e.to("acceptedType"),multiple:e.to("allowMultipleFiles")},on:{change:e.to(()=>{this.element&&this.element.files&&this.element.files.length&&this.fire("done",this.element.files),this.element.value=""})}})}open(){this.element.click()}}class xT extends L{static get requires(){return[gn]}static get pluginName(){return"SimpleUploadAdapter"}init(){const t=this.editor.config.get("simpleUpload");if(t){if(!t.uploadUrl){return}this.editor.plugins.get(gn).createUploadAdapter=e=>new ET(e,t)}}}class ET{constructor(t,e){this.loader=t,this.options=e}upload(){return this.loader.file.then(t=>new Promise((e,n)=>{this._initRequest(),this._initListeners(e,n,t),this._sendRequest(t)}))}abort(){this.xhr&&this.xhr.abort()}_initRequest(){const t=this.xhr=new XMLHttpRequest;t.open("POST",this.options.uploadUrl,!0),t.responseType="json"}_initListeners(t,e,n){const i=this.xhr,r=this.loader,s=`Couldn't upload file: ${n.name}.`;i.addEventListener("error",()=>e(s)),i.addEventListener("abort",()=>e()),i.addEventListener("load",()=>{const a=i.response;if(!a||a.error)return e(a&&a.error&&a.error.message?a.error.message:s);const c=a.url?{default:a.url}:a.urls;t({...a,urls:c})}),i.upload&&i.upload.addEventListener("progress",a=>{a.lengthComputable&&(r.uploadTotal=a.total,r.uploaded=a.loaded)})}_sendRequest(t){const e=this.options.headers||{},n=this.options.withCredentials||!1;for(const r of Object.keys(e))this.xhr.setRequestHeader(r,e[r]);this.xhr.withCredentials=n;const i=new FormData;i.append("upload",t),this.xhr.send(i)}}function gm(o){const t=o.map(e=>e.replace("+","\\+"));return new RegExp(`^image\\/(${t.join("|")})$`)}function DT(o){return new Promise((t,e)=>{const n=o.getAttribute("src");fetch(n).then(i=>i.blob()).then(i=>{const r=fm(i,n),a=`image.${r.replace("image/","")}`,c=new File([i],a,{type:r});t(c)}).catch(i=>i&&i.name==="TypeError"?TT(n).then(t).catch(e):e(i))})}function ST(o,t){return!o.isInlineImageView(t)||!t.getAttribute("src")?!1:!!t.getAttribute("src").match(/^data:image\/\w+;base64,/g)||!!t.getAttribute("src").match(/^blob:/g)}function fm(o,t){return o.type?o.type:t.match(/data:(image\/\w+);base64/)?t.match(/data:(image\/\w+);base64/)[1].toLowerCase():"image/jpeg"}function TT(o){return IT(o).then(t=>{const e=fm(t,o),i=`image.${e.replace("image/","")}`;return new File([t],i,{type:e})})}function IT(o){return new Promise((t,e)=>{const n=H.document.createElement("img");n.addEventListener("load",()=>{const i=H.document.createElement("canvas");i.width=n.width,i.height=n.height,i.getContext("2d").drawImage(n,0,0),i.toBlob(s=>s?t(s):e())}),n.addEventListener("error",()=>e()),n.src=o})}class MT extends L{static get pluginName(){return"ImageUploadUI"}init(){const t=this.editor,e=t.t,n=i=>{const r=new vT(i),s=t.commands.get("uploadImage"),a=t.config.get("image.upload.types"),c=gm(a);return r.set({acceptedType:a.map(l=>`image/${l}`).join(","),allowMultipleFiles:!0,label:e("Upload image from computer"),icon:J.imageUpload,tooltip:!0}),r.bind("isEnabled").to(s),r.on("done",(l,d)=>{const u=Array.from(d).filter(f=>c.test(f.type));u.length&&(t.execute("uploadImage",{file:u}),t.editing.view.focus())}),r};if(t.ui.componentFactory.add("uploadImage",n),t.ui.componentFactory.add("imageUpload",n),t.plugins.has("ImageInsertUI")){const i=t.plugins.get("ImageInsertUI"),r=t.commands.get("uploadImage");i.registerIntegration({name:"upload",observable:r,buttonViewCreator:()=>{const s=t.ui.componentFactory.create("uploadImage");return s.bind("label").to(i,"isImageSelected",a=>e(a?"Replace image from computer":"Upload image from computer")),s},formViewCreator:()=>{const s=t.ui.componentFactory.create("uploadImage");return s.withText=!0,s.bind("label").to(i,"isImageSelected",a=>e(a?"Replace from computer":"Upload from computer")),s.on("execute",()=>{i.dropdownView.isOpen=!1}),s}})}}}var mm=P(2926),Wa={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Wa.insert="head",Wa.singleton=!0,R()(mm.Z,Wa),mm.Z.locals;var pm=P(1547),qa={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};qa.insert="head",qa.singleton=!0,R()(pm.Z,qa),pm.Z.locals;var km=P(6618),Za={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Za.insert="head",Za.singleton=!0,R()(km.Z,Za),km.Z.locals;class BT extends L{static get pluginName(){return"ImageUploadProgress"}constructor(t){super(t),this.uploadStatusChange=(e,n,i)=>{const r=this.editor,s=n.item,a=s.getAttribute("uploadId");if(!i.consumable.consume(n.item,e.name))return;const c=r.plugins.get("ImageUtils"),l=r.plugins.get(gn),d=a?n.attributeNewValue:null,u=this.placeholder,f=r.editing.mapper.toViewElement(s),p=i.writer;if(d=="reading"){bm(f,p),wm(c,u,f,p);return}if(d=="uploading"){const w=l.loaders.get(a);bm(f,p),w?(Am(f,p),zT(f,p,w,r.editing.view),jT(c,f,p,w)):wm(c,u,f,p);return}d=="complete"&&l.loaders.get(a)&&PT(f,p,r.editing.view),LT(f,p),Am(f,p),NT(f,p)},this.placeholder="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="}init(){const t=this.editor;t.plugins.has("ImageBlockEditing")&&t.editing.downcastDispatcher.on("attribute:uploadStatus:imageBlock",this.uploadStatusChange),t.plugins.has("ImageInlineEditing")&&t.editing.downcastDispatcher.on("attribute:uploadStatus:imageInline",this.uploadStatusChange)}}function bm(o,t){o.hasClass("ck-appear")||t.addClass("ck-appear",o)}function NT(o,t){t.removeClass("ck-appear",o)}function wm(o,t,e,n){e.hasClass("ck-image-upload-placeholder")||n.addClass("ck-image-upload-placeholder",e);const i=o.findViewImgElement(e);i.getAttribute("src")!==t&&n.setAttribute("src",t,i),Cm(e,"placeholder")||n.insert(n.createPositionAfter(i),RT(n))}function Am(o,t){o.hasClass("ck-image-upload-placeholder")&&t.removeClass("ck-image-upload-placeholder",o),_m(o,t,"placeholder")}function zT(o,t,e,n){const i=OT(t);t.insert(t.createPositionAt(o,"end"),i),e.on("change:uploadedPercent",(r,s,a)=>{n.change(c=>{c.setStyle("width",a+"%",i)})})}function LT(o,t){_m(o,t,"progressBar")}function PT(o,t,e){const n=t.createUIElement("div",{class:"ck-image-upload-complete-icon"});t.insert(t.createPositionAt(o,"end"),n),setTimeout(()=>{e.change(i=>i.remove(i.createRangeOn(n)))},3e3)}function OT(o){const t=o.createUIElement("div",{class:"ck-progress-bar"});return o.setCustomProperty("progressBar",!0,t),t}function RT(o){const t=o.createUIElement("div",{class:"ck-upload-placeholder-loader"});return o.setCustomProperty("placeholder",!0,t),t}function Cm(o,t){for(const e of o.getChildren())if(e.getCustomProperty(t))return e}function _m(o,t,e){const n=Cm(o,e);n&&t.remove(t.createRangeOn(n))}function jT(o,t,e,n){if(n.data){const i=o.findViewImgElement(t);e.setAttribute("src",n.data,i)}}class FT extends X{refresh(){const t=this.editor,e=t.plugins.get("ImageUtils"),n=t.model.document.selection.getSelectedElement();this.isEnabled=e.isImageAllowed()||e.isImage(n)}execute(t){const e=bt(t.file),n=this.editor.model.document.selection,i=this.editor.plugins.get("ImageUtils"),r=Object.fromEntries(n.getAttributes());e.forEach((s,a)=>{const c=n.getSelectedElement();if(a&&c&&i.isImage(c)){const l=this.editor.model.createPositionAfter(c);this._uploadImage(s,r,l)}else this._uploadImage(s,r)})}_uploadImage(t,e,n){const i=this.editor,s=i.plugins.get(gn).createLoader(t),a=i.plugins.get("ImageUtils");s&&a.insertImage({...e,uploadId:s.id},n)}}class VT extends L{static get requires(){return[gn,Dg,ke,Ut]}static get pluginName(){return"ImageUploadEditing"}constructor(t){super(t),t.config.define("image",{upload:{types:["jpeg","png","gif","bmp","webp","tiff"]}}),this._uploadImageElements=new Map}init(){const t=this.editor,e=t.model.document,n=t.conversion,i=t.plugins.get(gn),r=t.plugins.get("ImageUtils"),s=t.plugins.get("ClipboardPipeline"),a=gm(t.config.get("image.upload.types")),c=new FT(t);t.commands.add("uploadImage",c),t.commands.add("imageUpload",c),n.for("upcast").attributeToAttribute({view:{name:"img",key:"uploadId"},model:"uploadId"}),this.listenTo(t.editing.view.document,"clipboardInput",(l,d)=>{if(HT(d.dataTransfer))return;const u=Array.from(d.dataTransfer.files).filter(f=>f?a.test(f.type):!1);u.length&&(l.stop(),t.model.change(f=>{d.targetRanges&&f.setSelection(d.targetRanges.map(p=>t.editing.mapper.toModelRange(p))),t.execute("uploadImage",{file:u})}))}),this.listenTo(s,"inputTransformation",(l,d)=>{const u=Array.from(t.editing.view.createRangeIn(d.content)).map(p=>p.item).filter(p=>ST(r,p)&&!p.getAttribute("uploadProcessed")).map(p=>({promise:DT(p),imageElement:p}));if(!u.length)return;const f=new Be(t.editing.view.document);for(const p of u){f.setAttribute("uploadProcessed",!0,p.imageElement);const w=i.createLoader(p.promise);w&&(f.setAttribute("src","",p.imageElement),f.setAttribute("uploadId",w.id,p.imageElement))}}),t.editing.view.document.on("dragover",(l,d)=>{d.preventDefault()}),e.on("change",()=>{const l=e.differ.getChanges({includeChangesInGraveyard:!0}).reverse(),d=new Set;for(const u of l)if(u.type=="insert"&&u.name!="$text"){const f=u.position.nodeAfter,p=u.position.root.rootName=="$graveyard";for(const w of UT(t,f)){const S=w.getAttribute("uploadId");if(!S)continue;const M=i.loaders.get(S);M&&(p?d.has(S)||M.abort():(d.add(S),this._uploadImageElements.set(S,w),M.status=="idle"&&this._readAndUpload(M)))}}}),this.on("uploadComplete",(l,{imageElement:d,data:u})=>{const f=u.urls?u.urls:u;this.editor.model.change(p=>{p.setAttribute("src",f.default,d),this._parseAndSetSrcsetAttributeOnImage(f,d,p),r.setImageNaturalSizeAttributes(d)})},{priority:"low"})}afterInit(){const t=this.editor.model.schema;this.editor.plugins.has("ImageBlockEditing")&&t.extend("imageBlock",{allowAttributes:["uploadId","uploadStatus"]}),this.editor.plugins.has("ImageInlineEditing")&&t.extend("imageInline",{allowAttributes:["uploadId","uploadStatus"]})}_readAndUpload(t){const e=this.editor,n=e.model,i=e.locale.t,r=e.plugins.get(gn),s=e.plugins.get(Dg),a=e.plugins.get("ImageUtils"),c=this._uploadImageElements;return n.enqueueChange({isUndoable:!1},d=>{d.setAttribute("uploadStatus","reading",c.get(t.id))}),t.read().then(()=>{const d=t.upload(),u=c.get(t.id);if(g.isSafari){const f=e.editing.mapper.toViewElement(u),p=a.findViewImgElement(f);e.editing.view.once("render",()=>{if(!p.parent)return;const w=e.editing.view.domConverter.mapViewToDom(p.parent);if(!w)return;const S=w.style.display;w.style.display="none",w._ckHack=w.offsetHeight,w.style.display=S})}return n.enqueueChange({isUndoable:!1},f=>{f.setAttribute("uploadStatus","uploading",u)}),d}).then(d=>{n.enqueueChange({isUndoable:!1},u=>{const f=c.get(t.id);u.setAttribute("uploadStatus","complete",f),this.fire("uploadComplete",{data:d,imageElement:f})}),l()}).catch(d=>{if(t.status!=="error"&&t.status!=="aborted")throw d;t.status=="error"&&d&&s.showWarning(d,{title:i("Upload failed"),namespace:"upload"}),n.enqueueChange({isUndoable:!1},u=>{u.remove(c.get(t.id))}),l()});function l(){n.enqueueChange({isUndoable:!1},d=>{const u=c.get(t.id);d.removeAttribute("uploadId",u),d.removeAttribute("uploadStatus",u),c.delete(t.id)}),r.destroyLoader(t)}}_parseAndSetSrcsetAttributeOnImage(t,e,n){let i=0;const r=Object.keys(t).filter(s=>{const a=parseInt(s,10);if(!isNaN(a))return i=Math.max(i,a),!0}).map(s=>`${t[s]} ${s}w`).join(", ");if(r!=""){const s={srcset:r};!e.hasAttribute("width")&&!e.hasAttribute("height")&&(s.width=i),n.setAttributes(s,e)}}}function HT(o){return Array.from(o.types).includes("text/html")&&o.getData("text/html")!==""}function UT(o,t){const e=o.plugins.get("ImageUtils");return Array.from(o.model.createRangeOn(t)).filter(n=>e.isImage(n.item)).map(n=>n.item)}class GT extends L{static get pluginName(){return"ImageUpload"}static get requires(){return[VT,MT,BT]}}class WT extends X{refresh(){const t=this.editor,n=t.plugins.get("ImageUtils").getClosestSelectedImageElement(t.model.document.selection);this.isEnabled=!!n,!n||!n.hasAttribute("resizedWidth")?this.value=null:this.value={width:n.getAttribute("resizedWidth"),height:null}}execute(t){const e=this.editor,n=e.model,i=e.plugins.get("ImageUtils"),r=i.getClosestSelectedImageElement(n.document.selection);this.value={width:t.width,height:null},r&&n.change(s=>{s.setAttribute("resizedWidth",t.width,r),s.removeAttribute("resizedHeight",r),i.setImageNaturalSizeAttributes(r)})}}class vm extends L{static get requires(){return[Ut]}static get pluginName(){return"ImageResizeEditing"}constructor(t){super(t),t.config.define("image",{resizeUnit:"%",resizeOptions:[{name:"resizeImage:original",value:null,icon:"original"},{name:"resizeImage:25",value:"25",icon:"small"},{name:"resizeImage:50",value:"50",icon:"medium"},{name:"resizeImage:75",value:"75",icon:"large"}]})}init(){const t=this.editor,e=new WT(t);this._registerSchema(),this._registerConverters("imageBlock"),this._registerConverters("imageInline"),t.commands.add("resizeImage",e),t.commands.add("imageResize",e)}_registerSchema(){this.editor.plugins.has("ImageBlockEditing")&&this.editor.model.schema.extend("imageBlock",{allowAttributes:["resizedWidth","resizedHeight"]}),this.editor.plugins.has("ImageInlineEditing")&&this.editor.model.schema.extend("imageInline",{allowAttributes:["resizedWidth","resizedHeight"]})}_registerConverters(t){const e=this.editor,n=e.plugins.get("ImageUtils");e.conversion.for("downcast").add(i=>i.on(`attribute:resizedWidth:${t}`,(r,s,a)=>{if(!a.consumable.consume(s.item,r.name))return;const c=a.writer,l=a.mapper.toViewElement(s.item);s.attributeNewValue!==null?(c.setStyle("width",s.attributeNewValue,l),c.addClass("image_resized",l)):(c.removeStyle("width",l),c.removeClass("image_resized",l))})),e.conversion.for("dataDowncast").attributeToAttribute({model:{name:t,key:"resizedHeight"},view:i=>({key:"style",value:{height:i}})}),e.conversion.for("editingDowncast").add(i=>i.on(`attribute:resizedHeight:${t}`,(r,s,a)=>{if(!a.consumable.consume(s.item,r.name))return;const c=a.writer,l=a.mapper.toViewElement(s.item),d=t==="imageInline"?n.findViewImgElement(l):l;s.attributeNewValue!==null?c.setStyle("height",s.attributeNewValue,d):c.removeStyle("height",d)})),e.conversion.for("upcast").attributeToAttribute({view:{name:t==="imageBlock"?"figure":"img",styles:{width:/.+/}},model:{key:"resizedWidth",value:i=>Zi(i)?null:i.getStyle("width")}}),e.conversion.for("upcast").attributeToAttribute({view:{name:t==="imageBlock"?"figure":"img",styles:{height:/.+/}},model:{key:"resizedHeight",value:i=>Zi(i)?null:i.getStyle("height")}})}}const $a={small:J.objectSizeSmall,medium:J.objectSizeMedium,large:J.objectSizeLarge,original:J.objectSizeFull};class qT extends L{static get requires(){return[vm]}static get pluginName(){return"ImageResizeButtons"}constructor(t){super(t),this._resizeUnit=t.config.get("image.resizeUnit")}init(){const t=this.editor,e=t.config.get("image.resizeOptions"),n=t.commands.get("resizeImage");this.bind("isEnabled").to(n);for(const i of e)this._registerImageResizeButton(i);this._registerImageResizeDropdown(e)}_registerImageResizeButton(t){const e=this.editor,{name:n,value:i,icon:r}=t,s=i?i+this._resizeUnit:null;e.ui.componentFactory.add(n,a=>{const c=new at(a),l=e.commands.get("resizeImage"),d=this._getOptionLabelValue(t,!0);if(!$a[r])throw new b("imageresizebuttons-missing-icon",e,t);return c.set({label:d,icon:$a[r],tooltip:d,isToggleable:!0}),c.bind("isEnabled").to(this),c.bind("isOn").to(l,"value",ym(s)),this.listenTo(c,"execute",()=>{e.execute("resizeImage",{width:s})}),c})}_registerImageResizeDropdown(t){const e=this.editor,n=e.t,i=t.find(s=>!s.value),r=s=>{const a=e.commands.get("resizeImage"),c=ye(s,jd),l=c.buttonView,d=n("Resize image");return l.set({tooltip:d,commandValue:i.value,icon:$a.medium,isToggleable:!0,label:this._getOptionLabelValue(i),withText:!0,class:"ck-resize-image-button",ariaLabel:d,ariaLabelledBy:void 0}),l.bind("label").to(a,"value",u=>u&&u.width?u.width:this._getOptionLabelValue(i)),c.bind("isEnabled").to(this),Gs(c,()=>this._getResizeDropdownListItemDefinitions(t,a),{ariaLabel:n("Image resize list"),role:"menu"}),this.listenTo(c,"execute",u=>{e.execute(u.source.commandName,{width:u.source.commandValue}),e.editing.view.focus()}),c};e.ui.componentFactory.add("resizeImage",r),e.ui.componentFactory.add("imageResize",r)}_getOptionLabelValue(t,e=!1){const n=this.editor.t;return t.label?t.label:e?t.value?n("Resize image to %0",t.value+this._resizeUnit):n("Resize image to the original size"):t.value?t.value+this._resizeUnit:n("Original")}_getResizeDropdownListItemDefinitions(t,e){const n=new oe;return t.map(i=>{const r=i.value?i.value+this._resizeUnit:null,s={type:"button",model:new la({commandName:"resizeImage",commandValue:r,label:this._getOptionLabelValue(i),role:"menuitemradio",withText:!0,icon:null})};s.model.bind("isOn").to(e,"value",ym(r)),n.add(s)}),n}}function ym(o){return t=>{const e=t;return o===null&&e===o?!0:e!==null&&e.width===o}}const ZT="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",Ka="image_resized";class $T extends L{static get requires(){return[Ba,Ut]}static get pluginName(){return"ImageResizeHandles"}init(){const t=this.editor.commands.get("resizeImage");this.bind("isEnabled").to(t),this._setupResizerCreator()}_setupResizerCreator(){const t=this.editor,e=t.editing.view,n=t.plugins.get("ImageUtils");e.addObserver(Fa),this.listenTo(e.document,"imageLoaded",(i,r)=>{if(!r.target.matches(ZT))return;const s=t.editing.view.domConverter,a=s.domToView(r.target),c=n.getImageWidgetFromImageView(a);let l=this.editor.plugins.get(Ba).getResizerByViewElement(c);if(l){l.redraw();return}const d=t.editing.mapper,u=d.toModelElement(c);l=t.plugins.get(Ba).attachTo({unit:t.config.get("image.resizeUnit"),modelElement:u,viewElement:c,editor:t,getHandleHost(f){return f.querySelector("img")},getResizeHost(){return s.mapViewToDom(d.toViewElement(u.parent))},isCentered(){const f=u.getAttribute("imageStyle");return!f||f=="block"||f=="alignCenter"},onCommit(f){e.change(p=>{p.removeClass(Ka,c)}),t.execute("resizeImage",{width:f})}}),l.on("updateSize",()=>{c.hasClass(Ka)||e.change(p=>{p.addClass(Ka,c)});const f=u.name==="imageInline"?a:c;f.getStyle("height")&&e.change(p=>{p.removeStyle("height",f)})}),l.bind("isEnabled").to(this)})}}var xm=P(2400),Ya={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ya.insert="head",Ya.singleton=!0,R()(xm.Z,Ya),xm.Z.locals;class KT extends L{static get requires(){return[vm,$T,qT]}static get pluginName(){return"ImageResize"}}class YT extends X{constructor(t,e){super(t),this._defaultStyles={imageBlock:!1,imageInline:!1},this._styles=new Map(e.map(n=>{if(n.isDefault)for(const i of n.modelElements)this._defaultStyles[i]=n.name;return[n.name,n]}))}refresh(){const n=this.editor.plugins.get("ImageUtils").getClosestSelectedImageElement(this.editor.model.document.selection);this.isEnabled=!!n,this.isEnabled?n.hasAttribute("imageStyle")?this.value=n.getAttribute("imageStyle"):this.value=this._defaultStyles[n.name]:this.value=!1}execute(t={}){const e=this.editor,n=e.model,i=e.plugins.get("ImageUtils");n.change(r=>{const s=t.value,{setImageSizes:a=!0}=t;let c=i.getClosestSelectedImageElement(n.document.selection);s&&this.shouldConvertImageType(s,c)&&(this.editor.execute(i.isBlockImage(c)?"imageTypeInline":"imageTypeBlock",{setImageSizes:a}),c=i.getClosestSelectedImageElement(n.document.selection)),!s||this._styles.get(s).isDefault?r.removeAttribute("imageStyle",c):r.setAttribute("imageStyle",s,c),a&&i.setImageNaturalSizeAttributes(c)})}shouldConvertImageType(t,e){return!this._styles.get(t).modelElements.includes(e.name)}}const{objectFullWidth:QT,objectInline:Em,objectLeft:Dm,objectRight:Qa,objectCenter:Ja,objectBlockLeft:Sm,objectBlockRight:Tm}=J,Ki={get inline(){return{name:"inline",title:"In line",icon:Em,modelElements:["imageInline"],isDefault:!0}},get alignLeft(){return{name:"alignLeft",title:"Left aligned image",icon:Dm,modelElements:["imageBlock","imageInline"],className:"image-style-align-left"}},get alignBlockLeft(){return{name:"alignBlockLeft",title:"Left aligned image",icon:Sm,modelElements:["imageBlock"],className:"image-style-block-align-left"}},get alignCenter(){return{name:"alignCenter",title:"Centered image",icon:Ja,modelElements:["imageBlock"],className:"image-style-align-center"}},get alignRight(){return{name:"alignRight",title:"Right aligned image",icon:Qa,modelElements:["imageBlock","imageInline"],className:"image-style-align-right"}},get alignBlockRight(){return{name:"alignBlockRight",title:"Right aligned image",icon:Tm,modelElements:["imageBlock"],className:"image-style-block-align-right"}},get block(){return{name:"block",title:"Centered image",icon:Ja,modelElements:["imageBlock"],isDefault:!0}},get side(){return{name:"side",title:"Side image",icon:Qa,modelElements:["imageBlock"],className:"image-style-side"}}},Im={full:QT,left:Sm,right:Tm,center:Ja,inlineLeft:Dm,inlineRight:Qa,inline:Em},Mm=[{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 JT(o){return(o.configuredStyles.options||[]).map(n=>eI(n)).filter(n=>nI(n,o))}function XT(o,t){return o&&t?{options:["inline","alignLeft","alignRight","alignCenter","alignBlockLeft","alignBlockRight","block","side"]}:o?{options:["block","side"]}:t?{options:["inline","alignLeft","alignRight"]}:{}}function tI(o){return o.has("ImageBlockEditing")&&o.has("ImageInlineEditing")?[...Mm]:[]}function eI(o){return typeof o=="string"?Ki[o]?o={...Ki[o]}:o={name:o}:o=oI(Ki[o.name],o),typeof o.icon=="string"&&(o.icon=Im[o.icon]||o.icon),o}function nI(o,{isBlockPluginLoaded:t,isInlinePluginLoaded:e}){const{modelElements:n,name:i}=o;if(!n||!n.length||!i)return Bm({style:o}),!1;{const r=[t?"imageBlock":null,e?"imageInline":null];if(!n.some(s=>r.includes(s)))return n.map(s=>s==="imageBlock"?"ImageBlockEditing":"ImageInlineEditing"),!1}return!0}function oI(o,t){const e={...t};for(const n in o)Object.prototype.hasOwnProperty.call(t,n)||(e[n]=o[n]);return e}function Bm(o){}const Xa={normalizeStyles:JT,getDefaultStylesConfiguration:XT,getDefaultDropdownDefinitions:tI,warnInvalidStyle:Bm,DEFAULT_OPTIONS:Ki,DEFAULT_ICONS:Im,DEFAULT_DROPDOWN_DEFINITIONS:Mm};function iI(o){return(t,e,n)=>{if(!n.consumable.consume(e.item,t.name))return;const i=Nm(e.attributeNewValue,o),r=Nm(e.attributeOldValue,o),s=n.mapper.toViewElement(e.item),a=n.writer;r&&a.removeClass(r.className,s),i&&a.addClass(i.className,s)}}function rI(o){const t={imageInline:o.filter(e=>!e.isDefault&&e.modelElements.includes("imageInline")),imageBlock:o.filter(e=>!e.isDefault&&e.modelElements.includes("imageBlock"))};return(e,n,i)=>{if(!n.modelRange)return;const r=n.viewItem,s=Lt(n.modelRange.getItems());if(s&&i.schema.checkAttribute(s,"imageStyle"))for(const a of t[s.name])i.consumable.consume(r,{classes:a.className})&&i.writer.setAttribute("imageStyle",a.name,s)}}function Nm(o,t){for(const e of t)if(e.name===o)return e}class zm extends L{static get pluginName(){return"ImageStyleEditing"}static get requires(){return[Ut]}init(){const{normalizeStyles:t,getDefaultStylesConfiguration:e}=Xa,n=this.editor,i=n.plugins.has("ImageBlockEditing"),r=n.plugins.has("ImageInlineEditing");n.config.define("image.styles",e(i,r)),this.normalizedStyles=t({configuredStyles:n.config.get("image.styles"),isBlockPluginLoaded:i,isInlinePluginLoaded:r}),this._setupConversion(i,r),this._setupPostFixer(),n.commands.add("imageStyle",new YT(n,this.normalizedStyles))}_setupConversion(t,e){const n=this.editor,i=n.model.schema,r=iI(this.normalizedStyles),s=rI(this.normalizedStyles);n.editing.downcastDispatcher.on("attribute:imageStyle",r),n.data.downcastDispatcher.on("attribute:imageStyle",r),t&&(i.extend("imageBlock",{allowAttributes:"imageStyle"}),n.data.upcastDispatcher.on("element:figure",s,{priority:"low"})),e&&(i.extend("imageInline",{allowAttributes:"imageStyle"}),n.data.upcastDispatcher.on("element:img",s,{priority:"low"}))}_setupPostFixer(){const t=this.editor,e=t.model.document,n=t.plugins.get(Ut),i=new Map(this.normalizedStyles.map(r=>[r.name,r]));e.registerPostFixer(r=>{let s=!1;for(const a of e.differ.getChanges())if(a.type=="insert"||a.type=="attribute"&&a.attributeKey=="imageStyle"){let c=a.type=="insert"?a.position.nodeAfter:a.range.start.nodeAfter;if(c&&c.is("element","paragraph")&&c.childCount>0&&(c=c.getChild(0)),!n.isImage(c))continue;const l=c.getAttribute("imageStyle");if(!l)continue;const d=i.get(l);(!d||!d.modelElements.includes(c.name))&&(r.removeAttribute("imageStyle",c),s=!0)}return s})}}var Lm=P(3534),tc={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};tc.insert="head",tc.singleton=!0,R()(Lm.Z,tc),Lm.Z.locals;class sI extends L{static get requires(){return[zm]}static get pluginName(){return"ImageStyleUI"}get localizedDefaultStylesTitles(){const t=this.editor.t;return{"Wrap text":t("Wrap text"),"Break text":t("Break text"),"In line":t("In line"),"Full size image":t("Full size image"),"Side image":t("Side image"),"Left aligned image":t("Left aligned image"),"Centered image":t("Centered image"),"Right aligned image":t("Right aligned image")}}init(){const t=this.editor.plugins,e=this.editor.config.get("image.toolbar")||[],n=t.get("ImageStyleEditing"),i=Pm(n.normalizedStyles,this.localizedDefaultStylesTitles);for(const s of i)this._createButton(s);const r=Pm([...e.filter(Ct),...Xa.getDefaultDropdownDefinitions(t)],this.localizedDefaultStylesTitles);for(const s of r)this._createDropdown(s,i)}_createDropdown(t,e){const n=this.editor.ui.componentFactory;n.add(t.name,i=>{let r;const{defaultItem:s,items:a,title:c}=t,l=a.filter(p=>e.find(({name:w})=>Om(w)===p)).map(p=>{const w=n.create(p);return p===s&&(r=w),w});a.length!==l.length&&Xa.warnInvalidStyle({dropdown:t});const d=ye(i,Di),u=d.buttonView,f=u.arrowView;return Us(d,l,{enableActiveItemFocusOnDropdownOpen:!0}),u.set({label:Rm(c,r.label),class:null,tooltip:!0}),f.unbind("label"),f.set({label:c}),u.bind("icon").toMany(l,"isOn",(...p)=>{const w=p.findIndex(rn);return w<0?r.icon:l[w].icon}),u.bind("label").toMany(l,"isOn",(...p)=>{const w=p.findIndex(rn);return Rm(c,w<0?r.label:l[w].label)}),u.bind("isOn").toMany(l,"isOn",(...p)=>p.some(rn)),u.bind("class").toMany(l,"isOn",(...p)=>p.some(rn)?"ck-splitbutton_flatten":void 0),u.on("execute",()=>{l.some(({isOn:p})=>p)?d.isOpen=!d.isOpen:r.fire("execute")}),d.bind("isEnabled").toMany(l,"isEnabled",(...p)=>p.some(rn)),this.listenTo(d,"execute",()=>{this.editor.editing.view.focus()}),d})}_createButton(t){const e=t.name;this.editor.ui.componentFactory.add(Om(e),n=>{const i=this.editor.commands.get("imageStyle"),r=new at(n);return r.set({label:t.title,icon:t.icon,tooltip:!0,isToggleable:!0}),r.bind("isEnabled").to(i,"isEnabled"),r.bind("isOn").to(i,"value",s=>s===e),r.on("execute",this._executeCommand.bind(this,e)),r})}_executeCommand(t){this.editor.execute("imageStyle",{value:t}),this.editor.editing.view.focus()}}function Pm(o,t){for(const e of o)t[e.title]&&(e.title=t[e.title]);return o}function Om(o){return`imageStyle:${o}`}function Rm(o,t){return(o?o+": ":"")+t}class aI extends L{static get requires(){return[zm,sI]}static get pluginName(){return"ImageStyle"}}class cI extends L{static get requires(){return[Hi,Ut]}static get pluginName(){return"ImageToolbar"}afterInit(){const t=this.editor,e=t.t,n=t.plugins.get(Hi),i=t.plugins.get("ImageUtils");n.register("image",{ariaLabel:e("Image toolbar"),items:lI(t.config.get("image.toolbar")||[]),getRelatedElement:r=>i.getClosestSelectedImageWidget(r)})}}function lI(o){return o.map(t=>Ct(t)?t.name:t)}class dI extends L{static get pluginName(){return"IndentEditing"}init(){const t=this.editor;t.commands.add("indent",new Gd(t)),t.commands.add("outdent",new Gd(t))}}class uI extends L{static get pluginName(){return"IndentUI"}init(){const t=this.editor,e=t.locale,n=t.t,i=e.uiLanguageDirection=="ltr"?J.indent:J.outdent,r=e.uiLanguageDirection=="ltr"?J.outdent:J.indent;this._defineButton("indent",n("Increase indent"),i),this._defineButton("outdent",n("Decrease indent"),r)}_defineButton(t,e,n){const i=this.editor;i.ui.componentFactory.add(t,r=>{const s=i.commands.get(t),a=new at(r);return a.set({label:e,icon:n,tooltip:!0}),a.bind("isEnabled").to(s,"isEnabled"),this.listenTo(a,"execute",()=>{i.execute(t),i.editing.view.focus()}),a})}}class hI extends L{static get pluginName(){return"Indent"}static get requires(){return[dI,uI]}}class gI{constructor(){this._definitions=new Set}get length(){return this._definitions.size}add(t){Array.isArray(t)?t.forEach(e=>this._definitions.add(e)):this._definitions.add(t)}getDispatcher(){return t=>{t.on("attribute:linkHref",(e,n,i)=>{if(!i.consumable.test(n.item,"attribute:linkHref")||!(n.item.is("selection")||i.schema.isInline(n.item)))return;const r=i.writer,s=r.document.selection;for(const a of this._definitions){const c=r.createAttributeElement("a",a.attributes,{priority:5});a.classes&&r.addClass(a.classes,c);for(const l in a.styles)r.setStyle(l,a.styles[l],c);r.setCustomProperty("link",!0,c),a.callback(n.attributeNewValue)?n.item.is("selection")?r.wrap(s.getFirstRange(),c):r.wrap(i.mapper.toViewRange(n.range),c):r.unwrap(i.mapper.toViewRange(n.range),c)}},{priority:"high"})}}getDispatcherForLinkedImage(){return t=>{t.on("attribute:linkHref:imageBlock",(e,n,{writer:i,mapper:r})=>{const s=r.toViewElement(n.item),a=Array.from(s.getChildren()).find(c=>c.is("element","a"));for(const c of this._definitions){const l=Se(c.attributes);if(c.callback(n.attributeNewValue)){for(const[d,u]of l)d==="class"?i.addClass(u,a):i.setAttribute(d,u,a);c.classes&&i.addClass(c.classes,a);for(const d in c.styles)i.setStyle(d,c.styles[d],a)}else{for(const[d,u]of l)d==="class"?i.removeClass(u,a):i.removeAttribute(d,a);c.classes&&i.removeClass(c.classes,a);for(const d in c.styles)i.removeStyle(d,a)}}})}}}function fI(o,t,e){var n=o.length;return e=e===void 0?n:e,!t&&e>=n?o:ou(o,t,e)}const mI=fI;var pI="\\ud800-\\udfff",kI="\\u0300-\\u036f",bI="\\ufe20-\\ufe2f",wI="\\u20d0-\\u20ff",AI=kI+bI+wI,CI="\\ufe0e\\ufe0f",_I="\\u200d",vI=RegExp("["+_I+pI+AI+CI+"]");function yI(o){return vI.test(o)}const jm=yI;function xI(o){return o.split("")}const EI=xI;var Fm="\\ud800-\\udfff",DI="\\u0300-\\u036f",SI="\\ufe20-\\ufe2f",TI="\\u20d0-\\u20ff",II=DI+SI+TI,MI="\\ufe0e\\ufe0f",BI="["+Fm+"]",ec="["+II+"]",nc="\\ud83c[\\udffb-\\udfff]",NI="(?:"+ec+"|"+nc+")",Vm="[^"+Fm+"]",Hm="(?:\\ud83c[\\udde6-\\uddff]){2}",Um="[\\ud800-\\udbff][\\udc00-\\udfff]",zI="\\u200d",Gm=NI+"?",Wm="["+MI+"]?",LI="(?:"+zI+"(?:"+[Vm,Hm,Um].join("|")+")"+Wm+Gm+")*",PI=Wm+Gm+LI,OI="(?:"+[Vm+ec+"?",ec,Hm,Um,BI].join("|")+")",RI=RegExp(nc+"(?="+nc+")|"+OI+PI,"g");function jI(o){return o.match(RI)||[]}const FI=jI;function VI(o){return jm(o)?FI(o):EI(o)}const HI=VI;function UI(o){return function(t){t=is(t);var e=jm(t)?HI(t):void 0,n=e?e[0]:t.charAt(0),i=e?mI(e,1).join(""):t.slice(1);return n[o]()+i}}var GI=UI("toUpperCase");const WI=GI,qI=/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205f\u3000]/g,ZI=/^(?:(?:https?|ftps?|mailto):|[^a-z]|[a-z+.-]+(?:[^a-z+.:-]|$))/i,$I=/^[\S]+@((?![-_])(?:[-\w\u00a1-\uffff]{0,63}[^-_]\.))+(?:[a-z\u00a1-\uffff]{2,})$/i,KI=/^((\w+:(\/{2,})?)|(\W))/i,oc="Ctrl+K";function YI(o){return o.is("attributeElement")&&!!o.getCustomProperty("link")}function qm(o,{writer:t}){const e=t.createAttributeElement("a",{href:o},{priority:5});return t.setCustomProperty("link",!0,e),e}function Zm(o){const t=String(o);return QI(t)?t:"#"}function QI(o){return!!o.replace(qI,"").match(ZI)}function JI(o,t){const e={"Open in a new tab":o("Open in a new tab"),Downloadable:o("Downloadable")};return t.forEach(n=>("label"in n&&e[n.label]&&(n.label=e[n.label]),n)),t}function XI(o){const t=[];if(o)for(const[e,n]of Object.entries(o)){const i=Object.assign({},n,{id:`link${WI(e)}`});t.push(i)}return t}function ic(o,t){return o?t.checkAttribute(o.name,"linkHref"):!1}function tM(o){return $I.test(o)}function rc(o,t){const e=tM(o)?"mailto:":t,n=!!e&&!$m(o);return o&&n?e+o:o}function $m(o){return KI.test(o)}function Km(o){window.open(o,"_blank","noopener")}class eM extends X{constructor(){super(...arguments),this.manualDecorators=new oe,this.automaticDecorators=new gI}restoreManualDecoratorStates(){for(const t of this.manualDecorators)t.value=this._getDecoratorStateFromModel(t.id)}refresh(){const t=this.editor.model,e=t.document.selection,n=e.getSelectedElement()||Lt(e.getSelectedBlocks());ic(n,t.schema)?(this.value=n.getAttribute("linkHref"),this.isEnabled=t.schema.checkAttribute(n,"linkHref")):(this.value=e.getAttribute("linkHref"),this.isEnabled=t.schema.checkAttributeInSelection(e,"linkHref"));for(const i of this.manualDecorators)i.value=this._getDecoratorStateFromModel(i.id)}execute(t,e={}){const n=this.editor.model,i=n.document.selection,r=[],s=[];for(const a in e)e[a]?r.push(a):s.push(a);n.change(a=>{if(i.isCollapsed){const c=i.getFirstPosition();if(i.hasAttribute("linkHref")){const l=Ym(i);let d=Oi(c,"linkHref",i.getAttribute("linkHref"),n);i.getAttribute("linkHref")===l&&(d=this._updateLinkContent(n,a,d,t)),a.setAttribute("linkHref",t,d),r.forEach(u=>{a.setAttribute(u,!0,d)}),s.forEach(u=>{a.removeAttribute(u,d)}),a.setSelection(a.createPositionAfter(d.end.nodeBefore))}else if(t!==""){const l=Se(i.getAttributes());l.set("linkHref",t),r.forEach(u=>{l.set(u,!0)});const{end:d}=n.insertContent(a.createText(t,l),c);a.setSelection(d)}["linkHref",...r,...s].forEach(l=>{a.removeSelectionAttribute(l)})}else{const c=n.schema.getValidRanges(i.getRanges(),"linkHref"),l=[];for(const u of i.getSelectedBlocks())n.schema.checkAttribute(u,"linkHref")&&l.push(a.createRangeOn(u));const d=l.slice();for(const u of c)this._isRangeToUpdate(u,l)&&d.push(u);for(const u of d){let f=u;if(d.length===1){const p=Ym(i);i.getAttribute("linkHref")===p&&(f=this._updateLinkContent(n,a,u,t),a.setSelection(a.createSelection(f)))}a.setAttribute("linkHref",t,f),r.forEach(p=>{a.setAttribute(p,!0,f)}),s.forEach(p=>{a.removeAttribute(p,f)})}}})}_getDecoratorStateFromModel(t){const e=this.editor.model,n=e.document.selection,i=n.getSelectedElement();return ic(i,e.schema)?i.getAttribute(t):n.getAttribute(t)}_isRangeToUpdate(t,e){for(const n of e)if(n.containsRange(t))return!1;return!0}_updateLinkContent(t,e,n,i){const r=e.createText(i,{linkHref:i});return t.insertContent(r,n)}}function Ym(o){if(o.isCollapsed){const t=o.getFirstPosition();return t.textNode&&t.textNode.data}else{const t=Array.from(o.getFirstRange().getItems());if(t.length>1)return null;const e=t[0];return e.is("$text")||e.is("$textProxy")?e.data:null}}class nM extends X{refresh(){const t=this.editor.model,e=t.document.selection,n=e.getSelectedElement();ic(n,t.schema)?this.isEnabled=t.schema.checkAttribute(n,"linkHref"):this.isEnabled=t.schema.checkAttributeInSelection(e,"linkHref")}execute(){const t=this.editor,e=this.editor.model,n=e.document.selection,i=t.commands.get("link");e.change(r=>{const s=n.isCollapsed?[Oi(n.getFirstPosition(),"linkHref",n.getAttribute("linkHref"),e)]:e.schema.getValidRanges(n.getRanges(),"linkHref");for(const a of s)if(r.removeAttribute("linkHref",a),i)for(const c of i.manualDecorators)r.removeAttribute(c.id,a)})}}class oM extends st(){constructor({id:t,label:e,attributes:n,classes:i,styles:r,defaultValue:s}){super(),this.id=t,this.set("value",void 0),this.defaultValue=s,this.label=e,this.attributes=n,this.classes=i,this.styles=r}_createPattern(){return{attributes:this.attributes,classes:this.classes,styles:this.styles}}}var Qm=P(3925),sc={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};sc.insert="head",sc.singleton=!0,R()(Qm.Z,sc),Qm.Z.locals;const iM="ck-link_selected",Jm="automatic",rM="manual",sM=/^(https?:)?\/\//;class Xm extends L{static get pluginName(){return"LinkEditing"}static get requires(){return[Jg,Wg,ke]}constructor(t){super(t),t.config.define("link",{allowCreatingEmptyLinks:!1,addTargetToExternalLinks:!1})}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:"linkHref"}),t.conversion.for("dataDowncast").attributeToElement({model:"linkHref",view:qm}),t.conversion.for("editingDowncast").attributeToElement({model:"linkHref",view:(i,r)=>qm(Zm(i),r)}),t.conversion.for("upcast").elementToAttribute({view:{name:"a",attributes:{href:!0}},model:{key:"linkHref",value:i=>i.getAttribute("href")}}),t.commands.add("link",new eM(t)),t.commands.add("unlink",new nM(t));const e=JI(t.t,XI(t.config.get("link.decorators")));this._enableAutomaticDecorators(e.filter(i=>i.mode===Jm)),this._enableManualDecorators(e.filter(i=>i.mode===rM)),t.plugins.get(Jg).registerAttribute("linkHref"),l4(t,"linkHref","a",iM),this._enableLinkOpen(),this._enableSelectionAttributesFixer(),this._enableClipboardIntegration()}_enableAutomaticDecorators(t){const e=this.editor,i=e.commands.get("link").automaticDecorators;e.config.get("link.addTargetToExternalLinks")&&i.add({id:"linkIsExternal",mode:Jm,callback:r=>!!r&&sM.test(r),attributes:{target:"_blank",rel:"noopener noreferrer"}}),i.add(t),i.length&&e.conversion.for("downcast").add(i.getDispatcher())}_enableManualDecorators(t){if(!t.length)return;const e=this.editor,i=e.commands.get("link").manualDecorators;t.forEach(r=>{e.model.schema.extend("$text",{allowAttributes:r.id});const s=new oM(r);i.add(s),e.conversion.for("downcast").attributeToElement({model:s.id,view:(a,{writer:c,schema:l},{item:d})=>{if((d.is("selection")||l.isInline(d))&&a){const u=c.createAttributeElement("a",s.attributes,{priority:5});s.classes&&c.addClass(s.classes,u);for(const f in s.styles)c.setStyle(f,s.styles[f],u);return c.setCustomProperty("link",!0,u),u}}}),e.conversion.for("upcast").elementToAttribute({view:{name:"a",...s._createPattern()},model:{key:s.id}})})}_enableLinkOpen(){const t=this.editor,n=t.editing.view.document;this.listenTo(n,"click",(i,r)=>{if(!(g.isMac?r.domEvent.metaKey:r.domEvent.ctrlKey))return;let a=r.domTarget;if(a.tagName.toLowerCase()!="a"&&(a=a.closest("a")),!a)return;const c=a.getAttribute("href");c&&(i.stop(),r.preventDefault(),Km(c))},{context:"$capture"}),this.listenTo(n,"keydown",(i,r)=>{const a=t.commands.get("link").value;a&&r.keyCode===et.enter&&r.altKey&&(i.stop(),Km(a))})}_enableSelectionAttributesFixer(){const e=this.editor.model,n=e.document.selection;this.listenTo(n,"change:attribute",(i,{attributeKeys:r})=>{!r.includes("linkHref")||n.hasAttribute("linkHref")||e.change(s=>{aM(s,cM(e.schema))})})}_enableClipboardIntegration(){const t=this.editor,e=t.model,n=this.editor.config.get("link.defaultProtocol");n&&this.listenTo(t.plugins.get("ClipboardPipeline"),"contentInsertion",(i,r)=>{e.change(s=>{const a=s.createRangeIn(r.content);for(const c of a.getItems())if(c.hasAttribute("linkHref")){const l=rc(c.getAttribute("linkHref"),n);s.setAttribute("linkHref",l,c)}})})}}function aM(o,t){o.removeSelectionAttribute("linkHref");for(const e of t)o.removeSelectionAttribute(e)}function cM(o){return o.getDefinition("$text").allowAttributes.filter(e=>e.startsWith("link"))}var tp=P(4874),ac={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};ac.insert="head",ac.singleton=!0,R()(tp.Z,ac),tp.Z.locals;class lM extends Z{constructor(t,e){super(t),this.focusTracker=new Pt,this.keystrokes=new Gt,this._focusables=new ie;const n=t.t;this.urlInputView=this._createUrlInput(),this.saveButtonView=this._createButton(n("Save"),J.check,"ck-button-save"),this.saveButtonView.type="submit",this.cancelButtonView=this._createButton(n("Cancel"),J.cancel,"ck-button-cancel","cancel"),this._manualDecoratorSwitches=this._createManualDecoratorSwitches(e),this.children=this._createFormChildren(e.manualDecorators),this._focusCycler=new se({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}});const i=["ck","ck-link-form","ck-responsive-form"];e.manualDecorators.length&&i.push("ck-link-form_layout-vertical","ck-vertical-form"),this.setTemplate({tag:"form",attributes:{class:i,tabindex:"-1"},children:this.children})}getDecoratorSwitchesState(){return Array.from(this._manualDecoratorSwitches).reduce((t,e)=>(t[e.name]=e.isOn,t),{})}render(){super.render(),h({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 t=this.locale.t,e=new si(this.locale,Si);return e.label=t("Link URL"),e}_createButton(t,e,n,i){const r=new at(this.locale);return r.set({label:t,icon:e,tooltip:!0}),r.extendTemplate({attributes:{class:n}}),i&&r.delegate("execute").to(this,i),r}_createManualDecoratorSwitches(t){const e=this.createCollection();for(const n of t.manualDecorators){const i=new ri(this.locale);i.set({name:n.id,label:n.label,withText:!0}),i.bind("isOn").toMany([n,t],"value",(r,s)=>s===void 0&&r===void 0?!!n.defaultValue:!!r),i.on("execute",()=>{n.set("value",!i.isOn)}),e.add(i)}return e}_createFormChildren(t){const e=this.createCollection();if(e.add(this.urlInputView),t.length){const n=new Z;n.setTemplate({tag:"ul",children:this._manualDecoratorSwitches.map(i=>({tag:"li",children:[i],attributes:{class:["ck","ck-list__item"]}})),attributes:{class:["ck","ck-reset","ck-list"]}}),e.add(n)}return e.add(this.saveButtonView),e.add(this.cancelButtonView),e}}var ep=P(7536),cc={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};cc.insert="head",cc.singleton=!0,R()(ep.Z,cc),ep.Z.locals;const dM='';class uM extends Z{constructor(t){super(t),this.focusTracker=new Pt,this.keystrokes=new Gt,this._focusables=new ie;const e=t.t;this.previewButtonView=this._createPreviewButton(),this.unlinkButtonView=this._createButton(e("Unlink"),dM,"unlink"),this.editButtonView=this._createButton(e("Edit link"),J.pencil,"edit"),this.set("href",void 0),this._focusCycler=new se({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(t,e,n){const i=new at(this.locale);return i.set({label:t,icon:e,tooltip:!0}),i.delegate("execute").to(this,n),i}_createPreviewButton(){const t=new at(this.locale),e=this.bindTemplate,n=this.t;return t.set({withText:!0,tooltip:n("Open link in new tab")}),t.extendTemplate({attributes:{class:["ck","ck-link-actions__preview"],href:e.to("href",i=>i&&Zm(i)),target:"_blank",rel:"noopener noreferrer"}}),t.bind("label").to(this,"href",i=>i||n("This link has no URL")),t.bind("isEnabled").to(this,"href",i=>!!i),t.template.tag="a",t.template.eventListeners={},t}}const hM='',xe="link-ui";class gM extends L{constructor(){super(...arguments),this.actionsView=null,this.formView=null}static get requires(){return[Ni]}static get pluginName(){return"LinkUI"}init(){const t=this.editor;t.editing.view.addObserver(wE),this._balloon=t.plugins.get(Ni),this._createToolbarLinkButton(),this._enableBalloonActivators(),t.conversion.for("editingDowncast").markerToHighlight({model:xe,view:{classes:["ck-fake-link-selection"]}}),t.conversion.for("editingDowncast").markerToElement({model:xe,view:{name:"span",classes:["ck-fake-link-selection","ck-fake-link-selection_collapsed"]}})}destroy(){super.destroy(),this.formView&&this.formView.destroy(),this.actionsView&&this.actionsView.destroy()}_createViews(){this.actionsView=this._createActionsView(),this.formView=this._createFormView(),this._enableUserBalloonInteractions()}_createActionsView(){const t=this.editor,e=new uM(t.locale),n=t.commands.get("link"),i=t.commands.get("unlink");return e.bind("href").to(n,"value"),e.editButtonView.bind("isEnabled").to(n),e.unlinkButtonView.bind("isEnabled").to(i),this.listenTo(e,"edit",()=>{this._addFormView()}),this.listenTo(e,"unlink",()=>{t.execute("unlink"),this._hideUI()}),e.keystrokes.set("Esc",(r,s)=>{this._hideUI(),s()}),e.keystrokes.set(oc,(r,s)=>{this._addFormView(),s()}),e}_createFormView(){const t=this.editor,e=t.commands.get("link"),n=t.config.get("link.defaultProtocol"),i=t.config.get("link.allowCreatingEmptyLinks"),r=new(x(lM))(t.locale,e);return r.urlInputView.fieldView.bind("value").to(e,"value"),r.urlInputView.bind("isEnabled").to(e,"isEnabled"),r.saveButtonView.bind("isEnabled").to(e,"isEnabled",r.urlInputView,"isEmpty",(s,a)=>s&&(i||!a)),this.listenTo(r,"submit",()=>{const{value:s}=r.urlInputView.fieldView.element,a=rc(s,n);t.execute("link",a,r.getDecoratorSwitchesState()),this._closeFormView()}),this.listenTo(r,"cancel",()=>{this._closeFormView()}),r.keystrokes.set("Esc",(s,a)=>{this._closeFormView(),a()}),r}_createToolbarLinkButton(){const t=this.editor,e=t.commands.get("link"),n=t.t;t.ui.componentFactory.add("link",i=>{const r=new at(i);return r.isEnabled=!0,r.label=n("Link"),r.icon=hM,r.keystroke=oc,r.tooltip=!0,r.isToggleable=!0,r.bind("isEnabled").to(e,"isEnabled"),r.bind("isOn").to(e,"value",s=>!!s),this.listenTo(r,"execute",()=>this._showUI(!0)),r})}_enableBalloonActivators(){const t=this.editor,e=t.editing.view.document;this.listenTo(e,"click",()=>{this._getSelectedLinkElement()&&this._showUI()}),t.keystrokes.set(oc,(n,i)=>{i(),t.commands.get("link").isEnabled&&this._showUI(!0)})}_enableUserBalloonInteractions(){this.editor.keystrokes.set("Tab",(t,e)=>{this._areActionsVisible&&!this.actionsView.focusTracker.isFocused&&(this.actionsView.focus(),e())},{priority:"high"}),this.editor.keystrokes.set("Esc",(t,e)=>{this._isUIVisible&&(this._hideUI(),e())}),C({emitter:this.formView,activator:()=>this._isUIInPanel,contextElements:()=>[this._balloon.view.element],callback:()=>this._hideUI()})}_addActionsView(){this.actionsView||this._createViews(),!this._areActionsInPanel&&this._balloon.add({view:this.actionsView,position:this._getBalloonPositionData()})}_addFormView(){if(this.formView||this._createViews(),this._isFormInPanel)return;const e=this.editor.commands.get("link");this.formView.disableCssTransitions(),this._balloon.add({view:this.formView,position:this._getBalloonPositionData()}),this.formView.urlInputView.fieldView.value=e.value||"",this._balloon.visibleView===this.formView&&this.formView.urlInputView.fieldView.select(),this.formView.enableCssTransitions()}_closeFormView(){const t=this.editor.commands.get("link");t.restoreManualDecoratorStates(),t.value!==void 0?this._removeFormView():this._hideUI()}_removeFormView(){this._isFormInPanel&&(this.formView.saveButtonView.focus(),this.formView.urlInputView.fieldView.reset(),this._balloon.remove(this.formView),this.editor.editing.view.focus(),this._hideFakeVisualSelection())}_showUI(t=!1){this.formView||this._createViews(),this._getSelectedLinkElement()?(this._areActionsVisible?this._addFormView():this._addActionsView(),t&&this._balloon.showStack("main")):(this._showFakeVisualSelection(),this._addActionsView(),t&&this._balloon.showStack("main"),this._addFormView()),this._startUpdatingUI()}_hideUI(){if(!this._isUIInPanel)return;const t=this.editor;this.stopListening(t.ui,"update"),this.stopListening(this._balloon,"change:visibleView"),t.editing.view.focus(),this._removeFormView(),this._balloon.remove(this.actionsView),this._hideFakeVisualSelection()}_startUpdatingUI(){const t=this.editor,e=t.editing.view.document;let n=this._getSelectedLinkElement(),i=s();const r=()=>{const a=this._getSelectedLinkElement(),c=s();n&&!a||!n&&c!==i?this._hideUI():this._isUIVisible&&this._balloon.updatePosition(this._getBalloonPositionData()),n=a,i=c};function s(){return e.selection.focus.getAncestors().reverse().find(a=>a.is("element"))}this.listenTo(t.ui,"update",r),this.listenTo(this._balloon,"change:visibleView",r)}get _isFormInPanel(){return!!this.formView&&this._balloon.hasView(this.formView)}get _areActionsInPanel(){return!!this.actionsView&&this._balloon.hasView(this.actionsView)}get _areActionsVisible(){return!!this.actionsView&&this._balloon.visibleView===this.actionsView}get _isUIInPanel(){return this._isFormInPanel||this._areActionsInPanel}get _isUIVisible(){const t=this._balloon.visibleView;return!!this.formView&&t==this.formView||this._areActionsVisible}_getBalloonPositionData(){const t=this.editor.editing.view,e=this.editor.model,n=t.document;let i;if(e.markers.has(xe)){const r=Array.from(this.editor.editing.mapper.markerNameToElements(xe)),s=t.createRange(t.createPositionBefore(r[0]),t.createPositionAfter(r[r.length-1]));i=t.domConverter.viewRangeToDom(s)}else i=()=>{const r=this._getSelectedLinkElement();return r?t.domConverter.mapViewToDom(r):t.domConverter.viewRangeToDom(n.selection.getFirstRange())};return{target:i}}_getSelectedLinkElement(){const t=this.editor.editing.view,e=t.document.selection,n=e.getSelectedElement();if(e.isCollapsed||n&&Tt(n))return lc(e.getFirstPosition());{const i=e.getFirstRange().getTrimmed(),r=lc(i.start),s=lc(i.end);return!r||r!=s?null:t.createRangeIn(r).getTrimmed().isEqual(i)?r:null}}_showFakeVisualSelection(){const t=this.editor.model;t.change(e=>{const n=t.document.selection.getFirstRange();if(t.markers.has(xe))e.updateMarker(xe,{range:n});else if(n.start.isAtEnd){const i=n.start.getLastMatchingPosition(({item:r})=>!t.schema.isContent(r),{boundaries:n});e.addMarker(xe,{usingOperation:!1,affectsData:!1,range:e.createRange(i,n.end)})}else e.addMarker(xe,{usingOperation:!1,affectsData:!1,range:n})})}_hideFakeVisualSelection(){const t=this.editor.model;t.markers.has(xe)&&t.change(e=>{e.removeMarker(xe)})}}function lc(o){return o.getAncestors().find(t=>YI(t))||null}const fM=4,np=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"),mM=2;class pM extends L{static get requires(){return[ze,Xm]}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(),this._enablePasteLinking()}_expandLinkRange(t,e){return e.textNode&&e.textNode.hasAttribute("linkHref")?Oi(e,"linkHref",e.textNode.getAttribute("linkHref"),t):null}_selectEntireLinks(t,e){const i=this.editor.model,r=i.document.selection,s=r.getFirstPosition(),a=r.getLastPosition();let c=e.getJoined(this._expandLinkRange(i,s)||e);c&&(c=c.getJoined(this._expandLinkRange(i,a)||e)),c&&(c.start.isBefore(s)||c.end.isAfter(a))&&t.setSelection(c)}_enablePasteLinking(){const t=this.editor,e=t.model,n=e.document.selection,i=t.plugins.get("ClipboardPipeline"),r=t.commands.get("link");i.on("inputTransformation",(s,a)=>{if(!this.isEnabled||!r.isEnabled||n.isCollapsed||n.rangeCount>1)return;const c=n.getFirstRange(),l=a.dataTransfer.getData("text/plain");if(!l)return;const d=l.match(np);d&&d[2]===l&&(e.change(u=>{this._selectEntireLinks(u,c),r.execute(l)}),s.stop())},{priority:"high"})}_enableTypingHandling(){const t=this.editor,e=new Qg(t.model,n=>{if(!kM(n))return;const i=op(n.substr(0,n.length-1));if(i)return{url:i}});e.on("matched:data",(n,i)=>{const{batch:r,range:s,url:a}=i;if(!r.isTyping)return;const c=s.end.getShiftedBy(-1),l=c.getShiftedBy(-a.length),d=t.model.createRange(l,c);this._applyAutoLink(a,d)}),e.bind("isEnabled").to(this)}_enableEnterHandling(){const t=this.editor,e=t.model,n=t.commands.get("enter");n&&n.on("execute",()=>{const i=e.document.selection.getFirstPosition();if(!i.parent.previousSibling)return;const r=e.createRangeIn(i.parent.previousSibling);this._checkAndApplyAutoLinkOnRange(r)})}_enableShiftEnterHandling(){const t=this.editor,e=t.model,n=t.commands.get("shiftEnter");n&&n.on("execute",()=>{const i=e.document.selection.getFirstPosition(),r=e.createRange(e.createPositionAt(i.parent,0),i.getShiftedBy(-1));this._checkAndApplyAutoLinkOnRange(r)})}_checkAndApplyAutoLinkOnRange(t){const e=this.editor.model,{text:n,range:i}=Yg(t,e),r=op(n);if(r){const s=e.createRange(i.end.getShiftedBy(-r.length),i.end);this._applyAutoLink(r,s)}}_applyAutoLink(t,e){const n=this.editor.model,i=this.editor.config.get("link.defaultProtocol"),r=rc(t,i);!this.isEnabled||!bM(e,n)||!$m(r)||wM(e)||this._persistAutoLink(r,e)}_persistAutoLink(t,e){const n=this.editor.model,i=this.editor.plugins.get("Delete");n.enqueueChange(r=>{r.setAttribute("linkHref",t,e),n.enqueueChange(()=>{i.requestUndoOnBackspace()})})}}function kM(o){return o.length>fM&&o[o.length-1]===" "&&o[o.length-2]!==" "}function op(o){const t=np.exec(o);return t?t[mM]:null}function bM(o,t){return t.schema.checkAttributeInSelection(t.createSelection(o),"linkHref")}function wM(o){const t=o.start.nodeAfter;return!!t&&t.hasAttribute("linkHref")}class AM extends L{static get requires(){return[Xm,gM,pM]}static get pluginName(){return"Link"}}var ip=P(4330),dc={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};dc.insert="head",dc.singleton=!0,R()(ip.Z,dc),ip.Z.locals;class de{constructor(t,e){this._startElement=t,this._referenceIndent=t.getAttribute("listIndent"),this._isForward=e.direction=="forward",this._includeSelf=!!e.includeSelf,this._sameAttributes=bt(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 Lt(i)}*[Symbol.iterator](){const t=[];for(const{node:e}of Po(this._getStartNode(),this._isForward?"forward":"backward")){const n=e.getAttribute("listIndent");if(nthis._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(i=>e.getAttribute(i)!==this._startElement.getAttribute(i)))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*Po(o,t="forward"){const e=t=="forward",n=[];let i=null;for(;Nt(o);){let r=null;if(i){const s=o.getAttribute("listIndent"),a=i.getAttribute("listIndent");s>a?n[a]=i:ss.getAttribute("listIndent"))),r=new Map;for(const s of e)r.set(s,de.first(s,{lowerIndent:!0}));for(const s of e){if(n.has(s))continue;n.add(s);const a=s.getAttribute("listIndent")-1;if(a<0){Yi(s,t);continue}if(s.getAttribute("listIndent")==i){const c=EM(s,r.get(s),t);for(const l of c)n.add(l);if(c.length)continue}t.setAttribute("listIndent",a,s)}return mn(n)}function Yi(o,t){o=bt(o);for(const e of o)e.is("element","listItem")&&t.rename(e,"paragraph");for(const e of o)for(const n of e.getAttributeKeys())n.startsWith("list")&&t.removeAttribute(n,e);return o}function Ro(o){if(!o.length)return!1;const t=o[0].getAttribute("listItemId");return t?!o.some(e=>e.getAttribute("listItemId")!=t):!1}function xM(o,t){const e=[];let n=Number.POSITIVE_INFINITY;for(const{node:i}of Po(o.nextSibling,"forward")){const r=i.getAttribute("listIndent");if(r==0)break;rt.root.rootName!=="$graveyard").sort((t,e)=>t.index-e.index)}function jo(o){const t=o.document.selection.getSelectedElement();return t&&o.schema.isObject(t)&&o.schema.isBlock(t)?t:null}function mc(o,t){return t.checkChild(o.parent,"listItem")&&t.checkChild(o,"$text")&&!t.isObject(o)}function EM(o,t,e){return Ze(t,{direction:"forward"}).pop().index>o.index?gc(o,t,e):[]}class ap extends X{constructor(t,e){super(t),this._direction=e}refresh(){this.isEnabled=this._checkEnabled()}execute(){const t=this.editor.model,e=cp(t.document.selection);t.change(n=>{const i=[];Ro(e)&&!fn(e[0])?(this._direction=="forward"&&i.push(...fc(e,n)),i.push(...hc(e[0],n))):this._direction=="forward"?i.push(...fc(e,n,{expand:!0})):i.push(...yM(e,n));for(const r of i){if(!r.hasAttribute("listType"))continue;const s=de.first(r,{sameIndent:!0});s&&n.setAttribute("listType",s.getAttribute("listType"),r)}this._fireAfterExecute(i)})}_fireAfterExecute(t){this.fire("afterExecute",mn(new Set(t)))}_checkEnabled(){let t=cp(this.editor.model.document.selection),e=t[0];if(!e)return!1;if(this._direction=="backward"||Ro(t)&&!fn(t[0]))return!0;t=Oo(t),e=t[0];const n=de.first(e,{sameIndent:!0});return n?n.getAttribute("listType")==e.getAttribute("listType"):!1}}function cp(o){const t=Array.from(o.getSelectedBlocks()),e=t.findIndex(n=>!Nt(n));return e!=-1&&(t.length=e),t}class lp extends X{constructor(t,e){super(t),this.type=e}refresh(){this.value=this._getValue(),this.isEnabled=this._checkEnabled()}execute(t={}){const e=this.editor.model,n=e.document,i=jo(e),r=Array.from(n.selection.getSelectedBlocks()).filter(a=>e.schema.checkAttribute(a,"listType")||mc(a,e.schema)),s=t.forceValue!==void 0?!t.forceValue:this.value;e.change(a=>{if(s){const c=r[r.length-1],l=Ze(c,{direction:"forward"}),d=[];l.length>1&&d.push(...hc(l[1],a)),d.push(...Yi(r,a)),d.push(...xM(c,a)),this._fireAfterExecute(d)}else if((i||n.selection.isCollapsed)&&Nt(r[0])){const c=rp(i||r[0]);for(const l of c)a.setAttribute("listType",this.type,l);this._fireAfterExecute(c)}else{const c=[];for(const l of r)if(!l.hasAttribute("listType"))!l.is("element","listItem")&&mc(l,e.schema)&&a.rename(l,"listItem"),a.setAttributes({listIndent:0,listItemId:Zn.next(),listType:this.type},l),c.push(l);else for(const d of Oo(l,{withNested:!1}))d.getAttribute("listType")!=this.type&&(a.setAttribute("listType",this.type,d),c.push(d));this._fireAfterExecute(c)}})}_fireAfterExecute(t){this.fire("afterExecute",mn(new Set(t)))}_getValue(){const t=this.editor.model.document.selection,e=Array.from(t.getSelectedBlocks());if(!e.length)return!1;for(const n of e)if(n.getAttribute("listType")!=this.type)return!1;return!0}_checkEnabled(){const t=this.editor.model,e=t.schema,n=t.document.selection,i=Array.from(n.getSelectedBlocks());if(!i.length)return!1;if(this.value)return!0;for(const r of i)if(e.checkAttribute(r,"listType")||mc(r,e))return!0;return!1}}class dp extends X{constructor(t,e){super(t),this._direction=e}refresh(){this.isEnabled=this._checkEnabled()}execute({shouldMergeOnBlocksContentLevel:t=!1}={}){const e=this.editor.model,n=e.document.selection,i=[];e.change(r=>{const{firstElement:s,lastElement:a}=this._getMergeSubjectElements(n,t),c=s.getAttribute("listIndent")||0,l=a.getAttribute("listIndent"),d=a.getAttribute("listItemId");if(c!=l){const u=_M(a);i.push(...fc([a,...u],r,{indentBy:c-l,expand:c{const n=hc(this._getStartBlock(),e);this._fireAfterExecute(n)})}_fireAfterExecute(t){this.fire("afterExecute",mn(new Set(t)))}_checkEnabled(){const t=this.editor.model.document.selection,e=this._getStartBlock();return t.isCollapsed&&Nt(e)&&!fn(e)}_getStartBlock(){const e=this.editor.model.document.selection.getFirstPosition().parent;return this._direction=="before"?e:e.nextSibling}}class DM extends L{static get pluginName(){return"ListUtils"}expandListBlocksToCompleteList(t){return vM(t)}isFirstBlockOfListItem(t){return fn(t)}isListItemBlock(t){return Nt(t)}expandListBlocksToCompleteItems(t,e={}){return Oo(t,e)}}function hp(o){return o.is("element","ol")||o.is("element","ul")}function Qi(o){return o.is("element","li")}function SM(o){let t=0,e=o.parent;for(;e;){if(Qi(e))t++;else{const n=e.previousSibling;n&&Qi(n)&&t++}e=e.parent}return t}function TM(o,t,e,n=fp(e,t)){return o.createAttributeElement(gp(e),null,{priority:2*t/100-100,id:n})}function IM(o,t,e){return o.createAttributeElement("li",null,{priority:(2*t+1)/100-100,id:e})}function gp(o){return o=="numbered"?"ol":"ul"}function fp(o,t){return`list-${o}-${t}`}function be(o,t){const e=o.nodeBefore;if(Nt(e)){let n=e;for(const{node:i}of Po(n,"backward"))if(n=i,t.has(n))return;t.set(e,n)}else{const n=o.nodeAfter;Nt(n)&&t.set(n,n)}}function MM(o,t){let e=0,n=-1,i=null,r=!1;for(const{node:s}of o){const a=s.getAttribute("listIndent");if(a>e){let c;i===null?(i=a-e,c=e):(i>a&&(i=a),c=a-i),c>n+1&&(c=n+1),t.setAttribute("listIndent",c,s),r=!0,n=c}else i=null,e=a+1,n=a}return r}function BM(o,t,e){const n=new Set;let i=!1;for(const{node:r}of o){if(n.has(r))continue;let s=r.getAttribute("listType"),a=r.getAttribute("listItemId");if(t.has(a)&&(a=Zn.next()),t.add(a),r.is("element","listItem")){r.getAttribute("listItemId")!=a&&(e.setAttribute("listItemId",a,r),i=!0);continue}for(const c of Ze(r,{direction:"forward"}))n.add(c),c.getAttribute("listType")!=s&&(a=Zn.next(),s=c.getAttribute("listType")),c.getAttribute("listItemId")!=a&&(e.setAttribute("listItemId",a,c),i=!0)}return i}function NM(){return(o,t,e)=>{const{writer:n,schema:i}=e;if(!t.modelRange)return;const r=Array.from(t.modelRange.getItems({shallow:!0})).filter(u=>i.checkAttribute(u,"listItemId"));if(!r.length)return;const s=Zn.next(),a=SM(t.viewItem);let c=t.viewItem.parent&&t.viewItem.parent.is("element","ol")?"numbered":"bulleted";const l=r[0].getAttribute("listType");l&&(c=l);const d={listItemId:s,listIndent:a,listType:c};for(const u of r)u.hasAttribute("listItemId")||n.setAttributes(d,u);r.length>1&&r[1].getAttribute("listItemId")!=d.listItemId&&e.keepEmptyElement(r[0])}}function mp(){return(o,t,e)=>{if(!e.consumable.test(t.viewItem,{name:!0}))return;const n=new Be(t.viewItem.document);for(const i of Array.from(t.viewItem.getChildren()))!Qi(i)&&!hp(i)&&n.remove(i)}}function zM(o,t,e,n){return()=>{const a=o.document.differ.getChanges(),c=[],l=new Map,d=new Set;for(const u of a)if(u.type=="insert"&&u.name!="$text")be(u.position,l),u.attributes.has("listItemId")?d.add(u.position.nodeAfter):be(u.position.getShiftedBy(u.length),l);else if(u.type=="remove"&&u.attributes.has("listItemId"))be(u.position,l);else if(u.type=="attribute"){const f=u.range.start.nodeAfter;e.includes(u.attributeKey)?(be(u.range.start,l),u.attributeNewValue===null?(be(u.range.start.getShiftedBy(1),l),r(f)&&c.push(f)):d.add(f)):Nt(f)&&r(f)&&c.push(f)}for(const u of l.values())c.push(...i(u,d));for(const u of new Set(c))t.reconvertItem(u)};function i(a,c){const l=[],d=new Set,u=[];for(const{node:f,previous:p}of Po(a,"forward")){if(d.has(f))continue;const w=f.getAttribute("listIndent");p&&we.includes(M)));const S=Ze(f,{direction:"forward"});for(const M of S)d.add(M),(r(M,S)||s(M,u,c))&&l.push(M)}return l}function r(a,c){const l=t.mapper.toViewElement(a);if(!l)return!1;if(n.fire("checkElement",{modelElement:a,viewElement:l}))return!0;if(!a.is("element","paragraph")&&!a.is("element","listItem"))return!1;const u=bp(a,e,c);return u&&l.is("element","p")?!0:!!(!u&&l.is("element","span"))}function s(a,c,l){if(l.has(a))return!1;const d=t.mapper.toViewElement(a);let u=c.length-1;for(let f=d.parent;!f.is("editableElement");f=f.parent){const p=Qi(f),w=hp(f);if(!w&&!p)continue;const S=`checkAttributes:${p?"item":"list"}`;if(n.fire(S,{viewElement:f,modelAttributes:c[u]}))break;if(w&&(u--,u<0))return!1}return!0}}function pp(o,t,e,{dataPipeline:n}={}){const i=FM(o);return(r,s,a)=>{const{writer:c,mapper:l,consumable:d}=a,u=s.item;if(!o.includes(s.attributeKey)||!i(u,d))return;const f=LM(u,l,e);PM(f,c,l),RM(f,c);const p=OM(u,f,t,c,{dataPipeline:n});jM(u,p,t,c)}}function kp(o,{dataPipeline:t}={}){return(e,{writer:n})=>{if(!bp(e,o))return null;if(!t)return n.createContainerElement("span",{class:"ck-list-bogus-paragraph"});const i=n.createContainerElement("p");return n.setCustomProperty("dataPipeline:transparentRendering",!0,i),i}}function LM(o,t,e){const n=e.createRangeOn(o);return t.toViewRange(n).getTrimmed().end.nodeBefore}function PM(o,t,e){for(;o.parent.is("attributeElement")&&o.parent.getCustomProperty("listItemWrapper");)t.unwrap(t.createRangeIn(o.parent),o.parent);const n=t.createPositionBefore(o).getWalker({direction:"backward"}),i=[];for(const{item:r}of n){if(r.is("element")&&e.toModelElement(r))break;r.is("element")&&r.getCustomProperty("listItemMarker")&&i.push(r)}for(const r of i)t.remove(r)}function OM(o,t,e,n,{dataPipeline:i}){let r=n.createRangeOn(t);if(!fn(o))return r;for(const s of e){if(s.scope!="itemMarker")continue;const a=s.createElement(n,o,{dataPipeline:i});if(!a||(n.setCustomProperty("listItemMarker",!0,a),n.insert(r.start,a),r=n.createRange(n.createPositionBefore(a),n.createPositionAfter(t)),!s.createWrapperElement||!s.canWrapElement))continue;const c=s.createWrapperElement(n,o,{dataPipeline:i});n.setCustomProperty("listItemWrapper",!0,c),s.canWrapElement(o)?r=n.wrap(r,c):(r=n.wrap(n.createRangeOn(a),c),r=n.createRange(r.start,n.createPositionAfter(t)))}return r}function RM(o,t){let e=o.parent;for(;e.is("attributeElement")&&["ul","ol","li"].includes(e.name);){const n=e.parent;t.unwrap(t.createRangeOn(o),e),e=n}}function jM(o,t,e,n){if(!o.hasAttribute("listIndent"))return;const i=o.getAttribute("listIndent");let r=o;for(let s=i;s>=0;s--){const a=IM(n,s,r.getAttribute("listItemId")),c=TM(n,s,r.getAttribute("listType"));for(const l of e)(l.scope=="list"||l.scope=="item")&&r.hasAttribute(l.attributeName)&&l.setAttributeOnDowncast(n,r.getAttribute(l.attributeName),l.scope=="list"?c:a);if(t=n.wrap(t,a),t=n.wrap(t,c),s==0||(r=de.first(r,{lowerIndent:!0}),!r))break}}function FM(o){return(t,e)=>{const n=[];for(const i of o)t.hasAttribute(i)&&n.push(`attribute:${i}`);return n.every(i=>e.test(t,i)!==!1)?(n.forEach(i=>e.consume(t,i)),!0):!1}}function bp(o,t,e=uc(o)){if(!Nt(o))return!1;for(const n of o.getAttributeKeys())if(!n.startsWith("selection:")&&!t.includes(n))return!1;return e.length<2}var wp=P(3190),pc={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};pc.insert="head",pc.singleton=!0,R()(wp.Z,pc),wp.Z.locals;var Ap=P(4784),kc={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};kc.insert="head",kc.singleton=!0,R()(Ap.Z,kc),Ap.Z.locals;const Ji=["listType","listIndent","listItemId"];class VM extends L{static get pluginName(){return"ListEditing"}static get requires(){return[ji,ze,DM,ke]}constructor(t){super(t),this._downcastStrategies=[],t.config.define("list.multiBlock",!0)}init(){const t=this.editor,e=t.model,n=t.config.get("list.multiBlock");if(t.plugins.has("LegacyListEditing"))throw new b("list-feature-conflict",this,{conflictPlugin:"LegacyListEditing"});e.schema.register("$listItem",{allowAttributes:Ji}),n?(e.schema.extend("$container",{allowAttributesOf:"$listItem"}),e.schema.extend("$block",{allowAttributesOf:"$listItem"}),e.schema.extend("$blockObject",{allowAttributesOf:"$listItem"})):e.schema.register("listItem",{inheritAllFrom:"$block",allowAttributesOf:"$listItem"});for(const i of Ji)e.schema.setAttributeProperties(i,{copyOnReplace:!0});t.commands.add("numberedList",new lp(t,"numbered")),t.commands.add("bulletedList",new lp(t,"bulleted")),t.commands.add("indentList",new ap(t,"forward")),t.commands.add("outdentList",new ap(t,"backward")),t.commands.add("splitListItemBefore",new up(t,"before")),t.commands.add("splitListItemAfter",new up(t,"after")),n&&(t.commands.add("mergeListItemBackward",new dp(t,"backward")),t.commands.add("mergeListItemForward",new dp(t,"forward"))),this._setupDeleteIntegration(),this._setupEnterIntegration(),this._setupTabIntegration(),this._setupClipboardIntegration()}afterInit(){const e=this.editor.commands,n=e.get("indent"),i=e.get("outdent");n&&n.registerChildCommand(e.get("indentList"),{priority:"high"}),i&&i.registerChildCommand(e.get("outdentList"),{priority:"lowest"}),this._setupModelPostFixing(),this._setupConversion()}registerDowncastStrategy(t){this._downcastStrategies.push(t)}getListAttributeNames(){return[...Ji,...this._downcastStrategies.map(t=>t.attributeName)]}_setupDeleteIntegration(){const t=this.editor,e=t.commands.get("mergeListItemBackward"),n=t.commands.get("mergeListItemForward");this.listenTo(t.editing.view.document,"delete",(i,r)=>{const s=t.model.document.selection;jo(t.model)||t.model.change(()=>{const a=s.getFirstPosition();if(s.isCollapsed&&r.direction=="backward"){if(!a.isAtStart)return;const c=a.parent;if(!Nt(c))return;if(!de.first(c,{sameAttributes:"listType",sameIndent:!0})&&c.getAttribute("listIndent")===0)sp(c)||t.execute("splitListItemAfter"),t.execute("outdentList");else{if(!e||!e.isEnabled)return;e.execute({shouldMergeOnBlocksContentLevel:Cp(t.model,"backward")})}r.preventDefault(),i.stop()}else{if(s.isCollapsed&&!s.getLastPosition().isAtEnd||!n||!n.isEnabled)return;n.execute({shouldMergeOnBlocksContentLevel:Cp(t.model,"forward")}),r.preventDefault(),i.stop()}})},{context:"li"})}_setupEnterIntegration(){const t=this.editor,e=t.model,n=t.commands,i=n.get("enter");this.listenTo(t.editing.view.document,"enter",(r,s)=>{const a=e.document,c=a.selection.getFirstPosition().parent;if(a.selection.isCollapsed&&Nt(c)&&c.isEmpty&&!s.isSoft){const l=fn(c),d=sp(c);l&&d?(t.execute("outdentList"),s.preventDefault(),r.stop()):l&&!d?(t.execute("splitListItemAfter"),s.preventDefault(),r.stop()):d&&(t.execute("splitListItemBefore"),s.preventDefault(),r.stop())}},{context:"li"}),this.listenTo(i,"afterExecute",()=>{const r=n.get("splitListItemBefore");if(r.refresh(),!r.isEnabled)return;const a=t.model.document.selection.getLastPosition().parent;uc(a).length===2&&r.execute()})}_setupTabIntegration(){const t=this.editor;this.listenTo(t.editing.view.document,"tab",(e,n)=>{const i=n.shiftKey?"outdentList":"indentList";this.editor.commands.get(i).isEnabled&&(t.execute(i),n.stopPropagation(),n.preventDefault(),e.stop())},{context:"li"})}_setupConversion(){const t=this.editor,e=t.model,n=this.getListAttributeNames(),i=t.config.get("list.multiBlock"),r=i?"paragraph":"listItem";t.conversion.for("upcast").elementToElement({view:"li",model:(s,{writer:a})=>a.createElement(r,{listType:""})}).elementToElement({view:"p",model:(s,{writer:a})=>s.parent&&s.parent.is("element","li")?a.createElement(r,{listType:""}):null,converterPriority:"high"}).add(s=>{s.on("element:li",NM()),s.on("element:ul",mp(),{priority:"high"}),s.on("element:ol",mp(),{priority:"high"})}),i||t.conversion.for("downcast").elementToElement({model:"listItem",view:"p"}),t.conversion.for("editingDowncast").elementToElement({model:r,view:kp(n),converterPriority:"high"}).add(s=>{s.on("attribute",pp(n,this._downcastStrategies,e))}),t.conversion.for("dataDowncast").elementToElement({model:r,view:kp(n,{dataPipeline:!0}),converterPriority:"high"}).add(s=>{s.on("attribute",pp(n,this._downcastStrategies,e,{dataPipeline:!0}))}),this.listenTo(e.document,"change:data",zM(e,t.editing,n,this),{priority:"high"}),this.on("checkAttributes:item",(s,{viewElement:a,modelAttributes:c})=>{a.id!=c.listItemId&&(s.return=!0,s.stop())}),this.on("checkAttributes:list",(s,{viewElement:a,modelAttributes:c})=>{(a.name!=gp(c.listType)||a.id!=fp(c.listType,c.listIndent))&&(s.return=!0,s.stop())})}_setupModelPostFixing(){const t=this.editor.model,e=this.getListAttributeNames();t.document.registerPostFixer(n=>HM(t,n,e,this)),this.on("postFixer",(n,{listNodes:i,writer:r})=>{n.return=MM(i,r)||n.return},{priority:"high"}),this.on("postFixer",(n,{listNodes:i,writer:r,seenIds:s})=>{n.return=BM(i,s,r)||n.return},{priority:"high"})}_setupClipboardIntegration(){const t=this.editor.model,e=this.editor.plugins.get("ClipboardPipeline");this.listenTo(t,"insertContent",UM(t),{priority:"high"}),this.listenTo(e,"outputTransformation",(n,i)=>{t.change(r=>{const s=Array.from(i.content.getChildren()),a=s[s.length-1];if(s.length>1&&a.is("element")&&a.isEmpty&&s.slice(0,-1).every(Nt)&&r.remove(a),i.method=="copy"||i.method=="cut"){const c=Array.from(i.content.getChildren());Ro(c)&&Yi(c,r)}})})}}function HM(o,t,e,n){const i=o.document.differ.getChanges(),r=new Map,s=n.editor.config.get("list.multiBlock");let a=!1;for(const l of i){if(l.type=="insert"&&l.name!="$text"){const d=l.position.nodeAfter;if(!o.schema.checkAttribute(d,"listItemId"))for(const u of Array.from(d.getAttributeKeys()))e.includes(u)&&(t.removeAttribute(u,d),a=!0);be(l.position,r),l.attributes.has("listItemId")||be(l.position.getShiftedBy(l.length),r);for(const{item:u,previousPosition:f}of o.createRangeIn(d))Nt(u)&&be(f,r)}else l.type=="remove"?be(l.position,r):l.type=="attribute"&&e.includes(l.attributeKey)&&(be(l.range.start,r),l.attributeNewValue===null&&be(l.range.start.getShiftedBy(1),r));if(!s&&l.type=="attribute"&&Ji.includes(l.attributeKey)){const d=l.range.start.nodeAfter;l.attributeNewValue===null&&d&&d.is("element","listItem")?(t.rename(d,"paragraph"),a=!0):l.attributeOldValue===null&&d&&d.is("element")&&d.name!="listItem"&&(t.rename(d,"listItem"),a=!0)}}const c=new Set;for(const l of r.values())a=n.fire("postFixer",{listNodes:new CM(l),listHead:l,writer:t,seenIds:c})||a;return a}function UM(o){return(t,[e,n])=>{const i=e.is("documentFragment")?Array.from(e.getChildren()):[e];if(!i.length)return;const s=(n?o.createSelection(n):o.document.selection).getFirstPosition();let a;if(Nt(s.parent))a=s.parent;else if(Nt(s.nodeBefore))a=s.nodeBefore;else return;o.change(c=>{const l=a.getAttribute("listType"),d=a.getAttribute("listIndent"),u=i[0].getAttribute("listIndent")||0,f=Math.max(d-u,0);for(const p of i){const w=Nt(p);a.is("element","listItem")&&p.is("element","paragraph")&&c.rename(p,"listItem"),c.setAttributes({listIndent:(w?p.getAttribute("listIndent"):0)+f,listItemId:w?p.getAttribute("listItemId"):Zn.next(),listType:l},p)}})}}function Cp(o,t){const e=o.document.selection;if(!e.isCollapsed)return!jo(o);if(t==="forward")return!0;const i=e.getFirstPosition().parent,r=i.previousSibling;return o.schema.isObject(r)?!1:r.isEmpty?!0:Ro([i,r])}function _p(o,t,e,n){o.ui.componentFactory.add(t,i=>{const r=o.commands.get(t),s=new at(i);return s.set({label:e,icon:n,tooltip:!0,isToggleable:!0}),s.bind("isOn","isEnabled").to(r,"value","isEnabled"),s.on("execute",()=>{o.execute(t),o.editing.view.focus()}),s})}class GM extends L{static get pluginName(){return"ListUI"}init(){const t=this.editor.t;_p(this.editor,"numberedList",t("Numbered List"),J.numberedList),_p(this.editor,"bulletedList",t("Bulleted List"),J.bulletedList)}}class WM extends L{static get requires(){return[VM,GM]}static get pluginName(){return"List"}}const qM=[{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:o,typeAttribute:t,listType:e}of qM);var vp=P(9938),bc={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};bc.insert="head",bc.singleton=!0,R()(vp.Z,bc),vp.Z.locals;var yp=P(2591),wc={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};wc.insert="head",wc.singleton=!0,R()(yp.Z,wc),yp.Z.locals,so("Ctrl+Enter");var xp=P(9292),Ac={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ac.insert="head",Ac.singleton=!0,R()(xp.Z,Ac),xp.Z.locals,so("Ctrl+Enter");function Ep(o,t){const e=(n,i,r)=>{if(!r.consumable.consume(i.item,n.name))return;const s=i.attributeNewValue,a=r.writer,c=r.mapper.toViewElement(i.item),l=[...c.getChildren()].find(u=>u.getCustomProperty("media-content"));a.remove(l);const d=o.getMediaViewElement(a,s,t);a.insert(a.createPositionAt(c,0),d)};return n=>{n.on("attribute:url:media",e)}}function ZM(o,t,e){return t.setCustomProperty("media",!0,o),Sa(o,t,{label:e})}function Dp(o,t,e,n){return o.createContainerElement("figure",{class:"media"},[t.getMediaViewElement(o,e,n),o.createSlot()])}function Sp(o){const t=o.getSelectedElement();return t&&t.is("element","media")?t:null}function Tp(o,t,e,n){o.change(i=>{const r=i.createElement("media",{url:t});o.insertObject(r,e,null,{setSelection:"on",findOptimalPosition:n?"auto":void 0})})}class $M extends X{refresh(){const t=this.editor.model,e=t.document.selection,n=Sp(e);this.value=n?n.getAttribute("url"):void 0,this.isEnabled=YM(e)||KM(e,t)}execute(t){const e=this.editor.model,n=e.document.selection,i=Sp(n);i?e.change(r=>{r.setAttribute("url",t,i)}):Tp(e,t,n,!0)}}function KM(o,t){let n=Cf(o,t).start.parent;return n.isEmpty&&!t.schema.isLimit(n)&&(n=n.parent),t.schema.checkChild(n,"media")}function YM(o){const t=o.getSelectedElement();return!!t&&t.name==="media"}const QM='',JM="0 0 64 42";class XM{constructor(t,e){const n=e.providers,i=e.extraProviders||[],r=new Set(e.removeProviders),s=n.concat(i).filter(a=>{const c=a.name;return c?!r.has(c):!1});this.locale=t,this.providerDefinitions=s}hasMedia(t){return!!this._getMedia(t)}getMediaViewElement(t,e,n){return this._getMedia(e).getViewElement(t,n)}_getMedia(t){if(!t)return new Ip(this.locale);t=t.trim();for(const e of this.providerDefinitions){const n=e.html,i=bt(e.url);for(const r of i){const s=this._getUrlMatches(t,r);if(s)return new Ip(this.locale,t,s,n)}}return null}_getUrlMatches(t,e){let n=t.match(e);if(n)return n;let i=t.replace(/^https?:\/\//,"");return n=i.match(e),n||(i=i.replace(/^www\./,""),n=i.match(e),n)?n:null}}class Ip{constructor(t,e,n,i){this.url=this._getValidUrl(e),this._locale=t,this._match=n,this._previewRenderer=i}getViewElement(t,e){const n={};let i;if(e.renderForEditingView||e.renderMediaPreview&&this.url&&this._previewRenderer){this.url&&(n["data-oembed-url"]=this.url),e.renderForEditingView&&(n.class="ck-media__wrapper");const r=this._getPreviewHtml(e);i=t.createRawElement("div",n,(s,a)=>{a.setContentOf(s,r)})}else this.url&&(n.url=this.url),i=t.createEmptyElement(e.elementName,n);return t.setCustomProperty("media-content",!0,i),i}_getPreviewHtml(t){return this._previewRenderer?this._previewRenderer(this._match):this.url&&t.renderForEditingView?this._getPlaceholderHtml():""}_getPlaceholderHtml(){const t=new en,e=this._locale.t;return t.content=QM,t.viewBox=JM,new re({tag:"div",attributes:{class:"ck ck-reset_all ck-media__placeholder"},children:[{tag:"div",attributes:{class:"ck-media__placeholder__icon"},children:[t]},{tag:"a",attributes:{class:"ck-media__placeholder__url",target:"_blank",rel:"noopener noreferrer",href:this.url,"data-cke-tooltip-text":e("Open media in new tab")},children:[{tag:"span",attributes:{class:"ck-media__placeholder__url__text"},children:[this.url]}]}]}).render().outerHTML}_getValidUrl(t){return t?t.match(/^https?/)?t:"https://"+t:null}}var Mp=P(1922),Cc={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Cc.insert="head",Cc.singleton=!0,R()(Mp.Z,Cc),Mp.Z.locals;class Xi extends L{static get pluginName(){return"MediaEmbedEditing"}constructor(t){super(t),t.config.define("mediaEmbed",{elementName:"oembed",providers:[{name:"dailymotion",url:[/^dailymotion\.com\/video\/(\w+)/,/^dai.ly\/(\w+)/],html:e=>`
`},{name:"spotify",url:[/^open\.spotify\.com\/(artist\/\w+)/,/^open\.spotify\.com\/(album\/\w+)/,/^open\.spotify\.com\/(track\/\w+)/],html:e=>`
`},{name:"youtube",url:[/^(?:m\.)?youtube\.com\/watch\?v=([\w-]+)(?:&t=(\d+))?/,/^(?:m\.)?youtube\.com\/v\/([\w-]+)(?:\?t=(\d+))?/,/^youtube\.com\/embed\/([\w-]+)(?:\?start=(\d+))?/,/^youtu\.be\/([\w-]+)(?:\?t=(\d+))?/],html:e=>{const n=e[1],i=e[2];return`
`}},{name:"vimeo",url:[/^vimeo\.com\/(\d+)/,/^vimeo\.com\/[^/]+\/[^/]+\/video\/(\d+)/,/^vimeo\.com\/album\/[^/]+\/video\/(\d+)/,/^vimeo\.com\/channels\/[^/]+\/(\d+)/,/^vimeo\.com\/groups\/[^/]+\/videos\/(\d+)/,/^vimeo\.com\/ondemand\/[^/]+\/(\d+)/,/^player\.vimeo\.com\/video\/(\d+)/],html:e=>`
`},{name:"instagram",url:/^instagram\.com\/p\/(\w+)/},{name:"twitter",url:/^twitter\.com/},{name:"googleMaps",url:[/^google\.com\/maps/,/^goo\.gl\/maps/,/^maps\.google\.com/,/^maps\.app\.goo\.gl/]},{name:"flickr",url:/^flickr\.com/},{name:"facebook",url:/^facebook\.com/}]}),this.registry=new XM(t.locale,t.config.get("mediaEmbed"))}init(){const t=this.editor,e=t.model.schema,n=t.t,i=t.conversion,r=t.config.get("mediaEmbed.previewsInData"),s=t.config.get("mediaEmbed.elementName"),a=this.registry;t.commands.add("mediaEmbed",new $M(t)),e.register("media",{inheritAllFrom:"$blockObject",allowAttributes:["url"]}),i.for("dataDowncast").elementToStructure({model:"media",view:(c,{writer:l})=>{const d=c.getAttribute("url");return Dp(l,a,d,{elementName:s,renderMediaPreview:!!d&&r})}}),i.for("dataDowncast").add(Ep(a,{elementName:s,renderMediaPreview:r})),i.for("editingDowncast").elementToStructure({model:"media",view:(c,{writer:l})=>{const d=c.getAttribute("url"),u=Dp(l,a,d,{elementName:s,renderForEditingView:!0});return ZM(u,l,n("media widget"))}}),i.for("editingDowncast").add(Ep(a,{elementName:s,renderForEditingView:!0})),i.for("upcast").elementToElement({view:c=>["oembed",s].includes(c.name)&&c.getAttribute("url")?{name:!0}:null,model:(c,{writer:l})=>{const d=c.getAttribute("url");return a.hasMedia(d)?l.createElement("media",{url:d}):null}}).elementToElement({view:{name:"div",attributes:{"data-oembed-url":!0}},model:(c,{writer:l})=>{const d=c.getAttribute("data-oembed-url");return a.hasMedia(d)?l.createElement("media",{url:d}):null}}).add(c=>{const l=(d,u,f)=>{if(!f.consumable.consume(u.viewItem,{name:!0,classes:"media"}))return;const{modelRange:p,modelCursor:w}=f.convertChildren(u.viewItem,u.modelCursor);u.modelRange=p,u.modelCursor=w,Lt(p.getItems())||f.consumable.revert(u.viewItem,{name:!0,classes:"media"})};c.on("element:figure",l)})}}const tB=/^(?:http(s)?:\/\/)?[\w-]+\.[\w-.~:/?#[\]@!$&'()*+,;=%]+$/;class eB extends L{static get requires(){return[jf,ze,La]}static get pluginName(){return"AutoMediaEmbed"}constructor(t){super(t),this._timeoutId=null,this._positionToInsert=null}init(){const t=this.editor,e=t.model.document,n=t.plugins.get("ClipboardPipeline");this.listenTo(n,"inputTransformation",()=>{const r=e.selection.getFirstRange(),s=Ot.fromPosition(r.start);s.stickiness="toPrevious";const a=Ot.fromPosition(r.end);a.stickiness="toNext",e.once("change:data",()=>{this._embedMediaBetweenPositions(s,a),s.detach(),a.detach()},{priority:"high"})}),t.commands.get("undo").on("execute",()=>{this._timeoutId&&(H.window.clearTimeout(this._timeoutId),this._positionToInsert.detach(),this._timeoutId=null,this._positionToInsert=null)},{priority:"high"})}_embedMediaBetweenPositions(t,e){const n=this.editor,i=n.plugins.get(Xi).registry,r=new Xt(t,e),s=r.getWalker({ignoreElementEnd:!0});let a="";for(const l of s)l.item.is("$textProxy")&&(a+=l.item.data);if(a=a.trim(),!a.match(tB)){r.detach();return}if(!i.hasMedia(a)){r.detach();return}if(!n.commands.get("mediaEmbed").isEnabled){r.detach();return}this._positionToInsert=Ot.fromPosition(t),this._timeoutId=H.window.setTimeout(()=>{n.model.change(l=>{this._timeoutId=null,l.remove(r),r.detach();let d=null;this._positionToInsert.root.rootName!=="$graveyard"&&(d=this._positionToInsert),Tp(n.model,a,d,!1),this._positionToInsert.detach(),this._positionToInsert=null}),n.plugins.get(ze).requestUndoOnBackspace()},100)}}var Bp=P(7138),_c={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};_c.insert="head",_c.singleton=!0,R()(Bp.Z,_c),Bp.Z.locals;class nB extends Z{constructor(t,e){super(e);const n=e.t;this.focusTracker=new Pt,this.keystrokes=new Gt,this.set("mediaURLInputValue",""),this.urlInputView=this._createUrlInput(),this.saveButtonView=this._createButton(n("Save"),J.check,"ck-button-save"),this.saveButtonView.type="submit",this.saveButtonView.bind("isEnabled").to(this,"mediaURLInputValue",i=>!!i),this.cancelButtonView=this._createButton(n("Cancel"),J.cancel,"ck-button-cancel","cancel"),this._focusables=new ie,this._focusCycler=new se({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this._validators=t,this.setTemplate({tag:"form",attributes:{class:["ck","ck-media-form","ck-responsive-form"],tabindex:"-1"},children:[this.urlInputView,this.saveButtonView,this.cancelButtonView]})}render(){super.render(),h({view:this}),[this.urlInputView,this.saveButtonView,this.cancelButtonView].forEach(n=>{this._focusables.add(n),this.focusTracker.add(n.element)}),this.keystrokes.listenTo(this.element);const e=n=>n.stopPropagation();this.keystrokes.set("arrowright",e),this.keystrokes.set("arrowleft",e),this.keystrokes.set("arrowup",e),this.keystrokes.set("arrowdown",e)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}get url(){return this.urlInputView.fieldView.element.value.trim()}set url(t){this.urlInputView.fieldView.element.value=t.trim()}isValid(){this.resetFormStatus();for(const t of this._validators){const e=t(this);if(e)return this.urlInputView.errorText=e,!1}return!0}resetFormStatus(){this.urlInputView.errorText=null,this.urlInputView.infoText=this._urlInputViewInfoDefault}_createUrlInput(){const t=this.locale.t,e=new si(this.locale,Si),n=e.fieldView;return this._urlInputViewInfoDefault=t("Paste the media URL in the input."),this._urlInputViewInfoTip=t("Tip: Paste the URL into the content to embed faster."),e.label=t("Media URL"),e.infoText=this._urlInputViewInfoDefault,n.on("input",()=>{e.infoText=n.element.value?this._urlInputViewInfoTip:this._urlInputViewInfoDefault,this.mediaURLInputValue=n.element.value.trim()}),e}_createButton(t,e,n,i){const r=new at(this.locale);return r.set({label:t,icon:e,tooltip:!0}),r.extendTemplate({attributes:{class:n}}),i&&r.delegate("execute").to(this,i),r}}const oB='';class iB extends L{static get requires(){return[Xi]}static get pluginName(){return"MediaEmbedUI"}init(){const t=this.editor,e=t.commands.get("mediaEmbed");t.ui.componentFactory.add("mediaEmbed",n=>{const i=ye(n);return this._setUpDropdown(i,e),i})}_setUpDropdown(t,e){const n=this.editor,i=n.t,r=t.buttonView,s=n.plugins.get(Xi).registry;t.once("change:isOpen",()=>{const a=new(x(nB))(rB(n.t,s),n.locale);t.panelView.children.add(a),r.on("open",()=>{a.disableCssTransitions(),a.url=e.value||"",a.urlInputView.fieldView.select(),a.enableCssTransitions()},{priority:"low"}),t.on("submit",()=>{a.isValid()&&(n.execute("mediaEmbed",a.url),n.editing.view.focus())}),t.on("change:isOpen",()=>a.resetFormStatus()),t.on("cancel",()=>{n.editing.view.focus()}),a.delegate("submit","cancel").to(t),a.urlInputView.fieldView.bind("value").to(e,"value"),a.urlInputView.bind("isEnabled").to(e,"isEnabled")}),t.bind("isEnabled").to(e),r.set({label:i("Insert media"),icon:oB,tooltip:!0})}}function rB(o,t){return[e=>{if(!e.url.length)return o("The URL must not be empty.")},e=>{if(!t.hasMedia(e.url))return o("This media URL is not supported.")}]}var Np=P(8705),vc={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};vc.insert="head",vc.singleton=!0,R()(Np.Z,vc),Np.Z.locals;class sB extends L{static get requires(){return[Xi,iB,eB,Lo]}static get pluginName(){return"MediaEmbed"}}function aB(o,t){if(!o.childCount)return;const e=new Be(o.document),n=lB(o,e);if(!n.length)return;let i=null,r=1;n.forEach((s,a)=>{const c=kB(n[a-1],s),l=c?null:n[a-1],d=wB(l,s);if(c&&(i=null,r=1),!i||d!==0){const f=dB(s,t);if(!i)i=zp(f,s.element,e);else if(s.indent>r){const p=i.getChild(i.childCount-1),w=p.getChild(p.childCount-1);i=zp(f,w,e),r+=1}else if(s.indent1&&e.setAttribute("start",o.startIndex,i),i}function fB(o,t){return pB(o,t),t.removeStyle("text-indent",o),t.rename("li",o)}function mB(o){const t={},e=o.getStyle("mso-list");if(e){const n=e.match(/(^|\s{1,100})l(\d+)/i),i=e.match(/\s{0,100}lfo(\d+)/i),r=e.match(/\s{0,100}level(\d+)/i);n&&i&&r&&(t.id=n[2],t.order=i[1],t.indent=parseInt(r[1]))}return t}function pB(o,t){const e=new he({name:"span",styles:{"mso-list":"Ignore"}}),n=t.createRangeIn(o);for(const i of n)i.type==="elementStart"&&e.match(i.item)&&t.remove(i.item)}function kB(o,t){if(!o)return!0;if(o.id!==t.id)return t.indent-o.indent!==1;const e=t.element.previousSibling;return e?!bB(e):!0}function bB(o){return o.is("element","ol")||o.is("element","ul")}function wB(o,t){return o?t.indent-o.indent:t.indent-1}function AB(o,t){const e=o.getAncestors({parentFirst:!0});let n=null,i=0;for(const r of e)if((r.is("element","ul")||r.is("element","ol"))&&i++,i===t){n=r;break}return n}function CB(o,t){if(!o.childCount)return;const e=new Be(o.document),n=vB(o,e);yB(n,o,e),EB(n,o,e),xB(o,e);const i=DB(o,e);i.length&&TB(i,SB(t),e)}function _B(o){return btoa(o.match(/\w{2}/g).map(t=>String.fromCharCode(parseInt(t,16))).join(""))}function vB(o,t){const e=t.createRangeIn(o),n=new he({name:/v:(.+)/}),i=[];for(const r of e){if(r.type!="elementStart")continue;const s=r.item,a=s.previousSibling,c=a&&a.is("element")?a.name:null;n.match(s)&&s.getAttribute("o:gfxdata")&&c!=="v:shapetype"&&i.push(r.item.getAttribute("id"))}return i}function yB(o,t,e){const n=e.createRangeIn(t),i=new he({name:"img"}),r=[];for(const s of n)if(s.item.is("element")&&i.match(s.item)){const a=s.item,c=a.getAttribute("v:shapes")?a.getAttribute("v:shapes").split(" "):[];c.length&&c.every(l=>o.indexOf(l)>-1)?r.push(a):a.getAttribute("src")||r.push(a)}for(const s of r)e.remove(s)}function xB(o,t){const e=t.createRangeIn(o),n=new he({name:/v:(.+)/}),i=[];for(const r of e)r.type=="elementStart"&&n.match(r.item)&&i.push(r.item);for(const r of i)t.remove(r)}function EB(o,t,e){const n=e.createRangeIn(t),i=[];for(const a of n)if(a.type=="elementStart"&&a.item.is("element","v:shape")){const c=a.item.getAttribute("id");if(o.includes(c))continue;r(a.item.parent.getChildren(),c)||i.push(a.item)}for(const a of i){const c={src:s(a)};a.hasAttribute("alt")&&(c.alt=a.getAttribute("alt"));const l=e.createElement("img",c);e.insertChild(a.index+1,l,a.parent)}function r(a,c){for(const l of a)if(l.is("element")&&(l.name=="img"&&l.getAttribute("v:shapes")==c||r(l.getChildren(),c)))return!0;return!1}function s(a){for(const c of a.getChildren())if(c.is("element")&&c.getAttribute("src"))return c.getAttribute("src")}}function DB(o,t){const e=t.createRangeIn(o),n=new he({name:"img"}),i=[];for(const r of e)r.item.is("element")&&n.match(r.item)&&r.item.getAttribute("src").startsWith("file://")&&i.push(r.item);return i}function SB(o){if(!o)return[];const t=/{\\pict[\s\S]+?\\bliptag-?\d+(\\blipupi-?\d+)?({\\\*\\blipuid\s?[\da-fA-F]+)?[\s}]*?/,e=new RegExp("(?:("+t.source+"))([\\da-fA-F\\s]+)\\}","g"),n=o.match(e),i=[];if(n)for(const r of n){let s=!1;r.includes("\\pngblip")?s="image/png":r.includes("\\jpegblip")&&(s="image/jpeg"),s&&i.push({hex:r.replace(t,"").replace(/[^\da-fA-F]/g,""),type:s})}return i}function TB(o,t,e){if(o.length===t.length)for(let n=0;n/i,BB=/xmlns:o="urn:schemas-microsoft-com/i;class NB{constructor(t){this.document=t}isActive(t){return MB.test(t)||BB.test(t)}execute(t){const{body:e,stylesString:n}=t._parsedData;aB(e,n),CB(e,t.dataTransfer.getData("text/rtf")),IB(e),t.content=e}}function zB(o,t){for(const e of o.getChildren())if(e.is("element","b")&&e.getStyle("font-weight")==="normal"){const n=o.getChildIndex(e);t.remove(e),t.insertChild(n,e.getChildren(),o)}}function LB(o,t){const e=new gi(t.document.stylesProcessor),n=new pi(e,{renderingMode:"data"}),i=n.blockElements,r=n.inlineObjectElements,s=[];for(const a of t.createRangeIn(o)){const c=a.item;if(c.is("element","br")){const l=Lp(c,"forward",t,{blockElements:i,inlineObjectElements:r}),d=Lp(c,"backward",t,{blockElements:i,inlineObjectElements:r}),u=Pp(l,i);(Pp(d,i)||u)&&s.push(c)}}for(const a of s)a.hasClass("Apple-interchange-newline")?t.remove(a):t.replace(a,t.createElement("p"))}function Lp(o,t,e,{blockElements:n,inlineObjectElements:i}){let r=e.createPositionAt(o,t=="forward"?"after":"before");return r=r.getLastMatchingPosition(({item:s})=>s.is("element")&&!n.includes(s.name)&&!i.includes(s.name),{direction:t}),t=="forward"?r.nodeAfter:r.nodeBefore}function Pp(o,t){return!!o&&o.is("element")&&t.includes(o.name)}const PB=/id=("|')docs-internal-guid-[-0-9a-f]+("|')/i;class OB{constructor(t){this.document=t}isActive(t){return PB.test(t)}execute(t){const e=new Be(this.document),{body:n}=t._parsedData;zB(n,e),cB(n,e),LB(n,e),t.content=n}}function RB(o,t){for(const e of o.getChildren())e.is("element","table")&&e.hasAttribute("xmlns")&&t.removeAttribute("xmlns",e)}function jB(o,t){for(const e of o.getChildren())if(e.is("element","google-sheets-html-origin")){const n=o.getChildIndex(e);t.remove(e),t.insertChild(n,e.getChildren(),o)}}function FB(o,t){for(const e of o.getChildren())e.is("element","table")&&e.getStyle("width")==="0px"&&t.removeStyle("width",e)}function VB(o,t){for(const e of Array.from(o.getChildren()))e.is("element","style")&&t.remove(e)}const HB=/[^\S\r\n]*?)[\r\n]+([^\S\r\n]*<\/span>)/g,"$1$2").replace(/<\/span>/g,"").replace(/()[\r\n]+(<\/span>)/g,"$1 $2").replace(/ <\//g," <\/o:p>/g," ").replace(/( |\u00A0)<\/o:p>/g,"").replace(/>([^\S\r\n]*[\r\n]\s*)<")}function WB(o){o.querySelectorAll("span[style*=spacerun]").forEach(t=>{const e=t,n=e.innerText.length||0;e.innerText=Array(n+1).join("  ").substr(0,n)})}function Op(o){return o.replace(/(\s+)<\/span>/g,(t,e)=>e.length===1?" ":Array(e.length+1).join("  ").substr(0,e.length))}function qB(o,t){const e=new DOMParser;o=o.replace(//g,"")}const mf=["figcaption","li"],pf=["ol","ul"];function kf(o){if(o.is("$text")||o.is("$textProxy"))return o.data;if(o.is("element","img")&&o.hasAttribute("alt"))return o.getAttribute("alt");if(o.is("element","br"))return` +`;let t="",e=null;for(const n of o.getChildren())t+=F4(n,e)+kf(n),e=n;return t}function F4(o,t){return t?o.is("element","li")&&!o.isEmpty&&o.getChild(0).is("containerElement")||pf.includes(o.name)&&pf.includes(t.name)?` + +`:!o.is("containerElement")&&!t.is("containerElement")?"":mf.includes(o.name)||mf.includes(t.name)?` +`:` + +`:""}class ke extends L{static get pluginName(){return"ClipboardPipeline"}init(){this.editor.editing.view.addObserver(zo),this._setupPasteDrop(),this._setupCopyCut()}_fireOutputTransformationEvent(t,e,n){const i=this.editor.model.getSelectedContent(e);this.fire("outputTransformation",{dataTransfer:t,content:i,method:n})}_setupPasteDrop(){const t=this.editor,e=t.model,n=t.editing.view,i=n.document;this.listenTo(i,"clipboardInput",(r,s)=>{s.method=="paste"&&!t.model.canEditAt(t.model.document.selection)&&r.stop()},{priority:"highest"}),this.listenTo(i,"clipboardInput",(r,s)=>{const a=s.dataTransfer;let c;if(s.content)c=s.content;else{let d="";a.getData("text/html")?d=j4(a.getData("text/html")):a.getData("text/plain")&&(d=R4(a.getData("text/plain"))),c=this.editor.data.htmlProcessor.toView(d)}const l=new zt(this,"inputTransformation");this.fire(l,{content:c,dataTransfer:a,targetRanges:s.targetRanges,method:s.method}),l.stop.called&&r.stop(),n.scrollToTheSelection()},{priority:"low"}),this.listenTo(this,"inputTransformation",(r,s)=>{if(s.content.isEmpty)return;const c=this.editor.data.toModel(s.content,"$clipboardHolder");c.childCount!=0&&(r.stop(),e.change(()=>{this.fire("contentInsertion",{content:c,method:s.method,dataTransfer:s.dataTransfer,targetRanges:s.targetRanges})}))},{priority:"low"}),this.listenTo(this,"contentInsertion",(r,s)=>{s.resultRange=e.insertContent(s.content)},{priority:"low"})}_setupCopyCut(){const t=this.editor,e=t.model.document,i=t.editing.view.document,r=(s,a)=>{const c=a.dataTransfer;a.preventDefault(),this._fireOutputTransformationEvent(c,e.selection,s.name)};this.listenTo(i,"copy",r,{priority:"low"}),this.listenTo(i,"cut",(s,a)=>{t.model.canEditAt(t.model.document.selection)?r(s,a):a.preventDefault()},{priority:"low"}),this.listenTo(this,"outputTransformation",(s,a)=>{const c=t.data.toView(a.content);i.fire("clipboardOutput",{dataTransfer:a.dataTransfer,content:c,method:a.method})},{priority:"low"}),this.listenTo(i,"clipboardOutput",(s,a)=>{a.content.isEmpty||(a.dataTransfer.setData("text/html",this.editor.data.htmlProcessor.toData(a.content)),a.dataTransfer.setData("text/plain",kf(a.content))),a.method=="cut"&&t.model.deleteContent(e.selection)},{priority:"low"})}}class V4 extends lt(){constructor(){super(...arguments),this._stack=[]}add(t,e){const n=this._stack,i=n[0];this._insertDescriptor(t);const r=n[0];i!==r&&!Da(i,r)&&this.fire("change:top",{oldDescriptor:i,newDescriptor:r,writer:e})}remove(t,e){const n=this._stack,i=n[0];this._removeDescriptor(t);const r=n[0];i!==r&&!Da(i,r)&&this.fire("change:top",{oldDescriptor:i,newDescriptor:r,writer:e})}_insertDescriptor(t){const e=this._stack,n=e.findIndex(r=>r.id===t.id);if(Da(t,e[n]))return;n>-1&&e.splice(n,1);let i=0;for(;e[i]&&H4(e[i],t);)i++;e.splice(i,0,t)}_removeDescriptor(t){const e=this._stack,n=e.findIndex(i=>i.id===t);n>-1&&e.splice(n,1)}}function Da(o,t){return o&&t&&o.priority==t.priority&&Vi(o.classes)==Vi(t.classes)}function H4(o,t){return o.priority>t.priority?!0:o.priorityVi(t.classes)}function Vi(o){return Array.isArray(o)?o.sort().join(","):o}const U4='',G4="ck-widget",bf="ck-widget_selected";function Tt(o){return o.is("element")?!!o.getCustomProperty("widget"):!1}function Sa(o,t,e={}){if(!o.is("containerElement"))throw new b("widget-to-widget-wrong-element-type",null,{element:o});return t.setAttribute("contenteditable","false",o),t.addClass(G4,o),t.setCustomProperty("widget",!0,o),o.getFillerOffset=K4,t.setCustomProperty("widgetLabel",[],o),e.label&&Z4(o,e.label),e.hasSelectionHandle&&Y4(o,t),wf(o,t),o}function W4(o,t,e){if(t.classes&&e.addClass(bt(t.classes),o),t.attributes)for(const n in t.attributes)e.setAttribute(n,t.attributes[n],o)}function q4(o,t,e){if(t.classes&&e.removeClass(bt(t.classes),o),t.attributes)for(const n in t.attributes)e.removeAttribute(n,o)}function wf(o,t,e=W4,n=q4){const i=new V4;i.on("change:top",(a,c)=>{c.oldDescriptor&&n(o,c.oldDescriptor,c.writer),c.newDescriptor&&e(o,c.newDescriptor,c.writer)});const r=(a,c,l)=>i.add(c,l),s=(a,c,l)=>i.remove(c,l);t.setCustomProperty("addHighlight",r,o),t.setCustomProperty("removeHighlight",s,o)}function Z4(o,t){o.getCustomProperty("widgetLabel").push(t)}function $4(o){return o.getCustomProperty("widgetLabel").reduce((e,n)=>typeof n=="function"?e?e+". "+n():n():e?e+". "+n:n,"")}function Af(o,t,e={}){return t.addClass(["ck-editor__editable","ck-editor__nested-editable"],o),t.setAttribute("role","textbox",o),e.label&&t.setAttribute("aria-label",e.label,o),t.setAttribute("contenteditable",o.isReadOnly?"false":"true",o),o.on("change:isReadOnly",(n,i,r)=>{t.setAttribute("contenteditable",r?"false":"true",o)}),o.on("change:isFocused",(n,i,r)=>{r?t.addClass("ck-editor__nested-editable_focused",o):t.removeClass("ck-editor__nested-editable_focused",o)}),wf(o,t),o}function Cf(o,t){const e=o.getSelectedElement();if(e){const n=qe(o);if(n)return t.createRange(t.createPositionAt(e,n))}return t.schema.findOptimalInsertionRange(o)}function K4(){return null}function Y4(o,t){const e=t.createUIElement("div",{class:"ck ck-widget__selection-handle"},function(n){const i=this.toDomElement(n),r=new en;return r.set("content",U4),r.render(),i.appendChild(r.element),i});t.insert(t.createPositionAt(o,0),e),t.addClass(["ck-widget_with-selection-handle"],o)}const Pe="widget-type-around";function hn(o,t,e){return!!o&&Tt(o)&&!e.isInline(t)}function Q4(o){return o.closest(".ck-widget__type-around__button")}function J4(o){return o.classList.contains("ck-widget__type-around__button_before")?"before":"after"}function X4(o,t){const e=o.closest(".ck-widget");return t.mapDomToView(e)}function qe(o){return o.getAttribute(Pe)}const tS='';var _f=P(2347),Ta={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ta.insert="head",Ta.singleton=!0,R()(_f.Z,Ta),_f.Z.locals;const vf=["before","after"],eS=new DOMParser().parseFromString(tS,"image/svg+xml").firstChild,yf="ck-widget__type-around_disabled";class nS extends L{constructor(){super(...arguments),this._currentFakeCaretModelElement=null}static get pluginName(){return"WidgetTypeAround"}static get requires(){return[ji,ze]}init(){const t=this.editor,e=t.editing.view;this.on("change:isEnabled",(n,i,r)=>{e.change(s=>{for(const a of e.document.roots)r?s.removeClass(yf,a):s.addClass(yf,a)}),r||t.model.change(s=>{s.removeSelectionAttribute(Pe)})}),this._enableTypeAroundUIInjection(),this._enableInsertingParagraphsOnButtonClick(),this._enableInsertingParagraphsOnEnterKeypress(),this._enableInsertingParagraphsOnTypingKeystroke(),this._enableTypeAroundFakeCaretActivationUsingKeyboardArrows(),this._enableDeleteIntegration(),this._enableInsertContentIntegration(),this._enableInsertObjectIntegration(),this._enableDeleteContentIntegration()}destroy(){super.destroy(),this._currentFakeCaretModelElement=null}_insertParagraph(t,e){const n=this.editor,i=n.editing.view,r=n.model.schema.getAttributesWithProperty(t,"copyOnReplace",!0);n.execute("insertParagraph",{position:n.model.createPositionAt(t,e),attributes:r}),i.focus(),i.scrollToTheSelection()}_listenToIfEnabled(t,e,n,i){this.listenTo(t,e,(...r)=>{this.isEnabled&&n(...r)},i)}_insertParagraphAccordingToFakeCaretPosition(){const n=this.editor.model.document.selection,i=qe(n);if(!i)return!1;const r=n.getSelectedElement();return this._insertParagraph(r,i),!0}_enableTypeAroundUIInjection(){const t=this.editor,e=t.model.schema,n=t.locale.t,i={before:n("Insert paragraph before block"),after:n("Insert paragraph after block")};t.editing.downcastDispatcher.on("insert",(r,s,a)=>{const c=a.mapper.toViewElement(s.item);c&&hn(c,s.item,e)&&(oS(a.writer,i,c),c.getCustomProperty("widgetLabel").push(()=>this.isEnabled?n("Press Enter to type after or press Shift + Enter to type before the widget"):""))},{priority:"low"})}_enableTypeAroundFakeCaretActivationUsingKeyboardArrows(){const t=this.editor,e=t.model,n=e.document.selection,i=e.schema,r=t.editing.view;this._listenToIfEnabled(r.document,"arrowKey",(a,c)=>{this._handleArrowKeyPress(a,c)},{context:[Tt,"$text"],priority:"high"}),this._listenToIfEnabled(n,"change:range",(a,c)=>{c.directChange&&t.model.change(l=>{l.removeSelectionAttribute(Pe)})}),this._listenToIfEnabled(e.document,"change:data",()=>{const a=n.getSelectedElement();if(a){const c=t.editing.mapper.toViewElement(a);if(hn(c,a,i))return}t.model.change(c=>{c.removeSelectionAttribute(Pe)})}),this._listenToIfEnabled(t.editing.downcastDispatcher,"selection",(a,c,l)=>{const d=l.writer;if(this._currentFakeCaretModelElement){const w=l.mapper.toViewElement(this._currentFakeCaretModelElement);w&&(d.removeClass(vf.map(s),w),this._currentFakeCaretModelElement=null)}const u=c.selection.getSelectedElement();if(!u)return;const f=l.mapper.toViewElement(u);if(!hn(f,u,i))return;const p=qe(c.selection);p&&(d.addClass(s(p),f),this._currentFakeCaretModelElement=u)}),this._listenToIfEnabled(t.ui.focusTracker,"change:isFocused",(a,c,l)=>{l||t.model.change(d=>{d.removeSelectionAttribute(Pe)})});function s(a){return`ck-widget_type-around_show-fake-caret_${a}`}}_handleArrowKeyPress(t,e){const n=this.editor,i=n.model,r=i.document.selection,s=i.schema,a=n.editing.view,c=e.keyCode,l=S0(c,n.locale.contentLanguageDirection),d=a.document.selection.getSelectedElement(),u=n.editing.mapper.toModelElement(d);let f;hn(d,u,s)?f=this._handleArrowKeyPressOnSelectedWidget(l):r.isCollapsed?f=this._handleArrowKeyPressWhenSelectionNextToAWidget(l):e.shiftKey||(f=this._handleArrowKeyPressWhenNonCollapsedSelection(l)),f&&(e.preventDefault(),t.stop())}_handleArrowKeyPressOnSelectedWidget(t){const n=this.editor.model,i=n.document.selection,r=qe(i);return n.change(s=>{if(r){if(!(r===(t?"after":"before")))return s.removeSelectionAttribute(Pe),!0}else return s.setSelectionAttribute(Pe,t?"after":"before"),!0;return!1})}_handleArrowKeyPressWhenSelectionNextToAWidget(t){const e=this.editor,n=e.model,i=n.schema,r=e.plugins.get("Widget"),s=r._getObjectElementNextToSelection(t),a=e.editing.mapper.toViewElement(s);return hn(a,s,i)?(n.change(c=>{r._setSelectionOverElement(s),c.setSelectionAttribute(Pe,t?"before":"after")}),!0):!1}_handleArrowKeyPressWhenNonCollapsedSelection(t){const e=this.editor,n=e.model,i=n.schema,r=e.editing.mapper,s=n.document.selection,a=t?s.getLastPosition().nodeBefore:s.getFirstPosition().nodeAfter,c=r.toViewElement(a);return hn(c,a,i)?(n.change(l=>{l.setSelection(a,"on"),l.setSelectionAttribute(Pe,t?"after":"before")}),!0):!1}_enableInsertingParagraphsOnButtonClick(){const t=this.editor,e=t.editing.view;this._listenToIfEnabled(e.document,"mousedown",(n,i)=>{const r=Q4(i.domTarget);if(!r)return;const s=J4(r),a=X4(r,e.domConverter),c=t.editing.mapper.toModelElement(a);this._insertParagraph(c,s),i.preventDefault(),n.stop()})}_enableInsertingParagraphsOnEnterKeypress(){const t=this.editor,e=t.model.document.selection,n=t.editing.view;this._listenToIfEnabled(n.document,"enter",(i,r)=>{if(i.eventPhase!="atTarget")return;const s=e.getSelectedElement(),a=t.editing.mapper.toViewElement(s),c=t.model.schema;let l;this._insertParagraphAccordingToFakeCaretPosition()?l=!0:hn(a,s,c)&&(this._insertParagraph(s,r.isSoft?"before":"after"),l=!0),l&&(r.preventDefault(),i.stop())},{context:Tt})}_enableInsertingParagraphsOnTypingKeystroke(){const e=this.editor.editing.view.document;this._listenToIfEnabled(e,"insertText",(n,i)=>{this._insertParagraphAccordingToFakeCaretPosition()&&(i.selection=e.selection)},{priority:"high"}),g.isAndroid?this._listenToIfEnabled(e,"keydown",(n,i)=>{i.keyCode==229&&this._insertParagraphAccordingToFakeCaretPosition()}):this._listenToIfEnabled(e,"compositionstart",()=>{this._insertParagraphAccordingToFakeCaretPosition()},{priority:"high"})}_enableDeleteIntegration(){const t=this.editor,e=t.editing.view,n=t.model,i=n.schema;this._listenToIfEnabled(e.document,"delete",(r,s)=>{if(r.eventPhase!="atTarget")return;const a=qe(n.document.selection);if(!a)return;const c=s.direction,l=n.document.selection.getSelectedElement(),d=a==="before",u=c=="forward";if(d===u)t.execute("delete",{selection:n.createSelection(l,"on")});else{const p=i.getNearestSelectionRange(n.createPositionAt(l,a),c);if(p)if(!p.isCollapsed)n.change(w=>{w.setSelection(p),t.execute(u?"deleteForward":"delete")});else{const w=n.createSelection(p.start);if(n.modifySelection(w,{direction:c}),!w.focus.isEqual(p.start))n.change(S=>{S.setSelection(p),t.execute(u?"deleteForward":"delete")});else{const S=sS(i,p.start.parent);n.deleteContent(n.createSelection(S,"on"),{doNotAutoparagraph:!0})}}}s.preventDefault(),r.stop()},{context:Tt})}_enableInsertContentIntegration(){const t=this.editor,e=this.editor.model,n=e.document.selection;this._listenToIfEnabled(t.model,"insertContent",(i,[r,s])=>{if(s&&!s.is("documentSelection"))return;const a=qe(n);if(a)return i.stop(),e.change(c=>{const l=n.getSelectedElement(),d=e.createPositionAt(l,a),u=c.createSelection(d),f=e.insertContent(r,u);return c.setSelection(u),f})},{priority:"high"})}_enableInsertObjectIntegration(){const t=this.editor,n=this.editor.model.document.selection;this._listenToIfEnabled(t.model,"insertObject",(i,r)=>{const[,s,a={}]=r;if(s&&!s.is("documentSelection"))return;const c=qe(n);c&&(a.findOptimalPosition=c,r[3]=a)},{priority:"high"})}_enableDeleteContentIntegration(){const t=this.editor,n=this.editor.model.document.selection;this._listenToIfEnabled(t.model,"deleteContent",(i,[r])=>{if(r&&!r.is("documentSelection"))return;qe(n)&&i.stop()},{priority:"high"})}}function oS(o,t,e){const n=o.createUIElement("div",{class:"ck ck-reset_all ck-widget__type-around"},function(i){const r=this.toDomElement(i);return iS(r,t),rS(r),r});o.insert(o.createPositionAt(e,"end"),n)}function iS(o,t){for(const e of vf){const n=new re({tag:"div",attributes:{class:["ck","ck-widget__type-around__button",`ck-widget__type-around__button_${e}`],title:t[e],"aria-hidden":"true"},children:[o.ownerDocument.importNode(eS,!0)]});o.appendChild(n.render())}}function rS(o){const t=new re({tag:"div",attributes:{class:["ck","ck-widget__type-around__fake-caret"]}});o.appendChild(t.render())}function sS(o,t){let e=t;for(const n of t.getAncestors({parentFirst:!0})){if(n.childCount>1||o.isLimit(n))break;e=n}return e}function aS(o){const t=o.model;return(e,n)=>{const i=n.keyCode==et.arrowup,r=n.keyCode==et.arrowdown,s=n.shiftKey,a=t.document.selection;if(!i&&!r)return;const c=r;if(s&&dS(a,c))return;const l=cS(o,a,c);if(l){if(l.isCollapsed){if(a.isCollapsed)return;if(s)return}(l.isCollapsed||lS(o,l,c))&&(t.change(d=>{const u=c?l.end:l.start;if(s){const f=t.createSelection(a.anchor);f.setFocus(u),d.setSelection(f)}else d.setSelection(u)}),e.stop(),n.preventDefault(),n.stopPropagation())}}}function cS(o,t,e){const n=o.model;if(e){const i=t.isCollapsed?t.focus:t.getLastPosition(),r=xf(n,i,"forward");if(!r)return null;const s=n.createRange(i,r),a=Ef(n.schema,s,"backward");return a?n.createRange(i,a):null}else{const i=t.isCollapsed?t.focus:t.getFirstPosition(),r=xf(n,i,"backward");if(!r)return null;const s=n.createRange(r,i),a=Ef(n.schema,s,"forward");return a?n.createRange(a,i):null}}function xf(o,t,e){const n=o.schema,i=o.createRangeIn(t.root),r=e=="forward"?"elementStart":"elementEnd";for(const{previousPosition:s,item:a,type:c}of i.getWalker({startPosition:t,direction:e})){if(n.isLimit(a)&&!n.isInline(a))return s;if(c==r&&n.isBlock(a))return null}return null}function Ef(o,t,e){const n=e=="backward"?t.end:t.start;if(o.checkChild(n,"$text"))return n;for(const{nextPosition:i}of t.getWalker({direction:e}))if(o.checkChild(i,"$text"))return i;return null}function lS(o,t,e){const n=o.model,i=o.view.domConverter;if(e){const l=n.createSelection(t.start);n.modifySelection(l),!l.focus.isAtEnd&&!t.start.isEqual(l.focus)&&(t=n.createRange(l.focus,t.end))}const r=o.mapper.toViewRange(t),s=i.viewRangeToDom(r),a=Q.getDomRangeRects(s);let c;for(const l of a){if(c===void 0){c=Math.round(l.bottom);continue}if(Math.round(l.top)>=c)return!1;c=Math.max(c,Math.round(l.bottom))}return!0}function dS(o,t){return!o.isCollapsed&&o.isBackward==t}var Df=P(7153),Ia={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ia.insert="head",Ia.singleton=!0,R()(Df.Z,Ia),Df.Z.locals;class Lo extends L{constructor(){super(...arguments),this._previouslySelected=new Set}static get pluginName(){return"Widget"}static get requires(){return[nS,ze]}init(){const t=this.editor,e=t.editing.view,n=e.document;this.editor.editing.downcastDispatcher.on("selection",(i,r,s)=>{const a=s.writer,c=r.selection;if(c.isCollapsed)return;const l=c.getSelectedElement();if(!l)return;const d=t.editing.mapper.toViewElement(l);Tt(d)&&s.consumable.consume(c,"selection")&&a.setSelection(a.createRangeOn(d),{fake:!0,label:$4(d)})}),this.editor.editing.downcastDispatcher.on("selection",(i,r,s)=>{this._clearPreviouslySelectedWidgets(s.writer);const a=s.writer,c=a.document.selection;let l=null;for(const d of c.getRanges())for(const u of d){const f=u.item;Tt(f)&&!hS(f,l)&&(a.addClass(bf,f),this._previouslySelected.add(f),l=f)}},{priority:"low"}),e.addObserver(vi),this.listenTo(n,"mousedown",(...i)=>this._onMousedown(...i)),this.listenTo(n,"arrowKey",(...i)=>{this._handleSelectionChangeOnArrowKeyPress(...i)},{context:[Tt,"$text"]}),this.listenTo(n,"arrowKey",(...i)=>{this._preventDefaultOnArrowKeyPress(...i)},{context:"$root"}),this.listenTo(n,"arrowKey",aS(this.editor.editing),{context:"$text"}),this.listenTo(n,"delete",(i,r)=>{this._handleDelete(r.direction=="forward")&&(r.preventDefault(),i.stop())},{context:"$root"})}_onMousedown(t,e){const n=this.editor,i=n.editing.view,r=i.document;let s=e.target;if(e.domEvent.detail>=3){this._selectBlockContent(s)&&e.preventDefault();return}if(uS(s)||!Tt(s)&&(s=s.findAncestor(Tt),!s))return;g.isAndroid&&e.preventDefault(),r.isFocused||i.focus();const a=n.editing.mapper.toModelElement(s);this._setSelectionOverElement(a)}_selectBlockContent(t){const e=this.editor,n=e.model,i=e.editing.mapper,r=n.schema,s=i.findMappedViewAncestor(this.editor.editing.view.createPositionAt(t,0)),a=gS(i.toModelElement(s),n.schema);return a?(n.change(c=>{const l=r.isLimit(a)?null:fS(c.createPositionAfter(a),r),d=c.createPositionAt(a,0),u=l?c.createPositionAt(l,0):c.createPositionAt(a,"end");c.setSelection(c.createRange(d,u))}),!0):!1}_handleSelectionChangeOnArrowKeyPress(t,e){const n=e.keyCode,i=this.editor.model,r=i.schema,s=i.document.selection,a=s.getSelectedElement(),c=zr(n,this.editor.locale.contentLanguageDirection),l=c=="down"||c=="right",d=c=="up"||c=="down";if(a&&r.isObject(a)){const f=l?s.getLastPosition():s.getFirstPosition(),p=r.getNearestSelectionRange(f,l?"forward":"backward");p&&(i.change(w=>{w.setSelection(p)}),e.preventDefault(),t.stop());return}if(!s.isCollapsed&&!e.shiftKey){const f=s.getFirstPosition(),p=s.getLastPosition(),w=f.nodeAfter,S=p.nodeBefore;(w&&r.isObject(w)||S&&r.isObject(S))&&(i.change(M=>{M.setSelection(l?p:f)}),e.preventDefault(),t.stop());return}if(!s.isCollapsed)return;const u=this._getObjectElementNextToSelection(l);if(u&&r.isObject(u)){if(r.isInline(u)&&d)return;this._setSelectionOverElement(u),e.preventDefault(),t.stop()}}_preventDefaultOnArrowKeyPress(t,e){const n=this.editor.model,i=n.schema,r=n.document.selection.getSelectedElement();r&&i.isObject(r)&&(e.preventDefault(),t.stop())}_handleDelete(t){const n=this.editor.model.document.selection;if(!this.editor.model.canEditAt(n)||!n.isCollapsed)return;const i=this._getObjectElementNextToSelection(t);if(i)return this.editor.model.change(r=>{let s=n.anchor.parent;for(;s.isEmpty;){const a=s;s=a.parent,r.remove(a)}this._setSelectionOverElement(i)}),!0}_setSelectionOverElement(t){this.editor.model.change(e=>{e.setSelection(e.createRangeOn(t))})}_getObjectElementNextToSelection(t){const e=this.editor.model,n=e.schema,i=e.document.selection,r=e.createSelection(i);if(e.modifySelection(r,{direction:t?"forward":"backward"}),r.isEqual(i))return null;const s=t?r.focus.nodeBefore:r.focus.nodeAfter;return s&&n.isObject(s)?s:null}_clearPreviouslySelectedWidgets(t){for(const e of this._previouslySelected)t.removeClass(bf,e);this._previouslySelected.clear()}}function uS(o){let t=o;for(;t;){if(t.is("editableElement")&&!t.is("rootElement"))return!0;if(Tt(t))return!1;t=t.parent}return!1}function hS(o,t){return t?Array.from(o.getAncestors()).includes(t):!1}function gS(o,t){for(const e of o.getAncestors({includeSelf:!0,parentFirst:!0})){if(t.checkChild(e,"$text"))return e;if(t.isLimit(e)&&!t.isObject(e))break}return null}function fS(o,t){const e=new Te({startPosition:o});for(const{item:n}of e){if(t.isLimit(n)||!n.is("element"))return null;if(t.checkChild(n,"$text"))return n}return null}class Hi extends L{constructor(){super(...arguments),this._toolbarDefinitions=new Map}static get requires(){return[Ni]}static get pluginName(){return"WidgetToolbarRepository"}init(){const t=this.editor;if(t.plugins.has("BalloonToolbar")){const e=t.plugins.get("BalloonToolbar");this.listenTo(e,"show",n=>{mS(t.editing.view.document.selection)&&n.stop()},{priority:"high"})}this._balloon=this.editor.plugins.get("ContextualBalloon"),this.on("change:isEnabled",()=>{this._updateToolbarsVisibility()}),this.listenTo(t.ui,"update",()=>{this._updateToolbarsVisibility()}),this.listenTo(t.ui.focusTracker,"change:isFocused",()=>{this._updateToolbarsVisibility()},{priority:"low"})}destroy(){super.destroy();for(const t of this._toolbarDefinitions.values())t.view.destroy()}register(t,{ariaLabel:e,items:n,getRelatedElement:i,balloonClassName:r="ck-toolbar-container"}){if(!n.length){return}const s=this.editor,a=s.t,c=new Os(s.locale);if(c.ariaLabel=e||a("Widget toolbar"),this._toolbarDefinitions.has(t))throw new b("widget-toolbar-duplicated",this,{toolbarId:t});const l={view:c,getRelatedElement:i,balloonClassName:r,itemsConfig:n,initialized:!1};s.ui.addToolbar(c,{isContextual:!0,beforeFocus:()=>{const d=i(s.editing.view.document.selection);d&&this._showToolbar(l,d)},afterBlur:()=>{this._hideToolbar(l)}}),this._toolbarDefinitions.set(t,l)}_updateToolbarsVisibility(){let t=0,e=null,n=null;for(const i of this._toolbarDefinitions.values()){const r=i.getRelatedElement(this.editor.editing.view.document.selection);if(!this.isEnabled||!r)this._isToolbarInBalloon(i)&&this._hideToolbar(i);else if(!this.editor.ui.focusTracker.isFocused)this._isToolbarVisible(i)&&this._hideToolbar(i);else{const s=r.getAncestors().length;s>t&&(t=s,e=r,n=i)}}n&&this._showToolbar(n,e)}_hideToolbar(t){this._balloon.remove(t.view),this.stopListening(this._balloon,"change:visibleView")}_showToolbar(t,e){this._isToolbarVisible(t)?Sf(this.editor,e):this._isToolbarInBalloon(t)||(t.initialized||(t.initialized=!0,t.view.fillFromConfig(t.itemsConfig,this.editor.ui.componentFactory)),this._balloon.add({view:t.view,position:Tf(this.editor,e),balloonClassName:t.balloonClassName}),this.listenTo(this._balloon,"change:visibleView",()=>{for(const n of this._toolbarDefinitions.values())if(this._isToolbarVisible(n)){const i=n.getRelatedElement(this.editor.editing.view.document.selection);Sf(this.editor,i)}}))}_isToolbarVisible(t){return this._balloon.visibleView===t.view}_isToolbarInBalloon(t){return this._balloon.hasView(t.view)}}function Sf(o,t){const e=o.plugins.get("ContextualBalloon"),n=Tf(o,t);e.updatePosition(n)}function Tf(o,t){const e=o.editing.view,n=Fn.defaultPositions;return{target:e.domConverter.mapViewToDom(t),positions:[n.northArrowSouth,n.northArrowSouthWest,n.northArrowSouthEast,n.southArrowNorth,n.southArrowNorthWest,n.southArrowNorthEast,n.viewportStickyNorth]}}function mS(o){const t=o.getSelectedElement();return!!(t&&Tt(t))}class pS extends st(){constructor(t){super(),this.set("activeHandlePosition",null),this.set("proposedWidthPercents",null),this.set("proposedWidth",null),this.set("proposedHeight",null),this.set("proposedHandleHostWidth",null),this.set("proposedHandleHostHeight",null),this._options=t,this._referenceCoordinates=null}get originalWidth(){return this._originalWidth}get originalHeight(){return this._originalHeight}get originalWidthPercents(){return this._originalWidthPercents}get aspectRatio(){return this._aspectRatio}begin(t,e,n){const i=new Q(e);this.activeHandlePosition=AS(t),this._referenceCoordinates=bS(e,CS(this.activeHandlePosition)),this._originalWidth=i.width,this._originalHeight=i.height,this._aspectRatio=i.width/i.height;const r=n.style.width;r&&r.match(/^\d+(\.\d*)?%$/)?this._originalWidthPercents=parseFloat(r):this._originalWidthPercents=kS(n,i)}update(t){this.proposedWidth=t.width,this.proposedHeight=t.height,this.proposedWidthPercents=t.widthPercents,this.proposedHandleHostWidth=t.handleHostWidth,this.proposedHandleHostHeight=t.handleHostHeight}}function kS(o,t){const e=o.parentElement;let n=parseFloat(e.ownerDocument.defaultView.getComputedStyle(e).width);const i=5;let r=0,s=e;for(;isNaN(n);){if(s=s.parentElement,++r>i)return 0;n=parseFloat(e.ownerDocument.defaultView.getComputedStyle(s).width)}return t.width/n*100}function bS(o,t){const e=new Q(o),n=t.split("-"),i={x:n[1]=="right"?e.right:e.left,y:n[0]=="bottom"?e.bottom:e.top};return i.x+=o.ownerDocument.defaultView.scrollX,i.y+=o.ownerDocument.defaultView.scrollY,i}function wS(o){return`ck-widget__resizer__handle-${o}`}function AS(o){const t=["top-left","top-right","bottom-right","bottom-left"];for(const e of t)if(o.classList.contains(wS(e)))return e}function CS(o){const t=o.split("-"),e={top:"bottom",bottom:"top",left:"right",right:"left"};return`${e[t[0]]}-${e[t[1]]}`}class _S extends Z{constructor(){super();const t=this.bindTemplate;this.setTemplate({tag:"div",attributes:{class:["ck","ck-size-view",t.to("_viewPosition",e=>e?`ck-orientation-${e}`:"")],style:{display:t.if("_isVisible","none",e=>!e)}},children:[{text:t.to("_label")}]})}_bindToState(t,e){this.bind("_isVisible").to(e,"proposedWidth",e,"proposedHeight",(n,i)=>n!==null&&i!==null),this.bind("_label").to(e,"proposedHandleHostWidth",e,"proposedHandleHostHeight",e,"proposedWidthPercents",(n,i,r)=>t.unit==="px"?`${n}×${i}`:`${r}%`),this.bind("_viewPosition").to(e,"activeHandlePosition",e,"proposedHandleHostWidth",e,"proposedHandleHostHeight",(n,i,r)=>i<50||r<50?"above-center":n)}_dismiss(){this.unbind(),this._isVisible=!1}}class If extends st(){constructor(t){super(),this._viewResizerWrapper=null,this._options=t,this.set("isEnabled",!0),this.set("isSelected",!1),this.bind("isVisible").to(this,"isEnabled",this,"isSelected",(e,n)=>e&&n),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"})}get state(){return this._state}show(){this._options.editor.editing.view.change(e=>{e.removeClass("ck-hidden",this._viewResizerWrapper)})}hide(){this._options.editor.editing.view.change(e=>{e.addClass("ck-hidden",this._viewResizerWrapper)})}attach(){const t=this,e=this._options.viewElement;this._options.editor.editing.view.change(i=>{const r=i.createUIElement("div",{class:"ck ck-reset_all ck-widget__resizer"},function(s){const a=this.toDomElement(s);return t._appendHandles(a),t._appendSizeUI(a),a});i.insert(i.createPositionAt(e,"end"),r),i.addClass("ck-widget_with-resizer",e),this._viewResizerWrapper=r,this.isVisible||this.hide()}),this.on("change:isVisible",()=>{this.isVisible?(this.show(),this.redraw()):this.hide()})}begin(t){this._state=new pS(this._options),this._sizeView._bindToState(this._options,this.state),this._initialViewWidth=this._options.viewElement.getStyle("width"),this.state.begin(t,this._getHandleHost(),this._getResizeHost())}updateSize(t){const e=this._proposeNewSize(t);this._options.editor.editing.view.change(l=>{const d=this._options.unit||"%",u=(d==="%"?e.widthPercents:e.width)+d;l.setStyle("width",u,this._options.viewElement)});const i=this._getHandleHost(),r=new Q(i),s=Math.round(r.width),a=Math.round(r.height),c=new Q(i);e.width=Math.round(c.width),e.height=Math.round(c.height),this.redraw(r),this.state.update({...e,handleHostWidth:s,handleHostHeight:a})}commit(){const t=this._options.unit||"%",e=(t==="%"?this.state.proposedWidthPercents:this.state.proposedWidth)+t;this._options.editor.editing.view.change(()=>{this._cleanup(),this._options.onCommit(e)})}cancel(){this._cleanup()}destroy(){this.cancel()}redraw(t){const e=this._domResizerWrapper;if(!xS(e))return;const n=e.parentElement,i=this._getHandleHost(),r=this._viewResizerWrapper,s=[r.getStyle("width"),r.getStyle("height"),r.getStyle("left"),r.getStyle("top")];let a;if(n.isSameNode(i)){const c=t||new Q(i);a=[c.width+"px",c.height+"px",void 0,void 0]}else a=[i.offsetWidth+"px",i.offsetHeight+"px",i.offsetLeft+"px",i.offsetTop+"px"];jt(s,a)!=="same"&&this._options.editor.editing.view.change(c=>{c.setStyle({width:a[0],height:a[1],left:a[2],top:a[3]},r)})}containsHandle(t){return this._domResizerWrapper.contains(t)}static isResizeHandle(t){return t.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(t){const e=this.state,n=yS(t),i=this._options.isCentered?this._options.isCentered(this):!0,r={x:e._referenceCoordinates.x-(n.x+e.originalWidth),y:n.y-e.originalHeight-e._referenceCoordinates.y};i&&e.activeHandlePosition.endsWith("-right")&&(r.x=n.x-(e._referenceCoordinates.x+e.originalWidth)),i&&(r.x*=2);let s=Math.abs(e.originalWidth+r.x),a=Math.abs(e.originalHeight+r.y);return(s/e.aspectRatio>a?"width":"height")=="width"?a=s/e.aspectRatio:s=a*e.aspectRatio,{width:Math.round(s),height:Math.round(a),widthPercents:Math.min(Math.round(e.originalWidthPercents/e.originalWidth*s*100)/100,100)}}_getResizeHost(){const t=this._domResizerWrapper.parentElement;return this._options.getResizeHost(t)}_getHandleHost(){const t=this._domResizerWrapper.parentElement;return this._options.getHandleHost(t)}get _domResizerWrapper(){return this._options.editor.editing.view.domConverter.mapViewToDom(this._viewResizerWrapper)}_appendHandles(t){const e=["top-left","top-right","bottom-right","bottom-left"];for(const n of e)t.appendChild(new re({tag:"div",attributes:{class:`ck-widget__resizer__handle ${vS(n)}`}}).render())}_appendSizeUI(t){this._sizeView=new _S,this._sizeView.render(),t.appendChild(this._sizeView.element)}}function vS(o){return`ck-widget__resizer__handle-${o}`}function yS(o){return{x:o.pageX,y:o.pageY}}function xS(o){return o&&o.ownerDocument&&o.ownerDocument.contains(o)}var Mf=P(4875),Ma={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ma.insert="head",Ma.singleton=!0,R()(Mf.Z,Ma),Mf.Z.locals;class Ba extends L{constructor(){super(...arguments),this._resizers=new Map}static get pluginName(){return"WidgetResize"}init(){const t=this.editor.editing,e=H.window.document;this.set("selectedResizer",null),this.set("_activeResizer",null),t.view.addObserver(vi),this._observer=new(Kt()),this.listenTo(t.view.document,"mousedown",this._mouseDownListener.bind(this),{priority:"high"}),this._observer.listenTo(e,"mousemove",this._mouseMoveListener.bind(this)),this._observer.listenTo(e,"mouseup",this._mouseUpListener.bind(this)),this._redrawSelectedResizerThrottled=So(()=>this.redrawSelectedResizer(),200),this.editor.ui.on("update",this._redrawSelectedResizerThrottled),this.editor.model.document.on("change",()=>{for(const[i,r]of this._resizers)i.isAttached()||(this._resizers.delete(i),r.destroy())},{priority:"lowest"}),this._observer.listenTo(H.window,"resize",this._redrawSelectedResizerThrottled);const n=this.editor.editing.view.document.selection;n.on("change",()=>{const i=n.getSelectedElement(),r=this.getResizerByViewElement(i)||null;r?this.select(r):this.deselect()})}redrawSelectedResizer(){this.selectedResizer&&this.selectedResizer.isVisible&&this.selectedResizer.redraw()}destroy(){super.destroy(),this._observer.stopListening();for(const t of this._resizers.values())t.destroy();this._redrawSelectedResizerThrottled.cancel()}select(t){this.deselect(),this.selectedResizer=t,this.selectedResizer.isSelected=!0}deselect(){this.selectedResizer&&(this.selectedResizer.isSelected=!1),this.selectedResizer=null}attachTo(t){const e=new If(t),n=this.editor.plugins;if(e.attach(),n.has("WidgetToolbarRepository")){const s=n.get("WidgetToolbarRepository");e.on("begin",()=>{s.forceDisabled("resize")},{priority:"lowest"}),e.on("cancel",()=>{s.clearForceDisabled("resize")},{priority:"highest"}),e.on("commit",()=>{s.clearForceDisabled("resize")},{priority:"highest"})}this._resizers.set(t.viewElement,e);const r=this.editor.editing.view.document.selection.getSelectedElement();return this.getResizerByViewElement(r)==e&&this.select(e),e}getResizerByViewElement(t){return this._resizers.get(t)}_getResizerByHandle(t){for(const e of this._resizers.values())if(e.containsHandle(t))return e}_mouseDownListener(t,e){const n=e.domTarget;If.isResizeHandle(n)&&(this._activeResizer=this._getResizerByHandle(n)||null,this._activeResizer&&(this._activeResizer.begin(n),t.stop(),e.preventDefault()))}_mouseMoveListener(t,e){this._activeResizer&&this._activeResizer.updateSize(e)}_mouseUpListener(){this._activeResizer&&(this._activeResizer.commit(),this._activeResizer=null)}}const Na=Tn("px");class ES extends Z{constructor(){super();const t=this.bindTemplate;this.set({isVisible:!1,left:null,top:null,width:null}),this.setTemplate({tag:"div",attributes:{class:["ck","ck-clipboard-drop-target-line",t.if("isVisible","ck-hidden",e=>!e)],style:{left:t.to("left",e=>Na(e)),top:t.to("top",e=>Na(e)),width:t.to("width",e=>Na(e))}}})}}class Ui extends L{constructor(){super(...arguments),this.removeDropMarkerDelayed=Lr(()=>this.removeDropMarker(),40),this._updateDropMarkerThrottled=So(t=>this._updateDropMarker(t),40),this._reconvertMarkerThrottled=So(()=>{this.editor.model.markers.has("drop-target")&&this.editor.editing.reconvertMarker("drop-target")},0),this._dropTargetLineView=new ES,this._domEmitter=new(Kt()),this._scrollables=new Map}static get pluginName(){return"DragDropTarget"}init(){this._setupDropMarker()}destroy(){this._domEmitter.stopListening();for(const{resizeObserver:t}of this._scrollables.values())t.destroy();return this._updateDropMarkerThrottled.cancel(),this.removeDropMarkerDelayed.cancel(),this._reconvertMarkerThrottled.cancel(),super.destroy()}updateDropMarker(t,e,n,i,r,s){this.removeDropMarkerDelayed.cancel();const a=Bf(this.editor,t,e,n,i,r,s);if(a){if(s&&s.containsRange(a))return this.removeDropMarker();this._updateDropMarkerThrottled(a)}}getFinalDropRange(t,e,n,i,r,s){const a=Bf(this.editor,t,e,n,i,r,s);return this.removeDropMarker(),a}removeDropMarker(){const t=this.editor.model;this.removeDropMarkerDelayed.cancel(),this._updateDropMarkerThrottled.cancel(),this._dropTargetLineView.isVisible=!1,t.markers.has("drop-target")&&t.change(e=>{e.removeMarker("drop-target")})}_setupDropMarker(){const t=this.editor;t.ui.view.body.add(this._dropTargetLineView),t.conversion.for("editingDowncast").markerToHighlight({model:"drop-target",view:{classes:["ck-clipboard-drop-target-range"]}}),t.conversion.for("editingDowncast").markerToElement({model:"drop-target",view:(e,{writer:n})=>{if(t.model.schema.checkChild(e.markerRange.start,"$text"))return this._dropTargetLineView.isVisible=!1,this._createDropTargetPosition(n);e.markerRange.isCollapsed?this._updateDropTargetLine(e.markerRange):this._dropTargetLineView.isVisible=!1}})}_updateDropMarker(t){const e=this.editor,n=e.model.markers;e.model.change(i=>{n.has("drop-target")?n.get("drop-target").getRange().isEqual(t)||i.updateMarker("drop-target",{range:t}):i.addMarker("drop-target",{range:t,usingOperation:!1,affectsData:!1})})}_createDropTargetPosition(t){return t.createUIElement("span",{class:"ck ck-clipboard-drop-target-position"},function(e){const n=this.toDomElement(e);return n.append("⁠",e.createElement("span"),"⁠"),n})}_updateDropTargetLine(t){const e=this.editor.editing,n=t.start.nodeBefore,i=t.start.nodeAfter,r=t.start.parent,s=n?e.mapper.toViewElement(n):null,a=s?e.view.domConverter.mapViewToDom(s):null,c=i?e.mapper.toViewElement(i):null,l=c?e.view.domConverter.mapViewToDom(c):null,d=e.mapper.toViewElement(r);if(!d)return;const u=e.view.domConverter.mapViewToDom(d),f=this._getScrollableRect(d),{scrollX:p,scrollY:w}=H.window,S=a?new Q(a):null,M=l?new Q(l):null,z=new Q(u).excludeScrollbarsAndBorders(),V=S?S.bottom:z.top,tt=M?M.top:z.bottom,ct=H.window.getComputedStyle(u),mt=V<=tt?(V+tt)/2:tt;if(f.topa.schema.checkChild(f,w))){if(a.schema.checkChild(f,"$text"))return a.createRange(f);if(u)return Gi(o,zf(o,u.parent),n,i)}}}else if(a.schema.isInline(d))return Gi(o,d,n,i)}if(a.schema.isBlock(d))return Gi(o,d,n,i);if(a.schema.checkChild(d,"$block")){const u=Array.from(d.getChildren()).filter(w=>w.is("element")&&!DS(o,w));let f=0,p=u.length;if(p==0)return a.createRange(a.createPositionAt(d,"end"));for(;f{i?(this.forceDisabled("readOnlyMode"),this._isBlockDragging=!1):this.clearForceDisabled("readOnlyMode")}),g.isAndroid&&this.forceDisabled("noAndroidSupport"),t.plugins.has("BlockToolbar")){const n=t.plugins.get("BlockToolbar").buttonView.element;this._domEmitter.listenTo(n,"dragstart",(i,r)=>this._handleBlockDragStart(r)),this._domEmitter.listenTo(H.document,"dragover",(i,r)=>this._handleBlockDragging(r)),this._domEmitter.listenTo(H.document,"drop",(i,r)=>this._handleBlockDragging(r)),this._domEmitter.listenTo(H.document,"dragend",()=>this._handleBlockDragEnd(),{useCapture:!0}),this.isEnabled&&n.setAttribute("draggable","true"),this.on("change:isEnabled",(i,r,s)=>{n.setAttribute("draggable",s?"true":"false")})}}destroy(){return this._domEmitter.stopListening(),super.destroy()}_handleBlockDragStart(t){if(!this.isEnabled)return;const e=this.editor.model,n=e.document.selection,i=this.editor.editing.view,r=Array.from(n.getSelectedBlocks()),s=e.createRange(e.createPositionBefore(r[0]),e.createPositionAfter(r[r.length-1]));e.change(a=>a.setSelection(s)),this._isBlockDragging=!0,i.focus(),i.getObserver(zo).onDomEvent(t)}_handleBlockDragging(t){if(!this.isEnabled||!this._isBlockDragging)return;const e=t.clientX+(this.editor.locale.contentLanguageDirection=="ltr"?100:-100),n=t.clientY,i=document.elementFromPoint(e,n),r=this.editor.editing.view;!i||!i.closest(".ck-editor__editable")||r.getObserver(zo).onDomEvent({...t,type:t.type,dataTransfer:t.dataTransfer,target:i,clientX:e,clientY:n,preventDefault:()=>t.preventDefault(),stopPropagation:()=>t.stopPropagation()})}_handleBlockDragEnd(){this._isBlockDragging=!1}}var Lf=P(799),za={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};za.insert="head",za.singleton=!0,R()(Lf.Z,za),Lf.Z.locals;class IS extends L{constructor(){super(...arguments),this._clearDraggableAttributesDelayed=Lr(()=>this._clearDraggableAttributes(),40),this._blockMode=!1,this._domEmitter=new(Kt())}static get pluginName(){return"DragDrop"}static get requires(){return[ke,Lo,Ui,TS]}init(){const t=this.editor,e=t.editing.view;this._draggedRange=null,this._draggingUid="",this._draggableElement=null,e.addObserver(zo),e.addObserver(vi),this._setupDragging(),this._setupContentInsertionIntegration(),this._setupClipboardInputIntegration(),this._setupDraggableAttributeHandling(),this.listenTo(t,"change:isReadOnly",(n,i,r)=>{r?this.forceDisabled("readOnlyMode"):this.clearForceDisabled("readOnlyMode")}),this.on("change:isEnabled",(n,i,r)=>{r||this._finalizeDragging(!1)}),g.isAndroid&&this.forceDisabled("noAndroidSupport")}destroy(){return this._draggedRange&&(this._draggedRange.detach(),this._draggedRange=null),this._previewContainer&&this._previewContainer.remove(),this._domEmitter.stopListening(),this._clearDraggableAttributesDelayed.cancel(),super.destroy()}_setupDragging(){const t=this.editor,e=t.model,n=t.editing.view,i=n.document,r=t.plugins.get(Ui);this.listenTo(i,"dragstart",(s,a)=>{if(a.target&&a.target.is("editableElement")){a.preventDefault();return}if(this._prepareDraggedRange(a.target),!this._draggedRange){a.preventDefault();return}this._draggingUid=Vt(),a.dataTransfer.effectAllowed=this.isEnabled?"copyMove":"copy",a.dataTransfer.setData("application/ckeditor5-dragging-uid",this._draggingUid);const c=e.createSelection(this._draggedRange.toRange());this.editor.plugins.get("ClipboardPipeline")._fireOutputTransformationEvent(a.dataTransfer,c,"dragstart");const{dataTransfer:d,domTarget:u,domEvent:f}=a,{clientX:p}=f;this._updatePreview({dataTransfer:d,domTarget:u,clientX:p}),a.stopPropagation(),this.isEnabled||(this._draggedRange.detach(),this._draggedRange=null,this._draggingUid="")},{priority:"low"}),this.listenTo(i,"dragend",(s,a)=>{this._finalizeDragging(!a.dataTransfer.isCanceled&&a.dataTransfer.dropEffect=="move")},{priority:"low"}),this._domEmitter.listenTo(H.document,"dragend",()=>{this._blockMode=!1},{useCapture:!0}),this.listenTo(i,"dragenter",()=>{this.isEnabled&&n.focus()}),this.listenTo(i,"dragleave",()=>{r.removeDropMarkerDelayed()}),this.listenTo(i,"dragging",(s,a)=>{if(!this.isEnabled){a.dataTransfer.dropEffect="none";return}const{clientX:c,clientY:l}=a.domEvent;r.updateDropMarker(a.target,a.targetRanges,c,l,this._blockMode,this._draggedRange),this._draggedRange||(a.dataTransfer.dropEffect="copy"),g.isGecko||(a.dataTransfer.effectAllowed=="copy"?a.dataTransfer.dropEffect="copy":["all","copyMove"].includes(a.dataTransfer.effectAllowed)&&(a.dataTransfer.dropEffect="move")),s.stop()},{priority:"low"})}_setupClipboardInputIntegration(){const t=this.editor,n=t.editing.view.document,i=t.plugins.get(Ui);this.listenTo(n,"clipboardInput",(r,s)=>{if(s.method!="drop")return;const{clientX:a,clientY:c}=s.domEvent,l=i.getFinalDropRange(s.target,s.targetRanges,a,c,this._blockMode,this._draggedRange);if(!l){this._finalizeDragging(!1),r.stop();return}if(this._draggedRange&&this._draggingUid!=s.dataTransfer.getData("application/ckeditor5-dragging-uid")&&(this._draggedRange.detach(),this._draggedRange=null,this._draggingUid=""),Pf(s.dataTransfer)=="move"&&this._draggedRange&&this._draggedRange.containsRange(l,!0)){this._finalizeDragging(!1),r.stop();return}s.targetRanges=[t.editing.mapper.toViewRange(l)]},{priority:"high"})}_setupContentInsertionIntegration(){const t=this.editor.plugins.get(ke);t.on("contentInsertion",(e,n)=>{if(!this.isEnabled||n.method!=="drop")return;const i=n.targetRanges.map(r=>this.editor.editing.mapper.toModelRange(r));this.editor.model.change(r=>r.setSelection(i))},{priority:"high"}),t.on("contentInsertion",(e,n)=>{if(!this.isEnabled||n.method!=="drop")return;const i=Pf(n.dataTransfer)=="move",r=!n.resultRange||!n.resultRange.isCollapsed;this._finalizeDragging(r&&i)},{priority:"lowest"})}_setupDraggableAttributeHandling(){const t=this.editor,e=t.editing.view,n=e.document;this.listenTo(n,"mousedown",(i,r)=>{if(g.isAndroid||!r)return;this._clearDraggableAttributesDelayed.cancel();let s=Of(r.target);if(g.isBlink&&!t.isReadOnly&&!s&&!n.selection.isCollapsed){const a=n.selection.getSelectedElement();(!a||!Tt(a))&&(s=n.selection.editableElement)}s&&(e.change(a=>{a.setAttribute("draggable","true",s)}),this._draggableElement=t.editing.mapper.toModelElement(s))}),this.listenTo(n,"mouseup",()=>{g.isAndroid||this._clearDraggableAttributesDelayed()})}_clearDraggableAttributes(){const t=this.editor.editing;t.view.change(e=>{this._draggableElement&&this._draggableElement.root.rootName!="$graveyard"&&e.removeAttribute("draggable",t.mapper.toViewElement(this._draggableElement)),this._draggableElement=null})}_finalizeDragging(t){const e=this.editor,n=e.model;e.plugins.get(Ui).removeDropMarker(),this._clearDraggableAttributes(),e.plugins.has("WidgetToolbarRepository")&&e.plugins.get("WidgetToolbarRepository").clearForceDisabled("dragDrop"),this._draggingUid="",this._previewContainer&&(this._previewContainer.remove(),this._previewContainer=void 0),this._draggedRange&&(t&&this.isEnabled&&n.change(r=>{const s=n.createSelection(this._draggedRange);n.deleteContent(s,{doNotAutoparagraph:!0});const a=s.getFirstPosition().parent;a.isEmpty&&!n.schema.checkChild(a,"$text")&&n.schema.checkChild(a,"paragraph")&&r.insertElement("paragraph",a,0)}),this._draggedRange.detach(),this._draggedRange=null)}_prepareDraggedRange(t){const e=this.editor,n=e.model,i=n.document.selection,r=t?Of(t):null;if(r){const l=e.editing.mapper.toModelElement(r);this._draggedRange=Xt.fromRange(n.createRangeOn(l)),this._blockMode=n.schema.isBlock(l),e.plugins.has("WidgetToolbarRepository")&&e.plugins.get("WidgetToolbarRepository").forceDisabled("dragDrop");return}if(i.isCollapsed&&!i.getFirstPosition().parent.isEmpty)return;const s=Array.from(i.getSelectedBlocks()),a=i.getFirstRange();if(s.length==0){this._draggedRange=Xt.fromRange(a);return}const c=Rf(n,s);if(s.length>1)this._draggedRange=Xt.fromRange(c),this._blockMode=!0;else if(s.length==1){const l=a.start.isTouching(c.start)&&a.end.isTouching(c.end);this._draggedRange=Xt.fromRange(l?c:a),this._blockMode=l}n.change(l=>l.setSelection(this._draggedRange.toRange()))}_updatePreview({dataTransfer:t,domTarget:e,clientX:n}){const i=this.editor.editing.view,r=i.document.selection.editableElement,s=i.domConverter.mapViewToDom(r),a=H.window.getComputedStyle(s);this._previewContainer?this._previewContainer.firstElementChild&&this._previewContainer.removeChild(this._previewContainer.firstElementChild):(this._previewContainer=Qn(H.document,"div",{style:"position: fixed; left: -999999px;"}),H.document.body.appendChild(this._previewContainer));const c=new Q(s);if(s.contains(e))return;const l=parseFloat(a.paddingLeft),d=Qn(H.document,"div");d.className="ck ck-content",d.style.width=a.width,d.style.paddingLeft=`${c.left-n+l}px`,g.isiOS&&(d.style.backgroundColor="white"),d.innerHTML=t.getData("text/html"),t.setDragImage(d,0,0),this._previewContainer.appendChild(d)}}function Pf(o){return g.isGecko?o.dropEffect:["all","copyMove"].includes(o.effectAllowed)?"move":"copy"}function Of(o){if(o.is("editableElement"))return null;if(o.hasClass("ck-widget__selection-handle"))return o.findAncestor(Tt);if(Tt(o))return o;const t=o.findAncestor(e=>Tt(e)||e.is("editableElement"));return Tt(t)?t:null}function Rf(o,t){const e=t[0],n=t[t.length-1],i=e.getCommonAncestor(n),r=o.createPositionBefore(e),s=o.createPositionAfter(n);if(i&&i.is("element")&&!o.schema.isLimit(i)){const a=o.createRangeOn(i),c=r.isTouching(a.start),l=s.isTouching(a.end);if(c&&l)return Rf(o,[i])}return o.createRange(r,s)}class MS extends L{static get pluginName(){return"PastePlainText"}static get requires(){return[ke]}init(){const t=this.editor,e=t.model,n=t.editing.view,i=n.document,r=e.document.selection;let s=!1;n.addObserver(zo),this.listenTo(i,"keydown",(a,c)=>{s=c.shiftKey}),t.plugins.get(ke).on("contentInsertion",(a,c)=>{!s&&!BS(c.content,e.schema)||e.change(l=>{const d=Array.from(r.getAttributes()).filter(([f])=>e.schema.getAttributeProperties(f).isFormatting);r.isCollapsed||e.deleteContent(r,{doNotAutoparagraph:!0}),d.push(...r.getAttributes());const u=l.createRangeIn(c.content);for(const f of u.getItems())f.is("$textProxy")&&l.setAttributes(d,f)})})}}function BS(o,t){if(o.childCount>1)return!1;const e=o.getChild(0);return t.isObject(e)?!1:Array.from(e.getAttributeKeys()).length==0}class jf extends L{static get pluginName(){return"Clipboard"}static get requires(){return[ke,IS,MS]}}class NS extends X{constructor(t){super(t),this.affectsData=!1}execute(){const t=this.editor.model,e=t.document.selection;let n=t.schema.getLimitElement(e);if(e.containsEntireContent(n)||!Ff(t.schema,n))do if(n=n.parent,!n)return;while(!Ff(t.schema,n));t.change(i=>{i.setSelection(n,"in")})}}function Ff(o,t){return o.isLimit(t)&&(o.checkChild(t,"$text")||o.checkChild(t,"paragraph"))}const zS=so("Ctrl+A");class LS extends L{static get pluginName(){return"SelectAllEditing"}init(){const t=this.editor,n=t.editing.view.document;t.commands.add("selectAll",new NS(t)),this.listenTo(n,"keydown",(i,r)=>{In(r)===zS&&(t.execute("selectAll"),r.preventDefault())})}}const PS='';class OS extends L{static get pluginName(){return"SelectAllUI"}init(){const t=this.editor;t.ui.componentFactory.add("selectAll",e=>{const n=t.commands.get("selectAll"),i=new at(e),r=e.t;return i.set({label:r("Select all"),icon:PS,keystroke:"Ctrl+A",tooltip:!0}),i.bind("isEnabled").to(n,"isEnabled"),this.listenTo(i,"execute",()=>{t.execute("selectAll"),t.editing.view.focus()}),i})}}class RS extends L{static get requires(){return[LS,OS]}static get pluginName(){return"SelectAll"}}class Vf extends X{constructor(t){super(t),this._stack=[],this._createdBatches=new WeakSet,this.refresh(),this._isEnabledBasedOnSelection=!1,this.listenTo(t.data,"set",(e,n)=>{n[1]={...n[1]};const i=n[1];i.batchType||(i.batchType={isUndoable:!1})},{priority:"high"}),this.listenTo(t.data,"set",(e,n)=>{n[1].batchType.isUndoable||this.clearStack()})}refresh(){this.isEnabled=this._stack.length>0}get createdBatches(){return this._createdBatches}addBatch(t){const e=this.editor.model.document.selection,n={ranges:e.hasOwnRange?Array.from(e.getRanges()):[],isBackward:e.isBackward};this._stack.push({batch:t,selection:n}),this.refresh()}clearStack(){this._stack=[],this.refresh()}_restoreSelection(t,e,n){const i=this.editor.model,r=i.document,s=[],a=t.map(l=>l.getTransformedByOperations(n)),c=a.flat();for(const l of a){const d=l.filter(u=>u.root!=r.graveyard).filter(u=>!FS(u,c));d.length&&(jS(d),s.push(d[0]))}s.length&&i.change(l=>{l.setSelection(s,{backward:e})})}_undo(t,e){const n=this.editor.model,i=n.document;this._createdBatches.add(e);const r=t.operations.slice().filter(s=>s.isDocumentOperation);r.reverse();for(const s of r){const a=s.baseVersion+1,c=Array.from(i.history.getOperations(a)),d=z5([s.getReversed()],c,{useRelations:!0,document:this.editor.model.document,padWithNoOps:!1,forceWeakRemove:!0}).operationsA;for(let u of d){const f=u.affectedSelectable;f&&!n.canEditAt(f)&&(u=new St(u.baseVersion)),e.addOperation(u),n.applyOperation(u),i.history.setOperationAsUndone(s,u)}}}}function jS(o){o.sort((t,e)=>t.start.isBefore(e.start)?-1:1);for(let t=1;te!==o&&e.containsRange(o,!0))}class VS extends Vf{execute(t=null){const e=t?this._stack.findIndex(r=>r.batch==t):this._stack.length-1,n=this._stack.splice(e,1)[0],i=this.editor.model.createBatch({isUndo:!0});this.editor.model.enqueueChange(i,()=>{this._undo(n.batch,i);const r=this.editor.model.document.history.getOperations(n.batch.baseVersion);this._restoreSelection(n.selection.ranges,n.selection.isBackward,r)}),this.fire("revert",n.batch,i),this.refresh()}}class HS extends Vf{execute(){const t=this._stack.pop(),e=this.editor.model.createBatch({isUndo:!0});this.editor.model.enqueueChange(e,()=>{const i=t.batch.operations[t.batch.operations.length-1].baseVersion+1,r=this.editor.model.document.history.getOperations(i);this._restoreSelection(t.selection.ranges,t.selection.isBackward,r),this._undo(t.batch,e)}),this.refresh()}}class US extends L{constructor(){super(...arguments),this._batchRegistry=new WeakSet}static get pluginName(){return"UndoEditing"}init(){const t=this.editor;this._undoCommand=new VS(t),this._redoCommand=new HS(t),t.commands.add("undo",this._undoCommand),t.commands.add("redo",this._redoCommand),this.listenTo(t.model,"applyOperation",(e,n)=>{const i=n[0];if(!i.isDocumentOperation)return;const r=i.batch,s=this._redoCommand.createdBatches.has(r),a=this._undoCommand.createdBatches.has(r);this._batchRegistry.has(r)||(this._batchRegistry.add(r),r.isUndoable&&(s?this._undoCommand.addBatch(r):a||(this._undoCommand.addBatch(r),this._redoCommand.clearStack())))},{priority:"highest"}),this.listenTo(this._undoCommand,"revert",(e,n,i)=>{this._redoCommand.addBatch(i)}),t.keystrokes.set("CTRL+Z","undo"),t.keystrokes.set("CTRL+Y","redo"),t.keystrokes.set("CTRL+SHIFT+Z","redo")}}class GS extends L{static get pluginName(){return"UndoUI"}init(){const t=this.editor,e=t.locale,n=t.t,i=e.uiLanguageDirection=="ltr"?J.undo:J.redo,r=e.uiLanguageDirection=="ltr"?J.redo:J.undo;this._addButton("undo",n("Undo"),"CTRL+Z",i),this._addButton("redo",n("Redo"),"CTRL+Y",r)}_addButton(t,e,n,i){const r=this.editor;r.ui.componentFactory.add(t,s=>{const a=r.commands.get(t),c=new at(s);return c.set({label:e,icon:i,keystroke:n,tooltip:!0}),c.bind("isEnabled").to(a,"isEnabled"),this.listenTo(c,"execute",()=>{r.execute(t),r.editing.view.focus()}),c})}}class La extends L{static get requires(){return[US,GS]}static get pluginName(){return"Undo"}}class WS extends L{static get requires(){return[jf,ji,RS,y4,e4,La]}static get pluginName(){return"Essentials"}}class qS extends X{constructor(t){super(t),this._isEnabledBasedOnSelection=!1}refresh(){const t=this.editor.model,e=t.document,n=Lt(e.selection.getSelectedBlocks());this.value=!!n&&n.is("element","paragraph"),this.isEnabled=!!n&&Hf(n,t.schema)}execute(t={}){const e=this.editor.model,n=e.document,i=t.selection||n.selection;e.canEditAt(i)&&e.change(r=>{const s=i.getSelectedBlocks();for(const a of s)!a.is("element","paragraph")&&Hf(a,e.schema)&&r.rename(a,"paragraph")})}}function Hf(o,t){return t.checkChild(o.parent,"paragraph")&&!t.isObject(o)}class ZS extends X{constructor(t){super(t),this._isEnabledBasedOnSelection=!1}execute(t){const e=this.editor.model,n=t.attributes;let i=t.position;e.canEditAt(i)&&e.change(r=>{if(i=this._findPositionToInsertParagraph(i,r),!i)return;const s=r.createElement("paragraph");n&&e.schema.setAllowedAttributes(s,n,r),e.insertContent(s,i),r.setSelection(s,"in")})}_findPositionToInsertParagraph(t,e){const n=this.editor.model;if(n.schema.checkChild(t,"paragraph"))return t;const i=n.schema.findAllowedParent(t,"paragraph");if(!i)return null;const r=t.parent,s=n.schema.checkChild(r,"$text");return r.isEmpty||s&&t.isAtEnd?n.createPositionAfter(r):!r.isEmpty&&s&&t.isAtStart?n.createPositionBefore(r):e.split(t,i).position}}class Wi extends L{static get pluginName(){return"Paragraph"}init(){const t=this.editor,e=t.model;t.commands.add("paragraph",new qS(t)),t.commands.add("insertParagraph",new ZS(t)),e.schema.register("paragraph",{inheritAllFrom:"$block"}),t.conversion.elementToElement({model:"paragraph",view:"p"}),t.conversion.for("upcast").elementToElement({model:(n,{writer:i})=>!Wi.paragraphLikeElements.has(n.name)||n.isEmpty?null:i.createElement("paragraph"),view:/.+/,converterPriority:"low"})}}Wi.paragraphLikeElements=new Set(["blockquote","dd","div","dt","h1","h2","h3","h4","h5","h6","li","p","td","th"]);const Uf=Wi;class $S extends X{constructor(t,e){super(t),this.modelElements=e}refresh(){const t=Lt(this.editor.model.document.selection.getSelectedBlocks());this.value=!!t&&this.modelElements.includes(t.name)&&t.name,this.isEnabled=!!t&&this.modelElements.some(e=>Gf(t,e,this.editor.model.schema))}execute(t){const e=this.editor.model,n=e.document,i=t.value;e.change(r=>{const s=Array.from(n.selection.getSelectedBlocks()).filter(a=>Gf(a,i,e.schema));for(const a of s)a.is("element",i)||r.rename(a,i)})}}function Gf(o,t,e){return e.checkChild(o.parent,t)&&!e.isObject(o)}const Wf="paragraph";class KS extends L{static get pluginName(){return"HeadingEditing"}constructor(t){super(t),t.config.define("heading",{options:[{model:"paragraph",title:"Paragraph",class:"ck-heading_paragraph"},{model:"heading1",view:"h2",title:"Heading 1",class:"ck-heading_heading1"},{model:"heading2",view:"h3",title:"Heading 2",class:"ck-heading_heading2"},{model:"heading3",view:"h4",title:"Heading 3",class:"ck-heading_heading3"}]})}static get requires(){return[Uf]}init(){const t=this.editor,e=t.config.get("heading.options"),n=[];for(const i of e)i.model!=="paragraph"&&(t.model.schema.register(i.model,{inheritAllFrom:"$block"}),t.conversion.elementToElement(i),n.push(i.model));this._addDefaultH1Conversion(t),t.commands.add("heading",new $S(t,n))}afterInit(){const t=this.editor,e=t.commands.get("enter"),n=t.config.get("heading.options");e&&this.listenTo(e,"afterExecute",(i,r)=>{const s=t.model.document.selection.getFirstPosition().parent;n.some(c=>s.is("element",c.model))&&!s.is("element",Wf)&&s.childCount===0&&r.writer.rename(s,Wf)})}_addDefaultH1Conversion(t){t.conversion.for("upcast").elementToElement({model:"heading1",view:"h1",converterPriority:Re.low+1})}}function YS(o){const t=o.t,e={Paragraph:t("Paragraph"),"Heading 1":t("Heading 1"),"Heading 2":t("Heading 2"),"Heading 3":t("Heading 3"),"Heading 4":t("Heading 4"),"Heading 5":t("Heading 5"),"Heading 6":t("Heading 6")};return o.config.get("heading.options").map(n=>{const i=e[n.title];return i&&i!=n.title&&(n.title=i),n})}var qf=P(4249),Pa={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Pa.insert="head",Pa.singleton=!0,R()(qf.Z,Pa),qf.Z.locals;class QS extends L{static get pluginName(){return"HeadingUI"}init(){const t=this.editor,e=t.t,n=YS(t),i=e("Choose heading"),r=e("Heading");t.ui.componentFactory.add("heading",s=>{const a={},c=new oe,l=t.commands.get("heading"),d=t.commands.get("paragraph"),u=[l];for(const p of n){const w={type:"button",model:new la({label:p.title,class:p.class,role:"menuitemradio",withText:!0})};p.model==="paragraph"?(w.model.bind("isOn").to(d,"value"),w.model.set("commandName","paragraph"),u.push(d)):(w.model.bind("isOn").to(l,"value",S=>S===p.model),w.model.set({commandName:"heading",commandValue:p.model})),c.add(w),a[p.model]=p.title}const f=ye(s);return Gs(f,c,{ariaLabel:r,role:"menu"}),f.buttonView.set({ariaLabel:r,ariaLabelledBy:void 0,isOn:!1,withText:!0,tooltip:r}),f.extendTemplate({attributes:{class:["ck-heading-dropdown"]}}),f.bind("isEnabled").toMany(u,"isEnabled",(...p)=>p.some(w=>w)),f.buttonView.bind("label").to(l,"value",d,"value",(p,w)=>{const S=p||w&&"paragraph";return typeof S=="boolean"||!a[S]?i:a[S]}),this.listenTo(f,"execute",p=>{const{commandName:w,commandValue:S}=p.source;t.execute(w,S?{value:S}:void 0),t.editing.view.focus()}),f})}}class JS extends L{static get requires(){return[KS,QS]}static get pluginName(){return"Heading"}}function XS(o){return o.createContainerElement("span",{class:"image-inline"},o.createEmptyElement("img"))}function Zf(o){return o.createContainerElement("figure",{class:"image"},[o.createEmptyElement("img"),o.createSlot("children")])}function $f(o,t){const e=o.plugins.get("ImageUtils"),n=o.plugins.has("ImageInlineEditing")&&o.plugins.has("ImageBlockEditing");return r=>e.isInlineImageView(r)?n&&(r.getStyle("display")=="block"||r.findAncestor(e.isBlockImageView)?"imageBlock":"imageInline")!==t?null:i(r):null;function i(r){const s={name:!0};return r.hasAttribute("src")&&(s.attributes=["src"]),s}}function Oa(o,t){const e=Lt(t.getSelectedBlocks());return!e||o.isObject(e)||e.isEmpty&&e.name!="listItem"?"imageBlock":"imageInline"}function qi(o){return o&&o.endsWith("px")?parseInt(o):null}function Zi(o){const t=qi(o.getStyle("width")),e=qi(o.getStyle("height"));return!!(t&&e)}const tT=/^(image|image-inline)$/;class Ut extends L{constructor(){super(...arguments),this._domEmitter=new(Kt())}static get pluginName(){return"ImageUtils"}isImage(t){return this.isInlineImage(t)||this.isBlockImage(t)}isInlineImageView(t){return!!t&&t.is("element","img")}isBlockImageView(t){return!!t&&t.is("element","figure")&&t.hasClass("image")}insertImage(t={},e=null,n=null,i={}){const r=this.editor,s=r.model,a=s.document.selection,c=Kf(r,e||a,n);t={...Object.fromEntries(a.getAttributes()),...t};for(const l in t)s.schema.checkAttribute(c,l)||delete t[l];return s.change(l=>{const{setImageSizes:d=!0}=i,u=l.createElement(c,t);return s.insertObject(u,e,null,{setSelection:"on",findOptimalPosition:!e&&c!="imageInline"?"auto":void 0}),u.parent?(d&&this.setImageNaturalSizeAttributes(u),u):null})}setImageNaturalSizeAttributes(t){const e=t.getAttribute("src");e&&(t.getAttribute("width")||t.getAttribute("height")||this.editor.model.change(n=>{const i=new H.window.Image;this._domEmitter.listenTo(i,"load",()=>{!t.getAttribute("width")&&!t.getAttribute("height")&&this.editor.model.enqueueChange(n.batch,r=>{r.setAttribute("width",i.naturalWidth,t),r.setAttribute("height",i.naturalHeight,t)}),this._domEmitter.stopListening(i,"load")}),i.src=e}))}getClosestSelectedImageWidget(t){const e=t.getFirstPosition();if(!e)return null;const n=t.getSelectedElement();if(n&&this.isImageWidget(n))return n;let i=e.parent;for(;i;){if(i.is("element")&&this.isImageWidget(i))return i;i=i.parent}return null}getClosestSelectedImageElement(t){const e=t.getSelectedElement();return this.isImage(e)?e:t.getFirstPosition().findAncestor("imageBlock")}getImageWidgetFromImageView(t){return t.findAncestor({classes:tT})}isImageAllowed(){const e=this.editor.model.document.selection;return eT(this.editor,e)&&nT(e)}toImageWidget(t,e,n){return e.setCustomProperty("image",!0,t),Sa(t,e,{label:()=>{const s=this.findViewImgElement(t).getAttribute("alt");return s?`${s} ${n}`:n}})}isImageWidget(t){return!!t.getCustomProperty("image")&&Tt(t)}isBlockImage(t){return!!t&&t.is("element","imageBlock")}isInlineImage(t){return!!t&&t.is("element","imageInline")}findViewImgElement(t){if(this.isInlineImageView(t))return t;const e=this.editor.editing.view;for(const{item:n}of e.createRangeIn(t))if(this.isInlineImageView(n))return n}destroy(){return this._domEmitter.stopListening(),super.destroy()}}function eT(o,t){if(Kf(o,t,null)=="imageBlock"){const n=oT(t,o.model);if(o.model.schema.checkChild(n,"imageBlock"))return!0}else if(o.model.schema.checkChild(t.focus,"imageInline"))return!0;return!1}function nT(o){return[...o.focus.getAncestors()].every(t=>!t.is("element","imageBlock"))}function oT(o,t){const n=Cf(o,t).start.parent;return n.isEmpty&&!n.is("element","$root")?n.parent:n}function Kf(o,t,e){const n=o.model.schema,i=o.config.get("image.insert.type");return o.plugins.has("ImageBlockEditing")?o.plugins.has("ImageInlineEditing")?e||(i==="inline"?"imageInline":i!=="auto"?"imageBlock":t.is("selection")?Oa(n,t):n.checkChild(t,"imageInline")?"imageInline":"imageBlock"):"imageBlock":"imageInline"}class iT extends X{refresh(){const n=this.editor.plugins.get("ImageUtils").getClosestSelectedImageElement(this.editor.model.document.selection);this.isEnabled=!!n,this.isEnabled&&n.hasAttribute("alt")?this.value=n.getAttribute("alt"):this.value=!1}execute(t){const e=this.editor,n=e.plugins.get("ImageUtils"),i=e.model,r=n.getClosestSelectedImageElement(i.document.selection);i.change(s=>{s.setAttribute("alt",t.newValue,r)})}}class rT extends L{static get requires(){return[Ut]}static get pluginName(){return"ImageTextAlternativeEditing"}init(){this.editor.commands.add("imageTextAlternative",new iT(this.editor))}}var Yf=P(5269),Ra={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ra.insert="head",Ra.singleton=!0,R()(Yf.Z,Ra),Yf.Z.locals;var Qf=P(6603),ja={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};ja.insert="head",ja.singleton=!0,R()(Qf.Z,ja),Qf.Z.locals;class sT extends Z{constructor(t){super(t);const e=this.locale.t;this.focusTracker=new Pt,this.keystrokes=new Gt,this.labeledInput=this._createLabeledInputView(),this.saveButtonView=this._createButton(e("Save"),J.check,"ck-button-save"),this.saveButtonView.type="submit",this.cancelButtonView=this._createButton(e("Cancel"),J.cancel,"ck-button-cancel","cancel"),this._focusables=new ie,this._focusCycler=new se({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]})}render(){super.render(),this.keystrokes.listenTo(this.element),h({view:this}),[this.labeledInput,this.saveButtonView,this.cancelButtonView].forEach(t=>{this._focusables.add(t),this.focusTracker.add(t.element)})}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}_createButton(t,e,n,i){const r=new at(this.locale);return r.set({label:t,icon:e,tooltip:!0}),r.extendTemplate({attributes:{class:n}}),i&&r.delegate("execute").to(this,i),r}_createLabeledInputView(){const t=this.locale.t,e=new si(this.locale,Si);return e.label=t("Text alternative"),e}}function aT(o){const t=o.plugins.get("ContextualBalloon");if(o.plugins.get("ImageUtils").getClosestSelectedImageWidget(o.editing.view.document.selection)){const n=Jf(o);t.updatePosition(n)}}function Jf(o){const t=o.editing.view,e=Fn.defaultPositions,n=o.plugins.get("ImageUtils");return{target:t.domConverter.mapViewToDom(n.getClosestSelectedImageWidget(t.document.selection)),positions:[e.northArrowSouth,e.northArrowSouthWest,e.northArrowSouthEast,e.southArrowNorth,e.southArrowNorthWest,e.southArrowNorthEast,e.viewportStickyNorth]}}class cT extends L{static get requires(){return[Ni]}static get pluginName(){return"ImageTextAlternativeUI"}init(){this._createButton()}destroy(){super.destroy(),this._form&&this._form.destroy()}_createButton(){const t=this.editor,e=t.t;t.ui.componentFactory.add("imageTextAlternative",n=>{const i=t.commands.get("imageTextAlternative"),r=new at(n);return r.set({label:e("Change image text alternative"),icon:J.textAlternative,tooltip:!0}),r.bind("isEnabled").to(i,"isEnabled"),r.bind("isOn").to(i,"value",s=>!!s),this.listenTo(r,"execute",()=>{this._showForm()}),r})}_createForm(){const t=this.editor,n=t.editing.view.document,i=t.plugins.get("ImageUtils");this._balloon=this.editor.plugins.get("ContextualBalloon"),this._form=new(x(sT))(t.locale),this._form.render(),this.listenTo(this._form,"submit",()=>{t.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",(r,s)=>{this._hideForm(!0),s()}),this.listenTo(t.ui,"update",()=>{i.getClosestSelectedImageWidget(n.selection)?this._isVisible&&aT(t):this._hideForm(!0)}),C({emitter:this._form,activator:()=>this._isVisible,contextElements:()=>[this._balloon.view.element],callback:()=>this._hideForm()})}_showForm(){if(this._isVisible)return;this._form||this._createForm();const t=this.editor,e=t.commands.get("imageTextAlternative"),n=this._form.labeledInput;this._form.disableCssTransitions(),this._isInBalloon||this._balloon.add({view:this._form,position:Jf(t)}),n.fieldView.value=n.fieldView.element.value=e.value||"",this._form.labeledInput.fieldView.select(),this._form.enableCssTransitions()}_hideForm(t=!1){this._isInBalloon&&(this._form.focusTracker.isFocused&&this._form.saveButtonView.focus(),this._balloon.remove(this._form),t&&this.editor.editing.view.focus())}get _isVisible(){return!!this._balloon&&this._balloon.visibleView===this._form}get _isInBalloon(){return!!this._balloon&&this._balloon.hasView(this._form)}}class Xf extends L{static get requires(){return[rT,cT]}static get pluginName(){return"ImageTextAlternative"}}function lT(o){const t=(e,n,i)=>{if(!i.consumable.test(n.viewItem,{name:!0,classes:"image"}))return;const r=o.findViewImgElement(n.viewItem);if(!r||!i.consumable.test(r,{name:!0}))return;i.consumable.consume(n.viewItem,{name:!0,classes:"image"});const s=i.convertItem(r,n.modelCursor),a=Lt(s.modelRange.getItems());if(!a){i.consumable.revert(n.viewItem,{name:!0,classes:"image"});return}i.convertChildren(n.viewItem,a),i.updateConversionResult(a,n)};return e=>{e.on("element:figure",t)}}function tm(o,t){const e=(n,i,r)=>{if(!r.consumable.consume(i.item,n.name))return;const s=r.writer,a=r.mapper.toViewElement(i.item),c=o.findViewImgElement(a);i.attributeNewValue===null?(s.removeAttribute("srcset",c),s.removeAttribute("sizes",c)):i.attributeNewValue&&(s.setAttribute("srcset",i.attributeNewValue,c),s.setAttribute("sizes","100vw",c))};return n=>{n.on(`attribute:srcset:${t}`,e)}}function $i(o,t,e){const n=(i,r,s)=>{if(!s.consumable.consume(r.item,i.name))return;const a=s.writer,c=s.mapper.toViewElement(r.item),l=o.findViewImgElement(c);a.setAttribute(r.attributeKey,r.attributeNewValue||"",l)};return i=>{i.on(`attribute:${e}:${t}`,n)}}class Fa extends _e{observe(t){this.listenTo(t,"load",(e,n)=>{const i=n.target;this.checkShouldIgnoreEventFromTarget(i)||i.tagName=="IMG"&&this._fireEvents(n)},{useCapture:!0})}stopObserving(t){this.stopListening(t)}_fireEvents(t){this.isEnabled&&(this.document.fire("layoutChanged"),this.document.fire("imageLoaded",t))}}class dT extends X{constructor(t){super(t);const e=t.config.get("image.insert.type");t.plugins.has("ImageBlockEditing")||e==="block"&&void 0,t.plugins.has("ImageInlineEditing")||e==="inline"&&void 0}refresh(){const t=this.editor.plugins.get("ImageUtils");this.isEnabled=t.isImageAllowed()}execute(t){const e=bt(t.source),n=this.editor.model.document.selection,i=this.editor.plugins.get("ImageUtils"),r=Object.fromEntries(n.getAttributes());e.forEach((s,a)=>{const c=n.getSelectedElement();if(typeof s=="string"&&(s={src:s}),a&&c&&i.isImage(c)){const l=this.editor.model.createPositionAfter(c);i.insertImage({...s,...r},l)}else i.insertImage({...s,...r})})}}class uT extends X{constructor(t){super(t),this.decorate("cleanupImage")}refresh(){const e=this.editor.plugins.get("ImageUtils"),n=this.editor.model.document.selection.getSelectedElement();this.isEnabled=e.isImage(n),this.value=this.isEnabled?n.getAttribute("src"):null}execute(t){const e=this.editor.model.document.selection.getSelectedElement(),n=this.editor.plugins.get("ImageUtils");this.editor.model.change(i=>{i.setAttribute("src",t.source,e),this.cleanupImage(i,e),n.setImageNaturalSizeAttributes(e)})}cleanupImage(t,e){t.removeAttribute("srcset",e),t.removeAttribute("sizes",e),t.removeAttribute("sources",e),t.removeAttribute("width",e),t.removeAttribute("height",e),t.removeAttribute("alt",e)}}class em extends L{static get requires(){return[Ut]}static get pluginName(){return"ImageEditing"}init(){const t=this.editor,e=t.conversion;t.editing.view.addObserver(Fa),e.for("upcast").attributeToAttribute({view:{name:"img",key:"alt"},model:"alt"}).attributeToAttribute({view:{name:"img",key:"srcset"},model:"srcset"});const n=new dT(t),i=new uT(t);t.commands.add("insertImage",n),t.commands.add("replaceImageSource",i),t.commands.add("imageInsert",n)}}class nm extends L{static get requires(){return[Ut]}static get pluginName(){return"ImageSizeAttributes"}afterInit(){this._registerSchema(),this._registerConverters("imageBlock"),this._registerConverters("imageInline")}_registerSchema(){this.editor.plugins.has("ImageBlockEditing")&&this.editor.model.schema.extend("imageBlock",{allowAttributes:["width","height"]}),this.editor.plugins.has("ImageInlineEditing")&&this.editor.model.schema.extend("imageInline",{allowAttributes:["width","height"]})}_registerConverters(t){const e=this.editor,n=e.plugins.get("ImageUtils"),i=t==="imageBlock"?"figure":"img";e.conversion.for("upcast").attributeToAttribute({view:{name:i,styles:{width:/.+/}},model:{key:"width",value:s=>Zi(s)?qi(s.getStyle("width")):null}}).attributeToAttribute({view:{name:i,key:"width"},model:"width"}).attributeToAttribute({view:{name:i,styles:{height:/.+/}},model:{key:"height",value:s=>Zi(s)?qi(s.getStyle("height")):null}}).attributeToAttribute({view:{name:i,key:"height"},model:"height"}),e.conversion.for("editingDowncast").add(s=>{r(s,"width","width",!0),r(s,"height","height",!0)}),e.conversion.for("dataDowncast").add(s=>{r(s,"width","width",!1),r(s,"height","height",!1)});function r(s,a,c,l){s.on(`attribute:${a}:${t}`,(d,u,f)=>{if(!f.consumable.consume(u.item,d.name))return;const p=f.writer,w=f.mapper.toViewElement(u.item),S=n.findViewImgElement(w);if(u.attributeNewValue!==null?p.setAttribute(c,u.attributeNewValue,S):p.removeAttribute(c,S),u.item.hasAttribute("sources"))return;const M=u.item.hasAttribute("resizedWidth");if(t==="imageInline"&&!M&&!l)return;const z=u.item.getAttribute("width"),V=u.item.getAttribute("height");z&&V&&p.setStyle("aspect-ratio",`${z}/${V}`,S)})}}}class om extends X{constructor(t,e){super(t),this._modelElementName=e}refresh(){const e=this.editor.plugins.get("ImageUtils"),n=e.getClosestSelectedImageElement(this.editor.model.document.selection);this._modelElementName==="imageBlock"?this.isEnabled=e.isInlineImage(n):this.isEnabled=e.isBlockImage(n)}execute(t={}){const e=this.editor,n=this.editor.model,i=e.plugins.get("ImageUtils"),r=i.getClosestSelectedImageElement(n.document.selection),s=Object.fromEntries(r.getAttributes());return!s.src&&!s.uploadId?null:n.change(a=>{const{setImageSizes:c=!0}=t,l=Array.from(n.markers).filter(f=>f.getRange().containsItem(r)),d=i.insertImage(s,n.createSelection(r,"on"),this._modelElementName,{setImageSizes:c});if(!d)return null;const u=a.createRangeOn(d);for(const f of l){const p=f.getRange(),w=p.root.rootName!="$graveyard"?p.getJoined(u,!0):u;a.updateMarker(f,{range:w})}return{oldElement:r,newElement:d}})}}var im=P(31),Va={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Va.insert="head",Va.singleton=!0,R()(im.Z,Va),im.Z.locals;class rm extends L{static get requires(){return[Ut]}static get pluginName(){return"ImagePlaceholder"}afterInit(){this._setupSchema(),this._setupConversion(),this._setupLoadListener()}_setupSchema(){const t=this.editor.model.schema;t.isRegistered("imageBlock")&&t.extend("imageBlock",{allowAttributes:["placeholder"]}),t.isRegistered("imageInline")&&t.extend("imageInline",{allowAttributes:["placeholder"]})}_setupConversion(){const t=this.editor,e=t.conversion,n=t.plugins.get("ImageUtils");e.for("editingDowncast").add(i=>{i.on("attribute:placeholder",(r,s,a)=>{if(!a.consumable.test(s.item,r.name)||!s.item.is("element","imageBlock")&&!s.item.is("element","imageInline"))return;a.consumable.consume(s.item,r.name);const c=a.writer,l=a.mapper.toViewElement(s.item),d=n.findViewImgElement(l);s.attributeNewValue?(c.addClass("image_placeholder",d),c.setStyle("background-image",`url(${s.attributeNewValue})`,d),c.setCustomProperty("editingPipeline:doNotReuseOnce",!0,d)):(c.removeClass("image_placeholder",d),c.removeStyle("background-image",d))})})}_setupLoadListener(){const t=this.editor,e=t.model,n=t.editing,i=n.view,r=t.plugins.get("ImageUtils");i.addObserver(Fa),this.listenTo(i.document,"imageLoaded",(s,a)=>{const c=i.domConverter.mapDomToView(a.target);if(!c)return;const l=r.getImageWidgetFromImageView(c);if(!l)return;const d=n.mapper.toModelElement(l);!d||!d.hasAttribute("placeholder")||e.enqueueChange({isUndoable:!1},u=>{u.removeAttribute("placeholder",d)})})}}class sm extends L{static get requires(){return[em,nm,Ut,rm,ke]}static get pluginName(){return"ImageBlockEditing"}init(){const t=this.editor;t.model.schema.register("imageBlock",{inheritAllFrom:"$blockObject",allowAttributes:["alt","src","srcset"]}),this._setupConversion(),t.plugins.has("ImageInlineEditing")&&(t.commands.add("imageTypeBlock",new om(this.editor,"imageBlock")),this._setupClipboardIntegration())}_setupConversion(){const t=this.editor,e=t.t,n=t.conversion,i=t.plugins.get("ImageUtils");n.for("dataDowncast").elementToStructure({model:"imageBlock",view:(r,{writer:s})=>Zf(s)}),n.for("editingDowncast").elementToStructure({model:"imageBlock",view:(r,{writer:s})=>i.toImageWidget(Zf(s),s,e("image widget"))}),n.for("downcast").add($i(i,"imageBlock","src")).add($i(i,"imageBlock","alt")).add(tm(i,"imageBlock")),n.for("upcast").elementToElement({view:$f(t,"imageBlock"),model:(r,{writer:s})=>s.createElement("imageBlock",r.hasAttribute("src")?{src:r.getAttribute("src")}:void 0)}).add(lT(i))}_setupClipboardIntegration(){const t=this.editor,e=t.model,n=t.editing.view,i=t.plugins.get("ImageUtils"),r=t.plugins.get("ClipboardPipeline");this.listenTo(r,"inputTransformation",(s,a)=>{const c=Array.from(a.content.getChildren());let l;if(!c.every(i.isInlineImageView))return;a.targetRanges?l=t.editing.mapper.toModelRange(a.targetRanges[0]):l=e.document.selection.getFirstRange();const d=e.createSelection(l);if(Oa(e.schema,d)==="imageBlock"){const u=new Be(n.document),f=c.map(p=>u.createElement("figure",{class:"image"},p));a.content=u.createDocumentFragment(f)}}),this.listenTo(r,"contentInsertion",(s,a)=>{a.method==="paste"&&e.change(c=>{const l=c.createRangeIn(a.content);for(const d of l.getItems())d.is("element","imageBlock")&&i.setImageNaturalSizeAttributes(d)})})}}var am=P(8879),Ha={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ha.insert="head",Ha.singleton=!0,R()(am.Z,Ha),am.Z.locals;class hT extends Z{constructor(t,e=[]){super(t),this.focusTracker=new Pt,this.keystrokes=new Gt,this._focusables=new ie,this.children=this.createCollection(),this._focusCycler=new se({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}});for(const n of e)this.children.add(n),this._focusables.add(n),n instanceof sv&&this._focusables.addMany(n.children);if(this._focusables.length>1)for(const n of this._focusables)gT(n)&&(n.focusCycler.on("forwardCycle",i=>{this._focusCycler.focusNext(),i.stop()}),n.focusCycler.on("backwardCycle",i=>{this._focusCycler.focusPrevious(),i.stop()}));this.setTemplate({tag:"form",attributes:{class:["ck","ck-image-insert-form"],tabindex:-1},children:this.children})}render(){super.render(),h({view:this});for(const e of this._focusables)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)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}}function gT(o){return"focusCycler"in o}class cm extends L{static get pluginName(){return"ImageInsertUI"}static get requires(){return[Ut]}constructor(t){super(t),this._integrations=new Map,t.config.define("image.insert.integrations",["upload","assetManager","url"])}init(){const t=this.editor,e=t.model.document.selection,n=t.plugins.get("ImageUtils");this.set("isImageSelected",!1),this.listenTo(t.model.document,"change",()=>{this.isImageSelected=n.isImage(e.getSelectedElement())});const i=r=>this._createToolbarComponent(r);t.ui.componentFactory.add("insertImage",i),t.ui.componentFactory.add("imageInsert",i)}registerIntegration({name:t,observable:e,buttonViewCreator:n,formViewCreator:i,requiresForm:r}){this._integrations.has(t)&&void 0,this._integrations.set(t,{observable:e,buttonViewCreator:n,formViewCreator:i,requiresForm:!!r})}_createToolbarComponent(t){const e=this.editor,n=t.t,i=this._prepareIntegrations();if(!i.length)return null;let r;const s=i[0];if(i.length==1){if(!s.requiresForm)return s.buttonViewCreator(!0);r=s.buttonViewCreator(!0)}else{const l=s.buttonViewCreator(!1);r=new Di(t,l),r.tooltip=!0,r.bind("label").to(this,"isImageSelected",d=>n(d?"Replace image":"Insert image"))}const a=this.dropdownView=ye(t,r),c=i.map(({observable:l})=>l);return a.bind("isEnabled").toMany(c,"isEnabled",(...l)=>l.some(d=>d)),a.once("change:isOpen",()=>{const l=i.map(({formViewCreator:u})=>u(i.length==1)),d=new hT(e.locale,l);a.panelView.children.add(d)}),a}_prepareIntegrations(){const e=this.editor.config.get("image.insert.integrations"),n=[];if(!e.length)return n;for(const i of e){if(!this._integrations.has(i)){["upload","assetManager","url"].includes(i)||void 0;continue}n.push(this._integrations.get(i))}return n.length||void 0,n}}var lm=P(2430),Ua={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ua.insert="head",Ua.singleton=!0,R()(lm.Z,Ua),lm.Z.locals;class fT extends L{static get requires(){return[sm,Lo,Xf,cm]}static get pluginName(){return"ImageBlock"}}class mT extends L{static get requires(){return[em,nm,Ut,rm,ke]}static get pluginName(){return"ImageInlineEditing"}init(){const t=this.editor,e=t.model.schema;e.register("imageInline",{inheritAllFrom:"$inlineObject",allowAttributes:["alt","src","srcset"]}),e.addChildCheck((n,i)=>{if(n.endsWith("caption")&&i.name==="imageInline")return!1}),this._setupConversion(),t.plugins.has("ImageBlockEditing")&&(t.commands.add("imageTypeInline",new om(this.editor,"imageInline")),this._setupClipboardIntegration())}_setupConversion(){const t=this.editor,e=t.t,n=t.conversion,i=t.plugins.get("ImageUtils");n.for("dataDowncast").elementToElement({model:"imageInline",view:(r,{writer:s})=>s.createEmptyElement("img")}),n.for("editingDowncast").elementToStructure({model:"imageInline",view:(r,{writer:s})=>i.toImageWidget(XS(s),s,e("image widget"))}),n.for("downcast").add($i(i,"imageInline","src")).add($i(i,"imageInline","alt")).add(tm(i,"imageInline")),n.for("upcast").elementToElement({view:$f(t,"imageInline"),model:(r,{writer:s})=>s.createElement("imageInline",r.hasAttribute("src")?{src:r.getAttribute("src")}:void 0)})}_setupClipboardIntegration(){const t=this.editor,e=t.model,n=t.editing.view,i=t.plugins.get("ImageUtils"),r=t.plugins.get("ClipboardPipeline");this.listenTo(r,"inputTransformation",(s,a)=>{const c=Array.from(a.content.getChildren());let l;if(!c.every(i.isBlockImageView))return;a.targetRanges?l=t.editing.mapper.toModelRange(a.targetRanges[0]):l=e.document.selection.getFirstRange();const d=e.createSelection(l);if(Oa(e.schema,d)==="imageInline"){const u=new Be(n.document),f=c.map(p=>p.childCount===1?(Array.from(p.getAttributes()).forEach(w=>u.setAttribute(...w,i.findViewImgElement(p))),p.getChild(0)):p);a.content=u.createDocumentFragment(f)}}),this.listenTo(r,"contentInsertion",(s,a)=>{a.method==="paste"&&e.change(c=>{const l=c.createRangeIn(a.content);for(const d of l.getItems())d.is("element","imageInline")&&i.setImageNaturalSizeAttributes(d)})})}}class pT extends L{static get requires(){return[mT,Lo,Xf,cm]}static get pluginName(){return"ImageInline"}}class kT extends L{static get requires(){return[fT,pT]}static get pluginName(){return"Image"}}class dm extends L{static get pluginName(){return"ImageCaptionUtils"}static get requires(){return[Ut]}getCaptionFromImageModelElement(t){for(const e of t.getChildren())if(e&&e.is("element","caption"))return e;return null}getCaptionFromModelSelection(t){const e=this.editor.plugins.get("ImageUtils"),n=t.getFirstPosition().findAncestor("caption");return n&&e.isBlockImage(n.parent)?n:null}matchImageCaptionViewElement(t){const e=this.editor.plugins.get("ImageUtils");return t.name=="figcaption"&&e.isBlockImageView(t.parent)?{name:!0}:null}}class bT extends X{refresh(){const t=this.editor,e=t.plugins.get("ImageCaptionUtils"),n=t.plugins.get("ImageUtils");if(!t.plugins.has(sm)){this.isEnabled=!1,this.value=!1;return}const i=t.model.document.selection,r=i.getSelectedElement();if(!r){const s=e.getCaptionFromModelSelection(i);this.isEnabled=!!s,this.value=!!s;return}this.isEnabled=n.isImage(r),this.isEnabled?this.value=!!e.getCaptionFromImageModelElement(r):this.value=!1}execute(t={}){const{focusCaptionOnShow:e}=t;this.editor.model.change(n=>{this.value?this._hideImageCaption(n):this._showImageCaption(n,e)})}_showImageCaption(t,e){const i=this.editor.model.document.selection,r=this.editor.plugins.get("ImageCaptionEditing"),s=this.editor.plugins.get("ImageUtils");let a=i.getSelectedElement();const c=r._getSavedCaption(a);s.isInlineImage(a)&&(this.editor.execute("imageTypeBlock"),a=i.getSelectedElement());const l=c||t.createElement("caption");t.append(l,a),e&&t.setSelection(l,"in")}_hideImageCaption(t){const e=this.editor,n=e.model.document.selection,i=e.plugins.get("ImageCaptionEditing"),r=e.plugins.get("ImageCaptionUtils");let s=n.getSelectedElement(),a;s?a=r.getCaptionFromImageModelElement(s):(a=r.getCaptionFromModelSelection(n),s=a.parent),i._saveCaption(s,a),t.setSelection(s,"on"),t.remove(a)}}class wT extends L{static get requires(){return[Ut,dm]}static get pluginName(){return"ImageCaptionEditing"}constructor(t){super(t),this._savedCaptionsMap=new WeakMap}init(){const t=this.editor,e=t.model.schema;e.isRegistered("caption")?e.extend("caption",{allowIn:"imageBlock"}):e.register("caption",{allowIn:"imageBlock",allowContentOf:"$block",isLimit:!0}),t.commands.add("toggleImageCaption",new bT(this.editor)),this._setupConversion(),this._setupImageTypeCommandsIntegration(),this._registerCaptionReconversion()}_setupConversion(){const t=this.editor,e=t.editing.view,n=t.plugins.get("ImageUtils"),i=t.plugins.get("ImageCaptionUtils"),r=t.t;t.conversion.for("upcast").elementToElement({view:s=>i.matchImageCaptionViewElement(s),model:"caption"}),t.conversion.for("dataDowncast").elementToElement({model:"caption",view:(s,{writer:a})=>n.isBlockImage(s.parent)?a.createContainerElement("figcaption"):null}),t.conversion.for("editingDowncast").elementToElement({model:"caption",view:(s,{writer:a})=>{if(!n.isBlockImage(s.parent))return null;const c=a.createEditableElement("figcaption");a.setCustomProperty("imageCaption",!0,c),c.placeholder=r("Enter image caption"),Kd({view:e,element:c,keepOnFocus:!0});const l=s.parent.getAttribute("alt"),d=l?r("Caption for image: %0",[l]):r("Caption for the image");return Af(c,a,{label:d})}})}_setupImageTypeCommandsIntegration(){const t=this.editor,e=t.plugins.get("ImageUtils"),n=t.plugins.get("ImageCaptionUtils"),i=t.commands.get("imageTypeInline"),r=t.commands.get("imageTypeBlock"),s=a=>{if(!a.return)return;const{oldElement:c,newElement:l}=a.return;if(!c)return;if(e.isBlockImage(c)){const u=n.getCaptionFromImageModelElement(c);if(u){this._saveCaption(l,u);return}}const d=this._getSavedCaption(c);d&&this._saveCaption(l,d)};i&&this.listenTo(i,"execute",s,{priority:"low"}),r&&this.listenTo(r,"execute",s,{priority:"low"})}_getSavedCaption(t){const e=this._savedCaptionsMap.get(t);return e?dt.fromJSON(e):null}_saveCaption(t,e){this._savedCaptionsMap.set(t,e.toJSON())}_registerCaptionReconversion(){const t=this.editor,e=t.model,n=t.plugins.get("ImageUtils"),i=t.plugins.get("ImageCaptionUtils");e.document.on("change:data",()=>{const r=e.document.differ.getChanges();for(const s of r){if(s.attributeKey!=="alt")continue;const a=s.range.start.nodeAfter;if(n.isBlockImage(a)){const c=i.getCaptionFromImageModelElement(a);if(!c)return;t.editing.reconvertItem(c)}}})}}class AT extends L{static get requires(){return[dm]}static get pluginName(){return"ImageCaptionUI"}init(){const t=this.editor,e=t.editing.view,n=t.plugins.get("ImageCaptionUtils"),i=t.t;t.ui.componentFactory.add("toggleImageCaption",r=>{const s=t.commands.get("toggleImageCaption"),a=new at(r);return a.set({icon:J.caption,tooltip:!0,isToggleable:!0}),a.bind("isOn","isEnabled").to(s,"value","isEnabled"),a.bind("label").to(s,"value",c=>i(c?"Toggle caption off":"Toggle caption on")),this.listenTo(a,"execute",()=>{t.execute("toggleImageCaption",{focusCaptionOnShow:!0});const c=n.getCaptionFromModelSelection(t.model.document.selection);if(c){const l=t.editing.mapper.toViewElement(c);e.scrollToTheSelection(),e.change(d=>{d.addClass("image__caption_highlighted",l)})}t.editing.view.focus()}),a})}}var um=P(2423),Ga={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ga.insert="head",Ga.singleton=!0,R()(um.Z,Ga),um.Z.locals;class CT extends L{static get requires(){return[wT,AT]}static get pluginName(){return"ImageCaption"}}class _T extends st(){constructor(){super();const t=new window.FileReader;this._reader=t,this._data=void 0,this.set("loaded",0),t.onprogress=e=>{this.loaded=e.loaded}}get error(){return this._reader.error}get data(){return this._data}read(t){const e=this._reader;return this.total=t.size,new Promise((n,i)=>{e.onload=()=>{const r=e.result;this._data=r,n(r)},e.onerror=()=>{i("error")},e.onabort=()=>{i("aborted")},this._reader.readAsDataURL(t)})}abort(){this._reader.abort()}}class gn extends L{constructor(){super(...arguments),this.loaders=new oe,this._loadersMap=new Map,this._pendingAction=null}static get pluginName(){return"FileRepository"}static get requires(){return[xi]}init(){this.loaders.on("change",()=>this._updatePendingAction()),this.set("uploaded",0),this.set("uploadTotal",null),this.bind("uploadedPercent").to(this,"uploaded",this,"uploadTotal",(t,e)=>e?t/e*100:0)}getLoader(t){return this._loadersMap.get(t)||null}createLoader(t){if(!this.createUploadAdapter)return null;const e=new hm(Promise.resolve(t),this.createUploadAdapter);return this.loaders.add(e),this._loadersMap.set(t,e),t instanceof Promise&&e.file.then(n=>{this._loadersMap.set(n,e)}).catch(()=>{}),e.on("change:uploaded",()=>{let n=0;for(const i of this.loaders)n+=i.uploaded;this.uploaded=n}),e.on("change:uploadTotal",()=>{let n=0;for(const i of this.loaders)i.uploadTotal&&(n+=i.uploadTotal);this.uploadTotal=n}),e}destroyLoader(t){const e=t instanceof hm?t:this.getLoader(t);e._destroy(),this.loaders.remove(e),this._loadersMap.forEach((n,i)=>{n===e&&this._loadersMap.delete(i)})}_updatePendingAction(){const t=this.editor.plugins.get(xi);if(this.loaders.length){if(!this._pendingAction){const e=this.editor.t,n=i=>`${e("Upload in progress")} ${parseInt(i)}%.`;this._pendingAction=t.add(n(this.uploadedPercent)),this._pendingAction.bind("message").to(this,"uploadedPercent",n)}}else t.remove(this._pendingAction),this._pendingAction=null}}class hm extends st(){constructor(t,e){super(),this.id=Vt(),this._filePromiseWrapper=this._createFilePromiseWrapper(t),this._adapter=e(this),this._reader=new _T,this.set("status","idle"),this.set("uploaded",0),this.set("uploadTotal",null),this.bind("uploadedPercent").to(this,"uploaded",this,"uploadTotal",(n,i)=>i?n/i*100:0),this.set("uploadResponse",null)}get file(){return this._filePromiseWrapper?this._filePromiseWrapper.promise.then(t=>this._filePromiseWrapper?t:null):Promise.resolve(null)}get data(){return this._reader.data}read(){if(this.status!="idle")throw new b("filerepository-read-wrong-status",this);return this.status="reading",this.file.then(t=>this._reader.read(t)).then(t=>{if(this.status!=="reading")throw this.status;return this.status="idle",t}).catch(t=>{throw t==="aborted"?(this.status="aborted","aborted"):(this.status="error",this._reader.error?this._reader.error:t)})}upload(){if(this.status!="idle")throw new b("filerepository-upload-wrong-status",this);return this.status="uploading",this.file.then(()=>this._adapter.upload()).then(t=>(this.uploadResponse=t,this.status="idle",t)).catch(t=>{throw this.status==="aborted"?"aborted":(this.status="error",t)})}abort(){const t=this.status;this.status="aborted",this._filePromiseWrapper.isFulfilled?t=="reading"?this._reader.abort():t=="uploading"&&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(t){const e={};return e.promise=new Promise((n,i)=>{e.rejecter=i,e.isFulfilled=!1,t.then(r=>{e.isFulfilled=!0,n(r)}).catch(r=>{e.isFulfilled=!0,i(r)})}),e}}class vT extends at{constructor(t){super(t),this.buttonView=this,this._fileInputView=new yT(t),this._fileInputView.bind("acceptedType").to(this),this._fileInputView.bind("allowMultipleFiles").to(this),this._fileInputView.delegate("done").to(this),this.on("execute",()=>{this._fileInputView.open()}),this.extendTemplate({attributes:{class:"ck-file-dialog-button"}})}render(){super.render(),this.children.add(this._fileInputView)}}class yT extends Z{constructor(t){super(t),this.set("acceptedType",void 0),this.set("allowMultipleFiles",!1);const e=this.bindTemplate;this.setTemplate({tag:"input",attributes:{class:["ck-hidden"],type:"file",tabindex:"-1",accept:e.to("acceptedType"),multiple:e.to("allowMultipleFiles")},on:{change:e.to(()=>{this.element&&this.element.files&&this.element.files.length&&this.fire("done",this.element.files),this.element.value=""})}})}open(){this.element.click()}}class xT extends L{static get requires(){return[gn]}static get pluginName(){return"SimpleUploadAdapter"}init(){const t=this.editor.config.get("simpleUpload");if(t){if(!t.uploadUrl){return}this.editor.plugins.get(gn).createUploadAdapter=e=>new ET(e,t)}}}class ET{constructor(t,e){this.loader=t,this.options=e}upload(){return this.loader.file.then(t=>new Promise((e,n)=>{this._initRequest(),this._initListeners(e,n,t),this._sendRequest(t)}))}abort(){this.xhr&&this.xhr.abort()}_initRequest(){const t=this.xhr=new XMLHttpRequest;t.open("POST",this.options.uploadUrl,!0),t.responseType="json"}_initListeners(t,e,n){const i=this.xhr,r=this.loader,s=`Couldn't upload file: ${n.name}.`;i.addEventListener("error",()=>e(s)),i.addEventListener("abort",()=>e()),i.addEventListener("load",()=>{const a=i.response;if(!a||a.error)return e(a&&a.error&&a.error.message?a.error.message:s);const c=a.url?{default:a.url}:a.urls;t({...a,urls:c})}),i.upload&&i.upload.addEventListener("progress",a=>{a.lengthComputable&&(r.uploadTotal=a.total,r.uploaded=a.loaded)})}_sendRequest(t){const e=this.options.headers||{},n=this.options.withCredentials||!1;for(const r of Object.keys(e))this.xhr.setRequestHeader(r,e[r]);this.xhr.withCredentials=n;const i=new FormData;i.append("upload",t),this.xhr.send(i)}}function gm(o){const t=o.map(e=>e.replace("+","\\+"));return new RegExp(`^image\\/(${t.join("|")})$`)}function DT(o){return new Promise((t,e)=>{const n=o.getAttribute("src");fetch(n).then(i=>i.blob()).then(i=>{const r=fm(i,n),a=`image.${r.replace("image/","")}`,c=new File([i],a,{type:r});t(c)}).catch(i=>i&&i.name==="TypeError"?TT(n).then(t).catch(e):e(i))})}function ST(o,t){return!o.isInlineImageView(t)||!t.getAttribute("src")?!1:!!t.getAttribute("src").match(/^data:image\/\w+;base64,/g)||!!t.getAttribute("src").match(/^blob:/g)}function fm(o,t){return o.type?o.type:t.match(/data:(image\/\w+);base64/)?t.match(/data:(image\/\w+);base64/)[1].toLowerCase():"image/jpeg"}function TT(o){return IT(o).then(t=>{const e=fm(t,o),i=`image.${e.replace("image/","")}`;return new File([t],i,{type:e})})}function IT(o){return new Promise((t,e)=>{const n=H.document.createElement("img");n.addEventListener("load",()=>{const i=H.document.createElement("canvas");i.width=n.width,i.height=n.height,i.getContext("2d").drawImage(n,0,0),i.toBlob(s=>s?t(s):e())}),n.addEventListener("error",()=>e()),n.src=o})}class MT extends L{static get pluginName(){return"ImageUploadUI"}init(){const t=this.editor,e=t.t,n=i=>{const r=new vT(i),s=t.commands.get("uploadImage"),a=t.config.get("image.upload.types"),c=gm(a);return r.set({acceptedType:a.map(l=>`image/${l}`).join(","),allowMultipleFiles:!0,label:e("Upload image from computer"),icon:J.imageUpload,tooltip:!0}),r.bind("isEnabled").to(s),r.on("done",(l,d)=>{const u=Array.from(d).filter(f=>c.test(f.type));u.length&&(t.execute("uploadImage",{file:u}),t.editing.view.focus())}),r};if(t.ui.componentFactory.add("uploadImage",n),t.ui.componentFactory.add("imageUpload",n),t.plugins.has("ImageInsertUI")){const i=t.plugins.get("ImageInsertUI"),r=t.commands.get("uploadImage");i.registerIntegration({name:"upload",observable:r,buttonViewCreator:()=>{const s=t.ui.componentFactory.create("uploadImage");return s.bind("label").to(i,"isImageSelected",a=>e(a?"Replace image from computer":"Upload image from computer")),s},formViewCreator:()=>{const s=t.ui.componentFactory.create("uploadImage");return s.withText=!0,s.bind("label").to(i,"isImageSelected",a=>e(a?"Replace from computer":"Upload from computer")),s.on("execute",()=>{i.dropdownView.isOpen=!1}),s}})}}}var mm=P(2926),Wa={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Wa.insert="head",Wa.singleton=!0,R()(mm.Z,Wa),mm.Z.locals;var pm=P(1547),qa={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};qa.insert="head",qa.singleton=!0,R()(pm.Z,qa),pm.Z.locals;var km=P(6618),Za={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Za.insert="head",Za.singleton=!0,R()(km.Z,Za),km.Z.locals;class BT extends L{static get pluginName(){return"ImageUploadProgress"}constructor(t){super(t),this.uploadStatusChange=(e,n,i)=>{const r=this.editor,s=n.item,a=s.getAttribute("uploadId");if(!i.consumable.consume(n.item,e.name))return;const c=r.plugins.get("ImageUtils"),l=r.plugins.get(gn),d=a?n.attributeNewValue:null,u=this.placeholder,f=r.editing.mapper.toViewElement(s),p=i.writer;if(d=="reading"){bm(f,p),wm(c,u,f,p);return}if(d=="uploading"){const w=l.loaders.get(a);bm(f,p),w?(Am(f,p),zT(f,p,w,r.editing.view),jT(c,f,p,w)):wm(c,u,f,p);return}d=="complete"&&l.loaders.get(a)&&PT(f,p,r.editing.view),LT(f,p),Am(f,p),NT(f,p)},this.placeholder="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="}init(){const t=this.editor;t.plugins.has("ImageBlockEditing")&&t.editing.downcastDispatcher.on("attribute:uploadStatus:imageBlock",this.uploadStatusChange),t.plugins.has("ImageInlineEditing")&&t.editing.downcastDispatcher.on("attribute:uploadStatus:imageInline",this.uploadStatusChange)}}function bm(o,t){o.hasClass("ck-appear")||t.addClass("ck-appear",o)}function NT(o,t){t.removeClass("ck-appear",o)}function wm(o,t,e,n){e.hasClass("ck-image-upload-placeholder")||n.addClass("ck-image-upload-placeholder",e);const i=o.findViewImgElement(e);i.getAttribute("src")!==t&&n.setAttribute("src",t,i),Cm(e,"placeholder")||n.insert(n.createPositionAfter(i),RT(n))}function Am(o,t){o.hasClass("ck-image-upload-placeholder")&&t.removeClass("ck-image-upload-placeholder",o),_m(o,t,"placeholder")}function zT(o,t,e,n){const i=OT(t);t.insert(t.createPositionAt(o,"end"),i),e.on("change:uploadedPercent",(r,s,a)=>{n.change(c=>{c.setStyle("width",a+"%",i)})})}function LT(o,t){_m(o,t,"progressBar")}function PT(o,t,e){const n=t.createUIElement("div",{class:"ck-image-upload-complete-icon"});t.insert(t.createPositionAt(o,"end"),n),setTimeout(()=>{e.change(i=>i.remove(i.createRangeOn(n)))},3e3)}function OT(o){const t=o.createUIElement("div",{class:"ck-progress-bar"});return o.setCustomProperty("progressBar",!0,t),t}function RT(o){const t=o.createUIElement("div",{class:"ck-upload-placeholder-loader"});return o.setCustomProperty("placeholder",!0,t),t}function Cm(o,t){for(const e of o.getChildren())if(e.getCustomProperty(t))return e}function _m(o,t,e){const n=Cm(o,e);n&&t.remove(t.createRangeOn(n))}function jT(o,t,e,n){if(n.data){const i=o.findViewImgElement(t);e.setAttribute("src",n.data,i)}}class FT extends X{refresh(){const t=this.editor,e=t.plugins.get("ImageUtils"),n=t.model.document.selection.getSelectedElement();this.isEnabled=e.isImageAllowed()||e.isImage(n)}execute(t){const e=bt(t.file),n=this.editor.model.document.selection,i=this.editor.plugins.get("ImageUtils"),r=Object.fromEntries(n.getAttributes());e.forEach((s,a)=>{const c=n.getSelectedElement();if(a&&c&&i.isImage(c)){const l=this.editor.model.createPositionAfter(c);this._uploadImage(s,r,l)}else this._uploadImage(s,r)})}_uploadImage(t,e,n){const i=this.editor,s=i.plugins.get(gn).createLoader(t),a=i.plugins.get("ImageUtils");s&&a.insertImage({...e,uploadId:s.id},n)}}class VT extends L{static get requires(){return[gn,Dg,ke,Ut]}static get pluginName(){return"ImageUploadEditing"}constructor(t){super(t),t.config.define("image",{upload:{types:["jpeg","png","gif","bmp","webp","tiff"]}}),this._uploadImageElements=new Map}init(){const t=this.editor,e=t.model.document,n=t.conversion,i=t.plugins.get(gn),r=t.plugins.get("ImageUtils"),s=t.plugins.get("ClipboardPipeline"),a=gm(t.config.get("image.upload.types")),c=new FT(t);t.commands.add("uploadImage",c),t.commands.add("imageUpload",c),n.for("upcast").attributeToAttribute({view:{name:"img",key:"uploadId"},model:"uploadId"}),this.listenTo(t.editing.view.document,"clipboardInput",(l,d)=>{if(HT(d.dataTransfer))return;const u=Array.from(d.dataTransfer.files).filter(f=>f?a.test(f.type):!1);u.length&&(l.stop(),t.model.change(f=>{d.targetRanges&&f.setSelection(d.targetRanges.map(p=>t.editing.mapper.toModelRange(p))),t.execute("uploadImage",{file:u})}))}),this.listenTo(s,"inputTransformation",(l,d)=>{const u=Array.from(t.editing.view.createRangeIn(d.content)).map(p=>p.item).filter(p=>ST(r,p)&&!p.getAttribute("uploadProcessed")).map(p=>({promise:DT(p),imageElement:p}));if(!u.length)return;const f=new Be(t.editing.view.document);for(const p of u){f.setAttribute("uploadProcessed",!0,p.imageElement);const w=i.createLoader(p.promise);w&&(f.setAttribute("src","",p.imageElement),f.setAttribute("uploadId",w.id,p.imageElement))}}),t.editing.view.document.on("dragover",(l,d)=>{d.preventDefault()}),e.on("change",()=>{const l=e.differ.getChanges({includeChangesInGraveyard:!0}).reverse(),d=new Set;for(const u of l)if(u.type=="insert"&&u.name!="$text"){const f=u.position.nodeAfter,p=u.position.root.rootName=="$graveyard";for(const w of UT(t,f)){const S=w.getAttribute("uploadId");if(!S)continue;const M=i.loaders.get(S);M&&(p?d.has(S)||M.abort():(d.add(S),this._uploadImageElements.set(S,w),M.status=="idle"&&this._readAndUpload(M)))}}}),this.on("uploadComplete",(l,{imageElement:d,data:u})=>{const f=u.urls?u.urls:u;this.editor.model.change(p=>{p.setAttribute("src",f.default,d),this._parseAndSetSrcsetAttributeOnImage(f,d,p),r.setImageNaturalSizeAttributes(d)})},{priority:"low"})}afterInit(){const t=this.editor.model.schema;this.editor.plugins.has("ImageBlockEditing")&&t.extend("imageBlock",{allowAttributes:["uploadId","uploadStatus"]}),this.editor.plugins.has("ImageInlineEditing")&&t.extend("imageInline",{allowAttributes:["uploadId","uploadStatus"]})}_readAndUpload(t){const e=this.editor,n=e.model,i=e.locale.t,r=e.plugins.get(gn),s=e.plugins.get(Dg),a=e.plugins.get("ImageUtils"),c=this._uploadImageElements;return n.enqueueChange({isUndoable:!1},d=>{d.setAttribute("uploadStatus","reading",c.get(t.id))}),t.read().then(()=>{const d=t.upload(),u=c.get(t.id);if(g.isSafari){const f=e.editing.mapper.toViewElement(u),p=a.findViewImgElement(f);e.editing.view.once("render",()=>{if(!p.parent)return;const w=e.editing.view.domConverter.mapViewToDom(p.parent);if(!w)return;const S=w.style.display;w.style.display="none",w._ckHack=w.offsetHeight,w.style.display=S})}return n.enqueueChange({isUndoable:!1},f=>{f.setAttribute("uploadStatus","uploading",u)}),d}).then(d=>{n.enqueueChange({isUndoable:!1},u=>{const f=c.get(t.id);u.setAttribute("uploadStatus","complete",f),this.fire("uploadComplete",{data:d,imageElement:f})}),l()}).catch(d=>{if(t.status!=="error"&&t.status!=="aborted")throw d;t.status=="error"&&d&&s.showWarning(d,{title:i("Upload failed"),namespace:"upload"}),n.enqueueChange({isUndoable:!1},u=>{u.remove(c.get(t.id))}),l()});function l(){n.enqueueChange({isUndoable:!1},d=>{const u=c.get(t.id);d.removeAttribute("uploadId",u),d.removeAttribute("uploadStatus",u),c.delete(t.id)}),r.destroyLoader(t)}}_parseAndSetSrcsetAttributeOnImage(t,e,n){let i=0;const r=Object.keys(t).filter(s=>{const a=parseInt(s,10);if(!isNaN(a))return i=Math.max(i,a),!0}).map(s=>`${t[s]} ${s}w`).join(", ");if(r!=""){const s={srcset:r};!e.hasAttribute("width")&&!e.hasAttribute("height")&&(s.width=i),n.setAttributes(s,e)}}}function HT(o){return Array.from(o.types).includes("text/html")&&o.getData("text/html")!==""}function UT(o,t){const e=o.plugins.get("ImageUtils");return Array.from(o.model.createRangeOn(t)).filter(n=>e.isImage(n.item)).map(n=>n.item)}class GT extends L{static get pluginName(){return"ImageUpload"}static get requires(){return[VT,MT,BT]}}class WT extends X{refresh(){const t=this.editor,n=t.plugins.get("ImageUtils").getClosestSelectedImageElement(t.model.document.selection);this.isEnabled=!!n,!n||!n.hasAttribute("resizedWidth")?this.value=null:this.value={width:n.getAttribute("resizedWidth"),height:null}}execute(t){const e=this.editor,n=e.model,i=e.plugins.get("ImageUtils"),r=i.getClosestSelectedImageElement(n.document.selection);this.value={width:t.width,height:null},r&&n.change(s=>{s.setAttribute("resizedWidth",t.width,r),s.removeAttribute("resizedHeight",r),i.setImageNaturalSizeAttributes(r)})}}class vm extends L{static get requires(){return[Ut]}static get pluginName(){return"ImageResizeEditing"}constructor(t){super(t),t.config.define("image",{resizeUnit:"%",resizeOptions:[{name:"resizeImage:original",value:null,icon:"original"},{name:"resizeImage:25",value:"25",icon:"small"},{name:"resizeImage:50",value:"50",icon:"medium"},{name:"resizeImage:75",value:"75",icon:"large"}]})}init(){const t=this.editor,e=new WT(t);this._registerSchema(),this._registerConverters("imageBlock"),this._registerConverters("imageInline"),t.commands.add("resizeImage",e),t.commands.add("imageResize",e)}_registerSchema(){this.editor.plugins.has("ImageBlockEditing")&&this.editor.model.schema.extend("imageBlock",{allowAttributes:["resizedWidth","resizedHeight"]}),this.editor.plugins.has("ImageInlineEditing")&&this.editor.model.schema.extend("imageInline",{allowAttributes:["resizedWidth","resizedHeight"]})}_registerConverters(t){const e=this.editor,n=e.plugins.get("ImageUtils");e.conversion.for("downcast").add(i=>i.on(`attribute:resizedWidth:${t}`,(r,s,a)=>{if(!a.consumable.consume(s.item,r.name))return;const c=a.writer,l=a.mapper.toViewElement(s.item);s.attributeNewValue!==null?(c.setStyle("width",s.attributeNewValue,l),c.addClass("image_resized",l)):(c.removeStyle("width",l),c.removeClass("image_resized",l))})),e.conversion.for("dataDowncast").attributeToAttribute({model:{name:t,key:"resizedHeight"},view:i=>({key:"style",value:{height:i}})}),e.conversion.for("editingDowncast").add(i=>i.on(`attribute:resizedHeight:${t}`,(r,s,a)=>{if(!a.consumable.consume(s.item,r.name))return;const c=a.writer,l=a.mapper.toViewElement(s.item),d=t==="imageInline"?n.findViewImgElement(l):l;s.attributeNewValue!==null?c.setStyle("height",s.attributeNewValue,d):c.removeStyle("height",d)})),e.conversion.for("upcast").attributeToAttribute({view:{name:t==="imageBlock"?"figure":"img",styles:{width:/.+/}},model:{key:"resizedWidth",value:i=>Zi(i)?null:i.getStyle("width")}}),e.conversion.for("upcast").attributeToAttribute({view:{name:t==="imageBlock"?"figure":"img",styles:{height:/.+/}},model:{key:"resizedHeight",value:i=>Zi(i)?null:i.getStyle("height")}})}}const $a={small:J.objectSizeSmall,medium:J.objectSizeMedium,large:J.objectSizeLarge,original:J.objectSizeFull};class qT extends L{static get requires(){return[vm]}static get pluginName(){return"ImageResizeButtons"}constructor(t){super(t),this._resizeUnit=t.config.get("image.resizeUnit")}init(){const t=this.editor,e=t.config.get("image.resizeOptions"),n=t.commands.get("resizeImage");this.bind("isEnabled").to(n);for(const i of e)this._registerImageResizeButton(i);this._registerImageResizeDropdown(e)}_registerImageResizeButton(t){const e=this.editor,{name:n,value:i,icon:r}=t,s=i?i+this._resizeUnit:null;e.ui.componentFactory.add(n,a=>{const c=new at(a),l=e.commands.get("resizeImage"),d=this._getOptionLabelValue(t,!0);if(!$a[r])throw new b("imageresizebuttons-missing-icon",e,t);return c.set({label:d,icon:$a[r],tooltip:d,isToggleable:!0}),c.bind("isEnabled").to(this),c.bind("isOn").to(l,"value",ym(s)),this.listenTo(c,"execute",()=>{e.execute("resizeImage",{width:s})}),c})}_registerImageResizeDropdown(t){const e=this.editor,n=e.t,i=t.find(s=>!s.value),r=s=>{const a=e.commands.get("resizeImage"),c=ye(s,jd),l=c.buttonView,d=n("Resize image");return l.set({tooltip:d,commandValue:i.value,icon:$a.medium,isToggleable:!0,label:this._getOptionLabelValue(i),withText:!0,class:"ck-resize-image-button",ariaLabel:d,ariaLabelledBy:void 0}),l.bind("label").to(a,"value",u=>u&&u.width?u.width:this._getOptionLabelValue(i)),c.bind("isEnabled").to(this),Gs(c,()=>this._getResizeDropdownListItemDefinitions(t,a),{ariaLabel:n("Image resize list"),role:"menu"}),this.listenTo(c,"execute",u=>{e.execute(u.source.commandName,{width:u.source.commandValue}),e.editing.view.focus()}),c};e.ui.componentFactory.add("resizeImage",r),e.ui.componentFactory.add("imageResize",r)}_getOptionLabelValue(t,e=!1){const n=this.editor.t;return t.label?t.label:e?t.value?n("Resize image to %0",t.value+this._resizeUnit):n("Resize image to the original size"):t.value?t.value+this._resizeUnit:n("Original")}_getResizeDropdownListItemDefinitions(t,e){const n=new oe;return t.map(i=>{const r=i.value?i.value+this._resizeUnit:null,s={type:"button",model:new la({commandName:"resizeImage",commandValue:r,label:this._getOptionLabelValue(i),role:"menuitemradio",withText:!0,icon:null})};s.model.bind("isOn").to(e,"value",ym(r)),n.add(s)}),n}}function ym(o){return t=>{const e=t;return o===null&&e===o?!0:e!==null&&e.width===o}}const ZT="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",Ka="image_resized";class $T extends L{static get requires(){return[Ba,Ut]}static get pluginName(){return"ImageResizeHandles"}init(){const t=this.editor.commands.get("resizeImage");this.bind("isEnabled").to(t),this._setupResizerCreator()}_setupResizerCreator(){const t=this.editor,e=t.editing.view,n=t.plugins.get("ImageUtils");e.addObserver(Fa),this.listenTo(e.document,"imageLoaded",(i,r)=>{if(!r.target.matches(ZT))return;const s=t.editing.view.domConverter,a=s.domToView(r.target),c=n.getImageWidgetFromImageView(a);let l=this.editor.plugins.get(Ba).getResizerByViewElement(c);if(l){l.redraw();return}const d=t.editing.mapper,u=d.toModelElement(c);l=t.plugins.get(Ba).attachTo({unit:t.config.get("image.resizeUnit"),modelElement:u,viewElement:c,editor:t,getHandleHost(f){return f.querySelector("img")},getResizeHost(){return s.mapViewToDom(d.toViewElement(u.parent))},isCentered(){const f=u.getAttribute("imageStyle");return!f||f=="block"||f=="alignCenter"},onCommit(f){e.change(p=>{p.removeClass(Ka,c)}),t.execute("resizeImage",{width:f})}}),l.on("updateSize",()=>{c.hasClass(Ka)||e.change(p=>{p.addClass(Ka,c)});const f=u.name==="imageInline"?a:c;f.getStyle("height")&&e.change(p=>{p.removeStyle("height",f)})}),l.bind("isEnabled").to(this)})}}var xm=P(2400),Ya={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ya.insert="head",Ya.singleton=!0,R()(xm.Z,Ya),xm.Z.locals;class KT extends L{static get requires(){return[vm,$T,qT]}static get pluginName(){return"ImageResize"}}class YT extends X{constructor(t,e){super(t),this._defaultStyles={imageBlock:!1,imageInline:!1},this._styles=new Map(e.map(n=>{if(n.isDefault)for(const i of n.modelElements)this._defaultStyles[i]=n.name;return[n.name,n]}))}refresh(){const n=this.editor.plugins.get("ImageUtils").getClosestSelectedImageElement(this.editor.model.document.selection);this.isEnabled=!!n,this.isEnabled?n.hasAttribute("imageStyle")?this.value=n.getAttribute("imageStyle"):this.value=this._defaultStyles[n.name]:this.value=!1}execute(t={}){const e=this.editor,n=e.model,i=e.plugins.get("ImageUtils");n.change(r=>{const s=t.value,{setImageSizes:a=!0}=t;let c=i.getClosestSelectedImageElement(n.document.selection);s&&this.shouldConvertImageType(s,c)&&(this.editor.execute(i.isBlockImage(c)?"imageTypeInline":"imageTypeBlock",{setImageSizes:a}),c=i.getClosestSelectedImageElement(n.document.selection)),!s||this._styles.get(s).isDefault?r.removeAttribute("imageStyle",c):r.setAttribute("imageStyle",s,c),a&&i.setImageNaturalSizeAttributes(c)})}shouldConvertImageType(t,e){return!this._styles.get(t).modelElements.includes(e.name)}}const{objectFullWidth:QT,objectInline:Em,objectLeft:Dm,objectRight:Qa,objectCenter:Ja,objectBlockLeft:Sm,objectBlockRight:Tm}=J,Ki={get inline(){return{name:"inline",title:"In line",icon:Em,modelElements:["imageInline"],isDefault:!0}},get alignLeft(){return{name:"alignLeft",title:"Left aligned image",icon:Dm,modelElements:["imageBlock","imageInline"],className:"image-style-align-left"}},get alignBlockLeft(){return{name:"alignBlockLeft",title:"Left aligned image",icon:Sm,modelElements:["imageBlock"],className:"image-style-block-align-left"}},get alignCenter(){return{name:"alignCenter",title:"Centered image",icon:Ja,modelElements:["imageBlock"],className:"image-style-align-center"}},get alignRight(){return{name:"alignRight",title:"Right aligned image",icon:Qa,modelElements:["imageBlock","imageInline"],className:"image-style-align-right"}},get alignBlockRight(){return{name:"alignBlockRight",title:"Right aligned image",icon:Tm,modelElements:["imageBlock"],className:"image-style-block-align-right"}},get block(){return{name:"block",title:"Centered image",icon:Ja,modelElements:["imageBlock"],isDefault:!0}},get side(){return{name:"side",title:"Side image",icon:Qa,modelElements:["imageBlock"],className:"image-style-side"}}},Im={full:QT,left:Sm,right:Tm,center:Ja,inlineLeft:Dm,inlineRight:Qa,inline:Em},Mm=[{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 JT(o){return(o.configuredStyles.options||[]).map(n=>eI(n)).filter(n=>nI(n,o))}function XT(o,t){return o&&t?{options:["inline","alignLeft","alignRight","alignCenter","alignBlockLeft","alignBlockRight","block","side"]}:o?{options:["block","side"]}:t?{options:["inline","alignLeft","alignRight"]}:{}}function tI(o){return o.has("ImageBlockEditing")&&o.has("ImageInlineEditing")?[...Mm]:[]}function eI(o){return typeof o=="string"?Ki[o]?o={...Ki[o]}:o={name:o}:o=oI(Ki[o.name],o),typeof o.icon=="string"&&(o.icon=Im[o.icon]||o.icon),o}function nI(o,{isBlockPluginLoaded:t,isInlinePluginLoaded:e}){const{modelElements:n,name:i}=o;if(!n||!n.length||!i)return Bm({style:o}),!1;{const r=[t?"imageBlock":null,e?"imageInline":null];if(!n.some(s=>r.includes(s)))return n.map(s=>s==="imageBlock"?"ImageBlockEditing":"ImageInlineEditing"),!1}return!0}function oI(o,t){const e={...t};for(const n in o)Object.prototype.hasOwnProperty.call(t,n)||(e[n]=o[n]);return e}function Bm(o){}const Xa={normalizeStyles:JT,getDefaultStylesConfiguration:XT,getDefaultDropdownDefinitions:tI,warnInvalidStyle:Bm,DEFAULT_OPTIONS:Ki,DEFAULT_ICONS:Im,DEFAULT_DROPDOWN_DEFINITIONS:Mm};function iI(o){return(t,e,n)=>{if(!n.consumable.consume(e.item,t.name))return;const i=Nm(e.attributeNewValue,o),r=Nm(e.attributeOldValue,o),s=n.mapper.toViewElement(e.item),a=n.writer;r&&a.removeClass(r.className,s),i&&a.addClass(i.className,s)}}function rI(o){const t={imageInline:o.filter(e=>!e.isDefault&&e.modelElements.includes("imageInline")),imageBlock:o.filter(e=>!e.isDefault&&e.modelElements.includes("imageBlock"))};return(e,n,i)=>{if(!n.modelRange)return;const r=n.viewItem,s=Lt(n.modelRange.getItems());if(s&&i.schema.checkAttribute(s,"imageStyle"))for(const a of t[s.name])i.consumable.consume(r,{classes:a.className})&&i.writer.setAttribute("imageStyle",a.name,s)}}function Nm(o,t){for(const e of t)if(e.name===o)return e}class zm extends L{static get pluginName(){return"ImageStyleEditing"}static get requires(){return[Ut]}init(){const{normalizeStyles:t,getDefaultStylesConfiguration:e}=Xa,n=this.editor,i=n.plugins.has("ImageBlockEditing"),r=n.plugins.has("ImageInlineEditing");n.config.define("image.styles",e(i,r)),this.normalizedStyles=t({configuredStyles:n.config.get("image.styles"),isBlockPluginLoaded:i,isInlinePluginLoaded:r}),this._setupConversion(i,r),this._setupPostFixer(),n.commands.add("imageStyle",new YT(n,this.normalizedStyles))}_setupConversion(t,e){const n=this.editor,i=n.model.schema,r=iI(this.normalizedStyles),s=rI(this.normalizedStyles);n.editing.downcastDispatcher.on("attribute:imageStyle",r),n.data.downcastDispatcher.on("attribute:imageStyle",r),t&&(i.extend("imageBlock",{allowAttributes:"imageStyle"}),n.data.upcastDispatcher.on("element:figure",s,{priority:"low"})),e&&(i.extend("imageInline",{allowAttributes:"imageStyle"}),n.data.upcastDispatcher.on("element:img",s,{priority:"low"}))}_setupPostFixer(){const t=this.editor,e=t.model.document,n=t.plugins.get(Ut),i=new Map(this.normalizedStyles.map(r=>[r.name,r]));e.registerPostFixer(r=>{let s=!1;for(const a of e.differ.getChanges())if(a.type=="insert"||a.type=="attribute"&&a.attributeKey=="imageStyle"){let c=a.type=="insert"?a.position.nodeAfter:a.range.start.nodeAfter;if(c&&c.is("element","paragraph")&&c.childCount>0&&(c=c.getChild(0)),!n.isImage(c))continue;const l=c.getAttribute("imageStyle");if(!l)continue;const d=i.get(l);(!d||!d.modelElements.includes(c.name))&&(r.removeAttribute("imageStyle",c),s=!0)}return s})}}var Lm=P(3534),tc={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};tc.insert="head",tc.singleton=!0,R()(Lm.Z,tc),Lm.Z.locals;class sI extends L{static get requires(){return[zm]}static get pluginName(){return"ImageStyleUI"}get localizedDefaultStylesTitles(){const t=this.editor.t;return{"Wrap text":t("Wrap text"),"Break text":t("Break text"),"In line":t("In line"),"Full size image":t("Full size image"),"Side image":t("Side image"),"Left aligned image":t("Left aligned image"),"Centered image":t("Centered image"),"Right aligned image":t("Right aligned image")}}init(){const t=this.editor.plugins,e=this.editor.config.get("image.toolbar")||[],n=t.get("ImageStyleEditing"),i=Pm(n.normalizedStyles,this.localizedDefaultStylesTitles);for(const s of i)this._createButton(s);const r=Pm([...e.filter(Ct),...Xa.getDefaultDropdownDefinitions(t)],this.localizedDefaultStylesTitles);for(const s of r)this._createDropdown(s,i)}_createDropdown(t,e){const n=this.editor.ui.componentFactory;n.add(t.name,i=>{let r;const{defaultItem:s,items:a,title:c}=t,l=a.filter(p=>e.find(({name:w})=>Om(w)===p)).map(p=>{const w=n.create(p);return p===s&&(r=w),w});a.length!==l.length&&Xa.warnInvalidStyle({dropdown:t});const d=ye(i,Di),u=d.buttonView,f=u.arrowView;return Us(d,l,{enableActiveItemFocusOnDropdownOpen:!0}),u.set({label:Rm(c,r.label),class:null,tooltip:!0}),f.unbind("label"),f.set({label:c}),u.bind("icon").toMany(l,"isOn",(...p)=>{const w=p.findIndex(rn);return w<0?r.icon:l[w].icon}),u.bind("label").toMany(l,"isOn",(...p)=>{const w=p.findIndex(rn);return Rm(c,w<0?r.label:l[w].label)}),u.bind("isOn").toMany(l,"isOn",(...p)=>p.some(rn)),u.bind("class").toMany(l,"isOn",(...p)=>p.some(rn)?"ck-splitbutton_flatten":void 0),u.on("execute",()=>{l.some(({isOn:p})=>p)?d.isOpen=!d.isOpen:r.fire("execute")}),d.bind("isEnabled").toMany(l,"isEnabled",(...p)=>p.some(rn)),this.listenTo(d,"execute",()=>{this.editor.editing.view.focus()}),d})}_createButton(t){const e=t.name;this.editor.ui.componentFactory.add(Om(e),n=>{const i=this.editor.commands.get("imageStyle"),r=new at(n);return r.set({label:t.title,icon:t.icon,tooltip:!0,isToggleable:!0}),r.bind("isEnabled").to(i,"isEnabled"),r.bind("isOn").to(i,"value",s=>s===e),r.on("execute",this._executeCommand.bind(this,e)),r})}_executeCommand(t){this.editor.execute("imageStyle",{value:t}),this.editor.editing.view.focus()}}function Pm(o,t){for(const e of o)t[e.title]&&(e.title=t[e.title]);return o}function Om(o){return`imageStyle:${o}`}function Rm(o,t){return(o?o+": ":"")+t}class aI extends L{static get requires(){return[zm,sI]}static get pluginName(){return"ImageStyle"}}class cI extends L{static get requires(){return[Hi,Ut]}static get pluginName(){return"ImageToolbar"}afterInit(){const t=this.editor,e=t.t,n=t.plugins.get(Hi),i=t.plugins.get("ImageUtils");n.register("image",{ariaLabel:e("Image toolbar"),items:lI(t.config.get("image.toolbar")||[]),getRelatedElement:r=>i.getClosestSelectedImageWidget(r)})}}function lI(o){return o.map(t=>Ct(t)?t.name:t)}class dI extends L{static get pluginName(){return"IndentEditing"}init(){const t=this.editor;t.commands.add("indent",new Gd(t)),t.commands.add("outdent",new Gd(t))}}class uI extends L{static get pluginName(){return"IndentUI"}init(){const t=this.editor,e=t.locale,n=t.t,i=e.uiLanguageDirection=="ltr"?J.indent:J.outdent,r=e.uiLanguageDirection=="ltr"?J.outdent:J.indent;this._defineButton("indent",n("Increase indent"),i),this._defineButton("outdent",n("Decrease indent"),r)}_defineButton(t,e,n){const i=this.editor;i.ui.componentFactory.add(t,r=>{const s=i.commands.get(t),a=new at(r);return a.set({label:e,icon:n,tooltip:!0}),a.bind("isEnabled").to(s,"isEnabled"),this.listenTo(a,"execute",()=>{i.execute(t),i.editing.view.focus()}),a})}}class hI extends L{static get pluginName(){return"Indent"}static get requires(){return[dI,uI]}}class gI{constructor(){this._definitions=new Set}get length(){return this._definitions.size}add(t){Array.isArray(t)?t.forEach(e=>this._definitions.add(e)):this._definitions.add(t)}getDispatcher(){return t=>{t.on("attribute:linkHref",(e,n,i)=>{if(!i.consumable.test(n.item,"attribute:linkHref")||!(n.item.is("selection")||i.schema.isInline(n.item)))return;const r=i.writer,s=r.document.selection;for(const a of this._definitions){const c=r.createAttributeElement("a",a.attributes,{priority:5});a.classes&&r.addClass(a.classes,c);for(const l in a.styles)r.setStyle(l,a.styles[l],c);r.setCustomProperty("link",!0,c),a.callback(n.attributeNewValue)?n.item.is("selection")?r.wrap(s.getFirstRange(),c):r.wrap(i.mapper.toViewRange(n.range),c):r.unwrap(i.mapper.toViewRange(n.range),c)}},{priority:"high"})}}getDispatcherForLinkedImage(){return t=>{t.on("attribute:linkHref:imageBlock",(e,n,{writer:i,mapper:r})=>{const s=r.toViewElement(n.item),a=Array.from(s.getChildren()).find(c=>c.is("element","a"));for(const c of this._definitions){const l=Se(c.attributes);if(c.callback(n.attributeNewValue)){for(const[d,u]of l)d==="class"?i.addClass(u,a):i.setAttribute(d,u,a);c.classes&&i.addClass(c.classes,a);for(const d in c.styles)i.setStyle(d,c.styles[d],a)}else{for(const[d,u]of l)d==="class"?i.removeClass(u,a):i.removeAttribute(d,a);c.classes&&i.removeClass(c.classes,a);for(const d in c.styles)i.removeStyle(d,a)}}})}}}function fI(o,t,e){var n=o.length;return e=e===void 0?n:e,!t&&e>=n?o:ou(o,t,e)}const mI=fI;var pI="\\ud800-\\udfff",kI="\\u0300-\\u036f",bI="\\ufe20-\\ufe2f",wI="\\u20d0-\\u20ff",AI=kI+bI+wI,CI="\\ufe0e\\ufe0f",_I="\\u200d",vI=RegExp("["+_I+pI+AI+CI+"]");function yI(o){return vI.test(o)}const jm=yI;function xI(o){return o.split("")}const EI=xI;var Fm="\\ud800-\\udfff",DI="\\u0300-\\u036f",SI="\\ufe20-\\ufe2f",TI="\\u20d0-\\u20ff",II=DI+SI+TI,MI="\\ufe0e\\ufe0f",BI="["+Fm+"]",ec="["+II+"]",nc="\\ud83c[\\udffb-\\udfff]",NI="(?:"+ec+"|"+nc+")",Vm="[^"+Fm+"]",Hm="(?:\\ud83c[\\udde6-\\uddff]){2}",Um="[\\ud800-\\udbff][\\udc00-\\udfff]",zI="\\u200d",Gm=NI+"?",Wm="["+MI+"]?",LI="(?:"+zI+"(?:"+[Vm,Hm,Um].join("|")+")"+Wm+Gm+")*",PI=Wm+Gm+LI,OI="(?:"+[Vm+ec+"?",ec,Hm,Um,BI].join("|")+")",RI=RegExp(nc+"(?="+nc+")|"+OI+PI,"g");function jI(o){return o.match(RI)||[]}const FI=jI;function VI(o){return jm(o)?FI(o):EI(o)}const HI=VI;function UI(o){return function(t){t=is(t);var e=jm(t)?HI(t):void 0,n=e?e[0]:t.charAt(0),i=e?mI(e,1).join(""):t.slice(1);return n[o]()+i}}var GI=UI("toUpperCase");const WI=GI,qI=/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205f\u3000]/g,ZI=/^(?:(?:https?|ftps?|mailto):|[^a-z]|[a-z+.-]+(?:[^a-z+.:-]|$))/i,$I=/^[\S]+@((?![-_])(?:[-\w\u00a1-\uffff]{0,63}[^-_]\.))+(?:[a-z\u00a1-\uffff]{2,})$/i,KI=/^((\w+:(\/{2,})?)|(\W))/i,oc="Ctrl+K";function YI(o){return o.is("attributeElement")&&!!o.getCustomProperty("link")}function qm(o,{writer:t}){const e=t.createAttributeElement("a",{href:o},{priority:5});return t.setCustomProperty("link",!0,e),e}function Zm(o){const t=String(o);return QI(t)?t:"#"}function QI(o){return!!o.replace(qI,"").match(ZI)}function JI(o,t){const e={"Open in a new tab":o("Open in a new tab"),Downloadable:o("Downloadable")};return t.forEach(n=>("label"in n&&e[n.label]&&(n.label=e[n.label]),n)),t}function XI(o){const t=[];if(o)for(const[e,n]of Object.entries(o)){const i=Object.assign({},n,{id:`link${WI(e)}`});t.push(i)}return t}function ic(o,t){return o?t.checkAttribute(o.name,"linkHref"):!1}function tM(o){return $I.test(o)}function rc(o,t){const e=tM(o)?"mailto:":t,n=!!e&&!$m(o);return o&&n?e+o:o}function $m(o){return KI.test(o)}function Km(o){window.open(o,"_blank","noopener")}class eM extends X{constructor(){super(...arguments),this.manualDecorators=new oe,this.automaticDecorators=new gI}restoreManualDecoratorStates(){for(const t of this.manualDecorators)t.value=this._getDecoratorStateFromModel(t.id)}refresh(){const t=this.editor.model,e=t.document.selection,n=e.getSelectedElement()||Lt(e.getSelectedBlocks());ic(n,t.schema)?(this.value=n.getAttribute("linkHref"),this.isEnabled=t.schema.checkAttribute(n,"linkHref")):(this.value=e.getAttribute("linkHref"),this.isEnabled=t.schema.checkAttributeInSelection(e,"linkHref"));for(const i of this.manualDecorators)i.value=this._getDecoratorStateFromModel(i.id)}execute(t,e={}){const n=this.editor.model,i=n.document.selection,r=[],s=[];for(const a in e)e[a]?r.push(a):s.push(a);n.change(a=>{if(i.isCollapsed){const c=i.getFirstPosition();if(i.hasAttribute("linkHref")){const l=Ym(i);let d=Oi(c,"linkHref",i.getAttribute("linkHref"),n);i.getAttribute("linkHref")===l&&(d=this._updateLinkContent(n,a,d,t)),a.setAttribute("linkHref",t,d),r.forEach(u=>{a.setAttribute(u,!0,d)}),s.forEach(u=>{a.removeAttribute(u,d)}),a.setSelection(a.createPositionAfter(d.end.nodeBefore))}else if(t!==""){const l=Se(i.getAttributes());l.set("linkHref",t),r.forEach(u=>{l.set(u,!0)});const{end:d}=n.insertContent(a.createText(t,l),c);a.setSelection(d)}["linkHref",...r,...s].forEach(l=>{a.removeSelectionAttribute(l)})}else{const c=n.schema.getValidRanges(i.getRanges(),"linkHref"),l=[];for(const u of i.getSelectedBlocks())n.schema.checkAttribute(u,"linkHref")&&l.push(a.createRangeOn(u));const d=l.slice();for(const u of c)this._isRangeToUpdate(u,l)&&d.push(u);for(const u of d){let f=u;if(d.length===1){const p=Ym(i);i.getAttribute("linkHref")===p&&(f=this._updateLinkContent(n,a,u,t),a.setSelection(a.createSelection(f)))}a.setAttribute("linkHref",t,f),r.forEach(p=>{a.setAttribute(p,!0,f)}),s.forEach(p=>{a.removeAttribute(p,f)})}}})}_getDecoratorStateFromModel(t){const e=this.editor.model,n=e.document.selection,i=n.getSelectedElement();return ic(i,e.schema)?i.getAttribute(t):n.getAttribute(t)}_isRangeToUpdate(t,e){for(const n of e)if(n.containsRange(t))return!1;return!0}_updateLinkContent(t,e,n,i){const r=e.createText(i,{linkHref:i});return t.insertContent(r,n)}}function Ym(o){if(o.isCollapsed){const t=o.getFirstPosition();return t.textNode&&t.textNode.data}else{const t=Array.from(o.getFirstRange().getItems());if(t.length>1)return null;const e=t[0];return e.is("$text")||e.is("$textProxy")?e.data:null}}class nM extends X{refresh(){const t=this.editor.model,e=t.document.selection,n=e.getSelectedElement();ic(n,t.schema)?this.isEnabled=t.schema.checkAttribute(n,"linkHref"):this.isEnabled=t.schema.checkAttributeInSelection(e,"linkHref")}execute(){const t=this.editor,e=this.editor.model,n=e.document.selection,i=t.commands.get("link");e.change(r=>{const s=n.isCollapsed?[Oi(n.getFirstPosition(),"linkHref",n.getAttribute("linkHref"),e)]:e.schema.getValidRanges(n.getRanges(),"linkHref");for(const a of s)if(r.removeAttribute("linkHref",a),i)for(const c of i.manualDecorators)r.removeAttribute(c.id,a)})}}class oM extends st(){constructor({id:t,label:e,attributes:n,classes:i,styles:r,defaultValue:s}){super(),this.id=t,this.set("value",void 0),this.defaultValue=s,this.label=e,this.attributes=n,this.classes=i,this.styles=r}_createPattern(){return{attributes:this.attributes,classes:this.classes,styles:this.styles}}}var Qm=P(3925),sc={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};sc.insert="head",sc.singleton=!0,R()(Qm.Z,sc),Qm.Z.locals;const iM="ck-link_selected",Jm="automatic",rM="manual",sM=/^(https?:)?\/\//;class Xm extends L{static get pluginName(){return"LinkEditing"}static get requires(){return[Jg,Wg,ke]}constructor(t){super(t),t.config.define("link",{allowCreatingEmptyLinks:!1,addTargetToExternalLinks:!1})}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:"linkHref"}),t.conversion.for("dataDowncast").attributeToElement({model:"linkHref",view:qm}),t.conversion.for("editingDowncast").attributeToElement({model:"linkHref",view:(i,r)=>qm(Zm(i),r)}),t.conversion.for("upcast").elementToAttribute({view:{name:"a",attributes:{href:!0}},model:{key:"linkHref",value:i=>i.getAttribute("href")}}),t.commands.add("link",new eM(t)),t.commands.add("unlink",new nM(t));const e=JI(t.t,XI(t.config.get("link.decorators")));this._enableAutomaticDecorators(e.filter(i=>i.mode===Jm)),this._enableManualDecorators(e.filter(i=>i.mode===rM)),t.plugins.get(Jg).registerAttribute("linkHref"),l4(t,"linkHref","a",iM),this._enableLinkOpen(),this._enableSelectionAttributesFixer(),this._enableClipboardIntegration()}_enableAutomaticDecorators(t){const e=this.editor,i=e.commands.get("link").automaticDecorators;e.config.get("link.addTargetToExternalLinks")&&i.add({id:"linkIsExternal",mode:Jm,callback:r=>!!r&&sM.test(r),attributes:{target:"_blank",rel:"noopener noreferrer"}}),i.add(t),i.length&&e.conversion.for("downcast").add(i.getDispatcher())}_enableManualDecorators(t){if(!t.length)return;const e=this.editor,i=e.commands.get("link").manualDecorators;t.forEach(r=>{e.model.schema.extend("$text",{allowAttributes:r.id});const s=new oM(r);i.add(s),e.conversion.for("downcast").attributeToElement({model:s.id,view:(a,{writer:c,schema:l},{item:d})=>{if((d.is("selection")||l.isInline(d))&&a){const u=c.createAttributeElement("a",s.attributes,{priority:5});s.classes&&c.addClass(s.classes,u);for(const f in s.styles)c.setStyle(f,s.styles[f],u);return c.setCustomProperty("link",!0,u),u}}}),e.conversion.for("upcast").elementToAttribute({view:{name:"a",...s._createPattern()},model:{key:s.id}})})}_enableLinkOpen(){const t=this.editor,n=t.editing.view.document;this.listenTo(n,"click",(i,r)=>{if(!(g.isMac?r.domEvent.metaKey:r.domEvent.ctrlKey))return;let a=r.domTarget;if(a.tagName.toLowerCase()!="a"&&(a=a.closest("a")),!a)return;const c=a.getAttribute("href");c&&(i.stop(),r.preventDefault(),Km(c))},{context:"$capture"}),this.listenTo(n,"keydown",(i,r)=>{const a=t.commands.get("link").value;a&&r.keyCode===et.enter&&r.altKey&&(i.stop(),Km(a))})}_enableSelectionAttributesFixer(){const e=this.editor.model,n=e.document.selection;this.listenTo(n,"change:attribute",(i,{attributeKeys:r})=>{!r.includes("linkHref")||n.hasAttribute("linkHref")||e.change(s=>{aM(s,cM(e.schema))})})}_enableClipboardIntegration(){const t=this.editor,e=t.model,n=this.editor.config.get("link.defaultProtocol");n&&this.listenTo(t.plugins.get("ClipboardPipeline"),"contentInsertion",(i,r)=>{e.change(s=>{const a=s.createRangeIn(r.content);for(const c of a.getItems())if(c.hasAttribute("linkHref")){const l=rc(c.getAttribute("linkHref"),n);s.setAttribute("linkHref",l,c)}})})}}function aM(o,t){o.removeSelectionAttribute("linkHref");for(const e of t)o.removeSelectionAttribute(e)}function cM(o){return o.getDefinition("$text").allowAttributes.filter(e=>e.startsWith("link"))}var tp=P(4874),ac={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};ac.insert="head",ac.singleton=!0,R()(tp.Z,ac),tp.Z.locals;class lM extends Z{constructor(t,e){super(t),this.focusTracker=new Pt,this.keystrokes=new Gt,this._focusables=new ie;const n=t.t;this.urlInputView=this._createUrlInput(),this.saveButtonView=this._createButton(n("Save"),J.check,"ck-button-save"),this.saveButtonView.type="submit",this.cancelButtonView=this._createButton(n("Cancel"),J.cancel,"ck-button-cancel","cancel"),this._manualDecoratorSwitches=this._createManualDecoratorSwitches(e),this.children=this._createFormChildren(e.manualDecorators),this._focusCycler=new se({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}});const i=["ck","ck-link-form","ck-responsive-form"];e.manualDecorators.length&&i.push("ck-link-form_layout-vertical","ck-vertical-form"),this.setTemplate({tag:"form",attributes:{class:i,tabindex:"-1"},children:this.children})}getDecoratorSwitchesState(){return Array.from(this._manualDecoratorSwitches).reduce((t,e)=>(t[e.name]=e.isOn,t),{})}render(){super.render(),h({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 t=this.locale.t,e=new si(this.locale,Si);return e.label=t("Link URL"),e}_createButton(t,e,n,i){const r=new at(this.locale);return r.set({label:t,icon:e,tooltip:!0}),r.extendTemplate({attributes:{class:n}}),i&&r.delegate("execute").to(this,i),r}_createManualDecoratorSwitches(t){const e=this.createCollection();for(const n of t.manualDecorators){const i=new ri(this.locale);i.set({name:n.id,label:n.label,withText:!0}),i.bind("isOn").toMany([n,t],"value",(r,s)=>s===void 0&&r===void 0?!!n.defaultValue:!!r),i.on("execute",()=>{n.set("value",!i.isOn)}),e.add(i)}return e}_createFormChildren(t){const e=this.createCollection();if(e.add(this.urlInputView),t.length){const n=new Z;n.setTemplate({tag:"ul",children:this._manualDecoratorSwitches.map(i=>({tag:"li",children:[i],attributes:{class:["ck","ck-list__item"]}})),attributes:{class:["ck","ck-reset","ck-list"]}}),e.add(n)}return e.add(this.saveButtonView),e.add(this.cancelButtonView),e}}var ep=P(7536),cc={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};cc.insert="head",cc.singleton=!0,R()(ep.Z,cc),ep.Z.locals;const dM='';class uM extends Z{constructor(t){super(t),this.focusTracker=new Pt,this.keystrokes=new Gt,this._focusables=new ie;const e=t.t;this.previewButtonView=this._createPreviewButton(),this.unlinkButtonView=this._createButton(e("Unlink"),dM,"unlink"),this.editButtonView=this._createButton(e("Edit link"),J.pencil,"edit"),this.set("href",void 0),this._focusCycler=new se({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(t,e,n){const i=new at(this.locale);return i.set({label:t,icon:e,tooltip:!0}),i.delegate("execute").to(this,n),i}_createPreviewButton(){const t=new at(this.locale),e=this.bindTemplate,n=this.t;return t.set({withText:!0,tooltip:n("Open link in new tab")}),t.extendTemplate({attributes:{class:["ck","ck-link-actions__preview"],href:e.to("href",i=>i&&Zm(i)),target:"_blank",rel:"noopener noreferrer"}}),t.bind("label").to(this,"href",i=>i||n("This link has no URL")),t.bind("isEnabled").to(this,"href",i=>!!i),t.template.tag="a",t.template.eventListeners={},t}}const hM='',xe="link-ui";class gM extends L{constructor(){super(...arguments),this.actionsView=null,this.formView=null}static get requires(){return[Ni]}static get pluginName(){return"LinkUI"}init(){const t=this.editor;t.editing.view.addObserver(wE),this._balloon=t.plugins.get(Ni),this._createToolbarLinkButton(),this._enableBalloonActivators(),t.conversion.for("editingDowncast").markerToHighlight({model:xe,view:{classes:["ck-fake-link-selection"]}}),t.conversion.for("editingDowncast").markerToElement({model:xe,view:{name:"span",classes:["ck-fake-link-selection","ck-fake-link-selection_collapsed"]}})}destroy(){super.destroy(),this.formView&&this.formView.destroy(),this.actionsView&&this.actionsView.destroy()}_createViews(){this.actionsView=this._createActionsView(),this.formView=this._createFormView(),this._enableUserBalloonInteractions()}_createActionsView(){const t=this.editor,e=new uM(t.locale),n=t.commands.get("link"),i=t.commands.get("unlink");return e.bind("href").to(n,"value"),e.editButtonView.bind("isEnabled").to(n),e.unlinkButtonView.bind("isEnabled").to(i),this.listenTo(e,"edit",()=>{this._addFormView()}),this.listenTo(e,"unlink",()=>{t.execute("unlink"),this._hideUI()}),e.keystrokes.set("Esc",(r,s)=>{this._hideUI(),s()}),e.keystrokes.set(oc,(r,s)=>{this._addFormView(),s()}),e}_createFormView(){const t=this.editor,e=t.commands.get("link"),n=t.config.get("link.defaultProtocol"),i=t.config.get("link.allowCreatingEmptyLinks"),r=new(x(lM))(t.locale,e);return r.urlInputView.fieldView.bind("value").to(e,"value"),r.urlInputView.bind("isEnabled").to(e,"isEnabled"),r.saveButtonView.bind("isEnabled").to(e,"isEnabled",r.urlInputView,"isEmpty",(s,a)=>s&&(i||!a)),this.listenTo(r,"submit",()=>{const{value:s}=r.urlInputView.fieldView.element,a=rc(s,n);t.execute("link",a,r.getDecoratorSwitchesState()),this._closeFormView()}),this.listenTo(r,"cancel",()=>{this._closeFormView()}),r.keystrokes.set("Esc",(s,a)=>{this._closeFormView(),a()}),r}_createToolbarLinkButton(){const t=this.editor,e=t.commands.get("link"),n=t.t;t.ui.componentFactory.add("link",i=>{const r=new at(i);return r.isEnabled=!0,r.label=n("Link"),r.icon=hM,r.keystroke=oc,r.tooltip=!0,r.isToggleable=!0,r.bind("isEnabled").to(e,"isEnabled"),r.bind("isOn").to(e,"value",s=>!!s),this.listenTo(r,"execute",()=>this._showUI(!0)),r})}_enableBalloonActivators(){const t=this.editor,e=t.editing.view.document;this.listenTo(e,"click",()=>{this._getSelectedLinkElement()&&this._showUI()}),t.keystrokes.set(oc,(n,i)=>{i(),t.commands.get("link").isEnabled&&this._showUI(!0)})}_enableUserBalloonInteractions(){this.editor.keystrokes.set("Tab",(t,e)=>{this._areActionsVisible&&!this.actionsView.focusTracker.isFocused&&(this.actionsView.focus(),e())},{priority:"high"}),this.editor.keystrokes.set("Esc",(t,e)=>{this._isUIVisible&&(this._hideUI(),e())}),C({emitter:this.formView,activator:()=>this._isUIInPanel,contextElements:()=>[this._balloon.view.element],callback:()=>this._hideUI()})}_addActionsView(){this.actionsView||this._createViews(),!this._areActionsInPanel&&this._balloon.add({view:this.actionsView,position:this._getBalloonPositionData()})}_addFormView(){if(this.formView||this._createViews(),this._isFormInPanel)return;const e=this.editor.commands.get("link");this.formView.disableCssTransitions(),this._balloon.add({view:this.formView,position:this._getBalloonPositionData()}),this.formView.urlInputView.fieldView.value=e.value||"",this._balloon.visibleView===this.formView&&this.formView.urlInputView.fieldView.select(),this.formView.enableCssTransitions()}_closeFormView(){const t=this.editor.commands.get("link");t.restoreManualDecoratorStates(),t.value!==void 0?this._removeFormView():this._hideUI()}_removeFormView(){this._isFormInPanel&&(this.formView.saveButtonView.focus(),this.formView.urlInputView.fieldView.reset(),this._balloon.remove(this.formView),this.editor.editing.view.focus(),this._hideFakeVisualSelection())}_showUI(t=!1){this.formView||this._createViews(),this._getSelectedLinkElement()?(this._areActionsVisible?this._addFormView():this._addActionsView(),t&&this._balloon.showStack("main")):(this._showFakeVisualSelection(),this._addActionsView(),t&&this._balloon.showStack("main"),this._addFormView()),this._startUpdatingUI()}_hideUI(){if(!this._isUIInPanel)return;const t=this.editor;this.stopListening(t.ui,"update"),this.stopListening(this._balloon,"change:visibleView"),t.editing.view.focus(),this._removeFormView(),this._balloon.remove(this.actionsView),this._hideFakeVisualSelection()}_startUpdatingUI(){const t=this.editor,e=t.editing.view.document;let n=this._getSelectedLinkElement(),i=s();const r=()=>{const a=this._getSelectedLinkElement(),c=s();n&&!a||!n&&c!==i?this._hideUI():this._isUIVisible&&this._balloon.updatePosition(this._getBalloonPositionData()),n=a,i=c};function s(){return e.selection.focus.getAncestors().reverse().find(a=>a.is("element"))}this.listenTo(t.ui,"update",r),this.listenTo(this._balloon,"change:visibleView",r)}get _isFormInPanel(){return!!this.formView&&this._balloon.hasView(this.formView)}get _areActionsInPanel(){return!!this.actionsView&&this._balloon.hasView(this.actionsView)}get _areActionsVisible(){return!!this.actionsView&&this._balloon.visibleView===this.actionsView}get _isUIInPanel(){return this._isFormInPanel||this._areActionsInPanel}get _isUIVisible(){const t=this._balloon.visibleView;return!!this.formView&&t==this.formView||this._areActionsVisible}_getBalloonPositionData(){const t=this.editor.editing.view,e=this.editor.model,n=t.document;let i;if(e.markers.has(xe)){const r=Array.from(this.editor.editing.mapper.markerNameToElements(xe)),s=t.createRange(t.createPositionBefore(r[0]),t.createPositionAfter(r[r.length-1]));i=t.domConverter.viewRangeToDom(s)}else i=()=>{const r=this._getSelectedLinkElement();return r?t.domConverter.mapViewToDom(r):t.domConverter.viewRangeToDom(n.selection.getFirstRange())};return{target:i}}_getSelectedLinkElement(){const t=this.editor.editing.view,e=t.document.selection,n=e.getSelectedElement();if(e.isCollapsed||n&&Tt(n))return lc(e.getFirstPosition());{const i=e.getFirstRange().getTrimmed(),r=lc(i.start),s=lc(i.end);return!r||r!=s?null:t.createRangeIn(r).getTrimmed().isEqual(i)?r:null}}_showFakeVisualSelection(){const t=this.editor.model;t.change(e=>{const n=t.document.selection.getFirstRange();if(t.markers.has(xe))e.updateMarker(xe,{range:n});else if(n.start.isAtEnd){const i=n.start.getLastMatchingPosition(({item:r})=>!t.schema.isContent(r),{boundaries:n});e.addMarker(xe,{usingOperation:!1,affectsData:!1,range:e.createRange(i,n.end)})}else e.addMarker(xe,{usingOperation:!1,affectsData:!1,range:n})})}_hideFakeVisualSelection(){const t=this.editor.model;t.markers.has(xe)&&t.change(e=>{e.removeMarker(xe)})}}function lc(o){return o.getAncestors().find(t=>YI(t))||null}const fM=4,np=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"),mM=2;class pM extends L{static get requires(){return[ze,Xm]}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(),this._enablePasteLinking()}_expandLinkRange(t,e){return e.textNode&&e.textNode.hasAttribute("linkHref")?Oi(e,"linkHref",e.textNode.getAttribute("linkHref"),t):null}_selectEntireLinks(t,e){const i=this.editor.model,r=i.document.selection,s=r.getFirstPosition(),a=r.getLastPosition();let c=e.getJoined(this._expandLinkRange(i,s)||e);c&&(c=c.getJoined(this._expandLinkRange(i,a)||e)),c&&(c.start.isBefore(s)||c.end.isAfter(a))&&t.setSelection(c)}_enablePasteLinking(){const t=this.editor,e=t.model,n=e.document.selection,i=t.plugins.get("ClipboardPipeline"),r=t.commands.get("link");i.on("inputTransformation",(s,a)=>{if(!this.isEnabled||!r.isEnabled||n.isCollapsed||n.rangeCount>1)return;const c=n.getFirstRange(),l=a.dataTransfer.getData("text/plain");if(!l)return;const d=l.match(np);d&&d[2]===l&&(e.change(u=>{this._selectEntireLinks(u,c),r.execute(l)}),s.stop())},{priority:"high"})}_enableTypingHandling(){const t=this.editor,e=new Qg(t.model,n=>{if(!kM(n))return;const i=op(n.substr(0,n.length-1));if(i)return{url:i}});e.on("matched:data",(n,i)=>{const{batch:r,range:s,url:a}=i;if(!r.isTyping)return;const c=s.end.getShiftedBy(-1),l=c.getShiftedBy(-a.length),d=t.model.createRange(l,c);this._applyAutoLink(a,d)}),e.bind("isEnabled").to(this)}_enableEnterHandling(){const t=this.editor,e=t.model,n=t.commands.get("enter");n&&n.on("execute",()=>{const i=e.document.selection.getFirstPosition();if(!i.parent.previousSibling)return;const r=e.createRangeIn(i.parent.previousSibling);this._checkAndApplyAutoLinkOnRange(r)})}_enableShiftEnterHandling(){const t=this.editor,e=t.model,n=t.commands.get("shiftEnter");n&&n.on("execute",()=>{const i=e.document.selection.getFirstPosition(),r=e.createRange(e.createPositionAt(i.parent,0),i.getShiftedBy(-1));this._checkAndApplyAutoLinkOnRange(r)})}_checkAndApplyAutoLinkOnRange(t){const e=this.editor.model,{text:n,range:i}=Yg(t,e),r=op(n);if(r){const s=e.createRange(i.end.getShiftedBy(-r.length),i.end);this._applyAutoLink(r,s)}}_applyAutoLink(t,e){const n=this.editor.model,i=this.editor.config.get("link.defaultProtocol"),r=rc(t,i);!this.isEnabled||!bM(e,n)||!$m(r)||wM(e)||this._persistAutoLink(r,e)}_persistAutoLink(t,e){const n=this.editor.model,i=this.editor.plugins.get("Delete");n.enqueueChange(r=>{r.setAttribute("linkHref",t,e),n.enqueueChange(()=>{i.requestUndoOnBackspace()})})}}function kM(o){return o.length>fM&&o[o.length-1]===" "&&o[o.length-2]!==" "}function op(o){const t=np.exec(o);return t?t[mM]:null}function bM(o,t){return t.schema.checkAttributeInSelection(t.createSelection(o),"linkHref")}function wM(o){const t=o.start.nodeAfter;return!!t&&t.hasAttribute("linkHref")}class AM extends L{static get requires(){return[Xm,gM,pM]}static get pluginName(){return"Link"}}var ip=P(4330),dc={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};dc.insert="head",dc.singleton=!0,R()(ip.Z,dc),ip.Z.locals;class de{constructor(t,e){this._startElement=t,this._referenceIndent=t.getAttribute("listIndent"),this._isForward=e.direction=="forward",this._includeSelf=!!e.includeSelf,this._sameAttributes=bt(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 Lt(i)}*[Symbol.iterator](){const t=[];for(const{node:e}of Po(this._getStartNode(),this._isForward?"forward":"backward")){const n=e.getAttribute("listIndent");if(nthis._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(i=>e.getAttribute(i)!==this._startElement.getAttribute(i)))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*Po(o,t="forward"){const e=t=="forward",n=[];let i=null;for(;Nt(o);){let r=null;if(i){const s=o.getAttribute("listIndent"),a=i.getAttribute("listIndent");s>a?n[a]=i:ss.getAttribute("listIndent"))),r=new Map;for(const s of e)r.set(s,de.first(s,{lowerIndent:!0}));for(const s of e){if(n.has(s))continue;n.add(s);const a=s.getAttribute("listIndent")-1;if(a<0){Yi(s,t);continue}if(s.getAttribute("listIndent")==i){const c=EM(s,r.get(s),t);for(const l of c)n.add(l);if(c.length)continue}t.setAttribute("listIndent",a,s)}return mn(n)}function Yi(o,t){o=bt(o);for(const e of o)e.is("element","listItem")&&t.rename(e,"paragraph");for(const e of o)for(const n of e.getAttributeKeys())n.startsWith("list")&&t.removeAttribute(n,e);return o}function Ro(o){if(!o.length)return!1;const t=o[0].getAttribute("listItemId");return t?!o.some(e=>e.getAttribute("listItemId")!=t):!1}function xM(o,t){const e=[];let n=Number.POSITIVE_INFINITY;for(const{node:i}of Po(o.nextSibling,"forward")){const r=i.getAttribute("listIndent");if(r==0)break;rt.root.rootName!=="$graveyard").sort((t,e)=>t.index-e.index)}function jo(o){const t=o.document.selection.getSelectedElement();return t&&o.schema.isObject(t)&&o.schema.isBlock(t)?t:null}function mc(o,t){return t.checkChild(o.parent,"listItem")&&t.checkChild(o,"$text")&&!t.isObject(o)}function EM(o,t,e){return Ze(t,{direction:"forward"}).pop().index>o.index?gc(o,t,e):[]}class ap extends X{constructor(t,e){super(t),this._direction=e}refresh(){this.isEnabled=this._checkEnabled()}execute(){const t=this.editor.model,e=cp(t.document.selection);t.change(n=>{const i=[];Ro(e)&&!fn(e[0])?(this._direction=="forward"&&i.push(...fc(e,n)),i.push(...hc(e[0],n))):this._direction=="forward"?i.push(...fc(e,n,{expand:!0})):i.push(...yM(e,n));for(const r of i){if(!r.hasAttribute("listType"))continue;const s=de.first(r,{sameIndent:!0});s&&n.setAttribute("listType",s.getAttribute("listType"),r)}this._fireAfterExecute(i)})}_fireAfterExecute(t){this.fire("afterExecute",mn(new Set(t)))}_checkEnabled(){let t=cp(this.editor.model.document.selection),e=t[0];if(!e)return!1;if(this._direction=="backward"||Ro(t)&&!fn(t[0]))return!0;t=Oo(t),e=t[0];const n=de.first(e,{sameIndent:!0});return n?n.getAttribute("listType")==e.getAttribute("listType"):!1}}function cp(o){const t=Array.from(o.getSelectedBlocks()),e=t.findIndex(n=>!Nt(n));return e!=-1&&(t.length=e),t}class lp extends X{constructor(t,e){super(t),this.type=e}refresh(){this.value=this._getValue(),this.isEnabled=this._checkEnabled()}execute(t={}){const e=this.editor.model,n=e.document,i=jo(e),r=Array.from(n.selection.getSelectedBlocks()).filter(a=>e.schema.checkAttribute(a,"listType")||mc(a,e.schema)),s=t.forceValue!==void 0?!t.forceValue:this.value;e.change(a=>{if(s){const c=r[r.length-1],l=Ze(c,{direction:"forward"}),d=[];l.length>1&&d.push(...hc(l[1],a)),d.push(...Yi(r,a)),d.push(...xM(c,a)),this._fireAfterExecute(d)}else if((i||n.selection.isCollapsed)&&Nt(r[0])){const c=rp(i||r[0]);for(const l of c)a.setAttribute("listType",this.type,l);this._fireAfterExecute(c)}else{const c=[];for(const l of r)if(!l.hasAttribute("listType"))!l.is("element","listItem")&&mc(l,e.schema)&&a.rename(l,"listItem"),a.setAttributes({listIndent:0,listItemId:Zn.next(),listType:this.type},l),c.push(l);else for(const d of Oo(l,{withNested:!1}))d.getAttribute("listType")!=this.type&&(a.setAttribute("listType",this.type,d),c.push(d));this._fireAfterExecute(c)}})}_fireAfterExecute(t){this.fire("afterExecute",mn(new Set(t)))}_getValue(){const t=this.editor.model.document.selection,e=Array.from(t.getSelectedBlocks());if(!e.length)return!1;for(const n of e)if(n.getAttribute("listType")!=this.type)return!1;return!0}_checkEnabled(){const t=this.editor.model,e=t.schema,n=t.document.selection,i=Array.from(n.getSelectedBlocks());if(!i.length)return!1;if(this.value)return!0;for(const r of i)if(e.checkAttribute(r,"listType")||mc(r,e))return!0;return!1}}class dp extends X{constructor(t,e){super(t),this._direction=e}refresh(){this.isEnabled=this._checkEnabled()}execute({shouldMergeOnBlocksContentLevel:t=!1}={}){const e=this.editor.model,n=e.document.selection,i=[];e.change(r=>{const{firstElement:s,lastElement:a}=this._getMergeSubjectElements(n,t),c=s.getAttribute("listIndent")||0,l=a.getAttribute("listIndent"),d=a.getAttribute("listItemId");if(c!=l){const u=_M(a);i.push(...fc([a,...u],r,{indentBy:c-l,expand:c{const n=hc(this._getStartBlock(),e);this._fireAfterExecute(n)})}_fireAfterExecute(t){this.fire("afterExecute",mn(new Set(t)))}_checkEnabled(){const t=this.editor.model.document.selection,e=this._getStartBlock();return t.isCollapsed&&Nt(e)&&!fn(e)}_getStartBlock(){const e=this.editor.model.document.selection.getFirstPosition().parent;return this._direction=="before"?e:e.nextSibling}}class DM extends L{static get pluginName(){return"ListUtils"}expandListBlocksToCompleteList(t){return vM(t)}isFirstBlockOfListItem(t){return fn(t)}isListItemBlock(t){return Nt(t)}expandListBlocksToCompleteItems(t,e={}){return Oo(t,e)}}function hp(o){return o.is("element","ol")||o.is("element","ul")}function Qi(o){return o.is("element","li")}function SM(o){let t=0,e=o.parent;for(;e;){if(Qi(e))t++;else{const n=e.previousSibling;n&&Qi(n)&&t++}e=e.parent}return t}function TM(o,t,e,n=fp(e,t)){return o.createAttributeElement(gp(e),null,{priority:2*t/100-100,id:n})}function IM(o,t,e){return o.createAttributeElement("li",null,{priority:(2*t+1)/100-100,id:e})}function gp(o){return o=="numbered"?"ol":"ul"}function fp(o,t){return`list-${o}-${t}`}function be(o,t){const e=o.nodeBefore;if(Nt(e)){let n=e;for(const{node:i}of Po(n,"backward"))if(n=i,t.has(n))return;t.set(e,n)}else{const n=o.nodeAfter;Nt(n)&&t.set(n,n)}}function MM(o,t){let e=0,n=-1,i=null,r=!1;for(const{node:s}of o){const a=s.getAttribute("listIndent");if(a>e){let c;i===null?(i=a-e,c=e):(i>a&&(i=a),c=a-i),c>n+1&&(c=n+1),t.setAttribute("listIndent",c,s),r=!0,n=c}else i=null,e=a+1,n=a}return r}function BM(o,t,e){const n=new Set;let i=!1;for(const{node:r}of o){if(n.has(r))continue;let s=r.getAttribute("listType"),a=r.getAttribute("listItemId");if(t.has(a)&&(a=Zn.next()),t.add(a),r.is("element","listItem")){r.getAttribute("listItemId")!=a&&(e.setAttribute("listItemId",a,r),i=!0);continue}for(const c of Ze(r,{direction:"forward"}))n.add(c),c.getAttribute("listType")!=s&&(a=Zn.next(),s=c.getAttribute("listType")),c.getAttribute("listItemId")!=a&&(e.setAttribute("listItemId",a,c),i=!0)}return i}function NM(){return(o,t,e)=>{const{writer:n,schema:i}=e;if(!t.modelRange)return;const r=Array.from(t.modelRange.getItems({shallow:!0})).filter(u=>i.checkAttribute(u,"listItemId"));if(!r.length)return;const s=Zn.next(),a=SM(t.viewItem);let c=t.viewItem.parent&&t.viewItem.parent.is("element","ol")?"numbered":"bulleted";const l=r[0].getAttribute("listType");l&&(c=l);const d={listItemId:s,listIndent:a,listType:c};for(const u of r)u.hasAttribute("listItemId")||n.setAttributes(d,u);r.length>1&&r[1].getAttribute("listItemId")!=d.listItemId&&e.keepEmptyElement(r[0])}}function mp(){return(o,t,e)=>{if(!e.consumable.test(t.viewItem,{name:!0}))return;const n=new Be(t.viewItem.document);for(const i of Array.from(t.viewItem.getChildren()))!Qi(i)&&!hp(i)&&n.remove(i)}}function zM(o,t,e,n){return()=>{const a=o.document.differ.getChanges(),c=[],l=new Map,d=new Set;for(const u of a)if(u.type=="insert"&&u.name!="$text")be(u.position,l),u.attributes.has("listItemId")?d.add(u.position.nodeAfter):be(u.position.getShiftedBy(u.length),l);else if(u.type=="remove"&&u.attributes.has("listItemId"))be(u.position,l);else if(u.type=="attribute"){const f=u.range.start.nodeAfter;e.includes(u.attributeKey)?(be(u.range.start,l),u.attributeNewValue===null?(be(u.range.start.getShiftedBy(1),l),r(f)&&c.push(f)):d.add(f)):Nt(f)&&r(f)&&c.push(f)}for(const u of l.values())c.push(...i(u,d));for(const u of new Set(c))t.reconvertItem(u)};function i(a,c){const l=[],d=new Set,u=[];for(const{node:f,previous:p}of Po(a,"forward")){if(d.has(f))continue;const w=f.getAttribute("listIndent");p&&we.includes(M)));const S=Ze(f,{direction:"forward"});for(const M of S)d.add(M),(r(M,S)||s(M,u,c))&&l.push(M)}return l}function r(a,c){const l=t.mapper.toViewElement(a);if(!l)return!1;if(n.fire("checkElement",{modelElement:a,viewElement:l}))return!0;if(!a.is("element","paragraph")&&!a.is("element","listItem"))return!1;const u=bp(a,e,c);return u&&l.is("element","p")?!0:!!(!u&&l.is("element","span"))}function s(a,c,l){if(l.has(a))return!1;const d=t.mapper.toViewElement(a);let u=c.length-1;for(let f=d.parent;!f.is("editableElement");f=f.parent){const p=Qi(f),w=hp(f);if(!w&&!p)continue;const S=`checkAttributes:${p?"item":"list"}`;if(n.fire(S,{viewElement:f,modelAttributes:c[u]}))break;if(w&&(u--,u<0))return!1}return!0}}function pp(o,t,e,{dataPipeline:n}={}){const i=FM(o);return(r,s,a)=>{const{writer:c,mapper:l,consumable:d}=a,u=s.item;if(!o.includes(s.attributeKey)||!i(u,d))return;const f=LM(u,l,e);PM(f,c,l),RM(f,c);const p=OM(u,f,t,c,{dataPipeline:n});jM(u,p,t,c)}}function kp(o,{dataPipeline:t}={}){return(e,{writer:n})=>{if(!bp(e,o))return null;if(!t)return n.createContainerElement("span",{class:"ck-list-bogus-paragraph"});const i=n.createContainerElement("p");return n.setCustomProperty("dataPipeline:transparentRendering",!0,i),i}}function LM(o,t,e){const n=e.createRangeOn(o);return t.toViewRange(n).getTrimmed().end.nodeBefore}function PM(o,t,e){for(;o.parent.is("attributeElement")&&o.parent.getCustomProperty("listItemWrapper");)t.unwrap(t.createRangeIn(o.parent),o.parent);const n=t.createPositionBefore(o).getWalker({direction:"backward"}),i=[];for(const{item:r}of n){if(r.is("element")&&e.toModelElement(r))break;r.is("element")&&r.getCustomProperty("listItemMarker")&&i.push(r)}for(const r of i)t.remove(r)}function OM(o,t,e,n,{dataPipeline:i}){let r=n.createRangeOn(t);if(!fn(o))return r;for(const s of e){if(s.scope!="itemMarker")continue;const a=s.createElement(n,o,{dataPipeline:i});if(!a||(n.setCustomProperty("listItemMarker",!0,a),n.insert(r.start,a),r=n.createRange(n.createPositionBefore(a),n.createPositionAfter(t)),!s.createWrapperElement||!s.canWrapElement))continue;const c=s.createWrapperElement(n,o,{dataPipeline:i});n.setCustomProperty("listItemWrapper",!0,c),s.canWrapElement(o)?r=n.wrap(r,c):(r=n.wrap(n.createRangeOn(a),c),r=n.createRange(r.start,n.createPositionAfter(t)))}return r}function RM(o,t){let e=o.parent;for(;e.is("attributeElement")&&["ul","ol","li"].includes(e.name);){const n=e.parent;t.unwrap(t.createRangeOn(o),e),e=n}}function jM(o,t,e,n){if(!o.hasAttribute("listIndent"))return;const i=o.getAttribute("listIndent");let r=o;for(let s=i;s>=0;s--){const a=IM(n,s,r.getAttribute("listItemId")),c=TM(n,s,r.getAttribute("listType"));for(const l of e)(l.scope=="list"||l.scope=="item")&&r.hasAttribute(l.attributeName)&&l.setAttributeOnDowncast(n,r.getAttribute(l.attributeName),l.scope=="list"?c:a);if(t=n.wrap(t,a),t=n.wrap(t,c),s==0||(r=de.first(r,{lowerIndent:!0}),!r))break}}function FM(o){return(t,e)=>{const n=[];for(const i of o)t.hasAttribute(i)&&n.push(`attribute:${i}`);return n.every(i=>e.test(t,i)!==!1)?(n.forEach(i=>e.consume(t,i)),!0):!1}}function bp(o,t,e=uc(o)){if(!Nt(o))return!1;for(const n of o.getAttributeKeys())if(!n.startsWith("selection:")&&!t.includes(n))return!1;return e.length<2}var wp=P(3190),pc={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};pc.insert="head",pc.singleton=!0,R()(wp.Z,pc),wp.Z.locals;var Ap=P(4784),kc={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};kc.insert="head",kc.singleton=!0,R()(Ap.Z,kc),Ap.Z.locals;const Ji=["listType","listIndent","listItemId"];class VM extends L{static get pluginName(){return"ListEditing"}static get requires(){return[ji,ze,DM,ke]}constructor(t){super(t),this._downcastStrategies=[],t.config.define("list.multiBlock",!0)}init(){const t=this.editor,e=t.model,n=t.config.get("list.multiBlock");if(t.plugins.has("LegacyListEditing"))throw new b("list-feature-conflict",this,{conflictPlugin:"LegacyListEditing"});e.schema.register("$listItem",{allowAttributes:Ji}),n?(e.schema.extend("$container",{allowAttributesOf:"$listItem"}),e.schema.extend("$block",{allowAttributesOf:"$listItem"}),e.schema.extend("$blockObject",{allowAttributesOf:"$listItem"})):e.schema.register("listItem",{inheritAllFrom:"$block",allowAttributesOf:"$listItem"});for(const i of Ji)e.schema.setAttributeProperties(i,{copyOnReplace:!0});t.commands.add("numberedList",new lp(t,"numbered")),t.commands.add("bulletedList",new lp(t,"bulleted")),t.commands.add("indentList",new ap(t,"forward")),t.commands.add("outdentList",new ap(t,"backward")),t.commands.add("splitListItemBefore",new up(t,"before")),t.commands.add("splitListItemAfter",new up(t,"after")),n&&(t.commands.add("mergeListItemBackward",new dp(t,"backward")),t.commands.add("mergeListItemForward",new dp(t,"forward"))),this._setupDeleteIntegration(),this._setupEnterIntegration(),this._setupTabIntegration(),this._setupClipboardIntegration()}afterInit(){const e=this.editor.commands,n=e.get("indent"),i=e.get("outdent");n&&n.registerChildCommand(e.get("indentList"),{priority:"high"}),i&&i.registerChildCommand(e.get("outdentList"),{priority:"lowest"}),this._setupModelPostFixing(),this._setupConversion()}registerDowncastStrategy(t){this._downcastStrategies.push(t)}getListAttributeNames(){return[...Ji,...this._downcastStrategies.map(t=>t.attributeName)]}_setupDeleteIntegration(){const t=this.editor,e=t.commands.get("mergeListItemBackward"),n=t.commands.get("mergeListItemForward");this.listenTo(t.editing.view.document,"delete",(i,r)=>{const s=t.model.document.selection;jo(t.model)||t.model.change(()=>{const a=s.getFirstPosition();if(s.isCollapsed&&r.direction=="backward"){if(!a.isAtStart)return;const c=a.parent;if(!Nt(c))return;if(!de.first(c,{sameAttributes:"listType",sameIndent:!0})&&c.getAttribute("listIndent")===0)sp(c)||t.execute("splitListItemAfter"),t.execute("outdentList");else{if(!e||!e.isEnabled)return;e.execute({shouldMergeOnBlocksContentLevel:Cp(t.model,"backward")})}r.preventDefault(),i.stop()}else{if(s.isCollapsed&&!s.getLastPosition().isAtEnd||!n||!n.isEnabled)return;n.execute({shouldMergeOnBlocksContentLevel:Cp(t.model,"forward")}),r.preventDefault(),i.stop()}})},{context:"li"})}_setupEnterIntegration(){const t=this.editor,e=t.model,n=t.commands,i=n.get("enter");this.listenTo(t.editing.view.document,"enter",(r,s)=>{const a=e.document,c=a.selection.getFirstPosition().parent;if(a.selection.isCollapsed&&Nt(c)&&c.isEmpty&&!s.isSoft){const l=fn(c),d=sp(c);l&&d?(t.execute("outdentList"),s.preventDefault(),r.stop()):l&&!d?(t.execute("splitListItemAfter"),s.preventDefault(),r.stop()):d&&(t.execute("splitListItemBefore"),s.preventDefault(),r.stop())}},{context:"li"}),this.listenTo(i,"afterExecute",()=>{const r=n.get("splitListItemBefore");if(r.refresh(),!r.isEnabled)return;const a=t.model.document.selection.getLastPosition().parent;uc(a).length===2&&r.execute()})}_setupTabIntegration(){const t=this.editor;this.listenTo(t.editing.view.document,"tab",(e,n)=>{const i=n.shiftKey?"outdentList":"indentList";this.editor.commands.get(i).isEnabled&&(t.execute(i),n.stopPropagation(),n.preventDefault(),e.stop())},{context:"li"})}_setupConversion(){const t=this.editor,e=t.model,n=this.getListAttributeNames(),i=t.config.get("list.multiBlock"),r=i?"paragraph":"listItem";t.conversion.for("upcast").elementToElement({view:"li",model:(s,{writer:a})=>a.createElement(r,{listType:""})}).elementToElement({view:"p",model:(s,{writer:a})=>s.parent&&s.parent.is("element","li")?a.createElement(r,{listType:""}):null,converterPriority:"high"}).add(s=>{s.on("element:li",NM()),s.on("element:ul",mp(),{priority:"high"}),s.on("element:ol",mp(),{priority:"high"})}),i||t.conversion.for("downcast").elementToElement({model:"listItem",view:"p"}),t.conversion.for("editingDowncast").elementToElement({model:r,view:kp(n),converterPriority:"high"}).add(s=>{s.on("attribute",pp(n,this._downcastStrategies,e))}),t.conversion.for("dataDowncast").elementToElement({model:r,view:kp(n,{dataPipeline:!0}),converterPriority:"high"}).add(s=>{s.on("attribute",pp(n,this._downcastStrategies,e,{dataPipeline:!0}))}),this.listenTo(e.document,"change:data",zM(e,t.editing,n,this),{priority:"high"}),this.on("checkAttributes:item",(s,{viewElement:a,modelAttributes:c})=>{a.id!=c.listItemId&&(s.return=!0,s.stop())}),this.on("checkAttributes:list",(s,{viewElement:a,modelAttributes:c})=>{(a.name!=gp(c.listType)||a.id!=fp(c.listType,c.listIndent))&&(s.return=!0,s.stop())})}_setupModelPostFixing(){const t=this.editor.model,e=this.getListAttributeNames();t.document.registerPostFixer(n=>HM(t,n,e,this)),this.on("postFixer",(n,{listNodes:i,writer:r})=>{n.return=MM(i,r)||n.return},{priority:"high"}),this.on("postFixer",(n,{listNodes:i,writer:r,seenIds:s})=>{n.return=BM(i,s,r)||n.return},{priority:"high"})}_setupClipboardIntegration(){const t=this.editor.model,e=this.editor.plugins.get("ClipboardPipeline");this.listenTo(t,"insertContent",UM(t),{priority:"high"}),this.listenTo(e,"outputTransformation",(n,i)=>{t.change(r=>{const s=Array.from(i.content.getChildren()),a=s[s.length-1];if(s.length>1&&a.is("element")&&a.isEmpty&&s.slice(0,-1).every(Nt)&&r.remove(a),i.method=="copy"||i.method=="cut"){const c=Array.from(i.content.getChildren());Ro(c)&&Yi(c,r)}})})}}function HM(o,t,e,n){const i=o.document.differ.getChanges(),r=new Map,s=n.editor.config.get("list.multiBlock");let a=!1;for(const l of i){if(l.type=="insert"&&l.name!="$text"){const d=l.position.nodeAfter;if(!o.schema.checkAttribute(d,"listItemId"))for(const u of Array.from(d.getAttributeKeys()))e.includes(u)&&(t.removeAttribute(u,d),a=!0);be(l.position,r),l.attributes.has("listItemId")||be(l.position.getShiftedBy(l.length),r);for(const{item:u,previousPosition:f}of o.createRangeIn(d))Nt(u)&&be(f,r)}else l.type=="remove"?be(l.position,r):l.type=="attribute"&&e.includes(l.attributeKey)&&(be(l.range.start,r),l.attributeNewValue===null&&be(l.range.start.getShiftedBy(1),r));if(!s&&l.type=="attribute"&&Ji.includes(l.attributeKey)){const d=l.range.start.nodeAfter;l.attributeNewValue===null&&d&&d.is("element","listItem")?(t.rename(d,"paragraph"),a=!0):l.attributeOldValue===null&&d&&d.is("element")&&d.name!="listItem"&&(t.rename(d,"listItem"),a=!0)}}const c=new Set;for(const l of r.values())a=n.fire("postFixer",{listNodes:new CM(l),listHead:l,writer:t,seenIds:c})||a;return a}function UM(o){return(t,[e,n])=>{const i=e.is("documentFragment")?Array.from(e.getChildren()):[e];if(!i.length)return;const s=(n?o.createSelection(n):o.document.selection).getFirstPosition();let a;if(Nt(s.parent))a=s.parent;else if(Nt(s.nodeBefore))a=s.nodeBefore;else return;o.change(c=>{const l=a.getAttribute("listType"),d=a.getAttribute("listIndent"),u=i[0].getAttribute("listIndent")||0,f=Math.max(d-u,0);for(const p of i){const w=Nt(p);a.is("element","listItem")&&p.is("element","paragraph")&&c.rename(p,"listItem"),c.setAttributes({listIndent:(w?p.getAttribute("listIndent"):0)+f,listItemId:w?p.getAttribute("listItemId"):Zn.next(),listType:l},p)}})}}function Cp(o,t){const e=o.document.selection;if(!e.isCollapsed)return!jo(o);if(t==="forward")return!0;const i=e.getFirstPosition().parent,r=i.previousSibling;return o.schema.isObject(r)?!1:r.isEmpty?!0:Ro([i,r])}function _p(o,t,e,n){o.ui.componentFactory.add(t,i=>{const r=o.commands.get(t),s=new at(i);return s.set({label:e,icon:n,tooltip:!0,isToggleable:!0}),s.bind("isOn","isEnabled").to(r,"value","isEnabled"),s.on("execute",()=>{o.execute(t),o.editing.view.focus()}),s})}class GM extends L{static get pluginName(){return"ListUI"}init(){const t=this.editor.t;_p(this.editor,"numberedList",t("Numbered List"),J.numberedList),_p(this.editor,"bulletedList",t("Bulleted List"),J.bulletedList)}}class WM extends L{static get requires(){return[VM,GM]}static get pluginName(){return"List"}}const qM=[{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:o,typeAttribute:t,listType:e}of qM);var vp=P(9938),bc={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};bc.insert="head",bc.singleton=!0,R()(vp.Z,bc),vp.Z.locals;var yp=P(2591),wc={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};wc.insert="head",wc.singleton=!0,R()(yp.Z,wc),yp.Z.locals,so("Ctrl+Enter");var xp=P(9292),Ac={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ac.insert="head",Ac.singleton=!0,R()(xp.Z,Ac),xp.Z.locals,so("Ctrl+Enter");function Ep(o,t){const e=(n,i,r)=>{if(!r.consumable.consume(i.item,n.name))return;const s=i.attributeNewValue,a=r.writer,c=r.mapper.toViewElement(i.item),l=[...c.getChildren()].find(u=>u.getCustomProperty("media-content"));a.remove(l);const d=o.getMediaViewElement(a,s,t);a.insert(a.createPositionAt(c,0),d)};return n=>{n.on("attribute:url:media",e)}}function ZM(o,t,e){return t.setCustomProperty("media",!0,o),Sa(o,t,{label:e})}function Dp(o,t,e,n){return o.createContainerElement("figure",{class:"media"},[t.getMediaViewElement(o,e,n),o.createSlot()])}function Sp(o){const t=o.getSelectedElement();return t&&t.is("element","media")?t:null}function Tp(o,t,e,n){o.change(i=>{const r=i.createElement("media",{url:t});o.insertObject(r,e,null,{setSelection:"on",findOptimalPosition:n?"auto":void 0})})}class $M extends X{refresh(){const t=this.editor.model,e=t.document.selection,n=Sp(e);this.value=n?n.getAttribute("url"):void 0,this.isEnabled=YM(e)||KM(e,t)}execute(t){const e=this.editor.model,n=e.document.selection,i=Sp(n);i?e.change(r=>{r.setAttribute("url",t,i)}):Tp(e,t,n,!0)}}function KM(o,t){let n=Cf(o,t).start.parent;return n.isEmpty&&!t.schema.isLimit(n)&&(n=n.parent),t.schema.checkChild(n,"media")}function YM(o){const t=o.getSelectedElement();return!!t&&t.name==="media"}const QM='',JM="0 0 64 42";class XM{constructor(t,e){const n=e.providers,i=e.extraProviders||[],r=new Set(e.removeProviders),s=n.concat(i).filter(a=>{const c=a.name;return c?!r.has(c):!1});this.locale=t,this.providerDefinitions=s}hasMedia(t){return!!this._getMedia(t)}getMediaViewElement(t,e,n){return this._getMedia(e).getViewElement(t,n)}_getMedia(t){if(!t)return new Ip(this.locale);t=t.trim();for(const e of this.providerDefinitions){const n=e.html,i=bt(e.url);for(const r of i){const s=this._getUrlMatches(t,r);if(s)return new Ip(this.locale,t,s,n)}}return null}_getUrlMatches(t,e){let n=t.match(e);if(n)return n;let i=t.replace(/^https?:\/\//,"");return n=i.match(e),n||(i=i.replace(/^www\./,""),n=i.match(e),n)?n:null}}class Ip{constructor(t,e,n,i){this.url=this._getValidUrl(e),this._locale=t,this._match=n,this._previewRenderer=i}getViewElement(t,e){const n={};let i;if(e.renderForEditingView||e.renderMediaPreview&&this.url&&this._previewRenderer){this.url&&(n["data-oembed-url"]=this.url),e.renderForEditingView&&(n.class="ck-media__wrapper");const r=this._getPreviewHtml(e);i=t.createRawElement("div",n,(s,a)=>{a.setContentOf(s,r)})}else this.url&&(n.url=this.url),i=t.createEmptyElement(e.elementName,n);return t.setCustomProperty("media-content",!0,i),i}_getPreviewHtml(t){return this._previewRenderer?this._previewRenderer(this._match):this.url&&t.renderForEditingView?this._getPlaceholderHtml():""}_getPlaceholderHtml(){const t=new en,e=this._locale.t;return t.content=QM,t.viewBox=JM,new re({tag:"div",attributes:{class:"ck ck-reset_all ck-media__placeholder"},children:[{tag:"div",attributes:{class:"ck-media__placeholder__icon"},children:[t]},{tag:"a",attributes:{class:"ck-media__placeholder__url",target:"_blank",rel:"noopener noreferrer",href:this.url,"data-cke-tooltip-text":e("Open media in new tab")},children:[{tag:"span",attributes:{class:"ck-media__placeholder__url__text"},children:[this.url]}]}]}).render().outerHTML}_getValidUrl(t){return t?t.match(/^https?/)?t:"https://"+t:null}}var Mp=P(1922),Cc={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Cc.insert="head",Cc.singleton=!0,R()(Mp.Z,Cc),Mp.Z.locals;class Xi extends L{static get pluginName(){return"MediaEmbedEditing"}constructor(t){super(t),t.config.define("mediaEmbed",{elementName:"oembed",providers:[{name:"dailymotion",url:[/^dailymotion\.com\/video\/(\w+)/,/^dai.ly\/(\w+)/],html:e=>`
`},{name:"spotify",url:[/^open\.spotify\.com\/(artist\/\w+)/,/^open\.spotify\.com\/(album\/\w+)/,/^open\.spotify\.com\/(track\/\w+)/],html:e=>`
`},{name:"youtube",url:[/^(?:m\.)?youtube\.com\/watch\?v=([\w-]+)(?:&t=(\d+))?/,/^(?:m\.)?youtube\.com\/v\/([\w-]+)(?:\?t=(\d+))?/,/^youtube\.com\/embed\/([\w-]+)(?:\?start=(\d+))?/,/^youtu\.be\/([\w-]+)(?:\?t=(\d+))?/],html:e=>{const n=e[1],i=e[2];return`
`}},{name:"vimeo",url:[/^vimeo\.com\/(\d+)/,/^vimeo\.com\/[^/]+\/[^/]+\/video\/(\d+)/,/^vimeo\.com\/album\/[^/]+\/video\/(\d+)/,/^vimeo\.com\/channels\/[^/]+\/(\d+)/,/^vimeo\.com\/groups\/[^/]+\/videos\/(\d+)/,/^vimeo\.com\/ondemand\/[^/]+\/(\d+)/,/^player\.vimeo\.com\/video\/(\d+)/],html:e=>`
`},{name:"instagram",url:/^instagram\.com\/p\/(\w+)/},{name:"twitter",url:/^twitter\.com/},{name:"googleMaps",url:[/^google\.com\/maps/,/^goo\.gl\/maps/,/^maps\.google\.com/,/^maps\.app\.goo\.gl/]},{name:"flickr",url:/^flickr\.com/},{name:"facebook",url:/^facebook\.com/}]}),this.registry=new XM(t.locale,t.config.get("mediaEmbed"))}init(){const t=this.editor,e=t.model.schema,n=t.t,i=t.conversion,r=t.config.get("mediaEmbed.previewsInData"),s=t.config.get("mediaEmbed.elementName"),a=this.registry;t.commands.add("mediaEmbed",new $M(t)),e.register("media",{inheritAllFrom:"$blockObject",allowAttributes:["url"]}),i.for("dataDowncast").elementToStructure({model:"media",view:(c,{writer:l})=>{const d=c.getAttribute("url");return Dp(l,a,d,{elementName:s,renderMediaPreview:!!d&&r})}}),i.for("dataDowncast").add(Ep(a,{elementName:s,renderMediaPreview:r})),i.for("editingDowncast").elementToStructure({model:"media",view:(c,{writer:l})=>{const d=c.getAttribute("url"),u=Dp(l,a,d,{elementName:s,renderForEditingView:!0});return ZM(u,l,n("media widget"))}}),i.for("editingDowncast").add(Ep(a,{elementName:s,renderForEditingView:!0})),i.for("upcast").elementToElement({view:c=>["oembed",s].includes(c.name)&&c.getAttribute("url")?{name:!0}:null,model:(c,{writer:l})=>{const d=c.getAttribute("url");return a.hasMedia(d)?l.createElement("media",{url:d}):null}}).elementToElement({view:{name:"div",attributes:{"data-oembed-url":!0}},model:(c,{writer:l})=>{const d=c.getAttribute("data-oembed-url");return a.hasMedia(d)?l.createElement("media",{url:d}):null}}).add(c=>{const l=(d,u,f)=>{if(!f.consumable.consume(u.viewItem,{name:!0,classes:"media"}))return;const{modelRange:p,modelCursor:w}=f.convertChildren(u.viewItem,u.modelCursor);u.modelRange=p,u.modelCursor=w,Lt(p.getItems())||f.consumable.revert(u.viewItem,{name:!0,classes:"media"})};c.on("element:figure",l)})}}const tB=/^(?:http(s)?:\/\/)?[\w-]+\.[\w-.~:/?#[\]@!$&'()*+,;=%]+$/;class eB extends L{static get requires(){return[jf,ze,La]}static get pluginName(){return"AutoMediaEmbed"}constructor(t){super(t),this._timeoutId=null,this._positionToInsert=null}init(){const t=this.editor,e=t.model.document,n=t.plugins.get("ClipboardPipeline");this.listenTo(n,"inputTransformation",()=>{const r=e.selection.getFirstRange(),s=Ot.fromPosition(r.start);s.stickiness="toPrevious";const a=Ot.fromPosition(r.end);a.stickiness="toNext",e.once("change:data",()=>{this._embedMediaBetweenPositions(s,a),s.detach(),a.detach()},{priority:"high"})}),t.commands.get("undo").on("execute",()=>{this._timeoutId&&(H.window.clearTimeout(this._timeoutId),this._positionToInsert.detach(),this._timeoutId=null,this._positionToInsert=null)},{priority:"high"})}_embedMediaBetweenPositions(t,e){const n=this.editor,i=n.plugins.get(Xi).registry,r=new Xt(t,e),s=r.getWalker({ignoreElementEnd:!0});let a="";for(const l of s)l.item.is("$textProxy")&&(a+=l.item.data);if(a=a.trim(),!a.match(tB)){r.detach();return}if(!i.hasMedia(a)){r.detach();return}if(!n.commands.get("mediaEmbed").isEnabled){r.detach();return}this._positionToInsert=Ot.fromPosition(t),this._timeoutId=H.window.setTimeout(()=>{n.model.change(l=>{this._timeoutId=null,l.remove(r),r.detach();let d=null;this._positionToInsert.root.rootName!=="$graveyard"&&(d=this._positionToInsert),Tp(n.model,a,d,!1),this._positionToInsert.detach(),this._positionToInsert=null}),n.plugins.get(ze).requestUndoOnBackspace()},100)}}var Bp=P(7138),_c={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};_c.insert="head",_c.singleton=!0,R()(Bp.Z,_c),Bp.Z.locals;class nB extends Z{constructor(t,e){super(e);const n=e.t;this.focusTracker=new Pt,this.keystrokes=new Gt,this.set("mediaURLInputValue",""),this.urlInputView=this._createUrlInput(),this.saveButtonView=this._createButton(n("Save"),J.check,"ck-button-save"),this.saveButtonView.type="submit",this.saveButtonView.bind("isEnabled").to(this,"mediaURLInputValue",i=>!!i),this.cancelButtonView=this._createButton(n("Cancel"),J.cancel,"ck-button-cancel","cancel"),this._focusables=new ie,this._focusCycler=new se({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this._validators=t,this.setTemplate({tag:"form",attributes:{class:["ck","ck-media-form","ck-responsive-form"],tabindex:"-1"},children:[this.urlInputView,this.saveButtonView,this.cancelButtonView]})}render(){super.render(),h({view:this}),[this.urlInputView,this.saveButtonView,this.cancelButtonView].forEach(n=>{this._focusables.add(n),this.focusTracker.add(n.element)}),this.keystrokes.listenTo(this.element);const e=n=>n.stopPropagation();this.keystrokes.set("arrowright",e),this.keystrokes.set("arrowleft",e),this.keystrokes.set("arrowup",e),this.keystrokes.set("arrowdown",e)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}get url(){return this.urlInputView.fieldView.element.value.trim()}set url(t){this.urlInputView.fieldView.element.value=t.trim()}isValid(){this.resetFormStatus();for(const t of this._validators){const e=t(this);if(e)return this.urlInputView.errorText=e,!1}return!0}resetFormStatus(){this.urlInputView.errorText=null,this.urlInputView.infoText=this._urlInputViewInfoDefault}_createUrlInput(){const t=this.locale.t,e=new si(this.locale,Si),n=e.fieldView;return this._urlInputViewInfoDefault=t("Paste the media URL in the input."),this._urlInputViewInfoTip=t("Tip: Paste the URL into the content to embed faster."),e.label=t("Media URL"),e.infoText=this._urlInputViewInfoDefault,n.on("input",()=>{e.infoText=n.element.value?this._urlInputViewInfoTip:this._urlInputViewInfoDefault,this.mediaURLInputValue=n.element.value.trim()}),e}_createButton(t,e,n,i){const r=new at(this.locale);return r.set({label:t,icon:e,tooltip:!0}),r.extendTemplate({attributes:{class:n}}),i&&r.delegate("execute").to(this,i),r}}const oB='';class iB extends L{static get requires(){return[Xi]}static get pluginName(){return"MediaEmbedUI"}init(){const t=this.editor,e=t.commands.get("mediaEmbed");t.ui.componentFactory.add("mediaEmbed",n=>{const i=ye(n);return this._setUpDropdown(i,e),i})}_setUpDropdown(t,e){const n=this.editor,i=n.t,r=t.buttonView,s=n.plugins.get(Xi).registry;t.once("change:isOpen",()=>{const a=new(x(nB))(rB(n.t,s),n.locale);t.panelView.children.add(a),r.on("open",()=>{a.disableCssTransitions(),a.url=e.value||"",a.urlInputView.fieldView.select(),a.enableCssTransitions()},{priority:"low"}),t.on("submit",()=>{a.isValid()&&(n.execute("mediaEmbed",a.url),n.editing.view.focus())}),t.on("change:isOpen",()=>a.resetFormStatus()),t.on("cancel",()=>{n.editing.view.focus()}),a.delegate("submit","cancel").to(t),a.urlInputView.fieldView.bind("value").to(e,"value"),a.urlInputView.bind("isEnabled").to(e,"isEnabled")}),t.bind("isEnabled").to(e),r.set({label:i("Insert media"),icon:oB,tooltip:!0})}}function rB(o,t){return[e=>{if(!e.url.length)return o("The URL must not be empty.")},e=>{if(!t.hasMedia(e.url))return o("This media URL is not supported.")}]}var Np=P(8705),vc={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};vc.insert="head",vc.singleton=!0,R()(Np.Z,vc),Np.Z.locals;class sB extends L{static get requires(){return[Xi,iB,eB,Lo]}static get pluginName(){return"MediaEmbed"}}function aB(o,t){if(!o.childCount)return;const e=new Be(o.document),n=lB(o,e);if(!n.length)return;let i=null,r=1;n.forEach((s,a)=>{const c=kB(n[a-1],s),l=c?null:n[a-1],d=wB(l,s);if(c&&(i=null,r=1),!i||d!==0){const f=dB(s,t);if(!i)i=zp(f,s.element,e);else if(s.indent>r){const p=i.getChild(i.childCount-1),w=p.getChild(p.childCount-1);i=zp(f,w,e),r+=1}else if(s.indent1&&e.setAttribute("start",o.startIndex,i),i}function fB(o,t){return pB(o,t),t.removeStyle("text-indent",o),t.rename("li",o)}function mB(o){const t={},e=o.getStyle("mso-list");if(e){const n=e.match(/(^|\s{1,100})l(\d+)/i),i=e.match(/\s{0,100}lfo(\d+)/i),r=e.match(/\s{0,100}level(\d+)/i);n&&i&&r&&(t.id=n[2],t.order=i[1],t.indent=parseInt(r[1]))}return t}function pB(o,t){const e=new he({name:"span",styles:{"mso-list":"Ignore"}}),n=t.createRangeIn(o);for(const i of n)i.type==="elementStart"&&e.match(i.item)&&t.remove(i.item)}function kB(o,t){if(!o)return!0;if(o.id!==t.id)return t.indent-o.indent!==1;const e=t.element.previousSibling;return e?!bB(e):!0}function bB(o){return o.is("element","ol")||o.is("element","ul")}function wB(o,t){return o?t.indent-o.indent:t.indent-1}function AB(o,t){const e=o.getAncestors({parentFirst:!0});let n=null,i=0;for(const r of e)if((r.is("element","ul")||r.is("element","ol"))&&i++,i===t){n=r;break}return n}function CB(o,t){if(!o.childCount)return;const e=new Be(o.document),n=vB(o,e);yB(n,o,e),EB(n,o,e),xB(o,e);const i=DB(o,e);i.length&&TB(i,SB(t),e)}function _B(o){return btoa(o.match(/\w{2}/g).map(t=>String.fromCharCode(parseInt(t,16))).join(""))}function vB(o,t){const e=t.createRangeIn(o),n=new he({name:/v:(.+)/}),i=[];for(const r of e){if(r.type!="elementStart")continue;const s=r.item,a=s.previousSibling,c=a&&a.is("element")?a.name:null;n.match(s)&&s.getAttribute("o:gfxdata")&&c!=="v:shapetype"&&i.push(r.item.getAttribute("id"))}return i}function yB(o,t,e){const n=e.createRangeIn(t),i=new he({name:"img"}),r=[];for(const s of n)if(s.item.is("element")&&i.match(s.item)){const a=s.item,c=a.getAttribute("v:shapes")?a.getAttribute("v:shapes").split(" "):[];c.length&&c.every(l=>o.indexOf(l)>-1)?r.push(a):a.getAttribute("src")||r.push(a)}for(const s of r)e.remove(s)}function xB(o,t){const e=t.createRangeIn(o),n=new he({name:/v:(.+)/}),i=[];for(const r of e)r.type=="elementStart"&&n.match(r.item)&&i.push(r.item);for(const r of i)t.remove(r)}function EB(o,t,e){const n=e.createRangeIn(t),i=[];for(const a of n)if(a.type=="elementStart"&&a.item.is("element","v:shape")){const c=a.item.getAttribute("id");if(o.includes(c))continue;r(a.item.parent.getChildren(),c)||i.push(a.item)}for(const a of i){const c={src:s(a)};a.hasAttribute("alt")&&(c.alt=a.getAttribute("alt"));const l=e.createElement("img",c);e.insertChild(a.index+1,l,a.parent)}function r(a,c){for(const l of a)if(l.is("element")&&(l.name=="img"&&l.getAttribute("v:shapes")==c||r(l.getChildren(),c)))return!0;return!1}function s(a){for(const c of a.getChildren())if(c.is("element")&&c.getAttribute("src"))return c.getAttribute("src")}}function DB(o,t){const e=t.createRangeIn(o),n=new he({name:"img"}),i=[];for(const r of e)r.item.is("element")&&n.match(r.item)&&r.item.getAttribute("src").startsWith("file://")&&i.push(r.item);return i}function SB(o){if(!o)return[];const t=/{\\pict[\s\S]+?\\bliptag-?\d+(\\blipupi-?\d+)?({\\\*\\blipuid\s?[\da-fA-F]+)?[\s}]*?/,e=new RegExp("(?:("+t.source+"))([\\da-fA-F\\s]+)\\}","g"),n=o.match(e),i=[];if(n)for(const r of n){let s=!1;r.includes("\\pngblip")?s="image/png":r.includes("\\jpegblip")&&(s="image/jpeg"),s&&i.push({hex:r.replace(t,"").replace(/[^\da-fA-F]/g,""),type:s})}return i}function TB(o,t,e){if(o.length===t.length)for(let n=0;n/i,BB=/xmlns:o="urn:schemas-microsoft-com/i;class NB{constructor(t){this.document=t}isActive(t){return MB.test(t)||BB.test(t)}execute(t){const{body:e,stylesString:n}=t._parsedData;aB(e,n),CB(e,t.dataTransfer.getData("text/rtf")),IB(e),t.content=e}}function zB(o,t){for(const e of o.getChildren())if(e.is("element","b")&&e.getStyle("font-weight")==="normal"){const n=o.getChildIndex(e);t.remove(e),t.insertChild(n,e.getChildren(),o)}}function LB(o,t){const e=new gi(t.document.stylesProcessor),n=new pi(e,{renderingMode:"data"}),i=n.blockElements,r=n.inlineObjectElements,s=[];for(const a of t.createRangeIn(o)){const c=a.item;if(c.is("element","br")){const l=Lp(c,"forward",t,{blockElements:i,inlineObjectElements:r}),d=Lp(c,"backward",t,{blockElements:i,inlineObjectElements:r}),u=Pp(l,i);(Pp(d,i)||u)&&s.push(c)}}for(const a of s)a.hasClass("Apple-interchange-newline")?t.remove(a):t.replace(a,t.createElement("p"))}function Lp(o,t,e,{blockElements:n,inlineObjectElements:i}){let r=e.createPositionAt(o,t=="forward"?"after":"before");return r=r.getLastMatchingPosition(({item:s})=>s.is("element")&&!n.includes(s.name)&&!i.includes(s.name),{direction:t}),t=="forward"?r.nodeAfter:r.nodeBefore}function Pp(o,t){return!!o&&o.is("element")&&t.includes(o.name)}const PB=/id=("|')docs-internal-guid-[-0-9a-f]+("|')/i;class OB{constructor(t){this.document=t}isActive(t){return PB.test(t)}execute(t){const e=new Be(this.document),{body:n}=t._parsedData;zB(n,e),cB(n,e),LB(n,e),t.content=n}}function RB(o,t){for(const e of o.getChildren())e.is("element","table")&&e.hasAttribute("xmlns")&&t.removeAttribute("xmlns",e)}function jB(o,t){for(const e of o.getChildren())if(e.is("element","google-sheets-html-origin")){const n=o.getChildIndex(e);t.remove(e),t.insertChild(n,e.getChildren(),o)}}function FB(o,t){for(const e of o.getChildren())e.is("element","table")&&e.getStyle("width")==="0px"&&t.removeStyle("width",e)}function VB(o,t){for(const e of Array.from(o.getChildren()))e.is("element","style")&&t.remove(e)}const HB=/[^\S\r\n]*?)[\r\n]+([^\S\r\n]*<\/span>)/g,"$1$2").replace(/<\/span>/g,"").replace(/()[\r\n]+(<\/span>)/g,"$1 $2").replace(/ <\//g," <\/o:p>/g," ").replace(/( |\u00A0)<\/o:p>/g,"").replace(/>([^\S\r\n]*[\r\n]\s*)<")}function WB(o){o.querySelectorAll("span[style*=spacerun]").forEach(t=>{const e=t,n=e.innerText.length||0;e.innerText=Array(n+1).join("  ").substr(0,n)})}function Op(o){return o.replace(/(\s+)<\/span>/g,(t,e)=>e.length===1?" ":Array(e.length+1).join("  ").substr(0,e.length))}function qB(o,t){const e=new DOMParser;o=o.replace(//g,"")}const Dm=["figcaption","li"],Sm=["ol","ul"];function Tm(o){if(o.is("$text")||o.is("$textProxy"))return o.data;if(o.is("element","img")&&o.hasAttribute("alt"))return o.getAttribute("alt");if(o.is("element","br"))return` +`;let t="",e=null;for(const n of o.getChildren())t+=FT(n,e)+Tm(n),e=n;return t}function FT(o,t){return t?o.is("element","li")&&!o.isEmpty&&o.getChild(0).is("containerElement")||Sm.includes(o.name)&&Sm.includes(t.name)?` + +`:!o.is("containerElement")&&!t.is("containerElement")?"":Dm.includes(o.name)||Dm.includes(t.name)?` +`:` + +`:""}class De extends M{static get pluginName(){return"ClipboardPipeline"}init(){this.editor.editing.view.addObserver(Uo),this._setupPasteDrop(),this._setupCopyCut()}_fireOutputTransformationEvent(t,e,n){const i=this.editor.model.getSelectedContent(e);this.fire("outputTransformation",{dataTransfer:t,content:i,method:n})}_setupPasteDrop(){const t=this.editor,e=t.model,n=t.editing.view,i=n.document;this.listenTo(i,"clipboardInput",(r,s)=>{s.method=="paste"&&!t.model.canEditAt(t.model.document.selection)&&r.stop()},{priority:"highest"}),this.listenTo(i,"clipboardInput",(r,s)=>{const a=s.dataTransfer;let c;if(s.content)c=s.content;else{let d="";a.getData("text/html")?d=jT(a.getData("text/html")):a.getData("text/plain")&&(d=RT(a.getData("text/plain"))),c=this.editor.data.htmlProcessor.toView(d)}const l=new Ot(this,"inputTransformation");this.fire(l,{content:c,dataTransfer:a,targetRanges:s.targetRanges,method:s.method}),l.stop.called&&r.stop(),n.scrollToTheSelection()},{priority:"low"}),this.listenTo(this,"inputTransformation",(r,s)=>{if(s.content.isEmpty)return;const c=this.editor.data.toModel(s.content,"$clipboardHolder");c.childCount!=0&&(r.stop(),e.change(()=>{this.fire("contentInsertion",{content:c,method:s.method,dataTransfer:s.dataTransfer,targetRanges:s.targetRanges})}))},{priority:"low"}),this.listenTo(this,"contentInsertion",(r,s)=>{s.resultRange=e.insertContent(s.content)},{priority:"low"})}_setupCopyCut(){const t=this.editor,e=t.model.document,i=t.editing.view.document,r=(s,a)=>{const c=a.dataTransfer;a.preventDefault(),this._fireOutputTransformationEvent(c,e.selection,s.name)};this.listenTo(i,"copy",r,{priority:"low"}),this.listenTo(i,"cut",(s,a)=>{t.model.canEditAt(t.model.document.selection)?r(s,a):a.preventDefault()},{priority:"low"}),this.listenTo(this,"outputTransformation",(s,a)=>{const c=t.data.toView(a.content);i.fire("clipboardOutput",{dataTransfer:a.dataTransfer,content:c,method:a.method})},{priority:"low"}),this.listenTo(i,"clipboardOutput",(s,a)=>{a.content.isEmpty||(a.dataTransfer.setData("text/html",this.editor.data.htmlProcessor.toData(a.content)),a.dataTransfer.setData("text/plain",Tm(a.content))),a.method=="cut"&&t.model.deleteContent(e.selection)},{priority:"low"})}}class VT extends ct(){constructor(){super(...arguments),this._stack=[]}add(t,e){const n=this._stack,i=n[0];this._insertDescriptor(t);const r=n[0];i!==r&&!Ta(i,r)&&this.fire("change:top",{oldDescriptor:i,newDescriptor:r,writer:e})}remove(t,e){const n=this._stack,i=n[0];this._removeDescriptor(t);const r=n[0];i!==r&&!Ta(i,r)&&this.fire("change:top",{oldDescriptor:i,newDescriptor:r,writer:e})}_insertDescriptor(t){const e=this._stack,n=e.findIndex(r=>r.id===t.id);if(Ta(t,e[n]))return;n>-1&&e.splice(n,1);let i=0;for(;e[i]&&HT(e[i],t);)i++;e.splice(i,0,t)}_removeDescriptor(t){const e=this._stack,n=e.findIndex(i=>i.id===t);n>-1&&e.splice(n,1)}}function Ta(o,t){return o&&t&&o.priority==t.priority&&Wi(o.classes)==Wi(t.classes)}function HT(o,t){return o.priority>t.priority?!0:o.priorityWi(t.classes)}function Wi(o){return Array.isArray(o)?o.sort().join(","):o}const UT='',GT="ck-widget",Im="ck-widget_selected";function Nt(o){return o.is("element")?!!o.getCustomProperty("widget"):!1}function Go(o,t,e={}){if(!o.is("containerElement"))throw new w("widget-to-widget-wrong-element-type",null,{element:o});return t.setAttribute("contenteditable","false",o),t.addClass(GT,o),t.setCustomProperty("widget",!0,o),o.getFillerOffset=KT,t.setCustomProperty("widgetLabel",[],o),e.label&&$T(o,e.label),e.hasSelectionHandle&&YT(o,t),Mm(o,t),o}function qT(o,t,e){if(t.classes&&e.addClass(_t(t.classes),o),t.attributes)for(const n in t.attributes)e.setAttribute(n,t.attributes[n],o)}function WT(o,t,e){if(t.classes&&e.removeClass(_t(t.classes),o),t.attributes)for(const n in t.attributes)e.removeAttribute(n,o)}function Mm(o,t,e=qT,n=WT){const i=new VT;i.on("change:top",(a,c)=>{c.oldDescriptor&&n(o,c.oldDescriptor,c.writer),c.newDescriptor&&e(o,c.newDescriptor,c.writer)});const r=(a,c,l)=>i.add(c,l),s=(a,c,l)=>i.remove(c,l);t.setCustomProperty("addHighlight",r,o),t.setCustomProperty("removeHighlight",s,o)}function $T(o,t){o.getCustomProperty("widgetLabel").push(t)}function ZT(o){return o.getCustomProperty("widgetLabel").reduce((e,n)=>typeof n=="function"?e?e+". "+n():n():e?e+". "+n:n,"")}function Bm(o,t,e={}){return t.addClass(["ck-editor__editable","ck-editor__nested-editable"],o),t.setAttribute("role","textbox",o),e.label&&t.setAttribute("aria-label",e.label,o),t.setAttribute("contenteditable",o.isReadOnly?"false":"true",o),o.on("change:isReadOnly",(n,i,r)=>{t.setAttribute("contenteditable",r?"false":"true",o)}),o.on("change:isFocused",(n,i,r)=>{r?t.addClass("ck-editor__nested-editable_focused",o):t.removeClass("ck-editor__nested-editable_focused",o)}),Mm(o,t),o}function Nm(o,t){const e=o.getSelectedElement();if(e){const n=Ke(o);if(n)return t.createRange(t.createPositionAt(e,n))}return ng(o,t)}function KT(){return null}function YT(o,t){const e=t.createUIElement("div",{class:"ck ck-widget__selection-handle"},function(n){const i=this.toDomElement(n),r=new ze;return r.set("content",UT),r.render(),i.appendChild(r.element),i});t.insert(t.createPositionAt(o,0),e),t.addClass(["ck-widget_with-selection-handle"],o)}const Fe="widget-type-around";function mn(o,t,e){return!!o&&Nt(o)&&!e.isInline(t)}function QT(o){return o.closest(".ck-widget__type-around__button")}function JT(o){return o.classList.contains("ck-widget__type-around__button_before")?"before":"after"}function XT(o,t){const e=o.closest(".ck-widget");return t.mapDomToView(e)}function Ke(o){return o.getAttribute(Fe)}const tI='';var zm=L(2347),Ia={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ia.insert="head",Ia.singleton=!0,R()(zm.Z,Ia),zm.Z.locals;const Pm=["before","after"],eI=new DOMParser().parseFromString(tI,"image/svg+xml").firstChild,Lm="ck-widget__type-around_disabled";class nI extends M{constructor(){super(...arguments),this._currentFakeCaretModelElement=null}static get pluginName(){return"WidgetTypeAround"}static get requires(){return[Ho,Ee]}init(){const t=this.editor,e=t.editing.view;this.on("change:isEnabled",(n,i,r)=>{e.change(s=>{for(const a of e.document.roots)r?s.removeClass(Lm,a):s.addClass(Lm,a)}),r||t.model.change(s=>{s.removeSelectionAttribute(Fe)})}),this._enableTypeAroundUIInjection(),this._enableInsertingParagraphsOnButtonClick(),this._enableInsertingParagraphsOnEnterKeypress(),this._enableInsertingParagraphsOnTypingKeystroke(),this._enableTypeAroundFakeCaretActivationUsingKeyboardArrows(),this._enableDeleteIntegration(),this._enableInsertContentIntegration(),this._enableInsertObjectIntegration(),this._enableDeleteContentIntegration()}destroy(){super.destroy(),this._currentFakeCaretModelElement=null}_insertParagraph(t,e){const n=this.editor,i=n.editing.view,r=n.model.schema.getAttributesWithProperty(t,"copyOnReplace",!0);n.execute("insertParagraph",{position:n.model.createPositionAt(t,e),attributes:r}),i.focus(),i.scrollToTheSelection()}_listenToIfEnabled(t,e,n,i){this.listenTo(t,e,(...r)=>{this.isEnabled&&n(...r)},i)}_insertParagraphAccordingToFakeCaretPosition(){const n=this.editor.model.document.selection,i=Ke(n);if(!i)return!1;const r=n.getSelectedElement();return this._insertParagraph(r,i),!0}_enableTypeAroundUIInjection(){const t=this.editor,e=t.model.schema,n=t.locale.t,i={before:n("Insert paragraph before block"),after:n("Insert paragraph after block")};t.editing.downcastDispatcher.on("insert",(r,s,a)=>{const c=a.mapper.toViewElement(s.item);c&&mn(c,s.item,e)&&(oI(a.writer,i,c),c.getCustomProperty("widgetLabel").push(()=>this.isEnabled?n("Press Enter to type after or press Shift + Enter to type before the widget"):""))},{priority:"low"})}_enableTypeAroundFakeCaretActivationUsingKeyboardArrows(){const t=this.editor,e=t.model,n=e.document.selection,i=e.schema,r=t.editing.view;this._listenToIfEnabled(r.document,"arrowKey",(a,c)=>{this._handleArrowKeyPress(a,c)},{context:[Nt,"$text"],priority:"high"}),this._listenToIfEnabled(n,"change:range",(a,c)=>{c.directChange&&t.model.change(l=>{l.removeSelectionAttribute(Fe)})}),this._listenToIfEnabled(e.document,"change:data",()=>{const a=n.getSelectedElement();if(a){const c=t.editing.mapper.toViewElement(a);if(mn(c,a,i))return}t.model.change(c=>{c.removeSelectionAttribute(Fe)})}),this._listenToIfEnabled(t.editing.downcastDispatcher,"selection",(a,c,l)=>{const d=l.writer;if(this._currentFakeCaretModelElement){const b=l.mapper.toViewElement(this._currentFakeCaretModelElement);b&&(d.removeClass(Pm.map(s),b),this._currentFakeCaretModelElement=null)}const u=c.selection.getSelectedElement();if(!u)return;const m=l.mapper.toViewElement(u);if(!mn(m,u,i))return;const p=Ke(c.selection);p&&(d.addClass(s(p),m),this._currentFakeCaretModelElement=u)}),this._listenToIfEnabled(t.ui.focusTracker,"change:isFocused",(a,c,l)=>{l||t.model.change(d=>{d.removeSelectionAttribute(Fe)})});function s(a){return`ck-widget_type-around_show-fake-caret_${a}`}}_handleArrowKeyPress(t,e){const n=this.editor,i=n.model,r=i.document.selection,s=i.schema,a=n.editing.view,c=e.keyCode,l=wv(c,n.locale.contentLanguageDirection),d=a.document.selection.getSelectedElement(),u=n.editing.mapper.toModelElement(d);let m;mn(d,u,s)?m=this._handleArrowKeyPressOnSelectedWidget(l):r.isCollapsed?m=this._handleArrowKeyPressWhenSelectionNextToAWidget(l):e.shiftKey||(m=this._handleArrowKeyPressWhenNonCollapsedSelection(l)),m&&(e.preventDefault(),t.stop())}_handleArrowKeyPressOnSelectedWidget(t){const n=this.editor.model,i=n.document.selection,r=Ke(i);return n.change(s=>{if(r){if(!(r===(t?"after":"before")))return s.removeSelectionAttribute(Fe),!0}else return s.setSelectionAttribute(Fe,t?"after":"before"),!0;return!1})}_handleArrowKeyPressWhenSelectionNextToAWidget(t){const e=this.editor,n=e.model,i=n.schema,r=e.plugins.get("Widget"),s=r._getObjectElementNextToSelection(t),a=e.editing.mapper.toViewElement(s);return mn(a,s,i)?(n.change(c=>{r._setSelectionOverElement(s),c.setSelectionAttribute(Fe,t?"before":"after")}),!0):!1}_handleArrowKeyPressWhenNonCollapsedSelection(t){const e=this.editor,n=e.model,i=n.schema,r=e.editing.mapper,s=n.document.selection,a=t?s.getLastPosition().nodeBefore:s.getFirstPosition().nodeAfter,c=r.toViewElement(a);return mn(c,a,i)?(n.change(l=>{l.setSelection(a,"on"),l.setSelectionAttribute(Fe,t?"after":"before")}),!0):!1}_enableInsertingParagraphsOnButtonClick(){const t=this.editor,e=t.editing.view;this._listenToIfEnabled(e.document,"mousedown",(n,i)=>{const r=QT(i.domTarget);if(!r)return;const s=JT(r),a=XT(r,e.domConverter),c=t.editing.mapper.toModelElement(a);this._insertParagraph(c,s),i.preventDefault(),n.stop()})}_enableInsertingParagraphsOnEnterKeypress(){const t=this.editor,e=t.model.document.selection,n=t.editing.view;this._listenToIfEnabled(n.document,"enter",(i,r)=>{if(i.eventPhase!="atTarget")return;const s=e.getSelectedElement(),a=t.editing.mapper.toViewElement(s),c=t.model.schema;let l;this._insertParagraphAccordingToFakeCaretPosition()?l=!0:mn(a,s,c)&&(this._insertParagraph(s,r.isSoft?"before":"after"),l=!0),l&&(r.preventDefault(),i.stop())},{context:Nt})}_enableInsertingParagraphsOnTypingKeystroke(){const e=this.editor.editing.view.document;this._listenToIfEnabled(e,"insertText",(n,i)=>{this._insertParagraphAccordingToFakeCaretPosition()&&(i.selection=e.selection)},{priority:"high"}),g.isAndroid?this._listenToIfEnabled(e,"keydown",(n,i)=>{i.keyCode==229&&this._insertParagraphAccordingToFakeCaretPosition()}):this._listenToIfEnabled(e,"compositionstart",()=>{this._insertParagraphAccordingToFakeCaretPosition()},{priority:"high"})}_enableDeleteIntegration(){const t=this.editor,e=t.editing.view,n=t.model,i=n.schema;this._listenToIfEnabled(e.document,"delete",(r,s)=>{if(r.eventPhase!="atTarget")return;const a=Ke(n.document.selection);if(!a)return;const c=s.direction,l=n.document.selection.getSelectedElement(),d=a==="before",u=c=="forward";if(d===u)t.execute("delete",{selection:n.createSelection(l,"on")});else{const p=i.getNearestSelectionRange(n.createPositionAt(l,a),c);if(p)if(!p.isCollapsed)n.change(b=>{b.setSelection(p),t.execute(u?"deleteForward":"delete")});else{const b=n.createSelection(p.start);if(n.modifySelection(b,{direction:c}),!b.focus.isEqual(p.start))n.change(S=>{S.setSelection(p),t.execute(u?"deleteForward":"delete")});else{const S=sI(i,p.start.parent);n.deleteContent(n.createSelection(S,"on"),{doNotAutoparagraph:!0})}}}s.preventDefault(),r.stop()},{context:Nt})}_enableInsertContentIntegration(){const t=this.editor,e=this.editor.model,n=e.document.selection;this._listenToIfEnabled(t.model,"insertContent",(i,[r,s])=>{if(s&&!s.is("documentSelection"))return;const a=Ke(n);if(a)return i.stop(),e.change(c=>{const l=n.getSelectedElement(),d=e.createPositionAt(l,a),u=c.createSelection(d),m=e.insertContent(r,u);return c.setSelection(u),m})},{priority:"high"})}_enableInsertObjectIntegration(){const t=this.editor,n=this.editor.model.document.selection;this._listenToIfEnabled(t.model,"insertObject",(i,r)=>{const[,s,a={}]=r;if(s&&!s.is("documentSelection"))return;const c=Ke(n);c&&(a.findOptimalPosition=c,r[3]=a)},{priority:"high"})}_enableDeleteContentIntegration(){const t=this.editor,n=this.editor.model.document.selection;this._listenToIfEnabled(t.model,"deleteContent",(i,[r])=>{if(r&&!r.is("documentSelection"))return;Ke(n)&&i.stop()},{priority:"high"})}}function oI(o,t,e){const n=o.createUIElement("div",{class:"ck ck-reset_all ck-widget__type-around"},function(i){const r=this.toDomElement(i);return iI(r,t),rI(r),r});o.insert(o.createPositionAt(e,"end"),n)}function iI(o,t){for(const e of Pm){const n=new $t({tag:"div",attributes:{class:["ck","ck-widget__type-around__button",`ck-widget__type-around__button_${e}`],title:t[e],"aria-hidden":"true"},children:[o.ownerDocument.importNode(eI,!0)]});o.appendChild(n.render())}}function rI(o){const t=new $t({tag:"div",attributes:{class:["ck","ck-widget__type-around__fake-caret"]}});o.appendChild(t.render())}function sI(o,t){let e=t;for(const n of t.getAncestors({parentFirst:!0})){if(n.childCount>1||o.isLimit(n))break;e=n}return e}function aI(o){const t=o.model;return(e,n)=>{const i=n.keyCode==tt.arrowup,r=n.keyCode==tt.arrowdown,s=n.shiftKey,a=t.document.selection;if(!i&&!r)return;const c=r;if(s&&dI(a,c))return;const l=cI(o,a,c);if(l){if(l.isCollapsed){if(a.isCollapsed)return;if(s)return}(l.isCollapsed||lI(o,l,c))&&(t.change(d=>{const u=c?l.end:l.start;if(s){const m=t.createSelection(a.anchor);m.setFocus(u),d.setSelection(m)}else d.setSelection(u)}),e.stop(),n.preventDefault(),n.stopPropagation())}}}function cI(o,t,e){const n=o.model;if(e){const i=t.isCollapsed?t.focus:t.getLastPosition(),r=Om(n,i,"forward");if(!r)return null;const s=n.createRange(i,r),a=Rm(n.schema,s,"backward");return a?n.createRange(i,a):null}else{const i=t.isCollapsed?t.focus:t.getFirstPosition(),r=Om(n,i,"backward");if(!r)return null;const s=n.createRange(r,i),a=Rm(n.schema,s,"forward");return a?n.createRange(a,i):null}}function Om(o,t,e){const n=o.schema,i=o.createRangeIn(t.root),r=e=="forward"?"elementStart":"elementEnd";for(const{previousPosition:s,item:a,type:c}of i.getWalker({startPosition:t,direction:e})){if(n.isLimit(a)&&!n.isInline(a))return s;if(c==r&&n.isBlock(a))return null}return null}function Rm(o,t,e){const n=e=="backward"?t.end:t.start;if(o.checkChild(n,"$text"))return n;for(const{nextPosition:i}of t.getWalker({direction:e}))if(o.checkChild(i,"$text"))return i;return null}function lI(o,t,e){const n=o.model,i=o.view.domConverter;if(e){const l=n.createSelection(t.start);n.modifySelection(l),!l.focus.isAtEnd&&!t.start.isEqual(l.focus)&&(t=n.createRange(l.focus,t.end))}const r=o.mapper.toViewRange(t),s=i.viewRangeToDom(r),a=J.getDomRangeRects(s);let c;for(const l of a){if(c===void 0){c=Math.round(l.bottom);continue}if(Math.round(l.top)>=c)return!1;c=Math.max(c,Math.round(l.bottom))}return!0}function dI(o,t){return!o.isCollapsed&&o.isBackward==t}var jm=L(7153),Ma={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ma.insert="head",Ma.singleton=!0,R()(jm.Z,Ma),jm.Z.locals;class $n extends M{constructor(){super(...arguments),this._previouslySelected=new Set}static get pluginName(){return"Widget"}static get requires(){return[nI,Ee]}init(){const t=this.editor,e=t.editing.view,n=e.document;this.editor.editing.downcastDispatcher.on("selection",(i,r,s)=>{const a=s.writer,c=r.selection;if(c.isCollapsed)return;const l=c.getSelectedElement();if(!l)return;const d=t.editing.mapper.toViewElement(l);Nt(d)&&s.consumable.consume(c,"selection")&&a.setSelection(a.createRangeOn(d),{fake:!0,label:ZT(d)})}),this.editor.editing.downcastDispatcher.on("selection",(i,r,s)=>{this._clearPreviouslySelectedWidgets(s.writer);const a=s.writer,c=a.document.selection;let l=null;for(const d of c.getRanges())for(const u of d){const m=u.item;Nt(m)&&!hI(m,l)&&(a.addClass(Im,m),this._previouslySelected.add(m),l=m)}},{priority:"low"}),e.addObserver(Mi),this.listenTo(n,"mousedown",(...i)=>this._onMousedown(...i)),this.listenTo(n,"arrowKey",(...i)=>{this._handleSelectionChangeOnArrowKeyPress(...i)},{context:[Nt,"$text"]}),this.listenTo(n,"arrowKey",(...i)=>{this._preventDefaultOnArrowKeyPress(...i)},{context:"$root"}),this.listenTo(n,"arrowKey",aI(this.editor.editing),{context:"$text"}),this.listenTo(n,"delete",(i,r)=>{this._handleDelete(r.direction=="forward")&&(r.preventDefault(),i.stop())},{context:"$root"})}_onMousedown(t,e){const n=this.editor,i=n.editing.view,r=i.document;let s=e.target;if(e.domEvent.detail>=3){this._selectBlockContent(s)&&e.preventDefault();return}if(uI(s)||!Nt(s)&&(s=s.findAncestor(Nt),!s))return;g.isAndroid&&e.preventDefault(),r.isFocused||i.focus();const a=n.editing.mapper.toModelElement(s);this._setSelectionOverElement(a)}_selectBlockContent(t){const e=this.editor,n=e.model,i=e.editing.mapper,r=n.schema,s=i.findMappedViewAncestor(this.editor.editing.view.createPositionAt(t,0)),a=gI(i.toModelElement(s),n.schema);return a?(n.change(c=>{const l=r.isLimit(a)?null:mI(c.createPositionAfter(a),r),d=c.createPositionAt(a,0),u=l?c.createPositionAt(l,0):c.createPositionAt(a,"end");c.setSelection(c.createRange(d,u))}),!0):!1}_handleSelectionChangeOnArrowKeyPress(t,e){const n=e.keyCode,i=this.editor.model,r=i.schema,s=i.document.selection,a=s.getSelectedElement(),c=Or(n,this.editor.locale.contentLanguageDirection),l=c=="down"||c=="right",d=c=="up"||c=="down";if(a&&r.isObject(a)){const m=l?s.getLastPosition():s.getFirstPosition(),p=r.getNearestSelectionRange(m,l?"forward":"backward");p&&(i.change(b=>{b.setSelection(p)}),e.preventDefault(),t.stop());return}if(!s.isCollapsed&&!e.shiftKey){const m=s.getFirstPosition(),p=s.getLastPosition(),b=m.nodeAfter,S=p.nodeBefore;(b&&r.isObject(b)||S&&r.isObject(S))&&(i.change(B=>{B.setSelection(l?p:m)}),e.preventDefault(),t.stop());return}if(!s.isCollapsed)return;const u=this._getObjectElementNextToSelection(l);if(u&&r.isObject(u)){if(r.isInline(u)&&d)return;this._setSelectionOverElement(u),e.preventDefault(),t.stop()}}_preventDefaultOnArrowKeyPress(t,e){const n=this.editor.model,i=n.schema,r=n.document.selection.getSelectedElement();r&&i.isObject(r)&&(e.preventDefault(),t.stop())}_handleDelete(t){const n=this.editor.model.document.selection;if(!this.editor.model.canEditAt(n)||!n.isCollapsed)return;const i=this._getObjectElementNextToSelection(t);if(i)return this.editor.model.change(r=>{let s=n.anchor.parent;for(;s.isEmpty;){const a=s;s=a.parent,r.remove(a)}this._setSelectionOverElement(i)}),!0}_setSelectionOverElement(t){this.editor.model.change(e=>{e.setSelection(e.createRangeOn(t))})}_getObjectElementNextToSelection(t){const e=this.editor.model,n=e.schema,i=e.document.selection,r=e.createSelection(i);if(e.modifySelection(r,{direction:t?"forward":"backward"}),r.isEqual(i))return null;const s=t?r.focus.nodeBefore:r.focus.nodeAfter;return s&&n.isObject(s)?s:null}_clearPreviouslySelectedWidgets(t){for(const e of this._previouslySelected)t.removeClass(Im,e);this._previouslySelected.clear()}}function uI(o){let t=o;for(;t;){if(t.is("editableElement")&&!t.is("rootElement"))return!0;if(Nt(t))return!1;t=t.parent}return!1}function hI(o,t){return t?Array.from(o.getAncestors()).includes(t):!1}function gI(o,t){for(const e of o.getAncestors({includeSelf:!0,parentFirst:!0})){if(t.checkChild(e,"$text"))return e;if(t.isLimit(e)&&!t.isObject(e))break}return null}function mI(o,t){const e=new we({startPosition:o});for(const{item:n}of e){if(t.isLimit(n)||!n.is("element"))return null;if(t.checkChild(n,"$text"))return n}return null}class $i extends M{constructor(){super(...arguments),this._toolbarDefinitions=new Map}static get requires(){return[Fi]}static get pluginName(){return"WidgetToolbarRepository"}init(){const t=this.editor;if(t.plugins.has("BalloonToolbar")){const e=t.plugins.get("BalloonToolbar");this.listenTo(e,"show",n=>{fI(t.editing.view.document.selection)&&n.stop()},{priority:"high"})}this._balloon=this.editor.plugins.get("ContextualBalloon"),this.on("change:isEnabled",()=>{this._updateToolbarsVisibility()}),this.listenTo(t.ui,"update",()=>{this._updateToolbarsVisibility()}),this.listenTo(t.ui.focusTracker,"change:isFocused",()=>{this._updateToolbarsVisibility()},{priority:"low"})}destroy(){super.destroy();for(const t of this._toolbarDefinitions.values())t.view.destroy()}register(t,{ariaLabel:e,items:n,getRelatedElement:i,balloonClassName:r="ck-toolbar-container"}){if(!n.length){return}const s=this.editor,a=s.t,c=new Os(s.locale);if(c.ariaLabel=e||a("Widget toolbar"),this._toolbarDefinitions.has(t))throw new w("widget-toolbar-duplicated",this,{toolbarId:t});const l={view:c,getRelatedElement:i,balloonClassName:r,itemsConfig:n,initialized:!1};s.ui.addToolbar(c,{isContextual:!0,beforeFocus:()=>{const d=i(s.editing.view.document.selection);d&&this._showToolbar(l,d)},afterBlur:()=>{this._hideToolbar(l)}}),this._toolbarDefinitions.set(t,l)}_updateToolbarsVisibility(){let t=0,e=null,n=null;for(const i of this._toolbarDefinitions.values()){const r=i.getRelatedElement(this.editor.editing.view.document.selection);if(!this.isEnabled||!r)this._isToolbarInBalloon(i)&&this._hideToolbar(i);else if(!this.editor.ui.focusTracker.isFocused)this._isToolbarVisible(i)&&this._hideToolbar(i);else{const s=r.getAncestors().length;s>t&&(t=s,e=r,n=i)}}n&&this._showToolbar(n,e)}_hideToolbar(t){this._balloon.remove(t.view),this.stopListening(this._balloon,"change:visibleView")}_showToolbar(t,e){this._isToolbarVisible(t)?Fm(this.editor,e):this._isToolbarInBalloon(t)||(t.initialized||(t.initialized=!0,t.view.fillFromConfig(t.itemsConfig,this.editor.ui.componentFactory)),this._balloon.add({view:t.view,position:Vm(this.editor,e),balloonClassName:t.balloonClassName}),this.listenTo(this._balloon,"change:visibleView",()=>{for(const n of this._toolbarDefinitions.values())if(this._isToolbarVisible(n)){const i=n.getRelatedElement(this.editor.editing.view.document.selection);Fm(this.editor,i)}}))}_isToolbarVisible(t){return this._balloon.visibleView===t.view}_isToolbarInBalloon(t){return this._balloon.hasView(t.view)}}function Fm(o,t){const e=o.plugins.get("ContextualBalloon"),n=Vm(o,t);e.updatePosition(n)}function Vm(o,t){const e=o.editing.view,n=jt.defaultPositions;return{target:e.domConverter.mapViewToDom(t),positions:[n.northArrowSouth,n.northArrowSouthWest,n.northArrowSouthEast,n.southArrowNorth,n.southArrowNorthWest,n.southArrowNorthEast,n.viewportStickyNorth]}}function fI(o){const t=o.getSelectedElement();return!!(t&&Nt(t))}class pI extends st(){constructor(t){super(),this.set("activeHandlePosition",null),this.set("proposedWidthPercents",null),this.set("proposedWidth",null),this.set("proposedHeight",null),this.set("proposedHandleHostWidth",null),this.set("proposedHandleHostHeight",null),this._options=t,this._referenceCoordinates=null}get originalWidth(){return this._originalWidth}get originalHeight(){return this._originalHeight}get originalWidthPercents(){return this._originalWidthPercents}get aspectRatio(){return this._aspectRatio}begin(t,e,n){const i=new J(e);this.activeHandlePosition=AI(t),this._referenceCoordinates=bI(e,CI(this.activeHandlePosition)),this._originalWidth=i.width,this._originalHeight=i.height,this._aspectRatio=i.width/i.height;const r=n.style.width;r&&r.match(/^\d+(\.\d*)?%$/)?this._originalWidthPercents=parseFloat(r):this._originalWidthPercents=kI(n,i)}update(t){this.proposedWidth=t.width,this.proposedHeight=t.height,this.proposedWidthPercents=t.widthPercents,this.proposedHandleHostWidth=t.handleHostWidth,this.proposedHandleHostHeight=t.handleHostHeight}}function kI(o,t){const e=o.parentElement;let n=parseFloat(e.ownerDocument.defaultView.getComputedStyle(e).width);const i=5;let r=0,s=e;for(;isNaN(n);){if(s=s.parentElement,++r>i)return 0;n=parseFloat(e.ownerDocument.defaultView.getComputedStyle(s).width)}return t.width/n*100}function bI(o,t){const e=new J(o),n=t.split("-"),i={x:n[1]=="right"?e.right:e.left,y:n[0]=="bottom"?e.bottom:e.top};return i.x+=o.ownerDocument.defaultView.scrollX,i.y+=o.ownerDocument.defaultView.scrollY,i}function wI(o){return`ck-widget__resizer__handle-${o}`}function AI(o){const t=["top-left","top-right","bottom-right","bottom-left"];for(const e of t)if(o.classList.contains(wI(e)))return e}function CI(o){const t=o.split("-"),e={top:"bottom",bottom:"top",left:"right",right:"left"};return`${e[t[0]]}-${e[t[1]]}`}class _I extends G{constructor(){super();const t=this.bindTemplate;this.setTemplate({tag:"div",attributes:{class:["ck","ck-size-view",t.to("_viewPosition",e=>e?`ck-orientation-${e}`:"")],style:{display:t.if("_isVisible","none",e=>!e)}},children:[{text:t.to("_label")}]})}_bindToState(t,e){this.bind("_isVisible").to(e,"proposedWidth",e,"proposedHeight",(n,i)=>n!==null&&i!==null),this.bind("_label").to(e,"proposedHandleHostWidth",e,"proposedHandleHostHeight",e,"proposedWidthPercents",(n,i,r)=>t.unit==="px"?`${n}×${i}`:`${r}%`),this.bind("_viewPosition").to(e,"activeHandlePosition",e,"proposedHandleHostWidth",e,"proposedHandleHostHeight",(n,i,r)=>i<50||r<50?"above-center":n)}_dismiss(){this.unbind(),this._isVisible=!1}}class Hm extends st(){constructor(t){super(),this._viewResizerWrapper=null,this._options=t,this.set("isEnabled",!0),this.set("isSelected",!1),this.bind("isVisible").to(this,"isEnabled",this,"isSelected",(e,n)=>e&&n),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"})}get state(){return this._state}show(){this._options.editor.editing.view.change(e=>{e.removeClass("ck-hidden",this._viewResizerWrapper)})}hide(){this._options.editor.editing.view.change(e=>{e.addClass("ck-hidden",this._viewResizerWrapper)})}attach(){const t=this,e=this._options.viewElement;this._options.editor.editing.view.change(i=>{const r=i.createUIElement("div",{class:"ck ck-reset_all ck-widget__resizer"},function(s){const a=this.toDomElement(s);return t._appendHandles(a),t._appendSizeUI(a),a});i.insert(i.createPositionAt(e,"end"),r),i.addClass("ck-widget_with-resizer",e),this._viewResizerWrapper=r,this.isVisible||this.hide()}),this.on("change:isVisible",()=>{this.isVisible?(this.show(),this.redraw()):this.hide()})}begin(t){this._state=new pI(this._options),this._sizeView._bindToState(this._options,this.state),this._initialViewWidth=this._options.viewElement.getStyle("width"),this.state.begin(t,this._getHandleHost(),this._getResizeHost())}updateSize(t){const e=this._proposeNewSize(t);this._options.editor.editing.view.change(l=>{const d=this._options.unit||"%",u=(d==="%"?e.widthPercents:e.width)+d;l.setStyle("width",u,this._options.viewElement)});const i=this._getHandleHost(),r=new J(i),s=Math.round(r.width),a=Math.round(r.height),c=new J(i);e.width=Math.round(c.width),e.height=Math.round(c.height),this.redraw(r),this.state.update({...e,handleHostWidth:s,handleHostHeight:a})}commit(){const t=this._options.unit||"%",e=(t==="%"?this.state.proposedWidthPercents:this.state.proposedWidth)+t;this._options.editor.editing.view.change(()=>{this._cleanup(),this._options.onCommit(e)})}cancel(){this._cleanup()}destroy(){this.cancel()}redraw(t){const e=this._domResizerWrapper;if(!xI(e))return;const n=e.parentElement,i=this._getHandleHost(),r=this._viewResizerWrapper,s=[r.getStyle("width"),r.getStyle("height"),r.getStyle("left"),r.getStyle("top")];let a;if(n.isSameNode(i)){const c=t||new J(i);a=[c.width+"px",c.height+"px",void 0,void 0]}else a=[i.offsetWidth+"px",i.offsetHeight+"px",i.offsetLeft+"px",i.offsetTop+"px"];Ft(s,a)!=="same"&&this._options.editor.editing.view.change(c=>{c.setStyle({width:a[0],height:a[1],left:a[2],top:a[3]},r)})}containsHandle(t){return this._domResizerWrapper.contains(t)}static isResizeHandle(t){return t.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(t){const e=this.state,n=yI(t),i=this._options.isCentered?this._options.isCentered(this):!0,r={x:e._referenceCoordinates.x-(n.x+e.originalWidth),y:n.y-e.originalHeight-e._referenceCoordinates.y};i&&e.activeHandlePosition.endsWith("-right")&&(r.x=n.x-(e._referenceCoordinates.x+e.originalWidth)),i&&(r.x*=2);let s=Math.abs(e.originalWidth+r.x),a=Math.abs(e.originalHeight+r.y);return(s/e.aspectRatio>a?"width":"height")=="width"?a=s/e.aspectRatio:s=a*e.aspectRatio,{width:Math.round(s),height:Math.round(a),widthPercents:Math.min(Math.round(e.originalWidthPercents/e.originalWidth*s*100)/100,100)}}_getResizeHost(){const t=this._domResizerWrapper.parentElement;return this._options.getResizeHost(t)}_getHandleHost(){const t=this._domResizerWrapper.parentElement;return this._options.getHandleHost(t)}get _domResizerWrapper(){return this._options.editor.editing.view.domConverter.mapViewToDom(this._viewResizerWrapper)}_appendHandles(t){const e=["top-left","top-right","bottom-right","bottom-left"];for(const n of e)t.appendChild(new $t({tag:"div",attributes:{class:`ck-widget__resizer__handle ${vI(n)}`}}).render())}_appendSizeUI(t){this._sizeView=new _I,this._sizeView.render(),t.appendChild(this._sizeView.element)}}function vI(o){return`ck-widget__resizer__handle-${o}`}function yI(o){return{x:o.pageX,y:o.pageY}}function xI(o){return o&&o.ownerDocument&&o.ownerDocument.contains(o)}var Um=L(4875),Ba={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ba.insert="head",Ba.singleton=!0,R()(Um.Z,Ba),Um.Z.locals;class Na extends M{constructor(){super(...arguments),this._resizers=new Map}static get pluginName(){return"WidgetResize"}init(){const t=this.editor.editing,e=U.window.document;this.set("selectedResizer",null),this.set("_activeResizer",null),t.view.addObserver(Mi),this._observer=new(Xt()),this.listenTo(t.view.document,"mousedown",this._mouseDownListener.bind(this),{priority:"high"}),this._observer.listenTo(e,"mousemove",this._mouseMoveListener.bind(this)),this._observer.listenTo(e,"mouseup",this._mouseUpListener.bind(this)),this._redrawSelectedResizerThrottled=Po(()=>this.redrawSelectedResizer(),200),this.editor.ui.on("update",this._redrawSelectedResizerThrottled),this.editor.model.document.on("change",()=>{for(const[i,r]of this._resizers)i.isAttached()||(this._resizers.delete(i),r.destroy())},{priority:"lowest"}),this._observer.listenTo(U.window,"resize",this._redrawSelectedResizerThrottled);const n=this.editor.editing.view.document.selection;n.on("change",()=>{const i=n.getSelectedElement(),r=this.getResizerByViewElement(i)||null;r?this.select(r):this.deselect()})}redrawSelectedResizer(){this.selectedResizer&&this.selectedResizer.isVisible&&this.selectedResizer.redraw()}destroy(){super.destroy(),this._observer.stopListening();for(const t of this._resizers.values())t.destroy();this._redrawSelectedResizerThrottled.cancel()}select(t){this.deselect(),this.selectedResizer=t,this.selectedResizer.isSelected=!0}deselect(){this.selectedResizer&&(this.selectedResizer.isSelected=!1),this.selectedResizer=null}attachTo(t){const e=new Hm(t),n=this.editor.plugins;if(e.attach(),n.has("WidgetToolbarRepository")){const s=n.get("WidgetToolbarRepository");e.on("begin",()=>{s.forceDisabled("resize")},{priority:"lowest"}),e.on("cancel",()=>{s.clearForceDisabled("resize")},{priority:"highest"}),e.on("commit",()=>{s.clearForceDisabled("resize")},{priority:"highest"})}this._resizers.set(t.viewElement,e);const r=this.editor.editing.view.document.selection.getSelectedElement();return this.getResizerByViewElement(r)==e&&this.select(e),e}getResizerByViewElement(t){return this._resizers.get(t)}_getResizerByHandle(t){for(const e of this._resizers.values())if(e.containsHandle(t))return e}_mouseDownListener(t,e){const n=e.domTarget;Hm.isResizeHandle(n)&&(this._activeResizer=this._getResizerByHandle(n)||null,this._activeResizer&&(this._activeResizer.begin(n),t.stop(),e.preventDefault()))}_mouseMoveListener(t,e){this._activeResizer&&this._activeResizer.updateSize(e)}_mouseUpListener(){this._activeResizer&&(this._activeResizer.commit(),this._activeResizer=null)}}const za=uo("px");class EI extends G{constructor(){super();const t=this.bindTemplate;this.set({isVisible:!1,left:null,top:null,width:null}),this.setTemplate({tag:"div",attributes:{class:["ck","ck-clipboard-drop-target-line",t.if("isVisible","ck-hidden",e=>!e)],style:{left:t.to("left",e=>za(e)),top:t.to("top",e=>za(e)),width:t.to("width",e=>za(e))}}})}}class Zi extends M{constructor(){super(...arguments),this.removeDropMarkerDelayed=Rr(()=>this.removeDropMarker(),40),this._updateDropMarkerThrottled=Po(t=>this._updateDropMarker(t),40),this._reconvertMarkerThrottled=Po(()=>{this.editor.model.markers.has("drop-target")&&this.editor.editing.reconvertMarker("drop-target")},0),this._dropTargetLineView=new EI,this._domEmitter=new(Xt()),this._scrollables=new Map}static get pluginName(){return"DragDropTarget"}init(){this._setupDropMarker()}destroy(){this._domEmitter.stopListening();for(const{resizeObserver:t}of this._scrollables.values())t.destroy();return this._updateDropMarkerThrottled.cancel(),this.removeDropMarkerDelayed.cancel(),this._reconvertMarkerThrottled.cancel(),super.destroy()}updateDropMarker(t,e,n,i,r,s){this.removeDropMarkerDelayed.cancel();const a=Gm(this.editor,t,e,n,i,r,s);if(a){if(s&&s.containsRange(a))return this.removeDropMarker();this._updateDropMarkerThrottled(a)}}getFinalDropRange(t,e,n,i,r,s){const a=Gm(this.editor,t,e,n,i,r,s);return this.removeDropMarker(),a}removeDropMarker(){const t=this.editor.model;this.removeDropMarkerDelayed.cancel(),this._updateDropMarkerThrottled.cancel(),this._dropTargetLineView.isVisible=!1,t.markers.has("drop-target")&&t.change(e=>{e.removeMarker("drop-target")})}_setupDropMarker(){const t=this.editor;t.ui.view.body.add(this._dropTargetLineView),t.conversion.for("editingDowncast").markerToHighlight({model:"drop-target",view:{classes:["ck-clipboard-drop-target-range"]}}),t.conversion.for("editingDowncast").markerToElement({model:"drop-target",view:(e,{writer:n})=>{if(t.model.schema.checkChild(e.markerRange.start,"$text"))return this._dropTargetLineView.isVisible=!1,this._createDropTargetPosition(n);e.markerRange.isCollapsed?this._updateDropTargetLine(e.markerRange):this._dropTargetLineView.isVisible=!1}})}_updateDropMarker(t){const e=this.editor,n=e.model.markers;e.model.change(i=>{n.has("drop-target")?n.get("drop-target").getRange().isEqual(t)||i.updateMarker("drop-target",{range:t}):i.addMarker("drop-target",{range:t,usingOperation:!1,affectsData:!1})})}_createDropTargetPosition(t){return t.createUIElement("span",{class:"ck ck-clipboard-drop-target-position"},function(e){const n=this.toDomElement(e);return n.append("⁠",e.createElement("span"),"⁠"),n})}_updateDropTargetLine(t){const e=this.editor.editing,n=t.start.nodeBefore,i=t.start.nodeAfter,r=t.start.parent,s=n?e.mapper.toViewElement(n):null,a=s?e.view.domConverter.mapViewToDom(s):null,c=i?e.mapper.toViewElement(i):null,l=c?e.view.domConverter.mapViewToDom(c):null,d=e.mapper.toViewElement(r),u=e.view.domConverter.mapViewToDom(d),m=this._getScrollableRect(d),{scrollX:p,scrollY:b}=U.window,S=a?new J(a):null,B=l?new J(l):null,z=new J(u).excludeScrollbarsAndBorders(),V=S?S.bottom:z.top,X=B?B.top:z.bottom,at=U.window.getComputedStyle(u),ft=V<=X?(V+X)/2:X;if(m.topa.schema.checkChild(m,b))){if(a.schema.checkChild(m,"$text"))return a.createRange(m);if(u)return Ki(o,Wm(o,u.parent),n,i)}}}else if(a.schema.isInline(d))return Ki(o,d,n,i)}if(a.schema.isBlock(d))return Ki(o,d,n,i);if(a.schema.checkChild(d,"$block")){const u=Array.from(d.getChildren()).filter(b=>b.is("element")&&!DI(o,b));let m=0,p=u.length;if(p==0)return a.createRange(a.createPositionAt(d,"end"));for(;m{i?(this.forceDisabled("readOnlyMode"),this._isBlockDragging=!1):this.clearForceDisabled("readOnlyMode")}),g.isAndroid&&this.forceDisabled("noAndroidSupport"),t.plugins.has("BlockToolbar")){const n=t.plugins.get("BlockToolbar").buttonView.element;this._domEmitter.listenTo(n,"dragstart",(i,r)=>this._handleBlockDragStart(r)),this._domEmitter.listenTo(U.document,"dragover",(i,r)=>this._handleBlockDragging(r)),this._domEmitter.listenTo(U.document,"drop",(i,r)=>this._handleBlockDragging(r)),this._domEmitter.listenTo(U.document,"dragend",()=>this._handleBlockDragEnd(),{useCapture:!0}),this.isEnabled&&n.setAttribute("draggable","true"),this.on("change:isEnabled",(i,r,s)=>{n.setAttribute("draggable",s?"true":"false")})}}destroy(){return this._domEmitter.stopListening(),super.destroy()}_handleBlockDragStart(t){if(!this.isEnabled)return;const e=this.editor.model,n=e.document.selection,i=this.editor.editing.view,r=Array.from(n.getSelectedBlocks()),s=e.createRange(e.createPositionBefore(r[0]),e.createPositionAfter(r[r.length-1]));e.change(a=>a.setSelection(s)),this._isBlockDragging=!0,i.focus(),i.getObserver(Uo).onDomEvent(t)}_handleBlockDragging(t){if(!this.isEnabled||!this._isBlockDragging)return;const e=t.clientX+(this.editor.locale.contentLanguageDirection=="ltr"?100:-100),n=t.clientY,i=document.elementFromPoint(e,n),r=this.editor.editing.view;!i||!i.closest(".ck-editor__editable")||r.getObserver(Uo).onDomEvent({...t,type:t.type,dataTransfer:t.dataTransfer,target:i,clientX:e,clientY:n,preventDefault:()=>t.preventDefault(),stopPropagation:()=>t.stopPropagation()})}_handleBlockDragEnd(){this._isBlockDragging=!1}}var $m=L(799),Pa={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Pa.insert="head",Pa.singleton=!0,R()($m.Z,Pa),$m.Z.locals;class II extends M{constructor(){super(...arguments),this._clearDraggableAttributesDelayed=Rr(()=>this._clearDraggableAttributes(),40),this._blockMode=!1,this._domEmitter=new(Xt())}static get pluginName(){return"DragDrop"}static get requires(){return[De,$n,Zi,TI]}init(){const t=this.editor,e=t.editing.view;this._draggedRange=null,this._draggingUid="",this._draggableElement=null,e.addObserver(Uo),e.addObserver(Mi),this._setupDragging(),this._setupContentInsertionIntegration(),this._setupClipboardInputIntegration(),this._setupDraggableAttributeHandling(),this.listenTo(t,"change:isReadOnly",(n,i,r)=>{r?this.forceDisabled("readOnlyMode"):this.clearForceDisabled("readOnlyMode")}),this.on("change:isEnabled",(n,i,r)=>{r||this._finalizeDragging(!1)}),g.isAndroid&&this.forceDisabled("noAndroidSupport")}destroy(){return this._draggedRange&&(this._draggedRange.detach(),this._draggedRange=null),this._previewContainer&&this._previewContainer.remove(),this._domEmitter.stopListening(),this._clearDraggableAttributesDelayed.cancel(),super.destroy()}_setupDragging(){const t=this.editor,e=t.model,n=t.editing.view,i=n.document,r=t.plugins.get(Zi);this.listenTo(i,"dragstart",(s,a)=>{if(a.target&&a.target.is("editableElement")){a.preventDefault();return}if(this._prepareDraggedRange(a.target),!this._draggedRange){a.preventDefault();return}this._draggingUid=qt(),a.dataTransfer.effectAllowed=this.isEnabled?"copyMove":"copy",a.dataTransfer.setData("application/ckeditor5-dragging-uid",this._draggingUid);const c=e.createSelection(this._draggedRange.toRange());this.editor.plugins.get("ClipboardPipeline")._fireOutputTransformationEvent(a.dataTransfer,c,"dragstart");const{dataTransfer:d,domTarget:u,domEvent:m}=a,{clientX:p}=m;this._updatePreview({dataTransfer:d,domTarget:u,clientX:p}),a.stopPropagation(),this.isEnabled||(this._draggedRange.detach(),this._draggedRange=null,this._draggingUid="")},{priority:"low"}),this.listenTo(i,"dragend",(s,a)=>{this._finalizeDragging(!a.dataTransfer.isCanceled&&a.dataTransfer.dropEffect=="move")},{priority:"low"}),this._domEmitter.listenTo(U.document,"dragend",()=>{this._blockMode=!1},{useCapture:!0}),this.listenTo(i,"dragenter",()=>{this.isEnabled&&n.focus()}),this.listenTo(i,"dragleave",()=>{r.removeDropMarkerDelayed()}),this.listenTo(i,"dragging",(s,a)=>{if(!this.isEnabled){a.dataTransfer.dropEffect="none";return}const{clientX:c,clientY:l}=a.domEvent;r.updateDropMarker(a.target,a.targetRanges,c,l,this._blockMode,this._draggedRange),this._draggedRange||(a.dataTransfer.dropEffect="copy"),g.isGecko||(a.dataTransfer.effectAllowed=="copy"?a.dataTransfer.dropEffect="copy":["all","copyMove"].includes(a.dataTransfer.effectAllowed)&&(a.dataTransfer.dropEffect="move")),s.stop()},{priority:"low"})}_setupClipboardInputIntegration(){const t=this.editor,n=t.editing.view.document,i=t.plugins.get(Zi);this.listenTo(n,"clipboardInput",(r,s)=>{if(s.method!="drop")return;const{clientX:a,clientY:c}=s.domEvent,l=i.getFinalDropRange(s.target,s.targetRanges,a,c,this._blockMode,this._draggedRange);if(!l){this._finalizeDragging(!1),r.stop();return}if(this._draggedRange&&this._draggingUid!=s.dataTransfer.getData("application/ckeditor5-dragging-uid")&&(this._draggedRange.detach(),this._draggedRange=null,this._draggingUid=""),Zm(s.dataTransfer)=="move"&&this._draggedRange&&this._draggedRange.containsRange(l,!0)){this._finalizeDragging(!1),r.stop();return}s.targetRanges=[t.editing.mapper.toViewRange(l)]},{priority:"high"})}_setupContentInsertionIntegration(){const t=this.editor.plugins.get(De);t.on("contentInsertion",(e,n)=>{if(!this.isEnabled||n.method!=="drop")return;const i=n.targetRanges.map(r=>this.editor.editing.mapper.toModelRange(r));this.editor.model.change(r=>r.setSelection(i))},{priority:"high"}),t.on("contentInsertion",(e,n)=>{if(!this.isEnabled||n.method!=="drop")return;const i=Zm(n.dataTransfer)=="move",r=!n.resultRange||!n.resultRange.isCollapsed;this._finalizeDragging(r&&i)},{priority:"lowest"})}_setupDraggableAttributeHandling(){const t=this.editor,e=t.editing.view,n=e.document;this.listenTo(n,"mousedown",(i,r)=>{if(g.isAndroid||!r)return;this._clearDraggableAttributesDelayed.cancel();let s=Km(r.target);if(g.isBlink&&!t.isReadOnly&&!s&&!n.selection.isCollapsed){const a=n.selection.getSelectedElement();(!a||!Nt(a))&&(s=n.selection.editableElement)}s&&(e.change(a=>{a.setAttribute("draggable","true",s)}),this._draggableElement=t.editing.mapper.toModelElement(s))}),this.listenTo(n,"mouseup",()=>{g.isAndroid||this._clearDraggableAttributesDelayed()})}_clearDraggableAttributes(){const t=this.editor.editing;t.view.change(e=>{this._draggableElement&&this._draggableElement.root.rootName!="$graveyard"&&e.removeAttribute("draggable",t.mapper.toViewElement(this._draggableElement)),this._draggableElement=null})}_finalizeDragging(t){const e=this.editor,n=e.model;e.plugins.get(Zi).removeDropMarker(),this._clearDraggableAttributes(),e.plugins.has("WidgetToolbarRepository")&&e.plugins.get("WidgetToolbarRepository").clearForceDisabled("dragDrop"),this._draggingUid="",this._previewContainer&&(this._previewContainer.remove(),this._previewContainer=void 0),this._draggedRange&&(t&&this.isEnabled&&n.change(r=>{const s=n.createSelection(this._draggedRange);n.deleteContent(s,{doNotAutoparagraph:!0});const a=s.getFirstPosition().parent;a.isEmpty&&!n.schema.checkChild(a,"$text")&&n.schema.checkChild(a,"paragraph")&&r.insertElement("paragraph",a,0)}),this._draggedRange.detach(),this._draggedRange=null)}_prepareDraggedRange(t){const e=this.editor,n=e.model,i=n.document.selection,r=t?Km(t):null;if(r){const l=e.editing.mapper.toModelElement(r);this._draggedRange=Zt.fromRange(n.createRangeOn(l)),this._blockMode=n.schema.isBlock(l),e.plugins.has("WidgetToolbarRepository")&&e.plugins.get("WidgetToolbarRepository").forceDisabled("dragDrop");return}if(i.isCollapsed&&!i.getFirstPosition().parent.isEmpty)return;const s=Array.from(i.getSelectedBlocks()),a=i.getFirstRange();if(s.length==0){this._draggedRange=Zt.fromRange(a);return}const c=Ym(n,s);if(s.length>1)this._draggedRange=Zt.fromRange(c),this._blockMode=!0;else if(s.length==1){const l=a.start.isTouching(c.start)&&a.end.isTouching(c.end);this._draggedRange=Zt.fromRange(l?c:a),this._blockMode=l}n.change(l=>l.setSelection(this._draggedRange.toRange()))}_updatePreview({dataTransfer:t,domTarget:e,clientX:n}){const i=this.editor.editing.view,r=i.document.selection.editableElement,s=i.domConverter.mapViewToDom(r),a=U.window.getComputedStyle(s);this._previewContainer?this._previewContainer.firstElementChild&&this._previewContainer.removeChild(this._previewContainer.firstElementChild):(this._previewContainer=no(U.document,"div",{style:"position: fixed; left: -999999px;"}),U.document.body.appendChild(this._previewContainer));const c=new J(s);if(s.contains(e))return;const l=parseFloat(a.paddingLeft),d=no(U.document,"div");d.className="ck ck-content",d.style.width=a.width,d.style.paddingLeft=`${c.left-n+l}px`,g.isiOS&&(d.style.backgroundColor="white"),d.innerHTML=t.getData("text/html"),t.setDragImage(d,0,0),this._previewContainer.appendChild(d)}}function Zm(o){return g.isGecko?o.dropEffect:["all","copyMove"].includes(o.effectAllowed)?"move":"copy"}function Km(o){if(o.is("editableElement"))return null;if(o.hasClass("ck-widget__selection-handle"))return o.findAncestor(Nt);if(Nt(o))return o;const t=o.findAncestor(e=>Nt(e)||e.is("editableElement"));return Nt(t)?t:null}function Ym(o,t){const e=t[0],n=t[t.length-1],i=e.getCommonAncestor(n),r=o.createPositionBefore(e),s=o.createPositionAfter(n);if(i&&i.is("element")&&!o.schema.isLimit(i)){const a=o.createRangeOn(i),c=r.isTouching(a.start),l=s.isTouching(a.end);if(c&&l)return Ym(o,[i])}return o.createRange(r,s)}class MI extends M{static get pluginName(){return"PastePlainText"}static get requires(){return[De]}init(){const t=this.editor,e=t.model,n=t.editing.view,i=n.document,r=e.document.selection;let s=!1;n.addObserver(Uo),this.listenTo(i,"keydown",(a,c)=>{s=c.shiftKey}),t.plugins.get(De).on("contentInsertion",(a,c)=>{!s&&!BI(c.content,e.schema)||e.change(l=>{const d=Array.from(r.getAttributes()).filter(([m])=>e.schema.getAttributeProperties(m).isFormatting);r.isCollapsed||e.deleteContent(r,{doNotAutoparagraph:!0}),d.push(...r.getAttributes());const u=l.createRangeIn(c.content);for(const m of u.getItems())m.is("$textProxy")&&l.setAttributes(d,m)})})}}function BI(o,t){if(o.childCount>1)return!1;const e=o.getChild(0);return t.isObject(e)?!1:Array.from(e.getAttributeKeys()).length==0}class La extends M{static get pluginName(){return"Clipboard"}static get requires(){return[De,II,MI]}}class NI extends Q{constructor(t){super(t),this.affectsData=!1}execute(){const t=this.editor.model,e=t.document.selection;let n=t.schema.getLimitElement(e);if(e.containsEntireContent(n)||!Qm(t.schema,n))do if(n=n.parent,!n)return;while(!Qm(t.schema,n));t.change(i=>{i.setSelection(n,"in")})}}function Qm(o,t){return o.isLimit(t)&&(o.checkChild(t,"$text")||o.checkChild(t,"paragraph"))}const zI=go("Ctrl+A");class PI extends M{static get pluginName(){return"SelectAllEditing"}init(){const t=this.editor,n=t.editing.view.document;t.commands.add("selectAll",new NI(t)),this.listenTo(n,"keydown",(i,r)=>{In(r)===zI&&(t.execute("selectAll"),r.preventDefault())})}}const LI='';class OI extends M{static get pluginName(){return"SelectAllUI"}init(){const t=this.editor;t.ui.componentFactory.add("selectAll",e=>{const n=t.commands.get("selectAll"),i=new et(e),r=e.t;return i.set({label:r("Select all"),icon:LI,keystroke:"Ctrl+A",tooltip:!0}),i.bind("isEnabled").to(n,"isEnabled"),this.listenTo(i,"execute",()=>{t.execute("selectAll"),t.editing.view.focus()}),i})}}class RI extends M{static get requires(){return[PI,OI]}static get pluginName(){return"SelectAll"}}class Jm extends Q{constructor(t){super(t),this._stack=[],this._createdBatches=new WeakSet,this.refresh(),this._isEnabledBasedOnSelection=!1,this.listenTo(t.data,"set",(e,n)=>{n[1]={...n[1]};const i=n[1];i.batchType||(i.batchType={isUndoable:!1})},{priority:"high"}),this.listenTo(t.data,"set",(e,n)=>{n[1].batchType.isUndoable||this.clearStack()})}refresh(){this.isEnabled=this._stack.length>0}get createdBatches(){return this._createdBatches}addBatch(t){const e=this.editor.model.document.selection,n={ranges:e.hasOwnRange?Array.from(e.getRanges()):[],isBackward:e.isBackward};this._stack.push({batch:t,selection:n}),this.refresh()}clearStack(){this._stack=[],this.refresh()}_restoreSelection(t,e,n){const i=this.editor.model,r=i.document,s=[],a=t.map(l=>l.getTransformedByOperations(n)),c=a.flat();for(const l of a){const d=l.filter(u=>u.root!=r.graveyard).filter(u=>!FI(u,c));d.length&&(jI(d),s.push(d[0]))}s.length&&i.change(l=>{l.setSelection(s,{backward:e})})}_undo(t,e){const n=this.editor.model,i=n.document;this._createdBatches.add(e);const r=t.operations.slice().filter(s=>s.isDocumentOperation);r.reverse();for(const s of r){const a=s.baseVersion+1,c=Array.from(i.history.getOperations(a)),d=ED([s.getReversed()],c,{useRelations:!0,document:this.editor.model.document,padWithNoOps:!1,forceWeakRemove:!0}).operationsA;for(let u of d){const m=u.affectedSelectable;m&&!n.canEditAt(m)&&(u=new It(u.baseVersion)),e.addOperation(u),n.applyOperation(u),i.history.setOperationAsUndone(s,u)}}}}function jI(o){o.sort((t,e)=>t.start.isBefore(e.start)?-1:1);for(let t=1;te!==o&&e.containsRange(o,!0))}class VI extends Jm{execute(t=null){const e=t?this._stack.findIndex(r=>r.batch==t):this._stack.length-1,n=this._stack.splice(e,1)[0],i=this.editor.model.createBatch({isUndo:!0});this.editor.model.enqueueChange(i,()=>{this._undo(n.batch,i);const r=this.editor.model.document.history.getOperations(n.batch.baseVersion);this._restoreSelection(n.selection.ranges,n.selection.isBackward,r)}),this.fire("revert",n.batch,i),this.refresh()}}class HI extends Jm{execute(){const t=this._stack.pop(),e=this.editor.model.createBatch({isUndo:!0});this.editor.model.enqueueChange(e,()=>{const i=t.batch.operations[t.batch.operations.length-1].baseVersion+1,r=this.editor.model.document.history.getOperations(i);this._restoreSelection(t.selection.ranges,t.selection.isBackward,r),this._undo(t.batch,e)}),this.refresh()}}class UI extends M{constructor(){super(...arguments),this._batchRegistry=new WeakSet}static get pluginName(){return"UndoEditing"}init(){const t=this.editor;this._undoCommand=new VI(t),this._redoCommand=new HI(t),t.commands.add("undo",this._undoCommand),t.commands.add("redo",this._redoCommand),this.listenTo(t.model,"applyOperation",(e,n)=>{const i=n[0];if(!i.isDocumentOperation)return;const r=i.batch,s=this._redoCommand.createdBatches.has(r),a=this._undoCommand.createdBatches.has(r);this._batchRegistry.has(r)||(this._batchRegistry.add(r),r.isUndoable&&(s?this._undoCommand.addBatch(r):a||(this._undoCommand.addBatch(r),this._redoCommand.clearStack())))},{priority:"highest"}),this.listenTo(this._undoCommand,"revert",(e,n,i)=>{this._redoCommand.addBatch(i)}),t.keystrokes.set("CTRL+Z","undo"),t.keystrokes.set("CTRL+Y","redo"),t.keystrokes.set("CTRL+SHIFT+Z","redo")}}const Xm='',tf='';class GI extends M{static get pluginName(){return"UndoUI"}init(){const t=this.editor,e=t.locale,n=t.t,i=e.uiLanguageDirection=="ltr"?Xm:tf,r=e.uiLanguageDirection=="ltr"?tf:Xm;this._addButton("undo",n("Undo"),"CTRL+Z",i),this._addButton("redo",n("Redo"),"CTRL+Y",r)}_addButton(t,e,n,i){const r=this.editor;r.ui.componentFactory.add(t,s=>{const a=r.commands.get(t),c=new et(s);return c.set({label:e,icon:i,keystroke:n,tooltip:!0}),c.bind("isEnabled").to(a,"isEnabled"),this.listenTo(c,"execute",()=>{r.execute(t),r.editing.view.focus()}),c})}}class Yi extends M{static get requires(){return[UI,GI]}static get pluginName(){return"Undo"}}class qI extends M{static get requires(){return[La,Ho,RI,yT,eT,Yi]}static get pluginName(){return"Essentials"}}class WI extends Q{constructor(t,e){super(t),this.attributeKey=e}refresh(){const t=this.editor.model,e=t.document;this.value=e.selection.getAttribute(this.attributeKey),this.isEnabled=t.schema.checkAttributeInSelection(e.selection,this.attributeKey)}execute(t={}){const e=this.editor.model,i=e.document.selection,r=t.value,s=t.batch,a=c=>{if(i.isCollapsed)r?c.setSelectionAttribute(this.attributeKey,r):c.removeSelectionAttribute(this.attributeKey);else{const l=e.schema.getValidRanges(i.getRanges(),this.attributeKey);for(const d of l)r?c.setAttribute(this.attributeKey,r,d):c.removeAttribute(this.attributeKey,d)}};s?e.enqueueChange(s,c=>{a(c)}):e.change(c=>{a(c)})}}const Se="fontColor";function $I(o){return t=>YI(t.getStyle(o))}function ZI(o){return(t,{writer:e})=>e.createAttributeElement("span",{style:`${o}:${t}`},{priority:7})}function KI({dropdownView:o,colors:t,columns:e,removeButtonLabel:n,colorPickerLabel:i,documentColorsLabel:r,documentColorsCount:s,colorPickerViewConfig:a}){const c=o.locale,l=new oS(c,{colors:t,columns:e,removeButtonLabel:n,colorPickerLabel:i,documentColorsLabel:r,documentColorsCount:s,colorPickerViewConfig:a});return o.colorSelectorView=l,o.panelView.children.add(l),l}function YI(o){return o.replace(/\s/g,"")}var ef=L(5991),Oa={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Oa.insert="head",Oa.singleton=!0,R()(ef.Z,Oa),ef.Z.locals;class QI extends WI{constructor(t){super(t,Se)}}class JI extends M{static get pluginName(){return"FontColorEditing"}constructor(t){super(t),t.config.define(Se,{colors:[{color:"hsl(0, 0%, 0%)",label:"Black"},{color:"hsl(0, 0%, 30%)",label:"Dim grey"},{color:"hsl(0, 0%, 60%)",label:"Grey"},{color:"hsl(0, 0%, 90%)",label:"Light grey"},{color:"hsl(0, 0%, 100%)",label:"White",hasBorder:!0},{color:"hsl(0, 75%, 60%)",label:"Red"},{color:"hsl(30, 75%, 60%)",label:"Orange"},{color:"hsl(60, 75%, 60%)",label:"Yellow"},{color:"hsl(90, 75%, 60%)",label:"Light green"},{color:"hsl(120, 75%, 60%)",label:"Green"},{color:"hsl(150, 75%, 60%)",label:"Aquamarine"},{color:"hsl(180, 75%, 60%)",label:"Turquoise"},{color:"hsl(210, 75%, 60%)",label:"Light blue"},{color:"hsl(240, 75%, 60%)",label:"Blue"},{color:"hsl(270, 75%, 60%)",label:"Purple"}],columns:5}),t.conversion.for("upcast").elementToAttribute({view:{name:"span",styles:{color:/[\s\S]+/}},model:{key:Se,value:$I("color")}}),t.conversion.for("upcast").elementToAttribute({view:{name:"font",attributes:{color:/^#?\w+$/}},model:{key:Se,value:e=>e.getAttribute("color")}}),t.conversion.for("downcast").attributeToElement({model:Se,view:ZI("color")}),t.commands.add(Se,new QI(t)),t.model.schema.extend("$text",{allowAttributes:Se}),t.model.schema.setAttributeProperties(Se,{isFormatting:!0,copyOnEnter:!0})}}class XI extends M{constructor(t,{commandName:e,componentName:n,icon:i,dropdownLabel:r}){super(t),this.commandName=e,this.componentName=n,this.icon=i,this.dropdownLabel=r,this.columns=t.config.get(`${this.componentName}.columns`),this.colorSelectorView=void 0}init(){const t=this.editor,e=t.locale,n=e.t,i=t.commands.get(this.commandName),r=t.config.get(this.componentName),s=Jv(r.colors),a=Qv(e,s),c=r.documentColors,l=r.colorPicker!==!1;t.ui.componentFactory.add(this.componentName,d=>{const u=de(d);let m=!1;return this.colorSelectorView=KI({dropdownView:u,colors:a.map(p=>({label:p.label,color:p.model,options:{hasBorder:p.hasBorder}})),columns:this.columns,removeButtonLabel:n("Remove color"),colorPickerLabel:n("Color picker"),documentColorsLabel:c!==0?n("Document colors"):"",documentColorsCount:c===void 0?this.columns:c,colorPickerViewConfig:l?r.colorPicker||{}:!1}),this.colorSelectorView.bind("selectedColor").to(i,"value"),u.buttonView.set({label:this.dropdownLabel,icon:this.icon,tooltip:!0}),u.extendTemplate({attributes:{class:"ck-color-ui-dropdown"}}),u.bind("isEnabled").to(i),this.colorSelectorView.on("execute",(p,b)=>{u.isOpen&&t.execute(this.commandName,{value:b.value,batch:this._undoStepBatch}),b.source!=="colorPicker"&&t.editing.view.focus(),b.source==="colorPickerSaveButton"&&(u.isOpen=!1)}),this.colorSelectorView.on("colorPicker:show",()=>{this._undoStepBatch=t.model.createBatch()}),this.colorSelectorView.on("colorPicker:cancel",()=>{this._undoStepBatch.operations.length&&(u.isOpen=!1,t.execute("undo",this._undoStepBatch)),t.editing.view.focus()}),u.on("change:isOpen",(p,b,S)=>{m||(m=!0,u.colorSelectorView.appendUI()),S&&(c!==0&&this.colorSelectorView.updateDocumentColors(t.model,this.componentName),this.colorSelectorView.updateSelectedColors(),this.colorSelectorView.showColorGridsFragment())}),qs(u,()=>u.colorSelectorView.colorGridsFragmentView.staticColorsGrid.items.find(p=>p.isOn)),u})}}const tM='';class eM extends XI{constructor(t){const e=t.locale.t;super(t,{commandName:Se,componentName:Se,icon:tM,dropdownLabel:e("Font Color")})}static get pluginName(){return"FontColorUI"}}class nM extends M{static get requires(){return[JI,eM]}static get pluginName(){return"FontColor"}}class oM extends Q{constructor(t){super(t),this._isEnabledBasedOnSelection=!1}refresh(){const t=this.editor.model,e=t.document,n=Tt(e.selection.getSelectedBlocks());this.value=!!n&&n.is("element","paragraph"),this.isEnabled=!!n&&nf(n,t.schema)}execute(t={}){const e=this.editor.model,n=e.document,i=t.selection||n.selection;e.canEditAt(i)&&e.change(r=>{const s=i.getSelectedBlocks();for(const a of s)!a.is("element","paragraph")&&nf(a,e.schema)&&r.rename(a,"paragraph")})}}function nf(o,t){return t.checkChild(o.parent,"paragraph")&&!t.isObject(o)}class iM extends Q{constructor(t){super(t),this._isEnabledBasedOnSelection=!1}execute(t){const e=this.editor.model,n=t.attributes;let i=t.position;e.canEditAt(i)&&e.change(r=>{if(i=this._findPositionToInsertParagraph(i,r),!i)return;const s=r.createElement("paragraph");n&&e.schema.setAllowedAttributes(s,n,r),e.insertContent(s,i),r.setSelection(s,"in")})}_findPositionToInsertParagraph(t,e){const n=this.editor.model;if(n.schema.checkChild(t,"paragraph"))return t;const i=n.schema.findAllowedParent(t,"paragraph");if(!i)return null;const r=t.parent,s=n.schema.checkChild(r,"$text");return r.isEmpty||s&&t.isAtEnd?n.createPositionAfter(r):!r.isEmpty&&s&&t.isAtStart?n.createPositionBefore(r):e.split(t,i).position}}class qo extends M{static get pluginName(){return"Paragraph"}init(){const t=this.editor,e=t.model;t.commands.add("paragraph",new oM(t)),t.commands.add("insertParagraph",new iM(t)),e.schema.register("paragraph",{inheritAllFrom:"$block"}),t.conversion.elementToElement({model:"paragraph",view:"p"}),t.conversion.for("upcast").elementToElement({model:(n,{writer:i})=>!qo.paragraphLikeElements.has(n.name)||n.isEmpty?null:i.createElement("paragraph"),view:/.+/,converterPriority:"low"})}}qo.paragraphLikeElements=new Set(["blockquote","dd","div","dt","h1","h2","h3","h4","h5","h6","li","p","td","th"]);class rM extends Q{constructor(t,e){super(t),this.modelElements=e}refresh(){const t=Tt(this.editor.model.document.selection.getSelectedBlocks());this.value=!!t&&this.modelElements.includes(t.name)&&t.name,this.isEnabled=!!t&&this.modelElements.some(e=>of(t,e,this.editor.model.schema))}execute(t){const e=this.editor.model,n=e.document,i=t.value;e.change(r=>{const s=Array.from(n.selection.getSelectedBlocks()).filter(a=>of(a,i,e.schema));for(const a of s)a.is("element",i)||r.rename(a,i)})}}function of(o,t,e){return e.checkChild(o.parent,t)&&!e.isObject(o)}const rf="paragraph";class sM extends M{static get pluginName(){return"HeadingEditing"}constructor(t){super(t),t.config.define("heading",{options:[{model:"paragraph",title:"Paragraph",class:"ck-heading_paragraph"},{model:"heading1",view:"h2",title:"Heading 1",class:"ck-heading_heading1"},{model:"heading2",view:"h3",title:"Heading 2",class:"ck-heading_heading2"},{model:"heading3",view:"h4",title:"Heading 3",class:"ck-heading_heading3"}]})}static get requires(){return[qo]}init(){const t=this.editor,e=t.config.get("heading.options"),n=[];for(const i of e)i.model!=="paragraph"&&(t.model.schema.register(i.model,{inheritAllFrom:"$block"}),t.conversion.elementToElement(i),n.push(i.model));this._addDefaultH1Conversion(t),t.commands.add("heading",new rM(t,n))}afterInit(){const t=this.editor,e=t.commands.get("enter"),n=t.config.get("heading.options");e&&this.listenTo(e,"afterExecute",(i,r)=>{const s=t.model.document.selection.getFirstPosition().parent;n.some(c=>s.is("element",c.model))&&!s.is("element",rf)&&s.childCount===0&&r.writer.rename(s,rf)})}_addDefaultH1Conversion(t){t.conversion.for("upcast").elementToElement({model:"heading1",view:"h1",converterPriority:Qt.low+1})}}function aM(o){const t=o.t,e={Paragraph:t("Paragraph"),"Heading 1":t("Heading 1"),"Heading 2":t("Heading 2"),"Heading 3":t("Heading 3"),"Heading 4":t("Heading 4"),"Heading 5":t("Heading 5"),"Heading 6":t("Heading 6")};return o.config.get("heading.options").map(n=>{const i=e[n.title];return i&&i!=n.title&&(n.title=i),n})}var sf=L(4249),Ra={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ra.insert="head",Ra.singleton=!0,R()(sf.Z,Ra),sf.Z.locals;class cM extends M{static get pluginName(){return"HeadingUI"}init(){const t=this.editor,e=t.t,n=aM(t),i=e("Choose heading"),r=e("Heading");t.ui.componentFactory.add("heading",s=>{const a={},c=new te,l=t.commands.get("heading"),d=t.commands.get("paragraph"),u=[l];for(const p of n){const b={type:"button",model:new la({label:p.title,class:p.class,role:"menuitemradio",withText:!0})};p.model==="paragraph"?(b.model.bind("isOn").to(d,"value"),b.model.set("commandName","paragraph"),u.push(d)):(b.model.bind("isOn").to(l,"value",S=>S===p.model),b.model.set({commandName:"heading",commandValue:p.model})),c.add(b),a[p.model]=p.title}const m=de(s);return Gs(m,c,{ariaLabel:r,role:"menu"}),m.buttonView.set({ariaLabel:r,ariaLabelledBy:void 0,isOn:!1,withText:!0,tooltip:r}),m.extendTemplate({attributes:{class:["ck-heading-dropdown"]}}),m.bind("isEnabled").toMany(u,"isEnabled",(...p)=>p.some(b=>b)),m.buttonView.bind("label").to(l,"value",d,"value",(p,b)=>{const S=p||b&&"paragraph";return typeof S=="boolean"||!a[S]?i:a[S]}),this.listenTo(m,"execute",p=>{const{commandName:b,commandValue:S}=p.source;t.execute(b,S?{value:S}:void 0),t.editing.view.focus()}),m})}}class lM extends M{static get requires(){return[sM,cM]}static get pluginName(){return"Heading"}}function dM(o,t,e,n){var i=-1,r=o==null?0:o.length;for(n&&r&&(e=o[++i]);++i=n?o:Au(o,t,e)}const lB=cB;var dB="\\ud800-\\udfff",uB="\\u0300-\\u036f",hB="\\ufe20-\\ufe2f",gB="\\u20d0-\\u20ff",mB=uB+hB+gB,fB="\\ufe0e\\ufe0f",pB="\\u200d",kB=RegExp("["+pB+dB+mB+fB+"]");function bB(o){return kB.test(o)}const yf=bB;function wB(o){return o.split("")}const AB=wB;var xf="\\ud800-\\udfff",CB="\\u0300-\\u036f",_B="\\ufe20-\\ufe2f",vB="\\u20d0-\\u20ff",yB=CB+_B+vB,xB="\\ufe0e\\ufe0f",EB="["+xf+"]",ja="["+yB+"]",Fa="\\ud83c[\\udffb-\\udfff]",DB="(?:"+ja+"|"+Fa+")",Ef="[^"+xf+"]",Df="(?:\\ud83c[\\udde6-\\uddff]){2}",Sf="[\\ud800-\\udbff][\\udc00-\\udfff]",SB="\\u200d",Tf=DB+"?",If="["+xB+"]?",TB="(?:"+SB+"(?:"+[Ef,Df,Sf].join("|")+")"+If+Tf+")*",IB=If+Tf+TB,MB="(?:"+[Ef+ja+"?",ja,Df,Sf,EB].join("|")+")",BB=RegExp(Fa+"(?="+Fa+")|"+MB+IB,"g");function NB(o){return o.match(BB)||[]}const zB=NB;function PB(o){return yf(o)?zB(o):AB(o)}const LB=PB;function OB(o){return function(t){t=ko(t);var e=yf(t)?LB(t):void 0,n=e?e[0]:t.charAt(0),i=e?lB(e,1).join(""):t.slice(1);return n[o]()+i}}var RB=OB("toUpperCase");const Mf=RB;var jB=aB(function(o,t,e){return o+(e?" ":"")+Mf(t)});const FB=jB;function fn(o,t,e,n){t&&VB(o,t,n),e&&Te(o,e,n)}function Te(o,t,e){if(t.attributes)for(const[n,i]of Object.entries(t.attributes))o.setAttribute(n,i,e);t.styles&&o.setStyle(t.styles,e),t.classes&&o.addClass(t.classes,e)}function VB(o,t,e){if(t.attributes)for(const[n]of Object.entries(t.attributes))o.removeAttribute(n,e);if(t.styles)for(const n of Object.keys(t.styles))o.removeStyle(n,e);t.classes&&o.removeClass(t.classes,e)}function HB(o,t){const e=Pe(o);let n="attributes";for(n in t)n=="classes"?e[n]=Array.from(new Set([...o[n]||[],...t[n]])):e[n]={...o[n],...t[n]};return e}function Kn(o,t,e,n,i){const r=t.getAttribute(e),s={};for(const a of["attributes","styles","classes"]){if(a!=n){r&&r[a]&&(s[a]=r[a]);continue}if(n=="classes"){const l=new Set(r&&r.classes||[]);i(l),l.size&&(s[a]=Array.from(l));continue}const c=new Map(Object.entries(r&&r[a]||{}));i(c),c.size&&(s[a]=Object.fromEntries(c))}Object.keys(s).length?t.is("documentSelection")?o.setSelectionAttribute(e,s):o.setAttribute(e,s,t):r&&(t.is("documentSelection")?o.removeSelectionAttribute(e):o.removeAttribute(e,t))}function UB(o){return FB(o).replace(/ /g,"")}function he(o){return`html${UB(o)}Attributes`}function Va({model:o}){return(t,e)=>e.writer.createElement(o,{htmlContent:t.getCustomProperty("$rawContent")})}function GB(o,{view:t,isInline:e}){const n=o.t;return(i,{writer:r})=>{const s=n("HTML object"),a=Qi(t,i,r),c=i.getAttribute(he(t));r.addClass("html-object-embed__content",a),c&&Te(r,c,a);const l=r.createContainerElement(e?"span":"div",{class:"html-object-embed","data-html-object-embed-label":s},a);return Go(l,r,{label:s})}}function Qi(o,t,e){return e.createRawElement(o,null,(n,i)=>{i.setContentOf(n,t.getAttribute("htmlContent"))})}function qB({view:o,model:t,allowEmpty:e},n){return r=>{r.on(`element:${o}`,(s,a,c)=>{let l=n.processViewAttributes(a.viewItem,c);if(!(!l&&!c.consumable.test(a.viewItem,{name:!0}))){if(l=l||{},c.consumable.consume(a.viewItem,{name:!0}),a.modelRange||(a=Object.assign(a,c.convertChildren(a.viewItem,a.modelCursor))),e&&a.modelRange.isCollapsed&&Object.keys(l).length){const d=c.writer.createElement("htmlEmptyElement");if(!c.safeInsert(d,a.modelCursor))return;const u=c.getSplitParts(d);a.modelRange=c.writer.createRange(a.modelRange.start,c.writer.createPositionAfter(u[u.length-1])),c.updateConversionResult(d,a),i(d,l,c);return}for(const d of a.modelRange.getItems())i(d,l,c)}},{priority:"low"})};function i(r,s,a){if(a.schema.checkAttribute(r,t)){const c=r.getAttribute(t),l=HB(s,c||{});a.writer.setAttribute(t,l,r)}}}function Bf({model:o,view:t},e){return(n,{writer:i,consumable:r})=>{if(!n.hasAttribute(o))return null;const s=i.createContainerElement(t),a=n.getAttribute(o);return r.consume(n,`attribute:${o}`),Te(i,a,s),s.getFillerOffset=()=>null,e?Go(s,i):s}}function WB({priority:o,view:t}){return(e,n)=>{if(!e)return;const{writer:i}=n,r=i.createAttributeElement(t,null,{priority:o});return Te(i,e,r),r}}function Wo({view:o},t){return e=>{e.on(`element:${o}`,(n,i,r)=>{if(!i.modelRange||i.modelRange.isCollapsed)return;const s=t.processViewAttributes(i.viewItem,r);s&&r.writer.setAttribute(he(i.viewItem.name),s,i.modelRange)},{priority:"low"})}}function $o({view:o,model:t}){return e=>{e.on(`attribute:${he(o)}:${t}`,(n,i,r)=>{if(!r.consumable.consume(i.item,n.name))return;const{attributeOldValue:s,attributeNewValue:a}=i,c=r.writer,l=r.mapper.toViewElement(i.item);fn(c,s,a,l)})}}const Nf={block:[{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:"tableColumnGroup",view:"colgroup"},{model:"tableColumn",view:"col"},{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:!1}},{model:"htmlThead",view:"thead",modelSchema:{allowIn:"htmlTable",isBlock:!1}},{model:"htmlTfoot",view:"tfoot",modelSchema:{allowIn:"htmlTable",isBlock:!1}},{model:"htmlCaption",view:"caption",modelSchema:{allowIn:"htmlTable",allowChildren:"$text",isBlock:!1}},{model:"htmlColgroup",view:"colgroup",modelSchema:{allowIn:"htmlTable",allowChildren:"col",isBlock:!1}},{model:"htmlCol",view:"col",modelSchema:{allowIn:"htmlColgroup",isBlock:!1}},{model:"htmlTr",view:"tr",modelSchema:{allowIn:["htmlTable","htmlThead","htmlTbody"],isLimit:!0}},{model:"htmlTd",view:"td",modelSchema:{allowIn:"htmlTr",allowContentOf:"$container",isLimit:!0,isBlock:!1}},{model:"htmlTh",view:"th",modelSchema:{allowIn:"htmlTr",allowContentOf:"$container",isLimit:!0,isBlock:!1}},{model:"htmlFigure",view:"figure",modelSchema:{inheritAllFrom:"$container",isBlock:!1}},{model:"htmlFigcaption",view:"figcaption",modelSchema:{allowIn:"htmlFigure",allowChildren:"$text",isBlock:!1}},{model:"htmlAddress",view:"address",modelSchema:{inheritAllFrom:"$container",isBlock:!1}},{model:"htmlAside",view:"aside",modelSchema:{inheritAllFrom:"$container",isBlock:!1}},{model:"htmlMain",view:"main",modelSchema:{inheritAllFrom:"$container",isBlock:!1}},{model:"htmlDetails",view:"details",modelSchema:{inheritAllFrom:"$container",isBlock:!1}},{model:"htmlSummary",view:"summary",modelSchema:{allowChildren:"$text",allowIn:"htmlDetails",isBlock:!1}},{model:"htmlDiv",view:"div",paragraphLikeModel:"htmlDivParagraph",modelSchema:{inheritAllFrom:"$container"}},{model:"htmlFieldset",view:"fieldset",modelSchema:{inheritAllFrom:"$container",isBlock:!1}},{model:"htmlLegend",view:"legend",modelSchema:{allowIn:"htmlFieldset",allowChildren:"$text"}},{model:"htmlHeader",view:"header",modelSchema:{inheritAllFrom:"$container",isBlock:!1}},{model:"htmlFooter",view:"footer",modelSchema:{inheritAllFrom:"$container",isBlock:!1}},{model:"htmlForm",view:"form",modelSchema:{inheritAllFrom:"$container",isBlock:!0}},{model:"htmlHgroup",view:"hgroup",modelSchema:{allowChildren:["htmlH1","htmlH2","htmlH3","htmlH4","htmlH5","htmlH6"],isBlock:!1}},{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:!1}},{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:!1}},{model:"htmlPre",view:"pre",modelSchema:{inheritAllFrom:"$block"}},{model:"htmlArticle",view:"article",modelSchema:{inheritAllFrom:"$container",isBlock:!1}},{model:"htmlSection",view:"section",modelSchema:{inheritAllFrom:"$container",isBlock:!1}},{model:"htmlNav",view:"nav",modelSchema:{inheritAllFrom:"$container",isBlock:!1}},{model:"htmlDivDl",view:"div",modelSchema:{allowChildren:["htmlDt","htmlDd"],allowIn:"htmlDl"}},{model:"htmlDl",view:"dl",modelSchema:{allowWhere:"$container",allowChildren:["htmlDt","htmlDd","htmlDivDl"],isBlock:!1}},{model:"htmlDt",view:"dt",modelSchema:{allowChildren:"$block",isBlock:!1}},{model:"htmlDd",view:"dd",modelSchema:{allowChildren:"$block",isBlock:!1}},{model:"htmlCenter",view:"center",modelSchema:{inheritAllFrom:"$container",isBlock:!1}}],inline:[{model:"htmlLiAttributes",view:"li",appliesToBlock:!0,coupledAttribute:"listItemId"},{model:"htmlOlAttributes",view:"ol",appliesToBlock:!0,coupledAttribute:"listItemId"},{model:"htmlUlAttributes",view:"ul",appliesToBlock:!0,coupledAttribute:"listItemId"},{model:"htmlFigureAttributes",view:"figure",appliesToBlock:"table"},{model:"htmlTheadAttributes",view:"thead",appliesToBlock:"table"},{model:"htmlTbodyAttributes",view:"tbody",appliesToBlock:"table"},{model:"htmlFigureAttributes",view:"figure",appliesToBlock:"imageBlock"},{model:"htmlAcronym",view:"acronym",attributeProperties:{copyOnEnter:!0,isFormatting:!0}},{model:"htmlTt",view:"tt",attributeProperties:{copyOnEnter:!0,isFormatting:!0}},{model:"htmlFont",view:"font",attributeProperties:{copyOnEnter:!0,isFormatting:!0}},{model:"htmlTime",view:"time",attributeProperties:{copyOnEnter:!0,isFormatting:!0}},{model:"htmlVar",view:"var",attributeProperties:{copyOnEnter:!0,isFormatting:!0}},{model:"htmlBig",view:"big",attributeProperties:{copyOnEnter:!0,isFormatting:!0}},{model:"htmlSmall",view:"small",attributeProperties:{copyOnEnter:!0,isFormatting:!0}},{model:"htmlSamp",view:"samp",attributeProperties:{copyOnEnter:!0,isFormatting:!0}},{model:"htmlQ",view:"q",attributeProperties:{copyOnEnter:!0,isFormatting:!0}},{model:"htmlOutput",view:"output",attributeProperties:{copyOnEnter:!0,isFormatting:!0}},{model:"htmlKbd",view:"kbd",attributeProperties:{copyOnEnter:!0,isFormatting:!0}},{model:"htmlBdi",view:"bdi",attributeProperties:{copyOnEnter:!0,isFormatting:!0}},{model:"htmlBdo",view:"bdo",attributeProperties:{copyOnEnter:!0,isFormatting:!0}},{model:"htmlAbbr",view:"abbr",attributeProperties:{copyOnEnter:!0,isFormatting:!0}},{model:"htmlA",view:"a",priority:5,coupledAttribute:"linkHref"},{model:"htmlStrong",view:"strong",coupledAttribute:"bold",attributeProperties:{copyOnEnter:!0,isFormatting:!0}},{model:"htmlB",view:"b",coupledAttribute:"bold",attributeProperties:{copyOnEnter:!0,isFormatting:!0}},{model:"htmlI",view:"i",coupledAttribute:"italic",attributeProperties:{copyOnEnter:!0,isFormatting:!0}},{model:"htmlEm",view:"em",coupledAttribute:"italic",attributeProperties:{copyOnEnter:!0,isFormatting:!0}},{model:"htmlS",view:"s",coupledAttribute:"strikethrough",attributeProperties:{copyOnEnter:!0,isFormatting:!0}},{model:"htmlDel",view:"del",coupledAttribute:"strikethrough",attributeProperties:{copyOnEnter:!0,isFormatting:!0}},{model:"htmlIns",view:"ins",attributeProperties:{copyOnEnter:!0,isFormatting:!0}},{model:"htmlU",view:"u",coupledAttribute:"underline",attributeProperties:{copyOnEnter:!0,isFormatting:!0}},{model:"htmlSub",view:"sub",coupledAttribute:"subscript",attributeProperties:{copyOnEnter:!0,isFormatting:!0}},{model:"htmlSup",view:"sup",coupledAttribute:"superscript",attributeProperties:{copyOnEnter:!0,isFormatting:!0}},{model:"htmlCode",view:"code",coupledAttribute:"code",attributeProperties:{copyOnEnter:!0,isFormatting:!0}},{model:"htmlMark",view:"mark",attributeProperties:{copyOnEnter:!0,isFormatting:!0}},{model:"htmlSpan",view:"span",attributeProperties:{copyOnEnter:!0,isFormatting:!0}},{model:"htmlCite",view:"cite",attributeProperties:{copyOnEnter:!0,isFormatting:!0}},{model:"htmlLabel",view:"label",attributeProperties:{copyOnEnter:!0,isFormatting:!0}},{model:"htmlDfn",view:"dfn",attributeProperties:{copyOnEnter:!0,isFormatting:!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"],allowAttributesOf:"$inlineObject",isInline:!0}}]};var $B=ds(function(o,t,e,n){_u(o,t,e,n)});const ZB=$B;class Yn extends M{constructor(){super(...arguments),this._definitions=[]}static get pluginName(){return"DataSchema"}init(){for(const t of Nf.block)this.registerBlockElement(t);for(const t of Nf.inline)this.registerInlineElement(t)}registerBlockElement(t){this._definitions.push({...t,isBlock:!0})}registerInlineElement(t){this._definitions.push({...t,isInline:!0})}extendBlockElement(t){this._extendDefinition({...t,isBlock:!0})}extendInlineElement(t){this._extendDefinition({...t,isInline:!0})}getDefinitionsForView(t,e=!1){const n=new Set;for(const i of this._getMatchingViewDefinitions(t)){if(e)for(const r of this._getReferences(i.model))n.add(r);n.add(i)}return n}getDefinitionsForModel(t){return this._definitions.filter(e=>e.model==t)}_getMatchingViewDefinitions(t){return this._definitions.filter(e=>e.view&&KB(t,e.view))}*_getReferences(t){const e=["inheritAllFrom","inheritTypesFrom","allowWhere","allowContentOf","allowAttributesOf"],n=this._definitions.filter(i=>i.model==t);for(const{modelSchema:i}of n)if(i)for(const r of e)for(const s of _t(i[r]||[])){const a=this._definitions.filter(c=>c.model==s);for(const c of a)s!==t&&(yield*this._getReferences(c.model),yield c)}}_extendDefinition(t){const e=Array.from(this._definitions.entries()).filter(([,n])=>n.model==t.model);if(e.length==0){this._definitions.push(t);return}for(const[n,i]of e)this._definitions[n]=ZB({},i,t,(r,s)=>Array.isArray(r)?r.concat(s):void 0)}}function KB(o,t){return typeof o=="string"?o===t:o instanceof RegExp?o.test(t):!1}function YB(o,t,e,n){for(var i=o.length,r=e+(n?1:-1);n?r--:++r-1;)a!==o&&zf.call(a,c,1),zf.call(o,c,1);return o}const c4=a4;function l4(o,t){return o&&o.length&&t&&t.length?c4(o,t):o}var d4=yu(l4);const u4=d4;var Pf=L(1710),Ha={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ha.insert="head",Ha.singleton=!0,R()(Pf.Z,Ha),Pf.Z.locals;class Dt extends M{constructor(t){super(t),this._dataSchema=t.plugins.get("DataSchema"),this._allowedAttributes=new ee,this._disallowedAttributes=new ee,this._allowedElements=new Set,this._disallowedElements=new Set,this._dataInitialized=!1,this._coupledAttributes=null,this._registerElementsAfterInit(),this._registerElementHandlers(),this._registerCoupledAttributesPostFixer(),this._registerAssociatedHtmlAttributesPostFixer()}static get pluginName(){return"DataFilter"}static get requires(){return[Yn,$n]}loadAllowedConfig(t){for(const e of t){const n=e.name||/[\s\S]+/,i=Rf(e);this.allowElement(n),i.forEach(r=>this.allowAttributes(r))}}loadDisallowedConfig(t){for(const e of t){const n=e.name||/[\s\S]+/,i=Rf(e);i.length==0?this.disallowElement(n):i.forEach(r=>this.disallowAttributes(r))}}loadAllowedEmptyElementsConfig(t){for(const e of t)this.allowEmptyElement(e)}allowElement(t){for(const e of this._dataSchema.getDefinitionsForView(t,!0))this._addAllowedElement(e),this._coupledAttributes=null}disallowElement(t){for(const e of this._dataSchema.getDefinitionsForView(t,!1))this._disallowedElements.add(e.view)}allowEmptyElement(t){for(const e of this._dataSchema.getDefinitionsForView(t,!0))e.isInline&&this._dataSchema.extendInlineElement({...e,allowEmpty:!0})}allowAttributes(t){this._allowedAttributes.add(t)}disallowAttributes(t){this._disallowedAttributes.add(t)}processViewAttributes(t,e){return Lf(t,e,this._disallowedAttributes),Lf(t,e,this._allowedAttributes)}_addAllowedElement(t){if(!this._allowedElements.has(t)){if(this._allowedElements.add(t),"appliesToBlock"in t&&typeof t.appliesToBlock=="string")for(const e of this._dataSchema.getDefinitionsForModel(t.appliesToBlock))e.isBlock&&this._addAllowedElement(e);this._dataInitialized&&this.editor.data.once("set",()=>{this._fireRegisterEvent(t)},{priority:Qt.highest+1})}}_registerElementsAfterInit(){this.editor.data.on("init",()=>{this._dataInitialized=!0;for(const t of this._allowedElements)this._fireRegisterEvent(t)},{priority:Qt.highest+1})}_registerElementHandlers(){this.on("register",(t,e)=>{const n=this.editor.model.schema;if(e.isObject&&!n.isRegistered(e.model))this._registerObjectElement(e);else if(e.isBlock)this._registerBlockElement(e);else if(e.isInline)this._registerInlineElement(e);else throw new w("data-filter-invalid-definition",null,e);t.stop()},{priority:"lowest"})}_registerCoupledAttributesPostFixer(){const t=this.editor.model,e=t.document.selection;t.document.registerPostFixer(n=>{const i=t.document.differ.getChanges();let r=!1;const s=this._getCoupledAttributesMap();for(const a of i){if(a.type!="attribute"||a.attributeNewValue!==null)continue;const c=s.get(a.attributeKey);if(c)for(const{item:l}of a.range.getWalker({shallow:!0}))for(const d of c)l.hasAttribute(d)&&(n.removeAttribute(d,l),r=!0)}return r}),this.listenTo(e,"change:attribute",(n,{attributeKeys:i})=>{const r=new Set,s=this._getCoupledAttributesMap();for(const a of i){if(e.hasAttribute(a))continue;const c=s.get(a);if(c)for(const l of c)e.hasAttribute(l)&&r.add(l)}r.size!=0&&t.change(a=>{for(const c of r)a.removeSelectionAttribute(c)})})}_registerAssociatedHtmlAttributesPostFixer(){const t=this.editor.model;t.document.registerPostFixer(e=>{const n=t.document.differ.getChanges();let i=!1;for(const r of n)if(!(r.type!=="insert"||r.name==="$text"))for(const s of r.attributes.keys())!s.startsWith("html")||!s.endsWith("Attributes")||t.schema.checkAttribute(r.name,s)||(e.removeAttribute(s,r.position.nodeAfter),i=!0);return i})}_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])}return this._coupledAttributes}_fireRegisterEvent(t){t.view&&this._disallowedElements.has(t.view)||this.fire(t.view?`register:${t.view}`:"register",t)}_registerObjectElement(t){const e=this.editor,n=e.model.schema,i=e.conversion,{view:r,model:s}=t;n.register(s,t.modelSchema),r&&(n.extend(t.model,{allowAttributes:[he(r),"htmlContent"]}),e.data.registerRawContentMatcher({name:r}),i.for("upcast").elementToElement({view:r,model:Va(t),converterPriority:Qt.low+2}),i.for("upcast").add(Wo(t,this)),i.for("editingDowncast").elementToStructure({model:{name:s,attributes:[he(r)]},view:GB(e,t)}),i.for("dataDowncast").elementToElement({model:s,view:(a,{writer:c})=>Qi(r,a,c)}),i.for("dataDowncast").add($o(t)))}_registerBlockElement(t){const e=this.editor,n=e.model.schema,i=e.conversion,{view:r,model:s}=t;if(!n.isRegistered(t.model)){if(n.register(t.model,t.modelSchema),!r)return;i.for("upcast").elementToElement({model:s,view:r,converterPriority:Qt.low+2}),i.for("downcast").elementToElement({model:s,view:r})}r&&(n.extend(t.model,{allowAttributes:he(r)}),i.for("upcast").add(Wo(t,this)),i.for("downcast").add($o(t)))}_registerInlineElement(t){const e=this.editor,n=e.model.schema,i=e.conversion,r=t.model;t.appliesToBlock||(n.extend("$text",{allowAttributes:r}),t.attributeProperties&&n.setAttributeProperties(r,t.attributeProperties),i.for("upcast").add(qB(t,this)),i.for("downcast").attributeToElement({model:r,view:WB(t)}),t.allowEmpty&&(n.setAttributeProperties(r,{copyFromObject:!1}),n.isRegistered("htmlEmptyElement")||n.register("htmlEmptyElement",{inheritAllFrom:"$inlineObject"}),e.data.htmlProcessor.domConverter.registerInlineObjectMatcher(s=>s.name==t.view&&s.isEmpty&&Array.from(s.getAttributeKeys()).length?{name:!0}:null),i.for("editingDowncast").elementToElement({model:"htmlEmptyElement",view:Bf(t,!0)}),i.for("dataDowncast").elementToElement({model:"htmlEmptyElement",view:Bf(t)})))}}function Lf(o,t,e){const n=h4(o,t,e),{attributes:i,styles:r,classes:s}=m4(n),a={};if(i.size)for(const c of i)ud(c)||i.delete(c);return i.size&&(a.attributes=Of(i,c=>o.getAttribute(c))),r.size&&(a.styles=Of(r,c=>o.getStyle(c))),s.size&&(a.classes=Array.from(s)),Object.keys(a).length?a:null}function h4(o,{consumable:t},e){const n=e.matchAll(o)||[],i=[];for(const r of n)g4(t,o,r),delete r.match.name,t.consume(o,r.match),i.push(r);return i}function g4(o,t,e){for(const n of["attributes","classes","styles"]){const i=e.match[n];if(i)for(const r of Array.from(i))o.test(t,{[n]:[r]})||u4(i,r)}}function m4(o){const t={attributes:new Set,classes:new Set,styles:new Set};for(const e of o)for(const n in t)(e.match[n]||[]).forEach(r=>t[n].add(r));return t}function Of(o,t){const e={};for(const n of o)t(n)!==void 0&&(e[n]=t(n));return e}function Ua(o,t){const{name:e}=o,n=o[t];return Wt(n)?Object.entries(n).map(([i,r])=>({name:e,[t]:{[i]:r}})):Array.isArray(n)?n.map(i=>({name:e,[t]:[i]})):[o]}function Rf(o){const{name:t,attributes:e,classes:n,styles:i}=o,r=[];return e&&r.push(...Ua({name:t,attributes:e},"attributes")),n&&r.push(...Ua({name:t,classes:n},"classes")),i&&r.push(...Ua({name:t,styles:i},"styles")),r}class f4 extends M{static get requires(){return[Dt]}static get pluginName(){return"CodeBlockElementSupport"}init(){if(!this.editor.plugins.has("CodeBlockEditing"))return;const t=this.editor.plugins.get(Dt);t.on("register:pre",(e,n)=>{if(n.model!=="codeBlock")return;const i=this.editor,r=i.model.schema,s=i.conversion;r.extend("codeBlock",{allowAttributes:["htmlPreAttributes","htmlContentAttributes"]}),s.for("upcast").add(p4(t)),s.for("downcast").add(k4()),e.stop()})}}function p4(o){return t=>{t.on("element:code",(e,n,i)=>{const r=n.viewItem,s=r.parent;if(!s||!s.is("element","pre"))return;a(s,"htmlPreAttributes"),a(r,"htmlContentAttributes");function a(c,l){const d=o.processViewAttributes(c,i);d&&i.writer.setAttribute(l,d,n.modelRange)}},{priority:"low"})}}function k4(){return o=>{o.on("attribute:htmlPreAttributes:codeBlock",(t,e,n)=>{if(!n.consumable.consume(e.item,t.name))return;const{attributeOldValue:i,attributeNewValue:r}=e,a=n.mapper.toViewElement(e.item).parent;fn(n.writer,i,r,a)}),o.on("attribute:htmlContentAttributes:codeBlock",(t,e,n)=>{if(!n.consumable.consume(e.item,t.name))return;const{attributeOldValue:i,attributeNewValue:r}=e,s=n.mapper.toViewElement(e.item);fn(n.writer,i,r,s)})}}class b4 extends M{static get requires(){return[Dt]}static get pluginName(){return"DualContentModelElementSupport"}init(){this.editor.plugins.get(Dt).on("register",(e,n)=>{const i=n,r=this.editor,s=r.model.schema,a=r.conversion;if(!i.paragraphLikeModel||s.isRegistered(i.model)||s.isRegistered(i.paragraphLikeModel))return;const c={model:i.paragraphLikeModel,view:i.view};s.register(i.model,i.modelSchema),s.register(c.model,{inheritAllFrom:"$block"}),a.for("upcast").elementToElement({view:i.view,model:(l,{writer:d})=>this._hasBlockContent(l)?d.createElement(i.model):d.createElement(c.model),converterPriority:Qt.low+.5}),a.for("downcast").elementToElement({view:i.view,model:i.model}),this._addAttributeConversion(i),a.for("downcast").elementToElement({view:c.view,model:c.model}),this._addAttributeConversion(c),e.stop()})}_hasBlockContent(t){const e=this.editor.editing.view,n=e.domConverter.blockElements;for(const i of e.createRangeIn(t).getItems())if(i.is("element")&&n.includes(i.name))return!0;return!1}_addAttributeConversion(t){const e=this.editor,n=e.conversion,i=e.plugins.get(Dt);e.model.schema.extend(t.model,{allowAttributes:he(t.view)}),n.for("upcast").add(Wo(t,i)),n.for("downcast").add($o(t))}}class w4 extends M{static get requires(){return[Yn,Ho]}static get pluginName(){return"HeadingElementSupport"}init(){const t=this.editor;if(!t.plugins.has("HeadingEditing"))return;const e=t.config.get("heading.options");this.registerHeadingElements(t,e)}registerHeadingElements(t,e){const n=t.plugins.get(Yn),i=[];for(const r of e)"model"in r&&"view"in r&&(n.registerBlockElement({view:r.view,model:r.model}),i.push(r.model));n.extendBlockElement({model:"htmlHgroup",modelSchema:{allowChildren:i}})}}function Ji(o,t,e){const n=o.createRangeOn(t);for(const{item:i}of n.getWalker())if(i.is("element",e))return i}class A4 extends M{static get requires(){return[Dt]}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,n=t.conversion,i=t.plugins.get(Dt);i.on("register:figure",()=>{n.for("upcast").add(v4(i))}),i.on("register:img",(r,s)=>{s.model!=="imageBlock"&&s.model!=="imageInline"||(e.isRegistered("imageBlock")&&e.extend("imageBlock",{allowAttributes:["htmlImgAttributes","htmlFigureAttributes","htmlLinkAttributes"]}),e.isRegistered("imageInline")&&e.extend("imageInline",{allowAttributes:["htmlA","htmlImgAttributes"]}),n.for("upcast").add(C4(i)),n.for("downcast").add(y4()),t.plugins.has("LinkImage")&&n.for("upcast").add(_4(i,t)),r.stop())})}}function C4(o){return t=>{t.on("element:img",(e,n,i)=>{if(!n.modelRange)return;const r=n.viewItem,s=o.processViewAttributes(r,i);s&&i.writer.setAttribute("htmlImgAttributes",s,n.modelRange)},{priority:"low"})}}function _4(o,t){const e=t.plugins.get("ImageUtils");return n=>{n.on("element:a",(i,r,s)=>{const a=r.viewItem;if(!e.findViewImgElement(a))return;const l=r.modelCursor.parent;if(!l.is("element","imageBlock"))return;const d=o.processViewAttributes(a,s);d&&s.writer.setAttribute("htmlLinkAttributes",d,l)},{priority:"low"})}}function v4(o){return t=>{t.on("element:figure",(e,n,i)=>{const r=n.viewItem;if(!n.modelRange||!r.hasClass("image"))return;const s=o.processViewAttributes(r,i);s&&i.writer.setAttribute("htmlFigureAttributes",s,n.modelRange)},{priority:"low"})}}function y4(){return o=>{t("htmlImgAttributes"),e("img","htmlImgAttributes"),e("figure","htmlFigureAttributes"),e("a","htmlLinkAttributes");function t(n){o.on(`attribute:${n}:imageInline`,(i,r,s)=>{if(!s.consumable.consume(r.item,i.name))return;const{attributeOldValue:a,attributeNewValue:c}=r,l=s.mapper.toViewElement(r.item);fn(s.writer,a,c,l)},{priority:"low"})}function e(n,i){o.on(`attribute:${i}:imageBlock`,(r,s,a)=>{if(!a.consumable.test(s.item,r.name))return;const{attributeOldValue:c,attributeNewValue:l}=s,d=a.mapper.toViewElement(s.item),u=Ji(a.writer,d,n);u&&(fn(a.writer,c,l,u),a.consumable.consume(s.item,r.name))},{priority:"low"}),n==="a"&&o.on("attribute:linkHref:imageBlock",(r,s,a)=>{if(!a.consumable.consume(s.item,"attribute:htmlLinkAttributes:imageBlock"))return;const c=a.mapper.toViewElement(s.item),l=Ji(a.writer,c,"a");Te(a.writer,s.item.getAttribute("htmlLinkAttributes"),l)},{priority:"low"})}}}class x4 extends M{static get requires(){return[Dt]}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,n=t.conversion,i=this.editor.plugins.get(Dt),r=this.editor.plugins.get(Yn),s=t.config.get("mediaEmbed.elementName");r.registerBlockElement({model:"media",view:s}),i.on("register:figure",()=>{n.for("upcast").add(D4(i))}),i.on(`register:${s}`,(a,c)=>{c.model==="media"&&(e.extend("media",{allowAttributes:[he(s),"htmlFigureAttributes"]}),n.for("upcast").add(E4(i,s)),n.for("dataDowncast").add(S4(s)),a.stop())})}}function E4(o,t){const e=(n,i,r)=>{const s=i.viewItem;a(s,he(t));function a(c,l){const d=o.processViewAttributes(c,r);d&&r.writer.setAttribute(l,d,i.modelRange)}};return n=>{n.on(`element:${t}`,e,{priority:"low"})}}function D4(o){return t=>{t.on("element:figure",(e,n,i)=>{const r=n.viewItem;if(!n.modelRange||!r.hasClass("media"))return;const s=o.processViewAttributes(r,i);s&&i.writer.setAttribute("htmlFigureAttributes",s,n.modelRange)},{priority:"low"})}}function S4(o){return t=>{e(o,he(o)),e("figure","htmlFigureAttributes");function e(n,i){t.on(`attribute:${i}:media`,(r,s,a)=>{if(!a.consumable.consume(s.item,r.name))return;const{attributeOldValue:c,attributeNewValue:l}=s,d=a.mapper.toViewElement(s.item),u=Ji(a.writer,d,n);fn(a.writer,c,l,u)})}}}class T4 extends M{static get requires(){return[Dt]}static get pluginName(){return"ScriptElementSupport"}init(){const t=this.editor.plugins.get(Dt);t.on("register:script",(e,n)=>{const i=this.editor,r=i.model.schema,s=i.conversion;r.register("htmlScript",n.modelSchema),r.extend("htmlScript",{allowAttributes:["htmlScriptAttributes","htmlContent"],isContent:!0}),i.data.registerRawContentMatcher({name:"script"}),s.for("upcast").elementToElement({view:"script",model:Va(n)}),s.for("upcast").add(Wo(n,t)),s.for("downcast").elementToElement({model:"htmlScript",view:(a,{writer:c})=>Qi("script",a,c)}),s.for("downcast").add($o(n)),e.stop()})}}class I4 extends M{static get requires(){return[Dt]}static get pluginName(){return"TableElementSupport"}init(){const t=this.editor;if(!t.plugins.has("TableEditing"))return;const e=t.model.schema,n=t.conversion,i=t.plugins.get(Dt),r=t.plugins.get("TableUtils");i.on("register:figure",()=>{n.for("upcast").add(N4(i))}),i.on("register:table",(s,a)=>{a.model==="table"&&(e.extend("table",{allowAttributes:["htmlTableAttributes","htmlFigureAttributes","htmlTheadAttributes","htmlTbodyAttributes"]}),n.for("upcast").add(B4(i)),n.for("downcast").add(z4()),t.model.document.registerPostFixer(M4(t.model,r)),s.stop())})}}function M4(o,t){return e=>{const n=o.document.differ.getChanges();let i=!1;for(const r of n){if(r.type!="attribute"||r.attributeKey!="headingRows")continue;const s=r.range.start.nodeAfter,a=s.getAttribute("htmlTheadAttributes"),c=s.getAttribute("htmlTbodyAttributes");a&&!r.attributeNewValue?(e.removeAttribute("htmlTheadAttributes",s),i=!0):c&&r.attributeNewValue==t.getRows(s)&&(e.removeAttribute("htmlTbodyAttributes",s),i=!0)}return i}}function B4(o){return t=>{t.on("element:table",(e,n,i)=>{if(!n.modelRange)return;const r=n.viewItem;s(r,"htmlTableAttributes");for(const a of r.getChildren())a.is("element","thead")&&s(a,"htmlTheadAttributes"),a.is("element","tbody")&&s(a,"htmlTbodyAttributes");function s(a,c){const l=o.processViewAttributes(a,i);l&&i.writer.setAttribute(c,l,n.modelRange)}},{priority:"low"})}}function N4(o){return t=>{t.on("element:figure",(e,n,i)=>{const r=n.viewItem;if(!n.modelRange||!r.hasClass("table"))return;const s=o.processViewAttributes(r,i);s&&i.writer.setAttribute("htmlFigureAttributes",s,n.modelRange)},{priority:"low"})}}function z4(){return o=>{t("table","htmlTableAttributes"),t("figure","htmlFigureAttributes"),t("thead","htmlTheadAttributes"),t("tbody","htmlTbodyAttributes");function t(e,n){o.on(`attribute:${n}:table`,(i,r,s)=>{if(!s.consumable.test(r.item,i.name))return;const a=s.mapper.toViewElement(r.item),c=Ji(s.writer,a,e);c&&(s.consumable.consume(r.item,i.name),fn(s.writer,r.attributeOldValue,r.attributeNewValue,c))})}}}class P4 extends M{static get requires(){return[Dt]}static get pluginName(){return"StyleElementSupport"}init(){const t=this.editor.plugins.get(Dt);t.on("register:style",(e,n)=>{const i=this.editor,r=i.model.schema,s=i.conversion;r.register("htmlStyle",n.modelSchema),r.extend("htmlStyle",{allowAttributes:["htmlStyleAttributes","htmlContent"],isContent:!0}),i.data.registerRawContentMatcher({name:"style"}),s.for("upcast").elementToElement({view:"style",model:Va(n)}),s.for("upcast").add(Wo(n,t)),s.for("downcast").elementToElement({model:"htmlStyle",view:(a,{writer:c})=>Qi("style",a,c)}),s.for("downcast").add($o(n)),e.stop()})}}class L4 extends M{static get requires(){return[Dt]}static get pluginName(){return"DocumentListElementSupport"}init(){const t=this.editor;if(!t.plugins.has("DocumentListEditing"))return;const e=t.model.schema,n=t.conversion,i=t.plugins.get(Dt),r=t.plugins.get("DocumentListEditing"),s=["ul","ol","li"];r.registerDowncastStrategy({scope:"item",attributeName:"htmlLiAttributes",setAttributeOnDowncast:Te}),r.registerDowncastStrategy({scope:"list",attributeName:"htmlUlAttributes",setAttributeOnDowncast:Te}),r.registerDowncastStrategy({scope:"list",attributeName:"htmlOlAttributes",setAttributeOnDowncast:Te}),i.on("register",(a,c)=>{if(!s.includes(c.view)||(a.stop(),e.checkAttribute("$block","htmlLiAttributes")))return;const l=s.map(d=>he(d));e.extend("$listItem",{allowAttributes:l}),n.for("upcast").add(d=>{d.on("element:ul",Ga("htmlUlAttributes",i),{priority:"low"}),d.on("element:ol",Ga("htmlOlAttributes",i),{priority:"low"}),d.on("element:li",Ga("htmlLiAttributes",i),{priority:"low"})})}),r.on("postFixer",(a,{listNodes:c,writer:l})=>{for(const{node:d,previousNodeInList:u}of c)if(u){if(u.getAttribute("listType")==d.getAttribute("listType")){const m=jf(u.getAttribute("listType")),p=u.getAttribute(m);!Ti(d.getAttribute(m),p)&&l.model.schema.checkAttribute(d,m)&&(l.setAttribute(m,p,d),a.return=!0)}if(u.getAttribute("listItemId")==d.getAttribute("listItemId")){const m=u.getAttribute("htmlLiAttributes");!Ti(d.getAttribute("htmlLiAttributes"),m)&&l.model.schema.checkAttribute(d,"htmlLiAttributes")&&(l.setAttribute("htmlLiAttributes",m,d),a.return=!0)}}}),r.on("postFixer",(a,{listNodes:c,writer:l})=>{for(const{node:d}of c){const u=d.getAttribute("listType");u!=="numbered"&&d.getAttribute("htmlOlAttributes")&&(l.removeAttribute("htmlOlAttributes",d),a.return=!0),u==="numbered"&&d.getAttribute("htmlUlAttributes")&&(l.removeAttribute("htmlUlAttributes",d),a.return=!0)}})}afterInit(){const t=this.editor;if(!t.commands.get("indentList"))return;const e=t.commands.get("indentList");this.listenTo(e,"afterExecute",(n,i)=>{t.model.change(r=>{for(const s of i){const a=jf(s.getAttribute("listType"));t.model.schema.checkAttribute(s,a)&&r.setAttribute(a,{},s)}})})}}function Ga(o,t){return(e,n,i)=>{const r=n.viewItem;n.modelRange||Object.assign(n,i.convertChildren(n.viewItem,n.modelCursor));const s=t.processViewAttributes(r,i);for(const a of n.modelRange.getItems({shallow:!0}))a.hasAttribute("listItemId")&&(a.hasAttribute(o)||i.writer.model.schema.checkAttribute(a,o)&&i.writer.setAttribute(o,s||{},a))}}function jf(o){return o==="numbered"?"htmlOlAttributes":"htmlUlAttributes"}class O4 extends M{static get requires(){return[Dt,Yn]}static get pluginName(){return"CustomElementSupport"}init(){const t=this.editor.plugins.get(Dt),e=this.editor.plugins.get(Yn);t.on("register:$customElement",(n,i)=>{n.stop();const r=this.editor,s=r.model.schema,a=r.conversion,c=r.editing.view.domConverter.unsafeElements,l=r.data.htmlProcessor.domConverter.preElements;s.register(i.model,i.modelSchema),s.extend(i.model,{allowAttributes:["htmlElementName","htmlCustomElementAttributes","htmlContent"],isContent:!0}),r.data.htmlProcessor.domConverter.registerRawContentMatcher({name:"template"}),a.for("upcast").elementToElement({view:/.*/,model:(d,u)=>{if(d.name=="$comment"||!R4(d.name)||e.getDefinitionsForView(d.name).size)return null;c.includes(d.name)||c.push(d.name),l.includes(d.name)||l.push(d.name);const m=u.writer.createElement(i.model,{htmlElementName:d.name}),p=t.processViewAttributes(d,u);p&&u.writer.setAttribute("htmlCustomElementAttributes",p,m);let b;if(d.is("element","template")&&d.getCustomProperty("$rawContent"))b=d.getCustomProperty("$rawContent");else{const B=new Re(d.document).createDocumentFragment(d),z=r.data.htmlProcessor.domConverter.viewToDom(B),V=z.firstChild;for(;V.firstChild;)z.appendChild(V.firstChild);V.remove(),b=r.data.htmlProcessor.htmlWriter.getHtml(z)}u.writer.setAttribute("htmlContent",b,m);for(const{item:S}of r.editing.view.createRangeIn(d))u.consumable.consume(S,{name:!0});return m},converterPriority:"low"}),a.for("editingDowncast").elementToElement({model:{name:i.model,attributes:["htmlElementName","htmlCustomElementAttributes","htmlContent"]},view:(d,{writer:u})=>{const m=d.getAttribute("htmlElementName"),p=u.createRawElement(m);return d.hasAttribute("htmlCustomElementAttributes")&&Te(u,d.getAttribute("htmlCustomElementAttributes"),p),p}}),a.for("dataDowncast").elementToElement({model:{name:i.model,attributes:["htmlElementName","htmlCustomElementAttributes","htmlContent"]},view:(d,{writer:u})=>{const m=d.getAttribute("htmlElementName"),p=d.getAttribute("htmlContent"),b=u.createRawElement(m,null,(S,B)=>{B.setContentOf(S,p)});return d.hasAttribute("htmlCustomElementAttributes")&&Te(u,d.getAttribute("htmlCustomElementAttributes"),b),b}})})}}function R4(o){try{document.createElement(o)}catch{return!1}return!0}class j4 extends M{static get pluginName(){return"GeneralHtmlSupport"}static get requires(){return[Dt,f4,b4,w4,A4,x4,T4,I4,P4,L4,O4]}init(){const t=this.editor,e=t.plugins.get(Dt);e.loadAllowedEmptyElementsConfig(t.config.get("htmlSupport.allowEmpty")||[]),e.loadAllowedConfig(t.config.get("htmlSupport.allow")||[]),e.loadDisallowedConfig(t.config.get("htmlSupport.disallow")||[])}getGhsAttributeNameForElement(t){const e=this.editor.plugins.get("DataSchema"),n=Array.from(e.getDefinitionsForView(t,!1)),i=n.find(r=>r.isInline&&!n[0].isObject);return i?i.model:he(t)}addModelHtmlClass(t,e,n){const i=this.editor.model,r=this.getGhsAttributeNameForElement(t);i.change(s=>{for(const a of Qn(i,n,r))Kn(s,a,r,"classes",c=>{for(const l of _t(e))c.add(l)})})}removeModelHtmlClass(t,e,n){const i=this.editor.model,r=this.getGhsAttributeNameForElement(t);i.change(s=>{for(const a of Qn(i,n,r))Kn(s,a,r,"classes",c=>{for(const l of _t(e))c.delete(l)})})}setModelHtmlAttributes(t,e,n){const i=this.editor.model,r=this.getGhsAttributeNameForElement(t);i.change(s=>{for(const a of Qn(i,n,r))Kn(s,a,r,"attributes",c=>{for(const[l,d]of Object.entries(e))c.set(l,d)})})}removeModelHtmlAttributes(t,e,n){const i=this.editor.model,r=this.getGhsAttributeNameForElement(t);i.change(s=>{for(const a of Qn(i,n,r))Kn(s,a,r,"attributes",c=>{for(const l of _t(e))c.delete(l)})})}setModelHtmlStyles(t,e,n){const i=this.editor.model,r=this.getGhsAttributeNameForElement(t);i.change(s=>{for(const a of Qn(i,n,r))Kn(s,a,r,"styles",c=>{for(const[l,d]of Object.entries(e))c.set(l,d)})})}removeModelHtmlStyles(t,e,n){const i=this.editor.model,r=this.getGhsAttributeNameForElement(t);i.change(s=>{for(const a of Qn(i,n,r))Kn(s,a,r,"styles",c=>{for(const l of _t(e))c.delete(l)})})}}function*Qn(o,t,e){if(t)if(!(Symbol.iterator in t)&&t.is("documentSelection")&&t.isCollapsed)o.schema.checkAttributeInSelection(t,e)&&(yield t);else for(const n of F4(o,t,e))yield*n.getItems({shallow:!0})}function F4(o,t,e){return!(Symbol.iterator in t)&&(t.is("node")||t.is("$text")||t.is("$textProxy"))?o.schema.checkAttribute(t,e)?[o.createRangeOn(t)]:[]:o.schema.getValidRanges(o.createSelection(t).getRanges(),e)}function V4(o){return o.createContainerElement("span",{class:"image-inline"},o.createEmptyElement("img"))}function Ff(o){return o.createContainerElement("figure",{class:"image"},[o.createEmptyElement("img"),o.createSlot("children")])}function Vf(o,t){const e=o.plugins.get("ImageUtils"),n=o.plugins.has("ImageInlineEditing")&&o.plugins.has("ImageBlockEditing");return r=>e.isInlineImageView(r)?n&&(r.getStyle("display")=="block"||r.findAncestor(e.isBlockImageView)?"imageBlock":"imageInline")!==t?null:i(r):null;function i(r){const s={name:!0};return r.hasAttribute("src")&&(s.attributes=["src"]),s}}function qa(o,t){const e=Tt(t.getSelectedBlocks());return!e||o.isObject(e)||e.isEmpty&&e.name!="listItem"?"imageBlock":"imageInline"}function Xi(o){return o&&o.endsWith("px")?parseInt(o):null}function tr(o){const t=Xi(o.getStyle("width")),e=Xi(o.getStyle("height"));return!!(t&&e)}const H4=/^(image|image-inline)$/;class Ht extends M{constructor(){super(...arguments),this._domEmitter=new(Xt())}static get pluginName(){return"ImageUtils"}isImage(t){return this.isInlineImage(t)||this.isBlockImage(t)}isInlineImageView(t){return!!t&&t.is("element","img")}isBlockImageView(t){return!!t&&t.is("element","figure")&&t.hasClass("image")}insertImage(t={},e=null,n=null,i={}){const r=this.editor,s=r.model,a=s.document.selection,c=Hf(r,e||a,n);t={...Object.fromEntries(a.getAttributes()),...t};for(const l in t)s.schema.checkAttribute(c,l)||delete t[l];return s.change(l=>{const{setImageSizes:d=!0}=i,u=l.createElement(c,t);return s.insertObject(u,e,null,{setSelection:"on",findOptimalPosition:!e&&c!="imageInline"?"auto":void 0}),u.parent?(d&&this.setImageNaturalSizeAttributes(u),u):null})}setImageNaturalSizeAttributes(t){const e=t.getAttribute("src");e&&(t.getAttribute("width")||t.getAttribute("height")||this.editor.model.change(n=>{const i=new U.window.Image;this._domEmitter.listenTo(i,"load",()=>{!t.getAttribute("width")&&!t.getAttribute("height")&&this.editor.model.enqueueChange(n.batch,r=>{r.setAttribute("width",i.naturalWidth,t),r.setAttribute("height",i.naturalHeight,t)}),this._domEmitter.stopListening(i,"load")}),i.src=e}))}getClosestSelectedImageWidget(t){const e=t.getFirstPosition();if(!e)return null;const n=t.getSelectedElement();if(n&&this.isImageWidget(n))return n;let i=e.parent;for(;i;){if(i.is("element")&&this.isImageWidget(i))return i;i=i.parent}return null}getClosestSelectedImageElement(t){const e=t.getSelectedElement();return this.isImage(e)?e:t.getFirstPosition().findAncestor("imageBlock")}getImageWidgetFromImageView(t){return t.findAncestor({classes:H4})}isImageAllowed(){const e=this.editor.model.document.selection;return U4(this.editor,e)&&G4(e)}toImageWidget(t,e,n){return e.setCustomProperty("image",!0,t),Go(t,e,{label:()=>{const s=this.findViewImgElement(t).getAttribute("alt");return s?`${s} ${n}`:n}})}isImageWidget(t){return!!t.getCustomProperty("image")&&Nt(t)}isBlockImage(t){return!!t&&t.is("element","imageBlock")}isInlineImage(t){return!!t&&t.is("element","imageInline")}findViewImgElement(t){if(this.isInlineImageView(t))return t;const e=this.editor.editing.view;for(const{item:n}of e.createRangeIn(t))if(this.isInlineImageView(n))return n}destroy(){return this._domEmitter.stopListening(),super.destroy()}}function U4(o,t){if(Hf(o,t,null)=="imageBlock"){const n=q4(t,o.model);if(o.model.schema.checkChild(n,"imageBlock"))return!0}else if(o.model.schema.checkChild(t.focus,"imageInline"))return!0;return!1}function G4(o){return[...o.focus.getAncestors()].every(t=>!t.is("element","imageBlock"))}function q4(o,t){const n=Nm(o,t).start.parent;return n.isEmpty&&!n.is("element","$root")?n.parent:n}function Hf(o,t,e){const n=o.model.schema,i=o.config.get("image.insert.type");return o.plugins.has("ImageBlockEditing")?o.plugins.has("ImageInlineEditing")?e||(i==="inline"?"imageInline":i!=="auto"?"imageBlock":t.is("selection")?qa(n,t):n.checkChild(t,"imageInline")?"imageInline":"imageBlock"):"imageBlock":"imageInline"}const W4=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 $4 extends M{static get requires(){return[La,Ht,Yi,Ee]}static get pluginName(){return"AutoImage"}constructor(t){super(t),this._timeoutId=null,this._positionToInsert=null}init(){const t=this.editor,e=t.model.document,n=t.plugins.get("ClipboardPipeline");this.listenTo(n,"inputTransformation",()=>{const i=e.selection.getFirstRange(),r=Mt.fromPosition(i.start);r.stickiness="toPrevious";const s=Mt.fromPosition(i.end);s.stickiness="toNext",e.once("change:data",()=>{this._embedImageBetweenPositions(r,s),r.detach(),s.detach()},{priority:"high"})}),t.commands.get("undo").on("execute",()=>{this._timeoutId&&(U.window.clearTimeout(this._timeoutId),this._positionToInsert.detach(),this._timeoutId=null,this._positionToInsert=null)},{priority:"high"})}_embedImageBetweenPositions(t,e){const n=this.editor,i=new Zt(t,e),r=i.getWalker({ignoreElementEnd:!0}),s=Object.fromEntries(n.model.document.selection.getAttributes()),a=this.editor.plugins.get("ImageUtils");let c="";for(const l of r)l.item.is("$textProxy")&&(c+=l.item.data);if(c=c.trim(),!c.match(W4)){i.detach();return}this._positionToInsert=Mt.fromPosition(t),this._timeoutId=setTimeout(()=>{if(!n.commands.get("insertImage").isEnabled){i.detach();return}n.model.change(u=>{this._timeoutId=null,u.remove(i),i.detach();let m;this._positionToInsert.root.rootName!=="$graveyard"&&(m=this._positionToInsert.toPosition()),a.insertImage({...s,src:c},m),this._positionToInsert.detach(),this._positionToInsert=null}),n.plugins.get("Delete").requestUndoOnBackspace()},100)}}class Z4 extends Q{refresh(){const n=this.editor.plugins.get("ImageUtils").getClosestSelectedImageElement(this.editor.model.document.selection);this.isEnabled=!!n,this.isEnabled&&n.hasAttribute("alt")?this.value=n.getAttribute("alt"):this.value=!1}execute(t){const e=this.editor,n=e.plugins.get("ImageUtils"),i=e.model,r=n.getClosestSelectedImageElement(i.document.selection);i.change(s=>{s.setAttribute("alt",t.newValue,r)})}}class K4 extends M{static get requires(){return[Ht]}static get pluginName(){return"ImageTextAlternativeEditing"}init(){this.editor.commands.add("imageTextAlternative",new Z4(this.editor))}}var Uf=L(5269),Wa={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Wa.insert="head",Wa.singleton=!0,R()(Uf.Z,Wa),Uf.Z.locals;var Gf=L(6603),$a={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};$a.insert="head",$a.singleton=!0,R()(Gf.Z,$a),Gf.Z.locals;class Y4 extends G{constructor(t){super(t);const e=this.locale.t;this.focusTracker=new Bt,this.keystrokes=new Vt,this.labeledInput=this._createLabeledInputView(),this.saveButtonView=this._createButton(e("Save"),dt.check,"ck-button-save"),this.saveButtonView.type="submit",this.cancelButtonView=this._createButton(e("Cancel"),dt.cancel,"ck-button-cancel","cancel"),this._focusables=new ce,this._focusCycler=new fe({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]})}render(){super.render(),this.keystrokes.listenTo(this.element),h({view:this}),[this.labeledInput,this.saveButtonView,this.cancelButtonView].forEach(t=>{this._focusables.add(t),this.focusTracker.add(t.element)})}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}_createButton(t,e,n,i){const r=new et(this.locale);return r.set({label:t,icon:e,tooltip:!0}),r.extendTemplate({attributes:{class:n}}),i&&r.delegate("execute").to(this,i),r}_createLabeledInputView(){const t=this.locale.t,e=new po(this.locale,No);return e.label=t("Text alternative"),e}}function Q4(o){const t=o.plugins.get("ContextualBalloon");if(o.plugins.get("ImageUtils").getClosestSelectedImageWidget(o.editing.view.document.selection)){const n=qf(o);t.updatePosition(n)}}function qf(o){const t=o.editing.view,e=jt.defaultPositions,n=o.plugins.get("ImageUtils");return{target:t.domConverter.mapViewToDom(n.getClosestSelectedImageWidget(t.document.selection)),positions:[e.northArrowSouth,e.northArrowSouthWest,e.northArrowSouthEast,e.southArrowNorth,e.southArrowNorthWest,e.southArrowNorthEast,e.viewportStickyNorth]}}class J4 extends M{static get requires(){return[Fi]}static get pluginName(){return"ImageTextAlternativeUI"}init(){this._createButton()}destroy(){super.destroy(),this._form&&this._form.destroy()}_createButton(){const t=this.editor,e=t.t;t.ui.componentFactory.add("imageTextAlternative",n=>{const i=t.commands.get("imageTextAlternative"),r=new et(n);return r.set({label:e("Change image text alternative"),icon:dt.textAlternative,tooltip:!0}),r.bind("isEnabled").to(i,"isEnabled"),r.bind("isOn").to(i,"value",s=>!!s),this.listenTo(r,"execute",()=>{this._showForm()}),r})}_createForm(){const t=this.editor,n=t.editing.view.document,i=t.plugins.get("ImageUtils");this._balloon=this.editor.plugins.get("ContextualBalloon"),this._form=new(v(Y4))(t.locale),this._form.render(),this.listenTo(this._form,"submit",()=>{t.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",(r,s)=>{this._hideForm(!0),s()}),this.listenTo(t.ui,"update",()=>{i.getClosestSelectedImageWidget(n.selection)?this._isVisible&&Q4(t):this._hideForm(!0)}),C({emitter:this._form,activator:()=>this._isVisible,contextElements:()=>[this._balloon.view.element],callback:()=>this._hideForm()})}_showForm(){if(this._isVisible)return;this._form||this._createForm();const t=this.editor,e=t.commands.get("imageTextAlternative"),n=this._form.labeledInput;this._form.disableCssTransitions(),this._isInBalloon||this._balloon.add({view:this._form,position:qf(t)}),n.fieldView.value=n.fieldView.element.value=e.value||"",this._form.labeledInput.fieldView.select(),this._form.enableCssTransitions()}_hideForm(t=!1){this._isInBalloon&&(this._form.focusTracker.isFocused&&this._form.saveButtonView.focus(),this._balloon.remove(this._form),t&&this.editor.editing.view.focus())}get _isVisible(){return!!this._balloon&&this._balloon.visibleView===this._form}get _isInBalloon(){return!!this._balloon&&this._balloon.hasView(this._form)}}class Wf extends M{static get requires(){return[K4,J4]}static get pluginName(){return"ImageTextAlternative"}}function X4(o){const t=(e,n,i)=>{if(!i.consumable.test(n.viewItem,{name:!0,classes:"image"}))return;const r=o.findViewImgElement(n.viewItem);if(!r||!i.consumable.test(r,{name:!0}))return;i.consumable.consume(n.viewItem,{name:!0,classes:"image"});const s=i.convertItem(r,n.modelCursor),a=Tt(s.modelRange.getItems());if(!a){i.consumable.revert(n.viewItem,{name:!0,classes:"image"});return}i.convertChildren(n.viewItem,a),i.updateConversionResult(a,n)};return e=>{e.on("element:figure",t)}}function $f(o,t){const e=(n,i,r)=>{if(!r.consumable.consume(i.item,n.name))return;const s=r.writer,a=r.mapper.toViewElement(i.item),c=o.findViewImgElement(a);i.attributeNewValue===null?(s.removeAttribute("srcset",c),s.removeAttribute("sizes",c)):i.attributeNewValue&&(s.setAttribute("srcset",i.attributeNewValue,c),s.setAttribute("sizes","100vw",c))};return n=>{n.on(`attribute:srcset:${t}`,e)}}function er(o,t,e){const n=(i,r,s)=>{if(!s.consumable.consume(r.item,i.name))return;const a=s.writer,c=s.mapper.toViewElement(r.item),l=o.findViewImgElement(c);a.setAttribute(r.attributeKey,r.attributeNewValue||"",l)};return i=>{i.on(`attribute:${e}:${t}`,n)}}class Za extends ye{observe(t){this.listenTo(t,"load",(e,n)=>{const i=n.target;this.checkShouldIgnoreEventFromTarget(i)||i.tagName=="IMG"&&this._fireEvents(n)},{useCapture:!0})}stopObserving(t){this.stopListening(t)}_fireEvents(t){this.isEnabled&&(this.document.fire("layoutChanged"),this.document.fire("imageLoaded",t))}}class t3 extends Q{constructor(t){super(t);const e=t.config.get("image.insert.type");t.plugins.has("ImageBlockEditing")||e==="block"&&void 0,t.plugins.has("ImageInlineEditing")||e==="inline"&&void 0}refresh(){const t=this.editor.plugins.get("ImageUtils");this.isEnabled=t.isImageAllowed()}execute(t){const e=_t(t.source),n=this.editor.model.document.selection,i=this.editor.plugins.get("ImageUtils"),r=Object.fromEntries(n.getAttributes());e.forEach((s,a)=>{const c=n.getSelectedElement();if(typeof s=="string"&&(s={src:s}),a&&c&&i.isImage(c)){const l=this.editor.model.createPositionAfter(c);i.insertImage({...s,...r},l)}else i.insertImage({...s,...r})})}}class e3 extends Q{constructor(t){super(t),this.decorate("cleanupImage")}refresh(){const e=this.editor.plugins.get("ImageUtils"),n=this.editor.model.document.selection.getSelectedElement();this.isEnabled=e.isImage(n),this.value=this.isEnabled?n.getAttribute("src"):null}execute(t){const e=this.editor.model.document.selection.getSelectedElement(),n=this.editor.plugins.get("ImageUtils");this.editor.model.change(i=>{i.setAttribute("src",t.source,e),this.cleanupImage(i,e),n.setImageNaturalSizeAttributes(e)})}cleanupImage(t,e){t.removeAttribute("srcset",e),t.removeAttribute("sizes",e),t.removeAttribute("sources",e),t.removeAttribute("width",e),t.removeAttribute("height",e),t.removeAttribute("alt",e)}}class Zf extends M{static get requires(){return[Ht]}static get pluginName(){return"ImageEditing"}init(){const t=this.editor,e=t.conversion;t.editing.view.addObserver(Za),e.for("upcast").attributeToAttribute({view:{name:"img",key:"alt"},model:"alt"}).attributeToAttribute({view:{name:"img",key:"srcset"},model:"srcset"});const n=new t3(t),i=new e3(t);t.commands.add("insertImage",n),t.commands.add("replaceImageSource",i),t.commands.add("imageInsert",n)}}class Kf extends M{static get requires(){return[Ht]}static get pluginName(){return"ImageSizeAttributes"}afterInit(){this._registerSchema(),this._registerConverters("imageBlock"),this._registerConverters("imageInline")}_registerSchema(){this.editor.plugins.has("ImageBlockEditing")&&this.editor.model.schema.extend("imageBlock",{allowAttributes:["width","height"]}),this.editor.plugins.has("ImageInlineEditing")&&this.editor.model.schema.extend("imageInline",{allowAttributes:["width","height"]})}_registerConverters(t){const e=this.editor,n=e.plugins.get("ImageUtils"),i=t==="imageBlock"?"figure":"img";e.conversion.for("upcast").attributeToAttribute({view:{name:i,styles:{width:/.+/}},model:{key:"width",value:s=>tr(s)?Xi(s.getStyle("width")):null}}).attributeToAttribute({view:{name:i,key:"width"},model:"width"}).attributeToAttribute({view:{name:i,styles:{height:/.+/}},model:{key:"height",value:s=>tr(s)?Xi(s.getStyle("height")):null}}).attributeToAttribute({view:{name:i,key:"height"},model:"height"}),e.conversion.for("editingDowncast").add(s=>{r(s,"width","width",!0),r(s,"height","height",!0)}),e.conversion.for("dataDowncast").add(s=>{r(s,"width","width",!1),r(s,"height","height",!1)});function r(s,a,c,l){s.on(`attribute:${a}:${t}`,(d,u,m)=>{if(!m.consumable.consume(u.item,d.name))return;const p=m.writer,b=m.mapper.toViewElement(u.item),S=n.findViewImgElement(b);if(u.attributeNewValue!==null?p.setAttribute(c,u.attributeNewValue,S):p.removeAttribute(c,S),u.item.hasAttribute("sources"))return;const B=u.item.hasAttribute("resizedWidth");if(t==="imageInline"&&!B&&!l)return;const z=u.item.getAttribute("width"),V=u.item.getAttribute("height");z&&V&&p.setStyle("aspect-ratio",`${z}/${V}`,S)})}}}class Yf extends Q{constructor(t,e){super(t),this._modelElementName=e}refresh(){const e=this.editor.plugins.get("ImageUtils"),n=e.getClosestSelectedImageElement(this.editor.model.document.selection);this._modelElementName==="imageBlock"?this.isEnabled=e.isInlineImage(n):this.isEnabled=e.isBlockImage(n)}execute(t={}){const e=this.editor,n=this.editor.model,i=e.plugins.get("ImageUtils"),r=i.getClosestSelectedImageElement(n.document.selection),s=Object.fromEntries(r.getAttributes());return!s.src&&!s.uploadId?null:n.change(a=>{const{setImageSizes:c=!0}=t,l=Array.from(n.markers).filter(m=>m.getRange().containsItem(r)),d=i.insertImage(s,n.createSelection(r,"on"),this._modelElementName,{setImageSizes:c});if(!d)return null;const u=a.createRangeOn(d);for(const m of l){const p=m.getRange(),b=p.root.rootName!="$graveyard"?p.getJoined(u,!0):u;a.updateMarker(m,{range:b})}return{oldElement:r,newElement:d}})}}var Qf=L(31),Ka={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ka.insert="head",Ka.singleton=!0,R()(Qf.Z,Ka),Qf.Z.locals;class Jf extends M{static get requires(){return[Ht]}static get pluginName(){return"ImagePlaceholder"}afterInit(){this._setupSchema(),this._setupConversion(),this._setupLoadListener()}_setupSchema(){const t=this.editor.model.schema;t.isRegistered("imageBlock")&&t.extend("imageBlock",{allowAttributes:["placeholder"]}),t.isRegistered("imageInline")&&t.extend("imageInline",{allowAttributes:["placeholder"]})}_setupConversion(){const t=this.editor,e=t.conversion,n=t.plugins.get("ImageUtils");e.for("editingDowncast").add(i=>{i.on("attribute:placeholder",(r,s,a)=>{if(!a.consumable.test(s.item,r.name)||!s.item.is("element","imageBlock")&&!s.item.is("element","imageInline"))return;a.consumable.consume(s.item,r.name);const c=a.writer,l=a.mapper.toViewElement(s.item),d=n.findViewImgElement(l);s.attributeNewValue?(c.addClass("image_placeholder",d),c.setStyle("background-image",`url(${s.attributeNewValue})`,d),c.setCustomProperty("editingPipeline:doNotReuseOnce",!0,d)):(c.removeClass("image_placeholder",d),c.removeStyle("background-image",d))})})}_setupLoadListener(){const t=this.editor,e=t.model,n=t.editing,i=n.view,r=t.plugins.get("ImageUtils");i.addObserver(Za),this.listenTo(i.document,"imageLoaded",(s,a)=>{const c=i.domConverter.mapDomToView(a.target);if(!c)return;const l=r.getImageWidgetFromImageView(c);if(!l)return;const d=n.mapper.toModelElement(l);!d||!d.hasAttribute("placeholder")||e.enqueueChange({isUndoable:!1},u=>{u.removeAttribute("placeholder",d)})})}}class Xf extends M{static get requires(){return[Zf,Kf,Ht,Jf,De]}static get pluginName(){return"ImageBlockEditing"}init(){const t=this.editor;t.model.schema.register("imageBlock",{inheritAllFrom:"$blockObject",allowAttributes:["alt","src","srcset"]}),this._setupConversion(),t.plugins.has("ImageInlineEditing")&&(t.commands.add("imageTypeBlock",new Yf(this.editor,"imageBlock")),this._setupClipboardIntegration())}_setupConversion(){const t=this.editor,e=t.t,n=t.conversion,i=t.plugins.get("ImageUtils");n.for("dataDowncast").elementToStructure({model:"imageBlock",view:(r,{writer:s})=>Ff(s)}),n.for("editingDowncast").elementToStructure({model:"imageBlock",view:(r,{writer:s})=>i.toImageWidget(Ff(s),s,e("image widget"))}),n.for("downcast").add(er(i,"imageBlock","src")).add(er(i,"imageBlock","alt")).add($f(i,"imageBlock")),n.for("upcast").elementToElement({view:Vf(t,"imageBlock"),model:(r,{writer:s})=>s.createElement("imageBlock",r.hasAttribute("src")?{src:r.getAttribute("src")}:void 0)}).add(X4(i))}_setupClipboardIntegration(){const t=this.editor,e=t.model,n=t.editing.view,i=t.plugins.get("ImageUtils"),r=t.plugins.get("ClipboardPipeline");this.listenTo(r,"inputTransformation",(s,a)=>{const c=Array.from(a.content.getChildren());let l;if(!c.every(i.isInlineImageView))return;a.targetRanges?l=t.editing.mapper.toModelRange(a.targetRanges[0]):l=e.document.selection.getFirstRange();const d=e.createSelection(l);if(qa(e.schema,d)==="imageBlock"){const u=new Re(n.document),m=c.map(p=>u.createElement("figure",{class:"image"},p));a.content=u.createDocumentFragment(m)}}),this.listenTo(r,"contentInsertion",(s,a)=>{a.method==="paste"&&e.change(c=>{const l=c.createRangeIn(a.content);for(const d of l.getItems())d.is("element","imageBlock")&&i.setImageNaturalSizeAttributes(d)})})}}var tp=L(8879),Ya={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ya.insert="head",Ya.singleton=!0,R()(tp.Z,Ya),tp.Z.locals;class n3 extends G{constructor(t,e=[]){super(t),this.focusTracker=new Bt,this.keystrokes=new Vt,this._focusables=new ce,this.children=this.createCollection(),this._focusCycler=new fe({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}});for(const n of e)this.children.add(n),this._focusables.add(n),n instanceof jS&&this._focusables.addMany(n.children);if(this._focusables.length>1)for(const n of this._focusables)o3(n)&&(n.focusCycler.on("forwardCycle",i=>{this._focusCycler.focusNext(),i.stop()}),n.focusCycler.on("backwardCycle",i=>{this._focusCycler.focusPrevious(),i.stop()}));this.setTemplate({tag:"form",attributes:{class:["ck","ck-image-insert-form"],tabindex:-1},children:this.children})}render(){super.render(),h({view:this});for(const e of this._focusables)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)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}}function o3(o){return"focusCycler"in o}class ep extends M{static get pluginName(){return"ImageInsertUI"}static get requires(){return[Ht]}constructor(t){super(t),this._integrations=new Map,t.config.define("image.insert.integrations",["upload","assetManager","url"])}init(){const t=this.editor,e=t.model.document.selection,n=t.plugins.get("ImageUtils");this.set("isImageSelected",!1),this.listenTo(t.model.document,"change",()=>{this.isImageSelected=n.isImage(e.getSelectedElement())});const i=r=>this._createToolbarComponent(r);t.ui.componentFactory.add("insertImage",i),t.ui.componentFactory.add("imageInsert",i)}registerIntegration({name:t,observable:e,buttonViewCreator:n,formViewCreator:i,requiresForm:r}){this._integrations.has(t)&&void 0,this._integrations.set(t,{observable:e,buttonViewCreator:n,formViewCreator:i,requiresForm:!!r})}_createToolbarComponent(t){const e=this.editor,n=t.t,i=this._prepareIntegrations();if(!i.length)return null;let r;const s=i[0];if(i.length==1){if(!s.requiresForm)return s.buttonViewCreator(!0);r=s.buttonViewCreator(!0)}else{const l=s.buttonViewCreator(!1);r=new Pi(t,l),r.tooltip=!0,r.bind("label").to(this,"isImageSelected",d=>n(d?"Replace image":"Insert image"))}const a=this.dropdownView=de(t,r),c=i.map(({observable:l})=>l);return a.bind("isEnabled").toMany(c,"isEnabled",(...l)=>l.some(d=>d)),a.once("change:isOpen",()=>{const l=i.map(({formViewCreator:u})=>u(i.length==1)),d=new n3(e.locale,l);a.panelView.children.add(d)}),a}_prepareIntegrations(){const e=this.editor.config.get("image.insert.integrations"),n=[];if(!e.length)return n;for(const i of e){if(!this._integrations.has(i)){["upload","assetManager","url"].includes(i)||void 0;continue}n.push(this._integrations.get(i))}return n.length||void 0,n}}var np=L(2430),Qa={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Qa.insert="head",Qa.singleton=!0,R()(np.Z,Qa),np.Z.locals;class i3 extends M{static get requires(){return[Xf,$n,Wf,ep]}static get pluginName(){return"ImageBlock"}}class r3 extends M{static get requires(){return[Zf,Kf,Ht,Jf,De]}static get pluginName(){return"ImageInlineEditing"}init(){const t=this.editor,e=t.model.schema;e.register("imageInline",{inheritAllFrom:"$inlineObject",allowAttributes:["alt","src","srcset"]}),e.addChildCheck((n,i)=>{if(n.endsWith("caption")&&i.name==="imageInline")return!1}),this._setupConversion(),t.plugins.has("ImageBlockEditing")&&(t.commands.add("imageTypeInline",new Yf(this.editor,"imageInline")),this._setupClipboardIntegration())}_setupConversion(){const t=this.editor,e=t.t,n=t.conversion,i=t.plugins.get("ImageUtils");n.for("dataDowncast").elementToElement({model:"imageInline",view:(r,{writer:s})=>s.createEmptyElement("img")}),n.for("editingDowncast").elementToStructure({model:"imageInline",view:(r,{writer:s})=>i.toImageWidget(V4(s),s,e("image widget"))}),n.for("downcast").add(er(i,"imageInline","src")).add(er(i,"imageInline","alt")).add($f(i,"imageInline")),n.for("upcast").elementToElement({view:Vf(t,"imageInline"),model:(r,{writer:s})=>s.createElement("imageInline",r.hasAttribute("src")?{src:r.getAttribute("src")}:void 0)})}_setupClipboardIntegration(){const t=this.editor,e=t.model,n=t.editing.view,i=t.plugins.get("ImageUtils"),r=t.plugins.get("ClipboardPipeline");this.listenTo(r,"inputTransformation",(s,a)=>{const c=Array.from(a.content.getChildren());let l;if(!c.every(i.isBlockImageView))return;a.targetRanges?l=t.editing.mapper.toModelRange(a.targetRanges[0]):l=e.document.selection.getFirstRange();const d=e.createSelection(l);if(qa(e.schema,d)==="imageInline"){const u=new Re(n.document),m=c.map(p=>p.childCount===1?(Array.from(p.getAttributes()).forEach(b=>u.setAttribute(...b,i.findViewImgElement(p))),p.getChild(0)):p);a.content=u.createDocumentFragment(m)}}),this.listenTo(r,"contentInsertion",(s,a)=>{a.method==="paste"&&e.change(c=>{const l=c.createRangeIn(a.content);for(const d of l.getItems())d.is("element","imageInline")&&i.setImageNaturalSizeAttributes(d)})})}}class s3 extends M{static get requires(){return[r3,$n,Wf,ep]}static get pluginName(){return"ImageInline"}}class a3 extends M{static get requires(){return[i3,s3]}static get pluginName(){return"Image"}}class op extends M{static get pluginName(){return"ImageCaptionUtils"}static get requires(){return[Ht]}getCaptionFromImageModelElement(t){for(const e of t.getChildren())if(e&&e.is("element","caption"))return e;return null}getCaptionFromModelSelection(t){const e=this.editor.plugins.get("ImageUtils"),n=t.getFirstPosition().findAncestor("caption");return n&&e.isBlockImage(n.parent)?n:null}matchImageCaptionViewElement(t){const e=this.editor.plugins.get("ImageUtils");return t.name=="figcaption"&&e.isBlockImageView(t.parent)?{name:!0}:null}}class c3 extends Q{refresh(){const t=this.editor,e=t.plugins.get("ImageCaptionUtils"),n=t.plugins.get("ImageUtils");if(!t.plugins.has(Xf)){this.isEnabled=!1,this.value=!1;return}const i=t.model.document.selection,r=i.getSelectedElement();if(!r){const s=e.getCaptionFromModelSelection(i);this.isEnabled=!!s,this.value=!!s;return}this.isEnabled=n.isImage(r),this.isEnabled?this.value=!!e.getCaptionFromImageModelElement(r):this.value=!1}execute(t={}){const{focusCaptionOnShow:e}=t;this.editor.model.change(n=>{this.value?this._hideImageCaption(n):this._showImageCaption(n,e)})}_showImageCaption(t,e){const i=this.editor.model.document.selection,r=this.editor.plugins.get("ImageCaptionEditing"),s=this.editor.plugins.get("ImageUtils");let a=i.getSelectedElement();const c=r._getSavedCaption(a);s.isInlineImage(a)&&(this.editor.execute("imageTypeBlock"),a=i.getSelectedElement());const l=c||t.createElement("caption");t.append(l,a),e&&t.setSelection(l,"in")}_hideImageCaption(t){const e=this.editor,n=e.model.document.selection,i=e.plugins.get("ImageCaptionEditing"),r=e.plugins.get("ImageCaptionUtils");let s=n.getSelectedElement(),a;s?a=r.getCaptionFromImageModelElement(s):(a=r.getCaptionFromModelSelection(n),s=a.parent),i._saveCaption(s,a),t.setSelection(s,"on"),t.remove(a)}}class l3 extends M{static get requires(){return[Ht,op]}static get pluginName(){return"ImageCaptionEditing"}constructor(t){super(t),this._savedCaptionsMap=new WeakMap}init(){const t=this.editor,e=t.model.schema;e.isRegistered("caption")?e.extend("caption",{allowIn:"imageBlock"}):e.register("caption",{allowIn:"imageBlock",allowContentOf:"$block",isLimit:!0}),t.commands.add("toggleImageCaption",new c3(this.editor)),this._setupConversion(),this._setupImageTypeCommandsIntegration(),this._registerCaptionReconversion()}_setupConversion(){const t=this.editor,e=t.editing.view,n=t.plugins.get("ImageUtils"),i=t.plugins.get("ImageCaptionUtils"),r=t.t;t.conversion.for("upcast").elementToElement({view:s=>i.matchImageCaptionViewElement(s),model:"caption"}),t.conversion.for("dataDowncast").elementToElement({model:"caption",view:(s,{writer:a})=>n.isBlockImage(s.parent)?a.createContainerElement("figcaption"):null}),t.conversion.for("editingDowncast").elementToElement({model:"caption",view:(s,{writer:a})=>{if(!n.isBlockImage(s.parent))return null;const c=a.createEditableElement("figcaption");a.setCustomProperty("imageCaption",!0,c),c.placeholder=r("Enter image caption"),uu({view:e,element:c,keepOnFocus:!0});const l=s.parent.getAttribute("alt"),d=l?r("Caption for image: %0",[l]):r("Caption for the image");return Bm(c,a,{label:d})}})}_setupImageTypeCommandsIntegration(){const t=this.editor,e=t.plugins.get("ImageUtils"),n=t.plugins.get("ImageCaptionUtils"),i=t.commands.get("imageTypeInline"),r=t.commands.get("imageTypeBlock"),s=a=>{if(!a.return)return;const{oldElement:c,newElement:l}=a.return;if(!c)return;if(e.isBlockImage(c)){const u=n.getCaptionFromImageModelElement(c);if(u){this._saveCaption(l,u);return}}const d=this._getSavedCaption(c);d&&this._saveCaption(l,d)};i&&this.listenTo(i,"execute",s,{priority:"low"}),r&&this.listenTo(r,"execute",s,{priority:"low"})}_getSavedCaption(t){const e=this._savedCaptionsMap.get(t);return e?lt.fromJSON(e):null}_saveCaption(t,e){this._savedCaptionsMap.set(t,e.toJSON())}_registerCaptionReconversion(){const t=this.editor,e=t.model,n=t.plugins.get("ImageUtils"),i=t.plugins.get("ImageCaptionUtils");e.document.on("change:data",()=>{const r=e.document.differ.getChanges();for(const s of r){if(s.attributeKey!=="alt")continue;const a=s.range.start.nodeAfter;if(n.isBlockImage(a)){const c=i.getCaptionFromImageModelElement(a);if(!c)return;t.editing.reconvertItem(c)}}})}}class d3 extends M{static get requires(){return[op]}static get pluginName(){return"ImageCaptionUI"}init(){const t=this.editor,e=t.editing.view,n=t.plugins.get("ImageCaptionUtils"),i=t.t;t.ui.componentFactory.add("toggleImageCaption",r=>{const s=t.commands.get("toggleImageCaption"),a=new et(r);return a.set({icon:dt.caption,tooltip:!0,isToggleable:!0}),a.bind("isOn","isEnabled").to(s,"value","isEnabled"),a.bind("label").to(s,"value",c=>i(c?"Toggle caption off":"Toggle caption on")),this.listenTo(a,"execute",()=>{t.execute("toggleImageCaption",{focusCaptionOnShow:!0});const c=n.getCaptionFromModelSelection(t.model.document.selection);if(c){const l=t.editing.mapper.toViewElement(c);e.scrollToTheSelection(),e.change(d=>{d.addClass("image__caption_highlighted",l)})}t.editing.view.focus()}),a})}}var ip=L(2423),Ja={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ja.insert="head",Ja.singleton=!0,R()(ip.Z,Ja),ip.Z.locals;class u3 extends M{static get requires(){return[l3,d3]}static get pluginName(){return"ImageCaption"}}class h3 extends st(){constructor(){super();const t=new window.FileReader;this._reader=t,this._data=void 0,this.set("loaded",0),t.onprogress=e=>{this.loaded=e.loaded}}get error(){return this._reader.error}get data(){return this._data}read(t){const e=this._reader;return this.total=t.size,new Promise((n,i)=>{e.onload=()=>{const r=e.result;this._data=r,n(r)},e.onerror=()=>{i("error")},e.onabort=()=>{i("aborted")},this._reader.readAsDataURL(t)})}abort(){this._reader.abort()}}class pn extends M{constructor(){super(...arguments),this.loaders=new te,this._loadersMap=new Map,this._pendingAction=null}static get pluginName(){return"FileRepository"}static get requires(){return[Ni]}init(){this.loaders.on("change",()=>this._updatePendingAction()),this.set("uploaded",0),this.set("uploadTotal",null),this.bind("uploadedPercent").to(this,"uploaded",this,"uploadTotal",(t,e)=>e?t/e*100:0)}getLoader(t){return this._loadersMap.get(t)||null}createLoader(t){if(!this.createUploadAdapter)return null;const e=new rp(Promise.resolve(t),this.createUploadAdapter);return this.loaders.add(e),this._loadersMap.set(t,e),t instanceof Promise&&e.file.then(n=>{this._loadersMap.set(n,e)}).catch(()=>{}),e.on("change:uploaded",()=>{let n=0;for(const i of this.loaders)n+=i.uploaded;this.uploaded=n}),e.on("change:uploadTotal",()=>{let n=0;for(const i of this.loaders)i.uploadTotal&&(n+=i.uploadTotal);this.uploadTotal=n}),e}destroyLoader(t){const e=t instanceof rp?t:this.getLoader(t);e._destroy(),this.loaders.remove(e),this._loadersMap.forEach((n,i)=>{n===e&&this._loadersMap.delete(i)})}_updatePendingAction(){const t=this.editor.plugins.get(Ni);if(this.loaders.length){if(!this._pendingAction){const e=this.editor.t,n=i=>`${e("Upload in progress")} ${parseInt(i)}%.`;this._pendingAction=t.add(n(this.uploadedPercent)),this._pendingAction.bind("message").to(this,"uploadedPercent",n)}}else t.remove(this._pendingAction),this._pendingAction=null}}class rp extends st(){constructor(t,e){super(),this.id=qt(),this._filePromiseWrapper=this._createFilePromiseWrapper(t),this._adapter=e(this),this._reader=new h3,this.set("status","idle"),this.set("uploaded",0),this.set("uploadTotal",null),this.bind("uploadedPercent").to(this,"uploaded",this,"uploadTotal",(n,i)=>i?n/i*100:0),this.set("uploadResponse",null)}get file(){return this._filePromiseWrapper?this._filePromiseWrapper.promise.then(t=>this._filePromiseWrapper?t:null):Promise.resolve(null)}get data(){return this._reader.data}read(){if(this.status!="idle")throw new w("filerepository-read-wrong-status",this);return this.status="reading",this.file.then(t=>this._reader.read(t)).then(t=>{if(this.status!=="reading")throw this.status;return this.status="idle",t}).catch(t=>{throw t==="aborted"?(this.status="aborted","aborted"):(this.status="error",this._reader.error?this._reader.error:t)})}upload(){if(this.status!="idle")throw new w("filerepository-upload-wrong-status",this);return this.status="uploading",this.file.then(()=>this._adapter.upload()).then(t=>(this.uploadResponse=t,this.status="idle",t)).catch(t=>{throw this.status==="aborted"?"aborted":(this.status="error",t)})}abort(){const t=this.status;this.status="aborted",this._filePromiseWrapper.isFulfilled?t=="reading"?this._reader.abort():t=="uploading"&&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(t){const e={};return e.promise=new Promise((n,i)=>{e.rejecter=i,e.isFulfilled=!1,t.then(r=>{e.isFulfilled=!0,n(r)}).catch(r=>{e.isFulfilled=!0,i(r)})}),e}}class g3 extends et{constructor(t){super(t),this.buttonView=this,this._fileInputView=new m3(t),this._fileInputView.bind("acceptedType").to(this),this._fileInputView.bind("allowMultipleFiles").to(this),this._fileInputView.delegate("done").to(this),this.on("execute",()=>{this._fileInputView.open()}),this.extendTemplate({attributes:{class:"ck-file-dialog-button"}})}render(){super.render(),this.children.add(this._fileInputView)}}class m3 extends G{constructor(t){super(t),this.set("acceptedType",void 0),this.set("allowMultipleFiles",!1);const e=this.bindTemplate;this.setTemplate({tag:"input",attributes:{class:["ck-hidden"],type:"file",tabindex:"-1",accept:e.to("acceptedType"),multiple:e.to("allowMultipleFiles")},on:{change:e.to(()=>{this.element&&this.element.files&&this.element.files.length&&this.fire("done",this.element.files),this.element.value=""})}})}open(){this.element.click()}}class f3 extends M{static get requires(){return[pn]}static get pluginName(){return"SimpleUploadAdapter"}init(){const t=this.editor.config.get("simpleUpload");if(t){if(!t.uploadUrl){return}this.editor.plugins.get(pn).createUploadAdapter=e=>new p3(e,t)}}}class p3{constructor(t,e){this.loader=t,this.options=e}upload(){return this.loader.file.then(t=>new Promise((e,n)=>{this._initRequest(),this._initListeners(e,n,t),this._sendRequest(t)}))}abort(){this.xhr&&this.xhr.abort()}_initRequest(){const t=this.xhr=new XMLHttpRequest;t.open("POST",this.options.uploadUrl,!0),t.responseType="json"}_initListeners(t,e,n){const i=this.xhr,r=this.loader,s=`Couldn't upload file: ${n.name}.`;i.addEventListener("error",()=>e(s)),i.addEventListener("abort",()=>e()),i.addEventListener("load",()=>{const a=i.response;if(!a||a.error)return e(a&&a.error&&a.error.message?a.error.message:s);const c=a.url?{default:a.url}:a.urls;t({...a,urls:c})}),i.upload&&i.upload.addEventListener("progress",a=>{a.lengthComputable&&(r.uploadTotal=a.total,r.uploaded=a.loaded)})}_sendRequest(t){const e=this.options.headers||{},n=this.options.withCredentials||!1;for(const r of Object.keys(e))this.xhr.setRequestHeader(r,e[r]);this.xhr.withCredentials=n;const i=new FormData;i.append("upload",t),this.xhr.send(i)}}function sp(o){const t=o.map(e=>e.replace("+","\\+"));return new RegExp(`^image\\/(${t.join("|")})$`)}function k3(o){return new Promise((t,e)=>{const n=o.getAttribute("src");fetch(n).then(i=>i.blob()).then(i=>{const r=ap(i,n),a=`image.${r.replace("image/","")}`,c=new File([i],a,{type:r});t(c)}).catch(i=>i&&i.name==="TypeError"?w3(n).then(t).catch(e):e(i))})}function b3(o,t){return!o.isInlineImageView(t)||!t.getAttribute("src")?!1:!!t.getAttribute("src").match(/^data:image\/\w+;base64,/g)||!!t.getAttribute("src").match(/^blob:/g)}function ap(o,t){return o.type?o.type:t.match(/data:(image\/\w+);base64/)?t.match(/data:(image\/\w+);base64/)[1].toLowerCase():"image/jpeg"}function w3(o){return A3(o).then(t=>{const e=ap(t,o),i=`image.${e.replace("image/","")}`;return new File([t],i,{type:e})})}function A3(o){return new Promise((t,e)=>{const n=U.document.createElement("img");n.addEventListener("load",()=>{const i=U.document.createElement("canvas");i.width=n.width,i.height=n.height,i.getContext("2d").drawImage(n,0,0),i.toBlob(s=>s?t(s):e())}),n.addEventListener("error",()=>e()),n.src=o})}class C3 extends M{static get pluginName(){return"ImageUploadUI"}init(){const t=this.editor,e=t.t,n=i=>{const r=new g3(i),s=t.commands.get("uploadImage"),a=t.config.get("image.upload.types"),c=sp(a);return r.set({acceptedType:a.map(l=>`image/${l}`).join(","),allowMultipleFiles:!0,label:e("Upload image from computer"),icon:dt.imageUpload,tooltip:!0}),r.bind("isEnabled").to(s),r.on("done",(l,d)=>{const u=Array.from(d).filter(m=>c.test(m.type));u.length&&(t.execute("uploadImage",{file:u}),t.editing.view.focus())}),r};if(t.ui.componentFactory.add("uploadImage",n),t.ui.componentFactory.add("imageUpload",n),t.plugins.has("ImageInsertUI")){const i=t.plugins.get("ImageInsertUI"),r=t.commands.get("uploadImage");i.registerIntegration({name:"upload",observable:r,buttonViewCreator:()=>{const s=t.ui.componentFactory.create("uploadImage");return s.bind("label").to(i,"isImageSelected",a=>e(a?"Replace image from computer":"Upload image from computer")),s},formViewCreator:()=>{const s=t.ui.componentFactory.create("uploadImage");return s.withText=!0,s.bind("label").to(i,"isImageSelected",a=>e(a?"Replace from computer":"Upload from computer")),s.on("execute",()=>{i.dropdownView.isOpen=!1}),s}})}}}var cp=L(2926),Xa={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Xa.insert="head",Xa.singleton=!0,R()(cp.Z,Xa),cp.Z.locals;var lp=L(1547),tc={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};tc.insert="head",tc.singleton=!0,R()(lp.Z,tc),lp.Z.locals;var dp=L(6618),ec={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};ec.insert="head",ec.singleton=!0,R()(dp.Z,ec),dp.Z.locals;class _3 extends M{static get pluginName(){return"ImageUploadProgress"}constructor(t){super(t),this.uploadStatusChange=(e,n,i)=>{const r=this.editor,s=n.item,a=s.getAttribute("uploadId");if(!i.consumable.consume(n.item,e.name))return;const c=r.plugins.get("ImageUtils"),l=r.plugins.get(pn),d=a?n.attributeNewValue:null,u=this.placeholder,m=r.editing.mapper.toViewElement(s),p=i.writer;if(d=="reading"){up(m,p),hp(c,u,m,p);return}if(d=="uploading"){const b=l.loaders.get(a);up(m,p),b?(gp(m,p),y3(m,p,b,r.editing.view),T3(c,m,p,b)):hp(c,u,m,p);return}d=="complete"&&l.loaders.get(a)&&E3(m,p,r.editing.view),x3(m,p),gp(m,p),v3(m,p)},this.placeholder="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="}init(){const t=this.editor;t.plugins.has("ImageBlockEditing")&&t.editing.downcastDispatcher.on("attribute:uploadStatus:imageBlock",this.uploadStatusChange),t.plugins.has("ImageInlineEditing")&&t.editing.downcastDispatcher.on("attribute:uploadStatus:imageInline",this.uploadStatusChange)}}function up(o,t){o.hasClass("ck-appear")||t.addClass("ck-appear",o)}function v3(o,t){t.removeClass("ck-appear",o)}function hp(o,t,e,n){e.hasClass("ck-image-upload-placeholder")||n.addClass("ck-image-upload-placeholder",e);const i=o.findViewImgElement(e);i.getAttribute("src")!==t&&n.setAttribute("src",t,i),mp(e,"placeholder")||n.insert(n.createPositionAfter(i),S3(n))}function gp(o,t){o.hasClass("ck-image-upload-placeholder")&&t.removeClass("ck-image-upload-placeholder",o),fp(o,t,"placeholder")}function y3(o,t,e,n){const i=D3(t);t.insert(t.createPositionAt(o,"end"),i),e.on("change:uploadedPercent",(r,s,a)=>{n.change(c=>{c.setStyle("width",a+"%",i)})})}function x3(o,t){fp(o,t,"progressBar")}function E3(o,t,e){const n=t.createUIElement("div",{class:"ck-image-upload-complete-icon"});t.insert(t.createPositionAt(o,"end"),n),setTimeout(()=>{e.change(i=>i.remove(i.createRangeOn(n)))},3e3)}function D3(o){const t=o.createUIElement("div",{class:"ck-progress-bar"});return o.setCustomProperty("progressBar",!0,t),t}function S3(o){const t=o.createUIElement("div",{class:"ck-upload-placeholder-loader"});return o.setCustomProperty("placeholder",!0,t),t}function mp(o,t){for(const e of o.getChildren())if(e.getCustomProperty(t))return e}function fp(o,t,e){const n=mp(o,e);n&&t.remove(t.createRangeOn(n))}function T3(o,t,e,n){if(n.data){const i=o.findViewImgElement(t);e.setAttribute("src",n.data,i)}}class I3 extends Q{refresh(){const t=this.editor,e=t.plugins.get("ImageUtils"),n=t.model.document.selection.getSelectedElement();this.isEnabled=e.isImageAllowed()||e.isImage(n)}execute(t){const e=_t(t.file),n=this.editor.model.document.selection,i=this.editor.plugins.get("ImageUtils"),r=Object.fromEntries(n.getAttributes());e.forEach((s,a)=>{const c=n.getSelectedElement();if(a&&c&&i.isImage(c)){const l=this.editor.model.createPositionAfter(c);this._uploadImage(s,r,l)}else this._uploadImage(s,r)})}_uploadImage(t,e,n){const i=this.editor,s=i.plugins.get(pn).createLoader(t),a=i.plugins.get("ImageUtils");s&&a.insertImage({...e,uploadId:s.id},n)}}class M3 extends M{static get requires(){return[pn,Fg,De,Ht]}static get pluginName(){return"ImageUploadEditing"}constructor(t){super(t),t.config.define("image",{upload:{types:["jpeg","png","gif","bmp","webp","tiff"]}}),this._uploadImageElements=new Map}init(){const t=this.editor,e=t.model.document,n=t.conversion,i=t.plugins.get(pn),r=t.plugins.get("ImageUtils"),s=t.plugins.get("ClipboardPipeline"),a=sp(t.config.get("image.upload.types")),c=new I3(t);t.commands.add("uploadImage",c),t.commands.add("imageUpload",c),n.for("upcast").attributeToAttribute({view:{name:"img",key:"uploadId"},model:"uploadId"}),this.listenTo(t.editing.view.document,"clipboardInput",(l,d)=>{if(B3(d.dataTransfer))return;const u=Array.from(d.dataTransfer.files).filter(m=>m?a.test(m.type):!1);u.length&&(l.stop(),t.model.change(m=>{d.targetRanges&&m.setSelection(d.targetRanges.map(p=>t.editing.mapper.toModelRange(p))),t.execute("uploadImage",{file:u})}))}),this.listenTo(s,"inputTransformation",(l,d)=>{const u=Array.from(t.editing.view.createRangeIn(d.content)).map(p=>p.item).filter(p=>b3(r,p)&&!p.getAttribute("uploadProcessed")).map(p=>({promise:k3(p),imageElement:p}));if(!u.length)return;const m=new Re(t.editing.view.document);for(const p of u){m.setAttribute("uploadProcessed",!0,p.imageElement);const b=i.createLoader(p.promise);b&&(m.setAttribute("src","",p.imageElement),m.setAttribute("uploadId",b.id,p.imageElement))}}),t.editing.view.document.on("dragover",(l,d)=>{d.preventDefault()}),e.on("change",()=>{const l=e.differ.getChanges({includeChangesInGraveyard:!0}).reverse(),d=new Set;for(const u of l)if(u.type=="insert"&&u.name!="$text"){const m=u.position.nodeAfter,p=u.position.root.rootName=="$graveyard";for(const b of N3(t,m)){const S=b.getAttribute("uploadId");if(!S)continue;const B=i.loaders.get(S);B&&(p?d.has(S)||B.abort():(d.add(S),this._uploadImageElements.set(S,b),B.status=="idle"&&this._readAndUpload(B)))}}}),this.on("uploadComplete",(l,{imageElement:d,data:u})=>{const m=u.urls?u.urls:u;this.editor.model.change(p=>{p.setAttribute("src",m.default,d),this._parseAndSetSrcsetAttributeOnImage(m,d,p),r.setImageNaturalSizeAttributes(d)})},{priority:"low"})}afterInit(){const t=this.editor.model.schema;this.editor.plugins.has("ImageBlockEditing")&&t.extend("imageBlock",{allowAttributes:["uploadId","uploadStatus"]}),this.editor.plugins.has("ImageInlineEditing")&&t.extend("imageInline",{allowAttributes:["uploadId","uploadStatus"]})}_readAndUpload(t){const e=this.editor,n=e.model,i=e.locale.t,r=e.plugins.get(pn),s=e.plugins.get(Fg),a=e.plugins.get("ImageUtils"),c=this._uploadImageElements;return n.enqueueChange({isUndoable:!1},d=>{d.setAttribute("uploadStatus","reading",c.get(t.id))}),t.read().then(()=>{const d=t.upload(),u=c.get(t.id);if(g.isSafari){const m=e.editing.mapper.toViewElement(u),p=a.findViewImgElement(m);e.editing.view.once("render",()=>{if(!p.parent)return;const b=e.editing.view.domConverter.mapViewToDom(p.parent);if(!b)return;const S=b.style.display;b.style.display="none",b._ckHack=b.offsetHeight,b.style.display=S})}return n.enqueueChange({isUndoable:!1},m=>{m.setAttribute("uploadStatus","uploading",u)}),d}).then(d=>{n.enqueueChange({isUndoable:!1},u=>{const m=c.get(t.id);u.setAttribute("uploadStatus","complete",m),this.fire("uploadComplete",{data:d,imageElement:m})}),l()}).catch(d=>{if(t.status!=="error"&&t.status!=="aborted")throw d;t.status=="error"&&d&&s.showWarning(d,{title:i("Upload failed"),namespace:"upload"}),n.enqueueChange({isUndoable:!1},u=>{u.remove(c.get(t.id))}),l()});function l(){n.enqueueChange({isUndoable:!1},d=>{const u=c.get(t.id);d.removeAttribute("uploadId",u),d.removeAttribute("uploadStatus",u),c.delete(t.id)}),r.destroyLoader(t)}}_parseAndSetSrcsetAttributeOnImage(t,e,n){let i=0;const r=Object.keys(t).filter(s=>{const a=parseInt(s,10);if(!isNaN(a))return i=Math.max(i,a),!0}).map(s=>`${t[s]} ${s}w`).join(", ");if(r!=""){const s={srcset:r};!e.hasAttribute("width")&&!e.hasAttribute("height")&&(s.width=i),n.setAttributes(s,e)}}}function B3(o){return Array.from(o.types).includes("text/html")&&o.getData("text/html")!==""}function N3(o,t){const e=o.plugins.get("ImageUtils");return Array.from(o.model.createRangeOn(t)).filter(n=>e.isImage(n.item)).map(n=>n.item)}class z3 extends M{static get pluginName(){return"ImageUpload"}static get requires(){return[M3,C3,_3]}}class P3 extends Q{refresh(){const t=this.editor,n=t.plugins.get("ImageUtils").getClosestSelectedImageElement(t.model.document.selection);this.isEnabled=!!n,!n||!n.hasAttribute("resizedWidth")?this.value=null:this.value={width:n.getAttribute("resizedWidth"),height:null}}execute(t){const e=this.editor,n=e.model,i=e.plugins.get("ImageUtils"),r=i.getClosestSelectedImageElement(n.document.selection);this.value={width:t.width,height:null},r&&n.change(s=>{s.setAttribute("resizedWidth",t.width,r),s.removeAttribute("resizedHeight",r),i.setImageNaturalSizeAttributes(r)})}}class pp extends M{static get requires(){return[Ht]}static get pluginName(){return"ImageResizeEditing"}constructor(t){super(t),t.config.define("image",{resizeUnit:"%",resizeOptions:[{name:"resizeImage:original",value:null,icon:"original"},{name:"resizeImage:25",value:"25",icon:"small"},{name:"resizeImage:50",value:"50",icon:"medium"},{name:"resizeImage:75",value:"75",icon:"large"}]})}init(){const t=this.editor,e=new P3(t);this._registerSchema(),this._registerConverters("imageBlock"),this._registerConverters("imageInline"),t.commands.add("resizeImage",e),t.commands.add("imageResize",e)}_registerSchema(){this.editor.plugins.has("ImageBlockEditing")&&this.editor.model.schema.extend("imageBlock",{allowAttributes:["resizedWidth","resizedHeight"]}),this.editor.plugins.has("ImageInlineEditing")&&this.editor.model.schema.extend("imageInline",{allowAttributes:["resizedWidth","resizedHeight"]})}_registerConverters(t){const e=this.editor,n=e.plugins.get("ImageUtils");e.conversion.for("downcast").add(i=>i.on(`attribute:resizedWidth:${t}`,(r,s,a)=>{if(!a.consumable.consume(s.item,r.name))return;const c=a.writer,l=a.mapper.toViewElement(s.item);s.attributeNewValue!==null?(c.setStyle("width",s.attributeNewValue,l),c.addClass("image_resized",l)):(c.removeStyle("width",l),c.removeClass("image_resized",l))})),e.conversion.for("dataDowncast").attributeToAttribute({model:{name:t,key:"resizedHeight"},view:i=>({key:"style",value:{height:i}})}),e.conversion.for("editingDowncast").add(i=>i.on(`attribute:resizedHeight:${t}`,(r,s,a)=>{if(!a.consumable.consume(s.item,r.name))return;const c=a.writer,l=a.mapper.toViewElement(s.item),d=t==="imageInline"?n.findViewImgElement(l):l;s.attributeNewValue!==null?c.setStyle("height",s.attributeNewValue,d):c.removeStyle("height",d)})),e.conversion.for("upcast").attributeToAttribute({view:{name:t==="imageBlock"?"figure":"img",styles:{width:/.+/}},model:{key:"resizedWidth",value:i=>tr(i)?null:i.getStyle("width")}}),e.conversion.for("upcast").attributeToAttribute({view:{name:t==="imageBlock"?"figure":"img",styles:{height:/.+/}},model:{key:"resizedHeight",value:i=>tr(i)?null:i.getStyle("height")}})}}const nc={small:dt.objectSizeSmall,medium:dt.objectSizeMedium,large:dt.objectSizeLarge,original:dt.objectSizeFull};class L3 extends M{static get requires(){return[pp]}static get pluginName(){return"ImageResizeButtons"}constructor(t){super(t),this._resizeUnit=t.config.get("image.resizeUnit")}init(){const t=this.editor,e=t.config.get("image.resizeOptions"),n=t.commands.get("resizeImage");this.bind("isEnabled").to(n);for(const i of e)this._registerImageResizeButton(i);this._registerImageResizeDropdown(e)}_registerImageResizeButton(t){const e=this.editor,{name:n,value:i,icon:r}=t,s=i?i+this._resizeUnit:null;e.ui.componentFactory.add(n,a=>{const c=new et(a),l=e.commands.get("resizeImage"),d=this._getOptionLabelValue(t,!0);if(!nc[r])throw new w("imageresizebuttons-missing-icon",e,t);return c.set({label:d,icon:nc[r],tooltip:d,isToggleable:!0}),c.bind("isEnabled").to(this),c.bind("isOn").to(l,"value",kp(s)),this.listenTo(c,"execute",()=>{e.execute("resizeImage",{width:s})}),c})}_registerImageResizeDropdown(t){const e=this.editor,n=e.t,i=t.find(s=>!s.value),r=s=>{const a=e.commands.get("resizeImage"),c=de(s,eu),l=c.buttonView,d=n("Resize image");return l.set({tooltip:d,commandValue:i.value,icon:nc.medium,isToggleable:!0,label:this._getOptionLabelValue(i),withText:!0,class:"ck-resize-image-button",ariaLabel:d,ariaLabelledBy:void 0}),l.bind("label").to(a,"value",u=>u&&u.width?u.width:this._getOptionLabelValue(i)),c.bind("isEnabled").to(this),Gs(c,()=>this._getResizeDropdownListItemDefinitions(t,a),{ariaLabel:n("Image resize list"),role:"menu"}),this.listenTo(c,"execute",u=>{e.execute(u.source.commandName,{width:u.source.commandValue}),e.editing.view.focus()}),c};e.ui.componentFactory.add("resizeImage",r),e.ui.componentFactory.add("imageResize",r)}_getOptionLabelValue(t,e=!1){const n=this.editor.t;return t.label?t.label:e?t.value?n("Resize image to %0",t.value+this._resizeUnit):n("Resize image to the original size"):t.value?t.value+this._resizeUnit:n("Original")}_getResizeDropdownListItemDefinitions(t,e){const n=new te;return t.map(i=>{const r=i.value?i.value+this._resizeUnit:null,s={type:"button",model:new la({commandName:"resizeImage",commandValue:r,label:this._getOptionLabelValue(i),role:"menuitemradio",withText:!0,icon:null})};s.model.bind("isOn").to(e,"value",kp(r)),n.add(s)}),n}}function kp(o){return t=>{const e=t;return o===null&&e===o?!0:e!==null&&e.width===o}}const O3="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",oc="image_resized";class R3 extends M{static get requires(){return[Na,Ht]}static get pluginName(){return"ImageResizeHandles"}init(){const t=this.editor.commands.get("resizeImage");this.bind("isEnabled").to(t),this._setupResizerCreator()}_setupResizerCreator(){const t=this.editor,e=t.editing.view,n=t.plugins.get("ImageUtils");e.addObserver(Za),this.listenTo(e.document,"imageLoaded",(i,r)=>{if(!r.target.matches(O3))return;const s=t.editing.view.domConverter,a=s.domToView(r.target),c=n.getImageWidgetFromImageView(a);let l=this.editor.plugins.get(Na).getResizerByViewElement(c);if(l){l.redraw();return}const d=t.editing.mapper,u=d.toModelElement(c);l=t.plugins.get(Na).attachTo({unit:t.config.get("image.resizeUnit"),modelElement:u,viewElement:c,editor:t,getHandleHost(m){return m.querySelector("img")},getResizeHost(){return s.mapViewToDom(d.toViewElement(u.parent))},isCentered(){const m=u.getAttribute("imageStyle");return!m||m=="block"||m=="alignCenter"},onCommit(m){e.change(p=>{p.removeClass(oc,c)}),t.execute("resizeImage",{width:m})}}),l.on("updateSize",()=>{c.hasClass(oc)||e.change(p=>{p.addClass(oc,c)});const m=u.name==="imageInline"?a:c;m.getStyle("height")&&e.change(p=>{p.removeStyle("height",m)})}),l.bind("isEnabled").to(this)})}}var bp=L(2400),ic={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};ic.insert="head",ic.singleton=!0,R()(bp.Z,ic),bp.Z.locals;class j3 extends M{static get requires(){return[pp,R3,L3]}static get pluginName(){return"ImageResize"}}class F3 extends Q{constructor(t,e){super(t),this._defaultStyles={imageBlock:!1,imageInline:!1},this._styles=new Map(e.map(n=>{if(n.isDefault)for(const i of n.modelElements)this._defaultStyles[i]=n.name;return[n.name,n]}))}refresh(){const n=this.editor.plugins.get("ImageUtils").getClosestSelectedImageElement(this.editor.model.document.selection);this.isEnabled=!!n,this.isEnabled?n.hasAttribute("imageStyle")?this.value=n.getAttribute("imageStyle"):this.value=this._defaultStyles[n.name]:this.value=!1}execute(t={}){const e=this.editor,n=e.model,i=e.plugins.get("ImageUtils");n.change(r=>{const s=t.value,{setImageSizes:a=!0}=t;let c=i.getClosestSelectedImageElement(n.document.selection);s&&this.shouldConvertImageType(s,c)&&(this.editor.execute(i.isBlockImage(c)?"imageTypeInline":"imageTypeBlock",{setImageSizes:a}),c=i.getClosestSelectedImageElement(n.document.selection)),!s||this._styles.get(s).isDefault?r.removeAttribute("imageStyle",c):r.setAttribute("imageStyle",s,c),a&&i.setImageNaturalSizeAttributes(c)})}shouldConvertImageType(t,e){return!this._styles.get(t).modelElements.includes(e.name)}}const{objectFullWidth:V3,objectInline:wp,objectLeft:Ap,objectRight:rc,objectCenter:sc,objectBlockLeft:Cp,objectBlockRight:_p}=dt,nr={get inline(){return{name:"inline",title:"In line",icon:wp,modelElements:["imageInline"],isDefault:!0}},get alignLeft(){return{name:"alignLeft",title:"Left aligned image",icon:Ap,modelElements:["imageBlock","imageInline"],className:"image-style-align-left"}},get alignBlockLeft(){return{name:"alignBlockLeft",title:"Left aligned image",icon:Cp,modelElements:["imageBlock"],className:"image-style-block-align-left"}},get alignCenter(){return{name:"alignCenter",title:"Centered image",icon:sc,modelElements:["imageBlock"],className:"image-style-align-center"}},get alignRight(){return{name:"alignRight",title:"Right aligned image",icon:rc,modelElements:["imageBlock","imageInline"],className:"image-style-align-right"}},get alignBlockRight(){return{name:"alignBlockRight",title:"Right aligned image",icon:_p,modelElements:["imageBlock"],className:"image-style-block-align-right"}},get block(){return{name:"block",title:"Centered image",icon:sc,modelElements:["imageBlock"],isDefault:!0}},get side(){return{name:"side",title:"Side image",icon:rc,modelElements:["imageBlock"],className:"image-style-side"}}},vp={full:V3,left:Cp,right:_p,center:sc,inlineLeft:Ap,inlineRight:rc,inline:wp},yp=[{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 H3(o){return(o.configuredStyles.options||[]).map(n=>q3(n)).filter(n=>W3(n,o))}function U3(o,t){return o&&t?{options:["inline","alignLeft","alignRight","alignCenter","alignBlockLeft","alignBlockRight","block","side"]}:o?{options:["block","side"]}:t?{options:["inline","alignLeft","alignRight"]}:{}}function G3(o){return o.has("ImageBlockEditing")&&o.has("ImageInlineEditing")?[...yp]:[]}function q3(o){return typeof o=="string"?nr[o]?o={...nr[o]}:o={name:o}:o=$3(nr[o.name],o),typeof o.icon=="string"&&(o.icon=vp[o.icon]||o.icon),o}function W3(o,{isBlockPluginLoaded:t,isInlinePluginLoaded:e}){const{modelElements:n,name:i}=o;if(!n||!n.length||!i)return xp({style:o}),!1;{const r=[t?"imageBlock":null,e?"imageInline":null];if(!n.some(s=>r.includes(s)))return n.map(s=>s==="imageBlock"?"ImageBlockEditing":"ImageInlineEditing"),!1}return!0}function $3(o,t){const e={...t};for(const n in o)Object.prototype.hasOwnProperty.call(t,n)||(e[n]=o[n]);return e}function xp(o){}const ac={normalizeStyles:H3,getDefaultStylesConfiguration:U3,getDefaultDropdownDefinitions:G3,warnInvalidStyle:xp,DEFAULT_OPTIONS:nr,DEFAULT_ICONS:vp,DEFAULT_DROPDOWN_DEFINITIONS:yp};function Z3(o){return(t,e,n)=>{if(!n.consumable.consume(e.item,t.name))return;const i=Ep(e.attributeNewValue,o),r=Ep(e.attributeOldValue,o),s=n.mapper.toViewElement(e.item),a=n.writer;r&&a.removeClass(r.className,s),i&&a.addClass(i.className,s)}}function K3(o){const t={imageInline:o.filter(e=>!e.isDefault&&e.modelElements.includes("imageInline")),imageBlock:o.filter(e=>!e.isDefault&&e.modelElements.includes("imageBlock"))};return(e,n,i)=>{if(!n.modelRange)return;const r=n.viewItem,s=Tt(n.modelRange.getItems());if(s&&i.schema.checkAttribute(s,"imageStyle"))for(const a of t[s.name])i.consumable.consume(r,{classes:a.className})&&i.writer.setAttribute("imageStyle",a.name,s)}}function Ep(o,t){for(const e of t)if(e.name===o)return e}class Dp extends M{static get pluginName(){return"ImageStyleEditing"}static get requires(){return[Ht]}init(){const{normalizeStyles:t,getDefaultStylesConfiguration:e}=ac,n=this.editor,i=n.plugins.has("ImageBlockEditing"),r=n.plugins.has("ImageInlineEditing");n.config.define("image.styles",e(i,r)),this.normalizedStyles=t({configuredStyles:n.config.get("image.styles"),isBlockPluginLoaded:i,isInlinePluginLoaded:r}),this._setupConversion(i,r),this._setupPostFixer(),n.commands.add("imageStyle",new F3(n,this.normalizedStyles))}_setupConversion(t,e){const n=this.editor,i=n.model.schema,r=Z3(this.normalizedStyles),s=K3(this.normalizedStyles);n.editing.downcastDispatcher.on("attribute:imageStyle",r),n.data.downcastDispatcher.on("attribute:imageStyle",r),t&&(i.extend("imageBlock",{allowAttributes:"imageStyle"}),n.data.upcastDispatcher.on("element:figure",s,{priority:"low"})),e&&(i.extend("imageInline",{allowAttributes:"imageStyle"}),n.data.upcastDispatcher.on("element:img",s,{priority:"low"}))}_setupPostFixer(){const t=this.editor,e=t.model.document,n=t.plugins.get(Ht),i=new Map(this.normalizedStyles.map(r=>[r.name,r]));e.registerPostFixer(r=>{let s=!1;for(const a of e.differ.getChanges())if(a.type=="insert"||a.type=="attribute"&&a.attributeKey=="imageStyle"){let c=a.type=="insert"?a.position.nodeAfter:a.range.start.nodeAfter;if(c&&c.is("element","paragraph")&&c.childCount>0&&(c=c.getChild(0)),!n.isImage(c))continue;const l=c.getAttribute("imageStyle");if(!l)continue;const d=i.get(l);(!d||!d.modelElements.includes(c.name))&&(r.removeAttribute("imageStyle",c),s=!0)}return s})}}var Sp=L(3534),cc={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};cc.insert="head",cc.singleton=!0,R()(Sp.Z,cc),Sp.Z.locals;class Y3 extends M{static get requires(){return[Dp]}static get pluginName(){return"ImageStyleUI"}get localizedDefaultStylesTitles(){const t=this.editor.t;return{"Wrap text":t("Wrap text"),"Break text":t("Break text"),"In line":t("In line"),"Full size image":t("Full size image"),"Side image":t("Side image"),"Left aligned image":t("Left aligned image"),"Centered image":t("Centered image"),"Right aligned image":t("Right aligned image")}}init(){const t=this.editor.plugins,e=this.editor.config.get("image.toolbar")||[],n=t.get("ImageStyleEditing"),i=Tp(n.normalizedStyles,this.localizedDefaultStylesTitles);for(const s of i)this._createButton(s);const r=Tp([...e.filter(bt),...ac.getDefaultDropdownDefinitions(t)],this.localizedDefaultStylesTitles);for(const s of r)this._createDropdown(s,i)}_createDropdown(t,e){const n=this.editor.ui.componentFactory;n.add(t.name,i=>{let r;const{defaultItem:s,items:a,title:c}=t,l=a.filter(p=>e.find(({name:b})=>Ip(b)===p)).map(p=>{const b=n.create(p);return p===s&&(r=b),b});a.length!==l.length&&ac.warnInvalidStyle({dropdown:t});const d=de(i,Pi),u=d.buttonView,m=u.arrowView;return Us(d,l,{enableActiveItemFocusOnDropdownOpen:!0}),u.set({label:Mp(c,r.label),class:null,tooltip:!0}),m.unbind("label"),m.set({label:c}),u.bind("icon").toMany(l,"isOn",(...p)=>{const b=p.findIndex(sn);return b<0?r.icon:l[b].icon}),u.bind("label").toMany(l,"isOn",(...p)=>{const b=p.findIndex(sn);return Mp(c,b<0?r.label:l[b].label)}),u.bind("isOn").toMany(l,"isOn",(...p)=>p.some(sn)),u.bind("class").toMany(l,"isOn",(...p)=>p.some(sn)?"ck-splitbutton_flatten":void 0),u.on("execute",()=>{l.some(({isOn:p})=>p)?d.isOpen=!d.isOpen:r.fire("execute")}),d.bind("isEnabled").toMany(l,"isEnabled",(...p)=>p.some(sn)),this.listenTo(d,"execute",()=>{this.editor.editing.view.focus()}),d})}_createButton(t){const e=t.name;this.editor.ui.componentFactory.add(Ip(e),n=>{const i=this.editor.commands.get("imageStyle"),r=new et(n);return r.set({label:t.title,icon:t.icon,tooltip:!0,isToggleable:!0}),r.bind("isEnabled").to(i,"isEnabled"),r.bind("isOn").to(i,"value",s=>s===e),r.on("execute",this._executeCommand.bind(this,e)),r})}_executeCommand(t){this.editor.execute("imageStyle",{value:t}),this.editor.editing.view.focus()}}function Tp(o,t){for(const e of o)t[e.title]&&(e.title=t[e.title]);return o}function Ip(o){return`imageStyle:${o}`}function Mp(o,t){return(o?o+": ":"")+t}class Q3 extends M{static get requires(){return[Dp,Y3]}static get pluginName(){return"ImageStyle"}}class J3 extends M{static get requires(){return[$i,Ht]}static get pluginName(){return"ImageToolbar"}afterInit(){const t=this.editor,e=t.t,n=t.plugins.get($i),i=t.plugins.get("ImageUtils");n.register("image",{ariaLabel:e("Image toolbar"),items:X3(t.config.get("image.toolbar")||[]),getRelatedElement:r=>i.getClosestSelectedImageWidget(r)})}}function X3(o){return o.map(t=>bt(t)?t.name:t)}class tN extends M{static get pluginName(){return"IndentEditing"}init(){const t=this.editor;t.commands.add("indent",new su(t)),t.commands.add("outdent",new su(t))}}const Bp='',Np='';class eN extends M{static get pluginName(){return"IndentUI"}init(){const t=this.editor,e=t.locale,n=t.t,i=e.uiLanguageDirection=="ltr"?Bp:Np,r=e.uiLanguageDirection=="ltr"?Np:Bp;this._defineButton("indent",n("Increase indent"),i),this._defineButton("outdent",n("Decrease indent"),r)}_defineButton(t,e,n){const i=this.editor;i.ui.componentFactory.add(t,r=>{const s=i.commands.get(t),a=new et(r);return a.set({label:e,icon:n,tooltip:!0}),a.bind("isEnabled").to(s,"isEnabled"),this.listenTo(a,"execute",()=>{i.execute(t),i.editing.view.focus()}),a})}}class nN extends M{static get pluginName(){return"Indent"}static get requires(){return[tN,eN]}}class oN{constructor(){this._definitions=new Set}get length(){return this._definitions.size}add(t){Array.isArray(t)?t.forEach(e=>this._definitions.add(e)):this._definitions.add(t)}getDispatcher(){return t=>{t.on("attribute:linkHref",(e,n,i)=>{if(!i.consumable.test(n.item,"attribute:linkHref")||!(n.item.is("selection")||i.schema.isInline(n.item)))return;const r=i.writer,s=r.document.selection;for(const a of this._definitions){const c=r.createAttributeElement("a",a.attributes,{priority:5});a.classes&&r.addClass(a.classes,c);for(const l in a.styles)r.setStyle(l,a.styles[l],c);r.setCustomProperty("link",!0,c),a.callback(n.attributeNewValue)?n.item.is("selection")?r.wrap(s.getFirstRange(),c):r.wrap(i.mapper.toViewRange(n.range),c):r.unwrap(i.mapper.toViewRange(n.range),c)}},{priority:"high"})}}getDispatcherForLinkedImage(){return t=>{t.on("attribute:linkHref:imageBlock",(e,n,{writer:i,mapper:r})=>{const s=r.toViewElement(n.item),a=Array.from(s.getChildren()).find(c=>c.is("element","a"));for(const c of this._definitions){const l=Ne(c.attributes);if(c.callback(n.attributeNewValue)){for(const[d,u]of l)d==="class"?i.addClass(u,a):i.setAttribute(d,u,a);c.classes&&i.addClass(c.classes,a);for(const d in c.styles)i.setStyle(d,c.styles[d],a)}else{for(const[d,u]of l)d==="class"?i.removeClass(u,a):i.removeAttribute(d,a);c.classes&&i.removeClass(c.classes,a);for(const d in c.styles)i.removeStyle(d,a)}}})}}}const iN=/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205f\u3000]/g,rN=/^(?:(?:https?|ftps?|mailto):|[^a-z]|[a-z+.-]+(?:[^a-z+.:-]|$))/i,sN=/^[\S]+@((?![-_])(?:[-\w\u00a1-\uffff]{0,63}[^-_]\.))+(?:[a-z\u00a1-\uffff]{2,})$/i,aN=/^((\w+:(\/{2,})?)|(\W))/i,lc="Ctrl+K";function cN(o){return o.is("attributeElement")&&!!o.getCustomProperty("link")}function zp(o,{writer:t}){const e=t.createAttributeElement("a",{href:o},{priority:5});return t.setCustomProperty("link",!0,e),e}function Pp(o){const t=String(o);return lN(t)?t:"#"}function lN(o){return!!o.replace(iN,"").match(rN)}function dN(o,t){const e={"Open in a new tab":o("Open in a new tab"),Downloadable:o("Downloadable")};return t.forEach(n=>("label"in n&&e[n.label]&&(n.label=e[n.label]),n)),t}function uN(o){const t=[];if(o)for(const[e,n]of Object.entries(o)){const i=Object.assign({},n,{id:`link${Mf(e)}`});t.push(i)}return t}function dc(o,t){return o?t.checkAttribute(o.name,"linkHref"):!1}function hN(o){return sN.test(o)}function uc(o,t){const e=hN(o)?"mailto:":t,n=!!e&&!Lp(o);return o&&n?e+o:o}function Lp(o){return aN.test(o)}function Op(o){window.open(o,"_blank","noopener")}class gN extends Q{constructor(){super(...arguments),this.manualDecorators=new te,this.automaticDecorators=new oN}restoreManualDecoratorStates(){for(const t of this.manualDecorators)t.value=this._getDecoratorStateFromModel(t.id)}refresh(){const t=this.editor.model,e=t.document.selection,n=e.getSelectedElement()||Tt(e.getSelectedBlocks());dc(n,t.schema)?(this.value=n.getAttribute("linkHref"),this.isEnabled=t.schema.checkAttribute(n,"linkHref")):(this.value=e.getAttribute("linkHref"),this.isEnabled=t.schema.checkAttributeInSelection(e,"linkHref"));for(const i of this.manualDecorators)i.value=this._getDecoratorStateFromModel(i.id)}execute(t,e={}){const n=this.editor.model,i=n.document.selection,r=[],s=[];for(const a in e)e[a]?r.push(a):s.push(a);n.change(a=>{if(i.isCollapsed){const c=i.getFirstPosition();if(i.hasAttribute("linkHref")){const l=Rp(i);let d=Vo(c,"linkHref",i.getAttribute("linkHref"),n);i.getAttribute("linkHref")===l&&(d=this._updateLinkContent(n,a,d,t)),a.setAttribute("linkHref",t,d),r.forEach(u=>{a.setAttribute(u,!0,d)}),s.forEach(u=>{a.removeAttribute(u,d)}),a.setSelection(a.createPositionAfter(d.end.nodeBefore))}else if(t!==""){const l=Ne(i.getAttributes());l.set("linkHref",t),r.forEach(u=>{l.set(u,!0)});const{end:d}=n.insertContent(a.createText(t,l),c);a.setSelection(d)}["linkHref",...r,...s].forEach(l=>{a.removeSelectionAttribute(l)})}else{const c=n.schema.getValidRanges(i.getRanges(),"linkHref"),l=[];for(const u of i.getSelectedBlocks())n.schema.checkAttribute(u,"linkHref")&&l.push(a.createRangeOn(u));const d=l.slice();for(const u of c)this._isRangeToUpdate(u,l)&&d.push(u);for(const u of d){let m=u;if(d.length===1){const p=Rp(i);i.getAttribute("linkHref")===p&&(m=this._updateLinkContent(n,a,u,t),a.setSelection(a.createSelection(m)))}a.setAttribute("linkHref",t,m),r.forEach(p=>{a.setAttribute(p,!0,m)}),s.forEach(p=>{a.removeAttribute(p,m)})}}})}_getDecoratorStateFromModel(t){const e=this.editor.model,n=e.document.selection,i=n.getSelectedElement();return dc(i,e.schema)?i.getAttribute(t):n.getAttribute(t)}_isRangeToUpdate(t,e){for(const n of e)if(n.containsRange(t))return!1;return!0}_updateLinkContent(t,e,n,i){const r=e.createText(i,{linkHref:i});return t.insertContent(r,n)}}function Rp(o){if(o.isCollapsed){const t=o.getFirstPosition();return t.textNode&&t.textNode.data}else{const t=Array.from(o.getFirstRange().getItems());if(t.length>1)return null;const e=t[0];return e.is("$text")||e.is("$textProxy")?e.data:null}}class mN extends Q{refresh(){const t=this.editor.model,e=t.document.selection,n=e.getSelectedElement();dc(n,t.schema)?this.isEnabled=t.schema.checkAttribute(n,"linkHref"):this.isEnabled=t.schema.checkAttributeInSelection(e,"linkHref")}execute(){const t=this.editor,e=this.editor.model,n=e.document.selection,i=t.commands.get("link");e.change(r=>{const s=n.isCollapsed?[Vo(n.getFirstPosition(),"linkHref",n.getAttribute("linkHref"),e)]:e.schema.getValidRanges(n.getRanges(),"linkHref");for(const a of s)if(r.removeAttribute("linkHref",a),i)for(const c of i.manualDecorators)r.removeAttribute(c.id,a)})}}class fN extends st(){constructor({id:t,label:e,attributes:n,classes:i,styles:r,defaultValue:s}){super(),this.id=t,this.set("value",void 0),this.defaultValue=s,this.label=e,this.attributes=n,this.classes=i,this.styles=r}_createPattern(){return{attributes:this.attributes,classes:this.classes,styles:this.styles}}}var jp=L(3925),hc={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};hc.insert="head",hc.singleton=!0,R()(jp.Z,hc),jp.Z.locals;const pN="ck-link_selected",Fp="automatic",kN="manual",bN=/^(https?:)?\/\//;class Vp extends M{static get pluginName(){return"LinkEditing"}static get requires(){return[hm,rm,De]}constructor(t){super(t),t.config.define("link",{addTargetToExternalLinks:!1})}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:"linkHref"}),t.conversion.for("dataDowncast").attributeToElement({model:"linkHref",view:zp}),t.conversion.for("editingDowncast").attributeToElement({model:"linkHref",view:(i,r)=>zp(Pp(i),r)}),t.conversion.for("upcast").elementToAttribute({view:{name:"a",attributes:{href:!0}},model:{key:"linkHref",value:i=>i.getAttribute("href")}}),t.commands.add("link",new gN(t)),t.commands.add("unlink",new mN(t));const e=dN(t.t,uN(t.config.get("link.decorators")));this._enableAutomaticDecorators(e.filter(i=>i.mode===Fp)),this._enableManualDecorators(e.filter(i=>i.mode===kN)),t.plugins.get(hm).registerAttribute("linkHref"),lT(t,"linkHref","a",pN),this._enableLinkOpen(),this._enableSelectionAttributesFixer(),this._enableClipboardIntegration()}_enableAutomaticDecorators(t){const e=this.editor,i=e.commands.get("link").automaticDecorators;e.config.get("link.addTargetToExternalLinks")&&i.add({id:"linkIsExternal",mode:Fp,callback:r=>!!r&&bN.test(r),attributes:{target:"_blank",rel:"noopener noreferrer"}}),i.add(t),i.length&&e.conversion.for("downcast").add(i.getDispatcher())}_enableManualDecorators(t){if(!t.length)return;const e=this.editor,i=e.commands.get("link").manualDecorators;t.forEach(r=>{e.model.schema.extend("$text",{allowAttributes:r.id});const s=new fN(r);i.add(s),e.conversion.for("downcast").attributeToElement({model:s.id,view:(a,{writer:c,schema:l},{item:d})=>{if((d.is("selection")||l.isInline(d))&&a){const u=c.createAttributeElement("a",s.attributes,{priority:5});s.classes&&c.addClass(s.classes,u);for(const m in s.styles)c.setStyle(m,s.styles[m],u);return c.setCustomProperty("link",!0,u),u}}}),e.conversion.for("upcast").elementToAttribute({view:{name:"a",...s._createPattern()},model:{key:s.id}})})}_enableLinkOpen(){const t=this.editor,n=t.editing.view.document;this.listenTo(n,"click",(i,r)=>{if(!(g.isMac?r.domEvent.metaKey:r.domEvent.ctrlKey))return;let a=r.domTarget;if(a.tagName.toLowerCase()!="a"&&(a=a.closest("a")),!a)return;const c=a.getAttribute("href");c&&(i.stop(),r.preventDefault(),Op(c))},{context:"$capture"}),this.listenTo(n,"keydown",(i,r)=>{const a=t.commands.get("link").value;a&&r.keyCode===tt.enter&&r.altKey&&(i.stop(),Op(a))})}_enableSelectionAttributesFixer(){const e=this.editor.model,n=e.document.selection;this.listenTo(n,"change:attribute",(i,{attributeKeys:r})=>{!r.includes("linkHref")||n.hasAttribute("linkHref")||e.change(s=>{wN(s,AN(e.schema))})})}_enableClipboardIntegration(){const t=this.editor,e=t.model,n=this.editor.config.get("link.defaultProtocol");n&&this.listenTo(t.plugins.get("ClipboardPipeline"),"contentInsertion",(i,r)=>{e.change(s=>{const a=s.createRangeIn(r.content);for(const c of a.getItems())if(c.hasAttribute("linkHref")){const l=uc(c.getAttribute("linkHref"),n);s.setAttribute("linkHref",l,c)}})})}}function wN(o,t){o.removeSelectionAttribute("linkHref");for(const e of t)o.removeSelectionAttribute(e)}function AN(o){return o.getDefinition("$text").allowAttributes.filter(e=>e.startsWith("link"))}var Hp=L(4874),gc={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};gc.insert="head",gc.singleton=!0,R()(Hp.Z,gc),Hp.Z.locals;class CN extends G{constructor(t,e){super(t),this.focusTracker=new Bt,this.keystrokes=new Vt,this._focusables=new ce;const n=t.t;this.urlInputView=this._createUrlInput(),this.saveButtonView=this._createButton(n("Save"),dt.check,"ck-button-save"),this.saveButtonView.type="submit",this.cancelButtonView=this._createButton(n("Cancel"),dt.cancel,"ck-button-cancel","cancel"),this._manualDecoratorSwitches=this._createManualDecoratorSwitches(e),this.children=this._createFormChildren(e.manualDecorators),this._focusCycler=new fe({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}});const i=["ck","ck-link-form","ck-responsive-form"];e.manualDecorators.length&&i.push("ck-link-form_layout-vertical","ck-vertical-form"),this.setTemplate({tag:"form",attributes:{class:i,tabindex:"-1"},children:this.children})}getDecoratorSwitchesState(){return Array.from(this._manualDecoratorSwitches).reduce((t,e)=>(t[e.name]=e.isOn,t),{})}render(){super.render(),h({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 t=this.locale.t,e=new po(this.locale,No);return e.label=t("Link URL"),e}_createButton(t,e,n,i){const r=new et(this.locale);return r.set({label:t,icon:e,tooltip:!0}),r.extendTemplate({attributes:{class:n}}),i&&r.delegate("execute").to(this,i),r}_createManualDecoratorSwitches(t){const e=this.createCollection();for(const n of t.manualDecorators){const i=new gi(this.locale);i.set({name:n.id,label:n.label,withText:!0}),i.bind("isOn").toMany([n,t],"value",(r,s)=>s===void 0&&r===void 0?!!n.defaultValue:!!r),i.on("execute",()=>{n.set("value",!i.isOn)}),e.add(i)}return e}_createFormChildren(t){const e=this.createCollection();if(e.add(this.urlInputView),t.length){const n=new G;n.setTemplate({tag:"ul",children:this._manualDecoratorSwitches.map(i=>({tag:"li",children:[i],attributes:{class:["ck","ck-list__item"]}})),attributes:{class:["ck","ck-reset","ck-list"]}}),e.add(n)}return e.add(this.saveButtonView),e.add(this.cancelButtonView),e}}var Up=L(7536),mc={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};mc.insert="head",mc.singleton=!0,R()(Up.Z,mc),Up.Z.locals;const _N='';class vN extends G{constructor(t){super(t),this.focusTracker=new Bt,this.keystrokes=new Vt,this._focusables=new ce;const e=t.t;this.previewButtonView=this._createPreviewButton(),this.unlinkButtonView=this._createButton(e("Unlink"),_N,"unlink"),this.editButtonView=this._createButton(e("Edit link"),dt.pencil,"edit"),this.set("href",void 0),this._focusCycler=new fe({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(t,e,n){const i=new et(this.locale);return i.set({label:t,icon:e,tooltip:!0}),i.delegate("execute").to(this,n),i}_createPreviewButton(){const t=new et(this.locale),e=this.bindTemplate,n=this.t;return t.set({withText:!0,tooltip:n("Open link in new tab")}),t.extendTemplate({attributes:{class:["ck","ck-link-actions__preview"],href:e.to("href",i=>i&&Pp(i)),target:"_blank",rel:"noopener noreferrer"}}),t.bind("label").to(this,"href",i=>i||n("This link has no URL")),t.bind("isEnabled").to(this,"href",i=>!!i),t.template.tag="a",t.template.eventListeners={},t}}const yN='',Ie="link-ui";class xN extends M{constructor(){super(...arguments),this.actionsView=null,this.formView=null}static get requires(){return[Fi]}static get pluginName(){return"LinkUI"}init(){const t=this.editor;t.editing.view.addObserver(u5),this._balloon=t.plugins.get(Fi),this._createToolbarLinkButton(),this._enableBalloonActivators(),t.conversion.for("editingDowncast").markerToHighlight({model:Ie,view:{classes:["ck-fake-link-selection"]}}),t.conversion.for("editingDowncast").markerToElement({model:Ie,view:{name:"span",classes:["ck-fake-link-selection","ck-fake-link-selection_collapsed"]}})}destroy(){super.destroy(),this.formView&&this.formView.destroy(),this.actionsView&&this.actionsView.destroy()}_createViews(){this.actionsView=this._createActionsView(),this.formView=this._createFormView(),this._enableUserBalloonInteractions()}_createActionsView(){const t=this.editor,e=new vN(t.locale),n=t.commands.get("link"),i=t.commands.get("unlink");return e.bind("href").to(n,"value"),e.editButtonView.bind("isEnabled").to(n),e.unlinkButtonView.bind("isEnabled").to(i),this.listenTo(e,"edit",()=>{this._addFormView()}),this.listenTo(e,"unlink",()=>{t.execute("unlink"),this._hideUI()}),e.keystrokes.set("Esc",(r,s)=>{this._hideUI(),s()}),e.keystrokes.set(lc,(r,s)=>{this._addFormView(),s()}),e}_createFormView(){const t=this.editor,e=t.commands.get("link"),n=t.config.get("link.defaultProtocol"),i=new(v(CN))(t.locale,e);return i.urlInputView.fieldView.bind("value").to(e,"value"),i.urlInputView.bind("isEnabled").to(e,"isEnabled"),i.saveButtonView.bind("isEnabled").to(e),this.listenTo(i,"submit",()=>{const{value:r}=i.urlInputView.fieldView.element,s=uc(r,n);t.execute("link",s,i.getDecoratorSwitchesState()),this._closeFormView()}),this.listenTo(i,"cancel",()=>{this._closeFormView()}),i.keystrokes.set("Esc",(r,s)=>{this._closeFormView(),s()}),i}_createToolbarLinkButton(){const t=this.editor,e=t.commands.get("link"),n=t.t;t.ui.componentFactory.add("link",i=>{const r=new et(i);return r.isEnabled=!0,r.label=n("Link"),r.icon=yN,r.keystroke=lc,r.tooltip=!0,r.isToggleable=!0,r.bind("isEnabled").to(e,"isEnabled"),r.bind("isOn").to(e,"value",s=>!!s),this.listenTo(r,"execute",()=>this._showUI(!0)),r})}_enableBalloonActivators(){const t=this.editor,e=t.editing.view.document;this.listenTo(e,"click",()=>{this._getSelectedLinkElement()&&this._showUI()}),t.keystrokes.set(lc,(n,i)=>{i(),t.commands.get("link").isEnabled&&this._showUI(!0)})}_enableUserBalloonInteractions(){this.editor.keystrokes.set("Tab",(t,e)=>{this._areActionsVisible&&!this.actionsView.focusTracker.isFocused&&(this.actionsView.focus(),e())},{priority:"high"}),this.editor.keystrokes.set("Esc",(t,e)=>{this._isUIVisible&&(this._hideUI(),e())}),C({emitter:this.formView,activator:()=>this._isUIInPanel,contextElements:()=>[this._balloon.view.element],callback:()=>this._hideUI()})}_addActionsView(){this.actionsView||this._createViews(),!this._areActionsInPanel&&this._balloon.add({view:this.actionsView,position:this._getBalloonPositionData()})}_addFormView(){if(this.formView||this._createViews(),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 t=this.editor.commands.get("link");t.restoreManualDecoratorStates(),t.value!==void 0?this._removeFormView():this._hideUI()}_removeFormView(){this._isFormInPanel&&(this.formView.saveButtonView.focus(),this._balloon.remove(this.formView),this.editor.editing.view.focus(),this._hideFakeVisualSelection())}_showUI(t=!1){this.formView||this._createViews(),this._getSelectedLinkElement()?(this._areActionsVisible?this._addFormView():this._addActionsView(),t&&this._balloon.showStack("main")):(this._showFakeVisualSelection(),this._addActionsView(),t&&this._balloon.showStack("main"),this._addFormView()),this._startUpdatingUI()}_hideUI(){if(!this._isUIInPanel)return;const t=this.editor;this.stopListening(t.ui,"update"),this.stopListening(this._balloon,"change:visibleView"),t.editing.view.focus(),this._removeFormView(),this._balloon.remove(this.actionsView),this._hideFakeVisualSelection()}_startUpdatingUI(){const t=this.editor,e=t.editing.view.document;let n=this._getSelectedLinkElement(),i=s();const r=()=>{const a=this._getSelectedLinkElement(),c=s();n&&!a||!n&&c!==i?this._hideUI():this._isUIVisible&&this._balloon.updatePosition(this._getBalloonPositionData()),n=a,i=c};function s(){return e.selection.focus.getAncestors().reverse().find(a=>a.is("element"))}this.listenTo(t.ui,"update",r),this.listenTo(this._balloon,"change:visibleView",r)}get _isFormInPanel(){return!!this.formView&&this._balloon.hasView(this.formView)}get _areActionsInPanel(){return!!this.actionsView&&this._balloon.hasView(this.actionsView)}get _areActionsVisible(){return!!this.actionsView&&this._balloon.visibleView===this.actionsView}get _isUIInPanel(){return this._isFormInPanel||this._areActionsInPanel}get _isUIVisible(){const t=this._balloon.visibleView;return!!this.formView&&t==this.formView||this._areActionsVisible}_getBalloonPositionData(){const t=this.editor.editing.view,e=this.editor.model,n=t.document;let i;if(e.markers.has(Ie)){const r=Array.from(this.editor.editing.mapper.markerNameToElements(Ie)),s=t.createRange(t.createPositionBefore(r[0]),t.createPositionAfter(r[r.length-1]));i=t.domConverter.viewRangeToDom(s)}else i=()=>{const r=this._getSelectedLinkElement();return r?t.domConverter.mapViewToDom(r):t.domConverter.viewRangeToDom(n.selection.getFirstRange())};return{target:i}}_getSelectedLinkElement(){const t=this.editor.editing.view,e=t.document.selection,n=e.getSelectedElement();if(e.isCollapsed||n&&Nt(n))return fc(e.getFirstPosition());{const i=e.getFirstRange().getTrimmed(),r=fc(i.start),s=fc(i.end);return!r||r!=s?null:t.createRangeIn(r).getTrimmed().isEqual(i)?r:null}}_showFakeVisualSelection(){const t=this.editor.model;t.change(e=>{const n=t.document.selection.getFirstRange();if(t.markers.has(Ie))e.updateMarker(Ie,{range:n});else if(n.start.isAtEnd){const i=n.start.getLastMatchingPosition(({item:r})=>!t.schema.isContent(r),{boundaries:n});e.addMarker(Ie,{usingOperation:!1,affectsData:!1,range:e.createRange(i,n.end)})}else e.addMarker(Ie,{usingOperation:!1,affectsData:!1,range:n})})}_hideFakeVisualSelection(){const t=this.editor.model;t.markers.has(Ie)&&t.change(e=>{e.removeMarker(Ie)})}}function fc(o){return o.getAncestors().find(t=>cN(t))||null}const EN=4,Gp=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"),DN=2;class SN extends M{static get requires(){return[Ee,Vp]}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(),this._enablePasteLinking()}_expandLinkRange(t,e){return e.textNode&&e.textNode.hasAttribute("linkHref")?Vo(e,"linkHref",e.textNode.getAttribute("linkHref"),t):null}_selectEntireLinks(t,e){const i=this.editor.model,r=i.document.selection,s=r.getFirstPosition(),a=r.getLastPosition();let c=e.getJoined(this._expandLinkRange(i,s)||e);c&&(c=c.getJoined(this._expandLinkRange(i,a)||e)),c&&(c.start.isBefore(s)||c.end.isAfter(a))&&t.setSelection(c)}_enablePasteLinking(){const t=this.editor,e=t.model,n=e.document.selection,i=t.plugins.get("ClipboardPipeline"),r=t.commands.get("link");i.on("inputTransformation",(s,a)=>{if(!this.isEnabled||!r.isEnabled||n.isCollapsed||n.rangeCount>1)return;const c=n.getFirstRange(),l=a.dataTransfer.getData("text/plain");if(!l)return;const d=l.match(Gp);d&&d[2]===l&&(e.change(u=>{this._selectEntireLinks(u,c),r.execute(l)}),s.stop())},{priority:"high"})}_enableTypingHandling(){const t=this.editor,e=new um(t.model,n=>{if(!TN(n))return;const i=qp(n.substr(0,n.length-1));if(i)return{url:i}});e.on("matched:data",(n,i)=>{const{batch:r,range:s,url:a}=i;if(!r.isTyping)return;const c=s.end.getShiftedBy(-1),l=c.getShiftedBy(-a.length),d=t.model.createRange(l,c);this._applyAutoLink(a,d)}),e.bind("isEnabled").to(this)}_enableEnterHandling(){const t=this.editor,e=t.model,n=t.commands.get("enter");n&&n.on("execute",()=>{const i=e.document.selection.getFirstPosition();if(!i.parent.previousSibling)return;const r=e.createRangeIn(i.parent.previousSibling);this._checkAndApplyAutoLinkOnRange(r)})}_enableShiftEnterHandling(){const t=this.editor,e=t.model,n=t.commands.get("shiftEnter");n&&n.on("execute",()=>{const i=e.document.selection.getFirstPosition(),r=e.createRange(e.createPositionAt(i.parent,0),i.getShiftedBy(-1));this._checkAndApplyAutoLinkOnRange(r)})}_checkAndApplyAutoLinkOnRange(t){const e=this.editor.model,{text:n,range:i}=dm(t,e),r=qp(n);if(r){const s=e.createRange(i.end.getShiftedBy(-r.length),i.end);this._applyAutoLink(r,s)}}_applyAutoLink(t,e){const n=this.editor.model,i=this.editor.config.get("link.defaultProtocol"),r=uc(t,i);!this.isEnabled||!IN(e,n)||!Lp(r)||MN(e)||this._persistAutoLink(r,e)}_persistAutoLink(t,e){const n=this.editor.model,i=this.editor.plugins.get("Delete");n.enqueueChange(r=>{r.setAttribute("linkHref",t,e),n.enqueueChange(()=>{i.requestUndoOnBackspace()})})}}function TN(o){return o.length>EN&&o[o.length-1]===" "&&o[o.length-2]!==" "}function qp(o){const t=Gp.exec(o);return t?t[DN]:null}function IN(o,t){return t.schema.checkAttributeInSelection(t.createSelection(o),"linkHref")}function MN(o){const t=o.start.nodeAfter;return!!t&&t.hasAttribute("linkHref")}class BN extends M{static get requires(){return[Vp,xN,SN]}static get pluginName(){return"Link"}}var Wp=L(4330),pc={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};pc.insert="head",pc.singleton=!0,R()(Wp.Z,pc),Wp.Z.locals;var $p=L(3190),kc={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};kc.insert="head",kc.singleton=!0,R()($p.Z,kc),$p.Z.locals;var Zp=L(4784),bc={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};bc.insert="head",bc.singleton=!0,R()(Zp.Z,bc),Zp.Z.locals;function NN(o){const t=o.createContainerElement("li");return t.getFillerOffset=FN,t}function zN(o,t){const e=t.mapper,n=t.writer,i=o.getAttribute("listType")=="numbered"?"ol":"ul",r=NN(n),s=n.createContainerElement(i,null);return n.insert(n.createPositionAt(s,0),r),e.bindElements(o,r),r}function Kp(o,t,e,n){const i=t.parent,r=e.mapper,s=e.writer;let a=r.toViewPosition(n.createPositionBefore(o));const c=Qp(o.previousSibling,{sameIndent:!0,smallerIndent:!0,listIndent:o.getAttribute("listIndent")}),l=o.previousSibling;if(c&&c.getAttribute("listIndent")==o.getAttribute("listIndent")){const d=r.toViewElement(c);a=s.breakContainer(s.createPositionAfter(d))}else if(l&&l.name=="listItem"){a=r.toViewPosition(n.createPositionAt(l,"end"));const d=r.findMappedViewAncestor(a),u=PN(d);u?a=s.createPositionBefore(u):a=s.createPositionAt(d,"end")}else a=r.toViewPosition(n.createPositionBefore(o));if(a=Yp(a),s.insert(a,i),l&&l.name=="listItem"){const d=r.toViewElement(l),m=s.createRange(s.createPositionAt(d,0),a).getWalker({ignoreElementEnd:!0});for(const p of m)if(p.item.is("element","li")){const b=s.breakContainer(s.createPositionBefore(p.item)),S=p.item.parent,B=s.createPositionAt(t,"end");ge(s,B.nodeBefore,B.nodeAfter),s.move(s.createRangeOn(S),B),m._position=b}}else{const d=i.nextSibling;if(d&&(d.is("element","ul")||d.is("element","ol"))){let u=null;for(const m of d.getChildren()){const p=r.toModelElement(m);if(p&&p.getAttribute("listIndent")>o.getAttribute("listIndent"))u=m;else break}u&&(s.breakContainer(s.createPositionAfter(u)),s.move(s.createRangeOn(u.parent),s.createPositionAt(t,"end")))}}ge(s,i,i.nextSibling),ge(s,i.previousSibling,i)}function ge(o,t,e){return!t||!e||t.name!="ul"&&t.name!="ol"||t.name!=e.name||t.getAttribute("class")!==e.getAttribute("class")?null:o.mergeContainers(o.createPositionAfter(t))}function Yp(o){return o.getLastMatchingPosition(t=>t.item.is("uiElement"))}function Qp(o,t){const e=!!t.sameIndent,n=!!t.smallerIndent,i=t.listIndent;let r=o;for(;r&&r.name=="listItem";){const s=r.getAttribute("listIndent");if(e&&i==s||n&&i>s)return r;t.direction==="forward"?r=r.nextSibling:r=r.previousSibling}return null}function Jp(o,t,e,n){o.ui.componentFactory.add(t,i=>{const r=o.commands.get(t),s=new et(i);return s.set({label:e,icon:n,tooltip:!0,isToggleable:!0}),s.bind("isOn","isEnabled").to(r,"value","isEnabled"),s.on("execute",()=>{o.execute(t),o.editing.view.focus()}),s})}function PN(o){for(const t of o.getChildren())if(t.name=="ul"||t.name=="ol")return t;return null}function wc(o,t){const e=[],n=o.parent,i={ignoreElementEnd:!1,startPosition:o,shallow:!0,direction:t},r=n.getAttribute("listIndent"),s=[...new we(i)].filter(a=>a.item.is("element")).map(a=>a.item);for(const a of s){if(!a.is("element","listItem")||a.getAttribute("listIndent")r)){if(a.getAttribute("listType")!==n.getAttribute("listType")||a.getAttribute("listStyle")!==n.getAttribute("listStyle")||a.getAttribute("listReversed")!==n.getAttribute("listReversed")||a.getAttribute("listStart")!==n.getAttribute("listStart"))break;t==="backward"?e.unshift(a):e.push(a)}}return e}function LN(o){let e=[...o.document.selection.getSelectedBlocks()].filter(n=>n.is("element","listItem")).map(n=>{const i=o.change(r=>r.createPositionAt(n,0));return[...wc(i,"backward"),...wc(i,"forward")]}).flat();return e=[...new Set(e)],e}const ON=["disc","circle","square"],RN=["decimal","decimal-leading-zero","lower-roman","upper-roman","lower-latin","upper-latin"];function jN(o){return ON.includes(o)?"bulleted":RN.includes(o)?"numbered":null}function FN(){const o=!this.isEmpty&&(this.getChild(0).name=="ul"||this.getChild(0).name=="ol");return this.isEmpty||o?0:Du.call(this)}const VN='',HN='';class UN extends M{static get pluginName(){return"ListUI"}init(){const t=this.editor.t;Jp(this.editor,"numberedList",t("Numbered List"),VN),Jp(this.editor,"bulletedList",t("Bulleted List"),HN)}}const GN=[{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:o,typeAttribute:t,listType:e}of GN);var Xp=L(9938),Ac={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ac.insert="head",Ac.singleton=!0,R()(Xp.Z,Ac),Xp.Z.locals;var tk=L(2591),Cc={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Cc.insert="head",Cc.singleton=!0,R()(tk.Z,Cc),tk.Z.locals;class ek extends Q{constructor(t,e){super(t),this._indentBy=e=="forward"?1:-1}refresh(){this.isEnabled=this._checkEnabled()}execute(){const t=this.editor.model,e=t.document;let n=Array.from(e.selection.getSelectedBlocks());t.change(i=>{const r=n[n.length-1];let s=r.nextSibling;for(;s&&s.name=="listItem"&&s.getAttribute("listIndent")>r.getAttribute("listIndent");)n.push(s),s=s.nextSibling;this._indentBy<0&&(n=n.reverse());for(const a of n){const c=a.getAttribute("listIndent")+this._indentBy;c<0?i.rename(a,"paragraph"):i.setAttribute("listIndent",c,a)}this.fire("_executeCleanup",n)})}_checkEnabled(){const t=Tt(this.editor.model.document.selection.getSelectedBlocks());if(!t||!t.is("element","listItem"))return!1;if(this._indentBy>0){const e=t.getAttribute("listIndent"),n=t.getAttribute("listType");let i=t.previousSibling;for(;i&&i.is("element","listItem")&&i.getAttribute("listIndent")>=e;){if(i.getAttribute("listIndent")==e)return i.getAttribute("listType")==n;i=i.previousSibling}return!1}return!0}}class nk extends Q{constructor(t,e){super(t),this.type=e}refresh(){this.value=this._getValue(),this.isEnabled=this._checkEnabled()}execute(t={}){const e=this.editor.model,n=e.document,i=Array.from(n.selection.getSelectedBlocks()).filter(s=>ik(s,e.schema)),r=t.forceValue!==void 0?!t.forceValue:this.value;e.change(s=>{if(r){let a=i[i.length-1].nextSibling,c=Number.POSITIVE_INFINITY,l=[];for(;a&&a.name=="listItem"&&a.getAttribute("listIndent")!==0;){const d=a.getAttribute("listIndent");d=e;)r>i.getAttribute("listIndent")&&(r=i.getAttribute("listIndent")),i.getAttribute("listIndent")==r&&o[t?"unshift":"push"](i),i=i[t?"previousSibling":"nextSibling"]}}function ik(o,t){return t.checkChild(o.parent,"listItem")&&!t.isObject(o)}class qN extends M{static get pluginName(){return"ListUtils"}getListTypeFromListStyleType(t){return jN(t)}getSelectedListItems(t){return LN(t)}getSiblingNodes(t,e){return wc(t,e)}}function rk(o){return(t,e,n)=>{const i=n.consumable;if(!i.test(e.item,"insert")||!i.test(e.item,"attribute:listType")||!i.test(e.item,"attribute:listIndent"))return;i.consume(e.item,"insert"),i.consume(e.item,"attribute:listType"),i.consume(e.item,"attribute:listIndent");const r=e.item,s=zN(r,n);Kp(r,s,n,o)}}function WN(o){return(t,e,n)=>{const s=n.mapper.toViewPosition(e.position).getLastMatchingPosition(p=>!p.item.is("element","li")).nodeAfter,a=n.writer;a.breakContainer(a.createPositionBefore(s)),a.breakContainer(a.createPositionAfter(s));const c=s.parent,l=c.previousSibling,d=a.createRangeOn(c),u=a.remove(d);l&&l.nextSibling&&ge(a,l,l.nextSibling);const m=n.mapper.toModelElement(s);lk(m.getAttribute("listIndent")+1,e.position,d.start,s,n,o);for(const p of a.createRangeIn(u).getItems())n.mapper.unbindViewElement(p);t.stop()}}const $N=(o,t,e)=>{if(!e.consumable.test(t.item,o.name))return;const n=e.mapper.toViewElement(t.item),i=e.writer;i.breakContainer(i.createPositionBefore(n)),i.breakContainer(i.createPositionAfter(n));const r=n.parent,s=t.attributeNewValue=="numbered"?"ol":"ul";i.rename(s,r)},ZN=(o,t,e)=>{e.consumable.consume(t.item,o.name);const i=e.mapper.toViewElement(t.item).parent,r=e.writer;ge(r,i,i.nextSibling),ge(r,i.previousSibling,i)};function KN(o){return(t,e,n)=>{if(!n.consumable.consume(e.item,"attribute:listIndent"))return;const i=n.mapper.toViewElement(e.item),r=n.writer;r.breakContainer(r.createPositionBefore(i)),r.breakContainer(r.createPositionAfter(i));const s=i.parent,a=s.previousSibling,c=r.createRangeOn(s);r.remove(c),a&&a.nextSibling&&ge(r,a,a.nextSibling),lk(e.attributeOldValue+1,e.range.start,c.start,i,n,o),Kp(e.item,i,n,o);for(const l of e.item.getChildren())n.consumable.consume(l,"insert")}}const sk=(o,t,e)=>{if(e.consumable.test(t.item,o.name)&&t.item.name!="listItem"){let n=e.mapper.toViewPosition(t.range.start);const i=e.writer,r=[];for(;(n.parent.name=="ul"||n.parent.name=="ol")&&(n=i.breakContainer(n),n.parent.name=="li");){const s=n,a=i.createPositionAt(n.parent,"end");if(!s.isEqual(a)){const c=i.remove(i.createRange(s,a));r.push(c)}n=i.createPositionAfter(n.parent)}if(r.length>0){for(let s=0;s0){const l=ge(i,a,a.nextSibling);l&&l.parent==a&&n.offset--}}ge(i,n.nodeBefore,n.nodeAfter)}}},YN=(o,t,e)=>{const n=e.mapper.toViewPosition(t.position),i=n.nodeBefore,r=n.nodeAfter;ge(e.writer,i,r)},QN=(o,t,e)=>{if(e.consumable.consume(t.viewItem,{name:!0})){const n=e.writer,i=n.createElement("listItem"),r=iz(t.viewItem);n.setAttribute("listIndent",r,i);const s=t.viewItem.parent&&t.viewItem.parent.name=="ol"?"numbered":"bulleted";if(n.setAttribute("listType",s,i),!e.safeInsert(i,t.modelCursor))return;const a=nz(i,t.viewItem.getChildren(),e);t.modelRange=n.createRange(t.modelCursor,a),e.updateConversionResult(i,t)}},ak=(o,t,e)=>{if(e.consumable.test(t.viewItem,{name:!0})){const n=Array.from(t.viewItem.getChildren());for(const i of n)!(i.is("element","li")||Jn(i))&&i._remove()}},JN=(o,t,e)=>{if(e.consumable.test(t.viewItem,{name:!0})){if(t.viewItem.childCount===0)return;const n=[...t.viewItem.getChildren()];let i=!1;for(const r of n)i&&!Jn(r)&&r._remove(),Jn(r)&&(i=!0)}};function ck(o){return(t,e)=>{if(e.isPhantom)return;const n=e.modelPosition.nodeBefore;if(n&&n.is("element","listItem")){const i=e.mapper.toViewElement(n),r=i.getAncestors().find(Jn),s=o.createPositionAt(i,0).getWalker();for(const a of s)if(a.type=="elementStart"&&a.item.is("element","li")){e.viewPosition=a.previousPosition;break}else if(a.type=="elementEnd"&&a.item==r){e.viewPosition=a.nextPosition;break}}}}function XN(o){return(t,e)=>{const n=e.viewPosition,i=n.parent,r=e.mapper;if(i.name=="ul"||i.name=="ol"){if(n.isAtEnd){const s=r.toModelElement(n.nodeBefore),a=r.getModelLength(n.nodeBefore);e.modelPosition=o.createPositionBefore(s).getShiftedBy(a)}else{const s=r.toModelElement(n.nodeAfter);e.modelPosition=o.createPositionBefore(s)}t.stop()}else if(i.name=="li"&&n.nodeBefore&&(n.nodeBefore.name=="ul"||n.nodeBefore.name=="ol")){const s=r.toModelElement(i);let a=1,c=n.nodeBefore;for(;c&&Jn(c);)a+=r.getModelLength(c),c=c.previousSibling;e.modelPosition=o.createPositionBefore(s).getShiftedBy(a),t.stop()}}}function tz(o,t){const e=o.document.differ.getChanges(),n=new Map;let i=!1;for(const c of e)if(c.type=="insert"&&c.name=="listItem")r(c.position);else if(c.type=="insert"&&c.name!="listItem"){if(c.name!="$text"){const d=c.position.nodeAfter;d.hasAttribute("listIndent")&&(t.removeAttribute("listIndent",d),i=!0),d.hasAttribute("listType")&&(t.removeAttribute("listType",d),i=!0),d.hasAttribute("listStyle")&&(t.removeAttribute("listStyle",d),i=!0),d.hasAttribute("listReversed")&&(t.removeAttribute("listReversed",d),i=!0),d.hasAttribute("listStart")&&(t.removeAttribute("listStart",d),i=!0);for(const u of Array.from(o.createRangeIn(d)).filter(m=>m.item.is("element","listItem")))r(u.previousPosition)}const l=c.position.getShiftedBy(c.length);r(l)}else c.type=="remove"&&c.name=="listItem"?r(c.position):(c.type=="attribute"&&c.attributeKey=="listIndent"||c.type=="attribute"&&c.attributeKey=="listType")&&r(c.range.start);for(const c of n.values())s(c),a(c);return i;function r(c){const l=c.nodeBefore;if(!l||!l.is("element","listItem")){const d=c.nodeAfter;d&&d.is("element","listItem")&&n.set(d,d)}else{let d=l;if(n.has(d))return;for(let u=d.previousSibling;u&&u.is("element","listItem");u=d.previousSibling)if(d=u,n.has(d))return;n.set(l,d)}}function s(c){let l=0,d=null;for(;c&&c.is("element","listItem");){const u=c.getAttribute("listIndent");if(u>l){let m;d===null?(d=u-l,m=l):(d>u&&(d=u),m=u-d),t.setAttribute("listIndent",m,c),i=!0}else d=null,l=c.getAttribute("listIndent")+1;c=c.nextSibling}}function a(c){let l=[],d=null;for(;c&&c.is("element","listItem");){const u=c.getAttribute("listIndent");if(d&&d.getAttribute("listIndent")>u&&(l=l.slice(0,u+1)),u!=0)if(l[u]){const m=l[u];c.getAttribute("listType")!=m&&(t.setAttribute("listType",m,c),i=!0)}else l[u]=c.getAttribute("listType");d=c,c=c.nextSibling}}}const ez=function(o,[t,e]){const n=this;let i=t.is("documentFragment")?t.getChild(0):t,r;if(e?r=n.createSelection(e):r=n.document.selection,i&&i.is("element","listItem")){const s=r.getFirstPosition();let a=null;if(s.parent.is("element","listItem")?a=s.parent:s.nodeBefore&&s.nodeBefore.is("element","listItem")&&(a=s.nodeBefore),a){const c=a.getAttribute("listIndent");if(c>0)for(;i&&i.is("element","listItem");)i._setAttribute("listIndent",i.getAttribute("listIndent")+c),i=i.nextSibling}}};function nz(o,t,e){const{writer:n,schema:i}=e;let r=n.createPositionAfter(o);for(const s of t)if(s.name=="ul"||s.name=="ol")r=e.convertItem(s,r).modelCursor;else{const a=e.convertItem(s,n.createPositionAt(o,"end")),c=a.modelRange.start.nodeAfter;c&&c.is("element")&&!i.checkChild(o,c.name)&&(a.modelCursor.parent.is("element","listItem")?o=a.modelCursor.parent:o=oz(a.modelCursor),r=n.createPositionAfter(o))}return r}function oz(o){const t=new we({startPosition:o});let e;do e=t.next();while(!e.value.item.is("element","listItem"));return e.value.item}function lk(o,t,e,n,i,r){const s=Qp(t.nodeBefore,{sameIndent:!0,smallerIndent:!0,listIndent:o}),a=i.mapper,c=i.writer,l=s?s.getAttribute("listIndent"):null;let d;if(!s)d=e;else if(l==o){const u=a.toViewElement(s).parent;d=c.createPositionAfter(u)}else{const u=r.createPositionAt(s,"end");d=a.toViewPosition(u)}d=Yp(d);for(const u of[...n.getChildren()])Jn(u)&&(d=c.move(c.createRangeOn(u),d).end,ge(c,u,u.nextSibling),ge(c,u.previousSibling,u))}function Jn(o){return o.is("element","ol")||o.is("element","ul")}function iz(o){let t=0,e=o.parent;for(;e;){if(e.is("element","li"))t++;else{const n=e.previousSibling;n&&n.is("element","li")&&t++}e=e.parent}return t}class rz extends M{static get pluginName(){return"ListEditing"}static get requires(){return[Ho,Ee,qN]}init(){const t=this.editor;t.model.schema.register("listItem",{inheritAllFrom:"$block",allowAttributes:["listType","listIndent"]});const e=t.data,n=t.editing;t.model.document.registerPostFixer(r=>tz(t.model,r)),n.mapper.registerViewToModelLength("li",_c),e.mapper.registerViewToModelLength("li",_c),n.mapper.on("modelToViewPosition",ck(n.view)),n.mapper.on("viewToModelPosition",XN(t.model)),e.mapper.on("modelToViewPosition",ck(n.view)),t.conversion.for("editingDowncast").add(r=>{r.on("insert",sk,{priority:"high"}),r.on("insert:listItem",rk(t.model)),r.on("attribute:listType:listItem",$N,{priority:"high"}),r.on("attribute:listType:listItem",ZN,{priority:"low"}),r.on("attribute:listIndent:listItem",KN(t.model)),r.on("remove:listItem",WN(t.model)),r.on("remove",YN,{priority:"low"})}),t.conversion.for("dataDowncast").add(r=>{r.on("insert",sk,{priority:"high"}),r.on("insert:listItem",rk(t.model))}),t.conversion.for("upcast").add(r=>{r.on("element:ul",ak,{priority:"high"}),r.on("element:ol",ak,{priority:"high"}),r.on("element:li",JN,{priority:"high"}),r.on("element:li",QN)}),t.model.on("insertContent",ez,{priority:"high"}),t.commands.add("numberedList",new nk(t,"numbered")),t.commands.add("bulletedList",new nk(t,"bulleted")),t.commands.add("indentList",new ek(t,"forward")),t.commands.add("outdentList",new ek(t,"backward"));const i=n.view.document;this.listenTo(i,"enter",(r,s)=>{const a=this.editor.model.document,c=a.selection.getLastPosition().parent;a.selection.isCollapsed&&c.name=="listItem"&&c.isEmpty&&(this.editor.execute("outdentList"),s.preventDefault(),r.stop())},{context:"li"}),this.listenTo(i,"delete",(r,s)=>{if(s.direction!=="backward")return;const a=this.editor.model.document.selection;if(!a.isCollapsed)return;const c=a.getFirstPosition();if(!c.isAtStart)return;const l=c.parent;l.name!=="listItem"||l.previousSibling&&l.previousSibling.name==="listItem"||(this.editor.execute("outdentList"),s.preventDefault(),r.stop())},{context:"li"}),this.listenTo(t.editing.view.document,"tab",(r,s)=>{const a=s.shiftKey?"outdentList":"indentList";this.editor.commands.get(a).isEnabled&&(t.execute(a),s.stopPropagation(),s.preventDefault(),r.stop())},{context:"li"})}afterInit(){const t=this.editor.commands,e=t.get("indent"),n=t.get("outdent");e&&e.registerChildCommand(t.get("indentList")),n&&n.registerChildCommand(t.get("outdentList"))}}function _c(o){let t=1;for(const e of o.getChildren())if(e.name=="ul"||e.name=="ol")for(const n of e.getChildren())t+=_c(n);return t}class sz extends M{static get requires(){return[rz,UN]}static get pluginName(){return"List"}}go("Ctrl+Enter");var dk=L(9292),vc={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};vc.insert="head",vc.singleton=!0,R()(dk.Z,vc),dk.Z.locals,go("Ctrl+Enter");function uk(o,t){const e=(n,i,r)=>{if(!r.consumable.consume(i.item,n.name))return;const s=i.attributeNewValue,a=r.writer,c=r.mapper.toViewElement(i.item),l=[...c.getChildren()].find(u=>u.getCustomProperty("media-content"));a.remove(l);const d=o.getMediaViewElement(a,s,t);a.insert(a.createPositionAt(c,0),d)};return n=>{n.on("attribute:url:media",e)}}function az(o,t,e){return t.setCustomProperty("media",!0,o),Go(o,t,{label:e})}function hk(o,t,e,n){return o.createContainerElement("figure",{class:"media"},[t.getMediaViewElement(o,e,n),o.createSlot()])}function gk(o){const t=o.getSelectedElement();return t&&t.is("element","media")?t:null}function mk(o,t,e,n){o.change(i=>{const r=i.createElement("media",{url:t});o.insertObject(r,e,null,{setSelection:"on",findOptimalPosition:n?"auto":void 0})})}class cz extends Q{refresh(){const t=this.editor.model,e=t.document.selection,n=gk(e);this.value=n?n.getAttribute("url"):void 0,this.isEnabled=dz(e)||lz(e,t)}execute(t){const e=this.editor.model,n=e.document.selection,i=gk(n);i?e.change(r=>{r.setAttribute("url",t,i)}):mk(e,t,n,!0)}}function lz(o,t){let n=Nm(o,t).start.parent;return n.isEmpty&&!t.schema.isLimit(n)&&(n=n.parent),t.schema.checkChild(n,"media")}function dz(o){const t=o.getSelectedElement();return!!t&&t.name==="media"}const uz='',hz="0 0 64 42";class gz{constructor(t,e){const n=e.providers,i=e.extraProviders||[],r=new Set(e.removeProviders),s=n.concat(i).filter(a=>{const c=a.name;return c?!r.has(c):!1});this.locale=t,this.providerDefinitions=s}hasMedia(t){return!!this._getMedia(t)}getMediaViewElement(t,e,n){return this._getMedia(e).getViewElement(t,n)}_getMedia(t){if(!t)return new fk(this.locale);t=t.trim();for(const e of this.providerDefinitions){const n=e.html,i=_t(e.url);for(const r of i){const s=this._getUrlMatches(t,r);if(s)return new fk(this.locale,t,s,n)}}return null}_getUrlMatches(t,e){let n=t.match(e);if(n)return n;let i=t.replace(/^https?:\/\//,"");return n=i.match(e),n||(i=i.replace(/^www\./,""),n=i.match(e),n)?n:null}}class fk{constructor(t,e,n,i){this.url=this._getValidUrl(e),this._locale=t,this._match=n,this._previewRenderer=i}getViewElement(t,e){const n={};let i;if(e.renderForEditingView||e.renderMediaPreview&&this.url&&this._previewRenderer){this.url&&(n["data-oembed-url"]=this.url),e.renderForEditingView&&(n.class="ck-media__wrapper");const r=this._getPreviewHtml(e);i=t.createRawElement("div",n,(s,a)=>{a.setContentOf(s,r)})}else this.url&&(n.url=this.url),i=t.createEmptyElement(e.elementName,n);return t.setCustomProperty("media-content",!0,i),i}_getPreviewHtml(t){return this._previewRenderer?this._previewRenderer(this._match):this.url&&t.renderForEditingView?this._getPlaceholderHtml():""}_getPlaceholderHtml(){const t=new ze,e=this._locale.t;return t.content=uz,t.viewBox=hz,new $t({tag:"div",attributes:{class:"ck ck-reset_all ck-media__placeholder"},children:[{tag:"div",attributes:{class:"ck-media__placeholder__icon"},children:[t]},{tag:"a",attributes:{class:"ck-media__placeholder__url",target:"_blank",rel:"noopener noreferrer",href:this.url,"data-cke-tooltip-text":e("Open media in new tab")},children:[{tag:"span",attributes:{class:"ck-media__placeholder__url__text"},children:[this.url]}]}]}).render().outerHTML}_getValidUrl(t){return t?t.match(/^https?/)?t:"https://"+t:null}}var pk=L(1922),yc={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};yc.insert="head",yc.singleton=!0,R()(pk.Z,yc),pk.Z.locals;class or extends M{static get pluginName(){return"MediaEmbedEditing"}constructor(t){super(t),t.config.define("mediaEmbed",{elementName:"oembed",providers:[{name:"dailymotion",url:[/^dailymotion\.com\/video\/(\w+)/,/^dai.ly\/(\w+)/],html:e=>`
`},{name:"spotify",url:[/^open\.spotify\.com\/(artist\/\w+)/,/^open\.spotify\.com\/(album\/\w+)/,/^open\.spotify\.com\/(track\/\w+)/],html:e=>`
`},{name:"youtube",url:[/^(?:m\.)?youtube\.com\/watch\?v=([\w-]+)(?:&t=(\d+))?/,/^(?:m\.)?youtube\.com\/v\/([\w-]+)(?:\?t=(\d+))?/,/^youtube\.com\/embed\/([\w-]+)(?:\?start=(\d+))?/,/^youtu\.be\/([\w-]+)(?:\?t=(\d+))?/],html:e=>{const n=e[1],i=e[2];return`
`}},{name:"vimeo",url:[/^vimeo\.com\/(\d+)/,/^vimeo\.com\/[^/]+\/[^/]+\/video\/(\d+)/,/^vimeo\.com\/album\/[^/]+\/video\/(\d+)/,/^vimeo\.com\/channels\/[^/]+\/(\d+)/,/^vimeo\.com\/groups\/[^/]+\/videos\/(\d+)/,/^vimeo\.com\/ondemand\/[^/]+\/(\d+)/,/^player\.vimeo\.com\/video\/(\d+)/],html:e=>`
`},{name:"instagram",url:/^instagram\.com\/p\/(\w+)/},{name:"twitter",url:/^twitter\.com/},{name:"googleMaps",url:[/^google\.com\/maps/,/^goo\.gl\/maps/,/^maps\.google\.com/,/^maps\.app\.goo\.gl/]},{name:"flickr",url:/^flickr\.com/},{name:"facebook",url:/^facebook\.com/}]}),this.registry=new gz(t.locale,t.config.get("mediaEmbed"))}init(){const t=this.editor,e=t.model.schema,n=t.t,i=t.conversion,r=t.config.get("mediaEmbed.previewsInData"),s=t.config.get("mediaEmbed.elementName"),a=this.registry;t.commands.add("mediaEmbed",new cz(t)),e.register("media",{inheritAllFrom:"$blockObject",allowAttributes:["url"]}),i.for("dataDowncast").elementToStructure({model:"media",view:(c,{writer:l})=>{const d=c.getAttribute("url");return hk(l,a,d,{elementName:s,renderMediaPreview:!!d&&r})}}),i.for("dataDowncast").add(uk(a,{elementName:s,renderMediaPreview:r})),i.for("editingDowncast").elementToStructure({model:"media",view:(c,{writer:l})=>{const d=c.getAttribute("url"),u=hk(l,a,d,{elementName:s,renderForEditingView:!0});return az(u,l,n("media widget"))}}),i.for("editingDowncast").add(uk(a,{elementName:s,renderForEditingView:!0})),i.for("upcast").elementToElement({view:c=>["oembed",s].includes(c.name)&&c.getAttribute("url")?{name:!0}:null,model:(c,{writer:l})=>{const d=c.getAttribute("url");return a.hasMedia(d)?l.createElement("media",{url:d}):null}}).elementToElement({view:{name:"div",attributes:{"data-oembed-url":!0}},model:(c,{writer:l})=>{const d=c.getAttribute("data-oembed-url");return a.hasMedia(d)?l.createElement("media",{url:d}):null}}).add(c=>{const l=(d,u,m)=>{if(!m.consumable.consume(u.viewItem,{name:!0,classes:"media"}))return;const{modelRange:p,modelCursor:b}=m.convertChildren(u.viewItem,u.modelCursor);u.modelRange=p,u.modelCursor=b,Tt(p.getItems())||m.consumable.revert(u.viewItem,{name:!0,classes:"media"})};c.on("element:figure",l)})}}const mz=/^(?:http(s)?:\/\/)?[\w-]+\.[\w-.~:/?#[\]@!$&'()*+,;=%]+$/;class fz extends M{static get requires(){return[La,Ee,Yi]}static get pluginName(){return"AutoMediaEmbed"}constructor(t){super(t),this._timeoutId=null,this._positionToInsert=null}init(){const t=this.editor,e=t.model.document,n=t.plugins.get("ClipboardPipeline");this.listenTo(n,"inputTransformation",()=>{const r=e.selection.getFirstRange(),s=Mt.fromPosition(r.start);s.stickiness="toPrevious";const a=Mt.fromPosition(r.end);a.stickiness="toNext",e.once("change:data",()=>{this._embedMediaBetweenPositions(s,a),s.detach(),a.detach()},{priority:"high"})}),t.commands.get("undo").on("execute",()=>{this._timeoutId&&(U.window.clearTimeout(this._timeoutId),this._positionToInsert.detach(),this._timeoutId=null,this._positionToInsert=null)},{priority:"high"})}_embedMediaBetweenPositions(t,e){const n=this.editor,i=n.plugins.get(or).registry,r=new Zt(t,e),s=r.getWalker({ignoreElementEnd:!0});let a="";for(const l of s)l.item.is("$textProxy")&&(a+=l.item.data);if(a=a.trim(),!a.match(mz)){r.detach();return}if(!i.hasMedia(a)){r.detach();return}if(!n.commands.get("mediaEmbed").isEnabled){r.detach();return}this._positionToInsert=Mt.fromPosition(t),this._timeoutId=U.window.setTimeout(()=>{n.model.change(l=>{this._timeoutId=null,l.remove(r),r.detach();let d=null;this._positionToInsert.root.rootName!=="$graveyard"&&(d=this._positionToInsert),mk(n.model,a,d,!1),this._positionToInsert.detach(),this._positionToInsert=null}),n.plugins.get(Ee).requestUndoOnBackspace()},100)}}var kk=L(7138),xc={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};xc.insert="head",xc.singleton=!0,R()(kk.Z,xc),kk.Z.locals;class pz extends G{constructor(t,e){super(e);const n=e.t;this.focusTracker=new Bt,this.keystrokes=new Vt,this.set("mediaURLInputValue",""),this.urlInputView=this._createUrlInput(),this.saveButtonView=this._createButton(n("Save"),dt.check,"ck-button-save"),this.saveButtonView.type="submit",this.saveButtonView.bind("isEnabled").to(this,"mediaURLInputValue",i=>!!i),this.cancelButtonView=this._createButton(n("Cancel"),dt.cancel,"ck-button-cancel","cancel"),this._focusables=new ce,this._focusCycler=new fe({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this._validators=t,this.setTemplate({tag:"form",attributes:{class:["ck","ck-media-form","ck-responsive-form"],tabindex:"-1"},children:[this.urlInputView,this.saveButtonView,this.cancelButtonView]})}render(){super.render(),h({view:this}),[this.urlInputView,this.saveButtonView,this.cancelButtonView].forEach(n=>{this._focusables.add(n),this.focusTracker.add(n.element)}),this.keystrokes.listenTo(this.element);const e=n=>n.stopPropagation();this.keystrokes.set("arrowright",e),this.keystrokes.set("arrowleft",e),this.keystrokes.set("arrowup",e),this.keystrokes.set("arrowdown",e)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}get url(){return this.urlInputView.fieldView.element.value.trim()}set url(t){this.urlInputView.fieldView.element.value=t.trim()}isValid(){this.resetFormStatus();for(const t of this._validators){const e=t(this);if(e)return this.urlInputView.errorText=e,!1}return!0}resetFormStatus(){this.urlInputView.errorText=null,this.urlInputView.infoText=this._urlInputViewInfoDefault}_createUrlInput(){const t=this.locale.t,e=new po(this.locale,No),n=e.fieldView;return this._urlInputViewInfoDefault=t("Paste the media URL in the input."),this._urlInputViewInfoTip=t("Tip: Paste the URL into the content to embed faster."),e.label=t("Media URL"),e.infoText=this._urlInputViewInfoDefault,n.on("input",()=>{e.infoText=n.element.value?this._urlInputViewInfoTip:this._urlInputViewInfoDefault,this.mediaURLInputValue=n.element.value.trim()}),e}_createButton(t,e,n,i){const r=new et(this.locale);return r.set({label:t,icon:e,tooltip:!0}),r.extendTemplate({attributes:{class:n}}),i&&r.delegate("execute").to(this,i),r}}const kz='';class bz extends M{static get requires(){return[or]}static get pluginName(){return"MediaEmbedUI"}init(){const t=this.editor,e=t.commands.get("mediaEmbed");t.ui.componentFactory.add("mediaEmbed",n=>{const i=de(n);return this._setUpDropdown(i,e),i})}_setUpDropdown(t,e){const n=this.editor,i=n.t,r=t.buttonView,s=n.plugins.get(or).registry;t.once("change:isOpen",()=>{const a=new(v(pz))(wz(n.t,s),n.locale);t.panelView.children.add(a),r.on("open",()=>{a.disableCssTransitions(),a.url=e.value||"",a.urlInputView.fieldView.select(),a.enableCssTransitions()},{priority:"low"}),t.on("submit",()=>{a.isValid()&&(n.execute("mediaEmbed",a.url),n.editing.view.focus())}),t.on("change:isOpen",()=>a.resetFormStatus()),t.on("cancel",()=>{n.editing.view.focus()}),a.delegate("submit","cancel").to(t),a.urlInputView.fieldView.bind("value").to(e,"value"),a.urlInputView.bind("isEnabled").to(e,"isEnabled")}),t.bind("isEnabled").to(e),r.set({label:i("Insert media"),icon:kz,tooltip:!0})}}function wz(o,t){return[e=>{if(!e.url.length)return o("The URL must not be empty.")},e=>{if(!t.hasMedia(e.url))return o("This media URL is not supported.")}]}var bk=L(8705),Ec={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ec.insert="head",Ec.singleton=!0,R()(bk.Z,Ec),bk.Z.locals;class Az extends M{static get requires(){return[or,bz,fz,$n]}static get pluginName(){return"MediaEmbed"}}function Cz(o,t){if(!o.childCount)return;const e=new Re(o.document),n=vz(o,e);if(!n.length)return;let i=null,r=1;n.forEach((s,a)=>{const c=Mz(n[a-1],s),l=c?null:n[a-1],d=Nz(l,s);if(c&&(i=null,r=1),!i||d!==0){const m=yz(s,t);if(!i)i=wk(m,s.element,e);else if(s.indent>r){const p=i.getChild(i.childCount-1),b=p.getChild(p.childCount-1);i=wk(m,b,e),r+=1}else if(s.indent1&&e.setAttribute("start",o.startIndex,i),i}function Sz(o,t){return Iz(o,t),t.removeStyle("text-indent",o),t.rename("li",o)}function Tz(o){const t={},e=o.getStyle("mso-list");if(e){const n=e.match(/(^|\s{1,100})l(\d+)/i),i=e.match(/\s{0,100}lfo(\d+)/i),r=e.match(/\s{0,100}level(\d+)/i);n&&i&&r&&(t.id=n[2],t.order=i[1],t.indent=parseInt(r[1]))}return t}function Iz(o,t){const e=new ee({name:"span",styles:{"mso-list":"Ignore"}}),n=t.createRangeIn(o);for(const i of n)i.type==="elementStart"&&e.match(i.item)&&t.remove(i.item)}function Mz(o,t){if(!o)return!0;if(o.id!==t.id)return t.indent-o.indent!==1;const e=t.element.previousSibling;return e?!Bz(e):!0}function Bz(o){return o.is("element","ol")||o.is("element","ul")}function Nz(o,t){return o?t.indent-o.indent:t.indent-1}function zz(o,t){const e=o.getAncestors({parentFirst:!0});let n=null,i=0;for(const r of e)if((r.is("element","ul")||r.is("element","ol"))&&i++,i===t){n=r;break}return n}function Pz(o,t){if(!o.childCount)return;const e=new Re(o.document),n=Oz(o,e);Rz(n,o,e),Fz(n,o,e),jz(o,e);const i=Vz(o,e);i.length&&Uz(i,Hz(t),e)}function Lz(o){return btoa(o.match(/\w{2}/g).map(t=>String.fromCharCode(parseInt(t,16))).join(""))}function Oz(o,t){const e=t.createRangeIn(o),n=new ee({name:/v:(.+)/}),i=[];for(const r of e){if(r.type!="elementStart")continue;const s=r.item,a=s.previousSibling,c=a&&a.is("element")?a.name:null;n.match(s)&&s.getAttribute("o:gfxdata")&&c!=="v:shapetype"&&i.push(r.item.getAttribute("id"))}return i}function Rz(o,t,e){const n=e.createRangeIn(t),i=new ee({name:"img"}),r=[];for(const s of n)if(s.item.is("element")&&i.match(s.item)){const a=s.item,c=a.getAttribute("v:shapes")?a.getAttribute("v:shapes").split(" "):[];c.length&&c.every(l=>o.indexOf(l)>-1)?r.push(a):a.getAttribute("src")||r.push(a)}for(const s of r)e.remove(s)}function jz(o,t){const e=t.createRangeIn(o),n=new ee({name:/v:(.+)/}),i=[];for(const r of e)r.type=="elementStart"&&n.match(r.item)&&i.push(r.item);for(const r of i)t.remove(r)}function Fz(o,t,e){const n=e.createRangeIn(t),i=[];for(const a of n)if(a.type=="elementStart"&&a.item.is("element","v:shape")){const c=a.item.getAttribute("id");if(o.includes(c))continue;r(a.item.parent.getChildren(),c)||i.push(a.item)}for(const a of i){const c={src:s(a)};a.hasAttribute("alt")&&(c.alt=a.getAttribute("alt"));const l=e.createElement("img",c);e.insertChild(a.index+1,l,a.parent)}function r(a,c){for(const l of a)if(l.is("element")&&(l.name=="img"&&l.getAttribute("v:shapes")==c||r(l.getChildren(),c)))return!0;return!1}function s(a){for(const c of a.getChildren())if(c.is("element")&&c.getAttribute("src"))return c.getAttribute("src")}}function Vz(o,t){const e=t.createRangeIn(o),n=new ee({name:"img"}),i=[];for(const r of e)r.item.is("element")&&n.match(r.item)&&r.item.getAttribute("src").startsWith("file://")&&i.push(r.item);return i}function Hz(o){if(!o)return[];const t=/{\\pict[\s\S]+?\\bliptag-?\d+(\\blipupi-?\d+)?({\\\*\\blipuid\s?[\da-fA-F]+)?[\s}]*?/,e=new RegExp("(?:("+t.source+"))([\\da-fA-F\\s]+)\\}","g"),n=o.match(e),i=[];if(n)for(const r of n){let s=!1;r.includes("\\pngblip")?s="image/png":r.includes("\\jpegblip")&&(s="image/jpeg"),s&&i.push({hex:r.replace(t,"").replace(/[^\da-fA-F]/g,""),type:s})}return i}function Uz(o,t,e){if(o.length===t.length)for(let n=0;n/i,Wz=/xmlns:o="urn:schemas-microsoft-com/i;class $z{constructor(t){this.document=t}isActive(t){return qz.test(t)||Wz.test(t)}execute(t){const{body:e,stylesString:n}=t._parsedData;Cz(e,n),Pz(e,t.dataTransfer.getData("text/rtf")),Gz(e),t.content=e}}function Zz(o,t){for(const e of o.getChildren())if(e.is("element","b")&&e.getStyle("font-weight")==="normal"){const n=o.getChildIndex(e);t.remove(e),t.insertChild(n,e.getChildren(),o)}}function Kz(o,t){const e=new Ai(t.document.stylesProcessor),n=new vi(e,{renderingMode:"data"}),i=n.blockElements,r=n.inlineObjectElements,s=[];for(const a of t.createRangeIn(o)){const c=a.item;if(c.is("element","br")){const l=Ak(c,"forward",t,{blockElements:i,inlineObjectElements:r}),d=Ak(c,"backward",t,{blockElements:i,inlineObjectElements:r}),u=Ck(l,i);(Ck(d,i)||u)&&s.push(c)}}for(const a of s)a.hasClass("Apple-interchange-newline")?t.remove(a):t.replace(a,t.createElement("p"))}function Ak(o,t,e,{blockElements:n,inlineObjectElements:i}){let r=e.createPositionAt(o,t=="forward"?"after":"before");return r=r.getLastMatchingPosition(({item:s})=>s.is("element")&&!n.includes(s.name)&&!i.includes(s.name),{direction:t}),t=="forward"?r.nodeAfter:r.nodeBefore}function Ck(o,t){return!!o&&o.is("element")&&t.includes(o.name)}const Yz=/id=("|')docs-internal-guid-[-0-9a-f]+("|')/i;class Qz{constructor(t){this.document=t}isActive(t){return Yz.test(t)}execute(t){const e=new Re(this.document),{body:n}=t._parsedData;Zz(n,e),_z(n,e),Kz(n,e),t.content=n}}function Jz(o,t){for(const e of o.getChildren())e.is("element","table")&&e.hasAttribute("xmlns")&&t.removeAttribute("xmlns",e)}function Xz(o,t){for(const e of o.getChildren())if(e.is("element","google-sheets-html-origin")){const n=o.getChildIndex(e);t.remove(e),t.insertChild(n,e.getChildren(),o)}}function tP(o,t){for(const e of o.getChildren())e.is("element","table")&&e.getStyle("width")==="0px"&&t.removeStyle("width",e)}function eP(o,t){for(const e of Array.from(o.getChildren()))e.is("element","style")&&t.remove(e)}const nP=/[^\S\r\n]*?)[\r\n]+([^\S\r\n]*<\/span>)/g,"$1$2").replace(/<\/span>/g,"").replace(/()[\r\n]+(<\/span>)/g,"$1 $2").replace(/ <\//g," <\/o:p>/g," ").replace(/( |\u00A0)<\/o:p>/g,"").replace(/>([^\S\r\n]*[\r\n]\s*)<")}function rP(o){o.querySelectorAll("span[style*=spacerun]").forEach(t=>{const e=t,n=e.innerText.length||0;e.innerText=Array(n+1).join("  ").substr(0,n)})}function _k(o){return o.replace(/(\s+)<\/span>/g,(t,e)=>e.length===1?" ":Array(e.length+1).join("  ").substr(0,e.length))}function sP(o,t){const e=new DOMParser;o=o.replace(//g,"")}const Dm=["figcaption","li"],Sm=["ol","ul"];function Tm(o){if(o.is("$text")||o.is("$textProxy"))return o.data;if(o.is("element","img")&&o.hasAttribute("alt"))return o.getAttribute("alt");if(o.is("element","br"))return` +`;let t="",e=null;for(const n of o.getChildren())t+=FT(n,e)+Tm(n),e=n;return t}function FT(o,t){return t?o.is("element","li")&&!o.isEmpty&&o.getChild(0).is("containerElement")||Sm.includes(o.name)&&Sm.includes(t.name)?` + +`:!o.is("containerElement")&&!t.is("containerElement")?"":Dm.includes(o.name)||Dm.includes(t.name)?` +`:` + +`:""}class De extends M{static get pluginName(){return"ClipboardPipeline"}init(){this.editor.editing.view.addObserver(Uo),this._setupPasteDrop(),this._setupCopyCut()}_fireOutputTransformationEvent(t,e,n){const i=this.editor.model.getSelectedContent(e);this.fire("outputTransformation",{dataTransfer:t,content:i,method:n})}_setupPasteDrop(){const t=this.editor,e=t.model,n=t.editing.view,i=n.document;this.listenTo(i,"clipboardInput",(r,s)=>{s.method=="paste"&&!t.model.canEditAt(t.model.document.selection)&&r.stop()},{priority:"highest"}),this.listenTo(i,"clipboardInput",(r,s)=>{const a=s.dataTransfer;let c;if(s.content)c=s.content;else{let d="";a.getData("text/html")?d=jT(a.getData("text/html")):a.getData("text/plain")&&(d=RT(a.getData("text/plain"))),c=this.editor.data.htmlProcessor.toView(d)}const l=new Ot(this,"inputTransformation");this.fire(l,{content:c,dataTransfer:a,targetRanges:s.targetRanges,method:s.method}),l.stop.called&&r.stop(),n.scrollToTheSelection()},{priority:"low"}),this.listenTo(this,"inputTransformation",(r,s)=>{if(s.content.isEmpty)return;const c=this.editor.data.toModel(s.content,"$clipboardHolder");c.childCount!=0&&(r.stop(),e.change(()=>{this.fire("contentInsertion",{content:c,method:s.method,dataTransfer:s.dataTransfer,targetRanges:s.targetRanges})}))},{priority:"low"}),this.listenTo(this,"contentInsertion",(r,s)=>{s.resultRange=e.insertContent(s.content)},{priority:"low"})}_setupCopyCut(){const t=this.editor,e=t.model.document,i=t.editing.view.document,r=(s,a)=>{const c=a.dataTransfer;a.preventDefault(),this._fireOutputTransformationEvent(c,e.selection,s.name)};this.listenTo(i,"copy",r,{priority:"low"}),this.listenTo(i,"cut",(s,a)=>{t.model.canEditAt(t.model.document.selection)?r(s,a):a.preventDefault()},{priority:"low"}),this.listenTo(this,"outputTransformation",(s,a)=>{const c=t.data.toView(a.content);i.fire("clipboardOutput",{dataTransfer:a.dataTransfer,content:c,method:a.method})},{priority:"low"}),this.listenTo(i,"clipboardOutput",(s,a)=>{a.content.isEmpty||(a.dataTransfer.setData("text/html",this.editor.data.htmlProcessor.toData(a.content)),a.dataTransfer.setData("text/plain",Tm(a.content))),a.method=="cut"&&t.model.deleteContent(e.selection)},{priority:"low"})}}class VT extends ct(){constructor(){super(...arguments),this._stack=[]}add(t,e){const n=this._stack,i=n[0];this._insertDescriptor(t);const r=n[0];i!==r&&!Ta(i,r)&&this.fire("change:top",{oldDescriptor:i,newDescriptor:r,writer:e})}remove(t,e){const n=this._stack,i=n[0];this._removeDescriptor(t);const r=n[0];i!==r&&!Ta(i,r)&&this.fire("change:top",{oldDescriptor:i,newDescriptor:r,writer:e})}_insertDescriptor(t){const e=this._stack,n=e.findIndex(r=>r.id===t.id);if(Ta(t,e[n]))return;n>-1&&e.splice(n,1);let i=0;for(;e[i]&&HT(e[i],t);)i++;e.splice(i,0,t)}_removeDescriptor(t){const e=this._stack,n=e.findIndex(i=>i.id===t);n>-1&&e.splice(n,1)}}function Ta(o,t){return o&&t&&o.priority==t.priority&&Wi(o.classes)==Wi(t.classes)}function HT(o,t){return o.priority>t.priority?!0:o.priorityWi(t.classes)}function Wi(o){return Array.isArray(o)?o.sort().join(","):o}const UT='',GT="ck-widget",Im="ck-widget_selected";function Nt(o){return o.is("element")?!!o.getCustomProperty("widget"):!1}function Go(o,t,e={}){if(!o.is("containerElement"))throw new w("widget-to-widget-wrong-element-type",null,{element:o});return t.setAttribute("contenteditable","false",o),t.addClass(GT,o),t.setCustomProperty("widget",!0,o),o.getFillerOffset=KT,t.setCustomProperty("widgetLabel",[],o),e.label&&$T(o,e.label),e.hasSelectionHandle&&YT(o,t),Mm(o,t),o}function qT(o,t,e){if(t.classes&&e.addClass(_t(t.classes),o),t.attributes)for(const n in t.attributes)e.setAttribute(n,t.attributes[n],o)}function WT(o,t,e){if(t.classes&&e.removeClass(_t(t.classes),o),t.attributes)for(const n in t.attributes)e.removeAttribute(n,o)}function Mm(o,t,e=qT,n=WT){const i=new VT;i.on("change:top",(a,c)=>{c.oldDescriptor&&n(o,c.oldDescriptor,c.writer),c.newDescriptor&&e(o,c.newDescriptor,c.writer)});const r=(a,c,l)=>i.add(c,l),s=(a,c,l)=>i.remove(c,l);t.setCustomProperty("addHighlight",r,o),t.setCustomProperty("removeHighlight",s,o)}function $T(o,t){o.getCustomProperty("widgetLabel").push(t)}function ZT(o){return o.getCustomProperty("widgetLabel").reduce((e,n)=>typeof n=="function"?e?e+". "+n():n():e?e+". "+n:n,"")}function Bm(o,t,e={}){return t.addClass(["ck-editor__editable","ck-editor__nested-editable"],o),t.setAttribute("role","textbox",o),e.label&&t.setAttribute("aria-label",e.label,o),t.setAttribute("contenteditable",o.isReadOnly?"false":"true",o),o.on("change:isReadOnly",(n,i,r)=>{t.setAttribute("contenteditable",r?"false":"true",o)}),o.on("change:isFocused",(n,i,r)=>{r?t.addClass("ck-editor__nested-editable_focused",o):t.removeClass("ck-editor__nested-editable_focused",o)}),Mm(o,t),o}function Nm(o,t){const e=o.getSelectedElement();if(e){const n=Ke(o);if(n)return t.createRange(t.createPositionAt(e,n))}return ng(o,t)}function KT(){return null}function YT(o,t){const e=t.createUIElement("div",{class:"ck ck-widget__selection-handle"},function(n){const i=this.toDomElement(n),r=new ze;return r.set("content",UT),r.render(),i.appendChild(r.element),i});t.insert(t.createPositionAt(o,0),e),t.addClass(["ck-widget_with-selection-handle"],o)}const Fe="widget-type-around";function mn(o,t,e){return!!o&&Nt(o)&&!e.isInline(t)}function QT(o){return o.closest(".ck-widget__type-around__button")}function JT(o){return o.classList.contains("ck-widget__type-around__button_before")?"before":"after"}function XT(o,t){const e=o.closest(".ck-widget");return t.mapDomToView(e)}function Ke(o){return o.getAttribute(Fe)}const tI='';var zm=L(2347),Ia={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ia.insert="head",Ia.singleton=!0,R()(zm.Z,Ia),zm.Z.locals;const Pm=["before","after"],eI=new DOMParser().parseFromString(tI,"image/svg+xml").firstChild,Lm="ck-widget__type-around_disabled";class nI extends M{constructor(){super(...arguments),this._currentFakeCaretModelElement=null}static get pluginName(){return"WidgetTypeAround"}static get requires(){return[Ho,Ee]}init(){const t=this.editor,e=t.editing.view;this.on("change:isEnabled",(n,i,r)=>{e.change(s=>{for(const a of e.document.roots)r?s.removeClass(Lm,a):s.addClass(Lm,a)}),r||t.model.change(s=>{s.removeSelectionAttribute(Fe)})}),this._enableTypeAroundUIInjection(),this._enableInsertingParagraphsOnButtonClick(),this._enableInsertingParagraphsOnEnterKeypress(),this._enableInsertingParagraphsOnTypingKeystroke(),this._enableTypeAroundFakeCaretActivationUsingKeyboardArrows(),this._enableDeleteIntegration(),this._enableInsertContentIntegration(),this._enableInsertObjectIntegration(),this._enableDeleteContentIntegration()}destroy(){super.destroy(),this._currentFakeCaretModelElement=null}_insertParagraph(t,e){const n=this.editor,i=n.editing.view,r=n.model.schema.getAttributesWithProperty(t,"copyOnReplace",!0);n.execute("insertParagraph",{position:n.model.createPositionAt(t,e),attributes:r}),i.focus(),i.scrollToTheSelection()}_listenToIfEnabled(t,e,n,i){this.listenTo(t,e,(...r)=>{this.isEnabled&&n(...r)},i)}_insertParagraphAccordingToFakeCaretPosition(){const n=this.editor.model.document.selection,i=Ke(n);if(!i)return!1;const r=n.getSelectedElement();return this._insertParagraph(r,i),!0}_enableTypeAroundUIInjection(){const t=this.editor,e=t.model.schema,n=t.locale.t,i={before:n("Insert paragraph before block"),after:n("Insert paragraph after block")};t.editing.downcastDispatcher.on("insert",(r,s,a)=>{const c=a.mapper.toViewElement(s.item);c&&mn(c,s.item,e)&&(oI(a.writer,i,c),c.getCustomProperty("widgetLabel").push(()=>this.isEnabled?n("Press Enter to type after or press Shift + Enter to type before the widget"):""))},{priority:"low"})}_enableTypeAroundFakeCaretActivationUsingKeyboardArrows(){const t=this.editor,e=t.model,n=e.document.selection,i=e.schema,r=t.editing.view;this._listenToIfEnabled(r.document,"arrowKey",(a,c)=>{this._handleArrowKeyPress(a,c)},{context:[Nt,"$text"],priority:"high"}),this._listenToIfEnabled(n,"change:range",(a,c)=>{c.directChange&&t.model.change(l=>{l.removeSelectionAttribute(Fe)})}),this._listenToIfEnabled(e.document,"change:data",()=>{const a=n.getSelectedElement();if(a){const c=t.editing.mapper.toViewElement(a);if(mn(c,a,i))return}t.model.change(c=>{c.removeSelectionAttribute(Fe)})}),this._listenToIfEnabled(t.editing.downcastDispatcher,"selection",(a,c,l)=>{const d=l.writer;if(this._currentFakeCaretModelElement){const b=l.mapper.toViewElement(this._currentFakeCaretModelElement);b&&(d.removeClass(Pm.map(s),b),this._currentFakeCaretModelElement=null)}const u=c.selection.getSelectedElement();if(!u)return;const m=l.mapper.toViewElement(u);if(!mn(m,u,i))return;const p=Ke(c.selection);p&&(d.addClass(s(p),m),this._currentFakeCaretModelElement=u)}),this._listenToIfEnabled(t.ui.focusTracker,"change:isFocused",(a,c,l)=>{l||t.model.change(d=>{d.removeSelectionAttribute(Fe)})});function s(a){return`ck-widget_type-around_show-fake-caret_${a}`}}_handleArrowKeyPress(t,e){const n=this.editor,i=n.model,r=i.document.selection,s=i.schema,a=n.editing.view,c=e.keyCode,l=wv(c,n.locale.contentLanguageDirection),d=a.document.selection.getSelectedElement(),u=n.editing.mapper.toModelElement(d);let m;mn(d,u,s)?m=this._handleArrowKeyPressOnSelectedWidget(l):r.isCollapsed?m=this._handleArrowKeyPressWhenSelectionNextToAWidget(l):e.shiftKey||(m=this._handleArrowKeyPressWhenNonCollapsedSelection(l)),m&&(e.preventDefault(),t.stop())}_handleArrowKeyPressOnSelectedWidget(t){const n=this.editor.model,i=n.document.selection,r=Ke(i);return n.change(s=>{if(r){if(!(r===(t?"after":"before")))return s.removeSelectionAttribute(Fe),!0}else return s.setSelectionAttribute(Fe,t?"after":"before"),!0;return!1})}_handleArrowKeyPressWhenSelectionNextToAWidget(t){const e=this.editor,n=e.model,i=n.schema,r=e.plugins.get("Widget"),s=r._getObjectElementNextToSelection(t),a=e.editing.mapper.toViewElement(s);return mn(a,s,i)?(n.change(c=>{r._setSelectionOverElement(s),c.setSelectionAttribute(Fe,t?"before":"after")}),!0):!1}_handleArrowKeyPressWhenNonCollapsedSelection(t){const e=this.editor,n=e.model,i=n.schema,r=e.editing.mapper,s=n.document.selection,a=t?s.getLastPosition().nodeBefore:s.getFirstPosition().nodeAfter,c=r.toViewElement(a);return mn(c,a,i)?(n.change(l=>{l.setSelection(a,"on"),l.setSelectionAttribute(Fe,t?"after":"before")}),!0):!1}_enableInsertingParagraphsOnButtonClick(){const t=this.editor,e=t.editing.view;this._listenToIfEnabled(e.document,"mousedown",(n,i)=>{const r=QT(i.domTarget);if(!r)return;const s=JT(r),a=XT(r,e.domConverter),c=t.editing.mapper.toModelElement(a);this._insertParagraph(c,s),i.preventDefault(),n.stop()})}_enableInsertingParagraphsOnEnterKeypress(){const t=this.editor,e=t.model.document.selection,n=t.editing.view;this._listenToIfEnabled(n.document,"enter",(i,r)=>{if(i.eventPhase!="atTarget")return;const s=e.getSelectedElement(),a=t.editing.mapper.toViewElement(s),c=t.model.schema;let l;this._insertParagraphAccordingToFakeCaretPosition()?l=!0:mn(a,s,c)&&(this._insertParagraph(s,r.isSoft?"before":"after"),l=!0),l&&(r.preventDefault(),i.stop())},{context:Nt})}_enableInsertingParagraphsOnTypingKeystroke(){const e=this.editor.editing.view.document;this._listenToIfEnabled(e,"insertText",(n,i)=>{this._insertParagraphAccordingToFakeCaretPosition()&&(i.selection=e.selection)},{priority:"high"}),g.isAndroid?this._listenToIfEnabled(e,"keydown",(n,i)=>{i.keyCode==229&&this._insertParagraphAccordingToFakeCaretPosition()}):this._listenToIfEnabled(e,"compositionstart",()=>{this._insertParagraphAccordingToFakeCaretPosition()},{priority:"high"})}_enableDeleteIntegration(){const t=this.editor,e=t.editing.view,n=t.model,i=n.schema;this._listenToIfEnabled(e.document,"delete",(r,s)=>{if(r.eventPhase!="atTarget")return;const a=Ke(n.document.selection);if(!a)return;const c=s.direction,l=n.document.selection.getSelectedElement(),d=a==="before",u=c=="forward";if(d===u)t.execute("delete",{selection:n.createSelection(l,"on")});else{const p=i.getNearestSelectionRange(n.createPositionAt(l,a),c);if(p)if(!p.isCollapsed)n.change(b=>{b.setSelection(p),t.execute(u?"deleteForward":"delete")});else{const b=n.createSelection(p.start);if(n.modifySelection(b,{direction:c}),!b.focus.isEqual(p.start))n.change(S=>{S.setSelection(p),t.execute(u?"deleteForward":"delete")});else{const S=sI(i,p.start.parent);n.deleteContent(n.createSelection(S,"on"),{doNotAutoparagraph:!0})}}}s.preventDefault(),r.stop()},{context:Nt})}_enableInsertContentIntegration(){const t=this.editor,e=this.editor.model,n=e.document.selection;this._listenToIfEnabled(t.model,"insertContent",(i,[r,s])=>{if(s&&!s.is("documentSelection"))return;const a=Ke(n);if(a)return i.stop(),e.change(c=>{const l=n.getSelectedElement(),d=e.createPositionAt(l,a),u=c.createSelection(d),m=e.insertContent(r,u);return c.setSelection(u),m})},{priority:"high"})}_enableInsertObjectIntegration(){const t=this.editor,n=this.editor.model.document.selection;this._listenToIfEnabled(t.model,"insertObject",(i,r)=>{const[,s,a={}]=r;if(s&&!s.is("documentSelection"))return;const c=Ke(n);c&&(a.findOptimalPosition=c,r[3]=a)},{priority:"high"})}_enableDeleteContentIntegration(){const t=this.editor,n=this.editor.model.document.selection;this._listenToIfEnabled(t.model,"deleteContent",(i,[r])=>{if(r&&!r.is("documentSelection"))return;Ke(n)&&i.stop()},{priority:"high"})}}function oI(o,t,e){const n=o.createUIElement("div",{class:"ck ck-reset_all ck-widget__type-around"},function(i){const r=this.toDomElement(i);return iI(r,t),rI(r),r});o.insert(o.createPositionAt(e,"end"),n)}function iI(o,t){for(const e of Pm){const n=new $t({tag:"div",attributes:{class:["ck","ck-widget__type-around__button",`ck-widget__type-around__button_${e}`],title:t[e],"aria-hidden":"true"},children:[o.ownerDocument.importNode(eI,!0)]});o.appendChild(n.render())}}function rI(o){const t=new $t({tag:"div",attributes:{class:["ck","ck-widget__type-around__fake-caret"]}});o.appendChild(t.render())}function sI(o,t){let e=t;for(const n of t.getAncestors({parentFirst:!0})){if(n.childCount>1||o.isLimit(n))break;e=n}return e}function aI(o){const t=o.model;return(e,n)=>{const i=n.keyCode==tt.arrowup,r=n.keyCode==tt.arrowdown,s=n.shiftKey,a=t.document.selection;if(!i&&!r)return;const c=r;if(s&&dI(a,c))return;const l=cI(o,a,c);if(l){if(l.isCollapsed){if(a.isCollapsed)return;if(s)return}(l.isCollapsed||lI(o,l,c))&&(t.change(d=>{const u=c?l.end:l.start;if(s){const m=t.createSelection(a.anchor);m.setFocus(u),d.setSelection(m)}else d.setSelection(u)}),e.stop(),n.preventDefault(),n.stopPropagation())}}}function cI(o,t,e){const n=o.model;if(e){const i=t.isCollapsed?t.focus:t.getLastPosition(),r=Om(n,i,"forward");if(!r)return null;const s=n.createRange(i,r),a=Rm(n.schema,s,"backward");return a?n.createRange(i,a):null}else{const i=t.isCollapsed?t.focus:t.getFirstPosition(),r=Om(n,i,"backward");if(!r)return null;const s=n.createRange(r,i),a=Rm(n.schema,s,"forward");return a?n.createRange(a,i):null}}function Om(o,t,e){const n=o.schema,i=o.createRangeIn(t.root),r=e=="forward"?"elementStart":"elementEnd";for(const{previousPosition:s,item:a,type:c}of i.getWalker({startPosition:t,direction:e})){if(n.isLimit(a)&&!n.isInline(a))return s;if(c==r&&n.isBlock(a))return null}return null}function Rm(o,t,e){const n=e=="backward"?t.end:t.start;if(o.checkChild(n,"$text"))return n;for(const{nextPosition:i}of t.getWalker({direction:e}))if(o.checkChild(i,"$text"))return i;return null}function lI(o,t,e){const n=o.model,i=o.view.domConverter;if(e){const l=n.createSelection(t.start);n.modifySelection(l),!l.focus.isAtEnd&&!t.start.isEqual(l.focus)&&(t=n.createRange(l.focus,t.end))}const r=o.mapper.toViewRange(t),s=i.viewRangeToDom(r),a=J.getDomRangeRects(s);let c;for(const l of a){if(c===void 0){c=Math.round(l.bottom);continue}if(Math.round(l.top)>=c)return!1;c=Math.max(c,Math.round(l.bottom))}return!0}function dI(o,t){return!o.isCollapsed&&o.isBackward==t}var jm=L(7153),Ma={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ma.insert="head",Ma.singleton=!0,R()(jm.Z,Ma),jm.Z.locals;class $n extends M{constructor(){super(...arguments),this._previouslySelected=new Set}static get pluginName(){return"Widget"}static get requires(){return[nI,Ee]}init(){const t=this.editor,e=t.editing.view,n=e.document;this.editor.editing.downcastDispatcher.on("selection",(i,r,s)=>{const a=s.writer,c=r.selection;if(c.isCollapsed)return;const l=c.getSelectedElement();if(!l)return;const d=t.editing.mapper.toViewElement(l);Nt(d)&&s.consumable.consume(c,"selection")&&a.setSelection(a.createRangeOn(d),{fake:!0,label:ZT(d)})}),this.editor.editing.downcastDispatcher.on("selection",(i,r,s)=>{this._clearPreviouslySelectedWidgets(s.writer);const a=s.writer,c=a.document.selection;let l=null;for(const d of c.getRanges())for(const u of d){const m=u.item;Nt(m)&&!hI(m,l)&&(a.addClass(Im,m),this._previouslySelected.add(m),l=m)}},{priority:"low"}),e.addObserver(Mi),this.listenTo(n,"mousedown",(...i)=>this._onMousedown(...i)),this.listenTo(n,"arrowKey",(...i)=>{this._handleSelectionChangeOnArrowKeyPress(...i)},{context:[Nt,"$text"]}),this.listenTo(n,"arrowKey",(...i)=>{this._preventDefaultOnArrowKeyPress(...i)},{context:"$root"}),this.listenTo(n,"arrowKey",aI(this.editor.editing),{context:"$text"}),this.listenTo(n,"delete",(i,r)=>{this._handleDelete(r.direction=="forward")&&(r.preventDefault(),i.stop())},{context:"$root"})}_onMousedown(t,e){const n=this.editor,i=n.editing.view,r=i.document;let s=e.target;if(e.domEvent.detail>=3){this._selectBlockContent(s)&&e.preventDefault();return}if(uI(s)||!Nt(s)&&(s=s.findAncestor(Nt),!s))return;g.isAndroid&&e.preventDefault(),r.isFocused||i.focus();const a=n.editing.mapper.toModelElement(s);this._setSelectionOverElement(a)}_selectBlockContent(t){const e=this.editor,n=e.model,i=e.editing.mapper,r=n.schema,s=i.findMappedViewAncestor(this.editor.editing.view.createPositionAt(t,0)),a=gI(i.toModelElement(s),n.schema);return a?(n.change(c=>{const l=r.isLimit(a)?null:mI(c.createPositionAfter(a),r),d=c.createPositionAt(a,0),u=l?c.createPositionAt(l,0):c.createPositionAt(a,"end");c.setSelection(c.createRange(d,u))}),!0):!1}_handleSelectionChangeOnArrowKeyPress(t,e){const n=e.keyCode,i=this.editor.model,r=i.schema,s=i.document.selection,a=s.getSelectedElement(),c=Or(n,this.editor.locale.contentLanguageDirection),l=c=="down"||c=="right",d=c=="up"||c=="down";if(a&&r.isObject(a)){const m=l?s.getLastPosition():s.getFirstPosition(),p=r.getNearestSelectionRange(m,l?"forward":"backward");p&&(i.change(b=>{b.setSelection(p)}),e.preventDefault(),t.stop());return}if(!s.isCollapsed&&!e.shiftKey){const m=s.getFirstPosition(),p=s.getLastPosition(),b=m.nodeAfter,S=p.nodeBefore;(b&&r.isObject(b)||S&&r.isObject(S))&&(i.change(B=>{B.setSelection(l?p:m)}),e.preventDefault(),t.stop());return}if(!s.isCollapsed)return;const u=this._getObjectElementNextToSelection(l);if(u&&r.isObject(u)){if(r.isInline(u)&&d)return;this._setSelectionOverElement(u),e.preventDefault(),t.stop()}}_preventDefaultOnArrowKeyPress(t,e){const n=this.editor.model,i=n.schema,r=n.document.selection.getSelectedElement();r&&i.isObject(r)&&(e.preventDefault(),t.stop())}_handleDelete(t){const n=this.editor.model.document.selection;if(!this.editor.model.canEditAt(n)||!n.isCollapsed)return;const i=this._getObjectElementNextToSelection(t);if(i)return this.editor.model.change(r=>{let s=n.anchor.parent;for(;s.isEmpty;){const a=s;s=a.parent,r.remove(a)}this._setSelectionOverElement(i)}),!0}_setSelectionOverElement(t){this.editor.model.change(e=>{e.setSelection(e.createRangeOn(t))})}_getObjectElementNextToSelection(t){const e=this.editor.model,n=e.schema,i=e.document.selection,r=e.createSelection(i);if(e.modifySelection(r,{direction:t?"forward":"backward"}),r.isEqual(i))return null;const s=t?r.focus.nodeBefore:r.focus.nodeAfter;return s&&n.isObject(s)?s:null}_clearPreviouslySelectedWidgets(t){for(const e of this._previouslySelected)t.removeClass(Im,e);this._previouslySelected.clear()}}function uI(o){let t=o;for(;t;){if(t.is("editableElement")&&!t.is("rootElement"))return!0;if(Nt(t))return!1;t=t.parent}return!1}function hI(o,t){return t?Array.from(o.getAncestors()).includes(t):!1}function gI(o,t){for(const e of o.getAncestors({includeSelf:!0,parentFirst:!0})){if(t.checkChild(e,"$text"))return e;if(t.isLimit(e)&&!t.isObject(e))break}return null}function mI(o,t){const e=new we({startPosition:o});for(const{item:n}of e){if(t.isLimit(n)||!n.is("element"))return null;if(t.checkChild(n,"$text"))return n}return null}class $i extends M{constructor(){super(...arguments),this._toolbarDefinitions=new Map}static get requires(){return[Fi]}static get pluginName(){return"WidgetToolbarRepository"}init(){const t=this.editor;if(t.plugins.has("BalloonToolbar")){const e=t.plugins.get("BalloonToolbar");this.listenTo(e,"show",n=>{fI(t.editing.view.document.selection)&&n.stop()},{priority:"high"})}this._balloon=this.editor.plugins.get("ContextualBalloon"),this.on("change:isEnabled",()=>{this._updateToolbarsVisibility()}),this.listenTo(t.ui,"update",()=>{this._updateToolbarsVisibility()}),this.listenTo(t.ui.focusTracker,"change:isFocused",()=>{this._updateToolbarsVisibility()},{priority:"low"})}destroy(){super.destroy();for(const t of this._toolbarDefinitions.values())t.view.destroy()}register(t,{ariaLabel:e,items:n,getRelatedElement:i,balloonClassName:r="ck-toolbar-container"}){if(!n.length){return}const s=this.editor,a=s.t,c=new Os(s.locale);if(c.ariaLabel=e||a("Widget toolbar"),this._toolbarDefinitions.has(t))throw new w("widget-toolbar-duplicated",this,{toolbarId:t});const l={view:c,getRelatedElement:i,balloonClassName:r,itemsConfig:n,initialized:!1};s.ui.addToolbar(c,{isContextual:!0,beforeFocus:()=>{const d=i(s.editing.view.document.selection);d&&this._showToolbar(l,d)},afterBlur:()=>{this._hideToolbar(l)}}),this._toolbarDefinitions.set(t,l)}_updateToolbarsVisibility(){let t=0,e=null,n=null;for(const i of this._toolbarDefinitions.values()){const r=i.getRelatedElement(this.editor.editing.view.document.selection);if(!this.isEnabled||!r)this._isToolbarInBalloon(i)&&this._hideToolbar(i);else if(!this.editor.ui.focusTracker.isFocused)this._isToolbarVisible(i)&&this._hideToolbar(i);else{const s=r.getAncestors().length;s>t&&(t=s,e=r,n=i)}}n&&this._showToolbar(n,e)}_hideToolbar(t){this._balloon.remove(t.view),this.stopListening(this._balloon,"change:visibleView")}_showToolbar(t,e){this._isToolbarVisible(t)?Fm(this.editor,e):this._isToolbarInBalloon(t)||(t.initialized||(t.initialized=!0,t.view.fillFromConfig(t.itemsConfig,this.editor.ui.componentFactory)),this._balloon.add({view:t.view,position:Vm(this.editor,e),balloonClassName:t.balloonClassName}),this.listenTo(this._balloon,"change:visibleView",()=>{for(const n of this._toolbarDefinitions.values())if(this._isToolbarVisible(n)){const i=n.getRelatedElement(this.editor.editing.view.document.selection);Fm(this.editor,i)}}))}_isToolbarVisible(t){return this._balloon.visibleView===t.view}_isToolbarInBalloon(t){return this._balloon.hasView(t.view)}}function Fm(o,t){const e=o.plugins.get("ContextualBalloon"),n=Vm(o,t);e.updatePosition(n)}function Vm(o,t){const e=o.editing.view,n=jt.defaultPositions;return{target:e.domConverter.mapViewToDom(t),positions:[n.northArrowSouth,n.northArrowSouthWest,n.northArrowSouthEast,n.southArrowNorth,n.southArrowNorthWest,n.southArrowNorthEast,n.viewportStickyNorth]}}function fI(o){const t=o.getSelectedElement();return!!(t&&Nt(t))}class pI extends st(){constructor(t){super(),this.set("activeHandlePosition",null),this.set("proposedWidthPercents",null),this.set("proposedWidth",null),this.set("proposedHeight",null),this.set("proposedHandleHostWidth",null),this.set("proposedHandleHostHeight",null),this._options=t,this._referenceCoordinates=null}get originalWidth(){return this._originalWidth}get originalHeight(){return this._originalHeight}get originalWidthPercents(){return this._originalWidthPercents}get aspectRatio(){return this._aspectRatio}begin(t,e,n){const i=new J(e);this.activeHandlePosition=AI(t),this._referenceCoordinates=bI(e,CI(this.activeHandlePosition)),this._originalWidth=i.width,this._originalHeight=i.height,this._aspectRatio=i.width/i.height;const r=n.style.width;r&&r.match(/^\d+(\.\d*)?%$/)?this._originalWidthPercents=parseFloat(r):this._originalWidthPercents=kI(n,i)}update(t){this.proposedWidth=t.width,this.proposedHeight=t.height,this.proposedWidthPercents=t.widthPercents,this.proposedHandleHostWidth=t.handleHostWidth,this.proposedHandleHostHeight=t.handleHostHeight}}function kI(o,t){const e=o.parentElement;let n=parseFloat(e.ownerDocument.defaultView.getComputedStyle(e).width);const i=5;let r=0,s=e;for(;isNaN(n);){if(s=s.parentElement,++r>i)return 0;n=parseFloat(e.ownerDocument.defaultView.getComputedStyle(s).width)}return t.width/n*100}function bI(o,t){const e=new J(o),n=t.split("-"),i={x:n[1]=="right"?e.right:e.left,y:n[0]=="bottom"?e.bottom:e.top};return i.x+=o.ownerDocument.defaultView.scrollX,i.y+=o.ownerDocument.defaultView.scrollY,i}function wI(o){return`ck-widget__resizer__handle-${o}`}function AI(o){const t=["top-left","top-right","bottom-right","bottom-left"];for(const e of t)if(o.classList.contains(wI(e)))return e}function CI(o){const t=o.split("-"),e={top:"bottom",bottom:"top",left:"right",right:"left"};return`${e[t[0]]}-${e[t[1]]}`}class _I extends G{constructor(){super();const t=this.bindTemplate;this.setTemplate({tag:"div",attributes:{class:["ck","ck-size-view",t.to("_viewPosition",e=>e?`ck-orientation-${e}`:"")],style:{display:t.if("_isVisible","none",e=>!e)}},children:[{text:t.to("_label")}]})}_bindToState(t,e){this.bind("_isVisible").to(e,"proposedWidth",e,"proposedHeight",(n,i)=>n!==null&&i!==null),this.bind("_label").to(e,"proposedHandleHostWidth",e,"proposedHandleHostHeight",e,"proposedWidthPercents",(n,i,r)=>t.unit==="px"?`${n}×${i}`:`${r}%`),this.bind("_viewPosition").to(e,"activeHandlePosition",e,"proposedHandleHostWidth",e,"proposedHandleHostHeight",(n,i,r)=>i<50||r<50?"above-center":n)}_dismiss(){this.unbind(),this._isVisible=!1}}class Hm extends st(){constructor(t){super(),this._viewResizerWrapper=null,this._options=t,this.set("isEnabled",!0),this.set("isSelected",!1),this.bind("isVisible").to(this,"isEnabled",this,"isSelected",(e,n)=>e&&n),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"})}get state(){return this._state}show(){this._options.editor.editing.view.change(e=>{e.removeClass("ck-hidden",this._viewResizerWrapper)})}hide(){this._options.editor.editing.view.change(e=>{e.addClass("ck-hidden",this._viewResizerWrapper)})}attach(){const t=this,e=this._options.viewElement;this._options.editor.editing.view.change(i=>{const r=i.createUIElement("div",{class:"ck ck-reset_all ck-widget__resizer"},function(s){const a=this.toDomElement(s);return t._appendHandles(a),t._appendSizeUI(a),a});i.insert(i.createPositionAt(e,"end"),r),i.addClass("ck-widget_with-resizer",e),this._viewResizerWrapper=r,this.isVisible||this.hide()}),this.on("change:isVisible",()=>{this.isVisible?(this.show(),this.redraw()):this.hide()})}begin(t){this._state=new pI(this._options),this._sizeView._bindToState(this._options,this.state),this._initialViewWidth=this._options.viewElement.getStyle("width"),this.state.begin(t,this._getHandleHost(),this._getResizeHost())}updateSize(t){const e=this._proposeNewSize(t);this._options.editor.editing.view.change(l=>{const d=this._options.unit||"%",u=(d==="%"?e.widthPercents:e.width)+d;l.setStyle("width",u,this._options.viewElement)});const i=this._getHandleHost(),r=new J(i),s=Math.round(r.width),a=Math.round(r.height),c=new J(i);e.width=Math.round(c.width),e.height=Math.round(c.height),this.redraw(r),this.state.update({...e,handleHostWidth:s,handleHostHeight:a})}commit(){const t=this._options.unit||"%",e=(t==="%"?this.state.proposedWidthPercents:this.state.proposedWidth)+t;this._options.editor.editing.view.change(()=>{this._cleanup(),this._options.onCommit(e)})}cancel(){this._cleanup()}destroy(){this.cancel()}redraw(t){const e=this._domResizerWrapper;if(!xI(e))return;const n=e.parentElement,i=this._getHandleHost(),r=this._viewResizerWrapper,s=[r.getStyle("width"),r.getStyle("height"),r.getStyle("left"),r.getStyle("top")];let a;if(n.isSameNode(i)){const c=t||new J(i);a=[c.width+"px",c.height+"px",void 0,void 0]}else a=[i.offsetWidth+"px",i.offsetHeight+"px",i.offsetLeft+"px",i.offsetTop+"px"];Ft(s,a)!=="same"&&this._options.editor.editing.view.change(c=>{c.setStyle({width:a[0],height:a[1],left:a[2],top:a[3]},r)})}containsHandle(t){return this._domResizerWrapper.contains(t)}static isResizeHandle(t){return t.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(t){const e=this.state,n=yI(t),i=this._options.isCentered?this._options.isCentered(this):!0,r={x:e._referenceCoordinates.x-(n.x+e.originalWidth),y:n.y-e.originalHeight-e._referenceCoordinates.y};i&&e.activeHandlePosition.endsWith("-right")&&(r.x=n.x-(e._referenceCoordinates.x+e.originalWidth)),i&&(r.x*=2);let s=Math.abs(e.originalWidth+r.x),a=Math.abs(e.originalHeight+r.y);return(s/e.aspectRatio>a?"width":"height")=="width"?a=s/e.aspectRatio:s=a*e.aspectRatio,{width:Math.round(s),height:Math.round(a),widthPercents:Math.min(Math.round(e.originalWidthPercents/e.originalWidth*s*100)/100,100)}}_getResizeHost(){const t=this._domResizerWrapper.parentElement;return this._options.getResizeHost(t)}_getHandleHost(){const t=this._domResizerWrapper.parentElement;return this._options.getHandleHost(t)}get _domResizerWrapper(){return this._options.editor.editing.view.domConverter.mapViewToDom(this._viewResizerWrapper)}_appendHandles(t){const e=["top-left","top-right","bottom-right","bottom-left"];for(const n of e)t.appendChild(new $t({tag:"div",attributes:{class:`ck-widget__resizer__handle ${vI(n)}`}}).render())}_appendSizeUI(t){this._sizeView=new _I,this._sizeView.render(),t.appendChild(this._sizeView.element)}}function vI(o){return`ck-widget__resizer__handle-${o}`}function yI(o){return{x:o.pageX,y:o.pageY}}function xI(o){return o&&o.ownerDocument&&o.ownerDocument.contains(o)}var Um=L(4875),Ba={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ba.insert="head",Ba.singleton=!0,R()(Um.Z,Ba),Um.Z.locals;class Na extends M{constructor(){super(...arguments),this._resizers=new Map}static get pluginName(){return"WidgetResize"}init(){const t=this.editor.editing,e=U.window.document;this.set("selectedResizer",null),this.set("_activeResizer",null),t.view.addObserver(Mi),this._observer=new(Xt()),this.listenTo(t.view.document,"mousedown",this._mouseDownListener.bind(this),{priority:"high"}),this._observer.listenTo(e,"mousemove",this._mouseMoveListener.bind(this)),this._observer.listenTo(e,"mouseup",this._mouseUpListener.bind(this)),this._redrawSelectedResizerThrottled=Po(()=>this.redrawSelectedResizer(),200),this.editor.ui.on("update",this._redrawSelectedResizerThrottled),this.editor.model.document.on("change",()=>{for(const[i,r]of this._resizers)i.isAttached()||(this._resizers.delete(i),r.destroy())},{priority:"lowest"}),this._observer.listenTo(U.window,"resize",this._redrawSelectedResizerThrottled);const n=this.editor.editing.view.document.selection;n.on("change",()=>{const i=n.getSelectedElement(),r=this.getResizerByViewElement(i)||null;r?this.select(r):this.deselect()})}redrawSelectedResizer(){this.selectedResizer&&this.selectedResizer.isVisible&&this.selectedResizer.redraw()}destroy(){super.destroy(),this._observer.stopListening();for(const t of this._resizers.values())t.destroy();this._redrawSelectedResizerThrottled.cancel()}select(t){this.deselect(),this.selectedResizer=t,this.selectedResizer.isSelected=!0}deselect(){this.selectedResizer&&(this.selectedResizer.isSelected=!1),this.selectedResizer=null}attachTo(t){const e=new Hm(t),n=this.editor.plugins;if(e.attach(),n.has("WidgetToolbarRepository")){const s=n.get("WidgetToolbarRepository");e.on("begin",()=>{s.forceDisabled("resize")},{priority:"lowest"}),e.on("cancel",()=>{s.clearForceDisabled("resize")},{priority:"highest"}),e.on("commit",()=>{s.clearForceDisabled("resize")},{priority:"highest"})}this._resizers.set(t.viewElement,e);const r=this.editor.editing.view.document.selection.getSelectedElement();return this.getResizerByViewElement(r)==e&&this.select(e),e}getResizerByViewElement(t){return this._resizers.get(t)}_getResizerByHandle(t){for(const e of this._resizers.values())if(e.containsHandle(t))return e}_mouseDownListener(t,e){const n=e.domTarget;Hm.isResizeHandle(n)&&(this._activeResizer=this._getResizerByHandle(n)||null,this._activeResizer&&(this._activeResizer.begin(n),t.stop(),e.preventDefault()))}_mouseMoveListener(t,e){this._activeResizer&&this._activeResizer.updateSize(e)}_mouseUpListener(){this._activeResizer&&(this._activeResizer.commit(),this._activeResizer=null)}}const za=uo("px");class EI extends G{constructor(){super();const t=this.bindTemplate;this.set({isVisible:!1,left:null,top:null,width:null}),this.setTemplate({tag:"div",attributes:{class:["ck","ck-clipboard-drop-target-line",t.if("isVisible","ck-hidden",e=>!e)],style:{left:t.to("left",e=>za(e)),top:t.to("top",e=>za(e)),width:t.to("width",e=>za(e))}}})}}class Zi extends M{constructor(){super(...arguments),this.removeDropMarkerDelayed=Rr(()=>this.removeDropMarker(),40),this._updateDropMarkerThrottled=Po(t=>this._updateDropMarker(t),40),this._reconvertMarkerThrottled=Po(()=>{this.editor.model.markers.has("drop-target")&&this.editor.editing.reconvertMarker("drop-target")},0),this._dropTargetLineView=new EI,this._domEmitter=new(Xt()),this._scrollables=new Map}static get pluginName(){return"DragDropTarget"}init(){this._setupDropMarker()}destroy(){this._domEmitter.stopListening();for(const{resizeObserver:t}of this._scrollables.values())t.destroy();return this._updateDropMarkerThrottled.cancel(),this.removeDropMarkerDelayed.cancel(),this._reconvertMarkerThrottled.cancel(),super.destroy()}updateDropMarker(t,e,n,i,r,s){this.removeDropMarkerDelayed.cancel();const a=Gm(this.editor,t,e,n,i,r,s);if(a){if(s&&s.containsRange(a))return this.removeDropMarker();this._updateDropMarkerThrottled(a)}}getFinalDropRange(t,e,n,i,r,s){const a=Gm(this.editor,t,e,n,i,r,s);return this.removeDropMarker(),a}removeDropMarker(){const t=this.editor.model;this.removeDropMarkerDelayed.cancel(),this._updateDropMarkerThrottled.cancel(),this._dropTargetLineView.isVisible=!1,t.markers.has("drop-target")&&t.change(e=>{e.removeMarker("drop-target")})}_setupDropMarker(){const t=this.editor;t.ui.view.body.add(this._dropTargetLineView),t.conversion.for("editingDowncast").markerToHighlight({model:"drop-target",view:{classes:["ck-clipboard-drop-target-range"]}}),t.conversion.for("editingDowncast").markerToElement({model:"drop-target",view:(e,{writer:n})=>{if(t.model.schema.checkChild(e.markerRange.start,"$text"))return this._dropTargetLineView.isVisible=!1,this._createDropTargetPosition(n);e.markerRange.isCollapsed?this._updateDropTargetLine(e.markerRange):this._dropTargetLineView.isVisible=!1}})}_updateDropMarker(t){const e=this.editor,n=e.model.markers;e.model.change(i=>{n.has("drop-target")?n.get("drop-target").getRange().isEqual(t)||i.updateMarker("drop-target",{range:t}):i.addMarker("drop-target",{range:t,usingOperation:!1,affectsData:!1})})}_createDropTargetPosition(t){return t.createUIElement("span",{class:"ck ck-clipboard-drop-target-position"},function(e){const n=this.toDomElement(e);return n.append("⁠",e.createElement("span"),"⁠"),n})}_updateDropTargetLine(t){const e=this.editor.editing,n=t.start.nodeBefore,i=t.start.nodeAfter,r=t.start.parent,s=n?e.mapper.toViewElement(n):null,a=s?e.view.domConverter.mapViewToDom(s):null,c=i?e.mapper.toViewElement(i):null,l=c?e.view.domConverter.mapViewToDom(c):null,d=e.mapper.toViewElement(r),u=e.view.domConverter.mapViewToDom(d),m=this._getScrollableRect(d),{scrollX:p,scrollY:b}=U.window,S=a?new J(a):null,B=l?new J(l):null,z=new J(u).excludeScrollbarsAndBorders(),V=S?S.bottom:z.top,X=B?B.top:z.bottom,at=U.window.getComputedStyle(u),ft=V<=X?(V+X)/2:X;if(m.topa.schema.checkChild(m,b))){if(a.schema.checkChild(m,"$text"))return a.createRange(m);if(u)return Ki(o,Wm(o,u.parent),n,i)}}}else if(a.schema.isInline(d))return Ki(o,d,n,i)}if(a.schema.isBlock(d))return Ki(o,d,n,i);if(a.schema.checkChild(d,"$block")){const u=Array.from(d.getChildren()).filter(b=>b.is("element")&&!DI(o,b));let m=0,p=u.length;if(p==0)return a.createRange(a.createPositionAt(d,"end"));for(;m{i?(this.forceDisabled("readOnlyMode"),this._isBlockDragging=!1):this.clearForceDisabled("readOnlyMode")}),g.isAndroid&&this.forceDisabled("noAndroidSupport"),t.plugins.has("BlockToolbar")){const n=t.plugins.get("BlockToolbar").buttonView.element;this._domEmitter.listenTo(n,"dragstart",(i,r)=>this._handleBlockDragStart(r)),this._domEmitter.listenTo(U.document,"dragover",(i,r)=>this._handleBlockDragging(r)),this._domEmitter.listenTo(U.document,"drop",(i,r)=>this._handleBlockDragging(r)),this._domEmitter.listenTo(U.document,"dragend",()=>this._handleBlockDragEnd(),{useCapture:!0}),this.isEnabled&&n.setAttribute("draggable","true"),this.on("change:isEnabled",(i,r,s)=>{n.setAttribute("draggable",s?"true":"false")})}}destroy(){return this._domEmitter.stopListening(),super.destroy()}_handleBlockDragStart(t){if(!this.isEnabled)return;const e=this.editor.model,n=e.document.selection,i=this.editor.editing.view,r=Array.from(n.getSelectedBlocks()),s=e.createRange(e.createPositionBefore(r[0]),e.createPositionAfter(r[r.length-1]));e.change(a=>a.setSelection(s)),this._isBlockDragging=!0,i.focus(),i.getObserver(Uo).onDomEvent(t)}_handleBlockDragging(t){if(!this.isEnabled||!this._isBlockDragging)return;const e=t.clientX+(this.editor.locale.contentLanguageDirection=="ltr"?100:-100),n=t.clientY,i=document.elementFromPoint(e,n),r=this.editor.editing.view;!i||!i.closest(".ck-editor__editable")||r.getObserver(Uo).onDomEvent({...t,type:t.type,dataTransfer:t.dataTransfer,target:i,clientX:e,clientY:n,preventDefault:()=>t.preventDefault(),stopPropagation:()=>t.stopPropagation()})}_handleBlockDragEnd(){this._isBlockDragging=!1}}var $m=L(799),Pa={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Pa.insert="head",Pa.singleton=!0,R()($m.Z,Pa),$m.Z.locals;class II extends M{constructor(){super(...arguments),this._clearDraggableAttributesDelayed=Rr(()=>this._clearDraggableAttributes(),40),this._blockMode=!1,this._domEmitter=new(Xt())}static get pluginName(){return"DragDrop"}static get requires(){return[De,$n,Zi,TI]}init(){const t=this.editor,e=t.editing.view;this._draggedRange=null,this._draggingUid="",this._draggableElement=null,e.addObserver(Uo),e.addObserver(Mi),this._setupDragging(),this._setupContentInsertionIntegration(),this._setupClipboardInputIntegration(),this._setupDraggableAttributeHandling(),this.listenTo(t,"change:isReadOnly",(n,i,r)=>{r?this.forceDisabled("readOnlyMode"):this.clearForceDisabled("readOnlyMode")}),this.on("change:isEnabled",(n,i,r)=>{r||this._finalizeDragging(!1)}),g.isAndroid&&this.forceDisabled("noAndroidSupport")}destroy(){return this._draggedRange&&(this._draggedRange.detach(),this._draggedRange=null),this._previewContainer&&this._previewContainer.remove(),this._domEmitter.stopListening(),this._clearDraggableAttributesDelayed.cancel(),super.destroy()}_setupDragging(){const t=this.editor,e=t.model,n=t.editing.view,i=n.document,r=t.plugins.get(Zi);this.listenTo(i,"dragstart",(s,a)=>{if(a.target&&a.target.is("editableElement")){a.preventDefault();return}if(this._prepareDraggedRange(a.target),!this._draggedRange){a.preventDefault();return}this._draggingUid=qt(),a.dataTransfer.effectAllowed=this.isEnabled?"copyMove":"copy",a.dataTransfer.setData("application/ckeditor5-dragging-uid",this._draggingUid);const c=e.createSelection(this._draggedRange.toRange());this.editor.plugins.get("ClipboardPipeline")._fireOutputTransformationEvent(a.dataTransfer,c,"dragstart");const{dataTransfer:d,domTarget:u,domEvent:m}=a,{clientX:p}=m;this._updatePreview({dataTransfer:d,domTarget:u,clientX:p}),a.stopPropagation(),this.isEnabled||(this._draggedRange.detach(),this._draggedRange=null,this._draggingUid="")},{priority:"low"}),this.listenTo(i,"dragend",(s,a)=>{this._finalizeDragging(!a.dataTransfer.isCanceled&&a.dataTransfer.dropEffect=="move")},{priority:"low"}),this._domEmitter.listenTo(U.document,"dragend",()=>{this._blockMode=!1},{useCapture:!0}),this.listenTo(i,"dragenter",()=>{this.isEnabled&&n.focus()}),this.listenTo(i,"dragleave",()=>{r.removeDropMarkerDelayed()}),this.listenTo(i,"dragging",(s,a)=>{if(!this.isEnabled){a.dataTransfer.dropEffect="none";return}const{clientX:c,clientY:l}=a.domEvent;r.updateDropMarker(a.target,a.targetRanges,c,l,this._blockMode,this._draggedRange),this._draggedRange||(a.dataTransfer.dropEffect="copy"),g.isGecko||(a.dataTransfer.effectAllowed=="copy"?a.dataTransfer.dropEffect="copy":["all","copyMove"].includes(a.dataTransfer.effectAllowed)&&(a.dataTransfer.dropEffect="move")),s.stop()},{priority:"low"})}_setupClipboardInputIntegration(){const t=this.editor,n=t.editing.view.document,i=t.plugins.get(Zi);this.listenTo(n,"clipboardInput",(r,s)=>{if(s.method!="drop")return;const{clientX:a,clientY:c}=s.domEvent,l=i.getFinalDropRange(s.target,s.targetRanges,a,c,this._blockMode,this._draggedRange);if(!l){this._finalizeDragging(!1),r.stop();return}if(this._draggedRange&&this._draggingUid!=s.dataTransfer.getData("application/ckeditor5-dragging-uid")&&(this._draggedRange.detach(),this._draggedRange=null,this._draggingUid=""),Zm(s.dataTransfer)=="move"&&this._draggedRange&&this._draggedRange.containsRange(l,!0)){this._finalizeDragging(!1),r.stop();return}s.targetRanges=[t.editing.mapper.toViewRange(l)]},{priority:"high"})}_setupContentInsertionIntegration(){const t=this.editor.plugins.get(De);t.on("contentInsertion",(e,n)=>{if(!this.isEnabled||n.method!=="drop")return;const i=n.targetRanges.map(r=>this.editor.editing.mapper.toModelRange(r));this.editor.model.change(r=>r.setSelection(i))},{priority:"high"}),t.on("contentInsertion",(e,n)=>{if(!this.isEnabled||n.method!=="drop")return;const i=Zm(n.dataTransfer)=="move",r=!n.resultRange||!n.resultRange.isCollapsed;this._finalizeDragging(r&&i)},{priority:"lowest"})}_setupDraggableAttributeHandling(){const t=this.editor,e=t.editing.view,n=e.document;this.listenTo(n,"mousedown",(i,r)=>{if(g.isAndroid||!r)return;this._clearDraggableAttributesDelayed.cancel();let s=Km(r.target);if(g.isBlink&&!t.isReadOnly&&!s&&!n.selection.isCollapsed){const a=n.selection.getSelectedElement();(!a||!Nt(a))&&(s=n.selection.editableElement)}s&&(e.change(a=>{a.setAttribute("draggable","true",s)}),this._draggableElement=t.editing.mapper.toModelElement(s))}),this.listenTo(n,"mouseup",()=>{g.isAndroid||this._clearDraggableAttributesDelayed()})}_clearDraggableAttributes(){const t=this.editor.editing;t.view.change(e=>{this._draggableElement&&this._draggableElement.root.rootName!="$graveyard"&&e.removeAttribute("draggable",t.mapper.toViewElement(this._draggableElement)),this._draggableElement=null})}_finalizeDragging(t){const e=this.editor,n=e.model;e.plugins.get(Zi).removeDropMarker(),this._clearDraggableAttributes(),e.plugins.has("WidgetToolbarRepository")&&e.plugins.get("WidgetToolbarRepository").clearForceDisabled("dragDrop"),this._draggingUid="",this._previewContainer&&(this._previewContainer.remove(),this._previewContainer=void 0),this._draggedRange&&(t&&this.isEnabled&&n.change(r=>{const s=n.createSelection(this._draggedRange);n.deleteContent(s,{doNotAutoparagraph:!0});const a=s.getFirstPosition().parent;a.isEmpty&&!n.schema.checkChild(a,"$text")&&n.schema.checkChild(a,"paragraph")&&r.insertElement("paragraph",a,0)}),this._draggedRange.detach(),this._draggedRange=null)}_prepareDraggedRange(t){const e=this.editor,n=e.model,i=n.document.selection,r=t?Km(t):null;if(r){const l=e.editing.mapper.toModelElement(r);this._draggedRange=Zt.fromRange(n.createRangeOn(l)),this._blockMode=n.schema.isBlock(l),e.plugins.has("WidgetToolbarRepository")&&e.plugins.get("WidgetToolbarRepository").forceDisabled("dragDrop");return}if(i.isCollapsed&&!i.getFirstPosition().parent.isEmpty)return;const s=Array.from(i.getSelectedBlocks()),a=i.getFirstRange();if(s.length==0){this._draggedRange=Zt.fromRange(a);return}const c=Ym(n,s);if(s.length>1)this._draggedRange=Zt.fromRange(c),this._blockMode=!0;else if(s.length==1){const l=a.start.isTouching(c.start)&&a.end.isTouching(c.end);this._draggedRange=Zt.fromRange(l?c:a),this._blockMode=l}n.change(l=>l.setSelection(this._draggedRange.toRange()))}_updatePreview({dataTransfer:t,domTarget:e,clientX:n}){const i=this.editor.editing.view,r=i.document.selection.editableElement,s=i.domConverter.mapViewToDom(r),a=U.window.getComputedStyle(s);this._previewContainer?this._previewContainer.firstElementChild&&this._previewContainer.removeChild(this._previewContainer.firstElementChild):(this._previewContainer=no(U.document,"div",{style:"position: fixed; left: -999999px;"}),U.document.body.appendChild(this._previewContainer));const c=new J(s);if(s.contains(e))return;const l=parseFloat(a.paddingLeft),d=no(U.document,"div");d.className="ck ck-content",d.style.width=a.width,d.style.paddingLeft=`${c.left-n+l}px`,g.isiOS&&(d.style.backgroundColor="white"),d.innerHTML=t.getData("text/html"),t.setDragImage(d,0,0),this._previewContainer.appendChild(d)}}function Zm(o){return g.isGecko?o.dropEffect:["all","copyMove"].includes(o.effectAllowed)?"move":"copy"}function Km(o){if(o.is("editableElement"))return null;if(o.hasClass("ck-widget__selection-handle"))return o.findAncestor(Nt);if(Nt(o))return o;const t=o.findAncestor(e=>Nt(e)||e.is("editableElement"));return Nt(t)?t:null}function Ym(o,t){const e=t[0],n=t[t.length-1],i=e.getCommonAncestor(n),r=o.createPositionBefore(e),s=o.createPositionAfter(n);if(i&&i.is("element")&&!o.schema.isLimit(i)){const a=o.createRangeOn(i),c=r.isTouching(a.start),l=s.isTouching(a.end);if(c&&l)return Ym(o,[i])}return o.createRange(r,s)}class MI extends M{static get pluginName(){return"PastePlainText"}static get requires(){return[De]}init(){const t=this.editor,e=t.model,n=t.editing.view,i=n.document,r=e.document.selection;let s=!1;n.addObserver(Uo),this.listenTo(i,"keydown",(a,c)=>{s=c.shiftKey}),t.plugins.get(De).on("contentInsertion",(a,c)=>{!s&&!BI(c.content,e.schema)||e.change(l=>{const d=Array.from(r.getAttributes()).filter(([m])=>e.schema.getAttributeProperties(m).isFormatting);r.isCollapsed||e.deleteContent(r,{doNotAutoparagraph:!0}),d.push(...r.getAttributes());const u=l.createRangeIn(c.content);for(const m of u.getItems())m.is("$textProxy")&&l.setAttributes(d,m)})})}}function BI(o,t){if(o.childCount>1)return!1;const e=o.getChild(0);return t.isObject(e)?!1:Array.from(e.getAttributeKeys()).length==0}class La extends M{static get pluginName(){return"Clipboard"}static get requires(){return[De,II,MI]}}class NI extends Q{constructor(t){super(t),this.affectsData=!1}execute(){const t=this.editor.model,e=t.document.selection;let n=t.schema.getLimitElement(e);if(e.containsEntireContent(n)||!Qm(t.schema,n))do if(n=n.parent,!n)return;while(!Qm(t.schema,n));t.change(i=>{i.setSelection(n,"in")})}}function Qm(o,t){return o.isLimit(t)&&(o.checkChild(t,"$text")||o.checkChild(t,"paragraph"))}const zI=go("Ctrl+A");class PI extends M{static get pluginName(){return"SelectAllEditing"}init(){const t=this.editor,n=t.editing.view.document;t.commands.add("selectAll",new NI(t)),this.listenTo(n,"keydown",(i,r)=>{In(r)===zI&&(t.execute("selectAll"),r.preventDefault())})}}const LI='';class OI extends M{static get pluginName(){return"SelectAllUI"}init(){const t=this.editor;t.ui.componentFactory.add("selectAll",e=>{const n=t.commands.get("selectAll"),i=new et(e),r=e.t;return i.set({label:r("Select all"),icon:LI,keystroke:"Ctrl+A",tooltip:!0}),i.bind("isEnabled").to(n,"isEnabled"),this.listenTo(i,"execute",()=>{t.execute("selectAll"),t.editing.view.focus()}),i})}}class RI extends M{static get requires(){return[PI,OI]}static get pluginName(){return"SelectAll"}}class Jm extends Q{constructor(t){super(t),this._stack=[],this._createdBatches=new WeakSet,this.refresh(),this._isEnabledBasedOnSelection=!1,this.listenTo(t.data,"set",(e,n)=>{n[1]={...n[1]};const i=n[1];i.batchType||(i.batchType={isUndoable:!1})},{priority:"high"}),this.listenTo(t.data,"set",(e,n)=>{n[1].batchType.isUndoable||this.clearStack()})}refresh(){this.isEnabled=this._stack.length>0}get createdBatches(){return this._createdBatches}addBatch(t){const e=this.editor.model.document.selection,n={ranges:e.hasOwnRange?Array.from(e.getRanges()):[],isBackward:e.isBackward};this._stack.push({batch:t,selection:n}),this.refresh()}clearStack(){this._stack=[],this.refresh()}_restoreSelection(t,e,n){const i=this.editor.model,r=i.document,s=[],a=t.map(l=>l.getTransformedByOperations(n)),c=a.flat();for(const l of a){const d=l.filter(u=>u.root!=r.graveyard).filter(u=>!FI(u,c));d.length&&(jI(d),s.push(d[0]))}s.length&&i.change(l=>{l.setSelection(s,{backward:e})})}_undo(t,e){const n=this.editor.model,i=n.document;this._createdBatches.add(e);const r=t.operations.slice().filter(s=>s.isDocumentOperation);r.reverse();for(const s of r){const a=s.baseVersion+1,c=Array.from(i.history.getOperations(a)),d=ED([s.getReversed()],c,{useRelations:!0,document:this.editor.model.document,padWithNoOps:!1,forceWeakRemove:!0}).operationsA;for(let u of d){const m=u.affectedSelectable;m&&!n.canEditAt(m)&&(u=new It(u.baseVersion)),e.addOperation(u),n.applyOperation(u),i.history.setOperationAsUndone(s,u)}}}}function jI(o){o.sort((t,e)=>t.start.isBefore(e.start)?-1:1);for(let t=1;te!==o&&e.containsRange(o,!0))}class VI extends Jm{execute(t=null){const e=t?this._stack.findIndex(r=>r.batch==t):this._stack.length-1,n=this._stack.splice(e,1)[0],i=this.editor.model.createBatch({isUndo:!0});this.editor.model.enqueueChange(i,()=>{this._undo(n.batch,i);const r=this.editor.model.document.history.getOperations(n.batch.baseVersion);this._restoreSelection(n.selection.ranges,n.selection.isBackward,r)}),this.fire("revert",n.batch,i),this.refresh()}}class HI extends Jm{execute(){const t=this._stack.pop(),e=this.editor.model.createBatch({isUndo:!0});this.editor.model.enqueueChange(e,()=>{const i=t.batch.operations[t.batch.operations.length-1].baseVersion+1,r=this.editor.model.document.history.getOperations(i);this._restoreSelection(t.selection.ranges,t.selection.isBackward,r),this._undo(t.batch,e)}),this.refresh()}}class UI extends M{constructor(){super(...arguments),this._batchRegistry=new WeakSet}static get pluginName(){return"UndoEditing"}init(){const t=this.editor;this._undoCommand=new VI(t),this._redoCommand=new HI(t),t.commands.add("undo",this._undoCommand),t.commands.add("redo",this._redoCommand),this.listenTo(t.model,"applyOperation",(e,n)=>{const i=n[0];if(!i.isDocumentOperation)return;const r=i.batch,s=this._redoCommand.createdBatches.has(r),a=this._undoCommand.createdBatches.has(r);this._batchRegistry.has(r)||(this._batchRegistry.add(r),r.isUndoable&&(s?this._undoCommand.addBatch(r):a||(this._undoCommand.addBatch(r),this._redoCommand.clearStack())))},{priority:"highest"}),this.listenTo(this._undoCommand,"revert",(e,n,i)=>{this._redoCommand.addBatch(i)}),t.keystrokes.set("CTRL+Z","undo"),t.keystrokes.set("CTRL+Y","redo"),t.keystrokes.set("CTRL+SHIFT+Z","redo")}}const Xm='',tf='';class GI extends M{static get pluginName(){return"UndoUI"}init(){const t=this.editor,e=t.locale,n=t.t,i=e.uiLanguageDirection=="ltr"?Xm:tf,r=e.uiLanguageDirection=="ltr"?tf:Xm;this._addButton("undo",n("Undo"),"CTRL+Z",i),this._addButton("redo",n("Redo"),"CTRL+Y",r)}_addButton(t,e,n,i){const r=this.editor;r.ui.componentFactory.add(t,s=>{const a=r.commands.get(t),c=new et(s);return c.set({label:e,icon:i,keystroke:n,tooltip:!0}),c.bind("isEnabled").to(a,"isEnabled"),this.listenTo(c,"execute",()=>{r.execute(t),r.editing.view.focus()}),c})}}class Yi extends M{static get requires(){return[UI,GI]}static get pluginName(){return"Undo"}}class qI extends M{static get requires(){return[La,Ho,RI,yT,eT,Yi]}static get pluginName(){return"Essentials"}}class WI extends Q{constructor(t,e){super(t),this.attributeKey=e}refresh(){const t=this.editor.model,e=t.document;this.value=e.selection.getAttribute(this.attributeKey),this.isEnabled=t.schema.checkAttributeInSelection(e.selection,this.attributeKey)}execute(t={}){const e=this.editor.model,i=e.document.selection,r=t.value,s=t.batch,a=c=>{if(i.isCollapsed)r?c.setSelectionAttribute(this.attributeKey,r):c.removeSelectionAttribute(this.attributeKey);else{const l=e.schema.getValidRanges(i.getRanges(),this.attributeKey);for(const d of l)r?c.setAttribute(this.attributeKey,r,d):c.removeAttribute(this.attributeKey,d)}};s?e.enqueueChange(s,c=>{a(c)}):e.change(c=>{a(c)})}}const Se="fontColor";function $I(o){return t=>YI(t.getStyle(o))}function ZI(o){return(t,{writer:e})=>e.createAttributeElement("span",{style:`${o}:${t}`},{priority:7})}function KI({dropdownView:o,colors:t,columns:e,removeButtonLabel:n,colorPickerLabel:i,documentColorsLabel:r,documentColorsCount:s,colorPickerViewConfig:a}){const c=o.locale,l=new oS(c,{colors:t,columns:e,removeButtonLabel:n,colorPickerLabel:i,documentColorsLabel:r,documentColorsCount:s,colorPickerViewConfig:a});return o.colorSelectorView=l,o.panelView.children.add(l),l}function YI(o){return o.replace(/\s/g,"")}var ef=L(5991),Oa={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Oa.insert="head",Oa.singleton=!0,R()(ef.Z,Oa),ef.Z.locals;class QI extends WI{constructor(t){super(t,Se)}}class JI extends M{static get pluginName(){return"FontColorEditing"}constructor(t){super(t),t.config.define(Se,{colors:[{color:"hsl(0, 0%, 0%)",label:"Black"},{color:"hsl(0, 0%, 30%)",label:"Dim grey"},{color:"hsl(0, 0%, 60%)",label:"Grey"},{color:"hsl(0, 0%, 90%)",label:"Light grey"},{color:"hsl(0, 0%, 100%)",label:"White",hasBorder:!0},{color:"hsl(0, 75%, 60%)",label:"Red"},{color:"hsl(30, 75%, 60%)",label:"Orange"},{color:"hsl(60, 75%, 60%)",label:"Yellow"},{color:"hsl(90, 75%, 60%)",label:"Light green"},{color:"hsl(120, 75%, 60%)",label:"Green"},{color:"hsl(150, 75%, 60%)",label:"Aquamarine"},{color:"hsl(180, 75%, 60%)",label:"Turquoise"},{color:"hsl(210, 75%, 60%)",label:"Light blue"},{color:"hsl(240, 75%, 60%)",label:"Blue"},{color:"hsl(270, 75%, 60%)",label:"Purple"}],columns:5}),t.conversion.for("upcast").elementToAttribute({view:{name:"span",styles:{color:/[\s\S]+/}},model:{key:Se,value:$I("color")}}),t.conversion.for("upcast").elementToAttribute({view:{name:"font",attributes:{color:/^#?\w+$/}},model:{key:Se,value:e=>e.getAttribute("color")}}),t.conversion.for("downcast").attributeToElement({model:Se,view:ZI("color")}),t.commands.add(Se,new QI(t)),t.model.schema.extend("$text",{allowAttributes:Se}),t.model.schema.setAttributeProperties(Se,{isFormatting:!0,copyOnEnter:!0})}}class XI extends M{constructor(t,{commandName:e,componentName:n,icon:i,dropdownLabel:r}){super(t),this.commandName=e,this.componentName=n,this.icon=i,this.dropdownLabel=r,this.columns=t.config.get(`${this.componentName}.columns`),this.colorSelectorView=void 0}init(){const t=this.editor,e=t.locale,n=e.t,i=t.commands.get(this.commandName),r=t.config.get(this.componentName),s=Jv(r.colors),a=Qv(e,s),c=r.documentColors,l=r.colorPicker!==!1;t.ui.componentFactory.add(this.componentName,d=>{const u=de(d);let m=!1;return this.colorSelectorView=KI({dropdownView:u,colors:a.map(p=>({label:p.label,color:p.model,options:{hasBorder:p.hasBorder}})),columns:this.columns,removeButtonLabel:n("Remove color"),colorPickerLabel:n("Color picker"),documentColorsLabel:c!==0?n("Document colors"):"",documentColorsCount:c===void 0?this.columns:c,colorPickerViewConfig:l?r.colorPicker||{}:!1}),this.colorSelectorView.bind("selectedColor").to(i,"value"),u.buttonView.set({label:this.dropdownLabel,icon:this.icon,tooltip:!0}),u.extendTemplate({attributes:{class:"ck-color-ui-dropdown"}}),u.bind("isEnabled").to(i),this.colorSelectorView.on("execute",(p,b)=>{u.isOpen&&t.execute(this.commandName,{value:b.value,batch:this._undoStepBatch}),b.source!=="colorPicker"&&t.editing.view.focus(),b.source==="colorPickerSaveButton"&&(u.isOpen=!1)}),this.colorSelectorView.on("colorPicker:show",()=>{this._undoStepBatch=t.model.createBatch()}),this.colorSelectorView.on("colorPicker:cancel",()=>{this._undoStepBatch.operations.length&&(u.isOpen=!1,t.execute("undo",this._undoStepBatch)),t.editing.view.focus()}),u.on("change:isOpen",(p,b,S)=>{m||(m=!0,u.colorSelectorView.appendUI()),S&&(c!==0&&this.colorSelectorView.updateDocumentColors(t.model,this.componentName),this.colorSelectorView.updateSelectedColors(),this.colorSelectorView.showColorGridsFragment())}),qs(u,()=>u.colorSelectorView.colorGridsFragmentView.staticColorsGrid.items.find(p=>p.isOn)),u})}}const tM='';class eM extends XI{constructor(t){const e=t.locale.t;super(t,{commandName:Se,componentName:Se,icon:tM,dropdownLabel:e("Font Color")})}static get pluginName(){return"FontColorUI"}}class nM extends M{static get requires(){return[JI,eM]}static get pluginName(){return"FontColor"}}class oM extends Q{constructor(t){super(t),this._isEnabledBasedOnSelection=!1}refresh(){const t=this.editor.model,e=t.document,n=Tt(e.selection.getSelectedBlocks());this.value=!!n&&n.is("element","paragraph"),this.isEnabled=!!n&&nf(n,t.schema)}execute(t={}){const e=this.editor.model,n=e.document,i=t.selection||n.selection;e.canEditAt(i)&&e.change(r=>{const s=i.getSelectedBlocks();for(const a of s)!a.is("element","paragraph")&&nf(a,e.schema)&&r.rename(a,"paragraph")})}}function nf(o,t){return t.checkChild(o.parent,"paragraph")&&!t.isObject(o)}class iM extends Q{constructor(t){super(t),this._isEnabledBasedOnSelection=!1}execute(t){const e=this.editor.model,n=t.attributes;let i=t.position;e.canEditAt(i)&&e.change(r=>{if(i=this._findPositionToInsertParagraph(i,r),!i)return;const s=r.createElement("paragraph");n&&e.schema.setAllowedAttributes(s,n,r),e.insertContent(s,i),r.setSelection(s,"in")})}_findPositionToInsertParagraph(t,e){const n=this.editor.model;if(n.schema.checkChild(t,"paragraph"))return t;const i=n.schema.findAllowedParent(t,"paragraph");if(!i)return null;const r=t.parent,s=n.schema.checkChild(r,"$text");return r.isEmpty||s&&t.isAtEnd?n.createPositionAfter(r):!r.isEmpty&&s&&t.isAtStart?n.createPositionBefore(r):e.split(t,i).position}}class qo extends M{static get pluginName(){return"Paragraph"}init(){const t=this.editor,e=t.model;t.commands.add("paragraph",new oM(t)),t.commands.add("insertParagraph",new iM(t)),e.schema.register("paragraph",{inheritAllFrom:"$block"}),t.conversion.elementToElement({model:"paragraph",view:"p"}),t.conversion.for("upcast").elementToElement({model:(n,{writer:i})=>!qo.paragraphLikeElements.has(n.name)||n.isEmpty?null:i.createElement("paragraph"),view:/.+/,converterPriority:"low"})}}qo.paragraphLikeElements=new Set(["blockquote","dd","div","dt","h1","h2","h3","h4","h5","h6","li","p","td","th"]);class rM extends Q{constructor(t,e){super(t),this.modelElements=e}refresh(){const t=Tt(this.editor.model.document.selection.getSelectedBlocks());this.value=!!t&&this.modelElements.includes(t.name)&&t.name,this.isEnabled=!!t&&this.modelElements.some(e=>of(t,e,this.editor.model.schema))}execute(t){const e=this.editor.model,n=e.document,i=t.value;e.change(r=>{const s=Array.from(n.selection.getSelectedBlocks()).filter(a=>of(a,i,e.schema));for(const a of s)a.is("element",i)||r.rename(a,i)})}}function of(o,t,e){return e.checkChild(o.parent,t)&&!e.isObject(o)}const rf="paragraph";class sM extends M{static get pluginName(){return"HeadingEditing"}constructor(t){super(t),t.config.define("heading",{options:[{model:"paragraph",title:"Paragraph",class:"ck-heading_paragraph"},{model:"heading1",view:"h2",title:"Heading 1",class:"ck-heading_heading1"},{model:"heading2",view:"h3",title:"Heading 2",class:"ck-heading_heading2"},{model:"heading3",view:"h4",title:"Heading 3",class:"ck-heading_heading3"}]})}static get requires(){return[qo]}init(){const t=this.editor,e=t.config.get("heading.options"),n=[];for(const i of e)i.model!=="paragraph"&&(t.model.schema.register(i.model,{inheritAllFrom:"$block"}),t.conversion.elementToElement(i),n.push(i.model));this._addDefaultH1Conversion(t),t.commands.add("heading",new rM(t,n))}afterInit(){const t=this.editor,e=t.commands.get("enter"),n=t.config.get("heading.options");e&&this.listenTo(e,"afterExecute",(i,r)=>{const s=t.model.document.selection.getFirstPosition().parent;n.some(c=>s.is("element",c.model))&&!s.is("element",rf)&&s.childCount===0&&r.writer.rename(s,rf)})}_addDefaultH1Conversion(t){t.conversion.for("upcast").elementToElement({model:"heading1",view:"h1",converterPriority:Qt.low+1})}}function aM(o){const t=o.t,e={Paragraph:t("Paragraph"),"Heading 1":t("Heading 1"),"Heading 2":t("Heading 2"),"Heading 3":t("Heading 3"),"Heading 4":t("Heading 4"),"Heading 5":t("Heading 5"),"Heading 6":t("Heading 6")};return o.config.get("heading.options").map(n=>{const i=e[n.title];return i&&i!=n.title&&(n.title=i),n})}var sf=L(4249),Ra={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ra.insert="head",Ra.singleton=!0,R()(sf.Z,Ra),sf.Z.locals;class cM extends M{static get pluginName(){return"HeadingUI"}init(){const t=this.editor,e=t.t,n=aM(t),i=e("Choose heading"),r=e("Heading");t.ui.componentFactory.add("heading",s=>{const a={},c=new te,l=t.commands.get("heading"),d=t.commands.get("paragraph"),u=[l];for(const p of n){const b={type:"button",model:new la({label:p.title,class:p.class,role:"menuitemradio",withText:!0})};p.model==="paragraph"?(b.model.bind("isOn").to(d,"value"),b.model.set("commandName","paragraph"),u.push(d)):(b.model.bind("isOn").to(l,"value",S=>S===p.model),b.model.set({commandName:"heading",commandValue:p.model})),c.add(b),a[p.model]=p.title}const m=de(s);return Gs(m,c,{ariaLabel:r,role:"menu"}),m.buttonView.set({ariaLabel:r,ariaLabelledBy:void 0,isOn:!1,withText:!0,tooltip:r}),m.extendTemplate({attributes:{class:["ck-heading-dropdown"]}}),m.bind("isEnabled").toMany(u,"isEnabled",(...p)=>p.some(b=>b)),m.buttonView.bind("label").to(l,"value",d,"value",(p,b)=>{const S=p||b&&"paragraph";return typeof S=="boolean"||!a[S]?i:a[S]}),this.listenTo(m,"execute",p=>{const{commandName:b,commandValue:S}=p.source;t.execute(b,S?{value:S}:void 0),t.editing.view.focus()}),m})}}class lM extends M{static get requires(){return[sM,cM]}static get pluginName(){return"Heading"}}function dM(o,t,e,n){var i=-1,r=o==null?0:o.length;for(n&&r&&(e=o[++i]);++i=n?o:Au(o,t,e)}const lB=cB;var dB="\\ud800-\\udfff",uB="\\u0300-\\u036f",hB="\\ufe20-\\ufe2f",gB="\\u20d0-\\u20ff",mB=uB+hB+gB,fB="\\ufe0e\\ufe0f",pB="\\u200d",kB=RegExp("["+pB+dB+mB+fB+"]");function bB(o){return kB.test(o)}const yf=bB;function wB(o){return o.split("")}const AB=wB;var xf="\\ud800-\\udfff",CB="\\u0300-\\u036f",_B="\\ufe20-\\ufe2f",vB="\\u20d0-\\u20ff",yB=CB+_B+vB,xB="\\ufe0e\\ufe0f",EB="["+xf+"]",ja="["+yB+"]",Fa="\\ud83c[\\udffb-\\udfff]",DB="(?:"+ja+"|"+Fa+")",Ef="[^"+xf+"]",Df="(?:\\ud83c[\\udde6-\\uddff]){2}",Sf="[\\ud800-\\udbff][\\udc00-\\udfff]",SB="\\u200d",Tf=DB+"?",If="["+xB+"]?",TB="(?:"+SB+"(?:"+[Ef,Df,Sf].join("|")+")"+If+Tf+")*",IB=If+Tf+TB,MB="(?:"+[Ef+ja+"?",ja,Df,Sf,EB].join("|")+")",BB=RegExp(Fa+"(?="+Fa+")|"+MB+IB,"g");function NB(o){return o.match(BB)||[]}const zB=NB;function PB(o){return yf(o)?zB(o):AB(o)}const LB=PB;function OB(o){return function(t){t=ko(t);var e=yf(t)?LB(t):void 0,n=e?e[0]:t.charAt(0),i=e?lB(e,1).join(""):t.slice(1);return n[o]()+i}}var RB=OB("toUpperCase");const Mf=RB;var jB=aB(function(o,t,e){return o+(e?" ":"")+Mf(t)});const FB=jB;function fn(o,t,e,n){t&&VB(o,t,n),e&&Te(o,e,n)}function Te(o,t,e){if(t.attributes)for(const[n,i]of Object.entries(t.attributes))o.setAttribute(n,i,e);t.styles&&o.setStyle(t.styles,e),t.classes&&o.addClass(t.classes,e)}function VB(o,t,e){if(t.attributes)for(const[n]of Object.entries(t.attributes))o.removeAttribute(n,e);if(t.styles)for(const n of Object.keys(t.styles))o.removeStyle(n,e);t.classes&&o.removeClass(t.classes,e)}function HB(o,t){const e=Pe(o);let n="attributes";for(n in t)n=="classes"?e[n]=Array.from(new Set([...o[n]||[],...t[n]])):e[n]={...o[n],...t[n]};return e}function Kn(o,t,e,n,i){const r=t.getAttribute(e),s={};for(const a of["attributes","styles","classes"]){if(a!=n){r&&r[a]&&(s[a]=r[a]);continue}if(n=="classes"){const l=new Set(r&&r.classes||[]);i(l),l.size&&(s[a]=Array.from(l));continue}const c=new Map(Object.entries(r&&r[a]||{}));i(c),c.size&&(s[a]=Object.fromEntries(c))}Object.keys(s).length?t.is("documentSelection")?o.setSelectionAttribute(e,s):o.setAttribute(e,s,t):r&&(t.is("documentSelection")?o.removeSelectionAttribute(e):o.removeAttribute(e,t))}function UB(o){return FB(o).replace(/ /g,"")}function he(o){return`html${UB(o)}Attributes`}function Va({model:o}){return(t,e)=>e.writer.createElement(o,{htmlContent:t.getCustomProperty("$rawContent")})}function GB(o,{view:t,isInline:e}){const n=o.t;return(i,{writer:r})=>{const s=n("HTML object"),a=Qi(t,i,r),c=i.getAttribute(he(t));r.addClass("html-object-embed__content",a),c&&Te(r,c,a);const l=r.createContainerElement(e?"span":"div",{class:"html-object-embed","data-html-object-embed-label":s},a);return Go(l,r,{label:s})}}function Qi(o,t,e){return e.createRawElement(o,null,(n,i)=>{i.setContentOf(n,t.getAttribute("htmlContent"))})}function qB({view:o,model:t,allowEmpty:e},n){return r=>{r.on(`element:${o}`,(s,a,c)=>{let l=n.processViewAttributes(a.viewItem,c);if(!(!l&&!c.consumable.test(a.viewItem,{name:!0}))){if(l=l||{},c.consumable.consume(a.viewItem,{name:!0}),a.modelRange||(a=Object.assign(a,c.convertChildren(a.viewItem,a.modelCursor))),e&&a.modelRange.isCollapsed&&Object.keys(l).length){const d=c.writer.createElement("htmlEmptyElement");if(!c.safeInsert(d,a.modelCursor))return;const u=c.getSplitParts(d);a.modelRange=c.writer.createRange(a.modelRange.start,c.writer.createPositionAfter(u[u.length-1])),c.updateConversionResult(d,a),i(d,l,c);return}for(const d of a.modelRange.getItems())i(d,l,c)}},{priority:"low"})};function i(r,s,a){if(a.schema.checkAttribute(r,t)){const c=r.getAttribute(t),l=HB(s,c||{});a.writer.setAttribute(t,l,r)}}}function Bf({model:o,view:t},e){return(n,{writer:i,consumable:r})=>{if(!n.hasAttribute(o))return null;const s=i.createContainerElement(t),a=n.getAttribute(o);return r.consume(n,`attribute:${o}`),Te(i,a,s),s.getFillerOffset=()=>null,e?Go(s,i):s}}function WB({priority:o,view:t}){return(e,n)=>{if(!e)return;const{writer:i}=n,r=i.createAttributeElement(t,null,{priority:o});return Te(i,e,r),r}}function Wo({view:o},t){return e=>{e.on(`element:${o}`,(n,i,r)=>{if(!i.modelRange||i.modelRange.isCollapsed)return;const s=t.processViewAttributes(i.viewItem,r);s&&r.writer.setAttribute(he(i.viewItem.name),s,i.modelRange)},{priority:"low"})}}function $o({view:o,model:t}){return e=>{e.on(`attribute:${he(o)}:${t}`,(n,i,r)=>{if(!r.consumable.consume(i.item,n.name))return;const{attributeOldValue:s,attributeNewValue:a}=i,c=r.writer,l=r.mapper.toViewElement(i.item);fn(c,s,a,l)})}}const Nf={block:[{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:"tableColumnGroup",view:"colgroup"},{model:"tableColumn",view:"col"},{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:!1}},{model:"htmlThead",view:"thead",modelSchema:{allowIn:"htmlTable",isBlock:!1}},{model:"htmlTfoot",view:"tfoot",modelSchema:{allowIn:"htmlTable",isBlock:!1}},{model:"htmlCaption",view:"caption",modelSchema:{allowIn:"htmlTable",allowChildren:"$text",isBlock:!1}},{model:"htmlColgroup",view:"colgroup",modelSchema:{allowIn:"htmlTable",allowChildren:"col",isBlock:!1}},{model:"htmlCol",view:"col",modelSchema:{allowIn:"htmlColgroup",isBlock:!1}},{model:"htmlTr",view:"tr",modelSchema:{allowIn:["htmlTable","htmlThead","htmlTbody"],isLimit:!0}},{model:"htmlTd",view:"td",modelSchema:{allowIn:"htmlTr",allowContentOf:"$container",isLimit:!0,isBlock:!1}},{model:"htmlTh",view:"th",modelSchema:{allowIn:"htmlTr",allowContentOf:"$container",isLimit:!0,isBlock:!1}},{model:"htmlFigure",view:"figure",modelSchema:{inheritAllFrom:"$container",isBlock:!1}},{model:"htmlFigcaption",view:"figcaption",modelSchema:{allowIn:"htmlFigure",allowChildren:"$text",isBlock:!1}},{model:"htmlAddress",view:"address",modelSchema:{inheritAllFrom:"$container",isBlock:!1}},{model:"htmlAside",view:"aside",modelSchema:{inheritAllFrom:"$container",isBlock:!1}},{model:"htmlMain",view:"main",modelSchema:{inheritAllFrom:"$container",isBlock:!1}},{model:"htmlDetails",view:"details",modelSchema:{inheritAllFrom:"$container",isBlock:!1}},{model:"htmlSummary",view:"summary",modelSchema:{allowChildren:"$text",allowIn:"htmlDetails",isBlock:!1}},{model:"htmlDiv",view:"div",paragraphLikeModel:"htmlDivParagraph",modelSchema:{inheritAllFrom:"$container"}},{model:"htmlFieldset",view:"fieldset",modelSchema:{inheritAllFrom:"$container",isBlock:!1}},{model:"htmlLegend",view:"legend",modelSchema:{allowIn:"htmlFieldset",allowChildren:"$text"}},{model:"htmlHeader",view:"header",modelSchema:{inheritAllFrom:"$container",isBlock:!1}},{model:"htmlFooter",view:"footer",modelSchema:{inheritAllFrom:"$container",isBlock:!1}},{model:"htmlForm",view:"form",modelSchema:{inheritAllFrom:"$container",isBlock:!0}},{model:"htmlHgroup",view:"hgroup",modelSchema:{allowChildren:["htmlH1","htmlH2","htmlH3","htmlH4","htmlH5","htmlH6"],isBlock:!1}},{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:!1}},{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:!1}},{model:"htmlPre",view:"pre",modelSchema:{inheritAllFrom:"$block"}},{model:"htmlArticle",view:"article",modelSchema:{inheritAllFrom:"$container",isBlock:!1}},{model:"htmlSection",view:"section",modelSchema:{inheritAllFrom:"$container",isBlock:!1}},{model:"htmlNav",view:"nav",modelSchema:{inheritAllFrom:"$container",isBlock:!1}},{model:"htmlDivDl",view:"div",modelSchema:{allowChildren:["htmlDt","htmlDd"],allowIn:"htmlDl"}},{model:"htmlDl",view:"dl",modelSchema:{allowWhere:"$container",allowChildren:["htmlDt","htmlDd","htmlDivDl"],isBlock:!1}},{model:"htmlDt",view:"dt",modelSchema:{allowChildren:"$block",isBlock:!1}},{model:"htmlDd",view:"dd",modelSchema:{allowChildren:"$block",isBlock:!1}},{model:"htmlCenter",view:"center",modelSchema:{inheritAllFrom:"$container",isBlock:!1}}],inline:[{model:"htmlLiAttributes",view:"li",appliesToBlock:!0,coupledAttribute:"listItemId"},{model:"htmlOlAttributes",view:"ol",appliesToBlock:!0,coupledAttribute:"listItemId"},{model:"htmlUlAttributes",view:"ul",appliesToBlock:!0,coupledAttribute:"listItemId"},{model:"htmlFigureAttributes",view:"figure",appliesToBlock:"table"},{model:"htmlTheadAttributes",view:"thead",appliesToBlock:"table"},{model:"htmlTbodyAttributes",view:"tbody",appliesToBlock:"table"},{model:"htmlFigureAttributes",view:"figure",appliesToBlock:"imageBlock"},{model:"htmlAcronym",view:"acronym",attributeProperties:{copyOnEnter:!0,isFormatting:!0}},{model:"htmlTt",view:"tt",attributeProperties:{copyOnEnter:!0,isFormatting:!0}},{model:"htmlFont",view:"font",attributeProperties:{copyOnEnter:!0,isFormatting:!0}},{model:"htmlTime",view:"time",attributeProperties:{copyOnEnter:!0,isFormatting:!0}},{model:"htmlVar",view:"var",attributeProperties:{copyOnEnter:!0,isFormatting:!0}},{model:"htmlBig",view:"big",attributeProperties:{copyOnEnter:!0,isFormatting:!0}},{model:"htmlSmall",view:"small",attributeProperties:{copyOnEnter:!0,isFormatting:!0}},{model:"htmlSamp",view:"samp",attributeProperties:{copyOnEnter:!0,isFormatting:!0}},{model:"htmlQ",view:"q",attributeProperties:{copyOnEnter:!0,isFormatting:!0}},{model:"htmlOutput",view:"output",attributeProperties:{copyOnEnter:!0,isFormatting:!0}},{model:"htmlKbd",view:"kbd",attributeProperties:{copyOnEnter:!0,isFormatting:!0}},{model:"htmlBdi",view:"bdi",attributeProperties:{copyOnEnter:!0,isFormatting:!0}},{model:"htmlBdo",view:"bdo",attributeProperties:{copyOnEnter:!0,isFormatting:!0}},{model:"htmlAbbr",view:"abbr",attributeProperties:{copyOnEnter:!0,isFormatting:!0}},{model:"htmlA",view:"a",priority:5,coupledAttribute:"linkHref"},{model:"htmlStrong",view:"strong",coupledAttribute:"bold",attributeProperties:{copyOnEnter:!0,isFormatting:!0}},{model:"htmlB",view:"b",coupledAttribute:"bold",attributeProperties:{copyOnEnter:!0,isFormatting:!0}},{model:"htmlI",view:"i",coupledAttribute:"italic",attributeProperties:{copyOnEnter:!0,isFormatting:!0}},{model:"htmlEm",view:"em",coupledAttribute:"italic",attributeProperties:{copyOnEnter:!0,isFormatting:!0}},{model:"htmlS",view:"s",coupledAttribute:"strikethrough",attributeProperties:{copyOnEnter:!0,isFormatting:!0}},{model:"htmlDel",view:"del",coupledAttribute:"strikethrough",attributeProperties:{copyOnEnter:!0,isFormatting:!0}},{model:"htmlIns",view:"ins",attributeProperties:{copyOnEnter:!0,isFormatting:!0}},{model:"htmlU",view:"u",coupledAttribute:"underline",attributeProperties:{copyOnEnter:!0,isFormatting:!0}},{model:"htmlSub",view:"sub",coupledAttribute:"subscript",attributeProperties:{copyOnEnter:!0,isFormatting:!0}},{model:"htmlSup",view:"sup",coupledAttribute:"superscript",attributeProperties:{copyOnEnter:!0,isFormatting:!0}},{model:"htmlCode",view:"code",coupledAttribute:"code",attributeProperties:{copyOnEnter:!0,isFormatting:!0}},{model:"htmlMark",view:"mark",attributeProperties:{copyOnEnter:!0,isFormatting:!0}},{model:"htmlSpan",view:"span",attributeProperties:{copyOnEnter:!0,isFormatting:!0}},{model:"htmlCite",view:"cite",attributeProperties:{copyOnEnter:!0,isFormatting:!0}},{model:"htmlLabel",view:"label",attributeProperties:{copyOnEnter:!0,isFormatting:!0}},{model:"htmlDfn",view:"dfn",attributeProperties:{copyOnEnter:!0,isFormatting:!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"],allowAttributesOf:"$inlineObject",isInline:!0}}]};var $B=ds(function(o,t,e,n){_u(o,t,e,n)});const ZB=$B;class Yn extends M{constructor(){super(...arguments),this._definitions=[]}static get pluginName(){return"DataSchema"}init(){for(const t of Nf.block)this.registerBlockElement(t);for(const t of Nf.inline)this.registerInlineElement(t)}registerBlockElement(t){this._definitions.push({...t,isBlock:!0})}registerInlineElement(t){this._definitions.push({...t,isInline:!0})}extendBlockElement(t){this._extendDefinition({...t,isBlock:!0})}extendInlineElement(t){this._extendDefinition({...t,isInline:!0})}getDefinitionsForView(t,e=!1){const n=new Set;for(const i of this._getMatchingViewDefinitions(t)){if(e)for(const r of this._getReferences(i.model))n.add(r);n.add(i)}return n}getDefinitionsForModel(t){return this._definitions.filter(e=>e.model==t)}_getMatchingViewDefinitions(t){return this._definitions.filter(e=>e.view&&KB(t,e.view))}*_getReferences(t){const e=["inheritAllFrom","inheritTypesFrom","allowWhere","allowContentOf","allowAttributesOf"],n=this._definitions.filter(i=>i.model==t);for(const{modelSchema:i}of n)if(i)for(const r of e)for(const s of _t(i[r]||[])){const a=this._definitions.filter(c=>c.model==s);for(const c of a)s!==t&&(yield*this._getReferences(c.model),yield c)}}_extendDefinition(t){const e=Array.from(this._definitions.entries()).filter(([,n])=>n.model==t.model);if(e.length==0){this._definitions.push(t);return}for(const[n,i]of e)this._definitions[n]=ZB({},i,t,(r,s)=>Array.isArray(r)?r.concat(s):void 0)}}function KB(o,t){return typeof o=="string"?o===t:o instanceof RegExp?o.test(t):!1}function YB(o,t,e,n){for(var i=o.length,r=e+(n?1:-1);n?r--:++r-1;)a!==o&&zf.call(a,c,1),zf.call(o,c,1);return o}const c4=a4;function l4(o,t){return o&&o.length&&t&&t.length?c4(o,t):o}var d4=yu(l4);const u4=d4;var Pf=L(1710),Ha={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ha.insert="head",Ha.singleton=!0,R()(Pf.Z,Ha),Pf.Z.locals;class Dt extends M{constructor(t){super(t),this._dataSchema=t.plugins.get("DataSchema"),this._allowedAttributes=new ee,this._disallowedAttributes=new ee,this._allowedElements=new Set,this._disallowedElements=new Set,this._dataInitialized=!1,this._coupledAttributes=null,this._registerElementsAfterInit(),this._registerElementHandlers(),this._registerCoupledAttributesPostFixer(),this._registerAssociatedHtmlAttributesPostFixer()}static get pluginName(){return"DataFilter"}static get requires(){return[Yn,$n]}loadAllowedConfig(t){for(const e of t){const n=e.name||/[\s\S]+/,i=Rf(e);this.allowElement(n),i.forEach(r=>this.allowAttributes(r))}}loadDisallowedConfig(t){for(const e of t){const n=e.name||/[\s\S]+/,i=Rf(e);i.length==0?this.disallowElement(n):i.forEach(r=>this.disallowAttributes(r))}}loadAllowedEmptyElementsConfig(t){for(const e of t)this.allowEmptyElement(e)}allowElement(t){for(const e of this._dataSchema.getDefinitionsForView(t,!0))this._addAllowedElement(e),this._coupledAttributes=null}disallowElement(t){for(const e of this._dataSchema.getDefinitionsForView(t,!1))this._disallowedElements.add(e.view)}allowEmptyElement(t){for(const e of this._dataSchema.getDefinitionsForView(t,!0))e.isInline&&this._dataSchema.extendInlineElement({...e,allowEmpty:!0})}allowAttributes(t){this._allowedAttributes.add(t)}disallowAttributes(t){this._disallowedAttributes.add(t)}processViewAttributes(t,e){return Lf(t,e,this._disallowedAttributes),Lf(t,e,this._allowedAttributes)}_addAllowedElement(t){if(!this._allowedElements.has(t)){if(this._allowedElements.add(t),"appliesToBlock"in t&&typeof t.appliesToBlock=="string")for(const e of this._dataSchema.getDefinitionsForModel(t.appliesToBlock))e.isBlock&&this._addAllowedElement(e);this._dataInitialized&&this.editor.data.once("set",()=>{this._fireRegisterEvent(t)},{priority:Qt.highest+1})}}_registerElementsAfterInit(){this.editor.data.on("init",()=>{this._dataInitialized=!0;for(const t of this._allowedElements)this._fireRegisterEvent(t)},{priority:Qt.highest+1})}_registerElementHandlers(){this.on("register",(t,e)=>{const n=this.editor.model.schema;if(e.isObject&&!n.isRegistered(e.model))this._registerObjectElement(e);else if(e.isBlock)this._registerBlockElement(e);else if(e.isInline)this._registerInlineElement(e);else throw new w("data-filter-invalid-definition",null,e);t.stop()},{priority:"lowest"})}_registerCoupledAttributesPostFixer(){const t=this.editor.model,e=t.document.selection;t.document.registerPostFixer(n=>{const i=t.document.differ.getChanges();let r=!1;const s=this._getCoupledAttributesMap();for(const a of i){if(a.type!="attribute"||a.attributeNewValue!==null)continue;const c=s.get(a.attributeKey);if(c)for(const{item:l}of a.range.getWalker({shallow:!0}))for(const d of c)l.hasAttribute(d)&&(n.removeAttribute(d,l),r=!0)}return r}),this.listenTo(e,"change:attribute",(n,{attributeKeys:i})=>{const r=new Set,s=this._getCoupledAttributesMap();for(const a of i){if(e.hasAttribute(a))continue;const c=s.get(a);if(c)for(const l of c)e.hasAttribute(l)&&r.add(l)}r.size!=0&&t.change(a=>{for(const c of r)a.removeSelectionAttribute(c)})})}_registerAssociatedHtmlAttributesPostFixer(){const t=this.editor.model;t.document.registerPostFixer(e=>{const n=t.document.differ.getChanges();let i=!1;for(const r of n)if(!(r.type!=="insert"||r.name==="$text"))for(const s of r.attributes.keys())!s.startsWith("html")||!s.endsWith("Attributes")||t.schema.checkAttribute(r.name,s)||(e.removeAttribute(s,r.position.nodeAfter),i=!0);return i})}_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])}return this._coupledAttributes}_fireRegisterEvent(t){t.view&&this._disallowedElements.has(t.view)||this.fire(t.view?`register:${t.view}`:"register",t)}_registerObjectElement(t){const e=this.editor,n=e.model.schema,i=e.conversion,{view:r,model:s}=t;n.register(s,t.modelSchema),r&&(n.extend(t.model,{allowAttributes:[he(r),"htmlContent"]}),e.data.registerRawContentMatcher({name:r}),i.for("upcast").elementToElement({view:r,model:Va(t),converterPriority:Qt.low+2}),i.for("upcast").add(Wo(t,this)),i.for("editingDowncast").elementToStructure({model:{name:s,attributes:[he(r)]},view:GB(e,t)}),i.for("dataDowncast").elementToElement({model:s,view:(a,{writer:c})=>Qi(r,a,c)}),i.for("dataDowncast").add($o(t)))}_registerBlockElement(t){const e=this.editor,n=e.model.schema,i=e.conversion,{view:r,model:s}=t;if(!n.isRegistered(t.model)){if(n.register(t.model,t.modelSchema),!r)return;i.for("upcast").elementToElement({model:s,view:r,converterPriority:Qt.low+2}),i.for("downcast").elementToElement({model:s,view:r})}r&&(n.extend(t.model,{allowAttributes:he(r)}),i.for("upcast").add(Wo(t,this)),i.for("downcast").add($o(t)))}_registerInlineElement(t){const e=this.editor,n=e.model.schema,i=e.conversion,r=t.model;t.appliesToBlock||(n.extend("$text",{allowAttributes:r}),t.attributeProperties&&n.setAttributeProperties(r,t.attributeProperties),i.for("upcast").add(qB(t,this)),i.for("downcast").attributeToElement({model:r,view:WB(t)}),t.allowEmpty&&(n.setAttributeProperties(r,{copyFromObject:!1}),n.isRegistered("htmlEmptyElement")||n.register("htmlEmptyElement",{inheritAllFrom:"$inlineObject"}),e.data.htmlProcessor.domConverter.registerInlineObjectMatcher(s=>s.name==t.view&&s.isEmpty&&Array.from(s.getAttributeKeys()).length?{name:!0}:null),i.for("editingDowncast").elementToElement({model:"htmlEmptyElement",view:Bf(t,!0)}),i.for("dataDowncast").elementToElement({model:"htmlEmptyElement",view:Bf(t)})))}}function Lf(o,t,e){const n=h4(o,t,e),{attributes:i,styles:r,classes:s}=m4(n),a={};if(i.size)for(const c of i)ud(c)||i.delete(c);return i.size&&(a.attributes=Of(i,c=>o.getAttribute(c))),r.size&&(a.styles=Of(r,c=>o.getStyle(c))),s.size&&(a.classes=Array.from(s)),Object.keys(a).length?a:null}function h4(o,{consumable:t},e){const n=e.matchAll(o)||[],i=[];for(const r of n)g4(t,o,r),delete r.match.name,t.consume(o,r.match),i.push(r);return i}function g4(o,t,e){for(const n of["attributes","classes","styles"]){const i=e.match[n];if(i)for(const r of Array.from(i))o.test(t,{[n]:[r]})||u4(i,r)}}function m4(o){const t={attributes:new Set,classes:new Set,styles:new Set};for(const e of o)for(const n in t)(e.match[n]||[]).forEach(r=>t[n].add(r));return t}function Of(o,t){const e={};for(const n of o)t(n)!==void 0&&(e[n]=t(n));return e}function Ua(o,t){const{name:e}=o,n=o[t];return Wt(n)?Object.entries(n).map(([i,r])=>({name:e,[t]:{[i]:r}})):Array.isArray(n)?n.map(i=>({name:e,[t]:[i]})):[o]}function Rf(o){const{name:t,attributes:e,classes:n,styles:i}=o,r=[];return e&&r.push(...Ua({name:t,attributes:e},"attributes")),n&&r.push(...Ua({name:t,classes:n},"classes")),i&&r.push(...Ua({name:t,styles:i},"styles")),r}class f4 extends M{static get requires(){return[Dt]}static get pluginName(){return"CodeBlockElementSupport"}init(){if(!this.editor.plugins.has("CodeBlockEditing"))return;const t=this.editor.plugins.get(Dt);t.on("register:pre",(e,n)=>{if(n.model!=="codeBlock")return;const i=this.editor,r=i.model.schema,s=i.conversion;r.extend("codeBlock",{allowAttributes:["htmlPreAttributes","htmlContentAttributes"]}),s.for("upcast").add(p4(t)),s.for("downcast").add(k4()),e.stop()})}}function p4(o){return t=>{t.on("element:code",(e,n,i)=>{const r=n.viewItem,s=r.parent;if(!s||!s.is("element","pre"))return;a(s,"htmlPreAttributes"),a(r,"htmlContentAttributes");function a(c,l){const d=o.processViewAttributes(c,i);d&&i.writer.setAttribute(l,d,n.modelRange)}},{priority:"low"})}}function k4(){return o=>{o.on("attribute:htmlPreAttributes:codeBlock",(t,e,n)=>{if(!n.consumable.consume(e.item,t.name))return;const{attributeOldValue:i,attributeNewValue:r}=e,a=n.mapper.toViewElement(e.item).parent;fn(n.writer,i,r,a)}),o.on("attribute:htmlContentAttributes:codeBlock",(t,e,n)=>{if(!n.consumable.consume(e.item,t.name))return;const{attributeOldValue:i,attributeNewValue:r}=e,s=n.mapper.toViewElement(e.item);fn(n.writer,i,r,s)})}}class b4 extends M{static get requires(){return[Dt]}static get pluginName(){return"DualContentModelElementSupport"}init(){this.editor.plugins.get(Dt).on("register",(e,n)=>{const i=n,r=this.editor,s=r.model.schema,a=r.conversion;if(!i.paragraphLikeModel||s.isRegistered(i.model)||s.isRegistered(i.paragraphLikeModel))return;const c={model:i.paragraphLikeModel,view:i.view};s.register(i.model,i.modelSchema),s.register(c.model,{inheritAllFrom:"$block"}),a.for("upcast").elementToElement({view:i.view,model:(l,{writer:d})=>this._hasBlockContent(l)?d.createElement(i.model):d.createElement(c.model),converterPriority:Qt.low+.5}),a.for("downcast").elementToElement({view:i.view,model:i.model}),this._addAttributeConversion(i),a.for("downcast").elementToElement({view:c.view,model:c.model}),this._addAttributeConversion(c),e.stop()})}_hasBlockContent(t){const e=this.editor.editing.view,n=e.domConverter.blockElements;for(const i of e.createRangeIn(t).getItems())if(i.is("element")&&n.includes(i.name))return!0;return!1}_addAttributeConversion(t){const e=this.editor,n=e.conversion,i=e.plugins.get(Dt);e.model.schema.extend(t.model,{allowAttributes:he(t.view)}),n.for("upcast").add(Wo(t,i)),n.for("downcast").add($o(t))}}class w4 extends M{static get requires(){return[Yn,Ho]}static get pluginName(){return"HeadingElementSupport"}init(){const t=this.editor;if(!t.plugins.has("HeadingEditing"))return;const e=t.config.get("heading.options");this.registerHeadingElements(t,e)}registerHeadingElements(t,e){const n=t.plugins.get(Yn),i=[];for(const r of e)"model"in r&&"view"in r&&(n.registerBlockElement({view:r.view,model:r.model}),i.push(r.model));n.extendBlockElement({model:"htmlHgroup",modelSchema:{allowChildren:i}})}}function Ji(o,t,e){const n=o.createRangeOn(t);for(const{item:i}of n.getWalker())if(i.is("element",e))return i}class A4 extends M{static get requires(){return[Dt]}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,n=t.conversion,i=t.plugins.get(Dt);i.on("register:figure",()=>{n.for("upcast").add(v4(i))}),i.on("register:img",(r,s)=>{s.model!=="imageBlock"&&s.model!=="imageInline"||(e.isRegistered("imageBlock")&&e.extend("imageBlock",{allowAttributes:["htmlImgAttributes","htmlFigureAttributes","htmlLinkAttributes"]}),e.isRegistered("imageInline")&&e.extend("imageInline",{allowAttributes:["htmlA","htmlImgAttributes"]}),n.for("upcast").add(C4(i)),n.for("downcast").add(y4()),t.plugins.has("LinkImage")&&n.for("upcast").add(_4(i,t)),r.stop())})}}function C4(o){return t=>{t.on("element:img",(e,n,i)=>{if(!n.modelRange)return;const r=n.viewItem,s=o.processViewAttributes(r,i);s&&i.writer.setAttribute("htmlImgAttributes",s,n.modelRange)},{priority:"low"})}}function _4(o,t){const e=t.plugins.get("ImageUtils");return n=>{n.on("element:a",(i,r,s)=>{const a=r.viewItem;if(!e.findViewImgElement(a))return;const l=r.modelCursor.parent;if(!l.is("element","imageBlock"))return;const d=o.processViewAttributes(a,s);d&&s.writer.setAttribute("htmlLinkAttributes",d,l)},{priority:"low"})}}function v4(o){return t=>{t.on("element:figure",(e,n,i)=>{const r=n.viewItem;if(!n.modelRange||!r.hasClass("image"))return;const s=o.processViewAttributes(r,i);s&&i.writer.setAttribute("htmlFigureAttributes",s,n.modelRange)},{priority:"low"})}}function y4(){return o=>{t("htmlImgAttributes"),e("img","htmlImgAttributes"),e("figure","htmlFigureAttributes"),e("a","htmlLinkAttributes");function t(n){o.on(`attribute:${n}:imageInline`,(i,r,s)=>{if(!s.consumable.consume(r.item,i.name))return;const{attributeOldValue:a,attributeNewValue:c}=r,l=s.mapper.toViewElement(r.item);fn(s.writer,a,c,l)},{priority:"low"})}function e(n,i){o.on(`attribute:${i}:imageBlock`,(r,s,a)=>{if(!a.consumable.test(s.item,r.name))return;const{attributeOldValue:c,attributeNewValue:l}=s,d=a.mapper.toViewElement(s.item),u=Ji(a.writer,d,n);u&&(fn(a.writer,c,l,u),a.consumable.consume(s.item,r.name))},{priority:"low"}),n==="a"&&o.on("attribute:linkHref:imageBlock",(r,s,a)=>{if(!a.consumable.consume(s.item,"attribute:htmlLinkAttributes:imageBlock"))return;const c=a.mapper.toViewElement(s.item),l=Ji(a.writer,c,"a");Te(a.writer,s.item.getAttribute("htmlLinkAttributes"),l)},{priority:"low"})}}}class x4 extends M{static get requires(){return[Dt]}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,n=t.conversion,i=this.editor.plugins.get(Dt),r=this.editor.plugins.get(Yn),s=t.config.get("mediaEmbed.elementName");r.registerBlockElement({model:"media",view:s}),i.on("register:figure",()=>{n.for("upcast").add(D4(i))}),i.on(`register:${s}`,(a,c)=>{c.model==="media"&&(e.extend("media",{allowAttributes:[he(s),"htmlFigureAttributes"]}),n.for("upcast").add(E4(i,s)),n.for("dataDowncast").add(S4(s)),a.stop())})}}function E4(o,t){const e=(n,i,r)=>{const s=i.viewItem;a(s,he(t));function a(c,l){const d=o.processViewAttributes(c,r);d&&r.writer.setAttribute(l,d,i.modelRange)}};return n=>{n.on(`element:${t}`,e,{priority:"low"})}}function D4(o){return t=>{t.on("element:figure",(e,n,i)=>{const r=n.viewItem;if(!n.modelRange||!r.hasClass("media"))return;const s=o.processViewAttributes(r,i);s&&i.writer.setAttribute("htmlFigureAttributes",s,n.modelRange)},{priority:"low"})}}function S4(o){return t=>{e(o,he(o)),e("figure","htmlFigureAttributes");function e(n,i){t.on(`attribute:${i}:media`,(r,s,a)=>{if(!a.consumable.consume(s.item,r.name))return;const{attributeOldValue:c,attributeNewValue:l}=s,d=a.mapper.toViewElement(s.item),u=Ji(a.writer,d,n);fn(a.writer,c,l,u)})}}}class T4 extends M{static get requires(){return[Dt]}static get pluginName(){return"ScriptElementSupport"}init(){const t=this.editor.plugins.get(Dt);t.on("register:script",(e,n)=>{const i=this.editor,r=i.model.schema,s=i.conversion;r.register("htmlScript",n.modelSchema),r.extend("htmlScript",{allowAttributes:["htmlScriptAttributes","htmlContent"],isContent:!0}),i.data.registerRawContentMatcher({name:"script"}),s.for("upcast").elementToElement({view:"script",model:Va(n)}),s.for("upcast").add(Wo(n,t)),s.for("downcast").elementToElement({model:"htmlScript",view:(a,{writer:c})=>Qi("script",a,c)}),s.for("downcast").add($o(n)),e.stop()})}}class I4 extends M{static get requires(){return[Dt]}static get pluginName(){return"TableElementSupport"}init(){const t=this.editor;if(!t.plugins.has("TableEditing"))return;const e=t.model.schema,n=t.conversion,i=t.plugins.get(Dt),r=t.plugins.get("TableUtils");i.on("register:figure",()=>{n.for("upcast").add(N4(i))}),i.on("register:table",(s,a)=>{a.model==="table"&&(e.extend("table",{allowAttributes:["htmlTableAttributes","htmlFigureAttributes","htmlTheadAttributes","htmlTbodyAttributes"]}),n.for("upcast").add(B4(i)),n.for("downcast").add(z4()),t.model.document.registerPostFixer(M4(t.model,r)),s.stop())})}}function M4(o,t){return e=>{const n=o.document.differ.getChanges();let i=!1;for(const r of n){if(r.type!="attribute"||r.attributeKey!="headingRows")continue;const s=r.range.start.nodeAfter,a=s.getAttribute("htmlTheadAttributes"),c=s.getAttribute("htmlTbodyAttributes");a&&!r.attributeNewValue?(e.removeAttribute("htmlTheadAttributes",s),i=!0):c&&r.attributeNewValue==t.getRows(s)&&(e.removeAttribute("htmlTbodyAttributes",s),i=!0)}return i}}function B4(o){return t=>{t.on("element:table",(e,n,i)=>{if(!n.modelRange)return;const r=n.viewItem;s(r,"htmlTableAttributes");for(const a of r.getChildren())a.is("element","thead")&&s(a,"htmlTheadAttributes"),a.is("element","tbody")&&s(a,"htmlTbodyAttributes");function s(a,c){const l=o.processViewAttributes(a,i);l&&i.writer.setAttribute(c,l,n.modelRange)}},{priority:"low"})}}function N4(o){return t=>{t.on("element:figure",(e,n,i)=>{const r=n.viewItem;if(!n.modelRange||!r.hasClass("table"))return;const s=o.processViewAttributes(r,i);s&&i.writer.setAttribute("htmlFigureAttributes",s,n.modelRange)},{priority:"low"})}}function z4(){return o=>{t("table","htmlTableAttributes"),t("figure","htmlFigureAttributes"),t("thead","htmlTheadAttributes"),t("tbody","htmlTbodyAttributes");function t(e,n){o.on(`attribute:${n}:table`,(i,r,s)=>{if(!s.consumable.test(r.item,i.name))return;const a=s.mapper.toViewElement(r.item),c=Ji(s.writer,a,e);c&&(s.consumable.consume(r.item,i.name),fn(s.writer,r.attributeOldValue,r.attributeNewValue,c))})}}}class P4 extends M{static get requires(){return[Dt]}static get pluginName(){return"StyleElementSupport"}init(){const t=this.editor.plugins.get(Dt);t.on("register:style",(e,n)=>{const i=this.editor,r=i.model.schema,s=i.conversion;r.register("htmlStyle",n.modelSchema),r.extend("htmlStyle",{allowAttributes:["htmlStyleAttributes","htmlContent"],isContent:!0}),i.data.registerRawContentMatcher({name:"style"}),s.for("upcast").elementToElement({view:"style",model:Va(n)}),s.for("upcast").add(Wo(n,t)),s.for("downcast").elementToElement({model:"htmlStyle",view:(a,{writer:c})=>Qi("style",a,c)}),s.for("downcast").add($o(n)),e.stop()})}}class L4 extends M{static get requires(){return[Dt]}static get pluginName(){return"DocumentListElementSupport"}init(){const t=this.editor;if(!t.plugins.has("DocumentListEditing"))return;const e=t.model.schema,n=t.conversion,i=t.plugins.get(Dt),r=t.plugins.get("DocumentListEditing"),s=["ul","ol","li"];r.registerDowncastStrategy({scope:"item",attributeName:"htmlLiAttributes",setAttributeOnDowncast:Te}),r.registerDowncastStrategy({scope:"list",attributeName:"htmlUlAttributes",setAttributeOnDowncast:Te}),r.registerDowncastStrategy({scope:"list",attributeName:"htmlOlAttributes",setAttributeOnDowncast:Te}),i.on("register",(a,c)=>{if(!s.includes(c.view)||(a.stop(),e.checkAttribute("$block","htmlLiAttributes")))return;const l=s.map(d=>he(d));e.extend("$listItem",{allowAttributes:l}),n.for("upcast").add(d=>{d.on("element:ul",Ga("htmlUlAttributes",i),{priority:"low"}),d.on("element:ol",Ga("htmlOlAttributes",i),{priority:"low"}),d.on("element:li",Ga("htmlLiAttributes",i),{priority:"low"})})}),r.on("postFixer",(a,{listNodes:c,writer:l})=>{for(const{node:d,previousNodeInList:u}of c)if(u){if(u.getAttribute("listType")==d.getAttribute("listType")){const m=jf(u.getAttribute("listType")),p=u.getAttribute(m);!Ti(d.getAttribute(m),p)&&l.model.schema.checkAttribute(d,m)&&(l.setAttribute(m,p,d),a.return=!0)}if(u.getAttribute("listItemId")==d.getAttribute("listItemId")){const m=u.getAttribute("htmlLiAttributes");!Ti(d.getAttribute("htmlLiAttributes"),m)&&l.model.schema.checkAttribute(d,"htmlLiAttributes")&&(l.setAttribute("htmlLiAttributes",m,d),a.return=!0)}}}),r.on("postFixer",(a,{listNodes:c,writer:l})=>{for(const{node:d}of c){const u=d.getAttribute("listType");u!=="numbered"&&d.getAttribute("htmlOlAttributes")&&(l.removeAttribute("htmlOlAttributes",d),a.return=!0),u==="numbered"&&d.getAttribute("htmlUlAttributes")&&(l.removeAttribute("htmlUlAttributes",d),a.return=!0)}})}afterInit(){const t=this.editor;if(!t.commands.get("indentList"))return;const e=t.commands.get("indentList");this.listenTo(e,"afterExecute",(n,i)=>{t.model.change(r=>{for(const s of i){const a=jf(s.getAttribute("listType"));t.model.schema.checkAttribute(s,a)&&r.setAttribute(a,{},s)}})})}}function Ga(o,t){return(e,n,i)=>{const r=n.viewItem;n.modelRange||Object.assign(n,i.convertChildren(n.viewItem,n.modelCursor));const s=t.processViewAttributes(r,i);for(const a of n.modelRange.getItems({shallow:!0}))a.hasAttribute("listItemId")&&(a.hasAttribute(o)||i.writer.model.schema.checkAttribute(a,o)&&i.writer.setAttribute(o,s||{},a))}}function jf(o){return o==="numbered"?"htmlOlAttributes":"htmlUlAttributes"}class O4 extends M{static get requires(){return[Dt,Yn]}static get pluginName(){return"CustomElementSupport"}init(){const t=this.editor.plugins.get(Dt),e=this.editor.plugins.get(Yn);t.on("register:$customElement",(n,i)=>{n.stop();const r=this.editor,s=r.model.schema,a=r.conversion,c=r.editing.view.domConverter.unsafeElements,l=r.data.htmlProcessor.domConverter.preElements;s.register(i.model,i.modelSchema),s.extend(i.model,{allowAttributes:["htmlElementName","htmlCustomElementAttributes","htmlContent"],isContent:!0}),r.data.htmlProcessor.domConverter.registerRawContentMatcher({name:"template"}),a.for("upcast").elementToElement({view:/.*/,model:(d,u)=>{if(d.name=="$comment"||!R4(d.name)||e.getDefinitionsForView(d.name).size)return null;c.includes(d.name)||c.push(d.name),l.includes(d.name)||l.push(d.name);const m=u.writer.createElement(i.model,{htmlElementName:d.name}),p=t.processViewAttributes(d,u);p&&u.writer.setAttribute("htmlCustomElementAttributes",p,m);let b;if(d.is("element","template")&&d.getCustomProperty("$rawContent"))b=d.getCustomProperty("$rawContent");else{const B=new Re(d.document).createDocumentFragment(d),z=r.data.htmlProcessor.domConverter.viewToDom(B),V=z.firstChild;for(;V.firstChild;)z.appendChild(V.firstChild);V.remove(),b=r.data.htmlProcessor.htmlWriter.getHtml(z)}u.writer.setAttribute("htmlContent",b,m);for(const{item:S}of r.editing.view.createRangeIn(d))u.consumable.consume(S,{name:!0});return m},converterPriority:"low"}),a.for("editingDowncast").elementToElement({model:{name:i.model,attributes:["htmlElementName","htmlCustomElementAttributes","htmlContent"]},view:(d,{writer:u})=>{const m=d.getAttribute("htmlElementName"),p=u.createRawElement(m);return d.hasAttribute("htmlCustomElementAttributes")&&Te(u,d.getAttribute("htmlCustomElementAttributes"),p),p}}),a.for("dataDowncast").elementToElement({model:{name:i.model,attributes:["htmlElementName","htmlCustomElementAttributes","htmlContent"]},view:(d,{writer:u})=>{const m=d.getAttribute("htmlElementName"),p=d.getAttribute("htmlContent"),b=u.createRawElement(m,null,(S,B)=>{B.setContentOf(S,p)});return d.hasAttribute("htmlCustomElementAttributes")&&Te(u,d.getAttribute("htmlCustomElementAttributes"),b),b}})})}}function R4(o){try{document.createElement(o)}catch{return!1}return!0}class j4 extends M{static get pluginName(){return"GeneralHtmlSupport"}static get requires(){return[Dt,f4,b4,w4,A4,x4,T4,I4,P4,L4,O4]}init(){const t=this.editor,e=t.plugins.get(Dt);e.loadAllowedEmptyElementsConfig(t.config.get("htmlSupport.allowEmpty")||[]),e.loadAllowedConfig(t.config.get("htmlSupport.allow")||[]),e.loadDisallowedConfig(t.config.get("htmlSupport.disallow")||[])}getGhsAttributeNameForElement(t){const e=this.editor.plugins.get("DataSchema"),n=Array.from(e.getDefinitionsForView(t,!1)),i=n.find(r=>r.isInline&&!n[0].isObject);return i?i.model:he(t)}addModelHtmlClass(t,e,n){const i=this.editor.model,r=this.getGhsAttributeNameForElement(t);i.change(s=>{for(const a of Qn(i,n,r))Kn(s,a,r,"classes",c=>{for(const l of _t(e))c.add(l)})})}removeModelHtmlClass(t,e,n){const i=this.editor.model,r=this.getGhsAttributeNameForElement(t);i.change(s=>{for(const a of Qn(i,n,r))Kn(s,a,r,"classes",c=>{for(const l of _t(e))c.delete(l)})})}setModelHtmlAttributes(t,e,n){const i=this.editor.model,r=this.getGhsAttributeNameForElement(t);i.change(s=>{for(const a of Qn(i,n,r))Kn(s,a,r,"attributes",c=>{for(const[l,d]of Object.entries(e))c.set(l,d)})})}removeModelHtmlAttributes(t,e,n){const i=this.editor.model,r=this.getGhsAttributeNameForElement(t);i.change(s=>{for(const a of Qn(i,n,r))Kn(s,a,r,"attributes",c=>{for(const l of _t(e))c.delete(l)})})}setModelHtmlStyles(t,e,n){const i=this.editor.model,r=this.getGhsAttributeNameForElement(t);i.change(s=>{for(const a of Qn(i,n,r))Kn(s,a,r,"styles",c=>{for(const[l,d]of Object.entries(e))c.set(l,d)})})}removeModelHtmlStyles(t,e,n){const i=this.editor.model,r=this.getGhsAttributeNameForElement(t);i.change(s=>{for(const a of Qn(i,n,r))Kn(s,a,r,"styles",c=>{for(const l of _t(e))c.delete(l)})})}}function*Qn(o,t,e){if(t)if(!(Symbol.iterator in t)&&t.is("documentSelection")&&t.isCollapsed)o.schema.checkAttributeInSelection(t,e)&&(yield t);else for(const n of F4(o,t,e))yield*n.getItems({shallow:!0})}function F4(o,t,e){return!(Symbol.iterator in t)&&(t.is("node")||t.is("$text")||t.is("$textProxy"))?o.schema.checkAttribute(t,e)?[o.createRangeOn(t)]:[]:o.schema.getValidRanges(o.createSelection(t).getRanges(),e)}function V4(o){return o.createContainerElement("span",{class:"image-inline"},o.createEmptyElement("img"))}function Ff(o){return o.createContainerElement("figure",{class:"image"},[o.createEmptyElement("img"),o.createSlot("children")])}function Vf(o,t){const e=o.plugins.get("ImageUtils"),n=o.plugins.has("ImageInlineEditing")&&o.plugins.has("ImageBlockEditing");return r=>e.isInlineImageView(r)?n&&(r.getStyle("display")=="block"||r.findAncestor(e.isBlockImageView)?"imageBlock":"imageInline")!==t?null:i(r):null;function i(r){const s={name:!0};return r.hasAttribute("src")&&(s.attributes=["src"]),s}}function qa(o,t){const e=Tt(t.getSelectedBlocks());return!e||o.isObject(e)||e.isEmpty&&e.name!="listItem"?"imageBlock":"imageInline"}function Xi(o){return o&&o.endsWith("px")?parseInt(o):null}function tr(o){const t=Xi(o.getStyle("width")),e=Xi(o.getStyle("height"));return!!(t&&e)}const H4=/^(image|image-inline)$/;class Ht extends M{constructor(){super(...arguments),this._domEmitter=new(Xt())}static get pluginName(){return"ImageUtils"}isImage(t){return this.isInlineImage(t)||this.isBlockImage(t)}isInlineImageView(t){return!!t&&t.is("element","img")}isBlockImageView(t){return!!t&&t.is("element","figure")&&t.hasClass("image")}insertImage(t={},e=null,n=null,i={}){const r=this.editor,s=r.model,a=s.document.selection,c=Hf(r,e||a,n);t={...Object.fromEntries(a.getAttributes()),...t};for(const l in t)s.schema.checkAttribute(c,l)||delete t[l];return s.change(l=>{const{setImageSizes:d=!0}=i,u=l.createElement(c,t);return s.insertObject(u,e,null,{setSelection:"on",findOptimalPosition:!e&&c!="imageInline"?"auto":void 0}),u.parent?(d&&this.setImageNaturalSizeAttributes(u),u):null})}setImageNaturalSizeAttributes(t){const e=t.getAttribute("src");e&&(t.getAttribute("width")||t.getAttribute("height")||this.editor.model.change(n=>{const i=new U.window.Image;this._domEmitter.listenTo(i,"load",()=>{!t.getAttribute("width")&&!t.getAttribute("height")&&this.editor.model.enqueueChange(n.batch,r=>{r.setAttribute("width",i.naturalWidth,t),r.setAttribute("height",i.naturalHeight,t)}),this._domEmitter.stopListening(i,"load")}),i.src=e}))}getClosestSelectedImageWidget(t){const e=t.getFirstPosition();if(!e)return null;const n=t.getSelectedElement();if(n&&this.isImageWidget(n))return n;let i=e.parent;for(;i;){if(i.is("element")&&this.isImageWidget(i))return i;i=i.parent}return null}getClosestSelectedImageElement(t){const e=t.getSelectedElement();return this.isImage(e)?e:t.getFirstPosition().findAncestor("imageBlock")}getImageWidgetFromImageView(t){return t.findAncestor({classes:H4})}isImageAllowed(){const e=this.editor.model.document.selection;return U4(this.editor,e)&&G4(e)}toImageWidget(t,e,n){return e.setCustomProperty("image",!0,t),Go(t,e,{label:()=>{const s=this.findViewImgElement(t).getAttribute("alt");return s?`${s} ${n}`:n}})}isImageWidget(t){return!!t.getCustomProperty("image")&&Nt(t)}isBlockImage(t){return!!t&&t.is("element","imageBlock")}isInlineImage(t){return!!t&&t.is("element","imageInline")}findViewImgElement(t){if(this.isInlineImageView(t))return t;const e=this.editor.editing.view;for(const{item:n}of e.createRangeIn(t))if(this.isInlineImageView(n))return n}destroy(){return this._domEmitter.stopListening(),super.destroy()}}function U4(o,t){if(Hf(o,t,null)=="imageBlock"){const n=q4(t,o.model);if(o.model.schema.checkChild(n,"imageBlock"))return!0}else if(o.model.schema.checkChild(t.focus,"imageInline"))return!0;return!1}function G4(o){return[...o.focus.getAncestors()].every(t=>!t.is("element","imageBlock"))}function q4(o,t){const n=Nm(o,t).start.parent;return n.isEmpty&&!n.is("element","$root")?n.parent:n}function Hf(o,t,e){const n=o.model.schema,i=o.config.get("image.insert.type");return o.plugins.has("ImageBlockEditing")?o.plugins.has("ImageInlineEditing")?e||(i==="inline"?"imageInline":i!=="auto"?"imageBlock":t.is("selection")?qa(n,t):n.checkChild(t,"imageInline")?"imageInline":"imageBlock"):"imageBlock":"imageInline"}const W4=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 $4 extends M{static get requires(){return[La,Ht,Yi,Ee]}static get pluginName(){return"AutoImage"}constructor(t){super(t),this._timeoutId=null,this._positionToInsert=null}init(){const t=this.editor,e=t.model.document,n=t.plugins.get("ClipboardPipeline");this.listenTo(n,"inputTransformation",()=>{const i=e.selection.getFirstRange(),r=Mt.fromPosition(i.start);r.stickiness="toPrevious";const s=Mt.fromPosition(i.end);s.stickiness="toNext",e.once("change:data",()=>{this._embedImageBetweenPositions(r,s),r.detach(),s.detach()},{priority:"high"})}),t.commands.get("undo").on("execute",()=>{this._timeoutId&&(U.window.clearTimeout(this._timeoutId),this._positionToInsert.detach(),this._timeoutId=null,this._positionToInsert=null)},{priority:"high"})}_embedImageBetweenPositions(t,e){const n=this.editor,i=new Zt(t,e),r=i.getWalker({ignoreElementEnd:!0}),s=Object.fromEntries(n.model.document.selection.getAttributes()),a=this.editor.plugins.get("ImageUtils");let c="";for(const l of r)l.item.is("$textProxy")&&(c+=l.item.data);if(c=c.trim(),!c.match(W4)){i.detach();return}this._positionToInsert=Mt.fromPosition(t),this._timeoutId=setTimeout(()=>{if(!n.commands.get("insertImage").isEnabled){i.detach();return}n.model.change(u=>{this._timeoutId=null,u.remove(i),i.detach();let m;this._positionToInsert.root.rootName!=="$graveyard"&&(m=this._positionToInsert.toPosition()),a.insertImage({...s,src:c},m),this._positionToInsert.detach(),this._positionToInsert=null}),n.plugins.get("Delete").requestUndoOnBackspace()},100)}}class Z4 extends Q{refresh(){const n=this.editor.plugins.get("ImageUtils").getClosestSelectedImageElement(this.editor.model.document.selection);this.isEnabled=!!n,this.isEnabled&&n.hasAttribute("alt")?this.value=n.getAttribute("alt"):this.value=!1}execute(t){const e=this.editor,n=e.plugins.get("ImageUtils"),i=e.model,r=n.getClosestSelectedImageElement(i.document.selection);i.change(s=>{s.setAttribute("alt",t.newValue,r)})}}class K4 extends M{static get requires(){return[Ht]}static get pluginName(){return"ImageTextAlternativeEditing"}init(){this.editor.commands.add("imageTextAlternative",new Z4(this.editor))}}var Uf=L(5269),Wa={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Wa.insert="head",Wa.singleton=!0,R()(Uf.Z,Wa),Uf.Z.locals;var Gf=L(6603),$a={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};$a.insert="head",$a.singleton=!0,R()(Gf.Z,$a),Gf.Z.locals;class Y4 extends G{constructor(t){super(t);const e=this.locale.t;this.focusTracker=new Bt,this.keystrokes=new Vt,this.labeledInput=this._createLabeledInputView(),this.saveButtonView=this._createButton(e("Save"),dt.check,"ck-button-save"),this.saveButtonView.type="submit",this.cancelButtonView=this._createButton(e("Cancel"),dt.cancel,"ck-button-cancel","cancel"),this._focusables=new ce,this._focusCycler=new fe({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]})}render(){super.render(),this.keystrokes.listenTo(this.element),h({view:this}),[this.labeledInput,this.saveButtonView,this.cancelButtonView].forEach(t=>{this._focusables.add(t),this.focusTracker.add(t.element)})}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}_createButton(t,e,n,i){const r=new et(this.locale);return r.set({label:t,icon:e,tooltip:!0}),r.extendTemplate({attributes:{class:n}}),i&&r.delegate("execute").to(this,i),r}_createLabeledInputView(){const t=this.locale.t,e=new po(this.locale,No);return e.label=t("Text alternative"),e}}function Q4(o){const t=o.plugins.get("ContextualBalloon");if(o.plugins.get("ImageUtils").getClosestSelectedImageWidget(o.editing.view.document.selection)){const n=qf(o);t.updatePosition(n)}}function qf(o){const t=o.editing.view,e=jt.defaultPositions,n=o.plugins.get("ImageUtils");return{target:t.domConverter.mapViewToDom(n.getClosestSelectedImageWidget(t.document.selection)),positions:[e.northArrowSouth,e.northArrowSouthWest,e.northArrowSouthEast,e.southArrowNorth,e.southArrowNorthWest,e.southArrowNorthEast,e.viewportStickyNorth]}}class J4 extends M{static get requires(){return[Fi]}static get pluginName(){return"ImageTextAlternativeUI"}init(){this._createButton()}destroy(){super.destroy(),this._form&&this._form.destroy()}_createButton(){const t=this.editor,e=t.t;t.ui.componentFactory.add("imageTextAlternative",n=>{const i=t.commands.get("imageTextAlternative"),r=new et(n);return r.set({label:e("Change image text alternative"),icon:dt.textAlternative,tooltip:!0}),r.bind("isEnabled").to(i,"isEnabled"),r.bind("isOn").to(i,"value",s=>!!s),this.listenTo(r,"execute",()=>{this._showForm()}),r})}_createForm(){const t=this.editor,n=t.editing.view.document,i=t.plugins.get("ImageUtils");this._balloon=this.editor.plugins.get("ContextualBalloon"),this._form=new(v(Y4))(t.locale),this._form.render(),this.listenTo(this._form,"submit",()=>{t.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",(r,s)=>{this._hideForm(!0),s()}),this.listenTo(t.ui,"update",()=>{i.getClosestSelectedImageWidget(n.selection)?this._isVisible&&Q4(t):this._hideForm(!0)}),C({emitter:this._form,activator:()=>this._isVisible,contextElements:()=>[this._balloon.view.element],callback:()=>this._hideForm()})}_showForm(){if(this._isVisible)return;this._form||this._createForm();const t=this.editor,e=t.commands.get("imageTextAlternative"),n=this._form.labeledInput;this._form.disableCssTransitions(),this._isInBalloon||this._balloon.add({view:this._form,position:qf(t)}),n.fieldView.value=n.fieldView.element.value=e.value||"",this._form.labeledInput.fieldView.select(),this._form.enableCssTransitions()}_hideForm(t=!1){this._isInBalloon&&(this._form.focusTracker.isFocused&&this._form.saveButtonView.focus(),this._balloon.remove(this._form),t&&this.editor.editing.view.focus())}get _isVisible(){return!!this._balloon&&this._balloon.visibleView===this._form}get _isInBalloon(){return!!this._balloon&&this._balloon.hasView(this._form)}}class Wf extends M{static get requires(){return[K4,J4]}static get pluginName(){return"ImageTextAlternative"}}function X4(o){const t=(e,n,i)=>{if(!i.consumable.test(n.viewItem,{name:!0,classes:"image"}))return;const r=o.findViewImgElement(n.viewItem);if(!r||!i.consumable.test(r,{name:!0}))return;i.consumable.consume(n.viewItem,{name:!0,classes:"image"});const s=i.convertItem(r,n.modelCursor),a=Tt(s.modelRange.getItems());if(!a){i.consumable.revert(n.viewItem,{name:!0,classes:"image"});return}i.convertChildren(n.viewItem,a),i.updateConversionResult(a,n)};return e=>{e.on("element:figure",t)}}function $f(o,t){const e=(n,i,r)=>{if(!r.consumable.consume(i.item,n.name))return;const s=r.writer,a=r.mapper.toViewElement(i.item),c=o.findViewImgElement(a);i.attributeNewValue===null?(s.removeAttribute("srcset",c),s.removeAttribute("sizes",c)):i.attributeNewValue&&(s.setAttribute("srcset",i.attributeNewValue,c),s.setAttribute("sizes","100vw",c))};return n=>{n.on(`attribute:srcset:${t}`,e)}}function er(o,t,e){const n=(i,r,s)=>{if(!s.consumable.consume(r.item,i.name))return;const a=s.writer,c=s.mapper.toViewElement(r.item),l=o.findViewImgElement(c);a.setAttribute(r.attributeKey,r.attributeNewValue||"",l)};return i=>{i.on(`attribute:${e}:${t}`,n)}}class Za extends ye{observe(t){this.listenTo(t,"load",(e,n)=>{const i=n.target;this.checkShouldIgnoreEventFromTarget(i)||i.tagName=="IMG"&&this._fireEvents(n)},{useCapture:!0})}stopObserving(t){this.stopListening(t)}_fireEvents(t){this.isEnabled&&(this.document.fire("layoutChanged"),this.document.fire("imageLoaded",t))}}class t3 extends Q{constructor(t){super(t);const e=t.config.get("image.insert.type");t.plugins.has("ImageBlockEditing")||e==="block"&&void 0,t.plugins.has("ImageInlineEditing")||e==="inline"&&void 0}refresh(){const t=this.editor.plugins.get("ImageUtils");this.isEnabled=t.isImageAllowed()}execute(t){const e=_t(t.source),n=this.editor.model.document.selection,i=this.editor.plugins.get("ImageUtils"),r=Object.fromEntries(n.getAttributes());e.forEach((s,a)=>{const c=n.getSelectedElement();if(typeof s=="string"&&(s={src:s}),a&&c&&i.isImage(c)){const l=this.editor.model.createPositionAfter(c);i.insertImage({...s,...r},l)}else i.insertImage({...s,...r})})}}class e3 extends Q{constructor(t){super(t),this.decorate("cleanupImage")}refresh(){const e=this.editor.plugins.get("ImageUtils"),n=this.editor.model.document.selection.getSelectedElement();this.isEnabled=e.isImage(n),this.value=this.isEnabled?n.getAttribute("src"):null}execute(t){const e=this.editor.model.document.selection.getSelectedElement(),n=this.editor.plugins.get("ImageUtils");this.editor.model.change(i=>{i.setAttribute("src",t.source,e),this.cleanupImage(i,e),n.setImageNaturalSizeAttributes(e)})}cleanupImage(t,e){t.removeAttribute("srcset",e),t.removeAttribute("sizes",e),t.removeAttribute("sources",e),t.removeAttribute("width",e),t.removeAttribute("height",e),t.removeAttribute("alt",e)}}class Zf extends M{static get requires(){return[Ht]}static get pluginName(){return"ImageEditing"}init(){const t=this.editor,e=t.conversion;t.editing.view.addObserver(Za),e.for("upcast").attributeToAttribute({view:{name:"img",key:"alt"},model:"alt"}).attributeToAttribute({view:{name:"img",key:"srcset"},model:"srcset"});const n=new t3(t),i=new e3(t);t.commands.add("insertImage",n),t.commands.add("replaceImageSource",i),t.commands.add("imageInsert",n)}}class Kf extends M{static get requires(){return[Ht]}static get pluginName(){return"ImageSizeAttributes"}afterInit(){this._registerSchema(),this._registerConverters("imageBlock"),this._registerConverters("imageInline")}_registerSchema(){this.editor.plugins.has("ImageBlockEditing")&&this.editor.model.schema.extend("imageBlock",{allowAttributes:["width","height"]}),this.editor.plugins.has("ImageInlineEditing")&&this.editor.model.schema.extend("imageInline",{allowAttributes:["width","height"]})}_registerConverters(t){const e=this.editor,n=e.plugins.get("ImageUtils"),i=t==="imageBlock"?"figure":"img";e.conversion.for("upcast").attributeToAttribute({view:{name:i,styles:{width:/.+/}},model:{key:"width",value:s=>tr(s)?Xi(s.getStyle("width")):null}}).attributeToAttribute({view:{name:i,key:"width"},model:"width"}).attributeToAttribute({view:{name:i,styles:{height:/.+/}},model:{key:"height",value:s=>tr(s)?Xi(s.getStyle("height")):null}}).attributeToAttribute({view:{name:i,key:"height"},model:"height"}),e.conversion.for("editingDowncast").add(s=>{r(s,"width","width",!0),r(s,"height","height",!0)}),e.conversion.for("dataDowncast").add(s=>{r(s,"width","width",!1),r(s,"height","height",!1)});function r(s,a,c,l){s.on(`attribute:${a}:${t}`,(d,u,m)=>{if(!m.consumable.consume(u.item,d.name))return;const p=m.writer,b=m.mapper.toViewElement(u.item),S=n.findViewImgElement(b);if(u.attributeNewValue!==null?p.setAttribute(c,u.attributeNewValue,S):p.removeAttribute(c,S),u.item.hasAttribute("sources"))return;const B=u.item.hasAttribute("resizedWidth");if(t==="imageInline"&&!B&&!l)return;const z=u.item.getAttribute("width"),V=u.item.getAttribute("height");z&&V&&p.setStyle("aspect-ratio",`${z}/${V}`,S)})}}}class Yf extends Q{constructor(t,e){super(t),this._modelElementName=e}refresh(){const e=this.editor.plugins.get("ImageUtils"),n=e.getClosestSelectedImageElement(this.editor.model.document.selection);this._modelElementName==="imageBlock"?this.isEnabled=e.isInlineImage(n):this.isEnabled=e.isBlockImage(n)}execute(t={}){const e=this.editor,n=this.editor.model,i=e.plugins.get("ImageUtils"),r=i.getClosestSelectedImageElement(n.document.selection),s=Object.fromEntries(r.getAttributes());return!s.src&&!s.uploadId?null:n.change(a=>{const{setImageSizes:c=!0}=t,l=Array.from(n.markers).filter(m=>m.getRange().containsItem(r)),d=i.insertImage(s,n.createSelection(r,"on"),this._modelElementName,{setImageSizes:c});if(!d)return null;const u=a.createRangeOn(d);for(const m of l){const p=m.getRange(),b=p.root.rootName!="$graveyard"?p.getJoined(u,!0):u;a.updateMarker(m,{range:b})}return{oldElement:r,newElement:d}})}}var Qf=L(31),Ka={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ka.insert="head",Ka.singleton=!0,R()(Qf.Z,Ka),Qf.Z.locals;class Jf extends M{static get requires(){return[Ht]}static get pluginName(){return"ImagePlaceholder"}afterInit(){this._setupSchema(),this._setupConversion(),this._setupLoadListener()}_setupSchema(){const t=this.editor.model.schema;t.isRegistered("imageBlock")&&t.extend("imageBlock",{allowAttributes:["placeholder"]}),t.isRegistered("imageInline")&&t.extend("imageInline",{allowAttributes:["placeholder"]})}_setupConversion(){const t=this.editor,e=t.conversion,n=t.plugins.get("ImageUtils");e.for("editingDowncast").add(i=>{i.on("attribute:placeholder",(r,s,a)=>{if(!a.consumable.test(s.item,r.name)||!s.item.is("element","imageBlock")&&!s.item.is("element","imageInline"))return;a.consumable.consume(s.item,r.name);const c=a.writer,l=a.mapper.toViewElement(s.item),d=n.findViewImgElement(l);s.attributeNewValue?(c.addClass("image_placeholder",d),c.setStyle("background-image",`url(${s.attributeNewValue})`,d),c.setCustomProperty("editingPipeline:doNotReuseOnce",!0,d)):(c.removeClass("image_placeholder",d),c.removeStyle("background-image",d))})})}_setupLoadListener(){const t=this.editor,e=t.model,n=t.editing,i=n.view,r=t.plugins.get("ImageUtils");i.addObserver(Za),this.listenTo(i.document,"imageLoaded",(s,a)=>{const c=i.domConverter.mapDomToView(a.target);if(!c)return;const l=r.getImageWidgetFromImageView(c);if(!l)return;const d=n.mapper.toModelElement(l);!d||!d.hasAttribute("placeholder")||e.enqueueChange({isUndoable:!1},u=>{u.removeAttribute("placeholder",d)})})}}class Xf extends M{static get requires(){return[Zf,Kf,Ht,Jf,De]}static get pluginName(){return"ImageBlockEditing"}init(){const t=this.editor;t.model.schema.register("imageBlock",{inheritAllFrom:"$blockObject",allowAttributes:["alt","src","srcset"]}),this._setupConversion(),t.plugins.has("ImageInlineEditing")&&(t.commands.add("imageTypeBlock",new Yf(this.editor,"imageBlock")),this._setupClipboardIntegration())}_setupConversion(){const t=this.editor,e=t.t,n=t.conversion,i=t.plugins.get("ImageUtils");n.for("dataDowncast").elementToStructure({model:"imageBlock",view:(r,{writer:s})=>Ff(s)}),n.for("editingDowncast").elementToStructure({model:"imageBlock",view:(r,{writer:s})=>i.toImageWidget(Ff(s),s,e("image widget"))}),n.for("downcast").add(er(i,"imageBlock","src")).add(er(i,"imageBlock","alt")).add($f(i,"imageBlock")),n.for("upcast").elementToElement({view:Vf(t,"imageBlock"),model:(r,{writer:s})=>s.createElement("imageBlock",r.hasAttribute("src")?{src:r.getAttribute("src")}:void 0)}).add(X4(i))}_setupClipboardIntegration(){const t=this.editor,e=t.model,n=t.editing.view,i=t.plugins.get("ImageUtils"),r=t.plugins.get("ClipboardPipeline");this.listenTo(r,"inputTransformation",(s,a)=>{const c=Array.from(a.content.getChildren());let l;if(!c.every(i.isInlineImageView))return;a.targetRanges?l=t.editing.mapper.toModelRange(a.targetRanges[0]):l=e.document.selection.getFirstRange();const d=e.createSelection(l);if(qa(e.schema,d)==="imageBlock"){const u=new Re(n.document),m=c.map(p=>u.createElement("figure",{class:"image"},p));a.content=u.createDocumentFragment(m)}}),this.listenTo(r,"contentInsertion",(s,a)=>{a.method==="paste"&&e.change(c=>{const l=c.createRangeIn(a.content);for(const d of l.getItems())d.is("element","imageBlock")&&i.setImageNaturalSizeAttributes(d)})})}}var tp=L(8879),Ya={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ya.insert="head",Ya.singleton=!0,R()(tp.Z,Ya),tp.Z.locals;class n3 extends G{constructor(t,e=[]){super(t),this.focusTracker=new Bt,this.keystrokes=new Vt,this._focusables=new ce,this.children=this.createCollection(),this._focusCycler=new fe({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}});for(const n of e)this.children.add(n),this._focusables.add(n),n instanceof jS&&this._focusables.addMany(n.children);if(this._focusables.length>1)for(const n of this._focusables)o3(n)&&(n.focusCycler.on("forwardCycle",i=>{this._focusCycler.focusNext(),i.stop()}),n.focusCycler.on("backwardCycle",i=>{this._focusCycler.focusPrevious(),i.stop()}));this.setTemplate({tag:"form",attributes:{class:["ck","ck-image-insert-form"],tabindex:-1},children:this.children})}render(){super.render(),h({view:this});for(const e of this._focusables)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)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}}function o3(o){return"focusCycler"in o}class ep extends M{static get pluginName(){return"ImageInsertUI"}static get requires(){return[Ht]}constructor(t){super(t),this._integrations=new Map,t.config.define("image.insert.integrations",["upload","assetManager","url"])}init(){const t=this.editor,e=t.model.document.selection,n=t.plugins.get("ImageUtils");this.set("isImageSelected",!1),this.listenTo(t.model.document,"change",()=>{this.isImageSelected=n.isImage(e.getSelectedElement())});const i=r=>this._createToolbarComponent(r);t.ui.componentFactory.add("insertImage",i),t.ui.componentFactory.add("imageInsert",i)}registerIntegration({name:t,observable:e,buttonViewCreator:n,formViewCreator:i,requiresForm:r}){this._integrations.has(t)&&void 0,this._integrations.set(t,{observable:e,buttonViewCreator:n,formViewCreator:i,requiresForm:!!r})}_createToolbarComponent(t){const e=this.editor,n=t.t,i=this._prepareIntegrations();if(!i.length)return null;let r;const s=i[0];if(i.length==1){if(!s.requiresForm)return s.buttonViewCreator(!0);r=s.buttonViewCreator(!0)}else{const l=s.buttonViewCreator(!1);r=new Pi(t,l),r.tooltip=!0,r.bind("label").to(this,"isImageSelected",d=>n(d?"Replace image":"Insert image"))}const a=this.dropdownView=de(t,r),c=i.map(({observable:l})=>l);return a.bind("isEnabled").toMany(c,"isEnabled",(...l)=>l.some(d=>d)),a.once("change:isOpen",()=>{const l=i.map(({formViewCreator:u})=>u(i.length==1)),d=new n3(e.locale,l);a.panelView.children.add(d)}),a}_prepareIntegrations(){const e=this.editor.config.get("image.insert.integrations"),n=[];if(!e.length)return n;for(const i of e){if(!this._integrations.has(i)){["upload","assetManager","url"].includes(i)||void 0;continue}n.push(this._integrations.get(i))}return n.length||void 0,n}}var np=L(2430),Qa={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Qa.insert="head",Qa.singleton=!0,R()(np.Z,Qa),np.Z.locals;class i3 extends M{static get requires(){return[Xf,$n,Wf,ep]}static get pluginName(){return"ImageBlock"}}class r3 extends M{static get requires(){return[Zf,Kf,Ht,Jf,De]}static get pluginName(){return"ImageInlineEditing"}init(){const t=this.editor,e=t.model.schema;e.register("imageInline",{inheritAllFrom:"$inlineObject",allowAttributes:["alt","src","srcset"]}),e.addChildCheck((n,i)=>{if(n.endsWith("caption")&&i.name==="imageInline")return!1}),this._setupConversion(),t.plugins.has("ImageBlockEditing")&&(t.commands.add("imageTypeInline",new Yf(this.editor,"imageInline")),this._setupClipboardIntegration())}_setupConversion(){const t=this.editor,e=t.t,n=t.conversion,i=t.plugins.get("ImageUtils");n.for("dataDowncast").elementToElement({model:"imageInline",view:(r,{writer:s})=>s.createEmptyElement("img")}),n.for("editingDowncast").elementToStructure({model:"imageInline",view:(r,{writer:s})=>i.toImageWidget(V4(s),s,e("image widget"))}),n.for("downcast").add(er(i,"imageInline","src")).add(er(i,"imageInline","alt")).add($f(i,"imageInline")),n.for("upcast").elementToElement({view:Vf(t,"imageInline"),model:(r,{writer:s})=>s.createElement("imageInline",r.hasAttribute("src")?{src:r.getAttribute("src")}:void 0)})}_setupClipboardIntegration(){const t=this.editor,e=t.model,n=t.editing.view,i=t.plugins.get("ImageUtils"),r=t.plugins.get("ClipboardPipeline");this.listenTo(r,"inputTransformation",(s,a)=>{const c=Array.from(a.content.getChildren());let l;if(!c.every(i.isBlockImageView))return;a.targetRanges?l=t.editing.mapper.toModelRange(a.targetRanges[0]):l=e.document.selection.getFirstRange();const d=e.createSelection(l);if(qa(e.schema,d)==="imageInline"){const u=new Re(n.document),m=c.map(p=>p.childCount===1?(Array.from(p.getAttributes()).forEach(b=>u.setAttribute(...b,i.findViewImgElement(p))),p.getChild(0)):p);a.content=u.createDocumentFragment(m)}}),this.listenTo(r,"contentInsertion",(s,a)=>{a.method==="paste"&&e.change(c=>{const l=c.createRangeIn(a.content);for(const d of l.getItems())d.is("element","imageInline")&&i.setImageNaturalSizeAttributes(d)})})}}class s3 extends M{static get requires(){return[r3,$n,Wf,ep]}static get pluginName(){return"ImageInline"}}class a3 extends M{static get requires(){return[i3,s3]}static get pluginName(){return"Image"}}class op extends M{static get pluginName(){return"ImageCaptionUtils"}static get requires(){return[Ht]}getCaptionFromImageModelElement(t){for(const e of t.getChildren())if(e&&e.is("element","caption"))return e;return null}getCaptionFromModelSelection(t){const e=this.editor.plugins.get("ImageUtils"),n=t.getFirstPosition().findAncestor("caption");return n&&e.isBlockImage(n.parent)?n:null}matchImageCaptionViewElement(t){const e=this.editor.plugins.get("ImageUtils");return t.name=="figcaption"&&e.isBlockImageView(t.parent)?{name:!0}:null}}class c3 extends Q{refresh(){const t=this.editor,e=t.plugins.get("ImageCaptionUtils"),n=t.plugins.get("ImageUtils");if(!t.plugins.has(Xf)){this.isEnabled=!1,this.value=!1;return}const i=t.model.document.selection,r=i.getSelectedElement();if(!r){const s=e.getCaptionFromModelSelection(i);this.isEnabled=!!s,this.value=!!s;return}this.isEnabled=n.isImage(r),this.isEnabled?this.value=!!e.getCaptionFromImageModelElement(r):this.value=!1}execute(t={}){const{focusCaptionOnShow:e}=t;this.editor.model.change(n=>{this.value?this._hideImageCaption(n):this._showImageCaption(n,e)})}_showImageCaption(t,e){const i=this.editor.model.document.selection,r=this.editor.plugins.get("ImageCaptionEditing"),s=this.editor.plugins.get("ImageUtils");let a=i.getSelectedElement();const c=r._getSavedCaption(a);s.isInlineImage(a)&&(this.editor.execute("imageTypeBlock"),a=i.getSelectedElement());const l=c||t.createElement("caption");t.append(l,a),e&&t.setSelection(l,"in")}_hideImageCaption(t){const e=this.editor,n=e.model.document.selection,i=e.plugins.get("ImageCaptionEditing"),r=e.plugins.get("ImageCaptionUtils");let s=n.getSelectedElement(),a;s?a=r.getCaptionFromImageModelElement(s):(a=r.getCaptionFromModelSelection(n),s=a.parent),i._saveCaption(s,a),t.setSelection(s,"on"),t.remove(a)}}class l3 extends M{static get requires(){return[Ht,op]}static get pluginName(){return"ImageCaptionEditing"}constructor(t){super(t),this._savedCaptionsMap=new WeakMap}init(){const t=this.editor,e=t.model.schema;e.isRegistered("caption")?e.extend("caption",{allowIn:"imageBlock"}):e.register("caption",{allowIn:"imageBlock",allowContentOf:"$block",isLimit:!0}),t.commands.add("toggleImageCaption",new c3(this.editor)),this._setupConversion(),this._setupImageTypeCommandsIntegration(),this._registerCaptionReconversion()}_setupConversion(){const t=this.editor,e=t.editing.view,n=t.plugins.get("ImageUtils"),i=t.plugins.get("ImageCaptionUtils"),r=t.t;t.conversion.for("upcast").elementToElement({view:s=>i.matchImageCaptionViewElement(s),model:"caption"}),t.conversion.for("dataDowncast").elementToElement({model:"caption",view:(s,{writer:a})=>n.isBlockImage(s.parent)?a.createContainerElement("figcaption"):null}),t.conversion.for("editingDowncast").elementToElement({model:"caption",view:(s,{writer:a})=>{if(!n.isBlockImage(s.parent))return null;const c=a.createEditableElement("figcaption");a.setCustomProperty("imageCaption",!0,c),c.placeholder=r("Enter image caption"),uu({view:e,element:c,keepOnFocus:!0});const l=s.parent.getAttribute("alt"),d=l?r("Caption for image: %0",[l]):r("Caption for the image");return Bm(c,a,{label:d})}})}_setupImageTypeCommandsIntegration(){const t=this.editor,e=t.plugins.get("ImageUtils"),n=t.plugins.get("ImageCaptionUtils"),i=t.commands.get("imageTypeInline"),r=t.commands.get("imageTypeBlock"),s=a=>{if(!a.return)return;const{oldElement:c,newElement:l}=a.return;if(!c)return;if(e.isBlockImage(c)){const u=n.getCaptionFromImageModelElement(c);if(u){this._saveCaption(l,u);return}}const d=this._getSavedCaption(c);d&&this._saveCaption(l,d)};i&&this.listenTo(i,"execute",s,{priority:"low"}),r&&this.listenTo(r,"execute",s,{priority:"low"})}_getSavedCaption(t){const e=this._savedCaptionsMap.get(t);return e?lt.fromJSON(e):null}_saveCaption(t,e){this._savedCaptionsMap.set(t,e.toJSON())}_registerCaptionReconversion(){const t=this.editor,e=t.model,n=t.plugins.get("ImageUtils"),i=t.plugins.get("ImageCaptionUtils");e.document.on("change:data",()=>{const r=e.document.differ.getChanges();for(const s of r){if(s.attributeKey!=="alt")continue;const a=s.range.start.nodeAfter;if(n.isBlockImage(a)){const c=i.getCaptionFromImageModelElement(a);if(!c)return;t.editing.reconvertItem(c)}}})}}class d3 extends M{static get requires(){return[op]}static get pluginName(){return"ImageCaptionUI"}init(){const t=this.editor,e=t.editing.view,n=t.plugins.get("ImageCaptionUtils"),i=t.t;t.ui.componentFactory.add("toggleImageCaption",r=>{const s=t.commands.get("toggleImageCaption"),a=new et(r);return a.set({icon:dt.caption,tooltip:!0,isToggleable:!0}),a.bind("isOn","isEnabled").to(s,"value","isEnabled"),a.bind("label").to(s,"value",c=>i(c?"Toggle caption off":"Toggle caption on")),this.listenTo(a,"execute",()=>{t.execute("toggleImageCaption",{focusCaptionOnShow:!0});const c=n.getCaptionFromModelSelection(t.model.document.selection);if(c){const l=t.editing.mapper.toViewElement(c);e.scrollToTheSelection(),e.change(d=>{d.addClass("image__caption_highlighted",l)})}t.editing.view.focus()}),a})}}var ip=L(2423),Ja={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ja.insert="head",Ja.singleton=!0,R()(ip.Z,Ja),ip.Z.locals;class u3 extends M{static get requires(){return[l3,d3]}static get pluginName(){return"ImageCaption"}}class h3 extends st(){constructor(){super();const t=new window.FileReader;this._reader=t,this._data=void 0,this.set("loaded",0),t.onprogress=e=>{this.loaded=e.loaded}}get error(){return this._reader.error}get data(){return this._data}read(t){const e=this._reader;return this.total=t.size,new Promise((n,i)=>{e.onload=()=>{const r=e.result;this._data=r,n(r)},e.onerror=()=>{i("error")},e.onabort=()=>{i("aborted")},this._reader.readAsDataURL(t)})}abort(){this._reader.abort()}}class pn extends M{constructor(){super(...arguments),this.loaders=new te,this._loadersMap=new Map,this._pendingAction=null}static get pluginName(){return"FileRepository"}static get requires(){return[Ni]}init(){this.loaders.on("change",()=>this._updatePendingAction()),this.set("uploaded",0),this.set("uploadTotal",null),this.bind("uploadedPercent").to(this,"uploaded",this,"uploadTotal",(t,e)=>e?t/e*100:0)}getLoader(t){return this._loadersMap.get(t)||null}createLoader(t){if(!this.createUploadAdapter)return null;const e=new rp(Promise.resolve(t),this.createUploadAdapter);return this.loaders.add(e),this._loadersMap.set(t,e),t instanceof Promise&&e.file.then(n=>{this._loadersMap.set(n,e)}).catch(()=>{}),e.on("change:uploaded",()=>{let n=0;for(const i of this.loaders)n+=i.uploaded;this.uploaded=n}),e.on("change:uploadTotal",()=>{let n=0;for(const i of this.loaders)i.uploadTotal&&(n+=i.uploadTotal);this.uploadTotal=n}),e}destroyLoader(t){const e=t instanceof rp?t:this.getLoader(t);e._destroy(),this.loaders.remove(e),this._loadersMap.forEach((n,i)=>{n===e&&this._loadersMap.delete(i)})}_updatePendingAction(){const t=this.editor.plugins.get(Ni);if(this.loaders.length){if(!this._pendingAction){const e=this.editor.t,n=i=>`${e("Upload in progress")} ${parseInt(i)}%.`;this._pendingAction=t.add(n(this.uploadedPercent)),this._pendingAction.bind("message").to(this,"uploadedPercent",n)}}else t.remove(this._pendingAction),this._pendingAction=null}}class rp extends st(){constructor(t,e){super(),this.id=qt(),this._filePromiseWrapper=this._createFilePromiseWrapper(t),this._adapter=e(this),this._reader=new h3,this.set("status","idle"),this.set("uploaded",0),this.set("uploadTotal",null),this.bind("uploadedPercent").to(this,"uploaded",this,"uploadTotal",(n,i)=>i?n/i*100:0),this.set("uploadResponse",null)}get file(){return this._filePromiseWrapper?this._filePromiseWrapper.promise.then(t=>this._filePromiseWrapper?t:null):Promise.resolve(null)}get data(){return this._reader.data}read(){if(this.status!="idle")throw new w("filerepository-read-wrong-status",this);return this.status="reading",this.file.then(t=>this._reader.read(t)).then(t=>{if(this.status!=="reading")throw this.status;return this.status="idle",t}).catch(t=>{throw t==="aborted"?(this.status="aborted","aborted"):(this.status="error",this._reader.error?this._reader.error:t)})}upload(){if(this.status!="idle")throw new w("filerepository-upload-wrong-status",this);return this.status="uploading",this.file.then(()=>this._adapter.upload()).then(t=>(this.uploadResponse=t,this.status="idle",t)).catch(t=>{throw this.status==="aborted"?"aborted":(this.status="error",t)})}abort(){const t=this.status;this.status="aborted",this._filePromiseWrapper.isFulfilled?t=="reading"?this._reader.abort():t=="uploading"&&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(t){const e={};return e.promise=new Promise((n,i)=>{e.rejecter=i,e.isFulfilled=!1,t.then(r=>{e.isFulfilled=!0,n(r)}).catch(r=>{e.isFulfilled=!0,i(r)})}),e}}class g3 extends et{constructor(t){super(t),this.buttonView=this,this._fileInputView=new m3(t),this._fileInputView.bind("acceptedType").to(this),this._fileInputView.bind("allowMultipleFiles").to(this),this._fileInputView.delegate("done").to(this),this.on("execute",()=>{this._fileInputView.open()}),this.extendTemplate({attributes:{class:"ck-file-dialog-button"}})}render(){super.render(),this.children.add(this._fileInputView)}}class m3 extends G{constructor(t){super(t),this.set("acceptedType",void 0),this.set("allowMultipleFiles",!1);const e=this.bindTemplate;this.setTemplate({tag:"input",attributes:{class:["ck-hidden"],type:"file",tabindex:"-1",accept:e.to("acceptedType"),multiple:e.to("allowMultipleFiles")},on:{change:e.to(()=>{this.element&&this.element.files&&this.element.files.length&&this.fire("done",this.element.files),this.element.value=""})}})}open(){this.element.click()}}class f3 extends M{static get requires(){return[pn]}static get pluginName(){return"SimpleUploadAdapter"}init(){const t=this.editor.config.get("simpleUpload");if(t){if(!t.uploadUrl){return}this.editor.plugins.get(pn).createUploadAdapter=e=>new p3(e,t)}}}class p3{constructor(t,e){this.loader=t,this.options=e}upload(){return this.loader.file.then(t=>new Promise((e,n)=>{this._initRequest(),this._initListeners(e,n,t),this._sendRequest(t)}))}abort(){this.xhr&&this.xhr.abort()}_initRequest(){const t=this.xhr=new XMLHttpRequest;t.open("POST",this.options.uploadUrl,!0),t.responseType="json"}_initListeners(t,e,n){const i=this.xhr,r=this.loader,s=`Couldn't upload file: ${n.name}.`;i.addEventListener("error",()=>e(s)),i.addEventListener("abort",()=>e()),i.addEventListener("load",()=>{const a=i.response;if(!a||a.error)return e(a&&a.error&&a.error.message?a.error.message:s);const c=a.url?{default:a.url}:a.urls;t({...a,urls:c})}),i.upload&&i.upload.addEventListener("progress",a=>{a.lengthComputable&&(r.uploadTotal=a.total,r.uploaded=a.loaded)})}_sendRequest(t){const e=this.options.headers||{},n=this.options.withCredentials||!1;for(const r of Object.keys(e))this.xhr.setRequestHeader(r,e[r]);this.xhr.withCredentials=n;const i=new FormData;i.append("upload",t),this.xhr.send(i)}}function sp(o){const t=o.map(e=>e.replace("+","\\+"));return new RegExp(`^image\\/(${t.join("|")})$`)}function k3(o){return new Promise((t,e)=>{const n=o.getAttribute("src");fetch(n).then(i=>i.blob()).then(i=>{const r=ap(i,n),a=`image.${r.replace("image/","")}`,c=new File([i],a,{type:r});t(c)}).catch(i=>i&&i.name==="TypeError"?w3(n).then(t).catch(e):e(i))})}function b3(o,t){return!o.isInlineImageView(t)||!t.getAttribute("src")?!1:!!t.getAttribute("src").match(/^data:image\/\w+;base64,/g)||!!t.getAttribute("src").match(/^blob:/g)}function ap(o,t){return o.type?o.type:t.match(/data:(image\/\w+);base64/)?t.match(/data:(image\/\w+);base64/)[1].toLowerCase():"image/jpeg"}function w3(o){return A3(o).then(t=>{const e=ap(t,o),i=`image.${e.replace("image/","")}`;return new File([t],i,{type:e})})}function A3(o){return new Promise((t,e)=>{const n=U.document.createElement("img");n.addEventListener("load",()=>{const i=U.document.createElement("canvas");i.width=n.width,i.height=n.height,i.getContext("2d").drawImage(n,0,0),i.toBlob(s=>s?t(s):e())}),n.addEventListener("error",()=>e()),n.src=o})}class C3 extends M{static get pluginName(){return"ImageUploadUI"}init(){const t=this.editor,e=t.t,n=i=>{const r=new g3(i),s=t.commands.get("uploadImage"),a=t.config.get("image.upload.types"),c=sp(a);return r.set({acceptedType:a.map(l=>`image/${l}`).join(","),allowMultipleFiles:!0,label:e("Upload image from computer"),icon:dt.imageUpload,tooltip:!0}),r.bind("isEnabled").to(s),r.on("done",(l,d)=>{const u=Array.from(d).filter(m=>c.test(m.type));u.length&&(t.execute("uploadImage",{file:u}),t.editing.view.focus())}),r};if(t.ui.componentFactory.add("uploadImage",n),t.ui.componentFactory.add("imageUpload",n),t.plugins.has("ImageInsertUI")){const i=t.plugins.get("ImageInsertUI"),r=t.commands.get("uploadImage");i.registerIntegration({name:"upload",observable:r,buttonViewCreator:()=>{const s=t.ui.componentFactory.create("uploadImage");return s.bind("label").to(i,"isImageSelected",a=>e(a?"Replace image from computer":"Upload image from computer")),s},formViewCreator:()=>{const s=t.ui.componentFactory.create("uploadImage");return s.withText=!0,s.bind("label").to(i,"isImageSelected",a=>e(a?"Replace from computer":"Upload from computer")),s.on("execute",()=>{i.dropdownView.isOpen=!1}),s}})}}}var cp=L(2926),Xa={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Xa.insert="head",Xa.singleton=!0,R()(cp.Z,Xa),cp.Z.locals;var lp=L(1547),tc={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};tc.insert="head",tc.singleton=!0,R()(lp.Z,tc),lp.Z.locals;var dp=L(6618),ec={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};ec.insert="head",ec.singleton=!0,R()(dp.Z,ec),dp.Z.locals;class _3 extends M{static get pluginName(){return"ImageUploadProgress"}constructor(t){super(t),this.uploadStatusChange=(e,n,i)=>{const r=this.editor,s=n.item,a=s.getAttribute("uploadId");if(!i.consumable.consume(n.item,e.name))return;const c=r.plugins.get("ImageUtils"),l=r.plugins.get(pn),d=a?n.attributeNewValue:null,u=this.placeholder,m=r.editing.mapper.toViewElement(s),p=i.writer;if(d=="reading"){up(m,p),hp(c,u,m,p);return}if(d=="uploading"){const b=l.loaders.get(a);up(m,p),b?(gp(m,p),y3(m,p,b,r.editing.view),T3(c,m,p,b)):hp(c,u,m,p);return}d=="complete"&&l.loaders.get(a)&&E3(m,p,r.editing.view),x3(m,p),gp(m,p),v3(m,p)},this.placeholder="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="}init(){const t=this.editor;t.plugins.has("ImageBlockEditing")&&t.editing.downcastDispatcher.on("attribute:uploadStatus:imageBlock",this.uploadStatusChange),t.plugins.has("ImageInlineEditing")&&t.editing.downcastDispatcher.on("attribute:uploadStatus:imageInline",this.uploadStatusChange)}}function up(o,t){o.hasClass("ck-appear")||t.addClass("ck-appear",o)}function v3(o,t){t.removeClass("ck-appear",o)}function hp(o,t,e,n){e.hasClass("ck-image-upload-placeholder")||n.addClass("ck-image-upload-placeholder",e);const i=o.findViewImgElement(e);i.getAttribute("src")!==t&&n.setAttribute("src",t,i),mp(e,"placeholder")||n.insert(n.createPositionAfter(i),S3(n))}function gp(o,t){o.hasClass("ck-image-upload-placeholder")&&t.removeClass("ck-image-upload-placeholder",o),fp(o,t,"placeholder")}function y3(o,t,e,n){const i=D3(t);t.insert(t.createPositionAt(o,"end"),i),e.on("change:uploadedPercent",(r,s,a)=>{n.change(c=>{c.setStyle("width",a+"%",i)})})}function x3(o,t){fp(o,t,"progressBar")}function E3(o,t,e){const n=t.createUIElement("div",{class:"ck-image-upload-complete-icon"});t.insert(t.createPositionAt(o,"end"),n),setTimeout(()=>{e.change(i=>i.remove(i.createRangeOn(n)))},3e3)}function D3(o){const t=o.createUIElement("div",{class:"ck-progress-bar"});return o.setCustomProperty("progressBar",!0,t),t}function S3(o){const t=o.createUIElement("div",{class:"ck-upload-placeholder-loader"});return o.setCustomProperty("placeholder",!0,t),t}function mp(o,t){for(const e of o.getChildren())if(e.getCustomProperty(t))return e}function fp(o,t,e){const n=mp(o,e);n&&t.remove(t.createRangeOn(n))}function T3(o,t,e,n){if(n.data){const i=o.findViewImgElement(t);e.setAttribute("src",n.data,i)}}class I3 extends Q{refresh(){const t=this.editor,e=t.plugins.get("ImageUtils"),n=t.model.document.selection.getSelectedElement();this.isEnabled=e.isImageAllowed()||e.isImage(n)}execute(t){const e=_t(t.file),n=this.editor.model.document.selection,i=this.editor.plugins.get("ImageUtils"),r=Object.fromEntries(n.getAttributes());e.forEach((s,a)=>{const c=n.getSelectedElement();if(a&&c&&i.isImage(c)){const l=this.editor.model.createPositionAfter(c);this._uploadImage(s,r,l)}else this._uploadImage(s,r)})}_uploadImage(t,e,n){const i=this.editor,s=i.plugins.get(pn).createLoader(t),a=i.plugins.get("ImageUtils");s&&a.insertImage({...e,uploadId:s.id},n)}}class M3 extends M{static get requires(){return[pn,Fg,De,Ht]}static get pluginName(){return"ImageUploadEditing"}constructor(t){super(t),t.config.define("image",{upload:{types:["jpeg","png","gif","bmp","webp","tiff"]}}),this._uploadImageElements=new Map}init(){const t=this.editor,e=t.model.document,n=t.conversion,i=t.plugins.get(pn),r=t.plugins.get("ImageUtils"),s=t.plugins.get("ClipboardPipeline"),a=sp(t.config.get("image.upload.types")),c=new I3(t);t.commands.add("uploadImage",c),t.commands.add("imageUpload",c),n.for("upcast").attributeToAttribute({view:{name:"img",key:"uploadId"},model:"uploadId"}),this.listenTo(t.editing.view.document,"clipboardInput",(l,d)=>{if(B3(d.dataTransfer))return;const u=Array.from(d.dataTransfer.files).filter(m=>m?a.test(m.type):!1);u.length&&(l.stop(),t.model.change(m=>{d.targetRanges&&m.setSelection(d.targetRanges.map(p=>t.editing.mapper.toModelRange(p))),t.execute("uploadImage",{file:u})}))}),this.listenTo(s,"inputTransformation",(l,d)=>{const u=Array.from(t.editing.view.createRangeIn(d.content)).map(p=>p.item).filter(p=>b3(r,p)&&!p.getAttribute("uploadProcessed")).map(p=>({promise:k3(p),imageElement:p}));if(!u.length)return;const m=new Re(t.editing.view.document);for(const p of u){m.setAttribute("uploadProcessed",!0,p.imageElement);const b=i.createLoader(p.promise);b&&(m.setAttribute("src","",p.imageElement),m.setAttribute("uploadId",b.id,p.imageElement))}}),t.editing.view.document.on("dragover",(l,d)=>{d.preventDefault()}),e.on("change",()=>{const l=e.differ.getChanges({includeChangesInGraveyard:!0}).reverse(),d=new Set;for(const u of l)if(u.type=="insert"&&u.name!="$text"){const m=u.position.nodeAfter,p=u.position.root.rootName=="$graveyard";for(const b of N3(t,m)){const S=b.getAttribute("uploadId");if(!S)continue;const B=i.loaders.get(S);B&&(p?d.has(S)||B.abort():(d.add(S),this._uploadImageElements.set(S,b),B.status=="idle"&&this._readAndUpload(B)))}}}),this.on("uploadComplete",(l,{imageElement:d,data:u})=>{const m=u.urls?u.urls:u;this.editor.model.change(p=>{p.setAttribute("src",m.default,d),this._parseAndSetSrcsetAttributeOnImage(m,d,p),r.setImageNaturalSizeAttributes(d)})},{priority:"low"})}afterInit(){const t=this.editor.model.schema;this.editor.plugins.has("ImageBlockEditing")&&t.extend("imageBlock",{allowAttributes:["uploadId","uploadStatus"]}),this.editor.plugins.has("ImageInlineEditing")&&t.extend("imageInline",{allowAttributes:["uploadId","uploadStatus"]})}_readAndUpload(t){const e=this.editor,n=e.model,i=e.locale.t,r=e.plugins.get(pn),s=e.plugins.get(Fg),a=e.plugins.get("ImageUtils"),c=this._uploadImageElements;return n.enqueueChange({isUndoable:!1},d=>{d.setAttribute("uploadStatus","reading",c.get(t.id))}),t.read().then(()=>{const d=t.upload(),u=c.get(t.id);if(g.isSafari){const m=e.editing.mapper.toViewElement(u),p=a.findViewImgElement(m);e.editing.view.once("render",()=>{if(!p.parent)return;const b=e.editing.view.domConverter.mapViewToDom(p.parent);if(!b)return;const S=b.style.display;b.style.display="none",b._ckHack=b.offsetHeight,b.style.display=S})}return n.enqueueChange({isUndoable:!1},m=>{m.setAttribute("uploadStatus","uploading",u)}),d}).then(d=>{n.enqueueChange({isUndoable:!1},u=>{const m=c.get(t.id);u.setAttribute("uploadStatus","complete",m),this.fire("uploadComplete",{data:d,imageElement:m})}),l()}).catch(d=>{if(t.status!=="error"&&t.status!=="aborted")throw d;t.status=="error"&&d&&s.showWarning(d,{title:i("Upload failed"),namespace:"upload"}),n.enqueueChange({isUndoable:!1},u=>{u.remove(c.get(t.id))}),l()});function l(){n.enqueueChange({isUndoable:!1},d=>{const u=c.get(t.id);d.removeAttribute("uploadId",u),d.removeAttribute("uploadStatus",u),c.delete(t.id)}),r.destroyLoader(t)}}_parseAndSetSrcsetAttributeOnImage(t,e,n){let i=0;const r=Object.keys(t).filter(s=>{const a=parseInt(s,10);if(!isNaN(a))return i=Math.max(i,a),!0}).map(s=>`${t[s]} ${s}w`).join(", ");if(r!=""){const s={srcset:r};!e.hasAttribute("width")&&!e.hasAttribute("height")&&(s.width=i),n.setAttributes(s,e)}}}function B3(o){return Array.from(o.types).includes("text/html")&&o.getData("text/html")!==""}function N3(o,t){const e=o.plugins.get("ImageUtils");return Array.from(o.model.createRangeOn(t)).filter(n=>e.isImage(n.item)).map(n=>n.item)}class z3 extends M{static get pluginName(){return"ImageUpload"}static get requires(){return[M3,C3,_3]}}class P3 extends Q{refresh(){const t=this.editor,n=t.plugins.get("ImageUtils").getClosestSelectedImageElement(t.model.document.selection);this.isEnabled=!!n,!n||!n.hasAttribute("resizedWidth")?this.value=null:this.value={width:n.getAttribute("resizedWidth"),height:null}}execute(t){const e=this.editor,n=e.model,i=e.plugins.get("ImageUtils"),r=i.getClosestSelectedImageElement(n.document.selection);this.value={width:t.width,height:null},r&&n.change(s=>{s.setAttribute("resizedWidth",t.width,r),s.removeAttribute("resizedHeight",r),i.setImageNaturalSizeAttributes(r)})}}class pp extends M{static get requires(){return[Ht]}static get pluginName(){return"ImageResizeEditing"}constructor(t){super(t),t.config.define("image",{resizeUnit:"%",resizeOptions:[{name:"resizeImage:original",value:null,icon:"original"},{name:"resizeImage:25",value:"25",icon:"small"},{name:"resizeImage:50",value:"50",icon:"medium"},{name:"resizeImage:75",value:"75",icon:"large"}]})}init(){const t=this.editor,e=new P3(t);this._registerSchema(),this._registerConverters("imageBlock"),this._registerConverters("imageInline"),t.commands.add("resizeImage",e),t.commands.add("imageResize",e)}_registerSchema(){this.editor.plugins.has("ImageBlockEditing")&&this.editor.model.schema.extend("imageBlock",{allowAttributes:["resizedWidth","resizedHeight"]}),this.editor.plugins.has("ImageInlineEditing")&&this.editor.model.schema.extend("imageInline",{allowAttributes:["resizedWidth","resizedHeight"]})}_registerConverters(t){const e=this.editor,n=e.plugins.get("ImageUtils");e.conversion.for("downcast").add(i=>i.on(`attribute:resizedWidth:${t}`,(r,s,a)=>{if(!a.consumable.consume(s.item,r.name))return;const c=a.writer,l=a.mapper.toViewElement(s.item);s.attributeNewValue!==null?(c.setStyle("width",s.attributeNewValue,l),c.addClass("image_resized",l)):(c.removeStyle("width",l),c.removeClass("image_resized",l))})),e.conversion.for("dataDowncast").attributeToAttribute({model:{name:t,key:"resizedHeight"},view:i=>({key:"style",value:{height:i}})}),e.conversion.for("editingDowncast").add(i=>i.on(`attribute:resizedHeight:${t}`,(r,s,a)=>{if(!a.consumable.consume(s.item,r.name))return;const c=a.writer,l=a.mapper.toViewElement(s.item),d=t==="imageInline"?n.findViewImgElement(l):l;s.attributeNewValue!==null?c.setStyle("height",s.attributeNewValue,d):c.removeStyle("height",d)})),e.conversion.for("upcast").attributeToAttribute({view:{name:t==="imageBlock"?"figure":"img",styles:{width:/.+/}},model:{key:"resizedWidth",value:i=>tr(i)?null:i.getStyle("width")}}),e.conversion.for("upcast").attributeToAttribute({view:{name:t==="imageBlock"?"figure":"img",styles:{height:/.+/}},model:{key:"resizedHeight",value:i=>tr(i)?null:i.getStyle("height")}})}}const nc={small:dt.objectSizeSmall,medium:dt.objectSizeMedium,large:dt.objectSizeLarge,original:dt.objectSizeFull};class L3 extends M{static get requires(){return[pp]}static get pluginName(){return"ImageResizeButtons"}constructor(t){super(t),this._resizeUnit=t.config.get("image.resizeUnit")}init(){const t=this.editor,e=t.config.get("image.resizeOptions"),n=t.commands.get("resizeImage");this.bind("isEnabled").to(n);for(const i of e)this._registerImageResizeButton(i);this._registerImageResizeDropdown(e)}_registerImageResizeButton(t){const e=this.editor,{name:n,value:i,icon:r}=t,s=i?i+this._resizeUnit:null;e.ui.componentFactory.add(n,a=>{const c=new et(a),l=e.commands.get("resizeImage"),d=this._getOptionLabelValue(t,!0);if(!nc[r])throw new w("imageresizebuttons-missing-icon",e,t);return c.set({label:d,icon:nc[r],tooltip:d,isToggleable:!0}),c.bind("isEnabled").to(this),c.bind("isOn").to(l,"value",kp(s)),this.listenTo(c,"execute",()=>{e.execute("resizeImage",{width:s})}),c})}_registerImageResizeDropdown(t){const e=this.editor,n=e.t,i=t.find(s=>!s.value),r=s=>{const a=e.commands.get("resizeImage"),c=de(s,eu),l=c.buttonView,d=n("Resize image");return l.set({tooltip:d,commandValue:i.value,icon:nc.medium,isToggleable:!0,label:this._getOptionLabelValue(i),withText:!0,class:"ck-resize-image-button",ariaLabel:d,ariaLabelledBy:void 0}),l.bind("label").to(a,"value",u=>u&&u.width?u.width:this._getOptionLabelValue(i)),c.bind("isEnabled").to(this),Gs(c,()=>this._getResizeDropdownListItemDefinitions(t,a),{ariaLabel:n("Image resize list"),role:"menu"}),this.listenTo(c,"execute",u=>{e.execute(u.source.commandName,{width:u.source.commandValue}),e.editing.view.focus()}),c};e.ui.componentFactory.add("resizeImage",r),e.ui.componentFactory.add("imageResize",r)}_getOptionLabelValue(t,e=!1){const n=this.editor.t;return t.label?t.label:e?t.value?n("Resize image to %0",t.value+this._resizeUnit):n("Resize image to the original size"):t.value?t.value+this._resizeUnit:n("Original")}_getResizeDropdownListItemDefinitions(t,e){const n=new te;return t.map(i=>{const r=i.value?i.value+this._resizeUnit:null,s={type:"button",model:new la({commandName:"resizeImage",commandValue:r,label:this._getOptionLabelValue(i),role:"menuitemradio",withText:!0,icon:null})};s.model.bind("isOn").to(e,"value",kp(r)),n.add(s)}),n}}function kp(o){return t=>{const e=t;return o===null&&e===o?!0:e!==null&&e.width===o}}const O3="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",oc="image_resized";class R3 extends M{static get requires(){return[Na,Ht]}static get pluginName(){return"ImageResizeHandles"}init(){const t=this.editor.commands.get("resizeImage");this.bind("isEnabled").to(t),this._setupResizerCreator()}_setupResizerCreator(){const t=this.editor,e=t.editing.view,n=t.plugins.get("ImageUtils");e.addObserver(Za),this.listenTo(e.document,"imageLoaded",(i,r)=>{if(!r.target.matches(O3))return;const s=t.editing.view.domConverter,a=s.domToView(r.target),c=n.getImageWidgetFromImageView(a);let l=this.editor.plugins.get(Na).getResizerByViewElement(c);if(l){l.redraw();return}const d=t.editing.mapper,u=d.toModelElement(c);l=t.plugins.get(Na).attachTo({unit:t.config.get("image.resizeUnit"),modelElement:u,viewElement:c,editor:t,getHandleHost(m){return m.querySelector("img")},getResizeHost(){return s.mapViewToDom(d.toViewElement(u.parent))},isCentered(){const m=u.getAttribute("imageStyle");return!m||m=="block"||m=="alignCenter"},onCommit(m){e.change(p=>{p.removeClass(oc,c)}),t.execute("resizeImage",{width:m})}}),l.on("updateSize",()=>{c.hasClass(oc)||e.change(p=>{p.addClass(oc,c)});const m=u.name==="imageInline"?a:c;m.getStyle("height")&&e.change(p=>{p.removeStyle("height",m)})}),l.bind("isEnabled").to(this)})}}var bp=L(2400),ic={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};ic.insert="head",ic.singleton=!0,R()(bp.Z,ic),bp.Z.locals;class j3 extends M{static get requires(){return[pp,R3,L3]}static get pluginName(){return"ImageResize"}}class F3 extends Q{constructor(t,e){super(t),this._defaultStyles={imageBlock:!1,imageInline:!1},this._styles=new Map(e.map(n=>{if(n.isDefault)for(const i of n.modelElements)this._defaultStyles[i]=n.name;return[n.name,n]}))}refresh(){const n=this.editor.plugins.get("ImageUtils").getClosestSelectedImageElement(this.editor.model.document.selection);this.isEnabled=!!n,this.isEnabled?n.hasAttribute("imageStyle")?this.value=n.getAttribute("imageStyle"):this.value=this._defaultStyles[n.name]:this.value=!1}execute(t={}){const e=this.editor,n=e.model,i=e.plugins.get("ImageUtils");n.change(r=>{const s=t.value,{setImageSizes:a=!0}=t;let c=i.getClosestSelectedImageElement(n.document.selection);s&&this.shouldConvertImageType(s,c)&&(this.editor.execute(i.isBlockImage(c)?"imageTypeInline":"imageTypeBlock",{setImageSizes:a}),c=i.getClosestSelectedImageElement(n.document.selection)),!s||this._styles.get(s).isDefault?r.removeAttribute("imageStyle",c):r.setAttribute("imageStyle",s,c),a&&i.setImageNaturalSizeAttributes(c)})}shouldConvertImageType(t,e){return!this._styles.get(t).modelElements.includes(e.name)}}const{objectFullWidth:V3,objectInline:wp,objectLeft:Ap,objectRight:rc,objectCenter:sc,objectBlockLeft:Cp,objectBlockRight:_p}=dt,nr={get inline(){return{name:"inline",title:"In line",icon:wp,modelElements:["imageInline"],isDefault:!0}},get alignLeft(){return{name:"alignLeft",title:"Left aligned image",icon:Ap,modelElements:["imageBlock","imageInline"],className:"image-style-align-left"}},get alignBlockLeft(){return{name:"alignBlockLeft",title:"Left aligned image",icon:Cp,modelElements:["imageBlock"],className:"image-style-block-align-left"}},get alignCenter(){return{name:"alignCenter",title:"Centered image",icon:sc,modelElements:["imageBlock"],className:"image-style-align-center"}},get alignRight(){return{name:"alignRight",title:"Right aligned image",icon:rc,modelElements:["imageBlock","imageInline"],className:"image-style-align-right"}},get alignBlockRight(){return{name:"alignBlockRight",title:"Right aligned image",icon:_p,modelElements:["imageBlock"],className:"image-style-block-align-right"}},get block(){return{name:"block",title:"Centered image",icon:sc,modelElements:["imageBlock"],isDefault:!0}},get side(){return{name:"side",title:"Side image",icon:rc,modelElements:["imageBlock"],className:"image-style-side"}}},vp={full:V3,left:Cp,right:_p,center:sc,inlineLeft:Ap,inlineRight:rc,inline:wp},yp=[{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 H3(o){return(o.configuredStyles.options||[]).map(n=>q3(n)).filter(n=>W3(n,o))}function U3(o,t){return o&&t?{options:["inline","alignLeft","alignRight","alignCenter","alignBlockLeft","alignBlockRight","block","side"]}:o?{options:["block","side"]}:t?{options:["inline","alignLeft","alignRight"]}:{}}function G3(o){return o.has("ImageBlockEditing")&&o.has("ImageInlineEditing")?[...yp]:[]}function q3(o){return typeof o=="string"?nr[o]?o={...nr[o]}:o={name:o}:o=$3(nr[o.name],o),typeof o.icon=="string"&&(o.icon=vp[o.icon]||o.icon),o}function W3(o,{isBlockPluginLoaded:t,isInlinePluginLoaded:e}){const{modelElements:n,name:i}=o;if(!n||!n.length||!i)return xp({style:o}),!1;{const r=[t?"imageBlock":null,e?"imageInline":null];if(!n.some(s=>r.includes(s)))return n.map(s=>s==="imageBlock"?"ImageBlockEditing":"ImageInlineEditing"),!1}return!0}function $3(o,t){const e={...t};for(const n in o)Object.prototype.hasOwnProperty.call(t,n)||(e[n]=o[n]);return e}function xp(o){}const ac={normalizeStyles:H3,getDefaultStylesConfiguration:U3,getDefaultDropdownDefinitions:G3,warnInvalidStyle:xp,DEFAULT_OPTIONS:nr,DEFAULT_ICONS:vp,DEFAULT_DROPDOWN_DEFINITIONS:yp};function Z3(o){return(t,e,n)=>{if(!n.consumable.consume(e.item,t.name))return;const i=Ep(e.attributeNewValue,o),r=Ep(e.attributeOldValue,o),s=n.mapper.toViewElement(e.item),a=n.writer;r&&a.removeClass(r.className,s),i&&a.addClass(i.className,s)}}function K3(o){const t={imageInline:o.filter(e=>!e.isDefault&&e.modelElements.includes("imageInline")),imageBlock:o.filter(e=>!e.isDefault&&e.modelElements.includes("imageBlock"))};return(e,n,i)=>{if(!n.modelRange)return;const r=n.viewItem,s=Tt(n.modelRange.getItems());if(s&&i.schema.checkAttribute(s,"imageStyle"))for(const a of t[s.name])i.consumable.consume(r,{classes:a.className})&&i.writer.setAttribute("imageStyle",a.name,s)}}function Ep(o,t){for(const e of t)if(e.name===o)return e}class Dp extends M{static get pluginName(){return"ImageStyleEditing"}static get requires(){return[Ht]}init(){const{normalizeStyles:t,getDefaultStylesConfiguration:e}=ac,n=this.editor,i=n.plugins.has("ImageBlockEditing"),r=n.plugins.has("ImageInlineEditing");n.config.define("image.styles",e(i,r)),this.normalizedStyles=t({configuredStyles:n.config.get("image.styles"),isBlockPluginLoaded:i,isInlinePluginLoaded:r}),this._setupConversion(i,r),this._setupPostFixer(),n.commands.add("imageStyle",new F3(n,this.normalizedStyles))}_setupConversion(t,e){const n=this.editor,i=n.model.schema,r=Z3(this.normalizedStyles),s=K3(this.normalizedStyles);n.editing.downcastDispatcher.on("attribute:imageStyle",r),n.data.downcastDispatcher.on("attribute:imageStyle",r),t&&(i.extend("imageBlock",{allowAttributes:"imageStyle"}),n.data.upcastDispatcher.on("element:figure",s,{priority:"low"})),e&&(i.extend("imageInline",{allowAttributes:"imageStyle"}),n.data.upcastDispatcher.on("element:img",s,{priority:"low"}))}_setupPostFixer(){const t=this.editor,e=t.model.document,n=t.plugins.get(Ht),i=new Map(this.normalizedStyles.map(r=>[r.name,r]));e.registerPostFixer(r=>{let s=!1;for(const a of e.differ.getChanges())if(a.type=="insert"||a.type=="attribute"&&a.attributeKey=="imageStyle"){let c=a.type=="insert"?a.position.nodeAfter:a.range.start.nodeAfter;if(c&&c.is("element","paragraph")&&c.childCount>0&&(c=c.getChild(0)),!n.isImage(c))continue;const l=c.getAttribute("imageStyle");if(!l)continue;const d=i.get(l);(!d||!d.modelElements.includes(c.name))&&(r.removeAttribute("imageStyle",c),s=!0)}return s})}}var Sp=L(3534),cc={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};cc.insert="head",cc.singleton=!0,R()(Sp.Z,cc),Sp.Z.locals;class Y3 extends M{static get requires(){return[Dp]}static get pluginName(){return"ImageStyleUI"}get localizedDefaultStylesTitles(){const t=this.editor.t;return{"Wrap text":t("Wrap text"),"Break text":t("Break text"),"In line":t("In line"),"Full size image":t("Full size image"),"Side image":t("Side image"),"Left aligned image":t("Left aligned image"),"Centered image":t("Centered image"),"Right aligned image":t("Right aligned image")}}init(){const t=this.editor.plugins,e=this.editor.config.get("image.toolbar")||[],n=t.get("ImageStyleEditing"),i=Tp(n.normalizedStyles,this.localizedDefaultStylesTitles);for(const s of i)this._createButton(s);const r=Tp([...e.filter(bt),...ac.getDefaultDropdownDefinitions(t)],this.localizedDefaultStylesTitles);for(const s of r)this._createDropdown(s,i)}_createDropdown(t,e){const n=this.editor.ui.componentFactory;n.add(t.name,i=>{let r;const{defaultItem:s,items:a,title:c}=t,l=a.filter(p=>e.find(({name:b})=>Ip(b)===p)).map(p=>{const b=n.create(p);return p===s&&(r=b),b});a.length!==l.length&&ac.warnInvalidStyle({dropdown:t});const d=de(i,Pi),u=d.buttonView,m=u.arrowView;return Us(d,l,{enableActiveItemFocusOnDropdownOpen:!0}),u.set({label:Mp(c,r.label),class:null,tooltip:!0}),m.unbind("label"),m.set({label:c}),u.bind("icon").toMany(l,"isOn",(...p)=>{const b=p.findIndex(sn);return b<0?r.icon:l[b].icon}),u.bind("label").toMany(l,"isOn",(...p)=>{const b=p.findIndex(sn);return Mp(c,b<0?r.label:l[b].label)}),u.bind("isOn").toMany(l,"isOn",(...p)=>p.some(sn)),u.bind("class").toMany(l,"isOn",(...p)=>p.some(sn)?"ck-splitbutton_flatten":void 0),u.on("execute",()=>{l.some(({isOn:p})=>p)?d.isOpen=!d.isOpen:r.fire("execute")}),d.bind("isEnabled").toMany(l,"isEnabled",(...p)=>p.some(sn)),this.listenTo(d,"execute",()=>{this.editor.editing.view.focus()}),d})}_createButton(t){const e=t.name;this.editor.ui.componentFactory.add(Ip(e),n=>{const i=this.editor.commands.get("imageStyle"),r=new et(n);return r.set({label:t.title,icon:t.icon,tooltip:!0,isToggleable:!0}),r.bind("isEnabled").to(i,"isEnabled"),r.bind("isOn").to(i,"value",s=>s===e),r.on("execute",this._executeCommand.bind(this,e)),r})}_executeCommand(t){this.editor.execute("imageStyle",{value:t}),this.editor.editing.view.focus()}}function Tp(o,t){for(const e of o)t[e.title]&&(e.title=t[e.title]);return o}function Ip(o){return`imageStyle:${o}`}function Mp(o,t){return(o?o+": ":"")+t}class Q3 extends M{static get requires(){return[Dp,Y3]}static get pluginName(){return"ImageStyle"}}class J3 extends M{static get requires(){return[$i,Ht]}static get pluginName(){return"ImageToolbar"}afterInit(){const t=this.editor,e=t.t,n=t.plugins.get($i),i=t.plugins.get("ImageUtils");n.register("image",{ariaLabel:e("Image toolbar"),items:X3(t.config.get("image.toolbar")||[]),getRelatedElement:r=>i.getClosestSelectedImageWidget(r)})}}function X3(o){return o.map(t=>bt(t)?t.name:t)}class tN extends M{static get pluginName(){return"IndentEditing"}init(){const t=this.editor;t.commands.add("indent",new su(t)),t.commands.add("outdent",new su(t))}}const Bp='',Np='';class eN extends M{static get pluginName(){return"IndentUI"}init(){const t=this.editor,e=t.locale,n=t.t,i=e.uiLanguageDirection=="ltr"?Bp:Np,r=e.uiLanguageDirection=="ltr"?Np:Bp;this._defineButton("indent",n("Increase indent"),i),this._defineButton("outdent",n("Decrease indent"),r)}_defineButton(t,e,n){const i=this.editor;i.ui.componentFactory.add(t,r=>{const s=i.commands.get(t),a=new et(r);return a.set({label:e,icon:n,tooltip:!0}),a.bind("isEnabled").to(s,"isEnabled"),this.listenTo(a,"execute",()=>{i.execute(t),i.editing.view.focus()}),a})}}class nN extends M{static get pluginName(){return"Indent"}static get requires(){return[tN,eN]}}class oN{constructor(){this._definitions=new Set}get length(){return this._definitions.size}add(t){Array.isArray(t)?t.forEach(e=>this._definitions.add(e)):this._definitions.add(t)}getDispatcher(){return t=>{t.on("attribute:linkHref",(e,n,i)=>{if(!i.consumable.test(n.item,"attribute:linkHref")||!(n.item.is("selection")||i.schema.isInline(n.item)))return;const r=i.writer,s=r.document.selection;for(const a of this._definitions){const c=r.createAttributeElement("a",a.attributes,{priority:5});a.classes&&r.addClass(a.classes,c);for(const l in a.styles)r.setStyle(l,a.styles[l],c);r.setCustomProperty("link",!0,c),a.callback(n.attributeNewValue)?n.item.is("selection")?r.wrap(s.getFirstRange(),c):r.wrap(i.mapper.toViewRange(n.range),c):r.unwrap(i.mapper.toViewRange(n.range),c)}},{priority:"high"})}}getDispatcherForLinkedImage(){return t=>{t.on("attribute:linkHref:imageBlock",(e,n,{writer:i,mapper:r})=>{const s=r.toViewElement(n.item),a=Array.from(s.getChildren()).find(c=>c.is("element","a"));for(const c of this._definitions){const l=Ne(c.attributes);if(c.callback(n.attributeNewValue)){for(const[d,u]of l)d==="class"?i.addClass(u,a):i.setAttribute(d,u,a);c.classes&&i.addClass(c.classes,a);for(const d in c.styles)i.setStyle(d,c.styles[d],a)}else{for(const[d,u]of l)d==="class"?i.removeClass(u,a):i.removeAttribute(d,a);c.classes&&i.removeClass(c.classes,a);for(const d in c.styles)i.removeStyle(d,a)}}})}}}const iN=/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205f\u3000]/g,rN=/^(?:(?:https?|ftps?|mailto):|[^a-z]|[a-z+.-]+(?:[^a-z+.:-]|$))/i,sN=/^[\S]+@((?![-_])(?:[-\w\u00a1-\uffff]{0,63}[^-_]\.))+(?:[a-z\u00a1-\uffff]{2,})$/i,aN=/^((\w+:(\/{2,})?)|(\W))/i,lc="Ctrl+K";function cN(o){return o.is("attributeElement")&&!!o.getCustomProperty("link")}function zp(o,{writer:t}){const e=t.createAttributeElement("a",{href:o},{priority:5});return t.setCustomProperty("link",!0,e),e}function Pp(o){const t=String(o);return lN(t)?t:"#"}function lN(o){return!!o.replace(iN,"").match(rN)}function dN(o,t){const e={"Open in a new tab":o("Open in a new tab"),Downloadable:o("Downloadable")};return t.forEach(n=>("label"in n&&e[n.label]&&(n.label=e[n.label]),n)),t}function uN(o){const t=[];if(o)for(const[e,n]of Object.entries(o)){const i=Object.assign({},n,{id:`link${Mf(e)}`});t.push(i)}return t}function dc(o,t){return o?t.checkAttribute(o.name,"linkHref"):!1}function hN(o){return sN.test(o)}function uc(o,t){const e=hN(o)?"mailto:":t,n=!!e&&!Lp(o);return o&&n?e+o:o}function Lp(o){return aN.test(o)}function Op(o){window.open(o,"_blank","noopener")}class gN extends Q{constructor(){super(...arguments),this.manualDecorators=new te,this.automaticDecorators=new oN}restoreManualDecoratorStates(){for(const t of this.manualDecorators)t.value=this._getDecoratorStateFromModel(t.id)}refresh(){const t=this.editor.model,e=t.document.selection,n=e.getSelectedElement()||Tt(e.getSelectedBlocks());dc(n,t.schema)?(this.value=n.getAttribute("linkHref"),this.isEnabled=t.schema.checkAttribute(n,"linkHref")):(this.value=e.getAttribute("linkHref"),this.isEnabled=t.schema.checkAttributeInSelection(e,"linkHref"));for(const i of this.manualDecorators)i.value=this._getDecoratorStateFromModel(i.id)}execute(t,e={}){const n=this.editor.model,i=n.document.selection,r=[],s=[];for(const a in e)e[a]?r.push(a):s.push(a);n.change(a=>{if(i.isCollapsed){const c=i.getFirstPosition();if(i.hasAttribute("linkHref")){const l=Rp(i);let d=Vo(c,"linkHref",i.getAttribute("linkHref"),n);i.getAttribute("linkHref")===l&&(d=this._updateLinkContent(n,a,d,t)),a.setAttribute("linkHref",t,d),r.forEach(u=>{a.setAttribute(u,!0,d)}),s.forEach(u=>{a.removeAttribute(u,d)}),a.setSelection(a.createPositionAfter(d.end.nodeBefore))}else if(t!==""){const l=Ne(i.getAttributes());l.set("linkHref",t),r.forEach(u=>{l.set(u,!0)});const{end:d}=n.insertContent(a.createText(t,l),c);a.setSelection(d)}["linkHref",...r,...s].forEach(l=>{a.removeSelectionAttribute(l)})}else{const c=n.schema.getValidRanges(i.getRanges(),"linkHref"),l=[];for(const u of i.getSelectedBlocks())n.schema.checkAttribute(u,"linkHref")&&l.push(a.createRangeOn(u));const d=l.slice();for(const u of c)this._isRangeToUpdate(u,l)&&d.push(u);for(const u of d){let m=u;if(d.length===1){const p=Rp(i);i.getAttribute("linkHref")===p&&(m=this._updateLinkContent(n,a,u,t),a.setSelection(a.createSelection(m)))}a.setAttribute("linkHref",t,m),r.forEach(p=>{a.setAttribute(p,!0,m)}),s.forEach(p=>{a.removeAttribute(p,m)})}}})}_getDecoratorStateFromModel(t){const e=this.editor.model,n=e.document.selection,i=n.getSelectedElement();return dc(i,e.schema)?i.getAttribute(t):n.getAttribute(t)}_isRangeToUpdate(t,e){for(const n of e)if(n.containsRange(t))return!1;return!0}_updateLinkContent(t,e,n,i){const r=e.createText(i,{linkHref:i});return t.insertContent(r,n)}}function Rp(o){if(o.isCollapsed){const t=o.getFirstPosition();return t.textNode&&t.textNode.data}else{const t=Array.from(o.getFirstRange().getItems());if(t.length>1)return null;const e=t[0];return e.is("$text")||e.is("$textProxy")?e.data:null}}class mN extends Q{refresh(){const t=this.editor.model,e=t.document.selection,n=e.getSelectedElement();dc(n,t.schema)?this.isEnabled=t.schema.checkAttribute(n,"linkHref"):this.isEnabled=t.schema.checkAttributeInSelection(e,"linkHref")}execute(){const t=this.editor,e=this.editor.model,n=e.document.selection,i=t.commands.get("link");e.change(r=>{const s=n.isCollapsed?[Vo(n.getFirstPosition(),"linkHref",n.getAttribute("linkHref"),e)]:e.schema.getValidRanges(n.getRanges(),"linkHref");for(const a of s)if(r.removeAttribute("linkHref",a),i)for(const c of i.manualDecorators)r.removeAttribute(c.id,a)})}}class fN extends st(){constructor({id:t,label:e,attributes:n,classes:i,styles:r,defaultValue:s}){super(),this.id=t,this.set("value",void 0),this.defaultValue=s,this.label=e,this.attributes=n,this.classes=i,this.styles=r}_createPattern(){return{attributes:this.attributes,classes:this.classes,styles:this.styles}}}var jp=L(3925),hc={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};hc.insert="head",hc.singleton=!0,R()(jp.Z,hc),jp.Z.locals;const pN="ck-link_selected",Fp="automatic",kN="manual",bN=/^(https?:)?\/\//;class Vp extends M{static get pluginName(){return"LinkEditing"}static get requires(){return[hm,rm,De]}constructor(t){super(t),t.config.define("link",{addTargetToExternalLinks:!1})}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:"linkHref"}),t.conversion.for("dataDowncast").attributeToElement({model:"linkHref",view:zp}),t.conversion.for("editingDowncast").attributeToElement({model:"linkHref",view:(i,r)=>zp(Pp(i),r)}),t.conversion.for("upcast").elementToAttribute({view:{name:"a",attributes:{href:!0}},model:{key:"linkHref",value:i=>i.getAttribute("href")}}),t.commands.add("link",new gN(t)),t.commands.add("unlink",new mN(t));const e=dN(t.t,uN(t.config.get("link.decorators")));this._enableAutomaticDecorators(e.filter(i=>i.mode===Fp)),this._enableManualDecorators(e.filter(i=>i.mode===kN)),t.plugins.get(hm).registerAttribute("linkHref"),lT(t,"linkHref","a",pN),this._enableLinkOpen(),this._enableSelectionAttributesFixer(),this._enableClipboardIntegration()}_enableAutomaticDecorators(t){const e=this.editor,i=e.commands.get("link").automaticDecorators;e.config.get("link.addTargetToExternalLinks")&&i.add({id:"linkIsExternal",mode:Fp,callback:r=>!!r&&bN.test(r),attributes:{target:"_blank",rel:"noopener noreferrer"}}),i.add(t),i.length&&e.conversion.for("downcast").add(i.getDispatcher())}_enableManualDecorators(t){if(!t.length)return;const e=this.editor,i=e.commands.get("link").manualDecorators;t.forEach(r=>{e.model.schema.extend("$text",{allowAttributes:r.id});const s=new fN(r);i.add(s),e.conversion.for("downcast").attributeToElement({model:s.id,view:(a,{writer:c,schema:l},{item:d})=>{if((d.is("selection")||l.isInline(d))&&a){const u=c.createAttributeElement("a",s.attributes,{priority:5});s.classes&&c.addClass(s.classes,u);for(const m in s.styles)c.setStyle(m,s.styles[m],u);return c.setCustomProperty("link",!0,u),u}}}),e.conversion.for("upcast").elementToAttribute({view:{name:"a",...s._createPattern()},model:{key:s.id}})})}_enableLinkOpen(){const t=this.editor,n=t.editing.view.document;this.listenTo(n,"click",(i,r)=>{if(!(g.isMac?r.domEvent.metaKey:r.domEvent.ctrlKey))return;let a=r.domTarget;if(a.tagName.toLowerCase()!="a"&&(a=a.closest("a")),!a)return;const c=a.getAttribute("href");c&&(i.stop(),r.preventDefault(),Op(c))},{context:"$capture"}),this.listenTo(n,"keydown",(i,r)=>{const a=t.commands.get("link").value;a&&r.keyCode===tt.enter&&r.altKey&&(i.stop(),Op(a))})}_enableSelectionAttributesFixer(){const e=this.editor.model,n=e.document.selection;this.listenTo(n,"change:attribute",(i,{attributeKeys:r})=>{!r.includes("linkHref")||n.hasAttribute("linkHref")||e.change(s=>{wN(s,AN(e.schema))})})}_enableClipboardIntegration(){const t=this.editor,e=t.model,n=this.editor.config.get("link.defaultProtocol");n&&this.listenTo(t.plugins.get("ClipboardPipeline"),"contentInsertion",(i,r)=>{e.change(s=>{const a=s.createRangeIn(r.content);for(const c of a.getItems())if(c.hasAttribute("linkHref")){const l=uc(c.getAttribute("linkHref"),n);s.setAttribute("linkHref",l,c)}})})}}function wN(o,t){o.removeSelectionAttribute("linkHref");for(const e of t)o.removeSelectionAttribute(e)}function AN(o){return o.getDefinition("$text").allowAttributes.filter(e=>e.startsWith("link"))}var Hp=L(4874),gc={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};gc.insert="head",gc.singleton=!0,R()(Hp.Z,gc),Hp.Z.locals;class CN extends G{constructor(t,e){super(t),this.focusTracker=new Bt,this.keystrokes=new Vt,this._focusables=new ce;const n=t.t;this.urlInputView=this._createUrlInput(),this.saveButtonView=this._createButton(n("Save"),dt.check,"ck-button-save"),this.saveButtonView.type="submit",this.cancelButtonView=this._createButton(n("Cancel"),dt.cancel,"ck-button-cancel","cancel"),this._manualDecoratorSwitches=this._createManualDecoratorSwitches(e),this.children=this._createFormChildren(e.manualDecorators),this._focusCycler=new fe({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}});const i=["ck","ck-link-form","ck-responsive-form"];e.manualDecorators.length&&i.push("ck-link-form_layout-vertical","ck-vertical-form"),this.setTemplate({tag:"form",attributes:{class:i,tabindex:"-1"},children:this.children})}getDecoratorSwitchesState(){return Array.from(this._manualDecoratorSwitches).reduce((t,e)=>(t[e.name]=e.isOn,t),{})}render(){super.render(),h({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 t=this.locale.t,e=new po(this.locale,No);return e.label=t("Link URL"),e}_createButton(t,e,n,i){const r=new et(this.locale);return r.set({label:t,icon:e,tooltip:!0}),r.extendTemplate({attributes:{class:n}}),i&&r.delegate("execute").to(this,i),r}_createManualDecoratorSwitches(t){const e=this.createCollection();for(const n of t.manualDecorators){const i=new gi(this.locale);i.set({name:n.id,label:n.label,withText:!0}),i.bind("isOn").toMany([n,t],"value",(r,s)=>s===void 0&&r===void 0?!!n.defaultValue:!!r),i.on("execute",()=>{n.set("value",!i.isOn)}),e.add(i)}return e}_createFormChildren(t){const e=this.createCollection();if(e.add(this.urlInputView),t.length){const n=new G;n.setTemplate({tag:"ul",children:this._manualDecoratorSwitches.map(i=>({tag:"li",children:[i],attributes:{class:["ck","ck-list__item"]}})),attributes:{class:["ck","ck-reset","ck-list"]}}),e.add(n)}return e.add(this.saveButtonView),e.add(this.cancelButtonView),e}}var Up=L(7536),mc={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};mc.insert="head",mc.singleton=!0,R()(Up.Z,mc),Up.Z.locals;const _N='';class vN extends G{constructor(t){super(t),this.focusTracker=new Bt,this.keystrokes=new Vt,this._focusables=new ce;const e=t.t;this.previewButtonView=this._createPreviewButton(),this.unlinkButtonView=this._createButton(e("Unlink"),_N,"unlink"),this.editButtonView=this._createButton(e("Edit link"),dt.pencil,"edit"),this.set("href",void 0),this._focusCycler=new fe({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(t,e,n){const i=new et(this.locale);return i.set({label:t,icon:e,tooltip:!0}),i.delegate("execute").to(this,n),i}_createPreviewButton(){const t=new et(this.locale),e=this.bindTemplate,n=this.t;return t.set({withText:!0,tooltip:n("Open link in new tab")}),t.extendTemplate({attributes:{class:["ck","ck-link-actions__preview"],href:e.to("href",i=>i&&Pp(i)),target:"_blank",rel:"noopener noreferrer"}}),t.bind("label").to(this,"href",i=>i||n("This link has no URL")),t.bind("isEnabled").to(this,"href",i=>!!i),t.template.tag="a",t.template.eventListeners={},t}}const yN='',Ie="link-ui";class xN extends M{constructor(){super(...arguments),this.actionsView=null,this.formView=null}static get requires(){return[Fi]}static get pluginName(){return"LinkUI"}init(){const t=this.editor;t.editing.view.addObserver(u5),this._balloon=t.plugins.get(Fi),this._createToolbarLinkButton(),this._enableBalloonActivators(),t.conversion.for("editingDowncast").markerToHighlight({model:Ie,view:{classes:["ck-fake-link-selection"]}}),t.conversion.for("editingDowncast").markerToElement({model:Ie,view:{name:"span",classes:["ck-fake-link-selection","ck-fake-link-selection_collapsed"]}})}destroy(){super.destroy(),this.formView&&this.formView.destroy(),this.actionsView&&this.actionsView.destroy()}_createViews(){this.actionsView=this._createActionsView(),this.formView=this._createFormView(),this._enableUserBalloonInteractions()}_createActionsView(){const t=this.editor,e=new vN(t.locale),n=t.commands.get("link"),i=t.commands.get("unlink");return e.bind("href").to(n,"value"),e.editButtonView.bind("isEnabled").to(n),e.unlinkButtonView.bind("isEnabled").to(i),this.listenTo(e,"edit",()=>{this._addFormView()}),this.listenTo(e,"unlink",()=>{t.execute("unlink"),this._hideUI()}),e.keystrokes.set("Esc",(r,s)=>{this._hideUI(),s()}),e.keystrokes.set(lc,(r,s)=>{this._addFormView(),s()}),e}_createFormView(){const t=this.editor,e=t.commands.get("link"),n=t.config.get("link.defaultProtocol"),i=new(v(CN))(t.locale,e);return i.urlInputView.fieldView.bind("value").to(e,"value"),i.urlInputView.bind("isEnabled").to(e,"isEnabled"),i.saveButtonView.bind("isEnabled").to(e),this.listenTo(i,"submit",()=>{const{value:r}=i.urlInputView.fieldView.element,s=uc(r,n);t.execute("link",s,i.getDecoratorSwitchesState()),this._closeFormView()}),this.listenTo(i,"cancel",()=>{this._closeFormView()}),i.keystrokes.set("Esc",(r,s)=>{this._closeFormView(),s()}),i}_createToolbarLinkButton(){const t=this.editor,e=t.commands.get("link"),n=t.t;t.ui.componentFactory.add("link",i=>{const r=new et(i);return r.isEnabled=!0,r.label=n("Link"),r.icon=yN,r.keystroke=lc,r.tooltip=!0,r.isToggleable=!0,r.bind("isEnabled").to(e,"isEnabled"),r.bind("isOn").to(e,"value",s=>!!s),this.listenTo(r,"execute",()=>this._showUI(!0)),r})}_enableBalloonActivators(){const t=this.editor,e=t.editing.view.document;this.listenTo(e,"click",()=>{this._getSelectedLinkElement()&&this._showUI()}),t.keystrokes.set(lc,(n,i)=>{i(),t.commands.get("link").isEnabled&&this._showUI(!0)})}_enableUserBalloonInteractions(){this.editor.keystrokes.set("Tab",(t,e)=>{this._areActionsVisible&&!this.actionsView.focusTracker.isFocused&&(this.actionsView.focus(),e())},{priority:"high"}),this.editor.keystrokes.set("Esc",(t,e)=>{this._isUIVisible&&(this._hideUI(),e())}),C({emitter:this.formView,activator:()=>this._isUIInPanel,contextElements:()=>[this._balloon.view.element],callback:()=>this._hideUI()})}_addActionsView(){this.actionsView||this._createViews(),!this._areActionsInPanel&&this._balloon.add({view:this.actionsView,position:this._getBalloonPositionData()})}_addFormView(){if(this.formView||this._createViews(),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 t=this.editor.commands.get("link");t.restoreManualDecoratorStates(),t.value!==void 0?this._removeFormView():this._hideUI()}_removeFormView(){this._isFormInPanel&&(this.formView.saveButtonView.focus(),this._balloon.remove(this.formView),this.editor.editing.view.focus(),this._hideFakeVisualSelection())}_showUI(t=!1){this.formView||this._createViews(),this._getSelectedLinkElement()?(this._areActionsVisible?this._addFormView():this._addActionsView(),t&&this._balloon.showStack("main")):(this._showFakeVisualSelection(),this._addActionsView(),t&&this._balloon.showStack("main"),this._addFormView()),this._startUpdatingUI()}_hideUI(){if(!this._isUIInPanel)return;const t=this.editor;this.stopListening(t.ui,"update"),this.stopListening(this._balloon,"change:visibleView"),t.editing.view.focus(),this._removeFormView(),this._balloon.remove(this.actionsView),this._hideFakeVisualSelection()}_startUpdatingUI(){const t=this.editor,e=t.editing.view.document;let n=this._getSelectedLinkElement(),i=s();const r=()=>{const a=this._getSelectedLinkElement(),c=s();n&&!a||!n&&c!==i?this._hideUI():this._isUIVisible&&this._balloon.updatePosition(this._getBalloonPositionData()),n=a,i=c};function s(){return e.selection.focus.getAncestors().reverse().find(a=>a.is("element"))}this.listenTo(t.ui,"update",r),this.listenTo(this._balloon,"change:visibleView",r)}get _isFormInPanel(){return!!this.formView&&this._balloon.hasView(this.formView)}get _areActionsInPanel(){return!!this.actionsView&&this._balloon.hasView(this.actionsView)}get _areActionsVisible(){return!!this.actionsView&&this._balloon.visibleView===this.actionsView}get _isUIInPanel(){return this._isFormInPanel||this._areActionsInPanel}get _isUIVisible(){const t=this._balloon.visibleView;return!!this.formView&&t==this.formView||this._areActionsVisible}_getBalloonPositionData(){const t=this.editor.editing.view,e=this.editor.model,n=t.document;let i;if(e.markers.has(Ie)){const r=Array.from(this.editor.editing.mapper.markerNameToElements(Ie)),s=t.createRange(t.createPositionBefore(r[0]),t.createPositionAfter(r[r.length-1]));i=t.domConverter.viewRangeToDom(s)}else i=()=>{const r=this._getSelectedLinkElement();return r?t.domConverter.mapViewToDom(r):t.domConverter.viewRangeToDom(n.selection.getFirstRange())};return{target:i}}_getSelectedLinkElement(){const t=this.editor.editing.view,e=t.document.selection,n=e.getSelectedElement();if(e.isCollapsed||n&&Nt(n))return fc(e.getFirstPosition());{const i=e.getFirstRange().getTrimmed(),r=fc(i.start),s=fc(i.end);return!r||r!=s?null:t.createRangeIn(r).getTrimmed().isEqual(i)?r:null}}_showFakeVisualSelection(){const t=this.editor.model;t.change(e=>{const n=t.document.selection.getFirstRange();if(t.markers.has(Ie))e.updateMarker(Ie,{range:n});else if(n.start.isAtEnd){const i=n.start.getLastMatchingPosition(({item:r})=>!t.schema.isContent(r),{boundaries:n});e.addMarker(Ie,{usingOperation:!1,affectsData:!1,range:e.createRange(i,n.end)})}else e.addMarker(Ie,{usingOperation:!1,affectsData:!1,range:n})})}_hideFakeVisualSelection(){const t=this.editor.model;t.markers.has(Ie)&&t.change(e=>{e.removeMarker(Ie)})}}function fc(o){return o.getAncestors().find(t=>cN(t))||null}const EN=4,Gp=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"),DN=2;class SN extends M{static get requires(){return[Ee,Vp]}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(),this._enablePasteLinking()}_expandLinkRange(t,e){return e.textNode&&e.textNode.hasAttribute("linkHref")?Vo(e,"linkHref",e.textNode.getAttribute("linkHref"),t):null}_selectEntireLinks(t,e){const i=this.editor.model,r=i.document.selection,s=r.getFirstPosition(),a=r.getLastPosition();let c=e.getJoined(this._expandLinkRange(i,s)||e);c&&(c=c.getJoined(this._expandLinkRange(i,a)||e)),c&&(c.start.isBefore(s)||c.end.isAfter(a))&&t.setSelection(c)}_enablePasteLinking(){const t=this.editor,e=t.model,n=e.document.selection,i=t.plugins.get("ClipboardPipeline"),r=t.commands.get("link");i.on("inputTransformation",(s,a)=>{if(!this.isEnabled||!r.isEnabled||n.isCollapsed||n.rangeCount>1)return;const c=n.getFirstRange(),l=a.dataTransfer.getData("text/plain");if(!l)return;const d=l.match(Gp);d&&d[2]===l&&(e.change(u=>{this._selectEntireLinks(u,c),r.execute(l)}),s.stop())},{priority:"high"})}_enableTypingHandling(){const t=this.editor,e=new um(t.model,n=>{if(!TN(n))return;const i=qp(n.substr(0,n.length-1));if(i)return{url:i}});e.on("matched:data",(n,i)=>{const{batch:r,range:s,url:a}=i;if(!r.isTyping)return;const c=s.end.getShiftedBy(-1),l=c.getShiftedBy(-a.length),d=t.model.createRange(l,c);this._applyAutoLink(a,d)}),e.bind("isEnabled").to(this)}_enableEnterHandling(){const t=this.editor,e=t.model,n=t.commands.get("enter");n&&n.on("execute",()=>{const i=e.document.selection.getFirstPosition();if(!i.parent.previousSibling)return;const r=e.createRangeIn(i.parent.previousSibling);this._checkAndApplyAutoLinkOnRange(r)})}_enableShiftEnterHandling(){const t=this.editor,e=t.model,n=t.commands.get("shiftEnter");n&&n.on("execute",()=>{const i=e.document.selection.getFirstPosition(),r=e.createRange(e.createPositionAt(i.parent,0),i.getShiftedBy(-1));this._checkAndApplyAutoLinkOnRange(r)})}_checkAndApplyAutoLinkOnRange(t){const e=this.editor.model,{text:n,range:i}=dm(t,e),r=qp(n);if(r){const s=e.createRange(i.end.getShiftedBy(-r.length),i.end);this._applyAutoLink(r,s)}}_applyAutoLink(t,e){const n=this.editor.model,i=this.editor.config.get("link.defaultProtocol"),r=uc(t,i);!this.isEnabled||!IN(e,n)||!Lp(r)||MN(e)||this._persistAutoLink(r,e)}_persistAutoLink(t,e){const n=this.editor.model,i=this.editor.plugins.get("Delete");n.enqueueChange(r=>{r.setAttribute("linkHref",t,e),n.enqueueChange(()=>{i.requestUndoOnBackspace()})})}}function TN(o){return o.length>EN&&o[o.length-1]===" "&&o[o.length-2]!==" "}function qp(o){const t=Gp.exec(o);return t?t[DN]:null}function IN(o,t){return t.schema.checkAttributeInSelection(t.createSelection(o),"linkHref")}function MN(o){const t=o.start.nodeAfter;return!!t&&t.hasAttribute("linkHref")}class BN extends M{static get requires(){return[Vp,xN,SN]}static get pluginName(){return"Link"}}var Wp=L(4330),pc={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};pc.insert="head",pc.singleton=!0,R()(Wp.Z,pc),Wp.Z.locals;var $p=L(3190),kc={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};kc.insert="head",kc.singleton=!0,R()($p.Z,kc),$p.Z.locals;var Zp=L(4784),bc={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};bc.insert="head",bc.singleton=!0,R()(Zp.Z,bc),Zp.Z.locals;function NN(o){const t=o.createContainerElement("li");return t.getFillerOffset=FN,t}function zN(o,t){const e=t.mapper,n=t.writer,i=o.getAttribute("listType")=="numbered"?"ol":"ul",r=NN(n),s=n.createContainerElement(i,null);return n.insert(n.createPositionAt(s,0),r),e.bindElements(o,r),r}function Kp(o,t,e,n){const i=t.parent,r=e.mapper,s=e.writer;let a=r.toViewPosition(n.createPositionBefore(o));const c=Qp(o.previousSibling,{sameIndent:!0,smallerIndent:!0,listIndent:o.getAttribute("listIndent")}),l=o.previousSibling;if(c&&c.getAttribute("listIndent")==o.getAttribute("listIndent")){const d=r.toViewElement(c);a=s.breakContainer(s.createPositionAfter(d))}else if(l&&l.name=="listItem"){a=r.toViewPosition(n.createPositionAt(l,"end"));const d=r.findMappedViewAncestor(a),u=PN(d);u?a=s.createPositionBefore(u):a=s.createPositionAt(d,"end")}else a=r.toViewPosition(n.createPositionBefore(o));if(a=Yp(a),s.insert(a,i),l&&l.name=="listItem"){const d=r.toViewElement(l),m=s.createRange(s.createPositionAt(d,0),a).getWalker({ignoreElementEnd:!0});for(const p of m)if(p.item.is("element","li")){const b=s.breakContainer(s.createPositionBefore(p.item)),S=p.item.parent,B=s.createPositionAt(t,"end");ge(s,B.nodeBefore,B.nodeAfter),s.move(s.createRangeOn(S),B),m._position=b}}else{const d=i.nextSibling;if(d&&(d.is("element","ul")||d.is("element","ol"))){let u=null;for(const m of d.getChildren()){const p=r.toModelElement(m);if(p&&p.getAttribute("listIndent")>o.getAttribute("listIndent"))u=m;else break}u&&(s.breakContainer(s.createPositionAfter(u)),s.move(s.createRangeOn(u.parent),s.createPositionAt(t,"end")))}}ge(s,i,i.nextSibling),ge(s,i.previousSibling,i)}function ge(o,t,e){return!t||!e||t.name!="ul"&&t.name!="ol"||t.name!=e.name||t.getAttribute("class")!==e.getAttribute("class")?null:o.mergeContainers(o.createPositionAfter(t))}function Yp(o){return o.getLastMatchingPosition(t=>t.item.is("uiElement"))}function Qp(o,t){const e=!!t.sameIndent,n=!!t.smallerIndent,i=t.listIndent;let r=o;for(;r&&r.name=="listItem";){const s=r.getAttribute("listIndent");if(e&&i==s||n&&i>s)return r;t.direction==="forward"?r=r.nextSibling:r=r.previousSibling}return null}function Jp(o,t,e,n){o.ui.componentFactory.add(t,i=>{const r=o.commands.get(t),s=new et(i);return s.set({label:e,icon:n,tooltip:!0,isToggleable:!0}),s.bind("isOn","isEnabled").to(r,"value","isEnabled"),s.on("execute",()=>{o.execute(t),o.editing.view.focus()}),s})}function PN(o){for(const t of o.getChildren())if(t.name=="ul"||t.name=="ol")return t;return null}function wc(o,t){const e=[],n=o.parent,i={ignoreElementEnd:!1,startPosition:o,shallow:!0,direction:t},r=n.getAttribute("listIndent"),s=[...new we(i)].filter(a=>a.item.is("element")).map(a=>a.item);for(const a of s){if(!a.is("element","listItem")||a.getAttribute("listIndent")r)){if(a.getAttribute("listType")!==n.getAttribute("listType")||a.getAttribute("listStyle")!==n.getAttribute("listStyle")||a.getAttribute("listReversed")!==n.getAttribute("listReversed")||a.getAttribute("listStart")!==n.getAttribute("listStart"))break;t==="backward"?e.unshift(a):e.push(a)}}return e}function LN(o){let e=[...o.document.selection.getSelectedBlocks()].filter(n=>n.is("element","listItem")).map(n=>{const i=o.change(r=>r.createPositionAt(n,0));return[...wc(i,"backward"),...wc(i,"forward")]}).flat();return e=[...new Set(e)],e}const ON=["disc","circle","square"],RN=["decimal","decimal-leading-zero","lower-roman","upper-roman","lower-latin","upper-latin"];function jN(o){return ON.includes(o)?"bulleted":RN.includes(o)?"numbered":null}function FN(){const o=!this.isEmpty&&(this.getChild(0).name=="ul"||this.getChild(0).name=="ol");return this.isEmpty||o?0:Du.call(this)}const VN='',HN='';class UN extends M{static get pluginName(){return"ListUI"}init(){const t=this.editor.t;Jp(this.editor,"numberedList",t("Numbered List"),VN),Jp(this.editor,"bulletedList",t("Bulleted List"),HN)}}const GN=[{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:o,typeAttribute:t,listType:e}of GN);var Xp=L(9938),Ac={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ac.insert="head",Ac.singleton=!0,R()(Xp.Z,Ac),Xp.Z.locals;var tk=L(2591),Cc={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Cc.insert="head",Cc.singleton=!0,R()(tk.Z,Cc),tk.Z.locals;class ek extends Q{constructor(t,e){super(t),this._indentBy=e=="forward"?1:-1}refresh(){this.isEnabled=this._checkEnabled()}execute(){const t=this.editor.model,e=t.document;let n=Array.from(e.selection.getSelectedBlocks());t.change(i=>{const r=n[n.length-1];let s=r.nextSibling;for(;s&&s.name=="listItem"&&s.getAttribute("listIndent")>r.getAttribute("listIndent");)n.push(s),s=s.nextSibling;this._indentBy<0&&(n=n.reverse());for(const a of n){const c=a.getAttribute("listIndent")+this._indentBy;c<0?i.rename(a,"paragraph"):i.setAttribute("listIndent",c,a)}this.fire("_executeCleanup",n)})}_checkEnabled(){const t=Tt(this.editor.model.document.selection.getSelectedBlocks());if(!t||!t.is("element","listItem"))return!1;if(this._indentBy>0){const e=t.getAttribute("listIndent"),n=t.getAttribute("listType");let i=t.previousSibling;for(;i&&i.is("element","listItem")&&i.getAttribute("listIndent")>=e;){if(i.getAttribute("listIndent")==e)return i.getAttribute("listType")==n;i=i.previousSibling}return!1}return!0}}class nk extends Q{constructor(t,e){super(t),this.type=e}refresh(){this.value=this._getValue(),this.isEnabled=this._checkEnabled()}execute(t={}){const e=this.editor.model,n=e.document,i=Array.from(n.selection.getSelectedBlocks()).filter(s=>ik(s,e.schema)),r=t.forceValue!==void 0?!t.forceValue:this.value;e.change(s=>{if(r){let a=i[i.length-1].nextSibling,c=Number.POSITIVE_INFINITY,l=[];for(;a&&a.name=="listItem"&&a.getAttribute("listIndent")!==0;){const d=a.getAttribute("listIndent");d=e;)r>i.getAttribute("listIndent")&&(r=i.getAttribute("listIndent")),i.getAttribute("listIndent")==r&&o[t?"unshift":"push"](i),i=i[t?"previousSibling":"nextSibling"]}}function ik(o,t){return t.checkChild(o.parent,"listItem")&&!t.isObject(o)}class qN extends M{static get pluginName(){return"ListUtils"}getListTypeFromListStyleType(t){return jN(t)}getSelectedListItems(t){return LN(t)}getSiblingNodes(t,e){return wc(t,e)}}function rk(o){return(t,e,n)=>{const i=n.consumable;if(!i.test(e.item,"insert")||!i.test(e.item,"attribute:listType")||!i.test(e.item,"attribute:listIndent"))return;i.consume(e.item,"insert"),i.consume(e.item,"attribute:listType"),i.consume(e.item,"attribute:listIndent");const r=e.item,s=zN(r,n);Kp(r,s,n,o)}}function WN(o){return(t,e,n)=>{const s=n.mapper.toViewPosition(e.position).getLastMatchingPosition(p=>!p.item.is("element","li")).nodeAfter,a=n.writer;a.breakContainer(a.createPositionBefore(s)),a.breakContainer(a.createPositionAfter(s));const c=s.parent,l=c.previousSibling,d=a.createRangeOn(c),u=a.remove(d);l&&l.nextSibling&&ge(a,l,l.nextSibling);const m=n.mapper.toModelElement(s);lk(m.getAttribute("listIndent")+1,e.position,d.start,s,n,o);for(const p of a.createRangeIn(u).getItems())n.mapper.unbindViewElement(p);t.stop()}}const $N=(o,t,e)=>{if(!e.consumable.test(t.item,o.name))return;const n=e.mapper.toViewElement(t.item),i=e.writer;i.breakContainer(i.createPositionBefore(n)),i.breakContainer(i.createPositionAfter(n));const r=n.parent,s=t.attributeNewValue=="numbered"?"ol":"ul";i.rename(s,r)},ZN=(o,t,e)=>{e.consumable.consume(t.item,o.name);const i=e.mapper.toViewElement(t.item).parent,r=e.writer;ge(r,i,i.nextSibling),ge(r,i.previousSibling,i)};function KN(o){return(t,e,n)=>{if(!n.consumable.consume(e.item,"attribute:listIndent"))return;const i=n.mapper.toViewElement(e.item),r=n.writer;r.breakContainer(r.createPositionBefore(i)),r.breakContainer(r.createPositionAfter(i));const s=i.parent,a=s.previousSibling,c=r.createRangeOn(s);r.remove(c),a&&a.nextSibling&&ge(r,a,a.nextSibling),lk(e.attributeOldValue+1,e.range.start,c.start,i,n,o),Kp(e.item,i,n,o);for(const l of e.item.getChildren())n.consumable.consume(l,"insert")}}const sk=(o,t,e)=>{if(e.consumable.test(t.item,o.name)&&t.item.name!="listItem"){let n=e.mapper.toViewPosition(t.range.start);const i=e.writer,r=[];for(;(n.parent.name=="ul"||n.parent.name=="ol")&&(n=i.breakContainer(n),n.parent.name=="li");){const s=n,a=i.createPositionAt(n.parent,"end");if(!s.isEqual(a)){const c=i.remove(i.createRange(s,a));r.push(c)}n=i.createPositionAfter(n.parent)}if(r.length>0){for(let s=0;s0){const l=ge(i,a,a.nextSibling);l&&l.parent==a&&n.offset--}}ge(i,n.nodeBefore,n.nodeAfter)}}},YN=(o,t,e)=>{const n=e.mapper.toViewPosition(t.position),i=n.nodeBefore,r=n.nodeAfter;ge(e.writer,i,r)},QN=(o,t,e)=>{if(e.consumable.consume(t.viewItem,{name:!0})){const n=e.writer,i=n.createElement("listItem"),r=iz(t.viewItem);n.setAttribute("listIndent",r,i);const s=t.viewItem.parent&&t.viewItem.parent.name=="ol"?"numbered":"bulleted";if(n.setAttribute("listType",s,i),!e.safeInsert(i,t.modelCursor))return;const a=nz(i,t.viewItem.getChildren(),e);t.modelRange=n.createRange(t.modelCursor,a),e.updateConversionResult(i,t)}},ak=(o,t,e)=>{if(e.consumable.test(t.viewItem,{name:!0})){const n=Array.from(t.viewItem.getChildren());for(const i of n)!(i.is("element","li")||Jn(i))&&i._remove()}},JN=(o,t,e)=>{if(e.consumable.test(t.viewItem,{name:!0})){if(t.viewItem.childCount===0)return;const n=[...t.viewItem.getChildren()];let i=!1;for(const r of n)i&&!Jn(r)&&r._remove(),Jn(r)&&(i=!0)}};function ck(o){return(t,e)=>{if(e.isPhantom)return;const n=e.modelPosition.nodeBefore;if(n&&n.is("element","listItem")){const i=e.mapper.toViewElement(n),r=i.getAncestors().find(Jn),s=o.createPositionAt(i,0).getWalker();for(const a of s)if(a.type=="elementStart"&&a.item.is("element","li")){e.viewPosition=a.previousPosition;break}else if(a.type=="elementEnd"&&a.item==r){e.viewPosition=a.nextPosition;break}}}}function XN(o){return(t,e)=>{const n=e.viewPosition,i=n.parent,r=e.mapper;if(i.name=="ul"||i.name=="ol"){if(n.isAtEnd){const s=r.toModelElement(n.nodeBefore),a=r.getModelLength(n.nodeBefore);e.modelPosition=o.createPositionBefore(s).getShiftedBy(a)}else{const s=r.toModelElement(n.nodeAfter);e.modelPosition=o.createPositionBefore(s)}t.stop()}else if(i.name=="li"&&n.nodeBefore&&(n.nodeBefore.name=="ul"||n.nodeBefore.name=="ol")){const s=r.toModelElement(i);let a=1,c=n.nodeBefore;for(;c&&Jn(c);)a+=r.getModelLength(c),c=c.previousSibling;e.modelPosition=o.createPositionBefore(s).getShiftedBy(a),t.stop()}}}function tz(o,t){const e=o.document.differ.getChanges(),n=new Map;let i=!1;for(const c of e)if(c.type=="insert"&&c.name=="listItem")r(c.position);else if(c.type=="insert"&&c.name!="listItem"){if(c.name!="$text"){const d=c.position.nodeAfter;d.hasAttribute("listIndent")&&(t.removeAttribute("listIndent",d),i=!0),d.hasAttribute("listType")&&(t.removeAttribute("listType",d),i=!0),d.hasAttribute("listStyle")&&(t.removeAttribute("listStyle",d),i=!0),d.hasAttribute("listReversed")&&(t.removeAttribute("listReversed",d),i=!0),d.hasAttribute("listStart")&&(t.removeAttribute("listStart",d),i=!0);for(const u of Array.from(o.createRangeIn(d)).filter(m=>m.item.is("element","listItem")))r(u.previousPosition)}const l=c.position.getShiftedBy(c.length);r(l)}else c.type=="remove"&&c.name=="listItem"?r(c.position):(c.type=="attribute"&&c.attributeKey=="listIndent"||c.type=="attribute"&&c.attributeKey=="listType")&&r(c.range.start);for(const c of n.values())s(c),a(c);return i;function r(c){const l=c.nodeBefore;if(!l||!l.is("element","listItem")){const d=c.nodeAfter;d&&d.is("element","listItem")&&n.set(d,d)}else{let d=l;if(n.has(d))return;for(let u=d.previousSibling;u&&u.is("element","listItem");u=d.previousSibling)if(d=u,n.has(d))return;n.set(l,d)}}function s(c){let l=0,d=null;for(;c&&c.is("element","listItem");){const u=c.getAttribute("listIndent");if(u>l){let m;d===null?(d=u-l,m=l):(d>u&&(d=u),m=u-d),t.setAttribute("listIndent",m,c),i=!0}else d=null,l=c.getAttribute("listIndent")+1;c=c.nextSibling}}function a(c){let l=[],d=null;for(;c&&c.is("element","listItem");){const u=c.getAttribute("listIndent");if(d&&d.getAttribute("listIndent")>u&&(l=l.slice(0,u+1)),u!=0)if(l[u]){const m=l[u];c.getAttribute("listType")!=m&&(t.setAttribute("listType",m,c),i=!0)}else l[u]=c.getAttribute("listType");d=c,c=c.nextSibling}}}const ez=function(o,[t,e]){const n=this;let i=t.is("documentFragment")?t.getChild(0):t,r;if(e?r=n.createSelection(e):r=n.document.selection,i&&i.is("element","listItem")){const s=r.getFirstPosition();let a=null;if(s.parent.is("element","listItem")?a=s.parent:s.nodeBefore&&s.nodeBefore.is("element","listItem")&&(a=s.nodeBefore),a){const c=a.getAttribute("listIndent");if(c>0)for(;i&&i.is("element","listItem");)i._setAttribute("listIndent",i.getAttribute("listIndent")+c),i=i.nextSibling}}};function nz(o,t,e){const{writer:n,schema:i}=e;let r=n.createPositionAfter(o);for(const s of t)if(s.name=="ul"||s.name=="ol")r=e.convertItem(s,r).modelCursor;else{const a=e.convertItem(s,n.createPositionAt(o,"end")),c=a.modelRange.start.nodeAfter;c&&c.is("element")&&!i.checkChild(o,c.name)&&(a.modelCursor.parent.is("element","listItem")?o=a.modelCursor.parent:o=oz(a.modelCursor),r=n.createPositionAfter(o))}return r}function oz(o){const t=new we({startPosition:o});let e;do e=t.next();while(!e.value.item.is("element","listItem"));return e.value.item}function lk(o,t,e,n,i,r){const s=Qp(t.nodeBefore,{sameIndent:!0,smallerIndent:!0,listIndent:o}),a=i.mapper,c=i.writer,l=s?s.getAttribute("listIndent"):null;let d;if(!s)d=e;else if(l==o){const u=a.toViewElement(s).parent;d=c.createPositionAfter(u)}else{const u=r.createPositionAt(s,"end");d=a.toViewPosition(u)}d=Yp(d);for(const u of[...n.getChildren()])Jn(u)&&(d=c.move(c.createRangeOn(u),d).end,ge(c,u,u.nextSibling),ge(c,u.previousSibling,u))}function Jn(o){return o.is("element","ol")||o.is("element","ul")}function iz(o){let t=0,e=o.parent;for(;e;){if(e.is("element","li"))t++;else{const n=e.previousSibling;n&&n.is("element","li")&&t++}e=e.parent}return t}class rz extends M{static get pluginName(){return"ListEditing"}static get requires(){return[Ho,Ee,qN]}init(){const t=this.editor;t.model.schema.register("listItem",{inheritAllFrom:"$block",allowAttributes:["listType","listIndent"]});const e=t.data,n=t.editing;t.model.document.registerPostFixer(r=>tz(t.model,r)),n.mapper.registerViewToModelLength("li",_c),e.mapper.registerViewToModelLength("li",_c),n.mapper.on("modelToViewPosition",ck(n.view)),n.mapper.on("viewToModelPosition",XN(t.model)),e.mapper.on("modelToViewPosition",ck(n.view)),t.conversion.for("editingDowncast").add(r=>{r.on("insert",sk,{priority:"high"}),r.on("insert:listItem",rk(t.model)),r.on("attribute:listType:listItem",$N,{priority:"high"}),r.on("attribute:listType:listItem",ZN,{priority:"low"}),r.on("attribute:listIndent:listItem",KN(t.model)),r.on("remove:listItem",WN(t.model)),r.on("remove",YN,{priority:"low"})}),t.conversion.for("dataDowncast").add(r=>{r.on("insert",sk,{priority:"high"}),r.on("insert:listItem",rk(t.model))}),t.conversion.for("upcast").add(r=>{r.on("element:ul",ak,{priority:"high"}),r.on("element:ol",ak,{priority:"high"}),r.on("element:li",JN,{priority:"high"}),r.on("element:li",QN)}),t.model.on("insertContent",ez,{priority:"high"}),t.commands.add("numberedList",new nk(t,"numbered")),t.commands.add("bulletedList",new nk(t,"bulleted")),t.commands.add("indentList",new ek(t,"forward")),t.commands.add("outdentList",new ek(t,"backward"));const i=n.view.document;this.listenTo(i,"enter",(r,s)=>{const a=this.editor.model.document,c=a.selection.getLastPosition().parent;a.selection.isCollapsed&&c.name=="listItem"&&c.isEmpty&&(this.editor.execute("outdentList"),s.preventDefault(),r.stop())},{context:"li"}),this.listenTo(i,"delete",(r,s)=>{if(s.direction!=="backward")return;const a=this.editor.model.document.selection;if(!a.isCollapsed)return;const c=a.getFirstPosition();if(!c.isAtStart)return;const l=c.parent;l.name!=="listItem"||l.previousSibling&&l.previousSibling.name==="listItem"||(this.editor.execute("outdentList"),s.preventDefault(),r.stop())},{context:"li"}),this.listenTo(t.editing.view.document,"tab",(r,s)=>{const a=s.shiftKey?"outdentList":"indentList";this.editor.commands.get(a).isEnabled&&(t.execute(a),s.stopPropagation(),s.preventDefault(),r.stop())},{context:"li"})}afterInit(){const t=this.editor.commands,e=t.get("indent"),n=t.get("outdent");e&&e.registerChildCommand(t.get("indentList")),n&&n.registerChildCommand(t.get("outdentList"))}}function _c(o){let t=1;for(const e of o.getChildren())if(e.name=="ul"||e.name=="ol")for(const n of e.getChildren())t+=_c(n);return t}class sz extends M{static get requires(){return[rz,UN]}static get pluginName(){return"List"}}go("Ctrl+Enter");var dk=L(9292),vc={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};vc.insert="head",vc.singleton=!0,R()(dk.Z,vc),dk.Z.locals,go("Ctrl+Enter");function uk(o,t){const e=(n,i,r)=>{if(!r.consumable.consume(i.item,n.name))return;const s=i.attributeNewValue,a=r.writer,c=r.mapper.toViewElement(i.item),l=[...c.getChildren()].find(u=>u.getCustomProperty("media-content"));a.remove(l);const d=o.getMediaViewElement(a,s,t);a.insert(a.createPositionAt(c,0),d)};return n=>{n.on("attribute:url:media",e)}}function az(o,t,e){return t.setCustomProperty("media",!0,o),Go(o,t,{label:e})}function hk(o,t,e,n){return o.createContainerElement("figure",{class:"media"},[t.getMediaViewElement(o,e,n),o.createSlot()])}function gk(o){const t=o.getSelectedElement();return t&&t.is("element","media")?t:null}function mk(o,t,e,n){o.change(i=>{const r=i.createElement("media",{url:t});o.insertObject(r,e,null,{setSelection:"on",findOptimalPosition:n?"auto":void 0})})}class cz extends Q{refresh(){const t=this.editor.model,e=t.document.selection,n=gk(e);this.value=n?n.getAttribute("url"):void 0,this.isEnabled=dz(e)||lz(e,t)}execute(t){const e=this.editor.model,n=e.document.selection,i=gk(n);i?e.change(r=>{r.setAttribute("url",t,i)}):mk(e,t,n,!0)}}function lz(o,t){let n=Nm(o,t).start.parent;return n.isEmpty&&!t.schema.isLimit(n)&&(n=n.parent),t.schema.checkChild(n,"media")}function dz(o){const t=o.getSelectedElement();return!!t&&t.name==="media"}const uz='',hz="0 0 64 42";class gz{constructor(t,e){const n=e.providers,i=e.extraProviders||[],r=new Set(e.removeProviders),s=n.concat(i).filter(a=>{const c=a.name;return c?!r.has(c):!1});this.locale=t,this.providerDefinitions=s}hasMedia(t){return!!this._getMedia(t)}getMediaViewElement(t,e,n){return this._getMedia(e).getViewElement(t,n)}_getMedia(t){if(!t)return new fk(this.locale);t=t.trim();for(const e of this.providerDefinitions){const n=e.html,i=_t(e.url);for(const r of i){const s=this._getUrlMatches(t,r);if(s)return new fk(this.locale,t,s,n)}}return null}_getUrlMatches(t,e){let n=t.match(e);if(n)return n;let i=t.replace(/^https?:\/\//,"");return n=i.match(e),n||(i=i.replace(/^www\./,""),n=i.match(e),n)?n:null}}class fk{constructor(t,e,n,i){this.url=this._getValidUrl(e),this._locale=t,this._match=n,this._previewRenderer=i}getViewElement(t,e){const n={};let i;if(e.renderForEditingView||e.renderMediaPreview&&this.url&&this._previewRenderer){this.url&&(n["data-oembed-url"]=this.url),e.renderForEditingView&&(n.class="ck-media__wrapper");const r=this._getPreviewHtml(e);i=t.createRawElement("div",n,(s,a)=>{a.setContentOf(s,r)})}else this.url&&(n.url=this.url),i=t.createEmptyElement(e.elementName,n);return t.setCustomProperty("media-content",!0,i),i}_getPreviewHtml(t){return this._previewRenderer?this._previewRenderer(this._match):this.url&&t.renderForEditingView?this._getPlaceholderHtml():""}_getPlaceholderHtml(){const t=new ze,e=this._locale.t;return t.content=uz,t.viewBox=hz,new $t({tag:"div",attributes:{class:"ck ck-reset_all ck-media__placeholder"},children:[{tag:"div",attributes:{class:"ck-media__placeholder__icon"},children:[t]},{tag:"a",attributes:{class:"ck-media__placeholder__url",target:"_blank",rel:"noopener noreferrer",href:this.url,"data-cke-tooltip-text":e("Open media in new tab")},children:[{tag:"span",attributes:{class:"ck-media__placeholder__url__text"},children:[this.url]}]}]}).render().outerHTML}_getValidUrl(t){return t?t.match(/^https?/)?t:"https://"+t:null}}var pk=L(1922),yc={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};yc.insert="head",yc.singleton=!0,R()(pk.Z,yc),pk.Z.locals;class or extends M{static get pluginName(){return"MediaEmbedEditing"}constructor(t){super(t),t.config.define("mediaEmbed",{elementName:"oembed",providers:[{name:"dailymotion",url:[/^dailymotion\.com\/video\/(\w+)/,/^dai.ly\/(\w+)/],html:e=>`
`},{name:"spotify",url:[/^open\.spotify\.com\/(artist\/\w+)/,/^open\.spotify\.com\/(album\/\w+)/,/^open\.spotify\.com\/(track\/\w+)/],html:e=>`
`},{name:"youtube",url:[/^(?:m\.)?youtube\.com\/watch\?v=([\w-]+)(?:&t=(\d+))?/,/^(?:m\.)?youtube\.com\/v\/([\w-]+)(?:\?t=(\d+))?/,/^youtube\.com\/embed\/([\w-]+)(?:\?start=(\d+))?/,/^youtu\.be\/([\w-]+)(?:\?t=(\d+))?/],html:e=>{const n=e[1],i=e[2];return`
`}},{name:"vimeo",url:[/^vimeo\.com\/(\d+)/,/^vimeo\.com\/[^/]+\/[^/]+\/video\/(\d+)/,/^vimeo\.com\/album\/[^/]+\/video\/(\d+)/,/^vimeo\.com\/channels\/[^/]+\/(\d+)/,/^vimeo\.com\/groups\/[^/]+\/videos\/(\d+)/,/^vimeo\.com\/ondemand\/[^/]+\/(\d+)/,/^player\.vimeo\.com\/video\/(\d+)/],html:e=>`
`},{name:"instagram",url:/^instagram\.com\/p\/(\w+)/},{name:"twitter",url:/^twitter\.com/},{name:"googleMaps",url:[/^google\.com\/maps/,/^goo\.gl\/maps/,/^maps\.google\.com/,/^maps\.app\.goo\.gl/]},{name:"flickr",url:/^flickr\.com/},{name:"facebook",url:/^facebook\.com/}]}),this.registry=new gz(t.locale,t.config.get("mediaEmbed"))}init(){const t=this.editor,e=t.model.schema,n=t.t,i=t.conversion,r=t.config.get("mediaEmbed.previewsInData"),s=t.config.get("mediaEmbed.elementName"),a=this.registry;t.commands.add("mediaEmbed",new cz(t)),e.register("media",{inheritAllFrom:"$blockObject",allowAttributes:["url"]}),i.for("dataDowncast").elementToStructure({model:"media",view:(c,{writer:l})=>{const d=c.getAttribute("url");return hk(l,a,d,{elementName:s,renderMediaPreview:!!d&&r})}}),i.for("dataDowncast").add(uk(a,{elementName:s,renderMediaPreview:r})),i.for("editingDowncast").elementToStructure({model:"media",view:(c,{writer:l})=>{const d=c.getAttribute("url"),u=hk(l,a,d,{elementName:s,renderForEditingView:!0});return az(u,l,n("media widget"))}}),i.for("editingDowncast").add(uk(a,{elementName:s,renderForEditingView:!0})),i.for("upcast").elementToElement({view:c=>["oembed",s].includes(c.name)&&c.getAttribute("url")?{name:!0}:null,model:(c,{writer:l})=>{const d=c.getAttribute("url");return a.hasMedia(d)?l.createElement("media",{url:d}):null}}).elementToElement({view:{name:"div",attributes:{"data-oembed-url":!0}},model:(c,{writer:l})=>{const d=c.getAttribute("data-oembed-url");return a.hasMedia(d)?l.createElement("media",{url:d}):null}}).add(c=>{const l=(d,u,m)=>{if(!m.consumable.consume(u.viewItem,{name:!0,classes:"media"}))return;const{modelRange:p,modelCursor:b}=m.convertChildren(u.viewItem,u.modelCursor);u.modelRange=p,u.modelCursor=b,Tt(p.getItems())||m.consumable.revert(u.viewItem,{name:!0,classes:"media"})};c.on("element:figure",l)})}}const mz=/^(?:http(s)?:\/\/)?[\w-]+\.[\w-.~:/?#[\]@!$&'()*+,;=%]+$/;class fz extends M{static get requires(){return[La,Ee,Yi]}static get pluginName(){return"AutoMediaEmbed"}constructor(t){super(t),this._timeoutId=null,this._positionToInsert=null}init(){const t=this.editor,e=t.model.document,n=t.plugins.get("ClipboardPipeline");this.listenTo(n,"inputTransformation",()=>{const r=e.selection.getFirstRange(),s=Mt.fromPosition(r.start);s.stickiness="toPrevious";const a=Mt.fromPosition(r.end);a.stickiness="toNext",e.once("change:data",()=>{this._embedMediaBetweenPositions(s,a),s.detach(),a.detach()},{priority:"high"})}),t.commands.get("undo").on("execute",()=>{this._timeoutId&&(U.window.clearTimeout(this._timeoutId),this._positionToInsert.detach(),this._timeoutId=null,this._positionToInsert=null)},{priority:"high"})}_embedMediaBetweenPositions(t,e){const n=this.editor,i=n.plugins.get(or).registry,r=new Zt(t,e),s=r.getWalker({ignoreElementEnd:!0});let a="";for(const l of s)l.item.is("$textProxy")&&(a+=l.item.data);if(a=a.trim(),!a.match(mz)){r.detach();return}if(!i.hasMedia(a)){r.detach();return}if(!n.commands.get("mediaEmbed").isEnabled){r.detach();return}this._positionToInsert=Mt.fromPosition(t),this._timeoutId=U.window.setTimeout(()=>{n.model.change(l=>{this._timeoutId=null,l.remove(r),r.detach();let d=null;this._positionToInsert.root.rootName!=="$graveyard"&&(d=this._positionToInsert),mk(n.model,a,d,!1),this._positionToInsert.detach(),this._positionToInsert=null}),n.plugins.get(Ee).requestUndoOnBackspace()},100)}}var kk=L(7138),xc={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};xc.insert="head",xc.singleton=!0,R()(kk.Z,xc),kk.Z.locals;class pz extends G{constructor(t,e){super(e);const n=e.t;this.focusTracker=new Bt,this.keystrokes=new Vt,this.set("mediaURLInputValue",""),this.urlInputView=this._createUrlInput(),this.saveButtonView=this._createButton(n("Save"),dt.check,"ck-button-save"),this.saveButtonView.type="submit",this.saveButtonView.bind("isEnabled").to(this,"mediaURLInputValue",i=>!!i),this.cancelButtonView=this._createButton(n("Cancel"),dt.cancel,"ck-button-cancel","cancel"),this._focusables=new ce,this._focusCycler=new fe({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this._validators=t,this.setTemplate({tag:"form",attributes:{class:["ck","ck-media-form","ck-responsive-form"],tabindex:"-1"},children:[this.urlInputView,this.saveButtonView,this.cancelButtonView]})}render(){super.render(),h({view:this}),[this.urlInputView,this.saveButtonView,this.cancelButtonView].forEach(n=>{this._focusables.add(n),this.focusTracker.add(n.element)}),this.keystrokes.listenTo(this.element);const e=n=>n.stopPropagation();this.keystrokes.set("arrowright",e),this.keystrokes.set("arrowleft",e),this.keystrokes.set("arrowup",e),this.keystrokes.set("arrowdown",e)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}get url(){return this.urlInputView.fieldView.element.value.trim()}set url(t){this.urlInputView.fieldView.element.value=t.trim()}isValid(){this.resetFormStatus();for(const t of this._validators){const e=t(this);if(e)return this.urlInputView.errorText=e,!1}return!0}resetFormStatus(){this.urlInputView.errorText=null,this.urlInputView.infoText=this._urlInputViewInfoDefault}_createUrlInput(){const t=this.locale.t,e=new po(this.locale,No),n=e.fieldView;return this._urlInputViewInfoDefault=t("Paste the media URL in the input."),this._urlInputViewInfoTip=t("Tip: Paste the URL into the content to embed faster."),e.label=t("Media URL"),e.infoText=this._urlInputViewInfoDefault,n.on("input",()=>{e.infoText=n.element.value?this._urlInputViewInfoTip:this._urlInputViewInfoDefault,this.mediaURLInputValue=n.element.value.trim()}),e}_createButton(t,e,n,i){const r=new et(this.locale);return r.set({label:t,icon:e,tooltip:!0}),r.extendTemplate({attributes:{class:n}}),i&&r.delegate("execute").to(this,i),r}}const kz='';class bz extends M{static get requires(){return[or]}static get pluginName(){return"MediaEmbedUI"}init(){const t=this.editor,e=t.commands.get("mediaEmbed");t.ui.componentFactory.add("mediaEmbed",n=>{const i=de(n);return this._setUpDropdown(i,e),i})}_setUpDropdown(t,e){const n=this.editor,i=n.t,r=t.buttonView,s=n.plugins.get(or).registry;t.once("change:isOpen",()=>{const a=new(v(pz))(wz(n.t,s),n.locale);t.panelView.children.add(a),r.on("open",()=>{a.disableCssTransitions(),a.url=e.value||"",a.urlInputView.fieldView.select(),a.enableCssTransitions()},{priority:"low"}),t.on("submit",()=>{a.isValid()&&(n.execute("mediaEmbed",a.url),n.editing.view.focus())}),t.on("change:isOpen",()=>a.resetFormStatus()),t.on("cancel",()=>{n.editing.view.focus()}),a.delegate("submit","cancel").to(t),a.urlInputView.fieldView.bind("value").to(e,"value"),a.urlInputView.bind("isEnabled").to(e,"isEnabled")}),t.bind("isEnabled").to(e),r.set({label:i("Insert media"),icon:kz,tooltip:!0})}}function wz(o,t){return[e=>{if(!e.url.length)return o("The URL must not be empty.")},e=>{if(!t.hasMedia(e.url))return o("This media URL is not supported.")}]}var bk=L(8705),Ec={injectType:"singletonStyleTag",attributes:{"data-cke":!0}};Ec.insert="head",Ec.singleton=!0,R()(bk.Z,Ec),bk.Z.locals;class Az extends M{static get requires(){return[or,bz,fz,$n]}static get pluginName(){return"MediaEmbed"}}function Cz(o,t){if(!o.childCount)return;const e=new Re(o.document),n=vz(o,e);if(!n.length)return;let i=null,r=1;n.forEach((s,a)=>{const c=Mz(n[a-1],s),l=c?null:n[a-1],d=Nz(l,s);if(c&&(i=null,r=1),!i||d!==0){const m=yz(s,t);if(!i)i=wk(m,s.element,e);else if(s.indent>r){const p=i.getChild(i.childCount-1),b=p.getChild(p.childCount-1);i=wk(m,b,e),r+=1}else if(s.indent1&&e.setAttribute("start",o.startIndex,i),i}function Sz(o,t){return Iz(o,t),t.removeStyle("text-indent",o),t.rename("li",o)}function Tz(o){const t={},e=o.getStyle("mso-list");if(e){const n=e.match(/(^|\s{1,100})l(\d+)/i),i=e.match(/\s{0,100}lfo(\d+)/i),r=e.match(/\s{0,100}level(\d+)/i);n&&i&&r&&(t.id=n[2],t.order=i[1],t.indent=parseInt(r[1]))}return t}function Iz(o,t){const e=new ee({name:"span",styles:{"mso-list":"Ignore"}}),n=t.createRangeIn(o);for(const i of n)i.type==="elementStart"&&e.match(i.item)&&t.remove(i.item)}function Mz(o,t){if(!o)return!0;if(o.id!==t.id)return t.indent-o.indent!==1;const e=t.element.previousSibling;return e?!Bz(e):!0}function Bz(o){return o.is("element","ol")||o.is("element","ul")}function Nz(o,t){return o?t.indent-o.indent:t.indent-1}function zz(o,t){const e=o.getAncestors({parentFirst:!0});let n=null,i=0;for(const r of e)if((r.is("element","ul")||r.is("element","ol"))&&i++,i===t){n=r;break}return n}function Pz(o,t){if(!o.childCount)return;const e=new Re(o.document),n=Oz(o,e);Rz(n,o,e),Fz(n,o,e),jz(o,e);const i=Vz(o,e);i.length&&Uz(i,Hz(t),e)}function Lz(o){return btoa(o.match(/\w{2}/g).map(t=>String.fromCharCode(parseInt(t,16))).join(""))}function Oz(o,t){const e=t.createRangeIn(o),n=new ee({name:/v:(.+)/}),i=[];for(const r of e){if(r.type!="elementStart")continue;const s=r.item,a=s.previousSibling,c=a&&a.is("element")?a.name:null;n.match(s)&&s.getAttribute("o:gfxdata")&&c!=="v:shapetype"&&i.push(r.item.getAttribute("id"))}return i}function Rz(o,t,e){const n=e.createRangeIn(t),i=new ee({name:"img"}),r=[];for(const s of n)if(s.item.is("element")&&i.match(s.item)){const a=s.item,c=a.getAttribute("v:shapes")?a.getAttribute("v:shapes").split(" "):[];c.length&&c.every(l=>o.indexOf(l)>-1)?r.push(a):a.getAttribute("src")||r.push(a)}for(const s of r)e.remove(s)}function jz(o,t){const e=t.createRangeIn(o),n=new ee({name:/v:(.+)/}),i=[];for(const r of e)r.type=="elementStart"&&n.match(r.item)&&i.push(r.item);for(const r of i)t.remove(r)}function Fz(o,t,e){const n=e.createRangeIn(t),i=[];for(const a of n)if(a.type=="elementStart"&&a.item.is("element","v:shape")){const c=a.item.getAttribute("id");if(o.includes(c))continue;r(a.item.parent.getChildren(),c)||i.push(a.item)}for(const a of i){const c={src:s(a)};a.hasAttribute("alt")&&(c.alt=a.getAttribute("alt"));const l=e.createElement("img",c);e.insertChild(a.index+1,l,a.parent)}function r(a,c){for(const l of a)if(l.is("element")&&(l.name=="img"&&l.getAttribute("v:shapes")==c||r(l.getChildren(),c)))return!0;return!1}function s(a){for(const c of a.getChildren())if(c.is("element")&&c.getAttribute("src"))return c.getAttribute("src")}}function Vz(o,t){const e=t.createRangeIn(o),n=new ee({name:"img"}),i=[];for(const r of e)r.item.is("element")&&n.match(r.item)&&r.item.getAttribute("src").startsWith("file://")&&i.push(r.item);return i}function Hz(o){if(!o)return[];const t=/{\\pict[\s\S]+?\\bliptag-?\d+(\\blipupi-?\d+)?({\\\*\\blipuid\s?[\da-fA-F]+)?[\s}]*?/,e=new RegExp("(?:("+t.source+"))([\\da-fA-F\\s]+)\\}","g"),n=o.match(e),i=[];if(n)for(const r of n){let s=!1;r.includes("\\pngblip")?s="image/png":r.includes("\\jpegblip")&&(s="image/jpeg"),s&&i.push({hex:r.replace(t,"").replace(/[^\da-fA-F]/g,""),type:s})}return i}function Uz(o,t,e){if(o.length===t.length)for(let n=0;n/i,Wz=/xmlns:o="urn:schemas-microsoft-com/i;class $z{constructor(t){this.document=t}isActive(t){return qz.test(t)||Wz.test(t)}execute(t){const{body:e,stylesString:n}=t._parsedData;Cz(e,n),Pz(e,t.dataTransfer.getData("text/rtf")),Gz(e),t.content=e}}function Zz(o,t){for(const e of o.getChildren())if(e.is("element","b")&&e.getStyle("font-weight")==="normal"){const n=o.getChildIndex(e);t.remove(e),t.insertChild(n,e.getChildren(),o)}}function Kz(o,t){const e=new Ai(t.document.stylesProcessor),n=new vi(e,{renderingMode:"data"}),i=n.blockElements,r=n.inlineObjectElements,s=[];for(const a of t.createRangeIn(o)){const c=a.item;if(c.is("element","br")){const l=Ak(c,"forward",t,{blockElements:i,inlineObjectElements:r}),d=Ak(c,"backward",t,{blockElements:i,inlineObjectElements:r}),u=Ck(l,i);(Ck(d,i)||u)&&s.push(c)}}for(const a of s)a.hasClass("Apple-interchange-newline")?t.remove(a):t.replace(a,t.createElement("p"))}function Ak(o,t,e,{blockElements:n,inlineObjectElements:i}){let r=e.createPositionAt(o,t=="forward"?"after":"before");return r=r.getLastMatchingPosition(({item:s})=>s.is("element")&&!n.includes(s.name)&&!i.includes(s.name),{direction:t}),t=="forward"?r.nodeAfter:r.nodeBefore}function Ck(o,t){return!!o&&o.is("element")&&t.includes(o.name)}const Yz=/id=("|')docs-internal-guid-[-0-9a-f]+("|')/i;class Qz{constructor(t){this.document=t}isActive(t){return Yz.test(t)}execute(t){const e=new Re(this.document),{body:n}=t._parsedData;Zz(n,e),_z(n,e),Kz(n,e),t.content=n}}function Jz(o,t){for(const e of o.getChildren())e.is("element","table")&&e.hasAttribute("xmlns")&&t.removeAttribute("xmlns",e)}function Xz(o,t){for(const e of o.getChildren())if(e.is("element","google-sheets-html-origin")){const n=o.getChildIndex(e);t.remove(e),t.insertChild(n,e.getChildren(),o)}}function tP(o,t){for(const e of o.getChildren())e.is("element","table")&&e.getStyle("width")==="0px"&&t.removeStyle("width",e)}function eP(o,t){for(const e of Array.from(o.getChildren()))e.is("element","style")&&t.remove(e)}const nP=/[^\S\r\n]*?)[\r\n]+([^\S\r\n]*<\/span>)/g,"$1$2").replace(/<\/span>/g,"").replace(/()[\r\n]+(<\/span>)/g,"$1 $2").replace(/ <\//g," <\/o:p>/g," ").replace(/( |\u00A0)<\/o:p>/g,"").replace(/>([^\S\r\n]*[\r\n]\s*)<")}function rP(o){o.querySelectorAll("span[style*=spacerun]").forEach(t=>{const e=t,n=e.innerText.length||0;e.innerText=Array(n+1).join("  ").substr(0,n)})}function _k(o){return o.replace(/(\s+)<\/span>/g,(t,e)=>e.length===1?" ":Array(e.length+1).join("  ").substr(0,e.length))}function sP(o,t){const e=new DOMParser;o=o.replace(/ +
+
+
+
+ + + + + diff --git a/web/pages/social/esg/index.vue b/web/pages/social/esg/index.vue new file mode 100644 index 0000000..32696e3 --- /dev/null +++ b/web/pages/social/esg/index.vue @@ -0,0 +1,49 @@ + + + + +