rich 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1268) hide show
  1. data/README.rdoc +4 -28
  2. data/app/inputs/rich_input.rb +2 -1
  3. data/lib/rich.rb +2 -18
  4. data/lib/rich/engine.rb +2 -1
  5. data/lib/rich/version.rb +1 -1
  6. data/test/dummy/app/assets/javascripts/active_admin.js +2 -1
  7. data/test/dummy/config/environments/production.rb +2 -2
  8. data/test/dummy/config/initializers/active_admin.rb +0 -1
  9. data/test/dummy/db/development.sqlite3 +0 -0
  10. data/test/dummy/log/production.log +1180 -0
  11. data/test/dummy/public/assets/active_admin-01ff270d2fd5afb05ef16ff57871c7d4.css +1 -0
  12. data/test/dummy/public/assets/active_admin-01ff270d2fd5afb05ef16ff57871c7d4.css.gz +0 -0
  13. data/test/dummy/public/assets/active_admin-b35ea57d958ab0dfdb4ab002ae2c5baf.js +30 -0
  14. data/test/dummy/public/assets/active_admin-b35ea57d958ab0dfdb4ab002ae2c5baf.js.gz +0 -0
  15. data/test/dummy/public/assets/active_admin.css +1 -0
  16. data/test/dummy/public/assets/active_admin.css.gz +0 -0
  17. data/test/dummy/public/assets/active_admin.js +30 -0
  18. data/test/dummy/public/assets/active_admin.js.gz +0 -0
  19. data/test/dummy/public/assets/active_admin/admin_notes_icon-d3076b67b8655afc5cf14bf244c34db5.png +0 -0
  20. data/test/dummy/public/assets/active_admin/admin_notes_icon.png +0 -0
  21. data/test/dummy/public/assets/active_admin/datepicker/datepicker-header-bg-c73514e723fd274903d96ff0afd8e7f7.png +0 -0
  22. data/test/dummy/public/assets/active_admin/datepicker/datepicker-header-bg.png +0 -0
  23. data/test/dummy/public/assets/active_admin/datepicker/datepicker-input-icon-e48beac5b8da2344985c5d2afe6159dd.png +0 -0
  24. data/test/dummy/public/assets/active_admin/datepicker/datepicker-input-icon.png +0 -0
  25. data/test/dummy/public/assets/active_admin/datepicker/datepicker-next-link-icon-a4e4790f8884aa625c4bd9c1725b1545.png +0 -0
  26. data/test/dummy/public/assets/active_admin/datepicker/datepicker-next-link-icon.png +0 -0
  27. data/test/dummy/public/assets/active_admin/datepicker/datepicker-nipple-5d9a7fdc4a5ca1c5903fa0715a5ca080.png +0 -0
  28. data/test/dummy/public/assets/active_admin/datepicker/datepicker-nipple.png +0 -0
  29. data/test/dummy/public/assets/active_admin/datepicker/datepicker-prev-link-icon-15b83a974894f1b0af22bc30ca5c3fc5.png +0 -0
  30. data/test/dummy/public/assets/active_admin/datepicker/datepicker-prev-link-icon.png +0 -0
  31. data/test/dummy/public/assets/active_admin/loading-c20cbb5cb54528680d74c8f7a393b3e3.gif +0 -0
  32. data/test/dummy/public/assets/active_admin/loading.gif +0 -0
  33. data/test/dummy/public/assets/active_admin/nested_menu_arrow-7093fa8e6f12c2a688313e17f6182da9.gif +0 -0
  34. data/test/dummy/public/assets/active_admin/nested_menu_arrow.gif +0 -0
  35. data/test/dummy/public/assets/active_admin/nested_menu_arrow_dark-37327cd654d1a4d1bbef43afbeed01da.gif +0 -0
  36. data/test/dummy/public/assets/active_admin/nested_menu_arrow_dark.gif +0 -0
  37. data/test/dummy/public/assets/active_admin/orderable-312cf8ad195f38825b0fb3d7447aef58.png +0 -0
  38. data/test/dummy/public/assets/active_admin/orderable.png +0 -0
  39. data/test/dummy/public/assets/application-f15961e25792db6864b7ab845e486124.js +29 -0
  40. data/test/dummy/public/assets/application-f15961e25792db6864b7ab845e486124.js.gz +0 -0
  41. data/test/dummy/public/assets/application-f34ae8ea29557795cf85905999cc80b2.css +1 -0
  42. data/test/dummy/public/assets/application-f34ae8ea29557795cf85905999cc80b2.css.gz +0 -0
  43. data/test/dummy/public/assets/application.css +1 -0
  44. data/test/dummy/public/assets/application.css.gz +0 -0
  45. data/test/dummy/public/assets/application.js +29 -0
  46. data/test/dummy/public/assets/application.js.gz +0 -0
  47. data/test/dummy/public/assets/ckeditor/CHANGES-bde20c28392aa62188c69ce3c4c9a46f.html +1433 -0
  48. data/test/dummy/public/assets/ckeditor/CHANGES.html +1433 -0
  49. data/test/dummy/public/assets/ckeditor/INSTALL-976668b7bad85a515cf0e7abe866daa5.html +92 -0
  50. data/test/dummy/public/assets/ckeditor/INSTALL.html +92 -0
  51. data/test/dummy/public/assets/ckeditor/LICENSE-9eb3d59310bb19013cc29efddb4106b0.html +1327 -0
  52. data/test/dummy/public/assets/ckeditor/LICENSE.html +1327 -0
  53. data/test/dummy/public/assets/ckeditor/_samples/adobeair/application-b8ddce42fe88e25daba41a48b1e560c5.xml +32 -0
  54. data/test/dummy/public/assets/ckeditor/_samples/adobeair/application.xml +32 -0
  55. data/test/dummy/public/assets/ckeditor/_samples/adobeair/run-3ba9e942bf6916ddc4d5a14d3ec778f6.bat +9 -0
  56. data/test/dummy/public/assets/ckeditor/_samples/adobeair/run-ce1ddd042108a5bbd554c4083464ffdb.sh +8 -0
  57. data/test/dummy/public/assets/ckeditor/_samples/adobeair/run.bat +9 -0
  58. data/test/dummy/public/assets/ckeditor/_samples/adobeair/run.sh +8 -0
  59. data/test/dummy/public/assets/ckeditor/_samples/adobeair/sample-669a8b1f701f2d83e6c337cf1d5608dc.html +45 -0
  60. data/test/dummy/public/assets/ckeditor/_samples/adobeair/sample.html +45 -0
  61. data/test/dummy/public/assets/ckeditor/_samples/ajax-c04185bec0ccde0d6927aa6c8cd81e47.html +98 -0
  62. data/test/dummy/public/assets/ckeditor/_samples/ajax.html +98 -0
  63. data/test/dummy/public/assets/ckeditor/_samples/api-05378ffae0c90f1751955b7e5d88344b.html +192 -0
  64. data/test/dummy/public/assets/ckeditor/_samples/api.html +192 -0
  65. data/test/dummy/public/assets/ckeditor/_samples/api_dialog-c1574f626ff54b387063610606b9ec52.html +198 -0
  66. data/test/dummy/public/assets/ckeditor/_samples/api_dialog.html +198 -0
  67. data/test/dummy/public/assets/ckeditor/_samples/api_dialog/my_dialog.js +28 -0
  68. data/test/dummy/public/assets/ckeditor/_samples/asp/advanced-8d70e31ab25ce3e66835b4c8fafad8c7.asp +105 -0
  69. data/test/dummy/public/assets/ckeditor/_samples/asp/advanced.asp +105 -0
  70. data/test/dummy/public/assets/ckeditor/_samples/asp/events-cb681459ea362f56ad7cbb861e74a5a9.asp +136 -0
  71. data/test/dummy/public/assets/ckeditor/_samples/asp/events.asp +136 -0
  72. data/test/dummy/public/assets/ckeditor/_samples/asp/index-d49218607910f8162306f627245fc13e.html +103 -0
  73. data/test/dummy/public/assets/ckeditor/_samples/asp/index.html +103 -0
  74. data/test/dummy/public/assets/ckeditor/_samples/asp/replace-a912fa7cd6d47c60f486cd872262cbcf.asp +72 -0
  75. data/test/dummy/public/assets/ckeditor/_samples/asp/replace.asp +72 -0
  76. data/test/dummy/public/assets/ckeditor/_samples/asp/replaceall-054a89f7b9d2d990c9a610f2192cac5f.asp +77 -0
  77. data/test/dummy/public/assets/ckeditor/_samples/asp/replaceall.asp +77 -0
  78. data/test/dummy/public/assets/ckeditor/_samples/asp/sample_posteddata-ff4972da3bed89477711a0ad3f29bbe4.asp +46 -0
  79. data/test/dummy/public/assets/ckeditor/_samples/asp/sample_posteddata.asp +46 -0
  80. data/test/dummy/public/assets/ckeditor/_samples/asp/standalone-a610f43edf234b64ab67b970461f1224.asp +72 -0
  81. data/test/dummy/public/assets/ckeditor/_samples/asp/standalone.asp +72 -0
  82. data/test/dummy/public/assets/ckeditor/_samples/assets/_posteddata-3a714a7667de2835fb1b230bb36b9f8a.php +59 -0
  83. data/test/dummy/public/assets/ckeditor/_samples/assets/_posteddata.php +59 -0
  84. data/test/dummy/public/assets/ckeditor/_samples/assets/output_for_flash-286e4dde2d4851e9966fcf360a733a00.fla +0 -0
  85. data/test/dummy/public/assets/ckeditor/_samples/assets/output_for_flash-b80819e52a12367582876a1a7ee34036.swf +0 -0
  86. data/test/dummy/public/assets/ckeditor/_samples/assets/output_for_flash.fla +0 -0
  87. data/test/dummy/public/assets/ckeditor/_samples/assets/output_for_flash.swf +0 -0
  88. data/test/dummy/public/assets/ckeditor/_samples/assets/output_xhtml.css +204 -0
  89. data/test/dummy/public/assets/ckeditor/_samples/assets/parsesample.css +70 -0
  90. data/test/dummy/public/assets/ckeditor/_samples/assets/swfobject.js +18 -0
  91. data/test/dummy/public/assets/ckeditor/_samples/autogrow-3ef79da534764614eb7f81b67225f4ec.html +108 -0
  92. data/test/dummy/public/assets/ckeditor/_samples/autogrow.html +108 -0
  93. data/test/dummy/public/assets/ckeditor/_samples/bbcode-27961c95420d80a7b1ea50f1c96c32e6.html +125 -0
  94. data/test/dummy/public/assets/ckeditor/_samples/bbcode.html +125 -0
  95. data/test/dummy/public/assets/ckeditor/_samples/devtools-4aea8a6d4b9b2eb6497093e14d0f8b2c.html +94 -0
  96. data/test/dummy/public/assets/ckeditor/_samples/devtools.html +94 -0
  97. data/test/dummy/public/assets/ckeditor/_samples/divreplace-c24c0466858e65fa6592542819a86537.html +154 -0
  98. data/test/dummy/public/assets/ckeditor/_samples/divreplace.html +154 -0
  99. data/test/dummy/public/assets/ckeditor/_samples/enterkey-b305bdb34a6e71f33e1f1d0f00af4920.html +115 -0
  100. data/test/dummy/public/assets/ckeditor/_samples/enterkey.html +115 -0
  101. data/test/dummy/public/assets/ckeditor/_samples/fullpage-caa3e346a6695b5d05d2cd59e03961dd.html +82 -0
  102. data/test/dummy/public/assets/ckeditor/_samples/fullpage.html +82 -0
  103. data/test/dummy/public/assets/ckeditor/_samples/index-794a327e8ed4fd665142c6dd168f29e5.html +116 -0
  104. data/test/dummy/public/assets/ckeditor/_samples/index.html +116 -0
  105. data/test/dummy/public/assets/ckeditor/_samples/jqueryadapter-854d544f3144335d82c2bf4605922751.html +99 -0
  106. data/test/dummy/public/assets/ckeditor/_samples/jqueryadapter.html +99 -0
  107. data/test/dummy/public/assets/ckeditor/_samples/output_for_flash-70dc6574e836523b1f4949aee75f0c67.html +275 -0
  108. data/test/dummy/public/assets/ckeditor/_samples/output_for_flash.html +275 -0
  109. data/test/dummy/public/assets/ckeditor/_samples/output_html-40b778e3d3ff8fcc745b8e461c3a453a.html +285 -0
  110. data/test/dummy/public/assets/ckeditor/_samples/output_html.html +285 -0
  111. data/test/dummy/public/assets/ckeditor/_samples/output_xhtml-9367ad864842f567b0e5cee1b22bf79b.html +177 -0
  112. data/test/dummy/public/assets/ckeditor/_samples/output_xhtml.html +177 -0
  113. data/test/dummy/public/assets/ckeditor/_samples/php/advanced-79d5ab1009804056cc6c44f961f199d3.php +120 -0
  114. data/test/dummy/public/assets/ckeditor/_samples/php/advanced.php +120 -0
  115. data/test/dummy/public/assets/ckeditor/_samples/php/events-b04c5ed4d0ff844d66ac6853cfbc66e0.php +153 -0
  116. data/test/dummy/public/assets/ckeditor/_samples/php/events.php +153 -0
  117. data/test/dummy/public/assets/ckeditor/_samples/php/index-f65a03a4d9e448cfbc4c7c4e5e65f7d2.html +47 -0
  118. data/test/dummy/public/assets/ckeditor/_samples/php/index.html +47 -0
  119. data/test/dummy/public/assets/ckeditor/_samples/php/replace-05df25d8602f3a48ea72f6f714af921a.php +87 -0
  120. data/test/dummy/public/assets/ckeditor/_samples/php/replace.php +87 -0
  121. data/test/dummy/public/assets/ckeditor/_samples/php/replaceall-b09ac2f9dd5ed288b78ee0ad12f6f043.php +88 -0
  122. data/test/dummy/public/assets/ckeditor/_samples/php/replaceall.php +88 -0
  123. data/test/dummy/public/assets/ckeditor/_samples/php/standalone-518d7656c6a148aca76f825aa423f1ba.php +83 -0
  124. data/test/dummy/public/assets/ckeditor/_samples/php/standalone.php +83 -0
  125. data/test/dummy/public/assets/ckeditor/_samples/placeholder-646b8d8ba8e35818149f89d41099bc53.html +81 -0
  126. data/test/dummy/public/assets/ckeditor/_samples/placeholder.html +81 -0
  127. data/test/dummy/public/assets/ckeditor/_samples/readonly-a9d351bdb32e400a3292eb867a9aa2a5.html +91 -0
  128. data/test/dummy/public/assets/ckeditor/_samples/readonly.html +91 -0
  129. data/test/dummy/public/assets/ckeditor/_samples/replacebyclass-d81d0e83a495a30bc16a5fa1ccdeec70.html +64 -0
  130. data/test/dummy/public/assets/ckeditor/_samples/replacebyclass.html +64 -0
  131. data/test/dummy/public/assets/ckeditor/_samples/replacebycode-1d41977ecaf260eba7d3155b74b7f56b.html +97 -0
  132. data/test/dummy/public/assets/ckeditor/_samples/replacebycode.html +97 -0
  133. data/test/dummy/public/assets/ckeditor/_samples/sample.css +163 -0
  134. data/test/dummy/public/assets/ckeditor/_samples/sample.js +65 -0
  135. data/test/dummy/public/assets/ckeditor/_samples/sample_posteddata-4c3c9855af8d48026faa9db7458ae1af.php +21 -0
  136. data/test/dummy/public/assets/ckeditor/_samples/sample_posteddata.php +21 -0
  137. data/test/dummy/public/assets/ckeditor/_samples/sharedspaces-bcf695d9854ced903aad0a1ca330c63d.html +153 -0
  138. data/test/dummy/public/assets/ckeditor/_samples/sharedspaces.html +153 -0
  139. data/test/dummy/public/assets/ckeditor/_samples/skins-85adce3129893bf7ec319bc318116a26.html +110 -0
  140. data/test/dummy/public/assets/ckeditor/_samples/skins.html +110 -0
  141. data/test/dummy/public/assets/ckeditor/_samples/stylesheetparser-e35db77372a283ea1ebf9a2eec221fba.html +93 -0
  142. data/test/dummy/public/assets/ckeditor/_samples/stylesheetparser.html +93 -0
  143. data/test/dummy/public/assets/ckeditor/_samples/tableresize-c75cb3e30cfc2861cb8e1b041a245520.html +115 -0
  144. data/test/dummy/public/assets/ckeditor/_samples/tableresize.html +115 -0
  145. data/test/dummy/public/assets/ckeditor/_samples/ui_color-f00be6823bfbe18cad7b94b767e67117.html +129 -0
  146. data/test/dummy/public/assets/ckeditor/_samples/ui_color.html +129 -0
  147. data/test/dummy/public/assets/ckeditor/_samples/ui_languages-f40b804a823318024e3faccd51a7e3f1.html +134 -0
  148. data/test/dummy/public/assets/ckeditor/_samples/ui_languages.html +134 -0
  149. data/test/dummy/public/assets/ckeditor/_source/adapters/jquery.js +306 -0
  150. data/test/dummy/public/assets/ckeditor/_source/core/_bootstrap.js +87 -0
  151. data/test/dummy/public/assets/ckeditor/_source/core/ckeditor.js +141 -0
  152. data/test/dummy/public/assets/ckeditor/_source/core/ckeditor_base.js +227 -0
  153. data/test/dummy/public/assets/ckeditor/_source/core/ckeditor_basic.js +238 -0
  154. data/test/dummy/public/assets/ckeditor/_source/core/command.js +209 -0
  155. data/test/dummy/public/assets/ckeditor/_source/core/commanddefinition.js +129 -0
  156. data/test/dummy/public/assets/ckeditor/_source/core/config.js +439 -0
  157. data/test/dummy/public/assets/ckeditor/_source/core/dataprocessor.js +65 -0
  158. data/test/dummy/public/assets/ckeditor/_source/core/dom.js +20 -0
  159. data/test/dummy/public/assets/ckeditor/_source/core/dom/comment.js +32 -0
  160. data/test/dummy/public/assets/ckeditor/_source/core/dom/document.js +251 -0
  161. data/test/dummy/public/assets/ckeditor/_source/core/dom/documentfragment.js +49 -0
  162. data/test/dummy/public/assets/ckeditor/_source/core/dom/domobject.js +258 -0
  163. data/test/dummy/public/assets/ckeditor/_source/core/dom/element.js +1691 -0
  164. data/test/dummy/public/assets/ckeditor/_source/core/dom/elementpath.js +119 -0
  165. data/test/dummy/public/assets/ckeditor/_source/core/dom/event.js +145 -0
  166. data/test/dummy/public/assets/ckeditor/_source/core/dom/node.js +696 -0
  167. data/test/dummy/public/assets/ckeditor/_source/core/dom/nodelist.js +26 -0
  168. data/test/dummy/public/assets/ckeditor/_source/core/dom/range.js +2054 -0
  169. data/test/dummy/public/assets/ckeditor/_source/core/dom/rangelist.js +213 -0
  170. data/test/dummy/public/assets/ckeditor/_source/core/dom/text.js +128 -0
  171. data/test/dummy/public/assets/ckeditor/_source/core/dom/walker.js +462 -0
  172. data/test/dummy/public/assets/ckeditor/_source/core/dom/window.js +96 -0
  173. data/test/dummy/public/assets/ckeditor/_source/core/dtd.js +266 -0
  174. data/test/dummy/public/assets/ckeditor/_source/core/editor.js +1059 -0
  175. data/test/dummy/public/assets/ckeditor/_source/core/editor_basic.js +186 -0
  176. data/test/dummy/public/assets/ckeditor/_source/core/env.js +305 -0
  177. data/test/dummy/public/assets/ckeditor/_source/core/event.js +342 -0
  178. data/test/dummy/public/assets/ckeditor/_source/core/eventInfo.js +120 -0
  179. data/test/dummy/public/assets/ckeditor/_source/core/focusmanager.js +152 -0
  180. data/test/dummy/public/assets/ckeditor/_source/core/htmlparser.js +224 -0
  181. data/test/dummy/public/assets/ckeditor/_source/core/htmlparser/basicwriter.js +145 -0
  182. data/test/dummy/public/assets/ckeditor/_source/core/htmlparser/cdata.js +43 -0
  183. data/test/dummy/public/assets/ckeditor/_source/core/htmlparser/comment.js +60 -0
  184. data/test/dummy/public/assets/ckeditor/_source/core/htmlparser/element.js +308 -0
  185. data/test/dummy/public/assets/ckeditor/_source/core/htmlparser/filter.js +288 -0
  186. data/test/dummy/public/assets/ckeditor/_source/core/htmlparser/fragment.js +518 -0
  187. data/test/dummy/public/assets/ckeditor/_source/core/htmlparser/text.js +53 -0
  188. data/test/dummy/public/assets/ckeditor/_source/core/lang.js +157 -0
  189. data/test/dummy/public/assets/ckeditor/_source/core/loader.js +240 -0
  190. data/test/dummy/public/assets/ckeditor/_source/core/plugindefinition.js +83 -0
  191. data/test/dummy/public/assets/ckeditor/_source/core/plugins.js +103 -0
  192. data/test/dummy/public/assets/ckeditor/_source/core/resourcemanager.js +238 -0
  193. data/test/dummy/public/assets/ckeditor/_source/core/scriptloader.js +180 -0
  194. data/test/dummy/public/assets/ckeditor/_source/core/skins.js +184 -0
  195. data/test/dummy/public/assets/ckeditor/_source/core/themes.js +19 -0
  196. data/test/dummy/public/assets/ckeditor/_source/core/tools.js +763 -0
  197. data/test/dummy/public/assets/ckeditor/_source/core/ui.js +128 -0
  198. data/test/dummy/public/assets/ckeditor/_source/lang/_languages.js +84 -0
  199. data/test/dummy/public/assets/ckeditor/_source/lang/_translationstatus-58be1ae4db275d7eb31a7e5b4fdd9e2a.txt +61 -0
  200. data/test/dummy/public/assets/ckeditor/_source/lang/_translationstatus.txt +61 -0
  201. data/test/dummy/public/assets/ckeditor/_source/lang/af.js +815 -0
  202. data/test/dummy/public/assets/ckeditor/_source/lang/ar.js +815 -0
  203. data/test/dummy/public/assets/ckeditor/_source/lang/bg.js +815 -0
  204. data/test/dummy/public/assets/ckeditor/_source/lang/bn.js +815 -0
  205. data/test/dummy/public/assets/ckeditor/_source/lang/bs.js +815 -0
  206. data/test/dummy/public/assets/ckeditor/_source/lang/ca.js +815 -0
  207. data/test/dummy/public/assets/ckeditor/_source/lang/cs.js +815 -0
  208. data/test/dummy/public/assets/ckeditor/_source/lang/cy.js +815 -0
  209. data/test/dummy/public/assets/ckeditor/_source/lang/da.js +815 -0
  210. data/test/dummy/public/assets/ckeditor/_source/lang/de.js +815 -0
  211. data/test/dummy/public/assets/ckeditor/_source/lang/el.js +815 -0
  212. data/test/dummy/public/assets/ckeditor/_source/lang/en-au.js +815 -0
  213. data/test/dummy/public/assets/ckeditor/_source/lang/en-ca.js +815 -0
  214. data/test/dummy/public/assets/ckeditor/_source/lang/en-gb.js +815 -0
  215. data/test/dummy/public/assets/ckeditor/_source/lang/en.js +815 -0
  216. data/test/dummy/public/assets/ckeditor/_source/lang/eo.js +815 -0
  217. data/test/dummy/public/assets/ckeditor/_source/lang/es.js +815 -0
  218. data/test/dummy/public/assets/ckeditor/_source/lang/et.js +815 -0
  219. data/test/dummy/public/assets/ckeditor/_source/lang/eu.js +815 -0
  220. data/test/dummy/public/assets/ckeditor/_source/lang/fa.js +815 -0
  221. data/test/dummy/public/assets/ckeditor/_source/lang/fi.js +815 -0
  222. data/test/dummy/public/assets/ckeditor/_source/lang/fo.js +815 -0
  223. data/test/dummy/public/assets/ckeditor/_source/lang/fr-ca.js +815 -0
  224. data/test/dummy/public/assets/ckeditor/_source/lang/fr.js +815 -0
  225. data/test/dummy/public/assets/ckeditor/_source/lang/gl.js +815 -0
  226. data/test/dummy/public/assets/ckeditor/_source/lang/gu.js +815 -0
  227. data/test/dummy/public/assets/ckeditor/_source/lang/he.js +815 -0
  228. data/test/dummy/public/assets/ckeditor/_source/lang/hi.js +815 -0
  229. data/test/dummy/public/assets/ckeditor/_source/lang/hr.js +815 -0
  230. data/test/dummy/public/assets/ckeditor/_source/lang/hu.js +815 -0
  231. data/test/dummy/public/assets/ckeditor/_source/lang/is.js +815 -0
  232. data/test/dummy/public/assets/ckeditor/_source/lang/it.js +815 -0
  233. data/test/dummy/public/assets/ckeditor/_source/lang/ja.js +815 -0
  234. data/test/dummy/public/assets/ckeditor/_source/lang/ka.js +815 -0
  235. data/test/dummy/public/assets/ckeditor/_source/lang/km.js +815 -0
  236. data/test/dummy/public/assets/ckeditor/_source/lang/ko.js +815 -0
  237. data/test/dummy/public/assets/ckeditor/_source/lang/lt.js +815 -0
  238. data/test/dummy/public/assets/ckeditor/_source/lang/lv.js +815 -0
  239. data/test/dummy/public/assets/ckeditor/_source/lang/mn.js +815 -0
  240. data/test/dummy/public/assets/ckeditor/_source/lang/ms.js +815 -0
  241. data/test/dummy/public/assets/ckeditor/_source/lang/nb.js +815 -0
  242. data/test/dummy/public/assets/ckeditor/_source/lang/nl.js +815 -0
  243. data/test/dummy/public/assets/ckeditor/_source/lang/no.js +815 -0
  244. data/test/dummy/public/assets/ckeditor/_source/lang/pl.js +815 -0
  245. data/test/dummy/public/assets/ckeditor/_source/lang/pt-br.js +814 -0
  246. data/test/dummy/public/assets/ckeditor/_source/lang/pt.js +815 -0
  247. data/test/dummy/public/assets/ckeditor/_source/lang/ro.js +815 -0
  248. data/test/dummy/public/assets/ckeditor/_source/lang/ru.js +815 -0
  249. data/test/dummy/public/assets/ckeditor/_source/lang/sk.js +815 -0
  250. data/test/dummy/public/assets/ckeditor/_source/lang/sl.js +815 -0
  251. data/test/dummy/public/assets/ckeditor/_source/lang/sr-latn.js +815 -0
  252. data/test/dummy/public/assets/ckeditor/_source/lang/sr.js +815 -0
  253. data/test/dummy/public/assets/ckeditor/_source/lang/sv.js +814 -0
  254. data/test/dummy/public/assets/ckeditor/_source/lang/th.js +815 -0
  255. data/test/dummy/public/assets/ckeditor/_source/lang/tr.js +814 -0
  256. data/test/dummy/public/assets/ckeditor/_source/lang/uk.js +815 -0
  257. data/test/dummy/public/assets/ckeditor/_source/lang/vi.js +815 -0
  258. data/test/dummy/public/assets/ckeditor/_source/lang/zh-cn.js +815 -0
  259. data/test/dummy/public/assets/ckeditor/_source/lang/zh.js +815 -0
  260. data/test/dummy/public/assets/ckeditor/_source/plugins/a11yhelp/dialogs/a11yhelp.js +222 -0
  261. data/test/dummy/public/assets/ckeditor/_source/plugins/a11yhelp/lang/en.js +108 -0
  262. data/test/dummy/public/assets/ckeditor/_source/plugins/a11yhelp/lang/he.js +216 -0
  263. data/test/dummy/public/assets/ckeditor/_source/plugins/a11yhelp/plugin.js +47 -0
  264. data/test/dummy/public/assets/ckeditor/_source/plugins/about/dialogs/about.js +76 -0
  265. data/test/dummy/public/assets/ckeditor/_source/plugins/about/dialogs/logo_ckeditor-23d870d1ed71ce5e586ffae0400ff744.png +0 -0
  266. data/test/dummy/public/assets/ckeditor/_source/plugins/about/dialogs/logo_ckeditor.png +0 -0
  267. data/test/dummy/public/assets/ckeditor/_source/plugins/about/plugin.js +24 -0
  268. data/test/dummy/public/assets/ckeditor/_source/plugins/adobeair/plugin.js +228 -0
  269. data/test/dummy/public/assets/ckeditor/_source/plugins/ajax/plugin.js +152 -0
  270. data/test/dummy/public/assets/ckeditor/_source/plugins/autogrow/plugin.js +141 -0
  271. data/test/dummy/public/assets/ckeditor/_source/plugins/basicstyles/plugin.js +129 -0
  272. data/test/dummy/public/assets/ckeditor/_source/plugins/bbcode/plugin.js +931 -0
  273. data/test/dummy/public/assets/ckeditor/_source/plugins/bidi/plugin.js +334 -0
  274. data/test/dummy/public/assets/ckeditor/_source/plugins/blockquote/plugin.js +305 -0
  275. data/test/dummy/public/assets/ckeditor/_source/plugins/button/plugin.js +290 -0
  276. data/test/dummy/public/assets/ckeditor/_source/plugins/clipboard/dialogs/paste.js +223 -0
  277. data/test/dummy/public/assets/ckeditor/_source/plugins/clipboard/plugin.js +453 -0
  278. data/test/dummy/public/assets/ckeditor/_source/plugins/colorbutton/plugin.js +301 -0
  279. data/test/dummy/public/assets/ckeditor/_source/plugins/colordialog/dialogs/colordialog.js +340 -0
  280. data/test/dummy/public/assets/ckeditor/_source/plugins/colordialog/plugin.js +15 -0
  281. data/test/dummy/public/assets/ckeditor/_source/plugins/contextmenu/plugin.js +179 -0
  282. data/test/dummy/public/assets/ckeditor/_source/plugins/devtools/lang/en.js +16 -0
  283. data/test/dummy/public/assets/ckeditor/_source/plugins/devtools/plugin.js +173 -0
  284. data/test/dummy/public/assets/ckeditor/_source/plugins/dialog/dialogDefinition.js +1166 -0
  285. data/test/dummy/public/assets/ckeditor/_source/plugins/dialog/plugin.js +3308 -0
  286. data/test/dummy/public/assets/ckeditor/_source/plugins/dialogadvtab/plugin.js +208 -0
  287. data/test/dummy/public/assets/ckeditor/_source/plugins/dialogui/plugin.js +1541 -0
  288. data/test/dummy/public/assets/ckeditor/_source/plugins/div/dialogs/div.js +535 -0
  289. data/test/dummy/public/assets/ckeditor/_source/plugins/div/plugin.js +121 -0
  290. data/test/dummy/public/assets/ckeditor/_source/plugins/docprops/dialogs/docprops.js +674 -0
  291. data/test/dummy/public/assets/ckeditor/_source/plugins/docprops/plugin.js +22 -0
  292. data/test/dummy/public/assets/ckeditor/_source/plugins/domiterator/plugin.js +361 -0
  293. data/test/dummy/public/assets/ckeditor/_source/plugins/editingblock/plugin.js +278 -0
  294. data/test/dummy/public/assets/ckeditor/_source/plugins/elementspath/plugin.js +218 -0
  295. data/test/dummy/public/assets/ckeditor/_source/plugins/enterkey/plugin.js +433 -0
  296. data/test/dummy/public/assets/ckeditor/_source/plugins/entities/plugin.js +250 -0
  297. data/test/dummy/public/assets/ckeditor/_source/plugins/fakeobjects/plugin.js +175 -0
  298. data/test/dummy/public/assets/ckeditor/_source/plugins/filebrowser/plugin.js +534 -0
  299. data/test/dummy/public/assets/ckeditor/_source/plugins/find/dialogs/find.js +915 -0
  300. data/test/dummy/public/assets/ckeditor/_source/plugins/find/plugin.js +47 -0
  301. data/test/dummy/public/assets/ckeditor/_source/plugins/flash/dialogs/flash.js +674 -0
  302. data/test/dummy/public/assets/ckeditor/_source/plugins/flash/images/placeholder-2523aeb6efa394f0835cb7d9c1488c77.png +0 -0
  303. data/test/dummy/public/assets/ckeditor/_source/plugins/flash/images/placeholder.png +0 -0
  304. data/test/dummy/public/assets/ckeditor/_source/plugins/flash/plugin.js +154 -0
  305. data/test/dummy/public/assets/ckeditor/_source/plugins/floatpanel/plugin.js +428 -0
  306. data/test/dummy/public/assets/ckeditor/_source/plugins/font/plugin.js +234 -0
  307. data/test/dummy/public/assets/ckeditor/_source/plugins/format/plugin.js +197 -0
  308. data/test/dummy/public/assets/ckeditor/_source/plugins/forms/dialogs/button.js +118 -0
  309. data/test/dummy/public/assets/ckeditor/_source/plugins/forms/dialogs/checkbox.js +153 -0
  310. data/test/dummy/public/assets/ckeditor/_source/plugins/forms/dialogs/form.js +177 -0
  311. data/test/dummy/public/assets/ckeditor/_source/plugins/forms/dialogs/hiddenfield.js +100 -0
  312. data/test/dummy/public/assets/ckeditor/_source/plugins/forms/dialogs/radio.js +135 -0
  313. data/test/dummy/public/assets/ckeditor/_source/plugins/forms/dialogs/select.js +558 -0
  314. data/test/dummy/public/assets/ckeditor/_source/plugins/forms/dialogs/textarea.js +135 -0
  315. data/test/dummy/public/assets/ckeditor/_source/plugins/forms/dialogs/textfield.js +199 -0
  316. data/test/dummy/public/assets/ckeditor/_source/plugins/forms/images/hiddenfield-936f3f266258d459fc0a9a6217a0b056.gif +0 -0
  317. data/test/dummy/public/assets/ckeditor/_source/plugins/forms/images/hiddenfield.gif +0 -0
  318. data/test/dummy/public/assets/ckeditor/_source/plugins/forms/plugin.js +288 -0
  319. data/test/dummy/public/assets/ckeditor/_source/plugins/horizontalrule/plugin.js +48 -0
  320. data/test/dummy/public/assets/ckeditor/_source/plugins/htmldataprocessor/plugin.js +596 -0
  321. data/test/dummy/public/assets/ckeditor/_source/plugins/htmlwriter/plugin.js +319 -0
  322. data/test/dummy/public/assets/ckeditor/_source/plugins/iframe/dialogs/iframe.js +229 -0
  323. data/test/dummy/public/assets/ckeditor/_source/plugins/iframe/images/placeholder-f55cfd987744bc8e0d297e75cd483923.png +0 -0
  324. data/test/dummy/public/assets/ckeditor/_source/plugins/iframe/images/placeholder.png +0 -0
  325. data/test/dummy/public/assets/ckeditor/_source/plugins/iframe/plugin.js +87 -0
  326. data/test/dummy/public/assets/ckeditor/_source/plugins/iframedialog/plugin.js +188 -0
  327. data/test/dummy/public/assets/ckeditor/_source/plugins/image/dialogs/image.js +1407 -0
  328. data/test/dummy/public/assets/ckeditor/_source/plugins/image/plugin.js +81 -0
  329. data/test/dummy/public/assets/ckeditor/_source/plugins/indent/plugin.js +461 -0
  330. data/test/dummy/public/assets/ckeditor/_source/plugins/justify/plugin.js +253 -0
  331. data/test/dummy/public/assets/ckeditor/_source/plugins/keystrokes/plugin.js +225 -0
  332. data/test/dummy/public/assets/ckeditor/_source/plugins/link/dialogs/anchor.js +144 -0
  333. data/test/dummy/public/assets/ckeditor/_source/plugins/link/dialogs/link.js +1425 -0
  334. data/test/dummy/public/assets/ckeditor/_source/plugins/link/images/anchor-fcffa3020aea6d54c634de5ba79c055e.gif +0 -0
  335. data/test/dummy/public/assets/ckeditor/_source/plugins/link/images/anchor.gif +0 -0
  336. data/test/dummy/public/assets/ckeditor/_source/plugins/link/plugin.js +374 -0
  337. data/test/dummy/public/assets/ckeditor/_source/plugins/list/plugin.js +774 -0
  338. data/test/dummy/public/assets/ckeditor/_source/plugins/listblock/plugin.js +266 -0
  339. data/test/dummy/public/assets/ckeditor/_source/plugins/liststyle/dialogs/liststyle.js +225 -0
  340. data/test/dummy/public/assets/ckeditor/_source/plugins/liststyle/plugin.js +66 -0
  341. data/test/dummy/public/assets/ckeditor/_source/plugins/maximize/plugin.js +353 -0
  342. data/test/dummy/public/assets/ckeditor/_source/plugins/menu/plugin.js +541 -0
  343. data/test/dummy/public/assets/ckeditor/_source/plugins/menubutton/plugin.js +98 -0
  344. data/test/dummy/public/assets/ckeditor/_source/plugins/newpage/plugin.js +55 -0
  345. data/test/dummy/public/assets/ckeditor/_source/plugins/pagebreak/images/pagebreak-699e13d3b4786f15aee9ca768d58ea19.gif +0 -0
  346. data/test/dummy/public/assets/ckeditor/_source/plugins/pagebreak/images/pagebreak.gif +0 -0
  347. data/test/dummy/public/assets/ckeditor/_source/plugins/pagebreak/plugin.js +164 -0
  348. data/test/dummy/public/assets/ckeditor/_source/plugins/panel/plugin.js +400 -0
  349. data/test/dummy/public/assets/ckeditor/_source/plugins/panelbutton/plugin.js +144 -0
  350. data/test/dummy/public/assets/ckeditor/_source/plugins/pastefromword/filter/default.js +1367 -0
  351. data/test/dummy/public/assets/ckeditor/_source/plugins/pastefromword/plugin.js +141 -0
  352. data/test/dummy/public/assets/ckeditor/_source/plugins/pastetext/dialogs/pastetext.js +67 -0
  353. data/test/dummy/public/assets/ckeditor/_source/plugins/pastetext/plugin.js +98 -0
  354. data/test/dummy/public/assets/ckeditor/_source/plugins/placeholder/dialogs/placeholder.js +71 -0
  355. data/test/dummy/public/assets/ckeditor/_source/plugins/placeholder/lang/en.js +16 -0
  356. data/test/dummy/public/assets/ckeditor/_source/plugins/placeholder/lang/he.js +16 -0
  357. data/test/dummy/public/assets/ckeditor/_source/plugins/placeholder/placeholder-5faafb14ee25225246d64dff7bfffbf0.gif +0 -0
  358. data/test/dummy/public/assets/ckeditor/_source/plugins/placeholder/placeholder.gif +0 -0
  359. data/test/dummy/public/assets/ckeditor/_source/plugins/placeholder/plugin.js +171 -0
  360. data/test/dummy/public/assets/ckeditor/_source/plugins/popup/plugin.js +64 -0
  361. data/test/dummy/public/assets/ckeditor/_source/plugins/preview/plugin.js +113 -0
  362. data/test/dummy/public/assets/ckeditor/_source/plugins/print/plugin.js +42 -0
  363. data/test/dummy/public/assets/ckeditor/_source/plugins/removeformat/plugin.js +185 -0
  364. data/test/dummy/public/assets/ckeditor/_source/plugins/resize/plugin.js +168 -0
  365. data/test/dummy/public/assets/ckeditor/_source/plugins/richcombo/plugin.js +381 -0
  366. data/test/dummy/public/assets/ckeditor/_source/plugins/save/plugin.js +56 -0
  367. data/test/dummy/public/assets/ckeditor/_source/plugins/scayt/dialogs/options.js +537 -0
  368. data/test/dummy/public/assets/ckeditor/_source/plugins/scayt/dialogs/toolbar.css +71 -0
  369. data/test/dummy/public/assets/ckeditor/_source/plugins/scayt/plugin.js +973 -0
  370. data/test/dummy/public/assets/ckeditor/_source/plugins/selection/plugin.js +1729 -0
  371. data/test/dummy/public/assets/ckeditor/_source/plugins/showblocks/images/block_address-dc40ba9312bb0710e218987606e3f7f0.png +0 -0
  372. data/test/dummy/public/assets/ckeditor/_source/plugins/showblocks/images/block_address.png +0 -0
  373. data/test/dummy/public/assets/ckeditor/_source/plugins/showblocks/images/block_blockquote-1282e06e43bcabb0856f2124f7ce51f9.png +0 -0
  374. data/test/dummy/public/assets/ckeditor/_source/plugins/showblocks/images/block_blockquote.png +0 -0
  375. data/test/dummy/public/assets/ckeditor/_source/plugins/showblocks/images/block_div-c27c81d18597c829de8e91c9ea39d134.png +0 -0
  376. data/test/dummy/public/assets/ckeditor/_source/plugins/showblocks/images/block_div.png +0 -0
  377. data/test/dummy/public/assets/ckeditor/_source/plugins/showblocks/images/block_h1-50d65857bd34db2aa0d7b5f7dc6a4603.png +0 -0
  378. data/test/dummy/public/assets/ckeditor/_source/plugins/showblocks/images/block_h1.png +0 -0
  379. data/test/dummy/public/assets/ckeditor/_source/plugins/showblocks/images/block_h2-fc92d34b3a2dd29d6bf95ede204d13e3.png +0 -0
  380. data/test/dummy/public/assets/ckeditor/_source/plugins/showblocks/images/block_h2.png +0 -0
  381. data/test/dummy/public/assets/ckeditor/_source/plugins/showblocks/images/block_h3-ebf1718456117a9bea551f9a23dc74c7.png +0 -0
  382. data/test/dummy/public/assets/ckeditor/_source/plugins/showblocks/images/block_h3.png +0 -0
  383. data/test/dummy/public/assets/ckeditor/_source/plugins/showblocks/images/block_h4-a4b70caedfcd4f858f94b8c239e5cba5.png +0 -0
  384. data/test/dummy/public/assets/ckeditor/_source/plugins/showblocks/images/block_h4.png +0 -0
  385. data/test/dummy/public/assets/ckeditor/_source/plugins/showblocks/images/block_h5-2043019ffb4842cc76517fdd416ed19d.png +0 -0
  386. data/test/dummy/public/assets/ckeditor/_source/plugins/showblocks/images/block_h5.png +0 -0
  387. data/test/dummy/public/assets/ckeditor/_source/plugins/showblocks/images/block_h6-350470a92875f09e37ff10adfada6007.png +0 -0
  388. data/test/dummy/public/assets/ckeditor/_source/plugins/showblocks/images/block_h6.png +0 -0
  389. data/test/dummy/public/assets/ckeditor/_source/plugins/showblocks/images/block_p-ec9d023fe50605028d4ab499eb0471a4.png +0 -0
  390. data/test/dummy/public/assets/ckeditor/_source/plugins/showblocks/images/block_p.png +0 -0
  391. data/test/dummy/public/assets/ckeditor/_source/plugins/showblocks/images/block_pre-864ef82e5c5a85693af5a1cf6e319bf8.png +0 -0
  392. data/test/dummy/public/assets/ckeditor/_source/plugins/showblocks/images/block_pre.png +0 -0
  393. data/test/dummy/public/assets/ckeditor/_source/plugins/showblocks/plugin.js +160 -0
  394. data/test/dummy/public/assets/ckeditor/_source/plugins/showborders/plugin.js +207 -0
  395. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/dialogs/smiley.js +224 -0
  396. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/angel_smile-bef270ca78e6fa3b45063d39ec84bc0c.gif +0 -0
  397. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/angel_smile.gif +0 -0
  398. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/angry_smile-bab741f28e98bc6d917ddfec5c0a5ca8.gif +0 -0
  399. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/angry_smile.gif +0 -0
  400. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/broken_heart-2679345851234d3ac7c39a50db187708.gif +0 -0
  401. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/broken_heart.gif +0 -0
  402. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/confused_smile-74cf3920a3740aa276e208a38730732f.gif +0 -0
  403. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/confused_smile.gif +0 -0
  404. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/cry_smile-51647a8a04c77e041b26b761bb838010.gif +0 -0
  405. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/cry_smile.gif +0 -0
  406. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/devil_smile-033fd0723bf91acd7dafeb6c92dce25e.gif +0 -0
  407. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/devil_smile.gif +0 -0
  408. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/embaressed_smile-c8636d2a952d9b0ceeef311e9ec78a4e.gif +0 -0
  409. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/embaressed_smile.gif +0 -0
  410. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/envelope-a1bd4c87ea6901474fec9db4599ec7ee.gif +0 -0
  411. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/envelope.gif +0 -0
  412. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/heart-07ef8afe14a00991c3d436b7e804c761.gif +0 -0
  413. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/heart.gif +0 -0
  414. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/kiss-39a6ead1ca61839652498e2ff6643e66.gif +0 -0
  415. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/kiss.gif +0 -0
  416. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/lightbulb-fdd5a5b671bc3b3bd4dabfc9730bce74.gif +0 -0
  417. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/lightbulb.gif +0 -0
  418. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/omg_smile-c3eb09606761c3991e1de4d9d31a0e73.gif +0 -0
  419. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/omg_smile.gif +0 -0
  420. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/regular_smile-a94edeadc3bfc87a010e9ea79cbc8daa.gif +0 -0
  421. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/regular_smile.gif +0 -0
  422. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/sad_smile-c00123adfc80fb7d76f18daedfaf0ef3.gif +0 -0
  423. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/sad_smile.gif +0 -0
  424. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/shades_smile-69773406c7c9209f5829139f951498d2.gif +0 -0
  425. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/shades_smile.gif +0 -0
  426. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/teeth_smile-688e966965311f30254197f1d062bc7f.gif +0 -0
  427. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/teeth_smile.gif +0 -0
  428. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/thumbs_down-9bddb23dd9680dfd66dd85271574c374.gif +0 -0
  429. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/thumbs_down.gif +0 -0
  430. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/thumbs_up-946b16fd78b6459336ec8ed64b8ee14f.gif +0 -0
  431. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/thumbs_up.gif +0 -0
  432. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/tounge_smile-2446b921c5b4d83fbd6cf8501da54b61.gif +0 -0
  433. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/tounge_smile.gif +0 -0
  434. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/whatchutalkingabout_smile-7deb36f7f73a655cfa8ee463f011b4fb.gif +0 -0
  435. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/whatchutalkingabout_smile.gif +0 -0
  436. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/wink_smile-f4031efedd01f310c2e5e660252be2e9.gif +0 -0
  437. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/images/wink_smile.gif +0 -0
  438. data/test/dummy/public/assets/ckeditor/_source/plugins/smiley/plugin.js +94 -0
  439. data/test/dummy/public/assets/ckeditor/_source/plugins/sourcearea/plugin.js +209 -0
  440. data/test/dummy/public/assets/ckeditor/_source/plugins/specialchar/dialogs/specialchar.js +350 -0
  441. data/test/dummy/public/assets/ckeditor/_source/plugins/specialchar/lang/en.js +122 -0
  442. data/test/dummy/public/assets/ckeditor/_source/plugins/specialchar/plugin.js +70 -0
  443. data/test/dummy/public/assets/ckeditor/_source/plugins/styles/plugin.js +1700 -0
  444. data/test/dummy/public/assets/ckeditor/_source/plugins/styles/styles/default.js +88 -0
  445. data/test/dummy/public/assets/ckeditor/_source/plugins/stylescombo/plugin.js +218 -0
  446. data/test/dummy/public/assets/ckeditor/_source/plugins/stylesheetparser/plugin.js +148 -0
  447. data/test/dummy/public/assets/ckeditor/_source/plugins/tab/plugin.js +367 -0
  448. data/test/dummy/public/assets/ckeditor/_source/plugins/table/dialogs/table.js +623 -0
  449. data/test/dummy/public/assets/ckeditor/_source/plugins/table/plugin.js +78 -0
  450. data/test/dummy/public/assets/ckeditor/_source/plugins/tableresize/plugin.js +443 -0
  451. data/test/dummy/public/assets/ckeditor/_source/plugins/tabletools/dialogs/tableCell.js +525 -0
  452. data/test/dummy/public/assets/ckeditor/_source/plugins/tabletools/plugin.js +1194 -0
  453. data/test/dummy/public/assets/ckeditor/_source/plugins/templates/dialogs/templates.js +234 -0
  454. data/test/dummy/public/assets/ckeditor/_source/plugins/templates/plugin.js +99 -0
  455. data/test/dummy/public/assets/ckeditor/_source/plugins/templates/templates/default.js +94 -0
  456. data/test/dummy/public/assets/ckeditor/_source/plugins/templates/templates/images/template1-fc3a0467b794d4f6736584e0e59881ce.gif +0 -0
  457. data/test/dummy/public/assets/ckeditor/_source/plugins/templates/templates/images/template1.gif +0 -0
  458. data/test/dummy/public/assets/ckeditor/_source/plugins/templates/templates/images/template2-b1679d5593cbba03a06fb099d582fcfe.gif +0 -0
  459. data/test/dummy/public/assets/ckeditor/_source/plugins/templates/templates/images/template2.gif +0 -0
  460. data/test/dummy/public/assets/ckeditor/_source/plugins/templates/templates/images/template3-5cb326d589cb45a0a162dbb197739113.gif +0 -0
  461. data/test/dummy/public/assets/ckeditor/_source/plugins/templates/templates/images/template3.gif +0 -0
  462. data/test/dummy/public/assets/ckeditor/_source/plugins/toolbar/plugin.js +545 -0
  463. data/test/dummy/public/assets/ckeditor/_source/plugins/uicolor/dialogs/uicolor.js +205 -0
  464. data/test/dummy/public/assets/ckeditor/_source/plugins/uicolor/lang/en.js +15 -0
  465. data/test/dummy/public/assets/ckeditor/_source/plugins/uicolor/lang/he.js +15 -0
  466. data/test/dummy/public/assets/ckeditor/_source/plugins/uicolor/plugin.js +37 -0
  467. data/test/dummy/public/assets/ckeditor/_source/plugins/uicolor/uicolor-fef7040d883249956c259d82fe466438.gif +0 -0
  468. data/test/dummy/public/assets/ckeditor/_source/plugins/uicolor/uicolor.gif +0 -0
  469. data/test/dummy/public/assets/ckeditor/_source/plugins/uicolor/yui/assets/hue_bg-2a1476b227b192de64c910eb7c7d1959.png +0 -0
  470. data/test/dummy/public/assets/ckeditor/_source/plugins/uicolor/yui/assets/hue_bg.png +0 -0
  471. data/test/dummy/public/assets/ckeditor/_source/plugins/uicolor/yui/assets/hue_thumb-1fcd818d192a2145b4889954916e6989.png +0 -0
  472. data/test/dummy/public/assets/ckeditor/_source/plugins/uicolor/yui/assets/hue_thumb.png +0 -0
  473. data/test/dummy/public/assets/ckeditor/_source/plugins/uicolor/yui/assets/picker_mask-f94a3d8be4cbac6181070a091d00d08c.png +0 -0
  474. data/test/dummy/public/assets/ckeditor/_source/plugins/uicolor/yui/assets/picker_mask.png +0 -0
  475. data/test/dummy/public/assets/ckeditor/_source/plugins/uicolor/yui/assets/picker_thumb-54fc5a034b6db450cd260c160b4aa1da.png +0 -0
  476. data/test/dummy/public/assets/ckeditor/_source/plugins/uicolor/yui/assets/picker_thumb.png +0 -0
  477. data/test/dummy/public/assets/ckeditor/_source/plugins/uicolor/yui/assets/yui.css +15 -0
  478. data/test/dummy/public/assets/ckeditor/_source/plugins/uicolor/yui/yui.js +71 -0
  479. data/test/dummy/public/assets/ckeditor/_source/plugins/undo/plugin.js +578 -0
  480. data/test/dummy/public/assets/ckeditor/_source/plugins/wsc/dialogs/ciframe-b2a46fc6f5f4795ef6bf5a381ed48e41.html +49 -0
  481. data/test/dummy/public/assets/ckeditor/_source/plugins/wsc/dialogs/ciframe.html +49 -0
  482. data/test/dummy/public/assets/ckeditor/_source/plugins/wsc/dialogs/tmpFrameset-f8fccfa58764e0f1247064bf8290484b.html +52 -0
  483. data/test/dummy/public/assets/ckeditor/_source/plugins/wsc/dialogs/tmpFrameset.html +52 -0
  484. data/test/dummy/public/assets/ckeditor/_source/plugins/wsc/dialogs/wsc.css +82 -0
  485. data/test/dummy/public/assets/ckeditor/_source/plugins/wsc/dialogs/wsc.js +192 -0
  486. data/test/dummy/public/assets/ckeditor/_source/plugins/wsc/plugin.js +33 -0
  487. data/test/dummy/public/assets/ckeditor/_source/plugins/wysiwygarea/plugin.js +1347 -0
  488. data/test/dummy/public/assets/ckeditor/_source/plugins/xml/plugin.js +170 -0
  489. data/test/dummy/public/assets/ckeditor/_source/skins/kama/dialog.css +989 -0
  490. data/test/dummy/public/assets/ckeditor/_source/skins/kama/editor.css +25 -0
  491. data/test/dummy/public/assets/ckeditor/_source/skins/kama/elementspath.css +73 -0
  492. data/test/dummy/public/assets/ckeditor/_source/skins/kama/icons-9d3eca06a539035ef6b1c3bd81df1aac.png +0 -0
  493. data/test/dummy/public/assets/ckeditor/_source/skins/kama/icons.css +366 -0
  494. data/test/dummy/public/assets/ckeditor/_source/skins/kama/icons.png +0 -0
  495. data/test/dummy/public/assets/ckeditor/_source/skins/kama/icons_rtl-aeb47940348bb794d0c51a8c752904b8.png +0 -0
  496. data/test/dummy/public/assets/ckeditor/_source/skins/kama/icons_rtl.png +0 -0
  497. data/test/dummy/public/assets/ckeditor/_source/skins/kama/images/dialog_sides-3e5878a759ac96ccc7a0120ede543239.png +0 -0
  498. data/test/dummy/public/assets/ckeditor/_source/skins/kama/images/dialog_sides-b2e0faad80156a5b6d1e3b2e154de599.gif +0 -0
  499. data/test/dummy/public/assets/ckeditor/_source/skins/kama/images/dialog_sides.gif +0 -0
  500. data/test/dummy/public/assets/ckeditor/_source/skins/kama/images/dialog_sides.png +0 -0
  501. data/test/dummy/public/assets/ckeditor/_source/skins/kama/images/dialog_sides_rtl-213ac5019db4e41512b98c35f7a48f2e.png +0 -0
  502. data/test/dummy/public/assets/ckeditor/_source/skins/kama/images/dialog_sides_rtl.png +0 -0
  503. data/test/dummy/public/assets/ckeditor/_source/skins/kama/images/mini-46560712c4ce68a8c7f4076d34cba20e.gif +0 -0
  504. data/test/dummy/public/assets/ckeditor/_source/skins/kama/images/mini.gif +0 -0
  505. data/test/dummy/public/assets/ckeditor/_source/skins/kama/images/noimage-a2cc8fd2b37f368e469119ab83013612.png +0 -0
  506. data/test/dummy/public/assets/ckeditor/_source/skins/kama/images/noimage.png +0 -0
  507. data/test/dummy/public/assets/ckeditor/_source/skins/kama/images/sprites-2f4be37dfe20462d3879fa9e97be7c4b.png +0 -0
  508. data/test/dummy/public/assets/ckeditor/_source/skins/kama/images/sprites.png +0 -0
  509. data/test/dummy/public/assets/ckeditor/_source/skins/kama/images/sprites_ie6-0657a22bf8896c14fa3bab9aa8ce4625.png +0 -0
  510. data/test/dummy/public/assets/ckeditor/_source/skins/kama/images/sprites_ie6.png +0 -0
  511. data/test/dummy/public/assets/ckeditor/_source/skins/kama/images/toolbar_start-d24bf760b3d2d019158605ec6c957426.gif +0 -0
  512. data/test/dummy/public/assets/ckeditor/_source/skins/kama/images/toolbar_start.gif +0 -0
  513. data/test/dummy/public/assets/ckeditor/_source/skins/kama/mainui.css +206 -0
  514. data/test/dummy/public/assets/ckeditor/_source/skins/kama/menu.css +232 -0
  515. data/test/dummy/public/assets/ckeditor/_source/skins/kama/panel.css +217 -0
  516. data/test/dummy/public/assets/ckeditor/_source/skins/kama/presets.css +49 -0
  517. data/test/dummy/public/assets/ckeditor/_source/skins/kama/reset.css +85 -0
  518. data/test/dummy/public/assets/ckeditor/_source/skins/kama/richcombo.css +287 -0
  519. data/test/dummy/public/assets/ckeditor/_source/skins/kama/skin.js +236 -0
  520. data/test/dummy/public/assets/ckeditor/_source/skins/kama/templates.css +88 -0
  521. data/test/dummy/public/assets/ckeditor/_source/skins/kama/toolbar.css +408 -0
  522. data/test/dummy/public/assets/ckeditor/_source/skins/office2003/dialog.css +891 -0
  523. data/test/dummy/public/assets/ckeditor/_source/skins/office2003/editor.css +25 -0
  524. data/test/dummy/public/assets/ckeditor/_source/skins/office2003/elementspath.css +74 -0
  525. data/test/dummy/public/assets/ckeditor/_source/skins/office2003/icons-9d3eca06a539035ef6b1c3bd81df1aac.png +0 -0
  526. data/test/dummy/public/assets/ckeditor/_source/skins/office2003/icons.css +363 -0
  527. data/test/dummy/public/assets/ckeditor/_source/skins/office2003/icons.png +0 -0
  528. data/test/dummy/public/assets/ckeditor/_source/skins/office2003/icons_rtl-aeb47940348bb794d0c51a8c752904b8.png +0 -0
  529. data/test/dummy/public/assets/ckeditor/_source/skins/office2003/icons_rtl.png +0 -0
  530. data/test/dummy/public/assets/ckeditor/_source/skins/office2003/images/dialog_sides-566f701a7fb1582bb8aa56aa23a08650.gif +0 -0
  531. data/test/dummy/public/assets/ckeditor/_source/skins/office2003/images/dialog_sides-63b6dee922b8534a4dffc35b89ab1a55.png +0 -0
  532. data/test/dummy/public/assets/ckeditor/_source/skins/office2003/images/dialog_sides.gif +0 -0
  533. data/test/dummy/public/assets/ckeditor/_source/skins/office2003/images/dialog_sides.png +0 -0
  534. data/test/dummy/public/assets/ckeditor/_source/skins/office2003/images/dialog_sides_rtl-8db16a93f455a72394cfc976eb4cadb4.png +0 -0
  535. data/test/dummy/public/assets/ckeditor/_source/skins/office2003/images/dialog_sides_rtl.png +0 -0
  536. data/test/dummy/public/assets/ckeditor/_source/skins/office2003/images/mini-46560712c4ce68a8c7f4076d34cba20e.gif +0 -0
  537. data/test/dummy/public/assets/ckeditor/_source/skins/office2003/images/mini.gif +0 -0
  538. data/test/dummy/public/assets/ckeditor/_source/skins/office2003/images/noimage-a2cc8fd2b37f368e469119ab83013612.png +0 -0
  539. data/test/dummy/public/assets/ckeditor/_source/skins/office2003/images/noimage.png +0 -0
  540. data/test/dummy/public/assets/ckeditor/_source/skins/office2003/images/sprites-4c0eb4a3d1eaf4ed444aec605899d073.png +0 -0
  541. data/test/dummy/public/assets/ckeditor/_source/skins/office2003/images/sprites.png +0 -0
  542. data/test/dummy/public/assets/ckeditor/_source/skins/office2003/images/sprites_ie6-f4c92c03a74d3ca5ed75eab5d0efc218.png +0 -0
  543. data/test/dummy/public/assets/ckeditor/_source/skins/office2003/images/sprites_ie6.png +0 -0
  544. data/test/dummy/public/assets/ckeditor/_source/skins/office2003/mainui.css +153 -0
  545. data/test/dummy/public/assets/ckeditor/_source/skins/office2003/menu.css +229 -0
  546. data/test/dummy/public/assets/ckeditor/_source/skins/office2003/panel.css +212 -0
  547. data/test/dummy/public/assets/ckeditor/_source/skins/office2003/presets.css +49 -0
  548. data/test/dummy/public/assets/ckeditor/_source/skins/office2003/reset.css +85 -0
  549. data/test/dummy/public/assets/ckeditor/_source/skins/office2003/richcombo.css +309 -0
  550. data/test/dummy/public/assets/ckeditor/_source/skins/office2003/skin.js +74 -0
  551. data/test/dummy/public/assets/ckeditor/_source/skins/office2003/templates.css +87 -0
  552. data/test/dummy/public/assets/ckeditor/_source/skins/office2003/toolbar.css +522 -0
  553. data/test/dummy/public/assets/ckeditor/_source/skins/v2/dialog.css +907 -0
  554. data/test/dummy/public/assets/ckeditor/_source/skins/v2/editor.css +25 -0
  555. data/test/dummy/public/assets/ckeditor/_source/skins/v2/elementspath.css +74 -0
  556. data/test/dummy/public/assets/ckeditor/_source/skins/v2/icons-9d3eca06a539035ef6b1c3bd81df1aac.png +0 -0
  557. data/test/dummy/public/assets/ckeditor/_source/skins/v2/icons.css +363 -0
  558. data/test/dummy/public/assets/ckeditor/_source/skins/v2/icons.png +0 -0
  559. data/test/dummy/public/assets/ckeditor/_source/skins/v2/icons_rtl-aeb47940348bb794d0c51a8c752904b8.png +0 -0
  560. data/test/dummy/public/assets/ckeditor/_source/skins/v2/icons_rtl.png +0 -0
  561. data/test/dummy/public/assets/ckeditor/_source/skins/v2/images/dialog_sides-3e5878a759ac96ccc7a0120ede543239.png +0 -0
  562. data/test/dummy/public/assets/ckeditor/_source/skins/v2/images/dialog_sides-b2e0faad80156a5b6d1e3b2e154de599.gif +0 -0
  563. data/test/dummy/public/assets/ckeditor/_source/skins/v2/images/dialog_sides.gif +0 -0
  564. data/test/dummy/public/assets/ckeditor/_source/skins/v2/images/dialog_sides.png +0 -0
  565. data/test/dummy/public/assets/ckeditor/_source/skins/v2/images/dialog_sides_rtl-213ac5019db4e41512b98c35f7a48f2e.png +0 -0
  566. data/test/dummy/public/assets/ckeditor/_source/skins/v2/images/dialog_sides_rtl.png +0 -0
  567. data/test/dummy/public/assets/ckeditor/_source/skins/v2/images/mini-46560712c4ce68a8c7f4076d34cba20e.gif +0 -0
  568. data/test/dummy/public/assets/ckeditor/_source/skins/v2/images/mini.gif +0 -0
  569. data/test/dummy/public/assets/ckeditor/_source/skins/v2/images/noimage-a2cc8fd2b37f368e469119ab83013612.png +0 -0
  570. data/test/dummy/public/assets/ckeditor/_source/skins/v2/images/noimage.png +0 -0
  571. data/test/dummy/public/assets/ckeditor/_source/skins/v2/images/sprites-c3f7ae056042da169ec1a81f18eb31e6.png +0 -0
  572. data/test/dummy/public/assets/ckeditor/_source/skins/v2/images/sprites.png +0 -0
  573. data/test/dummy/public/assets/ckeditor/_source/skins/v2/images/sprites_ie6-f87b6810a17d1fd9740f7e9eb27f351f.png +0 -0
  574. data/test/dummy/public/assets/ckeditor/_source/skins/v2/images/sprites_ie6.png +0 -0
  575. data/test/dummy/public/assets/ckeditor/_source/skins/v2/images/toolbar_start-d24bf760b3d2d019158605ec6c957426.gif +0 -0
  576. data/test/dummy/public/assets/ckeditor/_source/skins/v2/images/toolbar_start.gif +0 -0
  577. data/test/dummy/public/assets/ckeditor/_source/skins/v2/mainui.css +162 -0
  578. data/test/dummy/public/assets/ckeditor/_source/skins/v2/menu.css +232 -0
  579. data/test/dummy/public/assets/ckeditor/_source/skins/v2/panel.css +212 -0
  580. data/test/dummy/public/assets/ckeditor/_source/skins/v2/presets.css +50 -0
  581. data/test/dummy/public/assets/ckeditor/_source/skins/v2/reset.css +85 -0
  582. data/test/dummy/public/assets/ckeditor/_source/skins/v2/richcombo.css +302 -0
  583. data/test/dummy/public/assets/ckeditor/_source/skins/v2/skin.js +70 -0
  584. data/test/dummy/public/assets/ckeditor/_source/skins/v2/templates.css +87 -0
  585. data/test/dummy/public/assets/ckeditor/_source/skins/v2/toolbar.css +465 -0
  586. data/test/dummy/public/assets/ckeditor/_source/themes/default/theme.js +407 -0
  587. data/test/dummy/{tmp/cache/assets/D16/C70/sprockets%2Fd3046a8979c64b4311a728da2ee8b88b → public/assets/ckeditor/adapters/jquery.js} +0 -0
  588. data/test/dummy/public/assets/ckeditor/ckeditor-01580143bdb99b3d10c94daab6132e65.pack +211 -0
  589. data/test/dummy/public/assets/ckeditor/ckeditor-0da706dd63c19b18d10798aa7d0f6544.asp +955 -0
  590. data/test/dummy/public/assets/ckeditor/ckeditor-867e43aaf8a7a37a5159e5349cf52505.php +29 -0
  591. data/test/dummy/public/assets/ckeditor/ckeditor.asp +955 -0
  592. data/test/dummy/{tmp/cache/assets/CB3/920/sprockets%2Fc38c48651c972cee0be83538700535b4 → public/assets/ckeditor/ckeditor.js} +0 -0
  593. data/test/dummy/public/assets/ckeditor/ckeditor.pack +211 -0
  594. data/test/dummy/public/assets/ckeditor/ckeditor.php +29 -0
  595. data/test/dummy/public/assets/ckeditor/ckeditor_basic.js +8 -0
  596. data/test/dummy/public/assets/ckeditor/ckeditor_basic_source.js +20 -0
  597. data/test/dummy/public/assets/ckeditor/ckeditor_php4-4d1266442675284992f7d9c37a861d8c.php +566 -0
  598. data/test/dummy/public/assets/ckeditor/ckeditor_php4.php +566 -0
  599. data/test/dummy/public/assets/ckeditor/ckeditor_php5-c10c3e7ae158ff33556d591d4b68b20a.php +556 -0
  600. data/test/dummy/public/assets/ckeditor/ckeditor_php5.php +556 -0
  601. data/test/dummy/public/assets/ckeditor/ckeditor_source.js +35 -0
  602. data/test/dummy/public/assets/ckeditor/config.js +11 -0
  603. data/test/dummy/public/assets/ckeditor/contents.css +25 -0
  604. data/test/dummy/public/assets/ckeditor/images/spacer-efb4fe7589bccc45af59714c77085d3c.gif +0 -0
  605. data/test/dummy/public/assets/ckeditor/images/spacer.gif +0 -0
  606. data/test/dummy/public/assets/ckeditor/lang/_languages.js +6 -0
  607. data/test/dummy/public/assets/ckeditor/lang/_translationstatus-58be1ae4db275d7eb31a7e5b4fdd9e2a.txt +61 -0
  608. data/test/dummy/public/assets/ckeditor/lang/_translationstatus.txt +61 -0
  609. data/test/dummy/public/assets/ckeditor/lang/af.js +6 -0
  610. data/test/dummy/public/assets/ckeditor/lang/ar.js +6 -0
  611. data/test/dummy/public/assets/ckeditor/lang/bg.js +6 -0
  612. data/test/dummy/public/assets/ckeditor/lang/bn.js +6 -0
  613. data/test/dummy/public/assets/ckeditor/lang/bs.js +6 -0
  614. data/test/dummy/public/assets/ckeditor/lang/ca.js +6 -0
  615. data/test/dummy/public/assets/ckeditor/lang/cs.js +6 -0
  616. data/test/dummy/public/assets/ckeditor/lang/cy.js +6 -0
  617. data/test/dummy/public/assets/ckeditor/lang/da.js +6 -0
  618. data/test/dummy/public/assets/ckeditor/lang/de.js +6 -0
  619. data/test/dummy/public/assets/ckeditor/lang/el.js +6 -0
  620. data/test/dummy/public/assets/ckeditor/lang/en-au.js +6 -0
  621. data/test/dummy/public/assets/ckeditor/lang/en-ca.js +6 -0
  622. data/test/dummy/public/assets/ckeditor/lang/en-gb.js +6 -0
  623. data/test/dummy/{tmp/cache/assets/D95/D50/sprockets%2F15e32d81de6597aad23d67d2cd1d0b7a → public/assets/ckeditor/lang/en.js} +0 -0
  624. data/test/dummy/public/assets/ckeditor/lang/eo.js +6 -0
  625. data/test/dummy/public/assets/ckeditor/lang/es.js +6 -0
  626. data/test/dummy/public/assets/ckeditor/lang/et.js +6 -0
  627. data/test/dummy/public/assets/ckeditor/lang/eu.js +6 -0
  628. data/test/dummy/public/assets/ckeditor/lang/fa.js +6 -0
  629. data/test/dummy/public/assets/ckeditor/lang/fi.js +6 -0
  630. data/test/dummy/public/assets/ckeditor/lang/fo.js +6 -0
  631. data/test/dummy/public/assets/ckeditor/lang/fr-ca.js +6 -0
  632. data/test/dummy/public/assets/ckeditor/lang/fr.js +6 -0
  633. data/test/dummy/public/assets/ckeditor/lang/gl.js +6 -0
  634. data/test/dummy/public/assets/ckeditor/lang/gu.js +6 -0
  635. data/test/dummy/public/assets/ckeditor/lang/he.js +6 -0
  636. data/test/dummy/public/assets/ckeditor/lang/hi.js +6 -0
  637. data/test/dummy/public/assets/ckeditor/lang/hr.js +6 -0
  638. data/test/dummy/public/assets/ckeditor/lang/hu.js +6 -0
  639. data/test/dummy/public/assets/ckeditor/lang/is.js +6 -0
  640. data/test/dummy/public/assets/ckeditor/lang/it.js +6 -0
  641. data/test/dummy/public/assets/ckeditor/lang/ja.js +6 -0
  642. data/test/dummy/public/assets/ckeditor/lang/ka.js +6 -0
  643. data/test/dummy/public/assets/ckeditor/lang/km.js +6 -0
  644. data/test/dummy/public/assets/ckeditor/lang/ko.js +6 -0
  645. data/test/dummy/public/assets/ckeditor/lang/lt.js +6 -0
  646. data/test/dummy/public/assets/ckeditor/lang/lv.js +6 -0
  647. data/test/dummy/public/assets/ckeditor/lang/mn.js +6 -0
  648. data/test/dummy/public/assets/ckeditor/lang/ms.js +6 -0
  649. data/test/dummy/public/assets/ckeditor/lang/nb.js +6 -0
  650. data/test/dummy/public/assets/ckeditor/lang/nl.js +6 -0
  651. data/test/dummy/public/assets/ckeditor/lang/no.js +6 -0
  652. data/test/dummy/public/assets/ckeditor/lang/pl.js +6 -0
  653. data/test/dummy/public/assets/ckeditor/lang/pt-br.js +6 -0
  654. data/test/dummy/public/assets/ckeditor/lang/pt.js +6 -0
  655. data/test/dummy/public/assets/ckeditor/lang/ro.js +6 -0
  656. data/test/dummy/public/assets/ckeditor/lang/ru.js +6 -0
  657. data/test/dummy/public/assets/ckeditor/lang/sk.js +6 -0
  658. data/test/dummy/public/assets/ckeditor/lang/sl.js +6 -0
  659. data/test/dummy/public/assets/ckeditor/lang/sr-latn.js +6 -0
  660. data/test/dummy/public/assets/ckeditor/lang/sr.js +6 -0
  661. data/test/dummy/public/assets/ckeditor/lang/sv.js +6 -0
  662. data/test/dummy/public/assets/ckeditor/lang/th.js +6 -0
  663. data/test/dummy/public/assets/ckeditor/lang/tr.js +6 -0
  664. data/test/dummy/public/assets/ckeditor/lang/uk.js +6 -0
  665. data/test/dummy/public/assets/ckeditor/lang/vi.js +6 -0
  666. data/test/dummy/public/assets/ckeditor/lang/zh-cn.js +6 -0
  667. data/test/dummy/public/assets/ckeditor/lang/zh.js +6 -0
  668. data/test/dummy/public/assets/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js +7 -0
  669. data/test/dummy/public/assets/ckeditor/plugins/a11yhelp/lang/en.js +6 -0
  670. data/test/dummy/public/assets/ckeditor/plugins/a11yhelp/lang/he.js +6 -0
  671. data/test/dummy/public/assets/ckeditor/plugins/about/dialogs/about.js +6 -0
  672. data/test/dummy/public/assets/ckeditor/plugins/about/dialogs/logo_ckeditor-23d870d1ed71ce5e586ffae0400ff744.png +0 -0
  673. data/test/dummy/public/assets/ckeditor/plugins/about/dialogs/logo_ckeditor.png +0 -0
  674. data/test/dummy/public/assets/ckeditor/plugins/adobeair/plugin.js +6 -0
  675. data/test/dummy/public/assets/ckeditor/plugins/ajax/plugin.js +6 -0
  676. data/test/dummy/public/assets/ckeditor/plugins/autogrow/plugin.js +6 -0
  677. data/test/dummy/public/assets/ckeditor/plugins/bbcode/plugin.js +9 -0
  678. data/test/dummy/public/assets/ckeditor/plugins/clipboard/dialogs/paste.js +7 -0
  679. data/test/dummy/public/assets/ckeditor/plugins/colordialog/dialogs/colordialog.js +7 -0
  680. data/test/dummy/public/assets/ckeditor/plugins/devtools/lang/en.js +6 -0
  681. data/test/dummy/public/assets/ckeditor/plugins/devtools/plugin.js +6 -0
  682. data/test/dummy/public/assets/ckeditor/plugins/dialog/dialogDefinition.js +4 -0
  683. data/test/dummy/public/assets/ckeditor/plugins/div/dialogs/div.js +8 -0
  684. data/test/dummy/public/assets/ckeditor/plugins/docprops/dialogs/docprops.js +10 -0
  685. data/test/dummy/public/assets/ckeditor/plugins/docprops/plugin.js +6 -0
  686. data/test/dummy/public/assets/ckeditor/plugins/find/dialogs/find.js +10 -0
  687. data/test/dummy/public/assets/ckeditor/plugins/flash/dialogs/flash.js +9 -0
  688. data/test/dummy/public/assets/ckeditor/plugins/flash/images/placeholder-2523aeb6efa394f0835cb7d9c1488c77.png +0 -0
  689. data/test/dummy/public/assets/ckeditor/plugins/flash/images/placeholder.png +0 -0
  690. data/test/dummy/public/assets/ckeditor/plugins/forms/dialogs/button.js +6 -0
  691. data/test/dummy/public/assets/ckeditor/plugins/forms/dialogs/checkbox.js +6 -0
  692. data/test/dummy/public/assets/ckeditor/plugins/forms/dialogs/form.js +6 -0
  693. data/test/dummy/public/assets/ckeditor/plugins/forms/dialogs/hiddenfield.js +6 -0
  694. data/test/dummy/public/assets/ckeditor/plugins/forms/dialogs/radio.js +6 -0
  695. data/test/dummy/public/assets/ckeditor/plugins/forms/dialogs/select.js +9 -0
  696. data/test/dummy/public/assets/ckeditor/plugins/forms/dialogs/textarea.js +6 -0
  697. data/test/dummy/public/assets/ckeditor/plugins/forms/dialogs/textfield.js +6 -0
  698. data/test/dummy/public/assets/ckeditor/plugins/forms/images/hiddenfield-936f3f266258d459fc0a9a6217a0b056.gif +0 -0
  699. data/test/dummy/public/assets/ckeditor/plugins/forms/images/hiddenfield.gif +0 -0
  700. data/test/dummy/public/assets/ckeditor/plugins/iframe/dialogs/iframe.js +7 -0
  701. data/test/dummy/public/assets/ckeditor/plugins/iframe/images/placeholder-f55cfd987744bc8e0d297e75cd483923.png +0 -0
  702. data/test/dummy/public/assets/ckeditor/plugins/iframe/images/placeholder.png +0 -0
  703. data/test/dummy/public/assets/ckeditor/plugins/iframedialog/plugin.js +6 -0
  704. data/test/dummy/public/assets/ckeditor/plugins/image/dialogs/image.js +13 -0
  705. data/test/dummy/public/assets/ckeditor/plugins/link/dialogs/anchor.js +6 -0
  706. data/test/dummy/public/assets/ckeditor/plugins/link/dialogs/link.js +12 -0
  707. data/test/dummy/public/assets/ckeditor/plugins/link/images/anchor-fcffa3020aea6d54c634de5ba79c055e.gif +0 -0
  708. data/test/dummy/public/assets/ckeditor/plugins/link/images/anchor.gif +0 -0
  709. data/test/dummy/public/assets/ckeditor/plugins/liststyle/dialogs/liststyle.js +7 -0
  710. data/test/dummy/public/assets/ckeditor/plugins/pagebreak/images/pagebreak-699e13d3b4786f15aee9ca768d58ea19.gif +0 -0
  711. data/test/dummy/public/assets/ckeditor/plugins/pagebreak/images/pagebreak.gif +0 -0
  712. data/test/dummy/public/assets/ckeditor/plugins/pastefromword/filter/default.js +11 -0
  713. data/test/dummy/public/assets/ckeditor/plugins/pastetext/dialogs/pastetext.js +6 -0
  714. data/test/dummy/public/assets/ckeditor/plugins/placeholder/dialogs/placeholder.js +6 -0
  715. data/test/dummy/public/assets/ckeditor/plugins/placeholder/lang/en.js +6 -0
  716. data/test/dummy/public/assets/ckeditor/plugins/placeholder/lang/he.js +6 -0
  717. data/test/dummy/public/assets/ckeditor/plugins/placeholder/placeholder-5faafb14ee25225246d64dff7bfffbf0.gif +0 -0
  718. data/test/dummy/public/assets/ckeditor/plugins/placeholder/placeholder.gif +0 -0
  719. data/test/dummy/public/assets/ckeditor/plugins/placeholder/plugin.js +6 -0
  720. data/test/dummy/public/assets/ckeditor/plugins/scayt/dialogs/options.js +8 -0
  721. data/test/dummy/public/assets/ckeditor/plugins/scayt/dialogs/toolbar.css +6 -0
  722. data/test/dummy/public/assets/ckeditor/plugins/showblocks/images/block_address-dc40ba9312bb0710e218987606e3f7f0.png +0 -0
  723. data/test/dummy/public/assets/ckeditor/plugins/showblocks/images/block_address.png +0 -0
  724. data/test/dummy/public/assets/ckeditor/plugins/showblocks/images/block_blockquote-1282e06e43bcabb0856f2124f7ce51f9.png +0 -0
  725. data/test/dummy/public/assets/ckeditor/plugins/showblocks/images/block_blockquote.png +0 -0
  726. data/test/dummy/public/assets/ckeditor/plugins/showblocks/images/block_div-c27c81d18597c829de8e91c9ea39d134.png +0 -0
  727. data/test/dummy/public/assets/ckeditor/plugins/showblocks/images/block_div.png +0 -0
  728. data/test/dummy/public/assets/ckeditor/plugins/showblocks/images/block_h1-50d65857bd34db2aa0d7b5f7dc6a4603.png +0 -0
  729. data/test/dummy/public/assets/ckeditor/plugins/showblocks/images/block_h1.png +0 -0
  730. data/test/dummy/public/assets/ckeditor/plugins/showblocks/images/block_h2-fc92d34b3a2dd29d6bf95ede204d13e3.png +0 -0
  731. data/test/dummy/public/assets/ckeditor/plugins/showblocks/images/block_h2.png +0 -0
  732. data/test/dummy/public/assets/ckeditor/plugins/showblocks/images/block_h3-ebf1718456117a9bea551f9a23dc74c7.png +0 -0
  733. data/test/dummy/public/assets/ckeditor/plugins/showblocks/images/block_h3.png +0 -0
  734. data/test/dummy/public/assets/ckeditor/plugins/showblocks/images/block_h4-a4b70caedfcd4f858f94b8c239e5cba5.png +0 -0
  735. data/test/dummy/public/assets/ckeditor/plugins/showblocks/images/block_h4.png +0 -0
  736. data/test/dummy/public/assets/ckeditor/plugins/showblocks/images/block_h5-2043019ffb4842cc76517fdd416ed19d.png +0 -0
  737. data/test/dummy/public/assets/ckeditor/plugins/showblocks/images/block_h5.png +0 -0
  738. data/test/dummy/public/assets/ckeditor/plugins/showblocks/images/block_h6-350470a92875f09e37ff10adfada6007.png +0 -0
  739. data/test/dummy/public/assets/ckeditor/plugins/showblocks/images/block_h6.png +0 -0
  740. data/test/dummy/public/assets/ckeditor/plugins/showblocks/images/block_p-ec9d023fe50605028d4ab499eb0471a4.png +0 -0
  741. data/test/dummy/public/assets/ckeditor/plugins/showblocks/images/block_p.png +0 -0
  742. data/test/dummy/public/assets/ckeditor/plugins/showblocks/images/block_pre-864ef82e5c5a85693af5a1cf6e319bf8.png +0 -0
  743. data/test/dummy/public/assets/ckeditor/plugins/showblocks/images/block_pre.png +0 -0
  744. data/test/dummy/public/assets/ckeditor/plugins/smiley/dialogs/smiley.js +7 -0
  745. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/angel_smile-bef270ca78e6fa3b45063d39ec84bc0c.gif +0 -0
  746. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/angel_smile.gif +0 -0
  747. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/angry_smile-bab741f28e98bc6d917ddfec5c0a5ca8.gif +0 -0
  748. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/angry_smile.gif +0 -0
  749. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/broken_heart-2679345851234d3ac7c39a50db187708.gif +0 -0
  750. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/broken_heart.gif +0 -0
  751. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/confused_smile-74cf3920a3740aa276e208a38730732f.gif +0 -0
  752. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/confused_smile.gif +0 -0
  753. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/cry_smile-51647a8a04c77e041b26b761bb838010.gif +0 -0
  754. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/cry_smile.gif +0 -0
  755. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/devil_smile-033fd0723bf91acd7dafeb6c92dce25e.gif +0 -0
  756. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/devil_smile.gif +0 -0
  757. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/embaressed_smile-c8636d2a952d9b0ceeef311e9ec78a4e.gif +0 -0
  758. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/embaressed_smile.gif +0 -0
  759. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/envelope-a1bd4c87ea6901474fec9db4599ec7ee.gif +0 -0
  760. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/envelope.gif +0 -0
  761. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/heart-07ef8afe14a00991c3d436b7e804c761.gif +0 -0
  762. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/heart.gif +0 -0
  763. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/kiss-39a6ead1ca61839652498e2ff6643e66.gif +0 -0
  764. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/kiss.gif +0 -0
  765. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/lightbulb-fdd5a5b671bc3b3bd4dabfc9730bce74.gif +0 -0
  766. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/lightbulb.gif +0 -0
  767. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/omg_smile-c3eb09606761c3991e1de4d9d31a0e73.gif +0 -0
  768. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/omg_smile.gif +0 -0
  769. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/regular_smile-a94edeadc3bfc87a010e9ea79cbc8daa.gif +0 -0
  770. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/regular_smile.gif +0 -0
  771. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/sad_smile-c00123adfc80fb7d76f18daedfaf0ef3.gif +0 -0
  772. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/sad_smile.gif +0 -0
  773. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/shades_smile-69773406c7c9209f5829139f951498d2.gif +0 -0
  774. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/shades_smile.gif +0 -0
  775. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/teeth_smile-688e966965311f30254197f1d062bc7f.gif +0 -0
  776. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/teeth_smile.gif +0 -0
  777. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/thumbs_down-9bddb23dd9680dfd66dd85271574c374.gif +0 -0
  778. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/thumbs_down.gif +0 -0
  779. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/thumbs_up-946b16fd78b6459336ec8ed64b8ee14f.gif +0 -0
  780. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/thumbs_up.gif +0 -0
  781. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/tounge_smile-2446b921c5b4d83fbd6cf8501da54b61.gif +0 -0
  782. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/tounge_smile.gif +0 -0
  783. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/whatchutalkingabout_smile-7deb36f7f73a655cfa8ee463f011b4fb.gif +0 -0
  784. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif +0 -0
  785. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/wink_smile-f4031efedd01f310c2e5e660252be2e9.gif +0 -0
  786. data/test/dummy/public/assets/ckeditor/plugins/smiley/images/wink_smile.gif +0 -0
  787. data/test/dummy/public/assets/ckeditor/plugins/specialchar/dialogs/specialchar.js +7 -0
  788. data/test/dummy/public/assets/ckeditor/plugins/specialchar/lang/en.js +6 -0
  789. data/test/dummy/{tmp/cache/assets/CFB/870/sprockets%2Feb5658a4a2c12e389e4c405f0113a0a7 → public/assets/ckeditor/plugins/styles/styles/default.js} +0 -0
  790. data/test/dummy/{tmp/cache/assets/D07/B30/sprockets%2F0640b99ec5e303921065ac4c0ff8b7f0 → public/assets/ckeditor/plugins/stylesheetparser/plugin.js} +0 -0
  791. data/test/dummy/public/assets/ckeditor/plugins/table/dialogs/table.js +9 -0
  792. data/test/dummy/public/assets/ckeditor/plugins/tableresize/plugin.js +7 -0
  793. data/test/dummy/public/assets/ckeditor/plugins/tabletools/dialogs/tableCell.js +8 -0
  794. data/test/dummy/public/assets/ckeditor/plugins/templates/dialogs/templates.js +7 -0
  795. data/test/dummy/public/assets/ckeditor/plugins/templates/templates/default.js +6 -0
  796. data/test/dummy/public/assets/ckeditor/plugins/templates/templates/images/template1-fc3a0467b794d4f6736584e0e59881ce.gif +0 -0
  797. data/test/dummy/public/assets/ckeditor/plugins/templates/templates/images/template1.gif +0 -0
  798. data/test/dummy/public/assets/ckeditor/plugins/templates/templates/images/template2-b1679d5593cbba03a06fb099d582fcfe.gif +0 -0
  799. data/test/dummy/public/assets/ckeditor/plugins/templates/templates/images/template2.gif +0 -0
  800. data/test/dummy/public/assets/ckeditor/plugins/templates/templates/images/template3-5cb326d589cb45a0a162dbb197739113.gif +0 -0
  801. data/test/dummy/public/assets/ckeditor/plugins/templates/templates/images/template3.gif +0 -0
  802. data/test/dummy/public/assets/ckeditor/plugins/uicolor/dialogs/uicolor.js +7 -0
  803. data/test/dummy/public/assets/ckeditor/plugins/uicolor/lang/en.js +6 -0
  804. data/test/dummy/public/assets/ckeditor/plugins/uicolor/lang/he.js +6 -0
  805. data/test/dummy/public/assets/ckeditor/plugins/uicolor/plugin.js +6 -0
  806. data/test/dummy/public/assets/ckeditor/plugins/uicolor/uicolor-fef7040d883249956c259d82fe466438.gif +0 -0
  807. data/test/dummy/public/assets/ckeditor/plugins/uicolor/uicolor.gif +0 -0
  808. data/test/dummy/public/assets/ckeditor/plugins/uicolor/yui/assets/hue_bg-2a1476b227b192de64c910eb7c7d1959.png +0 -0
  809. data/test/dummy/public/assets/ckeditor/plugins/uicolor/yui/assets/hue_bg.png +0 -0
  810. data/test/dummy/public/assets/ckeditor/plugins/uicolor/yui/assets/hue_thumb-1fcd818d192a2145b4889954916e6989.png +0 -0
  811. data/test/dummy/public/assets/ckeditor/plugins/uicolor/yui/assets/hue_thumb.png +0 -0
  812. data/test/dummy/public/assets/ckeditor/plugins/uicolor/yui/assets/picker_mask-f94a3d8be4cbac6181070a091d00d08c.png +0 -0
  813. data/test/dummy/public/assets/ckeditor/plugins/uicolor/yui/assets/picker_mask.png +0 -0
  814. data/test/dummy/public/assets/ckeditor/plugins/uicolor/yui/assets/picker_thumb-54fc5a034b6db450cd260c160b4aa1da.png +0 -0
  815. data/test/dummy/public/assets/ckeditor/plugins/uicolor/yui/assets/picker_thumb.png +0 -0
  816. data/test/dummy/public/assets/ckeditor/plugins/uicolor/yui/assets/yui.css +6 -0
  817. data/test/dummy/public/assets/ckeditor/plugins/uicolor/yui/yui.js +76 -0
  818. data/test/dummy/public/assets/ckeditor/plugins/wsc/dialogs/ciframe-b2a46fc6f5f4795ef6bf5a381ed48e41.html +49 -0
  819. data/test/dummy/public/assets/ckeditor/plugins/wsc/dialogs/ciframe.html +49 -0
  820. data/test/dummy/public/assets/ckeditor/plugins/wsc/dialogs/tmpFrameset-f8fccfa58764e0f1247064bf8290484b.html +52 -0
  821. data/test/dummy/public/assets/ckeditor/plugins/wsc/dialogs/tmpFrameset.html +52 -0
  822. data/test/dummy/public/assets/ckeditor/plugins/wsc/dialogs/wsc.css +6 -0
  823. data/test/dummy/public/assets/ckeditor/plugins/wsc/dialogs/wsc.js +7 -0
  824. data/test/dummy/public/assets/ckeditor/plugins/xml/plugin.js +6 -0
  825. data/test/dummy/public/assets/ckeditor/skins/kama/dialog.css +10 -0
  826. data/test/dummy/{tmp/cache/assets/D00/7A0/sprockets%2F3ee0dfa5072b54505817cb4bf934201e → public/assets/ckeditor/skins/kama/editor.css} +0 -0
  827. data/test/dummy/public/assets/ckeditor/skins/kama/icons-9d3eca06a539035ef6b1c3bd81df1aac.png +0 -0
  828. data/test/dummy/public/assets/ckeditor/skins/kama/icons.png +0 -0
  829. data/test/dummy/public/assets/ckeditor/skins/kama/icons_rtl-aeb47940348bb794d0c51a8c752904b8.png +0 -0
  830. data/test/dummy/public/assets/ckeditor/skins/kama/icons_rtl.png +0 -0
  831. data/test/dummy/public/assets/ckeditor/skins/kama/images/dialog_sides-3e5878a759ac96ccc7a0120ede543239.png +0 -0
  832. data/test/dummy/public/assets/ckeditor/skins/kama/images/dialog_sides-b2e0faad80156a5b6d1e3b2e154de599.gif +0 -0
  833. data/test/dummy/public/assets/ckeditor/skins/kama/images/dialog_sides.gif +0 -0
  834. data/test/dummy/public/assets/ckeditor/skins/kama/images/dialog_sides.png +0 -0
  835. data/test/dummy/public/assets/ckeditor/skins/kama/images/dialog_sides_rtl-213ac5019db4e41512b98c35f7a48f2e.png +0 -0
  836. data/test/dummy/public/assets/ckeditor/skins/kama/images/dialog_sides_rtl.png +0 -0
  837. data/test/dummy/public/assets/ckeditor/skins/kama/images/mini-46560712c4ce68a8c7f4076d34cba20e.gif +0 -0
  838. data/test/dummy/public/assets/ckeditor/skins/kama/images/mini.gif +0 -0
  839. data/test/dummy/public/assets/ckeditor/skins/kama/images/noimage-a2cc8fd2b37f368e469119ab83013612.png +0 -0
  840. data/test/dummy/public/assets/ckeditor/skins/kama/images/noimage.png +0 -0
  841. data/test/dummy/public/assets/ckeditor/skins/kama/images/sprites-2f4be37dfe20462d3879fa9e97be7c4b.png +0 -0
  842. data/test/dummy/public/assets/ckeditor/skins/kama/images/sprites.png +0 -0
  843. data/test/dummy/public/assets/ckeditor/skins/kama/images/sprites_ie6-0657a22bf8896c14fa3bab9aa8ce4625.png +0 -0
  844. data/test/dummy/public/assets/ckeditor/skins/kama/images/sprites_ie6.png +0 -0
  845. data/test/dummy/public/assets/ckeditor/skins/kama/images/toolbar_start-d24bf760b3d2d019158605ec6c957426.gif +0 -0
  846. data/test/dummy/public/assets/ckeditor/skins/kama/images/toolbar_start.gif +0 -0
  847. data/test/dummy/public/assets/ckeditor/skins/kama/skin.js +7 -0
  848. data/test/dummy/public/assets/ckeditor/skins/kama/templates.css +6 -0
  849. data/test/dummy/public/assets/ckeditor/skins/office2003/dialog.css +9 -0
  850. data/test/dummy/{tmp/cache/assets/DC6/890/sprockets%2F41b80fcec0c085408c41ecadc877df0f → public/assets/ckeditor/skins/office2003/editor.css} +0 -0
  851. data/test/dummy/public/assets/ckeditor/skins/office2003/icons-9d3eca06a539035ef6b1c3bd81df1aac.png +0 -0
  852. data/test/dummy/public/assets/ckeditor/skins/office2003/icons.png +0 -0
  853. data/test/dummy/public/assets/ckeditor/skins/office2003/icons_rtl-aeb47940348bb794d0c51a8c752904b8.png +0 -0
  854. data/test/dummy/public/assets/ckeditor/skins/office2003/icons_rtl.png +0 -0
  855. data/test/dummy/public/assets/ckeditor/skins/office2003/images/dialog_sides-566f701a7fb1582bb8aa56aa23a08650.gif +0 -0
  856. data/test/dummy/public/assets/ckeditor/skins/office2003/images/dialog_sides-63b6dee922b8534a4dffc35b89ab1a55.png +0 -0
  857. data/test/dummy/public/assets/ckeditor/skins/office2003/images/dialog_sides.gif +0 -0
  858. data/test/dummy/public/assets/ckeditor/skins/office2003/images/dialog_sides.png +0 -0
  859. data/test/dummy/public/assets/ckeditor/skins/office2003/images/dialog_sides_rtl-8db16a93f455a72394cfc976eb4cadb4.png +0 -0
  860. data/test/dummy/public/assets/ckeditor/skins/office2003/images/dialog_sides_rtl.png +0 -0
  861. data/test/dummy/public/assets/ckeditor/skins/office2003/images/mini-46560712c4ce68a8c7f4076d34cba20e.gif +0 -0
  862. data/test/dummy/public/assets/ckeditor/skins/office2003/images/mini.gif +0 -0
  863. data/test/dummy/public/assets/ckeditor/skins/office2003/images/noimage-a2cc8fd2b37f368e469119ab83013612.png +0 -0
  864. data/test/dummy/public/assets/ckeditor/skins/office2003/images/noimage.png +0 -0
  865. data/test/dummy/public/assets/ckeditor/skins/office2003/images/sprites-4c0eb4a3d1eaf4ed444aec605899d073.png +0 -0
  866. data/test/dummy/public/assets/ckeditor/skins/office2003/images/sprites.png +0 -0
  867. data/test/dummy/public/assets/ckeditor/skins/office2003/images/sprites_ie6-f4c92c03a74d3ca5ed75eab5d0efc218.png +0 -0
  868. data/test/dummy/public/assets/ckeditor/skins/office2003/images/sprites_ie6.png +0 -0
  869. data/test/dummy/{tmp/cache/assets/C8D/E30/sprockets%2F24444bdc865de860f4b693233c973844 → public/assets/ckeditor/skins/office2003/skin.js} +0 -0
  870. data/test/dummy/public/assets/ckeditor/skins/office2003/templates.css +6 -0
  871. data/test/dummy/public/assets/ckeditor/skins/v2/dialog.css +9 -0
  872. data/test/dummy/public/assets/ckeditor/skins/v2/editor.css +13 -0
  873. data/test/dummy/public/assets/ckeditor/skins/v2/icons-9d3eca06a539035ef6b1c3bd81df1aac.png +0 -0
  874. data/test/dummy/public/assets/ckeditor/skins/v2/icons.png +0 -0
  875. data/test/dummy/public/assets/ckeditor/skins/v2/icons_rtl-aeb47940348bb794d0c51a8c752904b8.png +0 -0
  876. data/test/dummy/public/assets/ckeditor/skins/v2/icons_rtl.png +0 -0
  877. data/test/dummy/public/assets/ckeditor/skins/v2/images/dialog_sides-3e5878a759ac96ccc7a0120ede543239.png +0 -0
  878. data/test/dummy/public/assets/ckeditor/skins/v2/images/dialog_sides-b2e0faad80156a5b6d1e3b2e154de599.gif +0 -0
  879. data/test/dummy/public/assets/ckeditor/skins/v2/images/dialog_sides.gif +0 -0
  880. data/test/dummy/public/assets/ckeditor/skins/v2/images/dialog_sides.png +0 -0
  881. data/test/dummy/public/assets/ckeditor/skins/v2/images/dialog_sides_rtl-213ac5019db4e41512b98c35f7a48f2e.png +0 -0
  882. data/test/dummy/public/assets/ckeditor/skins/v2/images/dialog_sides_rtl.png +0 -0
  883. data/test/dummy/public/assets/ckeditor/skins/v2/images/mini-46560712c4ce68a8c7f4076d34cba20e.gif +0 -0
  884. data/test/dummy/public/assets/ckeditor/skins/v2/images/mini.gif +0 -0
  885. data/test/dummy/public/assets/ckeditor/skins/v2/images/noimage-a2cc8fd2b37f368e469119ab83013612.png +0 -0
  886. data/test/dummy/public/assets/ckeditor/skins/v2/images/noimage.png +0 -0
  887. data/test/dummy/public/assets/ckeditor/skins/v2/images/sprites-c3f7ae056042da169ec1a81f18eb31e6.png +0 -0
  888. data/test/dummy/public/assets/ckeditor/skins/v2/images/sprites.png +0 -0
  889. data/test/dummy/public/assets/ckeditor/skins/v2/images/sprites_ie6-f87b6810a17d1fd9740f7e9eb27f351f.png +0 -0
  890. data/test/dummy/public/assets/ckeditor/skins/v2/images/sprites_ie6.png +0 -0
  891. data/test/dummy/public/assets/ckeditor/skins/v2/images/toolbar_start-d24bf760b3d2d019158605ec6c957426.gif +0 -0
  892. data/test/dummy/public/assets/ckeditor/skins/v2/images/toolbar_start.gif +0 -0
  893. data/test/dummy/public/assets/ckeditor/skins/v2/skin.js +6 -0
  894. data/test/dummy/public/assets/ckeditor/skins/v2/templates.css +6 -0
  895. data/test/dummy/public/assets/ckeditor/themes/default/theme.js +8 -0
  896. data/test/dummy/public/assets/manifest.yml +234 -0
  897. data/test/dummy/public/assets/rich/application-408b1cef5ce535a25f501b1963eaadd9.js +19 -0
  898. data/test/dummy/public/assets/rich/application-408b1cef5ce535a25f501b1963eaadd9.js.gz +0 -0
  899. data/test/dummy/public/assets/rich/application-5707b8b085e9adf29512f54e5d1bb062.css +1 -0
  900. data/test/dummy/public/assets/rich/application-5707b8b085e9adf29512f54e5d1bb062.css.gz +0 -0
  901. data/test/dummy/public/assets/rich/application.css +1 -0
  902. data/test/dummy/public/assets/rich/application.css.gz +0 -0
  903. data/test/dummy/public/assets/rich/application.js +19 -0
  904. data/test/dummy/public/assets/rich/application.js.gz +0 -0
  905. data/test/dummy/public/assets/rich/base-4c97f18739b5160edb94f939a4d129ed.js +11 -0
  906. data/test/dummy/public/assets/rich/base-4c97f18739b5160edb94f939a4d129ed.js.gz +0 -0
  907. data/test/dummy/public/assets/rich/base.js +11 -0
  908. data/test/dummy/public/assets/rich/base.js.gz +0 -0
  909. data/test/dummy/public/assets/rich/images-be08c580ec923cabe1977cba7a5f3b4e.png +0 -0
  910. data/test/dummy/public/assets/rich/images.png +0 -0
  911. data/test/dummy/public/assets/rich/plus-dc3f927158bd63e9e504608f186c09c2.png +0 -0
  912. data/test/dummy/public/assets/rich/plus-red-13c9e0cc64bcf1fc3a5af70d5ed212ba.png +0 -0
  913. data/test/dummy/public/assets/rich/plus-red.png +0 -0
  914. data/test/dummy/public/assets/rich/plus.png +0 -0
  915. data/test/dummy/public/assets/rich/x-red-29997c7fff3174ed6dd2fbc50be3afac.png +0 -0
  916. data/test/dummy/public/assets/rich/x-red.png +0 -0
  917. data/test/dummy/tmp/cache/assets/C06/710/sprockets%2F8af9e25749241939f390509d20792815 +0 -0
  918. data/test/dummy/tmp/cache/assets/C32/0F0/sprockets%2F149ca330c1a5a00561c265b103246858 +0 -0
  919. data/test/dummy/tmp/cache/assets/C32/C40/sprockets%2Ff459d7671964c49e413971720514ba68 +0 -0
  920. data/test/dummy/tmp/cache/assets/C40/B90/sprockets%2F569d683250884929c82ce815f1749e81 +0 -0
  921. data/test/dummy/tmp/cache/assets/C48/440/sprockets%2F32844d510659827480b8a1213e6a2af5 +0 -0
  922. data/test/dummy/tmp/cache/assets/C4E/680/sprockets%2F36f2033c1306b72059d82b49209687ec +0 -0
  923. data/test/dummy/tmp/cache/assets/C50/240/sprockets%2F1239ff9682734d0e51871373a51108cc +0 -0
  924. data/test/dummy/tmp/cache/assets/C59/EA0/sprockets%2F18d48e64651c574775b0503f68800e3e +0 -0
  925. data/test/dummy/tmp/cache/assets/C5C/640/sprockets%2F0fa11f77632ac7a8e096764720506999 +0 -0
  926. data/test/dummy/tmp/cache/assets/C6B/8F0/sprockets%2F319e8684d575a5826884b528b7d2d565 +0 -0
  927. data/test/dummy/tmp/cache/assets/C6E/C10/sprockets%2F22d04958b123a192d331199bd1473c0e +0 -0
  928. data/test/dummy/tmp/cache/assets/C73/290/sprockets%2F9090ba5b09d473240c301788406dd36a +0 -0
  929. data/test/dummy/tmp/cache/assets/C7E/3F0/sprockets%2F59dc60cc2216e8c008e3461059c50867 +0 -0
  930. data/test/dummy/tmp/cache/assets/C81/330/sprockets%2F230389fcdf278e2b64685401016451ff +0 -0
  931. data/test/dummy/tmp/cache/assets/C91/AF0/sprockets%2F80725049568a1c1b6765663796e9bebc +0 -0
  932. data/test/dummy/tmp/cache/assets/C99/430/sprockets%2F1027b261dc3bd6202585ad4d830263c6 +0 -0
  933. data/test/dummy/tmp/cache/assets/CA3/970/sprockets%2F9af3532100025f93c2604b739cd6b3a9 +0 -0
  934. data/test/dummy/tmp/cache/assets/CA5/BC0/sprockets%2F54140182f1546dc2a14ecc93562635de +0 -0
  935. data/test/dummy/tmp/cache/assets/CA7/5E0/sprockets%2F4c16aa314e932793c102c84062d397cf +0 -0
  936. data/test/dummy/tmp/cache/assets/CB2/C10/sprockets%2F03934299c89f790b6833b280fb4a01ad +0 -0
  937. data/test/dummy/tmp/cache/assets/CB5/EA0/sprockets%2F9a5a0f6a06d14e79336f787d1583a730 +0 -0
  938. data/test/dummy/tmp/cache/assets/CB6/470/sprockets%2F796e8921ac7b11e0178c46505c45d65e +0 -0
  939. data/test/dummy/tmp/cache/assets/CB6/ED0/sprockets%2F217e63b55023fa89f456fd47b358146b +0 -0
  940. data/test/dummy/tmp/cache/assets/CB8/7F0/sprockets%2F16f038d34c58a8ff1b39358f4d602384 +0 -0
  941. data/test/dummy/tmp/cache/assets/CB8/AE0/sprockets%2F163cb891a42a909f1e990f3fa7485371 +0 -0
  942. data/test/dummy/tmp/cache/assets/CBA/230/sprockets%2F9ef98cb0db8d4b36199942b170009257 +0 -0
  943. data/test/dummy/tmp/cache/assets/CBA/700/sprockets%2F0669df32d9ec0572379442d9c980d04a +0 -0
  944. data/test/dummy/tmp/cache/assets/CBB/670/sprockets%2Fd89670cda692273a59827741fe4aa632 +0 -0
  945. data/test/dummy/tmp/cache/assets/CBE/6C0/sprockets%2F16cba3296ff364558f306368790afe82 +0 -0
  946. data/test/dummy/tmp/cache/assets/CBE/A80/sprockets%2F60bb9087aed9745744925f6ce01525d9 +0 -0
  947. data/test/dummy/tmp/cache/assets/CBF/5D0/sprockets%2F726aebb9c33c537776cb315888545c83 +0 -0
  948. data/test/dummy/tmp/cache/assets/CC0/3A0/sprockets%2F6045c04a3011d8320cd9a522dca2517f +0 -0
  949. data/test/dummy/tmp/cache/assets/CC1/8E0/sprockets%2Fa04eae552199d48918b393619b8785da +0 -0
  950. data/test/dummy/tmp/cache/assets/CC2/280/sprockets%2F09195cecf24b2272e4e780f9880d5676 +0 -0
  951. data/test/dummy/tmp/cache/assets/CC2/E60/sprockets%2F205e7507c5102dabfe49ad001362330f +0 -0
  952. data/test/dummy/tmp/cache/assets/CC4/BF0/sprockets%2F93d5b131135a09e48369e02ba5c01b0a +0 -0
  953. data/test/dummy/tmp/cache/assets/CC9/070/sprockets%2Fe764c27f405439d55fddce9490954628 +0 -0
  954. data/test/dummy/tmp/cache/assets/CCA/250/sprockets%2Face21e3e32abf4d0264e736331071546 +0 -0
  955. data/test/dummy/tmp/cache/assets/CD3/220/sprockets%2F73ab25970102f10b8d36297bb2d63fa6 +0 -0
  956. data/test/dummy/tmp/cache/assets/CD4/8A0/sprockets%2Fd265751b74957012ce4d11aaa5b47e72 +0 -0
  957. data/test/dummy/tmp/cache/assets/CD8/9F0/sprockets%2Fa5d5213d6e2a682f081380bc88f6d303 +0 -0
  958. data/test/dummy/tmp/cache/assets/CD9/2C0/sprockets%2Fe935dd8ad5170521347cd108c986d0a0 +0 -0
  959. data/test/dummy/tmp/cache/assets/CD9/7D0/sprockets%2F4ff141721c37c8515d649b82614c0beb +0 -0
  960. data/test/dummy/tmp/cache/assets/CDB/640/sprockets%2F704ba1625d75d9ea91e432d157c5d074 +0 -0
  961. data/test/dummy/tmp/cache/assets/CDC/9E0/sprockets%2Fea79eb25849447bd373008bd9412da02 +0 -0
  962. data/test/dummy/tmp/cache/assets/CDC/EC0/sprockets%2Fe59936bc77fc0e28f016123f2b517a50 +0 -0
  963. data/test/dummy/tmp/cache/assets/CDD/460/sprockets%2F6ae479e6144212236cb4dceed7228732 +0 -0
  964. data/test/dummy/tmp/cache/assets/CDD/D50/sprockets%2Faee2002e4369cf20946112efcb776089 +0 -0
  965. data/test/dummy/tmp/cache/assets/CDE/6F0/sprockets%2F2d2ed3165588183d667f4ffd2b30c402 +0 -0
  966. data/test/dummy/tmp/cache/assets/CE1/C70/sprockets%2F75308c93d936373ce20bc91a590ac83e +0 -0
  967. data/test/dummy/tmp/cache/assets/CE2/E20/sprockets%2F19a5d182c23b8147bec26468bf179c54 +0 -0
  968. data/test/dummy/tmp/cache/assets/CE3/540/sprockets%2F33382b2435cefc4778be15e9af255821 +0 -0
  969. data/test/dummy/tmp/cache/assets/CE4/220/sprockets%2F290d98798b38e3a3da3b00d94a591c81 +0 -0
  970. data/test/dummy/tmp/cache/assets/CE4/3A0/sprockets%2F85a60ce826c5d8c60d929a0541166ee5 +0 -0
  971. data/test/dummy/tmp/cache/assets/CE6/040/sprockets%2F8977c272af2806e210f0dad260589fd7 +0 -0
  972. data/test/dummy/tmp/cache/assets/CE7/2B0/sprockets%2F478222c58734a43f98d38e7ccd51e31a +0 -0
  973. data/test/dummy/tmp/cache/assets/CE9/400/sprockets%2F90b1674ee45a286ef2e90b046f95c338 +0 -0
  974. data/test/dummy/tmp/cache/assets/CE9/A60/sprockets%2F033547d8f5288f4c8c2dc8f34064b4c5 +0 -0
  975. data/test/dummy/tmp/cache/assets/CEA/A60/sprockets%2Ff6eb622ea5a90a98b22c8362882d8763 +0 -0
  976. data/test/dummy/tmp/cache/assets/CEA/FC0/sprockets%2F0837e736b7e6e283486d257e4cb1ed50 +0 -0
  977. data/test/dummy/tmp/cache/assets/CEC/1A0/sprockets%2F87fdead6014b961bb870b5931890d677 +0 -0
  978. data/test/dummy/tmp/cache/assets/CEC/1D0/sprockets%2F08978fe24157ebf268edb04f8631c803 +0 -0
  979. data/test/dummy/tmp/cache/assets/CF0/1D0/sprockets%2F6fc757c2c8329244ca95d6909865bbc2 +0 -0
  980. data/test/dummy/tmp/cache/assets/CF0/1E0/sprockets%2F3e649e0720b6777659b5a48f5c1e6ff0 +0 -0
  981. data/test/dummy/tmp/cache/assets/CF2/230/sprockets%2F9c734786ea77e117018257bb88e3a9dd +0 -0
  982. data/test/dummy/tmp/cache/assets/CF2/6E0/sprockets%2Fa01bd80e884b1b1613a110b9c3b70a87 +0 -0
  983. data/test/dummy/tmp/cache/assets/CF5/740/sprockets%2Fc66aa3636599d278d95748fc1ab449e2 +0 -0
  984. data/test/dummy/tmp/cache/assets/CFE/7A0/sprockets%2Fb3dbbbec46248d53a8019a70911a2851 +0 -0
  985. data/test/dummy/tmp/cache/assets/D03/E80/sprockets%2Fff281eb023eda0447d50a1f4357075b9 +0 -0
  986. data/test/dummy/tmp/cache/assets/D05/0B0/sprockets%2F06287f63cccc09bda419f183056d03c2 +0 -0
  987. data/test/dummy/tmp/cache/assets/D05/620/sprockets%2F638f0e16105d34a5043dbca2b8e7576d +0 -0
  988. data/test/dummy/tmp/cache/assets/D06/700/sprockets%2Ff52eb7695cc074d718c511b10e5ab093 +0 -0
  989. data/test/dummy/tmp/cache/assets/D06/B10/sprockets%2F8862201c3f85801aec555fcb495cb01b +0 -0
  990. data/test/dummy/tmp/cache/assets/D06/F80/sprockets%2F94f789ef4aa996c1413e990889de09a7 +0 -0
  991. data/test/dummy/tmp/cache/assets/D07/880/sprockets%2Fb256aa4a87e9e3082a4ca2e55605e372 +0 -0
  992. data/test/dummy/tmp/cache/assets/D09/A60/sprockets%2F030cf35268aa600c41eec96265eda796 +0 -0
  993. data/test/dummy/tmp/cache/assets/D0A/990/sprockets%2F6965ab7a91a038a6749ffa42e208b2b0 +0 -0
  994. data/test/dummy/tmp/cache/assets/D0C/C40/sprockets%2F825b1ed28572d8bc73ece168f440c032 +0 -0
  995. data/test/dummy/tmp/cache/assets/D0D/460/sprockets%2F3f90fe60e1e63361088b4e006e74ea6c +0 -0
  996. data/test/dummy/tmp/cache/assets/D0E/D40/sprockets%2Fd5b221dc424f569ae31500d819fd86c7 +0 -0
  997. data/test/dummy/tmp/cache/assets/D10/C20/sprockets%2Fdfc15953d9d95008f1fa1f48540bb722 +0 -0
  998. data/test/dummy/tmp/cache/assets/D11/3C0/sprockets%2F181ff9e1b6d2db55b5088e3a82455c70 +0 -0
  999. data/test/dummy/tmp/cache/assets/D11/F80/sprockets%2Fc90be7050c93c9b718b66a19dc60843d +0 -0
  1000. data/test/dummy/tmp/cache/assets/D12/C00/sprockets%2Fec315c7557a608edc1d8a4021698cf28 +0 -0
  1001. data/test/dummy/tmp/cache/assets/D12/DE0/sprockets%2Fdc54c95ba6778542582c60a50d584dbb +0 -0
  1002. data/test/dummy/tmp/cache/assets/D14/980/sprockets%2F85dc72862eb259cd954ab41369bc6a32 +0 -0
  1003. data/test/dummy/tmp/cache/assets/D15/F40/sprockets%2F83d1a8006e470e79f75592d63bdedc04 +0 -0
  1004. data/test/dummy/tmp/cache/assets/D16/5F0/sprockets%2F6ec6330058d5e6c478dd5d0942b08db9 +0 -0
  1005. data/test/dummy/tmp/cache/assets/D16/8A0/sprockets%2F6216fd797310aef197d571a9ba6c3a95 +0 -0
  1006. data/test/dummy/tmp/cache/assets/D18/EE0/sprockets%2Fce414b3a58399306a47cbd0e9763c87e +0 -0
  1007. data/test/dummy/tmp/cache/assets/D1B/290/sprockets%2F623d54ea15f8be55e60836e475fc970b +0 -0
  1008. data/test/dummy/tmp/cache/assets/D1D/500/sprockets%2F71e1de34b5d39e4c637f0fb0619696f7 +0 -0
  1009. data/test/dummy/tmp/cache/assets/D1E/C20/sprockets%2F7bf219b6812af739069def6b9a9e3243 +0 -0
  1010. data/test/dummy/tmp/cache/assets/D1F/B30/sprockets%2F6351ed750b17ed0f99fa01c32ff98878 +0 -0
  1011. data/test/dummy/tmp/cache/assets/D25/1E0/sprockets%2F795bf8a2f4749c75f6c30d96289d11ea +0 -0
  1012. data/test/dummy/tmp/cache/assets/D25/780/sprockets%2Fc3e863d73c5fff6787112f5d5863d38a +0 -0
  1013. data/test/dummy/tmp/cache/assets/D26/0C0/sprockets%2F980c09fe57519596fe06d29decd1358b +0 -0
  1014. data/test/dummy/tmp/cache/assets/D27/5D0/sprockets%2F948c08b8335b2d8f47da7e9de92816a7 +0 -0
  1015. data/test/dummy/tmp/cache/assets/D29/E60/sprockets%2F0142836e5efdbb150c76baa3c0e29602 +0 -0
  1016. data/test/dummy/tmp/cache/assets/D2A/FA0/sprockets%2Fa5403e1fe15018cddc4435c3cac84910 +0 -0
  1017. data/test/dummy/tmp/cache/assets/D2E/090/sprockets%2Fc54283e81ce52bf9d542ab12492a01ad +0 -0
  1018. data/test/dummy/tmp/cache/assets/D2E/B60/sprockets%2F65f405a2235cb3f3a5f0453dcf53d24c +0 -0
  1019. data/test/dummy/tmp/cache/assets/D2E/CE0/sprockets%2F97b7b4e4a92383d63ff9ec849bb95474 +0 -0
  1020. data/test/dummy/tmp/cache/assets/D2F/600/sprockets%2F729de477588a4da7bf88f0328dfb7738 +0 -0
  1021. data/test/dummy/tmp/cache/assets/D30/E90/sprockets%2F3a19bbe0320337a6bf29177da71bf1e7 +0 -0
  1022. data/test/dummy/tmp/cache/assets/D32/560/sprockets%2Fd2cc546d060a0a671d77435bc4872fba +0 -0
  1023. data/test/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705 +0 -0
  1024. data/test/dummy/tmp/cache/assets/D35/0C0/sprockets%2F09ddaa67f5cc50ac189111cdf4175831 +0 -0
  1025. data/test/dummy/tmp/cache/assets/D35/3C0/sprockets%2F99538c5e674961bf963bd43bdbf9f579 +0 -0
  1026. data/test/dummy/tmp/cache/assets/D35/B40/sprockets%2F3807e37d4ff8d7a967dd87b624de6796 +0 -0
  1027. data/test/dummy/tmp/cache/assets/D37/9B0/sprockets%2F0de49dd3031c50c7cf2ef74d6c392530 +0 -0
  1028. data/test/dummy/tmp/cache/assets/D38/050/sprockets%2Fdee81a599732afa9020af44cb9313a63 +0 -0
  1029. data/test/dummy/tmp/cache/assets/D38/4D0/sprockets%2F3ebcf9a4b9332823b5524ec50bd84a27 +0 -0
  1030. data/test/dummy/tmp/cache/assets/D38/540/sprockets%2F86e1ad844bc9df4491a2a52b870421db +0 -0
  1031. data/test/dummy/tmp/cache/assets/D3B/170/sprockets%2F410e05cbd8074abcc0e77a5c53198f78 +0 -0
  1032. data/test/dummy/tmp/cache/assets/D3F/4A0/sprockets%2Fa0b81b697c2cdeb085e1504ef95637d3 +0 -0
  1033. data/test/dummy/tmp/cache/assets/D3F/520/sprockets%2F14d8f437c24c870b33b529d1fae5da68 +0 -0
  1034. data/test/dummy/tmp/cache/assets/D40/940/sprockets%2F1f5c0d00f1226f929e9af6da66f38c33 +0 -0
  1035. data/test/dummy/tmp/cache/assets/D40/A40/sprockets%2Feb59c65dcb7136f1cd134dac36794822 +0 -0
  1036. data/test/dummy/tmp/cache/assets/D41/9E0/sprockets%2F70f86aea3a218070f91bacec84a93868 +0 -0
  1037. data/test/dummy/tmp/cache/assets/D45/9B0/sprockets%2Fd20678da12248dfe8595d2a7c2a3c69e +0 -0
  1038. data/test/dummy/tmp/cache/assets/D46/530/sprockets%2Fa0e90ef622e886e659d04b9c72611cec +0 -0
  1039. data/test/dummy/tmp/cache/assets/D47/2A0/sprockets%2F0920b56f0f94fde93f3e0678acb33e29 +0 -0
  1040. data/test/dummy/tmp/cache/assets/D48/020/sprockets%2F0ab342cf69d6b697085f4e40a83fe3d8 +0 -0
  1041. data/test/dummy/tmp/cache/assets/D48/8F0/sprockets%2F5d9ca11e57939d634318fc6fdbac5193 +0 -0
  1042. data/test/dummy/tmp/cache/assets/D4B/2F0/sprockets%2F9dbd1e9042e4b87068e6f7c1c373ad68 +0 -0
  1043. data/test/dummy/tmp/cache/assets/D4C/1D0/sprockets%2F5372d958b7cc5b25debb4ce5808f7841 +0 -0
  1044. data/test/dummy/tmp/cache/assets/D4D/650/sprockets%2Ff51d1875ad5829c7bf3ff03e920497be +0 -0
  1045. data/test/dummy/tmp/cache/assets/D4D/DD0/sprockets%2Fd59a8129bb57105764a9906fe84bdfeb +0 -0
  1046. data/test/dummy/tmp/cache/assets/D52/AA0/sprockets%2F37f88f2e59f9d840733bdfca404be763 +0 -0
  1047. data/test/dummy/tmp/cache/assets/D52/B50/sprockets%2F3d7e4e79bf948f47af601647bb66ba55 +0 -0
  1048. data/test/dummy/tmp/cache/assets/D53/630/sprockets%2F56e8a8f9eed826ac2c68c9895d0510b4 +0 -0
  1049. data/test/dummy/tmp/cache/assets/D54/390/sprockets%2Fc04d4105db620ec93f21b415c75fb1ca +0 -0
  1050. data/test/dummy/tmp/cache/assets/D54/770/sprockets%2F5a5813a5e5fc78ca9c78a88666d3bd73 +0 -0
  1051. data/test/dummy/tmp/cache/assets/D54/ED0/sprockets%2F71c9fa01091d432b131da3bb73faf3d4 +0 -0
  1052. data/test/dummy/tmp/cache/assets/D55/5C0/sprockets%2F97b52c1c0d1a002ac6fb9d702b7ab625 +0 -0
  1053. data/test/dummy/tmp/cache/assets/D56/010/sprockets%2F14d6a58774f10d0bc3cb52b0b139cce0 +0 -0
  1054. data/test/dummy/tmp/cache/assets/D58/E60/sprockets%2Fed50a16a7e75125b00224c8bc5ca6e5b +0 -0
  1055. data/test/dummy/tmp/cache/assets/D59/DA0/sprockets%2F77edbecc4b395546f2e9e7743681a6e8 +0 -0
  1056. data/test/dummy/tmp/cache/assets/D5C/6D0/sprockets%2Fee62cfd57b4e685deb79975dd6930544 +0 -0
  1057. data/test/dummy/tmp/cache/assets/D5C/B90/sprockets%2F07bff51acb0e0e126845c8d8ed000f41 +0 -0
  1058. data/test/dummy/tmp/cache/assets/D64/200/sprockets%2F4ad4ba22262ddb46a92c9ee58532b26c +0 -0
  1059. data/test/dummy/tmp/cache/assets/D64/730/sprockets%2Fc423a6ae02b82d5cb4e89038ab8e1b65 +0 -0
  1060. data/test/dummy/tmp/cache/assets/D68/930/sprockets%2F217a6ed4c70d42d314f6f84b2c8cc0c8 +0 -0
  1061. data/test/dummy/tmp/cache/assets/D69/190/sprockets%2Fa527da4d54634cf7ebf419630a5c80ae +0 -0
  1062. data/test/dummy/tmp/cache/assets/D6A/2A0/sprockets%2F25bdbe088ba6934d55a4a6d243e551ee +0 -0
  1063. data/test/dummy/tmp/cache/assets/D6C/110/sprockets%2F7f62412196a7bc3fcc903d6eb681b5da +0 -0
  1064. data/test/dummy/tmp/cache/assets/D6C/F90/sprockets%2Fcb34e531e41b981cf6ca2a5c7e70f890 +0 -0
  1065. data/test/dummy/tmp/cache/assets/D6D/230/sprockets%2F8a973955dcfc806240daaae12f158df1 +0 -0
  1066. data/test/dummy/tmp/cache/assets/D6E/8A0/sprockets%2F2decc65fc879b61e1d04ab5456627d1c +0 -0
  1067. data/test/dummy/tmp/cache/assets/D6F/E80/sprockets%2Fdc3ba56909c52883ad614fdee332b6e3 +0 -0
  1068. data/test/dummy/tmp/cache/assets/D71/1E0/sprockets%2F689da00db5abdc449993972ad2b2f4e2 +0 -0
  1069. data/test/dummy/tmp/cache/assets/D71/7C0/sprockets%2Fa8b69c06e002dad3d56ffca26f985318 +0 -0
  1070. data/test/dummy/tmp/cache/assets/D72/0F0/sprockets%2F40d4c24783b0d13d84dd998c6ae57dbb +0 -0
  1071. data/test/dummy/tmp/cache/assets/D72/680/sprockets%2F06d8b71866cfed403dbfe4190185be6c +0 -0
  1072. data/test/dummy/tmp/cache/assets/D73/990/sprockets%2F452d926974f4150c2a4beddda6f484cf +0 -0
  1073. data/test/dummy/tmp/cache/assets/D73/ED0/sprockets%2Fbc2766ea216d835dd82846f9ddca136a +0 -0
  1074. data/test/dummy/tmp/cache/assets/D77/4F0/sprockets%2F7d756119972486d9edc62bbbfeca611a +0 -0
  1075. data/test/dummy/tmp/cache/assets/D78/020/sprockets%2F616f894b59b98a70bec544b81fa3fcc1 +0 -0
  1076. data/test/dummy/tmp/cache/assets/D79/800/sprockets%2F5af3583d6bb600db8a78c7ac3a8958e7 +0 -0
  1077. data/test/dummy/tmp/cache/assets/D7A/1C0/sprockets%2F8576949b66d8ed60c5c07b2e6a77abaa +0 -0
  1078. data/test/dummy/tmp/cache/assets/D7C/140/sprockets%2F24effd11134b4c0251babb407332befc +0 -0
  1079. data/test/dummy/tmp/cache/assets/D7E/A20/sprockets%2Fb4a8ff006b13352aeb33ac507b40db4c +0 -0
  1080. data/test/dummy/tmp/cache/assets/D80/470/sprockets%2F4a379686edda03dfceb583239ec1859f +0 -0
  1081. data/test/dummy/tmp/cache/assets/D84/210/sprockets%2Fabd0103ccec2b428ac62c94e4c40b384 +0 -0
  1082. data/test/dummy/tmp/cache/assets/D86/3B0/sprockets%2F2532e928addecd30cb2b3a7321b5fb50 +0 -0
  1083. data/test/dummy/tmp/cache/assets/D88/930/sprockets%2F73efa5ef3060beb7c4d13db3a4140e06 +0 -0
  1084. data/test/dummy/tmp/cache/assets/D8A/FD0/sprockets%2Fab410fcaf88a64fafe1227ec0a442910 +0 -0
  1085. data/test/dummy/tmp/cache/assets/D8D/900/sprockets%2F8265ab8aeffa6df12121571a2a6dd1c4 +0 -0
  1086. data/test/dummy/tmp/cache/assets/D8E/AC0/sprockets%2Fe0363ce10843b8a1eddfa83de23d05b5 +0 -0
  1087. data/test/dummy/tmp/cache/assets/D8F/420/sprockets%2Fd2d791dba2c61a762e7bcccbb7041149 +0 -0
  1088. data/test/dummy/tmp/cache/assets/D90/220/sprockets%2F8b38adde221a05d077ada95d2a6fa228 +0 -0
  1089. data/test/dummy/tmp/cache/assets/D93/010/sprockets%2Ffef599d66e124f9f34b89537d82cedc8 +0 -0
  1090. data/test/dummy/tmp/cache/assets/D94/4C0/sprockets%2F02e7da68d3368b0c1edadff37c20193c +0 -0
  1091. data/test/dummy/tmp/cache/assets/D96/E90/sprockets%2Ff43f31dd3e2d9f8eda108c01c42bd457 +0 -0
  1092. data/test/dummy/tmp/cache/assets/D97/D40/sprockets%2Feb26ba6167e9c58eeb621a295ad6d1a0 +0 -0
  1093. data/test/dummy/tmp/cache/assets/D98/BF0/sprockets%2F132c8dc4d7ba67c8faee429e5064a02c +0 -0
  1094. data/test/dummy/tmp/cache/assets/D9A/BF0/sprockets%2F54ba2408b8fa027e98f62fac2ad922ce +0 -0
  1095. data/test/dummy/tmp/cache/assets/D9B/AF0/sprockets%2Fd65eaa4a1156b572fd8f133fe64e08bd +0 -0
  1096. data/test/dummy/tmp/cache/assets/D9C/620/sprockets%2F510748ae4edb09e7c31f53aa96ddc9a2 +0 -0
  1097. data/test/dummy/tmp/cache/assets/D9C/CD0/sprockets%2Fc85016e7bbd4f3adbb7635d01f85d39b +0 -0
  1098. data/test/dummy/tmp/cache/assets/D9D/EF0/sprockets%2F7d8a72d7b4ed84b6bdb0ff0436e231b8 +0 -0
  1099. data/test/dummy/tmp/cache/assets/D9E/E50/sprockets%2Faac2752ed3d6a0fe0b2a8fef39565953 +0 -0
  1100. data/test/dummy/tmp/cache/assets/D9E/E80/sprockets%2Fccde18986a7f5b20a1e38de1f1e28d51 +0 -0
  1101. data/test/dummy/tmp/cache/assets/D9F/2C0/sprockets%2Ffd3cca19ffecf38630c2561d53f039a7 +0 -0
  1102. data/test/dummy/tmp/cache/assets/D9F/640/sprockets%2Fe4c1ef66e594b1c083a9e81dddb8b124 +0 -0
  1103. data/test/dummy/tmp/cache/assets/D9F/EF0/sprockets%2F5119bab51b3f7fb186e39b15f8e3ceb6 +0 -0
  1104. data/test/dummy/tmp/cache/assets/DA0/200/sprockets%2F2abe9ef81b9d72f23be431456a07dfe5 +0 -0
  1105. data/test/dummy/tmp/cache/assets/DA0/470/sprockets%2F660b00cd12b79bcf9799a44efc0a9d5c +0 -0
  1106. data/test/dummy/tmp/cache/assets/DA1/2D0/sprockets%2Fc12c90ffc7f409650d0b6f8d4d659abb +0 -0
  1107. data/test/dummy/tmp/cache/assets/DA1/9B0/sprockets%2F69400bcb146fefda82cec75703d7f26f +0 -0
  1108. data/test/dummy/tmp/cache/assets/DA2/090/sprockets%2Faded77aff3b46dd56336f901b2d2f069 +0 -0
  1109. data/test/dummy/tmp/cache/assets/DA5/D50/sprockets%2F4cd7af86f9a11f423ed05568ada2f97b +0 -0
  1110. data/test/dummy/tmp/cache/assets/DA6/F20/sprockets%2F2c2a887ca54f707a7b9dc19ecd654fc2 +0 -0
  1111. data/test/dummy/tmp/cache/assets/DA7/240/sprockets%2F7928fa4e4f203a8ef3a5907e6ae1c5fe +0 -0
  1112. data/test/dummy/tmp/cache/assets/DA9/260/sprockets%2Fc1fcec56269feb7958b43758a30cd4ae +0 -0
  1113. data/test/dummy/tmp/cache/assets/DA9/AC0/sprockets%2F2e99c05d2d4a6dd07ceecd1e36828e59 +0 -0
  1114. data/test/dummy/tmp/cache/assets/DAA/DD0/sprockets%2F98df97d3b62502d96af3ef3f10ca9b8b +0 -0
  1115. data/test/dummy/tmp/cache/assets/DAD/160/sprockets%2F779c8f22affde5dc2631981e53fcf13e +0 -0
  1116. data/test/dummy/tmp/cache/assets/DAD/860/sprockets%2Ffb3e8a99d50d6d3be208e574e47afe73 +0 -0
  1117. data/test/dummy/tmp/cache/assets/DB2/F20/sprockets%2Fcb07505f1faa065c7bfb2ab4a31f40a9 +0 -0
  1118. data/test/dummy/tmp/cache/assets/DB3/6F0/sprockets%2F20fa86f45ee5f7453ece4819df6d65af +0 -0
  1119. data/test/dummy/tmp/cache/assets/DB4/440/sprockets%2Fa64d973fe3bbdb73cc1e59699df67b81 +0 -0
  1120. data/test/dummy/tmp/cache/assets/DB5/CA0/sprockets%2Ffa625eadca02a2714be1b332fa85e5a5 +0 -0
  1121. data/test/dummy/tmp/cache/assets/DB8/FD0/sprockets%2Fe17c4077f7547f8a485b4deddf7c7ef4 +0 -0
  1122. data/test/dummy/tmp/cache/assets/DB9/240/sprockets%2F689d916cf738bdb67e176fced176e3af +0 -0
  1123. data/test/dummy/tmp/cache/assets/DBA/540/sprockets%2F3b28b072eeb23fd67aba01347a7dda2f +0 -0
  1124. data/test/dummy/tmp/cache/assets/DBA/AB0/sprockets%2F8be4208fd77cb5ef9b6f77e5fcf18670 +0 -0
  1125. data/test/dummy/tmp/cache/assets/{C53/680/sprockets%2F03d11661470de7443c495783330d9ee7 → DBE/F10/sprockets%2F4a23bf51d61d48d0be90508cd8d2bbcb} +0 -0
  1126. data/test/dummy/tmp/cache/assets/DBF/C50/sprockets%2Fdb013e77ca9c14c50c8dbc4a7ab4429c +0 -0
  1127. data/test/dummy/tmp/cache/assets/DC3/590/sprockets%2Fdce8a48dd0703d22b7d6ab522df29be1 +0 -0
  1128. data/test/dummy/tmp/cache/assets/DC7/B50/sprockets%2Fe607ccbbc942a27f068f22c57a3d3cec +0 -0
  1129. data/test/dummy/tmp/cache/assets/DCD/E40/sprockets%2Fda95cabb662b0875d1de8b666aa06ce8 +0 -0
  1130. data/test/dummy/tmp/cache/assets/DCE/820/sprockets%2Ffe5727ad047bfec93afaf014b2c07d89 +0 -0
  1131. data/test/dummy/tmp/cache/assets/DCF/DD0/sprockets%2F93108cbffaba93b4296df4b45b736bcf +0 -0
  1132. data/test/dummy/tmp/cache/assets/DD0/A90/sprockets%2Ffe24ca2c2ef212efc397e74cff6714f0 +0 -0
  1133. data/test/dummy/tmp/cache/assets/DD3/D30/sprockets%2F28403b8ee0b6d2c19f8dd3c83fd6ec5c +0 -0
  1134. data/test/dummy/tmp/cache/assets/DD7/050/sprockets%2Fcb0f2b238b9b9b79a599fb3d742eeaa7 +0 -0
  1135. data/test/dummy/tmp/cache/assets/DD7/B50/sprockets%2F7effa89c4b23ab60109f969a9a66ccbc +0 -0
  1136. data/test/dummy/tmp/cache/assets/DD8/970/sprockets%2Feadb32ccdc26918d346e7bc8654ea8e8 +0 -0
  1137. data/test/dummy/tmp/cache/assets/DD8/E60/sprockets%2F6f8c69a7360dab45ea41ac6fcf38d4e9 +0 -0
  1138. data/test/dummy/tmp/cache/assets/DDE/420/sprockets%2Ffb8b186d5bf0307f86f65fc787d2adeb +0 -0
  1139. data/test/dummy/tmp/cache/assets/DDF/330/sprockets%2Fd6daea6adb59ee6a8d7a16a94f365588 +0 -0
  1140. data/test/dummy/tmp/cache/assets/DE2/D10/sprockets%2F71aed9ab8fc47abd7d9de446b5793c76 +0 -0
  1141. data/test/dummy/tmp/cache/assets/DE4/040/sprockets%2Fd8efa9bd9f1e6159b9de162c44d7ad96 +0 -0
  1142. data/test/dummy/tmp/cache/assets/DE4/A90/sprockets%2F3bb6bd56fa97b73c27d8fef42f71cf98 +0 -0
  1143. data/test/dummy/tmp/cache/assets/DE4/BE0/sprockets%2Fa4dd939f8a29fe03643cfd84bffd79e1 +0 -0
  1144. data/test/dummy/tmp/cache/assets/DF0/680/sprockets%2F5e8210564bdda6fcef1fa19aa04b5e6a +0 -0
  1145. data/test/dummy/tmp/cache/assets/DF4/4E0/sprockets%2F4913905a34cde57a0edb343ce5daeeaf +0 -0
  1146. data/test/dummy/tmp/cache/assets/DF6/CC0/sprockets%2Fec0298fa8b5ae8a2eb26af7c0b380dc4 +0 -0
  1147. data/test/dummy/tmp/cache/assets/DF8/020/sprockets%2F708d52eabc7b58afd72c360eb8deb15a +0 -0
  1148. data/test/dummy/tmp/cache/assets/DFB/0C0/sprockets%2Fd35f36529da4a7a4cf67cdbe0a3bf27e +0 -0
  1149. data/test/dummy/tmp/cache/assets/DFE/AD0/sprockets%2Ff34f47e6d8bfa41dd87ab015c674ebca +0 -0
  1150. data/test/dummy/tmp/cache/assets/DFF/B50/sprockets%2Ffbf86ba72b8abb6dd139cd582b4db681 +0 -0
  1151. data/test/dummy/tmp/cache/assets/E03/4F0/sprockets%2Fe2fa5149cabd37ffed192d8b7ba6e077 +0 -0
  1152. data/test/dummy/tmp/cache/assets/E03/960/sprockets%2F585c9bdd911f5caf61f5adebf3f640f2 +0 -0
  1153. data/test/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af +0 -0
  1154. data/test/dummy/tmp/cache/assets/E09/680/sprockets%2Fff9edf3a74399a0818b02efcff3ad0f7 +0 -0
  1155. data/test/dummy/tmp/cache/assets/E0B/8B0/sprockets%2F35f64adcaf8786c81c0def5dd2ff47d3 +0 -0
  1156. data/test/dummy/tmp/cache/assets/E14/A50/sprockets%2F7970fc82e2877cf4bbb91f76ebfcfa6d +0 -0
  1157. data/test/dummy/tmp/cache/assets/E1B/EB0/sprockets%2Fb32811ced5b78c4cdccad030b64fef1b +0 -0
  1158. data/test/dummy/tmp/cache/assets/E1D/630/sprockets%2Fa321239deaf9ccb117f1ecffbdd1a056 +0 -0
  1159. data/test/dummy/tmp/cache/assets/E25/AE0/sprockets%2F23f44ceee0a2bad4fc3a8fe74b0477cd +0 -0
  1160. data/test/dummy/tmp/cache/assets/E27/290/sprockets%2Fbf0cd6d69fd60fa28cb76b0eb51b0f7b +0 -0
  1161. data/test/dummy/tmp/cache/assets/E2D/6E0/sprockets%2Fe1e94cc795ddcaf7ef6ba13d4a509c1b +0 -0
  1162. data/test/dummy/tmp/cache/assets/E2D/DB0/sprockets%2Fda16ffa3725b3fe51ae95abbad0ff887 +0 -0
  1163. data/test/dummy/tmp/cache/assets/E44/7A0/sprockets%2F58a1a8e8ff2d672bf8ffd80dce8e70fd +0 -0
  1164. data/test/dummy/tmp/cache/assets/E49/BA0/sprockets%2F24e821bf3cfada7cfddc318cd621d0aa +0 -0
  1165. data/test/dummy/tmp/cache/assets/E60/C40/sprockets%2Ffa41e9dfffc6d34c402c80eff5dabf18 +0 -0
  1166. data/test/dummy/tmp/cache/assets/E6D/4E0/sprockets%2F3edab8d9966c539f7bb9b8ead21cfbbf +0 -0
  1167. data/test/dummy/tmp/cache/assets/E6E/B50/sprockets%2Fe983dcd4be2ffedb4723cd8bde58e29c +0 -0
  1168. data/test/dummy/tmp/cache/assets/E88/F70/sprockets%2Fab54fcc2f3ee44ebc8fa4fdd3a50bf38 +0 -0
  1169. data/test/dummy/tmp/cache/assets/EA3/550/sprockets%2F4e5efb3ae39d439faf3dda8d8e99bdfc +0 -0
  1170. data/test/dummy/tmp/cache/assets/EE3/2F0/sprockets%2F8adda8a2ada1dfd4acf2ea79bba77be5 +0 -0
  1171. data/test/dummy/tmp/cache/sass/4905b1148d31ac1351d8ccf185fbd2494a596795/application.css.scssc +0 -0
  1172. data/test/dummy/tmp/cache/sass/668d79d9ad3dff702eb0949a7b481231ac342422/_base.css.scssc +0 -0
  1173. data/test/dummy/tmp/cache/sass/668d79d9ad3dff702eb0949a7b481231ac342422/_forms.css.scssc +0 -0
  1174. data/test/dummy/tmp/cache/sass/668d79d9ad3dff702eb0949a7b481231ac342422/_header.css.scssc +0 -0
  1175. data/test/dummy/tmp/cache/sass/668d79d9ad3dff702eb0949a7b481231ac342422/_mixins.css.scssc +0 -0
  1176. data/test/dummy/tmp/cache/sass/668d79d9ad3dff702eb0949a7b481231ac342422/_typography.css.scssc +0 -0
  1177. data/test/dummy/tmp/cache/sass/7191024ea191ad956b7cd6ecd0b114dfe0614963/_all.css.scssc +0 -0
  1178. data/test/dummy/tmp/cache/sass/7191024ea191ad956b7cd6ecd0b114dfe0614963/_buttons.css.scssc +0 -0
  1179. data/test/dummy/tmp/cache/sass/7191024ea191ad956b7cd6ecd0b114dfe0614963/_gradients.css.scssc +0 -0
  1180. data/test/dummy/tmp/cache/sass/7191024ea191ad956b7cd6ecd0b114dfe0614963/_icons.css.scssc +0 -0
  1181. data/test/dummy/tmp/cache/sass/7191024ea191ad956b7cd6ecd0b114dfe0614963/_reset.css.scssc +0 -0
  1182. data/test/dummy/tmp/cache/sass/7191024ea191ad956b7cd6ecd0b114dfe0614963/_rounded.css.scssc +0 -0
  1183. data/test/dummy/tmp/cache/sass/7191024ea191ad956b7cd6ecd0b114dfe0614963/_sections.css.scssc +0 -0
  1184. data/test/dummy/tmp/cache/sass/7191024ea191ad956b7cd6ecd0b114dfe0614963/_shadows.css.scssc +0 -0
  1185. data/test/dummy/tmp/cache/sass/7191024ea191ad956b7cd6ecd0b114dfe0614963/_utilities.scssc +0 -0
  1186. data/test/dummy/tmp/cache/sass/7191024ea191ad956b7cd6ecd0b114dfe0614963/_variables.css.scssc +0 -0
  1187. data/test/dummy/tmp/cache/sass/9b29130c260e464c0ad2c23c77a58da7c3f9eec7/active_admin.css.scssc +0 -0
  1188. data/test/dummy/tmp/cache/sass/b0332679d3812b1ad14330d73aefb536f5842ba7/_comments.css.scssc +0 -0
  1189. data/test/dummy/tmp/cache/sass/b0332679d3812b1ad14330d73aefb536f5842ba7/_date_picker.css.scssc +0 -0
  1190. data/test/dummy/tmp/cache/sass/b0332679d3812b1ad14330d73aefb536f5842ba7/_flash_messages.css.scssc +0 -0
  1191. data/test/dummy/tmp/cache/sass/b0332679d3812b1ad14330d73aefb536f5842ba7/_tables.css.scssc +0 -0
  1192. data/test/dummy/tmp/cache/sass/ddba83cb438190ca32bf384b6eea0c3ef82ae9fa/reset.css.scssc +0 -0
  1193. metadata +2311 -172
  1194. data/lib/rich/form_builder.rb +0 -14
  1195. data/lib/rich/legacy_formtastic.rb +0 -15
  1196. data/lib/rich/view_helper.rb +0 -48
  1197. data/test/dummy/tmp/cache/assets/C2B/5B0/sprockets%2F0c71315129cf9540624929678219ee7b +0 -0
  1198. data/test/dummy/tmp/cache/assets/C51/3D0/sprockets%2F110c288a88ab99a1399d35171079612c +0 -0
  1199. data/test/dummy/tmp/cache/assets/C53/630/sprockets%2F0680b1b2c967d3c84970e3786800641c +0 -0
  1200. data/test/dummy/tmp/cache/assets/C7F/C10/sprockets%2F356f0929a286c961448d76c12a2e14b1 +0 -0
  1201. data/test/dummy/tmp/cache/assets/CAB/440/sprockets%2Fed2218494b3b8488b7268c00e717a0c1 +0 -0
  1202. data/test/dummy/tmp/cache/assets/CB4/740/sprockets%2F36fd3817633b234824bc6577f25ffe01 +0 -0
  1203. data/test/dummy/tmp/cache/assets/CC4/040/sprockets%2F83a9f5f7314b761bbd7f1858d1998045 +0 -0
  1204. data/test/dummy/tmp/cache/assets/CC4/590/sprockets%2F869369b5c848f745b23ba174ca9197a6 +0 -0
  1205. data/test/dummy/tmp/cache/assets/CC7/5F0/sprockets%2F8bf37168fb70e08b9e4578e72739a543 +0 -0
  1206. data/test/dummy/tmp/cache/assets/CD5/340/sprockets%2Fae698307143f445c5011d6ad90b4cf60 +0 -0
  1207. data/test/dummy/tmp/cache/assets/CE4/510/sprockets%2F3271d0cbd86553a56768f4d130ec5e59 +0 -0
  1208. data/test/dummy/tmp/cache/assets/CE8/310/sprockets%2F4ab24984d5862f28160f1f4f067e2ef4 +0 -0
  1209. data/test/dummy/tmp/cache/assets/CED/2E0/sprockets%2F82382552d084b0569dfd88e34d1cb7e8 +0 -0
  1210. data/test/dummy/tmp/cache/assets/CF0/A80/sprockets%2Fd1de761043f6d817880d4b876a73bf87 +0 -0
  1211. data/test/dummy/tmp/cache/assets/CF9/EC0/sprockets%2F04ba1f02c639d30c53eb7b51640b937a +0 -0
  1212. data/test/dummy/tmp/cache/assets/D00/C00/sprockets%2F0a61e8d7b11a463083da24605e65d5dd +0 -0
  1213. data/test/dummy/tmp/cache/assets/D11/D20/sprockets%2Fcac21eac42152981882bf9e489316af4 +0 -0
  1214. data/test/dummy/tmp/cache/assets/D13/970/sprockets%2F1fd634278255bc58382a590fd5cf24cc +0 -0
  1215. data/test/dummy/tmp/cache/assets/D1D/1A0/sprockets%2Fc2e11e4152a31726c2cbab7333c74ba2 +0 -0
  1216. data/test/dummy/tmp/cache/assets/D2F/390/sprockets%2Fa02968dd653b0e650fc202c33ff42fc0 +0 -0
  1217. data/test/dummy/tmp/cache/assets/D34/080/sprockets%2Fe398005214c8d65a54fc19fca2c00c8b +0 -0
  1218. data/test/dummy/tmp/cache/assets/D3C/070/sprockets%2F2377eb8a729535e35abd593a6fc00ba6 +0 -0
  1219. data/test/dummy/tmp/cache/assets/D3E/B20/sprockets%2F1f79ee84bd6d74d100c5cb018b662b67 +0 -0
  1220. data/test/dummy/tmp/cache/assets/D48/9F0/sprockets%2F6ed3c460867ee6d748edad50818d332a +0 -0
  1221. data/test/dummy/tmp/cache/assets/D52/9B0/sprockets%2F736738bf59f956eb15c4bff06d980be0 +0 -0
  1222. data/test/dummy/tmp/cache/assets/D61/940/sprockets%2Fca03651b8f5fb1416c9945cda71ab22d +0 -0
  1223. data/test/dummy/tmp/cache/assets/D78/9D0/sprockets%2Ff56eced46698105ad2e9d46b1e2ee228 +0 -0
  1224. data/test/dummy/tmp/cache/assets/D86/710/sprockets%2F409dbeb796f68c91b60fe29aef7817e3 +0 -0
  1225. data/test/dummy/tmp/cache/assets/DC5/450/sprockets%2F82d256faac73d9a3ec5c4f1d11be525d +0 -0
  1226. data/test/dummy/tmp/cache/assets/DCE/890/sprockets%2Ffd6332ebff4dab12cdf448e195d6b381 +0 -0
  1227. data/test/dummy/tmp/cache/assets/DE7/7C0/sprockets%2F75aa5c034633c20d9c4d1bffbbbdc23d +0 -0
  1228. data/test/dummy/tmp/cache/assets/DFF/4D0/sprockets%2F0d7eae306cc4e83ae549e96b1b6da8db +0 -0
  1229. data/test/dummy/tmp/cache/assets/E06/920/sprockets%2F6baa37d1c26468aef4fe5fe4bf982fa3 +0 -0
  1230. data/test/dummy/tmp/cache/assets/E2F/E90/sprockets%2Ff4b19e42c92a93dcaaec9fe6eae4081d +0 -0
  1231. data/test/dummy/tmp/cache/sass/12aeefe9aeb071fe3d12ce952e92dfc373eac603/_base.css.scssc +0 -0
  1232. data/test/dummy/tmp/cache/sass/12aeefe9aeb071fe3d12ce952e92dfc373eac603/_forms.css.scssc +0 -0
  1233. data/test/dummy/tmp/cache/sass/12aeefe9aeb071fe3d12ce952e92dfc373eac603/_header.css.scssc +0 -0
  1234. data/test/dummy/tmp/cache/sass/12aeefe9aeb071fe3d12ce952e92dfc373eac603/_mixins.css.scssc +0 -0
  1235. data/test/dummy/tmp/cache/sass/12aeefe9aeb071fe3d12ce952e92dfc373eac603/_typography.css.scssc +0 -0
  1236. data/test/dummy/tmp/cache/sass/4042a1944de48cf2066ee5650a418db4b1d7f0a1/_base.css.scssc +0 -0
  1237. data/test/dummy/tmp/cache/sass/4042a1944de48cf2066ee5650a418db4b1d7f0a1/_forms.css.scssc +0 -0
  1238. data/test/dummy/tmp/cache/sass/4042a1944de48cf2066ee5650a418db4b1d7f0a1/_header.css.scssc +0 -0
  1239. data/test/dummy/tmp/cache/sass/4042a1944de48cf2066ee5650a418db4b1d7f0a1/_mixins.css.scssc +0 -0
  1240. data/test/dummy/tmp/cache/sass/4042a1944de48cf2066ee5650a418db4b1d7f0a1/_typography.css.scssc +0 -0
  1241. data/test/dummy/tmp/cache/sass/4f667cf792197ab0525ceee5448b803db81dab90/_comments.css.scssc +0 -0
  1242. data/test/dummy/tmp/cache/sass/4f667cf792197ab0525ceee5448b803db81dab90/_date_picker.css.scssc +0 -0
  1243. data/test/dummy/tmp/cache/sass/4f667cf792197ab0525ceee5448b803db81dab90/_flash_messages.css.scssc +0 -0
  1244. data/test/dummy/tmp/cache/sass/4f667cf792197ab0525ceee5448b803db81dab90/_tables.css.scssc +0 -0
  1245. data/test/dummy/tmp/cache/sass/76bbe61bc8118aa78e4db81878cf11d79a964373/_all.css.scssc +0 -0
  1246. data/test/dummy/tmp/cache/sass/76bbe61bc8118aa78e4db81878cf11d79a964373/_buttons.css.scssc +0 -0
  1247. data/test/dummy/tmp/cache/sass/76bbe61bc8118aa78e4db81878cf11d79a964373/_gradients.css.scssc +0 -0
  1248. data/test/dummy/tmp/cache/sass/76bbe61bc8118aa78e4db81878cf11d79a964373/_icons.css.scssc +0 -0
  1249. data/test/dummy/tmp/cache/sass/76bbe61bc8118aa78e4db81878cf11d79a964373/_reset.css.scssc +0 -0
  1250. data/test/dummy/tmp/cache/sass/76bbe61bc8118aa78e4db81878cf11d79a964373/_rounded.css.scssc +0 -0
  1251. data/test/dummy/tmp/cache/sass/76bbe61bc8118aa78e4db81878cf11d79a964373/_sections.css.scssc +0 -0
  1252. data/test/dummy/tmp/cache/sass/76bbe61bc8118aa78e4db81878cf11d79a964373/_shadows.css.scssc +0 -0
  1253. data/test/dummy/tmp/cache/sass/76bbe61bc8118aa78e4db81878cf11d79a964373/_utilities.scssc +0 -0
  1254. data/test/dummy/tmp/cache/sass/76bbe61bc8118aa78e4db81878cf11d79a964373/_variables.css.scssc +0 -0
  1255. data/test/dummy/tmp/cache/sass/dc62b2f303532e1c32e9571414568d9c2570f335/_all.css.scssc +0 -0
  1256. data/test/dummy/tmp/cache/sass/dc62b2f303532e1c32e9571414568d9c2570f335/_buttons.css.scssc +0 -0
  1257. data/test/dummy/tmp/cache/sass/dc62b2f303532e1c32e9571414568d9c2570f335/_gradients.css.scssc +0 -0
  1258. data/test/dummy/tmp/cache/sass/dc62b2f303532e1c32e9571414568d9c2570f335/_icons.css.scssc +0 -0
  1259. data/test/dummy/tmp/cache/sass/dc62b2f303532e1c32e9571414568d9c2570f335/_reset.css.scssc +0 -0
  1260. data/test/dummy/tmp/cache/sass/dc62b2f303532e1c32e9571414568d9c2570f335/_rounded.css.scssc +0 -0
  1261. data/test/dummy/tmp/cache/sass/dc62b2f303532e1c32e9571414568d9c2570f335/_sections.css.scssc +0 -0
  1262. data/test/dummy/tmp/cache/sass/dc62b2f303532e1c32e9571414568d9c2570f335/_shadows.css.scssc +0 -0
  1263. data/test/dummy/tmp/cache/sass/dc62b2f303532e1c32e9571414568d9c2570f335/_utilities.scssc +0 -0
  1264. data/test/dummy/tmp/cache/sass/dc62b2f303532e1c32e9571414568d9c2570f335/_variables.css.scssc +0 -0
  1265. data/test/dummy/tmp/cache/sass/dde0527ffef9ea409c8e8afb2306d11f2e0b6500/_comments.css.scssc +0 -0
  1266. data/test/dummy/tmp/cache/sass/dde0527ffef9ea409c8e8afb2306d11f2e0b6500/_date_picker.css.scssc +0 -0
  1267. data/test/dummy/tmp/cache/sass/dde0527ffef9ea409c8e8afb2306d11f2e0b6500/_flash_messages.css.scssc +0 -0
  1268. data/test/dummy/tmp/cache/sass/dde0527ffef9ea409c8e8afb2306d11f2e0b6500/_tables.css.scssc +0 -0
