From ce333d4c4074920276ccb4791cb918def692087b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tobias=20H=C3=B6=C3=9Fl?= Date: Sun, 17 Mar 2013 17:16:37 +0100 Subject: [PATCH 1/5] Initial attempt to integrate CKEditor into OpenSlides --- .../motion/templates/motion/motion_form.html | 60 + .../static/javascript/ckeditor/CHANGES.md | 104 ++ .../static/javascript/ckeditor/LICENSE.md | 1264 +++++++++++++++++ .../static/javascript/ckeditor/README.md | 39 + .../javascript/ckeditor/build-config.js | 85 ++ .../static/javascript/ckeditor/ckeditor.js | 922 ++++++++++++ .../static/javascript/ckeditor/config.js | 10 + .../static/javascript/ckeditor/contents.css | 103 ++ .../ckeditor/lang/_translationstatus.txt | 63 + .../static/javascript/ckeditor/lang/af.js | 5 + .../static/javascript/ckeditor/lang/ar.js | 5 + .../static/javascript/ckeditor/lang/bg.js | 5 + .../static/javascript/ckeditor/lang/bn.js | 5 + .../static/javascript/ckeditor/lang/bs.js | 5 + .../static/javascript/ckeditor/lang/ca.js | 5 + .../static/javascript/ckeditor/lang/cs.js | 5 + .../static/javascript/ckeditor/lang/cy.js | 5 + .../static/javascript/ckeditor/lang/da.js | 5 + .../static/javascript/ckeditor/lang/de.js | 5 + .../static/javascript/ckeditor/lang/el.js | 5 + .../static/javascript/ckeditor/lang/en-au.js | 5 + .../static/javascript/ckeditor/lang/en-ca.js | 5 + .../static/javascript/ckeditor/lang/en-gb.js | 5 + .../static/javascript/ckeditor/lang/en.js | 5 + .../static/javascript/ckeditor/lang/eo.js | 5 + .../static/javascript/ckeditor/lang/es.js | 5 + .../static/javascript/ckeditor/lang/et.js | 5 + .../static/javascript/ckeditor/lang/eu.js | 5 + .../static/javascript/ckeditor/lang/fa.js | 5 + .../static/javascript/ckeditor/lang/fi.js | 5 + .../static/javascript/ckeditor/lang/fo.js | 5 + .../static/javascript/ckeditor/lang/fr-ca.js | 5 + .../static/javascript/ckeditor/lang/fr.js | 5 + .../static/javascript/ckeditor/lang/gl.js | 5 + .../static/javascript/ckeditor/lang/gu.js | 5 + .../static/javascript/ckeditor/lang/he.js | 5 + .../static/javascript/ckeditor/lang/hi.js | 5 + .../static/javascript/ckeditor/lang/hr.js | 5 + .../static/javascript/ckeditor/lang/hu.js | 5 + .../static/javascript/ckeditor/lang/is.js | 5 + .../static/javascript/ckeditor/lang/it.js | 5 + .../static/javascript/ckeditor/lang/ja.js | 5 + .../static/javascript/ckeditor/lang/ka.js | 5 + .../static/javascript/ckeditor/lang/km.js | 5 + .../static/javascript/ckeditor/lang/ko.js | 5 + .../static/javascript/ckeditor/lang/ku.js | 5 + .../static/javascript/ckeditor/lang/lt.js | 5 + .../static/javascript/ckeditor/lang/lv.js | 5 + .../static/javascript/ckeditor/lang/mk.js | 5 + .../static/javascript/ckeditor/lang/mn.js | 5 + .../static/javascript/ckeditor/lang/ms.js | 5 + .../static/javascript/ckeditor/lang/nb.js | 5 + .../static/javascript/ckeditor/lang/nl.js | 5 + .../static/javascript/ckeditor/lang/no.js | 5 + .../static/javascript/ckeditor/lang/pl.js | 5 + .../static/javascript/ckeditor/lang/pt-br.js | 5 + .../static/javascript/ckeditor/lang/pt.js | 5 + .../static/javascript/ckeditor/lang/ro.js | 5 + .../static/javascript/ckeditor/lang/ru.js | 5 + .../static/javascript/ckeditor/lang/sk.js | 5 + .../static/javascript/ckeditor/lang/sl.js | 5 + .../javascript/ckeditor/lang/sr-latn.js | 5 + .../static/javascript/ckeditor/lang/sr.js | 5 + .../static/javascript/ckeditor/lang/sv.js | 5 + .../static/javascript/ckeditor/lang/th.js | 5 + .../static/javascript/ckeditor/lang/tr.js | 5 + .../static/javascript/ckeditor/lang/ug.js | 5 + .../static/javascript/ckeditor/lang/uk.js | 5 + .../static/javascript/ckeditor/lang/vi.js | 5 + .../static/javascript/ckeditor/lang/zh-cn.js | 5 + .../static/javascript/ckeditor/lang/zh.js | 5 + .../plugins/a11yhelp/dialogs/a11yhelp.js | 10 + .../dialogs/lang/_translationstatus.txt | 25 + .../plugins/a11yhelp/dialogs/lang/ar.js | 9 + .../plugins/a11yhelp/dialogs/lang/bg.js | 9 + .../plugins/a11yhelp/dialogs/lang/ca.js | 9 + .../plugins/a11yhelp/dialogs/lang/cs.js | 10 + .../plugins/a11yhelp/dialogs/lang/cy.js | 9 + .../plugins/a11yhelp/dialogs/lang/da.js | 9 + .../plugins/a11yhelp/dialogs/lang/de.js | 10 + .../plugins/a11yhelp/dialogs/lang/el.js | 10 + .../plugins/a11yhelp/dialogs/lang/en.js | 9 + .../plugins/a11yhelp/dialogs/lang/eo.js | 10 + .../plugins/a11yhelp/dialogs/lang/es.js | 10 + .../plugins/a11yhelp/dialogs/lang/et.js | 9 + .../plugins/a11yhelp/dialogs/lang/fa.js | 9 + .../plugins/a11yhelp/dialogs/lang/fi.js | 10 + .../plugins/a11yhelp/dialogs/lang/fr.js | 10 + .../plugins/a11yhelp/dialogs/lang/gu.js | 9 + .../plugins/a11yhelp/dialogs/lang/he.js | 9 + .../plugins/a11yhelp/dialogs/lang/hi.js | 9 + .../plugins/a11yhelp/dialogs/lang/hr.js | 9 + .../plugins/a11yhelp/dialogs/lang/hu.js | 9 + .../plugins/a11yhelp/dialogs/lang/it.js | 10 + .../plugins/a11yhelp/dialogs/lang/ja.js | 9 + .../plugins/a11yhelp/dialogs/lang/km.js | 9 + .../plugins/a11yhelp/dialogs/lang/ku.js | 10 + .../plugins/a11yhelp/dialogs/lang/lt.js | 9 + .../plugins/a11yhelp/dialogs/lang/lv.js | 10 + .../plugins/a11yhelp/dialogs/lang/mk.js | 9 + .../plugins/a11yhelp/dialogs/lang/mn.js | 9 + .../plugins/a11yhelp/dialogs/lang/nb.js | 9 + .../plugins/a11yhelp/dialogs/lang/nl.js | 10 + .../plugins/a11yhelp/dialogs/lang/no.js | 9 + .../plugins/a11yhelp/dialogs/lang/pl.js | 10 + .../plugins/a11yhelp/dialogs/lang/pt-br.js | 9 + .../plugins/a11yhelp/dialogs/lang/pt.js | 9 + .../plugins/a11yhelp/dialogs/lang/ro.js | 9 + .../plugins/a11yhelp/dialogs/lang/ru.js | 9 + .../plugins/a11yhelp/dialogs/lang/sk.js | 10 + .../plugins/a11yhelp/dialogs/lang/sl.js | 9 + .../plugins/a11yhelp/dialogs/lang/sv.js | 10 + .../plugins/a11yhelp/dialogs/lang/th.js | 9 + .../plugins/a11yhelp/dialogs/lang/tr.js | 10 + .../plugins/a11yhelp/dialogs/lang/ug.js | 9 + .../plugins/a11yhelp/dialogs/lang/uk.js | 9 + .../plugins/a11yhelp/dialogs/lang/vi.js | 9 + .../plugins/a11yhelp/dialogs/lang/zh-cn.js | 7 + .../ckeditor/plugins/about/dialogs/about.js | 6 + .../plugins/about/dialogs/logo_ckeditor.png | Bin 0 -> 2759 bytes .../plugins/clipboard/dialogs/paste.js | 11 + .../colordialog/dialogs/colordialog.js | 13 + .../plugins/dialog/dialogDefinition.js | 4 + .../ckeditor/plugins/div/dialogs/div.js | 9 + .../plugins/fakeobjects/images/spacer.gif | Bin 0 -> 43 bytes .../ckeditor/plugins/find/dialogs/find.js | 24 + .../ckeditor/plugins/flash/dialogs/flash.js | 24 + .../plugins/flash/images/placeholder.png | Bin 0 -> 256 bytes .../ckeditor/plugins/forms/dialogs/button.js | 8 + .../plugins/forms/dialogs/checkbox.js | 8 + .../ckeditor/plugins/forms/dialogs/form.js | 8 + .../plugins/forms/dialogs/hiddenfield.js | 8 + .../ckeditor/plugins/forms/dialogs/radio.js | 8 + .../ckeditor/plugins/forms/dialogs/select.js | 20 + .../plugins/forms/dialogs/textarea.js | 8 + .../plugins/forms/dialogs/textfield.js | 10 + .../plugins/forms/images/hiddenfield.gif | Bin 0 -> 105 bytes .../javascript/ckeditor/plugins/icons.png | Bin 0 -> 16583 bytes .../ckeditor/plugins/iframe/dialogs/iframe.js | 10 + .../plugins/iframe/images/placeholder.png | Bin 0 -> 449 bytes .../ckeditor/plugins/image/dialogs/image.js | 43 + .../ckeditor/plugins/image/images/noimage.png | Bin 0 -> 2115 bytes .../ckeditor/plugins/insertpre/README.md | 27 + .../insertpre/icons/insertpre-color.png | Bin 0 -> 603 bytes .../plugins/insertpre/icons/insertpre.png | Bin 0 -> 693 bytes .../ckeditor/plugins/insertpre/lang/de.js | 6 + .../ckeditor/plugins/insertpre/lang/en.js | 6 + .../ckeditor/plugins/insertpre/lang/pl.js | 6 + .../ckeditor/plugins/insertpre/plugin.js | 128 ++ .../ckeditor/plugins/link/dialogs/anchor.js | 8 + .../ckeditor/plugins/link/dialogs/link.js | 36 + .../ckeditor/plugins/link/images/anchor.png | Bin 0 -> 566 bytes .../plugins/liststyle/dialogs/liststyle.js | 10 + .../plugins/magicline/images/icon.png | Bin 0 -> 172 bytes .../plugins/pagebreak/images/pagebreak.gif | Bin 0 -> 54 bytes .../plugins/pastefromword/filter/default.js | 31 + .../ckeditor/plugins/preview/preview.html | 10 + .../ckeditor/plugins/scayt/LICENSE.md | 28 + .../ckeditor/plugins/scayt/dialogs/options.js | 20 + .../plugins/scayt/dialogs/toolbar.css | 71 + .../showblocks/images/block_address.png | Bin 0 -> 171 bytes .../showblocks/images/block_blockquote.png | Bin 0 -> 181 bytes .../plugins/showblocks/images/block_div.png | Bin 0 -> 136 bytes .../plugins/showblocks/images/block_h1.png | Bin 0 -> 127 bytes .../plugins/showblocks/images/block_h2.png | Bin 0 -> 134 bytes .../plugins/showblocks/images/block_h3.png | Bin 0 -> 131 bytes .../plugins/showblocks/images/block_h4.png | Bin 0 -> 133 bytes .../plugins/showblocks/images/block_h5.png | Bin 0 -> 133 bytes .../plugins/showblocks/images/block_h6.png | Bin 0 -> 129 bytes .../plugins/showblocks/images/block_p.png | Bin 0 -> 119 bytes .../plugins/showblocks/images/block_pre.png | Bin 0 -> 136 bytes .../ckeditor/plugins/smiley/dialogs/smiley.js | 10 + .../plugins/smiley/images/angel_smile.gif | Bin 0 -> 465 bytes .../plugins/smiley/images/angry_smile.gif | Bin 0 -> 443 bytes .../plugins/smiley/images/broken_heart.gif | Bin 0 -> 192 bytes .../plugins/smiley/images/confused_smile.gif | Bin 0 -> 464 bytes .../plugins/smiley/images/cry_smile.gif | Bin 0 -> 468 bytes .../plugins/smiley/images/devil_smile.gif | Bin 0 -> 436 bytes .../smiley/images/embaressed_smile.gif | Bin 0 -> 442 bytes .../smiley/images/embarrassed_smile.gif | Bin 0 -> 442 bytes .../plugins/smiley/images/envelope.gif | Bin 0 -> 426 bytes .../ckeditor/plugins/smiley/images/heart.gif | Bin 0 -> 183 bytes .../ckeditor/plugins/smiley/images/kiss.gif | Bin 0 -> 241 bytes .../plugins/smiley/images/lightbulb.gif | Bin 0 -> 368 bytes .../plugins/smiley/images/omg_smile.gif | Bin 0 -> 451 bytes .../plugins/smiley/images/regular_smile.gif | Bin 0 -> 450 bytes .../plugins/smiley/images/sad_smile.gif | Bin 0 -> 460 bytes .../plugins/smiley/images/shades_smile.gif | Bin 0 -> 449 bytes .../plugins/smiley/images/teeth_smile.gif | Bin 0 -> 442 bytes .../plugins/smiley/images/thumbs_down.gif | Bin 0 -> 408 bytes .../plugins/smiley/images/thumbs_up.gif | Bin 0 -> 396 bytes .../plugins/smiley/images/tongue_smile.gif | Bin 0 -> 446 bytes .../plugins/smiley/images/tounge_smile.gif | Bin 0 -> 446 bytes .../images/whatchutalkingabout_smile.gif | Bin 0 -> 452 bytes .../plugins/smiley/images/wink_smile.gif | Bin 0 -> 458 bytes .../dialogs/lang/_translationstatus.txt | 20 + .../plugins/specialchar/dialogs/lang/ca.js | 13 + .../plugins/specialchar/dialogs/lang/cs.js | 13 + .../plugins/specialchar/dialogs/lang/cy.js | 14 + .../plugins/specialchar/dialogs/lang/de.js | 13 + .../plugins/specialchar/dialogs/lang/el.js | 13 + .../plugins/specialchar/dialogs/lang/en.js | 13 + .../plugins/specialchar/dialogs/lang/eo.js | 12 + .../plugins/specialchar/dialogs/lang/et.js | 13 + .../plugins/specialchar/dialogs/lang/fa.js | 12 + .../plugins/specialchar/dialogs/lang/fi.js | 13 + .../plugins/specialchar/dialogs/lang/fr.js | 11 + .../plugins/specialchar/dialogs/lang/he.js | 13 + .../plugins/specialchar/dialogs/lang/hr.js | 13 + .../plugins/specialchar/dialogs/lang/it.js | 14 + .../plugins/specialchar/dialogs/lang/ku.js | 13 + .../plugins/specialchar/dialogs/lang/lv.js | 13 + .../plugins/specialchar/dialogs/lang/nb.js | 11 + .../plugins/specialchar/dialogs/lang/nl.js | 13 + .../plugins/specialchar/dialogs/lang/no.js | 11 + .../plugins/specialchar/dialogs/lang/pl.js | 12 + .../plugins/specialchar/dialogs/lang/pt-br.js | 11 + .../plugins/specialchar/dialogs/lang/sk.js | 13 + .../plugins/specialchar/dialogs/lang/sv.js | 11 + .../plugins/specialchar/dialogs/lang/th.js | 13 + .../plugins/specialchar/dialogs/lang/tr.js | 12 + .../plugins/specialchar/dialogs/lang/ug.js | 13 + .../plugins/specialchar/dialogs/lang/zh-cn.js | 9 + .../specialchar/dialogs/specialchar.js | 14 + .../ckeditor/plugins/table/dialogs/table.js | 21 + .../plugins/tabletools/dialogs/tableCell.js | 16 + .../plugins/templates/dialogs/templates.css | 84 ++ .../plugins/templates/dialogs/templates.js | 10 + .../plugins/templates/templates/default.js | 6 + .../templates/templates/images/template1.gif | Bin 0 -> 375 bytes .../templates/templates/images/template2.gif | Bin 0 -> 333 bytes .../templates/templates/images/template3.gif | Bin 0 -> 422 bytes .../ckeditor/plugins/wsc/LICENSE.md | 28 + .../ckeditor/plugins/wsc/dialogs/ciframe.html | 49 + .../plugins/wsc/dialogs/tmpFrameset.html | 52 + .../ckeditor/plugins/wsc/dialogs/wsc.css | 82 ++ .../ckeditor/plugins/wsc/dialogs/wsc.js | 11 + .../ckeditor/skins/moono/dialog.css | 6 + .../ckeditor/skins/moono/dialog_ie.css | 5 + .../ckeditor/skins/moono/dialog_ie7.css | 5 + .../ckeditor/skins/moono/dialog_ie8.css | 5 + .../ckeditor/skins/moono/dialog_iequirks.css | 5 + .../ckeditor/skins/moono/dialog_opera.css | 5 + .../ckeditor/skins/moono/editor.css | 5 + .../ckeditor/skins/moono/editor_gecko.css | 5 + .../ckeditor/skins/moono/editor_ie.css | 5 + .../ckeditor/skins/moono/editor_ie7.css | 5 + .../ckeditor/skins/moono/editor_ie8.css | 5 + .../ckeditor/skins/moono/editor_iequirks.css | 5 + .../javascript/ckeditor/skins/moono/icons.png | Bin 0 -> 16583 bytes .../ckeditor/skins/moono/images/arrow.png | Bin 0 -> 261 bytes .../ckeditor/skins/moono/images/close.png | Bin 0 -> 389 bytes .../ckeditor/skins/moono/images/mini.png | Bin 0 -> 818 bytes .../javascript/ckeditor/skins/moono/readme.md | 51 + .../static/javascript/ckeditor/styles.js | 111 ++ openslides/static/styles/ckeditor.css | 106 ++ 256 files changed, 5089 insertions(+) create mode 100644 openslides/static/javascript/ckeditor/CHANGES.md create mode 100644 openslides/static/javascript/ckeditor/LICENSE.md create mode 100644 openslides/static/javascript/ckeditor/README.md create mode 100644 openslides/static/javascript/ckeditor/build-config.js create mode 100644 openslides/static/javascript/ckeditor/ckeditor.js create mode 100644 openslides/static/javascript/ckeditor/config.js create mode 100644 openslides/static/javascript/ckeditor/contents.css create mode 100644 openslides/static/javascript/ckeditor/lang/_translationstatus.txt create mode 100644 openslides/static/javascript/ckeditor/lang/af.js create mode 100644 openslides/static/javascript/ckeditor/lang/ar.js create mode 100644 openslides/static/javascript/ckeditor/lang/bg.js create mode 100644 openslides/static/javascript/ckeditor/lang/bn.js create mode 100644 openslides/static/javascript/ckeditor/lang/bs.js create mode 100644 openslides/static/javascript/ckeditor/lang/ca.js create mode 100644 openslides/static/javascript/ckeditor/lang/cs.js create mode 100644 openslides/static/javascript/ckeditor/lang/cy.js create mode 100644 openslides/static/javascript/ckeditor/lang/da.js create mode 100644 openslides/static/javascript/ckeditor/lang/de.js create mode 100644 openslides/static/javascript/ckeditor/lang/el.js create mode 100644 openslides/static/javascript/ckeditor/lang/en-au.js create mode 100644 openslides/static/javascript/ckeditor/lang/en-ca.js create mode 100644 openslides/static/javascript/ckeditor/lang/en-gb.js create mode 100644 openslides/static/javascript/ckeditor/lang/en.js create mode 100644 openslides/static/javascript/ckeditor/lang/eo.js create mode 100644 openslides/static/javascript/ckeditor/lang/es.js create mode 100644 openslides/static/javascript/ckeditor/lang/et.js create mode 100644 openslides/static/javascript/ckeditor/lang/eu.js create mode 100644 openslides/static/javascript/ckeditor/lang/fa.js create mode 100644 openslides/static/javascript/ckeditor/lang/fi.js create mode 100644 openslides/static/javascript/ckeditor/lang/fo.js create mode 100644 openslides/static/javascript/ckeditor/lang/fr-ca.js create mode 100644 openslides/static/javascript/ckeditor/lang/fr.js create mode 100644 openslides/static/javascript/ckeditor/lang/gl.js create mode 100644 openslides/static/javascript/ckeditor/lang/gu.js create mode 100644 openslides/static/javascript/ckeditor/lang/he.js create mode 100644 openslides/static/javascript/ckeditor/lang/hi.js create mode 100644 openslides/static/javascript/ckeditor/lang/hr.js create mode 100644 openslides/static/javascript/ckeditor/lang/hu.js create mode 100644 openslides/static/javascript/ckeditor/lang/is.js create mode 100644 openslides/static/javascript/ckeditor/lang/it.js create mode 100644 openslides/static/javascript/ckeditor/lang/ja.js create mode 100644 openslides/static/javascript/ckeditor/lang/ka.js create mode 100644 openslides/static/javascript/ckeditor/lang/km.js create mode 100644 openslides/static/javascript/ckeditor/lang/ko.js create mode 100644 openslides/static/javascript/ckeditor/lang/ku.js create mode 100644 openslides/static/javascript/ckeditor/lang/lt.js create mode 100644 openslides/static/javascript/ckeditor/lang/lv.js create mode 100644 openslides/static/javascript/ckeditor/lang/mk.js create mode 100644 openslides/static/javascript/ckeditor/lang/mn.js create mode 100644 openslides/static/javascript/ckeditor/lang/ms.js create mode 100644 openslides/static/javascript/ckeditor/lang/nb.js create mode 100644 openslides/static/javascript/ckeditor/lang/nl.js create mode 100644 openslides/static/javascript/ckeditor/lang/no.js create mode 100644 openslides/static/javascript/ckeditor/lang/pl.js create mode 100644 openslides/static/javascript/ckeditor/lang/pt-br.js create mode 100644 openslides/static/javascript/ckeditor/lang/pt.js create mode 100644 openslides/static/javascript/ckeditor/lang/ro.js create mode 100644 openslides/static/javascript/ckeditor/lang/ru.js create mode 100644 openslides/static/javascript/ckeditor/lang/sk.js create mode 100644 openslides/static/javascript/ckeditor/lang/sl.js create mode 100644 openslides/static/javascript/ckeditor/lang/sr-latn.js create mode 100644 openslides/static/javascript/ckeditor/lang/sr.js create mode 100644 openslides/static/javascript/ckeditor/lang/sv.js create mode 100644 openslides/static/javascript/ckeditor/lang/th.js create mode 100644 openslides/static/javascript/ckeditor/lang/tr.js create mode 100644 openslides/static/javascript/ckeditor/lang/ug.js create mode 100644 openslides/static/javascript/ckeditor/lang/uk.js create mode 100644 openslides/static/javascript/ckeditor/lang/vi.js create mode 100644 openslides/static/javascript/ckeditor/lang/zh-cn.js create mode 100644 openslides/static/javascript/ckeditor/lang/zh.js create mode 100644 openslides/static/javascript/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js create mode 100644 openslides/static/javascript/ckeditor/plugins/a11yhelp/dialogs/lang/_translationstatus.txt create mode 100644 openslides/static/javascript/ckeditor/plugins/a11yhelp/dialogs/lang/ar.js create mode 100644 openslides/static/javascript/ckeditor/plugins/a11yhelp/dialogs/lang/bg.js create mode 100644 openslides/static/javascript/ckeditor/plugins/a11yhelp/dialogs/lang/ca.js create mode 100644 openslides/static/javascript/ckeditor/plugins/a11yhelp/dialogs/lang/cs.js create mode 100644 openslides/static/javascript/ckeditor/plugins/a11yhelp/dialogs/lang/cy.js create mode 100644 openslides/static/javascript/ckeditor/plugins/a11yhelp/dialogs/lang/da.js create mode 100644 openslides/static/javascript/ckeditor/plugins/a11yhelp/dialogs/lang/de.js create mode 100644 openslides/static/javascript/ckeditor/plugins/a11yhelp/dialogs/lang/el.js create mode 100644 openslides/static/javascript/ckeditor/plugins/a11yhelp/dialogs/lang/en.js create mode 100644 openslides/static/javascript/ckeditor/plugins/a11yhelp/dialogs/lang/eo.js create mode 100644 openslides/static/javascript/ckeditor/plugins/a11yhelp/dialogs/lang/es.js create mode 100644 openslides/static/javascript/ckeditor/plugins/a11yhelp/dialogs/lang/et.js create mode 100644 openslides/static/javascript/ckeditor/plugins/a11yhelp/dialogs/lang/fa.js create mode 100644 openslides/static/javascript/ckeditor/plugins/a11yhelp/dialogs/lang/fi.js create mode 100644 openslides/static/javascript/ckeditor/plugins/a11yhelp/dialogs/lang/fr.js create mode 100644 openslides/static/javascript/ckeditor/plugins/a11yhelp/dialogs/lang/gu.js create mode 100644 openslides/static/javascript/ckeditor/plugins/a11yhelp/dialogs/lang/he.js create mode 100644 openslides/static/javascript/ckeditor/plugins/a11yhelp/dialogs/lang/hi.js create mode 100644 openslides/static/javascript/ckeditor/plugins/a11yhelp/dialogs/lang/hr.js create mode 100644 openslides/static/javascript/ckeditor/plugins/a11yhelp/dialogs/lang/hu.js create mode 100644 openslides/static/javascript/ckeditor/plugins/a11yhelp/dialogs/lang/it.js create mode 100644 openslides/static/javascript/ckeditor/plugins/a11yhelp/dialogs/lang/ja.js create mode 100644 openslides/static/javascript/ckeditor/plugins/a11yhelp/dialogs/lang/km.js create mode 100644 openslides/static/javascript/ckeditor/plugins/a11yhelp/dialogs/lang/ku.js create mode 100644 openslides/static/javascript/ckeditor/plugins/a11yhelp/dialogs/lang/lt.js create mode 100644 openslides/static/javascript/ckeditor/plugins/a11yhelp/dialogs/lang/lv.js create mode 100644 openslides/static/javascript/ckeditor/plugins/a11yhelp/dialogs/lang/mk.js create mode 100644 openslides/static/javascript/ckeditor/plugins/a11yhelp/dialogs/lang/mn.js create mode 100644 openslides/static/javascript/ckeditor/plugins/a11yhelp/dialogs/lang/nb.js create mode 100644 openslides/static/javascript/ckeditor/plugins/a11yhelp/dialogs/lang/nl.js create mode 100644 openslides/static/javascript/ckeditor/plugins/a11yhelp/dialogs/lang/no.js create mode 100644 openslides/static/javascript/ckeditor/plugins/a11yhelp/dialogs/lang/pl.js create mode 100644 openslides/static/javascript/ckeditor/plugins/a11yhelp/dialogs/lang/pt-br.js create mode 100644 openslides/static/javascript/ckeditor/plugins/a11yhelp/dialogs/lang/pt.js create mode 100644 openslides/static/javascript/ckeditor/plugins/a11yhelp/dialogs/lang/ro.js create mode 100644 openslides/static/javascript/ckeditor/plugins/a11yhelp/dialogs/lang/ru.js create mode 100644 openslides/static/javascript/ckeditor/plugins/a11yhelp/dialogs/lang/sk.js create mode 100644 openslides/static/javascript/ckeditor/plugins/a11yhelp/dialogs/lang/sl.js create mode 100644 openslides/static/javascript/ckeditor/plugins/a11yhelp/dialogs/lang/sv.js create mode 100644 openslides/static/javascript/ckeditor/plugins/a11yhelp/dialogs/lang/th.js create mode 100644 openslides/static/javascript/ckeditor/plugins/a11yhelp/dialogs/lang/tr.js create mode 100644 openslides/static/javascript/ckeditor/plugins/a11yhelp/dialogs/lang/ug.js create mode 100644 openslides/static/javascript/ckeditor/plugins/a11yhelp/dialogs/lang/uk.js create mode 100644 openslides/static/javascript/ckeditor/plugins/a11yhelp/dialogs/lang/vi.js create mode 100644 openslides/static/javascript/ckeditor/plugins/a11yhelp/dialogs/lang/zh-cn.js create mode 100644 openslides/static/javascript/ckeditor/plugins/about/dialogs/about.js create mode 100644 openslides/static/javascript/ckeditor/plugins/about/dialogs/logo_ckeditor.png create mode 100644 openslides/static/javascript/ckeditor/plugins/clipboard/dialogs/paste.js create mode 100644 openslides/static/javascript/ckeditor/plugins/colordialog/dialogs/colordialog.js create mode 100644 openslides/static/javascript/ckeditor/plugins/dialog/dialogDefinition.js create mode 100644 openslides/static/javascript/ckeditor/plugins/div/dialogs/div.js create mode 100644 openslides/static/javascript/ckeditor/plugins/fakeobjects/images/spacer.gif create mode 100644 openslides/static/javascript/ckeditor/plugins/find/dialogs/find.js create mode 100644 openslides/static/javascript/ckeditor/plugins/flash/dialogs/flash.js create mode 100644 openslides/static/javascript/ckeditor/plugins/flash/images/placeholder.png create mode 100644 openslides/static/javascript/ckeditor/plugins/forms/dialogs/button.js create mode 100644 openslides/static/javascript/ckeditor/plugins/forms/dialogs/checkbox.js create mode 100644 openslides/static/javascript/ckeditor/plugins/forms/dialogs/form.js create mode 100644 openslides/static/javascript/ckeditor/plugins/forms/dialogs/hiddenfield.js create mode 100644 openslides/static/javascript/ckeditor/plugins/forms/dialogs/radio.js create mode 100644 openslides/static/javascript/ckeditor/plugins/forms/dialogs/select.js create mode 100644 openslides/static/javascript/ckeditor/plugins/forms/dialogs/textarea.js create mode 100644 openslides/static/javascript/ckeditor/plugins/forms/dialogs/textfield.js create mode 100644 openslides/static/javascript/ckeditor/plugins/forms/images/hiddenfield.gif create mode 100644 openslides/static/javascript/ckeditor/plugins/icons.png create mode 100644 openslides/static/javascript/ckeditor/plugins/iframe/dialogs/iframe.js create mode 100644 openslides/static/javascript/ckeditor/plugins/iframe/images/placeholder.png create mode 100644 openslides/static/javascript/ckeditor/plugins/image/dialogs/image.js create mode 100644 openslides/static/javascript/ckeditor/plugins/image/images/noimage.png create mode 100644 openslides/static/javascript/ckeditor/plugins/insertpre/README.md create mode 100644 openslides/static/javascript/ckeditor/plugins/insertpre/icons/insertpre-color.png create mode 100644 openslides/static/javascript/ckeditor/plugins/insertpre/icons/insertpre.png create mode 100644 openslides/static/javascript/ckeditor/plugins/insertpre/lang/de.js create mode 100644 openslides/static/javascript/ckeditor/plugins/insertpre/lang/en.js create mode 100644 openslides/static/javascript/ckeditor/plugins/insertpre/lang/pl.js create mode 100644 openslides/static/javascript/ckeditor/plugins/insertpre/plugin.js create mode 100644 openslides/static/javascript/ckeditor/plugins/link/dialogs/anchor.js create mode 100644 openslides/static/javascript/ckeditor/plugins/link/dialogs/link.js create mode 100644 openslides/static/javascript/ckeditor/plugins/link/images/anchor.png create mode 100644 openslides/static/javascript/ckeditor/plugins/liststyle/dialogs/liststyle.js create mode 100644 openslides/static/javascript/ckeditor/plugins/magicline/images/icon.png create mode 100644 openslides/static/javascript/ckeditor/plugins/pagebreak/images/pagebreak.gif create mode 100644 openslides/static/javascript/ckeditor/plugins/pastefromword/filter/default.js create mode 100644 openslides/static/javascript/ckeditor/plugins/preview/preview.html create mode 100644 openslides/static/javascript/ckeditor/plugins/scayt/LICENSE.md create mode 100644 openslides/static/javascript/ckeditor/plugins/scayt/dialogs/options.js create mode 100644 openslides/static/javascript/ckeditor/plugins/scayt/dialogs/toolbar.css create mode 100644 openslides/static/javascript/ckeditor/plugins/showblocks/images/block_address.png create mode 100644 openslides/static/javascript/ckeditor/plugins/showblocks/images/block_blockquote.png create mode 100644 openslides/static/javascript/ckeditor/plugins/showblocks/images/block_div.png create mode 100644 openslides/static/javascript/ckeditor/plugins/showblocks/images/block_h1.png create mode 100644 openslides/static/javascript/ckeditor/plugins/showblocks/images/block_h2.png create mode 100644 openslides/static/javascript/ckeditor/plugins/showblocks/images/block_h3.png create mode 100644 openslides/static/javascript/ckeditor/plugins/showblocks/images/block_h4.png create mode 100644 openslides/static/javascript/ckeditor/plugins/showblocks/images/block_h5.png create mode 100644 openslides/static/javascript/ckeditor/plugins/showblocks/images/block_h6.png create mode 100644 openslides/static/javascript/ckeditor/plugins/showblocks/images/block_p.png create mode 100644 openslides/static/javascript/ckeditor/plugins/showblocks/images/block_pre.png create mode 100644 openslides/static/javascript/ckeditor/plugins/smiley/dialogs/smiley.js create mode 100644 openslides/static/javascript/ckeditor/plugins/smiley/images/angel_smile.gif create mode 100644 openslides/static/javascript/ckeditor/plugins/smiley/images/angry_smile.gif create mode 100644 openslides/static/javascript/ckeditor/plugins/smiley/images/broken_heart.gif create mode 100644 openslides/static/javascript/ckeditor/plugins/smiley/images/confused_smile.gif create mode 100644 openslides/static/javascript/ckeditor/plugins/smiley/images/cry_smile.gif create mode 100644 openslides/static/javascript/ckeditor/plugins/smiley/images/devil_smile.gif create mode 100644 openslides/static/javascript/ckeditor/plugins/smiley/images/embaressed_smile.gif create mode 100644 openslides/static/javascript/ckeditor/plugins/smiley/images/embarrassed_smile.gif create mode 100644 openslides/static/javascript/ckeditor/plugins/smiley/images/envelope.gif create mode 100644 openslides/static/javascript/ckeditor/plugins/smiley/images/heart.gif create mode 100644 openslides/static/javascript/ckeditor/plugins/smiley/images/kiss.gif create mode 100644 openslides/static/javascript/ckeditor/plugins/smiley/images/lightbulb.gif create mode 100644 openslides/static/javascript/ckeditor/plugins/smiley/images/omg_smile.gif create mode 100644 openslides/static/javascript/ckeditor/plugins/smiley/images/regular_smile.gif create mode 100644 openslides/static/javascript/ckeditor/plugins/smiley/images/sad_smile.gif create mode 100644 openslides/static/javascript/ckeditor/plugins/smiley/images/shades_smile.gif create mode 100644 openslides/static/javascript/ckeditor/plugins/smiley/images/teeth_smile.gif create mode 100644 openslides/static/javascript/ckeditor/plugins/smiley/images/thumbs_down.gif create mode 100644 openslides/static/javascript/ckeditor/plugins/smiley/images/thumbs_up.gif create mode 100644 openslides/static/javascript/ckeditor/plugins/smiley/images/tongue_smile.gif create mode 100644 openslides/static/javascript/ckeditor/plugins/smiley/images/tounge_smile.gif create mode 100644 openslides/static/javascript/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif create mode 100644 openslides/static/javascript/ckeditor/plugins/smiley/images/wink_smile.gif create mode 100644 openslides/static/javascript/ckeditor/plugins/specialchar/dialogs/lang/_translationstatus.txt create mode 100644 openslides/static/javascript/ckeditor/plugins/specialchar/dialogs/lang/ca.js create mode 100644 openslides/static/javascript/ckeditor/plugins/specialchar/dialogs/lang/cs.js create mode 100644 openslides/static/javascript/ckeditor/plugins/specialchar/dialogs/lang/cy.js create mode 100644 openslides/static/javascript/ckeditor/plugins/specialchar/dialogs/lang/de.js create mode 100644 openslides/static/javascript/ckeditor/plugins/specialchar/dialogs/lang/el.js create mode 100644 openslides/static/javascript/ckeditor/plugins/specialchar/dialogs/lang/en.js create mode 100644 openslides/static/javascript/ckeditor/plugins/specialchar/dialogs/lang/eo.js create mode 100644 openslides/static/javascript/ckeditor/plugins/specialchar/dialogs/lang/et.js create mode 100644 openslides/static/javascript/ckeditor/plugins/specialchar/dialogs/lang/fa.js create mode 100644 openslides/static/javascript/ckeditor/plugins/specialchar/dialogs/lang/fi.js create mode 100644 openslides/static/javascript/ckeditor/plugins/specialchar/dialogs/lang/fr.js create mode 100644 openslides/static/javascript/ckeditor/plugins/specialchar/dialogs/lang/he.js create mode 100644 openslides/static/javascript/ckeditor/plugins/specialchar/dialogs/lang/hr.js create mode 100644 openslides/static/javascript/ckeditor/plugins/specialchar/dialogs/lang/it.js create mode 100644 openslides/static/javascript/ckeditor/plugins/specialchar/dialogs/lang/ku.js create mode 100644 openslides/static/javascript/ckeditor/plugins/specialchar/dialogs/lang/lv.js create mode 100644 openslides/static/javascript/ckeditor/plugins/specialchar/dialogs/lang/nb.js create mode 100644 openslides/static/javascript/ckeditor/plugins/specialchar/dialogs/lang/nl.js create mode 100644 openslides/static/javascript/ckeditor/plugins/specialchar/dialogs/lang/no.js create mode 100644 openslides/static/javascript/ckeditor/plugins/specialchar/dialogs/lang/pl.js create mode 100644 openslides/static/javascript/ckeditor/plugins/specialchar/dialogs/lang/pt-br.js create mode 100644 openslides/static/javascript/ckeditor/plugins/specialchar/dialogs/lang/sk.js create mode 100644 openslides/static/javascript/ckeditor/plugins/specialchar/dialogs/lang/sv.js create mode 100644 openslides/static/javascript/ckeditor/plugins/specialchar/dialogs/lang/th.js create mode 100644 openslides/static/javascript/ckeditor/plugins/specialchar/dialogs/lang/tr.js create mode 100644 openslides/static/javascript/ckeditor/plugins/specialchar/dialogs/lang/ug.js create mode 100644 openslides/static/javascript/ckeditor/plugins/specialchar/dialogs/lang/zh-cn.js create mode 100644 openslides/static/javascript/ckeditor/plugins/specialchar/dialogs/specialchar.js create mode 100644 openslides/static/javascript/ckeditor/plugins/table/dialogs/table.js create mode 100644 openslides/static/javascript/ckeditor/plugins/tabletools/dialogs/tableCell.js create mode 100644 openslides/static/javascript/ckeditor/plugins/templates/dialogs/templates.css create mode 100644 openslides/static/javascript/ckeditor/plugins/templates/dialogs/templates.js create mode 100644 openslides/static/javascript/ckeditor/plugins/templates/templates/default.js create mode 100644 openslides/static/javascript/ckeditor/plugins/templates/templates/images/template1.gif create mode 100644 openslides/static/javascript/ckeditor/plugins/templates/templates/images/template2.gif create mode 100644 openslides/static/javascript/ckeditor/plugins/templates/templates/images/template3.gif create mode 100644 openslides/static/javascript/ckeditor/plugins/wsc/LICENSE.md create mode 100644 openslides/static/javascript/ckeditor/plugins/wsc/dialogs/ciframe.html create mode 100644 openslides/static/javascript/ckeditor/plugins/wsc/dialogs/tmpFrameset.html create mode 100644 openslides/static/javascript/ckeditor/plugins/wsc/dialogs/wsc.css create mode 100644 openslides/static/javascript/ckeditor/plugins/wsc/dialogs/wsc.js create mode 100644 openslides/static/javascript/ckeditor/skins/moono/dialog.css create mode 100644 openslides/static/javascript/ckeditor/skins/moono/dialog_ie.css create mode 100644 openslides/static/javascript/ckeditor/skins/moono/dialog_ie7.css create mode 100644 openslides/static/javascript/ckeditor/skins/moono/dialog_ie8.css create mode 100644 openslides/static/javascript/ckeditor/skins/moono/dialog_iequirks.css create mode 100644 openslides/static/javascript/ckeditor/skins/moono/dialog_opera.css create mode 100644 openslides/static/javascript/ckeditor/skins/moono/editor.css create mode 100644 openslides/static/javascript/ckeditor/skins/moono/editor_gecko.css create mode 100644 openslides/static/javascript/ckeditor/skins/moono/editor_ie.css create mode 100644 openslides/static/javascript/ckeditor/skins/moono/editor_ie7.css create mode 100644 openslides/static/javascript/ckeditor/skins/moono/editor_ie8.css create mode 100644 openslides/static/javascript/ckeditor/skins/moono/editor_iequirks.css create mode 100644 openslides/static/javascript/ckeditor/skins/moono/icons.png create mode 100644 openslides/static/javascript/ckeditor/skins/moono/images/arrow.png create mode 100644 openslides/static/javascript/ckeditor/skins/moono/images/close.png create mode 100644 openslides/static/javascript/ckeditor/skins/moono/images/mini.png create mode 100644 openslides/static/javascript/ckeditor/skins/moono/readme.md create mode 100644 openslides/static/javascript/ckeditor/styles.js create mode 100644 openslides/static/styles/ckeditor.css diff --git a/openslides/motion/templates/motion/motion_form.html b/openslides/motion/templates/motion/motion_form.html index 42dd96c27..1bb699ed7 100644 --- a/openslides/motion/templates/motion/motion_form.html +++ b/openslides/motion/templates/motion/motion_form.html @@ -3,6 +3,66 @@ {% load tags %} {% load i18n %} +{% load staticfiles %} + +{% block header %} + +{% endblock %} + +{% block javascript %} + + + +{% endblock %} + {% block title %} {{ block.super }} – {% if motion %} diff --git a/openslides/static/javascript/ckeditor/CHANGES.md b/openslides/static/javascript/ckeditor/CHANGES.md new file mode 100644 index 000000000..ca27bf734 --- /dev/null +++ b/openslides/static/javascript/ckeditor/CHANGES.md @@ -0,0 +1,104 @@ +CKEditor 4 Changelog +==================== + +## CKEditor 4.1 RC + +* [#9829](http://dev.ckeditor.com/ticket/9829): Data and features activation based on editor configuration. + + Brand new data filtering system that works in 2 modes: + + * based on loaded features (toolbar items, plugins) - the data will be filtered according to what the editor in its + current configuration can handle, + * based on `config.allowedContent` rules - the data will be filtered and the editor features (toolbar items, commands, + keystrokes) will be enabled if they are allowed. + + See the `datafiltering.html` sample, [guides](http://docs.ckeditor.com/#!/guide/dev_data_filter) and [`CKEDITOR.filter` API documentation](http://docs.ckeditor.com/#!/api/CKEDITOR.filter). +* [#9387](http://dev.ckeditor.com/ticket/9387): Reintroduced "Shared Spaces" - the ability to display toolbar and bottom editor space in selected locations and to share them by different editor instances. +* [#9907](http://dev.ckeditor.com/ticket/9907): Added the `contentPreview` event for preview data manipulation. +* [#9713](http://dev.ckeditor.com/ticket/9713): Introduced the `sourcedialog` plugin that brings raw HTML editing for inline editor instances. +* Included in [#9829](http://dev.ckeditor.com/ticket/9829): Introduced new events, `toHtml` and `toDataFormat`, allowing for better integration with data processing. See API documentation: [`toHtml`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-toHtml), [`toDataFormat`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-toDataFormat). +* [#9981](http://dev.ckeditor.com/ticket/9981): Added ability to filter `htmlParser.fragment`, `htmlParser.element` etc. by many `htmlParser.filter`s before writing structure to an HTML string. +* Included in [#10103](http://dev.ckeditor.com/ticket/10103): + * Introduced the `editor.status` property to make it easier to check the current status of the editor. See [API documentation](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-property-status). + * Default `command` state is now `CKEDITOR.TRISTATE_DISABLE`. It will be activated on `editor.instanceReady` or immediately after being added if the editor is already initialized. +* [#9796](http://dev.ckeditor.com/ticket/9796): Introduced `` as a default tag for strikethrough, which replaces obsolete `` in HTML5. + +## CKEditor 4.0.2 + +* [#9779](http://dev.ckeditor.com/ticket/9779): Fixed overriding `CKEDITOR.getUrl` with `CKEDITOR_GETURL`. +* [#9772](http://dev.ckeditor.com/ticket/9772): Custom buttons in dialog window footer have different look and size (Moono, Kama). +* [#9029](http://dev.ckeditor.com/ticket/9029): Custom styles added with `styleSet.add()` are displayed in wrong order. +* [#9887](http://dev.ckeditor.com/ticket/9887): Disable magicline when `editor.readOnly` is set. +* [#9882](http://dev.ckeditor.com/ticket/9882): Fixed empty document title on `getData()` if set via the Document Properties dialog window. +* [#9773](http://dev.ckeditor.com/ticket/9773): Fixed rendering problems with selection fields in the Kama skin. +* [#9851](http://dev.ckeditor.com/ticket/9851): The `selectionChange` event is not fired when mouse selection ended outside editable. +* [#9903](http://dev.ckeditor.com/ticket/9903): [Inline editor] Bad positioning of floating space with page horizontal scroll. +* [#9872](http://dev.ckeditor.com/ticket/9872): `editor.checkDirty()` returns `true` when called onload. Removed the obsolete `editor.mayBeDirty` flag. +* [#9893](http://dev.ckeditor.com/ticket/9893): Fixed broken toolbar when editing mixed direction content in Quirks mode. +* [#9845](http://dev.ckeditor.com/ticket/9845): Fixed TAB navigation in the Link dialog window when the Anchor option is used and no anchors are available. +* [#9883](http://dev.ckeditor.com/ticket/9883): Maximizing was making the entire page editable with divarea-based editors. +* [#9940](http://dev.ckeditor.com/ticket/9940): [Firefox] Navigating back to a page with the editor was making the entire page editable. +* [#9966](http://dev.ckeditor.com/ticket/9966): Fixed: Unable to type square brackets with French keyboard layout. Changed magicline keystrokes. +* [#9507](http://dev.ckeditor.com/ticket/9507): [Firefox] Selection is moved before editable position when the editor is focused for the first time. +* [#9947](http://dev.ckeditor.com/ticket/9947): [Webkit] Editor overflows parent container in some edge cases. +* [#10105](http://dev.ckeditor.com/ticket/10105): Fixed: Broken sourcearea view when an RTL language is set. +* [#10123](http://dev.ckeditor.com/ticket/10123): [Webkit] Fixed: Several dialog windows have broken layout since the latest Webkit release. +* [#10152](http://dev.ckeditor.com/ticket/10152): Fixed: Invalid ARIA property used on menu items. + +## CKEditor 4.0.1.1 + +* Security update: Added protection against XSS attack and possible path disclosure in PHP sample. + +## CKEditor 4.0.1 + +Fixed issues: + +* [#9655](http://dev.ckeditor.com/ticket/9655): Support for IE Quirks Mode in new Moono skin. +* Accessibility issues (mainly on inline editor): [#9364](http://dev.ckeditor.com/ticket/9364), [#9368](http://dev.ckeditor.com/ticket/9368), [#9369](http://dev.ckeditor.com/ticket/9369), [#9370](http://dev.ckeditor.com/ticket/9370), [#9541](http://dev.ckeditor.com/ticket/9541), [#9543](http://dev.ckeditor.com/ticket/9543), [#9841](http://dev.ckeditor.com/ticket/9841), [#9844](http://dev.ckeditor.com/ticket/9844). +* Magic-line: + * [#9481](http://dev.ckeditor.com/ticket/9481): Added accessibility support for Magic-line. + * [#9509](http://dev.ckeditor.com/ticket/9509): Added Magic-line support for forms. + * [#9573](http://dev.ckeditor.com/ticket/9573): Magic-line doesn't disappear on `mouseout` in the specific case. +* [#9754](http://dev.ckeditor.com/ticket/9754): [Webkit] Cut & paste simple unformatted text generates inline wrapper in Webkits. +* [#9456](http://dev.ckeditor.com/ticket/9456): [Chrome] Properly paste bullet list style from MS-Word. +* [#9699](http://dev.ckeditor.com/ticket/9699), [#9758](http://dev.ckeditor.com/ticket/9758): Improved selection locking when selecting by dragging. +* Context menu: + * [#9712](http://dev.ckeditor.com/ticket/9712): Context menu open destroys editor focus. + * [#9366](http://dev.ckeditor.com/ticket/9366): Context menu should be displayed over floating toolbar. + * [#9706](http://dev.ckeditor.com/ticket/9706): Context menu generates JS error in inline mode when editor attached to header element. +* [#9800](http://dev.ckeditor.com/ticket/9800): Hide float panel when resizing window. +* [#9721](http://dev.ckeditor.com/ticket/9721): Padding in content of div based editor puts editing area under bottom UI space. +* [#9528](http://dev.ckeditor.com/ticket/9528): Host page's `box-sizing` style shouldn't influence editor UI elements. +* [#9503](http://dev.ckeditor.com/ticket/9503): Forms plugin adds context menu listeners only on supported input types. Added support for `tel, email, search` and `url` input types. +* [#9769](http://dev.ckeditor.com/ticket/9769): Improved floating toolbar positioning in narrow window. +* [#9875](http://dev.ckeditor.com/ticket/9875): Table dialog doesn't populate width correctly. +* [#8675](http://dev.ckeditor.com/ticket/8675): Deleting cells in nested table removes outer table cell. +* [#9815](http://dev.ckeditor.com/ticket/9815): Can't edit dialog fields on editor initialized in jQuery UI modal dialog. +* [#8888](http://dev.ckeditor.com/ticket/8888): CKEditor dialogs do not show completely in small window. +* [#9360](http://dev.ckeditor.com/ticket/9360): [Inline editor] Blocks shown for a div stay permanently even after user exists editing the div. +* [#9531](http://dev.ckeditor.com/ticket/9531): [Firefox & Inline editor] Toolbar is lost when closing format combo by clicking on its button. +* [#9553](http://dev.ckeditor.com/ticket/9553): Table width incorrectly set when `border-width` style is specified. +* [#9594](http://dev.ckeditor.com/ticket/9594): Cannot tab past CKEditor when it is in read only mode. +* [#9658](http://dev.ckeditor.com/ticket/9658): [IE9] Justify not working on selected image. +* [#9686](http://dev.ckeditor.com/ticket/9686): Added missing contents styles for `
`.
+* [#9709](http://dev.ckeditor.com/ticket/9709): PasteFromWord should not depend on configuration from other styles.
+* [#9726](http://dev.ckeditor.com/ticket/9726): Removed color dialog dependency from table tools.
+* [#9765](http://dev.ckeditor.com/ticket/9765): Toolbar Collapse command documented incorrectly on Accessibility Instructions dialog.
+* [#9771](http://dev.ckeditor.com/ticket/9771): [Webkit & Opera] Fixed scrolling issues when pasting.
+* [#9787](http://dev.ckeditor.com/ticket/9787): [IE9] onChange isn't fired for checkboxes in dialogs.
+* [#9842](http://dev.ckeditor.com/ticket/9842): [Firefox 17] When we open toolbar menu for the first time & press down arrow key, focus goes to next toolbar button instead of menu options.
+* [#9847](http://dev.ckeditor.com/ticket/9847): Elements path shouldn't be initialized on inline editor.
+* [#9853](http://dev.ckeditor.com/ticket/9853): `Editor#addRemoveFormatFilter` is exposed before it really works.
+* [#8893](http://dev.ckeditor.com/ticket/8893): Value of `pasteFromWordCleanupFile` config is now taken from instance configuration.
+* [#9693](http://dev.ckeditor.com/ticket/9693): Removed "live preview" checkbox from UI color picker.
+
+
+## CKEditor 4.0
+
+The first stable release of the new CKEditor 4 code line.
+
+The CKEditor JavaScript API has been kept compatible with CKEditor 4, whenever
+possible. The list of relevant changes can be found in the [API Changes page of
+the CKEditor 4 documentation][1].
+
+[1]: http://docs.ckeditor.com/#!/guide/dev_api_changes "API Changes"
diff --git a/openslides/static/javascript/ckeditor/LICENSE.md b/openslides/static/javascript/ckeditor/LICENSE.md
new file mode 100644
index 000000000..d447c67b5
--- /dev/null
+++ b/openslides/static/javascript/ckeditor/LICENSE.md
@@ -0,0 +1,1264 @@
+Software License Agreement
+==========================
+
+CKEditor - The text editor for Internet - http://ckeditor.com
+Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
+
+Licensed under the terms of any of the following licenses at your
+choice:
+
+ - GNU General Public License Version 2 or later (the "GPL")
+   http://www.gnu.org/licenses/gpl.html
+   (See Appendix A)
+
+ - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+   http://www.gnu.org/licenses/lgpl.html
+   (See Appendix B)
+
+ - Mozilla Public License Version 1.1 or later (the "MPL")
+   http://www.mozilla.org/MPL/MPL-1.1.html
+   (See Appendix C)
+
+You are not required to, but if you want to explicitly declare the
+license you have chosen to be bound to when using, reproducing,
+modifying and distributing this software, just include a text file
+titled "legal.txt" in your version of this software, indicating your
+license choice. In any case, your choice will not restrict any
+recipient of your version of this software to use, reproduce, modify
+and distribute this software under any of the above licenses.
+
+Sources of Intellectual Property Included in CKEditor
+-----------------------------------------------------
+
+Where not otherwise indicated, all CKEditor content is authored by
+CKSource engineers and consists of CKSource-owned intellectual
+property. In some specific instances, CKEditor will incorporate work
+done by developers outside of CKSource with their express permission.
+
+Trademarks
+----------
+
+CKEditor is a trademark of CKSource - Frederico Knabben. All other brand
+and product names are trademarks, registered trademarks or service
+marks of their respective holders.
+
+---
+
+Appendix A: The GPL License
+---------------------------
+
+GNU GENERAL PUBLIC LICENSE
+Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software-to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Lesser General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+GNU GENERAL PUBLIC LICENSE
+TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for software interchange; or,
+
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for software interchange; or,
+
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+  10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+NO WARRANTY
+
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+END OF TERMS AND CONDITIONS
+
+
+Appendix B: The LGPL License
+----------------------------
+
+GNU LESSER GENERAL PUBLIC LICENSE
+Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+     59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL.  It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software-to make sure the software is free for all its users.
+
+  This license, the Lesser General Public License, applies to some
+specially designated software packages-typically libraries-of the
+Free Software Foundation and other authors who decide to use it.  You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+
+  When we speak of free software, we are referring to freedom of use,
+not price.  Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+  To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights.  These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+  For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you.  You must make sure that they, too, receive or can get the source
+code.  If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it.  And you must show them these terms so they know their rights.
+
+  We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+  To protect each distributor, we want to make it very clear that
+there is no warranty for the free library.  Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+
+  Finally, software patents pose a constant threat to the existence of
+any free program.  We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder.  Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+  Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License.  This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License.  We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+  When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library.  The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom.  The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+  We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License.  It also provides other free software developers Less
+of an advantage over competing non-free programs.  These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries.  However, the Lesser license provides advantages in certain
+special circumstances.
+
+  For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard.  To achieve this, non-free programs must be
+allowed to use the library.  A more frequent case is that a free
+library does the same job as widely used non-free libraries.  In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+  In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software.  For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+  Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.  Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library".  The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+
+GNU LESSER GENERAL PUBLIC LICENSE
+TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+  A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+  The "Library", below, refers to any such software library or work
+which has been distributed under these terms.  A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language.  (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+  "Source code" for a work means the preferred form of the work for
+making modifications to it.  For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+  Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it).  Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+
+  1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+  You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+  2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) The modified work must itself be a software library.
+
+    b) You must cause the files modified to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    c) You must cause the whole of the work to be licensed at no
+    charge to all third parties under the terms of this License.
+
+    d) If a facility in the modified Library refers to a function or a
+    table of data to be supplied by an application program that uses
+    the facility, other than as an argument passed when the facility
+    is invoked, then you must make a good faith effort to ensure that,
+    in the event an application does not supply such function or
+    table, the facility still operates, and performs whatever part of
+    its purpose remains meaningful.
+
+    (For example, a function in a library to compute square roots has
+    a purpose that is entirely well-defined independent of the
+    application.  Therefore, Subsection 2d requires that any
+    application-supplied function or table used by this function must
+    be optional: if the application does not supply it, the square
+    root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library.  To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License.  (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.)  Do not make any other change in
+these notices.
+
+  Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+  This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+  4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+  If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library".  Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+  However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library".  The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+  When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library.  The
+threshold for this to be true is not precisely defined by law.
+
+  If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work.  (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+  Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+  6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+  You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License.  You must supply a copy of this License.  If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License.  Also, you must do one
+of these things:
+
+    a) Accompany the work with the complete corresponding
+    machine-readable source code for the Library including whatever
+    changes were used in the work (which must be distributed under
+    Sections 1 and 2 above); and, if the work is an executable linked
+    with the Library, with the complete machine-readable "work that
+    uses the Library", as object code and/or source code, so that the
+    user can modify the Library and then relink to produce a modified
+    executable containing the modified Library.  (It is understood
+    that the user who changes the contents of definitions files in the
+    Library will not necessarily be able to recompile the application
+    to use the modified definitions.)
+
+    b) Use a suitable shared library mechanism for linking with the
+    Library.  A suitable mechanism is one that (1) uses at run time a
+    copy of the library already present on the user's computer system,
+    rather than copying library functions into the executable, and (2)
+    will operate properly with a modified version of the library, if
+    the user installs one, as long as the modified version is
+    interface-compatible with the version that the work was made with.
+
+    c) Accompany the work with a written offer, valid for at
+    least three years, to give the same user the materials
+    specified in Subsection 6a, above, for a charge no more
+    than the cost of performing this distribution.
+
+    d) If distribution of the work is made by offering access to copy
+    from a designated place, offer equivalent access to copy the above
+    specified materials from the same place.
+
+    e) Verify that the user has already received a copy of these
+    materials or that you have already sent this user a copy.
+
+  For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it.  However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+  It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system.  Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+  7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+    a) Accompany the combined library with a copy of the same work
+    based on the Library, uncombined with any other library
+    facilities.  This must be distributed under the terms of the
+    Sections above.
+
+    b) Give prominent notice with the combined library of the fact
+    that part of it is a work based on the Library, and explaining
+    where to find the accompanying uncombined form of the same work.
+
+  8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License.  Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License.  However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+  9. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Library or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+  10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+
+  11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded.  In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+  13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation.  If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+  14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission.  For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this.  Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+NO WARRANTY
+
+  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+END OF TERMS AND CONDITIONS
+
+
+Appendix C: The MPL License
+---------------------------
+
+MOZILLA PUBLIC LICENSE
+Version 1.1
+
+1. Definitions.
+
+     1.0.1. "Commercial Use" means distribution or otherwise making the
+     Covered Code available to a third party.
+
+     1.1. "Contributor" means each entity that creates or contributes to
+     the creation of Modifications.
+
+     1.2. "Contributor Version" means the combination of the Original
+     Code, prior Modifications used by a Contributor, and the Modifications
+     made by that particular Contributor.
+
+     1.3. "Covered Code" means the Original Code or Modifications or the
+     combination of the Original Code and Modifications, in each case
+     including portions thereof.
+
+     1.4. "Electronic Distribution Mechanism" means a mechanism generally
+     accepted in the software development community for the electronic
+     transfer of data.
+
+     1.5. "Executable" means Covered Code in any form other than Source
+     Code.
+
+     1.6. "Initial Developer" means the individual or entity identified
+     as the Initial Developer in the Source Code notice required by Exhibit
+     A.
+
+     1.7. "Larger Work" means a work which combines Covered Code or
+     portions thereof with code not governed by the terms of this License.
+
+     1.8. "License" means this document.
+
+     1.8.1. "Licensable" means having the right to grant, to the maximum
+     extent possible, whether at the time of the initial grant or
+     subsequently acquired, any and all of the rights conveyed herein.
+
+     1.9. "Modifications" means any addition to or deletion from the
+     substance or structure of either the Original Code or any previous
+     Modifications. When Covered Code is released as a series of files, a
+     Modification is:
+          A. Any addition to or deletion from the contents of a file
+          containing Original Code or previous Modifications.
+
+          B. Any new file that contains any part of the Original Code or
+          previous Modifications.
+
+     1.10. "Original Code" means Source Code of computer software code
+     which is described in the Source Code notice required by Exhibit A as
+     Original Code, and which, at the time of its release under this
+     License is not already Covered Code governed by this License.
+
+     1.10.1. "Patent Claims" means any patent claim(s), now owned or
+     hereafter acquired, including without limitation,  method, process,
+     and apparatus claims, in any patent Licensable by grantor.
+
+     1.11. "Source Code" means the preferred form of the Covered Code for
+     making modifications to it, including all modules it contains, plus
+     any associated interface definition files, scripts used to control
+     compilation and installation of an Executable, or source code
+     differential comparisons against either the Original Code or another
+     well known, available Covered Code of the Contributor's choice. The
+     Source Code can be in a compressed or archival form, provided the
+     appropriate decompression or de-archiving software is widely available
+     for no charge.
+
+     1.12. "You" (or "Your")  means an individual or a legal entity
+     exercising rights under, and complying with all of the terms of, this
+     License or a future version of this License issued under Section 6.1.
+     For legal entities, "You" includes any entity which controls, is
+     controlled by, or is under common control with You. For purposes of
+     this definition, "control" means (a) the power, direct or indirect,
+     to cause the direction or management of such entity, whether by
+     contract or otherwise, or (b) ownership of more than fifty percent
+     (50%) of the outstanding shares or beneficial ownership of such
+     entity.
+
+2. Source Code License.
+
+     2.1. The Initial Developer Grant.
+     The Initial Developer hereby grants You a world-wide, royalty-free,
+     non-exclusive license, subject to third party intellectual property
+     claims:
+          (a)  under intellectual property rights (other than patent or
+          trademark) Licensable by Initial Developer to use, reproduce,
+          modify, display, perform, sublicense and distribute the Original
+          Code (or portions thereof) with or without Modifications, and/or
+          as part of a Larger Work; and
+
+          (b) under Patents Claims infringed by the making, using or
+          selling of Original Code, to make, have made, use, practice,
+          sell, and offer for sale, and/or otherwise dispose of the
+          Original Code (or portions thereof).
+
+          (c) the licenses granted in this Section 2.1(a) and (b) are
+          effective on the date Initial Developer first distributes
+          Original Code under the terms of this License.
+
+          (d) Notwithstanding Section 2.1(b) above, no patent license is
+          granted: 1) for code that You delete from the Original Code; 2)
+          separate from the Original Code;  or 3) for infringements caused
+          by: i) the modification of the Original Code or ii) the
+          combination of the Original Code with other software or devices.
+
+     2.2. Contributor Grant.
+     Subject to third party intellectual property claims, each Contributor
+     hereby grants You a world-wide, royalty-free, non-exclusive license
+
+          (a)  under intellectual property rights (other than patent or
+          trademark) Licensable by Contributor, to use, reproduce, modify,
+          display, perform, sublicense and distribute the Modifications
+          created by such Contributor (or portions thereof) either on an
+          unmodified basis, with other Modifications, as Covered Code
+          and/or as part of a Larger Work; and
+
+          (b) under Patent Claims infringed by the making, using, or
+          selling of  Modifications made by that Contributor either alone
+          and/or in combination with its Contributor Version (or portions
+          of such combination), to make, use, sell, offer for sale, have
+          made, and/or otherwise dispose of: 1) Modifications made by that
+          Contributor (or portions thereof); and 2) the combination of
+          Modifications made by that Contributor with its Contributor
+          Version (or portions of such combination).
+
+          (c) the licenses granted in Sections 2.2(a) and 2.2(b) are
+          effective on the date Contributor first makes Commercial Use of
+          the Covered Code.
+
+          (d)    Notwithstanding Section 2.2(b) above, no patent license is
+          granted: 1) for any code that Contributor has deleted from the
+          Contributor Version; 2)  separate from the Contributor Version;
+          3)  for infringements caused by: i) third party modifications of
+          Contributor Version or ii)  the combination of Modifications made
+          by that Contributor with other software  (except as part of the
+          Contributor Version) or other devices; or 4) under Patent Claims
+          infringed by Covered Code in the absence of Modifications made by
+          that Contributor.
+
+3. Distribution Obligations.
+
+     3.1. Application of License.
+     The Modifications which You create or to which You contribute are
+     governed by the terms of this License, including without limitation
+     Section 2.2. The Source Code version of Covered Code may be
+     distributed only under the terms of this License or a future version
+     of this License released under Section 6.1, and You must include a
+     copy of this License with every copy of the Source Code You
+     distribute. You may not offer or impose any terms on any Source Code
+     version that alters or restricts the applicable version of this
+     License or the recipients' rights hereunder. However, You may include
+     an additional document offering the additional rights described in
+     Section 3.5.
+
+     3.2. Availability of Source Code.
+     Any Modification which You create or to which You contribute must be
+     made available in Source Code form under the terms of this License
+     either on the same media as an Executable version or via an accepted
+     Electronic Distribution Mechanism to anyone to whom you made an
+     Executable version available; and if made available via Electronic
+     Distribution Mechanism, must remain available for at least twelve (12)
+     months after the date it initially became available, or at least six
+     (6) months after a subsequent version of that particular Modification
+     has been made available to such recipients. You are responsible for
+     ensuring that the Source Code version remains available even if the
+     Electronic Distribution Mechanism is maintained by a third party.
+
+     3.3. Description of Modifications.
+     You must cause all Covered Code to which You contribute to contain a
+     file documenting the changes You made to create that Covered Code and
+     the date of any change. You must include a prominent statement that
+     the Modification is derived, directly or indirectly, from Original
+     Code provided by the Initial Developer and including the name of the
+     Initial Developer in (a) the Source Code, and (b) in any notice in an
+     Executable version or related documentation in which You describe the
+     origin or ownership of the Covered Code.
+
+     3.4. Intellectual Property Matters
+          (a) Third Party Claims.
+          If Contributor has knowledge that a license under a third party's
+          intellectual property rights is required to exercise the rights
+          granted by such Contributor under Sections 2.1 or 2.2,
+          Contributor must include a text file with the Source Code
+          distribution titled "LEGAL" which describes the claim and the
+          party making the claim in sufficient detail that a recipient will
+          know whom to contact. If Contributor obtains such knowledge after
+          the Modification is made available as described in Section 3.2,
+          Contributor shall promptly modify the LEGAL file in all copies
+          Contributor makes available thereafter and shall take other steps
+          (such as notifying appropriate mailing lists or newsgroups)
+          reasonably calculated to inform those who received the Covered
+          Code that new knowledge has been obtained.
+
+          (b) Contributor APIs.
+          If Contributor's Modifications include an application programming
+          interface and Contributor has knowledge of patent licenses which
+          are reasonably necessary to implement that API, Contributor must
+          also include this information in the LEGAL file.
+
+               (c)    Representations.
+          Contributor represents that, except as disclosed pursuant to
+          Section 3.4(a) above, Contributor believes that Contributor's
+          Modifications are Contributor's original creation(s) and/or
+          Contributor has sufficient rights to grant the rights conveyed by
+          this License.
+
+     3.5. Required Notices.
+     You must duplicate the notice in Exhibit A in each file of the Source
+     Code.  If it is not possible to put such notice in a particular Source
+     Code file due to its structure, then You must include such notice in a
+     location (such as a relevant directory) where a user would be likely
+     to look for such a notice.  If You created one or more Modification(s)
+     You may add your name as a Contributor to the notice described in
+     Exhibit A.  You must also duplicate this License in any documentation
+     for the Source Code where You describe recipients' rights or ownership
+     rights relating to Covered Code.  You may choose to offer, and to
+     charge a fee for, warranty, support, indemnity or liability
+     obligations to one or more recipients of Covered Code. However, You
+     may do so only on Your own behalf, and not on behalf of the Initial
+     Developer or any Contributor. You must make it absolutely clear than
+     any such warranty, support, indemnity or liability obligation is
+     offered by You alone, and You hereby agree to indemnify the Initial
+     Developer and every Contributor for any liability incurred by the
+     Initial Developer or such Contributor as a result of warranty,
+     support, indemnity or liability terms You offer.
+
+     3.6. Distribution of Executable Versions.
+     You may distribute Covered Code in Executable form only if the
+     requirements of Section 3.1-3.5 have been met for that Covered Code,
+     and if You include a notice stating that the Source Code version of
+     the Covered Code is available under the terms of this License,
+     including a description of how and where You have fulfilled the
+     obligations of Section 3.2. The notice must be conspicuously included
+     in any notice in an Executable version, related documentation or
+     collateral in which You describe recipients' rights relating to the
+     Covered Code. You may distribute the Executable version of Covered
+     Code or ownership rights under a license of Your choice, which may
+     contain terms different from this License, provided that You are in
+     compliance with the terms of this License and that the license for the
+     Executable version does not attempt to limit or alter the recipient's
+     rights in the Source Code version from the rights set forth in this
+     License. If You distribute the Executable version under a different
+     license You must make it absolutely clear that any terms which differ
+     from this License are offered by You alone, not by the Initial
+     Developer or any Contributor. You hereby agree to indemnify the
+     Initial Developer and every Contributor for any liability incurred by
+     the Initial Developer or such Contributor as a result of any such
+     terms You offer.
+
+     3.7. Larger Works.
+     You may create a Larger Work by combining Covered Code with other code
+     not governed by the terms of this License and distribute the Larger
+     Work as a single product. In such a case, You must make sure the
+     requirements of this License are fulfilled for the Covered Code.
+
+4. Inability to Comply Due to Statute or Regulation.
+
+     If it is impossible for You to comply with any of the terms of this
+     License with respect to some or all of the Covered Code due to
+     statute, judicial order, or regulation then You must: (a) comply with
+     the terms of this License to the maximum extent possible; and (b)
+     describe the limitations and the code they affect. Such description
+     must be included in the LEGAL file described in Section 3.4 and must
+     be included with all distributions of the Source Code. Except to the
+     extent prohibited by statute or regulation, such description must be
+     sufficiently detailed for a recipient of ordinary skill to be able to
+     understand it.
+
+5. Application of this License.
+
+     This License applies to code to which the Initial Developer has
+     attached the notice in Exhibit A and to related Covered Code.
+
+6. Versions of the License.
+
+     6.1. New Versions.
+     Netscape Communications Corporation ("Netscape") may publish revised
+     and/or new versions of the License from time to time. Each version
+     will be given a distinguishing version number.
+
+     6.2. Effect of New Versions.
+     Once Covered Code has been published under a particular version of the
+     License, You may always continue to use it under the terms of that
+     version. You may also choose to use such Covered Code under the terms
+     of any subsequent version of the License published by Netscape. No one
+     other than Netscape has the right to modify the terms applicable to
+     Covered Code created under this License.
+
+     6.3. Derivative Works.
+     If You create or use a modified version of this License (which you may
+     only do in order to apply it to code which is not already Covered Code
+     governed by this License), You must (a) rename Your license so that
+     the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape",
+     "MPL", "NPL" or any confusingly similar phrase do not appear in your
+     license (except to note that your license differs from this License)
+     and (b) otherwise make it clear that Your version of the license
+     contains terms which differ from the Mozilla Public License and
+     Netscape Public License. (Filling in the name of the Initial
+     Developer, Original Code or Contributor in the notice described in
+     Exhibit A shall not of themselves be deemed to be modifications of
+     this License.)
+
+7. DISCLAIMER OF WARRANTY.
+
+     COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS,
+     WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+     WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF
+     DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING.
+     THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE
+     IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT,
+     YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE
+     COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER
+     OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF
+     ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
+
+8. TERMINATION.
+
+     8.1.  This License and the rights granted hereunder will terminate
+     automatically if You fail to comply with terms herein and fail to cure
+     such breach within 30 days of becoming aware of the breach. All
+     sublicenses to the Covered Code which are properly granted shall
+     survive any termination of this License. Provisions which, by their
+     nature, must remain in effect beyond the termination of this License
+     shall survive.
+
+     8.2.  If You initiate litigation by asserting a patent infringement
+     claim (excluding declatory judgment actions) against Initial Developer
+     or a Contributor (the Initial Developer or Contributor against whom
+     You file such action is referred to as "Participant")  alleging that:
+
+     (a)  such Participant's Contributor Version directly or indirectly
+     infringes any patent, then any and all rights granted by such
+     Participant to You under Sections 2.1 and/or 2.2 of this License
+     shall, upon 60 days notice from Participant terminate prospectively,
+     unless if within 60 days after receipt of notice You either: (i)
+     agree in writing to pay Participant a mutually agreeable reasonable
+     royalty for Your past and future use of Modifications made by such
+     Participant, or (ii) withdraw Your litigation claim with respect to
+     the Contributor Version against such Participant.  If within 60 days
+     of notice, a reasonable royalty and payment arrangement are not
+     mutually agreed upon in writing by the parties or the litigation claim
+     is not withdrawn, the rights granted by Participant to You under
+     Sections 2.1 and/or 2.2 automatically terminate at the expiration of
+     the 60 day notice period specified above.
+
+     (b)  any software, hardware, or device, other than such Participant's
+     Contributor Version, directly or indirectly infringes any patent, then
+     any rights granted to You by such Participant under Sections 2.1(b)
+     and 2.2(b) are revoked effective as of the date You first made, used,
+     sold, distributed, or had made, Modifications made by that
+     Participant.
+
+     8.3.  If You assert a patent infringement claim against Participant
+     alleging that such Participant's Contributor Version directly or
+     indirectly infringes any patent where such claim is resolved (such as
+     by license or settlement) prior to the initiation of patent
+     infringement litigation, then the reasonable value of the licenses
+     granted by such Participant under Sections 2.1 or 2.2 shall be taken
+     into account in determining the amount or value of any payment or
+     license.
+
+     8.4.  In the event of termination under Sections 8.1 or 8.2 above,
+     all end user license agreements (excluding distributors and resellers)
+     which have been validly granted by You or any distributor hereunder
+     prior to termination shall survive termination.
+
+9. LIMITATION OF LIABILITY.
+
+     UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT
+     (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL
+     DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE,
+     OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR
+     ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY
+     CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL,
+     WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER
+     COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN
+     INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF
+     LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY
+     RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW
+     PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE
+     EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO
+     THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
+
+10. U.S. GOVERNMENT END USERS.
+
+     The Covered Code is a "commercial item," as that term is defined in
+     48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer
+     software" and "commercial computer software documentation," as such
+     terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48
+     C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995),
+     all U.S. Government End Users acquire Covered Code with only those
+     rights set forth herein.
+
+11. MISCELLANEOUS.
+
+     This License represents the complete agreement concerning subject
+     matter hereof. If any provision of this License is held to be
+     unenforceable, such provision shall be reformed only to the extent
+     necessary to make it enforceable. This License shall be governed by
+     California law provisions (except to the extent applicable law, if
+     any, provides otherwise), excluding its conflict-of-law provisions.
+     With respect to disputes in which at least one party is a citizen of,
+     or an entity chartered or registered to do business in the United
+     States of America, any litigation relating to this License shall be
+     subject to the jurisdiction of the Federal Courts of the Northern
+     District of California, with venue lying in Santa Clara County,
+     California, with the losing party responsible for costs, including
+     without limitation, court costs and reasonable attorneys' fees and
+     expenses. The application of the United Nations Convention on
+     Contracts for the International Sale of Goods is expressly excluded.
+     Any law or regulation which provides that the language of a contract
+     shall be construed against the drafter shall not apply to this
+     License.
+
+12. RESPONSIBILITY FOR CLAIMS.
+
+     As between Initial Developer and the Contributors, each party is
+     responsible for claims and damages arising, directly or indirectly,
+     out of its utilization of rights under this License and You agree to
+     work with Initial Developer and Contributors to distribute such
+     responsibility on an equitable basis. Nothing herein is intended or
+     shall be deemed to constitute any admission of liability.
+
+13. MULTIPLE-LICENSED CODE.
+
+     Initial Developer may designate portions of the Covered Code as
+     "Multiple-Licensed".  "Multiple-Licensed" means that the Initial
+     Developer permits you to utilize portions of the Covered Code under
+     Your choice of the NPL or the alternative licenses, if any, specified
+     by the Initial Developer in the file described in Exhibit A.
+
+EXHIBIT A -Mozilla Public License.
+
+     ``The contents of this file are subject to the Mozilla Public License
+     Version 1.1 (the "License"); you may not use this file except in
+     compliance with the License. You may obtain a copy of the License at
+     http://www.mozilla.org/MPL/
+
+     Software distributed under the License is distributed on an "AS IS"
+     basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
+     License for the specific language governing rights and limitations
+     under the License.
+
+     The Original Code is ______________________________________.
+
+     The Initial Developer of the Original Code is ________________________.
+     Portions created by ______________________ are Copyright (C) ______
+     _______________________. All Rights Reserved.
+
+     Contributor(s): ______________________________________.
+
+     Alternatively, the contents of this file may be used under the terms
+     of the _____ license (the  "[___] License"), in which case the
+     provisions of [______] License are applicable instead of those
+     above.  If you wish to allow use of your version of this file only
+     under the terms of the [____] License and not to allow others to use
+     your version of this file under the MPL, indicate your decision by
+     deleting  the provisions above and replace  them with the notice and
+     other provisions required by the [___] License.  If you do not delete
+     the provisions above, a recipient may use your version of this file
+     under either the MPL or the [___] License."
+
+     [NOTE: The text of this Exhibit A may differ slightly from the text of
+     the notices in the Source Code files of the Original Code. You should
+     use the text of this Exhibit A rather than the text found in the
+     Original Code Source Code for Your Modifications.]
diff --git a/openslides/static/javascript/ckeditor/README.md b/openslides/static/javascript/ckeditor/README.md
new file mode 100644
index 000000000..378c267ee
--- /dev/null
+++ b/openslides/static/javascript/ckeditor/README.md
@@ -0,0 +1,39 @@
+CKEditor 4
+==========
+
+Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.  
+http://ckeditor.com - See LICENSE.md for license information.
+
+CKEditor is a text editor to be used inside web pages. It's not a replacement
+for desktop text editors like Word or OpenOffice, but a component to be used as
+part of web applications and websites.
+
+## Documentation
+
+The full editor documentation is available online at the following address:
+http://docs.ckeditor.com
+
+## Installation
+
+Installing CKEditor is an easy task. Just follow these simple steps:
+
+ 1. **Download** the latest version from the CKEditor website:
+    http://ckeditor.com. You should have already completed this step, but be
+    sure you have the very latest version.
+ 2. **Extract** (decompress) the downloaded file into the root of your website.
+
+**Note:** CKEditor is by default installed in the `ckeditor` folder. You can
+place the files in whichever you want though.
+
+## Checking Your Installation
+
+The editor comes with a few sample pages that can be used to verify that
+installation proceeded properly. Take a look at the `samples` directory.
+
+To test your installation, just call the following page at your website:
+
+	http:////samples/index.html
+
+For example:
+
+	http://www.example.com/ckeditor/samples/index.html
diff --git a/openslides/static/javascript/ckeditor/build-config.js b/openslides/static/javascript/ckeditor/build-config.js
new file mode 100644
index 000000000..5a9af9b2f
--- /dev/null
+++ b/openslides/static/javascript/ckeditor/build-config.js
@@ -0,0 +1,85 @@
+/**
+ * @license Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
+ * For licensing, see LICENSE.html or http://ckeditor.com/license
+ */
+ 
+ /**
+ * This file was added automatically by CKEditor builder.
+ * You may re-use it at any time at http://ckeditor.com/builder to build CKEditor again.
+ * 
+ * NOTE: 
+ *    This file is not used by CKEditor, you may remove it.
+ *    Changing this file will not change your CKEditor configuration.
+ */
+
+var CKBUILDER_CONFIG = {
+	skin: 'moono',
+	ignore: [
+		'dev',
+		'README.md',
+		'.gitignore',
+		'.gitattributes',
+		'.idea',
+		'.mailmap',
+		'.DS_Store'
+	],
+	plugins: {
+		a11yhelp: 1,
+		about: 1,
+		basicstyles: 1,
+		bidi: 1,
+		blockquote: 1,
+		clipboard: 1,
+		colorbutton: 1,
+		colordialog: 1,
+		contextmenu: 1,
+		dialogadvtab: 1,
+		div: 1,
+		elementspath: 1,
+		enterkey: 1,
+		entities: 1,
+		filebrowser: 1,
+		find: 1,
+		flash: 1,
+		floatingspace: 1,
+		font: 1,
+		format: 1,
+		forms: 1,
+		horizontalrule: 1,
+		htmlwriter: 1,
+		iframe: 1,
+		image: 1,
+		indent: 1,
+		justify: 1,
+		link: 1,
+		list: 1,
+		liststyle: 1,
+		magicline: 1,
+		maximize: 1,
+		newpage: 1,
+		pagebreak: 1,
+		pastefromword: 1,
+		pastetext: 1,
+		preview: 1,
+		print: 1,
+		removeformat: 1,
+		resize: 1,
+		save: 1,
+		scayt: 1,
+		selectall: 1,
+		showblocks: 1,
+		showborders: 1,
+		smiley: 1,
+		sourcearea: 1,
+		specialchar: 1,
+		stylescombo: 1,
+		tab: 1,
+		table: 1,
+		tabletools: 1,
+		templates: 1,
+		toolbar: 1,
+		undo: 1,
+		wsc: 1,
+		wysiwygarea: 1
+	}
+};
diff --git a/openslides/static/javascript/ckeditor/ckeditor.js b/openslides/static/javascript/ckeditor/ckeditor.js
new file mode 100644
index 000000000..22925ccc6
--- /dev/null
+++ b/openslides/static/javascript/ckeditor/ckeditor.js
@@ -0,0 +1,922 @@
+/*
+Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.html or http://ckeditor.com/license
+*/
+(function(){if(!window.CKEDITOR||!window.CKEDITOR.dom)window.CKEDITOR||(window.CKEDITOR=function(){var b={timestamp:"D26E",version:"4.1 RC (Full)",revision:"23c607d",rnd:Math.floor(900*Math.random())+100,_:{pending:[]},status:"unloaded",basePath:function(){var a=window.CKEDITOR_BASEPATH||"";if(!a)for(var b=document.getElementsByTagName("script"),h=0;h=0;n--)if(l[n].priority<=g){l.splice(n+1,0,f);return{removeListener:c}}l.unshift(f)}return{removeListener:c}},once:function(){var a=arguments[1];arguments[1]=function(b){b.removeListener();return a.apply(this,arguments)};return this.on.apply(this,
+arguments)},capture:function(){CKEDITOR.event.useCapture=1;var a=this.on.apply(this,arguments);CKEDITOR.event.useCapture=0;return a},fire:function(){var a=0,b=function(){a=1},h=0,d=function(){h=1};return function(g,f,j){var l=c(this)[g],g=a,k=h;a=h=0;if(l){var n=l.listeners;if(n.length)for(var n=n.slice(0),m,o=0;o=0&&h.listeners.splice(d,1)}},removeAllListeners:function(){var a=c(this),b;for(b in a)delete a[b]},hasListeners:function(a){return(a=c(this)[a])&&a.listeners.length>0}}}()),CKEDITOR.editor||(CKEDITOR.editor=function(){CKEDITOR._.pending.push([this,arguments]);CKEDITOR.event.call(this)},CKEDITOR.editor.prototype.fire=
+function(b,c){b in{instanceReady:1,loaded:1}&&(this[b]=true);return CKEDITOR.event.prototype.fire.call(this,b,c,this)},CKEDITOR.editor.prototype.fireOnce=function(b,c){b in{instanceReady:1,loaded:1}&&(this[b]=true);return CKEDITOR.event.prototype.fireOnce.call(this,b,c,this)},CKEDITOR.event.implementOn(CKEDITOR.editor.prototype)),CKEDITOR.env||(CKEDITOR.env=function(){var b=navigator.userAgent.toLowerCase(),c=window.opera,a={ie:eval("/*@cc_on!@*/false"),opera:!!c&&c.version,webkit:b.indexOf(" applewebkit/")>
+-1,air:b.indexOf(" adobeair/")>-1,mac:b.indexOf("macintosh")>-1,quirks:document.compatMode=="BackCompat",mobile:b.indexOf("mobile")>-1,iOS:/(ipad|iphone|ipod)/.test(b),isCustomDomain:function(){if(!this.ie)return false;var a=document.domain,e=window.location.hostname;return a!=e&&a!="["+e+"]"},secure:location.protocol=="https:"};a.gecko=navigator.product=="Gecko"&&!a.webkit&&!a.opera;if(a.webkit)b.indexOf("chrome")>-1?a.chrome=true:a.safari=true;var e=0;if(a.ie){e=a.quirks||!document.documentMode?
+parseFloat(b.match(/msie (\d+)/)[1]):document.documentMode;a.ie9Compat=e==9;a.ie8Compat=e==8;a.ie7Compat=e==7;a.ie6Compat=e<7||a.quirks}if(a.gecko){var i=b.match(/rv:([\d\.]+)/);if(i){i=i[1].split(".");e=i[0]*1E4+(i[1]||0)*100+(i[2]||0)*1}}a.opera&&(e=parseFloat(c.version()));a.air&&(e=parseFloat(b.match(/ adobeair\/(\d+)/)[1]));a.webkit&&(e=parseFloat(b.match(/ applewebkit\/(\d+)/)[1]));a.version=e;a.isCompatible=a.iOS&&e>=534||!a.mobile&&(a.ie&&e>6||a.gecko&&e>=10801||a.opera&&e>=9.5||a.air&&e>=
+1||a.webkit&&e>=522||false);a.cssClass="cke_browser_"+(a.ie?"ie":a.gecko?"gecko":a.opera?"opera":a.webkit?"webkit":"unknown");if(a.quirks)a.cssClass=a.cssClass+" cke_browser_quirks";if(a.ie){a.cssClass=a.cssClass+(" cke_browser_ie"+(a.quirks||a.version<7?"6":a.version));if(a.quirks)a.cssClass=a.cssClass+" cke_browser_iequirks"}if(a.gecko)if(e<10900)a.cssClass=a.cssClass+" cke_browser_gecko18";else if(e<=11E3)a.cssClass=a.cssClass+" cke_browser_gecko19";if(a.air)a.cssClass=a.cssClass+" cke_browser_air";
+return a}()),"unloaded"==CKEDITOR.status&&function(){CKEDITOR.event.implementOn(CKEDITOR);CKEDITOR.loadFullCore=function(){if(CKEDITOR.status!="basic_ready")CKEDITOR.loadFullCore._load=1;else{delete CKEDITOR.loadFullCore;var b=document.createElement("script");b.type="text/javascript";b.src=CKEDITOR.basePath+"ckeditor.js";document.getElementsByTagName("head")[0].appendChild(b)}};CKEDITOR.loadFullCoreTimeout=0;CKEDITOR.add=function(b){(this._.pending||(this._.pending=[])).push(b)};(function(){CKEDITOR.domReady(function(){var b=
+CKEDITOR.loadFullCore,c=CKEDITOR.loadFullCoreTimeout;if(b){CKEDITOR.status="basic_ready";b&&b._load?b():c&&setTimeout(function(){CKEDITOR.loadFullCore&&CKEDITOR.loadFullCore()},c*1E3)}})})();CKEDITOR.status="basic_loaded"}(),CKEDITOR.dom={},function(){var b=[],c=CKEDITOR.env.gecko?"-moz-":CKEDITOR.env.webkit?"-webkit-":CKEDITOR.env.opera?"-o-":CKEDITOR.env.ie?"-ms-":"";CKEDITOR.on("reset",function(){b=[]});CKEDITOR.tools={arrayCompare:function(a,e){if(!a&&!e)return true;if(!a||!e||a.length!=e.length)return false;
+for(var b=0;b"+e+
+""):b.push('');return b.join("")},htmlEncode:function(a){return(""+a).replace(/&/g,"&").replace(/>/g,">").replace(//g,">")},getNextNumber:function(){var a=0;return function(){return++a}}(),getNextId:function(){return"cke_"+this.getNextNumber()},override:function(a,e){var b=e(a);b.prototype=a.prototype;return b},setTimeout:function(a,
+e,b,h,d){d||(d=window);b||(b=d);return d.setTimeout(function(){h?a.apply(b,[].concat(h)):a.apply(b)},e||0)},trim:function(){var a=/(?:^[ \t\n\r]+)|(?:[ \t\n\r]+$)/g;return function(e){return e.replace(a,"")}}(),ltrim:function(){var a=/^[ \t\n\r]+/g;return function(e){return e.replace(a,"")}}(),rtrim:function(){var a=/[ \t\n\r]+$/g;return function(e){return e.replace(a,"")}}(),indexOf:function(a,e){if(typeof e=="function")for(var b=0,h=a.length;b=0?a[i]:null},bind:function(a,b){return function(){return a.apply(b,arguments)}},createClass:function(a){var b=a.$,i=a.base,h=a.privates||a._,d=a.proto,a=a.statics;!b&&(b=function(){i&&this.base.apply(this,arguments)});if(h)var g=b,b=function(){var a=this._||(this._={}),b;for(b in h){var e=h[b];a[b]=typeof e=="function"?CKEDITOR.tools.bind(e,this):e}g.apply(this,arguments)};if(i){b.prototype=
+this.prototypedCopy(i.prototype);b.prototype.constructor=b;b.base=i;b.baseProto=i.prototype;b.prototype.base=function(){this.base=i.prototype.base;i.apply(this,arguments);this.base=arguments.callee}}d&&this.extend(b.prototype,d,true);a&&this.extend(b,a,true);return b},addFunction:function(a,e){return b.push(function(){return a.apply(e||this,arguments)})-1},removeFunction:function(a){b[a]=null},callFunction:function(a){var e=b[a];return e&&e.apply(window,Array.prototype.slice.call(arguments,1))},cssLength:function(){var a=
+/^-?\d+\.?\d*px$/,b;return function(i){b=CKEDITOR.tools.trim(i+"")+"px";return a.test(b)?b:i||""}}(),convertToPx:function(){var a;return function(b){if(!a){a=CKEDITOR.dom.element.createFromHtml('
',CKEDITOR.document);CKEDITOR.document.getBody().append(a)}if(!/%$/.test(b)){a.setStyle("width",b);return a.$.clientWidth}return b}}(),repeat:function(a,b){return Array(b+1).join(a)},tryThese:function(){for(var a, +b=0,i=arguments.length;b8)&&c)b=c+":"+b;return new CKEDITOR.dom.nodeList(this.$.getElementsByTagName(b))},getHead:function(){var b=this.$.getElementsByTagName("head")[0];return b=b?new CKEDITOR.dom.element(b):this.getDocumentElement().append(new CKEDITOR.dom.element("head"), +true)},getBody:function(){return new CKEDITOR.dom.element(this.$.body)},getDocumentElement:function(){return new CKEDITOR.dom.element(this.$.documentElement)},getWindow:function(){var b=new CKEDITOR.dom.window(this.$.parentWindow||this.$.defaultView);return(this.getWindow=function(){return b})()},write:function(b){this.$.open("text/html","replace");CKEDITOR.env.isCustomDomain()&&(this.$.domain=document.domain);this.$.write(b);this.$.close()}}),CKEDITOR.dom.nodeList=function(b){this.$=b},CKEDITOR.dom.nodeList.prototype= +{count:function(){return this.$.length},getItem:function(b){if(b<0||b>=this.$.length)return null;return(b=this.$[b])?new CKEDITOR.dom.node(b):null}},CKEDITOR.dom.element=function(b,c){typeof b=="string"&&(b=(c?c.$:document).createElement(b));CKEDITOR.dom.domObject.call(this,b)},CKEDITOR.dom.element.get=function(b){return(b=typeof b=="string"?document.getElementById(b)||document.getElementsByName(b)[0]:b)&&(b.$?b:new CKEDITOR.dom.element(b))},CKEDITOR.dom.element.prototype=new CKEDITOR.dom.node,CKEDITOR.dom.element.createFromHtml= +function(b,c){var a=new CKEDITOR.dom.element("div",c);a.setHtml(b);return a.getFirst().remove()},CKEDITOR.dom.element.setMarker=function(b,c,a,e){var i=c.getCustomData("list_marker_id")||c.setCustomData("list_marker_id",CKEDITOR.tools.getNextNumber()).getCustomData("list_marker_id"),h=c.getCustomData("list_marker_names")||c.setCustomData("list_marker_names",{}).getCustomData("list_marker_names");b[i]=c;h[a]=1;return c.setCustomData(a,e)},CKEDITOR.dom.element.clearAllMarkers=function(b){for(var c in b)CKEDITOR.dom.element.clearMarkers(b, +b[c],1)},CKEDITOR.dom.element.clearMarkers=function(b,c,a){var e=c.getCustomData("list_marker_names"),i=c.getCustomData("list_marker_id"),h;for(h in e)c.removeCustomData(h);c.removeCustomData("list_marker_names");if(a){c.removeCustomData("list_marker_id");delete b[i]}},function(){function b(a){for(var b=0,i=0,h=c[a].length;i]*>/g,""):a},getOuterHtml:function(){if(this.$.outerHTML)return this.$.outerHTML.replace(/<\?[^>]*>/,"");var a=this.$.ownerDocument.createElement("div");a.appendChild(this.$.cloneNode(true));return a.innerHTML},getClientRect:function(){var a= +CKEDITOR.tools.extend({},this.$.getBoundingClientRect());!a.width&&(a.width=a.right-a.left);!a.height&&(a.height=a.bottom-a.top);return a},setHtml:function(){var a=function(a){return this.$.innerHTML=a};return CKEDITOR.env.ie&&CKEDITOR.env.version<9?function(a){try{return this.$.innerHTML=a}catch(b){this.$.innerHTML="";var h=new CKEDITOR.dom.element("body",this.getDocument());h.$.innerHTML=a;for(h=h.getChildren();h.count();)this.append(h.getItem(0));return a}}:a}(),setText:function(a){CKEDITOR.dom.element.prototype.setText= +this.$.innerText!=void 0?function(a){return this.$.innerText=a}:function(a){return this.$.textContent=a};return this.setText(a)},getAttribute:function(){var a=function(a){return this.$.getAttribute(a,2)};return CKEDITOR.env.ie&&(CKEDITOR.env.ie7Compat||CKEDITOR.env.ie6Compat)?function(a){switch(a){case "class":a="className";break;case "http-equiv":a="httpEquiv";break;case "name":return this.$.name;case "tabindex":a=this.$.getAttribute(a,2);a!==0&&this.$.tabIndex===0&&(a=null);return a;case "checked":a= +this.$.attributes.getNamedItem(a);return(a.specified?a.nodeValue:this.$.checked)?"checked":null;case "hspace":case "value":return this.$[a];case "style":return this.$.style.cssText;case "contenteditable":case "contentEditable":return this.$.attributes.getNamedItem("contentEditable").specified?this.$.getAttribute("contentEditable"):null}return this.$.getAttribute(a,2)}:a}(),getChildren:function(){return new CKEDITOR.dom.nodeList(this.$.childNodes)},getComputedStyle:CKEDITOR.env.ie?function(a){return this.$.currentStyle[CKEDITOR.tools.cssStyleToDomStyle(a)]}: +function(a){var b=this.getWindow().$.getComputedStyle(this.$,null);return b?b.getPropertyValue(a):""},getDtd:function(){var a=CKEDITOR.dtd[this.getName()];this.getDtd=function(){return a};return a},getElementsByTag:CKEDITOR.dom.document.prototype.getElementsByTag,getTabIndex:CKEDITOR.env.ie?function(){var a=this.$.tabIndex;a===0&&(!CKEDITOR.dtd.$tabIndex[this.getName()]&&parseInt(this.getAttribute("tabindex"),10)!==0)&&(a=-1);return a}:CKEDITOR.env.webkit?function(){var a=this.$.tabIndex;if(a==void 0){a= +parseInt(this.getAttribute("tabindex"),10);isNaN(a)&&(a=-1)}return a}:function(){return this.$.tabIndex},getText:function(){return this.$.textContent||this.$.innerText||""},getWindow:function(){return this.getDocument().getWindow()},getId:function(){return this.$.id||null},getNameAtt:function(){return this.$.name||null},getName:function(){var a=this.$.nodeName.toLowerCase();if(CKEDITOR.env.ie&&!(document.documentMode>8)){var b=this.$.scopeName;b!="HTML"&&(a=b.toLowerCase()+":"+a)}return(this.getName= +function(){return a})()},getValue:function(){return this.$.value},getFirst:function(a){var b=this.$.firstChild;(b=b&&new CKEDITOR.dom.node(b))&&(a&&!a(b))&&(b=b.getNext(a));return b},getLast:function(a){var b=this.$.lastChild;(b=b&&new CKEDITOR.dom.node(b))&&(a&&!a(b))&&(b=b.getPrevious(a));return b},getStyle:function(a){return this.$.style[CKEDITOR.tools.cssStyleToDomStyle(a)]},is:function(){var a=this.getName();if(typeof arguments[0]=="object")return!!arguments[0][a];for(var b=0;b0&&(b>2||!i[a[0].nodeName]||b==2&&!i[a[1].nodeName])},hasAttribute:function(){function a(a){a=this.$.attributes.getNamedItem(a);return!(!a||!a.specified)}return CKEDITOR.env.ie&&CKEDITOR.env.version<8?function(b){return b=="name"?!!this.$.name:a.call(this,b)}:a}(),hide:function(){this.setStyle("display","none")},moveChildren:function(a,b){var i=this.$,a=a.$; +if(i!=a){var h;if(b)for(;h=i.lastChild;)a.insertBefore(i.removeChild(h),a.firstChild);else for(;h=i.firstChild;)a.appendChild(i.removeChild(h))}},mergeSiblings:function(){function a(a,b,h){if(b&&b.type==CKEDITOR.NODE_ELEMENT){for(var d=[];b.data("cke-bookmark")||b.isEmptyInlineRemoveable();){d.push(b);b=h?b.getNext():b.getPrevious();if(!b||b.type!=CKEDITOR.NODE_ELEMENT)return}if(a.isIdentical(b)){for(var g=h?a.getLast():a.getFirst();d.length;)d.shift().move(a,!h);b.moveChildren(a,!h);b.remove();g&& +g.type==CKEDITOR.NODE_ELEMENT&&g.mergeSiblings()}}}return function(b){if(b===false||CKEDITOR.dtd.$removeEmpty[this.getName()]||this.is("a")){a(this,this.getNext(),true);a(this,this.getPrevious())}}}(),show:function(){this.setStyles({display:"",visibility:""})},setAttribute:function(){var a=function(a,b){this.$.setAttribute(a,b);return this};return CKEDITOR.env.ie&&(CKEDITOR.env.ie7Compat||CKEDITOR.env.ie6Compat)?function(b,c){b=="class"?this.$.className=c:b=="style"?this.$.style.cssText=c:b=="tabindex"? +this.$.tabIndex=c:b=="checked"?this.$.checked=c:b=="contenteditable"?a.call(this,"contentEditable",c):a.apply(this,arguments);return this}:CKEDITOR.env.ie8Compat&&CKEDITOR.env.secure?function(b,c){if(b=="src"&&c.match(/^http:\/\//))try{a.apply(this,arguments)}catch(h){}else a.apply(this,arguments);return this}:a}(),setAttributes:function(a){for(var b in a)this.setAttribute(b,a[b]);return this},setValue:function(a){this.$.value=a;return this},removeAttribute:function(){var a=function(a){this.$.removeAttribute(a)}; +return CKEDITOR.env.ie&&(CKEDITOR.env.ie7Compat||CKEDITOR.env.ie6Compat)?function(a){a=="class"?a="className":a=="tabindex"?a="tabIndex":a=="contenteditable"&&(a="contentEditable");this.$.removeAttribute(a)}:a}(),removeAttributes:function(a){if(CKEDITOR.tools.isArray(a))for(var b=0;b=100?"":"progid:DXImageTransform.Microsoft.Alpha(opacity="+a+")")}else this.setStyle("opacity",a)},unselectable:function(){this.setStyles(CKEDITOR.tools.cssVendorPrefix("user-select","none"));if(CKEDITOR.env.ie||CKEDITOR.env.opera){this.setAttribute("unselectable","on");for(var a,b=this.getElementsByTag("*"),c=0,h=b.count();c0)j(0,b===true?f:b===false?d:f<0?f:d);if(c&&(g<0||h>0))j(g<0?g:h,0)},setState:function(a,b,c){b=b||"cke";switch(a){case CKEDITOR.TRISTATE_ON:this.addClass(b+"_on");this.removeClass(b+"_off");this.removeClass(b+"_disabled");c&&this.setAttribute("aria-pressed",true);c&&this.removeAttribute("aria-disabled");break;case CKEDITOR.TRISTATE_DISABLED:this.addClass(b+"_disabled");this.removeClass(b+"_off");this.removeClass(b+"_on");c&&this.setAttribute("aria-disabled",true);c&&this.removeAttribute("aria-pressed"); +break;default:this.addClass(b+"_off");this.removeClass(b+"_on");this.removeClass(b+"_disabled");c&&this.removeAttribute("aria-pressed");c&&this.removeAttribute("aria-disabled")}},getFrameDocument:function(){var a=this.$;try{a.contentWindow.document}catch(b){a.src=a.src}return a&&new CKEDITOR.dom.document(a.contentWindow.document)},copyAttributes:function(a,b){for(var c=this.$.attributes,b=b||{},h=0;h=0&&b0&&c;)c=a(c,b.shift());else c=a(c,b);return c?new CKEDITOR.dom.node(c):null}}(),getChildCount:function(){return this.$.childNodes.length},disableContextMenu:function(){this.on("contextmenu",function(a){a.data.getTarget().hasClass("cke_enable_context_menu")||a.data.preventDefault()})},getDirection:function(a){return a?this.getComputedStyle("direction")||this.getDirection()||this.getParent()&& +this.getParent().getDirection(1)||this.getDocument().$.dir||"ltr":this.getStyle("direction")||this.getAttribute("dir")},data:function(a,b){a="data-"+a;if(b===void 0)return this.getAttribute(a);b===false?this.removeAttribute(a):this.setAttribute(a,b);return null},getEditor:function(){var a=CKEDITOR.instances,b,c;for(b in a){c=a[b];if(c.element.equals(this)&&c.elementMode!=CKEDITOR.ELEMENT_MODE_APPENDTO)return c}return null}});var c={width:["border-left-width","border-right-width","padding-left","padding-right"], +height:["border-top-width","border-bottom-width","padding-top","padding-bottom"]};CKEDITOR.dom.element.prototype.setSize=function(a,e,c){if(typeof e=="number"){if(c&&(!CKEDITOR.env.ie||!CKEDITOR.env.quirks))e=e-b.call(this,a);this.setStyle(a,e+"px")}};CKEDITOR.dom.element.prototype.getSize=function(a,e){var c=Math.max(this.$["offset"+CKEDITOR.tools.capitalize(a)],this.$["client"+CKEDITOR.tools.capitalize(a)])||0;e&&(c=c-b.call(this,a));return c}}(),CKEDITOR.dom.documentFragment=function(b){b=b||CKEDITOR.document; +this.$=b.type==CKEDITOR.NODE_DOCUMENT?b.$.createDocumentFragment():b},CKEDITOR.tools.extend(CKEDITOR.dom.documentFragment.prototype,CKEDITOR.dom.element.prototype,{type:CKEDITOR.NODE_DOCUMENT_FRAGMENT,insertAfterNode:function(b){b=b.$;b.parentNode.insertBefore(this.$,b.nextSibling)}},!0,{append:1,appendBogus:1,getFirst:1,getLast:1,getParent:1,getNext:1,getPrevious:1,appendTo:1,moveChildren:1,insertBefore:1,insertAfterNode:1,replace:1,trim:1,type:1,ltrim:1,rtrim:1,getDocument:1,getChildCount:1,getChild:1, +getChildren:1}),function(){function b(a,b){var f=this.range;if(this._.end)return null;if(!this._.start){this._.start=1;if(f.collapsed){this.end();return null}f.optimize()}var e,h=f.startContainer;e=f.endContainer;var c=f.startOffset,i=f.endOffset,m,o=this.guard,r=this.type,s=a?"getPreviousSourceNode":"getNextSourceNode";if(!a&&!this._.guardLTR){var p=e.type==CKEDITOR.NODE_ELEMENT?e:e.getParent(),t=e.type==CKEDITOR.NODE_ELEMENT?e.getChild(i):e.getNext();this._.guardLTR=function(a,b){return(!b||!p.equals(a))&& +(!t||!a.equals(t))&&(a.type!=CKEDITOR.NODE_ELEMENT||!b||!a.equals(f.root))}}if(a&&!this._.guardRTL){var y=h.type==CKEDITOR.NODE_ELEMENT?h:h.getParent(),x=h.type==CKEDITOR.NODE_ELEMENT?c?h.getChild(c-1):null:h.getPrevious();this._.guardRTL=function(a,b){return(!b||!y.equals(a))&&(!x||!a.equals(x))&&(a.type!=CKEDITOR.NODE_ELEMENT||!b||!a.equals(f.root))}}var u=a?this._.guardRTL:this._.guardLTR;m=o?function(a,b){return u(a,b)===false?false:o(a,b)}:u;if(this.current)e=this.current[s](false,r,m);else{if(a)e.type== +CKEDITOR.NODE_ELEMENT&&(e=i>0?e.getChild(i-1):m(e,true)===false?null:e.getPreviousSourceNode(true,r,m));else{e=h;if(e.type==CKEDITOR.NODE_ELEMENT&&!(e=e.getChild(c)))e=m(h,true)===false?null:h.getNextSourceNode(true,r,m)}e&&m(e)===false&&(e=null)}for(;e&&!this._.end;){this.current=e;if(!this.evaluator||this.evaluator(e)!==false){if(!b)return e}else if(b&&this.evaluator)return false;e=e[s](false,r,m)}this.end();return this.current=null}function c(a){for(var e,f=null;e=b.call(this,a);)f=e;return f} +CKEDITOR.dom.walker=CKEDITOR.tools.createClass({$:function(a){this.range=a;this._={}},proto:{end:function(){this._.end=1},next:function(){return b.call(this)},previous:function(){return b.call(this,1)},checkForward:function(){return b.call(this,0,1)!==false},checkBackward:function(){return b.call(this,1,1)!==false},lastForward:function(){return c.call(this)},lastBackward:function(){return c.call(this,1)},reset:function(){delete this.current;this._={}}}});var a={block:1,"list-item":1,table:1,"table-row-group":1, +"table-header-group":1,"table-footer-group":1,"table-row":1,"table-column-group":1,"table-column":1,"table-cell":1,"table-caption":1};CKEDITOR.dom.element.prototype.isBlockBoundary=function(b){b=b?CKEDITOR.tools.extend({},CKEDITOR.dtd.$block,b||{}):CKEDITOR.dtd.$block;return this.getComputedStyle("float")=="none"&&a[this.getComputedStyle("display")]||b[this.getName()]};CKEDITOR.dom.walker.blockBoundary=function(a){return function(b){return!(b.type==CKEDITOR.NODE_ELEMENT&&b.isBlockBoundary(a))}};CKEDITOR.dom.walker.listItemBoundary= +function(){return this.blockBoundary({br:1})};CKEDITOR.dom.walker.bookmark=function(a,b){function f(a){return a&&a.getName&&a.getName()=="span"&&a.data("cke-bookmark")}return function(e){var h,c;h=e&&e.type!=CKEDITOR.NODE_ELEMENT&&(c=e.getParent())&&f(c);h=a?h:h||f(e);return!!(b^h)}};CKEDITOR.dom.walker.whitespaces=function(a){return function(b){var f;b&&b.type==CKEDITOR.NODE_TEXT&&(f=!CKEDITOR.tools.trim(b.getText())||CKEDITOR.env.webkit&&b.getText()=="​");return!!(a^f)}};CKEDITOR.dom.walker.invisible= +function(a){var b=CKEDITOR.dom.walker.whitespaces();return function(f){if(b(f))f=1;else{f.type==CKEDITOR.NODE_TEXT&&(f=f.getParent());f=!f.$.offsetHeight}return!!(a^f)}};CKEDITOR.dom.walker.nodeType=function(a,b){return function(f){return!!(b^f.type==a)}};CKEDITOR.dom.walker.bogus=function(a){function b(a){return!i(a)&&!h(a)}return function(f){var h=!CKEDITOR.env.ie?f.is&&f.is("br"):f.getText&&e.test(f.getText());if(h){h=f.getParent();f=f.getNext(b);h=h.isBlockBoundary()&&(!f||f.type==CKEDITOR.NODE_ELEMENT&& +f.isBlockBoundary())}return!!(a^h)}};var e=/^[\t\r\n ]*(?: |\xa0)$/,i=CKEDITOR.dom.walker.whitespaces(),h=CKEDITOR.dom.walker.bookmark();CKEDITOR.dom.element.prototype.getBogus=function(){var a=this;do a=a.getPreviousSourceNode();while(h(a)||i(a)||a.type==CKEDITOR.NODE_ELEMENT&&a.getName()in CKEDITOR.dtd.$inline&&!(a.getName()in CKEDITOR.dtd.$empty));return a&&(!CKEDITOR.env.ie?a.is&&a.is("br"):a.getText&&e.test(a.getText()))?a:false}}(),CKEDITOR.dom.range=function(b){this.endOffset=this.endContainer= +this.startOffset=this.startContainer=null;this.collapsed=true;var c=b instanceof CKEDITOR.dom.document;this.document=c?b:b.getDocument();this.root=c?b.getBody():b},function(){function b(){var a=false,b=CKEDITOR.dom.walker.whitespaces(),d=CKEDITOR.dom.walker.bookmark(true),f=CKEDITOR.dom.walker.bogus();return function(e){if(d(e)||b(e))return true;if(f(e)&&!a)return a=true;return e.type==CKEDITOR.NODE_TEXT&&(e.hasAscendant("pre")||CKEDITOR.tools.trim(e.getText()).length)||e.type==CKEDITOR.NODE_ELEMENT&& +!e.is(h)?false:true}}function c(a){var b=CKEDITOR.dom.walker.whitespaces(),f=CKEDITOR.dom.walker.bookmark(1);return function(e){return f(e)||b(e)?true:!a&&d(e)||e.type==CKEDITOR.NODE_ELEMENT&&e.is(CKEDITOR.dtd.$removeEmpty)}}function a(a){return!g(a)&&!f(a)}var e=function(a){a.collapsed=a.startContainer&&a.endContainer&&a.startContainer.equals(a.endContainer)&&a.startOffset==a.endOffset},i=function(a,b,d,f){a.optimizeBookmark();var e=a.startContainer,h=a.endContainer,g=a.startOffset,c=a.endOffset, +i,j;if(h.type==CKEDITOR.NODE_TEXT)h=h.split(c);else if(h.getChildCount()>0)if(c>=h.getChildCount()){h=h.append(a.document.createText(""));j=true}else h=h.getChild(c);if(e.type==CKEDITOR.NODE_TEXT){e.split(g);e.equals(h)&&(h=e.getNext())}else if(g)if(g>=e.getChildCount()){e=e.append(a.document.createText(""));i=true}else e=e.getChild(g).getPrevious();else{e=e.append(a.document.createText(""),1);i=true}var g=e.getParents(),c=h.getParents(),x,u,w;for(x=0;x0&&!v.equals(h)&&(B=q.append(v.clone()));if(!g[d]||v.$.parentNode!=g[d].$.parentNode)for(v=v.getPrevious();v;){if(v.equals(g[d])||v.equals(e))break;A=v.getPrevious();if(b==2)q.$.insertBefore(v.$.cloneNode(true),q.$.firstChild);else{v.remove(); +b==1&&q.$.insertBefore(v.$,q.$.firstChild)}v=A}q&&(q=B)}if(b==2){u=a.startContainer;if(u.type==CKEDITOR.NODE_TEXT){u.$.data=u.$.data+u.$.nextSibling.data;u.$.parentNode.removeChild(u.$.nextSibling)}a=a.endContainer;if(a.type==CKEDITOR.NODE_TEXT&&a.$.nextSibling){a.$.data=a.$.data+a.$.nextSibling.data;a.$.parentNode.removeChild(a.$.nextSibling)}}else{if(u&&w&&(e.$.parentNode!=u.$.parentNode||h.$.parentNode!=w.$.parentNode)){b=w.getIndex();i&&w.$.parentNode==e.$.parentNode&&b--;if(f&&u.type==CKEDITOR.NODE_ELEMENT){f= +CKEDITOR.dom.element.createFromHtml(' ',a.document);f.insertAfter(u);u.mergeSiblings(false);a.moveToBookmark({startNode:f})}else a.setStart(w.getParent(),b)}a.collapse(true)}i&&e.remove();j&&h.$.parentNode&&h.remove()},h={abbr:1,acronym:1,b:1,bdo:1,big:1,cite:1,code:1,del:1,dfn:1,em:1,font:1,i:1,ins:1,label:1,kbd:1,q:1,samp:1,small:1,span:1,strike:1,strong:1,sub:1,sup:1,tt:1,u:1,"var":1},d=CKEDITOR.dom.walker.bogus(),g=new CKEDITOR.dom.walker.whitespaces, +f=new CKEDITOR.dom.walker.bookmark,j=/^[\t\r\n ]*(?: |\xa0)$/;CKEDITOR.dom.range.prototype={clone:function(){var a=new CKEDITOR.dom.range(this.root);a.startContainer=this.startContainer;a.startOffset=this.startOffset;a.endContainer=this.endContainer;a.endOffset=this.endOffset;a.collapsed=this.collapsed;return a},collapse:function(a){if(a){this.endContainer=this.startContainer;this.endOffset=this.startOffset}else{this.startContainer=this.endContainer;this.startOffset=this.endOffset}this.collapsed= +true},cloneContents:function(){var a=new CKEDITOR.dom.documentFragment(this.document);this.collapsed||i(this,2,a);return a},deleteContents:function(a){this.collapsed||i(this,0,null,a)},extractContents:function(a){var b=new CKEDITOR.dom.documentFragment(this.document);this.collapsed||i(this,1,b,a);return b},createBookmark:function(a){var b,d,f,e,h=this.collapsed;b=this.document.createElement("span");b.data("cke-bookmark",1);b.setStyle("display","none");b.setHtml(" ");if(a){f="cke_bm_"+CKEDITOR.tools.getNextNumber(); +b.setAttribute("id",f+(h?"C":"S"))}if(!h){d=b.clone();d.setHtml(" ");a&&d.setAttribute("id",f+"E");e=this.clone();e.collapse();e.insertNode(d)}e=this.clone();e.collapse(true);e.insertNode(b);if(d){this.setStartAfter(b);this.setEndBefore(d)}else this.moveToPosition(b,CKEDITOR.POSITION_AFTER_END);return{startNode:a?f+(h?"C":"S"):b,endNode:a?f+"E":d,serializable:a,collapsed:h}},createBookmark2:function(a){var b=this.startContainer,d=this.endContainer,f=this.startOffset,e=this.endOffset,h=this.collapsed, +g,c;if(!b||!d)return{start:0,end:0};if(a){if(b.type==CKEDITOR.NODE_ELEMENT){if((g=b.getChild(f))&&g.type==CKEDITOR.NODE_TEXT&&f>0&&g.getPrevious().type==CKEDITOR.NODE_TEXT){b=g;f=0}g&&g.type==CKEDITOR.NODE_ELEMENT&&(f=g.getIndex(1))}for(;b.type==CKEDITOR.NODE_TEXT&&(c=b.getPrevious())&&c.type==CKEDITOR.NODE_TEXT;){b=c;f=f+c.getLength()}if(!h){if(d.type==CKEDITOR.NODE_ELEMENT){if((g=d.getChild(e))&&g.type==CKEDITOR.NODE_TEXT&&e>0&&g.getPrevious().type==CKEDITOR.NODE_TEXT){d=g;e=0}g&&g.type==CKEDITOR.NODE_ELEMENT&& +(e=g.getIndex(1))}for(;d.type==CKEDITOR.NODE_TEXT&&(c=d.getPrevious())&&c.type==CKEDITOR.NODE_TEXT;){d=c;e=e+c.getLength()}}}return{start:b.getAddress(a),end:h?null:d.getAddress(a),startOffset:f,endOffset:e,normalized:a,collapsed:h,is2:true}},moveToBookmark:function(a){if(a.is2){var b=this.document.getByAddress(a.start,a.normalized),d=a.startOffset,f=a.end&&this.document.getByAddress(a.end,a.normalized),a=a.endOffset;this.setStart(b,d);f?this.setEnd(f,a):this.collapse(true)}else{b=(d=a.serializable)? +this.document.getById(a.startNode):a.startNode;a=d?this.document.getById(a.endNode):a.endNode;this.setStartBefore(b);b.remove();if(a){this.setEndBefore(a);a.remove()}else this.collapse(true)}},getBoundaryNodes:function(){var a=this.startContainer,b=this.endContainer,d=this.startOffset,f=this.endOffset,e;if(a.type==CKEDITOR.NODE_ELEMENT){e=a.getChildCount();if(e>d)a=a.getChild(d);else if(e<1)a=a.getPreviousSourceNode();else{for(a=a.$;a.lastChild;)a=a.lastChild;a=new CKEDITOR.dom.node(a);a=a.getNextSourceNode()|| +a}}if(b.type==CKEDITOR.NODE_ELEMENT){e=b.getChildCount();if(e>f)b=b.getChild(f).getPreviousSourceNode(true);else if(e<1)b=b.getPreviousSourceNode();else{for(b=b.$;b.lastChild;)b=b.lastChild;b=new CKEDITOR.dom.node(b)}}a.getPosition(b)&CKEDITOR.POSITION_FOLLOWING&&(a=b);return{startNode:a,endNode:b}},getCommonAncestor:function(a,b){var d=this.startContainer,f=this.endContainer,d=d.equals(f)?a&&d.type==CKEDITOR.NODE_ELEMENT&&this.startOffset==this.endOffset-1?d.getChild(this.startOffset):d:d.getCommonAncestor(f); +return b&&!d.is?d.getParent():d},optimize:function(){var a=this.startContainer,b=this.startOffset;a.type!=CKEDITOR.NODE_ELEMENT&&(b?b>=a.getLength()&&this.setStartAfter(a):this.setStartBefore(a));a=this.endContainer;b=this.endOffset;a.type!=CKEDITOR.NODE_ELEMENT&&(b?b>=a.getLength()&&this.setEndAfter(a):this.setEndBefore(a))},optimizeBookmark:function(){var a=this.startContainer,b=this.endContainer;a.is&&(a.is("span")&&a.data("cke-bookmark"))&&this.setStartAt(a,CKEDITOR.POSITION_BEFORE_START);b&& +(b.is&&b.is("span")&&b.data("cke-bookmark"))&&this.setEndAt(b,CKEDITOR.POSITION_AFTER_END)},trim:function(a,b){var d=this.startContainer,f=this.startOffset,e=this.collapsed;if((!a||e)&&d&&d.type==CKEDITOR.NODE_TEXT){if(f)if(f>=d.getLength()){f=d.getIndex()+1;d=d.getParent()}else{var h=d.split(f),f=d.getIndex()+1,d=d.getParent();if(this.startContainer.equals(this.endContainer))this.setEnd(h,this.endOffset-this.startOffset);else if(d.equals(this.endContainer))this.endOffset=this.endOffset+1}else{f= +d.getIndex();d=d.getParent()}this.setStart(d,f);if(e){this.collapse(true);return}}d=this.endContainer;f=this.endOffset;if(!b&&!e&&d&&d.type==CKEDITOR.NODE_TEXT){if(f){f>=d.getLength()||d.split(f);f=d.getIndex()+1}else f=d.getIndex();d=d.getParent();this.setEnd(d,f)}},enlarge:function(a,b){switch(a){case CKEDITOR.ENLARGE_INLINE:var d=1;case CKEDITOR.ENLARGE_ELEMENT:if(this.collapsed)break;var f=this.getCommonAncestor(),e=this.root,h,g,c,i,j,x=false,u,w;u=this.startContainer;w=this.startOffset;if(u.type== +CKEDITOR.NODE_TEXT){if(w){u=!CKEDITOR.tools.trim(u.substring(0,w)).length&&u;x=!!u}if(u&&!(i=u.getPrevious()))c=u.getParent()}else{w&&(i=u.getChild(w-1)||u.getLast());i||(c=u)}for(;c||i;){if(c&&!i){!j&&c.equals(f)&&(j=true);if(d?c.isBlockBoundary():!e.contains(c))break;if(!x||c.getComputedStyle("display")!="inline"){x=false;j?h=c:this.setStartBefore(c)}i=c.getPrevious()}for(;i;){u=false;if(i.type==CKEDITOR.NODE_COMMENT)i=i.getPrevious();else{if(i.type==CKEDITOR.NODE_TEXT){w=i.getText();/[^\s\ufeff]/.test(w)&& +(i=null);u=/[\s\ufeff]$/.test(w)}else if((i.$.offsetWidth>0||b&&i.is("br"))&&!i.data("cke-bookmark"))if(x&&CKEDITOR.dtd.$removeEmpty[i.getName()]){w=i.getText();if(/[^\s\ufeff]/.test(w))i=null;else for(var q=i.$.getElementsByTagName("*"),v=0,B;B=q[v++];)if(!CKEDITOR.dtd.$removeEmpty[B.nodeName.toLowerCase()]){i=null;break}i&&(u=!!w.length)}else i=null;u&&(x?j?h=c:c&&this.setStartBefore(c):x=true);if(i){u=i.getPrevious();if(!c&&!u){c=i;i=null;break}i=u}else c=null}}c&&(c=c.getParent())}u=this.endContainer; +w=this.endOffset;c=i=null;j=x=false;if(u.type==CKEDITOR.NODE_TEXT){u=!CKEDITOR.tools.trim(u.substring(w)).length&&u;x=!(u&&u.getLength());if(u&&!(i=u.getNext()))c=u.getParent()}else(i=u.getChild(w))||(c=u);for(;c||i;){if(c&&!i){!j&&c.equals(f)&&(j=true);if(d?c.isBlockBoundary():!e.contains(c))break;if(!x||c.getComputedStyle("display")!="inline"){x=false;j?g=c:c&&this.setEndAfter(c)}i=c.getNext()}for(;i;){u=false;if(i.type==CKEDITOR.NODE_TEXT){w=i.getText();/[^\s\ufeff]/.test(w)&&(i=null);u=/^[\s\ufeff]/.test(w)}else if(i.type== +CKEDITOR.NODE_ELEMENT){if((i.$.offsetWidth>0||b&&i.is("br"))&&!i.data("cke-bookmark"))if(x&&CKEDITOR.dtd.$removeEmpty[i.getName()]){w=i.getText();if(/[^\s\ufeff]/.test(w))i=null;else{q=i.$.getElementsByTagName("*");for(v=0;B=q[v++];)if(!CKEDITOR.dtd.$removeEmpty[B.nodeName.toLowerCase()]){i=null;break}}i&&(u=!!w.length)}else i=null}else u=1;u&&x&&(j?g=c:this.setEndAfter(c));if(i){u=i.getNext();if(!c&&!u){c=i;i=null;break}i=u}else c=null}c&&(c=c.getParent())}if(h&&g){f=h.contains(g)?g:h;this.setStartBefore(f); +this.setEndAfter(f)}break;case CKEDITOR.ENLARGE_BLOCK_CONTENTS:case CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS:c=new CKEDITOR.dom.range(this.root);e=this.root;c.setStartAt(e,CKEDITOR.POSITION_AFTER_START);c.setEnd(this.startContainer,this.startOffset);c=new CKEDITOR.dom.walker(c);var A,z,C=CKEDITOR.dom.walker.blockBoundary(a==CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS?{br:1}:null),D=function(a){var b=C(a);b||(A=a);return b},d=function(a){var b=D(a);!b&&(a.is&&a.is("br"))&&(z=a);return b};c.guard=D;c=c.lastBackward(); +A=A||e;this.setStartAt(A,!A.is("br")&&(!c&&this.checkStartOfBlock()||c&&A.contains(c))?CKEDITOR.POSITION_AFTER_START:CKEDITOR.POSITION_AFTER_END);if(a==CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS){c=this.clone();c=new CKEDITOR.dom.walker(c);var F=CKEDITOR.dom.walker.whitespaces(),E=CKEDITOR.dom.walker.bookmark();c.evaluator=function(a){return!F(a)&&!E(a)};if((c=c.previous())&&c.type==CKEDITOR.NODE_ELEMENT&&c.is("br"))break}c=this.clone();c.collapse();c.setEndAt(e,CKEDITOR.POSITION_BEFORE_END);c=new CKEDITOR.dom.walker(c); +c.guard=a==CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS?d:D;A=null;c=c.lastForward();A=A||e;this.setEndAt(A,!c&&this.checkEndOfBlock()||c&&A.contains(c)?CKEDITOR.POSITION_BEFORE_END:CKEDITOR.POSITION_BEFORE_START);z&&this.setEndAfter(z)}},shrink:function(a,b,d){if(!this.collapsed){var a=a||CKEDITOR.SHRINK_TEXT,f=this.clone(),e=this.startContainer,c=this.endContainer,h=this.startOffset,g=this.endOffset,i=1,j=1;if(e&&e.type==CKEDITOR.NODE_TEXT)if(h)if(h>=e.getLength())f.setStartAfter(e);else{f.setStartBefore(e); +i=0}else f.setStartBefore(e);if(c&&c.type==CKEDITOR.NODE_TEXT)if(g)if(g>=c.getLength())f.setEndAfter(c);else{f.setEndAfter(c);j=0}else f.setEndBefore(c);var f=new CKEDITOR.dom.walker(f),x=CKEDITOR.dom.walker.bookmark();f.evaluator=function(b){return b.type==(a==CKEDITOR.SHRINK_ELEMENT?CKEDITOR.NODE_ELEMENT:CKEDITOR.NODE_TEXT)};var u;f.guard=function(b,f){if(x(b))return true;if(a==CKEDITOR.SHRINK_ELEMENT&&b.type==CKEDITOR.NODE_TEXT||f&&b.equals(u)||d===false&&b.type==CKEDITOR.NODE_ELEMENT&&b.isBlockBoundary())return false; +!f&&b.type==CKEDITOR.NODE_ELEMENT&&(u=b);return true};if(i)(e=f[a==CKEDITOR.SHRINK_ELEMENT?"lastForward":"next"]())&&this.setStartAt(e,b?CKEDITOR.POSITION_AFTER_START:CKEDITOR.POSITION_BEFORE_START);if(j){f.reset();(f=f[a==CKEDITOR.SHRINK_ELEMENT?"lastBackward":"previous"]())&&this.setEndAt(f,b?CKEDITOR.POSITION_BEFORE_END:CKEDITOR.POSITION_AFTER_END)}return!(!i&&!j)}},insertNode:function(a){this.optimizeBookmark();this.trim(false,true);var b=this.startContainer,d=b.getChild(this.startOffset);d?a.insertBefore(d): +b.append(a);a.getParent()&&a.getParent().equals(this.endContainer)&&this.endOffset++;this.setStartBefore(a)},moveToPosition:function(a,b){this.setStartAt(a,b);this.collapse(true)},moveToRange:function(a){this.setStart(a.startContainer,a.startOffset);this.setEnd(a.endContainer,a.endOffset)},selectNodeContents:function(a){this.setStart(a,0);this.setEnd(a,a.type==CKEDITOR.NODE_TEXT?a.getLength():a.getChildCount())},setStart:function(a,b){if(a.type==CKEDITOR.NODE_ELEMENT&&CKEDITOR.dtd.$empty[a.getName()]){b= +a.getIndex();a=a.getParent()}this.startContainer=a;this.startOffset=b;if(!this.endContainer){this.endContainer=a;this.endOffset=b}e(this)},setEnd:function(a,b){if(a.type==CKEDITOR.NODE_ELEMENT&&CKEDITOR.dtd.$empty[a.getName()]){b=a.getIndex()+1;a=a.getParent()}this.endContainer=a;this.endOffset=b;if(!this.startContainer){this.startContainer=a;this.startOffset=b}e(this)},setStartAfter:function(a){this.setStart(a.getParent(),a.getIndex()+1)},setStartBefore:function(a){this.setStart(a.getParent(),a.getIndex())}, +setEndAfter:function(a){this.setEnd(a.getParent(),a.getIndex()+1)},setEndBefore:function(a){this.setEnd(a.getParent(),a.getIndex())},setStartAt:function(a,b){switch(b){case CKEDITOR.POSITION_AFTER_START:this.setStart(a,0);break;case CKEDITOR.POSITION_BEFORE_END:a.type==CKEDITOR.NODE_TEXT?this.setStart(a,a.getLength()):this.setStart(a,a.getChildCount());break;case CKEDITOR.POSITION_BEFORE_START:this.setStartBefore(a);break;case CKEDITOR.POSITION_AFTER_END:this.setStartAfter(a)}e(this)},setEndAt:function(a, +b){switch(b){case CKEDITOR.POSITION_AFTER_START:this.setEnd(a,0);break;case CKEDITOR.POSITION_BEFORE_END:a.type==CKEDITOR.NODE_TEXT?this.setEnd(a,a.getLength()):this.setEnd(a,a.getChildCount());break;case CKEDITOR.POSITION_BEFORE_START:this.setEndBefore(a);break;case CKEDITOR.POSITION_AFTER_END:this.setEndAfter(a)}e(this)},fixBlock:function(a,b){var d=this.createBookmark(),f=this.document.createElement(b);this.collapse(a);this.enlarge(CKEDITOR.ENLARGE_BLOCK_CONTENTS);this.extractContents().appendTo(f); +f.trim();CKEDITOR.env.ie||f.appendBogus();this.insertNode(f);this.moveToBookmark(d);return f},splitBlock:function(a){var b=new CKEDITOR.dom.elementPath(this.startContainer,this.root),d=new CKEDITOR.dom.elementPath(this.endContainer,this.root),f=b.block,e=d.block,c=null;if(!b.blockLimit.equals(d.blockLimit))return null;if(a!="br"){if(!f){f=this.fixBlock(true,a);e=(new CKEDITOR.dom.elementPath(this.endContainer,this.root)).block}e||(e=this.fixBlock(false,a))}a=f&&this.checkStartOfBlock();b=e&&this.checkEndOfBlock(); +this.deleteContents();if(f&&f.equals(e))if(b){c=new CKEDITOR.dom.elementPath(this.startContainer,this.root);this.moveToPosition(e,CKEDITOR.POSITION_AFTER_END);e=null}else if(a){c=new CKEDITOR.dom.elementPath(this.startContainer,this.root);this.moveToPosition(f,CKEDITOR.POSITION_BEFORE_START);f=null}else{e=this.splitElement(f);!CKEDITOR.env.ie&&!f.is("ul","ol")&&f.appendBogus()}return{previousBlock:f,nextBlock:e,wasStartOfBlock:a,wasEndOfBlock:b,elementPath:c}},splitElement:function(a){if(!this.collapsed)return null; +this.setEndAt(a,CKEDITOR.POSITION_BEFORE_END);var b=this.extractContents(),d=a.clone(false);b.appendTo(d);d.insertAfter(a);this.moveToPosition(a,CKEDITOR.POSITION_AFTER_END);return d},removeEmptyBlocksAtEnd:function(){function a(f){return function(a){return b(a)||(d(a)||a.type==CKEDITOR.NODE_ELEMENT&&a.isEmptyInlineRemoveable())||f.is("table")&&a.is("caption")?false:true}}var b=CKEDITOR.dom.walker.whitespaces(),d=CKEDITOR.dom.walker.bookmark(false);return function(b){for(var d=this.createBookmark(), +f=this[b?"endPath":"startPath"](),e=f.block||f.blockLimit,c;e&&!e.equals(f.root)&&!e.getFirst(a(e));){c=e.getParent();this[b?"setEndAt":"setStartAt"](e,CKEDITOR.POSITION_AFTER_END);e.remove(1);e=c}this.moveToBookmark(d)}}(),startPath:function(){return new CKEDITOR.dom.elementPath(this.startContainer,this.root)},endPath:function(){return new CKEDITOR.dom.elementPath(this.endContainer,this.root)},checkBoundaryOfElement:function(a,b){var d=b==CKEDITOR.START,f=this.clone();f.collapse(d);f[d?"setStartAt": +"setEndAt"](a,d?CKEDITOR.POSITION_AFTER_START:CKEDITOR.POSITION_BEFORE_END);f=new CKEDITOR.dom.walker(f);f.evaluator=c(d);return f[d?"checkBackward":"checkForward"]()},checkStartOfBlock:function(){var a=this.startContainer,d=this.startOffset;if(CKEDITOR.env.ie&&d&&a.type==CKEDITOR.NODE_TEXT){a=CKEDITOR.tools.ltrim(a.substring(0,d));j.test(a)&&this.trim(0,1)}this.trim();a=new CKEDITOR.dom.elementPath(this.startContainer,this.root);d=this.clone();d.collapse(true);d.setStartAt(a.block||a.blockLimit, +CKEDITOR.POSITION_AFTER_START);a=new CKEDITOR.dom.walker(d);a.evaluator=b();return a.checkBackward()},checkEndOfBlock:function(){var a=this.endContainer,d=this.endOffset;if(CKEDITOR.env.ie&&a.type==CKEDITOR.NODE_TEXT){a=CKEDITOR.tools.rtrim(a.substring(d));j.test(a)&&this.trim(1,0)}this.trim();a=new CKEDITOR.dom.elementPath(this.endContainer,this.root);d=this.clone();d.collapse(false);d.setEndAt(a.block||a.blockLimit,CKEDITOR.POSITION_BEFORE_END);a=new CKEDITOR.dom.walker(d);a.evaluator=b();return a.checkForward()}, +getPreviousNode:function(a,b,d){var f=this.clone();f.collapse(1);f.setStartAt(d||this.root,CKEDITOR.POSITION_AFTER_START);d=new CKEDITOR.dom.walker(f);d.evaluator=a;d.guard=b;return d.previous()},getNextNode:function(a,b,d){var f=this.clone();f.collapse();f.setEndAt(d||this.root,CKEDITOR.POSITION_BEFORE_END);d=new CKEDITOR.dom.walker(f);d.evaluator=a;d.guard=b;return d.next()},checkReadOnly:function(){function a(b,d){for(;b;){if(b.type==CKEDITOR.NODE_ELEMENT){if(b.getAttribute("contentEditable")== +"false"&&!b.data("cke-editable"))return 0;if(b.is("html")||b.getAttribute("contentEditable")=="true"&&(b.contains(d)||b.equals(d)))break}b=b.getParent()}return 1}return function(){var b=this.startContainer,d=this.endContainer;return!(a(b,d)&&a(d,b))}}(),moveToElementEditablePosition:function(b,d){if(b.type==CKEDITOR.NODE_ELEMENT&&!b.isEditable(false)){this.moveToPosition(b,d?CKEDITOR.POSITION_AFTER_END:CKEDITOR.POSITION_BEFORE_START);return true}for(var f=0;b;){if(b.type==CKEDITOR.NODE_TEXT){d&&this.checkEndOfBlock()&& +j.test(b.getText())?this.moveToPosition(b,CKEDITOR.POSITION_BEFORE_START):this.moveToPosition(b,d?CKEDITOR.POSITION_AFTER_END:CKEDITOR.POSITION_BEFORE_START);f=1;break}if(b.type==CKEDITOR.NODE_ELEMENT)if(b.isEditable()){this.moveToPosition(b,d?CKEDITOR.POSITION_BEFORE_END:CKEDITOR.POSITION_AFTER_START);f=1}else d&&(b.is("br")&&this.checkEndOfBlock())&&this.moveToPosition(b,CKEDITOR.POSITION_BEFORE_START);var e=b,c=f,h=void 0;e.type==CKEDITOR.NODE_ELEMENT&&e.isEditable(false)&&(h=e[d?"getLast":"getFirst"](a)); +!c&&!h&&(h=e[d?"getPrevious":"getNext"](a));b=h}return!!f},moveToElementEditStart:function(a){return this.moveToElementEditablePosition(a)},moveToElementEditEnd:function(a){return this.moveToElementEditablePosition(a,true)},getEnclosedNode:function(){var a=this.clone();a.optimize();if(a.startContainer.type!=CKEDITOR.NODE_ELEMENT||a.endContainer.type!=CKEDITOR.NODE_ELEMENT)return null;var a=new CKEDITOR.dom.walker(a),b=CKEDITOR.dom.walker.bookmark(false,true),d=CKEDITOR.dom.walker.whitespaces(true); +a.evaluator=function(a){return d(a)&&b(a)};var f=a.next();a.reset();return f&&f.equals(a.previous())?f:null},getTouchedStartNode:function(){var a=this.startContainer;return this.collapsed||a.type!=CKEDITOR.NODE_ELEMENT?a:a.getChild(this.startOffset)||a},getTouchedEndNode:function(){var a=this.endContainer;return this.collapsed||a.type!=CKEDITOR.NODE_ELEMENT?a:a.getChild(this.endOffset-1)||a},scrollIntoView:function(){var a=new CKEDITOR.dom.element.createFromHtml(" ",this.document), +b,d,f,e=this.clone();e.optimize();if(f=e.startContainer.type==CKEDITOR.NODE_TEXT){d=e.startContainer.getText();b=e.startContainer.split(e.startOffset);a.insertAfter(e.startContainer)}else e.insertNode(a);a.scrollIntoView();if(f){e.startContainer.setText(d);b.remove()}a.remove()}}}(),CKEDITOR.POSITION_AFTER_START=1,CKEDITOR.POSITION_BEFORE_END=2,CKEDITOR.POSITION_BEFORE_START=3,CKEDITOR.POSITION_AFTER_END=4,CKEDITOR.ENLARGE_ELEMENT=1,CKEDITOR.ENLARGE_BLOCK_CONTENTS=2,CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS= +3,CKEDITOR.ENLARGE_INLINE=4,CKEDITOR.START=1,CKEDITOR.END=2,CKEDITOR.SHRINK_ELEMENT=1,CKEDITOR.SHRINK_TEXT=2,function(){function b(a){if(!(arguments.length<1)){this.range=a;this.forceBrBreak=0;this.enlargeBr=1;this.enforceRealBlocks=0;this._||(this._={})}}function c(a,b,f){for(a=a.getNextSourceNode(b,null,f);!e(a);)a=a.getNextSourceNode(b,null,f);return a}var a=/^[\r\n\t ]+$/,e=CKEDITOR.dom.walker.bookmark(false,true),i=CKEDITOR.dom.walker.whitespaces(true),h=function(a){return e(a)&&i(a)};b.prototype= +{getNextParagraph:function(b){b=b||"p";if(!CKEDITOR.dtd[this.range.root.getName()][b])return null;var g,f,i,l,k,n;if(!this._.started){f=this.range.clone();f.shrink(CKEDITOR.NODE_ELEMENT,true);l=f.endContainer.hasAscendant("pre",true)||f.startContainer.hasAscendant("pre",true);f.enlarge(this.forceBrBreak&&!l||!this.enlargeBr?CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS:CKEDITOR.ENLARGE_BLOCK_CONTENTS);if(!f.collapsed){l=new CKEDITOR.dom.walker(f.clone());var m=CKEDITOR.dom.walker.bookmark(true,true);l.evaluator= +m;this._.nextNode=l.next();l=new CKEDITOR.dom.walker(f.clone());l.evaluator=m;l=l.previous();this._.lastNode=l.getNextSourceNode(true);if(this._.lastNode&&this._.lastNode.type==CKEDITOR.NODE_TEXT&&!CKEDITOR.tools.trim(this._.lastNode.getText())&&this._.lastNode.getParent().isBlockBoundary()){m=this.range.clone();m.moveToPosition(this._.lastNode,CKEDITOR.POSITION_AFTER_END);if(m.checkEndOfBlock()){m=new CKEDITOR.dom.elementPath(m.endContainer,m.root);this._.lastNode=(m.block||m.blockLimit).getNextSourceNode(true)}}if(!this._.lastNode){this._.lastNode= +this._.docEndMarker=f.document.createText("");this._.lastNode.insertAfter(l)}f=null}this._.started=1}m=this._.nextNode;l=this._.lastNode;for(this._.nextNode=null;m;){var o=0,r=m.hasAscendant("pre"),s=m.type!=CKEDITOR.NODE_ELEMENT,p=0;if(s)m.type==CKEDITOR.NODE_TEXT&&a.test(m.getText())&&(s=0);else{var t=m.getName();if(m.isBlockBoundary(this.forceBrBreak&&!r&&{br:1})){if(t=="br")s=1;else if(!f&&!m.getChildCount()&&t!="hr"){g=m;i=m.equals(l);break}if(f){f.setEndAt(m,CKEDITOR.POSITION_BEFORE_START); +if(t!="br")this._.nextNode=m}o=1}else{if(m.getFirst()){if(!f){f=this.range.clone();f.setStartAt(m,CKEDITOR.POSITION_BEFORE_START)}m=m.getFirst();continue}s=1}}if(s&&!f){f=this.range.clone();f.setStartAt(m,CKEDITOR.POSITION_BEFORE_START)}i=(!o||s)&&m.equals(l);if(f&&!o)for(;!m.getNext(h)&&!i;){t=m.getParent();if(t.isBlockBoundary(this.forceBrBreak&&!r&&{br:1})){o=1;s=0;i||t.equals(l);f.setEndAt(t,CKEDITOR.POSITION_BEFORE_END);break}m=t;s=1;i=m.equals(l);p=1}s&&f.setEndAt(m,CKEDITOR.POSITION_AFTER_END); +m=c(m,p,l);if((i=!m)||o&&f)break}if(!g){if(!f){this._.docEndMarker&&this._.docEndMarker.remove();return this._.nextNode=null}g=new CKEDITOR.dom.elementPath(f.startContainer,f.root);m=g.blockLimit;o={div:1,th:1,td:1};g=g.block;if(!g&&m&&!this.enforceRealBlocks&&o[m.getName()]&&f.checkStartOfBlock()&&f.checkEndOfBlock()&&!m.equals(f.root))g=m;else if(!g||this.enforceRealBlocks&&g.getName()=="li"){g=this.range.document.createElement(b);f.extractContents().appendTo(g);g.trim();f.insertNode(g);k=n=true}else if(g.getName()!= +"li"){if(!f.checkStartOfBlock()||!f.checkEndOfBlock()){g=g.clone(false);f.extractContents().appendTo(g);g.trim();n=f.splitBlock();k=!n.wasStartOfBlock;n=!n.wasEndOfBlock;f.insertNode(g)}}else if(!i)this._.nextNode=g.equals(l)?null:c(f.getBoundaryNodes().endNode,1,l)}if(k)(f=g.getPrevious())&&f.type==CKEDITOR.NODE_ELEMENT&&(f.getName()=="br"?f.remove():f.getLast()&&f.getLast().$.nodeName.toLowerCase()=="br"&&f.getLast().remove());if(n)(f=g.getLast())&&f.type==CKEDITOR.NODE_ELEMENT&&f.getName()=="br"&& +(CKEDITOR.env.ie||f.getPrevious(e)||f.getNext(e))&&f.remove();if(!this._.nextNode)this._.nextNode=i||g.equals(l)||!l?null:c(g,1,l);return g}};CKEDITOR.dom.range.prototype.createIterator=function(){return new b(this)}}(),CKEDITOR.command=function(b,c){this.uiItems=[];this.exec=function(a){if(this.state==CKEDITOR.TRISTATE_DISABLED||!this.checkAllowed())return false;this.editorFocus&&b.focus();return this.fire("exec")===false?true:c.exec.call(this,b,a)!==false};this.refresh=function(a,b){if(!this.readOnly&& +a.readOnly)return true;if(this.context&&!b.isContextFor(this.context)){this.disable();return true}this.enable();return this.fire("refresh",{editor:a,path:b})===false?true:c.refresh&&c.refresh.apply(this,arguments)!==false};var a;this.checkAllowed=function(){return typeof a=="boolean"?a:a=b.filter.checkFeature(this)};CKEDITOR.tools.extend(this,c,{modes:{wysiwyg:1},editorFocus:1,contextSensitive:!!c.context,state:CKEDITOR.TRISTATE_DISABLED});CKEDITOR.event.call(this)},CKEDITOR.command.prototype={enable:function(){this.state== +CKEDITOR.TRISTATE_DISABLED&&this.checkAllowed()&&this.setState(!this.preserveState||typeof this.previousState=="undefined"?CKEDITOR.TRISTATE_OFF:this.previousState)},disable:function(){this.setState(CKEDITOR.TRISTATE_DISABLED)},setState:function(b){if(this.state==b||!this.checkAllowed())return false;this.previousState=this.state;this.state=b;this.fire("state");return true},toggleState:function(){this.state==CKEDITOR.TRISTATE_OFF?this.setState(CKEDITOR.TRISTATE_ON):this.state==CKEDITOR.TRISTATE_ON&& +this.setState(CKEDITOR.TRISTATE_OFF)}},CKEDITOR.event.implementOn(CKEDITOR.command.prototype),CKEDITOR.ENTER_P=1,CKEDITOR.ENTER_BR=2,CKEDITOR.ENTER_DIV=3,CKEDITOR.config={customConfig:"config.js",autoUpdateElement:!0,language:"",defaultLanguage:"en",contentsLangDirection:"",enterMode:CKEDITOR.ENTER_P,forceEnterMode:!1,shiftEnterMode:CKEDITOR.ENTER_BR,docType:"",bodyId:"",bodyClass:"",fullPage:!1,height:200,extraPlugins:"",removePlugins:"",protectedSource:[],tabIndex:0,width:"",baseFloatZIndex:1E4, +blockedKeystrokes:[CKEDITOR.CTRL+66,CKEDITOR.CTRL+73,CKEDITOR.CTRL+85]},function(){function b(a,b,d,f,h){var g=b.name;if((f||!a.elements||a.elements(g))&&(!a.match||a.match(b))){if(f=!h){a:if(f=a.required){var i;if(g=f.classes){i=b.classes;for(h=0;h-1};case "regexp":return function(b){return a.test(b)};case "array":return function(b){return CKEDITOR.tools.indexOf(a,b)>-1};case "object":return function(b){return b in a}}return false}function n(){return new CKEDITOR.htmlParser.element("br")}function m(a){return a.type== +CKEDITOR.NODE_ELEMENT&&(a.name=="br"||x.$block[a.name])}function o(a,b,d){var f=a.name;if(x.$empty[f]||!a.children.length)if(f=="hr"&&b=="br")a.replaceWith(n());else{a.parent&&d.push({check:"it",el:a.parent});a.remove()}else if(x.$block[f]||f=="tr")if(b=="br"){if(a.previous&&!m(a.previous)){b=n();b.insertBefore(a)}if(a.next&&!m(a.next)){b=n();b.insertAfter(a)}a.replaceWithChildren()}else{var f=a.children,e;b:{e=x[b];for(var c=0,h=f.length,g;c0;){g=f[--h];if(c&&(g.type==CKEDITOR.NODE_TEXT||g.type==CKEDITOR.NODE_ELEMENT&&x.$inline[g.name])){if(!i){i=new CKEDITOR.htmlParser.element(b);i.insertAfter(a);d.push({check:"parent-down",el:i})}i.add(g,0)}else{i=null;g.insertAfter(a);e.type!=CKEDITOR.NODE_DOCUMENT_FRAGMENT&&(g.type==CKEDITOR.NODE_ELEMENT&&!x[e.name][g.name])&& +d.push({check:"el-up",el:g})}}a.remove()}}else if(f=="style")a.remove();else{a.parent&&d.push({check:"it",el:a.parent});a.replaceWithChildren()}}function r(a,b,d){var f,e;for(f=0;f";if(h in this._.cachedChecks)return this._.cachedChecks[h];c=d(b).$1;var g=c.styles,o=c.classes;c.name=c.elements;c.classes=o=o?o.split(/\s*,\s*/):[];c.styles=i(g);c.attributes=i(c.attributes);c.children=[];o.length&&(c.attributes["class"]=o.join(" "));if(g)c.attributes.style=CKEDITOR.tools.writeCssText(c.styles)}else{c=b.getDefinition(); +g=c.styles;o=c.attributes||{};if(g){g=u(g);o.style=CKEDITOR.tools.writeCssText(g,true)}else g={};c={name:c.element,attributes:o,classes:o["class"]?o["class"].split(/\s+/):[],styles:g,children:[]}}var g=CKEDITOR.tools.clone(c),o=[],k,m;if(f!==false&&(k=this._.transformations[c.name])){for(m=0;m0?false:CKEDITOR.tools.objectCompare(c.attributes,g.attributes,true)?true:false;typeof b== +"string"&&(this._.cachedChecks[h]=f);return f}};var v={elements:1,styles:1,attributes:1,classes:1},B={styles:"requiredStyles",attributes:"requiredAttributes",classes:"requiredClasses"},A=/^([a-z0-9*\s]+)((?:\s*\{[!\w\-,\s\*]+\}\s*|\s*\[[!\w\-,\s\*]+\]\s*|\s*\([!\w\-,\s\*]+\)\s*){0,3})(?:;\s*|$)/i,z={styles:/{([^}]+)}/,attrs:/\[([^\]]+)\]/,classes:/\(([^\)]+)\)/},C=CKEDITOR.filter.transformationsTools={sizeToStyle:function(a){this.lengthToStyle(a,"width");this.lengthToStyle(a,"height")},sizeToAttribute:function(a){this.lengthToAttribute(a, +"width");this.lengthToAttribute(a,"height")},lengthToStyle:function(a,b,d){d=d||b;if(!(d in a.styles)){var f=a.attributes[b];if(f){/^\d+$/.test(f)&&(f=f+"px");a.styles[d]=f}}delete a.attributes[b]},lengthToAttribute:function(a,b,d){d=d||b;if(!(d in a.attributes)){var f=a.styles[b],e=f&&f.match(/^(\d+)(?:\.\d*)?px$/);e?a.attributes[d]=e[1]:f==q&&(a.attributes[d]=q)}delete a.styles[b]},matchesStyle:s,transform:function(a,b){if(typeof b=="string")a.name=b;else{var d=b.getDefinition(),f=d.styles,e=d.attributes, +c,h,g,i;a.name=d.element;for(c in e)if(c=="class"){d=a.classes.join("|");for(g=e[c].split(/\s+/);i=g.pop();)d.indexOf(i)==-1&&a.classes.push(i)}else a.attributes[c]=e[c];for(h in f)a.styles[h]=f[h]}}}}(),function(){CKEDITOR.focusManager=function(b){if(b.focusManager)return b.focusManager;this.hasFocus=false;this.currentActive=null;this._={editor:b};return this};CKEDITOR.focusManager._={blurDelay:200};CKEDITOR.focusManager.prototype={focus:function(){this._.timer&&clearTimeout(this._.timer);if(!this.hasFocus&& +!this._.locked){var b=CKEDITOR.currentInstance;b&&b.focusManager.blur(1);this.hasFocus=true;(b=this._.editor.container)&&b.addClass("cke_focus");this._.editor.fire("focus")}},lock:function(){this._.locked=1},unlock:function(){delete this._.locked},blur:function(b){function c(){if(this.hasFocus){this.hasFocus=false;var a=this._.editor.container;a&&a.removeClass("cke_focus");this._.editor.fire("blur")}}if(!this._.locked){this._.timer&&clearTimeout(this._.timer);var a=CKEDITOR.focusManager._.blurDelay; +b||!a?c.call(this):this._.timer=CKEDITOR.tools.setTimeout(function(){delete this._.timer;c.call(this)},a,this)}},add:function(b,c){var a=b.getCustomData("focusmanager");if(!a||a!=this){a&&a.remove(b);var a="focus",e="blur";if(c)if(CKEDITOR.env.ie){a="focusin";e="focusout"}else CKEDITOR.event.useCapture=1;var i={blur:function(){b.equals(this.currentActive)&&this.blur()},focus:function(){this.currentActive=b;this.focus()}};b.on(a,i.focus,this);b.on(e,i.blur,this);if(c)CKEDITOR.event.useCapture=0;b.setCustomData("focusmanager", +this);b.setCustomData("focusmanager_handlers",i)}},remove:function(b){b.removeCustomData("focusmanager");var c=b.removeCustomData("focusmanager_handlers");b.removeListener("blur",c.blur);b.removeListener("focus",c.focus)}}}(),CKEDITOR.keystrokeHandler=function(b){if(b.keystrokeHandler)return b.keystrokeHandler;this.keystrokes={};this.blockedKeystrokes={};this._={editor:b};return this},function(){var b,c=function(a){var a=a.data,c=a.getKeystroke(),h=this.keystrokes[c],d=this._.editor;b=d.fire("key", +{keyCode:c})===false;if(!b){h&&(b=d.execCommand(h,{from:"keystrokeHandler"})!==false);b||(b=!!this.blockedKeystrokes[c])}b&&a.preventDefault(true);return!b},a=function(a){if(b){b=false;a.data.preventDefault(true)}};CKEDITOR.keystrokeHandler.prototype={attach:function(b){b.on("keydown",c,this);if(CKEDITOR.env.opera||CKEDITOR.env.gecko&&CKEDITOR.env.mac)b.on("keypress",a,this)}}}(),function(){CKEDITOR.lang={languages:{af:1,ar:1,bg:1,bn:1,bs:1,ca:1,cs:1,cy:1,da:1,de:1,el:1,"en-au":1,"en-ca":1,"en-gb":1, +en:1,eo:1,es:1,et:1,eu:1,fa:1,fi:1,fo:1,"fr-ca":1,fr:1,gl:1,gu:1,he:1,hi:1,hr:1,hu:1,is:1,it:1,ja:1,ka:1,km:1,ko:1,ku:1,lt:1,lv:1,mn:1,ms:1,nb:1,nl:1,no:1,pl:1,"pt-br":1,pt:1,ro:1,ru:1,sk:1,sl:1,"sr-latn":1,sr:1,sv:1,th:1,tr:1,uk:1,vi:1,"zh-cn":1,zh:1},load:function(b,c,a){if(!b||!CKEDITOR.lang.languages[b])b=this.detect(c,b);this[b]?a(b,this[b]):CKEDITOR.scriptLoader.load(CKEDITOR.getUrl("lang/"+b+".js"),function(){a(b,this[b])},this)},detect:function(b,c){var a=this.languages,c=c||navigator.userLanguage|| +navigator.language||b,e=c.toLowerCase().match(/([a-z]+)(?:-([a-z]+))?/),i=e[1],e=e[2];a[i+"-"+e]?i=i+"-"+e:a[i]||(i=null);CKEDITOR.lang.detect=i?function(){return i}:function(a){return a};return i||b}}}(),CKEDITOR.scriptLoader=function(){var b={},c={};return{load:function(a,e,i,h){var d=typeof a=="string";d&&(a=[a]);i||(i=CKEDITOR);var g=a.length,f=[],j=[],l=function(a){e&&(d?e.call(i,a):e.call(i,f,j))};if(g===0)l(true);else{var k=function(a,b){(b?f:j).push(a);if(--g<=0){h&&CKEDITOR.document.getDocumentElement().removeStyle("cursor"); +l(b)}},n=function(a,d){b[a]=1;var f=c[a];delete c[a];for(var e=0;e1)){var f=new CKEDITOR.dom.element("script");f.setAttributes({type:"text/javascript",src:a});if(e)if(CKEDITOR.env.ie)f.$.onreadystatechange=function(){if(f.$.readyState=="loaded"||f.$.readyState=="complete"){f.$.onreadystatechange=null;n(a,true)}};else{f.$.onload=function(){setTimeout(function(){n(a,true)},0)};f.$.onerror=function(){n(a, +false)}}f.appendTo(CKEDITOR.document.getHead())}}};h&&CKEDITOR.document.getDocumentElement().setStyle("cursor","wait");for(var o=0;o=0)j=a.langCode;else{j=a.langCode.replace(/-.*/,"");j=j!=a.langCode&&CKEDITOR.tools.indexOf(k, +j)>=0?j:CKEDITOR.tools.indexOf(k,"en")>=0?"en":k[0]}if(!i.langEntries||!i.langEntries[j])c.push(CKEDITOR.getUrl(i.path+"lang/"+j+".js"));else{a.lang[g]=i.langEntries[j];j=null}}e.push(j);f.push(i)}CKEDITOR.scriptLoader.load(c,function(){for(var d=["beforeInit","init","afterInit"],c=0;c]+)>)|(?:!--([\\S|\\s]*?)--\>)|(?:([^\\s>]+)\\s*((?:(?:\"[^\"]*\")|(?:'[^']*')|[^\"'>])*)\\/?>))","g")}},function(){var b=/([\w\-:.]+)(?:(?:\s*=\s*(?:(?:"([^"]*)")|(?:'([^']*)')|([^\s>]+)))|(?=\s|$))/g,c={checked:1,compact:1,declare:1,defer:1,disabled:1,ismap:1,multiple:1,nohref:1,noresize:1,noshade:1, +nowrap:1,readonly:1,selected:1};CKEDITOR.htmlParser.prototype={onTagOpen:function(){},onTagClose:function(){},onText:function(){},onCDATA:function(){},onComment:function(){},parse:function(a){for(var e,i,h=0,d;e=this._.htmlPartsRegex.exec(a);){i=e.index;if(i>h){h=a.substring(h,i);if(d)d.push(h);else this.onText(h)}h=this._.htmlPartsRegex.lastIndex;if(i=e[1]){i=i.toLowerCase();if(d&&CKEDITOR.dtd.$cdata[i]){this.onCDATA(d.join(""));d=null}if(!d){this.onTagClose(i);continue}}if(d)d.push(e[0]);else if(i= +e[3]){i=i.toLowerCase();if(!/="/.test(i)){var g={},f;e=e[4];var j=!!(e&&e.charAt(e.length-1)=="/");if(e)for(;f=b.exec(e);){var l=f[1].toLowerCase();f=f[2]||f[3]||f[4]||"";g[l]=!f&&c[l]?l:f}this.onTagOpen(i,g,j);!d&&CKEDITOR.dtd.$cdata[i]&&(d=[])}}else if(i=e[2])this.onComment(i)}if(a.length>h)this.onText(a.substring(h,a.length))}}}(),CKEDITOR.htmlParser.basicWriter=CKEDITOR.tools.createClass({$:function(){this._={output:[]}},proto:{openTag:function(b){this._.output.push("<",b)},openTagClose:function(b, +c){c?this._.output.push(" />"):this._.output.push(">")},attribute:function(b,c){typeof c=="string"&&(c=CKEDITOR.tools.htmlEncodeAttr(c));this._.output.push(" ",b,'="',c,'"')},closeTag:function(b){this._.output.push("")},text:function(b){this._.output.push(b)},comment:function(b){this._.output.push("<\!--",b,"--\>")},write:function(b){this._.output.push(b)},reset:function(){this._.output=[];this._.indent=false},getHtml:function(b){var c=this._.output.join("");b&&this.reset();return c}}}),"use strict", +function(){CKEDITOR.htmlParser.node=function(){};CKEDITOR.htmlParser.node.prototype={remove:function(){var b=this.parent.children,c=CKEDITOR.tools.indexOf(b,this),a=this.previous,e=this.next;a&&(a.next=e);e&&(e.previous=a);b.splice(c,1);this.parent=null},replaceWith:function(b){var c=this.parent.children,a=CKEDITOR.tools.indexOf(c,this),e=b.previous=this.previous,i=b.next=this.next;e&&(e.next=b);i&&(i.previous=b);c[a]=b;b.parent=this.parent;this.parent=null},insertAfter:function(b){var c=b.parent.children, +a=CKEDITOR.tools.indexOf(c,b),e=b.next;c.splice(a+1,0,this);this.next=b.next;this.previous=b;b.next=this;e&&(e.previous=this);this.parent=b.parent},insertBefore:function(b){var c=b.parent.children,a=CKEDITOR.tools.indexOf(c,b);c.splice(a,0,this);this.next=b;(this.previous=b.previous)&&(b.previous.next=this);b.previous=this;this.parent=b.parent}}}(),"use strict",CKEDITOR.htmlParser.comment=function(b){this.value=b;this._={isBlockLike:false}},CKEDITOR.htmlParser.comment.prototype=CKEDITOR.tools.extend(new CKEDITOR.htmlParser.node, +{type:CKEDITOR.NODE_COMMENT,filter:function(b){var c=this.value;if(!(c=b.onComment(c,this))){this.remove();return false}if(typeof c!="string"){this.replaceWith(c);return false}this.value=c;return true},writeHtml:function(b,c){c&&this.filter(c);b.comment(this.value)}}),"use strict",function(){CKEDITOR.htmlParser.text=function(b){this.value=b;this._={isBlockLike:false}};CKEDITOR.htmlParser.text.prototype=CKEDITOR.tools.extend(new CKEDITOR.htmlParser.node,{type:CKEDITOR.NODE_TEXT,filter:function(b){if(!(this.value= +b.onText(this.value,this))){this.remove();return false}},writeHtml:function(b,c){c&&this.filter(c);b.text(this.value)}})}(),"use strict",function(){CKEDITOR.htmlParser.cdata=function(b){this.value=b};CKEDITOR.htmlParser.cdata.prototype=CKEDITOR.tools.extend(new CKEDITOR.htmlParser.node,{type:CKEDITOR.NODE_TEXT,filter:function(){},writeHtml:function(b){b.write(this.value)}})}(),"use strict",CKEDITOR.htmlParser.fragment=function(){this.children=[];this.parent=null;this._={isBlockLike:true,hasInlineStarted:false}}, +function(){function b(a){return a.name=="a"&&a.attributes.href||CKEDITOR.dtd.$removeEmpty[a.name]}var c=CKEDITOR.tools.extend({table:1,ul:1,ol:1,dl:1},CKEDITOR.dtd.table,CKEDITOR.dtd.ul,CKEDITOR.dtd.ol,CKEDITOR.dtd.dl),a={ol:1,ul:1},e=CKEDITOR.tools.extend({},{html:1},CKEDITOR.dtd.html,CKEDITOR.dtd.body,CKEDITOR.dtd.head,{style:1,script:1});CKEDITOR.htmlParser.fragment.fromHtml=function(i,h,d){function g(a){var b;if(r.length>0)for(var d=0;d=0;b--)if(a==r[b].name){r.splice(b,1);return}for(var e=[],c=[],h=p;h!=o&&h.name!=a;){h._.isBlockLike||c.unshift(h);e.push(h);h=h.returnPoint||h.parent}if(h!=o){for(b=0;b0?this.children[b-1]:null;if(d){if(a._.isBlockLike&&d.type==CKEDITOR.NODE_TEXT){d.value=CKEDITOR.tools.rtrim(d.value);if(d.value.length===0){this.children.pop();this.add(a);return}}d.next=a}a.previous=d;a.parent=this; +this.children.splice(b,0,a);if(!this._.hasInlineStarted)this._.hasInlineStarted=a.type==CKEDITOR.NODE_TEXT||a.type==CKEDITOR.NODE_ELEMENT&&!a._.isBlockLike},filter:function(a){a.onRoot(this);this.filterChildren(a)},filterChildren:function(a,b){if(this.childrenFilteredBy!=a.id){if(b&&!this.parent)a.onRoot(this);this.childrenFilteredBy=a.id;for(var d=0;d=0;c--)if(i=b[c]){i.pri=e;a.splice(f,0,i)}}}function a(a,b,c){if(b)for(var f in b){var i=a[f];a[f]=e(i,b[f],c);i||a.$length++}}function e(a,b,e){if(b){b.pri=e;if(a){if(a.splice)c(a,b,e);else{a=a.pri>e?[b,a]:[a,b];a.filter=i}return a}return b.filter=b}}function i(a){for(var b=a.type||a instanceof CKEDITOR.htmlParser.fragment,e=0;e7||c.name in CKEDITOR.dtd.tr||c.name in CKEDITOR.dtd.$listItem))g=false;else{g=a(c);g=!g||c.name=="form"&&g.name=="input"}g&&c.add(k(b))}}}function o(a,b){if((!n|| +!CKEDITOR.env.ie)&&a.type==CKEDITOR.NODE_ELEMENT&&a.name=="br"&&!a.attributes["data-cke-eol"])return true;var f;if(a.type==CKEDITOR.NODE_TEXT&&(f=a.value.match(y))){if(f.index){d(a,new CKEDITOR.htmlParser.text(a.value.substring(0,f.index)));a.value=f[0]}if(CKEDITOR.env.ie&&n&&(!b||a.parent.name in l))return true;if(!n)if((f=a.previous)&&f.name=="br"||!f||h(f))return true}return false}var m={elements:{}},n=c=="html",l=CKEDITOR.tools.extend({},q),p;for(p in l)"#"in u[p]||delete l[p];for(p in l)m.elements[p]= +j(n,b.config.fillEmptyBlocks!==false);m.root=j(n);m.elements.br=function(a){return function(b){if(b.parent.type!=CKEDITOR.NODE_DOCUMENT_FRAGMENT){var f=b.attributes;if("data-cke-bogus"in f||"data-cke-eol"in f)delete f["data-cke-bogus"];else{for(f=b.next;f&&i(f);)f=f.next;var c=e(b);!f&&h(b.parent)?g(b.parent,k(a)):h(f)&&(c&&!h(c))&&d(f,k(a))}}}}(n);return m}function c(a){return a.enterMode!=CKEDITOR.ENTER_BR&&a.autoParagraph!==false?a.enterMode==CKEDITOR.ENTER_DIV?"div":"p":false}function a(a){for(a= +a.children[a.children.length-1];a&&i(a);)a=a.previous;return a}function e(a){for(a=a.previous;a&&i(a);)a=a.previous;return a}function i(a){return a.type==CKEDITOR.NODE_TEXT&&!CKEDITOR.tools.trim(a.value)||a.type==CKEDITOR.NODE_ELEMENT&&a.attributes["data-cke-bookmark"]}function h(a){return a&&(a.type==CKEDITOR.NODE_ELEMENT&&a.name in q||a.type==CKEDITOR.NODE_DOCUMENT_FRAGMENT)}function d(a,b){var d=a.parent.children,f=CKEDITOR.tools.indexOf(d,a);d.splice(f,0,b);d=a.previous;a.previous=b;b.next=a; +b.parent=a.parent;if(d){b.previous=d;d.next=b}}function g(a,b){var d=a.children[a.children.length-1];a.children.push(b);b.parent=a;if(d){d.next=b;b.previous=d}}function f(a){var b=a.parent.children,d=CKEDITOR.tools.indexOf(b,a),f=a.previous,a=a.next;f&&(f.next=a);a&&(a.previous=f);b.splice(d,1)}function j(a){var b=a.parent;return b?CKEDITOR.tools.indexOf(b.children,a):-1}function l(a){a=a.attributes;a.contenteditable!="false"&&(a["data-cke-editable"]=a.contenteditable?"true":1);a.contenteditable= +"false"}function k(a){a=a.attributes;switch(a["data-cke-editable"]){case "true":a.contenteditable="true";break;case "1":delete a.contenteditable}}function n(a){return a.replace(z,function(a,b,d){return"<"+b+d.replace(C,function(a,b){return!/^on/.test(b)&&d.indexOf("data-cke-saved-"+b)==-1?" data-cke-saved-"+a+" data-cke-"+CKEDITOR.rnd+"-"+a:a})+">"})}function m(a){return a.replace(D,function(a){return""+encodeURIComponent(a)+""})}function o(a){return a.replace(F,function(a, +b){return decodeURIComponent(b)})}function r(a){return a.replace(/<\!--(?!{cke_protected})[\s\S]+?--\>/g,function(a){return"<\!--"+x+"{C}"+encodeURIComponent(a).replace(/--/g,"%2D%2D")+"--\>"})}function s(a){return a.replace(/<\!--\{cke_protected\}\{C\}([\s\S]+?)--\>/g,function(a,b){return decodeURIComponent(b)})}function p(a,b){var d=b._.dataStore;return a.replace(/<\!--\{cke_protected\}([\s\S]+?)--\>/g,function(a,b){return decodeURIComponent(b)}).replace(/\{cke_protected_(\d+)\}/g,function(a,b){return d&& +d[b]||""})}function t(a,b){for(var d=[],f=b.config.protectedSource,e=b._.dataStore||(b._.dataStore={id:1}),c=/<\!--\{cke_temp(comment)?\}(\d*?)--\>/g,f=[//gi,//gi].concat(f),a=a.replace(/<\!--[\s\S]*?--\>/g,function(a){return"<\!--{cke_tempcomment}"+(d.push(a)-1)+"--\>"}),g=0;g"});a=a.replace(c, +function(a,b,f){return"<\!--"+x+(b?"{C}":"")+encodeURIComponent(d[f]).replace(/--/g,"%2D%2D")+"--\>"});return a.replace(/(['"]).*?\1/g,function(a){return a.replace(/<\!--\{cke_protected\}([\s\S]+?)--\>/g,function(a,b){e[e.id]=decodeURIComponent(b);return"{cke_protected_"+e.id++ +"}"})})}CKEDITOR.htmlDataProcessor=function(a){var d,f,e=this;this.editor=a;this.dataFilter=d=new CKEDITOR.htmlParser.filter;this.htmlFilter=f=new CKEDITOR.htmlParser.filter;this.writer=new CKEDITOR.htmlParser.basicWriter; +d.addRules(v);d.addRules(b(a,"data"));f.addRules(B);f.addRules(b(a,"html"));a.on("toHtml",function(b){var b=b.data,d=b.dataValue,d=t(d,a),d=n(d),d=m(d),d=d.replace(E,"$1cke:$2"),d=d.replace(I,""),d=CKEDITOR.env.opera?d:d.replace(/(]*>)(\r\n|\n)/g,"$1$2$2"),f=b.context||a.editable().getName(),e;if(CKEDITOR.env.ie&&CKEDITOR.env.version<9&&f=="pre"){f="div";d="
"+d+"
";e=1}f=a.document.createElement(f);f.setHtml("a"+d);d=f.getHtml().substr(1);d=d.replace(RegExp(" data-cke-"+ +CKEDITOR.rnd+"-","ig")," ");e&&(d=d.replace(/^
|<\/pre>$/gi,""));d=d.replace(K,"$1$2");d=o(d);d=s(d);b.dataValue=CKEDITOR.htmlParser.fragment.fromHtml(d,b.context,b.fixForBody===false?false:c(a.config))},null,null,5);a.on("toHtml",function(a){a.data.dataValue.filterChildren(e.dataFilter,true)},null,null,10);a.on("toHtml",function(a){var a=a.data,b=a.dataValue,d=new CKEDITOR.htmlParser.basicWriter;b.writeChildrenHtml(d);b=d.getHtml(true);a.dataValue=r(b)},null,null,15);a.on("toDataFormat",function(b){b.data.dataValue=
+CKEDITOR.htmlParser.fragment.fromHtml(b.data.dataValue,a.editable().getName(),c(a.config))},null,null,5);a.on("toDataFormat",function(a){a.data.dataValue.filterChildren(e.htmlFilter,true)},null,null,10);a.on("toDataFormat",function(b){var d=b.data.dataValue,f=e.writer;f.reset();d.writeChildrenHtml(f);d=f.getHtml(true);d=s(d);d=p(d,a);b.data.dataValue=d},null,null,15)};CKEDITOR.htmlDataProcessor.prototype={toHtml:function(a,b,d,f){var e=this.editor;!b&&b!==null&&(b=e.editable().getName());return e.fire("toHtml",
+{dataValue:a,context:b,fixForBody:d,dontFilter:!!f}).dataValue},toDataFormat:function(a){return this.editor.fire("toDataFormat",{dataValue:a}).dataValue}};var y=/(?: |\xa0)$/,x="{cke_protected}",u=CKEDITOR.dtd,w=["caption","colgroup","col","thead","tfoot","tbody"],q=CKEDITOR.tools.extend({},u.$blockLimit,u.$block),v={elements:{},attributeNames:[[/^on/,"data-cke-pa-on"]]},B={elementNames:[[/^cke:/,""],[/^\?xml:namespace$/,""]],attributeNames:[[/^data-cke-(saved|pa)-/,""],[/^data-cke-.*/,""],["hidefocus",
+""]],elements:{$:function(a){var b=a.attributes;if(b){if(b["data-cke-temp"])return false;for(var d=["name","href","src"],f,e=0;e-1&&f>-1&&d!=f)){d=j(a);f=j(b)}return d>f?1:-1})},embed:function(a){var b=a.parent;if(b&&b.name=="object"){var d=
+b.attributes.width,b=b.attributes.height;d&&(a.attributes.width=d);b&&(a.attributes.height=b)}},param:function(a){a.children=[];a.isEmpty=true;return a},a:function(a){if(!a.children.length&&!a.attributes.name&&!a.attributes["data-cke-saved-name"])return false},span:function(a){a.attributes["class"]=="Apple-style-span"&&delete a.name},html:function(a){delete a.attributes.contenteditable;delete a.attributes["class"]},body:function(a){delete a.attributes.spellcheck;delete a.attributes.contenteditable},
+style:function(a){var b=a.children[0];b&&b.value&&(b.value=CKEDITOR.tools.trim(b.value));if(!a.attributes.type)a.attributes.type="text/css"},title:function(a){var b=a.children[0];!b&&g(a,b=new CKEDITOR.htmlParser.text);b.value=a.attributes["data-cke-title"]||""}},attributes:{"class":function(a){return CKEDITOR.tools.ltrim(a.replace(/(?:^|\s+)cke_[^\s]*/g,""))||false}}};if(CKEDITOR.env.ie)B.attributes.style=function(a){return a.replace(/(^|;)([^\:]+)/g,function(a){return a.toLowerCase()})};for(var A in{input:1,
+textarea:1}){v.elements[A]=l;B.elements[A]=k}var z=/<(a|area|img|input|source)\b([^>]*)>/gi,C=/\b(on\w+|href|src|name)\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|(?:[^ "'>]+))/gi,D=/(?:])[^>]*>[\s\S]*<\/style>)|(?:<(:?link|meta|base)[^>]*>)/gi,F=/([^<]*)<\/cke:encoded>/gi,E=/(<\/?)((?:object|embed|param|html|body|head|title)[^>]*>)/gi,K=/(<\/?)cke:((?:html|body|head|title)[^>]*>)/gi,I=/]*?)\/?>(?!\s*<\/cke:\1)/gi}(),"use strict",CKEDITOR.htmlParser.element=function(b,
+c){this.name=b;this.attributes=c||{};this.children=[];var a=b||"",e=a.match(/^cke:(.*)/);e&&(a=e[1]);a=!(!CKEDITOR.dtd.$nonBodyContent[a]&&!CKEDITOR.dtd.$block[a]&&!CKEDITOR.dtd.$listItem[a]&&!CKEDITOR.dtd.$tableContent[a]&&!(CKEDITOR.dtd.$nonEditable[a]||a=="br"));this.isEmpty=!!CKEDITOR.dtd.$empty[b];this.isUnknown=!CKEDITOR.dtd[b];this._={isBlockLike:a,hasInlineStarted:this.isEmpty||!a}},CKEDITOR.htmlParser.cssStyle=function(b){var c={};((b instanceof CKEDITOR.htmlParser.element?b.attributes.style:
+b)||"").replace(/"/g,'"').replace(/\s*([^ :;]+)\s*:\s*([^;]+)\s*(?=;|$)/g,function(a,b,i){b=="font-family"&&(i=i.replace(/["']/g,""));c[b.toLowerCase()]=i});return{rules:c,populate:function(a){var b=this.toString();if(b)a instanceof CKEDITOR.dom.element?a.setAttribute("style",b):a instanceof CKEDITOR.htmlParser.element?a.attributes.style=b:a.style=b},toString:function(){var a=[],b;for(b in c)c[b]&&a.push(b,":",c[b],";");return a.join("")}}},function(){var b=function(a,b){a=a[0];b=b[0];return a<
+b?-1:a>b?1:0},c=CKEDITOR.htmlParser.fragment.prototype;CKEDITOR.htmlParser.element.prototype=CKEDITOR.tools.extend(new CKEDITOR.htmlParser.node,{type:CKEDITOR.NODE_ELEMENT,add:c.add,clone:function(){return new CKEDITOR.htmlParser.element(this.name,this.attributes)},filter:function(a){var b=this,c,h;if(!b.parent)a.onRoot(b);for(;;){c=b.name;if(!(h=a.onElementName(c))){this.remove();return false}b.name=h;if(!(b=a.onElement(b))){this.remove();return false}if(b!==this){this.replaceWith(b);return false}if(b.name==
+c)break;if(b.type!=CKEDITOR.NODE_ELEMENT){this.replaceWith(b);return false}if(!b.name){this.replaceWithChildren();return false}}c=b.attributes;var d,g;for(d in c){g=d;for(h=c[d];;)if(g=a.onAttributeName(d))if(g!=d){delete c[d];d=g}else break;else{delete c[d];break}g&&((h=a.onAttribute(b,g,h))===false?delete c[g]:c[g]=h)}b.isEmpty||this.filterChildren(a);return true},filterChildren:c.filterChildren,writeHtml:function(a,e){e&&this.filter(e);var c=this.name,h=[],d=this.attributes,g,f;a.openTag(c,d);
+for(g in d)h.push([g,d[g]]);a.sortAttributes&&h.sort(b);g=0;for(f=h.length;g{voiceLabel}<{outerEl} class="cke_inner cke_reset" role="presentation">{topHtml}<{outerEl} id="{contentId}" class="cke_contents cke_reset" role="presentation">{bottomHtml}'));
+b=CKEDITOR.dom.element.createFromHtml(i.output({id:a.id,name:b,langDir:a.lang.dir,langCode:a.langCode,voiceLabel:a.lang.editor,topHtml:c?''+c+"":"",contentId:a.ui.spaceId("contents"),bottomHtml:l?''+l+"":"",outerEl:CKEDITOR.env.ie?"span":"div"}));if(f==CKEDITOR.ELEMENT_MODE_REPLACE){e.hide();
+b.insertAfter(e)}else e.append(b);a.container=b;c&&a.ui.space("top").unselectable();l&&a.ui.space("bottom").unselectable();e=a.config.width;f=a.config.height;e&&b.setStyle("width",CKEDITOR.tools.cssLength(e));f&&a.ui.space("contents").setStyle("height",CKEDITOR.tools.cssLength(f));b.disableContextMenu();CKEDITOR.env.webkit&&b.on("focus",function(){a.focus()});a.fireOnce("uiReady")}function e(a){var b=a.element;if(a.elementMode==CKEDITOR.ELEMENT_MODE_REPLACE&&b.is("textarea")){var e=b.$.form&&new CKEDITOR.dom.element(b.$.form);
+if(e){var f=function(){a.updateElement()};e.on("submit",f);if(!e.$.submit.nodeName&&!e.$.submit.length)e.$.submit=CKEDITOR.tools.override(e.$.submit,function(b){return function(){a.updateElement();b.apply?b.apply(this,arguments):b()}});a.on("destroy",function(){e.removeListener("submit",f)})}}}CKEDITOR.replace=function(a,d){return b(a,d,null,CKEDITOR.ELEMENT_MODE_REPLACE)};CKEDITOR.appendTo=function(a,d,e){return b(a,d,e,CKEDITOR.ELEMENT_MODE_APPENDTO)};CKEDITOR.replaceAll=function(){for(var a=document.getElementsByTagName("textarea"),
+b=0;b",g="",a=c+a.replace(e,function(){return g+c})+g}a=a.replace(/\n/g,"
");b||(a=a.replace(RegExp("
(?=)"),function(a){return f.repeat(a,2)}));a=a.replace(/^ | $/g," ");a=a.replace(/(>|\s) /g,function(a,b){return b+" "}).replace(/ (?=<)/g," ");l(this,"text",a)},insertElement:function(b){h(this);for(var f=this.editor,e=f.config.enterMode,c=f.getSelection(),g=c.getRanges(),i=b.getName(),j=CKEDITOR.dtd.$block[i], +l,y,x,u=g.length-1;u>=0;u--){l=g[u];if(!l.checkReadOnly()){l.deleteContents(1);y=!u&&b||b.clone(1);var w,q;if(j)for(;(w=l.getCommonAncestor(0,1))&&(q=CKEDITOR.dtd[w.getName()])&&(!q||!q[i]);)if(w.getName()in CKEDITOR.dtd.span)l.splitElement(w);else if(l.checkStartOfBlock()&&l.checkEndOfBlock()){l.setStartBefore(w);l.collapse(true);w.remove()}else l.splitBlock(e==CKEDITOR.ENTER_DIV?"div":"p",f.editable());l.insertNode(y);x||(x=y)}}if(x){l.moveToPosition(x,CKEDITOR.POSITION_AFTER_END);if(j)if((b=x.getNext(a))&& +b.type==CKEDITOR.NODE_ELEMENT&&b.is(CKEDITOR.dtd.$block))b.getDtd()["#"]?l.moveToElementEditStart(b):l.moveToElementEditEnd(x);else if(!b&&e!=CKEDITOR.ENTER_BR){b=l.fixBlock(true,e==CKEDITOR.ENTER_DIV?"div":"p");l.moveToElementEditStart(b)}}c.selectRanges([l]);d(this,CKEDITOR.env.opera)},setData:function(a,b){!b&&this.editor.dataProcessor&&(a=this.editor.dataProcessor.toHtml(a));this.setHtml(a);this.editor.fire("dataReady")},getData:function(a){var b=this.getHtml();!a&&this.editor.dataProcessor&& +(b=this.editor.dataProcessor.toDataFormat(b));return b},setReadOnly:function(a){this.setAttribute("contenteditable",!a)},detach:function(){this.removeClass("cke_editable");var a=this.editor;this._.detach();delete a.document;delete a.window},isInline:function(){return this.getDocument().equals(CKEDITOR.document)},setup:function(){var a=this.editor;this.attachListener(a,"beforeGetData",function(){var b=this.getData();this.is("textarea")||a.config.ignoreEmptyParagraph!==false&&(b=b.replace(g,function(a, +b){return b}));a.setData(b,null,1)},this);this.attachListener(a,"getSnapshot",function(a){a.data=this.getData(1)},this);this.attachListener(a,"afterSetData",function(){this.setData(a.getData(1))},this);this.attachListener(a,"loadSnapshot",function(a){this.setData(a.data,1)},this);this.attachListener(a,"beforeFocus",function(){var b=a.getSelection();(b=b&&b.getNative())&&b.type=="Control"||this.focus()},this);this.attachListener(a,"insertHtml",function(a){this.insertHtml(a.data.dataValue,a.data.mode)}, +this);this.attachListener(a,"insertElement",function(a){this.insertElement(a.data)},this);this.attachListener(a,"insertText",function(a){this.insertText(a.data)},this);this.setReadOnly(a.readOnly);this.attachClass("cke_editable");this.attachClass(a.elementMode==CKEDITOR.ELEMENT_MODE_INLINE?"cke_editable_inline":a.elementMode==CKEDITOR.ELEMENT_MODE_REPLACE||a.elementMode==CKEDITOR.ELEMENT_MODE_APPENDTO?"cke_editable_themed":"");this.attachClass("cke_contents_"+a.config.contentsLangDirection);a.keystrokeHandler.blockedKeystrokes[8]= +a.readOnly;a.keystrokeHandler.attach(this);this.on("blur",function(a){CKEDITOR.env.opera&&CKEDITOR.document.getActive().equals(this.isInline()?this:this.getWindow().getFrame())?a.cancel():this.hasFocus=false},null,null,-1);this.on("focus",function(){this.hasFocus=true},null,null,-1);a.focusManager.add(this);if(this.equals(CKEDITOR.document.getActive())){this.hasFocus=true;a.once("contentDom",function(){a.focusManager.focus()})}this.isInline()&&this.changeAttr("tabindex",a.tabIndex);if(!this.is("textarea")){a.document= +this.getDocument();a.window=this.getWindow();var b=a.document;this.changeAttr("spellcheck",!a.config.disableNativeSpellChecker);var d=a.config.contentsLangDirection;this.getDirection(1)!=d&&this.changeAttr("dir",d);var e=CKEDITOR.getCss();if(e){d=b.getHead();if(!d.getCustomData("stylesheet")){e=b.appendStyleText(e);e=new CKEDITOR.dom.element(e.ownerNode||e.owningElement);d.setCustomData("stylesheet",e);e.data("cke-temp",1)}}d=b.getCustomData("stylesheet_ref")||0;b.setCustomData("stylesheet_ref",d+ +1);this.setCustomData("cke_includeReadonly",!a.config.disableReadonlyStyling);this.attachListener(this,"click",function(a){var a=a.data,b=a.getTarget();b.is("a")&&(a.$.button!=2&&b.isReadOnly())&&a.preventDefault()});this.attachListener(a,"key",function(b){if(a.readOnly)return true;var d=b.data.keyCode,e;if(d in{8:1,46:1}){var c=a.getSelection(),b=c.getRanges()[0],g=b.startPath(),h,j,o,d=d==8;if(c=i(c)){a.fire("saveSnapshot");b.moveToPosition(c,CKEDITOR.POSITION_BEFORE_START);c.remove();b.select(); +a.fire("saveSnapshot");e=1}else if(b.collapsed)if((h=g.block)&&b[d?"checkStartOfBlock":"checkEndOfBlock"]()&&(o=h[d?"getPrevious":"getNext"](f))&&o.is("table")){a.fire("saveSnapshot");b[d?"checkEndOfBlock":"checkStartOfBlock"]()&&h.remove();b["moveToElementEdit"+(d?"End":"Start")](o);b.select();a.fire("saveSnapshot");e=1}else if(g.blockLimit&&g.blockLimit.is("td")&&(j=g.blockLimit.getAscendant("table"))&&b.checkBoundaryOfElement(j,d?CKEDITOR.START:CKEDITOR.END)&&(o=j[d?"getPrevious":"getNext"](f))){a.fire("saveSnapshot"); +b["moveToElementEdit"+(d?"End":"Start")](o);b.checkStartOfBlock()&&b.checkEndOfBlock()?o.remove():b.select();a.fire("saveSnapshot");e=1}else if((j=g.contains(["td","th","caption"]))&&b.checkBoundaryOfElement(j,d?CKEDITOR.START:CKEDITOR.END))if((o=j[d?"getPreviousSourceNode":"getNextSourceNode"](1,CKEDITOR.NODE_ELEMENT))&&!o.isReadOnly()&&b.root.contains(o)){b[d?"moveToElementEditEnd":"moveToElementEditStart"](o);b.select();e=1}}return!e});CKEDITOR.env.ie&&this.attachListener(this,"click",c);!CKEDITOR.env.ie&& +!CKEDITOR.env.opera&&this.attachListener(this,"mousedown",function(b){var d=b.data.getTarget();if(d.is("img","hr","input","textarea","select")){a.getSelection().selectElement(d);d.is("input","textarea","select")&&b.data.preventDefault()}});CKEDITOR.env.gecko&&this.attachListener(this,"mouseup",function(b){if(b.data.$.button==2){b=b.data.getTarget();if(!b.getOuterHtml().replace(g,"")){var d=a.createRange();d.moveToElementEditStart(b);d.select(true)}}});if(CKEDITOR.env.webkit){this.attachListener(this, +"click",function(a){a.data.getTarget().is("input","select")&&a.data.preventDefault()});this.attachListener(this,"mouseup",function(a){a.data.getTarget().is("input","textarea")&&a.data.preventDefault()})}}}},_:{detach:function(){this.editor.setData(this.editor.getData(),0,1);this.clearListeners();this.restoreAttrs();var a;if(a=this.removeCustomData("classes"))for(;a.length;)this.removeClass(a.pop());a=this.getDocument();var b=a.getHead();if(b.getCustomData("stylesheet")){var d=a.getCustomData("stylesheet_ref"); +if(--d)a.setCustomData("stylesheet_ref",d);else{a.removeCustomData("stylesheet_ref");b.removeCustomData("stylesheet").remove()}}delete this.editor}}});CKEDITOR.editor.prototype.editable=function(a){var b=this._.editable;if(b&&a)return 0;if(arguments.length)b=this._.editable=a?a instanceof CKEDITOR.editable?a:new CKEDITOR.editable(this,a):(b&&b.detach(),null);return b};var g=/(^|]*>)\s*<(p|div|address|h\d|center|pre)[^>]*>\s*(?:]*>| |\u00A0| )?\s*(:?<\/\2>)?\s*(?=$|<\/body>)/gi, +f=CKEDITOR.dom.walker.whitespaces(true),j=CKEDITOR.dom.walker.bookmark(false,true);CKEDITOR.on("instanceLoaded",function(a){var d=a.editor;d.on("insertElement",function(a){a=a.data;if(a.type==CKEDITOR.NODE_ELEMENT&&(a.is("input")||a.is("textarea"))){a.getAttribute("contentEditable")!="false"&&a.data("cke-editable",a.hasAttribute("contenteditable")?"true":"1");a.setAttribute("contentEditable",false)}});d.on("selectionChange",function(a){if(!d.readOnly){var f=d.getSelection();if(f&&!f.isLocked){f=d.checkDirty(); +d.fire("lockSnapshot");b(a);d.fire("unlockSnapshot");!f&&d.resetDirty()}}})});CKEDITOR.on("instanceCreated",function(a){var b=a.editor;b.on("mode",function(){var a=b.editable();if(a&&a.isInline()){var d=this.lang.editor+", "+this.name;a.changeAttr("role","textbox");a.changeAttr("aria-label",d);a.changeAttr("title",d);if(d=this.ui.space(this.elementMode==CKEDITOR.ELEMENT_MODE_INLINE?"top":"contents")){var f=CKEDITOR.tools.getNextId(),e=CKEDITOR.dom.element.createFromHtml(''+ +this.lang.common.editorHelp+"");d.append(e);a.changeAttr("aria-describedby",f)}}})});CKEDITOR.addCss(".cke_editable{cursor:text}.cke_editable img,.cke_editable input,.cke_editable textarea{cursor:default}");var l=function(){function b(a){return a.type==CKEDITOR.NODE_ELEMENT}function f(a,d){var e,c,g,h,j=[],o=d.range.startContainer;e=d.range.startPath();for(var o=i[o.getName()],l=0,m=a.getChildren(),r=m.count(),s=-1,t=-1,x=0,y=e.contains(i.$list);l-1)j[s].firstNotAllowed=1;if(t>-1)j[t].lastNotAllowed=1;return j}function e(a,d){var f=[],c=a.getChildren(),g=c.count(), +h,j=0,o=i[d],l=!a.is(i.$inline)||a.is("br");for(l&&f.push(" ");j ", +v.document);v.insertNode(C);v.setStartAfter(C)}D=new CKEDITOR.dom.elementPath(v.startContainer);t.endPath=F=new CKEDITOR.dom.elementPath(v.endContainer);if(!v.collapsed){var z=F.block||F.blockLimit,K=v.getCommonAncestor();z&&(!z.equals(K)&&!z.contains(K)&&v.checkEndOfBlock())&&t.zombies.push(z);v.deleteContents()}for(;(E=b(v.startContainer)&&v.startContainer.getChild(v.startOffset-1))&&b(E)&&E.isBlockBoundary()&&D.contains(E);)v.moveToPosition(E,CKEDITOR.POSITION_BEFORE_END);g(v,t.blockLimit,D,F); +if(C){v.setEndBefore(C);v.collapse();C.remove()}C=v.startPath();if(z=C.contains(c,false,1)){v.splitElement(z);t.inlineStylesRoot=z;t.inlineStylesPeak=C.lastElement}C=v.createBookmark();(z=C.startNode.getPrevious(a))&&b(z)&&c(z)&&A.push(z);(z=C.startNode.getNext(a))&&b(z)&&c(z)&&A.push(z);for(z=C.startNode;(z=z.getParent())&&c(z);)A.push(z);v.moveToBookmark(C);if(q){E=q;q=t.range;if(t.type=="text"&&t.inlineStylesRoot){C=E;E=t.inlineStylesPeak;v=E.getDocument().createText("{cke-peak}");for(A=t.inlineStylesRoot.getParent();!E.equals(A);){v= +v.appendTo(E.clone());E=E.getParent()}E=v.getOuterHtml().replace("{cke-peak}",C)}C=t.blockLimit.getName();if(/^\s+|\s+$/.test(E)&&"span"in CKEDITOR.dtd[C]){var I=' ';E=I+E+I}E=t.editor.dataProcessor.toHtml(E,null,false,t.dontFilter);C=q.document.createElement("body");C.setHtml(E);if(I){C.getFirst().remove();C.getLast().remove()}if((I=q.startPath().block)&&!(I.getChildCount()==1&&I.getBogus()))a:{var G;if(C.getChildCount()==1&&b(G=C.getFirst())&&G.is(l)){I=G.getElementsByTag("*"); +q=0;for(v=I.count();q0;else{H=G.startPath();if(!F.isBlock&&(P=t.editor.config.enterMode!=CKEDITOR.ENTER_BR&&t.editor.config.autoParagraph!==false?t.editor.config.enterMode==CKEDITOR.ENTER_DIV?"div":"p":false)&&!H.block&&H.blockLimit&&H.blockLimit.equals(G.root)){P= +I.createElement(P);!CKEDITOR.env.ie&&P.appendBogus();G.insertNode(P);!CKEDITOR.env.ie&&(L=P.getBogus())&&L.remove();G.moveToPosition(P,CKEDITOR.POSITION_BEFORE_END)}if((H=G.startPath().block)&&!H.equals(J)){if(L=H.getBogus()){L.remove();E.push(H)}J=H}F.firstNotAllowed&&(v=1);if(v&&F.isElement){H=G.startContainer;for(M=null;H&&!i[H.getName()][F.name];){if(H.equals(q)){H=null;break}M=H;H=H.getParent()}if(H){if(M){Q=G.splitElement(M);t.zombies.push(Q);t.zombies.push(M)}}else{M=q.getName();R=!C;H=C== +D.length-1;M=e(F.node,M);for(var N=[],U=M.length,T=0,V=void 0,W=0,S=-1;T1&&c&&c.intersectsNode(d.$)){f=[e.anchorOffset,e.focusOffset];c=e.focusNode==d.$&&e.focusOffset>0;e.anchorNode==d.$&&e.anchorOffset>0&&f[0]--;c&&f[1]--;var g;c=e;if(!c.isCollapsed){g=c.getRangeAt(0);g.setStart(c.anchorNode,c.anchorOffset);g.setEnd(c.focusNode,c.focusOffset);g=g.collapsed}g&&f.unshift(f.pop())}}d.setText(d.getText().replace(/\u200B/g,""));if(f){d=e.getRangeAt(0); +d.setStart(d.startContainer,f[0]);d.setEnd(d.startContainer,f[1]);e.removeAllRanges();e.addRange(d)}}}var d,g,f=CKEDITOR.dom.walker.invisible(1);CKEDITOR.on("instanceCreated",function(a){function d(){var a=f.getSelection();a&&a.removeAllRanges()}var f=a.editor;f.define("selectionChange",{errorProof:1});f.on("contentDom",function(){var a=f.document,d=CKEDITOR.document,e=f.editable(),g=a.getBody(),i=a.getDocumentElement(),l=e.isInline(),k;CKEDITOR.env.gecko&&e.attachListener(e,"focus",function(a){a.removeListener(); +if(k!==0){a=f.getSelection().getNative();if(a.isCollapsed&&a.anchorNode==e.$){a=f.createRange();a.moveToElementEditStart(e);a.select()}}},null,null,-2);e.attachListener(e,"focus",function(){f.unlockSelection(k);k=0},null,null,-1);e.attachListener(e,"mousedown",function(){k=0});if(CKEDITOR.env.ie||CKEDITOR.env.opera||l){var n,w=function(){n=f.getSelection(1);n.lock()};j?e.attachListener(e,"beforedeactivate",w,null,null,-1):e.attachListener(f,"selectionCheck",w,null,null,-1);e.attachListener(e,"blur", +function(){f.lockSelection(n);k=1},null,null,-1)}if(CKEDITOR.env.ie&&!l){var q;e.attachListener(e,"mousedown",function(a){a.data.$.button==2&&f.document.$.selection.type=="None"&&(q=f.window.getScrollPosition())});e.attachListener(e,"mouseup",function(a){if(a.data.$.button==2&&q){f.document.$.documentElement.scrollLeft=q.x;f.document.$.documentElement.scrollTop=q.y}q=null});if(a.$.compatMode!="BackCompat"){if(CKEDITOR.env.ie7Compat||CKEDITOR.env.ie6Compat)i.on("mousedown",function(a){function b(a){a= +a.data.$;if(e){var d=g.$.createTextRange();try{d.moveToPoint(a.x,a.y)}catch(f){}e.setEndPoint(h.compareEndPoints("StartToStart",d)<0?"EndToEnd":"StartToStart",d);e.select()}}function f(){i.removeListener("mousemove",b);d.removeListener("mouseup",f);i.removeListener("mouseup",f);e.select()}a=a.data;if(a.getTarget().is("html")&&a.$.y7){i.on("mousedown",function(a){if(a.data.getTarget().is("html")){d.on("mouseup",v);i.on("mouseup",v)}});var v=function(){d.removeListener("mouseup",v);i.removeListener("mouseup",v);var b=CKEDITOR.document.$.selection,f=b.createRange();b.type!="None"&&f.parentElement().ownerDocument==a.$&&f.select()}}}}e.attachListener(e,"selectionchange",b,f);e.attachListener(e,"keyup",c,f);e.attachListener(e,"focus",function(){f.forceNextSelectionCheck();f.selectionChange(1)}); +if(l?CKEDITOR.env.webkit||CKEDITOR.env.gecko:CKEDITOR.env.opera){var B;e.attachListener(e,"mousedown",function(){B=1});e.attachListener(a.getDocumentElement(),"mouseup",function(){B&&c.call(f);B=0})}else e.attachListener(CKEDITOR.env.ie?e:a.getDocumentElement(),"mouseup",c,f);if(CKEDITOR.env.webkit)a.on("keydown",function(a){switch(a.data.getKey()){case 13:case 33:case 34:case 35:case 36:case 37:case 39:case 8:case 45:case 46:h(f.editable())}},null,null,-1)});f.on("contentDomUnload",f.forceNextSelectionCheck, +f);f.on("dataReady",function(){f.selectionChange(1)});CKEDITOR.env.ie9Compat&&f.on("beforeDestroy",d,null,null,9);CKEDITOR.env.webkit&&f.on("setData",d);f.on("contentDomUnload",function(){f.unlockSelection()})});CKEDITOR.on("instanceReady",function(a){var b=a.editor,d=b.editable();if(CKEDITOR.env.webkit){b.on("selectionChange",function(){var a=i(d);a&&(a.getCustomData("ready")?h(d):a.setCustomData("ready",1))},null,null,-1);b.on("beforeSetMode",function(){h(d)},null,null,-1);var f,e,a=function(){var a= +b.document,c=i(d);if(c){a=a.$.defaultView.getSelection();a.type=="Caret"&&a.anchorNode==c.$&&(e=1);f=c.getText();c.setText(f.replace(/\u200B/g,""))}},c=function(){var a=b.document,c=i(d);if(c){c.setText(f);if(e){a.$.defaultView.getSelection().setPosition(c.$,c.getLength());e=0}}};b.on("beforeUndoImage",a);b.on("afterUndoImage",c);b.on("beforeGetData",a,null,null,0);b.on("getData",c)}});CKEDITOR.editor.prototype.selectionChange=function(a){(a?b:c).call(this)};CKEDITOR.editor.prototype.getSelection= +function(a){if(this._.savedSelection&&!a)return this._.savedSelection;return(a=this.editable())?new CKEDITOR.dom.selection(a):null};CKEDITOR.editor.prototype.lockSelection=function(a){a=a||this.getSelection(1);if(a.getType()!=CKEDITOR.SELECTION_NONE){!a.isLocked&&a.lock();this._.savedSelection=a;return true}return false};CKEDITOR.editor.prototype.unlockSelection=function(a){var b=this._.savedSelection;if(b){b.unlock(a);delete this._.savedSelection;return true}return false};CKEDITOR.editor.prototype.forceNextSelectionCheck= +function(){delete this._.selectionPreviousPath};CKEDITOR.dom.document.prototype.getSelection=function(){return new CKEDITOR.dom.selection(this)};CKEDITOR.dom.range.prototype.select=function(){var a=this.root instanceof CKEDITOR.editable?this.root.editor.getSelection():new CKEDITOR.dom.selection(this.root);a.selectRanges([this]);return a};CKEDITOR.SELECTION_NONE=1;CKEDITOR.SELECTION_TEXT=2;CKEDITOR.SELECTION_ELEMENT=3;var j=typeof window.getSelection!="function";CKEDITOR.dom.selection=function(a){var b= +a instanceof CKEDITOR.dom.element;this.document=a instanceof CKEDITOR.dom.document?a:a.getDocument();this.root=b?a:this.document.getBody();this.isLocked=0;this._={cache:{}};if(CKEDITOR.env.webkit){a=this.document.getWindow().$.getSelection();if(a.type=="None"&&this.document.getActive().equals(this.root)||a.type=="Caret"&&a.anchorNode.nodeType==CKEDITOR.NODE_DOCUMENT){var d=new CKEDITOR.dom.range(this.root);d.moveToPosition(this.root,CKEDITOR.POSITION_AFTER_START);b=this.document.$.createRange();b.setStart(d.startContainer.$, +d.startOffset);b.collapse(1);var f=this.root.on("focus",function(a){a.cancel()},null,null,-100);a.addRange(b);f.removeListener()}}var a=this.getNative(),e;if(a)if(a.getRangeAt)e=(d=a.rangeCount&&a.getRangeAt(0))&&new CKEDITOR.dom.node(d.commonAncestorContainer);else{try{d=a.createRange()}catch(c){}e=d&&CKEDITOR.dom.element.get(d.item&&d.item(0)||d.parentElement())}if(!e||!this.root.equals(e)&&!this.root.contains(e)){this._.cache.type=CKEDITOR.SELECTION_NONE;this._.cache.startElement=null;this._.cache.selectedElement= +null;this._.cache.selectedText="";this._.cache.ranges=new CKEDITOR.dom.rangeList}return this};var l={img:1,hr:1,li:1,table:1,tr:1,td:1,th:1,embed:1,object:1,ol:1,ul:1,a:1,input:1,form:1,select:1,textarea:1,button:1,fieldset:1,thead:1,tfoot:1};CKEDITOR.dom.selection.prototype={getNative:function(){return this._.cache.nativeSel!==void 0?this._.cache.nativeSel:this._.cache.nativeSel=j?this.document.$.selection:this.document.getWindow().$.getSelection()},getType:j?function(){var a=this._.cache;if(a.type)return a.type; +var b=CKEDITOR.SELECTION_NONE;try{var d=this.getNative(),f=d.type;if(f=="Text")b=CKEDITOR.SELECTION_TEXT;if(f=="Control")b=CKEDITOR.SELECTION_ELEMENT;if(d.createRange().parentElement())b=CKEDITOR.SELECTION_TEXT}catch(e){}return a.type=b}:function(){var a=this._.cache;if(a.type)return a.type;var b=CKEDITOR.SELECTION_TEXT,d=this.getNative();if(!d||!d.rangeCount)b=CKEDITOR.SELECTION_NONE;else if(d.rangeCount==1){var d=d.getRangeAt(0),f=d.startContainer;if(f==d.endContainer&&f.nodeType==1&&d.endOffset- +d.startOffset==1&&l[f.childNodes[d.startOffset].nodeName.toLowerCase()])b=CKEDITOR.SELECTION_ELEMENT}return a.type=b},getRanges:function(){var a=j?function(){function a(b){return(new CKEDITOR.dom.node(b)).getIndex()}var b=function(b,d){b=b.duplicate();b.collapse(d);var f=b.parentElement(),e=f.ownerDocument;if(!f.hasChildNodes())return{container:f,offset:0};for(var c=f.children,g,h,i=b.duplicate(),j=0,l=c.length-1,k=-1,m,A;j<=l;){k=Math.floor((j+l)/2);g=c[k];i.moveToElementText(g);m=i.compareEndPoints("StartToStart", +b);if(m>0)l=k-1;else if(m<0)j=k+1;else{if(CKEDITOR.env.ie9Compat&&g.tagName=="BR"){c=e.defaultView.getSelection();return{container:c[d?"anchorNode":"focusNode"],offset:c[d?"anchorOffset":"focusOffset"]}}return{container:f,offset:a(g)}}}if(k==-1||k==c.length-1&&m<0){i.moveToElementText(f);i.setEndPoint("StartToStart",b);e=i.text.replace(/(\r\n|\r)/g,"\n").length;c=f.childNodes;if(!e){g=c[c.length-1];return g.nodeType!=CKEDITOR.NODE_TEXT?{container:f,offset:c.length}:{container:g,offset:g.nodeValue.length}}for(f= +c.length;e>0&&f>0;){h=c[--f];if(h.nodeType==CKEDITOR.NODE_TEXT){A=h;e=e-h.nodeValue.length}}return{container:A,offset:-e}}i.collapse(m>0?true:false);i.setEndPoint(m>0?"StartToStart":"EndToStart",b);e=i.text.replace(/(\r\n|\r)/g,"\n").length;if(!e)return{container:f,offset:a(g)+(m>0?0:1)};for(;e>0;)try{h=g[m>0?"previousSibling":"nextSibling"];if(h.nodeType==CKEDITOR.NODE_TEXT){e=e-h.nodeValue.length;A=h}g=h}catch(z){return{container:f,offset:a(g)}}return{container:A,offset:m>0?-e:A.nodeValue.length+ +e}};return function(){var a=this.getNative(),d=a&&a.createRange(),f=this.getType();if(!a)return[];if(f==CKEDITOR.SELECTION_TEXT){a=new CKEDITOR.dom.range(this.root);f=b(d,true);a.setStart(new CKEDITOR.dom.node(f.container),f.offset);f=b(d);a.setEnd(new CKEDITOR.dom.node(f.container),f.offset);a.endContainer.getPosition(a.startContainer)&CKEDITOR.POSITION_PRECEDING&&a.endOffset<=a.startContainer.getIndex()&&a.collapse();return[a]}if(f==CKEDITOR.SELECTION_ELEMENT){for(var f=[],e=0;e=b.getLength()?j.setStartAfter(b):j.setStartBefore(b));g&&g.type==CKEDITOR.NODE_TEXT&&(i?j.setEndAfter(g):j.setEndBefore(g));b=new CKEDITOR.dom.walker(j);b.evaluator=function(a){if(a.type==CKEDITOR.NODE_ELEMENT&&a.isReadOnly()){var b=c.clone();c.setEndBefore(a);c.collapsed&&f.splice(e--,1);if(!(a.getPosition(j.endContainer)&CKEDITOR.POSITION_CONTAINS)){b.setStartAfter(a);b.collapsed||f.splice(e+1,0,b)}return true}return false}; +b.next()}}return d.ranges}}(),getStartElement:function(){var a=this._.cache;if(a.startElement!==void 0)return a.startElement;var b;switch(this.getType()){case CKEDITOR.SELECTION_ELEMENT:return this.getSelectedElement();case CKEDITOR.SELECTION_TEXT:var d=this.getRanges()[0];if(d){if(d.collapsed){b=d.startContainer;b.type!=CKEDITOR.NODE_ELEMENT&&(b=b.getParent())}else{for(d.optimize();;){b=d.startContainer;if(d.startOffset==(b.getChildCount?b.getChildCount():b.getLength())&&!b.isBlockBoundary())d.setStartAfter(b); +else break}b=d.startContainer;if(b.type!=CKEDITOR.NODE_ELEMENT)return b.getParent();b=b.getChild(d.startOffset);if(!b||b.type!=CKEDITOR.NODE_ELEMENT)b=d.startContainer;else for(d=b.getFirst();d&&d.type==CKEDITOR.NODE_ELEMENT;){b=d;d=d.getFirst()}}b=b.$}}return a.startElement=b?new CKEDITOR.dom.element(b):null},getSelectedElement:function(){var a=this._.cache;if(a.selectedElement!==void 0)return a.selectedElement;var b=this,d=CKEDITOR.tools.tryThese(function(){return b.getNative().createRange().item(0)}, +function(){for(var a=b.getRanges()[0],d,f,e=2;e&&(!(d=a.getEnclosedNode())||!(d.type==CKEDITOR.NODE_ELEMENT&&l[d.getName()]&&(f=d)));e--)a.shrink(CKEDITOR.SHRINK_ELEMENT);return f.$});return a.selectedElement=d?new CKEDITOR.dom.element(d):null},getSelectedText:function(){var a=this._.cache;if(a.selectedText!==void 0)return a.selectedText;var b=this.getNative(),b=j?b.type=="Control"?"":b.createRange().text:b.toString();return a.selectedText=b},lock:function(){this.getRanges();this.getStartElement(); +this.getSelectedElement();this.getSelectedText();this._.cache.nativeSel=null;this.isLocked=1},unlock:function(a){if(this.isLocked){if(a)var b=this.getSelectedElement(),d=!b&&this.getRanges();this.isLocked=0;this.reset();if(a)(a=b||d[0]&&d[0].getCommonAncestor())&&a.getAscendant("body",1)&&(b?this.selectElement(b):this.selectRanges(d))}},reset:function(){this._.cache={}},selectElement:function(a){var b=new CKEDITOR.dom.range(this.root);b.setStartBefore(a);b.setEndAfter(a);this.selectRanges([b])},selectRanges:function(a){if(a.length)if(this.isLocked){var b= +CKEDITOR.document.getActive();this.unlock();this.selectRanges(a);this.lock();!b.equals(this.root)&&b.focus()}else{if(j){var d=CKEDITOR.dom.walker.whitespaces(true),f=/\ufeff|\u00a0/,c={table:1,tbody:1,tr:1};if(a.length>1){b=a[a.length-1];a[0].setEnd(b.endContainer,b.endOffset)}var b=a[0],a=b.collapsed,g,i,t,y=b.getEnclosedNode();if(y&&y.type==CKEDITOR.NODE_ELEMENT&&y.getName()in l&&(!y.is("a")||!y.getText()))try{t=y.$.createControlRange();t.addElement(y.$);t.select();return}catch(x){}(b.startContainer.type== +CKEDITOR.NODE_ELEMENT&&b.startContainer.getName()in c||b.endContainer.type==CKEDITOR.NODE_ELEMENT&&b.endContainer.getName()in c)&&b.shrink(CKEDITOR.NODE_ELEMENT,true);t=b.createBookmark();var c=t.startNode,u;if(!a)u=t.endNode;t=b.document.$.body.createTextRange();t.moveToElementText(c.$);t.moveStart("character",1);if(u){f=b.document.$.body.createTextRange();f.moveToElementText(u.$);t.setEndPoint("EndToEnd",f);t.moveEnd("character",-1)}else{g=c.getNext(d);i=c.hasAscendant("pre");g=!(g&&g.getText&& +g.getText().match(f))&&(i||!c.hasPrevious()||c.getPrevious().is&&c.getPrevious().is("br"));i=b.document.createElement("span");i.setHtml("");i.insertBefore(c);g&&b.document.createText("").insertBefore(c)}b.setStartBefore(c);c.remove();if(a){if(g){t.moveStart("character",-1);t.select();b.document.$.selection.clear()}else t.select();b.moveToPosition(i,CKEDITOR.POSITION_BEFORE_START);i.remove()}else{b.setEndBefore(u);u.remove();t.select()}}else{u=this.getNative();if(!u)return;if(CKEDITOR.env.opera){b= +this.document.$.createRange();b.selectNodeContents(this.root.$);u.addRange(b)}this.removeAllRanges();for(f=0;f=0){b.collapse(1);t.setEnd(b.endContainer.$,b.endOffset)}else throw w;}u.addRange(t)}}this.reset();this.root.fire("selectionchange")}},createBookmarks:function(a){return this.getRanges().createBookmarks(a)},createBookmarks2:function(a){return this.getRanges().createBookmarks2(a)}, +selectBookmarks:function(a){for(var b=[],d=0;d]*>)[ \t\r\n]*/gi,"$1");g=g.replace(/([ \t\n\r]+| )/g," ");g=g.replace(/]*>/gi,"\n");if(CKEDITOR.env.ie){var h=a.getDocument().createElement("div"); +h.append(c);c.$.outerHTML="
"+g+"
";c.copyAttributes(h.getFirst());c=h.getFirst().remove()}else c.setHtml(g);b=c}else g?b=l(d?[a.getHtml()]:f(a),b):a.moveChildren(b);b.replace(a);if(e){var d=b,i;if((i=d.getPrevious(A))&&i.is&&i.is("pre")){e=j(i.getHtml(),/\n$/,"")+"\n\n"+j(d.getHtml(),/^\n/,"");CKEDITOR.env.ie?d.$.outerHTML="
"+e+"
":d.setHtml(e);i.remove()}}else d&&o(b)}function f(a){a.getName();var b=[];j(a.getOuterHtml(),/(\S\s*)\n(?:\s|(]+data-cke-bookmark.*?\/span>))*\n(?!$)/gi, +function(a,b,d){return b+"
"+d+"
"}).replace(/([\s\S]*?)<\/pre>/gi,function(a,d){b.push(d)});return b}function j(a,b,d){var f="",e="",a=a.replace(/(^]+data-cke-bookmark.*?\/span>)|(]+data-cke-bookmark.*?\/span>$)/gi,function(a,b,d){b&&(f=b);d&&(e=d);return""});return f+a.replace(b,d)+e}function l(a,b){var d;a.length>1&&(d=new CKEDITOR.dom.documentFragment(b.getDocument()));for(var f=0;f"),e=e.replace(/[ \t]{2,}/g,function(a){return CKEDITOR.tools.repeat(" ",a.length-1)+" "});if(d){var c=b.clone();c.setHtml(e);d.append(c)}else b.setHtml(e)}return d||b}function k(a){var b=this._.definition,d=b.attributes,b=b.styles,f=t(this)[a.getName()],e=CKEDITOR.tools.isEmpty(d)&&CKEDITOR.tools.isEmpty(b),
+c;for(c in d)if(!((c=="class"||this._.definition.fullMatch)&&a.getAttribute(c)!=y(c,d[c]))){e=a.hasAttribute(c);a.removeAttribute(c)}for(var g in b)if(!(this._.definition.fullMatch&&a.getStyle(g)!=y(g,b[g],true))){e=e||!!a.getStyle(g);a.removeStyle(g)}m(a,f,u[a.getName()]);e&&(this._.definition.alwaysRemoveElement?o(a,1):!CKEDITOR.dtd.$block[a.getName()]||this._.enterMode==CKEDITOR.ENTER_BR&&!a.hasAttributes()?o(a):a.renameNode(this._.enterMode==CKEDITOR.ENTER_P?"p":"div"))}function n(a){for(var b=
+t(this),d=a.getElementsByTag(this.element),f=d.count();--f>=0;)k.call(this,d.getItem(f));for(var e in b)if(e!=this.element){d=a.getElementsByTag(e);for(f=d.count()-1;f>=0;f--){var c=d.getItem(f);m(c,b[e])}}}function m(a,b,d){if(b=b&&b.attributes)for(var f=0;f",a||b.name,"");return d.join("")},getDefinition:function(){return this._.definition}};CKEDITOR.style.getStyleText=function(a){var b=a._ST;if(b)return b;var b=a.styles,d=a.attributes&&a.attributes.style||"",f="";d.length&&(d=d.replace(q,";"));for(var e in b){var c=b[e],g=(e+":"+c).replace(q,";");c=="inherit"?f=f+g:d=d+g}d.length&&(d=CKEDITOR.tools.normalizeCssText(d,true));return a._ST=d+f}}(),CKEDITOR.styleCommand=function(b,c){this.requiredContent=this.allowedContent=
+this.style=b;CKEDITOR.tools.extend(this,c,true)},CKEDITOR.styleCommand.prototype.exec=function(b){b.focus();this.state==CKEDITOR.TRISTATE_OFF?b.applyStyle(this.style):this.state==CKEDITOR.TRISTATE_ON&&b.removeStyle(this.style)},CKEDITOR.stylesSet=new CKEDITOR.resourceManager("","stylesSet"),CKEDITOR.addStylesSet=CKEDITOR.tools.bind(CKEDITOR.stylesSet.add,CKEDITOR.stylesSet),CKEDITOR.loadStylesSet=function(b,c,a){CKEDITOR.stylesSet.addExternal(b,c,"");CKEDITOR.stylesSet.load(b,a)},CKEDITOR.editor.prototype.getStylesSet=
+function(b){if(this._.stylesDefinitions)b(this._.stylesDefinitions);else{var c=this,a=c.config.stylesCombo_stylesSet||c.config.stylesSet;if(a===false)b(null);else if(a instanceof Array){c._.stylesDefinitions=a;b(a)}else{a||(a="default");var a=a.split(":"),e=a[0];CKEDITOR.stylesSet.addExternal(e,a[1]?a.slice(1).join(":"):CKEDITOR.getUrl("styles.js"),"");CKEDITOR.stylesSet.load(e,function(a){c._.stylesDefinitions=a[e];b(c._.stylesDefinitions)})}}},CKEDITOR.dom.comment=function(b,c){typeof b=="string"&&
+(b=(c?c.$:document).createComment(b));CKEDITOR.dom.domObject.call(this,b)},CKEDITOR.dom.comment.prototype=new CKEDITOR.dom.node,CKEDITOR.tools.extend(CKEDITOR.dom.comment.prototype,{type:CKEDITOR.NODE_COMMENT,getOuterHtml:function(){return"<\!--"+this.$.nodeValue+"--\>"}}),function(){var b={},c;for(c in CKEDITOR.dtd.$blockLimit)c in CKEDITOR.dtd.$list||(b[c]=1);var a={};for(c in CKEDITOR.dtd.$block)c in CKEDITOR.dtd.$blockLimit||c in CKEDITOR.dtd.$empty||(a[c]=1);CKEDITOR.dom.elementPath=function(e,
+c){var h=null,d=null,g=[],c=c||e.getDocument().getBody(),f=e;do if(f.type==CKEDITOR.NODE_ELEMENT){g.push(f);if(!this.lastElement){this.lastElement=f;if(f.is(CKEDITOR.dtd.$object))continue}var j=f.getName();if(!d){!h&&a[j]&&(h=f);if(b[j]){var l;if(l=!h){if(j=j=="div"){a:{j=f.getChildren();l=0;for(var k=j.count();l
+-1}:typeof b=="function"?e=b:typeof b=="object"&&(e=function(a){return a.getName()in b});var i=this.elements,h=i.length;c&&h--;if(a){i=Array.prototype.slice.call(i,0);i.reverse()}for(c=0;c=e){h=i.createText("");h.insertAfter(this)}else{b=i.createText("");b.insertAfter(h);b.remove()}return h},substring:function(b,c){return typeof c!="number"?this.$.nodeValue.substr(b):this.$.nodeValue.substring(b,c)}}),function(){function b(a,b,c){var h=a.serializable,d=b[c?"endContainer":"startContainer"],g=c?"endOffset":"startOffset",f=h?b.document.getById(a.startNode):a.startNode,a=h?b.document.getById(a.endNode):a.endNode;if(d.equals(f.getPrevious())){b.startOffset=
+b.startOffset-d.getLength()-a.getPrevious().getLength();d=a.getNext()}else if(d.equals(a.getPrevious())){b.startOffset=b.startOffset-d.getLength();d=a.getNext()}d.equals(f.getParent())&&b[g]++;d.equals(a.getParent())&&b[g]++;b[c?"endContainer":"startContainer"]=d;return b}CKEDITOR.dom.rangeList=function(a){if(a instanceof CKEDITOR.dom.rangeList)return a;a?a instanceof CKEDITOR.dom.range&&(a=[a]):a=[];return CKEDITOR.tools.extend(a,c)};var c={createIterator:function(){var a=this,b=CKEDITOR.dom.walker.bookmark(),
+c=[],h;return{getNextRange:function(d){h=h==void 0?0:h+1;var g=a[h];if(g&&a.length>1){if(!h)for(var f=a.length-1;f>=0;f--)c.unshift(a[f].createBookmark(true));if(d)for(var j=0;a[h+j+1];){for(var l=g.document,d=0,f=l.getById(c[j].endNode),l=l.getById(c[j+1].startNode);;){f=f.getNextSourceNode(false);if(l.equals(f))d=1;else if(b(f)||f.type==CKEDITOR.NODE_ELEMENT&&f.isBlockBoundary())continue;break}if(!d)break;j++}for(g.moveToBookmark(c.shift());j--;){f=a[++h];f.moveToBookmark(c.shift());g.setEnd(f.endContainer,
+f.endOffset)}}return g}}},createBookmarks:function(a){for(var e=[],c,h=0;hb?-1:1}),e=0,c;e',
+CKEDITOR.document);b.appendTo(CKEDITOR.document.getHead());try{CKEDITOR.env.hc=b.getComputedStyle("border-top-color")==b.getComputedStyle("border-right-color")}catch(c){CKEDITOR.env.hc=false}b.remove()}if(CKEDITOR.env.hc)CKEDITOR.env.cssClass=CKEDITOR.env.cssClass+" cke_hc";CKEDITOR.document.appendStyleText(".cke{visibility:hidden;}");CKEDITOR.status="loaded";CKEDITOR.fireOnce("loaded");if(b=CKEDITOR._.pending){delete CKEDITOR._.pending;for(var a=0;a",d.label,"",'");else{e={type:"hbox",widths:d.widths,padding:0,children:[{type:"html",html:'