tui_editor-rails 1.0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (887) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +8 -0
  3. data/.ruby-version +1 -0
  4. data/Gemfile +6 -0
  5. data/Gemfile.lock +20 -0
  6. data/README.md +69 -0
  7. data/Rakefile +2 -0
  8. data/bin/console +14 -0
  9. data/bin/setup +8 -0
  10. data/example/.gitignore +30 -0
  11. data/example/.ruby-version +1 -0
  12. data/example/Gemfile +64 -0
  13. data/example/Gemfile.lock +224 -0
  14. data/example/README.md +67 -0
  15. data/example/Rakefile +6 -0
  16. data/example/app/assets/config/manifest.js +3 -0
  17. data/example/app/assets/images/.keep +0 -0
  18. data/example/app/assets/images/screen_capture.png +0 -0
  19. data/example/app/assets/javascripts/application.js +23 -0
  20. data/example/app/assets/javascripts/cable.js +13 -0
  21. data/example/app/assets/javascripts/channels/.keep +0 -0
  22. data/example/app/assets/javascripts/home.coffee +3 -0
  23. data/example/app/assets/javascripts/posts.coffee +3 -0
  24. data/example/app/assets/stylesheets/application.scss +4 -0
  25. data/example/app/assets/stylesheets/home.scss +3 -0
  26. data/example/app/assets/stylesheets/posts.scss +3 -0
  27. data/example/app/assets/stylesheets/scaffolds.scss +84 -0
  28. data/example/app/channels/application_cable/channel.rb +4 -0
  29. data/example/app/channels/application_cable/connection.rb +4 -0
  30. data/example/app/controllers/application_controller.rb +2 -0
  31. data/example/app/controllers/concerns/.keep +0 -0
  32. data/example/app/controllers/home_controller.rb +4 -0
  33. data/example/app/controllers/posts_controller.rb +74 -0
  34. data/example/app/helpers/application_helper.rb +2 -0
  35. data/example/app/helpers/home_helper.rb +2 -0
  36. data/example/app/helpers/posts_helper.rb +2 -0
  37. data/example/app/jobs/application_job.rb +2 -0
  38. data/example/app/mailers/application_mailer.rb +4 -0
  39. data/example/app/models/application_record.rb +3 -0
  40. data/example/app/models/concerns/.keep +0 -0
  41. data/example/app/models/post.rb +2 -0
  42. data/example/app/views/home/index.html.erb +11 -0
  43. data/example/app/views/layouts/application.html.erb +14 -0
  44. data/example/app/views/layouts/mailer.html.erb +13 -0
  45. data/example/app/views/layouts/mailer.text.erb +1 -0
  46. data/example/app/views/posts/_form.html.erb +27 -0
  47. data/example/app/views/posts/_post.json.jbuilder +2 -0
  48. data/example/app/views/posts/edit.html.erb +6 -0
  49. data/example/app/views/posts/index.html.erb +29 -0
  50. data/example/app/views/posts/index.json.jbuilder +1 -0
  51. data/example/app/views/posts/new.html.erb +5 -0
  52. data/example/app/views/posts/show.html.erb +14 -0
  53. data/example/app/views/posts/show.json.jbuilder +1 -0
  54. data/example/bin/bundle +3 -0
  55. data/example/bin/rails +9 -0
  56. data/example/bin/rake +9 -0
  57. data/example/bin/setup +36 -0
  58. data/example/bin/spring +17 -0
  59. data/example/bin/update +31 -0
  60. data/example/bin/yarn +11 -0
  61. data/example/config.ru +5 -0
  62. data/example/config/application.rb +19 -0
  63. data/example/config/boot.rb +4 -0
  64. data/example/config/cable.yml +10 -0
  65. data/example/config/credentials.yml.enc +1 -0
  66. data/example/config/database.yml +25 -0
  67. data/example/config/environment.rb +5 -0
  68. data/example/config/environments/development.rb +61 -0
  69. data/example/config/environments/production.rb +94 -0
  70. data/example/config/environments/test.rb +46 -0
  71. data/example/config/initializers/application_controller_renderer.rb +8 -0
  72. data/example/config/initializers/assets.rb +14 -0
  73. data/example/config/initializers/backtrace_silencers.rb +7 -0
  74. data/example/config/initializers/content_security_policy.rb +22 -0
  75. data/example/config/initializers/cookies_serializer.rb +5 -0
  76. data/example/config/initializers/filter_parameter_logging.rb +4 -0
  77. data/example/config/initializers/inflections.rb +16 -0
  78. data/example/config/initializers/mime_types.rb +4 -0
  79. data/example/config/initializers/wrap_parameters.rb +14 -0
  80. data/example/config/locales/en.yml +33 -0
  81. data/example/config/puma.rb +34 -0
  82. data/example/config/routes.rb +6 -0
  83. data/example/config/spring.rb +6 -0
  84. data/example/config/storage.yml +35 -0
  85. data/example/db/migrate/20180208210404_create_posts.rb +10 -0
  86. data/example/db/schema.rb +22 -0
  87. data/example/db/seeds.rb +7 -0
  88. data/example/lib/assets/.keep +0 -0
  89. data/example/lib/tasks/.keep +0 -0
  90. data/example/log/.keep +0 -0
  91. data/example/package.json +5 -0
  92. data/example/public/404.html +67 -0
  93. data/example/public/422.html +67 -0
  94. data/example/public/500.html +66 -0
  95. data/example/public/apple-touch-icon-precomposed.png +0 -0
  96. data/example/public/apple-touch-icon.png +0 -0
  97. data/example/public/favicon.ico +0 -0
  98. data/example/public/robots.txt +1 -0
  99. data/example/test/application_system_test_case.rb +5 -0
  100. data/example/test/controllers/.keep +0 -0
  101. data/example/test/controllers/home_controller_test.rb +9 -0
  102. data/example/test/controllers/posts_controller_test.rb +48 -0
  103. data/example/test/fixtures/.keep +0 -0
  104. data/example/test/fixtures/files/.keep +0 -0
  105. data/example/test/fixtures/posts.yml +9 -0
  106. data/example/test/helpers/.keep +0 -0
  107. data/example/test/integration/.keep +0 -0
  108. data/example/test/mailers/.keep +0 -0
  109. data/example/test/models/.keep +0 -0
  110. data/example/test/models/post_test.rb +7 -0
  111. data/example/test/system/.keep +0 -0
  112. data/example/test/system/posts_test.rb +45 -0
  113. data/example/test/test_helper.rb +10 -0
  114. data/example/tmp/.keep +0 -0
  115. data/example/vendor/.keep +0 -0
  116. data/lib/tui_editor/rails.rb +8 -0
  117. data/lib/tui_editor/rails/version.rb +5 -0
  118. data/tui_editor-rails.gemspec +34 -0
  119. data/vendor/assets/components/codemirror/.bower.json +31 -0
  120. data/vendor/assets/components/codemirror/AUTHORS +714 -0
  121. data/vendor/assets/components/codemirror/CHANGELOG.md +1316 -0
  122. data/vendor/assets/components/codemirror/CONTRIBUTING.md +92 -0
  123. data/vendor/assets/components/codemirror/LICENSE +21 -0
  124. data/vendor/assets/components/codemirror/README.md +35 -0
  125. data/vendor/assets/components/codemirror/addon/comment/comment.js +209 -0
  126. data/vendor/assets/components/codemirror/addon/comment/continuecomment.js +78 -0
  127. data/vendor/assets/components/codemirror/addon/dialog/dialog.css +32 -0
  128. data/vendor/assets/components/codemirror/addon/dialog/dialog.js +157 -0
  129. data/vendor/assets/components/codemirror/addon/display/autorefresh.js +47 -0
  130. data/vendor/assets/components/codemirror/addon/display/fullscreen.css +6 -0
  131. data/vendor/assets/components/codemirror/addon/display/fullscreen.js +41 -0
  132. data/vendor/assets/components/codemirror/addon/display/panel.js +123 -0
  133. data/vendor/assets/components/codemirror/addon/display/placeholder.js +63 -0
  134. data/vendor/assets/components/codemirror/addon/display/rulers.js +51 -0
  135. data/vendor/assets/components/codemirror/addon/edit/closebrackets.js +194 -0
  136. data/vendor/assets/components/codemirror/addon/edit/closetag.js +175 -0
  137. data/vendor/assets/components/codemirror/addon/edit/continuelist.js +89 -0
  138. data/vendor/assets/components/codemirror/addon/edit/matchbrackets.js +145 -0
  139. data/vendor/assets/components/codemirror/addon/edit/matchtags.js +66 -0
  140. data/vendor/assets/components/codemirror/addon/edit/trailingspace.js +27 -0
  141. data/vendor/assets/components/codemirror/addon/fold/brace-fold.js +105 -0
  142. data/vendor/assets/components/codemirror/addon/fold/comment-fold.js +59 -0
  143. data/vendor/assets/components/codemirror/addon/fold/foldcode.js +152 -0
  144. data/vendor/assets/components/codemirror/addon/fold/foldgutter.css +20 -0
  145. data/vendor/assets/components/codemirror/addon/fold/foldgutter.js +146 -0
  146. data/vendor/assets/components/codemirror/addon/fold/indent-fold.js +48 -0
  147. data/vendor/assets/components/codemirror/addon/fold/markdown-fold.js +49 -0
  148. data/vendor/assets/components/codemirror/addon/fold/xml-fold.js +182 -0
  149. data/vendor/assets/components/codemirror/addon/hint/anyword-hint.js +41 -0
  150. data/vendor/assets/components/codemirror/addon/hint/css-hint.js +60 -0
  151. data/vendor/assets/components/codemirror/addon/hint/html-hint.js +348 -0
  152. data/vendor/assets/components/codemirror/addon/hint/javascript-hint.js +155 -0
  153. data/vendor/assets/components/codemirror/addon/hint/show-hint.css +36 -0
  154. data/vendor/assets/components/codemirror/addon/hint/show-hint.js +432 -0
  155. data/vendor/assets/components/codemirror/addon/hint/sql-hint.js +286 -0
  156. data/vendor/assets/components/codemirror/addon/hint/xml-hint.js +110 -0
  157. data/vendor/assets/components/codemirror/addon/lint/coffeescript-lint.js +47 -0
  158. data/vendor/assets/components/codemirror/addon/lint/css-lint.js +40 -0
  159. data/vendor/assets/components/codemirror/addon/lint/html-lint.js +53 -0
  160. data/vendor/assets/components/codemirror/addon/lint/javascript-lint.js +63 -0
  161. data/vendor/assets/components/codemirror/addon/lint/json-lint.js +37 -0
  162. data/vendor/assets/components/codemirror/addon/lint/lint.css +73 -0
  163. data/vendor/assets/components/codemirror/addon/lint/lint.js +252 -0
  164. data/vendor/assets/components/codemirror/addon/lint/yaml-lint.js +41 -0
  165. data/vendor/assets/components/codemirror/addon/merge/merge.css +113 -0
  166. data/vendor/assets/components/codemirror/addon/merge/merge.js +1001 -0
  167. data/vendor/assets/components/codemirror/addon/mode/loadmode.js +64 -0
  168. data/vendor/assets/components/codemirror/addon/mode/multiplex.js +123 -0
  169. data/vendor/assets/components/codemirror/addon/mode/multiplex_test.js +33 -0
  170. data/vendor/assets/components/codemirror/addon/mode/overlay.js +90 -0
  171. data/vendor/assets/components/codemirror/addon/mode/simple.js +216 -0
  172. data/vendor/assets/components/codemirror/addon/runmode/colorize.js +40 -0
  173. data/vendor/assets/components/codemirror/addon/runmode/runmode-standalone.js +158 -0
  174. data/vendor/assets/components/codemirror/addon/runmode/runmode.js +72 -0
  175. data/vendor/assets/components/codemirror/addon/runmode/runmode.node.js +197 -0
  176. data/vendor/assets/components/codemirror/addon/scroll/annotatescrollbar.js +122 -0
  177. data/vendor/assets/components/codemirror/addon/scroll/scrollpastend.js +48 -0
  178. data/vendor/assets/components/codemirror/addon/scroll/simplescrollbars.css +66 -0
  179. data/vendor/assets/components/codemirror/addon/scroll/simplescrollbars.js +152 -0
  180. data/vendor/assets/components/codemirror/addon/search/jump-to-line.js +49 -0
  181. data/vendor/assets/components/codemirror/addon/search/match-highlighter.js +165 -0
  182. data/vendor/assets/components/codemirror/addon/search/matchesonscrollbar.css +8 -0
  183. data/vendor/assets/components/codemirror/addon/search/matchesonscrollbar.js +97 -0
  184. data/vendor/assets/components/codemirror/addon/search/search.js +252 -0
  185. data/vendor/assets/components/codemirror/addon/search/searchcursor.js +289 -0
  186. data/vendor/assets/components/codemirror/addon/selection/active-line.js +72 -0
  187. data/vendor/assets/components/codemirror/addon/selection/mark-selection.js +119 -0
  188. data/vendor/assets/components/codemirror/addon/selection/selection-pointer.js +98 -0
  189. data/vendor/assets/components/codemirror/addon/tern/tern.css +87 -0
  190. data/vendor/assets/components/codemirror/addon/tern/tern.js +718 -0
  191. data/vendor/assets/components/codemirror/addon/tern/worker.js +44 -0
  192. data/vendor/assets/components/codemirror/addon/wrap/hardwrap.js +144 -0
  193. data/vendor/assets/components/codemirror/bower.json +17 -0
  194. data/vendor/assets/components/codemirror/component-tools/bower.json +17 -0
  195. data/vendor/assets/components/codemirror/component-tools/build.sh +31 -0
  196. data/vendor/assets/components/codemirror/component-tools/update.py +38 -0
  197. data/vendor/assets/components/codemirror/keymap/emacs.js +416 -0
  198. data/vendor/assets/components/codemirror/keymap/sublime.js +685 -0
  199. data/vendor/assets/components/codemirror/keymap/vim.js +5219 -0
  200. data/vendor/assets/components/codemirror/lib/codemirror.css +346 -0
  201. data/vendor/assets/components/codemirror/lib/codemirror.js +9669 -0
  202. data/vendor/assets/components/codemirror/mode/apl/apl.js +174 -0
  203. data/vendor/assets/components/codemirror/mode/asciiarmor/asciiarmor.js +74 -0
  204. data/vendor/assets/components/codemirror/mode/asn.1/asn.1.js +204 -0
  205. data/vendor/assets/components/codemirror/mode/asterisk/asterisk.js +196 -0
  206. data/vendor/assets/components/codemirror/mode/brainfuck/brainfuck.js +85 -0
  207. data/vendor/assets/components/codemirror/mode/clike/clike.js +817 -0
  208. data/vendor/assets/components/codemirror/mode/clojure/clojure.js +306 -0
  209. data/vendor/assets/components/codemirror/mode/cmake/cmake.js +97 -0
  210. data/vendor/assets/components/codemirror/mode/cobol/cobol.js +255 -0
  211. data/vendor/assets/components/codemirror/mode/coffeescript/coffeescript.js +359 -0
  212. data/vendor/assets/components/codemirror/mode/commonlisp/commonlisp.js +124 -0
  213. data/vendor/assets/components/codemirror/mode/crystal/crystal.js +433 -0
  214. data/vendor/assets/components/codemirror/mode/css/css.js +832 -0
  215. data/vendor/assets/components/codemirror/mode/cypher/cypher.js +150 -0
  216. data/vendor/assets/components/codemirror/mode/d/d.js +218 -0
  217. data/vendor/assets/components/codemirror/mode/dart/dart.js +157 -0
  218. data/vendor/assets/components/codemirror/mode/diff/diff.js +47 -0
  219. data/vendor/assets/components/codemirror/mode/django/django.js +356 -0
  220. data/vendor/assets/components/codemirror/mode/dockerfile/dockerfile.js +79 -0
  221. data/vendor/assets/components/codemirror/mode/dtd/dtd.js +142 -0
  222. data/vendor/assets/components/codemirror/mode/dylan/dylan.js +352 -0
  223. data/vendor/assets/components/codemirror/mode/ebnf/ebnf.js +195 -0
  224. data/vendor/assets/components/codemirror/mode/ecl/ecl.js +206 -0
  225. data/vendor/assets/components/codemirror/mode/eiffel/eiffel.js +160 -0
  226. data/vendor/assets/components/codemirror/mode/elm/elm.js +205 -0
  227. data/vendor/assets/components/codemirror/mode/erlang/erlang.js +619 -0
  228. data/vendor/assets/components/codemirror/mode/factor/factor.js +85 -0
  229. data/vendor/assets/components/codemirror/mode/fcl/fcl.js +173 -0
  230. data/vendor/assets/components/codemirror/mode/forth/forth.js +180 -0
  231. data/vendor/assets/components/codemirror/mode/fortran/fortran.js +188 -0
  232. data/vendor/assets/components/codemirror/mode/gas/gas.js +345 -0
  233. data/vendor/assets/components/codemirror/mode/gfm/gfm.js +129 -0
  234. data/vendor/assets/components/codemirror/mode/gherkin/gherkin.js +178 -0
  235. data/vendor/assets/components/codemirror/mode/go/go.js +187 -0
  236. data/vendor/assets/components/codemirror/mode/groovy/groovy.js +230 -0
  237. data/vendor/assets/components/codemirror/mode/haml/haml.js +161 -0
  238. data/vendor/assets/components/codemirror/mode/handlebars/handlebars.js +62 -0
  239. data/vendor/assets/components/codemirror/mode/haskell-literate/haskell-literate.js +43 -0
  240. data/vendor/assets/components/codemirror/mode/haskell/haskell.js +267 -0
  241. data/vendor/assets/components/codemirror/mode/haxe/haxe.js +515 -0
  242. data/vendor/assets/components/codemirror/mode/htmlembedded/htmlembedded.js +37 -0
  243. data/vendor/assets/components/codemirror/mode/htmlmixed/htmlmixed.js +152 -0
  244. data/vendor/assets/components/codemirror/mode/http/http.js +113 -0
  245. data/vendor/assets/components/codemirror/mode/idl/idl.js +290 -0
  246. data/vendor/assets/components/codemirror/mode/javascript/javascript.js +865 -0
  247. data/vendor/assets/components/codemirror/mode/jinja2/jinja2.js +142 -0
  248. data/vendor/assets/components/codemirror/mode/jsx/jsx.js +148 -0
  249. data/vendor/assets/components/codemirror/mode/julia/julia.js +418 -0
  250. data/vendor/assets/components/codemirror/mode/livescript/livescript.js +280 -0
  251. data/vendor/assets/components/codemirror/mode/lua/lua.js +159 -0
  252. data/vendor/assets/components/codemirror/mode/markdown/markdown.js +872 -0
  253. data/vendor/assets/components/codemirror/mode/mathematica/mathematica.js +176 -0
  254. data/vendor/assets/components/codemirror/mode/mbox/mbox.js +129 -0
  255. data/vendor/assets/components/codemirror/mode/meta.js +217 -0
  256. data/vendor/assets/components/codemirror/mode/mirc/mirc.js +193 -0
  257. data/vendor/assets/components/codemirror/mode/mllike/mllike.js +356 -0
  258. data/vendor/assets/components/codemirror/mode/modelica/modelica.js +245 -0
  259. data/vendor/assets/components/codemirror/mode/mscgen/mscgen.js +175 -0
  260. data/vendor/assets/components/codemirror/mode/mumps/mumps.js +148 -0
  261. data/vendor/assets/components/codemirror/mode/nginx/nginx.js +178 -0
  262. data/vendor/assets/components/codemirror/mode/nsis/nsis.js +95 -0
  263. data/vendor/assets/components/codemirror/mode/ntriples/ntriples.js +195 -0
  264. data/vendor/assets/components/codemirror/mode/octave/octave.js +139 -0
  265. data/vendor/assets/components/codemirror/mode/oz/oz.js +252 -0
  266. data/vendor/assets/components/codemirror/mode/pascal/pascal.js +109 -0
  267. data/vendor/assets/components/codemirror/mode/pegjs/pegjs.js +114 -0
  268. data/vendor/assets/components/codemirror/mode/perl/perl.js +837 -0
  269. data/vendor/assets/components/codemirror/mode/php/php.js +234 -0
  270. data/vendor/assets/components/codemirror/mode/pig/pig.js +178 -0
  271. data/vendor/assets/components/codemirror/mode/powershell/powershell.js +398 -0
  272. data/vendor/assets/components/codemirror/mode/properties/properties.js +78 -0
  273. data/vendor/assets/components/codemirror/mode/protobuf/protobuf.js +69 -0
  274. data/vendor/assets/components/codemirror/mode/pug/pug.js +591 -0
  275. data/vendor/assets/components/codemirror/mode/puppet/puppet.js +220 -0
  276. data/vendor/assets/components/codemirror/mode/python/python.js +334 -0
  277. data/vendor/assets/components/codemirror/mode/q/q.js +139 -0
  278. data/vendor/assets/components/codemirror/mode/r/r.js +183 -0
  279. data/vendor/assets/components/codemirror/mode/rpm/rpm.js +109 -0
  280. data/vendor/assets/components/codemirror/mode/rst/rst.js +557 -0
  281. data/vendor/assets/components/codemirror/mode/ruby/ruby.js +296 -0
  282. data/vendor/assets/components/codemirror/mode/rust/rust.js +72 -0
  283. data/vendor/assets/components/codemirror/mode/sas/sas.js +303 -0
  284. data/vendor/assets/components/codemirror/mode/sass/sass.js +454 -0
  285. data/vendor/assets/components/codemirror/mode/scheme/scheme.js +249 -0
  286. data/vendor/assets/components/codemirror/mode/shell/shell.js +151 -0
  287. data/vendor/assets/components/codemirror/mode/sieve/sieve.js +193 -0
  288. data/vendor/assets/components/codemirror/mode/slim/slim.js +575 -0
  289. data/vendor/assets/components/codemirror/mode/smalltalk/smalltalk.js +168 -0
  290. data/vendor/assets/components/codemirror/mode/smarty/smarty.js +225 -0
  291. data/vendor/assets/components/codemirror/mode/solr/solr.js +104 -0
  292. data/vendor/assets/components/codemirror/mode/soy/soy.js +354 -0
  293. data/vendor/assets/components/codemirror/mode/sparql/sparql.js +180 -0
  294. data/vendor/assets/components/codemirror/mode/spreadsheet/spreadsheet.js +112 -0
  295. data/vendor/assets/components/codemirror/mode/sql/sql.js +488 -0
  296. data/vendor/assets/components/codemirror/mode/stex/stex.js +251 -0
  297. data/vendor/assets/components/codemirror/mode/stylus/stylus.js +771 -0
  298. data/vendor/assets/components/codemirror/mode/swift/swift.js +219 -0
  299. data/vendor/assets/components/codemirror/mode/tcl/tcl.js +139 -0
  300. data/vendor/assets/components/codemirror/mode/textile/textile.js +469 -0
  301. data/vendor/assets/components/codemirror/mode/tiddlywiki/tiddlywiki.css +14 -0
  302. data/vendor/assets/components/codemirror/mode/tiddlywiki/tiddlywiki.js +308 -0
  303. data/vendor/assets/components/codemirror/mode/tiki/tiki.css +26 -0
  304. data/vendor/assets/components/codemirror/mode/tiki/tiki.js +312 -0
  305. data/vendor/assets/components/codemirror/mode/toml/toml.js +88 -0
  306. data/vendor/assets/components/codemirror/mode/tornado/tornado.js +68 -0
  307. data/vendor/assets/components/codemirror/mode/troff/troff.js +84 -0
  308. data/vendor/assets/components/codemirror/mode/ttcn-cfg/ttcn-cfg.js +214 -0
  309. data/vendor/assets/components/codemirror/mode/ttcn/ttcn.js +283 -0
  310. data/vendor/assets/components/codemirror/mode/turtle/turtle.js +162 -0
  311. data/vendor/assets/components/codemirror/mode/twig/twig.js +141 -0
  312. data/vendor/assets/components/codemirror/mode/vb/vb.js +275 -0
  313. data/vendor/assets/components/codemirror/mode/vbscript/vbscript.js +350 -0
  314. data/vendor/assets/components/codemirror/mode/velocity/velocity.js +201 -0
  315. data/vendor/assets/components/codemirror/mode/verilog/verilog.js +675 -0
  316. data/vendor/assets/components/codemirror/mode/vhdl/vhdl.js +189 -0
  317. data/vendor/assets/components/codemirror/mode/vue/vue.js +77 -0
  318. data/vendor/assets/components/codemirror/mode/webidl/webidl.js +195 -0
  319. data/vendor/assets/components/codemirror/mode/xml/xml.js +401 -0
  320. data/vendor/assets/components/codemirror/mode/xquery/xquery.js +448 -0
  321. data/vendor/assets/components/codemirror/mode/yacas/yacas.js +204 -0
  322. data/vendor/assets/components/codemirror/mode/yaml-frontmatter/yaml-frontmatter.js +68 -0
  323. data/vendor/assets/components/codemirror/mode/yaml/yaml.js +118 -0
  324. data/vendor/assets/components/codemirror/mode/z80/z80.js +116 -0
  325. data/vendor/assets/components/codemirror/rollup.config.js +18 -0
  326. data/vendor/assets/components/codemirror/src/codemirror.js +3 -0
  327. data/vendor/assets/components/codemirror/src/display/Display.js +106 -0
  328. data/vendor/assets/components/codemirror/src/display/focus.js +47 -0
  329. data/vendor/assets/components/codemirror/src/display/gutters.js +34 -0
  330. data/vendor/assets/components/codemirror/src/display/highlight_worker.js +55 -0
  331. data/vendor/assets/components/codemirror/src/display/line_numbers.js +48 -0
  332. data/vendor/assets/components/codemirror/src/display/mode_state.js +22 -0
  333. data/vendor/assets/components/codemirror/src/display/operations.js +205 -0
  334. data/vendor/assets/components/codemirror/src/display/scroll_events.js +115 -0
  335. data/vendor/assets/components/codemirror/src/display/scrollbars.js +192 -0
  336. data/vendor/assets/components/codemirror/src/display/scrolling.js +184 -0
  337. data/vendor/assets/components/codemirror/src/display/selection.js +158 -0
  338. data/vendor/assets/components/codemirror/src/display/update_display.js +260 -0
  339. data/vendor/assets/components/codemirror/src/display/update_line.js +188 -0
  340. data/vendor/assets/components/codemirror/src/display/update_lines.js +64 -0
  341. data/vendor/assets/components/codemirror/src/display/view_tracking.js +153 -0
  342. data/vendor/assets/components/codemirror/src/edit/CodeMirror.js +214 -0
  343. data/vendor/assets/components/codemirror/src/edit/commands.js +178 -0
  344. data/vendor/assets/components/codemirror/src/edit/deleteNearSelection.js +30 -0
  345. data/vendor/assets/components/codemirror/src/edit/drop_events.js +119 -0
  346. data/vendor/assets/components/codemirror/src/edit/fromTextArea.js +61 -0
  347. data/vendor/assets/components/codemirror/src/edit/global_events.js +44 -0
  348. data/vendor/assets/components/codemirror/src/edit/key_events.js +159 -0
  349. data/vendor/assets/components/codemirror/src/edit/legacy.js +62 -0
  350. data/vendor/assets/components/codemirror/src/edit/main.js +69 -0
  351. data/vendor/assets/components/codemirror/src/edit/methods.js +539 -0
  352. data/vendor/assets/components/codemirror/src/edit/mouse_events.js +407 -0
  353. data/vendor/assets/components/codemirror/src/edit/options.js +191 -0
  354. data/vendor/assets/components/codemirror/src/edit/utils.js +7 -0
  355. data/vendor/assets/components/codemirror/src/input/ContentEditableInput.js +517 -0
  356. data/vendor/assets/components/codemirror/src/input/TextareaInput.js +350 -0
  357. data/vendor/assets/components/codemirror/src/input/indent.js +71 -0
  358. data/vendor/assets/components/codemirror/src/input/input.js +135 -0
  359. data/vendor/assets/components/codemirror/src/input/keymap.js +148 -0
  360. data/vendor/assets/components/codemirror/src/input/keynames.js +17 -0
  361. data/vendor/assets/components/codemirror/src/input/movement.js +110 -0
  362. data/vendor/assets/components/codemirror/src/line/highlight.js +284 -0
  363. data/vendor/assets/components/codemirror/src/line/line_data.js +337 -0
  364. data/vendor/assets/components/codemirror/src/line/pos.js +40 -0
  365. data/vendor/assets/components/codemirror/src/line/saw_special_spans.js +10 -0
  366. data/vendor/assets/components/codemirror/src/line/spans.js +372 -0
  367. data/vendor/assets/components/codemirror/src/line/utils_line.js +85 -0
  368. data/vendor/assets/components/codemirror/src/measurement/position_measurement.js +700 -0
  369. data/vendor/assets/components/codemirror/src/measurement/widgets.js +26 -0
  370. data/vendor/assets/components/codemirror/src/model/Doc.js +432 -0
  371. data/vendor/assets/components/codemirror/src/model/change_measurement.js +61 -0
  372. data/vendor/assets/components/codemirror/src/model/changes.js +330 -0
  373. data/vendor/assets/components/codemirror/src/model/chunk.js +167 -0
  374. data/vendor/assets/components/codemirror/src/model/document_data.js +111 -0
  375. data/vendor/assets/components/codemirror/src/model/history.js +228 -0
  376. data/vendor/assets/components/codemirror/src/model/line_widget.js +78 -0
  377. data/vendor/assets/components/codemirror/src/model/mark_text.js +292 -0
  378. data/vendor/assets/components/codemirror/src/model/selection.js +82 -0
  379. data/vendor/assets/components/codemirror/src/model/selection_updates.js +208 -0
  380. data/vendor/assets/components/codemirror/src/modes.js +96 -0
  381. data/vendor/assets/components/codemirror/src/util/StringStream.js +90 -0
  382. data/vendor/assets/components/codemirror/src/util/bidi.js +214 -0
  383. data/vendor/assets/components/codemirror/src/util/browser.js +33 -0
  384. data/vendor/assets/components/codemirror/src/util/dom.js +97 -0
  385. data/vendor/assets/components/codemirror/src/util/event.js +103 -0
  386. data/vendor/assets/components/codemirror/src/util/feature_detection.js +84 -0
  387. data/vendor/assets/components/codemirror/src/util/misc.js +150 -0
  388. data/vendor/assets/components/codemirror/src/util/operation_group.js +72 -0
  389. data/vendor/assets/components/codemirror/theme/3024-day.css +41 -0
  390. data/vendor/assets/components/codemirror/theme/3024-night.css +39 -0
  391. data/vendor/assets/components/codemirror/theme/abcdef.css +32 -0
  392. data/vendor/assets/components/codemirror/theme/ambiance-mobile.css +5 -0
  393. data/vendor/assets/components/codemirror/theme/ambiance.css +74 -0
  394. data/vendor/assets/components/codemirror/theme/base16-dark.css +38 -0
  395. data/vendor/assets/components/codemirror/theme/base16-light.css +38 -0
  396. data/vendor/assets/components/codemirror/theme/bespin.css +34 -0
  397. data/vendor/assets/components/codemirror/theme/blackboard.css +32 -0
  398. data/vendor/assets/components/codemirror/theme/cobalt.css +25 -0
  399. data/vendor/assets/components/codemirror/theme/colorforth.css +33 -0
  400. data/vendor/assets/components/codemirror/theme/dracula.css +40 -0
  401. data/vendor/assets/components/codemirror/theme/duotone-dark.css +35 -0
  402. data/vendor/assets/components/codemirror/theme/duotone-light.css +36 -0
  403. data/vendor/assets/components/codemirror/theme/eclipse.css +23 -0
  404. data/vendor/assets/components/codemirror/theme/elegant.css +13 -0
  405. data/vendor/assets/components/codemirror/theme/erlang-dark.css +34 -0
  406. data/vendor/assets/components/codemirror/theme/hopscotch.css +34 -0
  407. data/vendor/assets/components/codemirror/theme/icecoder.css +43 -0
  408. data/vendor/assets/components/codemirror/theme/isotope.css +34 -0
  409. data/vendor/assets/components/codemirror/theme/lesser-dark.css +47 -0
  410. data/vendor/assets/components/codemirror/theme/liquibyte.css +95 -0
  411. data/vendor/assets/components/codemirror/theme/material.css +53 -0
  412. data/vendor/assets/components/codemirror/theme/mbo.css +37 -0
  413. data/vendor/assets/components/codemirror/theme/mdn-like.css +46 -0
  414. data/vendor/assets/components/codemirror/theme/midnight.css +43 -0
  415. data/vendor/assets/components/codemirror/theme/monokai.css +36 -0
  416. data/vendor/assets/components/codemirror/theme/neat.css +12 -0
  417. data/vendor/assets/components/codemirror/theme/neo.css +43 -0
  418. data/vendor/assets/components/codemirror/theme/night.css +27 -0
  419. data/vendor/assets/components/codemirror/theme/oceanic-next.css +44 -0
  420. data/vendor/assets/components/codemirror/theme/panda-syntax.css +85 -0
  421. data/vendor/assets/components/codemirror/theme/paraiso-dark.css +38 -0
  422. data/vendor/assets/components/codemirror/theme/paraiso-light.css +38 -0
  423. data/vendor/assets/components/codemirror/theme/pastel-on-dark.css +52 -0
  424. data/vendor/assets/components/codemirror/theme/railscasts.css +34 -0
  425. data/vendor/assets/components/codemirror/theme/rubyblue.css +25 -0
  426. data/vendor/assets/components/codemirror/theme/seti.css +44 -0
  427. data/vendor/assets/components/codemirror/theme/shadowfox.css +52 -0
  428. data/vendor/assets/components/codemirror/theme/solarized.css +168 -0
  429. data/vendor/assets/components/codemirror/theme/the-matrix.css +30 -0
  430. data/vendor/assets/components/codemirror/theme/tomorrow-night-bright.css +35 -0
  431. data/vendor/assets/components/codemirror/theme/tomorrow-night-eighties.css +38 -0
  432. data/vendor/assets/components/codemirror/theme/ttcn.css +64 -0
  433. data/vendor/assets/components/codemirror/theme/twilight.css +32 -0
  434. data/vendor/assets/components/codemirror/theme/vibrant-ink.css +34 -0
  435. data/vendor/assets/components/codemirror/theme/xq-dark.css +53 -0
  436. data/vendor/assets/components/codemirror/theme/xq-light.css +43 -0
  437. data/vendor/assets/components/codemirror/theme/yeti.css +44 -0
  438. data/vendor/assets/components/codemirror/theme/zenburn.css +37 -0
  439. data/vendor/assets/components/eve/.bower.json +12 -0
  440. data/vendor/assets/components/eve/LICENSE +202 -0
  441. data/vendor/assets/components/eve/README.md +7 -0
  442. data/vendor/assets/components/eve/component.json +13 -0
  443. data/vendor/assets/components/eve/e.html +66 -0
  444. data/vendor/assets/components/eve/eve.js +371 -0
  445. data/vendor/assets/components/eve/package.json +18 -0
  446. data/vendor/assets/components/highlightjs/.bower.json +24 -0
  447. data/vendor/assets/components/highlightjs/LICENSE +24 -0
  448. data/vendor/assets/components/highlightjs/Makefile +21 -0
  449. data/vendor/assets/components/highlightjs/README.md +12 -0
  450. data/vendor/assets/components/highlightjs/bower.json +14 -0
  451. data/vendor/assets/components/highlightjs/component.json +12 -0
  452. data/vendor/assets/components/highlightjs/composer.json +26 -0
  453. data/vendor/assets/components/highlightjs/highlight.pack.js +16645 -0
  454. data/vendor/assets/components/highlightjs/highlight.pack.min.js +15 -0
  455. data/vendor/assets/components/highlightjs/package.json +8 -0
  456. data/vendor/assets/components/highlightjs/styles/agate.css +108 -0
  457. data/vendor/assets/components/highlightjs/styles/androidstudio.css +66 -0
  458. data/vendor/assets/components/highlightjs/styles/arduino-light.css +88 -0
  459. data/vendor/assets/components/highlightjs/styles/arta.css +73 -0
  460. data/vendor/assets/components/highlightjs/styles/ascetic.css +45 -0
  461. data/vendor/assets/components/highlightjs/styles/atelier-cave-dark.css +83 -0
  462. data/vendor/assets/components/highlightjs/styles/atelier-cave-light.css +85 -0
  463. data/vendor/assets/components/highlightjs/styles/atelier-cave.dark.css +113 -0
  464. data/vendor/assets/components/highlightjs/styles/atelier-cave.light.css +113 -0
  465. data/vendor/assets/components/highlightjs/styles/atelier-dune-dark.css +69 -0
  466. data/vendor/assets/components/highlightjs/styles/atelier-dune-light.css +69 -0
  467. data/vendor/assets/components/highlightjs/styles/atelier-dune.dark.css +94 -0
  468. data/vendor/assets/components/highlightjs/styles/atelier-dune.light.css +94 -0
  469. data/vendor/assets/components/highlightjs/styles/atelier-estuary-dark.css +84 -0
  470. data/vendor/assets/components/highlightjs/styles/atelier-estuary-light.css +84 -0
  471. data/vendor/assets/components/highlightjs/styles/atelier-estuary.dark.css +113 -0
  472. data/vendor/assets/components/highlightjs/styles/atelier-estuary.light.css +113 -0
  473. data/vendor/assets/components/highlightjs/styles/atelier-forest-dark.css +69 -0
  474. data/vendor/assets/components/highlightjs/styles/atelier-forest-light.css +69 -0
  475. data/vendor/assets/components/highlightjs/styles/atelier-forest.dark.css +94 -0
  476. data/vendor/assets/components/highlightjs/styles/atelier-forest.light.css +94 -0
  477. data/vendor/assets/components/highlightjs/styles/atelier-heath-dark.css +69 -0
  478. data/vendor/assets/components/highlightjs/styles/atelier-heath-light.css +69 -0
  479. data/vendor/assets/components/highlightjs/styles/atelier-heath.dark.css +94 -0
  480. data/vendor/assets/components/highlightjs/styles/atelier-heath.light.css +94 -0
  481. data/vendor/assets/components/highlightjs/styles/atelier-lakeside-dark.css +69 -0
  482. data/vendor/assets/components/highlightjs/styles/atelier-lakeside-light.css +69 -0
  483. data/vendor/assets/components/highlightjs/styles/atelier-lakeside.dark.css +94 -0
  484. data/vendor/assets/components/highlightjs/styles/atelier-lakeside.light.css +94 -0
  485. data/vendor/assets/components/highlightjs/styles/atelier-plateau-dark.css +84 -0
  486. data/vendor/assets/components/highlightjs/styles/atelier-plateau-light.css +84 -0
  487. data/vendor/assets/components/highlightjs/styles/atelier-plateau.dark.css +113 -0
  488. data/vendor/assets/components/highlightjs/styles/atelier-plateau.light.css +113 -0
  489. data/vendor/assets/components/highlightjs/styles/atelier-savanna-dark.css +84 -0
  490. data/vendor/assets/components/highlightjs/styles/atelier-savanna-light.css +84 -0
  491. data/vendor/assets/components/highlightjs/styles/atelier-savanna.dark.css +113 -0
  492. data/vendor/assets/components/highlightjs/styles/atelier-savanna.light.css +113 -0
  493. data/vendor/assets/components/highlightjs/styles/atelier-seaside-dark.css +69 -0
  494. data/vendor/assets/components/highlightjs/styles/atelier-seaside-light.css +69 -0
  495. data/vendor/assets/components/highlightjs/styles/atelier-seaside.dark.css +94 -0
  496. data/vendor/assets/components/highlightjs/styles/atelier-seaside.light.css +94 -0
  497. data/vendor/assets/components/highlightjs/styles/atelier-sulphurpool-dark.css +69 -0
  498. data/vendor/assets/components/highlightjs/styles/atelier-sulphurpool-light.css +69 -0
  499. data/vendor/assets/components/highlightjs/styles/atelier-sulphurpool.dark.css +94 -0
  500. data/vendor/assets/components/highlightjs/styles/atelier-sulphurpool.light.css +94 -0
  501. data/vendor/assets/components/highlightjs/styles/atom-one-dark.css +96 -0
  502. data/vendor/assets/components/highlightjs/styles/atom-one-light.css +96 -0
  503. data/vendor/assets/components/highlightjs/styles/brown-paper.css +64 -0
  504. data/vendor/assets/components/highlightjs/styles/brown-papersq.png +0 -0
  505. data/vendor/assets/components/highlightjs/styles/brown_paper.css +103 -0
  506. data/vendor/assets/components/highlightjs/styles/brown_papersq.png +0 -0
  507. data/vendor/assets/components/highlightjs/styles/codepen-embed.css +60 -0
  508. data/vendor/assets/components/highlightjs/styles/color-brewer.css +71 -0
  509. data/vendor/assets/components/highlightjs/styles/darcula.css +77 -0
  510. data/vendor/assets/components/highlightjs/styles/dark.css +63 -0
  511. data/vendor/assets/components/highlightjs/styles/darkula.css +6 -0
  512. data/vendor/assets/components/highlightjs/styles/default.css +99 -0
  513. data/vendor/assets/components/highlightjs/styles/docco.css +97 -0
  514. data/vendor/assets/components/highlightjs/styles/dracula.css +76 -0
  515. data/vendor/assets/components/highlightjs/styles/far.css +71 -0
  516. data/vendor/assets/components/highlightjs/styles/foundation.css +88 -0
  517. data/vendor/assets/components/highlightjs/styles/github-gist.css +71 -0
  518. data/vendor/assets/components/highlightjs/styles/github.css +99 -0
  519. data/vendor/assets/components/highlightjs/styles/googlecode.css +89 -0
  520. data/vendor/assets/components/highlightjs/styles/grayscale.css +101 -0
  521. data/vendor/assets/components/highlightjs/styles/gruvbox-dark.css +108 -0
  522. data/vendor/assets/components/highlightjs/styles/gruvbox-light.css +108 -0
  523. data/vendor/assets/components/highlightjs/styles/hopscotch.css +83 -0
  524. data/vendor/assets/components/highlightjs/styles/hybrid.css +102 -0
  525. data/vendor/assets/components/highlightjs/styles/idea.css +97 -0
  526. data/vendor/assets/components/highlightjs/styles/ir-black.css +73 -0
  527. data/vendor/assets/components/highlightjs/styles/ir_black.css +106 -0
  528. data/vendor/assets/components/highlightjs/styles/kimbie.dark.css +74 -0
  529. data/vendor/assets/components/highlightjs/styles/kimbie.light.css +74 -0
  530. data/vendor/assets/components/highlightjs/styles/magula.css +70 -0
  531. data/vendor/assets/components/highlightjs/styles/mono-blue.css +59 -0
  532. data/vendor/assets/components/highlightjs/styles/monokai-sublime.css +83 -0
  533. data/vendor/assets/components/highlightjs/styles/monokai.css +70 -0
  534. data/vendor/assets/components/highlightjs/styles/monokai_sublime.css +154 -0
  535. data/vendor/assets/components/highlightjs/styles/obsidian.css +88 -0
  536. data/vendor/assets/components/highlightjs/styles/ocean.css +74 -0
  537. data/vendor/assets/components/highlightjs/styles/paraiso-dark.css +72 -0
  538. data/vendor/assets/components/highlightjs/styles/paraiso-light.css +72 -0
  539. data/vendor/assets/components/highlightjs/styles/paraiso.dark.css +96 -0
  540. data/vendor/assets/components/highlightjs/styles/paraiso.light.css +96 -0
  541. data/vendor/assets/components/highlightjs/styles/pojoaque.css +83 -0
  542. data/vendor/assets/components/highlightjs/styles/pojoaque.jpg +0 -0
  543. data/vendor/assets/components/highlightjs/styles/purebasic.css +96 -0
  544. data/vendor/assets/components/highlightjs/styles/qtcreator_dark.css +83 -0
  545. data/vendor/assets/components/highlightjs/styles/qtcreator_light.css +83 -0
  546. data/vendor/assets/components/highlightjs/styles/railscasts.css +106 -0
  547. data/vendor/assets/components/highlightjs/styles/rainbow.css +85 -0
  548. data/vendor/assets/components/highlightjs/styles/routeros.css +108 -0
  549. data/vendor/assets/components/highlightjs/styles/school-book.css +72 -0
  550. data/vendor/assets/components/highlightjs/styles/school-book.png +0 -0
  551. data/vendor/assets/components/highlightjs/styles/school_book.css +111 -0
  552. data/vendor/assets/components/highlightjs/styles/school_book.png +0 -0
  553. data/vendor/assets/components/highlightjs/styles/solarized-dark.css +84 -0
  554. data/vendor/assets/components/highlightjs/styles/solarized-light.css +84 -0
  555. data/vendor/assets/components/highlightjs/styles/solarized_dark.css +107 -0
  556. data/vendor/assets/components/highlightjs/styles/solarized_light.css +107 -0
  557. data/vendor/assets/components/highlightjs/styles/sunburst.css +102 -0
  558. data/vendor/assets/components/highlightjs/styles/tomorrow-night-blue.css +75 -0
  559. data/vendor/assets/components/highlightjs/styles/tomorrow-night-bright.css +74 -0
  560. data/vendor/assets/components/highlightjs/styles/tomorrow-night-eighties.css +74 -0
  561. data/vendor/assets/components/highlightjs/styles/tomorrow-night.css +75 -0
  562. data/vendor/assets/components/highlightjs/styles/tomorrow.css +72 -0
  563. data/vendor/assets/components/highlightjs/styles/vs.css +68 -0
  564. data/vendor/assets/components/highlightjs/styles/vs2015.css +115 -0
  565. data/vendor/assets/components/highlightjs/styles/xcode.css +93 -0
  566. data/vendor/assets/components/highlightjs/styles/xt256.css +92 -0
  567. data/vendor/assets/components/highlightjs/styles/zenburn.css +80 -0
  568. data/vendor/assets/components/jquery/.bower.json +25 -0
  569. data/vendor/assets/components/jquery/AUTHORS.txt +313 -0
  570. data/vendor/assets/components/jquery/LICENSE.txt +36 -0
  571. data/vendor/assets/components/jquery/README.md +67 -0
  572. data/vendor/assets/components/jquery/bower.json +14 -0
  573. data/vendor/assets/components/jquery/dist/core.js +399 -0
  574. data/vendor/assets/components/jquery/dist/jquery.js +10364 -0
  575. data/vendor/assets/components/jquery/dist/jquery.min.js +2 -0
  576. data/vendor/assets/components/jquery/dist/jquery.min.map +1 -0
  577. data/vendor/assets/components/jquery/dist/jquery.slim.js +8269 -0
  578. data/vendor/assets/components/jquery/dist/jquery.slim.min.js +2 -0
  579. data/vendor/assets/components/jquery/dist/jquery.slim.min.map +1 -0
  580. data/vendor/assets/components/jquery/external/sizzle/LICENSE.txt +36 -0
  581. data/vendor/assets/components/jquery/external/sizzle/dist/sizzle.js +2272 -0
  582. data/vendor/assets/components/jquery/external/sizzle/dist/sizzle.min.js +3 -0
  583. data/vendor/assets/components/jquery/external/sizzle/dist/sizzle.min.map +1 -0
  584. data/vendor/assets/components/jquery/src/.eslintrc.json +5 -0
  585. data/vendor/assets/components/jquery/src/ajax.js +856 -0
  586. data/vendor/assets/components/jquery/src/ajax/jsonp.js +103 -0
  587. data/vendor/assets/components/jquery/src/ajax/load.js +77 -0
  588. data/vendor/assets/components/jquery/src/ajax/parseXML.js +30 -0
  589. data/vendor/assets/components/jquery/src/ajax/script.js +77 -0
  590. data/vendor/assets/components/jquery/src/ajax/var/location.js +5 -0
  591. data/vendor/assets/components/jquery/src/ajax/var/nonce.js +5 -0
  592. data/vendor/assets/components/jquery/src/ajax/var/rquery.js +5 -0
  593. data/vendor/assets/components/jquery/src/ajax/xhr.js +170 -0
  594. data/vendor/assets/components/jquery/src/attributes.js +13 -0
  595. data/vendor/assets/components/jquery/src/attributes/attr.js +141 -0
  596. data/vendor/assets/components/jquery/src/attributes/classes.js +186 -0
  597. data/vendor/assets/components/jquery/src/attributes/prop.js +143 -0
  598. data/vendor/assets/components/jquery/src/attributes/support.js +33 -0
  599. data/vendor/assets/components/jquery/src/attributes/val.js +191 -0
  600. data/vendor/assets/components/jquery/src/callbacks.js +236 -0
  601. data/vendor/assets/components/jquery/src/core.js +399 -0
  602. data/vendor/assets/components/jquery/src/core/DOMEval.js +30 -0
  603. data/vendor/assets/components/jquery/src/core/access.js +72 -0
  604. data/vendor/assets/components/jquery/src/core/camelCase.js +23 -0
  605. data/vendor/assets/components/jquery/src/core/init.js +129 -0
  606. data/vendor/assets/components/jquery/src/core/nodeName.js +13 -0
  607. data/vendor/assets/components/jquery/src/core/parseHTML.js +65 -0
  608. data/vendor/assets/components/jquery/src/core/ready-no-deferred.js +97 -0
  609. data/vendor/assets/components/jquery/src/core/ready.js +86 -0
  610. data/vendor/assets/components/jquery/src/core/readyException.js +13 -0
  611. data/vendor/assets/components/jquery/src/core/stripAndCollapse.js +14 -0
  612. data/vendor/assets/components/jquery/src/core/support.js +20 -0
  613. data/vendor/assets/components/jquery/src/core/toType.js +20 -0
  614. data/vendor/assets/components/jquery/src/core/var/rsingleTag.js +6 -0
  615. data/vendor/assets/components/jquery/src/css.js +481 -0
  616. data/vendor/assets/components/jquery/src/css/addGetHookIf.js +26 -0
  617. data/vendor/assets/components/jquery/src/css/adjustCSS.js +73 -0
  618. data/vendor/assets/components/jquery/src/css/curCSS.js +65 -0
  619. data/vendor/assets/components/jquery/src/css/hiddenVisibleSelectors.js +15 -0
  620. data/vendor/assets/components/jquery/src/css/showHide.js +105 -0
  621. data/vendor/assets/components/jquery/src/css/support.js +102 -0
  622. data/vendor/assets/components/jquery/src/css/var/cssExpand.js +5 -0
  623. data/vendor/assets/components/jquery/src/css/var/getStyles.js +17 -0
  624. data/vendor/assets/components/jquery/src/css/var/isHiddenWithinTree.js +34 -0
  625. data/vendor/assets/components/jquery/src/css/var/rboxStyle.js +7 -0
  626. data/vendor/assets/components/jquery/src/css/var/rnumnonpx.js +7 -0
  627. data/vendor/assets/components/jquery/src/css/var/swap.js +26 -0
  628. data/vendor/assets/components/jquery/src/data.js +180 -0
  629. data/vendor/assets/components/jquery/src/data/Data.js +162 -0
  630. data/vendor/assets/components/jquery/src/data/var/acceptData.js +19 -0
  631. data/vendor/assets/components/jquery/src/data/var/dataPriv.js +7 -0
  632. data/vendor/assets/components/jquery/src/data/var/dataUser.js +7 -0
  633. data/vendor/assets/components/jquery/src/deferred.js +399 -0
  634. data/vendor/assets/components/jquery/src/deferred/exceptionHook.js +21 -0
  635. data/vendor/assets/components/jquery/src/deprecated.js +98 -0
  636. data/vendor/assets/components/jquery/src/dimensions.js +57 -0
  637. data/vendor/assets/components/jquery/src/effects.js +702 -0
  638. data/vendor/assets/components/jquery/src/effects/Tween.js +123 -0
  639. data/vendor/assets/components/jquery/src/effects/animatedSelector.js +15 -0
  640. data/vendor/assets/components/jquery/src/event.js +748 -0
  641. data/vendor/assets/components/jquery/src/event/ajax.js +22 -0
  642. data/vendor/assets/components/jquery/src/event/alias.js +29 -0
  643. data/vendor/assets/components/jquery/src/event/focusin.js +55 -0
  644. data/vendor/assets/components/jquery/src/event/support.js +11 -0
  645. data/vendor/assets/components/jquery/src/event/trigger.js +199 -0
  646. data/vendor/assets/components/jquery/src/exports/amd.js +26 -0
  647. data/vendor/assets/components/jquery/src/exports/global.js +34 -0
  648. data/vendor/assets/components/jquery/src/jquery.js +40 -0
  649. data/vendor/assets/components/jquery/src/manipulation.js +486 -0
  650. data/vendor/assets/components/jquery/src/manipulation/_evalUrl.js +23 -0
  651. data/vendor/assets/components/jquery/src/manipulation/buildFragment.js +105 -0
  652. data/vendor/assets/components/jquery/src/manipulation/getAll.js +32 -0
  653. data/vendor/assets/components/jquery/src/manipulation/setGlobalEval.js +22 -0
  654. data/vendor/assets/components/jquery/src/manipulation/support.js +35 -0
  655. data/vendor/assets/components/jquery/src/manipulation/var/rcheckableType.js +5 -0
  656. data/vendor/assets/components/jquery/src/manipulation/var/rscriptType.js +5 -0
  657. data/vendor/assets/components/jquery/src/manipulation/var/rtagName.js +5 -0
  658. data/vendor/assets/components/jquery/src/manipulation/wrapMap.js +29 -0
  659. data/vendor/assets/components/jquery/src/offset.js +233 -0
  660. data/vendor/assets/components/jquery/src/queue.js +145 -0
  661. data/vendor/assets/components/jquery/src/queue/delay.js +24 -0
  662. data/vendor/assets/components/jquery/src/selector-native.js +237 -0
  663. data/vendor/assets/components/jquery/src/selector-sizzle.js +19 -0
  664. data/vendor/assets/components/jquery/src/selector.js +3 -0
  665. data/vendor/assets/components/jquery/src/serialize.js +132 -0
  666. data/vendor/assets/components/jquery/src/traversing.js +191 -0
  667. data/vendor/assets/components/jquery/src/traversing/findFilter.js +97 -0
  668. data/vendor/assets/components/jquery/src/traversing/var/dir.js +22 -0
  669. data/vendor/assets/components/jquery/src/traversing/var/rneedsContext.js +8 -0
  670. data/vendor/assets/components/jquery/src/traversing/var/siblings.js +17 -0
  671. data/vendor/assets/components/jquery/src/var/ObjectFunctionString.js +7 -0
  672. data/vendor/assets/components/jquery/src/var/arr.js +5 -0
  673. data/vendor/assets/components/jquery/src/var/class2type.js +6 -0
  674. data/vendor/assets/components/jquery/src/var/concat.js +7 -0
  675. data/vendor/assets/components/jquery/src/var/document.js +5 -0
  676. data/vendor/assets/components/jquery/src/var/documentElement.js +7 -0
  677. data/vendor/assets/components/jquery/src/var/fnToString.js +7 -0
  678. data/vendor/assets/components/jquery/src/var/getProto.js +5 -0
  679. data/vendor/assets/components/jquery/src/var/hasOwn.js +7 -0
  680. data/vendor/assets/components/jquery/src/var/indexOf.js +7 -0
  681. data/vendor/assets/components/jquery/src/var/isFunction.js +13 -0
  682. data/vendor/assets/components/jquery/src/var/isWindow.js +8 -0
  683. data/vendor/assets/components/jquery/src/var/pnum.js +5 -0
  684. data/vendor/assets/components/jquery/src/var/push.js +7 -0
  685. data/vendor/assets/components/jquery/src/var/rcssNum.js +9 -0
  686. data/vendor/assets/components/jquery/src/var/rnothtmlwhite.js +8 -0
  687. data/vendor/assets/components/jquery/src/var/slice.js +7 -0
  688. data/vendor/assets/components/jquery/src/var/support.js +6 -0
  689. data/vendor/assets/components/jquery/src/var/toString.js +7 -0
  690. data/vendor/assets/components/jquery/src/wrap.js +78 -0
  691. data/vendor/assets/components/markdown-it/.bower.json +38 -0
  692. data/vendor/assets/components/markdown-it/CHANGELOG.md +442 -0
  693. data/vendor/assets/components/markdown-it/CONTRIBUTING.md +15 -0
  694. data/vendor/assets/components/markdown-it/LICENSE +22 -0
  695. data/vendor/assets/components/markdown-it/Procfile +1 -0
  696. data/vendor/assets/components/markdown-it/README.md +294 -0
  697. data/vendor/assets/components/markdown-it/bin/markdown-it.js +113 -0
  698. data/vendor/assets/components/markdown-it/bower.json +28 -0
  699. data/vendor/assets/components/markdown-it/dist/markdown-it.js +7963 -0
  700. data/vendor/assets/components/markdown-it/dist/markdown-it.min.js +1 -0
  701. data/vendor/assets/components/markdown-it/package.json +64 -0
  702. data/vendor/assets/components/plantuml-encoder/.bower.json +29 -0
  703. data/vendor/assets/components/plantuml-encoder/LICENSE +19 -0
  704. data/vendor/assets/components/plantuml-encoder/README.md +38 -0
  705. data/vendor/assets/components/plantuml-encoder/bower.json +20 -0
  706. data/vendor/assets/components/plantuml-encoder/dist/plantuml-encoder.js +3994 -0
  707. data/vendor/assets/components/plantuml-encoder/dist/plantuml-encoder.min.js +1 -0
  708. data/vendor/assets/components/plantuml-encoder/package.json +33 -0
  709. data/vendor/assets/components/raphael/.bower.json +45 -0
  710. data/vendor/assets/components/raphael/bower.json +31 -0
  711. data/vendor/assets/components/raphael/dev/banner.txt +8 -0
  712. data/vendor/assets/components/raphael/dev/raphael.amd.js +14 -0
  713. data/vendor/assets/components/raphael/dev/raphael.core.js +5413 -0
  714. data/vendor/assets/components/raphael/dev/raphael.svg.js +1428 -0
  715. data/vendor/assets/components/raphael/dev/raphael.vml.js +1010 -0
  716. data/vendor/assets/components/raphael/dev/test/svg/dom.js +295 -0
  717. data/vendor/assets/components/raphael/dev/test/vml/dom.js +5 -0
  718. data/vendor/assets/components/raphael/license.txt +21 -0
  719. data/vendor/assets/components/raphael/raphael.js +8330 -0
  720. data/vendor/assets/components/raphael/raphael.min.js +3 -0
  721. data/vendor/assets/components/raphael/raphael.no-deps.js +7959 -0
  722. data/vendor/assets/components/raphael/raphael.no-deps.min.js +3 -0
  723. data/vendor/assets/components/raphael/webpack.config.js +62 -0
  724. data/vendor/assets/components/squire-rte/.bower.json +34 -0
  725. data/vendor/assets/components/squire-rte/Demo.html +143 -0
  726. data/vendor/assets/components/squire-rte/LICENSE +21 -0
  727. data/vendor/assets/components/squire-rte/Makefile +22 -0
  728. data/vendor/assets/components/squire-rte/README.md +473 -0
  729. data/vendor/assets/components/squire-rte/bower.json +24 -0
  730. data/vendor/assets/components/squire-rte/build/document.html +54 -0
  731. data/vendor/assets/components/squire-rte/build/squire-raw.js +4722 -0
  732. data/vendor/assets/components/squire-rte/build/squire.js +2 -0
  733. data/vendor/assets/components/squire-rte/package.json +31 -0
  734. data/vendor/assets/components/squire-rte/source/Clean.js +358 -0
  735. data/vendor/assets/components/squire-rte/source/Clipboard.js +331 -0
  736. data/vendor/assets/components/squire-rte/source/Constants.js +60 -0
  737. data/vendor/assets/components/squire-rte/source/Editor.js +2201 -0
  738. data/vendor/assets/components/squire-rte/source/KeyHandlers.js +502 -0
  739. data/vendor/assets/components/squire-rte/source/Node.js +553 -0
  740. data/vendor/assets/components/squire-rte/source/Range.js +540 -0
  741. data/vendor/assets/components/squire-rte/source/TreeWalker.js +118 -0
  742. data/vendor/assets/components/squire-rte/source/document.html +54 -0
  743. data/vendor/assets/components/squire-rte/source/exports.js +42 -0
  744. data/vendor/assets/components/squire-rte/source/intro.js +6 -0
  745. data/vendor/assets/components/squire-rte/source/outro.js +22 -0
  746. data/vendor/assets/components/to-mark/.bower.json +35 -0
  747. data/vendor/assets/components/to-mark/bower.json +22 -0
  748. data/vendor/assets/components/to-mark/demo/demo.html +24 -0
  749. data/vendor/assets/components/to-mark/demo/demo2.html +94 -0
  750. data/vendor/assets/components/to-mark/dist/to-mark.js +1283 -0
  751. data/vendor/assets/components/to-mark/dist/to-mark.min.js +1 -0
  752. data/vendor/assets/components/to-mark/gulpfile.js +112 -0
  753. data/vendor/assets/components/to-mark/karma.conf.js +260 -0
  754. data/vendor/assets/components/to-mark/package-lock.json +13061 -0
  755. data/vendor/assets/components/to-mark/package.json +53 -0
  756. data/vendor/assets/components/tui-chart/.bower.json +44 -0
  757. data/vendor/assets/components/tui-chart/CODE_OF_CONDUCT.md +73 -0
  758. data/vendor/assets/components/tui-chart/CONTRIBUTING.md +91 -0
  759. data/vendor/assets/components/tui-chart/LICENSE +21 -0
  760. data/vendor/assets/components/tui-chart/README.md +142 -0
  761. data/vendor/assets/components/tui-chart/bower.json +33 -0
  762. data/vendor/assets/components/tui-chart/dist/maps/china.js +10 -0
  763. data/vendor/assets/components/tui-chart/dist/maps/japan.js +10 -0
  764. data/vendor/assets/components/tui-chart/dist/maps/singapore.js +10 -0
  765. data/vendor/assets/components/tui-chart/dist/maps/south-korea.js +10 -0
  766. data/vendor/assets/components/tui-chart/dist/maps/taiwan.js +10 -0
  767. data/vendor/assets/components/tui-chart/dist/maps/thailand.js +10 -0
  768. data/vendor/assets/components/tui-chart/dist/maps/usa.js +10 -0
  769. data/vendor/assets/components/tui-chart/dist/maps/world.js +11 -0
  770. data/vendor/assets/components/tui-chart/dist/tui-chart.css +704 -0
  771. data/vendor/assets/components/tui-chart/dist/tui-chart.js +40567 -0
  772. data/vendor/assets/components/tui-chart/dist/tui-chart.min.css +10 -0
  773. data/vendor/assets/components/tui-chart/dist/tui-chart.min.js +20 -0
  774. data/vendor/assets/components/tui-chart/docs/COMMIT_MESSAGE_CONVENTION.md +49 -0
  775. data/vendor/assets/components/tui-chart/docs/ISSUE_TEMPLATE.md +24 -0
  776. data/vendor/assets/components/tui-chart/docs/PULL_REQUEST_TEMPLATE.md +42 -0
  777. data/vendor/assets/components/tui-chart/docs/README.md +11 -0
  778. data/vendor/assets/components/tui-chart/docs/wiki/README.md +27 -0
  779. data/vendor/assets/components/tui-chart/docs/wiki/_Sidebar.md +31 -0
  780. data/vendor/assets/components/tui-chart/docs/wiki/chart-export-menu.md +66 -0
  781. data/vendor/assets/components/tui-chart/docs/wiki/chart-type-radial.md +121 -0
  782. data/vendor/assets/components/tui-chart/docs/wiki/chart-types-bar,column.md +312 -0
  783. data/vendor/assets/components/tui-chart/docs/wiki/chart-types-bubble.md +63 -0
  784. data/vendor/assets/components/tui-chart/docs/wiki/chart-types-column-line-combo.md +104 -0
  785. data/vendor/assets/components/tui-chart/docs/wiki/chart-types-heatmap.md +39 -0
  786. data/vendor/assets/components/tui-chart/docs/wiki/chart-types-line,area.md +333 -0
  787. data/vendor/assets/components/tui-chart/docs/wiki/chart-types-line-area-combo.md +78 -0
  788. data/vendor/assets/components/tui-chart/docs/wiki/chart-types-line-scatter-combo.md +101 -0
  789. data/vendor/assets/components/tui-chart/docs/wiki/chart-types-map.md +153 -0
  790. data/vendor/assets/components/tui-chart/docs/wiki/chart-types-pie-donut-combo.md +98 -0
  791. data/vendor/assets/components/tui-chart/docs/wiki/chart-types-pie.md +186 -0
  792. data/vendor/assets/components/tui-chart/docs/wiki/chart-types-scatter.md +58 -0
  793. data/vendor/assets/components/tui-chart/docs/wiki/chart-types-treemap.md +158 -0
  794. data/vendor/assets/components/tui-chart/docs/wiki/code-table-of-china-map.md +38 -0
  795. data/vendor/assets/components/tui-chart/docs/wiki/code-table-of-japan-map.md +51 -0
  796. data/vendor/assets/components/tui-chart/docs/wiki/code-table-of-singapore-map.md +9 -0
  797. data/vendor/assets/components/tui-chart/docs/wiki/code-table-of-south-korea-map.md +21 -0
  798. data/vendor/assets/components/tui-chart/docs/wiki/code-table-of-taiwan-map.md +26 -0
  799. data/vendor/assets/components/tui-chart/docs/wiki/code-table-of-thailand-map.md +82 -0
  800. data/vendor/assets/components/tui-chart/docs/wiki/code-table-of-usa-map.md +55 -0
  801. data/vendor/assets/components/tui-chart/docs/wiki/code-table-of-world-map.md +180 -0
  802. data/vendor/assets/components/tui-chart/docs/wiki/features-axes.md +209 -0
  803. data/vendor/assets/components/tui-chart/docs/wiki/features-chart.md +157 -0
  804. data/vendor/assets/components/tui-chart/docs/wiki/features-circle-legend.md +20 -0
  805. data/vendor/assets/components/tui-chart/docs/wiki/features-legend.md +89 -0
  806. data/vendor/assets/components/tui-chart/docs/wiki/features-plot.md +141 -0
  807. data/vendor/assets/components/tui-chart/docs/wiki/features-series.md +240 -0
  808. data/vendor/assets/components/tui-chart/docs/wiki/features-tooltip.md +223 -0
  809. data/vendor/assets/components/tui-chart/docs/wiki/getting-started.md +74 -0
  810. data/vendor/assets/components/tui-chart/docs/wiki/import-chart-data-from-existing-table-element.md +150 -0
  811. data/vendor/assets/components/tui-chart/docs/wiki/table-of-supported-options.md +344 -0
  812. data/vendor/assets/components/tui-chart/docs/wiki/theme.md +338 -0
  813. data/vendor/assets/components/tui-chart/package-lock.json +8881 -0
  814. data/vendor/assets/components/tui-code-snippet/.bower.json +31 -0
  815. data/vendor/assets/components/tui-code-snippet/LICENSE +21 -0
  816. data/vendor/assets/components/tui-code-snippet/README.md +109 -0
  817. data/vendor/assets/components/tui-code-snippet/bower.json +20 -0
  818. data/vendor/assets/components/tui-code-snippet/demo/postBridge/README.md +26 -0
  819. data/vendor/assets/components/tui-code-snippet/demo/postBridge/public/popup.html +27 -0
  820. data/vendor/assets/components/tui-code-snippet/demo/postBridge/public/postBridge.html +31 -0
  821. data/vendor/assets/components/tui-code-snippet/demo/postBridge/server.js +28 -0
  822. data/vendor/assets/components/tui-code-snippet/dist/tui-code-snippet.js +4228 -0
  823. data/vendor/assets/components/tui-code-snippet/dist/tui-code-snippet.min.js +7 -0
  824. data/vendor/assets/components/tui-code-snippet/package-lock.json +6038 -0
  825. data/vendor/assets/components/tui-color-picker/.bower.json +37 -0
  826. data/vendor/assets/components/tui-color-picker/ISSUE_TEMPLATE.md +26 -0
  827. data/vendor/assets/components/tui-color-picker/LICENSE +34 -0
  828. data/vendor/assets/components/tui-color-picker/README.md +69 -0
  829. data/vendor/assets/components/tui-color-picker/bower.json +26 -0
  830. data/vendor/assets/components/tui-color-picker/dist/tui-color-picker.css +148 -0
  831. data/vendor/assets/components/tui-color-picker/dist/tui-color-picker.js +3146 -0
  832. data/vendor/assets/components/tui-color-picker/dist/tui-color-picker.min.css +7 -0
  833. data/vendor/assets/components/tui-color-picker/dist/tui-color-picker.min.js +9 -0
  834. data/vendor/assets/components/tui-color-picker/package-lock.json +8440 -0
  835. data/vendor/assets/components/tui-editor/.bower.json +71 -0
  836. data/vendor/assets/components/tui-editor/CODE_OF_CONDUCT.md +73 -0
  837. data/vendor/assets/components/tui-editor/CONTRIBUTING.md +92 -0
  838. data/vendor/assets/components/tui-editor/LICENSE +21 -0
  839. data/vendor/assets/components/tui-editor/README.md +204 -0
  840. data/vendor/assets/components/tui-editor/bower.json +59 -0
  841. data/vendor/assets/components/tui-editor/dist/tui-editor-Editor-all.js +36850 -0
  842. data/vendor/assets/components/tui-editor/dist/tui-editor-Editor-all.min.js +13 -0
  843. data/vendor/assets/components/tui-editor/dist/tui-editor-Editor.js +24646 -0
  844. data/vendor/assets/components/tui-editor/dist/tui-editor-Editor.min.js +7 -0
  845. data/vendor/assets/components/tui-editor/dist/tui-editor-Viewer-all.js +14768 -0
  846. data/vendor/assets/components/tui-editor/dist/tui-editor-Viewer-all.min.js +13 -0
  847. data/vendor/assets/components/tui-editor/dist/tui-editor-Viewer.js +3686 -0
  848. data/vendor/assets/components/tui-editor/dist/tui-editor-Viewer.min.js +7 -0
  849. data/vendor/assets/components/tui-editor/dist/tui-editor-contents.css +239 -0
  850. data/vendor/assets/components/tui-editor/dist/tui-editor-contents.min.css +1 -0
  851. data/vendor/assets/components/tui-editor/dist/tui-editor-extChart.js +7040 -0
  852. data/vendor/assets/components/tui-editor/dist/tui-editor-extChart.min.js +13 -0
  853. data/vendor/assets/components/tui-editor/dist/tui-editor-extColorSyntax.js +472 -0
  854. data/vendor/assets/components/tui-editor/dist/tui-editor-extColorSyntax.min.js +7 -0
  855. data/vendor/assets/components/tui-editor/dist/tui-editor-extScrollSync.js +1241 -0
  856. data/vendor/assets/components/tui-editor/dist/tui-editor-extScrollSync.min.js +7 -0
  857. data/vendor/assets/components/tui-editor/dist/tui-editor-extTable.js +3930 -0
  858. data/vendor/assets/components/tui-editor/dist/tui-editor-extTable.min.js +7 -0
  859. data/vendor/assets/components/tui-editor/dist/tui-editor-extUML.js +212 -0
  860. data/vendor/assets/components/tui-editor/dist/tui-editor-extUML.min.js +7 -0
  861. data/vendor/assets/components/tui-editor/dist/tui-editor.css +1166 -0
  862. data/vendor/assets/components/tui-editor/dist/tui-editor.min.css +1 -0
  863. data/vendor/assets/components/tui-editor/docs/COMMIT_MESSAGE_CONVENTION.md +49 -0
  864. data/vendor/assets/components/tui-editor/docs/PULL_REQUEST_TEMPLATE.md +41 -0
  865. data/vendor/assets/components/tui-editor/docs/README.md +13 -0
  866. data/vendor/assets/components/tui-editor/docs/getting-started-with-bower.md +93 -0
  867. data/vendor/assets/components/tui-editor/docs/getting-started.md +76 -0
  868. data/vendor/assets/components/tui-editor/docs/using-extensions.md +91 -0
  869. data/vendor/assets/components/tui-editor/docs/writing-your-own-extension.md +167 -0
  870. data/vendor/assets/components/tui-editor/examples/example00-demo.html +85 -0
  871. data/vendor/assets/components/tui-editor/examples/example01-basic.html +37 -0
  872. data/vendor/assets/components/tui-editor/examples/example02-viewer-basic.html +68 -0
  873. data/vendor/assets/components/tui-editor/examples/example03-jquery.html +36 -0
  874. data/vendor/assets/components/tui-editor/examples/example04-viewer-jquery.html +67 -0
  875. data/vendor/assets/components/tui-editor/examples/example05-scrollsync.html +77 -0
  876. data/vendor/assets/components/tui-editor/examples/example06-colorsyntax.html +44 -0
  877. data/vendor/assets/components/tui-editor/examples/example07-table.html +48 -0
  878. data/vendor/assets/components/tui-editor/examples/example08-uml.html +69 -0
  879. data/vendor/assets/components/tui-editor/examples/example09-multiple-extensions.html +85 -0
  880. data/vendor/assets/components/tui-editor/examples/example10-viewer-multiple-extensions.html +86 -0
  881. data/vendor/assets/components/tui-editor/examples/example11-chart.html +60 -0
  882. data/vendor/assets/components/tui-editor/examples/example12-writing-extension.html +66 -0
  883. data/vendor/assets/components/tui-editor/examples/examples.json +41 -0
  884. data/vendor/assets/components/tui-editor/examples/explain.css +7 -0
  885. data/vendor/assets/components/tui-editor/package-lock.json +13289 -0
  886. data/vendor/assets/components/tui-editor/package.json +90 -0
  887. metadata +956 -0
@@ -0,0 +1,13 @@
1
+ /*!
2
+ * tui-editor
3
+ * @version 1.0.2
4
+ * @author NHN Ent. FE Development Lab <dl_javascript@nhnent.com> (https://nhnent.github.io/tui.editor/)
5
+ * @license MIT
6
+ */
7
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("jquery"),require("tui-code-snippet"),require("to-mark"),require("tui-chart"),require("markdown-it"),require("highlight.js"),require("tui-color-picker"),require("plantuml-encoder")):"function"==typeof define&&define.amd?define(["jquery","tui-code-snippet","to-mark","tui-chart","markdown-it","highlight.js","tui-color-picker","plantuml-encoder"],t):"object"==typeof exports?exports.Editor=t(require("jquery"),require("tui-code-snippet"),require("to-mark"),require("tui-chart"),require("markdown-it"),require("highlight.js"),require("tui-color-picker"),require("plantuml-encoder")):(e.tui=e.tui||{},e.tui.Editor=t(e.$,e.tui&&e.tui.util,e.toMark,e.tui&&e.tui.chart,e.markdownit,e.hljs,e.tui&&e.tui.colorPicker,e.plantumlEncoder))}("undefined"!=typeof self?self:this,function(e,t,n,r,o,a,i,u){return function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};return t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="dist/",t(t.s=27)}([function(t,n){t.exports=e},function(e,n){e.exports=t},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=void 0;try{r=n(!function(){var e=new Error('Cannot find module "../editor"');throw e.code="MODULE_NOT_FOUND",e}())}catch(e){}if(!r)try{r=n(16)}catch(e){}t.default=r},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t,n){var r=(0,w.default)(e),o=r.attr("colspan"),a=r.attr("rowspan"),i=e.nodeName;if("TH"!==i&&"TD"!==i)return null;var u={nodeName:e.nodeName,colspan:o?parseInt(o,10):1,rowspan:a?parseInt(a,10):1,content:r.html(),elementIndex:{rowIndex:t,colIndex:n}};return"TH"===e.nodeName&&e.align&&(u.align=e.align),u}function a(e,t,n,r){var o=t.colspan,a=t.rowspan,i=t.nodeName,u=o>1,l=a>1;if(u||l){var s=n+a,c=r+o;E.default.range(n,s).forEach(function(t){e[t]=e[t]||[],E.default.range(r,c).forEach(function(o){var a={nodeName:i};t===n&&o===r||(u&&(a.colMergeWith=r),l&&(a.rowMergeWith=n),e[t][o]=a)})})}}function i(e){var t=[];return e.find("tr").each(function(e,n){var r=0;t[e]=t[e]||[],(0,w.default)(n).children().each(function(n,i){var u=o(i,e,n);if(u){for(var l=n+r;t[e][l];)l+=1,r+=1;t[e][l]=u,a(t,u,e,l)}})}),e[0].className&&(t.className=e[0].className),t}function u(e){var t=[];return e.forEach(function(e,n){var r=[];e.forEach(function(e,t){E.default.isUndefined(e.colMergeWith)&&E.default.isUndefined(e.rowMergeWith)&&r.push({rowIndex:n,colIndex:t})}),t.push(r)}),t}function l(e){var t=e[0];return t.map(function(e){return E.default.isExisty(e.colMergeWith)?t[e.colMergeWith].align:e.align})}function s(e,t){var n=l(e),r=t.map(function(t){return t.map(function(t){var r=t.rowIndex,o=t.colIndex;return E.default.extend({align:n[o]},e[r][o])})});return e.className&&(r.className=e.className),r}function c(e,t,n){return{nodeName:n||"TD",colspan:1,rowspan:1,content:k,elementIndex:{rowIndex:e,colIndex:t}}}function f(e){var t=e.closest("tr"),n=t.prevAll().length;return"TBODY"===t.parent()[0].nodeName&&(n+=1),n}function d(e){return e.closest("td, th").prevAll().length}function h(e,t){var n=f(t),r=d(t);return e[n][r]}function p(e,t,n){var r=e[t][n],o=t;return r.rowspan>1&&(o+=r.rowspan-1),o}function g(e,t,n){var r=e[t][n],o=n;return r.colspan>1&&(o+=r.colspan-1),o}function v(e,t,n){var r=e[t][n];return t=E.default.isExisty(r.rowMergeWith)?r.rowMergeWith:t,n=E.default.isExisty(r.colMergeWith)?r.colMergeWith:n,e[t][n].elementIndex}function m(e,t){e.forEach(function(e,n){var r=e.length,o=e[0].nodeName;E.default.range(r,t).forEach(function(t){e.push(c(n,t,o))})})}function b(e){var t=e[0],n=t.length,r=!0;if(!n&&e[1])E.default.range(0,e[1].length).forEach(function(e){t.push(c(0,e,"TH"))});else if("TH"!==e[0][0].nodeName){var o,a=E.default.range(0,n).map(function(e){return c(0,e,"TH")});(o=[]).concat.apply(o,e).forEach(function(e){e.elementIndex&&(e.elementIndex.rowIndex+=1)}),e.unshift(a)}else if(1===e.length){var i=E.default.range(0,n).map(function(e){return c(1,e,"TD")});e.push(i)}else r=!1;return r}Object.defineProperty(t,"__esModule",{value:!0}),t.createTableData=i,t.createCellIndexData=u;var y=n(0),w=r(y),_=n(1),E=r(_),k=E.default.browser.msie?"":"<br>";t.default={createTableData:i,createCellIndexData:u,createRenderData:s,findElementRowIndex:f,findElementColIndex:d,findCellIndex:h,createBasicCell:c,findRowMergedLastIndex:p,findColMergedLastIndex:g,findElementIndex:v,stuffCellsIntoIncompleteRow:m,addTbodyOrTheadIfNeed:b}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){var t=e.colspan>1?' colspan="'+e.colspan+'"':"";return t+=e.rowspan>1?' rowspan="'+e.rowspan+'"':"",t+=e.align?' align="'+e.align+'"':"","<"+e.nodeName+t+">"+e.content+"</"+e.nodeName+">"}function a(e,t){var n="";return e.length&&(n=e.map(function(e){return"<tr>"+e.map(o).join("")+"</tr>"}).join(""),n="<"+t+">"+n+"</"+t+">"),n}function i(e){var t=[e[0]],n=e.slice(1),r=a(t,"THEAD"),o=a(n,"TBODY");return"<table"+(e.className?' class="'+e.className+'"':"")+">"+(r+o)+"</renderData>"}function u(e,t){var n=d.default.createCellIndexData(t),r=d.default.createRenderData(t,n),o=(0,c.default)(i(r));return e.replaceWith(o),o}function l(e,t,n){t.selectNodeContents(n),t.collapse(!0),e.setSelection(t)}Object.defineProperty(t,"__esModule",{value:!0});var s=n(0),c=r(s),f=n(3),d=r(f);t.default={createTableHtml:i,replaceTable:u,focusToCell:l}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t,n){var r=g.default.createCellIndexData(e),o=g.default.findCellIndex(r,t),a=g.default.findCellIndex(r,n),i=void 0,u=void 0,l=void 0,s=void 0;return o.rowIndex>a.rowIndex?(i=a.rowIndex,u=o.rowIndex):(i=o.rowIndex,u=a.rowIndex),o.colIndex>a.colIndex?(l=a.colIndex,s=o.colIndex):(l=o.colIndex,s=a.colIndex),{start:{rowIndex:i,colIndex:l},end:{rowIndex:u,colIndex:s}}}function a(e,t,n){var r=t[n].rowIndex,o=e[r];h.default.range(t.start.colIndex,t.end.colIndex+1).forEach(function(n){var a=o[n],i=a.rowMergeWith,u=-1;h.default.isExisty(i)?(i<t.start.rowIndex&&(t.start.rowIndex=i),u=i+e[i][n].rowspan-1):a.rowspan>1&&(u=r+a.rowspan-1),u>t.end.rowIndex&&(t.end.rowIndex=u)})}function i(e,t,n,r){var o=e[n],a=o[r],i=a.colMergeWith,u=-1;h.default.isExisty(i)?(i<t.start.colIndex&&(t.start.colIndex=i),u=i+o[i].colspan-1):a.colspan>1&&(u=r+a.colspan-1),u>t.end.colIndex&&(t.end.colIndex=u)}function u(e,t){for(var n="";n!==JSON.stringify(t);)n=JSON.stringify(t),a(e,t,"start"),a(e,t,"end"),h.default.range(t.start.rowIndex,t.end.rowIndex+1).forEach(function(n){i(e,t,n,t.start.colIndex),i(e,t,n,t.end.colIndex)});return t}function l(e,t,n){return u(e,o(e,t,n))}function s(e,t,n){var r=g.default.createCellIndexData(e),o={};if(t.length){var a=g.default.findCellIndex(r,t.first()),i=h.default.extend({},a);t.each(function(t,n){var o=g.default.findCellIndex(r,(0,f.default)(n)),a=e[o.rowIndex][o.colIndex],u=o.rowIndex+a.rowspan-1,l=o.colIndex+a.colspan-1;i.rowIndex=Math.max(i.rowIndex,u),i.colIndex=Math.max(i.colIndex,l)}),o.start=a,o.end=i}else{var u=g.default.findCellIndex(r,n);o.start=u,o.end=h.default.extend({},u)}return o}Object.defineProperty(t,"__esModule",{value:!0});var c=n(0),f=r(c),d=n(1),h=r(d),p=n(3),g=r(p);t.default={findSelectionRange:l,getTableSelectionRange:s}},function(e,t,n){"use strict";function r(e){if(!(this instanceof r))return new r(e);s.call(this,e),c.call(this,e),e&&!1===e.readable&&(this.readable=!1),e&&!1===e.writable&&(this.writable=!1),this.allowHalfOpen=!0,e&&!1===e.allowHalfOpen&&(this.allowHalfOpen=!1),this.once("end",o)}function o(){this.allowHalfOpen||this._writableState.ended||i(a,this)}function a(e){e.end()}var i=n(11),u=Object.keys||function(e){var t=[];for(var n in e)t.push(n);return t};e.exports=r;var l=n(9);l.inherits=n(7);var s=n(20),c=n(15);l.inherits(r,s);for(var f=u(c.prototype),d=0;d<f.length;d++){var h=f[d];r.prototype[h]||(r.prototype[h]=c.prototype[h])}Object.defineProperty(r.prototype,"destroyed",{get:function(){return void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed&&this._writableState.destroyed)},set:function(e){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=e,this._writableState.destroyed=e)}}),r.prototype._destroy=function(e,t){this.push(null),this.end(),i(t,e)}},function(e,t){"function"==typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}},function(e,t){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t,n){(function(e){function n(e){return Array.isArray?Array.isArray(e):"[object Array]"===v(e)}function r(e){return"boolean"==typeof e}function o(e){return null===e}function a(e){return null==e}function i(e){return"number"==typeof e}function u(e){return"string"==typeof e}function l(e){return"symbol"==typeof e}function s(e){return void 0===e}function c(e){return"[object RegExp]"===v(e)}function f(e){return"object"==typeof e&&null!==e}function d(e){return"[object Date]"===v(e)}function h(e){return"[object Error]"===v(e)||e instanceof Error}function p(e){return"function"==typeof e}function g(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e}function v(e){return Object.prototype.toString.call(e)}t.isArray=n,t.isBoolean=r,t.isNull=o,t.isNullOrUndefined=a,t.isNumber=i,t.isString=u,t.isSymbol=l,t.isUndefined=s,t.isRegExp=c,t.isObject=f,t.isDate=d,t.isError=h,t.isFunction=p,t.isPrimitive=g,t.isBuffer=e.isBuffer}).call(t,n(23).Buffer)},function(e,t){function n(){throw new Error("setTimeout has not been defined")}function r(){throw new Error("clearTimeout has not been defined")}function o(e){if(c===setTimeout)return setTimeout(e,0);if((c===n||!c)&&setTimeout)return c=setTimeout,setTimeout(e,0);try{return c(e,0)}catch(t){try{return c.call(null,e,0)}catch(t){return c.call(this,e,0)}}}function a(e){if(f===clearTimeout)return clearTimeout(e);if((f===r||!f)&&clearTimeout)return f=clearTimeout,clearTimeout(e);try{return f(e)}catch(t){try{return f.call(null,e)}catch(t){return f.call(this,e)}}}function i(){g&&h&&(g=!1,h.length?p=h.concat(p):v=-1,p.length&&u())}function u(){if(!g){var e=o(i);g=!0;for(var t=p.length;t;){for(h=p,p=[];++v<t;)h&&h[v].run();v=-1,t=p.length}h=null,g=!1,a(e)}}function l(e,t){this.fun=e,this.array=t}function s(){}var c,f,d=e.exports={};!function(){try{c="function"==typeof setTimeout?setTimeout:n}catch(e){c=n}try{f="function"==typeof clearTimeout?clearTimeout:r}catch(e){f=r}}();var h,p=[],g=!1,v=-1;d.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];p.push(new l(e,t)),1!==p.length||g||o(u)},l.prototype.run=function(){this.fun.apply(null,this.array)},d.title="browser",d.browser=!0,d.env={},d.argv=[],d.version="",d.versions={},d.on=s,d.addListener=s,d.once=s,d.off=s,d.removeListener=s,d.removeAllListeners=s,d.emit=s,d.prependListener=s,d.prependOnceListener=s,d.listeners=function(e){return[]},d.binding=function(e){throw new Error("process.binding is not supported")},d.cwd=function(){return"/"},d.chdir=function(e){throw new Error("process.chdir is not supported")},d.umask=function(){return 0}},function(e,t,n){"use strict";(function(t){function n(e,n,r,o){if("function"!=typeof e)throw new TypeError('"callback" argument must be a function');var a,i,u=arguments.length;switch(u){case 0:case 1:return t.nextTick(e);case 2:return t.nextTick(function(){e.call(null,n)});case 3:return t.nextTick(function(){e.call(null,n,r)});case 4:return t.nextTick(function(){e.call(null,n,r,o)});default:for(a=new Array(u-1),i=0;i<a.length;)a[i++]=arguments[i];return t.nextTick(function(){e.apply(null,a)})}}!t.version||0===t.version.indexOf("v0.")||0===t.version.indexOf("v1.")&&0!==t.version.indexOf("v1.8.")?e.exports=n:e.exports=t.nextTick}).call(t,n(10))},function(e,t,n){function r(e,t){for(var n in e)t[n]=e[n]}function o(e,t,n){return i(e,t,n)}var a=n(23),i=a.Buffer;i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?e.exports=a:(r(a,t),t.Buffer=o),r(i,o),o.from=function(e,t,n){if("number"==typeof e)throw new TypeError("Argument must not be a number");return i(e,t,n)},o.alloc=function(e,t,n){if("number"!=typeof e)throw new TypeError("Argument must be a number");var r=i(e);return void 0!==t?"string"==typeof n?r.fill(t,n):r.fill(t):r.fill(0),r},o.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return i(e)},o.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return a.SlowBuffer(e)}},function(e,t){function n(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function r(e){return"function"==typeof e}function o(e){return"number"==typeof e}function a(e){return"object"==typeof e&&null!==e}function i(e){return void 0===e}e.exports=n,n.EventEmitter=n,n.prototype._events=void 0,n.prototype._maxListeners=void 0,n.defaultMaxListeners=10,n.prototype.setMaxListeners=function(e){if(!o(e)||e<0||isNaN(e))throw TypeError("n must be a positive number");return this._maxListeners=e,this},n.prototype.emit=function(e){var t,n,o,u,l,s;if(this._events||(this._events={}),"error"===e&&(!this._events.error||a(this._events.error)&&!this._events.error.length)){if((t=arguments[1])instanceof Error)throw t;var c=new Error('Uncaught, unspecified "error" event. ('+t+")");throw c.context=t,c}if(n=this._events[e],i(n))return!1;if(r(n))switch(arguments.length){case 1:n.call(this);break;case 2:n.call(this,arguments[1]);break;case 3:n.call(this,arguments[1],arguments[2]);break;default:u=Array.prototype.slice.call(arguments,1),n.apply(this,u)}else if(a(n))for(u=Array.prototype.slice.call(arguments,1),s=n.slice(),o=s.length,l=0;l<o;l++)s[l].apply(this,u);return!0},n.prototype.addListener=function(e,t){var o;if(!r(t))throw TypeError("listener must be a function");return this._events||(this._events={}),this._events.newListener&&this.emit("newListener",e,r(t.listener)?t.listener:t),this._events[e]?a(this._events[e])?this._events[e].push(t):this._events[e]=[this._events[e],t]:this._events[e]=t,a(this._events[e])&&!this._events[e].warned&&(o=i(this._maxListeners)?n.defaultMaxListeners:this._maxListeners)&&o>0&&this._events[e].length>o&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeof console.trace&&console.trace()),this},n.prototype.on=n.prototype.addListener,n.prototype.once=function(e,t){function n(){this.removeListener(e,n),o||(o=!0,t.apply(this,arguments))}if(!r(t))throw TypeError("listener must be a function");var o=!1;return n.listener=t,this.on(e,n),this},n.prototype.removeListener=function(e,t){var n,o,i,u;if(!r(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(n=this._events[e],i=n.length,o=-1,n===t||r(n.listener)&&n.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(a(n)){for(u=i;u-- >0;)if(n[u]===t||n[u].listener&&n[u].listener===t){o=u;break}if(o<0)return this;1===n.length?(n.length=0,delete this._events[e]):n.splice(o,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},n.prototype.removeAllListeners=function(e){var t,n;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)"removeListener"!==t&&this.removeAllListeners(t);return this.removeAllListeners("removeListener"),this._events={},this}if(n=this._events[e],r(n))this.removeListener(e,n);else if(n)for(;n.length;)this.removeListener(e,n[n.length-1]);return delete this._events[e],this},n.prototype.listeners=function(e){return this._events&&this._events[e]?r(this._events[e])?[this._events[e]]:this._events[e].slice():[]},n.prototype.listenerCount=function(e){if(this._events){var t=this._events[e];if(r(t))return 1;if(t)return t.length}return 0},n.listenerCount=function(e,t){return e.listenerCount(t)}},function(e,t,n){t=e.exports=n(20),t.Stream=t,t.Readable=t,t.Writable=n(15),t.Duplex=n(6),t.Transform=n(26),t.PassThrough=n(57)},function(e,t,n){"use strict";(function(t,r,o){function a(e){var t=this;this.next=null,this.entry=null,this.finish=function(){M(t,e)}}function i(e){return N.from(e)}function u(e){return N.isBuffer(e)||e instanceof L}function l(){}function s(e,t){I=I||n(6),e=e||{},this.objectMode=!!e.objectMode,t instanceof I&&(this.objectMode=this.objectMode||!!e.writableObjectMode);var r=e.highWaterMark,o=this.objectMode?16:16384;this.highWaterMark=r||0===r?r:o,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var i=!1===e.decodeStrings;this.decodeStrings=!i,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){b(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new a(this)}function c(e){if(I=I||n(6),!(B.call(c,this)||this instanceof I))return new c(e);this._writableState=new s(e,this),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.final&&(this._final=e.final)),P.call(this)}function f(e,t){var n=new Error("write after end");e.emit("error",n),S(t,n)}function d(e,t,n,r){var o=!0,a=!1;return null===n?a=new TypeError("May not write null values to stream"):"string"==typeof n||void 0===n||t.objectMode||(a=new TypeError("Invalid non-string/buffer chunk")),a&&(e.emit("error",a),S(r,a),o=!1),o}function h(e,t,n){return e.objectMode||!1===e.decodeStrings||"string"!=typeof t||(t=N.from(t,n)),t}function p(e,t,n,r,o,a){if(!n){var i=h(t,r,o);r!==i&&(n=!0,o="buffer",r=i)}var u=t.objectMode?1:r.length;t.length+=u;var l=t.length<t.highWaterMark;if(l||(t.needDrain=!0),t.writing||t.corked){var s=t.lastBufferedRequest;t.lastBufferedRequest={chunk:r,encoding:o,isBuf:n,callback:a,next:null},s?s.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else g(e,t,!1,u,r,o,a);return l}function g(e,t,n,r,o,a,i){t.writelen=r,t.writecb=i,t.writing=!0,t.sync=!0,n?e._writev(o,t.onwrite):e._write(o,a,t.onwrite),t.sync=!1}function v(e,t,n,r,o){--t.pendingcb,n?(S(o,r),S(C,e,t),e._writableState.errorEmitted=!0,e.emit("error",r)):(o(r),e._writableState.errorEmitted=!0,e.emit("error",r),C(e,t))}function m(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}function b(e,t){var n=e._writableState,r=n.sync,o=n.writecb;if(m(n),t)v(e,n,r,t,o);else{var a=E(n);a||n.corked||n.bufferProcessing||!n.bufferedRequest||_(e,n),r?R(y,e,n,a,o):y(e,n,a,o)}}function y(e,t,n,r){n||w(e,t),t.pendingcb--,r(),C(e,t)}function w(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}function _(e,t){t.bufferProcessing=!0;var n=t.bufferedRequest;if(e._writev&&n&&n.next){var r=t.bufferedRequestCount,o=new Array(r),i=t.corkedRequestsFree;i.entry=n;for(var u=0,l=!0;n;)o[u]=n,n.isBuf||(l=!1),n=n.next,u+=1;o.allBuffers=l,g(e,t,!0,t.length,o,"",i.finish),t.pendingcb++,t.lastBufferedRequest=null,i.next?(t.corkedRequestsFree=i.next,i.next=null):t.corkedRequestsFree=new a(t)}else{for(;n;){var s=n.chunk,c=n.encoding,f=n.callback;if(g(e,t,!1,t.objectMode?1:s.length,s,c,f),n=n.next,t.writing)break}null===n&&(t.lastBufferedRequest=null)}t.bufferedRequestCount=0,t.bufferedRequest=n,t.bufferProcessing=!1}function E(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function k(e,t){e._final(function(n){t.pendingcb--,n&&e.emit("error",n),t.prefinished=!0,e.emit("prefinish"),C(e,t)})}function x(e,t){t.prefinished||t.finalCalled||("function"==typeof e._final?(t.pendingcb++,t.finalCalled=!0,S(k,e,t)):(t.prefinished=!0,e.emit("prefinish")))}function C(e,t){var n=E(t);return n&&(x(e,t),0===t.pendingcb&&(t.finished=!0,e.emit("finish"))),n}function T(e,t,n){t.ending=!0,C(e,t),n&&(t.finished?S(n):e.once("finish",n)),t.ended=!0,e.writable=!1}function M(e,t,n){var r=e.entry;for(e.entry=null;r;){var o=r.callback;t.pendingcb--,o(n),r=r.next}t.corkedRequestsFree?t.corkedRequestsFree.next=e:t.corkedRequestsFree=e}var S=n(11);e.exports=c;var I,R=!t.browser&&["v0.10","v0.9."].indexOf(t.version.slice(0,5))>-1?r:S;c.WritableState=s;var A=n(9);A.inherits=n(7);var O={deprecate:n(56)},P=n(22),N=n(12).Buffer,L=o.Uint8Array||function(){},D=n(24);A.inherits(c,P),s.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(s.prototype,"buffer",{get:O.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}}();var B;"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(B=Function.prototype[Symbol.hasInstance],Object.defineProperty(c,Symbol.hasInstance,{value:function(e){return!!B.call(this,e)||e&&e._writableState instanceof s}})):B=function(e){return e instanceof this},c.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},c.prototype.write=function(e,t,n){var r=this._writableState,o=!1,a=u(e)&&!r.objectMode;return a&&!N.isBuffer(e)&&(e=i(e)),"function"==typeof t&&(n=t,t=null),a?t="buffer":t||(t=r.defaultEncoding),"function"!=typeof n&&(n=l),r.ended?f(this,n):(a||d(this,r,e,n))&&(r.pendingcb++,o=p(this,r,a,e,t,n)),o},c.prototype.cork=function(){this._writableState.corked++},c.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,e.writing||e.corked||e.finished||e.bufferProcessing||!e.bufferedRequest||_(this,e))},c.prototype.setDefaultEncoding=function(e){if("string"==typeof e&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+e);return this._writableState.defaultEncoding=e,this},c.prototype._write=function(e,t,n){n(new Error("_write() is not implemented"))},c.prototype._writev=null,c.prototype.end=function(e,t,n){var r=this._writableState;"function"==typeof e?(n=e,e=null,t=null):"function"==typeof t&&(n=t,t=null),null!==e&&void 0!==e&&this.write(e,t),r.corked&&(r.corked=1,this.uncork()),r.ending||r.finished||T(this,r,n)},Object.defineProperty(c.prototype,"destroyed",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),c.prototype.destroy=D.destroy,c.prototype._undestroy=D.undestroy,c.prototype._destroy=function(e,t){this.end(),t(e)}}).call(t,n(10),n(54).setImmediate,n(8))},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(0),u=r(i),l=n(1),s=r(l),c=n(30),f=r(c),d=n(33),h=r(d),p=n(34),g=r(p),v=n(36),m=r(v),b=n(37),y=r(b),w=n(48),_=r(w),E=n(18),k=r(E),x=function(){function e(t){var n=this;o(this,e),this.options=t,this.eventManager=new h.default,this.commandManager=new g.default(this),this.convertor=new y.default(this.eventManager),this.toMarkOptions=null,this.options.hooks&&s.default.forEach(this.options.hooks,function(e,t){n.addHook(t,e)}),this.options.events&&s.default.forEach(this.options.events,function(e,t){n.on(t,e)}),this.preview=new f.default((0,u.default)(this.options.el),this.eventManager,this.convertor,!0),this.preview.$el.on("mousedown",u.default.proxy(this._toggleTask,this)),m.default.applyExtension(this,this.options.exts),this.setValue(this.options.initialValue),this.eventManager.emit("load",this)}return a(e,[{key:"_toggleTask",value:function(e){var t=e.offsetX<18&&e.offsetY>18;e.target.hasAttribute("data-te-task")&&!t&&((0,u.default)(e.target).toggleClass("checked"),this.eventManager.emit("change",{source:"viewer",data:e}))}},{key:"setMarkdown",value:function(e){this.markdownValue=e=e||"",this.preview.refresh(this.markdownValue),this.eventManager.emit("setMarkdownAfter",this.markdownValue)}},{key:"setValue",value:function(e){this.setMarkdown(e)}},{key:"on",value:function(e,t){this.eventManager.listen(e,t)}},{key:"off",value:function(e){this.eventManager.removeEventHandler(e)}},{key:"remove",value:function(){this.eventManager.emit("removeEditor"),this.preview.$el.off("mousedown",u.default.proxy(this._toggleTask,this)),this.options=null,this.eventManager=null,this.commandManager=null,this.convertor=null,this.preview=null}},{key:"addHook",value:function(e,t){this.eventManager.removeEventHandler(e),this.eventManager.listen(e,t)}},{key:"isViewer",value:function(){return!0}},{key:"isMarkdownMode",value:function(){return!1}},{key:"isWysiwygMode",value:function(){return!1}}],[{key:"defineExtension",value:function(e,t){m.default.defineExtension(e,t)}}]),e}();x.isViewer=!0,x.domUtils=_.default,x.codeBlockManager=k.default,x.markdownitHighlight=y.default.getMarkdownitHighlightRenderer(),x.i18n=null,x.Button=null,x.WwCodeBlockManager=null,x.WwTableManager=null,x.WwTableSelectionManager=null,e.exports=x},function(e,t){e.exports=n},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){return e.replace(t?/&/g:/&(?!#?\w+;)/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}Object.defineProperty(t,"__esModule",{value:!0}),t.CodeBlockManager=void 0;var a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(47),u=function(e){return e&&e.__esModule?e:{default:e}}(i),l=function(){function e(){r(this,e),this._replacers={}}return a(e,[{key:"setReplacer",value:function(e,t){this._replacers[e]=t}},{key:"getReplacer",value:function(e){return this._replacers[e]}},{key:"createCodeBlockHtml",value:function(e,t){var n=this.getReplacer(e);return n?n(t,e):u.default.getLanguage(e)?u.default.highlight(e,t).value:o(t,!1)}}],[{key:"getHighlightJSLanguages",value:function(){return u.default.listLanguages()}}]),e}();t.CodeBlockManager=l,t.default=new l},function(e,t,n){function r(){o.call(this)}e.exports=r;var o=n(13).EventEmitter;n(7)(r,o),r.Readable=n(14),r.Writable=n(58),r.Duplex=n(59),r.Transform=n(60),r.PassThrough=n(61),r.Stream=r,r.prototype.pipe=function(e,t){function n(t){e.writable&&!1===e.write(t)&&s.pause&&s.pause()}function r(){s.readable&&s.resume&&s.resume()}function a(){c||(c=!0,e.end())}function i(){c||(c=!0,"function"==typeof e.destroy&&e.destroy())}function u(e){if(l(),0===o.listenerCount(this,"error"))throw e}function l(){s.removeListener("data",n),e.removeListener("drain",r),s.removeListener("end",a),s.removeListener("close",i),s.removeListener("error",u),e.removeListener("error",u),s.removeListener("end",l),s.removeListener("close",l),e.removeListener("close",l)}var s=this;s.on("data",n),e.on("drain",r),e._isStdio||t&&!1===t.end||(s.on("end",a),s.on("close",i));var c=!1;return s.on("error",u),e.on("error",u),s.on("end",l),s.on("close",l),e.on("close",l),e.emit("pipe",s),e}},function(e,t,n){"use strict";(function(t,r){function o(e){return B.from(e)}function a(e){return B.isBuffer(e)||e instanceof j}function i(e,t,n){if("function"==typeof e.prependListener)return e.prependListener(t,n);e._events&&e._events[t]?N(e._events[t])?e._events[t].unshift(n):e._events[t]=[n,e._events[t]]:e.on(t,n)}function u(e,t){P=P||n(6),e=e||{},this.objectMode=!!e.objectMode,t instanceof P&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var r=e.highWaterMark,o=this.objectMode?16:16384;this.highWaterMark=r||0===r?r:o,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new F,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(q||(q=n(25).StringDecoder),this.decoder=new q(e.encoding),this.encoding=e.encoding)}function l(e){if(P=P||n(6),!(this instanceof l))return new l(e);this._readableState=new u(e,this),this.readable=!0,e&&("function"==typeof e.read&&(this._read=e.read),"function"==typeof e.destroy&&(this._destroy=e.destroy)),D.call(this)}function s(e,t,n,r,a){var i=e._readableState;if(null===t)i.reading=!1,g(e,i);else{var u;a||(u=f(i,t)),u?e.emit("error",u):i.objectMode||t&&t.length>0?("string"==typeof t||i.objectMode||Object.getPrototypeOf(t)===B.prototype||(t=o(t)),r?i.endEmitted?e.emit("error",new Error("stream.unshift() after end event")):c(e,i,t,!0):i.ended?e.emit("error",new Error("stream.push() after EOF")):(i.reading=!1,i.decoder&&!n?(t=i.decoder.write(t),i.objectMode||0!==t.length?c(e,i,t,!1):b(e,i)):c(e,i,t,!1))):r||(i.reading=!1)}return d(i)}function c(e,t,n,r){t.flowing&&0===t.length&&!t.sync?(e.emit("data",n),e.read(0)):(t.length+=t.objectMode?1:n.length,r?t.buffer.unshift(n):t.buffer.push(n),t.needReadable&&v(e)),b(e,t)}function f(e,t){var n;return a(t)||"string"==typeof t||void 0===t||e.objectMode||(n=new TypeError("Invalid non-string/buffer chunk")),n}function d(e){return!e.ended&&(e.needReadable||e.length<e.highWaterMark||0===e.length)}function h(e){return e>=z?e=z:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}function p(e,t){return e<=0||0===t.length&&t.ended?0:t.objectMode?1:e!==e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=h(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function g(e,t){if(!t.ended){if(t.decoder){var n=t.decoder.end();n&&n.length&&(t.buffer.push(n),t.length+=t.objectMode?1:n.length)}t.ended=!0,v(e)}}function v(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(H("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?O(m,e):m(e))}function m(e){H("emit readable"),e.emit("readable"),x(e)}function b(e,t){t.readingMore||(t.readingMore=!0,O(y,e,t))}function y(e,t){for(var n=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length<t.highWaterMark&&(H("maybeReadMore read 0"),e.read(0),n!==t.length);)n=t.length;t.readingMore=!1}function w(e){return function(){var t=e._readableState;H("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&L(e,"data")&&(t.flowing=!0,x(e))}}function _(e){H("readable nexttick read 0"),e.read(0)}function E(e,t){t.resumeScheduled||(t.resumeScheduled=!0,O(k,e,t))}function k(e,t){t.reading||(H("resume read 0"),e.read(0)),t.resumeScheduled=!1,t.awaitDrain=0,e.emit("resume"),x(e),t.flowing&&!t.reading&&e.read(0)}function x(e){var t=e._readableState;for(H("flow",t.flowing);t.flowing&&null!==e.read(););}function C(e,t){if(0===t.length)return null;var n;return t.objectMode?n=t.buffer.shift():!e||e>=t.length?(n=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.head.data:t.buffer.concat(t.length),t.buffer.clear()):n=T(e,t.buffer,t.decoder),n}function T(e,t,n){var r;return e<t.head.data.length?(r=t.head.data.slice(0,e),t.head.data=t.head.data.slice(e)):r=e===t.head.data.length?t.shift():n?M(e,t):S(e,t),r}function M(e,t){var n=t.head,r=1,o=n.data;for(e-=o.length;n=n.next;){var a=n.data,i=e>a.length?a.length:e;if(i===a.length?o+=a:o+=a.slice(0,e),0===(e-=i)){i===a.length?(++r,n.next?t.head=n.next:t.head=t.tail=null):(t.head=n,n.data=a.slice(i));break}++r}return t.length-=r,o}function S(e,t){var n=B.allocUnsafe(e),r=t.head,o=1;for(r.data.copy(n),e-=r.data.length;r=r.next;){var a=r.data,i=e>a.length?a.length:e;if(a.copy(n,n.length-e,0,i),0===(e-=i)){i===a.length?(++o,r.next?t.head=r.next:t.head=t.tail=null):(t.head=r,r.data=a.slice(i));break}++o}return t.length-=o,n}function I(e){var t=e._readableState;if(t.length>0)throw new Error('"endReadable()" called on non-empty stream');t.endEmitted||(t.ended=!0,O(R,t,e))}function R(e,t){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function A(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1}var O=n(11);e.exports=l;var P,N=n(21);l.ReadableState=u;var L=(n(13).EventEmitter,function(e,t){return e.listeners(t).length}),D=n(22),B=n(12).Buffer,j=t.Uint8Array||function(){},U=n(9);U.inherits=n(7);var W=n(52),H=void 0;H=W&&W.debuglog?W.debuglog("stream"):function(){};var q,F=n(53),Y=n(24);U.inherits(l,D);var $=["error","close","destroy","pause","resume"];Object.defineProperty(l.prototype,"destroyed",{get:function(){return void 0!==this._readableState&&this._readableState.destroyed},set:function(e){this._readableState&&(this._readableState.destroyed=e)}}),l.prototype.destroy=Y.destroy,l.prototype._undestroy=Y.undestroy,l.prototype._destroy=function(e,t){this.push(null),t(e)},l.prototype.push=function(e,t){var n,r=this._readableState;return r.objectMode?n=!0:"string"==typeof e&&(t=t||r.defaultEncoding,t!==r.encoding&&(e=B.from(e,t),t=""),n=!0),s(this,e,t,!1,n)},l.prototype.unshift=function(e){return s(this,e,null,!0,!1)},l.prototype.isPaused=function(){return!1===this._readableState.flowing},l.prototype.setEncoding=function(e){return q||(q=n(25).StringDecoder),this._readableState.decoder=new q(e),this._readableState.encoding=e,this};var z=8388608;l.prototype.read=function(e){H("read",e),e=parseInt(e,10);var t=this._readableState,n=e;if(0!==e&&(t.emittedReadable=!1),0===e&&t.needReadable&&(t.length>=t.highWaterMark||t.ended))return H("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?I(this):v(this),null;if(0===(e=p(e,t))&&t.ended)return 0===t.length&&I(this),null;var r=t.needReadable;H("need readable",r),(0===t.length||t.length-e<t.highWaterMark)&&(r=!0,H("length less than watermark",r)),t.ended||t.reading?(r=!1,H("reading or ended",r)):r&&(H("do read"),t.reading=!0,t.sync=!0,0===t.length&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1,t.reading||(e=p(n,t)));var o;return o=e>0?C(e,t):null,null===o?(t.needReadable=!0,e=0):t.length-=e,0===t.length&&(t.ended||(t.needReadable=!0),n!==e&&t.ended&&I(this)),null!==o&&this.emit("data",o),o},l.prototype._read=function(e){this.emit("error",new Error("_read() is not implemented"))},l.prototype.pipe=function(e,t){function n(e,t){H("onunpipe"),e===d&&t&&!1===t.hasUnpiped&&(t.hasUnpiped=!0,a())}function o(){H("onend"),e.end()}function a(){H("cleanup"),e.removeListener("close",s),e.removeListener("finish",c),e.removeListener("drain",v),e.removeListener("error",l),e.removeListener("unpipe",n),d.removeListener("end",o),d.removeListener("end",f),d.removeListener("data",u),m=!0,!h.awaitDrain||e._writableState&&!e._writableState.needDrain||v()}function u(t){H("ondata"),b=!1,!1!==e.write(t)||b||((1===h.pipesCount&&h.pipes===e||h.pipesCount>1&&-1!==A(h.pipes,e))&&!m&&(H("false write response, pause",d._readableState.awaitDrain),d._readableState.awaitDrain++,b=!0),d.pause())}function l(t){H("onerror",t),f(),e.removeListener("error",l),0===L(e,"error")&&e.emit("error",t)}function s(){e.removeListener("finish",c),f()}function c(){H("onfinish"),e.removeListener("close",s),f()}function f(){H("unpipe"),d.unpipe(e)}var d=this,h=this._readableState;switch(h.pipesCount){case 0:h.pipes=e;break;case 1:h.pipes=[h.pipes,e];break;default:h.pipes.push(e)}h.pipesCount+=1,H("pipe count=%d opts=%j",h.pipesCount,t);var p=(!t||!1!==t.end)&&e!==r.stdout&&e!==r.stderr,g=p?o:f;h.endEmitted?O(g):d.once("end",g),e.on("unpipe",n);var v=w(d);e.on("drain",v);var m=!1,b=!1;return d.on("data",u),i(e,"error",l),e.once("close",s),e.once("finish",c),e.emit("pipe",d),h.flowing||(H("pipe resume"),d.resume()),e},l.prototype.unpipe=function(e){var t=this._readableState,n={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes?this:(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,n),this);if(!e){var r=t.pipes,o=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var a=0;a<o;a++)r[a].emit("unpipe",this,n);return this}var i=A(t.pipes,e);return-1===i?this:(t.pipes.splice(i,1),t.pipesCount-=1,1===t.pipesCount&&(t.pipes=t.pipes[0]),e.emit("unpipe",this,n),this)},l.prototype.on=function(e,t){var n=D.prototype.on.call(this,e,t);if("data"===e)!1!==this._readableState.flowing&&this.resume();else if("readable"===e){var r=this._readableState;r.endEmitted||r.readableListening||(r.readableListening=r.needReadable=!0,r.emittedReadable=!1,r.reading?r.length&&v(this):O(_,this))}return n},l.prototype.addListener=l.prototype.on,l.prototype.resume=function(){var e=this._readableState;return e.flowing||(H("resume"),e.flowing=!0,E(this,e)),this},l.prototype.pause=function(){return H("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(H("pause"),this._readableState.flowing=!1,this.emit("pause")),this},l.prototype.wrap=function(e){var t=this._readableState,n=!1,r=this;e.on("end",function(){if(H("wrapped end"),t.decoder&&!t.ended){var e=t.decoder.end();e&&e.length&&r.push(e)}r.push(null)}),e.on("data",function(o){if(H("wrapped data"),t.decoder&&(o=t.decoder.write(o)),(!t.objectMode||null!==o&&void 0!==o)&&(t.objectMode||o&&o.length)){r.push(o)||(n=!0,e.pause())}});for(var o in e)void 0===this[o]&&"function"==typeof e[o]&&(this[o]=function(t){return function(){return e[t].apply(e,arguments)}}(o));for(var a=0;a<$.length;a++)e.on($[a],r.emit.bind(r,$[a]));return r._read=function(t){H("wrapped _read",t),n&&(n=!1,e.resume())},r},l._fromList=C}).call(t,n(8),n(10))},function(e,t){var n={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==n.call(e)}},function(e,t,n){e.exports=n(13).EventEmitter},function(e,t,n){"use strict";(function(e){function r(){return a.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function o(e,t){if(r()<t)throw new RangeError("Invalid typed array length");return a.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t),e.__proto__=a.prototype):(null===e&&(e=new a(t)),e.length=t),e}function a(e,t,n){if(!(a.TYPED_ARRAY_SUPPORT||this instanceof a))return new a(e,t,n);if("number"==typeof e){if("string"==typeof t)throw new Error("If encoding is specified then the first argument must be a string");return s(this,e)}return i(this,e,t,n)}function i(e,t,n,r){if("number"==typeof t)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer?d(e,t,n,r):"string"==typeof t?c(e,t,n):h(e,t)}function u(e){if("number"!=typeof e)throw new TypeError('"size" argument must be a number');if(e<0)throw new RangeError('"size" argument must not be negative')}function l(e,t,n,r){return u(t),t<=0?o(e,t):void 0!==n?"string"==typeof r?o(e,t).fill(n,r):o(e,t).fill(n):o(e,t)}function s(e,t){if(u(t),e=o(e,t<0?0:0|p(t)),!a.TYPED_ARRAY_SUPPORT)for(var n=0;n<t;++n)e[n]=0;return e}function c(e,t,n){if("string"==typeof n&&""!==n||(n="utf8"),!a.isEncoding(n))throw new TypeError('"encoding" must be a valid string encoding');var r=0|v(t,n);e=o(e,r);var i=e.write(t,n);return i!==r&&(e=e.slice(0,i)),e}function f(e,t){var n=t.length<0?0:0|p(t.length);e=o(e,n);for(var r=0;r<n;r+=1)e[r]=255&t[r];return e}function d(e,t,n,r){if(t.byteLength,n<0||t.byteLength<n)throw new RangeError("'offset' is out of bounds");if(t.byteLength<n+(r||0))throw new RangeError("'length' is out of bounds");return t=void 0===n&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,n):new Uint8Array(t,n,r),a.TYPED_ARRAY_SUPPORT?(e=t,e.__proto__=a.prototype):e=f(e,t),e}function h(e,t){if(a.isBuffer(t)){var n=0|p(t.length);return e=o(e,n),0===e.length?e:(t.copy(e,0,0,n),e)}if(t){if("undefined"!=typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||"length"in t)return"number"!=typeof t.length||X(t.length)?o(e,0):f(e,t);if("Buffer"===t.type&&K(t.data))return f(e,t.data)}throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}function p(e){if(e>=r())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+r().toString(16)+" bytes");return 0|e}function g(e){return+e!=e&&(e=0),a.alloc(+e)}function v(e,t){if(a.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return Y(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return V(e).length;default:if(r)return Y(e).length;t=(""+t).toLowerCase(),r=!0}}function m(e,t,n){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if(n>>>=0,t>>>=0,n<=t)return"";for(e||(e="utf8");;)switch(e){case"hex":return O(this,t,n);case"utf8":case"utf-8":return S(this,t,n);case"ascii":return R(this,t,n);case"latin1":case"binary":return A(this,t,n);case"base64":return M(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return P(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}function b(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function y(e,t,n,r,o){if(0===e.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=o?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(o)return-1;n=e.length-1}else if(n<0){if(!o)return-1;n=0}if("string"==typeof t&&(t=a.from(t,r)),a.isBuffer(t))return 0===t.length?-1:w(e,t,n,r,o);if("number"==typeof t)return t&=255,a.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?o?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):w(e,[t],n,r,o);throw new TypeError("val must be string, number or Buffer")}function w(e,t,n,r,o){function a(e,t){return 1===i?e[t]:e.readUInt16BE(t*i)}var i=1,u=e.length,l=t.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;i=2,u/=2,l/=2,n/=2}var s;if(o){var c=-1;for(s=n;s<u;s++)if(a(e,s)===a(t,-1===c?0:s-c)){if(-1===c&&(c=s),s-c+1===l)return c*i}else-1!==c&&(s-=s-c),c=-1}else for(n+l>u&&(n=u-l),s=n;s>=0;s--){for(var f=!0,d=0;d<l;d++)if(a(e,s+d)!==a(t,d)){f=!1;break}if(f)return s}return-1}function _(e,t,n,r){n=Number(n)||0;var o=e.length-n;r?(r=Number(r))>o&&(r=o):r=o;var a=t.length;if(a%2!=0)throw new TypeError("Invalid hex string");r>a/2&&(r=a/2);for(var i=0;i<r;++i){var u=parseInt(t.substr(2*i,2),16);if(isNaN(u))return i;e[n+i]=u}return i}function E(e,t,n,r){return G(Y(t,e.length-n),e,n,r)}function k(e,t,n,r){return G($(t),e,n,r)}function x(e,t,n,r){return k(e,t,n,r)}function C(e,t,n,r){return G(V(t),e,n,r)}function T(e,t,n,r){return G(z(t,e.length-n),e,n,r)}function M(e,t,n){return 0===t&&n===e.length?J.fromByteArray(e):J.fromByteArray(e.slice(t,n))}function S(e,t,n){n=Math.min(e.length,n);for(var r=[],o=t;o<n;){var a=e[o],i=null,u=a>239?4:a>223?3:a>191?2:1;if(o+u<=n){var l,s,c,f;switch(u){case 1:a<128&&(i=a);break;case 2:l=e[o+1],128==(192&l)&&(f=(31&a)<<6|63&l)>127&&(i=f);break;case 3:l=e[o+1],s=e[o+2],128==(192&l)&&128==(192&s)&&(f=(15&a)<<12|(63&l)<<6|63&s)>2047&&(f<55296||f>57343)&&(i=f);break;case 4:l=e[o+1],s=e[o+2],c=e[o+3],128==(192&l)&&128==(192&s)&&128==(192&c)&&(f=(15&a)<<18|(63&l)<<12|(63&s)<<6|63&c)>65535&&f<1114112&&(i=f)}}null===i?(i=65533,u=1):i>65535&&(i-=65536,r.push(i>>>10&1023|55296),i=56320|1023&i),r.push(i),o+=u}return I(r)}function I(e){var t=e.length;if(t<=Q)return String.fromCharCode.apply(String,e);for(var n="",r=0;r<t;)n+=String.fromCharCode.apply(String,e.slice(r,r+=Q));return n}function R(e,t,n){var r="";n=Math.min(e.length,n);for(var o=t;o<n;++o)r+=String.fromCharCode(127&e[o]);return r}function A(e,t,n){var r="";n=Math.min(e.length,n);for(var o=t;o<n;++o)r+=String.fromCharCode(e[o]);return r}function O(e,t,n){var r=e.length;(!t||t<0)&&(t=0),(!n||n<0||n>r)&&(n=r);for(var o="",a=t;a<n;++a)o+=F(e[a]);return o}function P(e,t,n){for(var r=e.slice(t,n),o="",a=0;a<r.length;a+=2)o+=String.fromCharCode(r[a]+256*r[a+1]);return o}function N(e,t,n){if(e%1!=0||e<0)throw new RangeError("offset is not uint");if(e+t>n)throw new RangeError("Trying to access beyond buffer length")}function L(e,t,n,r,o,i){if(!a.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>o||t<i)throw new RangeError('"value" argument is out of bounds');if(n+r>e.length)throw new RangeError("Index out of range")}function D(e,t,n,r){t<0&&(t=65535+t+1);for(var o=0,a=Math.min(e.length-n,2);o<a;++o)e[n+o]=(t&255<<8*(r?o:1-o))>>>8*(r?o:1-o)}function B(e,t,n,r){t<0&&(t=4294967295+t+1);for(var o=0,a=Math.min(e.length-n,4);o<a;++o)e[n+o]=t>>>8*(r?o:3-o)&255}function j(e,t,n,r,o,a){if(n+r>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function U(e,t,n,r,o){return o||j(e,t,n,4,3.4028234663852886e38,-3.4028234663852886e38),Z.write(e,t,n,r,23,4),n+4}function W(e,t,n,r,o){return o||j(e,t,n,8,1.7976931348623157e308,-1.7976931348623157e308),Z.write(e,t,n,r,52,8),n+8}function H(e){if(e=q(e).replace(ee,""),e.length<2)return"";for(;e.length%4!=0;)e+="=";return e}function q(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}function F(e){return e<16?"0"+e.toString(16):e.toString(16)}function Y(e,t){t=t||1/0;for(var n,r=e.length,o=null,a=[],i=0;i<r;++i){if((n=e.charCodeAt(i))>55295&&n<57344){if(!o){if(n>56319){(t-=3)>-1&&a.push(239,191,189);continue}if(i+1===r){(t-=3)>-1&&a.push(239,191,189);continue}o=n;continue}if(n<56320){(t-=3)>-1&&a.push(239,191,189),o=n;continue}n=65536+(o-55296<<10|n-56320)}else o&&(t-=3)>-1&&a.push(239,191,189);if(o=null,n<128){if((t-=1)<0)break;a.push(n)}else if(n<2048){if((t-=2)<0)break;a.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;a.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;a.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return a}function $(e){for(var t=[],n=0;n<e.length;++n)t.push(255&e.charCodeAt(n));return t}function z(e,t){for(var n,r,o,a=[],i=0;i<e.length&&!((t-=2)<0);++i)n=e.charCodeAt(i),r=n>>8,o=n%256,a.push(o),a.push(r);return a}function V(e){return J.toByteArray(H(e))}function G(e,t,n,r){for(var o=0;o<r&&!(o+n>=t.length||o>=e.length);++o)t[o+n]=e[o];return o}function X(e){return e!==e}/*!
8
+ * The buffer module from node.js, for the browser.
9
+ *
10
+ * @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
11
+ * @license MIT
12
+ */
13
+ var J=n(50),Z=n(51),K=n(21);t.Buffer=a,t.SlowBuffer=g,t.INSPECT_MAX_BYTES=50,a.TYPED_ARRAY_SUPPORT=void 0!==e.TYPED_ARRAY_SUPPORT?e.TYPED_ARRAY_SUPPORT:function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&"function"==typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(e){return!1}}(),t.kMaxLength=r(),a.poolSize=8192,a._augment=function(e){return e.__proto__=a.prototype,e},a.from=function(e,t,n){return i(null,e,t,n)},a.TYPED_ARRAY_SUPPORT&&(a.prototype.__proto__=Uint8Array.prototype,a.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&a[Symbol.species]===a&&Object.defineProperty(a,Symbol.species,{value:null,configurable:!0})),a.alloc=function(e,t,n){return l(null,e,t,n)},a.allocUnsafe=function(e){return s(null,e)},a.allocUnsafeSlow=function(e){return s(null,e)},a.isBuffer=function(e){return!(null==e||!e._isBuffer)},a.compare=function(e,t){if(!a.isBuffer(e)||!a.isBuffer(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var n=e.length,r=t.length,o=0,i=Math.min(n,r);o<i;++o)if(e[o]!==t[o]){n=e[o],r=t[o];break}return n<r?-1:r<n?1:0},a.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},a.concat=function(e,t){if(!K(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return a.alloc(0);var n;if(void 0===t)for(t=0,n=0;n<e.length;++n)t+=e[n].length;var r=a.allocUnsafe(t),o=0;for(n=0;n<e.length;++n){var i=e[n];if(!a.isBuffer(i))throw new TypeError('"list" argument must be an Array of Buffers');i.copy(r,o),o+=i.length}return r},a.byteLength=v,a.prototype._isBuffer=!0,a.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)b(this,t,t+1);return this},a.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)b(this,t,t+3),b(this,t+1,t+2);return this},a.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)b(this,t,t+7),b(this,t+1,t+6),b(this,t+2,t+5),b(this,t+3,t+4);return this},a.prototype.toString=function(){var e=0|this.length;return 0===e?"":0===arguments.length?S(this,0,e):m.apply(this,arguments)},a.prototype.equals=function(e){if(!a.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===a.compare(this,e)},a.prototype.inspect=function(){var e="",n=t.INSPECT_MAX_BYTES;return this.length>0&&(e=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(e+=" ... ")),"<Buffer "+e+">"},a.prototype.compare=function(e,t,n,r,o){if(!a.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===o&&(o=this.length),t<0||n>e.length||r<0||o>this.length)throw new RangeError("out of range index");if(r>=o&&t>=n)return 0;if(r>=o)return-1;if(t>=n)return 1;if(t>>>=0,n>>>=0,r>>>=0,o>>>=0,this===e)return 0;for(var i=o-r,u=n-t,l=Math.min(i,u),s=this.slice(r,o),c=e.slice(t,n),f=0;f<l;++f)if(s[f]!==c[f]){i=s[f],u=c[f];break}return i<u?-1:u<i?1:0},a.prototype.includes=function(e,t,n){return-1!==this.indexOf(e,t,n)},a.prototype.indexOf=function(e,t,n){return y(this,e,t,n,!0)},a.prototype.lastIndexOf=function(e,t,n){return y(this,e,t,n,!1)},a.prototype.write=function(e,t,n,r){if(void 0===t)r="utf8",n=this.length,t=0;else if(void 0===n&&"string"==typeof t)r=t,n=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t|=0,isFinite(n)?(n|=0,void 0===r&&(r="utf8")):(r=n,n=void 0)}var o=this.length-t;if((void 0===n||n>o)&&(n=o),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var a=!1;;)switch(r){case"hex":return _(this,e,t,n);case"utf8":case"utf-8":return E(this,e,t,n);case"ascii":return k(this,e,t,n);case"latin1":case"binary":return x(this,e,t,n);case"base64":return C(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return T(this,e,t,n);default:if(a)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),a=!0}},a.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var Q=4096;a.prototype.slice=function(e,t){var n=this.length;e=~~e,t=void 0===t?n:~~t,e<0?(e+=n)<0&&(e=0):e>n&&(e=n),t<0?(t+=n)<0&&(t=0):t>n&&(t=n),t<e&&(t=e);var r;if(a.TYPED_ARRAY_SUPPORT)r=this.subarray(e,t),r.__proto__=a.prototype;else{var o=t-e;r=new a(o,void 0);for(var i=0;i<o;++i)r[i]=this[i+e]}return r},a.prototype.readUIntLE=function(e,t,n){e|=0,t|=0,n||N(e,t,this.length);for(var r=this[e],o=1,a=0;++a<t&&(o*=256);)r+=this[e+a]*o;return r},a.prototype.readUIntBE=function(e,t,n){e|=0,t|=0,n||N(e,t,this.length);for(var r=this[e+--t],o=1;t>0&&(o*=256);)r+=this[e+--t]*o;return r},a.prototype.readUInt8=function(e,t){return t||N(e,1,this.length),this[e]},a.prototype.readUInt16LE=function(e,t){return t||N(e,2,this.length),this[e]|this[e+1]<<8},a.prototype.readUInt16BE=function(e,t){return t||N(e,2,this.length),this[e]<<8|this[e+1]},a.prototype.readUInt32LE=function(e,t){return t||N(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},a.prototype.readUInt32BE=function(e,t){return t||N(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},a.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||N(e,t,this.length);for(var r=this[e],o=1,a=0;++a<t&&(o*=256);)r+=this[e+a]*o;return o*=128,r>=o&&(r-=Math.pow(2,8*t)),r},a.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||N(e,t,this.length);for(var r=t,o=1,a=this[e+--r];r>0&&(o*=256);)a+=this[e+--r]*o;return o*=128,a>=o&&(a-=Math.pow(2,8*t)),a},a.prototype.readInt8=function(e,t){return t||N(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},a.prototype.readInt16LE=function(e,t){t||N(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},a.prototype.readInt16BE=function(e,t){t||N(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},a.prototype.readInt32LE=function(e,t){return t||N(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},a.prototype.readInt32BE=function(e,t){return t||N(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},a.prototype.readFloatLE=function(e,t){return t||N(e,4,this.length),Z.read(this,e,!0,23,4)},a.prototype.readFloatBE=function(e,t){return t||N(e,4,this.length),Z.read(this,e,!1,23,4)},a.prototype.readDoubleLE=function(e,t){return t||N(e,8,this.length),Z.read(this,e,!0,52,8)},a.prototype.readDoubleBE=function(e,t){return t||N(e,8,this.length),Z.read(this,e,!1,52,8)},a.prototype.writeUIntLE=function(e,t,n,r){if(e=+e,t|=0,n|=0,!r){L(this,e,t,n,Math.pow(2,8*n)-1,0)}var o=1,a=0;for(this[t]=255&e;++a<n&&(o*=256);)this[t+a]=e/o&255;return t+n},a.prototype.writeUIntBE=function(e,t,n,r){if(e=+e,t|=0,n|=0,!r){L(this,e,t,n,Math.pow(2,8*n)-1,0)}var o=n-1,a=1;for(this[t+o]=255&e;--o>=0&&(a*=256);)this[t+o]=e/a&255;return t+n},a.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||L(this,e,t,1,255,0),a.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},a.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||L(this,e,t,2,65535,0),a.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):D(this,e,t,!0),t+2},a.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||L(this,e,t,2,65535,0),a.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):D(this,e,t,!1),t+2},a.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||L(this,e,t,4,4294967295,0),a.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):B(this,e,t,!0),t+4},a.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||L(this,e,t,4,4294967295,0),a.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):B(this,e,t,!1),t+4},a.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var o=Math.pow(2,8*n-1);L(this,e,t,n,o-1,-o)}var a=0,i=1,u=0;for(this[t]=255&e;++a<n&&(i*=256);)e<0&&0===u&&0!==this[t+a-1]&&(u=1),this[t+a]=(e/i>>0)-u&255;return t+n},a.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var o=Math.pow(2,8*n-1);L(this,e,t,n,o-1,-o)}var a=n-1,i=1,u=0;for(this[t+a]=255&e;--a>=0&&(i*=256);)e<0&&0===u&&0!==this[t+a+1]&&(u=1),this[t+a]=(e/i>>0)-u&255;return t+n},a.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||L(this,e,t,1,127,-128),a.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},a.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||L(this,e,t,2,32767,-32768),a.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):D(this,e,t,!0),t+2},a.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||L(this,e,t,2,32767,-32768),a.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):D(this,e,t,!1),t+2},a.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||L(this,e,t,4,2147483647,-2147483648),a.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):B(this,e,t,!0),t+4},a.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||L(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),a.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):B(this,e,t,!1),t+4},a.prototype.writeFloatLE=function(e,t,n){return U(this,e,t,!0,n)},a.prototype.writeFloatBE=function(e,t,n){return U(this,e,t,!1,n)},a.prototype.writeDoubleLE=function(e,t,n){return W(this,e,t,!0,n)},a.prototype.writeDoubleBE=function(e,t,n){return W(this,e,t,!1,n)},a.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r<n&&(r=n),r===n)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(n<0||n>=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t<r-n&&(r=e.length-t+n);var o,i=r-n;if(this===e&&n<t&&t<r)for(o=i-1;o>=0;--o)e[o+t]=this[o+n];else if(i<1e3||!a.TYPED_ARRAY_SUPPORT)for(o=0;o<i;++o)e[o+t]=this[o+n];else Uint8Array.prototype.set.call(e,this.subarray(n,n+i),t);return i},a.prototype.fill=function(e,t,n,r){if("string"==typeof e){if("string"==typeof t?(r=t,t=0,n=this.length):"string"==typeof n&&(r=n,n=this.length),1===e.length){var o=e.charCodeAt(0);o<256&&(e=o)}if(void 0!==r&&"string"!=typeof r)throw new TypeError("encoding must be a string");if("string"==typeof r&&!a.isEncoding(r))throw new TypeError("Unknown encoding: "+r)}else"number"==typeof e&&(e&=255);if(t<0||this.length<t||this.length<n)throw new RangeError("Out of range index");if(n<=t)return this;t>>>=0,n=void 0===n?this.length:n>>>0,e||(e=0);var i;if("number"==typeof e)for(i=t;i<n;++i)this[i]=e;else{var u=a.isBuffer(e)?e:Y(new a(e,r).toString()),l=u.length;for(i=0;i<n-t;++i)this[i+t]=u[i%l]}return this};var ee=/[^+\/0-9A-Za-z-_]/g}).call(t,n(8))},function(e,t,n){"use strict";function r(e,t){var n=this,r=this._readableState&&this._readableState.destroyed,o=this._writableState&&this._writableState.destroyed;if(r||o)return void(t?t(e):!e||this._writableState&&this._writableState.errorEmitted||i(a,this,e));this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,function(e){!t&&e?(i(a,n,e),n._writableState&&(n._writableState.errorEmitted=!0)):t&&t(e)})}function o(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function a(e,t){e.emit("error",t)}var i=n(11);e.exports={destroy:r,undestroy:o}},function(e,t,n){"use strict";function r(e){if(!e)return"utf8";for(var t;;)switch(e){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return e;default:if(t)return;e=(""+e).toLowerCase(),t=!0}}function o(e){var t=r(e);if("string"!=typeof t&&(b.isEncoding===y||!y(e)))throw new Error("Unknown encoding: "+e);return t||e}function a(e){this.encoding=o(e);var t;switch(this.encoding){case"utf16le":this.text=d,this.end=h,t=4;break;case"utf8":this.fillLast=s,t=4;break;case"base64":this.text=p,this.end=g,t=3;break;default:return this.write=v,void(this.end=m)}this.lastNeed=0,this.lastTotal=0,this.lastChar=b.allocUnsafe(t)}function i(e){return e<=127?0:e>>5==6?2:e>>4==14?3:e>>3==30?4:-1}function u(e,t,n){var r=t.length-1;if(r<n)return 0;var o=i(t[r]);return o>=0?(o>0&&(e.lastNeed=o-1),o):--r<n?0:(o=i(t[r]))>=0?(o>0&&(e.lastNeed=o-2),o):--r<n?0:(o=i(t[r]),o>=0?(o>0&&(2===o?o=0:e.lastNeed=o-3),o):0)}function l(e,t,n){if(128!=(192&t[0]))return e.lastNeed=0,"�".repeat(n);if(e.lastNeed>1&&t.length>1){if(128!=(192&t[1]))return e.lastNeed=1,"�".repeat(n+1);if(e.lastNeed>2&&t.length>2&&128!=(192&t[2]))return e.lastNeed=2,"�".repeat(n+2)}}function s(e){var t=this.lastTotal-this.lastNeed,n=l(this,e,t);return void 0!==n?n:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,t,0,e.length),void(this.lastNeed-=e.length))}function c(e,t){var n=u(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=n;var r=e.length-(n-this.lastNeed);return e.copy(this.lastChar,0,r),e.toString("utf8",t,r)}function f(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+"�".repeat(this.lastTotal-this.lastNeed):t}function d(e,t){if((e.length-t)%2==0){var n=e.toString("utf16le",t);if(n){var r=n.charCodeAt(n.length-1);if(r>=55296&&r<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],n.slice(0,-1)}return n}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function h(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var n=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,n)}return t}function p(e,t){var n=(e.length-t)%3;return 0===n?e.toString("base64",t):(this.lastNeed=3-n,this.lastTotal=3,1===n?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-n))}function g(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function v(e){return e.toString(this.encoding)}function m(e){return e&&e.length?this.write(e):""}var b=n(12).Buffer,y=b.isEncoding||function(e){switch((e=""+e)&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};t.StringDecoder=a,a.prototype.write=function(e){if(0===e.length)return"";var t,n;if(this.lastNeed){if(void 0===(t=this.fillLast(e)))return"";n=this.lastNeed,this.lastNeed=0}else n=0;return n<e.length?t?t+this.text(e,n):this.text(e,n):t||""},a.prototype.end=f,a.prototype.text=c,a.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length}},function(e,t,n){"use strict";function r(e){this.afterTransform=function(t,n){return o(e,t,n)},this.needTransform=!1,this.transforming=!1,this.writecb=null,this.writechunk=null,this.writeencoding=null}function o(e,t,n){var r=e._transformState;r.transforming=!1;var o=r.writecb;if(!o)return e.emit("error",new Error("write callback called multiple times"));r.writechunk=null,r.writecb=null,null!==n&&void 0!==n&&e.push(n),o(t);var a=e._readableState;a.reading=!1,(a.needReadable||a.length<a.highWaterMark)&&e._read(a.highWaterMark)}function a(e){if(!(this instanceof a))return new a(e);u.call(this,e),this._transformState=new r(this);var t=this;this._readableState.needReadable=!0,this._readableState.sync=!1,e&&("function"==typeof e.transform&&(this._transform=e.transform),"function"==typeof e.flush&&(this._flush=e.flush)),this.once("prefinish",function(){"function"==typeof this._flush?this._flush(function(e,n){i(t,e,n)}):i(t)})}function i(e,t,n){if(t)return e.emit("error",t);null!==n&&void 0!==n&&e.push(n);var r=e._writableState,o=e._transformState;if(r.length)throw new Error("Calling transform done when ws.length != 0");if(o.transforming)throw new Error("Calling transform done when still transforming");return e.push(null)}e.exports=a;var u=n(6),l=n(9);l.inherits=n(7),l.inherits(a,u),a.prototype.push=function(e,t){return this._transformState.needTransform=!1,u.prototype.push.call(this,e,t)},a.prototype._transform=function(e,t,n){throw new Error("_transform() is not implemented")},a.prototype._write=function(e,t,n){var r=this._transformState;if(r.writecb=n,r.writechunk=e,r.writeencoding=t,!r.transforming){var o=this._readableState;(r.needTransform||o.needReadable||o.length<o.highWaterMark)&&this._read(o.highWaterMark)}},a.prototype._read=function(e){var t=this._transformState;null!==t.writechunk&&t.writecb&&!t.transforming?(t.transforming=!0,this._transform(t.writechunk,t.writeencoding,t.afterTransform)):t.needTransform=!0},a.prototype._destroy=function(e,t){var n=this;u.prototype._destroy.call(this,e,function(e){t(e),n.emit("close")})}},function(e,t,n){"use strict";n(28),n(63),n(78),n(80);var r=n(82);e.exports=r},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function u(e,t){e=p(e);var n=e.split(/\n{2,}/),r=n[0],o=n[1],a=h(r),i=a&&a.editorChart&&a.editorChart.url,u=void 0;if(S.default.isString(i)){var s=function(e){u=l(e,r),t(u)},c=function(){return t(null)};T.default.get(i).done(s).fail(c)}else u=l(r,o),t(u)}function l(e,t){return{data:f(e),options:h(t)}}function s(e){e=p(e);var t=e.split(j).slice(0,10).join("\n");return U.map(function(e){return{delimiter:e,delta:c(t,e)}}).sort(function(e,t){return e.delta-t.delta})[0].delimiter}function c(e,t){var n=void 0,r=void 0;try{if(N.default.COLUMN_SEPARATOR=t,n=N.default.parse(e),n[0].length<2)throw new Error("parser fail");r=n.map(function(e){return e.length}).reduce(function(e,t){return{deltaSum:e.deltaSum+Math.abs(e.length-t),length:t}},{deltaSum:0,length:n[0].length}).deltaSum}catch(e){r=1/0}return r}function f(e,t){e=p(e),N.default.COLUMN_SEPARATOR=t||s(e);var n=N.default.parse(e);n=n.map(function(e){return e.map(function(e){return e.trim()})});var r=n[0].filter(function(e,t){return t>0}).reduce(function(e,t){return e||!g(t)},!1),o=r?n.shift():[],a=n.slice(1).reduce(function(e,t){return e||!g(t[0])},!1),i=a?n.map(function(e){return e.shift()}):[];return a&&o.shift(),n=n[0].map(function(e,t){return n.map(function(e){return parseFloat(e[t])})}),{categories:i,series:n.map(function(e,t){return r?{name:o[t],data:e}:{data:e}})}}function d(e,t){var n=function(e){var n=f(e);t(n)},r=function(){return t(null)};T.default.get(e).done(n).fail(r)}function h(e){var t=["type","url"],n={};return S.default.isUndefined(e)?n:(e.split(j).forEach(function(e){var r=e.split(W),o=r[0],a=r.slice(1),i=a.join(W);if(o=o.trim(),0!==i.length){try{i=JSON.parse(i.trim())}catch(e){i=i.trim()}var u=o.split("."),l=u.slice(0),s=l[0];S.default.inArray(s,t)>=0?l.unshift("editorChart"):1===l.length?l.unshift("chart"):"x"!==s&&"y"!==s||(l[0]=s+"Axis");for(var c=n,f=0;f<l.length;f+=1){var d=l[f];c[d]=c[d]||(l.length-1===f?i:{}),c=c[d]}}}),n)}function p(e){return e.replace(/(^(\s*[\n\r])+)|([\n\r]+\s*$)/g,"")}function g(e){return!isNaN(e)&&isFinite(e)}function v(e,t){e=S.default.extend({editorChart:{},chart:{},chartExportMenu:{}},e);var n=e.chart,r=n.width,o=n.height,a=S.default.isUndefined(r),i=S.default.isUndefined(o);if(a||i){var u=t.getBoundingClientRect(),l=u.width;e.chart.width=a?l:r,e.chart.height=i?l:o}return e.editorChart.type=e.editorChart.type?e.editorChart.type+"Chart":"columnChart",e.chartExportMenu.visible=e.chartExportMenu.visible||!1,e}function m(e){var t="chart-"+Math.random().toString(36).substr(2,10),n='<div id="'+t+'" class="chart" />';return setTimeout(function(){var n=document.querySelector("#"+t);try{u(e,function(e){var t=e.data,r=e.options;r=v(r,n);var o=r.editorChart.type;H.indexOf(o)<0?n.innerHTML="invalid chart type. type: bar, column, line, area, pie":q.indexOf(o)>-1&&t.categories.length!==t.series[0].data.length?n.innerHTML="invalid chart data":R.default[o](n,t,r)})}catch(e){n.innerHTML="invalid chart data"}},0),n}function b(e){return e.reduce(function(e,t){var n=t.map(function(e){return!g(e)&&e.indexOf(" ")>=0&&(e='"'+e+'"'),e});return e.push(n.join("\t")),e},[])}function y(e){var t=e.wwEditor.componentManager;t.removeManager("codeblock"),t.addManager(function(e){function t(){return o(this,t),a(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return i(t,e),k(t,[{key:"convertToCodeblock",value:function(e){if(1!==e.length||"TABLE"!==e[0].tagName)return x(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"convertToCodeblock",this).call(this,e);var n=(0,T.default)("<pre />"),r=e.shift(),o=[].slice.call(r.rows).map(function(e){return[].slice.call(e.cells).map(function(e){return e.innerText.trim()})}),a=b(o);return n.append(a.reduce(function(e,t){return e+"<div>"+t+"</div>"},[])),n.attr("data-te-codeblock",""),n[0]}}]),t}(L))}function w(e,t,n){var r="markdown"===t&&e.getTokenAt(n.from).state.overlay.codeBlock;return r=r||"codeblock"===t,r=r&&"wysiwyg"!==t}function _(e,t){var n=t.source,r=t.data;if(w(e,n,r)){var o=r.text.join("\n");if(0===c(o,"\t")){N.default.COLUMN_SEPARATOR="\t";var a=b(N.default.parse(o));r.update(r.from,r.to,a)}}}function E(e){var t=e.options.codeBlockLanguages;t&&t.indexOf(B)<0&&t.push(B),D.setReplacer(B,m),e.isViewer()||(y(e),e.eventManager.listen("pasteBefore",function(t){return _(e.mdEditor.cm,t)}))}Object.defineProperty(t,"__esModule",{value:!0}),t.detectDelimiter=t.parseDSV2ChartData=t.parseCode2ChartOption=t.parseURL2ChartData=t.parseCode2DataAndOptions=void 0;var k=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),x=function e(t,n,r){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var a=Object.getPrototypeOf(t);return null===a?void 0:e(a,n,r)}if("value"in o)return o.value;var i=o.get;if(void 0!==i)return i.call(r)},C=n(0),T=r(C),M=n(1),S=r(M),I=n(29),R=r(I),A=n(2),O=r(A),P=n(49),N=r(P),L=O.default.WwCodeBlockManager,D=O.default.codeBlockManager,B="chart";N.default.IGNORE_QUOTE_WHITESPACE=!1,N.default.IGNORE_RECORD_LENGTH=!0,N.default.DETECT_TYPES=!1;var j=/[\n\r]/,U=[",","\t",/\s+/],W=":",H=["barChart","columnChart","lineChart","areaChart","pieChart"],q=["lineChart","areaChart"];O.default.defineExtension("chart",E),t.parseCode2DataAndOptions=u,t.parseURL2ChartData=d,t.parseCode2ChartOption=h,t.parseDSV2ChartData=f,t.detectDelimiter=s},function(e,t){e.exports=r},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=function e(t,n,r){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var a=Object.getPrototypeOf(t);return null===a?void 0:e(a,n,r)}if("value"in o)return o.value;var i=o.get;if(void 0!==i)return i.call(r)},l=n(31),s=function(e){return e&&e.__esModule?e:{default:e}}(l),c=function(e){function t(e,n,a,i){r(this,t);var u=o(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,n,a,i));return u._initEvent(),u}return a(t,e),i(t,[{key:"_initEvent",value:function(){var e=this,t="";this.eventManager.listen("contentChangedFromMarkdown",function(n){t=n.getValue(),e.isVisible()&&e.lazyRunner.run("refresh",t.replace(/<br>\n/g,"<br>"))}),this.eventManager.listen("previewNeedsRefresh",function(n){e.refresh(n||t)}),this.$el.on("scroll",function(t){e.eventManager.emit("scroll",{source:"preview",data:t})})}},{key:"render",value:function(e){u(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"render",this).call(this,e),this.eventManager.emit("previewRenderAfter",this)}}]),t}(s.default);t.default=c},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(0),u=r(i),l=n(32),s=r(l),c=function(){function e(t,n,r,a){o(this,e),this.eventManager=n,this.convertor=r,this.$el=t,this.isViewer=!!a,this._initContentSection(),this.lazyRunner=new s.default,this.lazyRunner.registerLazyRunFunction("refresh",this.refresh,800,this)}return a(e,[{key:"_initContentSection",value:function(){this._$previewContent=(0,u.default)('<div class="tui-editor-contents" />'),this.$el.append(this._$previewContent)}},{key:"refresh",value:function(e){this.render(this.convertor.toHTMLWithCodeHightlight(e))}},{key:"getHTML",value:function(){return this._$previewContent.html()}},{key:"setHTML",value:function(e){this._$previewContent.html(e)}},{key:"render",value:function(e){var t=this._$previewContent;e=this.eventManager.emit("previewBeforeHook",e)||e,t.empty(),t.html(e)}},{key:"setHeight",value:function(e){this.$el.get(0).style.height=e+"px"}},{key:"setMinHeight",value:function(e){this.$el.get(0).style.minHeight=e+"px"}},{key:"isVisible",value:function(){return"none"!==this.$el.css("display")}}]),e}();t.default=c},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(1),i=function(e){return e&&e.__esModule?e:{default:e}}(a),u=function(){function e(){r(this,e),this.globalTOID=null,this.lazyRunFunctions={}}return o(e,[{key:"run",value:function(e,t,n,r){var o=void 0;return i.default.isString(e)?o=this._runRegisteredRun(e,t,n,r):(o=this._runSingleRun(e,t,n,r,this.globalTOID),this.globalTOID=o),o}},{key:"registerLazyRunFunction",value:function(e,t,n,r){r=r||this,this.lazyRunFunctions[e]={fn:t,delay:n,context:r,TOID:null}}},{key:"_runSingleRun",value:function(e,t,n,r,o){return this._clearTOIDIfNeed(o),o=setTimeout(function(){e.call(n,t)},r)}},{key:"_runRegisteredRun",value:function(e,t,n,r){var o=this.lazyRunFunctions[e],a=o.fn,i=o.TOID;return r=r||o.delay,n=n||o.context,i=this._runSingleRun(a,t,n,r,i),o.TOID=i,i}},{key:"_clearTOIDIfNeed",value:function(e){e&&clearTimeout(e)}}]),e}();t.default=u},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(1),i=function(e){return e&&e.__esModule?e:{default:e}}(a),u=["previewBeforeHook","previewRenderAfter","previewNeedsRefresh","addImageBlobHook","setMarkdownAfter","contentChangedFromWysiwyg","changeFromWysiwyg","contentChangedFromMarkdown","changeFromMarkdown","change","changeModeToWysiwyg","changeModeToMarkdown","changeModeBefore","changeMode","changePreviewStyle","openPopupAddLink","openPopupAddImage","openPopupAddTable","openPopupTableUtils","openHeadingSelect","openPopupCodeBlockLanguages","openPopupCodeBlockEditor","closePopupCodeBlockLanguages","closePopupCodeBlockEditor","closeAllPopup","command","addCommandBefore","htmlUpdate","markdownUpdate","renderedHtmlUpdated","removeEditor","convertorAfterMarkdownToHtmlConverted","convertorBeforeHtmlToMarkdownConverted","convertorAfterHtmlToMarkdownConverted","stateChange","wysiwygSetValueAfter","wysiwygSetValueBefore","wysiwygGetValueBefore","wysiwygProcessHTMLText","wysiwygRangeChangeAfter","wysiwygKeyEvent","scroll","click","mousedown","mouseover","mouseout","mouseup","contextmenu","keydown","keyup","keyMap","load","focus","blur","paste","pasteBefore","willPaste","copy","copyBefore","copyAfter","cut","cutAfter","drop","show","hide"],l=function(){function e(){r(this,e),this.events=new i.default.Map,this.TYPE=new i.default.Enum(u)}return o(e,[{key:"listen",value:function(e,t){var n=this._getTypeInfo(e),r=this.events.get(n.type)||[];if(!this._hasEventType(n.type))throw new Error("There is no event type "+n.type);n.namespace&&(t.namespace=n.namespace),r.push(t),this.events.set(n.type,r)}},{key:"emit",value:function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];var r=t.shift(),o=this._getTypeInfo(r),a=this.events.get(o.type),u=void 0;return a&&i.default.forEach(a,function(e){var n=e.apply(void 0,t);i.default.isUndefined(n)||(u=u||[],u.push(n))}),u}},{key:"emitReduce",value:function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];var r=t.shift(),o=this.events.get(r);return o&&i.default.forEach(o,function(e){var n=e.apply(void 0,t);i.default.isFalsy(n)||(t[0]=n)}),t[0]}},{key:"_getTypeInfo",value:function(e){var t=e.split(".");return{type:t[0],namespace:t[1]}}},{key:"_hasEventType",value:function(e){return!i.default.isUndefined(this.TYPE[this._getTypeInfo(e).type])}},{key:"addEventType",value:function(e){if(this._hasEventType(e))throw new Error("There is already have event type "+e);this.TYPE.set(e)}},{key:"removeEventHandler",value:function(e,t){var n=this,r=this._getTypeInfo(e),o=r.type,a=r.namespace;o&&t?this._removeEventHandlerWithHandler(o,t):o&&!a?this.events.delete(o):!o&&a?this.events.forEach(function(e,t){n._removeEventHandlerWithTypeInfo(t,a)}):o&&a&&this._removeEventHandlerWithTypeInfo(o,a)}},{key:"_removeEventHandlerWithHandler",value:function(e,t){var n=this.events.get(e)||[],r=n.indexOf(t);r>=0&&n.splice(r,1)}},{key:"_removeEventHandlerWithTypeInfo",value:function(e,t){var n=[],r=this.events.get(e);r&&(r.map(function(e){e.namespace!==t&&n.push(e)}),this.events.set(e,n))}}]),e}();t.default=l},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(0),u=r(i),l=n(1),s=r(l),c=n(35),f=r(c),d=/Mac/.test(navigator.platform),h=d?1:0,p=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};o(this,e),this._command=new s.default.Map,this._mdCommand=new s.default.Map,this._wwCommand=new s.default.Map,this._options=u.default.extend({useCommandShortcut:!0},n),this.base=t,this.keyMapCommand={},this._initEvent()}return a(e,[{key:"_addCommandBefore",value:function(e){var t={command:e};return this.base.eventManager.emit("addCommandBefore",t),t.command||e}},{key:"addCommand",value:function(t){for(var n=arguments.length,r=Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];r.length&&(t=e.command.apply(e,[t].concat(r))),t=this._addCommandBefore(t);var a=t.getName(),i=void 0;return t.isMDType()?i=this._mdCommand:t.isWWType()?i=this._wwCommand:t.isGlobalType()&&(i=this._command),i.set(a,t),t.keyMap&&(this.keyMapCommand[t.keyMap[h]]=a),t}},{key:"_initEvent",value:function(){var e=this;this.base.eventManager.listen("command",function(){e.exec.apply(e,arguments)}),this.base.eventManager.listen("keyMap",function(t){if(e._options.useCommandShortcut){var n=e.keyMapCommand[t.keyMap];n&&(t.data.preventDefault(),e.exec(n))}})}},{key:"exec",value:function(e){var t=void 0,n=void 0,r=this.base;if(t=this._command.get(e),t||(this.base.isMarkdownMode()?(t=this._mdCommand.get(e),r=this.base.mdEditor):(t=this._wwCommand.get(e),r=this.base.wwEditor)),t){for(var o,a=arguments.length,i=Array(a>1?a-1:0),u=1;u<a;u++)i[u-1]=arguments[u];i.unshift(r),n=(o=t).exec.apply(o,i)}return n}}]),e}();p.command=function(e,t){var n=f.default.factory(e,t.name,t.keyMap);return s.default.extend(n,t),n},t.default=p},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(1),i=function(e){return e&&e.__esModule?e:{default:e}}(a),u=function(){function e(t,n,o){r(this,e),this.name=t,this.type=n,o&&this.setKeyMap(o)}return o(e,[{key:"getName",value:function(){return this.name}},{key:"getType",value:function(){return this.type}},{key:"isMDType",value:function(){return this.type===e.TYPE.MD}},{key:"isWWType",value:function(){return this.type===e.TYPE.WW}},{key:"isGlobalType",value:function(){return this.type===e.TYPE.GB}},{key:"setKeyMap",value:function(e,t){this.keyMap=[e,t]}}]),e}();u.factory=function(e,t){var n=void 0;"markdown"===e?n=u.TYPE.MD:"wysiwyg"===e?n=u.TYPE.WW:"global"===e&&(n=u.TYPE.GB);var r=new u(t.name,n);return i.default.extend(r,t),r},u.TYPE={MD:0,WW:1,GB:2},t.default=u},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(1),i=function(e){return e&&e.__esModule?e:{default:e}}(a),u=function(){function e(){r(this,e),this.exts=new i.default.Map}return o(e,[{key:"defineExtension",value:function(e,t){this.exts.set(e,t)}},{key:"applyExtension",value:function(e,t){var n=this;t&&t.forEach(function(t){var r=i.default.isObject(t),o=r?t.name:t;if(n.exts.has(o)){var a=n.exts.get(o);r?a(e,t):a(e)}})}}]),e}();t.default=new u},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(0),u=r(i),l=n(1),s=r(l),c=n(38),f=r(c),d=n(17),h=r(d),p=n(39),g=r(p),v=n(40),m=r(v),b=n(41),y=r(b),w=n(42),_=r(w),E=n(43),k=r(E),x=n(44),C=r(x),T=n(45),M=r(T),S=n(46),I=r(S),R=n(18),A=r(R),O=new f.default({html:!0,breaks:!0,quotes:"“”‘’",langPrefix:"lang-",highlight:function(e,t){return A.default.createCodeBlockHtml(t,e)}}),P=new f.default({html:!0,breaks:!0,quotes:"“”‘’",langPrefix:"lang-"});O.block.ruler.at("code",_.default),O.block.ruler.at("table",C.default,{alt:["paragraph","reference"]}),O.block.ruler.at("blockquote",k.default,{alt:["paragraph","reference","blockquote","list"]}),O.block.ruler.at("html_block",M.default,{alt:["paragraph","reference","blockquote"]}),O.inline.ruler.at("backticks",I.default),O.use(m.default),O.use(y.default),P.block.ruler.at("code",_.default),P.block.ruler.at("table",C.default,{alt:["paragraph","reference"]}),P.block.ruler.at("blockquote",k.default,{alt:["paragraph","reference","blockquote","list"]}),P.block.ruler.at("html_block",M.default,{alt:["paragraph","reference","blockquote"]}),P.inline.ruler.at("backticks",I.default),P.use(m.default),P.use(y.default);var N=function(){function e(t){o(this,e),this.eventManager=t}return a(e,[{key:"_markdownToHtmlWithCodeHighlight",value:function(e){e=e.replace(/<br>/gi,"<br data-tomark-pass>");for(var t=/(<img[^>]*)(onerror\s*=\s*[\"']?[^\"']*[\"']?)(.*)/i;t.exec(e);)e=e.replace(t,"$1$3");var n=O.render(e);return n=this._removeBrToMarkPassAttributeInCode(n)}},{key:"_markdownToHtml",value:function(e){e=e.replace(/<br>/gi,"<br data-tomark-pass>");for(var t=/(<img[^>]*)(onerror\s*=\s*[\"']?[^\"']*[\"']?)(.*)/i;t.exec(e);)e=e.replace(t,"$1$3");var n=P.render(e);return n=this._removeBrToMarkPassAttributeInCode(n)}},{key:"_removeBrToMarkPassAttributeInCode",value:function(e){var t=(0,u.default)("<div />");return t.html(e),t.find("code, pre").each(function(e,t){var n=(0,u.default)(t);n.html(n.html().replace(/&lt;br data-tomark-pass&gt;/,"&lt;br&gt;"))}),e=t.html()}},{key:"toHTMLWithCodeHightlight",value:function(e){var t=this._markdownToHtmlWithCodeHighlight(e);return t=this.eventManager.emitReduce("convertorAfterMarkdownToHtmlConverted",t)}},{key:"toHTML",value:function(e){var t=this._markdownToHtml(e);return t=this.eventManager.emitReduce("convertorAfterMarkdownToHtmlConverted",t)}},{key:"initHtmlSanitizer",value:function(){this.eventManager.listen("convertorAfterMarkdownToHtmlConverted",function(e){return(0,g.default)(e,!0)})}},{key:"toMarkdown",value:function(e,t){var n=[];e=this.eventManager.emitReduce("convertorBeforeHtmlToMarkdownConverted",e);var r=(0,h.default)(this._appendAttributeForBrIfNeed(e),t);return r=this.eventManager.emitReduce("convertorAfterHtmlToMarkdownConverted",r),s.default.forEach(r.split("\n"),function(e,t){var r=/^\|[^|]*\|/gi;/`[^`]*<br>[^`]*`/gi.test(e)||r.test(e)||(e=e.replace(/<br>/gi,"<br>\n")),n[t]=e}),n.join("\n")}},{key:"_appendAttributeForBrIfNeed",value:function(e){var t=/<br>/gi,n=/<br \/><br \/>/gi,r=/<br data-tomark-pass \/><br \/>(.)/gi,o=/([^>]|<\/b>|<\/i>|<\/s>|<img [^>]*>)/,a=/<br data-tomark-pass \/><br data-tomark-pass \/>/,i=new RegExp(o.source+a.source,"g");e=e.replace(t,"<br />"),e=e.replace(n,"<br data-tomark-pass /><br data-tomark-pass />");var l=document.createElement("div"),s=(0,u.default)(l);return s.html(e),s.find("pre br,code br").each(function(e,t){t.hasAttribute("data-tomark-pass")&&t.removeAttribute("data-tomark-pass")}),e=s.html().replace(/<br data-tomark-pass="">/gi,"<br data-tomark-pass />"),e=e.replace(t,"<br />"),e=e.replace(r,"<br data-tomark-pass /><br data-tomark-pass />$1"),e=e.replace(i,"$1<br /><br />")}}],[{key:"getMarkdownitHighlightRenderer",value:function(){return O}}]),e}();t.default=N},function(e,t){e.exports=o},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){var n=(0,s.default)("<div />");return e=e.replace(/<!--[\s\S]*?-->/g,""),n.append(e),a(n),i(n),u(n,t)}function a(e){e.find("script, iframe, textarea, form, button, select, meta, style, link, title").remove()}function i(e){e.find("*").each(function(e,t){var n=t.attributes,r=f.default.toArray(n).filter(function(e){var t=e.name.match(d),n=e.name.match(h);return!t&&!n});f.default.forEachArray(r,function(e){n.getNamedItem(e.name)&&n.removeNamedItem(e.name)})})}function u(e,t){var n=void 0;if(t)n=e[0].innerHTML;else{for(var r=document.createDocumentFragment(),o=f.default.toArray(e[0].childNodes),a=o.length,i=0;i<a;i+=1)r.appendChild(o[i]);n=r}return n}Object.defineProperty(t,"__esModule",{value:!0});var l=n(0),s=r(l),c=n(1),f=r(c),d=new RegExp("^(abbr|align|alt|axis|bgcolor|border|cellpadding|cellspacing|class|clear|color|cols|compact|coords|dir|face|headers|height|hreflang|hspace|ismap|lang|language|nohref|nowrap|rel|rev|rows|rules|scope|scrolling|shape|size|span|start|summary|tabindex|target|title|type|valign|value|vspace|width|checked|mathvariant|encoding|id|name|background|cite|href|longdesc|src|usemap|xlink:href|data-+|checked|style)","g"),h=new RegExp("^(accent-height|accumulate|additive|alphabetic|arabic-form|ascent|baseProfile|bbox|begin|by|calcMode|cap-height|class|color|color-rendering|content|cx|cy|d|dx|dy|descent|display|dur|end|fill|fill-rule|font-family|font-size|font-stretch|font-style|font-variant|font-weight|from|fx|fy|g1|g2|glyph-name|gradientUnits|hanging|height|horiz-adv-x|horiz-origin-x|ideographic|k|keyPoints|keySplines|keyTimes|lang|marker-end|marker-mid|marker-start|markerHeight|markerUnits|markerWidth|mathematical|max|min|offset|opacity|orient|origin|overline-position|overline-thickness|panose-1|path|pathLength|points|preserveAspectRatio|r|refX|refY|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|rotate|rx|ry|slope|stemh|stemv|stop-color|stop-opacity|strikethrough-position|strikethrough-thickness|stroke|stroke-dasharray|stroke-dashoffset|stroke-linecap|stroke-linejoin|stroke-miterlimit|stroke-opacity|stroke-width|systemLanguage|target|text-anchor|to|transform|type|u1|u2|underline-position|underline-thickness|unicode|unicode-range|units-per-em|values|version|viewBox|visibility|width|widths|x|x-height|x1|x2|xlink:actuate|xlink:arcrole|xlink:role|xlink:show|xlink:title|xlink:type|xml:base|xml:lang|xml:space|xmlns|xmlns:xlink|y|y1|y2|zoomAndPan)","g");t.default=o},function(e,t,n){"use strict";function r(e){e.content=e.content.slice(4),e.children[0].content=e.children[0].content.slice(4)}function o(e){var t=!1;return 0!==e.content.indexOf("[x]")&&0!==e.content.indexOf("[X]")||(t=!0),t}function a(e,t,n){var r=e.attrIndex(t),o=[t,n];r<0?e.attrPush(o):e.attrs[r]=o}function i(e,t){return"inline"===e[t].type&&"paragraph_open"===e[t-1].type&&"list_item_open"===e[t-2].type&&(0===e[t].content.indexOf("[ ]")||0===e[t].content.indexOf("[x]")||0===e[t].content.indexOf("[X]"))}var u=function(e){e.core.ruler.after("inline","tui-task-list",function(e){var t,n,u=e.tokens;for(n=2;n<u.length;n+=1)i(u,n)&&(t=o(u[n])?"task-list-item checked":"task-list-item",r(u[n]),a(u[n-2],"class",t),a(u[n-2],"data-te-task",""))})};e.exports=u},function(e,t,n){"use strict";function r(e,t,n){var r=e.attrIndex(t),o=[t,n];r<0?e.attrPush(o):e.attrs[r]=o}function o(e){return!0===e.block&&"code"===e.tag&&"fence"===e.type}function a(e,t){return e.replace(t?/&/g:/&(?!#?\w+;)/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}var i=function(e){e.core.ruler.after("block","tui-code-block",function(e){var t,n,i=e.tokens;for(n=0;n<i.length;n+=1)t=i[n],o(t)&&t.info&&r(t,"data-language",a(t.info.replace(" ",""),!0))})};e.exports=i},function(e,t,n){"use strict";e.exports=function(e,t,n){var r,o,a,i=/ {0,3}(?:-|\*|\d\.) /,u=e.src.split("\n"),l=u[t],s=0;if(l.match(i)||e.sCount[t]-e.blkIndent<4)return!1;for(o=r=t+1;r<n;)if(e.isEmpty(r)){if(++s>=2&&"list"===e.parentType)break;r++}else{if(s=0,!(e.sCount[r]-e.blkIndent>=4))break;r++,o=r}return e.line=o,a=e.push("code_block","code",0),a.content=e.getLines(t,o,4+e.blkIndent,!0),a.map=[t,e.line],!0}},function(e,t,n){"use strict";function r(e){switch(e){case 9:case 32:return!0}return!1}e.exports=function(e,t,n,o){var a,i,u,l,s,c,f,d,h,p,g,v,m,b,y,w,_,E,k,x,C=e.lineMax,T=e.bMarks[t]+e.tShift[t],M=e.eMarks[t],S=/(?:-|\*|\d+\.) {1,4}(?:> {0,3})[^>]*$/,I=e.src.split("\n"),R=I[t];if(e.sCount[t]-e.blkIndent>=4)return!1;if(62!==e.src.charCodeAt(T++))return!1;if(R.match(S))return!1;if(o)return!0;for(l=h=e.sCount[t]+T-(e.bMarks[t]+e.tShift[t]),32===e.src.charCodeAt(T)?(T++,l++,h++,a=!1,w=!0):9===e.src.charCodeAt(T)?(w=!0,(e.bsCount[t]+h)%4==3?(T++,l++,h++,a=!1):a=!0):w=!1,p=[e.bMarks[t]],e.bMarks[t]=T;T<M&&(i=e.src.charCodeAt(T),r(i));)9===i?h+=4-(h+e.bsCount[t]+(a?1:0))%4:h++,T++;for(g=[e.bsCount[t]],e.bsCount[t]=e.sCount[t]+1+(w?1:0),c=T>=M,b=[e.sCount[t]],e.sCount[t]=h-l,y=[e.tShift[t]],e.tShift[t]=T-e.bMarks[t],E=e.md.block.ruler.getRules("blockquote"),m=e.parentType,e.parentType="blockquote",x=!1,d=t+1;d<n&&(e.sCount[d]<e.blkIndent&&(x=!0),T=e.bMarks[d]+e.tShift[d],M=e.eMarks[d],!(T>=M));d++)if(62!==e.src.charCodeAt(T++)||x){if(c)break;for(_=!1,u=0,s=E.length;u<s;u++)if(E[u](e,d,n,!0)){_=!0;break}if(_){e.lineMax=d,0!==e.blkIndent&&(p.push(e.bMarks[d]),g.push(e.bsCount[d]),y.push(e.tShift[d]),b.push(e.sCount[d]),e.sCount[d]-=e.blkIndent);break}p.push(e.bMarks[d]),g.push(e.bsCount[d]),y.push(e.tShift[d]),b.push(e.sCount[d]),e.sCount[d]=-1}else{for(l=h=e.sCount[d]+T-(e.bMarks[d]+e.tShift[d]),32===e.src.charCodeAt(T)?(T++,l++,h++,a=!1,w=!0):9===e.src.charCodeAt(T)?(w=!0,(e.bsCount[d]+h)%4==3?(T++,l++,h++,a=!1):a=!0):w=!1,p.push(e.bMarks[d]),e.bMarks[d]=T;T<M&&(i=e.src.charCodeAt(T),r(i));)9===i?h+=4-(h+e.bsCount[d]+(a?1:0))%4:h++,T++;c=T>=M,g.push(e.bsCount[d]),e.bsCount[d]=e.sCount[d]+1+(w?1:0),b.push(e.sCount[d]),e.sCount[d]=h-l,y.push(e.tShift[d]),e.tShift[d]=T-e.bMarks[d]}for(v=e.blkIndent,e.blkIndent=0,k=e.push("blockquote_open","blockquote",1),k.markup=">",k.map=f=[t,0],e.md.block.tokenize(e,t,d),k=e.push("blockquote_close","blockquote",-1),k.markup=">",e.lineMax=C,e.parentType=m,f[1]=e.line,u=0;u<y.length;u++)e.bMarks[u+t]=p[u],e.tShift[u+t]=y[u],e.sCount[u+t]=b[u],e.bsCount[u+t]=g[u];return e.blkIndent=v,!0}},function(e,t,n){"use strict";function r(e,t){var n=e.bMarks[t]+e.blkIndent,r=e.eMarks[t];return e.src.substr(n,r-n)}function o(e){var t,n=[],r=0,o=e.length,a=0,i=0,u=!1,l=0;for(t=e.charCodeAt(r);r<o;)96===t&&a%2==0?(u=!u,l=r):124!==t||a%2!=0||u?92===t?a+=1:a=0:(n.push(e.substring(i,r)),i=r+1),r+=1,r===o&&u&&(u=!1,r=l+1),t=e.charCodeAt(r);return n.push(e.substring(i)),n}e.exports=function(e,t,n,a){var i,u,l,s,c,f,d,h,p,g,v,m,b;if(t+2>n)return!1;if(c=t+1,e.sCount[c]<e.blkIndent)return!1;if((l=e.bMarks[c]+e.tShift[c])>=e.eMarks[c])return!1;if(124!==(i=e.src.charCodeAt(l))&&45!==i&&58!==i)return!1;if(u=r(e,t+1),!/^[-:| ]+$/.test(u))return!1;for(f=u.split("|"),p=[],s=0;s<f.length;s+=1){if(!(v=f[s].trim())){if(0===s||s===f.length-1)continue;return!1}if(!/^:?-+:?$/.test(v))return!1;58===v.charCodeAt(v.length-1)?p.push(58===v.charCodeAt(0)?"center":"right"):58===v.charCodeAt(0)?p.push("left"):p.push("")}if(g=p.length,u=r(e,t).trim(),-1===u.indexOf("|"))return!1;if(f=o(u.replace(/^\||\|$/g,"")),(d=f.length)>g)return!1;if(d<g){for(s=0;s<g-d;s+=1)f.push("");d=f.length}if(a)return!0;for(h=e.push("table_open","table",1),h.map=m=[t,0],h=e.push("thead_open","thead",1),h.map=[t,t+1],h=e.push("tr_open","tr",1),h.map=[t,t+1],s=0;s<d;s+=1)h=e.push("th_open","th",1),h.map=[t,t+1],p[s]&&(h.attrs=[["align",p[s]]]),h=e.push("inline","",0),h.content=f[s].trim(),h.map=[t,t+1],h.children=[],h=e.push("th_close","th",-1);for(h=e.push("tr_close","tr",-1),h=e.push("thead_close","thead",-1),h=e.push("tbody_open","tbody",1),h.map=b=[t+2,0],c=t+2;c<n&&!(e.sCount[c]<e.blkIndent)&&(u=r(e,c),-1!==u.indexOf("|"));c+=1){for(f=o(u.replace(/^\||\|\s*$/g,"")),h=e.push("tr_open","tr",1),s=0;s<d;s+=1)h=e.push("td_open","td",1),p[s]&&(h.attrs=[["align",p[s]]]),h=e.push("inline","",0),h.content=f[s]?f[s].trim():"",h.children=[],h=e.push("td_close","td",-1);h=e.push("tr_close","tr",-1)}return h=e.push("tbody_close","tbody",-1),h=e.push("table_close","table",-1),m[1]=b[1]=c,e.line=c,!0}},function(e,t,n){"use strict";var r=["area","base","br","col","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"],o=[[/^<(script|pre|style)(?=(\s|>|$))/i,/<\/(script|pre|style)>/i,!0],[/^<!--/,/-->/,!0],[/^<\?/,/\?>/,!0],[/^<![A-Z]/,/>/,!0],[/^<!\[CDATA\[/,/\]\]>/,!0],[new RegExp("^<("+r.join("|")+")","i"),/^\/?>$/,!0],[new RegExp("^</?(address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h1|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|pre|section|source|title|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul)(?=(\\s|/?>|$))","i"),/^$/,!0],[/^(?:<[A-Za-z][A-Za-z0-9\-]*(?:\s+[a-zA-Z_:][a-zA-Z0-9:._-]*(?:\s*=\s*(?:[^"'=<>`\x00-\x20]+|'[^']*'|"[^"]*"))?)*\s*\/?>|<\/[A-Za-z][A-Za-z0-9\-]*\s*>)\s*$/,/^$/,!1]];e.exports=function(e,t,n,r){var a,i,u,l,s=e.bMarks[t]+e.tShift[t],c=e.eMarks[t];if(!e.md.options.html)return!1;if(60!==e.src.charCodeAt(s))return!1;for(l=e.src.slice(s,c),a=0;a<o.length;a++)if(o[a][0].test(l)){if(5===a)return!1;break}if(a===o.length)return!1;if(r)return o[a][2];if(i=t+1,!o[a][1].test(l))for(;i<n&&!(e.sCount[i]<e.blkIndent);i++)if(s=e.bMarks[i]+e.tShift[i],c=e.eMarks[i],l=e.src.slice(s,c),o[a][1].test(l)){0!==l.length&&i++;break}return e.line=i,u=e.push("html_block","",0),u.map=[t,i],u.content=e.getLines(t,i,e.blkIndent,!0),!0}},function(e,t,n){"use strict";e.exports=function(e,t){var n,r,o,a,i,u,l=e.pos;if(96!==e.src.charCodeAt(l))return!1;for(n=l,l++,r=e.posMax;l<r&&96===e.src.charCodeAt(l);)l++;for(o=e.src.slice(n,l),a=i=l;-1!==(a=e.src.indexOf("`",i));){for(i=a+1;i<r&&96===e.src.charCodeAt(i);)i++;if(i-a===o.length)return t||(u=e.push("code_inline","code",0),u.markup=o,u.content=e.src.slice(l,a).replace(/[ \n]+/g," ").trim(),u.attrSet("data-backticks",u.markup.length)),e.pos=i,!0}return t||(e.pending+=o),e.pos+=o.length,!0}},function(e,t){e.exports=a},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var o=n(0),a=r(o),i=n(1),u=r(i),l=/\u200B/g,s=function(e){return e&&e.nodeType===Node.TEXT_NODE},c=function(e){return e&&e.nodeType===Node.ELEMENT_NODE},f=function(e){return c(e)?e.tagName:"TEXT"},d=function(e){var t=void 0;return c(e)?t=e.textContent.replace(l,"").length:s(e)&&(t=e.nodeValue.replace(l,"").length),t},h=function(e){var t=void 0;return c(e)?t=e.childNodes.length:s(e)&&(t=e.nodeValue.replace(l,"").length),t},p=function(e){var t=e.parentNode.childNodes,n=void 0,r=void 0,o=void 0;for(n=0,r=t.length;n<r;n+=1)if(t[n]===e){o=n;break}return o},g=function(e,t){var n=void 0;return s(e)?n=e:e.childNodes.length&&t>=0&&(n=e.childNodes[t]),n},v=function(e,t,n){for(var r=e+"Sibling",o=void 0,a=void 0;t&&!t[r]&&(o=f(t.parentNode))!==n&&"BODY"!==o;)t=t.parentNode;return t[r]&&(a=t[r]),a},m=function(e,t,n){return t>0?g(e,t-1):v("previous",e,n)},b=function(e,t){for(var n=void 0;e.parentNode&&!t(e.parentNode);)e=e.parentNode;return t(e.parentNode)&&(n=e),n},y=function(e,t){return u.default.isString(t)?b(e,function(e){return t===f(e)}):b(e,function(e){return t===e})},w=function(e,t,n){var r=e+"Sibling",o=void 0;return t=y(t,n),t&&t[r]&&(o=t[r]),o},_=function(e,t){return w("previous",e,t)},E=function(e,t){return w("next",e,t)},k=function(e){return y(e,"BODY")},x=function(e){for(e=e.previousSibling||e.parentNode;!s(e)&&"BODY"!==f(e);)if(e.previousSibling)for(e=e.previousSibling;e.lastChild;)e=e.lastChild;else e=e.parentNode;return"BODY"===f(e)&&(e=null),e},C=function(e,t,n){var r=[],o="",a=0,i=void 0;if(!t.length)return r;for(var l=t.shift(),s=document.createTreeWalker(e,4,null,!1);s.nextNode();){for(o=s.currentNode.nodeValue||"",n&&(o=n(o)),i=a+o.length;i>=l;){if(r.push({container:s.currentNode,offsetInContainer:l-a,offset:l}),!t.length)return r;l=t.shift()}a=i}do{r.push({container:s.currentNode,offsetInContainer:o.length,offset:l}),l=t.shift()}while(!u.default.isUndefined(l));return r},T=function(e){var t={};t.tagName=e.nodeName,e.id&&(t.id=e.id);var n=e.className.trim();return n&&(t.className=n),t},M=function(e,t){for(var n=[];e&&e!==t;)c(e)&&n.unshift(T(e)),e=e.parentNode;return n},S=function(e,t){var n=!0;return u.default.isUndefined(t)||"next"!==t&&"previous"!==t?null:("previous"===t&&(n=!1),n?e.nextElementSibling:e.previousElementSibling)},I=function(e,t,n){var r=!0,o=null,i=void 0,l=void 0,s=void 0,c=void 0,d=void 0,h=void 0;return u.default.isUndefined(t)||"next"!==t&&"previous"!==t?null:("previous"===t&&(r=!1),e?(i=(0,a.default)(e),r?(s=i.parent().next(),c=i.parents("thead"),d=c[0]&&c.next(),h=d&&"TBODY"===f(d[0]),l=0):(s=i.parent().prev(),c=i.parents("tbody"),d=c[0]&&c.prev(),h=d&&"THEAD"===f(d[0]),l=e.parentNode.childNodes.length-1),!u.default.isUndefined(n)&&n||(l=p(e)),s[0]?o=s.children("td,th")[l]:c[0]&&h&&(o=d.find("td,th")[l]),o):null)};t.default={getNodeName:f,isTextNode:s,isElemNode:c,getTextLength:d,getOffsetLength:h,getPrevOffsetNodeUntil:m,getNodeOffsetOfParent:p,getChildNodeByOffset:g,getTopPrevNodeUnder:_,getTopNextNodeUnder:E,getParentUntil:y,getTopBlockNode:k,getPrevTextNode:x,findOffsetNode:C,getPath:M,getNodeInfo:T,getTableCellByDirection:S,getSiblingRowCellByDirection:I}},function(e,t,n){"use strict";"function"==typeof Symbol&&Symbol.iterator;!function(r){var o={};o.RELAXED=!1,o.IGNORE_RECORD_LENGTH=!1,o.IGNORE_QUOTES=!1,o.LINE_FEED_OK=!0,o.CARRIAGE_RETURN_OK=!0,o.DETECT_TYPES=!0,o.IGNORE_QUOTE_WHITESPACE=!0,o.DEBUG=!1,o.COLUMN_SEPARATOR=",",o.ERROR_EOF="UNEXPECTED_END_OF_FILE",o.ERROR_CHAR="UNEXPECTED_CHARACTER",o.ERROR_EOL="UNEXPECTED_END_OF_RECORD",o.WARN_SPACE="UNEXPECTED_WHITESPACE";o.parse=function(e){var t=o.result=[];o.COLUMN_SEPARATOR=o.COLUMN_SEPARATOR instanceof RegExp?new RegExp("^"+o.COLUMN_SEPARATOR.source):o.COLUMN_SEPARATOR,o.offset=0,o.str=e,o.record_begin(),o.debug("parse()",e);for(var n;;){if(n=e[o.offset++],o.debug("c",n),null==n){o.escaped&&o.error(o.ERROR_EOF),o.record&&(o.token_end(),o.record_end()),o.debug("...bail",n,o.state,o.record),o.reset();break}if(null==o.record){if(o.RELAXED&&("\n"==n||"\r"==n&&"\n"==e[o.offset+1]))continue;o.record_begin()}if(0==o.state){if((" "===n||"\t"===n)&&'"'==o.next_nonspace()){if(o.RELAXED||o.IGNORE_QUOTE_WHITESPACE)continue;o.warn(o.WARN_SPACE)}if('"'==n&&!o.IGNORE_QUOTES){o.debug("...escaped start",n),o.escaped=!0,o.state=1;continue}o.state=1}1==o.state&&o.escaped?'"'==n?'"'==e[o.offset]?(o.debug("...escaped quote",n),o.token+='"',o.offset++):(o.debug("...escaped end",n),o.escaped=!1,o.state=2):(o.token+=n,o.debug("...escaped add",n,o.token)):"\r"==n?("\n"==e[o.offset]?o.offset++:o.CARRIAGE_RETURN_OK||o.error(o.ERROR_CHAR),o.token_end(),o.record_end()):"\n"==n?(o.LINE_FEED_OK||o.RELAXED||o.error(o.ERROR_CHAR),o.token_end(),o.record_end()):o.test_regex_separator(e)||o.COLUMN_SEPARATOR==n?o.token_end():1==o.state?(o.token+=n,o.debug("...add",n,o.token)):" "===n||"\t"===n?o.IGNORE_QUOTE_WHITESPACE||o.error(o.WARN_SPACE):o.RELAXED||o.error(o.ERROR_CHAR)}return t},o.stream=function(){var e=n(19),t=new e.Transform({objectMode:!0});return t.EOL="\n",t.prior="",t.emitter=function(e){return function(t){e.push(o.parse(t+e.EOL))}}(t),t._transform=function(e,t,n){var r=""==this.prior?e.toString().split(this.EOL):(this.prior+e.toString()).split(this.EOL);this.prior=r.pop(),r.forEach(this.emitter),n()},t._flush=function(e){""!=this.prior&&(this.emitter(this.prior),this.prior=""),e()},t},o.test_regex_separator=function(e){if(!(o.COLUMN_SEPARATOR instanceof RegExp))return!1;var t;return e=e.slice(o.offset-1),t=o.COLUMN_SEPARATOR.exec(e),t&&(o.offset+=t[0].length-1),null!==t},o.stream.json=function(){var e=n(62),t=(n(19),new streamTransform({objectMode:!0}));return t._transform=function(n,r,o){t.push(JSON.stringify(n.toString())+e.EOL),o()},t},o.reset=function(){o.state=null,o.token=null,o.escaped=null,o.record=null,o.offset=null,o.result=null,o.str=null},o.next_nonspace=function(){for(var e,t=o.offset;t<o.str.length;)if(" "!=(e=o.str[t++])&&"\t"!==e)return e;return null},o.record_begin=function(){o.escaped=!1,o.record=[],o.token_begin(),o.debug("record_begin")},o.record_end=function(){o.state=4,!o.IGNORE_RECORD_LENGTH&&!o.RELAXED&&o.result.length>0&&o.record.length!=o.result[0].length&&o.error(o.ERROR_EOL),o.result.push(o.record),o.debug("record end",o.record),o.record=null},o.resolve_type=function(e){return e.match(/^[-+]?[0-9]+(\.[0-9]+)?([eE][-+]?[0-9]+)?$/)?e=parseFloat(e):e.match(/^(true|false)$/i)?e=Boolean(e.match(/true/i)):"undefined"===e?e=void 0:"null"===e&&(e=null),e},o.token_begin=function(){o.state=0,o.token=""},o.token_end=function(){o.DETECT_TYPES&&(o.token=o.resolve_type(o.token)),o.record.push(o.token),o.debug("token end",o.token),o.token_begin()},o.debug=function(){o.DEBUG&&console.log(arguments)},o.dump=function(e){return[e,"at char",o.offset,":",o.str.substr(o.offset-50,50).replace(/\r/gm,"\\r").replace(/\n/gm,"\\n").replace(/\t/gm,"\\t")].join(" ")},o.error=function(e){var t=o.dump(e);throw o.reset(),t},o.warn=function(e){if(o.DEBUG){var t=o.dump(e);try{return void console.warn(t)}catch(e){}try{console.log(t)}catch(e){}}},void 0!==e&&e.exports?e.exports=o:t.CSV=o}()},function(e,t,n){"use strict";function r(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");return"="===e[t-2]?2:"="===e[t-1]?1:0}function o(e){return 3*e.length/4-r(e)}function a(e){var t,n,o,a,i,u=e.length;a=r(e),i=new f(3*u/4-a),n=a>0?u-4:u;var l=0;for(t=0;t<n;t+=4)o=c[e.charCodeAt(t)]<<18|c[e.charCodeAt(t+1)]<<12|c[e.charCodeAt(t+2)]<<6|c[e.charCodeAt(t+3)],i[l++]=o>>16&255,i[l++]=o>>8&255,i[l++]=255&o;return 2===a?(o=c[e.charCodeAt(t)]<<2|c[e.charCodeAt(t+1)]>>4,i[l++]=255&o):1===a&&(o=c[e.charCodeAt(t)]<<10|c[e.charCodeAt(t+1)]<<4|c[e.charCodeAt(t+2)]>>2,i[l++]=o>>8&255,i[l++]=255&o),i}function i(e){return s[e>>18&63]+s[e>>12&63]+s[e>>6&63]+s[63&e]}function u(e,t,n){for(var r,o=[],a=t;a<n;a+=3)r=(e[a]<<16)+(e[a+1]<<8)+e[a+2],o.push(i(r));return o.join("")}function l(e){for(var t,n=e.length,r=n%3,o="",a=[],i=0,l=n-r;i<l;i+=16383)a.push(u(e,i,i+16383>l?l:i+16383));return 1===r?(t=e[n-1],o+=s[t>>2],o+=s[t<<4&63],o+="=="):2===r&&(t=(e[n-2]<<8)+e[n-1],o+=s[t>>10],o+=s[t>>4&63],o+=s[t<<2&63],o+="="),a.push(o),a.join("")}t.byteLength=o,t.toByteArray=a,t.fromByteArray=l;for(var s=[],c=[],f="undefined"!=typeof Uint8Array?Uint8Array:Array,d="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",h=0,p=d.length;h<p;++h)s[h]=d[h],c[d.charCodeAt(h)]=h;c["-".charCodeAt(0)]=62,c["_".charCodeAt(0)]=63},function(e,t){t.read=function(e,t,n,r,o){var a,i,u=8*o-r-1,l=(1<<u)-1,s=l>>1,c=-7,f=n?o-1:0,d=n?-1:1,h=e[t+f];for(f+=d,a=h&(1<<-c)-1,h>>=-c,c+=u;c>0;a=256*a+e[t+f],f+=d,c-=8);for(i=a&(1<<-c)-1,a>>=-c,c+=r;c>0;i=256*i+e[t+f],f+=d,c-=8);if(0===a)a=1-s;else{if(a===l)return i?NaN:1/0*(h?-1:1);i+=Math.pow(2,r),a-=s}return(h?-1:1)*i*Math.pow(2,a-r)},t.write=function(e,t,n,r,o,a){var i,u,l,s=8*a-o-1,c=(1<<s)-1,f=c>>1,d=23===o?Math.pow(2,-24)-Math.pow(2,-77):0,h=r?0:a-1,p=r?1:-1,g=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(u=isNaN(t)?1:0,i=c):(i=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-i))<1&&(i--,l*=2),t+=i+f>=1?d/l:d*Math.pow(2,1-f),t*l>=2&&(i++,l/=2),i+f>=c?(u=0,i=c):i+f>=1?(u=(t*l-1)*Math.pow(2,o),i+=f):(u=t*Math.pow(2,f-1)*Math.pow(2,o),i=0));o>=8;e[n+h]=255&u,h+=p,u/=256,o-=8);for(i=i<<o|u,s+=o;s>0;e[n+h]=255&i,h+=p,i/=256,s-=8);e[n+h-p]|=128*g}},function(e,t){},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t,n){e.copy(t,n)}var a=n(12).Buffer;e.exports=function(){function e(){r(this,e),this.head=null,this.tail=null,this.length=0}return e.prototype.push=function(e){var t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length},e.prototype.unshift=function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length},e.prototype.shift=function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}},e.prototype.clear=function(){this.head=this.tail=null,this.length=0},e.prototype.join=function(e){if(0===this.length)return"";for(var t=this.head,n=""+t.data;t=t.next;)n+=e+t.data;return n},e.prototype.concat=function(e){if(0===this.length)return a.alloc(0);if(1===this.length)return this.head.data;for(var t=a.allocUnsafe(e>>>0),n=this.head,r=0;n;)o(n.data,t,r),r+=n.data.length,n=n.next;return t},e}()},function(e,t,n){function r(e,t){this._id=e,this._clearFn=t}var o=Function.prototype.apply;t.setTimeout=function(){return new r(o.call(setTimeout,window,arguments),clearTimeout)},t.setInterval=function(){return new r(o.call(setInterval,window,arguments),clearInterval)},t.clearTimeout=t.clearInterval=function(e){e&&e.close()},r.prototype.unref=r.prototype.ref=function(){},r.prototype.close=function(){this._clearFn.call(window,this._id)},t.enroll=function(e,t){clearTimeout(e._idleTimeoutId),e._idleTimeout=t},t.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},t._unrefActive=t.active=function(e){clearTimeout(e._idleTimeoutId);var t=e._idleTimeout;t>=0&&(e._idleTimeoutId=setTimeout(function(){e._onTimeout&&e._onTimeout()},t))},n(55),t.setImmediate=setImmediate,t.clearImmediate=clearImmediate},function(e,t,n){(function(e,t){!function(e,n){"use strict";function r(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),n=0;n<t.length;n++)t[n]=arguments[n+1];var r={callback:e,args:t};return s[l]=r,u(l),l++}function o(e){delete s[e]}function a(e){var t=e.callback,r=e.args;switch(r.length){case 0:t();break;case 1:t(r[0]);break;case 2:t(r[0],r[1]);break;case 3:t(r[0],r[1],r[2]);break;default:t.apply(n,r)}}function i(e){if(c)setTimeout(i,0,e);else{var t=s[e];if(t){c=!0;try{a(t)}finally{o(e),c=!1}}}}if(!e.setImmediate){var u,l=1,s={},c=!1,f=e.document,d=Object.getPrototypeOf&&Object.getPrototypeOf(e);d=d&&d.setTimeout?d:e,"[object process]"==={}.toString.call(e.process)?function(){u=function(e){t.nextTick(function(){i(e)})}}():function(){if(e.postMessage&&!e.importScripts){var t=!0,n=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=n,t}}()?function(){var t="setImmediate$"+Math.random()+"$",n=function(n){n.source===e&&"string"==typeof n.data&&0===n.data.indexOf(t)&&i(+n.data.slice(t.length))};e.addEventListener?e.addEventListener("message",n,!1):e.attachEvent("onmessage",n),u=function(n){e.postMessage(t+n,"*")}}():e.MessageChannel?function(){var e=new MessageChannel;e.port1.onmessage=function(e){i(e.data)},u=function(t){e.port2.postMessage(t)}}():f&&"onreadystatechange"in f.createElement("script")?function(){var e=f.documentElement;u=function(t){var n=f.createElement("script");n.onreadystatechange=function(){i(t),n.onreadystatechange=null,e.removeChild(n),n=null},e.appendChild(n)}}():function(){u=function(e){setTimeout(i,0,e)}}(),d.setImmediate=r,d.clearImmediate=o}}("undefined"==typeof self?void 0===e?this:e:self)}).call(t,n(8),n(10))},function(e,t,n){(function(t){function n(e,t){function n(){if(!o){if(r("throwDeprecation"))throw new Error(t);r("traceDeprecation")?console.trace(t):console.warn(t),o=!0}return e.apply(this,arguments)}if(r("noDeprecation"))return e;var o=!1;return n}function r(e){try{if(!t.localStorage)return!1}catch(e){return!1}var n=t.localStorage[e];return null!=n&&"true"===String(n).toLowerCase()}e.exports=n}).call(t,n(8))},function(e,t,n){"use strict";function r(e){if(!(this instanceof r))return new r(e);o.call(this,e)}e.exports=r;var o=n(26),a=n(9);a.inherits=n(7),a.inherits(r,o),r.prototype._transform=function(e,t,n){n(null,e)}},function(e,t,n){e.exports=n(15)},function(e,t,n){e.exports=n(6)},function(e,t,n){e.exports=n(14).Transform},function(e,t,n){e.exports=n(14).PassThrough},function(e,t){t.endianness=function(){return"LE"},t.hostname=function(){return"undefined"!=typeof location?location.hostname:""},t.loadavg=function(){return[]},t.uptime=function(){return 0},t.freemem=function(){return Number.MAX_VALUE},t.totalmem=function(){return Number.MAX_VALUE},t.cpus=function(){return[]},t.type=function(){return"Browser"},t.release=function(){return"undefined"!=typeof navigator?navigator.appVersion:""},t.networkInterfaces=t.getNetworkInterfaces=function(){return{}},t.arch=function(){return"javascript"},t.platform=function(){return"browser"},t.tmpdir=t.tmpDir=function(){return"/tmp"},t.EOL="\n",t.homedir=function(){return"/"}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){var t=e.eventManager;if(e.toMarkOptions=e.toMarkOptions||{},e.toMarkOptions.renderer=y.default,s(t),!e.isViewer()){var n=e.wwEditor.componentManager,r=e._ui.popupTableUtils;a(e),i(n),e._ui.popupTableUtils&&U.default.updateContextMenu(r,t,n.getManager("tableSelection"))}}function a(e){e.addCommand(L.default),e.addCommand(B.default)}function i(e){e.removeManager("table"),e.removeManager("tableSelection"),e.addManager(_.default),e.addManager(k.default)}function u(e,t){var n=(0,f.default)("<div>"+e+"</div>"),r=n.find("table");return r.length&&(r.get().forEach(function(e){var n=t(e);(0,f.default)(e).replaceWith(n)}),e=n.html()),e}function l(e){var t=e.command;if(t.isWWType())switch(t.getName()){case"AddRow":e.command=C.default;break;case"AddCol":e.command=M.default;break;case"RemoveRow":e.command=I.default;break;case"RemoveCol":e.command=A.default;break;case"AlignCol":e.command=P.default}}function s(e){e.listen("convertorAfterMarkdownToHtmlConverted",function(e){return u(e,g.default)}),e.listen("convertorBeforeHtmlToMarkdownConverted",function(e){return u(e,m.default)}),e.listen("addCommandBefore",l)}var c=n(0),f=r(c),d=n(2),h=r(d);n(64);var p=n(65),g=r(p),v=n(66),m=r(v),b=n(67),y=r(b),w=n(68),_=r(w),E=n(69),k=r(E),x=n(70),C=r(x),T=n(71),M=r(T),S=n(72),I=r(S),R=n(73),A=r(R),O=n(74),P=r(O),N=n(75),L=r(N),D=n(76),B=r(D),j=n(77),U=r(j);h.default.defineExtension("table",o)},function(e,t,n){"use strict";var r=n(2),o=function(e){return e&&e.__esModule?e:{default:e}}(r),a=o.default.i18n;a&&(a.setLanguage(["ko","ko_KR"],{"Merge cells":"셀 병합","Unmerge cells":"셀 병합해제","Cannot change part of merged cell":"병합 된 셀의 일부를 변경할 수 없습니다.","Cannot paste row merged cells into the table header":"테이블 헤더에는 행 병합된 셀을 붙여넣을 수 없습니다."}),a.setLanguage(["en","en_US"],{"Merge cells":"Merge cells","Unmerge cells":"Unmerge cells","Cannot change part of merged cell":"Cannot change part of merged cell.","Cannot paste row merged cells into the table header":"Cannot paste row merged cells into the table header."}),a.setLanguage(["es","es_ES"],{"Merge cells":"Combinar celdas","Unmerge cells":"Separar celdas","Cannot change part of merged cell":"No se puede cambiar parte de una celda combinada.","Cannot paste row merged cells into the table header":"No se pueden pegar celdas combinadas en el encabezado de tabla."}),a.setLanguage(["ja","ja_JP"],{"Merge cells":"セルの結合","Unmerge cells":"セルの結合を解除","Cannot change part of merged cell":"結合されたセルの一部を変更することはできません。","Cannot paste row merged cells into the table header":"行にマージされたセルをヘッダーに貼り付けることはできません。"}),a.setLanguage(["nl","nl_NL"],{"Merge cells":"cellen samenvoegen","Unmerge cells":"Samenvoegen cellen ongedaan maken","Cannot change part of merged cell":"Kan geen deel uit van samengevoegde cel te veranderen.","Cannot paste row merged cells into the table header":"Kan niet plakken rij samengevoegde cellen in de koptekst. "}),a.setLanguage(["zh","zh_CN"],{"Merge cells":"合并单元格","Unmerge cells":"取消合并单元格","Cannot change part of merged cell":"无法更改合并单元格的一部分。","Cannot paste row merged cells into the table header":"无法将行合并单元格粘贴到标题中。"}),a.setLanguage(["de","de_DE"],{"Merge cells":"Zellen zusammenführen","Unmerge cells":"Zusammenführen rückgängig machen","Cannot change part of merged cell":"Der Teil der verbundenen Zelle kann nicht geändert werden.","Cannot paste row merged cells into the table header":"Die Zeile der verbundenen Zellen kann nicht in die Kopfzeile eingefügt werden."}),a.setLanguage(["ru","ru_RU"],{"Merge cells":"Объединить ячейки","Unmerge cells":"Разъединить ячейки","Cannot change part of merged cell":"Вы не можете изменять часть комбинированной ячейки.","Cannot paste row merged cells into the table header":"Вы не можете вставлять объединенные ячейки в заголовок таблицы."}),a.setLanguage(["fr","fr_FR"],{"Merge cells":"Fusionner les cellules","Unmerge cells":"Séparer les cellules","Cannot change part of merged cell":"Impossible de modifier une partie de la cellule fusionnée.","Cannot paste row merged cells into the table header":"Impossible de coller les cellules fusionnées dans l'en-tête du tableau."}))},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t,n){var r=new RegExp("^((?:"+n+"=[0-9]+:)?)"+t+"=([0-9]+):(.*)"),o=r.exec(e),a=1;return o&&(a=parseInt(o[2],10),e=o[1]+o[3]),[a,e]}function a(e){var t=e.nodeName,n=e.align||"",r=e.innerHTML.trim(),a=null,i=null,u=o(r,"@cols","@rows");a=u[0],r=u[1];var l=o(r,"@rows","@cols");return i=l[0],r=l[1],{nodeName:t,colspan:a,rowspan:i,content:r,align:n}}function i(e){return e.find("tr").get().map(function(e){return(0,p.default)(e).find("td, th").get().map(a)})}function u(e,t){var n=-1;return v.default.forEach(e,function(e,r){var o=!0;return t(e,r)&&(n=r,o=!1),o}),n}function l(e){var t=u(e,function(e){return"TD"===e[0].nodeName});return[e.slice(0,t),e.slice(t)]}function s(e){e.forEach(function(e){var t=e.length,n=0;e.forEach(function(e){n+=e.colspan-1}),e.splice(t-n)})}function c(e){var t=e.map(function(e,t){return t}),n=t.map(function(){return 0});return e.forEach(function(e,r){var o=e.filter(function(e){return e.rowspan>1}),a=r+1;o.forEach(function(e){var r=e.colspan,o=a+(e.rowspan-1);t.slice(a,o).forEach(function(e){n[e]+=r})})}),n}function f(e){var t=c(e);e.forEach(function(e,n){e.splice(e.length-t[n])})}function d(e){var t=i((0,p.default)(e)),n=l(t),r=n[0],o=n[1];return s(r),s(o),f(o),(0,p.default)(b.default.createTableHtml(t))[0]}Object.defineProperty(t,"__esModule",{value:!0}),t._extractPropertiesForMerge=o,t._parseTableCell=a,t._createTableObjectFrom$Table=i,t._divideTrs=l,t._mergeByColspan=s,t._getRemovalTdCountsByRowspan=c,t._mergeByRowspan=f,t.default=d;var h=n(0),p=r(h),g=n(1),v=r(g),m=n(4),b=r(m)},function(e,t,n){"use strict";function r(e){var t=(0,i.default)(e),n=t.attr("colspan")||"",r=t.attr("rowspan")||"",o=t.html();n&&(o="@cols="+n+":"+o),r&&(o="@rows="+r+":"+o),o&&t.html(o)}function o(e){return(0,i.default)(e).find("td, th").get().forEach(r),e}Object.defineProperty(t,"__esModule",{value:!0}),t._prependMergeSyntaxToContent=r,t.default=o;var a=n(0),i=function(e){return e&&e.__esModule?e:{default:e}}(a)},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){return f.default.range(0,t).map(function(){return e}).join("")}function a(e){var t=e.align,n=(e.textContent||e.innerText).replace(p,""),r=n.length,a="",i="";return t&&("left"===t?(a=":",r-=1):"right"===t?(i=":",r-=1):"center"===t&&(i=":",a=":",r-=2)),r=Math.max(r,3),a+o("-",r)+i}function i(e){var t=0;return e.filter(function(e){return(0,s.default)(e).attr("colspan")}).forEach(function(e){t+=parseInt((0,s.default)(e).attr("colspan"),10)-1}),t}function u(e,t){var n=(0,s.default)(e).find("th").get(),r=n.map(function(e){return" "+a(e)+" |"}).join("");return r+=o(" --- |",i(n)),t?t+"|"+r+"\n":""}Object.defineProperty(t,"__esModule",{value:!0}),t._getAdditionalThCount=i,t._createTheadMarkdown=u;var l=n(0),s=r(l),c=n(1),f=r(c),d=n(17),h=r(d),p=/@cols=[0-9]+:/g;t.default=h.default.Renderer.factory(h.default.gfmRenderer,{THEAD:u})},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function u(e,t){var n=!1;return d.default.forEach(e,function(e){return!(n=t(e))}),n}Object.defineProperty(t,"__esModule",{value:!0});var l=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=n(0),c=r(s),f=n(1),d=r(f),h=n(2),p=r(h),g=n(3),v=r(g),m=n(4),b=r(m),y=n(5),w=r(y),_=p.default.WwTableManager,E=p.default.i18n,k=function(e){function t(){return o(this,t),a(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return i(t,e),l(t,[{key:"_updateCopyDataMergeWith",value:function(e,t){e.forEach(function(e){e.forEach(function(e){d.default.isExisty(e.rowMergeWith)&&(e.rowMergeWith-=t.rowIndex),d.default.isExisty(e.colMergeWith)&&(e.colMergeWith-=t.colIndex)})})}},{key:"_createCopyTableData",value:function(e,t,n){var r=e.slice(t.rowIndex,n.rowIndex+1);return r=r.map(function(e){return e.slice(t.colIndex,n.colIndex+1)}),this._updateCopyDataMergeWith(r,t),r}},{key:"updateTableHtmlOfClipboardIfNeed",value:function(e){var t=this.wwe.componentManager.getManager("tableSelection").getSelectedCells();if(t.length){var n=v.default.createTableData((0,c.default)(t[0]).closest("TABLE")),r=w.default.getTableSelectionRange(n,t),o=r.start,a=r.end,i=this._createCopyTableData(n,o,a),u=v.default.createCellIndexData(i),l=v.default.createRenderData(i,u);e.html(b.default.createTableHtml(l))}}},{key:"prepareToTableCellStuffing",value:function(e){var t=e[0].length,n=!1;return e.slice(1).forEach(function(e){var r=e.length;t!==r&&(n=!0,t<r&&(t=r))}),{maximumCellLength:t,needTableCellStuffingAid:n}}},{key:"tableCellAppendAidForTableElement",value:function(e){var t=(0,c.default)(e),n=v.default.createTableData(t),r=v.default.addTbodyOrTheadIfNeed(n),o=this.prepareToTableCellStuffing(n),a=o.needTableCellStuffingAid;a&&v.default.stuffCellsIntoIncompleteRow(n,o.maximumCellLength),(r||a)&&b.default.replaceTable(t,n)}},{key:"_findStartCell",value:function(e){return 1===e.length?e.get(0):this.wwe.getEditor().getSelection().startContainer}},{key:"_findStartCellIndex",value:function(e,t){var n=v.default.createCellIndexData(e);return v.default.findCellIndex(n,t)}},{key:"_hasRowMergedHeader",value:function(e,t,n){var r="TH"===t[n.rowIndex][n.colIndex].nodeName,o=u(e[0],function(e){return e.rowspan&&e.rowspan>1});return r&&o}},{key:"_isExactlyFit",value:function(e,t,n){return t%e.length==0&&n%e[0].length==0}},{key:"_updateClipboardTableData",value:function(e,t,n){var r=e.length,o=e[0].length,a=parseInt(t/r,10),i=parseInt(n/o,10);if(a>1){var u=JSON.parse(JSON.stringify(e));d.default.range(0,a-1).forEach(function(){var t=JSON.parse(JSON.stringify(u));e.push.apply(e,t)})}if(i>1){var l=JSON.parse(JSON.stringify(e));d.default.range(0,i-1).forEach(function(){var t=JSON.parse(JSON.stringify(l));e.forEach(function(e,n){e.push.apply(e,t[n])})})}}},{key:"_updateTableDataByClipboardData",value:function(e,t,n){var r=n.rowIndex,o=n.colIndex;e.forEach(function(e,n){var a=r+n;e.forEach(function(e,n){var r=o+n,i=t[a][r];e.nodeName=i.nodeName,t[a][r]=e})})}},{key:"_isPossibleToPaste",value:function(e,t,n){var r=t.rowIndex,o=t.colIndex,a=n.rowIndex,i=n.colIndex,l=e.slice(r,a+1),s=l[0].slice(o,i+1),c=!u(s,function(e){return d.default.isExisty(e.rowMergeWith)});if(c){c=!u(d.default.pluck(l,o),function(e){return d.default.isExisty(e.colMergeWith)})}if(c&&e.length>a+1){c=!u(e[a+1].slice(o,i+1),function(e){return d.default.isExisty(e.rowMergeWith)})}if(c&&e[0].length>i+1){c=!u(d.default.pluck(l,i+1),function(e){return d.default.isExisty(e.colMergeWith)})}return c}},{key:"_spliceClipboardData",value:function(e,t,n){e.splice(t),e.forEach(function(e){e.splice(n)})}},{key:"_bookmarkLastTd",value:function(e){var t=e.rowIndex,n=e.colIndex,r=this.wwe.getEditor(),o=r.get$Body().find(".tui-paste-table-bookmark"),a=v.default.createTableData(o),i=a[t][n];t=d.default.isExisty(i.rowMergeWith)?i.rowMergeWith:t,n=d.default.isExisty(i.colMergeWith)?i.colMergeWith:n;var u=a[t][n].elementIndex,l=o.find("tr").eq(u.rowIndex).children()[u.colIndex];o.removeClass("tui-paste-table-bookmark"),(0,c.default)(l).addClass("tui-paste-table-cell-bookmark")}},{key:"_updateClipboardDataForPasteToSamllerSelectedArea",value:function(e,t,n,r,o){var a=!0,i={rowIndex:0,colIndex:0},u={rowIndex:n-1,colIndex:r-1};return this._isPossibleToPaste(e,i,u)?(this._spliceClipboardData(e,n,r),this._updateTableDataByClipboardData(e,t,o)):a=!1,a}},{key:"_pasteToSelectedArea",value:function(e,t,n,r){var o=w.default.getTableSelectionRange(n,r),a=o.start,i=o.end,u=i.rowIndex-a.rowIndex+1,l=i.colIndex-a.colIndex+1,s=t.length,c=t[0].length,f=u>=s&&l>=c,d=E.get("Cannot change part of merged cell"),h=!0,p=void 0;this._hasRowMergedHeader(t,n,a)?(d=E.get("Cannot paste row merged cells into the table header"),h=!1):this._isExactlyFit(t,u,l)?(p=i,this._updateClipboardTableData(t,u,l),this._updateTableDataByClipboardData(t,n,a)):f?(p={rowIndex:a.rowIndex+s-1,colIndex:a.colIndex+c-1},this._isPossibleToPaste(n,a,p)?this._updateTableDataByClipboardData(t,n,a):h=!1):(p={rowIndex:a.rowIndex+u-1,colIndex:a.colIndex+l-1},h=this._updateClipboardDataForPasteToSamllerSelectedArea(t,n,u,l,a)),h?(n.className+=" tui-paste-table-bookmark",b.default.replaceTable(e,n),this._bookmarkLastTd(p)):(alert(d),this.wwe.focus())}},{key:"_findEndCellIndex",value:function(e,t){var n=t.rowIndex,r=t.colIndex;return{rowIndex:n+e.length-1,colIndex:r+e[0].length-1}}},{key:"_expandRow",value:function(e,t){var n=e.length,r=e[0].length,o=d.default.range(n,n+t).map(function(e){return d.default.range(0,r).map(function(t){return v.default.createBasicCell(e,t)})});e.push.apply(e,o)}},{key:"_expandCoumn",value:function(e,t){var n=e[0].length,r=d.default.range(n,n+t);e.forEach(function(e,t){var n=e[0].nodeName,o=r.map(function(e){return v.default.createBasicCell(t,e,n)});e.push.apply(e,o)})}},{key:"_expandTableDataIfNeed",value:function(e,t,n){var r=n.rowIndex-e.length+1,o=n.colIndex-e[0].length+1;r>0&&this._expandRow(e,r),o>0&&this._expandCoumn(e,o)}},{key:"_pasteAllClipboardTableData",value:function(e,t,n,r){var o=this._findEndCellIndex(t,r);if(this._hasRowMergedHeader(t,n,r))return alert(E.get("Cannot paste row merged cells into the table header")),void this.wwe.focus();this._expandTableDataIfNeed(n,r,o),this._isPossibleToPaste(n,r,o)?(this._updateTableDataByClipboardData(t,n,r),n.className+=" tui-paste-table-bookmark",b.default.replaceTable(e,n),this._bookmarkLastTd(o)):(alert(E.get("Cannot change part of merged cell")),this.wwe.focus())}},{key:"pasteClipboardData",value:function(e){var t=v.default.createTableData(e),n=this.wwe.componentManager.getManager("tableSelection"),r=n.getSelectedCells(),o=(0,c.default)(this._findStartCell(r)),a=o.closest("table"),i=v.default.createTableData(a),u=this._findStartCellIndex(i,o);r.length>1?this._pasteToSelectedArea(a,t,i,r):this._pasteAllClipboardTableData(a,t,i,u)}}]),t}(_);t.default=k},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(0),s=r(l),c=n(1),f=r(c),d=n(2),h=r(d),p=n(3),g=r(p),v=n(5),m=r(v),b=h.default.WwTableSelectionManager,y=function(e){function t(e){o(this,t);var n=a(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n._tableData=null,n.mergedTableSelectionManager=!0,n}return i(t,e),u(t,[{key:"_addClassToSelectedCells",value:function(e,t,n){var r=n.start,o=n.end,a=f.default.range(r.colIndex,o.colIndex+1),i=e.find("tr");f.default.range(r.rowIndex,o.rowIndex+1).forEach(function(e){var n=t[e],r=i.eq(e).find("td, th");return a.forEach(function(e){n[e].elementIndex&&r.eq(n[e].elementIndex.colIndex).addClass("te-cell-selected")})})}},{key:"onDragStart",value:function(e){var t=(0,s.default)(e).closest("[contenteditable=true] table");this._tableData=g.default.createTableData(t)}},{key:"onDragEnd",value:function(){this._tableData=null}},{key:"highlightTableCellsBy",value:function(e,t){var n=(0,s.default)(e),r=(0,s.default)(t),o=n.closest("[contenteditable=true] table"),a=m.default.findSelectionRange(this._tableData,n,r);this.removeClassAttrbuteFromAllCellsIfNeed(),this._addClassToSelectedCells(o,this._tableData,a)}},{key:"styleToSelectedCells",value:function(e){var t=this.wwe.getEditor(),n=t.getSelection().cloneRange();(0,s.default)(n.startContainer).closest("[contenteditable=true] table").find("tr").get().forEach(function(r){var o=(0,s.default)(r).find(".te-cell-selected"),a=o.first().get(0),i=o.last().get(0);o.length&&(n.setStart(a,0),n.setEnd(i,i.childNodes.length),t.setSelection(n),e(t))})}},{key:"hasSelectedBothThAndTd",value:function(e){return e=e||this.getSelectedCells(),e.first()[0].nodeName!==e.last()[0].nodeName}}]),t}(b);t.default=y},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){return{nodeName:"TD",rowMergeWith:e}}function a(e,t){var n=null;return e[t].map(function(r,a){var i=void 0;if(f.default.isExisty(r.rowMergeWith)){var u=r.rowMergeWith,l=e[u][a],s=u+l.rowspan-1;f.default.isExisty(l.colMergeWith)&&n?i=f.default.extend({},n):s>t&&(l.rowspan+=1,i=f.default.extend({},r))}else r.rowspan>1&&(r.rowspan+=1,i=o(t));return i||(i=g.default.createBasicCell(t+1,a)),n=i,i})}function i(e,t){var n=t.start.rowIndex,r=t.end,o=g.default.findRowMergedLastIndex(e,r.rowIndex,r.colIndex),i=f.default.range(n,o+1).map(function(){return a(e,o)});e.splice.apply(e,[o+1,0].concat(i))}function u(e,t,n){var r=g.default.createTableData(e),o=g.default.findRowMergedLastIndex(r,t,n)+1,a=g.default.findElementIndex(r,o,n);return e.find("tr").eq(a.rowIndex).find("td")[a.colIndex]}Object.defineProperty(t,"__esModule",{value:!0}),t._createNewRow=a,t._addRow=i;var l=n(0),s=r(l),c=n(1),f=r(c),d=n(2),h=r(d),p=n(3),g=r(p),v=n(5),m=r(v),b=n(4),y=r(b),w=h.default.CommandManager,_=void 0;w&&(_=w.command("wysiwyg",{name:"AddRow",exec:function(e){var t=e.getEditor(),n=t.getSelection().cloneRange();if(e.focus(),t.hasFormat("TABLE")){var r=(0,s.default)(n.startContainer),o=r.closest("table"),a=g.default.createTableData(o),l=e.componentManager.getManager("tableSelection").getSelectedCells(),c=m.default.getTableSelectionRange(a,l,r);t.saveUndoState(n),i(a,c);var f=y.default.replaceTable(o,a),d=u(f,c.end.rowIndex,c.start.colIndex);y.default.focusToCell(t,n,d)}}})),t.default=_},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){return{nodeName:t,colMergeWith:e}}function a(e,t,n,r){var a=e[n],i=void 0;if(d.default.isExisty(a.colMergeWith)){var u=a.colMergeWith,l=e[u],s=u+l.colspan-1;d.default.isExisty(l.rowMergeWith)&&r?i=d.default.extend({},r):s>n&&(l.colspan+=1,i=d.default.extend({},a))}else a.colspan>1&&(a.colspan+=1,i=o(n,a.nodeName));return i||(i=v.default.createBasicCell(t,n+1,a.nodeName)),i}function i(e,t,n){var r=d.default.range(t,n+1),o=[],i=null;return e.forEach(function(e,t){var u=r.map(function(r,o){var u=i?i[o-1]:null;return a(e,t,n,u)});i=u,o.push(u)}),o}function u(e,t){var n=t.end,r=v.default.findColMergedLastIndex(e,n.rowIndex,n.colIndex),o=i(e,t.start.colIndex,r),a=r+1;e.forEach(function(e,t){e.splice.apply(e,[a,0].concat(o[t]))})}function l(e,t,n){var r=v.default.createTableData(e),o=v.default.findColMergedLastIndex(r,t,n)+1,a=v.default.findElementIndex(r,t,o);return e.find("tr").eq(a.rowIndex).find("td, th")[a.colIndex]}Object.defineProperty(t,"__esModule",{value:!0}),t._createNewColumns=i,t._addColumns=u;var s=n(0),c=r(s),f=n(1),d=r(f),h=n(2),p=r(h),g=n(3),v=r(g),m=n(5),b=r(m),y=n(4),w=r(y),_=p.default.CommandManager,E=void 0;_&&(E=_.command("wysiwyg",{name:"AddCol",exec:function(e){var t=e.getEditor(),n=t.getSelection().cloneRange();if(e.focus(),t.hasFormat("TABLE")){var r=(0,c.default)(n.startContainer),o=r.closest("table"),a=v.default.createTableData(o),i=e.componentManager.getManager("tableSelection").getSelectedCells(),s=b.default.getTableSelectionRange(a,i,r);t.saveUndoState(n),u(a,s);var f=w.default.replaceTable(o,a),d=l(f,s.start.rowIndex,s.end.colIndex);w.default.focusToCell(t,n,d)}}})),t.default=E},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t,n){f.default.range(t,n+1).forEach(function(t){e[t].forEach(function(r,o){if(f.default.isExisty(r.rowMergeWith)){var a=e[r.rowMergeWith][o];a.rowspan&&(a.rowspan-=1)}else if(r.rowspan>1){var i=t+r.rowspan-1;r.rowspan-=n-t+1,i>n&&(e[n+1][o]=f.default.extend({},r))}})})}function a(e,t,n){e.slice(n+1).forEach(function(e){e.forEach(function(e){f.default.isExisty(e.rowMergeWith)&&e.rowMergeWith>=t&&(e.rowMergeWith=n+1)})})}function i(e,t){var n=t.start.rowIndex,r=t.end,i=g.default.findRowMergedLastIndex(e,r.rowIndex,r.colIndex);if(0!==n||0!==i){n=Math.max(n,1),i=Math.max(i,1);var u=i-n+1;e.length-u<2?e.splice(0,e.length):(o(e,n,i),a(e,n,i),e.splice(n,u))}}function u(e,t,n){var r=g.default.createTableData(e);r.length-1<t&&(t-=1);var o=g.default.findElementIndex(r,t,n);return e.find("tr").eq(o.rowIndex).find("th,td")[o.colIndex]}Object.defineProperty(t,"__esModule",{value:!0}),t._removeRow=i;var l=n(0),s=r(l),c=n(1),f=r(c),d=n(2),h=r(d),p=n(3),g=r(p),v=n(5),m=r(v),b=n(4),y=r(b),w=h.default.CommandManager,_=void 0;w&&(_=w.command("wysiwyg",{name:"RemoveRow",exec:function(e){var t=e.getEditor(),n=t.getSelection().cloneRange();if(e.focus(),t.hasFormat("TABLE")){var r=(0,s.default)(n.startContainer),o=r.closest("table"),a=g.default.createTableData(o),l=a.length,c=e.componentManager.getManager("tableSelection").getSelectedCells(),f=m.default.getTableSelectionRange(a,c,r);if(t.saveUndoState(n),i(a,f),a.length<2)o.remove();else if(l!==a.length){var d=y.default.replaceTable(o,a),h=f.start.rowIndex,p=h<a.length?h:h-1,v=u(d,p,f.start.colIndex);y.default.focusToCell(t,n,v)}}}})),t.default=_},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t,n){e.forEach(function(e){f.default.range(t,n+1).forEach(function(t){var r=e[t];if(f.default.isExisty(r.colMergeWith)){var o=e[r.colMergeWith];o.colspan&&(o.colspan-=1)}else if(r.colspan>1){var a=t+r.colspan-1;r.colspan-=n-t+1,a>n&&(e[n+1]=f.default.extend({},r))}})})}function a(e,t,n){e.forEach(function(e){e.slice(n+1).forEach(function(e){f.default.isExisty(e.colMergeWith)&&e.colMergeWith>=t&&(e.colMergeWith=n+1)})})}function i(e,t){var n=t.start.colIndex,r=t.end,i=g.default.findColMergedLastIndex(e,r.rowIndex,r.colIndex),u=i-n+1;o(e,n,i),a(e,n,i),e.forEach(function(e){e.splice(n,u)})}function u(e,t,n){var r=g.default.createTableData(e);r[0].length-1<n&&(n-=1);var o=g.default.findElementIndex(r,t,n);return e.find("tr").eq(o.rowIndex).find("td, th")[o.colIndex]}Object.defineProperty(t,"__esModule",{value:!0}),t._removeColumns=i;var l=n(0),s=r(l),c=n(1),f=r(c),d=n(2),h=r(d),p=n(3),g=r(p),v=n(5),m=r(v),b=n(4),y=r(b),w=h.default.CommandManager,_=void 0;w&&(_=w.command("wysiwyg",{name:"RemoveCol",exec:function(e){var t=e.getEditor(),n=t.getSelection().cloneRange();if(e.focus(),t.hasFormat("TABLE")){var r=(0,s.default)(n.startContainer),o=r.closest("table"),a=g.default.createTableData(o),l=e.componentManager.getManager("tableSelection").getSelectedCells(),c=m.default.getTableSelectionRange(a,l,r),f=a[0].length;if(t.saveUndoState(n),i(a,c),0===a[0].length)o.remove();else if(f!==a[0].length){var d=y.default.replaceTable(o,a),h=c.start.colIndex,p=h>=a[0].length?h-1:h,v=u(d,c.start.rowIndex,p);y.default.focusToCell(t,n,v)}}}})),t.default=_},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t,n,r){s.default.range(t,n+1).forEach(function(t){var n=e[t];s.default.isExisty(n.colMergeWith)?e[n.colMergeWith].align=r:n.align=r})}function a(e,t){var n=h.default.findElementRowIndex(t),r=h.default.findElementColIndex(t);return e.find("tr").eq(n).find("td, th")[r]}Object.defineProperty(t,"__esModule",{value:!0});var i=n(0),u=r(i),l=n(1),s=r(l),c=n(2),f=r(c),d=n(3),h=r(d),p=n(5),g=r(p),v=n(4),m=r(v),b=f.default.CommandManager,y=void 0;b&&(y=b.command("wysiwyg",{name:"AlignCol",exec:function(e,t){var n=e.getEditor(),r=n.getSelection().cloneRange();if(e.focus(),n.hasFormat("TABLE")){var i=(0,u.default)(r.startContainer),l=i.closest("table"),s=h.default.createTableData(l),c=e.componentManager.getManager("tableSelection").getSelectedCells(),f=g.default.getTableSelectionRange(s,c,i);o(s[0],f.start.colIndex,f.end.colIndex,t);var d=m.default.replaceTable(l,s),p=a(d,i);m.default.focusToCell(n,r,p)}}})),t.default=y},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t,n){var r,o=n+1,a=(r=[]).concat.apply(r,e.map(function(e){return e.slice(t,o)})),i=a.filter(function(e){var t=e.content;return t&&t!==k});return i.length?i[0].content:k}function a(e,t,n){var r,o=n+1,a=e.map(function(e){return e.slice(t,o)});(r=[]).concat.apply(r,a).slice(1).forEach(function(e){var t=e.nodeName;h.default.forEach(e,function(t,n){return delete e[n]}),e.nodeName=t})}function i(e,t,n,r){var o=n+1;e.forEach(function(e){e.slice(t,o).forEach(function(e){e.rowMergeWith=r})})}function u(e,t,n,r){var o=n+1;e.forEach(function(e){e.slice(t,o).forEach(function(e){e.colMergeWith=r})})}function l(e,t){var n=t.start,r=t.end,l=n.rowIndex,s=n.colIndex,c=r.rowIndex,f=r.colIndex,d=e[l][s],h=e.slice(l,c+1),p=c-l+1,g=f-s+1;d.rowspan=p,d.colspan=g,d.content=o(h,s,f),a(h,s,f),p>1&&i(h.slice(1),s,f,l),g>1&&u(h,s+1,f,s)}function s(e,t,n){var r=m.default.createTableData(e),o=m.default.findElementIndex(r,t,n);return e.find("tr").eq(o.rowIndex).find("td, th")[o.colIndex]}Object.defineProperty(t,"__esModule",{value:!0}),t._mergeCells=l;var c=n(0),f=r(c),d=n(1),h=r(d),p=n(2),g=r(p),v=n(3),m=r(v),b=n(5),y=r(b),w=n(4),_=r(w),E=g.default.CommandManager,k=h.default.browser.msie?"":"<br>",x=void 0;E&&(x=E.command("wysiwyg",{name:"MergeCells",exec:function(e){var t=e.getEditor();if(e.focus(),t.hasFormat("TABLE")){var n=e.componentManager.getManager("tableSelection"),r=n.getSelectedCells();if(!(r.length<2||n.hasSelectedBothThAndTd(r))){var o=t.getSelection().cloneRange(),a=(0,f.default)(o.startContainer),i=a.closest("table"),u=m.default.createTableData(i),c=y.default.getTableSelectionRange(u,r,a);l(u,c);var d=_.default.replaceTable(i,u),h=s(d,c.start.rowIndex,c.start.colIndex);_.default.focusToCell(t,o,h)}}}})),t.default=x},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){var n,r=t.start,o=t.end,a=r.colIndex,i=o.colIndex+1,u=e.slice(r.rowIndex,o.rowIndex+1),l=u.map(function(e){return e.slice(a,i)});return!!(n=[]).concat.apply(n,l).filter(function(e){return e.colspan>1||e.rowspan>1}).length}function a(e,t,n,r,o){var a=t+r,i=n+o,u=f.default.range(n,i);f.default.range(t,a).forEach(function(n){var r=e[n],o=n===t?1:0;u.slice(o).forEach(function(e){r[e]=g.default.createBasicCell(n,e,r[e].nodeName)})})}function i(e,t){var n=t.start,r=t.end,o=f.default.range(n.colIndex,r.colIndex+1);f.default.range(n.rowIndex,r.rowIndex+1).forEach(function(t){o.forEach(function(n){var r=e[t][n],o=r.colspan,i=r.rowspan;(o>1||i>1)&&(r.colspan=1,r.rowspan=1,a(e,t,n,i,o))})})}function u(e,t,n){var r=g.default.createTableData(e),o=g.default.findElementIndex(r,t,n);return e.find("tr").eq(o.rowIndex).find("td, th")[o.colIndex]}Object.defineProperty(t,"__esModule",{value:!0}),t._hasMergedCell=o,t._unmergeCells=i;var l=n(0),s=r(l),c=n(1),f=r(c),d=n(2),h=r(d),p=n(3),g=r(p),v=n(5),m=r(v),b=n(4),y=r(b),w=h.default.CommandManager,_=void 0;w&&(_=w.command("wysiwyg",{name:"UnmergeCells",exec:function(e){var t=e.getEditor(),n=t.getSelection().cloneRange();if(e.focus(),t.hasFormat("TABLE")){var r=(0,s.default)(n.startContainer),a=r.closest("table"),l=g.default.createTableData(a),c=e.componentManager.getManager("tableSelection").getSelectedCells(),f=m.default.getTableSelectionRange(l,c,r);if(o(l,f)){i(l,f);var d=y.default.replaceTable(a,l),h=u(d,f.start.rowIndex,f.start.colIndex);y.default.focusToCell(t,n,h)}}}})),t.default=_},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){var t=['<button type="button" class="te-table-add-row">'+f.get("Add row")+"</button>",'<button type="button" class="te-table-add-col">'+f.get("Add col")+"</button>",'<button type="button" class="te-table-remove-row">'+f.get("Remove row")+"</button>",'<button type="button" class="te-table-remove-col">'+f.get("Remove col")+"</button>","<hr/>",'<button type="button" class="te-table-merge">'+f.get("Merge cells")+"</button>",'<button type="button" class="te-table-unmerge">'+f.get("Unmerge cells")+"</button>","<hr/>",'<button type="button" class="te-table-col-align-left">'+f.get("Align left")+"</button>",'<button type="button" class="te-table-col-align-center">'+f.get("Align center")+"</button>",'<button type="button" class="te-table-col-align-right">'+f.get("Align right")+"</button>","<hr/>",'<button type="button" class="te-table-remove">'+f.get("Remove table")+"</button>"].join(""),n=(0,l.default)(t);e.setContent(n)}function a(e,t,n){var r=e.$content,o=(0,l.default)(r[5]),a=(0,l.default)(r[6]),i=(0,l.default)(r[7]);e.on("click .te-table-merge",function(){t.emit("command","MergeCells")}),e.on("click .te-table-unmerge",function(){t.emit("command","UnmergeCells")}),t.listen("openPopupTableUtils",function(){var e=n.getSelectedCells(),t=e.length;t?(t<2||n.hasSelectedBothThAndTd(e)?o.hide():o.show(),e.is("[rowspan], [colspan]")?a.show():a.hide(),i.show()):(o.hide(),a.hide(),i.hide())})}function i(e,t,n){o(e),a(e,t,n)}Object.defineProperty(t,"__esModule",{value:!0});var u=n(0),l=r(u),s=n(2),c=r(s),f=c.default.i18n;t.default={updateContextMenu:i}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){var t=e.options.colorSyntax,n=void 0===t?{}:t,r=n.preset,o=n.useCustomSyntax,l=void 0!==o&&o;e.eventManager.listen("convertorAfterMarkdownToHtmlConverted",function(e){return l?e.replace(b,function(e,t,n){return u(n,t).result}):e}),e.eventManager.listen("convertorAfterHtmlToMarkdownConverted",function(e){var t=l?w:y;return e.replace(t,function(e,t,n){return t.match(_)&&(t=s(t)),l?i(n,t).result:e.replace(/ ?class="colour" ?/g," ").replace(_,t)})}),e.isViewer()||"default"!==e.getUI().name||(e.addCommand("markdown",{name:"color",exec:function(e,t){var n=e.getEditor(),r=n.getCursor("from"),o=n.getCursor("to"),a=void 0,s=void 0;if(t){if(l){var c=i(n.getSelection(),t);a=c.result,s=c.from,n.replaceSelection(a)}else{var f=u(n.getSelection(),t);a=f.result,s=f.from,n.replaceSelection(a)}n.setSelection({line:r.line,ch:r.ch+s},{line:o.line,ch:r.line===o.line?o.ch+s:o.ch}),e.focus()}}}),e.addCommand("wysiwyg",{name:"color",exec:function(e,t){var n=e.getEditor();t&&(n.hasFormat("PRE")||(t===E?n.changeFormat(null,{class:"colour",tag:"span"}):n.setTextColour(t)),e.focus())}}),a(e,r))}function a(e,t){var n=e.i18n;e.eventManager.addEventType("colorButtonClicked"),e.getUI().toolbar.addButton({className:"tui-color",event:"colorButtonClicked",tooltip:n.get("Text color")},4);var r=e.getUI().toolbar.$el.find("button.tui-color"),o=(0,h.default)("<div />"),a=(0,h.default)('<button type="button" class="te-apply-button">입력</button>'),i={container:o[0]};t&&(i.preset=t);var u=g.default.create(i),l=u.getColor();o.append(a);var s=e.getUI().createPopup({header:!1,title:!1,content:o,className:"tui-popup-color",$target:e.getUI().$el,css:{width:"auto",position:"absolute"}});e.eventManager.listen("focus",function(){s.hide()}),e.eventManager.listen("colorButtonClicked",function(){if(e.eventManager.emit("closeAllPopup"),s.isShow())s.hide();else{var t=r.position();s.$el.css({top:t.top+r.outerHeight(!0),left:t.left}),s.show(),u.slider.toggle(!0)}}),e.eventManager.listen("closeAllPopup",function(){s.hide()}),e.eventManager.listen("removeEditor",function(){u.off("selectColor")}),u.on("selectColor",function(t){l=t.color,"palette"===t.origin&&(e.exec("color",l),s.hide())}),s.$el.find(".te-apply-button").on("click",function(){e.exec("color",l)})}function i(e,t){return l("{color:"+t+"}",e,"{color}")}function u(e,t){return l('<span style="color:'+t+'">',e,"</span>")}function l(e,t,n){return{result:""+e+t+n,from:e.length,to:e.length+t.length}}function s(e){return e.replace(_,function(e,t,n,r){return"#"+c(t)+c(n)+c(r)})}function c(e){var t=parseInt(e,10);return t=t.toString(16),t=f(t)}function f(e){var t="00"+e;return t.substr(t.length-2)}Object.defineProperty(t,"__esModule",{value:!0});var d=n(0),h=r(d),p=n(79),g=r(p),v=n(2),m=r(v),b=/\{color:(.+?)}(.*?)\{color}/g,y=/<span (?:class="colour" )?style="color:(.+?)"(?: class="colour")?>(.*?)/g,w=/<span (?:class="colour" )?style="color:(.+?)"(?: class="colour")?>(.*?)<\/span>/g,_=/rgb\((\d+)[, ]+(\d+)[, ]+(\d+)\)/g,E="#181818";m.default.defineExtension("colorSyntax",o),t.default=o},function(e,t){e.exports=i},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){function t(e){var t=void 0;try{if(!i.default)throw new Error("plantuml-encoder dependency required");t='<img src="'+o+i.default.encode(e)+'" />'}catch(e){t="Error occurred on encoding uml: "+e.message}return t}var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=n.rendererURL,o=void 0===r?c:r,a=e.options.codeBlockLanguages;a&&a.indexOf(f)<0&&a.push(f),s.setReplacer(f,t)}Object.defineProperty(t,"__esModule",{value:!0});var a=n(81),i=r(a),u=n(2),l=r(u),s=l.default.codeBlockManager,c="http://www.plantuml.com/plantuml/png/",f="uml";l.default.defineExtension("uml",o),t.default=o},function(e,t){e.exports=u},function(e,t,n){"use strict";var r=n(0),o=function(e){return e&&e.__esModule?e:{default:e}}(r),a=n(16);o.default.fn.tuiEditor=function(){var e=void 0,t=void 0,n=this.get(0);if(n){for(var r=arguments.length,i=Array(r),u=0;u<r;u++)i[u]=arguments[u];if(e=i[0]||{},t=o.default.data(n,"tuiEditor")){if("string"==typeof e){var l;return(l=t)[e].apply(l,i.slice(1))}}else e.el=n,t=new a(e),o.default.data(n,"tuiEditor",t)}return this},e.exports=a}])});
@@ -0,0 +1,3686 @@
1
+ /*!
2
+ * tui-editor
3
+ * @version 1.0.2
4
+ * @author NHN Ent. FE Development Lab <dl_javascript@nhnent.com> (https://nhnent.github.io/tui.editor/)
5
+ * @license MIT
6
+ */
7
+ (function webpackUniversalModuleDefinition(root, factory) {
8
+ if(typeof exports === 'object' && typeof module === 'object')
9
+ module.exports = factory(require("jquery"), require("tui-code-snippet"), require("markdown-it"), require("to-mark"), require("highlight.js"));
10
+ else if(typeof define === 'function' && define.amd)
11
+ define(["jquery", "tui-code-snippet", "markdown-it", "to-mark", "highlight.js"], factory);
12
+ else if(typeof exports === 'object')
13
+ exports["Editor"] = factory(require("jquery"), require("tui-code-snippet"), require("markdown-it"), require("to-mark"), require("highlight.js"));
14
+ else
15
+ root["tui"] = root["tui"] || {}, root["tui"]["Editor"] = factory(root["$"], (root["tui"] && root["tui"]["util"]), root["markdownit"], root["toMark"], root["hljs"]);
16
+ })(typeof self !== 'undefined' ? self : this, function(__WEBPACK_EXTERNAL_MODULE_0__, __WEBPACK_EXTERNAL_MODULE_1__, __WEBPACK_EXTERNAL_MODULE_19__, __WEBPACK_EXTERNAL_MODULE_20__, __WEBPACK_EXTERNAL_MODULE_28__) {
17
+ return /******/ (function(modules) { // webpackBootstrap
18
+ /******/ // The module cache
19
+ /******/ var installedModules = {};
20
+ /******/
21
+ /******/ // The require function
22
+ /******/ function __webpack_require__(moduleId) {
23
+ /******/
24
+ /******/ // Check if module is in cache
25
+ /******/ if(installedModules[moduleId]) {
26
+ /******/ return installedModules[moduleId].exports;
27
+ /******/ }
28
+ /******/ // Create a new module (and put it into the cache)
29
+ /******/ var module = installedModules[moduleId] = {
30
+ /******/ i: moduleId,
31
+ /******/ l: false,
32
+ /******/ exports: {}
33
+ /******/ };
34
+ /******/
35
+ /******/ // Execute the module function
36
+ /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
37
+ /******/
38
+ /******/ // Flag the module as loaded
39
+ /******/ module.l = true;
40
+ /******/
41
+ /******/ // Return the exports of the module
42
+ /******/ return module.exports;
43
+ /******/ }
44
+ /******/
45
+ /******/
46
+ /******/ // expose the modules object (__webpack_modules__)
47
+ /******/ __webpack_require__.m = modules;
48
+ /******/
49
+ /******/ // expose the module cache
50
+ /******/ __webpack_require__.c = installedModules;
51
+ /******/
52
+ /******/ // define getter function for harmony exports
53
+ /******/ __webpack_require__.d = function(exports, name, getter) {
54
+ /******/ if(!__webpack_require__.o(exports, name)) {
55
+ /******/ Object.defineProperty(exports, name, {
56
+ /******/ configurable: false,
57
+ /******/ enumerable: true,
58
+ /******/ get: getter
59
+ /******/ });
60
+ /******/ }
61
+ /******/ };
62
+ /******/
63
+ /******/ // getDefaultExport function for compatibility with non-harmony modules
64
+ /******/ __webpack_require__.n = function(module) {
65
+ /******/ var getter = module && module.__esModule ?
66
+ /******/ function getDefault() { return module['default']; } :
67
+ /******/ function getModuleExports() { return module; };
68
+ /******/ __webpack_require__.d(getter, 'a', getter);
69
+ /******/ return getter;
70
+ /******/ };
71
+ /******/
72
+ /******/ // Object.prototype.hasOwnProperty.call
73
+ /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
74
+ /******/
75
+ /******/ // __webpack_public_path__
76
+ /******/ __webpack_require__.p = "dist/";
77
+ /******/
78
+ /******/ // Load entry module and return exports
79
+ /******/ return __webpack_require__(__webpack_require__.s = 124);
80
+ /******/ })
81
+ /************************************************************************/
82
+ /******/ ({
83
+
84
+ /***/ 0:
85
+ /***/ (function(module, exports) {
86
+
87
+ module.exports = __WEBPACK_EXTERNAL_MODULE_0__;
88
+
89
+ /***/ }),
90
+
91
+ /***/ 1:
92
+ /***/ (function(module, exports) {
93
+
94
+ module.exports = __WEBPACK_EXTERNAL_MODULE_1__;
95
+
96
+ /***/ }),
97
+
98
+ /***/ 10:
99
+ /***/ (function(module, exports, __webpack_require__) {
100
+
101
+ "use strict";
102
+
103
+
104
+ Object.defineProperty(exports, "__esModule", {
105
+ value: true
106
+ });
107
+
108
+ var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); /**
109
+ * @fileoverview Implements preview
110
+ * @author NHN Ent. FE Development Lab <dl_javascript@nhnent.com>
111
+ */
112
+
113
+
114
+ var _jquery = __webpack_require__(0);
115
+
116
+ var _jquery2 = _interopRequireDefault(_jquery);
117
+
118
+ var _lazyRunner = __webpack_require__(16);
119
+
120
+ var _lazyRunner2 = _interopRequireDefault(_lazyRunner);
121
+
122
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
123
+
124
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
125
+
126
+ /**
127
+ * Class Preview
128
+ **/
129
+ var Preview = function () {
130
+ /**
131
+ * Creates an instance of Preview.
132
+ * @param {jQuery} $el Container element for preview
133
+ * @param {EventManager} eventManager Event manager instance
134
+ * @param {Convertor} convertor Convertor instance
135
+ * @param {boolean} isViewer - whether viewer mode or not
136
+ * @memberof Preview
137
+ */
138
+ function Preview($el, eventManager, convertor, isViewer) {
139
+ _classCallCheck(this, Preview);
140
+
141
+ this.eventManager = eventManager;
142
+ this.convertor = convertor;
143
+ this.$el = $el;
144
+ this.isViewer = !!isViewer;
145
+
146
+ this._initContentSection();
147
+
148
+ this.lazyRunner = new _lazyRunner2.default();
149
+
150
+ this.lazyRunner.registerLazyRunFunction('refresh', this.refresh, 800, this);
151
+ }
152
+
153
+ /**
154
+ * Initialize content selection
155
+ * @private
156
+ */
157
+
158
+
159
+ _createClass(Preview, [{
160
+ key: '_initContentSection',
161
+ value: function _initContentSection() {
162
+ this._$previewContent = (0, _jquery2.default)('<div class="tui-editor-contents" />');
163
+ this.$el.append(this._$previewContent);
164
+ }
165
+
166
+ /**
167
+ * Refresh rendering
168
+ * @memberof Preview
169
+ * @param {string} markdown Markdown text
170
+ */
171
+
172
+ }, {
173
+ key: 'refresh',
174
+ value: function refresh(markdown) {
175
+ this.render(this.convertor.toHTMLWithCodeHightlight(markdown));
176
+ }
177
+
178
+ /**
179
+ * get html string
180
+ * @returns {string} - html preview string
181
+ * @memberof Preview
182
+ */
183
+
184
+ }, {
185
+ key: 'getHTML',
186
+ value: function getHTML() {
187
+ return this._$previewContent.html();
188
+ }
189
+
190
+ /**
191
+ * set html string
192
+ * @param {string} html - html preview string
193
+ * @memberof Preview
194
+ */
195
+
196
+ }, {
197
+ key: 'setHTML',
198
+ value: function setHTML(html) {
199
+ this._$previewContent.html(html);
200
+ }
201
+
202
+ /**
203
+ * Render HTML on preview
204
+ * @memberof Preview
205
+ * @param {string} html HTML string
206
+ * @protected
207
+ */
208
+
209
+ }, {
210
+ key: 'render',
211
+ value: function render(html) {
212
+ var _$previewContent = this._$previewContent;
213
+
214
+ html = this.eventManager.emit('previewBeforeHook', html) || html;
215
+
216
+ _$previewContent.empty();
217
+ _$previewContent.html(html);
218
+ }
219
+
220
+ /**
221
+ * Set preview height
222
+ * @memberof Preview
223
+ * @param {number} height - Height for preview container
224
+ */
225
+
226
+ }, {
227
+ key: 'setHeight',
228
+ value: function setHeight(height) {
229
+ this.$el.get(0).style.height = height + 'px';
230
+ }
231
+
232
+ /**
233
+ * set min height
234
+ * @param {number} minHeight - min height
235
+ * @memberof Preview
236
+ */
237
+
238
+ }, {
239
+ key: 'setMinHeight',
240
+ value: function setMinHeight(minHeight) {
241
+ this.$el.get(0).style.minHeight = minHeight + 'px';
242
+ }
243
+
244
+ /**
245
+ * Is Preview visible
246
+ * @returns {boolean} result
247
+ */
248
+
249
+ }, {
250
+ key: 'isVisible',
251
+ value: function isVisible() {
252
+ return this.$el.css('display') !== 'none';
253
+ }
254
+ }]);
255
+
256
+ return Preview;
257
+ }();
258
+
259
+ exports.default = Preview;
260
+
261
+ /***/ }),
262
+
263
+ /***/ 11:
264
+ /***/ (function(module, exports, __webpack_require__) {
265
+
266
+ "use strict";
267
+
268
+
269
+ Object.defineProperty(exports, "__esModule", {
270
+ value: true
271
+ });
272
+
273
+ var _jquery = __webpack_require__(0);
274
+
275
+ var _jquery2 = _interopRequireDefault(_jquery);
276
+
277
+ var _tuiCodeSnippet = __webpack_require__(1);
278
+
279
+ var _tuiCodeSnippet2 = _interopRequireDefault(_tuiCodeSnippet);
280
+
281
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
282
+
283
+ /**
284
+ * @fileoverview Implements htmlSanitizer
285
+ * @author NHN Ent. FE Development Lab <dl_javascript@nhnent.com>
286
+ */
287
+ var HTML_ATTR_LIST_RX = new RegExp('^(abbr|align|alt|axis|bgcolor|border|cellpadding|cellspacing|class|clear|' + 'color|cols|compact|coords|dir|face|headers|height|hreflang|hspace|' + 'ismap|lang|language|nohref|nowrap|rel|rev|rows|rules|' + 'scope|scrolling|shape|size|span|start|summary|tabindex|target|title|type|' + 'valign|value|vspace|width|checked|mathvariant|encoding|id|name|' + 'background|cite|href|longdesc|src|usemap|xlink:href|data-+|checked|style)', 'g');
288
+
289
+ var SVG_ATTR_LIST_RX = new RegExp('^(accent-height|accumulate|additive|alphabetic|arabic-form|ascent|' + 'baseProfile|bbox|begin|by|calcMode|cap-height|class|color|color-rendering|content|' + 'cx|cy|d|dx|dy|descent|display|dur|end|fill|fill-rule|font-family|font-size|font-stretch|' + 'font-style|font-variant|font-weight|from|fx|fy|g1|g2|glyph-name|gradientUnits|hanging|' + 'height|horiz-adv-x|horiz-origin-x|ideographic|k|keyPoints|keySplines|keyTimes|lang|' + 'marker-end|marker-mid|marker-start|markerHeight|markerUnits|markerWidth|mathematical|' + 'max|min|offset|opacity|orient|origin|overline-position|overline-thickness|panose-1|' + 'path|pathLength|points|preserveAspectRatio|r|refX|refY|repeatCount|repeatDur|' + 'requiredExtensions|requiredFeatures|restart|rotate|rx|ry|slope|stemh|stemv|stop-color|' + 'stop-opacity|strikethrough-position|strikethrough-thickness|stroke|stroke-dasharray|' + 'stroke-dashoffset|stroke-linecap|stroke-linejoin|stroke-miterlimit|stroke-opacity|' + 'stroke-width|systemLanguage|target|text-anchor|to|transform|type|u1|u2|underline-position|' + 'underline-thickness|unicode|unicode-range|units-per-em|values|version|viewBox|visibility|' + 'width|widths|x|x-height|x1|x2|xlink:actuate|xlink:arcrole|xlink:role|xlink:show|xlink:title|' + 'xlink:type|xml:base|xml:lang|xml:space|xmlns|xmlns:xlink|y|y1|y2|zoomAndPan)', 'g');
290
+
291
+ /**
292
+ * htmlSanitizer
293
+ * @param {string|Node} html html or Node
294
+ * @param {boolean} [needHtmlText] pass true if need html text
295
+ * @returns {string|DocumentFragment} result
296
+ * @ignore
297
+ */
298
+ function htmlSanitizer(html, needHtmlText) {
299
+ var $html = (0, _jquery2.default)('<div />');
300
+
301
+ html = html.replace(/<!--[\s\S]*?-->/g, '');
302
+
303
+ $html.append(html);
304
+
305
+ removeUnnecessaryTags($html);
306
+ leaveOnlyWhitelistAttribute($html);
307
+
308
+ return finalizeHtml($html, needHtmlText);
309
+ }
310
+
311
+ /**
312
+ * Remove unnecessary tags
313
+ * @private
314
+ * @param {jQuery} $html jQuery instance
315
+ */
316
+ function removeUnnecessaryTags($html) {
317
+ $html.find('script, iframe, textarea, form, button, select, meta, style, link, title').remove();
318
+ }
319
+
320
+ /**
321
+ * Leave only white list attributes
322
+ * @private
323
+ * @param {jQuery} $html jQuery instance
324
+ */
325
+ function leaveOnlyWhitelistAttribute($html) {
326
+ $html.find('*').each(function (index, node) {
327
+ var attrs = node.attributes;
328
+ var blacklist = _tuiCodeSnippet2.default.toArray(attrs).filter(function (attr) {
329
+ var isHTMLAttr = attr.name.match(HTML_ATTR_LIST_RX);
330
+ var isSVGAttr = attr.name.match(SVG_ATTR_LIST_RX);
331
+
332
+ return !isHTMLAttr && !isSVGAttr;
333
+ });
334
+
335
+ _tuiCodeSnippet2.default.forEachArray(blacklist, function (attr) {
336
+ // Edge svg attribute name returns uppercase bug. error guard.
337
+ // https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/5579311/
338
+ if (attrs.getNamedItem(attr.name)) {
339
+ attrs.removeNamedItem(attr.name);
340
+ }
341
+ });
342
+ });
343
+ }
344
+
345
+ /**
346
+ * Finalize html result
347
+ * @private
348
+ * @param {jQuery} $html jQuery instance
349
+ * @param {boolean} needHtmlText pass true if need html text
350
+ * @returns {string|DocumentFragment} result
351
+ */
352
+ function finalizeHtml($html, needHtmlText) {
353
+ var returnValue = void 0;
354
+
355
+ if (needHtmlText) {
356
+ returnValue = $html[0].innerHTML;
357
+ } else {
358
+ var frag = document.createDocumentFragment();
359
+ var childNodes = _tuiCodeSnippet2.default.toArray($html[0].childNodes);
360
+ var length = childNodes.length;
361
+
362
+
363
+ for (var i = 0; i < length; i += 1) {
364
+ frag.appendChild(childNodes[i]);
365
+ }
366
+ returnValue = frag;
367
+ }
368
+
369
+ return returnValue;
370
+ }
371
+
372
+ exports.default = htmlSanitizer;
373
+
374
+ /***/ }),
375
+
376
+ /***/ 12:
377
+ /***/ (function(module, exports, __webpack_require__) {
378
+
379
+ "use strict";
380
+
381
+
382
+ Object.defineProperty(exports, "__esModule", {
383
+ value: true
384
+ });
385
+
386
+ var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); /**
387
+ * @fileoverview Implements EventManager
388
+ * @author NHN Ent. FE Development Lab <dl_javascript@nhnent.com>
389
+ */
390
+
391
+
392
+ var _tuiCodeSnippet = __webpack_require__(1);
393
+
394
+ var _tuiCodeSnippet2 = _interopRequireDefault(_tuiCodeSnippet);
395
+
396
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
397
+
398
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
399
+
400
+ var eventList = ['previewBeforeHook', 'previewRenderAfter', 'previewNeedsRefresh', 'addImageBlobHook', 'setMarkdownAfter', 'contentChangedFromWysiwyg', 'changeFromWysiwyg', 'contentChangedFromMarkdown', 'changeFromMarkdown', 'change', 'changeModeToWysiwyg', 'changeModeToMarkdown', 'changeModeBefore', 'changeMode', 'changePreviewStyle', 'openPopupAddLink', 'openPopupAddImage', 'openPopupAddTable', 'openPopupTableUtils', 'openHeadingSelect', 'openPopupCodeBlockLanguages', 'openPopupCodeBlockEditor', 'closePopupCodeBlockLanguages', 'closePopupCodeBlockEditor', 'closeAllPopup', 'command', 'addCommandBefore', 'htmlUpdate', 'markdownUpdate', 'renderedHtmlUpdated', 'removeEditor', 'convertorAfterMarkdownToHtmlConverted', 'convertorBeforeHtmlToMarkdownConverted', 'convertorAfterHtmlToMarkdownConverted', 'stateChange', 'wysiwygSetValueAfter', 'wysiwygSetValueBefore', 'wysiwygGetValueBefore', 'wysiwygProcessHTMLText', 'wysiwygRangeChangeAfter', 'wysiwygKeyEvent', 'scroll', 'click', 'mousedown', 'mouseover', 'mouseout', 'mouseup', 'contextmenu', 'keydown', 'keyup', 'keyMap', 'load', 'focus', 'blur', 'paste', 'pasteBefore', 'willPaste', 'copy', 'copyBefore', 'copyAfter', 'cut', 'cutAfter', 'drop', 'show', 'hide'];
401
+
402
+ /**
403
+ * Class EventManager
404
+ */
405
+
406
+ var EventManager = function () {
407
+ /**
408
+ * Creates an instance of EventManager.
409
+ * @memberof EventManager
410
+ */
411
+ function EventManager() {
412
+ _classCallCheck(this, EventManager);
413
+
414
+ this.events = new _tuiCodeSnippet2.default.Map();
415
+ this.TYPE = new _tuiCodeSnippet2.default.Enum(eventList);
416
+ }
417
+
418
+ /**
419
+ * Listen event and bind event handler
420
+ * @memberof EventManager
421
+ * @param {string} typeStr Event type string
422
+ * @param {function} handler Event handler
423
+ */
424
+
425
+
426
+ _createClass(EventManager, [{
427
+ key: 'listen',
428
+ value: function listen(typeStr, handler) {
429
+ var typeInfo = this._getTypeInfo(typeStr);
430
+ var eventHandlers = this.events.get(typeInfo.type) || [];
431
+
432
+ if (!this._hasEventType(typeInfo.type)) {
433
+ throw new Error('There is no event type ' + typeInfo.type);
434
+ }
435
+
436
+ if (typeInfo.namespace) {
437
+ handler.namespace = typeInfo.namespace;
438
+ }
439
+
440
+ eventHandlers.push(handler);
441
+
442
+ this.events.set(typeInfo.type, eventHandlers);
443
+ }
444
+
445
+ /**
446
+ * Emit event
447
+ * @memberof EventManager
448
+ * @param {string} eventName Event name to emit
449
+ * @returns {Array}
450
+ */
451
+
452
+ }, {
453
+ key: 'emit',
454
+ value: function emit() {
455
+ for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
456
+ args[_key] = arguments[_key];
457
+ }
458
+
459
+ var typeStr = args.shift();
460
+ var typeInfo = this._getTypeInfo(typeStr);
461
+ var eventHandlers = this.events.get(typeInfo.type);
462
+ var results = void 0;
463
+
464
+ if (eventHandlers) {
465
+ _tuiCodeSnippet2.default.forEach(eventHandlers, function (handler) {
466
+ var result = handler.apply(undefined, args);
467
+
468
+ if (!_tuiCodeSnippet2.default.isUndefined(result)) {
469
+ results = results || [];
470
+ results.push(result);
471
+ }
472
+ });
473
+ }
474
+
475
+ return results;
476
+ }
477
+
478
+ /**
479
+ * Emit given event and return result
480
+ * @memberof EventManager
481
+ * @param {string} eventName Event name to emit
482
+ * @param {string} sourceText Source text to change
483
+ * @returns {string}
484
+ */
485
+
486
+ }, {
487
+ key: 'emitReduce',
488
+ value: function emitReduce() {
489
+ for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
490
+ args[_key2] = arguments[_key2];
491
+ }
492
+
493
+ var type = args.shift();
494
+ var eventHandlers = this.events.get(type);
495
+
496
+ if (eventHandlers) {
497
+ _tuiCodeSnippet2.default.forEach(eventHandlers, function (handler) {
498
+ var result = handler.apply(undefined, args);
499
+
500
+ if (!_tuiCodeSnippet2.default.isFalsy(result)) {
501
+ args[0] = result;
502
+ }
503
+ });
504
+ }
505
+
506
+ return args[0];
507
+ }
508
+
509
+ /**
510
+ * Get event type and namespace
511
+ * @memberof EventManager
512
+ * @param {string} typeStr Event type name
513
+ * @returns {{type: string, namespace: string}}
514
+ * @private
515
+ */
516
+
517
+ }, {
518
+ key: '_getTypeInfo',
519
+ value: function _getTypeInfo(typeStr) {
520
+ var splited = typeStr.split('.');
521
+
522
+ return {
523
+ type: splited[0],
524
+ namespace: splited[1]
525
+ };
526
+ }
527
+
528
+ /**
529
+ * Check whether event type exists or not
530
+ * @param {string} type Event type name
531
+ * @returns {boolean}
532
+ * @private
533
+ */
534
+
535
+ }, {
536
+ key: '_hasEventType',
537
+ value: function _hasEventType(type) {
538
+ return !_tuiCodeSnippet2.default.isUndefined(this.TYPE[this._getTypeInfo(type).type]);
539
+ }
540
+
541
+ /**
542
+ * Add event type when given event not exists
543
+ * @memberof EventManager
544
+ * @param {string} type Event type name
545
+ */
546
+
547
+ }, {
548
+ key: 'addEventType',
549
+ value: function addEventType(type) {
550
+ if (this._hasEventType(type)) {
551
+ throw new Error('There is already have event type ' + type);
552
+ }
553
+
554
+ this.TYPE.set(type);
555
+ }
556
+
557
+ /**
558
+ * Remove event handler from given event type
559
+ * @memberof EventManager
560
+ * @param {string} typeStr Event type name
561
+ * @param {function} [handler] - registered event handler
562
+ */
563
+
564
+ }, {
565
+ key: 'removeEventHandler',
566
+ value: function removeEventHandler(typeStr, handler) {
567
+ var _this = this;
568
+
569
+ var _getTypeInfo2 = this._getTypeInfo(typeStr),
570
+ type = _getTypeInfo2.type,
571
+ namespace = _getTypeInfo2.namespace;
572
+
573
+ if (type && handler) {
574
+ this._removeEventHandlerWithHandler(type, handler);
575
+ } else if (type && !namespace) {
576
+ // dont use dot notation cuz eslint
577
+ this.events['delete'](type);
578
+ } else if (!type && namespace) {
579
+ this.events.forEach(function (eventHandlers, eventType) {
580
+ _this._removeEventHandlerWithTypeInfo(eventType, namespace);
581
+ });
582
+ } else if (type && namespace) {
583
+ this._removeEventHandlerWithTypeInfo(type, namespace);
584
+ }
585
+ }
586
+
587
+ /**
588
+ * Remove event handler with event handler
589
+ * @param {string} type - event type name
590
+ * @param {function} handler - event handler
591
+ * @memberof EventManager
592
+ * @private
593
+ */
594
+
595
+ }, {
596
+ key: '_removeEventHandlerWithHandler',
597
+ value: function _removeEventHandlerWithHandler(type, handler) {
598
+ var eventHandlers = this.events.get(type) || [];
599
+ var handlerIndex = eventHandlers.indexOf(handler);
600
+ if (handlerIndex >= 0) {
601
+ eventHandlers.splice(handlerIndex, 1);
602
+ }
603
+ }
604
+
605
+ /**
606
+ * Remove event handler with event type information
607
+ * @memberof EventManager
608
+ * @param {string} type Event type name
609
+ * @param {string} namespace Event namespace
610
+ * @private
611
+ */
612
+
613
+ }, {
614
+ key: '_removeEventHandlerWithTypeInfo',
615
+ value: function _removeEventHandlerWithTypeInfo(type, namespace) {
616
+ var handlersToSurvive = [];
617
+ var eventHandlers = this.events.get(type);
618
+
619
+ if (!eventHandlers) {
620
+ return;
621
+ }
622
+
623
+ eventHandlers.map(function (handler) {
624
+ if (handler.namespace !== namespace) {
625
+ handlersToSurvive.push(handler);
626
+ }
627
+ });
628
+
629
+ this.events.set(type, handlersToSurvive);
630
+ }
631
+ }]);
632
+
633
+ return EventManager;
634
+ }();
635
+
636
+ exports.default = EventManager;
637
+
638
+ /***/ }),
639
+
640
+ /***/ 124:
641
+ /***/ (function(module, exports, __webpack_require__) {
642
+
643
+ "use strict";
644
+
645
+
646
+ var _jquery = __webpack_require__(0);
647
+
648
+ var _jquery2 = _interopRequireDefault(_jquery);
649
+
650
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
651
+
652
+ var Viewer = __webpack_require__(29);
653
+
654
+ // for jquery
655
+ /**
656
+ * @fileoverview entry point for viewer
657
+ * @author NHN Ent. FE Development Lab <dl_javascript@nhnent.com>
658
+ */
659
+ _jquery2.default.fn.tuiEditor = function () {
660
+ var options = void 0,
661
+ instance = void 0;
662
+
663
+ var el = this.get(0);
664
+
665
+ if (el) {
666
+ for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
667
+ args[_key] = arguments[_key];
668
+ }
669
+
670
+ options = args[0] || {};
671
+
672
+ instance = _jquery2.default.data(el, 'tuiEditor');
673
+
674
+ if (instance) {
675
+ if (typeof options === 'string') {
676
+ var _instance;
677
+
678
+ return (_instance = instance)[options].apply(_instance, args.slice(1));
679
+ }
680
+ } else {
681
+ options.el = el;
682
+ instance = new Viewer(options);
683
+ _jquery2.default.data(el, 'tuiEditor', instance);
684
+ }
685
+ }
686
+
687
+ return this;
688
+ };
689
+
690
+ module.exports = Viewer;
691
+
692
+ /***/ }),
693
+
694
+ /***/ 13:
695
+ /***/ (function(module, exports, __webpack_require__) {
696
+
697
+ "use strict";
698
+
699
+
700
+ Object.defineProperty(exports, "__esModule", {
701
+ value: true
702
+ });
703
+
704
+ var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); /**
705
+ * @fileoverview extension manager
706
+ * @author NHN Ent. FE Development Lab <dl_javascript@nhnent.com>
707
+ */
708
+
709
+
710
+ var _tuiCodeSnippet = __webpack_require__(1);
711
+
712
+ var _tuiCodeSnippet2 = _interopRequireDefault(_tuiCodeSnippet);
713
+
714
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
715
+
716
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
717
+
718
+ /**
719
+ * Class ExtManager
720
+ */
721
+ var ExtManager = function () {
722
+ /**
723
+ * Creates an instance of ExtManager.
724
+ * @memberof ExtManager
725
+ */
726
+ function ExtManager() {
727
+ _classCallCheck(this, ExtManager);
728
+
729
+ this.exts = new _tuiCodeSnippet2.default.Map();
730
+ }
731
+
732
+ /**
733
+ * defineExtension
734
+ * Defined Extension
735
+ * @memberof ExtManager
736
+ * @param {string} name extension name
737
+ * @param {ExtManager~extension} ext extension
738
+ */
739
+
740
+
741
+ _createClass(ExtManager, [{
742
+ key: 'defineExtension',
743
+ value: function defineExtension(name, ext) {
744
+ this.exts.set(name, ext);
745
+ }
746
+
747
+ /**
748
+ * Apply extensions
749
+ * @memberof ExtManager
750
+ * @param {object} context Context
751
+ * @param {Array.<string|object>} options - options or names array
752
+ */
753
+
754
+ }, {
755
+ key: 'applyExtension',
756
+ value: function applyExtension(context, options) {
757
+ var _this = this;
758
+
759
+ if (options) {
760
+ options.forEach(function (option) {
761
+ var hasOption = _tuiCodeSnippet2.default.isObject(option);
762
+ var name = hasOption ? option.name : option;
763
+
764
+ if (_this.exts.has(name)) {
765
+ var ext = _this.exts.get(name);
766
+ if (hasOption) {
767
+ ext(context, option);
768
+ } else {
769
+ ext(context);
770
+ }
771
+ }
772
+ });
773
+ }
774
+ }
775
+ }]);
776
+
777
+ return ExtManager;
778
+ }();
779
+
780
+ exports.default = new ExtManager();
781
+
782
+ /***/ }),
783
+
784
+ /***/ 14:
785
+ /***/ (function(module, exports, __webpack_require__) {
786
+
787
+ "use strict";
788
+
789
+
790
+ Object.defineProperty(exports, "__esModule", {
791
+ value: true
792
+ });
793
+
794
+ var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); /**
795
+ * @fileoverview Convertor have responsible to convert markdown and html
796
+ * @author NHN Ent. FE Development Lab <dl_javascript@nhnent.com>
797
+ */
798
+
799
+
800
+ var _jquery = __webpack_require__(0);
801
+
802
+ var _jquery2 = _interopRequireDefault(_jquery);
803
+
804
+ var _tuiCodeSnippet = __webpack_require__(1);
805
+
806
+ var _tuiCodeSnippet2 = _interopRequireDefault(_tuiCodeSnippet);
807
+
808
+ var _markdownIt = __webpack_require__(19);
809
+
810
+ var _markdownIt2 = _interopRequireDefault(_markdownIt);
811
+
812
+ var _toMark = __webpack_require__(20);
813
+
814
+ var _toMark2 = _interopRequireDefault(_toMark);
815
+
816
+ var _htmlSanitizer = __webpack_require__(11);
817
+
818
+ var _htmlSanitizer2 = _interopRequireDefault(_htmlSanitizer);
819
+
820
+ var _markdownitTaskPlugin = __webpack_require__(21);
821
+
822
+ var _markdownitTaskPlugin2 = _interopRequireDefault(_markdownitTaskPlugin);
823
+
824
+ var _markdownitCodeBlockPlugin = __webpack_require__(22);
825
+
826
+ var _markdownitCodeBlockPlugin2 = _interopRequireDefault(_markdownitCodeBlockPlugin);
827
+
828
+ var _markdownitCodeRenderer = __webpack_require__(23);
829
+
830
+ var _markdownitCodeRenderer2 = _interopRequireDefault(_markdownitCodeRenderer);
831
+
832
+ var _markdownitBlockQuoteRenderer = __webpack_require__(24);
833
+
834
+ var _markdownitBlockQuoteRenderer2 = _interopRequireDefault(_markdownitBlockQuoteRenderer);
835
+
836
+ var _markdownitTableRenderer = __webpack_require__(25);
837
+
838
+ var _markdownitTableRenderer2 = _interopRequireDefault(_markdownitTableRenderer);
839
+
840
+ var _markdownitHtmlBlockRenderer = __webpack_require__(26);
841
+
842
+ var _markdownitHtmlBlockRenderer2 = _interopRequireDefault(_markdownitHtmlBlockRenderer);
843
+
844
+ var _markdownitBackticksRenderer = __webpack_require__(27);
845
+
846
+ var _markdownitBackticksRenderer2 = _interopRequireDefault(_markdownitBackticksRenderer);
847
+
848
+ var _codeBlockManager = __webpack_require__(7);
849
+
850
+ var _codeBlockManager2 = _interopRequireDefault(_codeBlockManager);
851
+
852
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
853
+
854
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
855
+
856
+ var markdownitHighlight = new _markdownIt2.default({
857
+ html: true,
858
+ breaks: true,
859
+ quotes: '“”‘’',
860
+ langPrefix: 'lang-',
861
+ highlight: function highlight(codeText, type) {
862
+ return _codeBlockManager2.default.createCodeBlockHtml(type, codeText);
863
+ }
864
+ });
865
+ var markdownit = new _markdownIt2.default({
866
+ html: true,
867
+ breaks: true,
868
+ quotes: '“”‘’',
869
+ langPrefix: 'lang-'
870
+ });
871
+
872
+ // markdownitHighlight
873
+ markdownitHighlight.block.ruler.at('code', _markdownitCodeRenderer2.default);
874
+ markdownitHighlight.block.ruler.at('table', _markdownitTableRenderer2.default, {
875
+ alt: ['paragraph', 'reference']
876
+ });
877
+ markdownitHighlight.block.ruler.at('blockquote', _markdownitBlockQuoteRenderer2.default, {
878
+ alt: ['paragraph', 'reference', 'blockquote', 'list']
879
+ });
880
+ markdownitHighlight.block.ruler.at('html_block', _markdownitHtmlBlockRenderer2.default, {
881
+ alt: ['paragraph', 'reference', 'blockquote']
882
+ });
883
+ markdownitHighlight.inline.ruler.at('backticks', _markdownitBackticksRenderer2.default);
884
+ markdownitHighlight.use(_markdownitTaskPlugin2.default);
885
+ markdownitHighlight.use(_markdownitCodeBlockPlugin2.default);
886
+
887
+ // markdownit
888
+ markdownit.block.ruler.at('code', _markdownitCodeRenderer2.default);
889
+ markdownit.block.ruler.at('table', _markdownitTableRenderer2.default, {
890
+ alt: ['paragraph', 'reference']
891
+ });
892
+ markdownit.block.ruler.at('blockquote', _markdownitBlockQuoteRenderer2.default, {
893
+ alt: ['paragraph', 'reference', 'blockquote', 'list']
894
+ });
895
+ markdownit.block.ruler.at('html_block', _markdownitHtmlBlockRenderer2.default, {
896
+ alt: ['paragraph', 'reference', 'blockquote']
897
+ });
898
+ markdownit.inline.ruler.at('backticks', _markdownitBackticksRenderer2.default);
899
+ markdownit.use(_markdownitTaskPlugin2.default);
900
+ markdownit.use(_markdownitCodeBlockPlugin2.default);
901
+
902
+ /**
903
+ * Class Convertor
904
+ */
905
+
906
+ var Convertor = function () {
907
+ /**
908
+ * Convertor constructor
909
+ * @param {EventManager} em - EventManager instance
910
+ */
911
+ function Convertor(em) {
912
+ _classCallCheck(this, Convertor);
913
+
914
+ this.eventManager = em;
915
+ }
916
+
917
+ /**
918
+ * _markdownToHtmlWithCodeHighlight
919
+ * Convert markdown to html with Codehighlight
920
+ * @private
921
+ * @memberof Convertor
922
+ * @param {string} markdown markdown text
923
+ * @returns {string} html text
924
+ */
925
+
926
+
927
+ _createClass(Convertor, [{
928
+ key: '_markdownToHtmlWithCodeHighlight',
929
+ value: function _markdownToHtmlWithCodeHighlight(markdown) {
930
+ markdown = markdown.replace(/<br>/ig, '<br data-tomark-pass>');
931
+ // eslint-disable-next-line
932
+ var onerrorStripeRegex = /(<img[^>]*)(onerror\s*=\s*[\"']?[^\"']*[\"']?)(.*)/i;
933
+ while (onerrorStripeRegex.exec(markdown)) {
934
+ markdown = markdown.replace(onerrorStripeRegex, '$1$3');
935
+ }
936
+
937
+ var renderedHTML = markdownitHighlight.render(markdown);
938
+ renderedHTML = this._removeBrToMarkPassAttributeInCode(renderedHTML);
939
+
940
+ return renderedHTML;
941
+ }
942
+
943
+ /**
944
+ * _markdownToHtml
945
+ * Convert markdown to html
946
+ * @private
947
+ * @memberof Convertor
948
+ * @param {string} markdown markdown text
949
+ * @returns {string} html text
950
+ */
951
+
952
+ }, {
953
+ key: '_markdownToHtml',
954
+ value: function _markdownToHtml(markdown) {
955
+ markdown = markdown.replace(/<br>/ig, '<br data-tomark-pass>');
956
+ // eslint-disable-next-line
957
+ var onerrorStripeRegex = /(<img[^>]*)(onerror\s*=\s*[\"']?[^\"']*[\"']?)(.*)/i;
958
+ while (onerrorStripeRegex.exec(markdown)) {
959
+ markdown = markdown.replace(onerrorStripeRegex, '$1$3');
960
+ }
961
+
962
+ var renderedHTML = markdownit.render(markdown);
963
+ renderedHTML = this._removeBrToMarkPassAttributeInCode(renderedHTML);
964
+
965
+ return renderedHTML;
966
+ }
967
+
968
+ /**
969
+ * Remove BR's data-tomark-pass attribute text when br in code element
970
+ * @param {string} renderedHTML Rendered HTML string from markdown editor
971
+ * @returns {string}
972
+ * @private
973
+ */
974
+
975
+ }, {
976
+ key: '_removeBrToMarkPassAttributeInCode',
977
+ value: function _removeBrToMarkPassAttributeInCode(renderedHTML) {
978
+ var $wrapperDiv = (0, _jquery2.default)('<div />');
979
+
980
+ $wrapperDiv.html(renderedHTML);
981
+
982
+ $wrapperDiv.find('code, pre').each(function (i, codeOrPre) {
983
+ var $code = (0, _jquery2.default)(codeOrPre);
984
+ $code.html($code.html().replace(/&lt;br data-tomark-pass&gt;/, '&lt;br&gt;'));
985
+ });
986
+
987
+ renderedHTML = $wrapperDiv.html();
988
+
989
+ return renderedHTML;
990
+ }
991
+
992
+ /**
993
+ * toHTMLWithCodeHightlight
994
+ * Convert markdown to html with Codehighlight
995
+ * emit convertorAfterMarkdownToHtmlConverted
996
+ * @memberof Convertor
997
+ * @param {string} markdown markdown text
998
+ * @returns {string} html text
999
+ */
1000
+
1001
+ }, {
1002
+ key: 'toHTMLWithCodeHightlight',
1003
+ value: function toHTMLWithCodeHightlight(markdown) {
1004
+ var html = this._markdownToHtmlWithCodeHighlight(markdown);
1005
+ html = this.eventManager.emitReduce('convertorAfterMarkdownToHtmlConverted', html);
1006
+
1007
+ return html;
1008
+ }
1009
+
1010
+ /**
1011
+ * toHTML
1012
+ * Convert markdown to html
1013
+ * emit convertorAfterMarkdownToHtmlConverted
1014
+ * @memberof Convertor
1015
+ * @param {string} markdown markdown text
1016
+ * @returns {string} html text
1017
+ */
1018
+
1019
+ }, {
1020
+ key: 'toHTML',
1021
+ value: function toHTML(markdown) {
1022
+ var html = this._markdownToHtml(markdown);
1023
+
1024
+ html = this.eventManager.emitReduce('convertorAfterMarkdownToHtmlConverted', html);
1025
+
1026
+ return html;
1027
+ }
1028
+ }, {
1029
+ key: 'initHtmlSanitizer',
1030
+ value: function initHtmlSanitizer() {
1031
+ this.eventManager.listen('convertorAfterMarkdownToHtmlConverted', function (html) {
1032
+ return (0, _htmlSanitizer2.default)(html, true);
1033
+ });
1034
+ }
1035
+
1036
+ /**
1037
+ * toMarkdown
1038
+ * Convert html to markdown
1039
+ * emit convertorAfterHtmlToMarkdownConverted
1040
+ * @memberof Convertor
1041
+ * @param {string} html html text
1042
+ * @param {object | null} toMarkOptions - toMark library options
1043
+ * @returns {string} markdown text
1044
+ */
1045
+
1046
+ }, {
1047
+ key: 'toMarkdown',
1048
+ value: function toMarkdown(html, toMarkOptions) {
1049
+ var resultArray = [];
1050
+
1051
+ html = this.eventManager.emitReduce('convertorBeforeHtmlToMarkdownConverted', html);
1052
+
1053
+ var markdown = (0, _toMark2.default)(this._appendAttributeForBrIfNeed(html), toMarkOptions);
1054
+
1055
+ markdown = this.eventManager.emitReduce('convertorAfterHtmlToMarkdownConverted', markdown);
1056
+
1057
+ _tuiCodeSnippet2.default.forEach(markdown.split('\n'), function (line, index) {
1058
+ var FIND_TABLE_RX = /^\|[^|]*\|/ig;
1059
+ var FIND_CODE_RX = /`[^`]*<br>[^`]*`/ig;
1060
+
1061
+ if (!FIND_CODE_RX.test(line) && !FIND_TABLE_RX.test(line)) {
1062
+ line = line.replace(/<br>/ig, '<br>\n');
1063
+ }
1064
+ resultArray[index] = line;
1065
+ });
1066
+
1067
+ return resultArray.join('\n');
1068
+ }
1069
+ }, {
1070
+ key: '_appendAttributeForBrIfNeed',
1071
+ value: function _appendAttributeForBrIfNeed(html) {
1072
+ var FIND_BR_RX = /<br>/ig;
1073
+ var FIND_DOUBLE_BR_RX = /<br \/><br \/>/ig;
1074
+ var FIND_PASSING_AND_NORMAL_BR_RX = /<br data-tomark-pass \/><br \/>(.)/ig;
1075
+ var FIRST_TWO_BRS_BEFORE_RX = /([^>]|<\/b>|<\/i>|<\/s>|<img [^>]*>)/;
1076
+ var TWO_BRS_RX = /<br data-tomark-pass \/><br data-tomark-pass \/>/;
1077
+ var FIND_FIRST_TWO_BRS_RX = new RegExp(FIRST_TWO_BRS_BEFORE_RX.source + TWO_BRS_RX.source, 'g');
1078
+
1079
+ html = html.replace(FIND_BR_RX, '<br />');
1080
+
1081
+ html = html.replace(FIND_DOUBLE_BR_RX, '<br data-tomark-pass /><br data-tomark-pass />');
1082
+
1083
+ var div = document.createElement('div');
1084
+ var $div = (0, _jquery2.default)(div);
1085
+ $div.html(html);
1086
+ $div.find('pre br,code br').each(function (index, node) {
1087
+ if (node.hasAttribute('data-tomark-pass')) {
1088
+ node.removeAttribute('data-tomark-pass');
1089
+ }
1090
+ });
1091
+
1092
+ html = $div.html().replace(/<br data-tomark-pass="">/ig, '<br data-tomark-pass />');
1093
+ html = html.replace(FIND_BR_RX, '<br />');
1094
+
1095
+ html = html.replace(FIND_PASSING_AND_NORMAL_BR_RX, '<br data-tomark-pass /><br data-tomark-pass />$1');
1096
+ html = html.replace(FIND_FIRST_TWO_BRS_RX, '$1<br /><br />');
1097
+
1098
+ return html;
1099
+ }
1100
+
1101
+ /**
1102
+ * get markdownit with code highlight
1103
+ * @returns {markdownit} - markdownit instance
1104
+ * @memberof Convertor
1105
+ * @static
1106
+ */
1107
+
1108
+ }], [{
1109
+ key: 'getMarkdownitHighlightRenderer',
1110
+ value: function getMarkdownitHighlightRenderer() {
1111
+ return markdownitHighlight;
1112
+ }
1113
+ }]);
1114
+
1115
+ return Convertor;
1116
+ }();
1117
+
1118
+ exports.default = Convertor;
1119
+
1120
+ /***/ }),
1121
+
1122
+ /***/ 16:
1123
+ /***/ (function(module, exports, __webpack_require__) {
1124
+
1125
+ "use strict";
1126
+
1127
+
1128
+ Object.defineProperty(exports, "__esModule", {
1129
+ value: true
1130
+ });
1131
+
1132
+ var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); /**
1133
+ * @fileoverview Implements LazyRunner
1134
+ * @author NHN Ent. FE Development Lab <dl_javascript@nhnent.com>
1135
+ */
1136
+
1137
+
1138
+ var _tuiCodeSnippet = __webpack_require__(1);
1139
+
1140
+ var _tuiCodeSnippet2 = _interopRequireDefault(_tuiCodeSnippet);
1141
+
1142
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
1143
+
1144
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
1145
+
1146
+ /**
1147
+ * Class LazyRunner
1148
+ */
1149
+ var LazyRunner = function () {
1150
+ /**
1151
+ * Creates an instance of LazyRunner.
1152
+ * @memberof LazyRunner
1153
+ */
1154
+ function LazyRunner() {
1155
+ _classCallCheck(this, LazyRunner);
1156
+
1157
+ this.globalTOID = null;
1158
+ this.lazyRunFunctions = {};
1159
+ }
1160
+
1161
+ _createClass(LazyRunner, [{
1162
+ key: 'run',
1163
+ value: function run(fn, params, context, delay) {
1164
+ var TOID = void 0;
1165
+
1166
+ if (_tuiCodeSnippet2.default.isString(fn)) {
1167
+ TOID = this._runRegisteredRun(fn, params, context, delay);
1168
+ } else {
1169
+ TOID = this._runSingleRun(fn, params, context, delay, this.globalTOID);
1170
+ this.globalTOID = TOID;
1171
+ }
1172
+
1173
+ return TOID;
1174
+ }
1175
+ }, {
1176
+ key: 'registerLazyRunFunction',
1177
+ value: function registerLazyRunFunction(name, fn, delay, context) {
1178
+ context = context || this;
1179
+
1180
+ this.lazyRunFunctions[name] = {
1181
+ fn: fn,
1182
+ delay: delay,
1183
+ context: context,
1184
+ TOID: null
1185
+ };
1186
+ }
1187
+ }, {
1188
+ key: '_runSingleRun',
1189
+ value: function _runSingleRun(fn, params, context, delay, TOID) {
1190
+ this._clearTOIDIfNeed(TOID);
1191
+
1192
+ TOID = setTimeout(function () {
1193
+ fn.call(context, params);
1194
+ }, delay);
1195
+
1196
+ return TOID;
1197
+ }
1198
+ }, {
1199
+ key: '_runRegisteredRun',
1200
+ value: function _runRegisteredRun(lazyRunName, params, context, delay) {
1201
+ var lazyRunFunction = this.lazyRunFunctions[lazyRunName];
1202
+ var fn = lazyRunFunction.fn;
1203
+ var TOID = lazyRunFunction.TOID;
1204
+
1205
+ delay = delay || lazyRunFunction.delay;
1206
+ context = context || lazyRunFunction.context;
1207
+
1208
+ TOID = this._runSingleRun(fn, params, context, delay, TOID);
1209
+
1210
+ lazyRunFunction.TOID = TOID;
1211
+
1212
+ return TOID;
1213
+ }
1214
+ }, {
1215
+ key: '_clearTOIDIfNeed',
1216
+ value: function _clearTOIDIfNeed(TOID) {
1217
+ if (TOID) {
1218
+ clearTimeout(TOID);
1219
+ }
1220
+ }
1221
+ }]);
1222
+
1223
+ return LazyRunner;
1224
+ }();
1225
+
1226
+ exports.default = LazyRunner;
1227
+
1228
+ /***/ }),
1229
+
1230
+ /***/ 17:
1231
+ /***/ (function(module, exports, __webpack_require__) {
1232
+
1233
+ "use strict";
1234
+
1235
+
1236
+ Object.defineProperty(exports, "__esModule", {
1237
+ value: true
1238
+ });
1239
+
1240
+ var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); /**
1241
+ * @fileoverview Implements Command
1242
+ * @author NHN Ent. FE Development Lab <dl_javascript@nhnent.com>
1243
+ */
1244
+
1245
+
1246
+ var _tuiCodeSnippet = __webpack_require__(1);
1247
+
1248
+ var _tuiCodeSnippet2 = _interopRequireDefault(_tuiCodeSnippet);
1249
+
1250
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
1251
+
1252
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
1253
+
1254
+ /**
1255
+ * Class Command
1256
+ */
1257
+ var Command = function () {
1258
+ /**
1259
+ * @param {string} name Command name
1260
+ * @param {number} type Command type (Command.TYPE)
1261
+ * @param {Array.<string>} [keyMap] keyMap
1262
+ */
1263
+ function Command(name, type, keyMap) {
1264
+ _classCallCheck(this, Command);
1265
+
1266
+ this.name = name;
1267
+ this.type = type;
1268
+
1269
+ if (keyMap) {
1270
+ this.setKeyMap(keyMap);
1271
+ }
1272
+ }
1273
+ /**
1274
+ * getName
1275
+ * returns Name of command
1276
+ * @memberof Command
1277
+ * @returns {string} Command Name
1278
+ */
1279
+
1280
+
1281
+ _createClass(Command, [{
1282
+ key: 'getName',
1283
+ value: function getName() {
1284
+ return this.name;
1285
+ }
1286
+
1287
+ /**
1288
+ * getType
1289
+ * returns Type of command
1290
+ * @memberof Command
1291
+ * @returns {number} Command Command type number
1292
+ */
1293
+
1294
+ }, {
1295
+ key: 'getType',
1296
+ value: function getType() {
1297
+ return this.type;
1298
+ }
1299
+
1300
+ /**
1301
+ * isMDType
1302
+ * returns whether Command Type is Markdown or not
1303
+ * @memberof Command
1304
+ * @returns {boolean} result
1305
+ */
1306
+
1307
+ }, {
1308
+ key: 'isMDType',
1309
+ value: function isMDType() {
1310
+ return this.type === Command.TYPE.MD;
1311
+ }
1312
+
1313
+ /**
1314
+ * isWWType
1315
+ * returns whether Command Type is Wysiwyg or not
1316
+ * @memberof Command
1317
+ * @returns {boolean} result
1318
+ */
1319
+
1320
+ }, {
1321
+ key: 'isWWType',
1322
+ value: function isWWType() {
1323
+ return this.type === Command.TYPE.WW;
1324
+ }
1325
+
1326
+ /**
1327
+ * isGlobalType
1328
+ * returns whether Command Type is Global or not
1329
+ * @memberof Command
1330
+ * @returns {boolean} result
1331
+ */
1332
+
1333
+ }, {
1334
+ key: 'isGlobalType',
1335
+ value: function isGlobalType() {
1336
+ return this.type === Command.TYPE.GB;
1337
+ }
1338
+
1339
+ /**
1340
+ * setKeyMap
1341
+ * Set keymap value for each os
1342
+ * @memberof Command
1343
+ * @param {string} win Windows Key(and etc)
1344
+ * @param {string} mac Mac osx key
1345
+ */
1346
+
1347
+ }, {
1348
+ key: 'setKeyMap',
1349
+ value: function setKeyMap(win, mac) {
1350
+ this.keyMap = [win, mac];
1351
+ }
1352
+ }]);
1353
+
1354
+ return Command;
1355
+ }();
1356
+
1357
+ /**
1358
+ * Command factory method
1359
+ * @memberof Command
1360
+ * @param {string} typeStr Editor type name
1361
+ * @param {object} props Property
1362
+ * @param {string} props.name Command name
1363
+ * @param {number} props.type Command type number
1364
+ * @returns {Command}
1365
+ */
1366
+
1367
+
1368
+ Command.factory = function (typeStr, props) {
1369
+ var type = void 0;
1370
+
1371
+ if (typeStr === 'markdown') {
1372
+ type = Command.TYPE.MD;
1373
+ } else if (typeStr === 'wysiwyg') {
1374
+ type = Command.TYPE.WW;
1375
+ } else if (typeStr === 'global') {
1376
+ type = Command.TYPE.GB;
1377
+ }
1378
+
1379
+ var command = new Command(props.name, type);
1380
+
1381
+ _tuiCodeSnippet2.default.extend(command, props);
1382
+
1383
+ return command;
1384
+ };
1385
+
1386
+ /**
1387
+ * Command Type Constant
1388
+ * markdown : 0
1389
+ * wysiwyg : 1
1390
+ * global : 2
1391
+ * @memberof Command
1392
+ * @type {object}
1393
+ */
1394
+ Command.TYPE = {
1395
+ MD: 0,
1396
+ WW: 1,
1397
+ GB: 2
1398
+ };
1399
+
1400
+ exports.default = Command;
1401
+
1402
+ /***/ }),
1403
+
1404
+ /***/ 19:
1405
+ /***/ (function(module, exports) {
1406
+
1407
+ module.exports = __WEBPACK_EXTERNAL_MODULE_19__;
1408
+
1409
+ /***/ }),
1410
+
1411
+ /***/ 2:
1412
+ /***/ (function(module, exports, __webpack_require__) {
1413
+
1414
+ "use strict";
1415
+
1416
+
1417
+ Object.defineProperty(exports, "__esModule", {
1418
+ value: true
1419
+ });
1420
+
1421
+ var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); /**
1422
+ * @fileoverview Implements CommandManager
1423
+ * @author NHN Ent. FE Development Lab <dl_javascript@nhnent.com>
1424
+ */
1425
+
1426
+
1427
+ var _jquery = __webpack_require__(0);
1428
+
1429
+ var _jquery2 = _interopRequireDefault(_jquery);
1430
+
1431
+ var _tuiCodeSnippet = __webpack_require__(1);
1432
+
1433
+ var _tuiCodeSnippet2 = _interopRequireDefault(_tuiCodeSnippet);
1434
+
1435
+ var _command = __webpack_require__(17);
1436
+
1437
+ var _command2 = _interopRequireDefault(_command);
1438
+
1439
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
1440
+
1441
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
1442
+
1443
+ var isMac = /Mac/.test(navigator.platform);
1444
+ var KEYMAP_OS_INDEX = isMac ? 1 : 0;
1445
+
1446
+ /**
1447
+ * Class CommandManager
1448
+ */
1449
+
1450
+ var CommandManager = function () {
1451
+ /**
1452
+ * @param {ToastUIEditor} base nedInstance
1453
+ * @param {object} [options={}] - option object
1454
+ * @param {boolean} [options.useCommandShortcut=true] - execute command with keyMap
1455
+ */
1456
+ function CommandManager(base) {
1457
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
1458
+
1459
+ _classCallCheck(this, CommandManager);
1460
+
1461
+ this._command = new _tuiCodeSnippet2.default.Map();
1462
+ this._mdCommand = new _tuiCodeSnippet2.default.Map();
1463
+ this._wwCommand = new _tuiCodeSnippet2.default.Map();
1464
+ this._options = _jquery2.default.extend({
1465
+ 'useCommandShortcut': true
1466
+ }, options);
1467
+
1468
+ this.base = base;
1469
+
1470
+ this.keyMapCommand = {};
1471
+
1472
+ this._initEvent();
1473
+ }
1474
+
1475
+ /**
1476
+ * You can change command before command addition by addCommandBefore event.
1477
+ * @param {object} command - command
1478
+ * @returns {object}
1479
+ * @private
1480
+ */
1481
+
1482
+
1483
+ _createClass(CommandManager, [{
1484
+ key: '_addCommandBefore',
1485
+ value: function _addCommandBefore(command) {
1486
+ var commandWrapper = { command: command };
1487
+
1488
+ this.base.eventManager.emit('addCommandBefore', commandWrapper);
1489
+
1490
+ return commandWrapper.command || command;
1491
+ }
1492
+
1493
+ /**
1494
+ * Add command
1495
+ * @memberof CommandManager
1496
+ * @param {Command} command Command instance
1497
+ * @returns {Command} Command
1498
+ */
1499
+
1500
+ }, {
1501
+ key: 'addCommand',
1502
+ value: function addCommand(command) {
1503
+ for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
1504
+ args[_key - 1] = arguments[_key];
1505
+ }
1506
+
1507
+ if (args.length) {
1508
+ command = CommandManager.command.apply(CommandManager, [command].concat(args));
1509
+ }
1510
+
1511
+ command = this._addCommandBefore(command);
1512
+
1513
+ var name = command.getName();
1514
+
1515
+ var commandBase = void 0;
1516
+
1517
+ if (command.isMDType()) {
1518
+ commandBase = this._mdCommand;
1519
+ } else if (command.isWWType()) {
1520
+ commandBase = this._wwCommand;
1521
+ } else if (command.isGlobalType()) {
1522
+ commandBase = this._command;
1523
+ }
1524
+
1525
+ commandBase.set(name, command);
1526
+
1527
+ if (command.keyMap) {
1528
+ this.keyMapCommand[command.keyMap[KEYMAP_OS_INDEX]] = name;
1529
+ }
1530
+
1531
+ return command;
1532
+ }
1533
+
1534
+ /**
1535
+ * _initEvent
1536
+ * Bind event handler to eventManager
1537
+ * @private
1538
+ * @memberof CommandManager
1539
+ */
1540
+
1541
+ }, {
1542
+ key: '_initEvent',
1543
+ value: function _initEvent() {
1544
+ var _this = this;
1545
+
1546
+ this.base.eventManager.listen('command', function () {
1547
+ _this.exec.apply(_this, arguments);
1548
+ });
1549
+
1550
+ this.base.eventManager.listen('keyMap', function (ev) {
1551
+ if (!_this._options.useCommandShortcut) {
1552
+ return;
1553
+ }
1554
+ var command = _this.keyMapCommand[ev.keyMap];
1555
+
1556
+ if (command) {
1557
+ ev.data.preventDefault();
1558
+ _this.exec(command);
1559
+ }
1560
+ });
1561
+ }
1562
+
1563
+ /**
1564
+ * Execute command
1565
+ * @memberof CommandManager
1566
+ * @param {String} name Command name
1567
+ * @returns {*}
1568
+ */
1569
+
1570
+ }, {
1571
+ key: 'exec',
1572
+ value: function exec(name) {
1573
+ var commandToRun = void 0,
1574
+ result = void 0;
1575
+ var context = this.base;
1576
+
1577
+ commandToRun = this._command.get(name);
1578
+
1579
+ if (!commandToRun) {
1580
+ if (this.base.isMarkdownMode()) {
1581
+ commandToRun = this._mdCommand.get(name);
1582
+ context = this.base.mdEditor;
1583
+ } else {
1584
+ commandToRun = this._wwCommand.get(name);
1585
+ context = this.base.wwEditor;
1586
+ }
1587
+ }
1588
+
1589
+ if (commandToRun) {
1590
+ var _commandToRun;
1591
+
1592
+ for (var _len2 = arguments.length, args = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
1593
+ args[_key2 - 1] = arguments[_key2];
1594
+ }
1595
+
1596
+ args.unshift(context);
1597
+ result = (_commandToRun = commandToRun).exec.apply(_commandToRun, args);
1598
+ }
1599
+
1600
+ return result;
1601
+ }
1602
+ }]);
1603
+
1604
+ return CommandManager;
1605
+ }();
1606
+
1607
+ /**
1608
+ * Create command by given editor type and property object
1609
+ * @memberof ComponentManager
1610
+ * @param {string} type Command type
1611
+ * @param {{name: string, keyMap: object}} props Property
1612
+ * @returns {*}
1613
+ */
1614
+
1615
+
1616
+ CommandManager.command = function (type, props) {
1617
+ var command = _command2.default.factory(type, props.name, props.keyMap);
1618
+
1619
+ _tuiCodeSnippet2.default.extend(command, props);
1620
+
1621
+ return command;
1622
+ };
1623
+
1624
+ exports.default = CommandManager;
1625
+
1626
+ /***/ }),
1627
+
1628
+ /***/ 20:
1629
+ /***/ (function(module, exports) {
1630
+
1631
+ module.exports = __WEBPACK_EXTERNAL_MODULE_20__;
1632
+
1633
+ /***/ }),
1634
+
1635
+ /***/ 21:
1636
+ /***/ (function(module, exports, __webpack_require__) {
1637
+
1638
+ "use strict";
1639
+
1640
+
1641
+ // Copyright (c) 2016, Revin Guillen.
1642
+ // Distributed under an MIT license: https://github.com/revin/markdown-it-task-lists/
1643
+
1644
+ /**
1645
+ * @fileoverview Implements markdownitTaskPlugin
1646
+ * @modifier Sungho Kim(sungho-kim@nhnent.com) FE Development Lab/NHN Ent.
1647
+ * @modifier Junghwan Park(junghwan.park@nhnent.com) FE Development Lab/NHN Ent.
1648
+ */
1649
+ /* eslint-disable */
1650
+
1651
+ /**
1652
+ * Task list renderer for Markdown-it
1653
+ * @param {object} markdownit Markdown-it instance
1654
+ * @ignore
1655
+ */
1656
+ var MarkdownitTaskRenderer = function MarkdownitTaskRenderer(markdownit) {
1657
+ markdownit.core.ruler.after('inline', 'tui-task-list', function (state) {
1658
+ var TASK_LIST_ITEM_CLASS_NAME = 'task-list-item';
1659
+ var CHECKED_CLASS_NAME = 'checked';
1660
+ var tokens = state.tokens;
1661
+ var className;
1662
+ var tokenIndex;
1663
+
1664
+ // tokenIndex=0 'ul', tokenIndex=1 'li', tokenIndex=2 'p_open'
1665
+ for (tokenIndex = 2; tokenIndex < tokens.length; tokenIndex += 1) {
1666
+ if (isTaskListItemToken(tokens, tokenIndex)) {
1667
+ if (isChecked(tokens[tokenIndex])) {
1668
+ className = TASK_LIST_ITEM_CLASS_NAME + ' ' + CHECKED_CLASS_NAME;
1669
+ } else {
1670
+ className = TASK_LIST_ITEM_CLASS_NAME;
1671
+ }
1672
+
1673
+ removeMarkdownTaskFormatText(tokens[tokenIndex]);
1674
+
1675
+ setTokenAttribute(tokens[tokenIndex - 2], 'class', className);
1676
+ setTokenAttribute(tokens[tokenIndex - 2], 'data-te-task', '');
1677
+ }
1678
+ }
1679
+ });
1680
+ };
1681
+
1682
+ /**
1683
+ * Remove task format text for rendering
1684
+ * @param {object} token Token object
1685
+ * @ignore
1686
+ */
1687
+ function removeMarkdownTaskFormatText(token) {
1688
+ // '[X] ' length is 4
1689
+ // FIXED: we don't need first space
1690
+ token.content = token.content.slice(4);
1691
+ token.children[0].content = token.children[0].content.slice(4);
1692
+ }
1693
+
1694
+ /**
1695
+ * Return boolean value whether task checked or not
1696
+ * @param {object} token Token object
1697
+ * @returns {boolean}
1698
+ * @ignore
1699
+ */
1700
+ function isChecked(token) {
1701
+ var checked = false;
1702
+
1703
+ if (token.content.indexOf('[x]') === 0 || token.content.indexOf('[X]') === 0) {
1704
+ checked = true;
1705
+ }
1706
+
1707
+ return checked;
1708
+ }
1709
+
1710
+ /**
1711
+ * Set attribute of passed token
1712
+ * @param {object} token Token object
1713
+ * @param {string} attributeName Attribute name for set
1714
+ * @param {string} attributeValue Attribute value for set
1715
+ * @ignore
1716
+ */
1717
+ function setTokenAttribute(token, attributeName, attributeValue) {
1718
+ var index = token.attrIndex(attributeName);
1719
+ var attr = [attributeName, attributeValue];
1720
+
1721
+ if (index < 0) {
1722
+ token.attrPush(attr);
1723
+ } else {
1724
+ token.attrs[index] = attr;
1725
+ }
1726
+ }
1727
+
1728
+ /**
1729
+ * Return boolean value whether task list item or not
1730
+ * @param {array} tokens Token object
1731
+ * @param {number} index Number of token index
1732
+ * @returns {boolean}
1733
+ * @ignore
1734
+ */
1735
+ function isTaskListItemToken(tokens, index) {
1736
+ return tokens[index].type === 'inline' && tokens[index - 1].type === 'paragraph_open' && tokens[index - 2].type === 'list_item_open' && (tokens[index].content.indexOf('[ ]') === 0 || tokens[index].content.indexOf('[x]') === 0 || tokens[index].content.indexOf('[X]') === 0);
1737
+ }
1738
+ /* eslint-enable */
1739
+
1740
+ module.exports = MarkdownitTaskRenderer;
1741
+
1742
+ /***/ }),
1743
+
1744
+ /***/ 22:
1745
+ /***/ (function(module, exports, __webpack_require__) {
1746
+
1747
+ "use strict";
1748
+
1749
+
1750
+ // Copyright (c) 2016, Revin Guillen.
1751
+ // Distributed under an MIT license: https://github.com/revin/markdown-it-task-lists/
1752
+ /* eslint-disable */
1753
+ /**
1754
+ * @fileoverview Implements markdownitCodeBlockPlugin
1755
+ * @modifier NHN Ent. FE Development Lab <dl_javascript@nhnent.com>
1756
+ */
1757
+
1758
+ /**
1759
+ * Code block renderer for Markdown-it
1760
+ * @param {object} markdownit Markdown-it instance
1761
+ * @ignore
1762
+ */
1763
+ var MarkdownitCodeBlockRenderer = function MarkdownitCodeBlockRenderer(markdownit) {
1764
+ markdownit.core.ruler.after('block', 'tui-code-block', function (state) {
1765
+ var tokens = state.tokens;
1766
+ var currentToken, tokenIndex;
1767
+
1768
+ for (tokenIndex = 0; tokenIndex < tokens.length; tokenIndex += 1) {
1769
+ currentToken = tokens[tokenIndex];
1770
+
1771
+ if (isCodeFenceToken(currentToken) && currentToken.info) {
1772
+ setTokenAttribute(currentToken, 'data-language', escape(currentToken.info.replace(' ', ''), true));
1773
+ }
1774
+ }
1775
+ });
1776
+ };
1777
+
1778
+ /**
1779
+ * Set attribute of passed token
1780
+ * @param {object} token Token object
1781
+ * @param {string} attributeName Attribute name for set
1782
+ * @param {string} attributeValue Attribute value for set
1783
+ * @ignore
1784
+ */
1785
+ function setTokenAttribute(token, attributeName, attributeValue) {
1786
+ var index = token.attrIndex(attributeName);
1787
+ var attr = [attributeName, attributeValue];
1788
+
1789
+ if (index < 0) {
1790
+ token.attrPush(attr);
1791
+ } else {
1792
+ token.attrs[index] = attr;
1793
+ }
1794
+ }
1795
+ /**
1796
+ * Return boolean value whether passed token is code fence or not
1797
+ * @param {object} token Token object
1798
+ * @returns {boolean}
1799
+ * @ignore
1800
+ */
1801
+ function isCodeFenceToken(token) {
1802
+ return token.block === true && token.tag === 'code' && token.type === 'fence';
1803
+ }
1804
+
1805
+ /**
1806
+ * escape code from markdown-it
1807
+ * @param {string} html HTML string
1808
+ * @param {string} encode Boolean value of whether encode or not
1809
+ * @returns {string}
1810
+ * @ignore
1811
+ */
1812
+ function escape(html, encode) {
1813
+ return html.replace(!encode ? /&(?!#?\w+;)/g : /&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;').replace(/'/g, '&#39;');
1814
+ }
1815
+ /* eslint-enable */
1816
+
1817
+ module.exports = MarkdownitCodeBlockRenderer;
1818
+
1819
+ /***/ }),
1820
+
1821
+ /***/ 23:
1822
+ /***/ (function(module, exports, __webpack_require__) {
1823
+
1824
+ "use strict";
1825
+
1826
+
1827
+ // Copyright (c) 2014 Vitaly Puzrin, Alex Kocharin.
1828
+ // Distributed under an ISC license: https://github.com/markdown-it/markdown-it/
1829
+ /**
1830
+ * @fileoverview Implements MarkdownItCodeRenderer
1831
+ * @modifier NHN Ent. FE Development Lab <dl_javascript@nhnent.com>
1832
+ */
1833
+
1834
+ /* eslint-disable */
1835
+ module.exports = function code(state, startLine, endLine /*, silent*/) {
1836
+ // Added by Junghwan Park
1837
+ var FIND_LIST_RX = / {0,3}(?:-|\*|\d\.) /;
1838
+ var lines = state.src.split('\n');
1839
+ var currentLine = lines[startLine];
1840
+ // Added by Junghwan Park
1841
+
1842
+ var nextLine,
1843
+ last,
1844
+ token,
1845
+ emptyLines = 0;
1846
+
1847
+ // Add condition by Junghwan Park
1848
+ if (currentLine.match(FIND_LIST_RX) || state.sCount[startLine] - state.blkIndent < 4) {
1849
+ // Add condition by Junghwan Park
1850
+ return false;
1851
+ }
1852
+
1853
+ last = nextLine = startLine + 1;
1854
+
1855
+ while (nextLine < endLine) {
1856
+ if (state.isEmpty(nextLine)) {
1857
+ emptyLines++;
1858
+
1859
+ // workaround for lists: 2 blank lines should terminate indented
1860
+ // code block, but not fenced code block
1861
+ if (emptyLines >= 2 && state.parentType === 'list') {
1862
+ break;
1863
+ }
1864
+
1865
+ nextLine++;
1866
+ continue;
1867
+ }
1868
+
1869
+ emptyLines = 0;
1870
+
1871
+ if (state.sCount[nextLine] - state.blkIndent >= 4) {
1872
+ nextLine++;
1873
+ last = nextLine;
1874
+ continue;
1875
+ }
1876
+ break;
1877
+ }
1878
+
1879
+ state.line = last;
1880
+
1881
+ token = state.push('code_block', 'code', 0);
1882
+ token.content = state.getLines(startLine, last, 4 + state.blkIndent, true);
1883
+ token.map = [startLine, state.line];
1884
+
1885
+ return true;
1886
+ };
1887
+ /* eslint-enable */
1888
+
1889
+ /***/ }),
1890
+
1891
+ /***/ 24:
1892
+ /***/ (function(module, exports, __webpack_require__) {
1893
+
1894
+ "use strict";
1895
+ // Copyright (c) 2014 Vitaly Puzrin, Alex Kocharin.
1896
+ // Distributed under MIT license: https://github.com/markdown-it/markdown-it/
1897
+ /**
1898
+ * @fileoverview Implements markdownitCodeBlockQuoteRenderer
1899
+ * @modifier NHN Ent. FE Development Lab <dl_javascript@nhnent.com>
1900
+ */
1901
+
1902
+ /* eslint-disable */
1903
+
1904
+ // Block quotes
1905
+
1906
+
1907
+
1908
+ // prevent quote, pre in list #811
1909
+ // ref: #989
1910
+ // #811 START
1911
+ // var isSpace = require('../common/utils').isSpace;
1912
+
1913
+ function isSpace(code) {
1914
+ switch (code) {
1915
+ case 0x09:
1916
+ case 0x20:
1917
+ return true;
1918
+ }
1919
+ return false;
1920
+ }
1921
+ // #811 END
1922
+
1923
+ module.exports = function blockquote(state, startLine, endLine, silent) {
1924
+ var adjustTab,
1925
+ ch,
1926
+ i,
1927
+ initial,
1928
+ l,
1929
+ lastLineEmpty,
1930
+ lines,
1931
+ nextLine,
1932
+ offset,
1933
+ oldBMarks,
1934
+ oldBSCount,
1935
+ oldIndent,
1936
+ oldParentType,
1937
+ oldSCount,
1938
+ oldTShift,
1939
+ spaceAfterMarker,
1940
+ terminate,
1941
+ terminatorRules,
1942
+ token,
1943
+ wasOutdented,
1944
+ oldLineMax = state.lineMax,
1945
+ pos = state.bMarks[startLine] + state.tShift[startLine],
1946
+ max = state.eMarks[startLine];
1947
+
1948
+ // #811 START
1949
+ var FIND_LIST_RX = /(?:-|\*|\d+\.) {1,4}(?:> {0,3})[^>]*$/;
1950
+ var sourceLines = state.src.split('\n');
1951
+ var currentLine = sourceLines[startLine];
1952
+ // #811 END
1953
+
1954
+ // if it's indented more than 3 spaces, it should be a code block
1955
+ if (state.sCount[startLine] - state.blkIndent >= 4) {
1956
+ return false;
1957
+ }
1958
+
1959
+ // check the block quote marker
1960
+ if (state.src.charCodeAt(pos++) !== 0x3E /* > */) {
1961
+ return false;
1962
+ }
1963
+ // #811 START
1964
+ // check block quote in list
1965
+ if (currentLine.match(FIND_LIST_RX) /*&& !currentLine.match(/^ {0,6}>/)*/) {
1966
+ return false;
1967
+ }
1968
+ // #811 END
1969
+
1970
+ // we know that it's going to be a valid blockquote,
1971
+ // so no point trying to find the end of it in silent mode
1972
+ if (silent) {
1973
+ return true;
1974
+ }
1975
+
1976
+ // skip spaces after ">" and re-calculate offset
1977
+ initial = offset = state.sCount[startLine] + pos - (state.bMarks[startLine] + state.tShift[startLine]);
1978
+
1979
+ // skip one optional space after '>'
1980
+ if (state.src.charCodeAt(pos) === 0x20 /* space */) {
1981
+ // ' > test '
1982
+ // ^ -- position start of line here:
1983
+ pos++;
1984
+ initial++;
1985
+ offset++;
1986
+ adjustTab = false;
1987
+ spaceAfterMarker = true;
1988
+ } else if (state.src.charCodeAt(pos) === 0x09 /* tab */) {
1989
+ spaceAfterMarker = true;
1990
+
1991
+ if ((state.bsCount[startLine] + offset) % 4 === 3) {
1992
+ // ' >\t test '
1993
+ // ^ -- position start of line here (tab has width===1)
1994
+ pos++;
1995
+ initial++;
1996
+ offset++;
1997
+ adjustTab = false;
1998
+ } else {
1999
+ // ' >\t test '
2000
+ // ^ -- position start of line here + shift bsCount slightly
2001
+ // to make extra space appear
2002
+ adjustTab = true;
2003
+ }
2004
+ } else {
2005
+ spaceAfterMarker = false;
2006
+ }
2007
+
2008
+ oldBMarks = [state.bMarks[startLine]];
2009
+ state.bMarks[startLine] = pos;
2010
+
2011
+ while (pos < max) {
2012
+ ch = state.src.charCodeAt(pos);
2013
+
2014
+ if (isSpace(ch)) {
2015
+ if (ch === 0x09) {
2016
+ offset += 4 - (offset + state.bsCount[startLine] + (adjustTab ? 1 : 0)) % 4;
2017
+ } else {
2018
+ offset++;
2019
+ }
2020
+ } else {
2021
+ break;
2022
+ }
2023
+
2024
+ pos++;
2025
+ }
2026
+
2027
+ oldBSCount = [state.bsCount[startLine]];
2028
+ state.bsCount[startLine] = state.sCount[startLine] + 1 + (spaceAfterMarker ? 1 : 0);
2029
+
2030
+ lastLineEmpty = pos >= max;
2031
+
2032
+ oldSCount = [state.sCount[startLine]];
2033
+ state.sCount[startLine] = offset - initial;
2034
+
2035
+ oldTShift = [state.tShift[startLine]];
2036
+ state.tShift[startLine] = pos - state.bMarks[startLine];
2037
+
2038
+ terminatorRules = state.md.block.ruler.getRules('blockquote');
2039
+
2040
+ oldParentType = state.parentType;
2041
+ state.parentType = 'blockquote';
2042
+ wasOutdented = false;
2043
+
2044
+ // Search the end of the block
2045
+ //
2046
+ // Block ends with either:
2047
+ // 1. an empty line outside:
2048
+ // ```
2049
+ // > test
2050
+ //
2051
+ // ```
2052
+ // 2. an empty line inside:
2053
+ // ```
2054
+ // >
2055
+ // test
2056
+ // ```
2057
+ // 3. another tag:
2058
+ // ```
2059
+ // > test
2060
+ // - - -
2061
+ // ```
2062
+ for (nextLine = startLine + 1; nextLine < endLine; nextLine++) {
2063
+ // check if it's outdented, i.e. it's inside list item and indented
2064
+ // less than said list item:
2065
+ //
2066
+ // ```
2067
+ // 1. anything
2068
+ // > current blockquote
2069
+ // 2. checking this line
2070
+ // ```
2071
+ if (state.sCount[nextLine] < state.blkIndent) wasOutdented = true;
2072
+
2073
+ pos = state.bMarks[nextLine] + state.tShift[nextLine];
2074
+ max = state.eMarks[nextLine];
2075
+
2076
+ if (pos >= max) {
2077
+ // Case 1: line is not inside the blockquote, and this line is empty.
2078
+ break;
2079
+ }
2080
+
2081
+ if (state.src.charCodeAt(pos++) === 0x3E /* > */ && !wasOutdented) {
2082
+ // This line is inside the blockquote.
2083
+
2084
+ // skip spaces after ">" and re-calculate offset
2085
+ initial = offset = state.sCount[nextLine] + pos - (state.bMarks[nextLine] + state.tShift[nextLine]);
2086
+
2087
+ // skip one optional space after '>'
2088
+ if (state.src.charCodeAt(pos) === 0x20 /* space */) {
2089
+ // ' > test '
2090
+ // ^ -- position start of line here:
2091
+ pos++;
2092
+ initial++;
2093
+ offset++;
2094
+ adjustTab = false;
2095
+ spaceAfterMarker = true;
2096
+ } else if (state.src.charCodeAt(pos) === 0x09 /* tab */) {
2097
+ spaceAfterMarker = true;
2098
+
2099
+ if ((state.bsCount[nextLine] + offset) % 4 === 3) {
2100
+ // ' >\t test '
2101
+ // ^ -- position start of line here (tab has width===1)
2102
+ pos++;
2103
+ initial++;
2104
+ offset++;
2105
+ adjustTab = false;
2106
+ } else {
2107
+ // ' >\t test '
2108
+ // ^ -- position start of line here + shift bsCount slightly
2109
+ // to make extra space appear
2110
+ adjustTab = true;
2111
+ }
2112
+ } else {
2113
+ spaceAfterMarker = false;
2114
+ }
2115
+
2116
+ oldBMarks.push(state.bMarks[nextLine]);
2117
+ state.bMarks[nextLine] = pos;
2118
+
2119
+ while (pos < max) {
2120
+ ch = state.src.charCodeAt(pos);
2121
+
2122
+ if (isSpace(ch)) {
2123
+ if (ch === 0x09) {
2124
+ offset += 4 - (offset + state.bsCount[nextLine] + (adjustTab ? 1 : 0)) % 4;
2125
+ } else {
2126
+ offset++;
2127
+ }
2128
+ } else {
2129
+ break;
2130
+ }
2131
+
2132
+ pos++;
2133
+ }
2134
+
2135
+ lastLineEmpty = pos >= max;
2136
+
2137
+ oldBSCount.push(state.bsCount[nextLine]);
2138
+ state.bsCount[nextLine] = state.sCount[nextLine] + 1 + (spaceAfterMarker ? 1 : 0);
2139
+
2140
+ oldSCount.push(state.sCount[nextLine]);
2141
+ state.sCount[nextLine] = offset - initial;
2142
+
2143
+ oldTShift.push(state.tShift[nextLine]);
2144
+ state.tShift[nextLine] = pos - state.bMarks[nextLine];
2145
+ continue;
2146
+ }
2147
+
2148
+ // Case 2: line is not inside the blockquote, and the last line was empty.
2149
+ if (lastLineEmpty) {
2150
+ break;
2151
+ }
2152
+
2153
+ // Case 3: another tag found.
2154
+ terminate = false;
2155
+ for (i = 0, l = terminatorRules.length; i < l; i++) {
2156
+ if (terminatorRules[i](state, nextLine, endLine, true)) {
2157
+ terminate = true;
2158
+ break;
2159
+ }
2160
+ }
2161
+
2162
+ if (terminate) {
2163
+ // Quirk to enforce "hard termination mode" for paragraphs;
2164
+ // normally if you call `tokenize(state, startLine, nextLine)`,
2165
+ // paragraphs will look below nextLine for paragraph continuation,
2166
+ // but if blockquote is terminated by another tag, they shouldn't
2167
+ state.lineMax = nextLine;
2168
+
2169
+ if (state.blkIndent !== 0) {
2170
+ // state.blkIndent was non-zero, we now set it to zero,
2171
+ // so we need to re-calculate all offsets to appear as
2172
+ // if indent wasn't changed
2173
+ oldBMarks.push(state.bMarks[nextLine]);
2174
+ oldBSCount.push(state.bsCount[nextLine]);
2175
+ oldTShift.push(state.tShift[nextLine]);
2176
+ oldSCount.push(state.sCount[nextLine]);
2177
+ state.sCount[nextLine] -= state.blkIndent;
2178
+ }
2179
+
2180
+ break;
2181
+ }
2182
+
2183
+ oldBMarks.push(state.bMarks[nextLine]);
2184
+ oldBSCount.push(state.bsCount[nextLine]);
2185
+ oldTShift.push(state.tShift[nextLine]);
2186
+ oldSCount.push(state.sCount[nextLine]);
2187
+
2188
+ // A negative indentation means that this is a paragraph continuation
2189
+ //
2190
+ state.sCount[nextLine] = -1;
2191
+ }
2192
+
2193
+ oldIndent = state.blkIndent;
2194
+ state.blkIndent = 0;
2195
+
2196
+ token = state.push('blockquote_open', 'blockquote', 1);
2197
+ token.markup = '>';
2198
+ token.map = lines = [startLine, 0];
2199
+
2200
+ state.md.block.tokenize(state, startLine, nextLine);
2201
+
2202
+ token = state.push('blockquote_close', 'blockquote', -1);
2203
+ token.markup = '>';
2204
+
2205
+ state.lineMax = oldLineMax;
2206
+ state.parentType = oldParentType;
2207
+ lines[1] = state.line;
2208
+
2209
+ // Restore original tShift; this might not be necessary since the parser
2210
+ // has already been here, but just to make sure we can do that.
2211
+ for (i = 0; i < oldTShift.length; i++) {
2212
+ state.bMarks[i + startLine] = oldBMarks[i];
2213
+ state.tShift[i + startLine] = oldTShift[i];
2214
+ state.sCount[i + startLine] = oldSCount[i];
2215
+ state.bsCount[i + startLine] = oldBSCount[i];
2216
+ }
2217
+ state.blkIndent = oldIndent;
2218
+
2219
+ return true;
2220
+ };
2221
+
2222
+ /***/ }),
2223
+
2224
+ /***/ 25:
2225
+ /***/ (function(module, exports, __webpack_require__) {
2226
+
2227
+ "use strict";
2228
+
2229
+
2230
+ // Copyright (c) 2014 Vitaly Puzrin, Alex Kocharin.
2231
+ // Distributed under an ISC license: https://github.com/markdown-it/markdown-it/
2232
+
2233
+ /**
2234
+ * @fileoverview Implements markdownitTableRenderer
2235
+ * @modifier NHN Ent. FE Development Lab <dl_javascript@nhnent.com>
2236
+ */
2237
+
2238
+ /*eslint-disable */
2239
+ function getLine(state, line) {
2240
+ var pos = state.bMarks[line] + state.blkIndent,
2241
+ max = state.eMarks[line];
2242
+
2243
+ return state.src.substr(pos, max - pos);
2244
+ }
2245
+
2246
+ function escapedSplit(str) {
2247
+ var result = [],
2248
+ pos = 0,
2249
+ max = str.length,
2250
+ ch,
2251
+ escapes = 0,
2252
+ lastPos = 0,
2253
+ backTicked = false,
2254
+ lastBackTick = 0;
2255
+
2256
+ ch = str.charCodeAt(pos);
2257
+
2258
+ while (pos < max) {
2259
+ if (ch === 0x60 /* ` */ && escapes % 2 === 0) {
2260
+ backTicked = !backTicked;
2261
+ lastBackTick = pos;
2262
+ } else if (ch === 0x7c /* | */ && escapes % 2 === 0 && !backTicked) {
2263
+ result.push(str.substring(lastPos, pos));
2264
+ lastPos = pos + 1;
2265
+ } else if (ch === 0x5c /* \ */) {
2266
+ escapes += 1;
2267
+ } else {
2268
+ escapes = 0;
2269
+ }
2270
+
2271
+ pos += 1;
2272
+
2273
+ // If there was an un-closed backtick, go back to just after
2274
+ // the last backtick, but as if it was a normal character
2275
+ if (pos === max && backTicked) {
2276
+ backTicked = false;
2277
+ pos = lastBackTick + 1;
2278
+ }
2279
+
2280
+ ch = str.charCodeAt(pos);
2281
+ }
2282
+
2283
+ result.push(str.substring(lastPos));
2284
+
2285
+ return result;
2286
+ }
2287
+
2288
+ module.exports = function table(state, startLine, endLine, silent) {
2289
+ var ch, lineText, pos, i, nextLine, columns, columnCount, token, aligns, alignCount, t, tableLines, tbodyLines;
2290
+
2291
+ // should have at least three lines
2292
+ if (startLine + 2 > endLine) {
2293
+ return false;
2294
+ }
2295
+
2296
+ nextLine = startLine + 1;
2297
+
2298
+ if (state.sCount[nextLine] < state.blkIndent) {
2299
+ return false;
2300
+ }
2301
+
2302
+ // first character of the second line should be '|' or '-'
2303
+
2304
+ pos = state.bMarks[nextLine] + state.tShift[nextLine];
2305
+ if (pos >= state.eMarks[nextLine]) {
2306
+ return false;
2307
+ }
2308
+
2309
+ ch = state.src.charCodeAt(pos);
2310
+ if (ch !== 0x7C /* | */ && ch !== 0x2D /* - */ && ch !== 0x3A /* : */) {
2311
+ return false;
2312
+ }
2313
+
2314
+ lineText = getLine(state, startLine + 1);
2315
+ if (!/^[-:| ]+$/.test(lineText)) {
2316
+ return false;
2317
+ }
2318
+
2319
+ columns = lineText.split('|');
2320
+ aligns = [];
2321
+ for (i = 0; i < columns.length; i += 1) {
2322
+ t = columns[i].trim();
2323
+ if (!t) {
2324
+ // allow empty columns before and after table, but not in between columns;
2325
+ // e.g. allow ` |---| `, disallow ` ---||--- `
2326
+ if (i === 0 || i === columns.length - 1) {
2327
+ continue;
2328
+ } else {
2329
+ return false;
2330
+ }
2331
+ }
2332
+
2333
+ if (!/^:?-+:?$/.test(t)) {
2334
+ return false;
2335
+ }
2336
+ if (t.charCodeAt(t.length - 1) === 0x3A /* : */) {
2337
+ aligns.push(t.charCodeAt(0) === 0x3A /* : */ ? 'center' : 'right');
2338
+ } else if (t.charCodeAt(0) === 0x3A /* : */) {
2339
+ aligns.push('left');
2340
+ } else {
2341
+ aligns.push('');
2342
+ }
2343
+ }
2344
+ alignCount = aligns.length;
2345
+
2346
+ lineText = getLine(state, startLine).trim();
2347
+ if (lineText.indexOf('|') === -1) {
2348
+ return false;
2349
+ }
2350
+ columns = escapedSplit(lineText.replace(/^\||\|$/g, ''));
2351
+
2352
+ // header row will define an amount of columns in the entire table,
2353
+ // and align row shouldn't be smaller than that (the rest of the rows can)
2354
+ columnCount = columns.length;
2355
+ if (columnCount > alignCount) {
2356
+ return false;
2357
+ } else if (columnCount < alignCount) {
2358
+ for (i = 0; i < alignCount - columnCount; i += 1) {
2359
+ columns.push('');
2360
+ }
2361
+ columnCount = columns.length;
2362
+ }
2363
+
2364
+ if (silent) {
2365
+ return true;
2366
+ }
2367
+
2368
+ token = state.push('table_open', 'table', 1);
2369
+ token.map = tableLines = [startLine, 0];
2370
+
2371
+ token = state.push('thead_open', 'thead', 1);
2372
+ token.map = [startLine, startLine + 1];
2373
+
2374
+ token = state.push('tr_open', 'tr', 1);
2375
+ token.map = [startLine, startLine + 1];
2376
+
2377
+ for (i = 0; i < columnCount; i += 1) {
2378
+ token = state.push('th_open', 'th', 1);
2379
+ token.map = [startLine, startLine + 1];
2380
+ if (aligns[i]) {
2381
+ // FIXED: change property style to align
2382
+ token.attrs = [['align', aligns[i]]];
2383
+ }
2384
+
2385
+ token = state.push('inline', '', 0);
2386
+ token.content = columns[i].trim();
2387
+ token.map = [startLine, startLine + 1];
2388
+ token.children = [];
2389
+
2390
+ token = state.push('th_close', 'th', -1);
2391
+ }
2392
+
2393
+ token = state.push('tr_close', 'tr', -1);
2394
+ token = state.push('thead_close', 'thead', -1);
2395
+
2396
+ token = state.push('tbody_open', 'tbody', 1);
2397
+ token.map = tbodyLines = [startLine + 2, 0];
2398
+
2399
+ for (nextLine = startLine + 2; nextLine < endLine; nextLine += 1) {
2400
+ if (state.sCount[nextLine] < state.blkIndent) {
2401
+ break;
2402
+ }
2403
+
2404
+ lineText = getLine(state, nextLine);
2405
+ if (lineText.indexOf('|') === -1) {
2406
+ break;
2407
+ }
2408
+
2409
+ // keep spaces at beginning of line to indicate an empty first cell, but
2410
+ // strip trailing whitespace
2411
+ columns = escapedSplit(lineText.replace(/^\||\|\s*$/g, ''));
2412
+
2413
+ token = state.push('tr_open', 'tr', 1);
2414
+ for (i = 0; i < columnCount; i += 1) {
2415
+ token = state.push('td_open', 'td', 1);
2416
+ if (aligns[i]) {
2417
+ // FIXED: change property style to align
2418
+ token.attrs = [['align', aligns[i]]];
2419
+ }
2420
+
2421
+ token = state.push('inline', '', 0);
2422
+ token.content = columns[i] ? columns[i].trim() : '';
2423
+ token.children = [];
2424
+
2425
+ token = state.push('td_close', 'td', -1);
2426
+ }
2427
+ token = state.push('tr_close', 'tr', -1);
2428
+ }
2429
+ token = state.push('tbody_close', 'tbody', -1);
2430
+ token = state.push('table_close', 'table', -1);
2431
+
2432
+ tableLines[1] = tbodyLines[1] = nextLine;
2433
+ state.line = nextLine;
2434
+ return true;
2435
+ };
2436
+
2437
+ /***/ }),
2438
+
2439
+ /***/ 26:
2440
+ /***/ (function(module, exports, __webpack_require__) {
2441
+
2442
+ "use strict";
2443
+ // Copyright (c) 2014 Vitaly Puzrin, Alex Kocharin.
2444
+ // Distributed under an ISC license: https://github.com/markdown-it/markdown-it/
2445
+
2446
+ /**
2447
+ * @fileoverview Implements markdownitHtmlBlockRenderer
2448
+ * @modifier NHN Ent. FE Development Lab <dl_javascript@nhnent.com>
2449
+ */
2450
+ /* eslint-disable */
2451
+ // HTML block
2452
+
2453
+
2454
+
2455
+ // An array of opening and corresponding closing sequences for html tags,
2456
+ // last argument defines whether it can terminate a paragraph or not
2457
+ //
2458
+
2459
+ // void tag names --- Added by Junghwan Park
2460
+
2461
+ var voidTagNames = ['area', 'base', 'br', 'col', 'embed', 'hr', 'img', 'input', 'keygen', 'link', 'meta', 'param', 'source', 'track', 'wbr'];
2462
+ var HTML_SEQUENCES = [[/^<(script|pre|style)(?=(\s|>|$))/i, /<\/(script|pre|style)>/i, true], [/^<!--/, /-->/, true], [/^<\?/, /\?>/, true], [/^<![A-Z]/, />/, true], [/^<!\[CDATA\[/, /\]\]>/, true], [new RegExp('^<(' + voidTagNames.join('|') + ')', 'i'), /^\/?>$/, true], [new RegExp('^</?(address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h1|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|pre|section|source|title|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul)(?=(\\s|/?>|$))', 'i'), /^$/, true], [/^(?:<[A-Za-z][A-Za-z0-9\-]*(?:\s+[a-zA-Z_:][a-zA-Z0-9:._-]*(?:\s*=\s*(?:[^"'=<>`\x00-\x20]+|'[^']*'|"[^"]*"))?)*\s*\/?>|<\/[A-Za-z][A-Za-z0-9\-]*\s*>)\s*$/, /^$/, false]];
2463
+
2464
+ module.exports = function html_block(state, startLine, endLine, silent) {
2465
+ var i,
2466
+ nextLine,
2467
+ token,
2468
+ lineText,
2469
+ pos = state.bMarks[startLine] + state.tShift[startLine],
2470
+ max = state.eMarks[startLine];
2471
+
2472
+ if (!state.md.options.html) {
2473
+ return false;
2474
+ }
2475
+
2476
+ if (state.src.charCodeAt(pos) !== 0x3C /* < */) {
2477
+ return false;
2478
+ }
2479
+
2480
+ lineText = state.src.slice(pos, max);
2481
+
2482
+ for (i = 0; i < HTML_SEQUENCES.length; i++) {
2483
+ if (HTML_SEQUENCES[i][0].test(lineText)) {
2484
+ // add condition for return when meet void element --- Added by Junghwan Park
2485
+ if (i === 5) {
2486
+ return false;
2487
+ } else {
2488
+ break;
2489
+ }
2490
+ }
2491
+ }
2492
+
2493
+ if (i === HTML_SEQUENCES.length) {
2494
+ return false;
2495
+ }
2496
+
2497
+ if (silent) {
2498
+ // true if this sequence can be a terminator, false otherwise
2499
+ return HTML_SEQUENCES[i][2];
2500
+ }
2501
+
2502
+ nextLine = startLine + 1;
2503
+
2504
+ // If we are here - we detected HTML block.
2505
+ // Let's roll down till block end.
2506
+ if (!HTML_SEQUENCES[i][1].test(lineText)) {
2507
+ for (; nextLine < endLine; nextLine++) {
2508
+ if (state.sCount[nextLine] < state.blkIndent) {
2509
+ break;
2510
+ }
2511
+
2512
+ pos = state.bMarks[nextLine] + state.tShift[nextLine];
2513
+ max = state.eMarks[nextLine];
2514
+ lineText = state.src.slice(pos, max);
2515
+
2516
+ if (HTML_SEQUENCES[i][1].test(lineText)) {
2517
+ if (lineText.length !== 0) {
2518
+ nextLine++;
2519
+ }
2520
+ break;
2521
+ }
2522
+ }
2523
+ }
2524
+
2525
+ state.line = nextLine;
2526
+
2527
+ token = state.push('html_block', '', 0);
2528
+ token.map = [startLine, nextLine];
2529
+ token.content = state.getLines(startLine, nextLine, state.blkIndent, true);
2530
+
2531
+ return true;
2532
+ };
2533
+ /* eslint-enable */
2534
+
2535
+ /***/ }),
2536
+
2537
+ /***/ 27:
2538
+ /***/ (function(module, exports, __webpack_require__) {
2539
+
2540
+ "use strict";
2541
+
2542
+
2543
+ // Copyright (c) 2014 Vitaly Puzrin, Alex Kocharin.
2544
+ // Distributed under MIT license: https://github.com/markdown-it/markdown-it/
2545
+ /**
2546
+ * @fileoverview Implements markdownitBackticksRenderer
2547
+ * @modifier NHN Ent. FE Development Lab <dl_javascript@nhnent.com>
2548
+ */
2549
+ /* eslint-disable */
2550
+
2551
+ // Parse backticks
2552
+ module.exports = function backtick(state, silent) {
2553
+ var start,
2554
+ max,
2555
+ marker,
2556
+ matchStart,
2557
+ matchEnd,
2558
+ token,
2559
+ pos = state.pos,
2560
+ ch = state.src.charCodeAt(pos);
2561
+
2562
+ if (ch !== 0x60 /* ` */) {
2563
+ return false;
2564
+ }
2565
+
2566
+ start = pos;
2567
+ pos++;
2568
+ max = state.posMax;
2569
+
2570
+ while (pos < max && state.src.charCodeAt(pos) === 0x60 /* ` */) {
2571
+ pos++;
2572
+ }
2573
+
2574
+ marker = state.src.slice(start, pos);
2575
+
2576
+ matchStart = matchEnd = pos;
2577
+
2578
+ while ((matchStart = state.src.indexOf('`', matchEnd)) !== -1) {
2579
+ matchEnd = matchStart + 1;
2580
+
2581
+ while (matchEnd < max && state.src.charCodeAt(matchEnd) === 0x60 /* ` */) {
2582
+ matchEnd++;
2583
+ }
2584
+
2585
+ if (matchEnd - matchStart === marker.length) {
2586
+ if (!silent) {
2587
+ token = state.push('code_inline', 'code', 0);
2588
+ token.markup = marker;
2589
+ token.content = state.src.slice(pos, matchStart).replace(/[ \n]+/g, ' ').trim();
2590
+ // TUI.EDITOR MODIFICATION START
2591
+ // store number of backtick in data-backtick
2592
+ // https://github.nhnent.com/fe/tui.editor/pull/981
2593
+ token.attrSet('data-backticks', token.markup.length);
2594
+ // TUI.EDITOR MODIFICATION END
2595
+ }
2596
+ state.pos = matchEnd;
2597
+ return true;
2598
+ }
2599
+ }
2600
+
2601
+ if (!silent) {
2602
+ state.pending += marker;
2603
+ }
2604
+ state.pos += marker.length;
2605
+ return true;
2606
+ };
2607
+
2608
+ /***/ }),
2609
+
2610
+ /***/ 28:
2611
+ /***/ (function(module, exports) {
2612
+
2613
+ module.exports = __WEBPACK_EXTERNAL_MODULE_28__;
2614
+
2615
+ /***/ }),
2616
+
2617
+ /***/ 29:
2618
+ /***/ (function(module, exports, __webpack_require__) {
2619
+
2620
+ "use strict";
2621
+
2622
+
2623
+ var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); /**
2624
+ * @fileoverview Implements editor preivew
2625
+ * @author NHN Ent. FE Development Lab <dl_javascript@nhnent.com>
2626
+ */
2627
+
2628
+
2629
+ var _jquery = __webpack_require__(0);
2630
+
2631
+ var _jquery2 = _interopRequireDefault(_jquery);
2632
+
2633
+ var _tuiCodeSnippet = __webpack_require__(1);
2634
+
2635
+ var _tuiCodeSnippet2 = _interopRequireDefault(_tuiCodeSnippet);
2636
+
2637
+ var _mdPreview = __webpack_require__(9);
2638
+
2639
+ var _mdPreview2 = _interopRequireDefault(_mdPreview);
2640
+
2641
+ var _eventManager = __webpack_require__(12);
2642
+
2643
+ var _eventManager2 = _interopRequireDefault(_eventManager);
2644
+
2645
+ var _commandManager = __webpack_require__(2);
2646
+
2647
+ var _commandManager2 = _interopRequireDefault(_commandManager);
2648
+
2649
+ var _extManager = __webpack_require__(13);
2650
+
2651
+ var _extManager2 = _interopRequireDefault(_extManager);
2652
+
2653
+ var _convertor = __webpack_require__(14);
2654
+
2655
+ var _convertor2 = _interopRequireDefault(_convertor);
2656
+
2657
+ var _domUtils = __webpack_require__(3);
2658
+
2659
+ var _domUtils2 = _interopRequireDefault(_domUtils);
2660
+
2661
+ var _codeBlockManager = __webpack_require__(7);
2662
+
2663
+ var _codeBlockManager2 = _interopRequireDefault(_codeBlockManager);
2664
+
2665
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2666
+
2667
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
2668
+
2669
+ var TASK_ATTR_NAME = 'data-te-task';
2670
+ var TASK_CHECKED_CLASS_NAME = 'checked';
2671
+
2672
+ /**
2673
+ * Class ToastUIEditorViewer
2674
+ */
2675
+
2676
+ var ToastUIEditorViewer = function () {
2677
+ /**
2678
+ * Viewer
2679
+ * @param {object} options Option object
2680
+ * @param {string} options.initialValue Editor's initial value
2681
+ * @param {object} options.events eventlist Event list
2682
+ * @param {function} options.events.load It would be emitted when editor fully load
2683
+ * @param {function} options.events.change It would be emitted when content changed
2684
+ * @param {function} options.events.stateChange It would be emitted when format change by cursor position
2685
+ * @param {function} options.events.focus It would be emitted when editor get focus
2686
+ * @param {function} options.events.blur It would be emitted when editor loose focus
2687
+ * @param {object} options.hooks Hook list
2688
+ * @param {function} options.hooks.previewBeforeHook Submit preview to hook URL before preview be shown
2689
+ */
2690
+ function ToastUIEditorViewer(options) {
2691
+ var _this = this;
2692
+
2693
+ _classCallCheck(this, ToastUIEditorViewer);
2694
+
2695
+ this.options = options;
2696
+
2697
+ this.eventManager = new _eventManager2.default();
2698
+ this.commandManager = new _commandManager2.default(this);
2699
+ this.convertor = new _convertor2.default(this.eventManager);
2700
+ this.toMarkOptions = null;
2701
+
2702
+ if (this.options.hooks) {
2703
+ _tuiCodeSnippet2.default.forEach(this.options.hooks, function (fn, key) {
2704
+ _this.addHook(key, fn);
2705
+ });
2706
+ }
2707
+
2708
+ if (this.options.events) {
2709
+ _tuiCodeSnippet2.default.forEach(this.options.events, function (fn, key) {
2710
+ _this.on(key, fn);
2711
+ });
2712
+ }
2713
+
2714
+ this.preview = new _mdPreview2.default((0, _jquery2.default)(this.options.el), this.eventManager, this.convertor, true);
2715
+
2716
+ this.preview.$el.on('mousedown', _jquery2.default.proxy(this._toggleTask, this));
2717
+
2718
+ _extManager2.default.applyExtension(this, this.options.exts);
2719
+
2720
+ this.setValue(this.options.initialValue);
2721
+
2722
+ this.eventManager.emit('load', this);
2723
+ }
2724
+
2725
+ /**
2726
+ * Toggle task by detecting mousedown event.
2727
+ * @param {MouseEvent} ev - event
2728
+ * @private
2729
+ */
2730
+
2731
+
2732
+ _createClass(ToastUIEditorViewer, [{
2733
+ key: '_toggleTask',
2734
+ value: function _toggleTask(ev) {
2735
+ var isBeneathTaskBox = ev.offsetX < 18 && ev.offsetY > 18;
2736
+
2737
+ if (ev.target.hasAttribute(TASK_ATTR_NAME) && !isBeneathTaskBox) {
2738
+ (0, _jquery2.default)(ev.target).toggleClass(TASK_CHECKED_CLASS_NAME);
2739
+ this.eventManager.emit('change', {
2740
+ source: 'viewer',
2741
+ data: ev
2742
+ });
2743
+ }
2744
+ }
2745
+
2746
+ /**
2747
+ * Set content for preview
2748
+ * @memberof ToastUIEditorViewer
2749
+ * @param {string} markdown Markdown text
2750
+ */
2751
+
2752
+ }, {
2753
+ key: 'setMarkdown',
2754
+ value: function setMarkdown(markdown) {
2755
+ this.markdownValue = markdown = markdown || '';
2756
+
2757
+ this.preview.refresh(this.markdownValue);
2758
+ this.eventManager.emit('setMarkdownAfter', this.markdownValue);
2759
+ }
2760
+
2761
+ /**
2762
+ * Set content for preview
2763
+ * @memberof ToastUIEditorViewer
2764
+ * @param {string} markdown Markdown text
2765
+ * @deprecated
2766
+ */
2767
+
2768
+ }, {
2769
+ key: 'setValue',
2770
+ value: function setValue(markdown) {
2771
+ this.setMarkdown(markdown);
2772
+ }
2773
+
2774
+ /**
2775
+ * Bind eventHandler to event type
2776
+ * @memberof ToastUIEditorViewer
2777
+ * @param {string} type Event type
2778
+ * @param {function} handler Event handler
2779
+ */
2780
+
2781
+ }, {
2782
+ key: 'on',
2783
+ value: function on(type, handler) {
2784
+ this.eventManager.listen(type, handler);
2785
+ }
2786
+
2787
+ /**
2788
+ * Unbind eventHandler from event type
2789
+ * @memberof ToastUIEditorViewer
2790
+ * @param {string} type Event type
2791
+ */
2792
+
2793
+ }, {
2794
+ key: 'off',
2795
+ value: function off(type) {
2796
+ this.eventManager.removeEventHandler(type);
2797
+ }
2798
+
2799
+ /**
2800
+ * Remove Viewer preview from document
2801
+ * @memberof ToastUIEditorViewer
2802
+ */
2803
+
2804
+ }, {
2805
+ key: 'remove',
2806
+ value: function remove() {
2807
+ this.eventManager.emit('removeEditor');
2808
+ this.preview.$el.off('mousedown', _jquery2.default.proxy(this._toggleTask, this));
2809
+ this.options = null;
2810
+ this.eventManager = null;
2811
+ this.commandManager = null;
2812
+ this.convertor = null;
2813
+ this.preview = null;
2814
+ }
2815
+
2816
+ /**
2817
+ * Add hook to Viewer preview's event
2818
+ * @memberof ToastUIEditorViewer
2819
+ * @param {string} type Event type
2820
+ * @param {function} handler Event handler
2821
+ */
2822
+
2823
+ }, {
2824
+ key: 'addHook',
2825
+ value: function addHook(type, handler) {
2826
+ this.eventManager.removeEventHandler(type);
2827
+ this.eventManager.listen(type, handler);
2828
+ }
2829
+
2830
+ /**
2831
+ * Return true
2832
+ * @memberof ToastUIEditorViewer
2833
+ * @returns {boolean}
2834
+ */
2835
+
2836
+ }, {
2837
+ key: 'isViewer',
2838
+ value: function isViewer() {
2839
+ return true;
2840
+ }
2841
+
2842
+ /**
2843
+ * Return false
2844
+ * @memberof ToastUIEditorViewer
2845
+ * @returns {boolean}
2846
+ */
2847
+
2848
+ }, {
2849
+ key: 'isMarkdownMode',
2850
+ value: function isMarkdownMode() {
2851
+ return false;
2852
+ }
2853
+
2854
+ /**
2855
+ * Return false
2856
+ * @memberof ToastUIEditorViewer
2857
+ * @returns {boolean}
2858
+ */
2859
+
2860
+ }, {
2861
+ key: 'isWysiwygMode',
2862
+ value: function isWysiwygMode() {
2863
+ return false;
2864
+ }
2865
+
2866
+ /**
2867
+ * Define extension
2868
+ * @memberof ToastUIEditorViewer
2869
+ * @param {string} name Extension name
2870
+ * @param {ExtManager~extension} ext extension
2871
+ */
2872
+
2873
+ }], [{
2874
+ key: 'defineExtension',
2875
+ value: function defineExtension(name, ext) {
2876
+ _extManager2.default.defineExtension(name, ext);
2877
+ }
2878
+ }]);
2879
+
2880
+ return ToastUIEditorViewer;
2881
+ }();
2882
+
2883
+ /**
2884
+ * check whther is viewer
2885
+ * @type {boolean}
2886
+ */
2887
+
2888
+
2889
+ ToastUIEditorViewer.isViewer = true;
2890
+
2891
+ /**
2892
+ * domUtil instance
2893
+ * @type {DomUtil}
2894
+ */
2895
+ ToastUIEditorViewer.domUtils = _domUtils2.default;
2896
+
2897
+ /**
2898
+ * CodeBlockManager instance
2899
+ * @type {CodeBlockManager}
2900
+ */
2901
+ ToastUIEditorViewer.codeBlockManager = _codeBlockManager2.default;
2902
+
2903
+ /**
2904
+ * MarkdownIt hightlight instance
2905
+ * @type {MarkdownIt}
2906
+ */
2907
+ ToastUIEditorViewer.markdownitHighlight = _convertor2.default.getMarkdownitHighlightRenderer();
2908
+
2909
+ /**
2910
+ * @ignore
2911
+ */
2912
+ ToastUIEditorViewer.i18n = null;
2913
+
2914
+ /**
2915
+ * @ignore
2916
+ */
2917
+ ToastUIEditorViewer.Button = null;
2918
+
2919
+ /**
2920
+ * @ignore
2921
+ */
2922
+ ToastUIEditorViewer.WwCodeBlockManager = null;
2923
+
2924
+ /**
2925
+ * @ignore
2926
+ */
2927
+ ToastUIEditorViewer.WwTableManager = null;
2928
+
2929
+ /**
2930
+ * @ignore
2931
+ */
2932
+ ToastUIEditorViewer.WwTableSelectionManager = null;
2933
+
2934
+ module.exports = ToastUIEditorViewer;
2935
+
2936
+ /***/ }),
2937
+
2938
+ /***/ 3:
2939
+ /***/ (function(module, exports, __webpack_require__) {
2940
+
2941
+ "use strict";
2942
+
2943
+
2944
+ Object.defineProperty(exports, "__esModule", {
2945
+ value: true
2946
+ });
2947
+
2948
+ var _jquery = __webpack_require__(0);
2949
+
2950
+ var _jquery2 = _interopRequireDefault(_jquery);
2951
+
2952
+ var _tuiCodeSnippet = __webpack_require__(1);
2953
+
2954
+ var _tuiCodeSnippet2 = _interopRequireDefault(_tuiCodeSnippet);
2955
+
2956
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2957
+
2958
+ /**
2959
+ * @fileoverview DOM Utils
2960
+ * @author NHN Ent. FE Development Lab <dl_javascript@nhnent.com>
2961
+ */
2962
+ var FIND_ZWB = /\u200B/g;
2963
+
2964
+ /**
2965
+ * isTextNode
2966
+ * Check if node is text node
2967
+ * @param {Node} node node to check
2968
+ * @returns {boolean} result
2969
+ * @ignore
2970
+ */
2971
+ var isTextNode = function isTextNode(node) {
2972
+ return node && node.nodeType === Node.TEXT_NODE;
2973
+ };
2974
+
2975
+ /**
2976
+ * isElemNode
2977
+ * Check if node is element node
2978
+ * @param {Node} node node to check
2979
+ * @returns {boolean} result
2980
+ * @ignore
2981
+ */
2982
+ var isElemNode = function isElemNode(node) {
2983
+ return node && node.nodeType === Node.ELEMENT_NODE;
2984
+ };
2985
+
2986
+ /**
2987
+ * getNodeName
2988
+ * Get node name of node
2989
+ * @param {Node} node node
2990
+ * @returns {string} node name
2991
+ * @ignore
2992
+ */
2993
+ var getNodeName = function getNodeName(node) {
2994
+ if (isElemNode(node)) {
2995
+ return node.tagName;
2996
+ }
2997
+
2998
+ return 'TEXT';
2999
+ };
3000
+
3001
+ /**
3002
+ * getTextLength
3003
+ * Get node offset length of node(for Range API)
3004
+ * @param {Node} node node
3005
+ * @returns {number} length
3006
+ * @ignore
3007
+ */
3008
+ var getTextLength = function getTextLength(node) {
3009
+ var len = void 0;
3010
+
3011
+ if (isElemNode(node)) {
3012
+ len = node.textContent.replace(FIND_ZWB, '').length;
3013
+ } else if (isTextNode(node)) {
3014
+ len = node.nodeValue.replace(FIND_ZWB, '').length;
3015
+ }
3016
+
3017
+ return len;
3018
+ };
3019
+
3020
+ /**
3021
+ * getOffsetLength
3022
+ * Get node offset length of node(for Range API)
3023
+ * @param {Node} node node
3024
+ * @returns {number} length
3025
+ * @ignore
3026
+ */
3027
+ var getOffsetLength = function getOffsetLength(node) {
3028
+ var len = void 0;
3029
+
3030
+ if (isElemNode(node)) {
3031
+ len = node.childNodes.length;
3032
+ } else if (isTextNode(node)) {
3033
+ len = node.nodeValue.replace(FIND_ZWB, '').length;
3034
+ }
3035
+
3036
+ return len;
3037
+ };
3038
+
3039
+ /**
3040
+ * getNodeOffsetOfParent
3041
+ * get node offset between parent's childnodes
3042
+ * @param {Node} node node
3043
+ * @returns {number} offset(index)
3044
+ * @ignore
3045
+ */
3046
+ var getNodeOffsetOfParent = function getNodeOffsetOfParent(node) {
3047
+ var childNodesOfParent = node.parentNode.childNodes;
3048
+ var i = void 0,
3049
+ t = void 0,
3050
+ found = void 0;
3051
+
3052
+ for (i = 0, t = childNodesOfParent.length; i < t; i += 1) {
3053
+ if (childNodesOfParent[i] === node) {
3054
+ found = i;
3055
+ break;
3056
+ }
3057
+ }
3058
+
3059
+ return found;
3060
+ };
3061
+
3062
+ /**
3063
+ * getChildNodeByOffset
3064
+ * get child node by offset
3065
+ * @param {Node} node node
3066
+ * @param {number} index offset index
3067
+ * @returns {Node} foudned node
3068
+ * @ignore
3069
+ */
3070
+ var getChildNodeByOffset = function getChildNodeByOffset(node, index) {
3071
+ var currentNode = void 0;
3072
+
3073
+ if (isTextNode(node)) {
3074
+ currentNode = node;
3075
+ } else if (node.childNodes.length && index >= 0) {
3076
+ currentNode = node.childNodes[index];
3077
+ }
3078
+
3079
+ return currentNode;
3080
+ };
3081
+
3082
+ /**
3083
+ * getNodeWithDirectionUntil
3084
+ * find next node from passed node
3085
+ * @param {strong} direction previous or next
3086
+ * @param {Node} node node
3087
+ * @param {string} untilNodeName parent node name to limit
3088
+ * @returns {Node} founded node
3089
+ * @ignore
3090
+ */
3091
+ var getNodeWithDirectionUntil = function getNodeWithDirectionUntil(direction, node, untilNodeName) {
3092
+ var directionKey = direction + 'Sibling';
3093
+ var nodeName = void 0,
3094
+ foundedNode = void 0;
3095
+
3096
+ while (node && !node[directionKey]) {
3097
+ nodeName = getNodeName(node.parentNode);
3098
+
3099
+ if (nodeName === untilNodeName || nodeName === 'BODY') {
3100
+ break;
3101
+ }
3102
+
3103
+ node = node.parentNode;
3104
+ }
3105
+
3106
+ if (node[directionKey]) {
3107
+ foundedNode = node[directionKey];
3108
+ }
3109
+
3110
+ return foundedNode;
3111
+ };
3112
+
3113
+ /**
3114
+ * getPrevOffsetNodeUntil
3115
+ * get prev node of childnode pointed with index
3116
+ * @param {Node} node node
3117
+ * @param {number} index offset index
3118
+ * @param {string} untilNodeName parent node name to limit
3119
+ * @returns {Node} founded node
3120
+ * @ignore
3121
+ */
3122
+ var getPrevOffsetNodeUntil = function getPrevOffsetNodeUntil(node, index, untilNodeName) {
3123
+ var prevNode = void 0;
3124
+
3125
+ if (index > 0) {
3126
+ prevNode = getChildNodeByOffset(node, index - 1);
3127
+ } else {
3128
+ prevNode = getNodeWithDirectionUntil('previous', node, untilNodeName);
3129
+ }
3130
+
3131
+ return prevNode;
3132
+ };
3133
+
3134
+ var getParentUntilBy = function getParentUntilBy(node, condition) {
3135
+ var foundedNode = void 0;
3136
+
3137
+ while (node.parentNode && !condition(node.parentNode)) {
3138
+ node = node.parentNode;
3139
+ }
3140
+
3141
+ if (condition(node.parentNode)) {
3142
+ foundedNode = node;
3143
+ }
3144
+
3145
+ return foundedNode;
3146
+ };
3147
+
3148
+ /**
3149
+ * getParentUntil
3150
+ * get parent node until paseed node name
3151
+ * @param {Node} node node
3152
+ * @param {string|HTMLNode} untilNode node name or node to limit
3153
+ * @returns {Node} founded node
3154
+ * @ignore
3155
+ */
3156
+ var getParentUntil = function getParentUntil(node, untilNode) {
3157
+ var foundedNode = void 0;
3158
+
3159
+ if (_tuiCodeSnippet2.default.isString(untilNode)) {
3160
+ foundedNode = getParentUntilBy(node, function (targetNode) {
3161
+ return untilNode === getNodeName(targetNode);
3162
+ });
3163
+ } else {
3164
+ foundedNode = getParentUntilBy(node, function (targetNode) {
3165
+ return untilNode === targetNode;
3166
+ });
3167
+ }
3168
+
3169
+ return foundedNode;
3170
+ };
3171
+
3172
+ /**
3173
+ * getNodeWithDirectionUnderParent
3174
+ * get node on the given direction under given parent
3175
+ * @param {strong} direction previous or next
3176
+ * @param {Node} node node
3177
+ * @param {string|Node} underNode parent node name to limit
3178
+ * @returns {Node} founded node
3179
+ * @ignore
3180
+ */
3181
+ var getNodeWithDirectionUnderParent = function getNodeWithDirectionUnderParent(direction, node, underNode) {
3182
+ var directionKey = direction + 'Sibling';
3183
+ var foundedNode = void 0;
3184
+
3185
+ node = getParentUntil(node, underNode);
3186
+
3187
+ if (node && node[directionKey]) {
3188
+ foundedNode = node[directionKey];
3189
+ }
3190
+
3191
+ return foundedNode;
3192
+ };
3193
+
3194
+ /**
3195
+ * getTopPrevNodeUnder
3196
+ * get top previous top level node under given node
3197
+ * @param {Node} node node
3198
+ * @param {Node} underNode underNode
3199
+ * @returns {Node} founded node
3200
+ * @ignore
3201
+ */
3202
+ var getTopPrevNodeUnder = function getTopPrevNodeUnder(node, underNode) {
3203
+ return getNodeWithDirectionUnderParent('previous', node, underNode);
3204
+ };
3205
+
3206
+ /**
3207
+ * getNextTopBlockNode
3208
+ * get next top level block node
3209
+ * @param {Node} node node
3210
+ * @param {Node} underNode underNode
3211
+ * @returns {Node} founded node
3212
+ * @ignore
3213
+ */
3214
+ var getTopNextNodeUnder = function getTopNextNodeUnder(node, underNode) {
3215
+ return getNodeWithDirectionUnderParent('next', node, underNode);
3216
+ };
3217
+
3218
+ /**
3219
+ * Get parent element the body element
3220
+ * @param {Node} node Node for start searching
3221
+ * @returns {Node}
3222
+ * @ignore
3223
+ */
3224
+ var getTopBlockNode = function getTopBlockNode(node) {
3225
+ return getParentUntil(node, 'BODY');
3226
+ };
3227
+
3228
+ /**
3229
+ * Get previous text node
3230
+ * @param {Node} node Node for start searching
3231
+ * @returns {Node}
3232
+ * @ignore
3233
+ */
3234
+ var getPrevTextNode = function getPrevTextNode(node) {
3235
+ node = node.previousSibling || node.parentNode;
3236
+
3237
+ while (!isTextNode(node) && getNodeName(node) !== 'BODY') {
3238
+ if (node.previousSibling) {
3239
+ node = node.previousSibling;
3240
+
3241
+ while (node.lastChild) {
3242
+ node = node.lastChild;
3243
+ }
3244
+ } else {
3245
+ node = node.parentNode;
3246
+ }
3247
+ }
3248
+
3249
+ if (getNodeName(node) === 'BODY') {
3250
+ node = null;
3251
+ }
3252
+
3253
+ return node;
3254
+ };
3255
+
3256
+ /**
3257
+ * find node by offset
3258
+ * @param {HTMLElement} root Root element
3259
+ * @param {Array.<number>} offsetList offset list
3260
+ * @param {function} textNodeFilter Text node filter
3261
+ * @returns {Array}
3262
+ * @ignore
3263
+ */
3264
+ var findOffsetNode = function findOffsetNode(root, offsetList, textNodeFilter) {
3265
+ var result = [];
3266
+ var text = '';
3267
+ var walkerOffset = 0;
3268
+ var newWalkerOffset = void 0;
3269
+
3270
+ if (!offsetList.length) {
3271
+ return result;
3272
+ }
3273
+
3274
+ var offset = offsetList.shift();
3275
+ var walker = document.createTreeWalker(root, 4, null, false);
3276
+
3277
+ while (walker.nextNode()) {
3278
+ text = walker.currentNode.nodeValue || '';
3279
+
3280
+ if (textNodeFilter) {
3281
+ text = textNodeFilter(text);
3282
+ }
3283
+
3284
+ newWalkerOffset = walkerOffset + text.length;
3285
+
3286
+ while (newWalkerOffset >= offset) {
3287
+ result.push({
3288
+ container: walker.currentNode,
3289
+ offsetInContainer: offset - walkerOffset,
3290
+ offset: offset
3291
+ });
3292
+
3293
+ if (!offsetList.length) {
3294
+ return result;
3295
+ }
3296
+ offset = offsetList.shift();
3297
+ }
3298
+ walkerOffset = newWalkerOffset;
3299
+ }
3300
+
3301
+ // there should be offset left
3302
+ do {
3303
+ result.push({
3304
+ container: walker.currentNode,
3305
+ offsetInContainer: text.length,
3306
+ offset: offset
3307
+ });
3308
+ offset = offsetList.shift();
3309
+ } while (!_tuiCodeSnippet2.default.isUndefined(offset));
3310
+
3311
+ return result;
3312
+ };
3313
+
3314
+ var getNodeInfo = function getNodeInfo(node) {
3315
+ var path = {};
3316
+
3317
+ path.tagName = node.nodeName;
3318
+
3319
+ if (node.id) {
3320
+ path.id = node.id;
3321
+ }
3322
+
3323
+ var className = node.className.trim();
3324
+
3325
+ if (className) {
3326
+ path.className = className;
3327
+ }
3328
+
3329
+ return path;
3330
+ };
3331
+
3332
+ var getPath = function getPath(node, root) {
3333
+ var paths = [];
3334
+
3335
+ while (node && node !== root) {
3336
+ if (isElemNode(node)) {
3337
+ paths.unshift(getNodeInfo(node));
3338
+ }
3339
+
3340
+ node = node.parentNode;
3341
+ }
3342
+
3343
+ return paths;
3344
+ };
3345
+
3346
+ /**
3347
+ * Find next, previous TD or TH element by given TE element
3348
+ * @param {HTMLElement} node TD element
3349
+ * @param {string} direction Boolean value for direction true is find next cell
3350
+ * @returns {HTMLElement|null}
3351
+ * @ignore
3352
+ */
3353
+ var getTableCellByDirection = function getTableCellByDirection(node, direction) {
3354
+ var isForward = true;
3355
+ var targetElement = null;
3356
+
3357
+ if (_tuiCodeSnippet2.default.isUndefined(direction) || direction !== 'next' && direction !== 'previous') {
3358
+ return null;
3359
+ } else if (direction === 'previous') {
3360
+ isForward = false;
3361
+ }
3362
+
3363
+ if (isForward) {
3364
+ targetElement = node.nextElementSibling;
3365
+ } else {
3366
+ targetElement = node.previousElementSibling;
3367
+ }
3368
+
3369
+ return targetElement;
3370
+ };
3371
+
3372
+ /**
3373
+ * Find sibling TR's TD element by given TD and direction
3374
+ * @param {HTMLElement} node TD element
3375
+ * @param {string} direction Boolean value for find first TD in next line
3376
+ * @param {boolean} [needEdgeCell=false] Boolean value for find first TD in next line
3377
+ * @returns {HTMLElement|null}
3378
+ * @ignore
3379
+ */
3380
+ var getSiblingRowCellByDirection = function getSiblingRowCellByDirection(node, direction, needEdgeCell) {
3381
+ var isForward = true;
3382
+ var tableCellElement = null;
3383
+ var $node = void 0,
3384
+ index = void 0,
3385
+ $targetRowElement = void 0,
3386
+ $currentContainer = void 0,
3387
+ $siblingContainer = void 0,
3388
+ isSiblingContainerExists = void 0;
3389
+
3390
+ if (_tuiCodeSnippet2.default.isUndefined(direction) || direction !== 'next' && direction !== 'previous') {
3391
+ return null;
3392
+ } else if (direction === 'previous') {
3393
+ isForward = false;
3394
+ }
3395
+
3396
+ if (node) {
3397
+ $node = (0, _jquery2.default)(node);
3398
+
3399
+ if (isForward) {
3400
+ $targetRowElement = $node.parent().next();
3401
+ $currentContainer = $node.parents('thead');
3402
+ $siblingContainer = $currentContainer[0] && $currentContainer.next();
3403
+ isSiblingContainerExists = $siblingContainer && getNodeName($siblingContainer[0]) === 'TBODY';
3404
+
3405
+ index = 0;
3406
+ } else {
3407
+ $targetRowElement = $node.parent().prev();
3408
+ $currentContainer = $node.parents('tbody');
3409
+ $siblingContainer = $currentContainer[0] && $currentContainer.prev();
3410
+ isSiblingContainerExists = $siblingContainer && getNodeName($siblingContainer[0]) === 'THEAD';
3411
+
3412
+ index = node.parentNode.childNodes.length - 1;
3413
+ }
3414
+
3415
+ if (_tuiCodeSnippet2.default.isUndefined(needEdgeCell) || !needEdgeCell) {
3416
+ index = getNodeOffsetOfParent(node);
3417
+ }
3418
+
3419
+ if ($targetRowElement[0]) {
3420
+ tableCellElement = $targetRowElement.children('td,th')[index];
3421
+ } else if ($currentContainer[0] && isSiblingContainerExists) {
3422
+ tableCellElement = $siblingContainer.find('td,th')[index];
3423
+ }
3424
+
3425
+ return tableCellElement;
3426
+ }
3427
+
3428
+ return null;
3429
+ };
3430
+
3431
+ exports.default = {
3432
+ getNodeName: getNodeName,
3433
+ isTextNode: isTextNode,
3434
+ isElemNode: isElemNode,
3435
+ getTextLength: getTextLength,
3436
+ getOffsetLength: getOffsetLength,
3437
+ getPrevOffsetNodeUntil: getPrevOffsetNodeUntil,
3438
+ getNodeOffsetOfParent: getNodeOffsetOfParent,
3439
+ getChildNodeByOffset: getChildNodeByOffset,
3440
+ getTopPrevNodeUnder: getTopPrevNodeUnder,
3441
+ getTopNextNodeUnder: getTopNextNodeUnder,
3442
+ getParentUntil: getParentUntil,
3443
+ getTopBlockNode: getTopBlockNode,
3444
+ getPrevTextNode: getPrevTextNode,
3445
+ findOffsetNode: findOffsetNode,
3446
+ getPath: getPath,
3447
+ getNodeInfo: getNodeInfo,
3448
+ getTableCellByDirection: getTableCellByDirection,
3449
+ getSiblingRowCellByDirection: getSiblingRowCellByDirection
3450
+ };
3451
+
3452
+ /***/ }),
3453
+
3454
+ /***/ 7:
3455
+ /***/ (function(module, exports, __webpack_require__) {
3456
+
3457
+ "use strict";
3458
+
3459
+
3460
+ Object.defineProperty(exports, "__esModule", {
3461
+ value: true
3462
+ });
3463
+ exports.CodeBlockManager = undefined;
3464
+
3465
+ var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); /**
3466
+ * @fileoverview Implements CodeBlockManager
3467
+ * @author NHN Ent. FE Development Lab <dl_javascript@nhnent.com>
3468
+ */
3469
+
3470
+
3471
+ var _highlight = __webpack_require__(28);
3472
+
3473
+ var _highlight2 = _interopRequireDefault(_highlight);
3474
+
3475
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
3476
+
3477
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
3478
+
3479
+ /**
3480
+ * Class Code Block Manager
3481
+ */
3482
+ var CodeBlockManager = function () {
3483
+ /**
3484
+ * Creates an instance of CodeBlockManager.
3485
+ * @memberof CodeBlockManager
3486
+ */
3487
+ function CodeBlockManager() {
3488
+ _classCallCheck(this, CodeBlockManager);
3489
+
3490
+ this._replacers = {};
3491
+ }
3492
+
3493
+ /**
3494
+ * Set replacer for code block
3495
+ * @param {string} language - code block language
3496
+ * @param {function} replacer - replacer function to code block element
3497
+ */
3498
+
3499
+
3500
+ _createClass(CodeBlockManager, [{
3501
+ key: 'setReplacer',
3502
+ value: function setReplacer(language, replacer) {
3503
+ this._replacers[language] = replacer;
3504
+ }
3505
+
3506
+ /**
3507
+ * get replacer for code block
3508
+ * @param {string} language - code block type
3509
+ * @returns {function} - replacer function
3510
+ * @memberof CodeBlockManager
3511
+ */
3512
+
3513
+ }, {
3514
+ key: 'getReplacer',
3515
+ value: function getReplacer(language) {
3516
+ return this._replacers[language];
3517
+ }
3518
+
3519
+ /**
3520
+ * Create code block html.
3521
+ * @param {string} language - code block language
3522
+ * @param {string} codeText - code text
3523
+ * @returns {string}
3524
+ */
3525
+
3526
+ }, {
3527
+ key: 'createCodeBlockHtml',
3528
+ value: function createCodeBlockHtml(language, codeText) {
3529
+ var replacer = this.getReplacer(language);
3530
+ var html = void 0;
3531
+
3532
+ if (replacer) {
3533
+ html = replacer(codeText, language);
3534
+ } else {
3535
+ html = _highlight2.default.getLanguage(language) ? _highlight2.default.highlight(language, codeText).value : escape(codeText, false);
3536
+ }
3537
+
3538
+ return html;
3539
+ }
3540
+
3541
+ /**
3542
+ * get supported languages by highlight-js
3543
+ * @returns {Array<string>} - supported languages by highlight-js
3544
+ * @static
3545
+ */
3546
+
3547
+ }], [{
3548
+ key: 'getHighlightJSLanguages',
3549
+ value: function getHighlightJSLanguages() {
3550
+ return _highlight2.default.listLanguages();
3551
+ }
3552
+ }]);
3553
+
3554
+ return CodeBlockManager;
3555
+ }();
3556
+
3557
+ /**
3558
+ * escape code from markdown-it
3559
+ * @param {string} html HTML string
3560
+ * @param {string} encode Boolean value of whether encode or not
3561
+ * @returns {string}
3562
+ * @ignore
3563
+ */
3564
+
3565
+
3566
+ function escape(html, encode) {
3567
+ return html.replace(!encode ? /&(?!#?\w+;)/g : /&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;').replace(/'/g, '&#39;');
3568
+ }
3569
+
3570
+ exports.CodeBlockManager = CodeBlockManager;
3571
+ exports.default = new CodeBlockManager();
3572
+
3573
+ /***/ }),
3574
+
3575
+ /***/ 9:
3576
+ /***/ (function(module, exports, __webpack_require__) {
3577
+
3578
+ "use strict";
3579
+
3580
+
3581
+ Object.defineProperty(exports, "__esModule", {
3582
+ value: true
3583
+ });
3584
+
3585
+ var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
3586
+
3587
+ var _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };
3588
+
3589
+ var _preview = __webpack_require__(10);
3590
+
3591
+ var _preview2 = _interopRequireDefault(_preview);
3592
+
3593
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
3594
+
3595
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
3596
+
3597
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
3598
+
3599
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**
3600
+ * @fileoverview Implements markdown preview
3601
+ * @author NHN Ent. FE Development Lab <dl_javascript@nhnent.com>
3602
+ */
3603
+
3604
+
3605
+ /**
3606
+ * Class Markdown Preview
3607
+ * @extends {Preview}
3608
+ */
3609
+ var MarkdownPreview = function (_Preview) {
3610
+ _inherits(MarkdownPreview, _Preview);
3611
+
3612
+ /**
3613
+ * Creates an instance of MarkdownPreview.
3614
+ * @param {jQuery} $el - base jQuery element
3615
+ * @param {EventManager} eventManager - event manager
3616
+ * @param {Convertor} convertor - convertor
3617
+ * @param {boolean} isViewer - true for view only mode
3618
+ * @memberof MarkdownPreview
3619
+ */
3620
+ function MarkdownPreview($el, eventManager, convertor, isViewer) {
3621
+ _classCallCheck(this, MarkdownPreview);
3622
+
3623
+ var _this = _possibleConstructorReturn(this, (MarkdownPreview.__proto__ || Object.getPrototypeOf(MarkdownPreview)).call(this, $el, eventManager, convertor, isViewer));
3624
+
3625
+ _this._initEvent();
3626
+ return _this;
3627
+ }
3628
+
3629
+ /**
3630
+ * Initialize event
3631
+ * @private
3632
+ */
3633
+
3634
+
3635
+ _createClass(MarkdownPreview, [{
3636
+ key: '_initEvent',
3637
+ value: function _initEvent() {
3638
+ var _this2 = this;
3639
+
3640
+ var latestMarkdownValue = '';
3641
+
3642
+ this.eventManager.listen('contentChangedFromMarkdown', function (markdownEditor) {
3643
+ latestMarkdownValue = markdownEditor.getValue();
3644
+
3645
+ if (_this2.isVisible()) {
3646
+ _this2.lazyRunner.run('refresh', latestMarkdownValue.replace(/<br>\n/g, '<br>'));
3647
+ }
3648
+ });
3649
+
3650
+ this.eventManager.listen('previewNeedsRefresh', function (value) {
3651
+ _this2.refresh(value || latestMarkdownValue);
3652
+ });
3653
+
3654
+ this.$el.on('scroll', function (event) {
3655
+ _this2.eventManager.emit('scroll', {
3656
+ source: 'preview',
3657
+ data: event
3658
+ });
3659
+ });
3660
+ }
3661
+
3662
+ /**
3663
+ * render
3664
+ * @param {string} html - html string to render
3665
+ * @memberof MarkdownPreview
3666
+ * @override
3667
+ */
3668
+
3669
+ }, {
3670
+ key: 'render',
3671
+ value: function render(html) {
3672
+ _get(MarkdownPreview.prototype.__proto__ || Object.getPrototypeOf(MarkdownPreview.prototype), 'render', this).call(this, html);
3673
+
3674
+ this.eventManager.emit('previewRenderAfter', this);
3675
+ }
3676
+ }]);
3677
+
3678
+ return MarkdownPreview;
3679
+ }(_preview2.default);
3680
+
3681
+ exports.default = MarkdownPreview;
3682
+
3683
+ /***/ })
3684
+
3685
+ /******/ });
3686
+ });