@@ -0,0 +1,122 @@
1
+ 
2
+ CKEDITOR.plugins.setLang( 'specialchar', 'en',
3
+ {
4
+ euro: "Euro sign",
5
+ lsquo: "Left single quotation mark",
6
+ rsquo: "Right single quotation mark",
7
+ ldquo: "Left double quotation mark",
8
+ rdquo: "Right double quotation mark",
9
+ ndash: "En dash",
10
+ mdash: "Em dash",
11
+ iexcl: "Inverted exclamation mark",
12
+ cent: "Cent sign",
13
+ pound: "Pound sign",
14
+ curren: "Currency sign",
15
+ yen: "Yen sign",
16
+ brvbar: "Broken bar",
17
+ sect: "Section sign",
18
+ uml: "Diaeresis",
19
+ copy: "Copyright sign",
20
+ ordf: "Feminine ordinal indicator",
21
+ laquo: "Left-pointing double angle quotation mark",
22
+ not: "Not sign",
23
+ reg: "Registered sign",
24
+ macr: "Macron",
25
+ deg: "Degree sign",
26
+ sup2: "Superscript two",
27
+ sup3: "Superscript three",
28
+ acute: "Acute accent",
29
+ micro: "Micro sign",
30
+ para: "Pilcrow sign",
31
+ middot: "Middle dot",
32
+ cedil: "Cedilla",
33
+ sup1: "Superscript one",
34
+ ordm: "Masculine ordinal indicator",
35
+ raquo: "Right-pointing double angle quotation mark",
36
+ frac14: "Vulgar fraction one quarter",
37
+ frac12: "Vulgar fraction one half",
38
+ frac34: "Vulgar fraction three quarters",
39
+ iquest: "Inverted question mark",
40
+ Agrave: "Latin capital letter A with grave accent",
41
+ Aacute: "Latin capital letter A with acute accent",
42
+ Acirc: "Latin capital letter A with circumflex",
43
+ Atilde: "Latin capital letter A with tilde",
44
+ Auml: "Latin capital letter A with diaeresis",
45
+ Aring: "Latin capital letter A with ring above",
46
+ AElig: "Latin Capital letter Æ",
47
+ Ccedil: "Latin capital letter C with cedilla",
48
+ Egrave: "Latin capital letter E with grave accent",
49
+ Eacute: "Latin capital letter E with acute accent",
50
+ Ecirc: "Latin capital letter E with circumflex",
51
+ Euml: "Latin capital letter E with diaeresis",
52
+ Igrave: "Latin capital letter I with grave accent",
53
+ Iacute: "Latin capital letter I with acute accent",
54
+ Icirc: "Latin capital letter I with circumflex",
55
+ Iuml: "Latin capital letter I with diaeresis",
56
+ ETH: "Latin capital letter Eth",
57
+ Ntilde: "Latin capital letter N with tilde",
58
+ Ograve: "Latin capital letter O with grave accent",
59
+ Oacute: "Latin capital letter O with acute accent",
60
+ Ocirc: "Latin capital letter O with circumflex",
61
+ Otilde: "Latin capital letter O with tilde",
62
+ Ouml: "Latin capital letter O with diaeresis",
63
+ times: "Multiplication sign",
64
+ Oslash: "Latin capital letter O with stroke",
65
+ Ugrave: "Latin capital letter U with grave accent",
66
+ Uacute: "Latin capital letter U with acute accent",
67
+ Ucirc: "Latin capital letter U with circumflex",
68
+ Uuml: "Latin capital letter U with diaeresis",
69
+ Yacute: "Latin capital letter Y with acute accent",
70
+ THORN: "Latin capital letter Thorn",
71
+ szlig: "Latin small letter sharp s",
72
+ agrave: "Latin small letter a with grave accent",
73
+ aacute: "Latin small letter a with acute accent",
74
+ acirc: "Latin small letter a with circumflex",
75
+ atilde: "Latin small letter a with tilde",
76
+ auml: "Latin small letter a with diaeresis",
77
+ aring: "Latin small letter a with ring above",
78
+ aelig: "Latin small letter æ",
79
+ ccedil: "Latin small letter c with cedilla",
80
+ egrave: "Latin small letter e with grave accent",
81
+ eacute: "Latin small letter e with acute accent",
82
+ ecirc: "Latin small letter e with circumflex",
83
+ euml: "Latin small letter e with diaeresis",
84
+ igrave: "Latin small letter i with grave accent",
85
+ iacute: "Latin small letter i with acute accent",
86
+ icirc: "Latin small letter i with circumflex",
87
+ iuml: "Latin small letter i with diaeresis",
88
+ eth: "Latin small letter eth",
89
+ ntilde: "Latin small letter n with tilde",
90
+ ograve: "Latin small letter o with grave accent",
91
+ oacute: "Latin small letter o with acute accent",
92
+ ocirc: "Latin small letter o with circumflex",
93
+ otilde: "Latin small letter o with tilde",
94
+ ouml: "Latin small letter o with diaeresis",
95
+ divide: "Division sign",
96
+ oslash: "Latin small letter o with stroke",
97
+ ugrave: "Latin small letter u with grave accent",
98
+ uacute: "Latin small letter u with acute accent",
99
+ ucirc: "Latin small letter u with circumflex",
100
+ uuml: "Latin small letter u with diaeresis",
101
+ yacute: "Latin small letter y with acute accent",
102
+ thorn: "Latin small letter thorn",
103
+ yuml: "Latin small letter y with diaeresis",
104
+ OElig: "Latin capital ligature OE",
105
+ oelig: "Latin small ligature oe",
106
+ '372': "Latin capital letter W with circumflex",
107
+ '374': "Latin capital letter Y with circumflex",
108
+ '373': "Latin small letter w with circumflex",
109
+ '375': "Latin small letter y with circumflex",
110
+ sbquo: "Single low-9 quotation mark",
111
+ '8219': "Single high-reversed-9 quotation mark",
112
+ bdquo: "Double low-9 quotation mark",
113
+ hellip: "Horizontal ellipsis",
114
+ trade: "Trade mark sign",
115
+ '9658': "Black right-pointing pointer",
116
+ bull: "Bullet",
117
+ rarr: "Rightwards arrow",
118
+ rArr: "Rightwards double arrow",
119
+ hArr: "Left right double arrow",
120
+ diams: "Black diamond suit",
121
+ asymp: "Almost equal to"
122
+ });
@@ -0,0 +1,70 @@
1
+ /*
2
+ Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved.
3
+ For licensing, see LICENSE.html or http://ckeditor.com/license
4
+ */
5
+
6
+ /**
7
+ * @file Special Character plugin
8
+ */
9
+
10
+ CKEDITOR.plugins.add( 'specialchar',
11
+ {
12
+ // List of available localizations.
13
+ availableLangs : { en:1 },
14
+
15
+ init : function( editor )
16
+ {
17
+ var pluginName = 'specialchar',
18
+ plugin = this;
19
+
20
+ // Register the dialog.
21
+ CKEDITOR.dialog.add( pluginName, this.path + 'dialogs/specialchar.js' );
22
+
23
+ editor.addCommand( pluginName,
24
+ {
25
+ exec : function()
26
+ {
27
+ var langCode = editor.langCode;
28
+ langCode = plugin.availableLangs[ langCode ] ? langCode : 'en';
29
+
30
+ CKEDITOR.scriptLoader.load(
31
+ CKEDITOR.getUrl( plugin.path + 'lang/' + langCode + '.js' ),
32
+ function()
33
+ {
34
+ CKEDITOR.tools.extend( editor.lang.specialChar, plugin.langEntries[ langCode ] );
35
+ editor.openDialog( pluginName );
36
+ });
37
+ },
38
+ modes : { wysiwyg:1 },
39
+ canUndo : false
40
+ });
41
+
42
+ // Register the toolbar button.
43
+ editor.ui.addButton( 'SpecialChar',
44
+ {
45
+ label : editor.lang.specialChar.toolbar,
46
+ command : pluginName
47
+ });
48
+ }
49
+ } );
50
+
51
+ /**
52
+ * The list of special characters visible in the Special Character dialog window.
53
+ * @type Array
54
+ * @example
55
+ * config.specialChars = [ '"', '’', [ '&custom;', 'Custom label' ] ];
56
+ * config.specialChars = config.specialChars.concat( [ '"', [ '’', 'Custom label' ] ] );
57
+ */
58
+ CKEDITOR.config.specialChars =
59
+ [
60
+ '!','"','#','$','%','&',"'",'(',')','*','+','-','.','/',
61
+ '0','1','2','3','4','5','6','7','8','9',':',';',
62
+ '<','=','>','?','@',
63
+ 'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O',
64
+ 'P','Q','R','S','T','U','V','W','X','Y','Z',
65
+ '[',']','^','_','`',
66
+ 'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p',
67
+ 'q','r','s','t','u','v','w','x','y','z',
68
+ '{','|','}','~',
69
+ "€", "‘", "’", "“", "”", "–", "—", "¡", "¢", "£", "¤", "¥", "¦", "§", "¨", "©", "ª", "«", "¬", "®", "¯", "°", "²", "³", "´", "µ", "¶", "·", "¸", "¹", "º", "»", "¼", "½", "¾", "¿", "À", "Á", "Â", "Ã", "Ä", "Å", "Æ", "Ç", "È", "É", "Ê", "Ë", "Ì", "Í", "Î", "Ï", "Ð", "Ñ", "Ò", "Ó", "Ô", "Õ", "Ö", "×", "Ø", "Ù", "Ú", "Û", "Ü", "Ý", "Þ", "ß", "à", "á", "â", "ã", "ä", "å", "æ", "ç", "è", "é", "ê", "ë", "ì", "í", "î", "ï", "ð", "ñ", "ò", "ó", "ô", "õ", "ö", "÷", "ø", "ù", "ú", "û", "ü", "ý", "þ", "ÿ", "Œ", "œ", "Ŵ", "&#374", "&#373", "ŷ", "‚", "‛", "„", "…", "™", "►", "•", "→", "⇒", "⇔", "♦", "≈"
70
+ ];
@@ -0,0 +1,1700 @@
1
+ /*
2
+ Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved.
3
+ For licensing, see LICENSE.html or http://ckeditor.com/license
4
+ */
5
+
6
+ CKEDITOR.plugins.add( 'styles',
7
+ {
8
+ requires : [ 'selection' ],
9
+ init : function( editor )
10
+ {
11
+ // This doesn't look like correct, but it's the safest way to proper
12
+ // pass the disableReadonlyStyling configuration to the style system
13
+ // without having to change any method signature in the API. (#6103)
14
+ editor.on( 'contentDom', function()
15
+ {
16
+ editor.document.setCustomData( 'cke_includeReadonly', !editor.config.disableReadonlyStyling );
17
+ });
18
+ }
19
+ });
20
+
21
+ /**
22
+ * Registers a function to be called whenever the selection position changes in the
23
+ * editing area. The current state is passed to the function. The possible
24
+ * states are {@link CKEDITOR.TRISTATE_ON} and {@link CKEDITOR.TRISTATE_OFF}.
25
+ * @param {CKEDITOR.style} style The style to be watched.
26
+ * @param {Function} callback The function to be called.
27
+ * @example
28
+ * // Create a style object for the <b> element.
29
+ * var style = new CKEDITOR.style( { element : 'b' } );
30
+ * var editor = CKEDITOR.instances.editor1;
31
+ * editor.attachStyleStateChange( style, function( state )
32
+ * {
33
+ * if ( state == CKEDITOR.TRISTATE_ON )
34
+ * alert( 'The current state for the B element is ON' );
35
+ * else
36
+ * alert( 'The current state for the B element is OFF' );
37
+ * });
38
+ */
39
+ CKEDITOR.editor.prototype.attachStyleStateChange = function( style, callback )
40
+ {
41
+ // Try to get the list of attached callbacks.
42
+ var styleStateChangeCallbacks = this._.styleStateChangeCallbacks;
43
+
44
+ // If it doesn't exist, it means this is the first call. So, let's create
45
+ // all the structure to manage the style checks and the callback calls.
46
+ if ( !styleStateChangeCallbacks )
47
+ {
48
+ // Create the callbacks array.
49
+ styleStateChangeCallbacks = this._.styleStateChangeCallbacks = [];
50
+
51
+ // Attach to the selectionChange event, so we can check the styles at
52
+ // that point.
53
+ this.on( 'selectionChange', function( ev )
54
+ {
55
+ // Loop throw all registered callbacks.
56
+ for ( var i = 0 ; i < styleStateChangeCallbacks.length ; i++ )
57
+ {
58
+ var callback = styleStateChangeCallbacks[ i ];
59
+
60
+ // Check the current state for the style defined for that
61
+ // callback.
62
+ var currentState = callback.style.checkActive( ev.data.path ) ? CKEDITOR.TRISTATE_ON : CKEDITOR.TRISTATE_OFF;
63
+
64
+ // Call the callback function, passing the current
65
+ // state to it.
66
+ callback.fn.call( this, currentState );
67
+ }
68
+ });
69
+ }
70
+
71
+ // Save the callback info, so it can be checked on the next occurrence of
72
+ // selectionChange.
73
+ styleStateChangeCallbacks.push( { style : style, fn : callback } );
74
+ };
75
+
76
+ CKEDITOR.STYLE_BLOCK = 1;
77
+ CKEDITOR.STYLE_INLINE = 2;
78
+ CKEDITOR.STYLE_OBJECT = 3;
79
+
80
+ (function()
81
+ {
82
+ var blockElements = { address:1,div:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,p:1,pre:1,section:1,header:1,footer:1,nav:1,article:1,aside:1,figure:1,dialog:1,hgroup:1,time:1,meter:1,menu:1,command:1,keygen:1,output:1,progress:1,details:1,datagrid:1,datalist:1 },
83
+ objectElements = { a:1,embed:1,hr:1,img:1,li:1,object:1,ol:1,table:1,td:1,tr:1,th:1,ul:1,dl:1,dt:1,dd:1,form:1,audio:1,video:1 };
84
+
85
+ var semicolonFixRegex = /\s*(?:;\s*|$)/,
86
+ varRegex = /#\((.+?)\)/g;
87
+
88
+ var notBookmark = CKEDITOR.dom.walker.bookmark( 0, 1 ),
89
+ nonWhitespaces = CKEDITOR.dom.walker.whitespaces( 1 );
90
+
91
+ CKEDITOR.style = function( styleDefinition, variablesValues )
92
+ {
93
+ if ( variablesValues )
94
+ {
95
+ styleDefinition = CKEDITOR.tools.clone( styleDefinition );
96
+
97
+ replaceVariables( styleDefinition.attributes, variablesValues );
98
+ replaceVariables( styleDefinition.styles, variablesValues );
99
+ }
100
+
101
+ var element = this.element = styleDefinition.element ?
102
+ ( typeof styleDefinition.element == 'string' ? styleDefinition.element.toLowerCase() : styleDefinition.element )
103
+ : '*';
104
+
105
+ this.type =
106
+ blockElements[ element ] ?
107
+ CKEDITOR.STYLE_BLOCK
108
+ : objectElements[ element ] ?
109
+ CKEDITOR.STYLE_OBJECT
110
+ :
111
+ CKEDITOR.STYLE_INLINE;
112
+
113
+ // If the 'element' property is an object with a set of possible element, it will be applied like an object style: only to existing elements
114
+ if ( typeof this.element == 'object' )
115
+ this.type = CKEDITOR.STYLE_OBJECT;
116
+
117
+ this._ =
118
+ {
119
+ definition : styleDefinition
120
+ };
121
+ };
122
+
123
+ CKEDITOR.style.prototype =
124
+ {
125
+ apply : function( document )
126
+ {
127
+ applyStyle.call( this, document, false );
128
+ },
129
+
130
+ remove : function( document )
131
+ {
132
+ applyStyle.call( this, document, true );
133
+ },
134
+
135
+ applyToRange : function( range )
136
+ {
137
+ return ( this.applyToRange =
138
+ this.type == CKEDITOR.STYLE_INLINE ?
139
+ applyInlineStyle
140
+ : this.type == CKEDITOR.STYLE_BLOCK ?
141
+ applyBlockStyle
142
+ : this.type == CKEDITOR.STYLE_OBJECT ?
143
+ applyObjectStyle
144
+ : null ).call( this, range );
145
+ },
146
+
147
+ removeFromRange : function( range )
148
+ {
149
+ return ( this.removeFromRange =
150
+ this.type == CKEDITOR.STYLE_INLINE ?
151
+ removeInlineStyle
152
+ : this.type == CKEDITOR.STYLE_BLOCK ?
153
+ removeBlockStyle
154
+ : this.type == CKEDITOR.STYLE_OBJECT ?
155
+ removeObjectStyle
156
+ : null ).call( this, range );
157
+ },
158
+
159
+ applyToObject : function( element )
160
+ {
161
+ setupElement( element, this );
162
+ },
163
+
164
+ /**
165
+ * Get the style state inside an element path. Returns "true" if the
166
+ * element is active in the path.
167
+ */
168
+ checkActive : function( elementPath )
169
+ {
170
+ switch ( this.type )
171
+ {
172
+ case CKEDITOR.STYLE_BLOCK :
173
+ return this.checkElementRemovable( elementPath.block || elementPath.blockLimit, true );
174
+
175
+ case CKEDITOR.STYLE_OBJECT :
176
+ case CKEDITOR.STYLE_INLINE :
177
+
178
+ var elements = elementPath.elements;
179
+
180
+ for ( var i = 0, element ; i < elements.length ; i++ )
181
+ {
182
+ element = elements[ i ];
183
+
184
+ if ( this.type == CKEDITOR.STYLE_INLINE
185
+ && ( element == elementPath.block || element == elementPath.blockLimit ) )
186
+ continue;
187
+
188
+ if( this.type == CKEDITOR.STYLE_OBJECT )
189
+ {
190
+ var name = element.getName();
191
+ if ( !( typeof this.element == 'string' ? name == this.element : name in this.element ) )
192
+ continue;
193
+ }
194
+
195
+ if ( this.checkElementRemovable( element, true ) )
196
+ return true;
197
+ }
198
+ }
199
+ return false;
200
+ },
201
+
202
+ /**
203
+ * Whether this style can be applied at the element path.
204
+ * @param elementPath
205
+ */
206
+ checkApplicable : function( elementPath )
207
+ {
208
+ switch ( this.type )
209
+ {
210
+ case CKEDITOR.STYLE_INLINE :
211
+ case CKEDITOR.STYLE_BLOCK :
212
+ break;
213
+
214
+ case CKEDITOR.STYLE_OBJECT :
215
+ return elementPath.lastElement.getAscendant( this.element, true );
216
+ }
217
+
218
+ return true;
219
+ },
220
+
221
+ // Checks if an element, or any of its attributes, is removable by the
222
+ // current style definition.
223
+ checkElementRemovable : function( element, fullMatch )
224
+ {
225
+ var def = this._.definition;
226
+
227
+ if ( !element || !def.ignoreReadonly && element.isReadOnly() )
228
+ return false;
229
+
230
+ var attribs,
231
+ name = element.getName();
232
+
233
+ // If the element name is the same as the style name.
234
+ if ( typeof this.element == 'string' ? name == this.element : name in this.element )
235
+ {
236
+ // If no attributes are defined in the element.
237
+ if ( !fullMatch && !element.hasAttributes() )
238
+ return true;
239
+
240
+ attribs = getAttributesForComparison( def );
241
+
242
+ if ( attribs._length )
243
+ {
244
+ for ( var attName in attribs )
245
+ {
246
+ if ( attName == '_length' )
247
+ continue;
248
+
249
+ var elementAttr = element.getAttribute( attName ) || '';
250
+
251
+ // Special treatment for 'style' attribute is required.
252
+ if ( attName == 'style' ?
253
+ compareCssText( attribs[ attName ], normalizeCssText( elementAttr, false ) )
254
+ : attribs[ attName ] == elementAttr )
255
+ {
256
+ if ( !fullMatch )
257
+ return true;
258
+ }
259
+ else if ( fullMatch )
260
+ return false;
261
+ }
262
+ if ( fullMatch )
263
+ return true;
264
+ }
265
+ else
266
+ return true;
267
+ }
268
+
269
+ // Check if the element can be somehow overriden.
270
+ var override = getOverrides( this )[ element.getName() ] ;
271
+ if ( override )
272
+ {
273
+ // If no attributes have been defined, remove the element.
274
+ if ( !( attribs = override.attributes ) )
275
+ return true;
276
+
277
+ for ( var i = 0 ; i < attribs.length ; i++ )
278
+ {
279
+ attName = attribs[i][0];
280
+ var actualAttrValue = element.getAttribute( attName );
281
+ if ( actualAttrValue )
282
+ {
283
+ var attValue = attribs[i][1];
284
+
285
+ // Remove the attribute if:
286
+ // - The override definition value is null;
287
+ // - The override definition value is a string that
288
+ // matches the attribute value exactly.
289
+ // - The override definition value is a regex that
290
+ // has matches in the attribute value.
291
+ if ( attValue === null ||
292
+ ( typeof attValue == 'string' && actualAttrValue == attValue ) ||
293
+ attValue.test( actualAttrValue ) )
294
+ return true;
295
+ }
296
+ }
297
+ }
298
+ return false;
299
+ },
300
+
301
+ // Builds the preview HTML based on the styles definition.
302
+ buildPreview : function( label )
303
+ {
304
+ var styleDefinition = this._.definition,
305
+ html = [],
306
+ elementName = styleDefinition.element;
307
+
308
+ // Avoid <bdo> in the preview.
309
+ if ( elementName == 'bdo' )
310
+ elementName = 'span';
311
+
312
+ html = [ '<', elementName ];
313
+
314
+ // Assign all defined attributes.
315
+ var attribs = styleDefinition.attributes;
316
+ if ( attribs )
317
+ {
318
+ for ( var att in attribs )
319
+ {
320
+ html.push( ' ', att, '="', attribs[ att ], '"' );
321
+ }
322
+ }
323
+
324
+ // Assign the style attribute.
325
+ var cssStyle = CKEDITOR.style.getStyleText( styleDefinition );
326
+ if ( cssStyle )
327
+ html.push( ' style="', cssStyle, '"' );
328
+
329
+ html.push( '>', ( label || styleDefinition.name ), '</', elementName, '>' );
330
+
331
+ return html.join( '' );
332
+ }
333
+ };
334
+
335
+ // Build the cssText based on the styles definition.
336
+ CKEDITOR.style.getStyleText = function( styleDefinition )
337
+ {
338
+ // If we have already computed it, just return it.
339
+ var stylesDef = styleDefinition._ST;
340
+ if ( stylesDef )
341
+ return stylesDef;
342
+
343
+ stylesDef = styleDefinition.styles;
344
+
345
+ // Builds the StyleText.
346
+ var stylesText = ( styleDefinition.attributes && styleDefinition.attributes[ 'style' ] ) || '',
347
+ specialStylesText = '';
348
+
349
+ if ( stylesText.length )
350
+ stylesText = stylesText.replace( semicolonFixRegex, ';' );
351
+
352
+ for ( var style in stylesDef )
353
+ {
354
+ var styleVal = stylesDef[ style ],
355
+ text = ( style + ':' + styleVal ).replace( semicolonFixRegex, ';' );
356
+
357
+ // Some browsers don't support 'inherit' property value, leave them intact. (#5242)
358
+ if ( styleVal == 'inherit' )
359
+ specialStylesText += text;
360
+ else
361
+ stylesText += text;
362
+ }
363
+
364
+ // Browsers make some changes to the style when applying them. So, here
365
+ // we normalize it to the browser format.
366
+ if ( stylesText.length )
367
+ stylesText = normalizeCssText( stylesText );
368
+
369
+ stylesText += specialStylesText;
370
+
371
+ // Return it, saving it to the next request.
372
+ return ( styleDefinition._ST = stylesText );
373
+ };
374
+
375
+ // Gets the parent element which blocks the styling for an element. This
376
+ // can be done through read-only elements (contenteditable=false) or
377
+ // elements with the "data-nostyle" attribute.
378
+ function getUnstylableParent( element )
379
+ {
380
+ var unstylable,
381
+ editable;
382
+
383
+ while ( ( element = element.getParent() ) )
384
+ {
385
+ if ( element.getName() == 'body' )
386
+ break;
387
+
388
+ if ( element.getAttribute( 'data-nostyle' ) )
389
+ unstylable = element;
390
+ else if ( !editable )
391
+ {
392
+ var contentEditable = element.getAttribute( 'contentEditable' );
393
+
394
+ if ( contentEditable == 'false' )
395
+ unstylable = element;
396
+ else if ( contentEditable == 'true' )
397
+ editable = 1;
398
+ }
399
+ }
400
+
401
+ return unstylable;
402
+ }
403
+
404
+ function applyInlineStyle( range )
405
+ {
406
+ var document = range.document;
407
+
408
+ if ( range.collapsed )
409
+ {
410
+ // Create the element to be inserted in the DOM.
411
+ var collapsedElement = getElement( this, document );
412
+
413
+ // Insert the empty element into the DOM at the range position.
414
+ range.insertNode( collapsedElement );
415
+
416
+ // Place the selection right inside the empty element.
417
+ range.moveToPosition( collapsedElement, CKEDITOR.POSITION_BEFORE_END );
418
+
419
+ return;
420
+ }
421
+
422
+ var elementName = this.element;
423
+ var def = this._.definition;
424
+ var isUnknownElement;
425
+
426
+ // Indicates that fully selected read-only elements are to be included in the styling range.
427
+ var ignoreReadonly = def.ignoreReadonly,
428
+ includeReadonly = ignoreReadonly || def.includeReadonly;
429
+
430
+ // If the read-only inclusion is not available in the definition, try
431
+ // to get it from the document data.
432
+ if ( includeReadonly == undefined )
433
+ includeReadonly = document.getCustomData( 'cke_includeReadonly' );
434
+
435
+ // Get the DTD definition for the element. Defaults to "span".
436
+ var dtd = CKEDITOR.dtd[ elementName ] || ( isUnknownElement = true, CKEDITOR.dtd.span );
437
+
438
+ // Expand the range.
439
+ range.enlarge( CKEDITOR.ENLARGE_ELEMENT, 1 );
440
+ range.trim();
441
+
442
+ // Get the first node to be processed and the last, which concludes the
443
+ // processing.
444
+ var boundaryNodes = range.createBookmark(),
445
+ firstNode = boundaryNodes.startNode,
446
+ lastNode = boundaryNodes.endNode;
447
+
448
+ var currentNode = firstNode;
449
+
450
+ var styleRange;
451
+
452
+ if ( !ignoreReadonly )
453
+ {
454
+ // Check if the boundaries are inside non stylable elements.
455
+ var firstUnstylable = getUnstylableParent( firstNode ),
456
+ lastUnstylable = getUnstylableParent( lastNode );
457
+
458
+ // If the first element can't be styled, we'll start processing right
459
+ // after its unstylable root.
460
+ if ( firstUnstylable )
461
+ currentNode = firstUnstylable.getNextSourceNode( true );
462
+
463
+ // If the last element can't be styled, we'll stop processing on its
464
+ // unstylable root.
465
+ if ( lastUnstylable )
466
+ lastNode = lastUnstylable;
467
+ }
468
+
469
+ // Do nothing if the current node now follows the last node to be processed.
470
+ if ( currentNode.getPosition( lastNode ) == CKEDITOR.POSITION_FOLLOWING )
471
+ currentNode = 0;
472
+
473
+ while ( currentNode )
474
+ {
475
+ var applyStyle = false;
476
+
477
+ if ( currentNode.equals( lastNode ) )
478
+ {
479
+ currentNode = null;
480
+ applyStyle = true;
481
+ }
482
+ else
483
+ {
484
+ var nodeType = currentNode.type;
485
+ var nodeName = nodeType == CKEDITOR.NODE_ELEMENT ? currentNode.getName() : null;
486
+ var nodeIsReadonly = nodeName && ( currentNode.getAttribute( 'contentEditable' ) == 'false' );
487
+ var nodeIsNoStyle = nodeName && currentNode.getAttribute( 'data-nostyle' );
488
+
489
+ if ( nodeName && currentNode.data( 'cke-bookmark' ) )
490
+ {
491
+ currentNode = currentNode.getNextSourceNode( true );
492
+ continue;
493
+ }
494
+
495
+ // Check if the current node can be a child of the style element.
496
+ if ( !nodeName || ( dtd[ nodeName ]
497
+ && !nodeIsNoStyle
498
+ && ( !nodeIsReadonly || includeReadonly )
499
+ && ( currentNode.getPosition( lastNode ) | CKEDITOR.POSITION_PRECEDING | CKEDITOR.POSITION_IDENTICAL | CKEDITOR.POSITION_IS_CONTAINED ) == ( CKEDITOR.POSITION_PRECEDING + CKEDITOR.POSITION_IDENTICAL + CKEDITOR.POSITION_IS_CONTAINED )
500
+ && ( !def.childRule || def.childRule( currentNode ) ) ) )
501
+ {
502
+ var currentParent = currentNode.getParent();
503
+
504
+ // Check if the style element can be a child of the current
505
+ // node parent or if the element is not defined in the DTD.
506
+ if ( currentParent
507
+ && ( ( currentParent.getDtd() || CKEDITOR.dtd.span )[ elementName ] || isUnknownElement )
508
+ && ( !def.parentRule || def.parentRule( currentParent ) ) )
509
+ {
510
+ // This node will be part of our range, so if it has not
511
+ // been started, place its start right before the node.
512
+ // In the case of an element node, it will be included
513
+ // only if it is entirely inside the range.
514
+ if ( !styleRange && ( !nodeName || !CKEDITOR.dtd.$removeEmpty[ nodeName ] || ( currentNode.getPosition( lastNode ) | CKEDITOR.POSITION_PRECEDING | CKEDITOR.POSITION_IDENTICAL | CKEDITOR.POSITION_IS_CONTAINED ) == ( CKEDITOR.POSITION_PRECEDING + CKEDITOR.POSITION_IDENTICAL + CKEDITOR.POSITION_IS_CONTAINED ) ) )
515
+ {
516
+ styleRange = new CKEDITOR.dom.range( document );
517
+ styleRange.setStartBefore( currentNode );
518
+ }
519
+
520
+ // Non element nodes, readonly elements, or empty
521
+ // elements can be added completely to the range.
522
+ if ( nodeType == CKEDITOR.NODE_TEXT || nodeIsReadonly || ( nodeType == CKEDITOR.NODE_ELEMENT && !currentNode.getChildCount() ) )
523
+ {
524
+ var includedNode = currentNode;
525
+ var parentNode;
526
+
527
+ // This node is about to be included completelly, but,
528
+ // if this is the last node in its parent, we must also
529
+ // check if the parent itself can be added completelly
530
+ // to the range, otherwise apply the style immediately.
531
+ while ( ( applyStyle = !includedNode.getNext( notBookmark ) )
532
+ && ( parentNode = includedNode.getParent(), dtd[ parentNode.getName() ] )
533
+ && ( parentNode.getPosition( firstNode ) | CKEDITOR.POSITION_FOLLOWING | CKEDITOR.POSITION_IDENTICAL | CKEDITOR.POSITION_IS_CONTAINED ) == ( CKEDITOR.POSITION_FOLLOWING + CKEDITOR.POSITION_IDENTICAL + CKEDITOR.POSITION_IS_CONTAINED )
534
+ && ( !def.childRule || def.childRule( parentNode ) ) )
535
+ {
536
+ includedNode = parentNode;
537
+ }
538
+
539
+ styleRange.setEndAfter( includedNode );
540
+
541
+ }
542
+ }
543
+ else
544
+ applyStyle = true;
545
+ }
546
+ else
547
+ applyStyle = true;
548
+
549
+ // Get the next node to be processed.
550
+ currentNode = currentNode.getNextSourceNode( nodeIsNoStyle || nodeIsReadonly );
551
+ }
552
+
553
+ // Apply the style if we have something to which apply it.
554
+ if ( applyStyle && styleRange && !styleRange.collapsed )
555
+ {
556
+ // Build the style element, based on the style object definition.
557
+ var styleNode = getElement( this, document ),
558
+ styleHasAttrs = styleNode.hasAttributes();
559
+
560
+ // Get the element that holds the entire range.
561
+ var parent = styleRange.getCommonAncestor();
562
+
563
+ var removeList = {
564
+ styles : {},
565
+ attrs : {},
566
+ // Styles cannot be removed.
567
+ blockedStyles : {},
568
+ // Attrs cannot be removed.
569
+ blockedAttrs : {}
570
+ };
571
+
572
+ var attName, styleName, value;
573
+
574
+ // Loop through the parents, removing the redundant attributes
575
+ // from the element to be applied.
576
+ while ( styleNode && parent )
577
+ {
578
+ if ( parent.getName() == elementName )
579
+ {
580
+ for ( attName in def.attributes )
581
+ {
582
+ if ( removeList.blockedAttrs[ attName ] || !( value = parent.getAttribute( styleName ) ) )
583
+ continue;
584
+
585
+ if ( styleNode.getAttribute( attName ) == value )
586
+ removeList.attrs[ attName ] = 1;
587
+ else
588
+ removeList.blockedAttrs[ attName ] = 1;
589
+ }
590
+
591
+ for ( styleName in def.styles )
592
+ {
593
+ if ( removeList.blockedStyles[ styleName ] || !( value = parent.getStyle( styleName ) ) )
594
+ continue;
595
+
596
+ if ( styleNode.getStyle( styleName ) == value )
597
+ removeList.styles[ styleName ] = 1;
598
+ else
599
+ removeList.blockedStyles[ styleName ] = 1;
600
+ }
601
+ }
602
+
603
+ parent = parent.getParent();
604
+ }
605
+
606
+ for ( attName in removeList.attrs )
607
+ styleNode.removeAttribute( attName );
608
+
609
+ for ( styleName in removeList.styles )
610
+ styleNode.removeStyle( styleName );
611
+
612
+ if ( styleHasAttrs && !styleNode.hasAttributes() )
613
+ styleNode = null;
614
+
615
+ if ( styleNode )
616
+ {
617
+ // Move the contents of the range to the style element.
618
+ styleRange.extractContents().appendTo( styleNode );
619
+
620
+ // Here we do some cleanup, removing all duplicated
621
+ // elements from the style element.
622
+ removeFromInsideElement( this, styleNode );
623
+
624
+ // Insert it into the range position (it is collapsed after
625
+ // extractContents.
626
+ styleRange.insertNode( styleNode );
627
+
628
+ // Let's merge our new style with its neighbors, if possible.
629
+ styleNode.mergeSiblings();
630
+
631
+ // As the style system breaks text nodes constantly, let's normalize
632
+ // things for performance.
633
+ // With IE, some paragraphs get broken when calling normalize()
634
+ // repeatedly. Also, for IE, we must normalize body, not documentElement.
635
+ // IE is also known for having a "crash effect" with normalize().
636
+ // We should try to normalize with IE too in some way, somewhere.
637
+ if ( !CKEDITOR.env.ie )
638
+ styleNode.$.normalize();
639
+ }
640
+ // Style already inherit from parents, left just to clear up any internal overrides. (#5931)
641
+ else
642
+ {
643
+ styleNode = new CKEDITOR.dom.element( 'span' );
644
+ styleRange.extractContents().appendTo( styleNode );
645
+ styleRange.insertNode( styleNode );
646
+ removeFromInsideElement( this, styleNode );
647
+ styleNode.remove( true );
648
+ }
649
+
650
+ // Style applied, let's release the range, so it gets
651
+ // re-initialization in the next loop.
652
+ styleRange = null;
653
+ }
654
+ }
655
+
656
+ // Remove the bookmark nodes.
657
+ range.moveToBookmark( boundaryNodes );
658
+
659
+ // Minimize the result range to exclude empty text nodes. (#5374)
660
+ range.shrink( CKEDITOR.SHRINK_TEXT );
661
+ }
662
+
663
+ function removeInlineStyle( range )
664
+ {
665
+ /*
666
+ * Make sure our range has included all "collpased" parent inline nodes so
667
+ * that our operation logic can be simpler.
668
+ */
669
+ range.enlarge( CKEDITOR.ENLARGE_ELEMENT, 1 );
670
+
671
+ var bookmark = range.createBookmark(),
672
+ startNode = bookmark.startNode;
673
+
674
+ if ( range.collapsed )
675
+ {
676
+
677
+ var startPath = new CKEDITOR.dom.elementPath( startNode.getParent() ),
678
+ // The topmost element in elementspatch which we should jump out of.
679
+ boundaryElement;
680
+
681
+
682
+ for ( var i = 0, element ; i < startPath.elements.length
683
+ && ( element = startPath.elements[i] ) ; i++ )
684
+ {
685
+ /*
686
+ * 1. If it's collaped inside text nodes, try to remove the style from the whole element.
687
+ *
688
+ * 2. Otherwise if it's collapsed on element boundaries, moving the selection
689
+ * outside the styles instead of removing the whole tag,
690
+ * also make sure other inner styles were well preserverd.(#3309)
691
+ */
692
+ if ( element == startPath.block || element == startPath.blockLimit )
693
+ break;
694
+
695
+ if ( this.checkElementRemovable( element ) )
696
+ {
697
+ var isStart;
698
+
699
+ if ( range.collapsed && (
700
+ range.checkBoundaryOfElement( element, CKEDITOR.END ) ||
701
+ ( isStart = range.checkBoundaryOfElement( element, CKEDITOR.START ) ) ) )
702
+ {
703
+ boundaryElement = element;
704
+ boundaryElement.match = isStart ? 'start' : 'end';
705
+ }
706
+ else
707
+ {
708
+ /*
709
+ * Before removing the style node, there may be a sibling to the style node
710
+ * that's exactly the same to the one to be removed. To the user, it makes
711
+ * no difference that they're separate entities in the DOM tree. So, merge
712
+ * them before removal.
713
+ */
714
+ element.mergeSiblings();
715
+ if ( element.getName() == this.element )
716
+ removeFromElement( this, element );
717
+ else
718
+ removeOverrides( element, getOverrides( this )[ element.getName() ] );
719
+ }
720
+ }
721
+ }
722
+
723
+ // Re-create the style tree after/before the boundary element,
724
+ // the replication start from bookmark start node to define the
725
+ // new range.
726
+ if ( boundaryElement )
727
+ {
728
+ var clonedElement = startNode;
729
+ for ( i = 0 ;; i++ )
730
+ {
731
+ var newElement = startPath.elements[ i ];
732
+ if ( newElement.equals( boundaryElement ) )
733
+ break;
734
+ // Avoid copying any matched element.
735
+ else if ( newElement.match )
736
+ continue;
737
+ else
738
+ newElement = newElement.clone();
739
+ newElement.append( clonedElement );
740
+ clonedElement = newElement;
741
+ }
742
+ clonedElement[ boundaryElement.match == 'start' ?
743
+ 'insertBefore' : 'insertAfter' ]( boundaryElement );
744
+ }
745
+ }
746
+ else
747
+ {
748
+ /*
749
+ * Now our range isn't collapsed. Lets walk from the start node to the end
750
+ * node via DFS and remove the styles one-by-one.
751
+ */
752
+ var endNode = bookmark.endNode,
753
+ me = this;
754
+
755
+ /*
756
+ * Find out the style ancestor that needs to be broken down at startNode
757
+ * and endNode.
758
+ */
759
+ function breakNodes()
760
+ {
761
+ var startPath = new CKEDITOR.dom.elementPath( startNode.getParent() ),
762
+ endPath = new CKEDITOR.dom.elementPath( endNode.getParent() ),
763
+ breakStart = null,
764
+ breakEnd = null;
765
+ for ( var i = 0 ; i < startPath.elements.length ; i++ )
766
+ {
767
+ var element = startPath.elements[ i ];
768
+
769
+ if ( element == startPath.block || element == startPath.blockLimit )
770
+ break;
771
+
772
+ if ( me.checkElementRemovable( element ) )
773
+ breakStart = element;
774
+ }
775
+ for ( i = 0 ; i < endPath.elements.length ; i++ )
776
+ {
777
+ element = endPath.elements[ i ];
778
+
779
+ if ( element == endPath.block || element == endPath.blockLimit )
780
+ break;
781
+
782
+ if ( me.checkElementRemovable( element ) )
783
+ breakEnd = element;
784
+ }
785
+
786
+ if ( breakEnd )
787
+ endNode.breakParent( breakEnd );
788
+ if ( breakStart )
789
+ startNode.breakParent( breakStart );
790
+ }
791
+ breakNodes();
792
+
793
+ // Now, do the DFS walk.
794
+ var currentNode = startNode;
795
+ while ( !currentNode.equals( endNode ) )
796
+ {
797
+ /*
798
+ * Need to get the next node first because removeFromElement() can remove
799
+ * the current node from DOM tree.
800
+ */
801
+ var nextNode = currentNode.getNextSourceNode();
802
+ if ( currentNode.type == CKEDITOR.NODE_ELEMENT && this.checkElementRemovable( currentNode ) )
803
+ {
804
+ // Remove style from element or overriding element.
805
+ if ( currentNode.getName() == this.element )
806
+ removeFromElement( this, currentNode );
807
+ else
808
+ removeOverrides( currentNode, getOverrides( this )[ currentNode.getName() ] );
809
+
810
+ /*
811
+ * removeFromElement() may have merged the next node with something before
812
+ * the startNode via mergeSiblings(). In that case, the nextNode would
813
+ * contain startNode and we'll have to call breakNodes() again and also
814
+ * reassign the nextNode to something after startNode.
815
+ */
816
+ if ( nextNode.type == CKEDITOR.NODE_ELEMENT && nextNode.contains( startNode ) )
817
+ {
818
+ breakNodes();
819
+ nextNode = startNode.getNext();
820
+ }
821
+ }
822
+ currentNode = nextNode;
823
+ }
824
+ }
825
+
826
+ range.moveToBookmark( bookmark );
827
+ }
828
+
829
+ function applyObjectStyle( range )
830
+ {
831
+ var root = range.getCommonAncestor( true, true ),
832
+ element = root.getAscendant( this.element, true );
833
+ element && !element.isReadOnly() && setupElement( element, this );
834
+ }
835
+
836
+ function removeObjectStyle( range )
837
+ {
838
+ var root = range.getCommonAncestor( true, true ),
839
+ element = root.getAscendant( this.element, true );
840
+
841
+ if ( !element )
842
+ return;
843
+
844
+ var style = this,
845
+ def = style._.definition,
846
+ attributes = def.attributes;
847
+
848
+ // Remove all defined attributes.
849
+ if ( attributes )
850
+ {
851
+ for ( var att in attributes )
852
+ {
853
+ element.removeAttribute( att, attributes[ att ] );
854
+ }
855
+ }
856
+
857
+ // Assign all defined styles.
858
+ if ( def.styles )
859
+ {
860
+ for ( var i in def.styles )
861
+ {
862
+ if ( !def.styles.hasOwnProperty( i ) )
863
+ continue;
864
+
865
+ element.removeStyle( i );
866
+ }
867
+ }
868
+ }
869
+
870
+ function applyBlockStyle( range )
871
+ {
872
+ // Serializible bookmarks is needed here since
873
+ // elements may be merged.
874
+ var bookmark = range.createBookmark( true );
875
+
876
+ var iterator = range.createIterator();
877
+ iterator.enforceRealBlocks = true;
878
+
879
+ // make recognize <br /> tag as a separator in ENTER_BR mode (#5121)
880
+ if ( this._.enterMode )
881
+ iterator.enlargeBr = ( this._.enterMode != CKEDITOR.ENTER_BR );
882
+
883
+ var block;
884
+ var doc = range.document;
885
+ var previousPreBlock;
886
+
887
+ while ( ( block = iterator.getNextParagraph() ) ) // Only one =
888
+ {
889
+ if ( !block.isReadOnly() )
890
+ {
891
+ var newBlock = getElement( this, doc, block );
892
+ replaceBlock( block, newBlock );
893
+ }
894
+ }
895
+
896
+ range.moveToBookmark( bookmark );
897
+ }
898
+
899
+ function removeBlockStyle( range )
900
+ {
901
+ // Serializible bookmarks is needed here since
902
+ // elements may be merged.
903
+ var bookmark = range.createBookmark( 1 );
904
+
905
+ var iterator = range.createIterator();
906
+ iterator.enforceRealBlocks = true;
907
+ iterator.enlargeBr = this._.enterMode != CKEDITOR.ENTER_BR;
908
+
909
+ var block;
910
+ while ( ( block = iterator.getNextParagraph() ) )
911
+ {
912
+ if ( this.checkElementRemovable( block ) )
913
+ {
914
+ // <pre> get special treatment.
915
+ if ( block.is( 'pre' ) )
916
+ {
917
+ var newBlock = this._.enterMode == CKEDITOR.ENTER_BR ?
918
+ null : range.document.createElement(
919
+ this._.enterMode == CKEDITOR.ENTER_P ? 'p' : 'div' );
920
+
921
+ newBlock && block.copyAttributes( newBlock );
922
+ replaceBlock( block, newBlock );
923
+ }
924
+ else
925
+ removeFromElement( this, block, 1 );
926
+ }
927
+ }
928
+
929
+ range.moveToBookmark( bookmark );
930
+ }
931
+
932
+ // Replace the original block with new one, with special treatment
933
+ // for <pre> blocks to make sure content format is well preserved, and merging/splitting adjacent
934
+ // when necessary.(#3188)
935
+ function replaceBlock( block, newBlock )
936
+ {
937
+ // Block is to be removed, create a temp element to
938
+ // save contents.
939
+ var removeBlock = !newBlock;
940
+ if ( removeBlock )
941
+ {
942
+ newBlock = block.getDocument().createElement( 'div' );
943
+ block.copyAttributes( newBlock );
944
+ }
945
+
946
+ var newBlockIsPre = newBlock && newBlock.is( 'pre' );
947
+ var blockIsPre = block.is( 'pre' );
948
+
949
+ var isToPre = newBlockIsPre && !blockIsPre;
950
+ var isFromPre = !newBlockIsPre && blockIsPre;
951
+
952
+ if ( isToPre )
953
+ newBlock = toPre( block, newBlock );
954
+ else if ( isFromPre )
955
+ // Split big <pre> into pieces before start to convert.
956
+ newBlock = fromPres( removeBlock ?
957
+ [ block.getHtml() ] : splitIntoPres( block ), newBlock );
958
+ else
959
+ block.moveChildren( newBlock );
960
+
961
+ newBlock.replace( block );
962
+
963
+ if ( newBlockIsPre )
964
+ {
965
+ // Merge previous <pre> blocks.
966
+ mergePre( newBlock );
967
+ }
968
+ else if ( removeBlock )
969
+ removeNoAttribsElement( newBlock );
970
+ }
971
+
972
+ /**
973
+ * Merge a <pre> block with a previous sibling if available.
974
+ */
975
+ function mergePre( preBlock )
976
+ {
977
+ var previousBlock;
978
+ if ( !( ( previousBlock = preBlock.getPrevious( nonWhitespaces ) )
979
+ && previousBlock.is
980
+ && previousBlock.is( 'pre') ) )
981
+ return;
982
+
983
+ // Merge the previous <pre> block contents into the current <pre>
984
+ // block.
985
+ //
986
+ // Another thing to be careful here is that currentBlock might contain
987
+ // a '\n' at the beginning, and previousBlock might contain a '\n'
988
+ // towards the end. These new lines are not normally displayed but they
989
+ // become visible after merging.
990
+ var mergedHtml = replace( previousBlock.getHtml(), /\n$/, '' ) + '\n\n' +
991
+ replace( preBlock.getHtml(), /^\n/, '' ) ;
992
+
993
+ // Krugle: IE normalizes innerHTML from <pre>, breaking whitespaces.
994
+ if ( CKEDITOR.env.ie )
995
+ preBlock.$.outerHTML = '<pre>' + mergedHtml + '</pre>';
996
+ else
997
+ preBlock.setHtml( mergedHtml );
998
+
999
+ previousBlock.remove();
1000
+ }
1001
+
1002
+ /**
1003
+ * Split into multiple <pre> blocks separated by double line-break.
1004
+ * @param preBlock
1005
+ */
1006
+ function splitIntoPres( preBlock )
1007
+ {
1008
+ // Exclude the ones at header OR at tail,
1009
+ // and ignore bookmark content between them.
1010
+ var duoBrRegex = /(\S\s*)\n(?:\s|(<span[^>]+data-cke-bookmark.*?\/span>))*\n(?!$)/gi,
1011
+ blockName = preBlock.getName(),
1012
+ splitedHtml = replace( preBlock.getOuterHtml(),
1013
+ duoBrRegex,
1014
+ function( match, charBefore, bookmark )
1015
+ {
1016
+ return charBefore + '</pre>' + bookmark + '<pre>';
1017
+ } );
1018
+
1019
+ var pres = [];
1020
+ splitedHtml.replace( /<pre\b.*?>([\s\S]*?)<\/pre>/gi, function( match, preContent ){
1021
+ pres.push( preContent );
1022
+ } );
1023
+ return pres;
1024
+ }
1025
+
1026
+ // Wrapper function of String::replace without considering of head/tail bookmarks nodes.
1027
+ function replace( str, regexp, replacement )
1028
+ {
1029
+ var headBookmark = '',
1030
+ tailBookmark = '';
1031
+
1032
+ str = str.replace( /(^<span[^>]+data-cke-bookmark.*?\/span>)|(<span[^>]+data-cke-bookmark.*?\/span>$)/gi,
1033
+ function( str, m1, m2 ){
1034
+ m1 && ( headBookmark = m1 );
1035
+ m2 && ( tailBookmark = m2 );
1036
+ return '';
1037
+ } );
1038
+ return headBookmark + str.replace( regexp, replacement ) + tailBookmark;
1039
+ }
1040
+
1041
+ /**
1042
+ * Converting a list of <pre> into blocks with format well preserved.
1043
+ */
1044
+ function fromPres( preHtmls, newBlock )
1045
+ {
1046
+ var docFrag;
1047
+ if ( preHtmls.length > 1 )
1048
+ docFrag = new CKEDITOR.dom.documentFragment( newBlock.getDocument() );
1049
+
1050
+ for ( var i = 0 ; i < preHtmls.length ; i++ )
1051
+ {
1052
+ var blockHtml = preHtmls[ i ];
1053
+
1054
+ // 1. Trim the first and last line-breaks immediately after and before <pre>,
1055
+ // they're not visible.
1056
+ blockHtml = blockHtml.replace( /(\r\n|\r)/g, '\n' ) ;
1057
+ blockHtml = replace( blockHtml, /^[ \t]*\n/, '' ) ;
1058
+ blockHtml = replace( blockHtml, /\n$/, '' ) ;
1059
+ // 2. Convert spaces or tabs at the beginning or at the end to &nbsp;
1060
+ blockHtml = replace( blockHtml, /^[ \t]+|[ \t]+$/g, function( match, offset, s )
1061
+ {
1062
+ if ( match.length == 1 ) // one space, preserve it
1063
+ return '&nbsp;' ;
1064
+ else if ( !offset ) // beginning of block
1065
+ return CKEDITOR.tools.repeat( '&nbsp;', match.length - 1 ) + ' ';
1066
+ else // end of block
1067
+ return ' ' + CKEDITOR.tools.repeat( '&nbsp;', match.length - 1 );
1068
+ } ) ;
1069
+
1070
+ // 3. Convert \n to <BR>.
1071
+ // 4. Convert contiguous (i.e. non-singular) spaces or tabs to &nbsp;
1072
+ blockHtml = blockHtml.replace( /\n/g, '<br>' ) ;
1073
+ blockHtml = blockHtml.replace( /[ \t]{2,}/g,
1074
+ function ( match )
1075
+ {
1076
+ return CKEDITOR.tools.repeat( '&nbsp;', match.length - 1 ) + ' ' ;
1077
+ } ) ;
1078
+
1079
+ if ( docFrag )
1080
+ {
1081
+ var newBlockClone = newBlock.clone();
1082
+ newBlockClone.setHtml( blockHtml );
1083
+ docFrag.append( newBlockClone );
1084
+ }
1085
+ else
1086
+ newBlock.setHtml( blockHtml );
1087
+ }
1088
+
1089
+ return docFrag || newBlock;
1090
+ }
1091
+
1092
+ /**
1093
+ * Converting from a non-PRE block to a PRE block in formatting operations.
1094
+ */
1095
+ function toPre( block, newBlock )
1096
+ {
1097
+ var bogus = block.getBogus();
1098
+ bogus && bogus.remove();
1099
+
1100
+ // First trim the block content.
1101
+ var preHtml = block.getHtml();
1102
+
1103
+ // 1. Trim head/tail spaces, they're not visible.
1104
+ preHtml = replace( preHtml, /(?:^[ \t\n\r]+)|(?:[ \t\n\r]+$)/g, '' );
1105
+ // 2. Delete ANSI whitespaces immediately before and after <BR> because
1106
+ // they are not visible.
1107
+ preHtml = preHtml.replace( /[ \t\r\n]*(<br[^>]*>)[ \t\r\n]*/gi, '$1' );
1108
+ // 3. Compress other ANSI whitespaces since they're only visible as one
1109
+ // single space previously.
1110
+ // 4. Convert &nbsp; to spaces since &nbsp; is no longer needed in <PRE>.
1111
+ preHtml = preHtml.replace( /([ \t\n\r]+|&nbsp;)/g, ' ' );
1112
+ // 5. Convert any <BR /> to \n. This must not be done earlier because
1113
+ // the \n would then get compressed.
1114
+ preHtml = preHtml.replace( /<br\b[^>]*>/gi, '\n' );
1115
+
1116
+ // Krugle: IE normalizes innerHTML to <pre>, breaking whitespaces.
1117
+ if ( CKEDITOR.env.ie )
1118
+ {
1119
+ var temp = block.getDocument().createElement( 'div' );
1120
+ temp.append( newBlock );
1121
+ newBlock.$.outerHTML = '<pre>' + preHtml + '</pre>';
1122
+ newBlock.copyAttributes( temp.getFirst() );
1123
+ newBlock = temp.getFirst().remove();
1124
+ }
1125
+ else
1126
+ newBlock.setHtml( preHtml );
1127
+
1128
+ return newBlock;
1129
+ }
1130
+
1131
+ // Removes a style from an element itself, don't care about its subtree.
1132
+ function removeFromElement( style, element )
1133
+ {
1134
+ var def = style._.definition,
1135
+ attributes = CKEDITOR.tools.extend( {}, def.attributes, getOverrides( style )[ element.getName() ] ),
1136
+ styles = def.styles,
1137
+ // If the style is only about the element itself, we have to remove the element.
1138
+ removeEmpty = CKEDITOR.tools.isEmpty( attributes ) && CKEDITOR.tools.isEmpty( styles );
1139
+
1140
+ // Remove definition attributes/style from the elemnt.
1141
+ for ( var attName in attributes )
1142
+ {
1143
+ // The 'class' element value must match (#1318).
1144
+ if ( ( attName == 'class' || style._.definition.fullMatch )
1145
+ && element.getAttribute( attName ) != normalizeProperty( attName, attributes[ attName ] ) )
1146
+ continue;
1147
+ removeEmpty = element.hasAttribute( attName );
1148
+ element.removeAttribute( attName );
1149
+ }
1150
+
1151
+ for ( var styleName in styles )
1152
+ {
1153
+ // Full match style insist on having fully equivalence. (#5018)
1154
+ if ( style._.definition.fullMatch
1155
+ && element.getStyle( styleName ) != normalizeProperty( styleName, styles[ styleName ], true ) )
1156
+ continue;
1157
+
1158
+ removeEmpty = removeEmpty || !!element.getStyle( styleName );
1159
+ element.removeStyle( styleName );
1160
+ }
1161
+
1162
+ if ( removeEmpty )
1163
+ {
1164
+ !CKEDITOR.dtd.$block[ element.getName() ] || style._.enterMode == CKEDITOR.ENTER_BR && !element.hasAttributes() ?
1165
+ removeNoAttribsElement( element ) :
1166
+ element.renameNode( style._.enterMode == CKEDITOR.ENTER_P ? 'p' : 'div' );
1167
+ }
1168
+ }
1169
+
1170
+ // Removes a style from inside an element.
1171
+ function removeFromInsideElement( style, element )
1172
+ {
1173
+ var def = style._.definition,
1174
+ attribs = def.attributes,
1175
+ styles = def.styles,
1176
+ overrides = getOverrides( style ),
1177
+ innerElements = element.getElementsByTag( style.element );
1178
+
1179
+ for ( var i = innerElements.count(); --i >= 0 ; )
1180
+ removeFromElement( style, innerElements.getItem( i ) );
1181
+
1182
+ // Now remove any other element with different name that is
1183
+ // defined to be overriden.
1184
+ for ( var overrideElement in overrides )
1185
+ {
1186
+ if ( overrideElement != style.element )
1187
+ {
1188
+ innerElements = element.getElementsByTag( overrideElement ) ;
1189
+ for ( i = innerElements.count() - 1 ; i >= 0 ; i-- )
1190
+ {
1191
+ var innerElement = innerElements.getItem( i );
1192
+ removeOverrides( innerElement, overrides[ overrideElement ] ) ;
1193
+ }
1194
+ }
1195
+ }
1196
+ }
1197
+
1198
+ /**
1199
+ * Remove overriding styles/attributes from the specific element.
1200
+ * Note: Remove the element if no attributes remain.
1201
+ * @param {Object} element
1202
+ * @param {Object} overrides
1203
+ */
1204
+ function removeOverrides( element, overrides )
1205
+ {
1206
+ var attributes = overrides && overrides.attributes ;
1207
+
1208
+ if ( attributes )
1209
+ {
1210
+ for ( var i = 0 ; i < attributes.length ; i++ )
1211
+ {
1212
+ var attName = attributes[i][0], actualAttrValue ;
1213
+
1214
+ if ( ( actualAttrValue = element.getAttribute( attName ) ) )
1215
+ {
1216
+ var attValue = attributes[i][1] ;
1217
+
1218
+ // Remove the attribute if:
1219
+ // - The override definition value is null ;
1220
+ // - The override definition valie is a string that
1221
+ // matches the attribute value exactly.
1222
+ // - The override definition value is a regex that
1223
+ // has matches in the attribute value.
1224
+ if ( attValue === null ||
1225
+ ( attValue.test && attValue.test( actualAttrValue ) ) ||
1226
+ ( typeof attValue == 'string' && actualAttrValue == attValue ) )
1227
+ element.removeAttribute( attName ) ;
1228
+ }
1229
+ }
1230
+ }
1231
+
1232
+ removeNoAttribsElement( element );
1233
+ }
1234
+
1235
+ // If the element has no more attributes, remove it.
1236
+ function removeNoAttribsElement( element )
1237
+ {
1238
+ // If no more attributes remained in the element, remove it,
1239
+ // leaving its children.
1240
+ if ( !element.hasAttributes() )
1241
+ {
1242
+ if ( CKEDITOR.dtd.$block[ element.getName() ] )
1243
+ {
1244
+ var previous = element.getPrevious( nonWhitespaces ),
1245
+ next = element.getNext( nonWhitespaces );
1246
+
1247
+ if ( previous && ( previous.type == CKEDITOR.NODE_TEXT || !previous.isBlockBoundary( { br : 1 } ) ) )
1248
+ element.append( 'br', 1 );
1249
+ if ( next && ( next.type == CKEDITOR.NODE_TEXT || !next.isBlockBoundary( { br : 1 } ) ) )
1250
+ element.append( 'br' );
1251
+
1252
+ element.remove( true );
1253
+ }
1254
+ else
1255
+ {
1256
+ // Removing elements may open points where merging is possible,
1257
+ // so let's cache the first and last nodes for later checking.
1258
+ var firstChild = element.getFirst();
1259
+ var lastChild = element.getLast();
1260
+
1261
+ element.remove( true );
1262
+
1263
+ if ( firstChild )
1264
+ {
1265
+ // Check the cached nodes for merging.
1266
+ firstChild.type == CKEDITOR.NODE_ELEMENT && firstChild.mergeSiblings();
1267
+
1268
+ if ( lastChild && !firstChild.equals( lastChild )
1269
+ && lastChild.type == CKEDITOR.NODE_ELEMENT )
1270
+ lastChild.mergeSiblings();
1271
+ }
1272
+
1273
+ }
1274
+ }
1275
+ }
1276
+
1277
+ function getElement( style, targetDocument, element )
1278
+ {
1279
+ var el,
1280
+ def = style._.definition,
1281
+ elementName = style.element;
1282
+
1283
+ // The "*" element name will always be a span for this function.
1284
+ if ( elementName == '*' )
1285
+ elementName = 'span';
1286
+
1287
+ // Create the element.
1288
+ el = new CKEDITOR.dom.element( elementName, targetDocument );
1289
+
1290
+ // #6226: attributes should be copied before the new ones are applied
1291
+ if ( element )
1292
+ element.copyAttributes( el );
1293
+
1294
+ el = setupElement( el, style );
1295
+
1296
+ // Avoid ID duplication.
1297
+ if ( targetDocument.getCustomData( 'doc_processing_style' ) && el.hasAttribute( 'id' ) )
1298
+ el.removeAttribute( 'id' );
1299
+ else
1300
+ targetDocument.setCustomData( 'doc_processing_style', 1 );
1301
+
1302
+ return el;
1303
+ }
1304
+
1305
+ function setupElement( el, style )
1306
+ {
1307
+ var def = style._.definition,
1308
+ attributes = def.attributes,
1309
+ styles = CKEDITOR.style.getStyleText( def );
1310
+
1311
+ // Assign all defined attributes.
1312
+ if ( attributes )
1313
+ {
1314
+ for ( var att in attributes )
1315
+ {
1316
+ el.setAttribute( att, attributes[ att ] );
1317
+ }
1318
+ }
1319
+
1320
+ // Assign all defined styles.
1321
+ if( styles )
1322
+ el.setAttribute( 'style', styles );
1323
+
1324
+ return el;
1325
+ }
1326
+
1327
+ function replaceVariables( list, variablesValues )
1328
+ {
1329
+ for ( var item in list )
1330
+ {
1331
+ list[ item ] = list[ item ].replace( varRegex, function( match, varName )
1332
+ {
1333
+ return variablesValues[ varName ];
1334
+ });
1335
+ }
1336
+ }
1337
+
1338
+ // Returns an object that can be used for style matching comparison.
1339
+ // Attributes names and values are all lowercased, and the styles get
1340
+ // merged with the style attribute.
1341
+ function getAttributesForComparison( styleDefinition )
1342
+ {
1343
+ // If we have already computed it, just return it.
1344
+ var attribs = styleDefinition._AC;
1345
+ if ( attribs )
1346
+ return attribs;
1347
+
1348
+ attribs = {};
1349
+
1350
+ var length = 0;
1351
+
1352
+ // Loop through all defined attributes.
1353
+ var styleAttribs = styleDefinition.attributes;
1354
+ if ( styleAttribs )
1355
+ {
1356
+ for ( var styleAtt in styleAttribs )
1357
+ {
1358
+ length++;
1359
+ attribs[ styleAtt ] = styleAttribs[ styleAtt ];
1360
+ }
1361
+ }
1362
+
1363
+ // Includes the style definitions.
1364
+ var styleText = CKEDITOR.style.getStyleText( styleDefinition );
1365
+ if ( styleText )
1366
+ {
1367
+ if ( !attribs[ 'style' ] )
1368
+ length++;
1369
+ attribs[ 'style' ] = styleText;
1370
+ }
1371
+
1372
+ // Appends the "length" information to the object.
1373
+ attribs._length = length;
1374
+
1375
+ // Return it, saving it to the next request.
1376
+ return ( styleDefinition._AC = attribs );
1377
+ }
1378
+
1379
+ /**
1380
+ * Get the the collection used to compare the elements and attributes,
1381
+ * defined in this style overrides, with other element. All information in
1382
+ * it is lowercased.
1383
+ * @param {CKEDITOR.style} style
1384
+ */
1385
+ function getOverrides( style )
1386
+ {
1387
+ if ( style._.overrides )
1388
+ return style._.overrides;
1389
+
1390
+ var overrides = ( style._.overrides = {} ),
1391
+ definition = style._.definition.overrides;
1392
+
1393
+ if ( definition )
1394
+ {
1395
+ // The override description can be a string, object or array.
1396
+ // Internally, well handle arrays only, so transform it if needed.
1397
+ if ( !CKEDITOR.tools.isArray( definition ) )
1398
+ definition = [ definition ];
1399
+
1400
+ // Loop through all override definitions.
1401
+ for ( var i = 0 ; i < definition.length ; i++ )
1402
+ {
1403
+ var override = definition[i];
1404
+ var elementName;
1405
+ var overrideEl;
1406
+ var attrs;
1407
+
1408
+ // If can be a string with the element name.
1409
+ if ( typeof override == 'string' )
1410
+ elementName = override.toLowerCase();
1411
+ // Or an object.
1412
+ else
1413
+ {
1414
+ elementName = override.element ? override.element.toLowerCase() : style.element;
1415
+ attrs = override.attributes;
1416
+ }
1417
+
1418
+ // We can have more than one override definition for the same
1419
+ // element name, so we attempt to simply append information to
1420
+ // it if it already exists.
1421
+ overrideEl = overrides[ elementName ] || ( overrides[ elementName ] = {} );
1422
+
1423
+ if ( attrs )
1424
+ {
1425
+ // The returning attributes list is an array, because we
1426
+ // could have different override definitions for the same
1427
+ // attribute name.
1428
+ var overrideAttrs = ( overrideEl.attributes = overrideEl.attributes || new Array() );
1429
+ for ( var attName in attrs )
1430
+ {
1431
+ // Each item in the attributes array is also an array,
1432
+ // where [0] is the attribute name and [1] is the
1433
+ // override value.
1434
+ overrideAttrs.push( [ attName.toLowerCase(), attrs[ attName ] ] );
1435
+ }
1436
+ }
1437
+ }
1438
+ }
1439
+
1440
+ return overrides;
1441
+ }
1442
+
1443
+ // Make the comparison of attribute value easier by standardizing it.
1444
+ function normalizeProperty( name, value, isStyle )
1445
+ {
1446
+ var temp = new CKEDITOR.dom.element( 'span' );
1447
+ temp [ isStyle ? 'setStyle' : 'setAttribute' ]( name, value );
1448
+ return temp[ isStyle ? 'getStyle' : 'getAttribute' ]( name );
1449
+ }
1450
+
1451
+ // Make the comparison of style text easier by standardizing it.
1452
+ function normalizeCssText( unparsedCssText, nativeNormalize )
1453
+ {
1454
+ var styleText;
1455
+ if ( nativeNormalize !== false )
1456
+ {
1457
+ // Injects the style in a temporary span object, so the browser parses it,
1458
+ // retrieving its final format.
1459
+ var temp = new CKEDITOR.dom.element( 'span' );
1460
+ temp.setAttribute( 'style', unparsedCssText );
1461
+ styleText = temp.getAttribute( 'style' ) || '';
1462
+ }
1463
+ else
1464
+ styleText = unparsedCssText;
1465
+
1466
+ // Normalize font-family property, ignore quotes and being case insensitive. (#7322)
1467
+ // http://www.w3.org/TR/css3-fonts/#font-family-the-font-family-property
1468
+ styleText = styleText.replace( /(font-family:)(.*?)(?=;|$)/, function ( match, prop, val )
1469
+ {
1470
+ var names = val.split( ',' );
1471
+ for ( var i = 0; i < names.length; i++ )
1472
+ names[ i ] = CKEDITOR.tools.trim( names[ i ].replace( /["']/g, '' ) );
1473
+ return prop + names.join( ',' );
1474
+ });
1475
+
1476
+ // Shrinking white-spaces around colon and semi-colon (#4147).
1477
+ // Compensate tail semi-colon.
1478
+ return styleText.replace( /\s*([;:])\s*/, '$1' )
1479
+ .replace( /([^\s;])$/, '$1;')
1480
+ // Trimming spaces after comma(#4107),
1481
+ // remove quotations(#6403),
1482
+ // mostly for differences on "font-family".
1483
+ .replace( /,\s+/g, ',' )
1484
+ .replace( /\"/g,'' )
1485
+ .toLowerCase();
1486
+ }
1487
+
1488
+ // Turn inline style text properties into one hash.
1489
+ function parseStyleText( styleText )
1490
+ {
1491
+ var retval = {};
1492
+ styleText
1493
+ .replace( /&quot;/g, '"' )
1494
+ .replace( /\s*([^ :;]+)\s*:\s*([^;]+)\s*(?=;|$)/g, function( match, name, value )
1495
+ {
1496
+ retval[ name ] = value;
1497
+ } );
1498
+ return retval;
1499
+ }
1500
+
1501
+ /**
1502
+ * Compare two bunch of styles, with the speciality that value 'inherit'
1503
+ * is treated as a wildcard which will match any value.
1504
+ * @param {Object|String} source
1505
+ * @param {Object|String} target
1506
+ */
1507
+ function compareCssText( source, target )
1508
+ {
1509
+ typeof source == 'string' && ( source = parseStyleText( source ) );
1510
+ typeof target == 'string' && ( target = parseStyleText( target ) );
1511
+ for( var name in source )
1512
+ {
1513
+ if ( !( name in target &&
1514
+ ( target[ name ] == source[ name ]
1515
+ || source[ name ] == 'inherit'
1516
+ || target[ name ] == 'inherit' ) ) )
1517
+ {
1518
+ return false;
1519
+ }
1520
+ }
1521
+ return true;
1522
+ }
1523
+
1524
+ function applyStyle( document, remove )
1525
+ {
1526
+ var selection = document.getSelection(),
1527
+ // Bookmark the range so we can re-select it after processing.
1528
+ bookmarks = selection.createBookmarks( 1 ),
1529
+ ranges = selection.getRanges(),
1530
+ func = remove ? this.removeFromRange : this.applyToRange,
1531
+ range;
1532
+
1533
+ var iterator = ranges.createIterator();
1534
+ while ( ( range = iterator.getNextRange() ) )
1535
+ func.call( this, range );
1536
+
1537
+ if ( bookmarks.length == 1 && bookmarks[ 0 ].collapsed )
1538
+ {
1539
+ selection.selectRanges( ranges );
1540
+ document.getById( bookmarks[ 0 ].startNode ).remove();
1541
+ }
1542
+ else
1543
+ selection.selectBookmarks( bookmarks );
1544
+
1545
+ document.removeCustomData( 'doc_processing_style' );
1546
+ }
1547
+ })();
1548
+
1549
+ CKEDITOR.styleCommand = function( style )
1550
+ {
1551
+ this.style = style;
1552
+ };
1553
+
1554
+ CKEDITOR.styleCommand.prototype.exec = function( editor )
1555
+ {
1556
+ editor.focus();
1557
+
1558
+ var doc = editor.document;
1559
+
1560
+ if ( doc )
1561
+ {
1562
+ if ( this.state == CKEDITOR.TRISTATE_OFF )
1563
+ this.style.apply( doc );
1564
+ else if ( this.state == CKEDITOR.TRISTATE_ON )
1565
+ this.style.remove( doc );
1566
+ }
1567
+
1568
+ return !!doc;
1569
+ };
1570
+
1571
+ /**
1572
+ * Manages styles registration and loading. See also {@link CKEDITOR.config.stylesSet}.
1573
+ * @namespace
1574
+ * @augments CKEDITOR.resourceManager
1575
+ * @constructor
1576
+ * @since 3.2
1577
+ * @example
1578
+ * // The set of styles for the <b>Styles</b> combo
1579
+ * CKEDITOR.stylesSet.add( 'default',
1580
+ * [
1581
+ * // Block Styles
1582
+ * { name : 'Blue Title' , element : 'h3', styles : { 'color' : 'Blue' } },
1583
+ * { name : 'Red Title' , element : 'h3', styles : { 'color' : 'Red' } },
1584
+ *
1585
+ * // Inline Styles
1586
+ * { name : 'Marker: Yellow' , element : 'span', styles : { 'background-color' : 'Yellow' } },
1587
+ * { name : 'Marker: Green' , element : 'span', styles : { 'background-color' : 'Lime' } },
1588
+ *
1589
+ * // Object Styles
1590
+ * {
1591
+ * name : 'Image on Left',
1592
+ * element : 'img',
1593
+ * attributes :
1594
+ * {
1595
+ * 'style' : 'padding: 5px; margin-right: 5px',
1596
+ * 'border' : '2',
1597
+ * 'align' : 'left'
1598
+ * }
1599
+ * }
1600
+ * ]);
1601
+ */
1602
+ CKEDITOR.stylesSet = new CKEDITOR.resourceManager( '', 'stylesSet' );
1603
+
1604
+ // Backward compatibility (#5025).
1605
+ CKEDITOR.addStylesSet = CKEDITOR.tools.bind( CKEDITOR.stylesSet.add, CKEDITOR.stylesSet );
1606
+ CKEDITOR.loadStylesSet = function( name, url, callback )
1607
+ {
1608
+ CKEDITOR.stylesSet.addExternal( name, url, '' );
1609
+ CKEDITOR.stylesSet.load( name, callback );
1610
+ };
1611
+
1612
+
1613
+ /**
1614
+ * Gets the current styleSet for this instance
1615
+ * @param {Function} callback The function to be called with the styles data.
1616
+ * @example
1617
+ * editor.getStylesSet( function( stylesDefinitions ) {} );
1618
+ */
1619
+ CKEDITOR.editor.prototype.getStylesSet = function( callback )
1620
+ {
1621
+ if ( !this._.stylesDefinitions )
1622
+ {
1623
+ var editor = this,
1624
+ // Respect the backwards compatible definition entry
1625
+ configStyleSet = editor.config.stylesCombo_stylesSet || editor.config.stylesSet || 'default';
1626
+
1627
+ // #5352 Allow to define the styles directly in the config object
1628
+ if ( configStyleSet instanceof Array )
1629
+ {
1630
+ editor._.stylesDefinitions = configStyleSet;
1631
+ callback( configStyleSet );
1632
+ return;
1633
+ }
1634
+
1635
+ var partsStylesSet = configStyleSet.split( ':' ),
1636
+ styleSetName = partsStylesSet[ 0 ],
1637
+ externalPath = partsStylesSet[ 1 ],
1638
+ pluginPath = CKEDITOR.plugins.registered.styles.path;
1639
+
1640
+ CKEDITOR.stylesSet.addExternal( styleSetName,
1641
+ externalPath ?
1642
+ partsStylesSet.slice( 1 ).join( ':' ) :
1643
+ pluginPath + 'styles/' + styleSetName + '.js', '' );
1644
+
1645
+ CKEDITOR.stylesSet.load( styleSetName, function( stylesSet )
1646
+ {
1647
+ editor._.stylesDefinitions = stylesSet[ styleSetName ];
1648
+ callback( editor._.stylesDefinitions );
1649
+ } ) ;
1650
+ }
1651
+ else
1652
+ callback( this._.stylesDefinitions );
1653
+ };
1654
+
1655
+ /**
1656
+ * Indicates that fully selected read-only elements will be included when
1657
+ * applying the style (for inline styles only).
1658
+ * @name CKEDITOR.style.includeReadonly
1659
+ * @type Boolean
1660
+ * @default false
1661
+ * @since 3.5
1662
+ */
1663
+
1664
+ /**
1665
+ * Disables inline styling on read-only elements.
1666
+ * @name CKEDITOR.config.disableReadonlyStyling
1667
+ * @type Boolean
1668
+ * @default false
1669
+ * @since 3.5
1670
+ */
1671
+
1672
+ /**
1673
+ * The "styles definition set" to use in the editor. They will be used in the
1674
+ * styles combo and the Style selector of the div container. <br>
1675
+ * The styles may be defined in the page containing the editor, or can be
1676
+ * loaded on demand from an external file. In the second case, if this setting
1677
+ * contains only a name, the styles definition file will be loaded from the
1678
+ * "styles" folder inside the styles plugin folder.
1679
+ * Otherwise, this setting has the "name:url" syntax, making it
1680
+ * possible to set the URL from which loading the styles file.<br>
1681
+ * Previously this setting was available as config.stylesCombo_stylesSet<br>
1682
+ * @name CKEDITOR.config.stylesSet
1683
+ * @type String|Array
1684
+ * @default 'default'
1685
+ * @since 3.3
1686
+ * @example
1687
+ * // Load from the styles' styles folder (mystyles.js file).
1688
+ * config.stylesSet = 'mystyles';
1689
+ * @example
1690
+ * // Load from a relative URL.
1691
+ * config.stylesSet = 'mystyles:/editorstyles/styles.js';
1692
+ * @example
1693
+ * // Load from a full URL.
1694
+ * config.stylesSet = 'mystyles:http://www.example.com/editorstyles/styles.js';
1695
+ * @example
1696
+ * // Load from a list of definitions.
1697
+ * config.stylesSet = [
1698
+ * { name : 'Strong Emphasis', element : 'strong' },
1699
+ * { name : 'Emphasis', element : 'em' }, ... ];
1700
+ */