@_sh/strapi-plugin-ckeditor 4.0.5 → 4.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_chunks/index--I-k72y7.js +3638 -0
- package/dist/_chunks/index--I-k72y7.js.map +1 -0
- package/dist/_chunks/index-B-8RH8Ci.js +1154 -0
- package/dist/_chunks/index-B-8RH8Ci.js.map +1 -0
- package/dist/_chunks/index-B3EDXnAT.js +1154 -0
- package/dist/_chunks/index-B3EDXnAT.js.map +1 -0
- package/dist/_chunks/index-C0jjn4gQ.mjs +3619 -0
- package/dist/_chunks/index-C0jjn4gQ.mjs.map +1 -0
- package/dist/_chunks/index-CAcXCAV_.js +3638 -0
- package/dist/_chunks/index-CAcXCAV_.js.map +1 -0
- package/dist/_chunks/index-CArd4Wrq.mjs +1128 -0
- package/dist/_chunks/index-CArd4Wrq.mjs.map +1 -0
- package/dist/_chunks/index-CEyU-aaI.js +1154 -0
- package/dist/_chunks/index-CEyU-aaI.js.map +1 -0
- package/dist/_chunks/index-CR_x4n2j.mjs +3619 -0
- package/dist/_chunks/index-CR_x4n2j.mjs.map +1 -0
- package/dist/_chunks/index-D94Z_pt1.mjs +3619 -0
- package/dist/_chunks/index-D94Z_pt1.mjs.map +1 -0
- package/dist/_chunks/index-DV4dFYkp.js +1154 -0
- package/dist/_chunks/index-DV4dFYkp.js.map +1 -0
- package/dist/_chunks/index-Ddlr4vFi.js +3638 -0
- package/dist/_chunks/index-Ddlr4vFi.js.map +1 -0
- package/dist/_chunks/index-DnN7vdyg.js +3638 -0
- package/dist/_chunks/index-DnN7vdyg.js.map +1 -0
- package/dist/_chunks/index-Dov2jT-v.mjs +1128 -0
- package/dist/_chunks/index-Dov2jT-v.mjs.map +1 -0
- package/dist/_chunks/index-Jw3MMVXa.mjs +3619 -0
- package/dist/_chunks/index-Jw3MMVXa.mjs.map +1 -0
- package/dist/_chunks/index-_ebKr7ko.mjs +1128 -0
- package/dist/_chunks/index-_ebKr7ko.mjs.map +1 -0
- package/dist/_chunks/index-ddlYBO9L.mjs +1128 -0
- package/dist/_chunks/index-ddlYBO9L.mjs.map +1 -0
- package/dist/admin/index.js +1 -1
- package/dist/admin/index.mjs +1 -1
- package/dist/server/index.js +16 -9
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +16 -9
- package/dist/server/index.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-B3EDXnAT.js","sources":["../../admin/src/utils/prefixFileUrlWithBackendUrl.js","../../admin/src/components/Input/components/MediaLib.jsx","../../admin/src/utils/localStorage.js","../../admin/src/components/Input/config/plugins.js","../../admin/src/components/Input/config/language.js","../../admin/src/components/Input/config/presets.js","../../admin/src/components/Input/theme/common.js","../../admin/src/components/Input/theme/light.js","../../admin/src/components/Input/theme/dark.js","../../admin/src/components/Input/theme/additional.js","../../admin/src/components/Input/theme/index.js","../../admin/src/components/Input/components/GlobalStyling.jsx","../../admin/src/components/Input/components/Editor.jsx","../../admin/src/components/Input/index.jsx"],"sourcesContent":["export const prefixFileUrlWithBackendUrl = (fileURL) => {\n return !!fileURL && fileURL.startsWith('/')\n ? `${window.strapi.backendURL}${fileURL}`\n : fileURL;\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useStrapiApp } from '@strapi/strapi/admin';\n\nimport { prefixFileUrlWithBackendUrl } from '../../../utils/prefixFileUrlWithBackendUrl'\n\nexport const MediaLib = ({ isOpen = false, onToggle = () => {}, editor }) => {\n const components = useStrapiApp('MediaLib', ({ components }) => components);\n \n const MediaLibraryDialog = components['media-library'];\n\n const handleChangeAssets = (assets) => {\n let newValue = '';\n\n assets.map(({ name, url, alt, formats, mime, width, height }) => {\n if (mime.includes('image')) {\n if (formats && globalThis.SH_CKE_UPLOAD_ADAPTER_IS_RESPONSIVE) {\n let set = '';\n let keys = Object.keys(formats).sort((a, b) => formats[a].width - formats[b].width);\n keys.map((k) => (set += prefixFileUrlWithBackendUrl(formats[k].url) +` ${formats[k].width}w,`));\n newValue = `<img src=\"${url}\" alt=\"${alt}\" width=\"${width}\" height=\"${height}\" srcset=\"${set}\" />`;\n } else {\n newValue = `<img src=\"${url}\" alt=\"${alt}\" width=\"${width}\" height=\"${height}\" />`;\n }\n } else if (mime.includes('video')) {\n newValue = `\n <video class=\"video\" controls width=\"500px\">\n <source src=\"${url}\" type=\"${mime}\" />\n </video>`;\n } else {\n newValue = `<a href=\"${url}\">${name || 'Open document'}</a>`;\n }\n });\n\n const viewFragment = editor.data.processor.toView(newValue);\n const modelFragment = editor.data.toModel(viewFragment);\n editor.model.insertContent(modelFragment);\n\n onToggle();\n };\n\n const handleSelectAssets = (files) => {\n const formattedFiles = files.map((f) => ({\n name: f.name,\n alt: f.alternativeText || f.name,\n url: prefixFileUrlWithBackendUrl(f.url),\n mime: f.mime,\n formats: f.formats,\n width: f.width,\n height: f.height,\n }));\n\n handleChangeAssets(formattedFiles);\n };\n\n if (!isOpen) {\n return null;\n }\n\n return (\n <MediaLibraryDialog\n onClose={onToggle}\n onSelectAssets={handleSelectAssets}\n />\n );\n};\n\nMediaLib.propTypes = {\n isOpen: PropTypes.bool,\n onToggle: PropTypes.func,\n};","const STORAGE_KEYS = {\n TOKEN: 'jwtToken',\n PREFERED_LANGUAGE: 'strapi-admin-language',\n PROFILE_THEME: 'STRAPI_THEME',\n};\n\nexport const getStoredToken = () => {\n const token =\n localStorage.getItem(STORAGE_KEYS.TOKEN) ??\n sessionStorage.getItem(STORAGE_KEYS.TOKEN);\n\n if (typeof token === 'string') {\n return JSON.parse(token);\n }\n\n return null;\n};\n\nexport const getPreferedLanguage = () => {\n const language =\n localStorage\n .getItem(STORAGE_KEYS.PREFERED_LANGUAGE)\n ?.replace(/^\"|\"$/g, '') || 'en';\n return language;\n};\n\nexport const getProfileTheme = () => {\n const theme = localStorage.getItem(STORAGE_KEYS.PROFILE_THEME);\n return theme;\n};\n","import { getStoredToken } from '../../../utils/localStorage';\n\nexport const setPlugins = (config, toggleMediaLib) => {\n\n const token = getStoredToken();\n\n const presetPluginNames = config?.plugins\n ? [...config.plugins.map((p) => p.pluginName)]\n : [];\n\n if (presetPluginNames.includes('StrapiMediaLib')) {\n config.strapiMediaLib = { toggle: toggleMediaLib };\n }\n\n if (presetPluginNames.includes('StrapiUploadAdapter')) {\n config.strapiUploadAdapter = {\n uploadUrl: `${strapi.backendURL}/upload`,\n headers: { Authorization: 'Bearer ' + token },\n backendUrl: strapi.backendURL,\n responsive: globalThis.SH_CKE_UPLOAD_ADAPTER_IS_RESPONSIVE,\n };\n }\n\n if (presetPluginNames.includes('WordCount')) {\n config.WordCountPlugin = true;\n }\n};\n","import { getPreferedLanguage } from '../../../utils/localStorage';\n\nconst translationImports = {\n af: () => import('ckeditor5/translations/af.js'),\n ar: () => import('ckeditor5/translations/ar.js'),\n ast: () => import('ckeditor5/translations/ast.js'),\n az: () => import('ckeditor5/translations/az.js'),\n bg: () => import('ckeditor5/translations/bg.js'),\n bn: () => import('ckeditor5/translations/bn.js'),\n bs: () => import('ckeditor5/translations/bs.js'),\n ca: () => import('ckeditor5/translations/ca.js'),\n cs: () => import('ckeditor5/translations/cs.js'),\n da: () => import('ckeditor5/translations/da.js'),\n 'de-ch': () => import('ckeditor5/translations/de-ch.js'),\n de: () => import('ckeditor5/translations/de.js'),\n el: () => import('ckeditor5/translations/el.js'),\n 'en-au': () => import('ckeditor5/translations/en-au.js'),\n 'en-gb': () => import('ckeditor5/translations/en-gb.js'),\n en: () => import('ckeditor5/translations/en.js'),\n eo: () => import('ckeditor5/translations/eo.js'),\n 'es-co': () => import('ckeditor5/translations/es-co.js'),\n es: () => import('ckeditor5/translations/es.js'),\n et: () => import('ckeditor5/translations/et.js'),\n eu: () => import('ckeditor5/translations/eu.js'),\n fa: () => import('ckeditor5/translations/fa.js'),\n fi: () => import('ckeditor5/translations/fi.js'),\n fr: () => import('ckeditor5/translations/fr.js'),\n gl: () => import('ckeditor5/translations/gl.js'),\n gu: () => import('ckeditor5/translations/gu.js'),\n he: () => import('ckeditor5/translations/he.js'),\n hi: () => import('ckeditor5/translations/hi.js'),\n hr: () => import('ckeditor5/translations/hr.js'),\n hu: () => import('ckeditor5/translations/hu.js'),\n hy: () => import('ckeditor5/translations/hy.js'),\n id: () => import('ckeditor5/translations/id.js'),\n it: () => import('ckeditor5/translations/it.js'),\n ja: () => import('ckeditor5/translations/ja.js'),\n jv: () => import('ckeditor5/translations/jv.js'),\n kk: () => import('ckeditor5/translations/kk.js'),\n km: () => import('ckeditor5/translations/km.js'),\n kn: () => import('ckeditor5/translations/kn.js'),\n ko: () => import('ckeditor5/translations/ko.js'),\n ku: () => import('ckeditor5/translations/ku.js'),\n lt: () => import('ckeditor5/translations/lt.js'),\n lv: () => import('ckeditor5/translations/lv.js'),\n ms: () => import('ckeditor5/translations/ms.js'),\n nb: () => import('ckeditor5/translations/nb.js'),\n ne: () => import('ckeditor5/translations/ne.js'),\n nl: () => import('ckeditor5/translations/nl.js'),\n no: () => import('ckeditor5/translations/no.js'),\n oc: () => import('ckeditor5/translations/oc.js'),\n pl: () => import('ckeditor5/translations/pl.js'),\n 'pt-br': () => import('ckeditor5/translations/pt-br.js'),\n pt: () => import('ckeditor5/translations/pt.js'),\n ro: () => import('ckeditor5/translations/ro.js'),\n ru: () => import('ckeditor5/translations/ru.js'),\n si: () => import('ckeditor5/translations/si.js'),\n sk: () => import('ckeditor5/translations/sk.js'),\n sl: () => import('ckeditor5/translations/sl.js'),\n sq: () => import('ckeditor5/translations/sq.js'),\n sr: () => import('ckeditor5/translations/sr.js'),\n 'sr-latn': () => import('ckeditor5/translations/sr-latn.js'),\n sv: () => import('ckeditor5/translations/sv.js'),\n th: () => import('ckeditor5/translations/th.js'),\n ti: () => import('ckeditor5/translations/ti.js'),\n tk: () => import('ckeditor5/translations/tk.js'),\n tr: () => import('ckeditor5/translations/tr.js'),\n tt: () => import('ckeditor5/translations/tt.js'),\n ug: () => import('ckeditor5/translations/ug.js'),\n uk: () => import('ckeditor5/translations/uk.js'),\n ur: () => import('ckeditor5/translations/ur.js'),\n uz: () => import('ckeditor5/translations/uz.js'),\n vi: () => import('ckeditor5/translations/vi.js'),\n 'zh-cn': () => import('ckeditor5/translations/zh-cn.js'),\n zh: () => import('ckeditor5/translations/zh.js'),\n};\n\nconst importLang = async (config, language) => {\n if (translationImports[language]) {\n const translations = await translationImports[language]();\n config.translations = translations.default;\n } else {\n console.error(`No translation found for language: ${language}`);\n }\n};\n\nconst detecti18n = () => {\n const urlSearchParams = new URLSearchParams(window.location.search);\n const params = Object.fromEntries(urlSearchParams.entries());\n const i18n = params['plugins[i18n][locale]'];\n return i18n && i18n.split('-')[0];\n};\n\nexport const setLanguage = async (config) => {\n const i18nLang = detecti18n();\n\n const preferedLanguage = getPreferedLanguage();\n\n const {\n ui = config.language && typeof config.language === 'string' ?\n config.language\n : preferedLanguage,\n textPartLanguage,\n ignorei18n,\n } = config.language || {};\n\n if (i18nLang && !ignorei18n) {\n config.language = {\n ui: ui,\n content: i18nLang,\n textPartLanguage: textPartLanguage,\n };\n }\n\n if (ui !== 'en') {\n await importLang(config, ui);\n }\n};\n","import basePresets from '../presets';\nimport { setPlugins } from './plugins';\nimport { setLanguage } from './language';\n\nexport const getConfiguredPreset = async (presetName, toggleMediaLib) => {\n const { presets: userPresets, dontMergePresets } =\n globalThis.SH_CKE_CONFIG || {};\n\n const preset = dontMergePresets\n ? userPresets[presetName]\n : basePresets[presetName];\n\n setPlugins(preset.editorConfig, toggleMediaLib);\n\n await setLanguage(preset.editorConfig);\n\n return preset;\n};\n","import { css } from 'styled-components';\n\nexport const common = css`\n .ck {\n --ck-color-image-caption-background: hsl(0, 0%, 97%);\n --ck-color-image-caption-text: hsl(0, 0%, 20%);\n --ck-color-mention-background: hsla(341, 100%, 30%, 0.1);\n --ck-color-mention-text: hsl(341, 100%, 30%);\n --ck-color-table-caption-background: hsl(0, 0%, 97%);\n --ck-color-table-caption-text: hsl(0, 0%, 20%);\n --ck-highlight-marker-blue: hsl(201, 97%, 72%);\n --ck-highlight-marker-green: hsl(120, 93%, 68%);\n --ck-highlight-marker-pink: hsl(345, 96%, 73%);\n --ck-highlight-marker-yellow: hsl(60, 97%, 73%);\n --ck-highlight-pen-green: hsl(112, 100%, 27%);\n --ck-highlight-pen-red: hsl(0, 85%, 49%);\n --ck-image-style-spacing: 1.5em;\n --ck-inline-image-style-spacing: calc(var(--ck-image-style-spacing) / 2);\n --ck-todo-list-checkmark-size: 16px;\n font-size: 14px;\n }\n\n .ck.ck-sticky-panel .ck-sticky-panel__content_sticky {\n top: 64px !important;\n }\n .ck.ck-reset.ck-dropdown__panel.ck-dropdown__panel_sw.ck-dropdown__panel-visible {\n border-radius: 4px;\n }\n\n .ck-editor__main {\n --ck-font-face: 'Source Sans Pro', system-ui, Roboto, 'Helvetica Neue',\n 'Helvetica', Arial, sans-serif;\n\n color: var(--ck-color-editor-base-text);\n font-family: var(--ck-font-face);\n\n * {\n font: revert;\n margin: revert;\n }\n\n h1 {\n font-size: 2.3em;\n }\n\n h2 {\n font-size: 1.84em;\n }\n\n h3 {\n font-size: 1.48em;\n }\n\n h4 {\n font-size: 1.22em;\n }\n\n h5 {\n font-size: 1.06em;\n }\n\n h6 {\n font-size: 1em;\n }\n\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n line-height: 1.2em;\n padding-top: 0.8em;\n margin-bottom: 0.4em;\n }\n\n blockquote,\n ol,\n p,\n ul {\n font-size: 1em;\n line-height: 1.6em;\n padding-top: 0.2em;\n margin-bottom: var(--ck-spacing-large);\n }\n\n figcaption {\n background-color: var(--ck-color-image-caption-background);\n caption-side: bottom;\n color: var(--ck-color-image-caption-text);\n display: table-caption;\n font-size: 0.75em;\n outline-offset: -1px;\n padding: 0.6em;\n word-break: break-word;\n }\n\n a {\n text-decoration: none;\n color: #1b3af2;\n }\n\n a:hover {\n text-decoration: underline;\n }\n\n .table {\n margin: 0;\n }\n\n ul.todo-list {\n list-style: none;\n margin: revert;\n color: revert;\n font-family: revert;\n margin-left: 2rem;\n }\n\n ul,\n ol {\n list-style: initial;\n margin-left: 2rem;\n }\n\n ol {\n list-style: decimal;\n }\n\n sub {\n vertical-align: sub;\n }\n\n sup {\n vertical-align: super;\n }\n\n .ck.ck-content.ck-editor__editable {\n line-height: initial;\n min-height: 12.5rem;\n border-bottom-left-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n transition-property: border-color, box-shadow, max-height;\n transition-timing-function: ease-in-out;\n transition-duration: 0.5s;\n &.ck-focused:not(.ck-editor__nested-editable) {\n border: 1px solid var(--ck-color-base-border);\n /* border: var(--ck-focus-ring); */\n box-shadow: none;\n transition-property: border-color, box-shadow, max-height;\n transition-timing-function: ease-in-out;\n transition-duration: 0.5s;\n }\n }\n\n .ck-focused,\n .ck-blurred {\n overflow-y: auto;\n overflow-x: hidden;\n transition: max-height 0.5s ease-in-out, min-height 0.5s ease-in-out !important;\n ::-webkit-scrollbar {\n width: 7px;\n }\n ::-webkit-scrollbar-track {\n background: var(--ck-scroll-track-background);\n border: none;\n }\n ::-webkit-scrollbar-thumb {\n transition: background 2s;\n background: var(--ck-scroll-thumb-background);\n border: 1px solid var(--ck-scroll-thumb-border-color);\n }\n ::-webkit-scrollbar-thumb:hover {\n transition: background 2s;\n background: var(--ck-scroll-thumb-hover-background);\n }\n ::-webkit-scrollbar-thumb:active {\n background: var(--ck-scroll-thumb-active-background);\n }\n }\n }\n\n .ck .ck-source-editing-area textarea {\n color: var(--ck-color-text);\n background-color: var(--ck-color-base-background);\n border: 1px solid var(--ck-color-base-border) !important;\n box-shadow: none !important;\n }\n\n .ck .ck-block-toolbar-button {\n min-width: 0 !important;\n min-height: 0 !important;\n width: 20px !important;\n height: 25px !important;\n margin-left: -2px !important ;\n\n & svg {\n color: var(--ck-color-text) !important;\n position: absolute;\n width: 20px;\n height: 20px;\n }\n }\n\n .ck-word-count {\n margin-top: 0.3rem;\n display: flex;\n justify-content: end;\n gap: 0.3rem;\n font-size: 1rem;\n font-weight: 500;\n text-transform: lowercase;\n /* color: #b3b3c4; */\n }\n\n .ck[dir='rtl'] {\n .ck-block-toolbar-button {\n margin-left: 2px !important ;\n }\n & + div {\n justify-content: flex-start;\n & > .ck-word-count {\n & > div:first-child {\n order: 2;\n }\n & > div:last-child {\n order: 1;\n }\n }\n }\n }\n\n .ck.ck-editor__editable > .ck-placeholder::before {\n color: var(--ck-color-editor-base-text);\n opacity: 0.65;\n }\n`;\n","import { css } from 'styled-components';\n\nexport const light = css`\n :root {\n --ck-color-focus-outer-shadow: rgba(77, 115, 255, 0.2) !important;\n --ck-color-focus-disabled-shadow: #e4e3ff !important;\n --ck-focus-ring: 1px solid rgb(73, 69, 255) !important;\n --ck-color-button-default-hover-background: #f0f0ff !important;\n }\n\n .ck.ck-powered-by > a > svg > path:first-child {\n fill: #001234;\n }\n\n .ck {\n --ck-scroll-track-background: rgb(242, 242, 242);\n --ck-scroll-thumb-background: rgb(236, 236, 236);\n --ck-scroll-thumb-border-color: #cdcdf8;\n --ck-scroll-thumb-hover-background: #f0f0ff;\n --ck-scroll-thumb-active-background: #d9d8ff;\n\n --ck-color-editor-base-text: #001234;\n /* Overrides the border radius setting in the theme. */\n --ck-border-radius: 4px;\n\n /* Helper variables to avoid duplication in the colors. */\n --ck-color-base-border: #dcdce4;\n --ck-color-base-background: #ffffff;\n --ck-custom-background: #ffffff;\n --ck-custom-foreground: #dedede;\n --ck-custom-border: #dcdce4;\n --ck-custom-white: hsl(0, 0%, 100%);\n\n --ck-color-base-focus: #bbbaf1;\n --ck-color-base-active: #f0f0ff;\n --ck-color-base-active-focus: #e2e2fd;\n \n /* -- Overrides generic colors. ----------------------------------------- */\n\n --ck-color-base-foreground: var(--ck-custom-background);\n\n --ck-color-focus-border: rgb(73, 69, 255);\n\n --ck-color-text: #32324d;\n --ck-color-shadow-drop: hsla(250, 31%, 80%, 0.1);\n --ck-color-shadow-inner: hsla(250, 31%, 80%, 0.1);\n\n /* -- Overrides the default .ck-button class colors. -------------------- */\n\n --ck-color-button-default-background: var(--ck-custom-background);\n --ck-color-button-default-hover-background: #f0f0ff;\n --ck-color-button-default-active-background: #f6f6f9;\n --ck-color-button-default-active-shadow: #dedefb;\n --ck-color-button-default-disabled-background: var(--ck-custom-background);\n\n --ck-color-button-on-color: rgb(73, 69, 255);\n --ck-color-button-on-background: #f0f0ff;\n --ck-color-button-on-hover-background: #e6e9fc;\n --ck-color-button-on-active-background: #f6f6f9;\n --ck-color-button-on-active-shadow: #cdcdf8;\n --ck-color-button-on-disabled-background: var(--ck-custom-foreground);\n\n --ck-color-button-action-background: hsl(168, 76%, 42%);\n --ck-color-button-action-hover-background: hsl(168, 76%, 38%);\n --ck-color-button-action-active-background: hsl(168, 76%, 36%);\n --ck-color-button-action-active-shadow: hsl(168, 75%, 34%);\n --ck-color-button-action-disabled-background: hsl(168, 76%, 42%);\n --ck-color-button-action-text: var(--ck-custom-white);\n\n --ck-color-button-save: hsl(120, 100%, 46%);\n --ck-color-button-cancel: hsl(15, 100%, 56%);\n\n /* -- Overrides the default .ck-dropdown class colors. ------------------ */\n\n --ck-color-dropdown-panel-background: var(--ck-custom-background);\n --ck-color-dropdown-panel-border: var(--ck-custom-foreground);\n\n /* -- Overrides the default .ck-splitbutton class colors. --------------- */\n\n --ck-color-split-button-hover-background: var(\n --ck-color-button-default-hover-background\n );\n --ck-color-split-button-hover-border: var(--ck-custom-foreground);\n\n /* -- Overrides the default .ck-input class colors. --------------------- */\n\n --ck-color-input-background: var(--ck-custom-background);\n --ck-color-input-border: hsl(257, 3%, 43%);\n --ck-color-input-text: hsl(0, 0%, 98%);\n --ck-color-input-disabled-background: hsl(0, 0%, 97%);\n --ck-color-input-disabled-border: rgb(214, 214, 214);\n --ck-color-input-disabled-text: hsl(0, 0%, 78%);\n\n /* -- Overrides the default .ck-labeled-field-view class colors. -------- */\n\n --ck-color-labeled-field-label-background: var(--ck-custom-background);\n\n /* -- Overrides the default .ck-list class colors. ---------------------- */\n\n --ck-color-list-background: var(--ck-custom-background);\n --ck-color-list-button-hover-background: #f4f4fb;\n --ck-color-list-button-on-background: var(--ck-color-base-active);\n --ck-color-list-button-on-background-focus: var(\n --ck-color-base-active-focus\n );\n --ck-color-list-button-on-text: #271fe2;\n\n /* -- Overrides the default .ck-balloon-panel class colors. ------------- */\n\n --ck-color-panel-background: var(--ck-custom-background);\n --ck-color-panel-border: var(--ck-custom-border);\n\n /* -- Overrides the default .ck-toolbar class colors. ------------------- */\n\n --ck-color-toolbar-background: var(--ck-custom-background);\n --ck-color-toolbar-border: var(--ck-custom-border);\n\n /* -- Overrides the default .ck-tooltip class colors. ------------------- */\n\n --ck-color-tooltip-background: #3a3955;\n --ck-color-tooltip-text: hsl(0, 0%, 93%);\n\n /* -- Overrides the default colors used by the ckeditor5-image package. - */\n\n --ck-color-image-caption-background: hsl(0, 0%, 97%);\n --ck-color-image-caption-text: hsl(0, 0%, 20%);\n\n /* -- Overrides the default colors used by the ckeditor5-widget package. */\n\n --ck-color-widget-blurred-border: #cfcffa;\n --ck-color-widget-hover-border: #c9c9e4;\n --ck-color-widget-editable-focus-background: var(--ck-custom-white);\n\n /* -- Overrides the default colors used by the ckeditor5-link package. -- */\n\n --ck-color-link-default: hsl(209, 89%, 33%);\n\n --ck-powered-by-background: transparrent;\n --ck-powered-by-border-color: var(--ck-color-base-background);\n\n --ck-color-dialog-background: var(--ck-custom-background);\n --ck-color-dialog-form-header-border: var(--ck-color-base-border);\n }\n`;\n","import { css } from 'styled-components';\n\nexport const dark = css`\n :root {\n --ck-color-focus-outer-shadow: rgba(77, 115, 255, 0.2) !important;\n --ck-color-focus-disabled-shadow: rgba(106, 114, 143, 0.4) !important;\n --ck-focus-ring: 1px solid #4945ff !important;\n --ck-color-button-default-hover-background: #262630 !important;\n }\n\n .ck.ck-powered-by > a > svg > path:first-child {\n fill: rgb(236, 236, 236);\n }\n\n .ck.ck-powered-by > a > svg > path:nth-child(3) {\n fill: rgb(172, 156, 251);\n }\n\n .ck {\n --ck-scroll-track-background: #3d3d57;\n --ck-scroll-thumb-background: #181826;\n --ck-scroll-thumb-border-color: rgb(70, 70, 70);\n --ck-scroll-thumb-hover-background: #202033;\n --ck-scroll-thumb-active-background: #2b2b45;\n\n --ck-color-editor-base-text: rgb(236, 236, 236);\n /* Overrides the border radius setting in the theme. */\n --ck-border-radius: 4px;\n\n /* Helper variables to avoid duplication in the colors. */\n --ck-color-base-border: #4a4a6a;\n --ck-color-base-background: #212134;\n --ck-custom-background: #181826;\n --ck-custom-foreground: #26263b;\n --ck-custom-border: #4a4a6a;\n --ck-custom-white: hsl(0, 0%, 100%);\n\n --ck-color-focus-outer-shadow: #212134;\n\n --ck-color-base-focus: #bbbaf1;\n --ck-color-base-active: #2e2e5c;\n --ck-color-base-active-focus: #28284d;\n \n /* -- Overrides generic colors. ----------------------------------------- */\n\n --ck-color-base-foreground: var(--ck-custom-background);\n --ck-color-focus-border: #6765bd;\n --ck-color-text: hsl(0, 0%, 93%);\n --ck-color-shadow-drop: hsla(0, 0%, 0%, 0.2);\n --ck-color-shadow-inner: hsla(0, 0%, 0%, 0.1);\n\n /* -- Overrides the default .ck-button class colors. -------------------- */\n\n --ck-color-button-default-background: rgb(33, 33, 52);\n\n --ck-color-button-default-hover-background: #262630;\n --ck-color-button-default-active-background: #3c3c47;\n --ck-color-button-default-active-shadow: #3c3c47;\n --ck-color-button-default-disabled-background: var(--ck-custom-background);\n\n --ck-color-button-on-color: #7b79ff;\n --ck-color-button-on-background: #2b2b36;\n --ck-color-button-on-hover-background: #30303b;\n --ck-color-button-on-active-background: #3c3c47;\n --ck-color-button-on-active-shadow: #3c3c47;\n --ck-color-button-on-disabled-background: var(--ck-custom-foreground);\n\n --ck-color-button-action-background: hsl(168, 76%, 42%);\n --ck-color-button-action-hover-background: hsl(168, 76%, 38%);\n --ck-color-button-action-active-background: hsl(168, 76%, 36%);\n --ck-color-button-action-active-shadow: hsl(168, 75%, 34%);\n --ck-color-button-action-disabled-background: hsl(168, 76%, 42%);\n --ck-color-button-action-text: var(--ck-custom-white);\n\n --ck-color-button-save: hsl(120, 100%, 46%);\n --ck-color-button-cancel: hsl(15, 100%, 56%);\n\n /* -- Overrides the default .ck-dropdown class colors. ------------------ */\n\n --ck-color-dropdown-panel-background: var(--ck-custom-background);\n --ck-color-dropdown-panel-border: var(--ck-custom-foreground);\n\n /* -- Overrides the default .ck-splitbutton class colors. --------------- */\n\n --ck-color-split-button-hover-background: var(\n --ck-color-button-default-hover-background\n );\n --ck-color-split-button-hover-border: var(--ck-custom-foreground);\n\n /* -- Overrides the default .ck-input class colors. --------------------- */\n\n --ck-color-input-background: var(--ck-custom-background);\n --ck-color-input-border: hsl(257, 3%, 43%);\n --ck-color-input-text: hsl(0, 0%, 98%);\n --ck-color-input-disabled-background: hsl(255, 4%, 21%);\n --ck-color-input-disabled-border: hsl(250, 3%, 38%);\n --ck-color-input-disabled-text: hsl(0, 0%, 78%);\n\n /* -- Overrides the default .ck-labeled-field-view class colors. ---------*/\n\n --ck-color-labeled-field-label-background: var(--ck-custom-background);\n\n /* -- Overrides the default .ck-list class colors. ---------------------- */\n\n --ck-color-list-background: var(--ck-custom-background);\n --ck-color-list-button-hover-background: #121221;\n --ck-color-list-button-on-background: var(--ck-color-base-active);\n --ck-color-list-button-on-background-focus: var(\n --ck-color-base-active-focus\n );\n --ck-color-list-button-on-text: #ffffff;\n\n /* -- Overrides the default .ck-balloon-panel class colors. ------------- */\n\n --ck-color-panel-background: var(--ck-custom-background);\n --ck-color-panel-border: var(--ck-custom-border);\n\n /* -- Overrides the default .ck-toolbar class colors. ------------------- */\n\n --ck-color-toolbar-background: var(--ck-custom-background);\n --ck-color-toolbar-border: var(--ck-custom-border);\n\n /* -- Overrides the default .ck-tooltip class colors. ------------------- */\n\n --ck-color-tooltip-background: #3a3955;\n --ck-color-tooltip-text: hsl(0, 0%, 93%);\n\n /* -- Overrides the default colors used by the ckeditor5-image package. - */\n\n --ck-color-image-caption-background: hsl(0, 0%, 97%);\n --ck-color-image-caption-text: hsl(0, 0%, 20%);\n\n /* -- Overrides the default colors used by the ckeditor5-widget package. */\n\n --ck-color-widget-blurred-border: #7c7c96;\n --ck-color-widget-hover-border: #666687;\n --ck-color-widget-editable-focus-background: var(--ck-custom-white);\n\n /* -- Overrides the default colors used by the ckeditor5-link package. -- */\n\n --ck-color-link-default: hsl(216, 100%, 75%);\n\n --ck-powered-by-background: transparrent;\n --ck-powered-by-border-color: var(--ck-color-base-background);\n\n --ck-color-dialog-background: var(--ck-custom-background);\n --ck-color-dialog-form-header-border: var(--ck-color-base-border);\n }\n`;\n","import { css } from 'styled-components';\n\nexport const additional = css`\n /* --- expanding --- */\n\n .ck.ck-editor__main .ck-blurred {\n max-height: 200px !important;\n }\n .ck.ck-editor__main .ck-focused {\n min-height: 200px !important;\n max-height: 700px !important;\n }\n\n /* --- color-grid --- */\n\n .ck.ck-color-ui-dropdown {\n --ck-color-grid-tile-size: 22px !important;\n }\n .ck.ck-color-grid__tile {\n width: auto;\n }\n .ck.ck-color-ui-dropdown .ck-color-grid {\n grid-gap: 2px;\n }\n .ck.ck-color-ui-dropdown .ck-color-grid .ck-button {\n border-radius: 2px;\n }\n .ck.ck-color-ui-dropdown\n .ck.ck-color-grid\n .ck-color-grid__tile:hover:not(.ck-disabled),\n .ck.ck-color-ui-dropdown\n .ck.ck-color-grid\n .ck-color-grid__tile:focus:not(.ck-disabled) {\n z-index: 1;\n transform: scale(1.1);\n border-radius: 2px;\n }\n\n /* ---- Styles feature ------------------------------------------------------ */\n\n :root {\n --ck-georgia-serif-font-stack: Georgia, Times, Times New Roman, serif;\n }\n\n .ck-content h1.document-title {\n font-family: var(--ck-georgia-serif-font-stack);\n font-size: 50px;\n font-weight: bold;\n border: 0;\n }\n\n .ck-content h2.document-subtitle {\n font-family: var(--ck-georgia-serif-font-stack);\n font-size: 20px;\n font-weight: bold;\n color: #d1d1d1;\n letter-spacing: 10px;\n }\n\n .ck-content p.callout {\n --border-color: #e91e1e;\n padding: 1.2em 2em;\n border: 1px solid var(--border-color);\n border-left: 10px solid var(--border-color);\n background: #fff9fb;\n border-radius: 5px;\n margin: 1.5em 2em;\n box-shadow: 5px 5px 0 #ffe6ef;\n }\n\n .ck-content blockquote.side-quote {\n font-family: var(--ck-georgia-serif-font-stack);\n font-style: normal;\n float: right;\n width: 35%;\n position: relative;\n border: 0;\n overflow: visible;\n z-index: 1;\n margin-left: 1em;\n }\n\n .ck-content blockquote.side-quote::before {\n content: '“';\n position: absolute;\n top: -37px;\n left: -10px;\n display: block;\n font-size: 200px;\n color: #e7e7e7;\n z-index: -1;\n line-height: 1;\n }\n\n .ck-content blockquote.side-quote p {\n font-size: 2em;\n line-height: 1;\n }\n\n .ck-content blockquote.side-quote p:last-child:not(:first-child) {\n font-size: 1.3em;\n text-align: right;\n color: #555;\n }\n\n .ck-content span.needs-clarification {\n outline: 1px dashed #c8a24b;\n background: #ffe19c;\n border-radius: 2px;\n position: relative;\n }\n\n .ck-content span.needs-clarification::after {\n content: '?';\n display: inline-block;\n color: #fff;\n background: #3b3b3b;\n font-size: 12px;\n vertical-align: super;\n width: 12px;\n height: 12px;\n line-height: 12px;\n border-radius: 10px;\n text-align: center;\n position: absolute;\n right: -6px;\n top: -6px;\n font-weight: bold;\n letter-spacing: initial;\n }\n\n .ck-content span.wide-spacing {\n letter-spacing: 0.3em;\n }\n\n .ck-content span.small-caps {\n font-variant: small-caps;\n }\n\n .ck-content span.spoiler {\n background: #000;\n color: #000;\n }\n\n .ck-content span.spoiler:hover {\n background: #000;\n color: #fff;\n }\n\n .ck-content pre.stylish-code {\n border-color: transparent;\n margin-left: 2em;\n margin-right: 2em;\n border-radius: 10px;\n }\n\n .ck-content pre.stylish-code::before {\n content: '';\n display: block;\n height: 13px;\n background: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1NCAxMyI+CiAgPGNpcmNsZSBjeD0iNi41IiBjeT0iNi41IiByPSI2LjUiIGZpbGw9IiNGMzZCNUMiLz4KICA8Y2lyY2xlIGN4PSIyNi41IiBjeT0iNi41IiByPSI2LjUiIGZpbGw9IiNGOUJFNEQiLz4KICA8Y2lyY2xlIGN4PSI0Ny41IiBjeT0iNi41IiByPSI2LjUiIGZpbGw9IiM1NkM0NTMiLz4KPC9zdmc+Cg==);\n margin-bottom: 8px;\n background-repeat: no-repeat;\n }\n\n .ck-content pre.stylish-code-dark,\n .ck-content pre.stylish-code-bright {\n padding: 1em;\n }\n\n .ck-content pre.stylish-code-dark {\n background: #272822;\n box-shadow: 5px 5px 0 #0000001f;\n color: white;\n }\n\n .ck-content pre.stylish-code-dark code {\n color: white;\n }\n\n .ck-content pre.stylish-code-bright {\n background: #dddfe0;\n color: #000;\n box-shadow: 5px 5px 0 #b3b3b3;\n }\n\n .ck-content pre.stylish-code-bright code {\n color: #222;\n }\n`;\n","import { common } from './common';\nimport { light } from './light';\nimport { dark } from './dark';\nimport { additional } from './additional';\n\nconst baseTheme = {\n common: common,\n light: light,\n dark: dark,\n additional: additional\n}\n\nexport default baseTheme;","import React from 'react';\nimport { createGlobalStyle } from 'styled-components';\n\nimport baseTheme from '../theme';\nimport { getProfileTheme } from '../../../utils/localStorage';\n\nconst GlobalStyle = createGlobalStyle`\n ${({ theme }) => theme.common}\n ${({ theme, variant }) => theme[variant]}\n ${({ theme }) => theme.additional}\n`;\n\nconst getSystemColorScheme = () =>\n window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches\n ? 'dark'\n : 'light';\n\nconst GlobalStyling = () => {\n const { theme: userTheme, dontMergeTheme } = globalThis.SH_CKE_CONFIG || {};\n\n const profileTheme = getProfileTheme();\n\n const variant =\n profileTheme && profileTheme !== 'system'\n ? profileTheme\n : getSystemColorScheme();\n\n const theme = dontMergeTheme ? userTheme : { ...baseTheme, ...userTheme };\n\n return <GlobalStyle theme={theme} variant={variant} />;\n};\n\nconst MemoizedGlobalStyling = React.memo(GlobalStyling);\n\nexport { MemoizedGlobalStyling as GlobalStyling };\n","import React, { useEffect, useRef, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport styled from 'styled-components';\nimport { CKEditor } from '@ckeditor/ckeditor5-react';\nimport { ClassicEditor } from 'ckeditor5';\nimport { Box, Loader } from '@strapi/design-system';\nimport { useField } from '@strapi/strapi/admin';\nimport 'ckeditor5/ckeditor5.css';\n\nimport { MediaLib } from './MediaLib';\nimport { getConfiguredPreset } from '../config';\nimport { GlobalStyling } from './GlobalStyling';\n\nconst Wrapper = styled('div')`\n ${({ styles }) => styles}\n`;\n\nexport const Editor = ({\n name,\n disabled,\n presetName,\n maxLength,\n placeholder,\n}) => {\n const { onChange, value } = useField(name);\n\n const [editorInstance, setEditorInstance] = useState(false);\n\n const [mediaLibVisible, setMediaLibVisible] = useState(false);\n\n const [preset, setPreset] = useState(null);\n\n const [lengthMax, setLengthMax] = useState(false);\n\n const wordCounter = useRef(null);\n\n const handleToggleMediaLib = () => setMediaLibVisible((prev) => !prev);\n\n const handleCounter = (number) =>\n number > maxLength ? setLengthMax(true) : setLengthMax(false);\n\n useEffect(() => {\n (async () => {\n const currentPreset = await getConfiguredPreset(\n presetName,\n handleToggleMediaLib\n );\n\n if (placeholder) {\n const clonedPreset = {\n ...currentPreset,\n editorConfig: {\n ...currentPreset.editorConfig,\n placeholder: placeholder,\n },\n };\n \n setPreset(clonedPreset);\n } else {\n setPreset(currentPreset);\n }\n })();\n }, []);\n\n return (\n <>\n {preset && <GlobalStyling />}\n <Wrapper styles={preset?.styles}>\n {!preset && (\n <LoaderBox hasRadius background=\"neutral100\">\n <Loader>Loading...</Loader>\n </LoaderBox>\n )}\n {preset && (\n <>\n <CKEditor\n editor={ClassicEditor}\n config={preset.editorConfig}\n disabled={disabled}\n data={value ?? ''}\n onReady={(editor) => {\n if (preset.editorConfig.WordCountPlugin) {\n const wordCountPlugin = editor.plugins.get('WordCount');\n wordCountPlugin.on('update', (evt, stats) =>\n handleCounter(stats.characters)\n );\n const wordCountWrapper = wordCounter.current;\n wordCountWrapper?.appendChild(\n wordCountPlugin.wordCountContainer\n );\n }\n\n if (editor.plugins.has('ImageUploadEditing')) {\n editor.plugins\n .get('ImageUploadEditing')\n .on('uploadComplete', (evt, { data, imageElement }) =>\n editor.model.change((writer) =>\n writer.setAttribute('alt', data.alt, imageElement)\n )\n );\n }\n\n setEditorInstance(editor);\n }}\n onChange={(event, editor) => {\n const data = editor.getData();\n onChange({ target: { name, value: data } });\n }}\n />\n <MediaLib\n isOpen={mediaLibVisible}\n onToggle={handleToggleMediaLib}\n editor={editorInstance}\n />\n {preset.editorConfig.WordCountPlugin && (\n <CounterLoaderBox\n color={lengthMax ? 'danger500' : 'neutral400'}\n ref={wordCounter}\n >\n {!editorInstance && <Loader small>Loading...</Loader>}\n </CounterLoaderBox>\n )}\n </>\n )}\n </Wrapper>\n </>\n );\n};\n\nEditor.propTypes = {\n name: PropTypes.string.isRequired,\n disabled: PropTypes.bool,\n presetName: PropTypes.string.isRequired,\n maxLength: PropTypes.number,\n placeholder: PropTypes.string,\n};\n\nconst CounterLoaderBox = styled(Box)`\n display: flex;\n width: 100%;\n justify-content: flex-end;\n align-items: center;\n`;\nconst LoaderBox = styled(Box)`\n display: flex;\n height: 200px;\n width: 100%;\n justify-content: center;\n align-items: center;\n`;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Field, Flex } from '@strapi/design-system';\n\nimport { Editor } from './components/Editor';\n\nconst Input = ({\n name,\n attribute,\n value = '',\n labelAction = null,\n label,\n disabled = false,\n error = null,\n required = false,\n hint = '',\n placeholder,\n}) => {\n const { preset, maxLengthCharacters, ...options } = attribute.options;\n\n return (\n <Field.Root\n name={name}\n id={name}\n error={error}\n hint={hint}\n required={required}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={1}>\n <Field.Label action={labelAction}>{label}</Field.Label>\n <Editor\n disabled={disabled}\n name={name}\n value={value}\n presetName={preset}\n maxLength={maxLengthCharacters}\n placeholder={placeholder}\n />\n <Field.Hint />\n <Field.Error />\n </Flex>\n </Field.Root>\n );\n};\n\nInput.propTypes = {\n name: PropTypes.string.isRequired,\n attribute: PropTypes.object.isRequired,\n value: PropTypes.string,\n labelAction: PropTypes.object,\n label: PropTypes.string,\n disabled: PropTypes.bool,\n error: PropTypes.string,\n required: PropTypes.bool,\n hint: PropTypes.string,\n placeholder: PropTypes.string,\n};\n\nconst MemoizedInput = React.memo(Input);\n\nexport default MemoizedInput;"],"names":["useStrapiApp","components","jsx","PropTypes","basePresets","css","createGlobalStyle","React","styled","useField","useState","useRef","useEffect","jsxs","Fragment","GlobalStyling","Loader","CKEditor","ClassicEditor","Box","Field","Flex"],"mappings":"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AAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;ACAf,MAAM,QAAQA,OAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;ACAd,MAAM,OAAOA,OAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;ACAb,MAAM,aAAaA,OAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;A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"}
|